PageSourceSearch

https://www.celinedion.com/wp-content/themes/celinedion/js/working-js/plugins.js

js celinedion.com collected 2026-10-02 03:51:45 UTC 75,391 bytes, 624 lines download raw bytes

1// //load in jQuery plugin dependencies (eg. flexslider, smoothScroll etc.) in this file
2
3// /*!
4//  * Flickity PACKAGED v2.1.2
5//  * Touch, responsive, flickable carousels
6//  *
7//  * Licensed GPLv3 for open source use
8//  * or Flickity Commercial License for commercial use
9//  *
10//  * https://flickity.metafizzy.co
11//  * Copyright 2015-2018 Metafizzy
12//  */
13
14// ! function(t, e) { "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("jquery")) : t.jQueryBridget = e(t, t.jQuery) }(window, function(t, e) { "use strict";
15
16//     function i(i, o, a) {
17//         function l(t, e, n) { var s, o = "$()." + i + '("' + e + '")'; return t.each(function(t, l) { var h = a.data(l, i); if (!h) return void r(i + " not initialized. Cannot call methods, i.e. " + o); var c = h[e]; if (!c || "_" == e.charAt(0)) return void r(o + " is not a valid method"); var d = c.apply(h, n);
18//                 s = void 0 === s ? d : s }), void 0 !== s ? s : t }
19
20//         function h(t, e) { t.each(function(t, n) { var s = a.data(n, i);
21//                 s ? (s.option(e), s._init()) : (s = new o(n, e), a.data(n, i, s)) }) }
22//         a = a || e || t.jQuery, a && (o.prototype.option || (o.prototype.option = function(t) { a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)) }), a.fn[i] = function(t) { if ("string" == typeof t) { var e = s.call(arguments, 1); return l(this, t, e) } return h(this, t), this }, n(a)) }
23
24//     function n(t) {!t || t && t.bridget || (t.bridget = i) } var s = Array.prototype.slice,
25//         o = t.console,
26//         r = "undefined" == typeof o ? function() {} : function(t) { o.error(t) }; return n(e || t.jQuery), i }),
27// function(t, e) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() }("undefined" != typeof window ? window : this, function() {
28//     function t() {} var e = t.prototype; return e.on = function(t, e) { if (t && e) { var i = this._events = this._events || {},
29//                 n = i[t] = i[t] || []; return n.indexOf(e) == -1 && n.push(e), this } }, e.once = function(t, e) { if (t && e) { this.on(t, e); var i = this._onceEvents = this._onceEvents || {},
30//                 n = i[t] = i[t] || {}; return n[e] = !0, this } }, e.off = function(t, e) { var i = this._events && this._events[t]; if (i && i.length) { var n = i.indexOf(e); return n != -1 && i.splice(n, 1), this } }, e.emitEvent = function(t, e) { var i = this._events && this._events[t]; if (i && i.length) { i = i.slice(0), e = e || []; for (var n = this._onceEvents && this._onceEvents[t], s = 0; s < i.length; s++) { var o = i[s],
31//                     r = n && n[o];
32//                 r && (this.off(t, o), delete n[o]), o.apply(this, e) } return this } }, e.allOff = function() { delete this._events, delete this._onceEvents }, t }),
33// function(t, e) { "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e() }(window, function() { "use strict";
34
35//     function t(t) { var e = parseFloat(t),
36//             i = t.indexOf("%") == -1 && !isNaN(e); return i && e }
37
38//     function e() {}
39
40//     function i() { for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; e < h; e++) { var i = l[e];
41//             t[i] = 0 } return t }
42
43//     function n(t) { var e = getComputedStyle(t); return e || a("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e }
44
45//     function s() { if (!c) { c = !0; var e = document.createElement("div");
46//             e.style.width = "200px", e.style.padding = "1px 2px 3px 4px", e.style.borderStyle = "solid", e.style.borderWidth = "1px 2px 3px 4px", e.style.boxSizing = "border-box"; var i = document.body || document.documentElement;
47//             i.appendChild(e); var s = n(e);
48//             r = 200 == Math.round(t(s.width)), o.isBoxSizeOuter = r, i.removeChild(e) } }
49
50//     function o(e) { if (s(), "string" == typeof e && (e = document.querySelector(e)), e && "object" == typeof e && e.nodeType) { var o = n(e); if ("none" == o.display) return i(); var a = {};
51//             a.width = e.offsetWidth, a.height = e.offsetHeight; for (var c = a.isBorderBox = "border-box" == o.boxSizing, d = 0; d < h; d++) { var u = l[d],
52//                     f = o[u],
53//                     p = parseFloat(f);
54//                 a[u] = isNaN(p) ? 0 : p } var g = a.paddingLeft + a.paddingRight,
55//                 v = a.paddingTop + a.paddingBottom,
56//                 m = a.marginLeft + a.marginRight,
57//                 y = a.marginTop + a.marginBottom,
58//                 b = a.borderLeftWidth + a.borderRightWidth,
59//                 E = a.borderTopWidth + a.borderBottomWidth,
60//                 S = c && r,
61//                 C = t(o.width);
62//             C !== !1 && (a.width = C + (S ? 0 : g + b)); var x = t(o.height); return x !== !1 && (a.height = x + (S ? 0 : v + E)), a.innerWidth = a.width - (g + b), a.innerHeight = a.height - (v + E), a.outerWidth = a.width + m, a.outerHeight = a.height + y, a } } var r, a = "undefined" == typeof console ? e : function(t) { console.error(t) },
63//         l = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"],
64//         h = l.length,
65//         c = !1; return o }),
66// function(t, e) { "use strict"; "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() }(window, function() { "use strict"; var t = function() { var t = window.Element.prototype; if (t.matches) return "matches"; if (t.matchesSelector) return "matchesSelector"; for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { var n = e[i],
67//                 s = n + "MatchesSelector"; if (t[s]) return s } }(); return function(e, i) { return e[t](i) } }),
68// function(t, e) { "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.matchesSelector) }(window, function(t, e) { var i = {};
69//     i.extend = function(t, e) { for (var i in e) t[i] = e[i]; return t }, i.modulo = function(t, e) { return (t % e + e) % e }; var n = Array.prototype.slice;
70//     i.makeArray = function(t) { if (Array.isArray(t)) return t; if (null === t || void 0 === t) return []; var e = "object" == typeof t && "number" == typeof t.length; return e ? n.call(t) : [t] }, i.removeFrom = function(t, e) { var i = t.indexOf(e);
71//         i != -1 && t.splice(i, 1) }, i.getParent = function(t, i) { for (; t.parentNode && t != document.body;)
72//             if (t = t.parentNode, e(t, i)) return t }, i.getQueryElement = function(t) { return "string" == typeof t ? document.querySelector(t) : t }, i.handleEvent = function(t) { var e = "on" + t.type;
73//         this[e] && this[e](t) }, i.filterFindElements = function(t, n) { t = i.makeArray(t); var s = []; return t.forEach(function(t) { if (t instanceof HTMLElement) { if (!n) return void s.push(t);
74//                 e(t, n) && s.push(t); for (var i = t.querySelectorAll(n), o = 0; o < i.length; o++) s.push(i[o]) } }), s }, i.debounceMethod = function(t, e, i) { i = i || 100; var n = t.prototype[e],
75//             s = e + "Timeout";
76//         t.prototype[e] = function() { var t = this[s];
77//             clearTimeout(t); var e = arguments,
78//                 o = this;
79//             this[s] = setTimeout(function() { n.apply(o, e), delete o[s] }, i) } }, i.docReady = function(t) { var e = document.readyState; "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t) }, i.toDashed = function(t) { return t.replace(/(.)([A-Z])/g, function(t, e, i) { return e + "-" + i }).toLowerCase() }; var s = t.console; return i.htmlInit = function(e, n) { i.docReady(function() { var o = i.toDashed(n),
80//                 r = "data-" + o,
81//                 a = document.querySelectorAll("[" + r + "]"),
82//                 l = document.querySelectorAll(".js-" + o),
83//                 h = i.makeArray(a).concat(i.makeArray(l)),
84//                 c = r + "-options",
85//                 d = t.jQuery;
86//             h.forEach(function(t) { var i, o = t.getAttribute(r) || t.getAttribute(c); try { i = o && JSON.parse(o) } catch (a) { return void(s && s.error("Error parsing " + r + " on " + t.className + ": " + a)) } var l = new e(t, i);
87//                 d && d.data(t, n, l) }) }) }, i }),
88// function(t, e) { "function" == typeof define && define.amd ? define("flickity/js/cell", ["get-size/get-size"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("get-size")) : (t.Flickity = t.Flickity || {}, t.Flickity.Cell = e(t, t.getSize)) }(window, function(t, e) {
89//     function i(t, e) { this.element = t, this.parent = e, this.create() } var n = i.prototype; return n.create = function() { this.element.style.position = "absolute", this.element.setAttribute("aria-selected", "false"), this.x = 0, this.shift = 0 }, n.destroy = function() { this.element.style.position = ""; var t = this.parent.originSide;
90//         this.element.removeAttribute("aria-selected"), this.element.style[t] = "" }, n.getSize = function() { this.size = e(this.element) }, n.setPosition = function(t) { this.x = t, this.updateTarget(), this.renderPosition(t) }, n.updateTarget = n.setDefaultTarget = function() { var t = "left" == this.parent.originSide ? "marginLeft" : "marginRight";
91//         this.target = this.x + this.size[t] + this.size.width * this.parent.cellAlign }, n.renderPosition = function(t) { var e = this.parent.originSide;
92//         this.element.style[e] = this.parent.getPositionValue(t) }, n.wrapShift = function(t) { this.shift = t, this.renderPosition(this.x + this.parent.slideableWidth * t) }, n.remove = function() { this.element.parentNode.removeChild(this.element) }, i }),
93// function(t, e) { "function" == typeof define && define.amd ? define("flickity/js/slide", e) : "object" == typeof module && module.exports ? module.exports = e() : (t.Flickity = t.Flickity || {}, t.Flickity.Slide = e()) }(window, function() { "use strict";
94
95//     function t(t) { this.parent = t, this.isOriginLeft = "left" == t.originSide, this.cells = [], this.outerWidth = 0, this.height = 0 } var e = t.prototype; return e.addCell = function(t) { if (this.cells.push(t), this.outerWidth += t.size.outerWidth, this.height = Math.max(t.size.outerHeight, this.height), 1 == this.cells.length) { this.x = t.x; var e = this.isOriginLeft ? "marginLeft" : "marginRight";
96//             this.firstMargin = t.size[e] } }, e.updateTarget = function() { var t = this.isOriginLeft ? "marginRight" : "marginLeft",
97//             e = this.getLastCell(),
98//             i = e ? e.size[t] : 0,
99//             n = this.outerWidth - (this.firstMargin + i);
100//         this.target = this.x + this.firstMargin + n * this.parent.cellAlign }, e.getLastCell = function() { return this.cells[this.cells.length - 1] }, e.select = function() { this.changeSelected(!0) }, e.unselect = function() { this.changeSelected(!1) }, e.changeSelected = function(t) { var e = t ? "add" : "remove";
101//         this.cells.forEach(function(i) { i.element.classList[e]("is-selected"), i.element.setAttribute("aria-selected", t.toString()) }) }, e.getCellElements = function() { return this.cells.map(function(t) { return t.element }) }, t }),
102// function(t, e) { "function" == typeof define && define.amd ? define("flickity/js/animate", ["fizzy-ui-utils/utils"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("fizzy-ui-utils")) : (t.Flickity = t.Flickity || {}, t.Flickity.animatePrototype = e(t, t.fizzyUIUtils)) }(window, function(t, e) { var i = {}; return i.startAnimation = function() { this.isAnimating || (this.isAnimating = !0, this.restingFrames = 0, this.animate()) }, i.animate = function() { this.applyDragForce(), this.applySelectedAttraction(); var t = this.x; if (this.integratePhysics(), this.positionSlider(), this.settle(t), this.isAnimating) { var e = this;
103//             requestAnimationFrame(function() { e.animate() }) } }, i.positionSlider = function() { var t = this.x;
104//         this.options.wrapAround && this.cells.length > 1 && (t = e.modulo(t, this.slideableWidth), t -= this.slideableWidth, this.shiftWrapCells(t)), t += this.cursorPosition, t = this.options.rightToLeft ? -t : t; var i = this.getPositionValue(t);
105//         this.slider.style.transform = this.isAnimating ? "translate3d(" + i + ",0,0)" : "translateX(" + i + ")"; var n = this.slides[0]; if (n) { var s = -this.x - n.target,
106//                 o = s / this.slidesWidth;
107//             this.dispatchEvent("scroll", null, [o, s]) } }, i.positionSliderAtSelected = function() { this.cells.length && (this.x = -this.selectedSlide.target, this.velocity = 0, this.positionSlider()) }, i.getPositionValue = function(t) { return this.options.percentPosition ? .01 * Math.round(t / this.size.innerWidth * 1e4) + "%" : Math.round(t) + "px" }, i.settle = function(t) { this.isPointerDown || Math.round(100 * this.x) != Math.round(100 * t) || this.restingFrames++, this.restingFrames > 2 && (this.isAnimating = !1, delete this.isFreeScrolling, this.positionSlider(), this.dispatchEvent("settle", null, [this.selectedIndex])) }, i.shiftWrapCells = function(t) { var e = this.cursorPosition + t;
108//         this._shiftCells(this.beforeShiftCells, e, -1); var i = this.size.innerWidth - (t + this.slideableWidth + this.cursorPosition);
109//         this._shiftCells(this.afterShiftCells, i, 1) }, i._shiftCells = function(t, e, i) { for (var n = 0; n < t.length; n++) { var s = t[n],
110//                 o = e > 0 ? i : 0;
111//             s.wrapShift(o), e -= s.size.outerWidth } }, i._unshiftCells = function(t) { if (t && t.length)
112//             for (var e = 0; e < t.length; e++) t[e].wrapShift(0) }, i.integratePhysics = function() { this.x += this.velocity, this.velocity *= this.getFrictionFactor() }, i.applyForce = function(t) { this.velocity += t }, i.getFrictionFactor = function() { return 1 - this.options[this.isFreeScrolling ? "freeScrollFriction" : "friction"] }, i.getRestingPosition = function() { return this.x + this.velocity / (1 - this.getFrictionFactor()) }, i.applyDragForce = function() { if (this.isDraggable && this.isPointerDown) { var t = this.dragX - this.x,
113//                 e = t - this.velocity;
114//             this.applyForce(e) } }, i.applySelectedAttraction = function() { var t = this.isDraggable && this.isPointerDown; if (!t && !this.isFreeScrolling && this.slides.length) { var e = this.selectedSlide.target * -1 - this.x,
115//                 i = e * this.options.selectedAttraction;
116//             this.applyForce(i) } }, i }),
117// function(t, e) { if ("function" == typeof define && define.amd) define("flickity/js/flickity", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./cell", "./slide", "./animate"], function(i, n, s, o, r, a) { return e(t, i, n, s, o, r, a) });
118//     else if ("object" == typeof module && module.exports) module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./cell"), require("./sli
118de"), require("./animate"));
119//     else { var i = t.Flickity;
120//         t.Flickity = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, i.Cell, i.Slide, i.animatePrototype) } }(window, function(t, e, i, n, s, o, r) {
121//     function a(t, e) { for (t = n.makeArray(t); t.length;) e.appendChild(t.shift()) }
122
123//     function l(t, e) { var i = n.getQueryElement(t); if (!i) return void(d && d.error("Bad element for Flickity: " + (i || t))); if (this.element = i, this.element.flickityGUID) { var s = f[this.element.flickityGUID]; return s.option(e), s }
124//         h && (this.$element = h(this.element)), this.options = n.extend({}, this.constructor.defaults), this.option(e), this._create() } var h = t.jQuery,
125//         c = t.getComputedStyle,
126//         d = t.console,
127//         u = 0,
128//         f = {};
129//     l.defaults = { accessibility: !0, cellAlign: "center", freeScrollFriction: .075, friction: .28, namespaceJQueryEvents: !0, percentPosition: !0, resize: !0, selectedAttraction: .025, setGallerySize: !0 }, l.createMethods = []; var p = l.prototype;
130//     n.extend(p, e.prototype), p._create = function() { var e = this.guid = ++u;
131//         this.element.flickityGUID = e, f[e] = this, this.selectedIndex = 0, this.restingFrames = 0, this.x = 0, this.velocity = 0, this.originSide = this.options.rightToLeft ? "right" : "left", this.viewport = document.createElement("div"), this.viewport.className = "flickity-viewport", this._createSlider(), (this.options.resize || this.options.watchCSS) && t.addEventListener("resize", this); for (var i in this.options.on) { var n = this.options.on[i];
132//             this.on(i, n) }
133//         l.createMethods.forEach(function(t) { this[t]() }, this), this.options.watchCSS ? this.watchCSS() : this.activate() }, p.option = function(t) { n.extend(this.options, t) }, p.activate = function() { if (!this.isActive) { this.isActive = !0, this.element.classList.add("flickity-enabled"), this.options.rightToLeft && this.element.classList.add("flickity-rtl"), this.getSize(); var t = this._filterFindCellElements(this.element.children);
134//             a(t, this.slider), this.viewport.appendChild(this.slider), this.element.appendChild(this.viewport), this.reloadCells(), this.options.accessibility && (this.element.tabIndex = 0, this.element.addEventListener("keydown", this)), this.emitEvent("activate"); var e, i = this.options.initialIndex;
135//             e = this.isInitActivated ? this.selectedIndex : void 0 !== i && this.cells[i] ? i : 0, this.select(e, !1, !0), this.isInitActivated = !0, this.dispatchEvent("ready") } }, p._createSlider = function() { var t = document.createElement("div");
136//         t.className = "flickity-slider", t.style[this.originSide] = 0, this.slider = t }, p._filterFindCellElements = function(t) { return n.filterFindElements(t, this.options.cellSelector) }, p.reloadCells = function() { this.cells = this._makeCells(this.slider.children), this.positionCells(), this._getWrapShiftCells(), this.setGallerySize() }, p._makeCells = function(t) { var e = this._filterFindCellElements(t),
137//             i = e.map(function(t) { return new s(t, this) }, this); return i }, p.getLastCell = function() { return this.cells[this.cells.length - 1] }, p.getLastSlide = function() { return this.slides[this.slides.length - 1] }, p.positionCells = function() { this._sizeCells(this.cells), this._positionCells(0) }, p._positionCells = function(t) { t = t || 0, this.maxCellHeight = t ? this.maxCellHeight || 0 : 0; var e = 0; if (t > 0) { var i = this.cells[t - 1];
138//             e = i.x + i.size.outerWidth } for (var n = this.cells.length, s = t; s < n; s++) { var o = this.cells[s];
139//             o.setPosition(e), e += o.size.outerWidth, this.maxCellHeight = Math.max(o.size.outerHeight, this.maxCellHeight) }
140//         this.slideableWidth = e, this.updateSlides(), this._containSlides(), this.slidesWidth = n ? this.getLastSlide().target - this.slides[0].target : 0 }, p._sizeCells = function(t) { t.forEach(function(t) { t.getSize() }) }, p.updateSlides = function() { if (this.slides = [], this.cells.length) { var t = new o(this);
141//             this.slides.push(t); var e = "left" == this.originSide,
142//                 i = e ? "marginRight" : "marginLeft",
143//                 n = this._getCanCellFit();
144//             this.cells.forEach(function(e, s) { if (!t.cells.length) return void t.addCell(e); var r = t.outerWidth - t.firstMargin + (e.size.outerWidth - e.size[i]);
145//                 n.call(this, s, r) ? t.addCell(e) : (t.updateTarget(), t = new o(this), this.slides.push(t), t.addCell(e)) }, this), t.updateTarget(), this.updateSelectedSlide() } }, p._getCanCellFit = function() { var t = this.options.groupCells; if (!t) return function() { return !1 }; if ("number" == typeof t) { var e = parseInt(t, 10); return function(t) { return t % e !== 0 } } var i = "string" == typeof t && t.match(/^(\d+)%$/),
146//             n = i ? parseInt(i[1], 10) / 100 : 1; return function(t, e) { return e <= (this.size.innerWidth + 1) * n } }, p._init = p.reposition = function() { this.positionCells(), this.positionSliderAtSelected() }, p.getSize = function() { this.size = i(this.element), this.setCellAlign(), this.cursorPosition = this.size.innerWidth * this.cellAlign }; var g = { center: { left: .5, right: .5 }, left: { left: 0, right: 1 }, right: { right: 0, left: 1 } }; return p.setCellAlign = function() { var t = g[this.options.cellAlign];
147//         this.cellAlign = t ? t[this.originSide] : this.options.cellAlign }, p.setGallerySize = function() { if (this.options.setGallerySize) { var t = this.options.adaptiveHeight && this.selectedSlide ? this.selectedSlide.height : this.maxCellHeight;
148//             this.viewport.style.height = t + "px" } }, p._getWrapShiftCells = function() { if (this.options.wrapAround) { this._unshiftCells(this.beforeShiftCells), this._unshiftCells(this.afterShiftCells); var t = this.cursorPosition,
149//                 e = this.cells.length - 1;
150//             this.beforeShiftCells = this._getGapCells(t, e, -1), t = this.size.innerWidth - this.cursorPosition, this.afterShiftCells = this._getGapCells(t, 0, 1) } }, p._getGapCells = function(t, e, i) { for (var n = []; t > 0;) { var s = this.cells[e]; if (!s) break;
151//             n.push(s), e += i, t -= s.size.outerWidth } return n }, p._containSlides = function() { if (this.options.contain && !this.options.wrapAround && this.cells.length) { var t = this.options.rightToLeft,
152//                 e = t ? "marginRight" : "marginLeft",
153//                 i = t ? "marginLeft" : "marginRight",
154//                 n = this.slideableWidth - this.getLastCell().size[i],
155//                 s = n < this.size.innerWidth,
156//                 o = this.cursorPosition + this.cells[0].size[e],
157//                 r = n - this.size.innerWidth * (1 - this.cellAlign);
158//             this.slides.forEach(function(t) { s ? t.target = n * this.cellAlign : (t.target = Math.max(t.target, o), t.target = Math.min(t.target, r)) }, this) } }, p.dispatchEvent = function(t, e, i) { var n = e ? [e].concat(i) : i; if (this.emitEvent(t, n), h && this.$element) { t += this.options.namespaceJQueryEvents ? ".flickity" : ""; var s = t; if (e) { var o = h.Event(e);
159//                 o.type = t, s = o }
160//             this.$element.trigger(s, i) } }, p.select = function(t, e, i) { if (this.isActive && (t = parseInt(t, 10), this._wrapSelect(t), (this.options.wrapAround || e) && (t = n.modulo(t, this.slides.length)), this.slides[t])) { var s = this.selectedIndex;
161//             this.selectedIndex = t, this.updateSelectedSlide(), i ? this.positionSliderAtSelected() : this.startAnimation(), this.options.adaptiveHeight && this.setGallerySize(), this.dispatchEvent("select", null, [t]), t != s && this.dispatchEvent("change", null, [t]), this.dispatchEvent("cellSelect") } }, p._wrapSelect = function(t) { var e = this.slides.length,
162//             i = this.options.wrapAround && e > 1; if (!i) return t; var s = n.modulo(t, e),
163//             o = Math.abs(s - this.selectedIndex),
164//             r = Math.abs(s + e - this.selectedIndex),
165//             a = Math.abs(s - e - this.selectedIndex);!this.isDragSelect && r < o ? t += e : !this.isDragSelect && a < o && (t -= e), t < 0 ? this.x -= this.slideableWidth : t >= e && (this.x += this.slideableWidth) }, p.previous = function(t, e) { this.select(this.selectedIndex - 1, t, e) }, p.next = function(t, e) { this.select(this.selectedIndex + 1, t, e) }, p.updateSelectedSlide = function() { var t = this.slides[this.selectedIndex];
166//         t && (this.unselectSelectedSlide(), this.selectedSlide = t, t.select(), this.selectedCells = t.cells, this.selectedElements = t.getCellElements(), this.selectedCell = t.cells[0], this.selectedElement = this.selectedElements[0]) }, p.unselectSelectedSlide = function() { this.selectedSlide && this.selectedSlide.unselect() }, p.selectCell = function(t, e, i) { var n = this.queryCell(t); if (n) { var s = this.getCellSlideIndex(n);
167//             this.select(s, e, i) } }, p.getCellSlideIndex = function(t) { for (var e = 0; e < this.slides.length; e++) { var i = this.slides[e],
168//                 n = i.cells.indexOf(t); if (n != -1) return e } }, p.getCell = function(t) { for (var e = 0; e < this.cells.length; e++) { var i = this.cells[e]; if (i.element == t) return i } }, p.getCells = function(t) { t = n.makeArray(t); var e = []; return t.forEach(function(t) { var i = this.getCell(t);
169//             i && e.push(i) }, this), e }, p.getCellElements = function() { return this.cells.map(function(t) { return t.element }) }, p.getParentCell = function(t) { var e = this.getCell(t); return e ? e : (t = n.getParent(t, ".flickity-slider > *"), this.getCell(t)) }, p.getAdjacentCellElements = function(t, e) { if (!t) return this.selectedSlide.getCellElements();
170//         e = void 0 === e ? this.selectedIndex : e; var i = this.slides.length; if (1 + 2 * t >= i) return this.getCellElements(); for (var s = [], o = e - t; o <= e + t; o++) { var r = this.options.wrapAround ? n.modulo(o, i) : o,
171//                 a = this.slides[r];
172//             a && (s = s.concat(a.getCellElements())) } return s }, p.queryCell = function(t) { return "number" == typeof t ? this.cells[t] : ("string" == typeof t && (t = this.element.querySelector(t)), this.getCell(t)) }, p.uiChange = function() { this.emitEvent("uiChange") }, p.childUIPointerDown = function(t) { this.emitEvent("childUIPointerDown", [t]) }, p.onresize = function() { this.watchCSS(), this.resize() }, n.debounceMethod(l, "onresize", 150), p.resize = function() { if (this.isActive) { this.get
172Size(), this.options.wrapAround && (this.x = n.modulo(this.x, this.slideableWidth)), this.positionCells(), this._getWrapShiftCells(), this.setGallerySize(), this.emitEvent("resize"); var t = this.selectedElements && this.selectedElements[0];
173//             this.selectCell(t, !1, !0) } }, p.watchCSS = function() { var t = this.options.watchCSS; if (t) { var e = c(this.element, ":after").content;
174//             e.indexOf("flickity") != -1 ? this.activate() : this.deactivate() } }, p.onkeydown = function(t) { var e = document.activeElement && document.activeElement != this.element; if (this.options.accessibility && !e) { var i = l.keyboardHandlers[t.keyCode];
175//             i && i.call(this) } }, l.keyboardHandlers = { 37: function() { var t = this.options.rightToLeft ? "next" : "previous";
176//             this.uiChange(), this[t]() }, 39: function() { var t = this.options.rightToLeft ? "previous" : "next";
177//             this.uiChange(), this[t]() } }, p.focus = function() { var e = t.pageYOffset;
178//         this.element.focus({ preventScroll: !0 }), t.pageYOffset != e && t.scrollTo(t.pageXOffset, e) }, p.deactivate = function() { this.isActive && (this.element.classList.remove("flickity-enabled"), this.element.classList.remove("flickity-rtl"), this.unselectSelectedSlide(), this.cells.forEach(function(t) { t.destroy() }), this.element.removeChild(this.viewport), a(this.slider.children, this.element), this.options.accessibility && (this.element.removeAttribute("tabIndex"), this.element.removeEventListener("keydown", this)), this.isActive = !1, this.emitEvent("deactivate")) }, p.destroy = function() { this.deactivate(), t.removeEventListener("resize", this), this.emitEvent("destroy"), h && this.$element && h.removeData(this.element, "flickity"), delete this.element.flickityGUID, delete f[this.guid] }, n.extend(p, r), l.data = function(t) { t = n.getQueryElement(t); var e = t && t.flickityGUID; return e && f[e] }, n.htmlInit(l, "flickity"), h && h.bridget && h.bridget("flickity", l), l.setJQuery = function(t) { h = t }, l.Cell = s, l }),
179// function(t, e) { "function" == typeof define && define.amd ? define("unipointer/unipointer", ["ev-emitter/ev-emitter"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter")) : t.Unipointer = e(t, t.EvEmitter) }(window, function(t, e) {
180//     function i() {}
181
182//     function n() {} var s = n.prototype = Object.create(e.prototype);
183//     s.bindStartEvent = function(t) { this._bindStartEvent(t, !0) }, s.unbindStartEvent = function(t) { this._bindStartEvent(t, !1) }, s._bindStartEvent = function(e, i) { i = void 0 === i || i; var n = i ? "addEventListener" : "removeEventListener",
184//             s = "mousedown";
185//         t.PointerEvent ? s = "pointerdown" : "ontouchstart" in t && (s = "touchstart"), e[n](s, this) }, s.handleEvent = function(t) { var e = "on" + t.type;
186//         this[e] && this[e](t) }, s.getTouch = function(t) { for (var e = 0; e < t.length; e++) { var i = t[e]; if (i.identifier == this.pointerIdentifier) return i } }, s.onmousedown = function(t) { var e = t.button;
187//         e && 0 !== e && 1 !== e || this._pointerDown(t, t) }, s.ontouchstart = function(t) { this._pointerDown(t, t.changedTouches[0]) }, s.onpointerdown = function(t) { this._pointerDown(t, t) }, s._pointerDown = function(t, e) { t.button || this.isPointerDown || (this.isPointerDown = !0, this.pointerIdentifier = void 0 !== e.pointerId ? e.pointerId : e.identifier, this.pointerDown(t, e)) }, s.pointerDown = function(t, e) { this._bindPostStartEvents(t), this.emitEvent("pointerDown", [t, e]) }; var o = { mousedown: ["mousemove", "mouseup"], touchstart: ["touchmove", "touchend", "touchcancel"], pointerdown: ["pointermove", "pointerup", "pointercancel"] }; return s._bindPostStartEvents = function(e) { if (e) { var i = o[e.type];
188//             i.forEach(function(e) { t.addEventListener(e, this) }, this), this._boundPointerEvents = i } }, s._unbindPostStartEvents = function() { this._boundPointerEvents && (this._boundPointerEvents.forEach(function(e) { t.removeEventListener(e, this) }, this), delete this._boundPointerEvents) }, s.onmousemove = function(t) { this._pointerMove(t, t) }, s.onpointermove = function(t) { t.pointerId == this.pointerIdentifier && this._pointerMove(t, t) }, s.ontouchmove = function(t) { var e = this.getTouch(t.changedTouches);
189//         e && this._pointerMove(t, e) }, s._pointerMove = function(t, e) { this.pointerMove(t, e) }, s.pointerMove = function(t, e) { this.emitEvent("pointerMove", [t, e]) }, s.onmouseup = function(t) { this._pointerUp(t, t) }, s.onpointerup = function(t) { t.pointerId == this.pointerIdentifier && this._pointerUp(t, t) }, s.ontouchend = function(t) { var e = this.getTouch(t.changedTouches);
190//         e && this._pointerUp(t, e) }, s._pointerUp = function(t, e) { this._pointerDone(), this.pointerUp(t, e) }, s.pointerUp = function(t, e) { this.emitEvent("pointerUp", [t, e]) }
190, s._pointerDone = function() { this._pointerReset(), this._unbindPostStartEvents(), this.pointerDone() }, s._pointerReset = function() { this.isPointerDown = !1, delete this.pointerIdentifier }, s.pointerDone = i, s.onpointercancel = function(t) { t.pointerId == this.pointerIdentifier && this._pointerCancel(t, t) }, s.ontouchcancel = function(t) { var e = this.getTouch(t.changedTouches);
191//         e && this._pointerCancel(t, e) }, s._pointerCancel = function(t, e) { this._pointerDone(), this.pointerCancel(t, e) }, s.pointerCancel = function(t, e) { this.emitEvent("pointerCancel", [t, e]) }, n.getPointerPoint = function(t) { return { x: t.pageX, y: t.pageY } }, n }),
192// function(t, e) { "function" == typeof define && define.amd ? define("unidragger/unidragger", ["unipointer/unipointer"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("unipointer")) : t.Unidragger = e(t, t.Unipointer) }(window, function(t, e) {
193//     function i() {} var n = i.prototype = Object.create(e.prototype);
194//     n.bindHandles = function() { this._bindHandles(!0) }, n.unbindHandles = function() { this._bindHandles(!1) }, n._bindHandles = function(e) { e = void 0 === e || e; for (var i = e ? "addEventListener" : "removeEventListener", n = e ? this._touchActionValue : "", s = 0; s < this.handles.length; s++) { var o = this.handles[s];
195//             this._bindStartEvent(o, e), o[i]("click", this), t.PointerEvent && (o.style.touchAction = n) } }, n._touchActionValue = "none", n.pointerDown = function(t, e) { var i = this.okayPointerDown(t);
196//         i && (this.pointerDownPointer = e, t.preventDefault(), this.pointerDownBlur(), this._bindPostStartEvents(t), this.emitEvent("pointerDown", [t, e])) }; var s = { TEXTAREA: !0, INPUT: !0, SELECT: !0, OPTION: !0 },
197//         o = { radio: !0, checkbox: !0, button: !0, submit: !0, image: !0, file: !0 }; return n.okayPointerDown = function(t) { var e = s[t.target.nodeName],
198//             i = o[t.target.type],
199//             n = !e || i; return n || this._pointerReset(), n }, n.pointerDownBlur = function() { var t = document.activeElement,
200//             e = t && t.blur && t != document.body;
201//         e && t.blur() }, n.pointerMove = function(t, e) { var i = this._dragPointerMove(t, e);
202//         this.emitEvent("pointerMove", [t, e, i]), this._dragMove(t, e, i) }, n._dragPointerMove = function(t, e) { var i = { x: e.pageX - this.pointerDownPointer.pageX, y: e.pageY - this.pointerDownPointer.pageY }; return !this.isDragging && this.hasDragStarted(i) && this._dragStart(t, e), i }, n.hasDragStarted = function(t) { return Math.abs(t.x) > 3 || Math.abs(t.y) > 3 }, n.pointerUp = function(t, e) { this.emitEvent("pointerUp", [t, e]), this._dragPointerUp(t, e) }, n._dragPointerUp = function(t, e) { this.isDragging ? this._dragEnd(t, e) : this._staticClick(t, e) }, n._dragStart = function(t, e) { this.isDragging = !0, this.isPreventing
vendor: 6,443 bytes, lines 202-236
202Clicks = !0, this.dragStart(t, e) }, n.dragStart = function(t, e) { this.emitEvent("dragStart", [t, e]) }, n._dragMove = function(t, e, i) { this.isDragging && this.dragMove(t, e, i) }, n.dragMove = function(t, e, i) { t.preventDefault(), this.emitEvent("dragMove", [t, e, i]) }, n._dragEnd = function(t, e) { this.isDragging = !1, setTimeout(function() { delete this.isPreventingClicks }.bind(this)), this.dragEnd(t, e) }, n.dragEnd = function(t, e) { this.emitEvent("dragEnd", [t, e]) }, n.onclick = function(t) { this.isPreventingClicks && t.preventDefault() }, n._staticClick = function(t, e) { this.isIgnoringMouseUp && "mouseup" == t.type || (this.staticClick(t, e), "mouseup" != t.type && (this.isIgnoringMouseUp = !0, setTimeout(function() { delete this.isIgnoringMouseUp }.bind(this), 400))) }, n.staticClick = function(t, e) { this.emitEvent("staticClick", [t, e]) }, i.getPointerPoint = e.getPointerPoint, i }),
203// function(t, e) { "function" == typeof define && define.amd ? define("flickity/js/drag", ["./flickity", "unidragger/unidragger", "fizzy-ui-utils/utils"], function(i, n, s) { return e(t, i, n, s) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("./flickity"), require("unidragger"), require("fizzy-ui-utils")) : t.Flickity = e(t, t.Flickity, t.Unidragger, t.fizzyUIUtils) }(window, function(t, e, i, n) {
204//     function s() { return { x: t.pageXOffset, y: t.pageYOffset } }
205//     n.extend(e.defaults, { draggable: ">1", dragThreshold: 3 }), e.createMethods.push("_createDrag");
206//     var o = e.prototype;
207//     n.extend(o, i.prototype), o._touchActionValue = "pan-y";
208//     var r = "createTouch" in document,
209//         a = !1;
210//     o._createDrag = function() { this.on("activate", this.onActivateDrag), this.on("uiChange", this._uiChangeDrag), this.on("childUIPointerDown", this._childUIPointerDownDrag), this.on("deactivate", this.onDeactivateDrag), this.on("cellChange", this.updateDraggable), r && !a && (t.addEventListener("touchmove", function() {}), a = !0) }, o.onActivateDrag = function() { this.handles = [this.viewport], this.bindHandles(), this.updateDraggable() }, o.onDeactivateDrag = function() { this.unbindHandles(), this.element.classList.remove("is-draggable") }, o.updateDraggable = function() { ">1" == this.options.draggable ? this.isDraggable = this.slides.length > 1 : this.isDraggable = this.options.draggable, this.isDraggable ? this.element.classList.add("is-draggable") : this.element.classList.remove("is-draggable") }, o.bindDrag = function() { this.options.draggable = !0, this.updateDraggable() }, o.unbindDrag = function() { this.options.draggable = !1, this.updateDraggable() }, o._uiChangeDrag = function() { delete this.isFreeScrolling }, o._childUIPointerDownDrag = function(t) { t.preventDefault(), this.pointerDownFocus(t) }, o.pointerDown = function(e, i) { if (!this.isDraggable) return void this._pointerDownDefault(e, i); var n = this.okayPointerDown(e);
211//         n && (this._pointerDownPreventDefault(e), this.pointerDownFocus(e), document.activeElement != this.element && this.pointerDownBlur(), this.dragX = this.x, this.viewport.classList.add("is-pointer-down"), this.pointerDownScroll = s(), t.addEventListener("scroll", this), this._pointerDownDefault(e, i)) }, o._pointerDownDefault = function(t, e) { this.pointerDownPointer = e, this._bindPostStartEvents(t), this.dispatchEvent("pointerDown", t, [e]) };
212//     var l = { INPUT: !0, TEXTAREA: !0, SELECT: !0 };
213//     return o.pointerDownFocus = function(t) { var e = l[t.target.nodeName];
214//         e || this.focus() }, o._pointerDownPreventDefault = function(t) { var e = "touchstart" == t.type,
215//             i = "touch" == t.pointerType,
216//             n = l[t.target.nodeName];
217//         e || i || n || t.preventDefault() }, o.hasDragStarted = function(t) { return Math.abs(t.x) > this.options.dragThreshold }, o.pointerUp = function(t, e) { delete this.isTouchScrolling, this.viewport.classList.remove("is-pointer-down"), this.dispatchEvent("pointerUp", t, [e]), this._dragPointerUp(t, e) }, o.pointerDone = function() { t.removeEventListener("scroll", this), delete this.pointerDownScroll }, o.dragStart = function(e, i) { this.isDraggable && (this.dragStartPosition = this.x, this.startAnimation(), t.removeEventListener("scroll", this), this.dispatchEvent("dragStart", e, [i])) }, o.pointerMove = function(t, e) { var i = this._dragPointerMove(t, e);
218//         this.dispatchEvent("pointerMove", t, [e, i]), this._dragMove(t, e, i) }, o.dragMove = function(t, e, i) {
219//         if (this.isDraggable) {
220//             t.preventDefault(), this.previousDragX = this.dragX;
221//             var n = this.options.rightToLeft ? -1 : 1;
222//             this.options.wrapAround && (i.x = i.x % this.slideableWidth);
223//             var s = this.dragStartPosition + i.x * n;
224//             if (!this.options.wrapAround && this.slides.length) { var o = Math.max(-this.slides[0].target, this.dragStartPosition);
225//                 s = s > o ? .5 * (s + o) : s; var r = Math.min(-this.getLastSlide().target, this.dragStartPosition);
226//                 s = s < r ? .5 * (s + r) : s }
227//             this.dragX = s, this.dragMoveTime = new Date,
228//                 this.dispatchEvent("dragMove", t, [e, i])
229//         }
230//     }, o.dragEnd = function(t, e) { if (this.isDraggable) { this.options.freeScroll && (this.isFreeScrolling = !0); var i = this.dragEndRestingSelect(); if (this.options.freeScroll && !this.options.wrapAround) { var n = this.getRestingPosition();
231//                 this.isFreeScrolling = -n > this.slides[0].target && -n < this.getLastSlide().target } else this.options.freeScroll || i != this.selectedIndex || (i += this.dragEndBoostSelect());
232//             delete this.previousDragX, this.isDragSelect = this.options.wrapAround, this.select(i), delete this.isDragSelect, this.dispatchEvent("dragEnd", t, [e]) } }, o.dragEndRestingSelect = function() { var t = this.getRestingPosition(),
233//             e = Math.abs(this.getSlideDistance(-t, this.selectedIndex)),
234//             i = this._getClosestResting(t, e, 1),
235//             n = this._getClosestResting(t, e, -1),
236//             s = i.distance < n.distance ? i.index : n.index; return s }, o._getClosestResting = function(t, e, i) { for (var n = this.selectedIndex, s = 1 / 0, o = this.options.contain && !this.options.wrapAround ? function(t, e) { return t <= e } : function(t, e) { return t < e };
236 o(e, s) && (n += i, s = e, e = this.getSlideDistance(-t, n), null !== e);) e = Math.abs(e); return { distance: s, index: n - i } }, o.getSlideDistance = function(t, e) { var i = this.slides.length,
237//             s = this.options.wrapAround && i > 1,
238//             o = s ? n.modulo(e, i) : e,
239//             r = this.slides[o]; if (!r) return null; var a = s ? this.slideableWidth * Math.floor(e / i) : 0; return t - (r.target + a) }, o.dragEndBoostSelect = function() { if (void 0 === this.previousDragX || !this.dragMoveTime || new Date - this.dragMoveTime > 100) return 0; var t = this.getSlideDistance(-this.dragX, this.selectedIndex),
240//             e = this.previousDragX - this.dragX; return t > 0 && e > 0 ? 1 : t < 0 && e < 0 ? -1 : 0 }, o.staticClick = function(t, e) { var i = this.getParentCell(t.target),
241//             n = i && i.element,
242//             s = i && this.cells.indexOf(i);
243//         this.dispatchEvent("staticClick", t, [e, n, s]) }, o.onscroll = function() { var t = s(),
244//             e = this.pointerDownScroll.x - t.x,
245//             i = this.pointerDownScroll.y - t.y;
246//         (Math.abs(e) > 3 || Math.abs(i) > 3) && this._pointerDone() }, e
247// }),
248// function(t, e) { "function" == typeof define && define.amd ? define("tap-listener/tap-listener", ["unipointer/unipointer"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("unipointer")) : t.TapListener = e(t, t.Unipointer) }(window, function(t, e) {
249//     function i(t) { this.bindTap(t) } var n = i.prototype = Object.create(e.prototype); return n.bindTap = function(t) { t && (this.unbindTap(), this.tapElement = t, this._bindStartEvent(t, !0)) }, n.unbindTap = function() { this.tapElement && (this._bindStartEvent(this.tapElement, !0), delete this.tapElement) }, n.pointerUp = function(i, n) { if (!this.isIgnoringMouseUp || "mouseup" != i.type) { var s = e.getPointerPoint(n),
250//                 o = this.tapElement.getBoundingClientRect(),
251//                 r = t.pageXOffset,
252//                 a = t.pageYOffset,
253//                 l = s.x >= o.left + r && s.x <= o.right + r && s.y >= o.top + a && s.y <= o.bottom + a; if (l && this.emitEvent("tap", [i, n]), "mouseup" != i.type) { this.isIgnoringMouseUp = !0; var h = this;
254//                 setTimeout(function() { delete h.isIgnoringMouseUp }, 400) } } }, n.destroy = function() { this.pointerDone(), this.unbindTap() }, i }),
255// function(t, e) { "function" == typeof define && define.amd ? define("flickity/js/prev-next-button", ["./flickity", "tap-listener/tap-listener", "fizzy-ui-utils/utils"], function(i, n, s) { return e(t, i, n, s) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("./flickity"), require("tap-listener"), require("fizzy-ui-utils")) : e(t, t.Flickity, t.TapListener, t.fizzyUIUtils) }(window, function(t, e, i, n) { "use strict";
256
257//     function s(t, e) { this.direction = t, this.parent = e, this._create() }
258
259//     function o(t) { return "string" == typeof t ? t : "M " + t.x0 + ",50 L " + t.x1 + "," + (t.y1 + 50) + " L " + t.x2 + "," + (t.y2 + 50) + " L " + t.x3 + ",50  L " + t.x2 + "," + (50 - t.y2) + " L " + t.x1 + "," + (50 - t.y1) + " Z" } var r = "http://www.w3.org/2000/svg";
260//     s.prototype = Object.create(i.prototype), s.prototype._create = function() { this.isEnabled = !0, this.isPrevious = this.direction == -1; var t = this.parent.options.rightToLeft ? 1 : -1;
261//         this.isLeft = this.direction == t; var e = this.element = document.createElement("button");
262//         e.className = "flickity-button flickity-prev-next-button", e.className += this.isPrevious ? " previous" : " next", e.setAttribute("type", "button"), this.disable(), e.setAttribute("aria-label", this.isPrevious ? "Previous" : "Next"); var i = this.createSVG();
263//         e.appendChild(i), this.on("tap", this.onTap), this.parent.on("select", this.update.bind(this)), this.on("pointerDown", this.parent.childUIPointerDown.bind(this.parent)) }, s.prototype.activate = function() { this.bindTap(this.element), this.element.addEventListener("click", this), this.parent.element.appendChild(this.element) }, s.prototype.deactivate = function() { this.parent.element.removeChild(this.element), i.prototype.destroy.call(this), this.element.removeEventListener("click", this) }, s.prototype.createSVG = function() { var t = document.createElementNS(r, "svg");
264//         t.setAttribute("class", "flickity-button-icon"), t.setAttribute("viewBox", "0 0 100 100"); var e = document.createElementNS(r, "path"),
265//             i = o(this.parent.options.arrowShape); return e.setAttribute("d", i), e.setAttribute("class", "arrow"), this.isLeft || e.setAttribute("transform", "translate(100, 100) rotate(180) "), t.appendChild(e), t }, s.prototype.onTap = function() { if (this.isEnabled) { this.parent.uiChange(); var t = this.isPrevious ? "previous" : "next";
266//             this.parent[t]() } }, s.prototype.handleEvent = n.handleEvent, s.prototype.onclick = function(t) { var e = document.activeElement;
267//         e && e == this.element && this.onTap(t, t) }, s.prototype.enable = function() { this.isEnabled || (this.element.disabled = !1, this.isEnabled = !0) }, s.prototype.disable = function() { this.isEnabled && (this.element.disabled = !0, this.isEnabled = !1) }, s.prototype.update = function() { var t = this.parent.slides; if (this.parent.options.wrapAround && t.length > 1) return void this.enable(); var e = t.length ? t.length - 1 : 0,
268//             i = this.isPrevious ? 0 : e,
269//             n = this.parent.selectedIndex == i ? "disable" : "enable";
270//         this[n]() }, s.prototype.destroy = function() { this.deactivate() }, n.extend(e.defaults, { prevNextButtons: !0, arrowShape: { x0: 10, x1: 60, y1: 50, x2: 70, y2: 40, x3: 30 } }), e.createMethods.push("_createPrevNextButtons"); var a = e.prototype; return a._createPrevNextButtons = function() { this.options.prevNextButtons && (this.prevButton = new s((-1), this), this.nextButton = new s(1, this), this.on("activate", this.activatePrevNextButtons)) }, a.activatePrevNextButtons = function() { this.prevButton.activate(), this.nextButton.activate(), this.on("deactivate", this.deactivatePrevNextButtons) }, a.deactivatePrevNextButtons = function() { this.prevButton.deactivate(), this.nextButton.deactivate(), this.off("deactivate", this.deactivatePrevNextButtons) }, e.PrevNextButton = s, e }),
271// function(t, e) { "function" == typeof define && define.amd ? define("flickity/js/page-dots", ["./flickity", "tap-listener/tap-listener", "fizzy-ui-utils/utils"], function(i, n, s) { return e(t, i, n, s) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("./flickity"), require("tap-listener"), require("fizzy-ui-utils")) : e(t, t.Flickity, t.TapListener, t.fizzyUIUtils) }(window, function(t, e, i, n) {
272//     function s(t) { this.parent = t, this._create() }
273//     s.prototype = new i, s.prototype._create = function() { this.holder = document.createElement("ol"), this.holder.className = "flickity-page-dots", this.dots = [], this.on("tap", this.onTap), this.on("pointerDown", this.parent.childUIPointerDown.bind(this.parent)) }, s.prototype.activate = function() { this.setDots(), this.bindTap(this.holder), this.parent.element.appendChild(this.holder) }, s.prototype.deactivate = function() { this.parent.element.removeChild(this.holder), i.prototype.destroy.call(this) }, s.prototype.setDots = function() { var t = this.parent.slides.length - this.dots.length;
274//         t > 0 ? this.addDots(t) : t < 0 && this.removeDots(-t) }, s.prototype.addDots = function(t) { for (var e = document.createDocumentFragment(), i = [], n = this.dots.length, s = n + t, o = n; o < s; o++) { var r = document.createElement("li");
275//             r.className = "dot", r.setAttribute("aria-label", "Page dot " + (o + 1)), e.appendChild(r), i.push(r) }
276//         this.holder.appendChild(e), this.dots = this.dots.concat(i) }, s.prototype.removeDots = function(t) { var e = this.dots.splice(this.dots.length - t, t);
277//         e.forEach(function(t) { this.holder.removeChild(t) }, this) }, s.prototype.updateSelected = function() { this.selectedDot && (this.selectedDot.className = "dot", this.selectedDot.removeAttribute("aria-current")), this.dots.length && (this.selectedDot = this.dots[this.parent.selectedIndex], this.selectedDot.className = "dot is-selected", this.selectedDot.setAttribute("aria-current", "step")) }, s.prototype.onTap = function(t) { var e = t.target; if ("LI" == e.nodeName) { this.parent.uiChange(); var i = this.dots.indexOf(e);
278//             this.parent.select(i) } }, s.prototype.destroy = function() { this.deactivate() }, e.PageDots = s, n.extend(e.defaults, { pageDots: !0 }), e.createMethods.push("_createPageDots"); var o = e.prototype; return o._createPageDots = function() { this.options.pageDots && (this.pageDots = new s(this), this.on("activate", this.activatePageDots), this.on("select", this.updateSelectedPageDots), this.on("cellChange", this.updatePageDots), this.on("resize", this.updatePageDots), this.on("deactivate", this.deactivatePageDots)) }, o.activatePageDots = function() { this.pageDots.activate() }, o.updateSelectedPageDots = function() { this.pageDots.updateSelected() }, o.updatePageDots = function() { this.pageDots.setDots() }, o.deactivatePageDots = function() { this.pageDots.deactivate() }, e.PageDots = s, e }),
279// function(t, e) { "function" == typeof define && define.amd ? define("flickity/js/player", ["ev-emitter/ev-emitter", "fizzy-ui-utils/utils", "./flickity"], function(t, i, n) { return e(t, i, n) }) : "object" == typeof module && module.exports ? module.exports = e(require("ev-emitter"), require("fizzy-ui-utils"), require("./flickity")) : e(t.EvEmitter, t.fizzyUIUtils, t.Flickity) }(window, function(t, e, i) {
280//     function n(t) { this.parent = t, this.state = "stopped", this.onVisibilityChange = this.visibilityChange.bind(this), this.onVisibilityPlay = this.visibilityPlay.bind(this) }
281//     n.prototype = Object.create(t.prototype), n.prototype.play = function() { if ("playing" != this.state) { var t = document.hidden; if (t) return void document.addEventListener("visibilitychange", this.onVisibilityPlay);
282//             this.state = "playing", document.addEventListener("visibilitychange", this.onVisibilityChange), this.tick() } }, n.prototype.tick = function() { if ("playing" == this.state) { var t = this.parent.options.autoPlay;
283//             t = "number" == typeof t ? t : 3e3; var e = this;
284//             this.clear(), this.timeout = setTimeout(function() { e.parent.next(!0), e.tick() }, t) } }, n.prototype.stop = function() { this.state = "stopped", this.clear(), document.removeEventListener("visibilitychange", this.onVisibilityChange) }, n.prototype.clear = function() { clearTimeout(this.timeout) }, n.prototype.pause = function() { "playing" == this.state && (this.state = "paused", this.clear()) }, n.prototype.unpause = function() { "paused" == this.state && this.play() }, n.prototype.visibilityChange = function() { var t = document.hidden;
285//         this[t ? "pause" : "unpause"]() }, n.prototype.visibilityPlay = function() { this.play(), document.removeEventListener("visibilitychange", this.onVisibilityPlay) }, e.extend(i.defaults, { pauseAutoPlayOnHover: !0 }), i.createMethods.push("_createPlayer"); var s = i.prototype; return s._createPlayer = function() { this.player = new n(this), this.on("activate", this.activatePlayer), this.on("uiChange", this.stopPlayer), this.on("pointerDown", this.stopPlayer), this.on("deactivate", this.deactivatePlayer) }, s.activatePlayer = function() { this.options.autoPlay && (this.player.play(), this.element.addEventListener("mouseenter", this)) }, s.playPlayer = function() { this.player.play() }, s.stopPlayer = function() { this.player.stop() }, s.pausePlayer = function() { this.player.pause() }, s.unpausePlayer = function() { this.player.unpause() }, s.deactivatePlayer = function() { this.player.stop(), this.element.removeEventListener("mouseenter", this) }, s.onmouseenter = function() { this.options.pauseAutoPlayOnHover && (this.player.pause(), this.element.addEventListener("mouseleave", this)) }, s.onmouseleave = function() { this.player.unpause(), this.element.removeEventListener("mouseleave", this) }, i.Player = n, i }),
286// function(t, e) { "function" == typeof define && define.amd ? define("flickity/js/add-remove-cell", ["./flickity", "fizzy-ui-utils/utils"], function(i, n) { return e(t, i, n) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("./flickity"), require("fizzy-ui-utils")) : e(t, t.Flickity, t.fizzyUIUtils) }(window, function(t, e, i) {
287//     function n(t) { var e = document.createDocumentFragment(); return t.forEach(function(t) { e.appendChild(t.element) }), e } var s = e.prototype; return s.insert = function(t, e) { var i = this._makeCells(t); if (i && i.length) { var s = this.cells.length;
288//             e = void 0 === e ? s : e; var o = n(i),
289//                 r = e == s; if (r) this.slider.appendChild(o);
290//             else { var a = this.cells[e].element;
291//                 this.slider.insertBefore(o, a) } if (0 === e) this.cells = i.concat(this.cells);
292//             else if (r) this.cells = this.cells.concat(i);
293//             else { var l = this.cells.splice(e, s - e);
294//                 this.cells = this.cells.concat(i).concat(l) }
295//             this._sizeCells(i), this.cellChange(e, !0) } }, s.append = function(t) { this.insert(t, this.cells.length) }, s.prepend = function(t) { this.insert(t, 0) }, s.remove = function(t) { var e = this.getCells(t); if (e && e.length) { var n = this.cells.length - 1;
296//             e.forEach(function(t) { t.remove(); var e = this.cells.indexOf(t);
297//                 n = Math.min(e, n), i.removeFrom(this.cells, t) }, this), this.cellChange(n, !0) } }, s.cellSizeChange = function(t) { var e = this.getCell(t); if (e) { e.getSize(); var i = this.cells.indexOf(e);
298//             this.cellChange(i) } }, s.cellChange = function(t, e) { var i = this.selectedElement;
299//         this._positionCells(t), this._getWrapShiftCells(), this.setGallerySize(); var n = this.getCell(i);
300//         n && (this.selectedIndex = this.getCellSlideIndex(n)), this.selectedIndex = Math.min(this.slides.length - 1, this.selectedIndex), this.emitEvent("cellChange", [t]), this.select(this.selectedIndex), e && this.positionSliderAtSelected() }, e }),
301// function(t, e) { "function" == typeof define && define.amd ? define("flickity/js/lazyload", ["./flickity", "fizzy-ui-utils/utils"], function(i, n) { return e(t, i, n) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("./flickity"), require("fizzy-ui-utils")) : e(t, t.Flickity, t.fizzyUIUtils) }(window, function(t, e, i) { "use strict";
302
303//     function n(t) { if ("IMG" == t.nodeName) { var e = t.getAttribute("data-flickity-lazyload"),
304//                 n = t.getAttribute("data-flickity-lazyload-src"),
305//                 s = t.getAttribute("data-flickity-lazyload-srcset"); if (e || n || s) return [t] } var o = "img[data-flickity-lazyload], img[data-flickity-lazyload-src], img[data-flickity-lazyload-srcset]",
306//             r = t.querySelectorAll(o); return i.makeArray(r) }
307
308//     function s(t, e) { this.img = t, this.flickity = e, this.load() }
309//     e.createMethods.push("_createLazyload"); var o = e.prototype; return o._createLazyload = function() { this.on("select", this.lazyLoad) }, o.lazyLoad = function() { var t = this.options.lazyLoad; if (t) { var e = "number" == typeof t ? t : 0,
310//                 i = this.getAdjacentCellElements(e),
311//                 o = [];
312//             i.forEach(function(t) { var e = n(t);
313//                 o = o.concat(e) }), o.forEach(function(t) { new s(t, this) }, this) } }, s.prototype.handleEvent = i.handleEvent, s.prototype.load = function() { this.img.addEventListener("load", this), this.img.addEventListener("error", this); var t = this.img.getAttribute("data-flickity-lazyload") || this.img.getAttribute("data-flickity-lazyload-src"),
314//             e = this.img.getAttribute("data-flickity-lazyload-srcset");
315//         this.img.src = t, e && this.img.setAttribute("srcset", e), this.img.removeAttribute("data-flickity-lazyload"), this.img.removeAttribute("data-flickity-lazyload-src"), this.img.removeAttribute("data-flickity-lazyload-srcset") }, s.prototype.onload = function(t) { this.complete(t, "flickity-lazyloaded") }, s.prototype.onerror = function(t) { this.complete(t, "flickity-lazyerror") }, s.prototype.complete = function(t, e) { this.img.removeEventListener("load", this), this.img.removeEventListener("error", this); var i = this.flickity.getParentCell(this.img),
316//             n = i && i.element;
317//         this.flickity.cellSizeChange(n), this.img.classList.add(e), this.flickity.dispatchEvent("lazyLoad", t, n) }, e.LazyLoader = s, e }),
318// function(t, e) { "function" == typeof define && define.amd ? define("flickity/js/index", ["./flickity", "./drag", "./prev-next-button", "./page-dots", "./player", "./add-remove-cell", "./lazyload"], e) : "object" == typeof module && module.exports && (module.exports = e(require("./flickity"), require("./drag"), require("./prev-next-button"), require("./page-dots"), require("./player"), require("./add-remove-cell"), require("./lazyload"))) }(window, function(t) { return t }),
319// function(t, e) { "function" == typeof define && define.amd ? define("flickity-as-nav-for/as-nav-for", ["flickity/js/index", "fizzy-ui-utils/utils"], e) : "object" == typeof module && module.exports ? module.exports = e(require("flickity"), require("fizzy-ui-utils")) : t.Flickity = e(t.Flickity, t.fizzyUIUtils) }(window, function(t, e) {
320//     function i(t, e, i) { return (e - t) * i + t }
321//     t.createMethods.push("_createAsNavFor"); var n = t.prototype; return n._createAsNavFor = function() { this.on("activate", this.activateAsNavFor), this.on("deactivate", this.deactivateAsNavFor), this.on("destroy", this.destroyAsNavFor); var t = this.options.asNavFor; if (t) { var e = this;
322//             setTimeout(function() { e.setNavCompanion(t) }) } }, n.setNavCompanion = function(i) { i = e.getQueryElement(i); var n = t.data(i); if (n && n != this) { this.navCompanion = n; var s = this;
323//             this.onNavCompanionSelect = function() { s.navCompanionSelect() }, n.on("select", this.onNavCompanionSelect), this.on("staticClick", this.onNavStaticClick), this.navCompanionSelect(!0) } }, n.navCompanionSelect = function(t) { if (this.navCompanion) { var e = this.navCompanion.selectedCells[0],
324//                 n = this.navCompanion.cells.indexOf(e),
325//                 s = n + this.navCompanion.selectedCells.length - 1,
326//                 o = Math.floor(i(n, s, this.navCompanion.cellAlign)); if (this.selectCell(o, !1, t), this.removeNavSelectedElements(), !(o >= this.cells.length)) { var r = this.cells.slice(n, s + 1);
327//                 this.navSelectedElements = r.map(function(t) { return t.element }), this.changeNavSelectedClass("add") } } }, n.changeNavSelectedClass = function(t) { this.navSelectedElements.forEac
327h(function(e) { e.classList[t]("is-nav-selected") }) }, n.activateAsNavFor = function() { this.navCompanionSelect(!0) }, n.removeNavSelectedElements = function() { this.navSelectedElements && (this.changeNavSelectedClass("remove"), delete this.navSelectedElements) }, n.onNavStaticClick = function(t, e, i, n) { "number" == typeof n && this.navCompanion.selectCell(n) }, n.deactivateAsNavFor = function() { this.removeNavSelectedElements() }, n.destroyAsNavFor = function() { this.navCompanion && (this.navCompanion.off("select", this.onNavCompanionSelect), this.off("staticClick", this.onNavStaticClick), delete this.navCompanion) }, t }),
328// function(t, e) { "use strict"; "function" == typeof define && define.amd ? define("imagesloaded/imagesloaded", ["ev-emitter/ev-emitter"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter")) : t.imagesLoaded = e(t, t.EvEmitter) }("undefined" != typeof window ? window : this, function(t, e) {
329//     function i(t, e) { for (var i in e) t[i] = e[i]; return t }
330
331//     function n(t) { if (Array.isArray(t)) return t; var e = "object" == typeof t && "number" == typeof t.length; return e ? h.call(t) : [t] }
332
333//     function s(t, e, o) { if (!(this instanceof s)) return new s(t, e, o); var r = t; return "string" == typeof t && (r = document.querySelectorAll(t)), r ? (this.elements = n(r), this.options = i({}, this.options), "function" == typeof e ? o = e : i(this.options, e), o && this.on("always", o), this.getImages(), a && (this.jqDeferred = new a.Deferred), void setTimeout(this.check.bind(this))) : void l.error("Bad element for imagesLoaded " + (r || t)) }
334
335//     function o(t) { this.img = t }
336
337//     function r(t, e) { this.url = t, this.element = e, this.img = new Image } var a = t.jQuery,
338//         l = t.console,
339//         h = Array.prototype.slice;
340//     s.prototype = Object.create(e.prototype), s.prototype.options = {}, s.prototype.getImages = function() { this.images = [], this.elements.forEach(this.addElementImages, this) }, s.prototype.addElementImages = function(t) { "IMG" == t.nodeName && this.addImage(t), this.options.background === !0 && this.addElementBackgroundImages(t); var e = t.nodeType; if (e && c[e]) { for (var i = t.querySelectorAll("img"), n = 0; n < i.length; n++) { var s = i[n];
341//                 this.addImage(s) } if ("string" == typeof this.options.background) { var o = t.querySelectorAll(this.options.background); for (n = 0; n < o.length; n++) { var r = o[n];
342//                     this.addElementBackgroundImages(r) } } } }; var c = { 1: !0, 9: !0, 11: !0 }; return s.prototype.addElementBackgroundImages = function(t) { var e = getComputedStyle(t); if (e)
343//             for (var i = /url\((['"])?(.*?)\1\)/gi, n = i.exec(e.backgroundImage); null !== n;) { var s = n && n[2];
344//                 s && this.addBackground(s, t), n = i.exec(e.backgroundImage) } }, s.prototype.addImage = function(t) { var e = new o(t);
345//         this.images.push(e) }, s.prototype.addBackground = function(t, e) { var i = new r(t, e);
346//         this.images.push(i) }, s.prototype.check = function() {
347//         function t(t, i, n) { setTimeout(function() { e.progress(t, i, n) }) } var e = this; return this.progressedCount = 0, this.hasAnyBroken = !1, this.images.length ? void this.images.forEach(function(e) { e.once("progress", t), e.check() }) : void this.complete() }, s.prototype.progress = function(t, e, i) { this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !t.isLoaded, this.emitEvent("progress", [this, t, e]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, t), this.progressedCount == this.images.length && this.complete(), this.options.debug && l && l.log("progress: " + i, t, e) }, s.prototype.complete = function() { var t = this.hasAnyBroken ? "fail" : "done"; if (this.isComplete = !0, this.emitEvent(t, [this]), this.emitEvent("always", [this]), this.jqDeferred) { var e = this.hasAnyBroken ? "reject" : "resolve";
348//             this.jqDeferred[e](this) } }
vendor: 2,289 bytes, lines 348-351
348, o.prototype = Object.create(e.prototype), o.prototype.check = function() { var t = this.getIsImageComplete(); return t ? void this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image, this.proxyImage.addEventListener("load", this), this.proxyImage.addEventListener("error", this), this.img.addEventListener("load", this), this.img.addEventListener("error", this), void(this.proxyImage.src = this.img.src)) }, o.prototype.getIsImageComplete = function() { return this.img.complete && this.img.naturalWidth }, o.prototype.confirm = function(t, e) { this.isLoaded = t, this.emitEvent("progress", [this, this.img, e]) }, o.prototype.handleEvent = function(t) { var e = "on" + t.type;
349//         this[e] && this[e](t) }, o.prototype.onload = function() { this.confirm(!0, "onload"), this.unbindEvents() }, o.prototype.onerror = function() { this.confirm(!1, "onerror"), this.unbindEvents() }, o.prototype.unbindEvents = function() { this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this) }, r.prototype = Object.create(o.prototype), r.prototype.check = function() { this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url; var t = this.getIsImageComplete();
350//         t && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents()) }, r.prototype.unbindEvents = function() { this.img.removeEventListener("load", this), this.img.removeEventListener("error", this) }, r.prototype.confirm = function(t, e) { this.isLoaded = t, this.emitEvent("progress", [this, this.element, e]) }, s.makeJQueryPlugin = function(e) { e = e || t.jQuery, e && (a = e, a.fn.imagesLoaded = function(t, e) { var i = new s(this, t, e); return i.jqDeferred.promise(a(this)) }) }, s.makeJQueryPlugin(), s }),
351// function(t, e) { "function" == typeof define && define.amd ? define(["flickity/js/index", "imagesloaded/imagesloaded"], function(i, n) { return e(t, i, n) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("flickity"), require("imagesloaded")) : t.Flickity = e(t, t.Flickity, t.imagesLoaded) }(window, function(t, e, i) { "use strict";
352//     e.createMethods.push("_createImagesLoaded"); var n = e.prototype; return n._createImagesLoaded = function() { this.on("activate", this.imagesLoaded) }, n.imagesLoaded = function() {
353//         function t(t, i) { var n = e.getParentCell(i.img);
354//             e.cellSizeChange(n && n.element), e.options.freeScroll || e.positionSliderAtSelected() } if (this.options.imagesLoaded) { var e = this;
355//             i(this.slider).on("progress", t) } }, e });
356
357// /**
358//  * Flickity fade v1.0.0
359//  * Fade between Flickity slides
360//  */
361
362// /* jshint browser: true, undef: true, unused: true */
363
364// (function(window, factory) {
365//     // universal module definition
366//     /*globals define, module, require */
367//     if (typeof define == 'function' && define.amd) {
368//         // AMD
369//         define([
370//             'flickity/js/index',
371//             'fizzy-ui-utils/utils',
372//         ], factory);
373//     } else if (typeof module == 'object' && module.exports) {
374//         // CommonJS
375//         module.exports = factory(
376//             require('flickity'),
377//             require('fizzy-ui-utils')
378//         );
379//     } else {
380//         // browser global
381//         factory(
382//             window.Flickity,
383//             window.fizzyUIUtils
384//         );
385//     }
386
387// }(this, function factory(Flickity, utils) {
388
389//     // ---- Slide ---- //
390
391//     var Slide = Flickity.Slide;
392
393//     var slideUpdateTarget = Slide.prototype.updateTarget;
394//     Slide.prototype.updateTarget = function() {
395//         slideUpdateTarget.apply(this, arguments);
396//         if (!this.parent.options.fade) {
397//             return;
398//         }
399//         // position cells at selected target
400//         var slideTargetX = this.target - this.x;
401//         var firstCellX = this.cells[0].x;
402//         this.cells.forEach(function(cell) {
403//             var targetX = cell.x - firstCellX - slideTargetX;
404//             cell.renderPosition(targetX);
405//         });
406//     };
407
408//     Slide.prototype.setOpacity = function(alpha) {
409//         this.cells.forEach(function(cell) {
410//             cell.element.style.opacity = alpha;
411//         });
412//     };
413
414//     // ---- Flickity ---- //
415
416//     var proto = Flickity.prototype;
417
418//     Flickity.createMethods.push('_createFade');
419
420//     proto._createFade = function() {
421//         this.fadeIndex = this.selectedIndex;
422//         this.prevSelectedIndex = this.selectedIndex;
423//         this.on('select', this.onSelectFade);
424//         this.on('dragEnd', this.onDragEndFade);
425//         this.on('settle', this.onSettleFade);
426//         this.on('activate', this.onActivateFade);
427//         this.on('deactivate', this.onDeactivateFade);
428//     };
429
430//     var updateSlides = proto.updateSlides;
431//     proto.updateSlides = function() {
432//         updateSlides.apply(this, arguments);
433//         if (!this.options.fade) {
434//             return;
435//         }
436//         // set initial opacity
437//         this.slides.forEach(function(slide, i) {
438//             var alpha = i == this.selectedIndex ? 1 : 0;
439//             slide.setOpacity(alpha);
440//         }, this);
441//     };
442
443//     /* ---- events ---- */
444
445//     proto.onSelectFade = function() {
446//         // in case of resize, keep fadeIndex within current count
447//         this.fadeIndex = Math.min(this.prevSelectedIndex, this.slides.length - 1);
448//         this.prevSelectedIndex = this.selectedIndex;
449//     };
450
451//     proto.onSettleFade = function() {
452//         delete this.didDragEnd;
453//         if (!this.options.fade) {
454//             return;
455//         }
456//         // set full and 0 opacity on selected & faded slides
457//         this.selectedSlide.setOpacity(1);
458//         var fadedSlide = this.slides[this.fadeIndex];
459//         if (fadedSlide && this.fadeIndex != this.selectedIndex) {
460//             this.slides[this.fadeIndex].setOpacity(0);
461//         }
462//     };
463
464//     proto.onDragEndFade = function() {
465//         // set flag
466//         this.didDragEnd = true;
467//     };
468
469//     proto.onActivateFade = function() {
470//         if (this.options.fade) {
471//             this.element.classList.add('is-fade');
472//         }
473//     };
474
475//     proto.onDeactivateFade = function() {
476//         if (!this.options.fade) {
477//             return;
478//         }
479//         this.element.classList.remove('is-fade');
480//         // reset opacity
481//         this.slides.forEach(function(slide) {
482//             slide.setOpacity('');
483//         });
484//     };
485
486//     /* ---- position & fading ---- */
487
488//     var positionSlider = proto.positionSlider;
489//     proto.positionSlider = function() {
490//         if (!this.options.fade) {
491//             positionSlider.apply(this, arguments);
492//             return;
493//         }
494
495//         this.fadeSlides();
496//         this.dispatchScrollEvent();
497//     };
498
499//     var positionSliderAtSelected = proto.positionSliderAtSelected;
500//     proto.positionSliderAtSelected = function() {
501//         if (this.options.fade) {
502//             // position fade slider at origin
503//             this.setTranslateX(0);
504//         }
505//         positionSliderAtSelected.apply(this, arguments);
506//     };
507
508//     proto.fadeSlides = function() {
509//         if (this.slides.length < 2) {
510//             return;
511//         }
512//         // get slides to fade-in & fade-out
513//         var indexes = this.getFadeIndexes();
514//         var fadeSlideA = this.slides[indexes.a];
515//         var fadeSlideB = this.slides[indexes.b];
516//         var distance = this.wrapDifference(fadeSlideA.target, fadeSlideB.target);
517//         var progress = this.wrapDifference(fadeSlideA.target, -this.x);
518//         progress = progress / distance;
519
520//         fadeSlideA.setOpacity(1 - progress);
521//         fadeSlideB.setOpacity(progress);
522
523//         // hide previous slide
524//         var fadeHideIndex = indexes.a;
525//         if (this.isDragging) {
526//             fadeHideIndex = progress > 0.5 ? indexes.a : indexes.b;
527//         }
528//         var isNewHideIndex = this.fadeHideIndex != undefined &&
529//             this.fadeHideIndex != fadeHideIndex &&
530//             this.fadeHideIndex != indexes.a &&
531//             this.fadeHideIndex != indexes.b;
532//         if (isNewHideIndex) {
533//             // new fadeHideSlide set, hide previous
534//             this.slides[this.fadeHideIndex].setOpacity(0);
535//         }
536//         this.fadeHideIndex = fadeHideIndex;
537//     };
538
539//     proto.getFadeIndexes = function() {
540//         if (!this.isDragging && !this.didDragEnd) {
541//             return {
542//                 a: this.fadeIndex,
543//                 b: this.selectedIndex,
544//             };
545//         }
546//         if (this.options.wrapAround) {
547//             return this.getFadeDragWrapIndexes();
548//         } else {
549//             return this.getFadeDragLimitIndexes();
550//         }
551//     };
552
553//     proto.getFadeDragWrapIndexes = function() {
554//         var distances = this.slides.map(function(slide, i) {
555//             return this.getSlideDistance(-this.x, i);
556//         }, this);
557//         var absDistances = distances.map(function(distance) {
558//             return Math.abs(distance);
559//         });
560//         var minDistance = Math.min.apply(Math, absDistances);
561//         var closestIndex = absDistances.indexOf(minDistance);
562//         var distance = distances[closestIndex];
563//         var len = this.slides.length;
564
565//         var delta = distance >= 0 ? 1 : -1;
566//         return {
567//             a: closestIndex,
568//             b: utils.modulo(closestIndex + delta, len),
569//         };
570//     };
571
572//     proto.getFadeDragLimitIndexes = function() {
573//         // calculate closest previous slide
574//         var dragIndex = 0;
575//         for (var i = 0; i < this.slides.length - 1; i++) {
576//             var slide = this.slides[i];
577//             if (-this.x < slide.target) {
578//                 break;
579//             }
580//             dragIndex = i;
581//         }
582//         return {
583//             a: dragIndex,
584//             b: dragIndex + 1,
585//         };
586//     };
587
588//     proto.wrapDifference = function(a, b) {
589//         var diff = b - a;
590
591//         if (!this.options.wrapAround) {
592//             return diff;
593//         }
594
595//         var diffPlus = diff + this.slideableWidth;
596//         var diffMinus = diff - this.slideableWidth;
597//         if (Math.abs(diffPlus) < Math.abs(diff)) {
598//             diff = diffPlus;
599//         }
600//         if (Math.abs(diffMinus) < Math.abs(diff)) {
601//             diff = diffMinus;
602//         }
603//         return diff;
604//     };
605
606//     // ---- wrapAround ---- //
607
608//     var _getWrapShiftCells = proto._getWrapShiftCells;
609//     proto._getWrapShiftCells = function() {
610//         if (!this.options.fade) {
611//             _getWrapShiftCells.apply(this, arguments);
612//         }
613//     };
614
615//     var shiftWrapCells = proto.shiftWrapCells;
616//     proto.shiftWrapCells = function() {
617//         if (!this.options.fade) {
618//             shiftWrapCells.apply(this, arguments);
619//         }
620//     };
621
622//     return Flickity;
623
624// }));

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.