PageSourceSearch

https://alyandaj.com/assets/js/plugins.js?ver=3.0

js alyandaj.com collected 2026-09-24 21:59:04 UTC 351,001 bytes, 9,986 lines download raw bytes

1/**
2 * Minified by jsDelivr using UglifyJS v3.0.24.
3 * Original file: /npm/[email protected]/src/js.cookie.js
4 *
5 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
6 */
7!(function (e) {
8  var n = !1;
9  if (
10    ("function" == typeof define && define.amd && (define(e), (n = !0)),
11    "object" == typeof exports && ((module.exports = e()), (n = !0)),
12    !n)
13  ) {
14    var o = window.Cookies,
15      t = (window.Cookies = e());
16    t.noConflict = function () {
17      return (window.Cookies = o), t;
18    };
19  }
20})(function () {
21  function e() {
22    for (var e = 0, n = {}; e < arguments.length; e++) {
23      var o = arguments[e];
24      for (var t in o) n[t] = o[t];
25    }
26    return n;
27  }
28  function n(o) {
29    function t(n, r, i) {
30      var c;
31      if ("undefined" != typeof document) {
32        if (arguments.length > 1) {
33          if (
34            "number" == typeof (i = e({ path: "/" }, t.defaults, i)).expires
35          ) {
36            var a = new Date();
37            a.setMilliseconds(a.getMilliseconds() + 864e5 * i.expires),
38              (i.expires = a);
39          }
40          i.expires = i.expires ? i.expires.toUTCString() : "";
41          try {
42            (c = JSON.stringify(r)), /^[\{\[]/.test(c) && (r = c);
43          } catch (e) {}
44          (r = o.write
45            ? o.write(r, n)
46            : encodeURIComponent(String(r)).replace(
47                /%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,
48                decodeURIComponent
49              )),
50            (n = (n = (n = encodeURIComponent(String(n))).replace(
51              /%(23|24|26|2B|5E|60|7C)/g,
52              decodeURIComponent
53            )).replace(/[\(\)]/g, escape));
54          var s = "";
55          for (var f in i)
56            i[f] && ((s += "; " + f), !0 !== i[f] && (s += "=" + i[f]));
57          return (document.cookie = n + "=" + r + s);
58        }
59        n || (c = {});
60        for (
61          var p = document.cookie ? document.cookie.split("; ") : [],
62            d = /(%[0-9A-Z]{2})+/g,
63            u = 0;
64          u < p.length;
65          u++
66        ) {
67          var l = p[u].split("="),
68            C = l.slice(1).join("=");
69          this.json || '"' !== C.charAt(0) || (C = C.slice(1, -1));
70          try {
71            var g = l[0].replace(d, decodeURIComponent);
72            if (
73              ((C = o.read
74                ? o.read(C, g)
75                : o(C, g) || C.replace(d, decodeURIComponent)),
76              this.json)
77            )
78              try {
79                C = JSON.parse(C);
80              } catch (e) {}
81            if (n === g) {
82              c = C;
83              break;
84            }
85            n || (c[g] = C);
86          } catch (e) {}
87        }
88        return c;
89      }
90    }
91    return (
92      (t.set = t),
93      (t.get = function (e) {
94        return t.call(t, e);
95      }),
96      (t.getJSON = function () {
97        return t.apply({ json: !0 }, [].slice.call(arguments));
98      }),
99      (t.defaults = {}),
100      (t.remove = function (n, o) {
101        t(n, "", e(o, { expires: -1 }));
102      }),
103      (t.withConverter = n),
104      t
105    );
106  }
107  return n(function () {});
108});
109//# sourceMappingURL=/sm/f6937b1819ab68f00d8b787ead6c16bfb67977e0c408909621a3b2ff82dbad4a.map
110
111!(function (i) {
112  "use strict";
113  "function" == typeof define && define.amd
114    ? define(["jquery"], i)
115    : "undefined" != typeof exports
116    ? (module.exports = i(require("jquery")))
117    : i(jQuery);
118})(function (i) {
119  "use strict";
120  var e = window.Slick || {};
121  ((e = (function () {
122    var e = 0;
123    return function (t, o) {
124      var s,
125        n = this;
126      (n.defaults = {
127        accessibility: !0,
128        adaptiveHeight: !1,
129        appendArrows: i(t),
130        appendDots: i(t),
131        arrows: !0,
132        asNavFor: null,
133        prevArrow:
134          '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
135        nextArrow:
136          '<button class="slick-next" aria-label="Next" type="button">Next</button>',
137        autoplay: !1,
138        autoplaySpeed: 3e3,
139        centerMode: !1,
140        centerPadding: "50px",
141        cssEase: "ease",
142        customPaging: function (e, t) {
143          return i('<button type="button" />').text(t + 1);
144        },
145        dots: !1,
146        dotsClass: "slick-dots",
147        draggable: !0,
148        easing: "linear",
149        edgeFriction: 0.35,
150        fade: !1,
151        focusOnSelect: !1,
152        focusOnChange: !1,
153        infinite: !0,
154        initialSlide: 0,
155        lazyLoad: "ondemand",
156        mobileFirst: !1,
157        pauseOnHover: !0,
158        pauseOnFocus: !0,
159        pauseOnDotsHover: !1,
160        respondTo: "window",
161        responsive: null,
162        rows: 1,
163        rtl: !1,
164        slide: "",
165        slidesPerRow: 1,
166        slidesToShow: 1,
167        slidesToScroll: 1,
168        speed: 500,
169        swipe: !0,
170        swipeToSlide: !1,
171        touchMove: !0,
172        touchThreshold: 5,
173        useCSS: !0,
174        useTransform: !0,
175        variableWidth: !1,
176        vertical: !1,
177        verticalSwiping: !1,
178        waitForAnimate: !0,
179        zIndex: 1e3,
180      }),
181        (n.initials = {
182          animating: !1,
183          dragging: !1,
184          autoPlayTimer: null,
185          currentDirection: 0,
186          currentLeft: null,
187          currentSlide: 0,
188          direction: 1,
189          $dots: null,
190          listWidth: null,
191          listHeight: null,
192          loadIndex: 0,
193          $nextArrow: null,
194          $prevArrow: null,
195          scrolling: !1,
196          slideCount: null,
197          slideWidth: null,
198          $slideTrack: null,
199          $slides: null,
200          sliding: !1,
201          slideOffset: 0,
202          swipeLeft: null,
203          swiping: !1,
204          $list: null,
205          touchObject: {},
206          transformsEnabled: !1,
207          unslicked: !1,
208        }),
209        i.extend(n, n.initials),
210        (n.activeBreakpoint = null),
211        (n.animType = null),
212        (n.animProp = null),
213        (n.breakpoints = []),
214        (n.breakpointSettings = []),
215        (n.cssTransitions = !1),
216        (n.focussed = !1),
217        (n.interrupted = !1),
218        (n.hidden = "hidden"),
219        (n.paused = !0),
220        (n.positionProp = null),
221        (n.respondTo = null),
222        (n.rowCount = 1),
223        (n.shouldClick = !0),
224        (n.$slider = i(t)),
225        (n.$slidesCache = null),
226        (n.transformType = null),
227        (n.transitionType = null),
228        (n.visibilityChange = "visibilitychange"),
229        (n.windowWidth = 0),
230        (n.windowTimer = null),
231        (s = i(t).data("slick") || {}),
232        (n.options = i.extend({}, n.defaults, o, s)),
233        (n.currentSlide = n.options.initialSlide),
234        (n.originalSettings = n.options),
235        void 0 !== document.mozHidden
236          ? ((n.hidden = "mozHidden"),
237            (n.visibilityChange = "mozvisibilitychange"))
238          : void 0 !== document.webkitHidden &&
239            ((n.hidden = "webkitHidden"),
240            (n.visibilityChange = "webkitvisibilitychange")),
241        (n.autoPlay = i.proxy(n.autoPlay, n)),
242        (n.autoPlayClear = i.proxy(n.autoPlayClear, n)),
243        (n.autoPlayIterator = i.proxy(n.autoPlayIterator, n)),
244        (n.changeSlide = i.proxy(n.changeSlide, n)),
245        (n.clickHandler = i.proxy(n.clickHandler, n)),
246        (n.selectHandler = i.proxy(n.selectHandler, n)),
247        (n.setPosition = i.proxy(n.setPosition, n)),
248        (n.swipeHandler = i.proxy(n.swipeHandler, n)),
249        (n.dragHandler = i.proxy(n.dragHandler, n)),
250        (n.keyHandler = i.proxy(n.keyHandler, n)),
251        (n.instanceUid = e++),
252        (n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/),
253        n.registerBreakpoints(),
254        n.init(!0);
255    };
256  })()).prototype.activateADA = function () {
257    this.$slideTrack
258      .find(".slick-active")
259      .attr({ "aria-hidden": "false" })
260      .find("a, input, button, select")
261      .attr({ tabindex: "0" });
262  }),
263    (e.prototype.addSlide = e.prototype.slickAdd =
264      function (e, t, o) {
265        var s = this;
266        if ("boolean" == typeof t) (o = t), (t = null);
267        else if (t < 0 || t >= s.slideCount) return !1;
268        s.unload(),
269          "number" == typeof t
270            ? 0 === t && 0 === s.$slides.length
271              ? i(e).appendTo(s.$slideTrack)
272              : o
273              ? i(e).insertBefore(s.$slides.eq(t))
274              : i(e).insertAfter(s.$slides.eq(t))
275            : !0 === o
276            ? i(e).prependTo(s.$slideTrack)
277            : i(e).appendTo(s.$slideTrack),
278          (s.$slides = s.$slideTrack.children(this.options.slide)),
279          s.$slideTrack.children(this.options.slide).detach(),
280          s.$slideTrack.append(s.$slides),
281          s.$slides.each(function (e, t) {
282            i(t).attr("data-slick-index", e);
283          }),
284          (s.$slidesCache = s.$slides),
285          s.reinit();
286      }),
287    (e.prototype.animateHeight = function () {
288      var i = this;
289      if (
290        1 === i.options.slidesToShow &&
291        !0 === i.options.adaptiveHeight &&
292        !1 === i.options.vertical
293      ) {
294        var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
295        i.$list.animate({ height: e }, i.options.speed);
296      }
297    }),
298    (e.prototype.animateSlide = function (e, t) {
299      var o = {},
300        s = this;
301      s.animateHeight(),
302        !0 === s.options.rtl && !1 === s.options.vertical && (e = -e),
303        !1 === s.transformsEnabled
304          ? !1 === s.options.vertical
305            ? s.$slideTrack.animate(
306                { left: e },
307                s.options.speed,
308                s.options.easing,
309                t
310              )
311            : s.$slideTrack.animate(
312                { top: e },
313                s.options.speed,
314                s.options.easing,
315                t
316              )
317          : !1 === s.cssTransitions
318          ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft),
319            i({ animStart: s.currentLeft }).animate(
320              { animStart: e },
321              {
322                duration: s.options.speed,
323                easing: s.options.easing,
324                step: function (i) {
325                  (i = Math.ceil(i)),
326                    !1 === s.options.vertical
327                      ? ((o[s.animType] = "translate(" + i + "px, 0px)"),
328                        s.$slideTrack.css(o))
329                      : ((o[s.animType] = "translate(0px," + i + "px)"),
330                        s.$slideTrack.css(o));
331                },
332                complete: function () {
333                  t && t.call();
334                },
335              }
336            ))
337          : (s.applyTransition(),
338            (e = Math.ceil(e)),
339            !1 === s.options.vertical
340              ? (o[s.animType] = "translate3d(" + e + "px, 0px, 0px)")
341              : (o[s.animType] = "translate3d(0px," + e + "px, 0px)"),
342            s.$slideTrack.css(o),
343            t &&
344              setTimeout(function () {
345                s.disableTransition(), t.call();
346              }, s.options.speed));
347    }),
348    (e.prototype.getNavTarget = function () {
349      var e = this,
350        t = e.options.asNavFor;
351      return t && null !== t && (t = i(t).not(e.$slider)), t;
352    }),
353    (e.prototype.asNavFor = function (e) {
354      var t = this.getNavTarget();
355      null !== t &&
356        "object" == typeof t &&
357        t.each(function () {
358          var t = i(this).slick("getSlick");
359          t.unslicked || t.slideHandler(e, !0);
360        });
361    }),
362    (e.prototype.applyTransition = function (i) {
363      var e = this,
364        t = {};
365      !1 === e.options.fade
366        ? (t[e.transitionType] =
367            e.transformType + " " + e.options.speed + "ms " + e.options.cssEase)
368        : (t[e.transitionType] =
369            "opacity " + e.options.speed + "ms " + e.options.cssEase),
370        !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t);
371    }),
372    (e.prototype.autoPlay = function () {
373      var i = this;
374      i.autoPlayClear(),
375        i.slideCount > i.options.slidesToShow &&
376          (i.autoPlayTimer = setInterval(
377            i.autoPlayIterator,
378            i.options.autoplaySpeed
379          ));
380    }),
381    (e.prototype.autoPlayClear = function () {
382      var i = this;
383      i.autoPlayTimer && clearInterval(i.autoPlayTimer);
384    }),
385    (e.prototype.autoPlayIterator = function () {
386      var i = this,
387        e = i.currentSlide + i.options.slidesToScroll;
388      i.paused ||
389        i.interrupted ||
390        i.focussed ||
391        (!1 === i.options.infinite &&
392          (1 === i.direction && i.currentSlide + 1 === i.slideCount - 1
393            ? (i.direction = 0)
394            : 0 === i.direction &&
395              ((e = i.currentSlide - i.options.slidesToScroll),
396              i.currentSlide - 1 == 0 && (i.direction = 1))),
397        i.slideHandler(e));
398    }),
399    (e.prototype.buildArrows = function () {
400      var e = this;
401      !0 === e.options.arrows &&
402        ((e.$prevArrow = i(e.options.prevArrow).addClass("slick-arrow")),
403        (e.$nextArrow = i(e.options.nextArrow).addClass("slick-arrow")),
404        e.slideCount > e.options.slidesToShow
405          ? (e.$prevArrow
406              .removeClass("slick-hidden")
407              .removeAttr("aria-hidden tabindex"),
408            e.$nextArrow
409              .removeClass("slick-hidden")
410              .removeAttr("aria-hidden tabindex"),
411            e.htmlExpr.test(e.options.prevArrow) &&
412              e.$prevArrow.prependTo(e.options.appendArrows),
413            e.htmlExpr.test(e.options.nextArrow) &&
414              e.$nextArrow.appendTo(e.options.appendArrows),
415            !0 !== e.options.infinite &&
416              e.$prevArrow
417                .addClass("slick-disabled")
418                .attr("aria-disabled", "true"))
419          : e.$prevArrow
420              .add(e.$nextArrow)
421              .addClass("slick-hidden")
422              .attr({ "aria-disabled": "true", tabindex: "-1" }));
423    }),
424    (e.prototype.buildDots = function () {
425      var e,
426        t,
427        o = this;
428      if (!0 === o.options.dots) {
429        for (
430          o.$slider.addClass("slick-dotted"),
431            t = i("<ul />").addClass(o.options.dotsClass),
432            e = 0;
433          e <= o.getDotCount();
434          e += 1
435        )
436          t.append(i("<li />").append(o.options.customPaging.call(this, o, e)));
437        (o.$dots = t.appendTo(o.options.appendDots)),
438          o.$dots.find("li").first().addClass("slick-active");
439      }
440    }),
441    (e.prototype.buildOut = function () {
442      var e = this;
443      (e.$slides = e.$slider
444        .children(e.options.slide + ":not(.slick-cloned)")
445        .addClass("slick-slide")),
446        (e.slideCount = e.$slides.length),
447        e.$slides.each(function (e, t) {
448          i(t)
449            .attr("data-slick-index", e)
450            .data("originalStyling", i(t).attr("style") || "");
451        }),
452        e.$slider.addClass("slick-slider"),
453        (e.$slideTrack =
454          0 === e.slideCount
455            ? i('<div class="slick-track"/>').appendTo(e.$slider)
456            : e.$slides.wrapAll('<div class="slick-track"/>').parent()),
457        (e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent()),
458        e.$slideTrack.css("opacity", 0),
459        (!0 !== e.options.centerMode && !0 !== e.options.swipeToSlide) ||
460          (e.options.slidesToScroll = 1),
461        i("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"),
462        e.setupInfinite(),
463        e.buildArrows(),
464        e.buildDots(),
465        e.updateDots(),
466        e.setSlideClasses(
467          "number" == typeof e.currentSlide ? e.currentSlide : 0
468        ),
469        !0 === e.options.draggable && e.$list.addClass("draggable");
470    }),
471    (e.prototype.buildRows = function () {
472      var i,
473        e,
474        t,
475        o,
476        s,
477        n,
478        r,
479        l = this;
480      if (
481        ((o = document.createDocumentFragment()),
482        (n = l.$slider.children()),
483        l.options.rows > 1)
484      ) {
485        for (
486          r = l.options.slidesPerRow * l.options.rows,
487            s = Math.ceil(n.length / r),
488            i = 0;
489          i < s;
490          i++
491        ) {
492          var d = document.createElement("div");
493          for (e = 0; e < l.options.rows; e++) {
494            var a = document.createElement("div");
495            for (t = 0; t < l.options.slidesPerRow; t++) {
496              var c = i * r + (e * l.options.slidesPerRow + t);
497              n.get(c) && a.appendChild(n.get(c));
498            }
499            d.appendChild(a);
500          }
501          o.appendChild(d);
502        }
503        l.$slider.empty().append(o),
504          l.$slider
505            .children()
506            .children()
507            .children()
508            .css({
509              width: 100 / l.options.slidesPerRow + "%",
510              display: "inline-block",
511            });
512      }
513    }),
514    (e.prototype.checkResponsive = function (e, t) {
515      var o,
516        s,
517        n,
518        r = this,
519        l = !1,
520        d = r.$slider.width(),
521        a = window.innerWidth || i(window).width();
522      if (
523        ("window" === r.respondTo
524          ? (n = a)
525          : "slider" === r.respondTo
526          ? (n = d)
527          : "min" === r.respondTo && (n = Math.min(a, d)),
528        r.options.responsive &&
529          r.options.responsive.length &&
530          null !== r.options.responsive)
531      ) {
532        s = null;
533        for (o in r.breakpoints)
534          r.breakpoints.hasOwnProperty(o) &&
535            (!1 === r.originalSettings.mobileFirst
536              ? n < r.breakpoints[o] && (s = r.breakpoints[o])
537              : n > r.breakpoints[o] && (s = r.breakpoints[o]));
538        null !== s
539          ? null !== r.activeBreakpoint
540            ? (s !== r.activeBreakpoint || t) &&
541              ((r.activeBreakpoint = s),
542              "unslick" === r.breakpointSettings[s]
543                ? r.unslick(s)
544                : ((r.options = i.extend(
545                    {},
546                    r.originalSettings,
547                    r.breakpointSettings[s]
548                  )),
549                  !0 === e && (r.currentSlide = r.options.initialSlide),
550                  r.refresh(e)),
551              (l = s))
552            : ((r.activeBreakpoint = s),
553              "unslick" === r.breakpointSettings[s]
554                ? r.unslick(s)
555                : ((r.options = i.extend(
556                    {},
557                    r.originalSettings,
558                    r.breakpointSettings[s]
559                  )),
560                  !0 === e && (r.currentSlide = r.options.initialSlide),
561                  r.refresh(e)),
562              (l = s))
563          : null !== r.activeBreakpoint &&
564            ((r.activeBreakpoint = null),
565            (r.options = r.originalSettings),
566            !0 === e && (r.currentSlide = r.options.initialSlide),
567            r.refresh(e),
568            (l = s)),
569          e || !1 === l || r.$slider.trigger("breakpoint", [r, l]);
570      }
571    }),
572    (e.prototype.changeSlide = function (e, t) {
573      var o,
574        s,
575        n,
576        r = this,
577        l = i(e.currentTarget);
578      switch (
579        (l.is("a") && e.preventDefault(),
580        l.is("li") || (l = l.closest("li")),
581        (n = r.slideCount % r.options.slidesToScroll != 0),
582        (o = n
583          ? 0
584          : (r.slideCount - r.currentSlide) % r.options.slidesToScroll),
585        e.data.message)
586      ) {
587        case "previous":
588          (s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o),
589            r.slideCount > r.options.slidesToShow &&
590              r.slideHandler(r.currentSlide - s, !1, t);
591          break;
592        case "next":
593          (s = 0 === o ? r.options.slidesToScroll : o),
594            r.slideCount > r.options.slidesToShow &&
595              r.slideHandler(r.currentSlide + s, !1, t);
596          break;
597        case "index":
598          var d =
599            0 === e.data.index
600              ? 0
601              : e.data.index || l.index() * r.options.slidesToScroll;
602          r.slideHandler(r.checkNavigable(d), !1, t),
603            l.children().trigger("focus");
604          break;
605        default:
606          return;
607      }
608    }),
609    (e.prototype.checkNavigable = function (i) {
610      var e, t;
611      if (((e = this.getNavigableIndexes()), (t = 0), i > e[e.length - 1]))
612        i = e[e.length - 1];
613      else
614        for (var o in e) {
615          if (i < e[o]) {
616            i = t;
617            break;
618          }
619          t = e[o];
620        }
621      return i;
622    }),
623    (e.prototype.cleanUpEvents = function () {
624      var e = this;
625      e.options.dots &&
626        null !== e.$dots &&
627        (i("li", e.$dots)
628          .off("click.slick", e.changeSlide)
629          .off("mouseenter.slick", i.proxy(e.interrupt, e, !0))
630          .off("mouseleave.slick", i.proxy(e.interrupt, e, !1)),
631        !0 === e.options.accessibility &&
632          e.$dots.off("keydown.slick", e.keyHandler)),
633        e.$slider.off("focus.slick blur.slick"),
634        !0 === e.options.arrows &&
635          e.slideCount > e.options.slidesToShow &&
636          (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide),
637          e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide),
638          !0 === e.options.accessibility &&
639            (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler),
640            e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))),
641        e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler),
642        e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler),
643        e.$list.off("touchend.slick mouseup.slick", e.swipeHandler),
644        e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler),
645        e.$list.off("click.slick", e.clickHandler),
646        i(document).off(e.visibilityChange, e.visibility),
647        e.cleanUpSlideEvents(),
648        !0 === e.options.accessibility &&
649          e.$list.off("keydown.slick", e.keyHandler),
650        !0 === e.options.focusOnSelect &&
651          i(e.$slideTrack).children().off("click.slick", e.selectHandler),
652        i(window).off(
653          "orientationchange.slick.slick-" + e.instanceUid,
654          e.orientationChange
655        ),
656        i(window).off("resize.slick.slick-" + e.instanceUid, e.resize),
657        i("[draggable!=true]", e.$slideTrack).off(
658          "dragstart",
659          e.preventDefault
660        ),
661        i(window).off("load.slick.slick-" + e.instanceUid, e.setPosition);
662    }),
663    (e.prototype.cleanUpSlideEvents = function () {
664      var e = this;
665      e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)),
666        e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1));
667    }),
668    (e.prototype.cleanUpRows = function () {
669      var i,
670        e = this;
671      e.options.rows > 1 &&
672        ((i = e.$slides.children().children()).removeAttr("style"),
673        e.$slider.empty().append(i));
674    }),
675    (e.prototype.clickHandler = function (i) {
676      !1 === this.shouldClick &&
677        (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault());
678    }),
679    (e.prototype.destroy = function (e) {
680      var t = this;
681      t.autoPlayClear(),
682        (t.touchObject = {}),
683        t.cleanUpEvents(),
684        i(".slick-cloned", t.$slider).detach(),
685        t.$dots && t.$dots.remove(),
686        t.$prevArrow &&
687          t.$prevArrow.length &&
688          (t.$prevArrow
689            .removeClass("slick-disabled slick-arrow slick-hidden")
690            .removeAttr("aria-hidden aria-disabled tabindex")
691            .css("display", ""),
692          t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove()),
693        t.$nextArrow &&
694          t.$nextArrow.length &&
695          (t.$nextArrow
696            .removeClass("slick-disabled slick-arrow slick-hidden")
697            .removeAttr("aria-hidden aria-disabled tabindex")
698            .css("display", ""),
699          t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove()),
700        t.$slides &&
701          (t.$slides
702            .removeClass(
703              "slick-slide slick-active slick-center slick-visible slick-current"
704            )
705            .removeAttr("aria-hidden")
706            .removeAttr("data-slick-index")
707            .each(function () {
708              i(this).attr("style", i(this).data("originalStyling"));
709            }),
710          t.$slideTrack.children(this.options.slide).detach(),
711          t.$slideTrack.detach(),
712          t.$list.detach(),
713          t.$slider.append(t.$slides)),
714        t.cleanUpRows(),
715        t.$slider.removeClass("slick-slider"),
716        t.$slider.removeClass("slick-initialized"),
717        t.$slider.removeClass("slick-dotted"),
718        (t.unslicked = !0),
719        e || t.$slider.trigger("destroy", [t]);
720    }),
721    (e.prototype.disableTransition = function (i) {
722      var e = this,
723        t = {};
724      (t[e.transitionType] = ""),
725        !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t);
726    }),
727    (e.prototype.fadeSlide = function (i, e) {
728      var t = this;
729      !1 === t.cssTransitions
730        ? (t.$slides.eq(i).css({ zIndex: t.options.zIndex }),
731          t.$slides
732            .eq(i)
733            .animate({ opacity: 1 }, t.options.speed, t.options.easing, e))
734        : (t.applyTransition(i),
735          t.$slides.eq(i).css({ opacity: 1, zIndex: t.options.zIndex }),
736          e &&
737            setTimeout(function () {
738              t.disableTransition(i), e.call();
739            }, t.options.speed));
740    }),
741    (e.prototype.fadeSlideOut = function (i) {
742      var e = this;
743      !1 === e.cssTransitions
744        ? e.$slides
745            .eq(i)
746            .animate(
747              { opacity: 0, zIndex: e.options.zIndex - 2 },
748              e.options.speed,
749              e.options.easing
750            )
751        : (e.applyTransition(i),
752          e.$slides.eq(i).css({ opacity: 0, zIndex: e.options.zIndex - 2 }));
753    }),
754    (e.prototype.filterSlides = e.prototype.slickFilter =
755      function (i) {
756        var e = this;
757        null !== i &&
758          ((e.$slidesCache = e.$slides),
759          e.unload(),
760          e.$slideTrack.children(this.options.slide).detach(),
761          e.$slidesCache.filter(i).appendTo(e.$slideTrack),
762          e.reinit());
763      }),
764    (e.prototype.focusHandler = function () {
765      var e = this;
766      e.$slider
767        .off("focus.slick blur.slick")
768        .on("focus.slick blur.slick", "*", function (t) {
769          t.stopImmediatePropagation();
770          var o = i(this);
771          setTimeout(function () {
772            e.options.pauseOnFocus &&
773              ((e.focussed = o.is(":focus")), e.autoPlay());
774          }, 0);
775        });
776    }),
777    (e.prototype.getCurrent = e.prototype.slickCurrentSlide =
778      function () {
779        return this.currentSlide;
780      }),
781    (e.prototype.getDotCount = function () {
782      var i = this,
783        e = 0,
784        t = 0,
785        o = 0;
786      if (!0 === i.options.infinite)
787        if (i.slideCount <= i.options.slidesToShow) ++o;
788        else
789          for (; e < i.slideCount; )
790            ++o,
791              (e = t + i.options.slidesToScroll),
792              (t +=
793                i.options.slidesToScroll <= i.options.slidesToShow
794                  ? i.options.slidesToScroll
795                  : i.options.slidesToShow);
796      else if (!0 === i.options.centerMode) o = i.slideCount;
797      else if (i.options.asNavFor)
798        for (; e < i.slideCount; )
799          ++o,
800            (e = t + i.options.slidesToScroll),
801            (t +=
802              i.options.slidesToScroll <= i.options.slidesToShow
803                ? i.options.slidesToScroll
804                : i.options.slidesToShow);
805      else
806        o =
807          1 +
808          Math.ceil(
809            (i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll
810          );
811      return o - 1;
812    }),
813    (e.prototype.getLeft = function (i) {
814      var e,
815        t,
816        o,
817        s,
818        n = this,
819        r = 0;
820      return (
821        (n.slideOffset = 0),
822        (t = n.$slides.first().outerHeight(!0)),
823        !0 === n.options.infinite
824          ? (n.slideCount > n.options.slidesToShow &&
825              ((n.slideOffset = n.slideWidth * n.options.slidesToShow * -1),
826              (s = -1),
827              !0 === n.options.vertical &&
828                !0 === n.options.centerMode &&
829                (2 === n.options.slidesToShow
830                  ? (s = -1.5)
831                  : 1 === n.options.slidesToShow && (s = -2)),
832              (r = t * n.options.slidesToShow * s)),
833            n.slideCount % n.options.slidesToScroll != 0 &&
834              i + n.options.slidesToScroll > n.slideCount &&
835              n.slideCount > n.options.slidesToShow &&
836              (i > n.slideCount
837                ? ((n.slideOffset =
838                    (n.options.slidesToShow - (i - n.slideCount)) *
839                    n.slideWidth *
840                    -1),
841                  (r = (n.options.slidesToShow - (i - n.slideCount)) * t * -1))
842                : ((n.slideOffset =
843                    (n.slideCount % n.options.slidesToScroll) *
844                    n.slideWidth *
845                    -1),
846                  (r = (n.slideCount % n.options.slidesToScroll) * t * -1))))
847          : i + n.options.slidesToShow > n.slideCount &&
848            ((n.slideOffset =
849              (i + n.options.slidesToShow - n.slideCount) * n.slideWidth),
850            (r = (i + n.options.slidesToShow - n.slideCount) * t)),
851        n.slideCount <= n.options.slidesToShow &&
852          ((n.slideOffset = 0), (r = 0)),
853        !0 === n.options.centerMode && n.slideCount <= n.options.slidesToShow
854          ? (n.slideOffset =
855              (n.slideWidth * Math.floor(n.options.slidesToShow)) / 2 -
856              (n.slideWidth * n.slideCount) / 2)
857          : !0 === n.options.centerMode && !0 === n.options.infinite
858          ? (n.slideOffset +=
859              n.slideWidth * Math.floor(n.options.slidesToShow / 2) -
860              n.slideWidth)
861          : !0 === n.options.centerMode &&
862            ((n.slideOffset = 0),
863            (n.slideOffset +=
864              n.slideWidth * Math.floor(n.options.slidesToShow / 2))),
865        (e =
866          !1 === n.options.vertical
867            ? i * n.slideWidth * -1 + n.slideOffset
868            : i * t * -1 + r),
869        !0 === n.options.variableWidth &&
870          ((o =
871            n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite
872              ? n.$slideTrack.children(".slick-slide").eq(i)
873              : n.$slideTrack
874                  .children(".slick-slide")
875                  .eq(i + n.options.slidesToShow)),
876          (e =
877            !0 === n.options.rtl
878              ? o[0]
879                ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width())
880                : 0
881              : o[0]
882              ? -1 * o[0].offsetLeft
883              : 0),
884          !0 === n.options.centerMode &&
885            ((o =
886              n.slideCount <= n.options.slidesToShow ||
887              !1 === n.options.infinite
888                ? n.$slideTrack.children(".slick-slide").eq(i)
889                : n.$slideTrack
890                    .children(".slick-slide")
891                    .eq(i + n.options.slidesToShow + 1)),
892            (e =
893              !0 === n.options.rtl
894                ? o[0]
895                  ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width())
896                  : 0
897                : o[0]
898                ? -1 * o[0].offsetLeft
899                : 0),
900            (e += (n.$list.width() - o.outerWidth()) / 2))),
901        e
902      );
903    }),
904    (e.prototype.getOption = e.prototype.slickGetOption =
905      function (i) {
906        return this.options[i];
907      }),
908    (e.prototype.getNavigableIndexes = function () {
909      var i,
910        e = this,
911        t = 0,
912        o = 0,
913        s = [];
914      for (
915        !1 === e.options.infinite
916          ? (i = e.slideCount)
917          : ((t = -1 * e.options.slidesToScroll),
918            (o = -1 * e.options.slidesToScroll),
919            (i = 2 * e.slideCount));
920        t < i;
921
922      )
923        s.push(t),
924          (t = o + e.options.slidesToScroll),
925          (o +=
926            e.options.slidesToScroll <= e.options.slidesToShow
927              ? e.options.slidesToScroll
928              : e.options.slidesToShow);
929      return s;
930    }),
931    (e.prototype.getSlick = function () {
932      return this;
933    }),
934    (e.prototype.getSlideCount = function () {
935      var e,
936        t,
937        o = this;
938      return (
939        (t =
940          !0 === o.options.centerMode
941            ? o.slideWidth * Math.floor(o.options.slidesToShow / 2)
942            : 0),
943        !0 === o.options.swipeToSlide
944          ? (o.$slideTrack.find(".slick-slide").each(function (s, n) {
945              if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft)
946                return (e = n), !1;
947            }),
948            Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1)
949          : o.options.slidesToScroll
950      );
951    }),
952    (e.prototype.goTo = e.prototype.slickGoTo =
953      function (i, e) {
954        this.changeSlide({ data: { message: "index", index: parseInt(i) } }, e);
955      }),
956    (e.prototype.init = function (e) {
957      var t = this;
958      i(t.$slider).hasClass("slick-initialized") ||
959        (i(t.$slider).addClass("slick-initialized"),
960        t.buildRows(),
961        t.buildOut(),
962        t.setProps(),
963        t.startLoad(),
964        t.loadSlider(),
965        t.initializeEvents(),
966        t.updateArrows(),
967        t.updateDots(),
968        t.checkResponsive(!0),
969        t.focusHandler()),
970        e && t.$slider.trigger("init", [t]),
971        !0 === t.options.accessibility && t.initADA(),
972        t.options.autoplay && ((t.paused = !1), t.autoPlay());
973    }),
974    (e.prototype.initADA = function () {
975      var e = this,
976        t = Math.ceil(e.slideCount / e.options.slidesToShow),
977        o = e.getNavigableIndexes().filter(function (i) {
978          return i >= 0 && i < e.slideCount;
979        });
980      e.$slides
981        .add(e.$slideTrack.find(".slick-cloned"))
982        .attr({ "aria-hidden": "true", tabindex: "-1" })
983        .find("a, input, button, select")
984        .attr({ tabindex: "-1" }),
985        null !== e.$dots &&
986          (e.$slides
987            .not(e.$slideTrack.find(".slick-cloned"))
988            .each(function (t) {
989              var s = o.indexOf(t);
990              i(this).attr({
991                role: "tabpanel",
992                id: "slick-slide" + e.instanceUid + t,
993                tabindex: -1,
994              }),
995                -1 !== s &&
996                  i(this).attr({
997                    "aria-describedby":
998                      "slick-slide-control" + e.instanceUid + s,
999                  });
1000            }),
1001          e.$dots
1002            .attr("role", "tablist")
1003            .find("li")
1004            .each(function (s) {
1005              var n = o[s];
1006              i(this).attr({ role: "presentation" }),
1007                i(this)
1008                  .find("button")
1009                  .first()
1010                  .attr({
1011                    role: "tab",
1012                    id: "slick-slide-control" + e.instanceUid + s,
1013                    "aria-controls": "slick-slide" + e.instanceUid + n,
1014                    "aria-label": s + 1 + " of " + t,
1015                    "aria-selected": null,
1016                    tabindex: "-1",
1017                  });
1018            })
1019            .eq(e.currentSlide)
1020            .find("button")
1021            .attr({ "aria-selected": "true", tabindex: "0" })
1022            .end());
1023      for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++)
1024        e.$slides.eq(s).attr("tabindex", 0);
1025      e.activateADA();
1026    }),
1027    (e.prototype.initArrowEvents = function () {
1028      var i = this;
1029      !0 === i.options.arrows &&
1030        i.slideCount > i.options.slidesToShow &&
1031        (i.$prevArrow
1032          .off("click.slick")
1033          .on("click.slick", { message: "previous" }, i.changeSlide),
1034        i.$nextArrow
1035          .off("click.slick")
1036          .on("click.slick", { message: "next" }, i.changeSlide),
1037        !0 === i.options.accessibility &&
1038          (i.$prevArrow.on("keydown.slick", i.keyHandler),
1039          i.$nextArrow.on("keydown.slick", i.keyHandler)));
1040    }),
1041    (e.prototype.initDotEvents = function () {
1042      var e = this;
1043      !0 === e.options.dots &&
1044        (i("li", e.$dots).on(
1045          "click.slick",
1046          { message: "index" },
1047          e.changeSlide
1048        ),
1049        !0 === e.options.accessibility &&
1050          e.$dots.on("keydown.slick", e.keyHandler)),
1051        !0 === e.options.dots &&
1052          !0 === e.options.pauseOnDotsHover &&
1053          i("li", e.$dots)
1054            .on("mouseenter.slick", i.proxy(e.interrupt, e, !0))
1055            .on("mouseleave.slick", i.proxy(e.interrupt, e, !1));
1056    }),
1057    (e.prototype.initSlideEvents = function () {
1058      var e = this;
1059      e.options.pauseOnHover &&
1060        (e.$list.on("mouseenter.slick", i.proxy(e.interrupt, e, !0)),
1061        e.$list.on("mouseleave.slick", i.proxy(e.interrupt, e, !1)));
1062    }),
1063    (e.prototype.initializeEvents = function () {
1064      var e = this;
1065      e.initArrowEvents(),
1066        e.initDotEvents(),
1067        e.initSlideEvents(),
1068        e.$list.on(
1069          "touchstart.slick mousedown.slick",
1070          { action: "start" },
1071          e.swipeHandler
1072        ),
1073        e.$list.on(
1074          "touchmove.slick mousemove.slick",
1075          { action: "move" },
1076          e.swipeHandler
1077        ),
1078        e.$list.on(
1079          "touchend.slick mouseup.slick",
1080          { action: "end" },
1081          e.swipeHandler
1082        ),
1083        e.$list.on(
1084          "touchcancel.slick mouseleave.slick",
1085          { action: "end" },
1086          e.swipeHandler
1087        ),
1088        e.$list.on("click.slick", e.clickHandler),
1089        i(document).on(e.visibilityChange, i.proxy(e.visibility, e)),
1090        !0 === e.options.accessibility &&
1091          e.$list.on("keydown.slick", e.keyHandler),
1092        !0 === e.options.focusOnSelect &&
1093          i(e.$slideTrack).children().on("click.slick", e.selectHandler),
1094        i(window).on(
1095          "orientationchange.slick.slick-" + e.instanceUid,
1096          i.proxy(e.orientationChange, e)
1097        ),
1098        i(window).on(
1099          "resize.slick.slick-" + e.instanceUid,
1100          i.proxy(e.resize, e)
1101        ),
1102        i("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault),
1103        i(window).on("load.slick.slick-" + e.instanceUid, e.setPosition),
1104        i(e.setPosition);
1105    }),
1106    (e.prototype.initUI = function () {
1107      var i = this;
1108      !0 === i.options.arrows &&
1109        i.slideCount > i.options.slidesToShow &&
1110        (i.$prevArrow.show(), i.$nextArrow.show()),
1111        !0 === i.options.dots &&
1112          i.slideCount > i.options.slidesToShow &&
1113          i.$dots.show();
1114    }),
1115    (e.prototype.keyHandler = function (i) {
1116      var e = this;
1117      i.target.tagName.match("TEXTAREA|INPUT|SELECT") ||
1118        (37 === i.keyCode && !0 === e.options.accessibility
1119          ? e.changeSlide({
1120              data: { message: !0 === e.options.rtl ? "next" : "previous" },
1121            })
1122          : 39 === i.keyCode &&
1123            !0 === e.options.accessibility &&
1124            e.changeSlide({
1125              data: { message: !0 === e.options.rtl ? "previous" : "next" },
1126            }));
1127    }),
1128    (e.prototype.lazyLoad = function () {
1129      function e(e) {
1130        i("img[data-lazy]", e).each(function () {
1131          var e = i(this),
1132            t = i(this).attr("data-lazy"),
1133            o = i(this).attr("data-srcset"),
1134            s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes"),
1135            r = document.createElement("img");
1136          (r.onload = function () {
1137            e.animate({ opacity: 0 }, 100, function () {
1138              o && (e.attr("srcset", o), s && e.attr("sizes", s)),
1139                e.attr("src", t).animate({ opacity: 1 }, 200, function () {
1140                  e.removeAttr("data-lazy data-srcset data-sizes").removeClass(
1141                    "slick-loading"
1142                  );
1143                }),
1144                n.$slider.trigger("lazyLoaded", [n, e, t]);
1145            });
1146          }),
1147            (r.onerror = function () {
1148              e
1149                .removeAttr("data-lazy")
1150                .removeClass("slick-loading")
1151                .addClass("slick-lazyload-error"),
1152                n.$slider.trigger("lazyLoadError", [n, e, t]);
1153            }),
1154            (r.src = t);
1155        });
1156      }
1157      var t,
1158        o,
1159        s,
1160        n = this;
1161      if (
1162        (!0 === n.options.centerMode
1163          ? !0 === n.options.infinite
1164            ? (s =
1165                (o = n.currentSlide + (n.options.slidesToShow / 2 + 1)) +
1166                n.options.slidesToShow +
1167                2)
1168            : ((o = Math.max(
1169                0,
1170                n.currentSlide - (n.options.slidesToShow / 2 + 1)
1171              )),
1172              (s = n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide))
1173          : ((o = n.options.infinite
1174              ? n.options.slidesToShow + n.currentSlide
1175              : n.currentSlide),
1176            (s = Math.ceil(o + n.options.slidesToShow)),
1177            !0 === n.options.fade && (o > 0 && o--, s <= n.slideCount && s++)),
1178        (t = n.$slider.find(".slick-slide").slice(o, s)),
1179        "anticipated" === n.options.lazyLoad)
1180      )
1181        for (
1182          var r = o - 1, l = s, d = n.$slider.find(".slick-slide"), a = 0;
1183          a < n.options.slidesToScroll;
1184          a++
1185        )
1186          r < 0 && (r = n.slideCount - 1),
1187            (t = (t = t.add(d.eq(r))).add(d.eq(l))),
1188            r--,
1189            l++;
1190      e(t),
1191        n.slideCount <= n.options.slidesToShow
1192          ? e(n.$slider.find(".slick-slide"))
1193          : n.currentSlide >= n.slideCount - n.options.slidesToShow
1194          ? e(n.$slider.find(".slick-cloned").slice(0, n.options.slidesToShow))
1195          : 0 === n.currentSlide &&
1196            e(
1197              n.$slider.find(".slick-cloned").slice(-1 * n.options.slidesToShow)
1198            );
1199    }),
1200    (e.prototype.loadSlider = function () {
1201      var i = this;
1202      i.setPosition(),
1203        i.$slideTrack.css({ opacity: 1 }),
1204        i.$slider.removeClass("slick-loading"),
1205        i.initUI(),
1206        "progressive" === i.options.lazyLoad && i.progressiveLazyLoad();
1207    }),
1208    (e.prototype.next = e.prototype.slickNext =
1209      function () {
1210        this.changeSlide({ data: { message: "next" } });
1211      }),
1212    (e.prototype.orientationChange = function () {
1213      var i = this;
1214      i.checkResponsive(), i.setPosition();
1215    }),
1216    (e.prototype.pause = e.prototype.slickPause =
1217      function () {
1218        var i = this;
1219        i.autoPlayClear(), (i.paused = !0);
1220      }),
1221    (e.prototype.play = e.prototype.slickPlay =
1222      function () {
1223        var i = this;
1224        i.autoPlay(),
1225          (i.options.autoplay = !0),
1226          (i.paused = !1),
1227          (i.focussed = !1),
1228          (i.interrupted = !1);
1229      }),
1230    (e.prototype.postSlide = function (e) {
1231      var t = this;
1232      t.unslicked ||
1233        (t.$slider.trigger("afterChange", [t, e]),
1234        (t.animating = !1),
1235        t.slideCount > t.options.slidesToShow && t.setPosition(),
1236        (t.swipeLeft = null),
1237        t.options.autoplay && t.autoPlay(),
1238        !0 === t.options.accessibility &&
1239          (t.initADA(),
1240          t.options.focusOnChange &&
1241            i(t.$slides.get(t.currentSlide)).attr("tabindex", 0).focus()));
1242    }),
1243    (e.prototype.prev = e.prototype.slickPrev =
1244      function () {
1245        this.changeSlide({ data: { message: "previous" } });
1246      }),
1247    (e.prototype.preventDefault = function (i) {
1248      i.preventDefault();
1249    }),
1250    (e.prototype.progressiveLazyLoad = function (e) {
1251      e = e || 1;
1252      var t,
1253        o,
1254        s,
1255        n,
1256        r,
1257        l = this,
1258        d = i("img[data-lazy]", l.$slider);
1259      d.length
1260        ? ((t = d.first()),
1261          (o = t.attr("data-lazy")),
1262          (s = t.attr("data-srcset")),
1263          (n = t.attr("data-sizes") || l.$slider.attr("data-sizes")),
1264          ((r = document.createElement("img")).onload = function () {
1265            s && (t.attr("srcset", s), n && t.attr("sizes", n)),
1266              t
1267                .attr("src", o)
1268                .removeAttr("data-lazy data-srcset data-sizes")
1269                .removeClass("slick-loading"),
1270              !0 === l.options.adaptiveHeight && l.setPosition(),
1271              l.$slider.trigger("lazyLoaded", [l, t, o]),
1272              l.progressiveLazyLoad();
1273          }),
1274          (r.onerror = function () {
1275            e < 3
1276              ? setTimeout(function () {
1277                  l.progressiveLazyLoad(e + 1);
1278                }, 500)
1279              : (t
1280                  .removeAttr("data-lazy")
1281                  .removeClass("slick-loading")
1282                  .addClass("slick-lazyload-error"),
1283                l.$slider.trigger("lazyLoadError", [l, t, o]),
1284                l.progressiveLazyLoad());
1285          }),
1286          (r.src = o))
1287        : l.$slider.trigger("allImagesLoaded", [l]);
1288    }),
1289    (e.prototype.refresh = function (e) {
1290      var t,
1291        o,
1292        s = this;
1293      (o = s.slideCount - s.options.slidesToShow),
1294        !s.options.infinite && s.currentSlide > o && (s.currentSlide = o),
1295        s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0),
1296        (t = s.currentSlide),
1297        s.destroy(!0),
1298        i.extend(s, s.initials, { currentSlide: t }),
1299        s.init(),
1300        e || s.changeSlide({ data: { message: "index", index: t } }, !1);
1301    }),
1302    (e.prototype.registerBreakpoints = function () {
1303      var e,
1304        t,
1305        o,
1306        s = this,
1307        n = s.options.responsive || null;
1308      if ("array" === i.type(n) && n.length) {
1309        s.respondTo = s.options.respondTo || "window";
1310        for (e in n)
1311          if (((o = s.breakpoints.length - 1), n.hasOwnProperty(e))) {
1312            for (t = n[e].breakpoint; o >= 0; )
1313              s.breakpoints[o] &&
1314                s.breakpoints[o] === t &&
1315                s.breakpoints.splice(o, 1),
1316                o--;
1317            s.breakpoints.push(t), (s.breakpointSettings[t] = n[e].settings);
1318          }
1319        s.breakpoints.sort(function (i, e) {
1320          return s.options.mobileFirst ? i - e : e - i;
1321        });
1322      }
1323    }),
1324    (e.prototype.reinit = function () {
1325      var e = this;
1326      (e.$slides = e.$slideTrack
1327        .children(e.options.slide)
1328        .addClass("slick-slide")),
1329        (e.slideCount = e.$slides.length),
1330        e.currentSlide >= e.slideCount &&
1331          0 !== e.currentSlide &&
1332          (e.currentSlide = e.currentSlide - e.options.slidesToScroll),
1333        e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0),
1334        e.registerBreakpoints(),
1335        e.setProps(),
1336        e.setupInfinite(),
1337        e.buildArrows(),
1338        e.updateArrows(),
1339        e.initArrowEvents(),
1340        e.buildDots(),
1341        e.updateDots(),
1342        e.initDotEvents(),
1343        e.cleanUpSlideEvents(),
1344        e.initSlideEvents(),
1345        e.checkResponsive(!1, !0),
1346        !0 === e.options.focusOnSelect &&
1347          i(e.$slideTrack).children().on("click.slick", e.selectHandler),
1348        e.setSlideClasses(
1349          "number" == typeof e.currentSlide ? e.currentSlide : 0
1350        ),
1351        e.setPosition(),
1352        e.focusHandler(),
1353        (e.paused = !e.options.autoplay),
1354        e.autoPlay(),
1355        e.$slider.trigger("reInit", [e]);
1356    }),
1357    (e.prototype.resize = function () {
1358      var e = this;
1359      i(window).width() !== e.windowWidth &&
1360        (clearTimeout(e.windowDelay),
1361        (e.windowDelay = window.setTimeout(function () {
1362          (e.windowWidth = i(window).width()),
1363            e.checkResponsive(),
1364            e.unslicked || e.setPosition();
1365        }, 50)));
1366    }),
1367    (e.prototype.removeSlide = e.prototype.slickRemove =
1368      function (i, e, t) {
1369        var o = this;
1370        if (
1371          ((i =
1372            "boolean" == typeof i
1373              ? !0 === (e = i)
1374                ? 0
1375                : o.slideCount - 1
1376              : !0 === e
1377              ? --i
1378              : i),
1379          o.slideCount < 1 || i < 0 || i > o.slideCount - 1)
1380        )
1381          return !1;
1382        o.unload(),
1383          !0 === t
1384            ? o.$slideTrack.children().remove()
1385            : o.$slideTrack.children(this.options.slide).eq(i).remove(),
1386          (o.$slides = o.$slideTrack.children(this.options.slide)),
1387          o.$slideTrack.children(this.options.slide).detach(),
1388          o.$slideTrack.append(o.$slides),
1389          (o.$slidesCache = o.$slides),
1390          o.reinit();
1391      }),
1392    (e.prototype.setCSS = function (i) {
1393      var e,
1394        t,
1395        o = this,
1396        s = {};
1397      !0 === o.options.rtl && (i = -i),
1398        (e = "left" == o.positionProp ? Math.ceil(i) + "px" : "0px"),
1399        (t = "top" == o.positionProp ? Math.ceil(i) + "px" : "0px"),
1400        (s[o.positionProp] = i),
1401        !1 === o.transformsEnabled
1402          ? o.$slideTrack.css(s)
1403          : ((s = {}),
1404            !1 === o.cssTransitions
1405              ? ((s[o.animType] = "translate(" + e + ", " + t + ")"),
1406                o.$slideTrack.css(s))
1407              : ((s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)"),
1408                o.$slideTrack.css(s)));
1409    }),
1410    (e.prototype.setDimensions = function () {
1411      var i = this;
1412      !1 === i.options.vertical
1413        ? !0 === i.options.centerMode &&
1414          i.$list.css({ padding: "0px " + i.options.centerPadding })
1415        : (i.$list.height(
1416            i.$slides.first().outerHeight(!0) * i.options.slidesToShow
1417          ),
1418          !0 === i.options.centerMode &&
1419            i.$list.css({ padding: i.options.centerPadding + " 0px" })),
1420        (i.listWidth = i.$list.width()),
1421        (i.listHeight = i.$list.height()),
1422        !1 === i.options.vertical && !1 === i.options.variableWidth
1423          ? ((i.slideWidth = Math.ceil(i.listWidth / i.options.slidesToShow)),
1424            i.$slideTrack.width(
1425              Math.ceil(
1426                i.slideWidth * i.$slideTrack.children(".slick-slide").length
1427              )
1428            ))
1429          : !0 === i.options.variableWidth
1430          ? i.$slideTrack.width(5e3 * i.slideCount)
1431          : ((i.slideWidth = Math.ceil(i.listWidth)),
1432            i.$slideTrack.height(
1433              Math.ceil(
1434                i.$slides.first().outerHeight(!0) *
1435                  i.$slideTrack.children(".slick-slide").length
1436              )
1437            ));
1438      var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width();
1439      !1 === i.options.variableWidth &&
1440        i.$slideTrack.children(".slick-slide").width(i.slideWidth - e);
1441    }),
1442    (e.prototype.setFade = function () {
1443      var e,
1444        t = this;
1445      t.$slides.each(function (o, s) {
1446        (e = t.slideWidth * o * -1),
1447          !0 === t.options.rtl
1448            ? i(s).css({
1449                position: "relative",
1450                right: e,
1451                top: 0,
1452                zIndex: t.options.zIndex - 2,
1453                opacity: 0,
1454              })
1455            : i(s).css({
1456                position: "relative",
1457                left: e,
1458                top: 0,
1459                zIndex: t.options.zIndex - 2,
1460                opacity: 0,
1461              });
1462      }),
1463        t.$slides
1464          .eq(t.currentSlide)
1465          .css({ zIndex: t.options.zIndex - 1, opacity: 1 });
1466    }),
1467    (e.prototype.setHeight = function () {
1468      var i = this;
1469      if (
1470        1 === i.options.slidesToShow &&
1471        !0 === i.options.adaptiveHeight &&
1472        !1 === i.options.vertical
1473      ) {
1474        var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
1475        i.$list.css("height", e);
1476      }
1477    }),
1478    (e.prototype.setOption = e.prototype.slickSetOption =
1479      function () {
1480        var e,
1481          t,
1482          o,
1483          s,
1484          n,
1485          r = this,
1486          l = !1;
1487        if (
1488          ("object" === i.type(arguments[0])
1489            ? ((o = arguments[0]), (l = arguments[1]), (n = "multiple"))
1490            : "string" === i.type(arguments[0]) &&
1491              ((o = arguments[0]),
1492              (s = arguments[1]),
1493              (l = arguments[2]),
1494              "responsive" === arguments[0] && "array" === i.type(arguments[1])
1495                ? (n = "responsive")
1496                : void 0 !== arguments[1] && (n = "single")),
1497          "single" === n)
1498        )
1499          r.options[o] = s;
1500        else if ("multiple" === n)
1501          i.each(o, function (i, e) {
1502            r.options[i] = e;
1503          });
1504        else if ("responsive" === n)
1505          for (t in s)
1506            if ("array" !== i.type(r.options.responsive))
1507              r.options.responsive = [s[t]];
1508            else {
1509              for (e = r.options.responsive.length - 1; e >= 0; )
1510                r.options.responsive[e].breakpoint === s[t].breakpoint &&
1511                  r.options.responsive.splice(e, 1),
1512                  e--;
1513              r.options.responsive.push(s[t]);
1514            }
1515        l && (r.unload(), r.reinit());
1516      }),
1517    (e.prototype.setPosition = function () {
1518      var i = this;
1519      i.setDimensions(),
1520        i.setHeight(),
1521        !1 === i.options.fade
1522          ? i.setCSS(i.getLeft(i.currentSlide))
1523          : i.setFade(),
1524        i.$slider.trigger("setPosition", [i]);
1525    }),
1526    (e.prototype.setProps = function () {
1527      var i = this,
1528        e = document.body.style;
1529      (i.positionProp = !0 === i.options.vertical ? "top" : "left"),
1530        "top" === i.positionProp
1531          ? i.$slider.addClass("slick-vertical")
1532          : i.$slider.removeClass("slick-vertical"),
1533        (void 0 === e.WebkitTransition &&
1534          void 0 === e.MozTransition &&
1535          void 0 === e.msTransition) ||
1536          (!0 === i.options.useCSS && (i.cssTransitions = !0)),
1537        i.options.fade &&
1538          ("number" == typeof i.options.zIndex
1539            ? i.options.zIndex < 3 && (i.options.zIndex = 3)
1540            : (i.options.zIndex = i.defaults.zIndex)),
1541        void 0 !== e.OTransform &&
1542          ((i.animType = "OTransform"),
1543          (i.transformType = "-o-transform"),
1544          (i.transitionType = "OTransition"),
1545          void 0 === e.perspectiveProperty &&
1546            void 0 === e.webkitPerspective &&
1547            (i.animType = !1)),
1548        void 0 !== e.MozTransform &&
1549          ((i.animType = "MozTransform"),
1550          (i.transformType = "-moz-transform"),
1551          (i.transitionType = "MozTransition"),
1552          void 0 === e.perspectiveProperty &&
1553            void 0 === e.MozPerspective &&
1554            (i.animType = !1)),
1555        void 0 !== e.webkitTransform &&
1556          ((i.animType = "webkitTransform"),
1557          (i.transformType = "-webkit-transform"),
1558          (i.transitionType = "webkitTransition"),
1559          void 0 === e.perspectiveProperty &&
1560            void 0 === e.webkitPerspective &&
1561            (i.animType = !1)),
1562        void 0 !== e.msTransform &&
1563          ((i.animType = "msTransform"),
1564          (i.transformType = "-ms-transform"),
1565          (i.transitionType = "msTransition"),
1566          void 0 === e.msTransform && (i.animType = !1)),
1567        void 0 !== e.transform &&
1568          !1 !== i.animType &&
1569          ((i.animType = "transform"),
1570          (i.transformType = "transform"),
1571          (i.transitionType = "transition")),
1572        (i.transformsEnabled =
1573          i.options.useTransform && null !== i.animType && !1 !== i.animType);
1574    }),
1575    (e.prototype.setSlideClasses = function (i) {
1576      var e,
1577        t,
1578        o,
1579        s,
1580        n = this;
1581      if (
1582        ((t = n.$slider
1583          .find(".slick-slide")
1584          .removeClass("slick-active slick-center slick-current")
1585          .attr("aria-hidden", "true")),
1586        n.$slides.eq(i).addClass("slick-current"),
1587        !0 === n.options.centerMode)
1588      ) {
1589        var r = n.options.slidesToShow % 2 == 0 ? 1 : 0;
1590        (e = Math.floor(n.options.slidesToShow / 2)),
1591          !0 === n.options.infinite &&
1592            (i >= e && i <= n.slideCount - 1 - e
1593              ? n.$slides
1594                  .slice(i - e + r, i + e + 1)
1595                  .addClass("slick-active")
1596                  .attr("aria-hidden", "false")
1597              : ((o = n.options.slidesToShow + i),
1598                t
1599                  .slice(o - e + 1 + r, o + e + 2)
1600                  .addClass("slick-active")
1601                  .attr("aria-hidden", "false")),
1602            0 === i
1603              ? t
1604                  .eq(t.length - 1 - n.options.slidesToShow)
1605                  .addClass("slick-center")
1606              : i === n.slideCount - 1 &&
1607                t.eq(n.options.slidesToShow).addClass("slick-center")),
1608          n.$slides.eq(i).addClass("slick-center");
1609      } else
1610        i >= 0 && i <= n.slideCount - n.options.slidesToShow
1611          ? n.$slides
1612              .slice(i, i + n.options.slidesToShow)
1613              .addClass("slick-active")
1614              .attr("aria-hidden", "false")
1615          : t.length <= n.options.slidesToShow
1616          ? t.addClass("slick-active").attr("aria-hidden", "false")
1617          : ((s = n.slideCount % n.options.slidesToShow),
1618            (o = !0 === n.options.infinite ? n.options.slidesToShow + i : i),
1619            n.options.slidesToShow == n.options.slidesToScroll &&
1620            n.slideCount - i < n.options.slidesToShow
1621              ? t
1622                  .slice(o - (n.options.slidesToShow - s), o + s)
1623                  .addClass("slick-active")
1624                  .attr("aria-hidden", "false")
1625              : t
1626                  .slice(o, o + n.options.slidesToShow)
1627                  .addClass("slick-active")
1628                  .attr("aria-hidden", "false"));
1629      ("ondemand" !== n.options.lazyLoad &&
1630        "anticipated" !== n.options.lazyLoad) ||
1631        n.lazyLoad();
1632    }),
1633    (e.prototype.setupInfinite = function () {
1634      var e,
1635        t,
1636        o,
1637        s = this;
1638      if (
1639        (!0 === s.options.fade && (s.options.centerMode = !1),
1640        !0 === s.options.infinite &&
1641          !1 === s.options.fade &&
1642          ((t = null), s.slideCount > s.options.slidesToShow))
1643      ) {
1644        for (
1645          o =
1646            !0 === s.options.centerMode
1647              ? s.options.slidesToShow + 1
1648              : s.options.slidesToShow,
1649            e = s.slideCount;
1650          e > s.slideCount - o;
1651          e -= 1
1652        )
1653          (t = e - 1),
1654            i(s.$slides[t])
1655              .clone(!0)
1656              .attr("id", "")
1657              .attr("data-slick-index", t - s.slideCount)
1658              .prependTo(s.$slideTrack)
1659              .addClass("slick-cloned");
1660        for (e = 0; e < o + s.slideCount; e += 1)
1661          (t = e),
1662            i(s.$slides[t])
1663              .clone(!0)
1664              .attr("id", "")
1665              .attr("data-slick-index", t + s.slideCount)
1666              .appendTo(s.$slideTrack)
1667              .addClass("slick-cloned");
1668        s.$slideTrack
1669          .find(".slick-cloned")
1670          .find("[id]")
1671          .each(function () {
1672            i(this).attr("id", "");
1673          });
1674      }
1675    }),
1676    (e.prototype.interrupt = function (i) {
1677      var e = this;
1678      i || e.autoPlay(), (e.interrupted = i);
1679    }),
1680    (e.prototype.selectHandler = function (e) {
1681      var t = this,
1682        o = i(e.target).is(".slick-slide")
1683          ? i(e.target)
1684          : i(e.target).parents(".slick-slide"),
1685        s = parseInt(o.attr("data-slick-index"));
1686      s || (s = 0),
1687        t.slideCount <= t.options.slidesToShow
1688          ? t.slideHandler(s, !1, !0)
1689          : t.slideHandler(s);
1690    }),
1691    (e.prototype.slideHandler = function (i, e, t) {
1692      var o,
1693        s,
1694        n,
1695        r,
1696        l,
1697        d = null,
1698        a = this;
1699      if (
1700        ((e = e || !1),
1701        !(
1702          (!0 === a.animating && !0 === a.options.waitForAnimate) ||
1703          (!0 === a.options.fade && a.currentSlide === i)
1704        ))
1705      )
1706        if (
1707          (!1 === e && a.asNavFor(i),
1708          (o = i),
1709          (d = a.getLeft(o)),
1710          (r = a.getLeft(a.currentSlide)),
1711          (a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft),
1712          !1 === a.options.infinite &&
1713            !1 === a.options.centerMode &&
1714            (i < 0 || i > a.getDotCount() * a.options.slidesToScroll))
1715        )
1716          !1 === a.options.fade &&
1717            ((o = a.currentSlide),
1718            !0 !== t
1719              ? a.animateSlide(r, function () {
1720                  a.postSlide(o);
1721                })
1722              : a.postSlide(o));
1723        else if (
1724          !1 === a.options.infinite &&
1725          !0 === a.options.centerMode &&
1726          (i < 0 || i > a.slideCount - a.options.slidesToScroll)
1727        )
1728          !1 === a.options.fade &&
1729            ((o = a.currentSlide),
1730            !0 !== t
1731              ? a.animateSlide(r, function () {
1732                  a.postSlide(o);
1733                })
1734              : a.postSlide(o));
1735        else {
1736          if (
1737            (a.options.autoplay && clearInterval(a.autoPlayTimer),
1738            (s =
1739              o < 0
1740                ? a.slideCount % a.options.slidesToScroll != 0
1741                  ? a.slideCount - (a.slideCount % a.options.slidesToScroll)
1742                  : a.slideCount + o
1743                : o >= a.slideCount
1744                ? a.slideCount % a.options.slidesToScroll != 0
1745                  ? 0
1746                  : o - a.slideCount
1747                : o),
1748            (a.animating = !0),
1749            a.$slider.trigger("beforeChange", [a, a.currentSlide, s]),
1750            (n = a.currentSlide),
1751            (a.currentSlide = s),
1752            a.setSlideClasses(a.currentSlide),
1753            a.options.asNavFor &&
1754              (l = (l = a.getNavTarget()).slick("getSlick")).slideCount <=
1755                l.options.slidesToShow &&
1756              l.setSlideClasses(a.currentSlide),
1757            a.updateDots(),
1758            a.updateArrows(),
1759            !0 === a.options.fade)
1760          )
1761            return (
1762              !0 !== t
1763                ? (a.fadeSlideOut(n),
1764                  a.fadeSlide(s, function () {
1765                    a.postSlide(s);
1766                  }))
1767                : a.postSlide(s),
1768              void a.animateHeight()
1769            );
1770          !0 !== t
1771            ? a.animateSlide(d, function () {
1772                a.postSlide(s);
1773              })
1774            : a.postSlide(s);
1775        }
1776    }),
1777    (e.prototype.startLoad = function () {
1778      var i = this;
1779      !0 === i.options.arrows &&
1780        i.slideCount > i.options.slidesToShow &&
1781        (i.$prevArrow.hide(), i.$nextArrow.hide()),
1782        !0 === i.options.dots &&
1783          i.slideCount > i.options.slidesToShow &&
1784          i.$dots.hide(),
1785        i.$slider.addClass("slick-loading");
1786    }),
1787    (e.prototype.swipeDirection = function () {
1788      var i,
1789        e,
1790        t,
1791        o,
1792        s = this;
1793      return (
1794        (i = s.touchObject.startX - s.touchObject.curX),
1795        (e = s.touchObject.startY - s.touchObject.curY),
1796        (t = Math.atan2(e, i)),
1797        (o = Math.round((180 * t) / Math.PI)) < 0 && (o = 360 - Math.abs(o)),
1798        o <= 45 && o >= 0
1799          ? !1 === s.options.rtl
1800            ? "left"
1801            : "right"
1802          : o <= 360 && o >= 315
1803          ? !1 === s.options.rtl
1804            ? "left"
1805            : "right"
1806          : o >= 135 && o <= 225
1807          ? !1 === s.options.rtl
1808            ? "right"
1809            : "left"
1810          : !0 === s.options.verticalSwiping
1811          ? o >= 35 && o <= 135
1812            ? "down"
1813            : "up"
1814          : "vertical"
1815      );
1816    }),
1817    (e.prototype.swipeEnd = function (i) {
1818      var e,
1819        t,
1820        o = this;
1821      if (((o.dragging = !1), (o.swiping = !1), o.scrolling))
1822        return (o.scrolling = !1), !1;
1823      if (
1824        ((o.interrupted = !1),
1825        (o.shouldClick = !(o.touchObject.swipeLength > 10)),
1826        void 0 === o.touchObject.curX)
1827      )
1828        return !1;
1829      if (
1830        (!0 === o.touchObject.edgeHit &&
1831          o.$slider.trigger("edge", [o, o.swipeDirection()]),
1832        o.touchObject.swipeLength >= o.touchObject.minSwipe)
1833      ) {
1834        switch ((t = o.swipeDirection())) {
1835          case "left":
1836          case "down":
1837            (e = o.options.swipeToSlide
1838              ? o.checkNavigable(o.currentSlide + o.getSlideCount())
1839              : o.currentSlide + o.getSlideCount()),
1840              (o.currentDirection = 0);
1841            break;
1842          case "right":
1843          case "up":
1844            (e = o.options.swipeToSlide
1845              ? o.checkNavigable(o.currentSlide - o.getSlideCount())
1846              : o.currentSlide - o.getSlideCount()),
1847              (o.currentDirection = 1);
1848        }
1849        "vertical" != t &&
1850          (o.slideHandler(e),
1851          (o.touchObject = {}),
1852          o.$slider.trigger("swipe", [o, t]));
1853      } else
1854        o.touchObject.startX !== o.touchObject.curX &&
1855          (o.slideHandler(o.currentSlide), (o.touchObject = {}));
1856    }),
1857    (e.prototype.swipeHandler = function (i) {
1858      var e = this;
1859      if (
1860        !(
1861          !1 === e.options.swipe ||
1862          ("ontouchend" in document && !1 === e.options.swipe) ||
1863          (!1 === e.options.draggable && -1 !== i.type.indexOf("mouse"))
1864        )
1865      )
1866        switch (
1867          ((e.touchObject.fingerCount =
1868            i.originalEvent && void 0 !== i.originalEvent.touches
1869              ? i.originalEvent.touches.length
1870              : 1),
1871          (e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold),
1872          !0 === e.options.verticalSwiping &&
1873            (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold),
1874          i.data.action)
1875        ) {
1876          case "start":
1877            e.swipeStart(i);
1878            break;
1879          case "move":
1880            e.swipeMove(i);
1881            break;
1882          case "end":
1883            e.swipeEnd(i);
1884        }
1885    }),
1886    (e.prototype.swipeMove = function (i) {
1887      var e,
1888        t,
1889        o,
1890        s,
1891        n,
1892        r,
1893        l = this;
1894      return (
1895        (n = void 0 !== i.originalEvent ? i.originalEvent.touches : null),
1896        !(!l.dragging || l.scrolling || (n && 1 !== n.length)) &&
1897          ((e = l.getLeft(l.currentSlide)),
1898          (l.touchObject.curX = void 0 !== n ? n[0].pageX : i.clientX),
1899          (l.touchObject.curY = void 0 !== n ? n[0].pageY : i.clientY),
1900          (l.touchObject.swipeLength = Math.round(
1901            Math.sqrt(Math.pow(l.touchObject.curX - l.touchObject.startX, 2))
1902          )),
1903          (r = Math.round(
1904            Math.sqrt(Math.pow(l.touchObject.curY - l.touchObject.startY, 2))
1905          )),
1906          !l.options.verticalSwiping && !l.swiping && r > 4
1907            ? ((l.scrolling = !0), !1)
1908            : (!0 === l.options.verticalSwiping &&
1909                (l.touchObject.swipeLength = r),
1910              (t = l.swipeDirection()),
1911              void 0 !== i.originalEvent &&
1912                l.touchObject.swipeLength > 4 &&
1913                ((l.swiping = !0), i.preventDefault()),
1914              (s =
1915                (!1 === l.options.rtl ? 1 : -1) *
1916                (l.touchObject.curX > l.touchObject.startX ? 1 : -1)),
1917              !0 === l.options.verticalSwiping &&
1918                (s = l.touchObject.curY > l.touchObject.startY ? 1 : -1),
1919              (o = l.touchObject.swipeLength),
1920              (l.touchObject.edgeHit = !1),
1921              !1 === l.options.infinite &&
1922                ((0 === l.currentSlide && "right" === t) ||
1923                  (l.currentSlide >= l.getDotCount() && "left" === t)) &&
1924                ((o = l.touchObject.swipeLength * l.options.edgeFriction),
1925                (l.touchObject.edgeHit = !0)),
1926              !1 === l.options.vertical
1927                ? (l.swipeLeft = e + o * s)
1928                : (l.swipeLeft = e + o * (l.$list.height() / l.listWidth) * s),
1929              !0 === l.options.verticalSwiping && (l.swipeLeft = e + o * s),
1930              !0 !== l.options.fade &&
1931                !1 !== l.options.touchMove &&
1932                (!0 === l.animating
1933                  ? ((l.swipeLeft = null), !1)
1934                  : void l.setCSS(l.swipeLeft))))
1935      );
1936    }),
1937    (e.prototype.swipeStart = function (i) {
1938      var e,
1939        t = this;
1940      if (
1941        ((t.interrupted = !0),
1942        1 !== t.touchObject.fingerCount ||
1943          t.slideCount <= t.options.slidesToShow)
1944      )
1945        return (t.touchObject = {}), !1;
1946      void 0 !== i.originalEvent &&
1947        void 0 !== i.originalEvent.touches &&
1948        (e = i.originalEvent.touches[0]),
1949        (t.touchObject.startX = t.touchObject.curX =
1950          void 0 !== e ? e.pageX : i.clientX),
1951        (t.touchObject.startY = t.touchObject.curY =
1952          void 0 !== e ? e.pageY : i.clientY),
1953        (t.dragging = !0);
1954    }),
1955    (e.prototype.unfilterSlides = e.prototype.slickUnfilter =
1956      function () {
1957        var i = this;
1958        null !== i.$slidesCache &&
1959          (i.unload(),
1960          i.$slideTrack.children(this.options.slide).detach(),
1961          i.$slidesCache.appendTo(i.$slideTrack),
1962          i.reinit());
1963      }),
1964    (e.prototype.unload = function () {
1965      var e = this;
1966      i(".slick-cloned", e.$slider).remove(),
1967        e.$dots && e.$dots.remove(),
1968        e.$prevArrow &&
1969          e.htmlExpr.test(e.options.prevArrow) &&
1970          e.$prevArrow.remove(),
1971        e.$nextArrow &&
1972          e.htmlExpr.test(e.options.nextArrow) &&
1973          e.$nextArrow.remove(),
1974        e.$slides
1975          .removeClass("slick-slide slick-active slick-visible slick-current")
1976          .attr("aria-hidden", "true")
1977          .css("width", "");
1978    }),
1979    (e.prototype.unslick = function (i) {
1980      var e = this;
1981      e.$slider.trigger("unslick", [e, i]), e.destroy();
1982    }),
1983    (e.prototype.updateArrows = function () {
1984      var i = this;
1985      Math.floor(i.options.slidesToShow / 2),
1986        !0 === i.options.arrows &&
1987          i.slideCount > i.options.slidesToShow &&
1988          !i.options.infinite &&
1989          (i.$prevArrow
1990            .removeClass("slick-disabled")
1991            .attr("aria-disabled", "false"),
1992          i.$nextArrow
1993            .removeClass("slick-disabled")
1994            .attr("aria-disabled", "false"),
1995          0 === i.currentSlide
1996            ? (i.$prevArrow
1997                .addClass("slick-disabled")
1998                .attr("aria-disabled", "true"),
1999              i.$nextArrow
2000                .removeClass("slick-disabled")
2001                .attr("aria-disabled", "false"))
2002            : i.currentSlide >= i.slideCount - i.options.slidesToShow &&
2003              !1 === i.options.centerMode
2004            ? (i.$nextArrow
2005                .addClass("slick-disabled")
2006                .attr("aria-disabled", "true"),
2007              i.$prevArrow
2008                .removeClass("slick-disabled")
2009                .attr("aria-disabled", "false"))
2010            : i.currentSlide >= i.slideCount - 1 &&
2011              !0 === i.options.centerMode &&
2012              (i.$nextArrow
2013                .addClass("slick-disabled")
2014                .attr("aria-disabled", "true"),
2015              i.$prevArrow
2016                .removeClass("slick-disabled")
2017                .attr("aria-disabled", "false")));
2018    }),
2019    (e.prototype.updateDots = function () {
2020      var i = this;
2021      null !== i.$dots &&
2022        (i.$dots.find("li").removeClass("slick-active").end(),
2023        i.$dots
2024          .find("li")
2025          .eq(Math.floor(i.currentSlide / i.options.slidesToScroll))
2026          .addClass("slick-active"));
2027    }),
2028    (e.prototype.visibility = function () {
2029      var i = this;
2030      i.options.autoplay &&
2031        (document[i.hidden] ? (i.interrupted = !0) : (i.interrupted = !1));
2032    }),
2033    (i.fn.slick = function () {
2034      var i,
2035        t,
2036        o = this,
2037        s = arguments[0],
2038        n = Array.prototype.slice.call(arguments, 1),
2039        r = o.length;
2040      for (i = 0; i < r; i++)
2041        if (
2042          ("object" == typeof s || void 0 === s
2043            ? (o[i].slick = new e(o[i], s))
2044            : (t = o[i].slick[s].apply(o[i].slick, n)),
2045          void 0 !== t)
2046        )
2047          return t;
2048      return o;
2049    });
2050});
2051
2052// ==================================================
2053// fancyBox v3.2.10
2054//
2055// Licensed GPLv3 for open source use
2056// or fancyBox Commercial License for commercial use
2057//
2058// http://fancyapps.com/fancybox/
2059// Copyright 2017 fancyApps
2060//
2061// ==================================================
2062!(function (t, e, n, o) {
2063  "use strict";
2064  function i(t) {
2065    var e = n(t.currentTarget),
2066      o = t.data ? t.data.options : {},
2067      i = e.attr("data-fancybox") || "",
2068      a = 0,
2069      s = [];
2070    t.isDefaultPrevented() ||
2071      (t.preventDefault(),
2072      i
2073        ? ((s = o.selector ? n(o.selector) : t.data ? t.data.items : []),
2074          (s = s.length
2075            ? s.filter('[data-fancybox="' + i + '"]')
2076            : n('[data-fancybox="' + i + '"]')),
2077          (a = s.index(e)),
2078          a < 0 && (a = 0))
2079        : (s = [e]),
2080      n.fancybox.open(s, o, a));
2081  }
2082  if (n) {
2083    if (n.fn.fancybox)
2084      return void (
2085        "console" in t && console.log("fancyBox already initialized")
2086      );
2087    var a = {
2088        loop: !1,
2089        margin: [44, 0],
2090        gutter: 50,
2091        keyboard: !0,
2092        arrows: !0,
2093        infobar: !0,
2094        toolbar: !0,
2095        buttons: ["slideShow", "fullScreen", "thumbs", "share", "close"],
2096        idleTime: 3,
2097        smallBtn: "auto",
2098        protect: !1,
2099        modal: !1,
2100        image: { preload: "auto" },
2101        ajax: { settings: { data: { fancybox: !0 } } },
2102        iframe: {
2103          tpl: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" src=""></iframe>',
2104          preload: !0,
2105          css: {},
2106          attr: { scrolling: "auto" },
2107        },
2108        defaultType: "image",
2109        animationEffect: "zoom",
2110        animationDuration: 500,
2111        zoomOpacity: "auto",
2112        transitionEffect: "fade",
2113        transitionDuration: 366,
2114        slideClass: "",
2115        baseClass: "",
2116        baseTpl:
2117          '<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption-wrap"><div class="fancybox-caption"></div></div></div></div>',
2118        spinnerTpl: '<div class="fancybox-loading"></div>',
2119        errorTpl: '<div class="fancybox-error"><p>{{ERROR}}<p></div>',
2120        btnTpl: {
2121          download:
2122            '<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}"><svg viewBox="0 0 40 40"><path d="M20,23 L20,8 L20,23 L13,16 L20,23 L27,16 L20,23 M26,28 L13,28 L27,28 L14,28" /></svg></a>',
2123          zoom: '<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg viewBox="0 0 40 40"><path d="M 18,17 m-8,0 a 8,8 0 1,0 16,0 a 8,8 0 1,0 -16,0 M25,23 L31,29 L25,23" /></svg></button>',
2124          close:
2125            '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg viewBox="0 0 40 40"><path d="M10,10 L30,30 M30,10 L10,30" /></svg></button>',
2126          smallBtn:
2127            '<button data-fancybox-close class="fancybox-close-small" title="{{CLOSE}}"></button>',
2128          arrowLeft:
2129            '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><svg viewBox="0 0 40 40"><path d="M10,20 L30,20 L10,20 L18,28 L10,20 L18,12 L10,20"></path></svg></button>',
2130          arrowRight:
2131            '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><svg viewBox="0 0 40 40"><path d="M30,20 L10,20 L30,20 L22,28 L30,20 L22,12 L30,20"></path></svg></button>',
2132        },
2133        parentEl: "body",
2134        autoFocus: !1,
2135        backFocus: !0,
2136        trapFocus: !0,
2137        fullScreen: { autoStart: !1 },
2138        touch: { vertical: !0, momentum: !0 },
2139        hash: null,
2140        media: {},
2141        slideShow: { autoStart: !1, speed: 4e3 },
2142        thumbs: {
2143          autoStart: !1,
2144          hideOnClose: !0,
2145          parentEl: ".fancybox-container",
2146          axis: "y",
2147        },
2148        wheel: "auto",
2149        onInit: n.noop,
2150        beforeLoad: n.noop,
2151        afterLoad: n.noop,
2152        beforeShow: n.noop,
2153        afterShow: n.noop,
2154        beforeClose: n.noop,
2155        afterClose: n.noop,
2156        onActivate: n.noop,
2157        onDeactivate: n.noop,
2158        clickContent: function (t, e) {
2159          return "image" === t.type && "zoom";
2160        },
2161        clickSlide: "close",
2162        clickOutside: "close",
2163        dblclickContent: !1,
2164        dblclickSlide: !1,
2165        dblclickOutside: !1,
2166        mobile: {
2167          idleTime: !1,
2168          margin: 0,
2169          clickContent: function (t, e) {
2170            return "image" === t.type && "toggleControls";
2171          },
2172          clickSlide: function (t, e) {
2173            return "image" === t.type ? "toggleControls" : "close";
2174          },
2175          dblclickContent: function (t, e) {
2176            return "image" === t.type && "zoom";
2177          },
2178          dblclickSlide: function (t, e) {
2179            return "image" === t.type && "zoom";
2180          },
2181        },
2182        lang: "en",
2183        i18n: {
2184          en: {
2185            CLOSE: "Close",
2186            NEXT: "Next",
2187            PREV: "Previous",
2188            ERROR:
2189              "The requested content cannot be loaded. <br/> Please try again later.",
2190            PLAY_START: "Start slideshow",
2191            PLAY_STOP: "Pause slideshow",
2192            FULL_SCREEN: "Full screen",
2193            THUMBS: "Thumbnails",
2194            DOWNLOAD: "Download",
2195            SHARE: "Share",
2196            ZOOM: "Zoom",
2197          },
2198          de: {
2199            CLOSE: "Schliessen",
2200            NEXT: "Weiter",
2201            PREV: "Zurück",
2202            ERROR:
2203              "Die angeforderten Daten konnten nicht geladen werden. <br/>
2203 Bitte versuchen Sie es später nochmal.",
2204            PLAY_START: "Diaschau starten",
2205            PLAY_STOP: "Diaschau beenden",
2206            FULL_SCREEN: "Vollbild",
2207            THUMBS: "Vorschaubilder",
2208            DOWNLOAD: "Herunterladen",
2209            SHARE: "Teilen",
2210            ZOOM: "Maßstab",
2211          },
2212        },
2213      },
2214      s = n(t),
2215      r = n(e),
2216      c = 0,
2217      l = function (t) {
2218        return t && t.hasOwnProperty && t instanceof n;
2219      },
2220      u = (function () {
2221        return (
2222          t.requestAnimationFrame ||
2223          t.webkitRequestAnimationFrame ||
2224          t.mozRequestAnimationFrame ||
2225          t.oRequestAnimationFrame ||
2226          function (e) {
2227            return t.setTimeout(e, 1e3 / 60);
2228          }
2229        );
2230      })(),
2231      d = (function () {
2232        var t,
2233          n = e.createElement("fakeelement"),
2234          i = {
2235            transition: "transitionend",
2236            OTransition: "oTransitionEnd",
2237            MozTransition: "transitionend",
2238            WebkitTransition: "webkitTransitionEnd",
2239          };
2240        for (t in i) if (n.style[t] !== o) return i[t];
2241        return "transitionend";
2242      })(),
2243      f = function (t) {
2244        return t && t.length && t[0].offsetHeight;
2245      },
2246      p = function (t, o, i) {
2247        var a = this;
2248        (a.opts = n.extend(!0, { index: i }, n.fancybox.defaults, o || {})),
2249          n.fancybox.isMobile &&
2250            (a.opts = n.extend(!0, {}, a.opts, a.opts.mobile)),
2251          o && n.isArray(o.buttons) && (a.opts.buttons = o.buttons),
2252          (a.id = a.opts.id || ++c),
2253          (a.group = []),
2254          (a.currIndex = parseInt(a.opts.index, 10) || 0),
2255          (a.prevIndex = null),
2256          (a.prevPos = null),
2257          (a.currPos = 0),
2258          (a.firstRun = null),
2259          a.createGroup(t),
2260          a.group.length &&
2261            ((a.$lastFocus = n(e.activeElement).blur()),
2262            (a.slides = {}),
2263            a.init());
2264      };
2265    n.extend(p.prototype, {
2266      init: function () {
2267        var i,
2268          a,
2269          s,
2270          c = this,
2271          l = c.group[c.currIndex],
2272          u = l.opts,
2273          d = n.fancybox.scrollbarWidth;
2274        (c.scrollTop = r.scrollTop()),
2275          (c.scrollLeft = r.scrollLeft()),
2276          n.fancybox.getInstance() ||
2277            (n("body").addClass("fancybox-active"),
2278            /iPad|iPhone|iPod/.test(navigator.userAgent) && !t.MSStream
2279              ? "image" !== l.type &&
2280                n("body")
2281                  .css("top", n("body").scrollTop() * -1)
2282                  .addClass("fancybox-iosfix")
2283              : !n.fancybox.isMobile &&
2284                e.body.scrollHeight > t.innerHeight &&
2285                (d === o &&
2286                  ((i = n(
2287                    '<div style="width:50px;height:50px;overflow:scroll;" />'
2288                  ).appendTo("body")),
2289                  (d = n.fancybox.scrollbarWidth =
2290                    i[0].offsetWidth - i[0].clientWidth),
2291                  i.remove()),
2292                n("head").append(
2293                  '<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar { margin-right: ' +
2294                    d +
2295                    "px; }</style>"
2296                ),
2297                n("body").addClass("compensate-for-scrollbar"))),
2298          (s = ""),
2299          n.each(u.buttons, function (t, e) {
2300            s += u.btnTpl[e] || "";
2301          }),
2302          (a = n(
2303            c.translate(
2304              c,
2305              u.baseTpl
2306                .replace("{{buttons}}", s)
2307                .replace("{{arrows}}", u.btnTpl.arrowLeft + u.btnTpl.arrowRight)
2308            )
2309          )
2310            .attr("id", "fancybox-container-" + c.id)
2311            .addClass("fancybox-is-hidden")
2312            .addClass(u.baseClass)
2313            .data("FancyBox", c)
2314            .appendTo(u.parentEl)),
2315          (c.$refs = { container: a }),
2316          [
2317            "bg",
2318            "inner",
2319            "infobar",
2320            "toolbar",
2321            "stage",
2322            "caption",
2323            "navigation",
2324          ].forEach(function (t) {
2325            c.$refs[t] = a.find(".fancybox-" + t);
2326          }),
2327          c.trigger("onInit"),
2328          c.activate(),
2329          c.jumpTo(c.currIndex);
2330      },
2331      translate: function (t, e) {
2332        var n = t.opts.i18n[t.opts.lang];
2333        return e.replace(/\{\{(\w+)\}\}/g, function (t, e) {
2334          var i = n[e];
2335          return i === o ? t : i;
2336        });
2337      },
2338      createGroup: function (t) {
2339        var e = this,
2340          i = n.makeArray(t);
2341        n.each(i, function (t, i) {
2342          var a,
2343            s,
2344            r,
2345            c,
2346            l,
2347            u = {},
2348            d = {};
2349          n.isPlainObject(i)
2350            ? ((u = i), (d = i.opts || i))
2351            : "object" === n.type(i) && n(i).length
2352            ? ((a = n(i)),
2353              (d = a.data()),
2354              (d = n.extend({}, d, d.options || {})),
2355              (d.$orig = a),
2356              (u.src = d.src || a.attr("href")),
2357              u.type || u.src || ((u.type = "inline"), (u.src = i)))
2358            : (u = { type: "html", src: i + "" }),
2359            (u.opts = n.extend(!0, {}, e.opts, d)),
2360            n.isArray(d.buttons) && (u.opts.buttons = d.buttons),
2361            (s = u.type || u.opts.type),
2362            (c = u.src || ""),
2363            !s &&
2364              c &&
2365              (c.match(
2366                /(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i
2367              )
2368                ? (s = "image")
2369                : c.match(/\.(pdf)((\?|#).*)?$/i)
2370                ? (s = "pdf")
2371                : (r = c.match(/\.(mp4|mov|ogv)((\?|#).*)?$/i))
2372                ? ((s = "video"),
2373                  u.opts.videoFormat ||
2374                    (u.opts.videoFormat =
2375                      "video/" + ("ogv" === r[1] ? "ogg" : r[1])))
2376                : "#" === c.charAt(0) && (s = "inline")),
2377            s ? (u.type = s) : e.trigger("objectNeedsType", u),
2378            (u.index = e.group.length),
2379            u.opts.$orig && !u.opts.$orig.length && delete u.opts.$orig,
2380            !u.opts.$thumb &&
2381              u.opts.$orig &&
2382              (u.opts.$thumb = u.opts.$orig.find("img:first")),
2383            u.opts.$thumb && !u.opts.$thumb.length && delete u.opts.$thumb,
2384            "function" === n.type(u.opts.caption) &&
2385              (u.opts.caption = u.opts.caption.apply(i, [e, u])),
2386            "function" === n.type(e.opts.caption) &&
2387              (u.opts.caption = e.opts.caption.apply(i, [e, u])),
2388            u.opts.caption instanceof n ||
2389              (u.opts.caption =
2390                u.opts.caption === o ? "" : u.opts.caption + ""),
2391            "ajax" === s &&
2392              ((l = c.split(/\s+/, 2)),
2393              l.length > 1 &&
2394                ((u.src = l.shift()), (u.opts.filter = l.shift()))),
2395            "auto" == u.opts.smallBtn &&
2396              (n.inArray(s, ["html", "inline", "ajax"]) > -1
2397                ? ((u.opts.toolbar = !1), (u.opts.smallBtn = !0))
2398                : (u.opts.smallBtn = !1)),
2399            "pdf" === s && ((u.type = "iframe"), (u.opts.iframe.preload = !1)),
2400            u.opts.modal &&
2401              (u.opts = n.extend(!0, u.opts, {
2402                infobar: 0,
2403                toolbar: 0,
2404                smallBtn: 0,
2405                keyboard: 0,
2406                slideShow: 0,
2407                fullScreen: 0,
2408                thumbs: 0,
2409                touch: 0,
2410                clickContent: !1,
2411                clickSlide: !1,
2412                clickOutside: !1,
2413                dblclickContent: !1,
2414                dblclickSlide: !1,
2415                dblclickOutside: !1,
2416              })),
2417            e.group.push(u);
2418        });
2419      },
2420      addEvents: function () {
2421        var o = this;
2422        o.removeEvents(),
2423          o.$refs.container
2424            .on("click.fb-close", "[data-fancybox-close]", function (t) {
2425              t.stopPropagation(), t.preventDefault(), o.close(t);
2426            })
2427            .on(
2428              "click.fb-prev touchend.fb-prev",
2429              "[data-fancybox-prev]",
2430              function (t) {
2431                t.stopPropagation(), t.preventDefault(), o.previous();
2432              }
2433            )
2434            .on(
2435              "click.fb-next touchend.fb-next",
2436              "[data-fancybox-next]",
2437              function (t) {
2438                t.stopPropagation(), t.preventDefault(), o.next();
2439              }
2440            )
2441            .on("click.fb", "[data-fancybox-zoom]", function (t) {
2442              o[o.isScaledDown() ? "scaleToActual" : "scaleToFit"]();
2443            }),
2444          s.on("orientationchange.fb resize.fb", function (t) {
2445            t && t.originalEvent && "resize" === t.originalEvent.type
2446              ? u(function () {
2447                  o.update();
2448                })
2449              : (o.$refs.stage.hide(),
2450                setTimeout(function () {
2451                  o.$refs.stage.show(), o.update();
2452                }, 600));
2453          }),
2454          r.on("focusin.fb", function (t) {
2455            var i = n.fancybox ? n.fancybox.getInstance() : null;
2456            i.isClosing ||
2457              !i.current ||
2458              !i.current.opts.trapFocus ||
2459              n(t.target).hasClass("fancybox-container") ||
2460              n(t.target).is(e) ||
2461              (i &&
2462                "fixed" !== n(t.target).css("position") &&
2463                !i.$refs.container.has(t.target).length &&
2464                (t.stopPropagation(),
2465                i.focus(),
2466                s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft)));
2467          }),
2468          r.on("keydown.fb", function (t) {
2469            var e = o.current,
2470              i = t.keyCode || t.which;
2471            if (
2472              e &&
2473              e.opts.keyboard &&
2474              !n(t.target).is("input") &&
2475              !n(t.target).is("textarea")
2476            )
2477              return 8 === i || 27 === i
2478                ? (t.preventDefault(), void o.close(t))
2479                : 37 === i || 38 === i
2480                ? (t.preventDefault(), void o.previous())
2481                : 39 === i || 40 === i
2482                ? (t.preventDefault(), void o.next())
2483                : void o.trigger("afterKeydown", t, i);
2484          }),
2485          o.group[o.currIndex].opts.idleTime &&
2486            ((o.idleSecondsCounter = 0),
2487            r.on(
2488              "mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",
2489              function (t) {
2490                (o.idleSecondsCounter = 0),
2491                  o.isIdle && o.showControls(),
2492                  (o.isIdle = !1);
2493              }
2494            ),
2495            (o.idleInterval = t.setInterval(function () {
2496              o.idleSecondsCounter++,
2497                o.idleSecondsCounter >= o.group[o.currIndex].opts.idleTime &&
2498                  !o.isDragging &&
2499                  ((o.isIdle = !0),
2500                  (o.idleSecondsCounter = 0),
2501                  o.hideControls());
2502            }, 1e3)));
2503      },
2504      removeEvents: function () {
2505        var e = this;
2506        s.off("orientationchange.fb resize.fb"),
2507          r.off("focusin.fb keydown.fb .fb-idle"),
2508          this.$refs.container.off(".fb-close .fb-prev .fb-next"),
2509          e.idleInterval &&
2510            (t.clearInterval(e.idleInterval), (e.idleInterval = null));
2511      },
2512      previous: function (t) {
2513        return this.jumpTo(this.currPos - 1, t);
2514      },
2515      next: function (t) {
2516        return this.jumpTo(this.currPos + 1, t);
2517      },
2518      jumpTo: function (t, e, i) {
2519        var a,
2520          s,
2521          r,
2522          c,
2523          l,
2524          u,
2525          d,
2526          p = this,
2527          h = p.group.length;
2528        if (!(p.isDragging || p.isClosing || (p.isAnimating && p.firstRun))) {
2529          if (
2530            ((t = parseInt(t, 10)),
2531            (s = p.current ? p.current.opts.loop : p.opts.loop),
2532            !s && (t < 0 || t >= h))
2533          )
2534            return !1;
2535          if (
2536            ((a = p.firstRun = null === p.firstRun),
2537            !(h < 2 && !a && p.isDragging))
2538          ) {
2539            if (
2540              ((c = p.current),
2541              (p.prevIndex = p.currIndex),
2542              (p.prevPos = p.currPos),
2543              (r = p.createSlide(t)),
2544              h > 1 &&
2545                ((s || r.index > 0) && p.createSlide(t - 1),
2546                (s || r.index < h - 1) && p.createSlide(t + 1)),
2547              (p.current = r),
2548              (p.currIndex = r.index),
2549              (p.currPos = r.pos),
2550              p.trigger("beforeShow", a),
2551              p.updateControls(),
2552              (u = n.fancybox.getTranslate(r.$slide)),
2553              (r.isMoved =
2554                (0 !== u.left || 0 !== u.top) &&
2555                !r.$slide.hasClass("fancybox-animated")),
2556              (r.forcedDuration = o),
2557              n.isNumeric(e)
2558                ? (r.forcedDuration = e)
2559                : (e = r.opts[a ? "animationDuration" : "transitionDuration"]),
2560              (e = parseInt(e, 10)),
2561              a)
2562            )
2563              return (
2564                r.opts.animationEffect &&
2565                  e &&
2566                  p.$refs.container.css("transition-duration", e + "ms"),
2567                p.$refs.container.removeClass("fancybox-is-hidden"),
2568                f(p.$refs.container),
2569                p.$refs.container.addClass("fancybox-is-open"),
2570                r.$slide.addClass("fancybox-slide--current"),
2571                p.loadSlide(r),
2572                void p.preload("image")
2573              );
2574            n.each(p.slides, function (t, e) {
2575              n.fancybox.stop(e.$slide);
2576            }),
2577              r.$slide
2578                .removeClass("fancybox-slide--next fancybox-slide--previous")
2579                .addClass("fancybox-slide--current"),
2580              r.isMoved
2581                ? ((l = Math.round(r.$slide.width())),
2582                  n.each(p.slides, function (t, o) {
2583                    var i = o.pos - r.pos;
2584                    n.fancybox.animate(
2585                      o.$slide,
2586                      { top: 0, left: i * l + i * o.opts.gutter },
2587                      e,
2588                      function () {
2589                        o.$slide
2590                          .removeAttr("style")
2591                          .removeClass(
2592                            "fancybox-slide--next fancybox-slide--previous"
2593                          ),
2594                          o.pos === p.currPos &&
2595                            ((r.isMoved = !1), p.complete());
2596                      }
2597                    );
2598                  }))
2599                : p.$refs.stage.children().removeAttr("style"),
2600              r.isLoaded ? p.revealContent(r) : p.loadSlide(r),
2601              p.preload("image"),
2602              c.pos !== r.pos &&
2603                ((d =
2604                  "fancybox-slide--" + (c.pos > r.pos ? "next" : "previous")),
2605                c.$slide.removeClass(
2606                  "fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous"
2607                ),
2608                (c.isComplete = !1),
2609                e &&
2610                  (r.isMoved || r.opts.transitionEffect) &&
2611                  (r.isMoved
2612                    ? c.$slide.addClass(d)
2613                    : ((d =
2614                        "fancybox-animated " +
2615                        d +
2616                        " fancybox-fx-" +
2617                        r.opts.transitionEffect),
2618                      n.fancybox.animate(c.$slide, d, e, function () {
2619                        c.$slide.removeClass(d).removeAttr("style");
2620                      }))));
2621          }
2622        }
2623      },
2624      createSlide: function (t) {
2625        var e,
2626          o,
2627          i = this;
2628        return (
2629          (o = t % i.group.length),
2630          (o = o < 0 ? i.group.length + o : o),
2631          !i.slides[t] &&
2632            i.group[o] &&
2633            ((e = n('<div class="fancybox-slide"></div>').appendTo(
2634              i.$refs.stage
2635            )),
2636            (i.slides[t] = n.extend(!0, {}, i.group[o], {
2637              pos: t,
2638              $slide: e,
2639              isLoaded: !1,
2640            })),
2641            i.updateSlide(i.slides[t])),
2642          i.slides[t]
2643        );
2644      },
2645      scaleToActual: function (t, e, i) {
2646        var a,
2647          s,
2648          r,
2649          c,
2650          l,
2651          u = this,
2652          d = u.current,
2653          f = d.$content,
2654          p = parseInt(d.$slide.width(), 10),
2655          h = parseInt(d.$slide.height(), 10),
2656          g = d.width,
2657          b = d.height;
2658        "image" != d.type ||
2659          d.hasError ||
2660          !f ||
2661          u.isAnimating ||
2662          (n.fancybox.stop(f),
2663          (u.isAnimating = !0),
2664          (t = t === o ? 0.5 * p : t),
2665          (e = e === o ? 0.5 * h : e),
2666          (a = n.fancybox.getTranslate(f)),
2667          (c = g / a.width),
2668          (l = b / a.height),
2669          (s = 0.5 * p - 0.5 * g),
2670          (r = 0.5 * h - 0.5 * b),
2671          g > p &&
2672            ((s = a.left * c - (t * c - t)),
2673            s > 0 && (s = 0),
2674            s < p - g && (s = p - g)),
2675          b > h &&
2676            ((r = a.top * l - (e * l - e)),
2677            r > 0 && (r = 0),
2678            r < h - b && (r = h - b)),
2679          u.updateCursor(g, b),
2680          n.fancybox.animate(
2681            f,
2682            { top: r, left: s, scaleX: c, scaleY: l },
2683            i || 330,
2684            function () {
2685              u.isAnimating = !1;
2686            }
2687          ),
2688          u.SlideShow && u.SlideShow.isActive && u.SlideShow.stop());
2689      },
2690      scaleToFit: function (t) {
2691        var e,
2692          o = this,
2693          i = o.current,
2694          a = i.$content;
2695        "image" != i.type ||
2696          i.hasError ||
2697          !a ||
2698          o.isAnimating ||
2699          (n.fancybox.stop(a),
2700          (o.isAnimating = !0),
2701          (e = o.getFitPos(i)),
2702          o.updateCursor(e.width, e.height),
2703          n.fancybox.animate(
2704            a,
2705            {
2706              top: e.top,
2707              left: e.left,
2708              scaleX: e.width / a.width(),
2709              scaleY: e.height / a.height(),
2710            },
2711            t || 330,
2712            function () {
2713              o.isAnimating = !1;
2714            }
2715          ));
2716      },
2717      getFitPos: function (t) {
2718        var e,
2719          o,
2720          i,
2721          a,
2722          s,
2723          r = this,
2724          c = t.$content,
2725          l = t.width,
2726          u = t.height,
2727          d = t.opts.margin;
2728        return (
2729          !(!c || !c.length || (!l && !u)) &&
2730          ("number" === n.type(d) && (d = [d, d]),
2731          2 == d.length && (d = [d[0], d[1], d[0], d[1]]),
2732          (e = parseInt(r.$refs.stage.width(), 10) - (d[1] + d[3])),
2733          (o = parseInt(r.$refs.stage.height(), 10) - (d[0] + d[2])),
2734          (i = Math.min(1, e / l, o / u)),
2735          (a = Math.floor(i * l)),
2736          (s = Math.floor(i * u)),
2737          {
2738            top: Math.floor(0.5 * (o - s)) + d[0],
2739            left: Math.floor(0.5 * (e - a)) + d[3],
2740            width: a,
2741            height: s,
2742          })
2743        );
2744      },
2745      update: function () {
2746        var t = this;
2747        n.each(t.slides, function (e, n) {
2748          t.updateSlide(n);
2749        });
2750      },
2751      updateSlide: function (t, e) {
2752        var o = this,
2753          i = t && t.$content;
2754        i &&
2755          (t.width || t.height) &&
2756          ((o.isAnimating = !1),
2757          n.fancybox.stop(i),
2758          n.fancybox.setTranslate(i, o.getFitPos(t)),
2759          t.pos === o.currPos && o.updateCursor()),
2760          t.$slide.trigger("refresh"),
2761          o.trigger("onUpdate", t);
2762      },
2763      centerSlide: function (t, e) {
2764        var i,
2765          a,
2766          s = this;
2767        s.current &&
2768          ((i = Math.round(t.$slide.width())),
2769          (a = t.pos - s.current.pos),
2770          n.fancybox.animate(
2771            t.$slide,
2772            { top: 0, left: a * i + a * t.opts.gutter, opacity: 1 },
2773            e === o ? 0 : e,
2774            null,
2775            !1
2776          ));
2777      },
2778      updateCursor: function (t, e) {
2779        var n,
2780          i = this,
2781          a = i.$refs.container.removeClass(
2782            "fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut"
2783          );
2784        i.current &&
2785          !i.isClosing &&
2786          (i.isZoomable()
2787            ? (a.addClass("fancybox-is-zoomable"),
2788              (n =
2789                t !== o && e !== o
2790                  ? t < i.current.width && e < i.current.height
2791                  : i.isScaledDown()),
2792              n
2793                ? a.addClass("fancybox-can-zoomIn")
2794                : i.current.opts.touch
2795                ? a.addClass("fancybox-can-drag")
2796                : a.addClass("fancybox-can-zoomOut"))
2797            : i.current.opts.touch && a.addClass("fancybox-can-drag"));
2798      },
2799      isZoomable: function () {
2800        var t,
2801          e = this,
2802          o = e.current;
2803        if (o && !e.isClosing)
2804          return !!(
2805            "image" === o.type &&
2806            o.isLoaded &&
2807            !o.hasError &&
2808            ("zoom" === o.opts.clickContent ||
2809              (n.isFunction(o.opts.clickContent) &&
2810                "zoom" === o.opts.clickContent(o))) &&
2811            ((t = e.getFitPos(o)), o.width > t.width || o.height > t.height)
2812          );
2813      },
2814      isScaledDown: function () {
2815        var t = this,
2816          e = t.current,
2817          o = e.$content,
2818          i = !1;
2819        return (
2820          o &&
2821            ((i = n.fancybox.getTranslate(o)),
2822            (i = i.width < e.width || i.height < e.height)),
2823          i
2824        );
2825      },
2826      canPan: function () {
2827        var t = this,
2828          e = t.current,
2829          n = e.$content,
2830          o = !1;
2831        return (
2832          n &&
2833            ((o = t.getFitPos(e)),
2834            (o =
2835              Math.abs(n.width() - o.width) > 1 ||
2836              Math.abs(n.height() - o.height) > 1)),
2837          o
2838        );
2839      },
2840      loadSlide: function (t) {
2841        var e,
2842          o,
2843          i,
2844          a = this;
2845        if (!t.isLoading && !t.isLoaded) {
2846          switch (
2847            ((t.isLoading = !0),
2848            a.trigger("beforeLoad", t),
2849            (e = t.type),
2850            (o = t.$slide),
2851            o
2852              .off("refresh")
2853              .trigger("onReset")
2854              .addClass("fancybox-slide--" + (e || "unknown"))
2855              .addClass(t.opts.slideClass),
2856            e)
2857          ) {
2858            case "image":
2859              a.setImage(t);
2860              break;
2861            case "iframe":
2862              a.setIframe(t);
2863              break;
2864            case "html":
2865              a.setContent(t, t.src || t.content);
2866              break;
2867            case "inline":
2868              n(t.src).length ? a.setContent(t, n(t.src)) : a.setError(t);
2869              break;
2870            case "ajax":
2871              a.showLoading(t),
2872                (i = n.ajax(
2873                  n.extend({}, t.opts.ajax.settings, {
2874                    url: t.src,
2875                    success: function (e, n) {
2876                      "success" === n && a.setContent(t, e);
2877                    },
2878                    error: function (e, n) {
2879                      e && "abort" !== n && a.setError(t);
2880                    },
2881                  })
2882                )),
2883                o.one("onReset", function () {
2884                  i.abort();
2885                });
2886              break;
2887            case "video":
2888              a.setContent(
2889                t,
2890                '<video controls><source src="' +
2891                  t.src +
2892                  '" type="' +
2893                  t.opts.videoFormat +
2894                  "\">Your browser doesn't support HTML5 video</video>"
2895              );
2896              break;
2897            default:
2898              a.setError(t);
2899          }
2900          return !0;
2901        }
2902      },
2903      setImage: function (e) {
2904        var o,
2905          i,
2906          a,
2907          s,
2908          r = this,
2909          c = e.opts.srcset || e.opts.image.srcset;
2910        if (c) {
2911          (a = t.devicePixelRatio || 1),
2912            (s = t.innerWidth * a),
2913            (i = c.split(",").map(function (t) {
2914              var e = {};
2915              return (
2916                t
2917                  .trim()
2918                  .split(/\s+/)
2919                  .forEach(function (t, n) {
2920                    var o = parseInt(t.substring(0, t.length - 1), 10);
2921                    return 0 === n
2922                      ? (e.url = t)
2923                      : void (
2924                          o && ((e.value = o), (e.postfix = t[t.length - 1]))
2925                        );
2926                  }),
2927                e
2928              );
2929            })),
2930            i.sort(function (t, e) {
2931              return t.value - e.value;
2932            });
2933          for (var l = 0; l < i.length; l++) {
2934            var u = i[l];
2935            if (
2936              ("w" === u.postfix && u.value >= s) ||
2937              ("x" === u.postfix && u.value >= a)
2938            ) {
2939              o = u;
2940              break;
2941            }
2942          }
2943          !o && i.length && (o = i[i.length - 1]),
2944            o &&
2945              ((e.src = o.url),
2946              e.width &&
2947                e.height &&
2948                "w" == o.postfix &&
2949                ((e.height = (e.width / e.height) * o.value),
2950                (e.width = o.value)));
2951        }
2952        (e.$content = n('<div class="fancybox-image-wrap"></div>')
2953          .addClass("fancybox-is-hidden")
2954          .appendTo(e.$slide)),
2955          e.opts.preload !== !1 &&
2956          e.opts.width &&
2957          e.opts.height &&
2958          (e.opts.thumb || e.opts.$thumb)
2959            ? ((e.width = e.opts.width),
2960              (e.height = e.opts.height),
2961              (e.$ghost = n("<img />")
2962                .one("error", function () {
2963                  n(this).remove(), (e.$ghost = null), r.setBigImage(e);
2964                })
2965                .one("load", function () {
2966                  r.afterLoad(e), r.setBigImage(e);
2967                })
2968                .addClass("fancybox-image")
2969                .appendTo(e.$content)
2970                .attr("src", e.opts.thumb || e.opts.$thumb.attr("src"))))
2971            : r.setBigImage(e);
2972      },
2973      setBigImage: function (t) {
2974        var e = this,
2975          o = n("<img />");
2976        (t.$image = o
2977          .one("error", function () {
2978            e.setError(t);
2979          })
2980          .one("load", function () {
2981            clearTimeout(t.timouts),
2982              (t.timouts = null),
2983              e.isClosing ||
2984                ((t.width = t.opts.width || this.naturalWidth),
2985                (t.height = t.opts.height || this.naturalHeight),
2986                t.opts.image.srcset &&
2987                  o.attr("sizes", "100vw").attr("srcset", t.opts.image.srcset),
2988                e.hideLoading(t),
2989                t.$ghost
2990                  ? (t.timouts = setTimeout(function () {
2991                      (t.timouts = null), t.$ghost.hide();
2992                    }, Math.min(300, Math.max(1e3, t.height / 1600))))
2993                  : e.afterLoad(t));
2994          })
2995          .addClass("fancybox-image")
2996          .attr("src", t.src)
2997          .appendTo(t.$content)),
2998          (o[0].complete || "complete" == o[0].readyState) &&
2999          o[0].naturalWidth &&
3000          o[0].naturalHeight
3001            ? o.trigger("load")
3002            : o[0].error
3003            ? o.trigger("error")
3004            : (t.timouts = setTimeout(function () {
3005                o[0].complete || t.hasError || e.showLoading(t);
3006              }, 100));
3007      },
3008      setIframe: function (t) {
3009        var e,
3010          i = this,
3011          a = t.opts.iframe,
3012          s = t.$slide;
3013        (t.$content = n(
3014          '<div class="fancybox-content' +
3015            (a.preload ? " fancybox-is-hidden" : "") +
3016            '"></div>'
3017        )
3018          .css(a.css)
3019          .appendTo(s)),
3020          (e = n(a.tpl.replace(/\{rnd\}/g, new Date().getTime()))
3021            .attr(a.attr)
3022            .appendTo(t.$content)),
3023          a.preload
3024            ? (i.showLoading(t),
3025              e.on("load.fb error.fb", function (e) {
3026                (this.isReady = 1), t.$slide.trigger("refresh"), i.afterLoad(t);
3027              }),
3028              s.on("refresh.fb", function () {
3029                var n,
3030                  i,
3031                  s,
3032                  r = t.$content,
3033                  c = a.css.width,
3034                  l = a.css.height;
3035                if (1 === e[0].isReady) {
3036                  try {
3037                    (i = e.contents()), (s = i.find("body"));
3038                  } catch (t) {}
3039                  s &&
3040                    s.length &&
3041                    (c === o &&
3042                      ((n =
3043                        e[0].contentWindow.document.documentElement
3044                          .scrollWidth),
3045                      (c = Math.ceil(s.outerWidth(!0) + (r.width() - n))),
3046                      (c += r.outerWidth() - r.innerWidth())),
3047                    l === o &&
3048                      ((l = Math.ceil(s.outerHeight(!0))),
3049                      (l += r.outerHeight() - r.innerHeight())),
3050                    c && r.width(c),
3051                    l && r.height(l)),
3052                    r.removeClass("fancybox-is-hidden");
3053                }
3054              }))
3055            : this.afterLoad(t),
3056          e.attr("src", t.src),
3057          t.opts.smallBtn === !0 &&
3058            t.$content.prepend(i.translate(t, t.opts.btnTpl.smallBtn)),
3059          s.one("onReset", function () {
3060            try {
3061              n(this).find("iframe").hide().attr("src", "//about:blank");
3062            } catch (t) {}
3063            n(this).empty(), (t.isLoaded = !1);
3064          });
3065      },
3066      setContent: function (t, e) {
3067        var o = this;
3068        o.isClosing ||
3069          (o.hideLoading(t),
3070          t.$slide.empty(),
3071          l(e) && e.parent().length
3072            ? (e.parent(".fancybox-slide--inline").trigger("onReset"),
3073              (t.$placeholder = n("<div></div>").hide().insertAfter(e)),
3074              e.css("display", "inline-block"))
3075            : t.hasError ||
3076              ("string" === n.type(e) &&
3077                ((e = n("<div>").append(n.trim(e)).contents()),
3078                3 === e[0].nodeType && (e = n("<div>").html(e))),
3079              t.opts.filter && (e = n("<div>").html(e).find(t.opts.filter))),
3080          t.$slide.one("onReset", function () {
3081            n(this).find("video,audio").trigger("pause"),
3082              t.$placeholder &&
3083                (t.$placeholder.after(e.hide()).remove(),
3084                (t.$placeholder = null)),
3085              t.$smallBtn && (t.$smallBtn.remove(), (t.$smallBtn = null)),
3086              t.hasError || (n(this).empty(), (t.isLoaded = !1));
3087          }),
3088          (t.$content = n(e).appendTo(t.$slide)),
3089          this.afterLoad(t));
3090      },
3091      setError: function (t) {
3092        (t.hasError = !0),
3093          t.$slide.removeClass("fancybox-slide--" + t.type),
3094          this.setContent(t, this.translate(t, t.opts.errorTpl));
3095      },
3096      showLoading: function (t) {
3097        var e = this;
3098        (t = t || e.current),
3099          t &&
3100            !t.$spinner &&
3101            (t.$spinner = n(e.opts.spinnerTpl).appendTo(t.$slide));
3102      },
3103      hideLoading: function (t) {
3104        var e = this;
3105        (t = t || e.current),
3106          t && t.$spinner && (t.$spinner.remove(), delete t.$spinner);
3107      },
3108      afterLoad: function (t) {
3109        var e = this;
3110        e.isClosing ||
3111          ((t.isLoading = !1),
3112          (t.isLoaded = !0),
3113          e.trigger("afterLoad", t),
3114          e.hideLoading(t),
3115          t.opts.smallBtn &&
3116            !t.$smallBtn &&
3117            (t.$smallBtn = n(e.translate(t, t.opts.btnTpl.smallBtn)).appendTo(
3118              t.$content.filter("div,form").first()
3119            )),
3120          t.opts.protect &&
3121            t.$content &&
3122            !t.hasError &&
3123            (t.$content.on("contextmenu.fb", function (t) {
3124              return 2 == t.button && t.preventDefault(), !0;
3125            }),
3126            "image" === t.type &&
3127              n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)),
3128          e.revealContent(t));
3129      },
3130      revealContent: function (t) {
3131        var e,
3132          i,
3133          a,
3134          s,
3135          r,
3136          c = this,
3137          l = t.$slide,
3138          u = !1;
3139        return (
3140          (e = t.opts[c.firstRun ? "animationEffect" : "transitionEffect"]),
3141          (a = t.opts[c.firstRun ? "animationDuration" : "transitionDuration"]),
3142          (a = parseInt(t.forcedDuration === o ? a : t.forcedDuration, 10)),
3143          (!t.isMoved && t.pos === c.currPos && a) || (e = !1),
3144          "zoom" !== e ||
3145            (t.pos === c.currPos &&
3146              a &&
3147              "image" === t.type &&
3148              !t.hasError &&
3149              (u = c.getThumbPos(t))) ||
3150            (e = "fade"),
3151          "zoom" === e
3152            ? ((r = c.getFitPos(t)),
3153              (r.scaleX = r.width / u.width),
3154              (r.scaleY = r.height / u.height),
3155              delete r.width,
3156              delete r.height,
3157              (s = t.opts.zoomOpacity),
3158              "auto" == s &&
3159                (s = Math.abs(t.width / t.height - u.width / u.height) > 0.1),
3160              s && ((u.opacity = 0.1), (r.opacity = 1)),
3161              n.fancybox.setTranslate(
3162                t.$content.removeClass("fancybox-is-hidden"),
3163                u
3164              ),
3165              f(t.$content),
3166              void n.fancybox.animate(t.$content, r, a, function () {
3167                c.complete();
3168              }))
3169            : (c.updateSlide(t),
3170              e
3171                ? (n.fancybox.stop(l),
3172                  (i =
3173                    "fancybox-animated fancybox-slide--" +
3174                    (t.pos >= c.prevPos ? "next" : "previous") +
3175                    " fancybox-fx-" +
3176                    e),
3177                  l
3178                    .removeAttr("style")
3179                    .removeClass(
3180                      "fancybox-slide--current fancybox-slide--next fancybox-slide--previous"
3181                    )
3182                    .addClass(i),
3183                  t.$content.removeClass("fancybox-is-hidden"),
3184                  f(l),
3185                  void n.fancybox.animate(
3186                    l,
3187                    "fancybox-slide--current",
3188                    a,
3189                    function (e) {
3190                      l.removeClass(i).removeAttr("style"),
3191                        t.pos === c.currPos && c.complete();
3192                    },
3193                    !0
3194                  ))
3195                : (f(l),
3196                  t.$content.removeClass("fancybox-is-hidden"),
3197                  void (t.pos === c.currPos && c.complete())))
3198        );
3199      },
3200      getThumbPos: function (o) {
3201        var i,
3202          a = this,
3203          s = !1,
3204          r = function (e) {
3205            for (
3206              var o, i = e[0], a = i.getBoundingClientRect(), s = [];
3207              null !== i.parentElement;
3208
3209            )
3210              ("hidden" !== n(i.parentElement).css("overflow") &&
3211                "auto" !== n(i.parentElement).css("overflow")) ||
3212                s.push(i.parentElement.getBoundingClientRect()),
3213                (i = i.parentElement);
3214            return (
3215              (o = s.every(function (t) {
3216                var e = Math.min(a.right, t.right) - Math.max(a.left, t.left),
3217                  n = Math.min(a.bottom, t.bottom) - Math.max(a.top, t.top);
3218                return e > 0 && n > 0;
3219              })),
3220              o &&
3221                a.bottom > 0 &&
3222                a.right > 0 &&
3223                a.left < n(t).width() &&
3224                a.top < n(t).height()
3225            );
3226          },
3227          c = o.opts.$thumb,
3228          l = c ? c.offset() : 0;
3229        return (
3230          l &&
3231            c[0].ownerDocument === e &&
3232            r(c) &&
3233            ((i = a.$refs.stage.offset()),
3234            (s = {
3235              top: l.top - i.top + parseFloat(c.css("border-top-width") || 0),
3236              left:
3237                l.left - i.left + parseFloat(c.css("border-left-width") || 0),
3238              width: c.width(),
3239              height: c.height(),
3240              scaleX: 1,
3241              scaleY: 1,
3242            })),
3243          s
3244        );
3245      },
3246      complete: function () {
3247        var t = this,
3248          o = t.current,
3249          i = {};
3250        o.isMoved ||
3251          !o.isLoaded ||
3252          o.isComplete ||
3253          ((o.isComplete = !0),
3254          o.$slide.siblings().trigger("onReset"),
3255          t.preload("inline"),
3256          f(o.$slide),
3257          o.$slide.addClass("fancybox-slide--complete"),
3258          n.each(t.slides, function (e, o) {
3259            o.pos >= t.currPos - 1 && o.pos <= t.currPos + 1
3260              ? (i[o.pos] = o)
3261              : o && (n.fancybox.stop(o.$slide), o.$slide.off().remove());
3262          }),
3263          (t.slides = i),
3264          t.updateCursor(),
3265          t.trigger("afterShow"),
3266          o.$slide.find("video,audio").first().trigger("play"),
3267          (n(e.activeElement).is("[disabled]") ||
3268            (o.opts.autoFocus && "image" != o.type && "iframe" !== o.type)) &&
3269            t.focus());
3270      },
3271      preload: function (t) {
3272        var e = this,
3273          n = e.slides[e.currPos + 1],
3274          o = e.slides[e.currPos - 1];
3275        n && n.type === t && e.loadSlide(n),
3276          o && o.type === t && e.loadSlide(o);
3277      },
3278      focus: function () {
3279        var t,
3280          e = this.current;
3281        this.isClosing ||
3282          (e &&
3283            e.isComplete &&
3284            ((t = e.$slide.find("input[autofocus]:enabled:visible:first")),
3285            t.length ||
3286              (t = e.$slide
3287                .find("button,:input,[tabindex],a")
3288                .filter(":enabled:visible:first"))),
3289          (t = t && t.length ? t : this.$refs.container),
3290          t.focus());
3291      },
3292      activate: function () {
3293        var t = this;
3294        n(".fancybox-container").each(function () {
3295          var e = n(this).data("FancyBox");
3296          e &&
3297            e.id !== t.id &&
3298            !e.isClosing &&
3299            (e.trigger("onDeactivate"), e.removeEvents(), (e.isVisible = !1));
3300        }),
3301          (t.isVisible = !0),
3302          (t.current || t.isIdle) && (t.update(), t.updateControls()),
3303          t.trigger("onActivate"),
3304          t.addEvents();
3305      },
3306      close: function (t, e) {
3307        var o,
3308          i,
3309          a,
3310          s,
3311          r,
3312          c,
3313          l = this,
3314          p = l.current,
3315          h = function () {
3316            l.cleanUp(t);
3317          };
3318        return (
3319          !l.isClosing &&
3320          ((l.isClosing = !0),
3321          l.trigger("beforeClose", t) === !1
3322            ? ((l.isClosing = !1),
3323              u(function () {
3324                l.update();
3325              }),
3326              !1)
3327            : (l.removeEvents(),
3328              p.timouts && clearTimeout(p.timouts),
3329              (a = p.$content),
3330              (o = p.opts.animationEffect),
3331              (i = n.isNumeric(e) ? e : o ? p.opts.animationDuration : 0),
3332              p.$slide
3333                .off(d)
3334                .removeClass(
3335                  "fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"
3336                ),
3337              p.$slide.siblings().trigger("onReset").remove(),
3338              i &&
3339                l.$refs.container
3340                  .removeClass("fancybox-is-open")
3341                  .addClass("fancybox-is-closing"),
3342              l.hideLoading(p),
3343              l.hideControls(),
3344              l.updateCursor(),
3345              "zoom" !== o ||
3346                (t !== !0 &&
3347                  a &&
3348                  i &&
3349                  "image" === p.type &&
3350                  !p.hasError &&
3351                  (c = l.getThumbPos(p))) ||
3352                (o = "fade"),
3353              "zoom" === o
3354                ? (n.fancybox.stop(a),
3355                  (r = n.fancybox.getTranslate(a)),
3356                  (r.width = r.width * r.scaleX),
3357                  (r.height = r.height * r.scaleY),
3358                  (s = p.opts.zoomOpacity),
3359                  "auto" == s &&
3360                    (s =
3361                      Math.abs(p.width / p.height - c.width / c.height) > 0.1),
3362                  s && (c.opacity = 0),
3363                  (r.scaleX = r.width / c.width),
3364                  (r.scaleY = r.height / c.height),
3365                  (r.width = c.width),
3366                  (r.height = c.height),
3367                  n.fancybox.setTranslate(p.$content, r),
3368                  f(p.$content),
3369                  n.fancybox.animate(p.$content, c, i, h),
3370                  !0)
3371                : (o && i
3372                    ? t === !0
3373                      ? setTimeout(h, i)
3374                      : n.fancybox.animate(
3375                          p.$slide.removeClass("fancybox-slide--current"),
3376                          "fancybox-animated fancybox-slide--previous fancybox-fx-" +
3377                            o,
3378                          i,
3379                          h
3380                        )
3381                    : h(),
3382                  !0)))
3383        );
3384      },
3385      cleanUp: function (t) {
3386        var o,
3387          i,
3388          a = this,
3389          r = n("body");
3390        a.current.$slide.trigger("onReset"),
3391          a.$refs.container.empty().remove(),
3392          a.trigger("afterClose", t),
3393          a.$lastFocus && a.current.opts.backFocus && a.$lastFocus.focus(),
3394          (a.current = null),
3395          (o = n.fancybox.getInstance()),
3396          o
3397            ? o.activate()
3398            : (s.scrollTop(a.scrollTop).scrollLeft(a.scrollLeft),
3399              r.removeClass("fancybox-active compensate-for-scrollbar"),
3400              r.hasClass("fancybox-iosfix") &&
3401                ((i = parseInt(e.body.style.top, 10)),
3402                r
3403                  .removeClass("fancybox-iosfix")
3404                  .css("top", "")
3405                  .scrollTop(i * -1)),
3406              n("#fancybox-style-noscroll").remove());
3407      },
3408      trigger: function (t, e) {
3409        var o,
3410          i = Array.prototype.slice.call(arguments, 1),
3411          a = this,
3412          s = e && e.opts ? e : a.current;
3413        return (
3414          s ? i.unshift(s) : (s = a),
3415          i.unshift(a),
3416          n.isFunction(s.opts[t]) && (o = s.opts[t].apply(s, i)),
3417          o === !1
3418            ? o
3419            : void ("afterClose" !== t && a.$refs
3420                ? a.$refs.container.trigger(t + ".fb", i)
3421                : r.trigger(t + ".fb", i))
3422        );
3423      },
3424      updateControls: function (t) {
3425        var e = this,
3426          n = e.current,
3427          o = n.index,
3428          i = n.opts.caption,
3429          a = e.$refs.container,
3430          s = e.$refs.caption;
3431        n.$slide.trigger("refresh"),
3432          (e.$caption = i && i.length ? s.html(i) : null),
3433          e.isHiddenControls || e.isIdle || e.showControls(),
3434          a.find("[data-fancybox-count]").html(e.group.length),
3435          a.find("[data-fancybox-index]").html(o + 1),
3436          a
3437            .find("[data-fancybox-prev]")
3438            .prop("disabled", !n.opts.loop && o <= 0),
3439          a
3440            .find("[data-fancybox-next]")
3441            .prop("disabled", !n.opts.loop && o >= e.group.length - 1),
3442          "image" === n.type
3443            ? a
3444                .find("[data-fancybox-download]")
3445                .attr("href", n.opts.image.src || n.src)
3446                .show()
3447            : a.find("[data-fancybox-download],[data-fancybox-zoom]").hide();
3448      },
3449      hideControls: function () {
3450        (this.isHiddenControls = !0),
3451          this.$refs.container.removeClass(
3452            "fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav"
3453          );
3454      },
3455      showControls: function () {
3456        var t = this,
3457          e = t.current ? t.current.opts : t.opts,
3458          n = t.$refs.container;
3459        (t.isHiddenControls = !1),
3460          (t.idleSecondsCounter = 0),
3461          n
3462            .toggleClass("fancybox-show-toolbar", !(!e.toolbar || !e.buttons))
3463            .toggleClass(
3464              "fancybox-show-infobar",
3465              !!(e.infobar && t.group.length > 1)
3466            )
3467            .toggleClass(
3468              "fancybox-show-nav",
3469              !!(e.arrows && t.group.length > 1)
3470            )
3471            .toggleClass("fancybox-is-modal", !!e.modal),
3472          t.$caption
3473            ? n.addClass("fancybox-show-caption ")
3474            : n.removeClass("fancybox-show-caption");
3475      },
3476      toggleControls: function () {
3477        this.isHiddenControls ? this.showControls() : this.hideControls();
3478      },
3479    }),
3480      (n.fancybox = {
3481        version: "3.2.10",
3482        defaults: a,
3483        getInstance: function (t) {
3484          var e = n(
3485              '.fancybox-container:not(".fancybox-is-closing"):last'
3486            ).data("FancyBox"),
3487            o = Array.prototype.slice.call(arguments, 1);
3488          return (
3489            e instanceof p &&
3490            ("string" === n.type(t)
3491              ? e[t].apply(e, o)
3492              : "function" === n.type(t) && t.apply(e, o),
3493            e)
3494          );
3495        },
3496        open: function (t, e, n) {
3497          return new p(t, e, n);
3498        },
3499        close: function (t) {
3500          var e = this.getInstance();
3501          e && (e.close(), t === !0 && this.close());
3502        },
3503        destroy: function () {
3504          this.close(!0), r.off("click.fb-start");
3505        },
3506        isMobile:
3507          e.createTouch !== o &&
3508          /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
3509            navigator.userAgent
3510          ),
3511        use3d: (function () {
3512          var n = e.createElement("div");
3513          return (
3514            t.getComputedStyle &&
3515            t.getComputedStyle(n).getPropertyValue("transform") &&
3516            !(e.documentMode && e.documentMode < 11)
3517          );
3518        })(),
3519        getTranslate: function (t) {
3520          var e;
3521          if (!t || !t.length) return !1;
3522          if (
3523            ((e = t.eq(0).css("transform")),
3524            e && e.indexOf("matrix") !== -1
3525              ? ((e = e.split("(")[1]),
3526                (e = e.split(")")[0]),
3527                (e = e.split(",")))
3528              : (e = []),
3529            e.length)
3530          )
3531            (e =
3532              e.length > 10
3533                ? [e[13], e[12], e[0], e[5]]
3534                : [e[5], e[4], e[0], e[3]]),
3535              (e = e.map(parseFloat));
3536          else {
3537            e = [0, 0, 1, 1];
3538            var n = /\.*translate\((.*)px,(.*)px\)/i,
3539              o = n.exec(t.eq(0).attr("style"));
3540            o && ((e[0] = parseFloat(o[2])), (e[1] = parseFloat(o[1])));
3541          }
3542          return {
3543            top: e[0],
3544            left: e[1],
3545            scaleX: e[2],
3546            scaleY: e[3],
3547            opacity: parseFloat(t.css("opacity")),
3548            width: t.width(),
3549            height: t.height(),
3550          };
3551        },
3552        setTranslate: function (t, e) {
3553          var n = "",
3554            i = {};
3555          if (t && e)
3556            return (
3557              (e.left === o && e.top === o) ||
3558                ((n =
3559                  (e.left === o ? t.position().left : e.left) +
3560                  "px, " +
3561                  (e.top === o ? t.position().top : e.top) +
3562                  "px"),
3563                (n = this.use3d
3564                  ? "translate3d(" + n + ", 0px)"
3565                  : "translate(" + n + ")")),
3566              e.scaleX !== o &&
3567                e.scaleY !== o &&
3568                (n =
3569                  (n.length ? n + " " : "") +
3570                  "scale(" +
3571                  e.scaleX +
3572                  ", " +
3573                  e.scaleY +
3574                  ")"),
3575              n.length && (i.transform = n),
3576              e.opacity !== o && (i.opacity = e.opacity),
3577              e.width !== o && (i.width = e.width),
3578              e.height !== o && (i.height = e.height),
3579              t.css(i)
3580            );
3581        },
3582        animate: function (t, e, i, a, s) {
3583          n.isFunction(i) && ((a = i), (i = null)),
3584            n.isPlainObject(e) || t.removeAttr("style"),
3585            t.on(d, function (i) {
3586              (!i ||
3587                !i.originalEvent ||
3588                (t.is(i.originalEvent.target) &&
3589                  "z-index" != i.originalEvent.propertyName)) &&
3590                (n.fancybox.stop(t),
3591                n.isPlainObject(e)
3592                  ? (e.scaleX !== o &&
3593                      e.scaleY !== o &&
3594                      (t.css("transition-duration", ""),
3595                      (e.width = Math.round(t.width() * e.scaleX)),
3596                      (e.height = Math.round(t.height() * e.scaleY)),
3597                      (e.scaleX = 1),
3598                      (e.scaleY = 1),
3599                      n.fancybox.setTranslate(t, e)),
3600                    s === !1 && t.removeAttr("style"))
3601                  : s !== !0 && t.removeClass(e),
3602                n.isFunction(a) && a(i));
3603            }),
3604            n.isNumeric(i) && t.css("transition-duration", i + "ms"),
3605            n.isPlainObject(e) ? n.fancybox.setTranslate(t, e) : t.addClass(e),
3606            e.scaleX &&
3607              t.hasClass("fancybox-image-wrap") &&
3608              t.parent().addClass("fancybox-is-scaling"),
3609            t.data(
3610              "timer",
3611              setTimeout(function () {
3612                t.trigger("transitionend");
3613              }, i + 16)
3614            );
3615        },
3616        stop: function (t) {
3617          clearTimeout(t.data("timer")),
3618            t.off("transitionend").css("transition-duration", ""),
3619            t.hasClass("fancybox-image-wrap") &&
3620              t.parent().removeClass("fancybox-is-scaling");
3621        },
3622      }),
3623      (n.fn.fancybox = function (t) {
3624        var e;
3625        return (
3626          (t = t || {}),
3627          (e = t.selector || !1),
3628          e
3629            ? n("body")
3630                .off("click.fb-start", e)
3631                .on("click.fb-start", e, { options: t }, i)
3632            : this.off("click.fb-start").on(
3633                "click.fb-start",
3634                { items: this, options: t },
3635                i
3636              ),
3637          this
3638        );
3639      }),
3640      r.on("click.fb-start", "[data-fancybox]", i);
3641  }
3642})(window, document, window.jQuery || jQuery),
3643  (function (t) {
3644    "use strict";
3645    var e = function (e, n, o) {
3646        if (e)
3647          return (
3648            (o = o || ""),
3649            "object" === t.type(o) && (o = t.param(o, !0)),
3650            t.each(n, function (t, n) {
3651              e = e.replace("$" + t, n || "");
3652            }),
3653            o.length && (e += (e.indexOf("?") > 0 ? "&" : "?") + o),
3654            e
3655          );
3656      },
3657      n = {
3658        youtube: {
3659          matcher:
3660            /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
3661          params: {
3662            autoplay: 1,
3663            autohide: 1,
3664            fs: 1,
3665            rel: 0,
3666            hd: 1,
3667            wmode: "transparent",
3668            enablejsapi: 1,
3669            html5: 1,
3670          },
3671          paramPlace: 8,
3672          type: "iframe",
3673          url: "//www.youtube.com/embed/$4",
3674          thumb: "//img.youtube.com/vi/$4/hqdefault.jpg",
3675        },
3676        vimeo: {
3677          matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,
3678          params: {
3679            autoplay: 1,
3680            hd: 1,
3681            show_title: 1,
3682            show_byline: 1,
3683            show_portrait: 0,
3684            fullscreen: 1,
3685            api: 1,
3686          },
3687          paramPlace: 3,
3688          type: "iframe",
3689          url: "//player.vimeo.com/video/$2",
3690        },
3691        metacafe: {
3692          matcher: /metacafe.com\/watch\/(\d+)\/(.*)?/,
3693          type: "iframe",
3694          url: "//www.metacafe.com/embed/$1/?ap=1",
3695        },
3696        dailymotion: {
3697          matcher: /dailymotion.com\/video\/(.*)\/?(.*)/,
3698          params: { additionalInfos: 0, autoStart: 1 },
3699          type: "iframe",
3700          url: "//www.dailymotion.com/embed/video/$1",
3701        },
3702        vine: {
3703          matcher: /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/,
3704          type: "iframe",
3705          url: "//vine.co/v/$1/embed/simple",
3706        },
3707        instagram: {
3708          matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
3709          type: "image",
3710          url: "//$1/p/$2/media/?size=l",
3711        },
3712        gmap_place: {
3713          matcher:
3714            /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
3715          type: "iframe",
3716          url: function (t) {
3717            return (
3718              "//maps.google." +
3719              t[2] +
3720              "/?ll=" +
3721              (t[9]
3722                ? t[9] +
3723                  "&z=" +
3724                  Math.floor(t[10]) +
3725                  (t[12] ? t[12].replace(/^\//, "&") : "")
3726                : t[12]) +
3727              "&output=" +
3728              (t[12] && t[12].indexOf("layer=c") > 0 ? "svembed" : "embed")
3729            );
3730          },
3731        },
3732        gmap_search: {
3733          matcher:
3734            /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,
3735          type: "iframe",
3736          url: function (t) {
3737            return (
3738              "//maps.google." +
3739              t[2] +
3740              "/maps?q=" +
3741              t[5].replace("query=", "q=").replace("api=1", "") +
3742              "&output=embed"
3743            );
3744          },
3745        },
3746      };
3747    t(document).on("objectNeedsType.fb", function (o, i, a) {
3748      var s,
3749        r,
3750        c,
3751        l,
3752        u,
3753        d,
3754        f,
3755        p = a.src || "",
3756        h = !1;
3757      (s = t.extend(!0, {}, n, a.opts.media)),
3758        t.each(s, function (n, o) {
3759          if ((c = p.match(o.matcher))) {
3760            if (((h = o.type), (d = {}), o.paramPlace && c[o.paramPlace])) {
3761              (u = c[o.paramPlace]),
3762                "?" == u[0] && (u = u.substring(1)),
3763                (u = u.split("&"));
3764              for (var i = 0; i < u.length; ++i) {
3765                var s = u[i].split("=", 2);
3766                2 == s.length &&
3767                  (d[s[0]] = decodeURIComponent(s[1].replace(/\+/g, " ")));
3768              }
3769            }
3770            return (
3771              (l = t.extend(!0, {}, o.params, a.opts[n], d)),
3772              (p =
3773                "function" === t.type(o.url)
3774                  ? o.url.call(this, c, l, a)
3775                  : e(o.url, c, l)),
3776              (r =
3777                "function" === t.type(o.thumb)
3778                  ? o.thumb.call(this, c, l, a)
3779                  : e(o.thumb, c)),
3780              "vimeo" === n && (p = p.replace("&%23", "#")),
3781              !1
3782            );
3783          }
3784        }),
3785        h
3786          ? ((a.src = p),
3787            (a.type = h),
3788            a.opts.thumb ||
3789              (a.opts.$thumb && a.opts.$thumb.length) ||
3790              (a.opts.thumb = r),
3791            "iframe" === h &&
3792              (t.extend(!0, a.opts, {
3793                iframe: { preload: !1, attr: { scrolling: "no" } },
3794              }),
3795              (a.contentProvider = f),
3796              (a.opts.slideClass +=
3797                " fancybox-slide--" +
3798                ("gmap_place" == f || "gmap_search" == f ? "map" : "video"))))
3799          : p && (a.type = a.opts.defaultType);
3800    });
3801  })(window.jQuery || jQuery),
3802  (function (t, e, n) {
3803    "use strict";
3804    var o = (function () {
3805        return (
3806          t.requestAnimationFrame ||
3807          t.webkitRequestAnimationFrame ||
3808          t.mozRequestAnimationFrame ||
3809          t.oRequestAnimationFrame ||
3810          function (e) {
3811            return t.setTimeout(e, 1e3 / 60);
3812          }
3813        );
3814      })(),
3815      i = (function () {
3816        return (
3817          t.cancelAnimationFrame ||
3818          t.webkitCancelAnimationFrame ||
3819          t.mozCancelAnimationFrame ||
3820          t.oCancelAnimationFrame ||
3821          function (e) {
3822            t.clearTimeout(e);
3823          }
3824        );
3825      })(),
3826      a = function (e) {
3827        var n = [];
3828        (e = e.originalEvent || e || t.e),
3829          (e =
3830            e.touches && e.touches.length
3831              ? e.touches
3832              : e.changedTouches && e.changedTouches.length
3833              ? e.changedTouches
3834              : [e]);
3835        for (var o in e)
3836          e[o].pageX
3837            ? n.push({ x: e[o].pageX, y: e[o].pageY })
3838            : e[o].clientX && n.push({ x: e[o].clientX, y: e[o].clientY });
3839        return n;
3840      },
3841      s = function (t, e, n) {
3842        return e && t
3843          ? "x" === n
3844            ? t.x - e.x
3845            : "y" === n
3846            ? t.y - e.y
3847            : Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2))
3848          : 0;
3849      },
3850      r = function (t) {
3851        if (
3852          t.is(
3853            'a,area,button,[role="button"],input,label,select,summary,textarea'
3854          ) ||
3855          n.isFunction(t.get(0).onclick) ||
3856          t.data("selectable")
3857        )
3858          return !0;
3859        for (var e = 0, o = t[0].attributes, i = o.length; e < i; e++)
3860          if ("data-fancybox-" === o[e].nodeName.substr(0, 14)) return !0;
3861        return !1;
3862      },
3863      c = function (e) {
3864        var n = t.getComputedStyle(e)["overflow-y"],
3865          o = t.getComputedStyle(e)["overflow-x"],
3866          i =
3867            ("scroll" === n || "auto" === n) && e.scrollHeight > e.clientHeight,
3868          a = ("scroll" === o || "auto" === o) && e.scrollWidth > e.clientWidth;
3869        return i || a;
3870      },
3871      l = function (t) {
3872        for (var e = !1; ; ) {
3873          if ((e = c(t.get(0)))) break;
3874          if (
3875            ((t = t.parent()),
3876            !t.length || t.hasClass("fancybox-stage") || t.is("body"))
3877          )
3878            break;
3879        }
3880        return e;
3881      },
3882      u = function (t) {
3883        var e = this;
3884        (e.instance = t),
3885          (e.$bg = t.$refs.bg),
3886          (e.$stage = t.$refs.stage),
3887          (e.$container = t.$refs.container),
3888          e.destroy(),
3889          e.$container.on(
3890            "touchstart.fb.touch mousedown.fb.touch",
3891            n.proxy(e, "ontouchstart")
3892          );
3893      };
3894    (u.prototype.destroy = function () {
3895      this.$container.off(".fb.touch");
3896    }),
3897      (u.prototype.ontouchstart = function (o) {
3898        var i = this,
3899          c = n(o.target),
3900          u = i.instance,
3901          d = u.current,
3902          f = d.$content,
3903          p = "touchstart" == o.type;
3904        if (
3905          (p && i.$container.off("mousedown.fb.touch"),
3906          (!o.originalEvent || 2 != o.originalEvent.button) &&
3907            c.length &&
3908            !r(c) &&
3909            !r(c.parent()) &&
3910            (c.is("img") ||
3911              !(o.originalEvent.clientX > c[0].clientWidth + c.offset().left)))
3912        ) {
3913          if (!d || i.instance.isAnimating || i.instance.isClosing)
3914            return o.stopPropagation(), void o.preventDefault();
3915          if (((i.realPoints = i.startPoints = a(o)), i.startPoints)) {
3916            if (
3917              (o.stopPropagation(),
3918              (i.startEvent = o),
3919              (i.canTap = !0),
3920              (i.$target = c),
3921              (i.$content = f),
3922              (i.opts = d.opts.touch),
3923              (i.isPanning = !1),
3924              (i.isSwiping = !1),
3925              (i.isZooming = !1),
3926              (i.isScrolling = !1),
3927              (i.sliderStartPos = i.sliderLastPos || { top: 0, left: 0 }),
3928              (i.contentStartPos = n.fancybox.getTranslate(i.$content)),
3929              (i.contentLastPos = null),
3930              (i.startTime = new Date().getTime()),
3931              (i.distanceX = i.distanceY = i.distance = 0),
3932              (i.canvasWidth = Math.round(d.$slide[0].clientWidth)),
3933              (i.canvasHeight = Math.round(d.$slide[0].clientHeight)),
3934              n(e)
3935                .off(".fb.touch")
3936                .on(
3937                  p
3938                    ? "touchend.fb.touch touchcancel.fb.touch"
3939                    : "mouseup.fb.touch mouseleave.fb.touch",
3940                  n.proxy(i, "ontouchend")
3941                )
3942                .on(
3943                  p ? "touchmove.fb.touch" : "mousemove.fb.touch",
3944                  n.proxy(i, "ontouchmove")
3945                ),
3946              n.fancybox.isMobile &&
3947                e.addEventListener("scroll", i.onscroll, !0),
3948              (!i.opts && !u.canPan()) ||
3949                (!c.is(i.$stage) && !i.$stage.find(c).length))
3950            )
3951              return void (c.is("img") && o.preventDefault());
3952            (n.fancybox.isMobile && (l(c) || l(c.parent()))) ||
3953              o.preventDefault(),
3954              1 === i.startPoints.length &&
3955                ("image" === d.type &&
3956                (i.contentStartPos.width > i.canvasWidth + 1 ||
3957                  i.contentStartPos.height > i.canvasHeight + 1)
3958                  ? (n.fancybox.stop(i.$content),
3959                    i.$content.css("transition-duration", ""),
3960                    (i.isPanning = !0))
3961                  : (i.isSwiping = !0),
3962                i.$container.addClass("fancybox-controls--isGrabbing")),
3963              2 !== i.startPoints.length ||
3964                u.isAnimating ||
3965                d.hasError ||
3966                "image" !== d.type ||
3967                (!d.isLoaded && !d.$ghost) ||
3968                ((i.canTap = !1),
3969                (i.isSwiping = !1),
3970                (i.isPanning = !1),
3971                (i.isZooming = !0),
3972                n.fancybox.stop(i.$content),
3973                i.$content.css("transition-duration", ""),
3974                (i.centerPointStartX =
3975                  0.5 * (i.startPoints[0].x + i.startPoints[1].x) -
3976                  n(t).scrollLeft()),
3977                (i.centerPointStartY =
3978                  0.5 * (i.startPoints[0].y + i.startPoints[1].y) -
3979                  n(t).scrollTop()),
3980                (i.percentageOfImageAtPinchPointX =
3981                  (i.centerPointStartX - i.contentStartPos.left) /
3982                  i.contentStartPos.width),
3983                (i.percentageOfImageAtPinchPointY =
3984                  (i.centerPointStartY - i.contentStartPos.top) /
3985                  i.contentStartPos.height),
3986                (i.startDistanceBetweenFingers = s(
3987                  i.startPoints[0],
3988                  i.startPoints[1]
3989                )));
3990          }
3991        }
3992      }),
3993      (u.prototype.onscroll = function (t) {
3994        self.isScrolling = !0;
3995      }),
3996      (u.prototype.ontouchmove = function (t) {
3997        var e = this,
3998          o = n(t.target);
3999        return e.isScrolling || (!o.is(e.$stage) && !e.$stage.find(o).length)
4000          ? void (e.canTap = !1)
4001          : ((e.newPoints = a(t)),
4002            void (
4003              (e.opts || e.instance.canPan()) &&
4004              e.newPoints &&
4005              e.newPoints.length &&
4006              ((e.isSwiping && e.isSwiping === !0) || t.preventDefault(),
4007              (e.distanceX = s(e.newPoints[0], e.startPoints[0], "x")),
4008              (e.distanceY = s(e.newPoints[0], e.startPoints[0], "y")),
4009              (e.distance = s(e.newPoints[0], e.startPoints[0])),
4010              e.distance > 0 &&
4011                (e.isSwiping
4012                  ? e.onSwipe(t)
4013                  : e.isPanning
4014                  ? e.onPan()
4015                  : e.isZooming && e.onZoom()))
4016            ));
4017      }),
4018      (u.prototype.onSwipe = function (e) {
4019        var a,
4020          s = this,
4021          r = s.isSwiping,
4022          c = s.sliderStartPos.left || 0;
4023        if (r !== !0)
4024          "x" == r &&
4025            (s.distanceX > 0 &&
4026            (s.instance.group.length < 2 ||
4027              (0 === s.instance.current.index && !s.instance.current.opts.loop))
4028              ? (c += Math.pow(s.distanceX, 0.8))
4029              : s.distanceX < 0 &&
4030                (s.instance.group.length < 2 ||
4031                  (s.instance.current.index === s.instance.group.length - 1 &&
4032                    !s.instance.current.opts.loop))
4033              ? (c -= Math.pow(-s.distanceX, 0.8))
4034              : (c += s.distanceX)),
4035            (s.sliderLastPos = {
4036              top: "x" == r ? 0 : s.sliderStartPos.top + s.distanceY,
4037              left: c,
4038            }),
4039            s.requestId && (i(s.requestId), (s.requestId = null)),
4040            (s.requestId = o(function () {
4041              s.sliderLastPos &&
4042                (n.each(s.instance.slides, function (t, e) {
4043                  var o = e.pos - s.instance.currPos;
4044                  n.fancybox.setTranslate(e.$slide, {
4045                    top: s.sliderLastPos.top,
4046                    left:
4047                      s.sliderLastPos.left +
4048                      o * s.canvasWidth +
4049                      o * e.opts.gutter,
4050                  });
4051                }),
4052                s.$container.addClass("fancybox-is-sliding"));
4053            }));
4054        else if (Math.abs(s.distance) > 10) {
4055          if (
4056            ((s.canTap = !1),
4057            s.instance.group.length < 2 && s.opts.vertical
4058              ? (s.isSwiping = "y")
4059              : s.instance.isDragging ||
4060                s.opts.vertical === !1 ||
4061                ("auto" === s.opts.vertical && n(t).width() > 800)
4062              ? (s.isSwiping = "x")
4063              : ((a = Math.abs(
4064                  (180 * Math.atan2(s.distanceY, s.distanceX)) / Math.PI
4065                )),
4066                (s.isSwiping = a > 45 && a < 135 ? "y" : "x")),
4067            (s.canTap = !1),
4068            "y" === s.isSwiping &&
4069              n.fancybox.isMobile &&
4070              (l(s.$target) || l(s.$target.parent())))
4071          )
4072            return void (s.isScrolling = !0);
4073          (s.instance.isDragging = s.isSwiping),
4074            (s.startPoints = s.newPoints),
4075            n.each(s.instance.slides, function (t, e) {
4076              n.fancybox.stop(e.$slide),
4077                e.$slide.css("transition-duration", ""),
4078                (e.inTransition = !1),
4079                e.pos === s.instance.current.pos &&
4080                  (s.sliderStartPos.left = n.fancybox.getTranslate(
4081                    e.$slide
4082                  ).left);
4083            }),
4084            s.instance.SlideShow &&
4085              s.instance.SlideShow.isActive &&
4086              s.instance.SlideShow.stop();
4087        }
4088      }),
4089      (u.prototype.onPan = function () {
4090        var t = this;
4091        return s(t.newPoints[0], t.realPoints[0]) <
4092          (n.fancybox.isMobile ? 10 : 5)
4093          ? void (t.startPoints = t.newPoints)
4094          : ((t.canTap = !1),
4095            (t.contentLastPos = t.limitMovement()),
4096            t.requestId && (i(t.requestId), (t.requestId = null)),
4097            void (t.requestId = o(function () {
4098              n.fancybox.setTranslate(t.$content, t.contentLastPos);
4099            })));
4100      }),
4101      (u.prototype.limitMovement = function () {
4102        var t,
4103          e,
4104          n,
4105          o,
4106          i,
4107          a,
4108          s = this,
4109          r = s.canvasWidth,
4110          c = s.canvasHeight,
4111          l = s.distanceX,
4112          u = s.distanceY,
4113          d = s.contentStartPos,
4114          f = d.left,
4115          p = d.top,
4116          h = d.width,
4117          g = d.height;
4118        return (
4119          (i = h > r ? f + l : f),
4120          (a = p + u),
4121          (t = Math.max(0, 0.5 * r - 0.5 * h)),
4122          (e = Math.max(0, 0.5 * c - 0.5 * g)),
4123          (n = Math.min(r - h, 0.5 * r - 0.5 * h)),
4124          (o = Math.min(c - g, 0.5 * c - 0.5 * g)),
4125          h > r &&
4126            (l > 0 && i > t && (i = t - 1 + Math.pow(-t + f + l, 0.8) || 0),
4127            l < 0 && i < n && (i = n + 1 - Math.pow(n - f - l, 0.8) || 0)),
4128          g > c &&
4129            (u > 0 && a > e && (a = e - 1 + Math.pow(-e + p + u, 0.8) || 0),
4130            u < 0 && a < o && (a = o + 1 - Math.pow(o - p - u, 0.8) || 0)),
4131          { top: a, left: i, scaleX: d.scaleX, scaleY: d.scaleY }
4132        );
4133      }),
4134      (u.prototype.limitPosition = function (t, e, n, o) {
4135        var i = this,
4136          a = i.canvasWidth,
4137          s = i.canvasHeight;
4138        return (
4139          n > a
4140            ? ((t = t > 0 ? 0 : t), (t = t < a - n ? a - n : t))
4141            : (t = Math.max(0, a / 2 - n / 2)),
4142          o > s
4143            ? ((e = e > 0 ? 0 : e), (e = e < s - o ? s - o : e))
4144            : (e = Math.max(0, s / 2 - o / 2)),
4145          { top: e, left: t }
4146        );
4147      }),
4148      (u.prototype.onZoom = function () {
4149        var e = this,
4150          a = e.contentStartPos.width,
4151          r = e.contentStartPos.height,
4152          c = e.contentStartPos.left,
4153          l = e.contentStartPos.top,
4154          u = s(e.newPoints[0], e.newPoints[1]),
4155          d = u / e.startDistanceBetweenFingers,
4156          f = Math.floor(a * d),
4157          p = Math.floor(r * d),
4158          h = (a - f) * e.percentageOfImageAtPinchPointX,
4159          g = (r - p) * e.percentageOfImageAtPinchPointY,
4160          b = (e.newPoints[0].x + e.newPoints[1].x) / 2 - n(t).scrollLeft(),
4161          m = (e.newPoints[0].y + e.newPoints[1].y) / 2 - n(t).scrollTop(),
4162          y = b - e.centerPointStartX,
4163          v = m - e.centerPointStartY,
4164          x = c + (h + y),
4165          w = l + (g + v),
4166          $ = {
4167            top: w,
4168            left: x,
4169            scaleX: e.contentStartPos.scaleX * d,
4170            scaleY: e.contentStartPos.scaleY * d,
4171          };
4172        (e.canTap = !1),
4173          (e.newWidth = f),
4174          (e.newHeight = p),
4175          (e.contentLastPos = $),
4176          e.requestId && (i(e.requestId), (e.requestId = null)),
4177          (e.requestId = o(function () {
4178            n.fancybox.setTranslate(e.$content, e.contentLastPos);
4179          }));
4180      }),
4181      (u.prototype.ontouchend = function (t) {
4182        var o = this,
4183          s = Math.max(new Date().getTime() - o.startTime, 1),
4184          r = o.isSwiping,
4185          c = o.isPanning,
4186          l = o.isZooming,
4187          u = o.isScrolling;
4188        return (
4189          (o.endPoints = a(t)),
4190          o.$container.removeClass("fancybox-controls--isGrabbing"),
4191          n(e).off(".fb.touch"),
4192          e.removeEventListener("scroll", o.onscroll, !0),
4193          o.requestId && (i(o.requestId), (o.requestId = null)),
4194          (o.isSwiping = !1),
4195          (o.isPanning = !1),
4196          (o.isZooming = !1),
4197          (o.isScrolling = !1),
4198          (o.instance.isDragging = !1),
4199          o.canTap
4200            ? o.onTap(t)
4201            : ((o.speed = 366),
4202              (o.velocityX = (o.distanceX / s) * 0.5),
4203              (o.velocityY = (o.distanceY / s) * 0.5),
4204              (o.speedX = Math.max(
4205                0.5 * o.speed,
4206                Math.min(1.5 * o.speed, (1 / Math.abs(o.velocityX)) * o.speed)
4207              )),
4208              void (c
4209                ? o.endPanning()
4210                : l
4211                ? o.endZooming()
4212                : o.endSwiping(r, u)))
4213        );
4214      }),
4215      (u.prototype.endSwiping = function (t, e) {
4216        var o = this,
4217          i = !1,
4218          a = o.instance.group.length;
4219        (o.sliderLastPos = null),
4220          "y" == t && !e && Math.abs(o.distanceY) > 50
4221            ? (n.fancybox.animate(
4222                o.instance.current.$slide,
4223                {
4224                  top: o.sliderStartPos.top + o.distanceY + 150 * o.velocityY,
4225                  opacity: 0,
4226                },
4227                150
4228              ),
4229              (i = o.instance.close(!0, 300)))
4230            : "x" == t && o.distanceX > 50 && a > 1
4231            ? (i = o.instance.previous(o.speedX))
4232            : "x" == t &&
4233              o.distanceX < -50 &&
4234              a > 1 &&
4235              (i = o.instance.next(o.speedX)),
4236          i !== !1 ||
4237            ("x" != t && "y" != t) ||
4238            (e || a < 2
4239              ? o.instance.centerSlide(o.instance.current, 150)
4240              : o.instance.jumpTo(o.instance.current.index)),
4241          o.$container.removeClass("fancybox-is-sliding");
4242      }),
4243      (u.prototype.endPanning = function () {
4244        var t,
4245          e,
4246          o,
4247          i = this;
4248        i.contentLastPos &&
4249          (i.opts.momentum === !1
4250            ? ((t = i.contentLastPos.left), (e = i.contentLastPos.top))
4251            : ((t = i.contentLastPos.left + i.velocityX * i.speed),
4252              (e = i.contentLastPos.top + i.velocityY * i.speed)),
4253          (o = i.limitPosition(
4254            t,
4255            e,
4256            i.contentStartPos.width,
4257            i.contentStartPos.height
4258          )),
4259          (o.width = i.contentStartPos.width),
4260          (o.height = i.contentStartPos.height),
4261          n.fancybox.animate(i.$content, o, 330));
4262      }),
4263      (u.prototype.endZooming = function () {
4264        var t,
4265          e,
4266          o,
4267          i,
4268          a = this,
4269          s = a.instance.current,
4270          r = a.newWidth,
4271          c = a.newHeight;
4272        a.contentLastPos &&
4273          ((t = a.contentLastPos.left),
4274          (e = a.contentLastPos.top),
4275          (i = { top: e, left: t, width: r, height: c, scaleX: 1, scaleY: 1 }),
4276          n.fancybox.setTranslate(a.$content, i),
4277          r < a.canvasWidth && c < a.canvasHeight
4278            ? a.instance.scaleToFit(150)
4279            : r > s.width || c > s.height
4280            ? a.instance.scaleToActual(
4281                a.centerPointStartX,
4282                a.centerPointStartY,
4283                150
4284              )
4285            : ((o = a.limitPosition(t, e, r, c)),
4286              n.fancybox.setTranslate(
4287                a.content,
4288                n.fancybox.getTranslate(a.$content)
4289              ),
4290              n.fancybox.animate(a.$content, o, 150)));
4291      }),
4292      (u.prototype.onTap = function (t) {
4293        var e,
4294          o = this,
4295          i = n(t.target),
4296          s = o.instance,
4297          r = s.current,
4298          c = (t && a(t)) || o.startPoints,
4299          l = c[0] ? c[0].x - o.$stage.offset().left : 0,
4300          u = c[0] ? c[0].y - o.$stage.offset().top : 0,
4301          d = function (e) {
4302            var i = r.opts[e];
4303            if ((n.isFunction(i) && (i = i.apply(s, [r, t])), i))
4304              switch (i) {
4305                case "close":
4306                  s.close(o.startEvent);
4307                  break;
4308                case "toggleControls":
4309                  s.toggleControls(!0);
4310                  break;
4311                case "next":
4312                  s.next();
4313                  break;
4314                case "nextOrClose":
4315                  s.group.length > 1 ? s.next() : s.close(o.startEvent);
4316                  break;
4317                case "zoom":
4318                  "image" == r.type &&
4319                    (r.isLoaded || r.$ghost) &&
4320                    (s.canPan()
4321                      ? s.scaleToFit()
4322                      : s.isScaledDown()
4323                      ? s.scaleToActual(l, u)
4324                      : s.group.length < 2 && s.close(o.startEvent));
4325              }
4326          };
4327        if (
4328          (!t.originalEvent || 2 != t.originalEvent.button) &&
4329          (i.is("img") || !(l > i[0].clientWidth + i.offset().left))
4330        ) {
4331          if (
4332            i.is(
4333              ".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"
4334            )
4335          )
4336            e = "Outside";
4337          else if (i.is(".fancybox-slide")) e = "Slide";
4338          else {
4339            if (
4340              !s.current.$content ||
4341              !s.current.$content.find(i).addBack().filter(i).length
4342            )
4343              return;
4344            e = "Content";
4345          }
4346          if (o.tapped) {
4347            if (
4348              (clearTimeout(o.tapped),
4349              (o.tapped = null),
4350              Math.abs(l - o.tapX) > 50 || Math.abs(u - o.tapY) > 50)
4351            )
4352              return this;
4353            d("dblclick" + e);
4354          } else
4355            (o.tapX = l),
4356              (o.tapY = u),
4357              r.opts["dblclick" + e] &&
4358              r.opts["dblclick" + e] !== r.opts["click" + e]
4359                ? (o.tapped = setTimeout(function () {
4360                    (o.tapped = null), d("click" + e);
4361                  }, 500))
4362                : d("click" + e);
4363          return this;
4364        }
4365      }),
4366      n(e).on("onActivate.fb", function (t, e) {
4367        e && !e.Guestures && (e.Guestures = new u(e));
4368      });
4369  })(window, document, window.jQuery || jQuery),
4370  (function (t, e) {
4371    "use strict";
4372    e.extend(!0, e.fancybox.defaults, {
4373      btnTpl: {
4374        slideShow:
4375          '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg viewBox="0 0 40 40"><path d="M13,12 L27,20 L13,27 Z" /><path d="M15,10 v19 M23,10 v19" /></svg></button>',
4376      },
4377      slideShow: { autoStart: !1, speed: 3e3 },
4378    });
4379    var n = function (t) {
4380      (this.instance = t), this.init();
4381    };
4382    e.extend(n.prototype, {
4383      timer: null,
4384      isActive: !1,
4385      $button: null,
4386      init: function () {
4387        var t = this;
4388        (t.$button = t.instance.$refs.toolbar
4389          .find("[data-fancybox-play]")
4390          .on("click", function () {
4391            t.toggle();
4392          })),
4393          (t.instance.group.length < 2 ||
4394            !t.instance.group[t.instance.currIndex].opts.slideShow) &&
4395            t.$button.hide();
4396      },
4397      set: function (t) {
4398        var e = this;
4399        e.instance &&
4400        e.instance.current &&
4401        (t === !0 ||
4402          e.instance.current.opts.loop ||
4403          e.instance.currIndex < e.instance.group.length - 1)
4404          ? (e.timer = setTimeout(function () {
4405              e.isActive &&
4406                e.instance.jumpTo(
4407                  (e.instance.currIndex + 1) % e.instance.group.length
4408                );
4409            }, e.instance.current.opts.slideShow.speed))
4410          : (e.stop(),
4411            (e.instance.idleSecondsCounter = 0),
4412            e.instance.showControls());
4413      },
4414      clear: function () {
4415        var t = this;
4416        clearTimeout(t.timer), (t.timer = null);
4417      },
4418      start: function () {
4419        var t = this,
4420          e = t.instance.current;
4421        e &&
4422          ((t.isActive = !0),
4423          t.$button
4424            .attr("title", e.opts.i18n[e.opts.lang].PLAY_STOP)
4425            .removeClass("fancybox-button--play")
4426            .addClass("fancybox-button--pause"),
4427          t.set(!0));
4428      },
4429      stop: function () {
4430        var t = this,
4431          e = t.instance.current;
4432        t.clear(),
4433          t.$button
4434            .attr("title", e.opts.i18n[e.opts.lang].PLAY_START)
4435            .removeClass("fancybox-button--pause")
4436            .addClass("fancybox-button--play"),
4437          (t.isActive = !1);
4438      },
4439      toggle: function () {
4440        var t = this;
4441        t.isActive ? t.stop() : t.start();
4442      },
4443    }),
4444      e(t).on({
4445        "onInit.fb": function (t, e) {
4446          e && !e.SlideShow && (e.SlideShow = new n(e));
4447        },
4448        "beforeShow.fb": function (t, e, n, o) {
4449          var i = e && e.SlideShow;
4450          o
4451            ? i && n.opts.slideShow.autoStart && i.start()
4452            : i && i.isActive && i.clear();
4453        },
4454        "afterShow.fb": function (t, e, n) {
4455          var o = e && e.SlideShow;
4456          o && o.isActive && o.set();
4457        },
4458        "afterKeydown.fb": function (n, o, i, a, s) {
4459          var r = o && o.SlideShow;
4460          !r ||
4461            !i.opts.slideShow ||
4462            (80 !== s && 32 !== s) ||
4463            e(t.activeElement).is("button,a,input") ||
4464            (a.preventDefault(), r.toggle());
4465        },
4466        "beforeClose.fb onDeactivate.fb": function (t, e) {
4467          var n = e && e.SlideShow;
4468          n && n.stop();
4469        },
4470      }),
4471      e(t).on("visibilitychange", function () {
4472        var n = e.fancybox.getInstance(),
4473          o = n && n.SlideShow;
4474        o && o.isActive && (t.hidden ? o.clear() : o.set());
4475      });
4476  })(document, window.jQuery || jQuery),
4477  (function (t, e) {
4478    "use strict";
4479    var n = (function () {
4480      var e,
4481        n,
4482        o,
4483        i = [
4484          [
4485            "requestFullscreen",
4486            "exitFullscreen",
4487            "fullscreenElement",
4488            "fullscreenEnabled",
4489            "fullscreenchange",
4490            "fullscreenerror",
4491          ],
4492          [
4493            "webkitRequestFullscreen",
4494            "webkitExitFullscreen",
4495            "webkitFullscreenElement",
4496            "webkitFullscreenEnabled",
4497            "webkitfullscreenchange",
4498            "webkitfullscreenerror",
4499          ],
4500          [
4501            "webkitRequestFullScreen",
4502            "webkitCancelFullScreen",
4503            "webkitCurrentFullScreenElement",
4504            "webkitCancelFullScreen",
4505            "webkitfullscreenchange",
4506            "webkitfullscreenerror",
4507          ],
4508          [
4509            "mozRequestFullScreen",
4510            "mozCancelFullScreen",
4511            "mozFullScreenElement",
4512            "mozFullScreenEnabled",
4513            "mozfullscreenchange",
4514            "mozfullscreenerror",
4515          ],
4516          [
4517            "msRequestFullscreen",
4518            "msExitFullscreen",
4519            "msFullscreenElement",
4520            "msFullscreenEnabled",
4521            "MSFullscreenChange",
4522            "MSFullscreenError",
4523          ],
4524        ],
4525        a = {};
4526      for (n = 0; n < i.length; n++)
4527        if (((e = i[n]), e && e[1] in t)) {
4528          for (o = 0; o < e.length; o++) a[i[0][o]] = e[o];
4529          return a;
4530        }
4531      return !1;
4532    })();
4533    if (!n)
4534      return void (
4535        e &&
4536        e.fancybox &&
4537        (e.fancybox.defaults.btnTpl.fullScreen = !1)
4538      );
4539    var o = {
4540      request: function (e) {
4541        (e = e || t.documentElement),
4542          e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT);
4543      },
4544      exit: function () {
4545        t[n.exitFullscreen]();
4546      },
4547      toggle: function (e) {
4548        (e = e || t.documentElement),
4549          this.isFullscreen() ? this.exit() : this.request(e);
4550      },
4551      isFullscreen: function () {
4552        return Boolean(t[n.fullscreenElement]);
4553      },
4554      enabled: function () {
4555        return Boolean(t[n.fullscreenEnabled]);
4556      },
4557    };
4558    e.extend(!0, e.fancybox.defaults, {
4559      btnTpl: {
4560        fullScreen:
4561          '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="{{FULL_SCREEN}}"><svg viewBox="0 0 40 40"><path d="M9,12 h22 v16 h-22 v-16 v16 h22 v-16 Z" /></svg></button>',
4562      },
4563      fullScreen: { autoStart: !1 },
4564    }),
4565      e(t).on({
4566        "onInit.fb": function (t, e) {
4567          var n;
4568          e && e.group[e.currIndex].opts.fullScreen
4569            ? ((n = e.$refs.container),
4570              n.on(
4571                "click.fb-fullscreen",
4572                "[data-fancybox-fullscreen]",
4573                function (t) {
4574                  t.stopPropagation(), t.preventDefault(), o.toggle(n[0]);
4575                }
4576              ),
4577              e.opts.fullScreen &&
4578                e.opts.fullScreen.autoStart === !0 &&
4579                o.request(n[0]),
4580              (e.FullScreen = o))
4581            : e && e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide();
4582        },
4583        "afterKeydown.fb": function (t, e, n, o, i) {
4584          e &&
4585            e.FullScreen &&
4586            70 === i &&
4587            (o.preventDefault(), e.FullScreen.toggle(e.$refs.container[0]));
4588        },
4589        "beforeClose.fb": function (t) {
4590          t && t.FullScreen && o.exit();
4591        },
4592      }),
4593      e(t).on(n.fullscreenchange, function () {
4594        var t = o.isFullscreen(),
4595          n = e.fancybox.getInstance();
4596        n &&
4597          (n.current &&
4598            "image" === n.current.type &&
4599            n.isAnimating &&
4600            (n.current.$content.css("transition", "none"),
4601            (n.isAnimating = !1),
4602            n.update(!0, !0, 0)),
4603          n.trigger("onFullscreenChange", t),
4604          n.$refs.container.toggleClass("fancybox-is-fullscreen", t));
4605      });
4606  })(document, window.jQuery || jQuery),
4607  (function (t, e) {
4608    "use strict";
4609    e.fancybox.defaults = e.extend(
4610      !0,
4611      {
4612        btnTpl: {
4613          thumbs:
4614            '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg viewBox="0 0 120 120"><path d="M30,30 h14 v14 h-14 Z M50,30 h14 v14 h-14 Z M70,30 h14 v14 h-14 Z M30,50 h14 v14 h-14 Z M50,50 h14 v14 h-14 Z M70,50 h14 v14 h-14 Z M30,70 h14 v14 h-14 Z M50,70 h14 v14 h-14 Z M70,70 h14 v14 h-14 Z" /></svg></button>',
4615        },
4616        thumbs: {
4617          autoStart: !1,
4618          hideOnClose: !0,
4619          parentEl: ".fancybox-container",
4620          axis: "y",
4621        },
4622      },
4623      e.fancybox.defaults
4624    );
4625    var n = function (t) {
4626      this.init(t);
4627    };
4628    e.extend(n.prototype, {
4629      $button: null,
4630      $grid: null,
4631      $list: null,
4632      isVisible: !1,
4633      isActive: !1,
4634      init: function (t) {
4635        var e = this;
4636        (e.instance = t), (t.Thumbs = e);
4637        var n = t.group[0],
4638          o = t.group[1];
4639        (e.opts = t.group[t.currIndex].opts.thumbs),
4640          (e.$button = t.$refs.toolbar.find("[data-fancybox-thumbs]")),
4641          e.opts &&
4642          n &&
4643          o &&
4644          ("image" == n.type || n.opts.thumb || n.opts.$thumb) &&
4645          ("image" == o.type || o.opts.thumb || o.opts.$thumb)
4646            ? (e.$button.show().on("click", function () {
4647                e.toggle();
4648              }),
4649              (e.isActive = !0))
4650            : e.$button.hide();
4651      },
4652      create: function () {
4653        var t,
4654          n,
4655          o = this,
4656          i = o.instance,
4657          a = o.opts.parentEl;
4658        (o.$grid = e(
4659          '<div class="fancybox-thumbs fancybox-thumbs-' +
4660            o.opts.axis +
4661            '"></div>'
4662        ).appendTo(i.$refs.container.find(a).addBack().filter(a))),
4663          (t = "<ul>"),
4664          e.each(i.group, function (e, o) {
4665            (n =
4666              o.opts.thumb ||
4667              (o.opts.$thumb ? o.opts.$thumb.attr("src") : null)),
4668              n || "image" !== o.type || (n = o.src),
4669              n &&
4670                n.length &&
4671                (t +=
4672                  '<li data-index="' +
4673                  e +
4674                  '"  tabindex="0" class="fancybox-thumbs-loading"><img data-src="' +
4675                  n +
4676                  '" /></li>');
4677          }),
4678          (t += "</ul>"),
4679          (o.$list = e(t)
4680            .appendTo(o.$grid)
4681            .on("click", "li", function () {
4682              i.jumpTo(e(this).data("index"));
4683            })),
4684          o.$list
4685            .find("img")
4686            .hide()
4687            .one("load", function () {
4688              var t,
4689                n,
4690                o,
4691                i,
4692                a = e(this).parent().removeClass("fancybox-thumbs-loading"),
4693                s = a.outerWidth(),
4694                r = a.outerHeight();
4695              (t = this.naturalWidth || this.width),
4696                (n = this.naturalHeight || this.height),
4697                (o = t / s),
4698                (i = n / r),
4699                o >= 1 &&
4700                  i >= 1 &&
4701                  (o > i ? ((t /= i), (n = r)) : ((t = s), (n /= o))),
4702                e(this)
4703                  .css({
4704                    width: Math.floor(t),
4705                    height: Math.floor(n),
4706                    "margin-top":
4707                      n > r
4708                        ? Math.floor(0.3 * r - 0.3 * n)
4709                        : Math.floor(0.5 * r - 0.5 * n),
4710                    "margin-left": Math.floor(0.5 * s - 0.5 * t),
4711                  })
4712                  .show();
4713            })
4714            .each(function () {
4715              this.src = e(this).data("src");
4716            }),
4717          "x" === o.opts.axis &&
4718            o.$list.width(
4719              parseInt(o.$grid.css("padding-right")) +
4720                i.group.length * o.$list.children().eq(0).outerWidth(!0) +
4721                "px"
4722            );
4723      },
4724      focus: function (t) {
4725        var e,
4726          n,
4727          o = this,
4728          i = o.$list;
4729        o.instance.current &&
4730          ((e = i
4731            .children()
4732            .removeClass("fancybox-thumbs-active")
4733            .filter('[data-index="' + o.instance.current.index + '"]')
4734            .addClass("fancybox-thumbs-active")),
4735          (n = e.position()),
4736          "y" === o.opts.axis &&
4737          (n.top < 0 || n.top > i.height() - e.outerHeight())
4738            ? i.stop().animate({ scrollTop: i.scrollTop() + n.top }, t)
4739            : "x" === o.opts.axis &&
4740              (n.left < i.parent().scrollLeft() ||
4741                n.left >
4742                  i.parent().scrollLeft() +
4743                    (i.parent().width() - e.outerWidth())) &&
4744              i.parent().stop().animate({ scrollLeft: n.left }, t));
4745      },
4746      update: function () {
4747        this.instance.$refs.container.toggleClass(
4748          "fancybox-show-thumbs",
4749          this.isVisible
4750        ),
4751          this.isVisible
4752            ? (this.$grid || this.create(),
4753              this.instance.trigger("onThumbsShow"),
4754              this.focus(0))
4755            : this.$grid && this.instance.trigger("onThumbsHide"),
4756          this.instance.update();
4757      },
4758      hide: function () {
4759        (this.isVisible = !1), this.update();
4760      },
4761      show: function () {
4762        (this.isVisible = !0), this.update();
4763      },
4764      toggle: function () {
4765        (this.isVisible = !this.isVisible), this.update();
4766      },
4767    }),
4768      e(t).on({
4769        "onInit.fb": function (t, e) {
4770          var o;
4771          e &&
4772            !e.Thumbs &&
4773            ((o = new n(e)), o.isActive && o.opts.autoStart === !0 && o.show());
4774        },
4775        "beforeShow.fb": function (t, e, n, o) {
4776          var i = e && e.Thumbs;
4777          i && i.isVisible && i.focus(o ? 0 : 250);
4778        },
4779        "afterKeydown.fb": function (t, e, n, o, i) {
4780          var a = e && e.Thumbs;
4781          a && a.isActive && 71 === i && (o.preventDefault(), a.toggle());
4782        },
4783        "beforeClose.fb": function (t, e) {
4784          var n = e && e.Thumbs;
4785          n && n.isVisible && n.opts.hideOnClose !== !1 && n.$grid.hide();
4786        },
4787      });
4788  })(document, window.jQuery),
4789  (function (t, e) {
4790    "use strict";
4791    function n(t) {
4792      var e = {
4793        "&": "&amp;",
4794        "<": "&lt;",
4795        ">": "&gt;",
4796        '"': "&quot;",
4797        "'": "&#39;",
4798        "/": "&#x2F;",
4799        "`": "&#x60;",
4800        "=": "&#x3D;",
4801      };
4802      return String(t).replace(/[&<>"'`=\/]/g, function (t) {
4803        return e[t];
4804      });
4805    }
4806    e.extend(!0, e.fancybox.defaults, {
4807      btnTpl: {
4808        share:
4809          '<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg viewBox="0 0 40 40"><path d="M6,30 C8,18 19,16 23,16 L23,16 L23,10 L33,20 L23,29 L23,24 C19,24 8,27 6,30 Z"></svg></button>',
4810      },
4811      share: {
4812        tpl: '<div class="fancybox-share"><h1>{{SHARE}}</h1><p class="fancybox-share__links"><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" /></p></div>',
4813      },
4814    }),
4815      e(t).on("click", "[data-fancybox-share]", function () {
4816        var t,
4817          o,
4818          i = e.fancybox.getInstance();
4819        i &&
4820          ((t = i.current.opts.hash === !1 ? i.current.src : window.location),
4821          (o = i.current.opts.share.tpl
4822            .replace(
4823              /\{\{media\}\}/g,
4824              "image" === i.current.type
4825                ? encodeURIComponent(i.current.src)
4826                : ""
4827            )
4828            .replace(/\{\{url\}\}/g, encodeURIComponent(t))
4829            .replace(/\{\{url_raw\}\}/g, n(t))
4830            .replace(
4831              /\{\{descr\}\}/g,
4832              i.$caption ? encodeURIComponent(i.$caption.text()) : ""
4833            )),
4834          e.fancybox.open({
4835            src: i.translate(i, o),
4836            type: "html",
4837            opts: {
4838              animationEffect: "fade",
4839              animationDuration: 250,
4840              afterLoad: function (t, e) {
4841                e.$content.find(".fancybox-share__links a").click(function () {
4842                  return (
4843                    window.open(this.href, "Share", "width=550, height=450"), !1
4844                  );
4845                });
4846              },
4847            },
4848          }));
4849      });
4850  })(document, window.jQuery || jQuery),
4851  (function (t, e, n) {
4852    "use strict";
4853    function o() {
4854      var t = e.location.hash.substr(1),
4855        n = t.split("-"),
4856        o =
4857          n.length > 1 && /^\+?\d+$/.test(n[n.length - 1])
4858            ? parseInt(n.pop(-1), 10) || 1
4859            : 1,
4860        i = n.join("-");
4861      return o < 1 && (o = 1), { hash: t, index: o, gallery: i };
4862    }
4863    function i(t) {
4864      var e;
4865      "" !== t.gallery &&
4866        ((e = n("[data-fancybox='" + n.escapeSelector(t.gallery) + "']").eq(
4867          t.index - 1
4868        )),
4869        e.length || (e = n("#" + n.escapeSelector(t.gallery))),
4870        e.length && ((s = !1), e.trigger("click")));
4871    }
4872    function a(t) {
4873      var e;
4874      return (
4875        !!t &&
4876        ((e = t.current ? t.current.opts : t.opts),
4877        e.hash || (e.$orig ? e.$orig.data("fancybox") : ""))
4878      );
4879    }
4880    n.escapeSelector ||
4881      (n.escapeSelector = function (t) {
4882        var e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
4883          n = function (t, e) {
4884            return e
4885              ? "\0" === t
4886                ? "�"
4887                : t.slice(0, -1) +
4888                  "\\" +
4889                  t.charCodeAt(t.length - 1).toString(16) +
4890                  " "
4891              : "\\" + t;
4892          };
4893        return (t + "").replace(e, n);
4894      });
4895    var s = !0,
4896      r = null,
4897      c = null;
4898    n(function () {
4899      n.fancybox.defaults.hash !== !1 &&
4900        (n(t).on({
4901          "onInit.fb": function (t, e) {
4902            var n, i;
4903            e.group[e.currIndex].opts.hash !== !1 &&
4904              ((n = o()),
4905              (i = a(e)),
4906              i && n.gallery && i == n.gallery && (e.currIndex = n.index - 1));
4907          },
4908          "beforeShow.fb": function (n, o, i) {
4909            var l;
4910            i &&
4911              i.opts.hash !== !1 &&
4912              ((l = a(o)),
4913              l &&
4914                "" !== l &&
4915                (e.location.hash.indexOf(l) < 0 &&
4916                  (o.opts.origHash = e.location.hash),
4917                (r = l + (o.group.length > 1 ? "-" + (i.index + 1) : "")),
4918                "replaceState" in e.history
4919                  ? (c && clearTimeout(c),
4920                    (c = setTimeout(function () {
4921                      e.history[s ? "pushState" : "replaceState"](
4922                        {},
4923                        t.title,
4924                        e.location.pathname + e.location.search + "#" + r
4925                      ),
4926                        (c = null),
4927                        (s = !1);
4928                    }, 300)))
4929                  : (e.location.hash = r)));
4930          },
4931          "beforeClose.fb": function (o, i, s) {
4932            var l, u;
4933            c && clearTimeout(c),
4934              s.opts.hash !== !1 &&
4935                ((l = a(i)),
4936                (u = i && i.opts.origHash ? i.opts.origHash : ""),
4937                l &&
4938                  "" !== l &&
4939                  ("replaceState" in history
4940                    ? e.history.replaceState(
4941                        {},
4942                        t.title,
4943                        e.location.pathname + e.location.search + u
4944                      )
4945                    : ((e.location.hash = u),
4946                      n(e).scrollTop(i.scrollTop).scrollLeft(i.scrollLeft))),
4947                (r = null));
4948          },
4949        }),
4950        n(e).on("hashchange.fb", function () {
4951          var t = o();
4952          n.fancybox.getInstance()
4953            ? !r ||
4954              r === t.gallery + "-" + t.index ||
4955              (1 === t.index && r == t.gallery) ||
4956              ((r = null), n.fancybox.close())
4957            : "" !== t.gallery && i(t);
4958        }),
4959        setTimeout(function () {
4960          i(o());
4961        }, 50));
4962    });
4963  })(document, window, window.jQuery || jQuery),
4964  (function (t, e) {
4965    "use strict";
4966    var n = new Date().getTime();
4967    e(t).on({
4968      "onInit.fb": function (t, e, o) {
4969        e.$refs.stage.on(
4970          "mousewheel DOMMouseScroll wheel MozMousePixelScroll",
4971          function (t) {
4972            var o = e.current,
4973              i = new Date().getTime();
4974            e.group.length < 1 ||
4975              o.opts.wheel === !1 ||
4976              ("auto" === o.opts.wheel && "image" !== o.type) ||
4977              (t.preventDefault(),
4978              t.stopPropagation(),
4979              o.$slide.hasClass("fancybox-animated") ||
4980                ((t = t.originalEvent || t),
4981                i - n < 250 ||
4982                  ((n = i),
4983                  e[
4984                    (-t.deltaY || -t.deltaX || t.wheelDelta || -t.detail) < 0
4985                      ? "next"
4986                      : "previous"
4987                  ]())));
4988          }
4989        );
4990      },
4991    });
4992  })(document, window.jQuery || jQuery);
4993
4994/*! jQuery Validation Plugin - v1.17.0 - 7/29/2017
4995 * https://jqueryvalidation.org/
4996 * Copyright (c) 2017 Jörn Zaefferer; Licensed MIT */
4997!(function (a) {
4998  "function" == typeof define && define.amd
4999    ? define(["jquery"], a)
5000    : "object" == typeof module && module.exports
5001    ? (module.exports = a(require("jquery")))
5002    : a(jQuery);
5003})(function (a) {
5004  a.extend(a.fn, {
5005    validate: function (b) {
5006      if (!this.length)
5007        return void (
5008          b &&
5009          b.debug &&
5010          window.console &&
5011          console.warn("Nothing selected, can't validate, returning nothing.")
5012        );
5013      var c = a.data(this[0], "validator");
5014      return c
5015        ? c
5016        : (this.attr("novalidate", "novalidate"),
5017          (c = new a.validator(b, this[0])),
5018          a.data(this[0], "validator", c),
5019          c.settings.onsubmit &&
5020            (this.on("click.validate", ":submit", function (b) {
5021              (c.submitButton = b.currentTarget),
5022                a(this).hasClass("cancel") && (c.cancelSubmit = !0),
5023                void 0 !== a(this).attr("formnovalidate") &&
5024                  (c.cancelSubmit = !0);
5025            }),
5026            this.on("submit.validate", function (b) {
5027              function d() {
5028                var d, e;
5029                return (
5030                  c.submitButton &&
5031                    (c.settings.submitHandler || c.formSubmitted) &&
5032                    (d = a("<input type='hidden'/>")
5033                      .attr("name", c.submitButton.name)
5034                      .val(a(c.submitButton).val())
5035                      .appendTo(c.currentForm)),
5036                  !c.settings.submitHandler ||
5037                    ((e = c.settings.submitHandler.call(c, c.currentForm, b)),
5038                    d && d.remove(),
5039                    void 0 !== e && e)
5040                );
5041              }
5042              return (
5043                c.settings.debug && b.preventDefault(),
5044                c.cancelSubmit
5045                  ? ((c.cancelSubmit = !1), d())
5046                  : c.form()
5047                  ? c.pendingRequest
5048                    ? ((c.formSubmitted = !0), !1)
5049                    : d()
5050                  : (c.focusInvalid(), !1)
5051              );
5052            })),
5053          c);
5054    },
5055    valid: function () {
5056      var b, c, d;
5057      return (
5058        a(this[0]).is("form")
5059          ? (b = this.validate().form())
5060          : ((d = []),
5061            (b = !0),
5062            (c = a(this[0].form).validate()),
5063            this.each(function () {
5064              (b = c.element(this) && b), b || (d = d.concat(c.errorList));
5065            }),
5066            (c.errorList = d)),
5067        b
5068      );
5069    },
5070    rules: function (b, c) {
5071      var d,
5072        e,
5073        f,
5074        g,
5075        h,
5076        i,
5077        j = this[0];
5078      if (
5079        null != j &&
5080        (!j.form &&
5081          j.hasAttribute("contenteditable") &&
5082          ((j.form = this.closest("form")[0]), (j.name = this.attr("name"))),
5083        null != j.form)
5084      ) {
5085        if (b)
5086          switch (
5087            ((d = a.data(j.form, "validator").settings),
5088            (e = d.rules),
5089            (f = a.validator.staticRules(j)),
5090            b)
5091          ) {
5092            case "add":
5093              a.extend(f, a.validator.normalizeRule(c)),
5094                delete f.messages,
5095                (e[j.name] = f),
5096                c.messages &&
5097                  (d.messages[j.name] = a.extend(
5098                    d.messages[j.name],
5099                    c.messages
5100                  ));
5101              break;
5102            case "remove":
5103              return c
5104                ? ((i = {}),
5105                  a.each(c.split(/\s/), function (a, b) {
5106                    (i[b] = f[b]), delete f[b];
5107                  }),
5108                  i)
5109                : (delete e[j.name], f);
5110          }
5111        return (
5112          (g = a.validator.normalizeRules(
5113            a.extend(
5114              {},
5115              a.validator.classRules(j),
5116              a.validator.attributeRules(j),
5117              a.validator.dataRules(j),
5118              a.validator.staticRules(j)
5119            ),
5120            j
5121          )),
5122          g.required &&
5123            ((h = g.required),
5124            delete g.required,
5125            (g = a.extend({ required: h }, g))),
5126          g.remote &&
5127            ((h = g.remote), delete g.remote, (g = a.extend(g, { remote: h }))),
5128          g
5129        );
5130      }
5131    },
5132  }),
5133    a.extend(a.expr.pseudos || a.expr[":"], {
5134      blank: function (b) {
5135        return !a.trim("" + a(b).val());
5136      },
5137      filled: function (b) {
5138        var c = a(b).val();
5139        return null !== c && !!a.trim("" + c);
5140      },
5141      unchecked: function (b) {
5142        return !a(b).prop("checked");
5143      },
5144    }),
5145    (a.validator = function (b, c) {
5146      (this.settings = a.extend(!0, {}, a.validator.defaults, b)),
5147        (this.currentForm = c),
5148        this.init();
5149    }),
5150    (a.validator.format = function (b, c) {
5151      return 1 === arguments.length
5152        ? function () {
5153            var c = a.makeArray(arguments);
5154            return c.unshift(b), a.validator.format.apply(this, c);
5155          }
5156        : void 0 === c
5157        ? b
5158        : (arguments.length > 2 &&
5159            c.constructor !== Array &&
5160            (c = a.makeArray(arguments).slice(1)),
5161          c.constructor !== Array && (c = [c]),
5162          a.each(c, function (a, c) {
5163            b = b.replace(new RegExp("\\{" + a + "\\}", "g"), function () {
5164              return c;
5165            });
5166          }),
5167          b);
5168    }),
5169    a.extend(a.validator, {
5170      defaults: {
5171        messages: {},
5172        groups: {},
5173        rules: {},
5174        errorClass: "error",
5175        pendingClass: "pending",
5176        validClass: "valid",
5177        errorElement: "label",
5178        focusCleanup: !1,
5179        focusInvalid: !0,
5180        errorContainer: a([]),
5181        errorLabelContainer: a([]),
5182        onsubmit: !0,
5183        ignore: ":hidden",
5184        ignoreTitle: !1,
5185        onfocusin: function (a) {
5186          (this.lastActive = a),
5187            this.settings.focusCleanup &&
5188              (this.settings.unhighlight &&
5189                this.settings.unhighlight.call(
5190                  this,
5191                  a,
5192                  this.settings.errorClass,
5193                  this.settings.validClass
5194                ),
5195              this.hideThese(this.errorsFor(a)));
5196        },
5197        onfocusout: function (a) {
5198          this.checkable(a) ||
5199            (!(a.name in this.submitted) && this.optional(a)) ||
5200            this.element(a);
5201        },
5202        onkeyup: function (b, c) {
5203          var d = [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225];
5204          (9 === c.which && "" === this.elementValue(b)) ||
5205            a.inArray(c.keyCode, d) !== -1 ||
5206            ((b.name in this.submitted || b.name in this.invalid) &&
5207              this.element(b));
5208        },
5209        onclick: function (a) {
5210          a.name in this.submitted
5211            ? this.element(a)
5212            : a.parentNode.name in this.submitted && this.element(a.parentNode);
5213        },
5214        highlight: function (b, c, d) {
5215          "radio" === b.type
5216            ? this.findByName(b.name).addClass(c).removeClass(d)
5217            : a(b).addClass(c).removeClass(d);
5218        },
5219        unhighlight: function (b, c, d) {
5220          "radio" === b.type
5221            ? this.findByName(b.name).removeClass(c).addClass(d)
5222            : a(b).removeClass(c).addClass(d);
5223        },
5224      },
5225      setDefaults: function (b) {
5226        a.extend(a.validator.defaults, b);
5227      },
5228      messages: {
5229        required: "This field is required.",
5230        remote: "Please fix this field.",
5231        email: "Please enter a valid email address.",
5232        url: "Please enter a valid URL.",
5233        date: "Please enter a valid date.",
5234        dateISO: "Please enter a valid date (ISO).",
5235        number: "Please enter a valid number.",
5236        digits: "Please enter only digits.",
5237        equalTo: "Please enter the same value again.",
5238        maxlength: a.validator.format(
5239          "Please enter no more than {0} characters."
5240        ),
5241        minlength: a.validator.format("Please enter at least {0} characters."),
5242        rangelength: a.validator.format(
5243          "Please enter a value between {0} and {1} characters long."
5244        ),
5245        range: a.validator.format("Please enter a value between {0} and {1}."),
5246        max: a.validator.format(
5247          "Please enter a value less than or equal to {0}."
5248        ),
5249        min: a.validator.format(
5250          "Please enter a value greater than or equal to {0}."
5251        ),
5252        step: a.validator.format("Please enter a multiple of {0}."),
5253      },
5254      autoCreateRanges: !1,
5255      prototype: {
5256        init: function () {
5257          function b(b) {
5258            !this.form &&
5259              this.hasAttribute("contenteditable") &&
5260              ((this.form = a(this).closest("form")[0]),
5261              (this.name = a(this).attr("name")));
5262            var c = a.data(this.form, "validator"),
5263              d = "on" + b.type.replace(/^validate/, ""),
5264              e = c.settings;
5265            e[d] && !a(this).is(e.ignore) && e[d].call(c, this, b);
5266          }
5267          (this.labelContainer = a(this.settings.errorLabelContainer)),
5268            (this.errorContext =
5269              (this.labelContainer.length && this.labelContainer) ||
5270              a(this.currentForm)),
5271            (this.containers = a(this.settings.errorContainer).add(
5272              this.settings.errorLabelContainer
5273            )),
5274            (this.submitted = {}),
5275            (this.valueCache = {}),
5276            (this.pendingRequest = 0),
5277            (this.pending = {}),
5278            (this.invalid = {}),
5279            this.reset();
5280          var c,
5281            d = (this.groups = {});
5282          a.each(this.settings.groups, function (b, c) {
5283            "string" == typeof c && (c = c.split(/\s/)),
5284              a.each(c, function (a, c) {
5285                d[c] = b;
5286              });
5287          }),
5288            (c = this.settings.rules),
5289            a.each(c, function (b, d) {
5290              c[b] = a.validator.normalizeRule(d);
5291            }),
5292            a(this.currentForm)
5293              .on(
5294                "focusin.validate focusout.validate keyup.validate",
5295                ":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",
5296                b
5297              )
5298              .on(
5299                "click.validate",
5300                "select, option, [type='radio'], [type='checkbox']",
5301                b
5302              ),
5303            this.settings.invalidHandler &&
5304              a(this.currentForm).on(
5305                "invalid-form.validate",
5306                this.settings.invalidHandler
5307              );
5308        },
5309        form: function () {
5310          return (
5311            this.checkForm(),
5312            a.extend(this.submitted, this.errorMap),
5313            (this.invalid = a.extend({}, this.errorMap)),
5314            this.valid() ||
5315              a(this.currentForm).triggerHandler("invalid-form", [this]),
5316            this.showErrors(),
5317            this.valid()
5318          );
5319        },
5320        checkForm: function () {
5321          this.prepareForm();
5322          for (
5323            var a = 0, b = (this.currentElements = this.elements());
5324            b[a];
5325            a++
5326          )
5327            this.check(b[a]);
5328          return this.valid();
5329        },
5330        element: function (b) {
5331          var c,
5332            d,
5333            e = this.clean(b),
5334            f = this.validationTargetFor(e),
5335            g = this,
5336            h = !0;
5337          return (
5338            void 0 === f
5339              ? delete this.invalid[e.name]
5340              : (this.prepareElement(f),
5341                (this.currentElements = a(f)),
5342                (d = this.groups[f.name]),
5343                d &&
5344                  a.each(this.groups, function (a, b) {
5345                    b === d &&
5346                      a !== f.name &&
5347                      ((e = g.validationTargetFor(g.clean(g.findByName(a)))),
5348                      e &&
5349                        e.name in g.invalid &&
5350                        (g.currentElements.push(e), (h = g.check(e) && h)));
5351                  }),
5352                (c = this.check(f) !== !1),
5353                (h = h && c),
5354                c ? (this.invalid[f.name] = !1) : (this.invalid[f.name] = !0),
5355                this.numberOfInvalids() ||
5356                  (this.toHide = this.toHide.add(this.containers
5356)),
5357                this.showErrors(),
5358                a(b).attr("aria-invalid", !c)),
5359            h
5360          );
5361        },
5362        showErrors: function (b) {
5363          if (b) {
5364            var c = this;
5365            a.extend(this.errorMap, b),
5366              (this.errorList = a.map(this.errorMap, function (a, b) {
5367                return { message: a, element: c.findByName(b)[0] };
5368              })),
5369              (this.successList = a.grep(this.successList, function (a) {
5370                return !(a.name in b);
5371              }));
5372          }
5373          this.settings.showErrors
5374            ? this.settings.showErrors.call(this, this.errorMap, this.errorList)
5375            : this.defaultShowErrors();
5376        },
5377        resetForm: function () {
5378          a.fn.resetForm && a(this.currentForm).resetForm(),
5379            (this.invalid = {}),
5380            (this.submitted = {}),
5381            this.prepareForm(),
5382            this.hideErrors();
5383          var b = this.elements()
5384            .removeData("previousValue")
5385            .removeAttr("aria-invalid");
5386          this.resetElements(b);
5387        },
5388        resetElements: function (a) {
5389          var b;
5390          if (this.settings.unhighlight)
5391            for (b = 0; a[b]; b++)
5392              this.settings.unhighlight.call(
5393                this,
5394                a[b],
5395                this.settings.errorClass,
5396                ""
5397              ),
5398                this.findByName(a[b].name).removeClass(
5399                  this.settings.validClass
5400                );
5401          else
5402            a.removeClass(this.settings.errorClass).removeClass(
5403              this.settings.validClass
5404            );
5405        },
5406        numberOfInvalids: function () {
5407          return this.objectLength(this.invalid);
5408        },
5409        objectLength: function (a) {
5410          var b,
5411            c = 0;
5412          for (b in a) void 0 !== a[b] && null !== a[b] && a[b] !== !1 && c++;
5413          return c;
5414        },
5415        hideErrors: function () {
5416          this.hideThese(this.toHide);
5417        },
5418        hideThese: function (a) {
5419          a.not(this.containers).text(""), this.addWrapper(a).hide();
5420        },
5421        valid: function () {
5422          return 0 === this.size();
5423        },
5424        size: function () {
5425          return this.errorList.length;
5426        },
5427        focusInvalid: function () {
5428          if (this.settings.focusInvalid)
5429            try {
5430              a(
5431                this.findLastActive() ||
5432                  (this.errorList.length && this.errorList[0].element) ||
5433                  []
5434              )
5435                .filter(":visible")
5436                .focus()
5437                .trigger("focusin");
5438            } catch (b) {}
5439        },
5440        findLastActive: function () {
5441          var b = this.lastActive;
5442          return (
5443            b &&
5444            1 ===
5445              a.grep(this.errorList, function (a) {
5446                return a.element.name === b.name;
5447              }).length &&
5448            b
5449          );
5450        },
5451        elements: function () {
5452          var b = this,
5453            c = {};
5454          return a(this.currentForm)
5455            .find("input, select, textarea, [contenteditable]")
5456            .not(":submit, :reset, :image, :disabled")
5457            .not(this.settings.ignore)
5458            .filter(function () {
5459              var d = this.name || a(this).attr("name");
5460              return (
5461                !d &&
5462                  b.settings.debug &&
5463                  window.console &&
5464                  console.error("%o has no name assigned", this),
5465                this.hasAttribute("contenteditable") &&
5466                  ((this.form = a(this).closest("form")[0]), (this.name = d)),
5467                !(d in c || !b.objectLength(a(this).rules())) &&
5468                  ((c[d] = !0), !0)
5469              );
5470            });
5471        },
5472        clean: function (b) {
5473          return a(b)[0];
5474        },
5475        errors: function () {
5476          var b = this.settings.errorClass.split(" ").join(".");
5477          return a(this.settings.errorElement + "." + b, this.errorContext);
5478        },
5479        resetInternals: function () {
5480          (this.successList = []),
5481            (this.errorList = []),
5482            (this.errorMap = {}),
5483            (this.toShow = a([])),
5484            (this.toHide = a([]));
5485        },
5486        reset: function () {
5487          this.resetInternals(), (this.currentElements = a([]));
5488        },
5489        prepareForm: function () {
5490          this.reset(), (this.toHide = this.errors().add(this.containers
5490));
5491        },
5492        prepareElement: function (a) {
5493          this.reset(), (this.toHide = this.errorsFor(a));
5494        },
5495        elementValue: function (b) {
5496          var c,
5497            d,
5498            e = a(b),
5499            f = b.type;
5500          return "radio" === f || "checkbox" === f
5501            ? this.findByName(b.name).filter(":checked").val()
5502            : "number" === f && "undefined" != typeof b.validity
5503            ? b.validity.badInput
5504              ? "NaN"
5505              : e.val()
5506            : ((c = b.hasAttribute("contenteditable") ? e.text() : e.val()),
5507              "file" === f
5508                ? "C:\\fakepath\\" === c.substr(0, 12)
5509                  ? c.substr(12)
5510                  : ((d = c.lastIndexOf("/")),
5511                    d >= 0
5512                      ? c.substr(d + 1)
5513                      : ((d = c.lastIndexOf("\\")),
5514                        d >= 0 ? c.substr(d + 1) : c))
5515                : "string" == typeof c
5516                ? c.replace(/\r/g, "")
5517                : c);
5518        },
5519        check: function (b) {
5520          b = this.validationTargetFor(this.clean(b));
5521          var c,
5522            d,
5523            e,
5524            f,
5525            g = a(b).rules(),
5526            h = a.map(g, function (a, b) {
5527              return b;
5528            }).length,
5529            i = !1,
5530            j = this.elementValue(b);
5531          if (
5532            ("function" == typeof g.normalizer
5533              ? (f = g.normalizer)
5534              : "function" == typeof this.settings.normalizer &&
5535                (f = this.settings.normalizer),
5536            f)
5537          ) {
5538            if (((j = f.call(b, j)), "string" != typeof j))
5539              throw new TypeError(
5540                "The normalizer should return a string value."
5541              );
5542            delete g.normalizer;
5543          }
5544          for (d in g) {
5545            e = { method: d, parameters: g[d] };
5546            try {
5547              if (
5548                ((c = a.validator.methods[d].call(this, j, b, e.parameters)),
5549                "dependency-mismatch" === c && 1 === h)
5550              ) {
5551                i = !0;
5552                continue;
5553              }
5554              if (((i = !1), "pending" === c))
5555                return void (this.toHide = this.toHide.not(this.errorsFor(b)));
5556              if (!c) return this.formatAndAdd(b, e), !1;
5557            } catch (k) {
5558              throw (
5559                (this.settings.debug &&
5560                  window.console &&
5561                  console.log(
5562                    "Exception occurred when checking element " +
5563                      b.id +
5564                      ", check the '" +
5565                      e.method +
5566                      "' method.",
5567                    k
5568                  ),
5569                k instanceof TypeError &&
5570                  (k.message +=
5571                    ".  Exception occurred when checking element " +
5572                    b.id +
5573                    ", check the '" +
5574                    e.method +
5575                    "' method."),
5576                k)
5577              );
5578            }
5579          }
5580          if (!i) return this.objectLength(g) && this.successList.push(b), !0;
5581        },
5582        customDataMessage: function (b, c) {
5583          return (
5584            a(b).data(
5585              "msg" + c.charAt(0).toUpperCase() + c.substring(1).toLowerCase()
5586            ) || a(b).data("msg")
5587          );
5588        },
5589        customMessage: function (a, b) {
5590          var c = this.settings.messages[a];
5591          return c && (c.constructor === String ? c : c[b]);
5592        },
5593        findDefined: function () {
5594          for (var a = 0; a < arguments.length; a++)
5595            if (void 0 !== arguments[a]) return arguments[a];
5596        },
5597        defaultMessage: function (b, c) {
5598          "string" == typeof c && (c = { method: c });
5599          var d = this.findDefined(
5600              this.customMessage(b.name, c.method),
5601              this.customDataMessage(b, c.method),
5602              (!this.settings.ignoreTitle && b.title) || void 0,
5603              a.validator.messages[c.method],
5604              "<strong>Warning: No message defined for " + b.name + "</strong>"
5605            ),
5606            e = /\$?\{(\d+)\}/g;
5607          return (
5608            "function" == typeof d
5609              ? (d = d.call(this, c.parameters, b))
5610              : e.test(d) &&
5611                (d = a.validator.format(d.replace(e, "{$1}"), c.parameters)),
5612            d
5613          );
5614        },
5615        formatAndAdd: function (a, b) {
5616          var c = this.defaultMessage(a, b);
5617          this.errorList.push({ message: c, element: a, method: b.method }),
5618            (this.errorMap[a.name] = c),
5619            (this.submitted[a.name] = c);
5620        },
5621        addWrapper: function (a) {
5622          return (
5623            this.settings.wrapper &&
5624              (a = a.add(a.parent(this.settings.wrapper))),
5625            a
5626          );
5627        },
5628        defaultShowErrors: function () {
5629          var a, b, c;
5630          for (a = 0; this.errorList[a]; a++)
5631            (c = this.errorList[a]),
5632              this.settings.highlight &&
5633                this.settings.highlight.call(
5634                  this,
5635                  c.element,
5636                  this.settings.errorClass,
5637                  this.settings.validClass
5638                ),
5639              this.showLabel(c.element, c.message);
5640          if (
5641            (this.errorList.length &&
5642              (this.toShow = this.toShow.add(this.containers)),
5643            this.settings.success)
5644          )
5645            for (a = 0; this.successList[a]; a++)
5646              this.showLabel(this.successList[a]);
5647          if (this.settings.unhighlight)
5648            for (a = 0, b = this.validElements(); b[a]; a++)
5649              this.settings.unhighlight.call(
5650                this,
5651                b[a],
5652                this.settings.errorClass,
5653                this.settings.validClass
5654              );
5655          (this.toHide = this.toHide.not(this.toShow)),
5656            this.hideErrors(),
5657            this.addWrapper(this.toShow).show();
5658        },
5659        validElements: function () {
5660          return this.currentElements.not(this.invalidElements());
5661        },
5662        invalidElements: function () {
5663          return a(this.errorList).map(function () {
5664            return this.element;
5665          });
5666        },
5667        showLabel: function (b, c) {
5668          var d,
5669            e,
5670            f,
5671            g,
5672            h = this.errorsFor(b),
5673            i = this.idOrName(b),
5674            j = a(b).attr("aria-describedby");
5675          h.length
5676            ? (h
5677                .removeClass(this.settings.validClass)
5678                .addClass(this.settings.errorClass),
5679              h.html(c))
5680            : ((h = a("<" + this.settings.errorElement + ">")
5681                .attr("id", i + "-error")
5682                .addClass(this.settings.errorClass)
5683                .html(c || "")),
5684              (d = h),
5685              this.settings.wrapper &&
5686                (d = h
5687                  .hide()
5688                  .show()
5689                  .wrap("<" + this.settings.wrapper + "/>")
5690                  .parent()),
5691              this.labelContainer.length
5692                ? this.labelContainer.append(d)
5693                : this.settings.errorPlacement
5694                ? this.settings.errorPlacement.call(this, d, a(b))
5695                : d.insertAfter(b),
5696              h.is("label")
5697                ? h.attr("for", i)
5698                : 0 ===
5699                    h.parents("label[for='" + this.escapeCssMeta(i) + "']")
5700                      .length &&
5701                  ((f = h.attr("id")),
5702                  j
5703                    ? j.match(
5704                        new RegExp("\\b" + this.escapeCssMeta(f) + "\\b")
5705                      ) || (j += " " + f)
5706                    : (j = f),
5707                  a(b).attr("aria-describedby", j),
5708                  (e = this.groups[b.name]),
5709                  e &&
5710                    ((g = this),
5711                    a.each(g.groups, function (b, c) {
5712                      c === e &&
5713                        a(
5714                          "[name='" + g.escapeCssMeta(b) + "']",
5715                          g.currentForm
5716                        ).attr("aria-describedby", h.attr("id"));
5717                    })))),
5718            !c &&
5719              this.settings.success &&
5720              (h.text(""),
5721              "string" == typeof this.settings.success
5722                ? h.addClass(this.settings.success)
5723                : this.settings.success(h, b)),
5724            (this.toShow = this.toShow.add(h));
5725        },
5726        errorsFor: function (b) {
5727          var c = this.escapeCssMeta(this.idOrName(b)),
5728            d = a(b).attr("aria-describedby"),
5729            e = "label[for='" + c + "'], label[for='" + c + "'] *";
5730          return (
5731            d && (e = e + ", #" + this.escapeCssMeta(d).replace(/\s+/g, ", #")),
5732            this.errors().filter(e)
5733          );
5734        },
5735        escapeCssMeta: function (a) {
5736          return a.replace(/([\\!"#$%&'()*+,.\/:;<=>?@\[\]^`{|}~])/g, "\\$1");
5737        },
5738        idOrName: function (a) {
5739          return (
5740            this.groups[a.name] || (this.checkable(a) ? a.name : a.id || a.name)
5741          );
5742        },
5743        validationTargetFor: function (b) {
5744          return (
5745            this.checkable(b) && (b = this.findByName(b.name)),
5746            a(b).not(this.settings.ignore)[0]
5747          );
5748        },
5749        checkable: function (a) {
5750          return /radio|checkbox/i.test(a.type);
5751        },
5752        findByName: function (b) {
5753          return a(this.currentForm).find(
5754            "[name='" + this.escapeCssMeta(b) + "']"
5755          );
5756        },
5757        getLength: function (b, c) {
5758          switch (c.nodeName.toLowerCase()) {
5759            case "select":
5760              return a("option:selected", c).length;
5761            case "input":
5762              if (this.checkable(c))
5763                return this.findByName(c.name).filter(":checked").length;
5764          }
5765          return b.length;
5766        },
5767        depend: function (a, b) {
5768          return (
5769            !this.dependTypes[typeof a] || this.dependTypes[typeof a](a, b)
5770          );
5771        },
5772        dependTypes: {
5773          boolean: function (a) {
5774            return a;
5775          },
5776          string: function (b, c) {
5777            return !!a(b, c.form).length;
5778          },
5779          function: function (a, b) {
5780            return a(b);
5781          },
5782        },
5783        optional: function (b) {
5784          var c = this.elementValue(b);
5785          return (
5786            !a.validator.methods.required.call(this, c, b) &&
5787            "dependency-mismatch"
5788          );
5789        },
5790        startRequest: function (b) {
5791          this.pending[b.name] ||
5792            (this.pendingRequest++,
5793            a(b).addClass(this.settings.pendingClass),
5794            (this.pending[b.name] = !0));
5795        },
5796        stopRequest: function (b, c) {
5797          this.pendingRequest--,
5798            this.pendingRequest < 0 && (this.pendingRequest = 0),
5799            delete this.pending[b.name],
5800            a(b).removeClass(this.settings.pendingClass),
5801            c && 0 === this.pendingRequest && this.formSubmitted && this.form()
5802              ? (a(this.currentForm).submit(),
5803                this.submitButton &&
5804                  a(
5805                    "input:hidden[name='" + this.submitButton.name + "']",
5806                    this.currentForm
5807                  ).remove(),
5808                (this.formSubmitted = !1))
5809              : !c &&
5810                0 === this.pendingRequest &&
5811                this.formSubmitted &&
5812                (a(this.currentForm).triggerHandler("invalid-form", [this]),
5813                (this.formSubmitted = !1));
5814        },
5815        previousValue: function (b, c) {
5816          return (
5817            (c = ("string" == typeof c && c) || "remote"),
5818            a.data(b, "previousValue") ||
5819              a.data(b, "previousValue", {
5820                old: null,
5821                valid: !0,
5822                message: this.defaultMessage(b, { method: c }),
5823              })
5824          );
5825        },
5826        destroy: function () {
5827          this.resetForm(),
5828            a(this.currentForm)
5829              .off(".validate")
5830              .removeData("validator")
5831              .find(".validate-equalTo-blur")
5832              .off(".validate-equalTo")
5833              .removeClass("validate-equalTo-blur");
5834        },
5835      },
5836      classRuleSettings: {
5837        required: { required: !0 },
5838        email: { email: !0 },
5839        url: { url: !0 },
5840        date: { date: !0 },
5841        dateISO: { dateISO: !0 },
5842        number: { number: !0 },
5843        digits: { digits: !0 },
5844        creditcard: { creditcard: !0 },
5845      },
5846      addClassRules: function (b, c) {
5847        b.constructor === String
5848          ? (this.classRuleSettings[b] = c)
5849          : a.extend(this.classRuleSettings, b);
5850      },
5851      classRules: function (b) {
5852        var c = {},
5853          d = a(b).attr("class");
5854        return (
5855          d &&
5856            a.each(d.split(" "), function () {
5857              this in a.validator.classRuleSettings &&
5858                a.extend(c, a.validator.classRuleSettings[this]);
5859            }),
5860          c
5861        );
5862      },
5863      normalizeAttributeRule: function (a, b, c, d) {
5864        /min|max|step/.test(c) &&
5865          (null === b || /number|range|text/.test(b)) &&
5866          ((d = Number(d)), isNaN(d) && (d = void 0)),
5867          d || 0 === d ? (a[c] = d) : b === c && "range" !== b && (a[c] = !0);
5868      },
5869      attributeRules: function (b) {
5870        var c,
5871          d,
5872          e = {},
5873          f = a(b),
5874          g = b.getAttribute("type");
5875        for (c in a.validator.methods)
5876          "required" === c
5877            ? ((d = b.getAttribute(c)), "" === d && (d = !0), (d = !!d))
5878            : (d = f.attr(c)),
5879            this.normalizeAttributeRule(e, g, c, d);
5880        return (
5881          e.maxlength &&
5882            /-1|2147483647|524288/.test(e.maxlength) &&
5883            delete e.maxlength,
5884          e
5885        );
5886      },
5887      dataRules: function (b) {
5888        var c,
5889          d,
5890          e = {},
5891          f = a(b),
5892          g = b.getAttribute("type");
5893        for (c in a.validator.methods)
5894          (d = f.data(
5895            "rule" + c.charAt(0).toUpperCase() + c.substring(1).toLowerCase()
5896          )),
5897            this.normalizeAttributeRule(e, g, c, d);
5898        return e;
5899      },
5900      staticRules: function (b) {
5901        var c = {},
5902          d = a.data(b.form, "validator");
5903        return (
5904          d.settings.rules &&
5905            (c = a.validator.normalizeRule(d.settings.rules[b.name]) || {}),
5906          c
5907        );
5908      },
5909      normalizeRules: function (b, c) {
5910        return (
5911          a.each(b, function (d, e) {
5912            if (e === !1) return void delete b[d];
5913            if (e.param || e.depends) {
5914              var f = !0;
5915              switch (typeof e.depends) {
5916                case "string":
5917                  f = !!a(e.depends, c.form).length;
5918                  break;
5919                case "function":
5920                  f = e.depends.call(c, c);
5921              }
5922              f
5923                ? (b[d] = void 0 === e.param || e.param)
5924                : (a.data(c.form, "validator").resetElements(a(c)),
5925                  delete b[d]);
5926            }
5927          }),
5928          a.each(b, function (d, e) {
5929            b[d] = a.isFunction(e) && "normalizer" !== d ? e(c) : e;
5930          }),
5931          a.each(["minlength", "maxlength"], function () {
5932            b[this] && (b[this] = Number(b[this]));
5933          }),
5934          a.each(["rangelength", "range"], function () {
5935            var c;
5936            b[this] &&
5937              (a.isArray(b[this])
5938                ? (b[this] = [Number(b[this][0]), Number(b[this][1])])
5939                : "string" == typeof b[this] &&
5940                  ((c = b[this].replace(/[\[\]]/g, "").split(/[\s,]+/)),
5941                  (b[this] = [Number(c[0]), Number(c[1])])));
5942          }),
5943          a.validator.autoCreateRanges &&
5944            (null != b.min &&
5945              null != b.max &&
5946              ((b.range = [b.min, b.max]), delete b.min, delete b.max),
5947            null != b.minlength &&
5948              null != b.maxlength &&
5949              ((b.rangelength = [b.minlength, b.maxlength]),
5950              delete b.minlength,
5951              delete b.maxlength)),
5952          b
5953        );
5954      },
5955      normalizeRule: function (b) {
5956        if ("string" == typeof b) {
5957          var c = {};
5958          a.each(b.split(/\s/), function () {
5959            c[this] = !0;
5960          }),
5961            (b = c);
5962        }
5963        return b;
5964      },
5965      addMethod: function (b, c, d) {
5966        (a.validator.methods[b] = c),
5967          (a.validator.messages[b] =
5968            void 0 !== d ? d : a.validator.messages[b]),
5969          c.length < 3 &&
5970            a.validator.addClassRules(b, a.validator.normalizeRule(b));
5971      },
5972      methods: {
5973        required: function (b, c, d) {
5974          if (!this.depend(d, c)) return "dependency-mismatch";
5975          if ("select" === c.nodeName.toLowerCase()) {
5976            var e = a(c).val();
5977            return e && e.length > 0;
5978          }
5979          return this.checkable(c) ? this.getLength(b, c) > 0 : b.length > 0;
5980        },
5981        email: function (a, b) {
5982          return (
5983            this.optional(b) ||
5984            /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(
5985              a
5986            )
5987          );
5988        },
5989        url: function (a, b) {
5990          return (
5991            this.optional(b) ||
5992            /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test(
5993              a
5994            )
5995          );
5996        },
5997        date: function (a, b) {
5998          return (
5999            this.optional(b) || !/Invalid|NaN/.test(new Date(a).toString())
6000          );
6001        },
6002        dateISO: function (a, b) {
6003          return (
6004            this.optional(b) ||
6005            /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(
6006              a
6007            )
6008          );
6009        },
6010        number: function (a, b) {
6011          return (
6012            this.optional(b) ||
6013            /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)
6014          );
6015        },
6016        digits: function (a, b) {
6017          return this.optional(b) || /^\d+$/.test(a);
6018        },
6019        minlength: function (b, c, d) {
6020          var e = a.isArray(b) ? b.length : this.getLength(b, c);
6021          return this.optional(c) || e >= d;
6022        },
6023        maxlength: function (b, c, d) {
6024          var e = a.isArray(b) ? b.length : this.getLength(b, c);
6025          return this.optional(c) || e <= d;
6026        },
6027        rangelength: function (b, c, d) {
6028          var e = a.isArray(b) ? b.length : this.getLength(b, c);
6029          return this.optional(c) || (e >= d[0] && e <= d[1]);
6030        },
6031        min: function (a, b, c) {
6032          return this.optional(b) || a >= c;
6033        },
6034        max: function (a, b, c) {
6035          return this.optional(b) || a <= c;
6036        },
6037        range: function (a, b, c) {
6038          return this.optional(b) || (a >= c[0] && a <= c[1]);
6039        },
6040        step: function (b, c, d) {
6041          var e,
6042            f = a(c).attr("type"),
6043            g = "Step attribute on input type " + f + " is not supported.",
6044            h = ["text", "number", "range"],
6045            i = new RegExp("\\b" + f + "\\b"),
6046            j = f && !i.test(h.join()),
6047            k = function (a) {
6048              var b = ("" + a).match(/(?:\.(\d+))?$/);
6049              return b && b[1] ? b[1].length : 0;
6050            },
6051            l = function (a) {
6052              return Math.round(a * Math.pow(10, e));
6053            },
6054            m = !0;
6055          if (j) throw new Error(g);
6056          return (
6057            (e = k(d)),
6058            (k(b) > e || l(b) % l(d) !== 0) && (m = !1),
6059            this.optional(c) || m
6060          );
6061        },
6062        equalTo: function (b, c, d) {
6063          var e = a(d);
6064          return (
6065            this.settings.onfocusout &&
6066              e.not(".validate-equalTo-blur").length &&
6067              e
6068                .addClass("validate-equalTo-blur")
6069                .on("blur.validate-equalTo", function () {
6070                  a(c).valid();
6071                }),
6072            b === e.val()
6073          );
6074        },
6075        remote: function (b, c, d, e) {
6076          if (this.optional(c)) return "dependency-mismatch";
6077          e = ("string" == typeof e && e) || "remote";
6078          var f,
6079            g,
6080            h,
6081            i = this.previousValue(c, e);
6082          return (
6083            this.settings.messages[c.name] ||
6084              (this.settings.messages[c.name] = {}),
6085            (i.originalMessage =
6086              i.originalMessage || this.settings.messages[c.name][e]),
6087            (this.settings.messages[c.name][e] = i.message),
6088            (d = ("string" == typeof d && { url: d }) || d),
6089            (h = a.param(a.extend({ data: b }, d.data))),
6090            i.old === h
6091              ? i.valid
6092              : ((i.old = h),
6093                (f = this),
6094                this.startRequest(c),
6095                (g = {}),
6096                (g[c.name] = b),
6097                a.ajax(
6098                  a.extend(
6099                    !0,
6100                    {
6101                      mode: "abort",
6102                      port: "validate" + c.name,
6103                      dataType: "json",
6104                      data: g,
6105                      context: f.currentForm,
6106                      success: function (a) {
6107                        var d,
6108                          g,
6109                          h,
6110                          j = a === !0 || "true" === a;
6111                        (f.settings.messages[c.name][e] = i.originalMessage),
6112                          j
6113                            ? ((h = f.formSubmitted),
6114                              f.resetInternals(),
6115                              (f.toHide = f.errorsFor(c)),
6116                              (f.formSubmitted = h),
6117                              f.successList.push(c),
6118                              (f.invalid[c.name] = !1),
6119                              f.showErrors())
6120                            : ((d = {}),
6121                              (g =
6122                                a ||
6123                                f.defaultMessage(c, {
6124                                  method: e,
6125                                  parameters: b,
6126                                })),
6127                              (d[c.name] = i.message = g),
6128                              (f.invalid[c.name] = !0),
6129                              f.showErrors(d)),
6130                          (i.valid = j),
6131                          f.stopRequest(c, j);
6132                      },
6133                    },
6134                    d
6135                  )
6136                ),
6137                "pending")
6138          );
6139        },
6140      },
6141    });
6142  var b,
6143    c = {};
6144  return (
6145    a.ajaxPrefilter
6146      ? a.ajaxPrefilter(function (a, b, d) {
6147          var e = a.port;
6148          "abort" === a.mode && (c[e] && c[e].abort(), (c[e] = d));
6149        })
6150      : ((b = a.ajax),
6151        (a.ajax = function (d) {
6152          var e = ("mode" in d ? d : a.ajaxSettings).mode,
6153            f = ("port" in d ? d : a.ajaxSettings).port;
6154          return "abort" === e
6155            ? (c[f] && c[f].abort(), (c[f] = b.apply(this, arguments)), c[f])
6156            : b.apply(this, arguments);
6157        })),
6158    a
6159  );
6160});
6161
6162/*! VelocityJS.org (1.5.0). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */
6163/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */
6164!(function (a) {
6165  "use strict";
6166  function b(a) {
6167    var b = a.length,
6168      d = c.type(a);
6169    return (
6170      "function" !== d &&
6171      !c.isWindow(a) &&
6172      (!(1 !== a.nodeType || !b) ||
6173        "array" === d ||
6174        0 === b ||
6175        ("number" == typeof b && b > 0 && b - 1 in a))
6176    );
6177  }
6178  if (!a.jQuery) {
6179    var c = function (a, b) {
6180      return new c.fn.init(a, b);
6181    };
6182    (c.isWindow = function (a) {
6183      return a && a === a.window;
6184    }),
6185      (c.type = function (a) {
6186        return a
6187          ? "object" == typeof a || "function" == typeof a
6188            ? e[g.call(a)] || "object"
6189            : typeof a
6190          : a + "";
6191      }),
6192      (c.isArray =
6193        Array.isArray ||
6194        function (a) {
6195          return "array" === c.type(a);
6196        }),
6197      (c.isPlainObject = function (a) {
6198        var b;
6199        if (!a || "object" !== c.type(a) || a.nodeType || c.isWindow(a))
6200          return !1;
6201        try {
6202          if (
6203            a.constructor &&
6204            !f.call(a, "constructor") &&
6205            !f.call(a.constructor.prototype, "isPrototypeOf")
6206          )
6207            return !1;
6208        } catch (d) {
6209          return !1;
6210        }
6211        for (b in a);
6212        return b === undefined || f.call(a, b);
6213      }),
6214      (c.each = function (a, c, d) {
6215        var e = 0,
6216          f = a.length,
6217          g = b(a);
6218        if (d) {
6219          if (g) for (; e < f && c.apply(a[e], d) !== !1; e++);
6220          else
6221            for (e in a)
6222              if (a.hasOwnProperty(e) && c.apply(a[e], d) === !1) break;
6223        } else if (g) for (; e < f && c.call(a[e], e, a[e]) !== !1; e++);
6224        else
6225          for (e in a)
6226            if (a.hasOwnProperty(e) && c.call(a[e], e, a[e]) === !1) break;
6227        return a;
6228      }),
6229      (c.data = function (a, b, e) {
6230        if (e === undefined) {
6231          var f = a[c.expando],
6232            g = f && d[f];
6233          if (b === undefined) return g;
6234          if (g && b in g) return g[b];
6235        } else if (b !== undefined) {
6236          var h = a[c.expando] || (a[c.expando] = ++c.uuid);
6237          return (d[h] = d[h] || {}), (d[h][b] = e), e;
6238        }
6239      }),
6240      (c.removeData = function (a, b) {
6241        var e = a[c.expando],
6242          f = e && d[e];
6243        f &&
6244          (b
6245            ? c.each(b, function (a, b) {
6246                delete f[b];
6247              })
6248            : delete d[e]);
6249      }),
6250      (c.extend = function () {
6251        var a,
6252          b,
6253          d,
6254          e,
6255          f,
6256          g,
6257          h = arguments[0] || {},
6258          i = 1,
6259          j = arguments.length,
6260          k = !1;
6261        for (
6262          "boolean" == typeof h && ((k = h), (h = arguments[i] || {}), i++),
6263            "object" != typeof h && "function" !== c.type(h) && (h = {}),
6264            i === j && ((h = this), i--);
6265          i < j;
6266          i++
6267        )
6268          if ((f = arguments[i]))
6269            for (e in f)
6270              f.hasOwnProperty(e) &&
6271                ((a = h[e]),
6272                (d = f[e]),
6273                h !== d &&
6274                  (k && d && (c.isPlainObject(d) || (b = c.isArray(d)))
6275                    ? (b
6276                        ? ((b = !1), (g = a && c.isArray(a) ? a : []))
6277                        : (g = a && c.isPlainObject(a) ? a : {}),
6278                      (h[e] = c.extend(k, g, d)))
6279                    : d !== undefined && (h[e] = d)));
6280        return h;
6281      }),
6282      (c.queue = function (a, d, e) {
6283        if (a) {
6284          d = (d || "fx") + "queue";
6285          var f = c.data(a, d);
6286          return e
6287            ? (!f || c.isArray(e)
6288                ? (f = c.data(
6289                    a,
6290                    d,
6291                    (function (a, c) {
6292                      var d = c || [];
6293                      return (
6294                        a &&
6295                          (b(Object(a))
6296                            ? (function (a, b) {
6297                                for (
6298                                  var c = +b.length, d = 0, e = a.length;
6299                                  d < c;
6300
6301                                )
6302                                  a[e++] = b[d++];
6303                                if (c !== c)
6304                                  for (; b[d] !== undefined; ) a[e++] = b[d++];
6305                                (a.length = e), a;
6306                              })(d, "string" == typeof a ? [a] : a)
6307                            : [].push.call(d, a)),
6308                        d
6309                      );
6310                    })(e)
6311                  ))
6312                : f.push(e),
6313              f)
6314            : f || [];
6315        }
6316      }),
6317      (c.dequeue = function (a, b) {
6318        c.each(a.nodeType ? [a] : a, function (a, d) {
6319          b = b || "fx";
6320          var e = c.queue(d, b),
6321            f = e.shift();
6322          "inprogress" === f && (f = e.shift()),
6323            f &&
6324              ("fx" === b && e.unshift("inprogress"),
6325              f.call(d, function () {
6326                c.dequeue(d, b);
6327              }));
6328        });
6329      }),
6330      (c.fn = c.prototype =
6331        {
6332          init: function (a) {
6333            if (a.nodeType) return (this[0] = a), this;
6334            throw new Error("Not a DOM node.");
6335          },
6336          offset: function () {
6337            var b = this[0].getBoundingClientRect
6338              ? this[0].getBoundingClientRect()
6339              : { top: 0, left: 0 };
6340            return {
6341              top:
6342                b.top +
6343                (a.pageYOffset || document.scrollTop || 0) -
6344                (document.clientTop || 0),
6345              left:
6346                b.left +
6347                (a.pageXOffset || document.scrollLeft || 0) -
6348                (document.clientLeft || 0),
6349            };
6350          },
6351          position: function () {
6352            var a = this[0],
6353              b = (function (a) {
6354                for (
6355                  var b = a.offsetParent;
6356                  b &&
6357                  "html" !== b.nodeName.toLowerCase() &&
6358                  b.style &&
6359                  "static" === b.style.position;
6360
6361                )
6362                  b = b.offsetParent;
6363                return b || document;
6364              })(a),
6365              d = this.offset(),
6366              e = /^(?:body|html)$/i.test(b.nodeName)
6367                ? { top: 0, left: 0 }
6368                : c(b).offset();
6369            return (
6370              (d.top -= parseFloat(a.style.marginTop) || 0),
6371              (d.left -= parseFloat(a.style.marginLeft) || 0),
6372              b.style &&
6373                ((e.top += parseFloat(b.style.borderTopWidth) || 0),
6374                (e.left += parseFloat(b.style.borderLeftWidth) || 0)),
6375              { top: d.top - e.top, left: d.left - e.left }
6376            );
6377          },
6378        });
6379    var d = {};
6380    (c.expando = "velocity" + new Date().getTime()), (c.uuid = 0);
6381    for (
6382      var e = {},
6383        f = e.hasOwnProperty,
6384        g = e.toString,
6385        h =
6386          "Boolean Number String Function Array Date RegExp Object Error".split(
6387            " "
6388          ),
6389        i = 0;
6390      i < h.length;
6391      i++
6392    )
6393      e["[object " + h[i] + "]"] = h[i].toLowerCase();
6394    (c.fn.init.prototype = c.fn), (a.Velocity = { Utilities: c });
6395  }
6396})(window),
6397  (function (a) {
6398    "use strict";
6399    "object" == typeof module && "object" == typeof module.exports
6400      ? (module.exports = a())
6401      : "function" == typeof define && define.amd
6402      ? define(a)
6403      : a();
6404  })(function () {
6405    "use strict";
6406    return (function (a, b, c, d) {
6407      function e(a) {
6408        for (var b = -1, c = a ? a.length : 0, d = []; ++b < c; ) {
6409          var e = a[b];
6410          e && d.push(e);
6411        }
6412        return d;
6413      }
6414      function f(a) {
6415        return u.isWrapped(a) ? (a = s.call(a)) : u.isNode(a) && (a = [a]), a;
6416      }
6417      function g(a) {
6418        var b = o.data(a, "velocity");
6419        return null === b ? d : b;
6420      }
6421      function h(a, b) {
6422        var c = g(a);
6423        c &&
6424          c.delayTimer &&
6425          !c.delayPaused &&
6426          ((c.delayRemaining = c.delay - b + c.delayBegin),
6427          (c.delayPaused = !0),
6428          clearTimeout(c.delayTimer.setTimeout));
6429      }
6430      function i(a, b) {
6431        var c = g(a);
6432        c &&
6433          c.delayTimer &&
6434          c.delayPaused &&
6435          ((c.delayPaused = !1),
6436          (c.delayTimer.setTimeout = setTimeout(
6437            c.delayTimer.next,
6438            c.delayRemaining
6439          )));
6440      }
6441      function j(a) {
6442        return function (b) {
6443          return Math.round(b * a) * (1 / a);
6444        };
6445      }
6446      function k(a, c, d, e) {
6447        function f(a, b) {
6448          return 1 - 3 * b + 3 * a;
6449        }
6450        function g(a, b) {
6451          return 3 * b - 6 * a;
6452        }
6453        function h(a) {
6454          return 3 * a;
6455        }
6456        function i(a, b, c) {
6457          return ((f(b, c) * a + g(b, c)) * a + h(b)) * a;
6458        }
6459        function j(a, b, c) {
6460          return 3 * f(b, c) * a * a + 2 * g(b, c) * a + h(b);
6461        }
6462        function k(b, c) {
6463          for (var e = 0; e < p; ++e) {
6464            var f = j(c, a, d);
6465            if (0 === f) return c;
6466            c -= (i(c, a, d) - b) / f;
6467          }
6468          return c;
6469        }
6470        function l() {
6471          for (var b = 0; b < t; ++b) x[b] = i(b * u, a, d);
6472        }
6473        function m(b, c, e) {
6474          var f,
6475            g,
6476            h = 0;
6477          do {
6478            (g = c + (e - c) / 2),
6479              (f = i(g, a, d) - b),
6480              f > 0 ? (e = g) : (c = g);
6481          } while (Math.abs(f) > r && ++h < s);
6482          return g;
6483        }
6484        function n(b) {
6485          for (var c = 0, e = 1, f = t - 1; e !== f && x[e] <= b; ++e) c += u;
6486          --e;
6487          var g = (b - x[e]) / (x[e + 1] - x[e]),
6488            h = c + g * u,
6489            i = j(h, a, d);
6490          return i >= q ? k(b, h) : 0 === i ? h : m(b, c, c + u);
6491        }
6492        function o() {
6493          (y = !0), (a === c && d === e) || l();
6494        }
6495        var p = 4,
6496          q = 0.001,
6497          r = 1e-7,
6498          s = 10,
6499          t = 11,
6500          u = 1 / (t - 1),
6501          v = "Float32Array" in b;
6502        if (4 !== arguments.length) return !1;
6503        for (var w = 0; w < 4; ++w)
6504          if (
6505            "number" != typeof arguments[w] ||
6506            isNaN(arguments[w]) ||
6507            !isFinite(arguments[w])
6508          )
6509            return !1;
6510        (a = Math.min(a, 1)),
6511          (d = Math.min(d, 1)),
6512          (a = Math.max(a, 0)),
6513          (d = Math.max(d, 0));
6514        var x = v ? new Float32Array(t) : new Array(t),
6515          y = !1,
6516          z = function (b) {
6517            return (
6518              y || o(),
6519              a === c && d === e ? b : 0 === b ? 0 : 1 === b ? 1 : i(n(b), c, e)
6520            );
6521          };
6522        z.getControlPoints = function () {
6523          return [
6524            { x: a, y: c },
6525            { x: d, y: e },
6526          ];
6527        };
6528        var A = "generateBezier(" + [a, c, d, e] + ")";
6529        return (
6530          (z.toString = function () {
6531            return A;
6532          }),
6533          z
6534        );
6535      }
6536      function l(a, b) {
6537        var c = a;
6538        return (
6539          u.isString(a)
6540            ? y.Easings[a] || (c = !1)
6541            : (c =
6542                u.isArray(a) && 1 === a.length
6543                  ? j.apply(null, a)
6544                  : u.isArray(a) && 2 === a.length
6545                  ? z.apply(null, a.concat([b]))
6546                  : !(!u.isArray(a) || 4 !== a.length) && k.apply(null, a)),
6547          c === !1 &&
6548            (c = y.Easings[y.defaults.easing] ? y.defaults.easing : x),
6549          c
6550        );
6551      }
6552      function m(a) {
6553        if (a) {
6554          var b = y.timestamp && a !== !0 ? a : r.now(),
6555            c = y.State.calls.length;
6556          c > 1e4 &&
6557            ((y.State.calls = e(y.State.calls)), (c = y.State.calls.length));
6558          for (var f = 0; f < c; f++)
6559            if (y.State.calls[f]) {
6560              var h = y.State.calls[f],
6561                i = h[0],
6562                j = h[2],
6563                k = h[3],
6564                l = !!k,
6565                q = null,
6566                s = h[5],
6567                t = h[6];
6568              if ((k || (k = y.State.calls[f][3] = b - 16), s)) {
6569                if (s.resume !== !0) continue;
6570                (k = h[3] = Math.round(b - t - 16)), (h[5] = null);
6571              }
6572              t = h[6] = b - k;
6573              for (
6574                var v = Math.min(t / j.duration, 1), w = 0, x = i.length;
6575                w < x;
6576                w++
6577              ) {
6578                var z = i[w],
6579                  B = z.element;
6580                if (g(B)) {
6581                  var D = !1;
6582                  if (
6583                    j.display !== d &&
6584                    null !== j.display &&
6585                    "none" !== j.display
6586                  ) {
6587                    if ("flex" === j.display) {
6588                      var E = [
6589                        "-webkit-box",
6590                        "-moz-box",
6591                        "-ms-flexbox",
6592                        "-webkit-flex",
6593                      ];
6594                      o.each(E, function (a, b) {
6595                        A.setPropertyValue(B, "display", b);
6596                      });
6597                    }
6598                    A.setPropertyValue(B, "display", j.display);
6599                  }
6600                  j.visibility !== d &&
6601                    "hidden" !== j.visibility &&
6602                    A.setPropertyValue(B, "visibility", j.visibility);
6603                  for (var F in z)
6604                    if (z.hasOwnProperty(F) && "element" !== F) {
6605                      var G,
6606                        H = z[F],
6607                        I = u.isString(H.easing)
6608                          ? y.Easings[H.easing]
6609                          : H.easing;
6610                      if (u.isString(H.pattern)) {
6611                        var J =
6612                          1 === v
6613                            ? function (a, b, c) {
6614                                var d = H.endValue[b];
6615                                return c ? Math.round(d) : d;
6616                              }
6617                            : function (a, b, c) {
6618                                var d = H.startValue[b],
6619                                  e = H.endValue[b] - d,
6620                                  f = d + e * I(v, j, e);
6621                                return c ? Math.round(f) : f;
6622                              };
6623                        G = H.pattern.replace(/{(\d+)(!)?}/g, J);
6624                      } else if (1 === v) G = H.endValue;
6625                      else {
6626                        var K = H.endValue - H.startValue;
6627                        G = H.startValue + K * I(v, j, K);
6628                      }
6629                      if (!l && G === H.currentValue) continue;
6630                      if (((H.currentValue = G), "tween" === F)) q = G;
6631                      else {
6632                        var L;
6633                        if (A.Hooks.registered[F]) {
6634                          L = A.Hooks.getRoot(F);
6635                          var M = g(B).rootPropertyValueCache[L];
6636                          M && (H.rootPropertyValue = M);
6637                        }
6638                        var N = A.setPropertyValue(
6639                          B,
6640                          F,
6641                          H.currentValue +
6642                            (p < 9 && 0 === parseFloat(G) ? "" : H.unitType),
6643                          H.rootPropertyValue,
6644                          H.scrollData
6645                        );
6646                        A.Hooks.registered[F] &&
6647                          (A.Normalizations.registered[L]
6648                            ? (g(B).rootPropertyValueCache[L] =
6649                                A.Normalizations.registered[L](
6650                                  "extract",
6651                                  null,
6652                                  N[1]
6653                                ))
6654                            : (g(B).rootPropertyValueCache[L] = N[1])),
6655                          "transform" === N[0] && (D = !0);
6656                      }
6657                    }
6658                  j.mobileHA &&
6659                    g(B).transformCache.translate3d === d &&
6660                    ((g(B).transformCache.translate3d = "(0px, 0px, 0px)"),
6661                    (D = !0)),
6662                    D && A.flushTransformCache(B);
6663                }
6664              }
6665              j.display !== d &&
6666                "none" !== j.display &&
6667                (y.State.calls[f][2].display = !1),
6668                j.visibility !== d &&
6669                  "hidden" !== j.visibility &&
6670                  (y.State.calls[f][2].visibility = !1),
6671                j.progress &&
6672                  j.progress.call(
6673                    h[1],
6674                    h[1],
6675                    v,
6676                    Math.max(0, k + j.duration - b),
6677                    k,
6678                    q
6679                  ),
6680                1 === v && n(f);
6681            }
6682        }
6683        y.State.isTicking && C(m);
6684      }
6685      function n(a, b) {
6686        if (!y.State.calls[a]) return !1;
6687        for (
6688          var c = y.State.calls[a][0],
6689            e = y.State.calls[a][1],
6690            f = y.State.calls[a][2],
6691            h = y.State.calls[a][4],
6692            i = !1,
6693            j = 0,
6694            k = c.length;
6695          j < k;
6696          j++
6697        ) {
6698          var l = c[j].element;
6699          b ||
6700            f.loop ||
6701            ("none" === f.display &&
6702              A.setPropertyValue(l, "display", f.display),
6703            "hidden" === f.visibility &&
6704              A.setPropertyValue(l, "visibility", f.visibility));
6705          var m = g(l);
6706          if (
6707            f.loop !== !0 &&
6708            (o.queue(l)[1] === d ||
6709              !/\.velocityQueueEntryFlag/i.test(o.queue(l)[1])) &&
6710            m
6711          ) {
6712            (m.isAnimating = !1), (m.rootPropertyValueCache = {});
6713            var n = !1;
6714            o.each(A.Lists.transforms3D, function (a, b) {
6715              var c = /^scale/.test(b) ? 1 : 0,
6716                e = m.transformCache[b];
6717              m.transformCache[b] !== d &&
6718                new RegExp("^\\(" + c + "[^.]").test(e) &&
6719                ((n = !0), delete m.transformCache[b]);
6720            }),
6721              f.mobileHA && ((n = !0), delete m.transformCache.translate3d),
6722              n && A.flushTransformCache(l),
6723              A.Values.removeClass(l, "velocity-animating");
6724          }
6725          if (!b && f.complete && !f.loop && j === k - 1)
6726            try {
6727              f.complete.call(e, e);
6728            } catch (r) {
6729              setTimeout(function () {
6730                throw r;
6731              }, 1);
6732            }
6733          h && f.loop !== !0 && h(e),
6734            m &&
6735              f.loop === !0 &&
6736              !b &&
6737              (o.each(m.tweensContainer, function (a, b) {
6738                if (
6739                  /^rotate/.test(a) &&
6740                  (parseFloat(b.startValue) - parseFloat(b.endValue)) % 360 == 0
6741                ) {
6742                  var c = b.startValue;
6743                  (b.startValue = b.endValue), (b.endValue = c);
6744                }
6745                /^backgroundPosition/.test(a) &&
6746                  100 === parseFloat(b.endValue) &&
6747                  "%" === b.unitType &&
6748                  ((b.endValue = 0), (b.startValue = 100));
6749              }),
6750              y(l, "reverse", { loop: !0, delay: f.delay })),
6751            f.queue !== !1 && o.dequeue(l, f.queue);
6752        }
6753        y.State.calls[a] = !1;
6754        for (var p = 0, q = y.State.calls.length; p < q; p++)
6755          if (y.State.calls[p] !== !1) {
6756            i = !0;
6757            break;
6758          }
6759        i === !1 &&
6760          ((y.State.isTicking = !1),
6761          delete y.State.calls,
6762          (y.State.calls = []));
6763      }
6764      var o,
6765        p = (function () {
6766          if (c.documentMode) return c.documentMode;
6767          for (var a = 7; a > 4; a--) {
6768            var b = c.createElement("div");
6769            if (
6770              ((b.innerHTML =
6771                "<!--[if IE " + a + "]><span></span><![endif]-->"),
6772              b.getElementsByTagName("span").length)
6773            )
6774              return (b = null), a;
6775          }
6776          return d;
6777        })(),
6778        q = (function () {
6779          var a = 0;
6780          return (
6781            b.webkitRequestAnimationFrame ||
6782            b.mozRequestAnimationFrame ||
6783            function (b) {
6784              var c,
6785                d = new Date().getTime();
6786              return (
6787                (c = Math.max(0, 16 - (d - a))),
6788                (a = d + c),
6789                setTimeout(function () {
6790                  b(d + c);
6791                }, c)
6792              );
6793            }
6794          );
6795        })(),
6796        r = (function () {
6797          var a = b.performance || {};
6798          if ("function" != typeof a.now) {
6799            var c =
6800              a.timing && a.timing.navigationStart
6801                ? a.timing.navigationStart
6802                : new Date().getTime();
6803            a.now = function () {
6804              return new Date().getTime() - c;
6805            };
6806          }
6807          return a;
6808        })(),
6809        s = (function () {
6810          var a = Array.prototype.slice;
6811          try {
6812            return a.call(c.documentElement), a;
6813          } catch (b) {
6814            return function (b, c) {
6815              var d = this.length;
6816              if (
6817                ("number" != typeof b && (b = 0),
6818                "number" != typeof c && (c = d),
6819                this.slice)
6820              )
6821                return a.call(this, b, c);
6822              var e,
6823                f = [],
6824                g = b >= 0 ? b : Math.max(0, d + b),
6825                h = c < 0 ? d + c : Math.min(c, d),
6826                i = h - g;
6827              if (i > 0)
6828                if (((f = new Array(i)), this.charAt))
6829                  for (e = 0; e < i; e++) f[e] = this.charAt(g + e);
6830                else for (e = 0; e < i; e++) f[e] = this[g + e];
6831              return f;
6832            };
6833          }
6834        })(),
6835        t = function () {
6836          return Array.prototype.includes
6837            ? function (a, b) {
6838                return a.includes(b);
6839              }
6840            : Array.prototype.indexOf
6841            ? function (a, b) {
6842                return a.indexOf(b) >= 0;
6843              }
6844            : function (a, b) {
6845                for (var c = 0; c < a.length; c++) if (a[c] === b) return !0;
6846                return !1;
6847              };
6848        },
6849        u = {
6850          isNumber: function (a) {
6851            return "number" == typeof a;
6852          },
6853          isString: function (a) {
6854            return "string" == typeof a;
6855          },
6856          isArray:
6857            Array.isArray ||
6858            function (a) {
6859              return "[object Array]" === Object.prototype.toString.call(a);
6860            },
6861          isFunction: function (a) {
6862            return "[object Function]" === Object.prototype.toString.call(a);
6863          },
6864          isNode: function (a) {
6865            return a && a.nodeType;
6866          },
6867          isWrapped: function (a) {
6868            return (
6869              a &&
6870              a !== b &&
6871              u.isNumber(a.length) &&
6872              !u.isString(a) &&
6873              !u.isFunction(a) &&
6874              !u.isNode(a) &&
6875              (0 === a.length || u.isNode(a[0]))
6876            );
6877          },
6878          isSVG: function (a) {
6879            return b.SVGElement && a instanceof b.SVGElement;
6880          },
6881          isEmptyObject: function (a) {
6882            for (var b in a) if (a.hasOwnProperty(b)) return !1;
6883            return !0;
6884          },
6885        },
6886        v = !1;
6887      if (
6888        (a.fn && a.fn.jquery ? ((o = a), (v = !0)) : (o = b.Velocity.Utilities),
6889        p <= 8 && !v)
6890      )
6891        throw new Error(
6892          "Velocity: IE8 and below require jQuery to be loaded before Velocity."
6893        );
6894      if (p <= 7) return void (jQuery.fn.velocity = jQuery.fn.animate);
6895      var w = 400,
6896        x = "swing",
6897        y = {
6898          State: {
6899            isMobile:
6900              /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
6901                navigator.userAgent
6902              ),
6903            isAndroid: /Android/i.test(navigator.userAgent),
6904            isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent),
6905            isChrome: b.chrome,
6906            isFirefox: /Firefox/i.test(navigator.userAgent),
6907            prefixElement: c.createElement("div"),
6908            prefixMatches: {},
6909            scrollAnchor: null,
6910            scrollPropertyLeft: null,
6911            scrollPropertyTop: null,
6912            isTicking: !1,
6913            calls: [],
6914            delayedElements: { count: 0 },
6915          },
6916          CSS: {},
6917          Utilities: o,
6918          Redirects: {},
6919          Easings: {},
6920          Promise: b.Promise,
6921          defaults: {
6922            queue: "",
6923            duration: w,
6924            easing: x,
6925            begin: d,
6926            complete: d,
6927            progress: d,
6928            display: d,
6929            visibility: d,
6930            loop: !1,
6931            delay: !1,
6932            mobileHA: !0,
6933            _cacheValues: !0,
6934            promiseRejectEmpty: !0,
6935          },
6936          init: function (a) {
6937            o.data(a, "velocity", {
6938              isSVG: u.isSVG(a),
6939              isAnimating: !1,
6940              computedStyle: null,
6941              tweensContainer: null,
6942              rootPropertyValueCache: {},
6943              transformCache: {},
6944            });
6945          },
6946          hook: null,
6947          mock: !1,
6948          version: { major: 1, minor: 5, patch: 0 },
6949          debug: !1,
6950          timestamp: !0,
6951          pauseAll: function (a) {
6952            var b = new Date().getTime();
6953            o.each(y.State.calls, function (b, c) {
6954              if (c) {
6955                if (a !== d && (c[2].queue !== a || c[2].queue === !1))
6956                  return !0;
6957                c[5] = { resume: !1 };
6958              }
6959            }),
6960              o.each(y.State.delayedElements, function (a, c) {
6961                c && h(c, b);
6962              });
6963          },
6964          resumeAll: function (a) {
6965            var b = new Date().getTime();
6966            o.each(y.State.calls, function (b, c) {
6967              if (c) {
6968                if (a !== d && (c[2].queue !== a || c[2].queue === !1))
6969                  return !0;
6970                c[5] && (c[5].resume = !0);
6971              }
6972            }),
6973              o.each(y.State.delayedElements, function (a, c) {
6974                c && i(c, b);
6975              });
6976          },
6977        };
6978      b.pageYOffset !== d
6979        ? ((y.State.scrollAnchor = b),
6980          (y.State.scrollPropertyLeft = "pageXOffset"),
6981          (y.State.scrollPropertyTop = "pageYOffset"))
6982        : ((y.State.scrollAnchor =
6983            c.documentElement || c.body.parentNode || c.body),
6984          (y.State.scrollPropertyLeft = "scrollLeft"),
6985          (y.State.scrollPropertyTop = "scrollTop"));
6986      var z = (function () {
6987        function a(a) {
6988          return -a.tension * a.x - a.friction * a.v;
6989        }
6990        function b(b, c, d) {
6991          var e = {
6992            x: b.x + d.dx * c,
6993            v: b.v + d.dv * c,
6994            tension: b.tension,
6995            friction: b.friction,
6996          };
6997          return { dx: e.v, dv: a(e) };
6998        }
6999        function c(c, d) {
7000          var e = { dx: c.v, dv: a(c) },
7001            f = b(c, 0.5 * d, e),
7002            g = b(c, 0.5 * d, f),
7003            h = b(c, d, g),
7004            i = (1 / 6) * (e.dx + 2 * (f.dx + g.dx) + h.dx),
7005            j = (1 / 6) * (e.dv + 2 * (f.dv + g.dv) + h.dv);
7006          return (c.x = c.x + i * d), (c.v = c.v + j * d), c;
7007        }
7008        return function d(a, b, e) {
7009          var f,
7010            g,
7011            h,
7012            i = { x: -1, v: 0, tension: null, friction: null },
7013            j = [0],
7014            k = 0;
7015          for (
7016            a = parseFloat(a) || 500,
7017              b = parseFloat(b) || 20,
7018              e = e || null,
7019              i.tension = a,
7020              i.friction = b,
7021              f = null !== e,
7022              f ? ((k = d(a, b)), (g = (k / e) * 0.016)) : (g = 0.016);
7023            ;
7024
7025          )
7026            if (
7027              ((h = c(h || i, g)),
7028              j.push(1 + h.x),
7029              (k += 16),
7030              !(Math.abs(h.x) > 1e-4 && Math.abs(h.v) > 1e-4))
7031            )
7032              break;
7033          return f
7034            ? function (a) {
7035                return j[(a * (j.length - 1)) | 0];
7036              }
7037            : k;
7038        };
7039      })();
7040      (y.Easings = {
7041        linear: function (a) {
7042          return a;
7043        },
7044        swing: function (a) {
7045          return 0.5 - Math.cos(a * Math.PI) / 2;
7046        },
7047        spring: function (a) {
7048          return 1 - Math.cos(4.5 * a * Math.PI) * Math.exp(6 * -a);
7049        },
7050      }),
7051        o.each(
7052          [
7053            ["ease", [0.25, 0.1, 0.25, 1]],
7054            ["ease-in", [0.42, 0, 1, 1]],
7055            ["ease-out", [0, 0, 0.58, 1]],
7056            ["ease-in-out", [0.42, 0, 0.58, 1]],
7057            ["easeInSine", [0.47, 0, 0.745, 0.715]],
7058            ["easeOutSine", [0.39, 0.575, 0.565, 1]],
7059            ["easeInOutSine", [0.445, 0.05, 0.55, 0.95]],
7060            ["easeInQuad", [0.55, 0.085, 0.68, 0.53]],
7061            ["easeOutQuad", [0.25, 0.46, 0.45, 0.94]],
7062            ["easeInOutQuad", [0.455, 0.03, 0.515, 0.955]],
7063            ["easeInCubic", [0.55, 0.055, 0.675, 0.19]],
7064            ["easeOutCubic", [0.215, 0.61, 0.355, 1]],
7065            ["easeInOutCubic", [0.645, 0.045, 0.355, 1]],
7066            ["easeInQuart", [0.895, 0.03, 0.685, 0.22]],
7067            ["easeOutQuart", [0.165, 0.84, 0.44, 1]],
7068            ["easeInOutQuart", [0.77, 0, 0.175, 1]],
7069            ["easeInQuint", [0.755, 0.05, 0.855, 0.06]],
7070            ["easeOutQuint", [0.23, 1, 0.32, 1]],
7071            ["easeInOutQuint", [0.86, 0, 0.07, 1]],
7072            ["easeInExpo", [0.95, 0.05, 0.795, 0.035]],
7073            ["easeOutExpo", [0.19, 1, 0.22, 1]],
7074            ["easeInOutExpo", [1, 0, 0, 1]],
7075            ["easeInCirc", [0.6, 0.04, 0.98, 0.335]],
7076            ["easeOutCirc", [0.075, 0.82, 0.165, 1]],
7077            ["easeInOutCirc", [0.785, 0.135, 0.15, 0.86]],
7078          ],
7079          function (a, b) {
7080            y.Easings[b[0]] = k.apply(null, b[1]);
7081          }
7082        );
7083      var A = (y.CSS = {
7084        RegEx: {
7085          isHex: /^#([A-f\d]{3}){1,2}$/i,
7086          valueUnwrap: /^[A-z]+\((.*)\)$/i,
7087          wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,
7088          valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi,
7089        },
7090        Lists: {
7091          colors: [
7092            "fill",
7093            "stroke",
7094            "stopColor",
7095            "color",
7096            "backgroundColor",
7097            "borderColor",
7098            "borderTopColor",
7099            "borderRightColor",
7100            "borderBottomColor",
7101            "borderLeftColor",
7102            "outlineColor",
7103          ],
7104          transformsBase: [
7105            "translateX",
7106            "translateY",
7107            "scale",
7108            "scaleX",
7109            "scaleY",
7110            "skewX",
7111            "skewY",
7112            "rotateZ",
7113          ],
7114          transforms3D: [
7115            "transformPerspective",
7116            "translateZ",
7117            "scaleZ",
7118            "rotateX",
7119            "rotateY",
7120          ],
7121          units: [
7122            "%",
7123            "em",
7124            "ex",
7125            "ch",
7126            "rem",
7127            "vw",
7128            "vh",
7129            "vmin",
7130            "vmax",
7131            "cm",
7132            "mm",
7133            "Q",
7134            "in",
7135            "pc",
7136            "pt",
7137            "px",
7138            "deg",
7139            "grad",
7140            "rad",
7141            "turn",
7142            "s",
7143            "ms",
7144          ],
7145          colorNames: {
7146            aliceblue: "240,248,255",
7147            antiquewhite: "250,235,215",
7148            aquamarine: "127,255,212",
7149            aqua: "0,255,255",
7150            azure: "240,255,255",
7151            beige: "245,245,220",
7152            bisque: "255,228,196",
7153            black: "0,0,0",
7154            blanchedalmond: "255,235,205",
7155            blueviolet: "138,43,226",
7156            blue: "0,0,255",
7157            brown: "165,42,42",
7158            burlywood: "222,184,135",
7159            cadetblue: "95,158,160",
7160            chartreuse: "127,255,0",
7161            chocolate: "210,105,30",
7162            coral: "255,127,80",
7163            cornflowerblue: "100,149,237",
7164            cornsilk: "255,248,220",
7165            crimson: "220,20,60",
7166            cyan: "0,255,255",
7167            darkblue: "0,0,139",
7168            darkcyan: "0,139,139",
7169            darkgoldenrod: "184,134,11",
7170            darkgray: "169,169,169",
7171            darkgrey: "169,169,169",
7172            darkgreen: "0,100,0",
7173            darkkhaki: "189,183,107",
7174            darkmagenta: "139,0,139",
7175            darkolivegreen: "85,107,47",
7176            darkorange: "255,140,0",
7177            darkorchid: "153,50,204",
7178            darkred: "139,0,0",
7179            darksalmon: "233,150,122",
7180            darkseagreen: "143,188,143",
7181            darkslateblue: "72,61,139",
7182            darkslategray: "47,79,79",
7183            darkturquoise: "0,206,209",
7184            darkviolet: "148,0,211",
7185            deeppink: "255,20,147",
7186            deepskyblue: "0,191,255",
7187            dimgray: "105,105,105",
7188            dimgrey: "105,105,105",
7189            dodgerblue: "30,144,255",
7190            firebrick: "178,34,34",
7191            floralwhite: "255,250,240",
7192            forestgreen: "34,139,34",
7193            fuchsia: "255,0,255",
7194            gainsboro: "220,220,220",
7195            ghostwhite: "248,248,255",
7196            gold: "255,215,0",
7197            goldenrod: "218,165,32",
7198            gray: "128,128,128",
7199            grey: "128,128,128",
7200            greenyellow: "173,255,47",
7201            green: "0,128,0",
7202            honeydew: "240,255,240",
7203            hotpink: "255,105,180",
7204            indianred: "205,92,92",
7205            indigo: "75,0,130",
7206            ivory: "255,255,240",
7207            khaki: "240,230,140",
7208            lavenderblush: "255,240,245",
7209            lavender: "230,230,250",
7210            lawngreen: "124,252,0",
7211            lemonchiffon: "255,250,205",
7212            lightblue: "173,216,230",
7213            lightcoral: "240,128,128",
7214            lightcyan: "224,255,255",
7215            lightgoldenrodyellow: "250,250,210",
7216            lightgray: "211,211,211",
7217            lightgrey: "211,211,211",
7218            lightgreen: "144,238,144",
7219            lightpink: "255,182,193",
7220            lightsalmon: "255,160,122",
7221            lightseagreen: "32,178,170",
7222            lightskyblue: "135,206,250",
7223            lightslategray: "119,136,153",
7224            lightsteelblue: "176,196,222",
7225            lightyellow: "255,255,224",
7226            limegreen: "50,205,50",
7227            lime: "0,255,0",
7228            linen: "250,240,230",
7229            magenta: "255,0,255",
7230            maroon: "128,0,0",
7231            mediumaquamarine: "102,205,170",
7232            mediumblue: "0,0,205",
7233            mediumorchid: "186,85,211",
7234            mediumpurple: "147,112,219",
7235            mediumseagreen: "60,179,113",
7236            mediumslateblue: "123,104,238",
7237            mediumspringgreen: "0,250,154",
7238            mediumturquoise: "72,209,204",
7239            mediumvioletred: "199,21,133",
7240            midnightblue: "25,25,112",
7241            mintcream: "245,255,250",
7242            mistyrose: "255,228,225",
7243            moccasin: "255,228,181",
7244            navajowhite: "255,222,173",
7245            navy: "0,0,128",
7246            oldlace: "253,245,230",
7247            olivedrab: "107,142,35",
7248            olive: "128,128,0",
7249            orangered: "255,69,0",
7250            orange: "255,165,0",
7251            orchid: "218,112,214",
7252            palegoldenrod: "238,232,170",
7253            palegreen: "152,251,152",
7254            paleturquoise: "175,238,238",
7255            palevioletred: "219,112,147",
7256            papayawhip: "255,239,213",
7257            peachpuff: "255,218,185",
7258            peru: "205,133,63",
7259            pink: "255,192,203",
7260            plum: "221,160,221",
7261            powderblue: "176,224,230",
7262            purple: "128,0,128",
7263            red: "255,0,0",
7264            rosybrown: "188,143,143",
7265            royalblue: "65,105,225",
7266            saddlebrown: "139,69,19",
7267            salmon: "250,128,114",
7268            sandybrown: "244,164,96",
7269            seagreen: "46,139,87",
7270            seashell: "255,245,238",
7271            sienna: "160,82,45",
7272            silver: "192,192,192",
7273            skyblue: "135,206,235",
7274            slateblue: "106,90,205",
7275            slategray: "112,128,144",
7276            snow: "255,250,250",
7277            springgreen: "0,255,127",
7278            steelblue: "70,130,180",
7279            tan: "210,180,140",
7280            teal: "0,128,128",
7281            thistle: "216,191,216",
7282            tomato: "255,99,71",
7283            turquoise: "64,224,208",
7284            violet: "238,130,238",
7285            wheat: "245,222,179",
7286            whitesmoke: "245,245,245",
7287            white: "255,255,255",
7288            yellowgreen: "154,205,50",
7289            yellow: "255,255,0",
7290          },
7291        },
7292        Hooks: {
7293          templates: {
7294            textShadow: ["Color X Y Blur", "black 0px 0px 0px"],
7295            boxShadow: ["Color X Y Blur Spread", "black 0px 0px 0px 0px"],
7296            clip: ["Top Right Bottom Left", "0px 0px 0px 0px"],
7297            backgroundPosition: ["X Y", "0% 0%"],
7298            transformOrigin: ["X Y Z", "50% 50% 0px"],
7299            perspectiveOrigin: ["X Y", "50% 50%"],
7300          },
7301          registered: {},
7302          register: function () {
7303            for (var a = 0; a < A.Lists.colors.length; a++) {
7304              var b =
7305                "color" === A.Lists.colors[a] ? "0 0 0 1" : "255 255 255 1";
7306              A.Hooks.templates[A.Lists.colors[a]] = [
7307                "Red Green Blue Alpha",
7308                b,
7309              ];
7310            }
7311            var c, d, e;
7312            if (p)
7313              for (c in A.Hooks.templates)
7314                if (A.Hooks.templates.hasOwnProperty(c)) {
7315                  (d = A.Hooks.templates[c]), (e = d[0].split(" "));
7316                  var f = d[1].match(A.RegEx.valueSplit);
7317                  "Color" === e[0] &&
7318                    (e.push(e.shift()),
7319                    f.push(f.shift()),
7320                    (A.Hooks.templates[c] = [e.join(" "), f.join(" ")]));
7321                }
7322            for (c in A.Hooks.templates)
7323              if (A.Hooks.templates.hasOwnProperty(c)) {
7324                (d = A.Hooks.templates[c]), (e = d[0].split(" "));
7325                for (var g in e)
7326                  if (e.hasOwnProperty(g)) {
7327                    var h = c + e[g],
7328                      i = g;
7329                    A.Hooks.registered[h] = [c, i];
7330                  }
7331              }
7332          },
7333          getRoot: function (a) {
7334            var b = A.Hooks.registered[a];
7335            return b ? b[0] : a;
7336          },
7337          getUnit: function (a, b) {
7338            var c = (a.substr(b || 0, 5).match(/^[a-z%]+/) || [])[0] || "";
7339            return c && t(A.Lists.units, c) ? c : "";
7340          },
7341          fixColors: function (a) {
7342            return a.replace(/(rgba?\(\s*)?(\b[a-z]+\b)/g, function (a, b, c) {
7343              return A.Lists.colorNames.hasOwnProperty(c)
7344                ? (b ? b : "rgba(") + A.Lists.colorNames[c] + (b ? "" : ",1)")
7345                : b + c;
7346            });
7347          },
7348          cleanRootPropertyValue: function (a, b) {
7349            return (
7350              A.RegEx.valueUnwrap.test(b) &&
7351                (b = b.match(A.RegEx.valueUnwrap)[1]),
7352              A.Values.isCSSNullValue(b) && (b = A.Hooks.templates[a][1]),
7353              b
7354            );
7355          },
7356          extractValue: function (a, b) {
7357            var c = A.Hooks.registered[a];
7358            if (c) {
7359              var d = c[0],
7360                e = c[1];
7361              return (
7362                (b = A.Hooks.cleanRootPropertyValue(d, b)),
7363                b.toString().match(A.RegEx.valueSplit)[e]
7364              );
7365            }
7366            return b;
7367          },
7368          injectValue: function (a, b, c) {
7369            var d = A.Hooks.registered[a];
7370            if (d) {
7371              var e,
7372                f = d[0],
7373                g = d[1];
7374              return (
7375                (c = A.Hooks.cleanRootPropertyValue(f, c)),
7376                (e = c.toString().match(A.RegEx.valueSplit)),
7377                (e[g] = b),
7378                e.join(" ")
7379              );
7380            }
7381            return c;
7382          },
7383        },
7384        Normalizations: {
7385          registered: {
7386            clip: function (a, b, c) {
7387              switch (a) {
7388                case "name":
7389                  return "clip";
7390                case "extract":
7391                  var d;
7392                  return (
7393                    A.RegEx.wrappedValueAlreadyExtracted.test(c)
7394                      ? (d = c)
7395                      : ((d = c.toString().match(A.RegEx.valueUnwrap
7395)),
7396                        (d = d ? d[1].replace(/,(\s+)?/g, " ") : c)),
7397                    d
7398                  );
7399                case "inject":
7400                  return "rect(" + c + ")";
7401              }
7402            },
7403            blur: function (a, b, c) {
7404              switch (a) {
7405                case "name":
7406                  return y.State.isFirefox ? "filter" : "-webkit-filter";
7407                case "extract":
7408                  var d = parseFloat(c);
7409                  if (!d && 0 !== d) {
7410                    var e = c.toString().match(/blur\(([0-9]+[A-z]+)\)/i);
7411                    d = e ? e[1] : 0;
7412                  }
7413                  return d;
7414                case "inject":
7415                  return parseFloat(c) ? "blur(" + c + ")" : "none";
7416              }
7417            },
7418            opacity: function (a, b, c) {
7419              if (p <= 8)
7420                switch (a) {
7421                  case "name":
7422                    return "filter";
7423                  case "extract":
7424                    var d = c.toString().match(/alpha\(opacity=(.*)\)/i);
7425                    return (c = d ? d[1] / 100 : 1);
7426                  case "inject":
7427                    return (
7428                      (b.style.zoom = 1),
7429                      parseFloat(c) >= 1
7430                        ? ""
7431                        : "alpha(opacity=" +
7432                          parseInt(100 * parseFloat(c), 10) +
7433                          ")"
7434                    );
7435                }
7436              else
7437                switch (a) {
7438                  case "name":
7439                    return "opacity";
7440                  case "extract":
7441                    return c;
7442                  case "inject":
7443                    return c;
7444                }
7445            },
7446          },
7447          register: function () {
7448            function a(a, b, c) {
7449              if (
7450                ("border-box" ===
7451                  A.getPropertyValue(b, "boxSizing")
7452                    .toString()
7453                    .toLowerCase()) ===
7454                (c || !1)
7455              ) {
7456                var d,
7457                  e,
7458                  f = 0,
7459                  g = "width" === a ? ["Left", "Right"] : ["Top", "Bottom"],
7460                  h = [
7461                    "padding" + g[0],
7462                    "padding" + g[1],
7463                    "border" + g[0] + "Width",
7464                    "border" + g[1] + "Width",
7465                  ];
7466                for (d = 0; d < h.length; d++)
7467                  (e = parseFloat(A.getPropertyValue(b, h[d]))),
7468                    isNaN(e) || (f += e);
7469                return c ? -f : f;
7470              }
7471              return 0;
7472            }
7473            function b(b, c) {
7474              return function (d, e, f) {
7475                switch (d) {
7476                  case "name":
7477                    return b;
7478                  case "extract":
7479                    return parseFloat(f) + a(b, e, c);
7480                  case "inject":
7481                    return parseFloat(f) - a(b, e, c) + "px";
7482                }
7483              };
7484            }
7485            (p && !(p > 9)) ||
7486              y.State.isGingerbread ||
7487              (A.Lists.transformsBase = A.Lists.transformsBase.concat(
7488                A.Lists.transforms3D
7489              ));
7490            for (var c = 0; c < A.Lists.transformsBase.length; c++)
7491              !(function () {
7492                var a = A.Lists.transformsBase[c];
7493                A.Normalizations.registered[a] = function (b, c, e) {
7494                  switch (b) {
7495                    case "name":
7496                      return "transform";
7497                    case "extract":
7498                      return g(c) === d || g(c).transformCache[a] === d
7499                        ? /^scale/i.test(a)
7500                          ? 1
7501                          : 0
7502                        : g(c).transformCache[a].replace(/[()]/g, "");
7503                    case "inject":
7504                      var f = !1;
7505                      switch (a.substr(0, a.length - 1)) {
7506                        case "translate":
7507                          f = !/(%|px|em|rem|vw|vh|\d)$/i.test(e);
7508                          break;
7509                        case "scal":
7510                        case "scale":
7511                          y.State.isAndroid &&
7512                            g(c).transformCache[a] === d &&
7513                            e < 1 &&
7514                            (e = 1),
7515                            (f = !/(\d)$/i.test(e));
7516                          break;
7517                        case "skew":
7518                          f = !/(deg|\d)$/i.test(e);
7519                          break;
7520                        case "rotate":
7521                          f = !/(deg|\d)$/i.test(e);
7522                      }
7523                      return (
7524                        f || (g(c).transformCache[a] = "(" + e + ")"),
7525                        g(c).transformCache[a]
7526                      );
7527                  }
7528                };
7529              })();
7530            for (var e = 0; e < A.Lists.colors.length; e++)
7531              !(function () {
7532                var a = A.Lists.colors[e];
7533                A.Normalizations.registered[a] = function (b, c, e) {
7534                  switch (b) {
7535                    case "name":
7536                      return a;
7537                    case "extract":
7538                      var f;
7539                      if (A.RegEx.wrappedValueAlreadyExtracted.test(e)) f = e;
7540                      else {
7541                        var g,
7542                          h = {
7543                            black: "rgb(0, 0, 0)",
7544                            blue: "rgb(0, 0, 255)",
7545                            gray: "rgb(128, 128, 128)",
7546                            green: "rgb(0, 128, 0)",
7547                            red: "rgb(255, 0, 0)",
7548                            white: "rgb(255, 255, 255)",
7549                          };
7550                        /^[A-z]+$/i.test(e)
7551                          ? (g = h[e] !== d ? h[e] : h.black)
7552                          : A.RegEx.isHex.test(e)
7553                          ? (g = "rgb(" + A.Values.hexToRgb(e).join(" ") + ")")
7554                          : /^rgba?\(/i.test(e) || (g = h.black),
7555                          (f = (g || e)
7556                            .toString()
7557                            .match(A.RegEx.valueUnwrap)[1]
7558                            .replace(/,(\s+)?/g, " "));
7559                      }
7560                      return (
7561                        (!p || p > 8) &&
7562                          3 === f.split(" ").length &&
7563                          (f += " 1"),
7564                        f
7565                      );
7566                    case "inject":
7567                      return /^rgb/.test(e)
7568                        ? e
7569                        : (p <= 8
7570                            ? 4 === e.split(" ").length &&
7571                              (e = e.split(/\s+/).slice(0, 3).join(" "))
7572                            : 3 === e.split(" ").length && (e += " 1"),
7573                          (p <= 8 ? "rgb" : "rgba") +
7574                            "(" +
7575                            e
7576                              .replace(/\s+/g, ",")
7577                              .replace(/\.(\d)+(?=,)/g, "") +
7578                            ")");
7579                  }
7580                };
7581              })();
7582            (A.Normalizations.registered.innerWidth = b("width", !0)),
7583              (A.Normalizations.registered.innerHeight = b("height", !0)),
7584              (A.Normalizations.registered.outerWidth = b("width")),
7585              (A.Normalizations.registered.outerHeight = b("height"));
7586          },
7587        },
7588        Names: {
7589          camelCase: function (a) {
7590            return a.replace(/-(\w)/g, function (a, b) {
7591              return b.toUpperCase();
7592            });
7593          },
7594          SVGAttribute: function (a) {
7595            var b = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";
7596            return (
7597              (p || (y.State.isAndroid && !y.State.isChrome)) &&
7598                (b += "|transform"),
7599              new RegExp("^(" + b + ")$", "i").test(a)
7600            );
7601          },
7602          prefixCheck: function (a) {
7603            if (y.State.prefixMatches[a]) return [y.State.prefixMatches[a], !0];
7604            for (
7605              var b = ["", "Webkit", "Moz", "ms", "O"], c = 0, d = b.length;
7606              c < d;
7607              c++
7608            ) {
7609              var e;
7610              if (
7611                ((e =
7612                  0 === c
7613                    ? a
7614                    : b[c] +
7615                      a.replace(/^\w/, function (a) {
7616                        return a.toUpperCase();
7617                      })),
7618                u.isString(y.State.prefixElement.style[e]))
7619              )
7620                return (y.State.prefixMatches[a] = e), [e, !0];
7621            }
7622            return [a, !1];
7623          },
7624        },
7625        Values: {
7626          hexToRgb: function (a) {
7627            var b,
7628              c = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;
7629            return (
7630              (a = a.replace(
7631                /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
7632                function (a, b, c, d) {
7633                  return b + b + c + c + d + d;
7634                }
7635              )),
7636              (b = c.exec(a)),
7637              b
7638                ? [parseInt(b[1], 16), parseInt(b[2], 16), parseInt(b[3], 16)]
7639                : [0, 0, 0]
7640            );
7641          },
7642          isCSSNullValue: function (a) {
7643            return (
7644              !a || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(a)
7645            );
7646          },
7647          getUnitType: function (a) {
7648            return /^(rotate|skew)/i.test(a)
7649              ? "deg"
7650              : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(
7651                  a
7652                )
7653              ? ""
7654              : "px";
7655          },
7656          getDisplayType: function (a) {
7657            var b = a && a.tagName.toString().toLowerCase();
7658            return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(
7659              b
7660            )
7661              ? "inline"
7662              : /^(li)$/i.test(b)
7663              ? "list-item"
7664              : /^(tr)$/i.test(b)
7665              ? "table-row"
7666              : /^(table)$/i.test(b)
7667              ? "table"
7668              : /^(tbody)$/i.test(b)
7669              ? "table-row-group"
7670              : "block";
7671          },
7672          addClass: function (a, b) {
7673            if (a)
7674              if (a.classList) a.classList.add(b);
7675              else if (u.isString(a.className))
7676                a.className += (a.className.length ? " " : "") + b;
7677              else {
7678                var c = a.getAttribute(p <= 7 ? "className" : "class") || "";
7679                a.setAttribute("class", c + (c ? " " : "") + b);
7680              }
7681          },
7682          removeClass: function (a, b) {
7683            if (a)
7684              if (a.classList) a.classList.remove(b);
7685              else if (u.isString(a.className))
7686                a.className = a.className
7687                  .toString()
7688                  .replace(
7689                    new RegExp(
7690                      "(^|\\s)" + b.split(" ").join("|") + "(\\s|$)",
7691                      "gi"
7692                    ),
7693                    " "
7694                  );
7695              else {
7696                var c = a.getAttribute(p <= 7 ? "className" : "class") || "";
7697                a.setAttribute(
7698                  "class",
7699                  c.replace(
7700                    new RegExp(
7701                      "(^|s)" + b.split(" ").join("|") + "(s|$)",
7702                      "gi"
7703                    ),
7704                    " "
7705                  )
7706                );
7707              }
7708          },
7709        },
7710        getPropertyValue: function (a, c, e, f) {
7711          function h(a, c) {
7712            var e = 0;
7713            if (p <= 8) e = o.css(a, c);
7714            else {
7715              var i = !1;
7716              /^(width|height)$/.test(c) &&
7717                0 === A.getPropertyValue(a, "display") &&
7718                ((i = !0),
7719                A.setPropertyValue(a, "display", A.Values.getDisplayType(a)));
7720              var j = function () {
7721                i && A.setPropertyValue(a, "display", "none");
7722              };
7723              if (!f) {
7724                if (
7725                  "height" === c &&
7726                  "border-box" !==
7727                    A.getPropertyValue(a, "boxSizing").toString().toLowerCase()
7728                ) {
7729                  var k =
7730                    a.offsetHeight -
7731                    (parseFloat(A.getPropertyValue(a, "borderTopWidth")) || 0) -
7732                    (parseFloat(A.getPropertyValue(a, "borderBottomWidth")) ||
7733                      0) -
7734                    (parseFloat(A.getPropertyValue(a, "paddingTop")) || 0) -
7735                    (parseFloat(A.getPropertyValue(a, "paddingBottom")) || 0);
7736                  return j(), k;
7737                }
7738                if (
7739                  "width" === c &&
7740                  "border-box" !==
7741                    A.getPropertyValue(a, "boxSizing").toString().toLowerCase()
7742                ) {
7743                  var l =
7744                    a.offsetWidth -
7745                    (parseFloat(A.getPropertyValue(a, "borderLeftWidth")) ||
7746                      0) -
7747                    (parseFloat(A.getPropertyValue(a, "borderRightWidth")) ||
7748                      0) -
7749                    (parseFloat(A.getPropertyValue(a, "paddingLeft")) || 0) -
7750                    (parseFloat(A.getPropertyValue(a, "paddingRight")) || 0);
7751                  return j(), l;
7752                }
7753              }
7754              var m;
7755              (m =
7756                g(a) === d
7757                  ? b.getComputedStyle(a, null)
7758                  : g(a).computedStyle
7759                  ? g(a).computedStyle
7760                  : (g(a).computedStyle = b.getComputedStyle(a, null))),
7761                "borderColor" === c && (c = "borderTopColor"),
7762                (e = 9 === p && "filter" === c ? m.getPropertyValue(c) : m[c]),
7763                ("" !== e && null !== e) || (e = a.style[c]),
7764                j();
7765            }
7766            if ("auto" === e && /^(top|right|bottom|left)$/i.test(c)) {
7767              var n = h(a, "position");
7768              ("fixed" === n || ("absolute" === n && /top|left/i.test(c))) &&
7769                (e = o(a).position()[c] + "px");
7770            }
7771            return e;
7772          }
7773          var i;
7774          if (A.Hooks.registered[c]) {
7775            var j = c,
7776              k = A.Hooks.getRoot(j);
7777            e === d && (e = A.getPropertyValue(a, A.Names.prefixCheck(k)[0])),
7778              A.Normalizations.registered[k] &&
7779                (e = A.Normalizations.registered[k]("extract", a, e)),
7780              (i = A.Hooks.extractValue(j, e));
7781          } else if (A.Normalizations.registered[c]) {
7782            var l, m;
7783            (l = A.Normalizations.registered[c]("name", a)),
7784              "transform" !== l &&
7785                ((m = h(a, A.Names.prefixCheck(l)[0])),
7786                A.Values.isCSSNullValue(m) &&
7787                  A.Hooks.templates[c] &&
7788                  (m = A.Hooks.templates[c][1])),
7789              (i = A.Normalizations.registered[c]("extract", a, m));
7790          }
7791          if (!/^[\d-]/.test(i)) {
7792            var n = g(a);
7793            if (n && n.isSVG && A.Names.SVGAttribute(c))
7794              if (/^(height|width)$/i.test(c))
7795                try {
7796                  i = a.getBBox()[c];
7797                } catch (q) {
7798                  i = 0;
7799                }
7800              else i = a.getAttribute(c);
7801            else i = h(a, A.Names.prefixCheck(c)[0]);
7802          }
7803          return (
7804            A.Values.isCSSNullValue(i) && (i = 0),
7805            y.debug >= 2 && console.log("Get " + c + ": " + i),
7806            i
7807          );
7808        },
7809        setPropertyValue: function (a, c, d, e, f) {
7810          var h = c;
7811          if ("scroll" === c)
7812            f.container
7813              ? (f.container["scroll" + f.direction] = d)
7814              : "Left" === f.direction
7815              ? b.scrollTo(d, f.alternateValue)
7816              : b.scrollTo(f.alternateValue, d);
7817          else if (
7818            A.Normalizations.registered[c] &&
7819            "transform" === A.Normalizations.registered[c]("name", a)
7820          )
7821            A.Normalizations.registered[c]("inject", a, d),
7822              (h = "transform"),
7823              (d = g(a).transformCache[c]);
7824          else {
7825            if (A.Hooks.registered[c]) {
7826              var i = c,
7827                j = A.Hooks.getRoot(c);
7828              (e = e || A.getPropertyValue(a, j)),
7829                (d = A.Hooks.injectValue(i, d, e)),
7830                (c = j);
7831            }
7832            if (
7833              (A.Normalizations.registered[c] &&
7834                ((d = A.Normalizations.registered[c]("inject", a, d)),
7835                (c = A.Normalizations.registered[c]("name", a))),
7836              (h = A.Names.prefixCheck(c)[0]),
7837              p <= 8)
7838            )
7839              try {
7840                a.style[h] = d;
7841              } catch (l) {
7842                y.debug &&
7843                  console.log(
7844                    "Browser does not support [" + d + "] for [" + h + "]"
7845                  );
7846              }
7847            else {
7848              var k = g(a);
7849              k && k.isSVG && A.Names.SVGAttribute(c)
7850                ? a.setAttribute(c, d)
7851                : (a.style[h] = d);
7852            }
7853            y.debug >= 2 && console.log("Set " + c + " (" + h + "): " + d);
7854          }
7855          return [h, d];
7856        },
7857        flushTransformCache: function (a) {
7858          var b = "",
7859            c = g(a);
7860          if ((p || (y.State.isAndroid && !y.State.isChrome)) && c && c.isSVG) {
7861            var d = function (b) {
7862                return parseFloat(A.getPropertyValue(a, b));
7863              },
7864              e = {
7865                translate: [d("translateX"), d("translateY")],
7866                skewX: [d("skewX")],
7867                skewY: [d("skewY")],
7868                scale:
7869                  1 !== d("scale")
7870                    ? [d("scale"), d("scale")]
7871                    : [d("scaleX"), d("scaleY")],
7872                rotate: [d("rotateZ"), 0, 0],
7873              };
7874            o.each(g(a).transformCache, function (a) {
7875              /^translate/i.test(a)
7876                ? (a = "translate")
7877                : /^scale/i.test(a)
7878                ? (a = "scale")
7879                : /^rotate/i.test(a) && (a = "rotate"),
7880                e[a] && ((b += a + "(" + e[a].join(" ") + ") "), delete e[a]);
7881            });
7882          } else {
7883            var f, h;
7884            o.each(g(a).transformCache, function (c) {
7885              if (((f = g(a).transformCache[c]), "transformPerspective" === c))
7886                return (h = f), !0;
7887              9 === p && "rotateZ" === c && (c = "rotate"), (b += c + f + " ");
7888            }),
7889              h && (b = "perspective" + h + " " + b);
7890          }
7891          A.setPropertyValue(a, "transform", b);
7892        },
7893      });
7894      A.Hooks.register(),
7895        A.Normalizations.register(),
7896        (y.hook = function (a, b, c) {
7897          var e;
7898          return (
7899            (a = f(a)),
7900            o.each(a, function (a, f) {
7901              if ((g(f) === d && y.init(f), c === d))
7902                e === d && (e = A.getPropertyValue(f, b));
7903              else {
7904                var h = A.setPropertyValue(f, b, c);
7905                "transform" === h[0] && y.CSS.flushTransformCache(f), (e = h);
7906              }
7907            }),
7908            e
7909          );
7910        });
7911      var B = function () {
7912        function a() {
7913          return k ? z.promise || null : p;
7914        }
7915        function e(a, e) {
7916          function f(f) {
7917            var k, n;
7918            if (i.begin && 0 === D)
7919              try {
7920                i.begin.call(r, r);
7921              } catch (V) {
7922                setTimeout(function () {
7923                  throw V;
7924                }, 1);
7925              }
7926            if ("scroll" === G) {
7927              var p,
7928                q,
7929                w,
7930                x = /^x$/i.test(i.axis) ? "Left" : "Top",
7931                B = parseFloat(i.offset) || 0;
7932              i.container
7933                ? u.isWrapped(i.container) || u.isNode(i.container)
7934                  ? ((i.container = i.container[0] || i.container),
7935                    (p = i.container["scroll" + x]),
7936                    (w = p + o(a).position()[x.toLowerCase()] + B))
7937                  : (i.container = null)
7938                : ((p = y.State.scrollAnchor[y.State["scrollProperty" + x]]),
7939                  (q =
7940                    y.State.scrollAnchor[
7941                      y.State[
7942                        "scrollProperty" + ("Left" === x ? "Top" : "Left")
7943                      ]
7944                    ]),
7945                  (w = o(a).offset()[x.toLowerCase()] + B)),
7946                (j = {
7947                  scroll: {
7948                    rootPropertyValue: !1,
7949                    startValue: p,
7950                    currentValue: p,
7951                    endValue: w,
7952                    unitType: "",
7953                    easing: i.easing,
7954                    scrollData: {
7955                      container: i.container,
7956                      direction: x,
7957                      alternateValue: q,
7958                    },
7959                  },
7960                  element: a,
7961                }),
7962                y.debug &&
7963                  console.log("tweensContainer (scroll): ", j.scroll, a);
7964            } else if ("reverse" === G) {
7965              if (!(k = g(a))) return;
7966              if (!k.tweensContainer) return void o.dequeue(a, i.queue);
7967              "none" === k.opts.display && (k.opts.display = "auto"),
7968                "hidden" === k.opts.visibility &&
7969                  (k.opts.visibility = "visible"),
7970                (k.opts.loop = !1),
7971                (k.opts.begin = null),
7972                (k.opts.complete = null),
7973                v.easing || delete i.easing,
7974                v.duration || delete i.duration,
7975                (i = o.extend({}, k.opts, i)),
7976                (n = o.extend(!0, {}, k ? k.tweensContainer : null));
7977              for (var E in n)
7978                if (n.hasOwnProperty(E) && "element" !== E) {
7979                  var F = n[E].startValue;
7980                  (n[E].startValue = n[E].currentValue = n[E].endValue),
7981                    (n[E].endValue = F),
7982                    u.isEmptyObject(v) || (n[E].easing = i.easing),
7983                    y.debug &&
7984                      console.log(
7985                        "reverse tweensContainer (" +
7986                          E +
7987                          "): " +
7988                          JSON.stringify(n[E]),
7989                        a
7990                      );
7991                }
7992              j = n;
7993            } else if ("start" === G) {
7994              (k = g(a)),
7995                k &&
7996                  k.tweensContainer &&
7997                  k.isAnimating === !0 &&
7998                  (n = k.tweensContainer);
7999              var H = function (e, f) {
8000                var g,
8001                  l = A.Hooks.getRoot(e),
8002                  m = !1,
8003                  p = f[0],
8004                  q = f[1],
8005                  r = f[2];
8006                if (
8007                  !(
8008                    (k && k.isSVG) ||
8009                    "tween" === l ||
8010                    A.Names.prefixCheck(l)[1] !== !1 ||
8011                    A.Normalizations.registered[l] !== d
8012                  )
8013                )
8014                  return void (
8015                    y.debug &&
8016                    console.log(
8017                      "Skipping [" + l + "] due to a lack of browser support."
8018                    )
8019                  );
8020                ((i.display !== d &&
8021                  null !== i.display &&
8022                  "none" !== i.display) ||
8023                  (i.visibility !== d && "hidden" !== i.visibility)) &&
8024                  /opacity|filter/.test(e) &&
8025                  !r &&
8026                  0 !== p &&
8027                  (r = 0),
8028                  i._cacheValues && n && n[e]
8029                    ? (r === d && (r = n[e].endValue + n[e].unitType),
8030                      (m = k.rootPropertyValueCache[l]))
8031                    : A.Hooks.registered[e]
8032                    ? r === d
8033                      ? ((m = A.getPropertyValue(a, l)),
8034                        (r = A.getPropertyValue(a, e, m)))
8035                      : (m = A.Hooks.templates[l][1])
8036                    : r === d && (r = A.getPropertyValue(a, e));
8037                var s,
8038                  t,
8039                  v,
8040                  w = !1,
8041                  x = function (a, b) {
8042                    var c, d;
8043                    return (
8044                      (d = (b || "0")
8045                        .toString()
8046                        .toLowerCase()
8047                        .replace(/[%A-z]+$/, function (a) {
8048                          return (c = a), "";
8049                        })),
8050                      c || (c = A.Values.getUnitType(a)),
8051                      [d, c]
8052                    );
8053                  };
8054                if (r !== p && u.isString(r) && u.isString(p)) {
8055                  g = "";
8056                  var z = 0,
8057                    B = 0,
8058                    C = [],
8059                    D = [],
8060                    E = 0,
8061                    F = 0,
8062                    G = 0;
8063                  for (
8064                    r = A.Hooks.fixColors(r), p = A.Hooks.fixColors(p);
8065                    z < r.length && B < p.length;
8066
8067                  ) {
8068                    var H = r[z],
8069                      I = p[B];
8070                    if (/[\d\.-]/.test(H) && /[\d\.-]/.test(I)) {
8071                      for (
8072                        var J = H, K = I, L = ".", N = ".";
8073                        ++z < r.length;
8074
8075                      ) {
8076                        if ((H = r[z]) === L) L = "..";
8077                        else if (!/\d/.test(H)) break;
8078                        J += H;
8079                      }
8080                      for (; ++B < p.length; ) {
8081                        if ((I = p[B]) === N) N = "..";
8082                        else if (!/\d/.test(I)) break;
8083                        K += I;
8084                      }
8085                      var O = A.Hooks.getUnit(r, z),
8086                        P = A.Hooks.getUnit(p, B);
8087                      if (((z += O.length), (B += P.length), O === P))
8088                        J === K
8089                          ? (g += J + O)
8090                          : ((g += "{" + C.length + (F ? "!" : "") + "}" + O),
8091                            C.push(parseFloat(J)),
8092                            D.push(parseFloat(K)));
8093                      else {
8094                        var Q = parseFloat(J),
8095                          R = parseFloat(K);
8096                        (g +=
8097                          (E < 5 ? "calc" : "") +
8098                          "(" +
8099                          (Q ? "{" + C.length + (F ? "!" : "") + "}" : "0") +
8100                          O +
8101                          " + " +
8102                          (R
8103                            ? "{" +
8104                              (C.length + (Q ? 1 : 0)) +
8105                              (F ? "!" : "") +
8106                              "}"
8107                            : "0") +
8108                          P +
8109                          ")"),
8110                          Q && (C.push(Q), D.push(0)),
8111                          R && (C.push(0), D.push(R));
8112                      }
8113                    } else {
8114                      if (H !== I) {
8115                        E = 0;
8116                        break;
8117                      }
8118                      (g += H),
8119                        z++,
8120                        B++,
8121                        (0 === E && "c" === H) ||
8122                        (1 === E && "a" === H) ||
8123                        (2 === E && "l" === H) ||
8124                        (3 === E && "c" === H) ||
8125                        (E >= 4 && "(" === H)
8126                          ? E++
8127                          : ((E && E < 5) ||
8128                              (E >= 4 && ")" === H && --E < 5)) &&
8129                            (E = 0),
8130                        (0 === F && "r" === H) ||
8131                        (1 === F && "g" === H) ||
8132                        (2 === F && "b" === H) ||
8133                        (3 === F && "a" === H) ||
8134                        (F >= 3 && "(" === H)
8135                          ? (3 === F && "a" === H && (G = 1), F++)
8136                          : G && "," === H
8137                          ? ++G > 3 && (F = G = 0)
8138                          : ((G && F < (G ? 5 : 4)) ||
8139                              (F >= (G ? 4 : 3) &&
8140                                ")" === H &&
8141                                --F < (G ? 5 : 4))) &&
8142                            (F = G = 0);
8143                    }
8144                  }
8145                  (z === r.length && B === p.length) ||
8146                    (y.debug &&
8147                      console.error(
8148                        'Trying to pattern match mis-matched strings ["' +
8149                          p +
8150                          '", "' +
8151                          r +
8152                          '"]'
8153                      ),
8154                    (g = d)),
8155                    g &&
8156                      (C.length
8157                        ? (y.debug &&
8158                            console.log(
8159                              'Pattern found "' + g + '" -> ',
8160                              C,
8161                              D,
8162                              "[" + r + "," + p + "]"
8163                            ),
8164                          (r = C),
8165                          (p = D),
8166                          (t = v = ""))
8167                        : (g = d));
8168                }
8169                g ||
8170                  ((s = x(e, r)),
8171                  (r = s[0]),
8172                  (v = s[1]),
8173                  (s = x(e, p)),
8174                  (p = s[0].replace(/^([+-\/*])=/, function (a, b) {
8175                    return (w = b), "";
8176                  })),
8177                  (t = s[1]),
8178                  (r = parseFloat(r) || 0),
8179                  (p = parseFloat(p) || 0),
8180                  "%" === t &&
8181                    (/^(fontSize|lineHeight)$/.test(e)
8182                      ? ((p /= 100), (t = "em"))
8183                      : /^scale/.test(e)
8184                      ? ((p /= 100), (t = ""))
8185                      : /(Red|Green|Blue)$/i.test(e) &&
8186                        ((p = (p / 100) * 255), (t = ""))));
8187                if (/[\/*]/.test(w)) t = v;
8188                else if (v !== t && 0 !== r)
8189                  if (0 === p) t = v;
8190                  else {
8191                    h =
8192                      h ||
8193                      (function () {
8194                        var d = {
8195                            myParent: a.parentNode || c.body,
8196                            position: A.getPropertyValue(a, "position"),
8197                            fontSize: A.getPropertyValue(a, "fontSize"),
8198                          },
8199                          e =
8200                            d.position === M.lastPosition &&
8201                            d.myParent === M.lastParent,
8202                          f = d.fontSize === M.lastFontSize;
8203                        (M.lastParent = d.myParent),
8204                          (M.lastPosition = d.position),
8205                          (M.lastFontSize = d.fontSize);
8206                        var g = {};
8207                        if (f && e)
8208                          (g.emToPx = M.lastEmToPx),
8209                            (g.percentToPxWidth = M.lastPercentToPxWidth),
8210                            (g.percentToPxHeight = M.lastPercentToPxHeight);
8211                        else {
8212                          var h =
8213                            k && k.isSVG
8214                              ? c.createElementNS(
8215                                  "http://www.w3.org/2000/svg",
8216                                  "rect"
8217                                )
8218                              : c.createElement("div");
8219                          y.init(h),
8220                            d.myParent.appendChild(h),
8221                            o.each(
8222                              ["overflow", "overflowX", "overflowY"],
8223                              function (a, b) {
8224                                y.CSS.setPropertyValue(h, b, "hidden");
8225                              }
8226                            ),
8227                            y.CSS.setPropertyValue(h, "position", d.position),
8228                            y.CSS.setPropertyValue(h, "fontSize", d.fontSize),
8229                            y.CSS.setPropertyValue(
8230                              h,
8231                              "boxSizing",
8232                              "content-box"
8233                            ),
8234                            o.each(
8235                              [
8236                                "minWidth",
8237                                "maxWidth",
8238                                "width",
8239                                "minHeight",
8240                                "maxHeight",
8241                                "height",
8242                              ],
8243                              function (a, b) {
8244                                y.CSS.setPropertyValue(h, b, "100%");
8245                              }
8246                            ),
8247                            y.CSS.setPropertyValue(h, "paddingLeft", "100em"),
8248                            (g.percentToPxWidth = M.lastPercentToPxWidth =
8249                              (parseFloat(
8250                                A.getPropertyValue(h, "width", null, !0)
8251                              ) || 1) / 100),
8252                            (g.percentToPxHeight = M.lastPercentToPxHeight =
8253                              (parseFloat(
8254                                A.getPropertyValue(h, "height", null, !0)
8255                              ) || 1) / 100),
8256                            (g.emToPx = M.lastEmToPx =
8257                              (parseFloat(
8258                                A.getPropertyValue(h, "paddingLeft")
8259                              ) || 1) / 100),
8260                            d.myParent.removeChild(h);
8261                        }
8262                        return (
8263                          null === M.remToPx &&
8264                            (M.remToPx =
8265                              parseFloat(
8266                                A.getPropertyValue(c.body, "fontSize")
8267                              ) || 16),
8268                          null === M.vwToPx &&
8269                            ((M.vwToPx = parseFloat(b.innerWidth) / 100),
8270                            (M.vhToPx = parseFloat(b.innerHeight) / 100)),
8271                          (g.remToPx = M.remToPx),
8272                          (g.vwToPx = M.vwToPx),
8273                          (g.vhToPx = M.vhToPx),
8274                          y.debug >= 1 &&
8275                            console.log("Unit ratios: " + JSON.stringify(g), a),
8276                          g
8277                        );
8278                      })();
8279                    var S =
8280                      /margin|padding|left|right|width|text|word|letter/i.test(
8281                        e
8282                      ) ||
8283                      /X$/.test(e) ||
8284                      "x" === e
8285                        ? "x"
8286                        : "y";
8287                    switch (v) {
8288                      case "%":
8289                        r *=
8290                          "x" === S ? h.percentToPxWidth : h.percentToPxHeight;
8291                        break;
8292                      case "px":
8293                        break;
8294                      default:
8295                        r *= h[v + "ToPx"];
8296                    }
8297                    switch (t) {
8298                      case "%":
8299                        r *=
8300                          1 /
8301                          ("x" === S
8302                            ? h.percentToPxWidth
8303                            : h.percentToPxHeight);
8304                        break;
8305                      case "px":
8306                        break;
8307                      default:
8308                        r *= 1 / h[t + "ToPx"];
8309                    }
8310                  }
8311                switch (w) {
8312                  case "+":
8313                    p = r + p;
8314                    break;
8315                  case "-":
8316                    p = r - p;
8317                    break;
8318                  case "*":
8319                    p *= r;
8320                    break;
8321                  case "/":
8322                    p = r / p;
8323                }
8324                (j[e] = {
8325                  rootPropertyValue: m,
8326                  startValue: r,
8327                  currentValue: r,
8328                  endValue: p,
8329                  unitType: t,
8330                  easing: q,
8331                }),
8332                  g && (j[e].pattern = g),
8333                  y.debug &&
8334                    console.log(
8335                      "tweensContainer (" + e + "): " + JSON.stringify(j[e]),
8336                      a
8337                    );
8338              };
8339              for (var I in s)
8340                if (s.hasOwnProperty(I)) {
8341                  var J = A.Names.camelCase(I),
8342                    K = (function (b, c) {
8343                      var d, f, g;
8344                      return (
8345                        u.isFunction(b) && (b = b.call(a, e, C)),
8346                        u.isArray(b)
8347                          ? ((d = b[0]),
8348                            (!u.isArray(b[1]) && /^[\d-]/.test(b[1])) ||
8349                            u.isFunction(b[1]) ||
8350                            A.RegEx.isHex.test(b[1])
8351                              ? (g = b[1])
8352                              : (u.isString(b[1]) &&
8353                                  !A.RegEx.isHex.test(b[1]) &&
8354                                  y.Easings[b[1]]) ||
8355                                u.isArray(b[1])
8356                              ? ((f = c ? b[1] : l(b[1], i.duration)),
8357                                (g = b[2]))
8358                              : (g = b[1] || b[2]))
8359                          : (d = b),
8360                        c || (f = f || i.easing),
8361                        u.isFunction(d) && (d = d.call(a, e, C)),
8362                        u.isFunction(g) && (g = g.call(a, e, C)),
8363                        [d || 0, f, g]
8364                      );
8365                    })(s[I]);
8366                  if (t(A.Lists.colors, J)) {
8367                    var L = K[0],
8368                      O = K[1],
8369                      P = K[2];
8370                    if (A.RegEx.isHex.test(L)) {
8371                      for (
8372                        var Q = ["Red", "Green", "Blue"],
8373                          R = A.Values.hexToRgb(L),
8374                          S = P ? A.Values.hexToRgb(P) : d,
8375                          T = 0;
8376                        T < Q.length;
8377                        T++
8378                      ) {
8379                        var U = [R[T]];
8380                        O && U.push(O), S !== d && U.push(S[T]), H(J + Q[T], U);
8381                      }
8382                      continue;
8383                    }
8384                  }
8385                  H(J, K);
8386                }
8387              j.element = a;
8388            }
8389            j.element &&
8390              (A.Values.addClass(a, "velocity-animating"),
8391              N.push(j),
8392              (k = g(a)),
8393              k &&
8394                ("" === i.queue && ((k.tweensContainer = j), (k.opts = i)),
8395                (k.isAnimating = !0)),
8396              D === C - 1
8397                ? (y.State.calls.push([N, r, i, null, z.resolver, null, 0]),
8398                  y.State.isTicking === !1 && ((y.State.isTicking = !0), m()))
8399                : D++);
8400          }
8401          var h,
8402            i = o.extend({}, y.defaults, v),
8403            j = {};
8404          switch (
8405            (g(a) === d && y.init(a),
8406            parseFloat(i.delay) &&
8407              i.queue !== !1 &&
8408              o.queue(a, i.queue, function (b) {
8409                y.velocityQueueEntryFlag = !0;
8410                var c = y.State.delayedElements.count++;
8411                y.State.delayedElements[c] = a;
8412                var d = (function (a) {
8413                  return function () {
8414                    (y.State.delayedElements[a] = !1), b();
8415                  };
8416                })(c);
8417                (g(a).delayBegin = new Date().getTime()),
8418                  (g(a).delay = parseFloat(i.delay)),
8419                  (g(a).delayTimer = {
8420                    setTimeout: setTimeout(b, parseFloat(i.delay)),
8421                    next: d,
8422                  });
8423              }),
8424            i.duration.toString().toLowerCase())
8425          ) {
8426            case "fast":
8427              i.duration = 200;
8428              break;
8429            case "normal":
8430              i.duration = w;
8431              break;
8432            case "slow":
8433              i.duration = 600;
8434              break;
8435            default:
8436              i.duration = parseFloat(i.duration) || 1;
8437          }
8438          if (
8439            (y.mock !== !1 &&
8440              (y.mock === !0
8441                ? (i.duration = i.delay = 1)
8442                : ((i.duration *= parseFloat(y.mock) || 1),
8443                  (i.delay *= parseFloat(y.mock) || 1))),
8444            (i.easing = l(i.easing, i.duration)),
8445            i.begin && !u.isFunction(i.begin) && (i.begin = null),
8446            i.progress && !u.isFunction(i.progress) && (i.progress = null),
8447            i.complete && !u.isFunction(i.complete) && (i.complete = null),
8448            i.display !== d &&
8449              null !== i.display &&
8450              ((i.display = i.display.toString().toLowerCase()),
8451              "auto" === i.display &&
8452                (i.display = y.CSS.Values.getDisplayType(a))),
8453            i.visibility !== d &&
8454              null !== i.visibility &&
8455              (i.visibility = i.visibility.toString().toLowerCase()),
8456            (i.mobileHA =
8457              i.mobileHA && y.State.isMobile && !y.State.isGingerbread),
8458            i.queue === !1)
8459          )
8460            if (i.delay) {
8461              var k = y.State.delayedElements.count++;
8462              y.State.delayedElements[k] = a;
8463              var n = (function (a) {
8464                return function () {
8465                  (y.State.delayedElements[a] = !1), f();
8466                };
8467              })(k);
8468              (g(a).delayBegin = new Date().getTime()),
8469                (g(a).delay = parseFloat(i.delay)),
8470                (g(a).delayTimer = {
8471                  setTimeout: setTimeout(f, parseFloat(i.delay)),
8472                  next: n,
8473                });
8474            } else f();
8475          else
8476            o.queue(a, i.queue, function (a, b) {
8477              if (b === !0) return z.promise && z.resolver(r), !0;
8478              (y.velocityQueueEntryFlag = !0), f(a);
8479            });
8480          ("" !== i.queue && "fx" !== i.queue) ||
8481            "inprogress" === o.queue(a)[0] ||
8482            o.dequeue(a);
8483        }
8484        var j,
8485          k,
8486          p,
8487          q,
8488          r,
8489          s,
8490          v,
8491          x =
8492            arguments[0] &&
8493            (arguments[0].p ||
8494              (o.isPlainObject(arguments[0].properties) &&
8495                !arguments[0].properties.names) ||
8496              u.isString(arguments[0].properties));
8497        u.isWrapped(this)
8498          ? ((k = !1), (q = 0), (r = this), (p = this))
8499          : ((k = !0),
8500            (q = 1),
8501            (r = x ? arguments[0].elements || arguments[0].e : arguments[0]));
8502        var z = { promise: null, resolver: null, rejecter: null };
8503        if (
8504          (k &&
8505            y.Promise &&
8506            (z.promise = new y.Promise(function (a, b) {
8507              (z.resolver = a), (z.rejecter = b);
8508            })),
8509          x
8510            ? ((s = arguments[0].properties || arguments[0].p),
8511              (v = arguments[0].options || arguments[0].o))
8512            : ((s = arguments[q]), (v = arguments[q + 1])),
8513          !(r = f(r)))
8514        )
8515          return void (
8516            z.promise &&
8517            (s && v && v.promiseRejectEmpty === !1
8518              ? z.resolver()
8519              : z.rejecter())
8520          );
8521        var C = r.length,
8522          D = 0;
8523        if (
8524          !/^(stop|finish|finishAll|pause|resume)$/i.test(s) &&
8525          !o.isPlainObject(v)
8526        ) {
8527          var E = q + 1;
8528          v = {};
8529          for (var F = E; F < arguments.length; F++)
8530            u.isArray(arguments[F]) ||
8531            (!/^(fast|normal|slow)$/i.test(arguments[F]) &&
8532              !/^\d/.test(arguments[F]))
8533              ? u.isString(arguments[F]) || u.isArray(arguments[F])
8534                ? (v.easing = arguments[F])
8535                : u.isFunction(arguments[F]) && (v.complete = arguments[F])
8536              : (v.duration = arguments[F]);
8537        }
8538        var G;
8539        switch (s) {
8540          case "scroll":
8541            G = "scroll";
8542            break;
8543          case "reverse":
8544            G = "reverse";
8545            break;
8546          case "pause":
8547            var H = new Date().getTime();
8548            return (
8549              o.each(r, function (a, b) {
8550                h(b, H);
8551              }),
8552              o.each(y.State.calls, function (a, b) {
8553                var c = !1;
8554                b &&
8555                  o.each(b[1], function (a, e) {
8556                    var f = v === d ? "" : v;
8557                    return (
8558                      (f !== !0 &&
8559                        b[2].queue !== f &&
8560                        (v !== d || b[2].queue !== !1)) ||
8561                      (o.each(r, function (a, d) {
8562                        if (d === e)
8563                          return (b[5] = { resume: !1 }), (c = !0), !1;
8564                      }),
8565                      !c && void 0)
8566                    );
8567                  });
8568              }),
8569              a()
8570            );
8571          case "resume":
8572            return (
8573              o.each(r, function (a, b) {
8574                i(b, H);
8575              }),
8576              o.each(y.State.calls, function (a, b) {
8577                var c = !1;
8578                b &&
8579                  o.each(b[1], function (a, e) {
8580                    var f = v === d ? "" : v;
8581                    return (
8582                      (f !== !0 &&
8583                        b[2].queue !== f &&
8584                        (v !== d || b[2].queue !== !1)) ||
8585                      !b[5] ||
8586                      (o.each(r, function (a, d) {
8587                        if (d === e) return (b[5].resume = !0), (c = !0), !1;
8588                      }),
8589                      !c && void 0)
8590                    );
8591                  });
8592              }),
8593              a()
8594            );
8595          case "finish":
8596          case "finishAll":
8597          case "stop":
8598            o.each(r, function (a, b) {
8599              g(b) &&
8600                g(b).delayTimer &&
8601                (clearTimeout(g(b).delayTimer.setTimeout),
8602                g(b).delayTimer.next && g(b).delayTimer.next(),
8603                delete g(b).delayTimer),
8604                "finishAll" !== s ||
8605                  (v !== !0 && !u.isString(v)) ||
8606                  (o.each(o.queue(b, u.isString(v) ? v : ""), function (a, b) {
8607                    u.isFunction(b) && b();
8608                  }),
8609                  o.queue(b, u.isString(v) ? v : "", []));
8610            });
8611            var I = [];
8612            return (
8613              o.each(y.State.calls, function (a, b) {
8614                b &&
8615                  o.each(b[1], function (c, e) {
8616                    var f = v === d ? "" : v;
8617                    if (
8618                      f !== !0 &&
8619                      b[2].queue !== f &&
8620                      (v !== d || b[2].queue !== !1)
8621                    )
8622                      return !0;
8623                    o.each(r, function (c, d) {
8624                      if (d === e)
8625                        if (
8626                          ((v === !0 || u.isString(v)) &&
8627                            (o.each(
8628                              o.queue(d, u.isString(v) ? v : ""),
8629                              function (a, b) {
8630                                u.isFunction(b) && b(null, !0);
8631                              }
8632                            ),
8633                            o.queue(d, u.isString(v) ? v : "", [])),
8634                          "stop" === s)
8635                        ) {
8636                          var h = g(d);
8637                          h &&
8638                            h.tweensContainer &&
8639                            f !== !1 &&
8640                            o.each(h.tweensContainer, function (a, b) {
8641                              b.endValue = b.currentValue;
8642                            }),
8643                            I.push(a);
8644                        } else
8645                          ("finish" !== s && "finishAll" !== s) ||
8646                            (b[2].duration = 1);
8647                    });
8648                  });
8649              }),
8650              "stop" === s &&
8651                (o.each(I, function (a, b) {
8652                  n(b, !0);
8653                }),
8654                z.promise && z.resolver(r)),
8655              a()
8656            );
8657          default:
8658            if (!o.isPlainObject(s) || u.isEmptyObject(s)) {
8659              if (u.isString(s) && y.Redirects[s]) {
8660                j = o.extend({}, v);
8661                var J = j.duration,
8662                  K = j.delay || 0;
8663                return (
8664                  j.backwards === !0 && (r = o.extend(!0, [], r).reverse()),
8665                  o.each(r, function (a, b) {
8666                    parseFloat(j.stagger)
8667                      ? (j.delay = K + parseFloat(j.stagger) * a)
8668                      : u.isFunction(j.stagger) &&
8669                        (j.delay = K + j.stagger.call(b, a, C)),
8670                      j.drag &&
8671                        ((j.duration =
8672                          parseFloat(J) ||
8673                          (/^(callout|transition)/.test(s) ? 1e3 : w)),
8674                        (j.duration = Math.max(
8675                          j.duration * (j.backwards ? 1 - a / C : (a + 1) / C),
8676                          0.75 * j.duration,
8677                          200
8678                        ))),
8679                      y.Redirects[s].call(
8680                        b,
8681                        b,
8682                        j || {},
8683                        a,
8684                        C,
8685                        r,
8686                        z.promise ? z : d
8687                      );
8688                  }),
8689                  a()
8690                );
8691              }
8692              var L =
8693                "Velocity: First argument (" +
8694                s +
8695                ") was not a property map, a known action, or a registered redirect. Aborting.";
8696              return (
8697                z.promise
8698                  ? z.rejecter(new Error(L))
8699                  : b.console && console.log(L),
8700                a()
8701              );
8702            }
8703            G = "start";
8704        }
8705        var M = {
8706            lastParent: null,
8707            lastPosition: null,
8708            lastFontSize: null,
8709            lastPercentToPxWidth: null,
8710            lastPercentToPxHeight: null,
8711            lastEmToPx: null,
8712            remToPx: null,
8713            vwToPx: null,
8714            vhToPx: null,
8715          },
8716          N = [];
8717        o.each(r, function (a, b) {
8718          u.isNode(b) && e(b, a);
8719        }),
8720          (j = o.extend({}, y.defaults, v)),
8721          (j.loop = parseInt(j.loop, 10));
8722        var O = 2 * j.loop - 1;
8723        if (j.loop)
8724          for (var P = 0; P < O; P++) {
8725            var Q = { delay: j.delay, progress: j.progress };
8726            P === O - 1 &&
8727              ((Q.display = j.display),
8728              (Q.visibility = j.visibility),
8729              (Q.complete = j.complete)),
8730              B(r, "reverse", Q);
8731          }
8732        return a();
8733      };
8734      (y = o.extend(B, y)), (y.animate = B);
8735      var C = b.requestAnimationFrame || q;
8736      if (!y.State.isMobile && c.hidden !== d) {
8737        var D = function () {
8738          c.hidden
8739            ? ((C = function (a) {
8740                return setTimeout(function () {
8741                  a(!0);
8742                }, 16);
8743              }),
8744              m())
8745            : (C = b.requestAnimationFrame || q);
8746        };
8747        D(), c.addEventListener("visibilitychange", D);
8748      }
8749      return (
8750        (a.Velocity = y),
8751        a !== b && ((a.fn.velocity = B), (a.fn.velocity.defaults = y.defaults)),
8752        o.each(["Down", "Up"], function (a, b) {
8753          y.Redirects["slide" + b] = function (a, c, e, f, g, h) {
8754            var i = o.extend({}, c),
8755              j = i.begin,
8756              k = i.complete,
8757              l = {},
8758              m = {
8759                height: "",
8760                marginTop: "",
8761                marginBottom: "",
8762                paddingTop: "",
8763                paddingBottom: "",
8764              };
8765            i.display === d &&
8766              (i.display =
8767                "Down" === b
8768                  ? "inline" === y.CSS.Values.getDisplayType(a)
8769                    ? "inline-block"
8770                    : "block"
8771                  : "none"),
8772              (i.begin = function () {
8773                0 === e && j && j.call(g, g);
8774                for (var c in m)
8775                  if (m.hasOwnProperty(c)) {
8776                    l[c] = a.style[c];
8777                    var d = A.getPropertyValue(a, c);
8778                    m[c] = "Down" === b ? [d, 0] : [0, d];
8779                  }
8780                (l.overflow = a.style.overflow), (a.style.overflow = "hidden");
8781              }),
8782              (i.complete = function () {
8783                for (var b in l) l.hasOwnProperty(b) && (a.style[b] = l[b]);
8784                e === f - 1 && (k && k.call(g, g), h && h.resolver(g));
8785              }),
8786              y(a, m, i);
8787          };
8788        }),
8789        o.each(["In", "Out"], function (a, b) {
8790          y.Redirects["fade" + b] = function (a, c, e, f, g, h) {
8791            var i = o.extend({}, c),
8792              j = i.complete,
8793              k = { opacity: "In" === b ? 1 : 0 };
8794            0 !== e && (i.begin = null),
8795              (i.complete =
8796                e !== f - 1
8797                  ? null
8798                  : function () {
8799                      j && j.call(g, g), h && h.resolver(g);
8800                    }),
8801              i.display === d && (i.display = "In" === b ? "auto" : "none"),
8802              y(this, k, i);
8803          };
8804        }),
8805        y
8806      );
8807    })(
8808      window.jQuery || window.Zepto || window,
8809      window,
8810      window ? window.document : undefined
8811    );
8812  });
8813
8814//jQuery UI Easing
8815(function (t) {
8816  "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery);
8817})(function (t) {
8818  (t.ui = t.ui || {}), (t.ui.version = "1.12.1");
8819  var e = "ui-effects-",
8820    i = "ui-effects-style",
8821    s = "ui-effects-animated",
8822    n = t;
8823  (t.effects = { effect: {} }),
8824    (function (t, e) {
8825      function i(t, e, i) {
8826        var s = u[e.type] || {};
8827        return null == t
8828          ? i || !e.def
8829            ? null
8830            : e.def
8831          : ((t = s.floor ? ~~t : parseFloat(t)),
8832            isNaN(t)
8833              ? e.def
8834              : s.mod
8835              ? (t + s.mod) % s.mod
8836              : 0 > t
8837              ? 0
8838              : t > s.max
8839              ? s.max
8840              : t);
8841      }
8842      function s(i) {
8843        var s = h(),
8844          n = (s._rgba = []);
8845        return (
8846          (i = i.toLowerCase()),
8847          f(l, function (t, o) {
8848            var a,
8849              r = o.re.exec(i),
8850              l = r && o.parse(r),
8851              h = o.space || "rgba";
8852            return l
8853              ? ((a = s[h](l)),
8854                (s[c[h].cache] = a[c[h].cache]),
8855                (n = s._rgba = a._rgba),
8856                !1)
8857              : e;
8858          }),
8859          n.length
8860            ? ("0,0,0,0" === n.join() && t.extend(n, o.transparent), s)
8861            : o[i]
8862        );
8863      }
8864      function n(t, e, i) {
8865        return (
8866          (i = (i + 1) % 1),
8867          1 > 6 * i
8868            ? t + 6 * (e - t) * i
8869            : 1 > 2 * i
8870            ? e
8871            : 2 > 3 * i
8872            ? t + 6 * (e - t) * (2 / 3 - i)
8873            : t
8874        );
8875      }
8876      var o,
8877        a =
8878          "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
8879        r = /^([\-+])=\s*(\d+\.?\d*)/,
8880        l = [
8881          {
8882            re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
8883            parse: function (t) {
8884              return [t[1], t[2], t[3], t[4]];
8885            },
8886          },
8887          {
8888            re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
8889            parse: function (t) {
8890              return [2.55 * t[1], 2.55 * t[2], 2.55 * t[3], t[4]];
8891            },
8892          },
8893          {
8894            re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
8895            parse: function (t) {
8896              return [
8897                parseInt(t[1], 16),
8898                parseInt(t[2], 16),
8899                parseInt(t[3], 16),
8900              ];
8901            },
8902          },
8903          {
8904            re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
8905            parse: function (t) {
8906              return [
8907                parseInt(t[1] + t[1], 16),
8908                parseInt(t[2] + t[2], 16),
8909                parseInt(t[3] + t[3], 16),
8910              ];
8911            },
8912          },
8913          {
8914            re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
8915            space: "hsla",
8916            parse: function (t) {
8917              return [t[1], t[2] / 100, t[3] / 100, t[4]];
8918            },
8919          },
8920        ],
8921        h = (t.Color = function (e, i, s, n) {
8922          return new t.Color.fn.parse(e, i, s, n);
8923        }),
8924        c = {
8925          rgba: {
8926            props: {
8927              red: { idx: 0, type: "byte" },
8928              green: { idx: 1, type: "byte" },
8929              blue: { idx: 2, type: "byte" },
8930            },
8931          },
8932          hsla: {
8933            props: {
8934              hue: { idx: 0, type: "degrees" },
8935              saturation: { idx: 1, type: "percent" },
8936              lightness: { idx: 2, type: "percent" },
8937            },
8938          },
8939        },
8940        u = {
8941          byte: { floor: !0, max: 255 },
8942          percent: { max: 1 },
8943          degrees: { mod: 360, floor: !0 },
8944        },
8945        d = (h.support = {}),
8946        p = t("<p>")[0],
8947        f = t.each;
8948      (p.style.cssText = "background-color:rgba(1,1,1,.5)"),
8949        (d.rgba = p.style.backgroundColor.indexOf("rgba") > -1),
8950        f(c, function (t, e) {
8951          (e.cache = "_" + t),
8952            (e.props.alpha = { idx: 3, type: "percent", def: 1 });
8953        }),
8954        (h.fn = t.extend(h.prototype, {
8955          parse: function (n, a, r, l) {
8956            if (n === e) return (this._rgba = [null, null, null, null]), this;
8957            (n.jquery || n.nodeType) && ((n = t(n).css(a)), (a = e));
8958            var u = this,
8959              d = t.type(n),
8960              p = (this._rgba = []);
8961            return (
8962              a !== e && ((n = [n, a, r, l]), (d = "array")),
8963              "string" === d
8964                ? this.parse(s(n) || o._default)
8965                : "array" === d
8966                ? (f(c.rgba.props, function (t, e) {
8967                    p[e.idx] = i(n[e.idx], e);
8968                  }),
8969                  this)
8970                : "object" === d
8971                ? (n instanceof h
8972                    ? f(c, function (t, e) {
8973                        n[e.cache] && (u[e.cache] = n[e.cache].slice());
8974                      })
8975                    : f(c, function (e, s) {
8976                        var o = s.cache;
8977                        f(s.props, function (t, e) {
8978                          if (!u[o] && s.to) {
8979                            if ("alpha" === t || null == n[t]) return;
8980                            u[o] = s.to(u._rgba);
8981                          }
8982                          u[o][e.idx] = i(n[t], e, !0);
8983                        }),
8984                          u[o] &&
8985                            0 > t.inArray(null, u[o].slice(0, 3)) &&
8986                            ((u[o][3] = 1), s.from && (u._rgba = s.from(u[o])));
8987                      }),
8988                  this)
8989                : e
8990            );
8991          },
8992          is: function (t) {
8993            var i = h(t),
8994              s = !0,
8995              n = this;
8996            return (
8997              f(c, function (t, o) {
8998                var a,
8999                  r = i[o.cache];
9000                return (
9001                  r &&
9002                    ((a = n[o.cache] || (o.to && o.to(n._rgba)) || []),
9003                    f(o.props, function (t, i) {
9004                      return null != r[i.idx] ? (s = r[i.idx] === a[i.idx]) : e;
9005                    })),
9006                  s
9007                );
9008              }),
9009              s
9010            );
9011          },
9012          _space: function () {
9013            var t = [],
9014              e = this;
9015            return (
9016              f(c, function (i, s) {
9017                e[s.cache] && t.push(i);
9018              }),
9019              t.pop()
9020            );
9021          },
9022          transition: function (t, e) {
9023            var s = h(t),
9024              n = s._space(),
9025              o = c[n],
9026              a = 0 === this.alpha() ? h("transparent") : this,
9027              r = a[o.cache] || o.to(a._rgba),
9028              l = r.slice();
9029            return (
9030              (s = s[o.cache]),
9031              f(o.props, function (t, n) {
9032                var o = n.idx,
9033                  a = r[o],
9034                  h = s[o],
9035                  c = u[n.type] || {};
9036                null !== h &&
9037                  (null === a
9038                    ? (l[o] = h)
9039                    : (c.mod &&
9040                        (h - a > c.mod / 2
9041                          ? (a += c.mod)
9042                          : a - h > c.mod / 2 && (a -= c.mod)),
9043                      (l[o] = i((h - a) * e + a, n))));
9044              }),
9045              this[n](l)
9046            );
9047          },
9048          blend: function (e) {
9049            if (1 === this._rgba[3]) return this;
9050            var i = this._rgba.slice(),
9051              s = i.pop(),
9052              n = h(e)._rgba;
9053            return h(
9054              t.map(i, function (t, e) {
9055                return (1 - s) * n[e] + s * t;
9056              })
9057            );
9058          },
9059          toRgbaString: function () {
9060            var e = "rgba(",
9061              i = t.map(this._rgba, function (t, e) {
9062                return null == t ? (e > 2 ? 1 : 0) : t;
9063              });
9064            return 1 === i[3] && (i.pop(), (e = "rgb(")), e + i.join() + ")";
9065          },
9066          toHslaString: function () {
9067            var e = "hsla(",
9068              i = t.map(this.hsla(), function (t, e) {
9069                return (
9070                  null == t && (t = e > 2 ? 1 : 0),
9071                  e && 3 > e && (t = Math.round(100 * t) + "%"),
9072                  t
9073                );
9074              });
9075            return 1 === i[3] && (i.pop(), (e = "hsl(")), e + i.join() + ")";
9076          },
9077          toHexString: function (e) {
9078            var i = this._rgba.slice(),
9079              s = i.pop();
9080            return (
9081              e && i.push(~~(255 * s)),
9082              "#" +
9083                t
9084                  .map(i, function (t) {
9085                    return (
9086                      (t = (t || 0).toString(16)), 1 === t.length ? "0" + t : t
9087                    );
9088                  })
9089                  .join("")
9090            );
9091          },
9092          toString: function () {
9093            return 0 === this._rgba[3] ? "transparent" : this.toRgbaString();
9094          },
9095        })),
9096        (h.fn.parse.prototype = h.fn),
9097        (c.hsla.to = function (t) {
9098          if (null == t[0] || null == t[1] || null == t[2])
9099            return [null, null, null, t[3]];
9100          var e,
9101            i,
9102            s = t[0] / 255,
9103            n = t[1] / 255,
9104            o = t[2] / 255,
9105            a = t[3],
9106            r = Math.max(s, n, o),
9107            l = Math.min(s, n, o),
9108            h = r - l,
9109            c = r + l,
9110            u = 0.5 * c;
9111          return (
9112            (e =
9113              l === r
9114                ? 0
9115                : s === r
9116                ? (60 * (n - o)) / h + 360
9117                : n === r
9118                ? (60 * (o - s)) / h + 120
9119                : (60 * (s - n)) / h + 240),
9120            (i = 0 === h ? 0 : 0.5 >= u ? h / c : h / (2 - c)),
9121            [Math.round(e) % 360, i, u, null == a ? 1 : a]
9122          );
9123        }),
9124        (c.hsla.from = function (t) {
9125          if (null == t[0] || null == t[1] || null == t[2])
9126            return [null, null, null, t[3]];
9127          var e = t[0] / 360,
9128            i = t[1],
9129            s = t[2],
9130            o = t[3],
9131            a = 0.5 >= s ? s * (1 + i) : s + i - s * i,
9132            r = 2 * s - a;
9133          return [
9134            Math.round(255 * n(r, a, e + 1 / 3)),
9135            Math.round(255 * n(r, a, e)),
9136            Math.round(255 * n(r, a, e - 1 / 3)),
9137            o,
9138          ];
9139        }),
9140        f(c, function (s, n) {
9141          var o = n.props,
9142            a = n.cache,
9143            l = n.to,
9144            c = n.from;
9145          (h.fn[s] = function (s) {
9146            if ((l && !this[a] && (this[a] = l(this._rgba)), s === e))
9147              return this[a].slice();
9148            var n,
9149              r = t.type(s),
9150              u = "array" === r || "object" === r ? s : arguments,
9151              d = this[a].slice();
9152            return (
9153              f(o, function (t, e) {
9154                var s = u["object" === r ? t : e.idx];
9155                null == s && (s = d[e.idx]), (d[e.idx] = i(s, e));
9156              }),
9157              c ? ((n = h(c(d))), (n[a] = d), n) : h(d)
9158            );
9159          }),
9160            f(o, function (e, i) {
9161              h.fn[e] ||
9162                (h.fn[e] = function (n) {
9163                  var o,
9164                    a = t.type(n),
9165                    l = "alpha" === e ? (this._hsla ? "hsla" : "rgba") : s,
9166                    h = this[l](),
9167                    c = h[i.idx];
9168                  return "undefined" === a
9169                    ? c
9170                    : ("function" === a &&
9171                        ((n = n.call(this, c)), (a = t.type(n))),
9172                      null == n && i.empty
9173                        ? this
9174                        : ("string" === a &&
9175                            ((o = r.exec(n)),
9176                            o &&
9177                              (n =
9178                                c +
9179                                parseFloat(o[2]) * ("+" === o[1] ? 1 : -1))),
9180                          (h[i.idx] = n),
9181                          this[l](h)));
9182                });
9183            });
9184        }),
9185        (h.hook = function (e) {
9186          var i = e.split(" ");
9187          f(i, function (e, i) {
9188            (t.cssHooks[i] = {
9189              set: function (e, n) {
9190                var o,
9191                  a,
9192                  r = "";
9193                if (
9194                  "transparent" !== n &&
9195                  ("string" !== t.type(n) || (o = s(n)))
9196                ) {
9197                  if (((n = h(o || n)), !d.rgba && 1 !== n._rgba[3])) {
9198                    for (
9199                      a = "backgroundColor" === i ? e.parentNode : e;
9200                      ("" === r || "transparent" === r) && a && a.style;
9201
9202                    )
9203                      try {
9204                        (r = t.css(a, "backgroundColor")), (a = a.parentNode);
9205                      } catch (l) {}
9206                    n = n.blend(r && "transparent" !== r ? r : "_default");
9207                  }
9208                  n = n.toRgbaString();
9209                }
9210                try {
9211                  e.style[i] = n;
9212                } catch (l) {}
9213              },
9214            }),
9215              (t.fx.step[i] = function (e) {
9216                e.colorInit ||
9217                  ((e.start = h(e.elem, i)),
9218                  (e.end = h(e.end)),
9219                  (e.colorInit = !0)),
9220                  t.cssHooks[i].set(e.elem, e.start.transition(e.end, e.pos));
9221              });
9222          });
9223        }),
9224        h.hook(a),
9225        (t.cssHooks.borderColor = {
9226          expand: function (t) {
9227            var e = {};
9228            return (
9229              f(["Top", "Right", "Bottom", "Left"], function (i, s) {
9230                e["border" + s + "Color"] = t;
9231              }),
9232              e
9233            );
9234          },
9235        }),
9236        (o = t.Color.names =
9237          {
9238            aqua: "#00ffff",
9239            black: "#000000",
9240            blue: "#0000ff",
9241            fuchsia: "#ff00ff",
9242            gray: "#808080",
9243            green: "#008000",
9244            lime: "#00ff00",
9245            maroon: "#800000",
9246            navy: "#000080",
9247            olive: "#808000",
9248            purple: "#800080",
9249            red: "#ff0000",
9250            silver: "#c0c0c0",
9251            teal: "#008080",
9252            white: "#ffffff",
9253            yellow: "#ffff00",
9254            transparent: [null, null, null, 0],
9255            _default: "#ffffff",
9256          });
9257    })(n),
9258    (function () {
9259      function e(e) {
9260        var i,
9261          s,
9262          n = e.ownerDocument.defaultView
9263            ? e.ownerDocument.defaultView.getComputedStyle(e, null)
9264            : e.currentStyle,
9265          o = {};
9266        if (n && n.length && n[0] && n[n[0]])
9267          for (s = n.length; s--; )
9268            (i = n[s]), "string" == typeof n[i] && (o[t.camelCase(i)] = n[i]);
9269        else for (i in n) "string" == typeof n[i] && (o[i] = n[i]);
9270        return o;
9271      }
9272      function i(e, i) {
9273        var s,
9274          n,
9275          a = {};
9276        for (s in i)
9277          (n = i[s]),
9278            e[s] !== n &&
9279              (o[s] || ((t.fx.step[s] || !isNaN(parseFloat(n))) && (a[s] = n)));
9280        return a;
9281      }
9282      var s = ["add", "remove", "toggle"],
9283        o = {
9284          border: 1,
9285          borderBottom: 1,
9286          borderColor: 1,
9287          borderLeft: 1,
9288          borderRight: 1,
9289          borderTop: 1,
9290          borderWidth: 1,
9291          margin: 1,
9292          padding: 1,
9293        };
9294      t.each(
9295        [
9296          "borderLeftStyle",
9297          "borderRightStyle",
9298          "borderBottomStyle",
9299          "borderTopStyle",
9300        ],
9301        function (e, i) {
9302          t.fx.step[i] = function (t) {
9303            (("none" !== t.end && !t.setAttr) || (1 === t.pos && !t.setAttr)) &&
9304              (n.style(t.elem, i, t.end), (t.setAttr = !0));
9305          };
9306        }
9307      ),
9308        t.fn.addBack ||
9309          (t.fn.addBack = function (t) {
9310            return this.add(
9311              null == t ? this.prevObject : this.prevObject.filter(t)
9312            );
9313          }),
9314        (t.effects.animateClass = function (n, o, a, r) {
9315          var l = t.speed(o, a, r);
9316          return this.queue(function () {
9317            var o,
9318              a = t(this),
9319              r = a.attr("class") || "",
9320              h = l.children ? a.find("*").addBack() : a;
9321            (h = h.map(function () {
9322              var i = t(this);
9323              return { el: i, start: e(this) };
9324            })),
9325              (o = function () {
9326                t.each(s, function (t, e) {
9327                  n[e] && a[e + "Class"](n[e]);
9328                });
9329              }),
9330              o(),
9331              (h = h.map(function () {
9332                return (
9333                  (this.end = e(this.el[0])),
9334                  (this.diff = i(this.start, this.end)),
9335                  this
9336                );
9337              })),
9338              a.attr("class", r),
9339              (h = h.map(function () {
9340                var e = this,
9341                  i = t.Deferred(),
9342                  s = t.extend({}, l, {
9343                    queue: !1,
9344                    complete: function () {
9345                      i.resolve(e);
9346                    },
9347                  });
9348                return this.el.animate(this.diff, s), i.promise();
9349              })),
9350              t.when.apply(t, h.get()).done(function () {
9351                o(),
9352                  t.each(arguments, function () {
9353                    var e = this.el;
9354                    t.each(this.diff, function (t) {
9355                      e.css(t, "");
9356                    });
9357                  }),
9358                  l.complete.call(a[0]);
9359              });
9360          });
9361        }),
9362        t.fn.extend({
9363          addClass: (function (e) {
9364            return function (i, s, n, o) {
9365              return s
9366                ? t.effects.animateClass.call(this, { add: i }, s, n, o)
9367                : e.apply(this, arguments);
9368            };
9369          })(t.fn.addClass),
9370          removeClass: (function (e) {
9371            return function (i, s, n, o) {
9372              return arguments.length > 1
9373                ? t.effects.animateClass.call(this, { remove: i }, s, n, o)
9374                : e.apply(this, arguments);
9375            };
9376          })(t.fn.removeClass),
9377          toggleClass: (function (e) {
9378            return function (i, s, n, o, a) {
9379              return "boolean" == typeof s || void 0 === s
9380                ? n
9381                  ? t.effects.animateClass.call(
9382                      this,
9383                      s ? { add: i } : { remove: i },
9384                      n,
9385                      o,
9386                      a
9387                    )
9388                  : e.apply(this, arguments)
9389                : t.effects.animateClass.call(this, { toggle: i }, s, n, o);
9390            };
9391          })(t.fn.toggleClass),
9392          switchClass: function (e, i, s, n, o) {
9393            return t.effects.animateClass.call(
9394              this,
9395              { add: i, remove: e },
9396              s,
9397              n,
9398              o
9399            );
9400          },
9401        });
9402    })(),
9403    (function () {
9404      function n(e, i, s, n) {
9405        return (
9406          t.isPlainObject(e) && ((i = e), (e = e.effect)),
9407          (e = { effect: e }),
9408          null == i && (i = {}),
9409          t.isFunction(i) && ((n = i), (s = null), (i = {})),
9410          ("number" == typeof i || t.fx.speeds[i]) &&
9411            ((n = s), (s = i), (i = {})),
9412          t.isFunction(s) && ((n = s), (s = null)),
9413          i && t.extend(e, i),
9414          (s = s || i.duration),
9415          (e.duration = t.fx.off
9416            ? 0
9417            : "number" == typeof s
9418            ? s
9419            : s in t.fx.speeds
9420            ? t.fx.speeds[s]
9421            : t.fx.speeds._default),
9422          (e.complete = n || i.complete),
9423          e
9424        );
9425      }
9426      function o(e) {
9427        return !e || "number" == typeof e || t.fx.speeds[e]
9428          ? !0
9429          : "string" != typeof e || t.effects.effect[e]
9430          ? t.isFunction(e)
9431            ? !0
9432            : "object" != typeof e || e.effect
9433            ? !1
9434            : !0
9435          : !0;
9436      }
9437      function a(t, e) {
9438        var i = e.outerWidth(),
9439          s = e.outerHeight(),
9440          n =
9441            /^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,
9442          o = n.exec(t) || ["", 0, i, s, 0];
9443        return {
9444          top: parseFloat(o[1]) || 0,
9445          right: "auto" === o[2] ? i : parseFloat(o[2]),
9446          bottom: "auto" === o[3] ? s : parseFloat(o[3]),
9447          left: parseFloat(o[4]) || 0,
9448        };
9449      }
9450      t.expr &&
9451        t.expr.filters &&
9452        t.expr.filters.animated &&
9453        (t.expr.filters.animated = (function (e) {
9454          return function (i) {
9455            return !!t(i).data(s) || e(i);
9456          };
9457        })(t.expr.filters.animated)),
9458        t.uiBackCompat !== !1 &&
9459          t.extend(t.effects, {
9460            save: function (t, i) {
9461              for (var s = 0, n = i.length; n > s; s++)
9462                null !== i[s] && t.data(e + i[s], t[0].style[i[s]]);
9463            },
9464            restore: function (t, i) {
9465              for (var s, n = 0, o = i.length; o > n; n++)
9466                null !== i[n] && ((s = t.data(e + i[n])), t.css(i[n], s));
9467            },
9468            setMode: function (t, e) {
9469              return (
9470                "toggle" === e && (e = t.is(":hidden") ? "show" : "hide"), e
9471              );
9472            },
9473            createWrapper: function (e) {
9474              if (e.parent().is(".ui-effects-wrapper")) return e.parent();
9475              var i = {
9476                  width: e.outerWidth(!0),
9477                  height: e.outerHeight(!0),
9478                  float: e.css("float"),
9479                },
9480                s = t("<div></div>")
9481                  .addClass("ui-effects-wrapper")
9482                  .css({
9483                    fontSize: "100%",
9484                    background: "transparent",
9485                    border: "none",
9486                    margin: 0,
9487                    padding: 0,
9488                  }),
9489                n = { width: e.width(), height: e.height() },
9490                o = document.activeElement;
9491              try {
9492                o.id;
9493              } catch (a) {
9494                o = document.body;
9495              }
9496              return (
9497                e.wrap(s),
9498                (e[0] === o || t.contains(e[0], o)) && t(o).trigger("focus"),
9499                (s = e.parent()),
9500                "static" === e.css("position")
9501                  ? (s.css({ position: "relative" }),
9502                    e.css({ position: "relative" }))
9503                  : (t.extend(i, {
9504                      position: e.css("position"),
9505                      zIndex: e.css("z-index"),
9506                    }),
9507                    t.each(["top", "left", "bottom", "right"], function (t, s) {
9508                      (i[s] = e.css(s)),
9509                        isNaN(parseInt(i[s], 10)) && (i[s] = "auto");
9510                    }),
9511                    e.css({
9512                      position: "relative",
9513                      top: 0,
9514                      left: 0,
9515                      right: "auto",
9516                      bottom: "auto",
9517                    })),
9518                e.css(n),
9519                s.css(i).show()
9520              );
9521            },
9522            removeWrapper: function (e) {
9523              var i = document.activeElement;
9524              return (
9525                e.parent().is(".ui-effects-wrapper") &&
9526                  (e.parent().replaceWith(e),
9527                  (e[0] === i || t.contains(e[0], i)) && t(i).trigger("focus")),
9528                e
9529              );
9530            },
9531          }),
9532        t.extend(t.effects, {
9533          version: "1.12.1",
9534          define: function (e, i, s) {
9535            return (
9536              s || ((s = i), (i = "effect")),
9537              (t.effects.effect[e] = s),
9538              (t.effects.effect[e].mode = i),
9539              s
9540            );
9541          },
9542          scaledDimensions: function (t, e, i) {
9543            if (0 === e)
9544              return { height: 0, width: 0, outerHeight: 0, outerWidth: 0 };
9545            var s = "horizontal" !== i ? (e || 100) / 100 : 1,
9546              n = "vertical" !== i ? (e || 100) / 100 : 1;
9547            return {
9548              height: t.height() * n,
9549              width: t.width() * s,
9550              outerHeight: t.outerHeight() * n,
9551              outerWidth: t.outerWidth() * s,
9552            };
9553          },
9554          clipToBox: function (t) {
9555            return {
9556              width: t.clip.right - t.clip.left,
9557              height: t.clip.bottom - t.clip.top,
9558              left: t.clip.left,
9559              top: t.clip.top,
9560            };
9561          },
9562          unshift: function (t, e, i) {
9563            var s = t.queue();
9564            e > 1 && s.splice.apply(s, [1, 0].concat(s.splice(e, i))),
9565              t.dequeue();
9566          },
9567          saveStyle: function (t) {
9568            t.data(i, t[0].style.cssText);
9569          },
9570          restoreStyle: function (t) {
9571            (t[0].style.cssText = t.data(i) || ""), t.removeData(i);
9572          },
9573          mode: function (t, e) {
9574            var i = t.is(":hidden");
9575            return (
9576              "toggle" === e && (e = i ? "show" : "hide"),
9577              (i ? "hide" === e : "show" === e) && (e = "none"),
9578              e
9579            );
9580          },
9581          getBaseline: function (t, e) {
9582            var i, s;
9583            switch (t[0]) {
9584              case "top":
9585                i = 0;
9586                break;
9587              case "middle":
9588                i = 0.5;
9589                break;
9590              case "bottom":
9591                i = 1;
9592                break;
9593              default:
9594                i = t[0] / e.height;
9595            }
9596            switch (t[1]) {
9597              case "left":
9598                s = 0;
9599                break;
9600              case "center":
9601                s = 0.5;
9602                break;
9603              case "right":
9604                s = 1;
9605                break;
9606              default:
9607                s = t[1] / e.width;
9608            }
9609            return { x: s, y: i };
9610          },
9611          createPlaceholder: function (i) {
9612            var s,
9613              n = i.css("position"),
9614              o = i.position();
9615            return (
9616              i
9617                .css({
9618                  marginTop: i.css("marginTop"),
9619                  marginBottom: i.css("marginBottom"),
9620                  marginLeft: i.css("marginLeft"),
9621                  marginRight: i.css("marginRight"),
9622                })
9623                .outerWidth(i.outerWidth())
9624                .outerHeight(i.outerHeight()),
9625              /^(static|relative)/.test(n) &&
9626                ((n = "absolute"),
9627                (s = t("<" + i[0].nodeName + ">")
9628                  .insertAfter(i)
9629                  .css({
9630                    display: /^(inline|ruby)/.test(i.css("display"))
9631                      ? "inline-block"
9632                      : "block",
9633                    visibility: "hidden",
9634                    marginTop: i.css("marginTop"),
9635                    marginBottom: i.css("marginBottom"),
9636                    marginLeft: i.css("marginLeft"),
9637                    marginRight: i.css("marginRight"),
9638                    float: i.css("float"),
9639                  })
9640                  .outerWidth(i.outerWidth())
9641                  .outerHeight(i.outerHeight())
9642                  .addClass("ui-effects-placeholder")),
9643                i.data(e + "placeholder", s)),
9644              i.css({ position: n, left: o.left, top: o.top }),
9645              s
9646            );
9647          },
9648          removePlaceholder: function (t) {
9649            var i = e + "placeholder",
9650              s = t.data(i);
9651            s && (s.remove(), t.removeData(i));
9652          },
9653          cleanUp: function (e) {
9654            t.effects.restoreStyle(e), t.effects.removePlaceholder(e);
9655          },
9656          setTransition: function (e, i, s, n) {
9657            return (
9658              (n = n || {}),
9659              t.each(i, function (t, i) {
9660                var o = e.cssUnit(i);
9661                o[0] > 0 && (n[i] = o[0] * s + o[1]);
9662              }),
9663              n
9664            );
9665          },
9666        }),
9667        t.fn.extend({
9668          effect: function () {
9669            function e(e) {
9670              function n() {
9671                l.removeData(s),
9672                  t.effects.cleanUp(l),
9673                  "hide" === i.mode && l.hide(),
9674                  r();
9675              }
9676              function r() {
9677                t.isFunction(h) && h.call(l[0]), t.isFunction(e) && e();
9678              }
9679              var l = t(this);
9680              (i.mode = u.shift()),
9681                t.uiBackCompat === !1 || a
9682                  ? "none" === i.mode
9683                    ? (l[c](), r())
9684                    : o.call(l[0], i, n)
9685                  : (l.is(":hidden") ? "hide" === c : "show" === c)
9686                  ? (l[c](), r())
9687                  : o.call(l[0], i, r);
9688            }
9689            var i = n.apply(this, arguments),
9690              o = t.effects.effect[i.effect],
9691              a = o.mode,
9692              r = i.queue,
9693              l = r || "fx",
9694              h = i.complete,
9695              c = i.mode,
9696              u = [],
9697              d = function (e) {
9698                var i = t(this),
9699                  n = t.effects.mode(i, c) || a;
9700                i.data(s, !0),
9701                  u.push(n),
9702                  a && ("show" === n || (n === a && "hide" === n)) && i.show(),
9703                  (a && "none" === n) || t.effects.saveStyle(i),
9704                  t.isFunction(e) && e();
9705              };
9706            return t.fx.off || !o
9707              ? c
9708                ? this[c](i.duration, h)
9709                : this.each(function () {
9710                    h && h.call(this);
9711                  })
9712              : r === !1
9713              ? this.each(d).each(e)
9714              : this.queue(l, d).queue(l, e);
9715          },
9716          show: (function (t) {
9717            return function (e) {
9718              if (o(e)) return t.apply(this, arguments);
9719              var i = n.apply(this, arguments);
9720              return (i.mode = "show"), this.effect.call(this, i);
9721            };
9722          })(t.fn.show),
9723          hide: (function (t) {
9724            return function (e) {
9725              if (o(e)) return t.apply(this, arguments);
9726              var i = n.apply(this, arguments);
9727              return (i.mode = "hide"), this.effect.call(this, i);
9728            };
9729          })(t.fn.hide),
9730          toggle: (function (t) {
9731            return function (e) {
9732              if (o(e) || "boolean" == typeof e)
9733                return t.apply(this, arguments);
9734              var i = n.apply(this, arguments);
9735              return (i.mode = "toggle"), this.effect.call(this, i);
9736            };
9737          })(t.fn.toggle),
9738          cssUnit: function (e) {
9739            var i = this.css(e),
9740              s = [];
9741            return (
9742              t.each(["em", "px", "%", "pt"], function (t, e) {
9743                i.indexOf(e) > 0 && (s = [parseFloat(i), e]);
9744              }),
9745              s
9746            );
9747          },
9748          cssClip: function (t) {
9749            return t
9750              ? this.css(
9751                  "clip",
9752                  "rect(" +
9753                    t.top +
9754                    "px " +
9755                    t.right +
9756                    "px " +
9757                    t.bottom +
9758                    "px " +
9759                    t.left +
9760                    "px)"
9761                )
9762              : a(this.css("clip"), this);
9763          },
9764          transfer: function (e, i) {
9765            var s = t(this),
9766              n = t(e.to),
9767              o = "fixed" === n.css("position"),
9768              a = t("body"),
9769              r = o ? a.scrollTop() : 0,
9770              l = o ? a.scrollLeft() : 0,
9771              h = n.offset(),
9772              c = {
9773                top: h.top - r,
9774                left: h.left - l,
9775                height: n.innerHeight(),
9776                width: n.innerWidth(),
9777              },
9778              u = s.offset(),
9779              d = t("<div class='ui-effects-transfer'></div>")
9780                .appendTo("body")
9781                .addClass(e.className)
9782                .css({
9783                  top: u.top - r,
9784                  left: u.left - l,
9785                  height: s.innerHeight(),
9786                  width: s.innerWidth(),
9787                  position: o ? "fixed" : "absolute",
9788                })
9789                .animate(c, e.duration, e.easing, function () {
9790                  d.remove(), t.isFunction(i) && i();
9791                });
9792          },
9793        }),
9794        (t.fx.step.clip = function (e) {
9795          e.clipInit ||
9796            ((e.start = t(e.elem).cssClip()),
9797            "string" == typeof e.end && (e.end = a(e.end, e.elem)),
9798            (e.clipInit = !0)),
9799            t(e.elem).cssClip({
9800              top: e.pos * (e.end.top - e.start.top) + e.start.top,
9801              right: e.pos * (e.end.right - e.start.right) + e.start.right,
9802              bottom: e.pos * (e.end.bottom - e.start.bottom) + e.start.bottom,
9803              left: e.pos * (e.end.left - e.start.left) + e.start.left,
9804            });
9805        });
9806    })(),
9807    (function () {
9808      var e = {};
9809      t.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], function (t, i) {
9810        e[i] = function (e) {
9811          return Math.pow(e, t + 2);
9812        };
9813      }),
9814        t.extend(e, {
9815          Sine: function (t) {
9816            return 1 - Math.cos((t * Math.PI) / 2);
9817          },
9818          Circ: function (t) {
9819            return 1 - Math.sqrt(1 - t * t);
9820          },
9821          Elastic: function (t) {
9822            return 0 === t || 1 === t
9823              ? t
9824              : -Math.pow(2, 8 * (t - 1)) *
9825                  Math.sin(((80 * (t - 1) - 7.5) * Math.PI) / 15);
9826          },
9827          Back: function (t) {
9828            return t * t * (3 * t - 2);
9829          },
9830          Bounce: function (t) {
9831            for (var e, i = 4; ((e = Math.pow(2, --i)) - 1) / 11 > t; );
9832            return (
9833              1 / Math.pow(4, 3 - i) -
9834              7.5625 * Math.pow((3 * e - 2) / 22 - t, 2)
9835            );
9836          },
9837        }),
9838        t.each(e, function (e, i) {
9839          (t.easing["easeIn" + e] = i),
9840            (t.easing["easeOut" + e] = function (t) {
9841              return 1 - i(1 - t);
9842            }),
9843            (t.easing["easeInOut" + e] = function (t) {
9844              return 0.5 > t ? i(2 * t) / 2 : 1 - i(-2 * t + 2) / 2;
9845            });
9846        });
9847    })(),
9848    t.effects;
9849});
9850
9851!(function (t, e) {
9852  "function" == typeof define && define.amd
9853    ? define([], e)
9854    : "object" == typeof exports
9855    ? (module.exports = e())
9856    : (t.Marquee3k = e());
9857})(this, function () {
9858  "use strict";
9859  let t = 0;
9860  class e {
9861    constructor(t, e) {
9862      (this.element = t),
9863        (this.selector = e.selector),
9864        (this.speed = t.dataset.speed || 0.25),
9865        (this.pausable = t.dataset.pausable),
9866        (this.reverse = t.dataset.reverse),
9867        (this.paused = !1),
9868        (this.parent = t.parentElement),
9869        (this.parentProps = this.parent.getBoundingClientRect()),
9870        (this.content = t.children[0]),
9871        (this.innerContent = this.content.innerHTML),
9872        (this.wrapStyles = ""),
9873        (this.offset = 0),
9874        this._setupWrapper(),
9875        this._setupContent(),
9876        this._setupEvents(),
9877        this.wrapper.appendChild(this.content),
9878        this.element.appendChild(this.wrapper);
9879    }
9880    _setupWrapper() {
9881      (this.wrapper = document.createElement("div")),
9882        this.wrapper.classList.add("marquee3k__wrapper"),
9883        (this.wrapper.style.whiteSpace = "nowrap");
9884    }
9885    _setupContent() {
9886      this.content.classList.add(`${this.selector}__copy`),
9887        (this.content.style.display = "inline-block"),
9888        (this.contentWidth = this.content.offsetWidth),
9889        (this.requiredReps =
9890          this.contentWidth > this.parentProps.width
9891            ? 2
9892            : Math.ceil(
9893                (this.parentProps.width - this.contentWidth) / this.contentWidth
9894              ) + 1);
9895      for (let t = 0; t < this.requiredReps; t++) this._createClone();
9896      this.reverse && (this.offset = -1 * this.contentWidth),
9897        this.element.classList.add("is-init");
9898    }
9899    _setupEvents() {
9900      this.element.addEventListener("mouseenter", () => {
9901        this.pausable && (this.paused = !0);
9902      }),
9903        this.element.addEventListener("mouseleave", () => {
9904          this.pausable && (this.paused = !1);
9905        });
9906    }
9907    _createClone() {
9908      const t = this.content.cloneNode(!0);
9909      (t.style.display = "inline-block"),
9910        t.classList.add(`${this.selector}__copy`),
9911        this.wrapper.appendChild(t);
9912    }
9913    animate() {
9914      if (!this.paused) {
9915        const t = this.reverse
9916            ? this.offset < 0
9917            : this.offset > -1 * this.contentWidth,
9918          e = this.reverse ? -1 : 1,
9919          s = this.reverse ? -1 * this.contentWidth : 0;
9920        t ? (this.offset -= this.speed * e) : (this.offset = s),
9921          (this.wrapper.style.whiteSpace = "nowrap"),
9922          (this.wrapper.style.transform = `translate(${this.offset}px, 0) translateZ(0)`);
9923      }
9924    }
9925    _refresh() {
9926      this.contentWidth = this.content.offsetWidth;
9927    }
9928    repopulate(t, e) {
9929      if (((this.contentWidth = this.content.offsetWidth), e)) {
9930        const e = Math.ceil(t / this.contentWidth) + 1;
9931        for (let t = 0; t < e; t++) this._createClone();
9932      }
9933    }
9934    static refresh(t) {
9935      MARQUEES[t]._refresh();
9936    }
9937    static pause(t) {
9938      MARQUEES[t].paused = !0;
9939    }
9940    static play(t) {
9941      MARQUEES[t].paused = !1;
9942    }
9943    static toggle(t) {
9944      MARQUEES[t].paused = !MARQUEES[t].paused;
9945    }
9946    static refreshAll() {
9947      for (let t = 0; t < MARQUEES.length; t++) MARQUEES[t]._refresh();
9948    }
9949    static pauseAll() {
9950      for (let t = 0; t < MARQUEES.length; t++) MARQUEES[t].paused = !0;
9951    }
9952    static playAll() {
9953      for (let t = 0; t < MARQUEES.length; t++) MARQUEES[t].paused = !1;
9954    }
9955    static toggleAll() {
9956      for (let t = 0; t < MARQUEES.length; t++)
9957        MARQUEES[t].paused = !MARQUEES[t].paused;
9958    }
9959    static init(s = { selector: "marquee3k" }) {
9960      t && window.cancelAnimationFrame(t), (window.MARQUEES = []);
9961      const i = Array.from(document.querySelectorAll(`.${s.selector}`));
9962      let n,
9963        r = window.innerWidth;
9964      for (let t = 0; t < i.length; t++) {
9965        const n = i[t],
9966          r = new e(n, s);
9967        MARQUEES.push(r);
9968      }
9969      !(function e() {
9970        for (let t = 0; t < MARQUEES.length; t++) MARQUEES[t].animate();
9971        t = window.requestAnimationFrame(e);
9972      })(),
9973        window.addEventListener("resize", () => {
9974          clearTimeout(n),
9975            (n = setTimeout(() => {
9976              const t = r < window.innerWidth,
9977                e = window.innerWidth - r;
9978              for (let s = 0; s < MARQUEES.length; s++)
9979                MARQUEES[s].repopulate(e, t);
9980              r = this.innerWidth;
9981            }, 250));
9982        });
9983    }
9984  }
9985  return e;
9986});

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.