PageSourceSearch

https://www.singerfrance.com/modules/ets_crosssell/views/js/slick.min.js

js singerfrance.com collected 2026-09-26 05:09:14 UTC 57,037 bytes, 705 lines download raw bytes

vendor: 13,746 bytes, lines 1-223
1/**
2  * Copyright ETS Software Technology Co., Ltd
3 *
4 * NOTICE OF LICENSE
5 *
6 * This file is not open source! Each license that you purchased is only available for 1 website only.
7 * If you want to use this file on more websites (or projects), you need to purchase additional licenses.
8 * You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
9 *
10 * DISCLAIMER
11 *
12 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
13 * versions in the future.
14 *
15 * @author ETS Software Technology Co., Ltd
16 * @copyright  ETS Software Technology Co., Ltd
17 * @license    Valid for 1 website (or project) for each purchase of license
18 */
19! function(i) {
20    "use strict";
21    "function" == typeof define && define.amd ? define(["jquery"], i) : "undefined" != typeof exports ? module.exports = i(require("jquery")) : i(jQuery)
22}(function(i) {
23    "use strict";
24    var e = window.Slick || {};
25    (e = function() {
26        var e = 0;
27        return function(t, o) {
28            var s, n = this;
29            n.defaults = {
30                accessibility: !0,
31                adaptiveHeight: !1,
32                appendArrows: i(t),
33                appendDots: i(t),
34                arrows: !0,
35                asNavFor: null,
36                prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
37                nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
38                autoplay: !1,
39                autoplaySpeed: 3e3,
40                centerMode: !1,
41                centerPadding: "50px",
42                cssEase: "ease",
43                customPaging: function(e, t) {
44                    return i('<button type="button" />').text(t + 1)
45                },
46                dots: !1,
47                dotsClass: "slick-dots",
48                draggable: !0,
49                easing: "linear",
50                edgeFriction: .35,
51                fade: !1,
52                focusOnSelect: !1,
53                focusOnChange: !1,
54                infinite: !0,
55                initialSlide: 0,
56                lazyLoad: "ondemand",
57                mobileFirst: !1,
58                pauseOnHover: !0,
59                pauseOnFocus: !0,
60                pauseOnDotsHover: !1,
61                respondTo: "window",
62                responsive: null,
63                rows: 1,
64                rtl: !1,
65                slide: "",
66                slidesPerRow: 1,
67                slidesToShow: 1,
68                slidesToScroll: 1,
69                speed: 500,
70                swipe: !0,
71                swipeToSlide: !1,
72                touchMove: !0,
73                touchThreshold: 5,
74                useCSS: !0,
75                useTransform: !0,
76                variableWidth: !1,
77                vertical: !1,
78                verticalSwiping: !1,
79                waitForAnimate: !0,
80                zIndex: 1e3
81            }, n.initials = {
82                animating: !1,
83                dragging: !1,
84                autoPlayTimer: null,
85                currentDirection: 0,
86                currentLeft: null,
87                currentSlide: 0,
88                direction: 1,
89                $dots: null,
90                listWidth: null,
91                listHeight: null,
92                loadIndex: 0,
93                $nextArrow: null,
94                $prevArrow: null,
95                scrolling: !1,
96                slideCount: null,
97                slideWidth: null,
98                $slideTrack: null,
99                $slides: null,
100                sliding: !1,
101                slideOffset: 0,
102                swipeLeft: null,
103                swiping: !1,
104                $list: null,
105                touchObject: {},
106                transformsEnabled: !1,
107                unslicked: !1
108            }, i.extend(n, n.initials), n.activeBreakpoint = null, n.animType = null, n.animProp = null, n.breakpoints = [], n.breakpointSettings = [], n.cssTransitions = !1, n.focussed = !1, n.interrupted = !1, n.hidden = "hidden", n.paused = !0, n.positionProp = null, n.respondTo = null, n.rowCount = 1, n.shouldClick = !0, n.$slider = i(t), n.$slidesCache = null, n.transformType = null, n.transitionType = null, n.visibilityChange = "visibilitychange", n.windowWidth = 0, n.windowTimer = null, s = i(t).data("slick") || {}, n.options = i.extend({}, n.defaults, o, s), n.currentSlide = n.options.initialSlide, n.originalSettings = n.options, void 0 !== document.mozHidden ? (n.hidden = "mozHidden", n.visibilityChange = "mozvisibilitychange") : void 0 !== document.webkitHidden && (n.hidden = "webkitHidden", n.visibilityChange = "webkitvisibilitychange"), n.autoPlay = i.proxy(n.autoPlay, n), n.autoPlayClear = i.proxy(n.autoPlayClear, n), n.autoPlayIterator = i.proxy(n.autoPlayIterator, n), n.changeSlide = i.proxy(n.changeSlide, n), n.clickHandler = i.proxy(n.clickHandler, n), n.selectHandler = i.proxy(n.selectHandler, n), n.setPosition = i.proxy(n.setPosition, n), n.swipeHandler = i.proxy(n.swipeHandler, n), n.dragHandler = i.proxy(n.dragHandler, n), n.keyHandler = i.proxy(n.keyHandler, n), n.instanceUid = e++, n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, n.registerBreakpoints(), n.init(!0)
109        }
110    }()).prototype.activateADA = function() {
111        this.$slideTrack.find(".slick-active").attr({
112            "aria-hidden": "false"
113        }).find("a, input, button, select").attr({
114            tabindex: "0"
115        })
116    }, e.prototype.addSlide = e.prototype.slickAdd = function(e, t, o) {
117        var s = this;
118        if ("boolean" == typeof t) o = t, t = null;
119        else if (t < 0 || t >= s.slideCount) return !1;
120        s.unload(), "number" == typeof t ? 0 === t && 0 === s.$slides.length ? i(e).appendTo(s.$slideTrack) : o ? i(e).insertBefore(s.$slides.eq(t)) : i(e).insertAfter(s.$slides.eq(t)) : !0 === o ? i(e).prependTo(s.$slideTrack) : i(e).appendTo(s.$slideTrack), s.$slides = s.$slideTrack.children(this.options.slide), s.$slideTrack.children(this.options.slide).detach(), s.$slideTrack.append(s.$slides), s.$slides.each(function(e, t) {
121            i(t).attr("data-slick-index", e)
122        }), s.$slidesCache = s.$slides, s.reinit()
123    }, e.prototype.animateHeight = function() {
124        var i = this;
125        if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
126            var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
127            i.$list.animate({
128                height: e
129            }, i.options.speed)
130        }
131    }, e.prototype.animateSlide = function(e, t) {
132        var o = {},
133            s = this;
134        s.animateHeight(), !0 === s.options.rtl && !1 === s.options.vertical && (e = -e), !1 === s.transformsEnabled ? !1 === s.options.vertical ? s.$slideTrack.animate({
135            left: e
136        }, s.options.speed, s.options.easing, t) : s.$slideTrack.animate({
137            top: e
138        }, s.options.speed, s.options.easing, t) : !1 === s.cssTransitions ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft), i({
139            animStart: s.currentLeft
140        }).animate({
141            animStart: e
142        }, {
143            duration: s.options.speed,
144            easing: s.options.easing,
145            step: function(i) {
146                i = Math.ceil(i), !1 === s.options.vertical ? (o[s.animType] = "translate(" + i + "px, 0px)", s.$slideTrack.css(o)) : (o[s.animType] = "translate(0px," + i + "px)", s.$slideTrack.css(o))
147            },
148            complete: function() {
149                t && t.call()
150            }
151        })) : (s.applyTransition(), e = Math.ceil(e), !1 === s.options.vertical ? o[s.animType] = "translate3d(" + e + "px, 0px, 0px)" : o[s.animType] = "translate3d(0px," + e + "px, 0px)", s.$slideTrack.css(o), t && setTimeout(function() {
152            s.disableTransition(), t.call()
153        }, s.options.speed))
154    }, e.prototype.getNavTarget = function() {
155        var e = this,
156            t = e.options.asNavFor;
157        return t && null !== t && (t = i(t).not(e.$slider)), t
158    }, e.prototype.asNavFor = function(e) {
159        var t = this.getNavTarget();
160        null !== t && "object" == typeof t && t.each(function() {
161            var t = i(this).slick("getSlick");
162            t.unslicked || t.slideHandler(e, !0)
163        })
164    }, e.prototype.applyTransition = function(i) {
165        var e = this,
166            t = {};
167        !1 === e.options.fade ? t[e.transitionType] = e.transformType + " " + e.options.speed + "ms " + e.options.cssEase : t[e.transitionType] = "opacity " + e.options.speed + "ms " + e.options.cssEase, !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t)
168    }, e.prototype.autoPlay = function() {
169        var i = this;
170        i.autoPlayClear(), i.slideCount > i.options.slidesToShow && (i.autoPlayTimer = setInterval(i.autoPlayIterator, i.options.autoplaySpeed))
171    }, e.prototype.autoPlayClear = function() {
172        var i = this;
173        i.autoPlayTimer && clearInterval(i.autoPlayTimer)
174    }, e.prototype.autoPlayIterator = function() {
175        var i = this,
176            e = i.currentSlide + i.options.slidesToScroll;
177        i.paused || i.interrupted || i.focussed || (!1 === i.options.infinite && (1 === i.direction && i.currentSlide + 1 === i.slideCount - 1 ? i.direction = 0 : 0 === i.direction && (e = i.currentSlide - i.options.slidesToScroll, i.currentSlide - 1 == 0 && (i.direction = 1))), i.slideHandler(e))
178    }, e.prototype.buildArrows = function() {
179        var e = this;
180        !0 === e.options.arrows && (e.$prevArrow = i(e.options.prevArrow).addClass("slick-arrow"), e.$nextArrow = i(e.options.nextArrow).addClass("slick-arrow"), e.slideCount > e.options.slidesToShow ? (e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.prependTo(e.options.appendArrows), e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows), !0 !== e.options.infinite && e.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({
181            "aria-disabled": "true",
182            tabindex: "-1"
183        }))
184    }, e.prototype.buildDots = function() {
185        var e, t, o = this;
186        if (!0 === o.options.dots) {
187            for (o.$slider.addClass("slick-dotted"), t = i("<ul />").addClass(o.options.dotsClass), e = 0; e <= o.getDotCount(); e += 1) t.append(i("<li />").append(o.options.customPaging.call(this, o, e)));
188            o.$dots = t.appendTo(o.options.appendDots), o.$dots.find("li").first().addClass("slick-active")
189        }
190    }, e.prototype.buildOut = function() {
191        var e = this;
192        e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), e.slideCount = e.$slides.length, e.$slides.each(function(e, t) {
193            i(t).attr("data-slick-index", e).data("originalStyling", i(t).attr("style") || "")
194        }), e.$slider.addClass("slick-slider"), e.$slideTrack = 0 === e.slideCount ? i('<div class="slick-track"/>').appendTo(e.$slider) : e.$slides.wrapAll('<div class="slick-track"/>').parent(), e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent(), e.$slideTrack.css("opacity", 0), !0 !== e.options.centerMode && !0 !== e.options.swipeToSlide || (e.options.slidesToScroll = 1), i("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"), e.setupInfinite(), e.buildArrows(), e.buildDots(), e.updateDots(), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), !0 === e.options.draggable && e.$list.addClass("draggable")
195    }, e.prototype.buildRows = function() {
196        var i, e, t, o, s, n, r, l = this;
197        if (o = document.createDocumentFragment(), n = l.$slider.children(), l.options.rows > 1) {
198            for (r = l.options.slidesPerRow * l.options.rows, s = Math.ceil(n.length / r), i = 0; i < s; i++) {
199                var d = document.createElement("div");
200                for (e = 0; e < l.options.rows; e++) {
201                    var a = document.createElement("div");
202                    for (t = 0; t < l.options.slidesPerRow; t++) {
203                        var c = i * r + (e * l.options.slidesPerRow + t);
204                        n.get(c) && a.appendChild(n.get(c))
205                    }
206                    d.appendChild(a)
207                }
208                o.appendChild(d)
209            }
210            l.$slider.empty().append(o), l.$slider.children().children().children().css({
211                width: 100 / l.options.slidesPerRow + "%",
212                display: "inline-block"
213            })
214        }
215    }, e.prototype.checkResponsive = function(e, t) {
216        var o, s, n, r = this,
217            l = !1,
218            d = r.$slider.width(),
219            a = window.innerWidth || i(window).width();
220        if ("window" === r.respondTo ? n = a : "slider" === r.respondTo ? n = d : "min" === r.respondTo && (n = Math.min(a, d)), r.options.responsive && r.options.responsive.length && null !== r.options.responsive) {
221            s = null;
222            for (o in r.breakpoints) r.breakpoints.hasOwnProperty(o) && (!1 === r.originalSettings.mobileFirst ? n < r.breakpoints[o] && (s = r.breakpoints[o]) : n > r.breakpoints[o] && (s = r.breakpoints[o]));
223            null !== s ? null !== r.activeBreakpoint ? (s !== r.activeBreakpoint || t) && (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.o
vendor: 3,054 bytes, lines 223-256
223ptions = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : null !== r.activeBreakpoint && (r.activeBreakpoint = null, r.options = r.originalSettings, !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e), l = s), e || !1 === l || r.$slider.trigger("breakpoint", [r, l])
224        }
225    }, e.prototype.changeSlide = function(e, t) {
226        var o, s, n, r = this,
227            l = i(e.currentTarget);
228        switch (l.is("a") && e.preventDefault(), l.is("li") || (l = l.closest("li")), n = r.slideCount % r.options.slidesToScroll != 0, o = n ? 0 : (r.slideCount - r.currentSlide) % r.options.slidesToScroll, e.data.message) {
229            case "previous":
230                s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide - s, !1, t);
231                break;
232            case "next":
233                s = 0 === o ? r.options.slidesToScroll : o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide + s, !1, t);
234                break;
235            case "index":
236                var d = 0 === e.data.index ? 0 : e.data.index || l.index() * r.options.slidesToScroll;
237                r.slideHandler(r.checkNavigable(d), !1, t), l.children().trigger("focus");
238                break;
239            default:
240                return
241        }
242    }, e.prototype.checkNavigable = function(i) {
243        var e, t;
244        if (e = this.getNavigableIndexes(), t = 0, i > e[e.length - 1]) i = e[e.length - 1];
245        else
246            for (var o in e) {
247                if (i < e[o]) {
248                    i = t;
249                    break
250                }
251                t = e[o]
252            }
253        return i
254    }, e.prototype.cleanUpEvents = function() {
255        var e = this;
256        e.options.dots && null !== e.$dots && (i("li", e.$dots).off("click.slick", e.changeSlide).off("mouseenter.slick", i.proxy(e.interrupt, e, !0)).off("mouseleave.slick", i.proxy(e.interrupt, e, !1)), !0 === e.options.accessibility && e.$dots.off("keydown.slick", e.keyHandler)), e.$slider.off("focus.slick blur.slick"), !0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide), e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide), !0 === e.options.accessibility && (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler), e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))), e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler), e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler), e.$list.off("touchend.slick mouseup.slick", e.swipeHandler), e.$list.off("touchcancel.slick mouseleave.
256slick", e.swipeHandler), e.$list.off("click.slick", e.clickHandler), i(document).off(e.visibilityChange, e.visibility), e.cleanUpSlideEvents(), !0 === e.options.accessibility && e.$list.off("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().off("click.slick", e.selectHandler), i(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange), i(window).off("resize.slick.slick-" + e.instanceUid, e.resize), i("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault), i(window).off("load.slick.slick-" + e.instanceUid, e.setPosition)
257    }, e.prototype.cleanUpSlideEvents = function() {
258        var e = this;
259        e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1))
260    }, e.prototype.cleanUpRows = function() {
261        var i, e = this;
262        e.options.rows > 1 && ((i = e.$slides.children().children()).removeAttr("style"), e.$slider.empty().append(i))
263    }, e.prototype.clickHandler = function(i) {
264        !1 === this.shouldClick && (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault())
265    }, e.prototype.destroy = function(e) {
266        var t = this;
267        t.autoPlayClear(), t.touchObject = {}, t.cleanUpEvents(), i(".slick-cloned", t.$slider).detach(), t.$dots && t.$dots.remove(), t.$prevArrow && t.$prevArrow.length && (t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove()), t.$nextArrow && t.$nextArrow.length && (t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove()), t.$slides && (t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function() {
268            i(this).attr("style", i(this).data("originalStyling"))
269        }), t.$slideTrack.children(this.options.slide).detach(), t.$slideTrack.detach(), t.$list.detach(), t.$slider.append(t.$slides)), t.cleanUpRows(), t.$slider.removeClass("slick-slider"), t.$slider.removeClass("slick-initialized"), t.$slider.removeClass("slick-dotted"), t.unslicked = !0, e || t.$slider.trigger("destroy", [t])
270    }, e.prototype.disableTransition = function(i) {
271        var e = this,
272            t = {};
273        t[e.transitionType] = "", !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t)
274    }, e.prototype.fadeSlide = function(i, e) {
275        var t = this;
276        !1 === t.cssTransitions ? (t.$slides.eq(i).css({
277            zIndex: t.options.zIndex
278        }), t.$slides.eq(i).animate({
279            opacity: 1
280        }, t.options.speed, t.options.easing, e)) : (t.applyTransition(i), t.$slides.eq(i).css({
281            opacity: 1,
282            zIndex: t.options.zIndex
283        }), e && setTimeout(function() {
284            t.disableTransition(i), e.call()
285        }, t.options.speed))
286    }, e.prototype.fadeSlideOut = function(i) {
287        var e = this;
288        !1 === e.cssTransitions ? e.$slides.eq(i).animate({
289            opacity: 0,
290            zIndex: e.options.zIndex - 2
291        }, e.options.speed, e.options.easing) : (e.applyTransition(i), e.$slides.eq(i).css({
292            opacity: 0,
293            zIndex: e.options.zIndex - 2
294        }))
295    }, e.prototype.filterSlides = e.prototype.slickFilter = function(i) {
296        var e = this;
297        null !== i && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(i).appendTo(e.$slideTrack), e.reinit())
298    }, e.prototype.focusHandler = function() {
299        var e = this;
300        e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", function(t) {
301            t.stopImmediatePropagation();
302            var o = i(this);
303            setTimeout(function() {
304                e.options.pauseOnFocus && (e.focussed = o.is(":focus"), e.autoPlay())
305            }, 0)
306        })
307    }, e.prototype.getCurrent = e.prototype.slickCurrentSlide = function() {
308        return this.currentSlide
309    }, e.prototype.getDotCount = function() {
310        var i = this,
311            e = 0,
312            t = 0,
313            o = 0;
314        if (!0 === i.options.infinite)
315            if (i.slideCount <= i.options.slidesToShow) ++o;
316            else
317                for (; e < i.slideCount;) ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
vendor: 4,777 bytes, lines 318-354
318        else if (!0 === i.options.centerMode) o = i.slideCount;
319        else if (i.options.asNavFor)
320            for (; e < i.slideCount;) ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
321        else o = 1 + Math.ceil((i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll);
322        return o - 1
323    }, e.prototype.getLeft = function(i) {
324        var e, t, o, s, n = this,
325            r = 0;
326        return n.slideOffset = 0, t = n.$slides.first().outerHeight(!0), !0 === n.options.infinite ? (n.slideCount > n.options.slidesToShow && (n.slideOffset = n.slideWidth * n.options.slidesToShow * -1, s = -1, !0 === n.options.vertical && !0 === n.options.centerMode && (2 === n.options.slidesToShow ? s = -1.5 : 1 === n.options.slidesToShow && (s = -2)), r = t * n.options.slidesToShow * s), n.slideCount % n.options.slidesToScroll != 0 && i + n.options.slidesToScroll > n.slideCount && n.slideCount > n.options.slidesToShow && (i > n.slideCount ? (n.slideOffset = (n.options.slidesToShow - (i - n.slideCount)) * n.slideWidth * -1, r = (n.options.slidesToShow - (i - n.slideCount)) * t * -1) : (n.slideOffset = n.slideCount % n.options.slidesToScroll * n.slideWidth * -1, r = n.slideCount % n.options.slidesToScroll * t * -1))) : i + n.options.slidesToShow > n.slideCount && (n.slideOffset = (i + n.options.slidesToShow - n.slideCount) * n.slideWidth, r = (i + n.options.slidesToShow - n.slideCount) * t), n.slideCount <= n.options.slidesToShow && (n.slideOffset = 0, r = 0), !0 === n.options.centerMode && n.slideCount <= n.options.slidesToShow ? n.slideOffset = n.slideWidth * Math.floor(n.options.slidesToShow) / 2 - n.slideWidth * n.slideCount / 2 : !0 === n.options.centerMode && !0 === n.options.infinite ? n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2) - n.slideWidth : !0 === n.options.centerMode && (n.slideOffset = 0, n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2)), e = !1 === n.options.vertical ? i * n.slideWidth * -1 + n.slideOffset : i * t * -1 + r, !0 === n.options.variableWidth && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, !0 === n.options.centerMode && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow + 1), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, e += (n.$list.width() - o.outerWidth()) / 2)), e
327    }, e.prototype.getOption = e.prototype.slickGetOption = function(i) {
328        return this.options[i]
329    }, e.prototype.getNavigableIndexes = function() {
330        var i, e = this,
331            t = 0,
332            o = 0,
333            s = [];
334        for (!1 === e.options.infinite ? i = e.slideCount : (t = -1 * e.options.slidesToScroll, o = -1 * e.options.slidesToScroll, i = 2 * e.slideCount); t < i;) s.push(t), t = o + e.options.slidesToScroll, o += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;
335        return s
336    }, e.prototype.getSlick = function() {
337        return this
338    }, e.prototype.getSlideCount = function() {
339        var e, t, o = this;
340        return t = !0 === o.options.centerMode ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) : 0, !0 === o.options.swipeToSlide ? (o.$slideTrack.find(".slick-slide").each(function(s, n) {
341            if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft) return e = n, !1
342        }), Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1) : o.options.slidesToScroll
343    }, e.prototype.goTo = e.prototype.slickGoTo = function(i, e) {
344        this.changeSlide({
345            data: {
346                message: "index",
347                index: parseInt(i)
348            }
349        }, e)
350    }, e.prototype.init = function(e) {
351        var t = this;
352        i(t.$slider).hasClass("slick-initialized") || (i(t.$slider).addClass("slick-initialized"), t.buildRows(), t.buildOut(), t.setProps(), t.startLoad(), t.loadSlider(), t.initializeEvents(), t.updateArrows(), t.updateDots(), t.checkResponsive(!0), t.focusHandler()), e && t.$slider.trigger("init", [t]), !0 === t.options.accessibility && t.initADA(), t.options.autoplay && (t.paused = !1, t.autoPlay())
353    }, e.prototype.initADA = function() {
354        var e = this,
355            t = Math.ceil(e.slideCount / e.options.slidesToShow),
356            o = e.getNavigableIndexes().filter(function(i) {
357                return i >= 0 && i < e.slideCount
358            });
359        e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({
360            "aria-hidden": "true",
361            tabindex: "-1"
362        }).find("a, input, button, select").attr({
363            tabindex: "-1"
364        }), null !== e.$dots && (e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t) {
365            var s = o.indexOf(t);
366            i(this).attr({
367                role: "tabpanel",
368                id: "slick-slide" + e.instanceUid + t,
369                tabindex: -1
370            }), -1 !== s && i(this).attr({
371                "aria-describedby": "slick-slide-control" + e.instanceUid + s
372            })
373        }), e.$dots.attr("role", "tablist").find("li").each(function(s) {
374            var n = o[s];
375            i(this).attr({
376                role: "presentation"
377            }), i(this).find("button").first().attr({
378                role: "tab",
379                id: "slick-slide-control" + e.instanceUid + s,
380                "aria-controls": "slick-slide" + e.instanceUid + n,
381                "aria-label": s + 1 + " of " + t,
382                "aria-selected": null,
383                tabindex: "-1"
384            })
385        }).eq(e.currentSlide).find("button").attr({
386            "aria-selected": "true",
387            tabindex: "0"
388        }).end());
389        for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++) e.$slides.eq(s).attr("tabindex", 0);
390        e.activateADA()
391    }, e.prototype.initArrowEvents = function() {
392        var i = this;
393        !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.off("click.slick").on("click.slick", {
394            message: "previous"
395        }, i.changeSlide), i.$nextArrow.off("click.slick").on("click.slick", {
396            message: "next"
397        }, i.changeSlide), !0 === i.options.accessibility && (i.$prevArrow.on("keydown.slick", i.keyHandler), i.$nextArrow.on("keydown.slick", i.keyHandler)))
398    }, e.prototype.initDotEvents = function() {
399        var e = this;
400        !0 === e.options.dots && (i("li", e.$dots).on("click.slick", {
401            message: "index"
402        }, e.changeSlide), !0 === e.options.accessibility && e.$dots.on("keydown.slick", e.keyHandler)), !0 === e.options.dots && !0 === e.options.pauseOnDotsHover && i("li", e.$dots).on("mouseenter.slick", i.proxy(e.interrupt, e, !0)).on("mouseleave.slick", i.proxy(e.interrupt, e, !1))
403    }, e.prototype.initSlideEvents = function() {
404        var e = this;
405        e.options.pauseOnHover && (e.$list.on("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.on("mouseleave.slick", i.proxy(e.interrupt, e, !1)))
406    }, e.prototype.initializeEvents = function() {
407        var e = this;
408        e.initArrowEvents(), e.initDotEvents(), e.initSlideEvents(), e.$list.on("touchstart.slick mousedown.slick", {
409            action: "start"
410        }, e.swipeHandler), e.$list.on("touchmove.slick mousemove.slick", {
411            action: "move"
412        }, e.swipeHandler), e.$list.on("touchend.slick mouseup.slick", {
413            action: "end"
414        }
vendor: 14,335 bytes, lines 414-594
414, e.swipeHandler), e.$list.on("touchcancel.slick mouseleave.slick", {
415            action: "end"
416        }, e.swipeHandler), e.$list.on("click.slick", e.clickHandler), i(document).on(e.visibilityChange, i.proxy(e.visibility, e)), !0 === e.options.accessibility && e.$list.on("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler), i(window).on("orientationchange.slick.slick-" + e.instanceUid, i.proxy(e.orientationChange, e)), i(window).on("resize.slick.slick-" + e.instanceUid, i.proxy(e.resize, e)), i("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault), i(window).on("load.slick.slick-" + e.instanceUid, e.setPosition), i(e.setPosition)
417    }, e.prototype.initUI = function() {
418        var i = this;
419        !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.show(), i.$nextArrow.show()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.show()
420    }, e.prototype.keyHandler = function(i) {
421        var e = this;
422        i.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === i.keyCode && !0 === e.options.accessibility ? e.changeSlide({
423            data: {
424                message: !0 === e.options.rtl ? "next" : "previous"
425            }
426        }) : 39 === i.keyCode && !0 === e.options.accessibility && e.changeSlide({
427            data: {
428                message: !0 === e.options.rtl ? "previous" : "next"
429            }
430        }))
431    }, e.prototype.lazyLoad = function() {
432        function e(e) {
433            i("img[data-lazy]", e).each(function() {
434                var e = i(this),
435                    t = i(this).attr("data-lazy"),
436                    o = i(this).attr("data-srcset"),
437                    s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes"),
438                    r = document.createElement("img");
439                r.onload = function() {
440                    e.animate({
441                        opacity: 0
442                    }, 100, function() {
443                        o && (e.attr("srcset", o), s && e.attr("sizes", s)), e.attr("src", t).animate({
444                            opacity: 1
445                        }, 200, function() {
446                            e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")
447                        }), n.$slider.trigger("lazyLoaded", [n, e, t])
448                    })
449                }, r.onerror = function() {
450                    e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), n.$slider.trigger("lazyLoadError", [n, e, t])
451                }, r.src = t
452            })
453        }
454        var t, o, s, n = this;
455        if (!0 === n.options.centerMode ? !0 === n.options.infinite ? s = (o = n.currentSlide + (n.options.slidesToShow / 2 + 1)) + n.options.slidesToShow + 2 : (o = Math.max(0, n.currentSlide - (n.options.slidesToShow / 2 + 1)), s = n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide) : (o = n.options.infinite ? n.options.slidesToShow + n.currentSlide : n.currentSlide, s = Math.ceil(o + n.options.slidesToShow), !0 === n.options.fade && (o > 0 && o--, s <= n.slideCount && s++)), t = n.$slider.find(".slick-slide").slice(o, s), "anticipated" === n.options.lazyLoad)
456            for (var r = o - 1, l = s, d = n.$slider.find(".slick-slide"), a = 0; a < n.options.slidesToScroll; a++) r < 0 && (r = n.slideCount - 1), t = (t = t.add(d.eq(r))).add(d.eq(l)), r--, l++;
457        e(t), n.slideCount <= n.options.slidesToShow ? e(n.$slider.find(".slick-slide")) : n.currentSlide >= n.slideCount - n.options.slidesToShow ? e(n.$slider.find(".slick-cloned").slice(0, n.options.slidesToShow)) : 0 === n.currentSlide && e(n.$slider.find(".slick-cloned").slice(-1 * n.options.slidesToShow))
458    }, e.prototype.loadSlider = function() {
459        var i = this;
460        i.setPosition(), i.$slideTrack.css({
461            opacity: 1
462        }), i.$slider.removeClass("slick-loading"), i.initUI(), "progressive" === i.options.lazyLoad && i.progressiveLazyLoad()
463    }, e.prototype.next = e.prototype.slickNext = function() {
464        this.changeSlide({
465            data: {
466                message: "next"
467            }
468        })
469    }, e.prototype.orientationChange = function() {
470        var i = this;
471        i.checkResponsive(), i.setPosition()
472    }, e.prototype.pause = e.prototype.slickPause = function() {
473        var i = this;
474        i.autoPlayClear(), i.paused = !0
475    }, e.prototype.play = e.prototype.slickPlay = function() {
476        var i = this;
477        i.autoPlay(), i.options.autoplay = !0, i.paused = !1, i.focussed = !1, i.interrupted = !1
478    }, e.prototype.postSlide = function(e) {
479        var t = this;
480        t.unslicked || (t.$slider.trigger("afterChange", [t, e]), t.animating = !1, t.slideCount > t.options.slidesToShow && t.setPosition(), t.swipeLeft = null, t.options.autoplay && t.autoPlay(), !0 === t.options.accessibility && (t.initADA(), t.options.focusOnChange && i(t.$slides.get(t.currentSlide)).attr("tabindex", 0).focus()))
481    }, e.prototype.prev = e.prototype.slickPrev = function() {
482        this.changeSlide({
483            data: {
484                message: "previous"
485            }
486        })
487    }, e.prototype.preventDefault = function(i) {
488        i.preventDefault()
489    }, e.prototype.progressiveLazyLoad = function(e) {
490        e = e || 1;
491        var t, o, s, n, r, l = this,
492            d = i("img[data-lazy]", l.$slider);
493        d.length ? (t = d.first(), o = t.attr("data-lazy"), s = t.attr("data-srcset"), n = t.attr("data-sizes") || l.$slider.attr("data-sizes"), (r = document.createElement("img")).onload = function() {
494            s && (t.attr("srcset", s), n && t.attr("sizes", n)), t.attr("src", o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"), !0 === l.options.adaptiveHeight && l.setPosition(), l.$slider.trigger("lazyLoaded", [l, t, o]), l.progressiveLazyLoad()
495        }, r.onerror = function() {
496            e < 3 ? setTimeout(function() {
497                l.progressiveLazyLoad(e + 1)
498            }, 500) : (t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), l.$slider.trigger("lazyLoadError", [l, t, o]), l.progressiveLazyLoad())
499        }, r.src = o) : l.$slider.trigger("allImagesLoaded", [l])
500    }, e.prototype.refresh = function(e) {
501        var t, o, s = this;
502        o = s.slideCount - s.options.slidesToShow, !s.options.infinite && s.currentSlide > o && (s.currentSlide = o), s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0), t = s.currentSlide, s.destroy(!0), i.extend(s, s.initials, {
503            currentSlide: t
504        }), s.init(), e || s.changeSlide({
505            data: {
506                message: "index",
507                index: t
508            }
509        }, !1)
510    }, e.prototype.registerBreakpoints = function() {
511        var e, t, o, s = this,
512            n = s.options.responsive || null;
513        if ("array" === i.type(n) && n.length) {
514            s.respondTo = s.options.respondTo || "window";
515            for (e in n)
516                if (o = s.breakpoints.length - 1, n.hasOwnProperty(e)) {
517                    for (t = n[e].breakpoint; o >= 0;) s.breakpoints[o] && s.breakpoints[o] === t && s.breakpoints.splice(o, 1), o--;
518                    s.breakpoints.push(t), s.breakpointSettings[t] = n[e].settings
519                } s.breakpoints.sort(function(i, e) {
520                return s.options.mobileFirst ? i - e : e - i
521            })
522        }
523    }, e.prototype.reinit = function() {
524        var e = this;
525        e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"), e.slideCount = e.$slides.length, e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll), e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), e.registerBreakpoints(), e.setProps(), e.setupInfinite(), e.buildArrows(), e.updateArrows(), e.initArrowEvents(), e.buildDots(), e.updateDots(), e.initDotEvents(), e.cleanUpSlideEvents(), e.initSlideEvents(), e.checkResponsive(!1, !0), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), e.setPosition(), e.focusHandler(), e.paused = !e.options.autoplay, e.autoPlay(), e.$slider.trigger("reInit", [e])
526    }, e.prototype.resize = function() {
527        var e = this;
528        i(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout(function() {
529            e.windowWidth = i(window).width(), e.checkResponsive(), e.unslicked || e.setPosition()
530        }, 50))
531    }, e.prototype.removeSlide = e.prototype.slickRemove = function(i, e, t) {
532        var o = this;
533        if (i = "boolean" == typeof i ? !0 === (e = i) ? 0 : o.slideCount - 1 : !0 === e ? --i : i, o.slideCount < 1 || i < 0 || i > o.slideCount - 1) return !1;
534        o.unload(), !0 === t ? o.$slideTrack.children().remove() : o.$slideTrack.children(this.options.slide).eq(i).remove(), o.$slides = o.$slideTrack.children(this.options.slide), o.$slideTrack.children(this.options.slide).detach(), o.$slideTrack.append(o.$slides), o.$slidesCache = o.$slides, o.reinit()
535    }, e.prototype.setCSS = function(i) {
536        var e, t, o = this,
537            s = {};
538        !0 === o.options.rtl && (i = -i), e = "left" == o.positionProp ? Math.ceil(i) + "px" : "0px", t = "top" == o.positionProp ? Math.ceil(i) + "px" : "0px", s[o.positionProp] = i, !1 === o.transformsEnabled ? o.$slideTrack.css(s) : (s = {}, !1 === o.cssTransitions ? (s[o.animType] = "translate(" + e + ", " + t + ")", o.$slideTrack.css(s)) : (s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)", o.$slideTrack.css(s)))
539    }, e.prototype.setDimensions = function() {
540        var i = this;
541        !1 === i.options.vertical ? !0 === i.options.centerMode && i.$list.css({
542            padding: "0px " + i.options.centerPadding
543        }) : (i.$list.height(i.$slides.first().outerHeight(!0) * i.options.slidesToShow), !0 === i.options.centerMode && i.$list.css({
544            padding: i.options.centerPadding + " 0px"
545        })), i.listWidth = i.$list.width(), i.listHeight = i.$list.height(), !1 === i.options.vertical && !1 === i.options.variableWidth ? (i.slideWidth = Math.ceil(i.listWidth / i.options.slidesToShow), i.$slideTrack.width(Math.ceil(i.slideWidth * i.$slideTrack.children(".slick-slide").length))) : !0 === i.options.variableWidth ? i.$slideTrack.width(5e3 * i.slideCount) : (i.slideWidth = Math.ceil(i.listWidth), i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0) * i.$slideTrack.children(".slick-slide").length)));
546        var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width();
547        !1 === i.options.variableWidth && i.$slideTrack.children(".slick-slide").width(i.slideWidth - e)
548    }, e.prototype.setFade = function() {
549        var e, t = this;
550        t.$slides.each(function(o, s) {
551            e = t.slideWidth * o * -1, !0 === t.options.rtl ? i(s).css({
552                position: "relative",
553                right: e,
554                top: 0,
555                zIndex: t.options.zIndex - 2,
556                opacity: 0
557            }) : i(s).css({
558                position: "relative",
559                left: e,
560                top: 0,
561                zIndex: t.options.zIndex - 2,
562                opacity: 0
563            })
564        }), t.$slides.eq(t.currentSlide).css({
565            zIndex: t.options.zIndex - 1,
566            opacity: 1
567        })
568    }, e.prototype.setHeight = function() {
569        var i = this;
570        if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
571            var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
572            i.$list.css("height", e)
573        }
574    }, e.prototype.setOption = e.prototype.slickSetOption = function() {
575        var e, t, o, s, n, r = this,
576            l = !1;
577        if ("object" === i.type(arguments[0]) ? (o = arguments[0], l = arguments[1], n = "multiple") : "string" === i.type(arguments[0]) && (o = arguments[0], s = arguments[1], l = arguments[2], "responsive" === arguments[0] && "array" === i.type(arguments[1]) ? n = "responsive" : void 0 !== arguments[1] && (n = "single")), "single" === n) r.options[o] = s;
578        else if ("multiple" === n) i.each(o, function(i, e) {
579            r.options[i] = e
580        });
581        else if ("responsive" === n)
582            for (t in s)
583                if ("array" !== i.type(r.options.responsive)) r.options.responsive = [s[t]];
584                else {
585                    for (e = r.options.responsive.length - 1; e >= 0;) r.options.responsive[e].breakpoint === s[t].breakpoint && r.options.responsive.splice(e, 1), e--;
586                    r.options.responsive.push(s[t])
587                } l && (r.unload(), r.reinit())
588    }, e.prototype.setPosition = function() {
589        var i = this;
590        i.setDimensions(), i.setHeight(), !1 === i.options.fade ? i.setCSS(i.getLeft(i.currentSlide)) : i.setFade(), i.$slider.trigger("setPosition", [i])
591    }, e.prototype.setProps = function() {
592        var i = this,
593            e = document.body.style;
594        i.positionProp = !0 === i.options.vertical ? "top" : "left", "top" === i.positionProp ? i.$slider.addClass("slick-vertical") : i.$slider.removeClass("slick-vertical"), void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition || !0 === i.options.useCSS && (i.cssTransitions = !0), i.options.fade && ("number" == typeof i.options.zIndex ? i.options.zIndex < 3 && (i.options.zIndex = 3) : i.options.zIndex = i.defaults.zIndex), void 0 !== e.OTransform && (i.animType = "OTransform", i.transformType = "-o-transform", i.transitionType = "OTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.MozTransform && (i.animType = "MozTransform", i.transformType = "-moz-transform", i.transitionType = "MozTransition", void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (i.animType = !1)), void 0 !== e.webkitTransform && (i.animType = "
594webkitTransform", i.transformType = "-webkit-transform", i.transitionType = "webkitTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.msTransform && (i.animType = "msTransform", i.transformType = "-ms-transform", i.transitionType = "msTransition", void 0 === e.msTransform && (i.animType = !1)), void 0 !== e.transform && !1 !== i.animType && (i.animType = "transform", i.transformType = "transform", i.transitionType = "transition"), i.transformsEnabled = i.options.useTransform && null !== i.animType && !1 !== i.animType
595    }, e.prototype.setSlideClasses = function(i) {
596        var e, t, o, s, n = this;
597        if (t = n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), n.$slides.eq(i).addClass("slick-current"), !0 === n.options.centerMode) {
598            var r = n.options.slidesToShow % 2 == 0 ? 1 : 0;
599            e = Math.floor(n.options.slidesToShow / 2), !0 === n.options.infinite && (i >= e && i <= n.slideCount - 1 - e ? n.$slides.slice(i - e + r, i + e + 1).addClass("slick-active").attr("aria-hidden", "false") : (o = n.options.slidesToShow + i, t.slice(o - e + 1 + r, o + e + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === i ? t.eq(t.length - 1 - n.options.slidesToShow).addClass("slick-center") : i === n.slideCount - 1 && t.eq(n.options.slidesToShow).addClass("slick-center")), n.$slides.eq(i).addClass("slick-center")
600        } else i >= 0 && i <= n.slideCount - n.options.slidesToShow ? n.$slides.slice(i, i + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : t.length <= n.options.slidesToShow ? t.addClass("slick-active").attr("aria-hidden", "false") : (s = n.slideCount % n.options.slidesToShow, o = !0 === n.options.infinite ? n.options.slidesToShow + i : i, n.options.slidesToShow == n.options.slidesToScroll && n.slideCount - i < n.options.slidesToShow ? t.slice(o - (n.options.slidesToShow - s), o + s).addClass("slick-active").attr("aria-hidden", "false") : t.slice(o, o + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false"));
601        "ondemand" !== n.options.lazyLoad && "anticipated" !== n.options.lazyLoad || n.lazyLoad()
602    }, e.prototype.setupInfinite = function() {
603        var e, t, o, s = this;
604        if (!0 === s.options.fade && (s.options.centerMode = !1), !0 === s.options.infinite && !1 === s.options.fade && (t = null, s.slideCount > s.options.slidesToShow)) {
605            for (o = !0 === s.options.centerMode ? s.options.slidesToShow + 1 : s.options.slidesToShow, e = s.slideCount; e > s.slideCount - o; e -= 1) t = e - 1, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t - s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");
606            for (e = 0; e < o + s.slideCount; e += 1) t = e, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t + s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");
607            s.$slideTrack.find(".slick-cloned").find("[id]").each(function() {
608                i(this).attr("id", "")
609            })
610        }
611    }, e.prototype.interrupt = function(i) {
612        var e = this;
613        i || e.autoPlay(), e.interrupted = i
614    }, e.prototype.selectHandler = function(e) {
615        var t = this,
616            o = i(e.target).is(".slick-slide") ? i(e.target) : i(e.target).parents(".slick-slide"),
617            s = parseInt(o.attr("data-slick-index"));
618        s || (s = 0), t.slideCount <= t.options.slidesToShow ? t.slideHandler(s, !1, !0) : t.slideHandler(s)
619    }, e.prototype.slideHandler = function(i, e, t) {
620        var o, s, n, r, l, d = null,
621            a = this;
622        if (e = e || !1, !(!0 === a.animating && !0 === a.options.waitForAnimate || !0 === a.options.fade && a.currentSlide === i))
623            if (!1 === e && a.asNavFor(i), o = i, d = a.getLeft(o), r = a.getLeft(a.currentSlide), a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft, !1 === a.options.infinite && !1 === a.options.centerMode && (i < 0 || i > a.getDotCount() * a.options.slidesToScroll)) !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function() {
624                a.postSlide(o)
625            }) : a.postSlide(o));
626            else if (!1 === a.options.infinite && !0 === a.options.centerMode && (i < 0 || i > a.slideCount - a.options.slidesToScroll)) !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function() {
627            a.postSlide(o)
628        }) : a.postSlide(o));
629        else {
630            if (a.options.autoplay && clearInterval(a.autoPlayTimer), s = o < 0 ? a.slideCount % a.options.slidesToScroll != 0 ? a.slideCount - a.slideCount % a.options.slidesToScroll : a.slideCount + o : o >= a.slideCount ? a.slideCount % a.options.slidesToScroll != 0 ? 0 : o - a.slideCount : o, a.animating = !0, a.$slider.trigger("beforeChange", [a, a.currentSlide, s]), n = a.currentSlide, a.currentSlide = s, a.setSlideClasses(a.currentSlide), a.options.asNavFor && (l = (l = a.getNavTarget()).slick("getSlick")).slideCount <= l.options.slidesToShow && l.setSlideClasses(a.currentSlide), a.updateDots(), a.updateArrows(), !0 === a.options.fade) return !0 !== t ? (a.fadeSlideOut(n), a.fadeSlide(s, function() {
631                a.postSlide(s)
632            })) : a.postSlide(s), void a.animateHeight();
633            !0 !== t ? a.animateSlide(d, function() {
634                a.postSlide(s)
635            }) : a.postSlide(s)
636        }
637    }, e.prototype.startLoad = function() {
638        var i = this;
639        !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.hide(), i.$nextArrow.hide()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.hide(), i.$slider.addClass("slick-loading")
640    }, e.prototype.swipeDirection = function() {
641        var i, e, t, o, s = this;
642        return i = s.touchObject.startX - s.touchObject.curX, e = s.touchObject.startY - s.touchObject.curY, t = Math.atan2(e, i), (o = Math.round(180 * t / Math.PI)) < 0 && (o = 360 - Math.abs(o)), o <= 45 && o >= 0 ? !1 === s.options.rtl ? "left" : "right" : o <= 360 && o >= 315 ? !1 === s.options.rtl ? "left" : "right" : o >= 135 && o <= 225 ? !1 === s.options.rtl ? "right" : "left" : !0 === s.options.verticalSwiping ? o >= 35 && o <= 135 ? "down" : "up" : "vertical"
643    }, e.prototype.swipeEnd = function(i) {
644        var e, t, o = this;
645        if (o.dragging = !1, o.swiping = !1, o.scrolling) return o.scrolling = !1, !1;
646        if (o.interrupted = !1, o.shouldClick = !(o.touchObject.swipeLength > 10), void 0 === o.touchObject.curX) return !1;
647        if (!0 === o.touchObject.edgeHit && o.$slider.trigger("edge", [o, o.swipeDirection()]), o.touchObject.swipeLength >= o.touchObject.minSwipe) {
648            switch (t = o.swipeDirection()) {
vendor: 4,282 bytes, lines 649-684
649                case "left":
650                case "down":
651                    e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide + o.getSlideCount()) : o.currentSlide + o.getSlideCount(), o.currentDirection = 0;
652                    break;
653                case "right":
654                case "up":
655                    e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide - o.getSlideCount()) : o.currentSlide - o.getSlideCount(), o.currentDirection = 1
656            }
657            "vertical" != t && (o.slideHandler(e), o.touchObject = {}, o.$slider.trigger("swipe", [o, t]))
658        } else o.touchObject.startX !== o.touchObject.curX && (o.slideHandler(o.currentSlide), o.touchObject = {})
659    }, e.prototype.swipeHandler = function(i) {
660        var e = this;
661        if (!(!1 === e.options.swipe || "ontouchend" in document && !1 === e.options.swipe || !1 === e.options.draggable && -1 !== i.type.indexOf("mouse"))) switch (e.touchObject.fingerCount = i.originalEvent && void 0 !== i.originalEvent.touches ? i.originalEvent.touches.length : 1, e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold, !0 === e.options.verticalSwiping && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold), i.data.action) {
662            case "start":
663                e.swipeStart(i);
664                break;
665            case "move":
666                e.swipeMove(i);
667                break;
668            case "end":
669                e.swipeEnd(i)
670        }
671    }, e.prototype.swipeMove = function(i) {
672        var e, t, o, s, n, r, l = this;
673        return n = void 0 !== i.originalEvent ? i.originalEvent.touches : null, !(!l.dragging || l.scrolling || n && 1 !== n.length) && (e = l.getLeft(l.currentSlide), l.touchObject.curX = void 0 !== n ? n[0].pageX : i.clientX, l.touchObject.curY = void 0 !== n ? n[0].pageY : i.clientY, l.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(l.touchObject.curX - l.touchObject.startX, 2))), r = Math.round(Math.sqrt(Math.pow(l.touchObject.curY - l.touchObject.startY, 2))), !l.options.verticalSwiping && !l.swiping && r > 4 ? (l.scrolling = !0, !1) : (!0 === l.options.verticalSwiping && (l.touchObject.swipeLength = r), t = l.swipeDirection(), void 0 !== i.originalEvent && l.touchObject.swipeLength > 4 && (l.swiping = !0, i.preventDefault()), s = (!1 === l.options.rtl ? 1 : -1) * (l.touchObject.curX > l.touchObject.startX ? 1 : -1), !0 === l.options.verticalSwiping && (s = l.touchObject.curY > l.touchObject.startY ? 1 : -1), o = l.touchObject.swipeLength, l.touchObject.edgeHit = !1, !1 === l.options.infinite && (0 === l.currentSlide && "right" === t || l.currentSlide >= l.getDotCount() && "left" === t) && (o = l.touchObject.swipeLength * l.options.edgeFriction, l.touchObject.edgeHit = !0), !1 === l.options.vertical ? l.swipeLeft = e + o * s : l.swipeLeft = e + o * (l.$list.height() / l.listWidth) * s, !0 === l.options.verticalSwiping && (l.swipeLeft = e + o * s), !0 !== l.options.fade && !1 !== l.options.touchMove && (!0 === l.animating ? (l.swipeLeft = null, !1) : void l.setCSS(l.swipeLeft))))
674    }, e.prototype.swipeStart = function(i) {
675        var e, t = this;
676        if (t.interrupted = !0, 1 !== t.touchObject.fingerCount || t.slideCount <= t.options.slidesToShow) return t.touchObject = {}, !1;
677        void 0 !== i.originalEvent && void 0 !== i.originalEvent.touches && (e = i.originalEvent.touches[0]), t.touchObject.startX = t.touchObject.curX = void 0 !== e ? e.pageX : i.clientX, t.touchObject.startY = t.touchObject.curY = void 0 !== e ? e.pageY : i.clientY, t.dragging = !0
678    }, e.prototype.unfilterSlides = e.prototype.slickUnfilter = function() {
679        var i = this;
680        null !== i.$slidesCache && (i.unload(), i.$slideTrack.children(this.options.slide).detach(), i.$slidesCache.appendTo(i.$slideTrack), i.reinit())
681    }, e.prototype.unload = function() {
682        var e = this;
683        i(".slick-cloned", e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(), e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(), e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "")
684    }
684, e.prototype.unslick = function(i) {
685        var e = this;
686        e.$slider.trigger("unslick", [e, i]), e.destroy()
687    }, e.prototype.updateArrows = function() {
688        var i = this;
689        Math.floor(i.options.slidesToShow / 2), !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && !i.options.infinite && (i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === i.currentSlide ? (i.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - i.options.slidesToShow && !1 === i.options.centerMode ? (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - 1 && !0 === i.options.centerMode && (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")))
690    }, e.prototype.updateDots = function() {
691        var i = this;
692        null !== i.$dots && (i.$dots.find("li").removeClass("slick-active").end(), i.$dots.find("li").eq(Math.floor(i.currentSlide / i.options.slidesToScroll)).addClass("slick-active"))
693    }, e.prototype.visibility = function() {
694        var i = this;
695        i.options.autoplay && (document[i.hidden] ? i.interrupted = !0 : i.interrupted = !1)
696    }, i.fn.slick = function() {
697        var i, t, o = this,
698            s = arguments[0],
699            n = Array.prototype.slice.call(arguments, 1),
700            r = o.length;
701        for (i = 0; i < r; i++)
702            if ("object" == typeof s || void 0 === s ? o[i].slick = new e(o[i], s) : t = o[i].slick[s].apply(o[i].slick, n), void 0 !== t) return t;
703        return o
704    }
705});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.