{"version":3,"file":"1da4ca898602a23e764a-690.js","mappings":"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","sources":["webpack://letusletu/./node_modules/@dbs/style-switcher/dist/index.js","webpack://letusletu/./node_modules/bootstrap/js/dist/carousel.js","webpack://letusletu/./node_modules/bootstrap/js/dist/popover.js","webpack://letusletu/./node_modules/bootstrap/js/dist/tab.js","webpack://letusletu/./node_modules/bootstrap/js/dist/tooltip.js","webpack://letusletu/./node_modules/bxslider/src/js/jquery.bxslider.js","webpack://letusletu/./node_modules/jquery-colorbox/jquery.colorbox.js","webpack://letusletu/./node_modules/jssocials/dist/jssocials.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SetActiveStyleSheet = void 0;\nfunction readCookie(name) {\n var nameEq = name + \"=\";\n var ca = document.cookie.split(\";\");\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === \" \") {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEq) === 0) {\n return c.substring(nameEq.length, c.length);\n }\n }\n return null;\n}\nfunction createCookie(name, value, days) {\n var expires;\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n expires = \"; expires=\" + date.toUTCString();\n }\n else {\n expires = \"\";\n }\n document.cookie = name + \"=\" + value + expires + \"; path=/\";\n}\nfunction getPreferredStyleSheet() {\n var i;\n var a;\n for (i = 0; (a = document.getElementsByTagName(\"link\")[i]); i++) {\n var relAttr = a.getAttribute(\"rel\");\n if (relAttr != null &&\n relAttr.indexOf(\"style\") !== -1 &&\n relAttr.indexOf(\"alt\") === -1 &&\n a.getAttribute(\"title\")) {\n return a.getAttribute(\"title\");\n }\n }\n return null;\n}\nfunction getActiveStyleSheet() {\n var i;\n var a;\n for (i = 0; (a = document.getElementsByTagName(\"link\")[i]); i++) {\n var relAttr = a.getAttribute(\"rel\");\n if (relAttr != null && relAttr === \"alternate stylesheet\" && a.getAttribute(\"href\") && a.getAttribute(\"title\") && !a.disabled) {\n return a.getAttribute(\"title\");\n }\n }\n return null;\n}\nfunction onLoad() {\n var cookie = readCookie(\"style\");\n var title = cookie\n ? cookie\n : getPreferredStyleSheet();\n SetActiveStyleSheet(title);\n}\nfunction onUnload() {\n var sheet = getActiveStyleSheet();\n var sheetName = sheet != null ? sheet : \"\";\n createCookie(\"style\", sheetName, 365);\n}\nfunction SetActiveStyleSheet(title) {\n var i;\n var a;\n for (i = 0; (a = document.getElementsByTagName(\"link\")[i]); i++) {\n var relAttr = a.getAttribute(\"rel\");\n if (relAttr != null && relAttr === \"alternate stylesheet\" && a.getAttribute(\"title\")) {\n a.disabled = true;\n if (a.getAttribute(\"title\") === title) {\n a.disabled = false;\n }\n }\n }\n}\nexports.SetActiveStyleSheet = SetActiveStyleSheet;\nwindow.addEventListener(\"load\", onLoad);\nwindow.addEventListener(\"beforeunload\", onUnload);\nwindow.SetActiveStyleSheet = SetActiveStyleSheet;\n","/*!\n * Bootstrap carousel.js v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :\n typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.jQuery, global.Util));\n})(this, (function ($, Util) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\n var $__default = /*#__PURE__*/_interopDefaultLegacy($);\n var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n /**\n * Constants\n */\n\n var NAME = 'carousel';\n var VERSION = '4.6.1';\n var DATA_KEY = 'bs.carousel';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $__default[\"default\"].fn[NAME];\n var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\n\n var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\n\n var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\n var SWIPE_THRESHOLD = 40;\n var CLASS_NAME_CAROUSEL = 'carousel';\n var CLASS_NAME_ACTIVE = 'active';\n var CLASS_NAME_SLIDE = 'slide';\n var CLASS_NAME_RIGHT = 'carousel-item-right';\n var CLASS_NAME_LEFT = 'carousel-item-left';\n var CLASS_NAME_NEXT = 'carousel-item-next';\n var CLASS_NAME_PREV = 'carousel-item-prev';\n var CLASS_NAME_POINTER_EVENT = 'pointer-event';\n var DIRECTION_NEXT = 'next';\n var DIRECTION_PREV = 'prev';\n var DIRECTION_LEFT = 'left';\n var DIRECTION_RIGHT = 'right';\n var EVENT_SLIDE = \"slide\" + EVENT_KEY;\n var EVENT_SLID = \"slid\" + EVENT_KEY;\n var EVENT_KEYDOWN = \"keydown\" + EVENT_KEY;\n var EVENT_MOUSEENTER = \"mouseenter\" + EVENT_KEY;\n var EVENT_MOUSELEAVE = \"mouseleave\" + EVENT_KEY;\n var EVENT_TOUCHSTART = \"touchstart\" + EVENT_KEY;\n var EVENT_TOUCHMOVE = \"touchmove\" + EVENT_KEY;\n var EVENT_TOUCHEND = \"touchend\" + EVENT_KEY;\n var EVENT_POINTERDOWN = \"pointerdown\" + EVENT_KEY;\n var EVENT_POINTERUP = \"pointerup\" + EVENT_KEY;\n var EVENT_DRAG_START = \"dragstart\" + EVENT_KEY;\n var EVENT_LOAD_DATA_API = \"load\" + EVENT_KEY + DATA_API_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var SELECTOR_ACTIVE = '.active';\n var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\n var SELECTOR_ITEM = '.carousel-item';\n var SELECTOR_ITEM_IMG = '.carousel-item img';\n var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\n var SELECTOR_INDICATORS = '.carousel-indicators';\n var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';\n var SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]';\n var Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n };\n var DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n };\n var PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n };\n /**\n * Class definition\n */\n\n var Carousel = /*#__PURE__*/function () {\n function Carousel(element, config) {\n this._items = null;\n this._interval = null;\n this._activeElement = null;\n this._isPaused = false;\n this._isSliding = false;\n this.touchTimeout = null;\n this.touchStartX = 0;\n this.touchDeltaX = 0;\n this._config = this._getConfig(config);\n this._element = element;\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Carousel.prototype;\n\n // Public\n _proto.next = function next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT);\n }\n };\n\n _proto.nextWhenVisible = function nextWhenVisible() {\n var $element = $__default[\"default\"](this._element); // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n\n if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') {\n this.next();\n }\n };\n\n _proto.prev = function prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV);\n }\n };\n\n _proto.pause = function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util__default[\"default\"].triggerTransitionEnd(this._element);\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n };\n\n _proto.cycle = function cycle(event) {\n if (!event) {\n this._isPaused = false;\n }\n\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n\n if (this._config.interval && !this._isPaused) {\n this._updateInterval();\n\n this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\n }\n };\n\n _proto.to = function to(index) {\n var _this = this;\n\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index > this._items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n $__default[\"default\"](this._element).one(EVENT_SLID, function () {\n return _this.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;\n\n this._slide(direction, this._items[index]);\n };\n\n _proto.dispose = function dispose() {\n $__default[\"default\"](this._element).off(EVENT_KEY);\n $__default[\"default\"].removeData(this._element, DATA_KEY);\n this._items = null;\n this._config = null;\n this._element = null;\n this._interval = null;\n this._isPaused = null;\n this._isSliding = null;\n this._activeElement = null;\n this._indicatorsElement = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default, config);\n Util__default[\"default\"].typeCheckConfig(NAME, config, DefaultType);\n return config;\n };\n\n _proto._handleSwipe = function _handleSwipe() {\n var absDeltax = Math.abs(this.touchDeltaX);\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltax / this.touchDeltaX;\n this.touchDeltaX = 0; // swipe left\n\n if (direction > 0) {\n this.prev();\n } // swipe right\n\n\n if (direction < 0) {\n this.next();\n }\n };\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this2 = this;\n\n if (this._config.keyboard) {\n $__default[\"default\"](this._element).on(EVENT_KEYDOWN, function (event) {\n return _this2._keydown(event);\n });\n }\n\n if (this._config.pause === 'hover') {\n $__default[\"default\"](this._element).on(EVENT_MOUSEENTER, function (event) {\n return _this2.pause(event);\n }).on(EVENT_MOUSELEAVE, function (event) {\n return _this2.cycle(event);\n });\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners();\n }\n };\n\n _proto._addTouchEventListeners = function _addTouchEventListeners() {\n var _this3 = this;\n\n if (!this._touchSupported) {\n return;\n }\n\n var start = function start(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchStartX = event.originalEvent.clientX;\n } else if (!_this3._pointerEvent) {\n _this3.touchStartX = event.originalEvent.touches[0].clientX;\n }\n };\n\n var move = function move(event) {\n // ensure swiping with one touch and not pinching\n _this3.touchDeltaX = event.originalEvent.touches && event.originalEvent.touches.length > 1 ? 0 : event.originalEvent.touches[0].clientX - _this3.touchStartX;\n };\n\n var end = function end(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;\n }\n\n _this3._handleSwipe();\n\n if (_this3._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n _this3.pause();\n\n if (_this3.touchTimeout) {\n clearTimeout(_this3.touchTimeout);\n }\n\n _this3.touchTimeout = setTimeout(function (event) {\n return _this3.cycle(event);\n }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);\n }\n };\n\n $__default[\"default\"](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {\n return e.preventDefault();\n });\n\n if (this._pointerEvent) {\n $__default[\"default\"](this._element).on(EVENT_POINTERDOWN, function (event) {\n return start(event);\n });\n $__default[\"default\"](this._element).on(EVENT_POINTERUP, function (event) {\n return end(event);\n });\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n $__default[\"default\"](this._element).on(EVENT_TOUCHSTART, function (event) {\n return start(event);\n });\n $__default[\"default\"](this._element).on(EVENT_TOUCHMOVE, function (event) {\n return move(event);\n });\n $__default[\"default\"](this._element).on(EVENT_TOUCHEND, function (event) {\n return end(event);\n });\n }\n };\n\n _proto._keydown = function _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault();\n this.prev();\n break;\n\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault();\n this.next();\n break;\n }\n };\n\n _proto._getItemIndex = function _getItemIndex(element) {\n this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : [];\n return this._items.indexOf(element);\n };\n\n _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {\n var isNextDirection = direction === DIRECTION_NEXT;\n var isPrevDirection = direction === DIRECTION_PREV;\n\n var activeIndex = this._getItemIndex(activeElement);\n\n var lastItemIndex = this._items.length - 1;\n var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement;\n }\n\n var delta = direction === DIRECTION_PREV ? -1 : 1;\n var itemIndex = (activeIndex + delta) % this._items.length;\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\n };\n\n _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {\n var targetIndex = this._getItemIndex(relatedTarget);\n\n var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));\n\n var slideEvent = $__default[\"default\"].Event(EVENT_SLIDE, {\n relatedTarget: relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n });\n $__default[\"default\"](this._element).trigger(slideEvent);\n return slideEvent;\n };\n\n _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE));\n $__default[\"default\"](indicators).removeClass(CLASS_NAME_ACTIVE);\n\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\n\n if (nextIndicator) {\n $__default[\"default\"](nextIndicator).addClass(CLASS_NAME_ACTIVE);\n }\n }\n };\n\n _proto._updateInterval = function _updateInterval() {\n var element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n if (!element) {\n return;\n }\n\n var elementInterval = parseInt(element.getAttribute('data-interval'), 10);\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\n this._config.interval = elementInterval;\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval;\n }\n };\n\n _proto._slide = function _slide(direction, element) {\n var _this4 = this;\n\n var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeElementIndex = this._getItemIndex(activeElement);\n\n var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\n\n var nextElementIndex = this._getItemIndex(nextElement);\n\n var isCycling = Boolean(this._interval);\n var directionalClassName;\n var orderClassName;\n var eventDirectionName;\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT;\n orderClassName = CLASS_NAME_NEXT;\n eventDirectionName = DIRECTION_LEFT;\n } else {\n directionalClassName = CLASS_NAME_RIGHT;\n orderClassName = CLASS_NAME_PREV;\n eventDirectionName = DIRECTION_RIGHT;\n }\n\n if (nextElement && $__default[\"default\"](nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false;\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\n\n if (slideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return;\n }\n\n this._isSliding = true;\n\n if (isCycling) {\n this.pause();\n }\n\n this._setActiveIndicatorElement(nextElement);\n\n this._activeElement = nextElement;\n var slidEvent = $__default[\"default\"].Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n });\n\n if ($__default[\"default\"](this._element).hasClass(CLASS_NAME_SLIDE)) {\n $__default[\"default\"](nextElement).addClass(orderClassName);\n Util__default[\"default\"].reflow(nextElement);\n $__default[\"default\"](activeElement).addClass(directionalClassName);\n $__default[\"default\"](nextElement).addClass(directionalClassName);\n var transitionDuration = Util__default[\"default\"].getTransitionDurationFromElement(activeElement);\n $__default[\"default\"](activeElement).one(Util__default[\"default\"].TRANSITION_END, function () {\n $__default[\"default\"](nextElement).removeClass(directionalClassName + \" \" + orderClassName).addClass(CLASS_NAME_ACTIVE);\n $__default[\"default\"](activeElement).removeClass(CLASS_NAME_ACTIVE + \" \" + orderClassName + \" \" + directionalClassName);\n _this4._isSliding = false;\n setTimeout(function () {\n return $__default[\"default\"](_this4._element).trigger(slidEvent);\n }, 0);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n $__default[\"default\"](activeElement).removeClass(CLASS_NAME_ACTIVE);\n $__default[\"default\"](nextElement).addClass(CLASS_NAME_ACTIVE);\n this._isSliding = false;\n $__default[\"default\"](this._element).trigger(slidEvent);\n }\n\n if (isCycling) {\n this.cycle();\n }\n } // Static\n ;\n\n Carousel._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default[\"default\"](this).data(DATA_KEY);\n\n var _config = _extends({}, Default, $__default[\"default\"](this).data());\n\n if (typeof config === 'object') {\n _config = _extends({}, _config, config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (!data) {\n data = new Carousel(this, _config);\n $__default[\"default\"](this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + action + \"\\\"\");\n }\n\n data[action]();\n } else if (_config.interval && _config.ride) {\n data.pause();\n data.cycle();\n }\n });\n };\n\n Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {\n var selector = Util__default[\"default\"].getSelectorFromElement(this);\n\n if (!selector) {\n return;\n }\n\n var target = $__default[\"default\"](selector)[0];\n\n if (!target || !$__default[\"default\"](target).hasClass(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n var config = _extends({}, $__default[\"default\"](target).data(), $__default[\"default\"](this).data());\n\n var slideIndex = this.getAttribute('data-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel._jQueryInterface.call($__default[\"default\"](target), config);\n\n if (slideIndex) {\n $__default[\"default\"](target).data(DATA_KEY).to(slideIndex);\n }\n\n event.preventDefault();\n };\n\n _createClass(Carousel, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return Carousel;\n }();\n /**\n * Data API implementation\n */\n\n\n $__default[\"default\"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);\n $__default[\"default\"](window).on(EVENT_LOAD_DATA_API, function () {\n var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));\n\n for (var i = 0, len = carousels.length; i < len; i++) {\n var $carousel = $__default[\"default\"](carousels[i]);\n\n Carousel._jQueryInterface.call($carousel, $carousel.data());\n }\n });\n /**\n * jQuery\n */\n\n $__default[\"default\"].fn[NAME] = Carousel._jQueryInterface;\n $__default[\"default\"].fn[NAME].Constructor = Carousel;\n\n $__default[\"default\"].fn[NAME].noConflict = function () {\n $__default[\"default\"].fn[NAME] = JQUERY_NO_CONFLICT;\n return Carousel._jQueryInterface;\n };\n\n return Carousel;\n\n}));\n//# sourceMappingURL=carousel.js.map\n","/*!\n * Bootstrap popover.js v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) :\n typeof define === 'function' && define.amd ? define(['jquery', './tooltip'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.jQuery, global.Tooltip));\n})(this, (function ($, Tooltip) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\n var $__default = /*#__PURE__*/_interopDefaultLegacy($);\n var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n /**\n * Constants\n */\n\n var NAME = 'popover';\n var VERSION = '4.6.1';\n var DATA_KEY = 'bs.popover';\n var EVENT_KEY = \".\" + DATA_KEY;\n var JQUERY_NO_CONFLICT = $__default[\"default\"].fn[NAME];\n var CLASS_PREFIX = 'bs-popover';\n var BSCLS_PREFIX_REGEX = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX + \"\\\\S+\", 'g');\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n var SELECTOR_TITLE = '.popover-header';\n var SELECTOR_CONTENT = '.popover-body';\n\n var Default = _extends({}, Tooltip__default[\"default\"].Default, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '
' + '
' + '

' + '
'\n });\n\n var DefaultType = _extends({}, Tooltip__default[\"default\"].DefaultType, {\n content: '(string|element|function)'\n });\n\n var Event = {\n HIDE: \"hide\" + EVENT_KEY,\n HIDDEN: \"hidden\" + EVENT_KEY,\n SHOW: \"show\" + EVENT_KEY,\n SHOWN: \"shown\" + EVENT_KEY,\n INSERTED: \"inserted\" + EVENT_KEY,\n CLICK: \"click\" + EVENT_KEY,\n FOCUSIN: \"focusin\" + EVENT_KEY,\n FOCUSOUT: \"focusout\" + EVENT_KEY,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY\n };\n /**\n * Class definition\n */\n\n var Popover = /*#__PURE__*/function (_Tooltip) {\n _inheritsLoose(Popover, _Tooltip);\n\n function Popover() {\n return _Tooltip.apply(this, arguments) || this;\n }\n\n var _proto = Popover.prototype;\n\n // Overrides\n _proto.isWithContent = function isWithContent() {\n return this.getTitle() || this._getContent();\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $__default[\"default\"](this.getTipElement()).addClass(CLASS_PREFIX + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $__default[\"default\"](this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var $tip = $__default[\"default\"](this.getTipElement()); // We use append for html objects to maintain js events\n\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());\n\n var content = this._getContent();\n\n if (typeof content === 'function') {\n content = content.call(this.element);\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content);\n $tip.removeClass(CLASS_NAME_FADE + \" \" + CLASS_NAME_SHOW);\n } // Private\n ;\n\n _proto._getContent = function _getContent() {\n return this.element.getAttribute('data-content') || this.config.content;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $__default[\"default\"](this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\n\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''));\n }\n } // Static\n ;\n\n Popover._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default[\"default\"](this).data(DATA_KEY);\n\n var _config = typeof config === 'object' ? config : null;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Popover(this, _config);\n $__default[\"default\"](this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Popover, null, [{\n key: \"VERSION\",\n get: // Getters\n function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return Popover;\n }(Tooltip__default[\"default\"]);\n /**\n * jQuery\n */\n\n\n $__default[\"default\"].fn[NAME] = Popover._jQueryInterface;\n $__default[\"default\"].fn[NAME].Constructor = Popover;\n\n $__default[\"default\"].fn[NAME].noConflict = function () {\n $__default[\"default\"].fn[NAME] = JQUERY_NO_CONFLICT;\n return Popover._jQueryInterface;\n };\n\n return Popover;\n\n}));\n//# sourceMappingURL=popover.js.map\n","/*!\n * Bootstrap tab.js v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :\n typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.jQuery, global.Util));\n})(this, (function ($, Util) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\n var $__default = /*#__PURE__*/_interopDefaultLegacy($);\n var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n /**\n * Constants\n */\n\n var NAME = 'tab';\n var VERSION = '4.6.1';\n var DATA_KEY = 'bs.tab';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $__default[\"default\"].fn[NAME];\n var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';\n var CLASS_NAME_ACTIVE = 'active';\n var CLASS_NAME_DISABLED = 'disabled';\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n var EVENT_HIDE = \"hide\" + EVENT_KEY;\n var EVENT_HIDDEN = \"hidden\" + EVENT_KEY;\n var EVENT_SHOW = \"show\" + EVENT_KEY;\n var EVENT_SHOWN = \"shown\" + EVENT_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var SELECTOR_DROPDOWN = '.dropdown';\n var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\n var SELECTOR_ACTIVE = '.active';\n var SELECTOR_ACTIVE_UL = '> li > .active';\n var SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]';\n var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\n var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';\n /**\n * Class definition\n */\n\n var Tab = /*#__PURE__*/function () {\n function Tab(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Tab.prototype;\n\n // Public\n _proto.show = function show() {\n var _this = this;\n\n if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $__default[\"default\"](this._element).hasClass(CLASS_NAME_ACTIVE) || $__default[\"default\"](this._element).hasClass(CLASS_NAME_DISABLED)) {\n return;\n }\n\n var target;\n var previous;\n var listElement = $__default[\"default\"](this._element).closest(SELECTOR_NAV_LIST_GROUP)[0];\n var selector = Util__default[\"default\"].getSelectorFromElement(this._element);\n\n if (listElement) {\n var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;\n previous = $__default[\"default\"].makeArray($__default[\"default\"](listElement).find(itemSelector));\n previous = previous[previous.length - 1];\n }\n\n var hideEvent = $__default[\"default\"].Event(EVENT_HIDE, {\n relatedTarget: this._element\n });\n var showEvent = $__default[\"default\"].Event(EVENT_SHOW, {\n relatedTarget: previous\n });\n\n if (previous) {\n $__default[\"default\"](previous).trigger(hideEvent);\n }\n\n $__default[\"default\"](this._element).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (selector) {\n target = document.querySelector(selector);\n }\n\n this._activate(this._element, listElement);\n\n var complete = function complete() {\n var hiddenEvent = $__default[\"default\"].Event(EVENT_HIDDEN, {\n relatedTarget: _this._element\n });\n var shownEvent = $__default[\"default\"].Event(EVENT_SHOWN, {\n relatedTarget: previous\n });\n $__default[\"default\"](previous).trigger(hiddenEvent);\n $__default[\"default\"](_this._element).trigger(shownEvent);\n };\n\n if (target) {\n this._activate(target, target.parentNode, complete);\n } else {\n complete();\n }\n };\n\n _proto.dispose = function dispose() {\n $__default[\"default\"].removeData(this._element, DATA_KEY);\n this._element = null;\n } // Private\n ;\n\n _proto._activate = function _activate(element, container, callback) {\n var _this2 = this;\n\n var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $__default[\"default\"](container).find(SELECTOR_ACTIVE_UL) : $__default[\"default\"](container).children(SELECTOR_ACTIVE);\n var active = activeElements[0];\n var isTransitioning = callback && active && $__default[\"default\"](active).hasClass(CLASS_NAME_FADE);\n\n var complete = function complete() {\n return _this2._transitionComplete(element, active, callback);\n };\n\n if (active && isTransitioning) {\n var transitionDuration = Util__default[\"default\"].getTransitionDurationFromElement(active);\n $__default[\"default\"](active).removeClass(CLASS_NAME_SHOW).one(Util__default[\"default\"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n };\n\n _proto._transitionComplete = function _transitionComplete(element, active, callback) {\n if (active) {\n $__default[\"default\"](active).removeClass(CLASS_NAME_ACTIVE);\n var dropdownChild = $__default[\"default\"](active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];\n\n if (dropdownChild) {\n $__default[\"default\"](dropdownChild).removeClass(CLASS_NAME_ACTIVE);\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false);\n }\n }\n\n $__default[\"default\"](element).addClass(CLASS_NAME_ACTIVE);\n\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true);\n }\n\n Util__default[\"default\"].reflow(element);\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW);\n }\n\n var parent = element.parentNode;\n\n if (parent && parent.nodeName === 'LI') {\n parent = parent.parentNode;\n }\n\n if (parent && $__default[\"default\"](parent).hasClass(CLASS_NAME_DROPDOWN_MENU)) {\n var dropdownElement = $__default[\"default\"](element).closest(SELECTOR_DROPDOWN)[0];\n\n if (dropdownElement) {\n var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE));\n $__default[\"default\"](dropdownToggleList).addClass(CLASS_NAME_ACTIVE);\n }\n\n element.setAttribute('aria-expanded', true);\n }\n\n if (callback) {\n callback();\n }\n } // Static\n ;\n\n Tab._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $__default[\"default\"](this);\n var data = $this.data(DATA_KEY);\n\n if (!data) {\n data = new Tab(this);\n $this.data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tab, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Tab;\n }();\n /**\n * Data API implementation\n */\n\n\n $__default[\"default\"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault();\n\n Tab._jQueryInterface.call($__default[\"default\"](this), 'show');\n });\n /**\n * jQuery\n */\n\n $__default[\"default\"].fn[NAME] = Tab._jQueryInterface;\n $__default[\"default\"].fn[NAME].Constructor = Tab;\n\n $__default[\"default\"].fn[NAME].noConflict = function () {\n $__default[\"default\"].fn[NAME] = JQUERY_NO_CONFLICT;\n return Tab._jQueryInterface;\n };\n\n return Tab;\n\n}));\n//# sourceMappingURL=tab.js.map\n","/*!\n * Bootstrap tooltip.js v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) :\n typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tooltip = factory(global.jQuery, global.Popper, global.Util));\n})(this, (function ($, Popper, Util) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\n var $__default = /*#__PURE__*/_interopDefaultLegacy($);\n var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);\n var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];\n var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n var DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n };\n /**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;\n /**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\n function allowedAttribute(attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (attrRegex) {\n return attrRegex instanceof RegExp;\n }); // Check if a regular expression validates the attribute.\n\n for (var i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true;\n }\n }\n\n return false;\n }\n\n function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml;\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml);\n }\n\n var domParser = new window.DOMParser();\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n var whitelistKeys = Object.keys(whiteList);\n var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));\n\n var _loop = function _loop(i, len) {\n var el = elements[i];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el);\n return \"continue\";\n }\n\n var attributeList = [].slice.call(el.attributes); // eslint-disable-next-line unicorn/prefer-spread\n\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n attributeList.forEach(function (attr) {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n });\n };\n\n for (var i = 0, len = elements.length; i < len; i++) {\n var _ret = _loop(i);\n\n if (_ret === \"continue\") continue;\n }\n\n return createdDocument.body.innerHTML;\n }\n\n /**\n * Constants\n */\n\n var NAME = 'tooltip';\n var VERSION = '4.6.1';\n var DATA_KEY = 'bs.tooltip';\n var EVENT_KEY = \".\" + DATA_KEY;\n var JQUERY_NO_CONFLICT = $__default[\"default\"].fn[NAME];\n var CLASS_PREFIX = 'bs-tooltip';\n var BSCLS_PREFIX_REGEX = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX + \"\\\\S+\", 'g');\n var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n var HOVER_STATE_SHOW = 'show';\n var HOVER_STATE_OUT = 'out';\n var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\n var SELECTOR_ARROW = '.arrow';\n var TRIGGER_HOVER = 'hover';\n var TRIGGER_FOCUS = 'focus';\n var TRIGGER_CLICK = 'click';\n var TRIGGER_MANUAL = 'manual';\n var AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n };\n var Default = {\n animation: true,\n template: '
' + '
' + '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n };\n var DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n };\n var Event = {\n HIDE: \"hide\" + EVENT_KEY,\n HIDDEN: \"hidden\" + EVENT_KEY,\n SHOW: \"show\" + EVENT_KEY,\n SHOWN: \"shown\" + EVENT_KEY,\n INSERTED: \"inserted\" + EVENT_KEY,\n CLICK: \"click\" + EVENT_KEY,\n FOCUSIN: \"focusin\" + EVENT_KEY,\n FOCUSOUT: \"focusout\" + EVENT_KEY,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY\n };\n /**\n * Class definition\n */\n\n var Tooltip = /*#__PURE__*/function () {\n function Tooltip(element, config) {\n if (typeof Popper__default[\"default\"] === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n } // Private\n\n\n this._isEnabled = true;\n this._timeout = 0;\n this._hoverState = '';\n this._activeTrigger = {};\n this._popper = null; // Protected\n\n this.element = element;\n this.config = this._getConfig(config);\n this.tip = null;\n\n this._setListeners();\n } // Getters\n\n\n var _proto = Tooltip.prototype;\n\n // Public\n _proto.enable = function enable() {\n this._isEnabled = true;\n };\n\n _proto.disable = function disable() {\n this._isEnabled = false;\n };\n\n _proto.toggleEnabled = function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n };\n\n _proto.toggle = function toggle(event) {\n if (!this._isEnabled) {\n return;\n }\n\n if (event) {\n var dataKey = this.constructor.DATA_KEY;\n var context = $__default[\"default\"](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default[\"default\"](event.currentTarget).data(dataKey, context);\n }\n\n context._activeTrigger.click = !context._activeTrigger.click;\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context);\n } else {\n context._leave(null, context);\n }\n } else {\n if ($__default[\"default\"](this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this);\n\n return;\n }\n\n this._enter(null, this);\n }\n };\n\n _proto.dispose = function dispose() {\n clearTimeout(this._timeout);\n $__default[\"default\"].removeData(this.element, this.constructor.DATA_KEY);\n $__default[\"default\"](this.element).off(this.constructor.EVENT_KEY);\n $__default[\"default\"](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);\n\n if (this.tip) {\n $__default[\"default\"](this.tip).remove();\n }\n\n this._isEnabled = null;\n this._timeout = null;\n this._hoverState = null;\n this._activeTrigger = null;\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._popper = null;\n this.element = null;\n this.config = null;\n this.tip = null;\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if ($__default[\"default\"](this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n var showEvent = $__default[\"default\"].Event(this.constructor.Event.SHOW);\n\n if (this.isWithContent() && this._isEnabled) {\n $__default[\"default\"](this.element).trigger(showEvent);\n var shadowRoot = Util__default[\"default\"].findShadowRoot(this.element);\n var isInTheDom = $__default[\"default\"].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return;\n }\n\n var tip = this.getTipElement();\n var tipId = Util__default[\"default\"].getUID(this.constructor.NAME);\n tip.setAttribute('id', tipId);\n this.element.setAttribute('aria-describedby', tipId);\n this.setContent();\n\n if (this.config.animation) {\n $__default[\"default\"](tip).addClass(CLASS_NAME_FADE);\n }\n\n var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\n\n var attachment = this._getAttachment(placement);\n\n this.addAttachmentClass(attachment);\n\n var container = this._getContainer();\n\n $__default[\"default\"](tip).data(this.constructor.DATA_KEY, this);\n\n if (!$__default[\"default\"].contains(this.element.ownerDocument.documentElement, this.tip)) {\n $__default[\"default\"](tip).appendTo(container);\n }\n\n $__default[\"default\"](this.element).trigger(this.constructor.Event.INSERTED);\n this._popper = new Popper__default[\"default\"](this.element, tip, this._getPopperConfig(attachment));\n $__default[\"default\"](tip).addClass(CLASS_NAME_SHOW);\n $__default[\"default\"](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n $__default[\"default\"](document.body).children().on('mouseover', null, $__default[\"default\"].noop);\n }\n\n var complete = function complete() {\n if (_this.config.animation) {\n _this._fixTransition();\n }\n\n var prevHoverState = _this._hoverState;\n _this._hoverState = null;\n $__default[\"default\"](_this.element).trigger(_this.constructor.Event.SHOWN);\n\n if (prevHoverState === HOVER_STATE_OUT) {\n _this._leave(null, _this);\n }\n };\n\n if ($__default[\"default\"](this.tip).hasClass(CLASS_NAME_FADE)) {\n var transitionDuration = Util__default[\"default\"].getTransitionDurationFromElement(this.tip);\n $__default[\"default\"](this.tip).one(Util__default[\"default\"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n }\n };\n\n _proto.hide = function hide(callback) {\n var _this2 = this;\n\n var tip = this.getTipElement();\n var hideEvent = $__default[\"default\"].Event(this.constructor.Event.HIDE);\n\n var complete = function complete() {\n if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip);\n }\n\n _this2._cleanTipClass();\n\n _this2.element.removeAttribute('aria-describedby');\n\n $__default[\"default\"](_this2.element).trigger(_this2.constructor.Event.HIDDEN);\n\n if (_this2._popper !== null) {\n _this2._popper.destroy();\n }\n\n if (callback) {\n callback();\n }\n };\n\n $__default[\"default\"](this.element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n $__default[\"default\"](tip).removeClass(CLASS_NAME_SHOW); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n $__default[\"default\"](document.body).children().off('mouseover', null, $__default[\"default\"].noop);\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n\n if ($__default[\"default\"](this.tip).hasClass(CLASS_NAME_FADE)) {\n var transitionDuration = Util__default[\"default\"].getTransitionDurationFromElement(tip);\n $__default[\"default\"](tip).one(Util__default[\"default\"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n\n this._hoverState = '';\n };\n\n _proto.update = function update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Protected\n ;\n\n _proto.isWithContent = function isWithContent() {\n return Boolean(this.getTitle());\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $__default[\"default\"](this.getTipElement()).addClass(CLASS_PREFIX + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $__default[\"default\"](this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var tip = this.getTipElement();\n this.setElementContent($__default[\"default\"](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());\n $__default[\"default\"](tip).removeClass(CLASS_NAME_FADE + \" \" + CLASS_NAME_SHOW);\n };\n\n _proto.setElementContent = function setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$__default[\"default\"](content).parent().is($element)) {\n $element.empty().append(content);\n }\n } else {\n $element.text($__default[\"default\"](content).text());\n }\n\n return;\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\n }\n\n $element.html(content);\n } else {\n $element.text(content);\n }\n };\n\n _proto.getTitle = function getTitle() {\n var title = this.element.getAttribute('data-original-title');\n\n if (!title) {\n title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\n }\n\n return title;\n } // Private\n ;\n\n _proto._getPopperConfig = function _getPopperConfig(attachment) {\n var _this3 = this;\n\n var defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: function onCreate(data) {\n if (data.originalPlacement !== data.placement) {\n _this3._handlePopperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n return _this3._handlePopperPlacementChange(data);\n }\n };\n return _extends({}, defaultBsConfig, this.config.popperConfig);\n };\n\n _proto._getOffset = function _getOffset() {\n var _this4 = this;\n\n var offset = {};\n\n if (typeof this.config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element));\n return data;\n };\n } else {\n offset.offset = this.config.offset;\n }\n\n return offset;\n };\n\n _proto._getContainer = function _getContainer() {\n if (this.config.container === false) {\n return document.body;\n }\n\n if (Util__default[\"default\"].isElement(this.config.container)) {\n return $__default[\"default\"](this.config.container);\n }\n\n return $__default[\"default\"](document).find(this.config.container);\n };\n\n _proto._getAttachment = function _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n };\n\n _proto._setListeners = function _setListeners() {\n var _this5 = this;\n\n var triggers = this.config.trigger.split(' ');\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n $__default[\"default\"](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {\n return _this5.toggle(event);\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;\n var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;\n $__default[\"default\"](_this5.element).on(eventIn, _this5.config.selector, function (event) {\n return _this5._enter(event);\n }).on(eventOut, _this5.config.selector, function (event) {\n return _this5._leave(event);\n });\n }\n });\n\n this._hideModalHandler = function () {\n if (_this5.element) {\n _this5.hide();\n }\n };\n\n $__default[\"default\"](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);\n\n if (this.config.selector) {\n this.config = _extends({}, this.config, {\n trigger: 'manual',\n selector: ''\n });\n } else {\n this._fixTitle();\n }\n };\n\n _proto._fixTitle = function _fixTitle() {\n var titleType = typeof this.element.getAttribute('data-original-title');\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\n this.element.setAttribute('title', '');\n }\n };\n\n _proto._enter = function _enter(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $__default[\"default\"](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default[\"default\"](event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n }\n\n if ($__default[\"default\"](context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW;\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_SHOW;\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show();\n }\n }, context.config.delay.show);\n };\n\n _proto._leave = function _leave(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $__default[\"default\"](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default[\"default\"](event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;\n }\n\n if (context._isWithActiveTrigger()) {\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_OUT;\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide();\n }\n }, context.config.delay.hide);\n };\n\n _proto._isWithActiveTrigger = function _isWithActiveTrigger() {\n for (var trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n };\n\n _proto._getConfig = function _getConfig(config) {\n var dataAttributes = $__default[\"default\"](this.element).data();\n Object.keys(dataAttributes).forEach(function (dataAttr) {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n });\n config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n Util__default[\"default\"].typeCheckConfig(NAME, config, this.constructor.DefaultType);\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\n }\n\n return config;\n };\n\n _proto._getDelegateConfig = function _getDelegateConfig() {\n var config = {};\n\n if (this.config) {\n for (var key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key];\n }\n }\n }\n\n return config;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $__default[\"default\"](this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\n\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''));\n }\n };\n\n _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper;\n\n this._cleanTipClass();\n\n this.addAttachmentClass(this._getAttachment(popperData.placement));\n };\n\n _proto._fixTransition = function _fixTransition() {\n var tip = this.getTipElement();\n var initConfigAnimation = this.config.animation;\n\n if (tip.getAttribute('x-placement') !== null) {\n return;\n }\n\n $__default[\"default\"](tip).removeClass(CLASS_NAME_FADE);\n this.config.animation = false;\n this.hide();\n this.show();\n this.config.animation = initConfigAnimation;\n } // Static\n ;\n\n Tooltip._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default[\"default\"](this);\n var data = $element.data(DATA_KEY);\n\n var _config = typeof config === 'object' && config;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Tooltip(this, _config);\n $element.data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tooltip, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return Tooltip;\n }();\n /**\n * jQuery\n */\n\n\n $__default[\"default\"].fn[NAME] = Tooltip._jQueryInterface;\n $__default[\"default\"].fn[NAME].Constructor = Tooltip;\n\n $__default[\"default\"].fn[NAME].noConflict = function () {\n $__default[\"default\"].fn[NAME] = JQUERY_NO_CONFLICT;\n return Tooltip._jQueryInterface;\n };\n\n return Tooltip;\n\n}));\n//# sourceMappingURL=tooltip.js.map\n","/**\n * bxSlider v4.2.1d\n * Copyright 2013-2017 Steven Wanderski\n * Written while drinking Belgian ales and listening to jazz\n * Licensed under MIT (http://opensource.org/licenses/MIT)\n */\n\n;(function($) {\n\n var defaults = {\n\n // GENERAL\n mode: 'horizontal',\n slideSelector: '',\n infiniteLoop: true,\n hideControlOnEnd: false,\n speed: 500,\n easing: null,\n slideMargin: 0,\n startSlide: 0,\n randomStart: false,\n captions: false,\n ticker: false,\n tickerHover: false,\n adaptiveHeight: false,\n adaptiveHeightSpeed: 500,\n video: false,\n useCSS: true,\n preloadImages: 'visible',\n responsive: true,\n slideZIndex: 50,\n wrapperClass: 'bx-wrapper',\n\n // TOUCH\n touchEnabled: true,\n swipeThreshold: 50,\n oneToOneTouch: true,\n preventDefaultSwipeX: true,\n preventDefaultSwipeY: false,\n\n // ACCESSIBILITY\n ariaLive: true,\n ariaHidden: true,\n\n // KEYBOARD\n keyboardEnabled: false,\n\n // PAGER\n pager: true,\n pagerType: 'full',\n pagerShortSeparator: ' / ',\n pagerSelector: null,\n buildPager: null,\n pagerCustom: null,\n\n // CONTROLS\n controls: true,\n nextText: 'Next',\n prevText: 'Prev',\n nextSelector: null,\n prevSelector: null,\n autoControls: false,\n startText: 'Start',\n stopText: 'Stop',\n autoControlsCombine: false,\n autoControlsSelector: null,\n\n // AUTO\n auto: false,\n pause: 4000,\n autoStart: true,\n autoDirection: 'next',\n stopAutoOnClick: false,\n autoHover: false,\n autoDelay: 0,\n autoSlideForOnePage: false,\n\n // CAROUSEL\n minSlides: 1,\n maxSlides: 1,\n moveSlides: 0,\n slideWidth: 0,\n shrinkItems: false,\n\n // CALLBACKS\n onSliderLoad: function() { return true; },\n onSlideBefore: function() { return true; },\n onSlideAfter: function() { return true; },\n onSlideNext: function() { return true; },\n onSlidePrev: function() { return true; },\n onSliderResize: function() { return true; },\n\tonAutoChange: function() { return true; } //calls when auto slides starts and stops\n };\n\n $.fn.bxSlider = function(options) {\n\n if (this.length === 0) {\n return this;\n }\n\n // support multiple elements\n if (this.length > 1) {\n this.each(function() {\n $(this).bxSlider(options);\n });\n return this;\n }\n\n // create a namespace to be used throughout the plugin\n var slider = {},\n // set a reference to our slider element\n el = this,\n // get the original window dimens (thanks a lot IE)\n windowWidth = $(window).width(),\n windowHeight = $(window).height();\n\n // Return if slider is already initialized\n if ($(el).data('bxSlider')) { return; }\n\n /**\n * ===================================================================================\n * = PRIVATE FUNCTIONS\n * ===================================================================================\n */\n\n /**\n * Initializes namespace settings to be used throughout plugin\n */\n var init = function() {\n // Return if slider is already initialized\n if ($(el).data('bxSlider')) { return; }\n // merge user-supplied options with the defaults\n slider.settings = $.extend({}, defaults, options);\n // parse slideWidth setting\n slider.settings.slideWidth = parseInt(slider.settings.slideWidth);\n // store the original children\n slider.children = el.children(slider.settings.slideSelector);\n // check if actual number of slides is less than minSlides / maxSlides\n if (slider.children.length < slider.settings.minSlides) { slider.settings.minSlides = slider.children.length; }\n if (slider.children.length < slider.settings.maxSlides) { slider.settings.maxSlides = slider.children.length; }\n // if random start, set the startSlide setting to random number\n if (slider.settings.randomStart) { slider.settings.startSlide = Math.floor(Math.random() * slider.children.length); }\n // store active slide information\n slider.active = { index: slider.settings.startSlide };\n // store if the slider is in carousel mode (displaying / moving multiple slides)\n slider.carousel = slider.settings.minSlides > 1 || slider.settings.maxSlides > 1;\n // if carousel, force preloadImages = 'all'\n if (slider.carousel) { slider.settings.preloadImages = 'all'; }\n // calculate the min / max width thresholds based on min / max number of slides\n // used to setup and update carousel slides dimensions\n slider.minThreshold = (slider.settings.minSlides * slider.settings.slideWidth) + ((slider.settings.minSlides - 1) * slider.settings.slideMargin);\n slider.maxThreshold = (slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin);\n // store the current state of the slider (if currently animating, working is true)\n slider.working = false;\n // initialize the controls object\n slider.controls = {};\n // initialize an auto interval\n slider.interval = null;\n // determine which property to use for transitions\n slider.animProp = slider.settings.mode === 'vertical' ? 'top' : 'left';\n // determine if hardware acceleration can be used\n slider.usingCSS = slider.settings.useCSS && slider.settings.mode !== 'fade' && (function() {\n // create our test div element\n var div = document.createElement('div'),\n // css transition properties\n props = ['WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];\n // test for each property\n for (var i = 0; i < props.length; i++) {\n if (div.style[props[i]] !== undefined) {\n slider.cssPrefix = props[i].replace('Perspective', '').toLowerCase();\n slider.animProp = '-' + slider.cssPrefix + '-transform';\n return true;\n }\n }\n return false;\n }());\n // if vertical mode always make maxSlides and minSlides equal\n if (slider.settings.mode === 'vertical') { slider.settings.maxSlides = slider.settings.minSlides; }\n // save original style data\n el.data('origStyle', el.attr('style'));\n el.children(slider.settings.slideSelector).each(function() {\n $(this).data('origStyle', $(this).attr('style'));\n });\n\n // perform all DOM / CSS modifications\n setup();\n };\n\n /**\n * Performs all DOM and CSS modifications\n */\n var setup = function() {\n var preloadSelector = slider.children.eq(slider.settings.startSlide); // set the default preload selector (visible)\n\n // wrap el in a wrapper\n el.wrap('
');\n // store a namespace reference to .bx-viewport\n slider.viewport = el.parent();\n\n // add aria-live if the setting is enabled and ticker mode is disabled\n if (slider.settings.ariaLive && !slider.settings.ticker) {\n slider.viewport.attr('aria-live', 'polite');\n }\n // add a loading div to display while images are loading\n slider.loader = $('
');\n slider.viewport.prepend(slider.loader);\n // set el to a massive width, to hold any needed slides\n // also strip any margin and padding from el\n el.css({\n width: slider.settings.mode === 'horizontal' ? (slider.children.length * 1000 + 215) + '%' : 'auto',\n position: 'relative'\n });\n // if using CSS, add the easing property\n if (slider.usingCSS && slider.settings.easing) {\n el.css('-' + slider.cssPrefix + '-transition-timing-function', slider.settings.easing);\n // if not using CSS and no easing value was supplied, use the default JS animation easing (swing)\n } else if (!slider.settings.easing) {\n slider.settings.easing = 'swing';\n }\n // make modifications to the viewport (.bx-viewport)\n slider.viewport.css({\n width: '100%',\n overflow: 'hidden',\n position: 'relative'\n });\n slider.viewport.parent().css({\n maxWidth: getViewportMaxWidth()\n });\n // apply css to all slider children\n slider.children.css({\n // the float attribute is a reserved word in compressors like YUI compressor and need to be quoted #48\n 'float': slider.settings.mode === 'horizontal' ? 'left' : 'none',\n listStyle: 'none',\n position: 'relative'\n });\n // apply the calculated width after the float is applied to prevent scrollbar interference\n slider.children.css('width', getSlideWidth());\n // if slideMargin is supplied, add the css\n if (slider.settings.mode === 'horizontal' && slider.settings.slideMargin > 0) { slider.children.css('marginRight', slider.settings.slideMargin); }\n if (slider.settings.mode === 'vertical' && slider.settings.slideMargin > 0) { slider.children.css('marginBottom', slider.settings.slideMargin); }\n // if \"fade\" mode, add positioning and z-index CSS\n if (slider.settings.mode === 'fade') {\n slider.children.css({\n position: 'absolute',\n zIndex: 0,\n display: 'none'\n });\n // prepare the z-index on the showing element\n slider.children.eq(slider.settings.startSlide).css({zIndex: slider.settings.slideZIndex, display: 'block'});\n }\n // create an element to contain all slider controls (pager, start / stop, etc)\n slider.controls.el = $('
');\n // if captions are requested, add them\n if (slider.settings.captions) { appendCaptions(); }\n // check if startSlide is last slide\n slider.active.last = slider.settings.startSlide === getPagerQty() - 1;\n // if video is true, set up the fitVids plugin\n if (slider.settings.video) { el.fitVids(); }\n\t //preloadImages\n\t if (slider.settings.preloadImages === 'none') { \n\t\t preloadSelector = null; \n\t }\n else if (slider.settings.preloadImages === 'all' || slider.settings.ticker) { \n\t\t preloadSelector = slider.children; \n\t }\n // only check for control addition if not in \"ticker\" mode\n if (!slider.settings.ticker) {\n // if controls are requested, add them\n if (slider.settings.controls) { appendControls(); }\n // if auto is true, and auto controls are requested, add them\n if (slider.settings.auto && slider.settings.autoControls) { appendControlsAuto(); }\n // if pager is requested, add it\n if (slider.settings.pager) { appendPager(); }\n // if any control option is requested, add the controls wrapper\n if (slider.settings.controls || slider.settings.autoControls || slider.settings.pager) { slider.viewport.after(slider.controls.el); }\n // if ticker mode, do not allow a pager\n } else {\n slider.settings.pager = false;\n }\n\t if (preloadSelector === null) {\n start();\n } else {\n loadElements(preloadSelector, start);\n }\n };\n\n var loadElements = function(selector, callback) {\n var total = selector.find('img:not([src=\"\"]), iframe').length,\n count = 0;\n if (total === 0) {\n callback();\n return;\n }\n selector.find('img:not([src=\"\"]), iframe').each(function() {\n $(this).one('load error', function() {\n if (++count === total) { callback(); }\n }).each(function() {\n if (this.complete || this.src == '') { $(this).trigger('load'); }\n });\n });\n };\n\n /**\n * Start the slider\n */\n var start = function() {\n // if infinite loop, prepare additional slides\n if (slider.settings.infiniteLoop && slider.settings.mode !== 'fade' && !slider.settings.ticker) {\n var slice = slider.settings.mode === 'vertical' ? slider.settings.minSlides : slider.settings.maxSlides,\n sliceAppend = slider.children.slice(0, slice).clone(true).addClass('bx-clone'),\n slicePrepend = slider.children.slice(-slice).clone(true).addClass('bx-clone');\n if (slider.settings.ariaHidden) {\n sliceAppend.attr('aria-hidden', true);\n slicePrepend.attr('aria-hidden', true);\n }\n el.append(sliceAppend).prepend(slicePrepend);\n }\n // remove the loading DOM element\n slider.loader.remove();\n // set the left / top position of \"el\"\n setSlidePosition();\n // if \"vertical\" mode, always use adaptiveHeight to prevent odd behavior\n if (slider.settings.mode === 'vertical') { slider.settings.adaptiveHeight = true; }\n // set the viewport height\n slider.viewport.height(getViewportHeight());\n // make sure everything is positioned just right (same as a window resize)\n el.redrawSlider();\n // onSliderLoad callback\n slider.settings.onSliderLoad.call(el, slider.active.index);\n // slider has been fully initialized\n slider.initialized = true;\n // add the resize call to the window\n if (slider.settings.responsive) { $(window).on('resize', resizeWindow); }\n // if auto is true and has more than 1 page, start the show\n if (slider.settings.auto && slider.settings.autoStart && (getPagerQty() > 1 || slider.settings.autoSlideForOnePage)) { initAuto(); }\n // if ticker is true, start the ticker\n if (slider.settings.ticker) { initTicker(); }\n // if pager is requested, make the appropriate pager link active\n if (slider.settings.pager) { updatePagerActive(slider.settings.startSlide); }\n // check for any updates to the controls (like hideControlOnEnd updates)\n if (slider.settings.controls) { updateDirectionControls(); }\n // if touchEnabled is true, setup the touch events\n if (slider.settings.touchEnabled && !slider.settings.ticker) { initTouch(); }\n // if keyboardEnabled is true, setup the keyboard events\n if (slider.settings.keyboardEnabled && !slider.settings.ticker) {\n $(document).keydown(keyPress);\n }\n };\n\n /**\n * Returns the calculated height of the viewport, used to determine either adaptiveHeight or the maxHeight value\n */\n var getViewportHeight = function() {\n var height = 0;\n // first determine which children (slides) should be used in our height calculation\n var children = $();\n // if mode is not \"vertical\" and adaptiveHeight is false, include all children\n if (slider.settings.mode !== 'vertical' && !slider.settings.adaptiveHeight) {\n children = slider.children;\n } else {\n // if not carousel, return the single active child\n if (!slider.carousel) {\n children = slider.children.eq(slider.active.index);\n // if carousel, return a slice of children\n } else {\n // get the individual slide index\n var currentIndex = slider.settings.moveSlides === 1 ? slider.active.index : slider.active.index * getMoveBy();\n // add the current slide to the children\n children = slider.children.eq(currentIndex);\n // cycle through the remaining \"showing\" slides\n for (i = 1; i <= slider.settings.maxSlides - 1; i++) {\n // if looped back to the start\n if (currentIndex + i >= slider.children.length) {\n children = children.add(slider.children.eq(i - 1));\n } else {\n children = children.add(slider.children.eq(currentIndex + i));\n }\n }\n }\n }\n // if \"vertical\" mode, calculate the sum of the heights of the children\n if (slider.settings.mode === 'vertical') {\n children.each(function(index) {\n height += $(this).outerHeight();\n });\n // add user-supplied margins\n if (slider.settings.slideMargin > 0) {\n height += slider.settings.slideMargin * (slider.settings.minSlides - 1);\n }\n // if not \"vertical\" mode, calculate the max height of the children\n } else {\n height = Math.max.apply(Math, children.map(function() {\n return $(this).outerHeight(false);\n }).get());\n }\n\n if (slider.viewport.css('box-sizing') === 'border-box') {\n height += parseFloat(slider.viewport.css('padding-top')) + parseFloat(slider.viewport.css('padding-bottom')) +\n parseFloat(slider.viewport.css('border-top-width')) + parseFloat(slider.viewport.css('border-bottom-width'));\n } else if (slider.viewport.css('box-sizing') === 'padding-box') {\n height += parseFloat(slider.viewport.css('padding-top')) + parseFloat(slider.viewport.css('padding-bottom'));\n }\n\n return height;\n };\n\n /**\n * Returns the calculated width to be used for the outer wrapper / viewport\n */\n var getViewportMaxWidth = function() {\n var width = '100%';\n if (slider.settings.slideWidth > 0) {\n if (slider.settings.mode === 'horizontal') {\n width = (slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin);\n } else {\n width = slider.settings.slideWidth;\n }\n }\n return width;\n };\n\n /**\n * Returns the calculated width to be applied to each slide\n */\n var getSlideWidth = function() {\n var newElWidth = slider.settings.slideWidth, // start with any user-supplied slide width\n wrapWidth = slider.viewport.width(); // get the current viewport width\n // if slide width was not supplied, or is larger than the viewport use the viewport width\n if (slider.settings.slideWidth === 0 ||\n (slider.settings.slideWidth > wrapWidth && !slider.carousel) ||\n slider.settings.mode === 'vertical') {\n newElWidth = wrapWidth;\n // if carousel, use the thresholds to determine the width\n } else if (slider.settings.maxSlides > 1 && slider.settings.mode === 'horizontal') {\n if (wrapWidth > slider.maxThreshold) {\n return newElWidth;\n } else if (wrapWidth < slider.minThreshold) {\n newElWidth = (wrapWidth - (slider.settings.slideMargin * (slider.settings.minSlides - 1))) / slider.settings.minSlides;\n } else if (slider.settings.shrinkItems) {\n newElWidth = Math.floor((wrapWidth + slider.settings.slideMargin) / (Math.ceil((wrapWidth + slider.settings.slideMargin) / (newElWidth + slider.settings.slideMargin))) - slider.settings.slideMargin);\n }\n }\n return newElWidth;\n };\n\n /**\n * Returns the number of slides currently visible in the viewport (includes partially visible slides)\n */\n var getNumberSlidesShowing = function() {\n var slidesShowing = 1,\n childWidth = null;\n if (slider.settings.mode === 'horizontal' && slider.settings.slideWidth > 0) {\n // if viewport is smaller than minThreshold, return minSlides\n if (slider.viewport.width() < slider.minThreshold) {\n slidesShowing = slider.settings.minSlides;\n // if viewport is larger than maxThreshold, return maxSlides\n } else if (slider.viewport.width() > slider.maxThreshold) {\n slidesShowing = slider.settings.maxSlides;\n // if viewport is between min / max thresholds, divide viewport width by first child width\n } else {\n childWidth = slider.children.first().width() + slider.settings.slideMargin;\n slidesShowing = Math.floor((slider.viewport.width() +\n slider.settings.slideMargin) / childWidth) || 1;\n }\n // if \"vertical\" mode, slides showing will always be minSlides\n } else if (slider.settings.mode === 'vertical') {\n slidesShowing = slider.settings.minSlides;\n }\n return slidesShowing;\n };\n\n /**\n * Returns the number of pages (one full viewport of slides is one \"page\")\n */\n var getPagerQty = function() {\n var pagerQty = 0,\n breakPoint = 0,\n counter = 0;\n // if moveSlides is specified by the user\n if (slider.settings.moveSlides > 0) {\n if (slider.settings.infiniteLoop) {\n pagerQty = Math.ceil(slider.children.length / getMoveBy());\n } else {\n // when breakpoint goes above children length, counter is the number of pages\n while (breakPoint < slider.children.length) {\n ++pagerQty;\n breakPoint = counter + getNumberSlidesShowing();\n counter += slider.settings.moveSlides <= getNumberSlidesShowing() ? slider.settings.moveSlides : getNumberSlidesShowing();\n }\n\t\t return counter;\n }\n // if moveSlides is 0 (auto) divide children length by sides showing, then round up\n } else {\n pagerQty = Math.ceil(slider.children.length / getNumberSlidesShowing());\n }\n return pagerQty;\n };\n\n /**\n * Returns the number of individual slides by which to shift the slider\n */\n var getMoveBy = function() {\n // if moveSlides was set by the user and moveSlides is less than number of slides showing\n if (slider.settings.moveSlides > 0 && slider.settings.moveSlides <= getNumberSlidesShowing()) {\n return slider.settings.moveSlides;\n }\n // if moveSlides is 0 (auto)\n return getNumberSlidesShowing();\n };\n\n /**\n * Sets the slider's (el) left or top position\n */\n var setSlidePosition = function() {\n var position, lastChild, lastShowingIndex;\n // if last slide, not infinite loop, and number of children is larger than specified maxSlides\n if (slider.children.length > slider.settings.maxSlides && slider.active.last && !slider.settings.infiniteLoop) {\n if (slider.settings.mode === 'horizontal') {\n // get the last child's position\n lastChild = slider.children.last();\n position = lastChild.position();\n // set the left position\n setPositionProperty(-(position.left - (slider.viewport.width() - lastChild.outerWidth())), 'reset', 0);\n } else if (slider.settings.mode === 'vertical') {\n // get the last showing index's position\n lastShowingIndex = slider.children.length - slider.settings.minSlides;\n position = slider.children.eq(lastShowingIndex).position();\n // set the top position\n setPositionProperty(-position.top, 'reset', 0);\n }\n // if not last slide\n } else {\n // get the position of the first showing slide\n position = slider.children.eq(slider.active.index * getMoveBy()).position();\n // check for last slide\n if (slider.active.index === getPagerQty() - 1) { slider.active.last = true; }\n // set the respective position\n if (position !== undefined) {\n if (slider.settings.mode === 'horizontal') { setPositionProperty(-position.left, 'reset', 0); }\n else if (slider.settings.mode === 'vertical') { setPositionProperty(-position.top, 'reset', 0); }\n }\n }\n };\n\n /**\n * Sets the el's animating property position (which in turn will sometimes animate el).\n * If using CSS, sets the transform property. If not using CSS, sets the top / left property.\n *\n * @param value (int)\n * - the animating property's value\n *\n * @param type (string) 'slide', 'reset', 'ticker'\n * - the type of instance for which the function is being\n *\n * @param duration (int)\n * - the amount of time (in ms) the transition should occupy\n *\n * @param params (array) optional\n * - an optional parameter containing any variables that need to be passed in\n */\n var setPositionProperty = function(value, type, duration, params) {\n var animateObj, propValue;\n // use CSS transform\n if (slider.usingCSS) {\n // determine the translate3d value\n propValue = slider.settings.mode === 'vertical' ? 'translate3d(0, ' + value + 'px, 0)' : 'translate3d(' + value + 'px, 0, 0)';\n // add the CSS transition-duration\n el.css('-' + slider.cssPrefix + '-transition-duration', duration / 1000 + 's');\n if (type === 'slide') {\n // set the property value\n el.css(slider.animProp, propValue);\n if (duration !== 0) {\n // add a callback method - executes when CSS transition completes\n el.on('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(e) {\n //make sure it's the correct one\n if (!$(e.target).is(el)) { return; }\n // remove the callback\n el.off('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');\n updateAfterSlideTransition();\n });\n } else { //duration = 0\n updateAfterSlideTransition();\n }\n } else if (type === 'reset') {\n el.css(slider.animProp, propValue);\n } else if (type === 'ticker') {\n // make the transition use 'linear'\n el.css('-' + slider.cssPrefix + '-transition-timing-function', 'linear');\n el.css(slider.animProp, propValue);\n if (duration !== 0) {\n el.on('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(e) {\n //make sure it's the correct one\n if (!$(e.target).is(el)) { return; }\n // remove the callback\n el.off('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');\n // reset the position\n setPositionProperty(params.resetValue, 'reset', 0);\n // start the loop again\n tickerLoop();\n });\n } else { //duration = 0\n setPositionProperty(params.resetValue, 'reset', 0);\n tickerLoop();\n }\n }\n // use JS animate\n } else {\n animateObj = {};\n animateObj[slider.animProp] = value;\n if (type === 'slide') {\n el.animate(animateObj, duration, slider.settings.easing, function() {\n updateAfterSlideTransition();\n });\n } else if (type === 'reset') {\n el.css(slider.animProp, value);\n } else if (type === 'ticker') {\n el.animate(animateObj, duration, 'linear', function() {\n setPositionProperty(params.resetValue, 'reset', 0);\n // run the recursive loop after animation\n tickerLoop();\n });\n }\n }\n };\n\n /**\n * Populates the pager with proper amount of pages\n */\n var populatePager = function() {\n var pagerHtml = '',\n linkContent = '',\n pagerQty = getPagerQty();\n // loop through each pager item\n for (var i = 0; i < pagerQty; i++) {\n linkContent = '';\n // if a buildPager function is supplied, use it to get pager link value, else use index + 1\n if (slider.settings.buildPager && $.isFunction(slider.settings.buildPager) || slider.settings.pagerCustom) {\n linkContent = slider.settings.buildPager(i);\n slider.pagerEl.addClass('bx-custom-pager');\n } else {\n linkContent = i + 1;\n slider.pagerEl.addClass('bx-default-pager');\n }\n // var linkContent = slider.settings.buildPager && $.isFunction(slider.settings.buildPager) ? slider.settings.buildPager(i) : i + 1;\n // add the markup to the string\n pagerHtml += '';\n }\n // populate the pager element with pager links\n slider.pagerEl.html(pagerHtml);\n };\n\n /**\n * Appends the pager to the controls element\n */\n var appendPager = function() {\n if (!slider.settings.pagerCustom) {\n // create the pager DOM element\n slider.pagerEl = $('
');\n // if a pager selector was supplied, populate it with the pager\n if (slider.settings.pagerSelector) {\n $(slider.settings.pagerSelector).html(slider.pagerEl);\n // if no pager selector was supplied, add it after the wrapper\n } else {\n slider.controls.el.addClass('bx-has-pager').append(slider.pagerEl);\n }\n // populate the pager\n populatePager();\n } else {\n slider.pagerEl = $(slider.settings.pagerCustom);\n }\n // assign the pager click binding\n slider.pagerEl.on('click touchend', 'a', clickPagerBind);\n };\n\n /**\n * Appends prev / next controls to the controls element\n */\n var appendControls = function() {\n slider.controls.next = $('' + slider.settings.nextText + '');\n slider.controls.prev = $('' + slider.settings.prevText + '');\n // add click actions to the controls\n slider.controls.next.on('click touchend', clickNextBind);\n slider.controls.prev.on('click touchend', clickPrevBind);\n // if nextSelector was supplied, populate it\n if (slider.settings.nextSelector) {\n $(slider.settings.nextSelector).append(slider.controls.next);\n }\n // if prevSelector was supplied, populate it\n if (slider.settings.prevSelector) {\n $(slider.settings.prevSelector).append(slider.controls.prev);\n }\n // if no custom selectors were supplied\n if (!slider.settings.nextSelector && !slider.settings.prevSelector) {\n // add the controls to the DOM\n slider.controls.directionEl = $('
');\n // add the control elements to the directionEl\n slider.controls.directionEl.append(slider.controls.prev).append(slider.controls.next);\n // slider.viewport.append(slider.controls.directionEl);\n slider.controls.el.addClass('bx-has-controls-direction').append(slider.controls.directionEl);\n }\n };\n\n /**\n * Appends start / stop auto controls to the controls element\n */\n var appendControlsAuto = function() {\n slider.controls.start = $('');\n slider.controls.stop = $('');\n // add the controls to the DOM\n slider.controls.autoEl = $('
');\n // on click actions to the controls\n slider.controls.autoEl.on('click', '.bx-start', clickStartBind);\n slider.controls.autoEl.on('click', '.bx-stop', clickStopBind);\n // if autoControlsCombine, insert only the \"start\" control\n if (slider.settings.autoControlsCombine) {\n slider.controls.autoEl.append(slider.controls.start);\n // if autoControlsCombine is false, insert both controls\n } else {\n slider.controls.autoEl.append(slider.controls.start).append(slider.controls.stop);\n }\n // if auto controls selector was supplied, populate it with the controls\n if (slider.settings.autoControlsSelector) {\n $(slider.settings.autoControlsSelector).html(slider.controls.autoEl);\n // if auto controls selector was not supplied, add it after the wrapper\n } else {\n slider.controls.el.addClass('bx-has-controls-auto').append(slider.controls.autoEl);\n }\n // update the auto controls\n updateAutoControls(slider.settings.autoStart ? 'stop' : 'start');\n };\n\n /**\n * Appends image captions to the DOM\n */\n var appendCaptions = function() {\n // cycle through each child\n slider.children.each(function(index) {\n // get the image title attribute\n var title = $(this).find('img:first').attr('title');\n // append the caption\n if (title !== undefined && ('' + title).length) {\n $(this).append('
' + title + '
');\n }\n });\n };\n\n /**\n * Click next binding\n *\n * @param e (event)\n * - DOM event object\n */\n var clickNextBind = function(e) {\n e.preventDefault();\n if (slider.controls.el.hasClass('disabled')) { return; }\n // if auto show is running, stop it\n if (slider.settings.auto && slider.settings.stopAutoOnClick) { el.stopAuto(); }\n el.goToNextSlide();\n };\n\n /**\n * Click prev binding\n *\n * @param e (event)\n * - DOM event object\n */\n var clickPrevBind = function(e) {\n e.preventDefault();\n if (slider.controls.el.hasClass('disabled')) { return; }\n // if auto show is running, stop it\n if (slider.settings.auto && slider.settings.stopAutoOnClick) { el.stopAuto(); }\n el.goToPrevSlide();\n };\n\n /**\n * Click start binding\n *\n * @param e (event)\n * - DOM event object\n */\n var clickStartBind = function(e) {\n el.startAuto();\n e.preventDefault();\n };\n\n /**\n * Click stop binding\n *\n * @param e (event)\n * - DOM event object\n */\n var clickStopBind = function(e) {\n el.stopAuto();\n e.preventDefault();\n };\n\n /**\n * Click pager binding\n *\n * @param e (event)\n * - DOM event object\n */\n var clickPagerBind = function(e) {\n var pagerLink, pagerIndex;\n e.preventDefault();\n if (slider.controls.el.hasClass('disabled')) {\n return;\n }\n // if auto show is running, stop it\n if (slider.settings.auto && slider.settings.stopAutoOnClick) { el.stopAuto(); }\n pagerLink = $(e.currentTarget);\n if (pagerLink.attr('data-slide-index') !== undefined) {\n pagerIndex = parseInt(pagerLink.attr('data-slide-index'));\n // if clicked pager link is not active, continue with the goToSlide call\n if (pagerIndex !== slider.active.index) { el.goToSlide(pagerIndex); }\n }\n };\n\n /**\n * Updates the pager links with an active class\n *\n * @param slideIndex (int)\n * - index of slide to make active\n */\n var updatePagerActive = function(slideIndex) {\n // if \"short\" pager type\n var len = slider.children.length; // nb of children\n if (slider.settings.pagerType === 'short') {\n if (slider.settings.maxSlides > 1) {\n len = Math.ceil(slider.children.length / slider.settings.maxSlides);\n }\n slider.pagerEl.html((slideIndex + 1) + slider.settings.pagerShortSeparator + len);\n return;\n }\n // remove all pager active classes\n slider.pagerEl.find('a').removeClass('active');\n // apply the active class for all pagers\n slider.pagerEl.each(function(i, el) { $(el).find('a').eq(slideIndex).addClass('active'); });\n };\n\n /**\n * Performs needed actions after a slide transition\n */\n var updateAfterSlideTransition = function() {\n // if infinite loop is true\n if (slider.settings.infiniteLoop) {\n var position = '';\n // first slide\n if (slider.active.index === 0) {\n // set the new position\n position = slider.children.eq(0).position();\n // carousel, last slide\n } else if (slider.active.index === getPagerQty() - 1 && slider.carousel) {\n position = slider.children.eq((getPagerQty() - 1) * getMoveBy()).position();\n // last slide\n } else if (slider.active.index === slider.children.length - 1) {\n position = slider.children.eq(slider.children.length - 1).position();\n }\n if (position) {\n if (slider.settings.mode === 'horizontal') { setPositionProperty(-position.left, 'reset', 0); }\n else if (slider.settings.mode === 'vertical') { setPositionProperty(-position.top, 'reset', 0); }\n }\n }\n // declare that the transition is complete\n slider.working = false;\n // onSlideAfter callback\n slider.settings.onSlideAfter.call(el, slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);\n };\n\n /**\n * Updates the auto controls state (either active, or combined switch)\n *\n * @param state (string) \"start\", \"stop\"\n * - the new state of the auto show\n */\n var updateAutoControls = function(state) {\n // if autoControlsCombine is true, replace the current control with the new state\n if (slider.settings.autoControlsCombine) {\n slider.controls.autoEl.html(slider.controls[state]);\n // if autoControlsCombine is false, apply the \"active\" class to the appropriate control\n } else {\n slider.controls.autoEl.find('a').removeClass('active');\n slider.controls.autoEl.find('a:not(.bx-' + state + ')').addClass('active');\n }\n };\n\n /**\n * Updates the direction controls (checks if either should be hidden)\n */\n var updateDirectionControls = function() {\n if (getPagerQty() === 1) {\n slider.controls.prev.addClass('disabled');\n slider.controls.next.addClass('disabled');\n } else if (!slider.settings.infiniteLoop && slider.settings.hideControlOnEnd) {\n // if first slide\n if (slider.active.index === 0) {\n slider.controls.prev.addClass('disabled');\n slider.controls.next.removeClass('disabled');\n // if last slide\n } else if (slider.active.index === getPagerQty() - 1) {\n slider.controls.next.addClass('disabled');\n slider.controls.prev.removeClass('disabled');\n // if any slide in the middle\n } else {\n slider.controls.prev.removeClass('disabled');\n slider.controls.next.removeClass('disabled');\n }\n }\n };\n\t/* auto start and stop functions */\n\tvar windowFocusHandler = function() { el.startAuto(); };\n\tvar windowBlurHandler = function() { el.stopAuto(); };\n /**\n * Initializes the auto process\n */\n var initAuto = function() {\n // if autoDelay was supplied, launch the auto show using a setTimeout() call\n if (slider.settings.autoDelay > 0) {\n setTimeout(el.startAuto, slider.settings.autoDelay);\n // if autoDelay was not supplied, start the auto show normally\n } else {\n el.startAuto();\n\n //add focus and blur events to ensure its running if timeout gets paused\n $(window).focus(windowFocusHandler).blur(windowBlurHandler);\n }\n // if autoHover is requested\n if (slider.settings.autoHover) {\n // on el hover\n el.hover(function() {\n // if the auto show is currently playing (has an active interval)\n if (slider.interval) {\n // stop the auto show and pass true argument which will prevent control update\n el.stopAuto(true);\n // create a new autoPaused value which will be used by the relative \"mouseout\" event\n slider.autoPaused = true;\n }\n }, function() {\n // if the autoPaused value was created be the prior \"mouseover\" event\n if (slider.autoPaused) {\n // start the auto show and pass true argument which will prevent control update\n el.startAuto(true);\n // reset the autoPaused value\n slider.autoPaused = null;\n }\n });\n }\n };\n\n /**\n * Initializes the ticker process\n */\n var initTicker = function() {\n var startPosition = 0,\n position, transform, value, idx, ratio, property, newSpeed, totalDimens;\n // if autoDirection is \"next\", append a clone of the entire slider\n if (slider.settings.autoDirection === 'next') {\n el.append(slider.children.clone().addClass('bx-clone'));\n // if autoDirection is \"prev\", prepend a clone of the entire slider, and set the left position\n } else {\n el.prepend(slider.children.clone().addClass('bx-clone'));\n position = slider.children.first().position();\n startPosition = slider.settings.mode === 'horizontal' ? -position.left : -position.top;\n }\n setPositionProperty(startPosition, 'reset', 0);\n // do not allow controls in ticker mode\n slider.settings.pager = false;\n slider.settings.controls = false;\n slider.settings.autoControls = false;\n // if autoHover is requested\n if (slider.settings.tickerHover) {\n if (slider.usingCSS) {\n idx = slider.settings.mode === 'horizontal' ? 4 : 5;\n slider.viewport.hover(function() {\n transform = el.css('-' + slider.cssPrefix + '-transform');\n value = parseFloat(transform.split(',')[idx]);\n setPositionProperty(value, 'reset', 0);\n }, function() {\n totalDimens = 0;\n slider.children.each(function(index) {\n totalDimens += slider.settings.mode === 'horizontal' ? $(this).outerWidth(true) : $(this).outerHeight(true);\n });\n // calculate the speed ratio (used to determine the new speed to finish the paused animation)\n ratio = slider.settings.speed / totalDimens;\n // determine which property to use\n property = slider.settings.mode === 'horizontal' ? 'left' : 'top';\n // calculate the new speed\n newSpeed = ratio * (totalDimens - (Math.abs(parseInt(value))));\n tickerLoop(newSpeed);\n });\n } else {\n // on el hover\n slider.viewport.hover(function() {\n el.stop();\n }, function() {\n // calculate the total width of children (used to calculate the speed ratio)\n totalDimens = 0;\n slider.children.each(function(index) {\n totalDimens += slider.settings.mode === 'horizontal' ? $(this).outerWidth(true) : $(this).outerHeight(true);\n });\n // calculate the speed ratio (used to determine the new speed to finish the paused animation)\n ratio = slider.settings.speed / totalDimens;\n // determine which property to use\n property = slider.settings.mode === 'horizontal' ? 'left' : 'top';\n // calculate the new speed\n newSpeed = ratio * (totalDimens - (Math.abs(parseInt(el.css(property)))));\n tickerLoop(newSpeed);\n });\n }\n }\n // start the ticker loop\n tickerLoop();\n };\n\n /**\n * Runs a continuous loop, news ticker-style\n */\n var tickerLoop = function(resumeSpeed) {\n var speed = resumeSpeed ? resumeSpeed : slider.settings.speed,\n position = {left: 0, top: 0},\n reset = {left: 0, top: 0},\n animateProperty, resetValue, params;\n\n // if \"next\" animate left position to last child, then reset left to 0\n if (slider.settings.autoDirection === 'next') {\n position = el.find('.bx-clone').first().position();\n // if \"prev\" animate left position to 0, then reset left to first non-clone child\n } else {\n reset = slider.children.first().position();\n }\n animateProperty = slider.settings.mode === 'horizontal' ? -position.left : -position.top;\n resetValue = slider.settings.mode === 'horizontal' ? -reset.left : -reset.top;\n params = {resetValue: resetValue};\n setPositionProperty(animateProperty, 'ticker', speed, params);\n };\n\n /**\n * Check if el is on screen\n */\n var isOnScreen = function(el) {\n var win = $(window),\n viewport = {\n top: win.scrollTop(),\n left: win.scrollLeft()\n },\n bounds = el.offset();\n\n viewport.right = viewport.left + win.width();\n viewport.bottom = viewport.top + win.height();\n bounds.right = bounds.left + el.outerWidth();\n bounds.bottom = bounds.top + el.outerHeight();\n\n return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom));\n };\n\n /**\n * Initializes keyboard events\n */\n var keyPress = function(e) {\n var activeElementTag = document.activeElement.tagName.toLowerCase(),\n tagFilters = 'input|textarea',\n p = new RegExp(activeElementTag,['i']),\n result = p.exec(tagFilters);\n\n if (result == null && isOnScreen(el)) {\n if (e.keyCode === 39) {\n clickNextBind(e);\n return false;\n } else if (e.keyCode === 37) {\n clickPrevBind(e);\n return false;\n }\n }\n };\n\n /**\n * Initializes touch events\n */\n var initTouch = function() {\n // initialize object to contain all touch values\n slider.touch = {\n start: {x: 0, y: 0},\n end: {x: 0, y: 0}\n };\n slider.viewport.on('touchstart MSPointerDown pointerdown', onTouchStart);\n\n //for browsers that have implemented pointer events and fire a click after\n //every pointerup regardless of whether pointerup is on same screen location as pointerdown or not\n slider.viewport.on('click', '.bxslider a', function(e) {\n if (slider.viewport.hasClass('click-disabled')) {\n e.preventDefault();\n slider.viewport.removeClass('click-disabled');\n }\n });\n };\n\n /**\n * Event handler for \"touchstart\"\n *\n * @param e (event)\n * - DOM event object\n */\n var onTouchStart = function(e) {\n // watch only for left mouse, touch contact and pen contact\n // touchstart event object doesn`t have button property\n if (e.type !== 'touchstart' && e.button !== 0) {\n return;\n }\n e.preventDefault();\n //disable slider controls while user is interacting with slides to avoid slider freeze that happens on touch devices when a slide swipe happens immediately after interacting with slider controls\n slider.controls.el.addClass('disabled');\n\n if (slider.working) {\n slider.controls.el.removeClass('disabled');\n } else {\n // record the original position when touch starts\n slider.touch.originalPos = el.position();\n var orig = e.originalEvent,\n touchPoints = (typeof orig.changedTouches !== 'undefined') ? orig.changedTouches : [orig];\n\t\tvar chromePointerEvents = typeof PointerEvent === 'function'; \n\t\tif (chromePointerEvents) { \n\t\t\tif (orig.pointerId === undefined) { \n\t\t\t\treturn;\n\t\t\t} \n\t\t}\n // record the starting touch x, y coordinates\n slider.touch.start.x = touchPoints[0].pageX;\n slider.touch.start.y = touchPoints[0].pageY;\n\n if (slider.viewport.get(0).setPointerCapture) {\n slider.pointerId = orig.pointerId;\n slider.viewport.get(0).setPointerCapture(slider.pointerId);\n }\n // store original event data for click fixation\n slider.originalClickTarget = orig.originalTarget || orig.target;\n slider.originalClickButton = orig.button;\n slider.originalClickButtons = orig.buttons;\n slider.originalEventType = orig.type;\n // at this moment we don`t know what it is click or swipe\n slider.hasMove = false;\n // on a \"touchmove\" event to the viewport\n slider.viewport.on('touchmove MSPointerMove pointermove', onTouchMove);\n // on a \"touchend\" event to the viewport\n slider.viewport.on('touchend MSPointerUp pointerup', onTouchEnd);\n slider.viewport.on('MSPointerCancel pointercancel', onPointerCancel);\n }\n };\n\n /**\n * Cancel Pointer for Windows Phone\n *\n * @param e (event)\n * - DOM event object\n */\n var onPointerCancel = function(e) {\n e.preventDefault();\n /* onPointerCancel handler is needed to deal with situations when a touchend\n doesn't fire after a touchstart (this happens on windows phones only) */\n setPositionProperty(slider.touch.originalPos.left, 'reset', 0);\n\n //remove handlers\n slider.controls.el.removeClass('disabled');\n slider.viewport.off('MSPointerCancel pointercancel', onPointerCancel);\n slider.viewport.off('touchmove MSPointerMove pointermove', onTouchMove);\n slider.viewport.off('touchend MSPointerUp pointerup', onTouchEnd);\n if (slider.viewport.get(0).releasePointerCapture) {\n slider.viewport.get(0).releasePointerCapture(slider.pointerId);\n }\n };\n\n /**\n * Event handler for \"touchmove\"\n *\n * @param e (event)\n * - DOM event object\n */\n var onTouchMove = function(e) {\n var orig = e.originalEvent,\n touchPoints = (typeof orig.changedTouches !== 'undefined') ? orig.changedTouches : [orig],\n // if scrolling on y axis, do not prevent default\n xMovement = Math.abs(touchPoints[0].pageX - slider.touch.start.x),\n yMovement = Math.abs(touchPoints[0].pageY - slider.touch.start.y),\n value = 0,\n change = 0;\n // this is swipe\n slider.hasMove = true;\n\n // x axis swipe\n if ((xMovement * 3) > yMovement && slider.settings.preventDefaultSwipeX) {\n e.preventDefault();\n // y axis swipe\n } else if ((yMovement * 3) > xMovement && slider.settings.preventDefaultSwipeY) {\n e.preventDefault();\n }\n if (e.type !== 'touchmove') {\n e.preventDefault();\n }\n\n if (slider.settings.mode !== 'fade' && slider.settings.oneToOneTouch) {\n // if horizontal, drag along x axis\n if (slider.settings.mode === 'horizontal') {\n change = touchPoints[0].pageX - slider.touch.start.x;\n value = slider.touch.originalPos.left + change;\n // if vertical, drag along y axis\n } else {\n change = touchPoints[0].pageY - slider.touch.start.y;\n value = slider.touch.originalPos.top + change;\n }\n setPositionProperty(value, 'reset', 0);\n }\n };\n\n /**\n * Event handler for \"touchend\"\n *\n * @param e (event)\n * - DOM event object\n */\n var onTouchEnd = function(e) {\n e.preventDefault();\n slider.viewport.off('touchmove MSPointerMove pointermove', onTouchMove);\n //enable slider controls as soon as user stops interacing with slides\n slider.controls.el.removeClass('disabled');\n var orig = e.originalEvent,\n touchPoints = (typeof orig.changedTouches !== 'undefined') ? orig.changedTouches : [orig],\n value = 0,\n distance = 0;\n // record end x, y positions\n slider.touch.end.x = touchPoints[0].pageX;\n slider.touch.end.y = touchPoints[0].pageY;\n // if fade mode, check if absolute x distance clears the threshold\n if (slider.settings.mode === 'fade') {\n distance = Math.abs(slider.touch.start.x - slider.touch.end.x);\n if (distance >= slider.settings.swipeThreshold) {\n if (slider.touch.start.x > slider.touch.end.x) {\n el.goToNextSlide();\n } else {\n el.goToPrevSlide();\n }\n el.stopAuto();\n }\n // not fade mode\n } else {\n // calculate distance and el's animate property\n if (slider.settings.mode === 'horizontal') {\n distance = slider.touch.end.x - slider.touch.start.x;\n value = slider.touch.originalPos.left;\n } else {\n distance = slider.touch.end.y - slider.touch.start.y;\n value = slider.touch.originalPos.top;\n }\n // if not infinite loop and first / last slide, do not attempt a slide transition\n if (!slider.settings.infiniteLoop && ((slider.active.index === 0 && distance > 0) || (slider.active.last && distance < 0))) {\n setPositionProperty(value, 'reset', 200);\n } else {\n // check if distance clears threshold\n if (Math.abs(distance) >= slider.settings.swipeThreshold) {\n if (distance < 0) {\n el.goToNextSlide();\n } else {\n el.goToPrevSlide();\n }\n el.stopAuto();\n } else {\n // el.animate(property, 200);\n setPositionProperty(value, 'reset', 200);\n }\n }\n }\n slider.viewport.off('touchend MSPointerUp pointerup', onTouchEnd);\n\n if (slider.viewport.get(0).releasePointerCapture) {\n slider.viewport.get(0).releasePointerCapture(slider.pointerId);\n }\n // if slider had swipe with left mouse, touch contact and pen contact\n if (slider.hasMove === false && (slider.originalClickButton === 0 || slider.originalEventType === 'touchstart')) {\n // trigger click event (fix for Firefox59 and PointerEvent standard compatibility)\n $(slider.originalClickTarget).trigger({\n type: 'click',\n button: slider.originalClickButton,\n buttons: slider.originalClickButtons\n });\n }\n };\n\n /**\n * Window resize event callback\n */\n var resizeWindow = function(e) {\n // don't do anything if slider isn't initialized.\n if (!slider.initialized) { return; }\n // Delay if slider working.\n if (slider.working) {\n window.setTimeout(resizeWindow, 10);\n } else {\n // get the new window dimens (again, thank you IE)\n var windowWidthNew = $(window).width(),\n windowHeightNew = $(window).height();\n // make sure that it is a true window resize\n // *we must check this because our dinosaur friend IE fires a window resize event when certain DOM elements\n // are resized. Can you just die already?*\n if (windowWidth !== windowWidthNew || windowHeight !== windowHeightNew) {\n // set the new window dimens\n windowWidth = windowWidthNew;\n windowHeight = windowHeightNew;\n // update all dynamic elements\n el.redrawSlider();\n // Call user resize handler\n slider.settings.onSliderResize.call(el, slider.active.index);\n }\n }\n };\n\n /**\n * Adds an aria-hidden=true attribute to each element\n *\n * @param startVisibleIndex (int)\n * - the first visible element's index\n */\n var applyAriaHiddenAttributes = function(startVisibleIndex) {\n var numberOfSlidesShowing = getNumberSlidesShowing();\n // only apply attributes if the setting is enabled and not in ticker mode\n if (slider.settings.ariaHidden && !slider.settings.ticker) {\n // add aria-hidden=true to all elements\n slider.children.attr('aria-hidden', 'true');\n // get the visible elements and change to aria-hidden=false\n slider.children.slice(startVisibleIndex, startVisibleIndex + numberOfSlidesShowing).attr('aria-hidden', 'false');\n }\n };\n\n /**\n * Returns index according to present page range\n *\n * @param slideOndex (int)\n * - the desired slide index\n */\n var setSlideIndex = function(slideIndex) {\n if (slideIndex < 0) {\n if (slider.settings.infiniteLoop) {\n return getPagerQty() - 1;\n }else {\n //we don't go to undefined slides\n return slider.active.index;\n }\n // if slideIndex is greater than children length, set active index to 0 (this happens during infinite loop)\n } else if (slideIndex >= getPagerQty()) {\n if (slider.settings.infiniteLoop) {\n return 0;\n } else {\n //we don't move to undefined pages\n return slider.active.index;\n }\n // set active index to requested slide\n } else {\n return slideIndex;\n }\n };\n\n /**\n * ===================================================================================\n * = PUBLIC FUNCTIONS\n * ===================================================================================\n */\n\n /**\n * Performs slide transition to the specified slide\n *\n * @param slideIndex (int)\n * - the destination slide's index (zero-based)\n *\n * @param direction (string)\n * - INTERNAL USE ONLY - the direction of travel (\"prev\" / \"next\")\n */\n el.goToSlide = function(slideIndex, direction) {\n // onSlideBefore, onSlideNext, onSlidePrev callbacks\n // Allow transition canceling based on returned value\n var performTransition = true,\n moveBy = 0,\n position = {left: 0, top: 0},\n lastChild = null,\n lastShowingIndex, eq, value, requestEl;\n // store the old index\n slider.oldIndex = slider.active.index;\n //set new index\n slider.active.index = setSlideIndex(slideIndex);\n\n // if plugin is currently in motion, ignore request\n if (slider.working || slider.active.index === slider.oldIndex) { return; }\n // declare that plugin is in motion\n slider.working = true;\n\n performTransition = slider.settings.onSlideBefore.call(el, slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);\n\n // If transitions canceled, reset and return\n if (typeof (performTransition) !== 'undefined' && !performTransition) {\n slider.active.index = slider.oldIndex; // restore old index\n slider.working = false; // is not in motion\n return;\n }\n\n if (direction === 'next') {\n // Prevent canceling in future functions or lack there-of from negating previous commands to cancel\n if (!slider.settings.onSlideNext.call(el, slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index)) {\n performTransition = false;\n }\n } else if (direction === 'prev') {\n // Prevent canceling in future functions or lack there-of from negating previous commands to cancel\n if (!slider.settings.onSlidePrev.call(el, slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index)) {\n performTransition = false;\n }\n }\n\n // check if last slide\n slider.active.last = slider.active.index >= getPagerQty() - 1;\n // update the pager with active class\n if (slider.settings.pager || slider.settings.pagerCustom) { updatePagerActive(slider.active.index); }\n // // check for direction control update\n if (slider.settings.controls) { updateDirectionControls(); }\n // if slider is set to mode: \"fade\"\n if (slider.settings.mode === 'fade') {\n // if adaptiveHeight is true and next height is different from current height, animate to the new height\n if (slider.settings.adaptiveHeight && slider.viewport.height() !== getViewportHeight()) {\n slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed);\n }\n // fade out the visible child and reset its z-index value\n slider.children.filter(':visible').fadeOut(slider.settings.speed).css({zIndex: 0});\n // fade in the newly requested slide\n slider.children.eq(slider.active.index).css('zIndex', slider.settings.slideZIndex + 1).fadeIn(slider.settings.speed, function() {\n $(this).css('zIndex', slider.settings.slideZIndex);\n updateAfterSlideTransition();\n });\n // slider mode is not \"fade\"\n } else {\n // if adaptiveHeight is true and next height is different from current height, animate to the new height\n if (slider.settings.adaptiveHeight && slider.viewport.height() !== getViewportHeight()) {\n slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed);\n }\n // if carousel and not infinite loop\n if (!slider.settings.infiniteLoop && slider.carousel && slider.active.last) {\n if (slider.settings.mode === 'horizontal') {\n // get the last child position\n lastChild = slider.children.eq(slider.children.length - 1);\n position = lastChild.position();\n // calculate the position of the last slide\n moveBy = slider.viewport.width() - lastChild.outerWidth();\n } else {\n // get last showing index position\n lastShowingIndex = slider.children.length - slider.settings.minSlides;\n position = slider.children.eq(lastShowingIndex).position();\n }\n // horizontal carousel, going previous while on first slide (infiniteLoop mode)\n } else if (slider.carousel && slider.active.last && direction === 'prev') {\n // get the last child position\n eq = slider.settings.moveSlides === 1 ? slider.settings.maxSlides - getMoveBy() : ((getPagerQty() - 1) * getMoveBy()) - (slider.children.length - slider.settings.maxSlides);\n lastChild = el.children('.bx-clone').eq(eq);\n position = lastChild.position();\n // if infinite loop and \"Next\" is clicked on the last slide\n } else if (direction === 'next' && slider.active.index === 0) {\n // get the last clone position\n position = el.find('> .bx-clone').eq(slider.settings.maxSlides).position();\n slider.active.last = false;\n // normal non-zero requests\n } else if (slideIndex >= 0) {\n //parseInt is applied to allow floats for slides/page\n requestEl = slideIndex * parseInt(getMoveBy());\n position = slider.children.eq(requestEl).position();\n }\n\n /* If the position doesn't exist\n * (e.g. if you destroy the slider on a next click),\n * it doesn't throw an error.\n */\n if (typeof (position) !== 'undefined') {\n value = slider.settings.mode === 'horizontal' ? -(position.left - moveBy) : -position.top;\n // plugin values to be animated\n setPositionProperty(value, 'slide', slider.settings.speed);\n }\n slider.working = false;\n }\n if (slider.settings.ariaHidden) { applyAriaHiddenAttributes(slider.active.index * getMoveBy()); }\n };\n\n /**\n * Transitions to the next slide in the show\n */\n el.goToNextSlide = function() {\n // if infiniteLoop is false and last page is showing, disregard call\n if (!slider.settings.infiniteLoop && slider.active.last) { return; }\n\t if (slider.working === true){ return ;}\n var pagerIndex = parseInt(slider.active.index) + 1;\n el.goToSlide(pagerIndex, 'next');\n };\n\n /**\n * Transitions to the prev slide in the show\n */\n el.goToPrevSlide = function() {\n // if infiniteLoop is false and last page is showing, disregard call\n if (!slider.settings.infiniteLoop && slider.active.index === 0) { return; }\n\t if (slider.working === true){ return ;}\n var pagerIndex = parseInt(slider.active.index) - 1;\n el.goToSlide(pagerIndex, 'prev');\n };\n\n /**\n * Starts the auto show\n *\n * @param preventControlUpdate (boolean)\n * - if true, auto controls state will not be updated\n */\n el.startAuto = function(preventControlUpdate) {\n // if an interval already exists, disregard call\n if (slider.interval) { return; }\n // create an interval\n slider.interval = setInterval(function() {\n if (slider.settings.autoDirection === 'next') {\n el.goToNextSlide();\n } else {\n el.goToPrevSlide();\n }\n }, slider.settings.pause);\n\t //allback for when the auto rotate status changes\n\t slider.settings.onAutoChange.call(el, true);\n // if auto controls are displayed and preventControlUpdate is not true\n if (slider.settings.autoControls && preventControlUpdate !== true) { updateAutoControls('stop'); }\n };\n\n /**\n * Stops the auto show\n *\n * @param preventControlUpdate (boolean)\n * - if true, auto controls state will not be updated\n */\n el.stopAuto = function(preventControlUpdate) {\n // if slider is auto paused, just clear that state\n if (slider.autoPaused) slider.autoPaused = false;\n // if no interval exists, disregard call\n if (!slider.interval) { return; }\n // clear the interval\n clearInterval(slider.interval);\n slider.interval = null;\n\t //allback for when the auto rotate status changes\n\t slider.settings.onAutoChange.call(el, false);\n // if auto controls are displayed and preventControlUpdate is not true\n if (slider.settings.autoControls && preventControlUpdate !== true) { updateAutoControls('start'); }\n };\n\n /**\n * Returns current slide index (zero-based)\n */\n el.getCurrentSlide = function() {\n return slider.active.index;\n };\n\n /**\n * Returns current slide element\n */\n el.getCurrentSlideElement = function() {\n return slider.children.eq(slider.active.index);\n };\n\n /**\n * Returns a slide element\n * @param index (int)\n * - The index (zero-based) of the element you want returned.\n */\n el.getSlideElement = function(index) {\n return slider.children.eq(index);\n };\n\n /**\n * Returns number of slides in show\n */\n el.getSlideCount = function() {\n return slider.children.length;\n };\n\n /**\n * Return slider.working variable\n */\n el.isWorking = function() {\n return slider.working;\n };\n\n /**\n * Update all dynamic slider elements\n */\n el.redrawSlider = function() {\n // resize all children in ratio to new screen size\n slider.children.add(el.find('.bx-clone')).outerWidth(getSlideWidth());\n // adjust the height\n slider.viewport.css('height', getViewportHeight());\n // update the slide position\n if (!slider.settings.ticker) { setSlidePosition(); }\n // if active.last was true before the screen resize, we want\n // to keep it last no matter what screen size we end on\n if (slider.active.last) { slider.active.index = getPagerQty() - 1; }\n // if the active index (page) no longer exists due to the resize, simply set the index as last\n if (slider.active.index >= getPagerQty()) { slider.active.last = true; }\n // if a pager is being displayed and a custom pager is not being used, update it\n if (slider.settings.pager && !slider.settings.pagerCustom) {\n populatePager();\n updatePagerActive(slider.active.index);\n }\n if (slider.settings.ariaHidden) { applyAriaHiddenAttributes(slider.active.index * getMoveBy()); }\n };\n\n /**\n * Destroy the current instance of the slider (revert everything back to original state)\n */\n el.destroySlider = function() {\n // don't do anything if slider has already been destroyed\n if (!slider.initialized) { return; }\n slider.initialized = false;\n $('.bx-clone', this).remove();\n slider.children.each(function() {\n if ($(this).data('origStyle') !== undefined) {\n $(this).attr('style', $(this).data('origStyle'));\n } else {\n $(this).removeAttr('style');\n }\n });\n if ($(this).data('origStyle') !== undefined) {\n this.attr('style', $(this).data('origStyle'));\n } else {\n $(this).removeAttr('style');\n }\n $(this).unwrap().unwrap();\n if (slider.controls.el) { slider.controls.el.remove(); }\n if (slider.controls.next) { slider.controls.next.remove(); }\n if (slider.controls.prev) { slider.controls.prev.remove(); }\n if (slider.pagerEl && slider.settings.controls && !slider.settings.pagerCustom) { slider.pagerEl.remove(); }\n $('.bx-caption', this).remove();\n if (slider.controls.autoEl) { slider.controls.autoEl.remove(); }\n clearInterval(slider.interval);\n if (slider.settings.responsive) { $(window).off('resize', resizeWindow); }\n if (slider.settings.keyboardEnabled) { $(document).off('keydown', keyPress); }\n //remove self reference in data\n $(this).removeData('bxSlider');\n\t // remove global window handlers\n\t $(window).off('blur', windowBlurHandler).off('focus', windowFocusHandler);\n };\n\n /**\n * Reload the slider (revert all DOM changes, and re-initialize)\n */\n el.reloadSlider = function(settings) {\n if (settings !== undefined) { options = settings; }\n el.destroySlider();\n init();\n //store reference to self in order to access public functions later\n $(el).data('bxSlider', this);\n };\n\n init();\n\n $(el).data('bxSlider', this);\n\n // returns the current jQuery object\n return this;\n };\n\n})(jQuery);\n","/*!\n\tColorbox 1.6.4\n\tlicense: MIT\n\thttp://www.jacklmoore.com/colorbox\n*/\n(function ($, document, window) {\n\tvar\n\t// Default settings object.\n\t// See http://jacklmoore.com/colorbox for details.\n\tdefaults = {\n\t\t// data sources\n\t\thtml: false,\n\t\tphoto: false,\n\t\tiframe: false,\n\t\tinline: false,\n\n\t\t// behavior and appearance\n\t\ttransition: \"elastic\",\n\t\tspeed: 300,\n\t\tfadeOut: 300,\n\t\twidth: false,\n\t\tinitialWidth: \"600\",\n\t\tinnerWidth: false,\n\t\tmaxWidth: false,\n\t\theight: false,\n\t\tinitialHeight: \"450\",\n\t\tinnerHeight: false,\n\t\tmaxHeight: false,\n\t\tscalePhotos: true,\n\t\tscrolling: true,\n\t\topacity: 0.9,\n\t\tpreloading: true,\n\t\tclassName: false,\n\t\toverlayClose: true,\n\t\tescKey: true,\n\t\tarrowKey: true,\n\t\ttop: false,\n\t\tbottom: false,\n\t\tleft: false,\n\t\tright: false,\n\t\tfixed: false,\n\t\tdata: undefined,\n\t\tcloseButton: true,\n\t\tfastIframe: true,\n\t\topen: false,\n\t\treposition: true,\n\t\tloop: true,\n\t\tslideshow: false,\n\t\tslideshowAuto: true,\n\t\tslideshowSpeed: 2500,\n\t\tslideshowStart: \"start slideshow\",\n\t\tslideshowStop: \"stop slideshow\",\n\t\tphotoRegex: /\\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\\?).*)?$/i,\n\n\t\t// alternate image paths for high-res displays\n\t\tretinaImage: false,\n\t\tretinaUrl: false,\n\t\tretinaSuffix: '@2x.$1',\n\n\t\t// internationalization\n\t\tcurrent: \"image {current} of {total}\",\n\t\tprevious: \"previous\",\n\t\tnext: \"next\",\n\t\tclose: \"close\",\n\t\txhrError: \"This content failed to load.\",\n\t\timgError: \"This image failed to load.\",\n\n\t\t// accessbility\n\t\treturnFocus: true,\n\t\ttrapFocus: true,\n\n\t\t// callbacks\n\t\tonOpen: false,\n\t\tonLoad: false,\n\t\tonComplete: false,\n\t\tonCleanup: false,\n\t\tonClosed: false,\n\n\t\trel: function() {\n\t\t\treturn this.rel;\n\t\t},\n\t\thref: function() {\n\t\t\t// using this.href would give the absolute url, when the href may have been inteded as a selector (e.g. '#container')\n\t\t\treturn $(this).attr('href');\n\t\t},\n\t\ttitle: function() {\n\t\t\treturn this.title;\n\t\t},\n\t\tcreateImg: function() {\n\t\t\tvar img = new Image();\n\t\t\tvar attrs = $(this).data('cbox-img-attrs');\n\n\t\t\tif (typeof attrs === 'object') {\n\t\t\t\t$.each(attrs, function(key, val){\n\t\t\t\t\timg[key] = val;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn img;\n\t\t},\n\t\tcreateIframe: function() {\n\t\t\tvar iframe = document.createElement('iframe');\n\t\t\tvar attrs = $(this).data('cbox-iframe-attrs');\n\n\t\t\tif (typeof attrs === 'object') {\n\t\t\t\t$.each(attrs, function(key, val){\n\t\t\t\t\tiframe[key] = val;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif ('frameBorder' in iframe) {\n\t\t\t\tiframe.frameBorder = 0;\n\t\t\t}\n\t\t\tif ('allowTransparency' in iframe) {\n\t\t\t\tiframe.allowTransparency = \"true\";\n\t\t\t}\n\t\t\tiframe.name = (new Date()).getTime(); // give the iframe a unique name to prevent caching\n\t\t\tiframe.allowFullscreen = true;\n\n\t\t\treturn iframe;\n\t\t}\n\t},\n\n\t// Abstracting the HTML and event identifiers for easy rebranding\n\tcolorbox = 'colorbox',\n\tprefix = 'cbox',\n\tboxElement = prefix + 'Element',\n\n\t// Events\n\tevent_open = prefix + '_open',\n\tevent_load = prefix + '_load',\n\tevent_complete = prefix + '_complete',\n\tevent_cleanup = prefix + '_cleanup',\n\tevent_closed = prefix + '_closed',\n\tevent_purge = prefix + '_purge',\n\n\t// Cached jQuery Object Variables\n\t$overlay,\n\t$box,\n\t$wrap,\n\t$content,\n\t$topBorder,\n\t$leftBorder,\n\t$rightBorder,\n\t$bottomBorder,\n\t$related,\n\t$window,\n\t$loaded,\n\t$loadingBay,\n\t$loadingOverlay,\n\t$title,\n\t$current,\n\t$slideshow,\n\t$next,\n\t$prev,\n\t$close,\n\t$groupControls,\n\t$events = $(''), // $({}) would be prefered, but there is an issue with jQuery 1.4.2\n\n\t// Variables for cached values or use across multiple functions\n\tsettings,\n\tinterfaceHeight,\n\tinterfaceWidth,\n\tloadedHeight,\n\tloadedWidth,\n\tindex,\n\tphoto,\n\topen,\n\tactive,\n\tclosing,\n\tloadingTimer,\n\tpublicMethod,\n\tdiv = \"div\",\n\trequests = 0,\n\tpreviousCSS = {},\n\tinit;\n\n\t// ****************\n\t// HELPER FUNCTIONS\n\t// ****************\n\n\t// Convenience function for creating new jQuery objects\n\tfunction $tag(tag, id, css) {\n\t\tvar element = document.createElement(tag);\n\n\t\tif (id) {\n\t\t\telement.id = prefix + id;\n\t\t}\n\n\t\tif (css) {\n\t\t\telement.style.cssText = css;\n\t\t}\n\n\t\treturn $(element);\n\t}\n\n\t// Get the window height using innerHeight when available to avoid an issue with iOS\n\t// http://bugs.jquery.com/ticket/6724\n\tfunction winheight() {\n\t\treturn window.innerHeight ? window.innerHeight : $(window).height();\n\t}\n\n\tfunction Settings(element, options) {\n\t\tif (options !== Object(options)) {\n\t\t\toptions = {};\n\t\t}\n\n\t\tthis.cache = {};\n\t\tthis.el = element;\n\n\t\tthis.value = function(key) {\n\t\t\tvar dataAttr;\n\n\t\t\tif (this.cache[key] === undefined) {\n\t\t\t\tdataAttr = $(this.el).attr('data-cbox-'+key);\n\n\t\t\t\tif (dataAttr !== undefined) {\n\t\t\t\t\tthis.cache[key] = dataAttr;\n\t\t\t\t} else if (options[key] !== undefined) {\n\t\t\t\t\tthis.cache[key] = options[key];\n\t\t\t\t} else if (defaults[key] !== undefined) {\n\t\t\t\t\tthis.cache[key] = defaults[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.cache[key];\n\t\t};\n\n\t\tthis.get = function(key) {\n\t\t\tvar value = this.value(key);\n\t\t\treturn $.isFunction(value) ? value.call(this.el, this) : value;\n\t\t};\n\t}\n\n\t// Determine the next and previous members in a group.\n\tfunction getIndex(increment) {\n\t\tvar\n\t\tmax = $related.length,\n\t\tnewIndex = (index + increment) % max;\n\n\t\treturn (newIndex < 0) ? max + newIndex : newIndex;\n\t}\n\n\t// Convert '%' and 'px' values to integers\n\tfunction setSize(size, dimension) {\n\t\treturn Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : winheight()) / 100) : 1) * parseInt(size, 10));\n\t}\n\n\t// Checks an href to see if it is a photo.\n\t// There is a force photo option (photo: true) for hrefs that cannot be matched by the regex.\n\tfunction isImage(settings, url) {\n\t\treturn settings.get('photo') || settings.get('photoRegex').test(url);\n\t}\n\n\tfunction retinaUrl(settings, url) {\n\t\treturn settings.get('retinaUrl') && window.devicePixelRatio > 1 ? url.replace(settings.get('photoRegex'), settings.get('retinaSuffix')) : url;\n\t}\n\n\tfunction trapFocus(e) {\n\t\tif ('contains' in $box[0] && !$box[0].contains(e.target) && e.target !== $overlay[0]) {\n\t\t\te.stopPropagation();\n\t\t\t$box.focus();\n\t\t}\n\t}\n\n\tfunction setClass(str) {\n\t\tif (setClass.str !== str) {\n\t\t\t$box.add($overlay).removeClass(setClass.str).addClass(str);\n\t\t\tsetClass.str = str;\n\t\t}\n\t}\n\n\tfunction getRelated(rel) {\n\t\tindex = 0;\n\n\t\tif (rel && rel !== false && rel !== 'nofollow') {\n\t\t\t$related = $('.' + boxElement).filter(function () {\n\t\t\t\tvar options = $.data(this, colorbox);\n\t\t\t\tvar settings = new Settings(this, options);\n\t\t\t\treturn (settings.get('rel') === rel);\n\t\t\t});\n\t\t\tindex = $related.index(settings.el);\n\n\t\t\t// Check direct calls to Colorbox.\n\t\t\tif (index === -1) {\n\t\t\t\t$related = $related.add(settings.el);\n\t\t\t\tindex = $related.length - 1;\n\t\t\t}\n\t\t} else {\n\t\t\t$related = $(settings.el);\n\t\t}\n\t}\n\n\tfunction trigger(event) {\n\t\t// for external use\n\t\t$(document).trigger(event);\n\t\t// for internal use\n\t\t$events.triggerHandler(event);\n\t}\n\n\tvar slideshow = (function(){\n\t\tvar active,\n\t\t\tclassName = prefix + \"Slideshow_\",\n\t\t\tclick = \"click.\" + prefix,\n\t\t\ttimeOut;\n\n\t\tfunction clear () {\n\t\t\tclearTimeout(timeOut);\n\t\t}\n\n\t\tfunction set() {\n\t\t\tif (settings.get('loop') || $related[index + 1]) {\n\t\t\t\tclear();\n\t\t\t\ttimeOut = setTimeout(publicMethod.next, settings.get('slideshowSpeed'));\n\t\t\t}\n\t\t}\n\n\t\tfunction start() {\n\t\t\t$slideshow\n\t\t\t\t.html(settings.get('slideshowStop'))\n\t\t\t\t.unbind(click)\n\t\t\t\t.one(click, stop);\n\n\t\t\t$events\n\t\t\t\t.bind(event_complete, set)\n\t\t\t\t.bind(event_load, clear);\n\n\t\t\t$box.removeClass(className + \"off\").addClass(className + \"on\");\n\t\t}\n\n\t\tfunction stop() {\n\t\t\tclear();\n\n\t\t\t$events\n\t\t\t\t.unbind(event_complete, set)\n\t\t\t\t.unbind(event_load, clear);\n\n\t\t\t$slideshow\n\t\t\t\t.html(settings.get('slideshowStart'))\n\t\t\t\t.unbind(click)\n\t\t\t\t.one(click, function () {\n\t\t\t\t\tpublicMethod.next();\n\t\t\t\t\tstart();\n\t\t\t\t});\n\n\t\t\t$box.removeClass(className + \"on\").addClass(className + \"off\");\n\t\t}\n\n\t\tfunction reset() {\n\t\t\tactive = false;\n\t\t\t$slideshow.hide();\n\t\t\tclear();\n\t\t\t$events\n\t\t\t\t.unbind(event_complete, set)\n\t\t\t\t.unbind(event_load, clear);\n\t\t\t$box.removeClass(className + \"off \" + className + \"on\");\n\t\t}\n\n\t\treturn function(){\n\t\t\tif (active) {\n\t\t\t\tif (!settings.get('slideshow')) {\n\t\t\t\t\t$events.unbind(event_cleanup, reset);\n\t\t\t\t\treset();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (settings.get('slideshow') && $related[1]) {\n\t\t\t\t\tactive = true;\n\t\t\t\t\t$events.one(event_cleanup, reset);\n\t\t\t\t\tif (settings.get('slideshowAuto')) {\n\t\t\t\t\t\tstart();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstop();\n\t\t\t\t\t}\n\t\t\t\t\t$slideshow.show();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t}());\n\n\n\tfunction launch(element) {\n\t\tvar options;\n\n\t\tif (!closing) {\n\n\t\t\toptions = $(element).data(colorbox);\n\n\t\t\tsettings = new Settings(element, options);\n\n\t\t\tgetRelated(settings.get('rel'));\n\n\t\t\tif (!open) {\n\t\t\t\topen = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.\n\n\t\t\t\tsetClass(settings.get('className'));\n\n\t\t\t\t// Show colorbox so the sizes can be calculated in older versions of jQuery\n\t\t\t\t$box.css({visibility:'hidden', display:'block', opacity:''});\n\n\t\t\t\t$loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden; visibility:hidden');\n\t\t\t\t$content.css({width:'', height:''}).append($loaded);\n\n\t\t\t\t// Cache values needed for size calculations\n\t\t\t\tinterfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();\n\t\t\t\tinterfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width();\n\t\t\t\tloadedHeight = $loaded.outerHeight(true);\n\t\t\t\tloadedWidth = $loaded.outerWidth(true);\n\n\t\t\t\t// Opens inital empty Colorbox prior to content being loaded.\n\t\t\t\tvar initialWidth = setSize(settings.get('initialWidth'), 'x');\n\t\t\t\tvar initialHeight = setSize(settings.get('initialHeight'), 'y');\n\t\t\t\tvar maxWidth = settings.get('maxWidth');\n\t\t\t\tvar maxHeight = settings.get('maxHeight');\n\n\t\t\t\tsettings.w = Math.max((maxWidth !== false ? Math.min(initialWidth, setSize(maxWidth, 'x')) : initialWidth) - loadedWidth - interfaceWidth, 0);\n\t\t\t\tsettings.h = Math.max((maxHeight !== false ? Math.min(initialHeight, setSize(maxHeight, 'y')) : initialHeight) - loadedHeight - interfaceHeight, 0);\n\n\t\t\t\t$loaded.css({width:'', height:settings.h});\n\t\t\t\tpublicMethod.position();\n\n\t\t\t\ttrigger(event_open);\n\t\t\t\tsettings.get('onOpen');\n\n\t\t\t\t$groupControls.add($title).hide();\n\n\t\t\t\t$box.focus();\n\n\t\t\t\tif (settings.get('trapFocus')) {\n\t\t\t\t\t// Confine focus to the modal\n\t\t\t\t\t// Uses event capturing that is not supported in IE8-\n\t\t\t\t\tif (document.addEventListener) {\n\n\t\t\t\t\t\tdocument.addEventListener('focus', trapFocus, true);\n\n\t\t\t\t\t\t$events.one(event_closed, function () {\n\t\t\t\t\t\t\tdocument.removeEventListener('focus', trapFocus, true);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Return focus on closing\n\t\t\t\tif (settings.get('returnFocus')) {\n\t\t\t\t\t$events.one(event_closed, function () {\n\t\t\t\t\t\t$(settings.el).focus();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar opacity = parseFloat(settings.get('opacity'));\n\t\t\t$overlay.css({\n\t\t\t\topacity: opacity === opacity ? opacity : '',\n\t\t\t\tcursor: settings.get('overlayClose') ? 'pointer' : '',\n\t\t\t\tvisibility: 'visible'\n\t\t\t}).show();\n\n\t\t\tif (settings.get('closeButton')) {\n\t\t\t\t$close.html(settings.get('close')).appendTo($content);\n\t\t\t} else {\n\t\t\t\t$close.appendTo('
'); // replace with .detach() when dropping jQuery < 1.4\n\t\t\t}\n\n\t\t\tload();\n\t\t}\n\t}\n\n\t// Colorbox's markup needs to be added to the DOM prior to being called\n\t// so that the browser will go ahead and load the CSS background images.\n\tfunction appendHTML() {\n\t\tif (!$box) {\n\t\t\tinit = false;\n\t\t\t$window = $(window);\n\t\t\t$box = $tag(div).attr({\n\t\t\t\tid: colorbox,\n\t\t\t\t'class': $.support.opacity === false ? prefix + 'IE' : '', // class for optional IE8 & lower targeted CSS.\n\t\t\t\trole: 'dialog',\n\t\t\t\ttabindex: '-1'\n\t\t\t}).hide();\n\t\t\t$overlay = $tag(div, \"Overlay\").hide();\n\t\t\t$loadingOverlay = $([$tag(div, \"LoadingOverlay\")[0],$tag(div, \"LoadingGraphic\")[0]]);\n\t\t\t$wrap = $tag(div, \"Wrapper\");\n\t\t\t$content = $tag(div, \"Content\").append(\n\t\t\t\t$title = $tag(div, \"Title\"),\n\t\t\t\t$current = $tag(div, \"Current\"),\n\t\t\t\t$prev = $('