<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">! function (t) {
  "use strict";
  var e = '[data-dismiss="alert"]',
    i = function (i) {
      t(i).on("click", e, this.close)
    };
  i.prototype.close = function (e) {
    function i() {
      a.trigger("closed.bs.alert").remove()
    }
    var n = t(this),
      o = n.attr("data-target");
    o || (o = (o = n.attr("href")) &amp;&amp; o.replace(/.*(?=#[^\s]*$)/, ""));
    var a = t(o);
    e &amp;&amp; e.preventDefault(), a.length || (a = n.hasClass("alert") ? n : n.parent()), a.trigger(e = t.Event("close.bs.alert")), e.isDefaultPrevented() || (a.removeClass("in"), t.support.transition &amp;&amp; a.hasClass("fade") ? a.one(t.support.transition.end, i).emulateTransitionEnd(150) : i())
  };
  var n = t.fn.alert;
  t.fn.alert = function (e) {
    return this.each(function () {
      var n = t(this),
        o = n.data("bs.alert");
      o || n.data("bs.alert", o = new i(this)), "string" == typeof e &amp;&amp; o[e].call(n)
    })
  }, t.fn.alert.Constructor = i, t.fn.alert.noConflict = function () {
    return t.fn.alert = n, this
  }, t(document).on("click.bs.alert.data-api", e, i.prototype.close)
}(jQuery),
function (t) {
  "use strict";
  var e = function (i, n) {
    this.$element = t(i), this.options = t.extend({}, e.DEFAULTS, n), this.isLoading = !1
  };
  e.DEFAULTS = {
    loadingText: "loading..."
  }, e.prototype.setState = function (e) {
    var i = "disabled",
      n = this.$element,
      o = n.is("input") ? "val" : "html",
      a = n.data();
    e += "Text", a.resetText || n.data("resetText", n[o]()), n[o](a[e] || this.options[e]), setTimeout(t.proxy(function () {
      "loadingText" == e ? (this.isLoading = !0, n.addClass(i).attr(i, i)) : this.isLoading &amp;&amp; (this.isLoading = !1, n.removeClass(i).removeAttr(i))
    }, this), 0)
  }, e.prototype.toggle = function () {
    var t = !0,
      e = this.$element.closest('[data-toggle="buttons"]');
    if (e.length) {
      var i = this.$element.find("input");
      "radio" == i.prop("type") &amp;&amp; (i.prop("checked") &amp;&amp; this.$element.hasClass("active") ? t = !1 : e.find(".active").removeClass("active")), t &amp;&amp; i.prop("checked", !this.$element.hasClass("active")).trigger("change")
    }
    t &amp;&amp; this.$element.toggleClass("active")
  };
  var i = t.fn.button;
  t.fn.button = function (i) {
    return this.each(function () {
      var n = t(this),
        o = n.data("bs.button"),
        a = "object" == typeof i &amp;&amp; i;
      o || n.data("bs.button", o = new e(this, a)), "toggle" == i ? o.toggle() : i &amp;&amp; o.setState(i)
    })
  }, t.fn.button.Constructor = e, t.fn.button.noConflict = function () {
    return t.fn.button = i, this
  }, t(document).on("click.bs.button.data-api", "[data-toggle^=button]", function (e) {
    var i = t(e.target);
    i.hasClass("btn") || (i = i.closest(".btn")), i.button("toggle"), e.preventDefault()
  })
}(jQuery),
function (t) {
  "use strict";
  var e = function (e, i) {
    this.$element = t(e), this.$indicators = this.$element.find(".carousel-indicators"), this.options = i, this.paused = this.sliding = this.interval = this.$active = this.$items = null, "hover" == this.options.pause &amp;&amp; this.$element.on("mouseenter", t.proxy(this.pause, this)).on("mouseleave", t.proxy(this.cycle, this))
  };
  e.DEFAULTS = {
    interval: 5e3,
    pause: "hover",
    wrap: !0
  }, e.prototype.cycle = function (e) {
    return e || (this.paused = !1), this.interval &amp;&amp; clearInterval(this.interval), this.options.interval &amp;&amp; !this.paused &amp;&amp; (this.interval = setInterval(t.proxy(this.next, this), this.options.interval)), this
  }, e.prototype.getActiveIndex = function () {
    return this.$active = this.$element.find(".item.active"), this.$items = this.$active.parent().children(), this.$items.index(this.$active)
  }, e.prototype.to = function (e) {
    var i = this,
      n = this.getActiveIndex();
    if (!(e &gt; this.$items.length - 1 || 0 &gt; e)) return this.sliding ? this.$element.one("slid.bs.carousel", function () {
      i.to(e)
    }) : n == e ? this.pause().cycle() : this.slide(e &gt; n ? "next" : "prev", t(this.$items[e]))
  }, e.prototype.pause = function (e) {
    return e || (this.paused = !0), this.$element.find(".next, .prev").length &amp;&amp; t.support.transition &amp;&amp; (this.$element.trigger(t.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this
  }, e.prototype.next = function () {
    return this.sliding ? void 0 : this.slide("next")
  }, e.prototype.prev = function () {
    return this.sliding ? void 0 : this.slide("prev")
  }, e.prototype.slide = function (e, i) {
    var n = this.$element.find(".item.active"),
      o = i || n[e](),
      a = this.interval,
      s = "next" == e ? "left" : "right",
      r = "next" == e ? "first" : "last",
      l = this;
    if (!o.length) {
      if (!this.options.wrap) return;
      o = this.$element.find(".item")[r]()
    }
    if (o.hasClass("active")) return this.sliding = !1;
    var d = t.Event("slide.bs.carousel", {
      relatedTarget: o[0],
      direction: s
    });
    return this.$element.trigger(d), d.isDefaultPrevented() ? void 0 : (this.sliding = !0, a &amp;&amp; this.pause(), this.$indicators.length &amp;&amp; (this.$indicators.find(".active").removeClass("active"), this.$element.one("slid.bs.carousel", function () {
      var e = t(l.$indicators.children()[l.getActiveIndex()]);
      e &amp;&amp; e.addClass("active")
    })), t.support.transition &amp;&amp; this.$element.hasClass("slide") ? (o.addClass(e), o[0].offsetWidth, n.addClass(s), o.addClass(s), n.one(t.support.transition.end, function () {
      o.removeClass([e, s].join(" ")).addClass("active"), n.removeClass(["active", s].join(" ")), l.sliding = !1, setTimeout(function () {
        l.$element.trigger("slid.bs.carousel")
      }, 0)
    }).emulateTransitionEnd(1e3 * n.css("transition-duration").slice(0, -1))) : (n.removeClass("active"), o.addClass("active"), this.sliding = !1, this.$element.trigger("slid.bs.carousel")), a &amp;&amp; this.cycle(), this)
  };
  var i = t.fn.carousel;
  t.fn.carousel = function (i) {
    return this.each(function () {
      var n = t(this),
        o = n.data("bs.carousel"),
        a = t.extend({}, e.DEFAULTS, n.data(), "object" == typeof i &amp;&amp; i),
        s = "string" == typeof i ? i : a.slide;
      o || n.data("bs.carousel", o = new e(this, a)), "number" == typeof i ? o.to(i) : s ? o[s]() : a.interval &amp;&amp; o.pause().cycle()
    })
  }, t.fn.carousel.Constructor = e, t.fn.carousel.noConflict = function () {
    return t.fn.carousel = i, this
  }, t(document).on("click.bs.carousel.data-api", "[data-slide], [data-slide-to]", function (e) {
    var i, n = t(this),
      o = t(n.attr("data-target") || (i = n.attr("href")) &amp;&amp; i.replace(/.*(?=#[^\s]+$)/, "")),
      a = t.extend({}, o.data(), n.data()),
      s = n.attr("data-slide-to");
    s &amp;&amp; (a.interval = !1), o.carousel(a), (s = n.attr("data-slide-to")) &amp;&amp; o.data("bs.carousel").to(s), e.preventDefault()
  }), t(window).on("load", function () {
    t('[data-ride="carousel"]').each(function () {
      var e = t(this);
      e.carousel(e.data())
    })
  })
}(jQuery),
function (t) {
  function e(e) {
    t(n).remove(), t(o).each(function () {
      var n = i(t(this)),
        o = {
          relatedTarget: this
        };
      n.hasClass("open") &amp;&amp; (n.trigger(e = t.Event("hide.bs.dropdown", o)), e.isDefaultPrevented() || n.removeClass("open").trigger("hidden.bs.dropdown", o))
    })
  }

  function i(e) {
    var i = e.attr("data-target");
    i || (i = (i = e.attr("href")) &amp;&amp; /#[A-Za-z]/.test(i) &amp;&amp; i.replace(/.*(?=#[^\s]*$)/, ""));
    var n = i &amp;&amp; t(i);
    return n &amp;&amp; n.length ? n : e.parent()
  }
  var n = ".dropdown-backdrop",
    o = "[data-toggle=dropdown]",
    a = function (e) {
      t(e).on("click.bs.dropdown", this.toggle)
    };
  a.prototype.toggle = function (n) {
    var o = t(this);
    if (null == o.parents(".menuList").eq(0) &amp;&amp; !o.is(".disabled, :disabled")) {
      var a = i(o),
        s = a.hasClass("open");
      if (e(), !s) {
        "ontouchstart" in document.documentElement &amp;&amp; !a.closest(".navbar-nav").length &amp;&amp; t('&lt;div class="dropdown-backdrop"/&gt;').insertAfter(t(this)).on("click", e);
        var r = {
          relatedTarget: this
        };
        if (a.trigger(n = t.Event("show.bs.dropdown", r)), n.isDefaultPrevented()) return;
        a.toggleClass("open").trigger("shown.bs.dropdown", r), o.focus()
      }
      return !1
    }
  }, a.prototype.keydown = function (e) {
    if (/(38|40|27)/.test(e.keyCode)) {
      var n = t(this);
      if (e.preventDefault(), e.stopPropagation(), !n.is(".disabled, :disabled")) {
        var a = i(n),
          s = a.hasClass("open");
        if (!s || s &amp;&amp; 27 == e.keyCode) return 27 == e.which &amp;&amp; a.find(o).focus(), n.click();
        var r = " li:not(.divider):visible a",
          l = a.find("[role=menu]" + r + ", [role=listbox]" + r);
        if (l.length) {
          var d = l.index(l.filter(":focus"));
          38 == e.keyCode &amp;&amp; d &gt; 0 &amp;&amp; d--, 40 == e.keyCode &amp;&amp; d &lt; l.length - 1 &amp;&amp; d++, ~d || (d = 0), l.eq(d).focus()
        }
      }
    }
  };
  var s = t.fn.dropdown;
  t.fn.dropdown = function (e) {
    return this.each(function () {
      var i = t(this),
        n = i.data("bs.dropdown");
      n || i.data("bs.dropdown", n = new a(this)), "string" == typeof e &amp;&amp; n[e].call(i)
    })
  }, t.fn.dropdown.Constructor = a, t.fn.dropdown.noConflict = function () {
    return t.fn.dropdown = s, this
  }, t(document).on("click.bs.dropdown.data-api", e).on("click.bs.dropdown.data-api", ".dropdown form", function (t) {
    t.stopPropagation()
  }).on("click.bs.dropdown.data-api", o, a.prototype.toggle).on("keydown.bs.dropdown.data-api", o + ", [role=menu], [role=listbox]", a.prototype.keydown)
}(jQuery),
function (t) {
  "use strict";
  var e = function (e, i) {
    this.options = i, this.$element = t(e), this.$backdrop = this.isShown = null, this.options.remote &amp;&amp; this.$element.find(".modal-content").load(this.options.remote, t.proxy(function () {
      this.$element.trigger("loaded.bs.modal")
    }, this))
  };
  e.DEFAULTS = {
    backdrop: !0,
    keyboard: !0,
    show: !0
  }, e.prototype.toggle = function (t) {
    return this[this.isShown ? "hide" : "show"](t)
  }, e.prototype.show = function (e) {
    var i = this,
      n = t.Event("show.bs.modal", {
        relatedTarget: e
      });
    this.$element.trigger(n), this.isShown || n.isDefaultPrevented() || (this.isShown = !0, this.escape(), this.$element.on("click.dismiss.bs.modal", '[data-dismiss="modal"]', t.proxy(this.hide, this)), this.backdrop(function () {
      var n = t.support.transition &amp;&amp; i.$element.hasClass("fade");
      i.$element.parent().length || i.$element.appendTo(document.body), i.$element.show().scrollTop(0), n &amp;&amp; i.$element[0].offsetWidth, i.$element.addClass("in").attr("aria-hidden", !1), i.enforceFocus();
      var o = t.Event("shown.bs.modal", {
        relatedTarget: e
      });
      n ? i.$element.find(".modal-dialog").one(t.support.transition.end, function () {
        i.$element.focus().trigger(o)
      }).emulateTransitionEnd(300) : i.$element.focus().trigger(o)
    }))
  }, e.prototype.hide = function (e) {
    e &amp;&amp; e.preventDefault(), e = t.Event("hide.bs.modal"), this.$element.trigger(e), this.isShown &amp;&amp; !e.isDefaultPrevented() &amp;&amp; (this.isShown = !1, this.escape(), t(document).off("focusin.bs.modal"), this.$element.removeClass("in").attr("aria-hidden", !0).off("click.dismiss.bs.modal"), t.support.transition &amp;&amp; this.$element.hasClass("fade") ? this.$element.one(t.support.transition.end, t.proxy(this.hideModal, this)).emulateTransitionEnd(300) : this.hideModal())
  }, e.prototype.enforceFocus = function () {
    t(document).off("focusin.bs.modal").on("focusin.bs.modal", t.proxy(function (t) {
      this.$element[0] !== t.target &amp;&amp; !this.$element.has(t.target).length &amp;&amp; this.$element.focus()
    }, this))
  }, e.prototype.escape = function () {
    this.isShown &amp;&amp; this.options.keyboard ? this.$element.on("keyup.dismiss.bs.modal", t.proxy(function (t) {
      27 == t.which &amp;&amp; this.hide()
    }, this)) : this.isShown || this.$element.off("keyup.dismiss.bs.modal")
  }, e.prototype.hideModal = function () {
    var t = this;
    this.$element.hide(), this.backdrop(function () {
      t.removeBackdrop(), t.$element.trigger("hidden.bs.modal")
    })
  }, e.prototype.removeBackdrop = function () {
    this.$backdrop &amp;&amp; this.$backdrop.remove(), this.$backdrop = null
  }, e.prototype.backdrop = function (e) {
    var i = this.$element.hasClass("fade") ? "fade" : "";
    if (this.isShown &amp;&amp; this.options.backdrop) {
      var n = t.support.transition &amp;&amp; i;
      if (this.$backdrop = t('&lt;div class="modal-backdrop ' + i + '" /&gt;').appendTo(document.body), this.$element.on("click.dismiss.bs.modal", t.proxy(function (t) {
          t.target === t.currentTarget &amp;&amp; ("static" == this.options.backdrop ? this.$element[0].focus.call(this.$element[0]) : this.hide.call(this))
        }, this)), n &amp;&amp; this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !e) return;
      n ? this.$backdrop.one(t.support.transition.end, e).emulateTransitionEnd(150) : e()
    } else !this.isShown &amp;&amp; this.$backdrop ? (this.$backdrop.removeClass("in"), t.support.transition &amp;&amp; this.$element.hasClass("fade") ? this.$backdrop.one(t.support.transition.end, e).emulateTransitionEnd(150) : e()) : e &amp;&amp; e()
  };
  var i = t.fn.modal;
  t.fn.modal = function (i, n) {
    return this.each(function () {
      var o = t(this),
        a = o.data("bs.modal"),
        s = t.extend({}, e.DEFAULTS, o.data(), "object" == typeof i &amp;&amp; i);
      a || o.data("bs.modal", a = new e(this, s)), "string" == typeof i ? a[i](n) : s.show &amp;&amp; a.show(n)
    })
  }, t.fn.modal.Constructor = e, t.fn.modal.noConflict = function () {
    return t.fn.modal = i, this
  }, t(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function (e) {
    var i = t(this),
      n = i.attr("href"),
      o = t(i.attr("data-target") || n &amp;&amp; n.replace(/.*(?=#[^\s]+$)/, "")),
      a = o.data("bs.modal") ? "toggle" : t.extend({
        remote: !/#/.test(n) &amp;&amp; n
      }, o.data(), i.data());
    i.is("a") &amp;&amp; e.preventDefault(), o.modal(a, this).one("hide", function () {
      i.is(":visible") &amp;&amp; i.focus()
    })
  }), t(document).on("show.bs.modal", ".modal", function () {
    t(document.body).addClass("modal-open")
  }).on("hidden.bs.modal", ".modal", function () {
    t(document.body).removeClass("modal-open")
  })
}(jQuery),
function (t) {
  "use strict";
  var e = function (t, e) {
    this.type = this.options = this.enabled = this.timeout = this.hoverState = this.$element = null, this.init("tooltip", t, e)
  };
  e.DEFAULTS = {
    animation: !0,
    placement: "top",
    selector: !1,
    template: '&lt;div class="tooltip"&gt;&lt;div class="tooltip-arrow"&gt;&lt;/div&gt;&lt;div class="tooltip-inner"&gt;&lt;/div&gt;&lt;/div&gt;',
    trigger: "hover focus",
    title: "",
    delay: 0,
    html: !1,
    container: !1
  }, e.prototype.init = function (e, i, n) {
    this.enabled = !0, this.type = e, this.$element = t(i), this.options = this.getOptions(n);
    for (var o = this.options.trigger.split(" "), a = o.length; a--;) {
      var s = o[a];
      if ("click" == s) this.$element.on("click." + this.type, this.options.selector, t.proxy(this.toggle, this));
      else if ("manual" != s) {
        var r = "hover" == s ? "mouseenter" : "focusin",
          l = "hover" == s ? "mouseleave" : "focusout";
        this.$element.on(r + "." + this.type, this.options.selector, t.proxy(this.enter, this)), this.$element.on(l + "." + this.type, this.options.selector, t.proxy(this.leave, this))
      }
    }
    this.options.selector ? this._options = t.extend({}, this.options, {
      trigger: "manual",
      selector: ""
    }) : this.fixTitle()
  }, e.prototype.getDefaults = function () {
    return e.DEFAULTS
  }, e.prototype.getOptions = function (e) {
    return (e = t.extend({}, this.getDefaults(), this.$element.data(), e)).delay &amp;&amp; "number" == typeof e.delay &amp;&amp; (e.delay = {
      show: e.delay,
      hide: e.delay
    }), e
  }, e.prototype.getDelegateOptions = function () {
    var e = {},
      i = this.getDefaults();
    return this._options &amp;&amp; t.each(this._options, function (t, n) {
      i[t] != n &amp;&amp; (e[t] = n)
    }), e
  }, e.prototype.enter = function (e) {
    var i = e instanceof this.constructor ? e : t(e.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type);
    return clearTimeout(i.timeout), i.hoverState = "in", i.options.delay &amp;&amp; i.options.delay.show ? void(i.timeout = setTimeout(function () {
      "in" == i.hoverState &amp;&amp; i.show()
    }, i.options.delay.show)) : i.show()
  }, e.prototype.leave = function (e) {
    var i = e instanceof this.constructor ? e : t(e.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type);
    return clearTimeout(i.timeout), i.hoverState = "out", i.options.delay &amp;&amp; i.options.delay.hide ? void(i.timeout = setTimeout(function () {
      "out" == i.hoverState &amp;&amp; i.hide()
    }, i.options.delay.hide)) : i.hide()
  }, e.prototype.show = function () {
    var e = t.Event("show.bs." + this.type);
    if (this.hasContent() &amp;&amp; this.enabled) {
      if (this.$element.trigger(e), e.isDefaultPrevented()) return;
      var i = this,
        n = this.tip();
      this.setContent(), this.options.animation &amp;&amp; n.addClass("fade");
      var o = "function" == typeof this.options.placement ? this.options.placement.call(this, n[0], this.$element[0]) : this.options.placement,
        a = /\s?auto?\s?/i,
        s = a.test(o);
      s &amp;&amp; (o = o.replace(a, "") || "top"), n.detach().css({
        top: 0,
        left: 0,
        display: "block"
      }).addClass(o), this.options.container ? n.appendTo(this.options.container) : n.insertAfter(this.$element);
      var r = this.getPosition(),
        l = n[0].offsetWidth,
        d = n[0].offsetHeight;
      if (s) {
        var c = this.$element.parent(),
          h = o,
          u = document.documentElement.scrollTop || document.body.scrollTop,
          p = "body" == this.options.container ? window.innerWidth : c.outerWidth(),
          f = "body" == this.options.container ? window.innerHeight : c.outerHeight(),
          v = "body" == this.options.container ? 0 : c.offset().left;
        o = "bottom" == o &amp;&amp; r.top + r.height + d - u &gt; f ? "top" : "top" == o &amp;&amp; r.top - u - d &lt; 0 ? "bottom" : "right" == o &amp;&amp; r.right + l &gt; p ? "left" : "left" == o &amp;&amp; r.left - l &lt; v ? "right" : o, n.removeClass(h).addClass(o)
      }
      var m = this.getCalculatedOffset(o, r, l, d);
      this.applyPlacement(m, o), this.hoverState = null;
      var g = function () {
        i.$element.trigger("shown.bs." + i.type)
      };
      t.support.transition &amp;&amp; this.$tip.hasClass("fade") ? n.one(t.support.transition.end, g).emulateTransitionEnd(150) : g()
    }
  }, e.prototype.applyPlacement = function (e, i) {
    var n, o = this.tip(),
      a = o[0].offsetWidth,
      s = o[0].offsetHeight,
      r = parseInt(o.css("margin-top"), 10),
      l = parseInt(o.css("margin-left"), 10);
    isNaN(r) &amp;&amp; (r = 0), isNaN(l) &amp;&amp; (l = 0), e.top = e.top + r, e.left = e.left + l, t.offset.setOffset(o[0], t.extend({
      using: function (t) {
        o.css({
          top: Math.round(t.top),
          left: Math.round(t.left)
        })
      }
    }, e), 0), o.addClass("in");
    var d = o[0].offsetWidth,
      c = o[0].offsetHeight;
    if ("top" == i &amp;&amp; c != s &amp;&amp; (n = !0, e.top = e.top + s - c), /bottom|top/.test(i)) {
      var h = 0;
      e.left &lt; 0 &amp;&amp; (h = -2 * e.left, e.left = 0, o.offset(e), d = o[0].offsetWidth, c = o[0].offsetHeight), this.replaceArrow(h - a + d, d, "left")
    } else this.replaceArrow(c - s, c, "top");
    n &amp;&amp; o.offset(e)
  }, e.prototype.replaceArrow = function (t, e, i) {
    this.arrow().css(i, t ? 50 * (1 - t / e) + "%" : "")
  }, e.prototype.setContent = function () {
    var t = this.tip(),
      e = this.getTitle();
    t.find(".tooltip-inner")[this.options.html ? "html" : "text"](e), t.removeClass("fade in top bottom left right")
  }, e.prototype.hide = function () {
    function e() {
      "in" != i.hoverState &amp;&amp; n.detach(), i.$element.trigger("hidden.bs." + i.type)
    }
    var i = this,
      n = this.tip(),
      o = t.Event("hide.bs." + this.type);
    return this.$element.trigger(o), o.isDefaultPrevented() ? void 0 : (n.removeClass("in"), t.support.transition &amp;&amp; this.$tip.hasClass("fade") ? n.one(t.support.transition.end, e).emulateTransitionEnd(150) : e(), this.hoverState = null, this)
  }, e.prototype.fixTitle = function () {
    var t = this.$element;
    (t.attr("title") || "string" != typeof t.attr("data-original-title")) &amp;&amp; t.attr("data-original-title", t.attr("title") || "").attr("title", "")
  }, e.prototype.hasContent = function () {
    return this.getTitle()
  }, e.prototype.getPosition = function () {
    var e = this.$element[0];
    return t.extend({}, "function" == typeof e.getBoundingClientRect ? e.getBoundingClientRect() : {
      width: e.offsetWidth,
      height: e.offsetHeight
    }, this.$element.offset())
  }, e.prototype.getCalculatedOffset = function (t, e, i, n) {
    return "bottom" == t ? {
      top: e.top + e.height,
      left: e.left + e.width / 2 - i / 2
    } : "top" == t ? {
      top: e.top - n,
      left: e.left + e.width / 2 - i / 2
    } : "left" == t ? {
      top: e.top + e.height / 2 - n / 2,
      left: e.left - i
    } : {
      top: e.top + e.height / 2 - n / 2,
      left: e.left + e.width
    }
  }, e.prototype.getTitle = function () {
    var t = this.$element,
      e = this.options;
    return t.attr("data-original-title") || ("function" == typeof e.title ? e.title.call(t[0]) : e.title)
  }, e.prototype.tip = function () {
    return this.$tip = this.$tip || t(this.options.template)
  }, e.prototype.arrow = function () {
    return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
  }, e.prototype.validate = function () {
    this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null)
  }, e.prototype.enable = function () {
    this.enabled = !0
  }, e.prototype.disable = function () {
    this.enabled = !1
  }, e.prototype.toggleEnabled = function () {
    this.enabled = !this.enabled
  }, e.prototype.toggle = function (e) {
    var i = e ? t(e.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type) : this;
    i.tip().hasClass("in") ? i.leave(i) : i.enter(i)
  }, e.prototype.destroy = function () {
    clearTimeout(this.timeout), this.hide().$element.off("." + this.type).removeData("bs." + this.type)
  };
  var i = t.fn.tooltip;
  t.fn.tooltip = function (i) {
    return this.each(function () {
      var n = t(this),
        o = n.data("bs.tooltip"),
        a = "object" == typeof i &amp;&amp; i;
      (o || "destroy" != i) &amp;&amp; (o || n.data("bs.tooltip", o = new e(this, a)), "string" == typeof i &amp;&amp; o[i]())
    })
  }, t.fn.tooltip.Constructor = e, t.fn.tooltip.noConflict = function () {
    return t.fn.tooltip = i, this
  }
}(jQuery),
function (t) {
  "use strict";
  var e = function (t, e) {
    this.init("popover", t, e)
  };
  if (!t.fn.tooltip) throw new Error("Popover requires tooltip.js");
  e.DEFAULTS = t.extend({}, t.fn.tooltip.Constructor.DEFAULTS, {
    placement: "right",
    trigger: "click",
    content: "",
    template: '&lt;div class="popover"&gt;&lt;div class="arrow"&gt;&lt;/div&gt;&lt;h3 class="popover-title"&gt;&lt;/h3&gt;&lt;div class="popover-content"&gt;&lt;/div&gt;&lt;/div&gt;'
  }), (e.prototype = t.extend({}, t.fn.tooltip.Constructor.prototype)).constructor = e, e.prototype.getDefaults = function () {
    return e.DEFAULTS
  }, e.prototype.setContent = function () {
    var t = this.tip(),
      e = this.getTitle(),
      i = this.getContent();
    t.find(".popover-title")[this.options.html ? "html" : "text"](e), t.find(".popover-content")[this.options.html ? "string" == typeof i ? "html" : "append" : "text"](i), t.removeClass("fade top bottom left right in"), t.find(".popover-title").html() || t.find(".popover-title").hide()
  }, e.prototype.hasContent = function () {
    return this.getTitle() || this.getContent()
  }, e.prototype.getContent = function () {
    var t = this.$element,
      e = this.options;
    return t.attr("data-content") || ("function" == typeof e.content ? e.content.call(t[0]) : e.content)
  }, e.prototype.arrow = function () {
    return this.$arrow = this.$arrow || this.tip().find(".arrow")
  }, e.prototype.tip = function () {
    return this.$tip || (this.$tip = t(this.options.template)), this.$tip
  };
  var i = t.fn.popover;
  t.fn.popover = function (i) {
    return this.each(function () {
      var n = t(this),
        o = n.data("bs.popover"),
        a = "object" == typeof i &amp;&amp; i;
      (o || "destroy" != i) &amp;&amp; (o || n.data("bs.popover", o = new e(this, a)), "string" == typeof i &amp;&amp; o[i]())
    })
  }, t.fn.popover.Constructor = e, t.fn.popover.noConflict = function () {
    return t.fn.popover = i, this
  }
}(jQuery),
function (t) {
  "use strict";
  var e = function (e) {
    this.element = t(e)
  };
  e.prototype.show = function () {
    var e = this.element,
      i = e.closest("ul:not(.dropdown-menu)"),
      n = e.data("target");
    if (n || (n = (n = e.attr("href")) &amp;&amp; n.replace(/.*(?=#[^\s]*$)/, "")), !e.parent("li").hasClass("active")) {
      var o = i.find(".active:last a")[0],
        a = t.Event("show.bs.tab", {
          relatedTarget: o
        });
      if (e.trigger(a), !a.isDefaultPrevented()) {
        var s = t(n);
        this.activate(e.parent("li"), i), this.activate(s, s.parent(), function () {
          e.trigger({
            type: "shown.bs.tab",
            relatedTarget: o
          })
        })
      }
    }
  }, e.prototype.activate = function (e, i, n) {
    function o() {
      a.removeClass("active").find("&gt; .dropdown-menu &gt; .active").removeClass("active"), e.addClass("active"), s ? (e[0].offsetWidth, e.addClass("in")) : e.removeClass("fade"), e.parent(".dropdown-menu") &amp;&amp; e.closest("li.dropdown").addClass("active"), n &amp;&amp; n()
    }
    var a = i.find("&gt; .active"),
      s = n &amp;&amp; t.support.transition &amp;&amp; a.hasClass("fade");
    s ? a.one(t.support.transition.end, o).emulateTransitionEnd(150) : o(), a.removeClass("in")
  };
  var i = t.fn.tab;
  t.fn.tab = function (i) {
    return this.each(function () {
      var n = t(this),
        o = n.data("bs.tab");
      o || n.data("bs.tab", o = new e(this)), "string" == typeof i &amp;&amp; o[i]()
    })
  }, t.fn.tab.Constructor = e, t.fn.tab.noConflict = function () {
    return t.fn.tab = i, this
  }, t(document).on("click.bs.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
    e.preventDefault(), t(this).tab("show")
  })
}(jQuery),
function (t) {
  "use strict";
  var e = function (i, n) {
    this.options = t.extend({}, e.DEFAULTS, n), this.$window = t(window).on("scroll.bs.affix.data-api", t.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", t.proxy(this.checkPositionWithEventLoop, this)), this.$element = t(i), this.affixed = this.unpin = this.pinnedOffset = null, this.checkPosition()
  };
  e.RESET = "affix affix-top affix-bottom", e.DEFAULTS = {
    offset: 0
  }, e.prototype.getPinnedOffset = function () {
    if (this.pinnedOffset) return this.pinnedOffset;
    this.$element.removeClass(e.RESET).addClass("affix");
    var t = this.$window.scrollTop(),
      i = this.$element.offset();
    return this.pinnedOffset = i.top - t
  }, e.prototype.checkPositionWithEventLoop = function () {
    setTimeout(t.proxy(this.checkPosition, this), 1)
  }, e.prototype.checkPosition = function () {
    if (this.$element.is(":visible")) {
      var i = t(document).height(),
        n = this.$window.scrollTop(),
        o = this.$element.offset(),
        a = this.options.offset,
        s = a.top,
        r = a.bottom;
      "top" == this.affixed &amp;&amp; (o.top += n), "object" != typeof a &amp;&amp; (r = s = a), "function" == typeof s &amp;&amp; (s = a.top(this.$element)), "function" == typeof r &amp;&amp; (r = a.bottom(this.$element));
      var l = !(null != this.unpin &amp;&amp; n + this.unpin &lt;= o.top) &amp;&amp; (null != r &amp;&amp; o.top + this.$element.height() &gt;= i - r ? "bottom" : null != s &amp;&amp; s &gt;= n &amp;&amp; "top");
      if (this.affixed !== l) {
        this.unpin &amp;&amp; this.$element.css("top", "");
        var d = "affix" + (l ? "-" + l : ""),
          c = t.Event(d + ".bs.affix");
        this.$element.trigger(c), c.isDefaultPrevented() || (this.affixed = l, this.unpin = "bottom" == l ? this.getPinnedOffset() : null, this.$element.removeClass(e.RESET).addClass(d).trigger(t.Event(d.replace("affix", "affixed"))), "bottom" == l &amp;&amp; this.$element.offset({
          top: i - r - this.$element.height()
        }))
      }
    }
  };
  var i = t.fn.affix;
  t.fn.affix = function (i) {
    return this.each(function () {
      var n = t(this),
        o = n.data("bs.affix"),
        a = "object" == typeof i &amp;&amp; i;
      o || n.data("bs.affix", o = new e(this, a)), "string" == typeof i &amp;&amp; o[i]()
    })
  }, t.fn.affix.Constructor = e, t.fn.affix.noConflict = function () {
    return t.fn.affix = i, this
  }, t(window).on("load", function () {
    t('[data-spy="affix"]').each(function () {
      var e = t(this),
        i = e.data();
      i.offset = i.offset || {}, i.offsetBottom &amp;&amp; (i.offset.bottom = i.offsetBottom), i.offsetTop &amp;&amp; (i.offset.top = i.offsetTop), e.affix(i)
    })
  })
}(jQuery),
function (t) {
  "use strict";
  var e = function (i, n) {
    this.$element = t(i), this.options = t.extend({}, e.DEFAULTS, n), this.transitioning = null, this.options.parent &amp;&amp; (this.$parent = t(this.options.parent)), this.options.toggle &amp;&amp; this.toggle()
  };
  e.DEFAULTS = {
    toggle: !0
  }, e.prototype.dimension = function () {
    return this.$element.hasClass("width") ? "width" : "height"
  }, e.prototype.show = function () {
    if (!this.transitioning &amp;&amp; !this.$element.hasClass("in")) {
      var e = t.Event("show.bs.collapse");
      if (this.$element.trigger(e), !e.isDefaultPrevented()) {
        var i = this.$parent &amp;&amp; this.$parent.find("&gt; .panel &gt; .in");
        if (i &amp;&amp; i.length) {
          var n = i.data("bs.collapse");
          if (n &amp;&amp; n.transitioning) return;
          i.collapse("hide"), n || i.data("bs.collapse", null)
        }
        var o = this.dimension();
        this.$element.removeClass("collapse").addClass("collapsing")[o](0), this.transitioning = 1;
        var a = function () {
          this.$element.removeClass("collapsing").addClass("collapse in")[o]("auto"), this.transitioning = 0, this.$element.trigger("shown.bs.collapse")
        };
        if (!t.support.transition) return a.call(this);
        var s = t.camelCase(["scroll", o].join("-"));
        this.$element.one(t.support.transition.end, t.proxy(a, this)).emulateTransitionEnd(350)[o](this.$element[0][s])
      }
    }
  }, e.prototype.hide = function () {
    if (!this.transitioning &amp;&amp; this.$element.hasClass("in")) {
      var e = t.Event("hide.bs.collapse");
      if (this.$element.trigger(e), !e.isDefaultPrevented()) {
        var i = this.dimension();
        this.$element[i](this.$element[i]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"), this.transitioning = 1;
        var n = function () {
          this.transitioning = 0, this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")
        };
        return t.support.transition ? void this.$element[i](0).one(t.support.transition.end, t.proxy(n, this)).emulateTransitionEnd(350) : n.call(this)
      }
    }
  }, e.prototype.toggle = function () {
    this[this.$element.hasClass("in") ? "hide" : "show"]()
  };
  var i = t.fn.collapse;
  t.fn.collapse = function (i) {
    return this.each(function () {
      var n = t(this),
        o = n.data("bs.collapse"),
        a = t.extend({}, e.DEFAULTS, n.data(), "object" == typeof i &amp;&amp; i);
      !o &amp;&amp; a.toggle &amp;&amp; "show" == i &amp;&amp; (i = !i), o || n.data("bs.collapse", o = new e(this, a)), "string" == typeof i &amp;&amp; o[i]()
    })
  }, t.fn.collapse.Constructor = e, t.fn.collapse.noConflict = function () {
    return t.fn.collapse = i, this
  }, t(document).on("click.bs.collapse.data-api", "[data-toggle=collapse]", function (e) {
    var i, n = t(this),
      o = n.attr("data-target") || e.preventDefault() || (i = n.attr("href")) &amp;&amp; i.replace(/.*(?=#[^\s]+$)/, ""),
      a = t(o),
      s = a.data("bs.collapse"),
      r = s ? "toggle" : n.data(),
      l = n.attr("data-parent"),
      d = l &amp;&amp; t(l);
    s &amp;&amp; s.transitioning || (d &amp;&amp; d.find('[data-toggle=collapse][data-parent="' + l + '"]').not(n).addClass("collapsed"), n[a.hasClass("in") ? "addClass" : "removeClass"]("collapsed")), a.collapse(r)
  })
}(jQuery),
function (t) {
  function e(i, n) {
    var o, a = t.proxy(this.process, this);
    this.$element = t(t(i).is("body") ? window : i), this.$body = t("body"), this.$scrollElement = this.$element.on("scroll.bs.scroll-spy.data-api", a), this.options = t.extend({}, e.DEFAULTS, n), this.selector = (this.options.target || (o = t(i).attr("href")) &amp;&amp; o.replace(/.*(?=#[^\s]+$)/, "") || "") + " .nav li &gt; a", this.offsets = t([]), this.targets = t([]), this.activeTarget = null, this.refresh(), this.process()
  }
  e.DEFAULTS = {
    offset: 10
  }, e.prototype.refresh = function () {
    var e = this.$element[0] == window ? "offset" : "position";
    this.offsets = t([]), this.targets = t([]);
    var i = this;
    this.$body.find(this.selector).map(function () {
      var n = t(this),
        o = n.data("target") || n.attr("href"),
        a = /^#./.test(o) &amp;&amp; t(o);
      return a &amp;&amp; a.length &amp;&amp; a.is(":visible") &amp;&amp; [
        [a[e]().top + (!t.isWindow(i.$scrollElement.get(0)) &amp;&amp; i.$scrollElement.scrollTop()), o]
      ] || null
    }).sort(function (t, e) {
      return t[0] - e[0]
    }).each(function () {
      i.offsets.push(this[0]), i.targets.push(this[1])
    })
  }, e.prototype.process = function () {
    var t, e = this.$scrollElement.scrollTop() + this.options.offset,
      i = (this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight) - this.$scrollElement.height(),
      n = this.offsets,
      o = this.targets,
      a = this.activeTarget;
    if (e &gt;= i) return a != (t = o.last()[0]) &amp;&amp; this.activate(t);
    if (a &amp;&amp; e &lt;= n[0]) return a != (t = o[0]) &amp;&amp; this.activate(t);
    for (t = n.length; t--;) a != o[t] &amp;&amp; e &gt;= n[t] &amp;&amp; (!n[t + 1] || e &lt;= n[t + 1]) &amp;&amp; this.activate(o[t])
  }, e.prototype.activate = function (e) {
    this.activeTarget = e, t(this.selector).parentsUntil(this.options.target, ".active").removeClass("active");
    var i = this.selector + '[data-target="' + e + '"],' + this.selector + '[href="' + e + '"]',
      n = t(i).parents("li").addClass("active");
    n.parent(".dropdown-menu").length &amp;&amp; (n = n.closest("li.dropdown").addClass("active")), n.trigger("activate.bs.scrollspy")
  };
  var i = t.fn.scrollspy;
  t.fn.scrollspy = function (i) {
    return this.each(function () {
      var n = t(this),
        o = n.data("bs.scrollspy"),
        a = "object" == typeof i &amp;&amp; i;
      o || n.data("bs.scrollspy", o = new e(this, a)), "string" == typeof i &amp;&amp; o[i]()
    })
  }, t.fn.scrollspy.Constructor = e, t.fn.scrollspy.noConflict = function () {
    return t.fn.scrollspy = i, this
  }, t(window).on("load", function () {
    t('[data-spy="scroll"]').each(function () {
      var e = t(this);
      e.scrollspy(e.data())
    })
  })
}(jQuery),
function (t) {
  t.fn.emulateTransitionEnd = function (e) {
    var i = !1,
      n = this;
    t(this).one(t.support.transition.end, function () {
      i = !0
    });
    return setTimeout(function () {
      i || t(n).trigger(t.support.transition.end)
    }, e), this
  }, t(function () {
    t.support.transition = function () {
      var t = document.createElement("bootstrap"),
        e = {
          WebkitTransition: "webkitTransitionEnd",
          MozTransition: "transitionend",
          OTransition: "oTransitionEnd otransitionend",
          transition: "transitionend"
        };
      for (var i in e)
        if (void 0 !== t.style[i]) return {
          end: e[i]
        };
      return !1
    }()
  })
}(jQuery),
function (t, e, i) {
  var n = t();
  t.fn.dropdownHover = function (i) {
    return "ontouchstart" in document ? this : (n = n.add(this.parent()), this.each(function () {
      var o, a = t(this),
        s = a.parent(),
        r = {
          delay: t(this).data("delay"),
          instantlyCloseOthers: t(this).data("close-others")
        },
        l = "show.bs.dropdown",
        d = t.extend(!0, {}, {
          delay: 400,
          instantlyCloseOthers: !0
        }, i, r);
      s.hover(function (t) {
        return !s.hasClass("open") &amp;&amp; !a.is(t.target) || (n.find(":focus").blur(), !0 === d.instantlyCloseOthers &amp;&amp; n.removeClass("open"), e.clearTimeout(o), s.addClass("open"), void a.trigger(l))
      }, function () {
        o = e.setTimeout(function () {
          s.removeClass("open"), a.trigger("hide.bs.dropdown")
        }, d.delay)
      }), a.hover(function () {
        n.find(":focus").blur(), !0 === d.instantlyCloseOthers &amp;&amp; n.removeClass("open"), e.clearTimeout(o), s.addClass("open"), a.trigger(l)
      }), s.find(".dropdown-submenu").each(function () {
        var i, n = t(this);
        n.hover(function () {
          e.clearTimeout(i), n.children(".dropdown-menu").show(), n.siblings().children(".dropdown-menu").hide()
        }, function () {
          var t = n.children(".dropdown-menu");
          i = e.setTimeout(function () {
            t.hide()
          }, d.delay)
        })
      })
    }))
  }, t(document).ready(function () {
    t('[data-hover="dropdown"]').dropdownHover()
  }), t(".dropdown-toggle").dropdownHover().dropdown(), t(document).on("click", ".yamm .dropdown-menu", function (t) {
    t.stopPropagation()
  })
}(jQuery, this),
function (t) {
  var e = !0;
  t.flexslider = function (i, n) {
    var o = t(i);
    o.vars = t.extend({}, t.flexslider.defaults, n);
    var a, s = o.vars.namespace,
      r = window.navigator &amp;&amp; window.navigator.msPointerEnabled &amp;&amp; window.MSGesture,
      l = ("ontouchstart" in window || r || window.DocumentTouch &amp;&amp; document instanceof DocumentTouch) &amp;&amp; o.vars.touch,
      d = "click touchend MSPointerUp keyup",
      c = "",
      h = "vertical" === o.vars.direction,
      u = o.vars.reverse,
      p = o.vars.itemWidth &gt; 0,
      f = "fade" === o.vars.animation,
      v = "" !== o.vars.asNavFor,
      m = {};
    t.data(i, "flexslider", o), m = {
      init: function () {
        o.animating = !1, o.currentSlide = parseInt(o.vars.startAt ? o.vars.startAt : 0, 10), isNaN(o.currentSlide) &amp;&amp; (o.currentSlide = 0), o.animatingTo = o.currentSlide, o.atEnd = 0 === o.currentSlide || o.currentSlide === o.last, o.containerSelector = o.vars.selector.substr(0, o.vars.selector.search(" ")), o.slides = t(o.vars.selector, o), o.container = t(o.containerSelector, o), o.count = o.slides.length, o.syncExists = t(o.vars.sync).length &gt; 0, "slide" === o.vars.animation &amp;&amp; (o.vars.animation = "swing"), o.prop = h ? "top" : "marginLeft", o.args = {}, o.manualPause = !1, o.stopped = !1, o.started = !1, o.startTimeout = null, o.transitions = !o.vars.video &amp;&amp; !f &amp;&amp; o.vars.useCSS &amp;&amp; function () {
          var t = document.createElement("div"),
            e = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"];
          for (var i in e)
            if (void 0 !== t.style[e[i]]) return o.pfx = e[i].replace("Perspective", "").toLowerCase(), o.prop = "-" + o.pfx + "-transform", !0;
          return !1
        }(), o.ensureAnimationEnd = "", "" !== o.vars.controlsContainer &amp;&amp; (o.controlsContainer = t(o.vars.controlsContainer).length &gt; 0 &amp;&amp; t(o.vars.controlsContainer)), "" !== o.vars.manualControls &amp;&amp; (o.manualControls = t(o.vars.manualControls).length &gt; 0 &amp;&amp; t(o.vars.manualControls)), "" !== o.vars.customDirectionNav &amp;&amp; (o.customDirectionNav = 2 === t(o.vars.customDirectionNav).length &amp;&amp; t(o.vars.customDirectionNav)), o.vars.randomize &amp;&amp; (o.slides.sort(function () {
          return Math.round(Math.random()) - .5
        }), o.container.empty().append(o.slides)), o.doMath(), o.setup("init"), o.vars.controlNav &amp;&amp; m.controlNav.setup(), o.vars.directionNav &amp;&amp; m.directionNav.setup(), o.vars.keyboard &amp;&amp; (1 === t(o.containerSelector).length || o.vars.multipleKeyboard) &amp;&amp; t(document).bind("keyup", function (t) {
          var e = t.keyCode;
          if (!o.animating &amp;&amp; (39 === e || 37 === e)) {
            var i = 39 === e ? o.getTarget("next") : 37 === e &amp;&amp; o.getTarget("prev");
            o.flexAnimate(i, o.vars.pauseOnAction)
          }
        }), o.vars.mousewheel &amp;&amp; o.bind("mousewheel", function (t, e, i, n) {
          t.preventDefault();
          var a = 0 &gt; e ? o.getTarget("next") : o.getTarget("prev");
          o.flexAnimate(a, o.vars.pauseOnAction)
        }), o.vars.pausePlay &amp;&amp; m.pausePlay.setup(), o.vars.slideshow &amp;&amp; o.vars.pauseInvisible &amp;&amp; m.pauseInvisible.init(), o.vars.slideshow &amp;&amp; (o.vars.pauseOnHover &amp;&amp; o.hover(function () {
          o.manualPlay || o.manualPause || o.pause()
        }, function () {
          o.manualPause || o.manualPlay || o.stopped || o.play()
        }), o.vars.pauseInvisible &amp;&amp; m.pauseInvisible.isHidden() || (o.vars.initDelay &gt; 0 ? o.startTimeout = setTimeout(o.play, o.vars.initDelay) : o.play())), v &amp;&amp; m.asNav.setup(), l &amp;&amp; o.vars.touch &amp;&amp; m.touch(), (!f || f &amp;&amp; o.vars.smoothHeight) &amp;&amp; t(window).bind("resize orientationchange focus", m.resize), o.find("img").attr("draggable", "false"), setTimeout(function () {
          o.vars.start(o)
        }, 200)
      },
      asNav: {
        setup: function () {
          o.asNav = !0, o.animatingTo = Math.floor(o.currentSlide / o.move), o.currentItem = o.currentSlide, o.slides.removeClass(s + "active-slide").eq(o.currentItem).addClass(s + "active-slide"), r ? (i._slider = o, o.slides.each(function () {
            var e = this;
            e._gesture = new MSGesture, e._gesture.target = e, e.addEventListener("MSPointerDown", function (t) {
              t.preventDefault(), t.currentTarget._gesture &amp;&amp; t.currentTarget._gesture.addPointer(t.pointerId)
            }, !1), e.addEventListener("MSGestureTap", function (e) {
              e.preventDefault();
              var i = t(this),
                n = i.index();
              t(o.vars.asNavFor).data("flexslider").animating || i.hasClass("active") || (o.direction = o.currentItem &lt; n ? "next" : "prev", o.flexAnimate(n, o.vars.pauseOnAction, !1, !0, !0))
            })
          })) : o.slides.on(d, function (e) {
            e.preventDefault();
            var i = t(this),
              n = i.index();
            0 &gt;= i.offset().left - t(o).scrollLeft() &amp;&amp; i.hasClass(s + "active-slide") ? o.flexAnimate(o.getTarget("prev"), !0) : t(o.vars.asNavFor).data("flexslider").animating || i.hasClass(s + "active-slide") || (o.direction = o.currentItem &lt; n ? "next" : "prev", o.flexAnimate(n, o.vars.pauseOnAction, !1, !0, !0))
          })
        }
      },
      controlNav: {
        setup: function () {
          o.manualControls ? m.controlNav.setupManual() : m.controlNav.setupPaging()
        },
        setupPaging: function () {
          var e, i, n = "thumbnails" === o.vars.controlNav ? "control-thumbs" : "control-paging",
            a = 1;
          if (o.controlNavScaffold = t('&lt;ol class="' + s + "control-nav " + s + n + '"&gt;&lt;/ol&gt;'), o.pagingCount &gt; 1)
            for (var r = 0; r &lt; o.pagingCount; r++) {
              if (void 0 === (i = o.slides.eq(r)).attr("data-thumb-alt") &amp;&amp; i.attr("data-thumb-alt", ""), altText = "" !== i.attr("data-thumb-alt") ? altText = ' alt="' + i.attr("data-thumb-alt") + '"' : "", e = "thumbnails" === o.vars.controlNav ? '&lt;img src="' + i.attr("data-thumb") + '"' + altText + "/&gt;" : '&lt;a href="#"&gt;' + a + "&lt;/a&gt;", "thumbnails" === o.vars.controlNav &amp;&amp; !0 === o.vars.thumbCaptions) {
                var l = i.attr("data-thumbcaption");
                "" !== l &amp;&amp; void 0 !== l &amp;&amp; (e += '&lt;span class="' + s + 'caption"&gt;' + l + "&lt;/span&gt;")
              }
              o.controlNavScaffold.append("&lt;li&gt;" + e + "&lt;/li&gt;"), a++
            }
          o.controlsContainer ? t(o.controlsContainer).append(o.controlNavScaffold) : o.append(o.controlNavScaffold), m.controlNav.set(), m.controlNav.active(), o.controlNavScaffold.delegate("a, img", d, function (e) {
            if (e.preventDefault(), "" === c || c === e.type) {
              var i = t(this),
                n = o.controlNav.index(i);
              i.hasClass(s + "active") || (o.direction = n &gt; o.currentSlide ? "next" : "prev", o.flexAnimate(n, o.vars.pauseOnAction))
            }
            "" === c &amp;&amp; (c = e.type), m.setToClearWatchedEvent()
          })
        },
        setupManual: function () {
          o.controlNav = o.manualControls, m.controlNav.active(), o.controlNav.bind(d, function (e) {
            if (e.preventDefault(), "" === c || c === e.type) {
              var i = t(this),
                n = o.controlNav.index(i);
              i.hasClass(s + "active") || (n &gt; o.currentSlide ? o.direction = "next" : o.direction = "prev", o.flexAnimate(n, o.vars.pauseOnAction))
            }
            "" === c &amp;&amp; (c = e.type), m.setToClearWatchedEvent()
          })
        },
        set: function () {
          var e = "thumbnails" === o.vars.controlNav ? "img" : "a";
          o.controlNav = t("." + s + "control-nav li " + e, o.controlsContainer ? o.controlsContainer : o)
        },
        active: function () {
          o.controlNav.removeClass(s + "active").eq(o.animatingTo).addClass(s + "active")
        },
        update: function (e, i) {
          o.pagingCount &gt; 1 &amp;&amp; "add" === e ? o.controlNavScaffold.append(t('&lt;li&gt;&lt;a href="#"&gt;' + o.count + "&lt;/a&gt;&lt;/li&gt;")) : 1 === o.pagingCount ? o.controlNavScaffold.find("li").remove() : o.controlNav.eq(i).closest("li").remove(), m.controlNav.set(), o.pagingCount &gt; 1 &amp;&amp; o.pagingCount !== o.controlNav.length ? o.update(i, e) : m.controlNav.active()
        }
      },
      directionNav: {
        setup: function () {
          var e = t('&lt;ul class="' + s + 'direction-nav"&gt;&lt;li class="' + s + 'nav-prev"&gt;&lt;a class="' + s + 'prev" href="#"&gt;' + o.vars.prevText + '&lt;/a&gt;&lt;/li&gt;&lt;li class="' + s + 'nav-next"&gt;&lt;a class="' + s + 'next" href="#"&gt;' + o.vars.nextText + "&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;");
          o.customDirectionNav ? o.directionNav = o.customDirectionNav : o.controlsContainer ? (t(o.controlsContainer).append(e), o.directionNav = t("." + s + "direction-nav li a", o.controlsContainer)) : (o.append(e), o.directionNav = t("." + s + "direction-nav li a", o)), m.directionNav.update(), o.directionNav.bind(d, function (e) {
            var i;
            e.preventDefault(), ("" === c || c === e.type) &amp;&amp; (i = t(this).hasClass(s + "next") ? o.getTarget("next") : o.getTarget("prev"), o.flexAnimate(i, o.vars.pauseOnAction)), "" === c &amp;&amp; (c = e.type), m.setToClearWatchedEvent()
          })
        },
        update: function () {
          var t = s + "disabled";
          1 === o.pagingCount ? o.directionNav.addClass(t).attr("tabindex", "-1") : o.vars.animationLoop ? o.directionNav.removeClass(t).removeAttr("tabindex") : 0 === o.animatingTo ? o.directionNav.removeClass(t).filter("." + s + "prev").addClass(t).attr("tabindex", "-1") : o.animatingTo === o.last ? o.directionNav.removeClass(t).filter("." + s + "next").addClass(t).attr("tabindex", "-1") : o.directionNav.removeClass(t).removeAttr("tabindex")
        }
      },
      pausePlay: {
        setup: function () {
          var e = t('&lt;div class="' + s + 'pauseplay"&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/div&gt;');
          o.controlsContainer ? (o.controlsContainer.append(e), o.pausePlay = t("." + s + "pauseplay a", o.controlsContainer)) : (o.append(e), o.pausePlay = t("." + s + "pauseplay a", o)), m.pausePlay.update(o.vars.slideshow ? s + "pause" : s + "play"), o.pausePlay.bind(d, function (e) {
            e.preventDefault(), ("" === c || c === e.type) &amp;&amp; (t(this).hasClass(s + "pause") ? (o.manualPause = !0, o.manualPlay = !1, o.pause()) : (o.manualPause = !1, o.manualPlay = !0, o.play())), "" === c &amp;&amp; (c = e.type), m.setToClearWatchedEvent()
          })
        },
        update: function (t) {
          "play" === t ? o.pausePlay.removeClass(s + "pause").addClass(s + "play").html(o.vars.playText) : o.pausePlay.removeClass(s + "play").addClass(s + "pause").html(o.vars.pauseText)
        }
      },
      touch: function () {
        var t, e, n, a, s, l, d, c, v, m = !1,
          g = 0,
          b = 0,
          y = 0;
        r ? (i.style.msTouchAction = "none", i._gesture = new MSGesture, i._gesture.target = i, i.addEventListener("MSPointerDown", function (t) {
          t.stopPropagation(), o.animating ? t.preventDefault() : (o.pause(), i._gesture.addPointer(t.pointerId), y = 0, a = h ? o.h : o.w, l = Number(new Date), n = p &amp;&amp; u &amp;&amp; o.animatingTo === o.last ? 0 : p &amp;&amp; u ? o.limit - (o.itemW + o.vars.itemMargin) * o.move * o.animatingTo : p &amp;&amp; o.currentSlide === o.last ? o.limit : p ? (o.itemW + o.vars.itemMargin) * o.move * o.currentSlide : u ? (o.last - o.currentSlide + o.cloneOffset) * a : (o.currentSlide + o.cloneOffset) * a)
        }, !1), i._slider = o, i.addEventListener("MSGestureChange", function (t) {
          t.stopPropagation();
          var e = t.target._slider;
          if (e) {
            var o = -t.translationX,
              r = -t.translationY;
            return s = y += h ? r : o, m = h ? Math.abs(y) &lt; Math.abs(-o) : Math.abs(y) &lt; Math.abs(-r), t.detail === t.MSGESTURE_FLAG_INERTIA ? void setImmediate(function () {
              i._gesture.stop()
            }) : void((!m || Number(new Date) - l &gt; 500) &amp;&amp; (t.preventDefault(), !f &amp;&amp; e.transitions &amp;&amp; (e.vars.animationLoop || (s = y / (0 === e.currentSlide &amp;&amp; 0 &gt; y || e.currentSlide === e.last &amp;&amp; y &gt; 0 ? Math.abs(y) / a + 2 : 1)), e.setProps(n + s, "setTouch"))))
          }
        }, !1), i.addEventListener("MSGestureEnd", function (i) {
          i.stopPropagation();
          var o = i.target._slider;
          if (o) {
            if (o.animatingTo === o.currentSlide &amp;&amp; !m &amp;&amp; null !== s) {
              var r = u ? -s : s,
                d = r &gt; 0 ? o.getTarget("next") : o.getTarget("prev");
              o.canAdvance(d) &amp;&amp; (Number(new Date) - l &lt; 550 &amp;&amp; Math.abs(r) &gt; 50 || Math.abs(r) &gt; a / 2) ? o.flexAnimate(d, o.vars.pauseOnAction) : f || o.flexAnimate(o.currentSlide, o.vars.pauseOnAction, !0)
            }
            t = null, e = null, s = null, n = null, y = 0
          }
        }, !1)) : (d = function (s) {
          o.animating ? s.preventDefault() : (window.navigator.msPointerEnabled || 1 === s.touches.length) &amp;&amp; (o.pause(), a = h ? o.h : o.w, l = Number(new Date), g = s.touches[0].pageX, b = s.touches[0].pageY, n = p &amp;&amp; u &amp;&amp; o.animatingTo === o.last ? 0 : p &amp;&amp; u ? o.limit - (o.itemW + o.vars.itemMargin) * o.move * o.animatingTo : p &amp;&amp; o.currentSlide === o.last ? o.limit : p ? (o.itemW + o.vars.itemMargin) * o.move * o.currentSlide : u ? (o.last - o.currentSlide + o.cloneOffset) * a : (o.currentSlide + o.cloneOffset) * a, t = h ? b : g, e = h ? g : b, i.addEventListener("touchmove", c, !1), i.addEventListener("touchend", v, !1))
        }, c = function (i) {
          g = i.touches[0].pageX, b = i.touches[0].pageY, s = h ? t - b : t - g;
          (!(m = h ? Math.abs(s) &lt; Math.abs(g - e) : Math.abs(s) &lt; Math.abs(b - e)) || Number(new Date) - l &gt; 500) &amp;&amp; (i.preventDefault(), !f &amp;&amp; o.transitions &amp;&amp; (o.vars.animationLoop || (s /= 0 === o.currentSlide &amp;&amp; 0 &gt; s || o.currentSlide === o.last &amp;&amp; s &gt; 0 ? Math.abs(s) / a + 2 : 1), o.setProps(n + s, "setTouch")))
        }, v = function (r) {
          if (i.removeEventListener("touchmove", c, !1), o.animatingTo === o.currentSlide &amp;&amp; !m &amp;&amp; null !== s) {
            var d = u ? -s : s,
              h = d &gt; 0 ? o.getTarget("next") : o.getTarget("prev");
            o.canAdvance(h) &amp;&amp; (Number(new Date) - l &lt; 550 &amp;&amp; Math.abs(d) &gt; 50 || Math.abs(d) &gt; a / 2) ? o.flexAnimate(h, o.vars.pauseOnAction) : f || o.flexAnimate(o.currentSlide, o.vars.pauseOnAction, !0)
          }
          i.removeEventListener("touchend", v, !1), t = null, e = null, s = null, n = null
        }, i.addEventListener("touchstart", d, !1))
      },
      resize: function () {
        !o.animating &amp;&amp; o.is(":visible") &amp;&amp; (p || o.doMath(), f ? m.smoothHeight() : p ? (o.slides.width(o.computedW), o.update(o.pagingCount), o.setProps()) : h ? (o.viewport.height(o.h), o.setProps(o.h, "setTotal")) : (o.vars.smoothHeight &amp;&amp; m.smoothHeight(), o.newSlides.width(o.computedW), o.setProps(o.computedW, "setTotal")))
      },
      smoothHeight: function (t) {
        if (!h || f) {
          var e = f ? o : o.viewport;
          t ? e.animate({
            height: o.slides.eq(o.animatingTo).height()
          }, t) : e.height(o.slides.eq(o.animatingTo).height())
        }
      },
      sync: function (e) {
        var i = t(o.vars.sync).data("flexslider"),
          n = o.animatingTo;
        switch (e) {
          case "animate":
            i.flexAnimate(n, o.vars.pauseOnAction, !1, !0);
            break;
          case "play":
            i.playing || i.asNav || i.play();
            break;
          case "pause":
            i.pause()
        }
      },
      uniqueID: function (e) {
        return e.filter("[id]").add(e.find("[id]")).each(function () {
          var e = t(this);
          e.attr("id", e.attr("id") + "_clone")
        }), e
      },
      pauseInvisible: {
        visProp: null,
        init: function () {
          var t = m.pauseInvisible.getHiddenProp();
          if (t) {
            var e = t.replace(/[H|h]idden/, "") + "visibilitychange";
            document.addEventListener(e, function () {
              m.pauseInvisible.isHidden() ? o.startTimeout ? clearTimeout(o.startTimeout) : o.pause() : o.started ? o.play() : o.vars.initDelay &gt; 0 ? setTimeout(o.play, o.vars.initDelay) : o.play()
            })
          }
        },
        isHidden: function () {
          var t = m.pauseInvisible.getHiddenProp();
          return !!t &amp;&amp; document[t]
        },
        getHiddenProp: function () {
          var t = ["webkit", "moz", "ms", "o"];
          if ("hidden" in document) return "hidden";
          for (var e = 0; e &lt; t.length; e++)
            if (t[e] + "Hidden" in document) return t[e] + "Hidden";
          return null
        }
      },
      setToClearWatchedEvent: function () {
        clearTimeout(a), a = setTimeout(function () {
          c = ""
        }, 3e3)
      }
    }, o.flexAnimate = function (e, i, n, a, r) {
      if (o.vars.animationLoop || e === o.currentSlide || (o.direction = e &gt; o.currentSlide ? "next" : "prev"), v &amp;&amp; 1 === o.pagingCount &amp;&amp; (o.direction = o.currentItem &lt; e ? "next" : "prev"), !o.animating &amp;&amp; (o.canAdvance(e, r) || n) &amp;&amp; o.is(":visible")) {
        if (v &amp;&amp; a) {
          var d = t(o.vars.asNavFor).data("flexslider");
          if (o.atEnd = 0 === e || e === o.count - 1, d.flexAnimate(e, !0, !1, !0, r), o.direction = o.currentItem &lt; e ? "next" : "prev", d.direction = o.direction, Math.ceil((e + 1) / o.visible) - 1 === o.currentSlide || 0 === e) return o.currentItem = e, o.slides.removeClass(s + "active-slide").eq(e).addClass(s + "active-slide"), !1;
          o.currentItem = e, o.slides.removeClass(s + "active-slide").eq(e).addClass(s + "active-slide"), e = Math.floor(e / o.visible)
        }
        if (o.animating = !0, o.animatingTo = e, i &amp;&amp; o.pause(), o.vars.before(o), o.syncExists &amp;&amp; !r &amp;&amp; m.sync("animate"), o.vars.controlNav &amp;&amp; m.controlNav.active(), p || o.slides.removeClass(s + "active-slide").eq(e).addClass(s + "active-slide"), o.atEnd = 0 === e || e === o.last, o.vars.directionNav &amp;&amp; m.directionNav.update(), e === o.last &amp;&amp; (o.vars.end(o), o.vars.animationLoop || o.pause()), f) l ? (o.slides.eq(o.currentSlide).css({
          opacity: 0,
          zIndex: 1
        }), o.slides.eq(e).css({
          opacity: 1,
          zIndex: 2
        }), o.wrapup(y)) : (o.slides.eq(o.currentSlide).css({
          zIndex: 1
        }).animate({
          opacity: 0
        }, o.vars.animationSpeed, o.vars.easing), o.slides.eq(e).css({
          zIndex: 2
        }).animate({
          opacity: 1
        }, o.vars.animationSpeed, o.vars.easing, o.wrapup));
        else {
          var c, g, b, y = h ? o.slides.filter(":first").height() : o.computedW;
          p ? (c = o.vars.itemMargin, g = (b = (o.itemW + c) * o.move * o.animatingTo) &gt; o.limit &amp;&amp; 1 !== o.visible ? o.limit : b) : g = 0 === o.currentSlide &amp;&amp; e === o.count - 1 &amp;&amp; o.vars.animationLoop &amp;&amp; "next" !== o.direction ? u ? (o.count + o.cloneOffset) * y : 0 : o.currentSlide === o.last &amp;&amp; 0 === e &amp;&amp; o.vars.animationLoop &amp;&amp; "prev" !== o.direction ? u ? 0 : (o.count + 1) * y : u ? (o.count - 1 - e + o.cloneOffset) * y : (e + o.cloneOffset) * y, o.setProps(g, "", o.vars.animationSpeed), o.transitions ? (o.vars.animationLoop &amp;&amp; o.atEnd || (o.animating = !1, o.currentSlide = o.animatingTo), o.container.unbind("webkitTransitionEnd transitionend"), o.container.bind("webkitTransitionEnd transitionend", function () {
            clearTimeout(o.ensureAnimationEnd), o.wrapup(y)
          }), clearTimeout(o.ensureAnimationEnd), o.ensureAnimationEnd = setTimeout(function () {
            o.wrapup(y)
          }, o.vars.animationSpeed + 100)) : o.container.animate(o.args, o.vars.animationSpeed, o.vars.easing, function () {
            o.wrapup(y)
          })
        }
        o.vars.smoothHeight &amp;&amp; m.smoothHeight(o.vars.animationSpeed)
      }
    }, o.wrapup = function (t) {
      f || p || (0 === o.currentSlide &amp;&amp; o.animatingTo === o.last &amp;&amp; o.vars.animationLoop ? o.setProps(t, "jumpEnd") : o.currentSlide === o.last &amp;&amp; 0 === o.animatingTo &amp;&amp; o.vars.animationLoop &amp;&amp; o.setProps(t, "jumpStart")), o.animating = !1, o.currentSlide = o.animatingTo, o.vars.after(o)
    }, o.animateSlides = function () {
      !o.animating &amp;&amp; e &amp;&amp; o.flexAnimate(o.getTarget("next"))
    }, o.pause = function () {
      clearInterval(o.animatedSlides), o.animatedSlides = null, o.playing = !1, o.vars.pausePlay &amp;&amp; m.pausePlay.update("play"), o.syncExists &amp;&amp; m.sync("pause")
    }, o.play = function () {
      o.playing &amp;&amp; clearInterval(o.animatedSlides), o.animatedSlides = o.animatedSlides || setInterval(o.animateSlides, o.vars.slideshowSpeed), o.started = o.playing = !0, o.vars.pausePlay &amp;&amp; m.pausePlay.update("pause"), o.syncExists &amp;&amp; m.sync("play")
    }, o.stop = function () {
      o.pause(), o.stopped = !0
    }, o.canAdvance = function (t, e) {
      var i = v ? o.pagingCount - 1 : o.last;
      return !!e || (!(!v || o.currentItem !== o.count - 1 || 0 !== t || "prev" !== o.direction) || (!v || 0 !== o.currentItem || t !== o.pagingCount - 1 || "next" === o.direction) &amp;&amp; (!(t === o.currentSlide &amp;&amp; !v) &amp;&amp; (!!o.vars.animationLoop || (!o.atEnd || 0 !== o.currentSlide || t !== i || "next" === o.direction) &amp;&amp; (!o.atEnd || o.currentSlide !== i || 0 !== t || "next" !== o.direction))))
    }, o.getTarget = function (t) {
      return o.direction = t, "next" === t ? o.currentSlide === o.last ? 0 : o.currentSlide + 1 : 0 === o.currentSlide ? o.last : o.currentSlide - 1
    }, o.setProps = function (t, e, i) {
      var n, a = (n = t || (o.itemW + o.vars.itemMargin) * o.move * o.animatingTo, -1 * function () {
        if (p) return "setTouch" === e ? t : u &amp;&amp; o.animatingTo === o.last ? 0 : u ? o.limit - (o.itemW + o.vars.itemMargin) * o.move * o.animatingTo : o.animatingTo === o.last ? o.limit : n;
        switch (e) {
          case "setTotal":
            return u ? (o.count - 1 - o.currentSlide + o.cloneOffset) * t : (o.currentSlide + o.cloneOffset) * t;
          case "setTouch":
            return t;
          case "jumpEnd":
            return u ? t : o.count * t;
          case "jumpStart":
            return u ? o.count * t : t;
          default:
            return t
        }
      }() + "px");
      o.transitions &amp;&amp; (a = h ? "translate3d(0," + a + ",0)" : "translate3d(" + a + ",0,0)", i = void 0 !== i ? i / 1e3 + "s" : "0s", o.container.css("-" + o.pfx + "-transition-duration", i), o.container.css("transition-duration", i)), o.args[o.prop] = a, (o.transitions || void 0 === i) &amp;&amp; o.container.css(o.args), o.container.css("transform", a)
    }, o.setup = function (e) {
      var i, n;
      f ? (o.slides.css({
        width: "100%",
        float: "left",
        marginRight: "-100%",
        position: "relative"
      }), "init" === e &amp;&amp; (l ? o.slides.css({
        opacity: 0,
        display: "block",
        webkitTransition: "opacity " + o.vars.animationSpeed / 1e3 + "s ease",
        zIndex: 1
      }).eq(o.currentSlide).css({
        opacity: 1,
        zIndex: 2
      }) : 0 == o.vars.fadeFirstSlide ? o.slides.css({
        opacity: 0,
        display: "block",
        zIndex: 1
      }).eq(o.currentSlide).css({
        zIndex: 2
      }).css({
        opacity: 1
      }) : o.slides.css({
        opacity: 0,
        display: "block",
        zIndex: 1
      }).eq(o.currentSlide).css({
        zIndex: 2
      }).animate({
        opacity: 1
      }, o.vars.animationSpeed, o.vars.easing)), o.vars.smoothHeight &amp;&amp; m.smoothHeight()) : ("init" === e &amp;&amp; (o.viewport = t('&lt;div class="' + s + 'viewport"&gt;&lt;/div&gt;').css({
        overflow: "hidden",
        position: "relative"
      }).appendTo(o).append(o.container), o.cloneCount = 0, o.cloneOffset = 0, u &amp;&amp; (n = t.makeArray(o.slides).reverse(), o.slides = t(n), o.container.empty().append(o.slides))), o.vars.animationLoop &amp;&amp; !p &amp;&amp; (o.cloneCount = 2, o.cloneOffset = 1, "init" !== e &amp;&amp; o.container.find(".clone").remove(), o.container.append(m.uniqueID(o.slides.first().clone().addClass("clone")).attr("aria-hidden", "true")).prepend(m.uniqueID(o.slides.last().clone().addClass("clone")).attr("aria-hidden", "true"))), o.newSlides = t(o.vars.selector, o), i = u ? o.count - 1 - o.currentSlide + o.cloneOffset : o.currentSlide + o.cloneOffset, h &amp;&amp; !p ? (o.container.height(200 * (o.count + o.cloneCount) + "%").css("position", "absolute").width("100%"), setTimeout(function () {
        o.newSlides.css({
          display: "block"
        }), o.doMath(), o.viewport.height(o.h), o.setProps(i * o.h, "init")
      }, "init" === e ? 100 : 0)) : (o.container.width(200 * (o.count + o.cloneCount) + "%"), o.setProps(i * o.computedW, "init"), setTimeout(function () {
        o.doMath(), o.newSlides.css({
          width: o.computedW,
          marginRight: o.computedM,
          float: "left",
          display: "block"
        }), o.vars.smoothHeight &amp;&amp; m.smoothHeight()
      }, "init" === e ? 100 : 0)));
      p || o.slides.removeClass(s + "active-slide").eq(o.currentSlide).addClass(s + "active-slide"), o.vars.init(o)
    }, o.doMath = function () {
      var t = o.slides.first(),
        e = o.vars.itemMargin,
        i = o.vars.minItems,
        n = o.vars.maxItems;
      o.w = void 0 === o.viewport ? o.width() : o.viewport.width(), o.h = t.height(), o.boxPadding = t.outerWidth() - t.width(), p ? (o.itemT = o.vars.itemWidth + e, o.itemM = e, o.minW = i ? i * o.itemT : o.w, o.maxW = n ? n * o.itemT - e : o.w, o.itemW = o.minW &gt; o.w ? (o.w - e * (i - 1)) / i : o.maxW &lt; o.w ? (o.w - e * (n - 1)) / n : o.vars.itemWidth &gt; o.w ? o.w : o.vars.itemWidth, o.visible = Math.floor(o.w / o.itemW), o.move = o.vars.move &gt; 0 &amp;&amp; o.vars.move &lt; o.visible ? o.vars.move : o.visible, o.pagingCount = Math.ceil((o.count - o.visible) / o.move + 1), o.last = o.pagingCount - 1, o.limit = 1 === o.pagingCount ? 0 : o.vars.itemWidth &gt; o.w ? o.itemW * (o.count - 1) + e * (o.count - 1) : (o.itemW + e) * o.count - o.w - e) : (o.itemW = o.w, o.itemM = e, o.pagingCount = o.count, o.last = o.count - 1), o.computedW = o.itemW - o.boxPadding, o.computedM = o.itemM
    }, o.update = function (t, e) {
      o.doMath(), p || (t &lt; o.currentSlide ? o.currentSlide += 1 : t &lt;= o.currentSlide &amp;&amp; 0 !== t &amp;&amp; (o.currentSlide -= 1), o.animatingTo = o.currentSlide), o.vars.controlNav &amp;&amp; !o.manualControls &amp;&amp; ("add" === e &amp;&amp; !p || o.pagingCount &gt; o.controlNav.length ? m.controlNav.update("add") : ("remove" === e &amp;&amp; !p || o.pagingCount &lt; o.controlNav.length) &amp;&amp; (p &amp;&amp; o.currentSlide &gt; o.last &amp;&amp; (o.currentSlide -= 1, o.animatingTo -= 1), m.controlNav.update("remove", o.last))), o.vars.directionNav &amp;&amp; m.directionNav.update()
    }, o.addSlide = function (e, i) {
      var n = t(e);
      o.count += 1, o.last = o.count - 1, h &amp;&amp; u ? void 0 !== i ? o.slides.eq(o.count - i).after(n) : o.container.prepend(n) : void 0 !== i ? o.slides.eq(i).before(n) : o.container.append(n), o.update(i, "add"), o.slides = t(o.vars.selector + ":not(.clone)", o), o.setup(), o.vars.added(o)
    }, o.removeSlide = function (e) {
      var i = isNaN(e) ? o.slides.index(t(e)) : e;
      o.count -= 1, o.last = o.count - 1, isNaN(e) ? t(e, o.slides).remove() : h &amp;&amp; u ? o.slides.eq(o.last).remove() : o.slides.eq(e).remove(), o.doMath(), o.update(i, "remove"), o.slides = t(o.vars.selector + ":not(.clone)", o), o.setup(), o.vars.removed(o)
    }, m.init()
  }, t(window).blur(function (t) {
    e = !1
  }).focus(function (t) {
    e = !0
  }), t.flexslider.defaults = {
    namespace: "flex-",
    selector: ".slides &gt; li",
    animation: "fade",
    easing: "swing",
    direction: "horizontal",
    reverse: !1,
    animationLoop: !0,
    smoothHeight: !1,
    startAt: 0,
    slideshow: !0,
    slideshowSpeed: 7e3,
    animationSpeed: 600,
    initDelay: 0,
    randomize: !1,
    fadeFirstSlide: !0,
    thumbCaptions: !1,
    pauseOnAction: !0,
    pauseOnHover: !1,
    pauseInvisible: !0,
    useCSS: !0,
    touch: !0,
    video: !1,
    controlNav: !0,
    directionNav: !0,
    prevText: "Previous",
    nextText: "Next",
    keyboard: !0,
    multipleKeyboard: !1,
    mousewheel: !1,
    pausePlay: !1,
    pauseText: "Pause",
    playText: "Play",
    controlsContainer: "",
    manualControls: "",
    customDirectionNav: "",
    sync: "",
    asNavFor: "",
    itemWidth: 0,
    itemMargin: 0,
    minItems: 1,
    maxItems: 0,
    move: 0,
    allowOneSlide: !0,
    start: function () {},
    before: function () {},
    after: function () {},
    end: function () {},
    added: function () {},
    removed: function () {},
    init: function () {}
  }, t.fn.flexslider = function (e) {
    if (void 0 === e &amp;&amp; (e = {}), "object" == typeof e) return this.each(function () {
      var i = t(this),
        n = e.selector ? e.selector : ".slides &gt; li",
        o = i.find(n);
      1 === o.length &amp;&amp; !0 === e.allowOneSlide || 0 === o.length ? (o.fadeIn(400), e.start &amp;&amp; e.start(i)) : void 0 === i.data("flexslider") &amp;&amp; new t.flexslider(this, e)
    });
    var i = t(this).data("flexslider");
    switch (e) {
      case "play":
        i.play();
        break;
      case "pause":
        i.pause();
        break;
      case "stop":
        i.stop();
        break;
      case "next":
        i.flexAnimate(i.getTarget("next"), !0);
        break;
      case "prev":
      case "previous":
        i.flexAnimate(i.getTarget("prev"), !0);
        break;
      default:
        "number" == typeof e &amp;&amp; i.flexAnimate(e, !0)
    }
  }
}(jQuery),
function (t, e) {
  "function" == typeof define &amp;&amp; define.amd ? define(["jquery"], e) : "object" == typeof exports ? module.exports = e(require("jquery")) : t.lightbox = e(t.jQuery)
}(this, function (t) {
  function e(e) {
    this.album = [], this.currentImageIndex = void 0, this.init(), this.options = t.extend({}, this.constructor.defaults), this.option(e)
  }
  return e.defaults = {
    albumLabel: "Image %1 of %2",
    alwaysShowNavOnTouchDevices: !1,
    fadeDuration: 500,
    fitImagesInViewport: !0,
    positionFromTop: 50,
    resizeDuration: 700,
    showImageNumberLabel: !0,
    wrapAround: !1,
    disableScrolling: !1
  }, e.prototype.option = function (e) {
    t.extend(this.options, e)
  }, e.prototype.imageCountLabel = function (t, e) {
    return this.options.albumLabel.replace(/%1/g, t).replace(/%2/g, e)
  }, e.prototype.init = function () {
    this.enable(), this.build()
  }, e.prototype.enable = function () {
    var e = this;
    t("body").on("click", "a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]", function (i) {
      return e.start(t(i.currentTarget)), !1
    })
  }, e.prototype.build = function () {
    var e = this;
    t('&lt;div id="lightboxOverlay" class="lightboxOverlay"&gt;&lt;/div&gt;&lt;div id="lightbox" class="lightbox"&gt;&lt;div class="lb-outerContainer"&gt;&lt;div class="lb-container"&gt;&lt;img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /&gt;&lt;div class="lb-nav"&gt;&lt;a class="lb-prev" href="" &gt;&lt;/a&gt;&lt;a class="lb-next" href="" &gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="lb-loader"&gt;&lt;a class="lb-cancel"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lb-dataContainer"&gt;&lt;div class="lb-data"&gt;&lt;div class="lb-details"&gt;&lt;span class="lb-caption"&gt;&lt;/span&gt;&lt;span class="lb-number"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="lb-closeContainer"&gt;&lt;a class="lb-close"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;').appendTo(t("body")), this.$lightbox = t("#lightbox"), this.$overlay = t("#lightboxOverlay"), this.$outerContainer = this.$lightbox.find(".lb-outerContainer"), this.$container = this.$lightbox.find(".lb-container"), this.containerTopPadding = parseInt(this.$container.css("padding-top"), 10), this.containerRightPadding = parseInt(this.$container.css("padding-right"), 10), this.containerBottomPadding = parseInt(this.$container.css("padding-bottom"), 10), this.containerLeftPadding = parseInt(this.$container.css("padding-left"), 10), this.$overlay.hide().on("click", function () {
      return e.end(), !1
    }), this.$lightbox.hide().on("click", function (i) {
      return "lightbox" === t(i.target).attr("id") &amp;&amp; e.end(), !1
    }), this.$outerContainer.on("click", function (i) {
      return "lightbox" === t(i.target).attr("id") &amp;&amp; e.end(), !1
    }), this.$lightbox.find(".lb-prev").on("click", function () {
      return 0 === e.currentImageIndex ? e.changeImage(e.album.length - 1) : e.changeImage(e.currentImageIndex - 1), !1
    }), this.$lightbox.find(".lb-next").on("click", function () {
      return e.currentImageIndex === e.album.length - 1 ? e.changeImage(0) : e.changeImage(e.currentImageIndex + 1), !1
    }), this.$lightbox.find(".lb-loader, .lb-close").on("click", function () {
      return e.end(), !1
    })
  }, e.prototype.start = function (e) {
    function i(t) {
      n.album.push({
        link: t.attr("href"),
        title: t.attr("data-title") || t.attr("title")
      })
    }
    var n = this,
      o = t(window);
    o.on("resize", t.proxy(this.sizeOverlay, this)), t("select, object, embed").css({
      visibility: "hidden"
    }), this.sizeOverlay(), this.album = [];
    var a, s = 0,
      r = e.attr("data-lightbox");
    if (r) {
      a = t(e.prop("tagName") + '[data-lightbox="' + r + '"]');
      for (var l = 0; l &lt; a.length; l = ++l) i(t(a[l])), a[l] === e[0] &amp;&amp; (s = l)
    } else if ("lightbox" === e.attr("rel")) i(e);
    else {
      a = t(e.prop("tagName") + '[rel="' + e.attr("rel") + '"]');
      for (var d = 0; d &lt; a.length; d = ++d) i(t(a[d])), a[d] === e[0] &amp;&amp; (s = d)
    }
    var c = o.scrollTop() + this.options.positionFromTop,
      h = o.scrollLeft();
    this.$lightbox.css({
      top: c + "px",
      left: h + "px"
    }).fadeIn(this.options.fadeDuration), this.options.disableScrolling &amp;&amp; t("body").addClass("lb-disable-scrolling"), this.changeImage(s)
  }, e.prototype.changeImage = function (e) {
    var i = this;
    this.disableKeyboardNav();
    var n = this.$lightbox.find(".lb-image");
    this.$overlay.fadeIn(this.options.fadeDuration), t(".lb-loader").fadeIn("slow"), this.$lightbox.find(".lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption").hide(), this.$outerContainer.addClass("animating");
    var o = new Image;
    o.onload = function () {
      var a, s, r, l, d, c;
      n.attr("src", i.album[e].link), t(o), n.width(o.width), n.height(o.height), i.options.fitImagesInViewport &amp;&amp; (c = t(window).width(), d = t(window).height(), l = c - i.containerLeftPadding - i.containerRightPadding - 20, r = d - i.containerTopPadding - i.containerBottomPadding - 120, i.options.maxWidth &amp;&amp; i.options.maxWidth &lt; l &amp;&amp; (l = i.options.maxWidth), i.options.maxHeight &amp;&amp; i.options.maxHeight &lt; l &amp;&amp; (r = i.options.maxHeight), (o.width &gt; l || o.height &gt; r) &amp;&amp; (o.width / l &gt; o.height / r ? (s = l, a = parseInt(o.height / (o.width / s), 10), n.width(s), n.height(a)) : (a = r, s = parseInt(o.width / (o.height / a), 10), n.width(s), n.height(a)))), i.sizeContainer(n.width(), n.height())
    }, o.src = this.album[e].link, this.currentImageIndex = e
  }, e.prototype.sizeOverlay = function () {
    this.$overlay.width(t(document).width()).height(t(document).height())
  }, e.prototype.sizeContainer = function (t, e) {
    function i() {
      n.$lightbox.find(".lb-dataContainer").width(s), n.$lightbox.find(".lb-prevLink").height(r), n.$lightbox.find(".lb-nextLink").height(r), n.showImage()
    }
    var n = this,
      o = this.$outerContainer.outerWidth(),
      a = this.$outerContainer.outerHeight(),
      s = t + this.containerLeftPadding + this.containerRightPadding,
      r = e + this.containerTopPadding + this.containerBottomPadding;
    o !== s || a !== r ? this.$outerContainer.animate({
      width: s,
      height: r
    }, this.options.resizeDuration, "swing", function () {
      i()
    }) : i()
  }, e.prototype.showImage = function () {
    this.$lightbox.find(".lb-loader").stop(!0).hide(), this.$lightbox.find(".lb-image").fadeIn("slow"), this.updateNav(), this.updateDetails(), this.preloadNeighboringImages(), this.enableKeyboardNav()
  }, e.prototype.updateNav = function () {
    var t = !1;
    try {
      document.createEvent("TouchEvent"), t = !!this.options.alwaysShowNavOnTouchDevices
    } catch (t) {}
    this.$lightbox.find(".lb-nav").show(), this.album.length &gt; 1 &amp;&amp; (this.options.wrapAround ? (t &amp;&amp; this.$lightbox.find(".lb-prev, .lb-next").css("opacity", "1"), this.$lightbox.find(".lb-prev, .lb-next").show()) : (this.currentImageIndex &gt; 0 &amp;&amp; (this.$lightbox.find(".lb-prev").show(), t &amp;&amp; this.$lightbox.find(".lb-prev").css("opacity", "1")), this.currentImageIndex &lt; this.album.length - 1 &amp;&amp; (this.$lightbox.find(".lb-next").show(), t &amp;&amp; this.$lightbox.find(".lb-next").css("opacity", "1"))))
  }, e.prototype.updateDetails = function () {
    var e = this;
    if (void 0 !== this.album[this.currentImageIndex].title &amp;&amp; "" !== this.album[this.currentImageIndex].title &amp;&amp; this.$lightbox.find(".lb-caption").html(this.album[this.currentImageIndex].title).fadeIn("fast").find("a").on("click", function (e) {
        void 0 !== t(this).attr("target") ? window.open(t(this).attr("href"), t(this).attr("target")) : location.href = t(this).attr("href")
      }), this.album.length &gt; 1 &amp;&amp; this.options.showImageNumberLabel) {
      var i = this.imageCountLabel(this.currentImageIndex + 1, this.album.length);
      this.$lightbox.find(".lb-number").text(i).fadeIn("fast")
    } else this.$lightbox.find(".lb-number").hide();
    this.$outerContainer.removeClass("animating"), this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration, function () {
      return e.sizeOverlay()
    })
  }, e.prototype.preloadNeighboringImages = function () {
    this.album.length &gt; this.currentImageIndex + 1 &amp;&amp; ((new Image).src = this.album[this.currentImageIndex + 1].link);
    this.currentImageIndex &gt; 0 &amp;&amp; ((new Image).src = this.album[this.currentImageIndex - 1].link)
  }, e.prototype.enableKeyboardNav = function () {
    t(document).on("keyup.keyboard", t.proxy(this.keyboardAction, this))
  }, e.prototype.disableKeyboardNav = function () {
    t(document).off(".keyboard")
  }, e.prototype.keyboardAction = function (t) {
    var e = t.keyCode,
      i = String.fromCharCode(e).toLowerCase();
    27 === e || i.match(/x|o|c/) ? this.end() : "p" === i || 37 === e ? 0 !== this.currentImageIndex ? this.changeImage(this.currentImageIndex - 1) : this.options.wrapAround &amp;&amp; this.album.length &gt; 1 &amp;&amp; this.changeImage(this.album.length - 1) : ("n" === i || 39 === e) &amp;&amp; (this.currentImageIndex !== this.album.length - 1 ? this.changeImage(this.currentImageIndex + 1) : this.options.wrapAround &amp;&amp; this.album.length &gt; 1 &amp;&amp; this.changeImage(0))
  }, e.prototype.end = function () {
    this.disableKeyboardNav(), t(window).off("resize", this.sizeOverlay), this.$lightbox.fadeOut(this.options.fadeDuration), this.$overlay.fadeOut(this.options.fadeDuration), t("select, object, embed").css({
      visibility: "visible"
    }), this.options.disableScrolling &amp;&amp; t("body").removeClass("lb-disable-scrolling")
  }, new e
});</pre></body></html>