Overview

URL info.evolvedit.net/dg0NR1NvyT0Se00Dak100M0
IP199.15.213.48
ASNAS53580 MARKETO
Location United States
Report completed2017-10-12 23:13:49 CEST
StatusLoading report..
urlquery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Referer
Pool
Access Level


Intrusion Detection Systems

Suricata /w Emerging Threats Pro  No alerts detected


Blacklists

MDL  No alerts detected
OpenPhish  No alerts detected
PhishTank  No alerts detected
Fortinet's Web Filter  No alerts detected
DNS-BH  No alerts detected
mnemonic secure dns  No alerts detected


Recent reports on same IP/ASN/Domain

Last 10 reports on IP: 199.15.213.48

Date UQ / IDS / BL URL IP
2017-12-13 21:19:43 +0100
0 - 0 - 0 mkto-m0027.com/dK0mzoD4ui0RM00Ek6030W0 199.15.213.48
2017-12-12 17:40:10 +0100
0 - 0 - 0 go.snowflake.net/ZFC7s0bS3000090j110bORu 199.15.213.48
2017-12-12 13:39:40 +0100
0 - 0 - 0 get.planview.com/u/Lvm1HC00s0w60QWkE0e0U0L 199.15.213.48
2017-12-11 19:18:37 +0100
0 - 0 - 0 mkto-ab010092.com/trk?t=1&mid=MjM5LVpCWC00Mzk (...) 199.15.213.48
2017-12-11 17:53:11 +0100
0 - 0 - 0 go.netcomlearning.com/I0b16B20ozqHN70v0w0NH00 199.15.213.48
2017-12-08 17:28:40 +0100
0 - 0 - 0 cloud.appirio.com/ol/0xEFfZWPa1hLvEhU7uiYIbz- (...) 199.15.213.48
2017-12-08 17:21:46 +0100
0 - 0 - 0 cloud.appirio.com/eC0XFU03010OUr0wKnhEO0R 199.15.213.48
2017-12-08 09:37:18 +0100
0 - 0 - 0 go.mitratech.com/ 199.15.213.48
2017-12-07 23:27:04 +0100
0 - 0 - 0 kfemail.kornferry.com/t4CX2X0YVR0w001DU40000w 199.15.213.48
2017-12-07 22:50:11 +0100
0 - 0 - 0 mkto-m0016.com/P000u07HlB0nD70m03yRvp3 199.15.213.48

Last 10 reports on ASN: AS53580 MARKETO

Date UQ / IDS / BL URL IP
2017-12-13 22:48:15 +0100
0 - 0 - 0 mkto-sj040219.com 199.15.215.8
2017-12-13 21:19:43 +0100
0 - 0 - 0 mkto-m0027.com/dK0mzoD4ui0RM00Ek6030W0 199.15.213.48
2017-12-13 14:28:38 +0100
0 - 0 - 0 go.aryaka.com/u/HW0020B0jzfc6Lh02cN00t0 199.15.215.8
2017-12-13 14:19:50 +0100
0 - 0 - 0 go.aryaka.com/HW0020B0jz8c6Lh02cN00m0 199.15.215.8
2017-12-13 02:38:07 +0100
0 - 0 - 0 mkto-sj030029.com/NW00iQ0u000v0UVfZC0000g 199.15.215.8
2017-12-13 01:46:40 +0100
0 - 0 - 0 emails.microsoft.com/s0dy2q20XQWM0GcXMV00E0E 199.15.215.8
2017-12-13 00:38:20 +0100
0 - 0 - 0 pages.blueshieldca.com/v/lAX0k000Hl000Y1K00B0I0J 199.15.215.8
2017-12-12 17:40:10 +0100
0 - 0 - 0 go.snowflake.net/ZFC7s0bS3000090j110bORu 199.15.213.48
2017-12-12 15:25:27 +0100
0 - 0 - 0 https://success.qualtrics.com/subscription-pr (...) 192.28.146.43
2017-12-12 14:04:53 +0100
0 - 0 - 0 info.mobileiron.com 199.15.215.137

No other reports on domain: evolvedit.net



JavaScript

Executed Scripts (111)


Executed Evals (26)

#1 JavaScript::Eval (size: 22244, repeated: 1) - SHA256: f4da2313ec5a6f93ff25851dfb2949f7f6cc5d0087ef20f5dce3037f7fb3c7a9

                                        ! function($) {
    var e = !0;
    $.flexslider = function(t, a) {
        var n = $(t);
        n.vars = $.extend({}, $.flexslider.defaults, a);
        var i = n.vars.namespace,
            s = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
            r = ("ontouchstart" in window || s || window.DocumentTouch && document instanceof DocumentTouch) && n.vars.touch,
            o = "click touchend MSPointerUp keyup",
            l = "",
            c, d = "vertical" === n.vars.direction,
            u = n.vars.reverse,
            v = n.vars.itemWidth > 0,
            p = "fade" === n.vars.animation,
            m = "" !== n.vars.asNavFor,
            f = {};
        $.data(t, "flexslider", n), f = {
            init: function() {
                n.animating = !1, n.currentSlide = parseInt(n.vars.startAt ? n.vars.startAt : 0, 10), isNaN(n.currentSlide) && (n.currentSlide = 0), n.animatingTo = n.currentSlide, n.atEnd = 0 === n.currentSlide || n.currentSlide === n.last, n.containerSelector = n.vars.selector.substr(0, n.vars.selector.search(" ")), n.slides = $(n.vars.selector, n), n.container = $(n.containerSelector, n), n.count = n.slides.length, n.syncExists = $(n.vars.sync).length > 0, "slide" === n.vars.animation && (n.vars.animation = "swing"), n.prop = d ? "top" : "marginLeft", n.args = {}, n.manualPause = !1, n.stopped = !1, n.started = !1, n.startTimeout = null, n.transitions = !n.vars.video && !p && n.vars.useCSS && function() {
                    var e = document.createElement("div"),
                        t = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"];
                    for (var a in t)
                        if (void 0 !== e.style[t[a]]) return n.pfx = t[a].replace("Perspective", "").toLowerCase(), n.prop = "-" + n.pfx + "-transform", !0;
                    return !1
                }(), n.ensureAnimationEnd = "", "" !== n.vars.controlsContainer && (n.controlsContainer = $(n.vars.controlsContainer).length > 0 && $(n.vars.controlsContainer)), "" !== n.vars.manualControls && (n.manualControls = $(n.vars.manualControls).length > 0 && $(n.vars.manualControls)), "" !== n.vars.customDirectionNav && (n.customDirectionNav = 2 === $(n.vars.customDirectionNav).length && $(n.vars.customDirectionNav)), n.vars.randomize && (n.slides.sort(function() {
                    return Math.round(Math.random()) - .5
                }), n.container.empty().append(n.slides)), n.doMath(), n.setup("init"), n.vars.controlNav && f.controlNav.setup(), n.vars.directionNav && f.directionNav.setup(), n.vars.keyboard && (1 === $(n.containerSelector).length || n.vars.multipleKeyboard) && $(document).bind("keyup", function(e) {
                    var t = e.keyCode;
                    if (!n.animating && (39 === t || 37 === t)) {
                        var a = 39 === t ? n.getTarget("next") : 37 === t ? n.getTarget("prev") : !1;
                        n.flexAnimate(a, n.vars.pauseOnAction)
                    }
                }), n.vars.mousewheel && n.bind("mousewheel", function(e, t, a, i) {
                    e.preventDefault();
                    var s = 0 > t ? n.getTarget("next") : n.getTarget("prev");
                    n.flexAnimate(s, n.vars.pauseOnAction)
                }), n.vars.pausePlay && f.pausePlay.setup(), n.vars.slideshow && n.vars.pauseInvisible && f.pauseInvisible.init(), n.vars.slideshow && (n.vars.pauseOnHover && n.hover(function() {
                    n.manualPlay || n.manualPause || n.pause()
                }, function() {
                    n.manualPause || n.manualPlay || n.stopped || n.play()
                }), n.vars.pauseInvisible && f.pauseInvisible.isHidden() || (n.vars.initDelay > 0 ? n.startTimeout = setTimeout(n.play, n.vars.initDelay) : n.play())), m && f.asNav.setup(), r && n.vars.touch && f.touch(), (!p || p && n.vars.smoothHeight) && $(window).bind("resize orientationchange focus", f.resize), n.find("img").attr("draggable", "false"), setTimeout(function() {
                    n.vars.start(n)
                }, 200)
            },
            asNav: {
                setup: function() {
                    n.asNav = !0, n.animatingTo = Math.floor(n.currentSlide / n.move), n.currentItem = n.currentSlide, n.slides.removeClass(i + "active-slide").eq(n.currentItem).addClass(i + "active-slide"), s ? (t._slider = n, n.slides.each(function() {
                        var e = this;
                        e._gesture = new MSGesture, e._gesture.target = e, e.addEventListener("MSPointerDown", function(e) {
                            e.preventDefault(), e.currentTarget._gesture && e.currentTarget._gesture.addPointer(e.pointerId)
                        }, !1), e.addEventListener("MSGestureTap", function(e) {
                            e.preventDefault();
                            var t = $(this),
                                a = t.index();
                            $(n.vars.asNavFor).data("flexslider").animating || t.hasClass("active") || (n.direction = n.currentItem < a ? "next" : "prev", n.flexAnimate(a, n.vars.pauseOnAction, !1, !0, !0))
                        })
                    })) : n.slides.on(o, function(e) {
                        e.preventDefault();
                        var t = $(this),
                            a = t.index(),
                            s = t.offset().left - $(n).scrollLeft();
                        0 >= s && t.hasClass(i + "active-slide") ? n.flexAnimate(n.getTarget("prev"), !0) : $(n.vars.asNavFor).data("flexslider").animating || t.hasClass(i + "active-slide") || (n.direction = n.currentItem < a ? "next" : "prev", n.flexAnimate(a, n.vars.pauseOnAction, !1, !0, !0))
                    })
                }
            },
            controlNav: {
                setup: function() {
                    n.manualControls ? f.controlNav.setupManual() : f.controlNav.setupPaging()
                },
                setupPaging: function() {
                    var e = "thumbnails" === n.vars.controlNav ? "control-thumbs" : "control-paging",
                        t = 1,
                        a, s;
                    if (n.controlNavScaffold = $('<ol class="' + i + "control-nav " + i + e + '"></ol>'), n.pagingCount > 1)
                        for (var r = 0; r < n.pagingCount; r++) {
                            if (s = n.slides.eq(r), void 0 === s.attr("data-thumb-alt") && s.attr("data-thumb-alt", ""), altText = "" !== s.attr("data-thumb-alt") ? altText = ' alt="' + s.attr("data-thumb-alt") + '"' : "", a = "thumbnails" === n.vars.controlNav ? '<img src="' + s.attr("data-thumb") + '"' + altText + "/>" : '<a href="#">' + t + "</a>", "thumbnails" === n.vars.controlNav && !0 === n.vars.thumbCaptions) {
                                var c = s.attr("data-thumbcaption");
                                "" !== c && void 0 !== c && (a += '<span class="' + i + 'caption">' + c + "</span>")
                            }
                            n.controlNavScaffold.append("<li>" + a + "</li>"), t++
                        }
                    n.controlsContainer ? $(n.controlsContainer).append(n.controlNavScaffold) : n.append(n.controlNavScaffold), f.controlNav.set(), f.controlNav.active(), n.controlNavScaffold.delegate("a, img", o, function(e) {
                        if (e.preventDefault(), "" === l || l === e.type) {
                            var t = $(this),
                                a = n.controlNav.index(t);
                            t.hasClass(i + "active") || (n.direction = a > n.currentSlide ? "next" : "prev", n.flexAnimate(a, n.vars.pauseOnAction))
                        }
                        "" === l && (l = e.type), f.setToClearWatchedEvent()
                    })
                },
                setupManual: function() {
                    n.controlNav = n.manualControls, f.controlNav.active(), n.controlNav.bind(o, function(e) {
                        if (e.preventDefault(), "" === l || l === e.type) {
                            var t = $(this),
                                a = n.controlNav.index(t);
                            t.hasClass(i + "active") || (a > n.currentSlide ? n.direction = "next" : n.direction = "prev", n.flexAnimate(a, n.vars.pauseOnAction))
                        }
                        "" === l && (l = e.type), f.setToClearWatchedEvent()
                    })
                },
                set: function() {
                    var e = "thumbnails" === n.vars.controlNav ? "img" : "a";
                    n.controlNav = $("." + i + "control-nav li " + e, n.controlsContainer ? n.controlsContainer : n)
                },
                active: function() {
                    n.controlNav.removeClass(i + "active").eq(n.animatingTo).addClass(i + "active")
                },
                update: function(e, t) {
                    n.pagingCount > 1 && "add" === e ? n.controlNavScaffold.append($('<li><a href="#">' + n.count + "</a></li>")) : 1 === n.pagingCount ? n.controlNavScaffold.find("li").remove() : n.controlNav.eq(t).closest("li").remove(), f.controlNav.set(), n.pagingCount > 1 && n.pagingCount !== n.controlNav.length ? n.update(t, e) : f.controlNav.active()
                }
            },
            directionNav: {
                setup: function() {
                    var e = $('<ul class="' + i + 'direction-nav"><li class="' + i + 'nav-prev"><a class="' + i + 'prev" href="#">' + n.vars.prevText + '</a></li><li class="' + i + 'nav-next"><a class="' + i + 'next" href="#">' + n.vars.nextText + "</a></li></ul>");
                    n.customDirectionNav ? n.directionNav = n.customDirectionNav : n.controlsContainer ? ($(n.controlsContainer).append(e), n.directionNav = $("." + i + "direction-nav li a", n.controlsContainer)) : (n.append(e), n.directionNav = $("." + i + "direction-nav li a", n)), f.directionNav.update(), n.directionNav.bind(o, function(e) {
                        e.preventDefault();
                        var t;
                        ("" === l || l === e.type) && (t = $(this).hasClass(i + "next") ? n.getTarget("next") : n.getTarget("prev"), n.flexAnimate(t, n.vars.pauseOnAction)), "" === l && (l = e.type), f.setToClearWatchedEvent()
                    })
                },
                update: function() {
                    var e = i + "disabled";
                    1 === n.pagingCount ? n.directionNav.addClass(e).attr("tabindex", "-1") : n.vars.animationLoop ? n.directionNav.removeClass(e).removeAttr("tabindex") : 0 === n.animatingTo ? n.directionNav.removeClass(e).filter("." + i + "prev").addClass(e).attr("tabindex", "-1") : n.animatingTo === n.last ? n.directionNav.removeClass(e).filter("." + i + "next").addClass(e).attr("tabindex", "-1") : n.directionNav.removeClass(e).removeAttr("tabindex")
                }
            },
            pausePlay: {
                setup: function() {
                    var e = $('<div class="' + i + 'pauseplay"><a href="#"></a></div>');
                    n.controlsContainer ? (n.controlsContainer.append(e), n.pausePlay = $("." + i + "pauseplay a", n.controlsContainer)) : (n.append(e), n.pausePlay = $("." + i + "pauseplay a", n)), f.pausePlay.update(n.vars.slideshow ? i + "pause" : i + "play"), n.pausePlay.bind(o, function(e) {
                        e.preventDefault(), ("" === l || l === e.type) && ($(this).hasClass(i + "pause") ? (n.manualPause = !0, n.manualPlay = !1, n.pause()) : (n.manualPause = !1, n.manualPlay = !0, n.play())), "" === l && (l = e.type), f.setToClearWatchedEvent()
                    })
                },
                update: function(e) {
                    "play" === e ? n.pausePlay.removeClass(i + "pause").addClass(i + "play").html(n.vars.playText) : n.pausePlay.removeClass(i + "play").addClass(i + "pause").html(n.vars.pauseText)
                }
            },
            touch: function() {
                function e(e) {
                    e.stopPropagation(), n.animating ? e.preventDefault() : (n.pause(), t._gesture.addPointer(e.pointerId), T = 0, c = d ? n.h : n.w, f = Number(new Date), l = v && u && n.animatingTo === n.last ? 0 : v && u ? n.limit - (n.itemW + n.vars.itemMargin) * n.move * n.animatingTo : v && n.currentSlide === n.last ? n.limit : v ? (n.itemW + n.vars.itemMargin) * n.move * n.currentSlide : u ? (n.last - n.currentSlide + n.cloneOffset) * c : (n.currentSlide + n.cloneOffset) * c)
                }

                function a(e) {
                    e.stopPropagation();
                    var a = e.target._slider;
                    if (a) {
                        var n = -e.translationX,
                            i = -e.translationY;
                        return T += d ? i : n, m = T, x = d ? Math.abs(T) < Math.abs(-n) : Math.abs(T) < Math.abs(-i), e.detail === e.MSGESTURE_FLAG_INERTIA ? void setImmediate(function() {
                            t._gesture.stop()
                        }) : void((!x || Number(new Date) - f > 500) && (e.preventDefault(), !p && a.transitions && (a.vars.animationLoop || (m = T / (0 === a.currentSlide && 0 > T || a.currentSlide === a.last && T > 0 ? Math.abs(T) / c + 2 : 1)), a.setProps(l + m, "setTouch"))))
                    }
                }

                function i(e) {
                    e.stopPropagation();
                    var t = e.target._slider;
                    if (t) {
                        if (t.animatingTo === t.currentSlide && !x && null !== m) {
                            var a = u ? -m : m,
                                n = a > 0 ? t.getTarget("next") : t.getTarget("prev");
                            t.canAdvance(n) && (Number(new Date) - f < 550 && Math.abs(a) > 50 || Math.abs(a) > c / 2) ? t.flexAnimate(n, t.vars.pauseOnAction) : p || t.flexAnimate(t.currentSlide, t.vars.pauseOnAction, !0)
                        }
                        r = null, o = null, m = null, l = null, T = 0
                    }
                }
                var r, o, l, c, m, f, g, h, S, x = !1,
                    y = 0,
                    b = 0,
                    T = 0;
                s ? (t.style.msTouchAction = "none", t._gesture = new MSGesture, t._gesture.target = t, t.addEventListener("MSPointerDown", e, !1), t._slider = n, t.addEventListener("MSGestureChange", a, !1), t.addEventListener("MSGestureEnd", i, !1)) : (g = function(e) {
                    n.animating ? e.preventDefault() : (window.navigator.msPointerEnabled || 1 === e.touches.length) && (n.pause(), c = d ? n.h : n.w, f = Number(new Date), y = e.touches[0].pageX, b = e.touches[0].pageY, l = v && u && n.animatingTo === n.last ? 0 : v && u ? n.limit - (n.itemW + n.vars.itemMargin) * n.move * n.animatingTo : v && n.currentSlide === n.last ? n.limit : v ? (n.itemW + n.vars.itemMargin) * n.move * n.currentSlide : u ? (n.last - n.currentSlide + n.cloneOffset) * c : (n.currentSlide + n.cloneOffset) * c, r = d ? b : y, o = d ? y : b, t.addEventListener("touchmove", h, !1), t.addEventListener("touchend", S, !1))
                }, h = function(e) {
                    y = e.touches[0].pageX, b = e.touches[0].pageY, m = d ? r - b : r - y, x = d ? Math.abs(m) < Math.abs(y - o) : Math.abs(m) < Math.abs(b - o);
                    var t = 500;
                    (!x || Number(new Date) - f > t) && (e.preventDefault(), !p && n.transitions && (n.vars.animationLoop || (m /= 0 === n.currentSlide && 0 > m || n.currentSlide === n.last && m > 0 ? Math.abs(m) / c + 2 : 1), n.setProps(l + m, "setTouch")))
                }, S = function(e) {
                    if (t.removeEventListener("touchmove", h, !1), n.animatingTo === n.currentSlide && !x && null !== m) {
                        var a = u ? -m : m,
                            i = a > 0 ? n.getTarget("next") : n.getTarget("prev");
                        n.canAdvance(i) && (Number(new Date) - f < 550 && Math.abs(a) > 50 || Math.abs(a) > c / 2) ? n.flexAnimate(i, n.vars.pauseOnAction) : p || n.flexAnimate(n.currentSlide, n.vars.pauseOnAction, !0)
                    }
                    t.removeEventListener("touchend", S, !1), r = null, o = null, m = null, l = null
                }, t.addEventListener("touchstart", g, !1))
            },
            resize: function() {
                !n.animating && n.is(":visible") && (v || n.doMath(), p ? f.smoothHeight() : v ? (n.slides.width(n.computedW), n.update(n.pagingCount), n.setProps()) : d ? (n.viewport.height(n.h), n.setProps(n.h, "setTotal")) : (n.vars.smoothHeight && f.smoothHeight(), n.newSlides.width(n.computedW), n.setProps(n.computedW, "setTotal")))
            },
            smoothHeight: function(e) {
                if (!d || p) {
                    var t = p ? n : n.viewport;
                    e ? t.animate({
                        height: n.slides.eq(n.animatingTo).height()
                    }, e) : t.height(n.slides.eq(n.animatingTo).height())
                }
            },
            sync: function(e) {
                var t = $(n.vars.sync).data("flexslider"),
                    a = n.animatingTo;
                switch (e) {
                    case "animate":
                        t.flexAnimate(a, n.vars.pauseOnAction, !1, !0);
                        break;
                    case "play":
                        t.playing || t.asNav || t.play();
                        break;
                    case "pause":
                        t.pause()
                }
            },
            uniqueID: function(e) {
                return e.filter("[id]").add(e.find("[id]")).each(function() {
                    var e = $(this);
                    e.attr("id", e.attr("id") + "_clone")
                }), e
            },
            pauseInvisible: {
                visProp: null,
                init: function() {
                    var e = f.pauseInvisible.getHiddenProp();
                    if (e) {
                        var t = e.replace(/[H|h]idden/, "") + "visibilitychange";
                        document.addEventListener(t, function() {
                            f.pauseInvisible.isHidden() ? n.startTimeout ? clearTimeout(n.startTimeout) : n.pause() : n.started ? n.play() : n.vars.initDelay > 0 ? setTimeout(n.play, n.vars.initDelay) : n.play()
                        })
                    }
                },
                isHidden: function() {
                    var e = f.pauseInvisible.getHiddenProp();
                    return e ? document[e] : !1
                },
                getHiddenProp: function() {
                    var e = ["webkit", "moz", "ms", "o"];
                    if ("hidden" in document) return "hidden";
                    for (var t = 0; t < e.length; t++)
                        if (e[t] + "Hidden" in document) return e[t] + "Hidden";
                    return null
                }
            },
            setToClearWatchedEvent: function() {
                clearTimeout(c), c = setTimeout(function() {
                    l = ""
                }, 3e3)
            }
        }, n.flexAnimate = function(e, t, a, s, o) {
            if (n.vars.animationLoop || e === n.currentSlide || (n.direction = e > n.currentSlide ? "next" : "prev"), m && 1 === n.pagingCount && (n.direction = n.currentItem < e ? "next" : "prev"), !n.animating && (n.canAdvance(e, o) || a) && n.is(":visible")) {
                if (m && s) {
                    var l = $(n.vars.asNavFor).data("flexslider");
                    if (n.atEnd = 0 === e || e === n.count - 1, l.flexAnimate(e, !0, !1, !0, o), n.direction = n.currentItem < e ? "next" : "prev", l.direction = n.direction, Math.ceil((e + 1) / n.visible) - 1 === n.currentSlide || 0 === e) return n.currentItem = e, n.slides.removeClass(i + "active-slide").eq(e).addClass(i + "active-slide"), !1;
                    n.currentItem = e, n.slides.removeClass(i + "active-slide").eq(e).addClass(i + "active-slide"), e = Math.floor(e / n.visible)
                }
                if (n.animating = !0, n.animatingTo = e, t && n.pause(), n.vars.before(n), n.syncExists && !o && f.sync("animate"), n.vars.controlNav && f.controlNav.active(), v || n.slides.removeClass(i + "active-slide").eq(e).addClass(i + "active-slide"), n.atEnd = 0 === e || e === n.last, n.vars.directionNav && f.directionNav.update(), e === n.last && (n.vars.end(n), n.vars.animationLoop || n.pause()), p) r ? (n.slides.eq(n.currentSlide).css({
                    opacity: 0,
                    zIndex: 1
                }), n.slides.eq(e).css({
                    opacity: 1,
                    zIndex: 2
                }), n.wrapup(c)) : (n.slides.eq(n.currentSlide).css({
                    zIndex: 1
                }).animate({
                    opacity: 0
                }, n.vars.animationSpeed, n.vars.easing), n.slides.eq(e).css({
                    zIndex: 2
                }).animate({
                    opacity: 1
                }, n.vars.animationSpeed, n.vars.easing, n.wrapup));
                else {
                    var c = d ? n.slides.filter(":first").height() : n.computedW,
                        g, h, S;
                    v ? (g = n.vars.itemMargin, S = (n.itemW + g) * n.move * n.animatingTo, h = S > n.limit && 1 !== n.visible ? n.limit : S) : h = 0 === n.currentSlide && e === n.count - 1 && n.vars.animationLoop && "next" !== n.direction ? u ? (n.count + n.cloneOffset) * c : 0 : n.currentSlide === n.last && 0 === e && n.vars.animationLoop && "prev" !== n.direction ? u ? 0 : (n.count + 1) * c : u ? (n.count - 1 - e + n.cloneOffset) * c : (e + n.cloneOffset) * c, n.setProps(h, "", n.vars.animationSpeed), n.transitions ? (n.vars.animationLoop && n.atEnd || (n.animating = !1, n.currentSlide = n.animatingTo), n.container.unbind("webkitTransitionEnd transitionend"), n.container.bind("webkitTransitionEnd transitionend", function() {
                        clearTimeout(n.ensureAnimationEnd), n.wrapup(c)
                    }), clearTimeout(n.ensureAnimationEnd), n.ensureAnimationEnd = setTimeout(function() {
                        n.wrapup(c)
                    }, n.vars.animationSpeed + 100)) : n.container.animate(n.args, n.vars.animationSpeed, n.vars.easing, function() {
                        n.wrapup(c)
                    })
                }
                n.vars.smoothHeight && f.smoothHeight(n.vars.animationSpeed)
            }
        }, n.wrapup = function(e) {
            p || v || (0 === n.currentSlide && n.animatingTo === n.last && n.vars.animationLoop ? n.setProps(e, "jumpEnd") : n.currentSlide === n.last && 0 === n.animatingTo && n.vars.animationLoop && n.setProps(e, "jumpStart")), n.animating = !1, n.currentSlide = n.animatingTo, n.vars.after(n)
        }, n.animateSlides = function() {
            !n.animating && e && n.flexAnimate(n.getTarget("next"))
        }, n.pause = function() {
            clearInterval(n.animatedSlides), n.animatedSlides = null, n.playing = !1, n.vars.pausePlay && f.pausePlay.update("play"), n.syncExists && f.sync("pause")
        }, n.play = function() {
            n.playing && clearInterval(n.animatedSlides), n.animatedSlides = n.animatedSlides || setInterval(n.animateSlides, n.vars.slideshowSpeed), n.started = n.playing = !0, n.vars.pausePlay && f.pausePlay.update("pause"), n.syncExists && f.sync("play")
        }, n.stop = function() {
            n.pause(), n.stopped = !0
        }, n.canAdvance = function(e, t) {
            var a = m ? n.pagingCount - 1 : n.last;
            return t ? !0 : m && n.currentItem === n.count - 1 && 0 === e && "prev" === n.direction ? !0 : m && 0 === n.currentItem && e === n.pagingCount - 1 && "next" !== n.direction ? !1 : e !== n.currentSlide || m ? n.vars.animationLoop ? !0 : n.atEnd && 0 === n.currentSlide && e === a && "next" !== n.direction ? !1 : n.atEnd && n.currentSlide === a && 0 === e && "next" === n.direction ? !1 : !0 : !1
        }, n.getTarget = function(e) {
            return n.direction = e, "next" === e ? n.currentSlide === n.last ? 0 : n.currentSlide + 1 : 0 === n.currentSlide ? n.last : n.currentSlide - 1
        }, n.setProps = function(e, t, a) {
            var i = function() {
                var a = e ? e : (n.itemW + n.vars.itemMargin) * n.move * n.animatingTo,
                    i = function() {
                        if (v) return "setTouch" === t ? e : u && n.animatingTo === n.last ? 0 : u ? n.limit - (n.itemW + n.vars.itemMargin) * n.move * n.animatingTo : n.animatingTo === n.last ? n.limit : a;
                        switch (t) {
                            case "setTotal":
                                return u ? (n.count - 1 - n.currentSlide + n.cloneOffset) * e : (n.currentSlide + n.cloneOffset) * e;
                            case "setTouch":
                                return u ? e : e;
                            case "jumpEnd":
                                return u ? e : n.count * e;
                            case "jumpStart":
                                return u ? n.count * e : e;
                            default:
                                return e
                        }
                    }();
                return -1 * i + "px"
            }();
            n.transitions && (i = d ? "translate3d(0," + i + ",0)" : "translate3d(" + i + ",0,0)", a = void 0 !== a ? a / 1e3 + "s" : "0s", n.container.css("-" + n.pfx + "-transition-duration", a), n.container.css("transition-duration", a)), n.args[n.prop] = i, (n.transitions || void 0 === a) && n.container.css(n.args), n.container.css("transform", i)
        }, n.setup = function(e) {
            if (p) n.slides.css({
                width: "100%",
                "float": "left",
                marginRight: "-100%",
                position: "relative"
            }), "init" === e && (r ? n.slides.css({
                opacity: 0,
                display: "block",
                webkitTransition: "opacity " + n.vars.animationSpeed / 1e3 + "s ease",
                zIndex: 1
            }).eq(n.currentSlide).css({
                opacity: 1,
                zIndex: 2
            }) : 0 == n.vars.fadeFirstSlide ? n.slides.css({
                opacity: 0,
                display: "block",
                zIndex: 1
            }).eq(n.currentSlide).css({
                zIndex: 2
            }).css({
                opacity: 1
            }) : n.slides.css({
                opacity: 0,
                display: "block",
                zIndex: 1
            }).eq(n.currentSlide).css({
                zIndex: 2
            }).animate({
                opacity: 1
            }, n.vars.animationSpeed, n.vars.easing)), n.vars.smoothHeight && f.smoothHeight();
            else {
                var t, a;
                "init" === e && (n.viewport = $('<div class="' + i + 'viewport"></div>').css({
                    overflow: "hidden",
                    position: "relative"
                }).appendTo(n).append(n.container), n.cloneCount = 0, n.cloneOffset = 0, u && (a = $.makeArray(n.slides).reverse(), n.slides = $(a), n.container.empty().append(n.slides))), n.vars.animationLoop && !v && (n.cloneCount = 2, n.cloneOffset = 1, "init" !== e && n.container.find(".clone").remove(), n.container.append(f.uniqueID(n.slides.first().clone().addClass("clone")).attr("aria-hidden", "true")).prepend(f.uniqueID(n.slides.last().clone().addClass("clone")).attr("aria-hidden", "true"))), n.newSlides = $(n.vars.selector, n), t = u ? n.count - 1 - n.currentSlide + n.cloneOffset : n.currentSlide + n.cloneOffset, d && !v ? (n.container.height(200 * (n.count + n.cloneCount) + "%").css("position", "absolute").width("100%"), setTimeout(function() {
                    n.newSlides.css({
                        display: "block"
                    }), n.doMath(), n.viewport.height(n.h), n.setProps(t * n.h, "init")
                }, "init" === e ? 100 : 0)) : (n.container.width(200 * (n.count + n.cloneCount) + "%"), n.setProps(t * n.computedW, "init"), setTimeout(function() {
                    n.doMath(), n.newSlides.css({
                        width: n.computedW,
                        marginRight: n.computedM,
                        "float": "left",
                        display: "block"
                    }), n.vars.smoothHeight && f.smoothHeight()
                }, "init" === e ? 100 : 0))
            }
            v || n.slides.removeClass(i + "active-slide").eq(n.currentSlide).addClass(i + "active-slide"), n.vars.init(n)
        }, n.doMath = function() {
            var e = n.slides.first(),
                t = n.vars.itemMargin,
                a = n.vars.minItems,
                i = n.vars.maxItems;
            n.w = void 0 === n.viewport ? n.width() : n.viewport.width(), n.h = e.height(), n.boxPadding = e.outerWidth() - e.width(), v ? (n.itemT = n.vars.itemWidth + t, n.itemM = t, n.minW = a ? a * n.itemT : n.w, n.maxW = i ? i * n.itemT - t : n.w, n.itemW = n.minW > n.w ? (n.w - t * (a - 1)) / a : n.maxW < n.w ? (n.w - t * (i - 1)) / i : n.vars.itemWidth > n.w ? n.w : n.vars.itemWidth, n.visible = Math.floor(n.w / n.itemW), n.move = n.vars.move > 0 && n.vars.move < n.visible ? n.vars.move : n.visible, n.pagingCount = Math.ceil((n.count - n.visible) / n.move + 1), n.last = n.pagingCount - 1, n.limit = 1 === n.pagingCount ? 0 : n.vars.itemWidth > n.w ? n.itemW * (n.count - 1) + t * (n.count - 1) : (n.itemW + t) * n.count - n.w - t) : (n.itemW = n.w, n.itemM = t, n.pagingCount = n.count, n.last = n.count - 1), n.computedW = n.itemW - n.boxPadding, n.computedM = n.itemM
        }, n.update = function(e, t) {
            n.doMath(), v || (e < n.currentSlide ? n.currentSlide += 1 : e <= n.currentSlide && 0 !== e && (n.currentSlide -= 1), n.animatingTo = n.currentSlide), n.vars.controlNav && !n.manualControls && ("add" === t && !v || n.pagingCount > n.controlNav.length ? f.controlNav.update("add") : ("remove" === t && !v || n.pagingCount < n.controlNav.length) && (v && n.currentSlide > n.last && (n.currentSlide -= 1, n.animatingTo -= 1), f.controlNav.update("remove", n.last))), n.vars.directionNav && f.directionNav.update()
        }, n.addSlide = function(e, t) {
            var a = $(e);
            n.count += 1, n.last = n.count - 1, d && u ? void 0 !== t ? n.slides.eq(n.count - t).after(a) : n.container.prepend(a) : void 0 !== t ? n.slides.eq(t).before(a) : n.container.append(a), n.update(t, "add"), n.slides = $(n.vars.selector + ":not(.clone)", n), n.setup(), n.vars.added(n)
        }, n.removeSlide = function(e) {
            var t = isNaN(e) ? n.slides.index($(e)) : e;
            n.count -= 1, n.last = n.count - 1, isNaN(e) ? $(e, n.slides).remove() : d && u ? n.slides.eq(n.last).remove() : n.slides.eq(e).remove(), n.doMath(), n.update(t, "remove"), n.slides = $(n.vars.selector + ":not(.clone)", n), n.setup(), n.vars.removed(n)
        }, f.init()
    }, $(window).blur(function(t) {
        e = !1
    }).focus(function(t) {
        e = !0
    }), $.flexslider.defaults = {
        namespace: "flex-",
        selector: ".slides > li",
        animation: "fade",
        easing: "swing",
        direction: "horizontal",
        reverse: !1,
        animationLoop: !0,
        smoothHeight: !1,
        startAt: 0,
        slideshow: !0,
        slideshowSpeed: 7e3,
        animationSpeed: 600,
        initDelay: 0,
        randomize: !1,
        fadeFirstSlide: !0,
        thumbCaptions: !1,
        pauseOnAction: !0,
        pauseOnHover: !1,
        pauseInvisible: !0,
        useCSS: !0,
        touch: !0,
        video: !1,
        controlNav: !0,
        directionNav: !0,
        prevText: "Previous",
        nextText: "Next",
        keyboard: !0,
        multipleKeyboard: !1,
        mousewheel: !1,
        pausePlay: !1,
        pauseText: "Pause",
        playText: "Play",
        controlsContainer: "",
        manualControls: "",
        customDirectionNav: "",
        sync: "",
        asNavFor: "",
        itemWidth: 0,
        itemMargin: 0,
        minItems: 1,
        maxItems: 0,
        move: 0,
        allowOneSlide: !0,
        start: function() {},
        before: function() {},
        after: function() {},
        end: function() {},
        added: function() {},
        removed: function() {},
        init: function() {}
    }, $.fn.flexslider = function(e) {
        if (void 0 === e && (e = {}), "object" == typeof e) return this.each(function() {
            var t = $(this),
                a = e.selector ? e.selector : ".slides > li",
                n = t.find(a);
            1 === n.length && e.allowOneSlide === !0 || 0 === n.length ? (n.fadeIn(400), e.start && e.start(t)) : void 0 === t.data("flexslider") && new $.flexslider(this, e)
        });
        var t = $(this).data("flexslider");
        switch (e) {
            case "play":
                t.play();
                break;
            case "pause":
                t.pause();
                break;
            case "stop":
                t.stop();
                break;
            case "next":
                t.flexAnimate(t.getTarget("next"), !0);
                break;
            case "prev":
            case "previous":
                t.flexAnimate(t.getTarget("prev"), !0);
                break;
            default:
                "number" == typeof e && t.flexAnimate(e, !0)
        }
    }
}(jQuery);
                                    

#2 JavaScript::Eval (size: 10770, repeated: 1) - SHA256: e53ef88cbdc6af7a702d11ae0333adef9ecfe36efb0ae6ab40191490386521c4

                                        ! function(a) {
    "function" == typeof define && define.amd ? define(["jquery", "./core", "./mouse", "./widget"], a) : a(jQuery)
}(function(a) {
    return a.widget("ui.slider", a.ui.mouse, {
        version: "1.11.4",
        widgetEventPrefix: "slide",
        options: {
            animate: !1,
            distance: 0,
            max: 100,
            min: 0,
            orientation: "horizontal",
            range: !1,
            step: 1,
            value: 0,
            values: null,
            change: null,
            slide: null,
            start: null,
            stop: null
        },
        numPages: 5,
        _create: function() {
            this._keySliding = !1, this._mouseSliding = !1, this._animateOff = !0, this._handleIndex = null, this._detectOrientation(), this._mouseInit(), this._calculateNewMax(), this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all"), this._refresh(), this._setOption("disabled", this.options.disabled), this._animateOff = !1
        },
        _refresh: function() {
            this._createRange(), this._createHandles(), this._setupEvents(), this._refreshValue()
        },
        _createHandles: function() {
            var b, c, d = this.options,
                e = this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),
                f = "<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",
                g = [];
            for (c = d.values && d.values.length || 1, e.length > c && (e.slice(c).remove(), e = e.slice(0, c)), b = e.length; b < c; b++) g.push(f);
            this.handles = e.add(a(g.join("")).appendTo(this.element)), this.handle = this.handles.eq(0), this.handles.each(function(b) {
                a(this).data("ui-slider-handle-index", b)
            })
        },
        _createRange: function() {
            var b = this.options,
                c = "";
            b.range ? (b.range === !0 && (b.values ? b.values.length && 2 !== b.values.length ? b.values = [b.values[0], b.values[0]] : a.isArray(b.values) && (b.values = b.values.slice(0)) : b.values = [this._valueMin(), this._valueMin()]), this.range && this.range.length ? this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({
                left: "",
                bottom: ""
            }) : (this.range = a("<div></div>").appendTo(this.element), c = "ui-slider-range ui-widget-header ui-corner-all"), this.range.addClass(c + ("min" === b.range || "max" === b.range ? " ui-slider-range-" + b.range : ""))) : (this.range && this.range.remove(), this.range = null)
        },
        _setupEvents: function() {
            this._off(this.handles), this._on(this.handles, this._handleEvents), this._hoverable(this.handles), this._focusable(this.handles)
        },
        _destroy: function() {
            this.handles.remove(), this.range && this.range.remove(), this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"), this._mouseDestroy()
        },
        _mouseCapture: function(b) {
            var c, d, e, f, g, h, i, j, k = this,
                l = this.options;
            return !l.disabled && (this.elementSize = {
                width: this.element.outerWidth(),
                height: this.element.outerHeight()
            }, this.elementOffset = this.element.offset(), c = {
                x: b.pageX,
                y: b.pageY
            }, d = this._normValueFromMouse(c), e = this._valueMax() - this._valueMin() + 1, this.handles.each(function(b) {
                var c = Math.abs(d - k.values(b));
                (e > c || e === c && (b === k._lastChangedValue || k.values(b) === l.min)) && (e = c, f = a(this), g = b)
            }), h = this._start(b, g), h !== !1 && (this._mouseSliding = !0, this._handleIndex = g, f.addClass("ui-state-active").focus(), i = f.offset(), j = !a(b.target).parents().addBack().is(".ui-slider-handle"), this._clickOffset = j ? {
                left: 0,
                top: 0
            } : {
                left: b.pageX - i.left - f.width() / 2,
                top: b.pageY - i.top - f.height() / 2 - (parseInt(f.css("borderTopWidth"), 10) || 0) - (parseInt(f.css("borderBottomWidth"), 10) || 0) + (parseInt(f.css("marginTop"), 10) || 0)
            }, this.handles.hasClass("ui-state-hover") || this._slide(b, g, d), this._animateOff = !0, !0))
        },
        _mouseStart: function() {
            return !0
        },
        _mouseDrag: function(a) {
            var b = {
                    x: a.pageX,
                    y: a.pageY
                },
                c = this._normValueFromMouse(b);
            return this._slide(a, this._handleIndex, c), !1
        },
        _mouseStop: function(a) {
            return this.handles.removeClass("ui-state-active"), this._mouseSliding = !1, this._stop(a, this._handleIndex), this._change(a, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1, !1
        },
        _detectOrientation: function() {
            this.orientation = "vertical" === this.options.orientation ? "vertical" : "horizontal"
        },
        _normValueFromMouse: function(a) {
            var b, c, d, e, f;
            return "horizontal" === this.orientation ? (b = this.elementSize.width, c = a.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)) : (b = this.elementSize.height, c = a.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)), d = c / b, d > 1 && (d = 1), d < 0 && (d = 0), "vertical" === this.orientation && (d = 1 - d), e = this._valueMax() - this._valueMin(), f = this._valueMin() + d * e, this._trimAlignValue(f)
        },
        _start: function(a, b) {
            var c = {
                handle: this.handles[b],
                value: this.value()
            };
            return this.options.values && this.options.values.length && (c.value = this.values(b), c.values = this.values()), this._trigger("start", a, c)
        },
        _slide: function(a, b, c) {
            var d, e, f;
            this.options.values && this.options.values.length ? (d = this.values(b ? 0 : 1), 2 === this.options.values.length && this.options.range === !0 && (0 === b && c > d || 1 === b && c < d) && (c = d), c !== this.values(b) && (e = this.values(), e[b] = c, f = this._trigger("slide", a, {
                handle: this.handles[b],
                value: c,
                values: e
            }), d = this.values(b ? 0 : 1), f !== !1 && this.values(b, c))) : c !== this.value() && (f = this._trigger("slide", a, {
                handle: this.handles[b],
                value: c
            }), f !== !1 && this.value(c))
        },
        _stop: function(a, b) {
            var c = {
                handle: this.handles[b],
                value: this.value()
            };
            this.options.values && this.options.values.length && (c.value = this.values(b), c.values = this.values()), this._trigger("stop", a, c)
        },
        _change: function(a, b) {
            if (!this._keySliding && !this._mouseSliding) {
                var c = {
                    handle: this.handles[b],
                    value: this.value()
                };
                this.options.values && this.options.values.length && (c.value = this.values(b), c.values = this.values()), this._lastChangedValue = b, this._trigger("change", a, c)
            }
        },
        value: function(a) {
            return arguments.length ? (this.options.value = this._trimAlignValue(a), this._refreshValue(), void this._change(null, 0)) : this._value()
        },
        values: function(b, c) {
            var d, e, f;
            if (arguments.length > 1) return this.options.values[b] = this._trimAlignValue(c), this._refreshValue(), void this._change(null, b);
            if (!arguments.length) return this._values();
            if (!a.isArray(arguments[0])) return this.options.values && this.options.values.length ? this._values(b) : this.value();
            for (d = this.options.values, e = arguments[0], f = 0; f < d.length; f += 1) d[f] = this._trimAlignValue(e[f]), this._change(null, f);
            this._refreshValue()
        },
        _setOption: function(b, c) {
            var d, e = 0;
            switch ("range" === b && this.options.range === !0 && ("min" === c ? (this.options.value = this._values(0), this.options.values = null) : "max" === c && (this.options.value = this._values(this.options.values.length - 1), this.options.values = null)), a.isArray(this.options.values) && (e = this.options.values.length), "disabled" === b && this.element.toggleClass("ui-state-disabled", !!c), this._super(b, c), b) {
                case "orientation":
                    this._detectOrientation(), this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation), this._refreshValue(), this.handles.css("horizontal" === c ? "bottom" : "left", "");
                    break;
                case "value":
                    this._animateOff = !0, this._refreshValue(), this._change(null, 0), this._animateOff = !1;
                    break;
                case "values":
                    for (this._animateOff = !0, this._refreshValue(), d = 0; d < e; d += 1) this._change(null, d);
                    this._animateOff = !1;
                    break;
                case "step":
                case "min":
                case "max":
                    this._animateOff = !0, this._calculateNewMax(), this._refreshValue(), this._animateOff = !1;
                    break;
                case "range":
                    this._animateOff = !0, this._refresh(), this._animateOff = !1
            }
        },
        _value: function() {
            var a = this.options.value;
            return a = this._trimAlignValue(a)
        },
        _values: function(a) {
            var b, c, d;
            if (arguments.length) return b = this.options.values[a], b = this._trimAlignValue(b);
            if (this.options.values && this.options.values.length) {
                for (c = this.options.values.slice(), d = 0; d < c.length; d += 1) c[d] = this._trimAlignValue(c[d]);
                return c
            }
            return []
        },
        _trimAlignValue: function(a) {
            if (a <= this._valueMin()) return this._valueMin();
            if (a >= this._valueMax()) return this._valueMax();
            var b = this.options.step > 0 ? this.options.step : 1,
                c = (a - this._valueMin()) % b,
                d = a - c;
            return 2 * Math.abs(c) >= b && (d += c > 0 ? b : -b), parseFloat(d.toFixed(5))
        },
        _calculateNewMax: function() {
            var a = this.options.max,
                b = this._valueMin(),
                c = this.options.step,
                d = Math.floor(+(a - b).toFixed(this._precision()) / c) * c;
            a = d + b, this.max = parseFloat(a.toFixed(this._precision()))
        },
        _precision: function() {
            var a = this._precisionOf(this.options.step);
            return null !== this.options.min && (a = Math.max(a, this._precisionOf(this.options.min))), a
        },
        _precisionOf: function(a) {
            var b = a.toString(),
                c = b.indexOf(".");
            return c === -1 ? 0 : b.length - c - 1
        },
        _valueMin: function() {
            return this.options.min
        },
        _valueMax: function() {
            return this.max
        },
        _refreshValue: function() {
            var b, c, d, e, f, g = this.options.range,
                h = this.options,
                i = this,
                j = !this._animateOff && h.animate,
                k = {};
            this.options.values && this.options.values.length ? this.handles.each(function(d) {
                c = (i.values(d) - i._valueMin()) / (i._valueMax() - i._valueMin()) * 100, k["horizontal" === i.orientation ? "left" : "bottom"] = c + "%", a(this).stop(1, 1)[j ? "animate" : "css"](k, h.animate), i.options.range === !0 && ("horizontal" === i.orientation ? (0 === d && i.range.stop(1, 1)[j ? "animate" : "css"]({
                    left: c + "%"
                }, h.animate), 1 === d && i.range[j ? "animate" : "css"]({
                    width: c - b + "%"
                }, {
                    queue: !1,
                    duration: h.animate
                })) : (0 === d && i.range.stop(1, 1)[j ? "animate" : "css"]({
                    bottom: c + "%"
                }, h.animate), 1 === d && i.range[j ? "animate" : "css"]({
                    height: c - b + "%"
                }, {
                    queue: !1,
                    duration: h.animate
                }))), b = c
            }) : (d = this.value(), e = this._valueMin(), f = this._valueMax(), c = f !== e ? (d - e) / (f - e) * 100 : 0, k["horizontal" === this.orientation ? "left" : "bottom"] = c + "%", this.handle.stop(1, 1)[j ? "animate" : "css"](k, h.animate), "min" === g && "horizontal" === this.orientation && this.range.stop(1, 1)[j ? "animate" : "css"]({
                width: c + "%"
            }, h.animate), "max" === g && "horizontal" === this.orientation && this.range[j ? "animate" : "css"]({
                width: 100 - c + "%"
            }, {
                queue: !1,
                duration: h.animate
            }), "min" === g && "vertical" === this.orientation && this.range.stop(1, 1)[j ? "animate" : "css"]({
                height: c + "%"
            }, h.animate), "max" === g && "vertical" === this.orientation && this.range[j ? "animate" : "css"]({
                height: 100 - c + "%"
            }, {
                queue: !1,
                duration: h.animate
            }))
        },
        _handleEvents: {
            keydown: function(b) {
                var c, d, e, f, g = a(b.target).data("ui-slider-handle-index");
                switch (b.keyCode) {
                    case a.ui.keyCode.HOME:
                    case a.ui.keyCode.END:
                    case a.ui.keyCode.PAGE_UP:
                    case a.ui.keyCode.PAGE_DOWN:
                    case a.ui.keyCode.UP:
                    case a.ui.keyCode.RIGHT:
                    case a.ui.keyCode.DOWN:
                    case a.ui.keyCode.LEFT:
                        if (b.preventDefault(), !this._keySliding && (this._keySliding = !0, a(b.target).addClass("ui-state-active"), c = this._start(b, g), c === !1)) return
                }
                switch (f = this.options.step, d = e = this.options.values && this.options.values.length ? this.values(g) : this.value(), b.keyCode) {
                    case a.ui.keyCode.HOME:
                        e = this._valueMin();
                        break;
                    case a.ui.keyCode.END:
                        e = this._valueMax();
                        break;
                    case a.ui.keyCode.PAGE_UP:
                        e = this._trimAlignValue(d + (this._valueMax() - this._valueMin()) / this.numPages);
                        break;
                    case a.ui.keyCode.PAGE_DOWN:
                        e = this._trimAlignValue(d - (this._valueMax() - this._valueMin()) / this.numPages);
                        break;
                    case a.ui.keyCode.UP:
                    case a.ui.keyCode.RIGHT:
                        if (d === this._valueMax()) return;
                        e = this._trimAlignValue(d + f);
                        break;
                    case a.ui.keyCode.DOWN:
                    case a.ui.keyCode.LEFT:
                        if (d === this._valueMin()) return;
                        e = this._trimAlignValue(d - f)
                }
                this._slide(b, g, e)
            },
            keyup: function(b) {
                var c = a(b.target).data("ui-slider-handle-index");
                this._keySliding && (this._keySliding = !1, this._stop(b, c), this._change(b, c), a(b.target).removeClass("ui-state-active"))
            }
        }
    })
});
                                    

#3 JavaScript::Eval (size: 8361, repeated: 1) - SHA256: 6b54ee7ade66f90723863049cf6ec6373611f9c4ec7fc249826a237514f0e230

                                        ! function(a) {
    "function" == typeof define && define.amd ? define(["jquery", "./core", "./widget"], a) : a(jQuery)
}(function(a) {
    return a.widget("ui.accordion", {
        version: "1.11.4",
        options: {
            active: 0,
            animate: {},
            collapsible: !1,
            event: "click",
            header: "> li > :first-child,> :not(li):even",
            heightStyle: "auto",
            icons: {
                activeHeader: "ui-icon-triangle-1-s",
                header: "ui-icon-triangle-1-e"
            },
            activate: null,
            beforeActivate: null
        },
        hideProps: {
            borderTopWidth: "hide",
            borderBottomWidth: "hide",
            paddingTop: "hide",
            paddingBottom: "hide",
            height: "hide"
        },
        showProps: {
            borderTopWidth: "show",
            borderBottomWidth: "show",
            paddingTop: "show",
            paddingBottom: "show",
            height: "show"
        },
        _create: function() {
            var b = this.options;
            this.prevShow = this.prevHide = a(), this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role", "tablist"), b.collapsible || b.active !== !1 && null != b.active || (b.active = 0), this._processPanels(), b.active < 0 && (b.active += this.headers.length), this._refresh()
        },
        _getCreateEventData: function() {
            return {
                header: this.active,
                panel: this.active.length ? this.active.next() : a()
            }
        },
        _createIcons: function() {
            var b = this.options.icons;
            b && (a("<span>").addClass("ui-accordion-header-icon ui-icon " + b.header).prependTo(this.headers), this.active.children(".ui-accordion-header-icon").removeClass(b.header).addClass(b.activeHeader), this.headers.addClass("ui-accordion-icons"))
        },
        _destroyIcons: function() {
            this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()
        },
        _destroy: function() {
            var a;
            this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"), this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(), this._destroyIcons(), a = this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display", "").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(), "content" !== this.options.heightStyle && a.css("height", "")
        },
        _setOption: function(a, b) {
            return "active" === a ? void this._activate(b) : ("event" === a && (this.options.event && this._off(this.headers, this.options.event), this._setupEvents(b)), this._super(a, b), "collapsible" !== a || b || this.options.active !== !1 || this._activate(0), "icons" === a && (this._destroyIcons(), b && this._createIcons()), void("disabled" === a && (this.element.toggleClass("ui-state-disabled", !!b).attr("aria-disabled", b), this.headers.add(this.headers.next()).toggleClass("ui-state-disabled", !!b))))
        },
        _keydown: function(b) {
            if (!b.altKey && !b.ctrlKey) {
                var c = a.ui.keyCode,
                    d = this.headers.length,
                    e = this.headers.index(b.target),
                    f = !1;
                switch (b.keyCode) {
                    case c.RIGHT:
                    case c.DOWN:
                        f = this.headers[(e + 1) % d];
                        break;
                    case c.LEFT:
                    case c.UP:
                        f = this.headers[(e - 1 + d) % d];
                        break;
                    case c.SPACE:
                    case c.ENTER:
                        this._eventHandler(b);
                        break;
                    case c.HOME:
                        f = this.headers[0];
                        break;
                    case c.END:
                        f = this.headers[d - 1]
                }
                f && (a(b.target).attr("tabIndex", -1), a(f).attr("tabIndex", 0), f.focus(), b.preventDefault())
            }
        },
        _panelKeyDown: function(b) {
            b.keyCode === a.ui.keyCode.UP && b.ctrlKey && a(b.currentTarget).prev().focus()
        },
        refresh: function() {
            var b = this.options;
            this._processPanels(), b.active === !1 && b.collapsible === !0 || !this.headers.length ? (b.active = !1, this.active = a()) : b.active === !1 ? this._activate(0) : this.active.length && !a.contains(this.element[0], this.active[0]) ? this.headers.length === this.headers.find(".ui-state-disabled").length ? (b.active = !1, this.active = a()) : this._activate(Math.max(0, b.active - 1)) : b.active = this.headers.index(this.active), this._destroyIcons(), this._refresh()
        },
        _processPanels: function() {
            var a = this.headers,
                b = this.panels;
            this.headers = this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"), this.panels = this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(), b && (this._off(a.not(this.headers)), this._off(b.not(this.panels)))
        },
        _refresh: function() {
            var b, c = this.options,
                d = c.heightStyle,
                e = this.element.parent();
            this.active = this._findActive(c.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"), this.active.next().addClass("ui-accordion-content-active").show(), this.headers.attr("role", "tab").each(function() {
                var b = a(this),
                    c = b.uniqueId().attr("id"),
                    d = b.next(),
                    e = d.uniqueId().attr("id");
                b.attr("aria-controls", e), d.attr("aria-labelledby", c)
            }).next().attr("role", "tabpanel"), this.headers.not(this.active).attr({
                "aria-selected": "false",
                "aria-expanded": "false",
                tabIndex: -1
            }).next().attr({
                "aria-hidden": "true"
            }).hide(), this.active.length ? this.active.attr({
                "aria-selected": "true",
                "aria-expanded": "true",
                tabIndex: 0
            }).next().attr({
                "aria-hidden": "false"
            }) : this.headers.eq(0).attr("tabIndex", 0), this._createIcons(), this._setupEvents(c.event), "fill" === d ? (b = e.height(), this.element.siblings(":visible").each(function() {
                var c = a(this),
                    d = c.css("position");
                "absolute" !== d && "fixed" !== d && (b -= c.outerHeight(!0))
            }), this.headers.each(function() {
                b -= a(this).outerHeight(!0)
            }), this.headers.next().each(function() {
                a(this).height(Math.max(0, b - a(this).innerHeight() + a(this).height()))
            }).css("overflow", "auto")) : "auto" === d && (b = 0, this.headers.next().each(function() {
                b = Math.max(b, a(this).css("height", "").height())
            }).height(b))
        },
        _activate: function(b) {
            var c = this._findActive(b)[0];
            c !== this.active[0] && (c = c || this.active[0], this._eventHandler({
                target: c,
                currentTarget: c,
                preventDefault: a.noop
            }))
        },
        _findActive: function(b) {
            return "number" == typeof b ? this.headers.eq(b) : a()
        },
        _setupEvents: function(b) {
            var c = {
                keydown: "_keydown"
            };
            b && a.each(b.split(" "), function(a, b) {
                c[b] = "_eventHandler"
            }), this._off(this.headers.add(this.headers.next())), this._on(this.headers, c), this._on(this.headers.next(), {
                keydown: "_panelKeyDown"
            }), this._hoverable(this.headers), this._focusable(this.headers)
        },
        _eventHandler: function(b) {
            var c = this.options,
                d = this.active,
                e = a(b.currentTarget),
                f = e[0] === d[0],
                g = f && c.collapsible,
                h = g ? a() : e.next(),
                i = d.next(),
                j = {
                    oldHeader: d,
                    oldPanel: i,
                    newHeader: g ? a() : e,
                    newPanel: h
                };
            b.preventDefault(), f && !c.collapsible || this._trigger("beforeActivate", b, j) === !1 || (c.active = !g && this.headers.index(e), this.active = f ? a() : e, this._toggle(j), d.removeClass("ui-accordion-header-active ui-state-active"), c.icons && d.children(".ui-accordion-header-icon").removeClass(c.icons.activeHeader).addClass(c.icons.header), f || (e.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"), c.icons && e.children(".ui-accordion-header-icon").removeClass(c.icons.header).addClass(c.icons.activeHeader), e.next().addClass("ui-accordion-content-active")))
        },
        _toggle: function(b) {
            var c = b.newPanel,
                d = this.prevShow.length ? this.prevShow : b.oldPanel;
            this.prevShow.add(this.prevHide).stop(!0, !0), this.prevShow = c, this.prevHide = d, this.options.animate ? this._animate(c, d, b) : (d.hide(), c.show(), this._toggleComplete(b)), d.attr({
                "aria-hidden": "true"
            }), d.prev().attr({
                "aria-selected": "false",
                "aria-expanded": "false"
            }), c.length && d.length ? d.prev().attr({
                tabIndex: -1,
                "aria-expanded": "false"
            }) : c.length && this.headers.filter(function() {
                return 0 === parseInt(a(this).attr("tabIndex"), 10)
            }).attr("tabIndex", -1), c.attr("aria-hidden", "false").prev().attr({
                "aria-selected": "true",
                "aria-expanded": "true",
                tabIndex: 0
            })
        },
        _animate: function(a, b, c) {
            var d, e, f, g = this,
                h = 0,
                i = a.css("box-sizing"),
                j = a.length && (!b.length || a.index() < b.index()),
                k = this.options.animate || {},
                l = j && k.down || k,
                m = function() {
                    g._toggleComplete(c)
                };
            return "number" == typeof l && (f = l), "string" == typeof l && (e = l), e = e || l.easing || k.easing, f = f || l.duration || k.duration, b.length ? a.length ? (d = a.show().outerHeight(), b.animate(this.hideProps, {
                duration: f,
                easing: e,
                step: function(a, b) {
                    b.now = Math.round(a)
                }
            }), void a.hide().animate(this.showProps, {
                duration: f,
                easing: e,
                complete: m,
                step: function(a, c) {
                    c.now = Math.round(a), "height" !== c.prop ? "content-box" === i && (h += c.now) : "content" !== g.options.heightStyle && (c.now = Math.round(d - b.outerHeight() - h), h = 0)
                }
            })) : b.animate(this.hideProps, f, e, m) : a.animate(this.showProps, f, e, m)
        },
        _toggleComplete: function(a) {
            var b = a.oldPanel;
            b.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"), b.length && (b.parent()[0].className = b.parent()[0].className), this._trigger("activate", null, a)
        }
    })
});
                                    

#4 JavaScript::Eval (size: 11897, repeated: 1) - SHA256: f72c54a73b2cf6681190b8d122f60c005429d897f9048ac9262d89e0a9339165

                                        ! function(a) {
    "function" == typeof define && define.amd ? define(["jquery", "./core", "./widget"], a) : a(jQuery)
}(function(a) {
    return a.widget("ui.tabs", {
        version: "1.11.4",
        delay: 300,
        options: {
            active: null,
            collapsible: !1,
            event: "click",
            heightStyle: "content",
            hide: null,
            show: null,
            activate: null,
            beforeActivate: null,
            beforeLoad: null,
            load: null
        },
        _isLocal: function() {
            var a = /#.*$/;
            return function(b) {
                var c, d;
                b = b.cloneNode(!1), c = b.href.replace(a, ""), d = location.href.replace(a, "");
                try {
                    c = decodeURIComponent(c)
                } catch (e) {}
                try {
                    d = decodeURIComponent(d)
                } catch (e) {}
                return b.hash.length > 1 && c === d
            }
        }(),
        _create: function() {
            var b = this,
                c = this.options;
            this.running = !1, this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible", c.collapsible), this._processTabs(), c.active = this._initialActive(), a.isArray(c.disabled) && (c.disabled = a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"), function(a) {
                return b.tabs.index(a)
            }))).sort()), this.options.active !== !1 && this.anchors.length ? this.active = this._findActive(c.active) : this.active = a(), this._refresh(), this.active.length && this.load(c.active)
        },
        _initialActive: function() {
            var b = this.options.active,
                c = this.options.collapsible,
                d = location.hash.substring(1);
            return null === b && (d && this.tabs.each(function(c, e) {
                if (a(e).attr("aria-controls") === d) return b = c, !1
            }), null === b && (b = this.tabs.index(this.tabs.filter(".ui-tabs-active"))), null !== b && b !== -1 || (b = !!this.tabs.length && 0)), b !== !1 && (b = this.tabs.index(this.tabs.eq(b)), b === -1 && (b = !c && 0)), !c && b === !1 && this.anchors.length && (b = 0), b
        },
        _getCreateEventData: function() {
            return {
                tab: this.active,
                panel: this.active.length ? this._getPanelForTab(this.active) : a()
            }
        },
        _tabKeydown: function(b) {
            var c = a(this.document[0].activeElement).closest("li"),
                d = this.tabs.index(c),
                e = !0;
            if (!this._handlePageNav(b)) {
                switch (b.keyCode) {
                    case a.ui.keyCode.RIGHT:
                    case a.ui.keyCode.DOWN:
                        d++;
                        break;
                    case a.ui.keyCode.UP:
                    case a.ui.keyCode.LEFT:
                        e = !1, d--;
                        break;
                    case a.ui.keyCode.END:
                        d = this.anchors.length - 1;
                        break;
                    case a.ui.keyCode.HOME:
                        d = 0;
                        break;
                    case a.ui.keyCode.SPACE:
                        return b.preventDefault(), clearTimeout(this.activating), void this._activate(d);
                    case a.ui.keyCode.ENTER:
                        return b.preventDefault(), clearTimeout(this.activating), void this._activate(d !== this.options.active && d);
                    default:
                        return
                }
                b.preventDefault(), clearTimeout(this.activating), d = this._focusNextTab(d, e), b.ctrlKey || b.metaKey || (c.attr("aria-selected", "false"), this.tabs.eq(d).attr("aria-selected", "true"), this.activating = this._delay(function() {
                    this.option("active", d)
                }, this.delay))
            }
        },
        _panelKeydown: function(b) {
            this._handlePageNav(b) || b.ctrlKey && b.keyCode === a.ui.keyCode.UP && (b.preventDefault(), this.active.focus())
        },
        _handlePageNav: function(b) {
            return b.altKey && b.keyCode === a.ui.keyCode.PAGE_UP ? (this._activate(this._focusNextTab(this.options.active - 1, !1)), !0) : b.altKey && b.keyCode === a.ui.keyCode.PAGE_DOWN ? (this._activate(this._focusNextTab(this.options.active + 1, !0)), !0) : void 0
        },
        _findNextTab: function(b, c) {
            function d() {
                return b > e && (b = 0), b < 0 && (b = e), b
            }
            for (var e = this.tabs.length - 1; a.inArray(d(), this.options.disabled) !== -1;) b = c ? b + 1 : b - 1;
            return b
        },
        _focusNextTab: function(a, b) {
            return a = this._findNextTab(a, b), this.tabs.eq(a).focus(), a
        },
        _setOption: function(a, b) {
            return "active" === a ? void this._activate(b) : "disabled" === a ? void this._setupDisabled(b) : (this._super(a, b), "collapsible" === a && (this.element.toggleClass("ui-tabs-collapsible", b), b || this.options.active !== !1 || this._activate(0)), "event" === a && this._setupEvents(b), void("heightStyle" === a && this._setupHeightStyle(b)))
        },
        _sanitizeSelector: function(a) {
            return a ? a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&") : ""
        },
        refresh: function() {
            var b = this.options,
                c = this.tablist.children(":has(a[href])");
            b.disabled = a.map(c.filter(".ui-state-disabled"), function(a) {
                return c.index(a)
            }), this._processTabs(), b.active !== !1 && this.anchors.length ? this.active.length && !a.contains(this.tablist[0], this.active[0]) ? this.tabs.length === b.disabled.length ? (b.active = !1, this.active = a()) : this._activate(this._findNextTab(Math.max(0, b.active - 1), !1)) : b.active = this.tabs.index(this.active) : (b.active = !1, this.active = a()), this._refresh()
        },
        _refresh: function() {
            this._setupDisabled(this.options.disabled), this._setupEvents(this.options.event), this._setupHeightStyle(this.options.heightStyle), this.tabs.not(this.active).attr({
                "aria-selected": "false",
                "aria-expanded": "false",
                tabIndex: -1
            }), this.panels.not(this._getPanelForTab(this.active)).hide().attr({
                "aria-hidden": "true"
            }), this.active.length ? (this.active.addClass("ui-tabs-active ui-state-active").attr({
                "aria-selected": "true",
                "aria-expanded": "true",
                tabIndex: 0
            }), this._getPanelForTab(this.active).show().attr({
                "aria-hidden": "false"
            })) : this.tabs.eq(0).attr("tabIndex", 0)
        },
        _processTabs: function() {
            var b = this,
                c = this.tabs,
                d = this.anchors,
                e = this.panels;
            this.tablist = this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role", "tablist").delegate("> li", "mousedown" + this.eventNamespace, function(b) {
                a(this).is(".ui-state-disabled") && b.preventDefault()
            }).delegate(".ui-tabs-anchor", "focus" + this.eventNamespace, function() {
                a(this).closest("li").is(".ui-state-disabled") && this.blur()
            }), this.tabs = this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({
                role: "tab",
                tabIndex: -1
            }), this.anchors = this.tabs.map(function() {
                return a("a", this)[0]
            }).addClass("ui-tabs-anchor").attr({
                role: "presentation",
                tabIndex: -1
            }), this.panels = a(), this.anchors.each(function(c, d) {
                var e, f, g, h = a(d).uniqueId().attr("id"),
                    i = a(d).closest("li"),
                    j = i.attr("aria-controls");
                b._isLocal(d) ? (e = d.hash, g = e.substring(1), f = b.element.find(b._sanitizeSelector(e))) : (g = i.attr("aria-controls") || a({}).uniqueId()[0].id, e = "#" + g, f = b.element.find(e), f.length || (f = b._createPanel(g), f.insertAfter(b.panels[c - 1] || b.tablist)), f.attr("aria-live", "polite")), f.length && (b.panels = b.panels.add(f)), j && i.data("ui-tabs-aria-controls", j), i.attr({
                    "aria-controls": g,
                    "aria-labelledby": h
                }), f.attr("aria-labelledby", h)
            }), this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role", "tabpanel"), c && (this._off(c.not(this.tabs)), this._off(d.not(this.anchors)), this._off(e.not(this.panels)))
        },
        _getList: function() {
            return this.tablist || this.element.find("ol,ul").eq(0)
        },
        _createPanel: function(b) {
            return a("<div>").attr("id", b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy", !0)
        },
        _setupDisabled: function(b) {
            a.isArray(b) && (b.length ? b.length === this.anchors.length && (b = !0) : b = !1);
            for (var c, d = 0; c = this.tabs[d]; d++) b === !0 || a.inArray(d, b) !== -1 ? a(c).addClass("ui-state-disabled").attr("aria-disabled", "true") : a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled");
            this.options.disabled = b
        },
        _setupEvents: function(b) {
            var c = {};
            b && a.each(b.split(" "), function(a, b) {
                c[b] = "_eventHandler"
            }), this._off(this.anchors.add(this.tabs).add(this.panels)), this._on(!0, this.anchors, {
                click: function(a) {
                    a.preventDefault()
                }
            }), this._on(this.anchors, c), this._on(this.tabs, {
                keydown: "_tabKeydown"
            }), this._on(this.panels, {
                keydown: "_panelKeydown"
            }), this._focusable(this.tabs), this._hoverable(this.tabs)
        },
        _setupHeightStyle: function(b) {
            var c, d = this.element.parent();
            "fill" === b ? (c = d.height(), c -= this.element.outerHeight() - this.element.height(), this.element.siblings(":visible").each(function() {
                var b = a(this),
                    d = b.css("position");
                "absolute" !== d && "fixed" !== d && (c -= b.outerHeight(!0))
            }), this.element.children().not(this.panels).each(function() {
                c -= a(this).outerHeight(!0)
            }), this.panels.each(function() {
                a(this).height(Math.max(0, c - a(this).innerHeight() + a(this).height()))
            }).css("overflow", "auto")) : "auto" === b && (c = 0, this.panels.each(function() {
                c = Math.max(c, a(this).height("").height())
            }).height(c))
        },
        _eventHandler: function(b) {
            var c = this.options,
                d = this.active,
                e = a(b.currentTarget),
                f = e.closest("li"),
                g = f[0] === d[0],
                h = g && c.collapsible,
                i = h ? a() : this._getPanelForTab(f),
                j = d.length ? this._getPanelForTab(d) : a(),
                k = {
                    oldTab: d,
                    oldPanel: j,
                    newTab: h ? a() : f,
                    newPanel: i
                };
            b.preventDefault(), f.hasClass("ui-state-disabled") || f.hasClass("ui-tabs-loading") || this.running || g && !c.collapsible || this._trigger("beforeActivate", b, k) === !1 || (c.active = !h && this.tabs.index(f), this.active = g ? a() : f, this.xhr && this.xhr.abort(), j.length || i.length || a.error("jQuery UI Tabs: Mismatching fragment identifier."), i.length && this.load(this.tabs.index(f), b), this._toggle(b, k))
        },
        _toggle: function(b, c) {
            function d() {
                f.running = !1, f._trigger("activate", b, c)
            }

            function e() {
                c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"), g.length && f.options.show ? f._show(g, f.options.show, d) : (g.show(), d())
            }
            var f = this,
                g = c.newPanel,
                h = c.oldPanel;
            this.running = !0, h.length && this.options.hide ? this._hide(h, this.options.hide, function() {
                c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"), e()
            }) : (c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"), h.hide(), e()), h.attr("aria-hidden", "true"), c.oldTab.attr({
                "aria-selected": "false",
                "aria-expanded": "false"
            }), g.length && h.length ? c.oldTab.attr("tabIndex", -1) : g.length && this.tabs.filter(function() {
                return 0 === a(this).attr("tabIndex")
            }).attr("tabIndex", -1), g.attr("aria-hidden", "false"), c.newTab.attr({
                "aria-selected": "true",
                "aria-expanded": "true",
                tabIndex: 0
            })
        },
        _activate: function(b) {
            var c, d = this._findActive(b);
            d[0] !== this.active[0] && (d.length || (d = this.active), c = d.find(".ui-tabs-anchor")[0], this._eventHandler({
                target: c,
                currentTarget: c,
                preventDefault: a.noop
            }))
        },
        _findActive: function(b) {
            return b === !1 ? a() : this.tabs.eq(b)
        },
        _getIndex: function(a) {
            return "string" == typeof a && (a = this.anchors.index(this.anchors.filter("[href$='" + a + "']"))), a
        },
        _destroy: function() {
            this.xhr && this.xhr.abort(), this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"), this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"), this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(), this.tablist.unbind(this.eventNamespace), this.tabs.add(this.panels).each(function() {
                a.data(this, "ui-tabs-destroy") ? a(this).remove() : a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")
            }), this.tabs.each(function() {
                var b = a(this),
                    c = b.data("ui-tabs-aria-controls");
                c ? b.attr("aria-controls", c).removeData("ui-tabs-aria-controls") : b.removeAttr("aria-controls")
            }), this.panels.show(), "content" !== this.options.heightStyle && this.panels.css("height", "")
        },
        enable: function(b) {
            var c = this.options.disabled;
            c !== !1 && (void 0 === b ? c = !1 : (b = this._getIndex(b), c = a.isArray(c) ? a.map(c, function(a) {
                return a !== b ? a : null
            }) : a.map(this.tabs, function(a, c) {
                return c !== b ? c : null
            })), this._setupDisabled(c))
        },
        disable: function(b) {
            var c = this.options.disabled;
            if (c !== !0) {
                if (void 0 === b) c = !0;
                else {
                    if (b = this._getIndex(b), a.inArray(b, c) !== -1) return;
                    c = a.isArray(c) ? a.merge([b], c).sort() : [b]
                }
                this._setupDisabled(c)
            }
        },
        load: function(b, c) {
            b = this._getIndex(b);
            var d = this,
                e = this.tabs.eq(b),
                f = e.find(".ui-tabs-anchor"),
                g = this._getPanelForTab(e),
                h = {
                    tab: e,
                    panel: g
                },
                i = function(a, b) {
                    "abort" === b && d.panels.stop(!1, !0), e.removeClass("ui-tabs-loading"), g.removeAttr("aria-busy"), a === d.xhr && delete d.xhr
                };
            this._isLocal(f[0]) || (this.xhr = a.ajax(this._ajaxSettings(f, c, h)), this.xhr && "canceled" !== this.xhr.statusText && (e.addClass("ui-tabs-loading"), g.attr("aria-busy", "true"), this.xhr.done(function(a, b, e) {
                setTimeout(function() {
                    g.html(a), d._trigger("load", c, h), i(e, b)
                }, 1)
            }).fail(function(a, b) {
                setTimeout(function() {
                    i(a, b)
                }, 1)
            })))
        },
        _ajaxSettings: function(b, c, d) {
            var e = this;
            return {
                url: b.attr("href"),
                beforeSend: function(b, f) {
                    return e._trigger("beforeLoad", c, a.extend({
                        jqXHR: b,
                        ajaxSettings: f
                    }, d))
                }
            }
        },
        _getPanelForTab: function(b) {
            var c = a(b).attr("aria-controls");
            return this.element.find(this._sanitizeSelector("#" + c))
        }
    })
});
                                    

#5 JavaScript::Eval (size: 7019, repeated: 1) - SHA256: 9b9f2c8353367098732e0d6ad22eb636b2d9b97c3c41101b697f9ec4d60ba475

                                        ! function(a) {
    "function" == typeof define && define.amd ? define(["jquery", "./core", "./widget"], a) : a(jQuery)
}(function(a) {
    var b, c = "ui-button ui-widget ui-state-default ui-corner-all",
        d = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",
        e = function() {
            var b = a(this);
            setTimeout(function() {
                b.find(":ui-button").button("refresh")
            }, 1)
        },
        f = function(b) {
            var c = b.name,
                d = b.form,
                e = a([]);
            return c && (c = c.replace(/'/g, "\\'"), e = d ? a(d).find("[name='" + c + "'][type=radio]") : a("[name='" + c + "'][type=radio]", b.ownerDocument).filter(function() {
                return !this.form
            })), e
        };
    return a.widget("ui.button", {
        version: "1.11.4",
        defaultElement: "<button>",
        options: {
            disabled: null,
            text: !0,
            label: null,
            icons: {
                primary: null,
                secondary: null
            }
        },
        _create: function() {
            this.element.closest("form").unbind("reset" + this.eventNamespace).bind("reset" + this.eventNamespace, e), "boolean" != typeof this.options.disabled ? this.options.disabled = !!this.element.prop("disabled") : this.element.prop("disabled", this.options.disabled), this._determineButtonType(), this.hasTitle = !!this.buttonElement.attr("title");
            var d = this,
                g = this.options,
                h = "checkbox" === this.type || "radio" === this.type,
                i = h ? "" : "ui-state-active";
            null === g.label && (g.label = "input" === this.type ? this.buttonElement.val() : this.buttonElement.html()), this._hoverable(this.buttonElement), this.buttonElement.addClass(c).attr("role", "button").bind("mouseenter" + this.eventNamespace, function() {
                g.disabled || this === b && a(this).addClass("ui-state-active")
            }).bind("mouseleave" + this.eventNamespace, function() {
                g.disabled || a(this).removeClass(i)
            }).bind("click" + this.eventNamespace, function(a) {
                g.disabled && (a.preventDefault(), a.stopImmediatePropagation())
            }), this._on({
                focus: function() {
                    this.buttonElement.addClass("ui-state-focus")
                },
                blur: function() {
                    this.buttonElement.removeClass("ui-state-focus")
                }
            }), h && this.element.bind("change" + this.eventNamespace, function() {
                d.refresh()
            }), "checkbox" === this.type ? this.buttonElement.bind("click" + this.eventNamespace, function() {
                if (g.disabled) return !1
            }) : "radio" === this.type ? this.buttonElement.bind("click" + this.eventNamespace, function() {
                if (g.disabled) return !1;
                a(this).addClass("ui-state-active"), d.buttonElement.attr("aria-pressed", "true");
                var b = d.element[0];
                f(b).not(b).map(function() {
                    return a(this).button("widget")[0]
                }).removeClass("ui-state-active").attr("aria-pressed", "false")
            }) : (this.buttonElement.bind("mousedown" + this.eventNamespace, function() {
                return !g.disabled && (a(this).addClass("ui-state-active"), b = this, void d.document.one("mouseup", function() {
                    b = null
                }))
            }).bind("mouseup" + this.eventNamespace, function() {
                return !g.disabled && void a(this).removeClass("ui-state-active")
            }).bind("keydown" + this.eventNamespace, function(b) {
                return !g.disabled && void(b.keyCode !== a.ui.keyCode.SPACE && b.keyCode !== a.ui.keyCode.ENTER || a(this).addClass("ui-state-active"))
            }).bind("keyup" + this.eventNamespace + " blur" + this.eventNamespace, function() {
                a(this).removeClass("ui-state-active")
            }), this.buttonElement.is("a") && this.buttonElement.keyup(function(b) {
                b.keyCode === a.ui.keyCode.SPACE && a(this).click()
            })), this._setOption("disabled", g.disabled), this._resetButton()
        },
        _determineButtonType: function() {
            var a, b, c;
            this.element.is("[type=checkbox]") ? this.type = "checkbox" : this.element.is("[type=radio]") ? this.type = "radio" : this.element.is("input") ? this.type = "input" : this.type = "button", "checkbox" === this.type || "radio" === this.type ? (a = this.element.parents().last(), b = "label[for='" + this.element.attr("id") + "']", this.buttonElement = a.find(b), this.buttonElement.length || (a = a.length ? a.siblings() : this.element.siblings(), this.buttonElement = a.filter(b), this.buttonElement.length || (this.buttonElement = a.find(b))), this.element.addClass("ui-helper-hidden-accessible"), c = this.element.is(":checked"), c && this.buttonElement.addClass("ui-state-active"), this.buttonElement.prop("aria-pressed", c)) : this.buttonElement = this.element
        },
        widget: function() {
            return this.buttonElement
        },
        _destroy: function() {
            this.element.removeClass("ui-helper-hidden-accessible"), this.buttonElement.removeClass(c + " ui-state-active " + d).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()), this.hasTitle || this.buttonElement.removeAttr("title")
        },
        _setOption: function(a, b) {
            return this._super(a, b), "disabled" === a ? (this.widget().toggleClass("ui-state-disabled", !!b), this.element.prop("disabled", !!b), void(b && ("checkbox" === this.type || "radio" === this.type ? this.buttonElement.removeClass("ui-state-focus") : this.buttonElement.removeClass("ui-state-focus ui-state-active")))) : void this._resetButton()
        },
        refresh: function() {
            var b = this.element.is("input, button") ? this.element.is(":disabled") : this.element.hasClass("ui-button-disabled");
            b !== this.options.disabled && this._setOption("disabled", b), "radio" === this.type ? f(this.element[0]).each(function() {
                a(this).is(":checked") ? a(this).button("widget").addClass("ui-state-active").attr("aria-pressed", "true") : a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed", "false")
            }) : "checkbox" === this.type && (this.element.is(":checked") ? this.buttonElement.addClass("ui-state-active").attr("aria-pressed", "true") : this.buttonElement.removeClass("ui-state-active").attr("aria-pressed", "false"))
        },
        _resetButton: function() {
            if ("input" === this.type) return void(this.options.label && this.element.val(this.options.label));
            var b = this.buttonElement.removeClass(d),
                c = a("<span></span>", this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),
                e = this.options.icons,
                f = e.primary && e.secondary,
                g = [];
            e.primary || e.secondary ? (this.options.text && g.push("ui-button-text-icon" + (f ? "s" : e.primary ? "-primary" : "-secondary")), e.primary && b.prepend("<span class='ui-button-icon-primary ui-icon " + e.primary + "'></span>"), e.secondary && b.append("<span class='ui-button-icon-secondary ui-icon " + e.secondary + "'></span>"), this.options.text || (g.push(f ? "ui-button-icons-only" : "ui-button-icon-only"), this.hasTitle || b.attr("title", a.trim(c)))) : g.push("ui-button-text-only"), b.addClass(g.join(" "))
        }
    }), a.widget("ui.buttonset", {
        version: "1.11.4",
        options: {
            items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"
        },
        _create: function() {
            this.element.addClass("ui-buttonset")
        },
        _init: function() {
            this.refresh()
        },
        _setOption: function(a, b) {
            "disabled" === a && this.buttons.button("option", a, b), this._super(a, b)
        },
        refresh: function() {
            var b = "rtl" === this.element.css("direction"),
                c = this.element.find(this.options.items),
                d = c.filter(":ui-button");
            c.not(":ui-button").button(), d.button("refresh"), this.buttons = c.map(function() {
                return a(this).button("widget")[0]
            }).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b ? "ui-corner-right" : "ui-corner-left").end().filter(":last").addClass(b ? "ui-corner-left" : "ui-corner-right").end().end()
        },
        _destroy: function() {
            this.element.removeClass("ui-buttonset"), this.buttons.map(function() {
                return a(this).button("widget")[0]
            }).removeClass("ui-corner-left ui-corner-right").end().button("destroy")
        }
    }), a.ui.button
});
                                    

#6 JavaScript::Eval (size: 2933, repeated: 1) - SHA256: 5637193cb4ee07fd55819e431b0bf380c5fffc2c600215bd155579af9208e5fc

                                        ! function(a) {
    "function" == typeof define && define.amd ? define(["jquery", "./widget"], a) : a(jQuery)
}(function(a) {
    var b = !1;
    return a(document).mouseup(function() {
        b = !1
    }), a.widget("ui.mouse", {
        version: "1.11.4",
        options: {
            cancel: "input,textarea,button,select,option",
            distance: 1,
            delay: 0
        },
        _mouseInit: function() {
            var b = this;
            this.element.bind("mousedown." + this.widgetName, function(a) {
                return b._mouseDown(a)
            }).bind("click." + this.widgetName, function(c) {
                if (!0 === a.data(c.target, b.widgetName + ".preventClickEvent")) return a.removeData(c.target, b.widgetName + ".preventClickEvent"), c.stopImmediatePropagation(), !1
            }), this.started = !1
        },
        _mouseDestroy: function() {
            this.element.unbind("." + this.widgetName), this._mouseMoveDelegate && this.document.unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate)
        },
        _mouseDown: function(c) {
            if (!b) {
                this._mouseMoved = !1, this._mouseStarted && this._mouseUp(c), this._mouseDownEvent = c;
                var d = this,
                    e = 1 === c.which,
                    f = !("string" != typeof this.options.cancel || !c.target.nodeName) && a(c.target).closest(this.options.cancel).length;
                return !(e && !f && this._mouseCapture(c)) || (this.mouseDelayMet = !this.options.delay, this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function() {
                    d.mouseDelayMet = !0
                }, this.options.delay)), this._mouseDistanceMet(c) && this._mouseDelayMet(c) && (this._mouseStarted = this._mouseStart(c) !== !1, !this._mouseStarted) ? (c.preventDefault(), !0) : (!0 === a.data(c.target, this.widgetName + ".preventClickEvent") && a.removeData(c.target, this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate = function(a) {
                    return d._mouseMove(a)
                }, this._mouseUpDelegate = function(a) {
                    return d._mouseUp(a)
                }, this.document.bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate), c.preventDefault(), b = !0, !0))
            }
        },
        _mouseMove: function(b) {
            if (this._mouseMoved) {
                if (a.ui.ie && (!document.documentMode || document.documentMode < 9) && !b.button) return this._mouseUp(b);
                if (!b.which) return this._mouseUp(b)
            }
            return (b.which || b.button) && (this._mouseMoved = !0), this._mouseStarted ? (this._mouseDrag(b), b.preventDefault()) : (this._mouseDistanceMet(b) && this._mouseDelayMet(b) && (this._mouseStarted = this._mouseStart(this._mouseDownEvent, b) !== !1, this._mouseStarted ? this._mouseDrag(b) : this._mouseUp(b)), !this._mouseStarted)
        },
        _mouseUp: function(c) {
            return this.document.unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate), this._mouseStarted && (this._mouseStarted = !1, c.target === this._mouseDownEvent.target && a.data(c.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(c)), b = !1, !1
        },
        _mouseDistanceMet: function(a) {
            return Math.max(Math.abs(this._mouseDownEvent.pageX - a.pageX), Math.abs(this._mouseDownEvent.pageY - a.pageY)) >= this.options.distance
        },
        _mouseDelayMet: function() {
            return this.mouseDelayMet
        },
        _mouseStart: function() {},
        _mouseDrag: function() {},
        _mouseStop: function() {},
        _mouseCapture: function() {
            return !0
        }
    })
});
                                    

#7 JavaScript::Eval (size: 3775, repeated: 1) - SHA256: f14da5f7c1b354763b83a4693a5ab31c090d27ffed48a7277c81805fe8c3c3ad

                                        ! function(a) {
    "function" == typeof define && define.amd ? define(["jquery"], a) : a(jQuery)
}(function(a) {
    function b(b, d) {
        var e, f, g, h = b.nodeName.toLowerCase();
        return "area" === h ? (e = b.parentNode, f = e.name, !(!b.href || !f || "map" !== e.nodeName.toLowerCase()) && (g = a("img[usemap='#" + f + "']")[0], !!g && c(g))) : (/^(input|select|textarea|button|object)$/.test(h) ? !b.disabled : "a" === h ? b.href || d : d) && c(b)
    }

    function c(b) {
        return a.expr.filters.visible(b) && !a(b).parents().addBack().filter(function() {
            return "hidden" === a.css(this, "visibility")
        }).length
    }
    a.ui = a.ui || {}, a.extend(a.ui, {
        version: "1.11.4",
        keyCode: {
            BACKSPACE: 8,
            COMMA: 188,
            DELETE: 46,
            DOWN: 40,
            END: 35,
            ENTER: 13,
            ESCAPE: 27,
            HOME: 36,
            LEFT: 37,
            PAGE_DOWN: 34,
            PAGE_UP: 33,
            PERIOD: 190,
            RIGHT: 39,
            SPACE: 32,
            TAB: 9,
            UP: 38
        }
    }), a.fn.extend({
        scrollParent: function(b) {
            var c = this.css("position"),
                d = "absolute" === c,
                e = b ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
                f = this.parents().filter(function() {
                    var b = a(this);
                    return (!d || "static" !== b.css("position")) && e.test(b.css("overflow") + b.css("overflow-y") + b.css("overflow-x"))
                }).eq(0);
            return "fixed" !== c && f.length ? f : a(this[0].ownerDocument || document)
        },
        uniqueId: function() {
            var a = 0;
            return function() {
                return this.each(function() {
                    this.id || (this.id = "ui-id-" + ++a)
                })
            }
        }(),
        removeUniqueId: function() {
            return this.each(function() {
                /^ui-id-\d+$/.test(this.id) && a(this).removeAttr("id")
            })
        }
    }), a.extend(a.expr[":"], {
        data: a.expr.createPseudo ? a.expr.createPseudo(function(b) {
            return function(c) {
                return !!a.data(c, b)
            }
        }) : function(b, c, d) {
            return !!a.data(b, d[3])
        },
        focusable: function(c) {
            return b(c, !isNaN(a.attr(c, "tabindex")))
        },
        tabbable: function(c) {
            var d = a.attr(c, "tabindex"),
                e = isNaN(d);
            return (e || d >= 0) && b(c, !e)
        }
    }), a("<a>").outerWidth(1).jquery || a.each(["Width", "Height"], function(b, c) {
        function d(b, c, d, f) {
            return a.each(e, function() {
                c -= parseFloat(a.css(b, "padding" + this)) || 0, d && (c -= parseFloat(a.css(b, "border" + this + "Width")) || 0), f && (c -= parseFloat(a.css(b, "margin" + this)) || 0)
            }), c
        }
        var e = "Width" === c ? ["Left", "Right"] : ["Top", "Bottom"],
            f = c.toLowerCase(),
            g = {
                innerWidth: a.fn.innerWidth,
                innerHeight: a.fn.innerHeight,
                outerWidth: a.fn.outerWidth,
                outerHeight: a.fn.outerHeight
            };
        a.fn["inner" + c] = function(b) {
            return void 0 === b ? g["inner" + c].call(this) : this.each(function() {
                a(this).css(f, d(this, b) + "px")
            })
        }, a.fn["outer" + c] = function(b, e) {
            return "number" != typeof b ? g["outer" + c].call(this, b) : this.each(function() {
                a(this).css(f, d(this, b, !0, e) + "px")
            })
        }
    }), a.fn.addBack || (a.fn.addBack = function(a) {
        return this.add(null == a ? this.prevObject : this.prevObject.filter(a))
    }), a("<a>").data("a-b", "a").removeData("a-b").data("a-b") && (a.fn.removeData = function(b) {
        return function(c) {
            return arguments.length ? b.call(this, a.camelCase(c)) : b.call(this)
        }
    }(a.fn.removeData)), a.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()), a.fn.extend({
        focus: function(b) {
            return function(c, d) {
                return "number" == typeof c ? this.each(function() {
                    var b = this;
                    setTimeout(function() {
                        a(b).focus(), d && d.call(b)
                    }, c)
                }) : b.apply(this, arguments)
            }
        }(a.fn.focus),
        disableSelection: function() {
            var a = "onselectstart" in document.createElement("div") ? "selectstart" : "mousedown";
            return function() {
                return this.bind(a + ".ui-disableSelection", function(a) {
                    a.preventDefault()
                })
            }
        }(),
        enableSelection: function() {
            return this.unbind(".ui-disableSelection")
        },
        zIndex: function(b) {
            if (void 0 !== b) return this.css("zIndex", b);
            if (this.length)
                for (var c, d, e = a(this[0]); e.length && e[0] !== document;) {
                    if (c = e.css("position"), ("absolute" === c || "relative" === c || "fixed" === c) && (d = parseInt(e.css("zIndex"), 10), !isNaN(d) && 0 !== d)) return d;
                    e = e.parent()
                }
            return 0
        }
    }), a.ui.plugin = {
        add: function(b, c, d) {
            var e, f = a.ui[b].prototype;
            for (e in d) f.plugins[e] = f.plugins[e] || [], f.plugins[e].push([c, d[e]])
        },
        call: function(a, b, c, d) {
            var e, f = a.plugins[b];
            if (f && (d || a.element[0].parentNode && 11 !== a.element[0].parentNode.nodeType))
                for (e = 0; e < f.length; e++) a.options[f[e][0]] && f[e][1].apply(a.element, c)
        }
    }
});
                                    

#8 JavaScript::Eval (size: 6684, repeated: 1) - SHA256: 4510ab210aec47aae080c12222eec390d161cc1df39903b7d913853360215fff

                                        ! function(a) {
    "function" == typeof define && define.amd ? define(["jquery"], a) : a(jQuery)
}(function(a) {
    var b = 0,
        c = Array.prototype.slice;
    return a.cleanData = function(b) {
        return function(c) {
            var d, e, f;
            for (f = 0; null != (e = c[f]); f++) try {
                d = a._data(e, "events"), d && d.remove && a(e).triggerHandler("remove")
            } catch (g) {}
            b(c)
        }
    }(a.cleanData), a.widget = function(b, c, d) {
        var e, f, g, h, i = {},
            j = b.split(".")[0];
        return b = b.split(".")[1], e = j + "-" + b, d || (d = c, c = a.Widget), a.expr[":"][e.toLowerCase()] = function(b) {
            return !!a.data(b, e)
        }, a[j] = a[j] || {}, f = a[j][b], g = a[j][b] = function(a, b) {
            return this._createWidget ? void(arguments.length && this._createWidget(a, b)) : new g(a, b)
        }, a.extend(g, f, {
            version: d.version,
            _proto: a.extend({}, d),
            _childConstructors: []
        }), h = new c, h.options = a.widget.extend({}, h.options), a.each(d, function(b, d) {
            return a.isFunction(d) ? void(i[b] = function() {
                var a = function() {
                        return c.prototype[b].apply(this, arguments)
                    },
                    e = function(a) {
                        return c.prototype[b].apply(this, a)
                    };
                return function() {
                    var b, c = this._super,
                        f = this._superApply;
                    return this._super = a, this._superApply = e, b = d.apply(this, arguments), this._super = c, this._superApply = f, b
                }
            }()) : void(i[b] = d)
        }), g.prototype = a.widget.extend(h, {
            widgetEventPrefix: f ? h.widgetEventPrefix || b : b
        }, i, {
            constructor: g,
            namespace: j,
            widgetName: b,
            widgetFullName: e
        }), f ? (a.each(f._childConstructors, function(b, c) {
            var d = c.prototype;
            a.widget(d.namespace + "." + d.widgetName, g, c._proto)
        }), delete f._childConstructors) : c._childConstructors.push(g), a.widget.bridge(b, g), g
    }, a.widget.extend = function(b) {
        for (var d, e, f = c.call(arguments, 1), g = 0, h = f.length; g < h; g++)
            for (d in f[g]) e = f[g][d], f[g].hasOwnProperty(d) && void 0 !== e && (a.isPlainObject(e) ? b[d] = a.isPlainObject(b[d]) ? a.widget.extend({}, b[d], e) : a.widget.extend({}, e) : b[d] = e);
        return b
    }, a.widget.bridge = function(b, d) {
        var e = d.prototype.widgetFullName || b;
        a.fn[b] = function(f) {
            var g = "string" == typeof f,
                h = c.call(arguments, 1),
                i = this;
            return g ? this.each(function() {
                var c, d = a.data(this, e);
                return "instance" === f ? (i = d, !1) : d ? a.isFunction(d[f]) && "_" !== f.charAt(0) ? (c = d[f].apply(d, h), c !== d && void 0 !== c ? (i = c && c.jquery ? i.pushStack(c.get()) : c, !1) : void 0) : a.error("no such method '" + f + "' for " + b + " widget instance") : a.error("cannot call methods on " + b + " prior to initialization; attempted to call method '" + f + "'")
            }) : (h.length && (f = a.widget.extend.apply(null, [f].concat(h))), this.each(function() {
                var b = a.data(this, e);
                b ? (b.option(f || {}), b._init && b._init()) : a.data(this, e, new d(f, this))
            })), i
        }
    }, a.Widget = function() {}, a.Widget._childConstructors = [], a.Widget.prototype = {
        widgetName: "widget",
        widgetEventPrefix: "",
        defaultElement: "<div>",
        options: {
            disabled: !1,
            create: null
        },
        _createWidget: function(c, d) {
            d = a(d || this.defaultElement || this)[0], this.element = a(d), this.uuid = b++, this.eventNamespace = "." + this.widgetName + this.uuid, this.bindings = a(), this.hoverable = a(), this.focusable = a(), d !== this && (a.data(d, this.widgetFullName, this), this._on(!0, this.element, {
                remove: function(a) {
                    a.target === d && this.destroy()
                }
            }), this.document = a(d.style ? d.ownerDocument : d.document || d), this.window = a(this.document[0].defaultView || this.document[0].parentWindow)), this.options = a.widget.extend({}, this.options, this._getCreateOptions(), c), this._create(), this._trigger("create", null, this._getCreateEventData()), this._init()
        },
        _getCreateOptions: a.noop,
        _getCreateEventData: a.noop,
        _create: a.noop,
        _init: a.noop,
        destroy: function() {
            this._destroy(), this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)), this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName + "-disabled ui-state-disabled"), this.bindings.unbind(this.eventNamespace), this.hoverable.removeClass("ui-state-hover"), this.focusable.removeClass("ui-state-focus")
        },
        _destroy: a.noop,
        widget: function() {
            return this.element
        },
        option: function(b, c) {
            var d, e, f, g = b;
            if (0 === arguments.length) return a.widget.extend({}, this.options);
            if ("string" == typeof b)
                if (g = {}, d = b.split("."), b = d.shift(), d.length) {
                    for (e = g[b] = a.widget.extend({}, this.options[b]), f = 0; f < d.length - 1; f++) e[d[f]] = e[d[f]] || {}, e = e[d[f]];
                    if (b = d.pop(), 1 === arguments.length) return void 0 === e[b] ? null : e[b];
                    e[b] = c
                } else {
                    if (1 === arguments.length) return void 0 === this.options[b] ? null : this.options[b];
                    g[b] = c
                }
            return this._setOptions(g), this
        },
        _setOptions: function(a) {
            var b;
            for (b in a) this._setOption(b, a[b]);
            return this
        },
        _setOption: function(a, b) {
            return this.options[a] = b, "disabled" === a && (this.widget().toggleClass(this.widgetFullName + "-disabled", !!b), b && (this.hoverable.removeClass("ui-state-hover"), this.focusable.removeClass("ui-state-focus"))), this
        },
        enable: function() {
            return this._setOptions({
                disabled: !1
            })
        },
        disable: function() {
            return this._setOptions({
                disabled: !0
            })
        },
        _on: function(b, c, d) {
            var e, f = this;
            "boolean" != typeof b && (d = c, c = b, b = !1), d ? (c = e = a(c), this.bindings = this.bindings.add(c)) : (d = c, c = this.element, e = this.widget()), a.each(d, function(d, g) {
                function h() {
                    if (b || f.options.disabled !== !0 && !a(this).hasClass("ui-state-disabled")) return ("string" == typeof g ? f[g] : g).apply(f, arguments)
                }
                "string" != typeof g && (h.guid = g.guid = g.guid || h.guid || a.guid++);
                var i = d.match(/^([\w:-]*)\s*(.*)$/),
                    j = i[1] + f.eventNamespace,
                    k = i[2];
                k ? e.delegate(k, j, h) : c.bind(j, h)
            })
        },
        _off: function(b, c) {
            c = (c || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, b.unbind(c).undelegate(c), this.bindings = a(this.bindings.not(b).get()), this.focusable = a(this.focusable.not(b).get()), this.hoverable = a(this.hoverable.not(b).get())
        },
        _delay: function(a, b) {
            function c() {
                return ("string" == typeof a ? d[a] : a).apply(d, arguments)
            }
            var d = this;
            return setTimeout(c, b || 0)
        },
        _hoverable: function(b) {
            this.hoverable = this.hoverable.add(b), this._on(b, {
                mouseenter: function(b) {
                    a(b.currentTarget).addClass("ui-state-hover")
                },
                mouseleave: function(b) {
                    a(b.currentTarget).removeClass("ui-state-hover")
                }
            })
        },
        _focusable: function(b) {
            this.focusable = this.focusable.add(b), this._on(b, {
                focusin: function(b) {
                    a(b.currentTarget).addClass("ui-state-focus")
                },
                focusout: function(b) {
                    a(b.currentTarget).removeClass("ui-state-focus")
                }
            })
        },
        _trigger: function(b, c, d) {
            var e, f, g = this.options[b];
            if (d = d || {}, c = a.Event(c), c.type = (b === this.widgetEventPrefix ? b : this.widgetEventPrefix + b).toLowerCase(), c.target = this.element[0], f = c.originalEvent)
                for (e in f) e in c || (c[e] = f[e]);
            return this.element.trigger(c, d), !(a.isFunction(g) && g.apply(this.element[0], [c].concat(d)) === !1 || c.isDefaultPrevented())
        }
    }, a.each({
        show: "fadeIn",
        hide: "fadeOut"
    }, function(b, c) {
        a.Widget.prototype["_" + b] = function(d, e, f) {
            "string" == typeof e && (e = {
                effect: e
            });
            var g, h = e ? e === !0 || "number" == typeof e ? c : e.effect || c : b;
            e = e || {}, "number" == typeof e && (e = {
                duration: e
            }), g = !a.isEmptyObject(e), e.complete = f, e.delay && d.delay(e.delay), g && a.effects && a.effects.effect[h] ? d[b](e) : h !== b && d[h] ? d[h](e.duration, e.easing, f) : d.queue(function(c) {
                a(this)[b](), f && f.call(d[0]), c()
            })
        }
    }), a.widget
});
                                    

#9 JavaScript::Eval (size: 1115, repeated: 1) - SHA256: c0df99d896f6b409b47703361145068963f76a08b8d49d4053a9f6d11628f9ef

                                        ! function(a) {
    a.fn.hoverIntent = function(b, c, d) {
        var e = {
            interval: 100,
            sensitivity: 6,
            timeout: 0
        };
        e = "object" == typeof b ? a.extend(e, b) : a.isFunction(c) ? a.extend(e, {
            over: b,
            out: c,
            selector: d
        }) : a.extend(e, {
            over: b,
            out: b,
            selector: c
        });
        var f, g, h, i, j = function(a) {
                f = a.pageX, g = a.pageY
            },
            k = function(b, c) {
                return c.hoverIntent_t = clearTimeout(c.hoverIntent_t), Math.sqrt((h - f) * (h - f) + (i - g) * (i - g)) < e.sensitivity ? (a(c).off("mousemove.hoverIntent", j), c.hoverIntent_s = !0, e.over.apply(c, [b])) : (h = f, i = g, c.hoverIntent_t = setTimeout(function() {
                    k(b, c)
                }, e.interval), void 0)
            },
            l = function(a, b) {
                return b.hoverIntent_t = clearTimeout(b.hoverIntent_t), b.hoverIntent_s = !1, e.out.apply(b, [a])
            },
            m = function(b) {
                var c = a.extend({}, b),
                    d = this;
                d.hoverIntent_t && (d.hoverIntent_t = clearTimeout(d.hoverIntent_t)), "mouseenter" === b.type ? (h = c.pageX, i = c.pageY, a(d).on("mousemove.hoverIntent", j), d.hoverIntent_s || (d.hoverIntent_t = setTimeout(function() {
                    k(c, d)
                }, e.interval))) : (a(d).off("mousemove.hoverIntent", j), d.hoverIntent_s && (d.hoverIntent_t = setTimeout(function() {
                    l(c, d)
                }, e.timeout)))
            };
        return this.on({
            "mouseenter.hoverIntent": m,
            "mouseleave.hoverIntent": m
        }, e.selector)
    }
}(jQuery);
                                    

#10 JavaScript::Eval (size: 50227, repeated: 1) - SHA256: b8ffdb75465d6d8c2f56bbfa3d2db4198b9b7d75e226e1bd094f3bcef5d73edd

                                        ! function(a, b, c, d) {
    function e(b, c) {
        this.settings = null, this.options = a.extend({}, e.Defaults, c), this.$element = a(b), this.drag = a.extend({}, m), this.state = a.extend({}, n), this.e = a.extend({}, o), this._plugins = {}, this._supress = {}, this._current = null, this._speed = null, this._coordinates = [], this._breakpoint = null, this._width = null, this._items = [], this._clones = [], this._mergers = [], this._invalidated = {}, this._pipe = [], a.each(e.Plugins, a.proxy(function(a, b) {
            this._plugins[a[0].toLowerCase() + a.slice(1)] = new b(this)
        }, this)), a.each(e.Pipe, a.proxy(function(b, c) {
            this._pipe.push({
                filter: c.filter,
                run: a.proxy(c.run, this)
            })
        }, this)), this.setup(), this.initialize()
    }

    function f(a) {
        if (a.touches !== d) return {
            x: a.touches[0].pageX,
            y: a.touches[0].pageY
        };
        if (a.touches === d) {
            if (a.pageX !== d) return {
                x: a.pageX,
                y: a.pageY
            };
            if (a.pageX === d) return {
                x: a.clientX,
                y: a.clientY
            }
        }
    }

    function g(a) {
        var b, d, e = c.createElement("div"),
            f = a;
        for (b in f)
            if (d = f[b], "undefined" != typeof e.style[d]) return e = null, [d, b];
        return [!1]
    }

    function h() {
        return g(["transition", "WebkitTransition", "MozTransition", "OTransition"])[1]
    }

    function i() {
        return g(["transform", "WebkitTransform", "MozTransform", "OTransform", "msTransform"])[0]
    }

    function j() {
        return g(["perspective", "webkitPerspective", "MozPerspective", "OPerspective", "MsPerspective"])[0]
    }

    function k() {
        return "ontouchstart" in b || !!navigator.msMaxTouchPoints
    }

    function l() {
        return b.navigator.msPointerEnabled
    }
    var m, n, o;
    m = {
        start: 0,
        startX: 0,
        startY: 0,
        current: 0,
        currentX: 0,
        currentY: 0,
        offsetX: 0,
        offsetY: 0,
        distance: null,
        startTime: 0,
        endTime: 0,
        updatedX: 0,
        targetEl: null
    }, n = {
        isTouch: !1,
        isScrolling: !1,
        isSwiping: !1,
        direction: !1,
        inMotion: !1
    }, o = {
        _onDragStart: null,
        _onDragMove: null,
        _onDragEnd: null,
        _transitionEnd: null,
        _resizer: null,
        _responsiveCall: null,
        _goToLoop: null,
        _checkVisibile: null
    }, e.Defaults = {
        items: 3,
        loop: !1,
        center: !1,
        mouseDrag: !0,
        touchDrag: !0,
        pullDrag: !0,
        freeDrag: !1,
        margin: 0,
        stagePadding: 0,
        merge: !1,
        mergeFit: !0,
        autoWidth: !1,
        startPosition: 0,
        rtl: !1,
        smartSpeed: 250,
        fluidSpeed: !1,
        dragEndSpeed: !1,
        responsive: {},
        responsiveRefreshRate: 200,
        responsiveBaseElement: b,
        responsiveClass: !1,
        fallbackEasing: "swing",
        info: !1,
        nestedItemSelector: !1,
        itemElement: "div",
        stageElement: "div",
        themeClass: "owl-theme",
        baseClass: "owl-carousel",
        itemClass: "owl-item",
        centerClass: "center",
        activeClass: "active"
    }, e.Width = {
        Default: "default",
        Inner: "inner",
        Outer: "outer"
    }, e.Plugins = {}, e.Pipe = [{
        filter: ["width", "items", "settings"],
        run: function(a) {
            a.current = this._items && this._items[this.relative(this._current)]
        }
    }, {
        filter: ["items", "settings"],
        run: function() {
            var a = this._clones,
                b = this.$stage.children(".cloned");
            (b.length !== a.length || !this.settings.loop && a.length > 0) && (this.$stage.children(".cloned").remove(), this._clones = [])
        }
    }, {
        filter: ["items", "settings"],
        run: function() {
            var a, b, c = this._clones,
                d = this._items,
                e = this.settings.loop ? c.length - Math.max(2 * this.settings.items, 4) : 0;
            for (a = 0, b = Math.abs(e / 2); b > a; a++) e > 0 ? (this.$stage.children().eq(d.length + c.length - 1).remove(), c.pop(), this.$stage.children().eq(0).remove(), c.pop()) : (c.push(c.length / 2), this.$stage.append(d[c[c.length - 1]].clone().addClass("cloned")), c.push(d.length - 1 - (c.length - 1) / 2), this.$stage.prepend(d[c[c.length - 1]].clone().addClass("cloned")))
        }
    }, {
        filter: ["width", "items", "settings"],
        run: function() {
            var a, b, c, d = this.settings.rtl ? 1 : -1,
                e = (this.width() / this.settings.items).toFixed(3),
                f = 0;
            for (this._coordinates = [], b = 0, c = this._clones.length + this._items.length; c > b; b++) a = this._mergers[this.relative(b)], a = this.settings.mergeFit && Math.min(a, this.settings.items) || a, f += (this.settings.autoWidth ? this._items[this.relative(b)].width() + this.settings.margin : e * a) * d, this._coordinates.push(f)
        }
    }, {
        filter: ["width", "items", "settings"],
        run: function() {
            var b, c, d = (this.width() / this.settings.items).toFixed(3),
                e = {
                    width: Math.abs(this._coordinates[this._coordinates.length - 1]) + 2 * this.settings.stagePadding,
                    "padding-left": this.settings.stagePadding || "",
                    "padding-right": this.settings.stagePadding || ""
                };
            if (this.$stage.css(e), e = {
                    width: this.settings.autoWidth ? "auto" : d - this.settings.margin
                }, e[this.settings.rtl ? "margin-left" : "margin-right"] = this.settings.margin, !this.settings.autoWidth && a.grep(this._mergers, function(a) {
                    return a > 1
                }).length > 0)
                for (b = 0, c = this._coordinates.length; c > b; b++) e.width = Math.abs(this._coordinates[b]) - Math.abs(this._coordinates[b - 1] || 0) - this.settings.margin, this.$stage.children().eq(b).css(e);
            else this.$stage.children().css(e)
        }
    }, {
        filter: ["width", "items", "settings"],
        run: function(a) {
            a.current && this.reset(this.$stage.children().index(a.current))
        }
    }, {
        filter: ["position"],
        run: function() {
            this.animate(this.coordinates(this._current))
        }
    }, {
        filter: ["width", "position", "items", "settings"],
        run: function() {
            var a, b, c, d, e = this.settings.rtl ? 1 : -1,
                f = 2 * this.settings.stagePadding,
                g = this.coordinates(this.current()) + f,
                h = g + this.width() * e,
                i = [];
            for (c = 0, d = this._coordinates.length; d > c; c++) a = this._coordinates[c - 1] || 0, b = Math.abs(this._coordinates[c]) + f * e, (this.op(a, "<=", g) && this.op(a, ">", h) || this.op(b, "<", g) && this.op(b, ">", h)) && i.push(c);
            this.$stage.children("." + this.settings.activeClass).removeClass(this.settings.activeClass), this.$stage.children(":eq(" + i.join("), :eq(") + ")").addClass(this.settings.activeClass), this.settings.center && (this.$stage.children("." + this.settings.centerClass).removeClass(this.settings.centerClass), this.$stage.children().eq(this.current()).addClass(this.settings.centerClass))
        }
    }], e.prototype.initialize = function() {
        if (this.trigger("initialize"), this.$element.addClass(this.settings.baseClass).addClass(this.settings.themeClass).toggleClass("owl-rtl", this.settings.rtl), this.browserSupport(), this.settings.autoWidth && this.state.imagesLoaded !== !0) {
            var b, c, e;
            if (b = this.$element.find("img"), c = this.settings.nestedItemSelector ? "." + this.settings.nestedItemSelector : d, e = this.$element.children(c).width(), b.length && 0 >= e) return this.preloadAutoWidthImages(b), !1
        }
        this.$element.addClass("owl-loading"), this.$stage = a("<" + this.settings.stageElement + ' class="owl-stage"/>').wrap('<div class="owl-stage-outer">'), this.$element.append(this.$stage.parent()), this.replace(this.$element.children().not(this.$stage.parent())), this._width = this.$element.width(), this.refresh(), this.$element.removeClass("owl-loading").addClass("owl-loaded"), this.eventsCall(), this.internalEvents(), this.addTriggerableEvents(), this.trigger("initialized")
    }, e.prototype.setup = function() {
        var b = this.viewport(),
            c = this.options.responsive,
            d = -1,
            e = null;
        c ? (a.each(c, function(a) {
            b >= a && a > d && (d = Number(a))
        }), e = a.extend({}, this.options, c[d]), delete e.responsive, e.responsiveClass && this.$element.attr("class", function(a, b) {
            return b.replace(/\b owl-responsive-\S+/g, "")
        }).addClass("owl-responsive-" + d)) : e = a.extend({}, this.options), (null === this.settings || this._breakpoint !== d) && (this.trigger("change", {
            property: {
                name: "settings",
                value: e
            }
        }), this._breakpoint = d, this.settings = e, this.invalidate("settings"), this.trigger("changed", {
            property: {
                name: "settings",
                value: this.settings
            }
        }))
    }, e.prototype.optionsLogic = function() {
        this.$element.toggleClass("owl-center", this.settings.center), this.settings.loop && this._items.length < this.settings.items && (this.settings.loop = !1), this.settings.autoWidth && (this.settings.stagePadding = !1, this.settings.merge = !1)
    }, e.prototype.prepare = function(b) {
        var c = this.trigger("prepare", {
            content: b
        });
        return c.data || (c.data = a("<" + this.settings.itemElement + "/>").addClass(this.settings.itemClass).append(b)), this.trigger("prepared", {
            content: c.data
        }), c.data
    }, e.prototype.update = function() {
        for (var b = 0, c = this._pipe.length, d = a.proxy(function(a) {
                return this[a]
            }, this._invalidated), e = {}; c > b;)(this._invalidated.all || a.grep(this._pipe[b].filter, d).length > 0) && this._pipe[b].run(e), b++;
        this._invalidated = {}
    }, e.prototype.width = function(a) {
        switch (a = a || e.Width.Default) {
            case e.Width.Inner:
            case e.Width.Outer:
                return this._width;
            default:
                return this._width - 2 * this.settings.stagePadding + this.settings.margin
        }
    }, e.prototype.refresh = function() {
        if (0 === this._items.length) return !1;
        (new Date).getTime();
        this.trigger("refresh"), this.setup(), this.optionsLogic(), this.$stage.addClass("owl-refresh"), this.update(), this.$stage.removeClass("owl-refresh"), this.state.orientation = b.orientation, this.watchVisibility(), this.trigger("refreshed")
    }, e.prototype.eventsCall = function() {
        this.e._onDragStart = a.proxy(function(a) {
            this.onDragStart(a)
        }, this), this.e._onDragMove = a.proxy(function(a) {
            this.onDragMove(a)
        }, this), this.e._onDragEnd = a.proxy(function(a) {
            this.onDragEnd(a)
        }, this), this.e._onResize = a.proxy(function(a) {
            this.onResize(a)
        }, this), this.e._transitionEnd = a.proxy(function(a) {
            this.transitionEnd(a)
        }, this), this.e._preventClick = a.proxy(function(a) {
            this.preventClick(a)
        }, this)
    }, e.prototype.onThrottledResize = function() {
        b.clearTimeout(this.resizeTimer), this.resizeTimer = b.setTimeout(this.e._onResize, this.settings.responsiveRefreshRate)
    }, e.prototype.onResize = function() {
        return this._items.length ? this._width === this.$element.width() ? !1 : this.trigger("resize").isDefaultPrevented() ? !1 : (this._width = this.$element.width(), this.invalidate("width"), this.refresh(), void this.trigger("resized")) : !1
    }, e.prototype.eventsRouter = function(a) {
        var b = a.type;
        "mousedown" === b || "touchstart" === b ? this.onDragStart(a) : "mousemove" === b || "touchmove" === b ? this.onDragMove(a) : "mouseup" === b || "touchend" === b ? this.onDragEnd(a) : "touchcancel" === b && this.onDragEnd(a)
    }, e.prototype.internalEvents = function() {
        var c = (k(), l());
        this.settings.mouseDrag ? (this.$stage.on("mousedown", a.proxy(function(a) {
            this.eventsRouter(a)
        }, this)), this.$stage.on("dragstart", function() {
            return !1
        }), this.$stage.get(0).onselectstart = function() {
            return !1
        }) : this.$element.addClass("owl-text-select-on"), this.settings.touchDrag && !c && this.$stage.on("touchstart touchcancel", a.proxy(function(a) {
            this.eventsRouter(a)
        }, this)), this.transitionEndVendor && this.on(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd, !1), this.settings.responsive !== !1 && this.on(b, "resize", a.proxy(this.onThrottledResize, this))
    }, e.prototype.onDragStart = function(d) {
        var e, g, h, i;
        if (e = d.originalEvent || d || b.event, 3 === e.which || this.state.isTouch) return !1;
        if ("mousedown" === e.type && this.$stage.addClass("owl-grab"), this.trigger("drag"), this.drag.startTime = (new Date).getTime(), this.speed(0), this.state.isTouch = !0, this.state.isScrolling = !1, this.state.isSwiping = !1, this.drag.distance = 0, g = f(e).x, h = f(e).y, this.drag.offsetX = this.$stage.position().left, this.drag.offsetY = this.$stage.position().top, this.settings.rtl && (this.drag.offsetX = this.$stage.position().left + this.$stage.width() - this.width() + this.settings.margin), this.state.inMotion && this.support3d) i = this.getTransformProperty(), this.drag.offsetX = i, this.animate(i), this.state.inMotion = !0;
        else if (this.state.inMotion && !this.support3d) return this.state.inMotion = !1, !1;
        this.drag.startX = g - this.drag.offsetX, this.drag.startY = h - this.drag.offsetY, this.drag.start = g - this.drag.startX, this.drag.targetEl = e.target || e.srcElement, this.drag.updatedX = this.drag.start, ("IMG" === this.drag.targetEl.tagName || "A" === this.drag.targetEl.tagName) && (this.drag.targetEl.draggable = !1), a(c).on("mousemove.owl.dragEvents mouseup.owl.dragEvents touchmove.owl.dragEvents touchend.owl.dragEvents", a.proxy(function(a) {
            this.eventsRouter(a)
        }, this))
    }, e.prototype.onDragMove = function(a) {
        var c, e, g, h, i, j;
        this.state.isTouch && (this.state.isScrolling || (c = a.originalEvent || a || b.event, e = f(c).x, g = f(c).y, this.drag.currentX = e - this.drag.startX, this.drag.currentY = g - this.drag.startY, this.drag.distance = this.drag.currentX - this.drag.offsetX, this.drag.distance < 0 ? this.state.direction = this.settings.rtl ? "right" : "left" : this.drag.distance > 0 && (this.state.direction = this.settings.rtl ? "left" : "right"), this.settings.loop ? this.op(this.drag.currentX, ">", this.coordinates(this.minimum())) && "right" === this.state.direction ? this.drag.currentX -= (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length) : this.op(this.drag.currentX, "<", this.coordinates(this.maximum())) && "left" === this.state.direction && (this.drag.currentX += (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length)) : (h = this.coordinates(this.settings.rtl ? this.maximum() : this.minimum()), i = this.coordinates(this.settings.rtl ? this.minimum() : this.maximum()), j = this.settings.pullDrag ? this.drag.distance / 5 : 0, this.drag.currentX = Math.max(Math.min(this.drag.currentX, h + j), i + j)), (this.drag.distance > 8 || this.drag.distance < -8) && (c.preventDefault !== d ? c.preventDefault() : c.returnValue = !1, this.state.isSwiping = !0), this.drag.updatedX = this.drag.currentX, (this.drag.currentY > 16 || this.drag.currentY < -16) && this.state.isSwiping === !1 && (this.state.isScrolling = !0, this.drag.updatedX = this.drag.start), this.animate(this.drag.updatedX)))
    }, e.prototype.onDragEnd = function(b) {
        var d, e, f;
        if (this.state.isTouch) {
            if ("mouseup" === b.type && this.$stage.removeClass("owl-grab"), this.trigger("dragged"), this.drag.targetEl.removeAttribute("draggable"), this.state.isTouch = !1, this.state.isScrolling = !1, this.state.isSwiping = !1, 0 === this.drag.distance && this.state.inMotion !== !0) return this.state.inMotion = !1, !1;
            this.drag.endTime = (new Date).getTime(), d = this.drag.endTime - this.drag.startTime, e = Math.abs(this.drag.distance), (e > 3 || d > 300) && this.removeClick(this.drag.targetEl), f = this.closest(this.drag.updatedX), this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed), this.current(f), this.invalidate("position"), this.update(), this.settings.pullDrag || this.drag.updatedX !== this.coordinates(f) || this.transitionEnd(), this.drag.distance = 0, a(c).off(".owl.dragEvents")
        }
    }, e.prototype.removeClick = function(c) {
        this.drag.targetEl = c, a(c).on("click.preventClick", this.e._preventClick), b.setTimeout(function() {
            a(c).off("click.preventClick")
        }, 300)
    }, e.prototype.preventClick = function(b) {
        b.preventDefault ? b.preventDefault() : b.returnValue = !1, b.stopPropagation && b.stopPropagation(), a(b.target).off("click.preventClick")
    }, e.prototype.getTransformProperty = function() {
        var a, c;
        return a = b.getComputedStyle(this.$stage.get(0), null).getPropertyValue(this.vendorName + "transform"), a = a.replace(/matrix(3d)?\(|\)/g, "").split(","), c = 16 === a.length, c !== !0 ? a[4] : a[12]
    }, e.prototype.closest = function(b) {
        var c = -1,
            d = 30,
            e = this.width(),
            f = this.coordinates();
        return this.settings.freeDrag || a.each(f, a.proxy(function(a, g) {
            return b > g - d && g + d > b ? c = a : this.op(b, "<", g) && this.op(b, ">", f[a + 1] || g - e) && (c = "left" === this.state.direction ? a + 1 : a), -1 === c
        }, this)), this.settings.loop || (this.op(b, ">", f[this.minimum()]) ? c = b = this.minimum() : this.op(b, "<", f[this.maximum()]) && (c = b = this.maximum())), c
    }, e.prototype.animate = function(b) {
        this.trigger("translate"), this.state.inMotion = this.speed() > 0, this.support3d ? this.$stage.css({
            transform: "translate3d(" + b + "px,0px, 0px)",
            transition: this.speed() / 1e3 + "s"
        }) : this.state.isTouch ? this.$stage.css({
            left: b + "px"
        }) : this.$stage.animate({
            left: b
        }, this.speed() / 1e3, this.settings.fallbackEasing, a.proxy(function() {
            this.state.inMotion && this.transitionEnd()
        }, this))
    }, e.prototype.current = function(a) {
        if (a === d) return this._current;
        if (0 === this._items.length) return d;
        if (a = this.normalize(a), this._current !== a) {
            var b = this.trigger("change", {
                property: {
                    name: "position",
                    value: a
                }
            });
            b.data !== d && (a = this.normalize(b.data)), this._current = a, this.invalidate("position"), this.trigger("changed", {
                property: {
                    name: "position",
                    value: this._current
                }
            })
        }
        return this._current
    }, e.prototype.invalidate = function(a) {
        this._invalidated[a] = !0
    }, e.prototype.reset = function(a) {
        a = this.normalize(a), a !== d && (this._speed = 0, this._current = a, this.suppress(["translate", "translated"]), this.animate(this.coordinates(a)), this.release(["translate", "translated"]))
    }, e.prototype.normalize = function(b, c) {
        var e = c ? this._items.length : this._items.length + this._clones.length;
        return !a.isNumeric(b) || 1 > e ? d : b = this._clones.length ? (b % e + e) % e : Math.max(this.minimum(c), Math.min(this.maximum(c), b))
    }, e.prototype.relative = function(a) {
        return a = this.normalize(a), a -= this._clones.length / 2, this.normalize(a, !0)
    }, e.prototype.maximum = function(a) {
        var b, c, d, e = 0,
            f = this.settings;
        if (a) return this._items.length - 1;
        if (!f.loop && f.center) b = this._items.length - 1;
        else if (f.loop || f.center)
            if (f.loop || f.center) b = this._items.length + f.items;
            else {
                if (!f.autoWidth && !f.merge) throw "Can not detect maximum absolute position.";
                for (revert = f.rtl ? 1 : -1, c = this.$stage.width() - this.$element.width();
                    (d = this.coordinates(e)) && !(d * revert >= c);) b = ++e
            } else b = this._items.length - f.items;
        return b
    }, e.prototype.minimum = function(a) {
        return a ? 0 : this._clones.length / 2
    }, e.prototype.items = function(a) {
        return a === d ? this._items.slice() : (a = this.normalize(a, !0), this._items[a])
    }, e.prototype.mergers = function(a) {
        return a === d ? this._mergers.slice() : (a = this.normalize(a, !0), this._mergers[a])
    }, e.prototype.clones = function(b) {
        var c = this._clones.length / 2,
            e = c + this._items.length,
            f = function(a) {
                return a % 2 === 0 ? e + a / 2 : c - (a + 1) / 2
            };
        return b === d ? a.map(this._clones, function(a, b) {
            return f(b)
        }) : a.map(this._clones, function(a, c) {
            return a === b ? f(c) : null
        })
    }, e.prototype.speed = function(a) {
        return a !== d && (this._speed = a), this._speed
    }, e.prototype.coordinates = function(b) {
        var c = null;
        return b === d ? a.map(this._coordinates, a.proxy(function(a, b) {
            return this.coordinates(b)
        }, this)) : (this.settings.center ? (c = this._coordinates[b], c += (this.width() - c + (this._coordinates[b - 1] || 0)) / 2 * (this.settings.rtl ? -1 : 1)) : c = this._coordinates[b - 1] || 0, c)
    }, e.prototype.duration = function(a, b, c) {
        return Math.min(Math.max(Math.abs(b - a), 1), 6) * Math.abs(c || this.settings.smartSpeed)
    }, e.prototype.to = function(c, d) {
        if (this.settings.loop) {
            var e = c - this.relative(this.current()),
                f = this.current(),
                g = this.current(),
                h = this.current() + e,
                i = 0 > g - h ? !0 : !1,
                j = this._clones.length + this._items.length;
            h < this.settings.items && i === !1 ? (f = g + this._items.length, this.reset(f)) : h >= j - this.settings.items && i === !0 && (f = g - this._items.length, this.reset(f)), b.clearTimeout(this.e._goToLoop), this.e._goToLoop = b.setTimeout(a.proxy(function() {
                this.speed(this.duration(this.current(), f + e, d)), this.current(f + e), this.update()
            }, this), 30)
        } else this.speed(this.duration(this.current(), c, d)), this.current(c), this.update()
    }, e.prototype.next = function(a) {
        a = a || !1, this.to(this.relative(this.current()) + 1, a)
    }, e.prototype.prev = function(a) {
        a = a || !1, this.to(this.relative(this.current()) - 1, a)
    }, e.prototype.transitionEnd = function(a) {
        return a !== d && (a.stopPropagation(), (a.target || a.srcElement || a.originalTarget) !== this.$stage.get(0)) ? !1 : (this.state.inMotion = !1, void this.trigger("translated"))
    }, e.prototype.viewport = function() {
        var d;
        if (this.options.responsiveBaseElement !== b) d = a(this.options.responsiveBaseElement).width();
        else if (b.innerWidth) d = b.innerWidth;
        else {
            if (!c.documentElement || !c.documentElement.clientWidth) throw "Can not detect viewport width.";
            d = c.documentElement.clientWidth
        }
        return d
    }, e.prototype.replace = function(b) {
        this.$stage.empty(), this._items = [], b && (b = b instanceof jQuery ? b : a(b)), this.settings.nestedItemSelector && (b = b.find("." + this.settings.nestedItemSelector)), b.filter(function() {
            return 1 === this.nodeType
        }).each(a.proxy(function(a, b) {
            b = this.prepare(b), this.$stage.append(b), this._items.push(b), this._mergers.push(1 * b.find("[data-merge]").andSelf("[data-merge]").attr("data-merge") || 1)
        }, this)), this.reset(a.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0), this.invalidate("items")
    }, e.prototype.add = function(a, b) {
        b = b === d ? this._items.length : this.normalize(b, !0), this.trigger("add", {
            content: a,
            position: b
        }), 0 === this._items.length || b === this._items.length ? (this.$stage.append(a), this._items.push(a), this._mergers.push(1 * a.find("[data-merge]").andSelf("[data-merge]").attr("data-merge") || 1)) : (this._items[b].before(a), this._items.splice(b, 0, a), this._mergers.splice(b, 0, 1 * a.find("[data-merge]").andSelf("[data-merge]").attr("data-merge") || 1)), this.invalidate("items"), this.trigger("added", {
            content: a,
            position: b
        })
    }, e.prototype.remove = function(a) {
        a = this.normalize(a, !0), a !== d && (this.trigger("remove", {
            content: this._items[a],
            position: a
        }), this._items[a].remove(), this._items.splice(a, 1), this._mergers.splice(a, 1), this.invalidate("items"), this.trigger("removed", {
            content: null,
            position: a
        }))
    }, e.prototype.addTriggerableEvents = function() {
        var b = a.proxy(function(b, c) {
            return a.proxy(function(a) {
                a.relatedTarget !== this && (this.suppress([c]), b.apply(this, [].slice.call(arguments, 1)), this.release([c]))
            }, this)
        }, this);
        a.each({
            next: this.next,
            prev: this.prev,
            to: this.to,
            destroy: this.destroy,
            refresh: this.refresh,
            replace: this.replace,
            add: this.add,
            remove: this.remove
        }, a.proxy(function(a, c) {
            this.$element.on(a + ".owl.carousel", b(c, a + ".owl.carousel"))
        }, this))
    }, e.prototype.watchVisibility = function() {
        function c(a) {
            return a.offsetWidth > 0 && a.offsetHeight > 0
        }

        function d() {
            c(this.$element.get(0)) && (this.$element.removeClass("owl-hidden"), this.refresh(), b.clearInterval(this.e._checkVisibile))
        }
        c(this.$element.get(0)) || (this.$element.addClass("owl-hidden"), b.clearInterval(this.e._checkVisibile), this.e._checkVisibile = b.setInterval(a.proxy(d, this), 500))
    }, e.prototype.preloadAutoWidthImages = function(b) {
        var c, d, e, f;
        c = 0, d = this, b.each(function(g, h) {
            e = a(h), f = new Image, f.onload = function() {
                c++, e.attr("src", f.src), e.css("opacity", 1), c >= b.length && (d.state.imagesLoaded = !0, d.initialize())
            }, f.src = e.attr("src") || e.attr("data-src") || e.attr("data-src-retina")
        })
    }, e.prototype.destroy = function() {
        this.$element.hasClass(this.settings.themeClass) && this.$element.removeClass(this.settings.themeClass), this.settings.responsive !== !1 && a(b).off("resize.owl.carousel"), this.transitionEndVendor && this.off(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd);
        for (var d in this._plugins) this._plugins[d].destroy();
        (this.settings.mouseDrag || this.settings.touchDrag) && (this.$stage.off("mousedown touchstart touchcancel"), a(c).off(".owl.dragEvents"), this.$stage.get(0).onselectstart = function() {}, this.$stage.off("dragstart", function() {
            return !1
        })), this.$element.off(".owl"), this.$stage.children(".cloned").remove(), this.e = null, this.$element.removeData("owlCarousel"), this.$stage.children().contents().unwrap(), this.$stage.children().unwrap(), this.$stage.unwrap()
    }, e.prototype.op = function(a, b, c) {
        var d = this.settings.rtl;
        switch (b) {
            case "<":
                return d ? a > c : c > a;
            case ">":
                return d ? c > a : a > c;
            case ">=":
                return d ? c >= a : a >= c;
            case "<=":
                return d ? a >= c : c >= a
        }
    }, e.prototype.on = function(a, b, c, d) {
        a.addEventListener ? a.addEventListener(b, c, d) : a.attachEvent && a.attachEvent("on" + b, c)
    }, e.prototype.off = function(a, b, c, d) {
        a.removeEventListener ? a.removeEventListener(b, c, d) : a.detachEvent && a.detachEvent("on" + b, c)
    }, e.prototype.trigger = function(b, c, d) {
        var e = {
                item: {
                    count: this._items.length,
                    index: this.current()
                }
            },
            f = a.camelCase(a.grep(["on", b, d], function(a) {
                return a
            }).join("-").toLowerCase()),
            g = a.Event([b, "owl", d || "carousel"].join(".").toLowerCase(), a.extend({
                relatedTarget: this
            }, e, c));
        return this._supress[b] || (a.each(this._plugins, function(a, b) {
            b.onTrigger && b.onTrigger(g)
        }), this.$element.trigger(g), this.settings && "function" == typeof this.settings[f] && this.settings[f].apply(this, g)), g
    }, e.prototype.suppress = function(b) {
        a.each(b, a.proxy(function(a, b) {
            this._supress[b] = !0
        }, this))
    }, e.prototype.release = function(b) {
        a.each(b, a.proxy(function(a, b) {
            delete this._supress[b]
        }, this))
    }, e.prototype.browserSupport = function() {
        if (this.support3d = j(), this.support3d) {
            this.transformVendor = i();
            var a = ["transitionend", "webkitTransitionEnd", "transitionend", "oTransitionEnd"];
            this.transitionEndVendor = a[h()], this.vendorName = this.transformVendor.replace(/Transform/i, ""), this.vendorName = "" !== this.vendorName ? "-" + this.vendorName.toLowerCase() + "-" : ""
        }
        this.state.orientation = b.orientation
    }, a.fn.owlCarousel = function(b) {
        return this.each(function() {
            a(this).data("owlCarousel") || a(this).data("owlCarousel", new e(this, b))
        })
    }, a.fn.owlCarousel.Constructor = e
}(window.Zepto || window.jQuery, window, document),
function(a, b) {
    var c = function(b) {
        this._core = b, this._loaded = [], this._handlers = {
            "initialized.owl.carousel change.owl.carousel": a.proxy(function(b) {
                if (b.namespace && this._core.settings && this._core.settings.lazyLoad && (b.property && "position" == b.property.name || "initialized" == b.type))
                    for (var c = this._core.settings, d = c.center && Math.ceil(c.items / 2) || c.items, e = c.center && -1 * d || 0, f = (b.property && b.property.value || this._core.current()) + e, g = this._core.clones().length, h = a.proxy(function(a, b) {
                            this.load(b)
                        }, this); e++ < d;) this.load(g / 2 + this._core.relative(f)), g && a.each(this._core.clones(this._core.relative(f++)), h)
            }, this)
        }, this._core.options = a.extend({}, c.Defaults, this._core.options), this._core.$element.on(this._handlers)
    };
    c.Defaults = {
        lazyLoad: !1
    }, c.prototype.load = function(c) {
        var d = this._core.$stage.children().eq(c),
            e = d && d.find(".owl-lazy");
        !e || a.inArray(d.get(0), this._loaded) > -1 || (e.each(a.proxy(function(c, d) {
            var e, f = a(d),
                g = b.devicePixelRatio > 1 && f.attr("data-src-retina") || f.attr("data-src");
            this._core.trigger("load", {
                element: f,
                url: g
            }, "lazy"), f.is("img") ? f.one("load.owl.lazy", a.proxy(function() {
                f.css("opacity", 1), this._core.trigger("loaded", {
                    element: f,
                    url: g
                }, "lazy")
            }, this)).attr("src", g) : (e = new Image, e.onload = a.proxy(function() {
                f.css({
                    "background-image": "url(" + g + ")",
                    opacity: "1"
                }), this._core.trigger("loaded", {
                    element: f,
                    url: g
                }, "lazy")
            }, this), e.src = g)
        }, this)), this._loaded.push(d.get(0)))
    }, c.prototype.destroy = function() {
        var a, b;
        for (a in this.handlers) this._core.$element.off(a, this.handlers[a]);
        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
    }, a.fn.owlCarousel.Constructor.Plugins.Lazy = c
}(window.Zepto || window.jQuery, window, document),
function(a) {
    var b = function(c) {
        this._core = c, this._handlers = {
            "initialized.owl.carousel": a.proxy(function() {
                this._core.settings.autoHeight && this.update()
            }, this),
            "changed.owl.carousel": a.proxy(function(a) {
                this._core.settings.autoHeight && "position" == a.property.name && this.update()
            }, this),
            "loaded.owl.lazy": a.proxy(function(a) {
                this._core.settings.autoHeight && a.element.closest("." + this._core.settings.itemClass) === this._core.$stage.children().eq(this._core.current()) && this.update()
            }, this)
        }, this._core.options = a.extend({}, b.Defaults, this._core.options), this._core.$element.on(this._handlers)
    };
    b.Defaults = {
        autoHeight: !1,
        autoHeightClass: "owl-height"
    }, b.prototype.update = function() {
        this._core.$stage.parent().height(this._core.$stage.children().eq(this._core.current()).height()).addClass(this._core.settings.autoHeightClass)
    }, b.prototype.destroy = function() {
        var a, b;
        for (a in this._handlers) this._core.$element.off(a, this._handlers[a]);
        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
    }, a.fn.owlCarousel.Constructor.Plugins.AutoHeight = b
}(window.Zepto || window.jQuery, window, document),
function(a, b, c) {
    var d = function(b) {
        this._core = b, this._videos = {}, this._playing = null, this._fullscreen = !1, this._handlers = {
            "resize.owl.carousel": a.proxy(function(a) {
                this._core.settings.video && !this.isInFullScreen() && a.preventDefault()
            }, this),
            "refresh.owl.carousel changed.owl.carousel": a.proxy(function() {
                this._playing && this.stop()
            }, this),
            "prepared.owl.carousel": a.proxy(function(b) {
                var c = a(b.content).find(".owl-video");
                c.length && (c.css("display", "none"), this.fetch(c, a(b.content)))
            }, this)
        }, this._core.options = a.extend({}, d.Defaults, this._core.options), this._core.$element.on(this._handlers), this._core.$element.on("click.owl.video", ".owl-video-play-icon", a.proxy(function(a) {
            this.play(a)
        }, this))
    };
    d.Defaults = {
        video: !1,
        videoHeight: !1,
        videoWidth: !1
    }, d.prototype.fetch = function(a, b) {
        var c = a.attr("data-vimeo-id") ? "vimeo" : "youtube",
            d = a.attr("data-vimeo-id") || a.attr("data-youtube-id"),
            e = a.attr("data-width") || this._core.settings.videoWidth,
            f = a.attr("data-height") || this._core.settings.videoHeight,
            g = a.attr("href");
        if (!g) throw new Error("Missing video URL.");
        if (d = g.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/), d[3].indexOf("youtu") > -1) c = "youtube";
        else {
            if (!(d[3].indexOf("vimeo") > -1)) throw new Error("Video URL not supported.");
            c = "vimeo"
        }
        d = d[6], this._videos[g] = {
            type: c,
            id: d,
            width: e,
            height: f
        }, b.attr("data-video", g), this.thumbnail(a, this._videos[g])
    }, d.prototype.thumbnail = function(b, c) {
        var d, e, f, g = c.width && c.height ? 'style="width:' + c.width + "px;height:" + c.height + 'px;"' : "",
            h = b.find("img"),
            i = "src",
            j = "",
            k = this._core.settings,
            l = function(a) {
                e = '<div class="owl-video-play-icon"></div>', d = k.lazyLoad ? '<div class="owl-video-tn ' + j + '" ' + i + '="' + a + '"></div>' : '<div class="owl-video-tn" style="opacity:1;background-image:url(' + a + ')"></div>', b.after(d), b.after(e)
            };
        return b.wrap('<div class="owl-video-wrapper"' + g + "></div>"), this._core.settings.lazyLoad && (i = "data-src", j = "owl-lazy"), h.length ? (l(h.attr(i)), h.remove(), !1) : void("youtube" === c.type ? (f = "http://img.youtube.com/vi/" + c.id + "/hqdefault.jpg", l(f)) : "vimeo" === c.type && a.ajax({
            type: "GET",
            url: "http://vimeo.com/api/v2/video/" + c.id + ".json",
            jsonp: "callback",
            dataType: "jsonp",
            success: function(a) {
                f = a[0].thumbnail_large, l(f)
            }
        }))
    }, d.prototype.stop = function() {
        this._core.trigger("stop", null, "video"), this._playing.find(".owl-video-frame").remove(), this._playing.removeClass("owl-video-playing"), this._playing = null
    }, d.prototype.play = function(b) {
        this._core.trigger("play", null, "video"), this._playing && this.stop();
        var c, d, e = a(b.target || b.srcElement),
            f = e.closest("." + this._core.settings.itemClass),
            g = this._videos[f.attr("data-video")],
            h = g.width || "100%",
            i = g.height || this._core.$stage.height();
        "youtube" === g.type ? c = '<iframe width="' + h + '" height="' + i + '" src="http://www.youtube.com/embed/' + g.id + "?autoplay=1&v=" + g.id + '" frameborder="0" allowfullscreen></iframe>' : "vimeo" === g.type && (c = '<iframe src="http://player.vimeo.com/video/' + g.id + '?autoplay=1" width="' + h + '" height="' + i + '" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'), f.addClass("owl-video-playing"), this._playing = f, d = a('<div style="height:' + i + "px; width:" + h + 'px" class="owl-video-frame">' + c + "</div>"), e.after(d)
    }, d.prototype.isInFullScreen = function() {
        var d = c.fullscreenElement || c.mozFullScreenElement || c.webkitFullscreenElement;
        return d && a(d).parent().hasClass("owl-video-frame") && (this._core.speed(0), this._fullscreen = !0), d && this._fullscreen && this._playing ? !1 : this._fullscreen ? (this._fullscreen = !1, !1) : this._playing && this._core.state.orientation !== b.orientation ? (this._core.state.orientation = b.orientation, !1) : !0
    }, d.prototype.destroy = function() {
        var a, b;
        this._core.$element.off("click.owl.video");
        for (a in this._handlers) this._core.$element.off(a, this._handlers[a]);
        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
    }, a.fn.owlCarousel.Constructor.Plugins.Video = d
}(window.Zepto || window.jQuery, window, document),
function(a, b, c, d) {
    var e = function(b) {
        this.core = b, this.core.options = a.extend({}, e.Defaults, this.core.options), this.swapping = !0, this.previous = d, this.next = d, this.handlers = {
            "change.owl.carousel": a.proxy(function(a) {
                "position" == a.property.name && (this.previous = this.core.current(), this.next = a.property.value)
            }, this),
            "drag.owl.carousel dragged.owl.carousel translated.owl.carousel": a.proxy(function(a) {
                this.swapping = "translated" == a.type
            }, this),
            "translate.owl.carousel": a.proxy(function() {
                this.swapping && (this.core.options.animateOut || this.core.options.animateIn) && this.swap()
            }, this)
        }, this.core.$element.on(this.handlers)
    };
    e.Defaults = {
        animateOut: !1,
        animateIn: !1
    }, e.prototype.swap = function() {
        if (1 === this.core.settings.items && this.core.support3d) {
            this.core.speed(0);
            var b, c = a.proxy(this.clear, this),
                d = this.core.$stage.children().eq(this.previous),
                e = this.core.$stage.children().eq(this.next),
                f = this.core.settings.animateIn,
                g = this.core.settings.animateOut;
            this.core.current() !== this.previous && (g && (b = this.core.coordinates(this.previous) - this.core.coordinates(this.next), d.css({
                left: b + "px"
            }).addClass("animated owl-animated-out").addClass(g).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", c)), f && e.addClass("animated owl-animated-in").addClass(f).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", c))
        }
    }, e.prototype.clear = function(b) {
        a(b.target).css({
            left: ""
        }).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut), this.core.transitionEnd()
    }, e.prototype.destroy = function() {
        var a, b;
        for (a in this.handlers) this.core.$element.off(a, this.handlers[a]);
        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
    }, a.fn.owlCarousel.Constructor.Plugins.Animate = e
}(window.Zepto || window.jQuery, window, document),
function(a, b, c) {
    var d = function(b) {
        this.core = b, this.core.options = a.extend({}, d.Defaults, this.core.options), this.handlers = {
            "translated.owl.carousel refreshed.owl.carousel": a.proxy(function() {
                this.autoplay()
            }, this),
            "play.owl.autoplay": a.proxy(function(a, b, c) {
                this.play(b, c)
            }, this),
            "stop.owl.autoplay": a.proxy(function() {
                this.stop()
            }, this),
            "mouseover.owl.autoplay": a.proxy(function() {
                this.core.settings.autoplayHoverPause && this.pause()
            }, this),
            "mouseleave.owl.autoplay": a.proxy(function() {
                this.core.settings.autoplayHoverPause && this.autoplay()
            }, this)
        }, this.core.$element.on(this.handlers)
    };
    d.Defaults = {
        autoplay: !1,
        autoplayTimeout: 5e3,
        autoplayHoverPause: !1,
        autoplaySpeed: !1
    }, d.prototype.autoplay = function() {
        this.core.settings.autoplay && !this.core.state.videoPlay ? (b.clearInterval(this.interval), this.interval = b.setInterval(a.proxy(function() {
            this.play()
        }, this), this.core.settings.autoplayTimeout)) : b.clearInterval(this.interval)
    }, d.prototype.play = function() {
        return c.hidden === !0 || this.core.state.isTouch || this.core.state.isScrolling || this.core.state.isSwiping || this.core.state.inMotion ? void 0 : this.core.settings.autoplay === !1 ? void b.clearInterval(this.interval) : void this.core.next(this.core.settings.autoplaySpeed)
    }, d.prototype.stop = function() {
        b.clearInterval(this.interval)
    }, d.prototype.pause = function() {
        b.clearInterval(this.interval)
    }, d.prototype.destroy = function() {
        var a, c;
        b.clearInterval(this.interval);
        for (a in this.handlers) this.core.$element.off(a, this.handlers[a]);
        for (c in Object.getOwnPropertyNames(this)) "function" != typeof this[c] && (this[c] = null)
    }, a.fn.owlCarousel.Constructor.Plugins.autoplay = d
}(window.Zepto || window.jQuery, window, document),
function(a) {
    "use strict";
    var b = function(c) {
        this._core = c, this._initialized = !1, this._pages = [], this._controls = {}, this._templates = [], this.$element = this._core.$element, this._overrides = {
            next: this._core.next,
            prev: this._core.prev,
            to: this._core.to
        }, this._handlers = {
            "prepared.owl.carousel": a.proxy(function(b) {
                this._core.settings.dotsData && this._templates.push(a(b.content).find("[data-dot]").andSelf("[data-dot]").attr("data-dot"))
            }, this),
            "add.owl.carousel": a.proxy(function(b) {
                this._core.settings.dotsData && this._templates.splice(b.position, 0, a(b.content).find("[data-dot]").andSelf("[data-dot]").attr("data-dot"))
            }, this),
            "remove.owl.carousel prepared.owl.carousel": a.proxy(function(a) {
                this._core.settings.dotsData && this._templates.splice(a.position, 1)
            }, this),
            "change.owl.carousel": a.proxy(function(a) {
                if ("position" == a.property.name && !this._core.state.revert && !this._core.settings.loop && this._core.settings.navRewind) {
                    var b = this._core.current(),
                        c = this._core.maximum(),
                        d = this._core.minimum();
                    a.data = a.property.value > c ? b >= c ? d : c : a.property.value < d ? c : a.property.value
                }
            }, this),
            "changed.owl.carousel": a.proxy(function(a) {
                "position" == a.property.name && this.draw()
            }, this),
            "refreshed.owl.carousel": a.proxy(function() {
                this._initialized || (this.initialize(), this._initialized = !0), this._core.trigger("refresh", null, "navigation"), this.update(), this.draw(), this._core.trigger("refreshed", null, "navigation")
            }, this)
        }, this._core.options = a.extend({}, b.Defaults, this._core.options), this.$element.on(this._handlers)
    };
    b.Defaults = {
        nav: !1,
        navRewind: !0,
        navText: ["prev", "next"],
        navSpeed: !1,
        navElement: "div",
        navContainer: !1,
        navContainerClass: "owl-nav",
        navClass: ["owl-prev", "owl-next"],
        slideBy: 1,
        dotClass: "owl-dot",
        dotsClass: "owl-dots",
        dots: !0,
        dotsEach: !1,
        dotData: !1,
        dotsSpeed: !1,
        dotsContainer: !1,
        controlsClass: "owl-controls"
    }, b.prototype.initialize = function() {
        var b, c, d = this._core.settings;
        d.dotsData || (this._templates = [a("<div>").addClass(d.dotClass).append(a("<span>")).prop("outerHTML")]), d.navContainer && d.dotsContainer || (this._controls.$container = a("<div>").addClass(d.controlsClass).appendTo(this.$element)), this._controls.$indicators = d.dotsContainer ? a(d.dotsContainer) : a("<div>").hide().addClass(d.dotsClass).appendTo(this._controls.$container), this._controls.$indicators.on("click", "div", a.proxy(function(b) {
            var c = a(b.target).parent().is(this._controls.$indicators) ? a(b.target).index() : a(b.target).parent().index();
            b.preventDefault(), this.to(c, d.dotsSpeed)
        }, this)), b = d.navContainer ? a(d.navContainer) : a("<div>").addClass(d.navContainerClass).prependTo(this._controls.$container), this._controls.$next = a("<" + d.navElement + ">"), this._controls.$previous = this._controls.$next.clone(), this._controls.$previous.addClass(d.navClass[0]).html(d.navText[0]).hide().prependTo(b).on("click", a.proxy(function() {
            this.prev(d.navSpeed)
        }, this)), this._controls.$next.addClass(d.navClass[1]).html(d.navText[1]).hide().appendTo(b).on("click", a.proxy(function() {
            this.next(d.navSpeed)
        }, this));
        for (c in this._overrides) this._core[c] = a.proxy(this[c], this)
    }, b.prototype.destroy = function() {
        var a, b, c, d;
        for (a in this._handlers) this.$element.off(a, this._handlers[a]);
        for (b in this._controls) this._controls[b].remove();
        for (d in this.overides) this._core[d] = this._overrides[d];
        for (c in Object.getOwnPropertyNames(this)) "function" != typeof this[c] && (this[c] = null)
    }, b.prototype.update = function() {
        var a, b, c, d = this._core.settings,
            e = this._core.clones().length / 2,
            f = e + this._core.items().length,
            g = d.center || d.autoWidth || d.dotData ? 1 : d.dotsEach || d.items;
        if ("page" !== d.slideBy && (d.slideBy = Math.min(d.slideBy, d.items)), d.dots || "page" == d.slideBy)
            for (this._pages = [], a = e, b = 0, c = 0; f > a; a++)(b >= g || 0 === b) && (this._pages.push({
                start: a - e,
                end: a - e + g - 1
            }), b = 0, ++c), b += this._core.mergers(this._core.relative(a))
    }, b.prototype.draw = function() {
        var b, c, d = "",
            e = this._core.settings,
            f = (this._core.$stage.children(), this._core.relative(this._core.current()));
        if (!e.nav || e.loop || e.navRewind || (this._controls.$previous.toggleClass("disabled", 0 >= f), this._controls.$next.toggleClass("disabled", f >= this._core.maximum())), this._controls.$previous.toggle(e.nav), this._controls.$next.toggle(e.nav), e.dots) {
            if (b = this._pages.length - this._controls.$indicators.children().length, e.dotData && 0 !== b) {
                for (c = 0; c < this._controls.$indicators.children().length; c++) d += this._templates[this._core.relative(c)];
                this._controls.$indicators.html(d)
            } else b > 0 ? (d = new Array(b + 1).join(this._templates[0]), this._controls.$indicators.append(d)) : 0 > b && this._controls.$indicators.children().slice(b).remove();
            this._controls.$indicators.find(".active").removeClass("active"), this._controls.$indicators.children().eq(a.inArray(this.current(), this._pages)).addClass("active")
        }
        this._controls.$indicators.toggle(e.dots)
    }, b.prototype.onTrigger = function(b) {
        var c = this._core.settings;
        b.page = {
            index: a.inArray(this.current(), this._pages),
            count: this._pages.length,
            size: c && (c.center || c.autoWidth || c.dotData ? 1 : c.dotsEach || c.items)
        }
    }, b.prototype.current = function() {
        var b = this._core.relative(this._core.current());
        return a.grep(this._pages, function(a) {
            return a.start <= b && a.end >= b
        }).pop()
    }, b.prototype.getPosition = function(b) {
        var c, d, e = this._core.settings;
        return "page" == e.slideBy ? (c = a.inArray(this.current(), this._pages), d = this._pages.length, b ? ++c : --c, c = this._pages[(c % d + d) % d].start) : (c = this._core.relative(this._core.current()), d = this._core.items().length, b ? c += e.slideBy : c -= e.slideBy), c
    }, b.prototype.next = function(b) {
        a.proxy(this._overrides.to, this._core)(this.getPosition(!0), b)
    }, b.prototype.prev = function(b) {
        a.proxy(this._overrides.to, this._core)(this.getPosition(!1), b)
    }, b.prototype.to = function(b, c, d) {
        var e;
        d ? a.proxy(this._overrides.to, this._core)(b, c) : (e = this._pages.length, a.proxy(this._overrides.to, this._core)(this._pages[(b % e + e) % e].start, c))
    }, a.fn.owlCarousel.Constructor.Plugins.Navigation = b
}(window.Zepto || window.jQuery, window, document),
function(a, b) {
    "use strict";
    var c = function(d) {
        this._core = d, this._hashes = {}, this.$element = this._core.$element, this._handlers = {
            "initialized.owl.carousel": a.proxy(function() {
                "URLHash" == this._core.settings.startPosition && a(b).trigger("hashchange.owl.navigation")
            }, this),
            "prepared.owl.carousel": a.proxy(function(b) {
                var c = a(b.content).find("[data-hash]").andSelf("[data-hash]").attr("data-hash");
                this._hashes[c] = b.content
            }, this)
        }, this._core.options = a.extend({}, c.Defaults, this._core.options), this.$element.on(this._handlers), a(b).on("hashchange.owl.navigation", a.proxy(function() {
            var a = b.location.hash.substring(1),
                c = this._core.$stage.children(),
                d = this._hashes[a] && c.index(this._hashes[a]) || 0;
            return a ? void this._core.to(d, !1, !0) : !1
        }, this))
    };
    c.Defaults = {
        URLhashListener: !1
    }, c.prototype.destroy = function() {
        var c, d;
        a(b).off("hashchange.owl.navigation");
        for (c in this._handlers) this._core.$element.off(c, this._handlers[c]);
        for (d in Object.getOwnPropertyNames(this)) "function" != typeof this[d] && (this[d] = null)
    }, a.fn.owlCarousel.Constructor.Plugins.Hash = c
}(window.Zepto || window.jQuery, window, document);
(function() {
    function e() {}

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

    function n(e) {
        return function() {
            return this[e].apply(this, arguments)
        }
    }
    var i = e.prototype,
        r = this,
        o = r.EventEmitter;
    i.getListeners = function(e) {
        var t, n, i = this._getEvents();
        if ("object" == typeof e) {
            t = {};
            for (n in i) i.hasOwnProperty(n) && e.test(n) && (t[n] = i[n])
        } else t = i[e] || (i[e] = []);
        return t
    }, i.flattenListeners = function(e) {
        var t, n = [];
        for (t = 0; e.length > t; t += 1) n.push(e[t].listener);
        return n
    }, i.getListenersAsObject = function(e) {
        var t, n = this.getListeners(e);
        return n instanceof Array && (t = {}, t[e] = n), t || n
    }, i.addListener = function(e, n) {
        var i, r = this.getListenersAsObject(e),
            o = "object" == typeof n;
        for (i in r) r.hasOwnProperty(i) && -1 === t(r[i], n) && r[i].push(o ? n : {
            listener: n,
            once: !1
        });
        return this
    }, i.on = n("addListener"), i.addOnceListener = function(e, t) {
        return this.addListener(e, {
            listener: t,
            once: !0
        })
    }, i.once = n("addOnceListener"), i.defineEvent = function(e) {
        return this.getListeners(e), this
    }, i.defineEvents = function(e) {
        for (var t = 0; e.length > t; t += 1) this.defineEvent(e[t]);
        return this
    }, i.removeListener = function(e, n) {
        var i, r, o = this.getListenersAsObject(e);
        for (r in o) o.hasOwnProperty(r) && (i = t(o[r], n), -1 !== i && o[r].splice(i, 1));
        return this
    }, i.off = n("removeListener"), i.addListeners = function(e, t) {
        return this.manipulateListeners(!1, e, t)
    }, i.removeListeners = function(e, t) {
        return this.manipulateListeners(!0, e, t)
    }, i.manipulateListeners = function(e, t, n) {
        var i, r, o = e ? this.removeListener : this.addListener,
            s = e ? this.removeListeners : this.addListeners;
        if ("object" != typeof t || t instanceof RegExp)
            for (i = n.length; i--;) o.call(this, t, n[i]);
        else
            for (i in t) t.hasOwnProperty(i) && (r = t[i]) && ("function" == typeof r ? o.call(this, i, r) : s.call(this, i, r));
        return this
    }, i.removeEvent = function(e) {
        var t, n = typeof e,
            i = this._getEvents();
        if ("string" === n) delete i[e];
        else if ("object" === n)
            for (t in i) i.hasOwnProperty(t) && e.test(t) && delete i[t];
        else delete this._events;
        return this
    }, i.removeAllListeners = n("removeEvent"), i.emitEvent = function(e, t) {
        var n, i, r, o, s = this.getListenersAsObject(e);
        for (r in s)
            if (s.hasOwnProperty(r))
                for (i = s[r].length; i--;) n = s[r][i], n.once === !0 && this.removeListener(e, n.listener), o = n.listener.apply(this, t || []), o === this._getOnceReturnValue() && this.removeListener(e, n.listener);
        return this
    }, i.trigger = n("emitEvent"), i.emit = function(e) {
        var t = Array.prototype.slice.call(arguments, 1);
        return this.emitEvent(e, t)
    }, i.setOnceReturnValue = function(e) {
        return this._onceReturnValue = e, this
    }, i._getOnceReturnValue = function() {
        return this.hasOwnProperty("_onceReturnValue") ? this._onceReturnValue : !0
    }, i._getEvents = function() {
        return this._events || (this._events = {})
    }, e.noConflict = function() {
        return r.EventEmitter = o, e
    }, "function" == typeof define && define.amd ? define("eventEmitter/EventEmitter", [], function() {
        return e
    }) : "object" == typeof module && module.exports ? module.exports = e : this.EventEmitter = e
}).call(this),
    function(e) {
        function t(t) {
            var n = e.event;
            return n.target = n.target || n.srcElement || t, n
        }
        var n = document.documentElement,
            i = function() {};
        n.addEventListener ? i = function(e, t, n) {
            e.addEventListener(t, n, !1)
        } : n.attachEvent && (i = function(e, n, i) {
            e[n + i] = i.handleEvent ? function() {
                var n = t(e);
                i.handleEvent.call(i, n)
            } : function() {
                var n = t(e);
                i.call(e, n)
            }, e.attachEvent("on" + n, e[n + i])
        });
        var r = function() {};
        n.removeEventListener ? r = function(e, t, n) {
            e.removeEventListener(t, n, !1)
        } : n.detachEvent && (r = function(e, t, n) {
            e.detachEvent("on" + t, e[t + n]);
            try {
                delete e[t + n]
            } catch (i) {
                e[t + n] = void 0
            }
        });
        var o = {
            bind: i,
            unbind: r
        };
        "function" == typeof define && define.amd ? define("eventie/eventie", o) : e.eventie = o
    }(this),
    function(e, t) {
        "function" == typeof define && define.amd ? define(["eventEmitter/EventEmitter", "eventie/eventie"], function(n, i) {
            return t(e, n, i)
        }) : "object" == typeof exports ? module.exports = t(e, require("eventEmitter"), require("eventie")) : e.imagesLoaded = t(e, e.EventEmitter, e.eventie)
    }(this, function(e, t, n) {
        function i(e, t) {
            for (var n in t) e[n] = t[n];
            return e
        }

        function r(e) {
            return "[object Array]" === d.call(e)
        }

        function o(e) {
            var t = [];
            if (r(e)) t = e;
            else if ("number" == typeof e.length)
                for (var n = 0, i = e.length; i > n; n++) t.push(e[n]);
            else t.push(e);
            return t
        }

        function s(e, t, n) {
            if (!(this instanceof s)) return new s(e, t);
            "string" == typeof e && (e = document.querySelectorAll(e)), this.elements = o(e), this.options = i({}, this.options), "function" == typeof t ? n = t : i(this.options, t), n && this.on("always", n), this.getImages(), a && (this.jqDeferred = new a.Deferred);
            var r = this;
            setTimeout(function() {
                r.check()
            })
        }

        function c(e) {
            this.img = e
        }

        function f(e) {
            this.src = e, v[e] = this
        }
        var a = e.jQuery,
            u = e.console,
            h = u !== void 0,
            d = Object.prototype.toString;
        s.prototype = new t, s.prototype.options = {}, s.prototype.getImages = function() {
            this.images = [];
            for (var e = 0, t = this.elements.length; t > e; e++) {
                var n = this.elements[e];
                "IMG" === n.nodeName && this.addImage(n);
                for (var i = n.querySelectorAll("img"), r = 0, o = i.length; o > r; r++) {
                    var s = i[r];
                    this.addImage(s)
                }
            }
        }, s.prototype.addImage = function(e) {
            var t = new c(e);
            this.images.push(t)
        }, s.prototype.check = function() {
            function e(e, r) {
                return t.options.debug && h && u.log("confirm", e, r), t.progress(e), n++, n === i && t.complete(), !0
            }
            var t = this,
                n = 0,
                i = this.images.length;
            if (this.hasAnyBroken = !1, !i) return this.complete(), void 0;
            for (var r = 0; i > r; r++) {
                var o = this.images[r];
                o.on("confirm", e), o.check()
            }
        }, s.prototype.progress = function(e) {
            this.hasAnyBroken = this.hasAnyBroken || !e.isLoaded;
            var t = this;
            setTimeout(function() {
                t.emit("progress", t, e), t.jqDeferred && t.jqDeferred.notify && t.jqDeferred.notify(t, e)
            })
        }, s.prototype.complete = function() {
            var e = this.hasAnyBroken ? "fail" : "done";
            this.isComplete = !0;
            var t = this;
            setTimeout(function() {
                if (t.emit(e, t), t.emit("always", t), t.jqDeferred) {
                    var n = t.hasAnyBroken ? "reject" : "resolve";
                    t.jqDeferred[n](t)
                }
            })
        }, a && (a.fn.imagesLoaded = function(e, t) {
            var n = new s(this, e, t);
            return n.jqDeferred.promise(a(this))
        }), c.prototype = new t, c.prototype.check = function() {
            var e = v[this.img.src] || new f(this.img.src);
            if (e.isConfirmed) return this.confirm(e.isLoaded, "cached was confirmed"), void 0;
            if (this.img.complete && void 0 !== this.img.naturalWidth) return this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), void 0;
            var t = this;
            e.on("confirm", function(e, n) {
                return t.confirm(e.isLoaded, n), !0
            }), e.check()
        }, c.prototype.confirm = function(e, t) {
            this.isLoaded = e, this.emit("confirm", this, t)
        };
        var v = {};
        return f.prototype = new t, f.prototype.check = function() {
            if (!this.isChecked) {
                var e = new Image;
                n.bind(e, "load", this), n.bind(e, "error", this), e.src = this.src, this.isChecked = !0
            }
        }, f.prototype.handleEvent = function(e) {
            var t = "on" + e.type;
            this[t] && this[t](e)
        }, f.prototype.onload = function(e) {
            this.confirm(!0, "onload"), this.unbindProxyEvents(e)
        }, f.prototype.onerror = function(e) {
            this.confirm(!1, "onerror"), this.unbindProxyEvents(e)
        }, f.prototype.confirm = function(e, t) {
            this.isConfirmed = !0, this.isLoaded = e, this.emit("confirm", this, t)
        }, f.prototype.unbindProxyEvents = function(e) {
            n.unbind(e.target, "load", this), n.unbind(e.target, "error", this)
        }, s
    });
jQuery(document).ready(function($) {
    jQuery.fn.loadImages = function() {
        jQuery('img', this).each(function() {
            $this = jQuery(this);
            if ($this.data('src')) {
                $this.attr('src', $this.data('src'));
            }
        });
        return this;
    }
    $('.full-slider').imagesLoaded(function() {
        if (jQuery('.full-slider').length) {
            jQuery('.full-slider').each(function() {
                var productImgSlider = jQuery(this),
                    productImgSliderContainer = productImgSlider.closest('.full-slider-container'),
                    navContainer = productImgSliderContainer.find('.owl-controls');
                productImgSlider.owlCarousel({
                    items: 3,
                    lazyLoad: true,
                    loop: true,
                    nav: true,
                    merge: true,
                    margin: 30,
                    dots: false,
                    center: true,
                    navText: ['<svg enable-background="new 0 0 100 100" id="Layer_1" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><polygon fill="#fff" points="68,19.1 29.7,49.1 68,79.1 69.2,77.6 32.9,49.1 69.2,20.6 68,19.1 "/></svg>', '<svg enable-background="new 0 0 100 100" id="Layer_1" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><polygon fill="#fff" points="30.4,20.6 66.7,49.1 30.4,77.6 31.6,79.1 69.9,49.1 31.6,19.1 30.4,20.6 "/></svg>'],
                    onInitialize: function() {
                        productImgSliderContainer.loadImages();
                    },
                    onInitialized: function() {
                        productImgSliderContainer.removeClass('loading');
                    },
                    smartSpeed: 800,
                    navRewind: false,
                    navContainer: navContainer,
                    responsive: {
                        0: {
                            items: 1,
                            center: true,
                            merge: false,
                            stagePadding: 0,
                            lazyLoad: true,
                        },
                        550: {
                            items: 2,
                            merge: true,
                            center: true,
                            stagePadding: 0,
                            lazyLoad: true,
                        },
                        800: {
                            items: 2,
                            merge: true,
                            center: false,
                            stagePadding: 0,
                            lazyLoad: true,
                        },
                        1250: {
                            items: 2,
                            center: false,
                            merge: true,
                            stagePadding: 30,
                            lazyLoad: true,
                        }
                    }
                });
            });
        }
    });
});
jQuery(window).load(function() {
    if (jQuery('.widget-slider-bullets').length) {
        jQuery('.widget-slider-bullets').each(function() {
            var widgetSlider = jQuery(this),
                widgetSliderContainer = widgetSlider.closest('.slider-container');
            widgetSlider.owlCarousel({
                items: 1,
                nav: false,
                onInitialized: function() {
                    widgetSliderContainer.removeClass('loading');
                },
                navRewind: false
            });
        });
    }
    if (jQuery('.widget-slider-arrows').length) {
        jQuery('.widget-slider-arrows').each(function() {
            var widgetSlider = jQuery(this),
                widgetSliderContainer = widgetSlider.closest('.slider-container');
            widgetSlider.owlCarousel({
                items: 1,
                nav: true,
                navText: ['<svg enable-background="new 0 0 100 100" id="Layer_1" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><polygon fill="#fff" points="68,19.1 29.7,49.1 68,79.1 69.2,77.6 32.9,49.1 69.2,20.6 68,19.1 "/></svg>', '<svg enable-background="new 0 0 100 100" id="Layer_1" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><polygon fill="#fff" points="30.4,20.6 66.7,49.1 30.4,77.6 31.6,79.1 69.9,49.1 31.6,19.1 30.4,20.6 "/></svg>'],
                dots: false,
                onInitialized: function() {
                    widgetSliderContainer.removeClass('loading');
                },
                navRewind: false
            });
        });
    }
});
jQuery(document).ready(function($) {
    $('#slider').show();
});
                                    

#11 JavaScript::Eval (size: 2507, repeated: 1) - SHA256: 16a15fcc0d3a9d3654efb1b477ca99175e6e97aa6e4b152ee43cfce8915fc3ce

                                        ! function(e, t) {
    "function" == typeof define && define.amd ? define(function() {
        return t(e)
    }) : "object" == typeof exports ? module.exports = t : e.emergence = t(e)
}(this, function(e) {
    "use strict";
    var t, n, o, r, i, c, f, s, u, d, l = {},
        a = function() {},
        h = function() {
            return "querySelectorAll" in document ? !0 : !1
        },
        m = function() {
            return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
        },
        g = function(e) {
            var t = 0,
                n = 0,
                o = e.offsetWidth,
                r = e.offsetHeight;
            do isNaN(e.offsetTop) || (t += e.offsetTop), isNaN(e.offsetLeft) || (n += e.offsetLeft); while (null !== (e = e.offsetParent));
            return {
                top: t,
                left: n,
                width: o,
                height: r
            }
        },
        v = function(t) {
            var n, o;
            return t ? (n = t.clientWidth, o = t.clientHeight) : (n = e.innerWidth || document.documentElement.clientWidth, o = e.innerHeight || document.documentElement.clientHeight), {
                width: n,
                height: o
            }
        },
        p = function(e) {
            return e ? {
                x: e.scrollLeft + g(e).left,
                y: e.scrollTop + g(e).top
            } : {
                x: window.pageXOffset,
                y: window.pageYOffset
            }
        },
        E = function(e) {
            return null === e.offsetParent
        },
        w = function(e) {
            if (E(e)) return !1;
            var t = g(e),
                n = v(),
                o = p(),
                r = t.width,
                i = t.height,
                l = t.top,
                a = t.left,
                h = l + i,
                m = a + r,
                w = function() {
                    var e = l + i * c,
                        t = m - r * c,
                        g = h - i * c,
                        v = a + r * c,
                        p = o.y + f,
                        E = o.x - s + n.width,
                        w = o.y - u + n.height,
                        b = o.x + d;
                    return w > e && g > p && v > b && E > t
                };
            return w()
        },
        b = function() {
            t || (clearTimeout(t), t = setTimeout(function() {
                l.render(), t = null
            }, o))
        };
    return l.init = function(t) {
        t = t || {};
        var g = function(e, t) {
                return parseInt(e || t, 10)
            },
            v = function(e, t) {
                return parseFloat(e || t)
            };
        n = t.container || null, o = g(t.throttle, 250), r = !t.reset, i = !t.handheld, c = v(t.elemCushion, .15), f = g(t.offsetTop, 0), s = g(t.offsetRight, 0), u = g(t.offsetBottom, 0), d = g(t.offsetLeft, 0), a = t.callback || a, h() ? (m() && i || !m()) && (document.documentElement.className += " emergence", l.render(), document.addEventListener ? (e.addEventListener("scroll", b, !1), e.addEventListener("resize", b, !1), e.addEventListener("load", b, !1)) : (e.attachEvent("onscroll", b), e.attachEvent("onresize", b), e.attachEvent("onload", b))) : console.log("emergence.js is not supported in this browser.")
    }, l.render = function() {
        for (var e, t = document.querySelectorAll("[data-emergence]"), n = t.length, o = 0; n > o; o++) e = t[o], w(e) ? (r && e.removeAttribute("data-emergence"), e.setAttribute("data-emergence", "visible"), a(e, "visible")) : r || (e.setAttribute("data-emergence", "hidden"), a(e, "reset"));
        n || l.disengage()
    }, l.disengage = function() {
        console.log("emergence.js found no elements with required data attribute."), document.removeEventListener ? (e.removeEventListener("scroll", b), e.removeEventListener("resize", b)) : (e.detachEvent("onscroll", b), e.detachEvent("onresize", b)), clearTimeout(t)
    }, l
});
                                    

#12 JavaScript::Eval (size: 4616, repeated: 1) - SHA256: 865bb2dc56cbb48e549211edf9a5639bf8e95055e6c5b7e3d92ec5c596595c9d

                                        ! function(o) {
    "object" == typeof module && "object" == typeof module.exports ? o(require("jquery"), window, document) : o(jQuery, window, document)
}(function(o, t, e, i) {
    var s = [],
        l = function() {
            return s.length ? s[s.length - 1] : null
        },
        n = function() {
            var o, t = !1;
            for (o = s.length - 1; o >= 0; o--) s[o].$blocker && (s[o].$blocker.toggleClass("current", !t).toggleClass("behind", t), t = !0)
        };
    o.modal = function(t, e) {
        var i, n;
        if (this.$body = o("body"), this.options = o.extend({}, o.modal.defaults, e), this.options.doFade = !isNaN(parseInt(this.options.fadeDuration, 10)), this.$blocker = null, this.options.closeExisting)
            for (; o.modal.isActive();) o.modal.close();
        if (s.push(this), t.is("a"))
            if (n = t.attr("href"), /^#/.test(n)) {
                if (this.$elm = o(n), 1 !== this.$elm.length) return null;
                this.$body.append(this.$elm), this.open()
            } else this.$elm = o("<div>"), this.$body.append(this.$elm), i = function(o, t) {
                t.elm.remove()
            }, this.showSpinner(), t.trigger(o.modal.AJAX_SEND), o.get(n).done(function(e) {
                if (o.modal.isActive()) {
                    t.trigger(o.modal.AJAX_SUCCESS);
                    var s = l();
                    s.$elm.empty().append(e).on(o.modal.CLOSE, i), s.hideSpinner(), s.open(), t.trigger(o.modal.AJAX_COMPLETE)
                }
            }).fail(function() {
                t.trigger(o.modal.AJAX_FAIL);
                var e = l();
                e.hideSpinner(), s.pop(), t.trigger(o.modal.AJAX_COMPLETE)
            });
        else this.$elm = t, this.$body.append(this.$elm), this.open()
    }, o.modal.prototype = {
        constructor: o.modal,
        open: function() {
            var t = this;
            this.block(), this.options.doFade ? setTimeout(function() {
                t.show()
            }, this.options.fadeDuration * this.options.fadeDelay) : this.show(), o(e).off("keydown.modal").on("keydown.modal", function(o) {
                var t = l();
                27 == o.which && t.options.escapeClose && t.close()
            }), this.options.clickClose && this.$blocker.click(function(t) {
                t.target == this && o.modal.close()
            })
        },
        close: function() {
            s.pop(), this.unblock(), this.hide(), o.modal.isActive() || o(e).off("keydown.modal")
        },
        block: function() {
            this.$elm.trigger(o.modal.BEFORE_BLOCK, [this._ctx()]), this.$body.css("overflow", "hidden"), this.$blocker = o('<div class="jquery-modal blocker current"></div>').appendTo(this.$body), n(), this.options.doFade && this.$blocker.css("opacity", 0).animate({
                opacity: 1
            }, this.options.fadeDuration), this.$elm.trigger(o.modal.BLOCK, [this._ctx()])
        },
        unblock: function(t) {
            !t && this.options.doFade ? this.$blocker.fadeOut(this.options.fadeDuration, this.unblock.bind(this, !0)) : (this.$blocker.children().appendTo(this.$body), this.$blocker.remove(), this.$blocker = null, n(), o.modal.isActive() || this.$body.css("overflow", ""))
        },
        show: function() {
            this.$elm.trigger(o.modal.BEFORE_OPEN, [this._ctx()]), this.options.showClose && (this.closeButton = o('<a href="#close-modal" rel="modal:close" class="close-modal ' + this.options.closeClass + '">' + this.options.closeText + "</a>"), this.$elm.append(this.closeButton)), this.$elm.addClass(this.options.modalClass).appendTo(this.$blocker), this.options.doFade ? this.$elm.css("opacity", 0).show().animate({
                opacity: 1
            }, this.options.fadeDuration) : this.$elm.show(), this.$elm.trigger(o.modal.OPEN, [this._ctx()])
        },
        hide: function() {
            this.$elm.trigger(o.modal.BEFORE_CLOSE, [this._ctx()]), this.closeButton && this.closeButton.remove();
            var t = this;
            this.options.doFade ? this.$elm.fadeOut(this.options.fadeDuration, function() {
                t.$elm.trigger(o.modal.AFTER_CLOSE, [t._ctx()])
            }) : this.$elm.hide(0, function() {
                t.$elm.trigger(o.modal.AFTER_CLOSE, [t._ctx()])
            }), this.$elm.trigger(o.modal.CLOSE, [this._ctx()])
        },
        showSpinner: function() {
            this.options.showSpinner && (this.spinner = this.spinner || o('<div class="' + this.options.modalClass + '-spinner"></div>').append(this.options.spinnerHtml), this.$body.append(this.spinner), this.spinner.show())
        },
        hideSpinner: function() {
            this.spinner && this.spinner.remove()
        },
        _ctx: function() {
            return {
                elm: this.$elm,
                $blocker: this.$blocker,
                options: this.options
            }
        }
    }, o.modal.close = function(t) {
        if (o.modal.isActive()) {
            t && t.preventDefault();
            var e = l();
            return e.close(), e.$elm
        }
    }, o.modal.isActive = function() {
        return s.length > 0
    }, o.modal.getCurrent = l, o.modal.defaults = {
        closeExisting: !0,
        escapeClose: !0,
        clickClose: !0,
        closeText: "Close",
        closeClass: "",
        modalClass: "modal",
        spinnerHtml: null,
        showSpinner: !0,
        showClose: !0,
        fadeDuration: null,
        fadeDelay: 1
    }, o.modal.BEFORE_BLOCK = "modal:before-block", o.modal.BLOCK = "modal:block", o.modal.BEFORE_OPEN = "modal:before-open", o.modal.OPEN = "modal:open", o.modal.BEFORE_CLOSE = "modal:before-close", o.modal.CLOSE = "modal:close", o.modal.AFTER_CLOSE = "modal:after-close", o.modal.AJAX_SEND = "modal:ajax:send", o.modal.AJAX_SUCCESS = "modal:ajax:success", o.modal.AJAX_FAIL = "modal:ajax:fail", o.modal.AJAX_COMPLETE = "modal:ajax:complete", o.fn.modal = function(t) {
        return 1 === this.length && new o.modal(this, t), this
    }, o(e).on("click.modal", 'a[rel~="modal:close"]', o.modal.close), o(e).on("click.modal", 'a[rel~="modal:open"]', function(t) {
        t.preventDefault(), o(this).modal()
    })
});
                                    

#13 JavaScript::Eval (size: 42860, repeated: 1) - SHA256: a30443dd1a0e585e7ac09e1a4a6c6caa510deb22cc0eae93f99be19757dc75b7

                                        ! function(t, e, n, o) {
    "use strict";

    function s(t) {
        var e = t.currentTarget,
            o = t.data ? t.data.options : {},
            s = t.data ? t.data.items : [],
            i = "",
            a = 0;
        t.preventDefault(), t.stopPropagation(), n(e).attr("data-fancybox") && (i = n(e).data("fancybox")), i ? (s = s.length ? s.filter('[data-fancybox="' + i + '"]') : n("[data-fancybox=" + i + "]"), a = s.index(e)) : s = [e], n.fancybox.open(s, o, a)
    }
    if (!n) return o;
    var i = {
            speed: 330,
            loop: !0,
            opacity: "auto",
            margin: [44, 0],
            gutter: 30,
            infobar: !0,
            buttons: !0,
            slideShow: !0,
            fullScreen: !0,
            thumbs: !0,
            closeBtn: !0,
            smallBtn: "auto",
            image: {
                preload: "auto",
                protect: !1
            },
            ajax: {
                settings: {
                    data: {
                        fancybox: !0
                    }
                }
            },
            iframe: {
                tpl: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" src=""></iframe>',
                preload: !0,
                scrolling: "no",
                css: {}
            },
            baseClass: "",
            slideClass: "",
            baseTpl: '<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-controls"><div class="fancybox-infobar"><button data-fancybox-previous class="fancybox-button fancybox-button--left" title="Previous"></button><div class="fancybox-infobar__body"><span class="js-fancybox-index"></span>&nbsp;/&nbsp;<span class="js-fancybox-count"></span></div><button data-fancybox-next class="fancybox-button fancybox-button--right" title="Next"></button></div><div class="fancybox-buttons"><button data-fancybox-close class="fancybox-button fancybox-button--close" title="Close (Esc)"></button></div></div><div class="fancybox-slider-wrap"><div class="fancybox-slider"></div></div><div class="fancybox-caption-wrap"><div class="fancybox-caption"></div></div></div>',
            spinnerTpl: '<div class="fancybox-loading"></div>',
            errorTpl: '<div class="fancybox-error"><p>The requested content cannot be loaded. <br /> Please try again later.<p></div>',
            closeTpl: '<button data-fancybox-close class="fancybox-close-small">�</button>',
            parentEl: "body",
            touch: !0,
            keyboard: !0,
            focus: !0,
            closeClickOutside: !0,
            beforeLoad: n.noop,
            afterLoad: n.noop,
            beforeMove: n.noop,
            afterMove: n.noop,
            onComplete: n.noop,
            onInit: n.noop,
            beforeClose: n.noop,
            afterClose: n.noop,
            onActivate: n.noop,
            onDeactivate: n.noop
        },
        a = n(t),
        r = n(e),
        c = 0,
        l = function(t) {
            return t && t.hasOwnProperty && t instanceof n
        },
        u = function() {
            return t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || function(e) {
                t.setTimeout(e, 1e3 / 60)
            }
        }(),
        d = function(o) {
            var s;
            return "function" == typeof n && o instanceof n && (o = o[0]), s = o.getBoundingClientRect(), s.bottom > 0 && s.right > 0 && s.left < (t.innerWidth || e.documentElement.clientWidth) && s.top < (t.innerHeight || e.documentElement.clientHeight)
        },
        p = function(t, o, s) {
            var a = this;
            a.opts = n.extend(!0, {
                index: s
            }, i, o || {}), a.id = a.opts.id || ++c, a.group = [], a.currIndex = parseInt(a.opts.index, 10) || 0, a.prevIndex = null, a.prevPos = null, a.currPos = 0, a.firstRun = null, a.createGroup(t), a.group.length && (a.$lastFocus = n(e.activeElement).blur(), a.elems = {}, a.slides = {}, a.init(t))
        };
    n.extend(p.prototype, {
        init: function() {
            var t, e, o = this;
            o.scrollTop = a.scrollTop(), o.scrollLeft = a.scrollLeft(), n.fancybox.isTouch || n("html").hasClass("fancybox-enabled") || (t = n("body").width(), n("html").addClass("fancybox-enabled"), t = n("body").width() - t, t > 1 && n('<style id="fancybox-noscroll" type="text/css">').html(".compensate-for-scrollbar, .fancybox-enabled body { margin-right: " + t + "px; }").appendTo("head")), e = n(o.opts.baseTpl).attr("id", "fancybox-container-" + o.id).data("FancyBox", o).addClass(o.opts.baseClass).hide().prependTo(o.opts.parentEl), o.$refs = {
                container: e,
                bg: e.find(".fancybox-bg"),
                controls: e.find(".fancybox-controls"),
                buttons: e.find(".fancybox-buttons"),
                slider_wrap: e.find(".fancybox-slider-wrap"),
                slider: e.find(".fancybox-slider"),
                caption: e.find(".fancybox-caption")
            }, o.trigger("onInit"), o.activate(), o.current || o.jumpTo(o.currIndex)
        },
        createGroup: function(t) {
            var e = this,
                s = n.makeArray(t);
            n.each(s, function(t, s) {
                var i, a, r, c, l = {},
                    u = {},
                    d = [];
                n.isPlainObject(s) ? (l = s, u = s.opts || {}) : "object" === n.type(s) && n(s).length ? (i = n(s), d = i.data(), u = "options" in d ? d.options : {}, u = "object" === n.type(u) ? u : {}, l.type = "type" in d ? d.type : u.type, l.src = "src" in d ? d.src : u.src || i.attr("href"), u.width = "width" in d ? d.width : u.width, u.height = "height" in d ? d.height : u.height, u.thumb = "thumb" in d ? d.thumb : u.thumb, u.selector = "selector" in d ? d.selector : u.selector, "srcset" in d && (u.image = {
                    srcset: d.srcset
                }), u.$orig = i) : l = {
                    type: "html",
                    content: s + ""
                }, l.opts = n.extend(!0, {}, e.opts, u), a = l.type, r = l.src || "", a || (l.content ? a = "html" : r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i) ? a = "image" : r.match(/\.(pdf)((\?|#).*)?$/i) ? a = "pdf" : "#" === r.charAt(0) && (a = "inline"), l.type = a), l.index = e.group.length, l.opts.$orig && !l.opts.$orig.length && delete l.opts.$orig, !l.opts.$thumb && l.opts.$orig && (l.opts.$thumb = l.opts.$orig.find("img:first")), l.opts.$thumb && !l.opts.$thumb.length && delete l.opts.$thumb, "function" === n.type(l.opts.caption) ? l.opts.caption = l.opts.caption.apply(s, [e, l]) : "caption" in d ? l.opts.caption = d.caption : u.$orig && (l.opts.caption = i.attr("title")), l.opts.caption = l.opts.caption === o ? "" : l.opts.caption + "", "ajax" === a && (c = r.split(/\s+/, 2), c.length > 1 && (l.src = c.shift(), l.opts.selector = c.shift())), "auto" == l.opts.smallBtn && (n.inArray(a, ["html", "inline", "ajax"]) > -1 ? (l.opts.buttons = !1, l.opts.smallBtn = !0) : l.opts.smallBtn = !1), "pdf" === a && (l.type = "iframe", l.opts.closeBtn = !0, l.opts.smallBtn = !1, l.opts.iframe.preload = !1), l.opts.modal && n.extend(!0, l.opts, {
                    infobar: 0,
                    buttons: 0,
                    keyboard: 0,
                    slideShow: 0,
                    fullScreen: 0,
                    closeClickOutside: 0
                }), e.group.push(l)
            })
        },
        addEvents: function() {
            var o = this,
                s = function() {
                    a.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft), o.$refs.slider_wrap.show(), o.update()
                };
            o.removeEvents(), o.$refs.container.on("click.fb-close", "[data-fancybox-close]", function(t) {
                t.stopPropagation(), t.preventDefault(), o.close(t)
            }).on("click.fb-previous", "[data-fancybox-previous]", function(t) {
                t.stopPropagation(), t.preventDefault(), o.previous()
            }).on("click.fb-next", "[data-fancybox-next]", function(t) {
                t.stopPropagation(), t.preventDefault(), o.next()
            }), n(t).on("orientationchange.fb resize.fb", function(t) {
                u(function() {
                    t && t.originalEvent && "orientationchange" == t.originalEvent.type ? (o.$refs.slider_wrap.hide(), u(s)) : s()
                })
            }), r.on("focusin.fb", function(t) {
                var e;
                n.fancybox && (e = n.fancybox.getInstance(), !e || n(t.target).hasClass("fancybox-container") || n.contains(e.$refs.container[0], t.target) || (t.stopPropagation(), e.focus()))
            }), n(e).on("keydown.fb", function(t) {
                var e = o.current,
                    s = t.keyCode || t.which;
                if (e && e.opts.keyboard && !n(t.target).is("input") && !n(t.target).is("textarea")) {
                    if (8 === s || 27 === s) return t.preventDefault(), void o.close();
                    switch (s) {
                        case 37:
                        case 38:
                            t.preventDefault(), o.previous();
                            break;
                        case 39:
                        case 40:
                            t.preventDefault(), o.next();
                            break;
                        case 80:
                        case 32:
                            t.preventDefault(), o.SlideShow && (t.preventDefault(), o.SlideShow.toggle());
                            break;
                        case 70:
                            o.FullScreen && (t.preventDefault(), o.FullScreen.toggle());
                            break;
                        case 71:
                            o.Thumbs && (t.preventDefault(), o.Thumbs.toggle())
                    }
                }
            })
        },
        removeEvents: function() {
            a.off("scroll.fb resize.fb orientationchange.fb"), r.off("keydown.fb focusin.fb click.fb-close"), this.$refs.container.off("click.fb-close click.fb-previous click.fb-next")
        },
        previous: function(t) {
            this.jumpTo(this.currIndex - 1, t)
        },
        next: function(t) {
            this.jumpTo(this.currIndex + 1, t)
        },
        jumpTo: function(t, e) {
            var n, s, i, a, r = this;
            if (n = r.firstRun = null === r.firstRun, s = i = t = parseInt(t, 10), a = !!r.current && r.current.opts.loop, !r.isAnimating && (s != r.currIndex || n)) {
                if (r.group.length > 1 && a) s %= r.group.length, s = s < 0 ? r.group.length + s : s, 2 == r.group.length ? i = t - r.currIndex + r.currPos : (i = s - r.currIndex + r.currPos, Math.abs(r.currPos - (i + r.group.length)) < Math.abs(r.currPos - i) ? i += r.group.length : Math.abs(r.currPos - (i - r.group.length)) < Math.abs(r.currPos - i) && (i -= r.group.length));
                else if (!r.group[s]) return void r.update(!1, !1, e);
                r.current && (r.current.$slide.removeClass("fancybox-slide--current fancybox-slide--complete"), r.updateSlide(r.current, !0)), r.prevIndex = r.currIndex, r.prevPos = r.currPos, r.currIndex = s, r.currPos = i, r.current = r.createSlide(i), r.group.length > 1 && ((r.opts.loop || i - 1 >= 0) && r.createSlide(i - 1), (r.opts.loop || i + 1 < r.group.length) && r.createSlide(i + 1)), r.current.isMoved = !1, r.current.isComplete = !1, e = parseInt(e === o ? 1.5 * r.current.opts.speed : e, 10), r.trigger("beforeMove"), r.updateControls(), n && (r.current.$slide.addClass("fancybox-slide--current"), r.$refs.container.show(), u(function() {
                    r.$refs.bg.css("transition-duration", r.current.opts.speed + "ms"), r.$refs.container.addClass("fancybox-container--ready")
                })), r.update(!0, !1, n ? 0 : e, function() {
                    r.afterMove()
                }), r.loadSlide(r.current), n && r.current.$ghost || r.preload()
            }
        },
        createSlide: function(t) {
            var e, o, s, i = this;
            if (o = t % i.group.length, o = o < 0 ? i.group.length + o : o, !i.slides[t] && i.group[o]) {
                if (i.opts.loop && i.group.length > 2)
                    for (var a in i.slides)
                        if (i.slides[a].index === o) return s = i.slides[a], s.pos = t, i.slides[t] = s, delete i.slides[a], i.updateSlide(s), s;
                e = n('<div class="fancybox-slide"></div>').appendTo(i.$refs.slider), i.slides[t] = n.extend(!0, {}, i.group[o], {
                    pos: t,
                    $slide: e,
                    isMoved: !1,
                    isLoaded: !1
                })
            }
            return i.slides[t]
        },
        zoomInOut: function(t, e, o) {
            var s, i, a, r = this,
                c = r.current,
                l = c.$placeholder,
                p = c.opts.opacity,
                h = c.opts.$thumb,
                f = h ? h.offset() : 0,
                g = c.$slide.offset();
            return !!(l && c.isMoved && f && d(h)) && (!("In" === t && !r.firstRun) && (n.fancybox.stop(l), r.isAnimating = !0, s = {
                top: f.top - g.top + parseFloat(h.css("border-top-width") || 0),
                left: f.left - g.left + parseFloat(h.css("border-left-width") || 0),
                width: h.width(),
                height: h.height(),
                scaleX: 1,
                scaleY: 1
            }, "auto" == p && (p = Math.abs(c.width / c.height - s.width / s.height) > .1), "In" === t ? (i = s, a = r.getFitPos(c), a.scaleX = a.width / i.width, a.scaleY = a.height / i.height, p && (i.opacity = .1, a.opacity = 1)) : (i = n.fancybox.getTranslate(l), a = s, c.$ghost && (c.$ghost.show(), c.$image && c.$image.remove()), i.scaleX = i.width / a.width, i.scaleY = i.height / a.height, i.width = a.width, i.height = a.height, p && (a.opacity = 0)), r.updateCursor(a.width, a.height), delete a.width, delete a.height, n.fancybox.setTranslate(l, i), l.show(), r.trigger("beforeZoom" + t), u(function() {
                l.css("transition", "all " + e + "ms"), n.fancybox.setTranslate(l, a), setTimeout(function() {
                    u(function() {
                        var e;
                        l.css("transition", "none"), e = n.fancybox.getTranslate(l), e.scaleX = 1, e.scaleY = 1, n.fancybox.setTranslate(l, e), r.trigger("afterZoom" + t), o.apply(r), r.isAnimating = !1
                    })
                }, e)
            }), !0))
        },
        canPan: function() {
            var t = this,
                e = t.current,
                n = e.$placeholder,
                o = !1;
            return n && (o = t.getFitPos(e), o = Math.abs(n.width() - o.width) > 1 || Math.abs(n.height() - o.height) > 1), o
        },
        isScaledDown: function() {
            var t = this,
                e = t.current,
                o = e.$placeholder,
                s = !1;
            return o && (s = n.fancybox.getTranslate(o), s = s.width < e.width || s.height < e.height), s
        },
        scaleToActual: function(t, e, s) {
            var i, a, r, c, l, u = this,
                d = u.current,
                p = d.$placeholder,
                h = parseInt(d.$slide.width(), 10),
                f = parseInt(d.$slide.height(), 10),
                g = d.width,
                b = d.height;
            p && (u.isAnimating = !0, t = t === o ? .5 * h : t, e = e === o ? .5 * f : e, i = n.fancybox.getTranslate(p), c = g / i.width, l = b / i.height, a = .5 * h - .5 * g, r = .5 * f - .5 * b, g > h && (a = i.left * c - (t * c - t), a > 0 && (a = 0), a < h - g && (a = h - g)), b > f && (r = i.top * l - (e * l - e), r > 0 && (r = 0), r < f - b && (r = f - b)), u.updateCursor(g, b), n.fancybox.animate(p, null, {
                top: r,
                left: a,
                scaleX: c,
                scaleY: l
            }, s || d.opts.speed, function() {
                u.isAnimating = !1
            }))
        },
        scaleToFit: function(t) {
            var e, o = this,
                s = o.current,
                i = s.$placeholder;
            i && (o.isAnimating = !0, e = o.getFitPos(s), o.updateCursor(e.width, e.height), n.fancybox.animate(i, null, {
                top: e.top,
                left: e.left,
                scaleX: e.width / i.width(),
                scaleY: e.height / i.height()
            }, t || s.opts.speed, function() {
                o.isAnimating = !1
            }))
        },
        getFitPos: function(t) {
            var e, o, s, i, r, c, l, u = t.$placeholder || t.$content,
                d = t.width,
                p = t.height,
                h = t.opts.margin;
            return !(!u || !u.length || !d && !p) && ("number" === n.type(h) && (h = [h, h]), 2 == h.length && (h = [h[0], h[1], h[0], h[1]]), a.width() < 800 && (h = [0, 0, 0, 0]), e = parseInt(t.$slide.width(), 10) - (h[1] + h[3]), o = parseInt(t.$slide.height(), 10) - (h[0] + h[2]), s = Math.min(1, e / d, o / p), c = Math.floor(s * d), l = Math.floor(s * p), i = Math.floor(.5 * (o - l)) + h[0], r = Math.floor(.5 * (e - c)) + h[3], {
                top: i,
                left: r,
                width: c,
                height: l
            })
        },
        update: function(t, e, o, s) {
            var i = this,
                a = i.current.pos * Math.floor(i.current.$slide.width()) * -1 - i.current.pos * i.current.opts.gutter;
            i.isAnimating !== !0 && (o = parseInt(o, 10) || 0, n.fancybox.stop(i.$refs.slider), t === !1 ? i.updateSlide(i.current, e) : n.each(i.slides, function(t, n) {
                i.updateSlide(n, e)
            }), o ? n.fancybox.animate(i.$refs.slider, null, {
                top: 0,
                left: a
            }, o, function() {
                i.current.isMoved = !0, "function" === n.type(s) && s.apply(i)
            }) : (n.fancybox.setTranslate(i.$refs.slider, {
                top: 0,
                left: a
            }), i.current.isMoved = !0, "function" === n.type(s) && s.apply(i)))
        },
        updateSlide: function(t, e) {
            var o, s = this,
                i = t.$placeholder;
            t = t || s.current, t && !s.isClosing && (o = t.pos * Math.floor(t.$slide.width()) + t.pos * t.opts.gutter, o !== t.leftPos && (n.fancybox.setTranslate(t.$slide, {
                top: 0,
                left: o
            }), t.leftPos = o), e !== !1 && i && (n.fancybox.setTranslate(i, s.getFitPos(t)), t.pos === s.currPos && s.updateCursor()), t.$slide.trigger("refresh"), s.trigger("onUpdate", t))
        },
        updateCursor: function(t, e) {
            var n, s = this,
                i = s.$refs.container.removeClass("fancybox-controls--canzoomIn fancybox-controls--canzoomOut fancybox-controls--canGrab");
            !s.isClosing && s.opts.touch && (n = t !== o && e !== o ? t < s.current.width && e < s.current.height : s.isScaledDown(), n ? i.addClass("fancybox-controls--canzoomIn") : s.group.length < 2 ? i.addClass("fancybox-controls--canzoomOut") : i.addClass("fancybox-controls--canGrab"))
        },
        loadSlide: function(t) {
            var e, o, s, i = this;
            if (t && !t.isLoaded && !t.isLoading) {
                switch (t.isLoading = !0, i.trigger("beforeLoad", t), e = t.type, o = t.$slide, o.off("refresh").trigger("onReset").addClass("fancybox-slide--" + (e || "unknown")).addClass(t.opts.slideClass), e) {
                    case "image":
                        i.setImage(t);
                        break;
                    case "iframe":
                        i.setIframe(t);
                        break;
                    case "html":
                        i.setContent(t, t.content);
                        break;
                    case "inline":
                        n(t.src).length ? i.setContent(t, n(t.src)) : i.setError(t);
                        break;
                    case "ajax":
                        i.showLoading(t), s = n.ajax(n.extend({}, t.opts.ajax.settings, {
                            url: t.src,
                            success: function(e, n) {
                                "success" === n && i.setContent(t, e)
                            },
                            error: function(e, n) {
                                e && "abort" !== n && i.setError(t)
                            }
                        })), o.one("onReset", function() {
                            s.abort()
                        });
                        break;
                    default:
                        i.setError(t)
                }
                return !0
            }
        },
        setImage: function(e) {
            var o, s, i, a, r = this,
                c = e.opts.image.srcset;
            if (e.isLoaded && !e.hasError) return void r.afterLoad(e);
            if (c) {
                i = t.devicePixelRatio || 1, a = t.innerWidth * i, s = c.split(",").map(function(t) {
                    var e = {};
                    return t.trim().split(/\s+/).forEach(function(t, n) {
                        var o = parseInt(t.substring(0, t.length - 1), 10);
                        return 0 === n ? e.url = t : void(o && (e.value = o, e.postfix = t[t.length - 1]))
                    }), e
                }), s.sort(function(t, e) {
                    return t.value - e.value
                });
                for (var l = 0; l < s.length; l++) {
                    var u = s[l];
                    if ("w" === u.postfix && u.value >= a || "x" === u.postfix && u.value >= i) {
                        o = u;
                        break
                    }
                }!o && s.length && (o = s[s.length - 1]), o && (e.src = o.url, e.width && e.height && "w" == o.postfix && (e.height = e.width / e.height * o.value, e.width = o.value))
            }
            e.$placeholder = n('<div class="fancybox-placeholder"></div>').hide().appendTo(e.$slide), e.opts.preload !== !1 && e.opts.width && e.opts.height && (e.opts.thumb || e.opts.$thumb) ? (e.width = e.opts.width, e.height = e.opts.height, e.$ghost = n("<img />").one("load error", function() {
                r.isClosing || (n("<img/>")[0].src = e.src, r.revealImage(e, function() {
                    r.setBigImage(e), r.firstRun && e.index === r.currIndex && r.preload()
                }))
            }).addClass("fancybox-image").appendTo(e.$placeholder).attr("src", e.opts.thumb || e.opts.$thumb.attr("src"))) : r.setBigImage(e)
        },
        setBigImage: function(t) {
            var e = this,
                o = n("<img />");
            t.$image = o.one("error", function() {
                e.setError(t)
            }).one("load", function() {
                clearTimeout(t.timouts), t.timouts = null, e.isClosing || (t.width = this.naturalWidth, t.height = this.naturalHeight, t.opts.image.srcset && o.attr("sizes", "100vw").attr("srcset", t.opts.image.srcset), e.afterLoad(t), t.$ghost && (t.timouts = setTimeout(function() {
                    t.$ghost.hide()
                }, 350)))
            }).addClass("fancybox-image").attr("src", t.src).appendTo(t.$placeholder), o[0].complete ? o.trigger("load") : o[0].error ? o.trigger("error") : t.timouts = setTimeout(function() {
                o[0].complete || t.hasError || e.showLoading(t)
            }, 150), t.opts.image.protect && n('<div class="fancybox-spaceball"></div>').appendTo(t.$placeholder).on("contextmenu.fb", function(t) {
                return 2 == t.button && t.preventDefault(), !0
            })
        },
        revealImage: function(t, e) {
            var o = this;
            return e = e || n.noop, "image" !== t.type || t.hasError || t.isRevealed === !0 ? void e.apply(o) : (t.isRevealed = !0, void(t.pos === o.currPos && o.zoomInOut("In", t.opts.speed, e) || (t.$ghost && !t.isLoaded && o.updateSlide(t, !0), t.pos === o.currPos ? n.fancybox.animate(t.$placeholder, {
                opacity: 0
            }, {
                opacity: 1
            }, 300, e) : t.$placeholder.show(), e.apply(o))))
        },
        setIframe: function(t) {
            var e, s = this,
                i = t.opts.iframe,
                a = t.$slide;
            t.$content = n('<div class="fancybox-content"></div>').css(i.css).appendTo(a), e = n(i.tpl.replace(/\{rnd\}/g, (new Date).getTime())).attr("scrolling", n.fancybox.isTouch ? "auto" : i.scrolling).appendTo(t.$content), i.preload ? (t.$content.addClass("fancybox-tmp"), s.showLoading(t), e.on("load.fb error.fb", function(e) {
                this.isReady = 1, t.$slide.trigger("refresh"), s.afterLoad(t)
            }), a.on("refresh.fb", function() {
                var n, s, a, r, c, l = t.$content;
                if (1 === e[0].isReady) {
                    try {
                        n = e.contents(), s = n.find("body")
                    } catch (t) {}
                    s && s.length && (i.css.width === o || i.css.height === o) && (a = e[0].contentWindow.document.documentElement.scrollWidth, r = Math.ceil(s.outerWidth(!0) + (l.width() - a)), c = Math.ceil(s.outerHeight(!0)), l.css({
                        width: i.css.width === o ? r + (l.outerWidth() - l.innerWidth()) : i.css.width,
                        height: i.css.height === o ? c + (l.outerHeight() - l.innerHeight()) : i.css.height
                    })), l.removeClass("fancybox-tmp")
                }
            })) : this.afterLoad(t), e.attr("src", t.src), t.opts.smallBtn && t.$content.prepend(t.opts.closeTpl), a.one("onReset", function() {
                try {
                    n(this).find("iframe").hide().attr("src", "//about:blank")
                } catch (t) {}
                n(this).empty(), t.isLoaded = !1
            })
        },
        setContent: function(t, e) {
            var o = this;
            o.isClosing || (o.hideLoading(t), t.$slide.empty(), l(e) && e.parent().length ? (e.data("placeholder") && e.parents(".fancybox-slide").trigger("onReset"), e.data({
                placeholder: n("<div></div>").hide().insertAfter(e)
            }).css("display", "inline-block")) : ("string" === n.type(e) && (e = n("<div>").append(e).contents(), 3 === e[0].nodeType && (e = n("<div>").html(e))), t.opts.selector && (e = n("<div>").html(e).find(t.opts.selector))), t.$slide.one("onReset", function() {
                var o = l(e) ? e.data("placeholder") : 0;
                o && (e.hide().replaceAll(o), e.data("placeholder", null)), t.hasError || (n(this).empty(), t.isLoaded = !1)
            }), t.$content = n(e).appendTo(t.$slide), t.opts.smallBtn === !0 && t.$content.find(".fancybox-close-small").remove().end().eq(0).append(t.opts.closeTpl), this.afterLoad(t))
        },
        setError: function(t) {
            t.hasError = !0, this.setContent(t, t.opts.errorTpl)
        },
        showLoading: function(t) {
            var e = this;
            t = t || e.current, t && !t.$spinner && (t.$spinner = n(e.opts.spinnerTpl).appendTo(t.$slide))
        },
        hideLoading: function(t) {
            var e = this;
            t = t || e.current, t && t.$spinner && (t.$spinner.remove(), delete t.$spinner)
        },
        afterMove: function() {
            var t = this,
                e = t.current,
                o = {};
            e && (e.$slide.siblings().trigger("onReset"), n.each(t.slides, function(e, n) {
                n.pos >= t.currPos - 1 && n.pos <= t.currPos + 1 ? o[n.pos] = n : n && n.$slide.remove()
            }), t.slides = o, t.trigger("afterMove"), e.isLoaded && t.complete())
        },
        afterLoad: function(t) {
            var e = this;
            e.isClosing || (t.isLoading = !1, t.isLoaded = !0, e.trigger("afterLoad", t), e.hideLoading(t), t.$ghost || e.updateSlide(t, !0), t.index === e.currIndex && t.isMoved ? e.complete() : t.$ghost || e.revealImage(t))
        },
        complete: function() {
            var t = this,
                e = t.current;
            t.revealImage(e, function() {
                e.isComplete = !0, e.$slide.addClass("fancybox-slide--complete"), t.updateCursor(), t.trigger("onComplete"), !e.opts.focus || "image" !== e.type && "iframe" !== e.type || t.focus()
            })
        },
        preload: function() {
            var t, e, n = this;
            n.group.length < 2 || (t = n.slides[n.currPos + 1], e = n.slides[n.currPos - 1], t && "image" === t.type && n.loadSlide(t), e && "image" === e.type && n.loadSlide(e))
        },
        focus: function() {
            var t, e = this.current;
            t = e && e.isComplete ? e.$slide.find('button,:input,[tabindex],a:not(".disabled")').filter(":visible:first") : null, t && t.length || (t = this.$refs.container), t.focus(), this.$refs.slider_wrap.scrollLeft(0), e && e.$slide.scrollTop(0)
        },
        activate: function() {
            var t = this;
            n(".fancybox-container").each(function() {
                var e = n(this).data("FancyBox");
                e && e.uid !== t.uid && !e.isClosing && e.trigger("onDeactivate")
            }), t.current && (t.$refs.container.index() > 0 && t.$refs.container.prependTo(e.body), t.updateControls()), t.trigger("onActivate"), t.addEvents()
        },
        close: function(t) {
            var e = this,
                o = e.current,
                s = o.opts.speed,
                i = n.proxy(function() {
                    e.cleanUp(t)
                }, this);
            return !e.isAnimating && !e.isClosing && (e.isClosing = !0, o.timouts && clearTimeout(o.timouts), t !== !0 && n.fancybox.stop(e.$refs.slider), e.$refs.container.removeClass("fancybox-container--active").addClass("fancybox-container--closing"), o.$slide.removeClass("fancybox-slide--complete").siblings().remove(), o.isMoved || o.$slide.css("overflow", "visible"), e.removeEvents(), e.hideLoading(o), e.hideControls(), e.updateCursor(), e.trigger("beforeClose", o, t), e.$refs.bg.css("transition-duration", s + "ms"), this.$refs.container.removeClass("fancybox-container--ready"), void(t === !0 ? setTimeout(i, s) : e.zoomInOut("Out", s, i) || n.fancybox.animate(e.$refs.container, null, {
                opacity: 0
            }, s, "easeInSine", i)))
        },
        cleanUp: function(t) {
            var e, o = this;
            o.$refs.slider.children().trigger("onReset"), o.$refs.container.empty().remove(), o.current = null, o.trigger("afterClose", t), e = n.fancybox.getInstance(), e ? e.activate() : (n("html").removeClass("fancybox-enabled"), n("#fancybox-noscroll").remove()), o.$lastFocus && o.$lastFocus.focus(), a.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft)
        },
        trigger: function(t, e) {
            var o = Array.prototype.slice.call(arguments, 1),
                s = this,
                i = e && e.opts ? e : s.current;
            i ? o.unshift(i) : i = s, o.unshift(s), n.isFunction(i.opts[t]) && i.opts[t].apply(i, o), s.$refs.container.trigger(t + ".fb", o)
        },
        toggleControls: function(t) {
            this.isHiddenControls ? this.updateControls(t) : this.hideControls()
        },
        hideControls: function() {
            this.isHiddenControls = !0, this.$refs.container.removeClass("fancybox-show-controls"), this.$refs.container.removeClass("fancybox-show-caption")
        },
        updateControls: function(t) {
            var e = this,
                o = e.$refs.container,
                s = e.$refs.caption,
                i = e.current,
                a = i.index,
                r = i.opts,
                c = r.caption;
            this.isHiddenControls && t !== !0 || (this.isHiddenControls = !1, e.$refs.container.addClass("fancybox-show-controls"), o.toggleClass("fancybox-show-infobar", !!r.infobar && e.group.length > 1).toggleClass("fancybox-show-buttons", !!r.buttons).toggleClass("fancybox-is-modal", !!r.modal), n(".fancybox-button--left", o).toggleClass("fancybox-button--disabled", !r.loop && a <= 0), n(".fancybox-button--right", o).toggleClass("fancybox-button--disabled", !r.loop && a >= e.group.length - 1), n(".fancybox-button--play", o).toggle(!!(r.slideShow && e.group.length > 1)), n(".fancybox-button--close", o).toggle(!!r.closeBtn), n(".js-fancybox-count", o).html(e.group.length), n(".js-fancybox-index", o).html(a + 1), i.$slide.trigger("refresh"), s && s.empty(), c && c.length ? (s.html(c), this.$refs.container.addClass("fancybox-show-caption "), e.$caption = s) : this.$refs.container.removeClass("fancybox-show-caption"))
        }
    }), n.fancybox = {
        version: "3.0.30",
        defaults: i,
        getInstance: function(t) {
            var e = n('.fancybox-container:not(".fancybox-container--closing"):first').data("FancyBox"),
                o = Array.prototype.slice.call(arguments, 1);
            return e instanceof p && ("string" === n.type(t) ? e[t].apply(e, o) : "function" === n.type(t) && t.apply(e, o), e)
        },
        open: function(t, e, n) {
            return new p(t, e, n)
        },
        close: function(t) {
            var e = this.getInstance();
            e && (e.close(), t === !0 && this.close())
        },
        isTouch: e.createTouch !== o && /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent),
        use3d: function() {
            var n = e.createElement("div");
            return t.getComputedStyle(n).getPropertyValue("transform") && !(e.documentMode && e.documentMode <= 11)
        }(),
        getTranslate: function(t) {
            var e, n;
            return !(!t || !t.length) && (e = t.get(0).getBoundingClientRect(), n = t.eq(0).css("transform"), n && n.indexOf("matrix") !== -1 ? (n = n.split("(")[1], n = n.split(")")[0], n = n.split(",")) : n = [], n.length ? (n = n.length > 10 ? [n[13], n[12], n[0], n[5]] : [n[5], n[4], n[0], n[3]], n = n.map(parseFloat)) : n = [0, 0, 1, 1], {
                top: n[0],
                left: n[1],
                scaleX: n[2],
                scaleY: n[3],
                opacity: parseFloat(t.css("opacity")),
                width: e.width,
                height: e.height
            })
        },
        setTranslate: function(t, e) {
            var n = "",
                s = {};
            if (t && e) return e.left === o && e.top === o || (n = (e.left === o ? t.position().top : e.left) + "px, " + (e.top === o ? t.position().top : e.top) + "px", n = this.use3d ? "translate3d(" + n + ", 0px)" : "translate(" + n + ")"), e.scaleX !== o && e.scaleY !== o && (n = (n.length ? n + " " : "") + "scale(" + e.scaleX + ", " + e.scaleY + ")"), n.length && (s.transform = n), e.opacity !== o && (s.opacity = e.opacity), e.width !== o && (s.width = e.width), e.height !== o && (s.height = e.height), t.css(s)
        },
        easing: {
            easeOutCubic: function(t, e, n, o) {
                return n * ((t = t / o - 1) * t * t + 1) + e
            },
            easeInCubic: function(t, e, n, o) {
                return n * (t /= o) * t * t + e
            },
            easeOutSine: function(t, e, n, o) {
                return n * Math.sin(t / o * (Math.PI / 2)) + e
            },
            easeInSine: function(t, e, n, o) {
                return -n * Math.cos(t / o * (Math.PI / 2)) + n + e
            }
        },
        stop: function(t) {
            t.removeData("animateID")
        },
        animate: function(t, e, s, i, a, r) {
            var c, l, d, p = this,
                h = null,
                f = 0,
                g = function(n) {
                    if (c = [], l = 0, t.length && t.data("animateID") === d) {
                        if (n = n || Date.now(), h && (l = n - h), h = n, f += l, f >= i) return s.scaleX !== o && s.scaleY !== o && e.width !== o && e.height !== o && (s.width = e.width * s.scaleX, s.height = e.height * s.scaleY, s.scaleX = 1, s.scaleY = 1), p.setTranslate(t, s), void r();
                        for (var b in s) s.hasOwnProperty(b) && e[b] !== o && (e[b] == s[b] ? c[b] = s[b] : c[b] = p.easing[a](f, e[b], s[b] - e[b], i));
                        p.setTranslate(t, c), u(g)
                    }
                };
            return p.animateID = d = p.animateID === o ? 1 : p.animateID + 1, t.data("animateID", d), r === o && "function" == n.type(a) && (r = a, a = o), a || (a = "easeOutCubic"), r = r || n.noop, i ? (e ? this.setTranslate(t, e) : e = this.getTranslate(t), t.show(), void u(g)) : (this.setTranslate(t, s), void r())
        }
    }, n.fn.fancybox = function(t) {
        return this.off("click.fb-start").on("click.fb-start", {
            items: this,
            options: t || {}
        }, s), this
    }, n(e).on("click.fb-start", "[data-fancybox]", s)
}(window, document, window.jQuery),
function(t) {
    "use strict";
    var e = function(e, n, o) {
            if (e) return o = o || "", "object" === t.type(o) && (o = t.param(o, !0)), t.each(n, function(t, n) {
                e = e.replace("$" + t, n || "")
            }), o.length && (e += (e.indexOf("?") > 0 ? "&" : "?") + o), e
        },
        n = {
            youtube: {
                matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
                params: {
                    autoplay: 1,
                    autohide: 1,
                    fs: 1,
                    rel: 0,
                    hd: 1,
                    wmode: "transparent",
                    enablejsapi: 1,
                    html5: 1
                },
                paramPlace: 8,
                type: "iframe",
                url: "//www.youtube.com/embed/$4",
                thumb: "//img.youtube.com/vi/$4/hqdefault.jpg"
            },
            vimeo: {
                matcher: /((player\.)?vimeo(pro)?\.com)\/(video\/)?([\d]+)?(\?(.*))?/,
                params: {
                    autoplay: 1,
                    hd: 1,
                    show_title: 1,
                    show_byline: 1,
                    show_portrait: 0,
                    fullscreen: 1,
                    api: 1
                },
                paramPlace: 7,
                type: "iframe",
                url: "//player.vimeo.com/video/$5"
            },
            metacafe: {
                matcher: /metacafe.com\/watch\/(\d+)\/(.*)?/,
                type: "iframe",
                url: "//www.metacafe.com/embed/$1/?ap=1"
            },
            dailymotion: {
                matcher: /dailymotion.com\/video\/(.*)\/?(.*)/,
                params: {
                    additionalInfos: 0,
                    autoStart: 1
                },
                type: "iframe",
                url: "//www.dailymotion.com/embed/video/$1"
            },
            vine: {
                matcher: /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/,
                type: "iframe",
                url: "//vine.co/v/$1/embed/simple"
            },
            instagram: {
                matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
                type: "image",
                url: "//$1/p/$2/media/?size=l"
            },
            google_maps: {
                matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
                type: "iframe",
                url: function(t) {
                    return "//maps.google." + t[2] + "/?ll=" + (t[9] ? t[9] + "&z=" + Math.floor(t[10]) + (t[12] ? t[12].replace(/^\//, "&") : "") : t[12]) + "&output=" + (t[12] && t[12].indexOf("layer=c") > 0 ? "svembed" : "embed")
                }
            }
        };
    t(document).on("onInit.fb", function(o, s) {
        t.each(s.group, function(o, s) {
            var i, a, r, c, l, u, d, p = s.src || "",
                h = !1;
            s.type || (t.each(n, function(n, o) {
                if (a = p.match(o.matcher), l = {}, d = n, a) {
                    if (h = o.type, o.paramPlace && a[o.paramPlace]) {
                        c = a[o.paramPlace], "?" == c[0] && (c = c.substring(1)), c = c.split("&");
                        for (var f = 0; f < c.length; ++f) {
                            var g = c[f].split("=", 2);
                            2 == g.length && (l[g[0]] = decodeURIComponent(g[1].replace(/\+/g, " ")))
                        }
                    }
                    return o.idPlace && (u = a[o.idPlace]), r = t.extend(!0, {}, o.params, s.opts[n], l), p = "function" === t.type(o.url) ? o.url.call(this, a, r, s) : e(o.url, a, r), i = "function" === t.type(o.thumb) ? o.thumb.call(this, a, r, s) : e(o.thumb, a), !1
                }
            }), h ? (s.src = p, s.type = h, s.opts.thumb || s.opts.$thumb && s.opts.$thumb.length || (s.opts.thumb = i), u && (s.opts.id = d + "-" + u), "iframe" === h && (t.extend(!0, s.opts, {
                iframe: {
                    preload: !1,
                    scrolling: "no"
                },
                smallBtn: !1,
                closeBtn: !0,
                fullScreen: !1,
                slideShow: !1
            }), s.opts.slideClass += " fancybox-slide--video")) : s.type = "iframe")
        })
    })
}(window.jQuery),
function(t, e, n) {
    "use strict";
    var o = function() {
            return t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || function(e) {
                t.setTimeout(e, 1e3 / 60)
            }
        }(),
        s = function(e) {
            var n = [];
            e = e.originalEvent || e || t.e, e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];
            for (var o in e) e[o].pageX ? n.push({
                x: e[o].pageX,
                y: e[o].pageY
            }) : e[o].clientX && n.push({
                x: e[o].clientX,
                y: e[o].clientY
            });
            return n
        },
        i = function(t, e, n) {
            return e && t ? "x" === n ? t.x - e.x : "y" === n ? t.y - e.y : Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)) : 0
        },
        a = function(t) {
            return t.is("a") || t.is("button") || t.is("input") || t.is("select") || t.is("textarea") || n.isFunction(t.get(0).onclick)
        },
        r = function(e) {
            var n = t.getComputedStyle(e)["overflow-y"],
                o = t.getComputedStyle(e)["overflow-x"],
                s = ("scroll" === n || "auto" === n) && e.scrollHeight > e.clientHeight,
                i = ("scroll" === o || "auto" === o) && e.scrollWidth > e.clientWidth;
            return s || i
        },
        c = function(t) {
            for (var e = !1;;) {
                if (e = r(t.get(0))) break;
                if (t = t.parent(), !t.length || t.hasClass("fancybox-slider") || t.is("body")) break
            }
            return e
        },
        l = function(t) {
            var e = this;
            e.instance = t, e.$wrap = t.$refs.slider_wrap, e.$slider = t.$refs.slider, e.$container = t.$refs.container, e.destroy(), e.$wrap.on("touchstart.fb mousedown.fb", n.proxy(e, "ontouchstart"))
        };
    l.prototype.destroy = function() {
        this.$wrap.off("touchstart.fb mousedown.fb touchmove.fb mousemove.fb touchend.fb touchcancel.fb mouseup.fb mouseleave.fb")
    }, l.prototype.ontouchstart = function(e) {
        var o = this,
            r = n(e.target),
            l = o.instance,
            u = l.current,
            d = u.$content || u.$placeholder;
        return o.startPoints = s(e), o.$target = r, o.$content = d, u.opts.touch ? void(a(r) || a(r.parent()) || c(r) && !r.hasClass("fancybox-slide") || (e.stopPropagation(), e.preventDefault(), !u || o.instance.isAnimating || o.instance.isClosing || !o.startPoints || o.startPoints.length > 1 && !u.isMoved || (o.$wrap.off("touchmove.fb mousemove.fb", n.proxy(o, "ontouchmove")), o.$wrap.off("touchend.fb touchcancel.fb mouseup.fb mouseleave.fb", n.proxy(o, "ontouchend")), o.$wrap.on("touchend.fb touchcancel.fb mouseup.fb mouseleave.fb", n.proxy(o, "ontouchend")), o.$wrap.on("touchmove.fb mousemove.fb", n.proxy(o, "ontouchmove")), o.startTime = (new Date).getTime(), o.distanceX = o.distanceY = o.distance = 0, o.canvasWidth = Math.round(u.$slide.width()), o.canvasHeight = Math.round(u.$slide.height()), o.canTap = !1, o.isPanning = !1, o.isSwiping = !1, o.isZooming = !1, o.sliderStartPos = n.fancybox.getTranslate(o.$slider), o.contentStartPos = n.fancybox.getTranslate(o.$content), o.contentLastPos = null, 1 !== o.startPoints.length || o.isZooming || (o.canTap = u.isMoved, "image" === u.type && (o.contentStartPos.width > o.canvasWidth + 1 || o.contentStartPos.height > o.canvasHeight + 1) ? (n.fancybox.stop(o.$content), o.isPanning = !0) : (n.fancybox.stop(o.$slider), o.isSwiping = !0), o.$container.addClass("fancybox-controls--isGrabbing")), 2 === o.startPoints.length && u.isMoved && !u.hasError && "image" === u.type && (u.isLoaded || u.$ghost) && (o.isZooming = !0, o.isSwiping = !1, o.isPanning = !1, n.fancybox.stop(o.$content), o.centerPointStartX = .5 * (o.startPoints[0].x + o.startPoints[1].x) - n(t).scrollLeft(), o.centerPointStartY = .5 * (o.startPoints[0].y + o.startPoints[1].y) - n(t).scrollTop(), o.percentageOfImageAtPinchPointX = (o.centerPointStartX - o.contentStartPos.left) / o.contentStartPos.width, o.percentageOfImageAtPinchPointY = (o.centerPointStartY - o.contentStartPos.top) / o.contentStartPos.height, o.startDistanceBetweenFingers = i(o.startPoints[0], o.startPoints[1]))))) : (o.endPoints = o.startPoints, o.ontap())
    }, l.prototype.ontouchmove = function(t) {
        var e = this;
        t.preventDefault(), e.newPoints = s(t), e.newPoints && e.newPoints.length && (e.distanceX = i(e.newPoints[0], e.startPoints[0], "x"), e.distanceY = i(e.newPoints[0], e.startPoints[0], "y"), e.distance = i(e.newPoints[0], e.startPoints[0]), e.distance > 0 && (e.isSwiping ? e.onSwipe() : e.isPanning ? e.onPan() : e.isZooming && e.onZoom()))
    }, l.prototype.onSwipe = function() {
        var e, s = this,
            i = s.isSwiping,
            a = s.sliderStartPos.left;
        i === !0 ? Math.abs(s.distance) > 10 && (s.instance.group.length < 2 ? s.isSwiping = "y" : !s.instance.current.isMoved || s.instance.opts.touch.vertical === !1 || "auto" === s.instance.opts.touch.vertical && n(t).width() > 800 ? s.isSwiping = "x" : (e = Math.abs(180 * Math.atan2(s.distanceY, s.distanceX) / Math.PI), s.isSwiping = e > 45 && e < 135 ? "y" : "x"), s.canTap = !1, s.instance.current.isMoved = !1, s.startPoints = s.newPoints) : ("x" == i && (!s.instance.current.opts.loop && 0 === s.instance.current.index && s.distanceX > 0 ? a += Math.pow(s.distanceX, .8) : !s.instance.current.opts.loop && s.instance.current.index === s.instance.group.length - 1 && s.distanceX < 0 ? a -= Math.pow(-s.distanceX, .8) : a += s.distanceX), s.sliderLastPos = {
            top: "x" == i ? 0 : s.sliderStartPos.top + s.distanceY,
            left: a
        }, o(function() {
            n.fancybox.setTranslate(s.$slider, s.sliderLastPos)
        }))
    }, l.prototype.onPan = function() {
        var t, e, s, i = this;
        i.canTap = !1, t = i.contentStartPos.width > i.canvasWidth ? i.contentStartPos.left + i.distanceX : i.contentStartPos.left, e = i.contentStartPos.top + i.distanceY, s = i.limitMovement(t, e, i.contentStartPos.width, i.contentStartPos.height), s.scaleX = i.contentStartPos.scaleX, s.scaleY = i.contentStartPos.scaleY, i.contentLastPos = s, o(function() {
            n.fancybox.setTranslate(i.$content, i.contentLastPos)
        })
    }, l.prototype.limitMovement = function(t, e, n, o) {
        var s, i, a, r, c = this,
            l = c.canvasWidth,
            u = c.canvasHeight,
            d = c.contentStartPos.left,
            p = c.contentStartPos.top,
            h = c.distanceX,
            f = c.distanceY;
        return s = Math.max(0, .5 * l - .5 * n), i = Math.max(0, .5 * u - .5 * o), a = Math.min(l - n, .5 * l - .5 * n), r = Math.min(u - o, .5 * u - .5 * o), n > l && (h > 0 && t > s && (t = s - 1 + Math.pow(-s + d + h, .8) || 0), h < 0 && t < a && (t = a + 1 - Math.pow(a - d - h, .8) || 0)), o > u && (f > 0 && e > i && (e = i - 1 + Math.pow(-i + p + f, .8) || 0), f < 0 && e < r && (e = r + 1 - Math.pow(r - p - f, .8) || 0)), {
            top: e,
            left: t
        }
    }, l.prototype.limitPosition = function(t, e, n, o) {
        var s = this,
            i = s.canvasWidth,
            a = s.canvasHeight;
        return n > i ? (t = t > 0 ? 0 : t, t = t < i - n ? i - n : t) : t = Math.max(0, i / 2 - n / 2), o > a ? (e = e > 0 ? 0 : e, e = e < a - o ? a - o : e) : e = Math.max(0, a / 2 - o / 2), {
            top: e,
            left: t
        }
    }, l.prototype.onZoom = function() {
        var e = this,
            s = e.contentStartPos.width,
            a = e.contentStartPos.height,
            r = e.contentStartPos.left,
            c = e.contentStartPos.top,
            l = i(e.newPoints[0], e.newPoints[1]),
            u = l / e.startDistanceBetweenFingers,
            d = Math.floor(s * u),
            p = Math.floor(a * u),
            h = (s - d) * e.percentageOfImageAtPinchPointX,
            f = (a - p) * e.percentageOfImageAtPinchPointY,
            g = (e.newPoints[0].x + e.newPoints[1].x) / 2 - n(t).scrollLeft(),
            b = (e.newPoints[0].y + e.newPoints[1].y) / 2 - n(t).scrollTop(),
            m = g - e.centerPointStartX,
            y = b - e.centerPointStartY,
            v = r + (h + m),
            x = c + (f + y),
            w = {
                top: x,
                left: v,
                scaleX: e.contentStartPos.scaleX * u,
                scaleY: e.contentStartPos.scaleY * u
            };
        e.canTap = !1, e.newWidth = d, e.newHeight = p, e.contentLastPos = w, o(function() {
            n.fancybox.setTranslate(e.$content, e.contentLastPos)
        })
    }, l.prototype.ontouchend = function(t) {
        var e = this,
            o = e.instance.current,
            i = Math.max((new Date).getTime() - e.startTime, 1),
            a = e.isSwiping,
            r = e.isPanning,
            c = e.isZooming;
        return e.endPoints = s(t), e.$container.removeClass("fancybox-controls--isGrabbing"), e.$wrap.off("touchmove.fb mousemove.fb", n.proxy(this, "ontouchmove")), e.$wrap.off("touchend.fb touchcancel.fb mouseup.fb mouseleave.fb", n.proxy(this, "ontouchend")), e.isSwiping = !1, e.isPanning = !1, e.isZooming = !1, e.canTap ? e.ontap() : (e.velocityX = e.distanceX / i * .5, e.velocityY = e.distanceY / i * .5, e.speed = o.opts.speed, e.speedX = Math.max(.75 * e.speed, Math.min(1.5 * e.speed, 1 / Math.abs(e.velocityX) * e.speed)), e.speedY = Math.max(.75 * e.speed, Math.min(1.5 * e.speed, 1 / Math.abs(e.velocityY) * e.speed)), void(r ? e.endPanning() : c ? e.endZooming() : e.endSwiping(a)))
    }, l.prototype.endSwiping = function(t) {
        var e = this;
        "y" == t && Math.abs(e.distanceY) > 50 ? (n.fancybox.animate(e.$slider, null, {
            top: e.sliderStartPos.top + e.distanceY + 150 * e.velocityY,
            left: e.sliderStartPos.left,
            opacity: 0
        }, e.speedY), e.instance.close(!0)) : "x" == t && e.distanceX > 50 ? e.instance.previous(e.speedX) : "x" == t && e.distanceX < -50 ? e.instance.next(e.speedX) : e.instance.update(!1, !0, Math.abs(e.distance) * e.speed / 50)
    }, l.prototype.endPanning = function() {
        var t, e, o, s = this;
        s.contentLastPos && (t = s.contentLastPos.left + s.velocityX * s.speed * 2, e = s.contentLastPos.top + s.velocityY * s.speed * 2, o = s.limitPosition(t, e, s.contentStartPos.width, s.contentStartPos.height), o.width = s.contentStartPos.width, o.height = s.contentStartPos.height, n.fancybox.animate(s.$content, null, o, s.speed, "easeOutSine"))
    }, l.prototype.endZooming = function() {
        var t, e, o, s, i = this,
            a = i.instance.current,
            r = i.newWidth,
            c = i.newHeight;
        i.contentLastPos && (t = i.contentLastPos.left, e = i.contentLastPos.top, s = {
            top: e,
            left: t,
            width: r,
            height: c,
            scaleX: 1,
            scaleY: 1
        }, n.fancybox.setTranslate(i.$content, s), r < i.canvasWidth && c < i.canvasHeight ? i.instance.scaleToFit(150) : r > a.width || c > a.height ? i.instance.scaleToActual(i.centerPointStartX, i.centerPointStartY, 150) : (o = i.limitPosition(t, e, r, c), n.fancybox.animate(i.$content, null, o, i.speed, "easeOutSine")))
    }, l.prototype.ontap = function() {
        var t = this,
            e = t.instance,
            o = e.current,
            s = t.endPoints[0].x,
            i = t.endPoints[0].y;
        if (s -= t.$wrap.offset().left, i -= t.$wrap.offset().top, !n.fancybox.isTouch) return o.opts.closeClickOutside && t.$target.is(".fancybox-slide") ? void e.close() : void("image" == o.type && o.isMoved && (e.canPan() ? e.scaleToFit() : e.isScaledDown() ? e.scaleToActual(s, i) : e.group.length < 2 && e.close()));
        if (t.tapped) {
            if (clearTimeout(t.tapped), t.tapped = null, Math.abs(s - t.x) > 50 || Math.abs(i - t.y) > 50 || !o.isMoved) return this;
            "image" == o.type && (o.isLoaded || o.$ghost) && (e.canPan() ? e.scaleToFit() : e.isScaledDown() && e.scaleToActual(s, i))
        } else t.x = s, t.y = i, t.tapped = setTimeout(function() {
            t.tapped = null, e.toggleControls(!0)
        }, 300);
        return this
    }, n(e).on("onActivate.fb", function(t, e) {
        e.Guestures || (e.Guestures = new l(e))
    }), n(e).on("beforeClose.fb", function(t, e) {
        e.Guestures && e.Guestures.destroy()
    })
}(window, document, window.jQuery),
function(t, e) {
    "use strict";
    var n = function(t) {
        this.instance = t, this.init()
    };
    e.extend(n.prototype, {
        timer: null,
        isActive: !1,
        $button: null,
        speed: 3e3,
        init: function() {
            var t = this;
            t.$button = e('<button data-fancybox-play class="fancybox-button fancybox-button--play" title="Slideshow (P)"></button>').appendTo(t.instance.$refs.buttons), t.instance.$refs.container.on("click", "[data-fancybox-play]", function() {
                t.toggle()
            })
        },
        set: function() {
            var t = this;
            t.instance && t.instance.current && (t.instance.current.opts.loop || t.instance.currIndex < t.instance.group.length - 1) ? t.timer = setTimeout(function() {
                t.instance.next()
            }, t.instance.current.opts.slideShow.speed || t.speed) : t.stop()
        },
        clear: function() {
            var t = this;
            clearTimeout(t.timer), t.timer = null
        },
        start: function() {
            var t = this;
            t.stop(), t.instance && t.instance.current && (t.instance.current.opts.loop || t.instance.currIndex < t.instance.group.length - 1) && (t.instance.$refs.container.on({
                "beforeLoad.fb.player": e.proxy(t, "clear"),
                "onComplete.fb.player": e.proxy(t, "set")
            }), t.isActive = !0, t.instance.current.isComplete && t.set(), t.instance.$refs.container.trigger("onPlayStart"), t.$button.addClass("fancybox-button--pause"))
        },
        stop: function() {
            var t = this;
            t.clear(), t.instance.$refs.container.trigger("onPlayEnd").off(".player"), t.$button.removeClass("fancybox-button--pause"), t.isActive = !1
        },
        toggle: function() {
            var t = this;
            t.isActive ? t.stop() : t.start()
        }
    }), e(t).on("onInit.fb", function(t, e) {
        e.opts.slideShow && !e.SlideShow && e.group.length > 1 && (e.SlideShow = new n(e))
    }), e(t).on("beforeClose.fb onDeactivate.fb", function(t, e) {
        e.SlideShow && e.SlideShow.stop()
    })
}(document, window.jQuery),
function(t, e) {
    "use strict";
    var n = function(t) {
        this.instance = t, this.init()
    };
    e.extend(n.prototype, {
        $button: null,
        init: function() {
            var n = this;
            n.isAvailable() && (n.$button = e('<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="Full screen (F)"></button>').appendTo(n.instance.$refs.buttons), n.instance.$refs.container.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function(t) {
                t.stopPropagation(), t.preventDefault(), n.toggle()
            }), e(t).on("onUpdate.fb", function(t, e) {
                n.$button.toggle(!!e.current.opts.fullScreen), n.$button.toggleClass("fancybox-button-shrink", n.isActivated())
            }), e(t).on("afterClose.fb", function() {
                n.exit()
            }))
        },
        isAvailable: function() {
            var t = this.instance.$refs.container.get(0);
            return !!(t.requestFullscreen || t.msRequestFullscreen || t.mozRequestFullScreen || t.webkitRequestFullscreen)
        },
        isActivated: function() {
            return !!(t.fullscreenElement || t.mozFullScreenElement || t.webkitFullscreenElement || t.msFullscreenElement)
        },
        launch: function() {
            var t = this.instance.$refs.container.get(0);
            t && !this.instance.isClosing && (t.requestFullscreen ? t.requestFullscreen() : t.msRequestFullscreen ? t.msRequestFullscreen() : t.mozRequestFullScreen ? t.mozRequestFullScreen() : t.webkitRequestFullscreen && t.webkitRequestFullscreen(t.ALLOW_KEYBOARD_INPUT))
        },
        exit: function() {
            t.exitFullscreen ? t.exitFullscreen() : t.msExitFullscreen ? t.msExitFullscreen() : t.mozCancelFullScreen ? t.mozCancelFullScreen() : t.webkitExitFullscreen && t.webkitExitFullscreen()
        },
        toggle: function() {
            this.isActivated() ? this.exit() : this.isAvailable() && this.launch()
        }
    }), e(t).on("onInit.fb", function(t, e) {
        e.opts.fullScreen && !e.FullScreen && (e.FullScreen = new n(e))
    })
}(document, window.jQuery),
function(t, e) {
    "use strict";
    var n = function(t) {
        this.instance = t, this.init()
    };
    e.extend(n.prototype, {
        $button: null,
        $grid: null,
        $list: null,
        isVisible: !1,
        init: function() {
            var t = this;
            t.$button = e('<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="Thumbnails (G)"></button>').appendTo(this.instance.$refs.buttons).on("touchend click", function(e) {
                e.stopPropagation(), e.preventDefault(), t.toggle()
            })
        },
        create: function() {
            var t, n, o = this.instance;
            this.$grid = e('<div class="fancybox-thumbs"></div>').appendTo(o.$refs.container), t = "<ul>", e.each(o.group, function(e, o) {
                n = o.opts.thumb || (o.opts.$thumb ? o.opts.$thumb.attr("src") : null), n || "image" !== o.type || (n = o.src), n && n.length && (t += '<li data-index="' + e + '"  tabindex="0" class="fancybox-thumbs-loading"><img data-src="' + n + '" /></li>')
            }), t += "</ul>", this.$list = e(t).appendTo(this.$grid).on("click touchstart", "li", function() {
                o.jumpTo(e(this).data("index"))
            }), this.$list.find("img").hide().one("load", function() {
                var t, n, o, s, i = e(this).parent().removeClass("fancybox-thumbs-loading"),
                    a = i.outerWidth(),
                    r = i.outerHeight();
                t = this.naturalWidth || this.width, n = this.naturalHeight || this.height, o = t / a, s = n / r, o >= 1 && s >= 1 && (o > s ? (t /= s, n = r) : (t = a, n /= o)), e(this).css({
                    width: Math.floor(t),
                    height: Math.floor(n),
                    "margin-top": Math.min(0, Math.floor(.3 * r - .3 * n)),
                    "margin-left": Math.min(0, Math.floor(.5 * a - .5 * t))
                }).show()
            }).each(function() {
                this.src = e(this).data("src")
            })
        },
        focus: function() {
            this.instance.current && this.$list.children().removeClass("fancybox-thumbs-active").filter('[data-index="' + this.instance.current.index + '"]').addClass("fancybox-thumbs-active").focus()
        },
        close: function() {
            this.$grid.hide()
        },
        update: function() {
            this.instance.$refs.container.toggleClass("fancybox-container--thumbs", this.isVisible), this.isVisible ? (this.$grid || this.create(), this.$grid.show(), this.focus()) : this.$grid && this.$grid.hide(), this.instance.update()
        },
        hide: function() {
            this.isVisible = !1, this.update()
        },
        show: function() {
            this.isVisible = !0, this.update()
        },
        toggle: function() {
            this.isVisible ? this.hide() : this.show()
        }
    }), e(t).on("onInit.fb", function(t, e) {
        var o = e.group[0],
            s = e.group[1];
        e.opts.thumbs && !e.Thumbs && e.group.length > 1 && ("image" == o.type || o.opts.thumb || o.opts.$thumb) && ("image" == s.type || s.opts.thumb || s.opts.$thumb) && (e.Thumbs = new n(e))
    }), e(t).on("beforeMove.fb", function(t, e, n) {
        var o = e.Thumbs;
        o && (n.modal ? (o.$button.hide(), o.hide()) : (e.opts.thumbs.showOnStart === !0 && e.firstRun && o.show(), o.$button.show(), o.isVisible && o.focus()))
    }), e(t).on("beforeClose.fb", function(t, e) {
        e.Thumbs && e.Thumbs.isVisible && e.opts.thumbs.hideOnClosing !== !1 && e.Thumbs.close(), e.Thumbs = null
    })
}(document, window.jQuery);
                                    

#14 JavaScript::Eval (size: 2959, repeated: 1) - SHA256: c4714e01e0a881fa2fd79e13678340228f3235157ac98cbc20b63442ee4087d1

                                        (function($) {
    $.fn.scrolltab = function(options) {
        var settings = {
            ulid: 'tabUl',
            leftId: 'left',
            rightId: 'right',
            visibleTab: 0,
            totalTab: 0
        };
        return this.each(function() {
            var options = $.extend(settings, options);
            options.tabWidth = 0;
            options.maxLeft = 0;
            options.totalTab = 0;
            $tabs = $(this), $tabUL = $('#' + options.ulid);
            $left = $('#' + options.leftId);
            $right = $('#' + options.rightId);
            $tabUL.css('width', $tabs.width());
            $left.click(function() {
                if ($tabUL.position().left > (options.maxLeft)) {
                    $left.hide();
                    $tabUL.animate({
                        left: '-=' + options.tabWidth
                    }, 300, function() {
                        $tabs.trigger('showArrow');
                    });
                }
            });
            $right.click(function() {
                if ($tabUL.position().left < 0) {
                    $right.hide();
                    $tabUL.animate({
                        left: '+=' + options.tabWidth
                    }, 300, function() {
                        $tabs.trigger('showArrow');
                    });
                }
            });
            $tabs.find("span.ui-icon-close").live("click", function() {
                var index = $("li", $tabs).index($(this).parent());
                $tabs.tabs("remove", index);
                options.totalTab = $('li', $tabUL).length;
                $tabs.trigger('tabMaxLeft');
                if ($tabUL.position().left < 0) {
                    $tabUL.css('width', ($tabUL.width() - options.tabWidth) + 'px');
                    $right.trigger('click');
                } else if ($tabUL.position().left > (options.maxLeft)) {
                    $tabUL.css('width', ($tabUL.width() - options.tabWidth) + 'px');
                    $left.trigger('click');
                }
                if (options.totalTab <= 0) {
                    $tabs.css('visibility', 'hidden');
                }
            });
            $tabs.bind('addTab', function(event, id, title) {
                var tabid = '#tabs-' + id;
                $tabs.tabs('add', tabid, title);
                options.totalTab = $('li', $tabUL).length;
                if (options.visibleTab == 0) {
                    options.tabWidth = $("li", $tabUL).outerWidth(true);
                    options.visibleTab = Math.floor($tabs.width() / options.tabWidth);
                }
                if (options.totalTab > options.visibleTab) {
                    var cuiwidth = $tabUL.width();
                    $tabUL.css('width', (cuiwidth + options.tabWidth) + 'px');
                    $tabs.trigger('tabMaxLeft');
                    $tabs.trigger('selectTab', [options.totalTab - 1]);
                } else {
                    $tabs.tabs('select', (options.totalTab - 1));
                }
            });
            $tabs.bind('tabMaxLeft', function() {
                var extraTabs = options.totalTab - options.visibleTab;
                options.maxLeft = -(extraTabs * options.tabWidth);
            });
            $tabs.bind('selectTab', function(event, index) {
                $tabs.tabs('select', index);
                index++;
                var currentleftPos = $tabUL.position().left;
                var tabHiddenLeft = Math.round(Math.abs(currentleftPos) / options.tabWidth);
                if (tabHiddenLeft >= index) {
                    var rigtAnimate = (tabHiddenLeft - index + 1) * options.tabWidth;
                    $tabUL.animate({
                        left: '+=' + rigtAnimate
                    }, 300, function() {
                        $tabs.trigger('showArrow');
                    });
                } else {
                    var tabonleft = tabHiddenLeft + options.visibleTab;
                    var tabHiddenRight = options.totalTab - tabHiddenLeft - options.visibleTab;
                    if (tabHiddenRight > 0 && index > tabonleft) {
                        var rightIndex = (index - tabonleft);
                        var leftAnimate = rightIndex * options.tabWidth;
                        $tabUL.animate({
                            left: '-=' + leftAnimate
                        }, 300, function() {
                            $tabs.trigger('showArrow');
                        });
                    }
                }
            });
            $tabs.bind('showArrow', function() {
                var currentleftPos = $tabUL.position().left;
                var tabHiddenLeft = Math.round(Math.abs(currentleftPos) / options.tabWidth);
                var tabonleft = tabHiddenLeft + options.visibleTab;
                var tabHiddenRight = options.totalTab - tabHiddenLeft - options.visibleTab;
                if (tabHiddenLeft > 0) {
                    $right.show();
                } else {
                    $right.hide();
                }
                if (tabHiddenRight > 0) {
                    $left.show();
                } else {
                    $left.hide();
                }
            });
        });
    };
})(jQuery);
                                    

#15 JavaScript::Eval (size: 6685, repeated: 1) - SHA256: d8bce41fa75a2da167c12ef4e668722c407e78318e1286e4b334ac0a066edf07

                                        (function($) {
    $.fn.theiaStickySidebar = function(options) {
        var defaults = {
            'containerSelector': '',
            'additionalMarginTop': 0,
            'additionalMarginBottom': 0,
            'updateSidebarHeight': true,
            'minWidth': 0,
            'disableOnResponsiveLayouts': true,
            'sidebarBehavior': 'modern'
        };
        options = $.extend(defaults, options);
        options.additionalMarginTop = parseInt(options.additionalMarginTop) || 0;
        options.additionalMarginBottom = parseInt(options.additionalMarginBottom) || 0;
        tryInitOrHookIntoEvents(options, this);

        function tryInitOrHookIntoEvents(options, $that) {
            var success = tryInit(options, $that);
            if (!success) {
                console.log('TSS: Body width smaller than options.minWidth. Init is delayed.');
                $(document).scroll(function(options, $that) {
                    return function(evt) {
                        var success = tryInit(options, $that);
                        if (success) {
                            $(this).unbind(evt);
                        }
                    };
                }(options, $that));
                $(window).resize(function(options, $that) {
                    return function(evt) {
                        var success = tryInit(options, $that);
                        if (success) {
                            $(this).unbind(evt);
                        }
                    };
                }(options, $that))
            }
        }

        function tryInit(options, $that) {
            if (options.initialized === true) {
                return true;
            }
            if ($('body').width() < options.minWidth) {
                return false;
            }
            init(options, $that);
            return true;
        }

        function init(options, $that) {
            options.initialized = true;
            $('head').append($('<style>.theiaStickySidebar:after {content: ""; display: table; clear: both;}</style>'));
            $that.each(function() {
                var o = {};
                o.sidebar = $(this);
                o.options = options || {};
                o.container = $(o.options.containerSelector);
                if (o.container.length == 0) {
                    o.container = o.sidebar.parent();
                }
                o.sidebar.parents().css('-webkit-transform', 'none');
                o.sidebar.css({
                    'position': 'relative',
                    'overflow': 'visible',
                    '-webkit-box-sizing': 'border-box',
                    '-moz-box-sizing': 'border-box',
                    'box-sizing': 'border-box'
                });
                o.stickySidebar = o.sidebar.find('.theiaStickySidebar');
                if (o.stickySidebar.length == 0) {
                    var javaScriptMIMETypes = /(?:text|application)\/(?:x-)?(?:javascript|ecmascript)/i;
                    o.sidebar.find('script').filter(function(index, script) {
                        return script.type.length === 0 || script.type.match(javaScriptMIMETypes);
                    }).remove();
                    o.stickySidebar = $('<div>').addClass('theiaStickySidebar').append(o.sidebar.children());
                    o.sidebar.append(o.stickySidebar);
                }
                o.marginBottom = parseInt(o.sidebar.css('margin-bottom'));
                o.paddingTop = parseInt(o.sidebar.css('padding-top'));
                o.paddingBottom = parseInt(o.sidebar.css('padding-bottom'));
                var collapsedTopHeight = o.stickySidebar.offset().top;
                var collapsedBottomHeight = o.stickySidebar.outerHeight();
                o.stickySidebar.css('padding-top', 1);
                o.stickySidebar.css('padding-bottom', 1);
                collapsedTopHeight -= o.stickySidebar.offset().top;
                collapsedBottomHeight = o.stickySidebar.outerHeight() - collapsedBottomHeight - collapsedTopHeight;
                if (collapsedTopHeight == 0) {
                    o.stickySidebar.css('padding-top', 0);
                    o.stickySidebarPaddingTop = 0;
                } else {
                    o.stickySidebarPaddingTop = 1;
                }
                if (collapsedBottomHeight == 0) {
                    o.stickySidebar.css('padding-bottom', 0);
                    o.stickySidebarPaddingBottom = 0;
                } else {
                    o.stickySidebarPaddingBottom = 1;
                }
                o.previousScrollTop = null;
                o.fixedScrollTop = 0;
                resetSidebar();
                o.onScroll = function(o) {
                    if (!o.stickySidebar.is(":visible")) {
                        return;
                    }
                    if ($('body').width() < o.options.minWidth) {
                        resetSidebar();
                        return;
                    }
                    if (o.options.disableOnResponsiveLayouts) {
                        var sidebarWidth = o.sidebar.outerWidth(o.sidebar.css('float') == 'none');
                        if (sidebarWidth + 50 > o.container.width()) {
                            resetSidebar();
                            return;
                        }
                    }
                    var scrollTop = $(document).scrollTop();
                    var position = 'static';
                    if (scrollTop >= o.sidebar.offset().top + (o.paddingTop - o.options.additionalMarginTop)) {
                        var offsetTop = o.paddingTop + options.additionalMarginTop;
                        var offsetBottom = o.paddingBottom + o.marginBottom + options.additionalMarginBottom;
                        var containerTop = o.sidebar.offset().top;
                        var containerBottom = o.sidebar.offset().top + getClearedHeight(o.container);
                        var windowOffsetTop = 0 + options.additionalMarginTop;
                        var windowOffsetBottom;
                        var sidebarSmallerThanWindow = (o.stickySidebar.outerHeight() + offsetTop + offsetBottom) < $(window).height();
                        if (sidebarSmallerThanWindow) {
                            windowOffsetBottom = windowOffsetTop + o.stickySidebar.outerHeight();
                        } else {
                            windowOffsetBottom = $(window).height() - o.marginBottom - o.paddingBottom - options.additionalMarginBottom;
                        }
                        var staticLimitTop = containerTop - scrollTop + o.paddingTop;
                        var staticLimitBottom = containerBottom - scrollTop - o.paddingBottom - o.marginBottom;
                        var top = o.stickySidebar.offset().top - scrollTop;
                        var scrollTopDiff = o.previousScrollTop - scrollTop;
                        if (o.stickySidebar.css('position') == 'fixed') {
                            if (o.options.sidebarBehavior == 'modern') {
                                top += scrollTopDiff;
                            }
                        }
                        if (o.options.sidebarBehavior == 'stick-to-top') {
                            top = options.additionalMarginTop;
                        }
                        if (o.options.sidebarBehavior == 'stick-to-bottom') {
                            top = windowOffsetBottom - o.stickySidebar.outerHeight();
                        }
                        if (scrollTopDiff > 0) {
                            top = Math.min(top, windowOffsetTop);
                        } else {
                            top = Math.max(top, windowOffsetBottom - o.stickySidebar.outerHeight());
                        }
                        top = Math.max(top, staticLimitTop);
                        top = Math.min(top, staticLimitBottom - o.stickySidebar.outerHeight());
                        var sidebarSameHeightAsContainer = o.container.height() == o.stickySidebar.outerHeight();
                        if (!sidebarSameHeightAsContainer && top == windowOffsetTop) {
                            position = 'fixed';
                        } else if (!sidebarSameHeightAsContainer && top == windowOffsetBottom - o.stickySidebar.outerHeight()) {
                            position = 'fixed';
                        } else if (scrollTop + top - o.sidebar.offset().top - o.paddingTop <= options.additionalMarginTop) {
                            position = 'static';
                        } else {
                            position = 'absolute';
                        }
                    }
                    if (position == 'fixed') {
                        var scrollLeft = $(document).scrollLeft();
                        o.stickySidebar.css({
                            'position': 'fixed',
                            'width': getWidthForObject(o.stickySidebar) + 'px',
                            'transform': 'translateY(' + top + 'px)',
                            'left': (o.sidebar.offset().left + parseInt(o.sidebar.css('padding-left')) - scrollLeft) + 'px',
                            'top': '0px'
                        });
                    } else if (position == 'absolute') {
                        var css = {};
                        if (o.stickySidebar.css('position') != 'absolute') {
                            css.position = 'absolute';
                            css.transform = 'translateY(' + (scrollTop + top - o.sidebar.offset().top - o.stickySidebarPaddingTop - o.stickySidebarPaddingBottom) + 'px)';
                            css.top = '0px';
                        }
                        css.width = getWidthForObject(o.stickySidebar) + 'px';
                        css.left = '';
                        o.stickySidebar.css(css);
                    } else if (position == 'static') {
                        resetSidebar();
                    }
                    if (position != 'static') {
                        if (o.options.updateSidebarHeight == true) {
                            o.sidebar.css({
                                'min-height': o.stickySidebar.outerHeight() + o.stickySidebar.offset().top - o.sidebar.offset().top + o.paddingBottom
                            });
                        }
                    }
                    o.previousScrollTop = scrollTop;
                };
                o.onScroll(o);
                $(document).scroll(function(o) {
                    return function() {
                        o.onScroll(o);
                    };
                }(o));
                $(window).resize(function(o) {
                    return function() {
                        o.stickySidebar.css({
                            'position': 'static'
                        });
                        o.onScroll(o);
                    };
                }(o));

                function resetSidebar() {
                    o.fixedScrollTop = 0;
                    o.sidebar.css({
                        'min-height': '1px'
                    });
                    o.stickySidebar.css({
                        'position': 'static',
                        'width': '',
                        'transform': 'none'
                    });
                }

                function getClearedHeight(e) {
                    var height = e.height();
                    e.children().each(function() {
                        height = Math.max(height, $(this).height());
                    });
                    return height;
                }
            });
        }

        function getWidthForObject(object) {
            var width;
            try {
                width = object[0].getBoundingClientRect().width;
            } catch (err) {}
            if (typeof width === "undefined") {
                width = object.width();
            }
            return width;
        }
    }
})(jQuery);
                                    

#16 JavaScript::Eval (size: 402, repeated: 1) - SHA256: 98c5de6fc5d99d660f0f7bfd96c8134dec29efa64d016186011600e03d7d7326

                                        (function($) {
    $.fn.unselectable = function() {
        return this.each(function() {
            $(this).css('-moz-user-select', 'none').css('-khtml-user-select', 'none').css('user-select', 'none');
            if ($.browser.msie) {
                $(this).each(function() {
                    this.ondrag = function() {
                        return false;
                    };
                });
                $(this).each(function() {
                    this.onselectstart = function() {
                        return (false);
                    };
                });
            } else if ($.browser.opera) {
                $(this).attr('unselectable', 'on');
            }
        });
    };
})(jQuery);
                                    

#17 JavaScript::Eval (size: 801, repeated: 1) - SHA256: e383064a90ede5941f313745e99b6f5d5ae9c6a6007959e6a2d2b97b513bf6e0

                                        (function($) {
    var a = {},
        c = "doTimeout",
        d = Array.prototype.slice;
    $[c] = function() {
        return b.apply(window, [0].concat(d.call(arguments)))
    };
    $.fn[c] = function() {
        var f = d.call(arguments),
            e = b.apply(this, [c + f[0]].concat(f));
        return typeof f[0] === "number" || typeof f[1] === "number" ? this : e
    };

    function b(l) {
        var m = this,
            h, k = {},
            g = l ? $.fn : $,
            n = arguments,
            i = 4,
            f = n[1],
            j = n[2],
            p = n[3];
        if (typeof f !== "string") {
            i--;
            f = l = 0;
            j = n[1];
            p = n[2]
        }
        if (l) {
            h = m.eq(0);
            h.data(l, k = h.data(l) || {})
        } else {
            if (f) {
                k = a[f] || (a[f] = {})
            }
        }
        k.id && clearTimeout(k.id);
        delete k.id;

        function e() {
            if (l) {
                h.removeData(l)
            } else {
                if (f) {
                    delete a[f]
                }
            }
        }

        function o() {
            k.id = setTimeout(function() {
                k.fn()
            }, j)
        }
        if (p) {
            k.fn = function(q) {
                if (typeof p === "string") {
                    p = g[p]
                }
                p.apply(m, d.call(n, i)) === true && !q ? o() : e()
            };
            o()
        } else {
            if (k.fn) {
                j === undefined ? e() : k.fn(j === false);
                return true
            } else {
                e()
            }
        }
    }
})(jQuery);
                                    

#18 JavaScript::Eval (size: 3621, repeated: 1) - SHA256: 1cfc9f3c23e9db5e4b4584dae53a544eadbddcfbc712337c02f3d6b49ad59fb3

                                        (function($, p) {
    var i, m = Array.prototype.slice,
        r = decodeURIComponent,
        a = $.param,
        c, l, v, b = $.bbq = $.bbq || {},
        q, u, j, e = $.event.special,
        d = "hashchange",
        A = "querystring",
        D = "fragment",
        y = "elemUrlAttr",
        g = "location",
        k = "href",
        t = "src",
        x = /^.*\?|#.*$/g,
        w = /^.*\#/,
        h, C = {};

    function E(F) {
        return typeof F === "string"
    }

    function B(G) {
        var F = m.call(arguments, 1);
        return function() {
            return G.apply(this, F.concat(m.call(arguments)))
        }
    }

    function n(F) {
        return F.replace(/^[^#]*#?(.*)$/, "$1")
    }

    function o(F) {
        return F.replace(/(?:^[^?#]*\?([^#]*).*$)?.*/, "$1")
    }

    function f(H, M, F, I, G) {
        var O, L, K, N, J;
        if (I !== i) {
            K = F.match(H ? /^([^#]*)\#?(.*)$/ : /^([^#?]*)\??([^#]*)(#?.*)/);
            J = K[3] || "";
            if (G === 2 && E(I)) {
                L = I.replace(H ? w : x, "")
            } else {
                N = l(K[2]);
                I = E(I) ? l[H ? D : A](I) : I;
                L = G === 2 ? I : G === 1 ? $.extend({}, I, N) : $.extend({}, N, I);
                L = a(L);
                if (H) {
                    L = L.replace(h, r)
                }
            }
            O = K[1] + (H ? "#" : L || !K[1] ? "?" : "") + L + J
        } else {
            O = M(F !== i ? F : p[g][k])
        }
        return O
    }
    a[A] = B(f, 0, o);
    a[D] = c = B(f, 1, n);
    c.noEscape = function(G) {
        G = G || "";
        var F = $.map(G.split(""), encodeURIComponent);
        h = new RegExp(F.join("|"), "g")
    };
    c.noEscape(",/");
    $.deparam = l = function(I, F) {
        var H = {},
            G = {
                "true": !0,
                "false": !1,
                "null": null
            };
        $.each(I.replace(/\+/g, " ").split("&"), function(L, Q) {
            var K = Q.split("="),
                P = r(K[0]),
                J, O = H,
                M = 0,
                R = P.split("]["),
                N = R.length - 1;
            if (/\[/.test(R[0]) && /\]$/.test(R[N])) {
                R[N] = R[N].replace(/\]$/, "");
                R = R.shift().split("[").concat(R);
                N = R.length - 1
            } else {
                N = 0
            }
            if (K.length === 2) {
                J = r(K[1]);
                if (F) {
                    J = J && !isNaN(J) ? +J : J === "undefined" ? i : G[J] !== i ? G[J] : J
                }
                if (N) {
                    for (; M <= N; M++) {
                        P = R[M] === "" ? O.length : R[M];
                        O = O[P] = M < N ? O[P] || (R[M + 1] && isNaN(R[M + 1]) ? {} : []) : J
                    }
                } else {
                    if ($.isArray(H[P])) {
                        H[P].push(J)
                    } else {
                        if (H[P] !== i) {
                            H[P] = [H[P], J]
                        } else {
                            H[P] = J
                        }
                    }
                }
            } else {
                if (P) {
                    H[P] = F ? i : ""
                }
            }
        });
        return H
    };

    function z(H, F, G) {
        if (F === i || typeof F === "boolean") {
            G = F;
            F = a[H ? D : A]()
        } else {
            F = E(F) ? F.replace(H ? w : x, "") : F
        }
        return l(F, G)
    }
    l[A] = B(z, 0);
    l[D] = v = B(z, 1);
    $[y] || ($[y] = function(F) {
        return $.extend(C, F)
    })({
        a: k,
        base: k,
        iframe: t,
        img: t,
        input: t,
        form: "action",
        link: k,
        script: t
    });
    j = $[y];

    function s(I, G, H, F) {
        if (!E(H) && typeof H !== "object") {
            F = H;
            H = G;
            G = i
        }
        return this.each(function() {
            var L = $(this),
                J = G || j()[(this.nodeName || "").toLowerCase()] || "",
                K = J && L.attr(J) || "";
            L.attr(J, a[I](K, H, F))
        })
    }
    $.fn[A] = B(s, A);
    $.fn[D] = B(s, D);
    b.pushState = q = function(I, F) {
        if (E(I) && /^#/.test(I) && F === i) {
            F = 2
        }
        var H = I !== i,
            G = c(p[g][k], H ? I : {}, H ? F : 2);
        p[g][k] = G + (/#/.test(G) ? "" : "#")
    };
    b.getState = u = function(F, G) {
        return F === i || typeof F === "boolean" ? v(F) : v(G)[F]
    };
    b.removeState = function(F) {
        var G = {};
        if (F !== i) {
            G = u();
            $.each($.isArray(F) ? F : arguments, function(I, H) {
                delete G[H]
            })
        }
        q(G, 2)
    };
    e[d] = $.extend(e[d], {
        add: function(F) {
            var H;

            function G(J) {
                var I = J[D] = c();
                J.getState = function(K, L) {
                    return K === i || typeof K === "boolean" ? l(I, K) : l(I, L)[K]
                };
                H.apply(this, arguments)
            }
            if ($.isFunction(F)) {
                H = F;
                return G
            } else {
                H = F.handler;
                F.handler = G
            }
        }
    })
})(jQuery, this);
(function($, i, b) {
    var j, k = $.event.special,
        c = "location",
        d = "hashchange",
        l = "href",
        f = $.browser,
        g = document.documentMode,
        h = f.msie && (g === b || g < 8),
        e = "on" + d in i && !h;

    function a(m) {
        m = m || i[c][l];
        return m.replace(/^[^#]*#?(.*)$/, "$1")
    }
    $[d + "Delay"] = 100;
    k[d] = $.extend(k[d], {
        setup: function() {
            if (e) {
                return false
            }
            $(j.start)
        },
        teardown: function() {
            if (e) {
                return false
            }
            $(j.stop)
        }
    });
    j = (function() {
        var m = {},
            r, n, o, q;

        function p() {
            o = q = function(s) {
                return s
            };
            if (h) {
                n = $('<iframe src="javascript:0"/>').hide().insertAfter("body")[0].contentWindow;
                q = function() {
                    return a(n.document[c][l])
                };
                o = function(u, s) {
                    if (u !== s) {
                        var t = n.document;
                        t.open().close();
                        t[c].hash = "#" + u
                    }
                };
                o(a())
            }
        }
        m.start = function() {
            if (r) {
                return
            }
            var t = a();
            o || p();
            (function s() {
                var v = a(),
                    u = q(t);
                if (v !== t) {
                    o(t = v, u);
                    $(i).trigger(d)
                } else {
                    if (u !== t) {
                        i[c][l] = i[c][l].replace(/#.*/, "") + "#" + u
                    }
                }
                r = setTimeout(s, $[d + "Delay"])
            })()
        };
        m.stop = function() {
            if (!n) {
                r && clearTimeout(r);
                r = 0
            }
        };
        return m
    })()
})(jQuery, this);
                                    

#19 JavaScript::Eval (size: 4170, repeated: 1) - SHA256: c16e88025926655ee1376940f8c0866477e3b35c6e78124b3d8021c3d9e71a1b

                                        (function() {
    "use strict";
    (function($) {
        $('#clientLogos .photos').flexslider({
            animation: "slide",
            animationLoop: false,
            controlNav: false,
            directionNav: false,
            itemWidth: 150,
            itemMargin: 18,
            minItems: 2,
            maxItems: 6
        });
        $('.testimonials-wrap').flexslider({
            animation: "slide",
            selector: ".testimonials > li",
            slideshow: true,
            directionNav: true,
            controlNav: false,
            prevText: "Previous",
            nextText: "Next"
        });
        $('.flexslider-blog-resources').flexslider({
            animation: "fade",
            selector: ".blog-resources > li",
            slideshow: true,
            animationLoop: true,
            directionNav: false,
            controlNav: true
        });
        $(".request-quote .close-request-quote").click(function() {
            $(".request-quote").toggleClass("toggle-slide");
        });
        $(".header-cta").click(function() {
            $(".header-cta-popup").fadeIn("slow");
        });
        $(".header-cta-close").live('click', function() {
            $(".header-cta-popup").hide();
        });
        $('#how-we-can-help-credit-unions-dl').fancybox({
            'scrolling': 'no'
        });
        if (window.location.hash === "#how-we-can-help-credit-unions-dl") {
            $(window.location.hash).click();
        }
        $('#credit-union-top-trends-dl').fancybox({
            'scrolling': 'no'
        });
        if (window.location.hash === "#credit-union-top-trends-dl") {
            $(window.location.hash).click();
        }
        $('#healthcare-ransomeware-protection-dl').fancybox({
            'scrolling': 'no'
        });
        if (window.location.hash === "#healthcare-ransomeware-protection-dl") {
            $(window.location.hash).click();
        }
        $('#achieving-hipaa-compliance-dl').fancybox({
            'scrolling': 'no'
        });
        if (window.location.hash === "#achieving-hipaa-compliance-dl") {
            $(window.location.hash).click();
        }
        $('#email-vulnerability-healthcare-dl').fancybox({
            'scrolling': 'no'
        });
        if (window.location.hash === "#email-vulnerability-healthcare-dl") {
            $(window.location.hash).click();
        }
        $('#hero').flexslider({
            animation: "slide",
            selector: ".hero-slides > li",
            slideshow: true,
            controlNav: false,
            touch: false,
            directionNav: true,
            prevText: "Previous",
            nextText: "Next"
        });
        $(".ult_tabmenu").wrap("<div class='ult_tabmenu-wrap'></div>");
        $(".additional-features-button").click(function() {
            $(".additional-features").toggle(1, function() {});
        });
        $(function() {
            $("#plan-toggle").tabs();
        });
        $('li.non-clickable').click(function() {
            return false;
        });
        $(function() {
            $(".rsl-accordion").accordion({
                collapsible: true,
                active: 0,
            });
        });
        $(function() {
            $(".events-accordion").accordion({
                collapsible: true,
                active: 'none',
            });
        });
        $(function() {
            $(".kd1-accordion").accordion({
                collapsible: true,
                active: 'none',
                heightStyle: 'panel'
            });
        });
        $(function() {
            $(".kd2-accordion").accordion({
                collapsible: true,
                active: 'none',
                heightStyle: 'panel'
            });
        });
        $(function() {
            $(".kd3-accordion").accordion({
                collapsible: true,
                active: 'none',
                heightStyle: 'panel'
            });
        });
        $(function() {
            $(".kd4-accordion").accordion({
                collapsible: true,
                active: 'none',
                heightStyle: 'panel'
            });
        });
        $(function() {
            $(".kd5-accordion").accordion({
                collapsible: true,
                active: 'none',
                heightStyle: 'panel'
            });
        });
        $(function() {
            $(".kd6-accordion").accordion({
                collapsible: true,
                active: 'none',
                heightStyle: 'panel'
            });
        });
        var pgurl = window.location.href;
        $("ul.sidebar-cat li").each(function() {
            if ($(this).find('a').attr("href") === pgurl || $(this).find('a').attr("href") === '') {
                $(this).addClass("active");
            }
        });
        $('#mega-menu-primary').hover(function() {
            $('#darkness').doTimeout('hover', 250, 'addClass', 'hover');
        }, function() {
            $('#darkness').doTimeout('hover', 250, 'removeClass', 'hover');
        });
        $(function() {
            $('#darkness').css({
                'height': ($(document).height()) + 'px'
            });
        });
        var stickyTop2 = $('#site-header').offset();
        $(window).scroll(function() {
            if ($(window).scrollTop() > stickyTop2.top) {
                $('#site-header').css({
                    'position': 'fixed',
                    'top': '0px',
                    'margin': '0px',
                    'width': '100%',
                    'padding': '0',
                });
                $('#site-header').addClass('activeScroll');
                $('#mega-menu-wrap-primary #mega-menu-primary').css({
                    'padding': '0 0 0 0'
                });
                $('.site-header__logo a').css({
                    'height': '55px'
                });
            } else {
                $('#site-header').css({
                    'position': 'relative',
                    'top': '0px',
                    'padding': '0'
                });
                $('#site-header').removeClass('activeScroll');
                $('#mega-menu-wrap-primary #mega-menu-primary').css({
                    'padding': '13px 0 15px 0'
                });
                $('.site-header__logo a').css({
                    'height': '75px'
                });
            }
        });
        var stickyTop = $('#submenu').offset();
        $(window).on('scroll', function() {
            if ($(window).scrollTop() >= stickyTop.top) {
                $('#submenu').css({
                    position: 'fixed',
                    top: '55px',
                    margin: '0px',
                    width: '100%',
                    background: 'rgba(244,121,32,0.8)'
                });
            } else {
                $('#submenu').css({
                    position: 'relative',
                    top: '0px'
                });
            }
        });
    }(jQuery));
})();
                                    

#20 JavaScript::Eval (size: 580, repeated: 1) - SHA256: 056bb890801fe471faba6d05149b396537aa7485c97a8a01ec030be5cf423f93

                                        (function() {
    var isWebkit = navigator.userAgent.toLowerCase().indexOf('webkit') > -1,
        isOpera = navigator.userAgent.toLowerCase().indexOf('opera') > -1,
        isIe = navigator.userAgent.toLowerCase().indexOf('msie') > -1;
    if ((isWebkit || isOpera || isIe) && document.getElementById && window.addEventListener) {
        window.addEventListener('hashchange', function() {
            var id = location.hash.substring(1),
                element;
            if (!(/^[A-z0-9_-]+$/.test(id))) {
                return;
            }
            element = document.getElementById(id);
            if (element) {
                if (!(/^(?:a|select|input|button|textarea)$/i.test(element.tagName))) {
                    element.tabIndex = -1;
                }
                element.focus();
            }
        }, false);
    }
})();
                                    

#21 JavaScript::Eval (size: 5880, repeated: 1) - SHA256: d230fc576b608713aa1a092193f715e7ace063b0647c78f7d3427d09fa592d14

                                        (function(factory) {
    if (typeof define === 'function' && define.amd) {
        define(['jquery'], factory);
    } else if (typeof module === 'object' && module.exports) {
        module.exports = factory(require('jquery'));
    } else {
        factory(jQuery);
    }
}(function($) {
    var slice = Array.prototype.slice;
    var splice = Array.prototype.splice;
    var defaults = {
            topSpacing: 0,
            bottomSpacing: 0,
            className: 'is-sticky',
            wrapperClassName: 'sticky-wrapper',
            center: false,
            getWidthFrom: '',
            widthFromWrapper: true,
            responsiveWidth: false,
            zIndex: 'auto'
        },
        $window = $(window),
        $document = $(document),
        sticked = [],
        windowHeight = $window.height(),
        scroller = function() {
            var scrollTop = $window.scrollTop(),
                documentHeight = $document.height(),
                dwh = documentHeight - windowHeight,
                extra = (scrollTop > dwh) ? dwh - scrollTop : 0;
            for (var i = 0, l = sticked.length; i < l; i++) {
                var s = sticked[i],
                    elementTop = s.stickyWrapper.offset().top,
                    etse = elementTop - s.topSpacing - extra;
                s.stickyWrapper.css('height', s.stickyElement.outerHeight());
                if (scrollTop <= etse) {
                    if (s.currentTop !== null) {
                        s.stickyElement.css({
                            'width': '',
                            'position': '',
                            'top': '',
                            'z-index': ''
                        });
                        s.stickyElement.parent().removeClass(s.className);
                        s.stickyElement.trigger('sticky-end', [s]);
                        s.currentTop = null;
                    }
                } else {
                    var newTop = documentHeight - s.stickyElement.outerHeight() - s.topSpacing - s.bottomSpacing - scrollTop - extra;
                    if (newTop < 0) {
                        newTop = newTop + s.topSpacing;
                    } else {
                        newTop = s.topSpacing;
                    }
                    if (s.currentTop !== newTop) {
                        var newWidth;
                        if (s.getWidthFrom) {
                            newWidth = $(s.getWidthFrom).width() || null;
                        } else if (s.widthFromWrapper) {
                            newWidth = s.stickyWrapper.width();
                        }
                        if (newWidth == null) {
                            newWidth = s.stickyElement.width();
                        }
                        s.stickyElement.css('width', newWidth).css('position', 'fixed').css('top', newTop).css('z-index', s.zIndex);
                        s.stickyElement.parent().addClass(s.className);
                        if (s.currentTop === null) {
                            s.stickyElement.trigger('sticky-start', [s]);
                        } else {
                            s.stickyElement.trigger('sticky-update', [s]);
                        }
                        if (s.currentTop === s.topSpacing && s.currentTop > newTop || s.currentTop === null && newTop < s.topSpacing) {
                            s.stickyElement.trigger('sticky-bottom-reached', [s]);
                        } else if (s.currentTop !== null && newTop === s.topSpacing && s.currentTop < newTop) {
                            s.stickyElement.trigger('sticky-bottom-unreached', [s]);
                        }
                        s.currentTop = newTop;
                    }
                    var stickyWrapperContainer = s.stickyWrapper.parent();
                    var unstick = (s.stickyElement.offset().top + s.stickyElement.outerHeight() >= stickyWrapperContainer.offset().top + stickyWrapperContainer.outerHeight()) && (s.stickyElement.offset().top <= s.topSpacing);
                    if (unstick) {
                        s.stickyElement.css('position', 'absolute').css('top', '').css('bottom', 0).css('z-index', '');
                    } else {
                        s.stickyElement.css('position', 'fixed').css('top', newTop).css('bottom', '').css('z-index', s.zIndex);
                    }
                }
            }
        },
        resizer = function() {
            windowHeight = $window.height();
            for (var i = 0, l = sticked.length; i < l; i++) {
                var s = sticked[i];
                var newWidth = null;
                if (s.getWidthFrom) {
                    if (s.responsiveWidth) {
                        newWidth = $(s.getWidthFrom).width();
                    }
                } else if (s.widthFromWrapper) {
                    newWidth = s.stickyWrapper.width();
                }
                if (newWidth != null) {
                    s.stickyElement.css('width', newWidth);
                }
            }
        },
        methods = {
            init: function(options) {
                return this.each(function() {
                    var o = $.extend({}, defaults, options);
                    var stickyElement = $(this);
                    var stickyId = stickyElement.attr('id');
                    var wrapperId = stickyId ? stickyId + '-' + defaults.wrapperClassName : defaults.wrapperClassName;
                    var wrapper = $('<div></div>').attr('id', wrapperId).addClass(o.wrapperClassName);
                    stickyElement.wrapAll(function() {
                        if ($(this).parent("#" + wrapperId).length == 0) {
                            return wrapper;
                        }
                    });
                    var stickyWrapper = stickyElement.parent();
                    if (o.center) {
                        stickyWrapper.css({
                            width: stickyElement.outerWidth(),
                            marginLeft: "auto",
                            marginRight: "auto"
                        });
                    }
                    if (stickyElement.css("float") === "right") {
                        stickyElement.css({
                            "float": "none"
                        }).parent().css({
                            "float": "right"
                        });
                    }
                    o.stickyElement = stickyElement;
                    o.stickyWrapper = stickyWrapper;
                    o.currentTop = null;
                    sticked.push(o);
                    methods.setWrapperHeight(this);
                    methods.setupChangeListeners(this);
                });
            },
            setWrapperHeight: function(stickyElement) {
                var element = $(stickyElement);
                var stickyWrapper = element.parent();
                if (stickyWrapper) {
                    stickyWrapper.css('height', element.outerHeight());
                }
            },
            setupChangeListeners: function(stickyElement) {
                if (window.MutationObserver) {
                    var mutationObserver = new window.MutationObserver(function(mutations) {
                        if (mutations[0].addedNodes.length || mutations[0].removedNodes.length) {
                            methods.setWrapperHeight(stickyElement);
                        }
                    });
                    mutationObserver.observe(stickyElement, {
                        subtree: true,
                        childList: true
                    });
                } else {
                    if (window.addEventListener) {
                        stickyElement.addEventListener('DOMNodeInserted', function() {
                            methods.setWrapperHeight(stickyElement);
                        }, false);
                        stickyElement.addEventListener('DOMNodeRemoved', function() {
                            methods.setWrapperHeight(stickyElement);
                        }, false);
                    } else if (window.attachEvent) {
                        stickyElement.attachEvent('onDOMNodeInserted', function() {
                            methods.setWrapperHeight(stickyElement);
                        });
                        stickyElement.attachEvent('onDOMNodeRemoved', function() {
                            methods.setWrapperHeight(stickyElement);
                        });
                    }
                }
            },
            update: scroller,
            unstick: function(options) {
                return this.each(function() {
                    var that = this;
                    var unstickyElement = $(that);
                    var removeIdx = -1;
                    var i = sticked.length;
                    while (i-- > 0) {
                        if (sticked[i].stickyElement.get(0) === that) {
                            splice.call(sticked, i, 1);
                            removeIdx = i;
                        }
                    }
                    if (removeIdx !== -1) {
                        unstickyElement.unwrap();
                        unstickyElement.css({
                            'width': '',
                            'position': '',
                            'top': '',
                            'float': '',
                            'z-index': ''
                        });
                    }
                });
            }
        };
    if (window.addEventListener) {
        window.addEventListener('scroll', scroller, false);
        window.addEventListener('resize', resizer, false);
    } else if (window.attachEvent) {
        window.attachEvent('onscroll', scroller);
        window.attachEvent('onresize', resizer);
    }
    $.fn.sticky = function(method) {
        if (methods[method]) {
            return methods[method].apply(this, slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
            $.error('Method ' + method + ' does not exist on jQuery.sticky');
        }
    };
    $.fn.unstick = function(method) {
        if (methods[method]) {
            return methods[method].apply(this, slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            return methods.unstick.apply(this, arguments);
        } else {
            $.error('Method ' + method + ' does not exist on jQuery.sticky');
        }
    };
    $(function() {
        setTimeout(scroller, 0);
    });
}));
                                    

#22 JavaScript::Eval (size: 469, repeated: 1) - SHA256: 5e31dc0a62cd9c042b25791d84fd9b1bcdf04d538556de95522597398a4e2f32

                                        // <![CDATA[
MktoForms2.loadForm("//app-abq.marketo.com", "063-MDS-475", 2483, function(form) {
    //Add an onSuccess handler
    form.onSuccess(function(values, followUpUrl) {
        // Take the lead to a different page on successful submit, ignoring the form's configured followUpUrl
        location.href = location.pathname + "/dl";
        // Return false to prevent the submission handler continuing with its own processing
        return false;
    });
});
//
                                    

#23 JavaScript::Eval (size: 23714, repeated: 1) - SHA256: 0dd2cb22f6dfea0c33d85e21b242e4d204c27d838c7a89468099e21fb0e325e9

                                        ;
eval(function(p, a, c, k, e, r) {
    e = function(c) {
        return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
    };
    if (!''.replace(/^/, String)) {
        while (c--) r[e(c)] = k[c] || e(c);
        k = [function(e) {
            return r[e]
        }];
        e = function() {
            return '\\w+'
        };
        c = 1
    };
    while (c--)
        if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]);
    return p
}('2b 22={2a:[{i:\'Z M G\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'V\',b:\'1f\',a:F,h:\'t\'}},{i:\'Z M t\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'V\',b:\'1f\',a:F,h:\'G\'}},{i:\'Z M L\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'V\',b:\'1f\',a:F,h:\'K\'}},{i:\'Z M K\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'V\',b:\'1f\',a:F,h:\'L\'}},{i:\'29\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'13\',b:\'1f\',a:F,h:\'t\'}},{i:\'Y P n\',d:[2,4],g:[4,7],f:{e:1j,j:\'n\'},c:{o:\'13\',b:\'y\',a:F,h:\'t\'}},{i:\'Y P D\',d:[2,4],g:[4,7],f:{e:1j,j:\'D\'},c:{o:\'13\',b:\'y\',a:F,h:\'t\'}},{i:\'Y P 1i-n\',d:[2,4],g:[4,7],f:{e:1j,j:\'1i-n\'},c:{o:\'13\',b:\'y\',a:F,h:\'t\'}},{i:\'Y P 1i-D\',d:[2,4],g:[4,7],f:{e:1j,j:\'1i-D\'},c:{o:\'13\',b:\'y\',a:F,h:\'t\'}},{i:\'Y P (k)\',d:[2,4],g:[4,7],f:{e:1j,j:\'k\'},c:{o:\'13\',b:\'y\',a:F,h:\'t\'}},{i:\'1x 1z M G\',d:1,g:1u,f:{e:25,j:\'D\'},c:{o:\'13\',b:\'28\',a:U,h:\'t\'}},{i:\'1x 1z M t\',d:1,g:1u,f:{e:25,j:\'n\'},c:{o:\'13\',b:\'u\',a:U,h:\'t\'}},{i:\'1x 1z M L\',d:1u,g:1,f:{e:25,j:\'1i-D\'},c:{o:\'13\',b:\'u\',a:U,h:\'t\'}},{i:\'1x 1z M K\',d:1u,g:1,f:{e:25,j:\'1i-n\'},c:{o:\'13\',b:\'u\',a:U,h:\'t\'}},{i:\'1x X M G\',d:1,g:25,f:{e:1j,j:\'D\'},c:{o:\'V\',b:\'u\',a:1e,h:\'t\'}},{i:\'1x X M t\',d:1,g:25,f:{e:1j,j:\'n\'},c:{o:\'V\',b:\'u\',a:1e,h:\'G\'}},{i:\'1x 27 M L\',d:25,g:1,f:{e:1j,j:\'1i-D\'},c:{o:\'V\',b:\'u\',a:1e,h:\'K\'}},{i:\'1x X M K\',d:25,g:1,f:{e:1j,j:\'1i-n\'},c:{o:\'V\',b:\'u\',a:1e,h:\'L\'}},{i:\'Z P m G (k)\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'V\',b:\'y\',a:1l,h:\'G\'}},{i:\'Z P m t (k)\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'V\',b:\'y\',a:1l,h:\'t\'}},{i:\'Z P m L (k)\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'V\',b:\'y\',a:1l,h:\'L\'}},{i:\'Z P m K (k)\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'V\',b:\'y\',a:1l,h:\'K\'}},{i:\'Z k P m k 1R\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'V\',b:\'y\',a:1l,h:\'k\'}},{i:\'Z d m G (n)\',d:[7,11],g:1,f:{e:1a,j:\'n\'},c:{o:\'V\',b:\'u\',a:p,h:\'G\'}},{i:\'Z d m G (D)\',d:[7,11],g:1,f:{e:1a,j:\'D\'},c:{o:\'V\',b:\'u\',a:p,h:\'G\'}},{i:\'Z d m G (k)\',d:[7,11],g:1,f:{e:1a,j:\'k\'},c:{o:\'V\',b:\'u\',a:p,h:\'G\'}},{i:\'Z d m t (n)\',d:[7,11],g:1,f:{e:1a,j:\'n\'},c:{o:\'V\',b:\'u\',a:p,h:\'t\'}},{i:\'Z d m t (D)\',d:[7,11],g:1,f:{e:1a,j:\'D\'},c:{o:\'V\',b:\'u\',a:p,h:\'t\'}},{i:\'Z d m t (k)\',d:[7,11],g:1,f:{e:1a,j:\'k\'},c:{o:\'V\',b:\'u\',a:p,h:\'t\'}},{i:\'Z d M K m L (n)\',d:[7,11],g:1,f:{e:1a,j:\'n\'},c:{o:\'V\',b:\'u\',a:p,h:\'L\'}},{i:\'Z d M K m L (k)\',d:[7,11],g:1,f:{e:1a,j:\'k\'},c:{o:\'V\',b:\'u\',a:p,h:\'L\'}},{i:\'Z d M L m K (D)\',d:[7,11],g:1,f:{e:1a,j:\'D\'},c:{o:\'V\',b:\'u\',a:p,h:\'K\'}},{i:\'Z d M L m K (k)\',d:[7,11],g:1,f:{e:1a,j:\'k\'},c:{o:\'V\',b:\'u\',a:p,h:\'K\'}},{i:\'Z O m L (n)\',d:1,g:[12,16],f:{e:q,j:\'n\'},c:{o:\'V\',b:\'u\',a:p,h:\'L\'}},{i:\'Z O m L (D)\',d:1,g:[12,16],f:{e:q,j:\'D\'},c:{o:\'V\',b:\'u\',a:p,h:\'L\'}},{i:\'Z O m L (k)\',d:1,g:[12,16],f:{e:q,j:\'k\'},c:{o:\'V\',b:\'u\',a:p,h:\'L\'}},{i:\'Z O m K (n)\',d:1,g:[12,16],f:{e:q,j:\'n\'},c:{o:\'V\',b:\'u\',a:p,h:\'K\'}},{i:\'Z O m K (D)\',d:1,g:[12,16],f:{e:q,j:\'D\'},c:{o:\'V\',b:\'u\',a:p,h:\'K\'}},{i:\'Z O m K (k)\',d:1,g:[12,16],f:{e:q,j:\'k\'},c:{o:\'V\',b:\'u\',a:p,h:\'K\'}},{i:\'Z O M t m G (n)\',d:1,g:[12,16],f:{e:q,j:\'n\'},c:{o:\'V\',b:\'u\',a:p,h:\'G\'}},{i:\'Z O M t m G (k)\',d:1,g:[12,16],f:{e:q,j:\'k\'},c:{o:\'V\',b:\'u\',a:p,h:\'G\'}},{i:\'Z O M G m t (D)\',d:1,g:[12,16],f:{e:q,j:\'D\'},c:{o:\'V\',b:\'u\',a:p,h:\'t\'}},{i:\'Z O M G m t (k)\',d:1,g:[12,16],f:{e:q,j:\'k\'},c:{o:\'V\',b:\'u\',a:p,h:\'t\'}},{i:\'Y s X P m G (k)\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'Q\',b:\'y\',a:1l,h:\'G\'}},{i:\'Y s X P m t (k)\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'Q\',b:\'y\',a:1l,h:\'t\'}},{i:\'Y s X P m L (k)\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'Q\',b:\'y\',a:1l,h:\'L\'}},{i:\'Y s X P m K (k)\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'Q\',b:\'y\',a:1l,h:\'K\'}},{i:\'Y s X k P m k 1R\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'Q\',b:\'y\',a:1l,h:\'k\'}},{i:\'Y s X P M K-t (n)\',d:[2,4],g:[4,7],f:{e:1c,j:\'n\'},c:{o:\'Q\',b:\'y\',a:1l,h:\'26\'}},{i:\'Y s X P M L-G (D)\',d:[2,4],g:[4,7],f:{e:1c,j:\'D\'},c:{o:\'Q\',b:\'y\',a:1l,h:\'1Y\'}},{i:\'Y s X P M K-G (k)\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'Q\',b:\'y\',a:1l,h:\'1W\'}},{i:\'Y s X P M L-t (k)\',d:[2,4],g:[4,7],f:{e:1c,j:\'k\'},c:{o:\'Q\',b:\'y\',a:1l,h:\'23\'}},{i:\'Y s X d m G (n)\',d:[7,11],g:1,f:{e:1a,j:\'n\'},c:{o:\'Q\',b:\'u\',a:p,h:\'G\'}},{i:\'Y s X d m G (D)\',d:[7,11],g:1,f:{e:1a,j:\'D\'},c:{o:\'Q\',b:\'u\',a:p,h:\'G\'}},{i:\'Y s X d m G (k)\',d:[7,11],g:1,f:{e:1a,j:\'k\'},c:{o:\'Q\',b:\'u\',a:p,h:\'G\'}},{i:\'Y s X d m t (n)\',d:[7,11],g:1,f:{e:1a,j:\'n\'},c:{o:\'Q\',b:\'u\',a:p,h:\'t\'}},{i:\'Y s X d m t (D)\',d:[7,11],g:1,f:{e:1a,j:\'D\'},c:{o:\'Q\',b:\'u\',a:p,h:\'t\'}},{i:\'Y s X d m t (k)\',d:[7,11],g:1,f:{e:1a,j:\'k\'},c:{o:\'Q\',b:\'u\',a:p,h:\'t\'}},{i:\'Y s X d M K m L (n)\',d:[7,11],g:1,f:{e:1a,j:\'n\'},c:{o:\'Q\',b:\'u\',a:p,h:\'L\'}},{i:\'Y s X d M K m L (k)\',d:[7,11],g:1,f:{e:1a,j:\'k\'},c:{o:\'Q\',b:\'u\',a:p,h:\'L\'}},{i:\'Y s X d M L m K (D)\',d:[7,11],g:1,f:{e:1a,j:\'D\'},c:{o:\'Q\',b:\'u\',a:p,h:\'K\'}},{i:\'Y s X d M L m K (k)\',d:[7,11],g:1,f:{e:1a,j:\'k\'},c:{o:\'Q\',b:\'u\',a:p,h:\'K\'}},{i:\'Y s X O m L (n)\',d:1,g:[12,16],f:{e:q,j:\'n\'},c:{o:\'Q\',b:\'u\',a:p,h:\'L\'}},{i:\'Y s X O m L (D)\',d:1,g:[12,16],f:{e:q,j:\'D\'},c:{o:\'Q\',b:\'u\',a:p,h:\'L\'}},{i:\'Y s X O m L (k)\',d:1,g:[12,16],f:{e:q,j:\'k\'},c:{o:\'Q\',b:\'u\',a:p,h:\'L\'}},{i:\'Y s X O m K (n)\',d:1,g:[12,16],f:{e:q,j:\'n\'},c:{o:\'Q\',b:\'u\',a:p,h:\'K\'}},{i:\'Y s X O m K (D)\',d:1,g:[12,16],f:{e:q,j:\'D\'},c:{o:\'Q\',b:\'u\',a:p,h:\'K\'}},{i:\'Y s X O m K (k)\',d:1,g:[12,16],f:{e:q,j:\'k\'},c:{o:\'Q\',b:\'u\',a:p,h:\'K\'}},{i:\'Y s X O M t m G (n)\',d:1,g:[12,16],f:{e:q,j:\'n\'},c:{o:\'Q\',b:\'u\',a:p,h:\'G\'}},{i:\'Y s X O M t m G (k)\',d:1,g:[12,16],f:{e:q,j:\'k\'},c:{o:\'Q\',b:\'u\',a:p,h:\'G\'}},{i:\'Y s X O M G m t (D)\',d:1,g:[12,16],f:{e:q,j:\'D\'},c:{o:\'Q\',b:\'u\',a:p,h:\'t\'}},{i:\'Y s X O M G m t (k)\',d:1,g:[12,16],f:{e:q,j:\'k\'},c:{o:\'Q\',b:\'u\',a:p,h:\'t\'}},{i:\'1v\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'Q\',b:\'1f\',a:U,h:\'t\',1g:0.5}},{i:\'1v d\',d:4,g:1,f:{e:1c,j:\'n\'},c:{o:\'Q\',b:\'1f\',a:U,h:\'t\',1g:0.5}},{i:\'1v g\',d:1,g:4,f:{e:1c,j:\'n\'},c:{o:\'Q\',b:\'1f\',a:U,h:\'t\',1g:0.5}},{i:\'1v P z\',d:3,g:4,f:{e:1u,j:\'n\'},c:{o:\'Q\',b:\'1f\',a:U,h:\'t\',1g:0.5,x:v}},{i:\'1v P C\',d:3,g:4,f:{e:1u,j:\'n\'},c:{o:\'Q\',b:\'1f\',a:U,h:\'K\',1g:0.5,w:-v}},{i:\'1v-1H P z\',d:3,g:4,f:{e:15,j:\'n\'},c:{o:\'Q\',b:\'1f\',a:U,h:\'t\',1g:0.5,x:v}},{i:\'1v-1H P C\',d:3,g:4,f:{e:15,j:\'n\'},c:{o:\'Q\',b:\'1f\',a:U,h:\'K\',1g:0.5,w:-v}},{i:\'1v 1H d\',d:4,g:1,f:{e:1c,j:\'n\'},c:{o:\'Q\',b:\'1f\',a:U,h:\'G\',1g:0.5}},{i:\'1v 1H g\',d:1,g:4,f:{e:1c,j:\'n\'},c:{o:\'Q\',b:\'1f\',a:U,h:\'t\',1g:0.5}},{i:\'1d f M t\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'V\',b:\'y\',a:U,h:\'G\',x:v}},{i:\'1d f M G\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'V\',b:\'y\',a:U,h:\'t\',x:-v}},{i:\'1d f M K\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'V\',b:\'y\',a:U,h:\'L\',w:-v}},{i:\'1d f M L\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'V\',b:\'y\',a:U,h:\'K\',w:v}},{i:\'1d P M t\',d:[3,4],g:[3,4],f:{e:19,j:\'n\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',x:v}},{i:\'1d P M G\',d:[3,4],g:[3,4],f:{e:19,j:\'D\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',x:-v}},{i:\'1d P M K\',d:[3,4],g:[3,4],f:{e:19,j:\'n\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',w:-v}},{i:\'1d P M L\',d:[3,4],g:[3,4],f:{e:19,j:\'D\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',w:v}},{i:\'1d d M K\',d:[6,12],g:1,f:{e:19,j:\'n\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',w:v}},{i:\'1d d M L\',d:[6,12],g:1,f:{e:19,j:\'D\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',w:-v}},{i:\'1d g M t\',d:1,g:[6,12],f:{e:19,j:\'n\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',x:-v}},{i:\'1d g M G\',d:1,g:[6,12],f:{e:19,j:\'D\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',x:v}},{i:\'1w d M t\',d:[3,10],g:1,f:{e:19,j:\'n\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',x:v}},{i:\'1w d M G\',d:[3,10],g:1,f:{e:19,j:\'D\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',x:-v}},{i:\'1w g M K\',d:1,g:[3,10],f:{e:19,j:\'n\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',w:-v}},{i:\'1w g M L\',d:1,g:[3,10],f:{e:19,j:\'D\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',w:v}},{i:\'1w s 1q f M t\',d:1,g:1,f:{e:q,j:\'n\'},c:{o:\'Q\',b:\'y\',a:U,h:\'G\',1g:0.1,1s:-v,x:v}},{i:\'1w s 1q f M G\',d:1,g:1,f:{e:q,j:\'n\'},c:{o:\'Q\',b:\'y\',a:U,h:\'t\',1g:0.1,1s:v,x:-v}},{i:\'1w s 1q P M t\',d:[3,4],g:[3,4],f:{e:19,j:\'n\'},c:{o:\'Q\',b:\'y\',a:U,h:\'G\',1s:-1r}},{i:\'1w s 1q P M G\',d:[3,4],g:[3,4],f:{e:19,j:\'n\'},c:{o:\'Q\',b:\'y\',a:U,h:\'t\',1s:-1r}},{i:\'1w s 1q P M k\',d:[3,4],g:[3,4],f:{e:19,j:\'k\'},c:{o:\'Q\',b:\'y\',a:U,h:\'k\',1s:-1r}},{i:\'E f 1Q\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'13\',b:\'y\',a:18,h:\'t\',1g:0.8}},{i:\'E f M 1L\',d:1,g:1,f:{e:0,j:\'n\'},c:{o:\'13\',b:\'u\',a:18,h:\'t\',1g:1.2}},{i:\'E P k\',d:[3,4],g:[3,4],f:{e:1u,j:\'k\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',1g:0.1}},{i:\'E P M 1L k\',d:[3,4],g:[3,4],f:{e:1u,j:\'k\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',1g:2}},{i:\'E 1Q s 1q P k\',d:[3,4],g:[3,4],f:{e:1u,j:\'k\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',1g:0.1,1s:v}},{i:\'E s 1q P M 1L k\',d:[3,4],g:[3,4],f:{e:1u,j:\'k\'},c:{o:\'13\',b:\'y\',a:U,h:\'t\',1g:2,1s:-v}},{i:\'1F-X P 21\',d:3,g:4,f:{e:15,j:\'n\'},c:{o:\'V\',b:\'u\',a:24,h:\'1W\'}},{i:\'1F-X d z\',d:6,g:1,f:{e:0,j:\'n\'},c:{o:\'Q\',b:\'y\',a:U,h:\'t\'}},{i:\'1F-X d C\',d:6,g:1,f:{e:0,j:\'n\'},c:{o:\'Q\',b:\'y\',a:U,h:\'K\'}},{i:\'1F-X g z\',d:1,g:8,f:{e:0,j:\'n\'},c:{o:\'Q\',b:\'y\',a:U,h:\'t\'}},{i:\'1F-X g C\',d:1,g:8,f:{e:0,j:\'n\'},c:{o:\'Q\',b:\'y\',a:U,h:\'K\'}}],1Z:[{i:\'1b f m G (l�)\',d:1,g:1,f:{e:q,j:\'n\'},r:{c:{x:1J},b:\'1A\',a:F,h:\'z\'},A:{c:{x:l},b:\'y\',a:F,h:\'z\'}},{i:\'1b f m t (l�)\',d:1,g:1,f:{e:q,j:\'n\'},r:{c:{x:-1J},b:\'1A\',a:F,h:\'z\'},A:{c:{x:-l},b:\'y\',a:F,h:\'z\'}},{i:\'1b f m L (l�)\',d:1,g:1,f:{e:q,j:\'n\'},r:{c:{w:-1J},b:\'1A\',a:1y,h:\'C\'},A:{c:{w:-l},b:\'y\',a:1y,h:\'C\'}},{i:\'1b f m K (l�)\',d:1,g:1,f:{e:q,j:\'n\'},r:{c:{w:1J},b:\'1A\',a:1y,h:\'C\'},A:{c:{w:l},b:\'y\',a:1y,h:\'C\'}},{i:\'1b P m G (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'n\'},r:{c:{x:l},b:\'u\',a:F,h:\'z\'}},{i:\'1b P m t (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'D\'},r:{c:{x:-l},b:\'u\',a:F,h:\'z\'}},{i:\'1b P m L (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'1i-n\'},r:{c:{w:-l},b:\'u\',a:F,h:\'C\'}},{i:\'1b P m K (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'1i-D\'},r:{c:{w:l},b:\'u\',a:F,h:\'C\'}},{i:\'1G S P k (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'k\'},r:{c:{x:l},b:\'u\',a:1K,h:\'z\'}},{i:\'1E S P k (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'k\'},r:{c:{w:l},b:\'u\',a:1K,h:\'C\'}},{i:\'E s S P m G (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'n\'},I:{c:{B:0.1D},a:1n,b:\'14\'},r:{c:{x:l},b:\'H\',a:F,h:\'z\'},A:{a:1e,b:\'H\'}},{i:\'E s S P m t (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'D\'},I:{c:{B:0.1D},a:1n,b:\'14\'},r:{c:{x:-l},b:\'H\',a:F,h:\'z\'},A:{a:1e,b:\'H\'}},{i:\'E s S P m L (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'1i-n\'},I:{c:{B:0.1D},a:1n,b:\'14\'},r:{c:{w:-l},b:\'H\',a:F,h:\'C\'},A:{a:1e,b:\'H\'}},{i:\'E s S P m K (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'1i-D\'},I:{c:{B:0.1D},a:1n,b:\'14\'},r:{c:{w:l},b:\'H\',a:F,h:\'C\'},A:{a:1e,b:\'H\'}},{i:\'E s z S P k (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'k\'},I:{c:{B:0.1D,w:1j},a:1n,b:\'14\'},r:{c:{x:l,w:-1j},b:\'H\',a:1K,h:\'z\'},A:{c:{w:0},a:1e,b:\'H\'}},{i:\'E s C S P k (l�)\',d:[2,4],g:[4,7],f:{e:q,j:\'k\'},I:{c:{B:0.1D,x:-15},a:1n,b:\'14\'},r:{c:{w:l,x:15},b:\'H\',a:1K,h:\'C\'},A:{c:{x:0},a:1e,b:\'H\'}},{i:\'1b d m G (l�)\',d:[5,9],g:1,f:{e:q,j:\'n\'},r:{c:{x:l},b:\'u\',a:18,h:\'z\'}},{i:\'1b d m t (l�)\',d:[5,9],g:1,f:{e:q,j:\'n\'},r:{c:{x:-l},b:\'u\',a:18,h:\'z\'}},{i:\'1b d m L (l�)\',d:[5,9],g:1,f:{e:q,j:\'n\'},r:{c:{w:-l},b:\'u\',a:F,h:\'C\'}},{i:\'1b d m K (l�)\',d:[5,9],g:1,f:{e:q,j:\'D\'},r:{c:{w:l},b:\'u\',a:F,h:\'C\'}},{i:\'1G S d k (l�)\',d:[5,9],g:1,f:{e:q,j:\'k\'},r:{c:{x:l},b:\'u\',a:18,h:\'z\'}},{i:\'1E S d k (l�)\',d:[5,9],g:1,f:{e:q,j:\'k\'},r:{c:{w:-l},b:\'u\',a:18,h:\'C\'}},{i:\'1E S d k (1C�)\',d:[3,7],g:1,f:{e:1N,j:\'k\'},r:{c:{w:-1C},b:\'u\',a:1O,h:\'C\'}},{i:\'E s S d m G (l�)\',d:[5,9],g:1,f:{e:19,j:\'n\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:l},b:\'H\',a:1m,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s S d m t (l�)\',d:[5,9],g:1,f:{e:19,j:\'D\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:-l},b:\'H\',a:1m,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s S d m L (l�)\',d:[5,9],g:1,f:{e:19,j:\'n\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-l},b:\'u\',a:p,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s S d m K (l�)\',d:[5,9],g:1,f:{e:19,j:\'D\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:l},b:\'u\',a:p,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s z S d k (l�)\',d:[5,9],g:1,f:{e:19,j:\'k\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:l},b:\'H\',a:1m,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s C S d k (l�)\',d:[5,9],g:1,f:{e:19,j:\'k\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-l},b:\'H\',a:p,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'1b O m G (l�)\',d:1,g:[5,9],f:{e:q,j:\'n\'},r:{c:{x:l},b:\'u\',a:18,h:\'z\'}},{i:\'1b O m t (l�)\',d:1,g:[5,9],f:{e:q,j:\'n\'},r:{c:{x:-l},b:\'u\',a:18,h:\'z\'}},{i:\'1b O m L (l�)\',d:1,g:[5,9],f:{e:q,j:\'n\'},r:{c:{w:-l},b:\'u\',a:F,h:\'C\'}},{i:\'1b O m K (l�)\',d:1,g:[5,9],f:{e:q,j:\'D\'},r:{c:{w:l},b:\'u\',a:F,h:\'C\'}},{i:\'1G S O k (l�)\',d:1,g:[5,9],f:{e:q,j:\'k\'},r:{c:{x:l},b:\'u\',a:18,h:\'z\'}},{i:\'1E S O k (l�)\',d:1,g:[5,9],f:{e:q,j:\'k\'},r:{c:{w:-l},b:\'u\',a:18,h:\'C\'}},{i:\'1G S O k (1C�)\',d:1,g:[4,9],f:{e:1N,j:\'k\'},r:{c:{x:1C},b:\'u\',a:1O,h:\'z\'}},{i:\'E s S O m G (l�)\',d:1,g:[7,11],f:{e:19,j:\'n\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:l},b:\'u\',a:p,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s S O m t (l�)\',d:1,g:[7,11],f:{e:19,j:\'D\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:-l},b:\'u\',a:p,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s S O m L (l�)\',d:1,g:[7,11],f:{e:19,j:\'n\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-l},b:\'H\',a:1m,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s S O m K (l�)\',d:1,g:[7,11],f:{e:q,j:\'D\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:l},b:\'H\',a:1m,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s z S O k (l�)\',d:1,g:[7,11],f:{e:q,j:\'k\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:l},b:\'H\',a:p,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s C S O k (l�)\',d:1,g:[7,11],f:{e:q,j:\'k\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-l},b:\'H\',a:1m,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'1T 1U 1V s S m G (l�)\',d:1,g:[7,11],f:{e:q,j:\'n\'},I:{c:{B:0.N,w:-1j},a:p,b:\'y\'},r:{c:{w:-1j,x:l},b:\'u\',a:F,h:\'z\'},A:{c:{w:0,e:W},b:\'y\',a:p}},{i:\'1T 1U 1V s S m t (l�)\',d:1,g:[7,11],f:{e:q,j:\'D\'},I:{c:{B:0.N,w:-1j},a:p,b:\'y\'},r:{c:{w:1j,x:-l},b:\'u\',a:F,h:\'z\'},A:{c:{w:0,e:W},b:\'y\',a:p}},{i:\'1d 1t m G (v�)\',d:1,g:1,f:{e:q,j:\'n\'},r:{c:{x:v},b:\'u\',a:18,h:\'z\'}},{i:\'1d 1t m t (v�)\',d:1,g:1,f:{e:q,j:\'n\'},r:{c:{x:-v},b:\'u\',a:18,h:\'z\'}},{i:\'1d 1t m L (v�)\',d:1,g:1,f:{e:q,j:\'n\'},r:{c:{w:-v},b:\'u\',a:18,h:\'C\'}},{i:\'1d 1t m K (v�)\',d:1,g:1,f:{e:q,j:\'n\'},r:{c:{w:v},b:\'u\',a:18,h:\'C\'}},{i:\'E s 17 1t m G (v�)\',d:1,g:1,f:{e:q,j:\'k\'},r:{c:{B:0.8,1s:7,w:10,x:1r},b:\'1f\',a:1y,h:\'z\'},A:{c:{1s:0,w:0,x:v},a:1y,b:\'1f\'}},{i:\'E s 17 1t m t (v�)\',d:1,g:1,f:{e:q,j:\'k\'},r:{c:{B:0.8,1s:-7,w:10,x:-1r},b:\'1f\',a:1y,h:\'z\'},A:{c:{1s:0,w:0,x:-v},a:1y,b:\'1f\'}},{i:\'E s 17 1k m G (v�)\',d:[2,4],g:[4,7],f:{e:q,j:\'n\'},I:{c:{B:0.N},a:1n,b:\'14\'},r:{c:{x:v},b:\'H\',a:F,h:\'z\'},A:{a:1e,b:\'H\'}},{i:\'E s 17 1k m t (v�)\',d:[2,4],g:[4,7],f:{e:q,j:\'D\'},I:{c:{B:0.N},a:1n,b:\'14\'},r:{c:{x:-v},b:\'H\',a:F,h:\'z\'},A:{a:1e,b:\'H\'}},{i:\'E s 17 1k m L (v�)\',d:[2,4],g:[4,7],f:{e:q,j:\'1i-n\'},I:{c:{B:0.N},a:1n,b:\'14\'},r:{c:{w:-v},b:\'H\',a:F,h:\'C\'},A:{a:1e,b:\'H\'}},{i:\'E s 17 1k m K (v�)\',d:[2,4],g:[4,7],f:{e:q,j:\'1i-D\'},I:{c:{B:0.N},a:1n,b:\'14\'},r:{c:{w:v},b:\'H\',a:F,h:\'C\'},A:{a:1e,b:\'H\'}},{i:\'E s z 17 1k k (v�)\',d:[2,4],g:[4,7],f:{e:q,j:\'k\'},I:{c:{B:0.q,w:-15},a:1p,b:\'14\'},r:{c:{x:q,w:15},b:\'H\',a:1p,h:\'z\'},A:{c:{x:v,w:0},a:1p,b:\'H\'}},{i:\'E s C 17 1k k (v�)\',d:[2,4],g:[4,7],f:{e:q,j:\'k\'},I:{c:{B:0.q,x:15},a:1p,b:\'14\'},r:{c:{w:q,x:-15},b:\'H\',a:1p,h:\'C\'},A:{c:{w:v,x:0},a:1p,b:\'H\'}},{i:\'1d d m G (v�)\',d:[5,9],g:1,f:{e:q,j:\'n\'},r:{c:{x:v},b:\'u\',a:18,h:\'z\'}},{i:\'1d d m t (v�)\',d:[5,9],g:1,f:{e:q,j:\'n\'},r:{c:{x:-v},b:\'u\',a:18,h:\'z\'}},{i:\'1G 17 d k (v�)\',d:[5,9],g:1,f:{e:q,j:\'k\'},r:{c:{x:v},b:\'u\',a:18,h:\'z\'}},{i:\'E s 17 d m G (v�)\',d:[5,9],g:1,f:{e:q,j:\'n\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:20},b:\'H\',a:F,h:\'z\'},A:{c:{e:W,x:v},b:\'J\',a:p}},{i:\'E s 17 d m t (v�)\',d:[5,9],g:1,f:{e:q,j:\'D\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:-v},b:\'H\',a:F,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s 17 d m L (v�)\',d:[5,9],g:1,f:{e:q,j:\'n\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-v},b:\'H\',a:F,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s 17 d m K (v�)\',d:[5,9],g:1,f:{e:q,j:\'D\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:v},b:\'H\',a:F,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s z 17 d k (v�)\',d:[5,9],g:1,f:{e:q,j:\'k\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:v},b:\'H\',a:F,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s C 17 d k (v�)\',d:[5,9],g:1,f:{e:q,j:\'k\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-v},b:\'H\',a:F,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s z 17 1I d m G (v�)\',d:[7,11],g:1,f:{e:q,j:\'n\'},r:{c:{B:0.N,x:1r},b:\'14\',a:F,h:\'z\'},A:{c:{x:v},b:\'14\',a:F}},{i:\'E s z 17 1I d m t (v�)\',d:[7,11],g:1,f:{e:q,j:\'D\'},r:{c:{B:0.N,x:-1r},b:\'14\',a:F,h:\'z\'},A:{c:{x:-v},b:\'14\',a:F}},{i:\'1d O m L (v�)\',d:1,g:[5,9],f:{e:q,j:\'n\'},r:{c:{w:-v},b:\'u\',a:F,h:\'C\'}},{i:\'1d O m K (v�)\',d:1,g:[5,9],f:{e:q,j:\'D\'},r:{c:{w:v},b:\'u\',a:F,h:\'C\'}},{i:\'1E 17 O k (v�)\',d:1,g:[5,9],f:{e:q,j:\'k\'},r:{c:{w:-v},b:\'u\',a:F,h:\'C\'}},{i:\'E s 17 O m L (v�)\',d:1,g:[7,11],f:{e:q,j:\'n\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-v},b:\'H\',a:F,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s 17 O m K (v�)\',d:1,g:[7,11],f:{e:q,j:\'D\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:v},b:\'H\',a:F,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s 17 O m G (v�)\',d:1,g:[7,11],f:{e:q,j:\'n\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:v},b:\'H\',a:F,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s 17 O m t (v�)\',d:1,g:[7,11],f:{e:q,j:\'D\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:-v},b:\'H\',a:F,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s z 17 O k (v�)\',d:1,g:[7,11],f:{e:q,j:\'k\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:v},b:\'H\',a:F,h:\'z\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s C 17 O k (v�)\',d:1,g:[7,11],f:{e:q,j:\'k\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-v},b:\'H\',a:F,h:\'C\'},A:{c:{e:W},b:\'J\',a:p}},{i:\'E s C 17 1I O m G (v�)\',d:1,g:[7,11],f:{e:q,j:\'n\'},r:{c:{B:0.N,w:1r},b:\'14\',a:F,h:\'C\'},A:{c:{w:v},b:\'14\',a:F}},{i:\'E s C 17 1I O m t (v�)\',d:1,g:[7,11],f:{e:q,j:\'D\'},r:{c:{B:0.N,w:-1r},b:\'14\',a:F,h:\'C\'},A:{c:{w:-v},b:\'14\',a:F}},{i:\'1b 1t m G (l�, R T)\',d:1,g:1,f:{e:q,j:\'n\',T:\'R\'},r:{c:{x:l},b:\'u\',a:18,h:\'z\'}},{i:\'1b 1t m t (l�, R T)\',d:1,g:1,f:{e:q,j:\'n\',T:\'R\'},r:{c:{x:-l},b:\'u\',a:18,h:\'z\'}},{i:\'1b 1t m L (l�, R T)\',d:1,g:1,f:{e:q,j:\'n\',T:\'R\'},r:{c:{w:-l},b:\'u\',a:18,h:\'C\'}},{i:\'1b 1t m K (l�, R T)\',d:1,g:1,f:{e:q,j:\'n\',T:\'R\'},r:{c:{w:l},b:\'u\',a:18,h:\'C\'}},{i:\'E s S 1k m G (l�, R T)\',d:[2,4],g:[4,7],f:{e:q,j:\'n\',T:\'R\'},I:{c:{B:0.N},a:1n,b:\'14\'},r:{c:{x:l},b:\'H\',a:F,h:\'z\'},A:{a:1e,b:\'H\'}},{i:\'E s S 1k m t (l�, R T)\',d:[2,4],g:[4,7],f:{e:q,j:\'D\',T:\'R\'},I:{c:{B:0.N},a:1n,b:\'14\'},r:{c:{x:-l},b:\'H\',a:F,h:\'z\'},A:{a:1e,b:\'H\'}},{i:\'E s S 1k m L (l�, R T)\',d:[2,4],g:[4,7],f:{e:q,j:\'1i-n\',T:\'R\'},I:{c:{B:0.N},a:1n,b:\'14\'},r:{c:{w:-l},b:\'H\',a:F,h:\'C\'},A:{a:1e,b:\'H\'}},{i:\'E s S 1k m K (l�, R T)\',d:[2,4],g:[4,7],f:{e:q,j:\'1i-D\',T:\'R\'},I:{c:{B:0.N},a:1n,b:\'14\'},r:{c:{w:l},b:\'H\',a:F,h:\'C\'},A:{a:1e,b:\'H\'}},{i:\'E s z S 1k k (l�, R T)\',d:[2,4],g:[4,7],f:{e:q,j:\'k\',T:\'R\'},I:{c:{B:0.1h},a:1p,b:\'14\'},r:{c:{x:l},b:\'H\',a:1p,h:\'z\'},A:{a:1p,b:\'H\'}},{i:\'E s C S 1k k (l�, R T)\',d:[2,4],g:[4,7],f:{e:q,j:\'k\',T:\'R\'},I:{c:{B:0.1h},a:1p,b:\'14\'},r:{c:{w:l},b:\'H\',a:1p,h:\'C\'},A:{a:1p,b:\'H\'}},{i:\'E s S d m G (l�, R T)\',d:[5,9],g:1,f:{e:1h,j:\'n\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:l},b:\'u\',a:1m,h:\'z\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s S d m t (l�, R T)\',d:[5,9],g:1,f:{e:1h,j:\'D\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:-l},b:\'u\',a:1m,h:\'z\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s S d m L (l�, R T)\',d:[5,9],g:1,f:{e:1h,j:\'n\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-l},b:\'H\',a:F,h:\'C\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s S d m K (l�, R T)\',d:[5,9],g:1,f:{e:1h,j:\'D\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:l},b:\'H\',a:F,h:\'C\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s z S d k (l�, R T)\',d:[5,9],g:1,f:{e:1h,j:\'k\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:l},b:\'u\',a:1m,h:\'z\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s C S d k (l�, R T)\',d:[5,9],g:1,f:{e:1h,j:\'k\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-l},b:\'H\',a:F,h:\'C\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s S O m L (l�, R T)\',d:1,g:[7,11],f:{e:1h,j:\'n\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-l},b:\'u\',a:1m,h:\'C\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s S O m K (l�, R T)\',d:1,g:[7,11],f:{e:1h,j:\'D\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:l},b:\'u\',a:1m,h:\'C\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s S O m G (l�, R T)\',d:1,g:[7,11],f:{e:1h,j:\'n\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:l},b:\'H\',a:F,h:\'z\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s S O m t (l�, R T)\',d:1,g:[7,11],f:{e:1h,j:\'D\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:-l},b:\'H\',a:F,h:\'z\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s z S O k (l�, R T)\',d:1,g:[7,11],f:{e:1h,j:\'k\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{x:l},b:\'H\',a:F,h:\'z\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'E s C S O k (l�, R T)\',d:1,g:[7,11],f:{e:1h,j:\'k\',T:\'R\'},I:{c:{B:0.N},a:p,b:\'J\'},r:{c:{w:-l},b:\'u\',a:1m,h:\'C\'},A:{c:{e:W},b:\'y\',a:1o}},{i:\'1S 1q s 1z 1M\',d:1,g:1,f:{e:1,j:\'n\',T:\'R\'},I:{c:{B:0.1h,x:-1P,1B:0},a:18,b:\'1A\'},r:{c:{B:1,x:-1C,1B:1},b:\'y\',a:18,h:\'z\'}},{i:\'1X 1q s 1z 1M\',d:1,g:1,f:{e:1,j:\'n\',T:\'R\'},I:{c:{B:0.1h,w:-1P,1B:0},a:18,b:\'1A\'},r:{c:{B:1,w:-1C,1B:1},b:\'y\',a:18,h:\'C\'}},{i:\'1S 1q s 1z 1k\',d:[2,3],g:[3,5],f:{e:1c,j:\'k\'},I:{c:{B:0.q,1B:0},a:1e,b:\'1A\'},r:{c:{x:-1r,w:l},b:\'u\',a:1,h:\'C\'},A:{c:{x:0,1B:1},b:\'y\',a:1m}},{i:\'1X 1q s 1z 1k\',d:[2,3],g:[3,5],f:{e:1c,j:\'k\'},I:{c:{B:0.q,1B:0},a:1e,b:\'1A\'},r:{c:{w:-1r,x:l},b:\'u\',a:1,h:\'z\'},A:{c:{w:0,1B:1},b:\'y\',a:1m}}]};', 62, 136, '||||||||||duration|easing|transition|rows|delay|tile|cols|direction|name|sequence|random|180|to|forward|type|600|75|animation|and|left|easeInOutQuart|90|rotateX|rotateY|easeOutQuart|horizontal|after|scale3d|vertical|reverse|Scaling|1000|right|easeInOutBack|before|easeOutBack|top|bottom|from|85|columns|tiles|mixed|large|spinning|depth|750|slide|200|sliding|Fading|Sliding||||fade|easeInOutQuint|||turning|1500|55|100|Spinning|50|Turning|350|easeInOutQuad|scale|65|col|30|cuboids|500|1200|450|400|700|rotating|45|rotate|cuboid|35|Carousel|Flying|Smooth|800|fading|easeInQuart|opacity|540|95|Vertical|Mirror|Horizontal|mirror|drunk|91|1300|out|cube|150|2000|270|in|directions|Horizontally|Drunk|colums|scaling|topright|Vertically|bottomright|t3d|87|diagonal|layerSliderTransitions|bottomleft|850||topleft|sliging|linear|Crossfading|t2d|var'.split('|'), 0, {}));
                                    

#24 JavaScript::Eval (size: 2745, repeated: 1) - SHA256: 0ebabb1c5e143a3923b5ec84a22cc808eb28946433aa67fc7f21524ebbefbcde

                                        function synved_shortcode_apply_all(context) {
    if (context == undefined || context == null) context = document;
    try {
        jQuery('.noselect', context).unselectable();
    } catch (ex) {}
    jQuery('.synved-section-list', context).each(function() {
        var sections = jQuery(this);
        sections.find('h4.section-title a').each(function() {
            var tab = this;
            if (tab.href != '' && tab.href[0] != '#') {
                var hash = jQuery.param.fragment(tab.href);
                tab.href = '#' + hash;
            }
        });
    });
    jQuery('.synved-section-list', context).removeClass('synved-section-list-nojs').each(function() {
        var jthis = jQuery(this);
        var params = {
            autoHeight: false,
            navigation: true,
            heightStyle: 'content'
        };
        if (jthis.hasClass('synved-sections-height-fill')) {
            params.heightStyle = 'fill';
        } else if (jthis.hasClass('synved-sections-height-auto')) {
            params.heightStyle = 'auto';
        }
        if (jthis.hasClass('synved-sections-collapse')) {
            params.collapsible = true;
        }
        if (jthis.hasClass('synved-sections-collapse-always')) {
            params.active = false;
        } else {
            var hash = window.location.hash;
            var active = -1;
            var index = 0;
            jthis.find('h4.section-title a').each(function() {
                var tab = this;
                if (tab.href != '' && tab.href[0] != '#') {
                    var tabHash = '#' + jQuery.param.fragment(tab.href);
                    if (tabHash == hash) {
                        active = index;
                    }
                }
                index++;
            });
            if (active >= 0) {
                params.active = active;
            }
        }
        jthis.accordion(params);
    });
    jQuery('.synved-tab-list.synved-content-dynamic', context).each(function() {
        var tabs = jQuery(this);
        tabs.find('li.tab-title a').each(function() {
            var tab = this;
            var hash = jQuery.param.fragment(tab.href);
            var args = {
                synved_dynamic_load: true
            };
            var url = jQuery.param.querystring(tab.href, args);
            jQuery.data(tab, 'synved-tab-link', url);
            tab.href = '#' + hash;
        });
    }).removeClass('synved-content-dynamic');
    jQuery('.synved-tab-list', context).each(function() {
        var tabs = jQuery(this);
        tabs.find('li.tab-title').removeClass('ui-tabs-selected ui-tabs-active ui-state-active');
        tabs.find('li.tab-title a').each(function() {
            var tab = this;
            if (tab.href != '' && tab.href[0] != '#') {
                var hash = jQuery.param.fragment(tab.href);
                tab.href = '#' + hash;
            }
        });
    });
    jQuery('.synved-tab-list', context).removeClass('synved-tab-list-nojs').tabs({
        select: function(event, ui) {
            var url = jQuery.data(ui.tab, 'synved-tab-link');
            var loaded = jQuery.data(ui.panel, 'synved-tab-loaded');
            if (!loaded && url) {
                jQuery(ui.panel).load(url);
                jQuery.data(ui.panel, 'synved-tab-loaded', true);
            }
            return true;
        }
    }).each(function() {
        var tabs = jQuery(this);
        if (tabs.hasClass('synved-content-scrollable')) {
            var nav = tabs.find('.ui-tabs-nav');
            var height = nav.find('.tab-title').height();
        }
    });
    jQuery('.synved-button', context).each(function() {
        var btn = jQuery(this);
        var info = btn.next('.button-info');
        var icon = info.find('.icon').html();
        var icon2 = info.find('.icon2').html();
        if (icon) icon = 'ui-icon-' + icon;
        if (icon2) icon2 = 'ui-icon-' + icon2;
        btn.button({
            icons: {
                primary: icon,
                secondary: icon2
            }
        });
    });
    jQuery('a.synved-button', context).click(function() {
        return false;
    });
}
                                    

#25 JavaScript::Eval (size: 50899, repeated: 1) - SHA256: 2626f69586429e55dcd345b157a84d3956e2ee556ebf54c6a64ca939f88dda04

                                        var layerSliderTransitions = {
    t2d: [{
        name: 'Sliding from right',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuad',
            duration: 1000,
            direction: 'left'
        }
    }, {
        name: 'Sliding from left',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuad',
            duration: 1000,
            direction: 'right'
        }
    }, {
        name: 'Sliding from bottom',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuad',
            duration: 1000,
            direction: 'top'
        }
    }, {
        name: 'Sliding from top',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuad',
            duration: 1000,
            direction: 'bottom'
        }
    }, {
        name: 'Crossfading',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeInOutQuad',
            duration: 1000,
            direction: 'left'
        }
    }, {
        name: 'Fading tiles forward',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 1000,
            direction: 'left'
        }
    }, {
        name: 'Fading tiles reverse',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: 'reverse'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 1000,
            direction: 'left'
        }
    }, {
        name: 'Fading tiles col-forward',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: 'col-forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 1000,
            direction: 'left'
        }
    }, {
        name: 'Fading tiles col-reverse',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: 'col-reverse'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 1000,
            direction: 'left'
        }
    }, {
        name: 'Fading tiles (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: 'random'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 1000,
            direction: 'left'
        }
    }, {
        name: 'Smooth fading from right',
        rows: 1,
        cols: 35,
        tile: {
            delay: 25,
            sequence: 'reverse'
        },
        transition: {
            type: 'fade',
            easing: 'linear',
            duration: 750,
            direction: 'left'
        }
    }, {
        name: 'Smooth fading from left',
        rows: 1,
        cols: 35,
        tile: {
            delay: 25,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeInOutQuart',
            duration: 750,
            direction: 'left'
        }
    }, {
        name: 'Smooth fading from bottom',
        rows: 35,
        cols: 1,
        tile: {
            delay: 25,
            sequence: 'col-reverse'
        },
        transition: {
            type: 'fade',
            easing: 'easeInOutQuart',
            duration: 750,
            direction: 'left'
        }
    }, {
        name: 'Smooth fading from top',
        rows: 35,
        cols: 1,
        tile: {
            delay: 25,
            sequence: 'col-forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeInOutQuart',
            duration: 750,
            direction: 'left'
        }
    }, {
        name: 'Smooth sliding from right',
        rows: 1,
        cols: 25,
        tile: {
            delay: 30,
            sequence: 'reverse'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 350,
            direction: 'left'
        }
    }, {
        name: 'Smooth sliding from left',
        rows: 1,
        cols: 25,
        tile: {
            delay: 30,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 350,
            direction: 'right'
        }
    }, {
        name: 'Smooth sliging from bottom',
        rows: 25,
        cols: 1,
        tile: {
            delay: 30,
            sequence: 'col-reverse'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 350,
            direction: 'top'
        }
    }, {
        name: 'Smooth sliding from top',
        rows: 25,
        cols: 1,
        tile: {
            delay: 30,
            sequence: 'col-forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 350,
            direction: 'bottom'
        }
    }, {
        name: 'Sliding tiles to right (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'right'
        }
    }, {
        name: 'Sliding tiles to left (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'left'
        }
    }, {
        name: 'Sliding tiles to bottom (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'bottom'
        }
    }, {
        name: 'Sliding tiles to top (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'top'
        }
    }, {
        name: 'Sliding random tiles to random directions',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'random'
        }
    }, {
        name: 'Sliding rows to right (forward)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'right'
        }
    }, {
        name: 'Sliding rows to right (reverse)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'reverse'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'right'
        }
    }, {
        name: 'Sliding rows to right (random)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'right'
        }
    }, {
        name: 'Sliding rows to left (forward)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'left'
        }
    }, {
        name: 'Sliding rows to left (reverse)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'reverse'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'left'
        }
    }, {
        name: 'Sliding rows to left (random)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'left'
        }
    }, {
        name: 'Sliding rows from top to bottom (forward)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'bottom'
        }
    }, {
        name: 'Sliding rows from top to bottom (random)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'bottom'
        }
    }, {
        name: 'Sliding rows from bottom to top (reverse)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'reverse'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'top'
        }
    }, {
        name: 'Sliding rows from bottom to top (random)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'top'
        }
    }, {
        name: 'Sliding columns to bottom (forward)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'bottom'
        }
    }, {
        name: 'Sliding columns to bottom (reverse)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'bottom'
        }
    }, {
        name: 'Sliding columns to bottom (random)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'bottom'
        }
    }, {
        name: 'Sliding columns to top (forward)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'top'
        }
    }, {
        name: 'Sliding columns to top (reverse)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'top'
        }
    }, {
        name: 'Sliding columns to top (random)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'top'
        }
    }, {
        name: 'Sliding columns from left to right (forward)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'right'
        }
    }, {
        name: 'Sliding columns from left to right (random)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'right'
        }
    }, {
        name: 'Sliding columns from right to left (reverse)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'left'
        }
    }, {
        name: 'Sliding columns from right to left (random)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'left'
        }
    }, {
        name: 'Fading and sliding tiles to right (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'right'
        }
    }, {
        name: 'Fading and sliding tiles to left (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'left'
        }
    }, {
        name: 'Fading and sliding tiles to bottom (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'bottom'
        }
    }, {
        name: 'Fading and sliding tiles to top (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'top'
        }
    }, {
        name: 'Fading and sliding random tiles to random directions',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'random'
        }
    }, {
        name: 'Fading and sliding tiles from top-left (forward)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'topleft'
        }
    }, {
        name: 'Fading and sliding tiles from bottom-right (reverse)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'reverse'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'bottomright'
        }
    }, {
        name: 'Fading and sliding tiles from top-right (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'topright'
        }
    }, {
        name: 'Fading and sliding tiles from bottom-left (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 500,
            direction: 'bottomleft'
        }
    }, {
        name: 'Fading and sliding rows to right (forward)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'right'
        }
    }, {
        name: 'Fading and sliding rows to right (reverse)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'reverse'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'right'
        }
    }, {
        name: 'Fading and sliding rows to right (random)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'right'
        }
    }, {
        name: 'Fading and sliding rows to left (forward)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'left'
        }
    }, {
        name: 'Fading and sliding rows to left (reverse)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'reverse'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'left'
        }
    }, {
        name: 'Fading and sliding rows to left (random)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'left'
        }
    }, {
        name: 'Fading and sliding rows from top to bottom (forward)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'bottom'
        }
    }, {
        name: 'Fading and sliding rows from top to bottom (random)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'bottom'
        }
    }, {
        name: 'Fading and sliding rows from bottom to top (reverse)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'reverse'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'top'
        }
    }, {
        name: 'Fading and sliding rows from bottom to top (random)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'top'
        }
    }, {
        name: 'Fading and sliding columns to bottom (forward)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'bottom'
        }
    }, {
        name: 'Fading and sliding columns to bottom (reverse)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'bottom'
        }
    }, {
        name: 'Fading and sliding columns to bottom (random)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'bottom'
        }
    }, {
        name: 'Fading and sliding columns to top (forward)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'top'
        }
    }, {
        name: 'Fading and sliding columns to top (reverse)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'top'
        }
    }, {
        name: 'Fading and sliding columns to top (random)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'top'
        }
    }, {
        name: 'Fading and sliding columns from left to right (forward)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'right'
        }
    }, {
        name: 'Fading and sliding columns from left to right (random)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'right'
        }
    }, {
        name: 'Fading and sliding columns from right to left (reverse)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'left'
        }
    }, {
        name: 'Fading and sliding columns from right to left (random)',
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'left'
        }
    }, {
        name: 'Carousel',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'left',
            scale: 0.5
        }
    }, {
        name: 'Carousel rows',
        rows: 4,
        cols: 1,
        tile: {
            delay: 50,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'left',
            scale: 0.5
        }
    }, {
        name: 'Carousel cols',
        rows: 1,
        cols: 4,
        tile: {
            delay: 50,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'left',
            scale: 0.5
        }
    }, {
        name: 'Carousel tiles horizontal',
        rows: 3,
        cols: 4,
        tile: {
            delay: 35,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'left',
            scale: 0.5,
            rotateY: 90
        }
    }, {
        name: 'Carousel tiles vertical',
        rows: 3,
        cols: 4,
        tile: {
            delay: 35,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'top',
            scale: 0.5,
            rotateX: -90
        }
    }, {
        name: 'Carousel-mirror tiles horizontal',
        rows: 3,
        cols: 4,
        tile: {
            delay: 15,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'left',
            scale: 0.5,
            rotateY: 90
        }
    }, {
        name: 'Carousel-mirror tiles vertical',
        rows: 3,
        cols: 4,
        tile: {
            delay: 15,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'top',
            scale: 0.5,
            rotateX: -90
        }
    }, {
        name: 'Carousel mirror rows',
        rows: 4,
        cols: 1,
        tile: {
            delay: 50,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'right',
            scale: 0.5
        }
    }, {
        name: 'Carousel mirror cols',
        rows: 1,
        cols: 4,
        tile: {
            delay: 50,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'left',
            scale: 0.5
        }
    }, {
        name: 'Turning tile from left',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'right',
            rotateY: 90
        }
    }, {
        name: 'Turning tile from right',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateY: -90
        }
    }, {
        name: 'Turning tile from top',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'bottom',
            rotateX: -90
        }
    }, {
        name: 'Turning tile from bottom',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'top',
            rotateX: 90
        }
    }, {
        name: 'Turning tiles from left',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateY: 90
        }
    }, {
        name: 'Turning tiles from right',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: 'reverse'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateY: -90
        }
    }, {
        name: 'Turning tiles from top',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateX: -90
        }
    }, {
        name: 'Turning tiles from bottom',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: 'reverse'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateX: 90
        }
    }, {
        name: 'Turning rows from top',
        rows: [6, 12],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateX: 90
        }
    }, {
        name: 'Turning rows from bottom',
        rows: [6, 12],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'reverse'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateX: -90
        }
    }, {
        name: 'Turning cols from left',
        rows: 1,
        cols: [6, 12],
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateY: -90
        }
    }, {
        name: 'Turning cols from right',
        rows: 1,
        cols: [6, 12],
        tile: {
            delay: 55,
            sequence: 'reverse'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateY: 90
        }
    }, {
        name: 'Flying rows from left',
        rows: [3, 10],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateY: 90
        }
    }, {
        name: 'Flying rows from right',
        rows: [3, 10],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'reverse'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateY: -90
        }
    }, {
        name: 'Flying cols from top',
        rows: 1,
        cols: [3, 10],
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateX: -90
        }
    }, {
        name: 'Flying cols from bottom',
        rows: 1,
        cols: [3, 10],
        tile: {
            delay: 55,
            sequence: 'reverse'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotateX: 90
        }
    }, {
        name: 'Flying and rotating tile from left',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'right',
            scale: 0.1,
            rotate: -90,
            rotateY: 90
        }
    }, {
        name: 'Flying and rotating tile from right',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            scale: 0.1,
            rotate: 90,
            rotateY: -90
        }
    }, {
        name: 'Flying and rotating tiles from left',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'right',
            rotate: -45
        }
    }, {
        name: 'Flying and rotating tiles from right',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            rotate: -45
        }
    }, {
        name: 'Flying and rotating tiles from random',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: 'random'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'random',
            rotate: -45
        }
    }, {
        name: 'Scaling tile in',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 1500,
            direction: 'left',
            scale: 0.8
        }
    }, {
        name: 'Scaling tile from out',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'left',
            scale: 1.2
        }
    }, {
        name: 'Scaling tiles random',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: 'random'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            scale: 0.1
        }
    }, {
        name: 'Scaling tiles from out random',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: 'random'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            scale: 2
        }
    }, {
        name: 'Scaling in and rotating tiles random',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: 'random'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            scale: 0.1,
            rotate: 90
        }
    }, {
        name: 'Scaling and rotating tiles from out random',
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: 'random'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left',
            scale: 2,
            rotate: -90
        }
    }, {
        name: 'Mirror-sliding tiles diagonal',
        rows: 3,
        cols: 4,
        tile: {
            delay: 15,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuart',
            duration: 850,
            direction: 'topright'
        }
    }, {
        name: 'Mirror-sliding rows horizontal',
        rows: 6,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left'
        }
    }, {
        name: 'Mirror-sliding rows vertical',
        rows: 6,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'top'
        }
    }, {
        name: 'Mirror-sliding cols horizontal',
        rows: 1,
        cols: 8,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'left'
        }
    }, {
        name: 'Mirror-sliding cols vertical',
        rows: 1,
        cols: 8,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeOutQuart',
            duration: 750,
            direction: 'top'
        }
    }],
    t3d: [{
        name: 'Spinning tile to right (180�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: 91
            },
            easing: 'easeInQuart',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateY: 180
            },
            easing: 'easeOutQuart',
            duration: 1000,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning tile to left (180�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: -91
            },
            easing: 'easeInQuart',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateY: -180
            },
            easing: 'easeOutQuart',
            duration: 1000,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning tile to bottom (180�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateX: -91
            },
            easing: 'easeInQuart',
            duration: 800,
            direction: 'vertical'
        },
        after: {
            transition: {
                rotateX: -180
            },
            easing: 'easeOutQuart',
            duration: 800,
            direction: 'vertical'
        }
    }, {
        name: 'Spinning tile to top (180�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateX: 91
            },
            easing: 'easeInQuart',
            duration: 800,
            direction: 'vertical'
        },
        after: {
            transition: {
                rotateX: 180
            },
            easing: 'easeOutQuart',
            duration: 800,
            direction: 'vertical'
        }
    }, {
        name: 'Spinning tiles to right (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning tiles to left (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning tiles to bottom (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'col-forward'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'vertical'
        }
    }, {
        name: 'Spinning tiles to top (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'col-reverse'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'vertical'
        }
    }, {
        name: 'Horizontal spinning tiles random (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1300,
            direction: 'horizontal'
        }
    }, {
        name: 'Vertical spinning tiles random (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutQuart',
            duration: 1300,
            direction: 'vertical'
        }
    }, {
        name: 'Scaling and spinning tiles to right (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.95
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and spinning tiles to left (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.95
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and spinning tiles to bottom (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'col-forward'
        },
        before: {
            transition: {
                scale3d: 0.95
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and spinning tiles to top (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'col-reverse'
        },
        before: {
            transition: {
                scale3d: 0.95
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and horizontal spinning tiles random (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.95,
                rotateX: 30
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: 180,
                rotateX: -30
            },
            easing: 'easeInOutBack',
            duration: 1300,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateX: 0
            },
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and vertical spinning tiles random (180�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.95,
                rotateY: -15
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: 180,
                rotateY: 15
            },
            easing: 'easeInOutBack',
            duration: 1300,
            direction: 'vertical'
        },
        after: {
            transition: {
                rotateY: 0
            },
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Spinning rows to right (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning rows to left (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning rows to bottom (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'vertical'
        }
    }, {
        name: 'Spinning rows to top (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'vertical'
        }
    }, {
        name: 'Horizontal spinning rows random (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'random'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Vertical spinning rows random (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'random'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'vertical'
        }
    }, {
        name: 'Vertical spinning rows random (540�)',
        rows: [3, 7],
        cols: 1,
        tile: {
            delay: 150,
            sequence: 'random'
        },
        animation: {
            transition: {
                rotateX: -540
            },
            easing: 'easeInOutQuart',
            duration: 2000,
            direction: 'vertical'
        }
    }, {
        name: 'Scaling and spinning rows to right (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 1200,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and spinning rows to left (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutBack',
            duration: 1200,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and spinning rows to bottom (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and spinning rows to top (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and horizontal spinning rows random (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 1200,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and vertical spinning rows random (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 600,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Spinning columns to right (180�)',
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning columns to left (180�)',
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning columns to bottom (180�)',
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'vertical'
        }
    }, {
        name: 'Spinning columns to top (180�)',
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'vertical'
        }
    }, {
        name: 'Horizontal spinning columns random (180�)',
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Vertical spinning columns random (180�)',
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'vertical'
        }
    }, {
        name: 'Horizontal spinning columns random (540�)',
        rows: 1,
        cols: [4, 9],
        tile: {
            delay: 150,
            sequence: 'random'
        },
        animation: {
            transition: {
                rotateY: 540
            },
            easing: 'easeInOutQuart',
            duration: 2000,
            direction: 'horizontal'
        }
    }, {
        name: 'Scaling and spinning columns to right (180�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and spinning columns to left (180�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 55,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutQuart',
            duration: 600,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and spinning columns to bottom (180�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 1200,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and spinning columns to top (180�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutBack',
            duration: 1200,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and horizontal spinning columns random (180�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 600,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and vertical spinning columns random (180�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 1200,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Drunk colums scaling and spinning to right (180�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85,
                rotateX: -30
            },
            duration: 600,
            easing: 'easeOutQuart'
        },
        animation: {
            transition: {
                rotateX: -30,
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateX: 0,
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 600
        }
    }, {
        name: 'Drunk colums scaling and spinning to left (180�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.85,
                rotateX: -30
            },
            duration: 600,
            easing: 'easeOutQuart'
        },
        animation: {
            transition: {
                rotateX: 30,
                rotateY: -180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateX: 0,
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 600
        }
    }, {
        name: 'Turning cuboid to right (90�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Turning cuboid to left (90�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Turning cuboid to bottom (90�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'vertical'
        }
    }, {
        name: 'Turning cuboid to top (90�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'vertical'
        }
    }, {
        name: 'Scaling and turning cuboid to right (90�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'random'
        },
        animation: {
            transition: {
                scale3d: 0.8,
                rotate: 7,
                rotateX: 10,
                rotateY: 45
            },
            easing: 'easeInOutQuad',
            duration: 800,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotate: 0,
                rotateX: 0,
                rotateY: 90
            },
            duration: 800,
            easing: 'easeInOutQuad'
        }
    }, {
        name: 'Scaling and turning cuboid to left (90�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'random'
        },
        animation: {
            transition: {
                scale3d: 0.8,
                rotate: -7,
                rotateX: 10,
                rotateY: -45
            },
            easing: 'easeInOutQuad',
            duration: 800,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotate: 0,
                rotateX: 0,
                rotateY: -90
            },
            duration: 800,
            easing: 'easeInOutQuad'
        }
    }, {
        name: 'Scaling and turning cuboids to right (90�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and turning cuboids to left (90�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and turning cuboids to bottom (90�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'col-forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and turning cuboids to top (90�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'col-reverse'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and horizontal turning cuboids random (90�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.75,
                rotateX: -15
            },
            duration: 700,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: 75,
                rotateX: 15
            },
            easing: 'easeInOutBack',
            duration: 700,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateY: 90,
                rotateX: 0
            },
            duration: 700,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and vertical turning cuboids random (90�)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.75,
                rotateY: 15
            },
            duration: 700,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: 75,
                rotateY: -15
            },
            easing: 'easeInOutBack',
            duration: 700,
            direction: 'vertical'
        },
        after: {
            transition: {
                rotateX: 90,
                rotateY: 0
            },
            duration: 700,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Turning rows to right (90�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Turning rows to left (90�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Horizontal turning rows random (90�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'random'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Scaling and turning rows to right (90�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 87
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200,
                rotateY: 90
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and turning rows to left (90�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and turning rows to bottom (90�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and turning rows to top (90�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and horizontal turning rows random (90�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and vertical turning rows random (90�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and horizontal turning drunk rows to right (90�)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                scale3d: 0.85,
                rotateY: 45
            },
            easing: 'easeInOutQuint',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutQuint',
            duration: 1000
        }
    }, {
        name: 'Scaling and horizontal turning drunk rows to left (90�)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        animation: {
            transition: {
                scale3d: 0.85,
                rotateY: -45
            },
            easing: 'easeInOutQuint',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateY: -90
            },
            easing: 'easeInOutQuint',
            duration: 1000
        }
    }, {
        name: 'Turning columns to bottom (90�)',
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'vertical'
        }
    }, {
        name: 'Turning columns to top (90�)',
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'vertical'
        }
    }, {
        name: 'Vertical turning columns random (90�)',
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            direction: 'vertical'
        }
    }, {
        name: 'Scaling and turning columns to bottom (90�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and turning columns to top (90�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and turning columns to right (90�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and turning columns to left (90�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and horizontal turning columns random (90�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and vertical turning columns random (90�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutBack',
            duration: 600
        }
    }, {
        name: 'Scaling and vertical turning drunk columns to right (90�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                scale3d: 0.85,
                rotateX: 45
            },
            easing: 'easeInOutQuint',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                rotateX: 90
            },
            easing: 'easeInOutQuint',
            duration: 1000
        }
    }, {
        name: 'Scaling and vertical turning drunk columns to left (90�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        animation: {
            transition: {
                scale3d: 0.85,
                rotateX: -45
            },
            easing: 'easeInOutQuint',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutQuint',
            duration: 1000
        }
    }, {
        name: 'Spinning cuboid to right (180�, large depth)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward',
            depth: 'large'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning cuboid to left (180�, large depth)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward',
            depth: 'large'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning cuboid to bottom (180�, large depth)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward',
            depth: 'large'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'vertical'
        }
    }, {
        name: 'Spinning cuboid to top (180�, large depth)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward',
            depth: 'large'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutQuart',
            duration: 1500,
            direction: 'vertical'
        }
    }, {
        name: 'Scaling and spinning cuboids to right (180�, large depth)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'forward',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and spinning cuboids to left (180�, large depth)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'reverse',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and spinning cuboids to bottom (180�, large depth)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'col-forward',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and spinning cuboids to top (180�, large depth)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'col-reverse',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            duration: 350,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and horizontal spinning cuboids random (180�, large depth)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'random',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.65
            },
            duration: 700,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 700,
            direction: 'horizontal'
        },
        after: {
            duration: 700,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and vertical spinning cuboids random (180�, large depth)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: 'random',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.65
            },
            duration: 700,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutBack',
            duration: 700,
            direction: 'vertical'
        },
        after: {
            duration: 700,
            easing: 'easeInOutBack'
        }
    }, {
        name: 'Scaling and spinning rows to right (180�, large depth)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: 'forward',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1200,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and spinning rows to left (180�, large depth)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: 'reverse',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutQuart',
            duration: 1200,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and spinning rows to bottom (180�, large depth)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: 'forward',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and spinning rows to top (180�, large depth)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: 'reverse',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and horizontal spinning rows random (180�, large depth)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: 'random',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1200,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and vertical spinning rows random (180�, large depth)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: 'random',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and spinning columns to bottom (180�, large depth)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: 'forward',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutQuart',
            duration: 1200,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and spinning columns to top (180�, large depth)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: 'reverse',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutQuart',
            duration: 1200,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and spinning columns to right (180�, large depth)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: 'forward',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and spinning columns to left (180�, large depth)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: 'reverse',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and horizontal spinning columns random (180�, large depth)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: 'random',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Scaling and vertical spinning columns random (180�, large depth)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: 'random',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutQuart',
            duration: 1200,
            direction: 'vertical'
        },
        after: {
            transition: {
                delay: 200
            },
            easing: 'easeOutQuart',
            duration: 400
        }
    }, {
        name: 'Horizontally rotating and fading cube',
        rows: 1,
        cols: 1,
        tile: {
            delay: 1,
            sequence: 'forward',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.65,
                rotateY: -270,
                opacity: 0
            },
            duration: 1500,
            easing: 'easeInQuart'
        },
        animation: {
            transition: {
                scale3d: 1,
                rotateY: -540,
                opacity: 1
            },
            easing: 'easeOutQuart',
            duration: 1500,
            direction: 'horizontal'
        }
    }, {
        name: 'Vertically rotating and fading cube',
        rows: 1,
        cols: 1,
        tile: {
            delay: 1,
            sequence: 'forward',
            depth: 'large'
        },
        before: {
            transition: {
                scale3d: 0.65,
                rotateX: -270,
                opacity: 0
            },
            duration: 1500,
            easing: 'easeInQuart'
        },
        animation: {
            transition: {
                scale3d: 1,
                rotateX: -540,
                opacity: 1
            },
            easing: 'easeOutQuart',
            duration: 1500,
            direction: 'vertical'
        }
    }, {
        name: 'Horizontally rotating and fading cuboids',
        rows: [2, 3],
        cols: [3, 5],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.75,
                opacity: 0
            },
            duration: 350,
            easing: 'easeInQuart'
        },
        animation: {
            transition: {
                rotateY: -45,
                rotateX: 180
            },
            easing: 'easeInOutQuart',
            duration: 1,
            direction: 'vertical'
        },
        after: {
            transition: {
                rotateY: 0,
                opacity: 1
            },
            easing: 'easeOutQuart',
            duration: 1200
        }
    }, {
        name: 'Vertically rotating and fading cuboids',
        rows: [2, 3],
        cols: [3, 5],
        tile: {
            delay: 50,
            sequence: 'random'
        },
        before: {
            transition: {
                scale3d: 0.75,
                opacity: 0
            },
            duration: 350,
            easing: 'easeInQuart'
        },
        animation: {
            transition: {
                rotateX: -45,
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateX: 0,
                opacity: 1
            },
            easing: 'easeOutQuart',
            duration: 1200
        }
    }]
};
                                    

#26 JavaScript::Eval (size: 190321, repeated: 1) - SHA256: ce86a784e1e8943fd5926cf7cecb798f406f266e6ec58f508f1365dc0f470408

                                        window._layerSlider = {
        globals: {
            youTubeIsReady: !1,
            vimeoIsReady: !1
        },
        GSAP: "undefined" != typeof LS_GSAP && LS_GSAP,
        pluginsLoaded: [],
        pluginsNotLoaded: [],
        pluginsBeingLoaded: [],
        plugins: {},
        slidersList: {},
        currentScript: document.currentScript,
        lsScript: jQuery('script[src*="layerslider.kreaturamedia.jquery.js"]')[0],
        scriptPath: "",
        pluginsPath: !1,
        showNotice: function(e, t, i, s) {
            var a, o, r = "string" == typeof e ? jQuery("#" + e).first() : e;
            switch (t) {
                case "jquery":
                    o = "Multiple jQuery issue", a = 'It looks like that another plugin or your theme loads an extra copy of the jQuery library causing problems for LayerSlider to show your sliders. Please navigate on your WordPress admin area to the main page of LayerSlider and enable the "Put JS includes to body" option within the Troubleshooting & Advanced Settings box.';
                    break;
                case "oldjquery":
                    o = "Old jQuery issue", a = "It looks like you are using an old version (" + i + ") of the jQuery library. LayerSlider requires at least version " + s + ' or newer. Please update jQuery to 1.10.x or higher. Important: Please do not use the jQuery Updater plugin on WordPress . <a href="https://support.kreaturamedia.com/faq/4/layerslider-for-wordpress/#group-13&entry-60">You can read more about updating jQuery by clicking here.</a>'
            }
            jQuery('<div class="ls-notification"><i class="ls-notification-logo">!</i><strong>' + o + "</strong><span>" + a + "</span></div>").insertBefore(r)
        },
        removeSlider: function(e) {
            this.slidersList[e] = null, delete this.slidersList[e]
        },
        checkVersions: function(e, t) {
            for (var i = e.split("."), s = t.split("."), a = 0; a < i.length; ++a) {
                if (s.length == a) return !1;
                if (parseInt(i[a]) != parseInt(s[a])) return !(parseInt(i[a]) > parseInt(s[a]))
            }
            return i.length, s.length, !0
        }
    }, Number.prototype.indexOf = function(e) {
        return ("" + this).indexOf(e)
    },
    function(e) {
        "use strict";
        window._layerSliders = {}, e.fn.layerSlider = function(i, s, a, o) {
            i = i || {};
            var r = e.fn.jquery,
                n = "LS" + Math.random().toString(36).substr(2, 9);
            if (window._layerSlider.checkVersions("1.8.0", r, "1.8.0")) return (typeof i).match("object|undefined") ? this.each(function(s) {
                window._layerSliders[n] = new t(this, e(this), i, n)
            }) : "data" === i ? window._layerSliders[this.data("lsSliderUID")] : "eventData" === i ? window._layerSliders[this.data("lsSliderUID")].api.eventData() : "defaultInitOptions" === i ? window._layerSliders[this.data("lsSliderUID")].defaults.init.options || !1 : "userInitOptions" === i ? window._layerSliders[this.data("lsSliderUID")].userInitOptions || !1 : "sliderInitOptions" === i ? window._layerSliders[this.data("lsSliderUID")].o || !1 : "originalMarkup" === i ? window._layerSliders[this.data("lsSliderUID")].originalMarkup || !1 : this.each(function(t) {
                var r = window._layerSliders[e(this).data("lsSliderUID")];
                r && r.api.methods(i, s, a, o), r = null
            });
            window._layerSlider.showNotice(e(this), "oldjquery", r, "1.8.0")
        };
        var t = function(t, i, s, a) {
            i.data("lsSliderUID", a).attr("data-layerslider-uid", a);
            var o = this,
                r = window._layerSlider.GSAP ? window._layerSlider.GSAP : window;
            o.defaults = {
                init: {
                    lsDataArraySplitChar: "|",
                    dataKey: "_LS",
                    controls: ["#start", "#stop", "#prev", "#next", "#replay", "#reverse", "#reverse-replay"],
                    options: {
                        type: "responsive",
                        fullSizeMode: "normal",
                        fitScreenWidth: !0,
                        preventSliderClip: !0,
                        allowFullscreen: !0,
                        responsiveUnder: -1,
                        layersContainerWidth: -1,
                        layersContainerHeight: -1,
                        maxRatio: -1,
                        insertMethod: "prependTo",
                        insertSelector: null,
                        clipSlideTransition: !1,
                        slideBGSize: "cover",
                        slideBGPosition: "50% 50%",
                        preferBlendMode: !1,
                        autoStart: !0,
                        startInViewport: !0,
                        playByScroll: !1,
                        playByScrollSpeed: 1,
                        pauseOnHover: "slideshowOnly",
                        pauseLayers: !1,
                        firstSlide: 1,
                        sliderFadeInDuration: 350,
                        cycles: -1,
                        forceCycles: !0,
                        twoWaySlideshow: !1,
                        shuffleSlideshow: !1,
                        forceLayersOutDuration: 750,
                        skin: "v6",
                        skinsPath: "/layerslider/skins/",
                        globalBGColor: "transparent",
                        globalBGImage: !1,
                        globalBGRepeat: "no-repeat",
                        globalBGAttachment: "scroll",
                        globalBGSize: "auto",
                        globalBGPosition: "50% 50%",
                        navPrevNext: !0,
                        navStartStop: !0,
                        navButtons: !0,
                        keybNav: !0,
                        touchNav: !0,
                        hoverPrevNext: !0,
                        hoverBottomNav: !1,
                        showBarTimer: !1,
                        showCircleTimer: !0,
                        showSlideBarTimer: !1,
                        thumbnailNavigation: "hover",
                        tnContainerWidth: "60%",
                        tnWidth: 100,
                        tnHeight: 60,
                        tnActiveOpacity: 35,
                        tnInactiveOpacity: 100,
                        autoPlayVideos: !0,
                        autoPauseSlideshow: "auto",
                        youtubePreview: "maxresdefault.jpg",
                        parallaxCenterDegree: 40,
                        parallaxSensitivity: 10,
                        parallaxCenterLayers: "center",
                        parallaxScrollReverse: !1,
                        yourLogo: !1,
                        yourLogoStyle: "left: -10px; top: -10px;",
                        yourLogoLink: !1,
                        yourLogoTarget: "_self",
                        optimizeForMobile: !0,
                        hideOnMobile: !1,
                        hideUnder: -1,
                        hideOver: -1,
                        slideOnSwipe: !0,
                        allowRestartOnResize: !1,
                        useSrcset: !0,
                        hashChange: !1,
                        staticImage: ""
                    }
                },
                slider: {
                    errorText: "LayerSlider (UID: " + a + ") error:"
                },
                slide: {
                    keys: {
                        slidedelay: ["data", "duration"],
                        duration: ["data", "duration"],
                        timeshift: ["data", "timeShift"],
                        transition2d: ["data", "transition2d"],
                        transition3d: ["data", "transition3d"],
                        transitionorigami: ["data", "transitionorigami"],
                        customtransition2d: ["data", "customtransition2d"],
                        customtransition3d: ["data", "customtransition3d"],
                        transitionduration: ["data", "transitionDuration"],
                        backgroundsize: ["data", "backgroundSize"],
                        bgsize: ["data", "backgroundSize"],
                        backgroundposition: ["data", "backgroundPosition"],
                        bgposition: ["data", "backgroundPosition"],
                        backgroundcolor: ["data", "backgroundColor"],
                        bgcolor: ["data", "backgroundColor"],
                        thumbnail: ["data", "thumbnail"],
                        deeplink: ["data", "deeplink"],
                        overflow: ["data", "overflow"],
                        kenburnspan: ["kenBurns", "pan"],
                        kenburnszoom: ["kenBurns", "zoom"],
                        kenburnsrotation: ["kenBurns", "rotation"],
                        kenburnsrotate: ["kenBurns", "rotation"],
                        kenburnsscale: ["kenBurns", "scale"],
                        filterfrom: ["filter", "from"],
                        filterto: ["filter", "to"],
                        parallaxtype: ["parallax", "type"],
                        parallaxevent: ["parallax", "event"],
                        parallaxaxis: ["parallax", "axis"],
                        parallaxtransformorigin: ["parallax", "transformOrigin"],
                        parallaxdurationmove: ["parallax", "durationMove"],
                        parallaxdurationleave: ["parallax", "durationLeave"],
                        parallaxrotate: ["parallax", "rotation"],
                        parallaxrotation: ["parallax", "rotation"],
                        parallaxdistance: ["parallax", "distance"],
                        parallaxtransformperspective: ["parallax", "transformPerspective"],
                        globalhover: ["data", "globalhover"]
                    },
                    options: {
                        data: {
                            duration: -1,
                            timeShift: 0
                        }
                    }
                },
                layer: {
                    keys: {
                        keyframe: ["is"],
                        responsive: ["is"],
                        position: ["settings"],
                        static: ["settings"],
                        mirrortransitions: ["settings"],
                        minfontsize: ["styleSettings"],
                        minmobilefontsize: ["styleSettings"],
                        overlay: ["styleSettings"],
                        autoplay: ["mediaSettings"],
                        controls: ["mediaSettings"],
                        showinfo: ["mediaSettings"],
                        fillmode: ["mediaSettings"],
                        thumbnail: ["mediaSettings"],
                        volume: ["mediaSettings"],
                        backgroundvideo: ["mediaSettings"],
                        fadein: ["opacity", "inLayerFromCSS"],
                        opacityin: ["opacity", "inLayerFromCSS"],
                        rotatein: ["rotation", "inLayerFromCSS"],
                        rotatexin: ["rotationX", "inLayerFromCSS"],
                        rotateyin: ["rotationY", "inLayerFromCSS"],
                        rotationin: ["rotation", "inLayerFromCSS"],
                        rotationxin: ["rotationX", "inLayerFromCSS"],
                        rotationyin: ["rotationY", "inLayerFromCSS"],
                        scalein: ["scale", "inLayerFromCSS"],
                        scalexin: ["scaleX", "inLayerFromCSS"],
                        scaleyin: ["scaleY", "inLayerFromCSS"],
                        skewxin: ["skewX", "inLayerFromCSS"],
                        skewyin: ["skewY", "inLayerFromCSS"],
                        bgcolorin: ["backgroundColor", "inLayerStyleFromCSS"],
                        colorin: ["color", "inLayerStyleFromCSS"],
                        radiusin: ["borderRadius", "inLayerStyleShouldBeConvertedFrom"],
                        widthin: ["width", "inLayerStyleShouldBeConvertedFrom"],
                        heightin: ["height", "inLayerStyleShouldBeConvertedFrom"],
                        filterin: ["filter", "inLayerStyleShouldBeConvertedFrom"],
                        rotate: ["rotation", "inLayerToCSS"],
                        rotatex: ["rotationX", "inLayerToCSS"],
                        rotatey: ["rotationY", "inLayerToCSS"],
                        rotation: ["rotation", "inLayerToCSS"],
                        rotationx: ["rotationX", "inLayerToCSS"],
                        rotationy: ["rotationY", "inLayerToCSS"],
                        scale: ["scale", "inLayerToCSS"],
                        scalex: ["scaleX", "inLayerToCSS"],
                        scaley: ["scaleY", "inLayerToCSS"],
                        skewx: ["skewX", "inLayerToCSS"],
                        skewy: ["skewY", "inLayerToCSS"],
                        transformoriginin: ["transformOrigin", "inLayerShouldBeConverted"],
                        offsetxin: ["x", "inLayerShouldBeConverted"],
                        offsetyin: ["y", "inLayerShouldBeConverted"],
                        clipin: ["clip", "inClipShouldBeConverted"],
                        delayin: ["startAt", "in"],
                        startatin: ["startAt", "in"],
                        instartat: ["startAt", "in"],
                        durationin: ["duration", "in"],
                        easein: ["ease", "in"],
                        easingin: ["ease", "in"],
                        transitionin: ["enabled", "in"],
                        textfadein: ["opacity", "textInNodesFrom"],
                        textopacityin: ["opacity", "textInNodesFrom"],
                        textrotatein: ["rotation", "textInNodesFrom"],
                        textrotatexin: ["rotationX", "textInNodesFrom"],
                        textrotateyin: ["rotationY", "textInNodesFrom"],
                        textrotationin: ["rotation", "textInNodesFrom"],
                        textrotationxin: ["rotationX", "textInNodesFrom"],
                        textrotationyin: ["rotationY", "textInNodesFrom"],
                        textscalein: ["scale", "textInNodesFrom"],
                        textscalexin: ["scaleX", "textInNodesFrom"],
                        textscaleyin: ["scaleY", "textInNodesFrom"],
                        textskewxin: ["skewX", "textInNodesFrom"],
                        textskewyin: ["skewY", "textInNodesFrom"],
                        texteasein: ["ease", "textInNodesTo"],
                        texteasingin: ["ease", "textInNodesTo"],
                        texttransformoriginin: ["transformOrigin", "textInShouldBeConverted"],
                        textoffsetxin: ["x", "textInShouldBeConverted"],
                        textoffsetyin: ["y", "textInShouldBeConverted"],
                        texttypein: ["type", "textIn"],
                        textshiftin: ["shiftNodes", "textIn"],
                        textdelayin: ["startAt", "textIn"],
                        textstartatin: ["startAt", "textIn"],
                        textinstartat: ["startAt", "textIn"],
                        textdurationin: ["duration", "textIn"],
                        texttransitionin: ["enabled", "textIn"],
                        fadeout: ["opacity", "outLayerToCSS"],
                        opacityout: ["opacity", "outLayerToCSS"],
                        rotateout: ["rotation", "outLayerToCSS"],
                        rotatexout: ["rotationX", "outLayerToCSS"],
                        rotateyout: ["rotationY", "outLayerToCSS"],
                        rotationout: ["rotation", "outLayerToCSS"],
                        rotationxout: ["rotationX", "outLayerToCSS"],
                        rotationyout: ["rotationY", "outLayerToCSS"],
                        scaleout: ["scale", "outLayerToCSS"],
                        scalexout: ["scaleX", "outLayerToCSS"],
                        scaleyout: ["scaleY", "outLayerToCSS"],
                        skewxout: ["skewX", "outLayerToCSS"],
                        skewyout: ["skewY", "outLayerToCSS"],
                        bgcolorout: ["backgroundColor", "outLayerStyleToCSS"],
                        colorout: ["color", "outLayerStyleToCSS"],
                        radiusout: ["borderRadius", "outLayerStyleShouldBeConvertedTo"],
                        widthout: ["width", "outLayerStyleShouldBeConvertedTo"],
                        heightout: ["height", "outLayerStyleShouldBeConvertedTo"],
                        filterout: ["filter", "outLayerStyleShouldBeConvertedTo"],
                        transformoriginout: ["transformOrigin", "outLayerShouldBeConverted"],
                        offsetxout: ["x", "outLayerShouldBeConverted"],
                        offsetyout: ["y", "outLayerShouldBeConverted"],
                        clipout: ["clip", "outClipShouldBeConverted"],
                        showuntil: ["showUntil", "out"],
                        startatout: ["startAt", "out"],
                        outstartat: ["startAt", "out"],
                        durationout: ["duration", "out"],
                        easeout: ["ease", "out"],
                        easingout: ["ease", "out"],
                        transitionout: ["enabled", "out"],
                        textfadeout: ["opacity", "textOutNodesTo"],
                        textopacityout: ["opacity", "textOutNodesTo"],
                        textrotateout: ["rotation", "textOutNodesTo"],
                        textrotatexout: ["rotationX", "textOutNodesTo"],
                        textrotateyout: ["rotationY", "textOutNodesTo"],
                        textrotationout: ["rotation", "textOutNodesTo"],
                        textrotationxout: ["rotationX", "textOutNodesTo"],
                        textrotationyout: ["rotationY", "textOutNodesTo"],
                        textscaleout: ["scale", "textOutNodesTo"],
                        textscalexout: ["scaleX", "textOutNodesTo"],
                        textscaleyout: ["scaleY", "textOutNodesTo"],
                        textskewxout: ["skewX", "textOutNodesTo"],
                        textskewyout: ["skewY", "textOutNodesTo"],
                        texteaseout: ["ease", "textOutNodesTo"],
                        texteasingout: ["ease", "textOutNodesTo"],
                        texttransformoriginout: ["transformOrigin", "textOutShouldBeConverted"],
                        textoffsetxout: ["x", "textOutShouldBeConverted"],
                        textoffsetyout: ["y", "textOutShouldBeConverted"],
                        texttypeout: ["type", "textOut"],
                        textshiftout: ["shiftNodes", "textOut"],
                        textdelayout: ["startAt", "textOut"],
                        textstartatout: ["startAt", "textOut"],
                        textoutstartat: ["startAt", "textOut"],
                        textdurationout: ["duration", "textOut"],
                        texttransitionout: ["enabled", "textOut"],
                        loopopacity: ["opacity", "loopToCSS"],
                        looprotate: ["rotation", "loopToCSS"],
                        looprotatex: ["rotationX", "loopToCSS"],
                        looprotatey: ["rotationY", "loopToCSS"],
                        looprotation: ["rotation", "loopToCSS"],
                        looprotationx: ["rotationX", "loopToCSS"],
                        looprotationy: ["rotationY", "loopToCSS"],
                        loopscale: ["scale", "loopToCSS"],
                        loopscalex: ["scaleX", "loopToCSS"],
                        loopscaley: ["scaleY", "loopToCSS"],
                        loopskewx: ["skewX", "loopToCSS"],
                        loopskewy: ["skewY", "loopToCSS"],
                        looptransformorigin: ["transformOrigin", "loopLayerShouldBeConverted"],
                        loopoffsetx: ["x", "loopLayerShouldBeConverted"],
                        loopoffsety: ["y", "loopLayerShouldBeConverted"],
                        loopfilter: ["filter", "loopLayerShouldBeConverted"],
                        loopclip: ["clip", "loopClipShouldBeConverted"],
                        loopdelay: ["startAt", "loop"],
                        loopstartat: ["startAt", "loop"],
                        loopduration: ["duration", "loop"],
                        loopcount: ["count", "loop"],
                        looprepeatdelay: ["repeatDelay", "loop"],
                        loopyoyo: ["yoyo", "loop"],
                        loopease: ["ease", "loop"],
                        loopeasing: ["ease", "loop"],
                        loop: ["enabled", "loop"],
                        hoveropacity: ["opacity", "hoverToCSS"],
                        hoverrotate: ["rotation", "hoverToCSS"],
                        hoverrotatex: ["rotationX", "hoverToCSS"],
                        hoverrotatey: ["rotationY", "hoverToCSS"],
                        hoverrotation: ["rotation", "hoverToCSS"],
                        hoverrotationx: ["rotationX", "hoverToCSS"],
                        hoverrotationy: ["rotationY", "hoverToCSS"],
                        hoverscale: ["scale", "hoverToCSS"],
                        hoverscalex: ["scaleX", "hoverToCSS"],
                        hoverscaley: ["scaleY", "hoverToCSS"],
                        hoverskewx: ["skewX", "hoverToCSS"],
                        hoverskewy: ["skewY", "hoverToCSS"],
                        hoverbgcolor: ["backgroundColor", "hoverToCSS"],
                        hovercolor: ["color", "hoverToCSS"],
                        hoverease: ["easeIn", "hover"],
                        hovereasing: ["easeIn", "hover"],
                        hovereasein: ["easeIn", "hover"],
                        hovereasingin: ["easeIn", "hover"],
                        hovereaseout: ["easeOut", "hover"],
                        hovereasingout: ["easeOut", "hover"],
                        hoverduration: ["durationIn", "hover"],
                        hoverdurationin: ["durationIn", "hover"],
                        hoverdurationout: ["durationOut", "hover"],
                        hoveralwaysontop: ["alwaysOnTop", "hover"],
                        hoveroffsetx: ["x", "hoverShouldBeConverted"],
                        hoveroffsety: ["y", "hoverShouldBeConverted"],
                        hoverfilter: ["filter", "hoverShouldBeConverted"],
                        hoverborderradius: ["borderRadius", "hoverShouldBeConverted"],
                        hoverradius: ["borderRadius", "hoverShouldBeConverted"],
                        hovertransformorigin: ["transformOrigin", "hoverShouldBeConverted"],
                        hover: ["enabled", "hover"],
                        kenburnspan: ["pan", "kenBurns"],
                        kenburnszoom: ["zoom", "kenBurns"],
                        kenburnsrotation: ["rotation", "kenBurns"],
                        kenburnsrotate: ["rotation", "kenBurns"],
                        kenburnsscale: ["scale", "kenBurns"],
                        parallaxlevel: ["level", "parallax"],
                        parallaxtype: ["type", "parallax"],
                        parallaxevent: ["event", "parallax"],
                        parallaxaxis: ["axis", "parallax"],
                        parallaxtransformorigin: ["transformOrigin", "parallax"],
                        parallaxdurationmove: ["durationMove", "parallax"],
                        parallaxdurationleave: ["durationLeave", "parallax"],
                        parallaxrotate: ["rotation", "parallax"],
                        parallaxrotation: ["rotation", "parallax"],
                        parallaxdistance: ["distance", "parallax"],
                        parallax: ["enabled", "parallax"],
                        transformperspective: ["layer", "transformPerspective"],
                        transformperspectivein: ["layer", "transformPerspective"],
                        transformperspectiveout: ["layer", "transformPerspective"],
                        texttransformperspective: ["text", "transformPerspective"],
                        texttransformperspectivein: ["text", "transformPerspective"],
                        texttransformperspectiveout: ["text", "transformPerspective"],
                        looptransformperspective: ["loop", "transformPerspective"],
                        hovertransformperspective: ["hover", "transformPerspective"],
                        parallaxtransformperspective: ["parallax", "transformPerspective"]
                    },
                    splitTypeKeys: ["chars_asc", "chars_desc", "chars_rand", "chars_center", "chars_edge", "words_asc", "words_desc", "words_rand", "words_center", "words_edge", "lines_asc", "lines_desc", "lines_rand", "lines_center", "lines_edge"],
                    timelineHierarchy: {
                        transitioninstart: [1],
                        transitioninend: [2],
                        textinstart: [3, [1, 2, 6, 7, 8]],
                        textinend: [4],
                        allinend: [5],
                        loopstart: [6, [1, 2, 3, 4, 5]],
                        loopend: [7],
                        transitioninandloopend: [8],
                        textinandloopend: [9],
                        allinandloopend: [10],
                        textoutstart: [11, [2, 3, 4, 5, 6, 7, 8, 9, 10]],
                        textoutend: [12],
                        textoutandloopend: [13],
                        transitionoutstart: [14, [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]],
                        transitionoutend: [15],
                        alloutend: [16],
                        alloutandloopend: [17]
                    },
                    properties: {
                        filter: function() {
                            return {
                                blur: 0,
                                brightness: 100,
                                contrast: 100,
                                grayscale: 0,
                                "hue-rotate": 0,
                                invert: 0,
                                saturate: 100,
                                sepia: 0
                            }
                        }
                    },
                    options: function(e, t) {
                        var i = {
                            is: {
                                slideBackground: !!e.is("img.ls-bg"),
                                backgroundVideo: !!e.is(".ls-bg-video"),
                                imageLayer: !!e.is("img.ls-layer"),
                                mediaLayer: !1,
                                textLayer: !1,
                                responsive: !0,
                                onSlide: t
                            },
                            should: {},
                            elements: {},
                            settings: {
                                position: "relative",
                                slideIn: t,
                                slideOut: t
                            },
                            styleSettings: {
                                minfontsize: 0,
                                minmobilefontsize: 0
                            },
                            mediaSettings: {
                                controls: null,
                                autoplay: null,
                                showinfo: null,
                                fillmode: "cover",
                                thumbnail: null,
                                volume: null,
                                backgroundVideo: !1
                            },
                            timeline: {
                                transitioninstart: 0,
                                transitioninend: 0,
                                textinstart: 0,
                                textinend: 0,
                                allinend: function(e) {
                                    return Math.max(this.transitioninend, this.textinend)
                                },
                                loopstart: 0,
                                loopend: 0,
                                transitioninandloopend: function(e) {
                                    return 0 === this.loopend && e.loop.enabled && ("number" == typeof e.loop.startAt || -1 !== e.loop.startAt.indexOf("textinstart") && -1 !== e.loop.startAt.indexOf("textinend") && -1 !== e.loop.startAt.indexOf("allinend")) ? (this.loopstart = o.transitions.layers.timeline.getTiming(e, e.loop.startAt, "loopstart"), this.loopend = -1 !== e.loop.count && e.timeline.loopstart + (e.loop.repeat + 1) * e.loop.duration + e.loop.repeat * e.loop.repeatDelay) : o.debugMode && o.debug.add("warn", "layerTransition.infinite", e.self[0].tagName + "." + e.self.attr("class") + " [ " + e.self.html().substr(0, 30) + "... ]"), Math.max(this.transitioninend, this.loopend)
                                },
                                textinandloopend: function(e) {
                                    return Math.max(this.textinend, this.loopend)
                                },
                                allinandloopend: function(e) {
                                    return Math.max(this.allinend(), this.loopend)
                                },
                                textoutstart: 0,
                                textoutend: 0,
                                textoutandloopend: function(e) {
                                    return Math.max(this.textoutend, this.loopend)
                                },
                                transitionoutstart: function(e) {
                                    return Math.max(this.allinandloopend(), this.textoutend)
                                },
                                transitionoutend: 0,
                                alloutend: function(e) {
                                    return Math.max(this.transitionoutend, this.textoutend, this.allinend())
                                },
                                alloutandloopend: function(e) {
                                    return Math.max(this.transitionoutend, this.textoutandloopend(), this.allinend())
                                },
                                staticfrom: !1,
                                staticto: !1
                            },
                            transitionProperties: { in : {
                                    enabled: !0,
                                    layerFrom: {
                                        autoCSS: !1,
                                        immediateRender: !1,
                                        css: {
                                            opacity: 0
                                        }
                                    },
                                    layerTo: {
                                        autoCSS: !1,
                                        onStart: function() {
                                            o.transitions.layers.in.onStart(e)
                                        },
                                        onComplete: function() {
                                            o.transitions.layers.in.onComplete(e)
                                        },
                                        css: {
                                            display: "block",
                                            opacity: 1,
                                            rotation: 0,
                                            rotationX: 0,
                                            rotationY: 0,
                                            scaleX: 1,
                                            scaleY: 1,
                                            skewX: 0,
                                            skewY: 0,
                                            x: 0,
                                            y: 0
                                        }
                                    },
                                    layerStyleFrom: {
                                        autoCSS: !1,
                                        immediateRender: !1,
                                        css: {}
                                    },
                                    layerStyleTo: {
                                        autoCSS: !1,
                                        css: {}
                                    },
                                    clipFrom: {
                                        autoCSS: !1,
                                        immediateRender: !1,
                                        css: {}
                                    },
                                    clipTo: {
                                        autoCSS: !1,
                                        css: {}
                                    },
                                    layerShouldBeConverted: {
                                        transformOrigin: "50% 50% 0",
                                        x: 0,
                                        y: 0
                                    },
                                    layerStyleShouldBeConvertedFrom: {},
                                    layerStyleShouldBeConvertedTo: {},
                                    clipShouldBeConverted: {},
                                    startAt: 0,
                                    duration: 1,
                                    ease: "easeInOutQuint"
                                }, textIn: {
                                    enabled: null,
                                    nodesFrom: {
                                        cycle: {},
                                        random: {},
                                        opacity: 0
                                    },
                                    nodesTo: {
                                        ease: "easeInOutQuint",
                                        css: {
                                            opacity: 1,
                                            rotation: 0,
                                            rotationX: 0,
                                            rotationY: 0,
                                            scaleX: 1,
                                            scaleY: 1,
                                            skewX: 0,
                                            skewY: 0,
                                            x: 0,
                                            y: 0
                                        }
                                    },
                                    shouldBeConverted: {
                                        cycle: {},
                                        random: {},
                                        transformOrigin: "50% 50% 0",
                                        x: 0,
                                        y: 0
                                    },
                                    split: "",
                                    shiftNodes: .05,
                                    startAt: "transitioninend",
                                    duration: 1
                                }, out: {
                                    enabled: !0,
                                    layerFrom: {
                                        autoCSS: !1,
                                        immediateRender: !1,
                                        css: {}
                                    },
                                    layerTo: {
                                        autoCSS: !1,
                                        onStart: function() {
                                            o.transitions.layers.out.onStart(e)
                                        },
                                        onComplete: function() {
                                            o.transitions.layers.out.onComplete(e)
                                        },
                                        css: {
                                            opacity: 0,
                                            rotation: 0,
                                            rotationX: 0,
                                            rotationY: 0,
                                            scaleX: 1,
                                            scaleY: 1,
                                            skewX: 0,
                                            skewY: 0
                                        }
                                    },
                                    layerStyleFrom: {
                                        autoCSS: !1,
                                        immediateRender: !1,
                                        css: {}
                                    },
                                    layerStyleTo: {
                                        autoCSS: !1,
                                        css: {}
                                    },
                                    clipFrom: {
                                        autoCSS: !1,
                                        immediateRender: !1,
                                        css: {}
                                    },
                                    clipTo: {
                                        autoCSS: !1,
                                        css: {}
                                    },
                                    layerShouldBeConverted: {
                                        x: 0,
                                        y: 0
                                    },
                                    layerStyleShouldBeConvertedFrom: {},
                                    layerStyleShouldBeConvertedTo: {},
                                    clipShouldBeConverted: {},
                                    startAt: "slidechangeonly",
                                    duration: 1,
                                    ease: "easeInOutQuint"
                                }, textOut: {
                                    enabled: null,
                                    nodesFrom: {
                                        immediateRender: !1,
                                        cycle: {},
                                        opacity: 1
                                    },
                                    nodesTo: {
                                        ease: "easeInOutQuint",
                                        immediateRender: !1,
                                        cycle: {},
                                        random: {},
                                        opacity: 0
                                    },
                                    shouldBeConverted: {
                                        cycle: {},
                                        random: {},
                                        x: 0,
                                        y: 0
                                    },
                                    split: "",
                                    startAt: "allinandloopend",
                                    shiftNodes: .05,
                                    duration: 1
                                }, loop: {
                                    enabled: null,
                                    from: {
                                        autoCSS: !1,
                                        immediateRender: !1,
                                        css: {}
                                    },
                                    to: {
                                        autoCSS: !1,
                                        css: {}
                                    },
                                    clipTo: {
                                        autoCSS: !1,
                                        immediateRender: !1,
                                        css: {}
                                    },
                                    layerShouldBeConverted: {
                                        transformOrigin: "50% 50% 0",
                                        x: 0,
                                        y: 0
                                    },
                                    clipShouldBeConverted: {},
                                    ease: "linear",
                                    startAt: "allinend",
                                    repeatDelay: 0,
                                    duration: 1,
                                    count: 0,
                                    yoyo: !1
                                }, hover: {
                                    enabled: null,
                                    from: {
                                        autoCSS: !1,
                                        immediateRender: !1,
                                        css: {}
                                    },
                                    to: {
                                        autoCSS: !1,
                                        css: {}
                                    },
                                    shouldBeConverted: {
                                        transformOrigin: "50% 50% 0"
                                    },
                                    alwaysOnTop: !0,
                                    easeIn: "easeInOutQuint",
                                    durationIn: .5
                                }, parallax: {
                                    enabled: null
                                }, kenBurns: {
                                    scale: 1.2
                                }, clip: {
                                    enabled: !1,
                                    min: "0 0 0 0",
                                    max: "-9999 9999 9999 -9999"
                                }, filter: {
                                    values: {
                                        style: {},
                                        in : {},
                                        out: {},
                                        loop: {},
                                        hover: {},
                                        afterIn: {},
                                        afterLoop: {},
                                        bgFrom: {},
                                        bgTo: {}
                                    },
                                    transitions: {
                                        bg: null,
                                        in : null,
                                        out: null,
                                        loop: null,
                                        hover: null
                                    }
                                }, init: {
                                    wrapper: {
                                        autoCSS: !1,
                                        immediateRender: !1,
                                        css: {
                                            display: "block"
                                        }
                                    }
                                }, transformPerspective: {
                                    layer: 500,
                                    text: 500,
                                    loop: 500,
                                    hover: 500
                                }, reset: {
                                    wrapperOnTimelineEnd: {
                                        autoCSS: !1,
                                        css: {
                                            opacity: 1,
                                            display: "none"
                                        }
                                    },
                                    wrapperOnSlideChange: {
                                        autoCSS: !1,
                                        css: {
                                            x: 0,
                                            y: 0,
                                            rotation: 0,
                                            rotationX: 0,
                                            rotationY: 0,
                                            scaleX: 1,
                                            scaleY: 1,
                                            skewX: 0,
                                            skewY: 0,
                                            opacity: 1,
                                            display: "none"
                                        }
                                    },
                                    loopWrapperOnSlideChange: {
                                        autoCSS: !1,
                                        css: {
                                            x: 0,
                                            y: 0,
                                            rotation: 0,
                                            rotationX: 0,
                                            rotationY: 0,
                                            scaleX: 1,
                                            scaleY: 1,
                                            skewX: 0,
                                            skewY: 0,
                                            opacity: 1
                                        }
                                    }
                                }
                            }
                        };
                        return {
                            is: i.is,
                            should: i.should,
                            elements: i.elements,
                            settings: i.settings,
                            styleSettings: i.styleSettings,
                            mediaSettings: i.mediaSettings,
                            mediaProperties: i.mediaProperties,
                            timeline: i.timeline,
                            in : i.transitionProperties.in,
                            inLayerFrom: i.transitionProperties.in.layerFrom,
                            inLayerFromCSS: i.transitionProperties.in.layerFrom.css,
                            inLayerStyleFrom: i.transitionProperties.in.layerStyleFrom,
                            inLayerStyleFromCSS: i.transitionProperties.in.layerStyleFrom.css,
                            inClipFrom: i.transitionProperties.in.clipFrom,
                            inClipFromCSS: i.transitionProperties.in.clipFrom.css,
                            inLayerTo: i.transitionProperties.in.layerTo,
                            inLayerToCSS: i.transitionProperties.in.layerTo.css,
                            inLayerStyleTo: i.transitionProperties.in.layerStyleTo,
                            inLayerStyleToCSS: i.transitionProperties.in.layerStyleTo.css,
                            inClipTo: i.transitionProperties.in.clipTo,
                            inClipToCSS: i.transitionProperties.in.clipTo.css,
                            inClipShouldBeConverted: i.transitionProperties.in.clipShouldBeConverted,
                            inLayerShouldBeConverted: i.transitionProperties.in.layerShouldBeConverted,
                            inLayerStyleShouldBeConvertedFrom: i.transitionProperties.in.layerStyleShouldBeConvertedFrom,
                            inLayerStyleShouldBeConvertedTo: i.transitionProperties.in.layerStyleShouldBeConvertedTo,
                            textIn: i.transitionProperties.textIn,
                            textInNodesFrom: i.transitionProperties.textIn.nodesFrom,
                            textInNodesTo: i.transitionProperties.textIn.nodesTo,
                            textInNodesToCSS: i.transitionProperties.textIn.nodesTo.css,
                            textInShouldBeConverted: i.transitionProperties.textIn.shouldBeConverted,
                            out: i.transitionProperties.out,
                            outLayerFrom: i.transitionProperties.out.layerFrom,
                            outLayerFromCSS: i.transitionProperties.out.layerFrom.css,
                            outLayerStyleFrom: i.transitionProperties.out.layerStyleFrom,
                            outLayerStyleFromCSS: i.transitionProperties.out.layerStyleFrom.css,
                            outLayerTo: i.transitionProperties.out.layerTo,
                            outLayerToCSS: i.transitionProperties.out.layerTo.css,
                            outLayerStyleTo: i.transitionProperties.out.layerStyleTo,
                            outLayerStyleToCSS: i.transitionProperties.out.layerStyleTo.css,
                            outClipTo: i.transitionProperties.out.clipTo,
                            outClipToCSS: i.transitionProperties.out.clipTo.css,
                            outClipShouldBeConverted: i.transitionProperties.out.clipShouldBeConverted,
                            outLayerShouldBeConverted: i.transitionProperties.out.layerShouldBeConverted,
                            outLayerStyleShouldBeConvertedFrom: i.transitionProperties.out.layerStyleShouldBeConvertedFrom,
                            outLayerStyleShouldBeConvertedTo: i.transitionProperties.out.layerStyleShouldBeConvertedTo,
                            textOut: i.transitionProperties.textOut,
                            textOutNodesFrom: i.transitionProperties.textOut.nodesFrom,
                            textOutNodesTo: i.transitionProperties.textOut.nodesTo,
                            textOutShouldBeConverted: i.transitionProperties.textOut.shouldBeConverted,
                            loop: i.transitionProperties.loop,
                            loopFrom: i.transitionProperties.loop.from,
                            loopFromCSS: i.transitionProperties.loop.from.css,
                            loopTo: i.transitionProperties.loop.to,
                            loopToCSS: i.transitionProperties.loop.to.css,
                            loopClipTo: i.transitionProperties.loop.clipTo,
                            loopClipToCSS: i.transitionProperties.loop.clipTo.css,
                            loopClipShouldBeConverted: i.transitionProperties.loop.clipShouldBeConverted,
                            loopLayerShouldBeConverted: i.transitionProperties.loop.layerShouldBeConverted,
                            hover: i.transitionProperties.hover,
                            hoverFrom: i.transitionProperties.hover.from,
                            hoverFromCSS: i.transitionProperties.hover.from.css,
                            hoverTo: i.transitionProperties.hover.to,
                            hoverToCSS: i.transitionProperties.hover.to.css,
                            hoverShouldBeConverted: i.transitionProperties.hover.shouldBeConverted,
                            parallax: i.transitionProperties.parallax,
                            kenBurns: i.transitionProperties.kenBurns,
                            clip: i.transitionProperties.clip,
                            filter: i.transitionProperties.filter,
                            transformPerspective: i.transitionProperties.transformPerspective,
                            init: i.transitionProperties.init,
                            reset: i.transitionProperties.reset
                        }
                    }
                }
            }, o.slides = {
                count: 0,
                first: {},
                prev: {},
                current: {},
                next: {},
                init: function() {
                    if (!document.body.contains(t)) return !1;
                    for (var s = i.find("> .ls-layer, > .ls-slide"), a = 0, r = o.defaults.slide.keys, n = 0, l = s.length; n < l; n++) {
                        var d = e(s[n]),
                            u = d[0].style,
                            p = {
                                $link: !1,
                                index: -1,
                                data: {
                                    timeShift: 0,
                                    calculatedTimeShift: 0
                                },
                                parallax: {},
                                kenBurns: {
                                    scale: 1.2
                                },
                                filter: {}
                            };
                        if (o.slides.count++, d.removeClass("ls-layer").addClass("ls-slide").css({
                                width: o.slider.initial.originalWidth,
                                height: o.slider.initial.originalHeight
                            }).appendTo(o.slider.$hiddenWrapper), d.data("ls"))
                            for (var c = d.data("ls").toLowerCase().split(";"), h = 0; h < c.length; h++) {
                                var m, f, g = c[h].split(":");
                                g[0] = e.trim(g[0]), g[1] = e.trim(g[1]), "" !== g[0] && void 0 !== r[g[0]] && (m = void 0 === r[g[0]][1] ? g[0] : r[g[0]][1], f = o.functions.convert.properties(g[1]), -1 === m.toLowerCase().indexOf("duration") && -1 === m.toLowerCase().indexOf("delay") && "timeShift" != m || (f /= 1e3), p[r[g[0]][0]][m] = f)
                            }
                        if (d.children("a.ls-link").length && (p.data.$link = d.children("a.ls-link").first().css({
                                zIndex: 5
                            }).attr("data-ls-slide-link", a + 1).appendTo(o.slider.$layersWrapper), o.layers.set.smartLinks(p.data.$link)), p.data.$backgroundVideo = d.children('[data-ls*="backgroundvideo"]').first(), p.data.$backgroundVideo.length && (null !== p.data.$backgroundVideo.attr("data-ls").split("backgroundvideo")[1].split(";")[0].match(/(true|enabled|on|1)/i) ? (p.data.$backgroundVideo.addClass("ls-bg-video").css({
                                width: "auto",
                                height: "auto"
                            }).children("video, audio, iframe").css({
                                width: "100%",
                                height: "100%"
                            }), p.data.$backgroundVideo.append(e('<div class="ls-bg-video-overlay"></div>'))) : p.data.$backgroundVideo = !1), d.find("> .ls-bg").length && (p.data.$background = d.find("> .ls-bg").first()), !p.data.thumbnail) {
                            var v;
                            d.find("> .ls-tn").length ? v = d.find("> .ls-tn").first() : d.find("> .ls-bg").length && (v = d.find("> .ls-bg").first()), v ? (p.data.thumbnail = o.functions.getURL(v), p.data.tnAlt = o.functions.getALT(v)) : p.data.thumbnail = o.o.skinsPath + o.o.skin + "/nothumb.png"
                        }(p.data.customtransition2d || p.data.customtransition3d) && "undefined" == typeof layerSliderCustomTransitions && (delete p.data.customtransition2d, delete p.data.customtransition3d, o.debugMode && o.debug.add("warn", "sliderInit.customTransitions", a + 1)), "visible" === u.overflow && (p.data.overflow = "visible"), p.data.backgroundColor || (p.data.backgroundColor = "" === d[0].style.backgroundColor ? "transparent" : d[0].style.backgroundColor), o.slides[++a] = {}, o.slides[a].data = e.extend(!0, {}, o.defaults.slide.options.data, p.data), o.slides[a].parallax = p.parallax, o.slides[a].kenBurns = p.kenBurns, o.slides[a].filter = p.filter, o.slides[a].index = a, o.slides[a].$layers = e(), o.slider.thumbnails.push(p.data.thumbnail), o.layers.init(d, a)
                    }
                    o.debugMode && o.debug.groupEnd("sliderInit.style")
                },
                set: {
                    slideIndexes: function() {
                        var e = o.slides;
                        e.prev.index = e.current.index, e.current.index = e.next.index, e.next.index = o.slideshow.get.slideInSequence(o.slideshow.direction), e.set.slidesData()
                    },
                    nextSlideIndex: function(e) {
                        var t = o.slides;
                        t.next.index = e, t.set.slidesData()
                    },
                    slidesData: function() {
                        var t = o.slides;
                        t.prev = -1 !== t.prev.index ? e.extend(!0, {}, t[t.prev.index]) : {}, t.current = -1 !== t.current.index ? e.extend(!0, {}, t[t.current.index]) : {}, t.next = -1 !== t.next.index ? e.extend(!0, {}, t[t.next.index]) : {}
                    },
                    firstSlide: function() {
                        var e = o.slides;
                        if (e.first.index = o.functions.convert.properties(o.o.firstSlide), o.o.shuffleSlideshow && o.slides.count > 2 ? o.o.twoWaySlideshow = !1 : o.o.shuffleSlideshow = !1, e.first.index = "random" == e.first.index ? Math.floor(Math.random() * o.slides.count + 1) : e.first.index, document.location.hash)
                            for (var t = 1; t < e.count + 1; t++) e[t].data.deeplink == document.location.hash.split("#")[1] && (e.first.index = t);
                        e.first.index = e.first.index < 1 || e.first.index > o.slides.count ? 1 : e.first.index, o.o.shuffleSlideshow && "random" != o.o.firstSlide && (e.first.index = o.o.firstSlide), o.o.playByScroll && o.slideshow.set.normalizedSequence(), o.debugMode && o.debug.options.firstSlide && (e.first.index = o.debug.options.firstSlide)
                    }
                },
                get: {
                    deeplink: function(e) {
                        return e && o.slides[e] && o.slides[e].data && o.slides[e].data.deeplink ? o.slides[e].data.deeplink : null
                    }
                },
                slide: []
            }, o.layers = {
                $all: e(),
                getStyle: function(e, t) {
                    return -1 != e.indexOf("%") ? parseFloat(e) * t : parseFloat(e)
                },
                init: function(i, s) {
                    if (!document.body.contains(t)) return !1;
                    for (var a, r = i.find('.ls-bg, .ls-l, .ls-layer, *[class^="ls-s"]'), n = 0, l = r.length; n < l; n++) {
                        var d = e(r[n]),
                            u = d[0],
                            p = d.children();
                        if (-1 != d.attr("class").indexOf("ls-s")) {
                            var c = d.attr("class").split("ls-s")[1].split(" ")[0];
                            d.removeClass("ls-s" + c).addClass("ls-layer")
                        } else if (d.hasClass("ls-l")) d.removeClass("ls-l").addClass("ls-layer");
                        else if (!d.is(".ls-bg, .ls-layer")) {
                            d.remove();
                            continue
                        }
                        d.is("a") && 1 === p.length && ((u = (d = d.children().first())[0]).setAttribute("data-ls", u.parentNode.getAttribute("data-ls")), u.parentNode.removeAttribute("data-ls"), d.parent().removeClass("ls-layer"), d.addClass("ls-layer")), d.data(o.defaults.init.dataKey, new o.defaults.layer.options(d, s)), -1 !== d.attr("class").indexOf("ls-linkto-") && this.set.linkTo(d), d.parent().is("a") ? (a = d.parent(), this.set.smartLinks(a)) : a = d, o.slides[s].$layers = o.slides[s].$layers.add(a)
                    }
                },
                set: {
                    smartLinks: function(t) {
                        var i = t.attr("href"),
                            s = t.attr("target");
                        if (s && -1 !== s.indexOf("ls-scroll") && t.on("click." + a, function(t) {
                                t.preventDefault();
                                var s, a = document.body.scrollHeight - o.device.viewportHeight;
                                if (i && "" !== i) switch (i) {
                                    case "pagetop":
                                        s = 0;
                                        break;
                                    case "pagebottom":
                                        s = o.device.docHeight - o.device.viewportHeight;
                                        break;
                                    case "slidertop":
                                        s = o.slider.offsetTop;
                                        break;
                                    case "sliderbottom":
                                        s = o.slider.offsetTop + o.slider.height;
                                        break;
                                    default:
                                        s = e(i).first().length ? e(i).first().offset().top : o.slider.offsetTop + o.slider.height
                                } else "" === i && (s = o.slider.offsetTop + o.slider.height);
                                s = Math.min(s, a), s = Math.max(0, s), r.TweenMax.to("html, body", 1, {
                                    scrollTop: s,
                                    ease: r.Quint.easeInOut
                                })
                            }), -1 !== o.defaults.init.controls.indexOf(i) || i.match(/^\#[0-9]/)) {
                            var n = e.trim(i.toLowerCase().split("#")[1]),
                                l = parseInt(n);
                            t.on("click." + a, function(e) {
                                if (e.preventDefault(), -1 !== ["prev", "next", "start", "stop"].indexOf(n)) o.navigation[n]("clicked");
                                else if ("number" == typeof l && l === l) o.slideshow.changeTo(l, !0, !0);
                                else if (!o.slider.state.changingSlides) switch (n) {
                                    case "replay":
                                        o.api.methods("replay");
                                        break;
                                    case "reverse":
                                        o.api.methods("reverse");
                                        break;
                                    case "reverse-replay":
                                        o.api.methods("reverse", !0)
                                }
                            })
                        }
                    },
                    linkTo: function(t) {
                        for (var s = t.attr("class").split(" "), r = 1, n = 0; n < s.length; n++) - 1 != s[n].indexOf("ls-linkto-") && (r = parseInt(s[n].split("ls-linkto-")[1]));
                        t.data(o.defaults.init.dataKey).settings.linkedToSlide = r, t.css({
                            cursor: "pointer"
                        }).on("click." + a, function(t) {
                            t.preventDefault(), i.layerSlider(e(this).data(o.defaults.init.dataKey).settings.linkedToSlide)
                        })
                    },
                    wrappers: function(e, t, i) {
                        t.is.slideBackground || t.is.backgroundVideo ? (t.elements.$bgWrapper = e.closest(".ls-bg-wrap"), t.elements.$bgOuterWrapper = e.closest(".ls-bg-outer")) : (t.elements.$wrapper = e.closest(".ls-in-out"), t.elements.$wrapper.data(o.defaults.init.dataKey, {}), t.settings.wrapperData = t.elements.$wrapper.data(o.defaults.init.dataKey), t.elements.$clipWrapper = e.closest(".ls-clip"), t.elements.$clipWrapper.data(o.defaults.init.dataKey, {}), t.settings.clipWrapperData = t.elements.$clipWrapper.data(o.defaults.init.dataKey), t.elements.$loopWrapper = e.closest(".ls-loop"), t.elements.$loopWrapper.data(o.defaults.init.dataKey, {}), t.settings.loopWrapperData = t.elements.$loopWrapper.data(o.defaults.init.dataKey)), t.parallax.enabled && (t.elements.$parallaxWrapper = e.closest(".ls-parallax"), t.elements.$parallaxWrapper.data(o.defaults.init.dataKey, {
                            parallax: {}
                        }), t.settings.parallaxWrapperData = t.elements.$parallaxWrapper.data(o.defaults.init.dataKey), o.transitions.layers.parallax.addLayer(t.elements.$parallaxWrapper, t.settings.parallaxWrapperData.parallax, t, i)), t.hover.enabled && !o.slides[i].data.globalhover && o.transitions.layers.hover.set(e, t), o.browser.isSafari ? t.elements.$outerWrapper = e.closest(".ls-z") : t.elements.$outerWrapper = t.parallax.enabled ? t.elements.$parallaxWrapper : t.elements.$bgWrapper ? t.elements.$bgOuterWrapper : t.elements.$wrapper
                    },
                    style: function(e) {
                        var t, i, s, a, r, n, l, d, u, p, c, h, m, f, g, v, y, b, S, w, x, T, C = e[0],
                            k = e.data(o.defaults.init.dataKey),
                            I = C.style,
                            O = o.layers,
                            L = 0,
                            $ = 0,
                            P = !1,
                            B = C.getBoundingClientRect();
                        if (d = "" !== I.paddingLeft ? O.getStyle(I.paddingLeft, o.slider.initial.percW) : parseFloat(e.css("padding-left")), p = "" !== I.paddingRight ? O.getStyle(I.paddingRight, o.slider.initial.percW) : parseFloat(e.css("padding-right")), u = "" !== I.paddingTop ? O.getStyle(I.paddingTop, o.slider.initial.percH) : parseFloat(e.css("padding-top")), c = "" !== I.paddingBottom ? O.getStyle(I.paddingBottom, o.slider.initial.percH) : parseFloat(e.css("padding-bottom")), h = "" !== I.marginLeft ? O.getStyle(I.marginLeft, o.slider.initial.percW) : parseFloat(e.css("margin-left")), m = "" !== I.marginTop ? O.getStyle(I.marginTop, o.slider.initial.percH) : parseFloat(e.css("margin-top")), C.style.margin = "0", g = "" !== I.borderLeftWidth ? parseFloat(I.borderLeftWidth) : parseFloat(e.css("border-left-width")), y = "" !== I.borderRightWidth ? parseFloat(I.borderRightWidth) : parseFloat(e.css("border-right-width")), v = "" !== I.borderTopWidth ? parseFloat(I.borderTopWidth) : parseFloat(e.css("border-top-width")), b = "" !== I.borderBottomWidth ? parseFloat(I.borderBottomWidth) : parseFloat(e.css("border-bottom-width")), 1 === o.media.$allMediaLayers.filter(e).length || e.children("iframe").length) {
                            var W = e.children(),
                                M = W.attr("width") ? W.attr("width") : W.width(),
                                _ = W.attr("height") ? W.attr("height") : W.height();
                            300 === parseInt(M) && 150 === parseInt(_) && (M = 640, _ = 360), "" !== C.style.width && "auto" !== C.style.width || e.css("width", M), "" !== C.style.height && "auto" !== C.style.height || e.css("height", _), "100%" === I.width && "100%" === I.height && (I.left = "50%", I.top = "50%", k.mediaSettings.fullsize = !0), P = M / _, W.css({
                                width: "100%",
                                height: "100%"
                            })
                        }
                        var z = k.attributes;
                        e.is("img") && (S = (a = e.data("preloadedWidth")) / (r = e.data("preloadedHeight")), (!I.width && !I.height || "auto" === I.width && "auto" === I.height) && z && (z.width && z.height ? (-1 === z.width.indexOf("%") ? i = parseInt(z.width) : (L = parseInt(z.width), i = O.getStyle(z.width, o.slider.initial.percW)), -1 === z.height.indexOf("%") ? s = parseInt(z.height) : ($ = parseInt(z.height), s = O.getStyle(z.height, o.slider.initial.percH))) : z.maxWidth && (e[0].style.width = z.maxWidth + "px", i = z.maxWidth, s = e.height()))), x = B.width ? B.width : B.right - B.left, T = B.height ? B.height : B.bottom - B.top, i || (i = I.width, -1 !== I.width.indexOf("%") && (L = parseInt(I.width)), i = "" !== i && "auto" !== i ? O.getStyle(i, o.slider.initial.percW) : x - d - p - g - y, i = i || "auto"), s || (s = I.height, -1 !== I.height.indexOf("%") && ($ = parseInt(I.height)), s = (s = "" !== s && "auto" !== s ? O.getStyle(s, o.slider.initial.percH) : T - u - c - v - b) || "auto"), w = P || i / s, !e.is("img") || I.width || I.height || z && (!z || z.width || z.height) || a === i && r === s || (a !== i ? s = (i = a > 5 ? a : i) / (w = a > 5 ? S : w) : r !== s && (i = (s = r > 5 ? r : s) * (w = r > 5 ? r : w))), parseFloat(e.css("opacity")), n = g + d + i + p + y, l = v + u + s + c + b, t = "" !== I.clip && I.clip, I.clip = "", f = I.webkitFilter || I.filter;
                        var F = function(e) {
                            var t = e;
                            return e && -1 !== e.indexOf("px ") && (e = e.replace("px", "").split(" "), t = Math.round(parseInt(e[0]) / i * 100) + "%"), t
                        };
                        k.original = {
                            clip: t,
                            clipShouldBeConverted: !1,
                            left: I.left ? I.left : "0",
                            top: I.top ? I.top : "0",
                            width: Math.ceil(i),
                            height: Math.ceil(s),
                            percentWidth: L,
                            percentHeight: $,
                            outerWidth: n,
                            outerHeight: l,
                            styleWidth: I.width,
                            styleHeight: I.height,
                            ratio: w,
                            paddingLeft: d,
                            paddingTop: u,
                            paddingRight: p,
                            paddingBottom: c,
                            marginLeft: h,
                            marginTop: m,
                            borderLeftWidth: g,
                            borderTopWidth: v,
                            borderRightWidth: y,
                            borderBottomWidth: b,
                            borderRadius: F(e.css("borderTopLeftRadius")) + " " + F(e.css("borderTopRightRadius")) + " " + F(e.css("borderBottomRightRadius")) + " " + F(e.css("borderBottomLeftRadius")),
                            fontSize: parseFloat(e.css("font-size")),
                            lineHeight: e.css("line-height"),
                            letterSpacing: e.css("letter-spacing"),
                            color: e.css("color"),
                            zIndex: parseInt(e.css("z-index")) || "auto",
                            filter: f,
                            backgroundColor: e.css("background-color"),
                            dataLS: e.attr("data-ls") || "",
                            styles: e.attr("style") || ""
                        }, I.zIndex = "auto", k.responsive = {
                            left: I.left ? I.left : "0",
                            top: I.top ? I.top : "0",
                            width: i,
                            height: s
                        }
                    },
                    properties: function(t, i, s) {
                        var a = t.data(o.defaults.init.dataKey);
                        t.data("ls");
                        if (a.is.textLayer = !t.is("img") && !a.is.mediaLayer, a.self = t, t.data("ls"))
                            for (var n = o.defaults.layer.keys, l = t.data("ls").split(";"), d = t.data("ls").toLowerCase().split(";"), u = 0; u < d.length; u++)
                                if (e.trim(d[u])) {
                                    var p = d[u].indexOf(":"),
                                        c = [d[u].substring(0, p), d[u].substring(p + 1)],
                                        h = null,
                                        m = null,
                                        f = null,
                                        g = null,
                                        v = null;
                                    if ("" !== (h = e.trim(c[0])))
                                        if (h = h.replace("split", "text"), void 0 !== n[h]) {
                                            if (m = n[h][0], v = "overlay" === h ? e.trim(l[u].substring(p + 1)) : o.functions.convert.properties(e.trim(c[1])), c[1] && -1 !== c[1].indexOf("random") && (h.match(/(text)/) || (v = o.functions.convert.randomProperties(v, m)), a.should.update || (a.should.update = !0)), "number" == typeof v && m.match(/(duration|startat|shift|delay)/i) && (v /= 1e3), h.match(/(fade)(.+)/)) switch (v) {
                                                case !0:
                                                    v = 0;
                                                    break;
                                                case !1:
                                                    v = 1
                                            }
                                            void 0 !== (g = n[h][1]) ? "" !== v ? "object" == typeof v ? h.match(/(text)/) ? g.match(/(converted)/i) ? a[g][m] = v : a[g].cycle[m] = v : (f = o.functions.convert.properties(e.trim(v[0])), o.debugMode && o.debug.add("warn", "layerInit.prop1", [h, v, f]), "number" == typeof f && m.match(/(duration|startat|shift|delay)/i) && (f /= 1e3), a[g][m] = f) : h.match(/(text)/) && -1 !== v.toString().indexOf("random") ? a[g].random[m] = v : a[g][m] = v : o.debugMode && o.debug.add("warn", "layerInit.prop2", h) : a[m][h] = v
                                        } else "clip" === h ? (a.original.clip = c[1], a.original.clipShouldBeConverted = !0) : o.debugMode && o.debug.add("warn", "layerInit.prop4", h)
                                }
                        if (o.browser.isOld && (a.in.enabled = !0, a.textIn.enabled = !1, a.textOut.enabled = !1, a.textIn.type = null, a.textOut.type = null), a.in.enabled && (a.inLayerTo.ease = a.inLayerStyleTo.ease = a.inClipTo.ease = o.functions.convert.easing(a.in.ease)), void 0 !== a.inLayerStyleShouldBeConvertedFrom.borderRadius && (a.inLayerStyleShouldBeConvertedTo.borderRadius = a.original.borderRadius), void 0 !== a.outLayerStyleShouldBeConvertedTo.borderRadius && (a.outLayerStyleShouldBeConvertedFrom.borderRadius = a.original.borderRadius), a.inLayerStyleFromCSS.backgroundColor && (a.inLayerStyleToCSS.backgroundColor = a.original.backgroundColor), a.outLayerStyleToCSS.backgroundColor && (a.outLayerStyleFromCSS.backgroundColor = a.original.backgroundColor), a.inLayerStyleFromCSS.color && (a.inLayerStyleToCSS.color = a.original.color), a.outLayerStyleToCSS.color && (a.outLayerStyleFromCSS.color = a.original.color), void 0 !== a.inLayerStyleShouldBeConvertedFrom.width && (a.inLayerStyleShouldBeConvertedTo.width = a.original.width), void 0 !== a.outLayerStyleShouldBeConvertedTo.width && (a.outLayerStyleShouldBeConvertedFrom.width = a.original.width), void 0 !== a.inLayerStyleShouldBeConvertedFrom.height && (a.inLayerStyleShouldBeConvertedTo.height = a.original.height), void 0 !== a.outLayerStyleShouldBeConvertedTo.height && (a.outLayerStyleShouldBeConvertedFrom.height = a.original.height), void 0 !== a.out.showUntil && 0 !== a.out.showUntil && (a.out.startAt = "transitioninend + " + a.out.showUntil), -1 !== a.out.startAt.indexOf("slidechangeonly") && "slidechangeonly" !== a.out.startAt && (a.out.startAt = "slidechangeonly"), a.out.enabled && (a.outLayerTo.ease = a.outLayerStyleTo.ease = a.outClipTo.ease = o.functions.convert.easing(a.out.ease)), e.isNumeric(a.loop.count) && (a.loop.count > 0 || -1 === a.loop.count) && !1 !== a.loop.enabled ? (a.loop.enabled = !0, a.loopTo.ease = a.loopClipTo.ease = o.functions.convert.easing(a.loop.ease), -1 !== a.loop.count ? a.loop.yoyo ? a.loop.repeat = 2 * a.loop.count - 1 : a.loop.repeat = a.loop.count - 1 : a.loop.repeat = -1) : a.loop.enabled = !1, (!e.isEmptyObject(a.hoverToCSS) || a.hoverShouldBeConverted.x || a.hoverShouldBeConverted.y || a.hoverShouldBeConverted.borderRadius || a.hoverShouldBeConverted.filter) && !1 !== a.hover.enabled ? (a.hover.enabled = !0, a.hover.easeOut || (a.hover.easeOut = a.hover.easeIn), a.hover.easeIn = o.functions.convert.easing(a.hover.easeIn), a.hover.easeOut = o.functions.convert.easing(a.hover.easeOut, !0), a.hover.durationOut || (a.hover.durationOut = a.hover.durationIn), r.TweenMax.set(t[0], {
                                autoCSS: !1,
                                css: {
                                    transformPerspective: a.hoverShouldBeConverted.transformPerspective
                                }
                            })) : a.hover.enabled = !1, a.parallax.level && e.isNumeric(a.parallax.level) && 0 !== a.parallax.level && !1 !== a.parallax.enabled ? a.parallax.enabled = !0 : a.parallax.enabled = !1, a.is.slideBackground) {
                            var y = {
                                scale: 1,
                                rotation: 0
                            };
                            if (o.slides[i].kenBurns.zoom && (a.kenBurns = o.slides[i].kenBurns), a.kenBurns.zoom) {
                                switch (a.kenBurns.from = {}, a.kenBurns.to = {}, a.kenBurns.zoom) {
                                    case "out":
                                        a.kenBurns.from.scale = a.kenBurns.scale || 1, a.kenBurns.from.rotation = a.kenBurns.rotation || 0, a.kenBurns.to = y;
                                        break;
                                    case "in":
                                        a.kenBurns.from = y, a.kenBurns.to.scale = a.kenBurns.scale || 1, a.kenBurns.to.rotation = a.kenBurns.rotation || 0
                                }
                                delete a.kenBurns.scale, delete a.kenBurns.rotation
                            } else a.kenBurns.from = y, a.kenBurns.to = y;
                            e.isEmptyObject(o.slides[i].filter) || (o.slides[i].filter.from && (a.filter.values.bgFrom = o.transitions.layers.filters.convert(o.slides[i].filter.from)), o.slides[i].filter.to && (a.filter.values.bgTo = o.transitions.layers.filters.convert(o.slides[i].filter.to)))
                        }
                        if (a.textIn.type && -1 === o.defaults.layer.splitTypeKeys.indexOf(a.textIn.type) && (o.debugMode && o.debug.add("warn", "layerInit.splitType3a", [t[0].tagName, a.textIn.type]), delete a.textIn.type, delete a.textIn.ns, a.textIn.enabled = !1), a.textOut.type && -1 === o.defaults.layer.splitTypeKeys.indexOf(a.textOut.type) && (o.debugMode && o.debug.add("warn", "layerInit.splitType3b", [t[0].tagName, a.textOut.type]), delete a.textOut.type, delete a.textOut.ns, a.textOut.enabled = !1), a.textIn.type || a.textOut.type) {
                            var b = 0;
                            if (a.is.textLayer ? (a.textIn.type && (a.textIn.enabled = !0, a.textInNodesTo.ease = o.functions.convert.easing(a.textInNodesTo.ease), a.textIn.split = a.textIn.type.split("_")[0], t.children().length && o.debugMode && (b = 1)), a.textOut.type && (a.textOut.enabled = !0, a.textOutNodesTo.ease = o.functions.convert.easing(a.textOutNodesTo.ease)), a.textOut.enabled && a.textOut.type.split("_")[0] !== a.textIn.split && (a.textIn.split += ", " + a.textOut.type.split("_")[0], t.children().length && o.debugMode && (b = 1)), -1 !== a.textIn.split.indexOf("chars") && -1 === a.textIn.split.indexOf("words") && (a.textIn.split += ", words"), -1 !== a.textIn.split.indexOf("words") && -1 === a.textIn.split.indexOf("lines") && (a.textIn.split += ", lines")) : (delete a.textIn.type, delete a.textOut.type, delete a.textIn.ns, delete a.textOut.ns, o.debugMode && (b = 2)), o.debugMode && 0 !== b && i && !s) switch (b) {
                                case 1:
                                    o.debug.add("warn", "layerInit.splitType1", [t.prop("nodeName"), i]);
                                    break;
                                case 2:
                                    o.debug.add("warn", "layerInit.splitType2", [i, t.prop("nodeName")])
                            }
                        }
                        if ((a.original.clip || a.inClipShouldBeConverted.clip || a.outClipShouldBeConverted.clip || a.loopClipShouldBeConverted.clip) && (a.clip.enabled = !0), a.in.enabled && a.inLayerToCSS.scale && (delete a.inLayerToCSS.scaleX, delete a.inLayerToCSS.scaleY), a.out.enabled && a.outLayerToCSS.scale && (delete a.outLayerToCSS.scaleX, delete a.outLayerToCSS.scaleY), a.inLayerStyleShouldBeConvertedFrom.filter && (a.filter.values.in = o.transitions.layers.filters.convert(a.inLayerStyleShouldBeConvertedFrom.filter)), a.filter.values.style = o.transitions.layers.filters.convert(a.original.filter), a.outLayerStyleShouldBeConvertedTo.filter && (a.filter.values.out = o.transitions.layers.filters.convert(a.outLayerStyleShouldBeConvertedTo.filter)), a.loopLayerShouldBeConverted.filter && (a.filter.values.loop = o.transitions.layers.filters.convert(a.loopLayerShouldBeConverted.filter)), a.hoverShouldBeConverted.filter && (a.filter.values.hover = o.transitions.layers.filters.convert(a.hoverShouldBeConverted.filter)), a.in.enabled || (a.in.duration = 0), a.textIn.enabled || (a.textIn.duration = 0), a.loop.enabled || (a.loop.duration = 0), a.textOut.enabled || (a.textOut.duration = 0), a.out.enabled || (a.out.duration = 0), t.attr("data-ls-slidein", i), void 0 !== a.settings.static && "none" !== a.settings.static) {
                            var S = parseInt(a.settings.static);
                            0 !== S && "forever" !== a.settings.static ? (t.attr("data-ls-slideout", S), a.settings.slideOut = S) : a.settings.slideOut = 0, a.is.static = !0, t.attr("data-ls-static", "1")
                        } else t.attr("data-ls-slideout", i);
                        if (a.is.mediaLayer) {
                            var w = t.children("video, audio").eq(0);
                            if (null !== a.mediaSettings.controls) switch (a.mediaSettings.controls) {
                                case !0:
                                    w.prop("controls", !0);
                                    break;
                                case !1:
                                    w.prop("controls", !1)
                            }
                            a.mediaSettings.volume && (a.mediaSettings.volume < 0 ? a.mediaSettings.volume = 0 : a.mediaSettings.volume > 100 && (a.mediaSettings.volume = 100)), a.is.backgroundVideo && (o.media.setBackgroundVideo(a, t), a.styleSettings.overlay && t.find(".ls-bg-video-overlay").css({
                                backgroundImage: "url(" + a.styleSettings.overlay + ")"
                            }))
                        }
                        a.styleSettings.minfontsize && (a.styleSettings.minfontsize = parseFloat(a.styleSettings.minfontsize)), a.styleSettings.minmobilefontsize && (a.styleSettings.minmobilefontsize = parseFloat(a.styleSettings.minmobilefontsize))
                    }
                },
                get: function(e) {
                    var t = this.$all;
                    if (e) {
                        var i = "in",
                            s = "",
                            a = "",
                            r = ':not(".ls-bg")',
                            n = ':not(".ls-bg-video")'; - 1 == (e = e.toLowerCase()).indexOf("bgvideo") && -1 == e.indexOf("backgroundvideo") || (n = "", e = e.replace("bgvideo", "").replace("backgroundvideo", "")), -1 != e.indexOf("video") && (a += ", > video", e = e.replace("video", "")), -1 != e.indexOf("audio") && (a += ", > audio", e = e.replace("audio", "")), -1 != e.indexOf("html5") && (a += ", > video, > audio", e = e.replace("html5", "")), -1 != e.indexOf("youtube") && (a += ', > iframe[src*="youtube-nocookie.com"], > iframe[src*="youtube.com"], > iframe[src*="youtu.be"], > iframe[data-src*="youtube-nocookie.com"], > iframe[data-src*="youtube.com"], > iframe[data-src*="youtu.be"]', e = e.replace("youtube", "")), -1 != e.indexOf("vimeo") && (a += ', > iframe[src*="player.vimeo"], > iframe[data-src*="player.vimeo"]', e = e.replace("vimeo", "")), "," == a.charAt(0) && (a = a.substring(2, a.length)), -1 != e.indexOf("out") && (i = "out"), -1 == e.indexOf("img") && -1 == e.indexOf("image") || (s = "img"), -1 == e.indexOf("bg") && -1 == e.indexOf("background") && -1 == e.indexOf("bgonly") || (r = ""), t = -1 != e.indexOf("current") ? t.filter(s + "[data-ls-slide" + i + '="' + o.slides.current.index + '"]' + r + n) : -1 != e.indexOf("next") ? t.filter(s + "[data-ls-slide" + i + '="' + o.slides.next.index + '"]' + r + n) : t.filter(s + r + n), -1 != e.indexOf("notactive") && (t = t.filter(".ls-bg, .ls-bg-video, :hidden"), e = e.replace("notactive", "")), -1 != e.indexOf("active") && (t = t.filter(":visible:not(.ls-bg, .ls-bg-video)"), e = e.replace("active", "")), -1 != e.indexOf("notstatic") && (t = t.filter(':not([data-ls-static="1"])'), e = e.replace("notstatic", "")), -1 != e.indexOf("static") && (t = t.filter('[data-ls-static="1"]'), e = e.replace("static", "")), -1 != e.indexOf("bgonly") && (t = t.filter(".ls-bg"), e = e.replace("bgonly", "")), "" !== a && (t = t.find(a))
                    }
                    return t
                },
                update: {
                    data: function(t, i, s) {
                        var a, r, n;
                        switch (t instanceof jQuery || (t = e(t)), s && t.attr("data-ls", s).data("ls", s), r = t.data(o.defaults.init.dataKey), a = r.is.onSlide, n = r.original, i) {
                            default:
                                case "transitions":
                                r.settings.timelineIsCalculated = !1,
                            o.layers.set.properties(t, a, !0);
                            break;
                            case "all":
                                    t.data(o.defaults.init.dataKey, new o.defaults.layer.options(t, a)),
                                (r = t.data(o.defaults.init.dataKey)).original = n,
                                o.layers.set.properties(t, a, !0),
                                o.layers.set.wrappers(t, r, a)
                        }
                    }
                },
                wrap: function(t, s) {
                    if (!o.slides[t].wrapped && "wrapping" !== o.slides[t].wrapped) {
                        o.slides[t].wrapped = "wrapping";
                        var a = s ? 25 : 0,
                            r = o.slides[t].$layers,
                            n = r.length;
                        r.each(function(s, r) {
                            o.timeouts["slide-" + t + "-layer-" + s] = setTimeout(function() {
                                delete o.timeouts["slide-" + t + "-layer-" + s];
                                var a, l = e(r),
                                    d = l,
                                    u = "",
                                    p = !1,
                                    c = "";
                                l.hasClass("ls-hide-phone") && (c += " ls-hide-on-phone"), l.hasClass("ls-hide-tablet") && (c += " ls-hide-on-tablet"), l.hasClass("ls-hide-desktop") && (c += " ls-hide-on-desktop"), l.removeClass("ls-hide-phone ls-hide-tablet ls-hide-desktop"), d.is("a") && 1 === d.children().length && (p = !0, l = d.find(".ls-layer"));
                                var h = l.data(o.defaults.init.dataKey);
                                if (!h) return !0;
                                if (a = o.slider.$layersWrapper, h.is.backgroundVideo ? a = o.slider.$bgVideosWrapper : h.is.slideBackground && (a = o.slider.$slideBGWrapper), o.layers.set.style(l), o.layers.set.properties(l, t), h.textIn.split) {
                                    var m = new SplitType(l[0], {
                                        split: h.textIn.split
                                    });
                                    h.textIn.type && (h.textIn.ns = m[h.textIn.type.split("_")[0]]), h.textOut.type && (h.textOut.ns = m[h.textOut.type.split("_")[0]])
                                }
                                h.is.slideBackground || h.is.backgroundVideo ? u = '<div class="ls-wrapper ls-bg-outer"><div class="ls-wrapper ls-bg-wrap"></div></div>' : (h.clip.enabled && (u = '<div class="ls-wrapper ls-clip"></div>'), h.loop.enabled && (u = '<div class="ls-wrapper ls-loop">' + u + "</div>"), u = '<div class="ls-wrapper ls-in-out">' + u + "</div>"), h.parallax.enabled && (u = '<div class="ls-wrapper ls-parallax">' + u + "</div>"), o.browser.isSafari && (u = '<div class="ls-wrapper ls-z">' + u + "</div>"), "" !== u ? l.appendTo(a).wrap(u) : l.appendTo(a), !0 === p && d.addClass("ls-layer-link").appendTo(l.parent());
                                var f = {},
                                    g = l.css("mix-blend-mode");
                                g && "normal" !== g && (f["mix-blend-mode"] = g, l.css("mix-blend-mode", "normal")), h.original.customZIndex = 1;
                                var v = parseInt(h.original.zIndex);
                                h.is.backgroundVideo ? f = {
                                    zIndex: h.original.customZIndex
                                } : h.is.slideBackground ? f = {
                                    zIndex: h.original.customZIndex
                                } : (v || (v = s + 101), f.zIndex = v, h.original.customZIndex = v), o.browser.isSafari && (f.transform = "translateZ(" + 3e3 * v + "px )"), o.layers.set.wrappers(l, h, t), h.elements.$outerWrapper.css(f).addClass(c), h.is.slideBackground && h.elements.$bgWrapper.css({
                                    backgroundColor: o.slides[t].data.backgroundColor
                                }), o.layers.$all = o.layers.$all.add(l), o.slides[t].$layers = o.slides[t].$layers.not(d), s === n - 1 && (i.children(".ls-slide").eq(t - 1).empty(), o.slides[t].wrapped = !0)
                            }, a * (s + 1))
                        })
                    }
                }
            }, o.slideshow = {
                direction: "next",
                nextLoop: 0,
                firstStart: !0,
                sequence: {
                    normal: [],
                    randomized: []
                },
                state: {
                    running: !0,
                    paused: !1,
                    pausedByVideo: !1,
                    pausedByHover: !1,
                    pausedByLastCycle: !1
                },
                should: {
                    change: !1,
                    start: !1,
                    stop: !1
                },
                isPaused: function() {
                    return this.state.paused || this.state.pausedByVideo || this.state.pausedByHover
                },
                init: function() {
                    1 == o.slides.count && (o.o.autoStart = !1, o.o.navPrevNext = !1, o.o.navStartStop = !1, o.o.navButtons = !1, o.o.cycles = -1, o.o.forceLoopNum = !1, o.o.autoPauseSlideshow = !0, o.o.firstSlide = 1, o.o.thumbnailNavigation = "disabled"), o.o.autoStart && 1 != o.slides.count || o.functions.setStates(this, {
                        running: !1,
                        paused: !0
                    }), this.set.pauseOnHover(), this.set.sequences()
                },
                set: {
                    pauseOnHover: function() {
                        o.o.pauseOnHover = !0 === o.o.pauseOnHover ? o.defaults.init.options.pauseOnHover : o.o.pauseOnHover, !1 !== o.o.pauseOnHover && i.on("mouseenter." + a, function() {
                            o.slider.state.inFullscreen || (o.functions.setStates(o.slideshow, {
                                pausedByHover: !0
                            }), "slideshowOnly" !== o.o.pauseOnHover && o.transitions.layers.timeline.pause())
                        }).on("mouseleave." + a, function() {
                            var t = 1;
                            o.transitions._slideTimeline && o.transitions._slideTimeline.duration() > o.transitions.layers.timeline.totalDuration && (t = o.transitions.layers.timeline.totalDuration / o.transitions._slideTimeline.duration()), o.functions.setStates(o.slideshow, {
                                pausedByHover: !1
                            }), e("body").hasClass("ls-unselectable") || "slideshowOnly" === o.o.pauseOnHover || o.o.pauseLayers && o.slideshow.isPaused() || o.transitions.layers.timeline.resume(), o.transitions._slideTimeline && o.transitions.layers.timeline.state.finished && o.transitions._slideTimeline.progress() < t && o.functions.setStates(o.transitions.layers.timeline, {
                                finished: !1
                            }), o.slideshow.start()
                        })
                    },
                    sequences: function() {
                        for (var t = 0; t < o.slides.count; t++) o.slideshow.sequence.normal[t] = t + 1;
                        o.slideshow.sequence.randomized = o.functions.shuffleArray(e.merge([], o.slideshow.sequence.normal))
                    },
                    normalizedSequence: function() {
                        var e = o.o.shuffleSlideshow ? "randomized" : "normal",
                            t = o.slideshow.sequence[e],
                            i = o.slideshow.sequence[e].length,
                            s = t.indexOf(o.slides.first.index);
                        o.slideshow.sequence.normalized = [];
                        for (var a = s; a < i; a++) o.slideshow.sequence.normalized.push(t[a]);
                        for (var r = 0; r < s; r++) o.slideshow.sequence.normalized.push(t[r])
                    },
                    prevNext: function(e) {
                        switch (e) {
                            case "prev":
                                o.o.twoWaySlideshow && (o.slideshow.direction = "prev"), o.slideshow.changeTo(o.slideshow.get.slideInSequence("prev"), !0);
                                break;
                            case "next":
                                o.slideshow.direction = "next", o.slideshow.changeTo(o.slideshow.get.slideInSequence("next"), !0)
                        }
                    }
                },
                get: {
                    sequence: function() {
                        var e = "normal";
                        return o.o.playByScroll ? e = "normalized" : o.o.shuffleSlideshow && (e = "randomized"), e
                    },
                    slideInSequence: function(e) {
                        var t = o.slideshow.sequence[this.sequence()],
                            i = t.indexOf(o.slides.current.index);
                        switch (e) {
                            case "prev":
                                return 0 === i ? t[t.length - 1] : t[i - 1];
                            case "next":
                                return i === t.length - 1 ? t[0] : t[i + 1];
                            default:
                                return t[e]
                        }
                    },
                    indexOfSlideInSequence: function(e) {
                        return o.slideshow.sequence[this.sequence()].indexOf(e)
                    }
                },
                cycles: {set: function() {
                        o.o.cycles > 0 && (o.slideshow.curCycle = 1, o.slideshow.cycleSlideIndex = o.slideshow.get.indexOfSlideInSequence(o.slides.first.index))
                    },
                    check: function(e) {
                        if (o.slideshow.get.indexOfSlideInSequence(e) === o.slideshow.cycleSlideIndex) return ++o.slideshow.curCycle === o.o.cycles + 1
                    }
                },
                start: function(e) {
                    !this.isPaused() && o.transitions._slideTimeline && o.transitions.layers.timeline.state.finished && this.changeTo(o.slides.next.index)
                },
                stop: function() {
                    o.functions.setStates(this, {
                        running: !1,
                        paused: !0
                    })
                },
                changeTo: function(s, a, r) {
                    if (!document.body.contains(t)) return !1;
                    if (!this.firstStart && o.api.hasEvent("slideChangeWillStart")) {
                        var n = i.triggerHandler("slideChangeWillStart", o.api.eventData());
                        if (!1 === n) return;
                        e.isNumeric(n) && (s = parseInt(n))
                    }
                    s > o.slides.count || s < 1 ? o.debugMode && (o.debug.add("group", "slideshow"), o.debug.add("warn", "slideshow.invalidSlideIndex", [s, o.slides.count]), o.debug.groupEnd()) : o.slider.isBusy() || o.slideshow.state.pausedByVideo && !a ? !o.slider.state.preloadingImages && o.slider.state.animatingSlides && o.transitions._slideTransition && (o.slideshow.should.change = !0, o.transitions._slideTransition.progress(1), o.transitions._forceLayersOut && o.transitions._forceLayersOut.progress(1)) : (o.functions.setStates(o.transitions.layers.timeline, {
                        finished: !1
                    }), o.slideshow.should.change = !1, o.debugMode && o.debug.add("group", "slideshow"), a ? ("prev" === o.navigation.direction && o.o.twoWaySlideshow && (o.slideshow.direction = "prev"), o.debugMode && (o.debug.add("log", "slideshow.changedByUser", !1), o.o.twoWaySlideshow && o.debug.add("log", "slideshow.setdir", o.slideshow.direction))) : o.navigation.direction = o.slideshow.direction, o.transitions.timers.reverse(), o.media.stop(), o.slides.set.nextSlideIndex(s), o.debugMode && (o.debug.add("log", "slideshow.change", [o.slides.current.index, o.slides.next.index, o.slideshow.direction, o.navigation.direction]), o.debug.groupEnd()), o.functions.setStates(this, {
                        pausedByVideo: !1
                    }), o.functions.setStates(o.slider, {
                        changingSlides: !0
                    }), o.preload.imagesOfSlide(o.slides.next.index, function() {
                        o.transitions.start()
                    }))
                },
                forceStop: function() {
                    o.navigation.stop(), e.each(o.timeouts, function(e, t) {
                        clearTimeout(o.timeouts[e])
                    }), o.transitions.timers.stop(), o.transitions._slideTimeline.stop(), o.functions.setStates(o.transitions.layers.timeline, {
                        stopped: !0,
                        running: !1
                    }), i.find("*").stop(!0, !1).dequeue()
                },
                restart: function() {
                    i.find("*").stop(), o.navigation.change(o.slides.current.index, o.slideshow.direction)
                }
            }, o.media = {
                errors: {},
                $allMediaLayers: e(),
                protocol: "http:",
                playingInCurSlide: 0,
                endedInCurSlide: 0,
                init: function() {
                    -1 != document.location.href.indexOf("https:") && (this.protocol = "https:"), o.functions.setStates(o.slider, {
                        waitingForYouTube: !1,
                        waitingForVimeo: !1
                    }), o.media.youtube.init(), o.media.vimeo.init(), o.media.html5.init()
                },
                youtube: {
                    init: function() {
                        var t = 0;
                        this.$videos = o.slider.$hiddenWrapper.find('iframe[src*="youtube-nocookie.com"], iframe[src*="youtube.com"], iframe[src*="youtu.be"], iframe[data-src*="youtube-nocookie.com"], iframe[data-src*="youtube.com"], iframe[data-src*="youtu.be"]').each(function() {
                            var i = e(this),
                                s = i.parent(),
                                a = s.data(o.defaults.init.dataKey),
                                r = (i.attr("src") || i.attr("data-src")).replace(/&amp;/g, "&").replace("autoplay=1", "autoplay=0").replace("?", "?smart=true&"),
                                n = {
                                    $videoElement: i,
                                    videoURL: (-1 === r.indexOf("http") ? o.media.protocol : "") + r + (-1 === r.indexOf("?") ? "?" : "&") + "wmode=opaque&html5=1&enablejsapi=1&version=3&rel=0",
                                    videoThumbnailURL: o.media.protocol + "//img.youtube.com/vi/" + r.split("embed/")[1].split("?")[0] + "/" + o.o.youtubePreview
                                };
                            i.attr("id", "ls-youtube-" + ++t), a.mediaProperties = {
                                type: "youtube",
                                saved: n
                            }, o.media.setProperties(a), a.is.backgroundVideo && o.media.setBackgroundVideo(a, s), a.is.backgroundVideo || o.media.setMediaElements(s, i, n.videoURL, n.videoThumbnailURL, a)
                        }), o.media.$allMediaLayers = o.media.$allMediaLayers.add(this.$videos.parent()), this.$videos.length && (o.timeouts.loadYouTube = Math.floor(Date.now() / 1e3), window.YT || e("<script>").attr({
                            src: "https://www.youtube.com/iframe_api",
                            type: "text/javascript"
                        }).appendTo("head"), window.onYouTubeIframeAPIReady = function() {
                            window._layerSlider.globals.youTubeIsReady = !0
                        }, o.intervals.isYouTubeReady = setInterval(function() {
                            window.YT && 1 === window.YT.loaded || window._layerSlider.globals.youTubeIsReady || Math.floor(Date.now() / 1e3) - o.timeouts.loadYouTube > 3 ? (clearInterval(o.intervals.isYouTubeReady), delete o.intervals.isYouTubeReady, delete o.timeouts.loadYouTube, o.media.youtube.$videos.parent().each(function() {
                                var t = e(this),
                                    i = t.data(o.defaults.init.dataKey),
                                    s = i.mediaProperties.saved;
                                t.on("playMedia." + a + " click." + a, ".ls-vpcontainer", function() {
                                    o.media.hideThumbnail(e(this)), o.media.checkSlideshowState(t, i), o.media.removeFromTimeline(t), o.media.youtube.play(t, s.$videoElement, s.videoURL, i)
                                }).on("playBackgroundVideo." + a, function() {
                                    o.media.youtube.play(t, s.$videoElement, s.videoURL, i)
                                }).on("stopBackgroundVideo." + a, function() {
                                    o.media.youtube.stop(t, s.$videoElement, i)
                                }).on("preloadBackgroundVideo." + a, function() {
                                    o.media.youtube.createPlayer(t, s.$videoElement, s.videoURL, i, !0)
                                })
                            }), o.functions.setStates(o.slider, {
                                waitingForYouTube: !1
                            })) : o.functions.setStates(o.slider, {
                                waitingForYouTube: !0
                            })
                        }, 25))
                    },
                    createPlayer: function(e, t, i, s, a) {
                        if (null !== s.mediaSettings.showinfo) switch (i = i.replace("&showinfo=0", "").replace("&showinfo=1", ""), s.mediaSettings.showinfo) {
                            case !0:
                                i += "&showinfo=1";
                                break;
                            case !1:
                                i += "&showinfo=0"
                        }
                        if (null !== s.mediaSettings.controls) switch (i = i.replace("&controls=0", "").replace("&controls=1", ""), s.mediaSettings.controls) {
                            case !0:
                                i += "&controls=1";
                                break;
                            case !1:
                                i += "&controls=0"
                        }
                        t.attr("src", i), s.mediaProperties.player = new YT.Player(t[0], {
                            events: {
                                onReady: function() {
                                    null !== s.mediaSettings.volume && s.mediaProperties.player.setVolume(s.mediaSettings.volume), a && !s.mediaProperties.shouldPlay || (s.mediaProperties.player.playVideo(), s.mediaProperties.shouldPlay = !1)
                                },
                                onStateChange: function(t) {
                                    0 === t.data && (s.is.backgroundVideo ? s.mediaProperties.player.seekTo(0) : o.media.videoEnded(e, s))
                                }
                            }
                        })
                    },
                    play: function(e, t, i, s) {
                        s.mediaProperties.player ? s.mediaProperties.player.playVideo ? s.mediaProperties.player.playVideo() : s.mediaProperties.shouldPlay = !0 : this.createPlayer(e, t, i, s)
                    },
                    stop: function(e, t, i, s) {
                        i.mediaProperties.player && (i.mediaProperties.player.pauseVideo(), s && i.mediaProperties.player.seekTo(0), i.is.backgroundVideo || o.media.showThumbnail(e.find(".ls-vpcontainer")))
                    }
                },
                vimeo: {
                    init: function() {
                        var t = this.$videos = o.slider.$hiddenWrapper.find('iframe[src*="player.vimeo"], iframe[data-src*="player.vimeo"]');
                        if (t.length) {
                            o.timeouts.loadVimeo = Math.floor(Date.now() / 1e3), o.media.$allMediaLayers = o.media.$allMediaLayers.add(t.parent());
                            var i = 0;
                            e("<script>").attr({
                                src: o.media.protocol + "//f.vimeocdn.com/js/froogaloop2.min.js",
                                type: "text/javascript"
                            }).appendTo("head"), o.intervals.isVimeoReady = setInterval(function() {
                                o.functions.setStates(o.slider, {
                                    waitingForVimeo: !0
                                }), (window.Froogaloop || Math.floor(Date.now() / 1e3) - o.timeouts.loadVimeo > 3) && (clearInterval(o.intervals.isVimeoReady), delete o.intervals.isVimeoReady, delete o.timeouts.loadVimeo, window._layerSlider.globals.vimeoIsReady = !0, s())
                            }, 25);
                            var s = function() {
                                o.media.vimeo.$videos.each(function() {
                                    var t = e(this).attr("id", "ls-vimeo-" + ++i),
                                        s = t.parent(),
                                        r = s.data(o.defaults.init.dataKey),
                                        n = (t.attr("src") || t.attr("data-src")).replace(/&amp;/g, "&").replace("autoplay=1", "autoplay=0").replace("?", "?smart=true&"),
                                        l = -1 === n.indexOf("?") ? "?" : "&",
                                        d = -1 === n.indexOf("http") ? o.media.protocol : "",
                                        u = "wmode=opaque&api=1&player_id=ls-vimeo-" + i,
                                        p = o.media.protocol + "//vimeo.com/api/v2/video/" + n.split("video/")[1].split("?")[0] + ".json?callback=?",
                                        c = d + n + l + u;
                                    r.mediaProperties = {
                                        type: "vimeo",
                                        saved: {}
                                    }, o.media.setProperties(r), r.is.backgroundVideo && o.media.setBackgroundVideo(r, s), e.getJSON(p, function(e) {
                                        r.is.backgroundVideo || o.media.setMediaElements(s, t, c, e[0].thumbnail_large, r)
                                    }), s.on("playMedia." + a + " click." + a, ".ls-vpcontainer", function() {
                                        o.media.hideThumbnail(e(this)), o.media.checkSlideshowState(s, r), o.media.removeFromTimeline(s), o.media.vimeo.play(s, t, c, r)
                                    }).on("playBackgroundVideo." + a, function() {
                                        o.media.vimeo.play(s, t, c, r)
                                    }).on("stopBackgroundVideo." + a, function() {
                                        o.media.vimeo.stop(s, t, r)
                                    }).on("preloadBackgroundVideo." + a, function() {
                                        o.media.vimeo.createPlayer(s, t, c, r, !0)
                                    })
                                }), o.functions.setStates(o.slider, {
                                    waitingForVimeo: !1
                                })
                            }
                        }
                    },
                    createPlayer: function(e, t, i, s, a) {
                        if (null !== s.mediaSettings.showinfo) switch (i = i.replace("&title=0", "").replace("&title=1", "").replace("&byline=0", "").replace("&byline=1", "").replace("&portrait=0", "").replace("&portrait=1", ""), s.mediaSettings.showinfo) {
                            case !0:
                                i = i.replace("title=0", "title=1", "").replace("byline=0", "byline=1", "").replace("portrait=0", "portrait=1", "");
                                break;
                            case !1:
                                i = i.replace("title=1", "title=0", "").replace("byline=1", "byline=0", "").replace("portrait=1", "portrait=0", "")
                        }
                        t.attr("src", i);
                        var r = function() {
                            s.is.backgroundVideo ? s.mediaProperties.player.api("seekTo", 0).api("play") : o.media.videoEnded(e, s)
                        };
                        s.mediaProperties.player = $f(t[0]), s.mediaProperties.player.addEvent("ready", function() {
                            s.mediaProperties.player.addEvent("finish", r), null !== s.mediaSettings.volume && s.mediaProperties.player.api("setVolume", s.mediaSettings.volume / 100), a || s.mediaProperties.player.api("play")
                        })
                    },
                    play: function(e, t, i, s) {
                        s.mediaProperties.player ? s.mediaProperties.player.api("play") : this.createPlayer(e, t, i, s)
                    },
                    stop: function(e, t, i, s) {
                        i.mediaProperties.player && (i.mediaProperties.player.api("pause"), s && i.mediaProperties.player.api("seekTo", 0), i.is.backgroundVideo || o.media.showThumbnail(e.find(".ls-vpcontainer")))
                    }
                },
                html5: {
                    init: function() {
                        if (this.$elements = o.slider.$hiddenWrapper.find("video, audio"), o.media.$allMediaLayers = o.media.$allMediaLayers.add(this.$elements.parent()), this.$elements.length) {
                            var t = 0;
                            o.media.html5.$elements.each(function() {
                                var i = e(this).attr("id", "ls-html5-" + ++t),
                                    s = e(this).parent(),
                                    r = s.data(o.defaults.init.dataKey);
                                if (r.mediaProperties = {
                                        type: "html5",
                                        saved: {}
                                    }, o.media.setProperties(r), r.is.backgroundVideo && o.media.setBackgroundVideo(r, s), i.attr("autoplay")) {
                                    var n = i.removeAttr("autoplay").clone(!0, !0);
                                    i.remove(), i = n.appendTo(s), s.data("ls", s.data("ls") + " autoplay: true;")
                                }
                                r.is.backgroundVideo || o.media.setMediaElements(s, i, !1, !1, r), i.on("ended." + a, function() {
                                    r.is.backgroundVideo ? (i[0].currentTime = 0, i[0].play()) : o.media.videoEnded(s, r)
                                }), s.on("playMedia." + a + " click." + a, ".ls-vpcontainer", function(t) {
                                    o.media.hideThumbnail(e(this)), o.media.checkSlideshowState(s, r), o.media.removeFromTimeline(s), o.media.html5.play(s, i, r)
                                }).on("playBackgroundVideo." + a, function() {
                                    o.media.html5.play(s, i, r)
                                }).on("stopBackgroundVideo." + a, function() {
                                    o.media.html5.stop(s, i, r)
                                })
                            })
                        }
                    },
                    play: function(e, t, i) {
                        null === i.mediaSettings.volume || i.mediaProperties.volumeIsSet || (t[0].volume = i.mediaSettings.volume / 100, i.mediaProperties.volumeIsSet = !0), t[0].play()
                    },
                    stop: function(e, t, i, s) {
                        t[0].pause(), s && (t[0].currentTime = 0), i.is.backgroundVideo || o.media.showThumbnail(e.find(".ls-vpcontainer"))
                    }
                },
                setBackgroundVideo: function(t, i) {
                    if (t.mediaSettings = {
                            controls: !1,
                            autoplay: !1,
                            showinfo: !1,
                            fillmode: "cover",
                            thumbnail: !1,
                            volume: t.mediaSettings.volume ? t.mediaSettings.volume : 0
                        }, i.data("ls") && -1 !== i.data("ls").indexOf("poster:") && 0 == i.children(".ls-vpcontainer").length) {
                        var s = e("<div>").addClass("ls-vpcontainer").appendTo(i),
                            a = i.data("ls").split("poster:")[1].split(";")[0].trim();
                        e("<div>").appendTo(s).addClass("ls-videopreview").attr({
                            style: "background-image: url(" + a + ")"
                        })
                    }
                },
                setProperties: function(e) {
                    e.is.mediaLayer = !0
                },
                setMediaElements: function(t, i, s, a, r) {
                    var n = e("<div>").addClass("ls-vpcontainer").appendTo(t);
                    null === r.mediaSettings.autoplay && o.o.autoPlayVideos || r.mediaSettings.autoplay ? t.addClass("ls-autoplay") : e("<div>").appendTo(n).addClass("ls-playvideo"), t.data("ls") && -1 !== t.data("ls").indexOf("poster:") && (a = t.data("ls").split("poster:")[1].split(";")[0].trim()), i.is("iframe") ? e("<div>").appendTo(n).addClass("ls-videopreview").attr({
                        style: "background-image: url(" + a + ")"
                    }) : (a || void 0 === i.attr("poster") || (a = i.attr("poster"), i.removeAttr("poster")), a && e("<div>").appendTo(n).addClass("ls-videopreview").attr({
                        style: "background-image: url(" + a + ")"
                    }))
                },
                checkSlideshowState: function(e, t) {
                    !t.is.static && o.o.autoPauseSlideshow && (o.functions.setStates(o.slideshow, {
                        pausedByVideo: !0
                    }), "auto" == o.o.autoPauseSlideshow && this.playingInCurSlide++)
                },
                hideThumbnail: function(e) {
                    e.delay(o.transitions.media.defaults.delay).fadeOut(o.transitions.media.defaults.fadeOut)
                },
                showThumbnail: function(e) {
                    e.fadeIn(o.transitions.media.defaults.fadeIn)
                },
                videoEnded: function(e, t) {
                    "auto" != o.o.autoPauseSlideshow || t.is.backgroundVideo || (t.is.static || this.endedInCurSlide++, this.endedInCurSlide == this.playingInCurSlide && 0 !== this.playingInCurSlide && (o.functions.setStates(o.slideshow, {
                        pausedByVideo: !1
                    }), o.slideshow.remainingSlideDuration = 1, o.slideshow.start()))
                },
                playIfAllowed: function(e) {
                    var t = e.data(o.defaults.init.dataKey);
                    t.is.mediaLayer && (o.device.isMobile && (i.hasClass("ls-device-is-phone") && t.elements.$outerWrapper.hasClass("ls-hide-on-phone") || i.hasClass("ls-device-is-tablet") && t.elements.$outerWrapper.hasClass("ls-hide-on-tablet")) || (null === t.mediaSettings.autoplay && o.o.autoPlayVideos || t.mediaSettings.autoplay) && e.find(".ls-vpcontainer").trigger("playMedia"))
                },
                stop: function(t) {
                    var i = this;
                    t = void 0 === t || t, o.layers.get("current,out,youtube").each(function() {
                        var s = e(this),
                            a = s.closest(".ls-layer"),
                            r = a.data(o.defaults.init.dataKey);
                        i.youtube.stop(a, s, r, t)
                    }), o.layers.get("current,out,vimeo").each(function() {
                        var s = e(this),
                            a = s.closest(".ls-layer"),
                            r = a.data(o.defaults.init.dataKey);
                        i.vimeo.stop(a, s, r, t)
                    }), o.layers.get("current,out,html5").each(function() {
                        var s = e(this),
                            a = s.closest(".ls-layer"),
                            r = a.data(o.defaults.init.dataKey);
                        i.html5.stop(a, s, r, t)
                    }), this.playingInCurSlide = 0, this.endedInCurSlide = 0
                },
                removeFromTimeline: function(e) {
                    o.transitions._slideTimeline.kill(null, e.closest(".ls-in-out")[0])
                }
            }, o.yourLogo = {
                init: function() {
                    o.o.yourLogo && (this.$element = e("<img>").addClass("ls-yourlogo").appendTo(i).attr("style", o.o.yourLogoStyle).css({
                        visibility: "hidden",
                        display: "bock"
                    }).on("load." + a, function() {
                        var t = o.yourLogo.$element ? 500 : 0;
                        o.timeouts.yourLogo = setTimeout(function() {
                            delete o.timeouts.yourLogo, o.yourLogo.$element.data("originalWidth", o.yourLogo.$element.width()), o.yourLogo.$element.data("originalHeight", o.yourLogo.$element.height()), "auto" != o.yourLogo.$element.css("left") && o.yourLogo.$element.data("originalLeft", o.yourLogo.$element[0].style.left), "auto" != o.yourLogo.$element.css("right") && o.yourLogo.$element.data("originalRight", o.yourLogo.$element[0].style.right), "auto" != o.yourLogo.$element.css("top") && o.yourLogo.$element.data("originalTop", o.yourLogo.$element[0].style.top), "auto" != o.yourLogo.$element.css("bottom") && o.yourLogo.$element.data("originalBottom", o.yourLogo.$element[0].style.bottom), !1 !== o.o.yourLogoLink && e("<a>").appendTo(i).attr("href", o.o.yourLogoLink).attr("target", o.o.yourLogoTarget).css({
                                textDecoration: "none",
                                outline: "none"
                            }).append(o.yourLogo.$element), o.yourLogo.$element.css({
                                display: "none",
                                visibility: "visible"
                            }), o.yourLogo.resize()
                        }, t)
                    }).attr("src", o.o.yourLogo))
                },
                resize: function() {
                    this.$element.css({
                        width: this.$element.data("originalWidth") * o.resize.ratio,
                        height: this.$element.data("originalHeight") * o.resize.ratio
                    }), this.$element.fadeIn(300);
                    var e = "auto",
                        t = "auto",
                        s = "auto",
                        a = "auto";
                    e = this.$element.data("originalLeft") && -1 != this.$element.data("originalLeft").indexOf("%") ? i.width() / 100 * parseInt(this.$element.data("originalLeft")) - this.$element.width() / 2 + parseInt(i.css("padding-left")) : parseInt(this.$element.data("originalLeft")) * o.resize.ratio, t = this.$element.data("originalRight") && -1 != this.$element.data("originalRight").indexOf("%") ? i.width() / 100 * parseInt(this.$element.data("originalRight")) - this.$element.width() / 2 + parseInt(i.css("padding-right")) : parseInt(this.$element.data("originalRight")) * o.resize.ratio, s = this.$element.data("originalTop") && -1 != this.$element.data("originalTop").indexOf("%") ? i.height() / 100 * parseInt(this.$element.data("originalTop")) - this.$element.height() / 2 + parseInt(i.css("padding-top")) : parseInt(this.$element.data("originalTop")) * o.resize.ratio, a = this.$element.data("originalBottom") && -1 != this.$element.data("originalBottom").indexOf("%") ? i.height() / 100 * parseInt(this.$element.data("originalBottom")) - this.$element.height() / 2 + parseInt(i.css("padding-bottom")) : parseInt(this.$element.data("originalBottom")) * o.resize.ratio, this.$element.css({
                        left: e,
                        right: t,
                        top: s,
                        bottom: a
                    })
                }
            }, o.gui = {
                navigation: {
                    init: function() {
                        o.o.navPrevNext && this.prevNext.init(), (o.o.navStartStop || o.o.navButtons) && this.bottom.init()
                    },
                    prevNext: {
                        init: function() {
                            e('<a class="ls-gui-element ls-nav-prev" href="#" />').on("click." + a, function(e) {
                                e.preventDefault(), i.layerSlider("prev")
                            }).appendTo(i), e('<a class="ls-gui-element ls-nav-next" href="#" />').on("click." + a, function(e) {
                                e.preventDefault(), i.layerSlider("next")
                            }).appendTo(i), o.o.hoverPrevNext && this.setHover()
                        },
                        setHover: function() {
                            i.find(".ls-nav-prev, .ls-nav-next").css({
                                display: "none"
                            }), i.on("mouseenter." + a, function() {
                                o.gui.navigation.forceHide || i.find(".ls-nav-prev, .ls-nav-next").stop(!0, !0).fadeIn(300)
                            }).on("mouseleave." + a, function() {
                                i.find(".ls-nav-prev, .ls-nav-next").stop(!0, !0).fadeOut(300)
                            })
                        }
                    },
                    bottom: {
                        init: function() {
                            this.wrapper = e('<div class="ls-gui-element ls-bottom-nav-wrapper" />').appendTo(i), o.o.navButtons && "always" != o.o.thumbnailNavigation && this.bullets.init(), o.o.navStartStop ? this.createStartStop() : "always" != o.o.thumbnailNavigation && this.createSides(), o.o.hoverBottomNav && "always" != o.o.thumbnailNavigation && this.setHover(), "always" == o.o.thumbnailNavigation && (this.wrapper.addClass("ls-above-thumbnails"), this.thumbnails.init())
                        },
                        bullets: {
                            init: function() {
                                var t = this;
                                e('<span class="ls-bottom-slidebuttons" />').appendTo(i.find(".ls-bottom-nav-wrapper"));
                                for (var s = 0; s < o.slides.count; s++) {
                                    var r = e('<a href="#" />').appendTo(i.find(".ls-bottom-slidebuttons")).data("index", s + 1).on("click." + a, function(t) {
                                        t.preventDefault(), i.layerSlider(e(this).data("index"))
                                    });
                                    "hover" == o.o.thumbnailNavigation && r.on("mouseenter." + a, function() {
                                        var s = e(this);
                                        i.find(".ls-thumbnail-hover-img").css({
                                            left: parseInt(t.hoverWrapper.css("padding-left")),
                                            top: parseInt(t.hoverWrapper.css("padding-top"))
                                        }), t.hoverImage.on("load." + a, function() {
                                            0 === e(this).width() ? t.hoverImage.css({
                                                position: "relative",
                                                margin: "0 auto",
                                                left: "auto"
                                            }) : t.hoverImage.css({
                                                position: "absolute",
                                                marginLeft: -e(this).width() / 2,
                                                left: "50%"
                                            }), t.hoverImage.css("display", "none").stop(!0, !0).fadeIn(250)
                                        }).attr("src", o.slides[s.data("index")].data.thumbnail), t.hoverWrapper.css({
                                            display: "block"
                                        }).stop().animate({
                                            left: e(this).position().left + (e(this).width() - t.hoverWrapper.outerWidth()) / 2
                                        }, 250), t.hoverWrapperInner.css({
                                            display: "none",
                                            visibility: "visible"
                                        }).stop().fadeIn(250)
                                    }).on("mouseleave." + a, function() {
                                        t.hoverWrapperInner.stop().fadeOut(250, function() {
                                            t.hoverWrapper.css({
                                                visibility: "hidden",
                                                display: "block"
                                            })
                                        })
                                    })
                                }
                                t.set.active(o.slides.first.index), "hover" == o.o.thumbnailNavigation && t.set.hover()
                            },
                            set: {
                                active: function(e) {
                                    void 0 === e && (e = o.slides.current.index), e--, i.find(".ls-bottom-slidebuttons a").removeClass("ls-nav-active"), i.find(".ls-bottom-slidebuttons a:eq( " + e + " )").addClass("ls-nav-active")
                                },
                                hover: function() {
                                    var t = o.gui.navigation.bottom.bullets,
                                        s = e('<div class="ls-thumbnail-hover"><div class="ls-thumbnail-hover-inner"><div class="ls-thumbnail-hover-bg"></div><div class="ls-thumbnail-hover-img"><img></div><span></span></div></div>').appendTo(i.find(".ls-bottom-slidebuttons"));
                                    i.find(".ls-thumbnail-hover, .ls-thumbnail-hover-img").css({
                                        width: o.o.tnWidth,
                                        height: o.o.tnHeight
                                    }), t.hoverWrapper = i.find(".ls-thumbnail-hover"), t.hoverImage = t.hoverWrapper.find("img").css({
                                        height: o.o.tnHeight
                                    }), t.hoverWrapperInner = i.find(".ls-thumbnail-hover-inner").css({
                                        visibility: "hidden",
                                        display: "block"
                                    }), s.appendTo(i.find(".ls-bottom-slidebuttons"))
                                }
                            }
                        },
                        createStartStop: function() {
                            this.buttonStart = e('<a class="ls-nav-start" href="#" />').on("click." + a, function(e) {
                                e.preventDefault(), i.layerSlider("start")
                            }).prependTo(i.find(".ls-bottom-nav-wrapper")), this.buttonStop = e('<a class="ls-nav-stop" href="#" />').on("click." + a, function(e) {
                                e.preventDefault(), i.layerSlider("stop")
                            }).appendTo(i.find(".ls-bottom-nav-wrapper")), o.o.autoStart ? this.setStartStop("start") : this.setStartStop("stop")
                        },
                        setStartStop: function(e) {
                            if (o.o.navStartStop) switch (e) {
                                case "start":
                                    this.buttonStart.addClass("ls-nav-start-active"), this.buttonStop.removeClass("ls-nav-stop-active");
                                    break;
                                case "stop":
                                    this.buttonStart.removeClass("ls-nav-start-active"), this.buttonStop.addClass("ls-nav-stop-active")
                            }
                        },
                        createSides: function() {
                            e('<span class="ls-nav-sides ls-nav-sideleft" />').prependTo(i.find(".ls-bottom-nav-wrapper")), e('<span class="ls-nav-sides ls-nav-sideright" />').appendTo(i.find(".ls-bottom-nav-wrapper"))
                        },
                        setHover: function() {
                            var e = this;
                            e.wrapper.css({
                                display: "none"
                            }), i.on("mouseenter." + a, function() {
                                o.gui.navigation.forceHide || e.wrapper.stop(!0, !0).fadeIn(300)
                            }).on("mouseleave." + a, function() {
                                e.wrapper.stop(!0, !0).fadeOut(300)
                            })
                        },
                        switchHelper: function(e) {
                            if (o.o.hoverBottomNav && !i.hasClass("ls-hover")) switch (e) {
                                case "on":
                                    o.gui.navigation.bottom.thumbnails.wrapper.css({
                                        visibility: "hidden",
                                        display: "block"
                                    });
                                    break;
                                case "off":
                                    o.gui.navigation.bottom.thumbnails.wrapper.css({
                                        visibility: "visible",
                                        display: "none"
                                    })
                            }
                        },
                        thumbnails: {
                            init: function() {
                                var t = this;
                                this.wrapper = e('<div class="ls-gui-element ls-thumbnail-wrapper"></div>').appendTo(i), e('<div class="ls-thumbnail"><div class="ls-thumbnail-inner"><div class="ls-thumbnail-slide-container"><div class="ls-thumbnail-slide"></div></div></div></div>').appendTo(this.wrapper), this.$element = i.find(".ls-thumbnail-slide-container"), "ontouchstart" in window ? this.$element.addClass("ls-touchscroll") : this.$element.on("mouseenter." + a, function() {
                                    e(this).addClass("ls-thumbnail-slide-hover")
                                }).on("mouseleave." + a, function() {
                                    e(this).removeClass("ls-thumbnail-slide-hover"), o.gui.navigation.bottom.thumbnails.scroll()
                                }).on("mousemove." + a, function(t) {
                                    var i = parseInt(t.pageX - e(this).offset().left) / e(this).width() * (e(this).width() - e(this).find(".ls-thumbnail-slide").width());
                                    e(this).find(".ls-thumbnail-slide").stop().css({
                                        marginLeft: i
                                    })
                                });
                                for (var s = 0; s < o.slides.count; s++) {
                                    var r = s + 1,
                                        n = e('<a href="#" class="ls-thumb-' + (s + 1) + '"><img src="' + o.slides[r].data.thumbnail + '"></a>');
                                    o.slides[r].data.tnAlt && n.find("img").attr("alt", o.slides[r].data.tnAlt), n.data("index", r).on("click." + a, function(t) {
                                        t.preventDefault(), i.layerSlider(e(this).data("index"))
                                    }).appendTo(i.find(".ls-thumbnail-slide")), "ontouchstart" in window || n.on("mouseenter." + a, function() {
                                        e(this).children().stop().fadeTo(300, o.o.tnActiveOpacity / 100)
                                    }).on("mouseleave." + a, function() {
                                        e(this).children().hasClass("ls-thumb-active") || e(this).children().stop().fadeTo(300, o.o.tnInactiveOpacity / 100)
                                    })
                                }
                                o.gui.navigation.bottom.buttonStart && o.gui.navigation.bottom.buttonStop && (o.gui.navigation.bottom.wrapper = e('<div class="ls-bottom-nav-wrapper ls-below-thumbnails"></div>').appendTo(i), o.gui.navigation.bottom.buttonStart.clone().on("click." + a, function(e) {
                                    e.preventDefault(), i.layerSlider("start")
                                }).appendTo(o.gui.navigation.bottom.wrapper), o.gui.navigation.bottom.buttonStop.clone().on("click." + a, function(e) {
                                    e.preventDefault(), i.layerSlider("stop")
                                }).appendTo(o.gui.navigation.bottom.wrapper)), o.o.hoverBottomNav && t.setHover()
                            },
                            setHover: function() {
                                var e = this;
                                e.wrapper.css("display", "none"), o.gui.navigation.bottom.wrapper && (o.gui.navigation.bottom.wrapper = "block" == o.gui.navigation.bottom.wrapper.css("display") ? o.gui.navigation.bottom.wrapper : i.find(".ls-above-thumbnails"), o.gui.navigation.bottom.wrapper.css("display", "none")), i.on("mouseenter." + a, function() {
                                    i.addClass("ls-hover"), o.gui.navigation.forceHide || (e.wrapper.stop(!0, !0).fadeIn(300), o.gui.navigation.bottom.wrapper && o.gui.navigation.bottom.wrapper.stop(!0, !0).fadeIn(300))
                                }).on("mouseleave." + a, function() {
                                    i.removeClass("ls-hover"), e.wrapper.stop(!0, !0).fadeOut(300), o.gui.navigation.bottom.wrapper && o.gui.navigation.bottom.wrapper.stop(!0, !0).fadeOut(300)
                                })
                            },
                            change: function(t) {
                                var s = t || o.slides.next.index;
                                i.find(".ls-thumbnail-slide a:not(.ls-thumb-" + s + " )").children().each(function() {
                                    e(this).removeClass("ls-thumb-active").stop().fadeTo(750, o.o.tnInactiveOpacity / 100)
                                }), i.find(".ls-thumbnail-slide a.ls-thumb-" + s).children().addClass("ls-thumb-active").stop().fadeTo(750, o.o.tnActiveOpacity / 100)
                            },
                            scroll: function() {
                                if (!i.find(".ls-thumbnail-slide-container").hasClass("ls-thumbnail-slide-hover")) {
                                    var e = !!i.find(".ls-thumb-active").length && i.find(".ls-thumb-active").parent();
                                    if (e) {
                                        var t = e.position().left + e.width() / 2,
                                            s = i.find(".ls-thumbnail-slide-container").width() / 2 - t;
                                        s = (s = s < i.find(".ls-thumbnail-slide-container").width() - i.find(".ls-thumbnail-slide").width() ? i.find(".ls-thumbnail-slide-container").width() - i.find(".ls-thumbnail-slide").width() : s) > 0 ? 0 : s, i.find(".ls-thumbnail-slide").animate({
                                            marginLeft: s
                                        }, 600)
                                    }
                                }
                            },
                            resize: function() {
                                o.gui.navigation.bottom.switchHelper("on");
                                var e = -1 == o.slider.initial.width.indexOf("%") ? parseInt(o.slider.initial.originalWidth) : i.width(),
                                    t = i.find(".ls-thumbnail"),
                                    s = -1 == o.o.tnContainerWidth.indexOf("%") ? parseInt(o.o.tnContainerWidth) : parseInt(e / 100 * parseInt(o.o.tnContainerWidth));
                                i.find(".ls-thumbnail-slide a").css({
                                    width: parseInt(o.o.tnWidth * o.resize.ratio),
                                    height: parseInt(o.o.tnHeight * o.resize.ratio)
                                }), i.find(".ls-thumbnail-slide a:last").css({
                                    margin: 0
                                }), i.find(".ls-thumbnail-slide").css({
                                    height: parseInt(o.o.tnHeight * o.resize.ratio)
                                }), t.css({
                                    width: s * Math.floor(100 * o.resize.ratio) / 100
                                }), t.width() > i.find(".ls-thumbnail-slide").width() && t.css({
                                    width: i.find(".ls-thumbnail-slide").width()
                                }), o.gui.navigation.bottom.switchHelper("off")
                            }
                        }
                    }
                },
                skin: {
                    load: function() {
                        i.addClass("ls-" + o.o.skin);
                        var t, s = o.o.skinsPath + o.o.skin + "/skin.css",
                            r = e(e("head").length ? "head" : "body");
                        e('link[href="' + s + '"]').length ? (t = e('link[href="' + s + '"]'), o.gui.skin.isLoaded || (o.gui.skin.isLoaded = !0, o.timeouts.skinLoad1 = setTimeout(function() {
                            delete o.timeouts.skinLoad1, o.slider.init()
                        }, 150))) : document.createStyleSheet ? (document.createStyleSheet(s), t = e('link[href="' + s + '"]')) : t = e('<link rel="stylesheet" href="' + s + '" type="text/css" />').appendTo(r), t.on("load." + a, function() {
                            o.gui.skin.isLoaded || (o.gui.skin.isLoaded = !0, o.timeouts.skinLoad2 = setTimeout(function() {
                                delete o.timeouts.skinLoad2, o.slider.init()
                            }, 150))
                        }), e(window).on("load." + a, function() {
                            o.gui.skin.isLoaded || (o.gui.skin.isLoaded = !0, o.timeouts.skinLoad3 = setTimeout(function() {
                                delete o.timeouts.skinLoad3, o.slider.init()
                            }, 150))
                        }), o.timeouts.skinLoad4 = setTimeout(function() {
                            o.gui.skin.isLoaded || (o.gui.skin.isLoaded = !0, delete o.timeouts.skinLoad4, o.slider.init())
                        }, 1e3)
                    }
                },
                shadow: {
                    init: function() {
                        this.set(), this.resize()
                    },
                    set: function() {
                        this.$element = e('<div class="ls-gui-element ls-shadow"></div>').appendTo(i), "block" != this.$element.css("display") || this.$element.find("img").length || (this.show = function() {
                            o.gui.shadow.$element.css({
                                display: "none",
                                visibility: "visible"
                            }).fadeIn(500, function() {
                                o.gui.shadow.show = !1
                            })
                        }, this.image = e("<img>").attr("src", o.o.skinsPath + o.o.skin + "/shadow.png").appendTo(this.$element), this.btmMod = "number" == typeof parseInt(i.css("padding-bottom")) ? parseInt(i.css("padding-bottom")) : 0)
                    },
                    resize: function() {
                        this.image && (this.image.height() > 0 ? this.btmMod > 0 ? this.$element.css({
                            height: this.image.height() / 2
                        }) : this.$element.css({
                            height: this.image.height(),
                            marginTop: -this.image.height() / 2
                        }) : o.timeouts.resizeShadow = setTimeout(function() {
                            delete o.timeouts.resizeShadow, o.gui.shadow.resize()
                        }, 50))
                    }
                },
                timers: {
                    init: function() {
                        o.o.showBarTimer && this.bar.create(), o.o.showCircleTimer && this.circle.create();
                        var t = !1;
                        (t = o.o.showSlideBarTimer ? e("<div>").insertAfter(i) : e('[data-slidebar-for="' + i.attr("id") + '"], [data-slidebar-for="' + a + '"]')).length && (t.addClass("ls-gui-element"), this.slidebar.create(t))
                    },
                    bar: {
                        create: function() {
                            this.$element = e("<div>").addClass("ls-gui-element ls-bar-timer").appendTo(i)
                        }
                    },
                    circle: {
                        create: function() {
                            this.$element = e("<div>").addClass("ls-gui-element ls-circle-timer").appendTo(i), this.$element.append(e('<div class="ls-ct-center"></div><div class="ls-ct-left"><div class="ls-ct-rotate"><div class="ls-ct-hider"><div class="ls-ct-half"></div></div></div></div><div class="ls-ct-right"><div class="ls-ct-rotate"><div class="ls-ct-hider"><div class="ls-ct-half"></div></div></div></div>')), this.$element.data("original", {
                                opacity: this.$element.css("opacity")
                            })
                        }
                    },
                    slidebar: {
                        $containerElement: [],
                        $element: [],
                        $progressBarElement: [],
                        $sliderContainerElement: [],
                        $sliderElement: [],
                        elementWidth: [],
                        containerElementWidth: [],
                        sliderContainerElementWidth: [],
                        create: function(t) {
                            var s, r = e(document),
                                n = this,
                                l = function(e, t) {
                                    (s = (e.pageX ? e.pageX : o.device.touchX) - n.$element[t].offset().left - n.sliderContainerElementWidth[t] / 2) < 0 && (s = 0), s > n.containerElementWidth[t] - n.sliderContainerElementWidth[t] && (s = "calc( 100% - " + o.gui.timers.slidebar.sliderContainerElementWidth[t] + "px )"), n.$sliderContainerElement[t].css({
                                        left: s
                                    }), o.transitions._slideTimeline && o.transitions._slideTimeline.progress("string" == typeof s ? o.transitions.layers.timeline.progress : s / (n.containerElementWidth[t] - n.sliderContainerElementWidth[t]) * o.transitions.layers.timeline.progress)
                                },
                                d = function(t, i) {
                                    e(document).off("mousemove." + a), e("body").prop("unselectable", !1).removeClass("ls-unselectable"), o.o.pauseLayers && !o.slideshow.state.running || o.slider.isPaused || !o.transitions._slideTimeline || o.o.playByScroll || (!0 === o.transitions.layers.timeline.state.started ? o.transitions.layers.timeline.resume() : o.transitions.layers.timeline.play())
                                };
                            e.each(t, function(t, i) {
                                n.$containerElement[t] = e(i).addClass("ls-slidebar-container " + a), n.$element[t] = e("<div>").addClass("ls-slidebar").appendTo(n.$containerElement[t]), n.$progressBarElement[t] = e("<div>").addClass("ls-progressbar").appendTo(n.$element[t]), n.$sliderContainerElement[t] = e("<div>").addClass("ls-slidebar-slider-container").appendTo(n.$containerElement[t]), n.$sliderElement[t] = e("<div>").addClass("ls-slidebar-slider").appendTo(n.$sliderContainerElement[t]), n.sliderContainerElementWidth[t] = n.$sliderContainerElement[t].width(), n.$sliderContainerElement[t].css({
                                    marginTop: -n.$sliderElement[t].outerHeight() / 2
                                }), n.$containerElement[t].on("touchmove." + a, function(e) {
                                    l(e, t)
                                }), n.$containerElement[t].on("mousedown." + a + " touchstart." + a, function(i) {
                                    o.transitions.layers.timeline.pause(0), e("body").prop("unselectable", !0).addClass("ls-unselectable"), e(document).on("mousemove." + a, function(e) {
                                        l(e, t)
                                    }), l(i, t)
                                }), r = r.add(n.$sliderElement[t])
                            }), r.on("mouseup." + a + "touchend." + a, function(t) {
                                e(t.target).closest(i).length || (o.transitions._slideTimeline && o.transitions.layers.timeline.state.finished && o.transitions._slideTimeline.progress() !== o.transitions.layers.timeline.progress && o.functions.setStates(o.transitions.layers.timeline, {
                                    finished: !1
                                }), d())
                            })
                        }
                    }
                },
                loadingIndicator: {
                    init: function() {
                        this.$element = e("<div>").css({
                            display: "none"
                        }).addClass("ls-gui-element ls-loading-container").appendTo(i), e("<div>").addClass("ls-loading-indicator").appendTo(this.$element)
                    },
                    show: function() {
                        this.$element.delay(400).fadeIn(300)
                    },
                    hide: function() {
                        this.$element.stop(!0, !0).fadeOut(300)
                    }
                }
            }, o.navigation = {
                direction: "next",
                init: function() {
                    o.slides.count > 1 && (this.set.keyboard(), this.set.touch())
                },
                set: {
                    keyboard: function() {
                        o.o.keybNav && e("body").on("keydown." + a, function(e) {
                            o.slider.isAnimating || o.slider.isPreloading || (37 == e.which ? o.navigation.prev() : 39 == e.which && o.navigation.next())
                        })
                    },
                    touch: function() {
                        "ontouchstart" in window && o.o.touchNav && (o.slider.$innerWrapper.on("touchstart." + a, function(e) {
                            var t = e.touches ? e.touches : e.originalEvent.touches;
                            1 == t.length && (o.device.touchStartX = o.device.touchEndX = t[0].clientX)
                        }), o.slider.$innerWrapper.on("touchmove." + a, function(e) {
                            var t = e.touches ? e.touches : e.originalEvent.touches;
                            1 == t.length && (o.device.touchEndX = t[0].clientX), Math.abs(o.device.touchStartX - o.device.touchEndX) > 45 && e.preventDefault()
                        }), o.slider.$innerWrapper.on("touchend." + a, function(e) {
                            Math.abs(o.device.touchStartX - o.device.touchEndX) > 45 && (o.device.touchStartX - o.device.touchEndX > 0 ? i.layerSlider("touchNext") : i.layerSlider("touchPrev"))
                        }))
                    }
                },
                prev: function() {
                    (!o.slider.isPopup || o.slider.isPopup && o.slider.state.popupIsVisible) && (this.direction = "prev", this.forceDirection = "prev", o.slideshow.set.prevNext("prev"))
                },
                next: function() {
                    (!o.slider.isPopup || o.slider.isPopup && o.slider.state.popupIsVisible) && (this.direction = "next", this.forceDirection = "next", o.slideshow.set.prevNext("next"))
                },
                start: function() {
                    o.functions.setStates(o.slideshow, {
                        running: !0,
                        paused: !1
                    }), !0 === o.slideshow.state.pausedByLastCycle && o.functions.setStates(o.slideshow, {
                        pausedByLastCycle: !1
                    }), o.gui.navigation.bottom.setStartStop("start"), o.slideshow.state.pausedByHover || 1 !== o.transitions._slideTimeline.timeScale() && o.transitions.layers.timeline.resume(), o.slideshow.start()
                },
                stop: function() {
                    o.gui.navigation.bottom.setStartStop("stop"), o.o.pauseLayers && o.transitions.layers.timeline.pause(), o.slideshow.stop()
                }
            }, o.preload = {
                init: function() {
                    o.slider.$hiddenWrapper.find(".ls-slide img").each(function() {
                        var t = e(this),
                            i = t[0],
                            s = {};
                        if (t.is(".ls-layer, .ls-bg")) {
                            if (i.getAttribute("width") && (s.width = i.getAttribute("width")), i.getAttribute("height") && (s.height = i.getAttribute("height")), i.sizes && (s.sizes = i.sizes), i.srcset && o.o.useSrcset) {
                                s.srcSet = i.srcset, s.curSrc = i.currentSrc;
                                var a = s.srcSet.split(",").map(function(t) {
                                    return parseInt(e.trim(t).split(" ")[1])
                                });
                                s.maxWidth = Math.max.apply(null, a)
                            }
                            t.removeAttr("width").removeAttr("height").removeAttr("sizes").removeAttr("srcset"), e.isEmptyObject(s) || (t.data(o.defaults.init.dataKey).attributes = s)
                        }
                        t.data("src") ? s.curSrc && t.data("src", s.curSrc) : t.data("src", s.curSrc ? s.curSrc : i.src), t.attr("src", "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")
                    })
                },
                imagesOfSlide: function(t, s) {
                    if (!0 !== o.slides[t].wrapped) {
                        this.slideIndex = t, s ? (this.onCompleteCallback = s, o.functions.setStates(o.slider, {
                            preloadingImages: !0
                        }), o.gui.loadingIndicator.show()) : this.onCompleteCallback = !1, o.slider.canShow && i.css({
                            visibility: "visible"
                        }), this.preImages = [];
                        var a, r, n = this;
                        o.slider.$hiddenWrapper.find(".ls-slide:eq(" + (n.slideIndex - 1) + ") *").each(function() {
                            a = e(this), r = this;
                            var t = a.data(o.defaults.init.dataKey);
                            if (a.is("img")) {
                                a.data("src") && a.attr("src", a.data("src")), t && t.attributes && t.attributes.srcSet && o.o.useSrcset && (r.srcset = t.attributes.srcSet);
                                var i = r.src,
                                    s = !!(t && t.attributes && t.attributes.curSrc) && t.attributes.curSrc;
                                s && i !== s && a.is(".ls-bg") && (i = s, o.slides[n.slideIndex].data.$background.attr("src", i)), o.preload.preImages.push([i, a])
                            } else "none" !== a.css("background-image") && -1 !== a.css("background-image").indexOf("url") && o.preload.preImages.push([a.css("background-image").match(/url\((.*)\)/)[1].replace(/"/gi, ""), a])
                        }), o.transitions.firstSlide && o.o.globalBGImage && o.preload.preImages.push([o.o.globalBGImage, e()]), this.thumbnailsAreLoaded || this.thumbnails(), 0 === this.preImages.length ? this.onComplete() : this.start()
                    } else o.slider.shouldResize && s && (o.resize.setLayers(o.layers.get("next, bg")), o.resize.layers(s))
                },
                thumbnails: function() {
                    for (var e = o.slider.thumbnails.filter(function(e, t, i) {
                            return i.indexOf(e) == t
                        }), t = e.length, i = 0; i < t; i++)(new Image).src = e[i];
                    this.thumbnailsAreLoaded = !0
                },
                start: function() {
                    o.debugMode && (o.debug.add("group", "preload"), o.debug.add("log", "preload.info", this.slideIndex)), this.preloadedImagesCount = 0;
                    for (var e, t = this, i = function() {
                            ++t.preloadedImagesCount == t.preImages.length && (o.debugMode && o.debug.groupEnd(), t.onComplete())
                        }, s = 0; s < this.preImages.length; s++) {
                        var a = new Image;
                        a.addEventListener("error", function() {
                            o.debugMode && (e = this.src.substring(this.src.lastIndexOf("/") + 1, this.src.length), o.debug.add("warn", "preload.fail", e)), i()
                        }, !1), a.addEventListener("load", function() {
                            o.debugMode && (e = this.src.substring(this.src.lastIndexOf("/") + 1, this.src.length), o.debug.add("log", "preload.success", e)), this.originalLayer.data("preloadedWidth", this.width), this.originalLayer.data("preloadedHeight", this.height), i()
                        }, !1), a.src = this.preImages[s][0], a.originalLayer = this.preImages[s][1]
                    }
                },
                onComplete: function() {
                    var t = this;
                    this.onCompleteCallback ? (o.layers.wrap(this.slideIndex), function i() {
                        if (0 !== o.slides[t.slideIndex].$layers.length) o.timeouts.waitForWrap = setTimeout(i, 100);
                        else {
                            delete o.timeouts.waitForWrap, o.functions.setStates(o.transitions.layers.parallax, {
                                ready: !0
                            }), e(".ls-thumbnail-wrapper, .ls-nav-next, .ls-nav-prev, .ls-bottom-nav-wrapper").css({
                                visibility: "visible"
                            }), o.slides[t.slideIndex].wrapped = !0;
                            var s = !(!window._layerSlider.globals.youTubeIsReady && o.layers.get("next,in,youtube,bgvideo").length),
                                a = !(!window._layerSlider.globals.vimeoIsReady && o.layers.get("next,in,vimeo,bgvideo").length),
                                r = function() {
                                    o.gui.loadingIndicator.hide(), o.slider.shouldResize ? (o.resize.setLayers(o.layers.get("next, bg")), o.resize.layers(t.onCompleteCallback)) : t.onCompleteCallback()
                                };
                            s && a ? r() : o.intervals.waitForJSApisLoaded = setInterval(function() {
                                (s || window._layerSlider.globals.youTubeIsReady) && (a || window._layerSlider.globals.vimeoIsReady) && (clearInterval(o.intervals.waitForJSApisLoaded), delete o.intervals.waitForJSApisLoaded, r())
                            }, 50)
                        }
                    }()) : o.layers.wrap(this.slideIndex, !0), o.functions.setStates(o.slider, {
                        preloadingImages: !1
                    })
                }
            }, o.resize = {
                setLayers: function(e) {
                    this.$responsiveLayers = e.add(o.layers.get("active")), o.slides.next.data.$backgroundVideo.length && (this.$responsiveLayers = this.$responsiveLayers.add(o.slides.next.data.$backgroundVideo))
                },
                all: function() {
                    if (!document.body.contains(t)) return !1;
                    o.api.hasEvent("sliderWillResize") && i.triggerHandler("sliderWillResize", o.api.eventData()), this.slider(), this.navigation(), this.layers(), this.yourLogo(), this.shadow(), this.timers(), o.transitions.layers.timeline.shouldRestart && o.o.allowRestartOnResize && (o.functions.resetSlideTimelines(), o.transitions.layers.timeline.create(!0)), o.api.hasEvent("sliderDidResize") && i.triggerHandler("sliderDidResize", o.api.eventData())
                },
                viewport: function() {
                    e(window).scrollTop(Math.round(o.slider.offsetTop) - (o.device.viewportHeight - o.slider.height) / 2)
                },
                slider: function() {
                    if (!document.body.contains(t)) return !1;
                    var s, a = o.slider.$parentWithNumericWidthValue ? o.slider.$parentWithNumericWidthValue : o.functions.getSliderClosestParentElementWidthNumericValueOfProperty("width"),
                        r = o.slider.initial,
                        n = o.slider.$parentWithNumericWidthValuePercent ? a.width() / 100 * o.slider.$parentWithNumericWidthValuePercent : a.width(),
                        l = r.type,
                        d = 0 !== r.maxWidth ? r.maxWidth : n,
                        u = "auto" === r.marginLeft ? 0 : r.marginLeft,
                        p = "auto" === r.marginRight ? 0 : r.marginRight;
                    if (o.slider.state.inFullscreen ? i[0].style.maxWidth = "" : 0 !== r.maxWidth && (i[0].style.maxWidth = r.maxWidth + "px"), -1 !== d.indexOf("%") && (d = n / 100 * parseInt(d)), (n -= u + p) > d && d >= 0 && (n = d), o.o.fitScreenWidth && ("fullwidth" === l || "fullsize" === l && "fitheight" !== o.o.fullSizeMode && "fitwidth" !== o.o.fullSizeMode)) {
                        i.parent();
                        var c = a.offset().left,
                            h = parseInt(a.css("padding-left")) || 0,
                            m = parseInt(a.css("border-left-width")) || 0;
                        i[0].style.maxWidth = "none", i[0].style.marginLeft = -(c + h + m) + "px", n = o.device.viewportWidth || e(window).width()
                    }
                    switch (n -= r.skinWidth, o.slider.state.inFullscreen && (n = o.device.width), l) {
                        case "responsive":
                            o.slider.state.inFullscreen ? (o.device.ratio > r.ratio ? this.ratio = o.device.height / r.height : this.ratio = o.device.width / r.width, n = Math.round(r.width * this.ratio), s = Math.round(r.height * this.ratio)) : (this.ratio = n / r.width, s = Math.round(r.height * this.ratio));
                            break;
                        case "fullwidth":
                            n < o.o.responsiveUnder ? (this.ratio = n / o.o.responsiveUnder, s = Math.round(r.height * this.ratio)) : o.slider.state.inFullscreen ? o.device.ratio > r.layersWidth / r.height ? (this.ratio = o.device.height / r.height, s = o.device.height) : (this.ratio = o.device.width / r.layersWidth, s = r.height * this.ratio) : (this.ratio = 1, s = r.height);
                            break;
                        case "fullsize":
                            switch (o.o.fullSizeMode.toLowerCase()) {
                                case "normal":
                                    s = o.device.viewportHeight - r.skinHeight;
                                    break;
                                case "hero":
                                    s = o.device.viewportHeight - r.skinHeight, o.slider.state.inFullscreen || (s -= o.slider.heroTop ? o.slider.heroTop : o.slider.offsetTop);
                                    break;
                                case "fitheight":
                                    n = i.parent().width() - r.skinWidth, s = i.parent().height() - r.skinHeight;
                                    break;
                                case "fitwidth":
                                    n = i.parent().width() - r.skinWidth, s = o.device.viewportHeight - r.skinHeight
                            }
                            n / s < r.ratio ? this.ratio = n / r.layersWidth : this.ratio = s / r.layersHeight;
                            break;
                        case "fixed":
                        case "fixedsize":
                            this.ratio = 1, n = r.width, s = r.height, o.o.maxRatio = 1, t.style.maxWidth = "none"
                    }
                    this.ratio = o.o.maxRatio && o.o.maxRatio > 0 && this.ratio > o.o.maxRatio ? o.o.maxRatio : this.ratio, t.style.width = n + "px", t.style.height = s + "px", o.slider.width = n, o.slider.height = s;
                    var f = i.offset();
                    o.slider.offsetX = f.left, o.slider.offsetY = f.top, o.device.isMobile ? o.device.viewportWidth < 1025 && o.device.viewportWidth > 767 ? i.removeClass("ls-device-is-phone").addClass("ls-device-is-tablet") : o.device.viewportWidth < 768 && i.removeClass("ls-device-is-tablet").addClass("ls-device-is-phone") : i.removeClass("ls-device-is-phone ls-device-is-tablet").addClass("ls-device-is-desktop")
                },
                borderRadius: function(t) {
                    for (var i = ("" + t).split(" "), s = "", a = o.o.maxRatio && o.o.maxRatio > 0 && this.ratio > o.o.maxRatio ? o.o.maxRatio : this.ratio, r = 0, n = i.length; r < n; r++) - 1 === i[r].indexOf("%") ? s += Math.ceil(parseInt(i[r]) * a) + "px " : s += i[r] + " ";
                    return e.trim(s)
                },
                layers: function(t) {
                    if (this.$responsiveLayers) {
                        o.debugMode && o.debug.add("group", "resize");
                        var i = this,
                            s = this.ratio,
                            a = this.$responsiveLayers,
                            r = o.slider.initial,
                            n = o.slider.width,
                            l = o.slider.height,
                            d = n / l,
                            u = [],
                            p = [],
                            c = [],
                            h = [],
                            m = 0,
                            f = 0,
                            g = "responsive" === r.type && -1 !== o.o.maxRatio ? r.width : r.layersWidth,
                            v = "responsive" === r.type && -1 !== o.o.maxRatio ? r.height : r.layersHeight;
                        "fullsize" === r.type || "fullwidth" === r.type || "responsive" === r.type ? (m = g > 0 ? (n - g * s) / 2 : 0, f = v > 0 ? (l - v * s) / 2 : 0) : (m = m < 0 ? 0 : m, f = f < 0 ? 0 : f);
                        for (var y = 0, b = a.length; y < b; y++) {
                            var S, w, x, T = e(a[y]),
                                C = (a[y], T.data(o.defaults.init.dataKey)),
                                k = C.original,
                                I = "fixed" === C.settings.position,
                                O = I ? 0 : m,
                                L = I ? 0 : f,
                                $ = {
                                    width: I && 0 !== k.percentWidth ? n / 100 * k.percentWidth : k.width * s,
                                    height: I && 0 !== k.percentHeight ? l / 100 * k.percentHeight : k.height * s,
                                    paddingLeft: k.paddingLeft * s,
                                    paddingTop: k.paddingTop * s,
                                    paddingRight: k.paddingRight * s,
                                    paddingBottom: k.paddingBottom * s,
                                    borderLeftWidth: Math.ceil(k.borderLeftWidth * s),
                                    borderTopWidth: Math.ceil(k.borderTopWidth * s),
                                    borderRightWidth: Math.ceil(k.borderRightWidth * s),
                                    borderBottomWidth: Math.ceil(k.borderBottomWidth * s),
                                    borderRadius: this.borderRadius(k.borderRadius)
                                },
                                P = {
                                    marginLeft: k.marginLeft * s,
                                    marginTop: k.marginTop * s
                                },
                                B = {},
                                W = {
                                    borderRadius: $.borderRadius
                                };
                            if (I && (k.percentHeight || k.percentWidth) && C.is.imageLayer && (k.percentHeight && !k.percentWidth && ($.width = k.width * ($.height / k.height)), k.percentWidth && !k.percentHeight && ($.height = k.height * ($.width / k.width))), ("number" == typeof k.width && k.width < 0 || "auto" == k.width) && o.debugMode && o.debug.add("warn", "resize.width", [y + 1, k.width]), ("number" == typeof k.height && k.height < 0 || "auto" == k.height) && o.debugMode && o.debug.add("warn", "resize.height", [y + 1, k.height]), C.is.textLayer && ($.fontSize = k.fontSize * s, o.device.isMobile && $.fontSize < C.styleSettings.minmobilefontsize ? $.fontSize = C.styleSettings.minmobilefontsize : $.fontSize < C.styleSettings.minfontsize && ($.fontSize = C.styleSettings.minfontsize), x = $.fontSize / k.fontSize, $.fontSize += "px", "normal" !== k.lineHeight && ($.lineHeight = parseFloat(k.lineHeight) * x + "px"), "normal" !== k.letterSpacing && ($.letterSpacing = parseFloat(k.letterSpacing) * x + "px")), C.is.slideBackground || C.is.backgroundVideo)
                                if (C.is.slideBackground) {
                                    var M = o.slides[C.is.onSlide].data.backgroundSize;
                                    switch (S = void 0 !== M && "inherit" !== M ? M : o.o.slideBGSize, S = S.replace("100% 100%", "stretch")) {
                                        case "auto":
                                            break;
                                        case "cover":
                                            k.ratio < d ? ($.width = n, $.height = $.width / k.ratio) : ($.height = l, $.width = $.height * k.ratio);
                                            break;
                                        case "contain":
                                            k.ratio < d ? ($.height = l, $.width = $.height * k.ratio) : ($.width = n, $.height = $.width / k.ratio);
                                            break;
                                        case "stretch":
                                            $.width = n, $.height = l
                                    }
                                    $.width = Math.round($.width), $.height = Math.round($.height);
                                    var _ = o.slides[C.is.onSlide].data.backgroundPosition;
                                    switch ((w = void 0 !== _ ? _.split(" ") : o.o.slideBGPosition.split(" "))[0]) {
                                        case "left":
                                            $.x = 0;
                                            break;
                                        case "center":
                                            $.x = (o.slider.width - $.width) / 2;
                                            break;
                                        case "right":
                                            $.x = o.slider.width - $.width;
                                            break;
                                        default:
                                            -1 !== w[0].indexOf("%") ? $.x = (o.slider.width - $.width) / 100 * parseInt(w[0]) : $.x = parseInt(w[0])
                                    }
                                    if (void 0 !== w[1]) switch (w[1]) {
                                        case "top":
                                            $.y = 0;
                                            break;
                                        case "center":
                                            $.y = (o.slider.height - $.height) / 2;
                                            break;
                                        case "bottom":
                                            $.y = o.slider.height - $.height;
                                            break;
                                        default:
                                            -1 !== w[1].indexOf("%") ? $.y = (o.slider.height - $.height) / 100 * parseInt(w[1]) : $.y = parseInt(w[1])
                                    }
                                    $.transform = "translateX(" + $.x + "px) translateY(" + $.y + "px)", $["-ms-transform"] = "translateX(" + $.x + "px) translateY(" + $.y + "px)", $["-webkit-transform"] = "translateX(" + $.x + "px) translateY(" + $.y + "px)"
                                } else C.is.backgroundVideo && (k.ratio < d ? ($.width = n, $.height = $.width / k.ratio) : ($.height = l, $.width = $.height * k.ratio), $.x = (o.slider.width - $.width) / 2, $.y = (o.slider.height - $.height) / 2, $.width = Math.round($.width), $.height = Math.round($.height), $.transform = "translateX(" + $.x + "px) translateY(" + $.y + "px)", $["-ms-transform"] = "translateX(" + $.x + "px) translateY(" + $.y + "px)", $["-webkit-transform"] = "translateX(" + $.x + "px) translateY(" + $.y + "px)");
                            else {
                                if (C.mediaSettings.fullsize) switch (C.mediaSettings.fillmode) {
                                    default:
                                        case "cover":
                                        k.ratio < d ? ($.width = n, $.height = $.width / k.ratio) : ($.height = l, $.width = $.height * k.ratio);
                                    break;
                                    case "contain":
                                            k.ratio > d ? ($.width = n, $.height = $.width / k.ratio) : ($.height = l, $.width = $.height * k.ratio)
                                }
                                $.outerWidth = $.width + $.paddingLeft + $.paddingRight + $.borderLeftWidth + $.borderRightWidth, $.outerHeight = $.height + $.paddingTop + $.paddingBottom + $.borderTopWidth + $.borderBottomWidth, P.width = B.width = $.outerWidth, P.height = B.height = $.outerHeight, -1 != k.left.indexOf("%") ? "100%" === k.left ? $.left = 0 === O ? o.slider.width / 100 * parseInt(k.left) - $.outerWidth : O + g * s / 100 * parseInt(k.left) - $.outerWidth : "0%" === k.left ? $.left = 0 === O ? 0 : O : $.left = 0 === O ? o.slider.width / 100 * parseInt(k.left) - $.outerWidth / 2 : O + g * s / 100 * parseInt(k.left) - $.outerWidth / 2 : $.left = O + parseInt(k.left) * s, P.left = $.left, -1 != k.top.indexOf("%") ? "100%" === k.top ? $.top = 0 === L ? o.slider.height / 100 * parseInt(k.top) - $.outerHeight : L + v * s / 100 * parseInt(k.top) - $.outerHeight : "0%" === k.top ? $.top = 0 === L ? 0 : L + 0 : $.top = 0 === L ? o.slider.height / 100 * parseInt(k.top) - $.outerHeight / 2 : L + v * s / 100 * parseInt(k.top) - $.outerHeight / 2 : $.top = L + parseInt(k.top) * s, P.top = $.top
                            }
                            C.responsive = $, u[y] = $, C.is.slideBackground || C.is.backgroundVideo || (C.settings.wrapperData.responsive = P, p[y] = P, c[y] = B, h[y] = W)
                        }
                        for (var z = 0, F = u.length; z < F; z++) {
                            var D = e(a[z]),
                                R = D.data(o.defaults.init.dataKey);
                            D.css(u[z]), R.is.slideBackground || R.is.backgroundVideo ? (R.is.slideBackground || R.is.backgroundVideo) && (R.elements.$bgOuterWrapper.css({
                                width: o.slider.width,
                                height: o.slider.height
                            }), R.elements.$outerWrapper.css({
                                width: o.slider.width,
                                height: o.slider.height
                            })) : (D.find(".split-item").css(h[z]), i.wrappers(D, R, p[z], c[z]))
                        }
                        void 0 !== t && t(), o.debugMode && o.debug.groupEnd("resize")
                    }
                },
                wrappers: function(e, t, i, s) {
                    i && t.elements.$wrapper.css(i), s && t.loop.enabled && t.elements.$loopWrapper.css(s), r.TweenMax.set(t.elements.$wrapper[0], {
                        autoCSS: !1,
                        css: {
                            transformPerspective: t.transformPerspective.layer * o.resize.ratio
                        }
                    }), t.loop.enabled && r.TweenMax.set(t.elements.$loopWrapper[0], {
                        autoCSS: !1,
                        css: {
                            transformPerspective: t.transformPerspective.loop * o.resize.ratio
                        }
                    }), t.hover.enabled && r.TweenMax.set(e[0], {
                        autoCSS: !1,
                        css: {
                            transformPerspective: t.transformPerspective.hover * o.resize.ratio
                        }
                    }), t.textIn.nodes && r.TweenMax.set(t.textIn.nodes, {
                        autoCSS: !1,
                        css: {
                            transformPerspective: t.transformPerspective.text * o.resize.ratio
                        }
                    }), t.textOut.nodes && r.TweenMax.set(t.textOut.nodes, {
                        autoCSS: !1,
                        css: {
                            transformPerspective: t.transformPerspective.text * o.resize.ratio
                        }
                    }), t.parallax.enabled && r.TweenMax.set(t.elements.$parallaxWrapper[0], {
                        autoCSS: !1,
                        css: {
                            transformPerspective: t.transformPerspective.parallax * o.resize.ratio
                        }
                    })
                },
                transformProperties: function(e, t, i, s) {
                    if ("object" == typeof i.x) {
                        for (var a = [], r = 0; r < i.x.length; r++) "string" == typeof i.x[r] ? a[r] = this.getXY(e, i.x[r], "Width") : a[r] = i.x[r] * o.resize.ratio;
                        t.cycle.x = a
                    } else "string" == typeof i.x ? t.x = this.getXY(e, i.x, "Width") : void 0 !== i.x && (t.x = i.x * o.resize.ratio);
                    if ("object" == typeof i.y) {
                        for (var n = [], l = 0; l < i.y.length; l++) "string" == typeof i.y[l] ? n[l] = this.getXY(e, i.y[l], "Height") : n[l] = i.y[l] * o.resize.ratio;
                        t.cycle.y = n
                    } else "string" == typeof i.y ? t.y = this.getXY(e, i.y, "Height") : void 0 !== i.y && (t.y = i.y * o.resize.ratio);
                    if (s && (t = s), "object" == typeof i.transformOrigin) {
                        for (var d = [], u = 0; u < i.transformOrigin.length; u++) d[u] = o.functions.convert.transformOrigin(i.transformOrigin[u], e);
                        t.cycle.transformOrigin = d
                    } else "string" == typeof i.transformOrigin && (t.transformOrigin = o.functions.convert.transformOrigin(i.transformOrigin, e))
                },
                styleProperties: function(t, i) {
                    void 0 !== i.width && (e.isNumeric(i.width) ? t.width = parseInt(i.width) * o.resize.ratio : "string" == typeof i.width && -1 !== i.width.indexOf("%") && (t.width = o.slider.width / 100 * parseInt(i.width))), void 0 !== i.height && (e.isNumeric(i.height) ? t.height = parseInt(i.height) * o.resize.ratio : "string" == typeof i.height && -1 !== i.height.indexOf("%") && (t.height = o.slider.height / 100 * parseInt(i.height))), i.borderRadius && (t.borderRadius = o.resize.borderRadius(i.borderRadius))
                },
                clip: function(t, i, s) {
                    i = e.trim(i.replace("rect(", "").replace(")", ""));
                    for (var a, r = t.data(o.defaults.init.dataKey).responsive, n = Math.ceil(r.outerWidth), l = Math.ceil(r.outerHeight), d = -1 === i.indexOf(",") ? i.split(" ") : i.split(","), u = "", p = 0; p < d.length; p++)
                        if (-1 !== d[p].indexOf("%")) switch (p) {
                            case 0:
                                u += parseInt(l / 100 * parseInt(d[p]) * 100) / 100 + "px ";
                                break;
                            case 1:
                                u += s ? parseInt(100 * (n - n / 100 * parseInt(d[p]))) / 100 + "px " : parseInt(n / 100 * parseInt(d[p]) * 100) / 100 + "px ";
                                break;
                            case 2:
                                u += s ? parseInt(100 * (l - l / 100 * parseInt(d[p]))) / 100 + "px " : parseInt(l / 100 * parseInt(d[p]) * 100) / 100 + "px ";
                                break;
                            case 3:
                                u += parseInt(n / 100 * parseInt(d[p]) * 100) / 100 + "px"
                        } else switch (a = parseInt(d[p]) * o.resize.ratio, p) {
                            case 0:
                                u += a + "px ";
                                break;
                            case 1:
                                u += s ? n - a + " " : a + "px ";
                                break;
                            case 2:
                                u += s ? l - a + "px " : a + "px ";
                                break;
                            case 3:
                                u += a + "px"
                        }
                        return "rect(" + u + ")"
                },
                getXY: function(e, t, i) {
                    var s = 0,
                        a = e.data(o.defaults.init.dataKey),
                        r = a.original,
                        n = a.responsive,
                        l = a.settings.wrapperData.responsive;
                    if (r && n && l) switch (t) {
                        case "left":
                            s = -1 != r.left.indexOf("%") ? "100%" === r.left ? -n.left - n.outerWidth - l.marginLeft : -parseInt(r.left) / 100 * o.slider.width - n.outerWidth / 2 - l.marginLeft : -n.left - n.outerWidth - l.marginLeft;
                            break;
                        case "right":
                            s = -1 != r.left.indexOf("%") ? "100%" === r.left ? o.slider.width - n.left - l.marginLeft : (1 - parseInt(r.left) / 100) * o.slider.width + n.outerWidth / 2 - l.marginLeft : o.slider.width - n.left - l.marginLeft;
                            break;
                        case "top":
                            s = -1 != r.top.indexOf("%") ? "100%" === r.top ? -n.top - n.outerHeight - l.marginTop : -parseInt(r.top) / 100 * o.slider.height - n.outerHeight / 2 - l.marginTop : -n.top - n.outerHeight - l.marginTop;
                            break;
                        case "bottom":
                            s = -1 != r.top.indexOf("%") ? "100%" === r.top ? o.slider.height - n.top - l.marginTop : (1 - parseInt(r.top) / 100) * o.slider.height + n.outerHeight / 2 - l.marginTop : o.slider.height - n.top - l.marginTop;
                            break;
                        case "width":
                            s = n.outerWidth;
                            break;
                        case "-width":
                            s = -n.outerWidth;
                            break;
                        case "height":
                            s = n.outerHeight;
                            break;
                        case "-height":
                            s = -n.outerHeight;
                            break;
                        default:
                            s = -1 !== t.indexOf("%") ? n["outer" + i] / 100 * parseInt(t) : -1 !== t.indexOf("sw") ? parseInt(t.split("sw")[0]) / 100 * o.slider.width : -1 !== t.indexOf("sh") ? parseInt(t.split("lw")[0]) / 100 * o.slider.height : -1 !== t.indexOf("lw") ? n.outerWidth / 100 * parseInt(t.split("lw")[0]) : -1 !== t.indexOf("lh") ? n.outerHeight / 100 * parseInt(t.split("lj")[0]) : parseInt(t) * o.resize.ratio
                    }
                    return s
                },
                navigation: function() {
                    "always" == o.o.thumbnailNavigation && o.gui.navigation.bottom.thumbnails.resize()
                },
                shadow: function() {
                    o.gui.shadow.show && o.gui.shadow.show(), o.gui.shadow.$element && o.gui.shadow.resize()
                },
                yourLogo: function() {
                    o.yourLogo.$element && o.yourLogo.resize()
                },
                timers: function() {
                    if (o.gui.timers.slidebar.$containerElement.length > 0)
                        for (var e = 0, t = o.gui.timers.slidebar.$containerElement.length; e < t; e++) o.gui.timers.slidebar.containerElementWidth[e] = o.gui.timers.slidebar.$containerElement[e].width(), o.gui.timers.slidebar.elementWidth[e] = o.gui.timers.slidebar.$element[e].width()
                }
            }, o.transitions = {
                firstSlide: !0,
                start: function() {
                    if (!document.body.contains(t)) return !1;
                    o.device.scroll.directionAtSlideTransitionStart = o.device.scroll.direction, "always" == o.o.thumbnailNavigation && (o.gui.navigation.bottom.thumbnails.change(), "ontouchstart" in window || o.gui.navigation.bottom.thumbnails.scroll()), this.layers.out.forced(), this.slide.init()
                },
                slide: {
                    $wrapper: e(),
                    init: function() {
                        var t, i;
                        if (o.functions.setStates(o.slider, {
                                animatingSlides: !0
                            }), o.transitions.layers.parallax.reset(), o.slider.$layersWrapper.children('.ls-parallax[data-ls-parallax="active"]').each(function() {
                                e(this).find(".ls-layer").data(o.defaults.init.dataKey).settings.slideOut === o.slides.current.index && e(this).attr("data-ls-parallax", "disbaled")
                            }), o.transitions.curSlide = o.slides.current, o.transitions.nextSlide = o.slides.next, o.transitions._slideTransition = new r.TimelineMax({
                                paused: !0,
                                onComplete: function() {
                                    o.transitions.slide.onComplete()
                                }
                            }), o.transitions.firstSlide) {
                            if (void 0 !== o.transitions.nextSlide.data.$background) {
                                var s = o.transitions.nextSlide.data.$background.data(o.defaults.init.dataKey),
                                    a = s.kenBurns.zoom ? s.kenBurns.from.scale : 1,
                                    n = s.kenBurns.zoom ? s.kenBurns.from.rotation : 0,
                                    l = o.transitions.nextSlide.filter.from || "none";
                                o.transitions._slideTransition.set(o.transitions.nextSlide.data.$background[0], {
                                    "-webkit-filter": l,
                                    filter: l
                                }, 0), o.transitions._slideTransition.fromTo(o.transitions.nextSlide.data.$background.closest(".ls-bg-wrap")[0], o.o.sliderFadeInDuration, {
                                    autoCSS: !1,
                                    css: {
                                        scale: a,
                                        rotation: n,
                                        opacity: 0,
                                        display: "block"
                                    }
                                }, {
                                    autoCSS: !1,
                                    css: {
                                        opacity: 1
                                    }
                                }, 0)
                            }
                            this.start(!0)
                        } else "undefined" == typeof layerSliderTransitions && "undefined" == typeof layerSliderCustomTransitions ? (this.start(!0), o.debugMode && o.debug.add("warn", "slideTransition.noSlideTransition", o.transitions.nextSlide.index)) : void 0 === o.transitions.curSlide.data.$background && void 0 === o.transitions.nextSlide.data.$background && "transparent" == o.transitions.curSlide.data.backgroundColor && "transparent" == o.transitions.nextSlide.data.backgroundColor ? this.start(!0) : ("x" === o.o.clipSlideTransition ? o.device.$overflowWrapper.addClass("ls-overflowx-hidden") : "y" === o.o.clipSlideTransition ? o.device.$overflowWrapper.addClass("ls-overflowy-hidden") : !0 === o.o.clipSlideTransition && o.device.$overflowWrapper.addClass("ls-overflow-hidden"), void 0 !== o.transitions.curSlide.data.$background && (t = o.transitions.curSlide.data.$background.closest(".ls-bg-wrap")[0]._gsTransform, (i = o.transitions.curSlide.data.$background.data(o.defaults.init.dataKey)).responsive.filter = o.transitions.curSlide.data.$background[0].style.filter, i.responsive.kbRotation = void 0 !== t ? " rotate(" + t.rotation + "deg)" : " rotate(0deg)", i.responsive.kbScale = void 0 !== t ? " scale(" + t.scaleX + ")" : " scale(1)"), o.transitions.slide.$wrapper = e("<div>").addClass("ls-slide-transition-wrapper").css({
                            width: o.slider.width,
                            height: o.slider.height
                        }), this.select.slideTransitionType())
                    },
                    select: {
                        slideTransitionType: function() {
                            o.transitions.slide.normal.select.transitionType()
                        }
                    },
                    start: function(e) {
                        var t, s = !(!o.slides.current.index || !o.slides.current.data.$backgroundVideo.length),
                            a = !(!o.slides.next.index || !o.slides.next.data.$backgroundVideo.length);
                        if (!o.slideshow.firstStart && o.api.hasEvent("slideChangeDidStart") && i.triggerHandler("slideChangeDidStart", o.api.eventData()), !e && (void 0 !== o.transitions.nextSlide.data.transitionDuration && o.transitions._slideTransition.duration(o.transitions.nextSlide.data.transitionDuration), o.debugMode && o.debug.options.transitionDuration && o.transitions._slideTransition.duration(o.debug.options.transitionDuration), o.transitions.layers.timeline.timeScaleModifier > .25)) {
                            var n = o.transitions._slideTransition.duration() / (.75 + o.transitions.layers.timeline.timeScaleModifier);
                            n = n < .5 ? .5 : n, o.transitions._slideTransition.duration(n)
                        }
                        var l, d = o.transitions._slideTransition.duration() / o.transitions._slideTransition.timeScale(),
                            u = d,
                            p = o.transitions.nextSlide.data.timeShift;
                        p > 0 ? p = 0 : p < 0 && Math.abs(p) > d && (p = -d), o.transitions.nextSlide.data.calculatedTimeShift = p, l = o.transitions.firstSlide ? o.o.sliderFadeInDuration + .01 : (u + p) * o.transitions._slideTransition.timeScale(), (s || a) && o.transitions.media.changeBackgroundVideo(o.transitions.firstSlide, !(!s || !a)), o.transitions._slideTransition.call(function() {
                            !o.slideshow.firstStart && o.api.hasEvent("slideChangeWillComplete") && i.triggerHandler("slideChangeWillComplete", o.api.eventData()), o.slideshow.should.change || o.transitions.layers.timeline.prepare(), o.media.stop(), o.slides.set.slideIndexes(), o.o.hashChange && (document.location.hash = o.slides[o.slides.current.index].data.deeplink || "_no-deeplink-found_"), o.slideshow.start(), !o.transitions.firstSlide && o.slides.prev.index && o.slides.prev.data.$backgroundVideo.length && !o.slides.prev.data.$backgroundVideo.data(o.defaults.init.dataKey).mediaProperties.willBePaused && (o.slides.prev.data.$backgroundVideo.trigger("stopBackgroundVideo"), o.slides.prev.data.$backgroundVideo.data(o.defaults.init.dataKey).elements.$bgWrapper.css({
                                display: "none"
                            })), o.slideshow.should.change || o.slides.next.data.$backgroundVideo.length && !o.slides.next.data.$backgroundVideo.data(o.defaults.init.dataKey).mediaProperties.isPreloaded && (o.slides.next.data.$backgroundVideo.trigger("preloadBackgroundVideo"), o.slides.next.data.$backgroundVideo.data(o.defaults.init.dataKey).mediaProperties.isPreloaded = !0), o.transitions.firstSlide = !1
                        }, [], this, l), o.transitions._slideTransition.play(), void 0 !== o.transitions.curSlide.data && void 0 !== o.transitions.curSlide.data.$background && (t = o.transitions.curSlide.data.$background.data(o.defaults.init.dataKey), o.timeouts.applyBG = setTimeout(function() {
                            delete o.timeouts.applyBG, o.transitions.curSlide.data.$background.closest(".ls-bg-wrap").hide(), t.kenBurns.zoom && r.TweenMax.set(o.transitions.curSlide.data.$background[0], {
                                autoCSS: !1,
                                css: t.kenBurns.from
                            })
                        }, 5))
                    },
                    onComplete: function() {
                        var e;
                        void 0 !== o.transitions.nextSlide.data.$background && o.transitions.nextSlide.data.$background.closest(".ls-bg-wrap").show(), "transparent" !== o.transitions.nextSlide.data.backgroundColor ? o.slider.$innerWrapper.css("background-color", o.transitions.nextSlide.data.backgroundColor) : o.slider.$innerWrapper.css("background-color", o.o.globalBGColor), o.o.leaveOverflow || o.device.$overflowWrapper.removeClass("ls-overflowx-hidden ls-overflowy-hidden ls-overflow-hidden"), this.$wrapper && (this.$wrapper.html("").remove(), this.$wrapper = !1), o.gui.navigation.bottom.bullets.set.active(), o.o.cycles > 0 && (o.slideshow.hasOwnProperty("cycleSlideIndex") ? o.slideshow.cycles.check(o.transitions.nextSlide.index) && (o.navigation.stop(), o.functions.setStates(o.slideshow, {
                            pausedByLastCycle: !0
                        }), o.o.forceCycles && (o.slideshow.curCycle = 1)) : o.slideshow.cycles.set()), o.functions.setStates(o.slider, {
                            animatingSlides: !1,
                            changingSlides: !1
                        }), !o.slideshow.firstStart && o.api.hasEvent("slideChangeDidComplete") && i.triggerHandler("slideChangeDidComplete", o.api.eventData()), o.slideshow.firstStart = !1, !1 !== o.slideshow.should.change && o.navigation.forceDirection ? (void 0 !== o.transitions.curSlide.data && void 0 !== o.transitions.curSlide.data.$background && (e = o.transitions.curSlide.data.$background.data(o.defaults.init.dataKey), o.transitions.curSlide.data.$background.closest(".ls-bg-wrap").hide(), e.kenBurns.zoom && r.TweenMax.set(o.transitions.curSlide.data.$background[0], {
                            autoCSS: !1,
                            css: e.kenBurns.from
                        })), o.slideshow.changeTo(o.slideshow.get.slideInSequence(o.navigation.forceDirection), !0)) : o.preload.imagesOfSlide(o.slides.next.index)
                    },
                    normal: {
                        select: {
                            transitionType: function() {
                                if (o.o.slideTransition) o.transitions.slide.normal.setTransition(o.o.slideTransition.type, o.o.slideTransition.obj);
                                else {
                                    var e, t, i = !!o.transitions.nextSlide.data.transition2d && o.transitions.nextSlide.data.transition2d.toString().split(",");
                                    o.device.touchPrev && o.o.slideOnSwipe ? (o.device.touchPrev = !1, this.transition("2d", "1")) : o.device.touchNext && o.o.slideOnSwipe ? (o.device.touchNext = !1, this.transition("2d", "1")) : o.slides.next.data.$background || i && (!i || -1 != i.indexOf("1") || -1 != i.indexOf("2") || -1 != i.indexOf("3") || -1 != i.indexOf("4")) ? o.browser.supports3D() && (o.transitions.nextSlide.data.transition3d || o.transitions.nextSlide.data.customtransition3d) ? o.transitions.nextSlide.data.transition3d && o.transitions.nextSlide.data.customtransition3d ? (e = Math.floor(2 * Math.random()), t = [
                                        ["3d", o.transitions.nextSlide.data.transition3d],
                                        ["custom3d", o.transitions.nextSlide.data.customtransition3d]
                                    ], this.transition(t[e][0], t[e][1])) : o.transitions.nextSlide.data.transition3d ? this.transition("3d", o.transitions.nextSlide.data.transition3d) : this.transition("custom3d", o.transitions.nextSlide.data.customtransition3d) : o.transitions.nextSlide.data.transition2d && o.transitions.nextSlide.data.customtransition2d ? (e = Math.floor(2 * Math.random()), t = [
                                        ["2d", o.transitions.nextSlide.data.transition2d],
                                        ["custom2d", o.transitions.nextSlide.data.customtransition2d]
                                    ], this.transition(t[e][0], t[e][1])) : o.transitions.nextSlide.data.transition2d ? this.transition("2d", o.transitions.nextSlide.data.transition2d) : o.transitions.nextSlide.data.customtransition2d ? this.transition("custom2d", o.transitions.nextSlide.data.customtransition2d) : this.transition("2d", "1") : this.transition("2d", "5")
                                }
                            },
                            transition: function(e, t) {
                                o.debugMode && o.debug.add("group", "slideTransition.info"), t += "";
                                var i, s = -1 == e.indexOf("custom") ? o.t : o.ct,
                                    a = "3d";
                                if (-1 != e.indexOf("2d") && (a = "2d"), -1 != t.indexOf("last")) i = s["t" + a].length - 1, "last";
                                else if (-1 != t.indexOf("all")) i = Math.floor(Math.random() * o.functions.countProp(s["t" + a])), "random from all";
                                else {
                                    var r = t.split(","),
                                        n = r.length;
                                    i = parseInt(r[Math.floor(Math.random() * n)]) - 1, "random from specified"
                                }
                                void 0 === s["t" + a][i] && (o.debugMode && o.debug.add("warn", "slideTransition.customTransition", [a.toUpperCase() + (-1 === e.indexOf("custom") ? "" : " (CUSTOM)"), i + 1]), s = o.t, e = a = "2d", i = 0), o.debugMode && o.debug.add("log", "slideTransition.info", [a.toUpperCase() + (-1 === e.indexOf("custom") ? "" : " (CUSTOM)"), i + 1, s["t" + a][i].name]), o.transitions.slide.normal.setTransition(a, s["t" + a][i])
                            }
                        },
                        setTransition: function(t, i) {
                            var s, a, n, l, d = e.extend(!0, {
                                    cols: 1,
                                    rows: 1
                                }, i),
                                u = typeof d.cols,
                                p = typeof d.rows,
                                c = [],
                                h = o.navigation.direction,
                                m = 0,
                                f = 0,
                                g = !!o.transitions.curSlide.data.$background && o.functions.getURL(o.transitions.curSlide.data.$background),
                                v = !!o.transitions.nextSlide.data.$background && o.functions.getURL(o.transitions.nextSlide.data.$background),
                                y = o.o.playByScroll && "up" === o.device.scroll.direction ? "to" : "from";
                            switch (u) {
                                case "number":
                                    u = d.cols;
                                    break;
                                case "string":
                                    u = Math.floor(Math.random() * (parseInt(d.cols.split(",")[1]) - parseInt(d.cols.split(",")[0]) + 1)) + parseInt(d.cols.split(",")[0]);
                                    break;
                                default:
                                    u = Math.floor(Math.random() * (d.cols[1] - d.cols[0] + 1)) + d.cols[0]
                            }
                            switch (p) {
                                case "number":
                                    p = d.rows;
                                    break;
                                case "string":
                                    p = Math.floor(Math.random() * (parseInt(d.rows.split(",")[1]) - parseInt(d.rows.split(",")[0]) + 1)) + parseInt(d.rows.split(",")[0]);
                                    break;
                                default:
                                    p = Math.floor(Math.random() * (d.rows[1] - d.rows[0] + 1)) + d.rows[0]
                            }
                            if (o.device.isMobile && o.o.optimizeForMobile ? (u >= 15 ? u = 7 : u >= 5 ? u = 4 : u >= 4 ? u = 3 : u > 2 && (u = 2), p >= 15 ? p = 7 : p >= 5 ? p = 4 : p >= 4 ? p = 3 : p > 2 && (p = 2), p > 2 && u > 2 && (p = 2, u > 4 && (u = 4))) : (u = u > 35 ? 35 : u, p = p > 35 ? 35 : p), o.debugMode && !o.o.slideTransition && (o.debug.add("log", "slideTransition.properties", [
                                    [u, p], u * p
                                ]), o.debug.groupEnd()), s = Math.floor(o.slider.width / u), a = Math.floor(o.slider.height / p), n = o.slider.width - s * u, l = o.slider.height - a * p, "prev" == h) {
                                var b = {
                                    random: "random",
                                    forward: "reverse",
                                    reverse: "forward",
                                    "col-forward": "col-reverse",
                                    "col-reverse": "col-forward"
                                };
                                d.tile && d.tile.sequence && (d.tile.sequence = b[d.tile.sequence]), e.each(["animation", "before", "after"], function(e, t) {
                                    if (d[t] && d[t].transition) {
                                        var i = d[t].transition;
                                        i.rotateX && Math.abs(i.rotateX) > 44 && (i.rotateX *= -1), i.rotateY && Math.abs(i.rotateY) > 44 && (i.rotateY *= -1), i.rotate && (i.rotate *= -1)
                                    }
                                })
                            }
                            for (var S = 0; S < u * p; S++) c.push(S);
                            switch (d.tile.sequence) {
                                case "reverse":
                                    c.reverse();
                                    break;
                                case "col-forward":
                                    c = o.functions.sortArray(p, u, "forward");
                                    break;
                                case "col-reverse":
                                    c = o.functions.sortArray(p, u, "reverse");
                                    break;
                                case "random":
                                    c = o.functions.shuffleArray(c)
                            }
                            if ("transparent" === o.transitions.curSlide.data.backgroundColor && (o.transitions.curSlide.data.backgroundColor = o.o.globalBGColor), "transparent" === o.transitions.nextSlide.data.backgroundColor && (o.transitions.nextSlide.data.backgroundColor = o.o.globalBGColor), "2d" == t) {
                                var w = -1 != d.name.toLowerCase().indexOf("carousel"),
                                    x = -1 != d.name.toLowerCase().indexOf("crossfad");
                                this.$curTiles = e("<div>").addClass("ls-curtiles").appendTo(o.transitions.slide.$wrapper), this.$nextTiles = e("<div>").addClass("ls-nexttiles").appendTo(o.transitions.slide.$wrapper)
                            }
                            for (var T = 0; T < u * p; T++) {
                                var C, k, I, O, L, $, P, B = (T + 1) % u == 0 ? n : 0,
                                    W = T > (p - 1) * u - 1 ? l : 0,
                                    M = e("<div>").addClass("ls-slide-transition-tile").css({
                                        width: s + B,
                                        height: a + W
                                    }).data("style", {
                                        width: s + B,
                                        height: a + W
                                    }).appendTo(o.transitions.slide.$wrapper);
                                c[T];
                                if (m = T % u == 0 ? m + 1 : m, f = T % u == 0 ? 1 : f + 1, "3d" == t) {
                                    M.addClass("ls-3d-container");
                                    var _, z, F, D, R, N, E, V = s + B,
                                        H = a + W,
                                        A = new r.TimelineMax;
                                    E = Math.abs(Math.abs(f - u / 2 - .5) - u / 2 - .5) * Math.abs(Math.abs(m - p / 2 - .5) - p / 2 - .5), M.css({
                                        zIndex: E
                                    }), z = V / 2, F = H / 2, D = (_ = "horizontal" == d.animation.direction ? Math.abs(d.animation.transition.rotateY) > 90 && "large" != d.tile.depth ? Math.floor(V / 7) + B : V : Math.abs(d.animation.transition.rotateX) > 90 && "large" != d.tile.depth ? Math.floor(H / 7) + W : H) / 2, this.createCuboids("ls-3d-box", M, 0, 0, 0, 0, -D, 0, 0, z + "px " + F + "px 0px"), this.createCuboids("ls-3d-front", M.find(".ls-3d-box"), V, H, 0, 0, D, 0, 0), "vertical" == d.animation.direction && Math.abs(d.animation.transition.rotateX) > 90 ? this.createCuboids("ls-3d-back", M.find(".ls-3d-box"), V, H, 0, 0, -D, 180, 0) : this.createCuboids("ls-3d-back", M.find(".ls-3d-box"), V, H, 0, 0, -D, 0, 180), this.createCuboids("ls-3d-left", M.find(".ls-3d-box"), _, H, -D, 0, 0, 0, -90), this.createCuboids("ls-3d-right", M.find(".ls-3d-box"), _, H, V - D, 0, 0, 0, 90), this.createCuboids("ls-3d-top", M.find(".ls-3d-box"), V, _, 0, -D, 0, 90, 0), this.createCuboids("ls-3d-bottom", M.find(".ls-3d-box"), V, _, 0, H - D, 0, -90, 0), C = M.find(".ls-3d-front"), k = "horizontal" == d.animation.direction ? Math.abs(d.animation.transition.rotateY) > 90 ? M.find(".ls-3d-back") : d.animation.transition.rotateY > 0 ? M.find(".ls-3d-left") : M.find(".ls-3d-right") : Math.abs(d.animation.transition.rotateX) > 90 ? M.find(".ls-3d-back") : d.animation.transition.rotateX > 0 ? M.find(".ls-3d-bottom") : M.find(".ls-3d-top"), R = c[T] * d.tile.delay, N = o.transitions.slide.$wrapper.find(".ls-3d-container:eq( " + T + " ) .ls-3d-box"), d.before && d.before.transition ? (d.before.transition.delay = d.before.transition.delay ? (d.before.transition.delay + R) / 1e3 : R / 1e3, A.to(N[0], d.before.duration / 1e3, o.functions.convert.transition(d.before.transition, d.before.easing))) : d.animation.transition.delay = d.animation.transition.delay ? (d.animation.transition.delay + R) / 1e3 : R / 1e3, A.to(N[0], d.animation.duration / 1e3, o.functions.convert.transition(d.animation.transition, d.animation.easing)), d.after && (d.after.transition || (d.after.transition = {}), A.to(N[0], d.after.duration / 1e3, o.functions.convert.transition(d.after.transition, d.after.easing, "after"))), o.transitions._slideTransition.add(A, 0)
                                } else {
                                    var X, Y, K, j, q, U, G, Q, Z = "auto",
                                        J = "auto",
                                        ee = "auto",
                                        te = "auto",
                                        ie = 1,
                                        se = 1,
                                        ae = {};
                                    switch (Y = "random" == d.transition.direction ? (X = ["top", "bottom", "right", "left"])[Math.floor(Math.random() * X.length)] : d.transition.direction, -1 != d.name.toLowerCase().indexOf("mirror") && T % 2 == 0 && (h = "prev" == h ? "next" : "prev"), "prev" == h && (Y = {
                                        top: "bottom",
                                        bottom: "top",
                                        left: "right",
                                        right: "left",
                                        topleft: "bottomright",
                                        topright: "bottomleft",
                                        bottomleft: "topright",
                                        bottomright: "topleft"
                                    }[Y]), Y) {
                                        case "top":
                                            Z = ee = -M.data("style").height, J = te = 0;
                                            break;
                                        case "bottom":
                                            Z = ee = M.data("style").height, J = te = 0;
                                            break;
                                        case "left":
                                            Z = ee = 0, J = te = -M.data("style").width;
                                            break;
                                        case "right":
                                            Z = ee = 0, J = te = M.data("style").width;
                                            break;
                                        case "topleft":
                                            Z = M.data("style").height, ee = 0, J = M.data("style").width, te = 0;
                                            break;
                                        case "topright":
                                            Z = M.data("style").height, ee = 0, J = -M.data("style").width, te = 0;
                                            break;
                                        case "bottomleft":
                                            Z = -M.data("style").height, ee = 0, J = M.data("style").width, te = 0;
                                            break;
                                        case "bottomright":
                                            Z = -M.data("style").height, ee = 0, J = -M.data("style").width, te = 0
                                    }
                                    switch (this.scale2D = d.transition.scale ? d.transition.scale : 1, 1 == w && 1 != this.scale2D && (Z /= 2, ee /= 2, J /= 2, te /= 2), d.transition.type) {
                                        case "fade":
                                            Z = ee = J = te = 0, ie = 0, se = 1;
                                            break;
                                        case "mixed":
                                            ie = 0, se = 1, 1 == this.scale2D && (ee = te = 0)
                                    }
                                    if ((d.transition.rotate || d.transition.rotateX || d.transition.rotateY || 1 != this.scale2D) && "slide" != d.transition.type ? M.css({
                                            overflow: "visible"
                                        }) : M.css({
                                            overflow: "hidden"
                                        }), 1 == w ? this.$curTiles.css({
                                            overflow: "visible"
                                        }) : this.$curTiles.css({
                                            overflow: "hidden"
                                        }), !0 === x || "slide" == d.transition.type || !0 === w ? (K = M.appendTo(this.$curTiles), j = M.clone().appendTo(this.$nextTiles), C = e("<div>").addClass("ls-curtile").appendTo(K)) : j = M.appendTo(this.$nextTiles), k = e("<div>").addClass("ls-nexttile").appendTo(j), q = c[T] * d.tile.delay / 1e3, U = d.transition.rotate ? d.transition.rotate : 0, G = d.transition.rotateX ? d.transition.rotateX : 0, Q = d.transition.rotateY ? d.transition.rotateY : 0, "prev" == h && (U = -U, G = -G, Q = -Q), o.transitions._slideTransition.fromTo(k[0], d.transition.duration / 1e3, {
                                            immediateRender: !1,
                                            autoCSS: !1,
                                            css: {
                                                x: -J,
                                                y: -Z,
                                                display: "block",
                                                opacity: ie,
                                                rotation: U,
                                                rotationX: G,
                                                rotationY: Q,
                                                scale: this.scale2D
                                            }
                                        }, {
                                            autoCSS: !1,
                                            css: {
                                                x: 0,
                                                y: 0,
                                                opacity: se,
                                                rotation: 0,
                                                rotationX: 0,
                                                rotationY: 0,
                                                scale: 1
                                            },
                                            ease: o.functions.convert.easing(d.transition.easing)
                                        }, q), 1 == x && (void 0 === o.transitions.nextSlide.data.$background || void 0 !== o.transitions.nextSlide.data.$background && (-1 != o.transitions.nextSlide.data.$background.attr("src").toLowerCase().indexOf("png") || o.transitions.nextSlide.data.$background.width() < o.slider.width || o.transitions.nextSlide.data.$background.height() < o.slider.height)) && (ae.opacity = 0), ("slide" == d.transition.type || 1 == w) && -1 == d.name.toLowerCase().indexOf("mirror")) {
                                        var oe = 0;
                                        0 !== U && (oe = -U), ae.x = te, ae.y = ee, ae.rotation = oe, ae.scale = this.scale2D, ae.opacity = ie
                                    }
                                    void 0 !== C && o.transitions._slideTransition.to(C[0], d.transition.duration / 1e3, {
                                        autoCSS: !1,
                                        css: ae,
                                        ease: o.functions.convert.easing(d.transition.easing)
                                    }, q)
                                }
                                I = T % u * s, O = Math.floor(T / u) * a, void 0 !== o.transitions.curSlide.data.$background && (L = o.transitions.curSlide.data.$background.data(o.defaults.init.dataKey), "3d" === t || "2d" === t && (!0 === x || "slide" === d.transition.type || !0 === w) ? C.append(e("<img>").attr("src", g).css({
                                    width: L.responsive.width,
                                    height: L.responsive.height,
                                    "-webkit-filter": L.responsive.filter,
                                    filter: L.responsive.filter,
                                    "-ms-transform": "translateX(" + (L.responsive.x - I) + "px) translateY(" + (L.responsive.y - O) + "px)" + L.responsive.kbRotation + L.responsive.kbScale,
                                    "-webkit-transform": "translateX(" + (L.responsive.x - I) + "px) translateY(" + (L.responsive.y - O) + "px)" + L.responsive.kbRotation + L.responsive.kbScale,
                                    transform: "translateX(" + (L.responsive.x - I) + "px) translateY(" + (L.responsive.y - O) + "px)" + L.responsive.kbRotation + L.responsive.kbScale
                                })) : 0 === this.$curTiles.children().length && this.$curTiles.css("background-color", o.transitions.curSlide.data.backgroundColor).append(e("<img>").attr("src", g).css({
                                    width: L.responsive.width,
                                    height: L.responsive.height,
                                    "-webkit-filter": L.responsive.filter,
                                    filter: L.responsive.filter,
                                    "-ms-transform": "translateX(" + L.responsive.x + "px) translateY(" + L.responsive.y + "px)" + L.responsive.kbRotation + L.responsive.kbScale,
                                    "-webkit-transform": "translateX(" + L.responsive.x + "px) translateY(" + L.responsive.y + "px)" + L.responsive.kbRotation + L.responsive.kbScale,
                                    transform: "translateX(" + L.responsive.x + "px) translateY(" + L.responsive.y + "px)" + L.responsive.kbRotation + L.responsive.kbScale
                                }))), "transparent" === o.transitions.curSlide.data.backgroundColor || o.transitions.curSlide.data.$backgroundVideo.length || ("3d" === t || "2d" === t && (!0 === x || "slide" === d.transition.type || !0 === w) ? C.css("background-color", o.transitions.curSlide.data.backgroundColor) : 0 === this.$curTiles.children().length && this.$curTiles.css("background-color", o.transitions.curSlide.data.backgroundColor)), void 0 !== o.transitions.nextSlide.data.$background && (P = ($ = o.transitions.nextSlide.data.$background.data(o.defaults.init.dataKey)).kenBurns[y], k.append(e("<img>").attr("src", v).css({
                                    width: $.responsive.width,
                                    height: $.responsive.height,
                                    "-webkit-filter": o.transitions.nextSlide.filter.from || "none",
                                    filter: o.transitions.nextSlide.filter.from || "none",
                                    "-ms-transform": "translateX(" + ($.responsive.x - I) + "px) translateY(" + ($.responsive.y - O) + "px) rotate(" + P.rotation + "deg) scale(" + P.scale + ")",
                                    "-webkit-transform": "translateX(" + ($.responsive.x - I) + "px) translateY(" + ($.responsive.y - O) + "px) rotate(" + P.rotation + "deg) scale(" + P.scale + ")",
                                    transform: "translateX(" + ($.responsive.x - I) + "px) translateY(" + ($.responsive.y - O) + "px) rotate(" + P.rotation + "deg) scale(" + P.scale + ")"
                                }))), "transparent" === o.transitions.nextSlide.data.backgroundColor || o.transitions.nextSlide.data.$backgroundVideo.length || k.css("background-color", o.transitions.nextSlide.data.backgroundColor)
                            }
                            o.transitions.slide.$wrapper.prependTo(o.o.preferBlendMode ? o.slider.$layersWrapper : o.slider.$innerWrapper), o.transitions.slide.start()
                        },
                        createCuboids: function(t, i, s, a, o, r, n, l, d, u) {
                            var p = "translate3d( " + o + "px, " + r + "px, " + n + "px)";
                            0 !== l && (p += "rotateX( " + l + "deg)"), 0 !== d && (p += "rotateY( " + d + "deg)");
                            var c = {
                                width: s,
                                height: a,
                                transform: p,
                                "-ms-transform": p,
                                "-webkit-transform": p
                            };
                            u && (c["transform-origin"] = u, c["-ms-transform-origin"] = u, c["-webkit-transform-origin"] = u), e("<div>").addClass(t).css(c).appendTo(i)
                        }
                    }
                },
                layers: { in : {
                        onStart: function(e) {
                            e.data(o.defaults.init.dataKey).hover.enabled && o.transitions.layers.hover.enable(e)
                        },
                        onComplete: function(e) {
                            o.media.playIfAllowed(e)
                        }
                    }, out: {
                        forced: function() {
                            if (o.transitions._forceLayersOut) {
                                if (o.transitions._slideTimeline) {
                                    var t, i, s = new r.TimelineMax({
                                            paused: !0,
                                            autoRemoveChildren: !0
                                        }),
                                        a = [],
                                        n = o.layers.get("current, in, static, active").add(o.layers.get("current, out, static, active")),
                                        l = o.layers.get("current, out, notstatic, active"),
                                        d = o.layers.get("current, out, active"),
                                        u = function(e) {
                                            s.add(e, 100 - e.duration() * e.progress())
                                        };
                                    e().add(n).add(l).each(function() {
                                        var s = e(this).data(o.defaults.init.dataKey);
                                        if (s.loop._timeline && (o.transitions._slideTimeline.remove(s.loop._timeline), s.loop._timeline.play()), s.is.static) {
                                            t = [s.elements.$wrapper[0]], s.elements.$clipWrapper && (t = t.concat(s.elements.$clipWrapper[0])), s.textIn.nodes && (t = t.concat(s.textIn.nodes));
                                            for (var r = 0; r < t.length; r++) a = a.concat(o.transitions._slideTimeline.getTweensOf(t[r], !0));
                                            for (var n = 0; n < a.length; n++) a[n].duration && 0 !== a[n].duration() && (i = a[n], u(i))
                                        }
                                    }), d.each(function() {
                                        e(this).data(o.defaults.init.dataKey).should.reset = !0
                                    }), s.play().seek(100), o.transitions._slideTimeline.stop().clear()
                                }
                                o.transitions._forceLayersOut.play()
                            }
                            o.slider.$layersWrapper.find(".ls-link").css({
                                display: "none"
                            })
                        },
                        onStart: function(e) {},
                        onComplete: function(e) {
                            var t = e.data(o.defaults.init.dataKey);
                            (o.slider.state.changingSlides || t.settings.slideOut !== o.slides.current.index) && o.transitions.layers.reset(e, t), t.hover.enabled && o.transitions.layers.hover.disable(e)
                        }
                    }, reset: function(e, t) {
                        t.loop._timeline && (t.loop._timeline.stop().clear(), delete t.loop._timeline, r.TweenMax.set(t.elements.$loopWrapper[0], t.reset.loopWrapperOnSlideChange)), r.TweenMax.set(t.elements.$wrapper[0], t.reset.wrapperOnSlideChange), r.TweenMax.set(e[0], {
                            "-webkit-filter": "none",
                            filter: "none"
                        }), t.should.update && (t.textInNodesFrom.random = {}, t.textOutNodesTo.random = {}, o.layers.update.data(e)), t.should.reset = !1
                    }, timeline: {
                        shouldRestart: !1,
                        create: function(t) {
                            var s, n, l, d, u = t ? "current" : "next";
                            o.transitions.curNext = u, o.transitions.layers.timeline.shouldRestart = !1, o.transitions.layers.timeline.resetStates(), o.transitions._slideTimeline && (o.transitions._slideTimeline.pause().progress(0).kill().clear(!0), o.transitions._slideTimeline = null), o.transitions._slideTimeline = new r.TimelineMax({
                                paused: !0,
                                onStart: function() {
                                    o.api.hasEvent("slideTimelineDidStart") && i.triggerHandler("slideTimelineDidStart", o.api.eventData())
                                },
                                onReverseComplete: function() {
                                    o.api.hasEvent("slideTimelineDidReverseComplete") && i.triggerHandler("slideTimelineDidReverseComplete", o.api.eventData()), o.transitions.layers.timeline.shouldReplay && (o.transitions.layers.timeline.shouldRestart = !1, o.transitions._slideTimeline.play())
                                },
                                onUpdate: function(e) {
                                    o.api.hasEvent("slideTimelineDidUpdate") && i.triggerHandler("slideTimelineDidUpdate", e)
                                },
                                onUpdateParams: ["{self}"]
                            }), this.totalDuration = 0, this.progress = 1, o.transitions._forceLayersOut = new r.TimelineMax({
                                paused: !0,
                                autoRemoveChildren: !0
                            }), s = o.layers.get(u + ", in, notactive"), n = o.layers.get(u + ", out, notstatic").add(o.layers.get(u + ", out, active, static")), l = o.layers.get(u + ", in, bgonly, notactive"), d = e().add(s).add(n).add(l), this.addLayers(s, "in", o.transitions._slideTimeline, o.transitions._forceLayersOut), this.addLayers(n, "out", o.transitions._slideTimeline, o.transitions._forceLayersOut), -1 !== o.slides[u].data.duration && o.slides[u].data.duration < this.totalDuration ? (this.progress = o.slides[u].data.duration / this.totalDuration, o.debugMode && o.debug.add("warn", "slideTimeline.duration", [o.slides[u].data.duration, this.totalDuration])) : o.transitions._slideTimeline.duration() > this.totalDuration && (this.progress = this.totalDuration / o.transitions._slideTimeline.duration()), -1 === o.slides[u].data.duration ? (o.slides[u].data.duration = this.totalDuration, o.slides[o.slides[u].index].data.duration = this.totalDuration) : this.totalDuration = o.slides[u].data.duration, this.addLayers(l, "in", o.transitions._slideTimeline, o.transitions._forceLayersOut), !0 === o.transitions.layers.timeline.shouldRestart && o.debugMode && o.debug.add("warn", "slideTimeline.restart", o.o.allowRestartOnResize ? "enabled" : "disabled");
                            for (var p = 0; p < d.length; p++) e(d[p]).data(o.defaults.init.dataKey).parallax.enabled && e(d[p]).data(o.defaults.init.dataKey).elements.$parallaxWrapper.attr("data-ls-parallax", "active");
                            if (o.transitions.layers.parallax.trigger(), o.api.hasEvent("slideTimelineDidCreate") && i.triggerHandler("slideTimelineDidCreate", {
                                    slideTimeline: o.transitions._slideTimeline,
                                    layersOnSlideTimeline: d,
                                    slideTimelineDuration: this.totalDuration
                                }), o.transitions.timers.create(), o.transitions.timers.bar._transition && o.transitions._slideTimeline.add(o.transitions.timers.bar._transition.play(), 0), o.transitions.timers.circle._transition && o.transitions._slideTimeline.add(o.transitions.timers.circle._transition.play(), 0), o.transitions.timers.slidebar._transition && o.transitions._slideTimeline.add(o.transitions.timers.slidebar._transition.play(), 0), o.transitions._slideTimeline.call(function() {
                                    if (!o.transitions._slideTimeline.reversed()) {
                                        if (o.api.hasEvent("slideTimelineDidComplete") && !1 === i.triggerHandler("slideTimelineDidComplete", o.api.eventData())) return;
                                        o.functions.setStates(o.transitions.layers.timeline, {
                                            finished: !0
                                        }), !o.slideshow.isPaused() && o.slideshow.state.running ? o.slideshow.changeTo(o.slides.next.index) : o.slideshow.state.pausedByLastCycle && o.transitions.timers.reverse()
                                    }
                                }, [], this, o.slides[u].data.duration), o.slides.next.data.$link && o.slides.next.data.$link.css({
                                    display: "block"
                                }), (!o.o.startInViewport || "inside" !== o.slider.positionToViewport && !o.o.playByScrollStart) && o.o.startInViewport || !(o.slider.isPopup && o.slider.state.popupIsVisible && o.slider.state.popupShouldStart) && o.slider.isPopup || (o.o.pauseLayers && o.slideshow.isPaused() && o.transitions._slideTimeline.timeScale(0), o.transitions.layers.timeline.play(), o.o.playByScroll && "up" === o.device.scroll.directionAtSlideTransitionStart && o.transitions._slideTimeline.progress(1)), i.trigger("mouseleave.globalhover" + a), i.off("mouseenter.globalhover" + a + " mouseleave.globalhover" + a + " mousemove.globalhover" + a), o.slides[u].data.globalhover) {
                                var c = o.layers.get(u + ",in,notactive").add(o.layers.get("static,active"));
                                i.on("mouseenter.globalhover" + a, function() {
                                    c.each(function() {
                                        o.transitions.layers.hover.mouseEnter(e(this), e(this).data(o.defaults.init.dataKey))
                                    })
                                }), i.on("mouseleave.globalhover" + a, function() {
                                    c.each(function() {
                                        o.transitions.layers.hover.mouseLeave(e(this), e(this).data(o.defaults.init.dataKey))
                                    })
                                }), i.on("mousemove.globalhover" + a, function() {
                                    c.each(function() {
                                        o.transitions.layers.hover.mouseMove(e(this), e(this).data(o.defaults.init.dataKey))
                                    })
                                })
                            }
                        },
                        prepare: function() {
                            o.slides.next.data.overflow && "hidden" !== o.slides.next.data.overflow ? (o.slider.$layersWrapper.addClass("ls-visible"), o.slider.$slideBGWrapper.addClass("ls-visible")) : (o.slider.$layersWrapper.removeClass("ls-visible"), o.slider.$slideBGWrapper.removeClass("ls-visible")), this.create()
                        },
                        getTiming: function(t, i, s, a) {
                            if ("number" == typeof i) return i;
                            i = i.toLowerCase();
                            var r, n, l, d, u, p = o.defaults.layer.timelineHierarchy,
                                c = 0;
                            if (-1 !== i.indexOf("*") && (u = "*"), -1 !== i.indexOf("/") && (u = "/"), -1 !== i.indexOf("+") && (u = "+"), -1 !== i.indexOf("-") && (u = "-"), u)
                                if (d = i.split(u), r = e.trim(d[0]), l = parseInt(e.trim(d[1])), p[r] && -1 !== p[s][1].indexOf(p[r][0]))
                                    if (n = "number" == typeof t.timeline[r] ? t.timeline[r] : t.timeline[r](t), a) c = l / 1e3;
                                    else switch (u) {
                                        case "*":
                                            c = n * l;
                                            break;
                                        case "/":
                                            c = n / l;
                                            break;
                                        case "+":
                                            c = n + l / 1e3;
                                            break;
                                        case "-":
                                            c = n - l / 1e3
                                    } else o.debugMode && (p[r] || o.debug.add("warn", "layerTransition.timing1", r), -1 === p[s][1].indexOf(p[r][0]) && o.debug.add("warn", "layerTransition.timing3", [r, p[r], s, p[s]])), ("+" === u || a) && (c = l / 1e3);
                            else p[r = e.trim(i)] && -1 !== p[s][1].indexOf(p[r][0]) ? c = a ? 0 : "number" == typeof t.timeline[r] ? t.timeline[r] : t.timeline[r](t) : o.debugMode && (p[r] ? -1 === p[s][1].indexOf(p[r][0]) && o.debug.add("warn", "layerTransition.timing3", [r, p[r], s, p[s]]) : o.debug.add("warn", "layerTransition.timing1", r));
                            return (c !== c || c < 0) && (o.debugMode && o.debug.add("warn", "layerTransition.timing2", [s, r, c]), c = 0), c
                        },
                        addLayers: function(t, i, s, a) {
                            for (var n = 0, l = t.length; n < l; n++) {
                                var d, u = e(t[n]),
                                    p = u.data(o.defaults.init.dataKey),
                                    c = p.elements.$wrapper,
                                    h = p.elements.$clipWrapper,
                                    m = p.elements.$loopWrapper;
                                if (p.should.reset && o.transitions.layers.reset(u, p), u.hasClass("ls-bg")) p.kenBurns.zoom && s.fromTo(u.closest(".ls-bg-wrap"), o.transitions.nextSlide.data.duration + o.transitions.nextSlide.data.calculatedTimeShift, {
                                    autoCSS: !1,
                                    css: p.kenBurns.from
                                }, {
                                    autoCSS: !1,
                                    css: p.kenBurns.to,
                                    ease: r.Quad.easeInOut
                                }, -o.transitions.nextSlide.data.calculatedTimeShift), e.isEmptyObject(p.filter.values.bgFrom) && e.isEmptyObject(p.filter.values.bgTo) || (p.filter.transitions.bg || (p.filter.transitions.bg = o.transitions.layers.filters.createTransition(p, "bg", p.filter.values.bgFrom, p.filter.values.bgTo)), s.to([{
                                    p: 0
                                }, u[0]], o.transitions.nextSlide.data.duration, {
                                    p: 1,
                                    autoCSS: !1,
                                    ease: r.Sine.easeInOut,
                                    onUpdate: o.transitions.layers.filters.animate,
                                    onUpdateParams: ["{self}", p.filter.transitions.bg]
                                }, 0));
                                else switch (i) {
                                    case "in":
                                        if (p.in.enabled && (p.settings.timelineIsCalculated || ("number" != typeof p.in.startAt && (p.in.startAt = 0), p.timeline.transitioninstart = p.in.startAt, p.timeline.transitioninend = p.timeline.transitioninstart + p.in.duration), o.resize.transformProperties(u, p.inLayerFromCSS, p.inLayerShouldBeConverted), o.resize.styleProperties(p.inLayerStyleFromCSS, p.inLayerStyleShouldBeConvertedFrom), o.resize.styleProperties(p.inLayerStyleToCSS, p.inLayerStyleShouldBeConvertedTo), p.inLayerFromCSS.transformPerspective = p.transformPerspective.layer * o.resize.ratio, p.clip.enabled && (p.original.clip || (p.original.clip = p.clip.min, p.original.clipShouldBeConverted = !0), p.inClipShouldBeConverted.clip ? (p.inClipFromCSS.clip = o.resize.clip(u, p.inClipShouldBeConverted.clip, !0), p.inClipToCSS.clip = o.resize.clip(u, p.original.clip, p.original.clipShouldBeConverted), s.fromTo(h[0], p.in.duration, p.inClipFrom, p.inClipTo, p.timeline.transitioninstart)) : r.TweenMax.set(h[0], {
                                                clip: o.resize.clip(u, p.original.clip, p.original.clipShouldBeConverted)
                                            }), o.transitions.layers.timeline.shouldRestart = !0), e.isEmptyObject(p.filter.values.in) ? e.isEmptyObject(p.filter.values.out) || u.css("filter", p.original.filter) : (p.filter.transitions.in || (p.filter.transitions.in = o.transitions.layers.filters.createTransition(p, "in", p.filter.values.in, p.filter.values.style)), s.to([{
                                                p: 0
                                            }, u[0]], p.in.duration, {
                                                p: 1,
                                                autoCSS: !1,
                                                ease: p.inLayerTo.ease,
                                                onUpdate: o.transitions.layers.filters.animate,
                                                onUpdateParams: ["{self}", p.filter.transitions.in]
                                            }, p.timeline.transitioninstart)), s.fromTo(c[0], p.in.duration, p.inLayerFrom, p.inLayerTo, p.timeline.transitioninstart), s.fromTo(u[0], p.in.duration, p.inLayerStyleFrom, p.inLayerStyleTo, p.timeline.transitioninstart)), p.is.textLayer && ((p.textIn.type || p.textOut.type) && o.transitions.layers.splitType.resetNodes(u, p), p.textIn.enabled && (p.in.enabled || s.to(c[0], 0, e.extend(!0, {}, p.inLayerTo, p.init.wrapper), p.timeline.textinstart), p.textIn.nodes = o.transitions.layers.splitType.setNodesSequence(p.textIn.type.split("_"), p.textIn.ns), o.resize.transformProperties(u, p.textInNodesFrom, p.textInShouldBeConverted), p.textInNodesFrom.transformPerspective = p.transformPerspective.text * o.resize.ratio, e.isEmptyObject(p.textInShouldBeConverted.random) || o.transitions.layers.splitType.setRandomProperties(p, p.textInShouldBeConverted.random, p.textInNodesFrom), e.isEmptyObject(p.textInNodesFrom.random) || o.transitions.layers.splitType.setRandomProperties(p, p.textInNodesFrom.random, p.textInNodesFrom), delete p.textInNodesFrom.random, p.settings.timelineIsCalculated || (p.timeline.textinstart = this.getTiming(p, p.textIn.startAt, "textinstart"), p.timeline.textinend = p.timeline.textinstart + (p.textIn.nodes.length - 1) * p.textIn.shiftNodes + p.textIn.duration), s.staggerFromTo(p.textIn.nodes, p.textIn.duration, p.textInNodesFrom, p.textInNodesTo, p.textIn.shiftNodes, p.timeline.textinstart, function(e) {
                                                o.transitions.layers.in.onComplete(e)
                                            }, [u]))), p.is.keyframe && o.o.playByScroll && s.addPause(p.timeline.allinend(), function() {
                                                setTimeout(function() {
                                                    delete o.timeouts.scroll, o.transitions.layers.timeline.timeScaleModifier = 0, o.device.scroll.timeout = 250
                                                }, 500)
                                            }), p.loop.enabled) {
                                            var f = new r.TimelineMax({
                                                repeat: p.loop.repeat,
                                                repeatDelay: p.loop.repeatDelay,
                                                yoyo: p.loop.yoyo,
                                                paused: !0
                                            });
                                            p.settings.timelineIsCalculated && !p.is.static || (p.timeline.loopstart = this.getTiming(p, p.loop.startAt, "loopstart"), p.timeline.loopend = -1 !== p.loop.count && p.timeline.loopstart + (p.loop.repeat + 1) * p.loop.duration + p.loop.repeat * p.loop.repeatDelay), p.loop._timeline = f, o.resize.transformProperties(u, p.loopToCSS, {
                                                x: p.loopLayerShouldBeConverted.x,
                                                y: p.loopLayerShouldBeConverted.y
                                            }), (p.loopToCSS.x && 0 !== p.loopToCSS.x || p.loopToCSS.y && 0 !== p.loopToCSS.y) && (o.transitions.layers.timeline.shouldRestart = !0), p.loopFromCSS.transformOrigin = o.functions.convert.transformOrigin(p.loopLayerShouldBeConverted.transformOrigin, u), p.loopFromCSS.transformPerspective = p.transformPerspective.loop * o.resize.ratio, e.isEmptyObject(p.filter.values.loop) || (p.filter.transitions.loop || (p.filter.transitions.loop = o.transitions.layers.filters.createTransition(p, "loop", e.isEmptyObject(p.filter.values.afterIn) ? p.filter.values.style : p.filter.values.afterIn, p.filter.values.loop)), f.to([{
                                                p: 0
                                            }, u[0]], p.loop.duration, {
                                                p: 1,
                                                autoCSS: !1,
                                                ease: p.loopTo.ease,
                                                onUpdate: o.transitions.layers.filters.animate,
                                                onUpdateParams: ["{self}", p.filter.transitions.loop]
                                            }, 0)), f.fromTo(m[0], p.loop.duration, p.loopFrom, p.loopTo, 0), p.loopClipShouldBeConverted.clip && (p.loopClipToCSS.clip = o.resize.clip(u, p.loopClipShouldBeConverted.clip, !0), f.to(h[0], p.loop.duration, p.loopClipTo, 0), o.transitions.layers.timeline.shouldRestart = !0), -1 !== p.loop.repeat && ("looplayers" === o.o.pauseOnHover || o.gui.timers.slidebar.$element || o.o.playByScroll) ? (s.add(f, p.timeline.loopstart), f.play()) : s.addCallback(function(e) {
                                                e.play()
                                            }, p.timeline.loopstart, [f])
                                        }
                                        p.is.static && (p.timeline.staticfrom = p.timeline.transitioninend, p.timeline.staticto = "100%", p.settings.timelineIsCalculated || (d = Math.max(p.timeline.allinandloopend(), 0), this.totalDuration = Math.max(this.totalDuration, d)));
                                        break;
                                    case "out":
                                        p.is.textLayer && p.textOut.enabled && (p.textOut.nodes = o.transitions.layers.splitType.setNodesSequence(p.textOut.type.split("_"), p.textOut.ns), o.resize.transformProperties(u, p.textOutNodesTo, p.textOutShouldBeConverted, p.textOutNodesFrom), p.textOutNodesFrom.transformPerspective = p.transformPerspective.text * o.resize.ratio, e.isEmptyObject(p.textOutShouldBeConverted.random) || o.transitions.layers.splitType.setRandomProperties(p, p.textOutShouldBeConverted.random, p.textOutNodesTo), e.isEmptyObject(p.textOutNodesTo.random) || o.transitions.layers.splitType.setRandomProperties(p, p.textOutNodesTo.random, p.textOutNodesTo), delete p.textOutNodesTo.random, p.settings.timelineIsCalculated || (p.timeline.textoutstart = this.getTiming(p, p.textOut.startAt, "textoutstart"), p.timeline.textoutend = p.timeline.textoutstart + (p.textOut.nodes.length - 1) * p.textOut.shiftNodes + p.textOut.duration), p.clip.enabled && (void 0 === p.outClipShouldBeConverted.clip && s.to(h[0], 0, {
                                            immediateRender: !1,
                                            css: {
                                                clip: o.resize.clip(u, p.clip.max)
                                            }
                                        }, p.timeline.textoutstart), o.transitions.layers.timeline.shouldRestart = !0), s.staggerFromTo(p.textOut.nodes, p.textOut.duration, p.textOutNodesFrom, p.textOutNodesTo, p.textOut.shiftNodes, p.timeline.textoutstart)), o.resize.transformProperties(u, p.outLayerToCSS, p.outLayerShouldBeConverted, p.outLayerFromCSS), o.resize.styleProperties(p.outLayerStyleFromCSS, p.outLayerStyleShouldBeConvertedFrom), o.resize.styleProperties(p.outLayerStyleToCSS, p.outLayerStyleShouldBeConvertedTo), p.outLayerFromCSS.transformPerspective = p.transformPerspective.layer * o.resize.ratio, "slidechangeonly" !== p.out.startAt ? (p.settings.timelineIsCalculated && !p.is.static || (p.is.static ? (p.timeline.staticfrom = 0, p.timeline.transitionoutstart = this.getTiming(p, p.out.startAt, "transitionoutstart", !0), p.timeline.staticto = p.timeline.transitionoutstart) : p.timeline.transitionoutstart = Math.max(this.getTiming(p, p.out.startAt, "transitionoutstart"), p.timeline.transitioninend), p.timeline.transitionoutend = p.timeline.transitionoutstart + p.out.duration), p.clip.enabled && (void 0 === p.outClipShouldBeConverted.clip ? s.to(h[0], 0, {
                                            immediateRender: !1,
                                            css: {
                                                clip: o.resize.clip(u, p.clip.max)
                                            }
                                        }, p.timeline.transitionoutstart) : (p.outClipToCSS.clip = o.resize.clip(u, p.outClipShouldBeConverted.clip, !0), s.to(h[0], p.out.duration, p.outClipTo, p.timeline.transitionoutstart)), o.transitions.layers.timeline.shouldRestart = !0), e.isEmptyObject(p.filter.values.out) || (p.filter.transitions.out || (p.filter.transitions.out = o.transitions.layers.filters.createTransition(p, "out", e.isEmptyObject(p.filter.values.afterLoop) ? e.isEmptyObject(p.filter.values.afterIn) ? p.filter.values.style : p.filter.values.afterIn : p.filter.values.afterLoop, p.filter.values.out)), s.to([{
                                            p: 0
                                        }, u[0]], p.out.duration, {
                                            p: 1,
                                            autoCSS: !1,
                                            ease: p.outLayerTo.ease,
                                            onUpdate: o.transitions.layers.filters.animate,
                                            onUpdateParams: ["{self}", p.filter.transitions.out]
                                        }, p.timeline.transitionoutstart)), s.fromTo(c[0], p.out.duration, p.outLayerFrom, p.outLayerTo, p.timeline.transitionoutstart), s.fromTo(u[0], p.out.duration, p.outLayerStyleFrom, p.outLayerStyleTo, p.timeline.transitionoutstart), s.fromTo(c[0], 0, p.init.wrapper, p.reset.wrapperOnTimelineEnd, p.timeline.transitionoutend)) : (p.timeline.staticfrom = 0, p.timeline.staticto = "100%"), (!p.is.static || p.is.static && p.settings.slideOut === o.slides.next.index) && (a.fromTo(c[0], o.o.forceLayersOutDuration, p.outLayerFrom, p.outLayerTo, 0), a.fromTo(u[0], o.o.forceLayersOutDuration, p.outLayerStyleFrom, p.outLayerStyleTo, 0), p.clip.enabled && void 0 !== p.outClipShouldBeConverted.clip && (p.outClipToCSS.clip = o.resize.clip(u, p.outClipShouldBeConverted.clip, !0), a.to(h[0], o.o.forceLayersOutDuration, p.outClipTo, 0))), d = Math.max(p.timeline.alloutandloopend(), 0), this.totalDuration = Math.max(this.totalDuration, d), p.settings.timelineIsCalculated = !0
                                }
                            }
                        },
                        play: function() {
                            o.transitions._slideTimeline && (o.transitions._slideTimeline.play(), o.functions.setStates(this, {
                                started: !0,
                                running: !0,
                                stopped: !1,
                                paused: !1
                            }))
                        },
                        pause: function(t) {
                            var t = e.isNumeric(t) ? t : .75;
                            o.transitions._slideTimeline && (r.TweenMax.to(o.transitions._slideTimeline, t, {
                                timeScale: 0
                            }), o.functions.setStates(this, {
                                paused: !0,
                                stopped: !1
                            }))
                        },
                        resume: function() {
                            o.transitions._slideTimeline && (r.TweenMax.to(o.transitions._slideTimeline, .75, {
                                timeScale: 1
                            }), o.functions.setStates(this, {
                                paused: !1,
                                stopped: !1
                            }))
                        },
                        reverse: function() {
                            o.transitions._slideTimeline && o.transitions._slideTimeline.reverse()
                        },
                        scrollForward: function() {
                            if (this.play(), this.modifyTimeScale(), o.transitions._slideTimeline && !o.slider.isBusy() && (0 === o.transitions._slideTimeline.totalDuration() || 1 === o.transitions._slideTimeline.progress()) && "down" === o.device.scroll.direction) {
                                var e = o.slideshow.sequence.normalized;
                                e.indexOf(o.slides.current.index) === e.length - 1 ? (o.slider.positionToViewport = "under", o.device.scroll.enable()) : o.navigation.next()
                            }
                        },
                        scrollBackwards: function() {
                            this.reverse(), this.modifyTimeScale(), o.transitions._slideTimeline && (o.slider.isBusy() || 0 !== o.transitions._slideTimeline.totalDuration() && 0 !== o.transitions._slideTimeline.progress() || "up" !== o.device.scroll.direction || (0 === o.slideshow.sequence.normalized.indexOf(o.slides.current.index) ? (o.slider.positionToViewport = "over", o.device.scroll.enable()) : o.navigation.prev()))
                        },
                        modifyTimeScale: function() {
                            if (o.transitions._slideTimeline) {
                                var e = this;
                                r.TweenMax.to(o.transitions._slideTimeline, .25, {
                                    timeScale: 1 + e.timeScaleModifier
                                })
                            }
                        },
                        resetStates: function() {
                            this.state = {
                                started: !1,
                                running: !1,
                                paused: !1,
                                stopped: !1,
                                finished: !1
                            }
                        }
                    }, hover: {
                        enable: function(e) {
                            e.attr("data-ls-canhover", "1")
                        },
                        disable: function(e) {
                            e.attr("data-ls-canhover", "0")
                        },
                        set: function(e, t) {
                            t.elements.$wrapper.on("mouseenter." + a, function() {
                                o.transitions.layers.hover.mouseEnter(e, t)
                            }), t.elements.$wrapper.on("mouseleave." + a, function() {
                                o.transitions.layers.hover.mouseLeave(e, t)
                            }), t.elements.$wrapper.on("mousemove." + a, function() {
                                o.transitions.layers.hover.mouseMove(e, t)
                            })
                        },
                        createTimeline: function(e, t) {
                            if (t.hover._timeline = new r.TimelineMax({
                                    paused: !0,
                                    onReverseComplete: function(e, t) {
                                        t.hover._timeline._reversed && (t.hover._timeline.stop().clear(), delete t.hover._timeline)
                                    },
                                    onReverseCompleteParams: [e, t]
                                }), o.resize.transformProperties(e, t.hoverToCSS, t.hoverShouldBeConverted, t.hoverFromCSS), o.resize.styleProperties(t.hoverToCSS, t.hoverShouldBeConverted), t.hoverFromCSS.transformPerspective = t.transformPerspective.hover * o.resize.ratio, t.hover._tween = r.TweenMax.fromTo(e[0], t.hover.durationIn, t.hoverFrom, t.hoverTo), t.hover._timeline.add(t.hover._tween, 0), t.hover.alwaysOnTop) {
                                var i = {
                                    zIndex: 9999
                                };
                                o.browser.isSafari && (i.transform = "translateZ(999999px)"), t.hover._timeline.to(t.elements.$outerWrapper[0], t.hover.durationIn, {
                                    autoCSS: !1,
                                    css: i
                                }, 0)
                            }
                            t.hover.reverseTimeScale = t.hover.durationIn / t.hover.durationOut == 1 ? 1 : t.hover.durationIn / t.hover.durationOut, this.hoverIn(e, t)
                        },
                        mouseEnter: function(e, t) {
                            "1" === e.attr("data-ls-canhover") && (e.attr("data-ls-hovered", 1), t.elements.$wrapper.off("mousemove." + a), t.hover._timeline ? (t.hover._timeline.play().stop().progress(0), this.hoverIn(e, t)) : this.createTimeline(e, t))
                        },
                        mouseLeave: function(e, t) {
                            t.hover._timeline && (t.hover._timeline.stop().progress(1), this.hoverOut(e, t)), e.removeAttr("data-ls-hovered")
                        },
                        mouseMove: function(e, t) {
                            e.attr("data-ls-hovered") || this.mouseEnter(e, t)
                        },
                        hoverIn: function(e, t) {
                            t.hover._tween.updateTo({
                                ease: t.hover.easeIn
                            }), t.hover._timeline.play().timeScale(1)
                        },
                        hoverOut: function(e, t) {
                            t.hover._tween.updateTo({
                                ease: t.hover.easeOut
                            }), t.hover._timeline.reverse().timeScale(t.hover.reverseTimeScale)
                        }
                    }, parallax: {
                        defaultProperties: {
                            type: "2d",
                            event: "cursor",
                            x: !0,
                            y: !0,
                            rotation: 10,
                            distance: 10,
                            durationMove: 1.5,
                            durationLeave: 1.2,
                            transformOrigin: "50% 50% 0",
                            transformPerspective: 500
                        },
                        defaults: {
                            scrollModifier: 5,
                            centerLayers: "center",
                            centerDegree: 40,
                            sensitive: 10
                        },
                        state: {
                            enabled: !1,
                            ready: !1
                        },
                        wrappers: {
                            cursor: {
                                $2d: e(),
                                $3d: e()
                            },
                            scroll: {
                                $2d: e(),
                                $3d: e()
                            }
                        },
                        init: function() {
                            var t = this;
                            i.on("mouseenter." + a, function() {
                                (t.wrappers.cursor.$2d.length || t.wrappers.cursor.$3d.length) && t.calculateTransformProperties()
                            }), i.on("mousemove." + a, function(e) {
                                (t.wrappers.cursor.$2d.length || t.wrappers.cursor.$3d.length) && t.mouseMove(e)
                            }), i.on("mouseleave." + a, function() {
                                (t.wrappers.cursor.$2d.length || t.wrappers.cursor.$3d.length) && t.reset()
                            }), o.device.isMobile && o.device.supportOrientation && (e(window).on("deviceorientation." + a, function() {
                                t.state.ready && t.deviceTurn(event)
                            }), e(window).on("orientationchange." + a, function() {
                                t.calculateTransformProperties()
                            })), e(window).on("scroll.parallax" + a + " touchmove.parallax" + a, function() {
                                (t.wrappers.scroll.$2d.length || t.wrappers.scroll.$3d.length) && t.scroll()
                            }), t.defaults.scrollModifier *= o.o.parallaxScrollReverse ? -1 : 1
                        },
                        addLayer: function(t, i, s, a) {
                            switch (this.state.enabled || (o.functions.setStates(this, {
                                enabled: !0
                            }), this.init()), e.extend(!0, i, this.defaultProperties, o.slides[a].parallax, s.parallax), s.transformPerspective.parallax ? i.transformPerspective = s.transformPerspective.parallax : s.transformPerspective.parallax = i.transformPerspective, i.event.match(/(cursor|scroll)/) || (i.event = "cursor"), i.type.match(/(2d,3d)/) && (i.type = "2d"), i.axis) {
                                case "none":
                                    i.x = !1, i.y = !1;
                                    break;
                                case "x":
                                    i.y = !1;
                                    break;
                                case "y":
                                    i.x = !1
                            }
                            this.wrappers[i.event]["$" + i.type] = this.wrappers[i.event]["$" + i.type].add(t)
                        },
                        addShadow: function() {
                            var t = o.gui.shadow.$element,
                                i = o.slides.current && o.slides.current.parallax ? o.slides.current.index : o.slides.next.index;
                            if (o.slides[i].data.$background && o.slides[i].data.$background.data(o.defaults.init.dataKey).parallax.enabled && o.slides[i].data.overflow && "hidden" !== o.slides[i].data.overflow) {
                                var s, a = "50% -" + .25 * o.slider.height + "px 0",
                                    n = o.slides[i].data.$background.data(o.defaults.init.dataKey).parallax;
                                s = void 0 !== n.rotation ? 2 * n.rotation : void 0 !== o.slides[i].parallax.rotation ? 2 * o.slides[i].parallax.rotation : 2 * this.defaultProperties.rotation, t.data(o.defaults.init.dataKey, {
                                    parallax: e.extend(!0, {}, this.defaultProperties, o.slides[i].parallax, {
                                        level: n.level,
                                        transformOrigin: a,
                                        rotation: s
                                    })
                                }), t.attr("data-ls-parallax", "active"), r.TweenMax.set(t[0], {
                                    transformOrigin: a,
                                    transformPerspective: t.data(o.defaults.init.dataKey).parallax.transformPerspective * o.resize.ratio
                                }), "3d" === o.slides[i].parallax.type || "3d" === n.type ? this.wrappers.cursor.$3d = this.wrappers.cursor.$3d.add(t) : this.wrappers.cursor.$2d = this.wrappers.cursor.$2d.add(t)
                            }
                            this.shadowIsChecked = !0
                        },
                        removeShadow: function() {
                            var e = o.gui.shadow.$element;
                            this.wrappers.cursor.$2d = this.wrappers.cursor.$2d.not(e), this.wrappers.cursor.$3d = this.wrappers.cursor.$3d.not(e), e.attr("data-ls-parallax", "disabled"), this.shadowIsChecked = !1
                        },
                        calculateTransformProperties: function() {
                            e().add(this.wrappers.cursor.$2d).add(this.wrappers.cursor.$3d).add(this.wrappers.scroll.$2d).add(this.wrappers.scroll.$3d).each(function() {
                                var t = e(this).data(o.defaults.init.dataKey).parallax;
                                r.TweenMax.set(e(this)[0], {
                                    transformOrigin: o.functions.convert.transformOrigin(t.transformOrigin, e(this), o.slider.$layersWrapper),
                                    transformPerspective: t.transformPerspective * o.resize.ratio
                                })
                            }), this.transformPropertiesCalculated = !0
                        },
                        deviceTurn: function(e) {
                            if (this.transformPropertiesCalculated) {
                                var t, i, s = window.orientation;
                                0 === s ? (t = 5 * -parseInt(e.gamma) * this.defaults.sensitive * o.resize.ratio, i = 5 * (this.defaults.centerDegree - parseInt(e.beta)) * this.defaults.sensitive * o.resize.ratio) : 90 === s ? (t = 5 * -parseInt(e.beta) * this.defaults.sensitive * o.resize.ratio, i = 5 * (parseInt(e.gamma) + this.defaults.centerDegree) * this.defaults.sensitive * o.resize.ratio) : (t = 5 * parseInt(e.beta) * this.defaults.sensitive * o.resize.ratio, i = 5 * (this.defaults.centerDegree - parseInt(e.gamma)) * this.defaults.sensitive * o.resize.ratio), this.animate2D(t, i, "cursor"), this.animate3D(t, i, "cursor")
                            } else this.calculateTransformProperties();
                            o.slider.state.animatingSlides || this.shadowIsChecked || !o.gui.shadow.$element || this.addShadow()
                        },
                        trigger: function() {
                            e(window).trigger("scroll.parallax" + a), e(window).trigger("touchmove.parallax" + a)
                        },
                        scroll: function() {
                            var e = (("top" === this.defaults.centerLayers ? o.device.winScrollTop : o.device.winScrollTop + (o.device.viewportHeight - o.slider.height) / 2) - o.slider.offsetTop) * o.resize.ratio * this.defaults.scrollModifier;
                            o.slider.state.inFullscreen && (e = 0), this.transformPropertiesCalculated || this.calculateTransformProperties(), this.animate2D(0, e, "scroll"), this.animate3D(0, e, "scroll")
                        },
                        mouseMove: function(e) {
                            if (this.transformPropertiesCalculated) {
                                o.slider.state.animatingSlides || this.shadowIsChecked || !o.gui.shadow.$element || this.addShadow();
                                var t = o.slider.offsetLeft + o.slider.width / 2,
                                    i = o.slider.offsetTop + o.slider.height / 2,
                                    s = e.pageX - t,
                                    a = e.pageY - i;
                                this.animate2D(s, a, "cursor"), this.animate3D(s, a, "cursor")
                            } else this.calculateTransformProperties()
                        },
                        animate2D: function(t, i, s) {
                            this.wrappers[s].$2d.each(function() {
                                var s = e(this);
                                if ("active" === s.attr("data-ls-parallax")) {
                                    var a = s.data(o.defaults.init.dataKey).parallax,
                                        n = a.x ? -t * (a.distance / 2e3) * parseInt(a.level) : 0,
                                        l = a.y ? -i * (a.distance / 2e3) * parseInt(a.level) : 0;
                                    r.TweenMax.to(s[0], a.durationMove, {
                                        x: n,
                                        y: l
                                    })
                                }
                            })
                        },
                        animate3D: function(t, i, s) {
                            this.wrappers[s].$3d.each(function() {
                                var s = e(this);
                                if ("active" === s.attr("data-ls-parallax")) {
                                    var a, n, l, d, u = s.data(o.defaults.init.dataKey).parallax;
                                    u.x ? (n = -t / (4e3 / u.rotation), l = -t * (u.distance / 2e3) * parseInt(u.level)) : (n = 0, l = 0), u.y ? (a = i / (4e3 / u.rotation), d = -i * (u.distance / 2e3) * parseInt(u.level)) : (a = 0, d = 0), r.TweenMax.to(s[0], u.durationMove, {
                                        rotationX: a,
                                        rotationY: n,
                                        x: l,
                                        y: d
                                    })
                                }
                            })
                        },
                        reset: function() {
                            e().add(this.wrappers.cursor.$2d).add(this.wrappers.cursor.$3d).each(function() {
                                var t = e(this);
                                "active" === t.attr("data-ls-parallax") ? r.TweenMax.to(t[0], e(this).data(o.defaults.init.dataKey).parallax.durationLeave, {
                                    x: 0,
                                    y: 0,
                                    rotationX: 0,
                                    rotationY: 0
                                }) : r.TweenMax.set(t[0], {
                                    x: 0,
                                    y: 0,
                                    rotationX: 0,
                                    rotationY: 0
                                })
                            }), o.gui.shadow.$element && this.removeShadow(), this.transformPropertiesCalculated = !1
                        }
                    }, filters: {
                        createTransition: function(e, t, i, s) {
                            var a, r = new o.defaults.layer.properties.filter,
                                n = {};
                            for (a in r) switch (t) {
                                case "in":
                                    n[a] = [r[a], r[a]], n[a][0] = i.hasOwnProperty(a) ? i[a] : s.hasOwnProperty(a) ? s[a] : r[a], n[a][1] = s.hasOwnProperty(a) ? s[a] : r[a], e.filter.values.afterIn[a] = n[a][1];
                                    break;
                                case "hover":
                                case "loop":
                                case "out":
                                    n[a] = [], n[a][0] = i.hasOwnProperty(a) ? i[a] : r[a], n[a][1] = s.hasOwnProperty(a) ? s[a] : i.hasOwnProperty(a) && i[a] !== r[a] ? i[a] : r[a], "loop" === t && !0 !== e.loop.yoyo && -1 !== e.loop.count && (e.filter.values.afterLoop[a] = n[a][1]);
                                    break;
                                case "bg":
                                    n[a] = [r[a], r[a]], i.hasOwnProperty(a) && (n[a][0] = i[a]), s.hasOwnProperty(a) && (n[a][1] = s[a])
                            }
                            return n
                        },
                        convert: function(e) {
                            for (var t, i, s, a = {}, o = /(blur|brightness|contrast|grayscale|hue-rotate|invert|saturate|sepia)/i, r = 0, n = (e = e.split(" ")).length; r < n; r++)(t = (s = e[r].split("("))[0]).match(o) && (i = parseInt(s[1]), a[t] = i);
                            return a
                        },
                        animate: function(e, t) {
                            var i = 100 * e.target[0].p;
                            if ("object" == typeof t) {
                                var s = "";
                                for (var a in t)
                                    if ("object" == typeof t[a] && 2 === t[a].length) switch (a) {
                                        case "blur":
                                            s += " blur( " + (t[a][0] < t[a][1] ? t[a][0] + Math.abs(t[a][0] - t[a][1]) / 100 * i : t[a][0] - Math.abs(t[a][0] - t[a][1]) / 100 * i) + "px )";
                                            break;
                                        case "hue-rotate":
                                            s += " hue-rotate( " + (t[a][0] < t[a][1] ? t[a][0] + Math.abs(t[a][0] - t[a][1]) / 100 * i : t[a][0] - Math.abs(t[a][0] - t[a][1]) / 100 * i) + "deg )";
                                            break;
                                        default:
                                            s += " " + a + "( " + (t[a][0] < t[a][1] ? t[a][0] + Math.abs(t[a][0] - t[a][1]) / 100 * i : t[a][0] - Math.abs(t[a][0] - t[a][1]) / 100 * i) + "% )"
                                    }
                                    r.TweenMax.set(e.target, {
                                    "-webkit-filter": s,
                                    filter: s
                                })
                            }
                        }
                    }, splitType: {
                        setNodesSequence: function(e, t) {
                            var i = t;
                            if ("desc" == e[1]) i = t.slice(0).reverse();
                            else if ("rand" == e[1]) i = t.slice(0).sort(function() {
                                return .5 - Math.random()
                            });
                            else if ("center" == e[1]) {
                                var s, a = Math.floor(t.length / 2);
                                for (i = [t[a]], s = 1; s <= a; s++) i.push(t[a - s], t[a + s]);
                                i.length = t.length
                            } else if ("edge" == e[1]) {
                                var o, r = Math.floor(t.length / 2);
                                for (i = [t[0]], o = 1; o <= r; o++) i.push(t[t.length - o], t[o]);
                                i.length = t.length
                            }
                            return i
                        },
                        resetNodes: function(t, i) {
                            e(".char, .word, .line", t).add(i.elements.$wrapper).css({
                                transform: "none",
                                opacity: 1
                            }).each(function() {
                                delete this._gsTransform
                            })
                        },
                        setRandomProperties: function(e, t, i) {
                            for (var s in t) {
                                for (var a = [], r = 0, n = e.textIn.nodes.length; r < n; r++) a[r] = o.functions.convert.randomProperties(t[s], s);
                                delete i[s], i.cycle[s] = a
                            }
                            t = null
                        }
                    }
                },
                media: {
                    defaults: {
                        delay: 500,
                        fadeIn: 500,
                        fadeOut: 750
                    },
                    changeBackgroundVideo: function(e, t) {
                        if (o.slides.current.index && o.slides.current.data.$backgroundVideo.length) {
                            var s = o.slides.current.data.$backgroundVideo,
                                a = s.data(o.defaults.init.dataKey).elements.$bgWrapper;
                            t && (s.data(o.defaults.init.dataKey).mediaProperties.willBePaused = !0, a.fadeOut(o.transitions.media.defaults.fadeOut, function() {
                                s.trigger("stopBackgroundVideo"), s.data(o.defaults.init.dataKey).mediaProperties.willBePaused = !1
                            }))
                        }
                        if (o.slides.next.data.$backgroundVideo.length) {
                            var r = o.slides.next.data.$backgroundVideo,
                                n = r.data(o.defaults.init.dataKey).elements.$bgWrapper,
                                l = r.data(o.defaults.init.dataKey).elements.$bgOuterWrapper;
                            o.device.isMobile && (i.hasClass("ls-device-is-phone") && l.hasClass("ls-hide-on-phone") || i.hasClass("ls-device-is-tablet") && l.hasClass("ls-hide-on-tablet")) || setTimeout(function() {
                                r.trigger("playBackgroundVideo")
                            }, e ? 50 : 0), e || t ? n.fadeIn(o.transitions.media.defaults.fadeOut) : n.css({
                                display: "block"
                            }), r.data(o.defaults.init.dataKey).mediaProperties.isPreloaded = !0
                        }
                    }
                },
                timers: {
                    defaults: {
                        fadeInDuration: .35,
                        reverseDuration: .3
                    },
                    create: function(e) {
                        this.curNext = e || "next", this.reset(), o.gui.timers.bar.$element && this.bar.createTransition(), o.gui.timers.circle.$element && this.circle.createTransition(), o.gui.timers.slidebar.$element && this.slidebar.createTransition()
                    },
                    reverse: function() {
                        if (o.slides.current && o.slides.current.data && o.transitions._slideTimeline) {
                            var e = o.transitions._slideTimeline.progress(),
                                t = o.slides.current.data.duration * e / this.defaults.reverseDuration;
                            o.gui.timers.bar.$element && this.bar._transition && (o.transitions._slideTimeline.remove(o.transitions.timers.bar._transition), this.bar._transition.reverse().timeScale(t)), o.gui.timers.circle.$element && this.circle._transition && (o.transitions._slideTimeline.remove(o.transitions.timers.circle._transition), this.circle._transition.reverse().timeScale(t)), o.gui.timers.slidebar.$element && this.slidebar._transition && (o.transitions._slideTimeline.remove(o.transitions.timers.slidebar._transition), this.slidebar._transition.reverse().timeScale(t))
                        }
                    },
                    reset: function() {
                        o.gui.timers.bar.$element && this.bar._transition && this.bar.reset(), o.gui.timers.circle.$element && this.circle._transition && this.circle.reset(), o.gui.timers.slidebar.$element && this.slidebar._transition && this.slidebar.reset()
                    },
                    bar: {
                        reset: function() {
                            this._transition && (this._transition.kill(), this._transition = !1)
                        },
                        createTransition: function() {
                            this._transition = r.TweenMax.fromTo(o.gui.timers.bar.$element[0], o.slides[o.transitions.curNext].data.duration, {
                                autoCSS: !1,
                                paused: !0,
                                css: {
                                    width: 0
                                }
                            }, {
                                autoCSS: !1,
                                css: {},
                                ease: r.Linear.easeNone,
                                onReverseComplete: function() {
                                    o.transitions.timers.bar._transition = !1
                                },
                                onComplete: function(e) {
                                    e.target.style.width = "100%", e.target.style.width = "calc( 100% - " + o.slider.initial.skinWidth + "px )"
                                },
                                onCompleteParams: ["{self}"],
                                onUpdate: function(e) {
                                    e.target.style.width = Math.min(o.slider.width, o.slider.width * e.progress()) + "px"
                                },
                                onUpdateParams: ["{self}"]
                            })
                        }
                    },
                    circle: {
                        reset: function() {
                            this._transition && (o.gui.timers.circle.$element.stop(!0, !0), this._transition.kill(), this._transition = !1)
                        },
                        createTransition: function() {
                            var e = o.gui.timers.circle.$element.find(".ls-ct-right .ls-ct-rotate")[0],
                                t = o.gui.timers.circle.$element.find(".ls-ct-left .ls-ct-rotate")[0],
                                i = o.slides[o.transitions.curNext].data.duration;
                            this._transition = new r.TimelineMax({
                                paused: !0
                            }).fromTo(o.gui.timers.circle.$element[0], o.transitions.timers.defaults.fadeInDuration, {
                                autoCSS: !1,
                                immediateRender: !0,
                                css: {
                                    opacity: 0,
                                    display: "block"
                                }
                            }, {
                                autoCSS: !1,
                                css: {
                                    opacity: o.gui.timers.circle.$element.data("original").opacity
                                }
                            }).fromTo(e, i / 2, {
                                autoCSS: !1,
                                css: {
                                    rotation: 0
                                }
                            }, {
                                autoCSS: !1,
                                css: {
                                    rotation: 180
                                },
                                ease: r.Linear.easeNone
                            }, 0).fromTo(t, i / 2, {
                                autoCSS: !1,
                                css: {
                                    rotation: 0
                                }
                            }, {
                                autoCSS: !1,
                                css: {
                                    rotation: 180
                                },
                                ease: r.Linear.easeNone
                            }, i / 2)
                        }
                    },
                    slidebar: {
                        reset: function() {
                            this._transition && (this._transition.kill(), this._transition = !1)
                        },
                        createTransition: function() {
                            var t = this;
                            t._transition = new r.TimelineMax({
                                paused: !0,
                                onReverseComplete: function() {
                                    o.transitions.timers.slidebar._transition = !1
                                }
                            }), e.each(o.gui.timers.slidebar.$sliderContainerElement, function(e, i) {
                                t._transition.add(r.TweenMax.fromTo(o.gui.timers.slidebar.$sliderContainerElement[e][0], o.slides[o.transitions.curNext].data.duration, {
                                    autoCSS: !1,
                                    css: {
                                        left: 0
                                    }
                                }, {
                                    autoCSS: !1,
                                    css: {},
                                    ease: r.Linear.easeNone,
                                    onComplete: function(t) {
                                        t.target.style.left = "calc( 100% - " + o.gui.timers.slidebar.sliderContainerElementWidth[e] + "px )"
                                    },
                                    onCompleteParams: ["{self}"],
                                    onUpdate: function(t) {
                                        t.target.style.left = (o.gui.timers.slidebar.containerElementWidth[e] - o.gui.timers.slidebar.sliderContainerElementWidth[e]) * t.progress() + "px"
                                    },
                                    onUpdateParams: ["{self}"]
                                }), 0), t._transition.add(r.TweenMax.fromTo(o.gui.timers.slidebar.$progressBarElement[e][0], o.slides[o.transitions.curNext].data.duration, {
                                    autoCSS: !1,
                                    css: {
                                        width: 0
                                    }
                                }, {
                                    autoCSS: !1,
                                    css: {},
                                    ease: r.Linear.easeNone,
                                    onComplete: function(e) {
                                        e.target.style.width = "100%"
                                    },
                                    onCompleteParams: ["{self}"],
                                    onUpdate: function(t) {
                                        t.target.style.width = o.gui.timers.slidebar.elementWidth[e] * t.progress() + "px"
                                    },
                                    onUpdateParams: ["{self}"]
                                }), 0)
                            })
                        }
                    }
                }
            }, o.plugins = {
                load: function() {
                    if (o.o.plugins && 0 !== o.o.plugins.length) {
                        var t = o.o.plugins[0],
                            i = "object" == typeof t ? t.namespace : t;
                        if (window._layerSlider.plugins[i]) o.plugins.init(i, t, !0), o.plugins.load();
                        else if (o.browser.usesFileProtocol || "object" != typeof t) o.browser.usesFileProtocol ? (window.console && (console.error(o.defaults.slider.errorText, "Cannot load plugins on file:// protocol."), console.info("Please include the plugin files manually.")), o.o.plugins.splice(0, 1), o.plugins.load()) : (window.console && (console.error(o.defaults.slider.errorText, "Plugin files are missing!"), console.info('Plugin "' + i + '" has been added in slider init options, but the source files are not found on page.')), o.o.plugins.splice(0, 1), o.plugins.load());
                        else {
                            if (-1 !== window._layerSlider.pluginsBeingLoaded.indexOf(i)) return void o.plugins.checkLoaded(i); - 1 === window._layerSlider.pluginsLoaded.indexOf(i) && -1 === window._layerSlider.pluginsNotLoaded.indexOf(i) ? (window._layerSlider.pluginsBeingLoaded.push(i), e.ajax({
                                url: -1 === t.js.indexOf("http://") && -1 === t.js.indexOf("https://") ? (window._layerSlider.pluginsPath ? window._layerSlider.pluginsPath : window._layerSlider.scriptPath + "/../plugins/") + t.js : t.js,
                                dataType: "script",
                                success: function() {
                                    o.plugins.init(t.namespace, t, !0), window._layerSlider.pluginsLoaded.push(i)
                                },
                                error: function(e, t, s) {
                                    window.console && (console.error(o.defaults.slider.errorText, i, "plugin has not been loaded!"), console.error("Additional error info:", s)), window._layerSlider.pluginsNotLoaded.push(i)
                                },
                                complete: function() {
                                    window._layerSlider.pluginsBeingLoaded.splice(window._layerSlider.pluginsBeingLoaded.indexOf(i), 1), o.plugins.load()
                                }
                            })) : (o[i] || -1 !== window._layerSlider.pluginsNotLoaded.indexOf(i) ? o.o.plugins.splice(0, 1) : o.plugins.init(i, t), o.plugins.load())
                        }
                    } else o.slider.check.initialized()
                },
                init: function(t, s, r) {
                    o.initializedPlugins[t] = new window._layerSlider.plugins[t](o, i, a, s.settings), window._layerSlider.checkVersions(o.initializedPlugins[t].pluginData.requiredLSVersion, o.plugin.version) ? (s.css && r && e('<link rel="stylesheet" href="' + (-1 === s.css.indexOf("http://") && -1 === s.css.indexOf("https://") ? (window._layerSlider.pluginsPath ? window._layerSlider.pluginsPath : window._layerSlider.scriptPath + "/../plugins/") + s.css : s.css) + '">').appendTo("head"), o.initializedPlugins[t].init && o.initializedPlugins[t].init()) : window.console && console.error(o.defaults.slider.errorText, t, "plugin has not been loaded! Required LayerSlider version:", o.initializedPlugins[t].pluginData.requiredLSVersion, "(you have:", o.plugin.version + ")"), o.o.plugins.splice(0, 1)
                },
                checkLoaded: function(e) {
                    o.intervals.pluginLoaded = setInterval(function() {
                        -1 === window._layerSlider.pluginsLoaded.indexOf(e) && -1 === window._layerSlider.pluginsNotLoaded.indexOf(e) || -1 !== window._layerSlider.pluginsBeingLoaded.indexOf(e) || (clearInterval(o.intervals.pluginLoaded), delete o.intervals.pluginLoaded, o.plugins.load())
                    }, 100)
                }
            }, o.slider = {
                shouldResize: !0,
                thumbnails: [],
                state: {
                    preloadingImages: !1,
                    changingSlides: !1,
                    animatingSlides: !1
                },
                isPaused: !1,
                isBusy: function() {
                    return this.state.preloadingImages || this.state.changingSlides || this.state.animatingSlides
                },
                load: function() {
                    if (!document.body.contains(t)) return !1;
                    o.api.hasEvent("sliderWillLoad") && i.triggerHandler("sliderWillLoad"), o.slider.set.global()
                },
                set: {
                    global: function() {
                        if (o.originalMarkup = i[0].outerHTML, o.userInitOptions = o.functions.convert.properties(o.functions.convert.oldProperties(s)), o.meta = {}, o.o = e.extend(!0, {}, o.defaults.init.options, o.userInitOptions), o.o.forceLayersOutDuration /= 1e3, o.o.forceLayersOutDuration = o.o.forceLayersOutDuration > 0 ? o.o.forceLayersOutDuration : .75, o.o.sliderFadeInDuration /= 1e3, window.console && !0 !== o.o.hideWelcomeMessage && !0 !== window._layerSlider.hideWelcomeMessage) {
                            window._layerSlider.hideWelcomeMessage = !0;
                            var t = window.console.info ? "info" : "log";
                            console[t]("LayerSlider", "v" + o.plugin.version, "initialized"), console[t]("Find updates and docs @ https://layerslider.kreaturamedia.com/")
                        }
                        var a = {
                            namespace: "debug",
                            js: "debug/layerslider.debug.js",
                            css: "debug/layerslider.debug.css"
                        }; - 1 !== document.location.hash.indexOf("debug") && window.console && (-1 !== document.location.hash.indexOf("url=") && (window._layerSlider.pluginsPath = document.location.hash.split("url=")[1].split("&")[0], a.js = window._layerSlider.pluginsPath + "debug/layerslider.debug.js", a.css = window._layerSlider.pluginsPath + "debug/layerslider.debug.css"), "object" == typeof o.o.plugins ? o.o.plugins.push(a) : o.o.plugins = [a]), (window._layerSlider.currentScript || window._layerSlider.lsScript) && (window._layerSlider.scriptPath = (window._layerSlider.currentScript || window._layerSlider.lsScript).src.replace(/\\/g, "/").replace(/\/[^\/]*$/, "")), "object" == typeof o.o.plugins ? o.plugins.load() : o.slider.check.initialized()
                    },
                    styles: function() {
                        var s, r, n, l, d, u, p, c, h, m, f, g, v, y, b, S, w, x, T, C, k, I, O = o.slider,
                            L = i.parent(),
                            $ = t.style,
                            P = window.getComputedStyle(t, null),
                            B = parseInt(t.clientWidth),
                            W = parseInt(t.clientHeight),
                            M = parseInt(L.width()),
                            _ = parseInt(L.height()),
                            z = o.o.layersContainerWidth,
                            F = o.o.layersContainerHeight,
                            D = o.o.type.toLowerCase();
                        switch (o.debugMode && o.debug.add("group", "sliderInit.style"), o.o.width ? s = -1 == o.o.width.indexOf("%") ? parseInt(o.o.width) : o.o.width : $.width ? s = -1 == $.width.indexOf("%") ? parseInt($.width) : $.width : z > 0 ? (s = z, o.debugMode && o.debug.add("warn", "sliderInit.noWidth", z)) : (s = B, o.debugMode && o.debug.add("warn", "sliderInit.noWidth2", B)), n = s, o.o.height ? r = -1 == o.o.height.indexOf("%") ? parseInt(o.o.height) : o.o.height : $.height ? r = -1 == $.height.indexOf("%") ? parseInt($.height) : $.height : F > 0 ? (r = F, o.debugMode && o.debug.add("warn", "sliderInit.noHeight", F)) : (r = W, o.debugMode && o.debug.add("warn", "sliderInit.noHeight2", _)), l = r, d = "" !== $.maxWidth ? -1 === $.maxWidth.indexOf("%") ? parseInt($.maxWidth) : $.maxWidth : 0, void 0 === o.userInitOptions.type && (z > 0 && F > 0 || "100%" === s && "100%" === r ? D = "fullsize" : z <= 0 && F <= 0 && o.o.responsiveUnder <= 0 ? D = void 0 !== o.o.responsive && !1 === o.o.responsive ? "fixedsize" : "responsive" : o.o.responsiveUnder > 0 && (D = "fullwidth")), D) {
                            case "fullwidth":
                                -1 !== s.indexOf("%") && (o.debugMode && o.debug.add("warn", "sliderInit.percWidth", [D, s, B]), s = B), z <= 0 && (z = s, o.debugMode && o.debug.add("warn", "sliderInit.conWidth", [D, s])), o.o.responsiveUnder <= 0 && (o.o.responsiveUnder = z, o.debugMode && o.debug.add("warn", "sliderInit.fullwidth", z)), -1 !== r.indexOf("%") && (p = _ / (100 / parseInt(r)), o.debugMode && o.debug.add("warn", "sliderInit.fullwidth2", [D, r, p]), r = p), F <= 0 && (F = r);
                                break;
                            case "fullsize":
                                -1 !== s.indexOf("%") && (u = z > 0 ? z : M, o.debugMode && o.debug.add("warn", "sliderInit.fullsize", [D, s, u, M, z]), s = u), z <= 0 && (z = s, o.debugMode && o.debug.add("warn", "sliderInit.conWidth", [D, s])), -1 !== r.indexOf("%") && (p = F > 0 ? F : e(window).height() / (100 / parseInt(r)), o.debugMode && o.debug.add("warn", "sliderInit.fullsize2", [D, r, p, e(window).height(), F]), r = p), F <= 0 && (F = r, o.debugMode && o.debug.add("warn", "sliderInit.conHeight", [D, r]));
                                break;
                            case "fixedsize":
                                break;
                            default:
                                o.userInitOptions.type = o.o.type = D = "responsive", o.o.responsiveUnder = -1, -1 !== s.indexOf("%") && (s = B, o.debugMode && o.debug.add("warn", "sliderInit.percWidth", [D, s, B])), -1 !== r.indexOf("%") && (s = W, o.debugMode && o.debug.add("warn", "sliderInit.responsive", [D, r, W])), o.debugMode && z > 0 && o.debug.add("warn", "sliderInit.conWidth2", [D, z]), o.debugMode && F > 0 && o.debug.add("warn", "sliderInit.conHeight2", [D, F])
                        }
                        i.addClass("ls-container ls-" + D), i.parent().addClass("ls-direction-fix"), o.o.preventSliderClip && o.o.fitScreenWidth && ("fullwidth" === D || "fullsize" === D && "fitheight" !== o.o.fullSizeMode) && i.parents(":not(body, html)").each(function() {
                            e(this).addClass("ls-overflow-visible")
                        }), o.userInitOptions.slideBGSize || "responsive" !== D || !o.userInitOptions.hasOwnProperty("sliderVersion") || o.userInitOptions.sliderVersion || (o.o.slideBGSize = "auto", o.debugMode && o.debug.add("warn", "sliderInit.bgCover", D)), o.o.slideBGSize = o.o.slideBGSize.replace("100% 100%", "stretch"), c = z > 0 ? z : s, h = F > 0 ? F : r, "auto" === (g = t.style.marginLeft) ? m = "auto" : "" === g ? m = parseInt(P.getPropertyValue("margin-left")) : m = parseInt(t.style.marginLeft), "auto" === (v = t.style.marginRight) ? f = "auto" : "" === v ? f = parseInt(P.getPropertyValue("margin-right")) : f = parseInt(t.style.marginRight), m === f && ("" === g && "" === v && (y = m, m = "auto", f = "auto"), i.css({
                            marginLeft: "auto",
                            marginRight: "auto"
                        })), b = "" !== $.paddingLeft ? parseInt($.paddingLeft) : parseInt(i.css("padding-left")), w = "" !== $.paddingRight ? parseInt($.paddingRight) : parseInt(i.css("padding-right")), S = "" !== $.paddingTop ? parseInt($.paddingTop) : parseInt(i.css("padding-top")), x = "" !== $.paddingBottom ? parseInt($.paddingBottom) : parseInt(i.css("padding-bottom")), T = "" !== $.borderLeftWidth ? parseInt($.borderLeftWidth) : parseInt(i.css("border-left-width")), k = "" !== $.borderRightWidth ? parseInt($.borderRightWidth) : parseInt(i.css("border-right-width")), C = "" !== $.borderTopWidth ? parseInt($.borderTopWidth) : parseInt(i.css("border-top-width")), I = "" !== $.borderBottomWidth ? parseInt($.borderBottomWidth) : parseInt(i.css("border-bottom-width")), O.initial = {
                            type: D,
                            width: s,
                            height: r,
                            originalWidth: n,
                            originalHeight: l,
                            percW: s / 100,
                            percH: r / 100,
                            layersWidth: z,
                            layersHeight: F,
                            ratio: c / h,
                            maxWidth: d,
                            marginLeft: m,
                            marginRight: f,
                            paddingLeft: b,
                            paddingTop: S,
                            paddingRight: w,
                            paddingBottom: x,
                            borderLeftWidth: T,
                            borderTopWidth: C,
                            borderRightWidth: k,
                            borderBottomWidth: I,
                            skinWidth: b + w + T + k,
                            skinHeight: S + x + C + I
                        }, o.debugMode && (o.debug.add("log", "sliderInit.style", [s, r, n, l, z, F, parseInt(c / h * 100) / 100, d > 0 ? d : void 0, [m, f]]), y && o.debug.add("warn", "sliderInit.margin", y)), e("html").attr("id") ? e("body").attr("id") || e("body").attr("id", "ls-global") : e("html").attr("id", "ls-global"), "static" !== $.position && "absolute" !== $.position && (t.style.position = "relative"), o.o.insertSelector && i[o.o.insertMethod](o.o.insertSelector), o.slider.$hiddenWrapper = e('<div class="ls-wp-container fitvidsignore ls-hidden" data-layerslider-uid="' + a + '"></div>').addClass(i.attr("class")).prependTo("body"), o.slider.$innerWrapper = e('<div class="ls-inner"></div>'), o.slider.$layersWrapper = e('<div class="ls-layers"></div>').appendTo(o.slider.$innerWrapper), o.slider.$bgVideosWrapper = e('<div class="ls-background-videos"></div>').appendTo(o.slider.$layersWrapper), o.slider.$slideBGWrapper = e('<div class="ls-slide-backgrounds"></div>').appendTo(o.slider.$layersWrapper), o.slider.$innerWrapper.appendTo(i), !0 === o.o.hideOnMobile && o.device.isMobile ? (i.addClass("ls-forcehide"), i.closest(".ls-wp-fullwidth-container").addClass("ls-forcehide"), o.o.autoStart = !1) : o.slider.check.showHide(), o.o.globalBGImage && o.slider.$innerWrapper.css({
                            backgroundImage: "url( " + o.o.globalBGImage + " )",
                            backgroundRepeat: o.o.globalBGRepeat,
                            backgroundAttachment: o.o.globalBGAttachment,
                            backgroundSize: o.o.globalBGSize,
                            backgroundPosition: o.o.globalBGPosition
                        }), o.slider.$innerWrapper.css({
                            backgroundColor: o.o.globalBGColor
                        }), "transparent" == o.o.globalBGColor && !1 === o.o.globalBGImage && o.slider.$innerWrapper.css({
                            background: "none transparent"
                        })
                    },
                    options: function() {
                        if (e("html").find('meta[content*="WordPress"]').length && (o.meta.wpVersion = e("html").find('meta[content*="WordPress"]').attr("content").split("WordPress")[1]), e("html").find('script[src*="layerslider"]').length && -1 != e("html").find('script[src*="layerslider"]').attr("src").indexOf("?") && (o.meta.lswpVersion = e("html").find('script[src*="layerslider"]').attr("src").split("?")[1].split("=")[1]), "undefined" != typeof layerSliderTransitions && (o.t = e.extend({}, layerSliderTransitions)), "undefined" != typeof layerSliderCustomTransitions && (o.ct = e.extend({}, layerSliderCustomTransitions)), o.debugMode && ("undefined" != typeof layerCustomSliderTransitions ? (o.debug.add("log", "sliderInit.customTransitions", !1), "undefined" == typeof layerSliderTransitions && o.debug.add("warn", "sliderInit.slideTransitions")) : "undefined" == typeof layerSliderTransitions && o.debug.add("warn", "sliderInit.noSlideTransitions")), "number" == typeof o.o.parallaxCenterDegree && (o.transitions.layers.parallax.defaults.centerDegree = o.o.parallaxCenterDegree), "number" == typeof o.o.parallaxSensitivity && (o.transitions.layers.parallax.defaults.sensitive = o.o.parallaxSensitivity), o.o.parallaxCenterLayers && (o.transitions.layers.parallax.defaults.centerLayers = o.o.parallaxCenterLayers), o.o.playByScroll && (o.o.cycles = -1, o.o.startInViewport = !0, o.o.pauseOnHover = !1, o.o.autoStart = !1), o.o.startInViewport) {
                            if (o.slider.positionToViewport = o.device.winScrollTop > o.slider.offsetTop - (o.device.viewportHeight - o.slider.height) / 2 ? "under" : "over", o.o.playByScroll) {
                                var t, i, s, r = !0,
                                    n = 4 * o.o.playByScrollSpeed;
                                o.device.scroll.timeout = 250, o.transitions.layers.timeline.timeScaleModifier = 0, e(document).on("wheel." + a + " touchmove." + a, function(e) {
                                    o.device.isMobile ? ((t = e.originalEvent.touches[0].clientY) > i ? o.device.scroll.direction = "up" : t < i && (o.device.scroll.direction = "down"), s = i - t, i = t) : (e.originalEvent.deltaY > 0 ? o.device.scroll.direction = "down" : o.device.scroll.direction = "up", s = e.originalEvent.deltaY), 0 !== Math.abs(s) && (o.device.scroll.lastDirection ? o.device.scroll.lastDirection !== o.device.scroll.direction && (o.device.scroll.lastDirection = o.device.scroll.direction, o.transitions.layers.timeline.timeScaleModifier = 0) : o.device.scroll.lastDirection = o.device.scroll.direction, "inside" === o.slider.positionToViewport && (o.resize.viewport(), s >= 0 ? o.transitions.layers.timeline.scrollForward() : o.transitions.layers.timeline.scrollBackwards(), r && (clearTimeout(o.timeouts.scroll), r = !1, o.transitions.layers.timeline.timeScaleModifier = o.transitions.layers.timeline.timeScaleModifier < n ? o.transitions.layers.timeline.timeScaleModifier + .25 : n, o.timeouts.scroll2 = setTimeout(function() {
                                        delete o.timeouts.scroll2, r = !0, o.device.scroll.timeout = o.device.scroll.timeout > 50 ? o.device.scroll.timeout - 50 : 50
                                    }, o.device.scroll.timeout))))
                                })
                            }
                            e(window).on("scroll." + a, function() {
                                o.slider.check.positionToViewport()
                            }), o.timeouts.checkPosition = setTimeout(function() {
                                o.slider.check.positionToViewport()
                            }, 25)
                        }
                        o.slider.canShow = !0
                    }
                },
                check: {
                    initialized: function() {
                        o.debugMode && o.debug.add("log", "sliderInit.info", [o.plugin.version, o.plugin.releaseDate, o.userInitOptions.sliderVersion || "n/a or slider version is pre 6.0.0", i.attr("id"), a, e.fn.jquery, o.meta.lswpVersion, o.meta.wpVersion], !0), o.slider.initialized || (o.slider.initialized = !0, this.skins())
                    },
                    skins: function() {
                        o.o.skin && "" !== o.o.skin && o.o.skinsPath && "" !== o.o.skinsPath ? o.gui.skin.load() : o.slider.init()
                    },
                    showHide: function() {
                        o.device.isMobile && !1 !== o.o.hideOnMobile || (o.device.viewportWidth < o.o.hideUnder || o.device.viewportWidth > o.o.hideOver && o.o.hideOver > 0 ? o.slider.hide() : o.slider.show())
                    },
                    positionToViewport: function() {
                        if (delete o.timeouts.checkPosition, o.o.playByScroll) o.device.scroll.direction && ("down" === o.device.scroll.direction ? o.device.winScrollTop : o.slider.offsetTop - (o.device.viewportHeight - o.device.viewportHeight) / 2) > ("down" === o.device.scroll.direction ? o.slider.offsetTop - (o.device.viewportHeight - o.device.viewportHeight) / 2 : o.device.winScrollTop) && ("up" === o.device.scroll.direction && "under" === o.slider.positionToViewport || "down" === o.device.scroll.direction && "over" === o.slider.positionToViewport) && (o.slider.positionToViewport = "inside", o.resize.viewport(), o.device.scroll.disable());
                        else {
                            var t = o.device.winScrollTop + o.device.viewportHeight / 2,
                                i = o.slider.offsetTop + o.slider.height / 2;
                            (Math.abs(t - i) < o.device.viewportHeight / 2 || o.device.winScrollTop < o.slider.offsetTop && o.device.winScrollTop + o.device.viewportHeight > o.slider.offsetTop + o.slider.height) && (o.slider.positionToViewport = "inside", e(window).off("scroll." + a), o.debugMode && o.debug.add("log", "slideshow.inviewport", !1), o.transitions._slideTimeline && o.transitions.layers.timeline.play())
                        }
                    }
                },
                init: function() {
                    clearTimeout(o.timeouts.skinLoad1), clearTimeout(o.timeouts.skinLoad2), clearTimeout(o.timeouts.skinLoad3), clearTimeout(o.timeouts.skinLoad4), o.device.setBasicEvents(), o.slider.set.styles(), o.slider.set.options(), o.slides.init(), o.device.fullscreen.set(), o.media.init(), o.gui.timers.init(), o.gui.loadingIndicator.init(), o.preload.init(), o.gui.shadow.init(), o.navigation.init(), o.slideshow.init(), o.slides.set.firstSlide(), o.gui.navigation.init(), o.resize.slider(), o.yourLogo.init(), e(window).on("resize." + a, function() {
                        o.slider.check.showHide(), "inside" === o.slider.positionToViewport && o.o.playByScroll && o.resize.viewport(), o.slider.shouldResize && o.resize.all()
                    }), o.debugMode && (e(window).off(".debug" + a), e(window).on("resize.debug" + a, function() {
                        o.debug.add("log", "resize.window", o.device.viewportWidth, !0)
                    })), e(window).on("orientationchange." + a, function() {
                        o.device.getDimensions(), o.resize.all()
                    }), o.device.getDimensions(), e(window).trigger("resize." + a), e(window).trigger("orientationchange." + a), o.api.hasEvent("sliderDidLoad") && i.triggerHandler("sliderDidLoad", o.api.eventData()), o.functions.setStates(o.slider, {
                        isLoaded: !0
                    }), o.slider.state.shouldBeDestroyed ? o.api.methods("destroy") : o.slideshow.changeTo(o.slides.first.index)
                },
                hide: function() {
                    i.addClass("ls-forcehide"), i.closest(".ls-wp-fullwidth-container").addClass("ls-forcehide")
                },
                show: function() {
                    i.removeClass("ls-forcehide"), i.closest(".ls-wp-fullwidth-container").removeClass("ls-forcehide")
                }
            }, o.functions = {
                convert: {
                    transformOrigin: function(t, i, s) {
                        var a = e.trim(t),
                            r = a.split(" "),
                            n = "",
                            l = ["Left", "Top"],
                            d = [o.slider.width, o.slider.height];
                        a = a.replace("sliderleft", "0").replace("sliderright", "100%").replace("slidercenter", "50%").replace("slidermiddle", "50%").replace("slidertop", "0").replace("sliderbottom", "100%").replace("left", "0").replace("right", "100%").replace("center", "50%").replace("middle", "50%").replace("top", "0").replace("bottom", "100%").split(" ");
                        for (var u = 0; u < a.length; u++)
                            if (-1 !== r[u].indexOf("slider")) {
                                o.transitions.layers.timeline.shouldRestart = !0;
                                var p = i.data(o.defaults.init.dataKey).elements.$wrapper[0].style;
                                n += u < 2 ? d[u] / (100 / parseInt(a[u])) - parseInt(p[l[u].toLowerCase()]) - parseInt(p["margin" + l[u]]) + "px " : "0px"
                            } else {
                                if (u < 2 && i && s) switch (u) {
                                    case 0:
                                        d = s.width();
                                        break;
                                    case 1:
                                        d = s.height()
                                } - 1 !== a[u].indexOf("%") ? n += u < 2 && i && s ? d / (100 / parseInt(a[u])) + "px " : a[u] + " " : n += parseInt(a[u]) * o.resize.ratio + "px "
                            }
                        return e.trim(n)
                    },
                    easing: function(e, t) {
                        if ("string" == typeof e) {
                            var i, s, a;
                            return e = e.toLowerCase(), -1 !== e.indexOf("swing") || -1 !== e.indexOf("linear") ? i = r.Linear.easeNone : (s = e.match(/(easeinout|easein|easeout)(.+)/)[2], a = r[s.charAt(0).toUpperCase() + s.slice(1)], -1 !== e.indexOf("easeinout") ? i = a.easeInOut : -1 !== e.indexOf("easeout") ? i = t ? a.easeIn : a.easeOut : -1 !== e.indexOf("easein") && (i = t ? a.easeOut : a.easeIn)), i
                        }
                        return e
                    },
                    transition: function(t, i, s, a) {
                        var r = e.extend({}, t),
                            n = {
                                rotate: "rotation",
                                rotateX: "rotationX",
                                rotateY: "rotationY"
                            };
                        return e.each(n, function(e, t) {
                            e in r && (r[t] = r[e], delete r[e])
                        }), "after" === s ? r.scaleX = r.scaleY = r.scaleZ = 1 : r.scale3d !== a && (r.scaleX = r.scaleY = r.scaleZ = r.scale3d, delete r.scale3d), r.delay && (r.delay = "after" === s ? r.delay / 1e3 : r.delay), void 0 === i && (i = "easeInOutQuart"), r.ease = o.functions.convert.easing(i), r
                    },
                    randomProperties: function(e, t) {
                        if (e && -1 !== e.indexOf("(") && -1 !== e.indexOf(",") && -1 !== e.indexOf(")")) {
                            var i = e.split("(")[1].split(")")[0].split(","),
                                s = 1;
                            return i[0] = parseFloat(i[0]), i[1] = parseFloat(i[1]), -1 !== t.indexOf("scale") && (s = 100, i[0] *= s, i[1] *= s), Math.floor(Math.random() * (i[1] - i[0] + 1) + i[0]) / s
                        }
                        return e
                    },
                    properties: function(e, t) {
                        if ("string" == typeof e) return o.functions.convert._properties(e, t);
                        if ("object" == typeof e) {
                            for (var i in e) e[i] = o.functions.convert._properties(e[i], t);
                            return e
                        }
                        return e
                    },
                    _properties: function(t, i) {
                        if ("enable" == t || "enabled" == t || "true" == t) return !0;
                        if ("disable" == t || "disabled" == t || "false" == t) return !1;
                        if ("string" == typeof t && -1 !== t.indexOf(o.defaults.init.lsDataArraySplitChar)) {
                            for (var s = t.split(o.defaults.init.lsDataArraySplitChar), a = [], r = 0; r < s.length; r++) a[r] = e.isNumeric(s[r]) ? parseFloat(e.trim(s[r])) : e.trim(s[r]);
                            return a
                        }
                        return i ? "" + parseInt(t) == "NaN" ? 0 : parseInt(t) : e.isNumeric(t) ? parseFloat(t) : t
                    },
                    oldProperties: function(t) {
                        var i = {
                            firstLayer: "firstSlide",
                            loops: "cycles",
                            forceLoopNum: "forceCycles",
                            layersContainer: "layersContainerWidth",
                            sublayerContainer: "layersContainerWidth",
                            randomSlideshow: "shuffleSlideshow"
                        };
                        return e.each(i, function(e, i) {
                            e in t && (t[i] = t[e], delete t[e])
                        }), t
                    }
                },
                getSliderClosestParentElementWidthNumericValueOfProperty: function(t) {
                    for (var s, a = i.parents(), r = a.length, n = 100, l = 0; l < r; l++)
                        if ("auto" !== (s = window.getComputedStyle(a[l]).getPropertyValue(t))) {
                            if (-1 !== s.indexOf("px")) return o.slider.$parentWithNumericWidthValue = e(a[l]), e(a[l]); - 1 !== s.indexOf("%") && (n = n / 100 * parseInt(s), o.slider.$parentWithNumericWidthValuePercent = n)
                        }
                },
                sortArray: function(e, t, i) {
                    var s = [];
                    if ("forward" == i)
                        for (var a = 0; a < e; a++)
                            for (var o = 0; o < t; o++) s.push(a + o * e);
                    else
                        for (var r = e - 1; r > -1; r--)
                            for (var n = t - 1; n > -1; n--) s.push(r + n * e);
                    return s
                },
                shuffleArray: function(e) {
                    for (var t, i, s = e.length; 0 !== s;) i = Math.floor(Math.random() * s), t = e[s -= 1], e[s] = e[i], e[i] = t;
                    return e
                },
                countProp: function(e) {
                    var t = 0;
                    for (var i in e) e.hasOwnProperty(i) && ++t;
                    return t
                },
                getURL: function(e) {
                    return e[0].currentSrc ? e[0].currentSrc : e.data("src ") ? e.data("src ") : e.attr("src")
                },
                getALT: function(e) {
                    return !!e.attr("alt") && e.attr("alt")
                },
                setStates: function(e, t, s) {
                    if (e && e.state) {
                        var a = o.slideshow.isPaused();
                        if (s) e.state[t] = s;
                        else
                            for (var r in t) e.state[r] = t[r];
                        var n = o.slideshow.isPaused();
                        e == o.slideshow && (o.api.hasEvent("slideshowStateDidChange") && i.triggerHandler("slideshowStateDidChange", o.api.eventData()), n != a && (n ? o.api.hasEvent("slideshowDidPause") && i.triggerHandler("slideshowDidPause", o.api.eventData()) : o.api.hasEvent("slideshowDidResume") && i.triggerHandler("slideshowDidResume", o.api.eventData())))
                    }
                },
                clearTimers: function() {
                    for (var e in o.timeouts) clearTimeout(o.timeouts[e]), delete o.timeouts[e];
                    for (var t in o.intervals) clearInterval(o.intervals[t]), delete o.intervals[t]
                },
                clearTimelines: function() {
                    o.transitions._slideTimeline && (o.transitions._slideTimeline.pause().clear().kill(), delete o.transitions._slideTimeline), o.transitions._forceLayersOut && (o.transitions._forceLayersOut.kill(), delete o.transitions._forceLayersOut), o.transitions._slideTransition && (o.transitions._slideTransition.pause().clear().kill(), delete o.transitions._slideTransition), r.TweenMax.killTweensOf(i.find(".ls-bg, .ls-layer, .ls-wrapper, .ls-curtile, .ls-nexttile").get())
                },
                resetSlideTimelines: function() {
                    o.transitions._slideTimeline && (o.transitions._slideTimeline.pause().progress(0).clear().kill(), delete o.transitions._slideTimeline), o.transitions._forceLayersOut && (o.transitions._forceLayersOut.pause().progress(1).clear().kill(), delete o.transitions._forceLayersOut), i.find(".ls-layer:not(.ls-bg-video)").each(function() {
                        var t = e(this).data(o.defaults.init.dataKey);
                        t.loop._timeline && (t.loop._timeline.stop().clear(), delete t.loop._timeline, r.TweenMax.set(t.elements.$loopWrapper[0], t.reset.loopWrapperOnSlideChange)), r.TweenMax.set(t.elements.$wrapper[0], t.reset.wrapperOnSlideChange)
                    })
                },
                clearEvents: function() {
                    e(window).add("body").add(i).add(i.find("*")).add("." + a).off("." + a + " .debug" + a + " .parallax" + a + " .setter" + a)
                }
            }, o.device = {
                $overflowWrapper: e(e("body").length ? "body" : "html"),
                isMobile: !!navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|webOS|Windows Phone|mobi|opera mini|nexus 7)/i),
                supportOrientation: !!window.DeviceOrientationEvent,
                scroll: {
                    keys: [32, 33, 34, 35, 36, 37, 38, 39, 40],
                    disable: function() {
                        window.addEventListener && window.addEventListener("DOMMouseScroll", this.preventDefault, !1), window.onwheel = this.preventdefault, window.onmousewheel = document.onmousewheel = this.preventDefault, window.ontouchmove = this.preventDefault, document.onkeydown = this.preventDefaultForScrollKeys
                    },
                    enable: function() {
                        window.removeEventListener && window.removeEventListener("DOMMouseScroll", this.preventDefault, !1), window.onmousewheel = document.onmousewheel = null, window.onwheel = null, window.ontouchmove = null, document.onkeydown = null
                    },
                    preventDefault: function(e) {
                        (e = e || window.event).preventDefault && e.preventDefault(), e.returnValue = !1
                    },
                    preventDefaultForScrollKeys: function(e) {
                        if (-1 !== o.device.scroll.keys.indexOf(e.keyCode)) return o.device.scroll.preventDefault(e), !1
                    }
                },
                removeSelection: function() {
                    window.getSelection ? window.getSelection().empty ? window.getSelection().empty() : window.getSelection().removeAllRanges && window.getSelection().removeAllRanges() : document.selection && document.selection.empty()
                },
                fullscreen: {
                    enter: function() {
                        "fullsize" == o.slider.initial.type && "hero" == o.o.fullSizeMode && (o.slider.heroTop = o.slider.offsetTop), o.functions.setStates(o.slider, {
                            inFullscreen: !0
                        }), e("body, html").addClass("ls-fullscreen"), o.slider.fullscreenWrapper.requestFullscreen(), i.trigger("mouseleave"), o.device.removeSelection()
                    },
                    exit: function() {
                        o.functions.setStates(o.slider, {
                            inFullscreen: !1
                        }), o.resize.all(), e("body, html").removeClass("ls-fullscreen"), o.device.removeSelection()
                    },
                    toggle: function() {
                        o.device.fullscreen.element() ? (o.device.fullscreen.exit(), document.exitFullscreen()) : o.device.fullscreen.enter()
                    },
                    set: function() {
                        o.o.allowFullscreen && (document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled) && (i.wrap('<div class="ls-fullscreen-wrapper"></div>'), o.slider.$fullscreenWrapper = i.closest(".ls-fullscreen-wrapper"), o.slider.fullscreenWrapper = o.slider.$fullscreenWrapper[0], o.slider.fullscreenWrapper.requestFullscreen = o.slider.fullscreenWrapper.requestFullscreen || o.slider.fullscreenWrapper.webkitRequestFullscreen || o.slider.fullscreenWrapper.mozRequestFullScreen || o.slider.fullscreenWrapper.msRequestFullscreen, document.exitFullscreen = document.exitFullscreen || document.webkitExitFullscreen || document.mozCancelFullScreen || document.msExitFullscreen, e(document).on("fullscreenchange." + a + " webkitfullscreenchange." + a + " mozfullscreenchange." + a + " msfullscreenchange." + a, function() {
                            o.device.fullscreen.element() || o.device.fullscreen.exit()
                        }), o.slider.$fullscreenWrapper.on("dblclick." + a, function() {
                            o.device.fullscreen.toggle()
                        }))
                    },
                    element: function() {
                        return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement
                    }
                },
                getDimensions: function() {
                    this.width = screen.width, this.height = screen.height, this.viewportWidth = e(window).width(), this.viewportHeight = e(window).height(), this.docWidth = e(document).width(), this.docHeight = e(document).height(), this.winScrollTop = e(window).scrollTop(), this.winScrollLeft = e(window).scrollLeft(), this.ratio = this.width / this.height, o.slider.offsetTop = i.offset().top, o.slider.offsetLeft = i.offset().left
                },
                setBasicEvents: function() {
                    var t, s = this;
                    e(window).on("resize.setter" + a, function() {
                        s.viewportWidth = e(window).width(), s.viewportHeight = e(window).height(), s.ratio = s.width / s.height, o.slider.offsetTop = i.offset().top, o.slider.offsetLeft = i.offset().left
                    }), e(window).on("scroll.setter" + a, function() {
                        s.winScrollTop = e(window).scrollTop(), s.winScrollLeft = e(window).scrollLeft(), o.slider.offsetTop = i.offset().top, o.slider.offsetLeft = i.offset().left
                    }), e(window).on("touchmove", function(e) {
                        s.winScrollTop = window.pageYOffset, s.winScrollLeft = window.pageXOffset, 1 == (t = e.touches ? e.touches : e.originalEvent.touches).length && (s.touchX = t[0].clientX)
                    })
                }
            }, o.api = {
                hasEvent: function(i, s) {
                    var a = e._data(s || t, "events");
                    return !(!a || !a[i])
                },
                methods: function(t, s, r, n) {
                    if (!o.slider.isBusy())
                        if ("number" == typeof t) t > 0 && t < o.slides.count + 1 && t != o.slides.current.index && o.slideshow.changeTo(t, !0, !0);
                        else switch (t) {
                            case "touchPrev":
                                o.device.touchPrev = !0;
                            case "previousSlide":
                            case "prev":
                                o.navigation.prev();
                                break;
                            case "touchNext":
                                o.device.touchNext = !0;
                            case "nextSlide":
                            case "next":
                                o.navigation.next();
                                break;
                            case "startSlideshow":
                            case "start":
                                o.navigation.start()
                        }
                        switch (t) {
                            case "openPopup":
                                o.initializedPlugins.popup && o.initializedPlugins.popup.events.show();
                                break;
                            case "closePopup":
                                o.initializedPlugins.popup && o.initializedPlugins.popup.events.hide();
                                break;
                            case "updateLayerData":
                                s && o.layers.update.data(s, r, n);
                                break;
                            case "redrawSlider":
                            case "redraw":
                                o.resize.all();
                                break;
                            case "replaySlide":
                            case "replay":
                                o.transitions._slideTimeline && (o.transitions._slideTimeline.progress(0), o.transitions._slideTimeline.play());
                                break;
                            case "reverseSlide":
                            case "reverse":
                                o.transitions._slideTimeline && (o.transitions._slideTimeline.reversed() ? o.transitions._slideTimeline.play() : o.transitions._slideTimeline.reverse(), s && (o.transitions.layers.timeline.shouldReplay = !0));
                                break;
                            case "stopSlideshow":
                            case "stop":
                                o.navigation.stop();
                                break;
                            case "pauseSlider":
                            case "pause":
                                o.transitions._slideTimeline && o.transitions._slideTimeline.stop(), o.transitions._slideTransition && o.transitions._slideTransition.stop(), o.media.stop(!1);
                                break;
                            case "resumePopup":
                                o.layers.get("active").each(function() {
                                    o.media.playIfAllowed(e(this))
                                });
                            case "resumeSlider":
                            case "resume":
                                o.transitions._slideTimeline && (o.transitions._slideTimeline.timeScale() < .001 && o.transitions.layers.timeline.resume(), o.transitions._slideTimeline.play()), o.transitions._slideTransition && o.transitions._slideTransition.play();
                                break;
                            case "toggleSlider":
                            case "toggle":
                                o.slider.isPaused ? (i.layerSlider("resume"), o.slider.isPaused = !1) : (i.layerSlider("pause"), o.slider.isPaused = !0);
                                break;
                            case "reset":
                            case "resetSlider":
                                break;
                            case "resetSlide":
                            case "resetCurrentSlide":
                                o.transitions._slideTimeline && (o.transitions._slideTimeline.progress(0), o.transitions._slideTimeline.stop()), o.media.stop();
                                break;
                            case "destroy":
                            case "kill":
                                if (o.slider.state.isLoaded) {
                                    if (o.functions.clearTimers(), o.functions.clearTimelines(), o.functions.clearEvents(), o.layers.$all.removeData(), o.api.hasEvent("sliderDidDestroy") && i.triggerHandler("sliderDidDestroy"), o.slider.state.sholudBeRemoved || s) {
                                        if (o.slider.$hiddenWrapper.remove(), o.gui.timers.slidebar.$containerElement)
                                            for (var l = 0; l < o.gui.timers.slidebar.$containerElement.length; l++) o.gui.timers.slidebar.$containerElement[l] instanceof jQuery && o.gui.timers.slidebar.$containerElement[l].remove();
                                        o.api.hasEvent("sliderDidRemove") && i.triggerHandler("sliderDidRemove"), i.parent(".ls-fullscreen-wrapper").remove()
                                    }
                                    window._layerSlider.removeSlider(a)
                                } else o.functions.setStates(o.slider, {
                                    shouldBeDestroyed: !0,
                                    sholudBeRemoved: s || !1
                                });
                                o.slider.positionToViewport = "under", o.device.scroll.enable()
                        }
                },
                eventData: function() {
                    return {
                        data: o,
                        userData: o.o,
                        uid: a,
                        target: t,
                        slider: i,
                        state: o.slider.state,
                        isBusy: o.slider.isBusy(),
                        api: function(e) {
                            i.layerSlider(e)
                        },
                        slides: {
                            first: {
                                index: o.slides.first.index,
                                deeplink: o.slides.get.deeplink(o.slides.first.index)
                            },
                            prev: {
                                index: o.slides.prev.index,
                                deeplink: o.slides.get.deeplink(o.slides.prev.index)
                            },
                            current: {
                                index: o.slides.current.index || o.slides.first.index,
                                deeplink: o.slides.get.deeplink(o.slides.current.index),
                                layersIn: o.layers.get("current,in"),
                                layersOut: o.layers.get("current,out"),
                                timeline: o.transitions._slideTimeline
                            },
                            next: {
                                index: o.slides.next.index,
                                deeplink: o.slides.get.deeplink(o.slides.next.index),
                                layersIn: o.layers.get("next,in"),
                                layersOut: o.layers.get("next,out")
                            },
                            count: o.slides.count
                        },
                        slideChangeTimeline: o.transitions._slideTransition,
                        slideshow: {
                            state: o.slideshow.state,
                            sequence: o.slideshow.sequence,
                            direction: o.slideshow.direction,
                            isPaused: o.slideshow.isPaused()
                        },
                        cycles: {
                            max: o.o.cycles,
                            current: o.slideshow.curCycle
                        }
                    }
                }
            }, o.browser = {
                isSafari: !!navigator.userAgent.match(/(iPhone|iPod|iPad|Safari)/i) && !navigator.userAgent.match(/(Opera|Chrome|Edge)/i),
                usesFileProtocol: -1 !== document.location.href.indexOf("file://"),
                supports3D: function() {
                    for (var t = e("<div>"), s = !1, a = !1, o = ["perspective", "OPerspective", "msPerspective", "MozPerspective", "WebkitPerspective"], r = ["transformStyle", "OTransformStyle", "msTransformStyle", "MozTransformStyle", "WebkitTransformStyle"], n = o.length - 1; n >= 0; n--) s = s || void 0 !== t[0].style[o[n]];
                    for (var l = r.length - 1; l >= 0; l--) t.css("transform-style", "preserve-3d"), a = a || "preserve-3d" == t[0].style[r[l]];
                    return s && void 0 !== t[0].style[o[4]] && (t.attr("id", "ls-test3d").appendTo(i), s = 3 === t[0].offsetHeight && 9 === t[0].offsetLeft, t.remove()), s && a
                },
                isOld: -1 !== navigator.userAgent.indexOf("rident/5")
            }, o.initializedPlugins = {}, o.timeouts = {}, o.intervals = {}, o.debug = {
                options: {}
            }, o.plugin = {
                version: "6.5.8",
                releaseDate: "2017. 08. 28."
            }, o.slider.load()
        }
    }(jQuery);
                                    

Executed Writes (1)

#1 JavaScript::Write (size: 902, repeated: 1) - SHA256: 617e266555c06fa6a8c030c7f86bacef8b6839655567308ed552b043482844c2

                                        < img height = "1"
width = "1"
border = "0"
alt = ""
src = "https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1048044732/?random=1507842799966&cv=8&fst=1507842799966&num=1&fmt=3&guid=ON&u_h=885&u_w=1176&u_ah=855&u_aw=1176&u_cd=24&u_his=1&u_tz=120&u_java=true&u_nplug=10&u_nmime=92&frm=0&url=https%3A%2F%2Fwww.evolveip.net%2Fresources-library%2F2017-contact-center-trends-market-landscape-survey%3Futm_medium%3DEM%26utm_source%3DMkto%26utm_campaign%3D%26utm_term%3D%26utm_content%26mkt_tok%3DeyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%25253D%25253D&ref=http%3A%2F%2Finfo.evolvedit.net%2Fdg0NR1NvyT0Se00Dak100M0&tiba=2017%20Contact%20Center%20Trends%20%26%20Market%20Landscape%20Survey%20-%20Evolve%20IP"
style = "display:none" / >
                                    


HTTP Transactions (187)


Request Response
                                        
                                            GET /dg0NR1NvyT0Se00Dak100M0 HTTP/1.1 
Host: info.evolvedit.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive

                                         
                                         199.15.213.48
HTTP/1.1 200 OK
Content-Type: text/html
                                        
Date: Thu, 12 Oct 2017 21:13:02 GMT
Server: Apache
Cache-Control: private, no-cache, no-store, max-age=0
Connection: close
Vary: Accept-Encoding
Content-Encoding: gzip
Transfer-Encoding: chunked
Set-Cookie: BIGipServerab_mailtracking_80=!PwVKFSferEvjRbYNEbaWaFcUiNHQQqVruaMTvO1S2PQ10GUEGqY/uEigHjF2/CnuEGJGIdd/+emkgVk=; path=/; Httponly


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   500
Md5:    49bc5013f62fef9dcea2bfe915025748
Sha1:   1c160ad7e64b8a4e4a6c3c68ab71dd7d387b67eb
Sha256: 805f7bed3fbb83753cfd54699c6d46a2b59854092c0fa6a43fdba3f0f5ce04d4
                                        
                                            GET /favicon.ico HTTP/1.1 
Host: info.evolvedit.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: BIGipServerab_mailtracking_80=!PwVKFSferEvjRbYNEbaWaFcUiNHQQqVruaMTvO1S2PQ10GUEGqY/uEigHjF2/CnuEGJGIdd/+emkgVk=

                                         
                                         199.15.213.48
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=iso-8859-1
                                        
Date: Thu, 12 Oct 2017 21:13:02 GMT
Server: Apache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 101
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   101
Md5:    1c9a817585becb79830bbffcbc1fcc9e
Sha1:   e18688166c6a77e2102840c0d7494cce72710831
Sha256: 66f95b3b45987539f3f46e60bc5493b26efaa2bd4dd5a0ef06603312b41bdf22
                                        
                                            GET /resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%3D%3D HTTP/1.1 
Host: www.evolvedit.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://info.evolvedit.net/dg0NR1NvyT0Se00Dak100M0

                                         
                                         204.89.63.104
HTTP/1.1 302 Found
Content-Type: text/html; charset=iso-8859-1
                                        
Date: Thu, 12 Oct 2017 21:13:03 GMT
Server: Apache/2.2.15 (Red Hat)
Location: http://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D
Content-Length: 679
Connection: close


--- Additional Info ---
Magic:  HTML document text\012 exported SGML document text
Size:   679
Md5:    caf697e3339ee8a93353659b7bb941d6
Sha1:   a288ee1d2af92bfdaf5689e12d9f823e099e23bc
Sha256: 9955b106a020fbc5d2300c42cbfbd9403a255f24843f720eb82513a649e296bb
                                        
                                            GET /resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://info.evolvedit.net/dg0NR1NvyT0Se00Dak100M0

                                         
                                         192.83.110.7
HTTP/1.1 302 Found
Content-Type: text/html; charset=iso-8859-1
                                        
Date: Thu, 12 Oct 2017 21:13:03 GMT
Server: Apache/2.2.15 (Red Hat)
Location: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D
Content-Length: 679
Connection: close


--- Additional Info ---
Magic:  HTML document text\012 exported SGML document text
Size:   679
Md5:    86efdee846c478f5619bbe81d936f813
Sha1:   33e58dd75d94f7cdad2d155bd0874dc78253a103
Sha256: 2be651b45410808c087c8cc289aa540f1e9dbebba6efe78357d72e3eb74ea138
                                        
                                            POST / HTTP/1.1 
Host: ocsp.godaddy.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 108
Content-Type: application/ocsp-request

                                         
                                         72.167.239.239
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Thu, 12 Oct 2017 21:13:04 GMT
Server: Apache
Content-Transfer-Encoding: Binary
Cache-Control: max-age=122439, public, no-transform, must-revalidate
Last-Modified: Thu, 12 Oct 2017 21:01:08 GMT
Expires: Sat, 14 Oct 2017 09:01:08 GMT
Etag: "192ee4f2684aa9d9a1df3d228cc9157b9d02e12c"
P3P: CP="IDC DSP COR LAW CUR ADM DEV TAI PSA PSD IVA IVD HIS OUR SAM PUB LEG UNI COM NAV STA"
Content-Length: 1777
Connection: close


--- Additional Info ---
Magic:  data
Size:   1777
Md5:    81b189364c94de96ba95db2292d38fa9
Sha1:   192ee4f2684aa9d9a1df3d228cc9157b9d02e12c
Sha256: a472ba8f120569472095b3530deca3d9e85e3806e395a5e960c808a2e23b8f8e
                                        
                                            POST /ocsp HTTP/1.1 
Host: clients1.google.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 107
Content-Type: application/ocsp-request

                                         
                                         172.217.22.174
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Expires: Mon, 16 Oct 2017 21:13:05 GMT
Cache-Control: public, max-age=345600
Server: ocsp_responder
Content-Length: 463
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN


--- Additional Info ---
Magic:  data
Size:   463
Md5:    f12013db3f9509bab1d7efae58cafeb4
Sha1:   895702c612db85c65e8b2163bbf2eb8e044e5afa
Sha256: 0d6b175b934d2ac0eb377d01580a88f75f8f8359b3e3dda7ac2a5248391d59ef
                                        
                                            POST / HTTP/1.1 
Host: g.symcd.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         23.43.139.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx/1.10.2
Content-Length: 1390
Content-Transfer-Encoding: binary
Cache-Control: max-age=357924, public, no-transform, must-revalidate
Last-Modified: Tue, 10 Oct 2017 00:34:08 GMT
Expires: Tue, 17 Oct 2017 00:34:08 GMT
Date: Thu, 12 Oct 2017 21:13:05 GMT
Connection: keep-alive


--- Additional Info ---
Magic:  data
Size:   1390
Md5:    fccd40351d25d6f5eecda73fdef9b3d8
Sha1:   0d2d2f37814bb53b7dca796acc9ee278ef6297ba
Sha256: 23e276d6aa20791de9110019cb7992bae490040d4cc3a06678449d1b3f2063e4
                                        
                                            POST /ocsp HTTP/1.1 
Host: clients1.google.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 107
Content-Type: application/ocsp-request

                                         
                                         172.217.22.174
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Expires: Mon, 16 Oct 2017 21:13:05 GMT
Cache-Control: public, max-age=345600
Server: ocsp_responder
Content-Length: 463
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN


--- Additional Info ---
Magic:  data
Size:   463
Md5:    442e230201d5fb9579831804608d0c26
Sha1:   054436b2a24a54e955b8beca6d116ca9c8d68a0a
Sha256: 8d8f86ffb2f324d7641d23589c2dd875dfa64495f3d636f7b52359c89d1d51a7
                                        
                                            GET /resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://info.evolvedit.net/dg0NR1NvyT0Se00Dak100M0

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
                                        
Date: Thu, 12 Oct 2017 21:13:04 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
X-Powered-By: PHP/5.6.22
X-Mod-Pagespeed: 1.11.33.2-0
Cache-Control: max-age=0, no-cache
Content-Encoding: gzip
Content-Length: 39143
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   39143
Md5:    225cd3e740bc7462d00ab62646ea5166
Sha1:   f1ffcfe2516e88ea52f37fa915e9efffd69a8b8e
Sha256: 87bd739814f1202fb253f7464f5e1eabbfae48f99c04eaadbde6b9c8fb559ac1
                                        
                                            GET /css?family=Lato%3A100%2C100i%2C300%2C300i%2C400%2C400i%2C700%2C700i%2C900%2C900i&ver=4.8.2 HTTP/1.1 
Host: fonts.googleapis.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         172.217.22.170
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Expires: Thu, 12 Oct 2017 21:13:05 GMT
Date: Thu, 12 Oct 2017 21:13:05 GMT
Cache-Control: private, max-age=86400
Content-Encoding: gzip
Server: ESF
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"
Transfer-Encoding: chunked


--- Additional Info ---
Magic:  gzip compressed data, max compression
Size:   521
Md5:    3359900a136026f2bd47c7b5ad496d47
Sha1:   cd79b880bdb85bf772dc95c84489dba87dbbd82e
Sha256: 4ccfa9ce538525390498a3bea6f7798bae1c1e7d92761b7001bbf08dc71d77f9
                                        
                                            GET /gtm.js?id=GTM-WPX2GM5 HTTP/1.1 
Host: www.googletagmanager.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         172.217.22.168
HTTP/1.1 200 OK
Content-Type: application/javascript; charset=UTF-8
                                        
Access-Control-Allow-Origin: http://www.googletagmanager.com
Access-Control-Allow-Headers: Cache-Control
Access-Control-Allow-Credentials: true
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Thu, 12 Oct 2017 21:13:05 GMT
Expires: Thu, 12 Oct 2017 21:13:05 GMT
Cache-Control: private, max-age=900
Server: Google Tag Manager (scaffolding)
X-XSS-Protection: 1; mode=block
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"
Transfer-Encoding: chunked


--- Additional Info ---
Magic:  gzip compressed data, max compression
Size:   20475
Md5:    3a8c6c51632393663b6cfb50907f3647
Sha1:   7cb2e8cbee7bc6d23e8d5e9f0584fcbd79746676
Sha256: 4409099dbcb47335fe57126d7041c8049f2fb694bc29b8bc0e5ae0b3c14bf268
                                        
                                            GET /css?family=Lato:100,300,regular,700,900,400%7COpen+Sans:300%7CIndie+Flower:regular%7COswald:300,regular,700&subset=latin%2Clatin-ext HTTP/1.1 
Host: fonts.googleapis.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         172.217.22.170
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Expires: Thu, 12 Oct 2017 21:13:05 GMT
Date: Thu, 12 Oct 2017 21:13:05 GMT
Cache-Control: private, max-age=86400
Content-Encoding: gzip
Server: ESF
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"
Transfer-Encoding: chunked


--- Additional Info ---
Magic:  gzip compressed data, max compression
Size:   605
Md5:    919c4a176d5ee8d45cc0e4e94285fc45
Sha1:   0a8a9812bce3b9d6ca3f3dd26040977f19dd801e
Sha256: f5ebbd44afabd14be36e0f63983e117a8e24144b8dfbc175401afeae51d21399
                                        
                                            GET /css?family=EB+Garamond&ver=4.8.2 HTTP/1.1 
Host: fonts.googleapis.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         172.217.22.170
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Expires: Thu, 12 Oct 2017 21:13:05 GMT
Date: Thu, 12 Oct 2017 21:13:05 GMT
Cache-Control: private, max-age=86400
Content-Encoding: gzip
Server: ESF
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"
Transfer-Encoding: chunked


--- Additional Info ---
Magic:  gzip compressed data, max compression
Size:   209
Md5:    77c23dc7d12734fb6195ba41910211a1
Sha1:   3d9b2818e769903eb42471a1d7f4796141cdbb9a
Sha256: 8090d2480a6dc48af14e7d3fa4aa2c4149e1ea597011f8fa9f526fbdb5805920
                                        
                                            GET /css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&subset=latin%2Clatin-ext&ver=4.8.2 HTTP/1.1 
Host: fonts.googleapis.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         172.217.22.170
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Expires: Thu, 12 Oct 2017 21:13:05 GMT
Date: Thu, 12 Oct 2017 21:13:05 GMT
Cache-Control: private, max-age=86400
Content-Encoding: gzip
Server: ESF
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"
Transfer-Encoding: chunked


--- Additional Info ---
Magic:  gzip compressed data, max compression
Size:   453
Md5:    cdca01cf501c8c31becb88b9b13185cf
Sha1:   644c360c43e0a89c2a2bbed086dead2dec22d9bf
Sha256: 10665425988a01de413db133803dffa0284bb6d4e293c4bbda792ddcbab6c55d
                                        
                                            GET /wp-content/themes/evolve-ip/js/A.jquery.modal.css,qver=4.8.2.pagespeed.cf.PoxsM-SduP.css HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Accept-Ranges: bytes
Expires: Fri, 12 Oct 2018 19:13:35 GMT
Cache-Control: max-age=31536000
Etag: W/"0"
Last-Modified: Thu, 12 Oct 2017 19:13:35 GMT
X-Original-Content-Length: 8087
Content-Encoding: gzip
Content-Length: 5327
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   5327
Md5:    468f549eca4675a880edfa10162bc9a3
Sha1:   50c662f882f0a1a58002300b5932fc2835fc6778
Sha256: 8b42b8ead284816bcb97aee0ebd4de030d53c1ebcb9ec642481ba7845be7b408
                                        
                                            GET /wp-content/themes/evolve-ip/flexslider/A.flexslider.css,qver=4.8.2.pagespeed.cf.8_MhahqJFX.css HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Accept-Ranges: bytes
Expires: Fri, 12 Oct 2018 19:13:35 GMT
Cache-Control: max-age=31536000
Etag: W/"0"
Last-Modified: Thu, 12 Oct 2017 19:13:35 GMT
X-Original-Content-Length: 4489
Content-Encoding: gzip
Content-Length: 1248
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   1248
Md5:    f0d7aece3c57669de3e4c4b341fa7e6b
Sha1:   7200b978df2b0914f8e0970010745b3a8257b6ae
Sha256: 3e2dd63e116c302fef76f6a4155b7eb4e849b22ba06f64e9a9869dc669460d39
                                        
                                            GET /wp-content/plugins/LayerSlider/static/layerslider/css/A.layerslider.css,qver=6.5.8.pagespeed.cf.6zdAI7iK3O.css HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Accept-Ranges: bytes
Expires: Fri, 12 Oct 2018 19:13:34 GMT
Cache-Control: max-age=31536000
Etag: W/"0"
Last-Modified: Thu, 12 Oct 2017 19:13:34 GMT
X-Original-Content-Length: 16169
Content-Encoding: gzip
Content-Length: 3067
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   3067
Md5:    c95c4f764b9bdee5567a6a1ca8d4ab69
Sha1:   008af5f2598f08ad05b8f602a854ca8050873c59
Sha256: 5e719e7c4794f0bd5f14065a223461c303d8e9e99e555078dea2de050820b1c8
                                        
                                            GET /wp-content/themes/evolve-ip/owlcarousel/A.owl.carousel.css,qver=4.8.2.pagespeed.cf.7doRcdiaXZ.css HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Accept-Ranges: bytes
Expires: Fri, 12 Oct 2018 21:12:43 GMT
Cache-Control: max-age=31536000
Etag: W/"0"
Last-Modified: Thu, 12 Oct 2017 21:12:43 GMT
X-Original-Content-Length: 7481
Content-Encoding: gzip
Content-Length: 1923
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   1923
Md5:    c521b4aad0debfa779cef5c302877e4d
Sha1:   49e620906e386edf93b952776713068f4f71cc45
Sha256: 00c84cc3b13547d1a6973ffaaaddcbdbc457b68076261da87be444888bb16ec5
                                        
                                            GET /favicon.ico HTTP/1.1 
Host: info.evolvedit.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: BIGipServerab_mailtracking_80=!PwVKFSferEvjRbYNEbaWaFcUiNHQQqVruaMTvO1S2PQ10GUEGqY/uEigHjF2/CnuEGJGIdd/+emkgVk=

                                         
                                         199.15.213.48
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=iso-8859-1
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 101
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   101
Md5:    1c9a817585becb79830bbffcbc1fcc9e
Sha1:   e18688166c6a77e2102840c0d7494cce72710831
Sha256: 66f95b3b45987539f3f46e60bc5493b26efaa2bd4dd5a0ef06603312b41bdf22
                                        
                                            GET /wp-includes/css/dashicons.min.css?ver=4.8.2 HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Last-Modified: Thu, 05 May 2016 20:29:28 GMT
Accept-Ranges: bytes
Cache-Control: max-age=31536000, public
Expires: Fri, 12 Oct 2018 19:13:34 GMT
Etag: W/"PSA-zzwOjyb-IC"
X-Original-Content-Length: 46364
X-Content-Type-Options: nosniff
Content-Encoding: gzip
Content-Length: 28612
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   28612
Md5:    c3deda3e7fece967f2ccbd284ea13582
Sha1:   97463a1c50f1c8975116d5498806f24791b23fef
Sha256: a7e9b2f080d9b676910cd9186c7f2ffd4066d61d0380a344c935fa349982aa10
                                        
                                            GET /wp-content/themes/evolve-ip/A.style.css,qver=4.8.2.pagespeed.cf.6LYBv96gRI.css HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Accept-Ranges: bytes
Expires: Fri, 12 Oct 2018 19:14:36 GMT
Cache-Control: max-age=31536000
Etag: W/"0"
Last-Modified: Thu, 12 Oct 2017 19:14:36 GMT
X-Original-Content-Length: 111141
Content-Encoding: gzip
Content-Length: 22527
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   22527
Md5:    2fae3b6102291f1a51eb777c5b2668d8
Sha1:   c5b8ed656fe1dd1654bda5d137a4bc411af4849b
Sha256: b51a43c2ad18c149070cf189fb7e100046f2be484cbcc81c6ef72ee0601f9631
                                        
                                            GET /wp-content/themes/evolve-ip/js/jquery.fancybox.min.css?ver=4.8.2 HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Last-Modified: Tue, 28 Feb 2017 13:15:44 GMT
Accept-Ranges: bytes
Cache-Control: max-age=31536000, public
Expires: Fri, 12 Oct 2018 19:13:35 GMT
Etag: W/"PSA-TWrAZbjBvK"
X-Original-Content-Length: 10252
X-Content-Type-Options: nosniff
Content-Encoding: gzip
Content-Length: 2395
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   2395
Md5:    0f43d59cf5399db02f60977894e0a544
Sha1:   e1b289dced080e8ae54687582c66e590f76d6265
Sha256: 33d9ea1faa607d68a8776c2699cfc174b58cbc46ba5e87a7d80ff9fb2d347f4d
                                        
                                            GET /wp-content/plugins/synved-shortcodes/synved-shortcode/style/A.layout.css,qver=1.0.pagespeed.cf.gG7kDzuuMz.css HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Accept-Ranges: bytes
Expires: Fri, 12 Oct 2018 20:13:51 GMT
Cache-Control: max-age=31536000
Etag: W/"0"
Last-Modified: Thu, 12 Oct 2017 20:13:51 GMT
X-Original-Content-Length: 3410
Content-Encoding: gzip
Content-Length: 962
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   962
Md5:    d9442d4dc6c59bbbed21ed6f69b6c228
Sha1:   b955922b09b05505edf3edd770c25464f653d1c4
Sha256: 99b2c4d57de24a3b48982f0ac84b7a4ecf45d061e3b49b127943a4e047e814ae
                                        
                                            GET /wp-content/plugins/synved-shortcodes/synved-shortcode/style/A.jquery-ui.css,qver=1.0.pagespeed.cf.eUkE0fsyef.css HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Accept-Ranges: bytes
Expires: Fri, 12 Oct 2018 19:13:35 GMT
Cache-Control: max-age=31536000
Etag: W/"0"
Last-Modified: Thu, 12 Oct 2017 19:13:35 GMT
X-Original-Content-Length: 3172
Content-Encoding: gzip
Content-Length: 897
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   897
Md5:    cfe2eac08c5d18cd4e474985b22b97c7
Sha1:   415a61b0e9b04de4be9d2d5645b52cbcf2155b0a
Sha256: 3affec6ba019323d831b04ca6665810b80d62ea2ce03ab2d80fcdf0f15ab23ca
                                        
                                            GET /wp-content/plugins/synved-shortcodes/synved-shortcode/jqueryUI/css/snvdshc/A.jquery-ui-1.9.2.custom.min.css,qver=1.9.2.pagespeed.cf.5v_fXt68Uf.css HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Accept-Ranges: bytes
Expires: Fri, 12 Oct 2018 19:13:35 GMT
Cache-Control: max-age=31536000
Etag: W/"0"
Last-Modified: Thu, 12 Oct 2017 19:13:35 GMT
X-Original-Content-Length: 28410
Content-Encoding: gzip
Content-Length: 4873
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   4873
Md5:    e01e5764acc664d9a0f1057ffa6a3c38
Sha1:   3845515ef5ecefc054abf1e3bdb9498274a40de8
Sha256: 09638e9affd6065611563a734b86f3ce43691b9def1a58f0f65325211d627fa9
                                        
                                            GET /wp-content/uploads/smile_fonts/Defaults/A.Defaults.css,qver=4.8.2.pagespeed.cf.gE8rGhmL9j.css HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Accept-Ranges: bytes
Expires: Fri, 12 Oct 2018 19:13:35 GMT
Cache-Control: max-age=31536000
Etag: W/"0"
Last-Modified: Thu, 12 Oct 2017 19:13:35 GMT
X-Original-Content-Length: 25839
Content-Encoding: gzip
Content-Length: 4714
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   4714
Md5:    6e825409ff6daebb39e54910cfd4cf89
Sha1:   4b35411561e9204c81c6a8daa210ceb222b15233
Sha256: 7ed77df37e1f6954f797c3018005f5bdd6ee5ee621c7d16b72f7c9b5ab7e599c
                                        
                                            GET /wp-content/plugins/js_composer/assets/css/A.js_composer.min.css,qver=5.3.pagespeed.cf.ZyGrkt2McS.css HTTP/1.1 
Host: www.evolveip.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://www.evolveip.net/resources-library/2017-contact-center-trends-market-landscape-survey?utm_medium=EM&utm_source=Mkto&utm_campaign=&utm_term=&utm_content&mkt_tok=eyJpIjoiTTJaa01ESm1NbUkxTXpNMiIsInQiOiJXMWhCV1pLanoxSVpaVmdhamZXWDBKTGtaWWZyVHluampJeGNHZWdaQ1J4MFBwaXo3T3ZTTU4ybjFOYWVyM3MzdVh4U0R2SW4rZ3dOcHYwUUV3bjhka0h0eDJscXRxRm9DR3FhV29KQ2xBcE94TDV5bE1STEd4U0hEbVNZdFhVXC8ifQ%253D%253D

                                         
                                         192.83.110.7
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Date: Thu, 12 Oct 2017 21:13:05 GMT
Server: Apache/2.2.15 (Red Hat)
Vary: Accept-Encoding
Accept-Ranges: bytes
Expires: Fri, 12 Oct 2018 19:13:35 GMT
Cache-Control: max-age=31536000
Etag: W/"0"
Last-Modified: Thu, 12 Oct 2017 19:13:35 GMT
X-Original-Content-Length: 468683
Content-Encoding: gzip
Content-Length: 46056
Connection: close


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   46056
Md5:    9d181c21fa156689d3904514a2fab861