/*! ThunderX BY LUOCHENZHIMU */
/*! Last updated on 2019/03/18 */
/*! https://www.luochenzhimu.com */
module.exports = function (e) {
    var t = {};

    function n(i) {
        if (t[i]) return t[i].exports;
        var r = t[i] = {i, l: !1, exports: {}};
        return e[i].call(r.exports, r, r.exports, n), r.l = !0, r.exports
    }

    return n.m = e, n.c = t, n.d = function (e, t, i) {
        n.o(e, t) || Object.defineProperty(e, t, {enumerable: !0, get: i})
    }, n.r = function (e) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "__esModule", {value: !0})
    }, n.t = function (e, t) {
        if (1 & t && (e = n(e)), 8 & t) return e;
        if (4 & t && "object" == typeof e && e && e.__esModule) return e;
        var i = Object.create(null);
        if (n.r(i), Object.defineProperty(i, "default", {
            enumerable: !0,
            value: e
        }), 2 & t && "string" != typeof e) for (var r in e) n.d(i, r, function (t) {
            return e[t]
        }.bind(null, r));
        return i
    }, n.n = function (e) {
        var t = e && e.__esModule ? function () {
            return e.default
        } : function () {
            return e
        };
        return n.d(t, "a", t), t
    }, n.o = function (e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }, n.p = "", n(n.s = 1021)
}({
    0: function (e, t, n) {
        "use strict";

        function i(e, t, n, i, r, o, s, a) {
            var l, c = "function" == typeof e ? e.options : e;
            if (t && (c.render = t, c.staticRenderFns = n, c._compiled = !0), i && (c.functional = !0), o && (c._scopeId = "data-v-" + o), s ? (l = function (e) {
                (e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), r && r.call(this, e), e && e._registeredComponents && e._registeredComponents.add(s)
            }, c._ssrRegister = l) : r && (l = a ? function () {
                r.call(this, this.$root.$options.shadowRoot)
            } : r), l) if (c.functional) {
                c._injectStyles = l;
                var u = c.render;
                c.render = function (e, t) {
                    return l.call(t), u(e, t)
                }
            } else {
                var d = c.beforeCreate;
                c.beforeCreate = d ? [].concat(d, l) : [l]
            }
            return {exports: e, options: c}
        }

        n.d(t, "a", function () {
            return i
        })
    }, 1: function (e, t, n) {
        e.exports = n(9)(120)
    }, 10: function (e, t, n) {
        "use strict";
        var i = this && this.__awaiter || function (e, t, n, i) {
            return new (n || (n = Promise))(function (r, o) {
                function s(e) {
                    try {
                        l(i.next(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function a(e) {
                    try {
                        l(i.throw(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function l(e) {
                    e.done ? r(e.value) : new n(function (t) {
                        t(e.value)
                    }).then(s, a)
                }

                l((i = i.apply(e, t || [])).next())
            })
        };
        Object.defineProperty(t, "__esModule", {value: !0});
        const r = n(17), o = n(2), s = n(6).promisify, a = n(1).default.getLogger("Thunder.base.fs-utilities");
        !function (e) {
            function t(e) {
                return i(this, void 0, void 0, function* () {
                    let t = !1;
                    if (void 0 !== e) {
                        const n = s(r.access);
                        try {
                            yield n(e), t = !0
                        } catch (e) {
                            a.information(e)
                        }
                    }
                    return t
                })
            }

            function l(e) {
                return i(this, void 0, void 0, function* () {
                    let t = !1;
                    if (void 0 !== e) {
                        const n = s(r.mkdir);
                        try {
                            yield n(e), t = !0
                        } catch (e) {
                            a.warning(e)
                        }
                    }
                    return t
                })
            }

            function c(e) {
                return i(this, void 0, void 0, function* () {
                    let t = !1;
                    if (void 0 !== e) {
                        const n = s(r.rmdir);
                        try {
                            yield n(e), t = !0
                        } catch (e) {
                            a.warning(e)
                        }
                    }
                    return t
                })
            }

            function u(e) {
                return i(this, void 0, void 0, function* () {
                    let t = !1;
                    if (void 0 !== e) {
                        const n = s(r.unlink);
                        try {
                            yield n(e), t = !0
                        } catch (e) {
                            a.warning(e)
                        }
                    }
                    return t
                })
            }

            function d(e) {
                return i(this, void 0, void 0, function* () {
                    let t = null;
                    if (void 0 !== e) {
                        const n = s(r.readdir);
                        try {
                            t = yield n(e)
                        } catch (e) {
                            a.warning(e)
                        }
                    }
                    return t
                })
            }

            function f(e) {
                return i(this, void 0, void 0, function* () {
                    let t = null;
                    if (void 0 !== e) {
                        const n = s(r.lstat);
                        try {
                            t = yield n(e)
                        } catch (e) {
                            a.warning(e)
                        }
                    }
                    return t
                })
            }

            function p(e, t) {
                return i(this, void 0, void 0, function* () {
                    let n = !1;
                    if (void 0 !== e && void 0 !== t) {
                        let i = o.join(e, t), r = yield f(i);
                        n = null !== r && r.isDirectory() ? yield h(i) : yield u(i)
                    }
                    return n
                })
            }

            function h(e) {
                return i(this, void 0, void 0, function* () {
                    let n = !1;
                    if (void 0 !== e) {
                        if (yield t(e)) {
                            n = !0;
                            let t = yield d(e);
                            for (let i = 0; i < t.length; i++) n = (yield p(e, t[i])) && n;
                            (n || 0 === t.length) && (n = (yield c(e)) && n)
                        }
                    }
                    return n
                })
            }

            function v(e) {
                return i(this, void 0, void 0, function* () {
                    let n = !1;
                    return a.information("mkdirsAW", e), void 0 !== e && ((yield t(e)) ? n = !0 : o.dirname(e) === e ? n = !1 : (yield v(o.dirname(e))) && (n = yield l(e))), n
                })
            }

            function g(e, n) {
                return i(this, void 0, void 0, function* () {
                    let i;
                    if (e.toLowerCase() !== n.toLowerCase() && (yield t(e))) {
                        let t = r.createReadStream(e), o = r.createWriteStream(n);
                        i = new Promise(e => {
                            t.pipe(o).on("finish", () => {
                                e(!0)
                            })
                        })
                    } else i = new Promise(e => {
                        e(!1)
                    });
                    return i
                })
            }

            e.readFileAW = function (e) {
                return i(this, void 0, void 0, function* () {
                    let t = null;
                    if (void 0 !== e) {
                        const n = s(r.readFile);
                        try {
                            t = yield n(e)
                        } catch (e) {
                            a.warning(e)
                        }
                    }
                    return t
                })
            }, e.writeFileAW = function (e, t) {
                return i(this, void 0, void 0, function* () {
                    let n = !1;
                    if (void 0 !== e && null !== t) {
                        const i = s(r.writeFile);
                        try {
                            yield i(e, t), n = !0
                        } catch (e) {
                            a.warning(e)
                        }
                    }
                    return n
                })
            }, e.existsAW = t, e.mkdirAW = l, e.rmdirAW = c, e.unlinkAW = u, e.readdirAW = d, e.lstatAW = f, e.rmdirsAW = h, e.mkdirsAW = v, e.renameAW = function (e, t) {
                return i(this, void 0, void 0, function* () {
                    if (void 0 !== e && void 0 !== t) {
                        const n = s(r.rename);
                        try {
                            yield n(e, t)
                        } catch (e) {
                            a.warning(e)
                        }
                    }
                })
            }, e.copyFileAW = g, e.copyDirsAW = function e(n, r) {
                return i(this, void 0, void 0, function* () {
                    let i = !1, s = yield f(n);
                    if (s.isDirectory()) {
                        i = yield v(r);
                        let a = yield d(n);
                        for (let l = 0; l < a.length; l++) {
                            let c = o.join(n, a[l]), u = o.join(r, a[l]);
                            (i = yield t(c)) && (i = (s = yield f(c)).isDirectory() ? yield e(c, u) : yield g(c, u))
                        }
                    }
                    return i
                })
            }, e.mkdtempAW = function () {
                return i(this, void 0, void 0, function* () {
                    let e = !1;
                    const t = s(r.mkdtemp), i = (yield Promise.resolve().then(() => n(16))).tmpdir();
                    try {
                        e = yield t(`${i}${o.sep}`)
                    } catch (e) {
                        a.warning(e)
                    }
                    return e
                })
            }
        }(t.FileSystemAWNS || (t.FileSystemAWNS = {}))
    }, 1021: function (e, t, n) {
        n(41), e.exports = n(1022)
    }, 1022: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(27);
        i.CommonIPCRenderer.rendererCommunicator.initialize("personalInfoRendererContext"), i.CommonIPCRenderer.rendererCommunicator.connect();
        const r = n(42), o = n(30);
        n(43), n(88);
        const s = n(45), a = n(1023);
        n(50);
        const l = n(1).default.getLogger("PersonalInfoRenderer");
        r.PerformanceMonitorStatNS.init("personal-info-renderer"), s.ThunderToolsNS.enableDragOpenFile(), s.ThunderToolsNS.enableDevTools().catch(e => {
            l.warning(e)
        }), o.default.config.ignoredElements = ["webview"], new o.default({
            components: {PersonalInfo: a.default},
            render: e => e("personal-info")
        }).$mount("#app")
    }, 1023: function (e, t, n) {
        "use strict";
        n.r(t);
        var i = n(621), r = n(462);
        for (var o in r) "default" !== o && function (e) {
            n.d(t, e, function () {
                return r[e]
            })
        }(o);
        n(1029), n(204);
        var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
        a.options.__file = "src\\personal-info-renderer\\app.vue", t.default = a.exports
    }, 1024: function (e, t, n) {
        "use strict";
        n.r(t);
        var i = n(644), r = n(464);
        for (var o in r) "default" !== o && function (e) {
            n.d(t, e, function () {
                return r[e]
            })
        }(o);
        var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
        a.options.__file = "src\\personal-info-renderer\\views\\personal-info-login.vue", t.default = a.exports
    }, 1025: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(12);
        let {isDef: r} = i.ThunderUtil;
        !function (e) {
            const t = [0, 600, 1800, 3600, 6e3, 10800, 25200, 42e3, 65e3, 1e5];
            e.getMaxVipLevel = function () {
                return t.length
            }, e.getVipGrowRange = function (e) {
                let n = void 0;
                for (let i in t) if (t[i] > e) {
                    n = Number(i);
                    break
                }
                let i = null;
                return r(n) && n > 0 && (i = [t[n - 1], t[n]]), i
            }
        }(t.VipGrowNS || (t.VipGrowNS = {}))
    }, 1026: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
            e.cacheDir = `${__profilesDir}/PersonalInfo`
        }(t.VipConfigDefineNS || (t.VipConfigDefineNS = {}))
    }, 1027: function (e, t, n) {
        "use strict";
        n.r(t);
        var i = n(642), r = n(466);
        for (var o in r) "default" !== o && function (e) {
            n.d(t, e, function () {
                return r[e]
            })
        }(o);
        var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
        a.options.__file = "src\\personal-info-renderer\\views\\personal-info-unlogin.vue", t.default = a.exports
    }, 1028: function (e, t) {
        e.exports = "data:image/png;base64, "
    }, 1029: function (e, t, n) {
        "use strict";
        var i = n(1280);
        n.n(i).a
    }, 106: function (e, t, n) {
        "use strict";
        var i = n(11), r = n(60), o = n(108), s = n(36);

        function a(e) {
            var t = new o(e), n = r(o.prototype.request, t);
            return i.extend(n, o.prototype, t), i.extend(n, t), n
        }

        var l = a(s);
        l.Axios = o, l.create = function (e) {
            return a(i.merge(s, e))
        }, l.Cancel = n(67), l.CancelToken = n(124), l.isCancel = n(66), l.all = function (e) {
            return Promise.all(e)
        }, l.spread = n(125), e.exports = l, e.exports.default = l
    }, 107: function (e, t) {
        function n(e) {
            return !!e.constructor && "function" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e)
        }

        /*!
 * Determine if an object is a Buffer
 *
 * @author   Feross Aboukhadijeh <https://feross.org>
 * @license  MIT
 */
        e.exports = function (e) {
            return null != e && (n(e) || function (e) {
                return "function" == typeof e.readFloatLE && "function" == typeof e.slice && n(e.slice(0, 0))
            }(e) || !!e._isBuffer)
        }
    }, 108: function (e, t, n) {
        "use strict";
        var i = n(36), r = n(11), o = n(119), s = n(120);

        function a(e) {
            this.defaults = e, this.interceptors = {request: new o, response: new o}
        }

        a.prototype.request = function (e) {
            "string" == typeof e && (e = r.merge({url: arguments[0]}, arguments[1])), (e = r.merge(i, {method: "get"}, this.defaults, e)).method = e.method.toLowerCase();
            var t = [s, void 0], n = Promise.resolve(e);
            for (this.interceptors.request.forEach(function (e) {
                t.unshift(e.fulfilled, e.rejected)
            }), this.interceptors.response.forEach(function (e) {
                t.push(e.fulfilled, e.rejected)
            }); t.length;) n = n.then(t.shift(), t.shift());
            return n
        }, r.forEach(["delete", "get", "head", "options"], function (e) {
            a.prototype[e] = function (t, n) {
                return this.request(r.merge(n || {}, {method: e, url: t}))
            }
        }), r.forEach(["post", "put", "patch"], function (e) {
            a.prototype[e] = function (t, n, i) {
                return this.request(r.merge(i || {}, {method: e, url: t, data: n}))
            }
        }), e.exports = a
    }, 109: function (e, t, n) {
        "use strict";
        var i = n(11);
        e.exports = function (e, t) {
            i.forEach(e, function (n, i) {
                i !== t && i.toUpperCase() === t.toUpperCase() && (e[t] = n, delete e[i])
            })
        }
    }, 11: function (e, t, n) {
        "use strict";
        var i = n(60), r = n(107), o = Object.prototype.toString;

        function s(e) {
            return "[object Array]" === o.call(e)
        }

        function a(e) {
            return null !== e && "object" == typeof e
        }

        function l(e) {
            return "[object Function]" === o.call(e)
        }

        function c(e, t) {
            if (null !== e && void 0 !== e) if ("object" != typeof e && (e = [e]), s(e)) for (var n = 0, i = e.length; n < i; n++) t.call(null, e[n], n, e); else for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.call(null, e[r], r, e)
        }

        e.exports = {
            isArray: s, isArrayBuffer: function (e) {
                return "[object ArrayBuffer]" === o.call(e)
            }, isBuffer: r, isFormData: function (e) {
                return "undefined" != typeof FormData && e instanceof FormData
            }, isArrayBufferView: function (e) {
                return "undefined" != typeof ArrayBuffer && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e.buffer && e.buffer instanceof ArrayBuffer
            }, isString: function (e) {
                return "string" == typeof e
            }, isNumber: function (e) {
                return "number" == typeof e
            }, isObject: a, isUndefined: function (e) {
                return void 0 === e
            }, isDate: function (e) {
                return "[object Date]" === o.call(e)
            }, isFile: function (e) {
                return "[object File]" === o.call(e)
            }, isBlob: function (e) {
                return "[object Blob]" === o.call(e)
            }, isFunction: l, isStream: function (e) {
                return a(e) && l(e.pipe)
            }, isURLSearchParams: function (e) {
                return "undefined" != typeof URLSearchParams && e instanceof URLSearchParams
            }, isStandardBrowserEnv: function () {
                return ("undefined" == typeof navigator || "ReactNative" !== navigator.product) && "undefined" != typeof window && "undefined" != typeof document
            }, forEach: c, merge: function e() {
                var t = {};

                function n(n, i) {
                    "object" == typeof t[i] && "object" == typeof n ? t[i] = e(t[i], n) : t[i] = n
                }

                for (var i = 0, r = arguments.length; i < r; i++) c(arguments[i], n);
                return t
            }, extend: function (e, t, n) {
                return c(t, function (t, r) {
                    e[r] = n && "function" == typeof t ? i(t, n) : t
                }), e
            }, trim: function (e) {
                return e.replace(/^\s*/, "").replace(/\s*$/, "")
            }
        }
    }, 110: function (e, t, n) {
        "use strict";
        var i = n(11), r = n(61), o = n(63), s = n(111), a = n(112), l = n(37),
            c = "undefined" != typeof window && window.btoa && window.btoa.bind(window) || n(113);
        e.exports = function (e) {
            return new Promise(function (t, u) {
                var d = e.data, f = e.headers;
                i.isFormData(d) && delete f["Content-Type"];
                var p = new XMLHttpRequest, h = "onreadystatechange", v = !1;
                if ("undefined" == typeof window || !window.XDomainRequest || "withCredentials" in p || a(e.url) || (p = new window.XDomainRequest, h = "onload", v = !0, p.onprogress = function () {
                }, p.ontimeout = function () {
                }), e.auth) {
                    var g = e.auth.username || "", m = e.auth.password || "";
                    f.Authorization = "Basic " + c(g + ":" + m)
                }
                if (p.open(e.method.toUpperCase(), o(e.url, e.params, e.paramsSerializer), !0), p.timeout = e.timeout, p[h] = function () {
                    if (p && (4 === p.readyState || v) && (0 !== p.status || p.responseURL && 0 === p.responseURL.indexOf("file:"))) {
                        var n = "getAllResponseHeaders" in p ? s(p.getAllResponseHeaders()) : null, i = {
                            data: e.responseType && "text" !== e.responseType ? p.response : p.responseText,
                            status: 1223 === p.status ? 204 : p.status,
                            statusText: 1223 === p.status ? "No Content" : p.statusText,
                            headers: n,
                            config: e,
                            request: p
                        };
                        r(t, u, i), p = null
                    }
                }, p.onerror = function () {
                    u(l("Network Error", e, null, p)), p = null
                }, p.ontimeout = function () {
                    u(l("timeout of " + e.timeout + "ms exceeded", e, "ECONNABORTED", p)), p = null
                }, i.isStandardBrowserEnv()) {
                    var y = n(114),
                        C = (e.withCredentials || a(e.url)) && e.xsrfCookieName ? y.read(e.xsrfCookieName) : void 0;
                    C && (f[e.xsrfHeaderName] = C)
                }
                if ("setRequestHeader" in p && i.forEach(f, function (e, t) {
                    void 0 === d && "content-type" === t.toLowerCase() ? delete f[t] : p.setRequestHeader(t, e)
                }), e.withCredentials && (p.withCredentials = !0), e.responseType) try {
                    p.responseType = e.responseType
                } catch (t) {
                    if ("json" !== e.responseType) throw t
                }
                "function" == typeof e.onDownloadProgress && p.addEventListener("progress", e.onDownloadProgress), "function" == typeof e.onUploadProgress && p.upload && p.upload.addEventListener("progress", e.onUploadProgress), e.cancelToken && e.cancelToken.promise.then(function (e) {
                    p && (p.abort(), u(e), p = null)
                }), void 0 === d && (d = null), p.send(d)
            })
        }
    }, 111: function (e, t, n) {
        "use strict";
        var i = n(11),
            r = ["age", "authorization", "content-length", "content-type", "etag", "expires", "from", "host", "if-modified-since", "if-unmodified-since", "last-modified", "location", "max-forwards", "proxy-authorization", "referer", "retry-after", "user-agent"];
        e.exports = function (e) {
            var t, n, o, s = {};
            return e ? (i.forEach(e.split("\n"), function (e) {
                if (o = e.indexOf(":"), t = i.trim(e.substr(0, o)).toLowerCase(), n = i.trim(e.substr(o + 1)), t) {
                    if (s[t] && r.indexOf(t) >= 0) return;
                    s[t] = "set-cookie" === t ? (s[t] ? s[t] : []).concat([n]) : s[t] ? s[t] + ", " + n : n
                }
            }), s) : s
        }
    }, 112: function (e, t, n) {
        "use strict";
        var i = n(11);
        e.exports = i.isStandardBrowserEnv() ? function () {
            var e, t = /(msie|trident)/i.test(navigator.userAgent), n = document.createElement("a");

            function r(e) {
                var i = e;
                return t && (n.setAttribute("href", i), i = n.href), n.setAttribute("href", i), {
                    href: n.href,
                    protocol: n.protocol ? n.protocol.replace(/:$/, "") : "",
                    host: n.host,
                    search: n.search ? n.search.replace(/^\?/, "") : "",
                    hash: n.hash ? n.hash.replace(/^#/, "") : "",
                    hostname: n.hostname,
                    port: n.port,
                    pathname: "/" === n.pathname.charAt(0) ? n.pathname : "/" + n.pathname
                }
            }

            return e = r(window.location.href), function (t) {
                var n = i.isString(t) ? r(t) : t;
                return n.protocol === e.protocol && n.host === e.host
            }
        }() : function () {
            return !0
        }
    }, 113: function (e, t, n) {
        "use strict";
        var i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

        function r() {
            this.message = "String contains an invalid character"
        }

        r.prototype = new Error, r.prototype.code = 5, r.prototype.name = "InvalidCharacterError", e.exports = function (e) {
            for (var t, n, o = String(e), s = "", a = 0, l = i; o.charAt(0 | a) || (l = "=", a % 1); s += l.charAt(63 & t >> 8 - a % 1 * 8)) {
                if ((n = o.charCodeAt(a += .75)) > 255) throw new r;
                t = t << 8 | n
            }
            return s
        }
    }, 114: function (e, t, n) {
        "use strict";
        var i = n(11);
        e.exports = i.isStandardBrowserEnv() ? {
            write: function (e, t, n, r, o, s) {
                var a = [];
                a.push(e + "=" + encodeURIComponent(t)), i.isNumber(n) && a.push("expires=" + new Date(n).toGMTString()), i.isString(r) && a.push("path=" + r), i.isString(o) && a.push("domain=" + o), !0 === s && a.push("secure"), document.cookie = a.join("; ")
            }, read: function (e) {
                var t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
                return t ? decodeURIComponent(t[3]) : null
            }, remove: function (e) {
                this.write(e, "", Date.now() - 864e5)
            }
        } : {
            write: function () {
            }, read: function () {
                return null
            }, remove: function () {
            }
        }
    }, 115: function (e, t, n) {
        function i() {
            var e;
            try {
                e = t.storage.debug
            } catch (e) {
            }
            return !e && "undefined" != typeof process && "env" in process && (e = process.env.DEBUG), e
        }

        (t = e.exports = n(116)).log = function () {
            return "object" == typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments)
        }, t.formatArgs = function (e) {
            var n = this.useColors;
            if (e[0] = (n ? "%c" : "") + this.namespace + (n ? " %c" : " ") + e[0] + (n ? "%c " : " ") + "+" + t.humanize(this.diff), !n) return;
            var i = "color: " + this.color;
            e.splice(1, 0, i, "color: inherit");
            var r = 0, o = 0;
            e[0].replace(/%[a-zA-Z%]/g, function (e) {
                "%%" !== e && "%c" === e && (o = ++r)
            }), e.splice(o, 0, i)
        }, t.save = function (e) {
            try {
                null == e ? t.storage.removeItem("debug") : t.storage.debug = e
            } catch (e) {
            }
        }, t.load = i, t.useColors = function () {
            if ("undefined" != typeof window && window.process && "renderer" === window.process.type) return !0;
            if ("undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) return !1;
            return "undefined" != typeof document && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || "undefined" != typeof window && window.console && (window.console.firebug || window.console.exception && window.console.table) || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)
        }, t.storage = "undefined" != typeof chrome && void 0 !== chrome.storage ? chrome.storage.local : function () {
            try {
                return window.localStorage
            } catch (e) {
            }
        }(), t.colors = ["#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33"], t.formatters.j = function (e) {
            try {
                return JSON.stringify(e)
            } catch (e) {
                return "[UnexpectedJSONParseError]: " + e.message
            }
        }, t.enable(i())
    }, 116: function (e, t, n) {
        function i(e) {
            var n;

            function i() {
                if (i.enabled) {
                    var e = i, r = +new Date, o = r - (n || r);
                    e.diff = o, e.prev = n, e.curr = r, n = r;
                    for (var s = new Array(arguments.length), a = 0; a < s.length; a++) s[a] = arguments[a];
                    s[0] = t.coerce(s[0]), "string" != typeof s[0] && s.unshift("%O");
                    var l = 0;
                    s[0] = s[0].replace(/%([a-zA-Z%])/g, function (n, i) {
                        if ("%%" === n) return n;
                        l++;
                        var r = t.formatters[i];
                        if ("function" == typeof r) {
                            var o = s[l];
                            n = r.call(e, o), s.splice(l, 1), l--
                        }
                        return n
                    }), t.formatArgs.call(e, s), (i.log || t.log || console.log.bind(console)).apply(e, s)
                }
            }

            return i.namespace = e, i.enabled = t.enabled(e), i.useColors = t.useColors(), i.color = function (e) {
                var n, i = 0;
                for (n in e) i = (i << 5) - i + e.charCodeAt(n), i |= 0;
                return t.colors[Math.abs(i) % t.colors.length]
            }(e), i.destroy = r, "function" == typeof t.init && t.init(i), t.instances.push(i), i
        }

        function r() {
            var e = t.instances.indexOf(this);
            return -1 !== e && (t.instances.splice(e, 1), !0)
        }

        (t = e.exports = i.debug = i.default = i).coerce = function (e) {
            return e instanceof Error ? e.stack || e.message : e
        }, t.disable = function () {
            t.enable("")
        }, t.enable = function (e) {
            var n;
            t.save(e), t.names = [], t.skips = [];
            var i = ("string" == typeof e ? e : "").split(/[\s,]+/), r = i.length;
            for (n = 0; n < r; n++) i[n] && ("-" === (e = i[n].replace(/\*/g, ".*?"))[0] ? t.skips.push(new RegExp("^" + e.substr(1) + "$")) : t.names.push(new RegExp("^" + e + "$")));
            for (n = 0; n < t.instances.length; n++) {
                var o = t.instances[n];
                o.enabled = t.enabled(o.namespace)
            }
        }, t.enabled = function (e) {
            if ("*" === e[e.length - 1]) return !0;
            var n, i;
            for (n = 0, i = t.skips.length; n < i; n++) if (t.skips[n].test(e)) return !1;
            for (n = 0, i = t.names.length; n < i; n++) if (t.names[n].test(e)) return !0;
            return !1
        }, t.humanize = n(117), t.instances = [], t.names = [], t.skips = [], t.formatters = {}
    }, 1168: function (e, t) {
    }, 117: function (e, t) {
        var n = 1e3, i = 60 * n, r = 60 * i, o = 24 * r, s = 365.25 * o;

        function a(e, t, n) {
            if (!(e < t)) return e < 1.5 * t ? Math.floor(e / t) + " " + n : Math.ceil(e / t) + " " + n + "s"
        }

        e.exports = function (e, t) {
            t = t || {};
            var l, c = typeof e;
            if ("string" === c && e.length > 0) return function (e) {
                if ((e = String(e)).length > 100) return;
                var t = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);
                if (!t) return;
                var a = parseFloat(t[1]);
                switch ((t[2] || "ms").toLowerCase()) {
                    case"years":
                    case"year":
                    case"yrs":
                    case"yr":
                    case"y":
                        return a * s;
                    case"days":
                    case"day":
                    case"d":
                        return a * o;
                    case"hours":
                    case"hour":
                    case"hrs":
                    case"hr":
                    case"h":
                        return a * r;
                    case"minutes":
                    case"minute":
                    case"mins":
                    case"min":
                    case"m":
                        return a * i;
                    case"seconds":
                    case"second":
                    case"secs":
                    case"sec":
                    case"s":
                        return a * n;
                    case"milliseconds":
                    case"millisecond":
                    case"msecs":
                    case"msec":
                    case"ms":
                        return a;
                    default:
                        return
                }
            }(e);
            if ("number" === c && !1 === isNaN(e)) return t.long ? a(l = e, o, "day") || a(l, r, "hour") || a(l, i, "minute") || a(l, n, "second") || l + " ms" : function (e) {
                if (e >= o) return Math.round(e / o) + "d";
                if (e >= r) return Math.round(e / r) + "h";
                if (e >= i) return Math.round(e / i) + "m";
                if (e >= n) return Math.round(e / n) + "s";
                return e + "ms"
            }(e);
            throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(e))
        }
    }, 118: function (e) {
        e.exports = {
            _args: [["axios@0.18.0", "D:\\thunderx_bin\\trunk\\build\\app"]],
            _from: "axios@0.18.0",
            _id: "axios@0.18.0",
            _inBundle: !1,
            _integrity: "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
            _location: "/axios",
            _phantomChildren: {},
            _requested: {
                type: "version",
                registry: !0,
                raw: "axios@0.18.0",
                name: "axios",
                escapedName: "axios",
                rawSpec: "0.18.0",
                saveSpec: null,
                fetchSpec: "0.18.0"
            },
            _requiredBy: ["/", "/@types/axios", "/@xunlei/thunderx-login-main"],
            _resolved: "http://xnpm.repo.xunlei.cn/axios/-/axios-0.18.0.tgz",
            _spec: "0.18.0",
            _where: "D:\\thunderx_bin\\trunk\\build\\app",
            author: {name: "Matt Zabriskie"},
            browser: {"./lib/adapters/http.js": "./lib/adapters/xhr.js"},
            bugs: {url: "https://github.com/axios/axios/issues"},
            bundlesize: [{path: "./dist/axios.min.js", threshold: "5kB"}],
            dependencies: {"follow-redirects": "^1.3.0", "is-buffer": "^1.1.5"},
            description: "Promise based HTTP client for the browser and node.js",
            devDependencies: {
                bundlesize: "^0.5.7",
                coveralls: "^2.11.9",
                "es6-promise": "^4.0.5",
                grunt: "^1.0.1",
                "grunt-banner": "^0.6.0",
                "grunt-cli": "^1.2.0",
                "grunt-contrib-clean": "^1.0.0",
                "grunt-contrib-nodeunit": "^1.0.0",
                "grunt-contrib-watch": "^1.0.0",
                "grunt-eslint": "^19.0.0",
                "grunt-karma": "^2.0.0",
                "grunt-ts": "^6.0.0-beta.3",
                "grunt-webpack": "^1.0.18",
                "istanbul-instrumenter-loader": "^1.0.0",
                "jasmine-core": "^2.4.1",
                karma: "^1.3.0",
                "karma-chrome-launcher": "^2.0.0",
                "karma-coverage": "^1.0.0",
                "karma-firefox-launcher": "^1.0.0",
                "karma-jasmine": "^1.0.2",
                "karma-jasmine-ajax": "^0.1.13",
                "karma-opera-launcher": "^1.0.0",
                "karma-safari-launcher": "^1.0.0",
                "karma-sauce-launcher": "^1.1.0",
                "karma-sinon": "^1.0.5",
                "karma-sourcemap-loader": "^0.3.7",
                "karma-webpack": "^1.7.0",
                "load-grunt-tasks": "^3.5.2",
                minimist: "^1.2.0",
                sinon: "^1.17.4",
                typescript: "^2.0.3",
                "url-search-params": "^0.6.1",
                webpack: "^1.13.1",
                "webpack-dev-server": "^1.14.1"
            },
            homepage: "https://github.com/axios/axios",
            keywords: ["xhr", "http", "ajax", "promise", "node"],
            license: "MIT",
            main: "index.js",
            name: "axios",
            repository: {type: "git", url: "git+https://github.com/axios/axios.git"},
            scripts: {
                build: "NODE_ENV=production grunt build",
                coveralls: "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
                examples: "node ./examples/server.js",
                postversion: "git push && git push --tags",
                preversion: "npm test",
                start: "node ./sandbox/server.js",
                test: "grunt test && bundlesize",
                version: "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json"
            },
            typings: "./index.d.ts",
            version: "0.18.0"
        }
    }, 119: function (e, t, n) {
        "use strict";
        var i = n(11);

        function r() {
            this.handlers = []
        }

        r.prototype.use = function (e, t) {
            return this.handlers.push({fulfilled: e, rejected: t}), this.handlers.length - 1
        }, r.prototype.eject = function (e) {
            this.handlers[e] && (this.handlers[e] = null)
        }, r.prototype.forEach = function (e) {
            i.forEach(this.handlers, function (t) {
                null !== t && e(t)
            })
        }, e.exports = r
    }, 12: function (e, t, n) {
        "use strict";
        var i = this && this.__awaiter || function (e, t, n, i) {
            return new (n || (n = Promise))(function (r, o) {
                function s(e) {
                    try {
                        l(i.next(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function a(e) {
                    try {
                        l(i.throw(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function l(e) {
                    e.done ? r(e.value) : new n(function (t) {
                        t(e.value)
                    }).then(s, a)
                }

                l((i = i.apply(e, t || [])).next())
            })
        };
        Object.defineProperty(t, "__esModule", {value: !0});
        const r = n(3), o = n(2), s = n(1), a = n(10), l = n(20), c = s.default.getLogger("Thunder.Util"),
            u = "Thunder Network\\Thunder7.9\\";

        function d(e) {
            let t = e;
            return 0 === e.indexOf('"') && e.lastIndexOf('"') === e.length - 1 ? t = e.substring(1, e.length - 1) : 0 === e.indexOf("'") && e.lastIndexOf("'") === e.length - 1 && (t = e.substring(1, e.length - 1)), t
        }

        !function (e) {
            function t() {
                let e = l.ThunderHelper.getSystemTempPath(), t = l.ThunderHelper.getLogicalDriveStrings(), n = 0;
                for (let i = 0; i < t.length; i++) {
                    let r = l.ThunderHelper.getDriveInfo(t[i]);
                    3 === r.type && n < r.freeBytes && t[i] !== e && (n = r.freeBytes, e = t[i])
                }
                return e.substring(0, 1) + ":\\迅雷下载"
            }

            e.formatSize = function (e, t) {
                t = t || 2;
                let n = "0B";
                if ("number" == typeof e && e > 0) {
                    let i = ["B", "KB", "MB", "GB", "TB"], r = 0, o = e;
                    for (; o >= 1e3 && !(r >= 4);) o /= 1024, r += 1;
                    n = -1 === String(o).indexOf(".") ? o + i[r] : o.toFixed(t) + i[r]
                }
                return n
            }, e.isDigital = function (e) {
                let t = !1;
                return /^\d+$/.test(e) && (t = !0), t
            }, e.isAlpha = function (e) {
                let t = !1;
                return /[A-Za-z]/.test(e) && (t = !0), t
            }, e.isUpperCase = function (e) {
                let t = !1;
                return /[A-Z]/.test(e) && (t = !0), t
            }, e.isLowerCase = function (e) {
                let t = !1;
                return /[a-z]/.test(e) && (t = !0), t
            }, e.isChinese = function (e) {
                let t = !1;
                return /[\u4E00-\u9FA5]/.test(e) && (t = !0), t
            }, e.replaceNonDigital = function (e) {
                return e.replace(/[^\d]/g, "")
            }, e.replaceNonAlpha = function (e) {
                return e.replace(/[^A-Za-z]/g, "")
            }, e.replaceNonWord = function (e) {
                return e.replace(/[^\W]/g, "")
            }, e.getDefaultDownloadDir = t, e.getMaxFreeDriver = function () {
                return t().substring(0, 1)
            }, e.deepCopy = function (e) {
                let t = JSON.stringify(e), n = null;
                try {
                    n = JSON.parse(t)
                } catch (e) {
                    c.warning(e)
                }
                return n
            }, e.swap = function (e, t, n) {
                do {
                    if (t < 0 || t >= e.length) break;
                    if (n < 0 || n >= e.length) break;
                    if (t === n) break;
                    e[t] = e.splice(n, 1, e[t])[0]
                } while (0);
                return e
            }, e.compareNocase = function (e, t) {
                let n = !1;
                do {
                    if (void 0 === e && void 0 === t) {
                        n = !0;
                        break
                    }
                    if (void 0 === e || void 0 === t) break;
                    if ("string" != typeof e || "string" != typeof t) break;
                    n = e.toLowerCase() === t.toLowerCase()
                } while (0);
                return n
            }, e.parseCommandLine = function (e) {
                let t = 0, n = "", i = !1, r = [], o = e.length;
                for (let s = 0; s < o; s++) {
                    let a = e[s];
                    if ('"' !== a && "'" !== a || ("" === n ? (i = !0, n = a) : n === a && (i = !1, n = "")), " " !== a || i || s === o - 1) {
                        if (s === o - 1) {
                            let n = e.substring(t);
                            "" !== n.trim() && r.push(d(n))
                        }
                    } else {
                        let n = e.substring(t, s);
                        "" !== n.trim() && r.push(d(n)), t = s + 1
                    }
                }
                return r
            }, e.getThunderTempPath = function (e, t) {
                return i(this, void 0, void 0, function* () {
                    const i = yield Promise.resolve().then(() => n(16));
                    let r = o.join(i.tmpdir(), u);
                    return t && (r = o.join(r, t)), void 0 !== e && e && (yield a.FileSystemAWNS.mkdirsAW(r)), r
                })
            }, e.setQueryString = function (e, t) {
                return Object.keys(t).forEach((n, i) => {
                    e += 0 === i ? "?" : "&", e += `${n}=${t[n]}`
                }), e
            }, e.getQueryString = function (e, t) {
                return e && t && e.match(new RegExp(`(^${t}|[?|&]${t})=([^&#]+)`)) ? RegExp.$2 : ""
            }, e.isClipboardTextFormatAvailable = function () {
                let e = !1, t = r.clipboard.availableFormats();
                for (let n of t) if ("text/plain" === n) {
                    e = !0;
                    break
                }
                return e
            }, e.keywordsHighLight = function (e, t, n) {
                if (!e) return "";
                if (!t) return e;
                if (0 === e.length) return e;
                if (0 === t.length) return e;
                let i = /\\/, r = t.split(" ");
                if (0 === (r = r.filter(e => e.trim().length > 0)).length) return e;
                for (let t = 0; t < r.length; t++) if (r[t].search(i) > 0) return e;
                n = void 0 === n || null === n ? "#FF0000" : n;
                let o = "", s = ["\\[", "\\^", "\\*", "\\(", "\\)", "\\|", "\\?", "\\$", "\\.", "\\+"], a = "", l = "|";
                for (let e = 0; e < r.length; e++) {
                    for (let t = 0; t < s.length; t++) {
                        let n = new RegExp(s[t], "g");
                        r[e] = r[e].replace(n, s[t])
                    }
                    e === r.length - 1 && (l = ""), a = a.concat(r[e], l)
                }
                let c = new RegExp(a, "gi");
                return o = e.replace(c, e => '<span style= "color:' + n + '">' + e + "</span>")
            }, e.isDef = function (e) {
                return void 0 !== e && null !== e
            }, e.isUndef = function (e) {
                return void 0 === e || null === e
            }, e.setStyle = function (e, t) {
                Object.entries(t).forEach(([t, n]) => {
                    e.style[t] = n
                })
            }, e.setCSSProperties = function (e, t) {
                Object.entries(t).forEach(([t, n]) => {
                    e.style.setProperty(t, n)
                })
            }, e.versionCompare = function (e, t) {
                let n = e.split("."), i = t.split("."), r = 0;
                for (let e = 0; e < n.length; e++) {
                    if (Number(n[e]) - Number(i[e]) > 0) {
                        r = 1;
                        break
                    }
                    if (Number(n[e]) - Number(i[e]) < 0) {
                        r = -1;
                        break
                    }
                }
                return r
            }, e.throttle = function (e, t) {
                let n, i = 0;
                return (...r) => {
                    const o = Date.now();
                    clearTimeout(n), o - i > t ? (e(...r), i = o) : n = setTimeout(() => {
                        e(...r), i = o
                    }, t)
                }
            }
        }(t.ThunderUtil || (t.ThunderUtil = {}))
    }, 120: function (e, t, n) {
        "use strict";
        var i = n(11), r = n(121), o = n(66), s = n(36), a = n(122), l = n(123);

        function c(e) {
            e.cancelToken && e.cancelToken.throwIfRequested()
        }

        e.exports = function (e) {
            return c(e), e.baseURL && !a(e.url) && (e.url = l(e.baseURL, e.url)), e.headers = e.headers || {}, e.data = r(e.data, e.headers, e.transformRequest), e.headers = i.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers || {}), i.forEach(["delete", "get", "head", "post", "put", "patch", "common"], function (t) {
                delete e.headers[t]
            }), (e.adapter || s.adapter)(e).then(function (t) {
                return c(e), t.data = r(t.data, t.headers, e.transformResponse), t
            }, function (t) {
                return o(t) || (c(e), t && t.response && (t.response.data = r(t.response.data, t.response.headers, e.transformResponse))), Promise.reject(t)
            })
        }
    }, 121: function (e, t, n) {
        "use strict";
        var i = n(11);
        e.exports = function (e, t, n) {
            return i.forEach(n, function (n) {
                e = n(e, t)
            }), e
        }
    }, 122: function (e, t, n) {
        "use strict";
        e.exports = function (e) {
            return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)
        }
    }, 123: function (e, t, n) {
        "use strict";
        e.exports = function (e, t) {
            return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e
        }
    }, 124: function (e, t, n) {
        "use strict";
        var i = n(67);

        function r(e) {
            if ("function" != typeof e) throw new TypeError("executor must be a function.");
            var t;
            this.promise = new Promise(function (e) {
                t = e
            });
            var n = this;
            e(function (e) {
                n.reason || (n.reason = new i(e), t(n.reason))
            })
        }

        r.prototype.throwIfRequested = function () {
            if (this.reason) throw this.reason
        }, r.source = function () {
            var e;
            return {
                token: new r(function (t) {
                    e = t
                }), cancel: e
            }
        }, e.exports = r
    }, 125: function (e, t, n) {
        "use strict";
        e.exports = function (e) {
            return function (t) {
                return e.apply(null, t)
            }
        }
    }, 1262: function (e, t) {
    }, 1280: function (e, t) {
    }, 13: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(2), r = n(7), o = n(1).default.getLogger("XLStat");
        let s = r.default(i.join(__rootDir, "../bin/ThunderHelper.node"));

        function a(e = "") {
            let t;
            if ("string" == typeof e) t = e; else if (l(e) && "object" == typeof e) {
                let n = [];
                for (let t in e) l(e[t]) && n.push(t + "=" + encodeURIComponent(e[t]));
                t = n.join(",")
            }
            return t
        }

        function l(e) {
            return void 0 !== e && null !== e
        }

        !function (e) {
            function t(e) {
                do {
                    if (void 0 === e) break;
                    s.trackClick(e, 0)
                } while (0)
            }

            e.trackEvent = function (e, t = "", n = "", i = 0, r = 0, l = 0, c = 0, u = "", d = 0) {
                let f = 0;
                do {
                    if (void 0 === e) {
                        f = 1;
                        break
                    }
                    let p = a(u);
                    f = s.trackEvent(e, t, n, i, r, l, c, p, d), o.information(e, t, n, i, r, l, c, p, d)
                } while (0);
                return f
            }, e.trackClick = t, e.trackShow = function (e) {
                t(e)
            }, e.setUserID = function (e = 0, t = 0) {
                s.setUserID(e, t)
            }
        }(t.XLStatNS || (t.XLStatNS = {}))
    }, 14: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(6), r = n(1), o = n(5), s = r.default.getLogger("Thunder.PromiseNativeCall"), a = i.promisify;
        t.default = function (...e) {
            return s.verbose(...e), a(o.NativeCallModule.nativeCall.CallNativeFunction.bind(o.NativeCallModule.nativeCall))(...e)
        }
    }, 15: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
            e.channelRMNewTaskReadyForSetTaskData = "RM_NEWTASK_READYRORSETTASKDATA", e.channelRMNewTaskSetTaskData = "RM_NEWTASK_SETTASKDATA", e.channelRMPreNewTaskSetTaskData = "RM_PRENEWTASK_SETTASKDATA", e.channelRMNewTaskCreateNewTask = "RM_NEWTASK_CREATENEWTASK", e.channelRMNewTaskSetBTInfo = "RM_NEWTASK_SETBTINFO", e.channelRMNewTaskDownloadTorrent = "RM_NEW_TASK_DOWNLOAD_TORRENT", e.channelRMNewTaskCreateBtTask = "RM_NEWTASK_CRATEBTTASK", e.channelRMNewTaskCancleMagnet = "RM_NEWTASK_CANCLE_MAGNET", e.channelRMImportTorrent = "RM_NEWTASK_IMPORT_TORRENT", e.channelRMGetConfigValueResolve = "RM_GET_CONFIG_VALUE_RESOLVE", e.channelRMGetConfigValueReject = "RM_GET_CONFIG_VALUE_REJECT", e.channelMRTrayMenuClick = "MR_TRAY_MENU_CLICK", e.channelMRNewTaskMagnetTaskCreated = "MR_NEW_TASK_MAGNET_TASK_CREATED", e.channelMRNewTaskDownloadTorrentResult = "MR_NEW_TASK_DOWNLOAD_TORRENT_RESULT", e.channelMRNewTaskCreateNewTaskResult = "MR_NEWTASK_CREATENEWTASK_RESULT", e.channelMRNewTaskCreateBtTaskResult = "RM_NEWTASK_CRATEBTTASK_RESULT", e.channelMRGetConfigValue = "MR_GET_CONFIG_VALUE", e.channelMRSetConfigValue = "MR_SET_CONFIG_VALUE", e.channelRMCommitPlanTask = "RM_PLANTASK_COMMIT", e.channelRMPerformePlanTask = "RM_PLANTASK_PERFORME", e.channelRMProcessSend = "RM_RENDER_PROCESS_INFO", e.channelRMGetPrivateSpaceInfo = "RM_RENDER_GET_PRIVATE_SPACE_INFO", e.channelMRGetPrivateSpaceInfoResult = "MR_RENDER_GET_PRIVATE_SPACE_INFO_RESULT", e.channelRMFileCopy = "RM_FILE_COPY", e.channelRMFileMove = "RM_FILE_MOVE", e.channelMRFileCopyResult = "MR_FILE_COPY_RESULT", e.channelMRFileMoveResult = "MR_FILE_MOVE_RESULT", e.channelRMGetSutitleByCid = "RM_RENDER_GET_SUBTITLE_BY_CID", e.channelMRGetSutitleByCidResult = "MR_RENDER_GET_SUBTITLE_BY_CID_RESULT", e.channelRMGetSutitleByName = "RM_RENDER_GET_SUBTITLE_BY_NAME", e.channelMRGetSutitleByNameResult = "MR_RENDER_GET_SUBTITLE_BY_NAME_RESULT", e.channelRMDownloadSutitle = "RM_RENDER_DOWNLOAD_SUBTITLE", e.channelMRDownloadSutitleSuc = "MR_RENDER_DOWNLOAD_SUBTITLE_SUCCESS", e.channelMRDownloadSutitleFail = "MR_RENDER_DOWNLOAD_SUBTITLE_FAIL", e.channelRMGetDisplayName = "RM_RENDER_GET_SUBTITLE_DISPLAYNAME", e.channelMRGetDisplayNameResult = "MR_RENDER_GET_SUBTITLE_DISPLAYNAME_RESULT", e.channelMRBringWindowToTop = "MR_RENDER_BRING_WINDOW_TO_TOP", e.channelRMDownloadXmp = "RM_RENDER_DOWNLOAD_XMP", e.channelRMXmpFixBoxCreated = "RM_RENDER_XMPFIXBOX_CREATED", e.channelMRFixXmpSuc = "MR_RENDER_FIX_XMP_SUC", e.channelMRFixXMPFail = "MR_RENDER_FIX_XMP_FAIL", e.channelRMDownloadXmpEx = "RM_RENDER_DOWNLOAD_XMP_EX", e.channelRMSetPosition = "RM_SET_POSITION", e.channelRMSetFoucs = "RM_SET_FOCUS", e.channelRMCreateAddressDropWnd = "RM_CREATE_ADDRESS_DROPWND", e.channelRMRefreshAddressDropWnd = "RM_REFRESH_ADDRESS_DROPWND", e.channelRMSelectAddressDropItem = "RM_SELECT_ADDRESS_DROPITEM", e.channelRMCreateSearchWindow = "RM_CREATE_SEARCH_WINDOW", e.channelRMAddressKeyDown = "RM_ADDRESS_BAR_KEYDOWN", e.channelMRFWAddressKeyDown = "MR_ADDRESS_FW_BAR_KEYDOWN", e.channelMRFWSelectAddressDropItem = "MR_FW_SELECT_ADDRESS_DROPITEM", e.channelRMAddressDropWndKeyDown = "RM_ADDRESS_DROPWND_KEYDOWN", e.channelMRSearchWindowVisibleChange = "MR_SEARCH_WINDOW_VISIBLE_CHANGE", e.channelRMShowSearchWindow = "RM_SEARCH_WINDOW_SHOW", e.channelRMHideSearchWindow = "RM_SEARCH_WINDOW_HIDE", e.channelRMClickMouse = "RM_CLICK_MOUSE", e.channelMRSearchBarFocusChange = "MR_SEARCHBAR_FOCUS_CHANGE", e.channelMRFWAddressDropWndKeyDown = "MR_FW_ADDRESS_DROPWND_KEYDOWN", e.channelMRClickAddressDropItem = "MR_CLICK_ADDRESS_DROPITEM", e.channelMRMainWndMax = "MR_MAINWINDOW_MAX", e.channelMRMainWndMin = "MR_MAINWINDOW_MIN", e.channelMRMainWndRestore = "MR_MAINWINDOW_RESTORE", e.channelRMGetBrowserStartType = "RM_GET_BROWSER_START_TYPE", e.channelMRGetBrowserStartTypeResult = "MR_GET_BROWSER_START_TYPE_RESULT", e.channelRMExecute = "RM_SHELL_EXECUTE", e.channelMRExecuteResult = "MR_SHELL_EXECUTE_RESULT", e.channelMRAdTipsClick = "MR_AD_TIPS_CLICK", e.channelMRNotificationMsg = "MR_NOTIFICATION_MSG", e.channelRMSetProgressBar = "RM_SET_PROGRESS_BAR", e.channelRMRoundWindow = "RM_ROUND_WINDOW", e.channelMRShowOrHideWindow = "MR_SHOW_OR_HIDE_WINDOW", e.channelMRSuspensionWindowShowOrHide = "MR_SUSPENSION_WINDOW_SHOW_OR_HIDE"
        }(t.ThunderChannelList || (t.ThunderChannelList = {}))
    }, 16: function (e, t) {
        e.exports = require("os")
    }, 17: function (e, t) {
        e.exports = require("fs")
    }, 18: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0}), t.information = function (...e) {
        }, t.error = function (...e) {
        }, t.warning = function (...e) {
        }, t.critical = function (...e) {
        }, t.verbose = function (...e) {
        }, "development" === process.env.LOGGER_ENV && (t.information = function (...e) {
            console.log("information", e)
        }, t.error = function (...e) {
            console.log("error", e)
        }, t.warning = function (...e) {
            console.log("warning", e)
        }, t.critical = function (...e) {
            console.log("critical", e)
        }, t.verbose = function (...e) {
            console.log("verbose", e)
        })
    }, 19: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
            e.msgIPCCommunicatorForward = "ipc_communicator_forward", e.msgIPCSendToMain = "ipc_send_to_main", e.msgIPCSendToRenderer = "ipc_send_to_renderer", e.msgIPCRendererConnect = "ipc_renderer_connect", e.msgIPCRendererDisconnect = "ipc_renderer_disconnect", e.msgNCCallNativeFunction = "nc_call_native_function", e.msgNCCheckNativeFunction = "nc_check_native_function", e.msgNCCallJsFunctionById = "nc_call_js_function_by_id", e.msgNCCallJsFunctionByName = "nc_call_js_function_by_name", e.msgNCNativeFireEvent = "nc_native_fire_event", e.msgNCNativeCallReady = "nc_native_call_ready"
        }(t.CommonIPCMessage || (t.CommonIPCMessage = {}))
    }, 2: function (e, t) {
        e.exports = require("path")
    }, 20: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(2), r = n(44), o = n(8), s = n(7).default(i.join(__rootDir, "../bin/ThunderHelper.node"));
        !function (e) {
            e.getDriveInfo = function (e) {
                return s.getDriveInfo(e)
            }, e.getFreePartitionSpace = function (e) {
                return s.getFreePartitionSpace(e)
            }, e.getLogicalDriveStrings = function () {
                return s.getLogicalDriveStrings()
            }, e.getPartitionSpace = function (e) {
                return s.getPartitionSpace(e)
            }, e.getSystemTempPath = function () {
                return s.getSystemTempPath()
            }, e.getTaskTypeFromUrl = function (e) {
                let t = s.getTaskTypeFromUrl(e);
                if (t === o.DownloadKernel.TaskType.Unkown && function (e) {
                    e = e.toLowerCase();
                    let t = !1;
                    do {
                        if ("http://" === e.substr(0, "http://".length)) {
                            t = !0;
                            break
                        }
                        if ("https://" === e.substr(0, "https://".length)) {
                            t = !0;
                            break
                        }
                        if ("ftp://" === e.substr(0, "ftp://".length)) {
                            t = !0;
                            break
                        }
                    } while (0);
                    return t
                }(e)) {
                    let n = /:\/\/\[(.+?)\].*/.exec(e);
                    n || (n = /^ftp:\/\/.*?\[(.+?)\].*/.exec(e)), n && n[1] && r.isIPv6(n[1]) && (t = o.DownloadKernel.TaskType.P2sp)
                }
                return t
            }, e.extractIcon = function (e, t) {
                return s.extractIcon(e, t)
            }, e.isWindow7 = function () {
                return 1 === s.isWin7()
            }, e.compareStr = function (e, t) {
                return s.compareStr(e, t)
            }, e.getTickCount = function () {
                return s.getTickCount()
            }
        }(t.ThunderHelper || (t.ThunderHelper = {}))
    }, 204: function (e, t, n) {
        "use strict";
        var i = n(1262);
        n.n(i).a
    }, 22: function (e, t, n) {
        "use strict";
        var i = n(11), r = n(61), o = n(63), s = n(47), a = n(64), l = n(65).http, c = n(65).https, u = n(31),
            d = n(55), f = n(118), p = n(37), h = n(62);
        e.exports = function (e) {
            return new Promise(function (t, n) {
                var v, g = e.data, m = e.headers;
                if (m["User-Agent"] || m["user-agent"] || (m["User-Agent"] = "axios/" + f.version), g && !i.isStream(g)) {
                    if (Buffer.isBuffer(g)) ; else if (i.isArrayBuffer(g)) g = new Buffer(new Uint8Array(g)); else {
                        if (!i.isString(g)) return n(p("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", e));
                        g = new Buffer(g, "utf-8")
                    }
                    m["Content-Length"] = g.length
                }
                var y = void 0;
                e.auth && (y = (e.auth.username || "") + ":" + (e.auth.password || ""));
                var C = u.parse(e.url), b = C.protocol || "http:";
                if (!y && C.auth) {
                    var w = C.auth.split(":");
                    y = (w[0] || "") + ":" + (w[1] || "")
                }
                y && delete m.Authorization;
                var S = "https:" === b, x = S ? e.httpsAgent : e.httpAgent, T = {
                    path: o(C.path, e.params, e.paramsSerializer).replace(/^\?/, ""),
                    method: e.method,
                    headers: m,
                    agent: x,
                    auth: y
                };
                e.socketPath ? T.socketPath = e.socketPath : (T.hostname = C.hostname, T.port = C.port);
                var P, _ = e.proxy;
                if (!_ && !1 !== _) {
                    var R = b.slice(0, -1) + "_proxy", k = process.env[R] || process.env[R.toUpperCase()];
                    if (k) {
                        var N = u.parse(k);
                        if (_ = {host: N.hostname, port: N.port}, N.auth) {
                            var M = N.auth.split(":");
                            _.auth = {username: M[0], password: M[1]}
                        }
                    }
                }
                if (_ && (T.hostname = _.host, T.host = _.host, T.headers.host = C.hostname + (C.port ? ":" + C.port : ""), T.port = _.port, T.path = b + "//" + C.hostname + (C.port ? ":" + C.port : "") + T.path, _.auth)) {
                    var D = new Buffer(_.auth.username + ":" + _.auth.password, "utf8").toString("base64");
                    T.headers["Proxy-Authorization"] = "Basic " + D
                }
                e.transport ? P = e.transport : 0 === e.maxRedirects ? P = S ? a : s : (e.maxRedirects && (T.maxRedirects = e.maxRedirects), P = S ? c : l), e.maxContentLength && e.maxContentLength > -1 && (T.maxBodyLength = e.maxContentLength);
                var A = P.request(T, function (i) {
                    if (!A.aborted) {
                        clearTimeout(v), v = null;
                        var o = i;
                        switch (i.headers["content-encoding"]) {
                            case"gzip":
                            case"compress":
                            case"deflate":
                                o = o.pipe(d.createUnzip()), delete i.headers["content-encoding"]
                        }
                        var s = i.req || A, a = {
                            status: i.statusCode,
                            statusText: i.statusMessage,
                            headers: i.headers,
                            config: e,
                            request: s
                        };
                        if ("stream" === e.responseType) a.data = o, r(t, n, a); else {
                            var l = [];
                            o.on("data", function (t) {
                                l.push(t), e.maxContentLength > -1 && Buffer.concat(l).length > e.maxContentLength && n(p("maxContentLength size of " + e.maxContentLength + " exceeded", e, null, s))
                            }), o.on("error", function (t) {
                                A.aborted || n(h(t, e, null, s))
                            }), o.on("end", function () {
                                var i = Buffer.concat(l);
                                "arraybuffer" !== e.responseType && (i = i.toString("utf8")), a.data = i, r(t, n, a)
                            })
                        }
                    }
                });
                A.on("error", function (t) {
                    A.aborted || n(h(t, e, null, A))
                }), e.timeout && !v && (v = setTimeout(function () {
                    A.abort(), n(p("timeout of " + e.timeout + "ms exceeded", e, "ECONNABORTED", A))
                }, e.timeout)), e.cancelToken && e.cancelToken.promise.then(function (e) {
                    A.aborted || (A.abort(), n(e))
                }), i.isStream(g) ? g.pipe(A) : A.end(g)
            })
        }
    }, 24: function (e, t, n) {
        e.exports = n(106)
    }, 252: function (e, t) {
        e.exports = "data:image/png;base64, "
    }, 26: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(3), r = n(6), o = n(18), s = n(19);
        !function (e) {
            e.mainProcessContext = "main-process", e.mainRendererContext = "main-renderer", e.mainPageWebviewRendererContext = "main-page-webview-renderer", e.newTaskRendererContext = "new-task-renderer", e.preNewTaskRendererContext = "pre-new-task-renderer", e.loginRendererContext = "login-renderer";

            class t {
                constructor() {
                    this.isConnected = !1, this.isOnIPCEvent = !1, this.rendererInfos = [], this.listeners = new Map, t.intervalIPCModuleMsgs = [s.CommonIPCMessage.msgIPCRendererConnect, s.CommonIPCMessage.msgIPCRendererDisconnect]
                }

                onMessage(e, t) {
                    do {
                        if (!r.isString(e) || 0 === e.length) {
                            o.error("msgName is null");
                            break
                        }
                        if (r.isNullOrUndefined(t)) {
                            o.error("listener is null");
                            break
                        }
                        this.listeners.has(e) ? this.listeners.get(e).push(t) : this.listeners.set(e, [t])
                    } while (0)
                }

                getCommunicatorInfo() {
                    return this.currInfo
                }

                getAllRenderer() {
                    return this.rendererInfos
                }

                getCommunicatorInfoById(e) {
                    for (let t of this.rendererInfos) if (t.id === e) return t;
                    return null
                }

                getCommunicatorInfoByContext(e) {
                    for (let t of this.rendererInfos) if (t.context === e) return t;
                    return null
                }

                startListenIPCMessage(e) {
                    this.isOnIPCEvent || (this.isOnIPCEvent = !0, e && this.ListenSendToMainMsg(), this.ListenSendToRendererMsg(e))
                }

                ListenSendToMainMsg() {
                    i.ipcMain.on(s.CommonIPCMessage.msgIPCSendToMain, (e, t) => {
                        let n = void 0;
                        do {
                            if (r.isNullOrUndefined(t)) {
                                o.error("msgInfo is empty");
                                break
                            }
                            if (!this.isConnected) {
                                o.warning("hasnot been connected yet");
                                break
                            }
                            let i = t.msg.name;
                            if (this.isIPCModuleIntervalMsg(i)) {
                                o.information(`IPC module interval msg : ${i}`);
                                let r = this.handleIPCModuleIntervalMsg(e.sender, t);
                                if (n = r[1], !r[0]) break;
                                o.information("need to dispatch msg:" + i)
                            }
                            r.isNullOrUndefined(n) ? n = this.NotifyListener(t) : this.NotifyListener(t)
                        } while (0);
                        r.isNullOrUndefined(n) || (e.returnValue = n)
                    })
                }

                ListenSendToRendererMsg(e) {
                    (e ? i.ipcMain : i.ipcRenderer).on(s.CommonIPCMessage.msgIPCSendToRenderer, (t, n) => {
                        let i = void 0;
                        do {
                            if (r.isNullOrUndefined(n)) {
                                o.error("msgInfo is empty");
                                break
                            }
                            if (!this.isConnected) {
                                o.warning("hasnot been connected yet");
                                break
                            }
                            let s = n.msg.name;
                            if (this.isIPCModuleIntervalMsg(s)) {
                                o.information(`IPC module interval msg : ${s}`);
                                let e = this.handleIPCModuleIntervalMsg(t.sender, n);
                                if (i = e[1], !e[0]) break;
                                o.information("need to dispatch msg:" + s)
                            }
                            e ? (o.information("is main, handle forward msg"), this.handleForwardRendererToRendererMsg(n)) : (o.information("is renderer, handle business msg"), r.isNullOrUndefined(i) ? i = this.NotifyListener(n) : this.NotifyListener(n))
                        } while (0);
                        r.isNullOrUndefined(i) || (t.returnValue = i)
                    })
                }

                isIPCModuleIntervalMsg(e) {
                    for (let n of t.intervalIPCModuleMsgs) if (e === n) return !0;
                    return !1
                }

                handleIPCModuleIntervalMsg(e, t) {
                    let n = [!1, void 0];
                    do {
                        let i = t.msg.name;
                        if (i === s.CommonIPCMessage.msgIPCRendererConnect) {
                            n = [!0, this.handleRendererConnectMsg(e, t)];
                            break
                        }
                        if (i === s.CommonIPCMessage.msgIPCRendererDisconnect) {
                            n = [!0, this.handleRendererDisconnectMsg(e, t)];
                            break
                        }
                    } while (0);
                    return n
                }

                handleRendererConnectMsg(e, t) {
                    o.verbose(e), o.verbose(t)
                }

                handleRendererDisconnectMsg(e, t) {
                    o.verbose(e), o.verbose(t)
                }

                handleForwardRendererToRendererMsg(e) {
                    this.sendForwardRendererToRendererMsg(e)
                }

                sendForwardRendererToRendererMsg(e) {
                    o.verbose(e)
                }

                NotifyListener(e) {
                    let t = void 0, n = e.msg.name;
                    if (this.listeners.has(n)) {
                        let i = this.listeners.get(n), r = !0;
                        for (let n of i) r ? (r = !1, t = n(e)) : n(e)
                    }
                    return t
                }
            }

            e.Communicator = t
        }(t.CommonIPCBase || (t.CommonIPCBase = {}))
    }, 27: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(3), r = n(6), o = n(18), s = n(19), a = n(26);
        !function (e) {
            class t extends a.CommonIPCBase.Communicator {
                constructor() {
                    super()
                }

                initialize(e) {
                    this.currInfo = {id: void 0, context: e, isMainCommunicator: !1}
                }

                connect() {
                    this.isConnected ? o.warning("has been connected") : (this.sendConnectMsgToMain(), this.isConnected = !0, this.startListenIPCMessage(!1))
                }

                disconnect() {
                    this.isConnected ? (this.isConnected = !1, this.sendDisconnectMsgToMain()) : o.warning("hasnot been connected yet")
                }

                sendMessageToMain(e) {
                    this.sendIPCMsgToMain(e)
                }

                sendMessageToMainSync(e) {
                    return this.sendIPCMsgToMain(e, !0)
                }

                sendMessageToRenderer(e, t) {
                    this.sendIPCMsgToRenderer(e, t)
                }

                handleRendererConnectMsg(e, t) {
                    do {
                        if (r.isNullOrUndefined(t)) {
                            o.error("msgInfo is null");
                            break
                        }
                        let e = t.msg.args[0];
                        if (r.isNullOrUndefined(e)) {
                            o.error("connectRendererInfo is null");
                            break
                        }
                        o.information(`Renderer: new renderer will connect, id = ${e.id}, context = ${e.context}`), this.rendererInfos.push(e)
                    } while (0)
                }

                handleRendererDisconnectMsg(e, t) {
                    do {
                        if (r.isNullOrUndefined(t)) {
                            o.error("msgInfo is null");
                            break
                        }
                        let e = t.msg.args[0];
                        if (r.isNullOrUndefined(e)) {
                            o.error("disconnectRendererInfo is null");
                            break
                        }
                        o.information(`renderer will disconnect, id = ${e.id}, context = ${e.context}`);
                        for (let t = 0; t < this.rendererInfos.length; ++t) if (this.rendererInfos[t] === e) {
                            this.rendererInfos.splice(t, 1);
                            break
                        }
                    } while (0)
                }

                sendConnectMsgToMain() {
                    let e = this.sendMessageToMainSync({name: s.CommonIPCMessage.msgIPCRendererConnect, args: []});
                    this.currInfo.id = e[0], this.rendererInfos = e[1]
                }

                sendDisconnectMsgToMain() {
                    this.sendMessageToMain({name: s.CommonIPCMessage.msgIPCRendererDisconnect, args: []})
                }

                sendIPCMsgToMain(e, t = !1) {
                    let n = void 0;
                    do {
                        if (r.isNullOrUndefined(e)) {
                            o.error("msg is null");
                            break
                        }
                        n = (t ? i.ipcRenderer.sendSync : i.ipcRenderer.send)(s.CommonIPCMessage.msgIPCSendToMain, {
                            msg: e,
                            senderInfo: this.currInfo
                        })
                    } while (0);
                    return n
                }

                sendIPCMsgToRenderer(e, t) {
                    do {
                        if (r.isNullOrUndefined(e)) {
                            o.error("rendererId is null");
                            break
                        }
                        if (r.isNullOrUndefined(t)) {
                            o.error("msg is null");
                            break
                        }
                        let n = [e].concat(t.args);
                        t.args = n, i.ipcRenderer.send(s.CommonIPCMessage.msgIPCSendToRenderer, {
                            msg: t,
                            senderInfo: this.currInfo
                        })
                    } while (0)
                }
            }

            e.RendererCommunicator = t, e.rendererCommunicator = new t
        }(t.CommonIPCRenderer || (t.CommonIPCRenderer = {}))
    }, 29: function (e, t) {
        e.exports = require("crypto")
    }, 3: function (e, t) {
        e.exports = require("electron")
    }, 30: function (e, t, n) {
        e.exports = n(9)(39)
    }, 31: function (e, t) {
        e.exports = require("url")
    }, 35: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
            let t;
            !function (e) {
                e[e.Default = 0] = "Default", e[e.Color = 1] = "Color", e[e.Wallpaper = 2] = "Wallpaper", e[e.Custom = 3] = "Custom"
            }(t = e.SkinType || (e.SkinType = {})), e.defaultSkinInfo = {type: t.Default, colorID: 0}
        }(t.SkinHelperNS || (t.SkinHelperNS = {}))
    }, 36: function (e, t, n) {
        "use strict";
        var i = n(11), r = n(109), o = {"Content-Type": "application/x-www-form-urlencoded"};

        function s(e, t) {
            !i.isUndefined(e) && i.isUndefined(e["Content-Type"]) && (e["Content-Type"] = t)
        }

        var a, l = {
            adapter: ("undefined" != typeof XMLHttpRequest ? a = n(110) : "undefined" != typeof process && (a = n(22)), a),
            transformRequest: [function (e, t) {
                return r(t, "Content-Type"), i.isFormData(e) || i.isArrayBuffer(e) || i.isBuffer(e) || i.isStream(e) || i.isFile(e) || i.isBlob(e) ? e : i.isArrayBufferView(e) ? e.buffer : i.isURLSearchParams(e) ? (s(t, "application/x-www-form-urlencoded;charset=utf-8"), e.toString()) : i.isObject(e) ? (s(t, "application/json;charset=utf-8"), JSON.stringify(e)) : e
            }],
            transformResponse: [function (e) {
                if ("string" == typeof e) try {
                    e = JSON.parse(e)
                } catch (e) {
                }
                return e
            }],
            timeout: 0,
            xsrfCookieName: "XSRF-TOKEN",
            xsrfHeaderName: "X-XSRF-TOKEN",
            maxContentLength: -1,
            validateStatus: function (e) {
                return e >= 200 && e < 300
            }
        };
        l.headers = {common: {Accept: "application/json, text/plain, */*"}}, i.forEach(["delete", "get", "head"], function (e) {
            l.headers[e] = {}
        }), i.forEach(["post", "put", "patch"], function (e) {
            l.headers[e] = i.merge(o)
        }), e.exports = l
    }, 37: function (e, t, n) {
        "use strict";
        var i = n(62);
        e.exports = function (e, t, n, r, o) {
            var s = new Error(e);
            return i(s, t, n, r, o)
        }
    }, 4: function (e, t, n) {
        e.exports = n(9)(186)
    }, 41: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(2), r = n(6), o = n(1), s = n(7).default(i.join(__rootDir, "../bin/ThunderHelper.node"));
        process.env.TL_ENABLE = "0", "console" === process.env.TL_OUTPUT ? o.default.outputLogger = o.outputLoggerConsole : o.default.outputLogger = function () {
            function e(e) {
                return function (...t) {
                    s.printEtwLog(e, function (...e) {
                        return e.map(e => r.inspect(e)).join(" ").replace(/%/g, "%%")
                    }(...t))
                }
            }

            return {
                [o.LogLevel.Critical]: e(o.LogLevel.Critical),
                [o.LogLevel.Error]: e(o.LogLevel.Error),
                [o.LogLevel.Warning]: e(o.LogLevel.Warning),
                [o.LogLevel.Information]: e(o.LogLevel.Information),
                [o.LogLevel.Verbose]: e(o.LogLevel.Verbose)
            }
        }()
    }, 42: function (e, t, n) {
        "use strict";
        var i = this && this.__awaiter || function (e, t, n, i) {
            return new (n || (n = Promise))(function (r, o) {
                function s(e) {
                    try {
                        l(i.next(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function a(e) {
                    try {
                        l(i.throw(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function l(e) {
                    e.done ? r(e.value) : new n(function (t) {
                        t(e.value)
                    }).then(s, a)
                }

                l((i = i.apply(e, t || [])).next())
            })
        };
        Object.defineProperty(t, "__esModule", {value: !0});
        const r = n(16), o = (n(17), n(2)), s = n(6);
        let a = null;
        const l = n(13), c = n(3), u = n(1), d = n(7), f = n(15), p = "xdas_profile_stat";
        let h = "", v = void 0, g = null, m = void 0, y = null,
            C = d.default(o.join(__rootDir, "../bin/ThunderHelper.node")), b = new Set;

        function w() {
            return i(this, void 0, void 0, function* () {
                return new Promise(e => i(this, void 0, void 0, function* () {
                    void 0 === m && (null === y && (y = new Promise(e => {
                        e(m = function (e) {
                            let t = "";
                            if (0 === e.length && "renderer" === process.type) {
                                let e = o.normalize(decodeURIComponent(window.location.href)),
                                    n = e.indexOf(process.resourcesPath);
                                n = n > -1 ? n + process.resourcesPath.length + 1 : n;
                                let i = e.length - 1, r = e.indexOf("?"), s = e.indexOf("#");
                                i = r > -1 ? Math.min(r - 1, i) : i, i = s > -1 ? Math.min(s - 1, i) : i, n > -1 && i >= n && (t = e.substr(n, i - n + 1))
                            }
                            return 0 === t.length && (t = 0 !== e.length ? e : process.type), t = t.replace(/\||,|;/g, "_")
                        }(""))
                    })), m = yield y), e(m)
                }))
            })
        }

        function S(e) {
            let t = "";
            do {
                if (null === e || void 0 === e) break;
                switch (typeof e) {
                    case"string":
                        t = e;
                        break;
                    case"object":
                        t = s.inspect(e) || "";
                        break;
                    case"number":
                    case"boolean":
                        t = e.toString() || ""
                }
            } while (0);
            return t
        }

        function x(e) {
            return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
        }

        function T(e) {
            return i(this, void 0, void 0, function* () {
                return new Promise(t => i(this, void 0, void 0, function* () {
                    let i = void 0;
                    null === a && (a = yield Promise.resolve().then(() => n(29)));
                    let r = a.createHash("md5");
                    null !== r && (i = r.update(e).digest("hex")), t(i)
                }))
            })
        }

        function P() {
            return new Promise(e => i(this, void 0, void 0, function* () {
                let t = "";
                t = void 0 === v ? "browser" === process.type ? function () {
                    if (void 0 === v) {
                        let e = process.argv.length, t = process.argv;
                        for (let n = 0; n < e; n++) {
                            let e = t[n];
                            if (e.startsWith("-StartType:")) {
                                v = e.substring("-StartType:".length);
                                break
                            }
                        }
                        void 0 === v && (v = "")
                    }
                    return v
                }() : yield function () {
                    return i(this, void 0, void 0, function* () {
                        return null === g && (g = new Promise(e => {
                            c.ipcRenderer.send(f.ThunderChannelList.channelRMGetBrowserStartType), c.ipcRenderer.once(f.ThunderChannelList.channelMRGetBrowserStartTypeResult, (t, n) => {
                                v = n, e(n), g = null
                            })
                        })), g
                    })
                }() : v, e(t)
            }))
        }

        function _(e, t, n, r) {
            return i(this, void 0, void 0, function* () {
                let o = S(t), s = S(n), a = yield T(s), c = function (e) {
                    let t = new RegExp(x("file:///"), "g"), n = new RegExp(x(process.resourcesPath + "\\"), "g"),
                        i = new RegExp(x(encodeURI(process.resourcesPath.replace(/\\/g, "/") + "/")), "g");
                    return e.replace(t, "").replace(n, "").replace(i, "")
                }(S(r)), u = yield T(c), d = `${e}:${a}:${u}`;
                b.has(d) || (b.add(d), l.XLStatNS.trackEvent(p, "uncaught_exception", "", 0, 0, 0, 0, `type=${e},business_name=${yield w()},code=${o},message_hash=${a},message=${encodeURI(s)},stack_hash=${u},stack=${encodeURI(c)}`)), function (e, t, n, r) {
                    return i(this, void 0, void 0, function* () {
                    })
                }().catch()
            })
        }

        function R(e) {
            console.error(e);
            let t = e || {};
            _("unhandledRejection", t.code, t instanceof Error ? t.message : t, t.stack).catch()
        }

        !function (e) {
            e.init = function (e) {
                h = e
            }, e.trackColdStartUpEvent = function (e) {
                return i(this, void 0, void 0, function* () {
                    let t = C.iSColdStartUp() ? 1 : 0, n = r.release(),
                        i = C.performanceMonitorReporter.getProcessUptime(), o = yield P(),
                        s = `key=${e},start_type=${o},cold_start_up=${t},os_version=${n},cost_time=${i}`;
                    l.XLStatNS.trackEvent(p, "cold_start_up", "", 0, 0, 0, 0, s)
                })
            }
        }(t.PerformanceMonitorStatNS || (t.PerformanceMonitorStatNS = {})), function () {
            if (process.on("uncaughtException", e => {
                console.error(e);
                let t = e || {};
                _("uncaughtException", t.code, t.message, t.stack).catch()
            }), "browser" === process.type) process.on("unhandledRejection", (e, t) => {
                R(e)
            }), c.ipcMain.on(f.ThunderChannelList.channelRMGetBrowserStartType, function (e) {
                return i(this, void 0, void 0, function* () {
                    let t = yield P();
                    e.sender.send(f.ThunderChannelList.channelMRGetBrowserStartTypeResult, t)
                })
            }); else if ("browser" !== process.type) {
                window.addEventListener("unhandledrejection", e => {
                    R(e && e.reason || {})
                });
                let e = c.remote.getCurrentWebContents();
                null !== e && void 0 !== e && e.once("did-finish-load", () => {
                    (function () {
                        return i(this, void 0, void 0, function* () {
                            do {
                                if ("browser" === process.type) break;
                                if (null === window.performance.timing || void 0 === window.performance.timing) break;
                                let e = C.iSColdStartUp() ? 1 : 0, t = r.release(), n = window.performance.timing,
                                    i = n.loadEventEnd - n.navigationStart, o = n.fetchStart - n.navigationStart,
                                    s = n.domainLookupEnd - n.domainLookupStart, a = n.connectEnd - n.connectStart,
                                    c = n.responseStart - n.requestStart, u = n.responseEnd - n.responseStart,
                                    d = n.domComplete - n.domLoading, f = yield P();
                                l.XLStatNS.trackEvent(p, "page_load_time", "", 0, 0, 0, 0, `start_type=${f},cold_start_up=${e},os_version=${t},load_time=${i},before_fetch_time=${o},domin_lookup_time=${s},connect_time=${a},first_response_time=${c},responseTime=${u},domTime=${d},process=${h}`)
                            } while (0)
                        })
                    })().catch()
                })
            }
            u.default.hook("beforeLog", (e, t, ...n) => {
                e === u.LogLevel.Critical && l.XLStatNS.trackEvent(p, "critical_error", "", 0, 0, 0, 0, `module_name=${t},messages=${n}`)
            })
        }()
    }, 43: function (e, t, n) {
        e.exports = n(9)(189)
    }, 44: function (e, t) {
        e.exports = require("net")
    }, 45: function (e, t, n) {
        "use strict";
        var i = this && this.__awaiter || function (e, t, n, i) {
            return new (n || (n = Promise))(function (r, o) {
                function s(e) {
                    try {
                        l(i.next(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function a(e) {
                    try {
                        l(i.throw(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function l(e) {
                    e.done ? r(e.value) : new n(function (t) {
                        t(e.value)
                    }).then(s, a)
                }

                l((i = i.apply(e, t || [])).next())
            })
        };
        Object.defineProperty(t, "__esModule", {value: !0});
        const r = n(3), o = n(10), s = n(5), a = n(2);
        !function (e) {
            function t(e, t) {
                if (null !== e) {
                    e.webContents.isDevToolsOpened() ? e.webContents.closeDevTools() : e.webContents.openDevTools(t)
                }
            }

            e.openDevTool = t, e.enableDevTools = function (e) {
                return i(this, void 0, void 0, function* () {
                    (yield o.FileSystemAWNS.existsAW(a.resolve(__rootDir, "../../enableDevTools"))) && window.addEventListener("keyup", n => {
                        "F12" === n.key && n.ctrlKey && t(r.remote.getCurrentWindow(), e)
                    }, !0)
                })
            }, e.enableDragOpenFile = function (e) {
                void 0 === e && (e = !1), document.addEventListener("dragover", e => {
                    e.preventDefault()
                }, !1), document.addEventListener("drop", e => i(this, void 0, void 0, function* () {
                    e.preventDefault();
                    let t = e.dataTransfer, n = t.files, i = t.items;
                    if (void 0 !== i && null !== i && i.length > 0) for (let e = 0; e < i.length; e++) {
                        let t = i[e];
                        "string" === t.kind && "text/uri-list" === t.type ? t.getAsString(e => {
                            s.NativeCallModule.nativeCall.CallNativeFunction("DropOpenUrl", e)
                        }) : t.kind
                    }
                    if (void 0 !== n && null !== n && n.length > 0) for (let e = 0; e < n.length; e++) {
                        let t = n[e].path;
                        void 0 !== t && null !== t && "" !== t && (yield o.FileSystemAWNS.existsAW(t)) && s.NativeCallModule.nativeCall.CallNativeFunction("DropOpenFile", t)
                    }
                }), !1)
            }
        }(t.ThunderToolsNS || (t.ThunderToolsNS = {}))
    }, 462: function (e, t, n) {
        "use strict";
        n.r(t);
        var i = n(463), r = n.n(i);
        for (var o in i) "default" !== o && function (e) {
            n.d(t, e, function () {
                return i[e]
            })
        }(o);
        t.default = r.a
    }, 463: function (e, t, n) {
        "use strict";
        var i = this && this.__decorate || function (e, t, n, i) {
            var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
            if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
            return o > 3 && s && Object.defineProperty(t, n, s), s
        }, r = this && this.__awaiter || function (e, t, n, i) {
            return new (n || (n = Promise))(function (r, o) {
                function s(e) {
                    try {
                        l(i.next(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function a(e) {
                    try {
                        l(i.throw(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function l(e) {
                    e.done ? r(e.value) : new n(function (t) {
                        t(e.value)
                    }).then(s, a)
                }

                l((i = i.apply(e, t || [])).next())
            })
        };
        Object.defineProperty(t, "__esModule", {value: !0});
        const o = n(4), s = n(3), a = n(1024), l = n(1027), c = n(5), u = n(1).default.getLogger("personalInfo");
        let d = class extends o.Vue {
            constructor() {
                super(...arguments), this.onLoginSucCookie = 0, this.onLogoutCookie = 0, this.curWnd = null, this.logined = -1, this.from = "", this.rectData = "", this.checkWndtimer = null, this.readyCloseTimer = null, this.isReadyColse = !1, this.menuSize = null
            }

            isPersonalInfoWndRect() {
                if (null === this.curWnd) return !1;
                let e = this.curWnd.getBounds(), t = s.screen.getCursorScreenPoint(), n = 0, i = 0;
                return this.menuSize && (n = this.menuSize.width || 0, i = this.menuSize.height || 0), t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height || t.x >= e.x + e.width && t.x <= e.x + e.width + n && t.y >= e.y && t.y <= e.y + i
            }

            isLoginInfoRect() {
                let e = !1;
                do {
                    if (null === this.curWnd || "" === this.rectData) break;
                    let t = s.screen.getCursorScreenPoint(), n = null;
                    try {
                        n = JSON.parse(this.rectData)
                    } catch (e) {
                        u.warning(e)
                    }
                    if (null === n) break;
                    let i = this.curWnd.getBounds(), r = i.x + 10, o = i.y - Number(n.height) - 5,
                        a = i.x + 10 + Number(n.width), l = i.y - 3;
                    u.information("isLoginInfoRect:", r, o, a, l, t.x, t.y), t.x >= r && t.x <= a && t.y >= o && t.y <= l && (e = !0)
                } while (0);
                return e
            }

            checkIsHideWnd() {
                let e = this.isPersonalInfoWndRect(), t = this.isLoginInfoRect();
                return !1 === e && !1 === t
            }

            closeWndAndClearData() {
                null !== this.checkWndtimer && (clearInterval(this.checkWndtimer), this.checkWndtimer = null), null !== this.readyCloseTimer && (clearTimeout(this.readyCloseTimer), this.readyCloseTimer = null), this.curWnd.close()
            }

            updateReadyCloseWndAndClearDataState(e) {
                this.isReadyColse = e, e ? null === this.readyCloseTimer && (this.readyCloseTimer = setTimeout(() => {
                    this.isReadyColse && this.closeWndAndClearData()
                }, 500)) : null !== this.readyCloseTimer && (clearTimeout(this.readyCloseTimer), this.readyCloseTimer = null)
            }

            hidePersonalInfoWnd() {
                this.checkIsHideWnd() ? this.updateReadyCloseWndAndClearDataState(!0) : (this.updateReadyCloseWndAndClearDataState(!1), null === this.checkWndtimer && (this.checkWndtimer = setInterval(() => {
                    this.checkIsHideWnd() ? this.updateReadyCloseWndAndClearDataState(!0) : this.updateReadyCloseWndAndClearDataState(!1)
                }, 200)))
            }

            setMenuShow(e, t) {
                this.menuSize = e ? t : null
            }

            handleInitReply(e, t, n) {
                u.information("personal-info-init-reply", t, n), this.rectData = n, this.from = t, this.hidePersonalInfoWnd()
            }

            mounted() {
                return r(this, void 0, void 0, function* () {
                    this.curWnd = s.remote.getCurrentWindow();
                    let e = this.curWnd.webContents.getURL(), t = e.indexOf("?logined="), n = e.substring(t + 9);
                    this.logined = Number(n), u.information("mounted", "url", e, "logined", this.logined), this.onLoginSucCookie = c.NativeCallModule.nativeCall.AttachNativeEvent("onLoginSuc", () => r(this, void 0, void 0, function* () {
                        u.information("收到 onLoginSuc 事件"), this.logined = 1
                    })), this.onLogoutCookie = c.NativeCallModule.nativeCall.AttachNativeEvent("onLogout", () => {
                        u.information("收到 onLogout 事件"), this.logined = 0
                    }), s.ipcRenderer.once("personal-info-init-reply", this.handleInitReply), s.ipcRenderer.send("personal-info-init")
                })
            }

            destroyed() {
                return r(this, void 0, void 0, function* () {
                    s.ipcRenderer.removeListener("personal-info-init-reply", this.handleInitReply), c.NativeCallModule.nativeCall.DetachNativeEvent("onLoginSuc", this.onLoginSucCookie), c.NativeCallModule.nativeCall.DetachNativeEvent("onLogout", this.onLogoutCookie)
                })
            }
        };
        d = i([o.Component({
            components: {
                PersonalInfoLogin: a.default,
                PersonalInfoUnlogin: l.default
            }
        })], d), t.default = d
    }, 464: function (e, t, n) {
        "use strict";
        n.r(t);
        var i = n(465), r = n.n(i);
        for (var o in i) "default" !== o && function (e) {
            n.d(t, e, function () {
                return i[e]
            })
        }(o);
        t.default = r.a
    }, 465: function (e, t, n) {
        "use strict";
        var i = this && this.__decorate || function (e, t, n, i) {
            var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
            if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
            return o > 3 && s && Object.defineProperty(t, n, s), s
        }, r = this && this.__awaiter || function (e, t, n, i) {
            return new (n || (n = Promise))(function (r, o) {
                function s(e) {
                    try {
                        l(i.next(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function a(e) {
                    try {
                        l(i.throw(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function l(e) {
                    e.done ? r(e.value) : new n(function (t) {
                        t(e.value)
                    }).then(s, a)
                }

                l((i = i.apply(e, t || [])).next())
            })
        };
        Object.defineProperty(t, "__esModule", {value: !0});
        const o = n(4);
        n(1168);
        const s = n(3), a = n(5), l = n(753), c = n(1025), u = n(12), d = n(14), f = n(754),
            p = n(1).default.getLogger("personalInfo:login");
        let {isDef: h} = u.ThunderUtil;
        const v = n(252), g = n(562), m = c.VipGrowNS.getMaxVipLevel(), y = n(53);
        o.Vue.use(g.default);
        let C = class extends o.Vue {
            constructor() {
                super(...arguments), this.curWnd = null, this.userID = "", this.userNick = "", this.vipType = 2, this.isVip = 0, this.isYear = 0, this.userLevel = 0, this.vipLevel = 0, this.curScore = 0, this.nextScore = 0, this.order = "0", this.imgUrl = v, this.checkMenutimer = null, this.yearIcon = "vip-icon-nian is-disabled", this.degreePointScore = [], this.contextMenu = null, this.onUserHeaderChangeCookie = 0, this.onGetUserInfoFinishedCookie = 0, this.vipGrow = 0, this.vipShowType = -1, this.vipDayGrow = 15, this.strAidfrom = "", this.vipData = null, this.isShowSign = !1, this.isOpenSign = !1, this.vipGrowRange = null, this.isShowUserLevel = void 0, this.isArrowPrevious = !1, this.vipSignCoin = 0, this.vipCardCount = 0, this.vipConfig = null, this.isTrackedShowWnd = !1
            }

            onFromChanged() {
                this.hanleTrackShowWnd()
            }

            get userYearIcon() {
                return 0 !== this.isYear && 0 !== this.isVip ? this.yearIcon = "vip-icon-nian" : this.yearIcon = "vip-icon-nian is-disabled", this.yearIcon
            }

            get guessMovieClass() {
                let e = "xlx-personal-activity__item";
                return this.isOpenSign && (e += "--disabled"), e
            }

            get strUserLevel() {
                let e = "0 级";
                return e = this.userLevel >= 99 ? "等级已满" : this.userLevel + " 级"
            }

            get strLevelupNum() {
                let e = 70;
                0 !== this.isVip && (e = this.getVipLevelDailyExp());
                let t = this.nextScore - this.curScore;
                return Math.ceil(t / e) + " 天"
            }

            get strVipGrowProgress() {
                let e = 0;
                try {
                    let t = this.vipGrowRange;
                    t && (e = (this.vipGrow - t[0]) / (t[1] - t[0]))
                } catch (e) {
                    p.warning("err", e)
                }
                return (100 * e).toFixed(2) + "%"
            }

            get strVipUpLevel() {
                let e = "";
                return e = this.vipLevel >= m ? "满级" : `VIP${this.vipLevel + 1}`
            }

            get strVipGrowDay() {
                let e = "开通会员加速提升成长值，";
                if (3 === this.vipGrowUpgradeType) if (this.vipLevel >= m) e = "当前等级已满级，"; else {
                    let t = 1759, n = this.vipGrowRange;
                    n && h(this.vipDayGrow) && this.vipDayGrow > 0 && (t = Math.ceil((n[1] - this.vipGrow) / this.vipDayGrow)), e = `距离升级VIP${this.vipLevel + 1}还有${t}天，`
                }
                return e
            }

            get vipGrowUpgradeType() {
                let e = 1;
                return 0 !== this.isVip ? e = 3 : this.vipGrow > 0 && (e = 2), e
            }

            get strVipGrowUpgrade() {
                let e = "去了解>";
                return 3 === this.vipGrowUpgradeType && (e = this.vipLevel >= m ? "去了解等级福利" : "去提升"), e
            }

            get strVipGrowPerDay() {
                let e = "";
				if (this.vipDayGrow == 0) {
					this.vipDayGrow = 999;
				}
                return e = 0 === this.isVip ? `成长值 -${this.vipDayGrow}点/天` : `成长值 +${this.vipDayGrow}点/天`
            }

            get isShowVipGrow() {
                return 0 !== this.isVip || 0 !== this.vipGrow
            }

            get strVipSignText() {
                let e = "签到";
                return h(this.vipConfig) && h(this.vipConfig.common) && h(this.vipConfig.common.text2) && "" !== this.vipConfig.common.text2 && (e = this.vipConfig.common.text2), e
            }

            get strVipCardText() {
                let e = void 0, t = void 0;
                if (h(this.vipConfig) && h(this.vipConfig.common) && h(this.vipConfig.common.text1) && "" !== this.vipConfig.common.text1) {
                    let n = this.vipConfig.common.text1;
                    [e, t] = n.split("|")
                }
                let n = "";
                return n = this.vipCardCount > 0 ? h(t) && t.search("%d") >= 0 ? t.replace("%d", this.vipCardCount.toString()) : `卡券${this.vipCardCount}张` : h(e) && "" !== e ? e : "卡券包"
            }

            get strVipBtnText() {
                let e = "开通下载会员";
                return h(this.vipConfig) && h(this.vipConfig.btn) && h(this.vipConfig.btn.btn_title) && "" !== this.vipConfig.btn.btn_title && (e = this.vipConfig.btn.btn_title), e
            }

            get strVipBtnTips() {
                let e = "";
                return h(this.vipConfig) && h(this.vipConfig.btn) && h(this.vipConfig.btn.tip) && "" !== this.vipConfig.btn.tip && (e = this.vipConfig.btn.tip), e
            }

            get strVipBtnLink() {
                let e = "https://pay.xunlei.com/pay.html?bizNo=baijin/?referfrom=v_pc_xlx_ggong_pay_hover&aidfrom=firstkt";
                return h(this.vipConfig) && h(this.vipConfig.btn) && h(this.vipConfig.btn.url) && "" !== this.vipConfig.btn.url && (e = this.vipConfig.btn.url), e
            }

            get isVipLinkDef() {
                return !!(h(this.vipConfig) && h(this.vipConfig.text) && h(this.vipConfig.text.text) && "" !== this.vipConfig.text.text && h(this.vipConfig.text.url) && "" !== this.vipConfig.text.url)
            }

            get strVipLinkText() {
                let e = "";
                return this.isVipLinkDef && (e = this.vipConfig.text.text), e
            }

            getVipLevelDailyExp() {
                let e = this.vipType, t = this.vipLevel, n = 70;
                return n = 3 === e || 4 === e ? t >= 1 && t <= 7 ? 100 + 10 * (t - 1) : 70 : t >= 1 && t <= 7 ? 80 + 10 * (t - 1) : 70
            }

            onClick(e) {
                p.information("onClick:", e);
                let t = void 0, n = null;
                switch (e) {
                    case"header":
                        return n = {from: "photo"}, this.stat(n), void this.openUserInfoPanel(e);
                    case"nick":
                        return void this.openUserInfoPanel(e);
                    case"nian":
                        n = {from: "nf"}, t = "https://vip.xunlei.com/vip_service/year/?referfrom=v_pc_xlx_ggong_hover_yearicon";
                        break;
                    case"vip":
                        t = 0 !== this.isVip ? "https://vip.xunlei.com/vip_service/rule/?referfrom=v_pc_xlx_ggong_hover_vipicon" : "https://pay.xunlei.com/pay.html?bizNo=baijin?referfrom=v_pc_xlx_ggong_hover_vipicon", n = {from: "vipicon"};
                        break;
                    case"level":
                        t = "http://i.xunlei.com/help/help_2.html?referfrom=v_pc_xlx_ggong_hover_grade", n = {from: "level1"};
                        break;
                    case"levelupNum":
                        t = "http://i.xunlei.com/help/help_2.html?referfrom=v_pc_xlx_ggong_hover_upgrade", n = {from: "level2"};
                        break;
                    case"order":
                        t = " http://dynamic.i.xunlei.com/rank?referfrom=v_pc_xlx_ggong_hover_ranking", n = {from: "level3"};
                        break;
                    case"vipGrow":
                        t = "https://vip.xunlei.com/vip_service/rule/?referfrom=v_pc_xlx_ggong_hover_grxx", n = 2 === this.vipGrowUpgradeType ? {from: "go_to_know"} : 3 === this.vipGrowUpgradeType ? {from: "go_up"} : {from: "open_growth_value"};
                        break;
                    case"quan":
                        t = h(this.vipConfig) && h(this.vipConfig.common) && h(this.vipConfig.common.url1) && "" !== this.vipConfig.common.url1 ? this.vipConfig.common.url1 : "https://vip.xunlei.com/vip_service/mycenter/vault_v2.html?referfrom=v_pc_xlx_ggong_h_yyicon", n = {
                            button: "quan",
                            value: this.vipCardCount
                        };
                        break;
                    case"sign":
                        t = h(this.vipConfig) && h(this.vipConfig.common) && h(this.vipConfig.common.url2) && "" !== this.vipConfig.common.url2 ? this.vipConfig.common.url2 : "https://vip.xunlei.com/vip_act/pc/welfare/?referfrom=v_pc_xlx_ggong_h_yyicon", n = {
                            button: "sign",
                            value: this.vipSignCoin
                        };
                        break;
                    case"cdd":
                        this.stat({button: "cdd"}), a.NativeCallModule.nativeCall.CallNativeFunction("ShowWebWnd", "sign", "hover"), null !== this.curWnd && this.curWnd.close();
                        break;
                    case"vipBtn":
                        t = this.strVipBtnLink, n = {button: "pay", show_type: this.getPayType()};
                        break;
                    case"vipLink":
                        this.isVipLinkDef && (t = this.vipConfig.text.url), n = {wzl_type: this.getWzlType()}
                }
                n && this.stat(n), t && a.NativeCallModule.nativeCall.CallNativeFunction("openNewTab", t, () => {
                    null !== this.curWnd && this.curWnd.close()
                })
            }

            calculateScoreInfo() {
                for (let e = 99; e >= 0; e--) if (this.curScore >= this.degreePointScore[e]) {
                    this.userLevel = e + 1;
                    break
                }
                this.nextScore = this.degreePointScore[this.userLevel]
            }

            initEveryLevelValue() {
                let e = 0;
                for (let t = 1; t <= 100; t++) e = 50 * t * (t + 3), this.degreePointScore.push(e)
            }

            menuItemClick(e) {
                let t = "";
                if ("changePassword" === e) {
                    let e = "https://i.xunlei.com/xluser/validate/enter/modifypwd_enter.html";
                    a.NativeCallModule.nativeCall.CallNativeFunction("openNewTab", e), t = "button=modify_code"
                } else if ("accountSecurity" === e) {
                    let e = "https://i.xunlei.com/xluser/account/acc_safe.html";
                    a.NativeCallModule.nativeCall.CallNativeFunction("openNewTab", e), t = "button=account_se"
                } else "switchAccount" === e ? (a.NativeCallModule.nativeCall.CallNativeFunction("NativeFireEvent", "onSwitchAccount"), t = "button=change_account") : "logout" === e && (a.NativeCallModule.nativeCall.CallNativeFunction("Logout", function (e) {
                    p.information(e)
                }), t = "button=exit");
                p.information("menuItemClick:extData = ", t), a.NativeCallModule.nativeCall.CallNativeFunction("TrackEvent", "clienttop", "userinfo_hover_click", "", 0, 0, 0, 0, t, () => {
                }), null !== this.curWnd && this.curWnd.close()
            }

            showMenu() {
                let e = [{
                    type: "normal", label: "切换帐号", click: () => {
                        this.menuItemClick("switchAccount")
                    }
                }, {
                    type: "normal", label: "退出登录", click: () => {
                        this.menuItemClick("logout")
                    }
                }];
                this.contextMenu = s.remote.Menu.buildFromTemplate(e);
                let t = this.curWnd, n = t.getBounds(), i = Math.round(n.width);
                this.$emit("set-menu-show", !0, {
                    width: 100,
                    height: 135
                }), y.MenuSkinNS.setStyle(this.contextMenu, {}), this.contextMenu.popup({
                    window: t,
                    x: i,
                    y: 0
                }), this.stat({from: "account_manage"})
            }

            isMenuWndRect() {
                let e = this.curWnd.getBounds(), t = s.screen.getCursorScreenPoint();
                return t.x >= e.x + e.width && t.x <= e.x + e.width + 100 && t.y >= e.y && t.y <= e.y + 135 || t.x >= e.x + e.width - 50 && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + 50
            }

            hideMenu() {
                null === this.checkMenutimer && (this.checkMenutimer = setInterval(() => {
                    !1 === this.isMenuWndRect() && (this.$emit("set-menu-show", !1), this.contextMenu.closePopup(this.curWnd), null !== this.checkMenutimer && (clearInterval(this.checkMenutimer), this.checkMenutimer = null))
                }, 200))
            }

            openUserInfoPanel(e) {
                this.statClient("userinfo_click"), a.NativeCallModule.nativeCall.CallNativeFunction("ShowModifierUserInfoWnd", e), null !== this.curWnd && this.curWnd.close()
            }

            arrowClick() {
                this.isArrowPrevious = !this.isArrowPrevious, h(this.isShowUserLevel) ? this.isShowUserLevel = !this.isShowUserLevel : this.isShowUserLevel = !1
            }

            getCurUserHeader() {
                this.imgUrl = v, p.information("getCurUserHeader:", this.userID), a.NativeCallModule.nativeCall.CallNativeFunction("GetUserHeaderByUserID", this.userID, (e, t) => {
                    p.information("GetUserHeaderByUserID:", t), null !== t && void 0 !== t && "" !== t && (this.imgUrl = `${t}?_=${Date.now()}`)
                })
            }

            hanleTrackShowWnd() {
                !this.isTrackedShowWnd && h(this.from) && h(this.vipConfig) && (this.isTrackedShowWnd = !0, this.trackShowWndEvent().catch())
            }

            trackShowWndEvent() {
                return r(this, void 0, void 0, function* () {
                    let e = "", t = "";
                    if ("head" === this.from ? t = "1" : "name" === this.from ? t = "2" : "vip" === this.from && (t = "3"), e = "from=" + t + ",is_vip=" + this.isVip + ",vip_type=" + this.vipType, this.isVipLinkDef) {
                        let t = this.getWzlType();
                        t && (e = e + ",wzl_type=" + t)
                    }
                    let n = 1;
                    if (this.isShowUserLevel || (n = 0 !== this.isVip ? 3 : 4), e = e + ",grxx_type=" + n, h(this.vipConfig) && h(this.vipConfig.btn)) {
                        let t = this.getPayType();
                        t && (e = e + ",pay_type=" + t)
                    }
                    let i = encodeURIComponent(e);
                    yield d.default("TrackEvent", "clienttop", "logged_hover_layer_show", "", 0, 0, 0, 0, i)
                })
            }

            getPayType() {
                let e = void 0;
                if (h(this.vipConfig) && h(this.vipConfig.btn)) switch (this.vipConfig.btn.type) {
                    case"neverusedvip":
                        e = "firstkt";
                        break;
                    case"usedtobevip":
                        e = "gqkt";
                        break;
                    case"autodeductvip":
                        e = "lxbyjl";
                        break;
                    case"notautodeductnormal":
                        e = "ktbj";
                        break;
                    case"notautodeductbaijin":
                        e = "xfbj";
                        break;
                    case"notautodeductsuper":
                        e = "xfch"
                }
                return e
            }

            getWzlType() {
                let e = void 0;
                if (h(this.vipConfig) && h(this.vipConfig.text)) {
                    switch (this.vipConfig.text.type) {
                        case"normalvip":
                            e = "putong";
                            break;
                        case"baijinvip":
                            e = "baijin";
                            break;
                        case"supervip":
                            e = "chaoji";
                            break;
                        case"expiredvip":
                            e = "expire";
                            break;
                        case"neverusedvipnogift":
                            e = "log_no_free";
                            break;
                        case"newuser":
                            e = "new"
                    }
                }
                return e
            }

            stat(e) {
                let t = "is_vip=" + this.isVip + ",vip_type=" + this.vipType;
                const n = e.from;
                n && (t = t + ",position=" + n), e.button && (t = t + ",button=" + e.button), e.value && (t = t + ",value=" + e.value), e.show_type && (t = t + ",show_type=" + e.show_type), e.wzl_type && (t = t + ",wzl_type=" + e.wzl_type);
                let i = "", r = "", o = -1, s = "";
                "grade" === n || "upgrade" === n || "ranking" === n || "coupon" === n || "my_page" === n || "vipicon" === n || "nf" === n ? (r = n, "my_page" === n ? r = "mypage" : "nf" === n && (r = "yearicon"), i = "v_pc_xlx_ggong_hover_" + r) : "pay" === n && (i = "v_pc_xlx_ggong_pay_hover"), "account_manage" !== n && (t = t + ",referfrom=" + i), "vipicon" !== n && "pay" !== n || (0 === this.isVip && 0 === this.vipGrow ? (o = 1, s = "ktnovip") : 0 === this.isVip && 0 !== this.vipGrow ? (o = 2, s = "ktnovip1") : -1 !== this.vipShowType && "vipicon" !== n && (o = this.vipShowType, s = this.strAidfrom), -1 !== o && (t = t + ",show_type=" + o), "" !== s && (t = t + ",aidfrom=" + s));
                let l = encodeURIComponent(t);
                p.information(t, l), a.NativeCallModule.nativeCall.CallNativeFunction("TrackEvent", "clienttop", "logged_hover_layer_click", "", 0, 0, 0, 0, l, () => {
                })
            }

            statClient(e) {
                let t = `is_login=1,is_vip=${this.isVip}`;
                p.information(e, t), a.NativeCallModule.nativeCall.CallNativeFunction("TrackEvent", "user_info", e, "", 0, 0, 0, 0, t, () => {
                })
            }

            updateUserData() {
                a.NativeCallModule.nativeCall.CallNativeFunction("GetAllUserInfo", (e, t) => {
                    p.information(e);
                    do {
                        if (null === t || void 0 === t) break;
                        if (this.userID = t.userID, this.userNick = t.nickName, this.getCurUserHeader(), null !== t.order && void 0 !== t.order && "" !== t.order && (this.order = t.order), this.curScore = t.account, this.calculateScoreInfo(), null === t.vipList || void 0 === t.vipList) break;
                        if (null === t.vipList[0] || void 0 === t.vipList[0]) break;
                        let e = t.vipList[0];
						if (e.isVip == 0) {
							e.vipLevel = 10;
							e.isVip = 1;
							e.isYear = 1;
							e.vasType = 5;
							}
						if (e.vipGrow == 0) {
							e.vipGrow = 999999;
							}						
                        this.vipData = [{
                            VIPLevel: e.vipLevel,
                            isVIP: e.isVip,
                            isYear: e.isYear,
                            uid: t.userID,
                            vasID: 2,
                            vasType: e.vasType
                        }], this.isYear = Number(e.isYear), this.isVip = Number(e.isVip), this.vipLevel = Number(e.vipLevel), this.vipType = Number(e.vasType);
                        let n = h(e.vipDayGrow) ? Number(e.vipDayGrow) : 15;
                        this.vipDayGrow = Math.abs(n), "" !== e.vipGrow && (this.vipGrow = Number(e.vipGrow)), this.vipGrowRange = c.VipGrowNS.getVipGrowRange(this.vipGrow), 0 !== this.isVip ? this.isShowUserLevel = !1 : l.VipUserInfoNS.getIsUsedToBeVip().then(e => {
                            this.isShowUserLevel = !e
                        })
                    } while (0)
                })
            }

            mounted() {
                return r(this, void 0, void 0, function* () {
                    a.NativeCallModule.nativeCall.CallNativeFunction("IsAlreadySign", (e, t) => {
                        p.information("IsAlreadySign: result = ", t, e), this.isOpenSign = t
                    }), a.NativeCallModule.nativeCall.CallNativeFunction("IsHaveSignQuestion", (e, t) => {
                        p.information("IsHaveSignQuestion: result = ", t, e), this.isShowSign = t
                    }), this.curWnd = s.remote.getCurrentWindow(), p.information("mounted:", this.curWnd), this.initEveryLevelValue(), yield this.updateUserData(), this.onGetUserInfoFinishedCookie = a.NativeCallModule.nativeCall.AttachNativeEvent("onGetUserInfoFinished", () => {
                        p.information("收到 onGetUserInfoFinished 事件"), this.updateUserData()
                    }), this.onUserHeaderChangeCookie = a.NativeCallModule.nativeCall.AttachNativeEvent("onUserHeaderChange", e => {
                        p.information("onUserHeaderChange:", e), this.imgUrl = e
                    }), null !== this.curWnd && this.curWnd.on("close", () => {
                        null !== this.contextMenu && this.contextMenu.closePopup(this.curWnd), null !== this.checkMenutimer && (clearInterval(this.checkMenutimer), this.checkMenutimer = null), a.NativeCallModule.nativeCall.DetachNativeEvent("onUserHeaderChange", this.onUserHeaderChangeCookie), a.NativeCallModule.nativeCall.DetachNativeEvent("onGetUserInfoFinished", this.onGetUserInfoFinishedCookie)
                    }), f.default.getLoginConfig().then(e => {
                        p.information("config", e), this.vipConfig = e, this.hanleTrackShowWnd()
                    }), l.VipUserInfoNS.getCardCount().then(e => {
                        this.vipCardCount = e
                    }), l.VipUserInfoNS.getSignCoin().then(e => {
                        this.vipSignCoin = e
                    })
                })
            }
        };
        i([o.Prop()], C.prototype, "from", void 0), i([o.Watch("from")], C.prototype, "onFromChanged", null), C = i([o.Component({components: {}})], C), t.default = C
    }, 466: function (e, t, n) {
        "use strict";
        n.r(t);
        var i = n(467), r = n.n(i);
        for (var o in i) "default" !== o && function (e) {
            n.d(t, e, function () {
                return i[e]
            })
        }(o);
        t.default = r.a
    }, 467: function (e, t, n) {
        "use strict";
        var i = this && this.__decorate || function (e, t, n, i) {
            var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
            if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
            return o > 3 && s && Object.defineProperty(t, n, s), s
        }, r = this && this.__awaiter || function (e, t, n, i) {
            return new (n || (n = Promise))(function (r, o) {
                function s(e) {
                    try {
                        l(i.next(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function a(e) {
                    try {
                        l(i.throw(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function l(e) {
                    e.done ? r(e.value) : new n(function (t) {
                        t(e.value)
                    }).then(s, a)
                }

                l((i = i.apply(e, t || [])).next())
            })
        };
        Object.defineProperty(t, "__esModule", {value: !0});
        const o = n(4), s = n(3), a = n(12), l = n(754), c = n(1), u = n(14),
            d = c.default.getLogger("personalInfo:unlogin");
        let {isDef: f} = a.ThunderUtil;
        const p = n(1028);
        let h = class extends o.Vue {
            constructor() {
                super(...arguments), this.curWnd = null, this.vipConfig = null, this.voucherUrl = "", this.detail = ""
            }

            get btnText() {
                let e = "立即登录领取";
                return f(this.vipConfig) && f(this.vipConfig.btn_text) && "" !== this.vipConfig.btn_text && (e = this.vipConfig.btn_text), e
            }

            get btnUrl() {
                let e = "https://act-vip-ssl.xunlei.com/pc/vip/2018/vip2018xsrw/?referfrom=v_pc_xlx_ggong_hover_nolog";
                return f(this.vipConfig) && f(this.vipConfig.btn_url) && "" !== this.vipConfig.btn_url && (e = this.vipConfig.btn_url), e
            }

            useDefaultImg() {
                this.voucherUrl = p
            }

            onBtnClick() {
                return r(this, void 0, void 0, function* () {
                    do {
                        let e = yield u.default("GetLoginOption");
                        if (f(e)) try {
                            let t = JSON.parse(e);
                            if (f(t) && f(t.priority) && t.priority > 0) {
                                u.default("openNewTab", this.btnUrl);
                                break
                            }
                        } catch (e) {
                            d.warning(e)
                        }
                        e = JSON.stringify({tabUrl: this.btnUrl}), u.default("ShowLoginDlg", "vip", !0, e)
                    } while (0);
                    u.default("TrackEvent", "clienttop", "nolog_hover_layer_click", "", 0, 0, 0, 0, ""), null !== this.curWnd && this.curWnd.close()
                })
            }

            trackShowWndEvent() {
                return r(this, void 0, void 0, function* () {
                    yield u.default("TrackEvent", "clienttop", "nolog_hover_layer_show", "", 0, 0, 0, 0, "")
                })
            }

            mounted() {
                return r(this, void 0, void 0, function* () {
                    this.curWnd = s.remote.getCurrentWindow(), (yield u.default("IsLogined")) || l.default.getUnloginConfig().then(e => r(this, void 0, void 0, function* () {
                        d.information("config", e), this.vipConfig = e, f(e) && f(e.img) && "" !== e.img && (this.voucherUrl = e.img), f(e) && f(e.detail) && "" !== e.detail ? this.detail = e.detail : this.detail = "无门槛领金币 免费换会员", yield this.trackShowWndEvent()
                    }))
                })
            }
        };
        h = i([o.Component({components: {}})], h), t.default = h
    }, 47: function (e, t) {
        e.exports = require("http")
    }, 5: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(6), r = n(18), o = n(19), s = n(26), a = n(27);
        !function (e) {
            let t;
            !function (e) {
                e[e.Unknown = -1] = "Unknown", e[e.Success = 0] = "Success", e[e.FunctionNotExist = 1] = "FunctionNotExist", e[e.ParamaterError = 2] = "ParamaterError", e[e.CallFailed = 3] = "CallFailed"
            }(t = e.NativeCallErrorCode || (e.NativeCallErrorCode = {}));

            class n {
                constructor(e, t, n) {
                    this.maxId = e, this.minId = t, this.invalidId = n
                }

                generateId() {
                    return this.minId === this.maxId ? this.invalidId : this.minId++
                }

                isInvalidId(e) {
                    return e === this.invalidId
                }
            }

            e.IdGenerator = n;
            const l = 0;
            e.idGenerator = new n(1e7, 1, l);

            class c {
                constructor() {
                    this.jsCallbacks = new Map, this.eventJsCallbakcs = new Map, this.jsRegisterFunctions = new Map, this.targetCommunitorInfo = a.CommonIPCRenderer.rendererCommunicator.getCommunicatorInfoByContext(s.CommonIPCBase.mainRendererContext), this.bindMsgListeners(), this.notifyNativeCallReady()
                }

                CallNativeFunction(t, ...n) {
                    do {
                        if (i.isNullOrUndefined(t) || 0 === t.length) {
                            r.error("funcName is empty");
                            break
                        }
                        r.information("funcName = ", t), this.printArgs(n);
                        let s = l;
                        for (let t = 0; t < n.length; ++t) if (i.isFunction(n[t])) {
                            let i = e.idGenerator.generateId(), r = n[t];
                            this.jsCallbacks.set(i, r), t === n.length - 1 ? (s = i, n.pop()) : n[t] = i
                        }
                        a.CommonIPCRenderer.rendererCommunicator.sendMessageToRenderer(this.targetCommunitorInfo.id, {
                            name: o.CommonIPCMessage.msgNCCallNativeFunction,
                            args: [t, s].concat(n)
                        })
                    } while (0)
                }

                AttachNativeEvent(t, n) {
                    let o = void 0;
                    do {
                        if (i.isNullOrUndefined(t) || 0 === t.length) {
                            r.error("eventName is empty");
                            break
                        }
                        if (i.isNullOrUndefined(n)) {
                            r.error("callback is empty");
                            break
                        }
                        let s = e.idGenerator.generateId();
                        if (e.idGenerator.isInvalidId(s)) {
                            r.error("id error");
                            break
                        }
                        if (this.eventJsCallbakcs.has(t)) this.eventJsCallbakcs.get(t).set(s, n); else {
                            let e = new Map;
                            e.set(s, n), this.eventJsCallbakcs.set(t, e)
                        }
                        o = s
                    } while (0);
                    return o
                }

                DetachNativeEvent(e, t) {
                    do {
                        if (i.isNullOrUndefined(e) || 0 === e.length) {
                            r.error("eventName is empty");
                            break
                        }
                        if (i.isNullOrUndefined(t)) {
                            r.error("callback is empty");
                            break
                        }
                        if (!this.eventJsCallbakcs.has(e)) {
                            r.error(`event: ${e} doesnot have listener`);
                            break
                        }
                        if (!this.eventJsCallbakcs.get(e).has(t)) {
                            r.error(`event: ${e} doesnot have the listener of id=${t}`);
                            break
                        }
                        this.eventJsCallbakcs.get(e).delete(t)
                    } while (0)
                }

                CheckNativeFunction(t, n) {
                    do {
                        if (i.isNullOrUndefined(t) || 0 === t.length) {
                            r.error("funcName is empty");
                            break
                        }
                        if (i.isNullOrUndefined(n)) {
                            r.error("callback is empty");
                            break
                        }
                        r.information("funcName = ", t);
                        let s = e.idGenerator.generateId();
                        this.jsCallbacks.set(s, n), a.CommonIPCRenderer.rendererCommunicator.sendMessageToRenderer(this.targetCommunitorInfo.id, {
                            name: o.CommonIPCMessage.msgNCCheckNativeFunction,
                            args: [t, s]
                        })
                    } while (0)
                }

                RegisterJSFunction(e, n) {
                    let o = t.ParamaterError;
                    do {
                        if (i.isNullOrUndefined(e) || 0 === e.length) {
                            r.error("funcName is empty");
                            break
                        }
                        if (i.isNullOrUndefined(n)) {
                            r.error("jsFunc is empty");
                            break
                        }
                        this.jsRegisterFunctions.set(e, n), o = t.Success
                    } while (0);
                    return o
                }

                bindMsgListeners() {
                    a.CommonIPCRenderer.rendererCommunicator.onMessage(o.CommonIPCMessage.msgNCCallJsFunctionById, e => {
                        this.handleCallJsFunctionById(e.msg.args)
                    }), a.CommonIPCRenderer.rendererCommunicator.onMessage(o.CommonIPCMessage.msgNCCallJsFunctionByName, e => {
                        this.handleCallJsFunctionByName(e.msg.args)
                    }), a.CommonIPCRenderer.rendererCommunicator.onMessage(o.CommonIPCMessage.msgNCNativeFireEvent, e => {
                        this.handleNativeFireEvent(e.msg.args)
                    })
                }

                handleCallJsFunctionById(t) {
                    do {
                        let n = t[0];
                        if (!i.isNumber(n)) {
                            r.error(`id error id = ${n}`);
                            break
                        }
                        if (e.idGenerator.isInvalidId(n)) {
                            r.error(`id = ${n} invalid`);
                            break
                        }
                        if (!this.jsCallbacks.has(n)) {
                            r.error(`jsCallbacks[${n}] is null`);
                            break
                        }
                        t.splice(0, 1), this.jsCallbacks.get(n).apply(null, t)
                    } while (0)
                }

                handleCallJsFunctionByName(e) {
                    do {
                        let t = e[0];
                        if (!i.isString(t)) {
                            r.error(`funcName error funcName = ${t}`);
                            break
                        }
                        if (!this.jsRegisterFunctions.has(t)) {
                            r.error(`jsRegisterFunctions[${t}] is null`);
                            break
                        }
                        e.splice(0, 1), this.jsRegisterFunctions.get(t).apply(null, e)
                    } while (0)
                }

                handleNativeFireEvent(e) {
                    do {
                        let t = e[0];
                        if (!i.isString(t)) {
                            r.warning(`eventName error eventName = ${t}`);
                            break
                        }
                        if (!this.eventJsCallbakcs.has(t)) {
                            r.warning(`eventJsCallbakcs[${t}] is null`);
                            break
                        }
                        e.shift(), this.eventJsCallbakcs.get(t).forEach((t, n, o) => {
                            r.information(`value = ${t}, key = ${n}, map = ${o}`), i.isNullOrUndefined(t) || t.apply(null, e)
                        })
                    } while (0)
                }

                notifyNativeCallReady() {
                    a.CommonIPCRenderer.rendererCommunicator.sendMessageToRenderer(this.targetCommunitorInfo.id, {
                        name: o.CommonIPCMessage.msgNCNativeCallReady,
                        args: [a.CommonIPCRenderer.rendererCommunicator.getCommunicatorInfo()]
                    })
                }

                printArgs(e) {
                    for (let t in e) r.information(`index ${t} = `, e[t])
                }
            }

            e.NativeCallImpl = c, e.nativeCall = new c
        }(t.NativeCallModule || (t.NativeCallModule = {}))
    }, 50: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(14), r = n(5), o = n(35), s = n(1), a = n(12), l = s.default.getLogger("common/skin");

        function c(e) {
            if (e.type === o.SkinHelperNS.SkinType.Default) document.body.classList.remove("is-theme"), a.ThunderUtil.setCSSProperties(document.body, {
                "--color-primary-theme": "",
                "--color-primary-control-1": "",
                "--color-primary-control-2": "",
                "--color-primary-control-3": "",
                "--color-primary-control-4": "",
                "--color-primary-gradient-1": "",
                "--color-primary-gradient-2": "",
                "--color-primary-text": "",
                "--color-search": "",
                "--color-secondary": "",
                "--color-gradient-background-1": "",
                "--color-gradient-background-2": "",
                "--color-gradient-foreground-1": "",
                "--color-gradient-foreground-2": "",
                "--color-accordion-1": "",
                "--color-accordion-2": "",
                "--default-opacity-1": "",
                "--default-opacity-2": ""
            }); else if (e.type === o.SkinHelperNS.SkinType.Color || e.type === o.SkinHelperNS.SkinType.Wallpaper) {
                document.body.classList.add("is-theme");
                let {colors: {colorPrimary: t, colorPrimaryControl1: n, colorPrimaryControl2: i, colorPrimaryControl3: r, colorPrimaryControl4: o, colorPrimaryGradient: s, colorPrimaryText: l, colorSearch: c, colorSecondary: u, colorGradientBackground: d, colorGradientForeground: f, colorAccordion: p}, opacity: h} = e;
                a.ThunderUtil.setCSSProperties(document.body, {
                    "--color-primary-theme": `${t}`,
                    "--color-primary-control-1": `${n}`,
                    "--color-primary-control-2": `${i}`,
                    "--color-primary-control-3": `${r}`,
                    "--color-primary-control-4": `${o}`,
                    "--color-primary-gradient-1": `${s[0]}`,
                    "--color-primary-gradient-2": `${s[1]}`,
                    "--color-primary-text": `${l}`,
                    "--color-search": `${c}`,
                    "--color-secondary": `${u}`,
                    "--color-gradient-background-1": `${d[0]}`,
                    "--color-gradient-background-2": `${d[1]}`,
                    "--color-gradient-foreground-1": `${f[0]}`,
                    "--color-gradient-foreground-2": `${f[1]}`,
                    "--color-accordion-1": `${p[0]}`,
                    "--color-accordion-2": `${p[1]}`,
                    "--default-opacity-1": `${h - .1}`,
                    "--default-opacity-2": `${h + .1}`
                })
            }
        }

        i.default("GetSkinInfo").then(c).catch(e => {
            l.warning(e)
        }), r.NativeCallModule.nativeCall.AttachNativeEvent("OnChangeSkin", c)
    }, 53: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(3), r = n(70), o = n(1), s = n(12), a = n(71), l = o.default.getLogger("MenuSkinNS");
        !function (e) {
            function t(e, t) {
                if (l.information("setStyle", e, t), null !== e) {
                    let n = {windowPreference: r.WindowPreferenceNS.getWindowPreference()};
                    l.information("skinOpts", n), e.setStyle(a(n, t))
                }
            }

            e.setStyle = t, e.popEditableDefaultContextMenu = function (e, n, r) {
                let o = i.remote.getCurrentWebContents();
                o.once("context-menu", (r, a) => {
                    if (l.verbose(r), a.isEditable) {
                        let r = [{
                            label: "撤销", enabled: a.editFlags.canUndo, click: () => {
                                o.undo()
                            }
                        }, {type: "separator"}, {
                            label: "剪切", enabled: a.editFlags.canCut, click: () => {
                                o.cut()
                            }
                        }, {
                            label: "复制", enabled: a.editFlags.canCopy, click: () => {
                                o.copy()
                            }
                        }, {
                            label: "粘贴",
                            enabled: a.editFlags.canPaste && s.ThunderUtil.isClipboardTextFormatAvailable(),
                            click: () => {
                                o.paste()
                            }
                        }, {
                            label: "删除", enabled: a.editFlags.canDelete, click: () => {
                                o.delete()
                            }
                        }, {type: "separator"}, {
                            label: "全选", enabled: a.editFlags.canSelectAll, click: () => {
                                o.selectAll()
                            }
                        }];
                        if (void 0 !== e && "function" == typeof e) {
                            let t = e(a);
                            void 0 !== t && t.length > 0 && (void 0 === n ? n = r.length : (n < 0 && (n = r.length + 1 + n) < 0 && (n = 0), n > r.length && (n = r.length)), r.splice(n, 0, ...t))
                        }
                        let l = i.remote.Menu.buildFromTemplate(r);
                        t(l, {}), l.popup({window: i.remote.getCurrentWindow()})
                    }
                })
            }
        }(t.MenuSkinNS || (t.MenuSkinNS = {}))
    }, 55: function (e, t) {
        e.exports = require("zlib")
    }, 562: function (e, t, n) {
        var i;
        i = function () {
            return function (e) {
                var t = {};

                function n(i) {
                    if (t[i]) return t[i].exports;
                    var r = t[i] = {i, l: !1, exports: {}};
                    return e[i].call(r.exports, r, r.exports, n), r.l = !0, r.exports
                }

                return n.m = e, n.c = t, n.i = function (e) {
                    return e
                }, n.d = function (e, t, i) {
                    n.o(e, t) || Object.defineProperty(e, t, {configurable: !1, enumerable: !0, get: i})
                }, n.n = function (e) {
                    var t = e && e.__esModule ? function () {
                        return e.default
                    } : function () {
                        return e
                    };
                    return n.d(t, "a", t), t
                }, n.o = function (e, t) {
                    return Object.prototype.hasOwnProperty.call(e, t)
                }, n.p = "", n(n.s = 3)
            }([function (e, t, n) {
                "use strict";
                t.a = function () {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], t = "", n = "";
                    if (!e || 0 === e.length) return {isVip: !1};
                    var i = e.filter(function (e) {
                        return e && 2 === (e.vasId || e.vasID)
                    })[0];
                    if (n = i.vIPLevel || i.VIPLevel || 0, i) {
                        var r = {2: "", 3: "p", 5: "s"}[i.vasType] || "";
                        return t = "vip-icon-" + r + "vip" + n, {
                            isVip: "1" === i.isVIP,
                            isStop: "2" === i.isVIP,
                            isYear: "1" === i.isYear,
                            type: i.vasType,
                            level: n,
                            vipClass: t
                        }
                    }
                    return {isVip: !1}
                }
            }, function (e, t, n) {
                "use strict";
                var i = n(4), r = n.n(i);
                r.a.install = function (e) {
                    e.component(r.a.name, r.a)
                }, t.a = r.a
            }, function (e, t, n) {
                "use strict";
                Object.defineProperty(t, "__esModule", {value: !0});
                var i = n(0);
                t.default = {
                    name: "vip-icon",
                    props: {
                        vipData: {type: Array, required: !0},
                        size: {type: String, default: "normal"},
                        disabled: {type: Boolean, default: !1}
                    },
                    computed: {
                        vipInfo: function () {
                            return n.i(i.a)(this.vipData)
                        }, vipClass: function () {
                            var e = this.vipInfo.vipClass;
                            return "small" === this.size && (e += " is-small"), (this.vipInfo.isStop || "0" === this.vipInfo.level || this.disabled) && (e += " is-disabled"), e
                        }
                    }
                }
            }, function (e, t, n) {
                "use strict";
                Object.defineProperty(t, "__esModule", {value: !0});
                var i = n(1), r = n(0);
                n.d(t, "vipInfo", function () {
                    return r.a
                });
                /**
                 * vip
                 * (c) 2018 shijianan
                 * @license MIT
                 */
                var o = {
                    install: function (e, t) {
                        e.use(i.a), e.prototype.$vipInfo = function (e) {
                            return n.i(r.a)(e)
                        }
                    }
                };
                t.default = o
            }, function (e, t, n) {
                var i = n(5)(n(2), n(6), null, null, null);
                i.options.__file = "/Users/nancy/Desktop/work/@xunlei/vip/src/vip-icon/VipIcon.vue", i.esModule && Object.keys(i.esModule).some(function (e) {
                    return "default" !== e && "__" !== e.substr(0, 2)
                }) && console.error("named exports are not supported in *.vue files."), i.options.functional && console.error("[vue-loader] VipIcon.vue: functional components are not supported with templates, they should use render functions."), e.exports = i.exports
            }, function (e, t) {
                e.exports = function (e, t, n, i, r) {
                    var o, s = e = e || {}, a = typeof e.default;
                    "object" !== a && "function" !== a || (o = e, s = e.default);
                    var l, c = "function" == typeof s ? s.options : s;
                    if (t && (c.render = t.render, c.staticRenderFns = t.staticRenderFns), i && (c._scopeId = i), r ? (l = function (e) {
                        (e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), n && n.call(this, e), e && e._registeredComponents && e._registeredComponents.add(r)
                    }, c._ssrRegister = l) : n && (l = n), l) {
                        var u = c.functional, d = u ? c.render : c.beforeCreate;
                        u ? c.render = function (e, t) {
                            return l.call(t), d(e, t)
                        } : c.beforeCreate = d ? [].concat(d, l) : [l]
                    }
                    return {esModule: o, exports: s, options: c}
                }
            }, function (e, t, n) {
                e.exports = {
                    render: function () {
                        var e = this.$createElement;
                        return (this._self._c || e)("i", {class: this.vipClass})
                    }, staticRenderFns: []
                }, e.exports.render._withStripped = !0
            }])
        }, e.exports = i()
    }, 59: function (e, t) {
        e.exports = require("events")
    }, 6: function (e, t) {
        e.exports = require("util")
    }, 60: function (e, t, n) {
        "use strict";
        e.exports = function (e, t) {
            return function () {
                for (var n = new Array(arguments.length), i = 0; i < n.length; i++) n[i] = arguments[i];
                return e.apply(t, n)
            }
        }
    }, 61: function (e, t, n) {
        "use strict";
        var i = n(37);
        e.exports = function (e, t, n) {
            var r = n.config.validateStatus;
            n.status && r && !r(n.status) ? t(i("Request failed with status code " + n.status, n.config, null, n.request, n)) : e(n)
        }
    }, 62: function (e, t, n) {
        "use strict";
        e.exports = function (e, t, n, i, r) {
            return e.config = t, n && (e.code = n), e.request = i, e.response = r, e
        }
    }, 621: function (e, t, n) {
        "use strict";
        var i = function () {
            var e = this.$createElement, t = this._self._c || e;
            return 1 === this.logined ? t("personal-info-login", {
                attrs: {from: this.from},
                on: {"set-menu-show": this.setMenuShow}
            }) : 0 === this.logined ? t("personal-info-unlogin") : this._e()
        }, r = [];
        i._withStripped = !0, n.d(t, "a", function () {
            return i
        }), n.d(t, "b", function () {
            return r
        })
    }, 63: function (e, t, n) {
        "use strict";
        var i = n(11);

        function r(e) {
            return encodeURIComponent(e).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]")
        }

        e.exports = function (e, t, n) {
            if (!t) return e;
            var o;
            if (n) o = n(t); else if (i.isURLSearchParams(t)) o = t.toString(); else {
                var s = [];
                i.forEach(t, function (e, t) {
                    null !== e && void 0 !== e && (i.isArray(e) ? t += "[]" : e = [e], i.forEach(e, function (e) {
                        i.isDate(e) ? e = e.toISOString() : i.isObject(e) && (e = JSON.stringify(e)), s.push(r(t) + "=" + r(e))
                    }))
                }), o = s.join("&")
            }
            return o && (e += (-1 === e.indexOf("?") ? "?" : "&") + o), e
        }
    }, 64: function (e, t) {
        e.exports = require("https")
    }, 642: function (e, t, n) {
        "use strict";
        var i = function () {
            var e = this, t = e.$createElement, n = e._self._c || t;
            return n("div", {staticClass: "xlx-personal-main"}, [n("div", {staticClass: "xlx-personal-vip"}, [n("div", {staticClass: "xlx-personal-vip__activity"}, [n("img", {
                attrs: {src: e.voucherUrl},
                on: {error: e.useDefaultImg}
            }), e._v(" ")]), e._v(" "), n("a", {
                staticClass: "xlx-personal-vip__button",
                attrs: {href: "javascript:;"},
                on: {click: e.onBtnClick}
            }, [e._v(e._s(e.btnText))]), e._v(" "), e._m(0)])])
        }, r = [function () {
            var e = this, t = e.$createElement, n = e._self._c || t;
            return n("div", {staticClass: "xlx-personal-vip__privilege"}, [n("h4", [e._v("超级会员特权")]), e._v(" "), n("ul", [n("li", [n("i", {staticClass: "icon icon-download"}), e._v(" "), n("p", [e._v("下载加速")])]), e._v(" "), n("li", [n("i", {staticClass: "icon icon-offline"}), e._v(" "), n("p", [e._v("离线空间")])]), e._v(" "), n("li", [n("i", {staticClass: "icon icon-broadband"}), e._v(" "), n("p", [e._v("宽带提速")])])])])
        }];
        i._withStripped = !0, n.d(t, "a", function () {
            return i
        }), n.d(t, "b", function () {
            return r
        })
    }, 644: function (e, t, n) {
        "use strict";
        var i = function () {
            var e = this, t = e.$createElement, n = e._self._c || t;
            return n("div", {staticClass: "xlx-personal-main"}, [n("div", {staticClass: "xlx-personal-menu"}, [n("a", {
                staticClass: "xlx-personal-icon xlx-personal-icon__menu",
                attrs: {href: "javascript:;"},
                on: {click: e.showMenu, mouseenter: e.showMenu, mouseleave: e.hideMenu}
            })]), e._v(" "), n("div", {staticClass: "xlx-personal-information"}, [n("div", {staticClass: "xlx-personal-information__avatar"}, [n("a", {
                attrs: {href: "javascript:;"},
                on: {
                    click: function (t) {
                        e.onClick("header")
                    }
                }
            }, [n("img", {
                attrs: {
                    src: e.imgUrl,
                    alt: "用户头像",
                    draggable: "false"
                }
            })])]), e._v(" "), n("div", {
                staticClass: "xlx-personal-information__name",
                class: {"is-vip ": e.isVip}
            }, [n("h4", [n("a", {
                attrs: {href: "javascript:;", title: e.userNick}, on: {
                    click: function (t) {
                        e.onClick("nick")
                    }
                }
            }, [e._v(e._s(e.userNick))])]), e._v(" "), e.vipData ? n("vip-icon", {
                staticStyle: {cursor: "pointer"},
                attrs: {vipData: e.vipData, size: "normal", disabled: 0 === e.isVip},
                nativeOn: {
                    click: function (t) {
                        e.onClick("vip")
                    }
                }
            }) : e._e(), e._v(" "), n("a", {
                class: e.userYearIcon,
                attrs: {href: "javascript:;"},
                on: {
                    click: function (t) {
                        e.onClick("nian")
                    }
                }
            })], 1)]), e._v(" "), n("div", {staticClass: "xlx-personal-data"}, [!0 === e.isShowUserLevel ? n("div", {staticClass: "xlx-personal-data__detail"}, [n("a", {
                attrs: {href: "#"},
                on: {
                    click: function (t) {
                        e.onClick("level")
                    }
                }
            }, [n("em", [e._v(e._s(e.strUserLevel))]), e._v("账号等级\n      ")]), e._v(" "), n("a", {
                attrs: {href: "#"},
                on: {
                    click: function (t) {
                        e.onClick("levelupNum")
                    }
                }
            }, [n("em", [e._v(e._s(e.strLevelupNum))]), e._v("升级天数\n      ")]), e._v(" "), n("a", {
                attrs: {href: "#"},
                on: {
                    click: function (t) {
                        e.onClick("order")
                    }
                }
            }, [n("em", [e._v(e._s(e.order))]), e._v("全球排名\n      ")])]) : !1 === e.isShowUserLevel ? n("div", {staticClass: "xlx-personal-data__growth"}, [n("div", {staticClass: "xlx-personal-data__panel"}, [n("p", [e._v("VIP" + e._s(e.vipLevel))]), e._v(" "), n("div", {staticClass: "xlx-personal-data__bar"}, [n("em", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: e.isShowVipGrow,
                    expression: "isShowVipGrow"
                }]
            }, [e._v(e._s(e.vipGrow))]), e._v(" "), n("span", [n("i", {style: {width: e.strVipGrowProgress}})]), e._v(" "), e.isShowVipGrow ? n("p", [e._v(e._s(e.strVipGrowPerDay))]) : n("a", {
                attrs: {href: "javascript:;"},
                on: {
                    click: function (t) {
                        e.onClick("vipGrow")
                    }
                }
            })]), e._v(" "), n("p", [e._v(e._s(e.strVipUpLevel))])]), e._v(" "), n("p", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: 1 !== e.vipGrowUpgradeType,
                    expression: "vipGrowUpgradeType !== 1"
                }], staticClass: "xlx-personal-data__tips"
            }, [n("span", [e._v(e._s(e.strVipGrowDay))]), e._v(" "), n("a", {
                attrs: {href: "#"},
                on: {
                    click: function (t) {
                        e.onClick("vipGrow")
                    }
                }
            })])]) : e._e(), e._v(" "), e.isArrowPrevious ? n("a", {
                staticClass: "xlx-personal-data__arrow xlx-personal-data__arrow--previous",
                attrs: {href: "javascript:;"},
                on: {click: e.arrowClick}
            }) : n("a", {
                staticClass: "xlx-personal-data__arrow xlx-personal-data__arrow--next",
                attrs: {href: "javascript:;"},
                on: {click: e.arrowClick}
            })]), e._v(" ")])
        }, r = [];
        i._withStripped = !0, n.d(t, "a", function () {
            return i
        }), n.d(t, "b", function () {
            return r
        })
    }, 65: function (e, t, n) {
        var i = n(31), r = n(47), o = n(64), s = n(91), a = n(81).Writable, l = n(115)("follow-redirects"),
            c = {GET: !0, HEAD: !0, OPTIONS: !0, TRACE: !0}, u = Object.create(null);

        function d(e, t) {
            a.call(this), e.headers = e.headers || {}, this._options = e, this._redirectCount = 0, this._requestBodyLength = 0, this._requestBodyBuffers = [], t && this.on("response", t);
            var n = this;
            if (this._onNativeResponse = function (e) {
                n._processResponse(e)
            }, !e.pathname && e.path) {
                var i = e.path.indexOf("?");
                i < 0 ? e.pathname = e.path : (e.pathname = e.path.substring(0, i), e.search = e.path.substring(i))
            }
            this._performRequest()
        }

        function f(e) {
            var t = {maxRedirects: 21, maxBodyLength: 10485760}, n = {};
            return Object.keys(e).forEach(function (r) {
                var o = r + ":", a = n[o] = e[r], c = t[r] = Object.create(a);
                c.request = function (e, r) {
                    return "string" == typeof e ? (e = i.parse(e)).maxRedirects = t.maxRedirects : e = Object.assign({
                        protocol: o,
                        maxRedirects: t.maxRedirects,
                        maxBodyLength: t.maxBodyLength
                    }, e), e.nativeProtocols = n, s.equal(e.protocol, o, "protocol mismatch"), l("options", e), new d(e, r)
                }, c.get = function (e, t) {
                    var n = c.request(e, t);
                    return n.end(), n
                }
            }), t
        }

        ["abort", "aborted", "error", "socket", "timeout"].forEach(function (e) {
            u[e] = function (t) {
                this._redirectable.emit(e, t)
            }
        }), d.prototype = Object.create(a.prototype), d.prototype.write = function (e, t, n) {
            this._requestBodyLength + e.length <= this._options.maxBodyLength ? (this._requestBodyLength += e.length, this._requestBodyBuffers.push({
                data: e,
                encoding: t
            }), this._currentRequest.write(e, t, n)) : (this.emit("error", new Error("Request body larger than maxBodyLength limit")), this.abort())
        }, d.prototype.end = function (e, t, n) {
            var i = this._currentRequest;
            e ? this.write(e, t, function () {
                i.end(null, null, n)
            }) : i.end(null, null, n)
        }, d.prototype.setHeader = function (e, t) {
            this._options.headers[e] = t, this._currentRequest.setHeader(e, t)
        }, d.prototype.removeHeader = function (e) {
            delete this._options.headers[e], this._currentRequest.removeHeader(e)
        }, ["abort", "flushHeaders", "getHeader", "setNoDelay", "setSocketKeepAlive", "setTimeout"].forEach(function (e) {
            d.prototype[e] = function (t, n) {
                return this._currentRequest[e](t, n)
            }
        }), ["aborted", "connection", "socket"].forEach(function (e) {
            Object.defineProperty(d.prototype, e, {
                get: function () {
                    return this._currentRequest[e]
                }
            })
        }), d.prototype._performRequest = function () {
            var e = this._options.protocol, t = this._options.nativeProtocols[e];
            if (this._options.agents) {
                var n = e.substr(0, e.length - 1);
                this._options.agent = this._options.agents[n]
            }
            var r = this._currentRequest = t.request(this._options, this._onNativeResponse);
            for (var o in this._currentUrl = i.format(this._options), r._redirectable = this, u) o && r.on(o, u[o]);
            if (this._isRedirect) {
                var s = this._requestBodyBuffers;
                !function e() {
                    if (0 !== s.length) {
                        var t = s.pop();
                        r.write(t.data, t.encoding, e)
                    } else r.end()
                }()
            }
        }, d.prototype._processResponse = function (e) {
            var t = e.headers.location;
            if (t && !1 !== this._options.followRedirects && e.statusCode >= 300 && e.statusCode < 400) {
                if (++this._redirectCount > this._options.maxRedirects) return void this.emit("error", new Error("Max redirects exceeded."));
                var n, r = this._options.headers;
                if (307 !== e.statusCode && !(this._options.method in c)) for (n in this._options.method = "GET", this._requestBodyBuffers = [], r) /^content-/i.test(n) && delete r[n];
                if (!this._isRedirect) for (n in r) /^host$/i.test(n) && delete r[n];
                var o = i.resolve(this._currentUrl, t);
                l("redirecting to", o), Object.assign(this._options, i.parse(o)), this._isRedirect = !0, this._performRequest()
            } else e.responseUrl = this._currentUrl, this.emit("response", e), this._requestBodyBuffers = []
        }, e.exports = f({http: r, https: o}), e.exports.wrap = f
    }, 66: function (e, t, n) {
        "use strict";
        e.exports = function (e) {
            return !(!e || !e.__CANCEL__)
        }
    }, 67: function (e, t, n) {
        "use strict";

        function i(e) {
            this.message = e
        }

        i.prototype.toString = function () {
            return "Cancel" + (this.message ? ": " + this.message : "")
        }, i.prototype.__CANCEL__ = !0, e.exports = i
    }, 7: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0}), t.default = function (e) {
            return require(e)
        }
    }, 70: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        const i = n(86), r = n(80);
        !function (e) {
            e.getWindowPreference = function (e = !1) {
                let t = r.default(), n = {};
                return t && t.colors && "string" == typeof t.colors.colorPrimaryControl1 && (n.hoverBackgroundColor = e ? parseInt(i.ColorUtilNS.rgbaStringToHexWith0xBegin(t.colors.colorPrimaryControl1), 16) : i.ColorUtilNS.rgbaStringToHexWith0xBegin(t.colors.colorPrimaryControl1)), n
            }
        }(t.WindowPreferenceNS || (t.WindowPreferenceNS = {}))
    }, 71: function (e, t, n) {
        (function (e) {
            var n = 200, i = "__lodash_hash_undefined__", r = 800, o = 16, s = 9007199254740991,
                a = "[object Arguments]", l = "[object AsyncFunction]", c = "[object Function]",
                u = "[object GeneratorFunction]", d = "[object Null]", f = "[object Object]", p = "[object Proxy]",
                h = "[object Undefined]", v = /^\[object .+?Constructor\]$/, g = /^(?:0|[1-9]\d*)$/, m = {};
            m["[object Float32Array]"] = m["[object Float64Array]"] = m["[object Int8Array]"] = m["[object Int16Array]"] = m["[object Int32Array]"] = m["[object Uint8Array]"] = m["[object Uint8ClampedArray]"] = m["[object Uint16Array]"] = m["[object Uint32Array]"] = !0, m[a] = m["[object Array]"] = m["[object ArrayBuffer]"] = m["[object Boolean]"] = m["[object DataView]"] = m["[object Date]"] = m["[object Error]"] = m[c] = m["[object Map]"] = m["[object Number]"] = m[f] = m["[object RegExp]"] = m["[object Set]"] = m["[object String]"] = m["[object WeakMap]"] = !1;
            var y = "object" == typeof global && global && global.Object === Object && global,
                C = "object" == typeof self && self && self.Object === Object && self,
                b = y || C || Function("return this")(), w = "object" == typeof t && t && !t.nodeType && t,
                S = w && "object" == typeof e && e && !e.nodeType && e, x = S && S.exports === w, T = x && y.process,
                P = function () {
                    try {
                        return T && T.binding && T.binding("util")
                    } catch (e) {
                    }
                }(), _ = P && P.isTypedArray;

            function R(e, t) {
                return "__proto__" == t ? void 0 : e[t]
            }

            var k, N, M, D = Array.prototype, A = Function.prototype, E = Object.prototype, F = b["__core-js_shared__"],
                L = A.toString, O = E.hasOwnProperty,
                I = (k = /[^.]+$/.exec(F && F.keys && F.keys.IE_PROTO || "")) ? "Symbol(src)_1." + k : "",
                j = E.toString, U = L.call(Object),
                z = RegExp("^" + L.call(O).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),
                W = x ? b.Buffer : void 0, B = b.Symbol, G = b.Uint8Array, V = W ? W.allocUnsafe : void 0,
                X = (N = Object.getPrototypeOf, M = Object, function (e) {
                    return N(M(e))
                }), H = Object.create, q = E.propertyIsEnumerable, K = D.splice, J = B ? B.toStringTag : void 0,
                Z = function () {
                    try {
                        var e = we(Object, "defineProperty");
                        return e({}, "", {}), e
                    } catch (e) {
                    }
                }(), Y = W ? W.isBuffer : void 0, Q = Math.max, $ = Date.now, ee = we(b, "Map"),
                te = we(Object, "create"), ne = function () {
                    function e() {
                    }

                    return function (t) {
                        if (!Ae(t)) return {};
                        if (H) return H(t);
                        e.prototype = t;
                        var n = new e;
                        return e.prototype = void 0, n
                    }
                }();

            function ie(e) {
                var t = -1, n = null == e ? 0 : e.length;
                for (this.clear(); ++t < n;) {
                    var i = e[t];
                    this.set(i[0], i[1])
                }
            }

            function re(e) {
                var t = -1, n = null == e ? 0 : e.length;
                for (this.clear(); ++t < n;) {
                    var i = e[t];
                    this.set(i[0], i[1])
                }
            }

            function oe(e) {
                var t = -1, n = null == e ? 0 : e.length;
                for (this.clear(); ++t < n;) {
                    var i = e[t];
                    this.set(i[0], i[1])
                }
            }

            function se(e) {
                var t = this.__data__ = new re(e);
                this.size = t.size
            }

            function ae(e, t) {
                var n = Re(e), i = !n && _e(e), r = !n && !i && Ne(e), o = !n && !i && !r && Fe(e),
                    s = n || i || r || o, a = s ? function (e, t) {
                        for (var n = -1, i = Array(e); ++n < e;) i[n] = t(n);
                        return i
                    }(e.length, String) : [], l = a.length;
                for (var c in e) !t && !O.call(e, c) || s && ("length" == c || r && ("offset" == c || "parent" == c) || o && ("buffer" == c || "byteLength" == c || "byteOffset" == c) || Se(c, l)) || a.push(c);
                return a
            }

            function le(e, t, n) {
                (void 0 === n || Pe(e[t], n)) && (void 0 !== n || t in e) || de(e, t, n)
            }

            function ce(e, t, n) {
                var i = e[t];
                O.call(e, t) && Pe(i, n) && (void 0 !== n || t in e) || de(e, t, n)
            }

            function ue(e, t) {
                for (var n = e.length; n--;) if (Pe(e[n][0], t)) return n;
                return -1
            }

            function de(e, t, n) {
                "__proto__" == t && Z ? Z(e, t, {configurable: !0, enumerable: !0, value: n, writable: !0}) : e[t] = n
            }

            ie.prototype.clear = function () {
                this.__data__ = te ? te(null) : {}, this.size = 0
            }, ie.prototype.delete = function (e) {
                var t = this.has(e) && delete this.__data__[e];
                return this.size -= t ? 1 : 0, t
            }, ie.prototype.get = function (e) {
                var t = this.__data__;
                if (te) {
                    var n = t[e];
                    return n === i ? void 0 : n
                }
                return O.call(t, e) ? t[e] : void 0
            }, ie.prototype.has = function (e) {
                var t = this.__data__;
                return te ? void 0 !== t[e] : O.call(t, e)
            }, ie.prototype.set = function (e, t) {
                var n = this.__data__;
                return this.size += this.has(e) ? 0 : 1, n[e] = te && void 0 === t ? i : t, this
            }, re.prototype.clear = function () {
                this.__data__ = [], this.size = 0
            }, re.prototype.delete = function (e) {
                var t = this.__data__, n = ue(t, e);
                return !(n < 0 || (n == t.length - 1 ? t.pop() : K.call(t, n, 1), --this.size, 0))
            }, re.prototype.get = function (e) {
                var t = this.__data__, n = ue(t, e);
                return n < 0 ? void 0 : t[n][1]
            }, re.prototype.has = function (e) {
                return ue(this.__data__, e) > -1
            }, re.prototype.set = function (e, t) {
                var n = this.__data__, i = ue(n, e);
                return i < 0 ? (++this.size, n.push([e, t])) : n[i][1] = t, this
            }, oe.prototype.clear = function () {
                this.size = 0, this.__data__ = {hash: new ie, map: new (ee || re), string: new ie}
            }, oe.prototype.delete = function (e) {
                var t = be(this, e).delete(e);
                return this.size -= t ? 1 : 0, t
            }, oe.prototype.get = function (e) {
                return be(this, e).get(e)
            }, oe.prototype.has = function (e) {
                return be(this, e).has(e)
            }, oe.prototype.set = function (e, t) {
                var n = be(this, e), i = n.size;
                return n.set(e, t), this.size += n.size == i ? 0 : 1, this
            }, se.prototype.clear = function () {
                this.__data__ = new re, this.size = 0
            }, se.prototype.delete = function (e) {
                var t = this.__data__, n = t.delete(e);
                return this.size = t.size, n
            }, se.prototype.get = function (e) {
                return this.__data__.get(e)
            }, se.prototype.has = function (e) {
                return this.__data__.has(e)
            }, se.prototype.set = function (e, t) {
                var i = this.__data__;
                if (i instanceof re) {
                    var r = i.__data__;
                    if (!ee || r.length < n - 1) return r.push([e, t]), this.size = ++i.size, this;
                    i = this.__data__ = new oe(r)
                }
                return i.set(e, t), this.size = i.size, this
            };
            var fe, pe = function (e, t, n) {
                for (var i = -1, r = Object(e), o = n(e), s = o.length; s--;) {
                    var a = o[fe ? s : ++i];
                    if (!1 === t(r[a], a, r)) break
                }
                return e
            };

            function he(e) {
                return null == e ? void 0 === e ? h : d : J && J in Object(e) ? function (e) {
                    var t = O.call(e, J), n = e[J];
                    try {
                        e[J] = void 0;
                        var i = !0
                    } catch (e) {
                    }
                    var r = j.call(e);
                    i && (t ? e[J] = n : delete e[J]);
                    return r
                }(e) : function (e) {
                    return j.call(e)
                }(e)
            }

            function ve(e) {
                return Ee(e) && he(e) == a
            }

            function ge(e) {
                return !(!Ae(e) || I && I in e) && (Me(e) ? z : v).test(function (e) {
                    if (null != e) {
                        try {
                            return L.call(e)
                        } catch (e) {
                        }
                        try {
                            return e + ""
                        } catch (e) {
                        }
                    }
                    return ""
                }(e))
            }

            function me(e) {
                if (!Ae(e)) return function (e) {
                    var t = [];
                    if (null != e) for (var n in Object(e)) t.push(n);
                    return t
                }(e);
                var t = xe(e), n = [];
                for (var i in e) ("constructor" != i || !t && O.call(e, i)) && n.push(i);
                return n
            }

            function ye(e, t, n, i, r) {
                e !== t && pe(t, function (o, s) {
                    if (Ae(o)) r || (r = new se), function (e, t, n, i, r, o, s) {
                        var a = R(e, n), l = R(t, n), c = s.get(l);
                        if (c) return void le(e, n, c);
                        var u = o ? o(a, l, n + "", e, t, s) : void 0, d = void 0 === u;
                        if (d) {
                            var p = Re(l), h = !p && Ne(l), v = !p && !h && Fe(l);
                            u = l, p || h || v ? Re(a) ? u = a : Ee(b = a) && ke(b) ? u = function (e, t) {
                                var n = -1, i = e.length;
                                t || (t = Array(i));
                                for (; ++n < i;) t[n] = e[n];
                                return t
                            }(a) : h ? (d = !1, u = function (e, t) {
                                if (t) return e.slice();
                                var n = e.length, i = V ? V(n) : new e.constructor(n);
                                return e.copy(i), i
                            }(l, !0)) : v ? (d = !1, g = l, m = !0 ? (y = g.buffer, C = new y.constructor(y.byteLength), new G(C).set(new G(y)), C) : g.buffer, u = new g.constructor(m, g.byteOffset, g.length)) : u = [] : function (e) {
                                if (!Ee(e) || he(e) != f) return !1;
                                var t = X(e);
                                if (null === t) return !0;
                                var n = O.call(t, "constructor") && t.constructor;
                                return "function" == typeof n && n instanceof n && L.call(n) == U
                            }(l) || _e(l) ? (u = a, _e(a) ? u = function (e) {
                                return function (e, t, n, i) {
                                    var r = !n;
                                    n || (n = {});
                                    var o = -1, s = t.length;
                                    for (; ++o < s;) {
                                        var a = t[o], l = i ? i(n[a], e[a], a, n, e) : void 0;
                                        void 0 === l && (l = e[a]), r ? de(n, a, l) : ce(n, a, l)
                                    }
                                    return n
                                }(e, Le(e))
                            }(a) : (!Ae(a) || i && Me(a)) && (u = function (e) {
                                return "function" != typeof e.constructor || xe(e) ? {} : ne(X(e))
                            }(l))) : d = !1
                        }
                        var g, m, y, C;
                        var b;
                        d && (s.set(l, u), r(u, l, i, o, s), s.delete(l));
                        le(e, n, u)
                    }(e, t, s, n, ye, i, r); else {
                        var a = i ? i(R(e, s), o, s + "", e, t, r) : void 0;
                        void 0 === a && (a = o), le(e, s, a)
                    }
                }, Le)
            }

            function Ce(e, t) {
                return Te(function (e, t, n) {
                    return t = Q(void 0 === t ? e.length - 1 : t, 0), function () {
                        for (var i = arguments, r = -1, o = Q(i.length - t, 0), s = Array(o); ++r < o;) s[r] = i[t + r];
                        r = -1;
                        for (var a = Array(t + 1); ++r < t;) a[r] = i[r];
                        return a[t] = n(s), function (e, t, n) {
                            switch (n.length) {
                                case 0:
                                    return e.call(t);
                                case 1:
                                    return e.call(t, n[0]);
                                case 2:
                                    return e.call(t, n[0], n[1]);
                                case 3:
                                    return e.call(t, n[0], n[1], n[2])
                            }
                            return e.apply(t, n)
                        }(e, this, a)
                    }
                }(e, t, je), e + "")
            }

            function be(e, t) {
                var n, i, r = e.__data__;
                return ("string" == (i = typeof (n = t)) || "number" == i || "symbol" == i || "boolean" == i ? "__proto__" !== n : null === n) ? r["string" == typeof t ? "string" : "hash"] : r.map
            }

            function we(e, t) {
                var n = function (e, t) {
                    return null == e ? void 0 : e[t]
                }(e, t);
                return ge(n) ? n : void 0
            }

            function Se(e, t) {
                var n = typeof e;
                return !!(t = null == t ? s : t) && ("number" == n || "symbol" != n && g.test(e)) && e > -1 && e % 1 == 0 && e < t
            }

            function xe(e) {
                var t = e && e.constructor;
                return e === ("function" == typeof t && t.prototype || E)
            }

            var Te = function (e) {
                var t = 0, n = 0;
                return function () {
                    var i = $(), s = o - (i - n);
                    if (n = i, s > 0) {
                        if (++t >= r) return arguments[0]
                    } else t = 0;
                    return e.apply(void 0, arguments)
                }
            }(Z ? function (e, t) {
                return Z(e, "toString", {
                    configurable: !0, enumerable: !1, value: (n = t, function () {
                        return n
                    }), writable: !0
                });
                var n
            } : je);

            function Pe(e, t) {
                return e === t || e != e && t != t
            }

            var _e = ve(function () {
                return arguments
            }()) ? ve : function (e) {
                return Ee(e) && O.call(e, "callee") && !q.call(e, "callee")
            }, Re = Array.isArray;

            function ke(e) {
                return null != e && De(e.length) && !Me(e)
            }

            var Ne = Y || function () {
                return !1
            };

            function Me(e) {
                if (!Ae(e)) return !1;
                var t = he(e);
                return t == c || t == u || t == l || t == p
            }

            function De(e) {
                return "number" == typeof e && e > -1 && e % 1 == 0 && e <= s
            }

            function Ae(e) {
                var t = typeof e;
                return null != e && ("object" == t || "function" == t)
            }

            function Ee(e) {
                return null != e && "object" == typeof e
            }

            var Fe = _ ? function (e) {
                return function (t) {
                    return e(t)
                }
            }(_) : function (e) {
                return Ee(e) && De(e.length) && !!m[he(e)]
            };

            function Le(e) {
                return ke(e) ? ae(e, !0) : me(e)
            }

            var Oe, Ie = (Oe = function (e, t, n) {
                ye(e, t, n)
            }, Ce(function (e, t) {
                var n = -1, i = t.length, r = i > 1 ? t[i - 1] : void 0, o = i > 2 ? t[2] : void 0;
                for (r = Oe.length > 3 && "function" == typeof r ? (i--, r) : void 0, o && function (e, t, n) {
                    if (!Ae(n)) return !1;
                    var i = typeof t;
                    return !!("number" == i ? ke(n) && Se(t, n.length) : "string" == i && t in n) && Pe(n[t], e)
                }(t[0], t[1], o) && (r = i < 3 ? void 0 : r, i = 1), e = Object(e); ++n < i;) {
                    var s = t[n];
                    s && Oe(e, s, n, r)
                }
                return e
            }));

            function je(e) {
                return e
            }

            e.exports = Ie
        }).call(this, n(87)(e))
    }, 753: function (e, t, n) {
        "use strict";
        var i = this && this.__awaiter || function (e, t, n, i) {
            return new (n || (n = Promise))(function (r, o) {
                function s(e) {
                    try {
                        l(i.next(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function a(e) {
                    try {
                        l(i.throw(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function l(e) {
                    e.done ? r(e.value) : new n(function (t) {
                        t(e.value)
                    }).then(s, a)
                }

                l((i = i.apply(e, t || [])).next())
            })
        };
        Object.defineProperty(t, "__esModule", {value: !0});
        const r = n(24), o = n(1), s = n(14), a = n(12), l = n(59);
        let {isDef: c} = a.ThunderUtil;
        const u = o.default.getLogger("personalInfo:vip-user-info");
        !function (e) {
            const t = new l.EventEmitter, o = 1e3;
            e.getCardCount = function () {
                return i(this, void 0, void 0, function* () {
                    let e = 0;
                    try {
                        const t = yield s.default("GetUserID"), i = yield s.default("GetSessionID"),
                            a = "http://msg.vip.xunlei.com/xl9/GetcashNum";
                        u.information("getCardCount", "url", a), r.default.defaults.adapter = n(22);
                        let l = yield r.default.get(a, {params: {userid: t, sessionid: i}, timeout: o});
                        u.information("getCardCount res", l), 200 === l.status && c(l.data) && 0 === l.data.result && c(l.data.data) && (e = Number(l.data.data.num) || 0)
                    } catch (e) {
                        u.warning(e)
                    }
                    return e
                })
            }, e.getSignCoin = function () {
                return i(this, void 0, void 0, function* () {
                    let e = 0;
                    try {
                        const t = yield s.default("GetUserID"), i = yield s.default("GetSessionID"),
                            a = "http://msg.vip.xunlei.com/coin/GetSignCoin";
                        u.information("getSignCoin", "url", a), r.default.defaults.adapter = n(22);
                        let l = yield r.default.get(a, {params: {userid: t, sessionid: i}, timeout: o});
                        u.information("getSignCoin res", l), 200 === l.status && c(l.data) && 0 === l.data.result && c(l.data.data) && (e = Number(l.data.data.coins) || 0)
                    } catch (e) {
                        u.warning(e)
                    }
                    return e
                })
            };
            let a = !1, d = void 0;
            e.getIsUsedToBeVip = function () {
                return i(this, void 0, void 0, function* () {
                    let e = null;
                    return e = c(d) ? d : new Promise(e => i(this, void 0, void 0, function* () {
                        a ? t.once("OnGetUsedToBeVip", t => {
                            e(t)
                        }) : (a = !0, d = yield function () {
                            return i(this, void 0, void 0, function* () {
                                let e = !1;
                                try {
                                    const t = yield s.default("GetUserID"), n = yield s.default("GetSessionID"),
                                        i = "http://soa.vip.xunlei.com/xlvip.common.mooseapi/querytags";
                                    u.information("isUsedToBeVip", "url", i);
                                    let a = yield r.default.get(i, {
                                        params: {
                                            sessionid: n,
                                            userid: t,
                                            tags: "usedToBeDLVip",
                                            platform: "xlx"
                                        }, timeout: o
                                    });
                                    if (u.information("isUsedToBeVip res", a), 200 === a.status && c(a.data) && 1 === a.data.code && c(a.data.result)) {
                                        let t = Number(a.data.result.usedToBeDLVip);
                                        u.information("num", t), e = 1 === t
                                    }
                                } catch (e) {
                                    u.warning(e)
                                }
                                return e
                            })
                        }(), u.information("getIsUsedToBeVip", d), a = !1, t.emit("OnGetUsedToBeVip", d), e(d))
                    }))
                })
            }, e.isContinueMonthPayVip = function () {
                return i(this, void 0, void 0, function* () {
                    let e = !1;
                    try {
                        const t = yield s.default("GetUserID"), n = yield s.default("GetSessionID"),
                            i = "http://soa.vip.xunlei.com/xlvip.common.mooseapi/querytags";
                        u.information("isContinueMonthPayVip", "url", i);
                        let a = yield r.default.get(i, {
                            params: {
                                sessionid: n,
                                userid: t,
                                tags: "isSign",
                                platform: "xlx"
                            }, timeout: o
                        });
                        u.information("isContinueMonthPayVip res", a), 200 === a.status && c(a.data) && 1 === a.data.code && c(a.data.result) && (e = 1 === Number(a.data.result.isSign))
                    } catch (e) {
                        u.warning(e)
                    }
                    return e
                })
            }, e.isNewUserWithoutGift = function () {
                return i(this, void 0, void 0, function* () {
                    let e = !1;
                    try {
                        const t = `userid=${yield s.default("GetUserID")}; sessionid=${yield s.default("GetSessionID")}`,
                            i = "http://msg.vip.xunlei.com/xlact/NewUser";
                        r.default.defaults.adapter = n(22);
                        let a = yield r.default.get(i, {headers: {Cookie: t}, timeout: o});
                        u.information("isNewUserWithout res", a), 200 === a.status && c(a.data) && 0 === a.data.result && c(a.data.data) && (e = 0 === Number(a.data.data.hasTaskPrize))
                    } catch (e) {
                        u.warning(e)
                    }
                    return e
                })
            }
        }(t.VipUserInfoNS || (t.VipUserInfoNS = {}))
    }, 754: function (e, t, n) {
        "use strict";
        var i = this && this.__awaiter || function (e, t, n, i) {
            return new (n || (n = Promise))(function (r, o) {
                function s(e) {
                    try {
                        l(i.next(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function a(e) {
                    try {
                        l(i.throw(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function l(e) {
                    e.done ? r(e.value) : new n(function (t) {
                        t(e.value)
                    }).then(s, a)
                }

                l((i = i.apply(e, t || [])).next())
            })
        };
        Object.defineProperty(t, "__esModule", {value: !0});
        const r = n(24), o = n(1026), s = n(753), a = n(1), l = n(12), c = n(14), u = n(10), d = n(29), f = n(59);
        let {isDef: p, isUndef: h} = l.ThunderUtil;
        const v = a.default.getLogger("personalInfo:config-manager"), g = o.VipConfigDefineNS.cacheDir,
            m = `${g}/vip-config.json`;
        t.default = new class {
            constructor() {
                this.isGettingConfig = !1, this.eventEmitter = new f.EventEmitter, this.init().catch()
            }

            init() {
                return i(this, void 0, void 0, function* () {
                    this.eventEmitter.setMaxListeners(0), yield u.FileSystemAWNS.mkdirAW(g)
                })
            }

            getUnloginConfig() {
                return i(this, void 0, void 0, function* () {
                    let e = null;
                    do {
                        let t = yield this.getConfigs();
                        if (h(t) || h(t.unlogin_new)) break;
                        let n = (yield this.calculatePeeridMatchNum()).toString(16);
                        for (let i in t.unlogin_new) {
                            let r = t.unlogin_new[i];
                            if (p(r) && r instanceof Object && r.peerid === n) {
                                e = r;
                                break
                            }
                        }
                    } while (0);
                    return e
                })
            }

            getLoginConfig() {
                return i(this, void 0, void 0, function* () {
                    let e = null, t = null, n = null, i = yield this.getConfigs();
                    p(i) && (e = i.loginCommon, t = i.btn, n = i.text), t = t || (yield this.getDefaultBtnConfig()), n = n || {};
                    let r = "", o = "", a = JSON.parse(yield c.default("GetUserInfo", 2));
                    if (p(a)) {
                        let e = Number(a.vasType).valueOf();
                        Boolean("1" === a.isVip) ? (o = (yield s.VipUserInfoNS.isContinueMonthPayVip()) ? "autodeductvip" : 5 === e ? "notautodeductsuper" : 3 === e ? "notautodeductbaijin" : "notautodeductnormal", r = "normalvip", 5 === e ? r = "supervip" : 3 === e && (r = "baijinvip")) : (yield s.VipUserInfoNS.getIsUsedToBeVip()) ? (o = "usedtobevip", r = "expiredvip") : (o = "neverusedvip", n.newuser ? r = "newuser" : (yield s.VipUserInfoNS.isNewUserWithoutGift()) && (r = "neverusedvipnogift"))
                    }
                    let l = t[o];
                    l && (l.type = o);
                    let u = n[r];
                    return u && (u.type = r), {common: e, btn: l, text: u}
                })
            }

            getConfigs() {
                return i(this, void 0, void 0, function* () {
                    let e = null;
                    return e = p(this.configs) ? this.configs : new Promise(e => i(this, void 0, void 0, function* () {
                        this.isGettingConfig ? this.eventEmitter.once("OnGetConfigs", t => {
                            e(t)
                        }) : (this.isGettingConfig = !0, this.configs = yield this.readConfigs(), this.isGettingConfig = !1, this.eventEmitter.emit("OnGetConfigs", this.configs), e(this.configs))
                    }))
                })
            }

            readConfigs() {
                return i(this, void 0, void 0, function* () {
                    let e = null;
                    do {
                        try {
                            e = JSON.parse((yield u.FileSystemAWNS.readFileAW(m)).toString())
                        } catch (e) {
                            v.warning("解析本地配置信息失败")
                        }
                        if (p(e) && e.date === (new Date).toLocaleDateString()) break;
                        const t = "http://images.client.vip.xunlei.com/xlx/hover/hover.js";
                        v.information("readConfigs", "url", t);
                        try {
                            r.default.defaults.adapter = n(22);
                            let i = yield r.default.get(t, {timeout: 1e3});
                            v.information("getConfigs res", i), 200 === i.status && p(i.data) && i.data instanceof Object && ((e = i.data).date = (new Date).toLocaleDateString(), yield u.FileSystemAWNS.writeFileAW(m, JSON.stringify(e)))
                        } catch (e) {
                            v.warning(e)
                        }
                    } while (0);
                    return e
                })
            }

            getDefaultBtnConfig() {
                return i(this, void 0, void 0, function* () {
                    return {
                        neverusedvip: {
                            btn_title: "开通下载会员",
                            url: "https://pay.xunlei.com/pay.html?bizNo=baijin/?referfrom=v_pc_xlx_ggong_pay_hover&aidfrom=firstkt",
                            tip: ""
                        },
                        usedtobevip: {
                            btn_title: "开通下载会员",
                            url: "https://pay.xunlei.com/pay.html?bizNo=baijin/?referfrom=v_pc_xlx_ggong_pay_hover&aidfrom=gqkt",
                            tip: ""
                        },
                        autodeductvip: {
                            btn_title: "领取连续包月",
                            url: "https://vip.xunlei.com/vip_service/baoyue/index.html?referfrom=v_pc_xlx_ggong_pay_hover",
                            tip: ""
                        },
                        notautodeductnormal: {
                            btn_title: "开通白金会员",
                            url: "https://pay.xunlei.com/pay.html?bizNo=baijin/?referfrom=v_pc_xlx_ggong_pay_hover&aidfrom=ktbj",
                            tip: ""
                        },
                        notautodeductbaijin: {
                            btn_title: "续费白金会员",
                            url: "https://pay.xunlei.com/pay.html?bizNo=baijin/?referfrom=v_pc_xlx_ggong_pay_hover&aidfrom=xfbj",
                            tip: ""
                        },
                        notautodeductsuper: {
                            btn_title: "续费超级会员",
                            url: "https://pay.xunlei.com/pay.html?bizNo=baijin/?referfrom=v_pc_xlx_ggong_pay_hover&aidfrom=xfcj",
                            tip: ""
                        }
                    }
                })
            }

            calculatePeeridMatchNum() {
                return i(this, void 0, void 0, function* () {
                    let e = yield c.default("GetValue", "PersonalInfo", "PeeridMatchNum", -1);
                    if (e >= 0 && e < 16) ; else {
                        do {
                            let t = yield c.default("GetPeerID");
                            if (v.information("peerid", t), p(t) && t.length > 0) try {
                                const n = d.createHash("sha256");
                                n.update(t);
                                let i = n.digest("hex");
                                v.information("strHash", i), e = parseInt(i[i.length - 1], 16)
                            } catch (e) {
                                v.warning("err", e)
                            }
                            if (p(e) && e >= 0 && e < 16) break;
                            e = (new Date).getTime() % 16
                        } while (0);
                        yield c.default("SetValue", "PersonalInfo", "PeeridMatchNum", e)
                    }
                    return e
                })
            }
        }
    }, 8: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
            let t, n, i, r, o, s, a, l, c, u, d, f, p, h, v, g, m, y, C;
            !function (e) {
                e[e.Unkown = 0] = "Unkown", e[e.Create = 1] = "Create", e[e.InvaldParam = 2] = "InvaldParam", e[e.InvaldLink = 3] = "InvaldLink", e[e.InvaldConfig = 4] = "InvaldConfig", e[e.Timeout = 5] = "Timeout", e[e.VerifyData = 6] = "VerifyData", e[e.Forbidden = 7] = "Forbidden", e[e.RangeDispatch = 8] = "RangeDispatch", e[e.FilePathOverRanging = 9] = "FilePathOverRanging", e[e.FileCreate = 201] = "FileCreate", e[e.FileWrite = 202] = "FileWrite", e[e.FileRead = 203] = "FileRead", e[e.FileRename = 204] = "FileRename", e[e.FileFull = 205] = "FileFull", e[e.BtUploadExist = 601] = "BtUploadExist", e[e.ForbinddenResource = 701] = "ForbinddenResource", e[e.ForbinddenAccount = 702] = "ForbinddenAccount", e[e.ForbinddenArea = 703] = "ForbinddenArea", e[e.ForbinddenCopyright = 704] = "ForbinddenCopyright", e[e.ForbinddenReaction = 705] = "ForbinddenReaction", e[e.ForbinddenPorn = 706] = "ForbinddenPorn", e[e.DownloadSDKCrash = 10001] = "DownloadSDKCrash"
            }(t = e.TaskError || (e.TaskError = {})), function (e) {
                e[e.Unkown = -1] = "Unkown", e[e.Success = 0] = "Success", e[e.QueryFailed = 1] = "QueryFailed", e[e.ServerError = 2] = "ServerError", e[e.ResourceNotFound = 3] = "ResourceNotFound", e[e.AuthorizingFailed = 4] = "AuthorizingFailed", e[e.ForbidByCopyright = 5] = "ForbidByCopyright", e[e.ForbidByPorNoGraphy = 6] = "ForbidByPorNoGraphy", e[e.ForbidByReactionary = 7] = "ForbidByReactionary", e[e.ForbidByOtherFilter = 8] = "ForbidByOtherFilter"
            }(n = e.DcdnStatusCode || (e.DcdnStatusCode = {})), function (e) {
                e[e.Begin = -1] = "Begin", e[e.Unkown = 0] = "Unkown", e[e.StandBy = 1] = "StandBy", e[e.PreDownloading = 2] = "PreDownloading", e[e.StartWaiting = 3] = "StartWaiting", e[e.StartPending = 4] = "StartPending", e[e.Started = 5] = "Started", e[e.StopPending = 6] = "StopPending", e[e.Stopped = 7] = "Stopped", e[e.Succeeded = 8] = "Succeeded", e[e.Failed = 9] = "Failed", e[e.Seeding = 10] = "Seeding", e[e.DestroyPending = 11] = "DestroyPending", e[e.End = 12] = "End"
            }(i = e.TaskStatus || (e.TaskStatus = {})), function (e) {
                e[e.Begin = -1] = "Begin", e[e.StandBy = 0] = "StandBy", e[e.Stopped = 1] = "Stopped", e[e.Started = 2] = "Started", e[e.Complete = 3] = "Complete", e[e.Forbidden = 4] = "Forbidden", e[e.Error = 5] = "Error", e[e.End = 6] = "End"
            }(r = e.BtFileStatus || (e.BtFileStatus = {})), function (e) {
                e[e.DispatchStrategyNone = 0] = "DispatchStrategyNone", e[e.DispatchStrategyOrigin = 1] = "DispatchStrategyOrigin", e[e.DispatchStrategyP2s = 2] = "DispatchStrategyP2s", e[e.DispatchStrategyP2p = 4] = "DispatchStrategyP2p", e[e.DispatchStrategyAll = -1] = "DispatchStrategyAll"
            }(o = e.DispatchStrategy || (e.DispatchStrategy = {})), function (e) {
                e[e.Unkown = 0] = "Unkown", e[e.P2sp = 1] = "P2sp", e[e.Bt = 2] = "Bt", e[e.Emule = 3] = "Emule", e[e.Group = 4] = "Group", e[e.Magnet = 5] = "Magnet"
            }(s = e.TaskType || (e.TaskType = {})), function (e) {
                e.Unkown = "Unkown", e.Downloading = "Downloading", e.Completed = "Completed", e.Recycle = "Recycle"
            }(a = e.CategroyViewID || (e.CategroyViewID = {})), function (e) {
                e[e.Unknow = 0] = "Unknow", e[e.TaskCreated = 1] = "TaskCreated", e[e.InsertToCategoryView = 2] = "InsertToCategoryView", e[e.RemoveFromCategoryView = 3] = "RemoveFromCategoryView", e[e.StatusChanged = 4] = "StatusChanged", e[e.DetailChanged = 5] = "DetailChanged", e[e.ChannelInfoChanged = 6] = "ChannelInfoChanged", e[e.DcdnStatusChanged = 7] = "DcdnStatusChanged", e[e.TaskDescriptionChanged = 8] = "TaskDescriptionChanged", e[e.TaskUserRead = 9] = "TaskUserRead", e[e.TaskRenamed = 10] = "TaskRenamed", e[e.TaskMovedEnd = 11] = "TaskMovedEnd", e[e.TaskMovingStateChange = 12] = "TaskMovingStateChange", e[e.BtSubFileDetailChanged = 13] = "BtSubFileDetailChanged", e[e.BtSubFileLoaded = 14] = "BtSubFileLoaded", e[e.BtSubFileForbidden = 15] = "BtSubFileForbidden", e[e.BtSubFileDcdnStatusChanged = 16] = "BtSubFileDcdnStatusChanged", e[e.TaskCategoryMovedEnd = 17] = "TaskCategoryMovedEnd", e[e.GroupTaskSubFileDetailChanged = 18] = "GroupTaskSubFileDetailChanged", e[e.TaskDestroying = 19] = "TaskDestroying", e[e.TaskDestroyed = 20] = "TaskDestroyed"
            }(l = e.TaskEventType || (e.TaskEventType = {})), function (e) {
                e[e.NumberStrart = 0] = "NumberStrart", e[e.TaskId = 1] = "TaskId", e[e.VirtualId = 2] = "VirtualId", e[e.SrcTotal = 3] = "SrcTotal", e[e.SrcUsing = 4] = "SrcUsing", e[e.FileSize = 5] = "FileSize", e[e.ReceivedSize = 6] = "ReceivedSize", e[e.DownloadSize = 7] = "DownloadSize", e[e.CreateTime = 8] = "CreateTime", e[e.CompletionTime = 9] = "CompletionTime", e[e.DownloadingPeriod = 10] = "DownloadingPeriod", e[e.Progress = 11] = "Progress", e[e.RecycleTime = 12] = "RecycleTime", e[e.FileCreated = 13] = "FileCreated", e[e.Forbidden = 14] = "Forbidden", e[e.CategoryId = 15] = "CategoryId", e[e.UserRead = 16] = "UserRead", e[e.OpenOnComplete = 17] = "OpenOnComplete", e[e.GroupTaskId = 18] = "GroupTaskId", e[e.DownloadSubTask = 19] = "DownloadSubTask", e[e.NameType = 20] = "NameType", e[e.OwnerProduct = 21] = "OwnerProduct", e[e.FileIndex = 22] = "FileIndex", e[e.NumberEnd = 23] = "NumberEnd", e[e.BooleanStart = 24] = "BooleanStart", e[e.Destroyed = 25] = "Destroyed", e[e.Background = 26] = "Background", e[e.Moving = 27] = "Moving", e[e.BooleanEnd = 28] = "BooleanEnd", e[e.StringStart = 29] = "StringStart", e[e.TaskName = 30] = "TaskName", e[e.SavePath = 31] = "SavePath", e[e.RelativePath = 32] = "RelativePath", e[e.TaskUrl = 33] = "TaskUrl", e[e.RefUrl = 34] = "RefUrl", e[e.Cid = 35] = "Cid", e[e.Gcid = 36] = "Gcid", e[e.Cookie = 37] = "Cookie", e[e.ProductInfo = 38] = "ProductInfo", e[e.Origin = 39] = "Origin", e[e.Description = 40] = "Description", e[e.UserData = 41] = "UserData", e[e.StringEnd = 42] = "StringEnd", e[e.ObjectStart = 43] = "ObjectStart", e[e.ObjectEnd = 44] = "ObjectEnd", e[e.CategoryViewId = 45] = "CategoryViewId", e[e.TaskType = 46] = "TaskType", e[e.ErrorCode = 47] = "ErrorCode"
            }(c = e.TaskAttribute || (e.TaskAttribute = {})), function (e) {
                e[e.UnKnown = 0] = "UnKnown", e[e.SrcTotal = 1] = "SrcTotal", e[e.SrcUsing = 2] = "SrcUsing", e[e.FileSize = 4] = "FileSize", e[e.ReceivedSize = 8] = "ReceivedSize", e[e.DownloadSize = 16] = "DownloadSize", e[e.CompletionTime = 32] = "CompletionTime", e[e.DownloadingPeriod = 64] = "DownloadingPeriod", e[e.Progress = 128] = "Progress", e[e.RecycleTime = 256] = "RecycleTime", e[e.FileCreated = 512] = "FileCreated", e[e.Forbidden = 1024] = "Forbidden", e[e.UserRead = 2048] = "UserRead", e[e.OpenOnComplete = 4096] = "OpenOnComplete", e[e.DownloadSubTask = 8192] = "DownloadSubTask", e[e.TaskName = 16384] = "TaskName", e[e.SavePath = 32768] = "SavePath", e[e.Cid = 65536] = "Cid", e[e.Gcid = 131072] = "Gcid", e[e.UserData = 262144] = "UserData", e[e.CategoryViewId = 524288] = "CategoryViewId", e[e.ErrorCode = 1048576] = "ErrorCode", e[e.TaskSpeed = 2097152] = "TaskSpeed", e[e.ChannelInfo = 4194304] = "ChannelInfo"
            }(u = e.TaskDetailChangedFlags || (e.TaskDetailChangedFlags = {})), function (e) {
                e[e.UnKnown = 0] = "UnKnown"
            }(d = e.BtSubFileDetailChangedFlags || (e.BtSubFileDetailChangedFlags = {})), function (e) {
                e[e.UnKnown = 0] = "UnKnown"
            }(f = e.GroupTaskSubFileDetailChangedFlags || (e.GroupTaskSubFileDetailChangedFlags = {})), function (e) {
                e[e.NumberStrart = 0] = "NumberStrart", e[e.TaskId = 1] = "TaskId", e[e.FileStatus = 2] = "FileStatus", e[e.DownloadSize = 3] = "DownloadSize", e[e.FileSize = 4] = "FileSize", e[e.EnableDcdn = 5] = "EnableDcdn", e[e.ErrorCode = 6] = "ErrorCode", e[e.DcdnStatus = 7] = "DcdnStatus", e[e.RealIndex = 8] = "RealIndex", e[e.FileOffset = 9] = "FileOffset", e[e.Visible = 10] = "Visible", e[e.Download = 11] = "Download", e[e.NumberEnd = 12] = "NumberEnd", e[e.StringStart = 13] = "StringStart", e[e.FinalName = 14] = "FinalName", e[e.RelativePath = 15] = "RelativePath", e[e.FileName = 16] = "FileName", e[e.FilePath = 17] = "FilePath", e[e.Cid = 18] = "Cid", e[e.Gcid = 19] = "Gcid", e[e.StringEnd = 20] = "StringEnd"
            }(p = e.BtFileAttribute || (e.BtFileAttribute = {})), function (e) {
                e[e.P2spUrl = 0] = "P2spUrl", e[e.BtInfoId = 1] = "BtInfoId", e[e.EmuleFileHash = 2] = "EmuleFileHash", e[e.MagnetUrl = 3] = "MagnetUrl", e[e.GroupTaskName = 4] = "GroupTaskName"
            }(h = e.KeyType || (e.KeyType = {})), function (e) {
                e[e.NameInclude = 1] = "NameInclude", e[e.BtDisplayNameInclude = 2] = "BtDisplayNameInclude"
            }(v = e.SearchKeyType || (e.SearchKeyType = {})), function (e) {
                e[e.ExtEqual = 1] = "ExtEqual", e[e.NameLikeAndExtEqual = 2] = "NameLikeAndExtEqual", e[e.TaskTypeEqual = 4] = "TaskTypeEqual"
            }(g = e.FilterKeyType || (e.FilterKeyType = {})), function (e) {
                e[e.All = 0] = "All", e[e.CommonForeground = 1] = "CommonForeground", e[e.CommonBackground = 2] = "CommonBackground", e[e.Temporary = 3] = "Temporary", e[e.PreDownload = 4] = "PreDownload", e[e.PrivateForeground = 5] = "PrivateForeground"
            }(m = e.KeyFilter || (e.KeyFilter = {})), function (e) {
                e[e.Unknown = -1] = "Unknown", e[e.LoadTaskBasic = 0] = "LoadTaskBasic", e[e.Create = 1] = "Create", e[e.Recycle = 2] = "Recycle", e[e.Recover = 3] = "Recover", e[e.ReDownload = 4] = "ReDownload", e[e.MoveThoughCategory = 5] = "MoveThoughCategory"
            }(y = e.TaskInsertReason || (e.TaskInsertReason = {})), function (e) {
                e[e.Unknown = -1] = "Unknown", e[e.ContextMenu = 0] = "ContextMenu", e[e.Button = 1] = "Button", e[e.TaskDetail = 2] = "TaskDetail", e[e.DownloadMagnet = 3] = "DownloadMagnet", e[e.ToolbarButton = 4] = "ToolbarButton", e[e.SelectDownloadLists = 5] = "SelectDownloadLists", e[e.DeleteTask = 6] = "DeleteTask"
            }(C = e.TaskStopReason || (e.TaskStopReason = {}))
        }(t.DownloadKernel || (t.DownloadKernel = {}))
    }, 80: function (e, t, n) {
        "use strict";
        var i = this && this.__awaiter || function (e, t, n, i) {
            return new (n || (n = Promise))(function (r, o) {
                function s(e) {
                    try {
                        l(i.next(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function a(e) {
                    try {
                        l(i.throw(e))
                    } catch (e) {
                        o(e)
                    }
                }

                function l(e) {
                    e.done ? r(e.value) : new n(function (t) {
                        t(e.value)
                    }).then(s, a)
                }

                l((i = i.apply(e, t || [])).next())
            })
        };
        Object.defineProperty(t, "__esModule", {value: !0});
        const r = n(3), o = n(1).default.getLogger("GetSkinInfo");
        let s;
        (function () {
            return i(this, void 0, void 0, function* () {
                if ("renderer" === process.type) {
                    o.information("renderer process");
                    const e = yield Promise.resolve().then(() => n(14)), t = yield Promise.resolve().then(() => n(5));
                    e.default("GetSkinInfo").then(e => {
                        s = e, o.information("send OnChangeSkin", e)
                    }).catch(e => {
                        o.warning(e)
                    }), t.NativeCallModule.nativeCall.AttachNativeEvent("OnChangeSkin", e => {
                        s = e, o.information("send OnChangeSkin", e)
                    })
                } else "browser" === process.type && (o.information("main process"), r.ipcMain.on("OnChangeSkin", (e, t) => {
                    o.information("OnChangeSkin", t), s = t
                }))
            })
        })().catch(e => {
            o.information(e)
        }), t.default = function () {
            return s
        }
    }, 81: function (e, t) {
        e.exports = require("stream")
    }, 86: function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
            function t(e) {
                let t = e.toString(16).toUpperCase();
                return t.length < 2 && (t = "0" + t), t
            }

            function n(e, n, i, r) {
                return "0x" + t(r) + t(e) + t(n) + t(i)
            }

            e.rgbaStringToHexWith0xBegin = function (e) {
                if (void 0 !== e) {
                    let t = e.split(",");
                    return n(parseInt(t[0] || "0", 10), parseInt(t[1] || "0", 10), parseInt(t[2] || "0", 10), parseInt(t[3] || "255", 10))
                }
            }, e.colorNumberToHex = t, e.rgbaToHexWith0xBegin = n
        }(t.ColorUtilNS || (t.ColorUtilNS = {}))
    }, 87: function (e, t) {
        e.exports = function (e) {
            return e.webpackPolyfill || (e.deprecate = function () {
            }, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", {
                enumerable: !0,
                get: function () {
                    return e.l
                }
            }), Object.defineProperty(e, "id", {
                enumerable: !0, get: function () {
                    return e.i
                }
            }), e.webpackPolyfill = 1), e
        }
    }, 88: function (e, t) {
        !function (e) {
            var t,
                n = '<svg><symbol id="td-icon-svg-file" viewBox="0 0 1204 1024"><path d="M180.705882 1024c-102.4 0-180.705882-78.305882-180.705882-180.705882V180.705882c0-102.4 78.305882-180.705882 180.705882-180.705882h240.941177c102.4 0 180.705882 78.305882 180.705882 180.705882h421.647059c102.4 0 180.705882 78.305882 180.705882 180.705883v481.882353c0 102.4-78.305882 180.705882-180.705882 180.705882H180.705882z" fill="#FFC25A" ></path><path d="M301.176471 361.411765h602.352941c66.258824 0 120.470588 54.211765 120.470588 120.470588v361.411765c0 66.258824-54.211765 120.470588-120.470588 120.470588H301.176471c-66.258824 0-120.470588-54.211765-120.470589-120.470588V481.882353c0-66.258824 54.211765-120.470588 120.470589-120.470588z" fill="#FFFFFF" ></path><path d="M180.705882 542.117647h843.294118c102.4 0 180.705882 78.305882 180.705882 180.705882v120.470589c0 102.4-78.305882 180.705882-180.705882 180.705882H180.705882c-102.4 0-180.705882-78.305882-180.705882-180.705882v-120.470589c0-102.4 78.305882-180.705882 180.705882-180.705882z" fill="#FFD68F" ></path></symbol></svg>',
                i = function (e, t) {
                    t.firstChild ? function (e, t) {
                        t.parentNode.insertBefore(e, t)
                    }(e, t.firstChild) : t.appendChild(e)
                };
            if ((t = document.getElementsByTagName("script"))[t.length - 1].getAttribute("data-injectcss") && !e.__iconfont__svg__cssinject__) {
                e.__iconfont__svg__cssinject__ = !0;
                try {
                    document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")
                } catch (e) {
                    console && console.log(e)
                }
            }
            !function (t) {
                if (document.addEventListener) if (~["complete", "loaded", "interactive"].indexOf(document.readyState)) setTimeout(t, 0); else {
                    var n = function () {
                        document.removeEventListener("DOMContentLoaded", n, !1), t()
                    };
                    document.addEventListener("DOMContentLoaded", n, !1)
                } else document.attachEvent && function (e, t) {
                    var n = e.document, i = !1, r = function () {
                        i || (i = !0, t())
                    }, o = function () {
                        try {
                            n.documentElement.doScroll("left")
                        } catch (e) {
                            return void setTimeout(o, 50)
                        }
                        r()
                    };
                    o(), n.onreadystatechange = function () {
                        "complete" == n.readyState && (n.onreadystatechange = null, r())
                    }
                }(e, t)
            }(function () {
                var e, t;
                (e = document.createElement("div")).innerHTML = n, n = null, (t = e.getElementsByTagName("svg")[0]) && (t.setAttribute("aria-hidden", "true"), t.style.position = "absolute", t.style.width = 0, t.style.height = 0, t.style.overflow = "hidden", i(t, document.body))
            })
        }(window)
    }, 9: function (e, t) {
        e.exports = vendor_042b88873303a3c10349
    }, 91: function (e, t) {
        e.exports = require("assert")
    }
});
//# sourceMappingURL=renderer.js.map
/*! ThunderX BY LUOCHENZHIMU */
/*! Last updated on 2019/03/18 */
/*! https://www.luochenzhimu.com */