!
function(t) {
    function i(n) {
        if (e[n]) return e[n].exports;
        var o = e[n] = {
            exports: {},
            id: n,
            loaded: !1
        };
        return t[n].call(o.exports, o, o.exports, i),
        o.loaded = !0,
        o.exports
    }
    var e = {};
    return i.m = t,
    i.c = e,
    i.p = "//imgcache.qq.com/qcloud/main/scripts/",
    i(0)
} ([function(t, i, e) {
    "use strict";
    function n() {
        s.init(),
        a.init(),
        r.init(),
        c.init(),
        u.init(),
        h.init(),
        o(),
        d.handleResize(!0)
    }
    function o() {
        var t = $(window);
        $('[data-type="parallaxScroll"]').each(function() {
            var i, e = $(this),
            n = e.offset(),
            o = n.top,
            s = e.outerHeight(),
            a = e.data("bgheight");
            a && (i = a > s ? a - s: 0),
            t.scroll(function() {
                if (f()) return ! 1;
                if (t.scrollTop() + t.height() > o + s / 2 && o + s > t.scrollTop()) {
                    var n = -((t.scrollTop() + t.height() - o) / e.data("speed")),
                    a = n;
                    i >= 0 && (a = Math.abs(n) < i ? n: -i);
                    var r = "50% " + a + "px";
                    e.css({
                        backgroundPosition: r,
                        transition: "background-position 0.3s linear"
                    })
                }
            })
        });
        var i = $("#mod-wrap-free");
        t.on("resize",
        function() {
            var t = p();
            t > 1920 || t <= 768 ? i.css("background-size", "cover") : i.css("background-size", "1920px 650px"),
            d.handleResize()
        })
    }
    var s = e(1),
    a = e(4),
    r = e(5),
    c = e(6),
    u = e(8),
    h = e(10),
    d = e(11),
    l = e(3),
    f = l.getResponsive,
    p = l.getClientWidth;
    n()
},
function(t, i, e) {
    "use strict";
    function n(t) {
        var i = $("#heroBanner").width(),
        e = $(".J-hero-img"),
        n = "";
        return n = "pc" == t ? i + "px": i * e.length + "px",
        e.each(function() {
            $(this).css({
                width: i + "px",
                position: "relative",
                display: "inline-block"
            })
        }),
        $(".hero-img").css("width", n),
        i
    }
    function o() {
        var t = $(".J-hero-img"),
        i = $("#heroBanner"),
        e = t.length;
        t.on("click",
        function() {
            window.open($(this).data("href"))
        }),
        t.on("mouseenter", "a.hero-btn",
        function() {
            $(this).css("color", $(this).closest(".J-hero-img").attr("data-bgcolor"))
        }).on("mouseleave", "a.hero-btn",
        function() {
            $(this).css("color", "#fff")
        });
        var o = t.first(),
        s = t.last(),
        r = o.clone(!0),
        u = s.clone(!0);
        u.insertBefore(o),
        t.parent().append(r);
        var h = c(),
        d = n(h),
        l = new a($(".hero-img")[0], d, e, {
            touchArea: $(".hero-inner")[0],
            banners: $(".J-hero-img"),
            enableTransform: "pc" != h
        });
        l.locate(!1, 1),
        l.preAutoRun();
        var f = 0,
        p = $(".hero-tab li"),
        m = p.length;
        l.on("locate",
        function(e) {
            e -= 1,
            e < 0 ? f = m - 1 : e > m - 1 && (f = 0),
            p.removeClass("selected"),
            p.eq(e).addClass("selected"),
            f = e;
            var n = $(t[f]);
            i.css({
                "background-color": n.data("bgcolor")
            })
        }),
        $(window).on("resize",
        function(t) {
            var i = c();
            l.transformSwitch("pc" != i),
            l.updateStep(n(i))
        })
    }
    function s(t) {
        $(".J-hero-img").each(function() {
            $(this).css("background-image", "url(" + $(this).data(t) + ")")
        })
    }
    var a = e(2),
    r = e(3),
    c = r.getResponsiveMode;
    t.exports = {
        init: o,
        handleResponsive: s
    }
},
function(t, i, e) {
    "use strict";
    function n(t, i) {
        return v ? i ? v + t.charAt(0).toUpperCase() + t.substr(1) : ["-", v, "-", t].join("") : t
    }
    function o(t) {
        return m + t.charAt(0).toUpperCase() + t.substr(1)
    }
    function s(t, i, e) {
        return e === p ? l.defaultView.getComputedStyle(t, null)[n(i, !0)] : void(t.style[n(i, !0)] = e)
    }
    function a() {
        var t = 0,
        i = 0;
        return f.screen.deviceXDPI !== p ? (t = f.screen.deviceXDPI, i = f.screen.deviceYDPI) : (b.style.cssText = "width:1in;height:1in;position:absolute;left:0px;top:0px;z-index:99;visibility:hidden", l.body.appendChild(b), t = parseInt(b.offsetWidth), i = parseInt(b.offsetHeight), b.parentNode.removeChild(b)),
        {
            X: t,
            Y: i
        }
    }
    function r(t) {
        var i = {
            transformProperty: "translateX",
            nextRatio: .4,
            speedThreshold: 4,
            disableBoundaryMove: !1,
            boundaryAnimationName: "",
            disableTouch: !1,
            touchArea: l.documentElement,
            autoAnimationDuration: 200,
            slideRatio: 2 / 3,
            lockOnAnimating: !0,
            preventDefault: "auto",
            autoRunTimeSpan: 1e3
        };
        return t && (t.transformProperty !== p && (i.transformProperty = t.transformProperty), t.disableTouch !== p && (i.disableTouch = t.disableTouch), t.touchArea !== p && (i.touchArea = t.touchArea), t.disableBoundaryMove !== p && (i.disableBoundaryMove = t.disableBoundaryMove), t.boundaryAnimationName !== p && (i.boundaryAnimationName = t.boundaryAnimationName), t.nextRatio !== p && (i.nextRatio = t.nextRatio), t.speedThreshold !== p && (i.speedThreshold = t.speedThreshold), t.autoAnimationDuration !== p && (i.autoAnimationDuration = t.autoAnimationDuration), t.slideRatio !== p && (i.slideRatio = t.slideRatio), t.lockOnAnimating !== p && (i.lockOnAnimating = t.lockOnAnimating), t.preventDefault !== p && (i.preventDefault = t.preventDefault)),
        i
    }
    function c(t, i, e, n) {
        this.enableTransform = n.enableTransform,
        this.dom = t,
        this.banners = n.banners,
        this.step = parseInt(i) || 0,
        this.count = parseInt(e) || 0,
        this.itemIndex = 0,
        this.curDistance = 0,
        this.distance = 0,
        this.preDistance = 0,
        this.handlers = {},
        this.status = T.READY,
        this.enableSwitch = !0,
        this.option = r(n),
        this.autoRunTimer = [],
        this._init()
    }
    var u, h = e(3),
    d = h.getResponsive,
    l = document,
    f = window,
    p = void 0,
    m = "",
    v = "",
    g = ["webkit", "ms", "o", "moz"],
    b = l.createElement("div"),
    T = {
        READY: 1,
        TOUCH_START: 2,
        TOUCH_MOVE: 3,
        TOUCH_END: 4,
        ANIMATING: 5
    },
    A = {
        X: "X",
        Y: "Y"
    },
    w = b.style,
    x = "transform";
    u = x.charAt(0).toUpperCase() + x.substr(1);
    for (var _, R, D = 0; _ = g[D]; D++) if (R = _ + u, R in w) {
        v = _;
        break
    }
    x in w || (m = v);
    var I = function() {
        return f.requestAnimationFrame || f.webkitRequestAnimationFrame || f.mozRequestAnimationFrame || f.oRequestAnimationFrame || f.msRequestAnimationFrame ||
        function(t) {
            f.setTimeout(t, 1e3 / 60)
        }
    } ();
    c.prototype = {
        link: function(t) {
            t instanceof c && (this.on("touchmove",
            function(i, e) {
                t.move(e)
            }), this.on("locate",
            function(i) {
                t.locate(i)
            }), this.on("animationinterrupt",
            function() {
                t.animationInterrupt()
            }))
        },
        locate: function() {
            var t, i, e = !0,
            n = 0,
            o = this;
            if ("boolean" == typeof arguments[0] && (e = arguments[0], n++), t = arguments[n], i = arguments[n + 1], t === p && (t = this.itemIndex), t = parseInt(t) || 0, this._isCircleLayout || (t < 0 && (t = 0), t > this.count - 1 && (t = this.count - 1)), this.lastDistance = this.curDistance, this.curDistance = 0 - this.step * t, this.enableTransform) if (e) {
                if ("ms" == v) return $(this.dom).stop(!0, !0).animate({
                    marginLeft: this.curDistance
                },
                300,
                function() {
                    i && i(t),
                    o._emit("locateEnd", [t]),
                    o.loopStartOrEnd()
                }),
                o.itemIndex = t,
                void o._emit("locate", [t]);
                this._animate(this._makeTransformValue(this.curDistance),
                function() {
                    i && i(t),
                    o._emit("locateEnd", [t])
                })
            } else {
                if ("ms" == v) return $(this.dom).css("marginLeft", this.curDistance),
                o.itemIndex = t,
                void o._emit("locate", [t]);
                this._transform(this._makeTransformValue(this.curDistance))
            } else {
                if (e) return this.status = T.ANIMATING,
                o._emit("locate", [t]),
                void this.banners.eq(t).fadeIn("slow",
                function() {
                    i && i(t),
                    o.itemIndex = t,
                    o._emit("locateEnd", [t]),
                    o.loopStartOrEnd(),
                    o.status = T.READY
                }).siblings().fadeOut("fast");
                this.banners.eq(t).show().siblings().hide()
            }
            this.itemIndex = t,
            this._emit("locate", [t])
        },
        next: function() {
            this.locate(this.itemIndex + 1)
        },
        prev: function() {
            this.locate(this.itemIndex - 1)
        },
        disable: function() {
            this.enableSwitch = !1
        },
        enable: function() {
            this.enableSwitch = !0
        },
        move: function(t) {
            var i, e = 0;
            t = parseFloat(t),
            i = Math.abs(t),
            i >= 1 ? e = t: i > 0 && (e = parseInt(this.step * t) || 0),
            e && this._move(function() {
                this._transform(this._makeTransformValue(this.curDistance + e / 2)),
                e = p
            })
        },
        updateStep: function(t) {
            t = parseInt(t),
            "ms" == v && $(this.dom).css("marginLeft", 0),
            t && (this.step = t, this.locate(!1))
        },
        animationInterrupt: function() {
            var t = this._getCurrentDistance();
            return this._transform(this._makeTransformValue(t)),
            this._animateEnd(),
            t
        },
        on: function(t, i) {
            this.handlers[t] || (this.handlers[t] = []),
            this.handlers[t].push(i)
        },
        _emit: function(t, i) {
            var e = this.handlers[t];
            if (e && e.length) for (var n, o = 0; n = e[o]; o++) n.apply && n.apply(this, i || [])
        },
        _init: function() {
            this._initTransformProperty(),
            this.option.disableTouch || this._initAnimation();
            var t = this,
            i = this.option.touchArea,
            e = function() {
                t.areaDistance = t.direction == A.Y ? i.offsetHeight: i.offsetWidth,
                t.areaDistance || (t.areaDistance = t.direction == A.Y ? f.innerHeight: f.innerWidth)
            };
            f.addEventListener("resize", e, !1),
            e()
        },
        _initAnimation: function() {
            var t = this,
            i = this.option.touchArea;
            $(i).on("click", ".pre",
            function(i) {
                return (!t.option.autoAnimationDuration || t.status != T.ANIMATING) && (t.preAutoRun(), void t.prev())
            }),
            $(i).on("click", ".next",
            function(i) {
                return (!t.option.autoAnimationDuration || t.status != T.ANIMATING) && (t.preAutoRun(), void t.next())
            }),
            $(i).find(".hero-tab a").on("click",
            function() {
                if (t.option.autoAnimationDuration && t.status == T.ANIMATING) return ! 1;
                t.preAutoRun();
                var i = parseInt($(this).attr("ix"), 10) + 1;
                i !== t.itemIndex && t.locate(!0, i)
            }),
            $(i).on("mouseenter",
            function() {
                t.stopAutoRun()
            }),
            $(i).on("mouseleave",
            function() {
                t.preAutoRun()
            }),
            f.navigator.msPointerEnabled ? (i.addEventListener("MSPointerDown",
            function(i) {
                i.pointerType == i.MSPOINTER_TYPE_TOUCH && t._touchStart(i, i)
            },
            !1), i.addEventListener("MSPointerMove",
            function(i) {
                i.pointerType == i.MSPOINTER_TYPE_TOUCH && t._touchMove(i, i)
            },
            !1), i.addEventListener("MSPointerUp",
            function(i) {
                i.pointerType == i.MSPOINTER_TYPE_TOUCH && t._touchEnd(i)
            },
            !1)) : (i.addEventListener("touchstart",
            function(i) {
                t._touchStart(i, i.targetTouches[0])
            },
            !1), i.addEventListener("touchmove",
            function(i) {
                t._touchMove(i, i.targetTouches[0])
            },
            !1), i.addEventListener("touchend",
            function(i) {
                t._touchEnd(i)
            },
            !1))
        },
        _initTransformProperty: function() {
            var t, i, e = this.option.transformProperty,
            n = A.X,
            o = !0,
            r = this,
            c = function(t) {
                var i = (r.curDistance + r.lastDistance) / 2,
                e = i % 360;
                e > 180 ? e -= 360 : e < -180 && (e += 360);
                var n = t - e;
                return i + n
            };
            switch (e) {
            default:
            case "translateX":
                e = "translate3d",
                t = "{val}px,0,0",
                i = function(t) {
                    return 6 == t.length ? parseInt(t[4]) : 16 == t.length ? parseInt(t[12]) : void 0
                };
                break;
            case "translateY":
                e = "translate3d",
                t = "0,{val}px,0",
                n = A.Y,
                i = function(t) {
                    return 6 == t.length ? parseInt(t[5]) : 16 == t.length ? parseInt(t[13]) : void 0
                };
                break;
            case "translateZ":
                e = "translate3d",
                t = "0,0,{val}px",
                i = function(t) {
                    return parseInt(t[14])
                };
                break;
            case "rotateX":
                t = "{val}deg",
                n = A.Y,
                o = !0,
                i = function(t) {
                    var i = parseFloat(t[5]).toFixed(2),
                    e = parseFloat(t[6]),
                    n = Math.acos(i) / Math.PI * 180,
                    o = e >= 0 ? n: 0 - n;
                    return c(o)
                };
                break;
            case "rotateY":
                t = "{val}deg",
                o = !0,
                i = function(t) {
                    var i = parseFloat(t[0]).toFixed(2),
                    e = parseFloat(t[8]),
                    n = Math.acos(i) / Math.PI * 180,
                    o = e >= 0 ? n: 0 - n;
                    return c(o)
                };
                break;
            case "rotateZ":
                t = "{val}deg",
                o = !0,
                i = function(t) {
                    var i = 0,
                    e = 0;
                    6 == t.length ? (i = parseFloat(t[0]).toFixed(2), e = parseFloat(t[1])) : 16 == t.length;
                    var n = Math.acos(i) / Math.PI * 180,
                    o = e >= 0 ? n: 0 - n;
                    return c(o)
                }
            }
            this._makeTransformValue = function(i) {
                var n = {};
                return n[e] = t.replace("{val}", i),
                n
            },
            this._getCurrentDistance = function() {
                var t = s(this.dom, "transform");
                t = t.replace(/^matrix(?:3d)?\((.+)\)$/, "$1");
                var e = t.split(",") || [];
                return i(e)
            },
            this.DPI = a()[n],
            this.direction = n,
            this._isCircleLayout = o
        },
        _transform: function(t) {
            this._curTransformObj || (this._curTransformObj = {});
            for (var i in t) this._curTransformObj[i] = t[i];
            var e = [];
            for (var n in this._curTransformObj) e.push(n, "(", this._curTransformObj[n], ")");
            e.length && s(this.dom, "transform", e.join(""))
        },
        _parseDistance: function(t) {
            return parseInt(parseFloat(t) / this.areaDistance * this.step)
        },
        _touchStart: function(t, i) {
            if (this.enableSwitch) {
                var e = this.curDistance;
                if (this.status == T.ANIMATING) {
                    if (this.boundaryMode || this.option.lockOnAnimating) return;
                    e = this.animationInterrupt(),
                    this._emit("animationinterrupt")
                }
                this.oriDistance = 0,
                this.distance = 0,
                this.preDistance = e - this.curDistance,
                this.status = T.TOUCH_START,
                this.startTime = new Date,
                this.motionable = !0,
                this.touchDirection = 0,
                this.startPos = {
                    X: i.pageX,
                    Y: i.pageY
                },
                this.startValue = this.startPos[this.direction],
                this._emit("touchstart", [t])
            }
        },
        _touchMove: function(t, i) {
            if (this.enableSwitch) {
                if ("auto" === this.option.preventDefault) {
                    if (!this.touchDirection) {
                        var e = Math.abs(i.pageX - this.startPos.X),
                        n = Math.abs(i.pageY - this.startPos.Y);
                        0 == e && 0 == n || (this.touchDirection = e > n ? A.X: A.Y)
                    }
                    if (this.touchDirection != this.direction) return;
                    t.preventDefault()
                } else this.option.preventDefault === !0 && t.preventDefault();
                if (this.motionable) {
                    var o = i["page" + this.direction];
                    this.oriDistance = o - this.startValue,
                    this.status != T.TOUCH_START && this.status != T.TOUCH_MOVE || this.oriDistance && (this.distance = this._parseDistance(this.oriDistance) + this.preDistance / this.option.slideRatio, this.timeSpan = new Date - this.startTime, this._move(function() {
                        var t = !0;
                        if (0 === this.itemIndex && this.distance > 0 || this.itemIndex == this.count - 1 && this.distance < 0) if (this.option.disableBoundaryMove) t = !1;
                        else {
                            var i = c.ext.boundaryAnimation[this.option.boundaryAnimationName];
                            i && i.touchMove && (this.boundaryMode = !0, i.touchMove.call(this), t = !1)
                        }
                        t && (this.boundaryMode = !1, this.option.slideRatio && (this.status = T.TOUCH_MOVE, this._transform(this._makeTransformValue(this.curDistance + this.distance * this.option.slideRatio))))
                    }), this._emit("touchmove", [t, this.distance]))
                }
            }
        },
        _touchEnd: function(t) {
            if (this.enableSwitch && this.motionable) {
                if (this.motionable = !1, this.boundaryMode) {
                    var i = c.ext.boundaryAnimation[this.option.boundaryAnimationName];
                    i && i.touchEnd && i.touchEnd.call(this)
                } else if (0 !== this.distance || 0 !== this.preDistance) {
                    var e = this.itemIndex;
                    this.oriDistance && (Math.abs(this.oriDistance / this.DPI) / this.timeSpan * 1e3 > this.option.speedThreshold || Math.abs(this.oriDistance) > this.areaDistance * this.option.nextRatio) && (this.oriDistance < 0 ? e++:e--),
                    this.locate(e)
                } else this.status == T.READY;
                this._emit("touchend", [t]),
                this.preAutoRun()
            }
        },
        _move: function(t) {
            if (this._curFrameFn = t, !this.moveFrameFilled) {
                this.moveFrameFilled = !0;
                var i = this;
                I(function() {
                    i.moveFrameFilled = !1,
                    i.status != T.ANIMATING && i._curFrameFn && i._curFrameFn.call(i),
                    i._curFrameFn = p
                })
            }
        },
        _animate: function(t, i) {
            this.status = T.ANIMATING,
            this.option.autoAnimationDuration = d() ? 200 : 500,
            s(this.dom, "transition", [n("transform"), " ", this.option.autoAnimationDuration, "ms ease-out"].join(""));
            var e = this,
            a = this.dom.endFn = function(t) {
                t && t.target !== e.dom || (e._animateEnd(), t && t.stopPropagation(), i && i())
            };
            this.dom.addEventListener("transitionEnd", a, !1),
            this.dom.addEventListener(o("transitionEnd"), a, !1),
            this.dom.animationTimer = setTimeout(a, this.option.autoAnimationDuration + 50),
            this._transform(t)
        },
        _animateEnd: function() {
            this.status = T.READY,
            s(this.dom, "transition", ""),
            this.dom.removeEventListener("transitionEnd", this.dom.endFn, !1),
            this.dom.removeEventListener(o("transitionEnd", !0), this.dom.endFn, !1),
            clearTimeout(this.dom.animationTimer),
            this.dom.endFn = null,
            this.loopStartOrEnd()
        },
        transformSwitch: function(t) {
            this.enableTransform = !!t,
            t || $(this.dom).css("transform", "none")
        },
        loopStartOrEnd: function() {
            if (!this._isCircleLayout) return ! 1;
            var t = this.itemIndex;
            t > this.count ? t = 1 : t < 1 && (t = this.count),
            t !== this.itemIndex && this.locate(!1, t),
            this.itemIndex = t
        },
        preAutoRun: function() {
            var t = this;
            t.stopAutoRun(),
            t.autoRunTimer.push(setTimeout(function() {
                t.autoRun()
            },
            15 * t.option.autoRunTimeSpan))
        },
        autoRun: function() {
            var t = this;
            t.autoRunTimer.push(setInterval(function() {
                t.next()
            },
            10 * t.option.autoRunTimeSpan))
        },
        stopAutoRun: function() {
            for (var t = 0; t < this.autoRunTimer.length; t++) clearTimeout(this.autoRunTimer[t]);
            this.autoRunTimer = []
        }
    },
    c.prototype.constructor = c,
    c.ext = {},
    c.ext.boundaryAnimation = {},
    t.exports = c
},
function(t, i) {
    "use strict";
    var e = !1,
    n = function() {
        return document.documentElement.clientWidth
    };
    t.exports = {
        getClientWidth: n,
        getResponsive: function() {
            return e
        },
        setResponsive: function() {
            e = n() <= 414
        },
        getResponsiveMode: function() {
            var t = n();
            return t <= 414 ? "mobile": t > 414 && t <= 768 ? "pad": t > 768 ? "pc": void 0
        },
        isPhone: function() {
            var t = navigator.userAgent;
            return ! (!/AppleWebKit.*Mobile/i.test(t) && !/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(t) || /iPad/i.test(t))
        }
    }
},
function(t, i, e) {
    "use strict";
    function n(t) {
        g = t,
        m = !1,
        p = {},
        t ? (v = "mobile", u.find(".product-block").height("auto").find(".pt-detail").width("auto"), m = !0) : !
        function() {
            var t = !1;
            "mobile" === v && (t = !0),
            v = "pc",
            u.find(".product-block:not(.qc-unit-active)").height("");
            var i = u.find(".product-block." + h);
            i.length || (i = u.find(".product-block").eq(0), i.addClass(h)),
            setTimeout(function() {
                d = i.width(),
                l || (l = $(".product-block:not(.qc-unit-active)").outerHeight()),
                f = i.outerHeight() - i.height();
                var t = u.find(".product-block .pt-detail");
                t.width(d - 1 + "px"),
                setTimeout(function() {
                    t.each(function(t) {
                        var i = $(this);
                        p[i.parents(".product-block").data("index")] = $(this).outerHeight()
                    }),
                    i.height("" + p[0]),
                    m = !0
                },
                300)
            },
            t ? 300 : 0)
        } ()
    }
    function o() {
        if (m) {
            var t = $(this);
            if (!t.hasClass(h) && !g) {
                var i = u.find(".product-block." + h);
                i.removeClass("qc-unit-active").css("height", l + "px"),
                t.addClass("qc-unit-active"),
                t.css("height", p[t.data("index")] + f)
            }
        }
    }
    function s() {
        u.find(".product-block").on("mouseenter", _.throttle(o, 350, !0)),
        u.find(".pt-detail").on("click", ".menu-item",
        function(t) {
            if (!$(t.target).hasClass("J-product-detail-btn")) {
                var i = $(this),
                e = i.data("intro-url");
                e && window.open(e, "_blank")
            }
        }).on("click", ".pt-detail-name",
        function(t) {
            if (g) {
                var i = $(this),
                e = i.parents(".product-block");
                e.hasClass(h) ? e.removeClass(h) : (u.find(".product-block." + h).removeClass(h), e.addClass(h), $(window).scrollTop(e.offset().top))
            }
        })
    }
    function a() {
        s()
    }
    var r = e(3),
    c = r.getResponsiveMode,
    u = $(".mod-wrap.mod-wrap-product-new"),
    h = "qc-unit-active",
    d = void 0,
    l = void 0,
    f = void 0,
    p = {},
    m = !1,
    v = "pc" == c() ? "pc": "mobile",
    g = void 0;
    t.exports = {
        init: a,
        handleResponsive: n
    }
},
function(t, i, e) {
    "use strict";
    function n() {
        $("#solutionContent").css({
            position: "relative"
        }),
        h.find(".solution-item").css({
            position: "relative"
        }),
        h.on("click", "li.tab-item a",
        function() {
            o($(this))
        });
        var t = null;
        h.on("mouseenter", "li.tab-item a",
        function() {
            var i = $(this);
            clearTimeout(t),
            t = setTimeout(function() {
                o(i)
            },
            300)
        })
    }
    function o(t) {
        var i = t.data("target") || "game",
        e = "solution-" + i,
        n = h.find("li.item-selected"),
        o = n.find("a").data("target");
        if (o == i) return ! 1;
        n.removeClass("item-selected"),
        t.parent().addClass("item-selected"),
        d.stop(!0, !0).animate({
            opacity: .88
        },
        200,
        function() {
            d.animate({
                opacity: 1
            },
            200),
            h.addClass(e).removeClass("solution-" + o)
        });
        var s = h.find('[data-slt="' + o + '"]'),
        a = h.find('[data-slt="' + i + '"]');
        a.find("img[_src]").length && a.find("img[_src]").each(function() {
            $(this).attr("src", $(this).attr("_src")).removeAttr("_src")
        }),
        s.stop(!0, !0).animate({
            opacity: .88
        },
        400,
        function() {
            s.hide(),
            a.css({
                opacity: 1
            }).show()
        })
    }
    function s(t) {
        var i = $("#solutionMenu li");
        i.each(function(i, e) {
            var n = '<div class="J-lazyLoader" style="width: 0;height: 0;display: inline;background-image:url(' + $(e).data(t) + ');"></div>';
            $("body").append(n)
        })
    }
    function a() { ! l && $("#solutionWrapper").offset().top < $(window).scrollTop() + $(window).height() && (l = !0, s("img"), $(window).off("scroll resize", a))
    }
    function r() {
        $("#solutionMenu").find(".tab-item a").each(function(t, i) {
            i = $(i);
            var e = i.data("target"),
            n = i.text(),
            o = $('[data-slt="' + e + '"]').find(".qc-btn");
            u() ? o.text("\u4e86\u89e3" + n + "\u89e3\u51b3\u65b9\u6848") : o.text("\u67e5\u770b\u8be6\u60c5")
        })
    }
    var c = e(3),
    u = c.getResponsive,
    h = $("#solutionWrapper"),
    d = h.find(".solution-bg"),
    l = !1;
    $(window).on("scroll resize", a),
    t.exports = {
        init: n,
        handleResponsive: r
    }
},
function(t, i, e) {
    "use strict";
    function n() {
        function t(t, i) {
            if (t === Math.max(0, Math.min(t, f - 1))) {
                var e = Math.min(t * d, l - d),
                o = Math.min(0, -1 * e * n);
                return p = t,
                i === !0 ? void c.stop(!0, !0).css("left", o) : void(c.is(":animated") || c.stop(!0, !0).animate({
                    left: o
                },
                function() {
                    var i = "active";
                    h.children().removeClass(i).eq(t).addClass(i);
                    var e = "disabled";
                    switch (t) {
                    case 0:
                        a.addClass(e),
                        r.removeClass(e);
                        break;
                    case f - 1 : a.removeClass(e),
                        r.addClass(e);
                        break;
                    default:
                        a.removeClass(e),
                        r.removeClass(e)
                    }
                }))
            }
        }
        var i = $(window),
        e = $(".J-certArea");
        if (e.length) {
            var n, s = e.find(".J-certInner"),
            a = e.find(".J-prev"),
            r = e.find(".J-next"),
            c = e.find(".J-listContainer"),
            u = c.children(),
            h = e.find(".J-indicatorContainer"),
            d = 4,
            l = u.length,
            f = Math.ceil(l / d),
            p = 0;
            if (l > d && (a.css("visibility", ""), r.css("visibility", "")), i.on("resize.cert",
            function() {
                var i = s.outerWidth();
                n = i / d,
                u.outerWidth(n),
                t(p, !0)
            }).trigger("resize.cert"), f > 1) {
                var m = '<li class="J-dot"><a href="javascript:;" class="dot"><i></i></a></li>';
                h.html(new Array(f + 1).join(m)).css("display", "")
            }
            a.click(function() {
                t(p - 1)
            }),
            r.click(function() {
                t(p + 1)
            }),
            h.on("click", ".J-dot",
            function() {
                t($(this).index())
            }),
            "function" == typeof o &&
            function() {
                var i = navigator.userAgent.toLowerCase();
                if (~i.indexOf("android") || ~i.indexOf("iphone") || ~i.indexOf("ipad") || ~i.indexOf("windows phone")) {
                    var n = new o(e.find(".J-mask").get(0));
                    n.get("pan").set({
                        direction: o.DIRECTION_HORIZONTAL
                    }),
                    n.on("panstart",
                    function() {
                        n.currLeft = parseFloat(c.css("left"))
                    }),
                    n.on("panmove",
                    function(t) {
                        c.css("left", n.currLeft + t.deltaX)
                    }),
                    n.on("panend",
                    function(i) {
                        if (Math.abs(i.deltaX) < 50) t(p);
                        else {
                            var e = p + (i.deltaX < 0 ? 1 : -1);
                            e = Math.max(0, Math.min(e, f - 1)),
                            t(e)
                        }
                    })
                }
            } (),
            t(p)
        }
    }
    var o = e(7);
    t.exports = {
        init: n
    }
},
function(t, i) {
    t.exports = Hammer
},
function(t, i, e) {
    "use strict";
    function n() {
        function t(t, i, e) {
            i || (i = 250);
            var n, o;
            return function() {
                var s = e || this,
                a = +new Date,
                r = arguments;
                n && a < n + i ? (clearTimeout(o), o = setTimeout(function() {
                    n = a,
                    t.apply(s, r)
                },
                i)) : (n = a, t.apply(s, r))
            }
        }
        var i = function(t) {
            var i = parseInt(t || 0) || 0;
            i = i < 0 ? 0 : i;
            for (var e = []; i;) i < 1e3 ? e.unshift(i % 1e3) : e.unshift(("000" + i % 1e3).slice( - 3)),
            i = parseInt(i / 1e3);
            return e.join(",") || "0"
        },
        e = function(t, i) {
            return parseInt(t + Math.floor(Math.random() * (i - t)))
        },
        n = function(t, i) {
            var n = [],
            o = 0;
            i = i || 10,
            n.push(t);
            for (var s = ("" + t).length, a = Math.pow(10, s - 1), r = Math.pow(10, s) - 1; o < i;) n.push(e(a, r)),
            o++;
            return n
        },
        o = $("#defenceCount"),
        a = [0],
        r = null,
        c = function() {
            $("#defenceWrapper").offset().top < $(window).scrollTop() + $(window).height() && ($(window).off("scroll", c), setTimeout(function() {
                r = setInterval(function() {
                    a.length ? o.text(i(a.pop())) : (clearInterval(r), $(window).off("scroll", c))
                },
                50)
            },
            200))
        };
        c = t(c, 150),
        s.post("/", {
            action: "getDefenceData"
        }).then(function(t) {
            a = n(t),
            $(window).on("scroll", c).trigger("scroll")
        })
    }
    var o = e(9),
    s = o.net;
    t.exports = {
        init: n
    }
},
function(t, i, e) { (function(i) {
        "use strict";
        function e(t, i) {
            for (var e = i.split("."), n = t, o = e.length, s = 0; s < o; s += 1)"undefined" == typeof n[e[s]] && (n[e[s]] = {}),
            n = n[e[s]];
            return n
        }
        t.exports = e(i, "qcloud.main")
    }).call(i,
    function() {
        return this
    } ())
},
function(t, i, e) {
    "use strict";
    function n() {
        h.handleResize(),
        u.on("click", h.handlePicPageBtnClick),
        $(window).on("resize",
        function() {
            h.handleResize(),
            h.refreshPageBtn()
        })
    }
    function o() {
        var t = $(".newsSubList"),
        i = $("#newsList li"),
        e = 0;
        i.hover(function() {
            var n = $(this).index();
            e != n && ($(t[e]).hide(), $(i[e]).removeClass("sub-text-selected"), $(t[n]).show(), $(i[n]).addClass("sub-text-selected"), e = n)
        })
    }
    function s() {
        n(),
        o()
    }
    var a = e(3),
    r = a.getResponsive,
    c = $("#hotPicSlot a"),
    u = $("#hotPicPages a"),
    h = {
        len: c.length,
        step: 1,
        current: 0,
        handleResize: function() {
            r() ? (this.step = 2, this.len < 3 ? ($("#hotPicPages").hide(), c.show()) : ($("#hotPicPages").show(), $(c[this.current + 1]).show()), u.hide()) : (this.step = 1, this.len < 2 ? $("#hotPicPages").hide() : $("#hotPicPages").show(), c.hide(), $(c[this.current]).show(), u.show())
        },
        refreshPageBtn: function() {
            $(u[0]).removeClass("btn-page-disabled"),
            $(u[1]).removeClass("btn-page-disabled"),
            this.current + this.step >= this.len && $(u[1]).addClass("btn-page-disabled"),
            this.current <= 0 && $(u[0]).addClass("btn-page-disabled")
        },
        handlePicPageBtnClick: function() {
            var t = $(this),
            i = 0;
            if (t.hasClass("btn-page-disabled")) return ! 1;
            var e = t.data("page");
            this.step > 1 && (i = "prev" == e ? this.current - this.step + 1 : this.current + this.step + 1, $(c[this.current + 1]).fadeOut().hide(), $(c[i]).fadeIn().show()),
            i = "prev" == e ? this.current - this.step: this.current + this.step,
            i = i < 0 ? 0 : i,
            $(c[this.current]).fadeOut().hide(),
            $(c[i]).fadeIn().show(),
            this.current = Math.max(i, 0),
            h.refreshPageBtn()
        },
        preload: function() {
            var t = function() {
                $("#hotPicSlot").find("img").each(function() {
                    var t = $(this),
                    i = t.data("img");
                    t.attr("src", i)
                })
            };
            setTimeout(function() {
                t()
            },
            150)
        }
    };
    t.exports = {
        init: s
    }
},
function(t, i, e) {
    "use strict";
    var n = e(3),
    o = (n.setResponsive, n.getResponsive, n.getResponsiveMode),
    s = n.getClientWidth,
    a = e(5),
    r = a.handleResponsive,
    c = e(1),
    u = c.handleResponsive,
    h = e(4),
    d = h.handleResponsive,
    l = s(),
    f = {
        handleResize: function(t) {
            var i = s();
            if (t || i !== l) {
                var e = o();
                this[e + "Render"](),
                l = i,
                r()
            }
        },
        mobileRender: function() {
            u("mbg"),
            d(!0)
        },
        padRender: function() {
            u("bg"),
            d(!0)
        },
        pcRender: function() {
            u("bg"),
            d(!1)
        }
    };
    t.exports = f
}]);
/*  |xGv00|29f4f081bc2862802538284d3a8bfb08*/