{"ast":null,"code":"import { __extends, __spreadArray } from \"tslib\";\n\nfunction isObject(e) {\n  return e !== null && typeof e === \"object\" && \"constructor\" in e && e.constructor === Object;\n}\n\nfunction extend(e, t) {\n  if (e === void 0) {\n    e = {};\n  }\n\n  if (t === void 0) {\n    t = {};\n  }\n\n  Object.keys(t).forEach(function (i) {\n    if (typeof e[i] === \"undefined\") e[i] = t[i];else if (isObject(t[i]) && isObject(e[i]) && Object.keys(t[i]).length > 0) {\n      extend(e[i], t[i]);\n    }\n  });\n}\n\nvar doc = typeof document !== \"undefined\" ? document : {};\nvar ssrDocument = {\n  body: {},\n  addEventListener: function () {},\n  removeEventListener: function () {},\n  activeElement: {\n    blur: function () {},\n    nodeName: \"\"\n  },\n  querySelector: function () {\n    return null;\n  },\n  querySelectorAll: function () {\n    return [];\n  },\n  getElementById: function () {\n    return null;\n  },\n  createEvent: function () {\n    return {\n      initEvent: function () {}\n    };\n  },\n  createElement: function () {\n    return {\n      children: [],\n      childNodes: [],\n      style: {},\n      setAttribute: function () {},\n      getElementsByTagName: function () {\n        return [];\n      }\n    };\n  },\n  createElementNS: function () {\n    return {};\n  },\n  importNode: function () {\n    return null;\n  },\n  location: {\n    hash: \"\",\n    host: \"\",\n    hostname: \"\",\n    href: \"\",\n    origin: \"\",\n    pathname: \"\",\n    protocol: \"\",\n    search: \"\"\n  }\n};\nextend(doc, ssrDocument);\nvar win = typeof window !== \"undefined\" ? window : {};\nvar ssrWindow = {\n  document: ssrDocument,\n  navigator: {\n    userAgent: \"\"\n  },\n  location: {\n    hash: \"\",\n    host: \"\",\n    hostname: \"\",\n    href: \"\",\n    origin: \"\",\n    pathname: \"\",\n    protocol: \"\",\n    search: \"\"\n  },\n  history: {\n    replaceState: function () {},\n    pushState: function () {},\n    go: function () {},\n    back: function () {}\n  },\n  CustomEvent: function e() {\n    return this;\n  },\n  addEventListener: function () {},\n  removeEventListener: function () {},\n  getComputedStyle: function () {\n    return {\n      getPropertyValue: function () {\n        return \"\";\n      }\n    };\n  },\n  Image: function () {},\n  Date: function () {},\n  screen: {},\n  setTimeout: function () {},\n  clearTimeout: function () {},\n  matchMedia: function () {\n    return {};\n  }\n};\nextend(win, ssrWindow);\n\nvar Dom7 = function () {\n  function e(e) {\n    var t = this;\n\n    for (var i = 0; i < e.length; i += 1) {\n      t[i] = e[i];\n    }\n\n    t.length = e.length;\n    return this;\n  }\n\n  return e;\n}();\n\nfunction $(e, t) {\n  var i = [];\n  var r = 0;\n\n  if (e && !t) {\n    if (e instanceof Dom7) {\n      return e;\n    }\n  }\n\n  if (e) {\n    if (typeof e === \"string\") {\n      var a = void 0;\n      var s = void 0;\n      var n = e.trim();\n\n      if (n.indexOf(\"<\") >= 0 && n.indexOf(\">\") >= 0) {\n        var l = \"div\";\n        if (n.indexOf(\"<li\") === 0) l = \"ul\";\n        if (n.indexOf(\"<tr\") === 0) l = \"tbody\";\n        if (n.indexOf(\"<td\") === 0 || n.indexOf(\"<th\") === 0) l = \"tr\";\n        if (n.indexOf(\"<tbody\") === 0) l = \"table\";\n        if (n.indexOf(\"<option\") === 0) l = \"select\";\n        s = doc.createElement(l);\n        s.innerHTML = n;\n\n        for (r = 0; r < s.childNodes.length; r += 1) {\n          i.push(s.childNodes[r]);\n        }\n      } else {\n        if (!t && e[0] === \"#\" && !e.match(/[ .<>:~]/)) {\n          a = [doc.getElementById(e.trim().split(\"#\")[1])];\n        } else {\n          a = (t || doc).querySelectorAll(e.trim());\n        }\n\n        for (r = 0; r < a.length; r += 1) {\n          if (a[r]) i.push(a[r]);\n        }\n      }\n    } else if (e.nodeType || e === win || e === doc) {\n      i.push(e);\n    } else if (e.length > 0 && e[0].nodeType) {\n      for (r = 0; r < e.length; r += 1) {\n        i.push(e[r]);\n      }\n    }\n  }\n\n  return new Dom7(i);\n}\n\n$.fn = Dom7.prototype;\n$.Class = Dom7;\n$.Dom7 = Dom7;\n\nfunction unique(e) {\n  var t = [];\n\n  for (var i = 0; i < e.length; i += 1) {\n    if (t.indexOf(e[i]) === -1) t.push(e[i]);\n  }\n\n  return t;\n}\n\nfunction addClass(e) {\n  if (typeof e === \"undefined\") {\n    return this;\n  }\n\n  var t = e.split(\" \");\n\n  for (var i = 0; i < t.length; i += 1) {\n    for (var r = 0; r < this.length; r += 1) {\n      if (typeof this[r] !== \"undefined\" && typeof this[r].classList !== \"undefined\") this[r].classList.add(t[i]);\n    }\n  }\n\n  return this;\n}\n\nfunction removeClass(e) {\n  var t = e.split(\" \");\n\n  for (var i = 0; i < t.length; i += 1) {\n    for (var r = 0; r < this.length; r += 1) {\n      if (typeof this[r] !== \"undefined\" && typeof this[r].classList !== \"undefined\") this[r].classList.remove(t[i]);\n    }\n  }\n\n  return this;\n}\n\nfunction hasClass(e) {\n  if (!this[0]) return false;\n  return this[0].classList.contains(e);\n}\n\nfunction toggleClass(e) {\n  var t = e.split(\" \");\n\n  for (var i = 0; i < t.length; i += 1) {\n    for (var r = 0; r < this.length; r += 1) {\n      if (typeof this[r] !== \"undefined\" && typeof this[r].classList !== \"undefined\") this[r].classList.toggle(t[i]);\n    }\n  }\n\n  return this;\n}\n\nfunction attr(e, t) {\n  if (arguments.length === 1 && typeof e === \"string\") {\n    if (this[0]) return this[0].getAttribute(e);\n    return undefined;\n  }\n\n  for (var i = 0; i < this.length; i += 1) {\n    if (arguments.length === 2) {\n      this[i].setAttribute(e, t);\n    } else {\n      for (var r in e) {\n        this[i][r] = e[r];\n        this[i].setAttribute(r, e[r]);\n      }\n    }\n  }\n\n  return this;\n}\n\nfunction removeAttr(e) {\n  for (var t = 0; t < this.length; t += 1) {\n    this[t].removeAttribute(e);\n  }\n\n  return this;\n}\n\nfunction data(e, t) {\n  var i;\n\n  if (typeof t === \"undefined\") {\n    i = this[0];\n\n    if (i) {\n      if (i.dom7ElementDataStorage && e in i.dom7ElementDataStorage) {\n        return i.dom7ElementDataStorage[e];\n      }\n\n      var r = i.getAttribute(\"data-\" + e);\n\n      if (r) {\n        return r;\n      }\n\n      return undefined;\n    }\n\n    return undefined;\n  }\n\n  for (var a = 0; a < this.length; a += 1) {\n    i = this[a];\n    if (!i.dom7ElementDataStorage) i.dom7ElementDataStorage = {};\n    i.dom7ElementDataStorage[e] = t;\n  }\n\n  return this;\n}\n\nfunction transform(e) {\n  for (var t = 0; t < this.length; t += 1) {\n    var i = this[t].style;\n    i.webkitTransform = e;\n    i.transform = e;\n  }\n\n  return this;\n}\n\nfunction transition(e) {\n  if (typeof e !== \"string\") {\n    e = e + \"ms\";\n  }\n\n  for (var t = 0; t < this.length; t += 1) {\n    var i = this[t].style;\n    i.webkitTransitionDuration = e;\n    i.transitionDuration = e;\n  }\n\n  return this;\n}\n\nfunction on() {\n  var e = [];\n\n  for (var t = 0; t < arguments.length; t++) {\n    e[t] = arguments[t];\n  }\n\n  var i = e[0],\n      r = e[1],\n      a = e[2],\n      s = e[3];\n\n  if (typeof e[1] === \"function\") {\n    i = e[0], a = e[1], s = e[2];\n    r = undefined;\n  }\n\n  if (!s) s = false;\n\n  function n(e) {\n    var t = e.target;\n    if (!t) return;\n    var i = e.target.dom7EventData || [];\n\n    if (i.indexOf(e) < 0) {\n      i.unshift(e);\n    }\n\n    if ($(t).is(r)) a.apply(t, i);else {\n      var s = $(t).parents();\n\n      for (var n = 0; n < s.length; n += 1) {\n        if ($(s[n]).is(r)) a.apply(s[n], i);\n      }\n    }\n  }\n\n  function l(e) {\n    var t = e && e.target ? e.target.dom7EventData || [] : [];\n\n    if (t.indexOf(e) < 0) {\n      t.unshift(e);\n    }\n\n    a.apply(this, t);\n  }\n\n  var o = i.split(\" \");\n  var d;\n\n  for (var u = 0; u < this.length; u += 1) {\n    var f = this[u];\n\n    if (!r) {\n      for (d = 0; d < o.length; d += 1) {\n        var p = o[d];\n        if (!f.dom7Listeners) f.dom7Listeners = {};\n        if (!f.dom7Listeners[p]) f.dom7Listeners[p] = [];\n        f.dom7Listeners[p].push({\n          listener: a,\n          proxyListener: l\n        });\n        f.addEventListener(p, l, s);\n      }\n    } else {\n      for (d = 0; d < o.length; d += 1) {\n        var p = o[d];\n        if (!f.dom7LiveListeners) f.dom7LiveListeners = {};\n        if (!f.dom7LiveListeners[p]) f.dom7LiveListeners[p] = [];\n        f.dom7LiveListeners[p].push({\n          listener: a,\n          proxyListener: n\n        });\n        f.addEventListener(p, n, s);\n      }\n    }\n  }\n\n  return this;\n}\n\nfunction off() {\n  var e = [];\n\n  for (var t = 0; t < arguments.length; t++) {\n    e[t] = arguments[t];\n  }\n\n  var i = e[0],\n      r = e[1],\n      a = e[2],\n      s = e[3];\n\n  if (typeof e[1] === \"function\") {\n    i = e[0], a = e[1], s = e[2];\n    r = undefined;\n  }\n\n  if (!s) s = false;\n  var n = i.split(\" \");\n\n  for (var l = 0; l < n.length; l += 1) {\n    var o = n[l];\n\n    for (var d = 0; d < this.length; d += 1) {\n      var u = this[d];\n      var f = void 0;\n\n      if (!r && u.dom7Listeners) {\n        f = u.dom7Listeners[o];\n      } else if (r && u.dom7LiveListeners) {\n        f = u.dom7LiveListeners[o];\n      }\n\n      if (f && f.length) {\n        for (var p = f.length - 1; p >= 0; p -= 1) {\n          var c = f[p];\n\n          if (a && c.listener === a) {\n            u.removeEventListener(o, c.proxyListener, s);\n            f.splice(p, 1);\n          } else if (a && c.listener && c.listener.dom7proxy && c.listener.dom7proxy === a) {\n            u.removeEventListener(o, c.proxyListener, s);\n            f.splice(p, 1);\n          } else if (!a) {\n            u.removeEventListener(o, c.proxyListener, s);\n            f.splice(p, 1);\n          }\n        }\n      }\n    }\n  }\n\n  return this;\n}\n\nfunction trigger() {\n  var e = [];\n\n  for (var t = 0; t < arguments.length; t++) {\n    e[t] = arguments[t];\n  }\n\n  var i = e[0].split(\" \");\n  var r = e[1];\n\n  for (var a = 0; a < i.length; a += 1) {\n    var s = i[a];\n\n    for (var n = 0; n < this.length; n += 1) {\n      var l = this[n];\n      var o = void 0;\n\n      try {\n        o = new win.CustomEvent(s, {\n          detail: r,\n          bubbles: true,\n          cancelable: true\n        });\n      } catch (d) {\n        o = doc.createEvent(\"Event\");\n        o.initEvent(s, true, true);\n        o.detail = r;\n      }\n\n      l.dom7EventData = e.filter(function (e, t) {\n        return t > 0;\n      });\n      l.dispatchEvent(o);\n      l.dom7EventData = [];\n      delete l.dom7EventData;\n    }\n  }\n\n  return this;\n}\n\nfunction transitionEnd(e) {\n  var t = [\"webkitTransitionEnd\", \"transitionend\"];\n  var i = this;\n  var r;\n\n  function a(s) {\n    if (s.target !== this) return;\n    e.call(this, s);\n\n    for (r = 0; r < t.length; r += 1) {\n      i.off(t[r], a);\n    }\n  }\n\n  if (e) {\n    for (r = 0; r < t.length; r += 1) {\n      i.on(t[r], a);\n    }\n  }\n\n  return this;\n}\n\nfunction outerWidth(e) {\n  if (this.length > 0) {\n    if (e) {\n      var t = this.styles();\n      return this[0].offsetWidth + parseFloat(t.getPropertyValue(\"margin-right\")) + parseFloat(t.getPropertyValue(\"margin-left\"));\n    }\n\n    return this[0].offsetWidth;\n  }\n\n  return null;\n}\n\nfunction outerHeight(e) {\n  if (this.length > 0) {\n    if (e) {\n      var t = this.styles();\n      return this[0].offsetHeight + parseFloat(t.getPropertyValue(\"margin-top\")) + parseFloat(t.getPropertyValue(\"margin-bottom\"));\n    }\n\n    return this[0].offsetHeight;\n  }\n\n  return null;\n}\n\nfunction offset() {\n  if (this.length > 0) {\n    var e = this[0];\n    var t = e.getBoundingClientRect();\n    var i = doc.body;\n    var r = e.clientTop || i.clientTop || 0;\n    var a = e.clientLeft || i.clientLeft || 0;\n    var s = e === win ? win.scrollY : e.scrollTop;\n    var n = e === win ? win.scrollX : e.scrollLeft;\n    return {\n      top: t.top + s - r,\n      left: t.left + n - a\n    };\n  }\n\n  return null;\n}\n\nfunction styles() {\n  if (this[0]) return win.getComputedStyle(this[0], null);\n  return {};\n}\n\nfunction css(e, t) {\n  var i;\n\n  if (arguments.length === 1) {\n    if (typeof e === \"string\") {\n      if (this[0]) return win.getComputedStyle(this[0], null).getPropertyValue(e);\n    } else {\n      for (i = 0; i < this.length; i += 1) {\n        for (var r in e) {\n          this[i].style[r] = e[r];\n        }\n      }\n\n      return this;\n    }\n  }\n\n  if (arguments.length === 2 && typeof e === \"string\") {\n    for (i = 0; i < this.length; i += 1) {\n      this[i].style[e] = t;\n    }\n\n    return this;\n  }\n\n  return this;\n}\n\nfunction each(e) {\n  if (!e) return this;\n\n  for (var t = 0; t < this.length; t += 1) {\n    if (e.call(this[t], t, this[t]) === false) {\n      return this;\n    }\n  }\n\n  return this;\n}\n\nfunction filter(e) {\n  var t = [];\n  var i = this;\n\n  for (var r = 0; r < i.length; r += 1) {\n    if (e.call(i[r], r, i[r])) t.push(i[r]);\n  }\n\n  return new Dom7(t);\n}\n\nfunction html(e) {\n  if (typeof e === \"undefined\") {\n    return this[0] ? this[0].innerHTML : undefined;\n  }\n\n  for (var t = 0; t < this.length; t += 1) {\n    this[t].innerHTML = e;\n  }\n\n  return this;\n}\n\nfunction text(e) {\n  if (typeof e === \"undefined\") {\n    if (this[0]) {\n      return this[0].textContent.trim();\n    }\n\n    return null;\n  }\n\n  for (var t = 0; t < this.length; t += 1) {\n    this[t].textContent = e;\n  }\n\n  return this;\n}\n\nfunction is(e) {\n  var t = this[0];\n  var i;\n  var r;\n  if (!t || typeof e === \"undefined\") return false;\n\n  if (typeof e === \"string\") {\n    if (t.matches) return t.matches(e);else if (t.webkitMatchesSelector) return t.webkitMatchesSelector(e);else if (t.msMatchesSelector) return t.msMatchesSelector(e);\n    i = $(e);\n\n    for (r = 0; r < i.length; r += 1) {\n      if (i[r] === t) return true;\n    }\n\n    return false;\n  } else if (e === doc) return t === doc;else if (e === win) return t === win;\n\n  if (e.nodeType || e instanceof Dom7) {\n    i = e.nodeType ? [e] : e;\n\n    for (r = 0; r < i.length; r += 1) {\n      if (i[r] === t) return true;\n    }\n\n    return false;\n  }\n\n  return false;\n}\n\nfunction index() {\n  var e = this[0];\n  var t;\n\n  if (e) {\n    t = 0;\n\n    while ((e = e.previousSibling) !== null) {\n      if (e.nodeType === 1) t += 1;\n    }\n\n    return t;\n  }\n\n  return undefined;\n}\n\nfunction eq(e) {\n  if (typeof e === \"undefined\") return this;\n  var t = this.length;\n  var i;\n\n  if (e > t - 1) {\n    return new Dom7([]);\n  }\n\n  if (e < 0) {\n    i = t + e;\n    if (i < 0) return new Dom7([]);\n    return new Dom7([this[i]]);\n  }\n\n  return new Dom7([this[e]]);\n}\n\nfunction append() {\n  var e = [];\n\n  for (var t = 0; t < arguments.length; t++) {\n    e[t] = arguments[t];\n  }\n\n  var i;\n\n  for (var r = 0; r < e.length; r += 1) {\n    i = e[r];\n\n    for (var a = 0; a < this.length; a += 1) {\n      if (typeof i === \"string\") {\n        var s = doc.createElement(\"div\");\n        s.innerHTML = i;\n\n        while (s.firstChild) {\n          this[a].appendChild(s.firstChild);\n        }\n      } else if (i instanceof Dom7) {\n        for (var n = 0; n < i.length; n += 1) {\n          this[a].appendChild(i[n]);\n        }\n      } else {\n        this[a].appendChild(i);\n      }\n    }\n  }\n\n  return this;\n}\n\nfunction prepend(e) {\n  var t;\n  var i;\n\n  for (t = 0; t < this.length; t += 1) {\n    if (typeof e === \"string\") {\n      var r = doc.createElement(\"div\");\n      r.innerHTML = e;\n\n      for (i = r.childNodes.length - 1; i >= 0; i -= 1) {\n        this[t].insertBefore(r.childNodes[i], this[t].childNodes[0]);\n      }\n    } else if (e instanceof Dom7) {\n      for (i = 0; i < e.length; i += 1) {\n        this[t].insertBefore(e[i], this[t].childNodes[0]);\n      }\n    } else {\n      this[t].insertBefore(e, this[t].childNodes[0]);\n    }\n  }\n\n  return this;\n}\n\nfunction next(e) {\n  if (this.length > 0) {\n    if (e) {\n      if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(e)) {\n        return new Dom7([this[0].nextElementSibling]);\n      }\n\n      return new Dom7([]);\n    }\n\n    if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]);\n    return new Dom7([]);\n  }\n\n  return new Dom7([]);\n}\n\nfunction nextAll(e) {\n  var t = [];\n  var i = this[0];\n  if (!i) return new Dom7([]);\n\n  while (i.nextElementSibling) {\n    var r = i.nextElementSibling;\n\n    if (e) {\n      if ($(r).is(e)) t.push(r);\n    } else t.push(r);\n\n    i = r;\n  }\n\n  return new Dom7(t);\n}\n\nfunction prev(e) {\n  if (this.length > 0) {\n    var t = this[0];\n\n    if (e) {\n      if (t.previousElementSibling && $(t.previousElementSibling).is(e)) {\n        return new Dom7([t.previousElementSibling]);\n      }\n\n      return new Dom7([]);\n    }\n\n    if (t.previousElementSibling) return new Dom7([t.previousElementSibling]);\n    return new Dom7([]);\n  }\n\n  return new Dom7([]);\n}\n\nfunction prevAll(e) {\n  var t = [];\n  var i = this[0];\n  if (!i) return new Dom7([]);\n\n  while (i.previousElementSibling) {\n    var r = i.previousElementSibling;\n\n    if (e) {\n      if ($(r).is(e)) t.push(r);\n    } else t.push(r);\n\n    i = r;\n  }\n\n  return new Dom7(t);\n}\n\nfunction parent(e) {\n  var t = [];\n\n  for (var i = 0; i < this.length; i += 1) {\n    if (this[i].parentNode !== null) {\n      if (e) {\n        if ($(this[i].parentNode).is(e)) t.push(this[i].parentNode);\n      } else {\n        t.push(this[i].parentNode);\n      }\n    }\n  }\n\n  return $(unique(t));\n}\n\nfunction parents(e) {\n  var t = [];\n\n  for (var i = 0; i < this.length; i += 1) {\n    var r = this[i].parentNode;\n\n    while (r) {\n      if (e) {\n        if ($(r).is(e)) t.push(r);\n      } else {\n        t.push(r);\n      }\n\n      r = r.parentNode;\n    }\n  }\n\n  return $(unique(t));\n}\n\nfunction closest(e) {\n  var t = this;\n\n  if (typeof e === \"undefined\") {\n    return new Dom7([]);\n  }\n\n  if (!t.is(e)) {\n    t = t.parents(e).eq(0);\n  }\n\n  return t;\n}\n\nfunction find(e) {\n  var t = [];\n\n  for (var i = 0; i < this.length; i += 1) {\n    var r = this[i].querySelectorAll(e);\n\n    for (var a = 0; a < r.length; a += 1) {\n      t.push(r[a]);\n    }\n  }\n\n  return new Dom7(t);\n}\n\nfunction children(e) {\n  var t = [];\n\n  for (var i = 0; i < this.length; i += 1) {\n    var r = this[i].childNodes;\n\n    for (var a = 0; a < r.length; a += 1) {\n      if (!e) {\n        if (r[a].nodeType === 1) t.push(r[a]);\n      } else if (r[a].nodeType === 1 && $(r[a]).is(e)) {\n        t.push(r[a]);\n      }\n    }\n  }\n\n  return new Dom7(unique(t));\n}\n\nfunction remove() {\n  for (var e = 0; e < this.length; e += 1) {\n    if (this[e].parentNode) this[e].parentNode.removeChild(this[e]);\n  }\n\n  return this;\n}\n\nfunction add() {\n  var e = [];\n\n  for (var t = 0; t < arguments.length; t++) {\n    e[t] = arguments[t];\n  }\n\n  var i = this;\n  var r;\n  var a;\n\n  for (r = 0; r < e.length; r += 1) {\n    var s = $(e[r]);\n\n    for (a = 0; a < s.length; a += 1) {\n      i[i.length] = s[a];\n      i.length += 1;\n    }\n  }\n\n  return i;\n}\n\nvar Methods = {\n  addClass: addClass,\n  removeClass: removeClass,\n  hasClass: hasClass,\n  toggleClass: toggleClass,\n  attr: attr,\n  removeAttr: removeAttr,\n  data: data,\n  transform: transform,\n  transition: transition,\n  on: on,\n  off: off,\n  trigger: trigger,\n  transitionEnd: transitionEnd,\n  outerWidth: outerWidth,\n  outerHeight: outerHeight,\n  offset: offset,\n  css: css,\n  each: each,\n  html: html,\n  text: text,\n  is: is,\n  index: index,\n  eq: eq,\n  append: append,\n  prepend: prepend,\n  next: next,\n  nextAll: nextAll,\n  prev: prev,\n  prevAll: prevAll,\n  parent: parent,\n  parents: parents,\n  closest: closest,\n  find: find,\n  children: children,\n  filter: filter,\n  remove: remove,\n  add: add,\n  styles: styles\n};\nObject.keys(Methods).forEach(function (e) {\n  $.fn[e] = $.fn[e] || Methods[e];\n});\nvar Utils = {\n  deleteProps: function (e) {\n    var t = e;\n    Object.keys(t).forEach(function (e) {\n      try {\n        t[e] = null;\n      } catch (i) {}\n\n      try {\n        delete t[e];\n      } catch (i) {}\n    });\n  },\n  nextTick: function (e, t) {\n    if (t === void 0) {\n      t = 0;\n    }\n\n    return setTimeout(e, t);\n  },\n  now: function () {\n    return Date.now();\n  },\n  getTranslate: function (e, t) {\n    if (t === void 0) {\n      t = \"x\";\n    }\n\n    var i;\n    var r;\n    var a;\n    var s = win.getComputedStyle(e, null);\n\n    if (win.WebKitCSSMatrix) {\n      r = s.transform || s.webkitTransform;\n\n      if (r.split(\",\").length > 6) {\n        r = r.split(\", \").map(function (e) {\n          return e.replace(\",\", \".\");\n        }).join(\", \");\n      }\n\n      a = new win.WebKitCSSMatrix(r === \"none\" ? \"\" : r);\n    } else {\n      a = s.MozTransform || s.OTransform || s.MsTransform || s.msTransform || s.transform || s.getPropertyValue(\"transform\").replace(\"translate(\", \"matrix(1, 0, 0, 1,\");\n      i = a.toString().split(\",\");\n    }\n\n    if (t === \"x\") {\n      if (win.WebKitCSSMatrix) r = a.m41;else if (i.length === 16) r = parseFloat(i[12]);else r = parseFloat(i[4]);\n    }\n\n    if (t === \"y\") {\n      if (win.WebKitCSSMatrix) r = a.m42;else if (i.length === 16) r = parseFloat(i[13]);else r = parseFloat(i[5]);\n    }\n\n    return r || 0;\n  },\n  parseUrlQuery: function (e) {\n    var t = {};\n    var i = e || win.location.href;\n    var r;\n    var a;\n    var s;\n    var n;\n\n    if (typeof i === \"string\" && i.length) {\n      i = i.indexOf(\"?\") > -1 ? i.replace(/\\S*\\?/, \"\") : \"\";\n      a = i.split(\"&\").filter(function (e) {\n        return e !== \"\";\n      });\n      n = a.length;\n\n      for (r = 0; r < n; r += 1) {\n        s = a[r].replace(/#\\S+/g, \"\").split(\"=\");\n        t[decodeURIComponent(s[0])] = typeof s[1] === \"undefined\" ? undefined : decodeURIComponent(s[1]) || \"\";\n      }\n    }\n\n    return t;\n  },\n  isObject: function (e) {\n    return typeof e === \"object\" && e !== null && e.constructor && e.constructor === Object;\n  },\n  extend: function () {\n    var e = [];\n\n    for (var t = 0; t < arguments.length; t++) {\n      e[t] = arguments[t];\n    }\n\n    var i = Object(e[0]);\n    var r = [\"__proto__\", \"constructor\", \"prototype\"];\n\n    for (var a = 1; a < e.length; a += 1) {\n      var s = e[a];\n\n      if (s !== undefined && s !== null) {\n        var n = Object.keys(Object(s)).filter(function (e) {\n          return r.indexOf(e) < 0;\n        });\n\n        for (var l = 0, o = n.length; l < o; l += 1) {\n          var d = n[l];\n          var u = Object.getOwnPropertyDescriptor(s, d);\n\n          if (u !== undefined && u.enumerable) {\n            if (Utils.isObject(i[d]) && Utils.isObject(s[d])) {\n              Utils.extend(i[d], s[d]);\n            } else if (!Utils.isObject(i[d]) && Utils.isObject(s[d])) {\n              i[d] = {};\n              Utils.extend(i[d], s[d]);\n            } else {\n              i[d] = s[d];\n            }\n          }\n        }\n      }\n    }\n\n    return i;\n  }\n};\n\nvar Support = function e() {\n  return {\n    touch: !!(\"ontouchstart\" in win || win.DocumentTouch && doc instanceof win.DocumentTouch),\n    pointerEvents: !!win.PointerEvent && \"maxTouchPoints\" in win.navigator && win.navigator.maxTouchPoints >= 0,\n    observer: function e() {\n      return \"MutationObserver\" in win || \"WebkitMutationObserver\" in win;\n    }(),\n    passiveListener: function e() {\n      var t = false;\n\n      try {\n        var i = Object.defineProperty({}, \"passive\", {\n          get: function () {\n            t = true;\n          }\n        });\n        win.addEventListener(\"testPassiveListener\", null, i);\n      } catch (r) {}\n\n      return t;\n    }(),\n    gestures: function e() {\n      return \"ongesturestart\" in win;\n    }()\n  };\n}();\n\nvar SwiperClass = function () {\n  function e(e) {\n    if (e === void 0) {\n      e = {};\n    }\n\n    var t = this;\n    t.params = e;\n    t.eventsListeners = {};\n\n    if (t.params && t.params.on) {\n      Object.keys(t.params.on).forEach(function (e) {\n        t.on(e, t.params.on[e]);\n      });\n    }\n  }\n\n  e.prototype.on = function (e, t, i) {\n    var r = this;\n    if (typeof t !== \"function\") return r;\n    var a = i ? \"unshift\" : \"push\";\n    e.split(\" \").forEach(function (e) {\n      if (!r.eventsListeners[e]) r.eventsListeners[e] = [];\n      r.eventsListeners[e][a](t);\n    });\n    return r;\n  };\n\n  e.prototype.once = function (e, t, i) {\n    var r = this;\n    if (typeof t !== \"function\") return r;\n\n    function a() {\n      var i = [];\n\n      for (var s = 0; s < arguments.length; s++) {\n        i[s] = arguments[s];\n      }\n\n      r.off(e, a);\n\n      if (a.f7proxy) {\n        delete a.f7proxy;\n      }\n\n      t.apply(r, i);\n    }\n\n    a.f7proxy = t;\n    return r.on(e, a, i);\n  };\n\n  e.prototype.off = function (e, t) {\n    var i = this;\n    if (!i.eventsListeners) return i;\n    e.split(\" \").forEach(function (e) {\n      if (typeof t === \"undefined\") {\n        i.eventsListeners[e] = [];\n      } else if (i.eventsListeners[e] && i.eventsListeners[e].length) {\n        i.eventsListeners[e].forEach(function (r, a) {\n          if (r === t || r.f7proxy && r.f7proxy === t) {\n            i.eventsListeners[e].splice(a, 1);\n          }\n        });\n      }\n    });\n    return i;\n  };\n\n  e.prototype.emit = function () {\n    var e = [];\n\n    for (var t = 0; t < arguments.length; t++) {\n      e[t] = arguments[t];\n    }\n\n    var i = this;\n    if (!i.eventsListeners) return i;\n    var r;\n    var a;\n    var s;\n\n    if (typeof e[0] === \"string\" || Array.isArray(e[0])) {\n      r = e[0];\n      a = e.slice(1, e.length);\n      s = i;\n    } else {\n      r = e[0].events;\n      a = e[0].data;\n      s = e[0].context || i;\n    }\n\n    var n = Array.isArray(r) ? r : r.split(\" \");\n    n.forEach(function (e) {\n      if (i.eventsListeners && i.eventsListeners[e]) {\n        var t = [];\n        i.eventsListeners[e].forEach(function (e) {\n          t.push(e);\n        });\n        t.forEach(function (e) {\n          e.apply(s, a);\n        });\n      }\n    });\n    return i;\n  };\n\n  e.prototype.useModulesParams = function (e) {\n    var t = this;\n    if (!t.modules) return;\n    Object.keys(t.modules).forEach(function (i) {\n      var r = t.modules[i];\n\n      if (r.params) {\n        Utils.extend(e, r.params);\n      }\n    });\n  };\n\n  e.prototype.useModules = function (e) {\n    if (e === void 0) {\n      e = {};\n    }\n\n    var t = this;\n    if (!t.modules) return;\n    Object.keys(t.modules).forEach(function (i) {\n      var r = t.modules[i];\n      var a = e[i] || {};\n\n      if (r.instance) {\n        Object.keys(r.instance).forEach(function (e) {\n          var i = r.instance[e];\n\n          if (typeof i === \"function\") {\n            t[e] = i.bind(t);\n          } else {\n            t[e] = i;\n          }\n        });\n      }\n\n      if (r.on && t.on) {\n        Object.keys(r.on).forEach(function (e) {\n          t.on(e, r.on[e]);\n        });\n      }\n\n      if (r.create) {\n        r.create.bind(t)(a);\n      }\n    });\n  };\n\n  Object.defineProperty(e, \"components\", {\n    set: function (e) {\n      var t = this;\n      if (!t.use) return;\n      t.use(e);\n    },\n    enumerable: false,\n    configurable: true\n  });\n\n  e.installModule = function (e) {\n    var t = [];\n\n    for (var i = 1; i < arguments.length; i++) {\n      t[i - 1] = arguments[i];\n    }\n\n    var r = this;\n    if (!r.prototype.modules) r.prototype.modules = {};\n    var a = e.name || Object.keys(r.prototype.modules).length + \"_\" + Utils.now();\n    r.prototype.modules[a] = e;\n\n    if (e.proto) {\n      Object.keys(e.proto).forEach(function (t) {\n        r.prototype[t] = e.proto[t];\n      });\n    }\n\n    if (e.static) {\n      Object.keys(e.static).forEach(function (t) {\n        r[t] = e.static[t];\n      });\n    }\n\n    if (e.install) {\n      e.install.apply(r, t);\n    }\n\n    return r;\n  };\n\n  e.use = function (e) {\n    var t = [];\n\n    for (var i = 1; i < arguments.length; i++) {\n      t[i - 1] = arguments[i];\n    }\n\n    var r = this;\n\n    if (Array.isArray(e)) {\n      e.forEach(function (e) {\n        return r.installModule(e);\n      });\n      return r;\n    }\n\n    return r.installModule.apply(r, __spreadArray([e], t));\n  };\n\n  return e;\n}();\n\nfunction updateSize() {\n  var e = this;\n  var t;\n  var i;\n  var r = e.$el;\n\n  if (typeof e.params.width !== \"undefined\") {\n    t = e.params.width;\n  } else {\n    t = r[0].clientWidth;\n  }\n\n  if (typeof e.params.height !== \"undefined\") {\n    i = e.params.height;\n  } else {\n    i = r[0].clientHeight;\n  }\n\n  if (t === 0 && e.isHorizontal() || i === 0 && e.isVertical()) {\n    return;\n  }\n\n  t = t - parseInt(r.css(\"padding-left\"), 10) - parseInt(r.css(\"padding-right\"), 10);\n  i = i - parseInt(r.css(\"padding-top\"), 10) - parseInt(r.css(\"padding-bottom\"), 10);\n  Utils.extend(e, {\n    width: t,\n    height: i,\n    size: e.isHorizontal() ? t : i\n  });\n}\n\nfunction updateSlides() {\n  var e = this;\n  var t = e.params;\n  var i = e.$wrapperEl,\n      r = e.size,\n      a = e.rtlTranslate,\n      s = e.wrongRTL;\n  var n = e.virtual && t.virtual.enabled;\n  var l = n ? e.virtual.slides.length : e.slides.length;\n  var o = i.children(\".\" + e.params.slideClass);\n  var d = n ? e.virtual.slides.length : o.length;\n  var u = [];\n  var f = [];\n  var p = [];\n\n  function c(e) {\n    if (!t.cssMode) return true;\n\n    if (e === o.length - 1) {\n      return false;\n    }\n\n    return true;\n  }\n\n  var v = t.slidesOffsetBefore;\n\n  if (typeof v === \"function\") {\n    v = t.slidesOffsetBefore.call(e);\n  }\n\n  var h = t.slidesOffsetAfter;\n\n  if (typeof h === \"function\") {\n    h = t.slidesOffsetAfter.call(e);\n  }\n\n  var m = e.snapGrid.length;\n  var g = e.snapGrid.length;\n  var w = t.spaceBetween;\n  var b = -v;\n  var y = 0;\n  var S = 0;\n\n  if (typeof r === \"undefined\") {\n    return;\n  }\n\n  if (typeof w === \"string\" && w.indexOf(\"%\") >= 0) {\n    w = parseFloat(w.replace(\"%\", \"\")) / 100 * r;\n  }\n\n  e.virtualSize = -w;\n  if (a) o.css({\n    marginLeft: \"\",\n    marginTop: \"\"\n  });else o.css({\n    marginRight: \"\",\n    marginBottom: \"\"\n  });\n  var T;\n\n  if (t.slidesPerColumn > 1) {\n    if (Math.floor(d / t.slidesPerColumn) === d / e.params.slidesPerColumn) {\n      T = d;\n    } else {\n      T = Math.ceil(d / t.slidesPerColumn) * t.slidesPerColumn;\n    }\n\n    if (t.slidesPerView !== \"auto\" && t.slidesPerColumnFill === \"row\") {\n      T = Math.max(T, t.slidesPerView * t.slidesPerColumn);\n    }\n  }\n\n  var E;\n  var x = t.slidesPerColumn;\n  var C = T / x;\n  var M = Math.floor(d / t.slidesPerColumn);\n\n  for (var $ = 0; $ < d; $ += 1) {\n    E = 0;\n    var P = o.eq($);\n\n    if (t.slidesPerColumn > 1) {\n      var k = void 0;\n      var z = void 0;\n      var D = void 0;\n\n      if (t.slidesPerColumnFill === \"row\" && t.slidesPerGroup > 1) {\n        var L = Math.floor($ / (t.slidesPerGroup * t.slidesPerColumn));\n        var O = $ - t.slidesPerColumn * t.slidesPerGroup * L;\n        var I = L === 0 ? t.slidesPerGroup : Math.min(Math.ceil((d - L * x * t.slidesPerGroup) / x), t.slidesPerGroup);\n        D = Math.floor(O / I);\n        z = O - D * I + L * t.slidesPerGroup;\n        k = z + D * T / x;\n        P.css({\n          \"-webkit-box-ordinal-group\": k,\n          \"-moz-box-ordinal-group\": k,\n          \"-ms-flex-order\": k,\n          \"-webkit-order\": k,\n          order: k\n        });\n      } else if (t.slidesPerColumnFill === \"column\") {\n        z = Math.floor($ / x);\n        D = $ - z * x;\n\n        if (z > M || z === M && D === x - 1) {\n          D += 1;\n\n          if (D >= x) {\n            D = 0;\n            z += 1;\n          }\n        }\n      } else {\n        D = Math.floor($ / C);\n        z = $ - D * C;\n      }\n\n      P.css(\"margin-\" + (e.isHorizontal() ? \"top\" : \"left\"), D !== 0 && t.spaceBetween && t.spaceBetween + \"px\");\n    }\n\n    if (P.css(\"display\") === \"none\") continue;\n\n    if (t.slidesPerView === \"auto\") {\n      var A = win.getComputedStyle(P[0], null);\n      var B = P[0].style.transform;\n      var G = P[0].style.webkitTransform;\n\n      if (B) {\n        P[0].style.transform = \"none\";\n      }\n\n      if (G) {\n        P[0].style.webkitTransform = \"none\";\n      }\n\n      if (t.roundLengths) {\n        E = e.isHorizontal() ? P.outerWidth(true) : P.outerHeight(true);\n      } else {\n        if (e.isHorizontal()) {\n          var X = parseFloat(A.getPropertyValue(\"width\"));\n          var Y = parseFloat(A.getPropertyValue(\"padding-left\"));\n          var H = parseFloat(A.getPropertyValue(\"padding-right\"));\n          var V = parseFloat(A.getPropertyValue(\"margin-left\"));\n          var W = parseFloat(A.getPropertyValue(\"margin-right\"));\n          var N = A.getPropertyValue(\"box-sizing\");\n\n          if (N && N === \"border-box\") {\n            E = X + V + W;\n          } else {\n            E = X + Y + H + V + W;\n          }\n        } else {\n          var U = parseFloat(A.getPropertyValue(\"height\"));\n          var F = parseFloat(A.getPropertyValue(\"padding-top\"));\n          var R = parseFloat(A.getPropertyValue(\"padding-bottom\"));\n          var j = parseFloat(A.getPropertyValue(\"margin-top\"));\n          var q = parseFloat(A.getPropertyValue(\"margin-bottom\"));\n          var N = A.getPropertyValue(\"box-sizing\");\n\n          if (N && N === \"border-box\") {\n            E = U + j + q;\n          } else {\n            E = U + F + R + j + q;\n          }\n        }\n      }\n\n      if (B) {\n        P[0].style.transform = B;\n      }\n\n      if (G) {\n        P[0].style.webkitTransform = G;\n      }\n\n      if (t.roundLengths) E = Math.floor(E);\n    } else {\n      E = (r - (t.slidesPerView - 1) * w) / t.slidesPerView;\n      if (t.roundLengths) E = Math.floor(E);\n\n      if (o[$]) {\n        if (e.isHorizontal()) {\n          o[$].style.width = E + \"px\";\n        } else {\n          o[$].style.height = E + \"px\";\n        }\n      }\n    }\n\n    if (o[$]) {\n      o[$].swiperSlideSize = E;\n    }\n\n    p.push(E);\n\n    if (t.centeredSlides) {\n      b = b + E / 2 + y / 2 + w;\n      if (y === 0 && $ !== 0) b = b - r / 2 - w;\n      if ($ === 0) b = b - r / 2 - w;\n      if (Math.abs(b) < 1 / 1e3) b = 0;\n      if (t.roundLengths) b = Math.floor(b);\n      if (S % t.slidesPerGroup === 0) u.push(b);\n      f.push(b);\n    } else {\n      if (t.roundLengths) b = Math.floor(b);\n      if ((S - Math.min(e.params.slidesPerGroupSkip, S)) % e.params.slidesPerGroup === 0) u.push(b);\n      f.push(b);\n      b = b + E + w;\n    }\n\n    e.virtualSize += E + w;\n    y = E;\n    S += 1;\n  }\n\n  e.virtualSize = Math.max(e.virtualSize, r) + h;\n\n  var _;\n\n  if (a && s && (t.effect === \"slide\" || t.effect === \"coverflow\")) {\n    i.css({\n      width: e.virtualSize + t.spaceBetween + \"px\"\n    });\n  }\n\n  if (t.setWrapperSize) {\n    if (e.isHorizontal()) i.css({\n      width: e.virtualSize + t.spaceBetween + \"px\"\n    });else i.css({\n      height: e.virtualSize + t.spaceBetween + \"px\"\n    });\n  }\n\n  if (t.slidesPerColumn > 1) {\n    e.virtualSize = (E + t.spaceBetween) * T;\n    e.virtualSize = Math.ceil(e.virtualSize / t.slidesPerColumn) - t.spaceBetween;\n    if (e.isHorizontal()) i.css({\n      width: e.virtualSize + t.spaceBetween + \"px\"\n    });else i.css({\n      height: e.virtualSize + t.spaceBetween + \"px\"\n    });\n\n    if (t.centeredSlides) {\n      _ = [];\n\n      for (var $ = 0; $ < u.length; $ += 1) {\n        var K = u[$];\n        if (t.roundLengths) K = Math.floor(K);\n        if (u[$] < e.virtualSize + u[0]) _.push(K);\n      }\n\n      u = _;\n    }\n  }\n\n  if (!t.centeredSlides) {\n    _ = [];\n\n    for (var $ = 0; $ < u.length; $ += 1) {\n      var K = u[$];\n      if (t.roundLengths) K = Math.floor(K);\n\n      if (u[$] <= e.virtualSize - r) {\n        _.push(K);\n      }\n    }\n\n    u = _;\n\n    if (Math.floor(e.virtualSize - r) - Math.floor(u[u.length - 1]) > 1) {\n      u.push(e.virtualSize - r);\n    }\n  }\n\n  if (u.length === 0) u = [0];\n\n  if (t.spaceBetween !== 0) {\n    if (e.isHorizontal()) {\n      if (a) o.filter(c).css({\n        marginLeft: w + \"px\"\n      });else o.filter(c).css({\n        marginRight: w + \"px\"\n      });\n    } else o.filter(c).css({\n      marginBottom: w + \"px\"\n    });\n  }\n\n  if (t.centeredSlides && t.centeredSlidesBounds) {\n    var Z = 0;\n    p.forEach(function (e) {\n      Z += e + (t.spaceBetween ? t.spaceBetween : 0);\n    });\n    Z -= t.spaceBetween;\n    var Q = Z - r;\n    u = u.map(function (e) {\n      if (e < 0) return -v;\n      if (e > Q) return Q + h;\n      return e;\n    });\n  }\n\n  if (t.centerInsufficientSlides) {\n    var J = 0;\n    p.forEach(function (e) {\n      J += e + (t.spaceBetween ? t.spaceBetween : 0);\n    });\n    J -= t.spaceBetween;\n\n    if (J < r) {\n      var ee = (r - J) / 2;\n      u.forEach(function (e, t) {\n        u[t] = e - ee;\n      });\n      f.forEach(function (e, t) {\n        f[t] = e + ee;\n      });\n    }\n  }\n\n  Utils.extend(e, {\n    slides: o,\n    snapGrid: u,\n    slidesGrid: f,\n    slidesSizesGrid: p\n  });\n\n  if (d !== l) {\n    e.emit(\"slidesLengthChange\");\n  }\n\n  if (u.length !== m) {\n    if (e.params.watchOverflow) e.checkOverflow();\n    e.emit(\"snapGridLengthChange\");\n  }\n\n  if (f.length !== g) {\n    e.emit(\"slidesGridLengthChange\");\n  }\n\n  if (t.watchSlidesProgress || t.watchSlidesVisibility) {\n    e.updateSlidesOffset();\n  }\n}\n\nfunction updateAutoHeight(e) {\n  var t = this;\n  var i = [];\n  var r = 0;\n  var a;\n\n  if (typeof e === \"number\") {\n    t.setTransition(e);\n  } else if (e === true) {\n    t.setTransition(t.params.speed);\n  }\n\n  if (t.params.slidesPerView !== \"auto\" && t.params.slidesPerView > 1) {\n    if (t.params.centeredSlides) {\n      t.visibleSlides.each(function (e, t) {\n        i.push(t);\n      });\n    } else {\n      for (a = 0; a < Math.ceil(t.params.slidesPerView); a += 1) {\n        var s = t.activeIndex + a;\n        if (s > t.slides.length) break;\n        i.push(t.slides.eq(s)[0]);\n      }\n    }\n  } else {\n    i.push(t.slides.eq(t.activeIndex)[0]);\n  }\n\n  for (a = 0; a < i.length; a += 1) {\n    if (typeof i[a] !== \"undefined\") {\n      var n = i[a].offsetHeight;\n      r = n > r ? n : r;\n    }\n  }\n\n  if (r) t.$wrapperEl.css(\"height\", r + \"px\");\n}\n\nfunction updateSlidesOffset() {\n  var e = this;\n  var t = e.slides;\n\n  for (var i = 0; i < t.length; i += 1) {\n    t[i].swiperSlideOffset = e.isHorizontal() ? t[i].offsetLeft : t[i].offsetTop;\n  }\n}\n\nfunction updateSlidesProgress(e) {\n  if (e === void 0) {\n    e = this && this.translate || 0;\n  }\n\n  var t = this;\n  var i = t.params;\n  var r = t.slides,\n      a = t.rtlTranslate;\n  if (r.length === 0) return;\n  if (typeof r[0].swiperSlideOffset === \"undefined\") t.updateSlidesOffset();\n  var s = -e;\n  if (a) s = e;\n  r.removeClass(i.slideVisibleClass);\n  t.visibleSlidesIndexes = [];\n  t.visibleSlides = [];\n\n  for (var n = 0; n < r.length; n += 1) {\n    var l = r[n];\n    var o = (s + (i.centeredSlides ? t.minTranslate() : 0) - l.swiperSlideOffset) / (l.swiperSlideSize + i.spaceBetween);\n\n    if (i.watchSlidesVisibility || i.centeredSlides && i.autoHeight) {\n      var d = -(s - l.swiperSlideOffset);\n      var u = d + t.slidesSizesGrid[n];\n      var f = d >= 0 && d < t.size - 1 || u > 1 && u <= t.size || d <= 0 && u >= t.size;\n\n      if (f) {\n        t.visibleSlides.push(l);\n        t.visibleSlidesIndexes.push(n);\n        r.eq(n).addClass(i.slideVisibleClass);\n      }\n    }\n\n    l.progress = a ? -o : o;\n  }\n\n  t.visibleSlides = $(t.visibleSlides);\n}\n\nfunction updateProgress(e) {\n  var t = this;\n\n  if (typeof e === \"undefined\") {\n    var i = t.rtlTranslate ? -1 : 1;\n    e = t && t.translate && t.translate * i || 0;\n  }\n\n  var r = t.params;\n  var a = t.maxTranslate() - t.minTranslate();\n  var s = t.progress,\n      n = t.isBeginning,\n      l = t.isEnd;\n  var o = n;\n  var d = l;\n\n  if (a === 0) {\n    s = 0;\n    n = true;\n    l = true;\n  } else {\n    s = (e - t.minTranslate()) / a;\n    n = s <= 0;\n    l = s >= 1;\n  }\n\n  Utils.extend(t, {\n    progress: s,\n    isBeginning: n,\n    isEnd: l\n  });\n  if (r.watchSlidesProgress || r.watchSlidesVisibility || r.centeredSlides && r.autoHeight) t.updateSlidesProgress(e);\n\n  if (n && !o) {\n    t.emit(\"reachBeginning toEdge\");\n  }\n\n  if (l && !d) {\n    t.emit(\"reachEnd toEdge\");\n  }\n\n  if (o && !n || d && !l) {\n    t.emit(\"fromEdge\");\n  }\n\n  t.emit(\"progress\", s);\n}\n\nfunction updateSlidesClasses() {\n  var e = this;\n  var t = e.slides,\n      i = e.params,\n      r = e.$wrapperEl,\n      a = e.activeIndex,\n      s = e.realIndex;\n  var n = e.virtual && i.virtual.enabled;\n  t.removeClass(i.slideActiveClass + \" \" + i.slideNextClass + \" \" + i.slidePrevClass + \" \" + i.slideDuplicateActiveClass + \" \" + i.slideDuplicateNextClass + \" \" + i.slideDuplicatePrevClass);\n  var l;\n\n  if (n) {\n    l = e.$wrapperEl.find(\".\" + i.slideClass + '[data-swiper-slide-index=\"' + a + '\"]');\n  } else {\n    l = t.eq(a);\n  }\n\n  l.addClass(i.slideActiveClass);\n\n  if (i.loop) {\n    if (l.hasClass(i.slideDuplicateClass)) {\n      r.children(\".\" + i.slideClass + \":not(.\" + i.slideDuplicateClass + ')[data-swiper-slide-index=\"' + s + '\"]').addClass(i.slideDuplicateActiveClass);\n    } else {\n      r.children(\".\" + i.slideClass + \".\" + i.slideDuplicateClass + '[data-swiper-slide-index=\"' + s + '\"]').addClass(i.slideDuplicateActiveClass);\n    }\n  }\n\n  var o = l.nextAll(\".\" + i.slideClass).eq(0).addClass(i.slideNextClass);\n\n  if (i.loop && o.length === 0) {\n    o = t.eq(0);\n    o.addClass(i.slideNextClass);\n  }\n\n  var d = l.prevAll(\".\" + i.slideClass).eq(0).addClass(i.slidePrevClass);\n\n  if (i.loop && d.length === 0) {\n    d = t.eq(-1);\n    d.addClass(i.slidePrevClass);\n  }\n\n  if (i.loop) {\n    if (o.hasClass(i.slideDuplicateClass)) {\n      r.children(\".\" + i.slideClass + \":not(.\" + i.slideDuplicateClass + ')[data-swiper-slide-index=\"' + o.attr(\"data-swiper-slide-index\") + '\"]').addClass(i.slideDuplicateNextClass);\n    } else {\n      r.children(\".\" + i.slideClass + \".\" + i.slideDuplicateClass + '[data-swiper-slide-index=\"' + o.attr(\"data-swiper-slide-index\") + '\"]').addClass(i.slideDuplicateNextClass);\n    }\n\n    if (d.hasClass(i.slideDuplicateClass)) {\n      r.children(\".\" + i.slideClass + \":not(.\" + i.slideDuplicateClass + ')[data-swiper-slide-index=\"' + d.attr(\"data-swiper-slide-index\") + '\"]').addClass(i.slideDuplicatePrevClass);\n    } else {\n      r.children(\".\" + i.slideClass + \".\" + i.slideDuplicateClass + '[data-swiper-slide-index=\"' + d.attr(\"data-swiper-slide-index\") + '\"]').addClass(i.slideDuplicatePrevClass);\n    }\n  }\n}\n\nfunction updateActiveIndex(e) {\n  var t = this;\n  var i = t.rtlTranslate ? t.translate : -t.translate;\n  var r = t.slidesGrid,\n      a = t.snapGrid,\n      s = t.params,\n      n = t.activeIndex,\n      l = t.realIndex,\n      o = t.snapIndex;\n  var d = e;\n  var u;\n\n  if (typeof d === \"undefined\") {\n    for (var f = 0; f < r.length; f += 1) {\n      if (typeof r[f + 1] !== \"undefined\") {\n        if (i >= r[f] && i < r[f + 1] - (r[f + 1] - r[f]) / 2) {\n          d = f;\n        } else if (i >= r[f] && i < r[f + 1]) {\n          d = f + 1;\n        }\n      } else if (i >= r[f]) {\n        d = f;\n      }\n    }\n\n    if (s.normalizeSlideIndex) {\n      if (d < 0 || typeof d === \"undefined\") d = 0;\n    }\n  }\n\n  if (a.indexOf(i) >= 0) {\n    u = a.indexOf(i);\n  } else {\n    var p = Math.min(s.slidesPerGroupSkip, d);\n    u = p + Math.floor((d - p) / s.slidesPerGroup);\n  }\n\n  if (u >= a.length) u = a.length - 1;\n\n  if (d === n) {\n    if (u !== o) {\n      t.snapIndex = u;\n      t.emit(\"snapIndexChange\");\n    }\n\n    return;\n  }\n\n  var c = parseInt(t.slides.eq(d).attr(\"data-swiper-slide-index\") || d, 10);\n  Utils.extend(t, {\n    snapIndex: u,\n    realIndex: c,\n    previousIndex: n,\n    activeIndex: d\n  });\n  t.emit(\"activeIndexChange\");\n  t.emit(\"snapIndexChange\");\n\n  if (l !== c) {\n    t.emit(\"realIndexChange\");\n  }\n\n  if (t.initialized || t.params.runCallbacksOnInit) {\n    t.emit(\"slideChange\");\n  }\n}\n\nfunction updateClickedSlide(e) {\n  var t = this;\n  var i = t.params;\n  var r = $(e.target).closest(\".\" + i.slideClass)[0];\n  var a = false;\n\n  if (r) {\n    for (var s = 0; s < t.slides.length; s += 1) {\n      if (t.slides[s] === r) a = true;\n    }\n  }\n\n  if (r && a) {\n    t.clickedSlide = r;\n\n    if (t.virtual && t.params.virtual.enabled) {\n      t.clickedIndex = parseInt($(r).attr(\"data-swiper-slide-index\"), 10);\n    } else {\n      t.clickedIndex = $(r).index();\n    }\n  } else {\n    t.clickedSlide = undefined;\n    t.clickedIndex = undefined;\n    return;\n  }\n\n  if (i.slideToClickedSlide && t.clickedIndex !== undefined && t.clickedIndex !== t.activeIndex) {\n    t.slideToClickedSlide();\n  }\n}\n\nvar update = {\n  updateSize: updateSize,\n  updateSlides: updateSlides,\n  updateAutoHeight: updateAutoHeight,\n  updateSlidesOffset: updateSlidesOffset,\n  updateSlidesProgress: updateSlidesProgress,\n  updateProgress: updateProgress,\n  updateSlidesClasses: updateSlidesClasses,\n  updateActiveIndex: updateActiveIndex,\n  updateClickedSlide: updateClickedSlide\n};\n\nfunction getTranslate(e) {\n  if (e === void 0) {\n    e = this.isHorizontal() ? \"x\" : \"y\";\n  }\n\n  var t = this;\n  var i = t.params,\n      r = t.rtlTranslate,\n      a = t.translate,\n      s = t.$wrapperEl;\n\n  if (i.virtualTranslate) {\n    return r ? -a : a;\n  }\n\n  if (i.cssMode) {\n    return a;\n  }\n\n  var n = Utils.getTranslate(s[0], e);\n  if (r) n = -n;\n  return n || 0;\n}\n\nfunction setTranslate(e, t) {\n  var i = this;\n  var r = i.rtlTranslate,\n      a = i.params,\n      s = i.$wrapperEl,\n      n = i.wrapperEl,\n      l = i.progress;\n  var o = 0;\n  var d = 0;\n  var u = 0;\n\n  if (i.isHorizontal()) {\n    o = r ? -e : e;\n  } else {\n    d = e;\n  }\n\n  if (a.roundLengths) {\n    o = Math.floor(o);\n    d = Math.floor(d);\n  }\n\n  if (a.cssMode) {\n    n[i.isHorizontal() ? \"scrollLeft\" : \"scrollTop\"] = i.isHorizontal() ? -o : -d;\n  } else if (!a.virtualTranslate) {\n    s.transform(\"translate3d(\" + o + \"px, \" + d + \"px, \" + u + \"px)\");\n  }\n\n  i.previousTranslate = i.translate;\n  i.translate = i.isHorizontal() ? o : d;\n  var f;\n  var p = i.maxTranslate() - i.minTranslate();\n\n  if (p === 0) {\n    f = 0;\n  } else {\n    f = (e - i.minTranslate()) / p;\n  }\n\n  if (f !== l) {\n    i.updateProgress(e);\n  }\n\n  i.emit(\"setTranslate\", i.translate, t);\n}\n\nfunction minTranslate() {\n  return -this.snapGrid[0];\n}\n\nfunction maxTranslate() {\n  return -this.snapGrid[this.snapGrid.length - 1];\n}\n\nfunction translateTo(e, t, i, r, a) {\n  var s;\n\n  if (e === void 0) {\n    e = 0;\n  }\n\n  if (t === void 0) {\n    t = this.params.speed;\n  }\n\n  if (i === void 0) {\n    i = true;\n  }\n\n  if (r === void 0) {\n    r = true;\n  }\n\n  var n = this;\n  var l = n.params,\n      o = n.wrapperEl;\n\n  if (n.animating && l.preventInteractionOnTransition) {\n    return false;\n  }\n\n  var d = n.minTranslate();\n  var u = n.maxTranslate();\n  var f;\n  if (r && e > d) f = d;else if (r && e < u) f = u;else f = e;\n  n.updateProgress(f);\n\n  if (l.cssMode) {\n    var p = n.isHorizontal();\n\n    if (t === 0) {\n      o[p ? \"scrollLeft\" : \"scrollTop\"] = -f;\n    } else {\n      if (o.scrollTo) {\n        o.scrollTo((s = {}, s[p ? \"left\" : \"top\"] = -f, s.behavior = \"smooth\", s));\n      } else {\n        o[p ? \"scrollLeft\" : \"scrollTop\"] = -f;\n      }\n    }\n\n    return true;\n  }\n\n  if (t === 0) {\n    n.setTransition(0);\n    n.setTranslate(f);\n\n    if (i) {\n      n.emit(\"beforeTransitionStart\", t, a);\n      n.emit(\"transitionEnd\");\n    }\n  } else {\n    n.setTransition(t);\n    n.setTranslate(f);\n\n    if (i) {\n      n.emit(\"beforeTransitionStart\", t, a);\n      n.emit(\"transitionStart\");\n    }\n\n    if (!n.animating) {\n      n.animating = true;\n\n      if (!n.onTranslateToWrapperTransitionEnd) {\n        n.onTranslateToWrapperTransitionEnd = function e(t) {\n          if (!n || n.destroyed) return;\n          if (t.target !== this) return;\n          n.$wrapperEl[0].removeEventListener(\"transitionend\", n.onTranslateToWrapperTransitionEnd);\n          n.$wrapperEl[0].removeEventListener(\"webkitTransitionEnd\", n.onTranslateToWrapperTransitionEnd);\n          n.onTranslateToWrapperTransitionEnd = null;\n          delete n.onTranslateToWrapperTransitionEnd;\n\n          if (i) {\n            n.emit(\"transitionEnd\");\n          }\n        };\n      }\n\n      n.$wrapperEl[0].addEventListener(\"transitionend\", n.onTranslateToWrapperTransitionEnd);\n      n.$wrapperEl[0].addEventListener(\"webkitTransitionEnd\", n.onTranslateToWrapperTransitionEnd);\n    }\n  }\n\n  return true;\n}\n\nvar translate = {\n  getTranslate: getTranslate,\n  setTranslate: setTranslate,\n  minTranslate: minTranslate,\n  maxTranslate: maxTranslate,\n  translateTo: translateTo\n};\n\nfunction setTransition(e, t) {\n  var i = this;\n\n  if (!i.params.cssMode) {\n    i.$wrapperEl.transition(e);\n  }\n\n  i.emit(\"setTransition\", e, t);\n}\n\nfunction transitionStart(e, t) {\n  if (e === void 0) {\n    e = true;\n  }\n\n  var i = this;\n  var r = i.activeIndex,\n      a = i.params,\n      s = i.previousIndex;\n  if (a.cssMode) return;\n\n  if (a.autoHeight) {\n    i.updateAutoHeight();\n  }\n\n  var n = t;\n\n  if (!n) {\n    if (r > s) n = \"next\";else if (r < s) n = \"prev\";else n = \"reset\";\n  }\n\n  i.emit(\"transitionStart\");\n\n  if (e && r !== s) {\n    if (n === \"reset\") {\n      i.emit(\"slideResetTransitionStart\");\n      return;\n    }\n\n    i.emit(\"slideChangeTransitionStart\");\n\n    if (n === \"next\") {\n      i.emit(\"slideNextTransitionStart\");\n    } else {\n      i.emit(\"slidePrevTransitionStart\");\n    }\n  }\n}\n\nfunction transitionEnd$1(e, t) {\n  if (e === void 0) {\n    e = true;\n  }\n\n  var i = this;\n  var r = i.activeIndex,\n      a = i.previousIndex,\n      s = i.params;\n  i.animating = false;\n  if (s.cssMode) return;\n  i.setTransition(0);\n  var n = t;\n\n  if (!n) {\n    if (r > a) n = \"next\";else if (r < a) n = \"prev\";else n = \"reset\";\n  }\n\n  i.emit(\"transitionEnd\");\n\n  if (e && r !== a) {\n    if (n === \"reset\") {\n      i.emit(\"slideResetTransitionEnd\");\n      return;\n    }\n\n    i.emit(\"slideChangeTransitionEnd\");\n\n    if (n === \"next\") {\n      i.emit(\"slideNextTransitionEnd\");\n    } else {\n      i.emit(\"slidePrevTransitionEnd\");\n    }\n  }\n}\n\nvar transition$1 = {\n  setTransition: setTransition,\n  transitionStart: transitionStart,\n  transitionEnd: transitionEnd$1\n};\n\nfunction slideTo(e, t, i, r) {\n  var a;\n\n  if (e === void 0) {\n    e = 0;\n  }\n\n  if (t === void 0) {\n    t = this.params.speed;\n  }\n\n  if (i === void 0) {\n    i = true;\n  }\n\n  var s = this;\n  var n = e;\n  if (n < 0) n = 0;\n  var l = s.params,\n      o = s.snapGrid,\n      d = s.slidesGrid,\n      u = s.previousIndex,\n      f = s.activeIndex,\n      p = s.rtlTranslate,\n      c = s.wrapperEl;\n\n  if (s.animating && l.preventInteractionOnTransition) {\n    return false;\n  }\n\n  var v = Math.min(s.params.slidesPerGroupSkip, n);\n  var h = v + Math.floor((n - v) / s.params.slidesPerGroup);\n  if (h >= o.length) h = o.length - 1;\n\n  if ((f || l.initialSlide || 0) === (u || 0) && i) {\n    s.emit(\"beforeSlideChangeStart\");\n  }\n\n  var m = -o[h];\n  s.updateProgress(m);\n\n  if (l.normalizeSlideIndex) {\n    for (var g = 0; g < d.length; g += 1) {\n      if (-Math.floor(m * 100) >= Math.floor(d[g] * 100)) {\n        n = g;\n      }\n    }\n  }\n\n  if (s.initialized && n !== f) {\n    if (!s.allowSlideNext && m < s.translate && m < s.minTranslate()) {\n      return false;\n    }\n\n    if (!s.allowSlidePrev && m > s.translate && m > s.maxTranslate()) {\n      if ((f || 0) !== n) return false;\n    }\n  }\n\n  var w;\n  if (n > f) w = \"next\";else if (n < f) w = \"prev\";else w = \"reset\";\n\n  if (p && -m === s.translate || !p && m === s.translate) {\n    s.updateActiveIndex(n);\n\n    if (l.autoHeight) {\n      s.updateAutoHeight();\n    }\n\n    s.updateSlidesClasses();\n\n    if (l.effect !== \"slide\") {\n      s.setTranslate(m);\n    }\n\n    if (w !== \"reset\") {\n      s.transitionStart(i, w);\n      s.transitionEnd(i, w);\n    }\n\n    return false;\n  }\n\n  if (l.cssMode) {\n    var b = s.isHorizontal();\n    var y = -m;\n\n    if (p) {\n      y = c.scrollWidth - c.offsetWidth - y;\n    }\n\n    if (t === 0) {\n      c[b ? \"scrollLeft\" : \"scrollTop\"] = y;\n    } else {\n      if (c.scrollTo) {\n        c.scrollTo((a = {}, a[b ? \"left\" : \"top\"] = y, a.behavior = \"smooth\", a));\n      } else {\n        c[b ? \"scrollLeft\" : \"scrollTop\"] = y;\n      }\n    }\n\n    return true;\n  }\n\n  if (t === 0) {\n    s.setTransition(0);\n    s.setTranslate(m);\n    s.updateActiveIndex(n);\n    s.updateSlidesClasses();\n    s.emit(\"beforeTransitionStart\", t, r);\n    s.transitionStart(i, w);\n    s.transitionEnd(i, w);\n  } else {\n    s.setTransition(t);\n    s.setTranslate(m);\n    s.updateActiveIndex(n);\n    s.updateSlidesClasses();\n    s.emit(\"beforeTransitionStart\", t, r);\n    s.transitionStart(i, w);\n\n    if (!s.animating) {\n      s.animating = true;\n\n      if (!s.onSlideToWrapperTransitionEnd) {\n        s.onSlideToWrapperTransitionEnd = function e(t) {\n          if (!s || s.destroyed) return;\n          if (t.target !== this) return;\n          s.$wrapperEl[0].removeEventListener(\"transitionend\", s.onSlideToWrapperTransitionEnd);\n          s.$wrapperEl[0].removeEventListener(\"webkitTransitionEnd\", s.onSlideToWrapperTransitionEnd);\n          s.onSlideToWrapperTransitionEnd = null;\n          delete s.onSlideToWrapperTransitionEnd;\n          s.transitionEnd(i, w);\n        };\n      }\n\n      s.$wrapperEl[0].addEventListener(\"transitionend\", s.onSlideToWrapperTransitionEnd);\n      s.$wrapperEl[0].addEventListener(\"webkitTransitionEnd\", s.onSlideToWrapperTransitionEnd);\n    }\n  }\n\n  return true;\n}\n\nfunction slideToLoop(e, t, i, r) {\n  if (e === void 0) {\n    e = 0;\n  }\n\n  if (t === void 0) {\n    t = this.params.speed;\n  }\n\n  if (i === void 0) {\n    i = true;\n  }\n\n  var a = this;\n  var s = e;\n\n  if (a.params.loop) {\n    s += a.loopedSlides;\n  }\n\n  return a.slideTo(s, t, i, r);\n}\n\nfunction slideNext(e, t, i) {\n  if (e === void 0) {\n    e = this.params.speed;\n  }\n\n  if (t === void 0) {\n    t = true;\n  }\n\n  var r = this;\n  var a = r.params,\n      s = r.animating;\n  var n = r.activeIndex < a.slidesPerGroupSkip ? 1 : a.slidesPerGroup;\n\n  if (a.loop) {\n    if (s) return false;\n    r.loopFix();\n    r._clientLeft = r.$wrapperEl[0].clientLeft;\n  }\n\n  return r.slideTo(r.activeIndex + n, e, t, i);\n}\n\nfunction slidePrev(e, t, i) {\n  if (e === void 0) {\n    e = this.params.speed;\n  }\n\n  if (t === void 0) {\n    t = true;\n  }\n\n  var r = this;\n  var a = r.params,\n      s = r.animating,\n      n = r.snapGrid,\n      l = r.slidesGrid,\n      o = r.rtlTranslate;\n\n  if (a.loop) {\n    if (s) return false;\n    r.loopFix();\n    r._clientLeft = r.$wrapperEl[0].clientLeft;\n  }\n\n  var d = o ? r.translate : -r.translate;\n\n  function u(e) {\n    if (e < 0) return -Math.floor(Math.abs(e));\n    return Math.floor(e);\n  }\n\n  var f = u(d);\n  var p = n.map(function (e) {\n    return u(e);\n  });\n  l.map(function (e) {\n    return u(e);\n  });\n  n[p.indexOf(f)];\n  var c = n[p.indexOf(f) - 1];\n\n  if (typeof c === \"undefined\" && a.cssMode) {\n    n.forEach(function (e) {\n      if (!c && f >= e) c = e;\n    });\n  }\n\n  var v;\n\n  if (typeof c !== \"undefined\") {\n    v = l.indexOf(c);\n    if (v < 0) v = r.activeIndex - 1;\n  }\n\n  return r.slideTo(v, e, t, i);\n}\n\nfunction slideReset(e, t, i) {\n  if (e === void 0) {\n    e = this.params.speed;\n  }\n\n  if (t === void 0) {\n    t = true;\n  }\n\n  var r = this;\n  return r.slideTo(r.activeIndex, e, t, i);\n}\n\nfunction slideToClosest(e, t, i, r) {\n  if (e === void 0) {\n    e = this.params.speed;\n  }\n\n  if (t === void 0) {\n    t = true;\n  }\n\n  if (r === void 0) {\n    r = .5;\n  }\n\n  var a = this;\n  var s = a.activeIndex;\n  var n = Math.min(a.params.slidesPerGroupSkip, s);\n  var l = n + Math.floor((s - n) / a.params.slidesPerGroup);\n  var o = a.rtlTranslate ? a.translate : -a.translate;\n\n  if (o >= a.snapGrid[l]) {\n    var d = a.snapGrid[l];\n    var u = a.snapGrid[l + 1];\n\n    if (o - d > (u - d) * r) {\n      s += a.params.slidesPerGroup;\n    }\n  } else {\n    var f = a.snapGrid[l - 1];\n    var d = a.snapGrid[l];\n\n    if (o - f <= (d - f) * r) {\n      s -= a.params.slidesPerGroup;\n    }\n  }\n\n  s = Math.max(s, 0);\n  s = Math.min(s, a.slidesGrid.length - 1);\n  return a.slideTo(s, e, t, i);\n}\n\nfunction slideToClickedSlide() {\n  var e = this;\n  var t = e.params,\n      i = e.$wrapperEl;\n  var r = t.slidesPerView === \"auto\" ? e.slidesPerViewDynamic() : t.slidesPerView;\n  var a = e.clickedIndex;\n  var s;\n\n  if (t.loop) {\n    if (e.animating) return;\n    s = parseInt($(e.clickedSlide).attr(\"data-swiper-slide-index\"), 10);\n\n    if (t.centeredSlides) {\n      if (a < e.loopedSlides - r / 2 || a > e.slides.length - e.loopedSlides + r / 2) {\n        e.loopFix();\n        a = i.children(\".\" + t.slideClass + '[data-swiper-slide-index=\"' + s + '\"]:not(.' + t.slideDuplicateClass + \")\").eq(0).index();\n        Utils.nextTick(function () {\n          e.slideTo(a);\n        });\n      } else {\n        e.slideTo(a);\n      }\n    } else if (a > e.slides.length - r) {\n      e.loopFix();\n      a = i.children(\".\" + t.slideClass + '[data-swiper-slide-index=\"' + s + '\"]:not(.' + t.slideDuplicateClass + \")\").eq(0).index();\n      Utils.nextTick(function () {\n        e.slideTo(a);\n      });\n    } else {\n      e.slideTo(a);\n    }\n  } else {\n    e.slideTo(a);\n  }\n}\n\nvar slide = {\n  slideTo: slideTo,\n  slideToLoop: slideToLoop,\n  slideNext: slideNext,\n  slidePrev: slidePrev,\n  slideReset: slideReset,\n  slideToClosest: slideToClosest,\n  slideToClickedSlide: slideToClickedSlide\n};\n\nfunction loopCreate() {\n  var e = this;\n  var t = e.params,\n      i = e.$wrapperEl;\n  i.children(\".\" + t.slideClass + \".\" + t.slideDuplicateClass).remove();\n  var r = i.children(\".\" + t.slideClass);\n\n  if (t.loopFillGroupWithBlank) {\n    var a = t.slidesPerGroup - r.length % t.slidesPerGroup;\n\n    if (a !== t.slidesPerGroup) {\n      for (var s = 0; s < a; s += 1) {\n        var n = $(doc.createElement(\"div\")).addClass(t.slideClass + \" \" + t.slideBlankClass);\n        i.append(n);\n      }\n\n      r = i.children(\".\" + t.slideClass);\n    }\n  }\n\n  if (t.slidesPerView === \"auto\" && !t.loopedSlides) t.loopedSlides = r.length;\n  e.loopedSlides = Math.ceil(parseFloat(t.loopedSlides || t.slidesPerView, 10));\n  e.loopedSlides += t.loopAdditionalSlides;\n\n  if (e.loopedSlides > r.length) {\n    e.loopedSlides = r.length;\n  }\n\n  var l = [];\n  var o = [];\n  r.each(function (t, i) {\n    var a = $(i);\n    if (t < e.loopedSlides) o.push(i);\n    if (t < r.length && t >= r.length - e.loopedSlides) l.push(i);\n    a.attr(\"data-swiper-slide-index\", t);\n  });\n\n  for (var s = 0; s < o.length; s += 1) {\n    i.append($(o[s].cloneNode(true)).addClass(t.slideDuplicateClass));\n  }\n\n  for (var s = l.length - 1; s >= 0; s -= 1) {\n    i.prepend($(l[s].cloneNode(true)).addClass(t.slideDuplicateClass));\n  }\n}\n\nfunction loopFix() {\n  var e = this;\n  e.emit(\"beforeLoopFix\");\n  var t = e.activeIndex,\n      i = e.slides,\n      r = e.loopedSlides,\n      a = e.allowSlidePrev,\n      s = e.allowSlideNext,\n      n = e.snapGrid,\n      l = e.rtlTranslate;\n  var o;\n  e.allowSlidePrev = true;\n  e.allowSlideNext = true;\n  var d = -n[t];\n  var u = d - e.getTranslate();\n\n  if (t < r) {\n    o = i.length - r * 3 + t;\n    o += r;\n    var f = e.slideTo(o, 0, false, true);\n\n    if (f && u !== 0) {\n      e.setTranslate((l ? -e.translate : e.translate) - u);\n    }\n  } else if (t >= i.length - r) {\n    o = -i.length + t + r;\n    o += r;\n    var f = e.slideTo(o, 0, false, true);\n\n    if (f && u !== 0) {\n      e.setTranslate((l ? -e.translate : e.translate) - u);\n    }\n  }\n\n  e.allowSlidePrev = a;\n  e.allowSlideNext = s;\n  e.emit(\"loopFix\");\n}\n\nfunction loopDestroy() {\n  var e = this;\n  var t = e.$wrapperEl,\n      i = e.params,\n      r = e.slides;\n  t.children(\".\" + i.slideClass + \".\" + i.slideDuplicateClass + \",.\" + i.slideClass + \".\" + i.slideBlankClass).remove();\n  r.removeAttr(\"data-swiper-slide-index\");\n}\n\nvar loop = {\n  loopCreate: loopCreate,\n  loopFix: loopFix,\n  loopDestroy: loopDestroy\n};\n\nfunction setGrabCursor(e) {\n  var t = this;\n  if (Support.touch || !t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode) return;\n  var i = t.el;\n  i.style.cursor = \"move\";\n  i.style.cursor = e ? \"-webkit-grabbing\" : \"-webkit-grab\";\n  i.style.cursor = e ? \"-moz-grabbin\" : \"-moz-grab\";\n  i.style.cursor = e ? \"grabbing\" : \"grab\";\n}\n\nfunction unsetGrabCursor() {\n  var e = this;\n  if (Support.touch || e.params.watchOverflow && e.isLocked || e.params.cssMode) return;\n  e.el.style.cursor = \"\";\n}\n\nvar grabCursor = {\n  setGrabCursor: setGrabCursor,\n  unsetGrabCursor: unsetGrabCursor\n};\n\nfunction appendSlide(e) {\n  var t = this;\n  var i = t.$wrapperEl,\n      r = t.params;\n\n  if (r.loop) {\n    t.loopDestroy();\n  }\n\n  if (typeof e === \"object\" && \"length\" in e) {\n    for (var a = 0; a < e.length; a += 1) {\n      if (e[a]) i.append(e[a]);\n    }\n  } else {\n    i.append(e);\n  }\n\n  if (r.loop) {\n    t.loopCreate();\n  }\n\n  if (!(r.observer && Support.observer)) {\n    t.update();\n  }\n}\n\nfunction prependSlide(e) {\n  var t = this;\n  var i = t.params,\n      r = t.$wrapperEl,\n      a = t.activeIndex;\n\n  if (i.loop) {\n    t.loopDestroy();\n  }\n\n  var s = a + 1;\n\n  if (typeof e === \"object\" && \"length\" in e) {\n    for (var n = 0; n < e.length; n += 1) {\n      if (e[n]) r.prepend(e[n]);\n    }\n\n    s = a + e.length;\n  } else {\n    r.prepend(e);\n  }\n\n  if (i.loop) {\n    t.loopCreate();\n  }\n\n  if (!(i.observer && Support.observer)) {\n    t.update();\n  }\n\n  t.slideTo(s, 0, false);\n}\n\nfunction addSlide(e, t) {\n  var i = this;\n  var r = i.$wrapperEl,\n      a = i.params,\n      s = i.activeIndex;\n  var n = s;\n\n  if (a.loop) {\n    n -= i.loopedSlides;\n    i.loopDestroy();\n    i.slides = r.children(\".\" + a.slideClass);\n  }\n\n  var l = i.slides.length;\n\n  if (e <= 0) {\n    i.prependSlide(t);\n    return;\n  }\n\n  if (e >= l) {\n    i.appendSlide(t);\n    return;\n  }\n\n  var o = n > e ? n + 1 : n;\n  var d = [];\n\n  for (var u = l - 1; u >= e; u -= 1) {\n    var f = i.slides.eq(u);\n    f.remove();\n    d.unshift(f);\n  }\n\n  if (typeof t === \"object\" && \"length\" in t) {\n    for (var u = 0; u < t.length; u += 1) {\n      if (t[u]) r.append(t[u]);\n    }\n\n    o = n > e ? n + t.length : n;\n  } else {\n    r.append(t);\n  }\n\n  for (var u = 0; u < d.length; u += 1) {\n    r.append(d[u]);\n  }\n\n  if (a.loop) {\n    i.loopCreate();\n  }\n\n  if (!(a.observer && Support.observer)) {\n    i.update();\n  }\n\n  if (a.loop) {\n    i.slideTo(o + i.loopedSlides, 0, false);\n  } else {\n    i.slideTo(o, 0, false);\n  }\n}\n\nfunction removeSlide(e) {\n  var t = this;\n  var i = t.params,\n      r = t.$wrapperEl,\n      a = t.activeIndex;\n  var s = a;\n\n  if (i.loop) {\n    s -= t.loopedSlides;\n    t.loopDestroy();\n    t.slides = r.children(\".\" + i.slideClass);\n  }\n\n  var n = s;\n  var l;\n\n  if (typeof e === \"object\" && \"length\" in e) {\n    for (var o = 0; o < e.length; o += 1) {\n      l = e[o];\n      if (t.slides[l]) t.slides.eq(l).remove();\n      if (l < n) n -= 1;\n    }\n\n    n = Math.max(n, 0);\n  } else {\n    l = e;\n    if (t.slides[l]) t.slides.eq(l).remove();\n    if (l < n) n -= 1;\n    n = Math.max(n, 0);\n  }\n\n  if (i.loop) {\n    t.loopCreate();\n  }\n\n  if (!(i.observer && Support.observer)) {\n    t.update();\n  }\n\n  if (i.loop) {\n    t.slideTo(n + t.loopedSlides, 0, false);\n  } else {\n    t.slideTo(n, 0, false);\n  }\n}\n\nfunction removeAllSlides() {\n  var e = this;\n  var t = [];\n\n  for (var i = 0; i < e.slides.length; i += 1) {\n    t.push(i);\n  }\n\n  e.removeSlide(t);\n}\n\nvar manipulation = {\n  appendSlide: appendSlide,\n  prependSlide: prependSlide,\n  addSlide: addSlide,\n  removeSlide: removeSlide,\n  removeAllSlides: removeAllSlides\n};\n\nvar Device = function e() {\n  var t = win.navigator.platform;\n  var i = win.navigator.userAgent;\n  var r = {\n    ios: false,\n    android: false,\n    androidChrome: false,\n    desktop: false,\n    iphone: false,\n    ipod: false,\n    ipad: false,\n    edge: false,\n    ie: false,\n    firefox: false,\n    macos: false,\n    windows: false,\n    cordova: !!(win.cordova || win.phonegap),\n    phonegap: !!(win.cordova || win.phonegap),\n    electron: false\n  };\n  var a = win.screen.width;\n  var s = win.screen.height;\n  var n = i.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\n  var l = i.match(/(iPad).*OS\\s([\\d_]+)/);\n  var o = i.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n  var d = !l && i.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n  var u = i.indexOf(\"MSIE \") >= 0 || i.indexOf(\"Trident/\") >= 0;\n  var f = i.indexOf(\"Edge/\") >= 0;\n  var p = i.indexOf(\"Gecko/\") >= 0 && i.indexOf(\"Firefox/\") >= 0;\n  var c = t === \"Win32\";\n  var v = i.toLowerCase().indexOf(\"electron\") >= 0;\n  var h = t === \"MacIntel\";\n\n  if (!l && h && Support.touch && (a === 1024 && s === 1366 || a === 834 && s === 1194 || a === 834 && s === 1112 || a === 768 && s === 1024)) {\n    l = i.match(/(Version)\\/([\\d.]+)/);\n    h = false;\n  }\n\n  r.ie = u;\n  r.edge = f;\n  r.firefox = p;\n\n  if (n && !c) {\n    r.os = \"android\";\n    r.osVersion = n[2];\n    r.android = true;\n    r.androidChrome = i.toLowerCase().indexOf(\"chrome\") >= 0;\n  }\n\n  if (l || d || o) {\n    r.os = \"ios\";\n    r.ios = true;\n  }\n\n  if (d && !o) {\n    r.osVersion = d[2].replace(/_/g, \".\");\n    r.iphone = true;\n  }\n\n  if (l) {\n    r.osVersion = l[2].replace(/_/g, \".\");\n    r.ipad = true;\n  }\n\n  if (o) {\n    r.osVersion = o[3] ? o[3].replace(/_/g, \".\") : null;\n    r.ipod = true;\n  }\n\n  if (r.ios && r.osVersion && i.indexOf(\"Version/\") >= 0) {\n    if (r.osVersion.split(\".\")[0] === \"10\") {\n      r.osVersion = i.toLowerCase().split(\"version/\")[1].split(\" \")[0];\n    }\n  }\n\n  r.webView = !!((d || l || o) && (i.match(/.*AppleWebKit(?!.*Safari)/i) || win.navigator.standalone)) || win.matchMedia && win.matchMedia(\"(display-mode: standalone)\").matches;\n  r.webview = r.webView;\n  r.standalone = r.webView;\n  r.desktop = !(r.ios || r.android) || v;\n\n  if (r.desktop) {\n    r.electron = v;\n    r.macos = h;\n    r.windows = c;\n\n    if (r.macos) {\n      r.os = \"macos\";\n    }\n\n    if (r.windows) {\n      r.os = \"windows\";\n    }\n  }\n\n  r.pixelRatio = win.devicePixelRatio || 1;\n  return r;\n}();\n\nfunction onTouchStart(e) {\n  var t = this;\n  var i = t.touchEventsData;\n  var r = t.params,\n      a = t.touches;\n\n  if (t.animating && r.preventInteractionOnTransition) {\n    return;\n  }\n\n  var s = e;\n  if (s.originalEvent) s = s.originalEvent;\n  var n = $(s.target);\n\n  if (r.touchEventsTarget === \"wrapper\") {\n    if (!n.closest(t.wrapperEl).length) return;\n  }\n\n  i.isTouchEvent = s.type === \"touchstart\";\n  if (!i.isTouchEvent && \"which\" in s && s.which === 3) return;\n  if (!i.isTouchEvent && \"button\" in s && s.button > 0) return;\n  if (i.isTouched && i.isMoved) return;\n\n  if (r.noSwiping && n.closest(r.noSwipingSelector ? r.noSwipingSelector : \".\" + r.noSwipingClass)[0]) {\n    t.allowClick = true;\n    return;\n  }\n\n  if (r.swipeHandler) {\n    if (!n.closest(r.swipeHandler)[0]) return;\n  }\n\n  a.currentX = s.type === \"touchstart\" ? s.targetTouches[0].pageX : s.pageX;\n  a.currentY = s.type === \"touchstart\" ? s.targetTouches[0].pageY : s.pageY;\n  var l = a.currentX;\n  var o = a.currentY;\n  var d = r.edgeSwipeDetection || r.iOSEdgeSwipeDetection;\n  var u = r.edgeSwipeThreshold || r.iOSEdgeSwipeThreshold;\n\n  if (d && (l <= u || l >= win.screen.width - u)) {\n    return;\n  }\n\n  Utils.extend(i, {\n    isTouched: true,\n    isMoved: false,\n    allowTouchCallbacks: true,\n    isScrolling: undefined,\n    startMoving: undefined\n  });\n  a.startX = l;\n  a.startY = o;\n  i.touchStartTime = Utils.now();\n  t.allowClick = true;\n  t.updateSize();\n  t.swipeDirection = undefined;\n  if (r.threshold > 0) i.allowThresholdMove = false;\n\n  if (s.type !== \"touchstart\") {\n    var f = true;\n    if (n.is(i.formElements)) f = false;\n\n    if (doc.activeElement && $(doc.activeElement).is(i.formElements) && doc.activeElement !== n[0]) {\n      doc.activeElement.blur();\n    }\n\n    var p = f && t.allowTouchMove && r.touchStartPreventDefault;\n\n    if (r.touchStartForcePreventDefault || p) {\n      s.preventDefault();\n    }\n  }\n\n  t.emit(\"touchStart\", s);\n}\n\nfunction onTouchMove(e) {\n  var t = this;\n  var i = t.touchEventsData;\n  var r = t.params,\n      a = t.touches,\n      s = t.rtlTranslate;\n  var n = e;\n  if (n.originalEvent) n = n.originalEvent;\n\n  if (!i.isTouched) {\n    if (i.startMoving && i.isScrolling) {\n      t.emit(\"touchMoveOpposite\", n);\n    }\n\n    return;\n  }\n\n  if (i.isTouchEvent && n.type !== \"touchmove\") return;\n  var l = n.type === \"touchmove\" && n.targetTouches && (n.targetTouches[0] || n.changedTouches[0]);\n  var o = n.type === \"touchmove\" ? l.pageX : n.pageX;\n  var d = n.type === \"touchmove\" ? l.pageY : n.pageY;\n\n  if (n.preventedByNestedSwiper) {\n    a.startX = o;\n    a.startY = d;\n    return;\n  }\n\n  if (!t.allowTouchMove) {\n    t.allowClick = false;\n\n    if (i.isTouched) {\n      Utils.extend(a, {\n        startX: o,\n        startY: d,\n        currentX: o,\n        currentY: d\n      });\n      i.touchStartTime = Utils.now();\n    }\n\n    return;\n  }\n\n  if (i.isTouchEvent && r.touchReleaseOnEdges && !r.loop) {\n    if (t.isVertical()) {\n      if (d < a.startY && t.translate <= t.maxTranslate() || d > a.startY && t.translate >= t.minTranslate()) {\n        i.isTouched = false;\n        i.isMoved = false;\n        return;\n      }\n    } else if (o < a.startX && t.translate <= t.maxTranslate() || o > a.startX && t.translate >= t.minTranslate()) {\n      return;\n    }\n  }\n\n  if (i.isTouchEvent && doc.activeElement) {\n    if (n.target === doc.activeElement && $(n.target).is(i.formElements)) {\n      i.isMoved = true;\n      t.allowClick = false;\n      return;\n    }\n  }\n\n  if (i.allowTouchCallbacks) {\n    t.emit(\"touchMove\", n);\n  }\n\n  if (n.targetTouches && n.targetTouches.length > 1) return;\n  a.currentX = o;\n  a.currentY = d;\n  var u = a.currentX - a.startX;\n  var f = a.currentY - a.startY;\n  if (t.params.threshold && Math.sqrt(Math.pow(u, 2) + Math.pow(f, 2)) < t.params.threshold) return;\n\n  if (typeof i.isScrolling === \"undefined\") {\n    var p = void 0;\n\n    if (t.isHorizontal() && a.currentY === a.startY || t.isVertical() && a.currentX === a.startX) {\n      i.isScrolling = false;\n    } else {\n      if (u * u + f * f >= 25) {\n        p = Math.atan2(Math.abs(f), Math.abs(u)) * 180 / Math.PI;\n        i.isScrolling = t.isHorizontal() ? p > r.touchAngle : 90 - p > r.touchAngle;\n      }\n    }\n  }\n\n  if (i.isScrolling) {\n    t.emit(\"touchMoveOpposite\", n);\n  }\n\n  if (typeof i.startMoving === \"undefined\") {\n    if (a.currentX !== a.startX || a.currentY !== a.startY) {\n      i.startMoving = true;\n    }\n  }\n\n  if (i.isScrolling) {\n    i.isTouched = false;\n    return;\n  }\n\n  if (!i.startMoving) {\n    return;\n  }\n\n  t.allowClick = false;\n\n  if (!r.cssMode && n.cancelable) {\n    n.preventDefault();\n  }\n\n  if (r.touchMoveStopPropagation && !r.nested) {\n    n.stopPropagation();\n  }\n\n  if (!i.isMoved) {\n    if (r.loop) {\n      t.loopFix();\n    }\n\n    i.startTranslate = t.getTranslate();\n    t.setTransition(0);\n\n    if (t.animating) {\n      t.$wrapperEl.trigger(\"webkitTransitionEnd transitionend\");\n    }\n\n    i.allowMomentumBounce = false;\n\n    if (r.grabCursor && (t.allowSlideNext === true || t.allowSlidePrev === true)) {\n      t.setGrabCursor(true);\n    }\n\n    t.emit(\"sliderFirstMove\", n);\n  }\n\n  t.emit(\"sliderMove\", n);\n  i.isMoved = true;\n  var c = t.isHorizontal() ? u : f;\n  a.diff = c;\n  c *= r.touchRatio;\n  if (s) c = -c;\n  t.swipeDirection = c > 0 ? \"prev\" : \"next\";\n  i.currentTranslate = c + i.startTranslate;\n  var v = true;\n  var h = r.resistanceRatio;\n\n  if (r.touchReleaseOnEdges) {\n    h = 0;\n  }\n\n  if (c > 0 && i.currentTranslate > t.minTranslate()) {\n    v = false;\n    if (r.resistance) i.currentTranslate = t.minTranslate() - 1 + Math.pow(-t.minTranslate() + i.startTranslate + c, h);\n  } else if (c < 0 && i.currentTranslate < t.maxTranslate()) {\n    v = false;\n    if (r.resistance) i.currentTranslate = t.maxTranslate() + 1 - Math.pow(t.maxTranslate() - i.startTranslate - c, h);\n  }\n\n  if (v) {\n    n.preventedByNestedSwiper = true;\n  }\n\n  if (!t.allowSlideNext && t.swipeDirection === \"next\" && i.currentTranslate < i.startTranslate) {\n    i.currentTranslate = i.startTranslate;\n  }\n\n  if (!t.allowSlidePrev && t.swipeDirection === \"prev\" && i.currentTranslate > i.startTranslate) {\n    i.currentTranslate = i.startTranslate;\n  }\n\n  if (r.threshold > 0) {\n    if (Math.abs(c) > r.threshold || i.allowThresholdMove) {\n      if (!i.allowThresholdMove) {\n        i.allowThresholdMove = true;\n        a.startX = a.currentX;\n        a.startY = a.currentY;\n        i.currentTranslate = i.startTranslate;\n        a.diff = t.isHorizontal() ? a.currentX - a.startX : a.currentY - a.startY;\n        return;\n      }\n    } else {\n      i.currentTranslate = i.startTranslate;\n      return;\n    }\n  }\n\n  if (!r.followFinger || r.cssMode) return;\n\n  if (r.freeMode || r.watchSlidesProgress || r.watchSlidesVisibility) {\n    t.updateActiveIndex();\n    t.updateSlidesClasses();\n  }\n\n  if (r.freeMode) {\n    if (i.velocities.length === 0) {\n      i.velocities.push({\n        position: a[t.isHorizontal() ? \"startX\" : \"startY\"],\n        time: i.touchStartTime\n      });\n    }\n\n    i.velocities.push({\n      position: a[t.isHorizontal() ? \"currentX\" : \"currentY\"],\n      time: Utils.now()\n    });\n  }\n\n  t.updateProgress(i.currentTranslate);\n  t.setTranslate(i.currentTranslate);\n}\n\nfunction onTouchEnd(e) {\n  var t = this;\n  var i = t.touchEventsData;\n  var r = t.params,\n      a = t.touches,\n      s = t.rtlTranslate,\n      n = t.$wrapperEl,\n      l = t.slidesGrid,\n      o = t.snapGrid;\n  var d = e;\n  if (d.originalEvent) d = d.originalEvent;\n\n  if (i.allowTouchCallbacks) {\n    t.emit(\"touchEnd\", d);\n  }\n\n  i.allowTouchCallbacks = false;\n\n  if (!i.isTouched) {\n    if (i.isMoved && r.grabCursor) {\n      t.setGrabCursor(false);\n    }\n\n    i.isMoved = false;\n    i.startMoving = false;\n    return;\n  }\n\n  if (r.grabCursor && i.isMoved && i.isTouched && (t.allowSlideNext === true || t.allowSlidePrev === true)) {\n    t.setGrabCursor(false);\n  }\n\n  var u = Utils.now();\n  var f = u - i.touchStartTime;\n\n  if (t.allowClick) {\n    t.updateClickedSlide(d);\n    t.emit(\"tap click\", d);\n\n    if (f < 300 && u - i.lastClickTime < 300) {\n      t.emit(\"doubleTap doubleClick\", d);\n    }\n  }\n\n  i.lastClickTime = Utils.now();\n  Utils.nextTick(function () {\n    if (!t.destroyed) t.allowClick = true;\n  });\n\n  if (!i.isTouched || !i.isMoved || !t.swipeDirection || a.diff === 0 || i.currentTranslate === i.startTranslate) {\n    i.isTouched = false;\n    i.isMoved = false;\n    i.startMoving = false;\n    return;\n  }\n\n  i.isTouched = false;\n  i.isMoved = false;\n  i.startMoving = false;\n  var p;\n\n  if (r.followFinger) {\n    p = s ? t.translate : -t.translate;\n  } else {\n    p = -i.currentTranslate;\n  }\n\n  if (r.cssMode) {\n    return;\n  }\n\n  if (r.freeMode) {\n    if (p < -t.minTranslate()) {\n      t.slideTo(t.activeIndex);\n      return;\n    }\n\n    if (p > -t.maxTranslate()) {\n      if (t.slides.length < o.length) {\n        t.slideTo(o.length - 1);\n      } else {\n        t.slideTo(t.slides.length - 1);\n      }\n\n      return;\n    }\n\n    if (r.freeModeMomentum) {\n      if (i.velocities.length > 1) {\n        var c = i.velocities.pop();\n        var v = i.velocities.pop();\n        var h = c.position - v.position;\n        var m = c.time - v.time;\n        t.velocity = h / m;\n        t.velocity /= 2;\n\n        if (Math.abs(t.velocity) < r.freeModeMinimumVelocity) {\n          t.velocity = 0;\n        }\n\n        if (m > 150 || Utils.now() - c.time > 300) {\n          t.velocity = 0;\n        }\n      } else {\n        t.velocity = 0;\n      }\n\n      t.velocity *= r.freeModeMomentumVelocityRatio;\n      i.velocities.length = 0;\n      var g = 1e3 * r.freeModeMomentumRatio;\n      var w = t.velocity * g;\n      var b = t.translate + w;\n      if (s) b = -b;\n      var y = false;\n      var S;\n      var T = Math.abs(t.velocity) * 20 * r.freeModeMomentumBounceRatio;\n      var E = void 0;\n\n      if (b < t.maxTranslate()) {\n        if (r.freeModeMomentumBounce) {\n          if (b + t.maxTranslate() < -T) {\n            b = t.maxTranslate() - T;\n          }\n\n          S = t.maxTranslate();\n          y = true;\n          i.allowMomentumBounce = true;\n        } else {\n          b = t.maxTranslate();\n        }\n\n        if (r.loop && r.centeredSlides) E = true;\n      } else if (b > t.minTranslate()) {\n        if (r.freeModeMomentumBounce) {\n          if (b - t.minTranslate() > T) {\n            b = t.minTranslate() + T;\n          }\n\n          S = t.minTranslate();\n          y = true;\n          i.allowMomentumBounce = true;\n        } else {\n          b = t.minTranslate();\n        }\n\n        if (r.loop && r.centeredSlides) E = true;\n      } else if (r.freeModeSticky) {\n        var x = void 0;\n\n        for (var C = 0; C < o.length; C += 1) {\n          if (o[C] > -b) {\n            x = C;\n            break;\n          }\n        }\n\n        if (Math.abs(o[x] - b) < Math.abs(o[x - 1] - b) || t.swipeDirection === \"next\") {\n          b = o[x];\n        } else {\n          b = o[x - 1];\n        }\n\n        b = -b;\n      }\n\n      if (E) {\n        t.once(\"transitionEnd\", function () {\n          t.loopFix();\n        });\n      }\n\n      if (t.velocity !== 0) {\n        if (s) {\n          g = Math.abs((-b - t.translate) / t.velocity);\n        } else {\n          g = Math.abs((b - t.translate) / t.velocity);\n        }\n\n        if (r.freeModeSticky) {\n          var M = Math.abs((s ? -b : b) - t.translate);\n          var $ = t.slidesSizesGrid[t.activeIndex];\n\n          if (M < $) {\n            g = r.speed;\n          } else if (M < 2 * $) {\n            g = r.speed * 1.5;\n          } else {\n            g = r.speed * 2.5;\n          }\n        }\n      } else if (r.freeModeSticky) {\n        t.slideToClosest();\n        return;\n      }\n\n      if (r.freeModeMomentumBounce && y) {\n        t.updateProgress(S);\n        t.setTransition(g);\n        t.setTranslate(b);\n        t.transitionStart(true, t.swipeDirection);\n        t.animating = true;\n        n.transitionEnd(function () {\n          if (!t || t.destroyed || !i.allowMomentumBounce) return;\n          t.emit(\"momentumBounce\");\n          t.setTransition(r.speed);\n          setTimeout(function () {\n            t.setTranslate(S);\n            n.transitionEnd(function () {\n              if (!t || t.destroyed) return;\n              t.transitionEnd();\n            });\n          }, 0);\n        });\n      } else if (t.velocity) {\n        t.updateProgress(b);\n        t.setTransition(g);\n        t.setTranslate(b);\n        t.transitionStart(true, t.swipeDirection);\n\n        if (!t.animating) {\n          t.animating = true;\n          n.transitionEnd(function () {\n            if (!t || t.destroyed) return;\n            t.transitionEnd();\n          });\n        }\n      } else {\n        t.updateProgress(b);\n      }\n\n      t.updateActiveIndex();\n      t.updateSlidesClasses();\n    } else if (r.freeModeSticky) {\n      t.slideToClosest();\n      return;\n    }\n\n    if (!r.freeModeMomentum || f >= r.longSwipesMs) {\n      t.updateProgress();\n      t.updateActiveIndex();\n      t.updateSlidesClasses();\n    }\n\n    return;\n  }\n\n  var P = 0;\n  var k = t.slidesSizesGrid[0];\n\n  for (var z = 0; z < l.length; z += z < r.slidesPerGroupSkip ? 1 : r.slidesPerGroup) {\n    var D = z < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup;\n\n    if (typeof l[z + D] !== \"undefined\") {\n      if (p >= l[z] && p < l[z + D]) {\n        P = z;\n        k = l[z + D] - l[z];\n      }\n    } else if (p >= l[z]) {\n      P = z;\n      k = l[l.length - 1] - l[l.length - 2];\n    }\n  }\n\n  var L = (p - l[P]) / k;\n  var O = P < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup;\n\n  if (f > r.longSwipesMs) {\n    if (!r.longSwipes) {\n      t.slideTo(t.activeIndex);\n      return;\n    }\n\n    if (t.swipeDirection === \"next\") {\n      if (L >= r.longSwipesRatio) t.slideTo(P + O);else t.slideTo(P);\n    }\n\n    if (t.swipeDirection === \"prev\") {\n      if (L > 1 - r.longSwipesRatio) t.slideTo(P + O);else t.slideTo(P);\n    }\n  } else {\n    if (!r.shortSwipes) {\n      t.slideTo(t.activeIndex);\n      return;\n    }\n\n    var I = t.navigation && (d.target === t.navigation.nextEl || d.target === t.navigation.prevEl);\n\n    if (!I) {\n      if (t.swipeDirection === \"next\") {\n        t.slideTo(P + O);\n      }\n\n      if (t.swipeDirection === \"prev\") {\n        t.slideTo(P);\n      }\n    } else if (d.target === t.navigation.nextEl) {\n      t.slideTo(P + O);\n    } else {\n      t.slideTo(P);\n    }\n  }\n}\n\nfunction onResize() {\n  var e = this;\n  var t = e.params,\n      i = e.el;\n  if (i && i.offsetWidth === 0) return;\n\n  if (t.breakpoints) {\n    e.setBreakpoint();\n  }\n\n  var r = e.allowSlideNext,\n      a = e.allowSlidePrev,\n      s = e.snapGrid;\n  e.allowSlideNext = true;\n  e.allowSlidePrev = true;\n  e.updateSize();\n  e.updateSlides();\n  e.updateSlidesClasses();\n\n  if ((t.slidesPerView === \"auto\" || t.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides) {\n    e.slideTo(e.slides.length - 1, 0, false, true);\n  } else {\n    e.slideTo(e.activeIndex, 0, false, true);\n  }\n\n  if (e.autoplay && e.autoplay.running && e.autoplay.paused) {\n    e.autoplay.run();\n  }\n\n  e.allowSlidePrev = a;\n  e.allowSlideNext = r;\n\n  if (e.params.watchOverflow && s !== e.snapGrid) {\n    e.checkOverflow();\n  }\n}\n\nfunction onClick(e) {\n  var t = this;\n\n  if (!t.allowClick) {\n    if (t.params.preventClicks) e.preventDefault();\n\n    if (t.params.preventClicksPropagation && t.animating) {\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n    }\n  }\n}\n\nfunction onScroll() {\n  var e = this;\n  var t = e.wrapperEl,\n      i = e.rtlTranslate;\n  e.previousTranslate = e.translate;\n\n  if (e.isHorizontal()) {\n    if (i) {\n      e.translate = t.scrollWidth - t.offsetWidth - t.scrollLeft;\n    } else {\n      e.translate = -t.scrollLeft;\n    }\n  } else {\n    e.translate = -t.scrollTop;\n  }\n\n  if (e.translate === -0) e.translate = 0;\n  e.updateActiveIndex();\n  e.updateSlidesClasses();\n  var r;\n  var a = e.maxTranslate() - e.minTranslate();\n\n  if (a === 0) {\n    r = 0;\n  } else {\n    r = (e.translate - e.minTranslate()) / a;\n  }\n\n  if (r !== e.progress) {\n    e.updateProgress(i ? -e.translate : e.translate);\n  }\n\n  e.emit(\"setTranslate\", e.translate, false);\n}\n\nvar dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nfunction attachEvents() {\n  var e = this;\n  var t = e.params,\n      i = e.touchEvents,\n      r = e.el,\n      a = e.wrapperEl;\n  e.onTouchStart = onTouchStart.bind(e);\n  e.onTouchMove = onTouchMove.bind(e);\n  e.onTouchEnd = onTouchEnd.bind(e);\n\n  if (t.cssMode) {\n    e.onScroll = onScroll.bind(e);\n  }\n\n  e.onClick = onClick.bind(e);\n  var s = !!t.nested;\n\n  if (!Support.touch && Support.pointerEvents) {\n    r.addEventListener(i.start, e.onTouchStart, false);\n    doc.addEventListener(i.move, e.onTouchMove, s);\n    doc.addEventListener(i.end, e.onTouchEnd, false);\n  } else {\n    if (Support.touch) {\n      var n = i.start === \"touchstart\" && Support.passiveListener && t.passiveListeners ? {\n        passive: true,\n        capture: false\n      } : false;\n      r.addEventListener(i.start, e.onTouchStart, n);\n      r.addEventListener(i.move, e.onTouchMove, Support.passiveListener ? {\n        passive: false,\n        capture: s\n      } : s);\n      r.addEventListener(i.end, e.onTouchEnd, n);\n\n      if (i.cancel) {\n        r.addEventListener(i.cancel, e.onTouchEnd, n);\n      }\n\n      if (!dummyEventAttached) {\n        doc.addEventListener(\"touchstart\", dummyEventListener);\n        dummyEventAttached = true;\n      }\n    }\n\n    if (t.simulateTouch && !Device.ios && !Device.android || t.simulateTouch && !Support.touch && Device.ios) {\n      r.addEventListener(\"mousedown\", e.onTouchStart, false);\n      doc.addEventListener(\"mousemove\", e.onTouchMove, s);\n      doc.addEventListener(\"mouseup\", e.onTouchEnd, false);\n    }\n  }\n\n  if (t.preventClicks || t.preventClicksPropagation) {\n    r.addEventListener(\"click\", e.onClick, true);\n  }\n\n  if (t.cssMode) {\n    a.addEventListener(\"scroll\", e.onScroll);\n  }\n\n  if (t.updateOnWindowResize) {\n    e.on(Device.ios || Device.android ? \"resize orientationchange observerUpdate\" : \"resize observerUpdate\", onResize, true);\n  } else {\n    e.on(\"observerUpdate\", onResize, true);\n  }\n}\n\nfunction detachEvents() {\n  var e = this;\n  var t = e.params,\n      i = e.touchEvents,\n      r = e.el,\n      a = e.wrapperEl;\n  var s = !!t.nested;\n\n  if (!Support.touch && Support.pointerEvents) {\n    r.removeEventListener(i.start, e.onTouchStart, false);\n    doc.removeEventListener(i.move, e.onTouchMove, s);\n    doc.removeEventListener(i.end, e.onTouchEnd, false);\n  } else {\n    if (Support.touch) {\n      var n = i.start === \"onTouchStart\" && Support.passiveListener && t.passiveListeners ? {\n        passive: true,\n        capture: false\n      } : false;\n      r.removeEventListener(i.start, e.onTouchStart, n);\n      r.removeEventListener(i.move, e.onTouchMove, s);\n      r.removeEventListener(i.end, e.onTouchEnd, n);\n\n      if (i.cancel) {\n        r.removeEventListener(i.cancel, e.onTouchEnd, n);\n      }\n    }\n\n    if (t.simulateTouch && !Device.ios && !Device.android || t.simulateTouch && !Support.touch && Device.ios) {\n      r.removeEventListener(\"mousedown\", e.onTouchStart, false);\n      doc.removeEventListener(\"mousemove\", e.onTouchMove, s);\n      doc.removeEventListener(\"mouseup\", e.onTouchEnd, false);\n    }\n  }\n\n  if (t.preventClicks || t.preventClicksPropagation) {\n    r.removeEventListener(\"click\", e.onClick, true);\n  }\n\n  if (t.cssMode) {\n    a.removeEventListener(\"scroll\", e.onScroll);\n  }\n\n  e.off(Device.ios || Device.android ? \"resize orientationchange observerUpdate\" : \"resize observerUpdate\", onResize);\n}\n\nvar events = {\n  attachEvents: attachEvents,\n  detachEvents: detachEvents\n};\n\nfunction setBreakpoint() {\n  var e = this;\n  var t = e.activeIndex,\n      i = e.initialized,\n      r = e.loopedSlides,\n      a = r === void 0 ? 0 : r,\n      s = e.params,\n      n = e.$el;\n  var l = s.breakpoints;\n  if (!l || l && Object.keys(l).length === 0) return;\n  var o = e.getBreakpoint(l);\n\n  if (o && e.currentBreakpoint !== o) {\n    var d = o in l ? l[o] : undefined;\n\n    if (d) {\n      [\"slidesPerView\", \"spaceBetween\", \"slidesPerGroup\", \"slidesPerGroupSkip\", \"slidesPerColumn\"].forEach(function (e) {\n        var t = d[e];\n        if (typeof t === \"undefined\") return;\n\n        if (e === \"slidesPerView\" && (t === \"AUTO\" || t === \"auto\")) {\n          d[e] = \"auto\";\n        } else if (e === \"slidesPerView\") {\n          d[e] = parseFloat(t);\n        } else {\n          d[e] = parseInt(t, 10);\n        }\n      });\n    }\n\n    var u = d || e.originalParams;\n    var f = s.slidesPerColumn > 1;\n    var p = u.slidesPerColumn > 1;\n\n    if (f && !p) {\n      n.removeClass(s.containerModifierClass + \"multirow \" + s.containerModifierClass + \"multirow-column\");\n    } else if (!f && p) {\n      n.addClass(s.containerModifierClass + \"multirow\");\n\n      if (u.slidesPerColumnFill === \"column\") {\n        n.addClass(s.containerModifierClass + \"multirow-column\");\n      }\n    }\n\n    var c = u.direction && u.direction !== s.direction;\n    var v = s.loop && (u.slidesPerView !== s.slidesPerView || c);\n\n    if (c && i) {\n      e.changeDirection();\n    }\n\n    Utils.extend(e.params, u);\n    Utils.extend(e, {\n      allowTouchMove: e.params.allowTouchMove,\n      allowSlideNext: e.params.allowSlideNext,\n      allowSlidePrev: e.params.allowSlidePrev\n    });\n    e.currentBreakpoint = o;\n\n    if (v && i) {\n      e.loopDestroy();\n      e.loopCreate();\n      e.updateSlides();\n      e.slideTo(t - a + e.loopedSlides, 0, false);\n    }\n\n    e.emit(\"breakpoint\", u);\n  }\n}\n\nfunction getBreakpoint(e) {\n  if (!e) return undefined;\n  var t = false;\n  var i = Object.keys(e).map(function (e) {\n    if (typeof e === \"string\" && e.indexOf(\"@\") === 0) {\n      var t = parseFloat(e.substr(1));\n      var i = win.innerHeight * t;\n      return {\n        value: i,\n        point: e\n      };\n    }\n\n    return {\n      value: e,\n      point: e\n    };\n  });\n  i.sort(function (e, t) {\n    return parseInt(e.value, 10) - parseInt(t.value, 10);\n  });\n\n  for (var r = 0; r < i.length; r += 1) {\n    var a = i[r],\n        s = a.point,\n        n = a.value;\n\n    if (n <= win.innerWidth) {\n      t = s;\n    }\n  }\n\n  return t || \"max\";\n}\n\nvar breakpoints = {\n  setBreakpoint: setBreakpoint,\n  getBreakpoint: getBreakpoint\n};\n\nfunction addClasses() {\n  var e = this;\n  var t = e.classNames,\n      i = e.params,\n      r = e.rtl,\n      a = e.$el;\n  var s = [];\n  s.push(\"initialized\");\n  s.push(i.direction);\n\n  if (i.freeMode) {\n    s.push(\"free-mode\");\n  }\n\n  if (i.autoHeight) {\n    s.push(\"autoheight\");\n  }\n\n  if (r) {\n    s.push(\"rtl\");\n  }\n\n  if (i.slidesPerColumn > 1) {\n    s.push(\"multirow\");\n\n    if (i.slidesPerColumnFill === \"column\") {\n      s.push(\"multirow-column\");\n    }\n  }\n\n  if (Device.android) {\n    s.push(\"android\");\n  }\n\n  if (Device.ios) {\n    s.push(\"ios\");\n  }\n\n  if (i.cssMode) {\n    s.push(\"css-mode\");\n  }\n\n  s.forEach(function (e) {\n    t.push(i.containerModifierClass + e);\n  });\n  a.addClass(t.join(\" \"));\n}\n\nfunction removeClasses() {\n  var e = this;\n  var t = e.$el,\n      i = e.classNames;\n  t.removeClass(i.join(\" \"));\n}\n\nvar classes = {\n  addClasses: addClasses,\n  removeClasses: removeClasses\n};\n\nfunction loadImage(e, t, i, r, a, s) {\n  var n;\n\n  function l() {\n    if (s) s();\n  }\n\n  var o = $(e).parent(\"picture\")[0];\n\n  if (!o && (!e.complete || !a)) {\n    if (t) {\n      n = new win.Image();\n      n.onload = l;\n      n.onerror = l;\n\n      if (r) {\n        n.sizes = r;\n      }\n\n      if (i) {\n        n.srcset = i;\n      }\n\n      if (t) {\n        n.src = t;\n      }\n    } else {\n      l();\n    }\n  } else {\n    l();\n  }\n}\n\nfunction preloadImages() {\n  var e = this;\n  e.imagesToLoad = e.$el.find(\"img\");\n\n  function t() {\n    if (typeof e === \"undefined\" || e === null || !e || e.destroyed) return;\n    if (e.imagesLoaded !== undefined) e.imagesLoaded += 1;\n\n    if (e.imagesLoaded === e.imagesToLoad.length) {\n      if (e.params.updateOnImagesReady) e.update();\n      e.emit(\"imagesReady\");\n    }\n  }\n\n  for (var i = 0; i < e.imagesToLoad.length; i += 1) {\n    var r = e.imagesToLoad[i];\n    e.loadImage(r, r.currentSrc || r.getAttribute(\"src\"), r.srcset || r.getAttribute(\"srcset\"), r.sizes || r.getAttribute(\"sizes\"), true, t);\n  }\n}\n\nvar images = {\n  loadImage: loadImage,\n  preloadImages: preloadImages\n};\n\nfunction checkOverflow() {\n  var e = this;\n  var t = e.params;\n  var i = e.isLocked;\n  var r = e.slides.length > 0 && t.slidesOffsetBefore + t.spaceBetween * (e.slides.length - 1) + e.slides[0].offsetWidth * e.slides.length;\n\n  if (t.slidesOffsetBefore && t.slidesOffsetAfter && r) {\n    e.isLocked = r <= e.size;\n  } else {\n    e.isLocked = e.snapGrid.length === 1;\n  }\n\n  e.allowSlideNext = !e.isLocked;\n  e.allowSlidePrev = !e.isLocked;\n  if (i !== e.isLocked) e.emit(e.isLocked ? \"lock\" : \"unlock\");\n\n  if (i && i !== e.isLocked) {\n    e.isEnd = false;\n    e.navigation.update();\n  }\n}\n\nvar checkOverflow$1 = {\n  checkOverflow: checkOverflow\n};\nvar defaults = {\n  init: true,\n  direction: \"horizontal\",\n  touchEventsTarget: \"container\",\n  initialSlide: 0,\n  speed: 300,\n  cssMode: false,\n  updateOnWindowResize: true,\n  preventInteractionOnTransition: false,\n  edgeSwipeDetection: false,\n  edgeSwipeThreshold: 20,\n  freeMode: false,\n  freeModeMomentum: true,\n  freeModeMomentumRatio: 1,\n  freeModeMomentumBounce: true,\n  freeModeMomentumBounceRatio: 1,\n  freeModeMomentumVelocityRatio: 1,\n  freeModeSticky: false,\n  freeModeMinimumVelocity: .02,\n  autoHeight: false,\n  setWrapperSize: false,\n  virtualTranslate: false,\n  effect: \"slide\",\n  breakpoints: undefined,\n  spaceBetween: 0,\n  slidesPerView: 1,\n  slidesPerColumn: 1,\n  slidesPerColumnFill: \"column\",\n  slidesPerGroup: 1,\n  slidesPerGroupSkip: 0,\n  centeredSlides: false,\n  centeredSlidesBounds: false,\n  slidesOffsetBefore: 0,\n  slidesOffsetAfter: 0,\n  normalizeSlideIndex: true,\n  centerInsufficientSlides: false,\n  watchOverflow: false,\n  roundLengths: false,\n  touchRatio: 1,\n  touchAngle: 45,\n  simulateTouch: true,\n  shortSwipes: true,\n  longSwipes: true,\n  longSwipesRatio: .5,\n  longSwipesMs: 300,\n  followFinger: true,\n  allowTouchMove: true,\n  threshold: 0,\n  touchMoveStopPropagation: false,\n  touchStartPreventDefault: true,\n  touchStartForcePreventDefault: false,\n  touchReleaseOnEdges: false,\n  uniqueNavElements: true,\n  resistance: true,\n  resistanceRatio: .85,\n  watchSlidesProgress: false,\n  watchSlidesVisibility: false,\n  grabCursor: false,\n  preventClicks: true,\n  preventClicksPropagation: true,\n  slideToClickedSlide: false,\n  preloadImages: true,\n  updateOnImagesReady: true,\n  loop: false,\n  loopAdditionalSlides: 0,\n  loopedSlides: null,\n  loopFillGroupWithBlank: false,\n  allowSlidePrev: true,\n  allowSlideNext: true,\n  swipeHandler: null,\n  noSwiping: true,\n  noSwipingClass: \"swiper-no-swiping\",\n  noSwipingSelector: null,\n  passiveListeners: true,\n  containerModifierClass: \"swiper-container-\",\n  slideClass: \"swiper-slide\",\n  slideBlankClass: \"swiper-slide-invisible-blank\",\n  slideActiveClass: \"swiper-slide-active\",\n  slideDuplicateActiveClass: \"swiper-slide-duplicate-active\",\n  slideVisibleClass: \"swiper-slide-visible\",\n  slideDuplicateClass: \"swiper-slide-duplicate\",\n  slideNextClass: \"swiper-slide-next\",\n  slideDuplicateNextClass: \"swiper-slide-duplicate-next\",\n  slidePrevClass: \"swiper-slide-prev\",\n  slideDuplicatePrevClass: \"swiper-slide-duplicate-prev\",\n  wrapperClass: \"swiper-wrapper\",\n  runCallbacksOnInit: true\n};\nvar prototypes = {\n  update: update,\n  translate: translate,\n  transition: transition$1,\n  slide: slide,\n  loop: loop,\n  grabCursor: grabCursor,\n  manipulation: manipulation,\n  events: events,\n  breakpoints: breakpoints,\n  checkOverflow: checkOverflow$1,\n  classes: classes,\n  images: images\n};\nvar extendedDefaults = {};\n\nvar Swiper = function (e) {\n  __extends(t, e);\n\n  function t() {\n    var i = [];\n\n    for (var r = 0; r < arguments.length; r++) {\n      i[r] = arguments[r];\n    }\n\n    var a = this;\n    var s;\n    var n;\n\n    if (i.length === 1 && i[0].constructor && i[0].constructor === Object) {\n      n = i[0];\n    } else {\n      s = i[0], n = i[1];\n    }\n\n    if (!n) n = {};\n    n = Utils.extend({}, n);\n    if (s && !n.el) n.el = s;\n    a = e.call(this, n) || this;\n    Object.keys(prototypes).forEach(function (e) {\n      Object.keys(prototypes[e]).forEach(function (i) {\n        if (!t.prototype[i]) {\n          t.prototype[i] = prototypes[e][i];\n        }\n      });\n    });\n    var l = a;\n\n    if (typeof l.modules === \"undefined\") {\n      l.modules = {};\n    }\n\n    Object.keys(l.modules).forEach(function (e) {\n      var t = l.modules[e];\n\n      if (t.params) {\n        var i = Object.keys(t.params)[0];\n        var r = t.params[i];\n        if (typeof r !== \"object\" || r === null) return;\n        if (!(i in n && \"enabled\" in r)) return;\n\n        if (n[i] === true) {\n          n[i] = {\n            enabled: true\n          };\n        }\n\n        if (typeof n[i] === \"object\" && !(\"enabled\" in n[i])) {\n          n[i].enabled = true;\n        }\n\n        if (!n[i]) n[i] = {\n          enabled: false\n        };\n      }\n    });\n    var o = Utils.extend({}, defaults);\n    l.useModulesParams(o);\n    l.params = Utils.extend({}, o, extendedDefaults, n);\n    l.originalParams = Utils.extend({}, l.params);\n    l.passedParams = Utils.extend({}, n);\n    l.$ = $;\n    var d = $(l.params.el);\n    s = d[0];\n\n    if (!s) {\n      return undefined;\n    }\n\n    if (d.length > 1) {\n      var u = [];\n      d.each(function (e, i) {\n        var r = Utils.extend({}, n, {\n          el: i\n        });\n        u.push(new t(r));\n      });\n      return u;\n    }\n\n    s.swiper = l;\n    d.data(\"swiper\", l);\n    var f;\n\n    if (s && s.shadowRoot && s.shadowRoot.querySelector) {\n      f = $(s.shadowRoot.querySelector(\".\" + l.params.wrapperClass));\n\n      f.children = function (e) {\n        return d.children(e);\n      };\n    } else {\n      f = d.children(\".\" + l.params.wrapperClass);\n    }\n\n    Utils.extend(l, {\n      $el: d,\n      el: s,\n      $wrapperEl: f,\n      wrapperEl: f[0],\n      classNames: [],\n      slides: $(),\n      slidesGrid: [],\n      snapGrid: [],\n      slidesSizesGrid: [],\n      isHorizontal: function () {\n        return l.params.direction === \"horizontal\";\n      },\n      isVertical: function () {\n        return l.params.direction === \"vertical\";\n      },\n      rtl: s.dir.toLowerCase() === \"rtl\" || d.css(\"direction\") === \"rtl\",\n      rtlTranslate: l.params.direction === \"horizontal\" && (s.dir.toLowerCase() === \"rtl\" || d.css(\"direction\") === \"rtl\"),\n      wrongRTL: f.css(\"display\") === \"-webkit-box\",\n      activeIndex: 0,\n      realIndex: 0,\n      isBeginning: true,\n      isEnd: false,\n      translate: 0,\n      previousTranslate: 0,\n      progress: 0,\n      velocity: 0,\n      animating: false,\n      allowSlideNext: l.params.allowSlideNext,\n      allowSlidePrev: l.params.allowSlidePrev,\n      touchEvents: function e() {\n        var t = [\"touchstart\", \"touchmove\", \"touchend\", \"touchcancel\"];\n        var i = [\"mousedown\", \"mousemove\", \"mouseup\"];\n\n        if (Support.pointerEvents) {\n          i = [\"pointerdown\", \"pointermove\", \"pointerup\"];\n        }\n\n        l.touchEventsTouch = {\n          start: t[0],\n          move: t[1],\n          end: t[2],\n          cancel: t[3]\n        };\n        l.touchEventsDesktop = {\n          start: i[0],\n          move: i[1],\n          end: i[2]\n        };\n        return Support.touch || !l.params.simulateTouch ? l.touchEventsTouch : l.touchEventsDesktop;\n      }(),\n      touchEventsData: {\n        isTouched: undefined,\n        isMoved: undefined,\n        allowTouchCallbacks: undefined,\n        touchStartTime: undefined,\n        isScrolling: undefined,\n        currentTranslate: undefined,\n        startTranslate: undefined,\n        allowThresholdMove: undefined,\n        formElements: \"input, select, option, textarea, button, video, label\",\n        lastClickTime: Utils.now(),\n        clickTimeout: undefined,\n        velocities: [],\n        allowMomentumBounce: undefined,\n        isTouchEvent: undefined,\n        startMoving: undefined\n      },\n      allowClick: true,\n      allowTouchMove: l.params.allowTouchMove,\n      touches: {\n        startX: 0,\n        startY: 0,\n        currentX: 0,\n        currentY: 0,\n        diff: 0\n      },\n      imagesToLoad: [],\n      imagesLoaded: 0\n    });\n    l.useModules();\n\n    if (l.params.init) {\n      l.init();\n    }\n\n    return l;\n  }\n\n  t.prototype.slidesPerViewDynamic = function () {\n    var e = this;\n    var t = e.params,\n        i = e.slides,\n        r = e.slidesGrid,\n        a = e.size,\n        s = e.activeIndex;\n    var n = 1;\n\n    if (t.centeredSlides) {\n      var l = i[s].swiperSlideSize;\n      var o = void 0;\n\n      for (var d = s + 1; d < i.length; d += 1) {\n        if (i[d] && !o) {\n          l += i[d].swiperSlideSize;\n          n += 1;\n          if (l > a) o = true;\n        }\n      }\n\n      for (var d = s - 1; d >= 0; d -= 1) {\n        if (i[d] && !o) {\n          l += i[d].swiperSlideSize;\n          n += 1;\n          if (l > a) o = true;\n        }\n      }\n    } else {\n      for (var d = s + 1; d < i.length; d += 1) {\n        if (r[d] - r[s] < a) {\n          n += 1;\n        }\n      }\n    }\n\n    return n;\n  };\n\n  t.prototype.update = function () {\n    var e = this;\n    if (!e || e.destroyed) return;\n    var t = e.snapGrid,\n        i = e.params;\n\n    if (i.breakpoints) {\n      e.setBreakpoint();\n    }\n\n    e.updateSize();\n    e.updateSlides();\n    e.updateProgress();\n    e.updateSlidesClasses();\n\n    function r() {\n      var t = e.rtlTranslate ? e.translate * -1 : e.translate;\n      var i = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());\n      e.setTranslate(i);\n      e.updateActiveIndex();\n      e.updateSlidesClasses();\n    }\n\n    var a;\n\n    if (e.params.freeMode) {\n      r();\n\n      if (e.params.autoHeight) {\n        e.updateAutoHeight();\n      }\n    } else {\n      if ((e.params.slidesPerView === \"auto\" || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides) {\n        a = e.slideTo(e.slides.length - 1, 0, false, true);\n      } else {\n        a = e.slideTo(e.activeIndex, 0, false, true);\n      }\n\n      if (!a) {\n        r();\n      }\n    }\n\n    if (i.watchOverflow && t !== e.snapGrid) {\n      e.checkOverflow();\n    }\n\n    e.emit(\"update\");\n  };\n\n  t.prototype.changeDirection = function (e, t) {\n    if (t === void 0) {\n      t = true;\n    }\n\n    var i = this;\n    var r = i.params.direction;\n\n    if (!e) {\n      e = r === \"horizontal\" ? \"vertical\" : \"horizontal\";\n    }\n\n    if (e === r || e !== \"horizontal\" && e !== \"vertical\") {\n      return i;\n    }\n\n    i.$el.removeClass(\"\" + i.params.containerModifierClass + r).addClass(\"\" + i.params.containerModifierClass + e);\n    i.params.direction = e;\n    i.slides.each(function (t, i) {\n      if (e === \"vertical\") {\n        i.style.width = \"\";\n      } else {\n        i.style.height = \"\";\n      }\n    });\n    i.emit(\"changeDirection\");\n    if (t) i.update();\n    return i;\n  };\n\n  t.prototype.init = function () {\n    var e = this;\n    if (e.initialized) return;\n    e.emit(\"beforeInit\");\n\n    if (e.params.breakpoints) {\n      e.setBreakpoint();\n    }\n\n    e.addClasses();\n\n    if (e.params.loop) {\n      e.loopCreate();\n    }\n\n    e.updateSize();\n    e.updateSlides();\n\n    if (e.params.watchOverflow) {\n      e.checkOverflow();\n    }\n\n    if (e.params.grabCursor) {\n      e.setGrabCursor();\n    }\n\n    if (e.params.preloadImages) {\n      e.preloadImages();\n    }\n\n    if (e.params.loop) {\n      e.slideTo(e.params.initialSlide + e.loopedSlides, 0, e.params.runCallbacksOnInit);\n    } else {\n      e.slideTo(e.params.initialSlide, 0, e.params.runCallbacksOnInit);\n    }\n\n    e.attachEvents();\n    e.initialized = true;\n    e.emit(\"init\");\n  };\n\n  t.prototype.destroy = function (e, t) {\n    if (e === void 0) {\n      e = true;\n    }\n\n    if (t === void 0) {\n      t = true;\n    }\n\n    var i = this;\n    var r = i.params,\n        a = i.$el,\n        s = i.$wrapperEl,\n        n = i.slides;\n\n    if (typeof i.params === \"undefined\" || i.destroyed) {\n      return null;\n    }\n\n    i.emit(\"beforeDestroy\");\n    i.initialized = false;\n    i.detachEvents();\n\n    if (r.loop) {\n      i.loopDestroy();\n    }\n\n    if (t) {\n      i.removeClasses();\n      a.removeAttr(\"style\");\n      s.removeAttr(\"style\");\n\n      if (n && n.length) {\n        n.removeClass([r.slideVisibleClass, r.slideActiveClass, r.slideNextClass, r.slidePrevClass].join(\" \")).removeAttr(\"style\").removeAttr(\"data-swiper-slide-index\");\n      }\n    }\n\n    i.emit(\"destroy\");\n    Object.keys(i.eventsListeners).forEach(function (e) {\n      i.off(e);\n    });\n\n    if (e !== false) {\n      i.$el[0].swiper = null;\n      i.$el.data(\"swiper\", null);\n      Utils.deleteProps(i);\n    }\n\n    i.destroyed = true;\n    return null;\n  };\n\n  t.extendDefaults = function (e) {\n    Utils.extend(extendedDefaults, e);\n  };\n\n  Object.defineProperty(t, \"extendedDefaults\", {\n    get: function () {\n      return extendedDefaults;\n    },\n    enumerable: false,\n    configurable: true\n  });\n  Object.defineProperty(t, \"defaults\", {\n    get: function () {\n      return defaults;\n    },\n    enumerable: false,\n    configurable: true\n  });\n  Object.defineProperty(t, \"Class\", {\n    get: function () {\n      return SwiperClass;\n    },\n    enumerable: false,\n    configurable: true\n  });\n  Object.defineProperty(t, \"$\", {\n    get: function () {\n      return $;\n    },\n    enumerable: false,\n    configurable: true\n  });\n  return t;\n}(SwiperClass);\n\nvar Device$1 = {\n  name: \"device\",\n  proto: {\n    device: Device\n  },\n  static: {\n    device: Device\n  }\n};\nvar Support$1 = {\n  name: \"support\",\n  proto: {\n    support: Support\n  },\n  static: {\n    support: Support\n  }\n};\n\nvar Browser = function e() {\n  function t() {\n    var e = win.navigator.userAgent.toLowerCase();\n    return e.indexOf(\"safari\") >= 0 && e.indexOf(\"chrome\") < 0 && e.indexOf(\"android\") < 0;\n  }\n\n  return {\n    isEdge: !!win.navigator.userAgent.match(/Edge/g),\n    isSafari: t(),\n    isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(win.navigator.userAgent)\n  };\n}();\n\nvar Browser$1 = {\n  name: \"browser\",\n  proto: {\n    browser: Browser\n  },\n  static: {\n    browser: Browser\n  }\n};\nvar Resize = {\n  name: \"resize\",\n  create: function () {\n    var e = this;\n    Utils.extend(e, {\n      resize: {\n        resizeHandler: function () {\n          if (!e || e.destroyed || !e.initialized) return;\n          e.emit(\"beforeResize\");\n          e.emit(\"resize\");\n        },\n        orientationChangeHandler: function () {\n          if (!e || e.destroyed || !e.initialized) return;\n          e.emit(\"orientationchange\");\n        }\n      }\n    });\n  },\n  on: {\n    init: function () {\n      var e = this;\n      win.addEventListener(\"resize\", e.resize.resizeHandler);\n      win.addEventListener(\"orientationchange\", e.resize.orientationChangeHandler);\n    },\n    destroy: function () {\n      var e = this;\n      win.removeEventListener(\"resize\", e.resize.resizeHandler);\n      win.removeEventListener(\"orientationchange\", e.resize.orientationChangeHandler);\n    }\n  }\n};\nvar Observer = {\n  func: win.MutationObserver || win.WebkitMutationObserver,\n  attach: function (e, t) {\n    if (t === void 0) {\n      t = {};\n    }\n\n    var i = this;\n    var r = Observer.func;\n    var a = new r(function (e) {\n      if (e.length === 1) {\n        i.emit(\"observerUpdate\", e[0]);\n        return;\n      }\n\n      var t = function t() {\n        i.emit(\"observerUpdate\", e[0]);\n      };\n\n      if (win.requestAnimationFrame) {\n        win.requestAnimationFrame(t);\n      } else {\n        win.setTimeout(t, 0);\n      }\n    });\n    a.observe(e, {\n      attributes: typeof t.attributes === \"undefined\" ? true : t.attributes,\n      childList: typeof t.childList === \"undefined\" ? true : t.childList,\n      characterData: typeof t.characterData === \"undefined\" ? true : t.characterData\n    });\n    i.observer.observers.push(a);\n  },\n  init: function () {\n    var e = this;\n    if (!Support.observer || !e.params.observer) return;\n\n    if (e.params.observeParents) {\n      var t = e.$el.parents();\n\n      for (var i = 0; i < t.length; i += 1) {\n        e.observer.attach(t[i]);\n      }\n    }\n\n    e.observer.attach(e.$el[0], {\n      childList: e.params.observeSlideChildren\n    });\n    e.observer.attach(e.$wrapperEl[0], {\n      attributes: false\n    });\n  },\n  destroy: function () {\n    var e = this;\n    e.observer.observers.forEach(function (e) {\n      e.disconnect();\n    });\n    e.observer.observers = [];\n  }\n};\nvar Observer$1 = {\n  name: \"observer\",\n  params: {\n    observer: false,\n    observeParents: false,\n    observeSlideChildren: false\n  },\n  create: function () {\n    var e = this;\n    Utils.extend(e, {\n      observer: {\n        init: Observer.init.bind(e),\n        attach: Observer.attach.bind(e),\n        destroy: Observer.destroy.bind(e),\n        observers: []\n      }\n    });\n  },\n  on: {\n    init: function () {\n      var e = this;\n      e.observer.init();\n    },\n    destroy: function () {\n      var e = this;\n      e.observer.destroy();\n    }\n  }\n};\nvar Keyboard = {\n  handle: function (e) {\n    var t = this;\n    var i = t.rtlTranslate;\n    var r = e;\n    if (r.originalEvent) r = r.originalEvent;\n    var a = r.keyCode || r.charCode;\n\n    if (!t.allowSlideNext && (t.isHorizontal() && a === 39 || t.isVertical() && a === 40 || a === 34)) {\n      return false;\n    }\n\n    if (!t.allowSlidePrev && (t.isHorizontal() && a === 37 || t.isVertical() && a === 38 || a === 33)) {\n      return false;\n    }\n\n    if (r.shiftKey || r.altKey || r.ctrlKey || r.metaKey) {\n      return undefined;\n    }\n\n    if (doc.activeElement && doc.activeElement.nodeName && (doc.activeElement.nodeName.toLowerCase() === \"input\" || doc.activeElement.nodeName.toLowerCase() === \"textarea\")) {\n      return undefined;\n    }\n\n    if (t.params.keyboard.onlyInViewport && (a === 33 || a === 34 || a === 37 || a === 39 || a === 38 || a === 40)) {\n      var s = false;\n\n      if (t.$el.parents(\".\" + t.params.slideClass).length > 0 && t.$el.parents(\".\" + t.params.slideActiveClass).length === 0) {\n        return undefined;\n      }\n\n      var n = win.innerWidth;\n      var l = win.innerHeight;\n      var o = t.$el.offset();\n      if (i) o.left -= t.$el[0].scrollLeft;\n      var d = [[o.left, o.top], [o.left + t.width, o.top], [o.left, o.top + t.height], [o.left + t.width, o.top + t.height]];\n\n      for (var u = 0; u < d.length; u += 1) {\n        var f = d[u];\n\n        if (f[0] >= 0 && f[0] <= n && f[1] >= 0 && f[1] <= l) {\n          s = true;\n        }\n      }\n\n      if (!s) return undefined;\n    }\n\n    if (t.isHorizontal()) {\n      if (a === 33 || a === 34 || a === 37 || a === 39) {\n        if (r.preventDefault) r.preventDefault();else r.returnValue = false;\n      }\n\n      if ((a === 34 || a === 39) && !i || (a === 33 || a === 37) && i) t.slideNext();\n      if ((a === 33 || a === 37) && !i || (a === 34 || a === 39) && i) t.slidePrev();\n    } else {\n      if (a === 33 || a === 34 || a === 38 || a === 40) {\n        if (r.preventDefault) r.preventDefault();else r.returnValue = false;\n      }\n\n      if (a === 34 || a === 40) t.slideNext();\n      if (a === 33 || a === 38) t.slidePrev();\n    }\n\n    t.emit(\"keyPress\", a);\n    return undefined;\n  },\n  enable: function () {\n    var e = this;\n    if (e.keyboard.enabled) return;\n    $(doc).on(\"keydown\", e.keyboard.handle);\n    e.keyboard.enabled = true;\n  },\n  disable: function () {\n    var e = this;\n    if (!e.keyboard.enabled) return;\n    $(doc).off(\"keydown\", e.keyboard.handle);\n    e.keyboard.enabled = false;\n  }\n};\nvar keyboard = {\n  name: \"keyboard\",\n  params: {\n    keyboard: {\n      enabled: false,\n      onlyInViewport: true\n    }\n  },\n  create: function () {\n    var e = this;\n    Utils.extend(e, {\n      keyboard: {\n        enabled: false,\n        enable: Keyboard.enable.bind(e),\n        disable: Keyboard.disable.bind(e),\n        handle: Keyboard.handle.bind(e)\n      }\n    });\n  },\n  on: {\n    init: function () {\n      var e = this;\n\n      if (e.params.keyboard.enabled) {\n        e.keyboard.enable();\n      }\n    },\n    destroy: function () {\n      var e = this;\n\n      if (e.keyboard.enabled) {\n        e.keyboard.disable();\n      }\n    }\n  }\n};\n\nfunction isEventSupported() {\n  var e = \"onwheel\";\n  var t = (e in doc);\n\n  if (!t) {\n    var i = doc.createElement(\"div\");\n    i.setAttribute(e, \"return;\");\n    t = typeof i[e] === \"function\";\n  }\n\n  if (!t && doc.implementation && doc.implementation.hasFeature && doc.implementation.hasFeature(\"\", \"\") !== true) {\n    t = doc.implementation.hasFeature(\"Events.wheel\", \"3.0\");\n  }\n\n  return t;\n}\n\nvar Mousewheel = {\n  lastScrollTime: Utils.now(),\n  lastEventBeforeSnap: undefined,\n  recentWheelEvents: [],\n  event: function () {\n    if (win.navigator.userAgent.indexOf(\"firefox\") > -1) return \"DOMMouseScroll\";\n    return isEventSupported() ? \"wheel\" : \"mousewheel\";\n  },\n  normalize: function (e) {\n    var t = 10;\n    var i = 40;\n    var r = 800;\n    var a = 0;\n    var s = 0;\n    var n = 0;\n    var l = 0;\n\n    if (\"detail\" in e) {\n      s = e.detail;\n    }\n\n    if (\"wheelDelta\" in e) {\n      s = -e.wheelDelta / 120;\n    }\n\n    if (\"wheelDeltaY\" in e) {\n      s = -e.wheelDeltaY / 120;\n    }\n\n    if (\"wheelDeltaX\" in e) {\n      a = -e.wheelDeltaX / 120;\n    }\n\n    if (\"axis\" in e && e.axis === e.HORIZONTAL_AXIS) {\n      a = s;\n      s = 0;\n    }\n\n    n = a * t;\n    l = s * t;\n\n    if (\"deltaY\" in e) {\n      l = e.deltaY;\n    }\n\n    if (\"deltaX\" in e) {\n      n = e.deltaX;\n    }\n\n    if (e.shiftKey && !n) {\n      n = l;\n      l = 0;\n    }\n\n    if ((n || l) && e.deltaMode) {\n      if (e.deltaMode === 1) {\n        n *= i;\n        l *= i;\n      } else {\n        n *= r;\n        l *= r;\n      }\n    }\n\n    if (n && !a) {\n      a = n < 1 ? -1 : 1;\n    }\n\n    if (l && !s) {\n      s = l < 1 ? -1 : 1;\n    }\n\n    return {\n      spinX: a,\n      spinY: s,\n      pixelX: n,\n      pixelY: l\n    };\n  },\n  handleMouseEnter: function () {\n    var e = this;\n    e.mouseEntered = true;\n  },\n  handleMouseLeave: function () {\n    var e = this;\n    e.mouseEntered = false;\n  },\n  handle: function (e) {\n    var t = e;\n    var i = this;\n    var r = i.params.mousewheel;\n\n    if (i.params.cssMode) {\n      t.preventDefault();\n    }\n\n    var a = i.$el;\n\n    if (i.params.mousewheel.eventsTarged !== \"container\") {\n      a = $(i.params.mousewheel.eventsTarged);\n    }\n\n    if (!i.mouseEntered && !a[0].contains(t.target) && !r.releaseOnEdges) return true;\n    if (t.originalEvent) t = t.originalEvent;\n    var s = 0;\n    var n = i.rtlTranslate ? -1 : 1;\n    var l = Mousewheel.normalize(t);\n\n    if (r.forceToAxis) {\n      if (i.isHorizontal()) {\n        if (Math.abs(l.pixelX) > Math.abs(l.pixelY)) s = l.pixelX * n;else return true;\n      } else if (Math.abs(l.pixelY) > Math.abs(l.pixelX)) s = l.pixelY;else return true;\n    } else {\n      s = Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * n : -l.pixelY;\n    }\n\n    if (s === 0) return true;\n    if (r.invert) s = -s;\n\n    if (!i.params.freeMode) {\n      var o = {\n        time: Utils.now(),\n        delta: Math.abs(s),\n        direction: Math.sign(s),\n        raw: e\n      };\n      var d = i.mousewheel.recentWheelEvents;\n\n      if (d.length >= 2) {\n        d.shift();\n      }\n\n      var u = d.length ? d[d.length - 1] : undefined;\n      d.push(o);\n\n      if (u) {\n        if (o.direction !== u.direction || o.delta > u.delta || o.time > u.time + 150) {\n          i.mousewheel.animateSlider(o);\n        }\n      } else {\n        i.mousewheel.animateSlider(o);\n      }\n\n      if (i.mousewheel.releaseScroll(o)) {\n        return true;\n      }\n    } else {\n      var f = {\n        time: Utils.now(),\n        delta: Math.abs(s),\n        direction: Math.sign(s)\n      };\n      var p = i.mousewheel.lastEventBeforeSnap;\n      var c = p && f.time < p.time + 500 && f.delta <= p.delta && f.direction === p.direction;\n\n      if (!c) {\n        i.mousewheel.lastEventBeforeSnap = undefined;\n\n        if (i.params.loop) {\n          i.loopFix();\n        }\n\n        var v = i.getTranslate() + s * r.sensitivity;\n        var h = i.isBeginning;\n        var m = i.isEnd;\n        if (v >= i.minTranslate()) v = i.minTranslate();\n        if (v <= i.maxTranslate()) v = i.maxTranslate();\n        i.setTransition(0);\n        i.setTranslate(v);\n        i.updateProgress();\n        i.updateActiveIndex();\n        i.updateSlidesClasses();\n\n        if (!h && i.isBeginning || !m && i.isEnd) {\n          i.updateSlidesClasses();\n        }\n\n        if (i.params.freeModeSticky) {\n          clearTimeout(i.mousewheel.timeout);\n          i.mousewheel.timeout = undefined;\n          var g = i.mousewheel.recentWheelEvents;\n\n          if (g.length >= 15) {\n            g.shift();\n          }\n\n          var u = g.length ? g[g.length - 1] : undefined;\n          var w = g[0];\n          g.push(f);\n\n          if (u && (f.delta > u.delta || f.direction !== u.direction)) {\n            g.splice(0);\n          } else if (g.length >= 15 && f.time - w.time < 500 && w.delta - f.delta >= 1 && f.delta <= 6) {\n            var b = s > 0 ? .8 : .2;\n            i.mousewheel.lastEventBeforeSnap = f;\n            g.splice(0);\n            i.mousewheel.timeout = Utils.nextTick(function () {\n              i.slideToClosest(i.params.speed, true, undefined, b);\n            }, 0);\n          }\n\n          if (!i.mousewheel.timeout) {\n            i.mousewheel.timeout = Utils.nextTick(function () {\n              var e = .5;\n              i.mousewheel.lastEventBeforeSnap = f;\n              g.splice(0);\n              i.slideToClosest(i.params.speed, true, undefined, e);\n            }, 500);\n          }\n        }\n\n        if (!c) i.emit(\"scroll\", t);\n        if (i.params.autoplay && i.params.autoplayDisableOnInteraction) i.autoplay.stop();\n        if (v === i.minTranslate() || v === i.maxTranslate()) return true;\n      }\n    }\n\n    if (t.preventDefault) t.preventDefault();else t.returnValue = false;\n    return false;\n  },\n  animateSlider: function (e) {\n    var t = this;\n\n    if (e.delta >= 6 && Utils.now() - t.mousewheel.lastScrollTime < 60) {\n      return true;\n    }\n\n    if (e.direction < 0) {\n      if ((!t.isEnd || t.params.loop) && !t.animating) {\n        t.slideNext();\n        t.emit(\"scroll\", e.raw);\n      }\n    } else if ((!t.isBeginning || t.params.loop) && !t.animating) {\n      t.slidePrev();\n      t.emit(\"scroll\", e.raw);\n    }\n\n    t.mousewheel.lastScrollTime = new win.Date().getTime();\n    return false;\n  },\n  releaseScroll: function (e) {\n    var t = this;\n    var i = t.params.mousewheel;\n\n    if (e.direction < 0) {\n      if (t.isEnd && !t.params.loop && i.releaseOnEdges) {\n        return true;\n      }\n    } else if (t.isBeginning && !t.params.loop && i.releaseOnEdges) {\n      return true;\n    }\n\n    return false;\n  },\n  enable: function () {\n    var e = this;\n    var t = Mousewheel.event();\n\n    if (e.params.cssMode) {\n      e.wrapperEl.removeEventListener(t, e.mousewheel.handle);\n      return true;\n    }\n\n    if (!t) return false;\n    if (e.mousewheel.enabled) return false;\n    var i = e.$el;\n\n    if (e.params.mousewheel.eventsTarged !== \"container\") {\n      i = $(e.params.mousewheel.eventsTarged);\n    }\n\n    i.on(\"mouseenter\", e.mousewheel.handleMouseEnter);\n    i.on(\"mouseleave\", e.mousewheel.handleMouseLeave);\n    i.on(t, e.mousewheel.handle);\n    e.mousewheel.enabled = true;\n    return true;\n  },\n  disable: function () {\n    var e = this;\n    var t = Mousewheel.event();\n\n    if (e.params.cssMode) {\n      e.wrapperEl.addEventListener(t, e.mousewheel.handle);\n      return true;\n    }\n\n    if (!t) return false;\n    if (!e.mousewheel.enabled) return false;\n    var i = e.$el;\n\n    if (e.params.mousewheel.eventsTarged !== \"container\") {\n      i = $(e.params.mousewheel.eventsTarged);\n    }\n\n    i.off(t, e.mousewheel.handle);\n    e.mousewheel.enabled = false;\n    return true;\n  }\n};\nvar Pagination = {\n  update: function () {\n    var e = this;\n    var t = e.rtl;\n    var i = e.params.pagination;\n    if (!i.el || !e.pagination.el || !e.pagination.$el || e.pagination.$el.length === 0) return;\n    var r = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length;\n    var a = e.pagination.$el;\n    var s;\n    var n = e.params.loop ? Math.ceil((r - e.loopedSlides * 2) / e.params.slidesPerGroup) : e.snapGrid.length;\n\n    if (e.params.loop) {\n      s = Math.ceil((e.activeIndex - e.loopedSlides) / e.params.slidesPerGroup);\n\n      if (s > r - 1 - e.loopedSlides * 2) {\n        s -= r - e.loopedSlides * 2;\n      }\n\n      if (s > n - 1) s -= n;\n      if (s < 0 && e.params.paginationType !== \"bullets\") s = n + s;\n    } else if (typeof e.snapIndex !== \"undefined\") {\n      s = e.snapIndex;\n    } else {\n      s = e.activeIndex || 0;\n    }\n\n    if (i.type === \"bullets\" && e.pagination.bullets && e.pagination.bullets.length > 0) {\n      var l = e.pagination.bullets;\n      var o;\n      var d;\n      var u = void 0;\n\n      if (i.dynamicBullets) {\n        e.pagination.bulletSize = l.eq(0)[e.isHorizontal() ? \"outerWidth\" : \"outerHeight\"](true);\n        a.css(e.isHorizontal() ? \"width\" : \"height\", e.pagination.bulletSize * (i.dynamicMainBullets + 4) + \"px\");\n\n        if (i.dynamicMainBullets > 1 && e.previousIndex !== undefined) {\n          e.pagination.dynamicBulletIndex += s - e.previousIndex;\n\n          if (e.pagination.dynamicBulletIndex > i.dynamicMainBullets - 1) {\n            e.pagination.dynamicBulletIndex = i.dynamicMainBullets - 1;\n          } else if (e.pagination.dynamicBulletIndex < 0) {\n            e.pagination.dynamicBulletIndex = 0;\n          }\n        }\n\n        o = s - e.pagination.dynamicBulletIndex;\n        d = o + (Math.min(l.length, i.dynamicMainBullets) - 1);\n        u = (d + o) / 2;\n      }\n\n      l.removeClass(i.bulletActiveClass + \" \" + i.bulletActiveClass + \"-next \" + i.bulletActiveClass + \"-next-next \" + i.bulletActiveClass + \"-prev \" + i.bulletActiveClass + \"-prev-prev \" + i.bulletActiveClass + \"-main\");\n\n      if (a.length > 1) {\n        l.each(function (e, t) {\n          var r = $(t);\n          var a = r.index();\n\n          if (a === s) {\n            r.addClass(i.bulletActiveClass);\n          }\n\n          if (i.dynamicBullets) {\n            if (a >= o && a <= d) {\n              r.addClass(i.bulletActiveClass + \"-main\");\n            }\n\n            if (a === o) {\n              r.prev().addClass(i.bulletActiveClass + \"-prev\").prev().addClass(i.bulletActiveClass + \"-prev-prev\");\n            }\n\n            if (a === d) {\n              r.next().addClass(i.bulletActiveClass + \"-next\").next().addClass(i.bulletActiveClass + \"-next-next\");\n            }\n          }\n        });\n      } else {\n        var f = l.eq(s);\n        var p = f.index();\n        f.addClass(i.bulletActiveClass);\n\n        if (i.dynamicBullets) {\n          var c = l.eq(o);\n          var v = l.eq(d);\n\n          for (var h = o; h <= d; h += 1) {\n            l.eq(h).addClass(i.bulletActiveClass + \"-main\");\n          }\n\n          if (e.params.loop) {\n            if (p >= l.length - i.dynamicMainBullets) {\n              for (var h = i.dynamicMainBullets; h >= 0; h -= 1) {\n                l.eq(l.length - h).addClass(i.bulletActiveClass + \"-main\");\n              }\n\n              l.eq(l.length - i.dynamicMainBullets - 1).addClass(i.bulletActiveClass + \"-prev\");\n            } else {\n              c.prev().addClass(i.bulletActiveClass + \"-prev\").prev().addClass(i.bulletActiveClass + \"-prev-prev\");\n              v.next().addClass(i.bulletActiveClass + \"-next\").next().addClass(i.bulletActiveClass + \"-next-next\");\n            }\n          } else {\n            c.prev().addClass(i.bulletActiveClass + \"-prev\").prev().addClass(i.bulletActiveClass + \"-prev-prev\");\n            v.next().addClass(i.bulletActiveClass + \"-next\").next().addClass(i.bulletActiveClass + \"-next-next\");\n          }\n        }\n      }\n\n      if (i.dynamicBullets) {\n        var m = Math.min(l.length, i.dynamicMainBullets + 4);\n        var g = (e.pagination.bulletSize * m - e.pagination.bulletSize) / 2 - u * e.pagination.bulletSize;\n        var w = t ? \"right\" : \"left\";\n        l.css(e.isHorizontal() ? w : \"top\", g + \"px\");\n      }\n    }\n\n    if (i.type === \"fraction\") {\n      a.find(\".\" + i.currentClass).text(i.formatFractionCurrent(s + 1));\n      a.find(\".\" + i.totalClass).text(i.formatFractionTotal(n));\n    }\n\n    if (i.type === \"progressbar\") {\n      var b = void 0;\n\n      if (i.progressbarOpposite) {\n        b = e.isHorizontal() ? \"vertical\" : \"horizontal\";\n      } else {\n        b = e.isHorizontal() ? \"horizontal\" : \"vertical\";\n      }\n\n      var y = (s + 1) / n;\n      var S = 1;\n      var T = 1;\n\n      if (b === \"horizontal\") {\n        S = y;\n      } else {\n        T = y;\n      }\n\n      a.find(\".\" + i.progressbarFillClass).transform(\"translate3d(0,0,0) scaleX(\" + S + \") scaleY(\" + T + \")\").transition(e.params.speed);\n    }\n\n    if (i.type === \"custom\" && i.renderCustom) {\n      a.html(i.renderCustom(e, s + 1, n));\n      e.emit(\"paginationRender\", e, a[0]);\n    } else {\n      e.emit(\"paginationUpdate\", e, a[0]);\n    }\n\n    a[e.params.watchOverflow && e.isLocked ? \"addClass\" : \"removeClass\"](i.lockClass);\n  },\n  render: function () {\n    var e = this;\n    var t = e.params.pagination;\n    if (!t.el || !e.pagination.el || !e.pagination.$el || e.pagination.$el.length === 0) return;\n    var i = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length;\n    var r = e.pagination.$el;\n    var a = \"\";\n\n    if (t.type === \"bullets\") {\n      var s = e.params.loop ? Math.ceil((i - e.loopedSlides * 2) / e.params.slidesPerGroup) : e.snapGrid.length;\n\n      for (var n = 0; n < s; n += 1) {\n        if (t.renderBullet) {\n          a += t.renderBullet.call(e, n, t.bulletClass);\n        } else {\n          a += \"<\" + t.bulletElement + ' class=\"' + t.bulletClass + '\"></' + t.bulletElement + \">\";\n        }\n      }\n\n      r.html(a);\n      e.pagination.bullets = r.find(\".\" + t.bulletClass);\n    }\n\n    if (t.type === \"fraction\") {\n      if (t.renderFraction) {\n        a = t.renderFraction.call(e, t.currentClass, t.totalClass);\n      } else {\n        a = '<span class=\"' + t.currentClass + '\"></span>' + \" / \" + ('<span class=\"' + t.totalClass + '\"></span>');\n      }\n\n      r.html(a);\n    }\n\n    if (t.type === \"progressbar\") {\n      if (t.renderProgressbar) {\n        a = t.renderProgressbar.call(e, t.progressbarFillClass);\n      } else {\n        a = '<span class=\"' + t.progressbarFillClass + '\"></span>';\n      }\n\n      r.html(a);\n    }\n\n    if (t.type !== \"custom\") {\n      e.emit(\"paginationRender\", e.pagination.$el[0]);\n    }\n  },\n  init: function () {\n    var e = this;\n    var t = e.params.pagination;\n    if (!t.el) return;\n    var i = $(t.el);\n    if (i.length === 0) return;\n\n    if (e.params.uniqueNavElements && typeof t.el === \"string\" && i.length > 1 && e.$el.find(t.el).length === 1) {\n      i = e.$el.find(t.el);\n    }\n\n    if (t.type === \"bullets\" && t.clickable) {\n      i.addClass(t.clickableClass);\n    }\n\n    i.addClass(t.modifierClass + t.type);\n\n    if (t.type === \"bullets\" && t.dynamicBullets) {\n      i.addClass(\"\" + t.modifierClass + t.type + \"-dynamic\");\n      e.pagination.dynamicBulletIndex = 0;\n\n      if (t.dynamicMainBullets < 1) {\n        t.dynamicMainBullets = 1;\n      }\n    }\n\n    if (t.type === \"progressbar\" && t.progressbarOpposite) {\n      i.addClass(t.progressbarOppositeClass);\n    }\n\n    if (t.clickable) {\n      i.on(\"click\", \".\" + t.bulletClass, function t(i) {\n        i.preventDefault();\n        var r = $(this).index() * e.params.slidesPerGroup;\n        if (e.params.loop) r += e.loopedSlides;\n        e.slideTo(r);\n      });\n    }\n\n    Utils.extend(e.pagination, {\n      $el: i,\n      el: i[0]\n    });\n  },\n  destroy: function () {\n    var e = this;\n    var t = e.params.pagination;\n    if (!t.el || !e.pagination.el || !e.pagination.$el || e.pagination.$el.length === 0) return;\n    var i = e.pagination.$el;\n    i.removeClass(t.hiddenClass);\n    i.removeClass(t.modifierClass + t.type);\n    if (e.pagination.bullets) e.pagination.bullets.removeClass(t.bulletActiveClass);\n\n    if (t.clickable) {\n      i.off(\"click\", \".\" + t.bulletClass);\n    }\n  }\n};\nvar pagination = {\n  name: \"pagination\",\n  params: {\n    pagination: {\n      el: null,\n      bulletElement: \"span\",\n      clickable: false,\n      hideOnClick: false,\n      renderBullet: null,\n      renderProgressbar: null,\n      renderFraction: null,\n      renderCustom: null,\n      progressbarOpposite: false,\n      type: \"bullets\",\n      dynamicBullets: false,\n      dynamicMainBullets: 1,\n      formatFractionCurrent: function (e) {\n        return e;\n      },\n      formatFractionTotal: function (e) {\n        return e;\n      },\n      bulletClass: \"swiper-pagination-bullet\",\n      bulletActiveClass: \"swiper-pagination-bullet-active\",\n      modifierClass: \"swiper-pagination-\",\n      currentClass: \"swiper-pagination-current\",\n      totalClass: \"swiper-pagination-total\",\n      hiddenClass: \"swiper-pagination-hidden\",\n      progressbarFillClass: \"swiper-pagination-progressbar-fill\",\n      progressbarOppositeClass: \"swiper-pagination-progressbar-opposite\",\n      clickableClass: \"swiper-pagination-clickable\",\n      lockClass: \"swiper-pagination-lock\"\n    }\n  },\n  create: function () {\n    var e = this;\n    Utils.extend(e, {\n      pagination: {\n        init: Pagination.init.bind(e),\n        render: Pagination.render.bind(e),\n        update: Pagination.update.bind(e),\n        destroy: Pagination.destroy.bind(e),\n        dynamicBulletIndex: 0\n      }\n    });\n  },\n  on: {\n    init: function () {\n      var e = this;\n      e.pagination.init();\n      e.pagination.render();\n      e.pagination.update();\n    },\n    activeIndexChange: function () {\n      var e = this;\n\n      if (e.params.loop) {\n        e.pagination.update();\n      } else if (typeof e.snapIndex === \"undefined\") {\n        e.pagination.update();\n      }\n    },\n    snapIndexChange: function () {\n      var e = this;\n\n      if (!e.params.loop) {\n        e.pagination.update();\n      }\n    },\n    slidesLengthChange: function () {\n      var e = this;\n\n      if (e.params.loop) {\n        e.pagination.render();\n        e.pagination.update();\n      }\n    },\n    snapGridLengthChange: function () {\n      var e = this;\n\n      if (!e.params.loop) {\n        e.pagination.render();\n        e.pagination.update();\n      }\n    },\n    destroy: function () {\n      var e = this;\n      e.pagination.destroy();\n    },\n    click: function (e) {\n      var t = this;\n\n      if (t.params.pagination.el && t.params.pagination.hideOnClick && t.pagination.$el.length > 0 && !$(e.target).hasClass(t.params.pagination.bulletClass)) {\n        var i = t.pagination.$el.hasClass(t.params.pagination.hiddenClass);\n\n        if (i === true) {\n          t.emit(\"paginationShow\", t);\n        } else {\n          t.emit(\"paginationHide\", t);\n        }\n\n        t.pagination.$el.toggleClass(t.params.pagination.hiddenClass);\n      }\n    }\n  }\n};\nvar Scrollbar = {\n  setTranslate: function () {\n    var e = this;\n    if (!e.params.scrollbar.el || !e.scrollbar.el) return;\n    var t = e.scrollbar,\n        i = e.rtlTranslate,\n        r = e.progress;\n    var a = t.dragSize,\n        s = t.trackSize,\n        n = t.$dragEl,\n        l = t.$el;\n    var o = e.params.scrollbar;\n    var d = a;\n    var u = (s - a) * r;\n\n    if (i) {\n      u = -u;\n\n      if (u > 0) {\n        d = a - u;\n        u = 0;\n      } else if (-u + a > s) {\n        d = s + u;\n      }\n    } else if (u < 0) {\n      d = a + u;\n      u = 0;\n    } else if (u + a > s) {\n      d = s - u;\n    }\n\n    if (e.isHorizontal()) {\n      n.transform(\"translate3d(\" + u + \"px, 0, 0)\");\n      n[0].style.width = d + \"px\";\n    } else {\n      n.transform(\"translate3d(0px, \" + u + \"px, 0)\");\n      n[0].style.height = d + \"px\";\n    }\n\n    if (o.hide) {\n      clearTimeout(e.scrollbar.timeout);\n      l[0].style.opacity = 1;\n      e.scrollbar.timeout = setTimeout(function () {\n        l[0].style.opacity = 0;\n        l.transition(400);\n      }, 1e3);\n    }\n  },\n  setTransition: function (e) {\n    var t = this;\n    if (!t.params.scrollbar.el || !t.scrollbar.el) return;\n    t.scrollbar.$dragEl.transition(e);\n  },\n  updateSize: function () {\n    var e = this;\n    if (!e.params.scrollbar.el || !e.scrollbar.el) return;\n    var t = e.scrollbar;\n    var i = t.$dragEl,\n        r = t.$el;\n    i[0].style.width = \"\";\n    i[0].style.height = \"\";\n    var a = e.isHorizontal() ? r[0].offsetWidth : r[0].offsetHeight;\n    var s = e.size / e.virtualSize;\n    var n = s * (a / e.size);\n    var l;\n\n    if (e.params.scrollbar.dragSize === \"auto\") {\n      l = a * s;\n    } else {\n      l = parseInt(e.params.scrollbar.dragSize, 10);\n    }\n\n    if (e.isHorizontal()) {\n      i[0].style.width = l + \"px\";\n    } else {\n      i[0].style.height = l + \"px\";\n    }\n\n    if (s >= 1) {\n      r[0].style.display = \"none\";\n    } else {\n      r[0].style.display = \"\";\n    }\n\n    if (e.params.scrollbar.hide) {\n      r[0].style.opacity = 0;\n    }\n\n    Utils.extend(t, {\n      trackSize: a,\n      divider: s,\n      moveDivider: n,\n      dragSize: l\n    });\n    t.$el[e.params.watchOverflow && e.isLocked ? \"addClass\" : \"removeClass\"](e.params.scrollbar.lockClass);\n  },\n  getPointerPosition: function (e) {\n    var t = this;\n\n    if (t.isHorizontal()) {\n      return e.type === \"touchstart\" || e.type === \"touchmove\" ? e.targetTouches[0].clientX : e.clientX;\n    }\n\n    return e.type === \"touchstart\" || e.type === \"touchmove\" ? e.targetTouches[0].clientY : e.clientY;\n  },\n  setDragPosition: function (e) {\n    var t = this;\n    var i = t.scrollbar,\n        r = t.rtlTranslate;\n    var a = i.$el,\n        s = i.dragSize,\n        n = i.trackSize,\n        l = i.dragStartPos;\n    var o;\n    o = (i.getPointerPosition(e) - a.offset()[t.isHorizontal() ? \"left\" : \"top\"] - (l !== null ? l : s / 2)) / (n - s);\n    o = Math.max(Math.min(o, 1), 0);\n\n    if (r) {\n      o = 1 - o;\n    }\n\n    var d = t.minTranslate() + (t.maxTranslate() - t.minTranslate()) * o;\n    t.updateProgress(d);\n    t.setTranslate(d);\n    t.updateActiveIndex();\n    t.updateSlidesClasses();\n  },\n  onDragStart: function (e) {\n    var t = this;\n    var i = t.params.scrollbar;\n    var r = t.scrollbar,\n        a = t.$wrapperEl;\n    var s = r.$el,\n        n = r.$dragEl;\n    t.scrollbar.isTouched = true;\n    t.scrollbar.dragStartPos = e.target === n[0] || e.target === n ? r.getPointerPosition(e) - e.target.getBoundingClientRect()[t.isHorizontal() ? \"left\" : \"top\"] : null;\n    e.preventDefault();\n    e.stopPropagation();\n    a.transition(100);\n    n.transition(100);\n    r.setDragPosition(e);\n    clearTimeout(t.scrollbar.dragTimeout);\n    s.transition(0);\n\n    if (i.hide) {\n      s.css(\"opacity\", 1);\n    }\n\n    if (t.params.cssMode) {\n      t.$wrapperEl.css(\"scroll-snap-type\", \"none\");\n    }\n\n    t.emit(\"scrollbarDragStart\", e);\n  },\n  onDragMove: function (e) {\n    var t = this;\n    var i = t.scrollbar,\n        r = t.$wrapperEl;\n    var a = i.$el,\n        s = i.$dragEl;\n    if (!t.scrollbar.isTouched) return;\n    if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n    i.setDragPosition(e);\n    r.transition(0);\n    a.transition(0);\n    s.transition(0);\n    t.emit(\"scrollbarDragMove\", e);\n  },\n  onDragEnd: function (e) {\n    var t = this;\n    var i = t.params.scrollbar;\n    var r = t.scrollbar,\n        a = t.$wrapperEl;\n    var s = r.$el;\n    if (!t.scrollbar.isTouched) return;\n    t.scrollbar.isTouched = false;\n\n    if (t.params.cssMode) {\n      t.$wrapperEl.css(\"scroll-snap-type\", \"\");\n      a.transition(\"\");\n    }\n\n    if (i.hide) {\n      clearTimeout(t.scrollbar.dragTimeout);\n      t.scrollbar.dragTimeout = Utils.nextTick(function () {\n        s.css(\"opacity\", 0);\n        s.transition(400);\n      }, 1e3);\n    }\n\n    t.emit(\"scrollbarDragEnd\", e);\n\n    if (i.snapOnRelease) {\n      t.slideToClosest();\n    }\n  },\n  enableDraggable: function () {\n    var e = this;\n    if (!e.params.scrollbar.el) return;\n    var t = e.scrollbar,\n        i = e.touchEventsTouch,\n        r = e.touchEventsDesktop,\n        a = e.params;\n    var s = t.$el;\n    var n = s[0];\n    var l = Support.passiveListener && a.passiveListeners ? {\n      passive: false,\n      capture: false\n    } : false;\n    var o = Support.passiveListener && a.passiveListeners ? {\n      passive: true,\n      capture: false\n    } : false;\n\n    if (!Support.touch) {\n      n.addEventListener(r.start, e.scrollbar.onDragStart, l);\n      doc.addEventListener(r.move, e.scrollbar.onDragMove, l);\n      doc.addEventListener(r.end, e.scrollbar.onDragEnd, o);\n    } else {\n      n.addEventListener(i.start, e.scrollbar.onDragStart, l);\n      n.addEventListener(i.move, e.scrollbar.onDragMove, l);\n      n.addEventListener(i.end, e.scrollbar.onDragEnd, o);\n    }\n  },\n  disableDraggable: function () {\n    var e = this;\n    if (!e.params.scrollbar.el) return;\n    var t = e.scrollbar,\n        i = e.touchEventsTouch,\n        r = e.touchEventsDesktop,\n        a = e.params;\n    var s = t.$el;\n    var n = s[0];\n    var l = Support.passiveListener && a.passiveListeners ? {\n      passive: false,\n      capture: false\n    } : false;\n    var o = Support.passiveListener && a.passiveListeners ? {\n      passive: true,\n      capture: false\n    } : false;\n\n    if (!Support.touch) {\n      n.removeEventListener(r.start, e.scrollbar.onDragStart, l);\n      doc.removeEventListener(r.move, e.scrollbar.onDragMove, l);\n      doc.removeEventListener(r.end, e.scrollbar.onDragEnd, o);\n    } else {\n      n.removeEventListener(i.start, e.scrollbar.onDragStart, l);\n      n.removeEventListener(i.move, e.scrollbar.onDragMove, l);\n      n.removeEventListener(i.end, e.scrollbar.onDragEnd, o);\n    }\n  },\n  init: function () {\n    var e = this;\n    if (!e.params.scrollbar.el) return;\n    var t = e.scrollbar,\n        i = e.$el;\n    var r = e.params.scrollbar;\n    var a = $(r.el);\n\n    if (e.params.uniqueNavElements && typeof r.el === \"string\" && a.length > 1 && i.find(r.el).length === 1) {\n      a = i.find(r.el);\n    }\n\n    var s = a.find(\".\" + e.params.scrollbar.dragClass);\n\n    if (s.length === 0) {\n      s = $('<div class=\"' + e.params.scrollbar.dragClass + '\"></div>');\n      a.append(s);\n    }\n\n    Utils.extend(t, {\n      $el: a,\n      el: a[0],\n      $dragEl: s,\n      dragEl: s[0]\n    });\n\n    if (r.draggable) {\n      t.enableDraggable();\n    }\n  },\n  destroy: function () {\n    var e = this;\n    e.scrollbar.disableDraggable();\n  }\n};\nvar scrollbar = {\n  name: \"scrollbar\",\n  params: {\n    scrollbar: {\n      el: null,\n      dragSize: \"auto\",\n      hide: false,\n      draggable: false,\n      snapOnRelease: true,\n      lockClass: \"swiper-scrollbar-lock\",\n      dragClass: \"swiper-scrollbar-drag\"\n    }\n  },\n  create: function () {\n    var e = this;\n    Utils.extend(e, {\n      scrollbar: {\n        init: Scrollbar.init.bind(e),\n        destroy: Scrollbar.destroy.bind(e),\n        updateSize: Scrollbar.updateSize.bind(e),\n        setTranslate: Scrollbar.setTranslate.bind(e),\n        setTransition: Scrollbar.setTransition.bind(e),\n        enableDraggable: Scrollbar.enableDraggable.bind(e),\n        disableDraggable: Scrollbar.disableDraggable.bind(e),\n        setDragPosition: Scrollbar.setDragPosition.bind(e),\n        getPointerPosition: Scrollbar.getPointerPosition.bind(e),\n        onDragStart: Scrollbar.onDragStart.bind(e),\n        onDragMove: Scrollbar.onDragMove.bind(e),\n        onDragEnd: Scrollbar.onDragEnd.bind(e),\n        isTouched: false,\n        timeout: null,\n        dragTimeout: null\n      }\n    });\n  },\n  on: {\n    init: function () {\n      var e = this;\n      e.scrollbar.init();\n      e.scrollbar.updateSize();\n      e.scrollbar.setTranslate();\n    },\n    update: function () {\n      var e = this;\n      e.scrollbar.updateSize();\n    },\n    resize: function () {\n      var e = this;\n      e.scrollbar.updateSize();\n    },\n    observerUpdate: function () {\n      var e = this;\n      e.scrollbar.updateSize();\n    },\n    setTranslate: function () {\n      var e = this;\n      e.scrollbar.setTranslate();\n    },\n    setTransition: function (e) {\n      var t = this;\n      t.scrollbar.setTransition(e);\n    },\n    destroy: function () {\n      var e = this;\n      e.scrollbar.destroy();\n    }\n  }\n};\nvar Zoom = {\n  getDistanceBetweenTouches: function (e) {\n    if (e.targetTouches.length < 2) return 1;\n    var t = e.targetTouches[0].pageX;\n    var i = e.targetTouches[0].pageY;\n    var r = e.targetTouches[1].pageX;\n    var a = e.targetTouches[1].pageY;\n    var s = Math.sqrt(Math.pow(r - t, 2) + Math.pow(a - i, 2));\n    return s;\n  },\n  onGestureStart: function (e) {\n    var t = this;\n    var i = t.params.zoom;\n    var r = t.zoom;\n    var a = r.gesture;\n    r.fakeGestureTouched = false;\n    r.fakeGestureMoved = false;\n\n    if (!Support.gestures) {\n      if (e.type !== \"touchstart\" || e.type === \"touchstart\" && e.targetTouches.length < 2) {\n        return;\n      }\n\n      r.fakeGestureTouched = true;\n      a.scaleStart = Zoom.getDistanceBetweenTouches(e);\n    }\n\n    if (!a.$slideEl || !a.$slideEl.length) {\n      a.$slideEl = $(e.target).closest(\".\" + t.params.slideClass);\n      if (a.$slideEl.length === 0) a.$slideEl = t.slides.eq(t.activeIndex);\n      a.$imageEl = a.$slideEl.find(\"img, svg, canvas, picture, .swiper-zoom-target\");\n      a.$imageWrapEl = a.$imageEl.parent(\".\" + i.containerClass);\n      a.maxRatio = a.$imageWrapEl.attr(\"data-swiper-zoom\") || i.maxRatio;\n\n      if (a.$imageWrapEl.length === 0) {\n        a.$imageEl = undefined;\n        return;\n      }\n    }\n\n    if (a.$imageEl) {\n      a.$imageEl.transition(0);\n    }\n\n    t.zoom.isScaling = true;\n  },\n  onGestureChange: function (e) {\n    var t = this;\n    var i = t.params.zoom;\n    var r = t.zoom;\n    var a = r.gesture;\n\n    if (!Support.gestures) {\n      if (e.type !== \"touchmove\" || e.type === \"touchmove\" && e.targetTouches.length < 2) {\n        return;\n      }\n\n      r.fakeGestureMoved = true;\n      a.scaleMove = Zoom.getDistanceBetweenTouches(e);\n    }\n\n    if (!a.$imageEl || a.$imageEl.length === 0) return;\n\n    if (Support.gestures) {\n      r.scale = e.scale * r.currentScale;\n    } else {\n      r.scale = a.scaleMove / a.scaleStart * r.currentScale;\n    }\n\n    if (r.scale > a.maxRatio) {\n      r.scale = a.maxRatio - 1 + Math.pow(r.scale - a.maxRatio + 1, .5);\n    }\n\n    if (r.scale < i.minRatio) {\n      r.scale = i.minRatio + 1 - Math.pow(i.minRatio - r.scale + 1, .5);\n    }\n\n    a.$imageEl.transform(\"translate3d(0,0,0) scale(\" + r.scale + \")\");\n  },\n  onGestureEnd: function (e) {\n    var t = this;\n    var i = t.params.zoom;\n    var r = t.zoom;\n    var a = r.gesture;\n\n    if (!Support.gestures) {\n      if (!r.fakeGestureTouched || !r.fakeGestureMoved) {\n        return;\n      }\n\n      if (e.type !== \"touchend\" || e.type === \"touchend\" && e.changedTouches.length < 2 && !Device.android) {\n        return;\n      }\n\n      r.fakeGestureTouched = false;\n      r.fakeGestureMoved = false;\n    }\n\n    if (!a.$imageEl || a.$imageEl.length === 0) return;\n    r.scale = Math.max(Math.min(r.scale, a.maxRatio), i.minRatio);\n    a.$imageEl.transition(t.params.speed).transform(\"translate3d(0,0,0) scale(\" + r.scale + \")\");\n    r.currentScale = r.scale;\n    r.isScaling = false;\n    if (r.scale === 1) a.$slideEl = undefined;\n  },\n  onTouchStart: function (e) {\n    var t = this;\n    var i = t.zoom;\n    var r = i.gesture,\n        a = i.image;\n    if (!r.$imageEl || r.$imageEl.length === 0) return;\n    if (a.isTouched) return;\n    if (Device.android && e.cancelable) e.preventDefault();\n    a.isTouched = true;\n    a.touchesStart.x = e.type === \"touchstart\" ? e.targetTouches[0].pageX : e.pageX;\n    a.touchesStart.y = e.type === \"touchstart\" ? e.targetTouches[0].pageY : e.pageY;\n  },\n  onTouchMove: function (e) {\n    var t = this;\n    var i = t.zoom;\n    var r = i.gesture,\n        a = i.image,\n        s = i.velocity;\n    if (!r.$imageEl || r.$imageEl.length === 0) return;\n    t.allowClick = false;\n    if (!a.isTouched || !r.$slideEl) return;\n\n    if (!a.isMoved) {\n      a.width = r.$imageEl[0].offsetWidth;\n      a.height = r.$imageEl[0].offsetHeight;\n      a.startX = Utils.getTranslate(r.$imageWrapEl[0], \"x\") || 0;\n      a.startY = Utils.getTranslate(r.$imageWrapEl[0], \"y\") || 0;\n      r.slideWidth = r.$slideEl[0].offsetWidth;\n      r.slideHeight = r.$slideEl[0].offsetHeight;\n      r.$imageWrapEl.transition(0);\n\n      if (t.rtl) {\n        a.startX = -a.startX;\n        a.startY = -a.startY;\n      }\n    }\n\n    var n = a.width * i.scale;\n    var l = a.height * i.scale;\n    if (n < r.slideWidth && l < r.slideHeight) return;\n    a.minX = Math.min(r.slideWidth / 2 - n / 2, 0);\n    a.maxX = -a.minX;\n    a.minY = Math.min(r.slideHeight / 2 - l / 2, 0);\n    a.maxY = -a.minY;\n    a.touchesCurrent.x = e.type === \"touchmove\" ? e.targetTouches[0].pageX : e.pageX;\n    a.touchesCurrent.y = e.type === \"touchmove\" ? e.targetTouches[0].pageY : e.pageY;\n\n    if (!a.isMoved && !i.isScaling) {\n      if (t.isHorizontal() && (Math.floor(a.minX) === Math.floor(a.startX) && a.touchesCurrent.x < a.touchesStart.x || Math.floor(a.maxX) === Math.floor(a.startX) && a.touchesCurrent.x > a.touchesStart.x)) {\n        a.isTouched = false;\n        return;\n      }\n\n      if (!t.isHorizontal() && (Math.floor(a.minY) === Math.floor(a.startY) && a.touchesCurrent.y < a.touchesStart.y || Math.floor(a.maxY) === Math.floor(a.startY) && a.touchesCurrent.y > a.touchesStart.y)) {\n        a.isTouched = false;\n        return;\n      }\n    }\n\n    if (e.cancelable) {\n      e.preventDefault();\n    }\n\n    e.stopPropagation();\n    a.isMoved = true;\n    a.currentX = a.touchesCurrent.x - a.touchesStart.x + a.startX;\n    a.currentY = a.touchesCurrent.y - a.touchesStart.y + a.startY;\n\n    if (a.currentX < a.minX) {\n      a.currentX = a.minX + 1 - Math.pow(a.minX - a.currentX + 1, .8);\n    }\n\n    if (a.currentX > a.maxX) {\n      a.currentX = a.maxX - 1 + Math.pow(a.currentX - a.maxX + 1, .8);\n    }\n\n    if (a.currentY < a.minY) {\n      a.currentY = a.minY + 1 - Math.pow(a.minY - a.currentY + 1, .8);\n    }\n\n    if (a.currentY > a.maxY) {\n      a.currentY = a.maxY - 1 + Math.pow(a.currentY - a.maxY + 1, .8);\n    }\n\n    if (!s.prevPositionX) s.prevPositionX = a.touchesCurrent.x;\n    if (!s.prevPositionY) s.prevPositionY = a.touchesCurrent.y;\n    if (!s.prevTime) s.prevTime = Date.now();\n    s.x = (a.touchesCurrent.x - s.prevPositionX) / (Date.now() - s.prevTime) / 2;\n    s.y = (a.touchesCurrent.y - s.prevPositionY) / (Date.now() - s.prevTime) / 2;\n    if (Math.abs(a.touchesCurrent.x - s.prevPositionX) < 2) s.x = 0;\n    if (Math.abs(a.touchesCurrent.y - s.prevPositionY) < 2) s.y = 0;\n    s.prevPositionX = a.touchesCurrent.x;\n    s.prevPositionY = a.touchesCurrent.y;\n    s.prevTime = Date.now();\n    r.$imageWrapEl.transform(\"translate3d(\" + a.currentX + \"px, \" + a.currentY + \"px,0)\");\n  },\n  onTouchEnd: function () {\n    var e = this;\n    var t = e.zoom;\n    var i = t.gesture,\n        r = t.image,\n        a = t.velocity;\n    if (!i.$imageEl || i.$imageEl.length === 0) return;\n\n    if (!r.isTouched || !r.isMoved) {\n      r.isTouched = false;\n      r.isMoved = false;\n      return;\n    }\n\n    r.isTouched = false;\n    r.isMoved = false;\n    var s = 300;\n    var n = 300;\n    var l = a.x * s;\n    var o = r.currentX + l;\n    var d = a.y * n;\n    var u = r.currentY + d;\n    if (a.x !== 0) s = Math.abs((o - r.currentX) / a.x);\n    if (a.y !== 0) n = Math.abs((u - r.currentY) / a.y);\n    var f = Math.max(s, n);\n    r.currentX = o;\n    r.currentY = u;\n    var p = r.width * t.scale;\n    var c = r.height * t.scale;\n    r.minX = Math.min(i.slideWidth / 2 - p / 2, 0);\n    r.maxX = -r.minX;\n    r.minY = Math.min(i.slideHeight / 2 - c / 2, 0);\n    r.maxY = -r.minY;\n    r.currentX = Math.max(Math.min(r.currentX, r.maxX), r.minX);\n    r.currentY = Math.max(Math.min(r.currentY, r.maxY), r.minY);\n    i.$imageWrapEl.transition(f).transform(\"translate3d(\" + r.currentX + \"px, \" + r.currentY + \"px,0)\");\n  },\n  onTransitionEnd: function () {\n    var e = this;\n    var t = e.zoom;\n    var i = t.gesture;\n\n    if (i.$slideEl && e.previousIndex !== e.activeIndex) {\n      if (i.$imageEl) {\n        i.$imageEl.transform(\"translate3d(0,0,0) scale(1)\");\n      }\n\n      if (i.$imageWrapEl) {\n        i.$imageWrapEl.transform(\"translate3d(0,0,0)\");\n      }\n\n      t.scale = 1;\n      t.currentScale = 1;\n      i.$slideEl = undefined;\n      i.$imageEl = undefined;\n      i.$imageWrapEl = undefined;\n    }\n  },\n  toggle: function (e) {\n    var t = this;\n    var i = t.zoom;\n\n    if (i.scale && i.scale !== 1) {\n      i.out();\n    } else {\n      i.in(e);\n    }\n  },\n  in: function (e) {\n    var t = this;\n    var i = t.zoom;\n    var r = t.params.zoom;\n    var a = i.gesture,\n        s = i.image;\n\n    if (!a.$slideEl) {\n      if (t.params.virtual && t.params.virtual.enabled && t.virtual) {\n        a.$slideEl = t.$wrapperEl.children(\".\" + t.params.slideActiveClass);\n      } else {\n        a.$slideEl = t.slides.eq(t.activeIndex);\n      }\n\n      a.$imageEl = a.$slideEl.find(\"img, svg, canvas, picture, .swiper-zoom-target\");\n      a.$imageWrapEl = a.$imageEl.parent(\".\" + r.containerClass);\n    }\n\n    if (!a.$imageEl || a.$imageEl.length === 0) return;\n    a.$slideEl.addClass(\"\" + r.zoomedSlideClass);\n    var n;\n    var l;\n    var o;\n    var d;\n    var u;\n    var f;\n    var p;\n    var c;\n    var v;\n    var h;\n    var m;\n    var g;\n    var w;\n    var b;\n    var y;\n    var S;\n    var T;\n    var E;\n\n    if (typeof s.touchesStart.x === \"undefined\" && e) {\n      n = e.type === \"touchend\" ? e.changedTouches[0].pageX : e.pageX;\n      l = e.type === \"touchend\" ? e.changedTouches[0].pageY : e.pageY;\n    } else {\n      n = s.touchesStart.x;\n      l = s.touchesStart.y;\n    }\n\n    i.scale = a.$imageWrapEl.attr(\"data-swiper-zoom\") || r.maxRatio;\n    i.currentScale = a.$imageWrapEl.attr(\"data-swiper-zoom\") || r.maxRatio;\n\n    if (e) {\n      T = a.$slideEl[0].offsetWidth;\n      E = a.$slideEl[0].offsetHeight;\n      o = a.$slideEl.offset().left;\n      d = a.$slideEl.offset().top;\n      u = o + T / 2 - n;\n      f = d + E / 2 - l;\n      v = a.$imageEl[0].offsetWidth;\n      h = a.$imageEl[0].offsetHeight;\n      m = v * i.scale;\n      g = h * i.scale;\n      w = Math.min(T / 2 - m / 2, 0);\n      b = Math.min(E / 2 - g / 2, 0);\n      y = -w;\n      S = -b;\n      p = u * i.scale;\n      c = f * i.scale;\n\n      if (p < w) {\n        p = w;\n      }\n\n      if (p > y) {\n        p = y;\n      }\n\n      if (c < b) {\n        c = b;\n      }\n\n      if (c > S) {\n        c = S;\n      }\n    } else {\n      p = 0;\n      c = 0;\n    }\n\n    a.$imageWrapEl.transition(300).transform(\"translate3d(\" + p + \"px, \" + c + \"px,0)\");\n    a.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(\" + i.scale + \")\");\n  },\n  out: function () {\n    var e = this;\n    var t = e.zoom;\n    var i = e.params.zoom;\n    var r = t.gesture;\n\n    if (!r.$slideEl) {\n      if (e.params.virtual && e.params.virtual.enabled && e.virtual) {\n        r.$slideEl = e.$wrapperEl.children(\".\" + e.params.slideActiveClass);\n      } else {\n        r.$slideEl = e.slides.eq(e.activeIndex);\n      }\n\n      r.$imageEl = r.$slideEl.find(\"img, svg, canvas, picture, .swiper-zoom-target\");\n      r.$imageWrapEl = r.$imageEl.parent(\".\" + i.containerClass);\n    }\n\n    if (!r.$imageEl || r.$imageEl.length === 0) return;\n    t.scale = 1;\n    t.currentScale = 1;\n    r.$imageWrapEl.transition(300).transform(\"translate3d(0,0,0)\");\n    r.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(1)\");\n    r.$slideEl.removeClass(\"\" + i.zoomedSlideClass);\n    r.$slideEl = undefined;\n  },\n  enable: function () {\n    var e = this;\n    var t = e.zoom;\n    if (t.enabled) return;\n    t.enabled = true;\n    var i = e.touchEvents.start === \"touchstart\" && Support.passiveListener && e.params.passiveListeners ? {\n      passive: true,\n      capture: false\n    } : false;\n    var r = Support.passiveListener ? {\n      passive: false,\n      capture: true\n    } : true;\n    var a = \".\" + e.params.slideClass;\n\n    if (Support.gestures) {\n      e.$wrapperEl.on(\"gesturestart\", a, t.onGestureStart, i);\n      e.$wrapperEl.on(\"gesturechange\", a, t.onGestureChange, i);\n      e.$wrapperEl.on(\"gestureend\", a, t.onGestureEnd, i);\n    } else if (e.touchEvents.start === \"touchstart\") {\n      e.$wrapperEl.on(e.touchEvents.start, a, t.onGestureStart, i);\n      e.$wrapperEl.on(e.touchEvents.move, a, t.onGestureChange, r);\n      e.$wrapperEl.on(e.touchEvents.end, a, t.onGestureEnd, i);\n\n      if (e.touchEvents.cancel) {\n        e.$wrapperEl.on(e.touchEvents.cancel, a, t.onGestureEnd, i);\n      }\n    }\n\n    e.$wrapperEl.on(e.touchEvents.move, \".\" + e.params.zoom.containerClass, t.onTouchMove, r);\n  },\n  disable: function () {\n    var e = this;\n    var t = e.zoom;\n    if (!t.enabled) return;\n    e.zoom.enabled = false;\n    var i = e.touchEvents.start === \"touchstart\" && Support.passiveListener && e.params.passiveListeners ? {\n      passive: true,\n      capture: false\n    } : false;\n    var r = Support.passiveListener ? {\n      passive: false,\n      capture: true\n    } : true;\n    var a = \".\" + e.params.slideClass;\n\n    if (Support.gestures) {\n      e.$wrapperEl.off(\"gesturestart\", a, t.onGestureStart, i);\n      e.$wrapperEl.off(\"gesturechange\", a, t.onGestureChange, i);\n      e.$wrapperEl.off(\"gestureend\", a, t.onGestureEnd, i);\n    } else if (e.touchEvents.start === \"touchstart\") {\n      e.$wrapperEl.off(e.touchEvents.start, a, t.onGestureStart, i);\n      e.$wrapperEl.off(e.touchEvents.move, a, t.onGestureChange, r);\n      e.$wrapperEl.off(e.touchEvents.end, a, t.onGestureEnd, i);\n\n      if (e.touchEvents.cancel) {\n        e.$wrapperEl.off(e.touchEvents.cancel, a, t.onGestureEnd, i);\n      }\n    }\n\n    e.$wrapperEl.off(e.touchEvents.move, \".\" + e.params.zoom.containerClass, t.onTouchMove, r);\n  }\n};\nvar zoom = {\n  name: \"zoom\",\n  params: {\n    zoom: {\n      enabled: false,\n      maxRatio: 3,\n      minRatio: 1,\n      toggle: true,\n      containerClass: \"swiper-zoom-container\",\n      zoomedSlideClass: \"swiper-slide-zoomed\"\n    }\n  },\n  create: function () {\n    var e = this;\n    var t = {\n      enabled: false,\n      scale: 1,\n      currentScale: 1,\n      isScaling: false,\n      gesture: {\n        $slideEl: undefined,\n        slideWidth: undefined,\n        slideHeight: undefined,\n        $imageEl: undefined,\n        $imageWrapEl: undefined,\n        maxRatio: 3\n      },\n      image: {\n        isTouched: undefined,\n        isMoved: undefined,\n        currentX: undefined,\n        currentY: undefined,\n        minX: undefined,\n        minY: undefined,\n        maxX: undefined,\n        maxY: undefined,\n        width: undefined,\n        height: undefined,\n        startX: undefined,\n        startY: undefined,\n        touchesStart: {},\n        touchesCurrent: {}\n      },\n      velocity: {\n        x: undefined,\n        y: undefined,\n        prevPositionX: undefined,\n        prevPositionY: undefined,\n        prevTime: undefined\n      }\n    };\n    \"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out\".split(\" \").forEach(function (i) {\n      t[i] = Zoom[i].bind(e);\n    });\n    Utils.extend(e, {\n      zoom: t\n    });\n    var i = 1;\n    Object.defineProperty(e.zoom, \"scale\", {\n      get: function () {\n        return i;\n      },\n      set: function (t) {\n        if (i !== t) {\n          var r = e.zoom.gesture.$imageEl ? e.zoom.gesture.$imageEl[0] : undefined;\n          var a = e.zoom.gesture.$slideEl ? e.zoom.gesture.$slideEl[0] : undefined;\n          e.emit(\"zoomChange\", t, r, a);\n        }\n\n        i = t;\n      }\n    });\n  },\n  on: {\n    init: function () {\n      var e = this;\n\n      if (e.params.zoom.enabled) {\n        e.zoom.enable();\n      }\n    },\n    destroy: function () {\n      var e = this;\n      e.zoom.disable();\n    },\n    touchStart: function (e) {\n      var t = this;\n      if (!t.zoom.enabled) return;\n      t.zoom.onTouchStart(e);\n    },\n    touchEnd: function (e) {\n      var t = this;\n      if (!t.zoom.enabled) return;\n      t.zoom.onTouchEnd(e);\n    },\n    doubleTap: function (e) {\n      var t = this;\n\n      if (t.params.zoom.enabled && t.zoom.enabled && t.params.zoom.toggle) {\n        t.zoom.toggle(e);\n      }\n    },\n    transitionEnd: function () {\n      var e = this;\n\n      if (e.zoom.enabled && e.params.zoom.enabled) {\n        e.zoom.onTransitionEnd();\n      }\n    },\n    slideChange: function () {\n      var e = this;\n\n      if (e.zoom.enabled && e.params.zoom.enabled && e.params.cssMode) {\n        e.zoom.onTransitionEnd();\n      }\n    }\n  }\n};\nvar Autoplay = {\n  run: function () {\n    var e = this;\n    var t = e.slides.eq(e.activeIndex);\n    var i = e.params.autoplay.delay;\n\n    if (t.attr(\"data-swiper-autoplay\")) {\n      i = t.attr(\"data-swiper-autoplay\") || e.params.autoplay.delay;\n    }\n\n    clearTimeout(e.autoplay.timeout);\n    e.autoplay.timeout = Utils.nextTick(function () {\n      if (e.params.autoplay.reverseDirection) {\n        if (e.params.loop) {\n          e.loopFix();\n          e.slidePrev(e.params.speed, true, true);\n          e.emit(\"autoplay\");\n        } else if (!e.isBeginning) {\n          e.slidePrev(e.params.speed, true, true);\n          e.emit(\"autoplay\");\n        } else if (!e.params.autoplay.stopOnLastSlide) {\n          e.slideTo(e.slides.length - 1, e.params.speed, true, true);\n          e.emit(\"autoplay\");\n        } else {\n          e.autoplay.stop();\n        }\n      } else if (e.params.loop) {\n        e.loopFix();\n        e.slideNext(e.params.speed, true, true);\n        e.emit(\"autoplay\");\n      } else if (!e.isEnd) {\n        e.slideNext(e.params.speed, true, true);\n        e.emit(\"autoplay\");\n      } else if (!e.params.autoplay.stopOnLastSlide) {\n        e.slideTo(0, e.params.speed, true, true);\n        e.emit(\"autoplay\");\n      } else {\n        e.autoplay.stop();\n      }\n\n      if (e.params.cssMode && e.autoplay.running) e.autoplay.run();\n    }, i);\n  },\n  start: function () {\n    var e = this;\n    if (typeof e.autoplay.timeout !== \"undefined\") return false;\n    if (e.autoplay.running) return false;\n    e.autoplay.running = true;\n    e.emit(\"autoplayStart\");\n    e.autoplay.run();\n    return true;\n  },\n  stop: function () {\n    var e = this;\n    if (!e.autoplay.running) return false;\n    if (typeof e.autoplay.timeout === \"undefined\") return false;\n\n    if (e.autoplay.timeout) {\n      clearTimeout(e.autoplay.timeout);\n      e.autoplay.timeout = undefined;\n    }\n\n    e.autoplay.running = false;\n    e.emit(\"autoplayStop\");\n    return true;\n  },\n  pause: function (e) {\n    var t = this;\n    if (!t.autoplay.running) return;\n    if (t.autoplay.paused) return;\n    if (t.autoplay.timeout) clearTimeout(t.autoplay.timeout);\n    t.autoplay.paused = true;\n\n    if (e === 0 || !t.params.autoplay.waitForTransition) {\n      t.autoplay.paused = false;\n      t.autoplay.run();\n    } else {\n      t.$wrapperEl[0].addEventListener(\"transitionend\", t.autoplay.onTransitionEnd);\n      t.$wrapperEl[0].addEventListener(\"webkitTransitionEnd\", t.autoplay.onTransitionEnd);\n    }\n  }\n};\nvar autoplay = {\n  name: \"autoplay\",\n  params: {\n    autoplay: {\n      enabled: false,\n      delay: 3e3,\n      waitForTransition: true,\n      disableOnInteraction: true,\n      stopOnLastSlide: false,\n      reverseDirection: false\n    }\n  },\n  create: function () {\n    var e = this;\n    Utils.extend(e, {\n      autoplay: {\n        running: false,\n        paused: false,\n        run: Autoplay.run.bind(e),\n        start: Autoplay.start.bind(e),\n        stop: Autoplay.stop.bind(e),\n        pause: Autoplay.pause.bind(e),\n        onVisibilityChange: function () {\n          if (document.visibilityState === \"hidden\" && e.autoplay.running) {\n            e.autoplay.pause();\n          }\n\n          if (document.visibilityState === \"visible\" && e.autoplay.paused) {\n            e.autoplay.run();\n            e.autoplay.paused = false;\n          }\n        },\n        onTransitionEnd: function (t) {\n          if (!e || e.destroyed || !e.$wrapperEl) return;\n          if (t.target !== this) return;\n          e.$wrapperEl[0].removeEventListener(\"transitionend\", e.autoplay.onTransitionEnd);\n          e.$wrapperEl[0].removeEventListener(\"webkitTransitionEnd\", e.autoplay.onTransitionEnd);\n          e.autoplay.paused = false;\n\n          if (!e.autoplay.running) {\n            e.autoplay.stop();\n          } else {\n            e.autoplay.run();\n          }\n        }\n      }\n    });\n  },\n  on: {\n    init: function () {\n      var e = this;\n\n      if (e.params.autoplay.enabled) {\n        e.autoplay.start();\n        document.addEventListener(\"visibilitychange\", e.autoplay.onVisibilityChange);\n      }\n    },\n    beforeTransitionStart: function (e, t) {\n      var i = this;\n\n      if (i.autoplay.running) {\n        if (t || !i.params.autoplay.disableOnInteraction) {\n          i.autoplay.pause(e);\n        } else {\n          i.autoplay.stop();\n        }\n      }\n    },\n    sliderFirstMove: function () {\n      var e = this;\n\n      if (e.autoplay.running) {\n        if (e.params.autoplay.disableOnInteraction) {\n          e.autoplay.stop();\n        } else {\n          e.autoplay.pause();\n        }\n      }\n    },\n    touchEnd: function () {\n      var e = this;\n\n      if (e.params.cssMode && e.autoplay.paused && !e.params.autoplay.disableOnInteraction) {\n        e.autoplay.run();\n      }\n    },\n    destroy: function () {\n      var e = this;\n\n      if (e.autoplay.running) {\n        e.autoplay.stop();\n      }\n\n      document.removeEventListener(\"visibilitychange\", e.autoplay.onVisibilityChange);\n    }\n  }\n};\nvar components = [Device$1, Support$1, Browser$1, Resize, Observer$1];\n\nif (typeof Swiper.use === \"undefined\") {\n  Swiper.use = Swiper.Class.use;\n  Swiper.installModule = Swiper.Class.installModule;\n}\n\nSwiper.use(components);\nSwiper.use([pagination, scrollbar, autoplay, keyboard, zoom]);\nexport { Swiper };","map":{"version":3,"sources":["/Users/adekanbidansteve/github/klasha/react-klasha/ionic-test/node_modules/@ionic/core/dist/esm-es5/swiper.bundle-6c5e7804.js"],"names":["__extends","__spreadArray","isObject","e","constructor","Object","extend","t","keys","forEach","i","length","doc","document","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","win","window","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","Dom7","$","r","a","s","n","trim","indexOf","l","innerHTML","push","match","split","nodeType","fn","prototype","Class","unique","addClass","classList","add","removeClass","remove","hasClass","contains","toggleClass","toggle","attr","arguments","getAttribute","undefined","removeAttr","removeAttribute","data","dom7ElementDataStorage","transform","webkitTransform","transition","webkitTransitionDuration","transitionDuration","on","target","dom7EventData","unshift","is","apply","parents","o","d","u","f","p","dom7Listeners","listener","proxyListener","dom7LiveListeners","off","c","splice","dom7proxy","trigger","detail","bubbles","cancelable","filter","dispatchEvent","transitionEnd","call","outerWidth","styles","offsetWidth","parseFloat","outerHeight","offsetHeight","offset","getBoundingClientRect","clientTop","clientLeft","scrollY","scrollTop","scrollX","scrollLeft","top","left","css","each","html","text","textContent","matches","webkitMatchesSelector","msMatchesSelector","index","previousSibling","eq","append","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","prev","previousElementSibling","prevAll","parent","parentNode","closest","find","removeChild","Methods","Utils","deleteProps","nextTick","now","getTranslate","WebKitCSSMatrix","map","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","m42","parseUrlQuery","decodeURIComponent","getOwnPropertyDescriptor","enumerable","Support","touch","DocumentTouch","pointerEvents","PointerEvent","maxTouchPoints","observer","passiveListener","defineProperty","get","gestures","SwiperClass","params","eventsListeners","once","f7proxy","emit","Array","isArray","slice","events","context","useModulesParams","modules","useModules","instance","bind","create","set","use","configurable","installModule","name","proto","static","install","updateSize","$el","width","clientWidth","height","clientHeight","isHorizontal","isVertical","parseInt","size","updateSlides","$wrapperEl","rtlTranslate","wrongRTL","virtual","enabled","slides","slideClass","cssMode","v","slidesOffsetBefore","h","slidesOffsetAfter","m","snapGrid","g","w","spaceBetween","b","y","S","virtualSize","marginLeft","marginTop","marginRight","marginBottom","T","slidesPerColumn","Math","floor","ceil","slidesPerView","slidesPerColumnFill","max","E","x","C","M","P","k","z","D","slidesPerGroup","L","O","I","min","order","A","B","G","roundLengths","X","Y","H","V","W","N","U","F","R","j","q","swiperSlideSize","centeredSlides","abs","slidesPerGroupSkip","_","effect","setWrapperSize","K","centeredSlidesBounds","Z","Q","centerInsufficientSlides","J","ee","slidesGrid","slidesSizesGrid","watchOverflow","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","setTransition","speed","visibleSlides","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","translate","slideVisibleClass","visibleSlidesIndexes","minTranslate","autoHeight","progress","updateProgress","maxTranslate","isBeginning","isEnd","updateSlidesClasses","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","loop","slideDuplicateClass","updateActiveIndex","snapIndex","normalizeSlideIndex","previousIndex","initialized","runCallbacksOnInit","updateClickedSlide","clickedSlide","clickedIndex","slideToClickedSlide","update","virtualTranslate","setTranslate","wrapperEl","previousTranslate","translateTo","animating","preventInteractionOnTransition","scrollTo","behavior","onTranslateToWrapperTransitionEnd","destroyed","transitionStart","transitionEnd$1","transition$1","slideTo","initialSlide","allowSlideNext","allowSlidePrev","scrollWidth","onSlideToWrapperTransitionEnd","slideToLoop","loopedSlides","slideNext","loopFix","_clientLeft","slidePrev","slideReset","slideToClosest","slidesPerViewDynamic","slide","loopCreate","loopFillGroupWithBlank","slideBlankClass","loopAdditionalSlides","cloneNode","loopDestroy","setGrabCursor","simulateTouch","isLocked","el","cursor","unsetGrabCursor","grabCursor","appendSlide","prependSlide","addSlide","removeSlide","removeAllSlides","manipulation","Device","platform","ios","android","androidChrome","desktop","iphone","ipod","ipad","edge","ie","firefox","macos","windows","cordova","phonegap","electron","toLowerCase","os","osVersion","webView","standalone","webview","pixelRatio","devicePixelRatio","onTouchStart","touchEventsData","touches","originalEvent","touchEventsTarget","isTouchEvent","type","which","button","isTouched","isMoved","noSwiping","noSwipingSelector","noSwipingClass","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","startX","startY","touchStartTime","swipeDirection","threshold","allowThresholdMove","formElements","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","preventDefault","onTouchMove","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","sqrt","pow","atan2","PI","touchAngle","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","diff","touchRatio","currentTranslate","resistanceRatio","resistance","followFinger","freeMode","velocities","position","time","onTouchEnd","lastClickTime","freeModeMomentum","pop","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","freeModeMomentumRatio","freeModeMomentumBounceRatio","freeModeMomentumBounce","freeModeSticky","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","breakpoints","setBreakpoint","autoplay","running","paused","run","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","attachEvents","touchEvents","start","move","end","passiveListeners","passive","capture","cancel","updateOnWindowResize","detachEvents","getBreakpoint","currentBreakpoint","originalParams","containerModifierClass","direction","changeDirection","substr","innerHeight","value","point","sort","innerWidth","addClasses","classNames","rtl","removeClasses","classes","loadImage","complete","onload","onerror","sizes","srcset","src","preloadImages","imagesToLoad","imagesLoaded","updateOnImagesReady","currentSrc","images","checkOverflow$1","defaults","init","uniqueNavElements","wrapperClass","prototypes","extendedDefaults","Swiper","passedParams","swiper","shadowRoot","dir","touchEventsTouch","touchEventsDesktop","clickTimeout","destroy","extendDefaults","Device$1","device","Support$1","support","Browser","isEdge","isSafari","isUiWebView","test","Browser$1","browser","Resize","resize","resizeHandler","orientationChangeHandler","Observer","func","MutationObserver","WebkitMutationObserver","attach","requestAnimationFrame","observe","attributes","childList","characterData","observers","observeParents","observeSlideChildren","disconnect","Observer$1","Keyboard","handle","keyCode","charCode","shiftKey","altKey","ctrlKey","metaKey","keyboard","onlyInViewport","returnValue","enable","disable","isEventSupported","implementation","hasFeature","Mousewheel","lastScrollTime","lastEventBeforeSnap","recentWheelEvents","event","normalize","wheelDelta","wheelDeltaY","wheelDeltaX","axis","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","handleMouseEnter","mouseEntered","handleMouseLeave","mousewheel","eventsTarged","releaseOnEdges","forceToAxis","invert","delta","sign","raw","shift","animateSlider","releaseScroll","sensitivity","timeout","autoplayDisableOnInteraction","stop","getTime","Pagination","pagination","paginationType","bullets","dynamicBullets","bulletSize","dynamicMainBullets","dynamicBulletIndex","bulletActiveClass","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarOpposite","progressbarFillClass","renderCustom","lockClass","render","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","clickable","clickableClass","modifierClass","progressbarOppositeClass","hiddenClass","hideOnClick","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","click","Scrollbar","scrollbar","dragSize","trackSize","$dragEl","hide","opacity","display","divider","moveDivider","getPointerPosition","clientX","clientY","setDragPosition","dragStartPos","onDragStart","dragTimeout","onDragMove","onDragEnd","snapOnRelease","enableDraggable","disableDraggable","dragClass","dragEl","draggable","observerUpdate","Zoom","getDistanceBetweenTouches","onGestureStart","zoom","gesture","fakeGestureTouched","fakeGestureMoved","scaleStart","$slideEl","$imageEl","$imageWrapEl","containerClass","maxRatio","isScaling","onGestureChange","scaleMove","scale","currentScale","minRatio","onGestureEnd","image","touchesStart","slideWidth","slideHeight","minX","maxX","minY","maxY","touchesCurrent","prevPositionX","prevPositionY","prevTime","onTransitionEnd","out","in","zoomedSlideClass","touchStart","touchEnd","doubleTap","slideChange","Autoplay","delay","reverseDirection","stopOnLastSlide","pause","waitForTransition","disableOnInteraction","onVisibilityChange","visibilityState","beforeTransitionStart","sliderFirstMove","components"],"mappings":"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","sourcesContent":["import{__extends,__spreadArray}from\"tslib\";function isObject(e){return e!==null&&typeof e===\"object\"&&\"constructor\"in e&&e.constructor===Object}function extend(e,t){if(e===void 0){e={}}if(t===void 0){t={}}Object.keys(t).forEach((function(i){if(typeof e[i]===\"undefined\")e[i]=t[i];else if(isObject(t[i])&&isObject(e[i])&&Object.keys(t[i]).length>0){extend(e[i],t[i])}}))}var doc=typeof document!==\"undefined\"?document:{};var ssrDocument={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:\"\"},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:\"\",host:\"\",hostname:\"\",href:\"\",origin:\"\",pathname:\"\",protocol:\"\",search:\"\"}};extend(doc,ssrDocument);var win=typeof window!==\"undefined\"?window:{};var ssrWindow={document:ssrDocument,navigator:{userAgent:\"\"},location:{hash:\"\",host:\"\",hostname:\"\",href:\"\",origin:\"\",pathname:\"\",protocol:\"\",search:\"\"},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function e(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return\"\"}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}}};extend(win,ssrWindow);var Dom7=function(){function e(e){var t=this;for(var i=0;i<e.length;i+=1){t[i]=e[i]}t.length=e.length;return this}return e}();function $(e,t){var i=[];var r=0;if(e&&!t){if(e instanceof Dom7){return e}}if(e){if(typeof e===\"string\"){var a=void 0;var s=void 0;var n=e.trim();if(n.indexOf(\"<\")>=0&&n.indexOf(\">\")>=0){var l=\"div\";if(n.indexOf(\"<li\")===0)l=\"ul\";if(n.indexOf(\"<tr\")===0)l=\"tbody\";if(n.indexOf(\"<td\")===0||n.indexOf(\"<th\")===0)l=\"tr\";if(n.indexOf(\"<tbody\")===0)l=\"table\";if(n.indexOf(\"<option\")===0)l=\"select\";s=doc.createElement(l);s.innerHTML=n;for(r=0;r<s.childNodes.length;r+=1){i.push(s.childNodes[r])}}else{if(!t&&e[0]===\"#\"&&!e.match(/[ .<>:~]/)){a=[doc.getElementById(e.trim().split(\"#\")[1])]}else{a=(t||doc).querySelectorAll(e.trim())}for(r=0;r<a.length;r+=1){if(a[r])i.push(a[r])}}}else if(e.nodeType||e===win||e===doc){i.push(e)}else if(e.length>0&&e[0].nodeType){for(r=0;r<e.length;r+=1){i.push(e[r])}}}return new Dom7(i)}$.fn=Dom7.prototype;$.Class=Dom7;$.Dom7=Dom7;function unique(e){var t=[];for(var i=0;i<e.length;i+=1){if(t.indexOf(e[i])===-1)t.push(e[i])}return t}function addClass(e){if(typeof e===\"undefined\"){return this}var t=e.split(\" \");for(var i=0;i<t.length;i+=1){for(var r=0;r<this.length;r+=1){if(typeof this[r]!==\"undefined\"&&typeof this[r].classList!==\"undefined\")this[r].classList.add(t[i])}}return this}function removeClass(e){var t=e.split(\" \");for(var i=0;i<t.length;i+=1){for(var r=0;r<this.length;r+=1){if(typeof this[r]!==\"undefined\"&&typeof this[r].classList!==\"undefined\")this[r].classList.remove(t[i])}}return this}function hasClass(e){if(!this[0])return false;return this[0].classList.contains(e)}function toggleClass(e){var t=e.split(\" \");for(var i=0;i<t.length;i+=1){for(var r=0;r<this.length;r+=1){if(typeof this[r]!==\"undefined\"&&typeof this[r].classList!==\"undefined\")this[r].classList.toggle(t[i])}}return this}function attr(e,t){if(arguments.length===1&&typeof e===\"string\"){if(this[0])return this[0].getAttribute(e);return undefined}for(var i=0;i<this.length;i+=1){if(arguments.length===2){this[i].setAttribute(e,t)}else{for(var r in e){this[i][r]=e[r];this[i].setAttribute(r,e[r])}}}return this}function removeAttr(e){for(var t=0;t<this.length;t+=1){this[t].removeAttribute(e)}return this}function data(e,t){var i;if(typeof t===\"undefined\"){i=this[0];if(i){if(i.dom7ElementDataStorage&&e in i.dom7ElementDataStorage){return i.dom7ElementDataStorage[e]}var r=i.getAttribute(\"data-\"+e);if(r){return r}return undefined}return undefined}for(var a=0;a<this.length;a+=1){i=this[a];if(!i.dom7ElementDataStorage)i.dom7ElementDataStorage={};i.dom7ElementDataStorage[e]=t}return this}function transform(e){for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransform=e;i.transform=e}return this}function transition(e){if(typeof e!==\"string\"){e=e+\"ms\"}for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransitionDuration=e;i.transitionDuration=e}return this}function on(){var e=[];for(var t=0;t<arguments.length;t++){e[t]=arguments[t]}var i=e[0],r=e[1],a=e[2],s=e[3];if(typeof e[1]===\"function\"){i=e[0],a=e[1],s=e[2];r=undefined}if(!s)s=false;function n(e){var t=e.target;if(!t)return;var i=e.target.dom7EventData||[];if(i.indexOf(e)<0){i.unshift(e)}if($(t).is(r))a.apply(t,i);else{var s=$(t).parents();for(var n=0;n<s.length;n+=1){if($(s[n]).is(r))a.apply(s[n],i)}}}function l(e){var t=e&&e.target?e.target.dom7EventData||[]:[];if(t.indexOf(e)<0){t.unshift(e)}a.apply(this,t)}var o=i.split(\" \");var d;for(var u=0;u<this.length;u+=1){var f=this[u];if(!r){for(d=0;d<o.length;d+=1){var p=o[d];if(!f.dom7Listeners)f.dom7Listeners={};if(!f.dom7Listeners[p])f.dom7Listeners[p]=[];f.dom7Listeners[p].push({listener:a,proxyListener:l});f.addEventListener(p,l,s)}}else{for(d=0;d<o.length;d+=1){var p=o[d];if(!f.dom7LiveListeners)f.dom7LiveListeners={};if(!f.dom7LiveListeners[p])f.dom7LiveListeners[p]=[];f.dom7LiveListeners[p].push({listener:a,proxyListener:n});f.addEventListener(p,n,s)}}}return this}function off(){var e=[];for(var t=0;t<arguments.length;t++){e[t]=arguments[t]}var i=e[0],r=e[1],a=e[2],s=e[3];if(typeof e[1]===\"function\"){i=e[0],a=e[1],s=e[2];r=undefined}if(!s)s=false;var n=i.split(\" \");for(var l=0;l<n.length;l+=1){var o=n[l];for(var d=0;d<this.length;d+=1){var u=this[d];var f=void 0;if(!r&&u.dom7Listeners){f=u.dom7Listeners[o]}else if(r&&u.dom7LiveListeners){f=u.dom7LiveListeners[o]}if(f&&f.length){for(var p=f.length-1;p>=0;p-=1){var c=f[p];if(a&&c.listener===a){u.removeEventListener(o,c.proxyListener,s);f.splice(p,1)}else if(a&&c.listener&&c.listener.dom7proxy&&c.listener.dom7proxy===a){u.removeEventListener(o,c.proxyListener,s);f.splice(p,1)}else if(!a){u.removeEventListener(o,c.proxyListener,s);f.splice(p,1)}}}}}return this}function trigger(){var e=[];for(var t=0;t<arguments.length;t++){e[t]=arguments[t]}var i=e[0].split(\" \");var r=e[1];for(var a=0;a<i.length;a+=1){var s=i[a];for(var n=0;n<this.length;n+=1){var l=this[n];var o=void 0;try{o=new win.CustomEvent(s,{detail:r,bubbles:true,cancelable:true})}catch(d){o=doc.createEvent(\"Event\");o.initEvent(s,true,true);o.detail=r}l.dom7EventData=e.filter((function(e,t){return t>0}));l.dispatchEvent(o);l.dom7EventData=[];delete l.dom7EventData}}return this}function transitionEnd(e){var t=[\"webkitTransitionEnd\",\"transitionend\"];var i=this;var r;function a(s){if(s.target!==this)return;e.call(this,s);for(r=0;r<t.length;r+=1){i.off(t[r],a)}}if(e){for(r=0;r<t.length;r+=1){i.on(t[r],a)}}return this}function outerWidth(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue(\"margin-right\"))+parseFloat(t.getPropertyValue(\"margin-left\"))}return this[0].offsetWidth}return null}function outerHeight(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue(\"margin-top\"))+parseFloat(t.getPropertyValue(\"margin-bottom\"))}return this[0].offsetHeight}return null}function offset(){if(this.length>0){var e=this[0];var t=e.getBoundingClientRect();var i=doc.body;var r=e.clientTop||i.clientTop||0;var a=e.clientLeft||i.clientLeft||0;var s=e===win?win.scrollY:e.scrollTop;var n=e===win?win.scrollX:e.scrollLeft;return{top:t.top+s-r,left:t.left+n-a}}return null}function styles(){if(this[0])return win.getComputedStyle(this[0],null);return{}}function css(e,t){var i;if(arguments.length===1){if(typeof e===\"string\"){if(this[0])return win.getComputedStyle(this[0],null).getPropertyValue(e)}else{for(i=0;i<this.length;i+=1){for(var r in e){this[i].style[r]=e[r]}}return this}}if(arguments.length===2&&typeof e===\"string\"){for(i=0;i<this.length;i+=1){this[i].style[e]=t}return this}return this}function each(e){if(!e)return this;for(var t=0;t<this.length;t+=1){if(e.call(this[t],t,this[t])===false){return this}}return this}function filter(e){var t=[];var i=this;for(var r=0;r<i.length;r+=1){if(e.call(i[r],r,i[r]))t.push(i[r])}return new Dom7(t)}function html(e){if(typeof e===\"undefined\"){return this[0]?this[0].innerHTML:undefined}for(var t=0;t<this.length;t+=1){this[t].innerHTML=e}return this}function text(e){if(typeof e===\"undefined\"){if(this[0]){return this[0].textContent.trim()}return null}for(var t=0;t<this.length;t+=1){this[t].textContent=e}return this}function is(e){var t=this[0];var i;var r;if(!t||typeof e===\"undefined\")return false;if(typeof e===\"string\"){if(t.matches)return t.matches(e);else if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e);else if(t.msMatchesSelector)return t.msMatchesSelector(e);i=$(e);for(r=0;r<i.length;r+=1){if(i[r]===t)return true}return false}else if(e===doc)return t===doc;else if(e===win)return t===win;if(e.nodeType||e instanceof Dom7){i=e.nodeType?[e]:e;for(r=0;r<i.length;r+=1){if(i[r]===t)return true}return false}return false}function index(){var e=this[0];var t;if(e){t=0;while((e=e.previousSibling)!==null){if(e.nodeType===1)t+=1}return t}return undefined}function eq(e){if(typeof e===\"undefined\")return this;var t=this.length;var i;if(e>t-1){return new Dom7([])}if(e<0){i=t+e;if(i<0)return new Dom7([]);return new Dom7([this[i]])}return new Dom7([this[e]])}function append(){var e=[];for(var t=0;t<arguments.length;t++){e[t]=arguments[t]}var i;for(var r=0;r<e.length;r+=1){i=e[r];for(var a=0;a<this.length;a+=1){if(typeof i===\"string\"){var s=doc.createElement(\"div\");s.innerHTML=i;while(s.firstChild){this[a].appendChild(s.firstChild)}}else if(i instanceof Dom7){for(var n=0;n<i.length;n+=1){this[a].appendChild(i[n])}}else{this[a].appendChild(i)}}}return this}function prepend(e){var t;var i;for(t=0;t<this.length;t+=1){if(typeof e===\"string\"){var r=doc.createElement(\"div\");r.innerHTML=e;for(i=r.childNodes.length-1;i>=0;i-=1){this[t].insertBefore(r.childNodes[i],this[t].childNodes[0])}}else if(e instanceof Dom7){for(i=0;i<e.length;i+=1){this[t].insertBefore(e[i],this[t].childNodes[0])}}else{this[t].insertBefore(e,this[t].childNodes[0])}}return this}function next(e){if(this.length>0){if(e){if(this[0].nextElementSibling&&$(this[0].nextElementSibling).is(e)){return new Dom7([this[0].nextElementSibling])}return new Dom7([])}if(this[0].nextElementSibling)return new Dom7([this[0].nextElementSibling]);return new Dom7([])}return new Dom7([])}function nextAll(e){var t=[];var i=this[0];if(!i)return new Dom7([]);while(i.nextElementSibling){var r=i.nextElementSibling;if(e){if($(r).is(e))t.push(r)}else t.push(r);i=r}return new Dom7(t)}function prev(e){if(this.length>0){var t=this[0];if(e){if(t.previousElementSibling&&$(t.previousElementSibling).is(e)){return new Dom7([t.previousElementSibling])}return new Dom7([])}if(t.previousElementSibling)return new Dom7([t.previousElementSibling]);return new Dom7([])}return new Dom7([])}function prevAll(e){var t=[];var i=this[0];if(!i)return new Dom7([]);while(i.previousElementSibling){var r=i.previousElementSibling;if(e){if($(r).is(e))t.push(r)}else t.push(r);i=r}return new Dom7(t)}function parent(e){var t=[];for(var i=0;i<this.length;i+=1){if(this[i].parentNode!==null){if(e){if($(this[i].parentNode).is(e))t.push(this[i].parentNode)}else{t.push(this[i].parentNode)}}}return $(unique(t))}function parents(e){var t=[];for(var i=0;i<this.length;i+=1){var r=this[i].parentNode;while(r){if(e){if($(r).is(e))t.push(r)}else{t.push(r)}r=r.parentNode}}return $(unique(t))}function closest(e){var t=this;if(typeof e===\"undefined\"){return new Dom7([])}if(!t.is(e)){t=t.parents(e).eq(0)}return t}function find(e){var t=[];for(var i=0;i<this.length;i+=1){var r=this[i].querySelectorAll(e);for(var a=0;a<r.length;a+=1){t.push(r[a])}}return new Dom7(t)}function children(e){var t=[];for(var i=0;i<this.length;i+=1){var r=this[i].childNodes;for(var a=0;a<r.length;a+=1){if(!e){if(r[a].nodeType===1)t.push(r[a])}else if(r[a].nodeType===1&&$(r[a]).is(e)){t.push(r[a])}}}return new Dom7(unique(t))}function remove(){for(var e=0;e<this.length;e+=1){if(this[e].parentNode)this[e].parentNode.removeChild(this[e])}return this}function add(){var e=[];for(var t=0;t<arguments.length;t++){e[t]=arguments[t]}var i=this;var r;var a;for(r=0;r<e.length;r+=1){var s=$(e[r]);for(a=0;a<s.length;a+=1){i[i.length]=s[a];i.length+=1}}return i}var Methods={addClass:addClass,removeClass:removeClass,hasClass:hasClass,toggleClass:toggleClass,attr:attr,removeAttr:removeAttr,data:data,transform:transform,transition:transition,on:on,off:off,trigger:trigger,transitionEnd:transitionEnd,outerWidth:outerWidth,outerHeight:outerHeight,offset:offset,css:css,each:each,html:html,text:text,is:is,index:index,eq:eq,append:append,prepend:prepend,next:next,nextAll:nextAll,prev:prev,prevAll:prevAll,parent:parent,parents:parents,closest:closest,find:find,children:children,filter:filter,remove:remove,add:add,styles:styles};Object.keys(Methods).forEach((function(e){$.fn[e]=$.fn[e]||Methods[e]}));var Utils={deleteProps:function(e){var t=e;Object.keys(t).forEach((function(e){try{t[e]=null}catch(i){}try{delete t[e]}catch(i){}}))},nextTick:function(e,t){if(t===void 0){t=0}return setTimeout(e,t)},now:function(){return Date.now()},getTranslate:function(e,t){if(t===void 0){t=\"x\"}var i;var r;var a;var s=win.getComputedStyle(e,null);if(win.WebKitCSSMatrix){r=s.transform||s.webkitTransform;if(r.split(\",\").length>6){r=r.split(\", \").map((function(e){return e.replace(\",\",\".\")})).join(\", \")}a=new win.WebKitCSSMatrix(r===\"none\"?\"\":r)}else{a=s.MozTransform||s.OTransform||s.MsTransform||s.msTransform||s.transform||s.getPropertyValue(\"transform\").replace(\"translate(\",\"matrix(1, 0, 0, 1,\");i=a.toString().split(\",\")}if(t===\"x\"){if(win.WebKitCSSMatrix)r=a.m41;else if(i.length===16)r=parseFloat(i[12]);else r=parseFloat(i[4])}if(t===\"y\"){if(win.WebKitCSSMatrix)r=a.m42;else if(i.length===16)r=parseFloat(i[13]);else r=parseFloat(i[5])}return r||0},parseUrlQuery:function(e){var t={};var i=e||win.location.href;var r;var a;var s;var n;if(typeof i===\"string\"&&i.length){i=i.indexOf(\"?\")>-1?i.replace(/\\S*\\?/,\"\"):\"\";a=i.split(\"&\").filter((function(e){return e!==\"\"}));n=a.length;for(r=0;r<n;r+=1){s=a[r].replace(/#\\S+/g,\"\").split(\"=\");t[decodeURIComponent(s[0])]=typeof s[1]===\"undefined\"?undefined:decodeURIComponent(s[1])||\"\"}}return t},isObject:function(e){return typeof e===\"object\"&&e!==null&&e.constructor&&e.constructor===Object},extend:function(){var e=[];for(var t=0;t<arguments.length;t++){e[t]=arguments[t]}var i=Object(e[0]);var r=[\"__proto__\",\"constructor\",\"prototype\"];for(var a=1;a<e.length;a+=1){var s=e[a];if(s!==undefined&&s!==null){var n=Object.keys(Object(s)).filter((function(e){return r.indexOf(e)<0}));for(var l=0,o=n.length;l<o;l+=1){var d=n[l];var u=Object.getOwnPropertyDescriptor(s,d);if(u!==undefined&&u.enumerable){if(Utils.isObject(i[d])&&Utils.isObject(s[d])){Utils.extend(i[d],s[d])}else if(!Utils.isObject(i[d])&&Utils.isObject(s[d])){i[d]={};Utils.extend(i[d],s[d])}else{i[d]=s[d]}}}}}return i}};var Support=function e(){return{touch:!!(\"ontouchstart\"in win||win.DocumentTouch&&doc instanceof win.DocumentTouch),pointerEvents:!!win.PointerEvent&&\"maxTouchPoints\"in win.navigator&&win.navigator.maxTouchPoints>=0,observer:function e(){return\"MutationObserver\"in win||\"WebkitMutationObserver\"in win}(),passiveListener:function e(){var t=false;try{var i=Object.defineProperty({},\"passive\",{get:function(){t=true}});win.addEventListener(\"testPassiveListener\",null,i)}catch(r){}return t}(),gestures:function e(){return\"ongesturestart\"in win}()}}();var SwiperClass=function(){function e(e){if(e===void 0){e={}}var t=this;t.params=e;t.eventsListeners={};if(t.params&&t.params.on){Object.keys(t.params.on).forEach((function(e){t.on(e,t.params.on[e])}))}}e.prototype.on=function(e,t,i){var r=this;if(typeof t!==\"function\")return r;var a=i?\"unshift\":\"push\";e.split(\" \").forEach((function(e){if(!r.eventsListeners[e])r.eventsListeners[e]=[];r.eventsListeners[e][a](t)}));return r};e.prototype.once=function(e,t,i){var r=this;if(typeof t!==\"function\")return r;function a(){var i=[];for(var s=0;s<arguments.length;s++){i[s]=arguments[s]}r.off(e,a);if(a.f7proxy){delete a.f7proxy}t.apply(r,i)}a.f7proxy=t;return r.on(e,a,i)};e.prototype.off=function(e,t){var i=this;if(!i.eventsListeners)return i;e.split(\" \").forEach((function(e){if(typeof t===\"undefined\"){i.eventsListeners[e]=[]}else if(i.eventsListeners[e]&&i.eventsListeners[e].length){i.eventsListeners[e].forEach((function(r,a){if(r===t||r.f7proxy&&r.f7proxy===t){i.eventsListeners[e].splice(a,1)}}))}}));return i};e.prototype.emit=function(){var e=[];for(var t=0;t<arguments.length;t++){e[t]=arguments[t]}var i=this;if(!i.eventsListeners)return i;var r;var a;var s;if(typeof e[0]===\"string\"||Array.isArray(e[0])){r=e[0];a=e.slice(1,e.length);s=i}else{r=e[0].events;a=e[0].data;s=e[0].context||i}var n=Array.isArray(r)?r:r.split(\" \");n.forEach((function(e){if(i.eventsListeners&&i.eventsListeners[e]){var t=[];i.eventsListeners[e].forEach((function(e){t.push(e)}));t.forEach((function(e){e.apply(s,a)}))}}));return i};e.prototype.useModulesParams=function(e){var t=this;if(!t.modules)return;Object.keys(t.modules).forEach((function(i){var r=t.modules[i];if(r.params){Utils.extend(e,r.params)}}))};e.prototype.useModules=function(e){if(e===void 0){e={}}var t=this;if(!t.modules)return;Object.keys(t.modules).forEach((function(i){var r=t.modules[i];var a=e[i]||{};if(r.instance){Object.keys(r.instance).forEach((function(e){var i=r.instance[e];if(typeof i===\"function\"){t[e]=i.bind(t)}else{t[e]=i}}))}if(r.on&&t.on){Object.keys(r.on).forEach((function(e){t.on(e,r.on[e])}))}if(r.create){r.create.bind(t)(a)}}))};Object.defineProperty(e,\"components\",{set:function(e){var t=this;if(!t.use)return;t.use(e)},enumerable:false,configurable:true});e.installModule=function(e){var t=[];for(var i=1;i<arguments.length;i++){t[i-1]=arguments[i]}var r=this;if(!r.prototype.modules)r.prototype.modules={};var a=e.name||Object.keys(r.prototype.modules).length+\"_\"+Utils.now();r.prototype.modules[a]=e;if(e.proto){Object.keys(e.proto).forEach((function(t){r.prototype[t]=e.proto[t]}))}if(e.static){Object.keys(e.static).forEach((function(t){r[t]=e.static[t]}))}if(e.install){e.install.apply(r,t)}return r};e.use=function(e){var t=[];for(var i=1;i<arguments.length;i++){t[i-1]=arguments[i]}var r=this;if(Array.isArray(e)){e.forEach((function(e){return r.installModule(e)}));return r}return r.installModule.apply(r,__spreadArray([e],t))};return e}();function updateSize(){var e=this;var t;var i;var r=e.$el;if(typeof e.params.width!==\"undefined\"){t=e.params.width}else{t=r[0].clientWidth}if(typeof e.params.height!==\"undefined\"){i=e.params.height}else{i=r[0].clientHeight}if(t===0&&e.isHorizontal()||i===0&&e.isVertical()){return}t=t-parseInt(r.css(\"padding-left\"),10)-parseInt(r.css(\"padding-right\"),10);i=i-parseInt(r.css(\"padding-top\"),10)-parseInt(r.css(\"padding-bottom\"),10);Utils.extend(e,{width:t,height:i,size:e.isHorizontal()?t:i})}function updateSlides(){var e=this;var t=e.params;var i=e.$wrapperEl,r=e.size,a=e.rtlTranslate,s=e.wrongRTL;var n=e.virtual&&t.virtual.enabled;var l=n?e.virtual.slides.length:e.slides.length;var o=i.children(\".\"+e.params.slideClass);var d=n?e.virtual.slides.length:o.length;var u=[];var f=[];var p=[];function c(e){if(!t.cssMode)return true;if(e===o.length-1){return false}return true}var v=t.slidesOffsetBefore;if(typeof v===\"function\"){v=t.slidesOffsetBefore.call(e)}var h=t.slidesOffsetAfter;if(typeof h===\"function\"){h=t.slidesOffsetAfter.call(e)}var m=e.snapGrid.length;var g=e.snapGrid.length;var w=t.spaceBetween;var b=-v;var y=0;var S=0;if(typeof r===\"undefined\"){return}if(typeof w===\"string\"&&w.indexOf(\"%\")>=0){w=parseFloat(w.replace(\"%\",\"\"))/100*r}e.virtualSize=-w;if(a)o.css({marginLeft:\"\",marginTop:\"\"});else o.css({marginRight:\"\",marginBottom:\"\"});var T;if(t.slidesPerColumn>1){if(Math.floor(d/t.slidesPerColumn)===d/e.params.slidesPerColumn){T=d}else{T=Math.ceil(d/t.slidesPerColumn)*t.slidesPerColumn}if(t.slidesPerView!==\"auto\"&&t.slidesPerColumnFill===\"row\"){T=Math.max(T,t.slidesPerView*t.slidesPerColumn)}}var E;var x=t.slidesPerColumn;var C=T/x;var M=Math.floor(d/t.slidesPerColumn);for(var $=0;$<d;$+=1){E=0;var P=o.eq($);if(t.slidesPerColumn>1){var k=void 0;var z=void 0;var D=void 0;if(t.slidesPerColumnFill===\"row\"&&t.slidesPerGroup>1){var L=Math.floor($/(t.slidesPerGroup*t.slidesPerColumn));var O=$-t.slidesPerColumn*t.slidesPerGroup*L;var I=L===0?t.slidesPerGroup:Math.min(Math.ceil((d-L*x*t.slidesPerGroup)/x),t.slidesPerGroup);D=Math.floor(O/I);z=O-D*I+L*t.slidesPerGroup;k=z+D*T/x;P.css({\"-webkit-box-ordinal-group\":k,\"-moz-box-ordinal-group\":k,\"-ms-flex-order\":k,\"-webkit-order\":k,order:k})}else if(t.slidesPerColumnFill===\"column\"){z=Math.floor($/x);D=$-z*x;if(z>M||z===M&&D===x-1){D+=1;if(D>=x){D=0;z+=1}}}else{D=Math.floor($/C);z=$-D*C}P.css(\"margin-\"+(e.isHorizontal()?\"top\":\"left\"),D!==0&&t.spaceBetween&&t.spaceBetween+\"px\")}if(P.css(\"display\")===\"none\")continue;if(t.slidesPerView===\"auto\"){var A=win.getComputedStyle(P[0],null);var B=P[0].style.transform;var G=P[0].style.webkitTransform;if(B){P[0].style.transform=\"none\"}if(G){P[0].style.webkitTransform=\"none\"}if(t.roundLengths){E=e.isHorizontal()?P.outerWidth(true):P.outerHeight(true)}else{if(e.isHorizontal()){var X=parseFloat(A.getPropertyValue(\"width\"));var Y=parseFloat(A.getPropertyValue(\"padding-left\"));var H=parseFloat(A.getPropertyValue(\"padding-right\"));var V=parseFloat(A.getPropertyValue(\"margin-left\"));var W=parseFloat(A.getPropertyValue(\"margin-right\"));var N=A.getPropertyValue(\"box-sizing\");if(N&&N===\"border-box\"){E=X+V+W}else{E=X+Y+H+V+W}}else{var U=parseFloat(A.getPropertyValue(\"height\"));var F=parseFloat(A.getPropertyValue(\"padding-top\"));var R=parseFloat(A.getPropertyValue(\"padding-bottom\"));var j=parseFloat(A.getPropertyValue(\"margin-top\"));var q=parseFloat(A.getPropertyValue(\"margin-bottom\"));var N=A.getPropertyValue(\"box-sizing\");if(N&&N===\"border-box\"){E=U+j+q}else{E=U+F+R+j+q}}}if(B){P[0].style.transform=B}if(G){P[0].style.webkitTransform=G}if(t.roundLengths)E=Math.floor(E)}else{E=(r-(t.slidesPerView-1)*w)/t.slidesPerView;if(t.roundLengths)E=Math.floor(E);if(o[$]){if(e.isHorizontal()){o[$].style.width=E+\"px\"}else{o[$].style.height=E+\"px\"}}}if(o[$]){o[$].swiperSlideSize=E}p.push(E);if(t.centeredSlides){b=b+E/2+y/2+w;if(y===0&&$!==0)b=b-r/2-w;if($===0)b=b-r/2-w;if(Math.abs(b)<1/1e3)b=0;if(t.roundLengths)b=Math.floor(b);if(S%t.slidesPerGroup===0)u.push(b);f.push(b)}else{if(t.roundLengths)b=Math.floor(b);if((S-Math.min(e.params.slidesPerGroupSkip,S))%e.params.slidesPerGroup===0)u.push(b);f.push(b);b=b+E+w}e.virtualSize+=E+w;y=E;S+=1}e.virtualSize=Math.max(e.virtualSize,r)+h;var _;if(a&&s&&(t.effect===\"slide\"||t.effect===\"coverflow\")){i.css({width:e.virtualSize+t.spaceBetween+\"px\"})}if(t.setWrapperSize){if(e.isHorizontal())i.css({width:e.virtualSize+t.spaceBetween+\"px\"});else i.css({height:e.virtualSize+t.spaceBetween+\"px\"})}if(t.slidesPerColumn>1){e.virtualSize=(E+t.spaceBetween)*T;e.virtualSize=Math.ceil(e.virtualSize/t.slidesPerColumn)-t.spaceBetween;if(e.isHorizontal())i.css({width:e.virtualSize+t.spaceBetween+\"px\"});else i.css({height:e.virtualSize+t.spaceBetween+\"px\"});if(t.centeredSlides){_=[];for(var $=0;$<u.length;$+=1){var K=u[$];if(t.roundLengths)K=Math.floor(K);if(u[$]<e.virtualSize+u[0])_.push(K)}u=_}}if(!t.centeredSlides){_=[];for(var $=0;$<u.length;$+=1){var K=u[$];if(t.roundLengths)K=Math.floor(K);if(u[$]<=e.virtualSize-r){_.push(K)}}u=_;if(Math.floor(e.virtualSize-r)-Math.floor(u[u.length-1])>1){u.push(e.virtualSize-r)}}if(u.length===0)u=[0];if(t.spaceBetween!==0){if(e.isHorizontal()){if(a)o.filter(c).css({marginLeft:w+\"px\"});else o.filter(c).css({marginRight:w+\"px\"})}else o.filter(c).css({marginBottom:w+\"px\"})}if(t.centeredSlides&&t.centeredSlidesBounds){var Z=0;p.forEach((function(e){Z+=e+(t.spaceBetween?t.spaceBetween:0)}));Z-=t.spaceBetween;var Q=Z-r;u=u.map((function(e){if(e<0)return-v;if(e>Q)return Q+h;return e}))}if(t.centerInsufficientSlides){var J=0;p.forEach((function(e){J+=e+(t.spaceBetween?t.spaceBetween:0)}));J-=t.spaceBetween;if(J<r){var ee=(r-J)/2;u.forEach((function(e,t){u[t]=e-ee}));f.forEach((function(e,t){f[t]=e+ee}))}}Utils.extend(e,{slides:o,snapGrid:u,slidesGrid:f,slidesSizesGrid:p});if(d!==l){e.emit(\"slidesLengthChange\")}if(u.length!==m){if(e.params.watchOverflow)e.checkOverflow();e.emit(\"snapGridLengthChange\")}if(f.length!==g){e.emit(\"slidesGridLengthChange\")}if(t.watchSlidesProgress||t.watchSlidesVisibility){e.updateSlidesOffset()}}function updateAutoHeight(e){var t=this;var i=[];var r=0;var a;if(typeof e===\"number\"){t.setTransition(e)}else if(e===true){t.setTransition(t.params.speed)}if(t.params.slidesPerView!==\"auto\"&&t.params.slidesPerView>1){if(t.params.centeredSlides){t.visibleSlides.each((function(e,t){i.push(t)}))}else{for(a=0;a<Math.ceil(t.params.slidesPerView);a+=1){var s=t.activeIndex+a;if(s>t.slides.length)break;i.push(t.slides.eq(s)[0])}}}else{i.push(t.slides.eq(t.activeIndex)[0])}for(a=0;a<i.length;a+=1){if(typeof i[a]!==\"undefined\"){var n=i[a].offsetHeight;r=n>r?n:r}}if(r)t.$wrapperEl.css(\"height\",r+\"px\")}function updateSlidesOffset(){var e=this;var t=e.slides;for(var i=0;i<t.length;i+=1){t[i].swiperSlideOffset=e.isHorizontal()?t[i].offsetLeft:t[i].offsetTop}}function updateSlidesProgress(e){if(e===void 0){e=this&&this.translate||0}var t=this;var i=t.params;var r=t.slides,a=t.rtlTranslate;if(r.length===0)return;if(typeof r[0].swiperSlideOffset===\"undefined\")t.updateSlidesOffset();var s=-e;if(a)s=e;r.removeClass(i.slideVisibleClass);t.visibleSlidesIndexes=[];t.visibleSlides=[];for(var n=0;n<r.length;n+=1){var l=r[n];var o=(s+(i.centeredSlides?t.minTranslate():0)-l.swiperSlideOffset)/(l.swiperSlideSize+i.spaceBetween);if(i.watchSlidesVisibility||i.centeredSlides&&i.autoHeight){var d=-(s-l.swiperSlideOffset);var u=d+t.slidesSizesGrid[n];var f=d>=0&&d<t.size-1||u>1&&u<=t.size||d<=0&&u>=t.size;if(f){t.visibleSlides.push(l);t.visibleSlidesIndexes.push(n);r.eq(n).addClass(i.slideVisibleClass)}}l.progress=a?-o:o}t.visibleSlides=$(t.visibleSlides)}function updateProgress(e){var t=this;if(typeof e===\"undefined\"){var i=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*i||0}var r=t.params;var a=t.maxTranslate()-t.minTranslate();var s=t.progress,n=t.isBeginning,l=t.isEnd;var o=n;var d=l;if(a===0){s=0;n=true;l=true}else{s=(e-t.minTranslate())/a;n=s<=0;l=s>=1}Utils.extend(t,{progress:s,isBeginning:n,isEnd:l});if(r.watchSlidesProgress||r.watchSlidesVisibility||r.centeredSlides&&r.autoHeight)t.updateSlidesProgress(e);if(n&&!o){t.emit(\"reachBeginning toEdge\")}if(l&&!d){t.emit(\"reachEnd toEdge\")}if(o&&!n||d&&!l){t.emit(\"fromEdge\")}t.emit(\"progress\",s)}function updateSlidesClasses(){var e=this;var t=e.slides,i=e.params,r=e.$wrapperEl,a=e.activeIndex,s=e.realIndex;var n=e.virtual&&i.virtual.enabled;t.removeClass(i.slideActiveClass+\" \"+i.slideNextClass+\" \"+i.slidePrevClass+\" \"+i.slideDuplicateActiveClass+\" \"+i.slideDuplicateNextClass+\" \"+i.slideDuplicatePrevClass);var l;if(n){l=e.$wrapperEl.find(\".\"+i.slideClass+'[data-swiper-slide-index=\"'+a+'\"]')}else{l=t.eq(a)}l.addClass(i.slideActiveClass);if(i.loop){if(l.hasClass(i.slideDuplicateClass)){r.children(\".\"+i.slideClass+\":not(.\"+i.slideDuplicateClass+')[data-swiper-slide-index=\"'+s+'\"]').addClass(i.slideDuplicateActiveClass)}else{r.children(\".\"+i.slideClass+\".\"+i.slideDuplicateClass+'[data-swiper-slide-index=\"'+s+'\"]').addClass(i.slideDuplicateActiveClass)}}var o=l.nextAll(\".\"+i.slideClass).eq(0).addClass(i.slideNextClass);if(i.loop&&o.length===0){o=t.eq(0);o.addClass(i.slideNextClass)}var d=l.prevAll(\".\"+i.slideClass).eq(0).addClass(i.slidePrevClass);if(i.loop&&d.length===0){d=t.eq(-1);d.addClass(i.slidePrevClass)}if(i.loop){if(o.hasClass(i.slideDuplicateClass)){r.children(\".\"+i.slideClass+\":not(.\"+i.slideDuplicateClass+')[data-swiper-slide-index=\"'+o.attr(\"data-swiper-slide-index\")+'\"]').addClass(i.slideDuplicateNextClass)}else{r.children(\".\"+i.slideClass+\".\"+i.slideDuplicateClass+'[data-swiper-slide-index=\"'+o.attr(\"data-swiper-slide-index\")+'\"]').addClass(i.slideDuplicateNextClass)}if(d.hasClass(i.slideDuplicateClass)){r.children(\".\"+i.slideClass+\":not(.\"+i.slideDuplicateClass+')[data-swiper-slide-index=\"'+d.attr(\"data-swiper-slide-index\")+'\"]').addClass(i.slideDuplicatePrevClass)}else{r.children(\".\"+i.slideClass+\".\"+i.slideDuplicateClass+'[data-swiper-slide-index=\"'+d.attr(\"data-swiper-slide-index\")+'\"]').addClass(i.slideDuplicatePrevClass)}}}function updateActiveIndex(e){var t=this;var i=t.rtlTranslate?t.translate:-t.translate;var r=t.slidesGrid,a=t.snapGrid,s=t.params,n=t.activeIndex,l=t.realIndex,o=t.snapIndex;var d=e;var u;if(typeof d===\"undefined\"){for(var f=0;f<r.length;f+=1){if(typeof r[f+1]!==\"undefined\"){if(i>=r[f]&&i<r[f+1]-(r[f+1]-r[f])/2){d=f}else if(i>=r[f]&&i<r[f+1]){d=f+1}}else if(i>=r[f]){d=f}}if(s.normalizeSlideIndex){if(d<0||typeof d===\"undefined\")d=0}}if(a.indexOf(i)>=0){u=a.indexOf(i)}else{var p=Math.min(s.slidesPerGroupSkip,d);u=p+Math.floor((d-p)/s.slidesPerGroup)}if(u>=a.length)u=a.length-1;if(d===n){if(u!==o){t.snapIndex=u;t.emit(\"snapIndexChange\")}return}var c=parseInt(t.slides.eq(d).attr(\"data-swiper-slide-index\")||d,10);Utils.extend(t,{snapIndex:u,realIndex:c,previousIndex:n,activeIndex:d});t.emit(\"activeIndexChange\");t.emit(\"snapIndexChange\");if(l!==c){t.emit(\"realIndexChange\")}if(t.initialized||t.params.runCallbacksOnInit){t.emit(\"slideChange\")}}function updateClickedSlide(e){var t=this;var i=t.params;var r=$(e.target).closest(\".\"+i.slideClass)[0];var a=false;if(r){for(var s=0;s<t.slides.length;s+=1){if(t.slides[s]===r)a=true}}if(r&&a){t.clickedSlide=r;if(t.virtual&&t.params.virtual.enabled){t.clickedIndex=parseInt($(r).attr(\"data-swiper-slide-index\"),10)}else{t.clickedIndex=$(r).index()}}else{t.clickedSlide=undefined;t.clickedIndex=undefined;return}if(i.slideToClickedSlide&&t.clickedIndex!==undefined&&t.clickedIndex!==t.activeIndex){t.slideToClickedSlide()}}var update={updateSize:updateSize,updateSlides:updateSlides,updateAutoHeight:updateAutoHeight,updateSlidesOffset:updateSlidesOffset,updateSlidesProgress:updateSlidesProgress,updateProgress:updateProgress,updateSlidesClasses:updateSlidesClasses,updateActiveIndex:updateActiveIndex,updateClickedSlide:updateClickedSlide};function getTranslate(e){if(e===void 0){e=this.isHorizontal()?\"x\":\"y\"}var t=this;var i=t.params,r=t.rtlTranslate,a=t.translate,s=t.$wrapperEl;if(i.virtualTranslate){return r?-a:a}if(i.cssMode){return a}var n=Utils.getTranslate(s[0],e);if(r)n=-n;return n||0}function setTranslate(e,t){var i=this;var r=i.rtlTranslate,a=i.params,s=i.$wrapperEl,n=i.wrapperEl,l=i.progress;var o=0;var d=0;var u=0;if(i.isHorizontal()){o=r?-e:e}else{d=e}if(a.roundLengths){o=Math.floor(o);d=Math.floor(d)}if(a.cssMode){n[i.isHorizontal()?\"scrollLeft\":\"scrollTop\"]=i.isHorizontal()?-o:-d}else if(!a.virtualTranslate){s.transform(\"translate3d(\"+o+\"px, \"+d+\"px, \"+u+\"px)\")}i.previousTranslate=i.translate;i.translate=i.isHorizontal()?o:d;var f;var p=i.maxTranslate()-i.minTranslate();if(p===0){f=0}else{f=(e-i.minTranslate())/p}if(f!==l){i.updateProgress(e)}i.emit(\"setTranslate\",i.translate,t)}function minTranslate(){return-this.snapGrid[0]}function maxTranslate(){return-this.snapGrid[this.snapGrid.length-1]}function translateTo(e,t,i,r,a){var s;if(e===void 0){e=0}if(t===void 0){t=this.params.speed}if(i===void 0){i=true}if(r===void 0){r=true}var n=this;var l=n.params,o=n.wrapperEl;if(n.animating&&l.preventInteractionOnTransition){return false}var d=n.minTranslate();var u=n.maxTranslate();var f;if(r&&e>d)f=d;else if(r&&e<u)f=u;else f=e;n.updateProgress(f);if(l.cssMode){var p=n.isHorizontal();if(t===0){o[p?\"scrollLeft\":\"scrollTop\"]=-f}else{if(o.scrollTo){o.scrollTo((s={},s[p?\"left\":\"top\"]=-f,s.behavior=\"smooth\",s))}else{o[p?\"scrollLeft\":\"scrollTop\"]=-f}}return true}if(t===0){n.setTransition(0);n.setTranslate(f);if(i){n.emit(\"beforeTransitionStart\",t,a);n.emit(\"transitionEnd\")}}else{n.setTransition(t);n.setTranslate(f);if(i){n.emit(\"beforeTransitionStart\",t,a);n.emit(\"transitionStart\")}if(!n.animating){n.animating=true;if(!n.onTranslateToWrapperTransitionEnd){n.onTranslateToWrapperTransitionEnd=function e(t){if(!n||n.destroyed)return;if(t.target!==this)return;n.$wrapperEl[0].removeEventListener(\"transitionend\",n.onTranslateToWrapperTransitionEnd);n.$wrapperEl[0].removeEventListener(\"webkitTransitionEnd\",n.onTranslateToWrapperTransitionEnd);n.onTranslateToWrapperTransitionEnd=null;delete n.onTranslateToWrapperTransitionEnd;if(i){n.emit(\"transitionEnd\")}}}n.$wrapperEl[0].addEventListener(\"transitionend\",n.onTranslateToWrapperTransitionEnd);n.$wrapperEl[0].addEventListener(\"webkitTransitionEnd\",n.onTranslateToWrapperTransitionEnd)}}return true}var translate={getTranslate:getTranslate,setTranslate:setTranslate,minTranslate:minTranslate,maxTranslate:maxTranslate,translateTo:translateTo};function setTransition(e,t){var i=this;if(!i.params.cssMode){i.$wrapperEl.transition(e)}i.emit(\"setTransition\",e,t)}function transitionStart(e,t){if(e===void 0){e=true}var i=this;var r=i.activeIndex,a=i.params,s=i.previousIndex;if(a.cssMode)return;if(a.autoHeight){i.updateAutoHeight()}var n=t;if(!n){if(r>s)n=\"next\";else if(r<s)n=\"prev\";else n=\"reset\"}i.emit(\"transitionStart\");if(e&&r!==s){if(n===\"reset\"){i.emit(\"slideResetTransitionStart\");return}i.emit(\"slideChangeTransitionStart\");if(n===\"next\"){i.emit(\"slideNextTransitionStart\")}else{i.emit(\"slidePrevTransitionStart\")}}}function transitionEnd$1(e,t){if(e===void 0){e=true}var i=this;var r=i.activeIndex,a=i.previousIndex,s=i.params;i.animating=false;if(s.cssMode)return;i.setTransition(0);var n=t;if(!n){if(r>a)n=\"next\";else if(r<a)n=\"prev\";else n=\"reset\"}i.emit(\"transitionEnd\");if(e&&r!==a){if(n===\"reset\"){i.emit(\"slideResetTransitionEnd\");return}i.emit(\"slideChangeTransitionEnd\");if(n===\"next\"){i.emit(\"slideNextTransitionEnd\")}else{i.emit(\"slidePrevTransitionEnd\")}}}var transition$1={setTransition:setTransition,transitionStart:transitionStart,transitionEnd:transitionEnd$1};function slideTo(e,t,i,r){var a;if(e===void 0){e=0}if(t===void 0){t=this.params.speed}if(i===void 0){i=true}var s=this;var n=e;if(n<0)n=0;var l=s.params,o=s.snapGrid,d=s.slidesGrid,u=s.previousIndex,f=s.activeIndex,p=s.rtlTranslate,c=s.wrapperEl;if(s.animating&&l.preventInteractionOnTransition){return false}var v=Math.min(s.params.slidesPerGroupSkip,n);var h=v+Math.floor((n-v)/s.params.slidesPerGroup);if(h>=o.length)h=o.length-1;if((f||l.initialSlide||0)===(u||0)&&i){s.emit(\"beforeSlideChangeStart\")}var m=-o[h];s.updateProgress(m);if(l.normalizeSlideIndex){for(var g=0;g<d.length;g+=1){if(-Math.floor(m*100)>=Math.floor(d[g]*100)){n=g}}}if(s.initialized&&n!==f){if(!s.allowSlideNext&&m<s.translate&&m<s.minTranslate()){return false}if(!s.allowSlidePrev&&m>s.translate&&m>s.maxTranslate()){if((f||0)!==n)return false}}var w;if(n>f)w=\"next\";else if(n<f)w=\"prev\";else w=\"reset\";if(p&&-m===s.translate||!p&&m===s.translate){s.updateActiveIndex(n);if(l.autoHeight){s.updateAutoHeight()}s.updateSlidesClasses();if(l.effect!==\"slide\"){s.setTranslate(m)}if(w!==\"reset\"){s.transitionStart(i,w);s.transitionEnd(i,w)}return false}if(l.cssMode){var b=s.isHorizontal();var y=-m;if(p){y=c.scrollWidth-c.offsetWidth-y}if(t===0){c[b?\"scrollLeft\":\"scrollTop\"]=y}else{if(c.scrollTo){c.scrollTo((a={},a[b?\"left\":\"top\"]=y,a.behavior=\"smooth\",a))}else{c[b?\"scrollLeft\":\"scrollTop\"]=y}}return true}if(t===0){s.setTransition(0);s.setTranslate(m);s.updateActiveIndex(n);s.updateSlidesClasses();s.emit(\"beforeTransitionStart\",t,r);s.transitionStart(i,w);s.transitionEnd(i,w)}else{s.setTransition(t);s.setTranslate(m);s.updateActiveIndex(n);s.updateSlidesClasses();s.emit(\"beforeTransitionStart\",t,r);s.transitionStart(i,w);if(!s.animating){s.animating=true;if(!s.onSlideToWrapperTransitionEnd){s.onSlideToWrapperTransitionEnd=function e(t){if(!s||s.destroyed)return;if(t.target!==this)return;s.$wrapperEl[0].removeEventListener(\"transitionend\",s.onSlideToWrapperTransitionEnd);s.$wrapperEl[0].removeEventListener(\"webkitTransitionEnd\",s.onSlideToWrapperTransitionEnd);s.onSlideToWrapperTransitionEnd=null;delete s.onSlideToWrapperTransitionEnd;s.transitionEnd(i,w)}}s.$wrapperEl[0].addEventListener(\"transitionend\",s.onSlideToWrapperTransitionEnd);s.$wrapperEl[0].addEventListener(\"webkitTransitionEnd\",s.onSlideToWrapperTransitionEnd)}}return true}function slideToLoop(e,t,i,r){if(e===void 0){e=0}if(t===void 0){t=this.params.speed}if(i===void 0){i=true}var a=this;var s=e;if(a.params.loop){s+=a.loopedSlides}return a.slideTo(s,t,i,r)}function slideNext(e,t,i){if(e===void 0){e=this.params.speed}if(t===void 0){t=true}var r=this;var a=r.params,s=r.animating;var n=r.activeIndex<a.slidesPerGroupSkip?1:a.slidesPerGroup;if(a.loop){if(s)return false;r.loopFix();r._clientLeft=r.$wrapperEl[0].clientLeft}return r.slideTo(r.activeIndex+n,e,t,i)}function slidePrev(e,t,i){if(e===void 0){e=this.params.speed}if(t===void 0){t=true}var r=this;var a=r.params,s=r.animating,n=r.snapGrid,l=r.slidesGrid,o=r.rtlTranslate;if(a.loop){if(s)return false;r.loopFix();r._clientLeft=r.$wrapperEl[0].clientLeft}var d=o?r.translate:-r.translate;function u(e){if(e<0)return-Math.floor(Math.abs(e));return Math.floor(e)}var f=u(d);var p=n.map((function(e){return u(e)}));l.map((function(e){return u(e)}));n[p.indexOf(f)];var c=n[p.indexOf(f)-1];if(typeof c===\"undefined\"&&a.cssMode){n.forEach((function(e){if(!c&&f>=e)c=e}))}var v;if(typeof c!==\"undefined\"){v=l.indexOf(c);if(v<0)v=r.activeIndex-1}return r.slideTo(v,e,t,i)}function slideReset(e,t,i){if(e===void 0){e=this.params.speed}if(t===void 0){t=true}var r=this;return r.slideTo(r.activeIndex,e,t,i)}function slideToClosest(e,t,i,r){if(e===void 0){e=this.params.speed}if(t===void 0){t=true}if(r===void 0){r=.5}var a=this;var s=a.activeIndex;var n=Math.min(a.params.slidesPerGroupSkip,s);var l=n+Math.floor((s-n)/a.params.slidesPerGroup);var o=a.rtlTranslate?a.translate:-a.translate;if(o>=a.snapGrid[l]){var d=a.snapGrid[l];var u=a.snapGrid[l+1];if(o-d>(u-d)*r){s+=a.params.slidesPerGroup}}else{var f=a.snapGrid[l-1];var d=a.snapGrid[l];if(o-f<=(d-f)*r){s-=a.params.slidesPerGroup}}s=Math.max(s,0);s=Math.min(s,a.slidesGrid.length-1);return a.slideTo(s,e,t,i)}function slideToClickedSlide(){var e=this;var t=e.params,i=e.$wrapperEl;var r=t.slidesPerView===\"auto\"?e.slidesPerViewDynamic():t.slidesPerView;var a=e.clickedIndex;var s;if(t.loop){if(e.animating)return;s=parseInt($(e.clickedSlide).attr(\"data-swiper-slide-index\"),10);if(t.centeredSlides){if(a<e.loopedSlides-r/2||a>e.slides.length-e.loopedSlides+r/2){e.loopFix();a=i.children(\".\"+t.slideClass+'[data-swiper-slide-index=\"'+s+'\"]:not(.'+t.slideDuplicateClass+\")\").eq(0).index();Utils.nextTick((function(){e.slideTo(a)}))}else{e.slideTo(a)}}else if(a>e.slides.length-r){e.loopFix();a=i.children(\".\"+t.slideClass+'[data-swiper-slide-index=\"'+s+'\"]:not(.'+t.slideDuplicateClass+\")\").eq(0).index();Utils.nextTick((function(){e.slideTo(a)}))}else{e.slideTo(a)}}else{e.slideTo(a)}}var slide={slideTo:slideTo,slideToLoop:slideToLoop,slideNext:slideNext,slidePrev:slidePrev,slideReset:slideReset,slideToClosest:slideToClosest,slideToClickedSlide:slideToClickedSlide};function loopCreate(){var e=this;var t=e.params,i=e.$wrapperEl;i.children(\".\"+t.slideClass+\".\"+t.slideDuplicateClass).remove();var r=i.children(\".\"+t.slideClass);if(t.loopFillGroupWithBlank){var a=t.slidesPerGroup-r.length%t.slidesPerGroup;if(a!==t.slidesPerGroup){for(var s=0;s<a;s+=1){var n=$(doc.createElement(\"div\")).addClass(t.slideClass+\" \"+t.slideBlankClass);i.append(n)}r=i.children(\".\"+t.slideClass)}}if(t.slidesPerView===\"auto\"&&!t.loopedSlides)t.loopedSlides=r.length;e.loopedSlides=Math.ceil(parseFloat(t.loopedSlides||t.slidesPerView,10));e.loopedSlides+=t.loopAdditionalSlides;if(e.loopedSlides>r.length){e.loopedSlides=r.length}var l=[];var o=[];r.each((function(t,i){var a=$(i);if(t<e.loopedSlides)o.push(i);if(t<r.length&&t>=r.length-e.loopedSlides)l.push(i);a.attr(\"data-swiper-slide-index\",t)}));for(var s=0;s<o.length;s+=1){i.append($(o[s].cloneNode(true)).addClass(t.slideDuplicateClass))}for(var s=l.length-1;s>=0;s-=1){i.prepend($(l[s].cloneNode(true)).addClass(t.slideDuplicateClass))}}function loopFix(){var e=this;e.emit(\"beforeLoopFix\");var t=e.activeIndex,i=e.slides,r=e.loopedSlides,a=e.allowSlidePrev,s=e.allowSlideNext,n=e.snapGrid,l=e.rtlTranslate;var o;e.allowSlidePrev=true;e.allowSlideNext=true;var d=-n[t];var u=d-e.getTranslate();if(t<r){o=i.length-r*3+t;o+=r;var f=e.slideTo(o,0,false,true);if(f&&u!==0){e.setTranslate((l?-e.translate:e.translate)-u)}}else if(t>=i.length-r){o=-i.length+t+r;o+=r;var f=e.slideTo(o,0,false,true);if(f&&u!==0){e.setTranslate((l?-e.translate:e.translate)-u)}}e.allowSlidePrev=a;e.allowSlideNext=s;e.emit(\"loopFix\")}function loopDestroy(){var e=this;var t=e.$wrapperEl,i=e.params,r=e.slides;t.children(\".\"+i.slideClass+\".\"+i.slideDuplicateClass+\",.\"+i.slideClass+\".\"+i.slideBlankClass).remove();r.removeAttr(\"data-swiper-slide-index\")}var loop={loopCreate:loopCreate,loopFix:loopFix,loopDestroy:loopDestroy};function setGrabCursor(e){var t=this;if(Support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;var i=t.el;i.style.cursor=\"move\";i.style.cursor=e?\"-webkit-grabbing\":\"-webkit-grab\";i.style.cursor=e?\"-moz-grabbin\":\"-moz-grab\";i.style.cursor=e?\"grabbing\":\"grab\"}function unsetGrabCursor(){var e=this;if(Support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode)return;e.el.style.cursor=\"\"}var grabCursor={setGrabCursor:setGrabCursor,unsetGrabCursor:unsetGrabCursor};function appendSlide(e){var t=this;var i=t.$wrapperEl,r=t.params;if(r.loop){t.loopDestroy()}if(typeof e===\"object\"&&\"length\"in e){for(var a=0;a<e.length;a+=1){if(e[a])i.append(e[a])}}else{i.append(e)}if(r.loop){t.loopCreate()}if(!(r.observer&&Support.observer)){t.update()}}function prependSlide(e){var t=this;var i=t.params,r=t.$wrapperEl,a=t.activeIndex;if(i.loop){t.loopDestroy()}var s=a+1;if(typeof e===\"object\"&&\"length\"in e){for(var n=0;n<e.length;n+=1){if(e[n])r.prepend(e[n])}s=a+e.length}else{r.prepend(e)}if(i.loop){t.loopCreate()}if(!(i.observer&&Support.observer)){t.update()}t.slideTo(s,0,false)}function addSlide(e,t){var i=this;var r=i.$wrapperEl,a=i.params,s=i.activeIndex;var n=s;if(a.loop){n-=i.loopedSlides;i.loopDestroy();i.slides=r.children(\".\"+a.slideClass)}var l=i.slides.length;if(e<=0){i.prependSlide(t);return}if(e>=l){i.appendSlide(t);return}var o=n>e?n+1:n;var d=[];for(var u=l-1;u>=e;u-=1){var f=i.slides.eq(u);f.remove();d.unshift(f)}if(typeof t===\"object\"&&\"length\"in t){for(var u=0;u<t.length;u+=1){if(t[u])r.append(t[u])}o=n>e?n+t.length:n}else{r.append(t)}for(var u=0;u<d.length;u+=1){r.append(d[u])}if(a.loop){i.loopCreate()}if(!(a.observer&&Support.observer)){i.update()}if(a.loop){i.slideTo(o+i.loopedSlides,0,false)}else{i.slideTo(o,0,false)}}function removeSlide(e){var t=this;var i=t.params,r=t.$wrapperEl,a=t.activeIndex;var s=a;if(i.loop){s-=t.loopedSlides;t.loopDestroy();t.slides=r.children(\".\"+i.slideClass)}var n=s;var l;if(typeof e===\"object\"&&\"length\"in e){for(var o=0;o<e.length;o+=1){l=e[o];if(t.slides[l])t.slides.eq(l).remove();if(l<n)n-=1}n=Math.max(n,0)}else{l=e;if(t.slides[l])t.slides.eq(l).remove();if(l<n)n-=1;n=Math.max(n,0)}if(i.loop){t.loopCreate()}if(!(i.observer&&Support.observer)){t.update()}if(i.loop){t.slideTo(n+t.loopedSlides,0,false)}else{t.slideTo(n,0,false)}}function removeAllSlides(){var e=this;var t=[];for(var i=0;i<e.slides.length;i+=1){t.push(i)}e.removeSlide(t)}var manipulation={appendSlide:appendSlide,prependSlide:prependSlide,addSlide:addSlide,removeSlide:removeSlide,removeAllSlides:removeAllSlides};var Device=function e(){var t=win.navigator.platform;var i=win.navigator.userAgent;var r={ios:false,android:false,androidChrome:false,desktop:false,iphone:false,ipod:false,ipad:false,edge:false,ie:false,firefox:false,macos:false,windows:false,cordova:!!(win.cordova||win.phonegap),phonegap:!!(win.cordova||win.phonegap),electron:false};var a=win.screen.width;var s=win.screen.height;var n=i.match(/(Android);?[\\s\\/]+([\\d.]+)?/);var l=i.match(/(iPad).*OS\\s([\\d_]+)/);var o=i.match(/(iPod)(.*OS\\s([\\d_]+))?/);var d=!l&&i.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);var u=i.indexOf(\"MSIE \")>=0||i.indexOf(\"Trident/\")>=0;var f=i.indexOf(\"Edge/\")>=0;var p=i.indexOf(\"Gecko/\")>=0&&i.indexOf(\"Firefox/\")>=0;var c=t===\"Win32\";var v=i.toLowerCase().indexOf(\"electron\")>=0;var h=t===\"MacIntel\";if(!l&&h&&Support.touch&&(a===1024&&s===1366||a===834&&s===1194||a===834&&s===1112||a===768&&s===1024)){l=i.match(/(Version)\\/([\\d.]+)/);h=false}r.ie=u;r.edge=f;r.firefox=p;if(n&&!c){r.os=\"android\";r.osVersion=n[2];r.android=true;r.androidChrome=i.toLowerCase().indexOf(\"chrome\")>=0}if(l||d||o){r.os=\"ios\";r.ios=true}if(d&&!o){r.osVersion=d[2].replace(/_/g,\".\");r.iphone=true}if(l){r.osVersion=l[2].replace(/_/g,\".\");r.ipad=true}if(o){r.osVersion=o[3]?o[3].replace(/_/g,\".\"):null;r.ipod=true}if(r.ios&&r.osVersion&&i.indexOf(\"Version/\")>=0){if(r.osVersion.split(\".\")[0]===\"10\"){r.osVersion=i.toLowerCase().split(\"version/\")[1].split(\" \")[0]}}r.webView=!!((d||l||o)&&(i.match(/.*AppleWebKit(?!.*Safari)/i)||win.navigator.standalone))||win.matchMedia&&win.matchMedia(\"(display-mode: standalone)\").matches;r.webview=r.webView;r.standalone=r.webView;r.desktop=!(r.ios||r.android)||v;if(r.desktop){r.electron=v;r.macos=h;r.windows=c;if(r.macos){r.os=\"macos\"}if(r.windows){r.os=\"windows\"}}r.pixelRatio=win.devicePixelRatio||1;return r}();function onTouchStart(e){var t=this;var i=t.touchEventsData;var r=t.params,a=t.touches;if(t.animating&&r.preventInteractionOnTransition){return}var s=e;if(s.originalEvent)s=s.originalEvent;var n=$(s.target);if(r.touchEventsTarget===\"wrapper\"){if(!n.closest(t.wrapperEl).length)return}i.isTouchEvent=s.type===\"touchstart\";if(!i.isTouchEvent&&\"which\"in s&&s.which===3)return;if(!i.isTouchEvent&&\"button\"in s&&s.button>0)return;if(i.isTouched&&i.isMoved)return;if(r.noSwiping&&n.closest(r.noSwipingSelector?r.noSwipingSelector:\".\"+r.noSwipingClass)[0]){t.allowClick=true;return}if(r.swipeHandler){if(!n.closest(r.swipeHandler)[0])return}a.currentX=s.type===\"touchstart\"?s.targetTouches[0].pageX:s.pageX;a.currentY=s.type===\"touchstart\"?s.targetTouches[0].pageY:s.pageY;var l=a.currentX;var o=a.currentY;var d=r.edgeSwipeDetection||r.iOSEdgeSwipeDetection;var u=r.edgeSwipeThreshold||r.iOSEdgeSwipeThreshold;if(d&&(l<=u||l>=win.screen.width-u)){return}Utils.extend(i,{isTouched:true,isMoved:false,allowTouchCallbacks:true,isScrolling:undefined,startMoving:undefined});a.startX=l;a.startY=o;i.touchStartTime=Utils.now();t.allowClick=true;t.updateSize();t.swipeDirection=undefined;if(r.threshold>0)i.allowThresholdMove=false;if(s.type!==\"touchstart\"){var f=true;if(n.is(i.formElements))f=false;if(doc.activeElement&&$(doc.activeElement).is(i.formElements)&&doc.activeElement!==n[0]){doc.activeElement.blur()}var p=f&&t.allowTouchMove&&r.touchStartPreventDefault;if(r.touchStartForcePreventDefault||p){s.preventDefault()}}t.emit(\"touchStart\",s)}function onTouchMove(e){var t=this;var i=t.touchEventsData;var r=t.params,a=t.touches,s=t.rtlTranslate;var n=e;if(n.originalEvent)n=n.originalEvent;if(!i.isTouched){if(i.startMoving&&i.isScrolling){t.emit(\"touchMoveOpposite\",n)}return}if(i.isTouchEvent&&n.type!==\"touchmove\")return;var l=n.type===\"touchmove\"&&n.targetTouches&&(n.targetTouches[0]||n.changedTouches[0]);var o=n.type===\"touchmove\"?l.pageX:n.pageX;var d=n.type===\"touchmove\"?l.pageY:n.pageY;if(n.preventedByNestedSwiper){a.startX=o;a.startY=d;return}if(!t.allowTouchMove){t.allowClick=false;if(i.isTouched){Utils.extend(a,{startX:o,startY:d,currentX:o,currentY:d});i.touchStartTime=Utils.now()}return}if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop){if(t.isVertical()){if(d<a.startY&&t.translate<=t.maxTranslate()||d>a.startY&&t.translate>=t.minTranslate()){i.isTouched=false;i.isMoved=false;return}}else if(o<a.startX&&t.translate<=t.maxTranslate()||o>a.startX&&t.translate>=t.minTranslate()){return}}if(i.isTouchEvent&&doc.activeElement){if(n.target===doc.activeElement&&$(n.target).is(i.formElements)){i.isMoved=true;t.allowClick=false;return}}if(i.allowTouchCallbacks){t.emit(\"touchMove\",n)}if(n.targetTouches&&n.targetTouches.length>1)return;a.currentX=o;a.currentY=d;var u=a.currentX-a.startX;var f=a.currentY-a.startY;if(t.params.threshold&&Math.sqrt(Math.pow(u,2)+Math.pow(f,2))<t.params.threshold)return;if(typeof i.isScrolling===\"undefined\"){var p=void 0;if(t.isHorizontal()&&a.currentY===a.startY||t.isVertical()&&a.currentX===a.startX){i.isScrolling=false}else{if(u*u+f*f>=25){p=Math.atan2(Math.abs(f),Math.abs(u))*180/Math.PI;i.isScrolling=t.isHorizontal()?p>r.touchAngle:90-p>r.touchAngle}}}if(i.isScrolling){t.emit(\"touchMoveOpposite\",n)}if(typeof i.startMoving===\"undefined\"){if(a.currentX!==a.startX||a.currentY!==a.startY){i.startMoving=true}}if(i.isScrolling){i.isTouched=false;return}if(!i.startMoving){return}t.allowClick=false;if(!r.cssMode&&n.cancelable){n.preventDefault()}if(r.touchMoveStopPropagation&&!r.nested){n.stopPropagation()}if(!i.isMoved){if(r.loop){t.loopFix()}i.startTranslate=t.getTranslate();t.setTransition(0);if(t.animating){t.$wrapperEl.trigger(\"webkitTransitionEnd transitionend\")}i.allowMomentumBounce=false;if(r.grabCursor&&(t.allowSlideNext===true||t.allowSlidePrev===true)){t.setGrabCursor(true)}t.emit(\"sliderFirstMove\",n)}t.emit(\"sliderMove\",n);i.isMoved=true;var c=t.isHorizontal()?u:f;a.diff=c;c*=r.touchRatio;if(s)c=-c;t.swipeDirection=c>0?\"prev\":\"next\";i.currentTranslate=c+i.startTranslate;var v=true;var h=r.resistanceRatio;if(r.touchReleaseOnEdges){h=0}if(c>0&&i.currentTranslate>t.minTranslate()){v=false;if(r.resistance)i.currentTranslate=t.minTranslate()-1+Math.pow(-t.minTranslate()+i.startTranslate+c,h)}else if(c<0&&i.currentTranslate<t.maxTranslate()){v=false;if(r.resistance)i.currentTranslate=t.maxTranslate()+1-Math.pow(t.maxTranslate()-i.startTranslate-c,h)}if(v){n.preventedByNestedSwiper=true}if(!t.allowSlideNext&&t.swipeDirection===\"next\"&&i.currentTranslate<i.startTranslate){i.currentTranslate=i.startTranslate}if(!t.allowSlidePrev&&t.swipeDirection===\"prev\"&&i.currentTranslate>i.startTranslate){i.currentTranslate=i.startTranslate}if(r.threshold>0){if(Math.abs(c)>r.threshold||i.allowThresholdMove){if(!i.allowThresholdMove){i.allowThresholdMove=true;a.startX=a.currentX;a.startY=a.currentY;i.currentTranslate=i.startTranslate;a.diff=t.isHorizontal()?a.currentX-a.startX:a.currentY-a.startY;return}}else{i.currentTranslate=i.startTranslate;return}}if(!r.followFinger||r.cssMode)return;if(r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility){t.updateActiveIndex();t.updateSlidesClasses()}if(r.freeMode){if(i.velocities.length===0){i.velocities.push({position:a[t.isHorizontal()?\"startX\":\"startY\"],time:i.touchStartTime})}i.velocities.push({position:a[t.isHorizontal()?\"currentX\":\"currentY\"],time:Utils.now()})}t.updateProgress(i.currentTranslate);t.setTranslate(i.currentTranslate)}function onTouchEnd(e){var t=this;var i=t.touchEventsData;var r=t.params,a=t.touches,s=t.rtlTranslate,n=t.$wrapperEl,l=t.slidesGrid,o=t.snapGrid;var d=e;if(d.originalEvent)d=d.originalEvent;if(i.allowTouchCallbacks){t.emit(\"touchEnd\",d)}i.allowTouchCallbacks=false;if(!i.isTouched){if(i.isMoved&&r.grabCursor){t.setGrabCursor(false)}i.isMoved=false;i.startMoving=false;return}if(r.grabCursor&&i.isMoved&&i.isTouched&&(t.allowSlideNext===true||t.allowSlidePrev===true)){t.setGrabCursor(false)}var u=Utils.now();var f=u-i.touchStartTime;if(t.allowClick){t.updateClickedSlide(d);t.emit(\"tap click\",d);if(f<300&&u-i.lastClickTime<300){t.emit(\"doubleTap doubleClick\",d)}}i.lastClickTime=Utils.now();Utils.nextTick((function(){if(!t.destroyed)t.allowClick=true}));if(!i.isTouched||!i.isMoved||!t.swipeDirection||a.diff===0||i.currentTranslate===i.startTranslate){i.isTouched=false;i.isMoved=false;i.startMoving=false;return}i.isTouched=false;i.isMoved=false;i.startMoving=false;var p;if(r.followFinger){p=s?t.translate:-t.translate}else{p=-i.currentTranslate}if(r.cssMode){return}if(r.freeMode){if(p<-t.minTranslate()){t.slideTo(t.activeIndex);return}if(p>-t.maxTranslate()){if(t.slides.length<o.length){t.slideTo(o.length-1)}else{t.slideTo(t.slides.length-1)}return}if(r.freeModeMomentum){if(i.velocities.length>1){var c=i.velocities.pop();var v=i.velocities.pop();var h=c.position-v.position;var m=c.time-v.time;t.velocity=h/m;t.velocity/=2;if(Math.abs(t.velocity)<r.freeModeMinimumVelocity){t.velocity=0}if(m>150||Utils.now()-c.time>300){t.velocity=0}}else{t.velocity=0}t.velocity*=r.freeModeMomentumVelocityRatio;i.velocities.length=0;var g=1e3*r.freeModeMomentumRatio;var w=t.velocity*g;var b=t.translate+w;if(s)b=-b;var y=false;var S;var T=Math.abs(t.velocity)*20*r.freeModeMomentumBounceRatio;var E=void 0;if(b<t.maxTranslate()){if(r.freeModeMomentumBounce){if(b+t.maxTranslate()<-T){b=t.maxTranslate()-T}S=t.maxTranslate();y=true;i.allowMomentumBounce=true}else{b=t.maxTranslate()}if(r.loop&&r.centeredSlides)E=true}else if(b>t.minTranslate()){if(r.freeModeMomentumBounce){if(b-t.minTranslate()>T){b=t.minTranslate()+T}S=t.minTranslate();y=true;i.allowMomentumBounce=true}else{b=t.minTranslate()}if(r.loop&&r.centeredSlides)E=true}else if(r.freeModeSticky){var x=void 0;for(var C=0;C<o.length;C+=1){if(o[C]>-b){x=C;break}}if(Math.abs(o[x]-b)<Math.abs(o[x-1]-b)||t.swipeDirection===\"next\"){b=o[x]}else{b=o[x-1]}b=-b}if(E){t.once(\"transitionEnd\",(function(){t.loopFix()}))}if(t.velocity!==0){if(s){g=Math.abs((-b-t.translate)/t.velocity)}else{g=Math.abs((b-t.translate)/t.velocity)}if(r.freeModeSticky){var M=Math.abs((s?-b:b)-t.translate);var $=t.slidesSizesGrid[t.activeIndex];if(M<$){g=r.speed}else if(M<2*$){g=r.speed*1.5}else{g=r.speed*2.5}}}else if(r.freeModeSticky){t.slideToClosest();return}if(r.freeModeMomentumBounce&&y){t.updateProgress(S);t.setTransition(g);t.setTranslate(b);t.transitionStart(true,t.swipeDirection);t.animating=true;n.transitionEnd((function(){if(!t||t.destroyed||!i.allowMomentumBounce)return;t.emit(\"momentumBounce\");t.setTransition(r.speed);setTimeout((function(){t.setTranslate(S);n.transitionEnd((function(){if(!t||t.destroyed)return;t.transitionEnd()}))}),0)}))}else if(t.velocity){t.updateProgress(b);t.setTransition(g);t.setTranslate(b);t.transitionStart(true,t.swipeDirection);if(!t.animating){t.animating=true;n.transitionEnd((function(){if(!t||t.destroyed)return;t.transitionEnd()}))}}else{t.updateProgress(b)}t.updateActiveIndex();t.updateSlidesClasses()}else if(r.freeModeSticky){t.slideToClosest();return}if(!r.freeModeMomentum||f>=r.longSwipesMs){t.updateProgress();t.updateActiveIndex();t.updateSlidesClasses()}return}var P=0;var k=t.slidesSizesGrid[0];for(var z=0;z<l.length;z+=z<r.slidesPerGroupSkip?1:r.slidesPerGroup){var D=z<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(typeof l[z+D]!==\"undefined\"){if(p>=l[z]&&p<l[z+D]){P=z;k=l[z+D]-l[z]}}else if(p>=l[z]){P=z;k=l[l.length-1]-l[l.length-2]}}var L=(p-l[P])/k;var O=P<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(f>r.longSwipesMs){if(!r.longSwipes){t.slideTo(t.activeIndex);return}if(t.swipeDirection===\"next\"){if(L>=r.longSwipesRatio)t.slideTo(P+O);else t.slideTo(P)}if(t.swipeDirection===\"prev\"){if(L>1-r.longSwipesRatio)t.slideTo(P+O);else t.slideTo(P)}}else{if(!r.shortSwipes){t.slideTo(t.activeIndex);return}var I=t.navigation&&(d.target===t.navigation.nextEl||d.target===t.navigation.prevEl);if(!I){if(t.swipeDirection===\"next\"){t.slideTo(P+O)}if(t.swipeDirection===\"prev\"){t.slideTo(P)}}else if(d.target===t.navigation.nextEl){t.slideTo(P+O)}else{t.slideTo(P)}}}function onResize(){var e=this;var t=e.params,i=e.el;if(i&&i.offsetWidth===0)return;if(t.breakpoints){e.setBreakpoint()}var r=e.allowSlideNext,a=e.allowSlidePrev,s=e.snapGrid;e.allowSlideNext=true;e.allowSlidePrev=true;e.updateSize();e.updateSlides();e.updateSlidesClasses();if((t.slidesPerView===\"auto\"||t.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides){e.slideTo(e.slides.length-1,0,false,true)}else{e.slideTo(e.activeIndex,0,false,true)}if(e.autoplay&&e.autoplay.running&&e.autoplay.paused){e.autoplay.run()}e.allowSlidePrev=a;e.allowSlideNext=r;if(e.params.watchOverflow&&s!==e.snapGrid){e.checkOverflow()}}function onClick(e){var t=this;if(!t.allowClick){if(t.params.preventClicks)e.preventDefault();if(t.params.preventClicksPropagation&&t.animating){e.stopPropagation();e.stopImmediatePropagation()}}}function onScroll(){var e=this;var t=e.wrapperEl,i=e.rtlTranslate;e.previousTranslate=e.translate;if(e.isHorizontal()){if(i){e.translate=t.scrollWidth-t.offsetWidth-t.scrollLeft}else{e.translate=-t.scrollLeft}}else{e.translate=-t.scrollTop}if(e.translate===-0)e.translate=0;e.updateActiveIndex();e.updateSlidesClasses();var r;var a=e.maxTranslate()-e.minTranslate();if(a===0){r=0}else{r=(e.translate-e.minTranslate())/a}if(r!==e.progress){e.updateProgress(i?-e.translate:e.translate)}e.emit(\"setTranslate\",e.translate,false)}var dummyEventAttached=false;function dummyEventListener(){}function attachEvents(){var e=this;var t=e.params,i=e.touchEvents,r=e.el,a=e.wrapperEl;e.onTouchStart=onTouchStart.bind(e);e.onTouchMove=onTouchMove.bind(e);e.onTouchEnd=onTouchEnd.bind(e);if(t.cssMode){e.onScroll=onScroll.bind(e)}e.onClick=onClick.bind(e);var s=!!t.nested;if(!Support.touch&&Support.pointerEvents){r.addEventListener(i.start,e.onTouchStart,false);doc.addEventListener(i.move,e.onTouchMove,s);doc.addEventListener(i.end,e.onTouchEnd,false)}else{if(Support.touch){var n=i.start===\"touchstart\"&&Support.passiveListener&&t.passiveListeners?{passive:true,capture:false}:false;r.addEventListener(i.start,e.onTouchStart,n);r.addEventListener(i.move,e.onTouchMove,Support.passiveListener?{passive:false,capture:s}:s);r.addEventListener(i.end,e.onTouchEnd,n);if(i.cancel){r.addEventListener(i.cancel,e.onTouchEnd,n)}if(!dummyEventAttached){doc.addEventListener(\"touchstart\",dummyEventListener);dummyEventAttached=true}}if(t.simulateTouch&&!Device.ios&&!Device.android||t.simulateTouch&&!Support.touch&&Device.ios){r.addEventListener(\"mousedown\",e.onTouchStart,false);doc.addEventListener(\"mousemove\",e.onTouchMove,s);doc.addEventListener(\"mouseup\",e.onTouchEnd,false)}}if(t.preventClicks||t.preventClicksPropagation){r.addEventListener(\"click\",e.onClick,true)}if(t.cssMode){a.addEventListener(\"scroll\",e.onScroll)}if(t.updateOnWindowResize){e.on(Device.ios||Device.android?\"resize orientationchange observerUpdate\":\"resize observerUpdate\",onResize,true)}else{e.on(\"observerUpdate\",onResize,true)}}function detachEvents(){var e=this;var t=e.params,i=e.touchEvents,r=e.el,a=e.wrapperEl;var s=!!t.nested;if(!Support.touch&&Support.pointerEvents){r.removeEventListener(i.start,e.onTouchStart,false);doc.removeEventListener(i.move,e.onTouchMove,s);doc.removeEventListener(i.end,e.onTouchEnd,false)}else{if(Support.touch){var n=i.start===\"onTouchStart\"&&Support.passiveListener&&t.passiveListeners?{passive:true,capture:false}:false;r.removeEventListener(i.start,e.onTouchStart,n);r.removeEventListener(i.move,e.onTouchMove,s);r.removeEventListener(i.end,e.onTouchEnd,n);if(i.cancel){r.removeEventListener(i.cancel,e.onTouchEnd,n)}}if(t.simulateTouch&&!Device.ios&&!Device.android||t.simulateTouch&&!Support.touch&&Device.ios){r.removeEventListener(\"mousedown\",e.onTouchStart,false);doc.removeEventListener(\"mousemove\",e.onTouchMove,s);doc.removeEventListener(\"mouseup\",e.onTouchEnd,false)}}if(t.preventClicks||t.preventClicksPropagation){r.removeEventListener(\"click\",e.onClick,true)}if(t.cssMode){a.removeEventListener(\"scroll\",e.onScroll)}e.off(Device.ios||Device.android?\"resize orientationchange observerUpdate\":\"resize observerUpdate\",onResize)}var events={attachEvents:attachEvents,detachEvents:detachEvents};function setBreakpoint(){var e=this;var t=e.activeIndex,i=e.initialized,r=e.loopedSlides,a=r===void 0?0:r,s=e.params,n=e.$el;var l=s.breakpoints;if(!l||l&&Object.keys(l).length===0)return;var o=e.getBreakpoint(l);if(o&&e.currentBreakpoint!==o){var d=o in l?l[o]:undefined;if(d){[\"slidesPerView\",\"spaceBetween\",\"slidesPerGroup\",\"slidesPerGroupSkip\",\"slidesPerColumn\"].forEach((function(e){var t=d[e];if(typeof t===\"undefined\")return;if(e===\"slidesPerView\"&&(t===\"AUTO\"||t===\"auto\")){d[e]=\"auto\"}else if(e===\"slidesPerView\"){d[e]=parseFloat(t)}else{d[e]=parseInt(t,10)}}))}var u=d||e.originalParams;var f=s.slidesPerColumn>1;var p=u.slidesPerColumn>1;if(f&&!p){n.removeClass(s.containerModifierClass+\"multirow \"+s.containerModifierClass+\"multirow-column\")}else if(!f&&p){n.addClass(s.containerModifierClass+\"multirow\");if(u.slidesPerColumnFill===\"column\"){n.addClass(s.containerModifierClass+\"multirow-column\")}}var c=u.direction&&u.direction!==s.direction;var v=s.loop&&(u.slidesPerView!==s.slidesPerView||c);if(c&&i){e.changeDirection()}Utils.extend(e.params,u);Utils.extend(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev});e.currentBreakpoint=o;if(v&&i){e.loopDestroy();e.loopCreate();e.updateSlides();e.slideTo(t-a+e.loopedSlides,0,false)}e.emit(\"breakpoint\",u)}}function getBreakpoint(e){if(!e)return undefined;var t=false;var i=Object.keys(e).map((function(e){if(typeof e===\"string\"&&e.indexOf(\"@\")===0){var t=parseFloat(e.substr(1));var i=win.innerHeight*t;return{value:i,point:e}}return{value:e,point:e}}));i.sort((function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)}));for(var r=0;r<i.length;r+=1){var a=i[r],s=a.point,n=a.value;if(n<=win.innerWidth){t=s}}return t||\"max\"}var breakpoints={setBreakpoint:setBreakpoint,getBreakpoint:getBreakpoint};function addClasses(){var e=this;var t=e.classNames,i=e.params,r=e.rtl,a=e.$el;var s=[];s.push(\"initialized\");s.push(i.direction);if(i.freeMode){s.push(\"free-mode\")}if(i.autoHeight){s.push(\"autoheight\")}if(r){s.push(\"rtl\")}if(i.slidesPerColumn>1){s.push(\"multirow\");if(i.slidesPerColumnFill===\"column\"){s.push(\"multirow-column\")}}if(Device.android){s.push(\"android\")}if(Device.ios){s.push(\"ios\")}if(i.cssMode){s.push(\"css-mode\")}s.forEach((function(e){t.push(i.containerModifierClass+e)}));a.addClass(t.join(\" \"))}function removeClasses(){var e=this;var t=e.$el,i=e.classNames;t.removeClass(i.join(\" \"))}var classes={addClasses:addClasses,removeClasses:removeClasses};function loadImage(e,t,i,r,a,s){var n;function l(){if(s)s()}var o=$(e).parent(\"picture\")[0];if(!o&&(!e.complete||!a)){if(t){n=new win.Image;n.onload=l;n.onerror=l;if(r){n.sizes=r}if(i){n.srcset=i}if(t){n.src=t}}else{l()}}else{l()}}function preloadImages(){var e=this;e.imagesToLoad=e.$el.find(\"img\");function t(){if(typeof e===\"undefined\"||e===null||!e||e.destroyed)return;if(e.imagesLoaded!==undefined)e.imagesLoaded+=1;if(e.imagesLoaded===e.imagesToLoad.length){if(e.params.updateOnImagesReady)e.update();e.emit(\"imagesReady\")}}for(var i=0;i<e.imagesToLoad.length;i+=1){var r=e.imagesToLoad[i];e.loadImage(r,r.currentSrc||r.getAttribute(\"src\"),r.srcset||r.getAttribute(\"srcset\"),r.sizes||r.getAttribute(\"sizes\"),true,t)}}var images={loadImage:loadImage,preloadImages:preloadImages};function checkOverflow(){var e=this;var t=e.params;var i=e.isLocked;var r=e.slides.length>0&&t.slidesOffsetBefore+t.spaceBetween*(e.slides.length-1)+e.slides[0].offsetWidth*e.slides.length;if(t.slidesOffsetBefore&&t.slidesOffsetAfter&&r){e.isLocked=r<=e.size}else{e.isLocked=e.snapGrid.length===1}e.allowSlideNext=!e.isLocked;e.allowSlidePrev=!e.isLocked;if(i!==e.isLocked)e.emit(e.isLocked?\"lock\":\"unlock\");if(i&&i!==e.isLocked){e.isEnd=false;e.navigation.update()}}var checkOverflow$1={checkOverflow:checkOverflow};var defaults={init:true,direction:\"horizontal\",touchEventsTarget:\"container\",initialSlide:0,speed:300,cssMode:false,updateOnWindowResize:true,preventInteractionOnTransition:false,edgeSwipeDetection:false,edgeSwipeThreshold:20,freeMode:false,freeModeMomentum:true,freeModeMomentumRatio:1,freeModeMomentumBounce:true,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:false,freeModeMinimumVelocity:.02,autoHeight:false,setWrapperSize:false,virtualTranslate:false,effect:\"slide\",breakpoints:undefined,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:\"column\",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:false,centeredSlidesBounds:false,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:true,centerInsufficientSlides:false,watchOverflow:false,roundLengths:false,touchRatio:1,touchAngle:45,simulateTouch:true,shortSwipes:true,longSwipes:true,longSwipesRatio:.5,longSwipesMs:300,followFinger:true,allowTouchMove:true,threshold:0,touchMoveStopPropagation:false,touchStartPreventDefault:true,touchStartForcePreventDefault:false,touchReleaseOnEdges:false,uniqueNavElements:true,resistance:true,resistanceRatio:.85,watchSlidesProgress:false,watchSlidesVisibility:false,grabCursor:false,preventClicks:true,preventClicksPropagation:true,slideToClickedSlide:false,preloadImages:true,updateOnImagesReady:true,loop:false,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:false,allowSlidePrev:true,allowSlideNext:true,swipeHandler:null,noSwiping:true,noSwipingClass:\"swiper-no-swiping\",noSwipingSelector:null,passiveListeners:true,containerModifierClass:\"swiper-container-\",slideClass:\"swiper-slide\",slideBlankClass:\"swiper-slide-invisible-blank\",slideActiveClass:\"swiper-slide-active\",slideDuplicateActiveClass:\"swiper-slide-duplicate-active\",slideVisibleClass:\"swiper-slide-visible\",slideDuplicateClass:\"swiper-slide-duplicate\",slideNextClass:\"swiper-slide-next\",slideDuplicateNextClass:\"swiper-slide-duplicate-next\",slidePrevClass:\"swiper-slide-prev\",slideDuplicatePrevClass:\"swiper-slide-duplicate-prev\",wrapperClass:\"swiper-wrapper\",runCallbacksOnInit:true};var prototypes={update:update,translate:translate,transition:transition$1,slide:slide,loop:loop,grabCursor:grabCursor,manipulation:manipulation,events:events,breakpoints:breakpoints,checkOverflow:checkOverflow$1,classes:classes,images:images};var extendedDefaults={};var Swiper=function(e){__extends(t,e);function t(){var i=[];for(var r=0;r<arguments.length;r++){i[r]=arguments[r]}var a=this;var s;var n;if(i.length===1&&i[0].constructor&&i[0].constructor===Object){n=i[0]}else{s=i[0],n=i[1]}if(!n)n={};n=Utils.extend({},n);if(s&&!n.el)n.el=s;a=e.call(this,n)||this;Object.keys(prototypes).forEach((function(e){Object.keys(prototypes[e]).forEach((function(i){if(!t.prototype[i]){t.prototype[i]=prototypes[e][i]}}))}));var l=a;if(typeof l.modules===\"undefined\"){l.modules={}}Object.keys(l.modules).forEach((function(e){var t=l.modules[e];if(t.params){var i=Object.keys(t.params)[0];var r=t.params[i];if(typeof r!==\"object\"||r===null)return;if(!(i in n&&\"enabled\"in r))return;if(n[i]===true){n[i]={enabled:true}}if(typeof n[i]===\"object\"&&!(\"enabled\"in n[i])){n[i].enabled=true}if(!n[i])n[i]={enabled:false}}}));var o=Utils.extend({},defaults);l.useModulesParams(o);l.params=Utils.extend({},o,extendedDefaults,n);l.originalParams=Utils.extend({},l.params);l.passedParams=Utils.extend({},n);l.$=$;var d=$(l.params.el);s=d[0];if(!s){return undefined}if(d.length>1){var u=[];d.each((function(e,i){var r=Utils.extend({},n,{el:i});u.push(new t(r))}));return u}s.swiper=l;d.data(\"swiper\",l);var f;if(s&&s.shadowRoot&&s.shadowRoot.querySelector){f=$(s.shadowRoot.querySelector(\".\"+l.params.wrapperClass));f.children=function(e){return d.children(e)}}else{f=d.children(\".\"+l.params.wrapperClass)}Utils.extend(l,{$el:d,el:s,$wrapperEl:f,wrapperEl:f[0],classNames:[],slides:$(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return l.params.direction===\"horizontal\"},isVertical:function(){return l.params.direction===\"vertical\"},rtl:s.dir.toLowerCase()===\"rtl\"||d.css(\"direction\")===\"rtl\",rtlTranslate:l.params.direction===\"horizontal\"&&(s.dir.toLowerCase()===\"rtl\"||d.css(\"direction\")===\"rtl\"),wrongRTL:f.css(\"display\")===\"-webkit-box\",activeIndex:0,realIndex:0,isBeginning:true,isEnd:false,translate:0,previousTranslate:0,progress:0,velocity:0,animating:false,allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEvents:function e(){var t=[\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\"];var i=[\"mousedown\",\"mousemove\",\"mouseup\"];if(Support.pointerEvents){i=[\"pointerdown\",\"pointermove\",\"pointerup\"]}l.touchEventsTouch={start:t[0],move:t[1],end:t[2],cancel:t[3]};l.touchEventsDesktop={start:i[0],move:i[1],end:i[2]};return Support.touch||!l.params.simulateTouch?l.touchEventsTouch:l.touchEventsDesktop}(),touchEventsData:{isTouched:undefined,isMoved:undefined,allowTouchCallbacks:undefined,touchStartTime:undefined,isScrolling:undefined,currentTranslate:undefined,startTranslate:undefined,allowThresholdMove:undefined,formElements:\"input, select, option, textarea, button, video, label\",lastClickTime:Utils.now(),clickTimeout:undefined,velocities:[],allowMomentumBounce:undefined,isTouchEvent:undefined,startMoving:undefined},allowClick:true,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0});l.useModules();if(l.params.init){l.init()}return l}t.prototype.slidesPerViewDynamic=function(){var e=this;var t=e.params,i=e.slides,r=e.slidesGrid,a=e.size,s=e.activeIndex;var n=1;if(t.centeredSlides){var l=i[s].swiperSlideSize;var o=void 0;for(var d=s+1;d<i.length;d+=1){if(i[d]&&!o){l+=i[d].swiperSlideSize;n+=1;if(l>a)o=true}}for(var d=s-1;d>=0;d-=1){if(i[d]&&!o){l+=i[d].swiperSlideSize;n+=1;if(l>a)o=true}}}else{for(var d=s+1;d<i.length;d+=1){if(r[d]-r[s]<a){n+=1}}}return n};t.prototype.update=function(){var e=this;if(!e||e.destroyed)return;var t=e.snapGrid,i=e.params;if(i.breakpoints){e.setBreakpoint()}e.updateSize();e.updateSlides();e.updateProgress();e.updateSlidesClasses();function r(){var t=e.rtlTranslate?e.translate*-1:e.translate;var i=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(i);e.updateActiveIndex();e.updateSlidesClasses()}var a;if(e.params.freeMode){r();if(e.params.autoHeight){e.updateAutoHeight()}}else{if((e.params.slidesPerView===\"auto\"||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides){a=e.slideTo(e.slides.length-1,0,false,true)}else{a=e.slideTo(e.activeIndex,0,false,true)}if(!a){r()}}if(i.watchOverflow&&t!==e.snapGrid){e.checkOverflow()}e.emit(\"update\")};t.prototype.changeDirection=function(e,t){if(t===void 0){t=true}var i=this;var r=i.params.direction;if(!e){e=r===\"horizontal\"?\"vertical\":\"horizontal\"}if(e===r||e!==\"horizontal\"&&e!==\"vertical\"){return i}i.$el.removeClass(\"\"+i.params.containerModifierClass+r).addClass(\"\"+i.params.containerModifierClass+e);i.params.direction=e;i.slides.each((function(t,i){if(e===\"vertical\"){i.style.width=\"\"}else{i.style.height=\"\"}}));i.emit(\"changeDirection\");if(t)i.update();return i};t.prototype.init=function(){var e=this;if(e.initialized)return;e.emit(\"beforeInit\");if(e.params.breakpoints){e.setBreakpoint()}e.addClasses();if(e.params.loop){e.loopCreate()}e.updateSize();e.updateSlides();if(e.params.watchOverflow){e.checkOverflow()}if(e.params.grabCursor){e.setGrabCursor()}if(e.params.preloadImages){e.preloadImages()}if(e.params.loop){e.slideTo(e.params.initialSlide+e.loopedSlides,0,e.params.runCallbacksOnInit)}else{e.slideTo(e.params.initialSlide,0,e.params.runCallbacksOnInit)}e.attachEvents();e.initialized=true;e.emit(\"init\")};t.prototype.destroy=function(e,t){if(e===void 0){e=true}if(t===void 0){t=true}var i=this;var r=i.params,a=i.$el,s=i.$wrapperEl,n=i.slides;if(typeof i.params===\"undefined\"||i.destroyed){return null}i.emit(\"beforeDestroy\");i.initialized=false;i.detachEvents();if(r.loop){i.loopDestroy()}if(t){i.removeClasses();a.removeAttr(\"style\");s.removeAttr(\"style\");if(n&&n.length){n.removeClass([r.slideVisibleClass,r.slideActiveClass,r.slideNextClass,r.slidePrevClass].join(\" \")).removeAttr(\"style\").removeAttr(\"data-swiper-slide-index\")}}i.emit(\"destroy\");Object.keys(i.eventsListeners).forEach((function(e){i.off(e)}));if(e!==false){i.$el[0].swiper=null;i.$el.data(\"swiper\",null);Utils.deleteProps(i)}i.destroyed=true;return null};t.extendDefaults=function(e){Utils.extend(extendedDefaults,e)};Object.defineProperty(t,\"extendedDefaults\",{get:function(){return extendedDefaults},enumerable:false,configurable:true});Object.defineProperty(t,\"defaults\",{get:function(){return defaults},enumerable:false,configurable:true});Object.defineProperty(t,\"Class\",{get:function(){return SwiperClass},enumerable:false,configurable:true});Object.defineProperty(t,\"$\",{get:function(){return $},enumerable:false,configurable:true});return t}(SwiperClass);var Device$1={name:\"device\",proto:{device:Device},static:{device:Device}};var Support$1={name:\"support\",proto:{support:Support},static:{support:Support}};var Browser=function e(){function t(){var e=win.navigator.userAgent.toLowerCase();return e.indexOf(\"safari\")>=0&&e.indexOf(\"chrome\")<0&&e.indexOf(\"android\")<0}return{isEdge:!!win.navigator.userAgent.match(/Edge/g),isSafari:t(),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(win.navigator.userAgent)}}();var Browser$1={name:\"browser\",proto:{browser:Browser},static:{browser:Browser}};var Resize={name:\"resize\",create:function(){var e=this;Utils.extend(e,{resize:{resizeHandler:function(){if(!e||e.destroyed||!e.initialized)return;e.emit(\"beforeResize\");e.emit(\"resize\")},orientationChangeHandler:function(){if(!e||e.destroyed||!e.initialized)return;e.emit(\"orientationchange\")}}})},on:{init:function(){var e=this;win.addEventListener(\"resize\",e.resize.resizeHandler);win.addEventListener(\"orientationchange\",e.resize.orientationChangeHandler)},destroy:function(){var e=this;win.removeEventListener(\"resize\",e.resize.resizeHandler);win.removeEventListener(\"orientationchange\",e.resize.orientationChangeHandler)}}};var Observer={func:win.MutationObserver||win.WebkitMutationObserver,attach:function(e,t){if(t===void 0){t={}}var i=this;var r=Observer.func;var a=new r((function(e){if(e.length===1){i.emit(\"observerUpdate\",e[0]);return}var t=function t(){i.emit(\"observerUpdate\",e[0])};if(win.requestAnimationFrame){win.requestAnimationFrame(t)}else{win.setTimeout(t,0)}}));a.observe(e,{attributes:typeof t.attributes===\"undefined\"?true:t.attributes,childList:typeof t.childList===\"undefined\"?true:t.childList,characterData:typeof t.characterData===\"undefined\"?true:t.characterData});i.observer.observers.push(a)},init:function(){var e=this;if(!Support.observer||!e.params.observer)return;if(e.params.observeParents){var t=e.$el.parents();for(var i=0;i<t.length;i+=1){e.observer.attach(t[i])}}e.observer.attach(e.$el[0],{childList:e.params.observeSlideChildren});e.observer.attach(e.$wrapperEl[0],{attributes:false})},destroy:function(){var e=this;e.observer.observers.forEach((function(e){e.disconnect()}));e.observer.observers=[]}};var Observer$1={name:\"observer\",params:{observer:false,observeParents:false,observeSlideChildren:false},create:function(){var e=this;Utils.extend(e,{observer:{init:Observer.init.bind(e),attach:Observer.attach.bind(e),destroy:Observer.destroy.bind(e),observers:[]}})},on:{init:function(){var e=this;e.observer.init()},destroy:function(){var e=this;e.observer.destroy()}}};var Keyboard={handle:function(e){var t=this;var i=t.rtlTranslate;var r=e;if(r.originalEvent)r=r.originalEvent;var a=r.keyCode||r.charCode;if(!t.allowSlideNext&&(t.isHorizontal()&&a===39||t.isVertical()&&a===40||a===34)){return false}if(!t.allowSlidePrev&&(t.isHorizontal()&&a===37||t.isVertical()&&a===38||a===33)){return false}if(r.shiftKey||r.altKey||r.ctrlKey||r.metaKey){return undefined}if(doc.activeElement&&doc.activeElement.nodeName&&(doc.activeElement.nodeName.toLowerCase()===\"input\"||doc.activeElement.nodeName.toLowerCase()===\"textarea\")){return undefined}if(t.params.keyboard.onlyInViewport&&(a===33||a===34||a===37||a===39||a===38||a===40)){var s=false;if(t.$el.parents(\".\"+t.params.slideClass).length>0&&t.$el.parents(\".\"+t.params.slideActiveClass).length===0){return undefined}var n=win.innerWidth;var l=win.innerHeight;var o=t.$el.offset();if(i)o.left-=t.$el[0].scrollLeft;var d=[[o.left,o.top],[o.left+t.width,o.top],[o.left,o.top+t.height],[o.left+t.width,o.top+t.height]];for(var u=0;u<d.length;u+=1){var f=d[u];if(f[0]>=0&&f[0]<=n&&f[1]>=0&&f[1]<=l){s=true}}if(!s)return undefined}if(t.isHorizontal()){if(a===33||a===34||a===37||a===39){if(r.preventDefault)r.preventDefault();else r.returnValue=false}if((a===34||a===39)&&!i||(a===33||a===37)&&i)t.slideNext();if((a===33||a===37)&&!i||(a===34||a===39)&&i)t.slidePrev()}else{if(a===33||a===34||a===38||a===40){if(r.preventDefault)r.preventDefault();else r.returnValue=false}if(a===34||a===40)t.slideNext();if(a===33||a===38)t.slidePrev()}t.emit(\"keyPress\",a);return undefined},enable:function(){var e=this;if(e.keyboard.enabled)return;$(doc).on(\"keydown\",e.keyboard.handle);e.keyboard.enabled=true},disable:function(){var e=this;if(!e.keyboard.enabled)return;$(doc).off(\"keydown\",e.keyboard.handle);e.keyboard.enabled=false}};var keyboard={name:\"keyboard\",params:{keyboard:{enabled:false,onlyInViewport:true}},create:function(){var e=this;Utils.extend(e,{keyboard:{enabled:false,enable:Keyboard.enable.bind(e),disable:Keyboard.disable.bind(e),handle:Keyboard.handle.bind(e)}})},on:{init:function(){var e=this;if(e.params.keyboard.enabled){e.keyboard.enable()}},destroy:function(){var e=this;if(e.keyboard.enabled){e.keyboard.disable()}}}};function isEventSupported(){var e=\"onwheel\";var t=e in doc;if(!t){var i=doc.createElement(\"div\");i.setAttribute(e,\"return;\");t=typeof i[e]===\"function\"}if(!t&&doc.implementation&&doc.implementation.hasFeature&&doc.implementation.hasFeature(\"\",\"\")!==true){t=doc.implementation.hasFeature(\"Events.wheel\",\"3.0\")}return t}var Mousewheel={lastScrollTime:Utils.now(),lastEventBeforeSnap:undefined,recentWheelEvents:[],event:function(){if(win.navigator.userAgent.indexOf(\"firefox\")>-1)return\"DOMMouseScroll\";return isEventSupported()?\"wheel\":\"mousewheel\"},normalize:function(e){var t=10;var i=40;var r=800;var a=0;var s=0;var n=0;var l=0;if(\"detail\"in e){s=e.detail}if(\"wheelDelta\"in e){s=-e.wheelDelta/120}if(\"wheelDeltaY\"in e){s=-e.wheelDeltaY/120}if(\"wheelDeltaX\"in e){a=-e.wheelDeltaX/120}if(\"axis\"in e&&e.axis===e.HORIZONTAL_AXIS){a=s;s=0}n=a*t;l=s*t;if(\"deltaY\"in e){l=e.deltaY}if(\"deltaX\"in e){n=e.deltaX}if(e.shiftKey&&!n){n=l;l=0}if((n||l)&&e.deltaMode){if(e.deltaMode===1){n*=i;l*=i}else{n*=r;l*=r}}if(n&&!a){a=n<1?-1:1}if(l&&!s){s=l<1?-1:1}return{spinX:a,spinY:s,pixelX:n,pixelY:l}},handleMouseEnter:function(){var e=this;e.mouseEntered=true},handleMouseLeave:function(){var e=this;e.mouseEntered=false},handle:function(e){var t=e;var i=this;var r=i.params.mousewheel;if(i.params.cssMode){t.preventDefault()}var a=i.$el;if(i.params.mousewheel.eventsTarged!==\"container\"){a=$(i.params.mousewheel.eventsTarged)}if(!i.mouseEntered&&!a[0].contains(t.target)&&!r.releaseOnEdges)return true;if(t.originalEvent)t=t.originalEvent;var s=0;var n=i.rtlTranslate?-1:1;var l=Mousewheel.normalize(t);if(r.forceToAxis){if(i.isHorizontal()){if(Math.abs(l.pixelX)>Math.abs(l.pixelY))s=l.pixelX*n;else return true}else if(Math.abs(l.pixelY)>Math.abs(l.pixelX))s=l.pixelY;else return true}else{s=Math.abs(l.pixelX)>Math.abs(l.pixelY)?-l.pixelX*n:-l.pixelY}if(s===0)return true;if(r.invert)s=-s;if(!i.params.freeMode){var o={time:Utils.now(),delta:Math.abs(s),direction:Math.sign(s),raw:e};var d=i.mousewheel.recentWheelEvents;if(d.length>=2){d.shift()}var u=d.length?d[d.length-1]:undefined;d.push(o);if(u){if(o.direction!==u.direction||o.delta>u.delta||o.time>u.time+150){i.mousewheel.animateSlider(o)}}else{i.mousewheel.animateSlider(o)}if(i.mousewheel.releaseScroll(o)){return true}}else{var f={time:Utils.now(),delta:Math.abs(s),direction:Math.sign(s)};var p=i.mousewheel.lastEventBeforeSnap;var c=p&&f.time<p.time+500&&f.delta<=p.delta&&f.direction===p.direction;if(!c){i.mousewheel.lastEventBeforeSnap=undefined;if(i.params.loop){i.loopFix()}var v=i.getTranslate()+s*r.sensitivity;var h=i.isBeginning;var m=i.isEnd;if(v>=i.minTranslate())v=i.minTranslate();if(v<=i.maxTranslate())v=i.maxTranslate();i.setTransition(0);i.setTranslate(v);i.updateProgress();i.updateActiveIndex();i.updateSlidesClasses();if(!h&&i.isBeginning||!m&&i.isEnd){i.updateSlidesClasses()}if(i.params.freeModeSticky){clearTimeout(i.mousewheel.timeout);i.mousewheel.timeout=undefined;var g=i.mousewheel.recentWheelEvents;if(g.length>=15){g.shift()}var u=g.length?g[g.length-1]:undefined;var w=g[0];g.push(f);if(u&&(f.delta>u.delta||f.direction!==u.direction)){g.splice(0)}else if(g.length>=15&&f.time-w.time<500&&w.delta-f.delta>=1&&f.delta<=6){var b=s>0?.8:.2;i.mousewheel.lastEventBeforeSnap=f;g.splice(0);i.mousewheel.timeout=Utils.nextTick((function(){i.slideToClosest(i.params.speed,true,undefined,b)}),0)}if(!i.mousewheel.timeout){i.mousewheel.timeout=Utils.nextTick((function(){var e=.5;i.mousewheel.lastEventBeforeSnap=f;g.splice(0);i.slideToClosest(i.params.speed,true,undefined,e)}),500)}}if(!c)i.emit(\"scroll\",t);if(i.params.autoplay&&i.params.autoplayDisableOnInteraction)i.autoplay.stop();if(v===i.minTranslate()||v===i.maxTranslate())return true}}if(t.preventDefault)t.preventDefault();else t.returnValue=false;return false},animateSlider:function(e){var t=this;if(e.delta>=6&&Utils.now()-t.mousewheel.lastScrollTime<60){return true}if(e.direction<0){if((!t.isEnd||t.params.loop)&&!t.animating){t.slideNext();t.emit(\"scroll\",e.raw)}}else if((!t.isBeginning||t.params.loop)&&!t.animating){t.slidePrev();t.emit(\"scroll\",e.raw)}t.mousewheel.lastScrollTime=(new win.Date).getTime();return false},releaseScroll:function(e){var t=this;var i=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&i.releaseOnEdges){return true}}else if(t.isBeginning&&!t.params.loop&&i.releaseOnEdges){return true}return false},enable:function(){var e=this;var t=Mousewheel.event();if(e.params.cssMode){e.wrapperEl.removeEventListener(t,e.mousewheel.handle);return true}if(!t)return false;if(e.mousewheel.enabled)return false;var i=e.$el;if(e.params.mousewheel.eventsTarged!==\"container\"){i=$(e.params.mousewheel.eventsTarged)}i.on(\"mouseenter\",e.mousewheel.handleMouseEnter);i.on(\"mouseleave\",e.mousewheel.handleMouseLeave);i.on(t,e.mousewheel.handle);e.mousewheel.enabled=true;return true},disable:function(){var e=this;var t=Mousewheel.event();if(e.params.cssMode){e.wrapperEl.addEventListener(t,e.mousewheel.handle);return true}if(!t)return false;if(!e.mousewheel.enabled)return false;var i=e.$el;if(e.params.mousewheel.eventsTarged!==\"container\"){i=$(e.params.mousewheel.eventsTarged)}i.off(t,e.mousewheel.handle);e.mousewheel.enabled=false;return true}};var Pagination={update:function(){var e=this;var t=e.rtl;var i=e.params.pagination;if(!i.el||!e.pagination.el||!e.pagination.$el||e.pagination.$el.length===0)return;var r=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length;var a=e.pagination.$el;var s;var n=e.params.loop?Math.ceil((r-e.loopedSlides*2)/e.params.slidesPerGroup):e.snapGrid.length;if(e.params.loop){s=Math.ceil((e.activeIndex-e.loopedSlides)/e.params.slidesPerGroup);if(s>r-1-e.loopedSlides*2){s-=r-e.loopedSlides*2}if(s>n-1)s-=n;if(s<0&&e.params.paginationType!==\"bullets\")s=n+s}else if(typeof e.snapIndex!==\"undefined\"){s=e.snapIndex}else{s=e.activeIndex||0}if(i.type===\"bullets\"&&e.pagination.bullets&&e.pagination.bullets.length>0){var l=e.pagination.bullets;var o;var d;var u=void 0;if(i.dynamicBullets){e.pagination.bulletSize=l.eq(0)[e.isHorizontal()?\"outerWidth\":\"outerHeight\"](true);a.css(e.isHorizontal()?\"width\":\"height\",e.pagination.bulletSize*(i.dynamicMainBullets+4)+\"px\");if(i.dynamicMainBullets>1&&e.previousIndex!==undefined){e.pagination.dynamicBulletIndex+=s-e.previousIndex;if(e.pagination.dynamicBulletIndex>i.dynamicMainBullets-1){e.pagination.dynamicBulletIndex=i.dynamicMainBullets-1}else if(e.pagination.dynamicBulletIndex<0){e.pagination.dynamicBulletIndex=0}}o=s-e.pagination.dynamicBulletIndex;d=o+(Math.min(l.length,i.dynamicMainBullets)-1);u=(d+o)/2}l.removeClass(i.bulletActiveClass+\" \"+i.bulletActiveClass+\"-next \"+i.bulletActiveClass+\"-next-next \"+i.bulletActiveClass+\"-prev \"+i.bulletActiveClass+\"-prev-prev \"+i.bulletActiveClass+\"-main\");if(a.length>1){l.each((function(e,t){var r=$(t);var a=r.index();if(a===s){r.addClass(i.bulletActiveClass)}if(i.dynamicBullets){if(a>=o&&a<=d){r.addClass(i.bulletActiveClass+\"-main\")}if(a===o){r.prev().addClass(i.bulletActiveClass+\"-prev\").prev().addClass(i.bulletActiveClass+\"-prev-prev\")}if(a===d){r.next().addClass(i.bulletActiveClass+\"-next\").next().addClass(i.bulletActiveClass+\"-next-next\")}}}))}else{var f=l.eq(s);var p=f.index();f.addClass(i.bulletActiveClass);if(i.dynamicBullets){var c=l.eq(o);var v=l.eq(d);for(var h=o;h<=d;h+=1){l.eq(h).addClass(i.bulletActiveClass+\"-main\")}if(e.params.loop){if(p>=l.length-i.dynamicMainBullets){for(var h=i.dynamicMainBullets;h>=0;h-=1){l.eq(l.length-h).addClass(i.bulletActiveClass+\"-main\")}l.eq(l.length-i.dynamicMainBullets-1).addClass(i.bulletActiveClass+\"-prev\")}else{c.prev().addClass(i.bulletActiveClass+\"-prev\").prev().addClass(i.bulletActiveClass+\"-prev-prev\");v.next().addClass(i.bulletActiveClass+\"-next\").next().addClass(i.bulletActiveClass+\"-next-next\")}}else{c.prev().addClass(i.bulletActiveClass+\"-prev\").prev().addClass(i.bulletActiveClass+\"-prev-prev\");v.next().addClass(i.bulletActiveClass+\"-next\").next().addClass(i.bulletActiveClass+\"-next-next\")}}}if(i.dynamicBullets){var m=Math.min(l.length,i.dynamicMainBullets+4);var g=(e.pagination.bulletSize*m-e.pagination.bulletSize)/2-u*e.pagination.bulletSize;var w=t?\"right\":\"left\";l.css(e.isHorizontal()?w:\"top\",g+\"px\")}}if(i.type===\"fraction\"){a.find(\".\"+i.currentClass).text(i.formatFractionCurrent(s+1));a.find(\".\"+i.totalClass).text(i.formatFractionTotal(n))}if(i.type===\"progressbar\"){var b=void 0;if(i.progressbarOpposite){b=e.isHorizontal()?\"vertical\":\"horizontal\"}else{b=e.isHorizontal()?\"horizontal\":\"vertical\"}var y=(s+1)/n;var S=1;var T=1;if(b===\"horizontal\"){S=y}else{T=y}a.find(\".\"+i.progressbarFillClass).transform(\"translate3d(0,0,0) scaleX(\"+S+\") scaleY(\"+T+\")\").transition(e.params.speed)}if(i.type===\"custom\"&&i.renderCustom){a.html(i.renderCustom(e,s+1,n));e.emit(\"paginationRender\",e,a[0])}else{e.emit(\"paginationUpdate\",e,a[0])}a[e.params.watchOverflow&&e.isLocked?\"addClass\":\"removeClass\"](i.lockClass)},render:function(){var e=this;var t=e.params.pagination;if(!t.el||!e.pagination.el||!e.pagination.$el||e.pagination.$el.length===0)return;var i=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length;var r=e.pagination.$el;var a=\"\";if(t.type===\"bullets\"){var s=e.params.loop?Math.ceil((i-e.loopedSlides*2)/e.params.slidesPerGroup):e.snapGrid.length;for(var n=0;n<s;n+=1){if(t.renderBullet){a+=t.renderBullet.call(e,n,t.bulletClass)}else{a+=\"<\"+t.bulletElement+' class=\"'+t.bulletClass+'\"></'+t.bulletElement+\">\"}}r.html(a);e.pagination.bullets=r.find(\".\"+t.bulletClass)}if(t.type===\"fraction\"){if(t.renderFraction){a=t.renderFraction.call(e,t.currentClass,t.totalClass)}else{a='<span class=\"'+t.currentClass+'\"></span>'+\" / \"+('<span class=\"'+t.totalClass+'\"></span>')}r.html(a)}if(t.type===\"progressbar\"){if(t.renderProgressbar){a=t.renderProgressbar.call(e,t.progressbarFillClass)}else{a='<span class=\"'+t.progressbarFillClass+'\"></span>'}r.html(a)}if(t.type!==\"custom\"){e.emit(\"paginationRender\",e.pagination.$el[0])}},init:function(){var e=this;var t=e.params.pagination;if(!t.el)return;var i=$(t.el);if(i.length===0)return;if(e.params.uniqueNavElements&&typeof t.el===\"string\"&&i.length>1&&e.$el.find(t.el).length===1){i=e.$el.find(t.el)}if(t.type===\"bullets\"&&t.clickable){i.addClass(t.clickableClass)}i.addClass(t.modifierClass+t.type);if(t.type===\"bullets\"&&t.dynamicBullets){i.addClass(\"\"+t.modifierClass+t.type+\"-dynamic\");e.pagination.dynamicBulletIndex=0;if(t.dynamicMainBullets<1){t.dynamicMainBullets=1}}if(t.type===\"progressbar\"&&t.progressbarOpposite){i.addClass(t.progressbarOppositeClass)}if(t.clickable){i.on(\"click\",\".\"+t.bulletClass,(function t(i){i.preventDefault();var r=$(this).index()*e.params.slidesPerGroup;if(e.params.loop)r+=e.loopedSlides;e.slideTo(r)}))}Utils.extend(e.pagination,{$el:i,el:i[0]})},destroy:function(){var e=this;var t=e.params.pagination;if(!t.el||!e.pagination.el||!e.pagination.$el||e.pagination.$el.length===0)return;var i=e.pagination.$el;i.removeClass(t.hiddenClass);i.removeClass(t.modifierClass+t.type);if(e.pagination.bullets)e.pagination.bullets.removeClass(t.bulletActiveClass);if(t.clickable){i.off(\"click\",\".\"+t.bulletClass)}}};var pagination={name:\"pagination\",params:{pagination:{el:null,bulletElement:\"span\",clickable:false,hideOnClick:false,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:false,type:\"bullets\",dynamicBullets:false,dynamicMainBullets:1,formatFractionCurrent:function(e){return e},formatFractionTotal:function(e){return e},bulletClass:\"swiper-pagination-bullet\",bulletActiveClass:\"swiper-pagination-bullet-active\",modifierClass:\"swiper-pagination-\",currentClass:\"swiper-pagination-current\",totalClass:\"swiper-pagination-total\",hiddenClass:\"swiper-pagination-hidden\",progressbarFillClass:\"swiper-pagination-progressbar-fill\",progressbarOppositeClass:\"swiper-pagination-progressbar-opposite\",clickableClass:\"swiper-pagination-clickable\",lockClass:\"swiper-pagination-lock\"}},create:function(){var e=this;Utils.extend(e,{pagination:{init:Pagination.init.bind(e),render:Pagination.render.bind(e),update:Pagination.update.bind(e),destroy:Pagination.destroy.bind(e),dynamicBulletIndex:0}})},on:{init:function(){var e=this;e.pagination.init();e.pagination.render();e.pagination.update()},activeIndexChange:function(){var e=this;if(e.params.loop){e.pagination.update()}else if(typeof e.snapIndex===\"undefined\"){e.pagination.update()}},snapIndexChange:function(){var e=this;if(!e.params.loop){e.pagination.update()}},slidesLengthChange:function(){var e=this;if(e.params.loop){e.pagination.render();e.pagination.update()}},snapGridLengthChange:function(){var e=this;if(!e.params.loop){e.pagination.render();e.pagination.update()}},destroy:function(){var e=this;e.pagination.destroy()},click:function(e){var t=this;if(t.params.pagination.el&&t.params.pagination.hideOnClick&&t.pagination.$el.length>0&&!$(e.target).hasClass(t.params.pagination.bulletClass)){var i=t.pagination.$el.hasClass(t.params.pagination.hiddenClass);if(i===true){t.emit(\"paginationShow\",t)}else{t.emit(\"paginationHide\",t)}t.pagination.$el.toggleClass(t.params.pagination.hiddenClass)}}}};var Scrollbar={setTranslate:function(){var e=this;if(!e.params.scrollbar.el||!e.scrollbar.el)return;var t=e.scrollbar,i=e.rtlTranslate,r=e.progress;var a=t.dragSize,s=t.trackSize,n=t.$dragEl,l=t.$el;var o=e.params.scrollbar;var d=a;var u=(s-a)*r;if(i){u=-u;if(u>0){d=a-u;u=0}else if(-u+a>s){d=s+u}}else if(u<0){d=a+u;u=0}else if(u+a>s){d=s-u}if(e.isHorizontal()){n.transform(\"translate3d(\"+u+\"px, 0, 0)\");n[0].style.width=d+\"px\"}else{n.transform(\"translate3d(0px, \"+u+\"px, 0)\");n[0].style.height=d+\"px\"}if(o.hide){clearTimeout(e.scrollbar.timeout);l[0].style.opacity=1;e.scrollbar.timeout=setTimeout((function(){l[0].style.opacity=0;l.transition(400)}),1e3)}},setTransition:function(e){var t=this;if(!t.params.scrollbar.el||!t.scrollbar.el)return;t.scrollbar.$dragEl.transition(e)},updateSize:function(){var e=this;if(!e.params.scrollbar.el||!e.scrollbar.el)return;var t=e.scrollbar;var i=t.$dragEl,r=t.$el;i[0].style.width=\"\";i[0].style.height=\"\";var a=e.isHorizontal()?r[0].offsetWidth:r[0].offsetHeight;var s=e.size/e.virtualSize;var n=s*(a/e.size);var l;if(e.params.scrollbar.dragSize===\"auto\"){l=a*s}else{l=parseInt(e.params.scrollbar.dragSize,10)}if(e.isHorizontal()){i[0].style.width=l+\"px\"}else{i[0].style.height=l+\"px\"}if(s>=1){r[0].style.display=\"none\"}else{r[0].style.display=\"\"}if(e.params.scrollbar.hide){r[0].style.opacity=0}Utils.extend(t,{trackSize:a,divider:s,moveDivider:n,dragSize:l});t.$el[e.params.watchOverflow&&e.isLocked?\"addClass\":\"removeClass\"](e.params.scrollbar.lockClass)},getPointerPosition:function(e){var t=this;if(t.isHorizontal()){return e.type===\"touchstart\"||e.type===\"touchmove\"?e.targetTouches[0].clientX:e.clientX}return e.type===\"touchstart\"||e.type===\"touchmove\"?e.targetTouches[0].clientY:e.clientY},setDragPosition:function(e){var t=this;var i=t.scrollbar,r=t.rtlTranslate;var a=i.$el,s=i.dragSize,n=i.trackSize,l=i.dragStartPos;var o;o=(i.getPointerPosition(e)-a.offset()[t.isHorizontal()?\"left\":\"top\"]-(l!==null?l:s/2))/(n-s);o=Math.max(Math.min(o,1),0);if(r){o=1-o}var d=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*o;t.updateProgress(d);t.setTranslate(d);t.updateActiveIndex();t.updateSlidesClasses()},onDragStart:function(e){var t=this;var i=t.params.scrollbar;var r=t.scrollbar,a=t.$wrapperEl;var s=r.$el,n=r.$dragEl;t.scrollbar.isTouched=true;t.scrollbar.dragStartPos=e.target===n[0]||e.target===n?r.getPointerPosition(e)-e.target.getBoundingClientRect()[t.isHorizontal()?\"left\":\"top\"]:null;e.preventDefault();e.stopPropagation();a.transition(100);n.transition(100);r.setDragPosition(e);clearTimeout(t.scrollbar.dragTimeout);s.transition(0);if(i.hide){s.css(\"opacity\",1)}if(t.params.cssMode){t.$wrapperEl.css(\"scroll-snap-type\",\"none\")}t.emit(\"scrollbarDragStart\",e)},onDragMove:function(e){var t=this;var i=t.scrollbar,r=t.$wrapperEl;var a=i.$el,s=i.$dragEl;if(!t.scrollbar.isTouched)return;if(e.preventDefault)e.preventDefault();else e.returnValue=false;i.setDragPosition(e);r.transition(0);a.transition(0);s.transition(0);t.emit(\"scrollbarDragMove\",e)},onDragEnd:function(e){var t=this;var i=t.params.scrollbar;var r=t.scrollbar,a=t.$wrapperEl;var s=r.$el;if(!t.scrollbar.isTouched)return;t.scrollbar.isTouched=false;if(t.params.cssMode){t.$wrapperEl.css(\"scroll-snap-type\",\"\");a.transition(\"\")}if(i.hide){clearTimeout(t.scrollbar.dragTimeout);t.scrollbar.dragTimeout=Utils.nextTick((function(){s.css(\"opacity\",0);s.transition(400)}),1e3)}t.emit(\"scrollbarDragEnd\",e);if(i.snapOnRelease){t.slideToClosest()}},enableDraggable:function(){var e=this;if(!e.params.scrollbar.el)return;var t=e.scrollbar,i=e.touchEventsTouch,r=e.touchEventsDesktop,a=e.params;var s=t.$el;var n=s[0];var l=Support.passiveListener&&a.passiveListeners?{passive:false,capture:false}:false;var o=Support.passiveListener&&a.passiveListeners?{passive:true,capture:false}:false;if(!Support.touch){n.addEventListener(r.start,e.scrollbar.onDragStart,l);doc.addEventListener(r.move,e.scrollbar.onDragMove,l);doc.addEventListener(r.end,e.scrollbar.onDragEnd,o)}else{n.addEventListener(i.start,e.scrollbar.onDragStart,l);n.addEventListener(i.move,e.scrollbar.onDragMove,l);n.addEventListener(i.end,e.scrollbar.onDragEnd,o)}},disableDraggable:function(){var e=this;if(!e.params.scrollbar.el)return;var t=e.scrollbar,i=e.touchEventsTouch,r=e.touchEventsDesktop,a=e.params;var s=t.$el;var n=s[0];var l=Support.passiveListener&&a.passiveListeners?{passive:false,capture:false}:false;var o=Support.passiveListener&&a.passiveListeners?{passive:true,capture:false}:false;if(!Support.touch){n.removeEventListener(r.start,e.scrollbar.onDragStart,l);doc.removeEventListener(r.move,e.scrollbar.onDragMove,l);doc.removeEventListener(r.end,e.scrollbar.onDragEnd,o)}else{n.removeEventListener(i.start,e.scrollbar.onDragStart,l);n.removeEventListener(i.move,e.scrollbar.onDragMove,l);n.removeEventListener(i.end,e.scrollbar.onDragEnd,o)}},init:function(){var e=this;if(!e.params.scrollbar.el)return;var t=e.scrollbar,i=e.$el;var r=e.params.scrollbar;var a=$(r.el);if(e.params.uniqueNavElements&&typeof r.el===\"string\"&&a.length>1&&i.find(r.el).length===1){a=i.find(r.el)}var s=a.find(\".\"+e.params.scrollbar.dragClass);if(s.length===0){s=$('<div class=\"'+e.params.scrollbar.dragClass+'\"></div>');a.append(s)}Utils.extend(t,{$el:a,el:a[0],$dragEl:s,dragEl:s[0]});if(r.draggable){t.enableDraggable()}},destroy:function(){var e=this;e.scrollbar.disableDraggable()}};var scrollbar={name:\"scrollbar\",params:{scrollbar:{el:null,dragSize:\"auto\",hide:false,draggable:false,snapOnRelease:true,lockClass:\"swiper-scrollbar-lock\",dragClass:\"swiper-scrollbar-drag\"}},create:function(){var e=this;Utils.extend(e,{scrollbar:{init:Scrollbar.init.bind(e),destroy:Scrollbar.destroy.bind(e),updateSize:Scrollbar.updateSize.bind(e),setTranslate:Scrollbar.setTranslate.bind(e),setTransition:Scrollbar.setTransition.bind(e),enableDraggable:Scrollbar.enableDraggable.bind(e),disableDraggable:Scrollbar.disableDraggable.bind(e),setDragPosition:Scrollbar.setDragPosition.bind(e),getPointerPosition:Scrollbar.getPointerPosition.bind(e),onDragStart:Scrollbar.onDragStart.bind(e),onDragMove:Scrollbar.onDragMove.bind(e),onDragEnd:Scrollbar.onDragEnd.bind(e),isTouched:false,timeout:null,dragTimeout:null}})},on:{init:function(){var e=this;e.scrollbar.init();e.scrollbar.updateSize();e.scrollbar.setTranslate()},update:function(){var e=this;e.scrollbar.updateSize()},resize:function(){var e=this;e.scrollbar.updateSize()},observerUpdate:function(){var e=this;e.scrollbar.updateSize()},setTranslate:function(){var e=this;e.scrollbar.setTranslate()},setTransition:function(e){var t=this;t.scrollbar.setTransition(e)},destroy:function(){var e=this;e.scrollbar.destroy()}}};var Zoom={getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var t=e.targetTouches[0].pageX;var i=e.targetTouches[0].pageY;var r=e.targetTouches[1].pageX;var a=e.targetTouches[1].pageY;var s=Math.sqrt(Math.pow(r-t,2)+Math.pow(a-i,2));return s},onGestureStart:function(e){var t=this;var i=t.params.zoom;var r=t.zoom;var a=r.gesture;r.fakeGestureTouched=false;r.fakeGestureMoved=false;if(!Support.gestures){if(e.type!==\"touchstart\"||e.type===\"touchstart\"&&e.targetTouches.length<2){return}r.fakeGestureTouched=true;a.scaleStart=Zoom.getDistanceBetweenTouches(e)}if(!a.$slideEl||!a.$slideEl.length){a.$slideEl=$(e.target).closest(\".\"+t.params.slideClass);if(a.$slideEl.length===0)a.$slideEl=t.slides.eq(t.activeIndex);a.$imageEl=a.$slideEl.find(\"img, svg, canvas, picture, .swiper-zoom-target\");a.$imageWrapEl=a.$imageEl.parent(\".\"+i.containerClass);a.maxRatio=a.$imageWrapEl.attr(\"data-swiper-zoom\")||i.maxRatio;if(a.$imageWrapEl.length===0){a.$imageEl=undefined;return}}if(a.$imageEl){a.$imageEl.transition(0)}t.zoom.isScaling=true},onGestureChange:function(e){var t=this;var i=t.params.zoom;var r=t.zoom;var a=r.gesture;if(!Support.gestures){if(e.type!==\"touchmove\"||e.type===\"touchmove\"&&e.targetTouches.length<2){return}r.fakeGestureMoved=true;a.scaleMove=Zoom.getDistanceBetweenTouches(e)}if(!a.$imageEl||a.$imageEl.length===0)return;if(Support.gestures){r.scale=e.scale*r.currentScale}else{r.scale=a.scaleMove/a.scaleStart*r.currentScale}if(r.scale>a.maxRatio){r.scale=a.maxRatio-1+Math.pow(r.scale-a.maxRatio+1,.5)}if(r.scale<i.minRatio){r.scale=i.minRatio+1-Math.pow(i.minRatio-r.scale+1,.5)}a.$imageEl.transform(\"translate3d(0,0,0) scale(\"+r.scale+\")\")},onGestureEnd:function(e){var t=this;var i=t.params.zoom;var r=t.zoom;var a=r.gesture;if(!Support.gestures){if(!r.fakeGestureTouched||!r.fakeGestureMoved){return}if(e.type!==\"touchend\"||e.type===\"touchend\"&&e.changedTouches.length<2&&!Device.android){return}r.fakeGestureTouched=false;r.fakeGestureMoved=false}if(!a.$imageEl||a.$imageEl.length===0)return;r.scale=Math.max(Math.min(r.scale,a.maxRatio),i.minRatio);a.$imageEl.transition(t.params.speed).transform(\"translate3d(0,0,0) scale(\"+r.scale+\")\");r.currentScale=r.scale;r.isScaling=false;if(r.scale===1)a.$slideEl=undefined},onTouchStart:function(e){var t=this;var i=t.zoom;var r=i.gesture,a=i.image;if(!r.$imageEl||r.$imageEl.length===0)return;if(a.isTouched)return;if(Device.android&&e.cancelable)e.preventDefault();a.isTouched=true;a.touchesStart.x=e.type===\"touchstart\"?e.targetTouches[0].pageX:e.pageX;a.touchesStart.y=e.type===\"touchstart\"?e.targetTouches[0].pageY:e.pageY},onTouchMove:function(e){var t=this;var i=t.zoom;var r=i.gesture,a=i.image,s=i.velocity;if(!r.$imageEl||r.$imageEl.length===0)return;t.allowClick=false;if(!a.isTouched||!r.$slideEl)return;if(!a.isMoved){a.width=r.$imageEl[0].offsetWidth;a.height=r.$imageEl[0].offsetHeight;a.startX=Utils.getTranslate(r.$imageWrapEl[0],\"x\")||0;a.startY=Utils.getTranslate(r.$imageWrapEl[0],\"y\")||0;r.slideWidth=r.$slideEl[0].offsetWidth;r.slideHeight=r.$slideEl[0].offsetHeight;r.$imageWrapEl.transition(0);if(t.rtl){a.startX=-a.startX;a.startY=-a.startY}}var n=a.width*i.scale;var l=a.height*i.scale;if(n<r.slideWidth&&l<r.slideHeight)return;a.minX=Math.min(r.slideWidth/2-n/2,0);a.maxX=-a.minX;a.minY=Math.min(r.slideHeight/2-l/2,0);a.maxY=-a.minY;a.touchesCurrent.x=e.type===\"touchmove\"?e.targetTouches[0].pageX:e.pageX;a.touchesCurrent.y=e.type===\"touchmove\"?e.targetTouches[0].pageY:e.pageY;if(!a.isMoved&&!i.isScaling){if(t.isHorizontal()&&(Math.floor(a.minX)===Math.floor(a.startX)&&a.touchesCurrent.x<a.touchesStart.x||Math.floor(a.maxX)===Math.floor(a.startX)&&a.touchesCurrent.x>a.touchesStart.x)){a.isTouched=false;return}if(!t.isHorizontal()&&(Math.floor(a.minY)===Math.floor(a.startY)&&a.touchesCurrent.y<a.touchesStart.y||Math.floor(a.maxY)===Math.floor(a.startY)&&a.touchesCurrent.y>a.touchesStart.y)){a.isTouched=false;return}}if(e.cancelable){e.preventDefault()}e.stopPropagation();a.isMoved=true;a.currentX=a.touchesCurrent.x-a.touchesStart.x+a.startX;a.currentY=a.touchesCurrent.y-a.touchesStart.y+a.startY;if(a.currentX<a.minX){a.currentX=a.minX+1-Math.pow(a.minX-a.currentX+1,.8)}if(a.currentX>a.maxX){a.currentX=a.maxX-1+Math.pow(a.currentX-a.maxX+1,.8)}if(a.currentY<a.minY){a.currentY=a.minY+1-Math.pow(a.minY-a.currentY+1,.8)}if(a.currentY>a.maxY){a.currentY=a.maxY-1+Math.pow(a.currentY-a.maxY+1,.8)}if(!s.prevPositionX)s.prevPositionX=a.touchesCurrent.x;if(!s.prevPositionY)s.prevPositionY=a.touchesCurrent.y;if(!s.prevTime)s.prevTime=Date.now();s.x=(a.touchesCurrent.x-s.prevPositionX)/(Date.now()-s.prevTime)/2;s.y=(a.touchesCurrent.y-s.prevPositionY)/(Date.now()-s.prevTime)/2;if(Math.abs(a.touchesCurrent.x-s.prevPositionX)<2)s.x=0;if(Math.abs(a.touchesCurrent.y-s.prevPositionY)<2)s.y=0;s.prevPositionX=a.touchesCurrent.x;s.prevPositionY=a.touchesCurrent.y;s.prevTime=Date.now();r.$imageWrapEl.transform(\"translate3d(\"+a.currentX+\"px, \"+a.currentY+\"px,0)\")},onTouchEnd:function(){var e=this;var t=e.zoom;var i=t.gesture,r=t.image,a=t.velocity;if(!i.$imageEl||i.$imageEl.length===0)return;if(!r.isTouched||!r.isMoved){r.isTouched=false;r.isMoved=false;return}r.isTouched=false;r.isMoved=false;var s=300;var n=300;var l=a.x*s;var o=r.currentX+l;var d=a.y*n;var u=r.currentY+d;if(a.x!==0)s=Math.abs((o-r.currentX)/a.x);if(a.y!==0)n=Math.abs((u-r.currentY)/a.y);var f=Math.max(s,n);r.currentX=o;r.currentY=u;var p=r.width*t.scale;var c=r.height*t.scale;r.minX=Math.min(i.slideWidth/2-p/2,0);r.maxX=-r.minX;r.minY=Math.min(i.slideHeight/2-c/2,0);r.maxY=-r.minY;r.currentX=Math.max(Math.min(r.currentX,r.maxX),r.minX);r.currentY=Math.max(Math.min(r.currentY,r.maxY),r.minY);i.$imageWrapEl.transition(f).transform(\"translate3d(\"+r.currentX+\"px, \"+r.currentY+\"px,0)\")},onTransitionEnd:function(){var e=this;var t=e.zoom;var i=t.gesture;if(i.$slideEl&&e.previousIndex!==e.activeIndex){if(i.$imageEl){i.$imageEl.transform(\"translate3d(0,0,0) scale(1)\")}if(i.$imageWrapEl){i.$imageWrapEl.transform(\"translate3d(0,0,0)\")}t.scale=1;t.currentScale=1;i.$slideEl=undefined;i.$imageEl=undefined;i.$imageWrapEl=undefined}},toggle:function(e){var t=this;var i=t.zoom;if(i.scale&&i.scale!==1){i.out()}else{i.in(e)}},in:function(e){var t=this;var i=t.zoom;var r=t.params.zoom;var a=i.gesture,s=i.image;if(!a.$slideEl){if(t.params.virtual&&t.params.virtual.enabled&&t.virtual){a.$slideEl=t.$wrapperEl.children(\".\"+t.params.slideActiveClass)}else{a.$slideEl=t.slides.eq(t.activeIndex)}a.$imageEl=a.$slideEl.find(\"img, svg, canvas, picture, .swiper-zoom-target\");a.$imageWrapEl=a.$imageEl.parent(\".\"+r.containerClass)}if(!a.$imageEl||a.$imageEl.length===0)return;a.$slideEl.addClass(\"\"+r.zoomedSlideClass);var n;var l;var o;var d;var u;var f;var p;var c;var v;var h;var m;var g;var w;var b;var y;var S;var T;var E;if(typeof s.touchesStart.x===\"undefined\"&&e){n=e.type===\"touchend\"?e.changedTouches[0].pageX:e.pageX;l=e.type===\"touchend\"?e.changedTouches[0].pageY:e.pageY}else{n=s.touchesStart.x;l=s.touchesStart.y}i.scale=a.$imageWrapEl.attr(\"data-swiper-zoom\")||r.maxRatio;i.currentScale=a.$imageWrapEl.attr(\"data-swiper-zoom\")||r.maxRatio;if(e){T=a.$slideEl[0].offsetWidth;E=a.$slideEl[0].offsetHeight;o=a.$slideEl.offset().left;d=a.$slideEl.offset().top;u=o+T/2-n;f=d+E/2-l;v=a.$imageEl[0].offsetWidth;h=a.$imageEl[0].offsetHeight;m=v*i.scale;g=h*i.scale;w=Math.min(T/2-m/2,0);b=Math.min(E/2-g/2,0);y=-w;S=-b;p=u*i.scale;c=f*i.scale;if(p<w){p=w}if(p>y){p=y}if(c<b){c=b}if(c>S){c=S}}else{p=0;c=0}a.$imageWrapEl.transition(300).transform(\"translate3d(\"+p+\"px, \"+c+\"px,0)\");a.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(\"+i.scale+\")\")},out:function(){var e=this;var t=e.zoom;var i=e.params.zoom;var r=t.gesture;if(!r.$slideEl){if(e.params.virtual&&e.params.virtual.enabled&&e.virtual){r.$slideEl=e.$wrapperEl.children(\".\"+e.params.slideActiveClass)}else{r.$slideEl=e.slides.eq(e.activeIndex)}r.$imageEl=r.$slideEl.find(\"img, svg, canvas, picture, .swiper-zoom-target\");r.$imageWrapEl=r.$imageEl.parent(\".\"+i.containerClass)}if(!r.$imageEl||r.$imageEl.length===0)return;t.scale=1;t.currentScale=1;r.$imageWrapEl.transition(300).transform(\"translate3d(0,0,0)\");r.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(1)\");r.$slideEl.removeClass(\"\"+i.zoomedSlideClass);r.$slideEl=undefined},enable:function(){var e=this;var t=e.zoom;if(t.enabled)return;t.enabled=true;var i=e.touchEvents.start===\"touchstart\"&&Support.passiveListener&&e.params.passiveListeners?{passive:true,capture:false}:false;var r=Support.passiveListener?{passive:false,capture:true}:true;var a=\".\"+e.params.slideClass;if(Support.gestures){e.$wrapperEl.on(\"gesturestart\",a,t.onGestureStart,i);e.$wrapperEl.on(\"gesturechange\",a,t.onGestureChange,i);e.$wrapperEl.on(\"gestureend\",a,t.onGestureEnd,i)}else if(e.touchEvents.start===\"touchstart\"){e.$wrapperEl.on(e.touchEvents.start,a,t.onGestureStart,i);e.$wrapperEl.on(e.touchEvents.move,a,t.onGestureChange,r);e.$wrapperEl.on(e.touchEvents.end,a,t.onGestureEnd,i);if(e.touchEvents.cancel){e.$wrapperEl.on(e.touchEvents.cancel,a,t.onGestureEnd,i)}}e.$wrapperEl.on(e.touchEvents.move,\".\"+e.params.zoom.containerClass,t.onTouchMove,r)},disable:function(){var e=this;var t=e.zoom;if(!t.enabled)return;e.zoom.enabled=false;var i=e.touchEvents.start===\"touchstart\"&&Support.passiveListener&&e.params.passiveListeners?{passive:true,capture:false}:false;var r=Support.passiveListener?{passive:false,capture:true}:true;var a=\".\"+e.params.slideClass;if(Support.gestures){e.$wrapperEl.off(\"gesturestart\",a,t.onGestureStart,i);e.$wrapperEl.off(\"gesturechange\",a,t.onGestureChange,i);e.$wrapperEl.off(\"gestureend\",a,t.onGestureEnd,i)}else if(e.touchEvents.start===\"touchstart\"){e.$wrapperEl.off(e.touchEvents.start,a,t.onGestureStart,i);e.$wrapperEl.off(e.touchEvents.move,a,t.onGestureChange,r);e.$wrapperEl.off(e.touchEvents.end,a,t.onGestureEnd,i);if(e.touchEvents.cancel){e.$wrapperEl.off(e.touchEvents.cancel,a,t.onGestureEnd,i)}}e.$wrapperEl.off(e.touchEvents.move,\".\"+e.params.zoom.containerClass,t.onTouchMove,r)}};var zoom={name:\"zoom\",params:{zoom:{enabled:false,maxRatio:3,minRatio:1,toggle:true,containerClass:\"swiper-zoom-container\",zoomedSlideClass:\"swiper-slide-zoomed\"}},create:function(){var e=this;var t={enabled:false,scale:1,currentScale:1,isScaling:false,gesture:{$slideEl:undefined,slideWidth:undefined,slideHeight:undefined,$imageEl:undefined,$imageWrapEl:undefined,maxRatio:3},image:{isTouched:undefined,isMoved:undefined,currentX:undefined,currentY:undefined,minX:undefined,minY:undefined,maxX:undefined,maxY:undefined,width:undefined,height:undefined,startX:undefined,startY:undefined,touchesStart:{},touchesCurrent:{}},velocity:{x:undefined,y:undefined,prevPositionX:undefined,prevPositionY:undefined,prevTime:undefined}};\"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out\".split(\" \").forEach((function(i){t[i]=Zoom[i].bind(e)}));Utils.extend(e,{zoom:t});var i=1;Object.defineProperty(e.zoom,\"scale\",{get:function(){return i},set:function(t){if(i!==t){var r=e.zoom.gesture.$imageEl?e.zoom.gesture.$imageEl[0]:undefined;var a=e.zoom.gesture.$slideEl?e.zoom.gesture.$slideEl[0]:undefined;e.emit(\"zoomChange\",t,r,a)}i=t}})},on:{init:function(){var e=this;if(e.params.zoom.enabled){e.zoom.enable()}},destroy:function(){var e=this;e.zoom.disable()},touchStart:function(e){var t=this;if(!t.zoom.enabled)return;t.zoom.onTouchStart(e)},touchEnd:function(e){var t=this;if(!t.zoom.enabled)return;t.zoom.onTouchEnd(e)},doubleTap:function(e){var t=this;if(t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle){t.zoom.toggle(e)}},transitionEnd:function(){var e=this;if(e.zoom.enabled&&e.params.zoom.enabled){e.zoom.onTransitionEnd()}},slideChange:function(){var e=this;if(e.zoom.enabled&&e.params.zoom.enabled&&e.params.cssMode){e.zoom.onTransitionEnd()}}}};var Autoplay={run:function(){var e=this;var t=e.slides.eq(e.activeIndex);var i=e.params.autoplay.delay;if(t.attr(\"data-swiper-autoplay\")){i=t.attr(\"data-swiper-autoplay\")||e.params.autoplay.delay}clearTimeout(e.autoplay.timeout);e.autoplay.timeout=Utils.nextTick((function(){if(e.params.autoplay.reverseDirection){if(e.params.loop){e.loopFix();e.slidePrev(e.params.speed,true,true);e.emit(\"autoplay\")}else if(!e.isBeginning){e.slidePrev(e.params.speed,true,true);e.emit(\"autoplay\")}else if(!e.params.autoplay.stopOnLastSlide){e.slideTo(e.slides.length-1,e.params.speed,true,true);e.emit(\"autoplay\")}else{e.autoplay.stop()}}else if(e.params.loop){e.loopFix();e.slideNext(e.params.speed,true,true);e.emit(\"autoplay\")}else if(!e.isEnd){e.slideNext(e.params.speed,true,true);e.emit(\"autoplay\")}else if(!e.params.autoplay.stopOnLastSlide){e.slideTo(0,e.params.speed,true,true);e.emit(\"autoplay\")}else{e.autoplay.stop()}if(e.params.cssMode&&e.autoplay.running)e.autoplay.run()}),i)},start:function(){var e=this;if(typeof e.autoplay.timeout!==\"undefined\")return false;if(e.autoplay.running)return false;e.autoplay.running=true;e.emit(\"autoplayStart\");e.autoplay.run();return true},stop:function(){var e=this;if(!e.autoplay.running)return false;if(typeof e.autoplay.timeout===\"undefined\")return false;if(e.autoplay.timeout){clearTimeout(e.autoplay.timeout);e.autoplay.timeout=undefined}e.autoplay.running=false;e.emit(\"autoplayStop\");return true},pause:function(e){var t=this;if(!t.autoplay.running)return;if(t.autoplay.paused)return;if(t.autoplay.timeout)clearTimeout(t.autoplay.timeout);t.autoplay.paused=true;if(e===0||!t.params.autoplay.waitForTransition){t.autoplay.paused=false;t.autoplay.run()}else{t.$wrapperEl[0].addEventListener(\"transitionend\",t.autoplay.onTransitionEnd);t.$wrapperEl[0].addEventListener(\"webkitTransitionEnd\",t.autoplay.onTransitionEnd)}}};var autoplay={name:\"autoplay\",params:{autoplay:{enabled:false,delay:3e3,waitForTransition:true,disableOnInteraction:true,stopOnLastSlide:false,reverseDirection:false}},create:function(){var e=this;Utils.extend(e,{autoplay:{running:false,paused:false,run:Autoplay.run.bind(e),start:Autoplay.start.bind(e),stop:Autoplay.stop.bind(e),pause:Autoplay.pause.bind(e),onVisibilityChange:function(){if(document.visibilityState===\"hidden\"&&e.autoplay.running){e.autoplay.pause()}if(document.visibilityState===\"visible\"&&e.autoplay.paused){e.autoplay.run();e.autoplay.paused=false}},onTransitionEnd:function(t){if(!e||e.destroyed||!e.$wrapperEl)return;if(t.target!==this)return;e.$wrapperEl[0].removeEventListener(\"transitionend\",e.autoplay.onTransitionEnd);e.$wrapperEl[0].removeEventListener(\"webkitTransitionEnd\",e.autoplay.onTransitionEnd);e.autoplay.paused=false;if(!e.autoplay.running){e.autoplay.stop()}else{e.autoplay.run()}}}})},on:{init:function(){var e=this;if(e.params.autoplay.enabled){e.autoplay.start();document.addEventListener(\"visibilitychange\",e.autoplay.onVisibilityChange)}},beforeTransitionStart:function(e,t){var i=this;if(i.autoplay.running){if(t||!i.params.autoplay.disableOnInteraction){i.autoplay.pause(e)}else{i.autoplay.stop()}}},sliderFirstMove:function(){var e=this;if(e.autoplay.running){if(e.params.autoplay.disableOnInteraction){e.autoplay.stop()}else{e.autoplay.pause()}}},touchEnd:function(){var e=this;if(e.params.cssMode&&e.autoplay.paused&&!e.params.autoplay.disableOnInteraction){e.autoplay.run()}},destroy:function(){var e=this;if(e.autoplay.running){e.autoplay.stop()}document.removeEventListener(\"visibilitychange\",e.autoplay.onVisibilityChange)}}};var components=[Device$1,Support$1,Browser$1,Resize,Observer$1];if(typeof Swiper.use===\"undefined\"){Swiper.use=Swiper.Class.use;Swiper.installModule=Swiper.Class.installModule}Swiper.use(components);Swiper.use([pagination,scrollbar,autoplay,keyboard,zoom]);export{Swiper};"]},"metadata":{},"sourceType":"module"}