Skip to content

案例一 xx音乐

前言

aHR0cHM6Ly93d3cua3V3by5jbi9zZWFyY2gvbGlzdD9rZXk9JUU5JTlEJTkyJUU4JThBJUIx

是一个加载器和模块分离开来的情景

一、分析加密参数 reqId

直接打上含有music/playUrl的xhr断点 img_2.png

顺着堆栈往上找 img.png

结果发现是113模块 img_1.png

既然找到了模块,就先扣下来看看~

二、扣模块代码

js
(window.webpackJsonp = window.webpackJsonp || []).push([[32],
    {

        113: function (e, t, r) {
            var n, o, l = r(148), c = r(149), d = 0, h = 0;

            e.exports = function (e, t, r) {
                var i = t && r || 0
                    , b = t || []
                    , f = (e = e || {}).node || n
                    , v = void 0 !== e.clockseq ? e.clockseq : o;
                if (null == f || null == v) {
                    var m = l();
                    null == f && (f = n = [1 | m[0], m[1], m[2], m[3], m[4], m[5]]),
                    null == v && (v = o = 16383 & (m[6] << 8 | m[7]))
                }
                var y = void 0 !== e.msecs ? e.msecs : (new Date).getTime()
                    , w = void 0 !== e.nsecs ? e.nsecs : h + 1
                    , dt = y - d + (w - h) / 1e4;
                if (dt < 0 && void 0 === e.clockseq && (v = v + 1 & 16383),
                (dt < 0 || y > d) && void 0 === e.nsecs && (w = 0),
                w >= 1e4)
                    throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
                d = y,
                    h = w,
                    o = v;
                var A = (1e4 * (268435455 & (y += 122192928e5)) + w) % 4294967296;
                b[i++] = A >>> 24 & 255,
                    b[i++] = A >>> 16 & 255,
                    b[i++] = A >>> 8 & 255,
                    b[i++] = 255 & A;
                var x = y / 4294967296 * 1e4 & 268435455;
                b[i++] = x >>> 8 & 255,
                    b[i++] = 255 & x,
                    b[i++] = x >>> 24 & 15 | 16,
                    b[i++] = x >>> 16 & 255,
                    b[i++] = v >>> 8 | 128,
                    b[i++] = 255 & v;
                for (var T = 0; T < 6; ++T)
                    b[i + T] = f[T];
                return t || c(b)
            }
        },
        148: function (e, t) {
            var r = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || "undefined" != typeof msCrypto && "function" == typeof window.msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto);
            if (r) {
                var n = new Uint8Array(16);
                e.exports = function () {
                    return r(n),
                        n
                }
            } else {
                var o = new Array(16);
                e.exports = function () {
                    for (var e, i = 0; i < 16; i++)
                        3 & i || (e = 4294967296 * Math.random()),
                            o[i] = e >>> ((3 & i) << 3) & 255;
                    return o
                }
            }
        },
        149: function (e, t) {
            for (var r = [], i = 0; i < 256; ++i)
                r[i] = (i + 256).toString(16).substr(1);
            e.exports = function (e, t) {
                var i = t || 0
                    , n = r;
                return [n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]]].join("")
            }
        },
    }]);

一眼没看到加载器 😭,说明不简单!!!

那就继续找加载器!

三、寻找加载器

断点给到 var n, o, l = r(148), c = r(149), d = 0, h = 0;img_3.png

img_4.png

img_5.png

扣代码

js
!function(e) {
    function r(data) {
        for (var r, n, f = data[0], l = data[1], d = data[2], i = 0, v = []; i < f.length; i++)
            n = f[i],
            Object.prototype.hasOwnProperty.call(o, n) && o[n] && v.push(o[n][0]),
            o[n] = 0;
        for (r in l)
            Object.prototype.hasOwnProperty.call(l, r) && (e[r] = l[r]);
        for (h && h(data); v.length; )
            v.shift()();
        return c.push.apply(c, d || []),
        t()
    }
    function t() {
        for (var e, i = 0; i < c.length; i++) {
            for (var r = c[i], t = !0, n = 1; n < r.length; n++) {
                var l = r[n];
                0 !== o[l] && (t = !1)
            }
            t && (c.splice(i--, 1),
            e = f(f.s = r[0]))
        }
        return e
    }
    var n = {}
      , o = {
        31: 0
    }
      , c = [];
    function f(r) {
        if (n[r])
            return n[r].exports;
        var t = n[r] = {
            i: r,
            l: !1,
            exports: {}
        };
        return e[r].call(t.exports, t, t.exports, f),
        t.l = !0,
        t.exports
    }
    f.e = function(e) {
        var r = []
          , t = o[e];
        if (0 !== t)
            if (t)
                r.push(t[2]);
            else {
                var n = new Promise((function(r, n) {
                    t = o[e] = [r, n]
                }
                ));
                r.push(t[2] = n);
                var c, script = document.createElement("script");
                script.charset = "utf-8",
                script.timeout = 120,
                f.nc && script.setAttribute("nonce", f.nc),
                script.src = function(e) {
                    return f.p + "" + {
                        0: "b7b2af8",
                        1: "2e7a6aa",
                        4: "8c9b5e8",
                        5: "c152b03",
                        6: "d45c223",
                        7: "afdc26c",
                        8: "a5a7763",
                        9: "71bde06",
                        10: "74c743d",
                        11: "0d21c3c",
                        12: "7723389",
                        13: "03af811",
                        14: "e3e31ae",
                        15: "dbf836b",
                        16: "c33bd0a",
                        17: "3446ac0",
                        18: "3218e51",
                        19: "413f09d",
                        20: "907862f",
                        21: "91b31c2",
                        22: "07aa6ad",
                        23: "f4b4dd3",
                        24: "ceded12",
                        25: "81a2f6c",
                        26: "14f104c",
                        27: "527b93f",
                        28: "f6040d2",
                        29: "a622043",
                        30: "7704cc4",
                        33: "5e0685f"
                    }[e] + ".js"
                }(e);
                var l = new Error;
                c = function(r) {
                    script.onerror = script.onload = null,
                    clearTimeout(d);
                    var t = o[e];
                    if (0 !== t) {
                        if (t) {
                            var n = r && ("load" === r.type ? "missing" : r.type)
                              , c = r && r.target && r.target.src;
                            l.message = "Loading chunk " + e + " failed.\n(" + n + ": " + c + ")",
                            l.name = "ChunkLoadError",
                            l.type = n,
                            l.request = c,
                            t[1](l)
                        }
                        o[e] = void 0
                    }
                }
                ;
                var d = setTimeout((function() {
                    c({
                        type: "timeout",
                        target: script
                    })
                }
                ), 12e4);
                script.onerror = script.onload = c,
                document.head.appendChild(script)
            }
        return Promise.all(r)
    }
    ,
    f.m = e,
    f.c = n,
    f.d = function(e, r, t) {
        f.o(e, r) || Object.defineProperty(e, r, {
            enumerable: !0,
            get: t
        })
    }
    ,
    f.r = function(e) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
            value: "Module"
        }),
        Object.defineProperty(e, "__esModule", {
            value: !0
        })
    }
    ,
    f.t = function(e, r) {
        if (1 & r && (e = f(e)),
        8 & r)
            return e;
        if (4 & r && "object" == typeof e && e && e.__esModule)
            return e;
        var t = Object.create(null);
        if (f.r(t),
        Object.defineProperty(t, "default", {
            enumerable: !0,
            value: e
        }),
        2 & r && "string" != typeof e)
            for (var n in e)
                f.d(t, n, function(r) {
                    return e[r]
                }
                .bind(null, n));
        return t
    }
    ,
    f.n = function(e) {
        var r = e && e.__esModule ? function() {
            return e.default
        }
        : function() {
            return e
        }
        ;
        return f.d(r, "a", r),
        r
    }
    ,
    f.o = function(object, e) {
        return Object.prototype.hasOwnProperty.call(object, e)
    }
    ,
    f.p = "https://h5s.kuwo.cn/www/kw-www/",
    f.oe = function(e) {
        throw console.error(e),
        e
    }
    ;
    var l = window.webpackJsonp = window.webpackJsonp || []
      , d = l.push.bind(l);
    l.push = r,
    l = l.slice();
    for (var i = 0; i < l.length; i++)
        r(l[i]);
    var h = d;
    t()
}([]);

四、导出加载器

运行代码,发现确实window

var window = {};

怎么导出加载器呢? (咱们在上一讲已经说过,详细的可以过去看,这里直接操作了)

只需写一个全局对象 wp_r

让 wp_r = 加载器 即可

完整代码

js
var window = {};


var wp_r;

!function (e) {
    function r(data) {
        for (var r, n, f = data[0], l = data[1], d = data[2], i = 0, v = []; i < f.length; i++)
            n = f[i],
            Object.prototype.hasOwnProperty.call(o, n) && o[n] && v.push(o[n][0]),
                o[n] = 0;
        for (r in l)
            Object.prototype.hasOwnProperty.call(l, r) && (e[r] = l[r]);
        for (h && h(data); v.length;)
            v.shift()();
        return c.push.apply(c, d || []),
            t()
    }

    function t() {
        for (var e, i = 0; i < c.length; i++) {
            for (var r = c[i], t = !0, n = 1; n < r.length; n++) {
                var l = r[n];
                0 !== o[l] && (t = !1)
            }
            t && (c.splice(i--, 1),
                e = f(f.s = r[0]))
        }
        return e
    }

    var n = {}
        , o = {
        31: 0
    }
        , c = [];

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

    wp_r = f;
    f.e = function (e) {
        var r = []
            , t = o[e];
        if (0 !== t)
            if (t)
                r.push(t[2]);
            else {
                var n = new Promise((function (r, n) {
                        t = o[e] = [r, n]
                    }
                ));
                r.push(t[2] = n);
                var c, script = document.createElement("script");
                script.charset = "utf-8",
                    script.timeout = 120,
                f.nc && script.setAttribute("nonce", f.nc),
                    script.src = function (e) {
                        return f.p + "" + {
                            0: "b7b2af8",
                            1: "2e7a6aa",
                            4: "8c9b5e8",
                            5: "c152b03",
                            6: "d45c223",
                            7: "afdc26c",
                            8: "a5a7763",
                            9: "71bde06",
                            10: "74c743d",
                            11: "0d21c3c",
                            12: "7723389",
                            13: "03af811",
                            14: "e3e31ae",
                            15: "dbf836b",
                            16: "c33bd0a",
                            17: "3446ac0",
                            18: "3218e51",
                            19: "413f09d",
                            20: "907862f",
                            21: "91b31c2",
                            22: "07aa6ad",
                            23: "f4b4dd3",
                            24: "ceded12",
                            25: "81a2f6c",
                            26: "14f104c",
                            27: "527b93f",
                            28: "f6040d2",
                            29: "a622043",
                            30: "7704cc4",
                            33: "5e0685f"
                        }[e] + ".js"
                    }(e);
                var l = new Error;
                c = function (r) {
                    script.onerror = script.onload = null,
                        clearTimeout(d);
                    var t = o[e];
                    if (0 !== t) {
                        if (t) {
                            var n = r && ("load" === r.type ? "missing" : r.type)
                                , c = r && r.target && r.target.src;
                            l.message = "Loading chunk " + e + " failed.\n(" + n + ": " + c + ")",
                                l.name = "ChunkLoadError",
                                l.type = n,
                                l.request = c,
                                t[1](l)
                        }
                        o[e] = void 0
                    }
                }
                ;
                var d = setTimeout((function () {
                        c({
                            type: "timeout",
                            target: script
                        })
                    }
                ), 12e4);
                script.onerror = script.onload = c,
                    document.head.appendChild(script)
            }
        return Promise.all(r)
    }
        ,
        f.m = e,
        f.c = n,
        f.d = function (e, r, t) {
            f.o(e, r) || Object.defineProperty(e, r, {
                enumerable: !0,
                get: t
            })
        }
        ,
        f.r = function (e) {
            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
                value: "Module"
            }),
                Object.defineProperty(e, "__esModule", {
                    value: !0
                })
        }
        ,
        f.t = function (e, r) {
            if (1 & r && (e = f(e)),
            8 & r)
                return e;
            if (4 & r && "object" == typeof e && e && e.__esModule)
                return e;
            var t = Object.create(null);
            if (f.r(t),
                Object.defineProperty(t, "default", {
                    enumerable: !0,
                    value: e
                }),
            2 & r && "string" != typeof e)
                for (var n in e)
                    f.d(t, n, function (r) {
                        return e[r]
                    }
                        .bind(null, n));
            return t
        }
        ,
        f.n = function (e) {
            var r = e && e.__esModule ? function () {
                        return e.default
                    }
                    : function () {
                        return e
                    }
            ;
            return f.d(r, "a", r),
                r
        }
        ,
        f.o = function (object, e) {
            return Object.prototype.hasOwnProperty.call(object, e)
        }
        ,
        f.p = "https://h5s.kuwo.cn/www/kw-www/",
        f.oe = function (e) {
            throw console.error(e),
                e
        }
    ;
    var l = window.webpackJsonp = window.webpackJsonp || []
        , d = l.push.bind(l);
    l.push = r,
        l = l.slice();
    for (var i = 0; i < l.length; i++)
        r(l[i]);
    var h = d;
    t()
}([]);

五、补充所需模块

方案一 直接传参补充

完整代码

js
var window = {};


var wp_r;

!function (e) {
    function r(data) {
        for (var r, n, f = data[0], l = data[1], d = data[2], i = 0, v = []; i < f.length; i++)
            n = f[i],
            Object.prototype.hasOwnProperty.call(o, n) && o[n] && v.push(o[n][0]),
                o[n] = 0;
        for (r in l)
            Object.prototype.hasOwnProperty.call(l, r) && (e[r] = l[r]);
        for (h && h(data); v.length;)
            v.shift()();
        return c.push.apply(c, d || []),
            t()
    }

    function t() {
        for (var e, i = 0; i < c.length; i++) {
            for (var r = c[i], t = !0, n = 1; n < r.length; n++) {
                var l = r[n];
                0 !== o[l] && (t = !1)
            }
            t && (c.splice(i--, 1),
                e = f(f.s = r[0]))
        }
        return e
    }

    var n = {}
        , o = {
        31: 0
    }
        , c = [];

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

    wp_r = f;
    f.e = function (e) {
        var r = []
            , t = o[e];
        if (0 !== t)
            if (t)
                r.push(t[2]);
            else {
                var n = new Promise((function (r, n) {
                        t = o[e] = [r, n]
                    }
                ));
                r.push(t[2] = n);
                var c, script = document.createElement("script");
                script.charset = "utf-8",
                    script.timeout = 120,
                f.nc && script.setAttribute("nonce", f.nc),
                    script.src = function (e) {
                        return f.p + "" + {
                            0: "b7b2af8",
                            1: "2e7a6aa",
                            4: "8c9b5e8",
                            5: "c152b03",
                            6: "d45c223",
                            7: "afdc26c",
                            8: "a5a7763",
                            9: "71bde06",
                            10: "74c743d",
                            11: "0d21c3c",
                            12: "7723389",
                            13: "03af811",
                            14: "e3e31ae",
                            15: "dbf836b",
                            16: "c33bd0a",
                            17: "3446ac0",
                            18: "3218e51",
                            19: "413f09d",
                            20: "907862f",
                            21: "91b31c2",
                            22: "07aa6ad",
                            23: "f4b4dd3",
                            24: "ceded12",
                            25: "81a2f6c",
                            26: "14f104c",
                            27: "527b93f",
                            28: "f6040d2",
                            29: "a622043",
                            30: "7704cc4",
                            33: "5e0685f"
                        }[e] + ".js"
                    }(e);
                var l = new Error;
                c = function (r) {
                    script.onerror = script.onload = null,
                        clearTimeout(d);
                    var t = o[e];
                    if (0 !== t) {
                        if (t) {
                            var n = r && ("load" === r.type ? "missing" : r.type)
                                , c = r && r.target && r.target.src;
                            l.message = "Loading chunk " + e + " failed.\n(" + n + ": " + c + ")",
                                l.name = "ChunkLoadError",
                                l.type = n,
                                l.request = c,
                                t[1](l)
                        }
                        o[e] = void 0
                    }
                }
                ;
                var d = setTimeout((function () {
                        c({
                            type: "timeout",
                            target: script
                        })
                    }
                ), 12e4);
                script.onerror = script.onload = c,
                    document.head.appendChild(script)
            }
        return Promise.all(r)
    }
        ,
        f.m = e,
        f.c = n,
        f.d = function (e, r, t) {
            f.o(e, r) || Object.defineProperty(e, r, {
                enumerable: !0,
                get: t
            })
        }
        ,
        f.r = function (e) {
            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
                value: "Module"
            }),
                Object.defineProperty(e, "__esModule", {
                    value: !0
                })
        }
        ,
        f.t = function (e, r) {
            if (1 & r && (e = f(e)),
            8 & r)
                return e;
            if (4 & r && "object" == typeof e && e && e.__esModule)
                return e;
            var t = Object.create(null);
            if (f.r(t),
                Object.defineProperty(t, "default", {
                    enumerable: !0,
                    value: e
                }),
            2 & r && "string" != typeof e)
                for (var n in e)
                    f.d(t, n, function (r) {
                        return e[r]
                    }
                        .bind(null, n));
            return t
        }
        ,
        f.n = function (e) {
            var r = e && e.__esModule ? function () {
                        return e.default
                    }
                    : function () {
                        return e
                    }
            ;
            return f.d(r, "a", r),
                r
        }
        ,
        f.o = function (object, e) {
            return Object.prototype.hasOwnProperty.call(object, e)
        }
        ,
        f.p = "https://h5s.kuwo.cn/www/kw-www/",
        f.oe = function (e) {
            throw console.error(e),
                e
        }
    ;
    var l = window.webpackJsonp = window.webpackJsonp || []
        , d = l.push.bind(l);
    l.push = r,
        l = l.slice();
    for (var i = 0; i < l.length; i++)
        r(l[i]);
    var h = d;
    t()
}({
    113: function (e, t, r) {
        var n, o, l = r(148), c = r(149), d = 0, h = 0;

        e.exports = function (e, t, r) {
            var i = t && r || 0
                , b = t || []
                , f = (e = e || {}).node || n
                , v = void 0 !== e.clockseq ? e.clockseq : o;
            if (null == f || null == v) {
                var m = l();
                null == f && (f = n = [1 | m[0], m[1], m[2], m[3], m[4], m[5]]),
                null == v && (v = o = 16383 & (m[6] << 8 | m[7]))
            }
            var y = void 0 !== e.msecs ? e.msecs : (new Date).getTime()
                , w = void 0 !== e.nsecs ? e.nsecs : h + 1
                , dt = y - d + (w - h) / 1e4;
            if (dt < 0 && void 0 === e.clockseq && (v = v + 1 & 16383),
            (dt < 0 || y > d) && void 0 === e.nsecs && (w = 0),
            w >= 1e4)
                throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
            d = y,
                h = w,
                o = v;
            var A = (1e4 * (268435455 & (y += 122192928e5)) + w) % 4294967296;
            b[i++] = A >>> 24 & 255,
                b[i++] = A >>> 16 & 255,
                b[i++] = A >>> 8 & 255,
                b[i++] = 255 & A;
            var x = y / 4294967296 * 1e4 & 268435455;
            b[i++] = x >>> 8 & 255,
                b[i++] = 255 & x,
                b[i++] = x >>> 24 & 15 | 16,
                b[i++] = x >>> 16 & 255,
                b[i++] = v >>> 8 | 128,
                b[i++] = 255 & v;
            for (var T = 0; T < 6; ++T)
                b[i + T] = f[T];
            return t || c(b)
        }
    },
    148: function (e, t) {
        var r = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || "undefined" != typeof msCrypto && "function" == typeof window.msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto);
        if (r) {
            var n = new Uint8Array(16);
            e.exports = function () {
                return r(n),
                    n
            }
        } else {
            var o = new Array(16);
            e.exports = function () {
                for (var e, i = 0; i < 16; i++)
                    3 & i || (e = 4294967296 * Math.random()),
                        o[i] = e >>> ((3 & i) << 3) & 255;
                return o
            }
        }
    },
    149: function (e, t) {
        for (var r = [], i = 0; i < 256; ++i)
            r[i] = (i + 256).toString(16).substr(1);
        e.exports = function (e, t) {
            var i = t || 0
                , n = r;
            return [n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]]].join("")
        }
    },
});




function getReqId() {
    return wp_r(113)()
}

console.log(getReqId())

方案二 拼接补充

完整代码

js
var window = {};


var wp_r;

!function (e) {
    function r(data) {
        for (var r, n, f = data[0], l = data[1], d = data[2], i = 0, v = []; i < f.length; i++)
            n = f[i],
            Object.prototype.hasOwnProperty.call(o, n) && o[n] && v.push(o[n][0]),
                o[n] = 0;
        for (r in l)
            Object.prototype.hasOwnProperty.call(l, r) && (e[r] = l[r]);
        for (h && h(data); v.length;)
            v.shift()();
        return c.push.apply(c, d || []),
            t()
    }

    function t() {
        for (var e, i = 0; i < c.length; i++) {
            for (var r = c[i], t = !0, n = 1; n < r.length; n++) {
                var l = r[n];
                0 !== o[l] && (t = !1)
            }
            t && (c.splice(i--, 1),
                e = f(f.s = r[0]))
        }
        return e
    }

    var n = {}
        , o = {
        31: 0
    }
        , c = [];

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

    wp_r = f;
    f.e = function (e) {
        var r = []
            , t = o[e];
        if (0 !== t)
            if (t)
                r.push(t[2]);
            else {
                var n = new Promise((function (r, n) {
                        t = o[e] = [r, n]
                    }
                ));
                r.push(t[2] = n);
                var c, script = document.createElement("script");
                script.charset = "utf-8",
                    script.timeout = 120,
                f.nc && script.setAttribute("nonce", f.nc),
                    script.src = function (e) {
                        return f.p + "" + {
                            0: "b7b2af8",
                            1: "2e7a6aa",
                            4: "8c9b5e8",
                            5: "c152b03",
                            6: "d45c223",
                            7: "afdc26c",
                            8: "a5a7763",
                            9: "71bde06",
                            10: "74c743d",
                            11: "0d21c3c",
                            12: "7723389",
                            13: "03af811",
                            14: "e3e31ae",
                            15: "dbf836b",
                            16: "c33bd0a",
                            17: "3446ac0",
                            18: "3218e51",
                            19: "413f09d",
                            20: "907862f",
                            21: "91b31c2",
                            22: "07aa6ad",
                            23: "f4b4dd3",
                            24: "ceded12",
                            25: "81a2f6c",
                            26: "14f104c",
                            27: "527b93f",
                            28: "f6040d2",
                            29: "a622043",
                            30: "7704cc4",
                            33: "5e0685f"
                        }[e] + ".js"
                    }(e);
                var l = new Error;
                c = function (r) {
                    script.onerror = script.onload = null,
                        clearTimeout(d);
                    var t = o[e];
                    if (0 !== t) {
                        if (t) {
                            var n = r && ("load" === r.type ? "missing" : r.type)
                                , c = r && r.target && r.target.src;
                            l.message = "Loading chunk " + e + " failed.\n(" + n + ": " + c + ")",
                                l.name = "ChunkLoadError",
                                l.type = n,
                                l.request = c,
                                t[1](l)
                        }
                        o[e] = void 0
                    }
                }
                ;
                var d = setTimeout((function () {
                        c({
                            type: "timeout",
                            target: script
                        })
                    }
                ), 12e4);
                script.onerror = script.onload = c,
                    document.head.appendChild(script)
            }
        return Promise.all(r)
    }
        ,
        f.m = e,
        f.c = n,
        f.d = function (e, r, t) {
            f.o(e, r) || Object.defineProperty(e, r, {
                enumerable: !0,
                get: t
            })
        }
        ,
        f.r = function (e) {
            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
                value: "Module"
            }),
                Object.defineProperty(e, "__esModule", {
                    value: !0
                })
        }
        ,
        f.t = function (e, r) {
            if (1 & r && (e = f(e)),
            8 & r)
                return e;
            if (4 & r && "object" == typeof e && e && e.__esModule)
                return e;
            var t = Object.create(null);
            if (f.r(t),
                Object.defineProperty(t, "default", {
                    enumerable: !0,
                    value: e
                }),
            2 & r && "string" != typeof e)
                for (var n in e)
                    f.d(t, n, function (r) {
                        return e[r]
                    }
                        .bind(null, n));
            return t
        }
        ,
        f.n = function (e) {
            var r = e && e.__esModule ? function () {
                        return e.default
                    }
                    : function () {
                        return e
                    }
            ;
            return f.d(r, "a", r),
                r
        }
        ,
        f.o = function (object, e) {
            return Object.prototype.hasOwnProperty.call(object, e)
        }
        ,
        f.p = "https://h5s.kuwo.cn/www/kw-www/",
        f.oe = function (e) {
            throw console.error(e),
                e
        }
    ;
    var l = window.webpackJsonp = window.webpackJsonp || []
        , d = l.push.bind(l);
    l.push = r,
        l = l.slice();
    for (var i = 0; i < l.length; i++)
        r(l[i]);
    var h = d;
    t()
}([]);


(window.webpackJsonp = window.webpackJsonp || []).push([[32],
    {

        113: function (e, t, r) {
            var n, o, l = r(148), c = r(149), d = 0, h = 0;

            e.exports = function (e, t, r) {
                var i = t && r || 0
                    , b = t || []
                    , f = (e = e || {}).node || n
                    , v = void 0 !== e.clockseq ? e.clockseq : o;
                if (null == f || null == v) {
                    var m = l();
                    null == f && (f = n = [1 | m[0], m[1], m[2], m[3], m[4], m[5]]),
                    null == v && (v = o = 16383 & (m[6] << 8 | m[7]))
                }
                var y = void 0 !== e.msecs ? e.msecs : (new Date).getTime()
                    , w = void 0 !== e.nsecs ? e.nsecs : h + 1
                    , dt = y - d + (w - h) / 1e4;
                if (dt < 0 && void 0 === e.clockseq && (v = v + 1 & 16383),
                (dt < 0 || y > d) && void 0 === e.nsecs && (w = 0),
                w >= 1e4)
                    throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
                d = y,
                    h = w,
                    o = v;
                var A = (1e4 * (268435455 & (y += 122192928e5)) + w) % 4294967296;
                b[i++] = A >>> 24 & 255,
                    b[i++] = A >>> 16 & 255,
                    b[i++] = A >>> 8 & 255,
                    b[i++] = 255 & A;
                var x = y / 4294967296 * 1e4 & 268435455;
                b[i++] = x >>> 8 & 255,
                    b[i++] = 255 & x,
                    b[i++] = x >>> 24 & 15 | 16,
                    b[i++] = x >>> 16 & 255,
                    b[i++] = v >>> 8 | 128,
                    b[i++] = 255 & v;
                for (var T = 0; T < 6; ++T)
                    b[i + T] = f[T];
                return t || c(b)
            }
        },
        148: function (e, t) {
            var r = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || "undefined" != typeof msCrypto && "function" == typeof window.msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto);
            if (r) {
                var n = new Uint8Array(16);
                e.exports = function () {
                    return r(n),
                        n
                }
            } else {
                var o = new Array(16);
                e.exports = function () {
                    for (var e, i = 0; i < 16; i++)
                        3 & i || (e = 4294967296 * Math.random()),
                            o[i] = e >>> ((3 & i) << 3) & 255;
                    return o
                }
            }
        },
        149: function (e, t) {
            for (var r = [], i = 0; i < 256; ++i)
                r[i] = (i + 256).toString(16).substr(1);
            e.exports = function (e, t) {
                var i = t || 0
                    , n = r;
                return [n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], "-", n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]], n[e[i++]]].join("")
            }
        },
    }]);


function getReqId() {
    return wp_r(113)()
}