/*! Thunder 11 BY LUOCHENZHIMU */
/*! Last updated on 2020/08/22 */
/*! https://www.luochenzhimu.com */
module.exports = function (e) {
    var t = {};

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

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

    function n(e, t, i, n, r, o, s, a) {
        var l, c = "function" == typeof e ? e.options : e;
        if (t && (c.render = t, c.staticRenderFns = i, c._compiled = !0), n && (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}
    }

    i.d(t, "a", function () {
        return n
    })
}, function (e, t, i) {
    e.exports = i(8)(131)
}, function (e, t) {
    e.exports = require("path")
}, function (e, t) {
    e.exports = require("electron")
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(14), o = i(44), s = i(24), a = i(26);

    function l(e) {
        a.information("on object freeer"), global.__xdasIPCClienInstance.notifyFreer(e.remoteId, e.callbackId)
    }

    let c = void 0;
    global.__xdasIPCClienInstance || (global.__xdasIPCClienInstance = new class extends r.EventEmitter {
        constructor() {
            super(), this.rid = 0, this.apis = {}, this.singletonMap = {}, this.retCallbackMap = {}, this.eventCallbackMaps = {}, this.contextCallbackMap = {}
        }

        start(e, t, i, n) {
            do {
                if (!i && this.client) break;
                if (t || (t = s.getDefaultPrex()), this.singletonMap.hasOwnProperty(t.toLowerCase())) break;
                if (global.__xdasPluginConfig && global.__xdasPluginConfig.name ? e = {
                    name: global.__xdasPluginConfig.name,
                    version: global.__xdasPluginConfig.version
                } : void 0 !== e && null !== e || (e = this.parseContext()), !e) {
                    if (!this.client || !this.client.getContext()) throw new Error("no suitable context for client, please specify context with start function");
                    e = {name: this.client.getContext().name, version: this.client.getContext().version}
                }
                if (e.name === s.serverContextName) throw new Error("client context must difference from server");
                if (i && !this.client) throw new Error("connect to other product must start self firstly");
                let r = new o.Client({context: e, socketPrex: t});
                this.singletonMap[t.toLowerCase()] = r, i || (this.client = r), r.on("message", e => {
                    if ("fire_event" === e.action) this.fireServerEvent(r, e.name, [e.__context].concat(e.args)); else if ("client_context_freer" === e.action) {
                        a.information("client on object freer", e);
                        do {
                            let t = e.rid;
                            if (t) {
                                if (!this.contextCallbackMap[t]) break;
                                delete this.contextCallbackMap[t]
                            }
                        } while (0)
                    } else if ("call_client_by_id" === e.action) this.callFunctionById(r, e.rid, e.s_rid, e.args); else if ("call_client_api" === e.action) this.callRegisterFunction(r, e); else if ("check_client_function" === e.action) {
                        let t = e.method, i = !0;
                        t && this.apis && this.apis[t] || (i = !1), this.sendAdapter(r, {
                            s_rid: e.s_rid,
                            action: "check_client_function_callback",
                            success: !0,
                            data: i
                        })
                    } else if (void 0 !== e.success && null !== e.success) {
                        let t = e;
                        this.client === r && this.emit("stat_call_function_back", r.getContext(), e);
                        const i = this.retCallbackMap[t.rid].callback;
                        i && (t.success ? i(null, t.data) : i(t.error, t.data)), delete this.retCallbackMap[t.rid]
                    }
                }), r.on("error", e => {
                    n && n("error", e), this.emit("socket-error", e, r.getContext(), i, r.isInprocess()), delete this.singletonMap[t.toLowerCase()]
                }), r.isInprocess() ? (n && n("connect"), this.emit("connect", r.getContext(), i, !0)) : r.on("connect", () => {
                    n && n("connect"), this.emit("connect", r.getContext(), i, !1)
                }), r.on("end", () => {
                    let e = r.isInprocess();
                    a.information("server is ended, and this client emit end", t, i, e), n && n("end", r.getContext(), i, e), this.emit("end", r.getContext(), i, e), delete this.singletonMap[t.toLowerCase()]
                }), this.registry(r)
            } while (0)
        }

        registerFunctions(e) {
            do {
                if (!e) break;
                let t = void 0;
                for (let i in e) if (this.apis.hasOwnProperty(i)) {
                    t = i;
                    break
                }
                if (t) throw new Error(`try to coverd function ${t}`);
                this.apis = Object.assign({}, this.apis, e)
            } while (0)
        }

        checkServerFunction(e) {
            return n(this, void 0, void 0, function* () {
                return this.internalCheckServerFunction(this.client, e)
            })
        }

        callServerFunction(e, ...t) {
            return n(this, void 0, void 0, function* () {
                let i = null, n = yield this.callServerFunctionEx(e, ...t);
                return n && (i = n[0]), i
            })
        }

        callServerFunctionEx(e, ...t) {
            return this.internalCallServerFunctionEx(this.client, e, ...t)
        }

        isRemoteClientExist(e) {
            return this.internalIsRemoteClientExist(this.client, e)
        }

        checkRemoteFunction(e, t) {
            return this.internalCheckRemoteFunction(this.client, e, t)
        }

        callRemoteClientFunction(e, t, ...i) {
            return this.internalCallRemoteClientFunction(this.client, e, t, ...i)
        }

        notifyFreer(e, t) {
            this.sendAdapter(this.client, {action: "client_context_freer", dst: e, rid: t})
        }

        callRemoteContextById(e, t, ...i) {
            this.sendAdapter(this.client, {dst: e, action: "call_remote_context_by_id", rid: t, args: i})
        }

        attachServerEvent(e, t) {
            return this.internalAttachServerEvent(this.client, e, t)
        }

        detachServerEvent(e, t) {
            this.internalDetachServerEvent(this.client, e, t)
        }

        broadcastEvent(e, ...t) {
            this.sendAdapter(this.client, {action: "broadcast", name: e, args: t})
        }

        crossCheckServerFunction(e, t) {
            return n(this, void 0, void 0, function* () {
                {
                    if (!e) throw new Error("An argument for 'productId' was not provided");
                    let i = this.singletonMap[e.toLowerCase()];
                    if (!i) throw new Error("Please call the 'start' interface first");
                    return this.internalCheckServerFunction(i, t)
                }
            })
        }

        crossCallServerFunction(e, t, ...i) {
            return n(this, void 0, void 0, function* () {
                let n = null, r = yield this.crossCallServerFunctionEx(e, t, ...i);
                return r && (n = r[0]), n
            })
        }

        crossCallServerFunctionEx(e, t, ...i) {
            {
                if (!e) throw new Error("An argument for 'productId' was not provided");
                let n = this.singletonMap[e.toLowerCase()];
                if (!n) throw new Error("Please call the 'start' interface first");
                if (!t) throw new Error("An argument for 'funcName' was not provided");
                return this.internalCallServerFunctionEx(n, t, ...i)
            }
        }

        crossIsRemoteClientExist(e, t) {
            return n(this, void 0, void 0, function* () {
                {
                    if (!e) throw new Error("An argument for 'productId' was not provided");
                    let i = this.singletonMap[e.toLowerCase()];
                    if (!i) throw new Error("Please call the 'start' interface first");
                    return this.internalIsRemoteClientExist(i, t)
                }
            })
        }

        crossCheckRemoteFunction(e, t, i) {
            return n(this, void 0, void 0, function* () {
                {
                    if (!e) throw new Error("An argument for 'productId' was not provided");
                    let n = this.singletonMap[e.toLowerCase()];
                    if (!n) throw new Error("Please call the 'start' interface first");
                    if (!t) throw new Error("An argument for 'remoteId' was not provided");
                    if (!i) throw new Error("An argument for 'funcName' was not provided");
                    return this.internalCheckRemoteFunction(n, t, i)
                }
            })
        }

        crossCallRemoteClientFunction(e, t, i, ...n) {
            {
                if (!e) throw new Error("An argument for 'productId' was not provided");
                let r = this.singletonMap[e.toLowerCase()];
                if (!r) throw new Error("Please call the 'start' interface first");
                if (!t) throw new Error("An argument for 'remoteId' was not provided");
                if (!i) throw new Error("An argument for 'funcName' was not provided");
                return this.internalCallRemoteClientFunction(r, t, i, ...n)
            }
        }

        crossAttachServerEvent(e, t, i) {
            let n = void 0;
            {
                if (!e) throw new Error("An argument for 'productId' was not provided");
                let r = this.singletonMap[e.toLowerCase()];
                if (!r) throw new Error("Please call the 'start' interface first");
                if (!t) throw new Error("An argument for 'eventName' was not provided");
                n = this.internalAttachServerEvent(r, t, i)
            }
            return n
        }

        crossDetachServerEvent(e, t, i) {
            {
                if (!e) throw new Error("An argument for 'productId' was not provided");
                let n = this.singletonMap[e.toLowerCase()];
                if (!n) throw new Error("Please call the 'start' interface first");
                if (!t) throw new Error("An argument for 'eventName' was not provided");
                this.internalDetachServerEvent(n, t, i)
            }
        }

        crossBroadcastEvent(e, t, ...i) {
            {
                if (!e) throw new Error("An argument for 'productId' was not provided");
                let n = this.singletonMap[e.toLowerCase()];
                if (!n) throw new Error("Please call the 'start' interface first");
                if (!t) throw new Error("An argument for 'eventName' was not provided");
                this.sendAdapter(n, {
                    action: "broadcast",
                    name: t,
                    args: i,
                    __context: Object.assign({}, this.client.getContext())
                })
            }
        }

        registry(e) {
            let t = this.getFullContextName(this.client);
            return new Promise((i, n) => {
                do {
                    if (!t) {
                        i(!1);
                        break
                    }
                    let n = this.generateId();
                    const r = {alias: t, action: "register", rid: n};
                    let o = (e, n) => {
                        e ? (a.error("register error", e.message), i(n)) : i(t)
                    };
                    this.retCallbackMap[n] = Object.assign({callback: o}, r), this.sendAdapter(e, r)
                } while (0)
            })
        }

        getNow() {
            return Date.now()
        }

        sendAdapter(e, t) {
            do {
                if (!t) break;
                let i = this.getNow();
                if (t.timestamp ? t.timestamp = [...t.timestamp].concat(i) : t.timestamp = [].concat(i), !t.__context) {
                    let i = e.getContext();
                    i && (t = Object.assign({__context: i}, t))
                }
                e.isInprocess() ? (a.information("send to server in process"), global.__xdasIPCServer.emit("message", t, e)) : e.send(t)
            } while (0)
        }

        parseContext() {
            let e = void 0;
            do {
                let t = "";
                for (let e = 0; e < process.argv.length; e++) {
                    let i = process.argv[e];
                    if (0 === i.indexOf("--xdas-plugin-name=", 0)) {
                        t = i.substr("--xdas-plugin-name=".length);
                        break
                    }
                }
                if (!t) break;
                e = {name: t}
            } while (0);
            return e
        }

        generateId() {
            return this.rid++
        }

        getFullContextName(e, t) {
            let i = "";
            do {
                if (t === s.serverContextName) {
                    i = t;
                    break
                }
                if (void 0 === t) {
                    i = `${e.getContext().productId}-${e.getContext().name}`.toLowerCase();
                    break
                }
                i = `${e.getContext().productId}-${t}`.toLowerCase()
            } while (0);
            return i
        }

        internalCheckServerFunction(e, t) {
            return new Promise((i, n) => {
                do {
                    if (!e) {
                        i(!1);
                        break
                    }
                    if (!t) {
                        i(!1);
                        break
                    }
                    let n = this.generateId();
                    const r = {action: "check_server_function_exist", method: t, rid: n};
                    let o = (e, t) => {
                        i(!e && t)
                    };
                    this.retCallbackMap[n] = Object.assign({callback: o}, r), this.sendAdapter(e, r)
                } while (0)
            })
        }

        internalCallServerFunctionEx(e, t, ...i) {
            return new Promise((n, r) => {
                do {
                    if (!e) {
                        n([null, "client doesn't ready"]);
                        break
                    }
                    if (!t) {
                        n([null, "funcName is not specifed"]);
                        break
                    }
                    e === this.client && this.emit("stat_call_function", this.client.getContext(), t);
                    let r = this.generateId();
                    if (i) for (let e = 0; e < i.length; e++) i[e] = this.convertFunction2IdEx(i[e]);
                    const o = {rid: r, method: t, args: i};
                    let s = (t, i) => {
                        t ? (a.error("callServerFunction error", t, e.getContext()), n([null, t])) : n([i, void 0])
                    };
                    this.retCallbackMap[r] = Object.assign({callback: s}, o), this.sendAdapter(e, o)
                } while (0)
            })
        }

        internalIsRemoteClientExist(e, t) {
            return new Promise((i, n) => {
                do {
                    if (!t) {
                        i([!1, "remote client alias is not specifed"]);
                        break
                    }
                    if (e === this.client && t.toLowerCase() === e.getContext().name.toLowerCase()) {
                        i([!0, "self is exist"]);
                        break
                    }
                    let n = this.generateId();
                    const r = {dst: this.getFullContextName(e, t), action: "check_client_exist", rid: n};
                    let o = (e, t) => {
                        i(e ? [!1, e] : [t, "success"])
                    };
                    this.retCallbackMap[n] = Object.assign({callback: o}, r), this.sendAdapter(e, r)
                } while (0)
            })
        }

        internalCheckRemoteFunction(e, t, i) {
            return new Promise((n, r) => {
                do {
                    if (!e) {
                        n(!1);
                        break
                    }
                    if (!t) {
                        n(!1);
                        break
                    }
                    if (!i) {
                        n(!1);
                        break
                    }
                    if (e === this.client && t.toLowerCase() === e.getContext().name.toLowerCase()) {
                        n(!(!this.apis || !this.apis[i]));
                        break
                    }
                    let r = this.generateId();
                    const o = {
                        action: "check_client_function_exist",
                        method: i,
                        rid: r,
                        src: this.getFullContextName(this.client),
                        dst: this.getFullContextName(e, t)
                    };
                    let s = (e, t) => {
                        n(!e && t)
                    };
                    this.retCallbackMap[r] = Object.assign({callback: s}, o), this.sendAdapter(e, o)
                } while (0)
            })
        }

        internalCallRemoteClientFunction(e, t, i, ...n) {
            return new Promise((r, o) => {
                do {
                    if (!e) {
                        r([null, "client doesn't ready"]);
                        break
                    }
                    if (!t) {
                        r([null, "remote client alias is not specifed"]);
                        break
                    }
                    if (!i) {
                        r([null, "funcName is not specifed"]);
                        break
                    }
                    let o = (e, t) => {
                        e ? (a.information("callRemoteClientFunction", e.message), r([null, e])) : r([t, void 0])
                    };
                    if (n) for (let e = 0; e < n.length; e++) n[e] = this.convertFunction2IdEx(n[e]);
                    let s = this.generateId();
                    const l = {
                        src: this.getFullContextName(this.client),
                        dst: this.getFullContextName(e, t),
                        action: "call_remote_client_api",
                        method: i,
                        args: n,
                        rid: s
                    };
                    this.retCallbackMap[s] = Object.assign({callback: o}, l), this.sendAdapter(e, l)
                } while (0)
            })
        }

        internalAttachServerEvent(e, t, i) {
            let n = e.getContext().productId.toLowerCase();
            this.eventCallbackMaps.hasOwnProperty(n) || (this.eventCallbackMaps[n] = {}), this.eventCallbackMaps[n].hasOwnProperty(t) || (this.eventCallbackMaps[n][t] = {}), s.isObjectEmpty(this.eventCallbackMaps[n][t]) && this.sendAdapter(e, {
                action: "attach_event",
                name: t
            });
            let r = this.generateId();
            return this.eventCallbackMaps[n][t][r] = i, r
        }

        internalDetachServerEvent(e, t, i) {
            let n = e.getContext().productId.toLowerCase();
            do {
                if (!this.eventCallbackMaps.hasOwnProperty(n)) break;
                if (!this.eventCallbackMaps[n].hasOwnProperty(t)) break;
                delete this.eventCallbackMaps[n][t][i], s.isObjectEmpty(this.eventCallbackMaps[n][t]) && this.sendAdapter(e, {
                    action: "detach_event",
                    name: t
                })
            } while (0)
        }

        fireServerEvent(e, t, ...i) {
            let n = e.getContext().productId.toLowerCase();
            do {
                if (!this.eventCallbackMaps.hasOwnProperty(n)) break;
                if (!this.eventCallbackMaps[n].hasOwnProperty(t)) break;
                let e = this.eventCallbackMaps[n][t];
                for (let t in e) {
                    let n = e[t];
                    n && n.apply(null, ...i)
                }
            } while (0)
        }

        callFunctionById(e, t, i, ...n) {
            let r = void 0, o = !1;
            do {
                const s = this.contextCallbackMap[t];
                if (!s) break;
                let a = void 0, l = void 0;
                try {
                    a = s.apply(null, ...n)
                } catch (e) {
                    l = e.message;
                    break
                }
                if (void 0 === i || null === i) break;
                if (r = {s_rid: i, action: "call_client_by_id_callback", success: !1}, void 0 !== l) {
                    r.error = l;
                    break
                }
                if (a && a.then) {
                    a.then(t => {
                        r.data = this.convertFunction2Id(t), r.success = !0, this.sendAdapter(e, r)
                    }).catch(t => {
                        r.error = t instanceof Error ? t.message : t, this.sendAdapter(e, r)
                    }), o = !0;
                    break
                }
                r.success = !0, r.data = this.convertFunction2Id(a)
            } while (0);
            !o && r && this.sendAdapter(e, r)
        }

        convertFunction2Id(e) {
            let t = e;
            if ("function" == typeof e) {
                let i = this.generateId();
                this.contextCallbackMap[i] = e, t = i
            } else if (e && "object" == typeof e) for (let t in e) {
                let i = e[t];
                if ("function" == typeof i) {
                    let n = this.generateId();
                    this.contextCallbackMap[n] = i, e[t] = n
                } else i && "object" == typeof i && (e[t] = this.convertFunction2Id(i))
            }
            return t
        }

        convertFunction2IdEx(e) {
            let t = e;
            if ("function" == typeof e) {
                let i = this.generateId();
                this.contextCallbackMap[i] = e, t = {"__nodeipc_callback_id__{A9C9D760-14E8-42CB-A3CB-9C0A0DDFD732}": i}
            } else if (e && "object" == typeof e) for (let t in e) {
                let i = e[t];
                if ("function" == typeof i) {
                    let n = this.generateId();
                    this.contextCallbackMap[n] = i, e[t] = {"__nodeipc_callback_id__{A9C9D760-14E8-42CB-A3CB-9C0A0DDFD732}": n}
                } else i && "object" == typeof i && (e[t] = this.convertFunction2IdEx(i))
            }
            return t
        }

        decodeParameter(e, t) {
            let i = e;
            do {
                if (!e) break;
                if ("object" != typeof e) break;
                let n = e["__nodeipc_callback_id__{A9C9D760-14E8-42CB-A3CB-9C0A0DDFD732}"];
                if (n) {
                    i = ((...e) => {
                        this.callRemoteContextById(t, n, ...e)
                    }), global.__xdasObjectLiftMonitor && global.__xdasObjectLiftMonitor.setObjectFreer(i, {
                        remoteId: t,
                        callbackId: n
                    }, l);
                    break
                }
                for (let i in e) {
                    let n = e[i];
                    e[i] = this.decodeParameter(n, t)
                }
            } while (0);
            return i
        }

        callRegisterFunction(e, t) {
            let i = void 0, n = !1;
            do {
                if (!t) break;
                let r = t.method;
                if (!r) break;
                let o = this.getNow();
                if (i = {
                    s_rid: t.s_rid,
                    action: "remote_client_callback",
                    success: !1,
                    rid: t.rid,
                    method: t.method,
                    src: t.src,
                    timestamp: t.timestamp ? t.timestamp.concat(o) : [].concat(o)
                }, !this.apis || !this.apis[r]) {
                    i.error = `callRegisterFunction ${r} is undefined`;
                    break
                }
                let s = void 0, a = this.decodeParameter(t.args, t.src);
                try {
                    s = this.apis[r].apply(null, [t.src].concat(a))
                } catch (e) {
                    i.error = e.message;
                    break
                }
                if (s && s.then) {
                    s.then(t => {
                        i.data = this.convertFunction2IdEx(t), i.success = !0, this.sendAdapter(e, i)
                    }).catch(t => {
                        i.error = t instanceof Error ? t.message : t, this.sendAdapter(e, i)
                    }), n = !0;
                    break
                }
                i.success = !0, i.data = this.convertFunction2IdEx(s)
            } while (0);
            a.information("callRegisterFunction", i), !n && i && this.sendAdapter(e, i)
        }
    }), c = global.__xdasIPCClienInstance, t.client = c
}, function (e, t, i) {
    e.exports = i(8)(201)
}, function (e, t) {
    e.exports = require("util")
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(1).default.getLogger("async-remote-call"), o = i(35), s = i(14), a = i(6);
    t.asyncRemoteCall = new class extends s.EventEmitter {
        constructor() {
            super(), this.mapObj = new Map, this.mapObjIniting = new Map, "renderer" !== process.type && r.error('can not import "renderer-process-call" module in non-renderer process', process.type)
        }

        getAppName() {
            return n(this, void 0, void 0, function* () {
                if (void 0 === this.appName) {
                    let e = yield this.getApp();
                    this.appName = yield e.getName()
                }
                return this.appName
            })
        }

        getAppVersion() {
            return n(this, void 0, void 0, function* () {
                if (void 0 === this.appVersion) {
                    let e = yield this.getApp();
                    this.appVersion = yield e.getVersion()
                }
                return this.appVersion
            })
        }

        getProcess() {
            return n(this, void 0, void 0, function* () {
                return o.global.process.__resolve()
            })
        }

        getIpcMain() {
            return n(this, void 0, void 0, function* () {
                return this.getCurrentObject("ipcMain")
            })
        }

        getDialog() {
            return n(this, void 0, void 0, function* () {
                return this.getCurrentObject("dialog")
            })
        }

        getApp() {
            return n(this, void 0, void 0, function* () {
                return this.getCurrentObject("app")
            })
        }

        getShell() {
            return n(this, void 0, void 0, function* () {
                return this.getCurrentObject("shell")
            })
        }

        getMenu() {
            return n(this, void 0, void 0, function* () {
                return this.getCurrentObject("Menu")
            })
        }

        getScreen() {
            return n(this, void 0, void 0, function* () {
                return this.getCurrentObject("screen")
            })
        }

        getBrowserWindow() {
            return n(this, void 0, void 0, function* () {
                return this.getCurrentObject("BrowserWindow")
            })
        }

        getGlobalShortcut() {
            return n(this, void 0, void 0, function* () {
                return this.getCurrentObject("globalShortcut")
            })
        }

        getCurrentWebContents() {
            return n(this, void 0, void 0, function* () {
                let e = this.mapObj.get("currentWebContents");
                return void 0 === e && (this.mapObjIniting.get("currentWebContents") ? e = yield new Promise(e => n(this, void 0, void 0, function* () {
                    this.on("OnInitCurrentWebContents", t => {
                        e(t)
                    })
                })) : (this.mapObjIniting.set("currentWebContents", !0), e = yield o.getCurrentWebContents().__resolve(), this.mapObjIniting.set("currentWebContents", !1), this.emit("OnInitCurrentWebContents", e), this.listeners("OnInitCurrentWebContents").forEach(e => {
                    this.removeListener("OnInitCurrentWebContents", e)
                })), this.mapObj.set("currentWebContents", e)), e
            })
        }

        getCurrentWindow() {
            return n(this, void 0, void 0, function* () {
                let e = this.mapObj.get("currentWindow");
                return void 0 === e && (this.mapObjIniting.get("currentWindow") ? e = yield new Promise(e => n(this, void 0, void 0, function* () {
                    this.on("OnInitCurrentWindow", t => {
                        e(t)
                    })
                })) : (this.mapObjIniting.set("currentWindow", !0), e = yield o.getCurrentWindow().__resolve(), this.mapObjIniting.set("currentWindow", !1), this.emit("OnInitCurrentWindow", e), this.listeners("OnInitCurrentWindow").forEach(e => {
                    this.removeListener("OnInitCurrentWindow", e)
                })), this.mapObj.set("currentWindow", e)), e
            })
        }

        getCurrentObject(e) {
            return n(this, void 0, void 0, function* () {
                let t = this.mapObj.get(e);
                return a.isNullOrUndefined(t) && (this.mapObjIniting.get(e) ? t = yield new Promise(t => n(this, void 0, void 0, function* () {
                    this.on(e, e => {
                        t(e)
                    })
                })) : (this.mapObjIniting.set(e, !0), t = yield o.electron[e].__resolve(), this.mapObjIniting.set(e, !1), this.emit(e, t), this.listeners(e).forEach(t => {
                    this.removeListener(e, t)
                })), this.mapObj.set(e, t)), t
            })
        }
    }
}, function (e, t) {
    e.exports = vendor_e17de3ecacc329e8b720
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), t.default = function (e) {
        return require(e)
    }
}, function (e, t, i) {
    "use strict";
    var n = i(71), r = i(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 i = 0, n = e.length; i < n; i++) t.call(null, e[i], i, 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 i(i, n) {
                "object" == typeof t[n] && "object" == typeof i ? t[n] = e(t[n], i) : t[n] = i
            }

            for (var n = 0, r = arguments.length; n < r; n++) c(arguments[n], i);
            return t
        }, extend: function (e, t, i) {
            return c(t, function (t, r) {
                e[r] = i && "function" == typeof t ? n(t, i) : t
            }), e
        }, trim: function (e) {
            return e.replace(/^\s*/, "").replace(/\s*$/, "")
        }
    }
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(2), s = i(1), a = i(13), l = i(22), 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(), i = 0;
            for (let n = 0; n < t.length; n++) {
                if (l.ThunderHelper.getDriveType(t[n]) === l.ThunderHelper.DriverType.DRIVE_FIXED) {
                    let r = l.ThunderHelper.getDriveInfo(t[n]);
                    i < r.freeBytes && t[n] !== e && (i = r.freeBytes, e = t[n])
                }
            }
            return e.substring(0, 1) + ":\\迅雷下载"
        }

        function s(e) {
            let t = (e.style.webkitTransform || getComputedStyle(e, "").getPropertyValue("-webkit-transform") || e.style.transform || getComputedStyle(e, "").getPropertyValue("transform")).match(/\-?[0-9]+\.?[0-9]*/g);
            return {x: parseInt(t && (t[12] || t[4]) || "0", 10), y: parseInt(t && (t[13] || t[5]) || "0", 10)}
        }

        e.formatSize = function (e, t) {
            0 === t || (t = t || 2);
            let i = "0B";
            if ("number" == typeof e && e > 0) {
                let n = ["B", "KB", "MB", "GB", "TB"], r = 0, o = e;
                for (; o >= 1e3 && !(r >= 4);) o /= 1024, r += 1;
                i = -1 === String(o).indexOf(".") ? o + n[r] : o.toFixed(t) + n[r]
            }
            return i
        }, e.formatSizeCustom = function (e, t = 2, i = 5) {
            let n = "0B";
            if ("number" == typeof e && e > 0) {
                let r = ["B", "KB", "MB", "GB", "TB"], o = 0, s = e;
                for (; s >= 1e3 && !(o >= 4);) s /= 1024, o += 1;
                if (-1 === String(s).indexOf(".")) n = s + r[o]; else {
                    let e = s.toFixed(t);
                    e.length <= i ? n = "KB" !== r[o] && "MB" !== r[o] || 1 === t ? e + r[o] : s.toFixed(1) + r[o] : ("." === (e = e.substr(0, i))[i - 1] && (e = e.substr(0, i - 1)), n = e + r[o])
                }
            }
            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), i = null;
            try {
                i = JSON.parse(t)
            } catch (e) {
                c.warning(e)
            }
            return i
        }, e.swap = function (e, t, i) {
            do {
                if (t < 0 || t >= e.length) break;
                if (i < 0 || i >= e.length) break;
                if (t === i) break;
                e[t] = e.splice(i, 1, e[t])[0]
            } while (0);
            return e
        }, e.compareNocase = function (e, t) {
            let i = !1;
            do {
                if (void 0 === e && void 0 === t) {
                    i = !0;
                    break
                }
                if (void 0 === e || void 0 === t) break;
                if ("string" != typeof e || "string" != typeof t) break;
                i = e.toLowerCase() === t.toLowerCase()
            } while (0);
            return i
        }, e.parseCommandLine = function (e) {
            let t = 0, i = "", n = !1, r = [], o = e.length;
            for (let s = 0; s < o; s++) {
                let a = e[s];
                if ('"' !== a && "'" !== a || ("" === i ? (n = !0, i = a) : i === a && (n = !1, i = "")), " " !== a || n || s === o - 1) {
                    if (s === o - 1) {
                        let i = e.substring(t);
                        "" !== i.trim() && r.push(d(i))
                    }
                } else {
                    let i = e.substring(t, s);
                    "" !== i.trim() && r.push(d(i)), t = s + 1
                }
            }
            return r
        }, e.getThunderTempPath = function (e, t) {
            return n(this, void 0, void 0, function* () {
                const n = yield Promise.resolve().then(() => i(12));
                let r = o.join(n.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((i, n) => {
                e += 0 === n ? "?" : "&", e += `${i}=${t[i]}`
            }), 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 i of t) if ("text/plain" === i) {
                e = !0;
                break
            }
            return e
        }, e.keywordsHighLight = function (e, t, i) {
            if (!e) return "";
            if (!t) return e;
            if (0 === e.length) return e;
            if (0 === t.length) return e;
            let n = /\\/, 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(n) > 0) return e;
            i = void 0 === i || null === i ? "#FF0000" : i;
            let o = "", s = ["\\[", "\\^", "\\*", "\\(", "\\)", "\\|", "\\?", "\\$", "\\.", "\\+"], a = "", l = "|";
            for (let e = 0; e < r.length; e++) {
                for (let t = 0; t < s.length; t++) {
                    let i = new RegExp(s[t], "g");
                    r[e] = r[e].replace(i, 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:' + i + '">' + 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, i]) => {
                e.style[t] = i
            })
        }, e.setCSSProperties = function (e, t) {
            Object.entries(t).forEach(([t, i]) => {
                e.style.setProperty(t, i)
            })
        }, e.versionCompare = function (e, t) {
            let i = e.split("."), n = t.split("."), r = 0;
            for (let e = 0; e < i.length; e++) {
                if (Number(i[e]) - Number(n[e]) > 0) {
                    r = 1;
                    break
                }
                if (Number(i[e]) - Number(n[e]) < 0) {
                    r = -1;
                    break
                }
            }
            return r
        }, e.throttle = function (e, t) {
            let i, n = 0;
            return (...r) => {
                const o = Date.now();
                clearTimeout(i), o - n > t ? (e(...r), n = o) : i = setTimeout(() => {
                    e(...r), n = o
                }, t)
            }
        }, e.debounce = function (e, t) {
            let i = null;
            return (...n) => {
                i && clearTimeout(i), i = setTimeout(() => {
                    e(...n)
                }, t)
            }
        }, e.getElementFixed = function (e) {
            let t = e.offsetLeft, i = e.offsetTop, n = e.offsetParent;
            for (; null !== n;) {
                let e = s(n);
                t += n.offsetLeft + e.x, i += n.offsetTop + e.y, n = n.offsetParent
            }
            return {x: t, y: i}
        }, e.escapeHTML = function (e) {
            return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;")
        }, e.unescapeHTML = function (e) {
            return e.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&").replace(/&quot;/g, '"').replace(/&apos;/g, "'")
        }, e.isValidPath = function (e) {
            let t = !1;
            do {
                let i = "", n = "";
                if (/^[a-zA-Z]:\\/.test(e)) i = e.slice(3); else {
                    if (0 !== e.indexOf("\\\\")) break;
                    {
                        let t = e.indexOf("\\", 2);
                        if (-1 === t || t === e.length - 1) break;
                        if ("" === (n = (i = e.slice(2)).substr(0, t - 2))) break
                    }
                }
                if (/[\*\"<>\?:\|]/i.test(i)) break;
                if (e.length > 256) break;
                if ("" === n) {
                    t = !0;
                    break
                }
                let r = n.indexOf(".ipv6-literal.net");
                -1 !== r ? (-1 !== (r = (n = n.substr(0, r)).indexOf("%")) && (n = n.substr(0, r)), n = n.replace(/\-/g, ":"), /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/.test(n) && (t = !0)) : /(?=(\b|\D))(((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))(?=(\b|\D))/.test(n) && (t = !0)
            } while (0);
            return t
        };
        let h = void 0;

        function p(e, t = "normal 12px sans-serif") {
            h || (h = document.createElement("canvas"));
            let i = h.getContext("2d");
            return i.font = t, i.measureText(e).width
        }

        function f(e, t, i = "normal 12px sans-serif", n = 1) {
            function r(e, t, n, o, s) {
                let a = -1;
                do {
                    if (e > t) {
                        a = t;
                        break
                    }
                    let l = Math.round((e + t) / 2), c = p(`${n.substr(0, l)}...${o}`, i);
                    if (s === c) {
                        a = l;
                        break
                    }
                    if (s > c) {
                        if (Math.round(s) === Math.round(c)) {
                            a = l;
                            break
                        }
                        a = r(l + 1, t, n, o, s)
                    } else if (c > s) {
                        if (Math.round(s) === Math.round(c)) {
                            a = l - 1;
                            break
                        }
                        a = r(e, l - 1, n, o, s)
                    }
                } while (0);
                return a
            }

            let s = e;
            do {
                let a = t.offsetWidth * n;
                if (a > p(e, i)) break;
                let l = o.extname(e);
                "" !== l && (l = l.substring(1));
                let c = e.substr(0, e.length - l.length - 1);
                if (!c) break;
                let u = r(0, c.length, c, l, a);
                if (-1 === u) break;
                s = `${c.substr(0, u - 2 * (n - 1))}...${l}`
            } while (0);
            return s
        }

        e.getTextWidth = p, e.getOmitName = f, e.getOmitNameMultiLine = function (e, t, i) {
            return f(e, t, "normal 12px microsoft yahei", 2)
        }, e.setTimeoutAw = function (e, t) {
            return new Promise((i, n) => {
                setTimeout(() => {
                    t && t(), i()
                }, e)
            })
        }
    }(t.ThunderUtil || (t.ThunderUtil = {}))
}, function (e, t) {
    e.exports = require("os")
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

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

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

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

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

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

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

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

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

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

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

        e.readFileAW = function (e) {
            return n(this, void 0, void 0, function* () {
                let t = null;
                if (void 0 !== e) {
                    const i = s(r.readFile);
                    try {
                        t = yield i(e)
                    } catch (e) {
                        a.warning(e)
                    }
                }
                return t
            })
        }, e.writeFileAW = function (e, t) {
            return n(this, void 0, void 0, function* () {
                let i = !1;
                if (void 0 !== e && null !== t) {
                    const n = s(r.writeFile);
                    try {
                        yield n(e, t), i = !0
                    } catch (e) {
                        a.warning(e)
                    }
                }
                return i
            })
        }, e.existsAW = t, e.dirExistsAW = function (e) {
            return n(this, void 0, void 0, function* () {
                let i = !1;
                do {
                    if (!(i = yield t(e))) break;
                    let n = yield h(e);
                    if (!n) break;
                    i = n.isDirectory()
                } while (0);
                return i
            })
        }, e.mkdirAW = l, e.rmdirAW = c, e.unlinkAW = u, e.readdirAW = d, e.lstatAW = h, e.rmdirsAW = f, e.mkdirsAW = A, e.renameAW = function (e, t) {
            return n(this, void 0, void 0, function* () {
                if (void 0 !== e && void 0 !== t) {
                    const i = s(r.rename);
                    try {
                        yield i(e, t)
                    } catch (e) {
                        a.warning(e)
                    }
                }
            })
        }, e.copyFileAW = v, e.copyDirsAW = function e(i, r) {
            return n(this, void 0, void 0, function* () {
                let n = !1, s = yield h(i);
                if (s.isDirectory()) {
                    n = yield A(r);
                    let a = (yield d(i)) || [];
                    for (let l = 0; l < a.length; l++) {
                        let c = o.join(i, a[l]), u = o.join(r, a[l]);
                        (n = yield t(c)) && (n = (s = yield h(c)).isDirectory() ? yield e(c, u) : yield v(c, u))
                    }
                }
                return n
            })
        }, e.mkdtempAW = function () {
            return n(this, void 0, void 0, function* () {
                let e = !1;
                const t = s(r.mkdtemp), n = (yield Promise.resolve().then(() => i(12))).tmpdir();
                try {
                    e = yield t(`${n}${o.sep}`)
                } catch (e) {
                    a.warning(e)
                }
                return e
            })
        }, e.deleteEmptySubDirs = function (e, i) {
            return n(this, void 0, void 0, function* () {
                let n = !0;
                e = o.normalize(e), i = o.normalize(i), e.length > 3 && "\\" === e[e.length - 1] && (e = e.slice(0, e.length - 1)), i.length > 3 && "\\" === i[i.length - 1] && (i = i.slice(0, i.length - 1));
                do {
                    if (0 !== e.indexOf(i)) {
                        n = !1;
                        break
                    }
                    let r = e;
                    for (; r !== i;) {
                        if ((yield t(r)) && !(yield c(r))) {
                            n = !1;
                            break
                        }
                        r = o.dirname(r)
                    }
                } while (0);
                return n
            })
        }, e.getFileSize = function e(i) {
            return n(this, void 0, void 0, function* () {
                let n = 0;
                do {
                    if (!i) break;
                    if (!(yield t(i))) break;
                    let r = yield h(i);
                    if (r) if (r.isDirectory()) {
                        let t = yield d(i);
                        for (let r = 0; r < t.length; r++) n += (yield e(o.join(i, t[r])))
                    } else n = r.size
                } while (0);
                return n
            })
        }, e.isDirectoryEmptyAW = function (e, i = !0) {
            return n(this, void 0, void 0, function* () {
                let n = !0;
                do {
                    if (!e) {
                        n = !1;
                        break
                    }
                    if (!(yield t(e))) {
                        n = i;
                        break
                    }
                    let r = yield h(e);
                    if (!r) {
                        n = !1;
                        break
                    }
                    if (!r.isDirectory()) {
                        n = !1;
                        break
                    }
                    if ((yield d(e)).length > 0) {
                        n = !1;
                        break
                    }
                } while (0);
                return n
            })
        }
    }(t.FileSystemAWNS || (t.FileSystemAWNS = {}))
}, function (e, t) {
    e.exports = require("events")
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(2), o = i(9), s = i(1).default.getLogger("XLStat");
    let a = o.default(r.join(__rootDir, "../bin/ThunderHelper.node"));

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

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

    !function (e) {
        let t = null;

        function i() {
            return t || (t = a.xlstat4), t
        }

        function r(e, t = "", r = "", o = 0, a = 0, c = 0, u = 0, d = "", h = 0) {
            return n(this, void 0, void 0, function* () {
                let n = 0;
                do {
                    if (void 0 === e) {
                        n = 1;
                        break
                    }
                    let p = l(d);
                    n = "browser" === process.type ? yield new Promise(s => {
                        n = i().asyncTrackEvent(e, t, r, o, a, c, u, p, h, e => {
                            s(e)
                        })
                    }) : i().trackEvent(e, t, r, o, a, c, u, p, h), s.information(e, t, r, o, a, c, u, p, h)
                } while (0);
                return n
            })
        }

        function o(e, t = 0) {
            do {
                if (void 0 === e) break;
                "browser" !== process.type && i().trackClick(e, t)
            } while (0)
        }

        e.asyncTrackEvent = r, e.trackEvent = function (e, t = "", i = "", n = 0, o = 0, s = 0, a = 0, l = "", c = 0) {
            r(e, t, i, n, o, s, a, l, c).catch()
        }, e.trackClick = o, e.trackShow = function (e, t = 0) {
            o(e, t)
        }, e.setUserID = function (e = 0, t = 0) {
            "browser" !== process.type && i().setUserID(e, t)
        }, e.initParam = function (e) {
            return n(this, void 0, void 0, function* () {
                let t = -1;
                return t = "browser" === process.type ? yield new Promise(t => {
                    i().asyncInitParam(e, (e, i) => {
                        t(e ? i : -1)
                    })
                }) : yield new Promise(t => {
                    i().initParamRemote(e, e => {
                        t(e)
                    })
                })
            })
        }, e.asyncUninit = function (e) {
            return n(this, void 0, void 0, function* () {
                "browser" === process.type && (yield new Promise(t => {
                    i().asyncUninit(e, () => {
                        t()
                    })
                }))
            })
        }, e.uninit = function () {
            "browser" === process.type && i().waitFinish()
        }
    }(t.XLStatNS || (t.XLStatNS = {}))
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t, i, n, r, o, s, a, l, c, u, d, h, p, f, A, v, g, m, y, w;
        !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.FileOccupied = 211] = "FileOccupied", e[e.FileAccessDenied = 212] = "FileAccessDenied", 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", e[e.torrentFileNotExist = 10002] = "torrentFileNotExist"
        }(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"
        }(i = 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"
        }(n = 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.TotalDownloadSize = 8] = "TotalDownloadSize", e[e.CreateTime = 9] = "CreateTime", e[e.CompletionTime = 10] = "CompletionTime", e[e.DownloadingPeriod = 11] = "DownloadingPeriod", e[e.Progress = 12] = "Progress", e[e.RecycleTime = 13] = "RecycleTime", e[e.FileCreated = 14] = "FileCreated", e[e.Forbidden = 15] = "Forbidden", e[e.CategoryId = 16] = "CategoryId", e[e.UserRead = 17] = "UserRead", e[e.OpenOnComplete = 18] = "OpenOnComplete", e[e.GroupTaskId = 19] = "GroupTaskId", e[e.DownloadSubTask = 20] = "DownloadSubTask", e[e.NameType = 21] = "NameType", e[e.OwnerProduct = 22] = "OwnerProduct", e[e.FileIndex = 23] = "FileIndex", e[e.NameFixed = 24] = "NameFixed", e[e.ValidDownloadSize = 25] = "ValidDownloadSize", e[e.RealDownloadSize = 26] = "RealDownloadSize", e[e.ResourceLegal = 27] = "ResourceLegal", e[e.TaskType = 28] = "TaskType", e[e.ErrorCode = 29] = "ErrorCode", e[e.PlayPosition = 30] = "PlayPosition", e[e.Duration = 31] = "Duration", e[e.NumberEnd = 32] = "NumberEnd", e[e.BooleanStart = 4096] = "BooleanStart", e[e.Destroyed = 4097] = "Destroyed", e[e.Background = 4098] = "Background", e[e.Moving = 4099] = "Moving", e[e.BooleanEnd = 4100] = "BooleanEnd", e[e.StringStart = 8192] = "StringStart", e[e.TaskName = 8193] = "TaskName", e[e.SavePath = 8194] = "SavePath", e[e.RelativePath = 8195] = "RelativePath", e[e.TaskUrl = 8196] = "TaskUrl", e[e.RefUrl = 8197] = "RefUrl", e[e.Cid = 8198] = "Cid", e[e.Gcid = 8199] = "Gcid", e[e.Cookie = 8200] = "Cookie", e[e.ProductInfo = 8201] = "ProductInfo", e[e.Origin = 8202] = "Origin", e[e.Description = 8203] = "Description", e[e.UserData = 8204] = "UserData", e[e.OriginName = 8205] = "OriginName", e[e.HTTPContentType = 8206] = "HTTPContentType", e[e.CategoryViewId = 8207] = "CategoryViewId", e[e.YunTaskId = 8208] = "YunTaskId", e[e.StringEnd = 8209] = "StringEnd", e[e.ObjectStart = 12288] = "ObjectStart", e[e.ObjectEnd = 12289] = "ObjectEnd"
        }(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", e[e.ValidDownloadSize = 8388608] = "ValidDownloadSize", e[e.OriginName = 16777216] = "OriginName", e[e.HTTPContentType = 33554432] = "HTTPContentType", e[e.PlayPosition = 67108864] = "PlayPosition", e[e.Duration = 134217728] = "Duration", e[e.YunTaskId = 268435456] = "YunTaskId"
        }(u = e.TaskDetailChangedFlags || (e.TaskDetailChangedFlags = {})), function (e) {
            e[e.UnKnown = 0] = "UnKnown"
        }(d = e.BtSubFileDetailChangedFlags || (e.BtSubFileDetailChangedFlags = {})), function (e) {
            e[e.UnKnown = 0] = "UnKnown"
        }(h = 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 = 4096] = "StringStart", e[e.FinalName = 4097] = "FinalName", e[e.RelativePath = 4098] = "RelativePath", e[e.FileName = 4099] = "FileName", e[e.FilePath = 4100] = "FilePath", e[e.Cid = 4101] = "Cid", e[e.Gcid = 4102] = "Gcid", e[e.UserRead = 4103] = "UserRead", e[e.PlayPosition = 4104] = "PlayPosition", e[e.Duration = 4105] = "Duration", e[e.StringEnd = 4106] = "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"
        }(f = e.KeyType || (e.KeyType = {})), function (e) {
            e[e.NameInclude = 1] = "NameInclude", e[e.BtDisplayNameInclude = 2] = "BtDisplayNameInclude"
        }(A = e.SearchKeyType || (e.SearchKeyType = {})), function (e) {
            e[e.ExtEqual = 1] = "ExtEqual", e[e.NameLikeAndExtEqual = 2] = "NameLikeAndExtEqual", e[e.TaskTypeEqual = 4] = "TaskTypeEqual"
        }(v = 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"
        }(g = 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"
        }(m = e.TaskInsertReason || (e.TaskInsertReason = {})), function (e) {
            e[e.Unknown = -1] = "Unknown", e[e.Manual = 0] = "Manual", e[e.PauseAll = 1] = "PauseAll", e[e.DeleteTask = 2] = "DeleteTask", e[e.TaskJammed = 3] = "TaskJammed", e[e.LowSpeed = 4] = "LowSpeed", e[e.MaxDownloadReduce = 5] = "MaxDownloadReduce", e[e.MoveTask = 6] = "MoveTask", e[e.SelectDownloadLists = 7] = "SelectDownloadLists", e[e.PrivateLoginOut = 8] = "PrivateLoginOut", e[e.FreeDownload = 9] = "FreeDownload", e[e.Exit = 10] = "Exit"
        }(y = e.TaskStopReason || (e.TaskStopReason = {})), function (e) {
            e[e.RESOURCE_FROM_MEMBER = 1] = "RESOURCE_FROM_MEMBER", e[e.RESOURCE_FROM_OFFLINE = 2] = "RESOURCE_FROM_OFFLINE", e[e.RESOURCE_FROM_CRYSTAL_LARGE = 4] = "RESOURCE_FROM_CRYSTAL_LARGE", e[e.RESOURCE_FROM_CRYSTAL_SMALL = 8] = "RESOURCE_FROM_CRYSTAL_SMALL", e[e.RESOURCE_FROM_DCDN = 16] = "RESOURCE_FROM_DCDN", e[e.RESOURCE_FROM_FREEDCDN = 32] = "RESOURCE_FROM_FREEDCDN"
        }(w = e.XLResourceFrom || (e.XLResourceFrom = {}))
    }(t.DownloadKernel || (t.DownloadKernel = {}))
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(2);
    let r, o = console;

    function s(e = 5) {
        let t = /at\s+(.*)\s+\((.*):(\d*):(\d*)\)/i, i = /at\s+()(.*):(\d*):(\d*)/i,
            r = (new Error).stack.split("\n").slice(e + 1);
        r.shift();
        let o = [];
        return r.forEach((e, r) => {
            let s = t.exec(e) || i.exec(e), a = {};
            s && 5 === s.length && (a.method = s[1], a.path = s[2], a.line = s[3], a.pos = s[4], a.file = n.basename(a.path), o.push(a))
        }), o
    }

    if (r = "renderer" === process.type ? "[Renderer] [async-remote]:" : "browser" === process.type ? "[Browser] [async-remote]:" : `[${process.type}] [async-remote]`, t.traceback = function (e = 5) {
        return s(e).map(e => e.method + "@(" + e.file + ")").join(" <= ")
    }, t.time = function (...e) {
        o.time(...e)
    }, t.timeEnd = function (...e) {
        o.timeEnd(...e)
    }, t.trace = function (...e) {
        let t = s(), i = "";
        t[0] && t[0].method && (i = i), o.trace(r, ...e)
    }, t.info = function (...e) {
        let t = s(), i = "anonymous";
        t[0] && t[0].method && (i = i), o.info(r, "[" + i + "]", e.join(","))
    }, t.warn = function (...e) {
        let t = s(), i = "";
        t[0] && t[0].method && (i = i), o.warn("<WARN>" + r, "[" + i + "]", e.join(","))
    }, t.error = function (...e) {
        let t = s(), i = "";
        t[0] && t[0].method && (i = i), o.error("<ERROR>" + r, "[" + i + "]", e.join(","))
    }, t.log = function (...e) {
        o.log(r, ...e)
    }, !process.env.DEBUG_ASYNC_REMOTE) {
        let e = function () {
        };
        t.traceback = e, t.time = e, t.timeEnd = e, t.trace = e, t.info = e, t.warn = e, t.error = e, t.log = e
    }
}, function (e, t, i) {
    "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.channelRMNewTaskClose = "RM_NEWTASK_CLOSE", e.channelRMPreNewTaskClose = "RM_PRENEWTASK_CLOSE", 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.channelRMSetConfigValueReject = "RM_SET_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.channelRMShowSearchWindow = "RM_SHOW_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.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", e.channelRMConfigInitFinished = "RM_CONFIG_INIT_FINISHED", e.channelRMConfigValueChanged = "RM_CONFIG_VALUE_CHANGED", e.channelRMIndividuationBrowserMsg = "RM_INDIVIDUATION_BROWSER_MSG", e.channelMRIndividuationBrowserMsg = "MR_INDIVIDUATION_BROWSER_MSG", e.channelRMSetEnvironmentVariable = "RM_SET_ENVIRONMENT_VARIABLE", e.channelMREmbedPlayerPos = "MR_EMBED_PLAYER_POSITION", e.channelRMUpdateLogEnviroment = "RM_UPDATE_LOG_ENVIRONMENT", e.channelMRUpdateLogEnviroment = "MR_UPDATE_LOG_ENVIRONMENT"
    }(t.ThunderChannelList || (t.ThunderChannelList = {}))
}, function (e, t) {
    e.exports = require("fs")
}, function (e, t, i) {
    "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)
    })
}, function (e, t, i) {
    "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 = {}))
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(2), o = i(23), s = i(12), a = i(16), l = i(9).default(r.join(__rootDir, "../bin/ThunderHelper.node"));
    !function (e) {
        let t, i;

        function r(e) {
            let t = e;
            return /^[a-zA-Z]:\\/.test(e) ? t = e.slice(0, 3) : e && "\\" !== e[e.length - 1] && (t = e + "\\"), t
        }

        !function (e) {
            e[e.DRIVE_UNKNOWN = 0] = "DRIVE_UNKNOWN", e[e.DRIVE_NO_ROOT_DIR = 1] = "DRIVE_NO_ROOT_DIR", e[e.DRIVE_REMOVABLE = 2] = "DRIVE_REMOVABLE", e[e.DRIVE_FIXED = 3] = "DRIVE_FIXED", e[e.DRIVE_REMOTE = 4] = "DRIVE_REMOTE", e[e.DRIVE_CDROM = 5] = "DRIVE_CDROM", e[e.DRIVE_RAMDISK = 6] = "DRIVE_RAMDISK"
        }(t = e.DriverType || (e.DriverType = {})), function (e) {
            e[e.Unspecified = 0] = "Unspecified", e[e.HDD = 3] = "HDD", e[e.SSD = 4] = "SSD", e[e.SCM = 5] = "SCM"
        }(i = e.MediaType || (e.MediaType = {})), e.getDriveType = function (e) {
            return e = r(e), l.getDriveType(e)
        }, e.getDriveInfo = function (e) {
            return e = r(e), l.getDriveInfo(e)
        }, e.getFreePartitionSpace = function (e) {
            return e = r(e), l.getFreePartitionSpace(e)
        }, e.getLogicalDriveStrings = function () {
            return l.getLogicalDriveStrings()
        }, e.getPartitionSpace = function (e) {
            return e = r(e), l.getPartitionSpace(e)
        }, e.getSystemTempPath = function () {
            return l.getSystemTempPath()
        }, e.getTaskTypeFromUrl = function (e) {
            let t = l.getTaskTypeFromUrl(e);
            if (t === a.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 i = /:\/\/\[(.+?)\].*/.exec(e);
                i || (i = /^ftp:\/\/.*?\[(.+?)\].*/.exec(e)), i && i[1] && o.isIPv6(i[1]) && (t = a.DownloadKernel.TaskType.P2sp)
            }
            return t
        }, e.extractIcon = function (e, t) {
            return l.extractIcon(e, t)
        }, e.isWindow7 = function () {
            return 1 === l.isWin7()
        }, e.isWindow8OrLater = function () {
            let e = !1;
            do {
                let t = s.release();
                if (!t) break;
                let i = t.indexOf(".", 0);
                if (i < 0) break;
                let n = t.substring(0, i);
                if (!n) break;
                let r = parseInt(n, 10);
                r && r >= 8 && (e = !0)
            } while (0);
            return e
        }, e.isWindows10 = function () {
            let e = !1;
            do {
                let t = s.release();
                if (!t) break;
                if (0 === t.indexOf("10.0.")) {
                    e = !0;
                    break
                }
            } while (0);
            return e
        }, e.compareStr = function (e, t) {
            return l.compareStr(e, t)
        }, e.getTickCount = function () {
            return l.getTickCount()
        }, e.setScreenSaveActive = function (e) {
            return l.setScreenSaveActive(e)
        }, e.isSparseDriver = function (e) {
            return e = r(e), l.isSparseDriver(e)
        }, e.getAppList = function () {
            return n(this, void 0, void 0, function* () {
                return new Promise(e => {
                    l.getAppList(t => {
                        e(t)
                    })
                })
            })
        }, e.isSSD = function () {
            return n(this, void 0, void 0, function* () {
                return new Promise(e => {
                    l.isSSD((t, i) => {
                        e(i)
                    })
                })
            })
        }, e.getMemoryInfo = function () {
            return n(this, void 0, void 0, function* () {
                return new Promise(e => {
                    l.getMemoryInfo((t, i) => {
                        e({totalPhy: t, totalVir: i})
                    })
                })
            })
        }, e.getHardDiskSpaceList = function () {
            return n(this, void 0, void 0, function* () {
                return new Promise(e => {
                    l.getHardDiskSpaceList(t => {
                        e(t)
                    })
                })
            })
        }, e.getCpuList = function () {
            return n(this, void 0, void 0, function* () {
                return new Promise(e => {
                    l.getCpuList(t => {
                        e(t)
                    })
                })
            })
        }, e.getFixedDriveMediaType = function (e) {
            return n(this, void 0, void 0, function* () {
                return new Promise(t => {
                    e.length > 1 && (e = e.slice(0, 1)), l.getDriveMediaType(e.toUpperCase(), (e, i) => {
                        t(i)
                    })
                })
            })
        }
    }(t.ThunderHelper || (t.ThunderHelper = {}))
}, function (e, t) {
    e.exports = require("net")
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(12), r = i(2);
    t.getDefaultPrex = function () {
        return r.basename(process.execPath, ".exe")
    }, t.getSockPath = function (e) {
        const t = n.tmpdir();
        let i = e;
        e || (i = r.basename(process.execPath, ".exe"));
        let o = r.join(t, `${i}-xunlei-node-net-ipc-{FD196984-2591-4588-AA6F-5C8AC1266290}.sock`);
        return "win32" === process.platform && (o = "\\\\.\\pipe\\" + (o = (o = o.replace(/^\//, "")).replace(/\//g, "-"))), o
    }, t.serverContextName = "xunlei-node-net-ipc-server-{46105371-DE78-4442-B59F-FDA1D6D7D430}", t.isObjectEmpty = function (e) {
        let t = !0;
        do {
            if (!e) break;
            if (0 === Object.keys(e).length) break;
            t = !1
        } while (0);
        return t
    }
}, function (e, t, i) {
    "use strict";
    var n = i(10), r = i(72), o = i(74), s = i(54), a = i(63), l = i(75).http, c = i(75).https, u = i(34), d = i(64),
        h = i(118), p = i(62), f = i(73);
    e.exports = function (e) {
        return new Promise(function (t, i) {
            var A, v = e.data, g = e.headers;
            if (g["User-Agent"] || g["user-agent"] || (g["User-Agent"] = "axios/" + h.version), v && !n.isStream(v)) {
                if (Buffer.isBuffer(v)) ; else if (n.isArrayBuffer(v)) v = new Buffer(new Uint8Array(v)); else {
                    if (!n.isString(v)) return i(p("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", e));
                    v = new Buffer(v, "utf-8")
                }
                g["Content-Length"] = v.length
            }
            var m = void 0;
            e.auth && (m = (e.auth.username || "") + ":" + (e.auth.password || ""));
            var y = u.parse(e.url), w = y.protocol || "http:";
            if (!m && y.auth) {
                var C = y.auth.split(":");
                m = (C[0] || "") + ":" + (C[1] || "")
            }
            m && delete g.Authorization;
            var b = "https:" === w, x = b ? e.httpsAgent : e.httpAgent, I = {
                path: o(y.path, e.params, e.paramsSerializer).replace(/^\?/, ""),
                method: e.method,
                headers: g,
                agent: x,
                auth: m
            };
            e.socketPath ? I.socketPath = e.socketPath : (I.hostname = y.hostname, I.port = y.port);
            var k, S = e.proxy;
            if (!S && !1 !== S) {
                var E = w.slice(0, -1) + "_proxy", D = process.env[E] || process.env[E.toUpperCase()];
                if (D) {
                    var M = u.parse(D);
                    if (S = {host: M.hostname, port: M.port}, M.auth) {
                        var R = M.auth.split(":");
                        S.auth = {username: R[0], password: R[1]}
                    }
                }
            }
            if (S && (I.hostname = S.host, I.host = S.host, I.headers.host = y.hostname + (y.port ? ":" + y.port : ""), I.port = S.port, I.path = w + "//" + y.hostname + (y.port ? ":" + y.port : "") + I.path, S.auth)) {
                var B = new Buffer(S.auth.username + ":" + S.auth.password, "utf8").toString("base64");
                I.headers["Proxy-Authorization"] = "Basic " + B
            }
            e.transport ? k = e.transport : 0 === e.maxRedirects ? k = b ? a : s : (e.maxRedirects && (I.maxRedirects = e.maxRedirects), k = b ? c : l), e.maxContentLength && e.maxContentLength > -1 && (I.maxBodyLength = e.maxContentLength);
            var P = k.request(I, function (n) {
                if (!P.aborted) {
                    clearTimeout(A), A = null;
                    var o = n;
                    switch (n.headers["content-encoding"]) {
                        case"gzip":
                        case"compress":
                        case"deflate":
                            o = o.pipe(d.createUnzip()), delete n.headers["content-encoding"]
                    }
                    var s = n.req || P, a = {
                        status: n.statusCode,
                        statusText: n.statusMessage,
                        headers: n.headers,
                        config: e,
                        request: s
                    };
                    if ("stream" === e.responseType) a.data = o, r(t, i, a); else {
                        var l = [];
                        o.on("data", function (t) {
                            l.push(t), e.maxContentLength > -1 && Buffer.concat(l).length > e.maxContentLength && i(p("maxContentLength size of " + e.maxContentLength + " exceeded", e, null, s))
                        }), o.on("error", function (t) {
                            P.aborted || i(f(t, e, null, s))
                        }), o.on("end", function () {
                            var n = Buffer.concat(l);
                            "arraybuffer" !== e.responseType && (n = n.toString("utf8")), a.data = n, r(t, i, a)
                        })
                    }
                }
            });
            P.on("error", function (t) {
                P.aborted || i(f(t, e, null, P))
            }), e.timeout && !A && (A = setTimeout(function () {
                P.abort(), i(p("timeout of " + e.timeout + "ms exceeded", e, "ECONNABORTED", P))
            }, e.timeout)), e.cancelToken && e.cancelToken.promise.then(function (e) {
                P.aborted || (P.abort(), i(e))
            }), n.isStream(v) ? v.pipe(P) : P.end(v)
        })
    }
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), t.information = ((...e) => {
    }), t.error = ((...e) => {
    }), t.warning = ((...e) => {
    }), t.critical = ((...e) => {
    }), t.verbose = ((...e) => {
    })
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(2), o = i(9), s = i(13), a = o.default(r.join(__rootDir, "../bin/ThunderHelper.node"));
    !function (e) {
        function t() {
            return n(this, void 0, void 0, function* () {
                let e = !0;
                do {
                    0;
                    let t = r.resolve(__rootDir, "../../log.ini");
                    if (!(yield s.FileSystemAWNS.existsAW(t))) {
                        e = !1;
                        break
                    }
                    e = "1" === a.readINI(t, "Log", "enable")
                } while (0);
                return e
            })
        }

        e.isDevToolsEnable = function () {
            return n(this, void 0, void 0, function* () {
                return t()
            })
        }, e.isLogEnable = t, e.getLogOutput = function () {
            return n(this, void 0, void 0, function* () {
                let e = process.env.TL_OUTPUT;
                do {
                    if (e && "" !== e) break;
                    let t = r.resolve(__rootDir, "../../log.ini");
                    if (!(yield s.FileSystemAWNS.existsAW(t))) break;
                    e = a.readINI(t, "Log", "output")
                } while (0);
                return e
            })
        }
    }(t.DevEnvHelperNS || (t.DevEnvHelperNS = {}))
}, function (e, t, i) {
    "use strict";
    var n;
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t, i;
        !function (e) {
            e.require = "AR_BROWSER_REQUIRE", e.builtIn = "AR_BROWSER_GET_BUILTIN", e.global = "AR_BROWSER_GET_GLOBAL", e.functionCall = "AR_BROWSER_FUNCTION_CALL", e.construct = "AR_BROWSER_CONSTRUCTOR", e.memberConstruct = "AR_BROWSER_MEMBER_CONSTRUCTOR", e.memberCall = "AR_BROWSER_MEMBER_CALL", e.memberSet = "AR_BROWSER_MEMBER_SET", e.memberGet = "AR_BROWSER_MEMBER_GET", e.currentWindow = "AR_BROWSER_CURRENT_WINDOW", e.currentWebContents = "AR_BROWSER_CURRENT_WEB_CONTENTS", e.clientWebContents = "AR_BROWSER_CLIENT_WEB_CONTENTS", e.sync = "AR_BROWSER_SYNC", e.contextRelease = "AR_BROWSER_CONTEXT_RELEASE"
        }(t = e.browser || (e.browser = {})), function (e) {
            e.requireReturn = "AR_RENDERER_REQUIRE_RETURN", e.getBuiltInReturn = "AR_RENDERER_BUILTIN_RETURN", e.getGlobalReturn = "AR_RENDERER_GLOBAL_RETURN", e.functionCallReturn = "AR_RENDERER_FUNCTION_CALL_RETURN", e.memberConstructReturn = "AR_RENDERER_MEMBER_CONSTRUCTOR_RETURN", e.constructReturn = "AR_RENDERER_CONSTRUCTOR_RETURN", e.memberCallReturn = "AR_RENDERER_MEMBER_CALL_RETURN", e.memberSetReturn = "AR_RENDERER_MEMBER_SET_RETURN", e.memberGetReturn = "AR_RENDERER_MEMBER_GET_RETURN", e.currentWindowReturn = "AR_BROWSER_CURRENT_WINDOW_RETURN", e.currentWebContentsReturn = "AR_RENDERER_CURRENT_WEB_CONTENTS_RETURN", e.clientWebContentsReturn = "AR_RENDERER_CLIENT_WEB_CONTENTS_RETURN", e.syncReturn = "AR_RENDERER_SYNC_RETURN", e.callback = "AR_RENDERER_CALLBACK"
        }(i = e.renderer || (e.renderer = {}))
    }(n || (n = {})), t.default = n
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(3), r = i(6), o = i(20), s = i(21);
    !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() {
                n.ipcMain.on(s.CommonIPCMessage.msgIPCSendToMain, (e, t) => {
                    let i = void 0;
                    do {
                        if (r.isNullOrUndefined(t)) {
                            o.error("msgInfo is empty");
                            break
                        }
                        if (!this.isConnected) {
                            o.warning("hasnot been connected yet");
                            break
                        }
                        let n = t.msg.name;
                        if (this.isIPCModuleIntervalMsg(n)) {
                            o.information(`IPC module interval msg : ${n}`);
                            let r = this.handleIPCModuleIntervalMsg(e.sender, t);
                            if (i = r[1], !r[0]) break;
                            o.information("need to dispatch msg:" + n)
                        }
                        r.isNullOrUndefined(i) ? i = this.NotifyListener(t) : this.NotifyListener(t)
                    } while (0);
                    r.isNullOrUndefined(i) || (e.returnValue = i), t = null
                })
            }

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

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

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

            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, i = e.msg.name;
                if (this.listeners.has(i)) {
                    let n = this.listeners.get(i), r = !0;
                    for (let i of n) r ? (r = !1, t = i(e)) : i(e)
                }
                return t
            }
        }

        e.Communicator = t
    }(t.CommonIPCBase || (t.CommonIPCBase = {}))
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t;
        !function (e) {
            e[e.OK = 0] = "OK", e[e.Cancel = 1] = "Cancel", e[e.Close = 2] = "Close", e[e.Unknow = 3] = "Unknow"
        }(t = e.Action || (e.Action = {}))
    }(t.MessageBoxNS || (t.MessageBoxNS = {}))
}, function (e, t, i) {
    e.exports = i(8)(17)
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(5), o = i(11), s = i(79);
    let a = class extends r.Vue {
        constructor() {
            super(...arguments), this.removeDraggable = null
        }

        destroyed() {
            this.removeDraggable()
        }
    };
    a = n([r.Component], a), t.DraggableMixin = a;
    let l = class extends r.Vue {
        constructor() {
            super(...arguments), this.windowWidth = 0, this.windowHeight = 0, this.resizeToFitContent = s.ThunderWindowNS.resizeToFitContent, this.fitWindowPosInParent = s.ThunderWindowNS.fitWindowPosInParent
        }

        get relativeToParent() {
            return !o.ThunderUtil.isDef(this.options.relativeToParent) || this.options.relativeToParent
        }

        mounted() {
            0 === this.windowWidth && (this.windowWidth = this.options.windowWidth || 0), 0 === this.windowHeight && (this.windowHeight = this.options.windowHeight || 0), this.relativeToParent ? this.resizeToFitContent(this.windowWidth, this.windowHeight, this.fitWindowPosInParent).catch() : this.resizeToFitContent(this.windowWidth, this.windowHeight).catch()
        }
    };
    n([r.Prop()], l.prototype, "options", void 0), l = n([r.Component], l), t.PositionMixin = l
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(3), r = i(6), o = i(20), s = i(21), a = i(29);
    !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 i = void 0;
                do {
                    if (r.isNullOrUndefined(e)) {
                        o.error("msg is null");
                        break
                    }
                    i = (t ? n.ipcRenderer.sendSync : n.ipcRenderer.send)(s.CommonIPCMessage.msgIPCSendToMain, {
                        msg: e,
                        senderInfo: this.currInfo
                    })
                } while (0);
                return i
            }

            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 i = [e].concat(t.args);
                    t.args = i, n.ipcRenderer.send(s.CommonIPCMessage.msgIPCSendToRenderer, {
                        msg: t,
                        senderInfo: this.currInfo
                    })
                } while (0)
            }
        }

        e.RendererCommunicator = t, e.rendererCommunicator = new t
    }(t.CommonIPCRenderer || (t.CommonIPCRenderer = {}))
}, function (e, t) {
    e.exports = require("url")
}, function (e, t, i) {
    "use strict";
    const n = i(17);
    if ("renderer" === process.type) {
        if (n.info("client running"), !global.__xdasAsyncRemoteExports) {
            let e = {};
            global.__xdasAsyncRemoteExports = e;
            let t = i(47);
            e.require = t.require, e.getCurrentWebContents = t.getCurrentWebContents, e.getCurrentWindow = t.getCurrentWindow, e.Interest = t.Interest, e.global = new Proxy({}, {get: (e, i, n) => t.getGlobal(i)}), e.electron = new Proxy({}, {get: (e, i, n) => t.getBuiltin(i)}), Object.defineProperty(e, "currentWindow", {get: () => t.getCurrentWindow()}), Object.defineProperty(e, "currentWebContents", {get: () => t.getCurrentWebContents()}), Object.defineProperty(e, "process", {get: () => t.getGlobal("process")})
        }
    } else if ("browser" === process.type && (n.info("server running"), !global.__xdasAsyncRemoteExports)) {
        let e = {};
        global.__xdasAsyncRemoteExports = e;
        const t = i(51);
        t.startServer(), e.getObjectRegistry = t.getObjectRegistry
    }
    e.exports = global.__xdasAsyncRemoteExports
}, function (e, t) {
    e.exports = require("crypto")
}, function (e, t, i) {
    e.exports = i(8)(41)
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(6), r = i(20), o = i(21), s = i(29), a = i(33);
    !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 i {
            constructor(e, t, i) {
                this.maxId = e, this.minId = t, this.invalidId = i
            }

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

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

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

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

            AttachNativeEvent(t, i) {
                let o = void 0;
                do {
                    if (n.isNullOrUndefined(t) || 0 === t.length) {
                        r.error("eventName is empty");
                        break
                    }
                    if (n.isNullOrUndefined(i)) {
                        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, i); else {
                        let e = new Map;
                        e.set(s, i), this.eventJsCallbakcs.set(t, e)
                    }
                    o = s
                } while (0);
                return o
            }

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

            RegisterJSFunction(e, i) {
                let o = t.ParamaterError;
                do {
                    if (n.isNullOrUndefined(e) || 0 === e.length) {
                        r.error("funcName is empty");
                        break
                    }
                    if (n.isNullOrUndefined(i)) {
                        r.error("jsFunc is empty");
                        break
                    }
                    this.jsRegisterFunctions.set(e, i), 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 i = t[0];
                    if (!n.isNumber(i)) {
                        r.error(`id error id = ${i}`);
                        break
                    }
                    if (e.idGenerator.isInvalidId(i)) {
                        r.error(`id = ${i} invalid`);
                        break
                    }
                    let o = null, s = 0;
                    if (this.jsCallbacks.has(i) && (s = 1, o = this.jsCallbacks.get(i)), this.jsReturnCallbacks.has(i) && (s = 2, o = this.jsReturnCallbacks.get(i)), 0 === s) {
                        r.error(`callbacks[${i}] is null`);
                        break
                    }
                    t.splice(0, 1), o.apply(null, t), 2 === s && this.jsReturnCallbacks.delete(i)
                } while (0)
            }

            handleCallJsFunctionByName(e) {
                do {
                    let t = e[0];
                    if (!n.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 (!n.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, i, o) => {
                        r.information(`value = ${t}, key = ${i}, map = ${o}`), n.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 = {}))
}, function (e, t, i) {
    e.exports = i(106)
}, function (e, t) {
    e.exports = require("buffer")
}, function (e, t, i) {
    "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", e[e.Cool = 4] = "Cool"
        }(t = e.SkinType || (e.SkinType = {})), e.defaultSkinInfo = {type: t.Default, colorID: 0}
    }(t.SkinHelperNS || (t.SkinHelperNS = {}))
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(45), r = i(14);
    t.Parser = class extends r.EventEmitter {
        constructor() {
            super(), this.decoder = new n.StringDecoder("utf8"), this.jsonBuffer = ""
        }

        encode(e) {
            return JSON.stringify(e) + "\n"
        }

        feed(e) {
            let t = this.jsonBuffer, i = 0, n = (t += this.decoder.write(e)).indexOf("\n", i);
            for (; n >= 0;) {
                const e = t.slice(i, n), r = JSON.parse(e);
                this.emit("message", r), i = n + 1, n = t.indexOf("\n", i)
            }
            this.jsonBuffer = t.slice(i)
        }
    }
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(2), o = i(6), s = i(1), a = i(9), l = i(27), c = i(3), u = i(18),
        d = a.default(r.join(__rootDir, "../bin/ThunderHelper.node"));
    let h = "0";
    process.env.TL_ENABLE = h;
    let p = process.env.TL_OUTPUT;

    function f() {
        s.default.outputLogger = "console" === p ? s.outputLoggerConsole : function () {
            function e(e) {
                return function (...t) {
                    d.printEtwLog(e, function (...e) {
                        return e.map(e => o.inspect(e)).join(" ").replace(/%/g, "%%")
                    }(...t))
                }
            }

            return {
                [s.LogLevel.Critical]: e(s.LogLevel.Critical),
                [s.LogLevel.Error]: e(s.LogLevel.Error),
                [s.LogLevel.Warning]: e(s.LogLevel.Warning),
                [s.LogLevel.Information]: e(s.LogLevel.Information),
                [s.LogLevel.Verbose]: e(s.LogLevel.Verbose)
            }
        }()
    }

    function A() {
        return n(this, void 0, void 0, function* () {
            l.DevEnvHelperNS.isLogEnable().then(e => {
                e && "1" === h !== e && (h = e ? "1" : "0", process.env.TL_ENABLE = h)
            }).catch(), l.DevEnvHelperNS.getLogOutput().then(e => {
                e && e !== p && (p = e, f())
            }).catch()
        })
    }

    f(), A().catch(), "browser" === process.type ? c.ipcMain.on(u.ThunderChannelList.channelRMUpdateLogEnviroment, () => {
        c.BrowserWindow.getAllWindows().forEach(e => {
            e.isDestroyed() || e.webContents.send(u.ThunderChannelList.channelMRUpdateLogEnviroment)
        })
    }) : "renderer" === process.type && c.ipcRenderer.on(u.ThunderChannelList.channelMRUpdateLogEnviroment, () => {
        A().catch()
    })
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(23), r = i(14), o = i(26), s = i(42), a = i(24);
    t.Client = class extends r.EventEmitter {
        constructor(e) {
            if (e = e || {}, super(), this.inprocess = !1, this.context = void 0, e.context && (this.context = Object.assign({}, e.context), this.context.productId = e.socketPrex), e.socket) this.socket = e.socket, this.bind(); else if (global.__xdasIPCServer && global.__xdasIPCServer.getProductId().toLowerCase() === e.socketPrex.toLowerCase()) this.inprocess = !0; else {
                let t = a.getSockPath(e.socketPrex);
                this.socket = n.connect(t), this.bind()
            }
        }

        isInprocess() {
            return this.inprocess
        }

        getContext() {
            return this.context
        }

        bind() {
            const e = new s.Parser, t = this.socket;
            t.on("data", t => {
                e.feed(t)
            }), t.on("connect", () => {
                this.emit("connect")
            }), t.on("end", () => {
                o.information("socket is ended"), this.socket = null, this.emit("end")
            }), t.on("error", e => {
                o.error(e.message), this.socket = null, this.emit("error", e)
            }), e.on("message", e => {
                this.emit("message", e)
            }), this.parser = e
        }

        send(e) {
            if (this.socket) try {
                this.socket.write(this.parser.encode(e))
            } catch (e) {
                o.error(e.message)
            } else o.information("This socket has been ended by the other party")
        }
    }
}, function (e, t) {
    e.exports = require("string_decoder")
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

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

    function b() {
        return n(this, void 0, void 0, function* () {
            return new Promise(e => n(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)),
                                i = e.indexOf(process.resourcesPath);
                            i = i > -1 ? i + process.resourcesPath.length + 1 : i;
                            let n = e.length - 1, r = e.indexOf("?"), s = e.indexOf("#");
                            n = r > -1 ? Math.min(r - 1, n) : n, n = s > -1 ? Math.min(s - 1, n) : n, i > -1 && n >= i && (t = e.substr(i, n - i + 1))
                        }
                        return 0 === t.length && (t = 0 !== e.length ? e : process.type), t = t.replace(/\||,|;/g, "_")
                    }(""))
                })), m = yield y), e(m)
            }))
        })
    }

    function x(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 I(e) {
        return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
    }

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

    function S() {
        return new Promise(e => n(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 i = 0; i < e; i++) {
                        let e = t[i];
                        if (e.startsWith("-StartType:")) {
                            v = e.substring("-StartType:".length);
                            break
                        }
                    }
                    void 0 === v && (v = "")
                }
                return v
            }() : yield function () {
                return n(this, void 0, void 0, function* () {
                    return null === g && (g = new Promise(e => {
                        c.ipcRenderer.send(h.ThunderChannelList.channelRMGetBrowserStartType), c.ipcRenderer.once(h.ThunderChannelList.channelMRGetBrowserStartTypeResult, (t, i) => {
                            v = i, e(i), g = null
                        })
                    })), g
                })
            }() : v, e(t)
        }))
    }

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

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

    !function (e) {
        e.init = function (e) {
            A = e
        }, e.trackColdStartUpEvent = function (e) {
            return n(this, void 0, void 0, function* () {
                let t = w.iSColdStartUp() ? 1 : 0, i = r.release(), n = w.performanceMonitorReporter.getProcessUptime(),
                    o = yield S(), s = `key=${e},start_type=${o},cold_start_up=${t},os_version=${i},cost_time=${n}`;
                l.XLStatNS.trackEvent(f, "cold_start_up", "", 0, 0, 0, 0, s)
            })
        }
    }(t.PerformanceMonitorStatNS || (t.PerformanceMonitorStatNS = {})), function () {
        return n(this, void 0, void 0, function* () {
            if (process.on("uncaughtException", e => {
                console.error(e);
                let t = e || {};
                E("uncaughtException", t.code, t.message, t.stack).catch()
            }), "browser" === process.type) process.on("unhandledRejection", (e, t) => {
                D(e)
            }), c.ipcMain.on(h.ThunderChannelList.channelRMGetBrowserStartType, function (e) {
                return n(this, void 0, void 0, function* () {
                    let t = yield S();
                    e.sender.send(h.ThunderChannelList.channelMRGetBrowserStartTypeResult, t)
                })
            }); else if ("browser" !== process.type) {
                window.addEventListener("unhandledrejection", e => {
                    D(e && e.reason || {})
                });
                let e = yield p.asyncRemoteCall.getCurrentWebContents();
                null !== e && void 0 !== e && e.once("did-finish-load", () => {
                    (function () {
                        return n(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 = w.iSColdStartUp() ? 1 : 0, t = r.release(), i = window.performance.timing,
                                    n = i.loadEventEnd - i.navigationStart, o = i.fetchStart - i.navigationStart,
                                    s = i.domainLookupEnd - i.domainLookupStart, a = i.connectEnd - i.connectStart,
                                    c = i.responseStart - i.requestStart, u = i.responseEnd - i.responseStart,
                                    d = i.domComplete - i.domLoading, h = yield S();
                                l.XLStatNS.trackEvent(f, "page_load_time", "", 0, 0, 0, 0, `start_type=${h},cold_start_up=${e},os_version=${t},load_time=${n},before_fetch_time=${o},domin_lookup_time=${s},connect_time=${a},first_response_time=${c},responseTime=${u},domTime=${d},process=${A}`)
                            } while (0)
                        })
                    })().catch()
                })
            }
            u.default.hook("beforeLog", (e, t, ...i) => {
                e === u.LogLevel.Critical && l.XLStatNS.trackEvent(f, "critical_error", "", 0, 0, 0, 0, `module_name=${t},messages=${i}`)
            })
        })
    }().catch()
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(3), r = i(40), o = i(48), s = i(49), a = i(28), l = i(50), c = i(17), u = n.isPromise,
        d = n.ipcRenderer, h = process.atomBinding("v8_util"), p = new o.default, f = h.createIDWeakMap();

    class A {
        constructor(e) {
            if ("object" == typeof e ? (this.on = "object" == typeof e.on ? e.on : {}, this.once = "object" == typeof e.once ? e.once : {}) : (this.on = {}, this.once = {}), !this.check()) throw new Error("unexpected param")
        }

        check() {
            let e = !0;
            do {
                let t = Object.getOwnPropertyNames(this.on);
                if (t.forEach(t => {
                    "function" != typeof this.on[t] && (e = !1)
                }), !e) break;
                (t = Object.getOwnPropertyNames(this.once)).forEach(t => {
                    "function" != typeof this.once[t] && (e = !1)
                })
            } while (0);
            return e
        }
    }

    function v(e, t = new Set) {
        const i = e => {
            if (t.has(e)) return {type: "value", value: null};
            let n = e;
            if (Array.isArray(e)) {
                t.add(e);
                let i = {type: "array", value: v(e, t)};
                return t.delete(e), i
            }
            if (ArrayBuffer.isView(n)) return {type: "buffer", value: r.Buffer.from(e)};
            if (e instanceof Date) return {type: "date", value: e.getTime()};
            if (null != e && "object" == typeof e) {
                if (u(e)) return {
                    type: "promise", then: i(function (t, i) {
                        e.then(t, i)
                    })
                };
                if (h.getHiddenValue(e, "__remote_id__")) return {
                    type: "remote-object",
                    id: h.getHiddenValue(e, "__remote_id__")
                };
                let n = {
                    type: e instanceof A ? "interest" : "object",
                    name: e.constructor ? e.constructor.name : "",
                    members: []
                };
                t.add(e);
                for (let t in e) n.members.push({name: t, value: i(e[t])});
                return t.delete(e), n
            }
            if ("function" == typeof e) {
                return {
                    type: "function",
                    id: p.add(e),
                    location: h.getHiddenValue(e, "__remote_call_location__"),
                    length: e.length
                }
            }
            return {type: "value", value: e}
        };
        return e.map(i)
    }

    function g(e, t, i) {
        u(e) ? e.then(e => {
            t(e)
        }, e => {
            i(e)
        }) : t(e)
    }

    function m(e, t, i, n = !1) {
        const r = t => {
            if (e.hasOwnProperty(t.name) && !n) return;
            let i, r = {enumerable: t.enumerable, configurable: !0};
            if ("method" === t.type) {
                if (t.value.refId) {
                    if (f.has(t.value.refId) && (i = f.get(t.value.refId)), null == i) throw new Error("member refId pointer to null" + t.value.refId + "name: " + t.name)
                } else i = b(t.value, e, t.name);
                r.get = (() => i), r.set = (e => i = e)
            } else "get" === t.type && (r.get = (() => i), t.writable && (r.set = (e => {
                i = e
            })), i = b(t.value));
            Object.defineProperty(e, t.name, r)
        };
        if (Array.isArray(i)) {
            let e = i.length;
            for (let t = 0; t < e; t++) r(i[t])
        }
    }

    function y(e, t, i) {
        if (i) {
            let t = b(i);
            Object.setPrototypeOf(e, t)
        }
    }

    function w(e, t) {
        h.setHiddenValue(e, "__remote_id__", t)
    }

    function C(e) {
        return h.getHiddenValue(e, "__remote_id__")
    }

    function b(e, t, i) {
        const n = {
            value: () => e.value,
            array: () => e.members.map(e => b(e)),
            buffer: () => r.Buffer.from(e.value),
            promise: () => Promise.resolve({then: b(e.then)}),
            error: () => (function (e) {
                const t = (() => "error" === e.type ? new Error : {})();
                for (let i = 0; i < e.members.length; i++) {
                    let {name: n, value: r} = e.members[i];
                    t[n] = r
                }
                return t
            })(e),
            date: () => new Date(e.value),
            exception: () => {
                throw new Error(`${e.message}\n${e.stack}`)
            }
        };
        let o;
        return e.type in n ? o = n[e.type]() : e.refId ? f.has(e.refId) ? o = f.get(e.refId) : (c.warn("[metaToValue] refId point to null" + e.refId), o = "function" === e.type ? () => {
        } : {}) : e.id ? f.has(e.id) ? (m(o = f.get(e.id), e.id, e.members, !0), y(o, e.id, e.proto)) : (o = "function" === e.type ? t ? function (e, t, i) {
            if (f.has(i.id)) return f.get(i.id);
            let n = C(e), r = function (...e) {
                throw Error("never should come to a proxied function")
            };
            Object.defineProperty(r, "name", {value: t, writable: !1, enumerable: !0});
            let o = new Proxy(r, {
                apply: (e, i, r) => new Promise((e, o) => {
                    let c = C(i);
                    if (c || (c = C(i.__remoteObj_)), !c) throw Error("is this function was a bound function?");
                    let u = a.default.browser.memberCall, h = l.default(u), p = v(r);
                    d.send(u, h, c, n, t, p), s.default.add(h, t => {
                        try {
                            g(b(t), e, o)
                        } catch (e) {
                            o(e)
                        }
                    })
                }), construct: (e, i, r) => new Promise((e, r) => {
                    let o = a.default.browser.memberConstruct, c = l.default(o);
                    d.send(o, c, n, t, v(i)), s.default.add(c, t => {
                        try {
                            let i = b(t);
                            e(i)
                        } catch (e) {
                            r(e)
                        }
                    })
                })
            });
            return h.setHiddenValue(r, "__remote_id__", i.id), o
        }(t, i, e) : function (e) {
            let t = e.id;
            const i = function (...e) {
                throw new Error("Should Never com to a remoteFunction PlaceHolder")
            };
            return w(i, t), new Proxy(i, {
                apply: (e, i, n) => new Promise((e, r) => {
                    let o = a.default.browser.functionCall, c = l.default(o), u = C(i);
                    d.send(o, c, u, t, v(n)), s.default.add(c, t => {
                        try {
                            g(b(t), e, r)
                        } catch (e) {
                            r(e)
                        }
                    })
                }), construct: (e, i, n) => new Promise((e, n) => {
                    let r = a.default.browser.construct, o = l.default(r);
                    d.send(r, o, t, v(i)), s.default.add(o, t => {
                        try {
                            let i = b(t);
                            e(i)
                        } catch (e) {
                            n(e)
                        }
                    })
                })
            })
        }(e) : {}, h.setRemoteObjectFreer(o, e.id), f.set(e.id, o), h.setHiddenValue(o, "__remote_id__", e.id), function (e) {
            let t = C(e);
            Object.defineProperties(e, {
                __set: {
                    enumerable: !1, writable: !1, value: function (i, n) {
                        if ("function" == typeof n) throw new Error("set a function to a remote member is dangerous");
                        return new Promise((r, o) => {
                            let c = a.default.browser.memberSet, u = l.default(c), h = v([n]);
                            d.send(c, u, t, i, h), s.default.add(u, t => {
                                try {
                                    let s = b(t);
                                    e[i] = n, r(s)
                                } catch (e) {
                                    o(e)
                                }
                            })
                        })
                    }
                }, __get: {
                    enumerable: !1, writable: !1, value: function (i) {
                        return new Promise((n, r) => {
                            let o = a.default.browser.memberGet, c = l.default(o);
                            d.send(o, c, t, i), s.default.add(c, t => {
                                try {
                                    const o = b(t);
                                    e[i] = o, n(o)
                                } catch (e) {
                                    r(e)
                                }
                            })
                        })
                    }
                }, __sync: {
                    enumerable: !1, writable: !1, value: function () {
                        return new Promise((e, i) => {
                            let n = a.default.browser.sync, r = l.default(n);
                            d.send(n, r, t), s.default.add(r, n => {
                                try {
                                    if (n.id !== t) throw Error("SYNC_RETURN: remote id not match");
                                    let r = b(n);
                                    e(r)
                                } catch (e) {
                                    i(e)
                                }
                            })
                        })
                    }
                }
            })
        }(o), m(o, e.id, e.members), y(o, e.id, e.proto), Object.defineProperty(o.constructor, "name", {value: e.name}), e.extendedMemberNames && e.extendedMemberNames.forEach((e, t) => {
            let i = o[e], n = o.__proto__;
            for (; n;) {
                if (Object.prototype.hasOwnProperty.call(n, e)) {
                    delete n[e];
                    break
                }
                n = n.__proto__
            }
            Object.defineProperty(o, e, {value: i, enumerable: !1, writable: !1, configurable: !0})
        })) : c.error("no id of meta:", e), o
    }

    t.Interest = A;

    class x {
        constructor(...e) {
            if (this.__resolved_ = !1, this.__promise_ = null, this.__remoteObj_ = null, this.__what_ = "", this.__name_ = "", "string" === typeof arguments[0]) {
                let e = arguments[0], t = arguments[1];
                this.__what_ = e, this.__name_ = t || e, this.__resolved_ = !1, this.__remoteObj_ = null, this.__promise_ = new Promise((i, n) => {
                    let r = this.getChannel(e), o = l.default(r);
                    d.send(r, o, t), s.default.add(o, e => {
                        try {
                            let t = b(e);
                            this.__remoteObj_ = t, this.__resolved_ = !0, i(t)
                        } catch (e) {
                            n(e)
                        }
                    })
                })
            } else this.__remoteObj_ = arguments[0], this.__resolved_ = !0, this.__promise_ = null
        }

        getChannel(e) {
            let t = "";
            switch (e) {
                case"module":
                    t = a.default.browser.require;
                    break;
                case"builtin":
                    t = a.default.browser.builtIn;
                    break;
                case"global":
                    t = a.default.browser.global;
                    break;
                case"current_window":
                    t = a.default.browser.currentWindow;
                    break;
                case"current_web_contents":
                    t = a.default.browser.currentWebContents;
                    break;
                case"client_web_contents":
                    t = a.default.browser.clientWebContents
            }
            return t
        }

        __resolve() {
            let e = this.__promise_;
            if (null !== e) ; else {
                if (!this.__resolved_) throw Error("missing the promise for ayncnomously get remote object");
                e = new Promise((e, t) => {
                    e(this.__remoteObj_)
                }), this.__promise_ = e
            }
            return e
        }

        __isResolved() {
            return this.__resolved_
        }
    }

    function I(e, t, i) {
        try {
            s.default.invoke(t, i).remove(t)
        } finally {
            s.default.remove(t)
        }
    }

    d.on(a.default.renderer.requireReturn, I), d.on(a.default.renderer.getBuiltInReturn, I), d.on(a.default.renderer.getGlobalReturn, I), d.on(a.default.renderer.currentWindowReturn, I), d.on(a.default.renderer.currentWebContentsReturn, I), d.on(a.default.renderer.functionCallReturn, I), d.on(a.default.renderer.constructReturn, I), d.on(a.default.renderer.memberCallReturn, I), d.on(a.default.renderer.memberSetReturn, I), d.on(a.default.renderer.memberGetReturn, I), d.on(a.default.renderer.memberConstructReturn, I), d.on(a.default.renderer.callback, (e, t, i) => {
        p.apply(t, b(i))
    }), d.on(a.default.renderer.syncReturn, I), d.on("ELECTRON_RENDERER_RELEASE_CALLBACK", (e, t) => {
        c.info("[RELEASE_CALLBACK]: callbackId:", t), p.remove(t)
    }), process.on("exit", () => {
        d.send(a.default.browser.contextRelease)
    });
    const k = ["__resolve", "__isResolved"], S = ["__promise_", "__resolved_", "__remoteObj_", "__name_", "__what_"],
        E = e => {
            if (!e.__isResolved()) throw Error("Can not access the property of a remote module which has not Resolved yet.")
        };

    function D(e) {
        const t = function () {
        };
        Object.defineProperty(t, "name", {value: e.__name_}), Object.defineProperty(t, "what", {
            enumerable: !1,
            value: e.__what_
        });
        let i = new Proxy(t, {
            getPrototypeOf: t => (E(e), Reflect.getPrototypeOf(e.__remoteObj_)),
            setPrototypeOf: (e, t) => {
                throw new Error("changing prototype of remote object is forbidden")
            },
            isExtensible: t => (E(e), Reflect.isExtensible(e.__remoteObj_)),
            preventExtensions: t => (E(e), Reflect.preventExtensions(e)),
            getOwnPropertyDescriptor: (t, i) => (E(e), Reflect.getOwnPropertyDescriptor(e.__remoteObj_, i)),
            has: (t, i) => (E(e), Reflect.has(e.__remoteObj_, i)),
            deleteProperty: (t, i) => (E(t), Reflect.deleteProperty(e.__remoteObj_, i)),
            defineProperty: (t, i, n) => (E(e), Reflect.defineProperty(e.__remoteObj_, i, n)),
            get: (t, i, n) => {
                if ("string" == typeof i) {
                    if (String.prototype.includes.call(S, i)) {
                        return e[i]
                    }
                    if (String.prototype.includes.call(k, i)) {
                        return e[i]
                    }
                }
                return E(e), Reflect.get(e.__remoteObj_, i)
            },
            set: (t, i, n, r) => (E(e), Reflect.set(e.__remoteObj_, i, n, r)),
            ownKeys: t => (E(e), Reflect.ownKeys(e.__remoteObj_)),
            apply: (t, i, n) => {
                E(e), Reflect.apply(e.__remoteObj_, i, n)
            },
            construct: (t, i, n) => {
                if (E(e), "function" != typeof e.__remoteObj_) throw Error("operator new ONLY used for function");
                return new Promise((t, n) => {
                    let r = a.default.browser.construct, o = l.default(r),
                        c = h.getHiddenValue(e.__remoteObj_, "__remote_id__");
                    d.send(r, o, c, v(i)), s.default.add(o, e => {
                        try {
                            t(b(e))
                        } catch (e) {
                            n(e)
                        }
                    })
                })
            }
        });
        return e.__promise_.then(e => {
            let t = typeof e;
            if ("function" === t || "object" === t) {
                let t = C(e);
                t && w(i, t)
            }
        }), i
    }

    t.remoteRequire = function (e) {
        return D(new x("module", e))
    }, t.getBuiltin = function (e) {
        return D(new x("builtin", e))
    }, t.getGlobal = function (e) {
        return D(new x("global", e))
    }, t.getCurrentWindow = function () {
        return D(new x("current_window"))
    }, t.getCurrentWebContents = function () {
        return D(new x("current_web_contents"))
    }
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = process.atomBinding("v8_util");
    t.default = class {
        constructor() {
            this.nextId = 0, this.callbacks = {}
        }

        add(e) {
            let t = n.getHiddenValue(e, "__remote_callback_id__");
            if (null != t) return t;
            t = this.nextId -= 1;
            const i = /at (.*)/gi, r = (new Error).stack;
            let o, s = i.exec(r);
            for (; null !== s;) {
                const e = s[1];
                if (!e.includes("native") && !e.includes("electron.asar")) {
                    o = /([^/^)]*)\)?$/gi.exec(e)[1];
                    break
                }
                s = i.exec(r)
            }
            return this.callbacks[t] = e, n.setHiddenValue(e, "__remote_callback_id__", t), n.setHiddenValue(e, "__remote_call_location__", o), t
        }

        get(e) {
            return this.callbacks[e] || function () {
            }
        }

        apply(e, ...t) {
            return this.get(e).apply(global, ...t)
        }

        remove(e) {
            const t = this.callbacks[e];
            t && (n.deleteHiddenValue(t, "__remote_callback_id__"), delete this.callbacks[e])
        }
    }
}, function (e, t, i) {
    "use strict";
    var n;
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t = {};
        e.add = function (e, i, n) {
            t[e] = {func: i, thisArg: n}
        }, e.invoke = function (i, ...n) {
            let r = t[i];
            return r.thisArg ? r.func.apply(r.thisArg, ...n) : r.func(...n), e
        }, e.remove = function (e) {
            delete t[e]
        }
    }(n || (n = {})), t.default = n
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    let n = 0;
    t.default = function (e) {
        return e ? e.concat(".").concat(String(++n)) : String(++n)
    }
}, function (e, t, i) {
    "use strict";
    const n = i(3), r = i(52), o = i(28), s = i(53), a = i(17), l = n.isPromise, c = n.ipcMain,
        u = process.atomBinding("v8_util");
    let d = u.createDoubleIDWeakMap();
    const h = new r.default;

    function p(e, t, i, n, r, o) {
        let s, l = !1, c = null, u = !1;
        do {
            try {
                s = t[n]
            } catch (e) {
                l = !0
            }
            if (l) try {
                s = i.value[n], l = !1, i.meta.extendedMemberNames.push(n), u = !0
            } catch (e) {
                a.error(`property ${n} untouchable, even try root[name]`)
            }
            if (l) break;
            let r = Object.getOwnPropertyDescriptor(t, n);
            if (void 0 === r) {
                a.warn(`descriptor of property ${n} is undefined`);
                break
            }
            c = {
                name: n,
                enumerable: r.enumerable,
                writable: !1,
                type: "get"
            }, void 0 === r.get && "function" == typeof s ? c.type = "method" : ((r.set || r.writable) && (c.writable = !0), c.type = "get"), u ? (c.configurable = !0, c.value = v(e, s, o, !1, null)) : c.value = v(e, s, o, !1, i)
        } while (0);
        return c
    }

    function f(e, t, i, n = null) {
        let r = Object.getOwnPropertyNames(t);
        "function" == typeof t && (r = r.filter(function (e) {
            return !String.prototype.includes.call(s.propertiesOfFunction, e)
        }));
        let o = [];
        do {
            if (0 === r.length) break;
            let s = r.length;
            for (let a = 0; a < s; a++) {
                let s = p(e, t, i, r[a], 0, n);
                s && o.push(s)
            }
        } while (0);
        return o
    }

    function A(e, t, i, n = null) {
        let r = null, o = Object.getPrototypeOf(t);
        return r = null === o || o === Object.prototype || o === Function.prototype ? null : v(e, o, n, !1, i)
    }

    function v(e, t, i = null, n = !1, r = null) {
        i = null === i ? {} : i;
        const o = {type: typeof t};
        "object" === o.type && (o.type = function (e, t) {
            let i = typeof e;
            if ("object" !== i) throw new Error("incorrect arg at index 0. non-object");
            return null === e ? i = "value" : ArrayBuffer.isView(e) ? i = "buffer" : Array.isArray(e) ? i = "array" : e instanceof Error ? i = "error" : e instanceof Date ? i = "date" : l(e) ? i = "promise" : Object.prototype.hasOwnProperty.call(e, "callee") && null != e.length ? i = "array" : t && u.getHiddenValue(e, "simple") && (i = "value"), i
        }(t, n));
        do {
            if ("object" === o.type || "function" === o.type) {
                let n = h.getIdOfObject(t);
                if (n && i[n]) {
                    o.refId = n, h.add(e, t);
                    break
                }
            }
            "array" === o.type ? o.members = t.map(t => v(e, t, i)) : "object" === o.type || "function" === o.type ? (null == r && (o.extendedMemberNames = [], r = {
                value: t,
                meta: o
            }), o.name = t.constructor ? t.constructor.name : "", o.id = h.add(e, t), i[o.id] = !0, o.members = f(e, t, r, i), o.proto = A(e, t, r, i)) : "buffer" === o.type ? o.value = Buffer.from(t) : "promise" === o.type ? (t.then(function () {
            }, function () {
            }), o.then = v(e, function (e, i) {
                t.then(e, i)
            })) : "error" === o.type ? (o.members = g(t), o.members.push({
                name: "name",
                value: t.name
            })) : "date" === o.type ? o.value = t.getTime() : (o.type = "value", o.value = t)
        } while (0);
        return o
    }

    function g(e) {
        return Object.getOwnPropertyNames(e).map(t => ({name: t, value: e[t]}))
    }

    function m(e, t) {
        const i = function (t) {
            let r, s, l = 0, c = 0;
            switch (t.type) {
                case"value":
                    return t.value;
                case"remote-object":
                    return h.get(t.id);
                case"array":
                    return m(e, t.value);
                case"buffer":
                    return Buffer.from(t.value);
                case"date":
                    return new Date(t.value);
                case"promise":
                    return Promise.resolve({then: i(t.then)});
                case"object":
                case"interest": {
                    let e = {};
                    for (Object.defineProperty(e.constructor, "name", {value: t.name}), l = 0, c = (s = t.members).length; l < c; l++) e[(r = s[l]).name] = i(r.value);
                    return e
                }
                case"function": {
                    const i = e.id, r = [i, t.id];
                    if (a.info("renderer function id:" + r), d.has(r)) return d.get(r);
                    let s = function (...r) {
                        a.info("[CALLBACK] args", r);
                        let l = [...r];
                        e.isDestroyed() || i !== e.id ? function (e, t, i) {
                            let r = "Attempting to call a function in a renderer window that has been closed or released." + `\nFunction provided here: ${e.location}`;
                            if (t.length > 0 && t[0].sender && t[0].sender instanceof n.webContents.constructor) {
                                const {sender: e} = t[0], n = e.eventNames().filter(t => {
                                    let n = e.listeners(t), r = !1;
                                    return n.forEach(e => {
                                        e === i && (r = !0)
                                    }), r
                                });
                                n.length > 0 && (r += `\nRemote event names: ${n.join(", ")}`, n.forEach(t => {
                                    Object.getPrototypeOf(e).removeListener.call(e, t, i)
                                }))
                            }
                            a.warn(r)
                        }(t, l, s) : e.send(o.default.renderer.callback, t.id, v(e, l))
                    };
                    return Object.defineProperty(s, "length", {value: t.length}), u.setRemoteCallbackFreer(s, t.id, e), d.set(r, s), s
                }
                default:
                    throw new TypeError(`Unknown type: ${t.type}`)
            }
        };
        return t.map(i)
    }

    function y(e, t, i, n) {
        let r, o;
        try {
            return t.apply(i, n)
        } catch (e) {
            return o = t.name, new Error(`Could not call remote function '${r = null != o ? o : "anonymous"}'. Check that the function signature is correct. Underlying error: ${e.message}`)
        }
    }

    function w(e) {
        return {type: "exception", message: e.message, stack: e.stack || e}
    }

    function C(e) {
        const t = new Error(e);
        throw Object.defineProperty(t, "code", {value: "EBADRPC"}), Object.defineProperty(t, "errno", {value: -72}), t
    }

    var b;
    !function (e) {
        const t = (e, t, ...i) => {
            const n = e.sender;
            n.isDestroyed() ? a.warn("webcontext is destroyed, id=", n.id) : n.send(t, ...i)
        };
        e.startServer = function () {
            c.on(o.default.browser.require, (e, i, n) => {
                a.info(`[REQUIRE] module=${n} `);
                let r = process.mainModule.require(n), s = v(e.sender, r);
                t(e, o.default.renderer.requireReturn, i, s)
            }), c.on(o.default.browser.builtIn, (e, i, r) => {
                a.info(`[BUILTIN]: property=${r} `);
                let s = n[r], l = v(e.sender, s);
                a.info(`[BUILTIN]: returns remoteId:${l.id}, type: ${typeof s}`), t(e, o.default.renderer.getBuiltInReturn, i, l)
            }), c.on(o.default.browser.global, (e, i, n) => {
                a.info(`[GLOBAL]: proerty:${n} `);
                let r, s = global[n];
                r = v(e.sender, s), a.info(`[GLOBAL]: returns remoteid=${r.id}, obj=` + typeof s), t(e, o.default.renderer.getGlobalReturn, i, r)
            }), c.on(o.default.browser.currentWindow, (e, i, n) => {
                a.info(`[CURRENT_WINDOW]: property=${n} `);
                let r = e.sender.getOwnerBrowserWindow.call(e.sender), s = v(e.sender, r);
                a.info(`[CURRENT_WINDOW]: returns remoteid=${s.id}, obj=` + r), t(e, o.default.renderer.currentWindowReturn, i, s)
            }), c.on(o.default.browser.currentWebContents, (e, i, n) => {
                t(e, o.default.renderer.currentWebContentsReturn, i, v(e.sender, e.sender))
            });
            const e = (e, t) => {
                const i = (t, i) => {
                    t && Object.getOwnPropertyNames(t).forEach(n => {
                        i ? e.once(n, t[n]) : e.on(n, t[n])
                    })
                };
                t.on && i(t.on, !1), t.once && i(t.once, !0)
            };
            c.on(o.default.browser.construct, (i, n, r, s) => {
                let l, c = null;
                try {
                    a.info(`[CONSTRUCTOR]: remoteId=${r} `);
                    let u = s.length > 0 ? s[s.length - 1] : null;
                    s = m(i.sender, s);
                    let d = h.get(r);
                    null == d && C(`Cannot call constructor on missing remote object ${r}`), u && "interest" === u.type && (c = s.pop());
                    let p = new (Function.prototype.bind.apply(d, [null].concat(s)));
                    p && c && e(p, c), l = v(i.sender, p, null, !1), a.info(`[CONSTRUCTOR]: returns remoteId =${l.id} name=${d.name} `)
                } catch (e) {
                    l = w(e)
                } finally {
                    t(i, o.default.renderer.constructReturn, n, l)
                }
            }), c.on(o.default.browser.functionCall, function (e, i, n, r, s) {
                let l;
                try {
                    a.info(`[FUNCTION_CALL]: remoteId=${r}`), s = m(e.sender, s);
                    let c = h.get(r);
                    if (null == c) a.error(`Cannot call function on missing remote object ${r}`), l = v(e.sender, void 0); else {
                        let t = n ? h.get(n) : global;
                        if (t) {
                            let i = y(0, c, t, s);
                            l = v(e.sender, i)
                        } else a.error(`Cannot call function(${r}) on missing context(${n})`), l = v(e.sender, void 0)
                    }
                    a.info(`[FUNCTION_CALL]: name=${c.name}`)
                } catch (e) {
                    l = w(e)
                } finally {
                    t(e, o.default.renderer.functionCallReturn, i, l)
                }
            }), c.on(o.default.browser.memberCall, function (e, i, n, r, s, l) {
                let c;
                a.info(`[MEMBER_CALL]: thisArg=${n}, remoteId=${r}, method=${s}, args count=${l.length}`);
                try {
                    l = m(e.sender, l);
                    let u = h.get(r);
                    null == u && C(`Cannot call function '${s}' on missing remote object ${r}`);
                    let d = n ? h.get(n) : u;
                    if (d) {
                        let t = y(0, u[s], d, l);
                        c = v(e.sender, t), a.info("[MEMBER_CALL]: return=" + t)
                    } else c = v(e.sender, void 0)
                } catch (e) {
                    c = w(e)
                } finally {
                    t(e, o.default.renderer.memberCallReturn, i, c)
                }
            }), c.on(o.default.browser.memberGet, function (e, i, n, r) {
                let s;
                try {
                    a.info(`[MEMBER_GET]: remoteId=${n}, property=`, r);
                    let l = h.get(n);
                    null == l && C(`Cannot get property '${Object.toString.call(r)}' on missing remote object ${n}`);
                    let c = l[r];
                    s = v(e.sender, c)
                } catch (e) {
                    s = w(e)
                } finally {
                    t(e, o.default.renderer.memberGetReturn, i, s)
                }
            }), c.on(o.default.browser.memberSet, function (e, i, n, r, s) {
                try {
                    a.info(`[MEMBER_SET]: remoteId=${n}, property=` + r), s = m(e.sender, s);
                    let l = h.get(n);
                    null == l && C(`Cannot set property '${Object.toString.call(r)}' on missing remote object ${n}`), l[r] = s[0], t(e, o.default.renderer.memberSetReturn, i, {
                        type: "value",
                        value: !0
                    })
                } catch (n) {
                    t(e, o.default.renderer.memberSetReturn, i, w(n))
                }
            }), c.on(o.default.browser.memberConstruct, function (i, n, r, s, l) {
                let c, u = null;
                try {
                    a.info(`[MEMBER_CONSTRUCTOR]: regId=${r}, method=${s}`);
                    let d = l.length > 0 ? l[l.length - 1] : null;
                    l = m(i.sender, l);
                    let p = h.get(r);
                    null == p && C(`Cannot call constructor '${s}' on missing remote object ${r}`), d && "interest" === d.type && (u = l.pop());
                    let f = p[s], A = new (Function.prototype.bind.apply(f, [null].concat(l)));
                    A && u && e(A, u), c = v(i.sender, A)
                } catch (e) {
                    c = w(e)
                } finally {
                    t(i, o.default.renderer.memberConstructReturn, n, c)
                }
            }), c.on(o.default.browser.sync, function (e, i, n) {
                let r = h.get(n);
                t(e, o.default.renderer.syncReturn, i, v(e.sender, r))
            }), c.on("ELECTRON_BROWSER_DEREFERENCE", function (e, t) {
                let i = h.get(t);
                if (i) {
                    let n = i.name;
                    n || (n = i.constructor ? i.constructor.name : ""), h.remove(e.sender.id, t)
                } else t < 0 && a.warn("remote id reference to nothing:", t)
            }), c.on(o.default.browser.contextRelease, e => {
                h.clear(e.sender.id)
            })
        }, e.getObjectRegistry = function () {
            return h
        }
    }(b || (b = {})), e.exports = b
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(17), r = -1 * Math.pow(2, 31), o = process.atomBinding("v8_util");
    t.default = class {
        constructor() {
            this.nextId = 0, this.storage = new Map, this.owners = new Map
        }

        add(e, t) {
            const i = this.saveToStorage(t), n = e.id;
            let r = this.owners.get(n);
            return r || (r = new Set, this.owners.set(n, r), this.registerDeleteListener(e, n)), r.has(i) || (r.add(i), this.storage.get(i).count++), i
        }

        getIdOfObject(e) {
            return o.getHiddenValue(e, "__remote_id__")
        }

        get(e) {
            const t = this.storage.get(e);
            if (void 0 !== t) return t.object
        }

        remove(e, t) {
            this.dereference(t);
            let i = this.owners.get(e);
            i && i.delete(t)
        }

        clear(e) {
            let t = this.owners.get(e);
            if (t) {
                for (let e of t) this.dereference(e);
                this.owners.delete(e)
            }
        }

        getStorageSize() {
            return this.storage.size
        }

        saveToStorage(e) {
            let t = o.getHiddenValue(e, "__remote_id__");
            if (!t) {
                if ((t = --this.nextId) <= r) throw new Error("object registry id overflow");
                this.storage.set(t, {object: e, count: 0}), o.setHiddenValue(e, "__remote_id__", t)
            }
            return t
        }

        dereference(e) {
            let t = this.storage.get(e);
            null != t && (t.count -= 1, 0 === t.count && (o.deleteHiddenValue(t.object, "__remote_id__"), this.storage.delete(e)))
        }

        registerDeleteListener(e, t) {
            const i = e.getProcessId(), r = (o, s) => {
                s === i && (n.info("render-view-deleted: processid=" + i), (() => {
                    n.info("before clear. objectsRegistry capacity=" + this.storage.size, "owners size:" + this.owners.size)
                })(), e.removeListener("render-view-deleted", r), this.clear(t))
            };
            e.on("render-view-deleted", r)
        }
    }
}, function (e, t, i) {
    "use strict";
    var n;
    !function (e) {
        e.propertiesOfFunction = ["length", "name", "arguments", "caller", "prototype", "apply", "bind", "call", "toString"]
    }(n || (n = {})), e.exports = n
}, function (e, t) {
    e.exports = require("http")
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(4), r = i(41), o = i(1), s = i(11), a = o.default.getLogger("common/skin"), l = !1;

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

    n.client.callServerFunction("GetSkinInfo").then(c).catch(e => {
        a.warning(e)
    }), n.client.attachServerEvent("OnChangeSkin", (e, ...t) => {
        c(t[0])
    })
}, function (e, t, i) {
    e.exports = i(8)(204)
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(7), o = i(13), s = i(4), a = i(27);
    !function (e) {
        function t(e, t) {
            return n(this, void 0, void 0, function* () {
                if (null !== e) {
                    let i = e.webContents;
                    (yield i.isDevToolsOpened()) ? yield i.closeDevTools() : yield i.openDevTools(t)
                }
            })
        }

        e.openDevTool = t, e.enableDevTools = function (e) {
            return n(this, void 0, void 0, function* () {
                window.addEventListener("keyup", i => n(this, void 0, void 0, function* () {
                    "F12" === i.key && i.ctrlKey && (yield a.DevEnvHelperNS.isLogEnable()) && (yield t(yield r.asyncRemoteCall.getCurrentWindow(), e))
                }), !0)
            })
        }, e.enableDragOpenFile = function (e) {
            void 0 === e && (e = !1), document.addEventListener("dragover", e => (e.preventDefault(), e.stopPropagation(), !1), !0), document.addEventListener("drop", e => n(this, void 0, void 0, function* () {
                e.preventDefault(), e.stopPropagation();
                let t = e.dataTransfer, i = t.files, n = t.items;
                if (void 0 !== n && null !== n && n.length > 0) for (let e = 0; e < n.length; e++) {
                    let t = n[e];
                    "string" === t.kind && "text/uri-list" === t.type ? t.getAsString(e => {
                        s.client.callServerFunction("DropOpenUrl", e).catch()
                    }) : t.kind
                }
                if (void 0 !== i && null !== i && i.length > 0) for (let e = 0; e < i.length; e++) {
                    let t = i[e].path;
                    void 0 !== t && null !== t && "" !== t && (yield o.FileSystemAWNS.existsAW(t)) && s.client.callServerFunction("DropOpenFile", t).catch()
                }
                return !1
            }), !0)
        }
    }(t.ThunderToolsNS || (t.ThunderToolsNS = {}))
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(2), r = i(16);
    let o = ["apk", "pic", "video", "mp4", "rmvb", "wmv", "mpg", "mkv", "mov", "rm", "avi", "flv", "doc", "link", "ppt", "word", "magnetic", "music", "pdf", "rar", "xls", "txt", "unknow", "gif", "ipa", "ipsw", "dll", "chm", "text", "install", "iso"];
    const s = ".xv;.xlmv;.3gp;.3gp2;.3gpp;.3gpp2;.3mm;.3p2;.60d;.787;.aaf;.aep;.aepx;.aet;.aetx;.ajp;.ale;.amv;.amx;.arf;\n  .asf;.asx;.avb;.avd;.avi;.avp;.avs;.avs;.axm;.bdm;.bdmv;.bik;.bix;.bmk;.bnp;.box;.bs4;.bsf;.byu;.camproj;.camrec;.clpi;.cmmp;\n  .cmmtpl;.cmproj;.cmrec;.cpi;.cst;.cvc;.d2v;.d3v;.dat;.dav;.dce;.dck;.ddat;.dif;.dir;.divx;.dlx; .dmb;.dmsm;.dmsm3d;.dmss;.dnc;.dpg;\n  .dream;.dsy;.dv;.dv-avi;.dv4;.dvdmedia;.dvr-ms;.dvx;.dxr;.dzm;.dzp;.dzt;.edl;.evo;.eye;.f4p;.f4v;.fbr;.fbr;.fbz;.fcp;.flc;.flh;\n  .fli;.flv;.flx;.gfp;.gl;.grasp;.gts;.gvi;.gvp;.hdmov;.hkm;.ifo;.imovieproj;.imovieproject;.iva;.ivf;.ivr;.ivs;.izz;.izzy;.jts;.jtv;\n  .k3g;.lrec;.lsf;.lsx;.m15;.m1pg;.m1v;.m21;.m21;.m2a;.m2p;.m2t;.m2ts;.m2v;.m4e;.m4u;.m4v;.m75;.meta;.mgv;.mj2;.mjp;.mjpg;.mkv;.mmv;\n  .mnv;.mod;.modd;.moff;.moi;.moov;.mov;.movie;.mp21;.mp2v;.mp4;.mp4v;.mpe;.mpeg;.mpeg4;.mpf;.mpg;.mpg2;.mpgindex;.mpl;.mpls;\n  .mpsub;.mpv;.mpv2;.mqv;.msdvd;.msh;.mswmm;.mts;.mtv;.mvb;.mvc;.mvd;.mve;.mvp;.mvy;.mxf;.mys;.ncor;.nsv;.nuv;.nvc;.ogm;.ogv;.ogx;.osp;\n  .par;.pds;.pgi;.piv;.pjs;.pmf;.pns;.ppj;.prel;.pro;.prproj;.prtl;.psh;.pssd;.pva;.pvr;.pxv;.qt;.qtch;.qtl;.qtm;.qtz;\n  .r3d;.rcproject;.rdb;.rec;.rm;.rmd;.rmp;.rms;.rmvb;.roq;.rp;.rts;.rts;.rum;.rv;.sbk;.sbt;.scc;.scm;.scn;.screenflow;.sec;.seq;.sfd;\n  .sfvidcap;.smk;.sml;.smv;.spl;.ssm;.stl;.str;.stx;.svi;.swf;.swi;.swt;.tda3mt;.tivo;.tix;.tod;.tp;.tp0;.tpd;\n  .tpr;.trp;.ts;.tts;.tvs;.vc1;.vcpf;.vcr;.vcv;.vdo;.vdr;.veg;.vem;.vf;.vfw;.vfz;.vgz;.vid;.viewlet;.viv;.vivo;.vlab;.vob;.vp3;.vp6;.vp7;\n  .vro;.vs4;.vse;.vsp;.w32;.wcp;.webm;.wlmp;.wm;.wmd;.wmmp;.wmv;.wmx;.wp3;.wpl;.wtv;.wvx;.xfl;.xvid;.yuv;.zm1;.zm2;.zm3;.zmv;",
        a = ".exe;.com;.bat;.msi;.apk;.ipa;.iso;.mds;.bin;.img;.ipsw;",
        l = ".txt;.html;.htm;.shtml;.xhtml;.chm;.hlp;.inf;.rtf;.tex;.ltx;.doc;.docx;.wps;.ppt;.pptx;.odf;.pdf;.xls;.xlsx;.docm;.\n  dot;.dotm;.dotx;.email;.rp;.pps;.et;.ett;.xlt;.dbf;.prn;.csv;.mht;.mhtml;.xml;.wpt;.dps;.dpt;.pot;.ppsx;.epub;.mobi;.lit;.wdl;.ceb;.abm;\n  .pdg;.umb;.ibooks;",
        c = ".aiff;.cue;.m3u;.au;.cdda;.raw;.wav;.flac;.tak;.mp3;.aac;.wma;.m4a;.mid;.mka;.mp2;.mpa;.mpc;.ape;.ofr;\n  .ogg;.ra;.wv;.tta;.ac3;.dts;.nsf;.mod;.s3m;.xm;.it;.vst;",
        u = ".psd;.tga;.gif;.jpeg;.jpg;.jp2;.bmp;.ico;.pcx;.png;.pbm;.pgm;.ppm;.pnm;.pgf;.arw;.cr2;.crw;.dcr;.dng;.erf;.kdc;.mef;\n  .mos;.mrw;.nef;.nrw;.orf;.pef;.ptx;.r3d;.raf;.raw;.rw2;.srf;.srw;.x3f;.ras;.tiff;.tif;.wbmp;.ilbm;.lbm;.iff;.ico;",
        d = ".zip;.zipx;.rar;.7z;.isz;.cab;.arj;.ace;.alz;.uue;.tar;.gz; .gzip;.tgz;.tpz;.bzip2;.bz2;.bz;.tbz;.tbz2;.xz;.txz;\n  .lzh;.lha;.zt;.az; .xpi;.jar;.wim;.swm;.rpm;.xar;.deb;.dmg;.hfs;.cpio;.lzma;.lzma86;.split;",
        h = ".torrent;", p = ".idx;.smi;.sub;.psb;.ssa;.ass;.usf;.ssf;.srt;.sup",
        f = ".3gp;.asf;.avi;.divx;.f4v;.flv;.mkv;.mov;.movie;.mp4;.mpeg;.mpeg4;.mpg;.mpg2;.rm;.rmvb;.rp;.swf;.tp;.tp0;.ts;.wmv",
        A = ".exe;.com;.bat;.msi", v = ".wav;.flac;.mp3;.aac;.wma;.m4a;.mid;.ape;.ogg;.ra;.mod",
        g = ".psd;.tga;.gif;.jpeg;.jpg;.jp2;.bmp;.ico;.pcx;.pdf;.png;.pbm;.pgm;.ppm;.pnm;.pgf;.arw;.cr2;.crw;.dcr;.dng;.erf;.kdc;\n  .mef;.mos;.mrw;.nef;.nrw;.orf;.pef;.ptx;.r3d;.raf;.raw;.rw2;.srf;.srw;.x3f;.ras;.tiff;.tif;.wbmp;.ilbm;.lbm;.iff;.ico",
        m = ".txt;.html;.htm;.shtml;.xhtml;.chm;.hlp;.inf;.rtf;.tex;.ltx;.doc;.docx;.wps;.ppt;.pptx;.odf;.pdf;.xls;.xlsx;.docm;.dot;.dotm;.dotx;.email;.rp;.pps",
        y = ".rar;.tar;.zip;.gzip;.cab;.uue;.arj;.bz2;.lzh;.jar;.ace;.iso;.7-zip;.7z",
        w = ".asf;.mpg;.rmvb;.rm;.wmv;.avi;.mp4;.mpeg;.mkv;.mov;.ts;.flv;.3gp;",
        C = ".exe;.com;.bat;.scr;.lnk;.pif;.wsh;", b = ".iso;";
    !function (e) {
        let t;

        function i(e) {
            let i = t.Unkown, r = n.extname(e);
            return null !== r && void 0 !== r && r.length >= 2 && (r = r.toLowerCase()), void 0 === r || "" === r || r.length < 2 ? i = t.Unkown : f.indexOf(r) > -1 ? i = t.Video : A.indexOf(r) > -1 ? i = t.Software : m.indexOf(r) > -1 ? i = t.Doc : v.indexOf(r) > -1 ? i = t.Music : g.indexOf(r) > -1 ? i = t.Pic : y.indexOf(r) > -1 && (i = t.Zip), r.length > 1 && ".z" === r.slice(0, 2) && /[0-9]+/.test(r.substring(2)) && (i = t.Zip), i
        }

        e.getTaskIcon = function (e, t, i) {
            i = i || "xly-type-";
            let f = "";
            do {
                if (t === r.DownloadKernel.TaskType.Bt) {
                    f = "bt-file";
                    break
                }
                if (t === r.DownloadKernel.TaskType.Group) {
                    f = "group";
                    break
                }
                f = "unknown";
                let i = n.extname(e);
                if ("" === i || i.length < 2) break;
                let A = (i = i.toLowerCase()).substring(1);
                if (o.indexOf(A) > -1) {
                    f = "doc" === i ? "word" : A;
                    break
                }
                if (i += ";", s.indexOf(i) > -1) {
                    f = "video";
                    break
                }
                if (a.indexOf(i) > -1) {
                    f = "install", [".mds", ".bin", ".img"].indexOf(i) > -1 && (f = "iso");
                    break
                }
                if (l.indexOf(i) > -1) {
                    if (f = "doc", [".htm", ".html", ".mht"].indexOf(i) > -1) {
                        f = "link";
                        break
                    }
                    if ("docx" === i) {
                        f = "word";
                        break
                    }
                    if ("xlsx" === i) {
                        f = "xls";
                        break
                    }
                    if ("pptx" === i) {
                        f = "ppt";
                        break
                    }
                    break
                }
                if (c.indexOf(i) > -1) {
                    f = "music";
                    break
                }
                if (u.indexOf(i) > -1) {
                    f = "pic";
                    break
                }
                if (d.indexOf(i) > -1) {
                    f = "rar";
                    break
                }
                if (h.indexOf(i) > -1) {
                    f = "bt-link";
                    break
                }
                if (p.indexOf(i) > -1) {
                    f = "text";
                    break
                }
            } while (0);
            return `${i}${f}`
        }, function (e) {
            e[e.Unkown = 0] = "Unkown", e[e.Video = 1] = "Video", e[e.Software = 2] = "Software", e[e.Doc = 3] = "Doc", e[e.Music = 4] = "Music", e[e.Pic = 5] = "Pic", e[e.Zip = 6] = "Zip", e[e.Bt = 7] = "Bt"
        }(t = e.FileExtType || (e.FileExtType = {})), e.getTaskFileType = function (e, i) {
            let r = t.Unkown;
            return void 0 === i && void 0 !== e && (i = n.extname(e)), null !== i && void 0 !== i && i.length >= 2 && (i = i.toLowerCase(), i += ";"), void 0 === i || "" === i || i.length < 3 ? r = t.Unkown : s.indexOf(i) > -1 ? r = t.Video : a.indexOf(i) > -1 ? r = t.Software : l.indexOf(i) > -1 ? r = t.Doc : c.indexOf(i) > -1 ? r = t.Music : u.indexOf(i) > -1 ? r = t.Pic : d.indexOf(i) > -1 ? r = t.Zip : h.indexOf(i) > -1 && (r = t.Bt), i.length > 1 && ".z" === i.slice(0, 2) && /[0-9]+/.test(i.substring(2)) && (r = t.Zip), r
        }, e.isVideoFileExt = function (e) {
            let t = !1;
            do {
                if (null === e || void 0 === e || "" === e) break;
                let i = n.extname(e);
                if (!(null !== i && void 0 !== i && i.length >= 2)) break;
                i = i.toLowerCase(), i += ";", w.indexOf(i) > -1 && (t = !0)
            } while (0);
            return t
        }, e.isSubtitleExt = function (e) {
            let t = !1;
            do {
                if (null === e || void 0 === e || "" === e) break;
                let i = n.extname(e);
                if (!(null !== i && void 0 !== i && i.length >= 2)) break;
                i = i.toLowerCase(), i += ";", p.indexOf(i) > -1 && (t = !0)
            } while (0);
            return t
        }, e.isExecutableExt = function (e) {
            let t = !1;
            do {
                if (null === e || void 0 === e || "" === e) break;
                let i = n.extname(e);
                if (!(null !== i && void 0 !== i && i.length >= 2)) break;
                i = i.toLowerCase(), i += ";", C.indexOf(i) > -1 && (t = !0)
            } while (0);
            return t
        }, e.isIsoExt = function (e) {
            let t = !1;
            do {
                if (null === e || void 0 === e || "" === e) break;
                let i = n.extname(e);
                if (!(null !== i && void 0 !== i && i.length >= 2)) break;
                i = i.toLowerCase(), i += ";", b.indexOf(i) > -1 && (t = !0)
            } while (0);
            return t
        }, e.getGroupFileType = i, e.getDefaultGroupPrefix = function (e) {
            let n = "任务组";
            do {
                if (void 0 === e || null === e || 0 === e.length) break;
                let r = [];
                for (let e = 0; e < 7; e++) r[e] = 0;
                for (let t of e) {
                    let e = i(t);
                    r[e] = r[e] + 1
                }
                let o = t.Unkown;
                for (let e = 1; e < r.length; e++) r[e] > r[o] && (o = e);
                o === t.Video ? n = "视频任务组" : o === t.Software ? n = "程序任务组" : o === t.Music ? n = "音乐任务组" : o === t.Pic ? n = "图片任务组" : o === t.Doc ? n = "文档任务组" : o === t.Zip && (n = "压缩包任务组")
            } while (0);
            return n
        }, e.compareVersion = function (e, t) {
            let i = -2;
            do {
                if (null === e || void 0 === e || "" === e || null === t || void 0 === t || "" === t) break;
                let n = 0, r = 0, o = 0, s = 0, a = 0, l = 0, c = 0, u = 0, d = e.split(/\./);
                if (null === d || void 0 === d || d.length < 3) break;
                if (n = Number(d[0]), r = Number(d[1]), o = Number(d[2]), null !== d[3] && void 0 !== d[3] && "" !== d[3] && (s = Number(d[3])), null === (d = t.split(/\./)) || void 0 === d || d.length < 3) break;
                if (a = Number(d[0]), l = Number(d[1]), c = Number(d[2]), null !== d[3] && void 0 !== d[3] && "" !== d[3] && (u = Number(d[3])), a > n) {
                    i = 1;
                    break
                }
                if (a < n) {
                    i = -1;
                    break
                }
                if (l > r) {
                    i = 1;
                    break
                }
                if (l < r) {
                    i = -1;
                    break
                }
                if (c > o) {
                    i = 1;
                    break
                }
                if (c < o) {
                    i = -1;
                    break
                }
                if (0 !== s) {
                    if (u > s) {
                        i = 1;
                        break
                    }
                    if (u < s) {
                        i = -1;
                        break
                    }
                }
                i = 0
            } while (0);
            return i
        }
    }(t.TaskUtilHelper || (t.TaskUtilHelper = {}))
}, function (e, t, i) {
    (function (e) {
        var i = 200, n = "__lodash_hash_undefined__", r = 800, o = 16, s = 9007199254740991, a = "[object Arguments]",
            l = "[object AsyncFunction]", c = "[object Function]", u = "[object GeneratorFunction]",
            d = "[object Null]", h = "[object Object]", p = "[object Proxy]", f = "[object Undefined]",
            A = /^\[object .+?Constructor\]$/, v = /^(?:0|[1-9]\d*)$/, g = {};
        g["[object Float32Array]"] = g["[object Float64Array]"] = g["[object Int8Array]"] = g["[object Int16Array]"] = g["[object Int32Array]"] = g["[object Uint8Array]"] = g["[object Uint8ClampedArray]"] = g["[object Uint16Array]"] = g["[object Uint32Array]"] = !0, g[a] = g["[object Array]"] = g["[object ArrayBuffer]"] = g["[object Boolean]"] = g["[object DataView]"] = g["[object Date]"] = g["[object Error]"] = g[c] = g["[object Map]"] = g["[object Number]"] = g[h] = g["[object RegExp]"] = g["[object Set]"] = g["[object String]"] = g["[object WeakMap]"] = !1;
        var m = "object" == typeof global && global && global.Object === Object && global,
            y = "object" == typeof self && self && self.Object === Object && self,
            w = m || y || Function("return this")(), C = "object" == typeof t && t && !t.nodeType && t,
            b = C && "object" == typeof e && e && !e.nodeType && e, x = b && b.exports === C, I = x && m.process,
            k = function () {
                try {
                    var e = b && b.require && b.require("util").types;
                    return e || I && I.binding && I.binding("util")
                } catch (e) {
                }
            }(), S = k && k.isTypedArray;
        var E, D, M, R = Array.prototype, B = Function.prototype, P = Object.prototype, T = w["__core-js_shared__"],
            O = B.toString, N = P.hasOwnProperty,
            j = (E = /[^.]+$/.exec(T && T.keys && T.keys.IE_PROTO || "")) ? "Symbol(src)_1." + E : "", F = P.toString,
            Q = O.call(Object),
            K = RegExp("^" + O.call(N).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),
            L = x ? w.Buffer : void 0, U = w.Symbol, Y = w.Uint8Array, G = L ? L.allocUnsafe : void 0,
            z = (D = Object.getPrototypeOf, M = Object, function (e) {
                return D(M(e))
            }), H = Object.create, _ = P.propertyIsEnumerable, q = R.splice, W = U ? U.toStringTag : void 0,
            V = function () {
                try {
                    var e = we(Object, "defineProperty");
                    return e({}, "", {}), e
                } catch (e) {
                }
            }(), J = L ? L.isBuffer : void 0, Z = Math.max, X = Date.now, $ = we(w, "Map"), ee = we(Object, "create"),
            te = function () {
                function e() {
                }

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

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

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

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

        function oe(e) {
            var t = this.__data__ = new ne(e);
            this.size = t.size
        }

        function se(e, t) {
            var i = Ee(e), n = !i && Se(e), r = !i && !n && Me(e), o = !i && !n && !r && Oe(e), s = i || n || r || o,
                a = s ? function (e, t) {
                    for (var i = -1, n = Array(e); ++i < e;) n[i] = t(i);
                    return n
                }(e.length, String) : [], l = a.length;
            for (var c in e) !t && !N.call(e, c) || s && ("length" == c || r && ("offset" == c || "parent" == c) || o && ("buffer" == c || "byteLength" == c || "byteOffset" == c) || Ce(c, l)) || a.push(c);
            return a
        }

        function ae(e, t, i) {
            (void 0 === i || ke(e[t], i)) && (void 0 !== i || t in e) || ue(e, t, i)
        }

        function le(e, t, i) {
            var n = e[t];
            N.call(e, t) && ke(n, i) && (void 0 !== i || t in e) || ue(e, t, i)
        }

        function ce(e, t) {
            for (var i = e.length; i--;) if (ke(e[i][0], t)) return i;
            return -1
        }

        function ue(e, t, i) {
            "__proto__" == t && V ? V(e, t, {configurable: !0, enumerable: !0, value: i, writable: !0}) : e[t] = i
        }

        ie.prototype.clear = function () {
            this.__data__ = ee ? ee(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 (ee) {
                var i = t[e];
                return i === n ? void 0 : i
            }
            return N.call(t, e) ? t[e] : void 0
        }, ie.prototype.has = function (e) {
            var t = this.__data__;
            return ee ? void 0 !== t[e] : N.call(t, e)
        }, ie.prototype.set = function (e, t) {
            var i = this.__data__;
            return this.size += this.has(e) ? 0 : 1, i[e] = ee && void 0 === t ? n : t, this
        }, ne.prototype.clear = function () {
            this.__data__ = [], this.size = 0
        }, ne.prototype.delete = function (e) {
            var t = this.__data__, i = ce(t, e);
            return !(i < 0 || (i == t.length - 1 ? t.pop() : q.call(t, i, 1), --this.size, 0))
        }, ne.prototype.get = function (e) {
            var t = this.__data__, i = ce(t, e);
            return i < 0 ? void 0 : t[i][1]
        }, ne.prototype.has = function (e) {
            return ce(this.__data__, e) > -1
        }, ne.prototype.set = function (e, t) {
            var i = this.__data__, n = ce(i, e);
            return n < 0 ? (++this.size, i.push([e, t])) : i[n][1] = t, this
        }, re.prototype.clear = function () {
            this.size = 0, this.__data__ = {hash: new ie, map: new ($ || ne), string: new ie}
        }, re.prototype.delete = function (e) {
            var t = ye(this, e).delete(e);
            return this.size -= t ? 1 : 0, t
        }, re.prototype.get = function (e) {
            return ye(this, e).get(e)
        }, re.prototype.has = function (e) {
            return ye(this, e).has(e)
        }, re.prototype.set = function (e, t) {
            var i = ye(this, e), n = i.size;
            return i.set(e, t), this.size += i.size == n ? 0 : 1, this
        }, oe.prototype.clear = function () {
            this.__data__ = new ne, this.size = 0
        }, oe.prototype.delete = function (e) {
            var t = this.__data__, i = t.delete(e);
            return this.size = t.size, i
        }, oe.prototype.get = function (e) {
            return this.__data__.get(e)
        }, oe.prototype.has = function (e) {
            return this.__data__.has(e)
        }, oe.prototype.set = function (e, t) {
            var n = this.__data__;
            if (n instanceof ne) {
                var r = n.__data__;
                if (!$ || r.length < i - 1) return r.push([e, t]), this.size = ++n.size, this;
                n = this.__data__ = new re(r)
            }
            return n.set(e, t), this.size = n.size, this
        };
        var de, he = function (e, t, i) {
            for (var n = -1, r = Object(e), o = i(e), s = o.length; s--;) {
                var a = o[de ? s : ++n];
                if (!1 === t(r[a], a, r)) break
            }
            return e
        };

        function pe(e) {
            return null == e ? void 0 === e ? f : d : W && W in Object(e) ? function (e) {
                var t = N.call(e, W), i = e[W];
                try {
                    e[W] = void 0;
                    var n = !0
                } catch (e) {
                }
                var r = F.call(e);
                n && (t ? e[W] = i : delete e[W]);
                return r
            }(e) : function (e) {
                return F.call(e)
            }(e)
        }

        function fe(e) {
            return Te(e) && pe(e) == a
        }

        function Ae(e) {
            return !(!Pe(e) || j && j in e) && (Re(e) ? K : A).test(function (e) {
                if (null != e) {
                    try {
                        return O.call(e)
                    } catch (e) {
                    }
                    try {
                        return e + ""
                    } catch (e) {
                    }
                }
                return ""
            }(e))
        }

        function ve(e) {
            if (!Pe(e)) return function (e) {
                var t = [];
                if (null != e) for (var i in Object(e)) t.push(i);
                return t
            }(e);
            var t = be(e), i = [];
            for (var n in e) ("constructor" != n || !t && N.call(e, n)) && i.push(n);
            return i
        }

        function ge(e, t, i, n, r) {
            e !== t && he(t, function (o, s) {
                if (r || (r = new oe), Pe(o)) !function (e, t, i, n, r, o, s) {
                    var a = xe(e, i), l = xe(t, i), c = s.get(l);
                    if (c) return void ae(e, i, c);
                    var u = o ? o(a, l, i + "", e, t, s) : void 0, d = void 0 === u;
                    if (d) {
                        var p = Ee(l), f = !p && Me(l), A = !p && !f && Oe(l);
                        u = l, p || f || A ? Ee(a) ? u = a : Te(w = a) && De(w) ? u = function (e, t) {
                            var i = -1, n = e.length;
                            t || (t = Array(n));
                            for (; ++i < n;) t[i] = e[i];
                            return t
                        }(a) : f ? (d = !1, u = function (e, t) {
                            if (t) return e.slice();
                            var i = e.length, n = G ? G(i) : new e.constructor(i);
                            return e.copy(n), n
                        }(l, !0)) : A ? (d = !1, v = l, g = !0 ? (m = v.buffer, y = new m.constructor(m.byteLength), new Y(y).set(new Y(m)), y) : v.buffer, u = new v.constructor(g, v.byteOffset, v.length)) : u = [] : function (e) {
                            if (!Te(e) || pe(e) != h) return !1;
                            var t = z(e);
                            if (null === t) return !0;
                            var i = N.call(t, "constructor") && t.constructor;
                            return "function" == typeof i && i instanceof i && O.call(i) == Q
                        }(l) || Se(l) ? (u = a, Se(a) ? u = function (e) {
                            return function (e, t, i, n) {
                                var r = !i;
                                i || (i = {});
                                var o = -1, s = t.length;
                                for (; ++o < s;) {
                                    var a = t[o], l = n ? n(i[a], e[a], a, i, e) : void 0;
                                    void 0 === l && (l = e[a]), r ? ue(i, a, l) : le(i, a, l)
                                }
                                return i
                            }(e, Ne(e))
                        }(a) : Pe(a) && !Re(a) || (u = function (e) {
                            return "function" != typeof e.constructor || be(e) ? {} : te(z(e))
                        }(l))) : d = !1
                    }
                    var v, g, m, y;
                    var w;
                    d && (s.set(l, u), r(u, l, n, o, s), s.delete(l));
                    ae(e, i, u)
                }(e, t, s, i, ge, n, r); else {
                    var a = n ? n(xe(e, s), o, s + "", e, t, r) : void 0;
                    void 0 === a && (a = o), ae(e, s, a)
                }
            }, Ne)
        }

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

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

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

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

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

        function xe(e, t) {
            if (("constructor" !== t || "function" != typeof e[t]) && "__proto__" != t) return e[t]
        }

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

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

        var Se = fe(function () {
            return arguments
        }()) ? fe : function (e) {
            return Te(e) && N.call(e, "callee") && !_.call(e, "callee")
        }, Ee = Array.isArray;

        function De(e) {
            return null != e && Be(e.length) && !Re(e)
        }

        var Me = J || function () {
            return !1
        };

        function Re(e) {
            if (!Pe(e)) return !1;
            var t = pe(e);
            return t == c || t == u || t == l || t == p
        }

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

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

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

        var Oe = S ? function (e) {
            return function (t) {
                return e(t)
            }
        }(S) : function (e) {
            return Te(e) && Be(e.length) && !!g[pe(e)]
        };

        function Ne(e) {
            return De(e) ? se(e, !0) : ve(e)
        }

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

        function Qe(e) {
            return e
        }

        e.exports = Fe
    }).call(this, i(67)(e))
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(68), r = i(65);
    !function (e) {
        e.getWindowPreference = function (e = !1) {
            let t = r.default(), i = {};
            return t && t.colors && "string" == typeof t.colors.colorPrimaryControl1 && (i.hoverBackgroundColor = e ? parseInt(n.ColorUtilNS.rgbaStringToHexWith0xBegin(t.colors.colorPrimaryControl1), 16) : n.ColorUtilNS.rgbaStringToHexWith0xBegin(t.colors.colorPrimaryControl1)), i
        }
    }(t.WindowPreferenceNS || (t.WindowPreferenceNS = {}))
}, function (e, t, i) {
    "use strict";
    var n = i(10), r = i(109), o = {"Content-Type": "application/x-www-form-urlencoded"};

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

    var a, l = {
        adapter: ("undefined" != typeof XMLHttpRequest ? a = i(110) : "undefined" != typeof process && (a = i(25)), a),
        transformRequest: [function (e, t) {
            return r(t, "Content-Type"), n.isFormData(e) || n.isArrayBuffer(e) || n.isBuffer(e) || n.isStream(e) || n.isFile(e) || n.isBlob(e) ? e : n.isArrayBufferView(e) ? e.buffer : n.isURLSearchParams(e) ? (s(t, "application/x-www-form-urlencoded;charset=utf-8"), e.toString()) : n.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, */*"}}, n.forEach(["delete", "get", "head"], function (e) {
        l.headers[e] = {}
    }), n.forEach(["post", "put", "patch"], function (e) {
        l.headers[e] = n.merge(o)
    }), e.exports = l
}, function (e, t, i) {
    "use strict";
    var n = i(73);
    e.exports = function (e, t, i, r, o) {
        var s = new Error(e);
        return n(s, t, i, r, o)
    }
}, function (e, t) {
    e.exports = require("https")
}, function (e, t) {
    e.exports = require("zlib")
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(1), s = i(4), a = o.default.getLogger("GetSkinInfo");
    let l;
    (function () {
        return n(this, void 0, void 0, function* () {
            "renderer" === process.type ? (a.information("renderer process"), s.client.callServerFunction("GetSkinInfo").then(e => {
                l = e, a.information("send OnChangeSkin", e)
            }).catch(e => {
                a.warning(e)
            }), s.client.attachServerEvent("OnChangeSkin", (e, t) => {
                l = t, a.information("send OnChangeSkin", t)
            })) : "browser" === process.type && (a.information("main process"), r.ipcMain.on("OnChangeSkin", (e, t) => {
                a.information("OnChangeSkin", t), l = t
            }))
        })
    })().catch(e => {
        a.information(e)
    }), t.default = function () {
        return l
    }
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(7), o = i(1), s = i(11), a = i(59), l = o.default.getLogger("MenuSkinNS");
    !function (e) {
        function t(e, t) {
            return n(this, void 0, void 0, function* () {
                if (l.information("setStyle", e, t), null !== e) {
                    const {WindowPreferenceNS: n} = yield Promise.resolve().then(() => i(60));
                    let r = {windowPreference: n.getWindowPreference()};
                    l.information("skinOpts", r), yield e.setStyle(a(r, t))
                }
            })
        }

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

        e.rgbaStringToHexWith0xBegin = function (e) {
            if (void 0 !== e) {
                let t = e.split(",");
                return i(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 = i
    }(t.ColorUtilNS || (t.ColorUtilNS = {}))
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(70), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(35), s = i(7), a = i(5);
    let l = class extends a.Vue {
        onOptionsChanged() {
            return r(this, void 0, void 0, function* () {
                yield this.appendContent()
            })
        }

        appendContent() {
            return r(this, void 0, void 0, function* () {
                if (!this.dropdown) {
                    let e = yield o.electron.DropdownWindow.__resolve();
                    this.dropdown = yield new e
                }
                this.dropdown.clear();
                let e = yield o.electron.DropdownWindowContent.__resolve();
                for (let t of this.options) if (t) if ("separator" === t) {
                    let t = yield new e({type: "separator"});
                    yield this.dropdown.append(t)
                } else {
                    let i = yield new e({
                        label: t ? t.toString() : "", click: () => {
                            this.$refs.select.menuVisible = !1, this.$emit("input", t, !0)
                        }
                    });
                    yield this.dropdown.append(i)
                }
            })
        }

        handleMenuShow() {
            return r(this, void 0, void 0, function* () {
                if (void 0 === this.options || !Array.isArray(this.options) || 0 === this.options.length) return;
                this.dropdown || (yield this.appendContent());
                let e = this.$el.getBoundingClientRect();
                const {DropDownWindowSkinNS: t} = yield Promise.resolve().then(() => i(105));
                t.setStyle(this.dropdown, {
                    windowPreference: {
                        marginLeft: 0,
                        marginRight: 0,
                        stringWidth: Math.round(e.width) - 39
                    }
                });
                let n = yield s.asyncRemoteCall.getCurrentWindow();
                this.dropdown.popup({window: n, x: Math.round(e.left), y: Math.round(e.top + e.height + 4)})
            })
        }

        focusEdit() {
            if (this.$refs.select) {
                let e = this.$refs.select.$el.querySelector("input");
                null !== e && void 0 !== e && e.focus()
            }
        }
    };
    n([a.Prop()], l.prototype, "value", void 0), n([a.Prop({default: () => []})], l.prototype, "options", void 0), n([a.Watch("options")], l.prototype, "onOptionsChanged", null), l = n([a.Component], l), t.default = l
}, function (e, t, i) {
    "use strict";
    e.exports = function (e, t) {
        return function () {
            for (var i = new Array(arguments.length), n = 0; n < i.length; n++) i[n] = arguments[n];
            return e.apply(t, i)
        }
    }
}, function (e, t, i) {
    "use strict";
    var n = i(62);
    e.exports = function (e, t, i) {
        var r = i.config.validateStatus;
        i.status && r && !r(i.status) ? t(n("Request failed with status code " + i.status, i.config, null, i.request, i)) : e(i)
    }
}, function (e, t, i) {
    "use strict";
    e.exports = function (e, t, i, n, r) {
        return e.config = t, i && (e.code = i), e.request = n, e.response = r, e
    }
}, function (e, t, i) {
    "use strict";
    var n = i(10);

    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, i) {
        if (!t) return e;
        var o;
        if (i) o = i(t); else if (n.isURLSearchParams(t)) o = t.toString(); else {
            var s = [];
            n.forEach(t, function (e, t) {
                null !== e && void 0 !== e && (n.isArray(e) ? t += "[]" : e = [e], n.forEach(e, function (e) {
                    n.isDate(e) ? e = e.toISOString() : n.isObject(e) && (e = JSON.stringify(e)), s.push(r(t) + "=" + r(e))
                }))
            }), o = s.join("&")
        }
        return o && (e += (-1 === e.indexOf("?") ? "?" : "&") + o), e
    }
}, function (e, t, i) {
    var n = i(34), r = i(54), o = i(63), s = i(98), a = i(76).Writable, l = i(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 i = this;
        if (this._onNativeResponse = function (e) {
            i._processResponse(e)
        }, !e.pathname && e.path) {
            var n = e.path.indexOf("?");
            n < 0 ? e.pathname = e.path : (e.pathname = e.path.substring(0, n), e.search = e.path.substring(n))
        }
        this._performRequest()
    }

    function h(e) {
        var t = {maxRedirects: 21, maxBodyLength: 10485760}, i = {};
        return Object.keys(e).forEach(function (r) {
            var o = r + ":", a = i[o] = e[r], c = t[r] = Object.create(a);
            c.request = function (e, r) {
                return "string" == typeof e ? (e = n.parse(e)).maxRedirects = t.maxRedirects : e = Object.assign({
                    protocol: o,
                    maxRedirects: t.maxRedirects,
                    maxBodyLength: t.maxBodyLength
                }, e), e.nativeProtocols = i, s.equal(e.protocol, o, "protocol mismatch"), l("options", e), new d(e, r)
            }, c.get = function (e, t) {
                var i = c.request(e, t);
                return i.end(), i
            }
        }), 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, i) {
        this._requestBodyLength + e.length <= this._options.maxBodyLength ? (this._requestBodyLength += e.length, this._requestBodyBuffers.push({
            data: e,
            encoding: t
        }), this._currentRequest.write(e, t, i)) : (this.emit("error", new Error("Request body larger than maxBodyLength limit")), this.abort())
    }, d.prototype.end = function (e, t, i) {
        var n = this._currentRequest;
        e ? this.write(e, t, function () {
            n.end(null, null, i)
        }) : n.end(null, null, i)
    }, 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, i) {
            return this._currentRequest[e](t, i)
        }
    }), ["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 i = e.substr(0, e.length - 1);
            this._options.agent = this._options.agents[i]
        }
        var r = this._currentRequest = t.request(this._options, this._onNativeResponse);
        for (var o in this._currentUrl = n.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 i, r = this._options.headers;
            if (307 !== e.statusCode && !(this._options.method in c)) for (i in this._options.method = "GET", this._requestBodyBuffers = [], r) /^content-/i.test(i) && delete r[i];
            if (!this._isRedirect) for (i in r) /^host$/i.test(i) && delete r[i];
            var o = n.resolve(this._currentUrl, t);
            l("redirecting to", o), Object.assign(this._options, n.parse(o)), this._isRedirect = !0, this._performRequest()
        } else e.responseUrl = this._currentUrl, this.emit("response", e), this._requestBodyBuffers = []
    }, e.exports = h({http: r, https: o}), e.exports.wrap = h
}, function (e, t) {
    e.exports = require("stream")
}, function (e, t, i) {
    "use strict";
    e.exports = function (e) {
        return !(!e || !e.__CANCEL__)
    }
}, function (e, t, i) {
    "use strict";

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

    n.prototype.toString = function () {
        return "Cancel" + (this.message ? ": " + this.message : "")
    }, n.prototype.__CANCEL__ = !0, e.exports = n
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(7), s = i(18);
    !function (e) {
        e.resizeToFitContent = function (e = 0, t = 0, i) {
            return n(this, void 0, void 0, function* () {
                let n = yield o.asyncRemoteCall.getCurrentWindow();
                if (e > 0 && t > 0) yield n.setSize(e, t); else {
                    let e = document.querySelector(".td-dialog");
                    yield n.setSize(e.offsetWidth, e.offsetHeight)
                }
                i && "function" == typeof i && i(), window.requestIdleCallback(() => {
                    n.show()
                })
            })
        }, e.autoAdaptScrollIntoView = function (e, t, i) {
            let n = t.scrollTop, r = t.getBoundingClientRect(), o = e.getBoundingClientRect(), s = r.bottom;
            void 0 !== i && "number" == typeof i && i > 0 && (s = r.top + i), o.top < r.top ? t.scrollTop = n - (r.top - o.top) : o.bottom > s && (t.scrollTop = n + (o.bottom - s))
        }, e.fitWindowPosInParent = function (e, t) {
            return n(this, void 0, void 0, function* () {
                e || (e = yield o.asyncRemoteCall.getCurrentWindow()), t || (t = yield e.getParentWindow()), r.ipcRenderer.sendSync(s.ThunderChannelList.channelRMSetPosition, yield e.getNativeWindowHandle(), yield t.getNativeWindowHandle())
            })
        }, e.getWindowsInParentCenterPos = function (e, t, i) {
            return n(this, void 0, void 0, function* () {
                i || (i = yield o.asyncRemoteCall.getCurrentWindow());
                let n = yield i.getPosition(), s = yield i.getSize(),
                    a = "browser" !== process.type ? yield o.asyncRemoteCall.getScreen() : r.screen,
                    l = yield a.getCursorScreenPoint(), c = yield a.getDisplayNearestPoint(l), u = c.size.width,
                    d = c.size.height, h = s[0], p = s[1];
                n[0] + h > u && (h = u - n[0]), n[1] + p > d && (p = d - n[1]);
                let f = n[0] + (h - e) / 2, A = n[1] + (p - t) / 2;
                return f < 0 ? f = 0 : f > u - e && (f = u - e), A < 0 ? A = 0 : A > d - t && (A = d - t), [Math.round(f), Math.round(A)]
            })
        }, e.centerWnd = function (e, t, i) {
            do {
                if ("browser" !== process.type) break;
                if (!e || !t) break;
                let n = e.getNativeWindowHandle().readUIntLE(0, 4);
                if (!n) break;
                let o = t.getPosition(), s = t.getSize(), a = e.getSize(), l = r.screen.getCursorScreenPoint(),
                    c = r.screen.getDisplayNearestPoint(l), u = c.scaleFactor, d = c.size.width, h = c.size.height,
                    p = s[0], f = s[1];
                o[0] + p > d && (p = d - o[0]), o[1] + f > h && (f = h - o[1]);
                let A = o[0] + (p - a[0]) / 2, v = o[1] + (f - a[1]) / 2;
                A < 0 ? A = 0 : A > d - a[0] && (A = d - a[0]), v < 0 ? v = 0 : v > h - a[1] && (v = h - a[1]), i.setWindowPos(n, 0, A * u, v * u, 0, 0, 5)
            } while (0)
        }, e.bringWindowToTop = function (e) {
            return n(this, void 0, void 0, function* () {
                if (!e) {
                    let t = yield(yield o.asyncRemoteCall.getCurrentWindow()).getNativeWindowHandle();
                    e = t.readUIntLE(0, 4)
                }
                r.ipcRenderer.send(s.ThunderChannelList.channelMRBringWindowToTop, e)
            })
        }
    }(t.ThunderWindowNS || (t.ThunderWindowNS = {}))
}, function (e, t) {
    !function (e) {
        var t,
            i = '<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>',
            n = 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 i = function () {
                    document.removeEventListener("DOMContentLoaded", i, !1), t()
                };
                document.addEventListener("DOMContentLoaded", i, !1)
            } else document.attachEvent && function (e, t) {
                var i = e.document, n = !1, r = function () {
                    n || (n = !0, t())
                }, o = function () {
                    try {
                        i.documentElement.doScroll("left")
                    } catch (e) {
                        return void setTimeout(o, 50)
                    }
                    r()
                };
                o(), i.onreadystatechange = function () {
                    "complete" == i.readyState && (i.onreadystatechange = null, r())
                }
            }(e, t)
        }(function () {
            var e, t;
            (e = document.createElement("div")).innerHTML = i, i = 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", n(t, document.body))
        })
    }(window)
}, function (e, t) {
    var i,
        n = [0, 26, 44, 70, 100, 134, 172, 196, 242, 292, 346, 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085, 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185, 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706];
    t.getSymbolSize = function (e) {
        if (!e) throw new Error('"version" cannot be null or undefined');
        if (e < 1 || e > 40) throw new Error('"version" should be in range from 1 to 40');
        return 4 * e + 17
    }, t.getSymbolTotalCodewords = function (e) {
        return n[e]
    }, t.getBCHDigit = function (e) {
        for (var t = 0; 0 !== e;) t++, e >>>= 1;
        return t
    }, t.setToSJISFunction = function (e) {
        if ("function" != typeof e) throw new Error('"toSJISFunc" is not a valid function.');
        i = e
    }, t.isKanjiModeEnabled = function () {
        return void 0 !== i
    }, t.toSJIS = function (e) {
        return i(e)
    }
}, function (e, t, i) {
    var n = i(180), r = i(181);
    t.NUMERIC = {id: "Numeric", bit: 1, ccBits: [10, 12, 14]}, t.ALPHANUMERIC = {
        id: "Alphanumeric",
        bit: 2,
        ccBits: [9, 11, 13]
    }, t.BYTE = {id: "Byte", bit: 4, ccBits: [8, 16, 16]}, t.KANJI = {
        id: "Kanji",
        bit: 8,
        ccBits: [8, 10, 12]
    }, t.MIXED = {bit: -1}, t.getCharCountIndicator = function (e, t) {
        if (!e.ccBits) throw new Error("Invalid mode: " + e);
        if (!n.isValid(t)) throw new Error("Invalid version: " + t);
        return t >= 1 && t < 10 ? e.ccBits[0] : t < 27 ? e.ccBits[1] : e.ccBits[2]
    }, t.getBestModeForData = function (e) {
        return r.testNumeric(e) ? t.NUMERIC : r.testAlphanumeric(e) ? t.ALPHANUMERIC : r.testKanji(e) ? t.KANJI : t.BYTE
    }, t.toString = function (e) {
        if (e && e.id) return e.id;
        throw new Error("Invalid mode")
    }, t.isValid = function (e) {
        return e && e.bit && e.ccBits
    }, t.from = function (e, i) {
        if (t.isValid(e)) return e;
        try {
            return function (e) {
                if ("string" != typeof e) throw new Error("Param is not a string");
                switch (e.toLowerCase()) {
                    case"numeric":
                        return t.NUMERIC;
                    case"alphanumeric":
                        return t.ALPHANUMERIC;
                    case"kanji":
                        return t.KANJI;
                    case"byte":
                        return t.BYTE;
                    default:
                        throw new Error("Unknown mode: " + e)
                }
            }(e)
        } catch (e) {
            return i
        }
    }
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement;
        return (e._self._c || t)("td-select", e._g(e._b({
            ref: "select",
            attrs: {value: e.value, "custom-menu-enabled": ""},
            on: {"menu-show": e.handleMenuShow}
        }, "td-select", e.$attrs, !1), e.$listeners), [e._t("suffix", null, {slot: "suffix"}), e._v(" "), e._t("append", null, {slot: "append"})], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, , , , , , , , , , , , , function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(97), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(5), o = i(11);
    let s = class extends r.Vue {
        constructor() {
            super(...arguments), this.tipsText = "", this.isShowTips = !1
        }

        handleDocClick() {
            this.tipsText = "", this.isShowTips = !1
        }

        mounted() {
            document.addEventListener("mousedown", this.handleDocClick)
        }

        destroyed() {
            document.removeEventListener("mousedown", this.handleDocClick)
        }

        handleInputChange(e) {
            let t = !0;
            do {
                if (this.isAlpha) {
                    if (e.length > 1) {
                        this.tipsText = "最大输入字符个数为1", this.isShowTips = !0, t = !1;
                        break
                    }
                    if (!o.ThunderUtil.isAlpha(e)) {
                        this.tipsText = "只能为字母", this.isShowTips = !0, t = !1;
                        break
                    }
                } else if (this.isNumber) {
                    if (!o.ThunderUtil.isDigital(e)) {
                        this.tipsText = "输入值必须为数字", this.isShowTips = !0, t = !1;
                        break
                    }
                    let i = Number(e);
                    if (void 0 !== this.min && null !== this.min && i < this.min) {
                        this.tipsText = "输入值必须大于等于" + this.min, this.isShowTips = !0, t = !1;
                        break
                    }
                    if (void 0 !== this.max && null !== this.max && i > this.max) {
                        this.tipsText = "输入值必须小于等于" + this.max, this.isShowTips = !0, t = !1;
                        break
                    }
                }
            } while (0);
            t ? this.$emit("input", e) : this.$emit("input", this.value, e)
        }
    };
    n([r.Prop({default: "top"})], s.prototype, "placement", void 0), n([r.Prop({})], s.prototype, "value", void 0), n([r.Prop({default: !1})], s.prototype, "isNumber", void 0), n([r.Prop({})], s.prototype, "max", void 0), n([r.Prop({})], s.prototype, "min", void 0), n([r.Prop({default: !1})], s.prototype, "isAlpha", void 0), s = n([r.Component], s), t.default = s
}, function (e, t) {
    e.exports = require("assert")
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(4), o = i(7), s = i(1).default.getLogger("path-selector"), a = "PathAndCategory",
        l = "historyDownloadPaths", c = 8;

    function u(e) {
        return n(this, void 0, void 0, function* () {
            s.information("SetConfigValue", e), yield r.client.callServerFunction("SetConfigValue", a, l, e), yield r.client.callServerFunction("SaveConfig")
        })
    }

    !function (e) {
        function t() {
            return n(this, void 0, void 0, function* () {
                return yield r.client.callServerFunction("GetConfigValue", a, l, [])
            })
        }

        e.getMaxHistoryPathsLen = function () {
            return c
        }, e.getHistoryPaths = t, e.addHistoryPaths = function (e) {
            return n(this, void 0, void 0, function* () {
                let i = yield t();
                do {
                    if (void 0 === e || null === e || "" === e) break;
                    if ("\\" === e[e.length - 1] && (e = e.slice(0, e.length - 1)), i.includes(e)) break;
                    i.length >= c && i.splice(0, 1), i.push(e), u(i).catch()
                } while (0)
            })
        }, e.deleteHistoryPath = function (e) {
            return n(this, void 0, void 0, function* () {
                let i = yield t();
                do {
                    if (void 0 === e || null === e || "" === e) break;
                    "\\" === e[e.length - 1] && (e = e.slice(0, e.length - 1));
                    let t = i.indexOf(e);
                    if (-1 === t) break;
                    i.splice(t, 1), u(i).catch()
                } while (0)
            })
        }, e.clearHistoryPaths = function () {
            return n(this, void 0, void 0, function* () {
                u([]).catch()
            })
        }, e.getLogicHistoryPaths = function () {
            return n(this, void 0, void 0, function* () {
                let e = [], i = yield o.asyncRemoteCall.getApp(), n = yield i.getPath("desktop"),
                    r = yield i.getPath("docpath"), s = [n, r];
                e.push({dir: n, alias: "桌面", canDelete: !1}, {dir: r, alias: "我的文档", canDelete: !1});
                let a = yield t();
                if (void 0 !== a) {
                    let t = a.indexOf(n);
                    -1 !== t && a.splice(t, 1);
                    let i = a.indexOf(r);
                    if (-1 !== i && a.splice(i, 1), a.length > 0) for (let t of a) "\\" !== t[t.length - 1] && (t += "\\"), -1 === s.indexOf(t) && (s.push(t), e.push({
                        dir: t,
                        alias: t,
                        canDelete: !0
                    }))
                }
                return s.includes("私人空间") || e.push({dir: "私人空间", alias: "私人空间", canDelete: !1}), e
            })
        }, e.getCloudHistoryPath = function () {
        }
    }(t.HistoryPathsNS || (t.HistoryPathsNS = {}))
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(36), o = i(19), s = i(13), a = i(1).default.getLogger("Thunder.base.tools-utilities"), l = i(2),
        c = i(9).default(l.join(__rootDir, "../bin/ThunderHelper.node"));
    !function (e) {
        function t(e) {
            return n(this, void 0, void 0, function* () {
                let t;
                return t = e && (yield s.FileSystemAWNS.existsAW(e)) ? new Promise(t => {
                    c.asyncCalcuteFileMD5(e, (e, i) => {
                        e ? (i = i.toUpperCase(), t(i)) : t(void 0)
                    })
                }) : new Promise(e => {
                    e(void 0)
                })
            })
        }

        e.genarateMd5 = function (e) {
            let t = void 0, i = r.createHash("md5");
            return null !== i && (t = i.update(e).digest("hex")), t
        }, e.matchFileMd5 = function (e, i) {
            return n(this, void 0, void 0, function* () {
                let n = !1, r = yield t(e);
                return void 0 !== r && r === i.toUpperCase() && (a.information("check full md5 sucessful"), n = !0), n
            })
        }, e.calculateFileMd5Ex = function (e) {
            return n(this, void 0, void 0, function* () {
                let t;
                if (e && (yield s.FileSystemAWNS.existsAW(e))) {
                    let i = o.createReadStream(e), n = r.createHash("md5");
                    i.on("data", e => {
                        n.update(e)
                    }), t = new Promise(e => {
                        i.on("end", () => {
                            let t = n.digest("hex");
                            t = t.toUpperCase(), e(t)
                        })
                    })
                } else t = new Promise(e => {
                    e(void 0)
                });
                return t
            })
        }, e.calculateFileMd5 = t, e.encryptBuffer = function (e, t) {
            let i = null;
            try {
                let n = r.createCipheriv("aes-128-ecb", t, ""), o = n.update(e), s = n.final();
                i = Buffer.concat([o, s])
            } catch (e) {
                a.error("encryptBuffer", e)
            }
            return i
        }, e.decryptBuffer = function (e, t) {
            let i = null;
            try {
                let n = r.createDecipheriv("aes-128-ecb", t, ""), o = n.update(e), s = n.final();
                i = Buffer.concat([o, s])
            } catch (e) {
                a.error("decryptBuffer", e)
            }
            return i
        }, e.encryptSha1Buffer = function (e) {
            let t = null;
            try {
                t = r.createHash("sha1").update(e).digest("hex")
            } catch (e) {
                a.error("encryptSha1Buffer", e)
            }
            return t
        }, e.encryptHmacBuffer = function (e, t, i, n = "hex") {
            let o = null;
            try {
                o = r.createHmac(e, t).update(i, "utf8").digest(n)
            } catch (e) {
                a.error("encryptSha1Buffer", e)
            }
            return o
        }, e.setForegroundWindow = function (e, t) {
            return n(this, void 0, void 0, function* () {
                if (null !== e && null !== t) {
                    let i = void 0, r = [];
                    "renderer" === process.type ? (i = yield t.getNativeWindowHandle(), r = yield t.getChildWindows()) : (i = t.getNativeWindowHandle(), r = t.getChildWindows());
                    let o = [];
                    for (let e = 0; e < r.length; ++e) {
                        let t = r[e], i = !1;
                        "renderer" === process.type ? (yield t.isDestroyed()) || (i = yield t.isAlwaysOnTop()) : t.isDestroyed() || (i = t.isAlwaysOnTop()), i && o.push(t)
                    }
                    let s = i.readUIntLE(0, 4);
                    e.setForegroundWindow(s) ? a.information("setForegroundWindow sucessful") : a.information("setForegroundWindow failed"), o.forEach(e => n(this, void 0, void 0, function* () {
                        "renderer" === process.type ? (yield e.isDestroyed()) || e.setAlwaysOnTop(!0).catch() : e.isDestroyed() || e.setAlwaysOnTop(!0)
                    }))
                }
            })
        }
    }(t.ToolsUtilitiesAWNS || (t.ToolsUtilitiesAWNS = {}))
}, function (e, t, i) {
    e.exports = i(40).Buffer
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(83), r = i(69);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\components\\select-native.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(7);
    !function (e) {
        let t;
        !function (e) {
            e.Info = "info", e.Warning = "warning", e.Error = "error", e.Success = "success"
        }(t = e.ConfirmType || (e.ConfirmType = {})), e.confirm = function (e, t = {}) {
            return n(this, void 0, void 0, function* () {
                let i = String(Math.random()).replace(/\D/, "");
                r.ipcRenderer.send("message-box-confirm-create", {options: e, dialogConf: t, boxId: i});
                let n = yield o.asyncRemoteCall.getIpcMain();
                return n.once(`message-box-init-${i}`, t => {
                    t.sender.send("message-box-init-reply", {popType: "confirm", options: e})
                }), new Promise(e => {
                    n.once(`message-box-resolve-${i}`, (t, i, n) => {
                        e({action: i, checkboxChecked: n})
                    })
                })
            })
        }, e.pop = function (e, t = {}) {
            return n(this, void 0, void 0, function* () {
                let i = String(Math.random()).replace(/\D/, ""), n = e.parentId;
                r.ipcRenderer.send("message-box-pop-create", {dialogConf: t, boxId: i, parentId: n});
                let s = yield o.asyncRemoteCall.getIpcMain();
                return s.once(`message-box-init-${i}`, t => {
                    t.sender.send("message-box-init-reply", {popType: "message-box", options: e})
                }), new Promise(e => {
                    s.once(`message-box-resolve-${i}`, (t, i, n) => {
                        e({action: i, formData: n})
                    })
                })
            })
        }, e.custom = function (e, t = {}, i = {}) {
            return n(this, void 0, void 0, function* () {
                let n = String(Math.random()).replace(/\D/, "");
                r.ipcRenderer.send("message-box-custom-create", {popType: e, dialogConf: i, boxId: n, options: t});
                let s = yield o.asyncRemoteCall.getIpcMain();
                return s.once(`message-box-init-${n}`, n => {
                    n.sender.send("message-box-init-reply", {popType: e, options: t, dialogConf: i})
                }), new Promise(e => {
                    s.once(`message-box-resolve-${n}`, (t, i, n) => {
                        e({action: i, args: n})
                    })
                })
            })
        }, e.customIndividuation = function (e, t = {}, i = {}) {
            return n(this, void 0, void 0, function* () {
                let n = String(Math.random()).replace(/\D/, "");
                return r.ipcRenderer.send("message-box-individuation-create", {
                    popType: e,
                    dialogConf: i,
                    boxId: n,
                    options: t
                }), (yield o.asyncRemoteCall.getIpcMain()).once(`message-box-init-${n}`, n => {
                    n.sender.send("message-box-init-reply", {popType: e, options: t, dialogConf: i})
                }), new Promise(e => {
                    r.ipcRenderer.once(`message-box-resolve-${n}`, (t, i, n) => {
                        e({action: i, args: n})
                    })
                })
            })
        }
    }(t.MessageBox || (t.MessageBox = {}))
}, function (e, t, i) {
    e.exports = i(8)(24)
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(59);
    !function (e) {
        e.setStyle = function (e, t) {
            return n(this, void 0, void 0, function* () {
                if (null !== e) {
                    const {WindowPreferenceNS: n} = yield Promise.resolve().then(() => i(60));
                    let o = {windowPreference: n.getWindowPreference()};
                    e.setStyle(r(o, t))
                }
            })
        }
    }(t.DropDownWindowSkinNS || (t.DropDownWindowSkinNS = {}))
}, function (e, t, i) {
    "use strict";
    var n = i(10), r = i(71), o = i(108), s = i(61);

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

    var l = a(s);
    l.Axios = o, l.create = function (e) {
        return a(n.merge(s, e))
    }, l.Cancel = i(78), l.CancelToken = i(124), l.isCancel = i(77), l.all = function (e) {
        return Promise.all(e)
    }, l.spread = i(125), e.exports = l, e.exports.default = l
}, function (e, t) {
    function i(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 && (i(e) || function (e) {
            return "function" == typeof e.readFloatLE && "function" == typeof e.slice && i(e.slice(0, 0))
        }(e) || !!e._isBuffer)
    }
}, function (e, t, i) {
    "use strict";
    var n = i(61), r = i(10), o = i(119), s = i(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(n, {method: "get"}, this.defaults, e)).method = e.method.toLowerCase();
        var t = [s, void 0], i = 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;) i = i.then(t.shift(), t.shift());
        return i
    }, r.forEach(["delete", "get", "head", "options"], function (e) {
        a.prototype[e] = function (t, i) {
            return this.request(r.merge(i || {}, {method: e, url: t}))
        }
    }), r.forEach(["post", "put", "patch"], function (e) {
        a.prototype[e] = function (t, i, n) {
            return this.request(r.merge(n || {}, {method: e, url: t, data: i}))
        }
    }), e.exports = a
}, function (e, t, i) {
    "use strict";
    var n = i(10);
    e.exports = function (e, t) {
        n.forEach(e, function (i, n) {
            n !== t && n.toUpperCase() === t.toUpperCase() && (e[t] = i, delete e[n])
        })
    }
}, function (e, t, i) {
    "use strict";
    var n = i(10), r = i(72), o = i(74), s = i(111), a = i(112), l = i(62),
        c = "undefined" != typeof window && window.btoa && window.btoa.bind(window) || i(113);
    e.exports = function (e) {
        return new Promise(function (t, u) {
            var d = e.data, h = e.headers;
            n.isFormData(d) && delete h["Content-Type"];
            var p = new XMLHttpRequest, f = "onreadystatechange", A = !1;
            if ("undefined" == typeof window || !window.XDomainRequest || "withCredentials" in p || a(e.url) || (p = new window.XDomainRequest, f = "onload", A = !0, p.onprogress = function () {
            }, p.ontimeout = function () {
            }), e.auth) {
                var v = e.auth.username || "", g = e.auth.password || "";
                h.Authorization = "Basic " + c(v + ":" + g)
            }
            if (p.open(e.method.toUpperCase(), o(e.url, e.params, e.paramsSerializer), !0), p.timeout = e.timeout, p[f] = function () {
                if (p && (4 === p.readyState || A) && (0 !== p.status || p.responseURL && 0 === p.responseURL.indexOf("file:"))) {
                    var i = "getAllResponseHeaders" in p ? s(p.getAllResponseHeaders()) : null, n = {
                        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: i,
                        config: e,
                        request: p
                    };
                    r(t, u, n), 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
            }, n.isStandardBrowserEnv()) {
                var m = i(114),
                    y = (e.withCredentials || a(e.url)) && e.xsrfCookieName ? m.read(e.xsrfCookieName) : void 0;
                y && (h[e.xsrfHeaderName] = y)
            }
            if ("setRequestHeader" in p && n.forEach(h, function (e, t) {
                void 0 === d && "content-type" === t.toLowerCase() ? delete h[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)
        })
    }
}, function (e, t, i) {
    "use strict";
    var n = i(10),
        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, i, o, s = {};
        return e ? (n.forEach(e.split("\n"), function (e) {
            if (o = e.indexOf(":"), t = n.trim(e.substr(0, o)).toLowerCase(), i = n.trim(e.substr(o + 1)), t) {
                if (s[t] && r.indexOf(t) >= 0) return;
                s[t] = "set-cookie" === t ? (s[t] ? s[t] : []).concat([i]) : s[t] ? s[t] + ", " + i : i
            }
        }), s) : s
    }
}, function (e, t, i) {
    "use strict";
    var n = i(10);
    e.exports = n.isStandardBrowserEnv() ? function () {
        var e, t = /(msie|trident)/i.test(navigator.userAgent), i = document.createElement("a");

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

        return e = r(window.location.href), function (t) {
            var i = n.isString(t) ? r(t) : t;
            return i.protocol === e.protocol && i.host === e.host
        }
    }() : function () {
        return !0
    }
}, function (e, t, i) {
    "use strict";
    var n = "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, i, o = String(e), s = "", a = 0, l = n; o.charAt(0 | a) || (l = "=", a % 1); s += l.charAt(63 & t >> 8 - a % 1 * 8)) {
            if ((i = o.charCodeAt(a += .75)) > 255) throw new r;
            t = t << 8 | i
        }
        return s
    }
}, function (e, t, i) {
    "use strict";
    var n = i(10);
    e.exports = n.isStandardBrowserEnv() ? {
        write: function (e, t, i, r, o, s) {
            var a = [];
            a.push(e + "=" + encodeURIComponent(t)), n.isNumber(i) && a.push("expires=" + new Date(i).toGMTString()), n.isString(r) && a.push("path=" + r), n.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 () {
        }
    }
}, function (e, t, i) {
    function n() {
        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 = i(116)).log = function () {
        return "object" == typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments)
    }, t.formatArgs = function (e) {
        var i = this.useColors;
        if (e[0] = (i ? "%c" : "") + this.namespace + (i ? " %c" : " ") + e[0] + (i ? "%c " : " ") + "+" + t.humanize(this.diff), !i) return;
        var n = "color: " + this.color;
        e.splice(1, 0, n, "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, n)
    }, t.save = function (e) {
        try {
            null == e ? t.storage.removeItem("debug") : t.storage.debug = e
        } catch (e) {
        }
    }, t.load = n, 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(n())
}, function (e, t, i) {
    function n(e) {
        var i;

        function n() {
            if (n.enabled) {
                var e = n, r = +new Date, o = r - (i || r);
                e.diff = o, e.prev = i, e.curr = r, i = 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 (i, n) {
                    if ("%%" === i) return i;
                    l++;
                    var r = t.formatters[n];
                    if ("function" == typeof r) {
                        var o = s[l];
                        i = r.call(e, o), s.splice(l, 1), l--
                    }
                    return i
                }), t.formatArgs.call(e, s), (n.log || t.log || console.log.bind(console)).apply(e, s)
            }
        }

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

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

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

    function a(e, t, i) {
        if (!(e < t)) return e < 1.5 * t ? Math.floor(e / t) + " " + i : Math.ceil(e / t) + " " + i + "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 * n;
                case"seconds":
                case"second":
                case"secs":
                case"sec":
                case"s":
                    return a * i;
                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, n, "minute") || a(l, i, "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 >= n) return Math.round(e / n) + "m";
            if (e >= i) return Math.round(e / i) + "s";
            return e + "ms"
        }(e);
        throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(e))
    }
}, function (e) {
    e.exports = {
        _args: [["axios@0.18.0", "D:\\thunder11\\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:\\thunder11\\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"
    }
}, function (e, t, i) {
    "use strict";
    var n = i(10);

    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) {
        n.forEach(this.handlers, function (t) {
            null !== t && e(t)
        })
    }, e.exports = r
}, function (e, t, i) {
    "use strict";
    var n = i(10), r = i(121), o = i(77), s = i(61), a = i(122), l = i(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 = n.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers || {}), n.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)
        })
    }
}, function (e, t, i) {
    "use strict";
    var n = i(10);
    e.exports = function (e, t, i) {
        return n.forEach(i, function (i) {
            e = i(e, t)
        }), e
    }
}, function (e, t, i) {
    "use strict";
    e.exports = function (e) {
        return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)
    }
}, function (e, t, i) {
    "use strict";
    e.exports = function (e, t) {
        return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e
    }
}, function (e, t, i) {
    "use strict";
    var n = i(78);

    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 i = this;
        e(function (e) {
            i.reason || (i.reason = new n(e), t(i.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
}, function (e, t, i) {
    "use strict";
    e.exports = function (e) {
        return function (t) {
            return e.apply(null, t)
        }
    }
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(2), o = i(16), s = i(22);
    let a = null;
    const l = i(1).default.getLogger("url.helper");
    !function (e) {
        function t(e) {
            let t = !0;
            if ("string" == typeof e) if (40 === e.length || 32 === e.length) {
                for (let i = 0; i < e.length; i++) if (e.charCodeAt(i) > 127) {
                    t = !1;
                    break
                }
            } else t = !1; else t = !1;
            return t
        }

        function c(e, i = !0) {
            i = void 0 === i || i;
            let n = !1;
            do {
                if ("string" != typeof e || "" === e) break;
                let r = e.trim();
                if ("" === r) break;
                if (s.ThunderHelper.getTaskTypeFromUrl(r) === o.DownloadKernel.TaskType.Unkown) {
                    if (!i) break;
                    t(r) && (n = !0)
                } else n = !0;
                n || r.match(/^file:\/\/\//) && (n = !0)
            } while (0);
            return n
        }

        e.isMagnetCode = t, e.fixMagnetUrl = function (e) {
            let i = "";
            do {
                if ("string" != typeof e || "" === e) break;
                if ("" === (i = e.trim())) break;
                s.ThunderHelper.getTaskTypeFromUrl(i) === o.DownloadKernel.TaskType.Unkown && t(i) && (i = "magnet:?xt=urn:btih:" + i)
            } while (0);
            return i
        }, e.isUrlValid = c, e.isBirdKey = function (e) {
            return e ? e.match(/#[Xx]([0-9a-zA-Z])+#/g) : null
        }, e.isCustomProtocol = function (e) {
            return n(this, void 0, void 0, function* () {
                let t = !1;
                null === a && (a = yield Promise.resolve().then(() => i(34)));
                let n = a.parse(e);
                do {
                    if (null === n || void 0 === n) break;
                    let e = n.protocol;
                    if ("magnet:" === e) {
                        t = !0;
                        break
                    }
                    if ("thunder:" === e) {
                        t = !0;
                        break
                    }
                    if ("ed2k:" === e) {
                        t = !0;
                        break
                    }
                } while (0);
                return t
            })
        }, e.isP2spOrEmuleUrl = function (e) {
            let t = !1;
            do {
                if (null === e || void 0 === e || "" === e) break;
                let i = e.trim();
                if ("" === i) break;
                let n = s.ThunderHelper.getTaskTypeFromUrl(i);
                if (n === o.DownloadKernel.TaskType.P2sp || n === o.DownloadKernel.TaskType.Emule) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        }, e.isSupportUrl = 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
                }
                if ("ed2k://" === e.substr(0, "ed2k://".length)) {
                    t = !0;
                    break
                }
                if ("thunder://" === e.substr(0, "thunder://".length)) {
                    t = !0;
                    break
                }
                if ("magnet:?" === e.substr(0, "magnet:?".length)) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        };
        let u = ".edu;.gov;.mil;.hk;.tw;.com.tw;.com.tw;.aero;.biz;.coop;.info;.museum;.name;.pro;";
        u += ".com;.cn;.xin;.net;.top;.xyz;.wang;.shop;.site;.club;.cc;.fun;.online;.biz;.red;.link;.ltd;.mobi;.info;.org;", u += ".com.cn;.net.cn;.org.cn;.gov.cn;.name;.vip;.work;.tv;.co;.kim;.group;.tech;.store;.ren;.ink;.pub;.live;.wiki;.design;";
        const d = (u += ".me").split(";");

        function h(e) {
            let t = !1;
            do {
                if (void 0 === e || null === e || "" === e) break;
                if (-1 !== d.indexOf(e)) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        }

        function p(e) {
            let t = null;
            do {
                if (void 0 === e || null === e) break;
                if ("" === (e = e.trim())) break;
                let i = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/.exec(e);
                if (null === i) break;
                l.information("url parse result ", i), t = {};
                let n = ["url", "scheme", "slash", "host", "port", "path", "query", "hash"];
                for (let e = 0; e < n.length; e++) t[n[e]] = i[e];
                l.information("url parse", t)
            } while (0);
            return t
        }

        e.isUsualDomainSuffix = h, e.urlParse = p, e.isUrl = function (e) {
            let t = !1, i = e;
            do {
                if (void 0 === e || null === e) break;
                if (c(e, !1)) {
                    t = !0;
                    break
                }
                if (e.trim().match(/^file:\/\/\//)) {
                    t = !0;
                    break
                }
                let n = p(e);
                if (null === n) {
                    l.information("url parse failed");
                    break
                }
                if (void 0 === n.host || null === n.host) break;
                if (void 0 !== n.scheme) {
                    t = !0;
                    break
                }
                let o = n.host.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
                if (o) {
                    if (l.information("url parse is ip", o), Number(o[1]) <= 0 || Number(o[1]) > 255) {
                        t = !1;
                        break
                    }
                    if (Number(o[2]) < 0 || Number(o[2]) > 255) {
                        t = !1;
                        break
                    }
                    if (Number(o[4]) < 0 || Number(o[4]) > 255) {
                        t = !1;
                        break
                    }
                    if (Number(o[4]) < 0 || Number(o[4]) > 255) {
                        t = !1;
                        break
                    }
                    t = !0, void 0 === n.scheme && void 0 !== n.port && (i = `http://${e}`);
                    break
                }
                if (n.host.match(/\.{2,}/)) {
                    l.information("url parse has multi dot"), t = !1;
                    break
                }
                let s = r.extname(n.host);
                if ("" === s) break;
                if (h(s)) {
                    t = !0;
                    break
                }
            } while (0);
            return l.information("url parse isUrl", t), {ret: t, suggest: i}
        }, e.isFileNameValid = function (e) {
            let t = !1;
            do {
                if (void 0 === e) break;
                if (null === e) break;
                if ("" === (e = e.trim())) break;
                if ("." === e[0]) break;
                if (e.match(/[\/\\"<>\?\*|]/)) break;
                t = !0
            } while (0);
            return t
        }, e.isSuffixNeedDownload = function (e) {
            let t = !0;
            do {
                if (void 0 === e) break;
                if ("" === e || "." === e) break;
                if (e = e.toLowerCase(), -1 !== ["txt", "url", "html", "htm", "mht", "nfo"].indexOf(e)) {
                    t = !1;
                    break
                }
            } while (0);
            return t
        }
    }(t.URLHelperNS || (t.URLHelperNS = {}))
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(4);
    !function (e) {
        e.getValue = function (e, t, i) {
            return n(this, void 0, void 0, function* () {
                return yield r.client.callServerFunction("GetConfigValue", e, t, i)
            })
        }, e.setValue = function (e, t, i) {
            return n(this, void 0, void 0, function* () {
                yield r.client.callServerFunction("SetConfigValue", e, t, i)
            })
        }
    }(t.ConfigHelperNS || (t.ConfigHelperNS = {}))
}, function (e, t, i) {
    "use strict";
    e.exports = {
        PNG_SIGNATURE: [137, 80, 78, 71, 13, 10, 26, 10],
        TYPE_IHDR: 1229472850,
        TYPE_IEND: 1229278788,
        TYPE_IDAT: 1229209940,
        TYPE_PLTE: 1347179589,
        TYPE_tRNS: 1951551059,
        TYPE_gAMA: 1732332865,
        COLORTYPE_GRAYSCALE: 0,
        COLORTYPE_PALETTE: 1,
        COLORTYPE_COLOR: 2,
        COLORTYPE_ALPHA: 4,
        COLORTYPE_PALETTE_COLOR: 3,
        COLORTYPE_COLOR_ALPHA: 6,
        COLORTYPE_TO_BPP_MAP: {0: 1, 2: 3, 3: 1, 4: 2, 6: 4},
        GAMMA_DIVISION: 1e5
    }
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-tooltip", {
            attrs: {
                content: e.tipsText,
                visible: e.isShowTips,
                placement: e.placement
            }
        }, [e._t("default"), e._v(" "), i("td-input", e._b({
            attrs: {
                value: e.value,
                isNumber: e.isNumber,
                max: e.max,
                min: e.min,
                isAlpha: e.isAlpha
            }, on: {input: e.handleInputChange}
        }, "td-input", e.$attrs, !1))], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, , , , , , , function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(1), o = i(4), s = i(38), a = r.default.getLogger("Thunder.ShouldLogin");
    t.default = function (e = !1, t = !1, i) {
        return n(this, void 0, void 0, function* () {
            let n, r = null;
            try {
                let l = yield o.client.callServerFunction("IsLogined"),
                    c = yield o.client.callServerFunction("GetUserID");
                l ? (a.information("is logined"), n = Promise.resolve(c)) : (n = new Promise((i, n) => {
                    let o = -1;
                    if (o = s.NativeCallModule.nativeCall.AttachNativeEvent("OnUserLogin", e => {
                        let t = Date.now();
                        a.information("On UserLogin", e, t, r), r && Math.floor(t - r) > 3e5 ? i("") : i(e), -1 !== o && (s.NativeCallModule.nativeCall.DetachNativeEvent("OnUserLogin", o), o = -1)
                    }), !e) {
                        let e = s.NativeCallModule.nativeCall.AttachNativeEvent("OnLoginWndClose", n => {
                            do {
                                if ("close" === n) {
                                    if (i(""), !t && -1 !== o) {
                                        s.NativeCallModule.nativeCall.DetachNativeEvent("OnUserLogin", o), o = -1;
                                        break
                                    }
                                } else if ("suc" === n && -1 !== o) break;
                                t && -1 !== o && (s.NativeCallModule.nativeCall.DetachNativeEvent("OnUserLogin", o), o = -1)
                            } while (0);
                            s.NativeCallModule.nativeCall.DetachNativeEvent("OnLoginWndClose", e)
                        })
                    }
                }), e || (r = Date.now(), o.client.callServerFunction("ShowLoginDlg", i).catch(e => {
                    a.warning(e)
                })))
            } catch (e) {
                a.warning(e), n = Promise.resolve("")
            }
            return n
        })
    }
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(4), o = i(1), s = i(100), a = i(6), l = o.default.getLogger("FetchRes"), c = {
        mock: "http://easy-mock.com/mock/59f0652c1bd72e7a888988ab/sl",
        test: "http://test.api-shoulei-ssl.xunlei.com",
        prod: "http://api-shoulei-ssl.xunlei.com"
    };

    function u(e) {
        return (e = (e = encodeURIComponent(e)).replace(/\(/g, "%29")).replace(/\)/g, "%28")
    }

    function d({url: e, data: t, method: o = "get"}, c = "prod") {
        return n(this, arguments, void 0, function* () {
            l.information("fetchFromApiProxy", arguments);
            try {
                const n = yield Promise.all([r.client.callServerFunction("GetUserID"), r.client.callServerFunction("GetSessionID"), r.client.callServerFunction("GetPeerID")]), [d, h, p] = n;
                l.information(n);
                let f = {
                    _h: Object.assign({
                        "Account-Id": d,
                        "Peer-Id": p,
                        "User-Id": d,
                        "Session-Id": h,
                        "App-Type": "pc_xunlei"
                    }, t && t._h || {})
                };
                t && t._h && delete t._h;
                let A = {
                    accesskey: "pc.xunlei",
                    nonce: Math.floor(99999999 * Math.random()).toString(),
                    timestamp: Math.floor((new Date).getTime() / 1e3).toString()
                }, v = {};
                "get" === o && t && (v = t, t = null);
                for (let e in v) a.isObject(v[e]) || (A[e] = v[e]);
                let g = [];
                for (let e in A) g.push(u(e) + "%3D" + u(A[e]));
                g.sort();
                let m = u(e), y = o.toUpperCase() + "&" + m + "&", w = "";
                for (let e = 0; e < g.length - 1; ++e) w += g[e] + "%26";
                let C, b = y + (w += g[g.length - 1]);
                !t || "post" !== o && "put" !== o || (b += "%26" + JSON.stringify(t)), l.information("message: ", b), C = "test" === c ? "c9879c94a55474304cca0abafb867653" : "89917368930f3fea5bafebe704d6b623";
                let x = s.ToolsUtilitiesAWNS.encryptHmacBuffer("sha1", C, b, "base64");
                x = (x = x.replace(/\+/g, "-")).replace(/\//g, "_");
                let I = e + "?";
                for (let e in A) I += u(e) + "=" + u(A[e]) + "&";
                I += "sig=" + x, l.information("fetchFromApiProxy method", o, ", uri", I, ", data", t, ", headers", f._h);
                const k = yield i(39);
                return k.defaults.adapter = i(25), k.defaults.headers["Content-Type"] = "post" === o ? "application/json" : "application/x-www-form-urlencoded", k.request({
                    method: o,
                    url: I,
                    data: t,
                    headers: f._h
                }).then(e => (l.information("fetchFromApiProxy success", e), e)).catch(e => (l.information("fetchFromApiProxy failed", e), {error: e}))
            } catch (e) {
                return {error: e}
            }
        })
    }

    function h({url: e, data: t, method: i = "get"}, o = "prod") {
        return n(this, void 0, void 0, function* () {
            let n = c[o], s = yield r.client.callServerFunction("GetValue", "ConfigFetchInterface", "TestServer", 0);
            return 1 === s && (n = c[o = "test"]), l.information("当前fetchSlRes 是否测试服:", s, " 远程地址:", n), d({
                url: `${n}${e}`,
                data: t,
                method: i
            }, o)
        })
    }

    t.fetchFromApiProxy = d, t.fetchSlRes = h, t.fetchPCRes = function ({url: e, data: t, method: i = "get"}, r = "prod") {
        return n(this, void 0, void 0, function* () {
            return h({url: e, data: t, method: i}, r)
        })
    }, t.fetchPCRequest = function ({url: e, data: t, method: o = "get"}, s = "prod") {
        return n(this, void 0, void 0, function* () {
            let n = c[s], a = yield r.client.callServerFunction("GetValue", "ConfigFetchInterface", "TestServer", 0);
            1 === a && (n = c[s = "test"]), l.information("当前fetchPCRequest 是否测试服:", a, " 远程地址:", n);
            let u = {_h: Object.assign({}, t && t._h || {})};
            t && t._h && delete t._h;
            const d = yield i(39);
            d.defaults.adapter = i(25), d.defaults.headers["Content-Type"] = "post" === o ? "application/json" : "application/x-www-form-urlencoded";
            try {
                return d.request({
                    method: o,
                    url: `${n}${e}`,
                    params: "get" === o && t ? t : {},
                    data: "post" === o && t ? t : {},
                    headers: u._h
                }).then(e => (l.information("fetchRequest success", e), e)).catch(e => (l.information("fetchRequest fail", e), {error: e}))
            } catch (e) {
                return {error: e}
            }
        })
    }, t.fetchRequest = function ({url: e, data: t, method: r = "get"}) {
        return n(this, arguments, void 0, function* () {
            l.information("fetchRequest", arguments);
            try {
                const n = yield i(39);
                return n.defaults.adapter = i(25), n.defaults.headers["Content-Type"] = "post" === r ? "application/json" : "application/x-www-form-urlencoded", n.request({
                    method: r,
                    url: e,
                    params: "get" === r && t ? t : {},
                    data: "post" === r && t ? t : {}
                }).then(e => (l.information("fetchRequest success", e), e)).catch(e => (l.information("fetchRequest fail", e), {error: e}))
            } catch (e) {
                return {error: e}
            }
        })
    }
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(2), r = i(1), o = i(16), s = i(58), a = i(22), l = i(9), c = r.default.getLogger("ThunderNewTask"),
        u = l.default(n.join(__rootDir, "../bin/ThunderHelper.node")),
        d = ".asf;.avi;.exe;.iso;.mp3;.mpeg;.mpg;.mpga;.ra;.rar;.rm;.rmvb;.tar;.wma;.wmp;.wmv;\n  .mov;.zip;.3gp;.chm;.mdf;.torrent;.jar;.msi;.arj;.bin;.dll;.psd;.hqx;.sit;.lzh;.gz;.tgz;.xlsx;.xls;.doc;.docx;.ppt;\n  .pptx;.flv;.swf;.mkv;.tp;.ts;.flac;.ape;.wav;.aac;.txt;.dat;.7z;.ttf;.bat;.xv;.xvx;.pdf;.mp4;.apk;.ipa;.epub;.mobi;\n  .deb;.sisx;.cab;.pxl;.dmg;.msu;",
        h = ".a;.a3m;.a3w;.a4m;.a4p;.a4w;.a5w;.aam;.aas;.abf;.abk;.abs;.ace;.acm;.acp;.act;.ad;\n  .ada;.adb;.adf;.adi;.adm;.adp;.adr;.ads;.af2;.af3;.afm;.ai;.aif;.aifc;.aiff;.aim;.ais;.akw;.alb;.all;.ams;.anc;.ani;\n  .ans;.ant;.api;.aps;.ari;.arj;.art;.asa;.asc;.asd;.ase;.asf;.asm;.aso;.asp;.asv;.asx;.atw;.au;.avb;.avi;.avr;.avs;\n  .awd;.awr;.axx;.bak;.bas;.bat;.bdf;.bgl;.bi;.bif;.biff;.bin;.bk;.bk$;.bks;.bmk;.bmp;.book;.brx;.bsp;.btm;.bud;.bun;\n  .bw;.bwv;.c;.cab;.cad;.cal;.cap;.cas;.cb;.cc;.ccb;.cch;.cco;.cct;.cda;.cdf;.cdi;.cdm;.cdr;.cdt;.cdx;.cfg;.cgi;.cgm;\n  .chk;.chm;.chr;.cif;.cil;.class;.cll;.clp;.cls;.cmf;.cmv;.cmx;.cnf;.cnm;.cnt;.cod;.com;.cpl;.cpo;.cpp;.cpr;.cpt;.cpx;\n  .crd;.crp;.crt;.csc;.csp;.cst;.csv;.ctl;.cur;.cv;.cxx;.dat;.db;.dbc;.dbf;.dbx;.dcm;.dcs;.dct;.dcu;.dcx;.dem;.der;.dewf;\n  .dib;.dic;.dif;.dig;.dir;.diz;.dlg;.dll;.dls;.dmd;.dmf;.doc;.dot;.draw;.drv;.drw;.dsf;.dsg;.dsm;.dsp;.dsq;.dsw;.dtd;\n  .dun;.dv;.dxf;.dxr;.eda;.edd;.emd;.emf;.eml;.ephtml;.eps;.exe;.fav;.fax;.fcd;.fdf;.ffa;.ffk;.ffl;.ffo;.fif;.fla;.flc;\n  .fm;.fml;.fng;.fnk;.fon;.fot;.frt;.frx;.ftg;.fts;.gal;.gdb;.gdm;.gem;.gen;.getright;.gfi;.gfx;.gho;.gif;.gim;.gix;.gkh;\n  .gks;.gl;.gna;.gnt;.gnx;.gra;.grf;.grp;.hcom;.hgl;.hlp;.hpj;.hpp;.hst;.ht;.htm;.html;.htt;.htx;.icb;.icc;.icl;.icm;.ico;\n  .idd;.idf;.idq;.idx;.iff;.iges;.igf;.ilbm;.ima;.inf;.ini;.inrs;.ins;.int;.iqy;.iso;.ist;.isu;.iwc;.j62;.jar;.java;.jbf;\n  .jff;.jfif;.jif;.jmp;.jpe;.jpeg;.jpg;.js;.jsp;.jtf;.k25;.kar;.kdc;.key;.kfx;.kiz;.kkw;.kmp;.kqp;.lab;.lbm;.lbt;.lbx;.ldb;\n  .ldl;.leg;.lft;.lgo;.lha;.lib;.lin;.lis;.llx;.lnk;.log;.lst;.lu;.lyr;.lzh;.lzs;.m1v;.m3u;.mad;.maf;.mam;.map;.maq;.mar;.mat;\n  .mb1;.mbx;.mcr;.mdb;.mde;.mdl;.mdn;.mdw;.mdz;.mic;.mid;.mim;.mime;.mli;.mme;.mng;.mnu;.mod;.mov;.mp2;.mp3;.mpa;.mpe;.mpeg;\n  .mpg;.mpp;.mpr;.msg;.msi;.msn;.msp;.mst;.mtm;.nan;.nap;.ncb;.ncd;.ncf;.nff;.nft;.nil;.nist;.nls;.nlu;.ntx;.nwc;.nws;.obj;\n  .ocx;.ods;.ofn;.oft;.olb;.ole;.oogl;.opo;.p65;.pab;.part;.pas;.pbd;.pbl;.pbm;.pbr;.pcd;.pcl;.pcm;.pdd;.pdf;.pfm;.pgl;.pgm;\n  .ph;.php;.php3;.phtml;.pic;.pjt;.pjx;.pkg;.pli;.png;.pot;.ppa;.ppf;.ppm;.pps;.ppt;.prf;.prg;.prj;.prn;.prt;.psd;.psp;.pst;\n  .pwz;.qic;.qif;.qlb;.qry;.qtp;.qtx;.qw;.ra;.ram;.rar;.rdf;.reg;.rep;.res;.rft;.rgb;.rm;.rmd;.rpt;.rtf;.rul;.rvp;.s;.sav;.sbl;\n  .scc;.scf;.scp;.scr;.sct;.scx;.sdt;.sdv;.sdx;.sep;.sfd;.sfi;.sfr;.sfx;.sgi;.sgml;.shg;.shtml;.shw;.sig;.ska;.skl;.sl;.spl;\n  .sqc;.sqr;.str;.swa;.swf;.sys;.syw;.taz;.tga;.theme;.thn;.tif;.tiff;.tig;.tlb;.tmp;.tol;.tpl;.trm;.trn;.ttf;.txt;.txw;.udf;\n  .ult;.url;.use;.uwf;.vbp;.vbp;.vbw;.vbw;.vbx;.vbx;.vct;.vcx;.vda;.vda;.vir;.vir;.viv;.vqf;.vsd;.vsd;.vsl;.vsl;.vss;.vss;.vst;\n  .vst;.vsw;.vsw;.vxd;.vxd;.w3l;.wab;.wad;.wav;.wbk;.wcm;.wdb;.wfm;.wfn;.wil;.wiz;.wll;.wmf;.wow;.wp;.wpd;.wpf;.wpg;.wps;.wpt;.wr1;\n  .wrk;.wrl;.wrz;.x;.x16;.x32;.xar;.xbm;.xi;.xla;.xlb;.xlc;.xld;.xlk;.xll;.xlm;.xls;.xlt;.xlv;.xlw;.xnk;.xpm;.xwd;.xwf;.yal;.z;.zap;.zip;";
    !function (e) {
        function t(e) {
            let t = !1;
            do {
                if (void 0 === e || null === e) break;
                if ("" === e || "." === e) break;
                if (d.indexOf(e) > -1) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        }

        function i(e) {
            let t = !1;
            do {
                if (void 0 === e || null === e) break;
                if ("" === e) break;
                if (e.match(/[\/\\"<>\?\*|]/)) break;
                t = !0
            } while (0);
            return t
        }

        function r(e) {
            let i = !1;
            do {
                if (void 0 === e || null === e) break;
                if ("" === e || "." === e) break;
                let n = s.TaskUtilHelper.getTaskFileType(void 0, e);
                if (n === s.TaskUtilHelper.FileExtType.Video || n === s.TaskUtilHelper.FileExtType.Music || n === s.TaskUtilHelper.FileExtType.Pic) {
                    i = !0;
                    break
                }
                i = t(e)
            } while (0);
            return i
        }

        function l(e) {
            let t = !1, o = n.parse(e);
            return t = i(o.name) && r(o.ext)
        }

        function p(e) {
            let t = {};
            do {
                if (void 0 === e || null === e) break;
                c.information("parseDynamicUrlArgs");
                let i = /([^&=?]+)=([^&]*)/g;
                for (; i.exec(e);) t[RegExp.$1] = RegExp.$2;
                c.information("parseDynamicUrlArgs ret ", t)
            } while (0);
            return t
        }

        function f(e) {
            let t = {pageFileName: void 0, args: void 0};
            do {
                if (void 0 === e || null === e) break;
                c.information("parseDynamicUrlPath"), e.match(/[\/]?([^?]*)\?([^\s]*)/) && (t.pageFileName = RegExp.$1, t.args = RegExp.$2), c.information("parseDynamicUrlPath ret", t)
            } while (0);
            return t
        }

        function A(e) {
            let t = "";
            do {
                if (void 0 === e || null === e) break;
                let i = f(e);
                if (void 0 !== i.args) {
                    let e = p(i.args);
                    for (let i in e) {
                        let n = e[i];
                        if (l(n)) {
                            t = n;
                            break
                        }
                    }
                }
                void 0 !== i.pageFileName && l(i.pageFileName) && (t = i.pageFileName)
            } while (0);
            return t
        }

        function v(e) {
            let t = [];
            do {
                if (void 0 === e || null === e) break;
                let i = A(e);
                if ("" !== i && !t.includes(i)) {
                    let e = g(i);
                    t.push(e)
                }
                let n = g(e);
                t.includes(n) || t.push(n)
            } while (0);
            return t
        }

        function g(e) {
            return u.parseFileNameFromP2spUrlPath(e)
        }

        function m(e) {
            return u.isThunderPrivateUrl(e)
        }

        function y(e) {
            return u.parseEd2kUrl(e)
        }

        function w(e) {
            return u.parseUrl(e)
        }

        e.isDownloadFileExtName = t, e.isIllegalFileName = i, e.isGoodFileExtName = r, e.isUsualFileExtName = function (e) {
            let t = !1;
            do {
                if (void 0 === e || null === e) break;
                if ("" === e || "." === e) break;
                if (r(e)) {
                    t = !0;
                    break
                }
                if (h.indexOf(e) > -1) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        }, e.isGoodFileName = l, e.parseDynamicUrlArgs = p, e.parseDynamicUrlPath = f, e.parseFileNameFromDynamicUrlPath = A, e.getFileNameListFromUrlPath = v, e.getNameFromUrl = function (e) {
            let t = "index.html", i = a.ThunderHelper.getTaskTypeFromUrl(e);
            if (i === o.DownloadKernel.TaskType.P2sp) {
                let i = w(e);
                if (i) {
                    let e = v(i.fullPath);
                    e.length > 0 && (t = e[0])
                } else {
                    let i = /:\/\/.*?\[.+?\].*(\/.+)/.exec(e);
                    if (i && i[1]) {
                        let e = v(i[1]);
                        e.length > 0 && (t = e[0])
                    }
                }
            } else i === o.DownloadKernel.TaskType.Emule && (t = y(e).fileName);
            return t.replace(/[*?/\\:|<>\"]/g, "_")
        }, e.parseFileNameFromP2spUrlPath = g, e.isThunderPrivateUrl = m, e.parseThunderPrivateUrl = function (e) {
            let t = {url: e, codePage: -1};
            return m(e) && (t = u.parseThunderPrivateUrl(e)), t
        }, e.parseEd2kUrl = y, e.parseUrl = w, e.parseMagnetUrl = function (e) {
            return u.parseMagnetUrl(e)
        }, e.makeUrl = function (e) {
            return u.makeUrl(e)
        }
    }(t.ParseUrlFileNameNS || (t.ParseUrlFileNameNS = {}))
}, function (e, t) {
    function i(e) {
        if ("string" != typeof e) throw new Error("Color should be defined as hex string");
        var t = e.slice().replace("#", "").split("");
        if (t.length < 3 || 5 === t.length || t.length > 8) throw new Error("Invalid hex color: " + e);
        3 !== t.length && 4 !== t.length || (t = Array.prototype.concat.apply([], t.map(function (e) {
            return [e, e]
        }))), 6 === t.length && t.push("F", "F");
        var i = parseInt(t.join(""), 16);
        return {r: i >> 24 & 255, g: i >> 16 & 255, b: i >> 8 & 255, a: 255 & i, hex: "#" + t.slice(0, 6).join("")}
    }

    t.getOptions = function (e) {
        e || (e = {}), e.color || (e.color = {});
        var t = void 0 === e.margin || null === e.margin || e.margin < 0 ? 4 : e.margin,
            n = e.width && e.width >= 21 ? e.width : void 0, r = e.scale || 4;
        return {
            width: n,
            scale: n ? 4 : r,
            margin: t,
            color: {dark: i(e.color.dark || "#000000ff"), light: i(e.color.light || "#ffffffff")},
            type: e.type,
            rendererOpts: e.rendererOpts || {}
        }
    }, t.getScale = function (e, t) {
        return t.width && t.width >= e + 2 * t.margin ? t.width / (e + 2 * t.margin) : t.scale
    }, t.getImageWidth = function (e, i) {
        var n = t.getScale(e, i);
        return Math.floor((e + 2 * i.margin) * n)
    }, t.qrToImageData = function (e, i, n) {
        for (var r = i.modules.size, o = i.modules.data, s = t.getScale(r, n), a = Math.floor((r + 2 * n.margin) * s), l = n.margin * s, c = [n.color.light, n.color.dark], u = 0; u < a; u++) for (var d = 0; d < a; d++) {
            var h = 4 * (u * a + d), p = n.color.light;
            if (u >= l && d >= l && u < a - l && d < a - l) p = c[o[Math.floor((u - l) / s) * r + Math.floor((d - l) / s)] ? 1 : 0];
            e[h++] = p.r, e[h++] = p.g, e[h++] = p.b, e[h] = p.a
        }
    }
}, , , , , , , , function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(129), r = i(96);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\views\\limit-input.vue", t.default = a.exports
}, , , , , , , , , function (e, t) {
    t.L = {bit: 1}, t.M = {bit: 0}, t.Q = {bit: 3}, t.H = {bit: 2}, t.isValid = function (e) {
        return e && void 0 !== e.bit && e.bit >= 0 && e.bit < 4
    }, t.from = function (e, i) {
        if (t.isValid(e)) return e;
        try {
            return function (e) {
                if ("string" != typeof e) throw new Error("Param is not a string");
                switch (e.toLowerCase()) {
                    case"l":
                    case"low":
                        return t.L;
                    case"m":
                    case"medium":
                        return t.M;
                    case"q":
                    case"quartile":
                        return t.Q;
                    case"h":
                    case"high":
                        return t.H;
                    default:
                        throw new Error("Unknown EC Level: " + e)
                }
            }(e)
        } catch (e) {
            return i
        }
    }
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t;
        !function (e) {
            e[e.Default = 0] = "Default", e[e.Vip = 1] = "Vip"
        }(t = e.SkinType || (e.SkinType = {})), e.defaultSkinInfo = {
            type: t.Default,
            id: 1,
            name: "默认皮肤"
        }, e.vipSkinInfo = {type: t.Vip, id: 2, name: "会员皮肤"}, e.cacheDir = `${__profilesDir}/suspension-skin`
    }(t.SuspensionSkinHelperNS || (t.SuspensionSkinHelperNS = {}))
}, function (e, t, i) {
    "use strict";
    var n = i(940);
    i.n(n).a
}, , , function (e, t, i) {
    e.exports = i(8)(73)
}, , , function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        e.formatDate = function (e, t) {
            /(y+)/.test(t) && (t = t.replace(RegExp.$1, (e.getFullYear() + "").substr(4 - RegExp.$1.length)));
            let i = {
                "M+": e.getMonth() + 1,
                "d+": e.getDate(),
                "h+": e.getHours(),
                "m+": e.getMinutes(),
                "s+": e.getSeconds()
            };
            for (let e in i) {
                let n = i[e] + "";
                new RegExp(`(${e})`).test(t) && (t = t.replace(RegExp.$1, 1 === RegExp.$1.length ? n : ("00" + (n = n)).substr(n.length)))
            }
            var n;
            if (/(f+)/.test(t)) {
                let i = e.getMilliseconds() + "";
                t = t.replace(RegExp.$1, ("000" + i).substr(i.length))
            }
            return t
        }, e.formatSeconds = function (e) {
            let t = "";
            do {
                if (e <= 0) {
                    t = "00:00:00";
                    break
                }
                let i = Math.floor(e / 3600), n = Math.floor(e / 60) % 60, r = Math.floor(e % 60);
                t = i < 10 ? "0" + i + ":" : i + ":", t += n < 10 ? "0" + n + ":" : n + ":", t += r < 10 ? "0" + r : "" + r
            } while (0);
            return t
        }, e.formatSecondsCustom = function (e) {
            let t = "";
            do {
                if (e <= 0) {
                    t = "00:00:00";
                    break
                }
                let i = Math.floor(e / 3600), n = Math.floor(e / 60) % 60, r = Math.floor(e % 60);
                if (i <= 99) t = i < 10 ? "0" + i + ":" : i + ":", t += n < 10 ? "0" + n + ":" : n + ":", t += r < 10 ? "0" + r : "" + r; else {
                    let i = Math.floor(e / 86400);
                    t = `剩${i = i > 999 ? 999 : i}天`
                }
            } while (0);
            return t
        }, e.convertTimeToMinutes = function (e, t, i) {
            return 3600 * e + 60 * t + i
        }, e.convertMinuteToTime = function (e) {
            return [Math.floor(e / 3600), Math.floor(e / 60 % 60), Math.floor(e % 60)]
        }
    }(t.TimeHelperNS || (t.TimeHelperNS = {}))
}, function (e, t, i) {
    e.exports = i(445)
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(584), r = i(289);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(698);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-select.vue", t.default = a.exports
}, , , , function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(14);
    t.default = class {
        constructor() {
            this.emitter = null, this.emitter = new n.EventEmitter
        }

        attachOnceListener(e, t) {
            this.emitter.once(e, t)
        }

        attachListener(e, t) {
            this.emitter.addListener(e, t)
        }

        prependListener(e, t) {
            this.emitter.prependListener(e, t)
        }

        prependOnceListener(e, t) {
            this.emitter.prependOnceListener(e, t)
        }

        detachListener(e, t) {
            this.emitter.removeListener(e, t)
        }

        fireEvent(e, ...t) {
            return this.emitter.emit(e, ...t)
        }

        setMaxListeners(e) {
            this.emitter.setMaxListeners(e)
        }
    }
}, , , , , , , , function (e, t, i) {
    var n = i(101), r = i(81), o = i(156), s = i(448), a = i(449), l = i(450), c = i(451), u = i(452), d = i(179),
        h = i(453), p = i(456), f = i(457), A = i(82), v = i(458), g = i(182);

    function m(e, t, i) {
        var n, r, o = e.size, s = f.getEncodedBits(t, i);
        for (n = 0; n < 15; n++) r = 1 == (s >> n & 1), n < 6 ? e.set(n, 8, r, !0) : n < 8 ? e.set(n + 1, 8, r, !0) : e.set(o - 15 + n, 8, r, !0), n < 8 ? e.set(8, o - n - 1, r, !0) : n < 9 ? e.set(8, 15 - n - 1 + 1, r, !0) : e.set(8, 15 - n - 1, r, !0);
        e.set(o - 8, 8, 1, !0)
    }

    function y(e, t, i) {
        var o = new s;
        i.forEach(function (t) {
            o.put(t.mode.bit, 4), o.put(t.getLength(), A.getCharCountIndicator(t.mode, e)), t.write(o)
        });
        var a = 8 * (r.getSymbolTotalCodewords(e) - d.getTotalCodewordsCount(e, t));
        for (o.getLengthInBits() + 4 <= a && o.put(0, 4); o.getLengthInBits() % 8 != 0;) o.putBit(0);
        for (var l = (a - o.getLengthInBits()) / 8, c = 0; c < l; c++) o.put(c % 2 ? 17 : 236, 8);
        return function (e, t, i) {
            for (var o = r.getSymbolTotalCodewords(t), s = d.getTotalCodewordsCount(t, i), a = o - s, l = d.getBlocksCount(t, i), c = l - o % l, u = Math.floor(o / l), p = Math.floor(a / l), f = p + 1, A = u - p, v = new h(A), g = 0, m = new Array(l), y = new Array(l), w = 0, C = new n(e.buffer), b = 0; b < l; b++) {
                var x = b < c ? p : f;
                m[b] = C.slice(g, g + x), y[b] = v.encode(m[b]), g += x, w = Math.max(w, x)
            }
            var I, k, S = new n(o), E = 0;
            for (I = 0; I < w; I++) for (k = 0; k < l; k++) I < m[k].length && (S[E++] = m[k][I]);
            for (I = 0; I < A; I++) for (k = 0; k < l; k++) S[E++] = y[k][I];
            return S
        }(o, e, t)
    }

    function w(e, t, i, n) {
        var o;
        if (g(e)) o = v.fromArray(e); else {
            if ("string" != typeof e) throw new Error("Invalid data");
            var s = t;
            if (!s) {
                var d = v.rawSplit(e);
                s = p.getBestVersionForData(d, i)
            }
            o = v.fromString(e, s || 40)
        }
        var h = p.getBestVersionForData(o, i);
        if (!h) throw new Error("The amount of data is too big to be stored in a QR Code");
        if (t) {
            if (t < h) throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: " + h + ".\n")
        } else t = h;
        var f = y(t, i, o), A = r.getSymbolSize(t), w = new a(A);
        return function (e, t) {
            for (var i = e.size, n = c.getPositions(t), r = 0; r < n.length; r++) for (var o = n[r][0], s = n[r][1], a = -1; a <= 7; a++) if (!(o + a <= -1 || i <= o + a)) for (var l = -1; l <= 7; l++) s + l <= -1 || i <= s + l || (a >= 0 && a <= 6 && (0 === l || 6 === l) || l >= 0 && l <= 6 && (0 === a || 6 === a) || a >= 2 && a <= 4 && l >= 2 && l <= 4 ? e.set(o + a, s + l, !0, !0) : e.set(o + a, s + l, !1, !0))
        }(w, t), function (e) {
            for (var t = e.size, i = 8; i < t - 8; i++) {
                var n = i % 2 == 0;
                e.set(i, 6, n, !0), e.set(6, i, n, !0)
            }
        }(w), function (e, t) {
            for (var i = l.getPositions(t), n = 0; n < i.length; n++) for (var r = i[n][0], o = i[n][1], s = -2; s <= 2; s++) for (var a = -2; a <= 2; a++) -2 === s || 2 === s || -2 === a || 2 === a || 0 === s && 0 === a ? e.set(r + s, o + a, !0, !0) : e.set(r + s, o + a, !1, !0)
        }(w, t), m(w, i, 0), t >= 7 && function (e, t) {
            for (var i, n, r, o = e.size, s = p.getEncodedBits(t), a = 0; a < 18; a++) i = Math.floor(a / 3), n = a % 3 + o - 8 - 3, r = 1 == (s >> a & 1), e.set(i, n, r, !0), e.set(n, i, r, !0)
        }(w, t), function (e, t) {
            for (var i = e.size, n = -1, r = i - 1, o = 7, s = 0, a = i - 1; a > 0; a -= 2) for (6 === a && a--; ;) {
                for (var l = 0; l < 2; l++) if (!e.isReserved(r, a - l)) {
                    var c = !1;
                    s < t.length && (c = 1 == (t[s] >>> o & 1)), e.set(r, a - l, c), -1 == --o && (s++, o = 7)
                }
                if ((r += n) < 0 || i <= r) {
                    r -= n, n = -n;
                    break
                }
            }
        }(w, f), isNaN(n) && (n = u.getBestMask(w, m.bind(null, w, i))), u.applyMask(n, w), m(w, i, n), {
            modules: w,
            version: t,
            errorCorrectionLevel: i,
            maskPattern: n,
            segments: o
        }
    }

    t.create = function (e, t) {
        if (void 0 === e || "" === e) throw new Error("No input text");
        var i, n, s = o.M;
        return void 0 !== t && (s = o.from(t.errorCorrectionLevel, o.M), i = p.from(t.version), n = u.from(t.maskPattern), t.toSJISFunc && r.setToSJISFunction(t.toSJISFunc)), w(e, i, s, n)
    }
}, function (e, t, i) {
    var n = i(156),
        r = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 4, 1, 2, 4, 4, 2, 4, 4, 4, 2, 4, 6, 5, 2, 4, 6, 6, 2, 5, 8, 8, 4, 5, 8, 8, 4, 5, 8, 11, 4, 8, 10, 11, 4, 9, 12, 16, 4, 9, 16, 16, 6, 10, 12, 18, 6, 10, 17, 16, 6, 11, 16, 19, 6, 13, 18, 21, 7, 14, 21, 25, 8, 16, 20, 25, 8, 17, 23, 25, 9, 17, 23, 34, 9, 18, 25, 30, 10, 20, 27, 32, 12, 21, 29, 35, 12, 23, 34, 37, 12, 25, 34, 40, 13, 26, 35, 42, 14, 28, 38, 45, 15, 29, 40, 48, 16, 31, 43, 51, 17, 33, 45, 54, 18, 35, 48, 57, 19, 37, 51, 60, 19, 38, 53, 63, 20, 40, 56, 66, 21, 43, 59, 70, 22, 45, 62, 74, 24, 47, 65, 77, 25, 49, 68, 81],
        o = [7, 10, 13, 17, 10, 16, 22, 28, 15, 26, 36, 44, 20, 36, 52, 64, 26, 48, 72, 88, 36, 64, 96, 112, 40, 72, 108, 130, 48, 88, 132, 156, 60, 110, 160, 192, 72, 130, 192, 224, 80, 150, 224, 264, 96, 176, 260, 308, 104, 198, 288, 352, 120, 216, 320, 384, 132, 240, 360, 432, 144, 280, 408, 480, 168, 308, 448, 532, 180, 338, 504, 588, 196, 364, 546, 650, 224, 416, 600, 700, 224, 442, 644, 750, 252, 476, 690, 816, 270, 504, 750, 900, 300, 560, 810, 960, 312, 588, 870, 1050, 336, 644, 952, 1110, 360, 700, 1020, 1200, 390, 728, 1050, 1260, 420, 784, 1140, 1350, 450, 812, 1200, 1440, 480, 868, 1290, 1530, 510, 924, 1350, 1620, 540, 980, 1440, 1710, 570, 1036, 1530, 1800, 570, 1064, 1590, 1890, 600, 1120, 1680, 1980, 630, 1204, 1770, 2100, 660, 1260, 1860, 2220, 720, 1316, 1950, 2310, 750, 1372, 2040, 2430];
    t.getBlocksCount = function (e, t) {
        switch (t) {
            case n.L:
                return r[4 * (e - 1) + 0];
            case n.M:
                return r[4 * (e - 1) + 1];
            case n.Q:
                return r[4 * (e - 1) + 2];
            case n.H:
                return r[4 * (e - 1) + 3];
            default:
                return
        }
    }, t.getTotalCodewordsCount = function (e, t) {
        switch (t) {
            case n.L:
                return o[4 * (e - 1) + 0];
            case n.M:
                return o[4 * (e - 1) + 1];
            case n.Q:
                return o[4 * (e - 1) + 2];
            case n.H:
                return o[4 * (e - 1) + 3];
            default:
                return
        }
    }
}, function (e, t) {
    t.isValid = function (e) {
        return !isNaN(e) && e >= 1 && e <= 40
    }
}, function (e, t) {
    var i = "(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",
        n = "(?:(?![A-Z0-9 $%*+\\-./:]|" + (i = i.replace(/u/g, "\\u")) + ")(?:.|[\r\n]))+";
    t.KANJI = new RegExp(i, "g"), t.BYTE_KANJI = new RegExp("[^A-Z0-9 $%*+\\-./:]+", "g"), t.BYTE = new RegExp(n, "g"), t.NUMERIC = new RegExp("[0-9]+", "g"), t.ALPHANUMERIC = new RegExp("[A-Z $%*+\\-./:]+", "g");
    var r = new RegExp("^" + i + "$"), o = new RegExp("^[0-9]+$"), s = new RegExp("^[A-Z0-9 $%*+\\-./:]+$");
    t.testKanji = function (e) {
        return r.test(e)
    }, t.testNumeric = function (e) {
        return o.test(e)
    }, t.testAlphanumeric = function (e) {
        return s.test(e)
    }
}, function (e, t) {
    var i = {}.toString;
    e.exports = Array.isArray || function (e) {
        return "[object Array]" == i.call(e)
    }
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = i(76), o = e.exports = function () {
        r.call(this), this._buffers = [], this._buffered = 0, this._reads = [], this._paused = !1, this._encoding = "utf8", this.writable = !0
    };
    n.inherits(o, r), o.prototype.read = function (e, t) {
        this._reads.push({length: Math.abs(e), allowLess: e < 0, func: t}), process.nextTick(function () {
            this._process(), this._paused && this._reads.length > 0 && (this._paused = !1, this.emit("drain"))
        }.bind(this))
    }, o.prototype.write = function (e, t) {
        return this.writable ? (i = Buffer.isBuffer(e) ? e : new Buffer(e, t || this._encoding), this._buffers.push(i), this._buffered += i.length, this._process(), this._reads && 0 === this._reads.length && (this._paused = !0), this.writable && !this._paused) : (this.emit("error", new Error("Stream not writable")), !1);
        var i
    }, o.prototype.end = function (e, t) {
        e && this.write(e, t), this.writable = !1, this._buffers && (0 === this._buffers.length ? this._end() : (this._buffers.push(null), this._process()))
    }, o.prototype.destroySoon = o.prototype.end, o.prototype._end = function () {
        this._reads.length > 0 && this.emit("error", new Error("There are some read requests waiting on finished stream")), this.destroy()
    }, o.prototype.destroy = function () {
        this._buffers && (this.writable = !1, this._reads = null, this._buffers = null, this.emit("close"))
    }, o.prototype._processReadAllowingLess = function (e) {
        this._reads.shift();
        var t = this._buffers[0];
        t.length > e.length ? (this._buffered -= e.length, this._buffers[0] = t.slice(e.length), e.func.call(this, t.slice(0, e.length))) : (this._buffered -= t.length, this._buffers.shift(), e.func.call(this, t))
    }, o.prototype._processRead = function (e) {
        this._reads.shift();
        for (var t = 0, i = 0, n = new Buffer(e.length); t < e.length;) {
            var r = this._buffers[i++], o = Math.min(r.length, e.length - t);
            r.copy(n, t, 0, o), t += o, o !== r.length && (this._buffers[--i] = r.slice(o))
        }
        i > 0 && this._buffers.splice(0, i), this._buffered -= e.length, e.func.call(this, n)
    }, o.prototype._process = function () {
        try {
            for (; this._buffered > 0 && this._reads && this._reads.length > 0;) {
                var e = this._reads[0];
                if (e.allowLess) this._processReadAllowingLess(e); else {
                    if (!(this._buffered >= e.length)) break;
                    this._processRead(e)
                }
            }
            this._buffers && this._buffers.length > 0 && null === this._buffers[0] && this._end()
        } catch (e) {
            this.emit("error", e)
        }
    }
}, function (e, t, i) {
    "use strict";
    var n = i(185), r = i(186);

    function o(e, t, i) {
        var n = e * t;
        return 8 !== i && (n = Math.ceil(n / (8 / i))), n
    }

    var s = e.exports = function (e, t) {
        var i = e.width, r = e.height, s = e.interlace, a = e.bpp, l = e.depth;
        if (this.read = t.read, this.write = t.write, this.complete = t.complete, this._imageIndex = 0, this._images = [], s) for (var c = n.getImagePasses(i, r), u = 0; u < c.length; u++) this._images.push({
            byteWidth: o(c[u].width, a, l),
            height: c[u].height,
            lineIndex: 0
        }); else this._images.push({byteWidth: o(i, a, l), height: r, lineIndex: 0});
        this._xComparison = 8 === l ? a : 16 === l ? 2 * a : 1
    };
    s.prototype.start = function () {
        this.read(this._images[this._imageIndex].byteWidth + 1, this._reverseFilterLine.bind(this))
    }, s.prototype._unFilterType1 = function (e, t, i) {
        for (var n = this._xComparison, r = n - 1, o = 0; o < i; o++) {
            var s = e[1 + o], a = o > r ? t[o - n] : 0;
            t[o] = s + a
        }
    }, s.prototype._unFilterType2 = function (e, t, i) {
        for (var n = this._lastLine, r = 0; r < i; r++) {
            var o = e[1 + r], s = n ? n[r] : 0;
            t[r] = o + s
        }
    }, s.prototype._unFilterType3 = function (e, t, i) {
        for (var n = this._xComparison, r = n - 1, o = this._lastLine, s = 0; s < i; s++) {
            var a = e[1 + s], l = o ? o[s] : 0, c = s > r ? t[s - n] : 0, u = Math.floor((c + l) / 2);
            t[s] = a + u
        }
    }, s.prototype._unFilterType4 = function (e, t, i) {
        for (var n = this._xComparison, o = n - 1, s = this._lastLine, a = 0; a < i; a++) {
            var l = e[1 + a], c = s ? s[a] : 0, u = a > o ? t[a - n] : 0, d = a > o && s ? s[a - n] : 0, h = r(u, c, d);
            t[a] = l + h
        }
    }, s.prototype._reverseFilterLine = function (e) {
        var t, i = e[0], n = this._images[this._imageIndex], r = n.byteWidth;
        if (0 === i) t = e.slice(1, r + 1); else switch (t = new Buffer(r), i) {
            case 1:
                this._unFilterType1(e, t, r);
                break;
            case 2:
                this._unFilterType2(e, t, r);
                break;
            case 3:
                this._unFilterType3(e, t, r);
                break;
            case 4:
                this._unFilterType4(e, t, r);
                break;
            default:
                throw new Error("Unrecognised filter type - " + i)
        }
        this.write(t), n.lineIndex++, n.lineIndex >= n.height ? (this._lastLine = null, this._imageIndex++, n = this._images[this._imageIndex]) : this._lastLine = t, n ? this.read(n.byteWidth + 1, this._reverseFilterLine.bind(this)) : (this._lastLine = null, this.complete())
    }
}, function (e, t, i) {
    "use strict";
    var n = [{x: [0], y: [0]}, {x: [4], y: [0]}, {x: [0, 4], y: [4]}, {x: [2, 6], y: [0, 4]}, {
        x: [0, 2, 4, 6],
        y: [2, 6]
    }, {x: [1, 3, 5, 7], y: [0, 2, 4, 6]}, {x: [0, 1, 2, 3, 4, 5, 6, 7], y: [1, 3, 5, 7]}];
    t.getImagePasses = function (e, t) {
        for (var i = [], r = e % 8, o = t % 8, s = (e - r) / 8, a = (t - o) / 8, l = 0; l < n.length; l++) {
            for (var c = n[l], u = s * c.x.length, d = a * c.y.length, h = 0; h < c.x.length && c.x[h] < r; h++) u++;
            for (h = 0; h < c.y.length && c.y[h] < o; h++) d++;
            u > 0 && d > 0 && i.push({width: u, height: d, index: l})
        }
        return i
    }, t.getInterlaceIterator = function (e) {
        return function (t, i, r) {
            var o = t % n[r].x.length, s = (t - o) / n[r].x.length * 8 + n[r].x[o], a = i % n[r].y.length;
            return 4 * s + ((i - a) / n[r].y.length * 8 + n[r].y[a]) * e * 4
        }
    }
}, function (e, t, i) {
    "use strict";
    e.exports = function (e, t, i) {
        var n = e + t - i, r = Math.abs(n - e), o = Math.abs(n - t), s = Math.abs(n - i);
        return r <= o && r <= s ? e : o <= s ? t : i
    }
}, function (e, t, i) {
    "use strict";
    var n = i(128), r = i(188), o = e.exports = function (e, t) {
        this._options = e, e.checkCRC = !1 !== e.checkCRC, this._hasIHDR = !1, this._hasIEND = !1, this._palette = [], this._colorType = 0, this._chunks = {}, this._chunks[n.TYPE_IHDR] = this._handleIHDR.bind(this), this._chunks[n.TYPE_IEND] = this._handleIEND.bind(this), this._chunks[n.TYPE_IDAT] = this._handleIDAT.bind(this), this._chunks[n.TYPE_PLTE] = this._handlePLTE.bind(this), this._chunks[n.TYPE_tRNS] = this._handleTRNS.bind(this), this._chunks[n.TYPE_gAMA] = this._handleGAMA.bind(this), this.read = t.read, this.error = t.error, this.metadata = t.metadata, this.gamma = t.gamma, this.transColor = t.transColor, this.palette = t.palette, this.parsed = t.parsed, this.inflateData = t.inflateData, this.finished = t.finished
    };
    o.prototype.start = function () {
        this.read(n.PNG_SIGNATURE.length, this._parseSignature.bind(this))
    }, o.prototype._parseSignature = function (e) {
        for (var t = n.PNG_SIGNATURE, i = 0; i < t.length; i++) if (e[i] !== t[i]) return void this.error(new Error("Invalid file signature"));
        this.read(8, this._parseChunkBegin.bind(this))
    }, o.prototype._parseChunkBegin = function (e) {
        for (var t = e.readUInt32BE(0), i = e.readUInt32BE(4), o = "", s = 4; s < 8; s++) o += String.fromCharCode(e[s]);
        var a = Boolean(32 & e[4]);
        if (this._hasIHDR || i === n.TYPE_IHDR) {
            if (this._crc = new r, this._crc.write(new Buffer(o)), this._chunks[i]) return this._chunks[i](t);
            a ? this.read(t + 4, this._skipChunk.bind(this)) : this.error(new Error("Unsupported critical chunk type " + o))
        } else this.error(new Error("Expected IHDR on beggining"))
    }, o.prototype._skipChunk = function () {
        this.read(8, this._parseChunkBegin.bind(this))
    }, o.prototype._handleChunkEnd = function () {
        this.read(4, this._parseChunkEnd.bind(this))
    }, o.prototype._parseChunkEnd = function (e) {
        var t = e.readInt32BE(0), i = this._crc.crc32();
        this._options.checkCRC && i !== t ? this.error(new Error("Crc error - " + t + " - " + i)) : this._hasIEND || this.read(8, this._parseChunkBegin.bind(this))
    }, o.prototype._handleIHDR = function (e) {
        this.read(e, this._parseIHDR.bind(this))
    }, o.prototype._parseIHDR = function (e) {
        this._crc.write(e);
        var t = e.readUInt32BE(0), i = e.readUInt32BE(4), r = e[8], o = e[9], s = e[10], a = e[11], l = e[12];
        if (8 === r || 4 === r || 2 === r || 1 === r || 16 === r) if (o in n.COLORTYPE_TO_BPP_MAP) if (0 === s) if (0 === a) if (0 === l || 1 === l) {
            this._colorType = o;
            var c = n.COLORTYPE_TO_BPP_MAP[this._colorType];
            this._hasIHDR = !0, this.metadata({
                width: t,
                height: i,
                depth: r,
                interlace: Boolean(l),
                palette: Boolean(o & n.COLORTYPE_PALETTE),
                color: Boolean(o & n.COLORTYPE_COLOR),
                alpha: Boolean(o & n.COLORTYPE_ALPHA),
                bpp: c,
                colorType: o
            }), this._handleChunkEnd()
        } else this.error(new Error("Unsupported interlace method")); else this.error(new Error("Unsupported filter method")); else this.error(new Error("Unsupported compression method")); else this.error(new Error("Unsupported color type")); else this.error(new Error("Unsupported bit depth " + r))
    }, o.prototype._handlePLTE = function (e) {
        this.read(e, this._parsePLTE.bind(this))
    }, o.prototype._parsePLTE = function (e) {
        this._crc.write(e);
        for (var t = Math.floor(e.length / 3), i = 0; i < t; i++) this._palette.push([e[3 * i], e[3 * i + 1], e[3 * i + 2], 255]);
        this.palette(this._palette), this._handleChunkEnd()
    }, o.prototype._handleTRNS = function (e) {
        this.read(e, this._parseTRNS.bind(this))
    }, o.prototype._parseTRNS = function (e) {
        if (this._crc.write(e), this._colorType === n.COLORTYPE_PALETTE_COLOR) {
            if (0 === this._palette.length) return void this.error(new Error("Transparency chunk must be after palette"));
            if (e.length > this._palette.length) return void this.error(new Error("More transparent colors than palette size"));
            for (var t = 0; t < e.length; t++) this._palette[t][3] = e[t];
            this.palette(this._palette)
        }
        this._colorType === n.COLORTYPE_GRAYSCALE && this.transColor([e.readUInt16BE(0)]), this._colorType === n.COLORTYPE_COLOR && this.transColor([e.readUInt16BE(0), e.readUInt16BE(2), e.readUInt16BE(4)]), this._handleChunkEnd()
    }, o.prototype._handleGAMA = function (e) {
        this.read(e, this._parseGAMA.bind(this))
    }, o.prototype._parseGAMA = function (e) {
        this._crc.write(e), this.gamma(e.readUInt32BE(0) / n.GAMMA_DIVISION), this._handleChunkEnd()
    }, o.prototype._handleIDAT = function (e) {
        this.read(-e, this._parseIDAT.bind(this, e))
    }, o.prototype._parseIDAT = function (e, t) {
        if (this._crc.write(t), this._colorType === n.COLORTYPE_PALETTE_COLOR && 0 === this._palette.length) throw new Error("Expected palette not found");
        this.inflateData(t);
        var i = e - t.length;
        i > 0 ? this._handleIDAT(i) : this._handleChunkEnd()
    }, o.prototype._handleIEND = function (e) {
        this.read(e, this._parseIEND.bind(this))
    }, o.prototype._parseIEND = function (e) {
        this._crc.write(e), this._hasIEND = !0, this._handleChunkEnd(), this.finished && this.finished()
    }
}, function (e, t, i) {
    "use strict";
    var n = [];
    !function () {
        for (var e = 0; e < 256; e++) {
            for (var t = e, i = 0; i < 8; i++) 1 & t ? t = 3988292384 ^ t >>> 1 : t >>>= 1;
            n[e] = t
        }
    }();
    var r = e.exports = function () {
        this._crc = -1
    };
    r.prototype.write = function (e) {
        for (var t = 0; t < e.length; t++) this._crc = n[255 & (this._crc ^ e[t])] ^ this._crc >>> 8;
        return !0
    }, r.prototype.crc32 = function () {
        return -1 ^ this._crc
    }, r.crc32 = function (e) {
        for (var t = -1, i = 0; i < e.length; i++) t = n[255 & (t ^ e[i])] ^ t >>> 8;
        return -1 ^ t
    }
}, function (e, t, i) {
    "use strict";
    var n = i(185), r = {
        1: {0: 0, 1: 0, 2: 0, 3: 255},
        2: {0: 0, 1: 0, 2: 0, 3: 1},
        3: {0: 0, 1: 1, 2: 2, 3: 255},
        4: {0: 0, 1: 1, 2: 2, 3: 3}
    };

    function o(e, t, i, n, o, s) {
        for (var a = e.width, l = e.height, c = e.index, u = 0; u < l; u++) for (var d = 0; d < a; d++) {
            for (var h = i(d, u, c), p = 0; p < 4; p++) {
                var f = r[n][p];
                if (255 === f) t[h + p] = 255; else {
                    var A = f + s;
                    if (A === o.length) throw new Error("Ran out of data");
                    t[h + p] = o[A]
                }
            }
            s += n
        }
        return s
    }

    function s(e, t, i, n, o, s) {
        for (var a = e.width, l = e.height, c = e.index, u = 0; u < l; u++) {
            for (var d = 0; d < a; d++) for (var h = o.get(n), p = i(d, u, c), f = 0; f < 4; f++) {
                var A = r[n][f];
                t[p + f] = 255 !== A ? h[A] : s
            }
            o.resetAfterLine()
        }
    }

    t.dataToBitMap = function (e, t) {
        var i, r = t.width, a = t.height, l = t.depth, c = t.bpp, u = t.interlace;
        if (8 !== l) var d = function (e, t) {
            var i = [], n = 0;

            function r() {
                if (n === e.length) throw new Error("Ran out of data");
                var r, o, s, a, l, c, u, d, h = e[n];
                switch (n++, t) {
                    default:
                        throw new Error("unrecognised depth");
                    case 16:
                        u = e[n], n++, i.push((h << 8) + u);
                        break;
                    case 4:
                        u = 15 & h, d = h >> 4, i.push(d, u);
                        break;
                    case 2:
                        l = 3 & h, c = h >> 2 & 3, u = h >> 4 & 3, d = h >> 6 & 3, i.push(d, u, c, l);
                        break;
                    case 1:
                        r = 1 & h, o = h >> 1 & 1, s = h >> 2 & 1, a = h >> 3 & 1, l = h >> 4 & 1, c = h >> 5 & 1, u = h >> 6 & 1, d = h >> 7 & 1, i.push(d, u, c, l, a, s, o, r)
                }
            }

            return {
                get: function (e) {
                    for (; i.length < e;) r();
                    var t = i.slice(0, e);
                    return i = i.slice(e), t
                }, resetAfterLine: function () {
                    i.length = 0
                }, end: function () {
                    if (n !== e.length) throw new Error("extra data found")
                }
            }
        }(e, l);
        i = l <= 8 ? new Buffer(r * a * 4) : new Uint16Array(r * a * 4);
        var h, p, f = Math.pow(2, l) - 1, A = 0;
        if (u) h = n.getImagePasses(r, a), p = n.getInterlaceIterator(r, a); else {
            var v = 0;
            p = function () {
                var e = v;
                return v += 4, e
            }, h = [{width: r, height: a}]
        }
        for (var g = 0; g < h.length; g++) 8 === l ? A = o(h[g], i, p, c, e, A) : s(h[g], i, p, c, d, f);
        if (8 === l) {
            if (A !== e.length) throw new Error("extra data found")
        } else d.end();
        return i
    }
}, function (e, t, i) {
    "use strict";
    e.exports = function (e, t) {
        var i = t.depth, n = t.width, r = t.height, o = t.colorType, s = t.transColor, a = t.palette, l = e;
        return 3 === o ? function (e, t, i, n, r) {
            for (var o = 0, s = 0; s < n; s++) for (var a = 0; a < i; a++) {
                var l = r[e[o]];
                if (!l) throw new Error("index " + e[o] + " not in palette");
                for (var c = 0; c < 4; c++) t[o + c] = l[c];
                o += 4
            }
        }(e, l, n, r, a) : (s && function (e, t, i, n, r) {
            for (var o = 0, s = 0; s < n; s++) for (var a = 0; a < i; a++) {
                var l = !1;
                if (1 === r.length ? r[0] === e[o] && (l = !0) : r[0] === e[o] && r[1] === e[o + 1] && r[2] === e[o + 2] && (l = !0), l) for (var c = 0; c < 4; c++) t[o + c] = 0;
                o += 4
            }
        }(e, l, n, r, s), 8 !== i && (16 === i && (l = new Buffer(n * r * 4)), function (e, t, i, n, r) {
            for (var o = Math.pow(2, r) - 1, s = 0, a = 0; a < n; a++) for (var l = 0; l < i; l++) {
                for (var c = 0; c < 4; c++) t[s + c] = Math.floor(255 * e[s + c] / o + .5);
                s += 4
            }
        }(e, l, n, r, i))), l
    }
}, function (e, t, i) {
    "use strict";
    var n = i(128), r = i(188), o = i(469), s = i(470), a = i(64), l = e.exports = function (e) {
        if (this._options = e, e.deflateChunkSize = e.deflateChunkSize || 32768, e.deflateLevel = null != e.deflateLevel ? e.deflateLevel : 9, e.deflateStrategy = null != e.deflateStrategy ? e.deflateStrategy : 3, e.inputHasAlpha = null == e.inputHasAlpha || e.inputHasAlpha, e.deflateFactory = e.deflateFactory || a.createDeflate, e.bitDepth = e.bitDepth || 8, e.colorType = "number" == typeof e.colorType ? e.colorType : n.COLORTYPE_COLOR_ALPHA, e.inputColorType = "number" == typeof e.inputColorType ? e.inputColorType : n.COLORTYPE_COLOR_ALPHA, -1 === [n.COLORTYPE_GRAYSCALE, n.COLORTYPE_COLOR, n.COLORTYPE_COLOR_ALPHA, n.COLORTYPE_ALPHA].indexOf(e.colorType)) throw new Error("option color type:" + e.colorType + " is not supported at present");
        if (-1 === [n.COLORTYPE_GRAYSCALE, n.COLORTYPE_COLOR, n.COLORTYPE_COLOR_ALPHA, n.COLORTYPE_ALPHA].indexOf(e.inputColorType)) throw new Error("option input color type:" + e.inputColorType + " is not supported at present");
        if (8 !== e.bitDepth && 16 !== e.bitDepth) throw new Error("option bit depth:" + e.bitDepth + " is not supported at present")
    };
    l.prototype.getDeflateOptions = function () {
        return {
            chunkSize: this._options.deflateChunkSize,
            level: this._options.deflateLevel,
            strategy: this._options.deflateStrategy
        }
    }, l.prototype.createDeflate = function () {
        return this._options.deflateFactory(this.getDeflateOptions())
    }, l.prototype.filterData = function (e, t, i) {
        var r = o(e, t, i, this._options), a = n.COLORTYPE_TO_BPP_MAP[this._options.colorType];
        return s(r, t, i, this._options, a)
    }, l.prototype._packChunk = function (e, t) {
        var i = t ? t.length : 0, n = new Buffer(i + 12);
        return n.writeUInt32BE(i, 0), n.writeUInt32BE(e, 4), t && t.copy(n, 8), n.writeInt32BE(r.crc32(n.slice(4, n.length - 4)), n.length - 4), n
    }, l.prototype.packGAMA = function (e) {
        var t = new Buffer(4);
        return t.writeUInt32BE(Math.floor(e * n.GAMMA_DIVISION), 0), this._packChunk(n.TYPE_gAMA, t)
    }, l.prototype.packIHDR = function (e, t) {
        var i = new Buffer(13);
        return i.writeUInt32BE(e, 0), i.writeUInt32BE(t, 4), i[8] = this._options.bitDepth, i[9] = this._options.colorType, i[10] = 0, i[11] = 0, i[12] = 0, this._packChunk(n.TYPE_IHDR, i)
    }, l.prototype.packIDAT = function (e) {
        return this._packChunk(n.TYPE_IDAT, e)
    }, l.prototype.packIEND = function () {
        return this._packChunk(n.TYPE_IEND, null)
    }
}, function (e, t, i) {
    "use strict";
    var n = e.exports = function (e) {
        this._buffer = e, this._reads = []
    };
    n.prototype.read = function (e, t) {
        this._reads.push({length: Math.abs(e), allowLess: e < 0, func: t})
    }, n.prototype.process = function () {
        for (; this._reads.length > 0 && this._buffer.length;) {
            var e = this._reads[0];
            if (!this._buffer.length || !(this._buffer.length >= e.length || e.allowLess)) break;
            this._reads.shift();
            var t = this._buffer;
            this._buffer = t.slice(e.length), e.func.call(this, t.slice(0, e.length))
        }
        return this._reads.length > 0 ? new Error("There are some read requests waitng on finished stream") : this._buffer.length > 0 ? new Error("unrecognised content at end of stream") : void 0
    }
}, function (e, t, i) {
    var n = i(139);

    function r(e, t) {
        var i = e.a / 255, n = t + '="' + e.hex + '"';
        return i < 1 ? n + " " + t + '-opacity="' + i.toFixed(2).slice(1) + '"' : n
    }

    function o(e, t, i) {
        var n = e + t;
        return void 0 !== i && (n += " " + i), n
    }

    t.render = function (e, t, i) {
        var s = n.getOptions(t), a = e.modules.size, l = e.modules.data, c = a + 2 * s.margin,
            u = s.color.light.a ? "<path " + r(s.color.light, "fill") + ' d="M0 0h' + c + "v" + c + 'H0z"/>' : "",
            d = "<path " + r(s.color.dark, "stroke") + ' d="' + function (e, t, i) {
                for (var n = "", r = 0, s = !1, a = 0, l = 0; l < e.length; l++) {
                    var c = Math.floor(l % t), u = Math.floor(l / t);
                    c || s || (s = !0), e[l] ? (a++, l > 0 && c > 0 && e[l - 1] || (n += s ? o("M", c + i, .5 + u + i) : o("m", r, 0), r = 0, s = !1), c + 1 < t && e[l + 1] || (n += o("h", a), a = 0)) : r++
                }
                return n
            }(l, a, s.margin) + '"/>', h = 'viewBox="0 0 ' + c + " " + c + '"',
            p = '<svg xmlns="http://www.w3.org/2000/svg" ' + (s.width ? 'width="' + s.width + '" height="' + s.width + '" ' : "") + h + ' shape-rendering="crispEdges">' + u + d + "</svg>\n";
        return "function" == typeof i && i(null, p), p
    }
}, , , function (e, t, i) {
    "use strict";
    var n = i(923);
    i.n(n).a
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(594), r = i(283);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-tip.vue", t.default = a.exports
}, function (e, t, i) {
    e.exports = i(8)(25)
}, function (e, t, i) {
    (function (e) {
        var i;
        !function () {
            var n = "object" == typeof self && self.self === self && self || "object" == typeof global && global.global === global && global || this || {},
                r = n._, o = Array.prototype, s = Object.prototype,
                a = "undefined" != typeof Symbol ? Symbol.prototype : null, l = o.push, c = o.slice, u = s.toString,
                d = s.hasOwnProperty, h = Array.isArray, p = Object.keys, f = Object.create, A = function () {
                }, v = function (e) {
                    return e instanceof v ? e : this instanceof v ? void(this._wrapped = e) : new v(e)
                };
            void 0 === t || t.nodeType ? n._ = v : (void 0 !== e && !e.nodeType && e.exports && (t = e.exports = v), t._ = v), v.VERSION = "1.9.1";
            var g, m = function (e, t, i) {
                if (void 0 === t) return e;
                switch (null == i ? 3 : i) {
                    case 1:
                        return function (i) {
                            return e.call(t, i)
                        };
                    case 3:
                        return function (i, n, r) {
                            return e.call(t, i, n, r)
                        };
                    case 4:
                        return function (i, n, r, o) {
                            return e.call(t, i, n, r, o)
                        }
                }
                return function () {
                    return e.apply(t, arguments)
                }
            }, y = function (e, t, i) {
                return v.iteratee !== g ? v.iteratee(e, t) : null == e ? v.identity : v.isFunction(e) ? m(e, t, i) : v.isObject(e) && !v.isArray(e) ? v.matcher(e) : v.property(e)
            };
            v.iteratee = g = function (e, t) {
                return y(e, t, 1 / 0)
            };
            var w = function (e, t) {
                return t = null == t ? e.length - 1 : +t, function () {
                    for (var i = Math.max(arguments.length - t, 0), n = Array(i), r = 0; r < i; r++) n[r] = arguments[r + t];
                    switch (t) {
                        case 0:
                            return e.call(this, n);
                        case 1:
                            return e.call(this, arguments[0], n);
                        case 2:
                            return e.call(this, arguments[0], arguments[1], n)
                    }
                    var o = Array(t + 1);
                    for (r = 0; r < t; r++) o[r] = arguments[r];
                    return o[t] = n, e.apply(this, o)
                }
            }, C = function (e) {
                if (!v.isObject(e)) return {};
                if (f) return f(e);
                A.prototype = e;
                var t = new A;
                return A.prototype = null, t
            }, b = function (e) {
                return function (t) {
                    return null == t ? void 0 : t[e]
                }
            }, x = function (e, t) {
                return null != e && d.call(e, t)
            }, I = function (e, t) {
                for (var i = t.length, n = 0; n < i; n++) {
                    if (null == e) return;
                    e = e[t[n]]
                }
                return i ? e : void 0
            }, k = Math.pow(2, 53) - 1, S = b("length"), E = function (e) {
                var t = S(e);
                return "number" == typeof t && t >= 0 && t <= k
            };
            v.each = v.forEach = function (e, t, i) {
                var n, r;
                if (t = m(t, i), E(e)) for (n = 0, r = e.length; n < r; n++) t(e[n], n, e); else {
                    var o = v.keys(e);
                    for (n = 0, r = o.length; n < r; n++) t(e[o[n]], o[n], e)
                }
                return e
            }, v.map = v.collect = function (e, t, i) {
                t = y(t, i);
                for (var n = !E(e) && v.keys(e), r = (n || e).length, o = Array(r), s = 0; s < r; s++) {
                    var a = n ? n[s] : s;
                    o[s] = t(e[a], a, e)
                }
                return o
            };
            var D = function (e) {
                return function (t, i, n, r) {
                    var o = arguments.length >= 3;
                    return function (t, i, n, r) {
                        var o = !E(t) && v.keys(t), s = (o || t).length, a = e > 0 ? 0 : s - 1;
                        for (r || (n = t[o ? o[a] : a], a += e); a >= 0 && a < s; a += e) {
                            var l = o ? o[a] : a;
                            n = i(n, t[l], l, t)
                        }
                        return n
                    }(t, m(i, r, 4), n, o)
                }
            };
            v.reduce = v.foldl = v.inject = D(1), v.reduceRight = v.foldr = D(-1), v.find = v.detect = function (e, t, i) {
                var n = (E(e) ? v.findIndex : v.findKey)(e, t, i);
                if (void 0 !== n && -1 !== n) return e[n]
            }, v.filter = v.select = function (e, t, i) {
                var n = [];
                return t = y(t, i), v.each(e, function (e, i, r) {
                    t(e, i, r) && n.push(e)
                }), n
            }, v.reject = function (e, t, i) {
                return v.filter(e, v.negate(y(t)), i)
            }, v.every = v.all = function (e, t, i) {
                t = y(t, i);
                for (var n = !E(e) && v.keys(e), r = (n || e).length, o = 0; o < r; o++) {
                    var s = n ? n[o] : o;
                    if (!t(e[s], s, e)) return !1
                }
                return !0
            }, v.some = v.any = function (e, t, i) {
                t = y(t, i);
                for (var n = !E(e) && v.keys(e), r = (n || e).length, o = 0; o < r; o++) {
                    var s = n ? n[o] : o;
                    if (t(e[s], s, e)) return !0
                }
                return !1
            }, v.contains = v.includes = v.include = function (e, t, i, n) {
                return E(e) || (e = v.values(e)), ("number" != typeof i || n) && (i = 0), v.indexOf(e, t, i) >= 0
            }, v.invoke = w(function (e, t, i) {
                var n, r;
                return v.isFunction(t) ? r = t : v.isArray(t) && (n = t.slice(0, -1), t = t[t.length - 1]), v.map(e, function (e) {
                    var o = r;
                    if (!o) {
                        if (n && n.length && (e = I(e, n)), null == e) return;
                        o = e[t]
                    }
                    return null == o ? o : o.apply(e, i)
                })
            }), v.pluck = function (e, t) {
                return v.map(e, v.property(t))
            }, v.where = function (e, t) {
                return v.filter(e, v.matcher(t))
            }, v.findWhere = function (e, t) {
                return v.find(e, v.matcher(t))
            }, v.max = function (e, t, i) {
                var n, r, o = -1 / 0, s = -1 / 0;
                if (null == t || "number" == typeof t && "object" != typeof e[0] && null != e) for (var a = 0, l = (e = E(e) ? e : v.values(e)).length; a < l; a++) null != (n = e[a]) && n > o && (o = n); else t = y(t, i), v.each(e, function (e, i, n) {
                    ((r = t(e, i, n)) > s || r === -1 / 0 && o === -1 / 0) && (o = e, s = r)
                });
                return o
            }, v.min = function (e, t, i) {
                var n, r, o = 1 / 0, s = 1 / 0;
                if (null == t || "number" == typeof t && "object" != typeof e[0] && null != e) for (var a = 0, l = (e = E(e) ? e : v.values(e)).length; a < l; a++) null != (n = e[a]) && n < o && (o = n); else t = y(t, i), v.each(e, function (e, i, n) {
                    ((r = t(e, i, n)) < s || r === 1 / 0 && o === 1 / 0) && (o = e, s = r)
                });
                return o
            }, v.shuffle = function (e) {
                return v.sample(e, 1 / 0)
            }, v.sample = function (e, t, i) {
                if (null == t || i) return E(e) || (e = v.values(e)), e[v.random(e.length - 1)];
                var n = E(e) ? v.clone(e) : v.values(e), r = S(n);
                t = Math.max(Math.min(t, r), 0);
                for (var o = r - 1, s = 0; s < t; s++) {
                    var a = v.random(s, o), l = n[s];
                    n[s] = n[a], n[a] = l
                }
                return n.slice(0, t)
            }, v.sortBy = function (e, t, i) {
                var n = 0;
                return t = y(t, i), v.pluck(v.map(e, function (e, i, r) {
                    return {value: e, index: n++, criteria: t(e, i, r)}
                }).sort(function (e, t) {
                    var i = e.criteria, n = t.criteria;
                    if (i !== n) {
                        if (i > n || void 0 === i) return 1;
                        if (i < n || void 0 === n) return -1
                    }
                    return e.index - t.index
                }), "value")
            };
            var M = function (e, t) {
                return function (i, n, r) {
                    var o = t ? [[], []] : {};
                    return n = y(n, r), v.each(i, function (t, r) {
                        var s = n(t, r, i);
                        e(o, t, s)
                    }), o
                }
            };
            v.groupBy = M(function (e, t, i) {
                x(e, i) ? e[i].push(t) : e[i] = [t]
            }), v.indexBy = M(function (e, t, i) {
                e[i] = t
            }), v.countBy = M(function (e, t, i) {
                x(e, i) ? e[i]++ : e[i] = 1
            });
            var R = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
            v.toArray = function (e) {
                return e ? v.isArray(e) ? c.call(e) : v.isString(e) ? e.match(R) : E(e) ? v.map(e, v.identity) : v.values(e) : []
            }, v.size = function (e) {
                return null == e ? 0 : E(e) ? e.length : v.keys(e).length
            }, v.partition = M(function (e, t, i) {
                e[i ? 0 : 1].push(t)
            }, !0), v.first = v.head = v.take = function (e, t, i) {
                return null == e || e.length < 1 ? null == t ? void 0 : [] : null == t || i ? e[0] : v.initial(e, e.length - t)
            }, v.initial = function (e, t, i) {
                return c.call(e, 0, Math.max(0, e.length - (null == t || i ? 1 : t)))
            }, v.last = function (e, t, i) {
                return null == e || e.length < 1 ? null == t ? void 0 : [] : null == t || i ? e[e.length - 1] : v.rest(e, Math.max(0, e.length - t))
            }, v.rest = v.tail = v.drop = function (e, t, i) {
                return c.call(e, null == t || i ? 1 : t)
            }, v.compact = function (e) {
                return v.filter(e, Boolean)
            };
            var B = function (e, t, i, n) {
                for (var r = (n = n || []).length, o = 0, s = S(e); o < s; o++) {
                    var a = e[o];
                    if (E(a) && (v.isArray(a) || v.isArguments(a))) if (t) for (var l = 0, c = a.length; l < c;) n[r++] = a[l++]; else B(a, t, i, n), r = n.length; else i || (n[r++] = a)
                }
                return n
            };
            v.flatten = function (e, t) {
                return B(e, t, !1)
            }, v.without = w(function (e, t) {
                return v.difference(e, t)
            }), v.uniq = v.unique = function (e, t, i, n) {
                v.isBoolean(t) || (n = i, i = t, t = !1), null != i && (i = y(i, n));
                for (var r = [], o = [], s = 0, a = S(e); s < a; s++) {
                    var l = e[s], c = i ? i(l, s, e) : l;
                    t && !i ? (s && o === c || r.push(l), o = c) : i ? v.contains(o, c) || (o.push(c), r.push(l)) : v.contains(r, l) || r.push(l)
                }
                return r
            }, v.union = w(function (e) {
                return v.uniq(B(e, !0, !0))
            }), v.intersection = function (e) {
                for (var t = [], i = arguments.length, n = 0, r = S(e); n < r; n++) {
                    var o = e[n];
                    if (!v.contains(t, o)) {
                        var s;
                        for (s = 1; s < i && v.contains(arguments[s], o); s++) ;
                        s === i && t.push(o)
                    }
                }
                return t
            }, v.difference = w(function (e, t) {
                return t = B(t, !0, !0), v.filter(e, function (e) {
                    return !v.contains(t, e)
                })
            }), v.unzip = function (e) {
                for (var t = e && v.max(e, S).length || 0, i = Array(t), n = 0; n < t; n++) i[n] = v.pluck(e, n);
                return i
            }, v.zip = w(v.unzip), v.object = function (e, t) {
                for (var i = {}, n = 0, r = S(e); n < r; n++) t ? i[e[n]] = t[n] : i[e[n][0]] = e[n][1];
                return i
            };
            var P = function (e) {
                return function (t, i, n) {
                    i = y(i, n);
                    for (var r = S(t), o = e > 0 ? 0 : r - 1; o >= 0 && o < r; o += e) if (i(t[o], o, t)) return o;
                    return -1
                }
            };
            v.findIndex = P(1), v.findLastIndex = P(-1), v.sortedIndex = function (e, t, i, n) {
                for (var r = (i = y(i, n, 1))(t), o = 0, s = S(e); o < s;) {
                    var a = Math.floor((o + s) / 2);
                    i(e[a]) < r ? o = a + 1 : s = a
                }
                return o
            };
            var T = function (e, t, i) {
                return function (n, r, o) {
                    var s = 0, a = S(n);
                    if ("number" == typeof o) e > 0 ? s = o >= 0 ? o : Math.max(o + a, s) : a = o >= 0 ? Math.min(o + 1, a) : o + a + 1; else if (i && o && a) return n[o = i(n, r)] === r ? o : -1;
                    if (r != r) return (o = t(c.call(n, s, a), v.isNaN)) >= 0 ? o + s : -1;
                    for (o = e > 0 ? s : a - 1; o >= 0 && o < a; o += e) if (n[o] === r) return o;
                    return -1
                }
            };
            v.indexOf = T(1, v.findIndex, v.sortedIndex), v.lastIndexOf = T(-1, v.findLastIndex), v.range = function (e, t, i) {
                null == t && (t = e || 0, e = 0), i || (i = t < e ? -1 : 1);
                for (var n = Math.max(Math.ceil((t - e) / i), 0), r = Array(n), o = 0; o < n; o++, e += i) r[o] = e;
                return r
            }, v.chunk = function (e, t) {
                if (null == t || t < 1) return [];
                for (var i = [], n = 0, r = e.length; n < r;) i.push(c.call(e, n, n += t));
                return i
            };
            var O = function (e, t, i, n, r) {
                if (!(n instanceof t)) return e.apply(i, r);
                var o = C(e.prototype), s = e.apply(o, r);
                return v.isObject(s) ? s : o
            };
            v.bind = w(function (e, t, i) {
                if (!v.isFunction(e)) throw new TypeError("Bind must be called on a function");
                var n = w(function (r) {
                    return O(e, n, t, this, i.concat(r))
                });
                return n
            }), v.partial = w(function (e, t) {
                var i = v.partial.placeholder, n = function () {
                    for (var r = 0, o = t.length, s = Array(o), a = 0; a < o; a++) s[a] = t[a] === i ? arguments[r++] : t[a];
                    for (; r < arguments.length;) s.push(arguments[r++]);
                    return O(e, n, this, this, s)
                };
                return n
            }), v.partial.placeholder = v, v.bindAll = w(function (e, t) {
                var i = (t = B(t, !1, !1)).length;
                if (i < 1) throw new Error("bindAll must be passed function names");
                for (; i--;) {
                    var n = t[i];
                    e[n] = v.bind(e[n], e)
                }
            }), v.memoize = function (e, t) {
                var i = function (n) {
                    var r = i.cache, o = "" + (t ? t.apply(this, arguments) : n);
                    return x(r, o) || (r[o] = e.apply(this, arguments)), r[o]
                };
                return i.cache = {}, i
            }, v.delay = w(function (e, t, i) {
                return setTimeout(function () {
                    return e.apply(null, i)
                }, t)
            }), v.defer = v.partial(v.delay, v, 1), v.throttle = function (e, t, i) {
                var n, r, o, s, a = 0;
                i || (i = {});
                var l = function () {
                    a = !1 === i.leading ? 0 : v.now(), n = null, s = e.apply(r, o), n || (r = o = null)
                }, c = function () {
                    var c = v.now();
                    a || !1 !== i.leading || (a = c);
                    var u = t - (c - a);
                    return r = this, o = arguments, u <= 0 || u > t ? (n && (clearTimeout(n), n = null), a = c, s = e.apply(r, o), n || (r = o = null)) : n || !1 === i.trailing || (n = setTimeout(l, u)), s
                };
                return c.cancel = function () {
                    clearTimeout(n), a = 0, n = r = o = null
                }, c
            }, v.debounce = function (e, t, i) {
                var n, r, o = function (t, i) {
                    n = null, i && (r = e.apply(t, i))
                }, s = w(function (s) {
                    if (n && clearTimeout(n), i) {
                        var a = !n;
                        n = setTimeout(o, t), a && (r = e.apply(this, s))
                    } else n = v.delay(o, t, this, s);
                    return r
                });
                return s.cancel = function () {
                    clearTimeout(n), n = null
                }, s
            }, v.wrap = function (e, t) {
                return v.partial(t, e)
            }, v.negate = function (e) {
                return function () {
                    return !e.apply(this, arguments)
                }
            }, v.compose = function () {
                var e = arguments, t = e.length - 1;
                return function () {
                    for (var i = t, n = e[t].apply(this, arguments); i--;) n = e[i].call(this, n);
                    return n
                }
            }, v.after = function (e, t) {
                return function () {
                    if (--e < 1) return t.apply(this, arguments)
                }
            }, v.before = function (e, t) {
                var i;
                return function () {
                    return --e > 0 && (i = t.apply(this, arguments)), e <= 1 && (t = null), i
                }
            }, v.once = v.partial(v.before, 2), v.restArguments = w;
            var N = !{toString: null}.propertyIsEnumerable("toString"),
                j = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"],
                F = function (e, t) {
                    var i = j.length, n = e.constructor, r = v.isFunction(n) && n.prototype || s, o = "constructor";
                    for (x(e, o) && !v.contains(t, o) && t.push(o); i--;) (o = j[i]) in e && e[o] !== r[o] && !v.contains(t, o) && t.push(o)
                };
            v.keys = function (e) {
                if (!v.isObject(e)) return [];
                if (p) return p(e);
                var t = [];
                for (var i in e) x(e, i) && t.push(i);
                return N && F(e, t), t
            }, v.allKeys = function (e) {
                if (!v.isObject(e)) return [];
                var t = [];
                for (var i in e) t.push(i);
                return N && F(e, t), t
            }, v.values = function (e) {
                for (var t = v.keys(e), i = t.length, n = Array(i), r = 0; r < i; r++) n[r] = e[t[r]];
                return n
            }, v.mapObject = function (e, t, i) {
                t = y(t, i);
                for (var n = v.keys(e), r = n.length, o = {}, s = 0; s < r; s++) {
                    var a = n[s];
                    o[a] = t(e[a], a, e)
                }
                return o
            }, v.pairs = function (e) {
                for (var t = v.keys(e), i = t.length, n = Array(i), r = 0; r < i; r++) n[r] = [t[r], e[t[r]]];
                return n
            }, v.invert = function (e) {
                for (var t = {}, i = v.keys(e), n = 0, r = i.length; n < r; n++) t[e[i[n]]] = i[n];
                return t
            }, v.functions = v.methods = function (e) {
                var t = [];
                for (var i in e) v.isFunction(e[i]) && t.push(i);
                return t.sort()
            };
            var Q = function (e, t) {
                return function (i) {
                    var n = arguments.length;
                    if (t && (i = Object(i)), n < 2 || null == i) return i;
                    for (var r = 1; r < n; r++) for (var o = arguments[r], s = e(o), a = s.length, l = 0; l < a; l++) {
                        var c = s[l];
                        t && void 0 !== i[c] || (i[c] = o[c])
                    }
                    return i
                }
            };
            v.extend = Q(v.allKeys), v.extendOwn = v.assign = Q(v.keys), v.findKey = function (e, t, i) {
                t = y(t, i);
                for (var n, r = v.keys(e), o = 0, s = r.length; o < s; o++) if (t(e[n = r[o]], n, e)) return n
            };
            var K, L, U = function (e, t, i) {
                return t in i
            };
            v.pick = w(function (e, t) {
                var i = {}, n = t[0];
                if (null == e) return i;
                v.isFunction(n) ? (t.length > 1 && (n = m(n, t[1])), t = v.allKeys(e)) : (n = U, t = B(t, !1, !1), e = Object(e));
                for (var r = 0, o = t.length; r < o; r++) {
                    var s = t[r], a = e[s];
                    n(a, s, e) && (i[s] = a)
                }
                return i
            }), v.omit = w(function (e, t) {
                var i, n = t[0];
                return v.isFunction(n) ? (n = v.negate(n), t.length > 1 && (i = t[1])) : (t = v.map(B(t, !1, !1), String), n = function (e, i) {
                    return !v.contains(t, i)
                }), v.pick(e, n, i)
            }), v.defaults = Q(v.allKeys, !0), v.create = function (e, t) {
                var i = C(e);
                return t && v.extendOwn(i, t), i
            }, v.clone = function (e) {
                return v.isObject(e) ? v.isArray(e) ? e.slice() : v.extend({}, e) : e
            }, v.tap = function (e, t) {
                return t(e), e
            }, v.isMatch = function (e, t) {
                var i = v.keys(t), n = i.length;
                if (null == e) return !n;
                for (var r = Object(e), o = 0; o < n; o++) {
                    var s = i[o];
                    if (t[s] !== r[s] || !(s in r)) return !1
                }
                return !0
            }, K = function (e, t, i, n) {
                if (e === t) return 0 !== e || 1 / e == 1 / t;
                if (null == e || null == t) return !1;
                if (e != e) return t != t;
                var r = typeof e;
                return ("function" === r || "object" === r || "object" == typeof t) && L(e, t, i, n)
            }, L = function (e, t, i, n) {
                e instanceof v && (e = e._wrapped), t instanceof v && (t = t._wrapped);
                var r = u.call(e);
                if (r !== u.call(t)) return !1;
                switch (r) {
                    case"[object RegExp]":
                    case"[object String]":
                        return "" + e == "" + t;
                    case"[object Number]":
                        return +e != +e ? +t != +t : 0 == +e ? 1 / +e == 1 / t : +e == +t;
                    case"[object Date]":
                    case"[object Boolean]":
                        return +e == +t;
                    case"[object Symbol]":
                        return a.valueOf.call(e) === a.valueOf.call(t)
                }
                var o = "[object Array]" === r;
                if (!o) {
                    if ("object" != typeof e || "object" != typeof t) return !1;
                    var s = e.constructor, l = t.constructor;
                    if (s !== l && !(v.isFunction(s) && s instanceof s && v.isFunction(l) && l instanceof l) && "constructor" in e && "constructor" in t) return !1
                }
                i = i || [], n = n || [];
                for (var c = i.length; c--;) if (i[c] === e) return n[c] === t;
                if (i.push(e), n.push(t), o) {
                    if ((c = e.length) !== t.length) return !1;
                    for (; c--;) if (!K(e[c], t[c], i, n)) return !1
                } else {
                    var d, h = v.keys(e);
                    if (c = h.length, v.keys(t).length !== c) return !1;
                    for (; c--;) if (d = h[c], !x(t, d) || !K(e[d], t[d], i, n)) return !1
                }
                return i.pop(), n.pop(), !0
            }, v.isEqual = function (e, t) {
                return K(e, t)
            }, v.isEmpty = function (e) {
                return null == e || (E(e) && (v.isArray(e) || v.isString(e) || v.isArguments(e)) ? 0 === e.length : 0 === v.keys(e).length)
            }, v.isElement = function (e) {
                return !(!e || 1 !== e.nodeType)
            }, v.isArray = h || function (e) {
                return "[object Array]" === u.call(e)
            }, v.isObject = function (e) {
                var t = typeof e;
                return "function" === t || "object" === t && !!e
            }, v.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error", "Symbol", "Map", "WeakMap", "Set", "WeakSet"], function (e) {
                v["is" + e] = function (t) {
                    return u.call(t) === "[object " + e + "]"
                }
            }), v.isArguments(arguments) || (v.isArguments = function (e) {
                return x(e, "callee")
            });
            var Y = n.document && n.document.childNodes;
            "function" != typeof/./ && "object" != typeof Int8Array && "function" != typeof Y && (v.isFunction = function (e) {
                return "function" == typeof e || !1
            }), v.isFinite = function (e) {
                return !v.isSymbol(e) && isFinite(e) && !isNaN(parseFloat(e))
            }, v.isNaN = function (e) {
                return v.isNumber(e) && isNaN(e)
            }, v.isBoolean = function (e) {
                return !0 === e || !1 === e || "[object Boolean]" === u.call(e)
            }, v.isNull = function (e) {
                return null === e
            }, v.isUndefined = function (e) {
                return void 0 === e
            }, v.has = function (e, t) {
                if (!v.isArray(t)) return x(e, t);
                for (var i = t.length, n = 0; n < i; n++) {
                    var r = t[n];
                    if (null == e || !d.call(e, r)) return !1;
                    e = e[r]
                }
                return !!i
            }, v.noConflict = function () {
                return n._ = r, this
            }, v.identity = function (e) {
                return e
            }, v.constant = function (e) {
                return function () {
                    return e
                }
            }, v.noop = function () {
            }, v.property = function (e) {
                return v.isArray(e) ? function (t) {
                    return I(t, e)
                } : b(e)
            }, v.propertyOf = function (e) {
                return null == e ? function () {
                } : function (t) {
                    return v.isArray(t) ? I(e, t) : e[t]
                }
            }, v.matcher = v.matches = function (e) {
                return e = v.extendOwn({}, e), function (t) {
                    return v.isMatch(t, e)
                }
            }, v.times = function (e, t, i) {
                var n = Array(Math.max(0, e));
                t = m(t, i, 1);
                for (var r = 0; r < e; r++) n[r] = t(r);
                return n
            }, v.random = function (e, t) {
                return null == t && (t = e, e = 0), e + Math.floor(Math.random() * (t - e + 1))
            }, v.now = Date.now || function () {
                return (new Date).getTime()
            };
            var G = {"&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "`": "&#x60;"},
                z = v.invert(G), H = function (e) {
                    var t = function (t) {
                        return e[t]
                    }, i = "(?:" + v.keys(e).join("|") + ")", n = RegExp(i), r = RegExp(i, "g");
                    return function (e) {
                        return e = null == e ? "" : "" + e, n.test(e) ? e.replace(r, t) : e
                    }
                };
            v.escape = H(G), v.unescape = H(z), v.result = function (e, t, i) {
                v.isArray(t) || (t = [t]);
                var n = t.length;
                if (!n) return v.isFunction(i) ? i.call(e) : i;
                for (var r = 0; r < n; r++) {
                    var o = null == e ? void 0 : e[t[r]];
                    void 0 === o && (o = i, r = n), e = v.isFunction(o) ? o.call(e) : o
                }
                return e
            };
            var _ = 0;
            v.uniqueId = function (e) {
                var t = ++_ + "";
                return e ? e + t : t
            }, v.templateSettings = {
                evaluate: /<%([\s\S]+?)%>/g,
                interpolate: /<%=([\s\S]+?)%>/g,
                escape: /<%-([\s\S]+?)%>/g
            };
            var q = /(.)^/, W = {"'": "'", "\\": "\\", "\r": "r", "\n": "n", "\u2028": "u2028", "\u2029": "u2029"},
                V = /\\|'|\r|\n|\u2028|\u2029/g, J = function (e) {
                    return "\\" + W[e]
                };
            v.template = function (e, t, i) {
                !t && i && (t = i), t = v.defaults({}, t, v.templateSettings);
                var n,
                    r = RegExp([(t.escape || q).source, (t.interpolate || q).source, (t.evaluate || q).source].join("|") + "|$", "g"),
                    o = 0, s = "__p+='";
                e.replace(r, function (t, i, n, r, a) {
                    return s += e.slice(o, a).replace(V, J), o = a + t.length, i ? s += "'+\n((__t=(" + i + "))==null?'':_.escape(__t))+\n'" : n ? s += "'+\n((__t=(" + n + "))==null?'':__t)+\n'" : r && (s += "';\n" + r + "\n__p+='"), t
                }), s += "';\n", t.variable || (s = "with(obj||{}){\n" + s + "}\n"), s = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + s + "return __p;\n";
                try {
                    n = new Function(t.variable || "obj", "_", s)
                } catch (e) {
                    throw e.source = s, e
                }
                var a = function (e) {
                    return n.call(this, e, v)
                }, l = t.variable || "obj";
                return a.source = "function(" + l + "){\n" + s + "}", a
            }, v.chain = function (e) {
                var t = v(e);
                return t._chain = !0, t
            };
            var Z = function (e, t) {
                return e._chain ? v(t).chain() : t
            };
            v.mixin = function (e) {
                return v.each(v.functions(e), function (t) {
                    var i = v[t] = e[t];
                    v.prototype[t] = function () {
                        var e = [this._wrapped];
                        return l.apply(e, arguments), Z(this, i.apply(v, e))
                    }
                }), v
            }, v.mixin(v), v.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function (e) {
                var t = o[e];
                v.prototype[e] = function () {
                    var i = this._wrapped;
                    return t.apply(i, arguments), "shift" !== e && "splice" !== e || 0 !== i.length || delete i[0], Z(this, i)
                }
            }), v.each(["concat", "join", "slice"], function (e) {
                var t = o[e];
                v.prototype[e] = function () {
                    return Z(this, t.apply(this._wrapped, arguments))
                }
            }), v.prototype.value = function () {
                return this._wrapped
            }, v.prototype.valueOf = v.prototype.toJSON = v.prototype.value, v.prototype.toString = function () {
                return String(this._wrapped)
            }, void 0 === (i = function () {
                return v
            }.apply(t, [])) || (e.exports = i)
        }()
    }).call(this, i(67)(e))
}, , function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(137), o = i(103), s = i(4), a = i(136), l = i(1).default.getLogger("ThunderBirdKey");
    var c;
    !function (e) {
        e[e.ShowUI_Decoding = 0] = "ShowUI_Decoding", e[e.ShowUI_Creating = 1] = "ShowUI_Creating", e[e.ShowUI_DecodeFailed = 2] = "ShowUI_DecodeFailed", e[e.ShowUI_CreateFailed = 3] = "ShowUI_CreateFailed", e[e.ShowUI_CreateSucc = 4] = "ShowUI_CreateSucc", e[e.ShowUI_CreateSuccDis = 5] = "ShowUI_CreateSuccDis"
    }(c = t.ShowType || (t.ShowType = {}));

    class u {
        constructor() {
            this.lastBirdKey = []
        }

        static GetInstance() {
            return u.instance || (u.instance = new u), u.instance
        }

        setLastBirdKey(e) {
            if (e && 0 !== e.length) {
                this.lastBirdKey = [];
                for (let t = 0; t < e.length; t++) this.lastBirdKey.push(e[t])
            }
        }

        getLastBirdKey() {
            return this.lastBirdKey
        }

        isSameBirdKey(e) {
            if (!this.lastBirdKey) return !1;
            if (e.length !== this.lastBirdKey.length) return !1;
            let t = 0;
            for (let i = 0; i < e.length; i++) e[i] === this.lastBirdKey[i] && t++;
            return t === e.length
        }
    }

    function d(e, t, i, n) {
        let o = {url: "/dlj_create", data: {url: e, "Chat-Version": 2, type: i}, method: "post"};
        return "string" == typeof i && (o.data.type = i), t && (o.data.uid = t), "string" == typeof n && (o.data.passwd = n), r.fetchSlRes(o)
    }

    function h(e, t) {
        return d(e, t)
    }

    u.instance = null, t.encodeBirdKey = d, t.setBirdKeyPriority = function (e, t, i = !1) {
        return r.fetchSlRes({url: "/dlj/option", data: {url: e, priority: i, "Chat-Version": 2}, method: "put"})
    }, t.queryBirdKeyInfo = h, t.getUserNameByID = function (e) {
        return r.fetchSlRes({url: "/user_info/pc_info", data: {uid: e}})
    }, t.decodeBirdKey = function (e) {
        return n(this, void 0, void 0, function* () {
            let t = yield s.client.callServerFunction("GetThunderVersion");
            return r.fetchSlRes({
                url: "/dlj/bird_key",
                data: {_h: {"Chat-Version": 2, "Version-Name": t}, key: e.toLowerCase()},
                method: "get"
            })
        })
    }, t.openBirdKeyEncodeDialog = function (e, t) {
        return n(this, void 0, void 0, function* () {
            let i = function (e, t) {
                l.information("弹出生成迅雷口令面板,begin,url=", e), o.MessageBox.custom("BirdKeyShow", {
                    showType: c.ShowUI_Creating,
                    url: e,
                    statData: t
                }, {modal: !1}).catch(e => {
                    l.information("弹出生成迅雷口令面板,error=", e)
                }), l.information("弹出生成迅雷口令面板,end")
            };
            l.information("调用promise IsLogined 函数 Begin");
            let r = yield s.client.callServerFunction("IsLogined");
            l.information("调用promise IsLogined 函数 End, isLogined=", r), r ? i(e, t) : h(e).then(r => n(this, void 0, void 0, function* () {
                if ("object" != typeof r) return Promise.resolve();
                if (!r.data) return Promise.resolve();
                if ("encrypted" === r.data.type) {
                    let n = yield a.default(!1, !0, "birdkey");
                    if (!n || "" === n) return;
                    i(e, t)
                } else i(e, t);
                return Promise.resolve()
            })).catch(e => {
                l.information("调用queryBirdKeyInfo 接口异常 error=", e)
            })
        })
    }, t.openBirdKeyDecodeDialog = function (e, t, i) {
        o.MessageBox.custom("BirdKeyShow", {
            showType: c.ShowUI_Decoding,
            birdkeyChars: e,
            statData: t,
            helperobj: i
        }, {modal: !1}).catch()
    }, t.saveVestUrlToConfig = function (e, t) {
        let i = t ? "vestURL" : "commonUrl";
        s.client.callServerFunction("GetValue", "BirdKeyVest", i, []).then(t => {
            let n = t || [];
            "" !== e && -1 === n.join().indexOf(e) && (n.push(e), s.client.callServerFunction("SetValue", "BirdKeyVest", i, n).catch())
        }).catch()
    }, t.isVestUrl = function (e, t) {
        return n(this, void 0, void 0, function* () {
            let i = yield s.client.callServerFunction("GetValue", "BirdKeyVest", t, []);
            return "" !== e && -1 !== (i || []).join().indexOf(e)
        })
    }, t.getBirdKeyMgr = function () {
        return u.GetInstance()
    }
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(582), r = i(285);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-button.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(585), r = i(291);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-input.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(586), r = i(297);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-text.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(161), r = i.n(n), o = i(104), s = i.n(o), a = /%[sdj%]/g, l = function () {
    };

    function c() {
        for (var e = arguments.length, t = Array(e), i = 0; i < e; i++) t[i] = arguments[i];
        var n = 1, r = t[0], o = t.length;
        if ("function" == typeof r) return r.apply(null, t.slice(1));
        if ("string" == typeof r) {
            for (var s = String(r).replace(a, function (e) {
                if ("%%" === e) return "%";
                if (n >= o) return e;
                switch (e) {
                    case"%s":
                        return String(t[n++]);
                    case"%d":
                        return Number(t[n++]);
                    case"%j":
                        try {
                            return JSON.stringify(t[n++])
                        } catch (e) {
                            return "[Circular]"
                        }
                        break;
                    default:
                        return e
                }
            }), l = t[n]; n < o; l = t[++n]) s += " " + l;
            return s
        }
        return r
    }

    function u(e, t) {
        return void 0 === e || null === e || (!("array" !== t || !Array.isArray(e) || e.length) || !(!function (e) {
            return "string" === e || "url" === e || "hex" === e || "email" === e || "pattern" === e
        }(t) || "string" != typeof e || e))
    }

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

    function h(e, t, i, n) {
        if (t.first) return d(function (e) {
            var t = [];
            return Object.keys(e).forEach(function (i) {
                t.push.apply(t, e[i])
            }), t
        }(e), i, n);
        var r = t.firstFields || [];
        !0 === r && (r = Object.keys(e));
        var o = Object.keys(e), s = o.length, a = 0, l = [], c = function (e) {
            l.push.apply(l, e), ++a === s && n(l)
        };
        o.forEach(function (t) {
            var n = e[t];
            -1 !== r.indexOf(t) ? d(n, i, c) : function (e, t, i) {
                var n = [], r = 0, o = e.length;

                function s(e) {
                    n.push.apply(n, e), ++r === o && i(n)
                }

                e.forEach(function (e) {
                    t(e, s)
                })
            }(n, i, c)
        })
    }

    function p(e) {
        return function (t) {
            return t && t.message ? (t.field = t.field || e.fullField, t) : {message: t, field: t.field || e.fullField}
        }
    }

    function f(e, t) {
        if (t) for (var i in t) if (t.hasOwnProperty(i)) {
            var n = t[i];
            "object" === (void 0 === n ? "undefined" : s()(n)) && "object" === s()(e[i]) ? e[i] = r()({}, e[i], n) : e[i] = n
        }
        return e
    }

    var A = function (e, t, i, n, r, o) {
        !e.required || i.hasOwnProperty(e.field) && !u(t, o || e.type) || n.push(c(r.messages.required, e.fullField))
    };
    var v = function (e, t, i, n, r) {
        (/^\s+$/.test(t) || "" === t) && n.push(c(r.messages.whitespace, e.fullField))
    }, g = {
        email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
        url: new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$", "i"),
        hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
    }, m = {
        integer: function (e) {
            return m.number(e) && parseInt(e, 10) === e
        }, float: function (e) {
            return m.number(e) && !m.integer(e)
        }, array: function (e) {
            return Array.isArray(e)
        }, regexp: function (e) {
            if (e instanceof RegExp) return !0;
            try {
                return !!new RegExp(e)
            } catch (e) {
                return !1
            }
        }, date: function (e) {
            return "function" == typeof e.getTime && "function" == typeof e.getMonth && "function" == typeof e.getYear
        }, number: function (e) {
            return !isNaN(e) && "number" == typeof e
        }, object: function (e) {
            return "object" === (void 0 === e ? "undefined" : s()(e)) && !m.array(e)
        }, method: function (e) {
            return "function" == typeof e
        }, email: function (e) {
            return "string" == typeof e && !!e.match(g.email) && e.length < 255
        }, url: function (e) {
            return "string" == typeof e && !!e.match(g.url)
        }, hex: function (e) {
            return "string" == typeof e && !!e.match(g.hex)
        }
    };
    var y = "enum";
    var w = {
        required: A, whitespace: v, type: function (e, t, i, n, r) {
            if (e.required && void 0 === t) A(e, t, i, n, r); else {
                var o = e.type;
                ["integer", "float", "array", "regexp", "object", "method", "email", "number", "date", "url", "hex"].indexOf(o) > -1 ? m[o](t) || n.push(c(r.messages.types[o], e.fullField, e.type)) : o && (void 0 === t ? "undefined" : s()(t)) !== e.type && n.push(c(r.messages.types[o], e.fullField, e.type))
            }
        }, range: function (e, t, i, n, r) {
            var o = "number" == typeof e.len, s = "number" == typeof e.min, a = "number" == typeof e.max, l = t,
                u = null, d = "number" == typeof t, h = "string" == typeof t, p = Array.isArray(t);
            if (d ? u = "number" : h ? u = "string" : p && (u = "array"), !u) return !1;
            p && (l = t.length), h && (l = t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "_").length), o ? l !== e.len && n.push(c(r.messages[u].len, e.fullField, e.len)) : s && !a && l < e.min ? n.push(c(r.messages[u].min, e.fullField, e.min)) : a && !s && l > e.max ? n.push(c(r.messages[u].max, e.fullField, e.max)) : s && a && (l < e.min || l > e.max) && n.push(c(r.messages[u].range, e.fullField, e.min, e.max))
        }, enum: function (e, t, i, n, r) {
            e[y] = Array.isArray(e[y]) ? e[y] : [], -1 === e[y].indexOf(t) && n.push(c(r.messages[y], e.fullField, e[y].join(", ")))
        }, pattern: function (e, t, i, n, r) {
            e.pattern && (e.pattern instanceof RegExp ? (e.pattern.lastIndex = 0, e.pattern.test(t) || n.push(c(r.messages.pattern.mismatch, e.fullField, t, e.pattern))) : "string" == typeof e.pattern && (new RegExp(e.pattern).test(t) || n.push(c(r.messages.pattern.mismatch, e.fullField, t, e.pattern))))
        }
    };
    var C = "enum";
    var b = function (e, t, i, n, r) {
        var o = e.type, s = [];
        if (e.required || !e.required && n.hasOwnProperty(e.field)) {
            if (u(t, o) && !e.required) return i();
            w.required(e, t, n, s, r, o), u(t, o) || w.type(e, t, n, s, r)
        }
        i(s)
    }, x = {
        string: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t, "string") && !e.required) return i();
                w.required(e, t, n, o, r, "string"), u(t, "string") || (w.type(e, t, n, o, r), w.range(e, t, n, o, r), w.pattern(e, t, n, o, r), !0 === e.whitespace && w.whitespace(e, t, n, o, r))
            }
            i(o)
        }, method: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return i();
                w.required(e, t, n, o, r), void 0 !== t && w.type(e, t, n, o, r)
            }
            i(o)
        }, number: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return i();
                w.required(e, t, n, o, r), void 0 !== t && (w.type(e, t, n, o, r), w.range(e, t, n, o, r))
            }
            i(o)
        }, boolean: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return i();
                w.required(e, t, n, o, r), void 0 !== t && w.type(e, t, n, o, r)
            }
            i(o)
        }, regexp: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return i();
                w.required(e, t, n, o, r), u(t) || w.type(e, t, n, o, r)
            }
            i(o)
        }, integer: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return i();
                w.required(e, t, n, o, r), void 0 !== t && (w.type(e, t, n, o, r), w.range(e, t, n, o, r))
            }
            i(o)
        }, float: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return i();
                w.required(e, t, n, o, r), void 0 !== t && (w.type(e, t, n, o, r), w.range(e, t, n, o, r))
            }
            i(o)
        }, array: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t, "array") && !e.required) return i();
                w.required(e, t, n, o, r, "array"), u(t, "array") || (w.type(e, t, n, o, r), w.range(e, t, n, o, r))
            }
            i(o)
        }, object: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return i();
                w.required(e, t, n, o, r), void 0 !== t && w.type(e, t, n, o, r)
            }
            i(o)
        }, enum: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return i();
                w.required(e, t, n, o, r), t && w[C](e, t, n, o, r)
            }
            i(o)
        }, pattern: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t, "string") && !e.required) return i();
                w.required(e, t, n, o, r), u(t, "string") || w.pattern(e, t, n, o, r)
            }
            i(o)
        }, date: function (e, t, i, n, r) {
            var o = [];
            if (e.required || !e.required && n.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return i();
                if (w.required(e, t, n, o, r), !u(t)) {
                    var s = void 0;
                    s = "number" == typeof t ? new Date(t) : t, w.type(e, s, n, o, r), s && w.range(e, s.getTime(), n, o, r)
                }
            }
            i(o)
        }, url: b, hex: b, email: b, required: function (e, t, i, n, r) {
            var o = [], a = Array.isArray(t) ? "array" : void 0 === t ? "undefined" : s()(t);
            w.required(e, t, n, o, r, a), i(o)
        }
    };

    function I() {
        return {
            default: "Validation error on field %s",
            required: "%s is required",
            enum: "%s must be one of %s",
            whitespace: "%s cannot be empty",
            date: {
                format: "%s date %s is invalid for format %s",
                parse: "%s date could not be parsed, %s is invalid ",
                invalid: "%s date %s is invalid"
            },
            types: {
                string: "%s is not a %s",
                method: "%s is not a %s (function)",
                array: "%s is not an %s",
                object: "%s is not an %s",
                number: "%s is not a %s",
                date: "%s is not a %s",
                boolean: "%s is not a %s",
                integer: "%s is not an %s",
                float: "%s is not a %s",
                regexp: "%s is not a valid %s",
                email: "%s is not a valid %s",
                url: "%s is not a valid %s",
                hex: "%s is not a valid %s"
            },
            string: {
                len: "%s must be exactly %s characters",
                min: "%s must be at least %s characters",
                max: "%s cannot be longer than %s characters",
                range: "%s must be between %s and %s characters"
            },
            number: {
                len: "%s must equal %s",
                min: "%s cannot be less than %s",
                max: "%s cannot be greater than %s",
                range: "%s must be between %s and %s"
            },
            array: {
                len: "%s must be exactly %s in length",
                min: "%s cannot be less than %s in length",
                max: "%s cannot be greater than %s in length",
                range: "%s must be between %s and %s in length"
            },
            pattern: {mismatch: "%s value %s does not match pattern %s"},
            clone: function () {
                var e = JSON.parse(JSON.stringify(this));
                return e.clone = this.clone, e
            }
        }
    }

    var k = I();

    function S(e) {
        this.rules = null, this._messages = k, this.define(e)
    }

    S.prototype = {
        messages: function (e) {
            return e && (this._messages = f(I(), e)), this._messages
        }, define: function (e) {
            if (!e) throw new Error("Cannot configure a schema with no rules");
            if ("object" !== (void 0 === e ? "undefined" : s()(e)) || Array.isArray(e)) throw new Error("Rules must be an object");
            this.rules = {};
            var t = void 0, i = void 0;
            for (t in e) e.hasOwnProperty(t) && (i = e[t], this.rules[t] = Array.isArray(i) ? i : [i])
        }, validate: function (e) {
            var t = this, i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = arguments[2],
                o = e, a = i, u = n;
            if ("function" == typeof a && (u = a, a = {}), this.rules && 0 !== Object.keys(this.rules).length) {
                if (a.messages) {
                    var d = this.messages();
                    d === k && (d = I()), f(d, a.messages), a.messages = d
                } else a.messages = this.messages();
                var A = void 0, v = void 0, g = {};
                (a.keys || Object.keys(this.rules)).forEach(function (i) {
                    A = t.rules[i], v = o[i], A.forEach(function (n) {
                        var s = n;
                        "function" == typeof s.transform && (o === e && (o = r()({}, o)), v = o[i] = s.transform(v)), (s = "function" == typeof s ? {validator: s} : r()({}, s)).validator = t.getValidationMethod(s), s.field = i, s.fullField = s.fullField || i, s.type = t.getType(s), s.validator && (g[i] = g[i] || [], g[i].push({
                            rule: s,
                            value: v,
                            source: o,
                            field: i
                        }))
                    })
                });
                var m = {};
                h(g, a, function (e, t) {
                    var i = e.rule,
                        n = !("object" !== i.type && "array" !== i.type || "object" !== s()(i.fields) && "object" !== s()(i.defaultField));

                    function o(e, t) {
                        return r()({}, t, {fullField: i.fullField + "." + e})
                    }

                    function u() {
                        var s = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];
                        if (Array.isArray(s) || (s = [s]), s.length && l("async-validator:", s), s.length && i.message && (s = [].concat(i.message)), s = s.map(p(i)), a.first && s.length) return m[i.field] = 1, t(s);
                        if (n) {
                            if (i.required && !e.value) return s = i.message ? [].concat(i.message).map(p(i)) : a.error ? [a.error(i, c(a.messages.required, i.field))] : [], t(s);
                            var u = {};
                            if (i.defaultField) for (var d in e.value) e.value.hasOwnProperty(d) && (u[d] = i.defaultField);
                            for (var h in u = r()({}, u, e.rule.fields)) if (u.hasOwnProperty(h)) {
                                var f = Array.isArray(u[h]) ? u[h] : [u[h]];
                                u[h] = f.map(o.bind(null, h))
                            }
                            var A = new S(u);
                            A.messages(a.messages), e.rule.options && (e.rule.options.messages = a.messages, e.rule.options.error = a.error), A.validate(e.value, e.rule.options || a, function (e) {
                                t(e && e.length ? s.concat(e) : e)
                            })
                        } else t(s)
                    }

                    n = n && (i.required || !i.required && e.value), i.field = e.field;
                    var d = i.validator(i, e.value, u, e.source, a);
                    d && d.then && d.then(function () {
                        return u()
                    }, function (e) {
                        return u(e)
                    })
                }, function (e) {
                    !function (e) {
                        var t, i = void 0, n = void 0, r = [], o = {};
                        for (i = 0; i < e.length; i++) t = e[i], Array.isArray(t) ? r = r.concat.apply(r, t) : r.push(t);
                        if (r.length) for (i = 0; i < r.length; i++) o[n = r[i].field] = o[n] || [], o[n].push(r[i]); else r = null, o = null;
                        u(r, o)
                    }(e)
                })
            } else u && u()
        }, getType: function (e) {
            if (void 0 === e.type && e.pattern instanceof RegExp && (e.type = "pattern"), "function" != typeof e.validator && e.type && !x.hasOwnProperty(e.type)) throw new Error(c("Unknown rule type %s", e.type));
            return e.type || "string"
        }, getValidationMethod: function (e) {
            if ("function" == typeof e.validator) return e.validator;
            var t = Object.keys(e), i = t.indexOf("message");
            return -1 !== i && t.splice(i, 1), 1 === t.length && "required" === t[0] ? x.required : x[this.getType(e)] || !1
        }
    }, S.register = function (e, t) {
        if ("function" != typeof t) throw new Error("Cannot register a validator by type, validator is not a function");
        x[e] = t
    }, S.messages = k;
    t.default = S
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(272), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(5), s = i(103), a = i(34);
    let l = class extends o.Vue {
        constructor() {
            super(...arguments), this.popType = "", this.options = {
                title: "",
                type: s.MessageBox.ConfirmType.Info
            }, this.boxId = a.parse(location.href, !0).query.boxId, this.messageboxInitReplyListener = null
        }

        created() {
            this.messageboxInitReplyListener = ((e, t) => {
                this.messageboxInitReplyListener = null, this.popType = t.popType, this.options = t.options
            }), r.ipcRenderer.once("message-box-init-reply", this.messageboxInitReplyListener), r.ipcRenderer.send(`message-box-init-${this.boxId}`)
        }

        destroyed() {
            this.messageboxInitReplyListener && (r.ipcRenderer.removeListener("message-box-init-reply", this.messageboxInitReplyListener), this.messageboxInitReplyListener = null)
        }
    };
    l = n([o.Component({
        components: {
            About: () => Promise.resolve().then(() => i(690)),
            Confirm: () => Promise.resolve().then(() => i(691)),
            MessageBox: () => Promise.resolve().then(() => i(692)),
            PlanTask: () => Promise.resolve().then(() => i(708)),
            TaskRename: () => Promise.resolve().then(() => i(709)),
            BtRepeatTask: () => Promise.resolve().then(() => i(710)),
            BtRepeatFile: () => Promise.resolve().then(() => i(711)),
            PrivateSpaceSetPassword: () => Promise.resolve().then(() => i(712)),
            PrivateSpaceVerifyPassword: () => Promise.resolve().then(() => i(713)),
            PrivateSpacePhoneVerify: () => Promise.resolve().then(() => i(714)),
            PrivateSpaceDownloadSetting: () => Promise.resolve().then(() => i(716)),
            PrivateSpaceTaskManager: () => Promise.resolve().then(() => i(718)),
            MultiRepeatTask: () => Promise.resolve().then(() => i(719)),
            BatchNewTaskCtrl: () => Promise.resolve().then(() => i(720)),
            BookMarks: () => Promise.resolve().then(() => i(721)),
            BookList: () => Promise.resolve().then(() => i(722)),
            SubtitleTaskFilelist: () => Promise.resolve().then(() => i(723)),
            SubtitleSearch: () => Promise.resolve().then(() => i(724)),
            BrowserConfigGuide: () => Promise.resolve().then(() => i(725)),
            XmpFixBox: () => Promise.resolve().then(() => i(726)),
            XmpFixBoxEx: () => Promise.resolve().then(() => i(727)),
            BirdKeyShow: () => Promise.resolve().then(() => i(728)),
            TotalTabs: () => Promise.resolve().then(() => i(730)),
            Individuation: () => Promise.resolve().then(() => i(733)),
            AddProxy: () => Promise.resolve().then(() => i(747)),
            BridKeyPwdcheck: () => Promise.resolve().then(() => i(748)),
            ShouleiQRCode: () => Promise.resolve().then(() => i(750)),
            DownloadData: () => Promise.resolve().then(() => i(751)),
            DownloadDetectTools: () => Promise.resolve().then(() => i(752)),
            CustomTaskFilter: () => Promise.resolve().then(() => i(766)),
            CreateBigFile: () => Promise.resolve().then(() => i(767)),
            ImgDlg: () => Promise.resolve().then(() => i(770)),
            CopyLinkShare: () => Promise.resolve().then(() => i(772)),
            Favorites: () => Promise.resolve().then(() => i(776)),
            HttpAuthLogin: () => Promise.resolve().then(() => i(778)),
            ShouleiSyncGuide: () => Promise.resolve().then(() => i(780)),
            ShouleiFileTransfer: () => Promise.resolve().then(() => i(786)),
            CustomDownloadMode: () => Promise.resolve().then(() => i(789)),
            ImgViewer: () => Promise.resolve().then(() => i(790))
        }
    })], l), t.default = l
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(274), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(32), l = i(2), c = i(9), u = i(13), d = i(4);
    let h = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.thunderVersion = "", this.downloadSDKVersion = "", this.xdasVersion = "", this.electronVersion = "", this.chromiumVersion = "", this.nodeVersion = "", this.v8Version = "", this.year = 2020, this.expandClass = ""
        }

        handleCancel(e) {
            window.close()
        }

        handleExpand() {
            "" === this.expandClass ? this.expandClass = "is-more" : this.expandClass = "", this.$nextTick(() => {
                this.resizeToFitContent(450, this.expandClass ? 457 : 299)
            })
        }

        handleHomePage() {
            return r(this, void 0, void 0, function* () {
                yield d.client.callServerFunction("OpenNewTab", "http://www.xunlei.com"), window.close()
            })
        }

        checkUpdate() {
            c.default(l.join(__rootDir, "../bin/ThunderHelper.node")).startManualUpdateWithUI()
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                const e = c.default(l.join(__rootDir, "../bin/ThunderHelper.node"));
                let t = l.join(__rootDir, "../../Thunder.exe");
                this.thunderVersion = e.getFileVersion(t);
                let i = yield u.FileSystemAWNS.lstatAW(t);
                this.year = i.birthtime.getFullYear();
                let n = l.join(__rootDir, "../bin/SDK/DownloadSDK.dll");
                this.downloadSDKVersion = e.getFileVersion(n);
                let r = l.join(__rootDir, "../../XDASKernel.dll");
                this.xdasVersion = e.getFileVersion(r), this.electronVersion = process.versions.electron, this.chromiumVersion = process.versions.chrome, this.nodeVersion = process.versions.node, this.v8Version = process.versions.v8
            })
        }
    };
    n([s.Prop()], h.prototype, "options", void 0), h = n([s.Component], h), t.default = h
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(276), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(31), s = i(5), a = i(32), l = i(30);
    let c = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.action = l.MessageBoxNS.Action, this.icon = {
                info: "question",
                warning: "warning",
                error: "error",
                success: "success"
            }
        }

        handleInput(e) {
            this.$emit("update:options", Object.assign({}, this.options, {checkboxChecked: e}))
        }

        handleOK() {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK, this.options.checkboxChecked), window.close()
        }

        handleCancel(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, e), window.close()
        }

        handleKeyDown(e) {
            13 === e.keyCode && this.handleOK()
        }

        mounted() {
            document.addEventListener("keydown", this.handleKeyDown)
        }

        destroyed() {
            document.removeEventListener("keydown", this.handleKeyDown)
        }
    };
    n([s.Prop()], c.prototype, "options", void 0), n([s.Prop()], c.prototype, "boxId", void 0), c = n([s.Component({props: {options: Object}})], c), t.default = c
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(278), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(31), s = i(5), a = i(693), l = i(30), c = i(32);
    let u = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.action = l.MessageBoxNS.Action
        }

        get customClass() {
            let e = "";
            do {
                if (!this.options) break;
                e = this.options.size ? [`xlx-dialog--${this.options.size}`, "xlx-dialog-setting"] : "xlx-dialog-setting"
            } while (0);
            return e
        }

        handleInput(e, t) {
            let i = null, n = JSON.stringify(this.formData);
            try {
                i = JSON.parse(n)
            } catch (e) {
            }
            null !== i && (Array.isArray(e) ? i[t] = e : i[t].value = e, this.$emit("update:formData", i))
        }

        handleOK() {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, this.action.OK, this.formData), window.close()
        }

        handleCancel(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, e), window.close()
        }

        get comfirmButtonActive() {
            if (void 0 === this.formData) return !0;
            if (void 0 === this.formData.maxDownloadSpeedEnabled) return !0;
            let e = this.formData.maxDownloadSpeedEnabled.value, t = this.formData.maxUploadSpeedEnabled.value;
            return e || t
        }

        mounted() {
            r.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Close)
            })
        }
    };
    n([s.Prop()], u.prototype, "options", void 0), n([s.Prop()], u.prototype, "formData", void 0), n([s.Prop()], u.prototype, "boxId", void 0), u = n([s.Component({components: {GeneratorView: a.default}})], u), t.default = u
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(280), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(694), o = i(701), s = i(166), a = i(205), l = i(703), c = i(704), u = i(204), d = i(705), h = i(605),
        p = i(203), f = i(706), A = i(5);
    let v = class extends A.Vue {
        handleInput(e, t = "") {
            "" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t)
        }
    };
    n([A.Prop({})], v.prototype, "item", void 0), n([A.Prop({})], v.prototype, "formData", void 0), n([A.Prop()], v.prototype, "value", void 0), v = n([A.Component({
        components: {
            confCheckbox: r.default,
            confRadio: o.default,
            confSelect: s.default,
            confText: a.default,
            confCheckboxInput: l.default,
            confCheckboxSelect: c.default,
            confInput: u.default,
            confSpeedText: h.default,
            confTextarea: d.default,
            confBtn: p.default,
            confProxyList: f.default
        }
    })], v), t.default = v
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(282), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(127), a = i(198), l = i(203), c = i(166), u = i(204), d = i(699), h = i(700), p = i(205);
    let f = class extends o.Vue {
        handleInput(e, t = "") {
            return r(this, void 0, void 0, function* () {
                if ("" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t), void 0 !== this.item.linkItem && e) {
                    let t = yield s.ConfigHelperNS.getValue(this.formData[this.item.linkItem.name].section, this.formData[this.item.linkItem.name].key, "");
                    "" !== e && this.$emit("input", t, this.item.linkItem.name)
                }
            })
        }
    };
    n([o.Prop({})], f.prototype, "item", void 0), n([o.Prop({})], f.prototype, "formData", void 0), n([o.Prop()], f.prototype, "value", void 0), n([o.Prop()], f.prototype, "label", void 0), f = n([o.Component({
        components: {
            confTip: a.default,
            confBtn: l.default,
            confSelect: c.default,
            confInput: u.default,
            confSpeed: d.default,
            confSpeedTime: h.default,
            confText: p.default
        }
    })], f), t.default = f
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(284), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(5);
    let o = class extends r.Vue {
    };
    n([r.Prop()], o.prototype, "classes", void 0), n([r.Prop()], o.prototype, "text", void 0), o = n([r.Component({})], o), t.default = o
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(286), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(127), a = i(103), l = i(30), c = i(11), u = i(38), d = i(198), h = i(605);
    let p = class extends o.Vue {
        popDialog(e) {
            switch (e.boxType) {
                case"speedConfBox":
                    u.NativeCallModule.nativeCall.CallNativeFunction("ShowCustomDownloadModeDlg", () => {
                    });
                    break;
                case"browserGuideConfBox":
                    u.NativeCallModule.nativeCall.CallNativeFunction("ShowBrowserGuideDlg", () => {
                    });
                    break;
                case"function":
                    e.handle();
                    break;
                case"pop":
                    this.messagePop(e)
            }
        }

        messagePop(e) {
            return r(this, void 0, void 0, function* () {
                let t = c.ThunderUtil.deepCopy(e.pop.formData);
                for (let i in t) t[i].value = yield s.ConfigHelperNS.getValue(e.pop.formData[i].section, e.pop.formData[i].key, e.pop.formData[i].value);
                a.MessageBox.pop({
                    title: e.pop.title,
                    size: e.pop.size,
                    schemas: e.pop.schema,
                    formData: t
                }, e.pop.dialogOption).then(e => {
                    if (e.action === l.MessageBoxNS.Action.OK) for (let t in e.formData) s.ConfigHelperNS.setValue(e.formData[t].section, e.formData[t].key, e.formData[t].value)
                }).catch()
            })
        }
    };
    n([o.Prop({})], p.prototype, "item", void 0), n([o.Prop()], p.prototype, "classes", void 0), n([o.Prop()], p.prototype, "text", void 0), n([o.Prop()], p.prototype, "disabled", void 0), n([o.Prop({})], p.prototype, "formData", void 0), p = n([o.Component({
        components: {
            confTip: d.default,
            confSpeedText: h.default
        }
    })], p), t.default = p
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(288), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(127);
    let a = class extends o.Vue {
        constructor() {
            super(...arguments), this.maxDownloadSpeed = "", this.maxUploadSpeed = ""
        }

        onFormDataChange(e) {
            this.updateMaxDownloadSpeed(), this.updateMaxUploadSpeed()
        }

        standardNumber(e) {
            let t = parseInt(e + "", 10);
            return t > 9 ? t + "" : "0" + t
        }

        updateMaxDownloadSpeed() {
            return r(this, void 0, void 0, function* () {
                let e = "不限速";
                this.formData["ConfigNet-ConfigNet_Custom_DownloadSpeedChk"].value && (e = (yield s.ConfigHelperNS.getValue("ConfigNet", "ConfigNet_Custom_MaxDownloadSpeedTmp", 1024)) + "KB/S"), this.maxDownloadSpeed = e
            })
        }

        updateMaxUploadSpeed() {
            return r(this, void 0, void 0, function* () {
                let e = "不限速";
                this.formData["ConfigNet-ConfigNet_Custom_UploadSpeedChk"].value && (e = (yield s.ConfigHelperNS.getValue("ConfigNet", "ConfigNet_Custom_MaxUploadSpeedTmp", 1024)) + "KB/S"), this.maxUploadSpeed = e
            })
        }
    };
    n([o.Prop({})], a.prototype, "item", void 0), n([o.Prop({})], a.prototype, "formData", void 0), n([o.Watch("formData", {
        immediate: !0,
        deep: !0
    })], a.prototype, "onFormDataChange", null), a = n([o.Component], a), t.default = a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(290), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(7), a = i(206), l = i(102), c = i(695), u = i(1).default.getLogger("conf-select");
    let d = class extends o.Vue {
        constructor() {
            super(...arguments), this.schema = null, this.tooltipVisible = !1, this.tipContent = "", this.dyNamicOptions = [], this.valueData = ""
        }

        onFormDataChange(e) {
            this.item.updateByDataChange && e && e[this.name] && (this.valueData = e[this.name].value)
        }

        handleInput(e) {
            if (void 0 !== this.item.hasDeleteOption && e === this.item.deleteOptionText) return this.$emit("input", [], this.item.optionByName), void("openThunderPan" === this.item.slotOption && c.server.callClientFunctionByName("ThunderPanPluginWebview", "IpcClearRecentFolder"));
            this.tooltipVisible || this.item.blurUpdate || this.$emit("input", e, this.item.name), this.valueData = e
        }

        handleOutFocus() {
            this.item.blurUpdate && !this.tooltipVisible && this.$emit("input", this.valueData, this.item.name)
        }

        selectPath() {
            return r(this, void 0, void 0, function* () {
                (yield s.asyncRemoteCall.getDialog()).showOpenDialog({
                    defaultPath: this.valueData,
                    properties: [this.fileType]
                }, e => {
                    void 0 !== e && (void 0 !== this.name ? this.$emit("input", e[0], this.name) : this.$emit("input", e[0], this.item.name), this.valueData = e[0])
                })
            })
        }

        get optionList() {
            if (this.item.optionByName && this.formData[this.item.optionByName] && this.formData[this.item.optionByName].value) {
                let e = this.formData[this.item.optionByName].value,
                    t = [...e].reverse().slice(0, this.item.maxOptionLen || e.length);
                return this.item.deleteOptionText && t.push(this.item.deleteOptionText), t
            }
            return this.options
        }

        get fileType() {
            return this.item.slotOption
        }

        get rules() {
            let e;
            do {
                if (!this.item.rules) break;
                e = this.item.rules.map(e => Array.isArray(e) ? new Function(e[0], e[1]) : e)
            } while (0);
            return e
        }

        handleChangePath(e) {
            return r(this, void 0, void 0, function* () {
                let t = "openDirectory";
                if ("openFile" === e ? t = "openFile" : "openThunderPan" === e && (t = "openThunderPan"), "openFile" === t || "openDirectory" === t) {
                    const e = yield s.asyncRemoteCall.getDialog();
                    let i = yield s.asyncRemoteCall.getCurrentWindow();
                    e.showOpenDialog(i, {defaultPath: this.valueData, properties: [t]}, e => {
                        void 0 !== e && (void 0 !== this.name ? this.$emit("input", e[0], this.name) : this.$emit("input", e[0], this.item.name), this.valueData = e[0]), this.$refs.root.focusEdit()
                    })
                } else if ("openThunderPan" === t) {
                    let e = yield c.server.callClientFunctionByName("ThunderPanPluginWebview", "IpcTreePath", {});
                    if (!e || !e[0] || e[0].error) return;
                    let t = "", i = "";
                    for (let n of e[0].path) t += "\\" + n.title, i += "\\" + n.id;
                    i = i.slice(1), t = t.slice(1), void 0 !== this.name ? this.$emit("input", t, this.name) : this.$emit("input", t, this.item.name), this.valueData = t, c.server.callClientFunctionByName("ThunderPanPluginWebview", "IpcSetDefaultSavePath", {
                        id: i,
                        name: t
                    })
                }
            })
        }

        validate(e) {
            u.information("value....", e), this.handleInput(e), void 0 !== this.item.hasDeleteOption && e === this.item.deleteOptionText || this.item.rules && this.schema.validate({[this.item.name]: e}, (e, t) => {
                u.information("errors", e), null === e ? this.tooltipVisible = !1 : (u.information("路径有误", e), this.tipContent = e[0].message, this.tooltipVisible = !0)
            })
        }

        created() {
            this.item.rules && (this.schema = new a.default({[this.item.name]: this.rules})), void 0 !== this.value ? this.valueData = this.value.value.toString() : this.valueData = this.formData[this.item.name].value.toString()
        }
    };
    n([o.Prop({})], d.prototype, "item", void 0), n([o.Prop()], d.prototype, "label", void 0), n([o.Prop({})], d.prototype, "formData", void 0), n([o.Prop()], d.prototype, "options", void 0), n([o.Prop()], d.prototype, "value", void 0), n([o.Prop()], d.prototype, "disabled", void 0), n([o.Prop()], d.prototype, "classes", void 0), n([o.Prop()], d.prototype, "name", void 0), n([o.Prop()], d.prototype, "placeHolder", void 0), n([o.Watch("formData", {deep: !0})], d.prototype, "onFormDataChange", null), d = n([o.Component({components: {SelectNative: l.default}})], d), t.default = d
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(292), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(206), o = i(5), s = i(203);
    let a = class extends o.Vue {
        constructor() {
            super(...arguments), this.shortcutKey = "", this.funKey = !0, this.valueData = " ", this.canRegister = !1, this.schema = null, this.tooltip = "", this.tooltipVisible = !1
        }

        get rules() {
            let e;
            do {
                if (!this.item.rules) break;
                e = this.item.rules.map(e => Array.isArray(e) ? new Function(e[0], e[1]) : e)
            } while (0);
            return e
        }

        handleInput(e) {
            this.valueData = e, this.$emit("input", e, this.name)
        }

        handleChange(e) {
            let t = e.target;
            this.valueData = t.value, void 0 !== this.item.ShortcutKey && this.canRegister ? this.$emit("input", t.value, this.name) : void 0 === this.item.ShortcutKey && this.$emit("input", t.value, this.name)
        }

        handleKeyDown(e) {
            if (void 0 !== this.item.ShortcutKey) {
                let t = /Digit\d/.test(e.code) || e.keyCode >= 65 && e.keyCode <= 90;
                if (this.shortcutKey = "", this.funKey = !1, this.canRegister = !1, this.valueData = "", "Backspace" === e.key) return this.valueData = "无", void this.$emit("input", "", this.name);
                e.altKey && (this.shortcutKey = "Alt+"), e.ctrlKey && (this.shortcutKey = "" === this.shortcutKey ? "Crtl+" : `${this.shortcutKey}Crtl+`), e.shiftKey && (this.shortcutKey = "" === this.shortcutKey ? "Shift+" : `${this.shortcutKey}Shift+`);
                let i = "Alt" === e.key || "Shift" === e.key || "Control" === e.key ? "" : t ? e.code[e.code.length - 1] : e.key;
                this.valueData = this.shortcutKey + i, "" !== i && (this.funKey = !0), this.shortcutKey + i !== i && "" !== i && (this.canRegister = !0, this.valueData = this.shortcutKey + i, this.$emit("input", this.valueData, this.name))
            }
        }

        handleKeyup() {
            this.funKey || void 0 === this.item.ShortcutKey || (this.valueData = "无", this.$emit("input", "", this.name))
        }

        mounted() {
            this.valueData = this.value.value
        }

        validate(e) {
            this.item.rules && this.schema.validate({[this.item.name]: e}, (e, t) => {
                this.tooltipVisible = null !== e
            })
        }

        outFocus() {
            this.tooltipVisible = !1
        }

        created() {
            this.item.rules && (this.schema = new r.default({[this.item.name]: this.rules}))
        }
    };
    n([o.Prop()], a.prototype, "item", void 0), n([o.Prop({})], a.prototype, "formData", void 0), n([o.Prop()], a.prototype, "disabled", void 0), n([o.Prop()], a.prototype, "value", void 0), n([o.Prop()], a.prototype, "name", void 0), n([o.Prop()], a.prototype, "label", void 0), a = n([o.Component({components: {confBtn: s.default}})], a), t.default = a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(294), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(206), o = i(5);
    let s = class extends o.Vue {
        constructor() {
            super(...arguments), this.schema = null, this.tooltip = "", this.tooltipVisible = !1, this.timeout = null
        }

        get rules() {
            return (this.item.rules || []).map(e => Array.isArray(e) ? new Function(e[0], e[1]) : e)
        }

        get doEmit() {
            return this.item.doEmit ? new Function(this.item.doEmit[0], this.item.doEmit[1]) : null
        }

        get doBlur() {
            return this.item.doBlur ? new Function(this.item.doBlur[0], this.item.doBlur[1]) : null
        }

        get sliderValue() {
            let e;
            return e = "number" == typeof this.value ? this.value : "object" == typeof this.value ? Number(this.value.value) : Number(this.value), this.item.scales && this.item.scales.length ? Math.min(Math.max(this.item.scales[0], e), this.item.scales[this.item.scales.length - 1]) : e
        }

        handleSliderUpdate(e) {
            this.handleInput(e.toString())
        }

        handleInput(e) {
            this.doEmit ? this.doEmit(this.item.name, e, this.value.value) : this.$emit("input", e, this.item.name), this.doValidate(e)
        }

        doValidate(e) {
            this.schema && this.schema.validate({[this.item.name]: e}, (e, t) => {
                null === e ? this.hideTooltip() : this.showTooltip(e[0].message)
            })
        }

        handleBlur() {
            let e;
            e = "object" == typeof this.value ? this.value.value : this.value, this.doBlur && this.doBlur(this.item.name, e), this.$nextTick(() => {
                let e;
                e = "object" == typeof this.value ? this.value.value : this.value, this.doValidate(e)
            })
        }

        showTooltip(e) {
            this.tooltip = e, this.$refs.tooltip.show(this.$refs.input.$el)
        }

        hideTooltip() {
            this.$refs.tooltip.hide()
        }

        created() {
            this.item.rules && (this.schema = new r.default({[this.item.name]: this.rules}))
        }
    };
    n([o.Prop({})], s.prototype, "item", void 0), n([o.Prop()], s.prototype, "value", void 0), n([o.Prop()], s.prototype, "disabled", void 0), s = n([o.Component], s), t.default = s
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(296), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(5), o = i(102);
    let s = class extends r.Vue {
        constructor() {
            super(...arguments), this.data = [{
                label: "开始限速时间",
                options: [{index: 0, type: "hour"}, {index: 1, type: "minute"}]
            }, {
                label: "结束限速时间",
                options: [{index: 2, type: "hour"}, {index: 3, type: "minute"}]
            }], this.hours = Array.from({length: 24}, (e, t) => t), this.minutes = Array.from({length: 60}, (e, t) => t)
        }

        handleInput(e, t) {
            let i = this.value.slice(0), n = Object.assign({}, i[t]);
            n.value = e, i[t] = n, this.$emit("input", i, this.item.name)
        }
    };
    n([r.Prop({})], s.prototype, "item", void 0), n([r.Prop()], s.prototype, "value", void 0), n([r.Prop()], s.prototype, "disabled", void 0), s = n([r.Component({components: {SelectNative: o.default}})], s), t.default = s
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(298), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(5), o = i(38);
    let s = class extends r.Vue {
        constructor() {
            super(...arguments), this.userId = ""
        }

        get clas() {
            return void 0 !== this.classes ? this.classes : this.item.classes
        }

        get textContent() {
            return void 0 !== this.item.text ? this.item.text : this.text
        }

        mounted() {
            void 0 !== this.item.isReleventUser && this.item.isReleventUser && (o.NativeCallModule.nativeCall.AttachNativeEvent("onLoginSuc", e => {
                this.userId = e
            }), o.NativeCallModule.nativeCall.AttachNativeEvent("onLogout", () => {
                this.userId = ""
            }))
        }
    };
    n([r.Prop({})], s.prototype, "item", void 0), n([r.Prop()], s.prototype, "classes", void 0), n([r.Prop()], s.prototype, "extIndex", void 0), n([r.Prop()], s.prototype, "text", void 0), s = n([r.Component({})], s), t.default = s
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(300), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(198), a = i(203), l = i(204), c = i(166), u = i(702), d = i(38), h = i(4);
    let p = class extends o.Vue {
        constructor() {
            super(...arguments), this.userId = ""
        }

        handleInput(e, t = "") {
            "" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t)
        }

        setUserId() {
            return r(this, void 0, void 0, function* () {
                let e = yield h.client.callServerFunction("GetUserID");
                this.userId = e
            })
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                void 0 !== this.item.isReleventUser && this.item.isReleventUser && (this.setUserId(), d.NativeCallModule.nativeCall.AttachNativeEvent("onLoginSuc", e => {
                    this.userId = e
                }), d.NativeCallModule.nativeCall.AttachNativeEvent("onLogout", () => {
                    this.userId = ""
                }))
            })
        }
    };
    n([o.Prop({})], p.prototype, "item", void 0), n([o.Prop({})], p.prototype, "formData", void 0), n([o.Prop()], p.prototype, "value", void 0), p = n([o.Component({
        components: {
            confTip: s.default,
            confBtn: a.default,
            confInput: l.default,
            confSelect: c.default,
            confContainer: u.default
        }
    })], p), t.default = p
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(302), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(5), o = i(166);
    let s = class extends r.Vue {
        handleInput(e, t = "") {
            "" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t)
        }
    };
    n([r.Prop({})], s.prototype, "item", void 0), n([r.Prop({})], s.prototype, "formData", void 0), n([r.Prop()], s.prototype, "value", void 0), n([r.Prop()], s.prototype, "disabled", void 0), s = n([r.Component({components: {confSelect: o.default}})], s), t.default = s
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(304), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(5), o = i(198), s = i(204), a = i(205), l = i(166);
    let c = class extends r.Vue {
        handleInput(e, t = "") {
            "" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t)
        }
    };
    n([r.Prop({})], c.prototype, "item", void 0), n([r.Prop({})], c.prototype, "formData", void 0), c = n([r.Component({
        components: {
            confTip: o.default,
            confInput: s.default,
            confText: a.default,
            confSelect: l.default
        }
    })], c), t.default = c
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(306), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(5), o = i(198), s = i(205), a = i(166);
    let l = class extends r.Vue {
        handleInput(e, t = "") {
            "" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t)
        }
    };
    n([r.Prop({})], l.prototype, "item", void 0), n([r.Prop({})], l.prototype, "formData", void 0), l = n([r.Component({
        components: {
            confTip: o.default,
            confText: s.default,
            confSelect: a.default
        }
    })], l), t.default = l
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(308), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(5);
    let o = class extends r.Vue {
        handleChange(e) {
            let t = e.target;
            this.$emit("input", t.value, this.item.name)
        }
    };
    n([r.Prop({})], o.prototype, "item", void 0), n([r.Prop({})], o.prototype, "formData", void 0), n([r.Prop()], o.prototype, "value", void 0), n([r.Prop()], o.prototype, "label", void 0), o = n([r.Component({components: {}})], o), t.default = o
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(310), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(127), a = i(103), l = i(30), c = i(606);
    let u = class extends o.Vue {
        constructor() {
            super(...arguments), this.selectedItem = null, this.proxyList = []
        }

        handleInput(e, t) {
            let i = this.value.slice(0), n = Object.assign({}, i[t]);
            n.value = e, i[t] = n, this.$emit("input", i, this.item.name)
        }

        handleAddProxyResult(e, t, i, n, r, o) {
            let s = !1, a = {name: e, host: t, port: i, type: n, userName: r, passWord: o};
            if (this.proxyList.length > 0) for (let t = 0; t < this.proxyList.length; ++t) if (this.proxyList[t].name === e) {
                s = !0;
                break
            }
            s || (this.proxyList.push(a), this.saveProxys())
        }

        handleAddProxy() {
            a.MessageBox.custom("AddProxy").then(e => {
                if (e.action === l.MessageBoxNS.Action.OK) {
                    let t = e.args.name, i = e.args.host, n = e.args.port, r = e.args.type, o = e.args.userName,
                        s = e.args.passWord;
                    this.handleAddProxyResult(t, i, n, r, o, s)
                }
            }).catch()
        }

        handleModifyProxy() {
            this.selectedItem && a.MessageBox.custom("AddProxy", this.selectedItem).then(e => r(this, void 0, void 0, function* () {
                if (e.action === l.MessageBoxNS.Action.OK) for (let t = 0; t < this.proxyList.length; ++t) if (this.proxyList[t].name === this.selectedItem.name) {
                    let i = this.selectedItem.name;
                    if (this.proxyList[t].name = e.args.name, this.proxyList[t].host = e.args.host, this.proxyList[t].port = e.args.port, this.proxyList[t].type = e.args.type, this.proxyList[t].userName = e.args.userName, this.proxyList[t].passWord = e.args.passWord, this.selectedItem = this.proxyList[t], this.saveProxys(), "2" === (yield s.ConfigHelperNS.getValue("ProxySetting", "ConfigProxy_Type", "0")) && (this.handleApplyProxy(), i === this.selectedItem.name)) {
                        let e = c.ProxyNS.ProxyType.Http;
                        "SOCKS5" === this.selectedItem.type && (e = c.ProxyNS.ProxyType.Sock5), c.ProxyNS.setProxy(e, this.selectedItem.host, this.selectedItem.port, this.selectedItem.userName, this.selectedItem.passWord)
                    }
                    break
                }
            })).catch()
        }

        handleDeleteProxy() {
            this.selectedItem && a.MessageBox.confirm({
                title: "您确定删除此代理吗？",
                type: a.MessageBox.ConfirmType.Warning
            }, {width: 400, height: 174, center: !0}).then(e => r(this, void 0, void 0, function* () {
                if (e.action === l.MessageBoxNS.Action.OK) for (let e = 0; e < this.proxyList.length; ++e) if (this.proxyList[e].name === this.selectedItem.name) {
                    let t = this.selectedItem.name;
                    this.proxyList.splice(e, 1), this.selectedItem = null, this.saveProxys();
                    let i = yield s.ConfigHelperNS.getValue("ProxySetting", "ConnectType_Http", "直接连接");
                    t === i && this.$emit("input", "直接连接", "ProxySetting-ConnectType_Http"), t === (i = yield s.ConfigHelperNS.getValue("ProxySetting", "ConnectType_Hub", "直接连接")) && this.$emit("input", "直接连接", "ProxySetting-ConnectType_Hub"), t === (i = yield s.ConfigHelperNS.getValue("ProxySetting", "ConnectType_Ftp", "直接连接")) && this.$emit("input", "直接连接", "ProxySetting-ConnectType_Ftp");
                    break
                }
            })).catch()
        }

        handleApplyProxy() {
            this.selectedItem && (this.$emit("input", "2", "ProxySetting-ConfigProxy_Type"), this.$emit("input", this.selectedItem.name, "ProxySetting-ConnectType_Hub"), this.$emit("input", this.selectedItem.name, "ProxySetting-ConnectType_Http"), this.$emit("input", this.selectedItem.name, "ProxySetting-ConnectType_Ftp"))
        }

        formatProxys() {
            let e = [];
            if (this.proxyList.length > 0) for (let t = 0; t < this.proxyList.length; ++t) {
                let i = this.proxyList[t].name;
                i = (i = (i = (i = (i = i + ";" + this.proxyList[t].host) + ";" + this.proxyList[t].port) + ";" + this.proxyList[t].type) + ";" + this.proxyList[t].userName) + ";" + this.proxyList[t].passWord, e.push(i)
            }
            return e
        }

        getProxyNames() {
            let e = ["直接连接"];
            if (this.proxyList.length > 0) for (let t = 0; t < this.proxyList.length; ++t) this.proxyList[t].name && this.proxyList[t].name.length > 0 && e.push(this.proxyList[t].name);
            return e
        }

        saveProxys() {
            s.ConfigHelperNS.setValue("ProxyList", "proxys", this.formatProxys()).catch(), s.ConfigHelperNS.setValue("ConnectType", "ProxyName", this.getProxyNames()).catch()
        }

        initProxys() {
            return r(this, void 0, void 0, function* () {
                let e = yield s.ConfigHelperNS.getValue("ProxyList", "proxys", []);
                if (e.length > 0) for (let t = 0; t < e.length; ++t) {
                    let i = e[t].split(";"), n = {};
                    n.name = i[0], n.host = i[1], n.type = i[3], n.userName = void 0 !== i[4] ? i[4] : "", n.passWord = void 0 !== i[5] ? i[5] : "", i[2] ? n.port = Number(i[2]) ? Number(i[2]) : 80 : n.port = 80, this.proxyList.push(n)
                }
            })
        }

        mounted() {
            this.initProxys().catch()
        }
    };
    n([o.Prop({})], u.prototype, "item", void 0), n([o.Prop()], u.prototype, "value", void 0), n([o.Prop()], u.prototype, "disabled", void 0), u = n([o.Component({components: {}})], u), t.default = u
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(312), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(206), o = i(31), s = i(5), a = i(79), l = i(18), c = i(3), u = i(102), d = i(32), h = i(199);
    let p = class extends (o.mixins(d.DraggableMixin, d.PositionMixin)) {
        constructor() {
            super(...arguments), this.hours = "0", this.minutes = "0", this.seconds = "0", this.operation = "开始全部任务", this.operations = ["关机", "睡眠", "退出迅雷", "开始全部任务", "暂停全部任务"], this.plans = [], this.timeIntervalId = -1, this.isMax = !1, this.schema = null, this.errorFields = null
        }

        sget() {
            return h.apply(null, arguments)
        }

        addPlan() {
            this.schema.validate({hours: this.hours, minutes: this.minutes}, (e, t) => {
                e ? this.errorFields = t : (this.errorFields = null, this.plans.length >= 3 ? this.isMax = !0 : this.plans.push({
                    hours: this.hours,
                    minutes: this.minutes,
                    seconds: this.seconds,
                    operation: this.operation
                }), this.$nextTick(() => {
                    a.ThunderWindowNS.resizeToFitContent()
                }))
            })
        }

        removePlan(e) {
            this.isMax = !1, this.plans.splice(e, 1), this.$nextTick(() => {
                a.ThunderWindowNS.resizeToFitContent()
            })
        }

        handleClose() {
            this.plans.length >= 0 && c.ipcRenderer.send(l.ThunderChannelList.channelRMCommitPlanTask, this.plans), -1 !== this.timeIntervalId && (clearInterval(this.timeIntervalId), this.timeIntervalId = -1), window.close()
        }

        created() {
            this.plans = this.options, this.timeIntervalId = setInterval(() => {
                for (let e = this.plans.length - 1; e >= 0; --e) {
                    let t = this.plans[e], i = 3600 * Number(t.hours) + 60 * Number(t.minutes) + Number(t.seconds);
                    if ((i -= 1) <= 0) {
                        this.removePlan(e), c.ipcRenderer.send(l.ThunderChannelList.channelRMPerformePlanTask, t.operation);
                        continue
                    }
                    let n = [Math.floor(i / 3600), Math.floor(i / 60 % 60), Math.floor(i % 60)];
                    t.hours = n[0] + "", t.minutes = n[1] + "", t.seconds = n[2] + ""
                }
            }, 1e3), this.schema = new r.default({
                hours: {
                    type: "number",
                    min: 0,
                    max: 999,
                    message: "请输入正确的时间",
                    transform: Number
                }, minutes: [{
                    type: "number", message: "执行时间不能为0", transform: Number, validator: (e, t, i) => {
                        0 === t && 0 === Number(this.hours) ? i(new Error("执行时间不能为0")) : i()
                    }
                }, {type: "number", min: 0, max: 59, message: "请输入正确的时间", transform: Number}]
            })
        }
    };
    n([s.Prop()], p.prototype, "options", void 0), p = n([s.Component({components: {SelectNative: u.default}})], p), t.default = p
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(314), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(2), s = i(3), a = i(7), l = i(31), c = i(5), u = i(58), d = i(13), h = i(16), p = i(32), f = i(30),
        A = i(4);
    let v = class extends (l.mixins(p.DraggableMixin, p.PositionMixin)) {
        constructor() {
            super(...arguments), this.newName = "", this.tipsText = "", this.isShowTips = !1
        }

        get originName() {
            let e = "";
            do {
                if (null === this.options || void 0 === this.options) break;
                let t = this.options.taskBase;
                if (null === t || void 0 === t) break;
                let i = t.taskName;
                if (null === i || void 0 === i) break;
                if ("string" != typeof i) break;
                e = i
            } while (0);
            return e
        }

        handleInput(e) {
            this.newName = e
        }

        handleClose(e) {
            s.ipcRenderer.send(`message-box-resolve-${this.boxId}`, f.MessageBoxNS.Action.Close), window.close()
        }

        handleOK() {
            return r(this, void 0, void 0, function* () {
                do {
                    let e = this.newName.trim();
                    e = e.replace(/[\n\r\n]/g, "");
                    let t = this.options.taskBase, i = t.taskName, n = t.savePath, r = t.taskType, a = n;
                    if (r !== h.DownloadKernel.TaskType.Group && (a = o.join(n, i)), "" === e) {
                        this.isShowTips = !0, this.tipsText = "文件名不能为空";
                        break
                    }
                    if ("." === e[0]) {
                        this.isShowTips = !0, this.tipsText = "必须键入文件名";
                        break
                    }
                    if (e.match(/[\/\\"<>\?\*:|]/)) {
                        this.isShowTips = !0, this.tipsText = '文件名不能包含下列任何字符： \\ / : * ? " < > |';
                        break
                    }
                    if (!(yield A.client.callServerFunction("IsSingleBtTask", t.taskId)) && r !== h.DownloadKernel.TaskType.Group) {
                        if (!(yield d.FileSystemAWNS.existsAW(a))) {
                            this.isShowTips = !0, this.tipsText = "文件不存在";
                            break
                        }
                        let t = o.join(n, e);
                        if (yield d.FileSystemAWNS.existsAW(t)) {
                            this.isShowTips = !0, this.tipsText = "文件已存在";
                            break
                        }
                    }
                    s.ipcRenderer.send(`message-box-resolve-${this.boxId}`, f.MessageBoxNS.Action.OK, {fileName: e}), window.close()
                } while (0)
            })
        }

        handleKeyDown(e) {
            e.ctrlKey && 13 === e.keyCode && this.handleOK()
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.newName = this.originName, document.addEventListener("click", () => {
                    this.isShowTips = !1
                }), document.addEventListener("keydown", this.handleKeyDown), this.$nextTick(() => {
                    let e = this.$refs.input.$el.querySelector("textarea");
                    if (null !== e && void 0 !== e) do {
                        let t = o.extname(this.newName);
                        if ("" === t) {
                            e.select();
                            break
                        }
                        if (u.TaskUtilHelper.getTaskFileType(void 0, t) === u.TaskUtilHelper.FileExtType.Unkown) {
                            e.select();
                            break
                        }
                        e.focus(), e.setSelectionRange(0, this.newName.length - t.length)
                    } while (0)
                }), (yield a.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                })
            })
        }

        destroyed() {
            document.removeEventListener("keydown", this.handleKeyDown)
        }
    };
    n([c.Prop()], v.prototype, "options", void 0), n([c.Prop()], v.prototype, "boxId", void 0), v = n([c.Component], v), t.default = v
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(316), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(31), s = i(5), a = i(32), l = i(30);
    let c = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        handleClose(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Close), window.close()
        }

        handleOK(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK, {picked: e}), window.close()
        }
    };
    n([s.Prop()], c.prototype, "boxId", void 0), c = n([s.Component], c), t.default = c
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(318), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(31), s = i(5), a = i(32), l = i(30), c = i(79);
    let u = class extends (o.mixins(a.DraggableMixin)) {
        constructor() {
            super(...arguments), this.files = ""
        }

        handleClose(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Close), window.close()
        }

        handleOK(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK, {picked: e}), window.close()
        }

        mounted() {
            do {
                if (void 0 === this.options || null === this.options) break;
                let e = this.options.file;
                if (void 0 === e || null === e) break;
                let t = null;
                try {
                    t = JSON.parse(e)
                } catch (e) {
                }
                if (null === t) break;
                let i = "在目录“" + this.options.saveDir + "”下已存在文件：";
                t.splice(0, 0, i), this.files = t.join("<br>")
            } while (0);
            this.$nextTick(() => {
                c.ThunderWindowNS.resizeToFitContent(0, 0, c.ThunderWindowNS.fitWindowPosInParent)
            })
        }
    };
    n([s.Prop({})], u.prototype, "options", void 0), n([s.Prop()], u.prototype, "boxId", void 0), u = n([s.Component], u), t.default = u
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(320), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(3), l = i(7), c = i(32), u = i(30), d = i(15);
    let h = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.password = "", this.secondPassword = "", this.tipsText = "", this.isShowTips = !1, this.isSetHide = this.options.isSetHide, this.windowWidth = 450, this.windowHeight = 230
        }

        handleClose(e) {
            let t = `button=${e}`;
            this.stat("private_page_pop_click", t), a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close), window.close()
        }

        handleOK() {
            do {
                if (this.stat("private_page_pop_click", "button=confirm"), "" === this.password || "" === this.secondPassword) {
                    this.tipsText = "密码不能为空！", this.isShowTips = !0;
                    break
                }
                if (this.password !== this.secondPassword) {
                    this.tipsText = "两次输入的密码不一致！", this.isShowTips = !0;
                    break
                }
                a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK, {
                    password: this.password,
                    isSetHide: this.isSetHide
                }), "open" === this.options.showType && d.XLStatNS.trackEvent("download_leftpanel", "private_open_success", "", 0, 0, 0, 0, ""), window.close()
            } while (0)
        }

        stat(e, t) {
            let i = "type=3";
            "change" === this.options.showType && (i = "type=4"), void 0 !== t && null !== t && "" !== t && (i = `${i},${t}`), d.XLStatNS.trackEvent("download_leftpanel", e, "", 0, 0, 0, 0, i)
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.stat("private_page_pop_show", ""), window.addEventListener("keyup", e => {
                    "Enter" === e.key ? this.handleOK() : "Escape" === e.key && this.handleClose("close")
                }, !0), document.addEventListener("click", () => {
                    this.isShowTips = !1
                }), (yield l.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                })
            })
        }
    };
    n([s.Prop()], h.prototype, "options", void 0), n([s.Prop()], h.prototype, "boxId", void 0), h = n([s.Component], h), t.default = h
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(322), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(3), l = i(7), c = i(32), u = i(30), d = i(15);
    let h = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.errorCount = this.options.errorCount, this.newPassword = "", this.tipsText = "", this.isShowTips = !1, this.windowWidth = 450, this.windowHeight = 158
        }

        handleClose(e) {
            let t = `button=${e},type=5`;
            d.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, t), a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {errorCount: this.errorCount}), window.close()
        }

        handleClearPwd() {
            this.newPassword = "", this.$refs.pwdInput.focus()
        }

        handleForget() {
            d.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, "button=forgot,type=5"), a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {
                from: "forget",
                errorCount: this.errorCount
            }), window.close()
        }

        handleOK() {
            do {
                let e = "button=confirm,type=5";
                if (d.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, e), "" === this.newPassword) {
                    this.tipsText = "密码不能为空！", this.isShowTips = !0;
                    break
                }
                if (this.options.password !== this.newPassword) {
                    this.tipsText = "密码错误，请重新输入！", this.isShowTips = !0, this.errorCount = this.errorCount + 1, this.errorCount >= 5 && (this.errorCount = 5, a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {
                        from: "more",
                        errorCount: this.errorCount
                    }), window.close());
                    break
                }
                a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK, {success: !0}), window.close()
            } while (0)
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                d.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_show", "", 0, 0, 0, 0, "type=5"), window.addEventListener("keyup", e => {
                    "Enter" === e.key ? this.handleOK() : "Escape" === e.key && this.handleClose("close")
                }, !0), this.$refs.pwdInput.focus(), document.addEventListener("click", () => {
                    this.isShowTips = !1
                }), (yield l.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                })
            })
        }
    };
    n([s.Prop()], h.prototype, "options", void 0), n([s.Prop()], h.prototype, "boxId", void 0), h = n([s.Component], h), t.default = h
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(324), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(3), l = i(7), c = i(32), u = i(30), d = i(4), h = i(15);
    let p = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.windowWidth = 450, this.windowHeight = 240, this.reviewPanelWindowWidth = 400, this.reviewPanelWindowHeight = 350, this.promptContent = "为了确保信息安全，请验证您已绑定的安全手机，填写收到的验证码。", this.okDisabled = !1, this.timerCookie = null, this.mobile = "", this.verifyCodeBtnDisabled = !1, this.verifyCodeBtntext = "获取验证码", this.token = "", this.verifyCodeTipsText = "", this.isShowVerifyCodeTips = !1, this.verifyCode = "", this.verifyCodeGetTipsText = "", this.isShowVerifyCodeGetTips = !1, this.creditkey = "", this.reviewurl = "", this.isShowFigureCode = !1
        }

        getMobile() {
            this.mobile = this.options.mobile, this.mobile = this.mobile.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2")
        }

        getPromptContent() {
            let e = this.options.methodType;
            this.promptContent = "forget" === e ? "重设密码进行身份验证，请验证您已绑定的安全手机信息，填写收到的验证码。" : "more" === e ? "输入密码错误次数过多，请验证您已绑定的安全手机信息，填写收到的验证码。" : "为了确保信息安全，请验证您已绑定的安全手机，填写收到的验证码。"
        }

        closeWnd(e) {
            null !== this.timerCookie && void 0 !== this.timerCookie && (clearInterval(this.timerCookie), this.timerCookie = null), window.close()
        }

        handleClose(e) {
            let t = `button=${e},type=1`;
            h.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, t), "close" === e ? a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close) : "cancel" === e && a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Cancel), this.closeWnd("close")
        }

        handleGetVerifyCode(e) {
            return r(this, void 0, void 0, function* () {
                if ("auto" !== e) {
                    let e = "button=yanzhengma,type=1";
                    h.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, e)
                }
                if (this.token = null, null === this.timerCookie || void 0 === this.timerCookie) {
                    this.verifyCodeBtntext = "59s后重新获取", this.verifyCodeBtnDisabled = !0;
                    let e = 59;
                    this.timerCookie = setInterval(() => {
                        e <= 1 ? (this.verifyCodeBtnDisabled = !1, this.verifyCodeBtntext = "获取验证码", clearInterval(this.timerCookie), this.timerCookie = null) : (e -= 1, this.verifyCodeBtntext = `${e}s后重新获取`)
                    }, 1050)
                }
                "auto" !== e && (this.creditkey = "", this.reviewurl = ""), this.isShowFigureCode = !1;
                let t = yield d.client.callServerFunction("SendSms", this.creditkey);
                if (null !== t && void 0 !== t) try {
                    let e = JSON.parse(t);
                    if (null !== e && void 0 !== e && 200 === e.code) this.token = e.data.token; else if (null !== e.msg && void 0 !== e.msg) if (201 === e.code) {
                        this.creditkey = e.data.creditkey;
                        let t = yield d.client.callServerFunction("GetLoginInfo", "deviceid");
                        this.reviewurl = `${e.data.reviewurl}&creditkey=${e.data.creditkey}&deviceid=${t}`, this.isShowFigureCode = !0
                    } else this.verifyCodeGetTipsText = e.msg, this.verifyCodeGetTipsText = this.verifyCodeGetTipsText.replace(/(\[.*\])/g, ""), this.isShowVerifyCodeGetTips = !0; else this.verifyCodeGetTipsText = "获取验证码失败", this.isShowVerifyCodeGetTips = !0
                } catch (e) {
                } else this.verifyCodeGetTipsText = "获取验证码超时", this.isShowVerifyCodeGetTips = !0
            })
        }

        handleModifierPhone() {
            h.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, "button=modifyphone,type=1"), d.client.callServerFunction("OpenNewTab", "https://i.xunlei.com/xluser/validate/modifyphone_p.html").catch(), this.closeWnd("modifierPhone")
        }

        handleOK() {
            return r(this, void 0, void 0, function* () {
                do {
                    let e = "button=confirm,type=1";
                    if (h.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, e), this.okDisabled = !0, this.isShowVerifyCodeTips = !1, null === this.verifyCode || void 0 === this.verifyCode || "" === this.verifyCode) {
                        this.verifyCodeTipsText = "验证码不能为空", this.isShowVerifyCodeTips = !0, this.okDisabled = !1;
                        break
                    }
                    if (this.verifyCode = this.verifyCode.trim(), 6 !== this.verifyCode.length) {
                        this.verifyCodeTipsText = "验证码位数不对", this.isShowVerifyCodeTips = !0, this.okDisabled = !1;
                        break
                    }
                    let t = yield d.client.callServerFunction("CheckSms", this.token, this.verifyCode);
                    if (null !== t && void 0 !== t) {
                        try {
                            let e = JSON.parse(t);
                            null !== e && void 0 !== e && 200 === e.code ? (a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK, {success: !0}), window.close()) : (null !== e.msg && void 0 !== e.msg ? (this.verifyCodeTipsText = e.msg, this.verifyCodeTipsText = this.verifyCodeTipsText.replace(/(\[.*\])/g, "")) : this.verifyCodeTipsText = "验证失败", this.isShowVerifyCodeTips = !0)
                        } catch (e) {
                            this.okDisabled = !1
                        }
                        this.okDisabled = !1
                    } else this.verifyCodeTipsText = "验证超时", this.isShowVerifyCodeTips = !0, this.okDisabled = !1
                } while (0)
            })
        }

        initIframe() {
            window.XlCaptcha.init({
                IFRAME_BOX_ID: "boxid", PANEL_THEME: "default", CLOSE_PANEL_FUNC: () => {
                    this.isShowFigureCode = !1, window.resizeTo(this.windowWidth, this.windowHeight)
                }, VERTIFY_SUCC_FUNC: e => {
                    200 === e.code && (this.isShowFigureCode = !1, window.resizeTo(this.windowWidth, this.windowHeight), this.creditkey = e.creditkey, this.handleGetVerifyCode("auto"))
                }
            })
        }

        showFigureCode() {
            window.resizeTo(this.reviewPanelWindowWidth, this.reviewPanelWindowHeight), this.isShowFigureCode && this.initIframe()
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                h.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_show", "", 0, 0, 0, 0, "type=1"), this.getMobile(), this.getPromptContent(), window.addEventListener("keyup", e => {
                    "Enter" === e.key ? this.handleOK() : "Escape" === e.key && this.handleClose("close")
                }, !0), this.$refs.phoneInput.focus(), document.addEventListener("click", () => {
                    this.isShowVerifyCodeGetTips = !1, this.isShowVerifyCodeTips = !1
                }), (yield l.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowVerifyCodeGetTips = !1, this.isShowVerifyCodeTips = !1
                })
            })
        }
    };
    n([s.Prop()], p.prototype, "options", void 0), n([s.Prop()], p.prototype, "boxId", void 0), p = n([s.Component], p), t.default = p
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(326), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(3), l = i(7), c = i(717), u = i(13), d = i(32), h = i(30);
    let p = class extends (o.mixins(d.DraggableMixin, d.PositionMixin)) {
        constructor() {
            super(...arguments), this.pathTips = "", this.isShowPathTips = !1, this.savePath = "", this.appendDirs = [], this.hideLocalDir = !0, this.windowWidth = 450, this.windowHeight = 188
        }

        handleClose(e) {
            a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, h.MessageBoxNS.Action.Close), window.close()
        }

        handleChangePath(e) {
            this.savePath = e
        }

        handleOK() {
            return r(this, void 0, void 0, function* () {
                do {
                    if ("" === this.savePath) {
                        this.isShowPathTips = !0, this.pathTips = "不合法的存储路径";
                        break
                    }
                    if (!(yield u.FileSystemAWNS.existsAW(this.savePath))) {
                        if (!(yield u.FileSystemAWNS.mkdirAW(this.savePath))) {
                            this.isShowPathTips = !0, this.pathTips = "不合法的存储路径";
                            break
                        }
                    }
                    a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, h.MessageBoxNS.Action.OK, {
                        savePath: this.savePath,
                        hideLocalDir: this.hideLocalDir ? 1 : 0
                    }), window.close()
                } while (0)
            })
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.options.savePath && "" !== this.options.savePath && this.appendDirs.push(this.options.savePath), this.savePath = this.options.savePath, this.hideLocalDir = this.options.hideLocalDir, document.addEventListener("click", () => {
                    this.isShowPathTips = !1
                }), (yield l.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowPathTips = !1
                })
            })
        }
    };
    n([s.Prop({})], p.prototype, "options", void 0), n([s.Prop()], p.prototype, "boxId", void 0), p = n([s.Component({components: {PathSelector: c.default}})], p), t.default = p
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(328), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(3), s = i(7), a = i(5), l = i(4), c = i(102), u = i(22), d = i(11), h = i(13), p = i(18), f = i(99),
        A = i(1).default.getLogger("ThunderNewTask.path-selector");
    let v = class extends a.Vue {
        constructor() {
            super(...arguments), this.timerId = -1, this.freeSpace = 0, this.totalSpace = 0, this.valid = !0, this.optionsAlias = {}, this.isDanger = !1, this.isWarn = !1
        }

        get options() {
            return [...Object.values(this.optionsAlias)]
        }

        onPathChange(e) {
            return r(this, void 0, void 0, function* () {
                do {
                    let t = e;
                    if ("私人空间" === e) {
                        let e = yield l.client.callServerFunction("GetUserID");
                        if (null === e || void 0 === e || "" === e) break;
                        t = yield l.client.callServerFunction("GetPrivateSavePath", e)
                    }
                    this.totalSpace = u.ThunderHelper.getPartitionSpace(t), this.freeSpace = u.ThunderHelper.getFreePartitionSpace(t)
                } while (0)
            })
        }

        onDanger(e) {
            this.$emit("danger", e)
        }

        onAppendDirsChange(e, t) {
            if (void 0 !== t && null !== t && t.length > 0) for (let e of t) this.optionsAlias.hasOwnProperty(e) && this.$delete(this.optionsAlias, e);
            if (void 0 !== e && null !== e && e.length > 0) for (let t of e) "\\" === t[t.length - 1] || (t += "\\"), this.optionsAlias.hasOwnProperty(t) || this.$set(this.optionsAlias, t, t)
        }

        created() {
            setTimeout(() => r(this, void 0, void 0, function* () {
                let e = this.value;
                void 0 !== this.defaultDir && null !== this.defaultDir && (this.$emit("input", this.defaultDir), e = this.defaultDir);
                let t = yield s.asyncRemoteCall.getApp(), i = yield t.getPath("desktop"),
                    n = yield t.getPath("documents");
                this.$set(this.optionsAlias, i, "桌面"), this.$set(this.optionsAlias, n, "我的文档"), f.HistoryPathsNS.getHistoryPaths().then(e => {
                    if (void 0 !== e) {
                        let t = e.indexOf(i);
                        -1 !== t && e.splice(t, 1);
                        let r = e.indexOf(n);
                        if (-1 !== r && e.splice(r, 1), e.length > 0) for (let t of e) "\\" === t[t.length - 1] || (t += "\\"), this.optionsAlias.hasOwnProperty(t) || this.$set(this.optionsAlias, t, t)
                    }
                }), this.onPathChange(e), this.enablePrivateSpace && (o.ipcRenderer.once(p.ThunderChannelList.channelMRGetPrivateSpaceInfoResult, (e, t, i) => r(this, void 0, void 0, function* () {
                    A.information("GetPrivateSpaceInfoResult isPrivateSpaceOpen:", t, ", currentCategoryId:", i);
                    if (this.options.includes("私人空间") || this.$set(this.optionsAlias, "私人空间", "私人空间"), -1 !== i) this.$emit("input", "私人空间"); else {
                        let e = yield l.client.callServerFunction("GetDownloadDir");
                        this.$emit("input", e)
                    }
                    this.$emit("private", t)
                })), o.ipcRenderer.send(p.ThunderChannelList.channelRMGetPrivateSpaceInfo))
            }), 500), this.timerId = setInterval(() => r(this, void 0, void 0, function* () {
                if (void 0 !== this.value && null !== this.value) {
                    if ("私人空间" === this.value) this.valid = !0; else if (this.value.length >= 3) {
                        let e = this.value.slice(0, 3);
                        this.valid = yield h.FileSystemAWNS.existsAW(e)
                    } else this.valid = !1;
                    this.valid && this.onPathChange(this.value)
                }
            }), 1e3)
        }

        get spaceColor() {
            let e = "";
            return this.isDanger ? e = "is-danger" : this.isWarn && (e = "is-warn"), e
        }

        get freeSpaceFormat() {
            let e = "";
            do {
                if ("string" != typeof this.value) break;
                if (-1 === this.freeSpace) break;
                if ("" === this.value) {
                    this.isDanger = !1;
                    break
                }
                if (this.value.length < 3) {
                    this.isDanger = !1;
                    break
                }
                if (!this.valid) {
                    this.isDanger = !1;
                    break
                }
                if (this.isDanger = !1, this.isWarn = !1, this.needSpace >= this.freeSpace) {
                    this.isDanger = !0, e = "磁盘空间不足";
                    break
                }
                this.freeSpace / this.totalSpace <= .3 && (this.isWarn = !0), e = "剩余:" + d.ThunderUtil.formatSize(this.freeSpace)
            } while (0);
            return e
        }

        handleInput(e) {
            do {
                let t = !1;
                for (let i in this.optionsAlias) if (e === this.optionsAlias[i]) {
                    t = !0, this.$emit("input", i, !0);
                    break
                }
                if (t) break;
                this.$emit("input", e, !0)
            } while (0)
        }

        handleContextMenu() {
            return r(this, void 0, void 0, function* () {
                const {MenuSkinNS: e} = yield Promise.resolve().then(() => i(66));
                e.popEditableDefaultContextMenu()
            })
        }

        handleChangePath() {
            return r(this, void 0, void 0, function* () {
                const e = yield s.asyncRemoteCall.getDialog();
                let t = yield s.asyncRemoteCall.getCurrentWindow();
                e.showOpenDialog(t, {defaultPath: this.value, properties: ["openDirectory"]}, e => {
                    void 0 !== e && this.$emit("input", e[0], !0)
                })
            })
        }

        mounted() {
        }

        destroyed() {
            -1 !== this.timerId && (clearTimeout(this.timerId), this.timerId = -1)
        }
    };
    n([a.Prop({})], v.prototype, "appendDirs", void 0), n([a.Prop({})], v.prototype, "defaultDir", void 0), n([a.Prop({default: !0})], v.prototype, "enablePrivateSpace", void 0), n([a.Prop({default: ""})], v.prototype, "value", void 0), n([a.Prop({default: 0})], v.prototype, "needSpace", void 0), n([a.Watch("value", {immediate: !0})], v.prototype, "onPathChange", null), n([a.Watch("isDanger", {immediate: !0})], v.prototype, "onDanger", null), n([a.Watch("appendDirs", {immediate: !0})], v.prototype, "onAppendDirsChange", null), v = n([a.Component({components: {SelectNative: c.default}})], v), t.default = v
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(330), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(31), o = i(5), s = i(3), a = i(32), l = i(30);
    let c = class extends (r.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.maxTaskCount = 5, this.autoMoveLowSpeedTaskToTail = !0, this.tipsText = "请输入大于等于1小于等于50的数字", this.isShowTips = !1
        }

        handleClose(e) {
            s.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Close), window.close()
        }

        handleOK() {
            do {
                if (!this.maxTaskCount || this.maxTaskCount < 1 || this.maxTaskCount > 50) {
                    this.isShowTips = !0;
                    break
                }
                s.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK, {
                    maxTaskCount: this.maxTaskCount,
                    autoMoveLowSpeedTaskToTail: this.autoMoveLowSpeedTaskToTail
                }), window.close()
            } while (0)
        }

        mounted() {
            document.addEventListener("click", () => {
                this.isShowTips = !1
            })
        }
    };
    n([o.Prop()], c.prototype, "boxId", void 0), c = n([o.Component], c), t.default = c
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(332), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(79), o = i(31), s = i(5), a = i(32);
    let l = class extends (o.mixins(a.DraggableMixin)) {
        constructor() {
            super(...arguments), this.title = "以下0个相同任务，将不再下载这些文件", this.urls = ""
        }

        mounted() {
            do {
                if (void 0 === this.options || null === this.options) break;
                let e = this.options.file;
                if (void 0 === e || null === e) break;
                let t = null;
                try {
                    t = JSON.parse(e)
                } catch (e) {
                }
                if (null === t) break;
                this.urls = t.join("<br>"), this.title = "以下" + t.length + "个相同任务，将不再下载这些文件"
            } while (0);
            this.$nextTick(() => {
                r.ThunderWindowNS.resizeToFitContent(0, 0, r.ThunderWindowNS.fitWindowPosInParent)
            })
        }

        handleOK() {
            window.close()
        }
    };
    n([s.Prop()], l.prototype, "options", void 0), l = n([s.Component], l), t.default = l
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(334), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(3), s = i(7), a = i(31), l = i(5), c = i(126), u = i(147), d = i(102), h = i(32), p = i(30);
    let f = class extends (a.mixins(h.DraggableMixin, h.PositionMixin)) {
        constructor() {
            super(...arguments), this.selectOptions = ["1", "2", "3"], this.picked = "number", this.urlExample = "", this.numFrom = "0", this.numTo = "0", this.numMax = 999, this.wildcardLength = "2", this.alphaFrom = "a", this.alphaTo = "z", this.context = "", this.tipsText = "", this.isShowTips = !1
        }

        handleClose() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, p.MessageBoxNS.Action.Close), window.close()
        }

        handleOK() {
            do {
                if (!c.URLHelperNS.isP2spOrEmuleUrl(this.urlExample)) {
                    this.tipsText = "不支持的协议，请重新输入", this.isShowTips = !0;
                    break
                }
                if (!/\(\*\)/.test(this.urlExample)) {
                    this.tipsText = "必须在url中包含‘(*)’，请重新输入", this.isShowTips = !0;
                    break
                }
                if ("number" === this.picked) {
                    o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, p.MessageBoxNS.Action.OK, {
                        picked: this.picked,
                        urlExample: this.urlExample,
                        from: Number(this.numFrom),
                        to: Number(this.numTo),
                        wildcardLen: Number(this.wildcardLength)
                    }), window.close();
                    break
                }
                if ("alpha" === this.picked) {
                    o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, p.MessageBoxNS.Action.OK, {
                        picked: this.picked,
                        urlExample: this.urlExample,
                        from: this.alphaFrom,
                        to: this.alphaTo
                    }), window.close();
                    break
                }
            } while (0)
        }

        padLeftZero(e, t) {
            if (t.length > e) return t;
            return ("000000".substring(0, e) + t).substr(t.length)
        }

        showUrls() {
            do {
                if (!c.URLHelperNS.isP2spOrEmuleUrl(this.urlExample)) {
                    this.context = "";
                    break
                }
                if (!/\(\*\)/.test(this.urlExample)) {
                    this.context = "";
                    break
                }
                if ("number" === this.picked) {
                    if (this.numFrom === this.numTo) this.context = this.urlExample.replace(/\(\*\)/, this.padLeftZero(Number(this.wildcardLength), this.numFrom)); else {
                        let e = this.urlExample.replace(/\(\*\)/, this.padLeftZero(Number(this.wildcardLength), this.numFrom)),
                            t = this.urlExample.replace(/\(\*\)/, this.padLeftZero(Number(this.wildcardLength), this.numTo));
                        this.context = e + "\r\n...\r\n...\r\n" + t
                    }
                    break
                }
                if ("alpha" === this.picked) {
                    if (this.alphaFrom === this.alphaTo) this.context = this.urlExample.replace(/\(\*\)/, this.alphaFrom); else {
                        let e = this.urlExample.replace(/\(\*\)/, this.alphaFrom),
                            t = this.urlExample.replace(/\(\*\)/, this.alphaTo);
                        this.context = e + "\r\n...\r\n...\r\n" + t
                    }
                    break
                }
            } while (0)
        }

        handleNumFromChange(e, t) {
            let i = this.numFrom;
            void 0 !== t && null !== t && (this.numFrom = t), this.numFrom = e, i !== e && this.showUrls()
        }

        handleNumToChange(e, t) {
            let i = this.numTo;
            void 0 !== t && null !== t && (this.numTo = t), this.numTo = e, i !== e && this.showUrls()
        }

        handleWildcardChange(e) {
            let t = this.wildcardLength;
            this.wildcardLength = e, t !== e && "number" === this.picked && this.showUrls()
        }

        handleAlphaFromChange(e, t) {
            let i = this.alphaFrom;
            void 0 !== t && null !== t && (this.alphaFrom = t), this.alphaFrom = e, i !== e && this.showUrls()
        }

        handleAlphaToChange(e, t) {
            let i = this.alphaTo;
            void 0 !== t && null !== t && (this.alphaTo = t), this.alphaTo = e, i !== e && this.showUrls()
        }

        handleDocClick() {
            this.tipsText = "", this.isShowTips = !1
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                document.addEventListener("click", this.handleDocClick), (yield s.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                })
            })
        }

        destroyed() {
            document.removeEventListener("click", this.handleDocClick)
        }

        onUrlExampleChanged() {
            this.showUrls()
        }

        onPickedChange() {
            this.showUrls()
        }
    };
    n([l.Prop()], f.prototype, "boxId", void 0), n([l.Watch("urlExample")], f.prototype, "onUrlExampleChanged", null), n([l.Watch("picked")], f.prototype, "onPickedChange", null), f = n([l.Component({
        components: {
            LimitInput: u.default,
            SelectNative: d.default
        }
    })], f), t.default = f
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(336), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(3), l = i(7), c = i(32), u = i(30);
    let d = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.value = ""
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                a.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                    a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {
                        title: this.value,
                        state: "close"
                    })
                }), this.value = this.options.title, this.$nextTick(() => {
                    let e = this.$refs.titleInput;
                    e.focus(), e.select()
                });
                let e = yield l.asyncRemoteCall.getCurrentWindow();
                (yield l.asyncRemoteCall.getIpcMain()).on("book-mark-list-close", e => {
                    this.handleClose()
                }), e.on("blur", e => {
                    this.handleClose()
                })
            })
        }

        handleOk() {
            let e = this.$refs.titleInput;
            "" !== e.value.trim() && (a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK, {
                title: e.value,
                state: "ok"
            }), window.close())
        }

        handleDelete() {
            a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Cancel, {
                title: this.value,
                state: "delete"
            }), window.close()
        }

        handleClose() {
            a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {
                title: this.value,
                state: "close"
            }), window.close()
        }
    };
    n([s.Prop({})], d.prototype, "options", void 0), n([s.Prop()], d.prototype, "boxId", void 0), d = n([s.Component({})], d), t.default = d
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(338), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(3), l = i(7), c = i(32), u = i(1), d = i(15), h = i(30), p = i(66),
        f = u.default.getLogger("book-list");
    let A = class extends (o.mixins(c.DraggableMixin)) {
        constructor() {
            super(...arguments), this.value = "", this.bookMarkMenuUrl = "", this.bookMarkMenuTitle = "", this.currentIndex = 0, this.itemHeight = 28, this.moreBookMarkMaxHeight = 440, this.itemsPadding = 8, this.itemsWarpperPadding = 12
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                let e = yield l.asyncRemoteCall.getCurrentWindow(), t = yield l.asyncRemoteCall.getIpcMain();
                e.show(), e.focus(), t.on("book-mark-list-close", e => {
                    f.information("book-mark-list-close"), window.close()
                }), e.on("blur", e => {
                    window.close()
                })
            })
        }

        handleOk() {
            let e = this.$refs.titleInput;
            "" !== e.value.trim() && (a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, h.MessageBoxNS.Action.OK, {
                title: e.value,
                state: "ok"
            }), window.close())
        }

        isShowDefaultIcon(e, t) {
            let i = !1;
            do {
                if (-1 !== e.indexOf("ftp://") || "" === t || void 0 === t) {
                    i = !0;
                    break
                }
            } while (0);
            return i
        }

        openNewTab(e, t, i = "") {
            a.ipcRenderer.send("openNewTab-book-list", {url: e, title: t})
        }

        get bookMarkTemplate() {
            return [{
                label: "在新标签页中打开", click: () => {
                    this.bookMarkRightClick("open_new"), this.openNewTab(this.bookMarkMenuUrl, this.bookMarkMenuTitle, "new")
                }
            }, {
                label: "删除", click: () => r(this, void 0, void 0, function* () {
                    let e = yield l.asyncRemoteCall.getCurrentWindow();
                    this.options.splice(this.currentIndex, 1);
                    let t = yield e.getSize();
                    this.options.length * this.itemHeight + this.itemsPadding + this.itemsWarpperPadding < this.moreBookMarkMaxHeight && e.setSize(t[0], t[1] - this.itemHeight), a.ipcRenderer.send("delete-book-list", {url: this.bookMarkMenuUrl}), d.XLStatNS.trackEvent("clienttop", "bookmarks_delete"), 0 === this.options.length && window.close()
                })
            }]
        }

        showBookMarkMenu(e, t, i, n = {}) {
            return r(this, void 0, void 0, function* () {
                this.bookMarkMenuUrl = e, this.bookMarkMenuTitle = t, this.currentIndex = i;
                let r = yield l.asyncRemoteCall.getCurrentWindow(),
                    o = yield(yield l.asyncRemoteCall.getMenu()).buildFromTemplate(this.bookMarkTemplate);
                yield p.MenuSkinNS.setStyle(o, {}), yield o.popup(Object.assign({}, {window: r}, n)), d.XLStatNS.trackEvent("clienttop", "bookmarks_top_right_click")
            })
        }

        bookMarkRightClick(e) {
            let t = `button=${e}`;
            d.XLStatNS.trackEvent("clienttop", "bookmarks_top_right_click_menu", "", 0, 0, 0, 0, t)
        }
    };
    n([s.Prop({})], A.prototype, "options", void 0), n([s.Prop()], A.prototype, "boxId", void 0), A = n([s.Component({})], A), t.default = A
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(340), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(7), l = i(1), c = i(32), u = i(103), d = i(4), h = i(15), p = i(16),
        f = l.default.getLogger("Subtitle-Task-FileList");
    let A = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.taskId = void 0, this.taskName = "", this.videoNum = 1, this.fileList = [], this.saveDir = "", this.taskType = 2, this.categoryViewId = p.DownloadKernel.CategroyViewID.Unkown, this.columns = [{
                label: "文件名",
                prop: "fileName"
            }, {label: "操作", prop: "operate", width: 82}]
        }

        get taskIcon() {
            return this.taskType === p.DownloadKernel.TaskType.Bt ? "xly-type-bt-file" : "xly-type-group"
        }

        onVideoNumberTextClick() {
            return r(this, void 0, void 0, function* () {
                if ("" !== this.saveDir) {
                    let e = this.saveDir + "\\.";
                    (yield a.asyncRemoteCall.getShell()).showItemInFolder(e)
                }
            })
        }

        searchShooter() {
            let e = this.taskName.replace(/[\`\-\=\~\!\@\#\$\%\^\&\(\)\_\+\[\]\;\'\,\.\{\}]/g, " "),
                t = "http://subhd.com/search/" + encodeURIComponent(e);
            d.client.callServerFunction("OpenNewTab", t).catch(), window.close()
        }

        popSutitleMessageBox(e) {
            return r(this, void 0, void 0, function* () {
                (yield a.asyncRemoteCall.getIpcMain()).on("onSearchSubtitleWndClose", (e, t) => {
                    0 === t ? n.show() : n.close()
                });
                let t = "",
                    i = `pannel=${t = this.categoryViewId === p.DownloadKernel.CategroyViewID.Downloading ? "downloading" : this.categoryViewId === p.DownloadKernel.CategroyViewID.Completed ? "complete" : "trash"},cid=${e.cid},taskid=${this.taskId},filename=${encodeURIComponent(e.fileName)}`;
                h.XLStatNS.trackEvent("download_detail", "dltab_detail_viewsubtitles_click", "", 0, 0, 0, 0, i), f.information("PopSutitleMessageBox: ", i);
                let n = yield a.asyncRemoteCall.getCurrentWindow();
                yield n.hide(), u.MessageBox.custom("SubtitleSearch", {
                    taskId: this.taskId,
                    taskName: e.fileName,
                    cid: e.cid,
                    saveDir: this.saveDir,
                    from: "fileListDlg",
                    categoryViewId: this.categoryViewId
                }, {width: 500, height: 323})
            })
        }

        handleCancel(e) {
            window.close()
        }

        mounted() {
            this.taskId = this.options.taskId, f.information("taskName: ", this.taskId), this.taskName = this.options.taskName, f.information("taskName: ", this.taskName), this.taskType = this.options.taskType, f.information("taskType: ", this.taskType), this.saveDir = this.options.saveDir, f.information("saveDir: ", this.saveDir), this.fileList = this.options.fileList, this.videoNum = this.options.fileList.length, f.information("result: ", this.fileList), f.information("videoNum: ", this.videoNum), this.categoryViewId = this.options.categoryViewId, f.information("categoryViewId: ", this.categoryViewId)
        }
    };
    n([s.Prop()], A.prototype, "options", void 0), A = n([s.Component], A), t.default = A
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(342), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(2), s = i(31), a = i(5), l = i(3), c = i(7), u = i(1), d = i(18), h = i(32), p = i(4), f = i(9),
        A = i(16), v = i(15), g = f.default(o.join(__rootDir, "../bin/ThunderHelper.node")),
        m = u.default.getLogger("Subtitle-Search");
    let y = class extends (s.mixins(h.DraggableMixin, h.PositionMixin)) {
        constructor() {
            super(...arguments), this.taskId = void 0, this.taskName = "", this.taskCid = "", this.saveDir = "", this.subtitleList = [], this.searchText = "", this.searchStatus = 0, this.categoryViewId = A.DownloadKernel.CategroyViewID.Unkown, this.from = "taskList", this.columns = [{
                label: "字幕名",
                prop: "sname"
            }, {label: "语言", prop: "language", width: 82}, {label: "评价", prop: "comment", width: 105}, {
                label: "操作",
                prop: "operate",
                width: 72
            }]
        }

        get tableData() {
            return this.subtitleList.filter(e => !!e.scid)
        }

        getName(e) {
            let t = ".srt";
            if (m.information("getName ", e.surl), void 0 !== e.surl && e.surl.length > 1) {
                let i = e.surl.substring(e.surl.lastIndexOf("."));
                t = e.sname + i
            }
            return "" === e.sname ? ".srt" : t
        }

        getRate(e) {
            if (void 0 !== e) {
                if ("number" == typeof e.rate) return e.rate;
                if ("string" == typeof e.rate) return Number(e.rate)
            }
            return 0
        }

        onOperationTextClick(e) {
            return r(this, void 0, void 0, function* () {
                m.information("OnOperationTextClick");
                let t = yield c.asyncRemoteCall.getIpcMain();
                if (0 === e.status || 3 === e.status) e.status = 2, t.on(d.ThunderChannelList.channelMRDownloadSutitleSuc, t => r(this, void 0, void 0, function* () {
                    m.information("OnOperationTextClick channelMRDownloadSutitleSuc"), e.status = 1, this.stat("dltab_detail_subtitlesdown_click", "result=success")
                })), t.on(d.ThunderChannelList.channelMRDownloadSutitleFail, t => r(this, void 0, void 0, function* () {
                    m.information("OnOperationTextClick channelMRDownloadSutitleFail"), e.status = 3, this.stat("dltab_detail_subtitlesdown_click", "result=fail")
                })), m.information("send channelRMDownloadSutitle"), l.ipcRenderer.send(d.ThunderChannelList.channelRMDownloadSutitle, e, this.taskId, this.taskName); else if (1 === e.status) {
                    if (g.shellExecute(0, "open", o.join(this.saveDir, this.taskName), null, null, "SW_SHOW") <= 32) {
                        let e = this.saveDir + "\\.";
                        (yield c.asyncRemoteCall.getShell()).showItemInFolder(e)
                    }
                }
            })
        }

        stat(e, t) {
            let i = "",
                n = `pannel=${i = this.categoryViewId === A.DownloadKernel.CategroyViewID.Downloading ? "downloading" : this.categoryViewId === A.DownloadKernel.CategroyViewID.Completed ? "complete" : "trash"},cid=${this.taskCid},taskid=${this.taskId},filename=${encodeURIComponent(this.taskName)}`;
            null !== t && void 0 !== t && "" !== t && (n = `${n},${t}`), m.information(e, n), v.XLStatNS.trackEvent("download_detail", e, "", 0, 0, 0, 0, n)
        }

        searchSubtitleByName(e) {
            this.searchStatus = 0, l.ipcRenderer.on(d.ThunderChannelList.channelMRGetSutitleByNameResult, (e, t) => r(this, void 0, void 0, function* () {
                if (m.information("SearchSubtitleByName"), t) if (this.subtitleList = t, m.information("result: ", t), t.length > 1) {
                    this.searchStatus = 1;
                    for (let e of t) m.information("item: ", e)
                } else this.searchStatus = 2; else this.searchStatus = 2, m.information("result is null")
            })), m.information("SearchSubtitleByName searchText: ", this.searchText), l.ipcRenderer.send(d.ThunderChannelList.channelRMGetSutitleByName, this.searchText, this.taskId), "btn" === e && this.stat("dltab_detail_subtitlessearch_click")
        }

        searchShooter() {
            let e = "http://subhd.com/search/" + encodeURIComponent(this.searchText);
            p.client.callServerFunction("OpenNewTab", e).catch(), "fileListDlg" === this.from && l.ipcRenderer.send("onSearchSubtitleWndClose", 1), window.close()
        }

        handleCancel(e) {
            try {
                "fileListDlg" === this.from && l.ipcRenderer.send("onSearchSubtitleWndClose", 0), window.close()
            } catch (e) {
                m.warning(e)
            }
        }

        mounted() {
            this.taskId = this.options.taskId, m.information("taskId: ", this.taskId), this.taskName = this.options.taskName, m.information("taskName: ", this.taskName), this.taskCid = this.options.cid, m.information("cid: ", this.taskCid), this.saveDir = this.options.saveDir, m.information("saveDir: ", this.saveDir), this.categoryViewId = this.options.categoryViewId, m.information("categoryViewId: ", this.categoryViewId);
            let e = this.taskName.lastIndexOf(".");
            m.information("index: ", e);
            let t = "";
            t = void 0 !== e && -1 !== e ? this.taskName.substring(0, e) : this.taskName, m.information("text: ", t), this.searchText = t.replace(/[\`\-\=\~\!\@\#\$\%\^\&\(\)\_\+\[\]\;\'\,\.\{\}]/g, " "), m.information("searchText: ", this.searchText), this.from = this.options.from, m.information("from: ", this.from), l.ipcRenderer.on(d.ThunderChannelList.channelMRGetSutitleByCidResult, (e, t) => r(this, void 0, void 0, function* () {
                if (m.information("on channelMRGetSutitleByCidResult"), t) if (this.subtitleList = t, m.information(t), t.length > 1) {
                    this.searchStatus = 1;
                    for (let e of t) m.information("item: ", e)
                } else this.searchStatus = 2, this.searchSubtitleByName(); else this.searchStatus = 2, m.information("result is null"), this.searchSubtitleByName()
            })), l.ipcRenderer.send(d.ThunderChannelList.channelRMGetSutitleByCid, this.taskCid, this.taskId)
        }
    };
    n([a.Prop()], y.prototype, "options", void 0), y = n([a.Component], y), t.default = y
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(344), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(32), l = i(1), c = i(9), u = i(2), d = i(3), h = i(38), p = i(30),
        f = c.default(u.resolve(__rootDir, "../bin/ThunderHelper.node")), A = l.default.getLogger("DownloadCategory"),
        v = i(15), g = i(127);
    let m = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.szCurSelect = "", this.selectClassQQ = "td-tabs__item", this.selectClass360 = "td-tabs__item", this.selectClassSG = "td-tabs__item", this.obj360Data = null, this.objSouGouData = null, this.objQQData = null, this.path360 = `${__rootDir}/static/browser/360.gif`, this.pathSougou = `${__rootDir}/static/browser/sg.gif`, this.pathQQ = `${__rootDir}/static/browser/qq.gif`, this.windowWidth = 560, this.windowHeight = 420, this.showCount360 = 0, this.showCountOther = 0
        }

        get is360Exist() {
            return null !== this.obj360Data
        }

        get isSouGouExist() {
            return null !== this.objSouGouData
        }

        get isQQExist() {
            return null !== this.objQQData
        }

        get showTitle() {
            return this.is360Exist ? "两步支持多场景迅雷下载" : "如何在浏览器中使用迅雷下载？"
        }

        get butttonText() {
            return this.is360Exist ? "快捷设置" : "去选择迅雷下载"
        }

        handleItemClick(e) {
            this.szCurSelect = e
        }

        handleCloseButton() {
            d.ipcRenderer.send(`message-box-resolve-${this.boxId}`, p.MessageBoxNS.Action.Close), window.close()
        }

        onFinalSet() {
            return r(this, void 0, void 0, function* () {
                let e = "";
                this.obj360Data && "" === this.szCurSelect ? (this.szCurSelect = "360", this.obj360Data.browserName && (e = this.obj360Data.browserName.toLowerCase(), this.showCount360 = yield g.ConfigHelperNS.getValue("ThunderFirstInstall", `IsFirstInstall${e}`, 1))) : this.objSouGouData && "" === this.szCurSelect ? (this.szCurSelect = "SouGou", e = "other") : this.objQQData && "" === this.szCurSelect && (this.szCurSelect = "QQ", e = "other");
                do {
                    if (1 === this.showCount360 && this.is360Exist) {
                        this.szCurSelect = "360", g.ConfigHelperNS.setValue("ThunderFirstInstall", `IsFirstInstall${e}`, this.showCount360 + 1);
                        break
                    }
                    if (this.showCountOther = yield g.ConfigHelperNS.getValue("ThunderFirstInstall", "IsFirstInstallother", 1), 1 === this.showCountOther) {
                        this.isSouGouExist ? this.szCurSelect = "SouGou" : this.isQQExist && (this.szCurSelect = "QQ"), g.ConfigHelperNS.setValue("ThunderFirstInstall", "IsFirstInstallother", this.showCountOther + 1);
                        break
                    }
                } while (0)
            })
        }

        handleConfigBrowser() {
            A.information("选择迅雷下载");
            let e = null, t = "";
            switch (this.szCurSelect) {
                case"360":
                    e = this.obj360Data, t = "https://ext.se.360.cn/webstore/detail/ncennffkjdiamlpmcbajkmaiiiddgioo";
                    break;
                case"SouGou":
                    e = this.objSouGouData, t = "se://settings/?category=download";
                    break;
                case"QQ":
                    e = this.objQQData, t = "qqbrowser://settings/#search-section-content"
            }
            if (e) {
                let i = f.queryRegValue(e.reg.regRoot, e.reg.regKey, e.reg.regName);
                i = f.getLongPathName(i), f.queryFileExists(i) ? f.shellExecute(0, "open", i, t, "", "SW_SHOW") : A.information("浏览器执行文件:", i, " 不存在")
            }
            let i = "browser=" + this.szCurSelect + ",button=change_browser_donwload_mode";
            v.XLStatNS.trackEvent("setting_center", "use_xl_download_click", "", 0, 0, 0, 0, i)
        }

        onChange(e, t) {
            switch (A.information("当前选择改变了:", this.szCurSelect), e) {
                case"360":
                    -1 === this.selectClass360.indexOf("is-active") && (this.selectClass360 = this.selectClass360.concat(" is-active")), this.selectClassQQ = this.selectClassQQ.replace("is-active", ""), this.selectClassSG = this.selectClassSG.replace("is-active", "");
                    break;
                case"SouGou":
                    -1 === this.selectClassSG.indexOf("is-active") && (this.selectClassSG = this.selectClassSG.concat(" is-active")), this.selectClassQQ = this.selectClassQQ.replace("is-active", ""), this.selectClass360 = this.selectClass360.replace("is-active", "");
                    break;
                case"QQ":
                    -1 === this.selectClassQQ.indexOf("is-active") && (this.selectClassQQ = this.selectClassQQ.concat(" is-active")), this.selectClass360 = this.selectClass360.replace("is-active", ""), this.selectClassSG = this.selectClassSG.replace("is-active", "")
            }
        }

        initConfigGuide() {
            return r(this, void 0, void 0, function* () {
                if (!(yield this.isBrowserConfigInit())) return null;
                let e = f.getDefaultBrowserPath(), t = e.split("\\"), i = "";
                t && t.length > 0 && (i = t[t.length - 1]), A.information("默认浏览器运行地址为:", e, " exeName:", i), this.obj360Data = yield this.getInstallBrowserInfo("360安全浏览器"), this.objQQData = yield this.getInstallBrowserInfo("QQ浏览器"), this.objSouGouData = yield this.getInstallBrowserInfo("搜狗浏览器"), this.onFinalSet()
            })
        }

        isBrowserConfigInit() {
            return r(this, void 0, void 0, function* () {
                return new Promise(e => {
                    h.NativeCallModule.nativeCall.CallNativeFunction("IsConfigBrowserInitFinish", (t, i) => {
                        A.information("Error: Info: ", t, i), e(i)
                    })
                })
            })
        }

        getInstallBrowserInfo(e) {
            return r(this, void 0, void 0, function* () {
                return new Promise(t => {
                    h.NativeCallModule.nativeCall.CallNativeFunction("GetInstallBrowserInfo", e, (e, i) => {
                        A.information("Error: Info: ", e, i), t(i)
                    })
                })
            })
        }

        created() {
            d.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                d.ipcRenderer.send(`message-box-resolve-${this.boxId}`, p.MessageBoxNS.Action.Close)
            }), this.initConfigGuide().catch()
        }
    };
    n([s.Prop({})], m.prototype, "options", void 0), n([s.Prop()], m.prototype, "boxId", void 0), n([s.Watch("szCurSelect", {immediate: !0})], m.prototype, "onChange", null), m = n([s.Component], m), t.default = m
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(346), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(32), l = i(3), c = i(7), u = i(18);
    let d = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.progress = 1, this.timerId = -1, this.status = 0
        }

        handleCancel(e) {
            1 !== this.status && 2 !== this.status || window.close()
        }

        onClickDownloadXmp() {
            l.ipcRenderer.send(u.ThunderChannelList.channelRMDownloadXmp), window.close()
        }

        handleFixXmpSuc() {
            this.status = 1, clearTimeout(this.timerId), this.progress = 100, window.close()
        }

        handleFixXmpFail() {
            this.status = 2
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.timerId = setInterval(() => {
                    this.progress < 100 && (this.progress = this.progress + 1)
                }, 100);
                let e = yield c.asyncRemoteCall.getIpcMain();
                e.on(u.ThunderChannelList.channelMRFixXmpSuc, this.handleFixXmpSuc), e.on(u.ThunderChannelList.channelMRFixXMPFail, this.handleFixXmpFail), l.ipcRenderer.send(u.ThunderChannelList.channelRMXmpFixBoxCreated)
            })
        }

        destroyed() {
            return r(this, void 0, void 0, function* () {
                let e = yield c.asyncRemoteCall.getIpcMain();
                e.removeListener(u.ThunderChannelList.channelMRFixXmpSuc, this.handleFixXmpSuc), e.removeListener(u.ThunderChannelList.channelMRFixXMPFail, this.handleFixXmpFail), this.removeDraggable()
            })
        }
    };
    n([s.Prop()], d.prototype, "options", void 0), d = n([s.Component], d), t.default = d
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(348), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(31), o = i(5), s = i(32), a = i(3), l = i(18);
    let c = class extends (r.mixins(s.DraggableMixin, s.PositionMixin)) {
        constructor() {
            super(...arguments), this.progress = 1, this.timerId = -1, this.status = 0
        }

        handleCancel(e) {
            window.close()
        }

        onClickDownloadXmpEx() {
            a.ipcRenderer.send(l.ThunderChannelList.channelRMDownloadXmpEx), window.close()
        }

        destroyed() {
            this.removeDraggable()
        }
    };
    n([o.Prop()], c.prototype, "options", void 0), c = n([o.Component], c), t.default = c
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(350), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(32), a = i(5), l = i(136), c = i(79), u = i(164), d = i(4), h = i(3), p = i(7), f = i(202),
        A = i(1), v = i(15), g = i(126), m = i(103), y = i(30), w = A.default.getLogger("ThunderBirdKey");
    let C = class extends (o.mixins(s.DraggableMixin, s.PositionMixin)) {
        constructor() {
            super(...arguments), this.isChecked = !1, this.curBirdKey = "", this.commonBirdKey = "", this.encryptBirdKey = "", this.expiresDate = "", this.timeToClose = 5, this.userpwd = "", this.disableCopy = !1, this.showEncryptRet = !1, this.encryptResult = !1, this.usePwdChecked = !1, this.cookieforlogin = -1, this.bServerEncryptCallBack = !1
        }

        get tips() {
            return `【迅雷口令#X${this.curBirdKey}#】复制口令，打开最新版迅雷，\n        接下来就是见证奇迹的时刻！（${this.expiresDate}失效）`
        }

        get timeClose() {
            return this.timeToClose
        }

        handleInput(e) {
            if ("string" != typeof e) return;
            let t = new RegExp("^[0-9a-zA-Z]+$"), i = e.match(t), n = this.userpwd;
            this.userpwd = e, i && i.length > 0 ? this.userpwd = e : this.userpwd = n, "" === e && (this.userpwd = e)
        }

        handleCheck(e) {
            let t, i;
            if (this.isChecked = e, this.isChecked) {
                t = "common", i = !0;
                let e = this.$refs.inputObj.$el.querySelector("input");
                e && this.$nextTick(() => {
                    e.focus()
                })
            } else t = "encrypted", i = !1;
            f.setBirdKeyPriority(this.options.url, t, i).then(e => {
                w.information("设置口令接口返回:", e.data), this.isWindowTrytoClose || "object" == typeof e && e.data && (w.information("设置口令优先级结果码:", e.data.code), this.isChecked ? "" !== this.encryptBirdKey ? (this.curBirdKey = this.encryptBirdKey, this.disableCopy = !1) : this.disableCopy = !0 : "" === this.commonBirdKey ? this.birdkeyPreHandle("", this.options.url, !1, "unchecked") : this.curBirdKey = this.commonBirdKey)
            }).catch(e => {
                w.information("设置口令优先级失败:", e)
            }), this.isChecked ? this.disableCopy = !0 : this.disableCopy = !1
        }

        handleKeyLogic() {
            this.bringMainWndToTop(), w.information("迅雷口令界面"), this.options.showType === f.ShowType.ShowUI_Creating ? this.createBirdKey().catch() : this.options.showType === f.ShowType.ShowUI_Decoding && this.analysisBirdKey(), this.selfCopyFlag = !1, this.isWindowTrytoClose = !1
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                let e = yield p.asyncRemoteCall.getCurrentWindow(), t = !0;
                e && (t = yield e.isVisible()), t ? this.handleKeyLogic() : e.once("show", () => {
                    this.handleKeyLogic()
                })
            })
        }

        bringMainWndToTop() {
            this.options && d.client.callServerFunction("BringMainWndToTop").catch()
        }

        onClickClose() {
            this.isWindowTrytoClose = !0, window.close()
        }

        onEncryptKey() {
            return r(this, void 0, void 0, function* () {
                let e = yield d.client.callServerFunction("GetUserInfo"), t = void 0;
                t = this.isChecked && "" !== this.userpwd ? "encrypted" : "common";
                let i = this.getUserIDFromString(e);
                "string" == typeof i && i.length > 0 ? this.handleEncryptBirdKey(i, this.options.url, t, this.userpwd, !1) : this.handleShowLoginContinue(this.options.url, t, this.userpwd)
            })
        }

        handleShowLoginContinue(e, t, i) {
            return r(this, void 0, void 0, function* () {
                let n = yield l.default(!1, !0, "birdkeyencrypt");
                n && "" !== n && this.handleEncryptBirdKey(n, e, t, i)
            })
        }

        handleEncryptBirdKey(e, t, i, n, r, o) {
            w.information("加密迅雷口令 userid = ", e, " checked=", this.isChecked, " password = ", this.userpwd), this.birdkeyEncode(e, t, i, this.userpwd, !1, e => {
                this.showEncryptRet = !0, this.encryptResult = e, e && (this.disableCopy = !1, this.bServerEncryptCallBack = !0, this.statCreateBirdKey("dltab_detail_encryption_xl_password", !0)), setTimeout(() => {
                    this.showEncryptRet = !1
                }, 700)
            })
        }

        queryBirdkeyInfo(e, t) {
            f.queryBirdKeyInfo(this.options.url, e).then(i => {
                if (this.isWindowTrytoClose) t("pass"); else if ("object" == typeof i) if (i.data) if (w.information("查询口令接口返回:", i.data), 200 === i.data.code) {
                    let n = "";
                    "number" == typeof i.data.link.uid && (n = i.data.link.uid.toString()), n === e && "encrypted" === i.data.link.type ? (this.isChecked = !0, this.userpwd = i.data.link.passwd, this.bServerEncryptCallBack = !0, this.encryptBirdKey = i.data.bird_key) : (this.isChecked = !1, this.commonBirdKey = i.data.bird_key), t("ok", i.data.bird_key)
                } else this.isChecked = !1, this.userpwd = "", t("nokey"); else t("fail"); else t("fail")
            }).catch(e => {
                t("exception")
            })
        }

        retryEncode() {
            this.createBirdKey(!0).catch(), this.showUI(f.ShowType.ShowUI_Creating)
        }

        retryDecode() {
            this.analysisBirdKey(!0), this.showUI(f.ShowType.ShowUI_Decoding)
        }

        handleCreateTask(e, t) {
            return r(this, void 0, void 0, function* () {
                if (!e) return;
                let i = e.filter(e => "encrypted" === e.type && "string" == typeof e.password),
                    n = e.filter(e => "encrypted" !== e.type || "string" != typeof e.password);
                if (n.length > 0) yield d.client.callServerFunction("CreateNewTaskEx", n); else if (!(i.length > 0)) return void this.delayShow(f.ShowType.ShowUI_DecodeFailed, t);
                let r = [], o = yield p.asyncRemoteCall.getCurrentWindow();
                o.setClosable(!1);
                let s = this.$refs.dialogDecode.$el;
                s && (s.style.pointerEvents = "none");
                for (let e = 0; e < i.length; e++) {
                    const t = i[e];
                    let n;
                    n = yield m.MessageBox.custom("BridKeyPwdcheck", {taskUrlItem: t}, {modal: !1}), w.information("验证框返回"), n.action === y.MessageBoxNS.Action.OK && n.args && n.args.success && r.push(t)
                }
                w.information("验证框返回 urls=", r), yield d.client.callServerFunction("CreateNewTaskEx", r), o.setClosable(!0), s && (s.style.pointerEvents = "auto"), setTimeout(() => {
                    document && window && window.close()
                }, 300)
            })
        }

        getStatPublicData() {
            let e = "";
            return this.options.statData ? (this.options.statData.pannel && (e = e + "pannel=" + this.options.statData.pannel), this.options.statData.gcid && (e = e + ",gcid=" + this.options.statData.gcid), this.options.statData.taskid && (e = e + ",taskid=" + this.options.statData.taskid), this.options.statData.filename && (e = e + ",filename=" + encodeURIComponent(this.options.statData.filename)), this.options.statData.pannelType && (e = e + ",pannel_type=" + this.options.statData.pannelType), this.options.statData.taskType && (e = e + ",task_type=" + this.options.statData.taskType), e) : e
        }

        statCreateBirdKey(e, t) {
            let i = this.getStatPublicData();
            if (0 === i.length) return;
            let n = 0;
            this.isChecked && this.bServerEncryptCallBack && (n = 1), i = i + ",bird=" + encodeURI(this.tips), !0 !== t && (i = i + ",is_encryption=" + n), w.information("[bird]stat attr:", e, " extData:", i), v.XLStatNS.trackEvent("download_detail", e, "", 0, 0, 0, 0, i)
        }

        statDecodeBirdKey(e, t, i, n) {
            let r = "bird=" + encodeURIComponent(t || this.tips);
            this.options.statData.from && (r = r + ",type=" + this.options.statData.from);
            let o = 0;
            r = r + ",is_encryption=" + (o = "encrypted" === i ? 1 : 0), !0 === n ? r += ",is_task_group=1" : !1 === n && (r += ",is_task_group=0"), w.information("[bird]stat attr:", e, " extData:", r), v.XLStatNS.trackEvent("download_detail", e, "", 0, 0, 0, 0, r)
        }

        onCreateBirdKeySucc(e) {
            w.information("生成迅雷口令成功,口令码:", e.data.bird_key), this.curBirdKey = e.data.bird_key, "encrypted" === e.data.type ? this.encryptBirdKey = e.data.bird_key : this.commonBirdKey = e.data.bird_key;
            let t = (new Date).getTime(), i = new Date(t + 5184e6);
            this.expiresDate = u.TimeHelperNS.formatDate(i, "yyyy年MM月d日"), this.showUI(f.ShowType.ShowUI_CreateSucc)
        }

        onQueryBirdKeySucc(e, t) {
            if (w.information("(经过查询)生成迅雷口令成功,口令码:", e), this.curBirdKey = e, "unchecked" !== t) {
                let e = (new Date).getTime(), t = new Date(e + 5184e6);
                this.expiresDate = u.TimeHelperNS.formatDate(t, "yyyy年MM月d日"), this.showUI(f.ShowType.ShowUI_CreateSucc), this.statCreateBirdKey("dltab_detail_bird_share_click")
            }
        }

        onQueryBirdKeyFail(e, t, i) {
            w.information("(经过查询)生成迅雷口令失败,ret=", e), "unchecked" !== i && (this.delayShow(f.ShowType.ShowUI_CreateFailed, t), this.statCreateBirdKey("dltab_detail_bird_share_failed"))
        }

        onCreateBirdKeyFail(e, t, i) {
            e ? w.error("生成迅雷口令失败,data:", e.data) : w.error("生成迅雷口令异常, reason=", i), this.delayShow(f.ShowType.ShowUI_CreateFailed, t), this.statCreateBirdKey("dltab_detail_bird_share_failed")
        }

        birdkeyEncode(e, t, i, n, r, o) {
            f.encodeBirdKey(t, e, i, n).then(e => {
                this.isWindowTrytoClose || "object" == typeof e && e.data && ("ok" === e.data.result ? (this.onCreateBirdKeySucc(e), "function" == typeof o && o(!0)) : (this.onCreateBirdKeyFail(e, r), "function" == typeof o && o(!1)))
            }).catch(e => {
                this.onCreateBirdKeyFail(null, r, e), "function" == typeof o && o(!1)
            })
        }

        birdkeyPreHandle(e, t, i, n) {
            this.queryBirdkeyInfo(e, (e, t) => {
                let r = !1;
                "ok" === e || (r = !0), "string" != typeof t && (r = !0), r ? this.onQueryBirdKeyFail(e, i, n) : this.onQueryBirdKeySucc(t, n)
            })
        }

        createBirdKey(e) {
            return r(this, void 0, void 0, function* () {
                let e = yield d.client.callServerFunction("GetUserInfo"), t = this.getUserIDFromString(e);
                this.birdkeyPreHandle(t, this.options.url)
            })
        }

        getUserIDFromString(e) {
            let t = null;
            try {
                t = JSON.parse(e)
            } catch (e) {
                t = null
            }
            let i = "";
            return t && (i = t[1].userid), i
        }

        analysisBirdKey(e) {
            if (w.information("剪贴板的迅雷口令相应:", this.options.birdkeyChars), !this.options.birdkeyChars) return;
            if (0 === this.options.birdkeyChars.length) return;
            let t = g.URLHelperNS.isBirdKey(this.options.birdkeyChars);
            if (!t || 0 === t.length) return;
            if (f.getBirdKeyMgr().isSameBirdKey(t) && !e) return;
            let i = [], n = 0;
            for (let e = 0; e < t.length; e++) {
                n = t[e].length;
                const r = t[e].substring(2, n - 1);
                i.push(f.decodeBirdKey(r.toLowerCase()))
            }
            Promise.all(i).then(t => {
                if (this.isWindowTrytoClose) return;
                "object" != typeof t && w.error("请求口令回传参数错误", t);
                let i = [];
                for (let e = 0; e < t.length; e++) {
                    if (w.information("解析迅雷口令，服务器回应:", t[e].data), !t[e].data) continue;
                    if ("ok" !== t[e].data.result) {
                        this.statDecodeBirdKey("bird_parse_fail", this.options.birdkeyChars, "unknown");
                        continue
                    }
                    if ("string" != typeof t[e].data.url) continue;
                    let n = !1, r = t[e].data.url;
                    if (r.indexOf("%") > -1 && (r = decodeURIComponent(r)), r.match("%20") && (r = decodeURI(r)), r.includes("taskGroupName") ? n = !0 : f.saveVestUrlToConfig(r, "vest" === t[e].data.type), this.statDecodeBirdKey("bird_parse_success", this.options.birdkeyChars, t[e].data.type, n), w.information(" decodeURL before:", t[e].data.url, " after:", r), !this.isURLExist(r, i)) {
                        let n = "0";
                        "number" == typeof t[e].data.uid ? n = t[e].data.uid.toString() : "string" == typeof t[e].data.uid && (n = t[e].data.uid);
                        let o = "birdkey";
                        this.options.statData && this.options.statData.from && (o = this.options.statData.from);
                        let s = {
                            url: r,
                            stat: o,
                            type: t[e].data.type,
                            password: t[e].data.passwd,
                            userid: n,
                            birdkeyChars: this.options.birdkeyChars
                        };
                        i.push(s)
                    }
                }
                this.handleCreateTask(i, e)
            }).catch(t => {
                this.delayShow(f.ShowType.ShowUI_DecodeFailed, e)
            }), f.getBirdKeyMgr().setLastBirdKey(t), this.statDecodeBirdKey("bird_parse_start")
        }

        isURLExist(e, t) {
            let i = !1;
            if (!t) return i;
            if (0 === t.length) return i;
            for (let n = 0; n < t.length; n++) if (t[n].url === e) {
                i = !0;
                break
            }
            return i
        }

        onCopyBtnClick() {
            this.selfCopyFlag = !0, this.statCreateBirdKey("dltab_detail_bird_copy_click");
            let e = this.tips;
            e = (e = (e = e.replace(/\r\n/g, "")).replace(/\n/g, "")).replace(/\s+/g, ""), h.clipboard.writeText(e), this.showUI(f.ShowType.ShowUI_CreateSuccDis), this.timeCloseCookie = setInterval(e => {
                this.timeToClose -= 1, this.timeToClose <= 0 && (clearInterval(this.timeCloseCookie), this.timeCloseCookie = null, window.close())
            }, 1e3)
        }

        delayShow(e, t) {
            t ? setTimeout(() => {
                this.showUI(e)
            }, 300) : this.showUI(e)
        }

        showUI(e) {
            let t = this.options.showType;
            this.options.showType = e;
            let i = 0, n = 0;
            e === f.ShowType.ShowUI_CreateSuccDis ? (i = 400, n = 214) : e === f.ShowType.ShowUI_CreateSucc && (i = 400, n = 264), t !== e && this.$nextTick(() => {
                c.ThunderWindowNS.resizeToFitContent(i, n), e !== f.ShowType.ShowUI_CreateSuccDis && c.ThunderWindowNS.fitWindowPosInParent()
            })
        }
    };
    n([a.Prop()], C.prototype, "options", void 0), C = n([a.Component({})], C), t.default = C
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(352), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(3), a = i(7), l = i(4);
    let c = class extends o.Vue {
        constructor() {
            super(...arguments), this.tabsCopy = [], this.currentCopy = 0
        }

        get tabs() {
            return this.options.tabs
        }

        get current() {
            return this.options.current
        }

        get unpinnedLength() {
            return this.tabsCopy.filter(e => !e.pinned).length
        }

        isShowDefaultIcon(e) {
            let t = !1, i = this.tabsCopy[e].title;
            do {
                if ("新标签页" === i) {
                    t = !0;
                    break
                }
                if (-1 !== i.indexOf("ftp://")) {
                    t = !0;
                    break
                }
                if ("" === this.tabsCopy[e].tab.iconUrl || void 0 === this.tabsCopy[e].tab.iconUrl) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        }

        handleIconUrl(e) {
            return this.tabsCopy[e].tab.iconUrl
        }

        handleRemove(e) {
            l.client.callServerFunction("CloseTabByIndex", e).catch()
        }

        handleUpdateCurrent(e) {
            this.currentCopy !== e && l.client.callServerFunction("SelectTab", e).catch(), s.ipcRenderer.send("total-tabs-hide"), this.win.hide()
        }

        created() {
            return r(this, void 0, void 0, function* () {
                this.currentCopy = this.current, this.tabsCopy = this.tabs, this.win = yield a.asyncRemoteCall.getCurrentWindow(), this.win.on("blur", () => {
                    s.ipcRenderer.send("total-tabs-hide"), this.win.hide()
                }), (yield a.asyncRemoteCall.getIpcMain()).on("total-tabs-update", (e, t) => {
                    this.tabsCopy = t.tabs, this.currentCopy = t.current
                })
            })
        }

        mounted() {
            this.win.show(), this.$refs["item" + this.current][0].scrollIntoView()
        }
    };
    n([o.Prop()], c.prototype, "options", void 0), c = n([o.Component({})], c), t.default = c
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(354), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(3), s = i(31), a = i(5), l = i(32), c = i(734), u = i(736), d = i(739), h = i(740), p = i(742),
        f = i(744), A = i(41), v = i(495), g = i(157), m = i(1), y = i(38), w = i(15), C = i(11), b = i(30), x = i(4),
        I = m.default.getLogger("Individuation"), {isDef: k} = C.ThunderUtil;
    let S = class extends (s.mixins(l.DraggableMixin, l.PositionMixin)) {
        constructor() {
            super(...arguments), this.tabs = [{title: "皮肤", key: "skin"}, {
                title: "头像",
                key: "avatar"
            }], this.activeKey = "skin", this.skinTabs = [{title: "精选", key: "featured"}, {
                title: "速度条",
                key: "speedcurve"
            }, {title: "悬浮窗", key: "suspension"}, {
                title: "超级皮肤",
                key: "supervip",
                class: "td-tabs__item2",
                title_suffix: "svip"
            }], this.skinActiveKey = "featured", this.skinInfo = A.SkinHelperNS.defaultSkinInfo, this.isTemp = !1, this.lastSkinInfo = null, this.lastIsTemp = !1, this.wallpaper = null, this.shakeInfo = null, this.tempShakeWallpaper = null, this.speedCurveSkinInfo = v.SpeedCurveSkinHelperNS.defaultSkinInfo, this.lastSpeedCurveSkinInfo = null, this.suspensionSkinInfo = g.SuspensionSkinHelperNS.defaultSkinInfo, this.lastSuspensionSkinInfo = null, this.isLogined = !1, this.userId = "", this.isVip = !1, this.vasType = 0, this.windowWidth = 600, this.windowHeight = 440, this.tryCoverShow = !1, this.coverFrom = ""
        }

        get currentTabSkinInfo() {
            let e = null;
            switch (this.skinActiveKey) {
                case"speedcurve":
                    e = this.speedCurveSkinInfo;
                    break;
                case"suspension":
                    e = this.suspensionSkinInfo;
                    break;
                case"supervip":
                    e = this.skinInfo
            }
            return e
        }

        get currentTabLastSkinInfo() {
            let e = null;
            switch (this.skinActiveKey) {
                case"speedcurve":
                    e = this.lastSpeedCurveSkinInfo;
                    break;
                case"suspension":
                    e = this.lastSuspensionSkinInfo;
                    break;
                case"supervip":
                    e = this.lastSkinInfo
            }
            return e
        }

        get isPlatinumVip() {
            return this.isVip && k(this.vasType) && this.vasType > 2
        }

        get isSuperVip() {
            return this.isVip && 5 === this.vasType
        }

        canUseSpeedCurveSkin(e) {
            let t = !0;
            return e.type === v.SpeedCurveSkinHelperNS.SkinType.SuperVip ? t = this.isSuperVip : e.type === v.SpeedCurveSkinHelperNS.SkinType.Vip && (t = this.isVip), t
        }

        canUseSuspensionSkin(e) {
            let t = !0;
            return e.type === g.SuspensionSkinHelperNS.SkinType.Vip && (t = this.isVip), t
        }

        openVip() {
            return r(this, void 0, void 0, function* () {
                this.trackEvent("user_info", "open_vip", {type: "skin" === this.activeKey ? "skin" : "head_image"}), yield x.client.callServerFunction("OpenNewTab", "https://pay.xunlei.com/pay.html?bizNo=baijin&referfrom=v_pc_xlx_ggong_skincenter"), this.closeWindow()
            })
        }

        updateIsVip() {
            return r(this, void 0, void 0, function* () {
                try {
                    let e = JSON.parse(yield x.client.callServerFunction("GetUserInfo", 2));
                    k(e) && (this.vasType = 5, this.isVip = 1)
                } catch (e) {
                    I.warning(e)
                }
            })
        }

        loadUserInfo() {
            return r(this, void 0, void 0, function* () {
                this.isLogined = yield x.client.callServerFunction("IsLogined"), this.isLogined && (this.userId = yield x.client.callServerFunction("GetUserID")), yield this.updateIsVip()
            })
        }

        changeMainTab() {
            "avatar" === this.activeKey && this.trackEvent("user_info", "change_tab", {
                type: "head_image",
                tab: "all_head_image"
            })
        }

        changeTab() {
            let e = {skin: "skin", avatar: "head_image"}[this.activeKey], t = {
                featured: "recommend",
                speedcurve: " progress_bar",
                suspension: "float_ball",
                supervip: "super_skin"
            }[this.skinActiveKey];
            this.trackEvent("user_info", "change_tab", {type: e, tab: t})
        }

        trackEvent(e, t, i) {
            w.XLStatNS.trackEvent(e, t, "", 0, 0, 0, 0, Object.assign({
                is_login: Number(this.isLogined),
                is_vip: Number(this.isVip),
                vip_type: this.vasType
            }, i))
        }

        restoreSkin() {
            return r(this, void 0, void 0, function* () {
                k(this.lastSkinInfo) && (yield this.setSkinInfo(this.lastSkinInfo, void 0, void 0, this.lastIsTemp), this.lastSkinInfo = null, this.lastIsTemp = !1)
            })
        }

        restoreSpeedCurveSkin() {
            return r(this, void 0, void 0, function* () {
                this.canUseSpeedCurveSkin(this.speedCurveSkinInfo) || (yield this.setSpeedCurveSkinInfo(this.lastSpeedCurveSkinInfo))
            })
        }

        restoreSuspensionSkin() {
            return r(this, void 0, void 0, function* () {
                this.canUseSuspensionSkin(this.suspensionSkinInfo) || (yield this.setSuspensionSkinInfo(this.lastSuspensionSkinInfo))
            })
        }

        closeWindow() {
            return r(this, void 0, void 0, function* () {
                yield this.restoreSkin(), yield this.restoreSpeedCurveSkin(), yield this.restoreSuspensionSkin(), yield this.restoreShakeInfo(), o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, b.MessageBoxNS.Action.Close), w.XLStatNS.trackEvent("user_info", "personalized_center_close"), window.close()
            })
        }

        setSkinInfo(e, t, i = null, n = !1) {
            return r(this, void 0, void 0, function* () {
                this.wallpaper = i;
                try {
                    yield x.client.callServerFunction("SetSkinInfo", e, !0, n)
                } catch (e) {
                    I.warning(e)
                }
            })
        }

        setShakeInfo(e, t = !1, i) {
            return r(this, void 0, void 0, function* () {
                t || (this.shakeInfo = e), this.tempShakeWallpaper = i;
                try {
                    yield x.client.callServerFunction("SetShakeInfo", e, t)
                } catch (e) {
                    I.warning(e)
                }
            })
        }

        restoreShakeInfo() {
            return r(this, void 0, void 0, function* () {
                try {
                    yield x.client.callServerFunction("SetShakeInfo", this.shakeInfo, !1)
                } catch (e) {
                    I.warning(e)
                }
            })
        }

        setSpeedCurveSkinInfo(e, t = !1) {
            return r(this, void 0, void 0, function* () {
                this.speedCurveSkinInfo = e, this.canUseSpeedCurveSkin(e) && (this.lastSpeedCurveSkinInfo = e);
                try {
                    yield x.client.callServerFunction("SetSpeedCurveSkinInfo", e, !0, t)
                } catch (e) {
                    I.warning(e)
                }
            })
        }

        setSuspensionSkinInfo(e, t = !1) {
            return r(this, void 0, void 0, function* () {
                this.suspensionSkinInfo = e, this.canUseSuspensionSkin(e) && (this.lastSuspensionSkinInfo = e);
                try {
                    yield x.client.callServerFunction("SetSuspensionSkinInfo", e, !0, t)
                } catch (e) {
                    I.warning(e)
                }
            })
        }

        setLastSkinInfo(e) {
            switch (this.skinActiveKey) {
                case"speedcurve":
                    this.setSpeedCurveSkinInfo(e).catch();
                    break;
                case"suspension":
                    this.setSuspensionSkinInfo(e).catch();
                    break;
                case"supervip":
                    this.restoreSkin().catch()
            }
        }

        handleClose() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, b.MessageBoxNS.Action.Close), w.XLStatNS.trackEvent("user_info", "personalized_center_close"), window.close()
        }

        onCoverShow(e, t) {
            this.tryCoverShow = e, this.coverFrom = t || ""
        }

        updateLastSkinInfo() {
            this.lastSkinInfo = this.skinInfo, this.lastIsTemp = this.isTemp
        }

        created() {
            return r(this, void 0, void 0, function* () {
                o.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                    this.restoreSkin(), this.restoreSpeedCurveSkin(), this.restoreSuspensionSkin(), this.restoreShakeInfo()
                }), x.client.callServerFunction("GetSkinInfoDetail").then(e => {
                    let t = e;
                    t && (this.skinInfo = t.skinInfo, this.isTemp = t.temp)
                }), x.client.callServerFunction("GetSpeedCurveSkinInfo").then(e => {
                    e.is_vip_try || (this.speedCurveSkinInfo = e), this.lastSpeedCurveSkinInfo = this.speedCurveSkinInfo
                }, e => {
                    I.warning(e)
                }), x.client.callServerFunction("GetSuspensionSkinInfo").then(e => {
                    this.suspensionSkinInfo = e, this.lastSuspensionSkinInfo = this.suspensionSkinInfo
                }, e => {
                    I.warning(e)
                }), this.loadUserInfo().then(() => {
                    let e = "", t = "";
                    k(this.options) && (e = this.options.activeKey || "", t = this.options.skinActiveKey || "");
                    let i = {skin: "skin", avatar: "head_image"}[e], n = {
                        featured: "recommend",
                        speedcurve: " progress_bar",
                        suspension: "float_ball",
                        supervip: "super_skin"
                    }[t];
                    "avatar" === e && (n = void 0);
                    let r = void 0;
                    k(this.options) && k(this.options.from) && (r = this.options.from), this.trackEvent("user_info", "personalized_center_show", {
                        type: i,
                        tab: n,
                        from: r
                    }), x.client.callServerFunction("GetShakeInfo", this.userId).then(e => {
                        this.shakeInfo = e
                    }, e => {
                        I.warning(e)
                    })
                }, e => {
                    I.warning(e)
                }), x.client.attachServerEvent("OnChangeSkin", (e, t, i, n) => {
                    this.skinInfo = t, this.isTemp = n
                }), x.client.attachServerEvent("OnChangeSpeedCurveSkin", (e, t, i, n) => {
                    i || n || (this.speedCurveSkinInfo = t)
                }), x.client.attachServerEvent("OnChangeSuspensionSkin", (e, t, i, n) => {
                    i || n || (this.suspensionSkinInfo = t)
                }), y.NativeCallModule.nativeCall.AttachNativeEvent("OnUserLogin", e => {
                    this.isLogined = !0, this.userId = e, this.updateIsVip()
                }), y.NativeCallModule.nativeCall.AttachNativeEvent("OnUserLogout", () => {
                    this.isLogined = !1, this.userId = "", this.isVip = !1, this.vasType = 0
                }), y.NativeCallModule.nativeCall.AttachNativeEvent("OnLoginWndClose", e => {
                    "suc" !== e && (o.ipcRenderer.send("update-skin-reserved", !1), this.restoreSkin(), this.restoreSpeedCurveSkin(), this.restoreSuspensionSkin(), this.restoreShakeInfo())
                })
            })
        }

        mounted() {
            k(this.options) && (k(this.options.activeKey) && (this.activeKey = this.options.activeKey), k(this.options.skinActiveKey) && (this.skinActiveKey = this.options.skinActiveKey))
        }
    };
    n([a.Prop()], S.prototype, "options", void 0), n([a.Prop()], S.prototype, "boxId", void 0), S = n([a.Component({
        components: {
            PaneSkinFeatured: u.default,
            PaneSkinSuperCool: d.default,
            PaneSkinSpeedcurve: h.default,
            PaneSkinSuspension: p.default,
            PaneAvatar: f.default,
            PanelTryCover: c.default
        }
    })], S), t.default = S
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(356), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(1), a = i(15), l = i(4), c = i(157), u = i(495), d = s.default.getLogger("skin-try-cover");
    let h = class extends o.Vue {
        constructor() {
            super(...arguments), this.normalIcon = i(607), this.vipIcon = i(735), this.guideSrc = "", this.aidfrom = "", this.payconfid = "", this.openBtnClass = "xlx-skin-try__btn2"
        }

        get tryBtnText() {
            let e = "开通会员";
            {
                let t = "白金会员";
                switch (this.aidfrom = "", this.openBtnClass = "xlx-skin-try__btn2", this.currentTabKey) {
                    case"speedcurve":
                        this.aidfrom = "bj", this.skinInfo.type === u.SpeedCurveSkinHelperNS.SkinType.SuperVip && (t = "超级会员", this.aidfrom = "ch", this.payconfid = "45616dd701", this.openBtnClass = "xlx-skin-try__btn"), this.skinInfo.previewSavePath && (this.guideSrc = `file:///${this.skinInfo.previewSavePath}`);
                        break;
                    case"suspension":
                        this.aidfrom = "floatball_vip", this.skinInfo.type === c.SuspensionSkinHelperNS.SkinType.Vip ? this.guideSrc = this.vipIcon : this.guideSrc = this.normalIcon;
                        break;
                    case"supervip":
                        this.aidfrom = "super_skin", "supercool_shake" === this.from ? (this.guideSrc = this.tempShake && (this.tempShake.payPreview || this.tempShake.preview) || "", this.tempShake && this.tempShake.is_svip && (t = "超级会员", this.openBtnClass = "xlx-skin-try__btn", this.payconfid = "45616dd701")) : (this.guideSrc = this.wallpaper && (this.wallpaper.payPreview || this.wallpaper.preview) || "", this.wallpaper && this.wallpaper.is_svip && (t = "超级会员", this.openBtnClass = "xlx-skin-try__btn", this.payconfid = "45616dd701"))
                }
                let i = "开通";
                "超级会员" === t && this.isVip && (i = "升级"), e = `${i}${t}`
            }
            return e
        }

        get tryTitle() {
            return `正在试用，${this.tryBtnText}立即享用`
        }

        get statKtFrom() {
            let e = "";
            switch (this.currentTabKey) {
                case"speedcurve":
                    e = "progress_bar";
                    break;
                case"suspension":
                    e = "float_ball";
                    break;
                case"supervip":
                    e = "super_skin"
            }
            return e
        }

        closeCover() {
            this.$emit("cover-show", !1), "supercool_shake" === this.from ? this.$emit("restore-shake-info") : this.lastSkinInfo && this.$emit("set-skin-info", this.lastSkinInfo)
        }

        trackEvent(e, t, i) {
            a.XLStatNS.trackEvent(e, t, "", 0, 0, 0, 0, Object.assign({
                is_login: Number(this.isLogined),
                vip_type: this.vasType
            }, i))
        }

        onClickOpenVip() {
            return r(this, void 0, void 0, function* () {
                this.$emit("cover-show", !1), this.trackEvent("user_info", "open_vip_tip_click", {
                    type: "skin",
                    button: "open_vip",
                    kt_type: "45616dd701" === this.payconfid ? "ch" : "bj",
                    kt_from: this.statKtFrom
                });
                let e = `https://pay.xunlei.com/pay.html?referfrom=v_pc_xlx_ggong_skin_kt&aidfrom=${this.aidfrom}`;
                this.payconfid && (e = `${e}&payconfid=${this.payconfid}`);
                try {
                    yield l.client.callServerFunction("OpenNewTab", e), this.$emit("close-window")
                } catch (e) {
                    d.warning(e)
                }
            })
        }
    };
    n([o.Prop()], h.prototype, "currentTabKey", void 0), n([o.Prop()], h.prototype, "skinInfo", void 0), n([o.Prop()], h.prototype, "lastSkinInfo", void 0), n([o.Prop()], h.prototype, "wallpaper", void 0), n([o.Prop()], h.prototype, "tempShake", void 0), n([o.Prop()], h.prototype, "isLogined", void 0), n([o.Prop()], h.prototype, "isVip", void 0), n([o.Prop()], h.prototype, "vasType", void 0), n([o.Prop()], h.prototype, "from", void 0), h = n([o.Component], h), t.default = h
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(358), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(3), s = i(5), a = i(737), l = i(41), c = i(4), u = i(1), d = i(608), h = i(11), p = i(9), f = i(2),
        A = i(15), v = i(199), g = p.default(f.join(__rootDir, "../bin/ThunderHelper.node")),
        m = u.default.getLogger("Individuation"), {isDef: y} = h.ThunderUtil;
    let w = null, C = class extends s.Vue {
        constructor() {
            super(...arguments), this.colorList = a.SkinConfigNS.colorList, this.skinType = l.SkinHelperNS.SkinType, this.defaultPreview = JSON.stringify(`${__rootDir}/static/default-preview.jpg`), this.updateDialogVisible = !1, this.vipDialogVisible = !1, this.loginLayerVisible = !1, this.index = null, this.showSkinNew = !0, this.skinNew = [1], this.wallpapers = []
        }

        get colorItem() {
            return this.colorList.find(e => e.id === this.skinInfo.colorID)
        }

        sget() {
            return v(...arguments)
        }

        trackEvent(e, t, i) {
            A.XLStatNS.trackEvent(e, t, "", 0, 0, 0, 0, Object.assign({
                is_login: Number(this.isLogined),
                is_vip: Number(this.isVip)
            }, i))
        }

        changeWallpaper(e, t) {
            return r(this, void 0, void 0, function* () {
                if (e.is_vip && this.isLogined && !this.isVip && (this.vipDialogVisible = !0, this.$emit("update-last-skin-info"), this.trackEvent("user_info", "open_vip_tip_show", {type: "skin"})), !e.is_dynamic || y(this.options.dynamicSkinVersion) && h.ThunderUtil.versionCompare(this.options.version, this.options.dynamicSkinVersion) >= 0) {
                    let i = yield d.default.getImage(e), n = !!e.is_vip;
                    this.$emit("set-skin-info", {
                        type: l.SkinHelperNS.SkinType.Wallpaper,
                        colorID: e.color,
                        image: i,
                        opacity: e.transparency / 100,
                        skinID: e.id,
                        is_spring_festival: "春节皮肤" === e.name
                    }, t, e, n)
                } else this.vipDialogVisible || (this.updateDialogVisible = !0, this.trackEvent("user_info", "update_now"))
            })
        }

        updateApp() {
            g.startManualUpdateWithUI(), this.updateDialogVisible = !1, this.trackEvent("user_info", "click_update_now")
        }

        openVip() {
            return r(this, void 0, void 0, function* () {
                this.trackEvent("user_info", "open_vip_tip_click", {type: "skin", button: "open_vip"});
                try {
                    yield c.client.callServerFunction("OpenNewTab", "https://pay.xunlei.com/pay.html?bizNo=baijin"), this.$emit("close-window")
                } catch (e) {
                    m.warning(e)
                }
            })
        }

        showloginDlg(e) {
            return r(this, void 0, void 0, function* () {
                try {
                    yield c.client.callServerFunction("ShowLoginDlg", "personalized_center"), this.loginLayerVisible = !1, this.vipDialogVisible = !1, o.ipcRenderer.send("update-skin-reserved", !0)
                } catch (e) {
                    m.warning(e)
                }
                "loginLayer" === e ? A.XLStatNS.trackEvent("user_info", "change_comfirm_box_click", "", 0, 0, 0, 0, {
                    id: this.index,
                    button: "confirm"
                }) : "vipDialog" === e && this.trackEvent("user_info", "open_vip_tip_click", {
                    type: "skin",
                    button: "login"
                })
            })
        }

        isChosen(e, t) {
            return e === this.skinInfo.type && (e === l.SkinHelperNS.SkinType.Default ? this.skinInfo.type === l.SkinHelperNS.SkinType.Default : e === l.SkinHelperNS.SkinType.Color ? this.skinInfo.colorID === t.id : e === l.SkinHelperNS.SkinType.Wallpaper && this.skinInfo.skinID === t.id)
        }

        setSkinInfo(e, t, i) {
            let n = e === l.SkinHelperNS.SkinType.Default ? 1 : 0;
            do {
                if (this.isChosen(e, t)) {
                    n = 1;
                    break
                }
                if (e === l.SkinHelperNS.SkinType.Default || this.isLogined || (e === l.SkinHelperNS.SkinType.Wallpaper && t.is_vip ? (this.vipDialogVisible = !0, this.trackEvent("user_info", "open_vip_tip_show", {type: "skin"})) : (this.loginLayerVisible = !0, A.XLStatNS.trackEvent("user_info", "change_comfirm_box_show")), this.$emit("update-last-skin-info")), this.index = i, e === l.SkinHelperNS.SkinType.Default ? this.$emit("set-skin-info", {
                    type: l.SkinHelperNS.SkinType.Default,
                    colorID: 0
                }, 10) : e === l.SkinHelperNS.SkinType.Color ? this.$emit("set-skin-info", {
                    type: l.SkinHelperNS.SkinType.Color,
                    colorID: t.id,
                    opacity: t.defaultOpacity
                }, i) : e === l.SkinHelperNS.SkinType.Wallpaper && this.changeWallpaper(t, i + 11), 1 !== n && (i = t.id, t.showNew)) {
                    t.showNew = !1;
                    let e = [];
                    c.client.callServerFunction("GetConfigValue", "Skin", "selectSkinId", []).then(i => r(this, void 0, void 0, function* () {
                        null !== i && void 0 !== i && ("number" == typeof i ? e.push(i) : e = i, -1 === e.indexOf(t.id) && e.push(t.id), yield c.client.callServerFunction("SetConfigValue", "Skin", "selectSkinId", e), yield c.client.callServerFunction("SaveConfig"))
                    }))
                }
            } while (0);
            this.trackEvent("user_info", "click_member_exclusive", {
                type: "skin",
                is_member_exclusive: e === l.SkinHelperNS.SkinType.Wallpaper ? Number(t.is_vip) : 0,
                id: i,
                tag: n
            })
        }

        closeLoginLayer() {
            this.loginLayerVisible = !1, this.$emit("restore-skin"), A.XLStatNS.trackEvent("user_info", "change_comfirm_box_click", "", 0, 0, 0, 0, {
                id: this.index,
                button: "close"
            })
        }

        loadWallpapers(e) {
            return r(this, void 0, void 0, function* () {
                try {
                    w = [];
                    let t = JSON.parse(localStorage.getItem("wallpapers"));
                    null !== t && (w = t.sort((e, t) => e.manual_order - t.manual_order));
                    let i = ((yield d.default.getWallpapers()) || []).sort((e, t) => e.manual_order - t.manual_order);
                    i.length > 0 && (w = i);
                    let n = new Date;
                    for (let t of w) n.getTime() - t.updated_at < 6048e5 ? -1 === e.indexOf(t.id) && (t.showNew = !0) : t.showNew = !1;
                    m.information("获取壁纸", w), this.wallpapers = w
                } catch (e) {
                    m.warning(e)
                }
            })
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                if (w) this.wallpapers = w; else {
                    let e = [], t = yield c.client.callServerFunction("GetConfigValue", "Skin", "selectSkinId", []);
                    "number" == typeof t ? e.push(t) : e = t, this.loadWallpapers(e).catch()
                }
            })
        }
    };
    n([s.Prop()], C.prototype, "options", void 0), n([s.Prop()], C.prototype, "skinInfo", void 0), n([s.Prop()], C.prototype, "wallpaper", void 0), n([s.Prop()], C.prototype, "isLogined", void 0), n([s.Prop()], C.prototype, "isVip", void 0), C = n([s.Component], C), t.default = C
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(360), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(41), a = i(1), l = i(608), c = i(15), u = i(4), d = i(199),
        h = a.default.getLogger("super-cool");
    let p = null, f = null, A = class extends o.Vue {
        constructor() {
            super(...arguments), this.skinType = s.SkinHelperNS.SkinType, this.index = null, this.wallpapers = [], this.shakes = [], this.noEffectPreview = JSON.stringify(`${__rootDir}/static/default-preview.jpg`)
        }

        sget() {
            return d(...arguments)
        }

        get empty() {
            let e = !1;
            return this.wallpapers && 0 === this.wallpapers.length && (e = !0), e
        }

        onTaskInfoChange(e) {
            this.$emit("empty", e)
        }

        trackEvent(e, t, i) {
            c.XLStatNS.trackEvent(e, t, "", 0, 0, 0, 0, Object.assign({
                is_login: Number(this.isLogined),
                vip_type: this.vasType
            }, i))
        }

        changeWallpaper(e, t) {
            return r(this, void 0, void 0, function* () {
                if (this.isLogined && (e.is_svip && !this.isSuperVip || e.is_vip && !this.isVip)) {
                    this.$emit("cover-show", !0, "supercool_wallpaper"), this.$emit("update-last-skin-info");
                    let t = e.is_svip ? "ch" : "bj";
                    this.trackEvent("user_info", "open_vip_tip_show", {
                        type: "skin",
                        kt_from: "super_skin",
                        kt_type: t,
                        is_vip: Number(this.isVip)
                    })
                }
                let i = yield l.default.getImage(e), n = e.is_svip && !this.isSuperVip || e.is_vip && !this.isVip;
                this.$emit("set-skin-info", {
                    type: s.SkinHelperNS.SkinType.Cool,
                    colorID: e.color,
                    image: i,
                    opacity: e.transparency / 100,
                    skinID: e.id,
                    is_spring_festival: "春节皮肤" === e.name
                }, t, e, n, !0)
            })
        }

        isChosen(e, t) {
            return e === s.SkinHelperNS.SkinType.Cool && this.skinInfo.skinID === t.id
        }

        isShakeChose(e, t) {
            let i = !1;
            do {
                if (e !== s.SkinHelperNS.SkinType.Cool) break;
                if (t) {
                    i = !!this.shakeInfo && this.shakeInfo.skinID === t.id;
                    break
                }
                i = !this.shakeInfo;
                break
            } while (0);
            return i
        }

        setSkinInfo(e, t, i) {
            this.trackEvent("user_info", "change_super_skin", {type: "skin", skin_type: "mobile_skin", id: i + 1});
            let n = e === s.SkinHelperNS.SkinType.Default ? 1 : 0;
            do {
                if (this.isChosen(e, t)) {
                    n = 1;
                    break
                }
                if (!this.isLogined) {
                    if (e === s.SkinHelperNS.SkinType.Cool && (t.is_vip || t.is_svip)) {
                        this.$emit("cover-show", !0, "supercool_wallpaper");
                        let e = t.is_svip ? "ch" : "bj";
                        this.trackEvent("user_info", "open_vip_tip_show", {
                            type: "skin",
                            kt_from: "super_skin",
                            kt_type: e,
                            is_vip: Number(this.isVip)
                        })
                    }
                    this.$emit("update-last-skin-info")
                }
                if (this.index = i, e === s.SkinHelperNS.SkinType.Cool && this.changeWallpaper(t, i), 1 !== n && (i = t.id, t.showNew)) {
                    t.showNew = !1;
                    let e = [];
                    u.client.callServerFunction("GetConfigValue", "Skin", "selectSkinId", []).then(i => r(this, void 0, void 0, function* () {
                        null !== i && void 0 !== i && ("number" == typeof i ? e.push(i) : e = i, -1 === e.indexOf(t.id) && e.push(t.id), yield u.client.callServerFunction("SetConfigValue", "Skin", "selectSkinId", e), yield u.client.callServerFunction("SaveConfig"))
                    }))
                }
            } while (0)
        }

        setShakeInfo(e, t, i) {
            return r(this, void 0, void 0, function* () {
                do {
                    if (this.trackEvent("user_info", "change_super_skin", {
                        type: "skin",
                        skin_type: "shake_effect",
                        id: (this.wallpapers ? this.wallpapers.length : 0) + i + 1
                    }), this.isShakeChose(e, t)) break;
                    if (this.isLogined) {
                        if (t && (t.is_svip && !this.isSuperVip || t.is_vip && !this.isVip)) {
                            this.$emit("cover-show", !0, "supercool_shake");
                            let e = t.is_svip ? "ch" : "bj";
                            this.trackEvent("user_info", "open_vip_tip_show", {
                                type: "skin",
                                kt_from: "super_skin",
                                kt_type: e,
                                is_vip: Number(this.isVip)
                            })
                        }
                    } else if (t && e === s.SkinHelperNS.SkinType.Cool && (t.is_vip || t.is_svip)) {
                        this.$emit("cover-show", !0, "supercool_shake");
                        let e = t.is_svip ? "ch" : "bj";
                        this.trackEvent("user_info", "open_vip_tip_show", {
                            type: "skin",
                            kt_from: "super_skin",
                            kt_type: e,
                            is_vip: Number(this.isVip)
                        })
                    }
                    if (t) {
                        let e = yield l.default.getShakeRes(t),
                            i = t.is_svip && !this.isSuperVip || t.is_vip && !this.isVip;
                        if (this.$emit("set-shake-info", {
                            image: e,
                            skinID: t.id,
                            count: t.count,
                            rotate: t.rotate,
                            time: t.time
                        }, i, t), t.showNew) {
                            t.showNew = !1;
                            let e = [];
                            u.client.callServerFunction("GetConfigValue", "Skin", "selectSkinId", []).then(i => r(this, void 0, void 0, function* () {
                                null !== i && void 0 !== i && ("number" == typeof i ? e.push(i) : e = i, -1 === e.indexOf(t.id) && e.push(t.id), yield u.client.callServerFunction("SetConfigValue", "Skin", "selectSkinId", e), yield u.client.callServerFunction("SaveConfig"))
                            }))
                        }
                    } else this.$emit("set-shake-info", void 0, !1)
                } while (0)
            })
        }

        loadWallpapers(e) {
            return r(this, void 0, void 0, function* () {
                try {
                    p = [];
                    let t = JSON.parse(localStorage.getItem("coolWallpapers"));
                    null !== t && (p = t.sort((e, t) => e.manual_order - t.manual_order));
                    let i = ((yield l.default.getCoolWallpapers()) || []).sort((e, t) => e.manual_order - t.manual_order);
                    i.length > 0 && (p = i);
                    let n = new Date;
                    for (let t of p) n.getTime() - t.updated_at < 6048e5 ? -1 === e.indexOf(t.id) && (t.showNew = !0) : t.showNew = !1;
                    h.information("获取壁纸", p)
                } catch (e) {
                    h.warning(e)
                }
            })
        }

        loadShakes(e) {
            return r(this, void 0, void 0, function* () {
                try {
                    f = [];
                    let t = JSON.parse(localStorage.getItem("coolShakes"));
                    null !== t && (f = t.sort((e, t) => e.manual_order - t.manual_order));
                    let i = ((yield l.default.getCoolShakes()) || []).sort((e, t) => e.manual_order - t.manual_order);
                    i.length > 0 && (f = i);
                    let n = new Date;
                    for (let t of f) n.getTime() - t.updated_at < 6048e5 ? -1 === (e || []).indexOf(t.id) && (t.showNew = !0) : t.showNew = !1;
                    h.information("获取移动特效", f)
                } catch (e) {
                    h.warning(e)
                }
            })
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                let e = [];
                if (p) this.wallpapers = p; else {
                    let t = yield u.client.callServerFunction("GetConfigValue", "Skin", "selectSkinId", []);
                    "number" == typeof t ? e.push(t) : e = t, this.loadWallpapers(e).then(() => {
                        this.wallpapers = p
                    }).catch()
                }
                f ? this.shakes = f : this.loadShakes(e).then(() => {
                    this.shakes = f
                }).catch()
            })
        }
    };
    n([o.Prop()], A.prototype, "skinInfo", void 0), n([o.Prop()], A.prototype, "shakeInfo", void 0), n([o.Prop()], A.prototype, "wallpaper", void 0), n([o.Prop()], A.prototype, "isLogined", void 0), n([o.Prop()], A.prototype, "isVip", void 0), n([o.Prop()], A.prototype, "isSuperVip", void 0), n([o.Prop()], A.prototype, "vasType", void 0), n([o.Watch("empty", {immediate: !0})], A.prototype, "onTaskInfoChange", null), A = n([o.Component], A), t.default = A
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(362), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(495), a = i(741), l = i(11), c = i(1), u = i(15), d = i(609), h = i(13),
        p = c.default.getLogger("Individuation"), {isDef: f} = l.ThunderUtil,
        A = `${s.SpeedCurveSkinHelperNS.cacheDir}/Preview`;
    let v = class extends o.Vue {
        constructor() {
            super(...arguments), this.skinType = s.SpeedCurveSkinHelperNS.SkinType, this.defaultPreview = JSON.stringify(`${__rootDir}/static/default-speedcurve-preview.png`), this.defaultSkinInfo = s.SpeedCurveSkinHelperNS.defaultSkinInfo, this.skins = [], this.ktType = ""
        }

        canUse(e) {
            let t = !0;
            return e.type === s.SpeedCurveSkinHelperNS.SkinType.SuperVip ? t = this.isSuperVip : e.type === s.SpeedCurveSkinHelperNS.SkinType.Vip && (t = this.isVip), t
        }

        trackEvent(e, t, i) {
            u.XLStatNS.trackEvent(e, t, "", 0, 0, 0, 0, Object.assign({
                is_login: Number(this.isLogined),
                vip_type: this.vasType
            }, i))
        }

        trackOpenVipShow(e) {
            this.trackEvent("user_info", "open_vip_tip_show", {
                type: "skin",
                kt_type: this.ktType,
                kt_from: "progress_bar"
            })
        }

        trackChangeSkin(e) {
            let t = "free";
            e.type === this.skinType.SuperVip ? t = "ch" : e.type === this.skinType.Vip && (t = "bj"), this.trackEvent("user_info", "change_progress_bar", {
                type: "skin",
                button: "login",
                skin_type: t,
                id: e.id
            })
        }

        changeSkin(e) {
            return r(this, void 0, void 0, function* () {
                this.trackChangeSkin(e), this.ktType = e.type === this.skinType.SuperVip ? "ch" : "bj";
                let t = !!(f(e.type) && e.type >= this.skinType.Vip);
                this.$emit("set-skin-info", e, t), this.canUse(e) || (this.$emit("cover-show", !0, "speedcurve"), this.trackOpenVipShow(e))
            })
        }

        created() {
            return r(this, void 0, void 0, function* () {
                try {
                    let e = (yield a.default.getSkins()) || [];
                    for (let t of e) {
                        let e = `${A}/${t.id}.png`, i = yield h.FileSystemAWNS.existsAW(e);
                        i || (i = yield d.AxiosNS.downloadFileAW(t.preview, e)), i && (t.previewSavePath = e, this.skins.push(t))
                    }
                    p.information("获取速度曲线皮肤", this.skins)
                } catch (e) {
                    p.warning(e)
                }
            })
        }
    };
    n([o.Prop()], v.prototype, "skinInfo", void 0), n([o.Prop()], v.prototype, "isLogined", void 0), n([o.Prop()], v.prototype, "isVip", void 0), n([o.Prop()], v.prototype, "isPlatinumVip", void 0), n([o.Prop()], v.prototype, "isSuperVip", void 0), n([o.Prop()], v.prototype, "vasType", void 0), v = n([o.Component], v), t.default = v
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(364), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(157), a = i(11), l = i(15), {isDef: c} = a.ThunderUtil;
    let u = class extends o.Vue {
        constructor() {
            super(...arguments), this.normalIcon = i(607), this.vipIcon = i(743), this.skinType = s.SuspensionSkinHelperNS.SkinType, this.defaultSkinInfo = s.SuspensionSkinHelperNS.defaultSkinInfo, this.vipSkinInfo = s.SuspensionSkinHelperNS.vipSkinInfo
        }

        canUse(e) {
            let t = !0;
            return e.type === s.SuspensionSkinHelperNS.SkinType.Vip && (t = this.isVip), t
        }

        trackEvent(e, t, i) {
            l.XLStatNS.trackEvent(e, t, "", 0, 0, 0, 0, Object.assign({
                is_login: Number(this.isLogined),
                vip_type: this.vasType
            }, i))
        }

        trackOpenVipShow(e) {
            this.trackEvent("user_info", "open_vip_tip_show", {type: "skin", kt_type: "bj", kt_from: "float_ball"})
        }

        trackChangeSkin(e) {
            let t = "free";
            e.type === this.skinType.Vip && (t = "vip"), this.trackEvent("xlx_vip_event", "change_floatball_skin", {
                skin_type: t,
                id: e.id
            })
        }

        changeSkin(e) {
            return r(this, void 0, void 0, function* () {
                this.trackChangeSkin(e);
                let t = !!(c(e.type) && e.type >= this.skinType.Vip);
                this.$emit("set-skin-info", e, t), this.canUse(e) || (this.$emit("cover-show", !0, "suspension"), this.trackOpenVipShow(e))
            })
        }
    };
    n([o.Prop()], u.prototype, "skinInfo", void 0), n([o.Prop()], u.prototype, "isLogined", void 0), n([o.Prop()], u.prototype, "isVip", void 0), n([o.Prop()], u.prototype, "vasType", void 0), u = n([o.Component], u), t.default = u
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(366), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(5), s = i(3), a = i(7), l = i(18), c = i(1).default.getLogger("pane-avatar");
    let u = class extends o.Vue {
        constructor() {
            super(...arguments), this.isError = !1
        }

        refresh() {
            this.isError = !1, s.ipcRenderer.send(l.ThunderChannelList.channelRMIndividuationBrowserMsg, "refresh")
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.showBrowser().catch(), (yield a.asyncRemoteCall.getIpcMain()).on(l.ThunderChannelList.channelMRIndividuationBrowserMsg, (e, t) => {
                    c.information(".ipcMain.on:", l.ThunderChannelList.channelMRIndividuationBrowserMsg, t), "OnLoadError" === t && (this.isError = !0)
                })
            })
        }

        showBrowser() {
            return r(this, void 0, void 0, function* () {
                let e = yield a.asyncRemoteCall.getCurrentWindow(),
                    t = (yield e.getNativeWindowHandle()).readUIntLE(0, 4);
                s.ipcRenderer.send(l.ThunderChannelList.channelRMIndividuationBrowserMsg, "show", t, e.id, "https://act-vip-ssl.xunlei.com/avatar/", 600, 440, 30, 30, 66, 0), e.on("resize", () => {
                    s.ipcRenderer.send(l.ThunderChannelList.channelRMIndividuationBrowserMsg, "resize", 600, 440, 30, 30, 66, 0)
                }), e.on("move", () => {
                    s.ipcRenderer.send(l.ThunderChannelList.channelRMIndividuationBrowserMsg, "move", 600, 440, 30, 30, 66, 0)
                })
            })
        }

        destroyed() {
            s.ipcRenderer.send(l.ThunderChannelList.channelRMIndividuationBrowserMsg, "hide")
        }
    };
    u = n([o.Component], u), t.default = u
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(368), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(3), s = i(31), a = i(5), l = i(32), c = i(30), u = i(606);
    let d = class extends (s.mixins(l.DraggableMixin, l.PositionMixin)) {
        constructor() {
            super(...arguments), this.type = "HTTP", this.proxyName = "", this.host = "", this.port = 80, this.userName = "", this.passWord = "", this.butText = "测试", this.timeId = void 0
        }

        handleClickHttp() {
            this.port = 80
        }

        handleClickSock() {
            this.port = 1080
        }

        handleClose(e) {
            window.close()
        }

        handleOK(e) {
            !this.proxyName || this.proxyName.length < 1 || !this.host || this.host.length < 1 || (o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.OK, {
                name: this.proxyName,
                host: this.host,
                port: this.port,
                type: this.type,
                userName: this.userName,
                passWord: this.passWord
            }), window.close())
        }

        handleTest() {
            return r(this, void 0, void 0, function* () {
                this.butText = "测试中…", this.timeId = setTimeout(() => {
                    this.timeId = void 0, this.butText = "测试超时"
                }, 1e4);
                let e = u.ProxyNS.ProxyType.Http;
                "SOCKS5" === this.type && (e = u.ProxyNS.ProxyType.Sock5);
                let t = yield u.ProxyNS.verifyProxy(this.host, this.port, this.userName, this.passWord, e);
                this.timeId && (clearTimeout(this.timeId), t === u.ProxyNS.ProxyVerifyResult.Sucess ? this.butText = "测试成功" : t === u.ProxyNS.ProxyVerifyResult.Timeout ? this.butText = "测试超时" : this.butText = "测试失败")
            })
        }

        handleInput(e) {
            this.port = e.target.value.replace(/[^\d]/g, "")
        }

        mounted() {
            this.proxy = this.options, this.proxy && this.proxy.name && this.proxy.name.length > 0 && (this.proxyName = this.proxy.name, this.host = this.proxy.host, this.port = this.proxy.port, this.type = this.proxy.type, this.userName = this.proxy.userName, this.passWord = this.proxy.passWord)
        }
    };
    n([a.Prop()], d.prototype, "options", void 0), n([a.Prop()], d.prototype, "boxId", void 0), d = n([a.Component], d), t.default = d
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(370), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(31), o = i(5), s = i(32), a = i(202), l = i(3), c = i(30), u = i(79), d = i(1), h = i(4),
        p = d.default.getLogger("ThunderBirdKey");
    let f = class extends (r.mixins(s.DraggableMixin, s.PositionMixin)) {
        constructor() {
            super(...arguments), this.userheadURL = "", this.userName = "", this.inputPassword = "", this.isPasswordError = !1, this.userCenterWeb = "", this.avatarLinkProtocol = "http"
        }

        onCheckPwdAndParse() {
            p.information("校验密码,inputPassword=", this.inputPassword, " 设定密码password=", this.options.taskUrlItem.password), this.inputPassword === this.options.taskUrlItem.password ? (this.isPasswordError = !1, l.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.OK, {success: !0}), window.close()) : this.isPasswordError = !0
        }

        getUserAvatar(e) {
            let t = e || 0;
            return `${this.avatarLinkProtocol}://img.user.kanimg.com/usrimg/${t}/300x300`
        }

        handleKeyDown() {
            this.onCheckPwdAndParse()
        }

        hanldeInput(e) {
            if ("string" != typeof e) return;
            this.isPasswordError = !1;
            let t = new RegExp("^[0-9a-zA-Z]+$"), i = e.match(t), n = this.inputPassword;
            this.inputPassword = e, i && i.length > 0 ? this.inputPassword = e : this.inputPassword = n, "" === e && (this.inputPassword = e)
        }

        onClickClose() {
            l.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Cancel, {success: !1}), window.close()
        }

        onClickUserInfo() {
            "" !== this.userCenterWeb && h.client.callServerFunction("OpenNewTab", this.userCenterWeb).catch()
        }

        mounted() {
            let e = this.options.taskUrlItem.userid || 0;
            p.information("查询的用户ID=", this.options.taskUrlItem.userid), a.getUserNameByID(e.toString()).then(t => {
                p.information("获取用户：", e, " 的昵称回应:", t), t.data && t.data.user_info && (this.userName = t.data.user_info.nick_name)
            }), this.userheadURL = this.getUserAvatar(e), this.userCenterWeb = "http://pc.xunlei.com/d#/users/" + e + "?entrypage=birdkey_passwordcheck&entry=birdkey_passwordcheck_headimg", this.$nextTick(() => {
                u.ThunderWindowNS.resizeToFitContent(400, 233), u.ThunderWindowNS.fitWindowPosInParent()
            })
        }
    };
    n([o.Prop()], f.prototype, "options", void 0), n([o.Prop()], f.prototype, "boxId", void 0), f = n([o.Component({})], f), t.default = f
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(372), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(32), l = i(1), c = i(4), u = l.default.getLogger("shoulei-qrcode"), d = i(165),
        h = {margin: 0, width: 100};
    let p = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        handleCancel(e) {
            return r(this, void 0, void 0, function* () {
                yield c.client.callServerFunction("TrackEvent", "download_leftpanel", "send2phone_qr_close", "", 0, 0, 0, 0, ""), window.close()
            })
        }

        created() {
            return r(this, void 0, void 0, function* () {
                u.information("dwz data = ", this.options.data), this.$nextTick(() => {
                    let e = document.getElementById("qrcodecanvas");
                    d.toCanvas(e, this.options.data, h, e => {
                        u.information("dwz error = ", e)
                    })
                }), yield c.client.callServerFunction("TrackEvent", "download_leftpanel", "send2phone_qr_show", "", 0, 0, 0, 0, "type=1")
            })
        }
    };
    n([s.Prop()], p.prototype, "options", void 0), p = n([s.Component], p), t.default = p
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(374), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(32), l = i(38), c = i(4), u = i(11), d = i(79), h = i(15),
        p = i(1).default.getLogger("DownloadDataVue"), f = i(197);
    let A = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.downloadDataInfo = {
                totalDownloadSpeed: 0,
                totalUploadSpeed: 0,
                todayDownloadSize: 0,
                todayUploadSize: 0,
                totalDownloadSize: 0,
                totalUploadSize: 0,
                totalProviders: 0,
                totalBenifites: 0,
                maxDownloadSpeed: 0,
                maxUploadSpeed: 0,
                downloadFinishFiles: 0,
                vipAccPercent: 0,
                vipDonwloadSize: 0,
                vipSave: 0
            }, this.imgUrl = f, this.isVip = 0, this.userNick = "", this.userID = "", this.vipData = null, this.isYear = 0, this.yearIcon = "vip-icon-nian is-disabled"
        }

        onIsVipChange(e) {
            e && this.$nextTick(() => {
                d.ThunderWindowNS.resizeToFitContent(450, 523)
            })
        }

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

        updateUserData() {
            l.NativeCallModule.nativeCall.CallNativeFunction("GetAllUserInfo", (e, t) => {
                p.information(e, t);
                do {
                    if (null === t || void 0 === t) break;
                    if (this.userID = t.userID, this.userNick = u.ThunderUtil.unescapeHTML(t.nickName), this.getCurUserHeader(), null === t.vipList || void 0 === t.vipList) break;
                    if (null === t.vipList[0] || void 0 === t.vipList[0]) break;
                    let e = t.vipList[0];
					e.isYear = 1;
					if (e.isVip == 0) {
						e.vipLevel = 10;
						e.isVip = 1;						
						e.vasType = 5;
					}
                    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)
                } while (0)
            })
        }

        get vipClass() {
            let e = this.vipInfo(this.vipData), t = e.vipClass;
			e.isVip = 1;
            return (e.isStop || "0" === e.level || e.disabled || !e.isVip) && (t += " is-disabled"), t
        }

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

        get downloadSpeed() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.totalDownloadSpeed, 1) + "/s"
        }

        get uploadSpeed() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.totalUploadSpeed, 1) + "/s"
        }

        get todayDownloadSize() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.todayDownloadSize)
        }

        get todayUploadSize() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.todayUploadSize)
        }

        get totalDownloadSize() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.totalDownloadSize)
        }

        get totalUploadSize() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.totalUploadSize)
        }

        get maxDownloadSpeed() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.maxDownloadSpeed, 1) + "/s"
        }

        get maxUploadSpeed() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.maxUploadSpeed, 1) + "/s"
        }

        get downloadFinishFiles() {
            return this.bigNumber(this.downloadDataInfo.downloadFinishFiles)
        }

        get totalProviders() {
            return this.bigNumber(this.downloadDataInfo.totalProviders)
        }

        get totalBenifites() {
            return this.bigNumber(this.downloadDataInfo.totalBenifites)
        }

        get vipAccPercent() {
            let e = "-- %";
            return this.isVip && (e = 0 === this.downloadDataInfo.vipAccPercent ? "0.0%" : (100 * this.downloadDataInfo.vipAccPercent).toFixed(1) + "%"), e
        }

        get vipDonwloadSize() {
            let e = "-- GB";
            return this.isVip && (e = u.ThunderUtil.formatSize(this.downloadDataInfo.vipDonwloadSize)), e
        }

        get vipSave() {
            let e = "-- 天";
            return this.isVip && (e = this.formatTime(this.downloadDataInfo.vipSave)), e
        }

        bigNumber(e) {
            let t = "0";
            do {
                if (e < 1e4) {
                    t = e.toString();
                    break
                }
                if (e % 1e4 < 100) {
                    t = Math.floor(e / 1e4) + "万";
                    break
                }
                t = (e / 1e4).toFixed(2) + "万"
            } while (0);
            return t
        }

        formatTime(e) {
            let t = "", i = ["秒", "分", "小时", "天", "年"], n = [60, 60, 24, 365], r = 0, o = 0;
            for (; e >= n[r];) o = e % n[r], e = Math.floor(e / n[r]), r += 1;
            return t = r >= 1 ? e.toString() + i[r] + o.toString() + i[r - 1] : e.toFixed(2) + i[r]
        }

        vipInfo(e) {
            if (!e || 0 === e.length) return {isVip: !1};
            let t = e.filter(e => e && 2 === (e.vasId || e.vasID))[0];
            if (t) {
                let e = t.vIPLevel || t.VIPLevel || 0,
                    i = `vip-icon-${{2: "", 3: "p", 5: "s"}[t.vasType] || ""}vip${e}`;
                return {
                    isVip: "1" === t.isVIP,
                    isStop: "2" === t.isVIP,
                    isYear: "1" === t.isYear,
                    type: t.vasType,
                    level: e,
                    vipClass: i
                }
            }
            return {isVip: !1}
        }

        openClick() {
            h.XLStatNS.trackEvent("download_leftpanel", "bottom_speed_data_pop_click", "", 0, 0, 0, 0, "button=open_membership"), c.client.callServerFunction("OpenNewTab", "https://pay.xunlei.com/pay.html?bizNo=baijin&selectBizno=baijin&timeType=1001&referfrom=v_pc_xlx_ggong_task_detail").catch(), window.close()
        }

        handleCancel(e) {
            window.close()
        }

        created() {
            return r(this, void 0, void 0, function* () {
                h.XLStatNS.trackEvent("download_leftpanel", "bottom_speed_data_pop_show"), yield this.updateUserData(), l.NativeCallModule.nativeCall.AttachNativeEvent("onGetUserInfoFinished", () => {
                    this.updateUserData()
                }), l.NativeCallModule.nativeCall.CallNativeFunction("GetInitDownloadData", (e, t) => {
                    p.information("GetInitDownloadData Enter data = ", t);
                    let i = null;
                    try {
                        i = JSON.parse(t), this.downloadDataInfo = i
                    } catch (e) {
                        p.information("excetpion ", e)
                    }
                }), l.NativeCallModule.nativeCall.AttachNativeEvent("download-data-update", e => {
                    let t = null;
                    try {
                        t = JSON.parse(e), this.downloadDataInfo = t
                    } catch (e) {
                        p.information("excetpion ", e)
                    }
                })
            })
        }
    };
    n([s.Prop()], A.prototype, "options", void 0), n([s.Watch("isVip")], A.prototype, "onIsVipChange", null), A = n([s.Component], A), t.default = A
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(376), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(2), s = i(3), a = i(7), l = i(31), c = i(5), u = i(32), d = i(30), h = i(15), p = i(4), f = i(164),
        A = i(13), v = i(753), g = i(9).default(o.join(__rootDir, "../bin/ThunderHelper.node"));
    let m = class extends (l.mixins(u.DraggableMixin, u.PositionMixin)) {
        constructor() {
            super(...arguments), this.detectState = v.DownloadDetectToolsNS.DetectState.None, this.detail = !1, this.percent = 0, this.currentDetectingIndex = 0, this.detectAllDetail = [], this.localIPInfo = {
                teleCommunications: "",
                localIP: ""
            }, this.isShowCopyTips = !1, this.copyTipsText = "", this.statCookie = -1, this.osVersion = "", this.thunderXVersion = "", this.downloadSDKVersion = "", this.dnsInfos = "", this.detectingItems = v.DownloadDetectToolsNS.getAllDectectItems()
        }

        get sortDetectingItems() {
            let e = [];
            return this.detectingItems.forEach(t => {
                this.isItemDetectFailed(t) ? e.unshift(t) : e.push(t)
            }), e
        }

        get problemNum() {
            let e = 0;
            for (let t = 0; t < this.detectingItems.length; ++t) {
                let i = this.detectingItems[t];
                this.isItemDetectFailed(i) && ++e
            }
            return e
        }

        get currentDetectDesc() {
            return void 0 !== this.currentDetectingIndex ? "正在检测" + this.detectingItems[this.currentDetectingIndex].name : ""
        }

        getDetectItemMsg(e) {
            return e.state === v.DownloadDetectToolsNS.DetectState.None ? "正在扫描..." : e.state === v.DownloadDetectToolsNS.DetectState.Started ? "正在诊断" + e.name + "..." : e.state === v.DownloadDetectToolsNS.DetectState.Success ? (-1 !== e.name.indexOf("服务") ? "连接" : "查询") + e.name + "正常" : (-1 !== e.name.indexOf("服务") ? "连接" : "查询") + e.name + "失败"
        }

        get progressStyle() {
            return "width: " + this.percent + "%"
        }

        get showStart() {
            return this.detectState === v.DownloadDetectToolsNS.DetectState.None
        }

        get showDetecting() {
            return this.detectState !== v.DownloadDetectToolsNS.DetectState.None && !this.detail
        }

        get isDetecting() {
            return this.detectState === v.DownloadDetectToolsNS.DetectState.Started
        }

        get isDetectFinish() {
            return this.detectState === v.DownloadDetectToolsNS.DetectState.Success || this.detectState === v.DownloadDetectToolsNS.DetectState.Failed
        }

        get isDetectSuccess() {
            return this.detectState === v.DownloadDetectToolsNS.DetectState.Success
        }

        get localIPInfoTitle() {
            let e = "";
            do {
                if (!this.localIPInfo || this.localIPInfo.teleCommunications.length <= 0) break;
                if (e += this.localIPInfo.teleCommunications, this.localIPInfo.localIP.length <= 0) break;
                e += "（" + this.localIPInfo.localIP + "）"
            } while (0);
            return e
        }

        itemIconClass(e) {
            if (!this.isItemDetectFinish(e)) return "loading";
            if (this.isItemDetectSuccess(e)) return "success";
            const t = [v.DownloadDetectToolsNS.DetectItemType.UPNPState, v.DownloadDetectToolsNS.DetectItemType.IPv6Support, v.DownloadDetectToolsNS.DetectItemType.DHTState, v.DownloadDetectToolsNS.DetectItemType.PingServer];
            let i = "error";
            for (let n = 0; n < t.length; ++n) if (t[n] === e.type) {
                i = "warn";
                break
            }
            return i
        }

        expandItem(e) {
            e.expand = !e.expand
        }

        isItemDetectFinish(e) {
            return e.state === v.DownloadDetectToolsNS.DetectState.Success || e.state === v.DownloadDetectToolsNS.DetectState.Failed
        }

        isItemDetectSuccess(e) {
            return e.state === v.DownloadDetectToolsNS.DetectState.Success
        }

        isItemDetectFailed(e) {
            return e.state === v.DownloadDetectToolsNS.DetectState.Failed
        }

        handleClose() {
            s.ipcRenderer.send(`message-box-resolve-${this.boxId}`, d.MessageBoxNS.Action.Close), window.close()
        }

        handleShowDetail() {
            this.detail = !0;
            h.XLStatNS.trackEvent("xlx_download_diagnosis", "download_diagnosis_start_click", "", 0, 0, 0, 0, "button=view_detail", this.statCookie), this.$nextTick(() => r(this, void 0, void 0, function* () {
                this.resizeToFitContent()
            }))
        }

        handleContactCustomerService() {
            p.client.callServerFunction("OpenNewTab", "http://xlkf.xunlei.com/cxfz/chatClient/chatbox.jsp?companyID=8950&configID=77&enterurl=www.xunleixzs.com&policyId=65&live800_domain=www.xunleixzs.com&live800_robot_ud_xunleixzs=xunleixzs")
        }

        handleDetectAgain() {
            return r(this, void 0, void 0, function* () {
                return h.XLStatNS.trackEvent("xlx_download_diagnosis", "download_diagnosis_start_click", "", 0, 0, 0, 0, "button=diasgnosis_again", this.statCookie), v.DownloadDetectToolsNS.restart("restartButton")
            })
        }

        handleStartDetect(e) {
            return r(this, void 0, void 0, function* () {
                let t = "button=" + e;
                h.XLStatNS.trackEvent("xlx_download_diagnosis", "download_diagnosis_start_click", "", 0, 0, 0, 0, t, this.statCookie), this.$nextTick(() => r(this, void 0, void 0, function* () {
                    v.DownloadDetectToolsNS.start("startButton")
                }))
            })
        }

        handleDetailReturn() {
            this.detail = !1
        }

        handleDetailSave() {
            return r(this, void 0, void 0, function* () {
                let e = yield a.asyncRemoteCall.getCurrentWindow(), t = "诊断日志.txt";
                this.localIPInfo && this.localIPInfo.teleCommunications.length > 0 && (t = "诊断日志（" + this.localIPInfo.teleCommunications + "）.txt");
                let i = {defaultPath: t};
                (yield a.asyncRemoteCall.getDialog()).showSaveDialog(e, i, e => r(this, void 0, void 0, function* () {
                    if (e && "" !== e) {
                        let t = o.dirname(e);
                        if (yield A.FileSystemAWNS.mkdirsAW(t)) {
                            let t = [];
                            this.localIPInfo && this.localIPInfo.teleCommunications.length > 0 && t.push("所在地：" + this.localIPInfo.teleCommunications + "（" + this.localIPInfo.localIP + "）"), t.push("Windows版本：" + this.osVersion), t.push("迅雷X版本：" + this.thunderXVersion), t.push("迅雷下载引擎版本：" + this.downloadSDKVersion), t.push("当前使用的DNS信息：" + this.dnsInfos), this.detectAllDetail.forEach(e => {
                                t.push(e.date + " " + e.time + " " + e.desc)
                            }), A.FileSystemAWNS.writeFileAW(e, t.join("\r\n")).catch()
                        }
                    }
                }))
            })
        }

        handleDetailCopy() {
            let e = [];
            this.localIPInfo && this.localIPInfo.teleCommunications.length > 0 && e.push("所在地：" + this.localIPInfo.teleCommunications + "（" + this.localIPInfo.localIP + "）"), e.push("Windows版本：" + this.osVersion), e.push("迅雷X版本：" + this.thunderXVersion), e.push("迅雷下载引擎版本：" + this.downloadSDKVersion), e.push("当前使用的DNS信息：" + this.dnsInfos), this.detectAllDetail.forEach(t => {
                e.push(t.date + " " + t.time + " " + t.desc)
            }), s.clipboard.writeText(e.join("\r\n")), this.copyTipsText = "复制成功", this.isShowCopyTips = !0
        }

        addDetectDetail(e) {
            let t = new Date, i = f.TimeHelperNS.formatDate(t, "yyyy-MM-dd"),
                n = f.TimeHelperNS.formatDate(t, "hh:mm:ss");
            this.detectAllDetail.push({date: i, time: n, desc: e})
        }

        onDetectStart() {
            this.detectAllDetail = [], this.detectState = v.DownloadDetectToolsNS.DetectState.Started, this.addDetectDetail("开始诊断"), this.$nextTick(() => r(this, void 0, void 0, function* () {
                this.resizeToFitContent()
            }))
        }

        onDetectStartItem(e, t) {
            this.currentDetectingIndex = t
        }

        onDetectStatusChange(e, t) {
            this.addDetectDetail(t)
        }

        onDetectFinishItem(e, t, i) {
            this.percent = Math.floor(100 * t / this.detectingItems.length)
        }

        onDetectFinish(e) {
            this.detectState = e;
            let t = v.DownloadDetectToolsNS.getDNSList();
            this.dnsInfos = t.join(","), this.$nextTick(() => r(this, void 0, void 0, function* () {
                this.resizeToFitContent()
            }))
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                document.addEventListener("click", () => {
                    this.isShowCopyTips = !1
                });
                const e = yield Promise.resolve().then(() => i(12));
                this.osVersion = e.release();
                let t = o.join(__rootDir, "../../Thunder.exe");
                this.thunderXVersion = g.getFileVersion(t);
                let n = o.join(__rootDir, "../bin/SDK/DownloadSDK.dll");
                this.downloadSDKVersion = g.getFileVersion(n), v.DownloadDetectToolsNS.attachListener(v.DownloadDetectToolsNS.DetectEvent.Start, this.onDetectStart), v.DownloadDetectToolsNS.attachListener(v.DownloadDetectToolsNS.DetectEvent.StartItem, this.onDetectStartItem), v.DownloadDetectToolsNS.attachListener(v.DownloadDetectToolsNS.DetectEvent.StatusChange, this.onDetectStatusChange), v.DownloadDetectToolsNS.attachListener(v.DownloadDetectToolsNS.DetectEvent.FinishItem, this.onDetectFinishItem), v.DownloadDetectToolsNS.attachListener(v.DownloadDetectToolsNS.DetectEvent.Finish, this.onDetectFinish), v.DownloadDetectToolsNS.getLocalIPInfo().then(e => {
                    e && (this.localIPInfo.teleCommunications = e.teleCommunications, this.localIPInfo.localIP = e.localIP, this.$nextTick(() => r(this, void 0, void 0, function* () {
                        this.resizeToFitContent()
                    })))
                }), this.statCookie = yield p.client.callServerFunction("GetDetectStatCookie")
            })
        }
    };
    n([c.Prop()], m.prototype, "boxId", void 0), m = n([c.Component], m), t.default = m
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(378), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(3), s = i(7), a = i(31), l = i(5), c = i(4), u = i(15), d = i(1), h = i(103), p = i(30), f = i(32),
        A = d.default.getLogger("task filter");
    var v;
    !function (e) {
        e[e.Name = 1] = "Name", e[e.Filter = 2] = "Filter"
    }(v || (v = {}));
    const g = {label: "", extFilter: "", nameFilter: "", extFilterInput: "", nameFilterInput: ""};
    let m = class extends (a.mixins(f.PositionMixin)) {
        constructor() {
            super(...arguments), this.isWarning = !1, this.warningTips1 = "", this.warningTips2 = "", this.disabled = !0, this.selectLabel = "自定义", this.changed = !1, this.messageContent = "修改成功!", this.editItem = Object.assign({}, g), this.items = []
        }

        get saveEnable() {
            let e = !1;
            do {
                if (!this.editItem.label.trim()) break;
                if (!this.editItem.nameFilterInput.trim() && !this.editItem.extFilterInput.trim()) break;
                e = this.changed
            } while (0);
            return e
        }

        handleCancel(e) {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, p.MessageBoxNS.Action.Close), window.close()
        }

        removeFilter(e, t) {
            return r(this, void 0, void 0, function* () {
                let i = yield s.asyncRemoteCall.getCurrentWindow();
                h.MessageBox.pop({
                    title: "",
                    size: "small",
                    message: `确定删除“${e.label}”筛选项？`,
                    parentId: i.id
                }, {width: 300, height: 170, center: !0}).then(i => r(this, void 0, void 0, function* () {
                    if (i.action === p.MessageBoxNS.Action.OK) {
                        for (let t = 0; t < this.items.length; t++) if (this.items[t].label === e.label) {
                            this.items.splice(t, 1);
                            break
                        }
                        e.label === this.selectLabel && this.onSelectChange(this.items[t], t), this.saveConfig({
                            reason: "remove",
                            data: {label: e.label}
                        })
                    }
                })).catch()
            })
        }

        onSelectChange(e, t) {
            this.selectLabel = e.label, this.editItem = Object.assign({}, g, e), "custom" === e.id && (this.editItem.label = "", this.editItem.id = void 0), e.nameFilter && (this.editItem.nameFilterInput = e.nameFilter.split("|").join("\r\n"), this.editItem.nameFilterInput && (this.editItem.nameFilterInput = this.editItem.nameFilterInput + "\r\n")), e.extFilter && (this.editItem.extFilterInput = e.extFilter.split("|").join("\r\n"), this.editItem.extFilterInput && (this.editItem.extFilterInput = this.editItem.extFilterInput + "\r\n")), this.changed = !1
        }

        scrollNavIntoView(e) {
            this.$nextTick(() => {
                do {
                    let t = this.$refs.nav;
                    if (!t) break;
                    let i = t.children[e];
                    if (!i) break;
                    i.scrollIntoViewIfNeeded()
                } while (0)
            })
        }

        handleLabelChange(e) {
            this.changed = !0, this.editItem.label = e, this.warningTips1 = "", this.isWarning = !1
        }

        handleNameFilterChange(e) {
            this.changed = !0, this.editItem.nameFilterInput = e, this.warningTips2 = ""
        }

        hanleExtFilterChange(e) {
            this.changed = !0, this.editItem.extFilterInput = e, this.warningTips2 = ""
        }

        checkValid() {
            let e = 0;
            do {
                let t = this.editItem.label.trim();
                if (!t || "自定义" === t) {
                    e = 1, this.warningTips1 = "请输入有效的筛选项名称", this.isWarning = !0;
                    break
                }
                if (t.length > 30) {
                    e = 1, this.warningTips1 = "筛选项名称不能超过30个字", this.isWarning = !0;
                    break
                }
                let i = this.editItem.extFilterInput.trim(), n = this.editItem.nameFilterInput.trim();
                if (!i && !n) {
                    e = 2, this.warningTips2 = "文件名和扩展名必须有一项不为空";
                    break
                }
                if (n.match(/[\/\\"<>\?\*:|]/)) {
                    e = 3, this.warningTips2 = '文件名不能包含下列任何字符： \\ / : * ? " < > |';
                    break
                }
                if (i.match(/[\/\\"<>\?\*:|]/)) {
                    e = 3, this.warningTips2 = '扩展名不能包含下列任何字符： \\ / : * ? " < > |';
                    break
                }
            } while (0);
            return e
        }

        isLabelExist(e) {
            let t = !1;
            for (let i of this.items) if (e === i.label) {
                t = !0;
                break
            }
            return t
        }

        getModifyInfo() {
            let e = this.editItem.label.trim(), t = {type: void 0, label: e};
            t.lastSelect = e, this.selectLabel !== e && (t.lastSelect = this.selectLabel, t.type = v.Name);
            for (let e = 0; e < this.items.length; e++) if (this.items[e].label === this.selectLabel) {
                this.items[e].extFilter === this.editItem.extFilter && this.items[e].nameFilter === this.editItem.nameFilter || (t.type |= v.Filter, t.extFilter = this.editItem.extFilter, t.nameFilter = this.editItem.nameFilter);
                break
            }
            return t
        }

        saveConfig(e) {
            do {
                let t = "";
                if (!e || !e.reason) break;
                let i = e.reason;
                if ("add" === i ? t = "新增成功！" : "remove" === i ? t = "删除成功！" : "modify" === i && (t = "修改成功!"), t && (this.messageContent = t, this.$refs.message.show()), "modify" === i && void 0 === e.data.type) {
                    A.information("no modify");
                    break
                }
                c.client.callServerFunction("SaveTaskFilters", this.items.slice(0, -1), e).catch()
            } while (0)
        }

        onSave() {
            do {
                if (0 !== this.checkValid()) break;
                if (this.editItem.extFilter = this.editItem.extFilterInput.trim().replace(/\r\n/g, "|").replace(/\n/g, "|"), this.editItem.nameFilter = this.editItem.nameFilterInput.trim().replace(/\r\n/g, "|").replace(/\n/g, "|"), "自定义" === this.selectLabel) {
                    let e = this.editItem.label.trim();
                    if ("全部" === e || "BT任务" === e || "任务组" === e || this.isLabelExist(e)) {
                        this.warningTips1 = "筛选项名称已存在！", this.isWarning = !0;
                        break
                    }
                    this.items.splice(this.items.length - 1, 0, this.editItem), this.onSelectChange(this.editItem, this.items.length - 2), this.scrollNavIntoView(this.items.length - 2), this.saveConfig({reason: "add"});
                    let t = `category=${encodeURIComponent(e)}`;
                    u.XLStatNS.trackEvent("download_leftpanel", "finished_tab_add_new_custom", "", 0, 0, 0, 0, t);
                    break
                }
                let e = this.getModifyInfo();
                for (let t = 0; t < this.items.length; t++) if (this.items[t].label === this.selectLabel) {
                    this.items.splice(t, 1, this.editItem), this.onSelectChange(this.editItem, t), this.saveConfig({
                        reason: "modify",
                        data: e
                    });
                    break
                }
            } while (0)
        }

        mounted() {
            do {
                if (void 0 === this.options || null === this.options) break;
                let e = this.options.items;
                if (!e) break;
                let t = null;
                try {
                    t = JSON.parse(e)
                } catch (e) {
                }
                if (null === t) break;
                this.items = t, this.scrollNavIntoView(this.items.length - 1)
            } while (0)
        }
    };
    n([l.Prop()], m.prototype, "options", void 0), n([l.Prop()], m.prototype, "boxId", void 0), m = n([l.Component], m), t.default = m
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(380), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(3), s = i(7), a = i(31), l = i(5), c = i(32), u = i(30), d = i(1), h = i(4), p = i(9), f = i(2),
        A = i(15), v = p.default(f.join(__rootDir, "../bin/ThunderHelper.node")),
        g = d.default.getLogger("download-detect-tools");
    let m = class extends (a.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.countDownSeconds = 60, this.launchingFileAssistant = !1
        }

        handleClose() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close), window.close()
        }

        handleQuickMode() {
            return r(this, void 0, void 0, function* () {
                A.XLStatNS.trackEvent("core_event", "apply_for_disk_space_fast"), this.launchingFileAssistant = !0;
                let e = (yield(yield s.asyncRemoteCall.getCurrentWindow()).getNativeWindowHandle()).readUIntLE(0, 4);
                v.enableWindow(e, !1), 0 === (yield h.client.callServerFunction("LaunchFileAssistant")) && A.XLStatNS.trackEvent("core_event", "apply_for_disk_space_fast_succ"), v.enableWindow(e, !0), o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK), this.launchingFileAssistant = !1, window.close()
            })
        }

        selectTraditionalMode() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Cancel), window.close()
        }

        handleTraditionalMode() {
            A.XLStatNS.trackEvent("core_event", "apply_for_disk_space_normal"), this.selectTraditionalMode()
        }

        mounted() {
            g.information("CreateBigFile mounted"), A.XLStatNS.trackEvent("core_event", "apply_for_disk_space_show"), setInterval(() => {
                this.launchingFileAssistant || (this.countDownSeconds--, 0 === this.countDownSeconds && this.selectTraditionalMode())
            }, 1e3)
        }
    };
    n([l.Prop()], m.prototype, "boxId", void 0), m = n([l.Component], m), t.default = m
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(382), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(31), s = i(5), a = i(30), l = i(32);
    let c = class extends (o.mixins(l.PositionMixin)) {
        get imgSrc() {
            let e = "";
            do {
                if (!this.options) break;
                if (!this.options.src) break;
                e = this.options.src
            } while (0);
            return e
        }

        get imgStyle() {
            let e = "";
            do {
                if (!this.options) break;
                if (!this.options.width || !this.options.height) break;
                e = `margin-top: -30px; width: ${this.options.width}px; height: ${this.options.height}px; background-size: 100% 100%;`
            } while (0);
            return e
        }

        handleCloseButton() {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, a.MessageBoxNS.Action.Close), window.close()
        }
    };
    n([s.Prop()], c.prototype, "boxId", void 0), n([s.Prop()], c.prototype, "options", void 0), c = n([s.Component], c), t.default = c
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(384), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(32), l = i(30), c = i(1), u = i(3), d = i(79), h = i(4), p = i(15), f = i(2),
        A = i(9), v = i(38), g = i(165), m = {margin: 0, width: 60}, y = c.default.getLogger("copy-link-share"),
        w = A.default(f.join(__rootDir, "../bin/ThunderHelper.node"));
    let C = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.loading = !0, this.failed = !1, this.shareLink = "", this.shareLinkDlj = "", this.copyBtnDisabled = !1, this.picUrlPrefix = "https://sl-m-ssl.xunlei.com/h5/page/download-share/images/", this.hasPicExtList = "3gp;.3pg;.7z;.apk;.avi;.doc;.docx;.flv;.mkv;.mov;.mp4;.mpg;.png;.ppt;.pptx;.rar;.rm;.rmvb;.tar;.txt;.web;.wmv;.xls;.xlsx;.zip;", this.musicExtList = ".wav;.flac;.mp3;.aac;.wma;.m4a;.mid;.ape;.ogg;.ra;.mod;", this.musicPic = "music.png", this.torrentPic = "bt.png", this.unknownPic = "other.png"
        }

        handleClose(e) {
            u.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Cancel), window.close()
        }

        handleRetry() {
            this.loading = !0, this.failed = !1, this.$nextTick(() => {
                d.ThunderWindowNS.resizeToFitContent(), this.queryShareLink().catch()
            })
        }

        handleCopyShareLink() {
            u.clipboard.writeText(this.shareLink), this.copyBtnDisabled = !0, v.NativeCallModule.nativeCall.CallNativeFunction("PromptShare"), p.XLStatNS.trackEvent("download_leftpanel", "share_float_click", "", 0, 0, 0, 0, "button=copy")
        }

        getPicUrl() {
            let e = `${this.picUrlPrefix}${this.unknownPic}`;
            if (this.options.ext) {
                let t = this.options.ext.substring(1), i = this.options.ext + ";";
                "torrent" === t ? e = `${this.picUrlPrefix}${this.torrentPic}.png` : -1 !== this.hasPicExtList.indexOf(i) ? e = `${this.picUrlPrefix}${t}.png` : -1 !== this.musicExtList.indexOf(i) && (e = `${this.picUrlPrefix}${this.musicPic}.png`)
            }
            return e
        }

        handleShareQQ() {
            let e = `http://connect.qq.com/widget/shareqq/index.html?url=${encodeURIComponent(this.shareLink)}&sharesource=qzone&title=${encodeURIComponent(this.options.taskName)}&pics=${this.getPicUrl()}&summary=${encodeURIComponent("邀你查看我的分享链接")}&desc=${encodeURIComponent("我正在下载这个任务")}`;
            w.openURLByDefault(e), p.XLStatNS.trackEvent("download_leftpanel", "share_float_click", "", 0, 0, 0, 0, "button=QQ"), u.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK), window.close()
        }

        handleShareQQZone() {
            let e = `https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=${encodeURIComponent(this.shareLink)}&sharesource=qzone&title=${encodeURIComponent(this.options.taskName)}&pics=${this.getPicUrl()}&summary=${encodeURIComponent("邀你查看我的分享链接")}&desc=${encodeURIComponent("我正在下载这个任务")}`;
            w.openURLByDefault(e), p.XLStatNS.trackEvent("download_leftpanel", "share_float_click", "", 0, 0, 0, 0, "button=QQ_Zone"), u.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK), window.close()
        }

        queryShareLink() {
            return r(this, void 0, void 0, function* () {
                this.shareLink = yield h.client.callServerFunction("GetShouleiShareLink", this.options.taskId, "link", this.options.shareFrom || ""), this.loading = !1, this.shareLinkDlj = yield h.client.callServerFunction("GetShouleiShareLinkDlj", this.options.taskId, "pic", this.options.shareFrom || ""), this.shareLinkDlj && "" !== this.shareLinkDlj ? (this.failed = !1, this.$nextTick(() => {
                    let e = document.getElementById("qrcodecanvas");
                    g.toCanvas(e, this.shareLinkDlj, m, e => {
                        y.information("QRCode.toCanvas error = ", e)
                    })
                })) : this.failed = !0, this.$nextTick(() => {
                    d.ThunderWindowNS.resizeToFitContent()
                })
            })
        }

        created() {
            return r(this, void 0, void 0, function* () {
                y.information("options = ", this.options), p.XLStatNS.trackEvent("download_leftpanel", "share_float_show", "", 0, 0, 0, 0, "type=1"), this.queryShareLink().catch()
            })
        }
    };
    n([s.Prop()], C.prototype, "options", void 0), n([s.Prop()], C.prototype, "boxId", void 0), C = n([s.Component], C), t.default = C
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(386), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(6), s = i(1), a = i(5), l = i(3), c = i(7), u = i(38), d = i(15), h = i(66), p = i(103), f = i(30),
        A = s.default.getLogger("Favorites");
    let v = class extends a.Vue {
        constructor() {
            super(...arguments), this.messageType = "", this.messageContent = "", this.orginBookmarks = [], this.bookmarks = [], this.editing = !1, this.historys = [], this.loadedCount = 0, this.historysDates = [], this.historysMaps = {}, this.tabs = [{
                title: "我的收藏",
                key: "my_favorites"
            }, {title: "浏览记录", key: "history"}], this.activeKey = "my_favorites"
        }

        onTabChange(e, t) {
            if ("history" === e) {
                let e = `button=history_tab,tab=${t}`;
                d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, e)
            }
        }

        onOptionsChange() {
            this.options && (this.orginBookmarks = [...this.options])
        }

        onHistorysGet(e, t) {
            let i = [], n = {};
            for (let t of e) i.includes(t.date) || (i.push(t.date), n[t.date] = []), n[t.date].push(t);
            this.historysDates = i, this.historysMaps = n
        }

        onOrder() {
            let e = this.orginBookmarks.map(e => (e.top = e.top || !1, e.toptime = e.toptime || 0, e));
            e.sort((e, t) => e.top ? t.top ? (t.toptime || 0) - (e.toptime || 0) : -1 : t.top ? 1 : 0), this.bookmarks = e
        }

        get partialHistorys() {
            let e = this.loadedCount;
            return e > this.historys.length && (e = this.historys.length, this.loadedCount = this.historys.length), this.historys.slice(0, e)
        }

        get hasMore() {
            return this.loadedCount !== this.historys.length
        }

        onLoadMore() {
            let e = `button=view_more,tab=${this.activeKey}`;
            d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, e);
            let t = this.loadedCount + 100;
            t > this.historys.length ? this.loadedCount = this.historys.length : this.loadedCount = t
        }

        dateDisplay(e) {
            let t = new Date;
            return o.format("%d/%d/%d", t.getFullYear(), t.getMonth() + 1, t.getDate()) === e ? "今天" : e
        }

        onHistoryClick(e) {
            let t = `url=${encodeURIComponent(e.url)},button=site,tab=${this.activeKey}`;
            d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), u.NativeCallModule.nativeCall.CallNativeFunction("OpenNewTab", e.url)
        }

        onHistoryItemMenu(e, t, i) {
            return r(this, void 0, void 0, function* () {
                let n = [{
                        label: "复制", click: () => {
                            let t = `url=${encodeURIComponent(e.url)},button=copy,tab=${this.activeKey}`;
                            d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), l.clipboard.writeText(e.url), this.messageType = "success", this.messageContent = "地址复制成功", this.$refs.message.show()
                        }
                    }, {
                        label: "删除", click: () => {
                            let n = `url=${encodeURIComponent(e.url)},button=remove,tab=${this.activeKey}`;
                            d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, n);
                            for (let t = 0; t < this.historys.length; t++) {
                                let i = this.historys[t];
                                if (i.url === e.url && i.accessTime === e.accessTime) {
                                    this.historys.splice(t, 1);
                                    break
                                }
                            }
                            let r = this.historysMaps[e.date];
                            r && r.length > 0 && (t < r.length ? (this.historysMaps[e.date].splice(t, 1), 0 === this.historysMaps[e.date].length && (i < this.historysDates.length ? (this.historysDates.splice(i, 1), delete this.historysMaps[e.date]) : A.warning("history exception on delete one day", i, this.historysDates.length))) : A.warning("history exception on delete item", t, r.length)), u.NativeCallModule.nativeCall.CallNativeFunction("DeleteHistoryItem", JSON.stringify(e))
                        }
                    }], r = yield c.asyncRemoteCall.getCurrentWindow(),
                    o = yield(yield c.asyncRemoteCall.getMenu()).buildFromTemplate(n);
                yield h.MenuSkinNS.setStyle(o, {}), yield o.popup(Object.assign({}, {window: r}))
            })
        }

        onClearHistorys() {
            return r(this, void 0, void 0, function* () {
                let e = `button=clean_all,tab=${this.activeKey}`;
                d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, e);
                let t = yield c.asyncRemoteCall.getCurrentWindow();
                this.editing = !0, p.MessageBox.pop({
                    title: "",
                    size: "small",
                    message: "确定要清空浏览记录吗",
                    parentId: t.id,
                    okText: "清空",
                    cancelText: "再想想"
                }, {width: 300, height: 170, center: !0}).then(e => r(this, void 0, void 0, function* () {
                    yield t.focus(), this.editing = !1, e.action === f.MessageBoxNS.Action.OK && (u.NativeCallModule.nativeCall.CallNativeFunction("ClearHistorys"), this.historys = [], this.historysMaps = {}, this.historysDates = [])
                })).catch()
            })
        }

        onFavItemClick(e) {
            let t = `url=${encodeURIComponent(e.url)},button=site,tab=${this.activeKey}`;
            d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), l.ipcRenderer.send("openNewTab-book-list", {
                url: e.url,
                title: e.name
            })
        }

        onFavItemMenu(e, t) {
            return r(this, void 0, void 0, function* () {
                let t = `url=${encodeURIComponent(e.url)},tab=${this.activeKey}`;
                d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_rk_click", "", 0, 0, 0, 0, t);
                let i = [{
                    label: "复制", click: () => {
                        let t = `url=${encodeURIComponent(e.url)},button=copy,tab=${this.activeKey}`;
                        d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), l.clipboard.writeText(e.url), this.messageType = "success", this.messageContent = "地址复制成功", this.$refs.message.show()
                    }
                }, {
                    label: "编辑", click: () => {
                        let t = `url=${encodeURIComponent(e.url)},button=edit,tab=${this.activeKey}`;
                        d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), this.editing = !0, u.NativeCallModule.nativeCall.CallNativeFunction("EditBookmarksItemAW", {
                            url: e.url,
                            title: e.name,
                            iconUrl: e.iconUrl,
                            state: "edit"
                        }, (t, i) => r(this, void 0, void 0, function* () {
                            yield(yield c.asyncRemoteCall.getCurrentWindow()).focus(), this.editing = !1, i.action === f.MessageBoxNS.Action.OK ? "ok" === i.args.state && this.updateTitle({
                                url: e.url,
                                title: i.args.title
                            }) : i.action === f.MessageBoxNS.Action.Cancel && this.deleteItem(e.url)
                        }))
                    }
                }, {
                    label: "取消收藏", click: () => {
                        let t = `url=${encodeURIComponent(e.url)},button=remove,tab=${this.activeKey}`;
                        d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), this.deleteItem(e.url), l.ipcRenderer.send("delete-book-list", {url: e.url})
                    }
                }];
                e.top ? i.splice(1, 0, {
                    label: "取消置顶", click: () => {
                        let t = `url=${encodeURIComponent(e.url)},button=top,tab=${this.activeKey}`;
                        d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), u.NativeCallModule.nativeCall.CallNativeFunction("TopBookmarksItem", {
                            url: e.url,
                            top: !1
                        }, (t, i) => {
                            this.updateTopStatus({url: e.url, top: !1})
                        })
                    }
                }) : i.splice(1, 0, {
                    label: "置顶", click: () => {
                        let t = `url=${encodeURIComponent(e.url)},button=top,tab=${this.activeKey}`;
                        d.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), u.NativeCallModule.nativeCall.CallNativeFunction("TopBookmarksItem", {
                            url: e.url,
                            top: !0
                        }, (t, i) => {
                            this.updateTopStatus({url: e.url, top: !0})
                        })
                    }
                });
                let n = yield c.asyncRemoteCall.getCurrentWindow(),
                    o = yield(yield c.asyncRemoteCall.getMenu()).buildFromTemplate(i);
                yield h.MenuSkinNS.setStyle(o, {}), yield o.popup(Object.assign({}, {window: n}))
            })
        }

        deleteItem(e) {
            for (let t = 0; t < this.orginBookmarks.length; t++) {
                if (e === this.orginBookmarks[t].url) {
                    this.orginBookmarks.splice(t, 1);
                    break
                }
            }
        }

        updateTitle(e) {
            do {
                if (!e.title) break;
                for (let t = 0; t < this.orginBookmarks.length; t++) {
                    let i = this.orginBookmarks[t];
                    if (e.url === i.url) {
                        i.name = e.title;
                        break
                    }
                }
            } while (0)
        }

        updateTopStatus(e) {
            for (let t = 0; t < this.orginBookmarks.length; t++) {
                let i = this.orginBookmarks[t];
                if (e.url === i.url) {
                    e.top ? (i.top = !0, i.toptime = (new Date).getTime()) : (i.top = !1, i.toptime = 0), a.Vue.set(this.orginBookmarks, String(t), Object.assign({}, i));
                    break
                }
            }
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                let e = yield c.asyncRemoteCall.getCurrentWindow();
                e.show(), e.focus(), e.on("blur", e => {
                    this.editing || window.close()
                }), u.NativeCallModule.nativeCall.CallNativeFunction("GetRecentHistorys", (e, t) => {
                    0 === e && (this.historys = JSON.parse(t), this.loadedCount = this.historys.length > 100 ? 100 : this.historys.length)
                })
            })
        }
    };
    n([a.Prop({})], v.prototype, "options", void 0), n([a.Watch("activeKey")], v.prototype, "onTabChange", null), n([a.Watch("options", {immediate: !0})], v.prototype, "onOptionsChange", null), n([a.Watch("partialHistorys")], v.prototype, "onHistorysGet", null), n([a.Watch("orginBookmarks", {immediate: !0})], v.prototype, "onOrder", null), v = n([a.Component({})], v), t.default = v
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(388), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(3), s = i(7), a = i(31), l = i(5), c = i(30), u = i(32);
    let d = class extends (a.mixins(u.DraggableMixin, u.PositionMixin)) {
        constructor() {
            super(...arguments), this.username = "", this.password = "", this.isShowTips = !1, this.tipsText = ""
        }

        handleClose() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Close), window.close()
        }

        handleOK() {
            do {
                if ("" === this.username) {
                    this.tipsText = "用户名不能为空！", this.isShowTips = !0;
                    break
                }
                o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.OK, {
                    username: this.username,
                    password: this.password
                }), window.close()
            } while (0)
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                window.addEventListener("keyup", e => {
                    "Enter" === e.key ? this.handleOK() : "Escape" === e.key && this.handleClose()
                }, !0), document.addEventListener("click", () => {
                    this.isShowTips = !1
                }), (yield s.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                }), o.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                    o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Close)
                })
            })
        }
    };
    n([l.Prop()], d.prototype, "options", void 0), n([l.Prop()], d.prototype, "boxId", void 0), d = n([l.Component], d), t.default = d
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(390), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(32), l = i(3), c = i(30), u = i(79), d = i(1), h = i(4), p = i(15), f = i(165),
        A = {margin: 0, width: 100}, v = d.default.getLogger("Shoulei-Sync-Guide");
    let g = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.showGuide = !1, this.state = "offline"
        }

        closeDialog() {
            l.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Close), window.close()
        }

        handleCancel() {
            let e = this.options.statFrom || "", t = "";
            t = "online" === this.state ? "connect_shoulei_connected_page_click" : this.showGuide ? "connect_shoulei_scan_page_click" : "connect_shoulei_entry_page_click", p.XLStatNS.trackEvent("download_leftpanel", t, "", 0, 0, 0, 0, `from=${e},click_id=close`), this.closeDialog()
        }

        handleOk() {
            let e = this.options.statFrom || "";
            p.XLStatNS.trackEvent("download_leftpanel", "connect_shoulei_connected_page_click", "", 0, 0, 0, 0, `from=${e},click_id=ok`), this.closeDialog()
        }

        handleOpen() {
            return r(this, void 0, void 0, function* () {
                let e = this.options.statFrom || "";
                p.XLStatNS.trackEvent("download_leftpanel", "connect_shoulei_entry_page_click", "", 0, 0, 0, 0, `from=${e},click_id=open`), this.showGuide = !0, this.$nextTick(() => {
                    let e = this.options.statFrom || "";
                    p.XLStatNS.trackEvent("download_leftpanel", "connect_shoulei_scan_page_show", "", 0, 0, 0, 0, `from=${e}`);
                    let t = document.getElementById("qrcodecanvas"), i = this.options.sfrom || "";
                    f.toCanvas(t, `http://sl-m-ssl.xunlei.com/pages/activities/download/?sfrom=${i}`, A, e => {
                        v.information("QRCode.toCanvas error = ", e)
                    }), u.ThunderWindowNS.resizeToFitContent(0, 0, u.ThunderWindowNS.fitWindowPosInParent)
                })
            })
        }

        onShouleiConnectStateChanged(e, t) {
            this.state = t, v.information("onShouleiConnectStateChanged", t, this.showGuide), this.showGuide && "online" === t && (this.showGuide = !1), this.sendShowStat(), this.$nextTick(() => {
                this.$nextTick(() => {
                    u.ThunderWindowNS.resizeToFitContent(0, 0, u.ThunderWindowNS.fitWindowPosInParent)
                })
            })
        }

        sendShowStat() {
            let e = this.options.statFrom || "";
            "offline" === this.state ? p.XLStatNS.trackEvent("download_leftpanel", "connect_shoulei_entry_page_show", "", 0, 0, 0, 0, `from=${e}`) : p.XLStatNS.trackEvent("download_leftpanel", "connect_shoulei_connected_page_show", "", 0, 0, 0, 0, `from=${e}`)
        }

        created() {
            this.state = "remoting" === this.options.type ? "online" : "offline", h.client.attachServerEvent("OnShouleiConnectStateChanged", this.onShouleiConnectStateChanged.bind(this))
        }

        mounted() {
            v.information("mounted"), this.sendShowStat(), this.$nextTick(() => {
                u.ThunderWindowNS.resizeToFitContent(0, 0, u.ThunderWindowNS.fitWindowPosInParent)
            })
        }
    };
    n([s.Prop()], g.prototype, "options", void 0), n([s.Prop()], g.prototype, "boxId", void 0), g = n([s.Component], g), t.default = g
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(392), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    }, r = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = i(31), s = i(5), a = i(32), l = i(3), c = i(7), u = i(30), d = i(4), h = i(788), p = i(15), f = i(16),
        A = i(58), v = i(165), g = {margin: 0, width: 78};
    let m = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.qrcodeFailed = !0
        }

        handleCancel() {
            p.XLStatNS.trackEvent("download_detail", "dltab_detail_sendfile_tab_qrcode_click", "", 0, 0, 0, 0, "page=sendfile_pop,button=close"), l.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close), window.close()
        }

        handleRefreshQRCode() {
            return r(this, void 0, void 0, function* () {
                p.XLStatNS.trackEvent("download_detail", "dltab_detail_sendfile_tab_qrcode_click", "", 0, 0, 0, 0, "page=sendfile_pop,button=refresh");
                let e = yield d.client.callServerFunction("GetSubNetUploader");
                if (e) {
                    let t = yield d.client.callServerFunction("GetShouleiFileTransferDlj", this.options.taskBase.taskId, e, "pic", "leftlist_rk_phone");
                    t && "" !== t && (this.qrcodeFailed = !1, this.$nextTick(() => {
                        let e = document.getElementById("qrcodecanvas");
                        v.toCanvas(e, t, g, e => {
                        })
                    }))
                }
            })
        }

        popupDownloadShoulei() {
            return r(this, void 0, void 0, function* () {
                p.XLStatNS.trackEvent("download_detail", "dltab_detail_sendfile_tab_qrcode_click", "", 0, 0, 0, 0, "page=sendfile_pop,button=download_shoulei");
                let e = (yield c.asyncRemoteCall.getCurrentWindow()).id;
                h.getMobileImgSrc().then(t => {
                    d.client.callServerFunction("MessageBoxCustom", "img-dlg", {
                        parentId: e,
                        src: t,
                        width: 400,
                        height: 276
                    }, {width: 400, height: 276}).catch()
                }).catch()
            })
        }

        translateFileTypeToString(e) {
            let t = "other";
            switch (e) {
                case A.TaskUtilHelper.FileExtType.Video:
                    t = "video";
                    break;
                case A.TaskUtilHelper.FileExtType.Music:
                    t = "music";
                    break;
                case A.TaskUtilHelper.FileExtType.Doc:
                    t = "doc";
                    break;
                case A.TaskUtilHelper.FileExtType.Software:
                    t = "exe"
            }
            return t
        }

        getFileType(e, t) {
            let i = "";
            if (e.taskType === f.DownloadKernel.TaskType.Bt) {
                if (t && t.length > 0) for (let e = 0; e < t.length; ++e) {
                    let n = A.TaskUtilHelper.getTaskFileType(t[e].fileName), r = this.translateFileTypeToString(n);
                    if ("other" !== r) {
                        i = r;
                        break
                    }
                }
            } else {
                let t = A.TaskUtilHelper.getTaskFileType(e.taskName);
                i = this.translateFileTypeToString(t)
            }
            return i
        }

        getTaskType(e) {
            let t = "unknown";
            switch (e.taskType) {
                case f.DownloadKernel.TaskType.P2sp:
                    t = "p2sp";
                    break;
                case f.DownloadKernel.TaskType.Bt:
                    t = "bt";
                    break;
                case f.DownloadKernel.TaskType.Emule:
                    t = "emule";
                    break;
                case f.DownloadKernel.TaskType.Group:
                    t = "group";
                    break;
                case f.DownloadKernel.TaskType.Magnet:
                    t = "magnet"
            }
            return t
        }

        mounted() {
            let e = this.options.shareLink, t = this.options.taskBase, i = "";
            e && "" !== e ? (i = "success", this.qrcodeFailed = !1) : (e = "https://mobile.xunlei.com/m/channel.html?from=xunlei10daoliang", i = "default");
            let n = `page=sendfile_pop,qr_type=${i},file_type=${this.getFileType(t, this.options.subFileList)},task_type=${this.getTaskType(t)}`;
            p.XLStatNS.trackEvent("download_detail", "dltab_detail_sendfile_qrcode_show", "", 0, 0, 0, 0, n), this.$nextTick(() => {
                let e = document.getElementById("qrcodecanvas");
                v.toCanvas(e, this.options.shareLink, g, e => {
                })
            })
        }
    };
    n([s.Prop()], m.prototype, "options", void 0), n([s.Prop()], m.prototype, "boxId", void 0), m = n([s.Component], m), t.default = m
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(394), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(5), s = i(31), a = i(30), l = i(32), c = i(147), u = i(102);
    let d = class extends (s.mixins(l.DraggableMixin, l.PositionMixin)) {
        constructor() {
            super(...arguments), this.formData = Object.assign({}, this.options.formData), this.action = a.MessageBoxNS.Action, this.hours = Array.from({length: 24}, (e, t) => t), this.minutes = Array.from({length: 60}, (e, t) => t)
        }

        handleInput(e, t) {
            this.formData[t].value = e
        }

        handleLimitInput(e, t) {
            this.formData.limitTime[t].value = e
        }

        handleCancel(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, e), window.close()
        }

        handleOK() {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, this.action.OK, this.formData), window.close()
        }
    };
    n([o.Prop()], d.prototype, "options", void 0), n([o.Prop()], d.prototype, "boxId", void 0), d = n([o.Component({
        components: {
            LimitInput: c.default,
            SelectNative: u.default
        }
    })], d), t.default = d
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(396), r = i.n(n);
    for (var o in n) "default" !== o && function (e) {
        i.d(t, e, function () {
            return n[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, i) {
    "use strict";
    var n = this && this.__decorate || function (e, t, i, n) {
        var r, o = arguments.length, s = o < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, i) : n;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, i, s) : r(t, i)) || s);
        return o > 3 && s && Object.defineProperty(t, i, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(3), o = i(5), s = i(31), a = i(32), l = i(30);
    let c = class extends (s.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.action = l.MessageBoxNS.Action, this.isMax = !1, this.imgWidth = 0, this.imgHeight = 0, this.clientWidth = 0, this.clientHeight = 0, this.imgRatio = 0, this.scale = 1, this.scaleInc = .1, this.isResume = !1, this.defaultLeft = 0, this.defaultTop = 0, this.movementX = 0, this.movementY = 0, this.cursor = "zoom-in", this.lastScale = 1
        }

        onScaleChange() {
            let e = this.scale - this.lastScale, t = e * this.showWidth, i = e * this.showHeight;
            this.movementX -= Math.round(t / 2), this.movementY -= Math.round(i / 2)
        }

        get imgSrc() {
            return this.options && (this.options.src || this.options.imgSrc) ? this.options.imgSrc || this.options.src : ""
        }

        resume(e) {
            this.isResume = !this.isResume, this.lastScale = 1, this.scale = 1, this.movementX = 0, this.movementY = 0, "zoom-in" === this.cursor ? this.cursor = "zoom-out" : "zoom-out" === this.cursor && (this.cursor = "zoom-in"), this.isResume ? (this.isLong ? this.defaultTop = 0 : this.defaultTop = (this.clientHeight - this.showHeight) / 2, this.defaultLeft = (this.clientWidth - this.showWidth) / 2) : (this.defaultLeft = (this.clientWidth - this.showWidth) / 2, this.defaultTop = (this.clientHeight - this.showHeight) / 2)
        }

        onZoomIn() {
            this.scale <= 4.9 && (this.lastScale = this.scale, this.scale += this.scaleInc)
        }

        onZoomOut() {
            this.scale >= .2 && (this.lastScale = this.scale, this.scale -= this.scaleInc)
        }

        onMouseMove(e) {
            1 === e.buttons && (this.movementX += e.movementX, this.movementY += e.movementY)
        }

        updateNativeSize() {
            this.clientWidth = window.innerWidth, this.clientHeight = window.innerHeight - 40 - 31, this.isLong ? this.defaultTop = 0 : this.defaultTop = (this.clientHeight - this.showHeight) / 2, this.defaultLeft = (this.clientWidth - this.showWidth) / 2
        }

        handleCtrlScroll(e) {
            this.lastScale = this.scale, e.deltaY < 0 && this.scale <= 4.9 ? this.scale += this.scaleInc : e.deltaY > 0 && this.scale >= .2 && (this.scale -= this.scaleInc)
        }

        imgLoaded() {
            let e = this.$refs.image;
            this.imgWidth = e.naturalWidth, this.imgHeight = e.naturalHeight, this.imgRatio = this.imgWidth / this.imgHeight, this.imgWidth <= this.clientWidth && this.imgHeight <= this.clientHeight && (this.cursor = "default"), this.updateNativeSize()
        }

        get clientRatio() {
            return this.clientWidth / this.clientHeight
        }

        get left() {
            return (this.movementX + this.defaultLeft) / this.clientWidth * 100
        }

        get top() {
            return (this.movementY + this.defaultTop) / this.clientHeight * 100
        }

        get showWidth() {
            return this.showHeight * this.imgRatio
        }

        get showHeight() {
            return this.isResume ? this.imgHeight : this.imgRatio >= this.clientRatio ? this.imgWidth <= this.clientWidth ? this.imgHeight : this.imgHeight / this.imgWidth * this.clientWidth : this.imgHeight <= this.clientHeight ? this.imgHeight : this.clientHeight
        }

        get isLong() {
            return this.showHeight * this.scale > this.clientHeight ? (this.defaultTop = 0, !0) : (this.defaultTop = this.clientHeight / 2, !1)
        }

        minimizeWindow() {
            r.remote.getCurrentWindow().minimize()
        }

        closeWindow() {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Close), window.close()
        }

        resizeWindow(e) {
            this.isMax = !this.isMax, "maximize" === e ? r.remote.getCurrentWindow().maximize() : r.remote.getCurrentWindow().unmaximize()
        }

        mounted() {
            window.addEventListener("resize", this.updateNativeSize)
        }

        beforeDestroy() {
            window.removeEventListener("resize", this.updateNativeSize)
        }
    };
    n([o.Prop()], c.prototype, "boxId", void 0), n([o.Prop()], c.prototype, "options", void 0), n([o.Watch("scale")], c.prototype, "onScaleChange", null), c = n([o.Component], c), t.default = c
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function (e, t, i) {
    var n = i(446), r = i(178), o = i(464), s = i(476), a = i(477), l = i(478);

    function c(e, t, i) {
        if (void 0 === e) throw new Error("String required as first argument");
        if (void 0 === i && (i = t, t = {}), "function" != typeof i) {
            if (!n()) throw new Error("Callback required as last argument");
            t = i || {}, i = null
        }
        return {opts: t, cb: i}
    }

    function u(e) {
        switch (e) {
            case"svg":
                return l;
            case"txt":
            case"utf8":
                return s;
            case"png":
            case"image/png":
            default:
                return o
        }
    }

    function d(e, t, i) {
        if (!i.cb) return new Promise(function (n, o) {
            try {
                var s = r.create(t, i.opts);
                return e(s, i.opts, function (e, t) {
                    return e ? o(e) : n(t)
                })
            } catch (e) {
                o(e)
            }
        });
        try {
            var n = r.create(t, i.opts);
            return e(n, i.opts, i.cb)
        } catch (e) {
            i.cb(e)
        }
    }

    t.create = r.create, t.toCanvas = i(479).toCanvas, t.toString = function (e, t, i) {
        var n = c(e, t, i);
        return d(function (e) {
            switch (e) {
                case"svg":
                    return l;
                case"terminal":
                    return a;
                case"utf8":
                default:
                    return s
            }
        }(n.opts.type).render, e, n)
    }, t.toDataURL = function (e, t, i) {
        var n = c(e, t, i);
        return d(u(n.opts.type).renderToDataURL, e, n)
    }, t.toBuffer = function (e, t, i) {
        var n = c(e, t, i);
        return d(u(n.opts.type).renderToBuffer, e, n)
    }, t.toFile = function (e, t, i, r) {
        if ("string" != typeof e || "string" != typeof t && "object" != typeof t) throw new Error("Invalid argument");
        if (arguments.length < 3 && !n()) throw new Error("Too few arguments provided");
        var o = c(t, i, r);
        return d(u(o.opts.type || function (e) {
            return e.slice(2 + (e.lastIndexOf(".") - 1 >>> 0)).toLowerCase()
        }(e)).renderToFile.bind(null, e), t, o)
    }, t.toFileStream = function (e, t, i) {
        if (arguments.length < 2) throw new Error("Too few arguments provided");
        var n = c(t, i, e.emit.bind(e, "error"));
        d(u("png").renderToFileStream.bind(null, e), t, n)
    }
}, function (e, t, i) {
    "use strict";
    var n = i(447);
    e.exports = function () {
        return "function" == typeof n.Promise && "function" == typeof n.Promise.prototype.then
    }
}, function (e, t, i) {
    "use strict";
    e.exports = "object" == typeof self && self.self === self && self || "object" == typeof global && global.global === global && global || this
}, function (e, t) {
    function i() {
        this.buffer = [], this.length = 0
    }

    i.prototype = {
        get: function (e) {
            var t = Math.floor(e / 8);
            return 1 == (this.buffer[t] >>> 7 - e % 8 & 1)
        }, put: function (e, t) {
            for (var i = 0; i < t; i++) this.putBit(1 == (e >>> t - i - 1 & 1))
        }, getLengthInBits: function () {
            return this.length
        }, putBit: function (e) {
            var t = Math.floor(this.length / 8);
            this.buffer.length <= t && this.buffer.push(0), e && (this.buffer[t] |= 128 >>> this.length % 8), this.length++
        }
    }, e.exports = i
}, function (e, t, i) {
    var n = i(101);

    function r(e) {
        if (!e || e < 1) throw new Error("BitMatrix size must be defined and greater than 0");
        this.size = e, this.data = new n(e * e), this.data.fill(0), this.reservedBit = new n(e * e), this.reservedBit.fill(0)
    }

    r.prototype.set = function (e, t, i, n) {
        var r = e * this.size + t;
        this.data[r] = i, n && (this.reservedBit[r] = !0)
    }, r.prototype.get = function (e, t) {
        return this.data[e * this.size + t]
    }, r.prototype.xor = function (e, t, i) {
        this.data[e * this.size + t] ^= i
    }, r.prototype.isReserved = function (e, t) {
        return this.reservedBit[e * this.size + t]
    }, e.exports = r
}, function (e, t, i) {
    var n = i(81).getSymbolSize;
    t.getRowColCoords = function (e) {
        if (1 === e) return [];
        for (var t = Math.floor(e / 7) + 2, i = n(e), r = 145 === i ? 26 : 2 * Math.ceil((i - 13) / (2 * t - 2)), o = [i - 7], s = 1; s < t - 1; s++) o[s] = o[s - 1] - r;
        return o.push(6), o.reverse()
    }, t.getPositions = function (e) {
        for (var i = [], n = t.getRowColCoords(e), r = n.length, o = 0; o < r; o++) for (var s = 0; s < r; s++) 0 === o && 0 === s || 0 === o && s === r - 1 || o === r - 1 && 0 === s || i.push([n[o], n[s]]);
        return i
    }
}, function (e, t, i) {
    var n = i(81).getSymbolSize;
    t.getPositions = function (e) {
        var t = n(e);
        return [[0, 0], [t - 7, 0], [0, t - 7]]
    }
}, function (e, t) {
    t.Patterns = {
        PATTERN000: 0,
        PATTERN001: 1,
        PATTERN010: 2,
        PATTERN011: 3,
        PATTERN100: 4,
        PATTERN101: 5,
        PATTERN110: 6,
        PATTERN111: 7
    };
    var i = 3, n = 3, r = 40, o = 10;

    function s(e, i, n) {
        switch (e) {
            case t.Patterns.PATTERN000:
                return (i + n) % 2 == 0;
            case t.Patterns.PATTERN001:
                return i % 2 == 0;
            case t.Patterns.PATTERN010:
                return n % 3 == 0;
            case t.Patterns.PATTERN011:
                return (i + n) % 3 == 0;
            case t.Patterns.PATTERN100:
                return (Math.floor(i / 2) + Math.floor(n / 3)) % 2 == 0;
            case t.Patterns.PATTERN101:
                return i * n % 2 + i * n % 3 == 0;
            case t.Patterns.PATTERN110:
                return (i * n % 2 + i * n % 3) % 2 == 0;
            case t.Patterns.PATTERN111:
                return (i * n % 3 + (i + n) % 2) % 2 == 0;
            default:
                throw new Error("bad maskPattern:" + e)
        }
    }

    t.isValid = function (e) {
        return null != e && "" !== e && !isNaN(e) && e >= 0 && e <= 7
    }, t.from = function (e) {
        return t.isValid(e) ? parseInt(e, 10) : void 0
    }, t.getPenaltyN1 = function (e) {
        for (var t = e.size, n = 0, r = 0, o = 0, s = null, a = null, l = 0; l < t; l++) {
            r = o = 0, s = a = null;
            for (var c = 0; c < t; c++) {
                var u = e.get(l, c);
                u === s ? r++ : (r >= 5 && (n += i + (r - 5)), s = u, r = 1), (u = e.get(c, l)) === a ? o++ : (o >= 5 && (n += i + (o - 5)), a = u, o = 1)
            }
            r >= 5 && (n += i + (r - 5)), o >= 5 && (n += i + (o - 5))
        }
        return n
    }, t.getPenaltyN2 = function (e) {
        for (var t = e.size, i = 0, r = 0; r < t - 1; r++) for (var o = 0; o < t - 1; o++) {
            var s = e.get(r, o) + e.get(r, o + 1) + e.get(r + 1, o) + e.get(r + 1, o + 1);
            4 !== s && 0 !== s || i++
        }
        return i * n
    }, t.getPenaltyN3 = function (e) {
        for (var t = e.size, i = 0, n = 0, o = 0, s = 0; s < t; s++) {
            n = o = 0;
            for (var a = 0; a < t; a++) n = n << 1 & 2047 | e.get(s, a), a >= 10 && (1488 === n || 93 === n) && i++, o = o << 1 & 2047 | e.get(a, s), a >= 10 && (1488 === o || 93 === o) && i++
        }
        return i * r
    }, t.getPenaltyN4 = function (e) {
        for (var t = 0, i = e.data.length, n = 0; n < i; n++) t += e.data[n];
        return Math.abs(Math.ceil(100 * t / i / 5) - 10) * o
    }, t.applyMask = function (e, t) {
        for (var i = t.size, n = 0; n < i; n++) for (var r = 0; r < i; r++) t.isReserved(r, n) || t.xor(r, n, s(e, r, n))
    }, t.getBestMask = function (e, i) {
        for (var n = Object.keys(t.Patterns).length, r = 0, o = 1 / 0, s = 0; s < n; s++) {
            i(s), t.applyMask(s, e);
            var a = t.getPenaltyN1(e) + t.getPenaltyN2(e) + t.getPenaltyN3(e) + t.getPenaltyN4(e);
            t.applyMask(s, e), a < o && (o = a, r = s)
        }
        return r
    }
}, function (e, t, i) {
    var n = i(101), r = i(454);

    function o(e) {
        this.genPoly = void 0, this.degree = e, this.degree && this.initialize(this.degree)
    }

    o.prototype.initialize = function (e) {
        this.degree = e, this.genPoly = r.generateECPolynomial(this.degree)
    }, o.prototype.encode = function (e) {
        if (!this.genPoly) throw new Error("Encoder not initialized");
        var t = new n(this.degree);
        t.fill(0);
        var i = n.concat([e, t], e.length + this.degree), o = r.mod(i, this.genPoly), s = this.degree - o.length;
        if (s > 0) {
            var a = new n(this.degree);
            return a.fill(0), o.copy(a, s), a
        }
        return o
    }, e.exports = o
}, function (e, t, i) {
    var n = i(101), r = i(455);
    t.mul = function (e, t) {
        var i = new n(e.length + t.length - 1);
        i.fill(0);
        for (var o = 0; o < e.length; o++) for (var s = 0; s < t.length; s++) i[o + s] ^= r.mul(e[o], t[s]);
        return i
    }, t.mod = function (e, t) {
        for (var i = new n(e); i.length - t.length >= 0;) {
            for (var o = i[0], s = 0; s < t.length; s++) i[s] ^= r.mul(t[s], o);
            for (var a = 0; a < i.length && 0 === i[a];) a++;
            i = i.slice(a)
        }
        return i
    }, t.generateECPolynomial = function (e) {
        for (var i = new n([1]), o = 0; o < e; o++) i = t.mul(i, [1, r.exp(o)]);
        return i
    }
}, function (e, t, i) {
    var n = i(101);
    if (n.alloc) var r = n.alloc(512), o = n.alloc(256); else r = new n(512), o = new n(256);
    !function () {
        for (var e = 1, t = 0; t < 255; t++) r[t] = e, o[e] = t, 256 & (e <<= 1) && (e ^= 285);
        for (t = 255; t < 512; t++) r[t] = r[t - 255]
    }(), t.log = function (e) {
        if (e < 1) throw new Error("log(" + e + ")");
        return o[e]
    }, t.exp = function (e) {
        return r[e]
    }, t.mul = function (e, t) {
        return 0 === e || 0 === t ? 0 : r[o[e] + o[t]]
    }
}, function (e, t, i) {
    var n = i(81), r = i(179), o = i(156), s = i(82), a = i(180), l = i(182), c = n.getBCHDigit(7973);

    function u(e, t) {
        return s.getCharCountIndicator(e, t) + 4
    }

    function d(e, t) {
        var i = 0;
        return e.forEach(function (e) {
            var n = u(e.mode, t);
            i += n + e.getBitsLength()
        }), i
    }

    t.from = function (e, t) {
        return a.isValid(e) ? parseInt(e, 10) : t
    }, t.getCapacity = function (e, t, i) {
        if (!a.isValid(e)) throw new Error("Invalid QR Code version");
        void 0 === i && (i = s.BYTE);
        var o = 8 * (n.getSymbolTotalCodewords(e) - r.getTotalCodewordsCount(e, t));
        if (i === s.MIXED) return o;
        var l = o - u(i, e);
        switch (i) {
            case s.NUMERIC:
                return Math.floor(l / 10 * 3);
            case s.ALPHANUMERIC:
                return Math.floor(l / 11 * 2);
            case s.KANJI:
                return Math.floor(l / 13);
            case s.BYTE:
            default:
                return Math.floor(l / 8)
        }
    }, t.getBestVersionForData = function (e, i) {
        var n, r = o.from(i, o.M);
        if (l(e)) {
            if (e.length > 1) return function (e, i) {
                for (var n = 1; n <= 40; n++) if (d(e, n) <= t.getCapacity(n, i, s.MIXED)) return n
            }(e, r);
            if (0 === e.length) return 1;
            n = e[0]
        } else n = e;
        return function (e, i, n) {
            for (var r = 1; r <= 40; r++) if (i <= t.getCapacity(r, n, e)) return r
        }(n.mode, n.getLength(), r)
    }, t.getEncodedBits = function (e) {
        if (!a.isValid(e) || e < 7) throw new Error("Invalid QR Code version");
        for (var t = e << 12; n.getBCHDigit(t) - c >= 0;) t ^= 7973 << n.getBCHDigit(t) - c;
        return e << 12 | t
    }
}, function (e, t, i) {
    var n = i(81), r = n.getBCHDigit(1335);
    t.getEncodedBits = function (e, t) {
        for (var i = e.bit << 3 | t, o = i << 10; n.getBCHDigit(o) - r >= 0;) o ^= 1335 << n.getBCHDigit(o) - r;
        return 21522 ^ (i << 10 | o)
    }
}, function (e, t, i) {
    var n = i(82), r = i(459), o = i(460), s = i(461), a = i(462), l = i(181), c = i(81), u = i(463);

    function d(e) {
        return unescape(encodeURIComponent(e)).length
    }

    function h(e, t, i) {
        for (var n, r = []; null !== (n = e.exec(i));) r.push({
            data: n[0],
            index: n.index,
            mode: t,
            length: n[0].length
        });
        return r
    }

    function p(e) {
        var t, i, r = h(l.NUMERIC, n.NUMERIC, e), o = h(l.ALPHANUMERIC, n.ALPHANUMERIC, e);
        return c.isKanjiModeEnabled() ? (t = h(l.BYTE, n.BYTE, e), i = h(l.KANJI, n.KANJI, e)) : (t = h(l.BYTE_KANJI, n.BYTE, e), i = []), r.concat(o, t, i).sort(function (e, t) {
            return e.index - t.index
        }).map(function (e) {
            return {data: e.data, mode: e.mode, length: e.length}
        })
    }

    function f(e, t) {
        switch (t) {
            case n.NUMERIC:
                return r.getBitsLength(e);
            case n.ALPHANUMERIC:
                return o.getBitsLength(e);
            case n.KANJI:
                return a.getBitsLength(e);
            case n.BYTE:
                return s.getBitsLength(e)
        }
    }

    function A(e, t) {
        var i, l = n.getBestModeForData(e);
        if ((i = n.from(t, l)) !== n.BYTE && i.bit < l.bit) throw new Error('"' + e + '" cannot be encoded with mode ' + n.toString(i) + ".\n Suggested mode is: " + n.toString(l));
        switch (i !== n.KANJI || c.isKanjiModeEnabled() || (i = n.BYTE), i) {
            case n.NUMERIC:
                return new r(e);
            case n.ALPHANUMERIC:
                return new o(e);
            case n.KANJI:
                return new a(e);
            case n.BYTE:
                return new s(e)
        }
    }

    t.fromArray = function (e) {
        return e.reduce(function (e, t) {
            return "string" == typeof t ? e.push(A(t, null)) : t.data && e.push(A(t.data, t.mode)), e
        }, [])
    }, t.fromString = function (e, i) {
        for (var r = function (e, t) {
            for (var i = {}, r = {start: {}}, o = ["start"], s = 0; s < e.length; s++) {
                for (var a = e[s], l = [], c = 0; c < a.length; c++) {
                    var u = a[c], d = "" + s + c;
                    l.push(d), i[d] = {node: u, lastCount: 0}, r[d] = {};
                    for (var h = 0; h < o.length; h++) {
                        var p = o[h];
                        i[p] && i[p].node.mode === u.mode ? (r[p][d] = f(i[p].lastCount + u.length, u.mode) - f(i[p].lastCount, u.mode), i[p].lastCount += u.length) : (i[p] && (i[p].lastCount = u.length), r[p][d] = f(u.length, u.mode) + 4 + n.getCharCountIndicator(u.mode, t))
                    }
                }
                o = l
            }
            for (h = 0; h < o.length; h++) r[o[h]].end = 0;
            return {map: r, table: i}
        }(function (e) {
            for (var t = [], i = 0; i < e.length; i++) {
                var r = e[i];
                switch (r.mode) {
                    case n.NUMERIC:
                        t.push([r, {data: r.data, mode: n.ALPHANUMERIC, length: r.length}, {
                            data: r.data,
                            mode: n.BYTE,
                            length: r.length
                        }]);
                        break;
                    case n.ALPHANUMERIC:
                        t.push([r, {data: r.data, mode: n.BYTE, length: r.length}]);
                        break;
                    case n.KANJI:
                        t.push([r, {data: r.data, mode: n.BYTE, length: d(r.data)}]);
                        break;
                    case n.BYTE:
                        t.push([{data: r.data, mode: n.BYTE, length: d(r.data)}])
                }
            }
            return t
        }(p(e, c.isKanjiModeEnabled())), i), o = u.find_path(r.map, "start", "end"), s = [], a = 1; a < o.length - 1; a++) s.push(r.table[o[a]].node);
        return t.fromArray(function (e) {
            return e.reduce(function (e, t) {
                var i = e.length - 1 >= 0 ? e[e.length - 1] : null;
                return i && i.mode === t.mode ? (e[e.length - 1].data += t.data, e) : (e.push(t), e)
            }, [])
        }(s))
    }, t.rawSplit = function (e) {
        return t.fromArray(p(e, c.isKanjiModeEnabled()))
    }
}, function (e, t, i) {
    var n = i(82);

    function r(e) {
        this.mode = n.NUMERIC, this.data = e.toString()
    }

    r.getBitsLength = function (e) {
        return 10 * Math.floor(e / 3) + (e % 3 ? e % 3 * 3 + 1 : 0)
    }, r.prototype.getLength = function () {
        return this.data.length
    }, r.prototype.getBitsLength = function () {
        return r.getBitsLength(this.data.length)
    }, r.prototype.write = function (e) {
        var t, i, n;
        for (t = 0; t + 3 <= this.data.length; t += 3) i = this.data.substr(t, 3), n = parseInt(i, 10), e.put(n, 10);
        var r = this.data.length - t;
        r > 0 && (i = this.data.substr(t), n = parseInt(i, 10), e.put(n, 3 * r + 1))
    }, e.exports = r
}, function (e, t, i) {
    var n = i(82),
        r = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", " ", "$", "%", "*", "+", "-", ".", "/", ":"];

    function o(e) {
        this.mode = n.ALPHANUMERIC, this.data = e
    }

    o.getBitsLength = function (e) {
        return 11 * Math.floor(e / 2) + e % 2 * 6
    }, o.prototype.getLength = function () {
        return this.data.length
    }, o.prototype.getBitsLength = function () {
        return o.getBitsLength(this.data.length)
    }, o.prototype.write = function (e) {
        var t;
        for (t = 0; t + 2 <= this.data.length; t += 2) {
            var i = 45 * r.indexOf(this.data[t]);
            i += r.indexOf(this.data[t + 1]), e.put(i, 11)
        }
        this.data.length % 2 && e.put(r.indexOf(this.data[t]), 6)
    }, e.exports = o
}, function (e, t, i) {
    var n = i(101), r = i(82);

    function o(e) {
        this.mode = r.BYTE, this.data = new n(e)
    }

    o.getBitsLength = function (e) {
        return 8 * e
    }, o.prototype.getLength = function () {
        return this.data.length
    }, o.prototype.getBitsLength = function () {
        return o.getBitsLength(this.data.length)
    }, o.prototype.write = function (e) {
        for (var t = 0, i = this.data.length; t < i; t++) e.put(this.data[t], 8)
    }, e.exports = o
}, function (e, t, i) {
    var n = i(82), r = i(81);

    function o(e) {
        this.mode = n.KANJI, this.data = e
    }

    o.getBitsLength = function (e) {
        return 13 * e
    }, o.prototype.getLength = function () {
        return this.data.length
    }, o.prototype.getBitsLength = function () {
        return o.getBitsLength(this.data.length)
    }, o.prototype.write = function (e) {
        var t;
        for (t = 0; t < this.data.length; t++) {
            var i = r.toSJIS(this.data[t]);
            if (i >= 33088 && i <= 40956) i -= 33088; else {
                if (!(i >= 57408 && i <= 60351)) throw new Error("Invalid SJIS character: " + this.data[t] + "\nMake sure your charset is UTF-8");
                i -= 49472
            }
            i = 192 * (i >>> 8 & 255) + (255 & i), e.put(i, 13)
        }
    }, e.exports = o
}, function (e, t, i) {
    "use strict";
    var n = {
        single_source_shortest_paths: function (e, t, i) {
            var r = {}, o = {};
            o[t] = 0;
            var s, a, l, c, u, d, h, p = n.PriorityQueue.make();
            for (p.push(t, 0); !p.empty();) for (l in a = (s = p.pop()).value, c = s.cost, u = e[a] || {}) u.hasOwnProperty(l) && (d = c + u[l], h = o[l], (void 0 === o[l] || h > d) && (o[l] = d, p.push(l, d), r[l] = a));
            if (void 0 !== i && void 0 === o[i]) {
                var f = ["Could not find a path from ", t, " to ", i, "."].join("");
                throw new Error(f)
            }
            return r
        }, extract_shortest_path_from_predecessor_list: function (e, t) {
            for (var i = [], n = t; n;) i.push(n), e[n], n = e[n];
            return i.reverse(), i
        }, find_path: function (e, t, i) {
            var r = n.single_source_shortest_paths(e, t, i);
            return n.extract_shortest_path_from_predecessor_list(r, i)
        }, PriorityQueue: {
            make: function (e) {
                var t, i = n.PriorityQueue, r = {};
                for (t in e = e || {}, i) i.hasOwnProperty(t) && (r[t] = i[t]);
                return r.queue = [], r.sorter = e.sorter || i.default_sorter, r
            }, default_sorter: function (e, t) {
                return e.cost - t.cost
            }, push: function (e, t) {
                var i = {value: e, cost: t};
                this.queue.push(i), this.queue.sort(this.sorter)
            }, pop: function () {
                return this.queue.shift()
            }, empty: function () {
                return 0 === this.queue.length
            }
        }
    };
    e.exports = n
}, function (e, t, i) {
    var n = i(19), r = i(465).PNG, o = i(139);
    t.render = function (e, t) {
        var i = o.getOptions(t), n = i.rendererOpts, s = o.getImageWidth(e.modules.size, i);
        n.width = s, n.height = s;
        var a = new r(n);
        return o.qrToImageData(a.data, e, i), a
    }, t.renderToDataURL = function (e, i, n) {
        void 0 === n && (n = i, i = void 0), t.renderToBuffer(e, i, function (e, t) {
            e && n(e);
            var i = "data:image/png;base64,";
            i += t.toString("base64"), n(null, i)
        })
    }, t.renderToBuffer = function (e, i, n) {
        void 0 === n && (n = i, i = void 0);
        var r = t.render(e, i), o = [];
        r.on("error", n), r.on("data", function (e) {
            o.push(e)
        }), r.on("end", function () {
            n(null, Buffer.concat(o))
        }), r.pack()
    }, t.renderToFile = function (e, i, r, o) {
        void 0 === o && (o = r, r = void 0);
        var s = n.createWriteStream(e);
        s.on("error", o), s.on("close", o), t.renderToFileStream(s, i, r)
    }, t.renderToFileStream = function (e, i, n) {
        t.render(i, n).pack().pipe(e)
    }
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = i(76), o = i(466), s = i(468), a = i(471), l = t.PNG = function (e) {
        r.call(this), e = e || {}, this.width = 0 | e.width, this.height = 0 | e.height, this.data = this.width > 0 && this.height > 0 ? new Buffer(4 * this.width * this.height) : null, e.fill && this.data && this.data.fill(0), this.gamma = 0, this.readable = this.writable = !0, this._parser = new o(e), this._parser.on("error", this.emit.bind(this, "error")), this._parser.on("close", this._handleClose.bind(this)), this._parser.on("metadata", this._metadata.bind(this)), this._parser.on("gamma", this._gamma.bind(this)), this._parser.on("parsed", function (e) {
            this.data = e, this.emit("parsed", e)
        }.bind(this)), this._packer = new s(e), this._packer.on("data", this.emit.bind(this, "data")), this._packer.on("end", this.emit.bind(this, "end")), this._parser.on("close", this._handleClose.bind(this)), this._packer.on("error", this.emit.bind(this, "error"))
    };
    n.inherits(l, r), l.sync = a, l.prototype.pack = function () {
        return this.data && this.data.length ? (process.nextTick(function () {
            this._packer.pack(this.data, this.width, this.height, this.gamma)
        }.bind(this)), this) : (this.emit("error", "No data provided"), this)
    }, l.prototype.parse = function (e, t) {
        var i, n;
        t && (i = function (e) {
            this.removeListener("error", n), this.data = e, t(null, this)
        }.bind(this), n = function (e) {
            this.removeListener("parsed", i), t(e, null)
        }.bind(this), this.once("parsed", i), this.once("error", n));
        return this.end(e), this
    }, l.prototype.write = function (e) {
        return this._parser.write(e), !0
    }, l.prototype.end = function (e) {
        this._parser.end(e)
    }, l.prototype._metadata = function (e) {
        this.width = e.width, this.height = e.height, this.emit("metadata", e)
    }, l.prototype._gamma = function (e) {
        this.gamma = e
    }, l.prototype._handleClose = function () {
        this._parser.writable || this._packer.readable || this.emit("close")
    }, l.bitblt = function (e, t, i, n, r, o, s, a) {
        if (n |= 0, r |= 0, o |= 0, s |= 0, a |= 0, (i |= 0) > e.width || n > e.height || i + r > e.width || n + o > e.height) throw new Error("bitblt reading outside image");
        if (s > t.width || a > t.height || s + r > t.width || a + o > t.height) throw new Error("bitblt writing outside image");
        for (var l = 0; l < o; l++) e.data.copy(t.data, (a + l) * t.width + s << 2, (n + l) * e.width + i << 2, (n + l) * e.width + i + r << 2)
    }, l.prototype.bitblt = function (e, t, i, n, r, o, s) {
        return l.bitblt(this, e, t, i, n, r, o, s), this
    }, l.adjustGamma = function (e) {
        if (e.gamma) {
            for (var t = 0; t < e.height; t++) for (var i = 0; i < e.width; i++) for (var n = e.width * t + i << 2, r = 0; r < 3; r++) {
                var o = e.data[n + r] / 255;
                o = Math.pow(o, 1 / 2.2 / e.gamma), e.data[n + r] = Math.round(255 * o)
            }
            e.gamma = 0
        }
    }, l.prototype.adjustGamma = function () {
        l.adjustGamma(this)
    }
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = i(64), o = i(183), s = i(467), a = i(187), l = i(189), c = i(190), u = e.exports = function (e) {
        o.call(this), this._parser = new a(e, {
            read: this.read.bind(this),
            error: this._handleError.bind(this),
            metadata: this._handleMetaData.bind(this),
            gamma: this.emit.bind(this, "gamma"),
            palette: this._handlePalette.bind(this),
            transColor: this._handleTransColor.bind(this),
            finished: this._finished.bind(this),
            inflateData: this._inflateData.bind(this)
        }), this._options = e, this.writable = !0, this._parser.start()
    };
    n.inherits(u, o), u.prototype._handleError = function (e) {
        this.emit("error", e), this.writable = !1, this.destroy(), this._inflate && this._inflate.destroy && this._inflate.destroy(), this._filter && (this._filter.destroy(), this._filter.on("error", function () {
        })), this.errord = !0
    }, u.prototype._inflateData = function (e) {
        if (!this._inflate) if (this._bitmapInfo.interlace) this._inflate = r.createInflate(), this._inflate.on("error", this.emit.bind(this, "error")), this._filter.on("complete", this._complete.bind(this)), this._inflate.pipe(this._filter); else {
            var t = (1 + (this._bitmapInfo.width * this._bitmapInfo.bpp * this._bitmapInfo.depth + 7 >> 3)) * this._bitmapInfo.height,
                i = Math.max(t, r.Z_MIN_CHUNK);
            this._inflate = r.createInflate({chunkSize: i});
            var n = t, o = this.emit.bind(this, "error");
            this._inflate.on("error", function (e) {
                n && o(e)
            }), this._filter.on("complete", this._complete.bind(this));
            var s = this._filter.write.bind(this._filter);
            this._inflate.on("data", function (e) {
                n && (e.length > n && (e = e.slice(0, n)), n -= e.length, s(e))
            }), this._inflate.on("end", this._filter.end.bind(this._filter))
        }
        this._inflate.write(e)
    }, u.prototype._handleMetaData = function (e) {
        this.emit("metadata", e), this._bitmapInfo = Object.create(e), this._filter = new s(this._bitmapInfo)
    }, u.prototype._handleTransColor = function (e) {
        this._bitmapInfo.transColor = e
    }, u.prototype._handlePalette = function (e) {
        this._bitmapInfo.palette = e
    }, u.prototype._finished = function () {
        this.errord || (this._inflate ? this._inflate.end() : this.emit("error", "No Inflate block"), this.destroySoon())
    }, u.prototype._complete = function (e) {
        if (!this.errord) {
            try {
                var t = l.dataToBitMap(e, this._bitmapInfo), i = c(t, this._bitmapInfo);
                t = null
            } catch (e) {
                return void this._handleError(e)
            }
            this.emit("parsed", i)
        }
    }
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = i(183), o = i(184), s = e.exports = function (e) {
        r.call(this);
        var t = [], i = this;
        this._filter = new o(e, {
            read: this.read.bind(this), write: function (e) {
                t.push(e)
            }, complete: function () {
                i.emit("complete", Buffer.concat(t))
            }
        }), this._filter.start()
    };
    n.inherits(s, r)
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = i(76), o = i(128), s = i(191), a = e.exports = function (e) {
        r.call(this);
        var t = e || {};
        this._packer = new s(t), this._deflate = this._packer.createDeflate(), this.readable = !0
    };
    n.inherits(a, r), a.prototype.pack = function (e, t, i, n) {
        this.emit("data", new Buffer(o.PNG_SIGNATURE)), this.emit("data", this._packer.packIHDR(t, i)), n && this.emit("data", this._packer.packGAMA(n));
        var r = this._packer.filterData(e, t, i);
        this._deflate.on("error", this.emit.bind(this, "error")), this._deflate.on("data", function (e) {
            this.emit("data", this._packer.packIDAT(e))
        }.bind(this)), this._deflate.on("end", function () {
            this.emit("data", this._packer.packIEND()), this.emit("end")
        }.bind(this)), this._deflate.end(r)
    }
}, function (e, t, i) {
    "use strict";
    var n = i(128);
    e.exports = function (e, t, i, r) {
        var o, s = -1 !== [n.COLORTYPE_COLOR_ALPHA, n.COLORTYPE_ALPHA].indexOf(r.colorType);
        if (r.colorType === r.inputColorType) {
            var a = (o = new ArrayBuffer(2), new DataView(o).setInt16(0, 256, !0), 256 !== new Int16Array(o)[0]);
            if (8 === r.bitDepth || 16 === r.bitDepth && a) return e
        }
        var l = 16 !== r.bitDepth ? e : new Uint16Array(e.buffer), c = 255,
            u = n.COLORTYPE_TO_BPP_MAP[r.inputColorType];
        4 != u || r.inputHasAlpha || (u = 3);
        var d = n.COLORTYPE_TO_BPP_MAP[r.colorType];
        16 === r.bitDepth && (c = 65535, d *= 2);
        var h = new Buffer(t * i * d), p = 0, f = 0, A = r.bgColor || {};

        function v(e, t) {
            var i, o, a, l = c;
            switch (r.inputColorType) {
                case n.COLORTYPE_COLOR_ALPHA:
                    l = e[t + 3], i = e[t], o = e[t + 1], a = e[t + 2];
                    break;
                case n.COLORTYPE_COLOR:
                    i = e[t], o = e[t + 1], a = e[t + 2];
                    break;
                case n.COLORTYPE_ALPHA:
                    l = e[t + 1], o = i = e[t], a = i;
                    break;
                case n.COLORTYPE_GRAYSCALE:
                    o = i = e[t], a = i;
                    break;
                default:
                    throw new Error("input color type:" + r.inputColorType + " is not supported at present")
            }
            return r.inputHasAlpha && (s || (l /= c, i = Math.min(Math.max(Math.round((1 - l) * A.red + l * i), 0), c), o = Math.min(Math.max(Math.round((1 - l) * A.green + l * o), 0), c), a = Math.min(Math.max(Math.round((1 - l) * A.blue + l * a), 0), c))), {
                red: i,
                green: o,
                blue: a,
                alpha: l
            }
        }

        void 0 === A.red && (A.red = c), void 0 === A.green && (A.green = c), void 0 === A.blue && (A.blue = c);
        for (var g = 0; g < i; g++) for (var m = 0; m < t; m++) {
            var y = v(l, p);
            switch (r.colorType) {
                case n.COLORTYPE_COLOR_ALPHA:
                case n.COLORTYPE_COLOR:
                    8 === r.bitDepth ? (h[f] = y.red, h[f + 1] = y.green, h[f + 2] = y.blue, s && (h[f + 3] = y.alpha)) : (h.writeUInt16BE(y.red, f), h.writeUInt16BE(y.green, f + 2), h.writeUInt16BE(y.blue, f + 4), s && h.writeUInt16BE(y.alpha, f + 6));
                    break;
                case n.COLORTYPE_ALPHA:
                case n.COLORTYPE_GRAYSCALE:
                    var w = (y.red + y.green + y.blue) / 3;
                    8 === r.bitDepth ? (h[f] = w, s && (h[f + 1] = y.alpha)) : (h.writeUInt16BE(w, f), s && h.writeUInt16BE(y.alpha, f + 2))
            }
            p += u, f += d
        }
        return h
    }
}, function (e, t, i) {
    "use strict";
    var n = i(186);
    var r = {
        0: function (e, t, i, n, r) {
            for (var o = 0; o < i; o++) n[r + o] = e[t + o]
        }, 1: function (e, t, i, n, r, o) {
            for (var s = 0; s < i; s++) {
                var a = s >= o ? e[t + s - o] : 0, l = e[t + s] - a;
                n[r + s] = l
            }
        }, 2: function (e, t, i, n, r) {
            for (var o = 0; o < i; o++) {
                var s = t > 0 ? e[t + o - i] : 0, a = e[t + o] - s;
                n[r + o] = a
            }
        }, 3: function (e, t, i, n, r, o) {
            for (var s = 0; s < i; s++) {
                var a = s >= o ? e[t + s - o] : 0, l = t > 0 ? e[t + s - i] : 0, c = e[t + s] - (a + l >> 1);
                n[r + s] = c
            }
        }, 4: function (e, t, i, r, o, s) {
            for (var a = 0; a < i; a++) {
                var l = a >= s ? e[t + a - s] : 0, c = t > 0 ? e[t + a - i] : 0,
                    u = t > 0 && a >= s ? e[t + a - (i + s)] : 0, d = e[t + a] - n(l, c, u);
                r[o + a] = d
            }
        }
    }, o = {
        0: function (e, t, i) {
            for (var n = 0, r = t + i, o = t; o < r; o++) n += Math.abs(e[o]);
            return n
        }, 1: function (e, t, i, n) {
            for (var r = 0, o = 0; o < i; o++) {
                var s = o >= n ? e[t + o - n] : 0, a = e[t + o] - s;
                r += Math.abs(a)
            }
            return r
        }, 2: function (e, t, i) {
            for (var n = 0, r = t + i, o = t; o < r; o++) {
                var s = t > 0 ? e[o - i] : 0, a = e[o] - s;
                n += Math.abs(a)
            }
            return n
        }, 3: function (e, t, i, n) {
            for (var r = 0, o = 0; o < i; o++) {
                var s = o >= n ? e[t + o - n] : 0, a = t > 0 ? e[t + o - i] : 0, l = e[t + o] - (s + a >> 1);
                r += Math.abs(l)
            }
            return r
        }, 4: function (e, t, i, r) {
            for (var o = 0, s = 0; s < i; s++) {
                var a = s >= r ? e[t + s - r] : 0, l = t > 0 ? e[t + s - i] : 0,
                    c = t > 0 && s >= r ? e[t + s - (i + r)] : 0, u = e[t + s] - n(a, l, c);
                o += Math.abs(u)
            }
            return o
        }
    };
    e.exports = function (e, t, i, n, s) {
        var a;
        if ("filterType" in n && -1 !== n.filterType) {
            if ("number" != typeof n.filterType) throw new Error("unrecognised filter types");
            a = [n.filterType]
        } else a = [0, 1, 2, 3, 4];
        16 === n.bitDepth && (s *= 2);
        for (var l = t * s, c = 0, u = 0, d = new Buffer((l + 1) * i), h = a[0], p = 0; p < i; p++) {
            if (a.length > 1) for (var f = 1 / 0, A = 0; A < a.length; A++) {
                var v = o[a[A]](e, u, l, s);
                v < f && (h = a[A], f = v)
            }
            d[c] = h, c++, r[h](e, u, l, d, c, s), c += l, u += l
        }
        return d
    }
}, function (e, t, i) {
    "use strict";
    var n = i(472), r = i(475);
    t.read = function (e, t) {
        return n(e, t || {})
    }, t.write = function (e, t) {
        return r(e, t)
    }
}, function (e, t, i) {
    "use strict";
    var n = !0, r = i(64), o = i(473);
    r.deflateSync || (n = !1);
    var s = i(192), a = i(474), l = i(187), c = i(189), u = i(190);
    e.exports = function (e, t) {
        if (!n) throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");
        var i, d, h;
        var p = [];
        var f = new s(e);
        if (new l(t, {
            read: f.read.bind(f), error: function (e) {
                i = e
            }, metadata: function (e) {
                d = e
            }, gamma: function (e) {
                h = e
            }, palette: function (e) {
                d.palette = e
            }, transColor: function (e) {
                d.transColor = e
            }, inflateData: function (e) {
                p.push(e)
            }
        }).start(), f.process(), i) throw i;
        var A, v = Buffer.concat(p);
        if (p.length = 0, d.interlace) A = r.inflateSync(v); else {
            var g = (1 + (d.width * d.bpp * d.depth + 7 >> 3)) * d.height;
            A = o(v, {chunkSize: g, maxLength: g})
        }
        if (v = null, !A || !A.length) throw new Error("bad png - invalid inflate data response");
        var m = a.process(A, d);
        v = null;
        var y = c.dataToBitMap(m, d);
        m = null;
        var w = u(y, d);
        return d.data = w, d.gamma = h || 0, d
    }
}, function (e, t, i) {
    "use strict";
    var n = i(98).ok, r = i(64), o = i(6), s = i(40).kMaxLength;

    function a(e) {
        if (!(this instanceof a)) return new a(e);
        e && e.chunkSize < r.Z_MIN_CHUNK && (e.chunkSize = r.Z_MIN_CHUNK), r.Inflate.call(this, e), this._offset = void 0 === this._offset ? this._outOffset : this._offset, this._buffer = this._buffer || this._outBuffer, e && null != e.maxLength && (this._maxLength = e.maxLength)
    }

    function l(e, t) {
        t && process.nextTick(t), e._handle && (e._handle.close(), e._handle = null)
    }

    function c(e, t) {
        return function (e, t) {
            if ("string" == typeof t && (t = Buffer.from(t)), !(t instanceof Buffer)) throw new TypeError("Not a string or buffer");
            var i = e._finishFlushFlag;
            return null == i && (i = r.Z_FINISH), e._processChunk(t, i)
        }(new a(t), e)
    }

    a.prototype._processChunk = function (e, t, i) {
        if ("function" == typeof i) return r.Inflate._processChunk.call(this, e, t, i);
        var o, a = this, c = e && e.length, u = this._chunkSize - this._offset, d = this._maxLength, h = 0, p = [],
            f = 0;

        function A(e, t) {
            if (!a._hadError) {
                var i = u - t;
                if (n(i >= 0, "have should not go down"), i > 0) {
                    var r = a._buffer.slice(a._offset, a._offset + i);
                    if (a._offset += i, r.length > d && (r = r.slice(0, d)), p.push(r), f += r.length, 0 === (d -= r.length)) return !1
                }
                return (0 === t || a._offset >= a._chunkSize) && (u = a._chunkSize, a._offset = 0, a._buffer = Buffer.allocUnsafe(a._chunkSize)), 0 === t && (h += c - e, c = e, !0)
            }
        }

        this.on("error", function (e) {
            o = e
        }), n(this._handle, "zlib binding closed");
        do {
            var v = this._handle.writeSync(t, e, h, c, this._buffer, this._offset, u);
            v = v || this._writeState
        } while (!this._hadError && A(v[0], v[1]));
        if (this._hadError) throw o;
        if (f >= s) throw l(this), new RangeError("Cannot create final Buffer. It would be larger than 0x" + s.toString(16) + " bytes");
        var g = Buffer.concat(p, f);
        return l(this), g
    }, o.inherits(a, r.Inflate), e.exports = t = c, t.Inflate = a, t.createInflate = function (e) {
        return new a(e)
    }, t.inflateSync = c
}, function (e, t, i) {
    "use strict";
    var n = i(192), r = i(184);
    t.process = function (e, t) {
        var i = [], o = new n(e);
        return new r(t, {
            read: o.read.bind(o), write: function (e) {
                i.push(e)
            }, complete: function () {
            }
        }).start(), o.process(), Buffer.concat(i)
    }
}, function (e, t, i) {
    "use strict";
    var n = !0, r = i(64);
    r.deflateSync || (n = !1);
    var o = i(128), s = i(191);
    e.exports = function (e, t) {
        if (!n) throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");
        var i = new s(t || {}), a = [];
        a.push(new Buffer(o.PNG_SIGNATURE)), a.push(i.packIHDR(e.width, e.height)), e.gamma && a.push(i.packGAMA(e.gamma));
        var l = i.filterData(e.data, e.width, e.height), c = r.deflateSync(l, i.getDeflateOptions());
        if (l = null, !c || !c.length) throw new Error("bad png - invalid compressed data response");
        return a.push(i.packIDAT(c)), a.push(i.packIEND()), Buffer.concat(a)
    }
}, function (e, t, i) {
    var n = i(139), r = {WW: " ", WB: "▄", BB: "█", BW: "▀"};
    t.render = function (e, t, i) {
        var o = e.modules.size, s = e.modules.data, a = n.getOptions(t), l = "",
            c = Array(o + 2 * a.margin + 1).join(r.WW);
        c = Array(a.margin / 2 + 1).join(c + "\n");
        var u, d, h = Array(a.margin + 1).join(r.WW);
        l += c;
        for (var p = 0; p < o; p += 2) {
            l += h;
            for (var f = 0; f < o; f++) {
                var A = s[p * o + f], v = s[(p + 1) * o + f];
                l += (d = v, (u = A) && d ? r.BB : u && !d ? r.BW : !u && d ? r.WB : r.WW)
            }
            l += h + "\n"
        }
        return l += c.slice(0, -1), "function" == typeof i && i(null, l), l
    }, t.renderToFile = function (e, n, r, o) {
        void 0 === o && (o = r, r = void 0);
        var s = i(19), a = t.render(n, r);
        s.writeFile(e, a, o)
    }
}, function (e, t) {
    t.render = function (e, t, i) {
        var n = e.modules.size, r = e.modules.data, o = "[47m  [0m", s = "", a = Array(n + 3).join(o),
            l = Array(2).join(o);
        s += a + "\n";
        for (var c = 0; c < n; ++c) {
            s += o;
            for (var u = 0; u < n; u++) s += r[c * n + u] ? "[40m  [0m" : o;
            s += l + "\n"
        }
        return s += a + "\n", "function" == typeof i && i(null, s), s
    }
}, function (e, t, i) {
    var n = i(193);
    t.render = n.render, t.renderToFile = function (e, n, r, o) {
        void 0 === o && (o = r, r = void 0);
        var s = i(19),
            a = '<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">' + t.render(n, r);
        s.writeFile(e, a, o)
    }
}, function (e, t, i) {
    var n = i(480), r = i(178), o = i(481), s = i(193);

    function a(e, t, i, o, s) {
        var a = [].slice.call(arguments, 1), l = a.length, c = "function" == typeof a[l - 1];
        if (!c && !n()) throw new Error("Callback required as last argument");
        if (!c) {
            if (l < 1) throw new Error("Too few arguments provided");
            return 1 === l ? (i = t, t = o = void 0) : 2 !== l || t.getContext || (o = i, i = t, t = void 0), new Promise(function (n, s) {
                try {
                    var a = r.create(i, o);
                    n(e(a, t, o))
                } catch (e) {
                    s(e)
                }
            })
        }
        if (l < 2) throw new Error("Too few arguments provided");
        2 === l ? (s = i, i = t, t = o = void 0) : 3 === l && (t.getContext && void 0 === s ? (s = o, o = void 0) : (s = o, o = i, i = t, t = void 0));
        try {
            var u = r.create(i, o);
            s(null, e(u, t, o))
        } catch (e) {
            s(e)
        }
    }

    t.create = r.create, t.toCanvas = a.bind(null, o.render), t.toDataURL = a.bind(null, o.renderToDataURL), t.toString = a.bind(null, function (e, t, i) {
        return s.render(e, i)
    })
}, function (e, t) {
    e.exports = function () {
        return "function" == typeof Promise && Promise.prototype && Promise.prototype.then
    }
}, function (e, t, i) {
    var n = i(139);
    t.render = function (e, t, i) {
        var r = i, o = t;
        void 0 !== r || t && t.getContext || (r = t, t = void 0), t || (o = function () {
            try {
                return document.createElement("canvas")
            } catch (e) {
                throw new Error("You need to specify a canvas element")
            }
        }()), r = n.getOptions(r);
        var s = n.getImageWidth(e.modules.size, r), a = o.getContext("2d"), l = a.createImageData(s, s);
        return n.qrToImageData(l.data, e, r), function (e, t, i) {
            e.clearRect(0, 0, t.width, t.height), t.style || (t.style = {}), t.height = i, t.width = i, t.style.height = i + "px", t.style.width = i + "px"
        }(a, o, s), a.putImageData(l, 0, 0), o
    }, t.renderToDataURL = function (e, i, n) {
        var r = n;
        void 0 !== r || i && i.getContext || (r = i, i = void 0), r || (r = {});
        var o = t.render(e, i, r), s = r.type || "image/png", a = r.rendererOpts || {};
        return o.toDataURL(s, a.quality)
    }
}, , function (e, t, i) {
    e.exports = function (e) {
        function t(n) {
            if (i[n]) return i[n].exports;
            var r = i[n] = {i: n, l: !1, exports: {}};
            return e[n].call(r.exports, r, r.exports, t), r.l = !0, r.exports
        }

        var i = {};
        return t.m = e, t.c = i, t.i = function (e) {
            return e
        }, t.d = function (e, i, n) {
            t.o(e, i) || Object.defineProperty(e, i, {configurable: !1, enumerable: !0, get: n})
        }, t.n = function (e) {
            var i = e && e.__esModule ? function () {
                return e.default
            } : function () {
                return e
            };
            return t.d(i, "a", i), i
        }, t.o = function (e, t) {
            return Object.prototype.hasOwnProperty.call(e, t)
        }, t.p = "/dist/", t(t.s = 4)
    }([function (e, t) {
        e.exports = {
            inserted: function (e, t, i) {
                var n = i.context.$refs[t.arg];
                n && n.addItem({el: e, value: t.value})
            }, unbind: function (e, t, i) {
                var n = i.context.$refs[t.arg];
                n && n.removeItem({el: e, value: t.value})
            }
        }
    }, function (e, t, i) {
        var n = i(5)(i(2), i(6), null, null, null);
        e.exports = n.exports
    }, function (e, t, i) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        var n = i(3);
        t.default = {
            name: "Popup",
            props: {
                appendToBody: {type: Boolean, default: !0},
                arrowClass: String,
                direction: {type: String, default: "bottom"},
                display: {type: Boolean, default: !1},
                padding: {type: Number, default: 0},
                trigger: {type: String, default: "hover"},
                scrollShow: {type: Boolean, default: !0}
            },
            data: function () {
                return {
                    arrowStyle: {},
                    delay: 100,
                    directionMap: {top: "height", left: "width"},
                    secondDirection: "",
                    left: 0,
                    top: 0,
                    currentElement: null,
                    willHide: !1
                }
            },
            computed: {
                directionClass: function () {
                    var e = /(top)|(bottom)|(left)|(right)/i, t = e.exec(this.direction) || [],
                        i = this.secondDirection ? e.exec(this.secondDirection)[0] : "", n = t[0] || "";
                    return "" === i ? "popup-" + n : "popup-" + i
                }, triggerEvent: function () {
                    switch (this.trigger) {
                        case"hover":
                            return "mouseenter";
                        case"focus":
                            return "focus";
                        case"click":
                            return "click"
                    }
                }, unTriggerEl: function () {
                    return "click" === this.trigger ? document : this.$el
                }, unTriggerEvent: function () {
                    switch (this.trigger) {
                        case"hover":
                            return "mouseleave";
                        case"focus":
                            return "blur";
                        case"click":
                            return "click"
                    }
                }
            },
            mounted: function () {
                this.appendToBody && document.body.appendChild(this.$el), this.$el.addEventListener(this.triggerEvent, this.handlePopupVisible), this.unTriggerEl.addEventListener(this.unTriggerEvent, this.handlePopupInvisible), this.handleResizeThrottle = i.i(n.a)(this.handleResize, 16), window.addEventListener("resize", this.handleResizeThrottle)
            },
            beforeDestroy: function () {
                this.$el.removeEventListener(this.triggerEvent, this.handlePopupVisible), this.unTriggerEl.removeEventListener(this.unTriggerEvent, this.handlePopupInvisible), window.removeEventListener("resize", this.handleResizeThrottle)
            },
            destroyed: function () {
                this.appendToBody && this.$el && document.body.hasChildNodes(this.$el) && document.body.removeChild(this.$el)
            },
            methods: {
                addItem: function (e) {
                    e.el.handleVisible = this.handleVisible.bind(this, e.value, e.el), e.el.addEventListener(this.triggerEvent, e.el.handleVisible), "click" !== this.trigger && (e.el.handleInvisible = this.handleInvisible.bind(this, e.value), e.el.addEventListener(this.unTriggerEvent, e.el.handleInvisible)), this.bindScroll(e.el)
                }, removeItem: function (e) {
                    e.el.removeEventListener(this.triggerEvent, e.el.handleVisible), "click" !== this.trigger && e.el.removeEventListener(this.unTriggerEvent, e.el.handleInvisible), this.unbindScroll(e.el)
                }, bindScroll: function (e) {
                    for (e = e.parentNode; e;) e.addEventListener("scroll", this.handleScroll), e = e.parentNode
                }, unbindScroll: function (e) {
                    for (e = e.parentNode; e;) e.removeEventListener("scroll", this.handleScroll), e = e.parentNode
                }, computePosition: function (e, t) {
                    e = e.getBoundingClientRect();
                    var i = 0, n = 0, r = (t = t.getBoundingClientRect()).top - e.height - this.padding,
                        o = t.left + t.width + this.padding, s = t.top + t.height + this.padding,
                        a = t.left - e.width - this.padding;
                    /(top)|(bottom)/i.test(this.direction) ? (i = t.left + (t.width - e.width) / 2, "bottomStart" !== this.direction && "topStart" !== this.direction || (i = t.left), "bottomEnd" !== this.direction && "topEnd" !== this.direction || (i = t.left - e.width + t.width), i < 0 ? (i = 0, this.arrowStyle = {left: (t.left + t.right) / 2 + "px"}) : i + e.width > window.innerWidth ? (i = window.innerWidth - e.width, this.arrowStyle = {left: (t.left + t.right) / 2 - i + "px"}) : this.arrowStyle = {left: (t.left + t.right) / 2 - i + "px"}, "top" === this.direction || "topStart" === this.direction || "topEnd" === this.direction ? r < 0 && s + e.height <= window.innerHeight ? (n = s, this.secondDirection = "bottom", "topStart" === this.direction && (this.secondDirection = "bottomStart", this.arrowStyle = {left: (t.left + t.right) / 2 - i + "px"}), "topEnd" === this.direction && (this.secondDirection = "bottomEnd", this.arrowStyle = {left: (t.left + t.right) / 2 - i + "px"})) : (n = r, this.secondDirection = "", this.arrowStyle = {left: (t.left + t.right) / 2 - i + "px"}) : s + e.height > window.innerHeight && r >= 0 ? (n = r, this.secondDirection = "top", "bottomStart" === this.direction && (this.secondDirection = "topStart", this.arrowStyle = {left: (t.left + t.right) / 2 - i + "px"}), "bottomEnd" === this.direction && (this.secondDirection = "topEnd", this.arrowStyle = {left: (t.left + t.right) / 2 - i + "px"})) : (n = s, this.secondDirection = "", this.arrowStyle = {left: (t.left + t.right) / 2 - i + "px"})) : /(left)|(right)/i.test(this.direction) && (n = t.top + (t.height - e.height) / 2, "leftStart" !== this.direction && "rightStart" !== this.direction || (n = t.top), "leftEnd" !== this.direction && "rightEnd" !== this.direction || (n = t.top - e.height + t.height), n < 0 ? (n = 0, this.arrowStyle = {top: (t.top + t.bottom) / 2 + "px"}) : n + e.height > window.innerHeight ? (n = window.innerHeight - e.height, this.arrowStyle = {top: (t.top + t.bottom) / 2 - n + "px"}) : this.arrowStyle = {top: (t.top + t.bottom) / 2 - n + "px"}, "left" === this.direction || "leftStart" === this.direction || "leftEnd" === this.direction ? a < 0 && o + e.width <= window.innerWidth ? (i = o, this.secondDirection = "right", "leftStart" === this.direction && (this.secondDirection = "rightStart", this.arrowStyle = {top: (t.top + t.bottom) / 2 - n + "px"}), "leftEnd" === this.direction && (this.secondDirection = "rightEnd", this.arrowStyle = {top: (t.top + t.bottom) / 2 - n + "px"})) : (i = a, this.secondDirection = "", this.arrowStyle = {top: (t.top + t.bottom) / 2 - n + "px"}) : o + e.width > window.innerWidth && a >= 0 ? (i = a, this.secondDirection = "left", "rightStart" === this.direction && (this.secondDirection = "leftStart", this.arrowStyle = {top: (t.top + t.bottom) / 2 - n + "px"}), "rightEnd" === this.direction && (this.secondDirection = "leftEnd", this.arrowStyle = {top: (t.top + t.bottom) / 2 - n + "px"})) : (i = o, this.secondDirection = "", this.arrowStyle = {top: (t.top + t.bottom) / 2 - n + "px"})), this.top = n, this.left = i
                }, handleVisible: function (e, t, i) {
                    var n = this;
                    if ("click" === this.trigger && this.display && !0 !== i) return this.handleInvisible(e);
                    this.willHide = !1, this.currentElement = t, this.currentValue = e, this.$emit("update:display", !0), this.$emit("show", e), this.$nextTick(function () {
                        setTimeout(function () {
                            n.computePosition(n.$el, n.currentElement)
                        })
                    })
                }, handleInvisible: function (e) {
                    var t = this;
                    "click" === this.trigger ? (this.$emit("update:display", !1), this.$emit("hide", e)) : (this.willHide = !0, setTimeout(function () {
                        t.willHide && (t.$emit("update:display", !1), t.$emit("hide", e))
                    }, this.delay))
                }, handleScroll: function () {
                    this.scrollShow ? this.display && this.computePosition(this.$el, this.currentElement) : (this.$emit("update:display", !1), this.$emit("hide"))
                }, handlePopupVisible: function (e) {
                    e.stopPropagation(), this.willHide = !1, this.$emit("update:display", !0), this.$emit("show", this.value)
                }, handlePopupInvisible: function (e) {
                    var t = this;
                    "click" === this.trigger && this.isClosest(e.target, this.currentElement) || ("click" === this.trigger ? (this.$emit("update:display", !1), this.$emit("hide", this.value)) : (this.willHide = !0, setTimeout(function () {
                        t.willHide && (t.$emit("update:display", !1), t.$emit("hide", t.value))
                    }, this.delay)))
                }, handleResize: function () {
                    this.display && this.handleVisible(this.value, this.currentElement, !0)
                }, show: function (e, t) {
                    this.handleVisible(t, e)
                }, hide: function () {
                    this.handleInvisible()
                }, isDirectionLine: function (e) {
                    return "top" === e || "bottom" === e ? "top" === this.direction || "bottom" === this.direction : "left" === this.direction || "right" === this.direction
                }, isClosest: function (e, t) {
                    return e !== document && (e === t || this.isClosest(e.parentNode, t))
                }
            }
        }
    }, function (e, t, i) {
        "use strict";
        t.a = function (e, t) {
            var i = this, n = 0;
            return function () {
                for (var r = arguments.length, o = Array(r), s = 0; s < r; s++) o[s] = arguments[s];
                var a = +new Date;
                a - n > t && (e.apply(i, o), n = a)
            }
        }
    }, function (e, t, i) {
        var n = i(0), r = i(1);
        r.install = function (e) {
            e.directive("popup", n), e.component(r.name, r)
        }, e.exports = r
    }, function (e, t) {
        e.exports = function (e, t, i, n, 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), n && (c._scopeId = n), 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__), i && i.call(this, e), e && e._registeredComponents && e._registeredComponents.add(r)
            }, c._ssrRegister = l) : i && (l = i), 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) {
        e.exports = {
            render: function () {
                var e = this, t = e.$createElement, i = e._self._c || t;
                return i("div", {
                    class: e.directionClass,
                    style: {display: e.display ? "block" : "none", left: e.left + "px", top: e.top + "px"},
                    attrs: {tabindex: "999"}
                }, [e._t("default"), e._v(" "), i("span", {
                    staticClass: "popup-arrow",
                    class: e.arrowClass,
                    style: e.arrowStyle
                })], 2)
            }, staticRenderFns: []
        }
    }])
}, function (e, t, i) {
    "use strict";
    var n = i(921);
    i.n(n).a
}, , , , function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        e[e.Success = 0] = "Success", e[e.FunctionUnExist = 1] = "FunctionUnExist", e[e.ParamError = 2] = "ParamError", e[e.CallFailed = 3] = "CallFailed", e[e.NotAllowed = 4] = "NotAllowed"
    }(t.NativeFunctionErrorCode || (t.NativeFunctionErrorCode = {}))
}, , , , , , , function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t;
        !function (e) {
            e[e.Default = 0] = "Default", e[e.Normal = 1] = "Normal", e[e.Vip = 2] = "Vip", e[e.SuperVip = 3] = "SuperVip"
        }(t = e.SkinType || (e.SkinType = {})), e.defaultSkinInfo = {
            type: t.Default,
            id: 1
        }, e.cacheDir = `${__profilesDir}/speedcurve-skin`
    }(t.SpeedCurveSkinHelperNS || (t.SpeedCurveSkinHelperNS = {}))
}, function (e, t, i) {
    "use strict";
    var n = i(200);

    function r() {
        this._state = 0, this._response = {
            host: "unknown",
            alive: !1,
            output: "unknown",
            time: "unknown",
            min: "unknown",
            max: "unknown",
            avg: "unknown",
            stddev: "unknown"
        }, this._times = [], this._lines = [], this._stripRegex = /[ ]*\r?\n?$/g
    }

    r.prototype.STATES = {INIT: 0, HEADER: 1, BODY: 2, FOOTER: 3, END: 4}, r.prototype._changeState = function (e) {
        if (n.values(this.STATES).indexOf(e) < 0) throw new Error("Unknown state");
        return this._state = e, this
    }, r.prototype._processHeader = function (e) {
        throw new Error("Subclass should implement this method")
    }, r.prototype._processBody = function (e) {
        throw new Error("Subclass should implement this method")
    }, r.prototype._processFooter = function (e) {
        throw new Error("Subclass should implement this method")
    }, r.prototype.eat = function (e) {
        var t = [this.STATES.INIT, this.STATES.HEADER];
        this._lines.push(e);
        var i = e.replace(this._stripRegex, "");
        if (0 === i.length) ; else if (t.indexOf(this._state) >= 0) this._processHeader(i); else if (this._state === this.STATES.BODY) this._processBody(i); else if (this._state === this.STATES.FOOTER) this._processFooter(i); else if (this._state !== this.STATES.END) throw new Error("Unknown state");
        return this
    }, r.prototype.getResult = function () {
        var e = n.extend({}, this._response);
        if (e.output = this._lines.join("\n"), e.alive = this._times.length > 0, e.alive && (e.time = this._response.time = this._times[0]), "unknown" === e.stddev && e.alive) {
            var t = this._times.length, i = n.reduce(this._times, function (t, i) {
                return t + Math.pow(i - e.avg, 2)
            }, 0) / t;
            e.stddev = Math.round(1e3 * Math.sqrt(i)) / 1e3
        }
        return n.each(["min", "avg", "max", "stddev"], function (t) {
            var i = e[t];
            n.isNumber(i) && (e[t] = i.toFixed(3))
        }), e
    }, e.exports = r
}, function (e, t, i) {
    "use strict";
    var n = i(997);
    i.n(n).a
}, function (e, t, i) {
    e.exports = i(8)(132)
}, , , , , function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return "confirm" === e.popType ? i("confirm", {
            attrs: {options: e.options, "box-id": e.boxId},
            on: {
                "update:options": function (t) {
                    e.options = t
                }
            },
            nativeOn: {
                dragstart: function (e) {
                    e.preventDefault()
                }
            }
        }) : "message-box" === e.popType ? i("message-box", {
            attrs: {
                options: e.options,
                formData: e.options.formData,
                "box-id": e.boxId
            }, on: {
                "update:formData": function (t) {
                    e.$set(e.options, "formData", t)
                }
            }, nativeOn: {
                dragstart: function (e) {
                    e.preventDefault()
                }
            }
        }) : i(e.popType, {
            tag: "component",
            attrs: {options: e.options, "box-id": e.boxId},
            nativeOn: {
                dragstart: function (e) {
                    e.preventDefault()
                }
            }
        })
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, , , , , , , , , , , , , function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": ["xly-dialog-about"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [i("div", {staticClass: "xly-dialog-about__content"}, [i("div", {staticClass: "xly-dialog-about__info"}, [i("div", {staticClass: "xly-dialog-about__logo"}, [i("i", {staticClass: "xly-icon-logo"})]), e._v(" "), i("div", {staticClass: "xly-dialog-about__title"}, [i("h1", [e._v("\n          迅雷\n          "), i("span", [e._v("11")])])])]), e._v(" "), i("a", {
            staticClass: "td-button td-button--other",
            on: {click: e.checkUpdate}
        }, [e._v("")]), e._v(" "), i("p", {staticClass: "xly-dialog-about__text"}, [e._v("版本："), i("span", [e._v(e._s(e.thunderVersion))]), e._v(" ")]), e._v(" "), i("div", {
            staticClass: "xly-dialog-about__version",
            class: e.expandClass
        }, [i("a", {
            staticClass: "xly-dialog-about__link",
            on: {click: e.handleExpand}
        }, [e._v("\n        查看组件版本\n        "), i("i", {staticClass: "td-icon-arrow-drop"})]), e._v(" "), i("div", {staticClass: "xly-dialog-about__more"}, [i("ul", [i("li", [i("span", {staticClass: "title"}, [e._v("下载引擎：")]), e._v(" "), i("span", {staticClass: "text"}, [e._v(e._s(e.downloadSDKVersion))])]), e._v(" "), i("li", [i("span", {staticClass: "title"}, [e._v("XDAS：")]), e._v(" "), i("span", {staticClass: "text"}, [e._v(e._s(e.xdasVersion))])]), e._v(" "), i("li", [i("span", {staticClass: "title"}, [e._v("Electron：")]), e._v(" "), i("span", {staticClass: "text"}, [e._v(e._s(e.electronVersion))])]), e._v(" "), i("li", [i("span", {staticClass: "title"}, [e._v("Chromium：")]), e._v(" "), i("span", {staticClass: "text"}, [e._v(e._s(e.chromiumVersion))])]), e._v(" "), i("li", [i("span", {staticClass: "title"}, [e._v("Node：")]), e._v(" "), i("span", {staticClass: "text"}, [e._v(e._s(e.nodeVersion))])]), e._v(" "), i("li", [i("span", {staticClass: "title"}, [e._v("V8：")]), e._v(" "), i("span", {staticClass: "text"}, [e._v(e._s(e.v8Version))])])])])]), e._v(" "), i("div", {staticClass: "xly-dialog-about__copyright"}, [i("p", [e._v("© 2003-" + e._s(e.year) + " 深圳市迅雷网络技术有限公司")]), e._v(" "), i("p", [i("span", [e._v("© 2003-" + e._s(e.year) + " Xunlei Networking Technologies.LTD")]), e._v(" "), i("a", {
            staticStyle: {cursor: "pointer"},
            on: {click: e.handleHomePage}
        }, [e._v("www.xunlei.com")])])])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", e._g(e._b({
            class: e.options.customClass, attrs: {visible: ""}, on: {
                close: function (t) {
                    e.handleCancel(e.action.Close)
                }
            }
        }, "td-dialog", e.$attrs, !1), e.$listeners), [i("div", {staticClass: "td-dialog-comfirm"}, [e.options.type ? i("span", {staticClass: "td-dialog-comfirm__icon"}, [i("td-icon", {attrs: {type: e.icon[e.options.type]}})], 1) : e._e(), e._v(" "), i("div", {staticClass: "td-dialog-comfirm__content"}, [i("p", {staticClass: "td-dialog-comfirm__title"}, [e._v(e._s(e.options.title))]), e._v(" "), i("div", {staticClass: "td-dialog-comfirm__text"}, [e.options.checkboxEnabled ? i("td-checkbox", {
            attrs: {value: e.options.checkboxChecked},
            on: {input: e.handleInput}
        }, [e._v(e._s(e.options.checkboxLabel))]) : e.options.content ? i("span", {domProps: {innerHTML: e._s(e.options.content)}}) : e.options.fileName ? i("div", {
            staticClass: "xlx-dialog-comfirm__film-name",
            attrs: {title: e.options.fileName}
        }, [e._v(e._s(e.options.fileName))]) : e._e()], 1)])]), e._v(" "), i("template", {slot: "footer"}, ["okVisible" in e.options && !e.options.okVisible ? e._e() : i("td-button", {on: {click: e.handleOK}}, [e._v(e._s(e.options.okText || "确定"))]), e._v(" "), "cancelVisible" in e.options && !e.options.cancelVisible ? e._e() : i("td-button", {
            attrs: {secondary: ""},
            on: {
                click: function (t) {
                    e.handleCancel(e.action.Cancel)
                }
            }
        }, [e._v(e._s(e.options.cancelText || "取消"))])], 1)], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": e.customClass, visible: ""}, on: {
                close: function (t) {
                    e.handleCancel(e.action.Close)
                }
            }
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v(e._s(e.options.title))]), e._v(" "), e.options.schemas ? i("div", {staticClass: "xlx-dialog-setting__content"}, [i("div", {staticClass: "xlx-dialog-setting__speed"}, e._l(e.options.schemas, function (t) {
            return i("generator-view", {
                key: t.name,
                attrs: {item: t, value: e.formData[t.name], formData: e.formData},
                on: {input: e.handleInput}
            })
        }))]) : e.options.message ? [e._v(e._s(e.options.message))] : e._e(), e._v(" "), i("template", {slot: "footer"}, ["okVisible" in e.options && !e.options.okVisible ? e._e() : i("td-button", {
            attrs: {disabled: !e.comfirmButtonActive},
            on: {click: e.handleOK}
        }, [e._v(e._s(e.options.okText || "确定"))]), e._v(" "), "cancelVisible" in e.options && !e.options.cancelVisible ? e._e() : i("td-button", {
            attrs: {secondary: ""},
            on: {
                click: function (t) {
                    e.handleCancel(e.action.Cancel)
                }
            }
        }, [e._v(e._s(e.options.cancelText || "取消"))])], 1)], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xly-dialog-time", "footer-enabled": !1, visible: ""},
            on: {close: e.handleClose}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("计划任务，按时下载")]), e._v(" "), i("div", {staticClass: "xly-dialog-time__setting"}, [i("div", {staticClass: "xly-dialog-time__part"}, [i("td-tooltip", {
            attrs: {
                content: e.sget(e.errorFields, "hours", 0, "message"),
                visible: Boolean(e.sget(e.errorFields, "hours"))
            }
        }, [i("td-input", {
            attrs: {placeholder: "0"}, model: {
                value: e.hours, callback: function (t) {
                    e.hours = t
                }, expression: "hours"
            }
        })], 1), e._v(" "), i("span", {staticClass: "xly-dialog-time__text"}, [e._v("时")]), e._v(" "), i("td-tooltip", {
            attrs: {
                content: e.sget(e.errorFields, "minutes", 0, "message"),
                visible: Boolean(e.sget(e.errorFields, "minutes"))
            }
        }, [i("td-input", {
            attrs: {placeholder: "0"}, model: {
                value: e.minutes, callback: function (t) {
                    e.minutes = t
                }, expression: "minutes"
            }
        })], 1), e._v(" "), i("span", {staticClass: "xly-dialog-time__text"}, [e._v("分")]), e._v("\n      后\n    ")], 1), e._v(" "), i("div", {staticClass: "xly-dialog-time__part"}, [i("select-native", {
            attrs: {options: e.operations},
            model: {
                value: e.operation, callback: function (t) {
                    e.operation = t
                }, expression: "operation"
            }
        }), e._v(" "), i("td-button", {
            attrs: {disabled: e.plans && e.plans.length >= 3},
            on: {click: e.addPlan}
        }, [i("i", {staticClass: "xly-icon-add"})])], 1)]), e._v(" "), i("div", {staticClass: "xly-dialog-time__result"}, [i("ul", e._l(e.plans, function (t, n) {
            return i("li", {
                key: n,
                staticClass: "xly-dialog-time__result-item"
            }, [i("p", {staticClass: "xly-dialog-time__text"}, [i("span", {staticClass: "xly-dialog-time__period"}, [e._v(e._s(t.hours) + " 小时 " + e._s(t.minutes) + " 分 " + e._s(t.seconds) + " 秒")]), e._v(" "), i("span", [e._v("后")]), e._v(" "), i("span", {staticClass: "xly-dialog-time__status"}, [e._v(e._s(t.operation))])]), e._v(" "), i("a", {
                staticClass: "td-button td-button--secondary",
                attrs: {href: "javascript:;"},
                on: {
                    click: function (t) {
                        e.removePlan(n)
                    }
                }
            }, [i("i", {staticClass: "xly-icon-close"})])])
        }))])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {visible: "", "custom-class": "xly-dialog-rename"},
            on: {close: e.handleClose}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("重命名")]), e._v(" "), i("td-tooltip", {
            staticStyle: {display: "block"},
            attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top"}
        }, [i("td-input", {
            ref: "input",
            attrs: {label: "", type: "textarea", placeholder: "请输入文件名"},
            model: {
                value: e.newName, callback: function (t) {
                    e.newName = t
                }, expression: "newName"
            }
        })], 1), e._v(" "), i("div", {
            staticClass: "xly-dialog__footer",
            attrs: {slot: "footer"},
            slot: "footer"
        }, [i("div", {staticClass: "xly-dialog__button"}, [i("td-button", {
            on: {click: e.handleOK},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v(e._s("确定"))]), e._v(" "), i("td-button", {
            staticClass: "td-button--other",
            on: {click: e.handleClose}
        }, [e._v(e._s("取消"))])], 1)])], 1)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xly-dialog-repeat", visible: "", "footer-enabled": !1},
            on: {close: e.handleClose}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [i("i", {staticClass: "xly-icon-note-bold"}), e._v(" 下载列表已存在相同任务")]), e._v(" "), i("div", {staticClass: "xly-dialog-repeat__operate"}, [i("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {
                click: function (t) {
                    e.handleOK("ignore")
                }
            }
        }, [i("i", {staticClass: "xly-icon-skip"}), e._v("跳过重复文件，继续下载")]), e._v(" "), i("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {
                click: function (t) {
                    e.handleOK("delete")
                }
            }
        }, [i("i", {staticClass: "xly-icon-replace"}), e._v("替换重复文件，覆盖下载")]), e._v(" "), i("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {click: e.handleClose}
        }, [i("i", {staticClass: "xly-icon-close-small"}), e._v("不做任何操作")])], 1)])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xly-dialog-repeat", visible: "", "footer-enabled": !1},
            on: {close: e.handleClose}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [i("i", {staticClass: "xly-icon-note-bold"}), e._v(" 发现重复文件")]), e._v(" "), i("div", {staticClass: "xly-dialog-repeat__list"}, [i("p", {domProps: {innerHTML: e._s(e.files)}})]), e._v(" "), i("div", {staticClass: "xly-dialog-repeat__operate"}, [i("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {
                click: function (t) {
                    e.handleOK("ignore")
                }
            }
        }, [i("i", {staticClass: "xly-icon-skip"}), e._v("跳过重复文件，继续下载\n    ")]), e._v(" "), i("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {
                click: function (t) {
                    e.handleOK("delete")
                }
            }
        }, [i("i", {staticClass: "xly-icon-replace"}), e._v("替换重复文件，覆盖下载\n    ")]), e._v(" "), i("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {click: e.handleClose}
        }, [i("i", {staticClass: "xly-icon-close-small"}), e._v("不做任何操作\n    ")])], 1)])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {visible: "", "custom-class": "xly-dialog-secret"}, on: {
                close: function (t) {
                    e.handleClose("close")
                }
            }
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("设置私人空间密码")]), e._v(" "), i("div", {staticClass: "xly-dialog-secret__form"}, [i("ul", [i("li", {staticClass: "xly-dialog-secret__item"}, [i("label", {staticClass: "td-input"}, [i("span", {staticClass: "td-input__label"}, [e._v("输入密码")]), e._v(" "), i("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.password,
                expression: "password"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "password", maxlength: "50", placeholder: "请输入密码"},
            domProps: {value: e.password},
            on: {
                input: function (t) {
                    t.target.composing || (e.password = t.target.value)
                }
            }
        })])]), e._v(" "), i("li", {staticClass: "xly-dialog-secret__item"}, [i("label", {staticClass: "td-input"}, [i("span", {staticClass: "td-input__label"}, [e._v("确认密码")]), e._v(" "), i("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top"}
        }, [i("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.secondPassword,
                expression: "secondPassword"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "password", maxlength: "50", placeholder: "再次输入密码"},
            domProps: {value: e.secondPassword},
            on: {
                input: function (t) {
                    t.target.composing || (e.secondPassword = t.target.value)
                }
            }
        })])], 1)])]), e._v(" "), i("label", {
            staticClass: "td-checkbox",
            class: {"is-checked": e.isSetHide}
        }, [i("input", {
            directives: [{name: "model", rawName: "v-model", value: e.isSetHide, expression: "isSetHide"}],
            staticClass: "td-checkbox__inner",
            attrs: {type: "checkbox"},
            domProps: {checked: Array.isArray(e.isSetHide) ? e._i(e.isSetHide, null) > -1 : e.isSetHide},
            on: {
                change: function (t) {
                    var i = e.isSetHide, n = t.target, r = !!n.checked;
                    if (Array.isArray(i)) {
                        var o = e._i(i, null);
                        n.checked ? o < 0 && (e.isSetHide = i.concat([null])) : o > -1 && (e.isSetHide = i.slice(0, o).concat(i.slice(o + 1)))
                    } else e.isSetHide = r
                }
            }
        }), e._v(" "), i("span", {staticClass: "td-checkbox__label"}, [e._v("在本地隐藏私人空间对应文件夹")])])]), e._v(" "), i("template", {slot: "footer"}, [i("div", {staticClass: "xly-dialog__footer"}, [i("div", {staticClass: "xly-dialog__button"}, [i("td-button", {
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleOK(t)
                }
            }
        }, [e._v("确定")]), e._v(" "), i("td-button", {
            attrs: {secondary: ""}, on: {
                click: function (t) {
                    e.handleClose("cancel")
                }
            }
        }, [e._v("取消")])], 1)])])], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xly-dialog-secret", visible: ""}, on: {
                close: function (t) {
                    e.handleClose("close")
                }
            }
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("私人空间密码验证")]), e._v(" "), i("div", {staticClass: "xly-dialog-secret__verify"}, [i("label", {staticClass: "td-input"}, [i("span", {staticClass: "td-input__label"}), e._v(" "), i("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top"}
        }, [i("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.newPassword,
                expression: "newPassword"
            }],
            ref: "pwdInput",
            staticClass: "td-input__inner",
            attrs: {maxlength: "50", placeholder: "请输入密码"},
            domProps: {value: e.newPassword},
            on: {
                input: function (t) {
                    t.target.composing || (e.newPassword = t.target.value)
                }
            }
        })])], 1)]), e._v(" "), i("template", {slot: "footer"}, [i("div", {staticClass: "xly-dialog__footer"}, [i("div", {staticClass: "xly-dialog__footer-operate"}, [i("a", {
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleForget(t)
                }
            }
        }, [e._v("忘记密码>")])]), e._v(" "), i("div", {staticClass: "xly-dialog__button"}, [i("td-button", {
            on: {click: e.handleOK},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v("确定")]), e._v(" "), i("td-button", {
            attrs: {secondary: ""}, on: {
                click: function (t) {
                    e.handleClose("cancel")
                }
            }
        }, [e._v("取消")])], 1)])])], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {visible: "", "custom-class": "xly-dialog-secret"}, on: {
                close: function (t) {
                    e.handleClose("close")
                }
            }
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("登录帐号身份验证")]), e._v(" "), i("p", {staticClass: "xly-dialog-secret__tips"}, [e._v(e._s(e.promptContent))]), e._v(" "), i("ul", [i("li", {staticClass: "xly-dialog-secret__item"}, [i("label", {staticClass: "td-input"}, [i("span", {staticClass: "td-input__label"}, [e._v("手机号")]), e._v(" "), i("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.verifyCodeGetTipsText, visible: e.isShowVerifyCodeGetTips, placement: "top"}
        }, [i("input", {
            directives: [{name: "model", rawName: "v-model", value: e.mobile, expression: "mobile"}],
            ref: "phoneInput",
            staticClass: "td-input__inner",
            attrs: {type: "text", readonly: "readonly", placeholder: "请输入绑定手机号"},
            domProps: {value: e.mobile},
            on: {
                input: function (t) {
                    t.target.composing || (e.mobile = t.target.value)
                }
            }
        })])], 1), e._v(" "), i("span", {
            staticClass: "xly-dialog-secret__code",
            class: {"is-disabled": e.verifyCodeBtnDisabled},
            on: {
                click: function (t) {
                    t.stopPropagation(), e.handleGetVerifyCode()
                }
            }
        }, [i("i", {staticClass: "xly-line"}), e._v("\n        " + e._s(e.verifyCodeBtntext) + "\n      ")])]), e._v(" "), i("li", {staticClass: "xly-dialog-secret__item"}, [i("label", {staticClass: "td-input"}, [i("span", {staticClass: "td-input__label"}, [e._v("验证码")]), e._v(" "), i("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.verifyCodeTipsText, visible: e.isShowVerifyCodeTips, placement: "top"}
        }, [i("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.verifyCode,
                expression: "verifyCode"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "text", placeholder: "验证码"},
            domProps: {value: e.verifyCode},
            on: {
                input: function (t) {
                    t.target.composing || (e.verifyCode = t.target.value)
                }
            }
        })])], 1)])]), e._v(" "), i("template", {slot: "footer"}, [i("div", {staticClass: "xly-dialog__footer"}, [i("div", {staticClass: "xly-dialog__footer-operate"}, [i("a", {
            staticClass: "xly-dialog__footer-link",
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleModifierPhone(t)
                }
            }
        }, [e._v("修改安全手机>")])]), e._v(" "), i("div", {staticClass: "xly-dialog__button"}, [i("td-button", {
            attrs: {disabled: e.okDisabled},
            nativeOn: {
                click: function (t) {
                    return t.stopPropagation(), e.handleOK(t)
                }
            }
        }, [e._v("确定")]), e._v(" "), i("td-button", {
            attrs: {secondary: ""}, on: {
                click: function (t) {
                    e.handleClose("cancel")
                }
            }
        }, [e._v("取消")])], 1)])]), e._v(" "), e.isShowFigureCode ? i("div", {attrs: {id: "boxid"}}, [i("iframe", {
            staticStyle: {
                width: "100%",
                height: "100%"
            }, attrs: {src: e.reviewurl}, on: {load: e.showFigureCode}
        })]) : e._e()], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {visible: "", "custom-class": "xly-dialog-secret"},
            on: {close: e.handleClose}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("私人下载存储目录设置")]), e._v(" "), i("div", {staticClass: "xly-dialog-site"}, [i("div", {
            staticClass: "td-select",
            attrs: {tabindex: "0"}
        }, [i("td-tooltip", {
            staticStyle: {display: "block"},
            attrs: {content: e.pathTips, visible: e.isShowPathTips, placement: "top"}
        }, [i("path-selector", {
            attrs: {enablePrivateSpace: !1, value: e.savePath, appendDirs: e.appendDirs},
            on: {input: e.handleChangePath}
        })], 1)], 1), e._v(" "), i("label", {
            staticClass: "td-checkbox",
            class: {"is-checked": e.hideLocalDir}
        }, [i("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.hideLocalDir,
                expression: "hideLocalDir"
            }],
            staticClass: "td-checkbox__inner",
            attrs: {type: "checkbox"},
            domProps: {checked: Array.isArray(e.hideLocalDir) ? e._i(e.hideLocalDir, null) > -1 : e.hideLocalDir},
            on: {
                change: function (t) {
                    var i = e.hideLocalDir, n = t.target, r = !!n.checked;
                    if (Array.isArray(i)) {
                        var o = e._i(i, null);
                        n.checked ? o < 0 && (e.hideLocalDir = i.concat([null])) : o > -1 && (e.hideLocalDir = i.slice(0, o).concat(i.slice(o + 1)))
                    } else e.hideLocalDir = r
                }
            }
        }), e._v(" "), i("span", {staticClass: "td-checkbox__label"}, [e._v("在本地隐藏私人空间对应文件夹")])])]), e._v(" "), i("template", {slot: "footer"}, [i("div", {staticClass: "xly-dialog__footer"}, [i("div", {staticClass: "xly-dialog__button"}, [i("td-button", {
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleOK(t)
                }
            }
        }, [e._v("确定")]), e._v(" "), i("td-button", {
            attrs: {secondary: ""},
            on: {click: e.handleClose}
        }, [e._v("取消")])], 1)])])], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {attrs: {visible: ""}, on: {close: e.handleClose}}, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("私人下载任务管理")]), e._v(" "), i("div", {staticClass: "xlx-dialog-secret__setting"}, [i("ul", [i("li", [i("span", [e._v("同时下载的最大任务数")]), e._v(" "), i("div", {staticClass: "td-select xlx-select-size-1"}, [i("div", {staticClass: "td-select-group"}, [i("label", {staticClass: "td-input"}, [i("input", {
            directives: [{
                name: "model",
                rawName: "v-model.number",
                value: e.maxTaskCount,
                expression: "maxTaskCount",
                modifiers: {number: !0}
            }],
            staticClass: "td-input__inner",
            attrs: {type: "number", placeholder: "5"},
            domProps: {value: e.maxTaskCount},
            on: {
                input: function (t) {
                    t.target.composing || (e.maxTaskCount = e._n(t.target.value))
                }, blur: function (t) {
                    e.$forceUpdate()
                }
            }
        })]), e._v(" "), i("a", {
            staticClass: "td-select__drop",
            attrs: {href: "javascript:;"}
        }, [i("i", {staticClass: "td-icon-arrow-drop"})])])]), e._v(" "), i("span", {staticClass: "xlx-setting-content__tips"}, [e._v("（1-50）")])])]), e._v(" "), i("p", {staticClass: "td-dialog-comfirm__text"}, [i("label", {staticClass: "td-checkbox is-checked"}, [i("input", {
            staticClass: "td-checkbox__inner",
            attrs: {type: "checkbox", checked: ""}
        }), e._v(" "), i("span", {staticClass: "td-checkbox__label"}, [e._v("自动将低速任务移动至列尾")])])])]), e._v(" "), i("template", {slot: "footer"}, [i("td-button", {
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleOK(t)
                }
            }
        }, [e._v("确定")]), e._v(" "), i("td-button", {
            attrs: {secondary: ""},
            on: {click: e.handleClose}
        }, [e._v("取消")])], 1)], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xly-dialog-repeat", visible: ""},
            on: {close: e.handleOK}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [i("i", {staticClass: "xly-icon-note-bold"}), e._v("下载列表已存在相同任务")]), e._v(" "), i("p", {staticClass: "xly-dialog-repeat__text"}, [e._v(e._s(e.title))]), e._v(" "), i("div", {staticClass: "xly-dialog-repeat__list is-nowrap"}, [i("p", {domProps: {innerHTML: e._s(e.urls)}})]), e._v(" "), i("td-button", {
            attrs: {
                slot: "footer",
                size: "large"
            }, on: {click: e.handleOK}, nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }, slot: "footer"
        }, [e._v("我知道了")])], 1)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {
                "custom-class": "xly-dialog-batch",
                visible: "",
                "before-close": e.handleClose
            }
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("新建下载任务")]), e._v(" "), i("div", {staticClass: "xly-dialog-batch__filter"}, [i("p", [e._v("批量下载功能可以方便的创建多个包含共同特征的下载任务。例如网站A提供了10个这样的下载链接：")]), e._v(" "), i("p", [e._v("http://www.a.com/01.zip")]), e._v(" "), i("p", [e._v("http://www.a.com/02.zip")]), e._v("...\n    "), i("p", [e._v("http://www.a.com/10.zip")]), e._v(" "), i("br"), e._v(" "), i("p", [e._v("这10个地址只有数字部分不同，如果用(*)表示不同的部分，这些地址可以写成：")]), e._v(" "), i("p", [e._v("http://www.a.com/(*).zip")]), e._v(" "), i("br"), e._v(" "), i("p", [e._v("同时，通配符长度指的是这些地址不同部分数字的长度，例如：")]), e._v(" "), i("p", [e._v("从01.zip－10.zip，通配符长度是2；")]), e._v(" "), i("p", [e._v("从001.zip－010.zip，通配符长度是3。")]), e._v(" "), i("br"), e._v(" "), i("p", [e._v("注意，在填写从xxx到xxx的时候，虽然是从01到10或者是001到010，但是，当您设定了通配符长度以后，就只需要填写成从1到10。 填写完成后，在示意窗口会显示第一个和最后一个任务的具体链接地址，您可以检查是否正确，然后点确定完成操作。")])]), e._v(" "), i("div", {staticClass: "xly-dialog-batch__down-input"}, [i("td-tooltip", {
            staticStyle: {display: "block"},
            attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top"}
        }, [i("td-input", {
            attrs: {label: "通过URL过滤：", placeholder: ""},
            model: {
                value: e.urlExample, callback: function (t) {
                    e.urlExample = t
                }, expression: "urlExample"
            }
        })], 1)], 1), e._v(" "), i("div", {staticClass: "xly-dialog-batch__down-filter"}, [i("ul", [i("li", [i("td-radio", {
            attrs: {label: "number"},
            model: {
                value: e.picked, callback: function (t) {
                    e.picked = t
                }, expression: "picked"
            }
        }), e._v(" "), i("span", {staticClass: "xly-dialog-batch__text"}, [e._v("从")]), e._v(" "), i("limit-input", {
            attrs: {
                isNumber: !0,
                readonly: "number" !== e.picked,
                value: e.numFrom,
                min: 0,
                max: e.numMax
            }, on: {input: e.handleNumFromChange}
        }), e._v(" "), i("span", {staticClass: "xly-dialog-batch__text"}, [e._v("到")]), e._v(" "), i("limit-input", {
            attrs: {
                isNumber: !0,
                readonly: "number" !== e.picked,
                value: e.numTo,
                min: 0,
                max: e.numMax
            }, on: {input: e.handleNumToChange}
        }), e._v(" "), i("span", {staticClass: "xly-dialog-batch__text"}, [e._v("通配符长度：")]), e._v(" "), i("select-native", {
            attrs: {
                readonly: "number" !== e.picked,
                value: e.wildcardLength,
                options: e.selectOptions
            }, on: {input: e.handleWildcardChange}
        })], 1), e._v(" "), i("li", [i("td-radio", {
            attrs: {label: "alpha"},
            model: {
                value: e.picked, callback: function (t) {
                    e.picked = t
                }, expression: "picked"
            }
        }), e._v(" "), i("span", {staticClass: "xly-dialog-batch__text"}, [e._v("从")]), e._v(" "), i("limit-input", {
            attrs: {
                isAlpha: !0,
                readonly: "alpha" !== e.picked,
                value: e.alphaFrom
            }, on: {input: e.handleAlphaFromChange}
        }), e._v(" "), i("span", {staticClass: "xly-dialog-batch__text"}, [e._v("到")]), e._v(" "), i("limit-input", {
            attrs: {
                isAlpha: !0,
                readonly: "alpha" !== e.picked,
                value: e.alphaTo
            }, on: {input: e.handleAlphaToChange}
        }), e._v(" "), i("span", {staticClass: "xly-dialog-batch__text"}, [e._v("区分大小写")])], 1)]), e._v(" "), i("label", {staticClass: "td-textarea"}, [i("textarea", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.context,
                expression: "context"
            }],
            staticClass: "td-textarea__inner",
            attrs: {readonly: "", placeholder: ""},
            domProps: {value: e.context},
            on: {
                input: function (t) {
                    t.target.composing || (e.context = t.target.value)
                }
            }
        })])]), e._v(" "), i("template", {slot: "footer"}, [i("td-button", {
            on: {click: e.handleOK},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v(e._s("确定"))])], 1)], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {staticClass: "td-dialog"}, [i("div", {staticClass: "td-dialog__header"}, [i("h2", [e._v(e._s("add" === e.options.state ? "已添加书签" : "修改书签"))]), e._v(" "), i("a", {
            staticClass: "td-dialog__close",
            attrs: {href: "javascript:;", title: "关闭"},
            on: {click: e.handleClose}
        }, [i("i", {staticClass: "td-icon-close"})])]), e._v(" "), i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "xlx-dialog__bookmarks-add"}, [i("ul", [i("li", {staticClass: "xlx-dialog__bookmarks-add-item"}, [i("label", {staticClass: "td-input"}, [i("span", {staticClass: "td-input__label"}, [e._v("名称")]), e._v(" "), i("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.value,
                expression: "value"
            }],
            ref: "titleInput",
            staticClass: "td-input__inner",
            attrs: {type: "text"},
            domProps: {value: e.value},
            on: {
                input: function (t) {
                    t.target.composing || (e.value = t.target.value)
                }
            }
        })])]), e._v(" "), i("li", {staticClass: "xlx-dialog__bookmarks-add-item"}, [i("div", {staticClass: "td-select"}, [i("span", {staticClass: "td-input__label"}, [e._v("添加到")]), e._v(" "), i("div", {staticClass: "td-select-group is-choose"}, [i("span", {staticClass: "td-select-group__label"}, ["edit" === e.options.state ? i("i", {
            staticClass: "xlx-icon-fav",
            class: {"is-active": "edit" === e.options.state}
        }) : e._e(), e._v("书签栏")]), e._v(" "), e._m(0)])])])])])]), e._v(" "), i("div", {staticClass: "td-dialog__footer"}, [i("div", {staticClass: "td-dialog-footer"}, [i("a", {
            staticClass: "td-button",
            class: {"is-disabled": "" === e.value.trim()},
            attrs: {href: "javascript:;"},
            on: {click: e.handleOk}
        }, [e._v("确定")]), e._v(" "), i("a", {
            staticClass: "td-button td-button--secondary",
            attrs: {href: "javascript:;"},
            on: {click: e.handleDelete}
        }, [e._v("删除")])])])])
    }, r = [function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("a", {
            staticClass: "td-select__drop",
            attrs: {href: "javascript:;"}
        }, [t("i", {staticClass: "td-icon-arrow-drop"})])
    }];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {
            ref: "list",
            staticClass: "td-context-menu xlx-context-menu--bookmarks is-left"
        }, [i("ul", {staticClass: "td-context-menu__main"}, e._l(e.options, function (t, n) {
            return i("li", {
                key: t.url,
                staticClass: "td-context-menu__item",
                attrs: {title: t.name + "\n" + t.url},
                on: {
                    click: function (i) {
                        return "button" in i || !e._k(i.keyCode, "left", 37, i.key, ["Left", "ArrowLeft"]) ? "button" in i && 0 !== i.button ? null : (i.stopPropagation(), void e.openNewTab(t.url, t.name)) : null
                    }, contextmenu: function (i) {
                        i.stopPropagation(), e.showBookMarkMenu(t.url, t.name, n)
                    }
                }
            }, [i("div", {staticClass: "td-context-menu__content"}, [i("i", {staticClass: "td-icon"}, [e.isShowDefaultIcon(t.url, t.iconUrl) ? i("i", {staticClass: "xlx-icon-net"}) : i("img", {attrs: {src: t.iconUrl}})]), e._v(" "), i("span", {staticClass: "td-context-menu__text"}, [e._v(e._s(t.name))])])])
        }))])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": ["xly-dialog-subtitle"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("字幕搜索")]), e._v(" "), i("div", {staticClass: "xly-subtitle-search"}, [i("td-media", {attrs: {align: "middle"}}, [i("i", {
            staticClass: "xly-icon-type",
            class: e.taskIcon,
            attrs: {slot: "media"},
            slot: "media"
        }), e._v(" "), i("p", {
            staticClass: "title",
            attrs: {title: e.taskName}
        }, [e._v(e._s(e.taskName))]), e._v(" "), i("p", {
            staticClass: "total",
            on: {click: e.onVideoNumberTextClick}
        }, [e._v(e._s(e.videoNum) + "个视频文件")])]), e._v(" "), i("div", {staticClass: "xly-subtitle-search__list"}, [i("td-table", {
            attrs: {
                columns: e.columns,
                data: e.fileList
            }, scopedSlots: e._u([{
                key: "default", fn: function (t) {
                    var n = t.prop, r = (t.value, t.row);
                    return ["fileName" === n ? [i("span", {
                        staticClass: "xly-subtitle-search__name",
                        attrs: {title: r.fileName}
                    }, [e._v(e._s(r.fileName))])] : e._e(), e._v(" "), "operate" === n ? [i("a", {
                        staticClass: "xly-subtitle-search__link",
                        attrs: {href: "javascript:;"},
                        on: {
                            click: function (t) {
                                e.popSutitleMessageBox(r)
                            }
                        }
                    }, [e._v("搜索字幕")])] : e._e()]
                }
            }])
        })], 1), e._v(" "), i("a", {
            staticClass: "xly-subtitle-search__access",
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    e.searchShooter()
                }
            }
        }, [e._v("访问SubHD搜索字幕")])], 1)])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": ["xly-dialog-subtitle"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("字幕搜索")]), e._v(" "), i("div", {staticClass: "xly-subtitle-search"}, [i("div", {staticClass: "xly-subtitle-search__form"}, [i("td-input", {
            attrs: {placeholder: "输入关键词"},
            model: {
                value: e.searchText, callback: function (t) {
                    e.searchText = t
                }, expression: "searchText"
            }
        }), e._v(" "), i("a", {
            staticClass: "td-button", attrs: {href: "javascript:;"}, on: {
                click: function (t) {
                    e.searchSubtitleByName("btn")
                }
            }
        }, [e._v("搜索")])], 1), e._v(" "), i("div", {staticClass: "xly-subtitle-search__list"}, [0 === e.searchStatus ? [i("div", {staticClass: "xly-subtitle-search__empty"}, [i("div", {staticClass: "xly-subtitle-search__tips"}, [i("i", {staticClass: "xly-icon-loading"}), e._v(" "), i("p", [e._v("搜索中")])])])] : 2 === e.searchStatus ? [i("div", {staticClass: "xly-subtitle-search__empty"}, [i("div", {staticClass: "xly-subtitle-search__tips"}, [i("p", [e._v("\n              无相关字幕，建议换名搜索"), i("br"), e._v("或前往\n              "), i("a", {
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    e.searchShooter()
                }
            }
        }, [e._v("SubHD")]), e._v("\n              查找\n            ")])])])] : 1 === e.searchStatus ? [i("td-table", {
            attrs: {
                columns: e.columns,
                data: e.tableData
            }, scopedSlots: e._u([{
                key: "default", fn: function (t) {
                    var n = t.prop, r = (t.value, t.row);
                    return ["sname" === n ? [i("span", {
                        staticClass: "xly-subtitle-search__name",
                        attrs: {title: e.getName(r)}
                    }, [e._v(e._s(e.getName(r)))])] : e._e(), e._v(" "), "language" === n ? [i("span", [e._v(e._s(r.language))])] : e._e(), e._v(" "), "comment" === n ? [i("td-rate", {
                        attrs: {
                            value: Number(r.rate),
                            readonly: ""
                        }
                    })] : e._e(), e._v(" "), "operate" === n ? [0 === r.status ? [i("a", {
                        staticClass: "xly-subtitle-search__link",
                        attrs: {href: "javascript:;"},
                        on: {
                            click: function (t) {
                                e.onOperationTextClick(r)
                            }
                        }
                    }, [e._v("下载字幕")])] : e._e(), e._v(" "), 1 === r.status ? [i("a", {
                        staticClass: "xly-subtitle-search__link",
                        attrs: {href: "javascript:;"},
                        on: {
                            click: function (t) {
                                e.onOperationTextClick(r)
                            }
                        }
                    }, [e._v("播放视频")])] : e._e(), e._v(" "), 2 === r.status ? [i("i", {staticClass: "xly-icon-loading"})] : e._e(), e._v(" "), 3 === r.status ? [i("a", {
                        staticClass: "xly-subtitle-search__link is-failed",
                        attrs: {href: "javascript:;"},
                        on: {
                            click: function (t) {
                                e.onOperationTextClick(r)
                            }
                        }
                    }, [e._v("下载失败")])] : e._e()] : e._e()]
                }
            }])
        })] : e._e()], 2), e._v(" "), i("a", {
            staticClass: "xly-subtitle-search__access",
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    e.searchShooter()
                }
            }
        }, [e._v("访问SubHD搜索字幕")])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xlx-dialog--browser", visible: "", "footer-enabled": !1},
            on: {close: e.handleCloseButton}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v(e._s(e.showTitle))]), e._v(" "), i("div", {staticClass: "td-tabs"}, [i("div", {staticClass: "td-tabs__title"}, [e.is360Exist && (1 === e.showCount360 || e.options.isManual) ? i("div", {
            class: e.selectClass360,
            on: {
                click: function (t) {
                    e.handleItemClick("360")
                }
            }
        }, [i("i", {staticClass: "icon-browser icon-browser--360"}), e._v(" "), i("span", [e._v("360浏览器")])]) : e._e(), e._v(" "), e.isSouGouExist && (1 === e.showCountOther || e.options.isManual) ? i("div", {
            class: e.selectClassSG,
            on: {
                click: function (t) {
                    e.handleItemClick("SouGou")
                }
            }
        }, [i("i", {staticClass: "icon-browser icon-browser--sg"}), e._v(" "), i("span", [e._v("搜狗浏览器")])]) : e._e(), e._v(" "), e.isQQExist && (1 === e.showCountOther || e.options.isManual) ? i("div", {
            class: e.selectClassQQ,
            on: {
                click: function (t) {
                    e.handleItemClick("QQ")
                }
            }
        }, [i("i", {staticClass: "icon-browser icon-browser--qq"}), e._v(" "), i("span", [e._v("QQ浏览器")])]) : e._e()]), e._v(" "), i("div", {staticClass: "td-tabs__content"}, ["360" === e.szCurSelect ? i("div", {staticClass: "td-tabs__pane"}, [i("img", {
            attrs: {
                src: e.path360,
                alt: "设置360浏览器"
            }
        })]) : "SouGou" === e.szCurSelect ? i("div", {staticClass: "td-tabs__pane"}, [i("img", {
            attrs: {
                src: e.pathSougou,
                alt: "设置搜狗浏览器"
            }
        })]) : "QQ" === e.szCurSelect ? i("div", {staticClass: "td-tabs__pane"}, [i("img", {
            attrs: {
                src: e.pathQQ,
                alt: "设置QQ浏览器"
            }
        })]) : e._e()])]), e._v(" "), i("div", {staticClass: "browser-operation-wp"}, [i("a", {
            staticClass: "td-button td-button--large",
            attrs: {href: "javascript:;"},
            on: {click: e.handleConfigBrowser}
        }, [e._v(e._s(e.butttonText))]), e._v(" "), i("p", {staticClass: "user-count"}, [i("em", [e._v("80%")]), e._v("人选择了迅雷下载\n    ")])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": ["xlx-dialog--fix"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [i("div", {staticClass: "td-dialog-comfirm"}, [i("span", {staticClass: "td-dialog-comfirm__icon"}, [i("i", {staticClass: "icon-fix"})]), e._v(" "), i("div", {staticClass: "td-dialog-comfirm__content"}, [0 === e.status ? i("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("修复迅雷影音播放组件\n        "), i("br"), e._v(" "), i("span", [e._v(e._s(e.progress) + "%")])]) : 1 === e.status ? i("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("修复成功")]) : i("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("修复失败\n        "), i("br"), e._v(" "), i("a", {
            staticClass: "link-down",
            attrs: {href: "javascript:;"},
            on: {click: e.onClickDownloadXmp}
        }, [e._v("下载官方版迅雷影音")])])])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": ["xlx-dialog-setting"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "td-dialog-comfirm"}, [i("span", {staticClass: "td-dialog-comfirm__icon"}, [i("i", {staticClass: "td-icon-warning"})]), e._v(" "), i("div", {staticClass: "td-dialog-comfirm__content"}, [i("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("您还没有安装迅雷影音，需要现在\n          "), i("br"), e._v("下载吗？\n        ")])])])]), e._v(" "), i("div", {staticClass: "td-dialog__footer"}, [i("div", {staticClass: "td-dialog-footer"}, [i("a", {
            staticClass: "td-button",
            attrs: {href: "javascript:;"},
            on: {click: e.onClickDownloadXmpEx}
        }, [e._v("立即下载")]), e._v(" "), i("a", {
            staticClass: "td-button td-button--secondary",
            attrs: {href: "javascript:;"},
            on: {click: e.handleCancel}
        }, [e._v("取消")])])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", [1 === e.options.showType ? i("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog--cipher xlx-dialog--small",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "td-dialog-comfirm"}, [i("span", {staticClass: "td-dialog-comfirm__icon"}, [i("i", {staticClass: "xlx-icon-bird"})]), e._v(" "), i("div", {staticClass: "td-dialog-comfirm__content"}, [i("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("正在生成口令...")])])])])]) : 0 === e.options.showType ? i("td-dialog", {
            ref: "dialogDecode",
            attrs: {"custom-class": "xlx-dialog--cipher xlx-dialog--small", visible: "", "footer-enabled": !1},
            on: {close: e.onClickClose}
        }, [i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "td-dialog-comfirm"}, [i("span", {staticClass: "td-dialog-comfirm__icon"}, [i("i", {staticClass: "xlx-icon-bird"})]), e._v(" "), i("div", {staticClass: "td-dialog-comfirm__content"}, [i("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("正在翻译口令...")])])])])]) : 3 === e.options.showType ? i("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog--cipher xlx-dialog--small",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "td-dialog-comfirm"}, [i("span", {staticClass: "td-dialog-comfirm__icon"}, [i("i", {staticClass: "td-icon-error"})]), e._v(" "), i("div", {staticClass: "td-dialog-comfirm__content"}, [i("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("生成口令失败")])])])]), e._v(" "), i("div", {staticClass: "td-dialog__footer"}, [i("div", {staticClass: "td-dialog-footer"}, [i("button", {
            staticClass: "td-button td-button--secondary",
            on: {click: e.retryEncode}
        }, [e._v("重试")])])])]) : 2 === e.options.showType ? i("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog--cipher xlx-dialog--small",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "td-dialog-comfirm"}, [i("span", {staticClass: "td-dialog-comfirm__icon"}, [i("i", {staticClass: "td-icon-error"})]), e._v(" "), i("div", {staticClass: "td-dialog-comfirm__content"}, [i("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("翻译口令失败")])])])]), e._v(" "), i("div", {staticClass: "td-dialog__footer"}, [i("div", {staticClass: "td-dialog-footer"}, [i("button", {
            staticClass: "td-button td-button--secondary",
            on: {click: e.retryDecode}
        }, [e._v("重试")])])])]) : 4 === e.options.showType ? i("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog--cipher",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("您的迅雷口令已生成")]), e._v(" "), i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "xlx-dialog-chipher"}, [e._v(e._s(e.tips))]), e._v(" "), i("div", {staticClass: "xlx-dialog-chipher__encryption"}, [i("td-checkbox", {
            attrs: {value: e.isChecked},
            on: {input: e.handleCheck}
        }, [e._v("加密迅雷口令")]), e._v(" "), i("td-input", {
            ref: "inputObj",
            attrs: {value: e.userpwd, disabled: !e.isChecked, placeholder: "请输入密码"},
            on: {input: e.handleInput}
        }), e._v(" "), i("td-button", {
            attrs: {disabled: 0 === e.userpwd.length || !e.isChecked},
            on: {click: e.onEncryptKey}
        }, [e._v("加密")])], 1)]), e._v(" "), i("div", {staticClass: "td-dialog__footer"}, [i("div", {staticClass: "td-dialog-footer"}, [i("td-button", {
            attrs: {disabled: e.disableCopy},
            on: {click: e.onCopyBtnClick}
        }, [e._v("复制口令")])], 1)]), e._v(" "), e.showEncryptRet ? i("div", {staticClass: "td-cover td-cover--message"}, [!0 === e.encryptResult ? i("div", {staticClass: "td-message td-message--success"}, [i("i", {staticClass: "td-icon-success"}), e._v(" "), i("span", {staticClass: "td-message__text"}, [e._v("口令加密成功")])]) : i("div", {staticClass: "td-message td-message--error"}, [i("i", {staticClass: "td-icon-error"}), e._v(" "), i("span", {staticClass: "td-message__text"}, [e._v("口令加密失败")])])]) : e._e()]) : 5 === e.options.showType ? i("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog--cipher",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("您的迅雷口令已生成")]), e._v(" "), i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "xlx-dialog-chipher"}, [e._v(e._s(e.tips))])]), e._v(" "), i("div", {staticClass: "td-dialog__footer"}, [i("div", {staticClass: "td-dialog-footer"}, [i("button", {staticClass: "td-button is-disabled"}, [i("i", {staticClass: "td-icon-success"}), e._v("已复制，快去粘贴\n          "), i("span", [e._v("（" + e._s(e.timeToClose) + "秒后关闭）")])])])])]) : e._e()], 1)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {staticClass: "td-context-menu xlx-context-menu--browser"}, [i("h3", [e._v("已打开标签页"), i("span", [e._v(e._s(e.unpinnedLength))]), e._v("个")]), e._v(" "), i("ul", {
            staticClass: "td-context-menu__main",
            staticStyle: {width: "145px", height: "336px"}
        }, e._l(e.tabsCopy, function (t, n) {
            return t.pinned ? e._e() : i("li", {
                key: t.key,
                ref: "item" + n,
                refInFor: !0,
                staticClass: "td-context-menu__item",
                attrs: {"data-index": n},
                on: {
                    click: function (t) {
                        e.handleUpdateCurrent(n)
                    }
                }
            }, [i("div", {
                staticClass: "td-context-menu__content",
                class: {"is-active": n === e.currentCopy}
            }, [i("i", {staticClass: "td-icon"}, [e.isShowDefaultIcon(n) ? i("i", {staticClass: "xlx-icon-net"}) : i("img", {attrs: {src: e.handleIconUrl(n)}})]), e._v(" "), i("span", {staticClass: "td-context-menu__text"}, [e._v(e._s(t.title))]), e._v(" "), i("a", {
                staticClass: "td-icon-close",
                attrs: {href: "javascript: void 0;"},
                on: {
                    click: function (t) {
                        t.stopPropagation(), e.handleRemove(n)
                    }
                }
            })])])
        }))])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xlx-skin", "footer-enabled": !1, visible: ""},
            on: {close: e.handleClose}
        }, [i("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: "skin" === e.activeKey && !e.isVip,
                expression: "activeKey === 'skin' && !isVip"
            }], staticClass: "xlx-skin-vip"
        }, [i("td-button", {on: {click: e.openVip}}, [e._v("开通会员")])], 1), e._v(" "), i("td-tabs", {
            staticClass: "xlx-skin__title",
            attrs: {tabs: e.tabs, "active-key": e.activeKey},
            on: {
                "update:activeKey": [function (t) {
                    e.activeKey = t
                }, e.changeMainTab]
            },
            scopedSlots: e._u([{
                key: "default", fn: function (t) {
                    var n = t.tab;
                    return ["skin" === n.key ? i("td-tabs", {
                        attrs: {tabs: e.skinTabs, "active-key": e.skinActiveKey},
                        on: {
                            "update:activeKey": [function (t) {
                                e.skinActiveKey = t
                            }, e.changeTab]
                        },
                        scopedSlots: e._u([{
                            key: "title", fn: function (t) {
                                var n = t.tab;
                                return [i("div", {class: n.class}, [e._v(e._s(n.title)), n.title_suffix ? i("i", {class: n.title_suffix}) : e._e()])]
                            }
                        }, {
                            key: "default", fn: function (t) {
                                var n = t.tab;
                                return ["featured" === n.key ? i("pane-skin-featured", {
                                    ref: "paneSkinFeatured",
                                    attrs: {
                                        options: e.options,
                                        "skin-info": e.skinInfo,
                                        wallpaper: e.wallpaper,
                                        "is-logined": e.isLogined,
                                        "is-vip": e.isVip
                                    },
                                    on: {
                                        "set-skin-info": e.setSkinInfo,
                                        "close-window": e.closeWindow,
                                        "update-last-skin-info": e.updateLastSkinInfo,
                                        "restore-skin": e.restoreSkin
                                    }
                                }) : e._e(), e._v(" "), "speedcurve" === n.key ? i("pane-skin-speedcurve", {
                                    attrs: {
                                        "skin-info": e.speedCurveSkinInfo,
                                        "is-logined": e.isLogined,
                                        "is-vip": e.isVip,
                                        "is-platinum-vip": e.isPlatinumVip,
                                        "is-super-vip": e.isSuperVip,
                                        "vas-type": e.vasType
                                    },
                                    on: {
                                        "set-skin-info": e.setSpeedCurveSkinInfo,
                                        "cover-show": e.onCoverShow,
                                        "close-window": e.closeWindow
                                    }
                                }) : e._e(), e._v(" "), "suspension" === n.key ? i("pane-skin-suspension", {
                                    attrs: {
                                        "skin-info": e.suspensionSkinInfo,
                                        "is-logined": e.isLogined,
                                        "is-vip": e.isVip,
                                        "vas-type": e.vasType
                                    },
                                    on: {
                                        "set-skin-info": e.setSuspensionSkinInfo,
                                        "cover-show": e.onCoverShow,
                                        "close-window": e.closeWindow
                                    }
                                }) : e._e(), e._v(" "), "supervip" === n.key ? i("pane-skin-super-cool", {
                                    ref: "paneSkinSuperCool",
                                    attrs: {
                                        options: e.options,
                                        "skin-info": e.skinInfo,
                                        "shake-info": e.shakeInfo,
                                        wallpaper: e.wallpaper,
                                        "is-logined": e.isLogined,
                                        "is-vip": e.isVip,
                                        "is-super-vip": e.isSuperVip,
                                        "vas-type": e.vasType
                                    },
                                    on: {
                                        "cover-show": e.onCoverShow,
                                        "set-skin-info": e.setSkinInfo,
                                        "set-shake-info": e.setShakeInfo,
                                        "close-window": e.closeWindow,
                                        "update-last-skin-info": e.updateLastSkinInfo
                                    }
                                }) : e._e(), e._v(" "), i("panel-try-cover", {
                                    directives: [{
                                        name: "show",
                                        rawName: "v-show",
                                        value: e.tryCoverShow,
                                        expression: "tryCoverShow"
                                    }],
                                    attrs: {
                                        from: e.coverFrom,
                                        currentTabKey: e.skinActiveKey,
                                        skinInfo: e.currentTabSkinInfo,
                                        "temp-shake": e.tempShakeWallpaper,
                                        lastSkinInfo: e.currentTabLastSkinInfo,
                                        wallpaper: e.wallpaper,
                                        "is-logined": e.isLogined,
                                        "is-vip": e.isVip,
                                        "vas-type": e.vasType
                                    },
                                    on: {
                                        "cover-show": e.onCoverShow,
                                        "close-window": e.closeWindow,
                                        "set-skin-info": e.setLastSkinInfo,
                                        "restore-shake-info": e.restoreShakeInfo
                                    }
                                })]
                            }
                        }])
                    }) : e._e(), e._v(" "), "avatar" === n.key ? i("pane-avatar") : e._e()]
                }
            }])
        })], 1)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xlx-dialog-setting", visible: ""},
            on: {close: e.handleClose}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("代理添加/编辑")]), e._v(" "), i("div", {staticClass: "xlx-dialog-setting__content"}, [i("ul", {staticClass: "xlx-dialog-setting__form"}, [i("li", {staticClass: "xlx-dialog-setting__item"}, [i("span", {staticClass: "xlx-dialog-setting__label"}, [e._v("代理名称")]), e._v(" "), i("td-input", {
            staticClass: "xlx-setting__input-1",
            attrs: {maxlength: "20"},
            model: {
                value: e.proxyName, callback: function (t) {
                    e.proxyName = t
                }, expression: "proxyName"
            }
        })], 1), e._v(" "), i("li", {staticClass: "xlx-dialog-setting__item"}, [i("span", {staticClass: "xlx-dialog-setting__label"}, [e._v("类型")]), e._v(" "), i("ul", {staticClass: "xlx-setting-content__horizontal"}, [i("li", [i("td-radio", {
            attrs: {label: "HTTP"},
            nativeOn: {
                click: function (t) {
                    return e.handleClickHttp(t)
                }
            },
            model: {
                value: e.type, callback: function (t) {
                    e.type = t
                }, expression: "type"
            }
        }, [e._v("HTTP")])], 1), e._v(" "), i("li", [i("td-radio", {
            attrs: {label: "SOCKS5"},
            nativeOn: {
                click: function (t) {
                    return e.handleClickSock(t)
                }
            },
            model: {
                value: e.type, callback: function (t) {
                    e.type = t
                }, expression: "type"
            }
        }, [e._v("SOCKS5")])], 1)])]), e._v(" "), i("li", {staticClass: "xlx-dialog-setting__item"}, [i("span", {staticClass: "xlx-dialog-setting__label"}, [e._v("服 务 器")]), e._v(" "), i("td-input", {
            attrs: {maxlength: "50"},
            model: {
                value: e.host, callback: function (t) {
                    e.host = t
                }, expression: "host"
            }
        })], 1), e._v(" "), i("li", {staticClass: "xlx-dialog-setting__item"}, [i("span", {staticClass: "xlx-dialog-setting__label"}, [e._v("端口")]), e._v(" "), i("label", {staticClass: "td-input xlx-setting__input-2"}, [i("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.port,
                expression: "port"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "text", maxlength: "5"},
            domProps: {value: e.port},
            on: {
                input: [function (t) {
                    t.target.composing || (e.port = t.target.value)
                }, e.handleInput]
            }
        })])]), e._v(" "), i("li", {staticClass: "xlx-dialog-setting__item"}, [i("span", {staticClass: "xlx-dialog-setting__label"}, [e._v("验证")]), e._v(" "), i("td-input", {
            staticClass: "xlx-setting__input-2",
            attrs: {placeholder: "用户名"},
            model: {
                value: e.userName, callback: function (t) {
                    e.userName = t
                }, expression: "userName"
            }
        }), e._v(" "), i("label", {staticClass: "td-input xlx-setting__input-2"}, [i("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.passWord,
                expression: "passWord"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "password", placeholder: "密码"},
            domProps: {value: e.passWord},
            on: {
                input: function (t) {
                    t.target.composing || (e.passWord = t.target.value)
                }
            }
        })]), e._v(" "), i("a", {
            staticClass: "td-button td-button--secondary td-button--small",
            class: {"is-disabled": "测试中…" === e.butText},
            attrs: {href: "javascript:;"},
            on: {click: e.handleTest}
        }, [e._v(e._s(e.butText))])], 1)])]), e._v(" "), i("template", {slot: "footer"}, [i("td-button", {
            on: {click: e.handleOK},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v(e._s("确定"))]), e._v(" "), i("td-button", {
            attrs: {secondary: ""},
            on: {click: e.handleClose}
        }, [e._v(e._s("取消"))])], 1)], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", [i("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog-decrypt",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "xlx-dialog-decrypt__user"}, [i("a", {
            staticClass: "xlx-dialog-decrypt__user-avatar",
            attrs: {href: "javascript:;"},
            on: {click: e.onClickUserInfo}
        }, [i("img", {
            attrs: {
                src: e.userheadURL,
                alt: "头像"
            }
        })]), e._v(" "), i("a", {
            staticClass: "xlx-dialog-decrypt__user-name",
            attrs: {href: "javascript:;"},
            on: {click: e.onClickUserInfo}
        }, [e._v(e._s(e.userName))]), e._v("已加密了这个迅雷口令\n    ")]), e._v(" "), i("div", {staticClass: "xlx-dialog-decrypt__analysis"}, [i("label", {staticClass: "td-input is-warn"}, [i("td-input", {
            attrs: {
                value: e.inputPassword,
                autofocus: "",
                placeholder: "请输入密码"
            }, on: {
                input: e.hanldeInput, keydown: function (t) {
                    return "button" in t || !e._k(t.keyCode, "enter", 13, t.key, "Enter") ? e.handleKeyDown(t) : null
                }
            }
        })], 1), e._v(" "), e.isPasswordError ? i("p", {staticClass: "xlx-dialog-decrypt__note"}, [e._v("密码不正确")]) : e._e()])]), e._v(" "), i("div", {staticClass: "td-dialog__footer"}, [i("div", {staticClass: "td-dialog-footer"}, [i("td-button", {
            attrs: {disabled: 0 === e.inputPassword.length},
            on: {click: e.onCheckPwdAndParse}
        }, [e._v("解析口令")])], 1)])])], 1)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("td-dialog", {
            attrs: {"custom-class": "xlx-dialog-mobile", "footer-enabled": !1, visible: ""},
            on: {close: this.handleCancel}
        }, [t("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [this._v("将资源下载到手机")]), this._v(" "), t("div", {staticClass: "xlx-dialog-mobile__code"}, [t("div", {staticClass: "xlx-dialog-mobile__image"}, [t("canvas", {attrs: {id: "qrcodecanvas"}})]), this._v(" "), t("p", [this._v("使用浏览器或者"), t("span", {staticClass: "xlx-dialog-mobile__text"}, [this._v("手机迅雷")]), this._v(" 扫描")])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xly-dialog-data", "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [i("div", {staticClass: "xly-dialog-user"}, [i("div", {staticClass: "xly-dialog-user__info"}, [i("td-avatar", {
            attrs: {
                src: e.imgUrl,
                alt: "头像",
                draggable: "false"
            }
        }), e._v(" "), i("div", {staticClass: "xly-dialog-user__detail"}, [i("p", {
            staticClass: "xly-dialog-user__name",
            class: {"is-vip": e.isVip}
        }, [e._v("\n          " + e._s(e.userNick) + "\n        ")]), e._v(" "), i("div", {staticClass: "xly-dialog-user__icon"}, [i("i", {class: e.vipClass}), e._v(" "), i("i", {class: e.userYearIcon})])])], 1), e._v(" "), i("div", {staticClass: "xly-dialog-data__speed"}, [i("ul", [i("li", [i("i", {staticClass: "xly-icon xly-icon-download"}), e._v(" "), i("span", [e._v("\n            下载速度：\n            "), i("em", [e._v(e._s(e.downloadSpeed))])])]), e._v(" "), i("li", [i("i", {staticClass: "xly-icon xly-icon-upload"}), e._v(" "), i("span", [e._v("\n            上传速度：\n            "), i("em", [e._v(e._s(e.uploadSpeed))])])])])])]), e._v(" "), i("div", {staticClass: "xly-data"}, [i("div", {staticClass: "xly-data__main"}, [i("h4", [e._v("主要数据")]), e._v(" "), i("ul", [i("li", [i("i", {staticClass: "xly-icon-download"}), e._v(" "), i("p", {staticClass: "data"}, [e._v(e._s(e.todayDownloadSize))]), e._v(" "), i("p", [e._v("今日下载")])]), e._v(" "), i("li", [i("i", {staticClass: "xly-icon-download-total"}), e._v(" "), i("p", {staticClass: "data"}, [e._v(e._s(e.totalDownloadSize))]), e._v(" "), i("p", [e._v("累计下载")])]), e._v(" "), i("li", [i("i", {staticClass: "xly-icon-luky"}), e._v(" "), i("p", {staticClass: "data"}, [e._v(e._s(e.totalProviders))]), e._v(" "), i("p", [e._v("幸运值")])]), e._v(" "), i("li", [i("i", {staticClass: "xly-icon-upload"}), e._v(" "), i("p", {staticClass: "data"}, [e._v(e._s(e.todayUploadSize))]), e._v(" "), i("p", [e._v("今日上传")])]), e._v(" "), i("li", [i("i", {staticClass: "xly-icon-upload-total"}), e._v(" "), i("p", {staticClass: "data"}, [e._v(e._s(e.totalUploadSize))]), e._v(" "), i("p", [e._v("累计上传")])]), e._v(" "), i("li", [i("i", {staticClass: "xly-icon-user"}), e._v(" "), i("p", {staticClass: "data"}, [e._v(e._s(e.totalBenifites))]), e._v(" "), i("p", [e._v("总受益者")])])])]), e._v(" "), i("div", {staticClass: "xly-data__other"}, [i("h4", [e._v("其它数据")]), e._v(" "), i("ul", [i("li", [i("i", {staticClass: "xly-icon-file-1"}), e._v(" "), i("p", {staticClass: "data"}, [e._v(e._s(e.downloadFinishFiles) + "个")]), e._v(" "), i("p", [e._v("下载文件")])]), e._v(" "), i("li", [i("p", {staticClass: "data"}, [i("i", {staticClass: "xly-icon-peak-download"}), e._v(e._s(e.maxDownloadSpeed) + "\n          ")]), e._v(" "), i("p", [e._v("下载峰值")])]), e._v(" "), i("li", [i("p", {staticClass: "data"}, [i("i", {staticClass: "xly-icon-peak-upload"}), e._v(e._s(e.maxUploadSpeed))]), e._v(" "), i("p", [e._v("上传峰值")])])])]), e._v(" "), i("div", {staticClass: "xly-data__other xly-data__other--vip"}, [i("h4", [e._v("会员数据")]), e._v(" "), i("ul", [i("li", {class: {"is-disabled": !e.isVip}}, [i("i", {staticClass: "xly-icon-speed"}), e._v(" "), i("p", {staticClass: "data"}, [e._v(e._s(e.vipAccPercent))]), e._v(" "), i("p", [e._v("会员加速率")])]), e._v(" "), i("li", {class: {"is-disabled": !e.isVip}}, [i("i", {staticClass: "xly-icon-download-total"}), e._v(" "), i("p", {staticClass: "data"}, [e._v(e._s(e.vipDonwloadSize))]), e._v(" "), i("p", [e._v("会员累计下载")])]), e._v(" "), i("li", {class: {"is-disabled": !e.isVip}}, [i("p", {staticClass: "data"}, [i("i", {staticClass: "xly-icon-time"}), e._v(e._s(e.vipSave))]), e._v(" "), i("p", [e._v("累计节省时间")])])]), e._v(" "), i("p", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !e.isVip,
                expression: "!isVip"
            }], staticClass: "xly-data__other-note"
        }, [e._v("您尚未开通迅雷会员，无法统计此项数据")])])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {
                "custom-class": ["xlx-dialog-analysis"],
                "footer-enabled": e.showStart,
                visible: ""
            }, on: {close: e.handleClose}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v(e._s(e.detail ? "下载诊断详情" : "下载诊断"))]), e._v(" "), i("div", {staticClass: "td-dialog__body"}, [e.showStart ? [i("p", {staticClass: "analysis-tips"}, [e._v("全面诊断您的迅雷能否正常工作。如果您遇到“无法下载任何文件、下载速度缓慢、无法登录帐号”等问题，使用本工具能够获得有助于分析问题原因的技术信息。")])] : e.showDetecting ? [i("div", {staticClass: "analysis"}, [i("div", {staticClass: "analysis__hd"}, [e.isDetecting ? i("div", {staticClass: "td-progress"}, [i("div", {staticClass: "xlx-progress__tips"}, [e._v(e._s(e.currentDetectDesc))]), e._v(" "), i("div", {staticClass: "td-progress-bar"}, [i("div", {staticClass: "td-progress-bar__outer"}, [i("div", {
            staticClass: "td-progress-bar__inner",
            style: e.progressStyle
        })])])]) : i("div", {staticClass: "analysis__result-txt"}, [e._v("\n            诊断到\n            "), i("em", [e._v(e._s(e.problemNum))]), e._v("项问题，结果如下：\n          ")]), e._v(" "), i("td-button", {
            attrs: {disabled: e.isDetecting},
            on: {click: e.handleDetectAgain},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v(e._s(e.isDetecting ? "正在诊断 " + e.percent + "%" : "再次诊断"))])], 1), e._v(" "), i("div", {staticClass: "analysis__bd"}, [i("ul", {staticClass: "analysis-list"}, [e._l(e.sortDetectingItems, function (t) {
            return [i("li", {
                key: t.name,
                class: ["analysis__item", e.itemIconClass(t), t.expand ? "is-expand" : ""],
                on: {
                    mouseenter: function (e) {
                        t.showExpand = !0
                    }, mouseleave: function (e) {
                        t.showExpand = !1
                    }, click: function (i) {
                        e.expandItem(t)
                    }
                }
            }, [i("div", {class: ["icon-expand", t.showExpand ? "" : "is-hide"]}), e._v(" "), i("div", {staticClass: "icon-wp"}, [i("i", {staticClass: "xlx-icon"})]), e._v(" "), i("div", {staticClass: "title"}, [e._v(e._s(t.name))]), e._v(" "), i("div", {
                staticClass: "msg",
                attrs: {title: e.getDetectItemMsg(t)}
            }, [e._v(e._s(e.getDetectItemMsg(t)))]), e._v(" "), e.isItemDetectFinish(t) ? i("div", {staticClass: "result"}, [e._v(e._s(e.isItemDetectSuccess(t) ? "正常" : "失败"))]) : e._e()]), e._v(" "), t.expand ? i("li", {
                key: t.name + "_detail",
                staticClass: "analysis__detail",
                on: {
                    mouseenter: function (e) {
                        t.showExpand = !0
                    }, mouseleave: function (e) {
                        t.showExpand = !1
                    }
                }
            }, [i("div", [e._v(e._s(t.detail))])]) : e._e()]
        })], 2), e._v(" "), e.isDetectFinish ? i("a", {
            staticClass: "analysis-detail",
            attrs: {href: "javascript:;"},
            on: {click: e.handleShowDetail}
        }, [e._v("\n            查看诊断详情\n            "), i("i", {staticClass: "td-icon-arrow-right"})]) : e._e()]), e._v(" "), i("div", {staticClass: "analysis__ft"}, [e.localIPInfo && e.localIPInfo.teleCommunications.length > 0 ? i("div", {
            staticClass: "location",
            attrs: {title: e.localIPInfoTitle}
        }, [e._v("\n            所在地：\n            "), i("span", {staticClass: "location-item"}, [e._v(e._s(e.localIPInfo.teleCommunications))]), e._v(" "), e.localIPInfo.localIP.length > 0 ? i("span", {staticClass: "location-item"}, [e._v("（" + e._s(e.localIPInfo.localIP) + "）")]) : e._e()]) : e._e(), e._v(" "), e.isDetectFinish && !e.isDetectSuccess ? i("a", {
            staticClass: "analysis__help",
            attrs: {href: "javascript:;"},
            on: {click: e.handleContactCustomerService}
        }, [e._v("联系客服")]) : e._e()])])] : [i("ul", {staticClass: "analysis-result-list"}, [e.localIPInfo && e.localIPInfo.teleCommunications.length > 0 ? i("li", {staticClass: "analysis-result-item"}, [i("span", {staticClass: "txt"}, [e._v("所在地：")]), e._v(" "), i("span", {staticClass: "txt"}, [e._v(e._s(e.localIPInfo.teleCommunications))]), e._v(" "), i("span", {staticClass: "txt"}, [e._v("（" + e._s(e.localIPInfo.localIP) + "）")])]) : e._e(), e._v(" "), i("li", {staticClass: "analysis-result-item"}, [i("span", {staticClass: "txt"}, [e._v("Windows版本：")]), e._v(" "), i("span", {staticClass: "txt"}, [e._v(e._s(e.osVersion))])]), e._v(" "), i("li", {staticClass: "analysis-result-item"}, [i("span", {staticClass: "txt"}, [e._v("迅雷X版本：")]), e._v(" "), i("span", {staticClass: "txt"}, [e._v(e._s(e.thunderXVersion))])]), e._v(" "), i("li", {staticClass: "analysis-result-item"}, [i("span", {staticClass: "txt"}, [e._v("迅雷下载引擎版本：")]), e._v(" "), i("span", {staticClass: "txt"}, [e._v(e._s(e.downloadSDKVersion))])]), e._v(" "), i("li", {staticClass: "analysis-result-item"}, [i("span", {staticClass: "txt"}, [e._v("当前使用的DNS信息：")]), e._v(" "), i("span", {staticClass: "txt"}), e._v(" "), i("span", {staticClass: "txt"}, [e._v(e._s(e.dnsInfos))])]), e._v(" "), e._l(e.detectAllDetail, function (t, n) {
            return i("li", {
                key: n,
                staticClass: "analysis-result-item"
            }, [i("span", {staticClass: "txt"}, [e._v(e._s(t.date))]), e._v(" "), i("span", {staticClass: "txt"}, [e._v(e._s(t.time))]), e._v(" "), i("span", {staticClass: "txt"}, [e._v(e._s(t.desc))])])
        })], 2), e._v(" "), i("div", {staticClass: "analysis-result-oper"}, [i("a", {
            staticClass: "analysis-back",
            attrs: {href: "javascript:;"},
            on: {click: e.handleDetailReturn},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [i("i", {staticClass: "td-icon-arrow-left"}), e._v("返回\n        ")]), e._v(" "), i("td-button", {
            attrs: {secondary: ""},
            on: {click: e.handleDetailSave},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v("保存")]), e._v(" "), i("td-tooltip", {
            staticStyle: {"padding-left": "10px"},
            attrs: {content: e.copyTipsText, visible: e.isShowCopyTips, placement: "top"}
        }, [i("td-button", {
            on: {click: e.handleDetailCopy}, nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v("复制")])], 1)], 1)]], 2), e._v(" "), e.showStart ? i("template", {slot: "footer"}, [i("td-button", {
            on: {
                click: function (t) {
                    e.handleStartDetect("start_diagnosis")
                }
            }, nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v("开始诊断")])], 1) : e._e()], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {
                "custom-class": ["xly-dialog-filetype-select"],
                "footer-enabled": !1,
                visible: ""
            }, on: {close: e.handleCancel}
        }, [i("div", {staticClass: "xly-filetype-select"}, [i("div", {staticClass: "xly-filetype-select__nav-wp"}, [i("div", {
            ref: "nav",
            staticClass: "xly-filetype-select__nav"
        }, e._l(e.items, function (t, n) {
            return i("a", {
                key: t.label,
                staticClass: "xly-filetype-select__item",
                class: {"is-active": e.selectLabel === t.label},
                attrs: {href: "javascript:;"},
                on: {
                    click: function (i) {
                        e.onSelectChange(t, n)
                    }
                }
            }, [i("span", {
                staticClass: "tab-txt",
                attrs: {title: t.label}
            }, [e._v(e._s(t.label))]), e._v(" "), i("i", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: "自定义" !== t.label,
                    expression: "item.label !== '自定义'"
                }], staticClass: "td-icon-close", on: {
                    click: function (i) {
                        i.stopPropagation(), e.removeFilter(t, n)
                    }
                }
            })])
        }))]), e._v(" "), i("div", {staticClass: "xly-filetype-select__cont-wp"}, [i("ul", {staticClass: "xly-filetype-select__cont"}, [i("li", {staticClass: "xly-filetype-select__pane"}, [i("td-input", {
            class: {"is-warn": e.isWarning},
            attrs: {label: "筛选项名称：", placeholder: "不超过30个字", value: e.editItem.label},
            on: {input: e.handleLabelChange}
        }), e._v(" "), i("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: "" !== e.warningTips1,
                expression: "warningTips1 !== ''"
            }], staticClass: "warning-tips", attrs: {title: e.warningTips1}
        }, [e._v(e._s(e.warningTips1))]), e._v(" "), i("div", {staticClass: "file-condition"}, [i("td-input", {
            attrs: {
                type: "textarea",
                label: "文件名包含：",
                placeholder: "请填写文件名关键词，按回车键换行设置多个关键词",
                value: e.editItem.nameFilterInput
            }, on: {input: e.handleNameFilterChange}
        }), e._v(" "), i("td-input", {
            attrs: {
                type: "textarea",
                label: "扩展名包含：",
                placeholder: "请填写文件扩展名关键词，按回车键换行设置多个关键词",
                value: e.editItem.extFilterInput
            }, on: {input: e.hanleExtFilterChange}
        })], 1), e._v(" "), i("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: "" !== e.warningTips2,
                expression: "warningTips2 !== ''"
            }], staticClass: "warning-tips", attrs: {title: e.warningTips2}
        }, [e._v(e._s(e.warningTips2))]), e._v(" "), i("td-button", {
            attrs: {disabled: !e.saveEnable},
            on: {click: e.onSave}
        }, [e._v("保存")])], 1)])])]), e._v(" "), i("td-message", {
            ref: "message",
            attrs: {type: "success"}
        }, [e._v("\n    " + e._s(e.messageContent) + "\n    "), i("a", {attrs: {href: "javascript:;"}})])], 1)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": ["xlx-dialog-big-file"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("请选择“申请磁盘空间”的方式")]), e._v(" "), n("div", {staticClass: "td-dialog__body"}, [n("p", {staticClass: "tips-txt"}, [e._v("\n      你正在下载的文件较大，如用“传统方式”下载，磁盘将持续处于繁忙状态；现在，迅雷新增\n      "), n("em", [e._v("“快速方式”")]), e._v("，需要使用管理员权限快速申请磁盘空间。建议您选择“快速方式”，并在下一步出现的对话框（如下图）中，\n      "), n("br"), e._v(" "), n("em", [e._v("选择“是”")]), e._v("。\n    ")]), e._v(" "), n("div", {staticClass: "tips-img"}, [n("img", {
            attrs: {
                src: i(768),
                alt: "图片示意"
            }
        })])]), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("td-button", {on: {click: e.handleQuickMode}}, [e._v("快速方式")]), e._v(" "), n("td-button", {
            attrs: {secondary: ""},
            on: {click: e.handleTraditionalMode}
        }, [e._v("传统方式")])], 1), e._v(" "), n("p", {staticClass: "tips-oper"}, [e._v(e._s(e.countDownSeconds) + "s后，默认选择传统方式")])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog-imgdlg",
                visible: "",
                fullscreen: "",
                "footer-enabled": !1
            }, on: {close: this.handleCloseButton}
        }, [t("img", {style: this.imgStyle, attrs: {src: this.imgSrc}})])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {
                visible: "",
                "custom-class": ["xlx-dialog-copy-link-share"],
                "footer-enabled": !1
            }, on: {close: e.handleClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("分享")]), e._v(" "), e.loading ? n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "td-dialog-comfirm"}, [n("div", {staticClass: "td-dialog-comfirm__content"}, [n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("正在生成下载链接……")])])])]) : e.failed ? n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "td-dialog-comfirm"}, [n("span", {staticClass: "td-dialog-comfirm__icon"}, [n("i", {staticClass: "td-icon-error"})]), e._v(" "), n("div", {staticClass: "td-dialog-comfirm__content"}, [n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("生成下载链接失败")])])]), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("button", {
            staticClass: "td-button td-button--secondary",
            on: {click: e.handleRetry}
        }, [e._v("重试")])])])]) : n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "xlx-download-share"}, [n("div", {staticClass: "td-input-button td-input-button--solid"}, [n("span", {staticClass: "td-input__label"}, [e._v("链接分享：")]), e._v(" "), n("label", {staticClass: "td-input"}, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.shareLink,
                expression: "shareLink"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "text", readonly: "readonly"},
            domProps: {value: e.shareLink},
            on: {
                input: function (t) {
                    t.target.composing || (e.shareLink = t.target.value)
                }
            }
        })]), e._v(" "), n("td-button", {
            attrs: {disabled: e.copyBtnDisabled},
            on: {click: e.handleCopyShareLink}
        }, [e._v(e._s(e.copyBtnDisabled ? "复制成功" : "复制链接"))])], 1), e._v(" "), n("div", {staticClass: "xlx-download-share__mode"}, [n("div", {staticClass: "share-mode-figure share-mode-figure--code"}, [n("p", {staticClass: "share-mode-figure__tit"}, [e._v("扫码分享：")]), e._v(" "), n("div", {staticClass: "share-mode-figure__inner"}, [n("div", {staticClass: "share-mode-figure__img"}, [n("canvas", {attrs: {id: "qrcodecanvas"}})]), e._v(" "), n("p", {staticClass: "share-mode-figure__txt"}, [e._v("\n              用\n              "), n("em", [e._v("微信")]), e._v("、\n              "), n("em", [e._v("QQ")]), e._v("扫码\n              "), n("br"), e._v("点击右上角“\n              "), n("i", {staticClass: "dot"}, [e._v("···")]), e._v("”\n              "), n("br"), e._v("分享给好友\n            ")])])]), e._v(" "), n("div", {staticClass: "share-mode-figure share-mode-figure--other"}, [n("p", {staticClass: "share-mode-figure__tit"}, [e._v("其他分享：")]), e._v(" "), n("div", {staticClass: "share-mode-figure__inner"}, [n("a", {
            staticClass: "share-mode-figure",
            attrs: {href: "javascript:;"},
            on: {click: e.handleShareQQ}
        }, [n("div", {staticClass: "share-mode-figure__img"}, [n("img", {
            attrs: {
                src: i(773),
                alt: "QQ"
            }
        })]), e._v(" "), n("p", {staticClass: "share-mode-figure__txt"}, [e._v("QQ")])]), e._v(" "), n("a", {
            staticClass: "share-mode-figure",
            attrs: {href: "javascript:;"},
            on: {click: e.handleShareQQZone}
        }, [n("div", {staticClass: "share-mode-figure__img"}, [n("img", {
            attrs: {
                src: i(774),
                alt: "QQ空间"
            }
        })]), e._v(" "), n("p", {staticClass: "share-mode-figure__txt"}, [e._v("QQ空间")])])])])])])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {staticClass: "xlx-fav"}, [i("td-tabs", {
            attrs: {tabs: e.tabs, "active-key": e.activeKey},
            on: {
                "update:activeKey": function (t) {
                    e.activeKey = t
                }
            },
            scopedSlots: e._u([{
                key: "default", fn: function (t) {
                    var n = t.tab;
                    return ["my_favorites" === n.key ? [0 === e.bookmarks.length ? i("div", {staticClass: "xlx-fav__empty"}, [i("span", {staticClass: "xlx-blank-fav"}), e._v(" "), i("p", [e._v("遇到好的站点，记得及时收藏")])]) : i("div", {staticClass: "xlx-fav__list"}, [i("ul", e._l(e.bookmarks, function (t, n) {
                        return i("li", {
                            key: t.url, on: {
                                click: function (i) {
                                    i.stopPropagation(), e.onFavItemClick(t, n)
                                }, contextmenu: function (i) {
                                    e.onFavItemMenu(t, n)
                                }
                            }
                        }, [i("div", {staticClass: "xlx-fav__picture"}, [t.iconUrl ? i("img", {
                            attrs: {
                                src: t.iconUrl,
                                alt: ""
                            }
                        }) : i("i", {staticClass: "xlx-icon-net"})]), e._v(" "), i("div", {staticClass: "xlx-fav__content"}, [i("p", {staticClass: "title"}, [i("span", {
                            directives: [{
                                name: "show",
                                rawName: "v-show",
                                value: t.top,
                                expression: "bookmark.top"
                            }], staticClass: "tag-top"
                        }, [e._v("顶")]), e._v(" "), i("span", {staticClass: "name"}, [e._v(e._s(t.name))])]), e._v(" "), i("p", {staticClass: "link"}, [e._v(e._s(t.url))])])])
                    }))])] : "history" === n.key ? [0 === e.historys.length ? [i("div", {staticClass: "xlx-fav__empty"}, [i("span", {staticClass: "xlx-blank-record"}), e._v(" "), i("p", [e._v("暂无浏览记录")])])] : [i("div", {staticClass: "xlx-fav__list  xlx-fav__list--record"}, [e._l(e.historysDates, function (t, n) {
                        return [i("p", {
                            key: t + "time",
                            staticClass: "xlx-fav__time"
                        }, [e._v(e._s(e.dateDisplay(t)))]), e._v(" "), i("ul", {key: t}, e._l(e.historysMaps[t], function (t, r) {
                            return i("li", {
                                key: t.url, on: {
                                    click: function (i) {
                                        i.stopPropagation(), e.onHistoryClick(t)
                                    }, contextmenu: function (i) {
                                        e.onHistoryItemMenu(t, r, n)
                                    }
                                }
                            }, [i("div", {staticClass: "xlx-fav__picture"}, [t.iconUrl ? i("img", {
                                attrs: {
                                    src: t.iconUrl,
                                    alt: ""
                                }
                            }) : i("i", {staticClass: "xlx-icon-net"})]), e._v(" "), i("div", {staticClass: "xlx-fav__content"}, [i("p", {staticClass: "title"}, [i("span", {staticClass: "name"}, [e._v(e._s(t.name))])]), e._v(" "), i("p", {staticClass: "link"}, [e._v(e._s(t.url))])])])
                        }))]
                    }), e._v(" "), e.hasMore ? i("a", {
                        staticClass: "xlx-fav__link",
                        attrs: {href: "javascript:;"},
                        on: {click: e.onLoadMore}
                    }, [e._v("查看更多 "), i("i", {staticClass: "td-icon-arrow-down"})]) : i("p", {staticClass: "xlx-fav__text"}, [e._v("没有更多了")])], 2), e._v(" "), i("div", {staticClass: "xlx-fav__clear"}, [i("a", {
                        attrs: {href: "javascript:;"},
                        on: {click: e.onClearHistorys}
                    }, [i("i", {staticClass: "xlx-icon-delete-comment"}), e._v("全部清空 ")])])]] : e._e()]
                }
            }])
        }), e._v(" "), i("td-message", {
            ref: "message",
            attrs: {type: e.messageType}
        }, [e._v("\n    " + e._s(e.messageContent) + "\n    "), i("a", {attrs: {href: "javascript:;"}})])], 1)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xly-dialog-login", visible: ""}, on: {
                close: function (t) {
                    e.handleClose("close")
                }
            }
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("下载该任务需要登录此站点")]), e._v(" "), i("p", {staticClass: "xly-dialog-login__tips"}, [e._v(e._s(e.options.site))]), e._v(" "), i("ul", [i("li", {staticClass: "xly-dialog-login__item"}, [i("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top", offset: {x: 60}}
        }, [i("td-input", {
            attrs: {maxlength: "50", label: "用户名", placeholder: "请填写用户名"},
            model: {
                value: e.username, callback: function (t) {
                    e.username = t
                }, expression: "username"
            }
        })], 1)], 1), e._v(" "), i("li", {staticClass: "xly-dialog-login__item"}, [i("td-input", {
            attrs: {
                maxlength: "50",
                label: "密码",
                placeholder: "密码"
            }, model: {
                value: e.password, callback: function (t) {
                    e.password = t
                }, expression: "password"
            }
        })], 1)]), e._v(" "), i("div", {
            staticClass: "xly-dialog__footer",
            attrs: {slot: "footer"},
            slot: "footer"
        }, [i("div", {staticClass: "xly-dialog__button"}, [i("td-button", {
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleOK(t)
                }
            }
        }, [e._v("登录")]), e._v(" "), i("td-button", {
            staticClass: "td-button--other", on: {
                click: function (t) {
                    e.handleClose("cancel")
                }
            }
        }, [e._v("取消")])], 1)])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog-content",
                "footer-enabled": !e.showGuide,
                visible: ""
            }, on: {close: e.handleCancel}
        }, [e.showGuide ? [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("遥控电脑需安装手机迅雷")]), e._v(" "), n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "xlx-dialog-content__main"}, [n("ul", [n("li", {staticClass: "xlx-dialog-content__item"}, [n("p", {staticClass: "title"}, [n("span", {staticClass: "number"}, [e._v("1")]), e._v(" 未安装手机迅雷APP扫码下载\n            ")]), e._v(" "), n("div", {staticClass: "code"}, [n("canvas", {attrs: {id: "qrcodecanvas"}})])]), e._v(" "), n("li", {staticClass: "xlx-dialog-content__item"}, [n("p", {staticClass: "title"}, [n("span", {staticClass: "number"}, [e._v("2")]), e._v(" 已安装手机迅雷APP\n              "), n("span", {staticClass: "tips"}, [e._v("(请使用6.19及以上版本）")])]), e._v(" "), n("div", {staticClass: "xlx-dialog-content__step"}, [n("ul", [n("li", [n("span", [e._v("打开APP")]), e._v(" "), n("div", {staticClass: "detail"}, [n("div", {staticClass: "detail__image"}, [n("img", {
            attrs: {
                src: i(781),
                alt: ""
            }
        })]), e._v(" "), n("p", [e._v("迅雷")])]), e._v(" "), n("span", {staticClass: "icon-arrow"})]), e._v(" "), n("li", [n("span", [e._v("选择")]), e._v(" "), n("div", {staticClass: "detail"}, [n("div", {staticClass: "detail__image"}, [n("img", {
            attrs: {
                src: i(782),
                alt: ""
            }
        })]), e._v(" "), n("p", [e._v("我的")])]), e._v(" "), n("span", {staticClass: "icon-arrow"})]), e._v(" "), n("li", [n("span", [e._v("点击")]), e._v(" "), n("div", {staticClass: "detail"}, [n("div", {staticClass: "detail__image"}, [n("img", {
            attrs: {
                src: i(783),
                alt: "遥控电脑"
            }
        })]), e._v(" "), n("p", [e._v("遥控电脑")])])])])])])])])])] : "offline" === e.state ? [n("template", {slot: "header"}, [n("h2", [e._v("手机遥控下载")]), e._v(" "), n("p", [e._v("随时随地添加下载任务，查看下载记录")])]), e._v(" "), n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "xlx-dialog-content__demo"}, [n("img", {
            attrs: {
                src: i(784),
                alt: "教程"
            }
        })])]), e._v(" "), n("a", {
            staticClass: "td-button td-button--large",
            attrs: {slot: "footer", href: "javascript:;"},
            on: {click: e.handleOpen},
            slot: "footer"
        }, [e._v("开启手机遥控")])] : "online" === e.state ? [n("template", {slot: "header"}, [n("h2", [e._v("手机迅雷遥控中")]), e._v(" "), n("p", [e._v("退出手机或者电脑任意账户，控制结束")])]), e._v(" "), n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "xlx-dialog-content__demo"}, [n("img", {
            attrs: {
                src: i(785),
                alt: "教程"
            }
        })])]), e._v(" "), n("a", {
            staticClass: "td-button td-button--large",
            attrs: {slot: "footer", href: "javascript:;"},
            on: {click: e.handleOk},
            slot: "footer"
        }, [e._v("知道了")])] : e._e()], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog-content xlx-dialog-trans",
                "footer-enabled": !1,
                visible: ""
            }, on: {close: e.handleCancel}
        }, [n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "xlx-dialog-trans__wp"}, [n("div", {staticClass: "xlx-dialog-trans__txt"}, [n("h2", {staticClass: "title"}, [e._v("传文件到手机")]), e._v(" "), n("div", {staticClass: "mobile-step"}, [n("p", {staticClass: "step"}, [e._v("\n            请确保手机和电脑连接在\n            "), n("em", [e._v("同一wifi")])]), e._v(" "), n("p", {staticClass: "step"}, [n("a", {
            attrs: {href: "javascript:;"},
            on: {click: e.popupDownloadShoulei}
        }, [e._v("更新")]), e._v("安卓手机迅雷至6.20并\n            "), n("em", [e._v("扫描二维码")])])]), e._v(" "), n("div", {staticClass: "tips"}, [e._v("（当不处于同一wifi下时，将进行普通下载）")])]), e._v(" "), n("div", {staticClass: "xlx-dialog-trans__img"}, [n("div", {staticClass: "xlx-dialog-trans__code"}, [e.qrcodeFailed ? n("p", {staticClass: "error-tips"}, [e._v("刷新获取二维码或检查路由连接情况")]) : n("canvas", {attrs: {id: "qrcodecanvas"}})]), e._v(" "), n("a", {
            staticClass: "code-oper",
            attrs: {href: "javascript:;"}
        }, [e._v("\n          扫码传送\n          "), n("i", {
            staticClass: "xlx-icon-replay",
            on: {click: e.handleRefreshQRCode}
        })]), e._v(" "), n("img", {attrs: {src: i(787), alt: ""}})])])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": "xly-dialog-speed", visible: ""}, on: {
                close: function (t) {
                    e.handleCancel(e.action.Close)
                }
            }
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v(e._s(e.options.title))]), e._v(" "), i("div", {staticClass: "xly-dialog-speed__speed"}, [i("ul", [i("li", {staticClass: "xly-dialog-speed__item"}, [i("td-checkbox", {
            attrs: {value: e.formData.maxDownloadSpeedEnabled.value},
            on: {
                input: function (t) {
                    return e.handleInput(t, "maxDownloadSpeedEnabled")
                }
            }
        }, [e._v("最大下载速度")]), e._v(" "), i("div", {staticClass: "xly-dialog-speed__content"}, [i("td-slider", {
            attrs: {
                disabled: !e.formData.maxDownloadSpeedEnabled.value,
                value: e.formData.maxDownloadSpeed.value,
                scales: [60, 500, 1024, 5120, 51200],
                marks: ["60KB", "500KB", "1MB", "5MB", "50MB"]
            }, on: {
                input: function (t) {
                    return e.handleInput(t, "maxDownloadSpeed")
                }
            }
        }), e._v(" "), i("div", {staticClass: "xly-dialog-speed__input"}, [i("limit-input", {
            attrs: {
                placement: "left",
                min: 60,
                max: 51200,
                isNumber: !0,
                readonly: !e.formData.maxDownloadSpeedEnabled.value,
                value: e.formData.maxDownloadSpeed.value
            }, on: {
                input: function (t, i) {
                    return e.handleInput(i || t, "maxDownloadSpeed")
                }
            }
        }), e._v(" "), i("span", {staticClass: "xly-dialog-speed__text"}, [e._v("KB/s")])], 1)], 1)], 1), e._v(" "), i("li", {staticClass: "xly-dialog-speed__item"}, [i("td-checkbox", {
            attrs: {value: e.formData.maxUploadSpeedEnabled.value},
            on: {
                input: function (t) {
                    return e.handleInput(t, "maxUploadSpeedEnabled")
                }
            }
        }, [e._v("最大上传速度")]), e._v(" "), i("div", {staticClass: "xly-dialog-speed__content"}, [i("td-slider", {
            attrs: {
                disabled: !e.formData.maxUploadSpeedEnabled.value,
                value: e.formData.maxUploadSpeed.value,
                scales: [30, 100, 200, 1024, 2048],
                marks: ["30KB", "100KB", "200KB", "1MB", "2MB"]
            }, on: {
                input: function (t) {
                    return e.handleInput(t, "maxUploadSpeed")
                }
            }
        }), e._v(" "), i("div", {staticClass: "xly-dialog-speed__input"}, [i("limit-input", {
            attrs: {
                placement: "left",
                min: 30,
                max: 2048,
                isNumber: !0,
                readonly: !e.formData.maxUploadSpeedEnabled.value,
                value: e.formData.maxUploadSpeed.value
            }, on: {
                input: function (t, i) {
                    return e.handleInput(i || t, "maxUploadSpeed")
                }
            }
        }), e._v(" "), i("span", {staticClass: "xly-dialog-speed__text"}, [e._v("KB/s")])], 1)], 1)], 1), e._v(" "), i("li", {staticClass: "xly-dialog-speed__item"}, [i("td-checkbox", {
            attrs: {value: e.formData.limitTimeEnabled.value},
            on: {
                input: function (t) {
                    return e.handleInput(t, "limitTimeEnabled")
                }
            }
        }, [e._v("限速下载时间段")]), e._v(" "), i("div", {staticClass: "xly-dialog-speed__time"}, [i("ul", [i("li", {staticClass: "xly-dialog-speed__item xly-dialog-speed__item--flex"}, [i("span", {staticClass: "xly-dialog-speed__text"}, [e._v("开始限速时间")]), e._v(" "), i("select-native", {
            attrs: {
                options: e.hours,
                disabled: !e.formData.limitTimeEnabled.value,
                value: e.formData.limitTime[0].value.toString()
            }, on: {
                input: function (t) {
                    return e.handleLimitInput(t, 0)
                }
            }
        }), e._v(" "), i("span", {staticClass: "xly-dialog-speed__text"}, [e._v("时")]), e._v(" "), i("select-native", {
            attrs: {
                options: e.minutes,
                disabled: !e.formData.limitTimeEnabled.value,
                value: e.formData.limitTime[1].value.toString()
            }, on: {
                input: function (t) {
                    return e.handleLimitInput(t, 1)
                }
            }
        }), e._v(" "), i("span", {staticClass: "xly-dialog-speed__text"}, [e._v("分")])], 1), e._v(" "), i("li", {staticClass: "xly-dialog-speed__item xly-dialog-speed__item--flex"}, [i("span", {staticClass: "xly-dialog-speed__text"}, [e._v("结束限速时间")]), e._v(" "), i("select-native", {
            attrs: {
                options: e.hours,
                disabled: !e.formData.limitTimeEnabled.value,
                value: e.formData.limitTime[2].value.toString()
            }, on: {
                input: function (t) {
                    return e.handleLimitInput(t, 2)
                }
            }
        }), e._v(" "), i("span", {staticClass: "xly-dialog-speed__text"}, [e._v("时")]), e._v(" "), i("select-native", {
            attrs: {
                options: e.minutes,
                disabled: !e.formData.limitTimeEnabled.value,
                value: e.formData.limitTime[3].value.toString()
            }, on: {
                input: function (t) {
                    return e.handleLimitInput(t, 3)
                }
            }
        }), e._v(" "), i("span", {staticClass: "xly-dialog-speed__text"}, [e._v("分")])], 1)])])], 1)])]), e._v(" "), i("div", {
            staticClass: "xly-dialog__footer",
            attrs: {slot: "footer"},
            slot: "footer"
        }, [i("div", {staticClass: "xly-dialog__button"}, [i("td-button", {on: {click: e.handleOK}}, [e._v("确定")]), e._v(" "), i("td-button", {
            staticClass: "td-button--other",
            on: {
                click: function (t) {
                    e.handleCancel(e.action.Cancel)
                }
            }
        }, [e._v("取消")])], 1)])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {staticClass: "xly-viewer"}, [i("div", {
            staticClass: "xly-viewer__header",
            staticStyle: {"-webkit-app-region": "drag"}
        }, [i("div", {
            staticClass: "xly-viewer__operate",
            staticStyle: {"-webkit-app-region": "no-drag"}
        }, [i("a", {
            attrs: {title: "最小化"},
            on: {click: e.minimizeWindow}
        }, [i("i", {staticClass: "xly-icon-minimize-small"})]), e._v(" "), i("a", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !e.isMax,
                expression: "!isMax"
            }], attrs: {title: "最大化"}, on: {
                click: function (t) {
                    e.resizeWindow("maximize")
                }
            }
        }, [i("i", {staticClass: "xly-icon-maximize-small"})]), e._v(" "), i("a", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.isMax,
                expression: "isMax"
            }], attrs: {title: "还原"}, on: {
                click: function (t) {
                    e.resizeWindow("reduce")
                }
            }
        }, [i("i", {staticClass: "xly-icon-reduce-small"})]), e._v(" "), i("a", {on: {click: e.closeWindow}}, [i("i", {
            staticClass: "xly-icon-close-small",
            attrs: {title: "关闭"}
        })])])]), e._v(" "), i("div", {
            ref: "viewerBody",
            staticClass: "xly-viewer__body",
            on: {
                mousewheel: function (t) {
                    return t.ctrlKey ? t.shiftKey || t.altKey || t.metaKey ? null : e.handleCtrlScroll(t) : null
                }
            }
        }, [i("img", {
            ref: "image",
            style: "cursor:" + e.cursor + ";\n      left:" + e.left + "%;\n      top:" + e.top + "%;\n      width:" + e.showWidth * e.scale + "px;\n      height:" + e.showHeight * e.scale + "px;",
            attrs: {src: e.imgSrc, alt: ""},
            on: {click: e.resume, mousemove: e.onMouseMove, load: e.imgLoaded}
        })]), e._v(" "), i("div", {staticClass: "xly-viewer__footer"}, [i("a", {attrs: {href: "JavaScript:;"}}, [i("i", {
            staticClass: "xly-icon-magnify",
            class: {"is-disabled": e.scale > 4.9},
            on: {click: e.onZoomIn}
        })]), e._v(" "), i("a", {attrs: {href: "JavaScript:;"}}, [i("i", {
            staticClass: "xly-icon-minify",
            class: {"is-disabled": e.scale < .2},
            on: {click: e.onZoomOut}
        })]), e._v(" "), e.isResume ? i("a", {
            attrs: {
                href: "JavaScript:;",
                title: "最佳比例"
            }
        }, [i("i", {
            staticClass: "xly-icon-ratio-optimal",
            on: {click: e.resume}
        })]) : i("a", {attrs: {href: "JavaScript:;", title: "实际大小"}}, [i("i", {
            staticClass: "xly-icon-ratio",
            on: {click: e.resume}
        })])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, , , , , , , , , , , , , function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this.$createElement;
        return (this._self._c || e)(this.item.type, {
            tag: "component",
            style: this.item.styles,
            attrs: {item: this.item, label: this.item.label, formData: this.formData, value: this.value},
            on: {input: this.handleInput}
        })
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("select-native", {
            attrs: {
                editable: "",
                value: e.value,
                placeholder: "请选择下载目录",
                options: e.options,
                appendDirs: e.appendDirs,
                defaultDir: e.defaultDir
            }, on: {input: e.handleInput, "choose-file": e.handleChangePath}, nativeOn: {
                contextmenu: function (t) {
                    return e.handleContextMenu(t)
                }
            }
        }, [i("span", {
            staticClass: "xlx-file-size",
            class: e.spaceColor,
            attrs: {slot: "suffix"},
            slot: "suffix"
        }, [e._v(e._s(e.freeSpaceFormat))]), e._v(" "), i("a", {
            staticClass: "xly-select__file",
            attrs: {slot: "suffix", href: "javascript:;"},
            on: {click: e.handleChangePath},
            slot: "suffix"
        }, [i("i", {staticClass: "xly-icon-file"})])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {staticClass: "xlx-skin-try"}, [i("div", {staticClass: "xlx-skin-try__mod"}, [i("div", {staticClass: "xlx-skin-try__imgbox"}, [i("img", {attrs: {src: e.guideSrc}})]), e._v(" "), i("p", {staticClass: "xlx-skin-try__tit"}, [e._v(e._s(e.tryTitle))]), e._v(" "), i("p", {staticClass: "xlx-skin-try__desc"}, [e._v("更有下载加速、网游加速、免费观影等多项特权")]), e._v(" "), i("a", {
            class: e.openBtnClass,
            attrs: {href: "javascript:;"},
            on: {click: e.onClickOpenVip}
        }, [e._v(e._s(e.tryBtnText))]), e._v(" "), i("a", {
            staticClass: "xlx-skin-close",
            attrs: {href: "javascript:;", title: "关闭"},
            on: {click: e.closeCover}
        })])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", [i("div", {staticClass: "xlx-skin-color"}, [i("ul", e._l(e.colorList.slice(1), function (t, n) {
            return i("li", {
                key: t.id,
                staticClass: "xlx-skin-color__item",
                class: {"is-chosen": e.isChosen(e.skinType.Color, t)},
                style: {background: "rgb(" + t.colors.colorPreview + ")"},
                on: {
                    click: function (i) {
                        e.setSkinInfo(e.skinType.Color, t, n)
                    }
                }
            })
        }))]), e._v(" "), i("div", {staticClass: "xlx-skin-picture"}, [i("ul", [i("li", {
            staticClass: "xlx-skin-picture__item",
            class: {"is-chosen": e.isChosen(e.skinType.Default)},
            style: {backgroundImage: "url(" + e.defaultPreview + ")"},
            on: {
                click: function (t) {
                    e.setSkinInfo(e.skinType.Default, null, 0)
                }
            }
        }, [i("p", {staticClass: "xlx-skin-picture__name"}, [e._v("默认皮肤")])]), e._v(" "), e._l(e.wallpapers, function (t, n) {
            return i("li", {
                key: t.id,
                staticClass: "xlx-skin-picture__item",
                class: {"is-chosen": e.isChosen(e.skinType.Wallpaper, t)},
                style: {backgroundImage: "url('" + t.preview + "')"},
                on: {
                    click: function (i) {
                        e.setSkinInfo(e.skinType.Wallpaper, t, n + 11)
                    }
                }
            }, [i("p", {staticClass: "xlx-skin-picture__name"}, [e._v(e._s(t.name))]), e._v(" "), i("div", {staticClass: "xlx-skin__tag-wrapper"}, [t.is_vip ? i("span", {staticClass: "xlx-skin__tag xlx-skin__tag--vip"}, [e._v("会员")]) : e._e(), e._v(" "), t.is_dynamic ? i("span", {staticClass: "xlx-skin__tag"}, [e._v("动态")]) : e._e(), e._v(" "), t.is_4k ? i("span", {staticClass: "xlx-skin__tag"}, [e._v("4K")]) : e._e()]), e._v(" "), t.showNew ? i("i", {staticClass: "xlx-skin__new"}) : e._e()])
        })], 2)]), e._v(" "), i("td-dialog", {
            staticStyle: {"z-index": "1000"},
            attrs: {"custom-class": "xlx-dialog-skin-popup", visible: e.updateDialogVisible},
            on: {
                "update:visible": function (t) {
                    e.updateDialogVisible = t
                }
            }
        }, [i("span", {staticClass: "xlx-image-update"}), e._v(" "), i("p", {staticClass: "xlx-dialog-skin-popup__text-1"}, [e._v("升级新版客户端，体验动态皮肤")]), e._v(" "), i("p", {staticClass: "xlx-dialog-skin-popup__text-2"}, [e._v("还有私人空间、迅雷社区20多项新功能")]), e._v(" "), i("td-button", {
            attrs: {slot: "footer"},
            on: {click: e.updateApp},
            slot: "footer"
        }, [e._v("马上升级")])], 1), e._v(" "), i("td-dialog", {
            staticStyle: {"z-index": "1000"},
            attrs: {"custom-class": "xlx-dialog-skin-popup", visible: e.vipDialogVisible},
            on: {
                "update:visible": function (t) {
                    e.vipDialogVisible = t
                }, close: function (t) {
                    e.$emit("restore-skin")
                }
            }
        }, [i("span", {staticClass: "xlx-image-vip"}), e._v(" "), i("p", {staticClass: "xlx-dialog-skin-popup__text-1"}, [e._v("开通迅雷会员尊享品质皮肤")]), e._v(" "), i("p", {staticClass: "xlx-dialog-skin-popup__text-2"}, [e._v("更有会员加速、离线空间等30多项特权")]), e._v(" "), i("template", {slot: "footer"}, [i("td-button", {
            staticClass: "xlx-button--vip",
            on: {click: e.openVip}
        }, [e._v("开通会员")]), e._v(" "), e.isLogined ? e._e() : i("a", {
            staticClass: "xlx-dialog-skin__link",
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    e.showloginDlg("vipDialog")
                }
            }
        }, [e._v("会员登录")])], 1)], 2), e._v(" "), i("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.loginLayerVisible,
                expression: "loginLayerVisible"
            }], staticClass: "xlx-skin-cover", staticStyle: {position: "fixed"}
        }, [i("div", {
            staticClass: "xlx-skin__chosen",
            style: {background: "rgb(" + e.sget(e.colorItem, "colors", "colorPreview") + ")"}
        }, [e.skinInfo.type === e.skinType.Color ? i("span", {staticClass: "xlx-image-color"}) : e.skinInfo.type === e.skinType.Wallpaper ? i("img", {
            attrs: {
                src: e.sget(e.wallpaper, "preview"),
                alt: e.sget(e.wallpaper, "name")
            }
        }) : e._e()]), e._v(" "), i("h3", [e._v("登录后即可使用该皮肤哦！")]), e._v(" "), i("td-button", {
            on: {
                click: function (t) {
                    e.showloginDlg("loginLayer")
                }
            }
        }, [e._v("立即登录")]), e._v(" "), i("a", {
            staticClass: "xlx-skin-cover__close",
            attrs: {href: "javascript:;", title: "关闭"},
            on: {click: e.closeLoginLayer}
        }, [i("td-icon", {attrs: {type: "close"}})], 1)], 1)], 1)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", [i("div", {staticClass: "xlx-skin-super-box"}, [i("div", {staticClass: "xlx-skin-super-title"}, [i("em", [e._v("移动皮肤")]), e._v(" "), i("td-tooltip", {
            attrs: {
                content: "拖动客户端窗口，皮肤可以随之移动",
                offset: {x: -2, y: -2},
                trigger: "hover",
                visible: !1,
                placement: "right"
            }
        }, [i("i", {staticClass: "xlx-skin-super-icon-question"})])], 1), e._v(" "), i("div", {staticClass: "xlx-skin-picture xlx-skin-picture2"}, [i("ul", e._l(e.wallpapers, function (t, n) {
            return i("li", {
                key: t.id,
                staticClass: "xlx-skin-picture__item",
                class: {"is-chosen": e.isChosen(e.skinType.Cool, t)},
                style: {backgroundImage: "url('" + t.preview + "')"},
                on: {
                    click: function (i) {
                        e.setSkinInfo(e.skinType.Cool, t, n)
                    }
                }
            }, [i("p", {staticClass: "xlx-skin-picture__name"}, [e._v(e._s(t.name))]), e._v(" "), i("div", {staticClass: "xlx-skin__tag-wrapper"}, [t.is_svip ? i("span", {staticClass: "xlx-skin__tag xlx-skin__tag--svip"}, [e._v("SVIP")]) : t.is_vip ? i("span", {staticClass: "xlx-skin__tag xlx-skin__tag--vip"}, [e._v("VIP")]) : e._e(), e._v(" "), t.is_dynamic ? i("span", {staticClass: "xlx-skin__tag"}, [e._v("动态")]) : e._e(), e._v(" "), t.is_4k ? i("span", {staticClass: "xlx-skin__tag"}, [e._v("4K")]) : e._e()]), e._v(" "), t.showNew ? i("i", {staticClass: "xlx-skin__new"}) : e._e()])
        }))]), e._v(" "), i("div", {staticClass: "xlx-skin-super-title"}, [i("em", [e._v("摇一摇特效")]), e._v(" "), i("td-tooltip", {
            attrs: {
                content: "来回晃动客户端窗口，出现下雪等特效",
                offset: {x: -2, y: -2},
                trigger: "hover",
                visible: !1,
                placement: "right"
            }
        }, [i("i", {staticClass: "xlx-skin-super-icon-question"})])], 1), e._v(" "), i("div", {staticClass: "xlx-skin-picture xlx-skin-picture3"}, [i("ul", [i("li", {
            staticClass: "xlx-skin-picture__item",
            class: {"is-chosen": e.isShakeChose(e.skinType.Cool)},
            style: {backgroundImage: "url(" + e.noEffectPreview + ")"},
            on: {
                click: function (t) {
                    e.setShakeInfo(e.skinType.Cool, null, 0)
                }
            }
        }, [i("p", {staticClass: "xlx-skin-picture__name"}, [e._v("无特效")])]), e._v(" "), e._l(e.shakes, function (t, n) {
            return i("li", {
                key: t.id,
                staticClass: "xlx-skin-picture__item",
                class: {"is-chosen": e.isShakeChose(e.skinType.Cool, t)},
                style: {backgroundImage: "url('" + t.preview + "')"},
                on: {
                    click: function (i) {
                        e.setShakeInfo(e.skinType.Cool, t, n + 1)
                    }
                }
            }, [i("p", {staticClass: "xlx-skin-picture__name"}, [e._v(e._s(t.name))]), e._v(" "), i("div", {staticClass: "xlx-skin__tag-wrapper"}, [t.is_svip ? i("span", {staticClass: "xlx-skin__tag xlx-skin__tag--svip"}, [e._v("SVIP")]) : t.is_vip ? i("span", {staticClass: "xlx-skin__tag xlx-skin__tag--vip"}, [e._v("VIP")]) : e._e(), e._v(" "), t.is_dynamic ? i("span", {staticClass: "xlx-skin__tag"}, [e._v("动态")]) : e._e(), e._v(" "), t.is_4k ? i("span", {staticClass: "xlx-skin__tag"}, [e._v("4K")]) : e._e()]), e._v(" "), t.showNew ? i("i", {staticClass: "xlx-skin__new"}) : e._e()])
        })], 2)])])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {staticClass: "xlx-skin-picture xlx-skin-picture--speed"}, [i("ul", [i("li", {
            staticClass: "xlx-skin-picture__item",
            class: {"is-chosen": e.skinInfo.type === e.skinType.Default},
            style: {backgroundImage: "url(" + e.defaultPreview + ")"},
            on: {
                click: function (t) {
                    e.changeSkin(e.defaultSkinInfo)
                }
            }
        }, [i("p", {staticClass: "xlx-skin-picture__name"}, [e._v("默认皮肤")])]), e._v(" "), e._l(e.skins, function (t) {
            return i("li", {
                key: t.id,
                staticClass: "xlx-skin-picture__item",
                class: {"is-chosen": e.skinInfo.id === t.id},
                style: {backgroundImage: "url('" + t.previewSavePath + "')"},
                on: {
                    click: function (i) {
                        e.changeSkin(t)
                    }
                }
            }, [i("div", {staticClass: "xlx-skin__tag-wrapper"}, [t.type === e.skinType.Vip ? i("span", {staticClass: "xlx-skin__tag xlx-skin__tag--vip"}, [e._v("VIP")]) : t.type === e.skinType.SuperVip ? i("span", {staticClass: "xlx-skin__tag xlx-skin__tag--svip"}, [e._v("SVIP")]) : e._e()]), e._v(" "), i("p", {staticClass: "xlx-skin-picture__name"}, [e._v(e._s(t.name))])])
        })], 2)])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {staticClass: "xlx-skin-picture xlx-skin-picture--suspension"}, [i("ul", [i("li", {
            staticClass: "xlx-skin-picture__item",
            class: {"is-chosen": e.skinInfo.type === e.skinType.Default},
            style: {backgroundImage: "url(" + e.normalIcon + ")"},
            on: {
                click: function (t) {
                    e.changeSkin(e.defaultSkinInfo)
                }
            }
        }), e._v(" "), i("li", {
            staticClass: "xlx-skin-picture__item",
            class: {"is-chosen": e.skinInfo.type === e.skinType.Vip},
            style: {backgroundImage: "url(" + e.vipIcon + ")"},
            on: {
                click: function (t) {
                    e.changeSkin(e.vipSkinInfo)
                }
            }
        }, [e._m(0)])])])
    }, r = [function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {staticClass: "xlx-skin__tag-wrapper"}, [t("span", {staticClass: "xlx-skin__tag xlx-skin__tag--vip"}, [this._v("VIP")])])
    }];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {staticClass: "xlx-skin__expect"}, [this.isError ? t("div", {staticClass: "error-page"}, [this._m(0), this._v(" "), t("div", {staticClass: "error-button"}, [t("td-button", {on: {click: this.refresh}}, [this._v("刷新")])], 1)]) : t("div", {staticClass: "xlx-dialog-loading__load"}, [t("i", {staticClass: "td-icon-load"}), this._v(" "), t("p", [this._v("正在加载...")])])])
    }, r = [function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {staticClass: "error-main"}, [t("div", {staticClass: "pic-error"}), this._v(" "), t("h1", [this._v("您访问的网站飞到了外太空")]), this._v(" "), t("p")])
    }];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, , , , , , , function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {class: e.item.outerClass}, [i("td-checkbox", {
            attrs: {value: !(0 == e.formData[e.item.name].value)},
            on: {input: e.handleInput}
        }, [e._v("\n    " + e._s(e.item.label) + "\n  ")]), e._v(" "), e._l(e.item.extEles, function (t) {
            return [i(t.type, {
                key: t.name,
                tag: "component",
                attrs: {
                    item: t,
                    classes: t.classes,
                    text: t.text,
                    formData: e.formData,
                    name: t.name,
                    disabled: !e.formData[e.item.name].value,
                    value: e.formData[t.name]
                },
                on: {input: e.handleInput}
            })]
        }), e._v(" "), e.item.tip ? i("p", {class: e.item.tipClass}, [e._v("\n    " + e._s(e.item.tip) + "\n  ")]) : e._e()], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {class: e.item.outerClass}, [e.item.listEles ? [e._l(e.item.listEles, function (t) {
            return [i("td-button", {
                key: t.name,
                class: e.classes || t.classes,
                style: t.style || "",
                attrs: {disabled: e.disabled || t.bindName && !e.formData[t.bindName].value},
                on: {
                    click: function (i) {
                        e.popDialog(t)
                    }
                }
            }, [e._v(e._s(e.text || t.text))])]
        })] : [i("td-button", {
            class: e.classes || e.item.classes,
            style: e.item.style || "",
            attrs: {disabled: e.disabled || e.item.bindName && !e.formData[e.item.bindName].value},
            on: {
                click: function (t) {
                    e.popDialog(e.item)
                }
            }
        }, [e._v(e._s(e.text || e.item.text))])], e._v(" "), e._l(e.item.extEles, function (t) {
            return [i(t.type, {
                key: t.name,
                tag: "component",
                class: t.classes,
                style: t.style || "",
                attrs: {item: t, text: t.text, formData: e.formData}
            })]
        })], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {class: e.item.classes}, [i("p", [e._v("\n    限速时间段：\n    " + e._s(e.standardNumber(e.formData["ConfigNet-ConfigNet_Custom_Time_Begin_Hour"].value)) + ":\n    " + e._s(e.standardNumber(e.formData["ConfigNet-ConfigNet_Custom_Time_Begin_Minute"].value)) + "-" + e._s(e.standardNumber(e.formData["ConfigNet-ConfigNet_Custom_Time_End_Hour"].value)) + ":\n    " + e._s(e.standardNumber(e.formData["ConfigNet-ConfigNet_Custom_Time_End_Minute"].value)) + " \n    最大下载速度: " + e._s(e.maxDownloadSpeed) + "   \n    最大上传速度: " + e._s(e.maxUploadSpeed) + "\n  ")])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {
            class: e.item.outerClass,
            style: e.item.style
        }, ["" !== e.label ? i("span", [e._v(e._s(e.label))]) : e._e(), e._v(" "), i("td-tooltip", {
            attrs: {
                content: e.tipContent,
                visible: e.tooltipVisible,
                placement: "top"
            }
        }, [i("select-native", {
            ref: "root",
            class: e.classes || e.item.classes,
            attrs: {
                value: e.valueData,
                options: e.optionList || e.item.option,
                placeholder: e.placeHolder || e.formData[e.item.name].value + "",
                editable: e.item.editable,
                disabled: e.disabled
            },
            on: {input: e.validate, blur: e.handleOutFocus, "choose-file": e.selectPath}
        }, ["openFile" === e.item.slotOption || "openDirectory" === e.item.slotOption || "openThunderPan" === e.item.slotOption ? i("a", {
            staticClass: "xly-select__file",
            attrs: {slot: "suffix", href: "javascript:;"},
            on: {
                click: function (t) {
                    e.handleChangePath(e.item.slotOption)
                }
            },
            slot: "suffix"
        }, [i("i", {staticClass: "xly-icon-file"})]) : e._e()])], 1)], 1)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {
            class: e.item.outClasses,
            style: e.item.style
        }, [i("td-tooltip", {
            attrs: {
                content: e.item.toolTipsContent || "",
                visible: e.tooltipVisible,
                placement: "top"
            }
        }, [i("td-input", {
            ref: "input",
            class: e.item.classes,
            attrs: {
                label: e.label || e.item.label,
                value: e.valueData,
                placeholder: e.item.placeholder,
                disabled: e.disabled
            },
            on: {
                input: e.validate,
                change: e.handleChange,
                keydown: e.handleKeyDown,
                keyup: e.handleKeyup,
                blur: e.outFocus
            }
        })], 1), e._v(" "), e._l(e.item.extEles, function (t) {
            return [i(t.type, {
                key: t.name,
                tag: "component",
                attrs: {
                    item: t,
                    classes: t.classes,
                    text: t.text,
                    formData: e.formData,
                    disabled: e.disabled || !e.formData[e.item.name].value,
                    value: e.formData[t.name]
                },
                on: {input: e.handleInput}
            })]
        })], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("p", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !e.item.isReleventUser || e.item.isReleventUser && "" !== e.userId,
                expression: "!item.isReleventUser || (item.isReleventUser && userId !== '')"
            }], class: e.clas, style: e.item.style || ""
        }, [e._v("\n   " + e._s(e.textContent) + "\n   "), e.item.tip ? i("span", {class: e.item.tipClass}, [e._v(e._s(e.item.tip))]) : e._e()])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {class: e.item.outerClass}, [i("ul", {class: e.item.ulClasses}, e._l(e.item.option, function (t, n) {
            return i("li", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: !e.item.isReleventUser || e.item.isReleventUser && "" !== e.userId,
                    expression: "!item.isReleventUser || (item.isReleventUser && userId !== '')"
                }], key: n, class: e.item.classes
            }, [i("td-radio", {
                attrs: {
                    name: e.item.key,
                    value: "" + e.formData[e.item.name].value,
                    label: t,
                    disabled: e.item.disableds && e.item.disableds[n]
                }, on: {input: e.handleInput}
            }, [e._v(e._s(e.item.labels[n] || e.lable))]), e._v(" "), e.item.extEles ? i(e.item.extEles[n].type, {
                tag: "component",
                attrs: {
                    text: e.item.extEles[n].text,
                    item: e.item.extEles[n],
                    label: e.item.extEles[n] && e.item.extEles[n].label,
                    classes: e.item.extEles[n].classes,
                    disabled: e.formData[e.item.name].value !== e.item.extActiveValue,
                    name: e.item.extEles[n].name,
                    value: e.formData[e.item.extEles[n].name],
                    formData: e.formData
                },
                on: {input: e.handleInput}
            }) : e._e()], 1)
        })), e._v(" "), e.item.tip ? i("p", {class: e.item.tipClass}, [e._v(e._s(e.item.tip))]) : e._e()])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", [i("td-checkbox", {
            attrs: {value: !(0 == e.formData[e.item.name].value)},
            on: {input: e.handleInput}
        }, [e._v("\n    " + e._s(e.item.label) + "\n  ")]), e._v(" "), e._l(e.item.extEles, function (t, n) {
            return e.item.extEles ? i(t.type, {
                key: n,
                tag: "component",
                attrs: {
                    formData: e.formData,
                    placeHolder: e.formData[t.name] && e.formData[t.name].value,
                    item: t,
                    value: e.formData[t.name],
                    disabled: !(e.formData[e.item.name] && e.formData[e.item.name].value),
                    name: t.name,
                    label: t.label,
                    classes: t.classes,
                    text: t.text
                },
                on: {input: e.handleInput}
            }) : e._e()
        })], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {class: e.item.classes}, [i("td-checkbox", {
            attrs: {value: !(0 == e.formData[e.item.name].value)},
            on: {input: e.handleInput}
        }, [e._v("\n    " + e._s(e.item.label) + "\n  ")]), e._v(" "), e._l(e.item.extEles, function (t, n) {
            return e.item.extEles ? i(t.type, {
                key: n,
                tag: "component",
                attrs: {
                    formData: e.formData,
                    item: t,
                    placeHolder: e.formData[t.name] && e.formData[t.name].value,
                    disabled: !e.formData[e.item.name].value
                },
                on: {input: e.handleInput}
            }) : e._e()
        })], 2)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {class: this.item.outerClass}, [t("label", {staticClass: "td-textarea"}, [t("textarea", {
            staticClass: "td-textarea__inner",
            class: this.item.classes,
            attrs: {placeholder: this.item.placeholder},
            domProps: {value: this.formData[this.item.name].value},
            on: {change: this.handleChange}
        })])])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {staticClass: "xly-setting-content__part"}, [i("p", {staticClass: "xly-setting-content__text"}, [e._v("代理管理")]), e._v(" "), i("div", {staticClass: "td-table td-table--border"}, [e._m(0), e._v(" "), i("div", {staticClass: "td-table__body-wrapper"}, [i("table", {staticClass: "td-table__body"}, [e._m(1), e._v(" "), i("tbody", e._l(e.proxyList, function (t, n) {
            return t.name && t.name.length > 0 ? i("tr", {
                key: n,
                class: {"is-chosen": t === e.selectedItem},
                on: {
                    click: function (i) {
                        e.selectedItem = t
                    }
                }
            }, [i("td", [i("p", {staticClass: "td-table__text"}, [e._v(e._s(t.name))])]), e._v(" "), i("td", [i("p", {staticClass: "td-table__text"}, [e._v(e._s(t.host))])]), e._v(" "), i("td", [i("p", {staticClass: "td-table__text"}, [e._v(e._s(t.port))])]), e._v(" "), i("td", [i("p", {staticClass: "td-table__text"}, [e._v(e._s(t.type))])])]) : e._e()
        }))])])]), e._v(" "), i("div", {staticClass: "xly-setting-content__button"}, [i("div", {staticClass: "botton-wrap"}, [i("a", {
            staticClass: "td-button td-button--small",
            attrs: {href: "javascript:;"},
            on: {click: e.handleAddProxy}
        }, [e._v("添加")]), e._v(" "), i("a", {
            staticClass: "td-button td-button--other td-button--small",
            class: {"is-disabled": null === e.selectedItem},
            attrs: {href: "javascript:;"},
            on: {click: e.handleModifyProxy}
        }, [e._v("修改")]), e._v(" "), i("a", {
            staticClass: "td-button td-button--other td-button--small",
            class: {"is-disabled": null === e.selectedItem},
            attrs: {href: "javascript:;"},
            on: {click: e.handleDeleteProxy}
        }, [e._v("删除")])]), e._v(" "), i("div", {staticClass: "botton-wrap"}, [i("a", {
            staticClass: "td-button td-button--other td-button--small",
            class: {"is-disabled": null === e.selectedItem},
            attrs: {href: "javascript:;"},
            on: {click: e.handleApplyProxy}
        }, [e._v("应用代理")])])])])
    }, r = [function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {staticClass: "td-table__header-wrapper"}, [i("table", {staticClass: "td-table__header"}, [i("colgroup", [i("col", {staticClass: "xly-setting__column-1"}), e._v(" "), i("col", {
            staticClass: "xly-setting__column-2",
            attrs: {width: "126"}
        }), e._v(" "), i("col", {
            staticClass: "xly-setting__column-3",
            attrs: {width: "116"}
        }), e._v(" "), i("col", {attrs: {width: "90"}})]), e._v(" "), i("thead", [i("tr", [i("th", [i("p", {staticClass: "td-table__text"}, [e._v("名称")])]), e._v(" "), i("th", [i("p", {staticClass: "td-table__text"}, [e._v("服务器")])]), e._v(" "), i("th", [i("p", {staticClass: "td-table__text"}, [e._v("端口")])]), e._v(" "), i("th", [i("p", {staticClass: "td-table__text"}, [e._v("类型")])])])])])])
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("colgroup", [t("col", {staticClass: "xly-setting__column-1"}), this._v(" "), t("col", {
            staticClass: "xly-setting__column-2",
            attrs: {width: "126"}
        }), this._v(" "), t("col", {
            staticClass: "xly-setting__column-3",
            attrs: {width: "116"}
        }), this._v(" "), t("col", {attrs: {width: "90"}})])
    }];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, , , function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this.$createElement;
        return (this._self._c || e)("i", {class: this.classes, attrs: {title: this.text}})
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {class: e.item.outerClass}, [i("td-slider", {
            attrs: {
                value: e.sliderValue,
                marks: e.item.marks,
                scales: e.item.scales,
                disabled: e.disabled
            }, on: {input: e.handleSliderUpdate}
        }), e._v(" "), i("div", {staticClass: "xlx-dialog-setting__speed-input"}, [i("td-input", {
            ref: "input",
            staticClass: "xlx-setting__input-3",
            attrs: {value: e.value.value, disabled: e.disabled},
            on: {input: e.handleInput, blur: e.handleBlur}
        }), e._v(" "), i("popup", {
            ref: "tooltip",
            staticClass: "td-tooltip",
            attrs: {direction: "top", display: e.tooltipVisible, padding: 10},
            on: {
                "update:display": function (t) {
                    e.tooltipVisible = t
                }
            }
        }, [i("p", {staticClass: "td-tooltip__inner"}, [e._v(e._s(e.tooltip))])]), e._v(" "), i("span", {staticClass: "xlx-setting__text"}, [e._v("KB/s")])], 1)], 1)
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {staticClass: "xlx-dialog-setting__speed-time"}, [i("ul", e._l(e.data, function (t) {
            return i("li", {
                key: t.label,
                staticClass: "xlx-dialog-setting__item"
            }, [i("span", {staticClass: "xlx-dialog-setting__text"}, [e._v(e._s(t.label))]), e._v(" "), e._l(t.options, function (t) {
                return i("div", {
                    key: t.index,
                    staticClass: "xlx-dialog-setting__option"
                }, [i("select-native", {
                    staticClass: "xlx-select-size-1",
                    attrs: {
                        value: e.value[t.index].value.toString(),
                        options: "hour" === t.type ? e.hours : e.minutes,
                        disabled: e.disabled
                    },
                    on: {
                        input: function (i) {
                            return e.handleInput(i, t.index)
                        }
                    }
                }), e._v(" "), i("span", {staticClass: "xlx-dialog-setting__text"}, [e._v(e._s("hour" === t.type ? "时" : "分"))])], 1)
            })], 2)
        }))])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, function (e, t, i) {
    "use strict";
    var n = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("div", {class: e.item.outerClass}, [i("ul", {class: e.item.ulClasses}, e._l(e.item.extEles, function (t, n) {
            return i("li", {key: n, class: e.item.classes}, [t ? i(t.type, {
                tag: "component",
                attrs: {
                    text: t.text,
                    item: t,
                    label: t && t.label,
                    classes: t.classes,
                    disabled: e.disabled,
                    name: t.name,
                    value: e.formData[t.name],
                    formData: e.formData
                },
                on: {input: e.handleInput}
            }) : e._e()], 1)
        })), e._v(" "), e.item.tip ? i("p", {class: e.item.tipClass}, [e._v(e._s(e.item.tip))]) : e._e()])
    }, r = [];
    n._withStripped = !0, i.d(t, "a", function () {
        return n
    }), i.d(t, "b", function () {
        return r
    })
}, , , , , , , , function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(583), r = i(287);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-speed-text.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(488), o = i(38);
    !function (e) {
        let t, i;
        !function (e) {
            e[e.None = 0] = "None", e[e.Sock5 = 1] = "Sock5", e[e.Http = 2] = "Http"
        }(t = e.ProxyType || (e.ProxyType = {})), function (e) {
            e[e.Sucess = 0] = "Sucess", e[e.Fall = 1] = "Fall", e[e.AuthFall = 2] = "AuthFall", e[e.ConnectFall = 3] = "ConnectFall", e[e.Timeout = 4] = "Timeout", e[e.ParamError = 5] = "ParamError"
        }(i = e.ProxyVerifyResult || (e.ProxyVerifyResult = {})), e.verifyProxy = function (e, t, s, a, l) {
            return n(this, void 0, void 0, function* () {
                return new Promise(n => {
                    o.NativeCallModule.nativeCall.CallNativeFunction("VerifyProxy", e, t, s, a, l, (e, t) => {
                        e === r.NativeFunctionErrorCode.Success ? n(t) : n(i.Fall)
                    })
                })
            })
        }, e.setProxy = function (e, t, i, s, a) {
            return n(this, void 0, void 0, function* () {
                return new Promise(n => {
                    o.NativeCallModule.nativeCall.CallNativeFunction("SetProxy", e, t, i, s, a, (e, t) => {
                        e === r.NativeFunctionErrorCode.Success ? n(t) : n(1)
                    })
                })
            })
        }
    }(t.ProxyNS || (t.ProxyNS = {}))
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(39), o = i(1), s = i(11), a = i(13), l = i(4);
    let {isDef: c} = s.ThunderUtil;
    const u = o.default.getLogger("WallpaperManager");
    t.default = new class {
        constructor() {
            this.wallpapersURL = "https://api-xl9-ssl.xunlei.com/sl/xlppc.personalizedcenter.api/api/xskin/list", this.testPapersURL = "http://test.api-shoulei-ssl.xunlei.com/xlppc.personalizedcenter.api/api/xskin/list"
        }

        getWallpapers() {
            return n(this, void 0, void 0, function* () {
                do {
                    r.default.defaults.adapter = i(25);
                    let e = 1 === (yield l.client.callServerFunction("GetValue", "ConfigFetchInterface", "TestServer", 0)) ? this.testPapersURL : this.wallpapersURL;
                    try {
                        let t = yield r.default.get(e, {params: {page: 0, per_page: 30}});
                        if (200 === t.status && "ok" === t.data.result) {
                            this.wallpapers = t.data.list;
                            try {
                                localStorage.setItem("wallpapers", JSON.stringify(this.wallpapers))
                            } catch (e) {
                                u.warning(e)
                            }
                            break
                        }
                    } catch (e) {
                        u.warning(e)
                    }
                    if (c(this.wallpapers)) break;
                    try {
                        this.wallpapers = JSON.parse(localStorage.getItem("wallpapers"))
                    } catch (e) {
                        u.warning(e)
                    }
                } while (0);
                let e = this.wallpapers || [], t = yield this.getSpringFestivalWallpaper();
                return t && (e = [...e, t]), e
            })
        }

        getCoolWallpapers() {
            return n(this, void 0, void 0, function* () {
                do {
                    r.default.defaults.adapter = i(25);
                    let e = "http://static-xl.a.88cdn.com/json/thunderx_superskins_skins.json";
                    try {
                        let t = yield r.default.get(e, {timeout: 1e4});
                        if (200 === t.status && t.data) {
                            this.coolWallpapers = t.data;
                            try {
                                u.information("get cool wallpapers", this.coolWallpapers), localStorage.setItem("coolWallpapers", JSON.stringify(this.coolWallpapers))
                            } catch (e) {
                                u.warning(e)
                            }
                            break
                        }
                    } catch (e) {
                        u.warning(e)
                    }
                    if (c(this.coolWallpapers)) break;
                    try {
                        this.coolWallpapers = JSON.parse(localStorage.getItem("coolWallpapers"))
                    } catch (e) {
                        u.warning(e)
                    }
                } while (0);
                return this.coolWallpapers || []
            })
        }

        getCoolShakes() {
            return n(this, void 0, void 0, function* () {
                do {
                    r.default.defaults.adapter = i(25);
                    let e = "https://static-xl.a.88cdn.com/json/thunderx_superskins_effects.json";
                    try {
                        let t = yield r.default.get(e, {timeout: 1e4});
                        if (200 === t.status && t.data) {
                            this.coolShakes = t.data;
                            try {
                                u.information("get cool wallpapers", this.coolShakes), localStorage.setItem("coolShakes", JSON.stringify(this.coolShakes))
                            } catch (e) {
                                u.warning(e)
                            }
                            break
                        }
                    } catch (e) {
                        u.warning(e)
                    }
                    if (c(this.coolShakes)) break;
                    try {
                        this.coolShakes = JSON.parse(localStorage.getItem("coolShakes"))
                    } catch (e) {
                        u.warning(e)
                    }
                } while (0);
                return this.coolShakes || []
            })
        }

        removeImage(e) {
            return n(this, void 0, void 0, function* () {
                let t = `${__profilesDir}/skins/${e.id}`;
                return a.FileSystemAWNS.rmdirsAW(t)
            })
        }

        getImage(e) {
            return n(this, void 0, void 0, function* () {
                let t = `${__profilesDir}/skins/${e.id}/wallpaper.jpg`;
                return (yield a.FileSystemAWNS.existsAW(t)) ? (this.updateImage(e).catch(e => {
                    u.information("update skin preview error", e)
                }), t) : (yield this.updateImage(e), t)
            })
        }

        updateImage(e) {
            return n(this, void 0, void 0, function* () {
                r.default.defaults.adapter = i(25);
                try {
                    let t = yield r.default.get(e.skin_link, {responseType: "arraybuffer"});
                    if (c(t) && 200 === t.status && c(t.data) && (yield a.FileSystemAWNS.mkdirAW(`${__profilesDir}/skins`), yield a.FileSystemAWNS.writeFileAW(`${__profilesDir}/skins/${e.id}.zip`, t.data))) {
                        const {UnzipUtilitiesAWNS: t} = yield Promise.resolve().then(() => i(738));
                        yield t.uncompressZipFile(`${__profilesDir}/skins/${e.id}/`, `${__profilesDir}/skins/${e.id}.zip`)
                    }
                } catch (e) {
                    u.warning(e)
                }
            })
        }

        getShakeRes(e) {
            return n(this, void 0, void 0, function* () {
                let t = `${__profilesDir}/shake-skins/${e.id}/wallpaper.jpg`;
                return (yield a.FileSystemAWNS.existsAW(t)) ? (this.updateShakeRes(e).catch(), t) : (yield this.updateShakeRes(e), t)
            })
        }

        updateShakeRes(e) {
            return n(this, void 0, void 0, function* () {
                r.default.defaults.adapter = i(25);
                try {
                    let t = yield r.default.get(e.skin_link, {responseType: "arraybuffer"});
                    c(t) && 200 === t.status && c(t.data) && (yield a.FileSystemAWNS.mkdirAW(`${__profilesDir}/shake-skins`), yield a.FileSystemAWNS.mkdirAW(`${__profilesDir}/shake-skins/${e.id}`), yield a.FileSystemAWNS.writeFileAW(`${__profilesDir}/shake-skins/${e.id}/wallpaper.jpg`, t.data))
                } catch (e) {
                    u.warning(e)
                }
            })
        }

        getSpringFestivalWallpaper() {
            return n(this, void 0, void 0, function* () {
                let e = null;
                try {
                    let t = null;
                    try {
                        t = JSON.parse(localStorage.getItem("springFestivalSkinData"))
                    } catch (e) {
                        u.warning(e)
                    }
                    t && "on" === t.skinsiwtch && (e = {
                        id: 9999,
                        operator: "",
                        manual_order: 0,
                        name: "春节皮肤",
                        is_vip: !1,
                        is_dynamic: !1,
                        preview: t.skin_thumb,
                        skin_link: t.skin_link,
                        artist: "",
                        color: 11,
                        is_4k: !1,
                        transparency: 80,
                        created_at: 1546599635159,
                        updated_at: 1546654241407,
                        showNew: !1
                    })
                } catch (e) {
                }
                return e
            })
        }
    }
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(34), o = i(39), s = i(2), a = i(13), l = i(1).default.getLogger("Axios.Helper");
    !function (e) {
        e.getFileSizeWithUrlAW = function (e) {
            return n(this, void 0, void 0, function* () {
                let t = 0;
                do {
                    let i = r.parse(e);
                    if ("https:" !== i.protocol && "http:" !== i.protocol) break;
                    let n = null;
                    try {
                        n = yield o.default.get(e, {responseType: "arraybuffer"})
                    } catch (e) {
                        l.warning(e)
                    }
                    if (null !== n && void 0 !== n.status && 200 === n.status) {
                        let e = n.headers["content-length"];
                        void 0 !== e && (t = parseInt(e, 10))
                    }
                } while (0);
                return t
            })
        }, e.downloadFileAW = function (e, t, i) {
            return n(this, void 0, void 0, function* () {
                let n = !1;
                do {
                    let r = null;
                    try {
                        r = yield o.default.get(e, {responseType: "arraybuffer", headers: i})
                    } catch (e) {
                        l.information(e);
                        break
                    }
                    if (null !== r && void 0 !== r.status && 200 === r.status && void 0 !== r.data && null !== r.data && "" !== r.data) {
                        let e = s.dirname(t), i = yield a.FileSystemAWNS.mkdirsAW(e);
                        i && (i = yield a.FileSystemAWNS.writeFileAW(t, r.data)) && (n = !0)
                    }
                } while (0);
                return n
            })
        }
    }(t.AxiosNS || (t.AxiosNS = {}))
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = i(757), o = i(12), s = i(758), a = i(200), l = i(611), c = i(762);
    t.probe = function (e, t) {
        var i = t || {}, u = s.defer(), d = null, h = o.platform(), p = l.createBuilder(h);
        d = r.spawn(l.getExecutablePath(h), p.getResult(e, i));
        var f = c.createParser(h);
        d.once("error", function () {
            var e = new Error(n.format("ping.probe: %s. %s", "there was an error while executing the ping program. ", "Check the path or permissions..."));
            u.reject(e)
        });
        var A = [];
        return d.stdout.on("data", function (e) {
            A.push(String(e))
        }), d.once("close", function () {
            var e = A.join("").split("\n");
            a.each(e, f.eat, f);
            var t = f.getResult();
            u.resolve(t)
        }), u.promise
    }
}, function (e, t, i) {
    "use strict";
    var n = i(200), r = i(6), o = i(759), s = i(760), a = i(761);

    function l() {
    }

    l.isLinux = function (e) {
        return ["aix", "linux"].indexOf(e) >= 0
    }, l.isMacOS = function (e) {
        return ["darwin", "freebsd"].indexOf(e) >= 0
    }, l.isWindow = function (e) {
        return e && null !== e.match(/^win/)
    }, l.isPlatformSupport = function (e) {
        return n.some([this.isWindow(e), this.isLinux(e), this.isMacOS(e)])
    }, l.getExecutablePath = function (e) {
        if (!this.isPlatformSupport(e)) throw new Error(r.format("Platform |%s| is not support", e));
        var t = null;
        return "aix" === e ? t = "/usr/sbin/ping" : l.isLinux(e) ? t = "/bin/ping" : l.isWindow(e) ? t = process.env.SystemRoot + "/system32/ping.exe" : l.isMacOS(e) && (t = "/sbin/ping"), t
    }, l.createBuilder = function (e) {
        if (!this.isPlatformSupport(e)) throw new Error(r.format("Platform |%s| is not support", e));
        var t = null;
        return l.isLinux(e) ? t = o : l.isWindow(e) ? t = a : l.isMacOS(e) && (t = s), t
    }, e.exports = l
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = i(200), o = i(496);

    function s() {
        o.call(this)
    }

    n.inherits(s, o), s.prototype._processHeader = function (e) {
        var t = e.split(" ");
        this._response.host = t[1], this._response.numeric_host = t[2].slice(1, -2), this._changeState(this.STATES.BODY)
    }, s.prototype._processBody = function (e) {
        if ((e.match(/=/g) || []).length >= 3) {
            var t = /([0-9\.]+)[ ]*ms/.exec(e);
            this._times.push(parseFloat(t[1], 10))
        }
        e.indexOf("---") >= 0 && this._changeState(this.STATES.FOOTER)
    }, s.prototype._processFooter = function (e) {
        if ((e.match(/[\/]/g) || []).length >= 3) {
            var t = /([0-9\.]+)/g, i = t.exec(e), n = t.exec(e), o = t.exec(e), s = t.exec(e);
            r.all([i, n, o, s]) && (this._response.min = parseFloat(i[1], 10), this._response.avg = parseFloat(n[1], 10), this._response.max = parseFloat(o[1], 10), this._response.stddev = parseFloat(s[1], 10), this._changeState(this.STATES.END)), this._changeState(this.STATES.END)
        }
    }, e.exports = s
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function (e, t, i) {
    i(43), e.exports = i(688)
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(33);
    n.CommonIPCRenderer.rendererCommunicator.initialize("messageBoxRendererContext"), n.CommonIPCRenderer.rendererCommunicator.connect();
    let r = i(34).parse(location.href, !0).query.boxId;
    i(4).client.start({name: `messageBoxRendererContext${r}`});
    const o = i(46), s = i(37), a = i(689), l = i(498);
    i(56), i(80);
    const c = i(57);
    i(55);
    const u = i(1).default.getLogger("MessageBoxRenderer"), d = i(483);
    o.PerformanceMonitorStatNS.init("message-box-renderer"), s.default.use(l.default), s.default.use(d), new s.default({
        components: {App: a.default},
        render: e => e("app")
    }).$mount("#app"), c.ThunderToolsNS.enableDevTools({mode: "undocked"}).catch(e => {
        u.warning(e)
    }), c.ThunderToolsNS.enableDragOpenFile()
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(503), r = i(271);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(792), i(793), i(497), i(794), i(795), i(796), i(797), i(484), i(798), i(799), i(800), i(801), i(802), i(803), i(804), i(805), i(806), i(807), i(808);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\app.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(516), r = i(273);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\about.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(517), r = i(275);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\confirm.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(518), r = i(277);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\message-box.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(567), r = i(279);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(707);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, "69ad46c4", null);
    a.options.__file = "src\\common\\generator-view\\generator-view.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(581), r = i(281);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-checkbox.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(14), o = i(696), s = i(24), a = i(26);

    function l(e) {
        a.information("on object freeer"), global.__xdasIPCServerInstance.notifyFreer(e.client, e.callbackId)
    }

    let c = void 0;
    global.__xdasIPCServerInstance || (global.__xdasIPCServerInstance = new class extends r.EventEmitter {
        constructor() {
            super(), this.rid = 0, this.apis = {}, this.eventMap = {}, this.clientAliasMap = {}, this.retCallbackMap = {}, this.contextCallbackMap = {}, this.singleton = !1
        }

        registerFunctions(e) {
            do {
                if (!e) break;
                let t = void 0;
                for (let i in e) if (this.apis.hasOwnProperty(i)) {
                    t = i;
                    break
                }
                if (t) throw new Error(`try to coverd function ${t}`);
                this.apis = Object.assign({}, this.apis, e)
            } while (0)
        }

        start(e, t) {
            if (this.singleton) throw new Error("try to start server duplicate");
            this.singleton = !0, this.server = new o.Server, global.__xdasIPCServer = this.server, this.server.listen(void 0, t), e && this.registerFunctions(e), this.server.on("connect", e => {
                this.emit("connect", e)
            }), this.server.on("message", (e, t) => {
                do {
                    if ("attach_event" === e.action) {
                        this.attachEvent(e.name, t);
                        break
                    }
                    if ("detach_event" === e.action) {
                        this.detachEvent(e.name, t);
                        break
                    }
                    if ("broadcast" === e.action) {
                        if (e.__context && e.__context.name === s.serverContextName) throw new Error("client context must difference from server");
                        this.forwardEvent(e.name, e.__context, e.timestamp, ...e.args);
                        break
                    }
                    if ("call_remote_client_api" === e.action) {
                        this.callClientFunction(e, t);
                        break
                    }
                    if ("call_remote_context_by_id" === e.action) {
                        if (e.dst && this.clientAliasMap.hasOwnProperty(e.dst)) {
                            let t = this.clientAliasMap[e.dst];
                            t && this.callClientFunctionById(t, e.rid, ...e.args)
                        }
                        break
                    }
                    if ("call_client_by_id_callback" === e.action) {
                        this.fireRetCallback(e);
                        break
                    }
                    if ("check_client_function_callback" === e.action) {
                        this.fireRetCallback(e);
                        break
                    }
                    if ("remote_client_callback" === e.action) {
                        this.reply2Client(e, t);
                        break
                    }
                    if ("check_client_function_exist" === e.action) {
                        this.internalCheckClientFunction(e.dst, e.method).then(i => {
                            let n = this.getNow();
                            this.sendAdapter(t, {
                                success: !0,
                                rid: e.rid,
                                method: e.method,
                                data: i,
                                timestamp: e.timestamp ? e.timestamp.concat(n) : [].concat(n)
                            })
                        });
                        break
                    }
                    let i = this.getNow(), n = {
                        success: !1,
                        rid: e.rid,
                        method: e.method,
                        timestamp: e.timestamp ? e.timestamp.concat(i) : [].concat(i)
                    }, r = e.method;
                    do {
                        if ("register" === e.action) {
                            this.registerAlias(e, t, n), this.sendAdapter(t, n);
                            break
                        }
                        if ("client_context_freer" === e.action) {
                            if (e.dst && this.clientAliasMap.hasOwnProperty(e.dst)) {
                                let t = this.clientAliasMap[e.dst];
                                this.notifyFreer(t, e.rid)
                            }
                            break
                        }
                        if ("check_server_function_exist" === e.action) {
                            n.success = !0, n.data = !(!this.apis || !this.apis[r]), this.sendAdapter(t, n);
                            break
                        }
                        if ("check_client_exist" === e.action) {
                            n.success = !0, n.data = !1, e.dst && this.clientAliasMap.hasOwnProperty(e.dst) && (n.data = !0), this.sendAdapter(t, n);
                            break
                        }
                        if (!r) break;
                        if (!this.apis || !this.apis[r]) {
                            n.error = `${e.__context} try to call method '${r}' which is undefined`, this.sendAdapter(t, n);
                            break
                        }
                        let i = void 0, o = this.decodeParameter(e.args, t);
                        try {
                            i = this.apis[r].apply(null, [t, e.__context].concat(o))
                        } catch (e) {
                            n.error = e.message, this.sendAdapter(t, n);
                            break
                        }
                        if (i && i.then) {
                            i.then(e => {
                                n.data = e, n.success = !0, this.sendAdapter(t, n)
                            }).catch(e => {
                                n.error = e instanceof Error ? e.message : e, this.sendAdapter(t, n)
                            });
                            break
                        }
                        n.success = !0, n.data = i, this.sendAdapter(t, n)
                    } while (0)
                } while (0)
            }), this.server.on("end", e => {
                this.emit("end", e);
                for (let t in this.clientAliasMap) this.clientAliasMap[t] === e && delete this.clientAliasMap[t];
                for (let t in this.eventMap) this.detachEvent(t, e)
            })
        }

        fireClientEvent(e, ...t) {
            this.forwardEvent(e, {name: s.serverContextName}, void 0, ...t)
        }

        callClientFunctionById(e, t, ...i) {
            this.sendAdapter(e, {action: "call_client_by_id", rid: t, args: i})
        }

        callClientFunctionByIdAw(e, t, ...i) {
            return new Promise((n, r) => {
                {
                    let r = this.generateId(), o = (e, t) => {
                        n(e ? [null, e] : [t])
                    }, s = {s_rid: r, action: "call_client_by_id", rid: t, args: i};
                    this.retCallbackMap[r] = Object.assign({callback: o}, s), this.sendAdapter(e, s)
                }
            })
        }

        checkClientFunction(e, t) {
            return "string" == typeof e && (e = this.getFullAlias(e)), this.internalCheckClientFunction(e, t)
        }

        callClientFunctionByName(e, t, ...i) {
            return new Promise((n, r) => {
                do {
                    if (!e) {
                        n([null, null]);
                        break
                    }
                    let r = void 0;
                    if ("string" == typeof e) {
                        if (e = this.getFullAlias(e), !this.clientAliasMap.hasOwnProperty(e)) {
                            n([null, null]);
                            break
                        }
                        r = this.clientAliasMap[e]
                    } else r = e;
                    if (!r) {
                        n([null, null]);
                        break
                    }
                    let o = this.generateId(), a = (e, t, i) => {
                        n(e ? [null, i, e] : [t, i])
                    };
                    if (i) for (let e = 0; e < i.length; e++) i[e] = this.convertFunction2Id(i[e]);
                    let l = {s_rid: o, action: "call_client_api", args: i, src: s.serverContextName, method: t};
                    this.retCallbackMap[o] = Object.assign({callback: a}, l), this.sendAdapter(r, l)
                } while (0)
            })
        }

        isRemoteClientExist(e) {
            let t = !1;
            return this.clientAliasMap.hasOwnProperty(this.getFullAlias(e)) && (t = !0), t
        }

        getRemoteClient(e, t) {
            let i = null;
            do {
                if (!e) break;
                t || (t = this.server.getProductId());
                let n = `${t}-${e}`.toLowerCase();
                i = this.clientAliasMap[n]
            } while (0);
            return i
        }

        internalCheckClientFunction(e, t) {
            return n(this, void 0, void 0, function* () {
                return new Promise((i, n) => {
                    do {
                        if (!e) {
                            i(!1);
                            break
                        }
                        let n = void 0;
                        if ("string" == typeof e) {
                            if (!this.clientAliasMap.hasOwnProperty(e)) {
                                i(!1);
                                break
                            }
                            n = this.clientAliasMap[e]
                        } else n = e;
                        if (!n) {
                            i(!1);
                            break
                        }
                        let r = this.generateId(), o = (e, t) => {
                            i(!e && t)
                        }, s = {s_rid: r, action: "check_client_function", method: t};
                        this.retCallbackMap[r] = Object.assign({callback: o}, s), this.sendAdapter(n, s)
                    } while (0)
                })
            })
        }

        convertFunction2Id(e) {
            let t = e;
            if ("function" == typeof e) {
                let i = this.generateId();
                this.contextCallbackMap[i] = e, t = i
            } else if (e && "object" == typeof e) for (let t in e) {
                let i = e[t];
                if ("function" == typeof i) {
                    let n = this.generateId();
                    this.contextCallbackMap[n] = i, e[t] = n
                } else i && "object" == typeof i && (e[t] = this.convertFunction2Id(i))
            }
            return t
        }

        registerAlias(e, t, i) {
            do {
                if (!e) break;
                if (!e.alias) {
                    i.error = "register alias can not be empty";
                    break
                }
                if (this.clientAliasMap.hasOwnProperty(e.alias)) {
                    if (this.clientAliasMap[e.alias] === t) {
                        i.data = e.alias, i.success = !0;
                        break
                    }
                    i.error = "register failed cause alias is in use";
                    break
                }
                {
                    let n = void 0;
                    for (let e in this.clientAliasMap) if (this.clientAliasMap[e] === t) {
                        n = e;
                        break
                    }
                    if (n) {
                        i.data = n, i.error = `register failed cause already register by another alias ${n}`;
                        break
                    }
                    this.clientAliasMap[e.alias] = t, i.data = e.alias, i.success = !0;
                    break
                }
            } while (0)
        }

        callClientFunction(e, t) {
            do {
                if (!e) break;
                let i = e.dst, n = {rid: e.rid, method: e.method};
                if (!this.clientAliasMap.hasOwnProperty(i)) {
                    let e = `call remote function but dst client is not start or ended ${i}`;
                    a.error(e), n.error = e, n.action = "remote_client_callback", n.success = !1, this.sendAdapter(t, n);
                    break
                }
                let r = this.generateId(), o = this.clientAliasMap[i];
                n = Object.assign({
                    s_rid: r,
                    action: "call_client_api",
                    args: e.args,
                    src: e.src
                }, n), this.retCallbackMap[r] = Object.assign({remote: t}, n), this.sendAdapter(o, n)
            } while (0)
        }

        fireRetCallback(e) {
            do {
                let t = e.s_rid;
                if (void 0 === t || null === t) break;
                let i = this.retCallbackMap[t];
                if (!i) break;
                const n = i.callback;
                if (!n) break;
                e.success ? n(null, e.data) : n(e.error, e.data), delete this.retCallbackMap[t], a.information("free fireRetCallback", t)
            } while (0)
        }

        decodeParameter(e, t) {
            let i = e;
            do {
                if (!e) break;
                if ("object" != typeof e) break;
                let r = e["__nodeipc_callback_id__{A9C9D760-14E8-42CB-A3CB-9C0A0DDFD732}"];
                if (r) {
                    i = ((...e) => n(this, void 0, void 0, function* () {
                        return this.callClientFunctionByIdAw(t, r, ...e)
                    })), global.__xdasObjectLiftMonitor && global.__xdasObjectLiftMonitor.setObjectFreer(i, {
                        client: t,
                        callbackId: r
                    }, l);
                    break
                }
                for (let i in e) {
                    let n = e[i];
                    e[i] = this.decodeParameter(n, t)
                }
            } while (0);
            return i
        }

        notifyFreer(e, t) {
            this.sendAdapter(e, {action: "client_context_freer", rid: t})
        }

        reply2Client(e, t) {
            do {
                let i = e.s_rid;
                if (void 0 === i || null === i) break;
                let n = this.retCallbackMap[i];
                if (!n) break;
                if (e.src === s.serverContextName) {
                    const i = n.callback;
                    if (!i) break;
                    e.success ? i(null, this.decodeParameter(e.data, t), t) : i(e.error, e.data, t)
                } else {
                    let t = n.remote;
                    if (!t) break;
                    this.sendAdapter(t, e)
                }
                delete this.retCallbackMap[i]
            } while (0)
        }

        getNow() {
            return Date.now()
        }

        sendAdapter(e, t) {
            let i = this.getNow();
            t.timestamp = t.timestamp ? t.timestamp.concat(i) : [].concat(i), e.isInprocess() ? (a.information("send to client in process"), e.emit("message", t)) : e.send(t)
        }

        forwardEvent(e, t, i, ...n) {
            do {
                if (!this.eventMap.hasOwnProperty(e)) break;
                let r = this.eventMap[e];
                for (let o of r) this.sendAdapter(o, {
                    action: "fire_event",
                    name: e,
                    args: n,
                    __context: t,
                    timestamp: i
                })
            } while (0)
        }

        attachEvent(e, t) {
            {
                this.eventMap[e] || (this.eventMap[e] = []);
                let i = this.eventMap[e], n = !1;
                for (let r of i) if (r === t) {
                    a.information("server attachEvent attached", e), n = !0;
                    break
                }
                n || (this.eventMap[e].push(t), a.information("server attachEvent ", e))
            }
        }

        detachEvent(e, t) {
            do {
                if (!this.eventMap.hasOwnProperty(e)) break;
                let i = this.eventMap[e];
                for (let n = 0; n < i.length; n++) if (i[n] === t) {
                    this.eventMap[e].splice(n, 1), a.information("server detachEvent current eventMap", this.eventMap);
                    break
                }
            } while (0)
        }

        generateId() {
            return this.rid++
        }

        getFullAlias(e) {
            return `${this.server.getProductId()}-${e}`.toLowerCase()
        }
    }), c = global.__xdasIPCServerInstance, t.server = c
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(19), r = i(23), o = i(14), s = i(697), a = i(24);
    t.Server = class extends o.EventEmitter {
        constructor() {
            super(), this.server = r.createServer(e => this.handleConnection(e)), this.productId = ""
        }

        getProductId() {
            return this.productId
        }

        listen(e, t) {
            let i = a.getSockPath(t);
            this.productId = t || a.getDefaultPrex(), n.existsSync(i) && n.unlinkSync(i), this.server.listen({
                path: i,
                readableAll: !0,
                writableAll: !0
            }, e)
        }

        handleConnection(e) {
            const t = new s.Client({socket: e});
            t.on("message", e => {
                this.handleRequest(e, t)
            }), t.on("end", () => {
                this.emit("end", t)
            }), this.emit("connect", t)
        }

        handleRequest(e, t) {
            this.emit("message", e, t)
        }
    }
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const n = i(23), r = i(14), o = i(26), s = i(42), a = i(24);
    t.Client = class extends r.EventEmitter {
        constructor(e) {
            if (e = e || {}, super(), this.inprocess = !1, this.context = void 0, e.context && (this.context = Object.assign({}, e.context), this.context.productId = e.socketPrex), e.socket) this.socket = e.socket, this.bind(); else if (global.__xdasIPCServer && global.__xdasIPCServer.getProductId().toLowerCase() === e.socketPrex.toLowerCase()) this.inprocess = !0; else {
                let t = a.getSockPath(e.socketPrex);
                this.socket = n.connect(t), this.bind()
            }
        }

        isInprocess() {
            return this.inprocess
        }

        getContext() {
            return this.context
        }

        bind() {
            const e = new s.Parser, t = this.socket;
            t.on("data", t => {
                e.feed(t)
            }), t.on("connect", () => {
                this.emit("connect")
            }), t.on("end", () => {
                o.information("socket is ended"), this.socket = null, this.emit("end")
            }), t.on("error", e => {
                o.error(e.message), this.socket = null, this.emit("error", e)
            }), e.on("message", e => {
                this.emit("message", e)
            }), this.parser = e
        }

        send(e) {
            if (this.socket) try {
                this.socket.write(this.parser.encode(e))
            } catch (e) {
                o.error(e.message)
            } else o.information("This socket has been ended by the other party")
        }
    }
}, function (e, t, i) {
    "use strict";
    var n = i(955);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(595), r = i(293);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-speed.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(596), r = i(295);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-speed-time.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(587), r = i(299);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-radio.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(597), r = i(301);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-container.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(588), r = i(303);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-checkinput.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(589), r = i(305);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-checkselect.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(590), r = i(307);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-textarea.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(591), r = i(309);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-proxy-list.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = i(957);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(519), r = i(311);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\plan-task.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(520), r = i(313);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\task-rename.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(521), r = i(315);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\bt-repeat-task.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(522), r = i(317);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\bt-repeat-file.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(523), r = i(319);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\private-space-set-password.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(524), r = i(321);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\private-space-verify-password.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(525), r = i(323);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(715);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\private-space-phone-verify.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = i(959);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(526), r = i(325);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\private-space-download-setting.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(568), r = i(327);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\common\\views\\path-selector.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(527), r = i(329);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\private-space-task-manager.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(528), r = i(331);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\multi-repeat-task.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(529), r = i(333);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\batch-new-task-ctrl.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(530), r = i(335);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\book-marks.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(531), r = i(337);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\book-list.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(532), r = i(339);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\subtitle-task-filelist.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(533), r = i(341);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\subtitle-search.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(534), r = i(343);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\browser-config-guide.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(535), r = i(345);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\xmp-fix.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(536), r = i(347);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\xmp-fix-ex.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(537), r = i(349);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(729);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\bird-key-show.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = i(961);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(538), r = i(351);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(731), i(732);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\total-tabs.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = i(963);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(967);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(539), r = i(353);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\individuation\\index.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(569), r = i(355);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\individuation\\panel-try-cover.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(570), r = i(357);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\individuation\\pane-skin-featured.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        e.colorList = [{id: 0}, {
            id: 1,
            defaultOpacity: .9,
            colors: {
                colorPreview: "196,208,232",
                colorAccordion: ["116,137,180", "116,137,180"],
                colorGradientBackground: ["191,207,230", "227,236,246"],
                colorGradientForeground: ["255,255,255", "255,255,255"],
                colorPrimary: "116,137,180",
                colorPrimaryControl1: "120,149,209",
                colorPrimaryControl2: "116,137,180",
                colorPrimaryControl3: "212,225,225",
                colorPrimaryControl4: "240,243,250",
                colorPrimaryGradient: ["168,187,226", "105,132,177"],
                colorPrimaryText: "56,66,77",
                colorSearch: "252,252,252",
                colorSecondary: "83,95,117"
            }
        }, {
            id: 2,
            defaultOpacity: .9,
            colors: {
                colorPreview: "159,204,255",
                colorAccordion: ["51,160,255", "91,179,255"],
                colorGradientBackground: ["217,236,255", "138,204,255"],
                colorGradientForeground: ["255,255,255", "255,255,255"],
                colorPrimary: "51,160,255",
                colorPrimaryControl1: "119,182,255",
                colorPrimaryControl2: "51,160,255",
                colorPrimaryControl3: "212,231,255",
                colorPrimaryControl4: "232,240,255",
                colorPrimaryGradient: ["0,137,226", "103,189,255"],
                colorPrimaryText: "73,91,104",
                colorSearch: "252,252,252",
                colorSecondary: "103,132,154"
            }
        }, {
            id: 3,
            defaultOpacity: .9,
            colors: {
                colorPreview: "255,187,128",
                colorAccordion: ["255,149,87", "255,149,87"],
                colorGradientBackground: ["255,210,142", "255,151,119"],
                colorGradientForeground: ["255,255,255", "255,255,255"],
                colorPrimary: "255,149,87",
                colorPrimaryControl1: "255,178,110",
                colorPrimaryControl2: "255,149,87",
                colorPrimaryControl3: "229,210,194",
                colorPrimaryControl4: "242,233,226",
                colorPrimaryGradient: ["255,176,39", "255,137,33"],
                colorPrimaryText: "97,64,47",
                colorSearch: "252,252,252",
                colorSecondary: "130,99,75"
            }
        }, {
            id: 4,
            defaultOpacity: .9,
            colors: {
                colorPreview: "150,200,158",
                colorAccordion: ["93,154,103", "93,154,103"],
                colorGradientBackground: ["171,207,158", "124,188,162"],
                colorGradientForeground: ["255,255,255", "255,255,255"],
                colorPrimary: "85,123,91",
                colorPrimaryControl1: "114,152,120",
                colorPrimaryControl2: "85,123,91",
                colorPrimaryControl3: "191,210,194",
                colorPrimaryControl4: "220,232,222",
                colorPrimaryGradient: ["84,123,81", "115,165,150"],
                colorPrimaryText: "67,74,61",
                colorSearch: "252,252,252",
                colorSecondary: "97,109,86"
            }
        }, {
            id: 5,
            defaultOpacity: .5,
            colors: {
                colorPreview: "47,73,141",
                colorAccordion: ["99,177,255", "121,175,244"],
                colorGradientBackground: ["56,76,140", "41,72,143"],
                colorGradientForeground: ["97,144,251", "19,34,75"],
                colorPrimary: "230,199,138",
                colorPrimaryControl1: "204,170,122",
                colorPrimaryControl2: "220,191,132",
                colorPrimaryControl3: "185,185,185",
                colorPrimaryControl4: "233,233,233",
                colorPrimaryGradient: ["111,150,255", "156,192,255"],
                colorPrimaryText: "230,207,161",
                colorSearch: "68,124,209",
                colorSecondary: "204,184,143"
            }
        }, {
            id: 6,
            defaultOpacity: .7,
            colors: {
                colorPreview: "65,17,17",
                colorAccordion: ["214,99,99", "214,99,99"],
                colorGradientBackground: ["72,29,29", "16,7,7"],
                colorGradientForeground: ["117,57,57", "30,22,22"],
                colorPrimary: "223,77,77",
                colorPrimaryControl1: "220,96,96",
                colorPrimaryControl2: "159,51,51",
                colorPrimaryControl3: "219,193,193",
                colorPrimaryControl4: "239,224,224",
                colorPrimaryGradient: ["255,86,86", "161,70,70"],
                colorPrimaryText: "235,197,197",
                colorSearch: "88,74,74",
                colorSecondary: "184,151,151"
            }
        }, {
            id: 7,
            defaultOpacity: .3,
            colors: {
                colorPreview: "75,65,129",
                colorAccordion: ["160,185,252", "103,155,207"],
                colorGradientBackground: ["29,90,151", "105,61,191"],
                colorGradientForeground: ["163,177,204", "0,0,0"],
                colorPrimary: "128,213,255",
                colorPrimaryControl1: "118,193,230",
                colorPrimaryControl2: "161,207,230",
                colorPrimaryControl3: "205,215,235",
                colorPrimaryControl4: "228,232,240",
                colorPrimaryGradient: ["142,163,245", "120,144,222"],
                colorPrimaryText: "184,197,204",
                colorSearch: "153,153,153",
                colorSecondary: "138,184,230"
            }
        }, {
            id: 8,
            defaultOpacity: .6,
            colors: {
                colorPreview: "82,39,90",
                colorAccordion: ["170,163,204", "136,122,204"],
                colorGradientBackground: ["83,42,118", "61,46,77"],
                colorGradientForeground: ["93,82,193", "0,0,0"],
                colorPrimary: "170,153,255",
                colorPrimaryControl1: "136,122,204",
                colorPrimaryControl2: "147,132,220",
                colorPrimaryControl3: "204,194,255",
                colorPrimaryControl4: "234,230,255",
                colorPrimaryGradient: ["156,149,255", "128,128,255"],
                colorPrimaryText: "191,184,230",
                colorSearch: "166,148,255",
                colorSecondary: "153,143,204"
            }
        }, {
            id: 9,
            defaultOpacity: .3,
            colors: {
                colorPreview: "74,77,83",
                colorAccordion: ["103,155,207", "160,185,252"],
                colorGradientBackground: ["69,71,77", "15,19,26"],
                colorGradientForeground: ["179,179,179", "0,34,51"],
                colorPrimary: "204,238,255",
                colorPrimaryControl1: "143,184,204",
                colorPrimaryControl2: "161,207,230",
                colorPrimaryControl3: "205,215,235",
                colorPrimaryControl4: "228,232,240",
                colorPrimaryGradient: ["140,173,205", "103,132,162"],
                colorPrimaryText: "184,197,204",
                colorSearch: "153,153,153",
                colorSecondary: "138,184,230"
            }
        }, {
            id: 10,
            defaultOpacity: .5,
            colors: {
                colorPreview: "77,62,45",
                colorAccordion: ["204,177,122", "204,191,163"],
                colorGradientBackground: ["51,44,30", "26,22,15"],
                colorGradientForeground: ["153,122,92", "0,0,0"],
                colorPrimary: "230,199,138",
                colorPrimaryControl1: "204,170,122",
                colorPrimaryControl2: "220,191,132",
                colorPrimaryControl3: "219,212,203",
                colorPrimaryControl4: "236,230,223",
                colorPrimaryGradient: ["186,152,105", "226,197,139"],
                colorPrimaryText: "230,207,161",
                colorSearch: "105,105,105",
                colorSecondary: "204,184,143"
            }
        }]
    }(t.SkinConfigNS || (t.SkinConfigNS = {}))
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(2), o = i(9).default(r.join(__rootDir, "../bin/ThunderHelper.node"));
    !function (e) {
        e.uncompressZipFile = function (e, t) {
            return n(this, void 0, void 0, function* () {
                return new Promise(i => {
                    o.asyncUnZipFile(t, e, e => {
                        i(e)
                    })
                })
            })
        }
    }(t.UnzipUtilitiesAWNS || (t.UnzipUtilitiesAWNS = {}))
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(571), r = i(359);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\individuation\\pane-skin-supercool.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(572), r = i(361);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\individuation\\pane-skin-speedcurve.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(39), o = i(1), s = i(11);
    let {isDef: a} = s.ThunderUtil;
    const l = o.default.getLogger("Thunder.speedcurve-skin.skin-storage");
    t.default = new class {
        constructor() {
            this.skinURL = "http://static-xl.a.88cdn.com/json/thunderx_speedcurve_skin.json"
        }

        getSkins() {
            return n(this, void 0, void 0, function* () {
                do {
                    r.default.defaults.adapter = i(25);
                    try {
                        let e = yield r.default.get(this.skinURL);
                        if (200 === e.status && e.data) {
                            this.skins = e.data, l.information("skins", this.skins), localStorage.setItem("speedcurveSkins", JSON.stringify(this.skins));
                            break
                        }
                    } catch (e) {
                        l.warning(e)
                    }
                    if (a(this.skins)) break;
                    try {
                        this.skins = JSON.parse(localStorage.getItem("speedcurveSkins"))
                    } catch (e) {
                        l.warning(e)
                    }
                } while (0);
                return this.skins
            })
        }
    }
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(573), r = i(363);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\individuation\\pane-skin-suspension.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(574), r = i(365);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(745), i(746);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\individuation\\pane-avatar.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = i(971);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(973);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(540), r = i(367);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\add-proxy.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(541), r = i(369);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(749);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\bird-key-pwdcheck.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = i(976);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(542), r = i(371);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\shoulei-qrcode.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(543), r = i(373);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\download-data.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(544), r = i(375);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(765);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\download-detect-tools.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(2), o = i(1), s = i(9), a = i(23), l = i(754), c = i(755), u = i(6).promisify, d = i(170), h = i(4),
        p = i(15), f = s.default(r.join(__rootDir, "../bin/ThunderHelper.node")),
        A = o.default.getLogger("download-detect-tools");
    !function (e) {
        let t, o, s, v, g, m;
        !function (e) {
            e[e.AF_INET = 2] = "AF_INET", e[e.AF_INET6 = 23] = "AF_INET6"
        }(t = e.AfType || (e.AfType = {})), function (e) {
            e[e.IF_TYPE_SOFTWARE_LOOPBACK = 24] = "IF_TYPE_SOFTWARE_LOOPBACK"
        }(o = e.IfType || (e.IfType = {})), function (e) {
            e[e.IfOperStatusUp = 1] = "IfOperStatusUp", e[e.IfOperStatusDown = 2] = "IfOperStatusDown", e[e.IfOperStatusTesting = 3] = "IfOperStatusTesting", e[e.IfOperStatusUnknown = 4] = "IfOperStatusUnknown", e[e.IfOperStatusDormant = 5] = "IfOperStatusDormant", e[e.IfOperStatusNotPresent = 6] = "IfOperStatusNotPresent", e[e.IfOperStatusLowerLayerDown = 7] = "IfOperStatusLowerLayerDown"
        }(s = e.IfOperStatus || (e.IfOperStatus = {})), function (e) {
            e[e.None = 0] = "None", e[e.Started = 1] = "Started", e[e.Success = 2] = "Success", e[e.Failed = 3] = "Failed"
        }(v = e.DetectState || (e.DetectState = {})), function (e) {
            e[e.IndexServer = 0] = "IndexServer", e[e.BTIndexServer = 1] = "BTIndexServer", e[e.EMuleIndexServer = 2] = "EMuleIndexServer", e[e.MirrorSource = 3] = "MirrorSource", e[e.TorrentServer = 4] = "TorrentServer", e[e.P2PServer = 5] = "P2PServer", e[e.PingServer = 6] = "PingServer", e[e.NATServer = 7] = "NATServer", e[e.AccountLogin = 8] = "AccountLogin", e[e.VipDownload = 9] = "VipDownload", e[e.UPNPState = 10] = "UPNPState", e[e.DHTState = 11] = "DHTState", e[e.IPv6Support = 12] = "IPv6Support"
        }(g = e.DetectItemType || (e.DetectItemType = {})), function (e) {
            e.Start = "Start", e.StartItem = "StartItem", e.StatusChange = "StatusChange", e.FinishItem = "FinishItem", e.Finish = "Finish"
        }(m = e.DetectEvent || (e.DetectEvent = {}));
        const y = new class extends d.default {
            constructor() {
                super(), this.detectingItems = null, this.localIPInfo = null, this.currentDetectingIndex = void 0, this.adapterInfos = null, this.statCookie = -1, this.detectingItems = [{
                    type: g.IndexServer,
                    name: "普通任务信息",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载“HTTP、FTP”协议的下载链接时，需要查询下载链接对应的文件信息。\n          如果此项失败，您将无法加速下载“HTTP、FTP”协议的下载链接。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectIndexServer.bind(this)
                }, {
                    type: g.BTIndexServer,
                    name: "BT任务信息",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载BT任务时，需要查询BT任务对应的文件信息。\n          如果此项失败，您将无法加速下载BT任务。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectBTIndexServer.bind(this)
                }, {
                    type: g.TorrentServer,
                    name: "磁力任务信息",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载磁力链接时，需要查询磁力链接对应的BT种子信息。\n          如果此项失败，您将无法下载磁力链接。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectTorrentServer.bind(this)
                }, {
                    type: g.EMuleIndexServer,
                    name: "eMule任务信息",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载“ed2k”协议的下载链接时，需要查询下载链接对应的文件信息。\n          如果此项失败，您将无法加速下载eMule任务。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectEMuleIndexServer.bind(this)
                }, {
                    type: g.MirrorSource,
                    name: "主机镜像资源服务",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载任意任务时，需要通过该服务查询主机镜像资源。\n          如果此项失败，您下载任意任务时，都无法获得主机镜像资源加速。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectMirrorSource.bind(this)
                }, {
                    type: g.P2PServer,
                    name: "节点镜像资源服务",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载任意任务时，需要通过该服务查询节点镜像资源。\n          如果此项失败，您下载任意任务时，都无法获得节点镜像资源加速。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectP2PServer.bind(this)
                }, {
                    type: g.PingServer,
                    name: "连通检测服务",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载任意任务时，需要通过该服务检测各个镜像资源的连通性，从而提升镜像资源连通率，理论上可以更快获得加速效果。\n          如果此项失败，您下载任意任务时，下载加速效果提升较为缓慢。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectPingServer.bind(this)
                }, {
                    type: g.NATServer,
                    name: "网络感知服务",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载任意任务时，需要通过该服务感知您与节点镜像资源之间的网络连接结构，从而提升节点镜像资源连通率，理论上可以获得更快的下载速度。\n          如果此项失败，您下载任意任务时，下载加速效果较差。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectNATServer.bind(this)
                }, {
                    type: g.AccountLogin,
                    name: "帐号登录服务",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷登录帐号时，需要通过该服务获取您的帐号信息。\n          如果此项失败，您将无法登录迅雷帐号。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectAccountLogin.bind(this)
                }, {
                    type: g.VipDownload,
                    name: "会员加速服务",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷会员加速下载任意任务时，需要通过该服务查询会员加速资源，从而获得会员加速效果。\n          如果此项失败，您下载任意任务时，都无法获得会员加速效果。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectVipDownload.bind(this)
                }, {
                    type: g.UPNPState,
                    name: "UPnP状态",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "迅雷能够利用路由器的UPnP功能进行端口映射，从而提升镜像资源的连通率，理论上可以获得更快的下载速度。\n          如果您没有使用路由器，这项失败可以忽略。\n          如果您使用路由器，并且此项失败，请您登录路由器的管理页面，开启“UPnP”功能。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectUPNPState.bind(this)
                }, {
                    type: g.DHTState,
                    name: "DHT状态",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载BT任务时，需要通过DHT网络获取更多镜像资源，理论上可以获得更快的下载速度。\n          如果此项失败，您下载BT任务时，下载加速效果可能略受影响。\n          但是如果“BT任务信息、节点镜像资源服务”正常，则该失败可以忽略。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectDHTState.bind(this)
                }, {
                    type: g.IPv6Support,
                    name: "IPv6支持",
                    state: v.None,
                    detectDesc: "正在扫描...",
                    detail: "迅雷现已支持IPv6互联网协议，通过该协议迅雷可以更快速可靠的连接镜像资源，从而提升镜像资源连通率，理论上可以获得更快的下载速度。\n          如果此项失败，可能是由于您的路由器或网络运营商暂未支持IPv6互联网协议，不过该项失败并不会影响您的正常下载。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectIPv6Support.bind(this)
                }]
            }

            dnsLookupAW(e) {
                return n(this, void 0, void 0, function* () {
                    let t = null;
                    const i = u(l.lookup);
                    try {
                        t = yield i(e, 4)
                    } catch (t) {
                        A.warning("dnsLookup IPv4 failed! hostName", e, "e", t)
                    }
                    return t
                })
            }

            tcpConnectAW(e, t, i = 4) {
                return n(this, void 0, void 0, function* () {
                    return new Promise(r => n(this, void 0, void 0, function* () {
                        let n = new a.Socket;
                        try {
                            n.on("connect", () => {
                                r(!0), n.end()
                            }), n.on("error", i => {
                                A.error("tcpConnectAW error! host", e, "port", t, i), r(!1), n.end()
                            }), n.on("timeout", () => {
                                A.error("tcpConnectAW timeout! host", e, "port", t), r(!1), n.end()
                            }), n.connect({port: t, host: e, family: i})
                        } catch (i) {
                            A.warning("tcpConnect failed! host", e, "port", t, i), r(!1)
                        }
                    }))
                })
            }

            detectTcpConnect(e, t, i = 80) {
                return n(this, void 0, void 0, function* () {
                    let n = !1;
                    do {
                        this.setDetectDesc((-1 !== e.name.indexOf("服务") ? "开始连接" : "开始查询") + e.name);
                        let r = yield this.dnsLookupAW(t);
                        if (!r) {
                            this.setDetectDesc("域名解析失败", "域名解析失败");
                            break
                        }
                        this.setDetectDesc("域名解析成功");
                        let o = (new Date).getTime();
                        if (yield this.tcpConnectAW(r.address, i)) {
                            let t = (new Date).getTime() - o;
                            this.setDetectDesc(e.name + (-1 !== e.name.indexOf("服务") ? "连接" : "查询") + "成功（耗时：" + t + "毫秒）"), n = !0
                        } else this.setDetectDesc(e.name + (-1 !== e.name.indexOf("服务") ? "连接" : "查询") + "失败", "tcp连接失败（" + r.address + ":" + i + "）")
                    } while (0);
                    return n
                })
            }

            setDetectDesc(e, t) {
                if (void 0 !== this.currentDetectingIndex) {
                    let i = this.detectingItems[this.currentDetectingIndex];
                    i.detectDesc = e, i.statResult = t, this.fireEvent(m.StatusChange, i, e)
                }
            }

            detectIndexServer(e) {
                return n(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "hub5idx.v6.shub.sandai.net")
                })
            }

            detectBTIndexServer(e) {
                return n(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "hub5btmain.v6.shub.sandai.net")
                })
            }

            detectEMuleIndexServer(e) {
                return n(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "hub5emu.v6.shub.sandai.net")
                })
            }

            detectTorrentServer(e) {
                return n(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "pool.v6.bt.n0808.com")
                })
            }

            detectP2PServer(e) {
                return n(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "hub5pr.sandai.net")
                })
            }

            detectPingServer(e) {
                return n(this, void 0, void 0, function* () {
                    let t = !1, i = "hub5u.sandai.net";
                    this.setDetectDesc("开始连接" + e.name);
                    let n = (new Date).getTime(), r = yield c.promise.probe(i);
                    if (r && r.alive) {
                        let i = (new Date).getTime() - n;
                        this.setDetectDesc(e.name + "连接成功（耗时：" + i + "毫秒）"), t = !0
                    } else A.information("ping failed! host:", i, ", result:", r), this.setDetectDesc(e.name + "连接失败", "ping失败（" + i + "）");
                    return t
                })
            }

            detectDCDNServer(e) {
                return n(this, void 0, void 0, function* () {
                    let e = !1;
                    do {
                        this.setDetectDesc("开始连接会员加速服务");
                        let t = yield this.dnsLookupAW("dcdnhub.xfs.xcloud.sandai.net");
                        if (!t) {
                            this.setDetectDesc("域名解析失败", "dcdnhub.xfs.xcloud.sandai.net域名解析失败");
                            break
                        }
                        this.setDetectDesc("域名解析成功");
                        let i = (new Date).getTime();
                        if (yield this.tcpConnectAW(t.address, 80)) {
                            let t = (new Date).getTime() - i;
                            this.setDetectDesc("会员加速服务连接成功（耗时：" + t + "毫秒）"), e = !0
                        } else this.setDetectDesc("会员加速服务连接失败", "tcp连接失败（" + t.address + ":80）")
                    } while (0);
                    return e
                })
            }

            detectVipAuthServer(e) {
                return n(this, void 0, void 0, function* () {
                    let e = !1;
                    do {
                        this.setDetectDesc("开始连接会员加速验证服务");
                        let t = yield this.dnsLookupAW("ali.pc-x.speed.auth.vip.xunlei.com");
                        if (!t) {
                            this.setDetectDesc("域名解析失败", "ali.pc-x.speed.auth.vip.xunlei.com域名解析失败");
                            break
                        }
                        this.setDetectDesc("域名解析成功");
                        let i = (new Date).getTime();
                        if (yield this.tcpConnectAW(t.address, 80)) {
                            let t = (new Date).getTime() - i;
                            this.setDetectDesc("会员加速验证服务连接成功（耗时：" + t + "毫秒）"), e = !0
                        } else this.setDetectDesc("会员加速验证服务连接失败", "tcp连接失败（" + t.address + ":80）")
                    } while (0);
                    return e
                })
            }

            detectMirrorSource(e) {
                return n(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "hub5sr.v6.shub.sandai.net")
                })
            }

            detectNATServer(e) {
                return n(this, void 0, void 0, function* () {
                    return new Promise(t => n(this, void 0, void 0, function* () {
                        let i = !1;
                        {
                            const t = ["hub5pn.sandai.net", "g1.hub5pn.sandai.net", "g2.hub5pn.sandai.net", "g3.hub5pn.sandai.net"];
                            let n = "";
                            for (let r = 0; r < t.length; ++r) {
                                let o = t[r];
                                this.setDetectDesc("开始连接" + e.name + "【" + (r + 1) + "】");
                                let s = (new Date).getTime(), a = yield c.promise.probe(o);
                                if (a && a.alive) {
                                    let t = (new Date).getTime() - s;
                                    this.setDetectDesc(e.name + "连接成功（耗时：" + t + "毫秒）"), i = !0;
                                    break
                                }
                                A.warning("detectNATServer ping failed! host:", o, ", result", a), n.length > 0 && (n += ","), n += "ping失败（" + o + "）", this.setDetectDesc(e.name + "连接失败", n)
                            }
                        }
                        t(i)
                    }))
                })
            }

            detectAccountLogin(e) {
                return n(this, void 0, void 0, function* () {
                    return new Promise(t => n(this, void 0, void 0, function* () {
                        this.setDetectDesc("开始帐号登录服务");
                        let n = (new Date).getTime();
                        const r = yield i(39);
                        r.defaults.adapter = i(25);
                        let o = e.statResult || "";
                        try {
                            let e = yield r.request({
                                method: "options",
                                url: "https://xluser-ssl.xunlei.com/xluser.core.login",
                                params: {}
                            });
                            if (204 === e.status) {
                                let e = (new Date).getTime() - n;
                                this.setDetectDesc("连接帐号登录服务成功（耗时：" + e + "毫秒）"), t(!0)
                            } else o.length > 0 && (o += ","), o += "options请求失败（" + e.status + "）", this.setDetectDesc("连接帐号登录服务失败（" + e.status + "）", o), t(!1)
                        } catch (e) {
                            A.information("detectAccountLogin exception! e", e), o.length > 0 && (o += ","), o += "options请求失败，" + (e || ""), this.setDetectDesc("连接帐号登录服务失败", o), t(!1)
                        }
                    }))
                })
            }

            detectVipDownload(e) {
                return n(this, void 0, void 0, function* () {
                    return new Promise(t => n(this, void 0, void 0, function* () {
                        let i = !1;
                        do {
                            if (!(yield this.detectVipAuthServer(e))) break;
                            if (!(yield this.detectDCDNServer(e))) break;
                            i = !0
                        } while (0);
                        t(i)
                    }))
                })
            }

            detectUPNPState(e) {
                return n(this, void 0, void 0, function* () {
                    return new Promise(e => n(this, void 0, void 0, function* () {
                        this.setDetectDesc("开始检测UPnP状态");
                        let t = yield h.client.callServerFunction("QueryGlobalInfo"), i = t && t.isUPnPReady > 0;
                        this.setDetectDesc("UPnP状态" + (i ? "可用" : "不可用")), e(i)
                    }))
                })
            }

            detectDHTState(e) {
                return n(this, void 0, void 0, function* () {
                    return new Promise(e => n(this, void 0, void 0, function* () {
                        this.setDetectDesc("开始检测DHT状态");
                        let t = yield h.client.callServerFunction("QueryGlobalInfo"), i = t && t.dhtNodeCount > 0;
                        this.setDetectDesc("DHT状态" + (i ? "可用" : "不可用")), e(i)
                    }))
                })
            }

            detectIPv6Support(e) {
                return n(this, void 0, void 0, function* () {
                    return new Promise(e => {
                        this.setDetectDesc("开始检测IPv6支持"), f.getNetAdapterInfo(i => n(this, void 0, void 0, function* () {
                            A.information("adapterInfos", i), this.adapterInfos = i;
                            let n = !1;
                            for (let e = 0; e < i.length; ++e) {
                                let r = i[e];
                                if (r.type !== o.IF_TYPE_SOFTWARE_LOOPBACK && r.operStatus === s.IfOperStatusUp) {
                                    for (let e = 0; e < r.ipAddresses.length; ++e) if (r.ipAddresses[e].family === t.AF_INET6) {
                                        n = !0;
                                        break
                                    }
                                    if (n) break
                                }
                            }
                            if (n) {
                                let e = null;
                                const t = u(l.lookup);
                                let i = "hub5idx.v6.shub.sandai.net";
                                try {
                                    e = yield t(i, 6)
                                } catch (e) {
                                    A.warning("dnsLookup IPv6 failed! hostName", i, "e", e)
                                }
                                n = !!e && (yield this.tcpConnectAW(e.address, 80, 6))
                            }
                            this.setDetectDesc(n ? "机器和网络环境已支持IPv6" : "机器或网络环境不支持IPv6"), e(n)
                        }))
                    })
                })
            }

            sendFinishStat(e, t) {
                return n(this, void 0, void 0, function* () {
                    let n = "result=" + encodeURIComponent(e);
                    n += ",wrong_cnt=" + t, n += ",ip=" + (this.localIPInfo && this.localIPInfo.localIP ? this.localIPInfo.localIP : ""), n += ",windows_version=" + (yield Promise.resolve().then(() => i(12))).release();
                    let o = r.join(__rootDir, "../bin/SDK/DownloadSDK.dll");
                    n += ",download_engine_version=" + f.getFileVersion(o), n += ",dns=" + this.getDNSList().join("|"), p.XLStatNS.trackEvent("xlx_download_diagnosis", "download_diagnosis_result", "", 0, 0, 0, 0, n, this.statCookie)
                })
            }

            getLocalIPInfoAW() {
                return n(this, void 0, void 0, function* () {
                    if (this.localIPInfo) return this.localIPInfo;
                    const e = yield i(39);
                    e.defaults.adapter = i(25);
                    try {
                        let t = yield e.request({
                            method: "post",
                            url: "https://tool.lu/ip/ajax.html",
                            params: {},
                            headers: {}
                        });
                        200 === t.status && t.data && t.data.text && (this.localIPInfo = {
                            teleCommunications: t.data.text.ip2region_location,
                            localIP: t.data.text.ip
                        })
                    } catch (e) {
                        A.warning("request https://tool.lu/ip/ajax.html failed! e", e)
                    }
                    return this.localIPInfo
                })
            }

            start(e) {
                return n(this, void 0, void 0, function* () {
                    let t = "", i = 0;
                    this.statCookie = yield h.client.callServerFunction("GetDetectStatCookie"), h.client.broadcastEvent("DownloadDetectStart", e), this.fireEvent(m.Start);
                    let n = v.Success;
                    for (let e = 0; e < this.detectingItems.length; ++e) {
                        let r = this.detectingItems[e];
                        this.currentDetectingIndex = e, r.state = v.Started, this.fireEvent(m.StartItem, r, e), (yield r.detect(r)) ? r.state = v.Success : (r.state = v.Failed, n = v.Failed, t += r.name + "," + (r.statResult || "") + "|", i++), this.fireEvent(m.FinishItem, r, e, r.state)
                    }
                    yield this.getLocalIPInfoAW(), this.fireEvent(m.Finish, n), this.sendFinishStat(t, i).catch()
                })
            }

            getAllDectectItems() {
                return this.detectingItems
            }

            getDNSList() {
                let e = [];
                if (this.adapterInfos) {
                    let t = {};
                    for (let e = 0; e < this.adapterInfos.length; ++e) {
                        let i = this.adapterInfos[e];
                        i.type !== o.IF_TYPE_SOFTWARE_LOOPBACK && i.operStatus === s.IfOperStatusUp && i.dnsAddresses.forEach(e => {
                            t[e] = !0
                        })
                    }
                    e = Object.keys(t)
                }
                return e
            }

            restart(e) {
                return n(this, void 0, void 0, function* () {
                    for (let e = 0; e < this.detectingItems.length; ++e) {
                        let t = this.detectingItems[e];
                        t.state = v.None, t.detectDesc = "正在扫描…"
                    }
                    return this.currentDetectingIndex = 0, this.start(e)
                })
            }
        };
        e.getLocalIPInfo = function () {
            return n(this, void 0, void 0, function* () {
                return y.getLocalIPInfoAW()
            })
        }, e.start = function (e) {
            y.start(e).catch()
        }, e.restart = function (e) {
            y.restart(e).catch()
        }, e.getAllDectectItems = function () {
            return y.getAllDectectItems()
        }, e.getDNSList = function () {
            return y.getDNSList()
        }, e.attachListener = function (e, t) {
            y.attachListener(e, t)
        }, e.detachListener = function (e, t) {
            y.detachListener(e, t)
        }
    }(t.DownloadDetectToolsNS || (t.DownloadDetectToolsNS = {}))
}, function (e, t) {
    e.exports = require("dns")
}, function (e, t, i) {
    var n = {};
    n.sys = i(756), n.promise = i(610), e.exports = n
}, function (e, t, i) {
    "use strict";
    var n = i(610);
    t.probe = function (e, t, i) {
        var r = i || {};
        return n.probe(e, r).then(function (e) {
            t(e.alive, null)
        }).catch(function (e) {
            t(null, e)
        }).done()
    }
}, function (e, t) {
    e.exports = require("child_process")
}, function (e, t, i) {
    /*!
 *
 * Copyright 2009-2017 Kris Kowal under the terms of the MIT
 * license found at https://github.com/kriskowal/q/blob/v1/LICENSE
 *
 * With parts by Tyler Close
 * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found
 * at http://www.opensource.org/licenses/mit-license.html
 * Forked at ref_send.js version: 2009-05-11
 *
 * With parts by Mark Miller
 * Copyright (C) 2011 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
    !function (t) {
        "use strict";
        "function" == typeof bootstrap ? bootstrap("promise", t) : e.exports = t()
    }(function () {
        "use strict";
        var e = !1;
        try {
            throw new Error
        } catch (t) {
            e = !!t.stack
        }
        var t, i = C(), n = function () {
        }, r = function () {
            var e = {task: void 0, next: null}, t = e, i = !1, n = void 0, o = !1, s = [];

            function a() {
                for (var t, n; e.next;) t = (e = e.next).task, e.task = void 0, (n = e.domain) && (e.domain = void 0, n.enter()), l(t, n);
                for (; s.length;) l(t = s.pop());
                i = !1
            }

            function l(e, t) {
                try {
                    e()
                } catch (e) {
                    if (o) throw t && t.exit(), setTimeout(a, 0), t && t.enter(), e;
                    setTimeout(function () {
                        throw e
                    }, 0)
                }
                t && t.exit()
            }

            if (r = function (e) {
                t = t.next = {task: e, domain: o && process.domain, next: null}, i || (i = !0, n())
            }, "object" == typeof process && "[object process]" === process.toString() && process.nextTick) o = !0, n = function () {
                process.nextTick(a)
            }; else if ("function" == typeof setImmediate) n = "undefined" != typeof window ? setImmediate.bind(window, a) : function () {
                setImmediate(a)
            }; else if ("undefined" != typeof MessageChannel) {
                var c = new MessageChannel;
                c.port1.onmessage = function () {
                    n = u, c.port1.onmessage = a, a()
                };
                var u = function () {
                    c.port2.postMessage(0)
                };
                n = function () {
                    setTimeout(a, 0), u()
                }
            } else n = function () {
                setTimeout(a, 0)
            };
            return r.runAfter = function (e) {
                s.push(e), i || (i = !0, n())
            }, r
        }(), o = Function.call;

        function s(e) {
            return function () {
                return o.apply(e, arguments)
            }
        }

        var a, l = s(Array.prototype.slice), c = s(Array.prototype.reduce || function (e, t) {
            var i = 0, n = this.length;
            if (1 === arguments.length) for (; ;) {
                if (i in this) {
                    t = this[i++];
                    break
                }
                if (++i >= n) throw new TypeError
            }
            for (; i < n; i++) i in this && (t = e(t, this[i], i));
            return t
        }), u = s(Array.prototype.indexOf || function (e) {
            for (var t = 0; t < this.length; t++) if (this[t] === e) return t;
            return -1
        }), d = s(Array.prototype.map || function (e, t) {
            var i = this, n = [];
            return c(i, function (r, o, s) {
                n.push(e.call(t, o, s, i))
            }, void 0), n
        }), h = Object.create || function (e) {
            function t() {
            }

            return t.prototype = e, new t
        }, p = Object.defineProperty || function (e, t, i) {
            return e[t] = i.value, e
        }, f = s(Object.prototype.hasOwnProperty), A = Object.keys || function (e) {
            var t = [];
            for (var i in e) f(e, i) && t.push(i);
            return t
        }, v = s(Object.prototype.toString);
        a = "undefined" != typeof ReturnValue ? ReturnValue : function (e) {
            this.value = e
        };
        var g = "From previous event:";

        function m(t, i) {
            if (e && i.stack && "object" == typeof t && null !== t && t.stack) {
                for (var n = [], r = i; r; r = r.source) r.stack && (!t.__minimumStackCounter__ || t.__minimumStackCounter__ > r.stackCounter) && (p(t, "__minimumStackCounter__", {
                    value: r.stackCounter,
                    configurable: !0
                }), n.unshift(r.stack));
                n.unshift(t.stack);
                var o = function (e) {
                    for (var t = e.split("\n"), i = [], n = 0; n < t.length; ++n) {
                        var r = t[n];
                        !w(r) && (-1 === (o = r).indexOf("(module.js:") && -1 === o.indexOf("(node.js:")) && r && i.push(r)
                    }
                    var o;
                    return i.join("\n")
                }(n.join("\n" + g + "\n"));
                p(t, "stack", {value: o, configurable: !0})
            }
        }

        function y(e) {
            var t = /at .+ \((.+):(\d+):(?:\d+)\)$/.exec(e);
            if (t) return [t[1], Number(t[2])];
            var i = /at ([^ ]+):(\d+):(?:\d+)$/.exec(e);
            if (i) return [i[1], Number(i[2])];
            var n = /.*@(.+):(\d+)$/.exec(e);
            return n ? [n[1], Number(n[2])] : void 0
        }

        function w(e) {
            var n = y(e);
            if (!n) return !1;
            var r = n[0], o = n[1];
            return r === t && o >= i && o <= q
        }

        function C() {
            if (e) try {
                throw new Error
            } catch (e) {
                var i = e.stack.split("\n"), n = y(i[0].indexOf("@") > 0 ? i[1] : i[2]);
                if (!n) return;
                return t = n[0], n[1]
            }
        }

        function b(e) {
            return e instanceof E ? e : B(e) ? (t = e, i = I(), b.nextTick(function () {
                try {
                    t.then(i.resolve, i.reject, i.notify)
                } catch (e) {
                    i.reject(e)
                }
            }), i.promise) : U(e);
            var t, i
        }

        b.resolve = b, b.nextTick = r, b.longStackSupport = !1;
        var x = 1;

        function I() {
            var t, i = [], n = [], r = h(I.prototype), o = h(E.prototype);
            if (o.promiseDispatch = function (e, r, o) {
                var s = l(arguments);
                i ? (i.push(s), "when" === r && o[1] && n.push(o[1])) : b.nextTick(function () {
                    t.promiseDispatch.apply(t, s)
                })
            }, o.valueOf = function () {
                if (i) return o;
                var e = M(t);
                return R(e) && (t = e), e
            }, o.inspect = function () {
                return t ? t.inspect() : {state: "pending"}
            }, b.longStackSupport && e) try {
                throw new Error
            } catch (e) {
                o.stack = e.stack.substring(e.stack.indexOf("\n") + 1), o.stackCounter = x++
            }

            function s(r) {
                t = r, b.longStackSupport && e && (o.source = r), c(i, function (e, t) {
                    b.nextTick(function () {
                        r.promiseDispatch.apply(r, t)
                    })
                }, void 0), i = void 0, n = void 0
            }

            return r.promise = o, r.resolve = function (e) {
                t || s(b(e))
            }, r.fulfill = function (e) {
                t || s(U(e))
            }, r.reject = function (e) {
                t || s(L(e))
            }, r.notify = function (e) {
                t || c(n, function (t, i) {
                    b.nextTick(function () {
                        i(e)
                    })
                }, void 0)
            }, r
        }

        function k(e) {
            if ("function" != typeof e) throw new TypeError("resolver must be a function.");
            var t = I();
            try {
                e(t.resolve, t.reject, t.notify)
            } catch (e) {
                t.reject(e)
            }
            return t.promise
        }

        function S(e) {
            return k(function (t, i) {
                for (var n = 0, r = e.length; n < r; n++) b(e[n]).then(t, i)
            })
        }

        function E(e, t, i) {
            void 0 === t && (t = function (e) {
                return L(new Error("Promise does not support operation: " + e))
            }), void 0 === i && (i = function () {
                return {state: "unknown"}
            });
            var n = h(E.prototype);
            if (n.promiseDispatch = function (i, r, o) {
                var s;
                try {
                    s = e[r] ? e[r].apply(n, o) : t.call(n, r, o)
                } catch (e) {
                    s = L(e)
                }
                i && i(s)
            }, n.inspect = i, i) {
                var r = i();
                "rejected" === r.state && (n.exception = r.reason), n.valueOf = function () {
                    var e = i();
                    return "pending" === e.state || "rejected" === e.state ? n : e.value
                }
            }
            return n
        }

        function D(e, t, i, n) {
            return b(e).then(t, i, n)
        }

        function M(e) {
            if (R(e)) {
                var t = e.inspect();
                if ("fulfilled" === t.state) return t.value
            }
            return e
        }

        function R(e) {
            return e instanceof E
        }

        function B(e) {
            return (t = e) === Object(t) && "function" == typeof e.then;
            var t
        }

        "object" == typeof process && process && process.env && process.env.Q_DEBUG && (b.longStackSupport = !0), b.defer = I, I.prototype.makeNodeResolver = function () {
            var e = this;
            return function (t, i) {
                t ? e.reject(t) : arguments.length > 2 ? e.resolve(l(arguments, 1)) : e.resolve(i)
            }
        }, b.Promise = k, b.promise = k, k.race = S, k.all = z, k.reject = L, k.resolve = b, b.passByCopy = function (e) {
            return e
        }, E.prototype.passByCopy = function () {
            return this
        }, b.join = function (e, t) {
            return b(e).join(t)
        }, E.prototype.join = function (e) {
            return b([this, e]).spread(function (e, t) {
                if (e === t) return e;
                throw new Error("Q can't join: not the same: " + e + " " + t)
            })
        }, b.race = S, E.prototype.race = function () {
            return this.then(b.race)
        }, b.makePromise = E, E.prototype.toString = function () {
            return "[object Promise]"
        }, E.prototype.then = function (e, t, i) {
            var n = this, r = I(), o = !1;
            return b.nextTick(function () {
                n.promiseDispatch(function (t) {
                    o || (o = !0, r.resolve(function (t) {
                        try {
                            return "function" == typeof e ? e(t) : t
                        } catch (e) {
                            return L(e)
                        }
                    }(t)))
                }, "when", [function (e) {
                    o || (o = !0, r.resolve(function (e) {
                        if ("function" == typeof t) {
                            m(e, n);
                            try {
                                return t(e)
                            } catch (e) {
                                return L(e)
                            }
                        }
                        return L(e)
                    }(e)))
                }])
            }), n.promiseDispatch(void 0, "when", [void 0, function (e) {
                var t, n = !1;
                try {
                    t = function (e) {
                        return "function" == typeof i ? i(e) : e
                    }(e)
                } catch (e) {
                    if (n = !0, !b.onerror) throw e;
                    b.onerror(e)
                }
                n || r.notify(t)
            }]), r.promise
        }, b.tap = function (e, t) {
            return b(e).tap(t)
        }, E.prototype.tap = function (e) {
            return e = b(e), this.then(function (t) {
                return e.fcall(t).thenResolve(t)
            })
        }, b.when = D, E.prototype.thenResolve = function (e) {
            return this.then(function () {
                return e
            })
        }, b.thenResolve = function (e, t) {
            return b(e).thenResolve(t)
        }, E.prototype.thenReject = function (e) {
            return this.then(function () {
                throw e
            })
        }, b.thenReject = function (e, t) {
            return b(e).thenReject(t)
        }, b.nearer = M, b.isPromise = R, b.isPromiseAlike = B, b.isPending = function (e) {
            return R(e) && "pending" === e.inspect().state
        }, E.prototype.isPending = function () {
            return "pending" === this.inspect().state
        }, b.isFulfilled = function (e) {
            return !R(e) || "fulfilled" === e.inspect().state
        }, E.prototype.isFulfilled = function () {
            return "fulfilled" === this.inspect().state
        }, b.isRejected = function (e) {
            return R(e) && "rejected" === e.inspect().state
        }, E.prototype.isRejected = function () {
            return "rejected" === this.inspect().state
        };
        var P, T, O, N = [], j = [], F = [], Q = !0;

        function K() {
            N.length = 0, j.length = 0, Q || (Q = !0)
        }

        function L(e) {
            var t = E({
                when: function (t) {
                    return t && function (e) {
                        if (Q) {
                            var t = u(j, e);
                            -1 !== t && ("object" == typeof process && "function" == typeof process.emit && b.nextTick.runAfter(function () {
                                var i = u(F, e);
                                -1 !== i && (process.emit("rejectionHandled", N[t], e), F.splice(i, 1))
                            }), j.splice(t, 1), N.splice(t, 1))
                        }
                    }(this), t ? t(e) : this
                }
            }, function () {
                return this
            }, function () {
                return {state: "rejected", reason: e}
            });
            return function (e, t) {
                Q && ("object" == typeof process && "function" == typeof process.emit && b.nextTick.runAfter(function () {
                    -1 !== u(j, e) && (process.emit("unhandledRejection", t, e), F.push(e))
                }), j.push(e), t && void 0 !== t.stack ? N.push(t.stack) : N.push("(no stack) " + t))
            }(t, e), t
        }

        function U(e) {
            return E({
                when: function () {
                    return e
                }, get: function (t) {
                    return e[t]
                }, set: function (t, i) {
                    e[t] = i
                }, delete: function (t) {
                    delete e[t]
                }, post: function (t, i) {
                    return null === t || void 0 === t ? e.apply(void 0, i) : e[t].apply(e, i)
                }, apply: function (t, i) {
                    return e.apply(t, i)
                }, keys: function () {
                    return A(e)
                }
            }, void 0, function () {
                return {state: "fulfilled", value: e}
            })
        }

        function Y(e, t, i) {
            return b(e).spread(t, i)
        }

        function G(e, t, i) {
            return b(e).dispatch(t, i)
        }

        function z(e) {
            return D(e, function (e) {
                var t = 0, i = I();
                return c(e, function (n, r, o) {
                    var s;
                    R(r) && "fulfilled" === (s = r.inspect()).state ? e[o] = s.value : (++t, D(r, function (n) {
                        e[o] = n, 0 == --t && i.resolve(e)
                    }, i.reject, function (e) {
                        i.notify({index: o, value: e})
                    }))
                }, void 0), 0 === t && i.resolve(e), i.promise
            })
        }

        function H(e) {
            if (0 === e.length) return b.resolve();
            var t = b.defer(), i = 0;
            return c(e, function (n, r, o) {
                var s = e[o];
                i++, D(s, function (e) {
                    t.resolve(e)
                }, function (e) {
                    if (0 == --i) {
                        var n = e || new Error("" + e);
                        n.message = "Q can't get fulfillment value from any promise, all promises were rejected. Last error message: " + n.message, t.reject(n)
                    }
                }, function (e) {
                    t.notify({index: o, value: e})
                })
            }, void 0), t.promise
        }

        function _(e) {
            return D(e, function (e) {
                return e = d(e, b), D(z(d(e, function (e) {
                    return D(e, n, n)
                })), function () {
                    return e
                })
            })
        }

        b.resetUnhandledRejections = K, b.getUnhandledReasons = function () {
            return N.slice()
        }, b.stopUnhandledRejectionTracking = function () {
            K(), Q = !1
        }, K(), b.reject = L, b.fulfill = U, b.master = function (e) {
            return E({
                isDef: function () {
                }
            }, function (t, i) {
                return G(e, t, i)
            }, function () {
                return b(e).inspect()
            })
        }, b.spread = Y, E.prototype.spread = function (e, t) {
            return this.all().then(function (t) {
                return e.apply(void 0, t)
            }, t)
        }, b.async = function (e) {
            return function () {
                function t(e, t) {
                    var o;
                    if ("undefined" == typeof StopIteration) {
                        try {
                            o = i[e](t)
                        } catch (e) {
                            return L(e)
                        }
                        return o.done ? b(o.value) : D(o.value, n, r)
                    }
                    try {
                        o = i[e](t)
                    } catch (e) {
                        return function (e) {
                            return "[object StopIteration]" === v(e) || e instanceof a
                        }(e) ? b(e.value) : L(e)
                    }
                    return D(o, n, r)
                }

                var i = e.apply(this, arguments), n = t.bind(t, "next"), r = t.bind(t, "throw");
                return n()
            }
        }, b.spawn = function (e) {
            b.done(b.async(e)())
        }, b.return = function (e) {
            throw new a(e)
        }, b.promised = function (e) {
            return function () {
                return Y([this, z(arguments)], function (t, i) {
                    return e.apply(t, i)
                })
            }
        }, b.dispatch = G, E.prototype.dispatch = function (e, t) {
            var i = this, n = I();
            return b.nextTick(function () {
                i.promiseDispatch(n.resolve, e, t)
            }), n.promise
        }, b.get = function (e, t) {
            return b(e).dispatch("get", [t])
        }, E.prototype.get = function (e) {
            return this.dispatch("get", [e])
        }, b.set = function (e, t, i) {
            return b(e).dispatch("set", [t, i])
        }, E.prototype.set = function (e, t) {
            return this.dispatch("set", [e, t])
        }, b.del = b.delete = function (e, t) {
            return b(e).dispatch("delete", [t])
        }, E.prototype.del = E.prototype.delete = function (e) {
            return this.dispatch("delete", [e])
        }, b.mapply = b.post = function (e, t, i) {
            return b(e).dispatch("post", [t, i])
        }, E.prototype.mapply = E.prototype.post = function (e, t) {
            return this.dispatch("post", [e, t])
        }, b.send = b.mcall = b.invoke = function (e, t) {
            return b(e).dispatch("post", [t, l(arguments, 2)])
        }, E.prototype.send = E.prototype.mcall = E.prototype.invoke = function (e) {
            return this.dispatch("post", [e, l(arguments, 1)])
        }, b.fapply = function (e, t) {
            return b(e).dispatch("apply", [void 0, t])
        }, E.prototype.fapply = function (e) {
            return this.dispatch("apply", [void 0, e])
        }, b.try = b.fcall = function (e) {
            return b(e).dispatch("apply", [void 0, l(arguments, 1)])
        }, E.prototype.fcall = function () {
            return this.dispatch("apply", [void 0, l(arguments)])
        }, b.fbind = function (e) {
            var t = b(e), i = l(arguments, 1);
            return function () {
                return t.dispatch("apply", [this, i.concat(l(arguments))])
            }
        }, E.prototype.fbind = function () {
            var e = this, t = l(arguments);
            return function () {
                return e.dispatch("apply", [this, t.concat(l(arguments))])
            }
        }, b.keys = function (e) {
            return b(e).dispatch("keys", [])
        }, E.prototype.keys = function () {
            return this.dispatch("keys", [])
        }, b.all = z, E.prototype.all = function () {
            return z(this)
        }, b.any = H, E.prototype.any = function () {
            return H(this)
        }, b.allResolved = (P = _, T = "allResolved", O = "allSettled", function () {
            return "undefined" != typeof console && "function" == typeof console.warn && console.warn(T + " is deprecated, use " + O + " instead.", new Error("").stack), P.apply(P, arguments)
        }), E.prototype.allResolved = function () {
            return _(this)
        }, b.allSettled = function (e) {
            return b(e).allSettled()
        }, E.prototype.allSettled = function () {
            return this.then(function (e) {
                return z(d(e, function (e) {
                    function t() {
                        return e.inspect()
                    }

                    return (e = b(e)).then(t, t)
                }))
            })
        }, b.fail = b.catch = function (e, t) {
            return b(e).then(void 0, t)
        }, E.prototype.fail = E.prototype.catch = function (e) {
            return this.then(void 0, e)
        }, b.progress = function (e, t) {
            return b(e).then(void 0, void 0, t)
        }, E.prototype.progress = function (e) {
            return this.then(void 0, void 0, e)
        }, b.fin = b.finally = function (e, t) {
            return b(e).finally(t)
        }, E.prototype.fin = E.prototype.finally = function (e) {
            if (!e || "function" != typeof e.apply) throw new Error("Q can't apply finally callback");
            return e = b(e), this.then(function (t) {
                return e.fcall().then(function () {
                    return t
                })
            }, function (t) {
                return e.fcall().then(function () {
                    throw t
                })
            })
        }, b.done = function (e, t, i, n) {
            return b(e).done(t, i, n)
        }, E.prototype.done = function (e, t, i) {
            var n = function (e) {
                b.nextTick(function () {
                    if (m(e, r), !b.onerror) throw e;
                    b.onerror(e)
                })
            }, r = e || t || i ? this.then(e, t, i) : this;
            "object" == typeof process && process && process.domain && (n = process.domain.bind(n)), r.then(void 0, n)
        }, b.timeout = function (e, t, i) {
            return b(e).timeout(t, i)
        }, E.prototype.timeout = function (e, t) {
            var i = I(), n = setTimeout(function () {
                t && "string" != typeof t || ((t = new Error(t || "Timed out after " + e + " ms")).code = "ETIMEDOUT"), i.reject(t)
            }, e);
            return this.then(function (e) {
                clearTimeout(n), i.resolve(e)
            }, function (e) {
                clearTimeout(n), i.reject(e)
            }, i.notify), i.promise
        }, b.delay = function (e, t) {
            return void 0 === t && (t = e, e = void 0), b(e).delay(t)
        }, E.prototype.delay = function (e) {
            return this.then(function (t) {
                var i = I();
                return setTimeout(function () {
                    i.resolve(t)
                }, e), i.promise
            })
        }, b.nfapply = function (e, t) {
            return b(e).nfapply(t)
        }, E.prototype.nfapply = function (e) {
            var t = I(), i = l(e);
            return i.push(t.makeNodeResolver()), this.fapply(i).fail(t.reject), t.promise
        }, b.nfcall = function (e) {
            var t = l(arguments, 1);
            return b(e).nfapply(t)
        }, E.prototype.nfcall = function () {
            var e = l(arguments), t = I();
            return e.push(t.makeNodeResolver()), this.fapply(e).fail(t.reject), t.promise
        }, b.nfbind = b.denodeify = function (e) {
            if (void 0 === e) throw new Error("Q can't wrap an undefined function");
            var t = l(arguments, 1);
            return function () {
                var i = t.concat(l(arguments)), n = I();
                return i.push(n.makeNodeResolver()), b(e).fapply(i).fail(n.reject), n.promise
            }
        }, E.prototype.nfbind = E.prototype.denodeify = function () {
            var e = l(arguments);
            return e.unshift(this), b.denodeify.apply(void 0, e)
        }, b.nbind = function (e, t) {
            var i = l(arguments, 2);
            return function () {
                var n = i.concat(l(arguments)), r = I();
                return n.push(r.makeNodeResolver()), b(function () {
                    return e.apply(t, arguments)
                }).fapply(n).fail(r.reject), r.promise
            }
        }, E.prototype.nbind = function () {
            var e = l(arguments, 0);
            return e.unshift(this), b.nbind.apply(void 0, e)
        }, b.nmapply = b.npost = function (e, t, i) {
            return b(e).npost(t, i)
        }, E.prototype.nmapply = E.prototype.npost = function (e, t) {
            var i = l(t || []), n = I();
            return i.push(n.makeNodeResolver()), this.dispatch("post", [e, i]).fail(n.reject), n.promise
        }, b.nsend = b.nmcall = b.ninvoke = function (e, t) {
            var i = l(arguments, 2), n = I();
            return i.push(n.makeNodeResolver()), b(e).dispatch("post", [t, i]).fail(n.reject), n.promise
        }, E.prototype.nsend = E.prototype.nmcall = E.prototype.ninvoke = function (e) {
            var t = l(arguments, 1), i = I();
            return t.push(i.makeNodeResolver()), this.dispatch("post", [e, t]).fail(i.reject), i.promise
        }, b.nodeify = function (e, t) {
            return b(e).nodeify(t)
        }, E.prototype.nodeify = function (e) {
            if (!e) return this;
            this.then(function (t) {
                b.nextTick(function () {
                    e(null, t)
                })
            }, function (t) {
                b.nextTick(function () {
                    e(t)
                })
            })
        }, b.noConflict = function () {
            throw new Error("Q.noConflict only works when Q is used as a global")
        };
        var q = C();
        return b
    })
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = {}, o = {numeric: !0, timeout: 2, min_reply: 1, extra: []};
    r.getResult = function (e, t) {
        var i = t || {}, r = [];
        return ["numeric", "timeout", "min_reply", "extra"].forEach(function (e) {
            "boolean" != typeof i[e] && (i[e] = i[e] || o[e])
        }), i.numeric && r.push("-n"), i.timeout && (r = r.concat(["-w", n.format("%d", i.timeout)])), i.min_reply && (r = r.concat(["-c", n.format("%d", i.min_reply)])), i.extra && (r = r.concat(i.extra)), r.push(e), r
    }, e.exports = r
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = {}, o = {numeric: !0, timeout: 2, min_reply: 1, extra: []};
    r.getResult = function (e, t) {
        var i = t || {}, r = [];
        return ["numeric", "timeout", "min_reply", "extra"].forEach(function (e) {
            "boolean" != typeof i[e] && (i[e] = i[e] || o[e])
        }), i.numeric && r.push("-n"), i.timeout && (r = r.concat(["-t", n.format("%d", i.timeout)])), i.min_reply && (r = r.concat(["-c", n.format("%d", i.min_reply)])), i.extra && (r = r.concat(i.extra)), r.push(e), r
    }, e.exports = r
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = {}, o = {numeric: !0, timeout: 5, min_reply: 1, extra: []};
    r.getResult = function (e, t) {
        var i = t || {}, r = [];
        return ["numeric", "timeout", "min_reply", "extra"].forEach(function (e) {
            "boolean" != typeof i[e] && (i[e] = i[e] || o[e])
        }), i.numeric || r.push("-a"), i.timeout && (r = r.concat(["-w", n.format("%d", 1e3 * i.timeout)])), i.min_reply && (r = r.concat(["-n", n.format("%d", i.min_reply)])), i.extra && (r = r.concat(i.extra)), r.push(e), r
    }, e.exports = r
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = i(611), o = i(763), s = i(612), a = i(764);

    function l() {
    }

    l.createParser = function (e) {
        if (!r.isPlatformSupport(e)) throw new Error(n.format("Platform |%s| is not support", e));
        var t = null;
        return r.isWindow(e) ? t = new o : r.isMacOS(e) ? t = new s : r.isLinux(e) && (t = new a), t
    }, e.exports = l
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = i(200), o = i(496);

    function s() {
        o.call(this), this._ipv4Regex = /^([0-9]{1,3}\.){3}[0-9]{1,3}$/
    }

    n.inherits(s, o), s.prototype._processHeader = function (e) {
        var t = e.split(" ");
        this._response.host = t[1], this._ipv4Regex.test(this._response.host) ? this._response.numeric_host = t[1] : this._response.numeric_host = t[2].slice(1, -1), this._changeState(this.STATES.BODY)
    }, s.prototype._processBody = function (e) {
        var t = e.split(" "), i = r.filter(t, function (e) {
            return e.indexOf("=") >= 0 || e.indexOf("<") >= 0
        });
        if (i.length >= 3) {
            var n = r.find(i, function (e) {
                return e.indexOf("ms") >= 0
            }), o = /([0-9\.]+)/.exec(n);
            this._times.push(parseFloat(o[1], 10))
        }
        ":" === e.slice(-1) && this._changeState(this.STATES.FOOTER)
    }, s.prototype._processFooter = function (e) {
        if (e.indexOf("ms") >= 0) {
            var t = /([0-9\.]+)/g, i = t.exec(e), n = t.exec(e), o = t.exec(e);
            r.all([i, n, o]) && (this._response.min = parseFloat(i[1], 10), this._response.max = parseFloat(n[1], 10), this._response.avg = parseFloat(o[1], 10), this._changeState(this.STATES.END))
        }
    }, e.exports = s
}, function (e, t, i) {
    "use strict";
    var n = i(6), r = i(496), o = i(612);

    function s() {
        r.call(this)
    }

    n.inherits(s, r), s.prototype._processHeader = function (e) {
        var t = e.split(" ");
        this._response.host = t[1], this._response.numeric_host = t[2].slice(1, -1), this._changeState(this.STATES.BODY)
    }, s.prototype._processBody = function (e) {
        o.prototype._processBody.call(this, e)
    }, s.prototype._processFooter = function (e) {
        o.prototype._processFooter.call(this, e)
    }, e.exports = s
}, function (e, t, i) {
    "use strict";
    var n = i(978);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(545), r = i(377);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\custom-task-filter.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(546), r = i(379);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(769);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\create-big-file.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, i) {
    "use strict";
    var n = i(980);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(547), r = i(381);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(771);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\img-dlg.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = i(982);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(548), r = i(383);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(775);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\copy-link-share.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, i) {
    "use strict";
    var n = i(984);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(549), r = i(385);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(196), i(777), i(158);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\favorites.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = i(986);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(550), r = i(387);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(779);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, "12995ddd", null);
    a.options.__file = "src\\message-box-renderer\\views\\http-auth-login.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = i(989);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(551), r = i(389);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\shoulei-sync-guide.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABDCAYAAAALU4KYAAAABHNCSVQICAgIfAhkiAAABw9JREFUeF7tnElwFFUYx/9fzySzZSUY9m2QRbaERaDUg0Io0j2JckELF8SDLHoxHAStwoNSxXIgnATRA+JCWVwUawYoIsVBS4QghE0WCXswMTF7pmeS6Wf1DAnpmQmQ6ZmeV8l0VVcnPe997/v/+v/165p+CaGPbX7xhRUmUp4TSCgwE5tGoLy+2g7E84qChgCxiwEFVQro95OHZ+yPppPCT84puvqMzezfbxZQMBDBxKqpS0GVtyt9xZ8Vk//qHUMDcH7xufXpgmkzAbZYBxrI/RjglQPs48ojM3Z26+wBOG/phQ+tJmwbyADipU0OYEPlkRnb1XhBgLPFi9OsRKeJYI3XIAM5DmOQZcbmnjk0/RIBTJgvXjxtIiocyKLjra2L4cypQ9PmUcHSyy9ZTcqxeA8wGOLJAWERFSy9tMliwqeDQXC8NfoC+IQKiy8dNQtUFO/ggyFel8LcNEe8XE9gg+ohOV4XVwFqaLZ0mcUr4GCMQ4ViCqCeC0+zpCspB+ogSDNTAHXgA2i6eDXlQB0IaZrEL8CR+eagtJq6Lh0SE9uVporXuHTgR6uHYuWynKD6fT82Ycue+sSSiDE6TeEU4KkDTmQ6hKCsljYF81+tjlFiYrvRJOlvLh141T1Ro3yy63piScQYnZ4W+QR4zaMFOEniFKCz+DqXDrx+yKnxxESR0xKeIPEJsNqtBeh0cQpwnHiDSwfe9IzXOHC8dDPGu1Riu9FYsZpLgLc8EzTKx0k3Eksixug0mlMH3glz4BheHThKvMmlA+96xmk8MVq6FaNHEtuNRki3uARY4x6rUT7SdTuxJGKMTsNFPgHe92gBjpA4BZhffJtLB9YeGqPxxDDxToweSWw3ekriE2CdWwsw38UpwDzxLpcOrPeM0lhnqHQvsVaKMToNke5wCbDBPVojKc91N0aJie1GOQY6MNtBWPtKBn4778ev532PVNYY5sDcxzjwhZkWPD8zHbt/akNzu3GeoGzxnmGjnds7DGPzTUFw7+1owvcVHX1CbPKM1HyWI9X02fb1Ijs+Xx/68vVWbQAF79Qm1na9olOmVGMIQNdCK/ZvytUIW1fehO8qvFHFtrhHaM5nue5HbfdGkQ27ykLwurcVnzXCfUI2BCJliPcNAaiW78W9+VCPvbe1O5qjQmz1DNe0y5T+iQCiwtu9PltzXi3f6avqDCtjshsEUFU5y2nG4W15ERDX7GjGt2FObA8D6AgD+P4yO7avzoqAV7yhAeeqjXsJRTbJGAd2K1UhHtkaCfGbCi/WlDf3AOlwax1odz104J6ybLxZpF2FrDpv6UZj4anJkkWqNaSEe1tFhXh0a26EE/dVyFhd3hJsKrvzNe6yuuqCv39ZloW3irQLaVV4SzY2Guq87uQoXTQeYHc5V2yLAvGojHfLW+DzaAFapDp8tT46vKINyYEXdKBZ/NdwB3ZfvQKnCb9sy4lw4tdHfXh7iUXjwH0VPqws0p5Tnbd4QxOqqgOGzLjRBiFTEgGqCakQj0WB2OZlyLCFZux2GXCELX9X4S1KMrygA0mqT5oDezvx+NbsCCf6H0ym6aEVHj2bCu/Fjc1JdV7PPRBSQ9IBqskUOk04vjUrAmJ42YTgteBsEsu2d04E6T8uAD6EmNknxBC8Vm7gBUuYJ4CPgsgjvBBAVyM3DuwujcIJajln9DgxBK8NZ28kb7bta5onuJq4A6gmm+Mg7C2zB/NeVd6BJgO/ourPMxHB1cwlwP6ISGbbFECd9AklLSkH6oBIKGlNAdQHsC0FMAVQBwGdXQmlnD4f6BRmVHdCaUeqhHXQJpR6UwB1ASzxngDRAh0xBm9Xxv4glMq7QVjDAwWTAAjqTvTgGMpKYYCiqEcWPAYUHrIFwPAFocS/FgLbZVRKaWbAmkawpQuwWgi2NAoezaEFC0+8dQUA2cfg7WSQ/QxenwK5k6HTuDeagELrCKVsKKhT/RuCzCfO/gkbqo5yWCm0WwQ4bP0H9YRD9TRTwbbLDO1eBe0+Fvw5QY5tBUtzhl46lPo/AFF5f5Pt3Z4IsFsouKugHBaCNV1PxPj1lf0PoKpgZQavn4HpnToZK8PP6TtDAJczE3ydF0A0NZa0VXi5GYShWQIyH7wIiiWOEX1avQz1zQoa23VAZKiExbwQByjwcKFKSedimKiiPyJsFgSh5WUQTP28h/VnnES0DQSAhjaG+hYF3kevtIscnpmexUGqVD/QrvR5mU0BlB9Aj/7Xdw4LMDxXQLZDfa2XCHnGxVRLuakdqG1U75mPGZehChBew0G60t0yUv5cloZR2AhimwCk9Q6ZaQNGDCGox4G4tXYA9xsZWiNX3HUCtBl3sQWnqVNz7+8TxHJmgwwnBDiz7FiQZUdhmhmOgQguXFOXH62NHTjX5sVJBFANO67jAEVdyPg/KEV5yF6ISZwAAAAASUVORK5CYII="
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/gif;base64, "
}, function (e, t) {
    e.exports = "data:image/gif;base64, "
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(552), r = i(391);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\shoulei-file-transfer.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/jpeg;base64, "
}, function (e, t, i) {
    "use strict";
    var n = this && this.__awaiter || function (e, t, i, n) {
        return new (i || (i = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(n.next(e))
                } catch (e) {
                    o(e)
                }
            }

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

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

            l((n = n.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = i(2), o = i(39), s = i(609), a = i(13), l = i(138), c = i(1).default.getLogger("ShouleiInstallImg"),
        u = "http://static-xl.a.88cdn.com/json/mobile-pc.json";
    let d = "";
    t.getMobileImgSrc = function () {
        return n(this, void 0, void 0, function* () {
            let e = "";
            do {
                let t = null;
                try {
                    o.default.defaults.adapter = i(25), t = yield o.default.get(u)
                } catch (e) {
                    c.warning(e)
                }
                let n = "";
                if (null !== t && void 0 !== t.status && 200 === t.status && void 0 !== t.data && null !== t.data && t.data.downloadQR && (n = t.data.downloadQR), !n) break;
                let h = l.ParseUrlFileNameNS.getNameFromUrl(n);
                if (!h) break;
                let p = r.resolve(__profilesDir, `mobile/${h}`);
                if (p === d && (yield a.FileSystemAWNS.existsAW(p))) {
                    e = p;
                    break
                }
                c.information("downloadFileAW", n, p), (yield s.AxiosNS.downloadFileAW(n, p)) && (d = p, e = p)
            } while (0);
            return e
        })
    }
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(553), r = i(393);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\custom-download-mode.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    i.r(t);
    var n = i(554), r = i(395);
    for (var o in r) "default" !== o && function (e) {
        i.d(t, e, function () {
            return r[e]
        })
    }(o);
    i(791);
    var s = i(0), a = Object(s.a)(r.default, n.a, n.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\imgViewer.vue", t.default = a.exports
}, function (e, t, i) {
    "use strict";
    var n = i(991);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(993);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(995);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(999);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1001);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1006);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1008);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1010);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1012);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1014);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1017);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1019);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1021);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1023);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1025);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1027);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1030);
    i.n(n).a
}, function (e, t, i) {
    "use strict";
    var n = i(1032);
    i.n(n).a
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function (e, t) {
}, , function (e, t) {
}, , , , , , , , , , , , , , , , , function (e, t) {
}, , , , , , , , , , , , , , , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , , , function (e, t) {
}, , , , function (e, t) {
}, , function (e, t) {
}, , , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , , , , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , , function (e, t) {
}, , function (e, t) {
}]);
//# sourceMappingURL=renderer.js.map
/*! Thunder 11 BY LUOCHENZHIMU */
/*! Last updated on 2020/08/22 */
/*! https://www.luochenzhimu.com */