Sindbad~EG File Manager
{"version":3,"file":"flexslider.min.js","sources":["../src/flexslider.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n//\n// ES6 wrapper for FlexSlider.\n//\n// @module theme_adaptable/flexslider\n// @copyright 2024 G J Barnard.\n// @author G J Barnard -\n// {@link https://moodle.org/user/profile.php?id=442195}\n// {@link https://gjbarnard.co.uk}\n// @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.\n//\n\nimport $ from 'jquery';\n\n/**\n * Initialise FlexSlider.\n */\nexport const flexslider = () => {\n /*\n * jQuery FlexSlider v2.7.2\n * Copyright 2012 WooThemes\n * Contributing Author: Tyler Smith\n * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v2 or later.\n */\n\n var focused = true;\n\n //FlexSlider: Object Instance\n $.flexslider = function (el, options) {\n var slider = $(el);\n\n // making variables public\n\n //if rtl value was not passed and html is in rtl..enable it by default.\n if (typeof options.rtl == 'undefined' && $('html').attr('dir') == 'rtl') {\n options.rtl = true;\n }\n slider.vars = $.extend({}, $.flexslider.defaults, options);\n\n var namespace = slider.vars.namespace,\n msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,\n touch = ((\"ontouchstart\" in window) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,\n // deprecating this idea, as devices are being released with both of these events\n eventType = \"click touchend MSPointerUp keyup\",\n watchedEvent = \"\",\n watchedEventClearTimer,\n vertical = slider.vars.direction === \"vertical\",\n reverse = slider.vars.reverse,\n carousel = (slider.vars.itemWidth > 0),\n fade = slider.vars.animation === \"fade\",\n asNav = slider.vars.asNavFor !== \"\",\n methods = {};\n\n // Store a reference to the slider object\n $.data(el, \"flexslider\", slider);\n\n // Private slider methods\n methods = {\n init: function () {\n slider.animating = false;\n // Get current slide and make sure it is a number\n slider.currentSlide = parseInt((slider.vars.startAt ? slider.vars.startAt : 0), 10);\n if (isNaN(slider.currentSlide)) { slider.currentSlide = 0; }\n slider.animatingTo = slider.currentSlide;\n slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);\n slider.containerSelector = slider.vars.selector.substr(0, slider.vars.selector.search(' '));\n slider.slides = $(slider.vars.selector, slider);\n slider.container = $(slider.containerSelector, slider);\n slider.count = slider.slides.length;\n // SYNC:\n slider.syncExists = $(slider.vars.sync).length > 0;\n // SLIDE:\n if (slider.vars.animation === \"slide\") { slider.vars.animation = \"swing\"; }\n slider.prop = (vertical) ? \"top\" : (slider.vars.rtl ? \"marginRight\" : \"marginLeft\");\n slider.args = {};\n // SLIDESHOW:\n slider.manualPause = false;\n slider.stopped = false;\n //PAUSE WHEN INVISIBLE\n slider.started = false;\n slider.startTimeout = null;\n // TOUCH/USECSS:\n slider.transitions = !slider.vars.video && !fade && slider.vars.useCSS && (function () {\n var obj = document.createElement('div'),\n props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];\n for (var i in props) {\n if (obj.style[props[i]] !== undefined) {\n slider.pfx = props[i].replace('Perspective', '').toLowerCase();\n slider.prop = \"-\" + slider.pfx + \"-transform\";\n return true;\n }\n }\n return false;\n }());\n slider.isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n slider.ensureAnimationEnd = '';\n // CONTROLSCONTAINER:\n if (slider.vars.controlsContainer !== \"\") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);\n // MANUAL:\n if (slider.vars.manualControls !== \"\") slider.manualControls = $(slider.vars.manualControls).length > 0 && $(slider.vars.manualControls);\n\n // CUSTOM DIRECTION NAV:\n if (slider.vars.customDirectionNav !== \"\") slider.customDirectionNav = $(slider.vars.customDirectionNav).length === 2 && $(slider.vars.customDirectionNav);\n\n // RANDOMIZE:\n if (slider.vars.randomize) {\n slider.slides.sort(function () { return (Math.round(Math.random()) - 0.5); });\n slider.container.empty().append(slider.slides);\n }\n\n slider.doMath();\n\n // INIT\n slider.setup(\"init\");\n\n // CONTROLNAV:\n if (slider.vars.controlNav) { methods.controlNav.setup(); }\n\n // DIRECTIONNAV:\n if (slider.vars.directionNav) { methods.directionNav.setup(); }\n\n // KEYBOARD:\n if (slider.vars.keyboard && ($(slider.containerSelector).length === 1 || slider.vars.multipleKeyboard)) {\n $(document).bind('keyup', function (event) {\n var keycode = event.keyCode;\n if (!slider.animating && (keycode === 39 || keycode === 37)) {\n var target = (slider.vars.rtl ?\n ((keycode === 37) ? slider.getTarget('next') :\n (keycode === 39) ? slider.getTarget('prev') : false)\n :\n ((keycode === 39) ? slider.getTarget('next') :\n (keycode === 37) ? slider.getTarget('prev') : false)\n )\n ;\n slider.flexAnimate(target, slider.vars.pauseOnAction);\n }\n });\n }\n // MOUSEWHEEL:\n if (slider.vars.mousewheel) {\n slider.bind('mousewheel', function (event, delta, deltaX, deltaY) {\n event.preventDefault();\n var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');\n slider.flexAnimate(target, slider.vars.pauseOnAction);\n });\n }\n\n // PAUSEPLAY\n if (slider.vars.pausePlay) { methods.pausePlay.setup(); }\n\n //PAUSE WHEN INVISIBLE\n if (slider.vars.slideshow && slider.vars.pauseInvisible) { methods.pauseInvisible.init(); }\n\n // SLIDSESHOW\n if (slider.vars.slideshow) {\n if (slider.vars.pauseOnHover) {\n slider.hover(function () {\n if (!slider.manualPlay && !slider.manualPause) { slider.pause(); }\n }, function () {\n if (!slider.manualPause && !slider.manualPlay && !slider.stopped) { slider.play(); }\n });\n }\n // initialize animation\n //If we're visible, or we don't use PageVisibility API\n if (!slider.vars.pauseInvisible || !methods.pauseInvisible.isHidden()) {\n (slider.vars.initDelay > 0) ? slider.startTimeout = setTimeout(slider.play, slider.vars.initDelay) : slider.play();\n }\n }\n\n // ASNAV:\n if (asNav) { methods.asNav.setup(); }\n\n // TOUCH\n if (touch && slider.vars.touch) { methods.touch(); }\n\n // FADE&&SMOOTHHEIGHT || SLIDE:\n if (!fade || (fade && slider.vars.smoothHeight)) { $(window).bind(\"resize orientationchange focus\", methods.resize); }\n\n slider.find(\"img\").attr(\"draggable\", \"false\");\n\n // API: start() Callback\n setTimeout(function () {\n slider.vars.start(slider);\n }, 200);\n },\n asNav: {\n setup: function () {\n slider.asNav = true;\n slider.animatingTo = Math.floor(slider.currentSlide / slider.move);\n slider.currentItem = slider.currentSlide;\n slider.slides.removeClass(namespace + \"active-slide\").eq(slider.currentItem).addClass(namespace + \"active-slide\");\n if (!msGesture) {\n slider.slides.on(eventType, function (e) {\n e.preventDefault();\n var $slide = $(this),\n target = $slide.index();\n var posFromX;\n if (slider.vars.rtl) {\n posFromX = -1 * ($slide.offset().right - $(slider).scrollLeft()); // Find position of slide relative to right of slider container\n }\n else {\n posFromX = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container\n }\n if (posFromX <= 0 && $slide.hasClass(namespace + 'active-slide')) {\n slider.flexAnimate(slider.getTarget(\"prev\"), true);\n } else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + \"active-slide\")) {\n slider.direction = (slider.currentItem < target) ? \"next\" : \"prev\";\n slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);\n }\n });\n } else {\n el._slider = slider;\n slider.slides.each(function () {\n var that = this;\n that._gesture = new MSGesture();\n that._gesture.target = that;\n that.addEventListener(\"MSPointerDown\", function (e) {\n e.preventDefault();\n if (e.currentTarget._gesture) {\n e.currentTarget._gesture.addPointer(e.pointerId);\n }\n }, false);\n that.addEventListener(\"MSGestureTap\", function (e) {\n e.preventDefault();\n var $slide = $(this),\n target = $slide.index();\n if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {\n slider.direction = (slider.currentItem < target) ? \"next\" : \"prev\";\n slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);\n }\n });\n });\n }\n }\n },\n controlNav: {\n setup: function () {\n if (!slider.manualControls) {\n methods.controlNav.setupPaging();\n } else { // MANUALCONTROLS:\n methods.controlNav.setupManual();\n }\n },\n setupPaging: function () {\n var type = (slider.vars.controlNav === \"thumbnails\") ? 'control-thumbs' : 'control-paging',\n j = 1,\n item,\n slide;\n\n slider.controlNavScaffold = $('<ol class=\"' + namespace + 'control-nav ' + namespace + type + '\"></ol>');\n\n if (slider.pagingCount > 1) {\n for (var i = 0; i < slider.pagingCount; i++) {\n slide = slider.slides.eq(i);\n\n if (undefined === slide.attr('data-thumb-alt')) {\n slide.attr('data-thumb-alt', '');\n }\n\n item = $('<a></a>').attr('href', '#').text(j);\n if (slider.vars.controlNav === \"thumbnails\") {\n item = $('<img/>').attr('src', slide.attr('data-thumb'));\n }\n\n if ('' !== slide.attr('data-thumb-alt')) {\n item.attr('alt', slide.attr('data-thumb-alt'));\n }\n\n if ('thumbnails' === slider.vars.controlNav && true === slider.vars.thumbCaptions) {\n var captn = slide.attr('data-thumbcaption');\n if ('' !== captn && undefined !== captn) {\n var caption = $('<span></span>').addClass(namespace + 'caption').text(captn);\n item.append(caption);\n }\n }\n\n var liElement = $('<li>');\n item.appendTo(liElement);\n liElement.append('</li>');\n\n slider.controlNavScaffold.append(liElement);\n j++;\n\n }\n }\n\n // CONTROLSCONTAINER:\n (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);\n methods.controlNav.set();\n\n methods.controlNav.active();\n\n slider.controlNavScaffold.delegate('a, img', eventType, function (event) {\n event.preventDefault();\n\n if (watchedEvent === \"\" || watchedEvent === event.type) {\n var $this = $(this),\n target = slider.controlNav.index($this);\n\n if (!$this.hasClass(namespace + 'active')) {\n slider.direction = (target > slider.currentSlide) ? \"next\" : \"prev\";\n slider.flexAnimate(target, slider.vars.pauseOnAction);\n }\n }\n\n // setup flags to prevent event duplication\n if (watchedEvent === \"\") {\n watchedEvent = event.type;\n }\n methods.setToClearWatchedEvent();\n\n });\n },\n setupManual: function () {\n slider.controlNav = slider.manualControls;\n methods.controlNav.active();\n\n slider.controlNav.bind(eventType, function (event) {\n event.preventDefault();\n\n if (watchedEvent === \"\" || watchedEvent === event.type) {\n var $this = $(this),\n target = slider.controlNav.index($this);\n\n if (!$this.hasClass(namespace + 'active')) {\n (target > slider.currentSlide) ? slider.direction = \"next\" : slider.direction = \"prev\";\n slider.flexAnimate(target, slider.vars.pauseOnAction);\n }\n }\n\n // setup flags to prevent event duplication\n if (watchedEvent === \"\") {\n watchedEvent = event.type;\n }\n methods.setToClearWatchedEvent();\n });\n },\n set: function () {\n var selector = (slider.vars.controlNav === \"thumbnails\") ? 'img' : 'a';\n slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);\n },\n active: function () {\n slider.controlNav.removeClass(namespace + \"active\").eq(slider.animatingTo).addClass(namespace + \"active\");\n },\n update: function (action, pos) {\n if (slider.pagingCount > 1 && action === \"add\") {\n slider.controlNavScaffold.append($('<li><a href=\"#\">' + slider.count + '</a></li>'));\n } else if (slider.pagingCount === 1) {\n slider.controlNavScaffold.find('li').remove();\n } else {\n slider.controlNav.eq(pos).closest('li').remove();\n }\n methods.controlNav.set();\n (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();\n }\n },\n directionNav: {\n setup: function () {\n var directionNavScaffold = $('<ul class=\"' + namespace + 'direction-nav\"><li class=\"' + namespace + 'nav-prev\"><a class=\"' + namespace + 'prev\" href=\"#\">' + slider.vars.prevText + '</a></li><li class=\"' + namespace + 'nav-next\"><a class=\"' + namespace + 'next\" href=\"#\">' + slider.vars.nextText + '</a></li></ul>');\n\n // CUSTOM DIRECTION NAV:\n if (slider.customDirectionNav) {\n slider.directionNav = slider.customDirectionNav;\n // CONTROLSCONTAINER:\n } else if (slider.controlsContainer) {\n $(slider.controlsContainer).append(directionNavScaffold);\n slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);\n } else {\n slider.append(directionNavScaffold);\n slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);\n }\n\n methods.directionNav.update();\n\n slider.directionNav.bind(eventType, function (event) {\n event.preventDefault();\n var target;\n\n if (watchedEvent === \"\" || watchedEvent === event.type) {\n target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');\n slider.flexAnimate(target, slider.vars.pauseOnAction);\n }\n\n // setup flags to prevent event duplication\n if (watchedEvent === \"\") {\n watchedEvent = event.type;\n }\n methods.setToClearWatchedEvent();\n });\n },\n update: function () {\n var disabledClass = namespace + 'disabled';\n if (slider.pagingCount === 1) {\n slider.directionNav.addClass(disabledClass).attr('tabindex', '-1');\n } else if (!slider.vars.animationLoop) {\n if (slider.animatingTo === 0) {\n slider.directionNav.removeClass(disabledClass).filter('.' + namespace + \"prev\").addClass(disabledClass).attr('tabindex', '-1');\n } else if (slider.animatingTo === slider.last) {\n slider.directionNav.removeClass(disabledClass).filter('.' + namespace + \"next\").addClass(disabledClass).attr('tabindex', '-1');\n } else {\n slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');\n }\n } else {\n slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');\n }\n }\n },\n pausePlay: {\n setup: function () {\n var pausePlayScaffold = $('<div class=\"' + namespace + 'pauseplay\"><a href=\"#\"></a></div>');\n\n // CONTROLSCONTAINER:\n if (slider.controlsContainer) {\n slider.controlsContainer.append(pausePlayScaffold);\n slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);\n } else {\n slider.append(pausePlayScaffold);\n slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);\n }\n\n methods.pausePlay.update((slider.vars.slideshow) ? namespace + 'pause' : namespace + 'play');\n\n slider.pausePlay.bind(eventType, function (event) {\n event.preventDefault();\n\n if (watchedEvent === \"\" || watchedEvent === event.type) {\n if ($(this).hasClass(namespace + 'pause')) {\n slider.manualPause = true;\n slider.manualPlay = false;\n slider.pause();\n } else {\n slider.manualPause = false;\n slider.manualPlay = true;\n slider.play();\n }\n }\n\n // setup flags to prevent event duplication\n if (watchedEvent === \"\") {\n watchedEvent = event.type;\n }\n methods.setToClearWatchedEvent();\n });\n },\n update: function (state) {\n (state === \"play\") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').html(slider.vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').html(slider.vars.pauseText);\n }\n },\n touch: function () {\n var startX,\n startY,\n offset,\n cwidth,\n dx,\n startT,\n onTouchStart,\n onTouchMove,\n onTouchEnd,\n scrolling = false,\n localX = 0,\n localY = 0,\n accDx = 0;\n\n if (!msGesture) {\n onTouchStart = function (e) {\n if (slider.animating) {\n e.preventDefault();\n } else if ((window.navigator.msPointerEnabled) || e.touches.length === 1) {\n slider.pause();\n // CAROUSEL:\n cwidth = (vertical) ? slider.h : slider.w;\n startT = Number(new Date());\n // CAROUSEL:\n\n // Local vars for X and Y points.\n localX = e.touches[0].pageX;\n localY = e.touches[0].pageY;\n\n offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :\n (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :\n (carousel && slider.currentSlide === slider.last) ? slider.limit :\n (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :\n (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;\n startX = (vertical) ? localY : localX;\n startY = (vertical) ? localX : localY;\n el.addEventListener('touchmove', onTouchMove, false);\n el.addEventListener('touchend', onTouchEnd, false);\n }\n };\n\n onTouchMove = function (e) {\n // Local vars for X and Y points.\n\n localX = e.touches[0].pageX;\n localY = e.touches[0].pageY;\n\n dx = (vertical) ? startX - localY : (slider.vars.rtl ? -1 : 1) * (startX - localX);\n scrolling = (vertical) ? (Math.abs(dx) < Math.abs(localX - startY)) : (Math.abs(dx) < Math.abs(localY - startY));\n var fxms = 500;\n\n if (!scrolling || Number(new Date()) - startT > fxms) {\n e.preventDefault();\n if (!fade && slider.transitions) {\n if (!slider.vars.animationLoop) {\n dx = dx / ((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx) / cwidth + 2) : 1);\n }\n slider.setProps(offset + dx, \"setTouch\");\n }\n }\n };\n\n onTouchEnd = function (e) {\n // finish the touch by undoing the touch session\n el.removeEventListener('touchmove', onTouchMove, false);\n\n if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {\n var updateDx = (reverse) ? -dx : dx,\n target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');\n\n if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth / 2)) {\n slider.flexAnimate(target, slider.vars.pauseOnAction);\n } else {\n if (!fade) { slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }\n }\n }\n el.removeEventListener('touchend', onTouchEnd, false);\n\n startX = null;\n startY = null;\n dx = null;\n offset = null;\n };\n\n el.addEventListener('touchstart', onTouchStart, false);\n } else {\n el.style.msTouchAction = \"none\";\n el._gesture = new MSGesture();\n el._gesture.target = el;\n el.addEventListener(\"MSPointerDown\", onMSPointerDown, false);\n el._slider = slider;\n el.addEventListener(\"MSGestureChange\", onMSGestureChange, false);\n el.addEventListener(\"MSGestureEnd\", onMSGestureEnd, false);\n\n function onMSPointerDown(e) {\n e.stopPropagation();\n if (slider.animating) {\n e.preventDefault();\n } else {\n slider.pause();\n el._gesture.addPointer(e.pointerId);\n accDx = 0;\n cwidth = (vertical) ? slider.h : slider.w;\n startT = Number(new Date());\n // CAROUSEL:\n\n offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :\n (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :\n (carousel && slider.currentSlide === slider.last) ? slider.limit :\n (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :\n (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;\n }\n }\n\n function onMSGestureChange(e) {\n e.stopPropagation();\n var slider = e.target._slider;\n if (!slider) {\n return;\n }\n var transX = -e.translationX,\n transY = -e.translationY;\n\n //Accumulate translations.\n accDx = accDx + ((vertical) ? transY : transX);\n dx = (slider.vars.rtl ? -1 : 1) * accDx;\n scrolling = (vertical) ? (Math.abs(accDx) < Math.abs(-transX)) : (Math.abs(accDx) < Math.abs(-transY));\n\n if (e.detail === e.MSGESTURE_FLAG_INERTIA) {\n setImmediate(function () {\n el._gesture.stop();\n });\n\n return;\n }\n\n if (!scrolling || Number(new Date()) - startT > 500) {\n e.preventDefault();\n if (!fade && slider.transitions) {\n if (!slider.vars.animationLoop) {\n dx = accDx / ((slider.currentSlide === 0 && accDx < 0 || slider.currentSlide === slider.last && accDx > 0) ? (Math.abs(accDx) / cwidth + 2) : 1);\n }\n slider.setProps(offset + dx, \"setTouch\");\n }\n }\n }\n\n function onMSGestureEnd(e) {\n e.stopPropagation();\n var slider = e.target._slider;\n if (!slider) {\n return;\n }\n if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {\n var updateDx = (reverse) ? -dx : dx,\n target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');\n\n if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth / 2)) {\n slider.flexAnimate(target, slider.vars.pauseOnAction);\n } else {\n if (!fade) { slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }\n }\n }\n\n startX = null;\n startY = null;\n dx = null;\n offset = null;\n accDx = 0;\n }\n }\n },\n resize: function () {\n if (!slider.animating && slider.is(':visible')) {\n if (!carousel) { slider.doMath(); }\n\n if (fade) {\n // SMOOTH HEIGHT:\n methods.smoothHeight();\n } else if (carousel) { //CAROUSEL:\n slider.slides.width(slider.computedW);\n slider.update(slider.pagingCount);\n slider.setProps();\n }\n else if (vertical) { //VERTICAL:\n slider.viewport.height(slider.h);\n slider.setProps(slider.h, \"setTotal\");\n } else {\n // SMOOTH HEIGHT:\n if (slider.vars.smoothHeight) { methods.smoothHeight(); }\n slider.newSlides.width(slider.computedW);\n slider.setProps(slider.computedW, \"setTotal\");\n }\n }\n },\n smoothHeight: function (dur) {\n if (!vertical || fade) {\n var $obj = (fade) ? slider : slider.viewport;\n (dur) ? $obj.animate({ \"height\": slider.slides.eq(slider.animatingTo).innerHeight() }, dur) : $obj.innerHeight(slider.slides.eq(slider.animatingTo).innerHeight());\n }\n },\n sync: function (action) {\n var $obj = $(slider.vars.sync).data(\"flexslider\"),\n target = slider.animatingTo;\n\n switch (action) {\n case \"animate\": $obj.flexAnimate(target, slider.vars.pauseOnAction, false, true); break;\n case \"play\": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;\n case \"pause\": $obj.pause(); break;\n }\n },\n uniqueID: function ($clone) {\n // Append _clone to current level and children elements with id attributes\n $clone.filter('[id]').add($clone.find('[id]')).each(function () {\n var $this = $(this);\n $this.attr('id', $this.attr('id') + '_clone');\n });\n return $clone;\n },\n pauseInvisible: {\n visProp: null,\n init: function () {\n var visProp = methods.pauseInvisible.getHiddenProp();\n if (visProp) {\n var evtname = visProp.replace(/[H|h]idden/, '') + 'visibilitychange';\n document.addEventListener(evtname, function () {\n if (methods.pauseInvisible.isHidden()) {\n if (slider.startTimeout) {\n clearTimeout(slider.startTimeout); //If clock is ticking, stop timer and prevent from starting while invisible\n } else {\n slider.pause(); //Or just pause\n }\n }\n else {\n if (slider.started) {\n slider.play(); //Initiated before, just play\n } else {\n if (slider.vars.initDelay > 0) {\n setTimeout(slider.play, slider.vars.initDelay);\n } else {\n slider.play(); //Didn't init before: simply init or wait for it\n }\n }\n }\n });\n }\n },\n isHidden: function () {\n var prop = methods.pauseInvisible.getHiddenProp();\n if (!prop) {\n return false;\n }\n return document[prop];\n },\n getHiddenProp: function () {\n var prefixes = ['webkit', 'moz', 'ms', 'o'];\n // if 'hidden' is natively supported just return it\n if ('hidden' in document) {\n return 'hidden';\n }\n // otherwise loop over all the known prefixes until we find one\n for (var i = 0; i < prefixes.length; i++) {\n if ((prefixes[i] + 'Hidden') in document) {\n return prefixes[i] + 'Hidden';\n }\n }\n // otherwise it's not supported\n return null;\n }\n },\n setToClearWatchedEvent: function () {\n clearTimeout(watchedEventClearTimer);\n watchedEventClearTimer = setTimeout(function () {\n watchedEvent = \"\";\n }, 3000);\n }\n };\n\n // public methods\n slider.flexAnimate = function (target, pause, override, withSync, fromNav) {\n if (!slider.vars.animationLoop && target !== slider.currentSlide) {\n slider.direction = (target > slider.currentSlide) ? \"next\" : \"prev\";\n }\n\n if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? \"next\" : \"prev\";\n\n if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(\":visible\")) {\n if (asNav && withSync) {\n var master = $(slider.vars.asNavFor).data('flexslider');\n slider.atEnd = target === 0 || target === slider.count - 1;\n master.flexAnimate(target, true, false, true, fromNav);\n slider.direction = (slider.currentItem < target) ? \"next\" : \"prev\";\n master.direction = slider.direction;\n\n if (Math.ceil((target + 1) / slider.visible) - 1 !== slider.currentSlide && target !== 0) {\n slider.currentItem = target;\n slider.slides.removeClass(namespace + \"active-slide\").eq(target).addClass(namespace + \"active-slide\");\n target = Math.floor(target / slider.visible);\n } else {\n slider.currentItem = target;\n slider.slides.removeClass(namespace + \"active-slide\").eq(target).addClass(namespace + \"active-slide\");\n return false;\n }\n }\n\n slider.animating = true;\n slider.animatingTo = target;\n\n // SLIDESHOW:\n if (pause) { slider.pause(); }\n\n // API: before() animation Callback\n slider.vars.before(slider);\n\n // SYNC:\n if (slider.syncExists && !fromNav) { methods.sync(\"animate\"); }\n\n // CONTROLNAV\n if (slider.vars.controlNav) { methods.controlNav.active(); }\n\n // !CAROUSEL:\n // CANDIDATE: slide active class (for add/remove slide)\n if (!carousel) { slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide'); }\n\n // INFINITE LOOP:\n // CANDIDATE: atEnd\n slider.atEnd = target === 0 || target === slider.last;\n\n // DIRECTIONNAV:\n if (slider.vars.directionNav) { methods.directionNav.update(); }\n\n if (target === slider.last) {\n // API: end() of cycle Callback\n slider.vars.end(slider);\n // SLIDESHOW && !INFINITE LOOP:\n if (!slider.vars.animationLoop) { slider.pause(); }\n }\n\n // SLIDE:\n if (!fade) {\n var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,\n margin, slideString, calcNext;\n\n // INFINITE LOOP / REVERSE:\n if (carousel) {\n margin = slider.vars.itemMargin;\n calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;\n slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;\n } else if (slider.currentSlide === 0 && target === slider.count - 1 && slider.vars.animationLoop && slider.direction !== \"next\") {\n slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;\n } else if (slider.currentSlide === slider.last && target === 0 && slider.vars.animationLoop && slider.direction !== \"prev\") {\n slideString = (reverse) ? 0 : (slider.count + 1) * dimension;\n } else {\n slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;\n }\n slider.setProps(slideString, \"\", slider.vars.animationSpeed);\n if (slider.transitions) {\n if (!slider.vars.animationLoop || !slider.atEnd) {\n slider.animating = false;\n slider.currentSlide = slider.animatingTo;\n }\n\n // Unbind previous transitionEnd events and re-bind new transitionEnd event\n slider.container.unbind(\"webkitTransitionEnd transitionend\");\n slider.container.bind(\"webkitTransitionEnd transitionend\", function () {\n clearTimeout(slider.ensureAnimationEnd);\n slider.wrapup(dimension);\n });\n\n // Insurance for the ever-so-fickle transitionEnd event\n clearTimeout(slider.ensureAnimationEnd);\n slider.ensureAnimationEnd = setTimeout(function () {\n slider.wrapup(dimension);\n }, slider.vars.animationSpeed + 100);\n\n } else {\n slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function () {\n slider.wrapup(dimension);\n });\n }\n } else { // FADE:\n if (!touch) {\n slider.slides.eq(slider.currentSlide).css({ \"zIndex\": 1 }).animate({ \"opacity\": 0 }, slider.vars.animationSpeed, slider.vars.easing);\n slider.slides.eq(target).css({ \"zIndex\": 2 }).animate({ \"opacity\": 1 }, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);\n } else {\n slider.slides.eq(slider.currentSlide).css({ \"opacity\": 0, \"zIndex\": 1 });\n slider.slides.eq(target).css({ \"opacity\": 1, \"zIndex\": 2 });\n slider.wrapup(dimension);\n }\n }\n // SMOOTH HEIGHT:\n if (slider.vars.smoothHeight) { methods.smoothHeight(slider.vars.animationSpeed); }\n }\n };\n slider.wrapup = function (dimension) {\n // SLIDE:\n if (!fade && !carousel) {\n if (slider.currentSlide === 0 && slider.animatingTo === slider.last && slider.vars.animationLoop) {\n slider.setProps(dimension, \"jumpEnd\");\n } else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && slider.vars.animationLoop) {\n slider.setProps(dimension, \"jumpStart\");\n }\n }\n slider.animating = false;\n slider.currentSlide = slider.animatingTo;\n // API: after() animation Callback\n slider.vars.after(slider);\n };\n\n // SLIDESHOW:\n slider.animateSlides = function () {\n if (!slider.animating && focused) { slider.flexAnimate(slider.getTarget(\"next\")); }\n };\n // SLIDESHOW:\n slider.pause = function () {\n clearInterval(slider.animatedSlides);\n slider.animatedSlides = null;\n slider.playing = false;\n // PAUSEPLAY:\n if (slider.vars.pausePlay) { methods.pausePlay.update(\"play\"); }\n // SYNC:\n if (slider.syncExists) { methods.sync(\"pause\"); }\n };\n // SLIDESHOW:\n slider.play = function () {\n if (slider.playing) { clearInterval(slider.animatedSlides); }\n slider.animatedSlides = slider.animatedSlides || setInterval(slider.animateSlides, slider.vars.slideshowSpeed);\n slider.started = slider.playing = true;\n // PAUSEPLAY:\n if (slider.vars.pausePlay) { methods.pausePlay.update(\"pause\"); }\n // SYNC:\n if (slider.syncExists) { methods.sync(\"play\"); }\n };\n // STOP:\n slider.stop = function () {\n slider.pause();\n slider.stopped = true;\n };\n slider.canAdvance = function (target, fromNav) {\n // ASNAV:\n var last = (asNav) ? slider.pagingCount - 1 : slider.last;\n return (fromNav) ? true :\n (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === \"prev\") ? true :\n (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== \"next\") ? false :\n (target === slider.currentSlide && !asNav) ? false :\n (slider.vars.animationLoop) ? true :\n (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== \"next\") ? false :\n (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === \"next\") ? false :\n true;\n };\n slider.getTarget = function (dir) {\n slider.direction = dir;\n if (dir === \"next\") {\n return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;\n } else {\n return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;\n }\n };\n\n // SLIDE:\n slider.setProps = function (pos, special, dur) {\n var target = (function () {\n var posCheck = (pos) ? pos : ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo,\n posCalc = (function () {\n if (carousel) {\n return (special === \"setTouch\") ? pos :\n (reverse && slider.animatingTo === slider.last) ? 0 :\n (reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :\n (slider.animatingTo === slider.last) ? slider.limit : posCheck;\n } else {\n switch (special) {\n case \"setTotal\": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;\n case \"setTouch\": return (reverse) ? pos : pos;\n case \"jumpEnd\": return (reverse) ? pos : slider.count * pos;\n case \"jumpStart\": return (reverse) ? slider.count * pos : pos;\n default: return pos;\n }\n }\n }());\n\n return (posCalc * ((slider.vars.rtl) ? 1 : -1)) + \"px\";\n }());\n\n if (slider.transitions) {\n if (slider.isFirefox) {\n target = (vertical) ? \"translate3d(0,\" + target + \",0)\" : \"translate3d(\" + (parseInt(target) + 'px') + \",0,0)\";\n } else {\n target = (vertical) ? \"translate3d(0,\" + target + \",0)\" : \"translate3d(\" + ((slider.vars.rtl ? -1 : 1) * parseInt(target) + 'px') + \",0,0)\";\n }\n dur = (dur !== undefined) ? (dur / 1000) + \"s\" : \"0s\";\n slider.container.css(\"-\" + slider.pfx + \"-transition-duration\", dur);\n slider.container.css(\"transition-duration\", dur);\n }\n\n slider.args[slider.prop] = target;\n if (slider.transitions || dur === undefined) { slider.container.css(slider.args); }\n\n slider.container.css('transform', target);\n };\n\n slider.setup = function (type) {\n // SLIDE:\n if (!fade) {\n var sliderOffset, arr;\n\n if (type === \"init\") {\n slider.viewport = $('<div class=\"' + namespace + 'viewport\"></div>').css({ \"overflow\": \"hidden\", \"position\": \"relative\" }).appendTo(slider).append(slider.container);\n // INFINITE LOOP:\n slider.cloneCount = 0;\n slider.cloneOffset = 0;\n // REVERSE:\n if (reverse) {\n arr = $.makeArray(slider.slides).reverse();\n slider.slides = $(arr);\n slider.container.empty().append(slider.slides);\n }\n }\n // INFINITE LOOP && !CAROUSEL:\n if (slider.vars.animationLoop && !carousel) {\n slider.cloneCount = 2;\n slider.cloneOffset = 1;\n // clear out old clones\n if (type !== \"init\") { slider.container.find('.clone').remove(); }\n slider.container.append(methods.uniqueID(slider.slides.first().clone().addClass('clone')).attr('aria-hidden', 'true'))\n .prepend(methods.uniqueID(slider.slides.last().clone().addClass('clone')).attr('aria-hidden', 'true'));\n }\n slider.newSlides = $(slider.vars.selector, slider);\n\n sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;\n // VERTICAL:\n if (vertical && !carousel) {\n slider.container.height((slider.count + slider.cloneCount) * 200 + \"%\").css(\"position\", \"absolute\").width(\"100%\");\n setTimeout(function () {\n slider.newSlides.css({ \"display\": \"block\" });\n slider.doMath();\n slider.viewport.height(slider.h);\n slider.setProps(sliderOffset * slider.h, \"init\");\n }, (type === \"init\") ? 100 : 0);\n } else {\n slider.container.width((slider.count + slider.cloneCount) * 200 + \"%\");\n slider.setProps(sliderOffset * slider.computedW, \"init\");\n setTimeout(function () {\n slider.doMath();\n if (slider.vars.rtl) {\n if (slider.isFirefox) {\n slider.newSlides.css({ \"width\": slider.computedW, \"marginRight\": slider.computedM, \"float\": \"right\", \"display\": \"block\" });\n } else {\n slider.newSlides.css({ \"width\": slider.computedW, \"marginRight\": slider.computedM, \"float\": \"left\", \"display\": \"block\" });\n }\n\n }\n else {\n slider.newSlides.css({ \"width\": slider.computedW, \"marginRight\": slider.computedM, \"float\": \"left\", \"display\": \"block\" });\n }\n // SMOOTH HEIGHT:\n if (slider.vars.smoothHeight) { methods.smoothHeight(); }\n }, (type === \"init\") ? 100 : 0);\n }\n } else { // FADE:\n if (slider.vars.rtl) {\n slider.slides.css({ \"width\": \"100%\", \"float\": 'right', \"marginLeft\": \"-100%\", \"position\": \"relative\" });\n }\n else {\n slider.slides.css({ \"width\": \"100%\", \"float\": 'left', \"marginRight\": \"-100%\", \"position\": \"relative\" });\n }\n if (type === \"init\") {\n if (!touch) {\n //slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);\n if (slider.vars.fadeFirstSlide == false) {\n slider.slides.css({ \"opacity\": 0, \"display\": \"block\", \"zIndex\": 1 }).eq(slider.currentSlide).css({ \"zIndex\": 2 }).css({ \"opacity\": 1 });\n } else {\n slider.slides.css({ \"opacity\": 0, \"display\": \"block\", \"zIndex\": 1 }).eq(slider.currentSlide).css({ \"zIndex\": 2 }).animate({ \"opacity\": 1 }, slider.vars.animationSpeed, slider.vars.easing);\n }\n } else {\n slider.slides.css({ \"opacity\": 0, \"display\": \"block\", \"webkitTransition\": \"opacity \" + slider.vars.animationSpeed / 1000 + \"s ease\", \"zIndex\": 1 }).eq(slider.currentSlide).css({ \"opacity\": 1, \"zIndex\": 2 });\n }\n }\n // SMOOTH HEIGHT:\n if (slider.vars.smoothHeight) { methods.smoothHeight(); }\n }\n // !CAROUSEL:\n // CANDIDATE: active slide\n if (!carousel) { slider.slides.removeClass(namespace + \"active-slide\").eq(slider.currentSlide).addClass(namespace + \"active-slide\"); }\n\n //FlexSlider: init() Callback\n slider.vars.init(slider);\n };\n\n slider.doMath = function () {\n var slide = slider.slides.first(),\n slideMargin = slider.vars.itemMargin,\n minItems = slider.vars.minItems,\n maxItems = slider.vars.maxItems;\n\n slider.w = (slider.viewport === undefined) ? slider.width() : slider.viewport.width();\n if (slider.isFirefox) { slider.w = slider.width(); }\n slider.h = slide.height();\n slider.boxPadding = slide.outerWidth() - slide.width();\n\n // CAROUSEL:\n if (carousel) {\n slider.itemT = slider.vars.itemWidth + slideMargin;\n slider.itemM = slideMargin;\n slider.minW = (minItems) ? minItems * slider.itemT : slider.w;\n slider.maxW = (maxItems) ? (maxItems * slider.itemT) - slideMargin : slider.w;\n slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1))) / minItems :\n (slider.maxW < slider.w) ? (slider.w - (slideMargin * (maxItems - 1))) / maxItems :\n (slider.vars.itemWidth > slider.w) ? slider.w : slider.vars.itemWidth;\n\n slider.visible = Math.floor(slider.w / (slider.itemW));\n slider.move = (slider.vars.move > 0 && slider.vars.move < slider.visible) ? slider.vars.move : slider.visible;\n slider.pagingCount = Math.ceil(((slider.count - slider.visible) / slider.move) + 1);\n slider.last = slider.pagingCount - 1;\n slider.limit = (slider.pagingCount === 1) ? 0 :\n (slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)) : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;\n } else {\n slider.itemW = slider.w;\n slider.itemM = slideMargin;\n slider.pagingCount = slider.count;\n slider.last = slider.count - 1;\n }\n slider.computedW = slider.itemW - slider.boxPadding;\n slider.computedM = slider.itemM;\n };\n\n slider.update = function (pos, action) {\n slider.doMath();\n\n // update currentSlide and slider.animatingTo if necessary\n if (!carousel) {\n if (pos < slider.currentSlide) {\n slider.currentSlide += 1;\n } else if (pos <= slider.currentSlide && pos !== 0) {\n slider.currentSlide -= 1;\n }\n slider.animatingTo = slider.currentSlide;\n }\n\n // update controlNav\n if (slider.vars.controlNav && !slider.manualControls) {\n if ((action === \"add\" && !carousel) || slider.pagingCount > slider.controlNav.length) {\n methods.controlNav.update(\"add\");\n } else if ((action === \"remove\" && !carousel) || slider.pagingCount < slider.controlNav.length) {\n if (carousel && slider.currentSlide > slider.last) {\n slider.currentSlide -= 1;\n slider.animatingTo -= 1;\n }\n methods.controlNav.update(\"remove\", slider.last);\n }\n }\n // update directionNav\n if (slider.vars.directionNav) { methods.directionNav.update(); }\n\n };\n\n slider.addSlide = function (obj, pos) {\n var $obj = $(obj);\n\n slider.count += 1;\n slider.last = slider.count - 1;\n\n // append new slide\n if (vertical && reverse) {\n (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);\n } else {\n (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);\n }\n\n // update currentSlide, animatingTo, controlNav, and directionNav\n slider.update(pos, \"add\");\n\n // update slider.slides\n slider.slides = $(slider.vars.selector + ':not(.clone)', slider);\n // re-setup the slider to accomdate new slide\n slider.setup();\n\n //FlexSlider: added() Callback\n slider.vars.added(slider);\n };\n slider.removeSlide = function (obj) {\n var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;\n\n // update count\n slider.count -= 1;\n slider.last = slider.count - 1;\n\n // remove slide\n if (isNaN(obj)) {\n $(obj, slider.slides).remove();\n } else {\n (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();\n }\n\n // update currentSlide, animatingTo, controlNav, and directionNav\n slider.doMath();\n slider.update(pos, \"remove\");\n\n // update slider.slides\n slider.slides = $(slider.vars.selector + ':not(.clone)', slider);\n // re-setup the slider to accomdate new slide\n slider.setup();\n\n // FlexSlider: removed() Callback\n slider.vars.removed(slider);\n };\n\n //FlexSlider: Initialize\n methods.init();\n };\n\n // Ensure the slider isn't focussed if the window loses focus.\n $(window).blur(function (e) {\n focused = false;\n }).focus(function (e) {\n focused = true;\n });\n\n //FlexSlider: Default Settings\n $.flexslider.defaults = {\n namespace: \"flex-\", //{NEW} String: Prefix string attached to the class of every element generated by the plugin\n selector: \".slides > li\", //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril\n animation: \"fade\", //String: Select your animation type, \"fade\" or \"slide\"\n easing: \"swing\", //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!\n direction: \"horizontal\", //String: Select the sliding direction, \"horizontal\" or \"vertical\"\n reverse: false, //{NEW} Boolean: Reverse the animation direction\n animationLoop: true, //Boolean: Should the animation loop? If false, directionNav will received \"disable\" classes at either end\n smoothHeight: false, //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode\n startAt: 0, //Integer: The slide that the slider should start on. Array notation (0 = first slide)\n slideshow: true, //Boolean: Animate slider automatically\n slideshowSpeed: 7000, //Integer: Set the speed of the slideshow cycling, in milliseconds\n animationSpeed: 600, //Integer: Set the speed of animations, in milliseconds\n initDelay: 0, //{NEW} Integer: Set an initialization delay, in milliseconds\n randomize: false, //Boolean: Randomize slide order\n fadeFirstSlide: true, //Boolean: Fade in the first slide when animation type is \"fade\"\n thumbCaptions: false, //Boolean: Whether or not to put captions on thumbnails when using the \"thumbnails\" controlNav.\n\n // Usability features\n pauseOnAction: true, //Boolean: Pause the slideshow when interacting with control elements, highly recommended.\n pauseOnHover: false, //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering\n pauseInvisible: true, //{NEW} Boolean: Pause the slideshow when tab is invisible, resume when visible. Provides better UX, lower CPU usage.\n useCSS: true, //{NEW} Boolean: Slider will use CSS3 transitions if available\n touch: true, //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices\n video: false, //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches\n\n // Primary Controls\n controlNav: true, //Boolean: Create navigation for paging control of each slide? Note: Leave true for manualControls usage\n directionNav: true, //Boolean: Create navigation for previous/next navigation? (true/false)\n prevText: \"Previous\", //String: Set the text for the \"previous\" directionNav item\n nextText: \"Next\", //String: Set the text for the \"next\" directionNav item\n\n // Secondary Navigation\n keyboard: true, //Boolean: Allow slider navigating via keyboard left/right keys\n multipleKeyboard: false, //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.\n mousewheel: false, //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel\n pausePlay: false, //Boolean: Create pause/play dynamic element\n pauseText: \"Pause\", //String: Set the text for the \"pause\" pausePlay item\n playText: \"Play\", //String: Set the text for the \"play\" pausePlay item\n\n // Special properties\n controlsContainer: \"\", //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(\".flexslider-container\"). Property is ignored if given element is not found.\n manualControls: \"\", //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(\".flex-control-nav li\") or \"#tabs-nav li img\", etc. The number of elements in your controlNav should match the number of slides/tabs.\n customDirectionNav: \"\", //{NEW} jQuery Object/Selector: Custom prev / next button. Must be two jQuery elements. In order to make the events work they have to have the classes \"prev\" and \"next\" (plus namespace)\n sync: \"\", //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.\n asNavFor: \"\", //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider\n\n // Carousel Options\n itemWidth: 0, //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.\n itemMargin: 0, //{NEW} Integer: Margin between carousel items.\n minItems: 1, //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.\n maxItems: 0, //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.\n move: 0, //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.\n allowOneSlide: true, //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide\n\n // Browser Specific\n isFirefox: false, // {NEW} Boolean: Set to true when Firefox is the browser used.\n\n // Callback API\n start: function () { }, //Callback: function(slider) - Fires when the slider loads the first slide\n before: function () { }, //Callback: function(slider) - Fires asynchronously with each slider animation\n after: function () { }, //Callback: function(slider) - Fires after each slider animation completes\n end: function () { }, //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)\n added: function () { }, //{NEW} Callback: function(slider) - Fires after a slide is added\n removed: function () { }, //{NEW} Callback: function(slider) - Fires after a slide is removed\n init: function () { }, //{NEW} Callback: function(slider) - Fires after the slider is initially setup\n rtl: false //{NEW} Boolean: Whether or not to enable RTL mode\n };\n\n //FlexSlider: Plugin Function\n $.fn.flexslider = function (options) {\n if (options === undefined) { options = {}; }\n\n if (typeof options === \"object\") {\n return this.each(function () {\n var $this = $(this),\n selector = (options.selector) ? options.selector : \".slides > li\",\n $slides = $this.find(selector);\n\n if (($slides.length === 1 && options.allowOneSlide === false) || $slides.length === 0) {\n $slides.fadeIn(400);\n if (options.start) { options.start($this); }\n } else if ($this.data('flexslider') === undefined) {\n new $.flexslider(this, options);\n }\n });\n } else {\n // Helper strings to quickly perform functions on the slider\n var $slider = $(this).data('flexslider');\n switch (options) {\n case \"play\": $slider.play(); break;\n case \"pause\": $slider.pause(); break;\n case \"stop\": $slider.stop(); break;\n case \"next\": $slider.flexAnimate($slider.getTarget(\"next\"), true); break;\n case \"prev\":\n case \"previous\": $slider.flexAnimate($slider.getTarget(\"prev\"), true); break;\n default: if (typeof options === \"number\") { $slider.flexAnimate(options, true); }\n }\n }\n };\n};\n"],"names":["focused","flexslider","el","options","slider","rtl","attr","vars","$","extend","defaults","watchedEventClearTimer","namespace","msGesture","window","navigator","msPointerEnabled","MSGesture","touch","DocumentTouch","document","eventType","watchedEvent","vertical","direction","reverse","carousel","itemWidth","fade","animation","asNav","asNavFor","methods","data","init","animating","currentSlide","parseInt","startAt","isNaN","animatingTo","atEnd","last","containerSelector","selector","substr","search","slides","container","count","length","syncExists","sync","prop","args","manualPause","stopped","started","startTimeout","transitions","video","useCSS","obj","createElement","props","i","undefined","style","pfx","replace","toLowerCase","isFirefox","userAgent","indexOf","ensureAnimationEnd","controlsContainer","manualControls","customDirectionNav","randomize","sort","Math","round","random","empty","append","doMath","setup","controlNav","directionNav","keyboard","multipleKeyboard","bind","event","keycode","keyCode","target","getTarget","flexAnimate","pauseOnAction","mousewheel","delta","deltaX","deltaY","preventDefault","pausePlay","slideshow","pauseInvisible","pauseOnHover","hover","manualPlay","pause","play","isHidden","initDelay","setTimeout","smoothHeight","resize","find","start","floor","move","currentItem","removeClass","eq","addClass","_slider","each","this","_gesture","addEventListener","e","currentTarget","addPointer","pointerId","$slide","index","hasClass","on","offset","right","scrollLeft","left","setupManual","setupPaging","item","slide","type","j","controlNavScaffold","pagingCount","text","thumbCaptions","captn","caption","liElement","appendTo","set","active","delegate","$this","setToClearWatchedEvent","update","action","pos","remove","closest","directionNavScaffold","prevText","nextText","disabledClass","animationLoop","removeAttr","filter","pausePlayScaffold","state","html","playText","pauseText","startX","startY","cwidth","dx","startT","onTouchStart","onTouchMove","onTouchEnd","scrolling","localX","localY","accDx","onMSPointerDown","stopPropagation","h","w","Number","Date","limit","itemW","itemMargin","cloneOffset","onMSGestureChange","transX","translationX","transY","translationY","abs","detail","MSGESTURE_FLAG_INERTIA","setProps","setImmediate","stop","onMSGestureEnd","updateDx","canAdvance","msTouchAction","touches","pageX","pageY","removeEventListener","is","width","computedW","viewport","height","newSlides","dur","$obj","animate","innerHeight","playing","uniqueID","$clone","add","visProp","getHiddenProp","evtname","clearTimeout","prefixes","override","withSync","fromNav","master","ceil","visible","before","end","css","wrapup","dimension","animationSpeed","easing","margin","slideString","calcNext","unbind","after","animateSlides","clearInterval","animatedSlides","setInterval","slideshowSpeed","dir","special","posCheck","sliderOffset","arr","fadeFirstSlide","cloneCount","makeArray","first","clone","prepend","computedM","slideMargin","minItems","maxItems","boxPadding","outerWidth","itemT","itemM","minW","maxW","addSlide","added","removeSlide","removed","blur","focus","allowOneSlide","fn","$slides","fadeIn","$slider"],"mappings":";;+JA+B0B;;;;;;;IAQlBA,SAAU,kBAGZC,WAAa,SAAUC,GAAIC,aACrBC,QAAS,mBAAEF,SAKW,IAAfC,QAAQE,KAA+C,QAAzB,mBAAE,QAAQC,KAAK,SACpDH,QAAQE,KAAM,GAElBD,OAAOG,KAAOC,gBAAEC,OAAO,GAAID,gBAAEP,WAAWS,SAAUP,aAQ9CQ,uBANAC,UAAYR,OAAOG,KAAKK,UACxBC,UAAYC,OAAOC,WAAaD,OAAOC,UAAUC,kBAAoBF,OAAOG,UAC5EC,OAAU,iBAAkBJ,QAAWD,WAAaC,OAAOK,eAAiBC,oBAAoBD,gBAAkBf,OAAOG,KAAKW,MAE9HG,UAAY,mCACZC,aAAe,GAEfC,SAAqC,aAA1BnB,OAAOG,KAAKiB,UACvBC,QAAUrB,OAAOG,KAAKkB,QACtBC,SAAYtB,OAAOG,KAAKoB,UAAY,EACpCC,KAAiC,SAA1BxB,OAAOG,KAAKsB,UACnBC,MAAiC,KAAzB1B,OAAOG,KAAKwB,SACpBC,QAAU,mBAGZC,KAAK/B,GAAI,aAAcE,QAGzB4B,QAAU,CACNE,KAAM,WACF9B,OAAO+B,WAAY,EAEnB/B,OAAOgC,aAAeC,SAAUjC,OAAOG,KAAK+B,QAAUlC,OAAOG,KAAK+B,QAAU,EAAI,IAC5EC,MAAMnC,OAAOgC,gBAAiBhC,OAAOgC,aAAe,GACxDhC,OAAOoC,YAAcpC,OAAOgC,aAC5BhC,OAAOqC,MAAiC,IAAxBrC,OAAOgC,cAAsBhC,OAAOgC,eAAiBhC,OAAOsC,KAC5EtC,OAAOuC,kBAAoBvC,OAAOG,KAAKqC,SAASC,OAAO,EAAGzC,OAAOG,KAAKqC,SAASE,OAAO,MACtF1C,OAAO2C,QAAS,mBAAE3C,OAAOG,KAAKqC,SAAUxC,QACxCA,OAAO4C,WAAY,mBAAE5C,OAAOuC,kBAAmBvC,QAC/CA,OAAO6C,MAAQ7C,OAAO2C,OAAOG,OAE7B9C,OAAO+C,YAAa,mBAAE/C,OAAOG,KAAK6C,MAAMF,OAAS,EAEnB,UAA1B9C,OAAOG,KAAKsB,YAAyBzB,OAAOG,KAAKsB,UAAY,SACjEzB,OAAOiD,KAAQ9B,SAAY,MAASnB,OAAOG,KAAKF,IAAM,cAAgB,aACtED,OAAOkD,KAAO,GAEdlD,OAAOmD,aAAc,EACrBnD,OAAOoD,SAAU,EAEjBpD,OAAOqD,SAAU,EACjBrD,OAAOsD,aAAe,KAEtBtD,OAAOuD,aAAevD,OAAOG,KAAKqD,QAAUhC,MAAQxB,OAAOG,KAAKsD,QAAW,eACnEC,IAAM1C,SAAS2C,cAAc,OAC7BC,MAAQ,CAAC,sBAAuB,oBAAqB,iBAAkB,eAAgB,qBACtF,IAAIC,KAAKD,cACkBE,IAAxBJ,IAAIK,MAAMH,MAAMC,WAChB7D,OAAOgE,IAAMJ,MAAMC,GAAGI,QAAQ,cAAe,IAAIC,cACjDlE,OAAOiD,KAAO,IAAMjD,OAAOgE,IAAM,cAC1B,SAGR,EAVgE,GAY3EhE,OAAOmE,UAAYxD,UAAUyD,UAAUF,cAAcG,QAAQ,YAAc,EAC3ErE,OAAOsE,mBAAqB,GAEU,KAAlCtE,OAAOG,KAAKoE,oBAA0BvE,OAAOuE,mBAAoB,mBAAEvE,OAAOG,KAAKoE,mBAAmBzB,OAAS,IAAK,mBAAE9C,OAAOG,KAAKoE,oBAE/F,KAA/BvE,OAAOG,KAAKqE,iBAAuBxE,OAAOwE,gBAAiB,mBAAExE,OAAOG,KAAKqE,gBAAgB1B,OAAS,IAAK,mBAAE9C,OAAOG,KAAKqE,iBAGlF,KAAnCxE,OAAOG,KAAKsE,qBAA2BzE,OAAOyE,mBAAkE,KAA7C,mBAAEzE,OAAOG,KAAKsE,oBAAoB3B,SAAgB,mBAAE9C,OAAOG,KAAKsE,qBAGnIzE,OAAOG,KAAKuE,YACZ1E,OAAO2C,OAAOgC,MAAK,kBAAsBC,KAAKC,MAAMD,KAAKE,UAAY,MACrE9E,OAAO4C,UAAUmC,QAAQC,OAAOhF,OAAO2C,SAG3C3C,OAAOiF,SAGPjF,OAAOkF,MAAM,QAGTlF,OAAOG,KAAKgF,YAAcvD,QAAQuD,WAAWD,QAG7ClF,OAAOG,KAAKiF,cAAgBxD,QAAQwD,aAAaF,QAGjDlF,OAAOG,KAAKkF,WAAoD,KAAvC,mBAAErF,OAAOuC,mBAAmBO,QAAgB9C,OAAOG,KAAKmF,uCAC/EtE,UAAUuE,KAAK,SAAS,SAAUC,WAC5BC,QAAUD,MAAME,YACf1F,OAAO+B,YAA0B,KAAZ0D,SAA8B,KAAZA,SAAiB,KACrDE,OAAU3F,OAAOG,KAAKF,IACR,KAAZwF,QAAkBzF,OAAO4F,UAAU,QACpB,KAAZH,SAAkBzF,OAAO4F,UAAU,QAE1B,KAAZH,QAAkBzF,OAAO4F,UAAU,QACpB,KAAZH,SAAkBzF,OAAO4F,UAAU,QAG5C5F,OAAO6F,YAAYF,OAAQ3F,OAAOG,KAAK2F,mBAK/C9F,OAAOG,KAAK4F,YACZ/F,OAAOuF,KAAK,cAAc,SAAUC,MAAOQ,MAAOC,OAAQC,QACtDV,MAAMW,qBACFR,OAAUK,MAAQ,EAAKhG,OAAO4F,UAAU,QAAU5F,OAAO4F,UAAU,QACvE5F,OAAO6F,YAAYF,OAAQ3F,OAAOG,KAAK2F,kBAK3C9F,OAAOG,KAAKiG,WAAaxE,QAAQwE,UAAUlB,QAG3ClF,OAAOG,KAAKkG,WAAarG,OAAOG,KAAKmG,gBAAkB1E,QAAQ0E,eAAexE,OAG9E9B,OAAOG,KAAKkG,YACRrG,OAAOG,KAAKoG,cACZvG,OAAOwG,OAAM,WACJxG,OAAOyG,YAAezG,OAAOmD,aAAenD,OAAO0G,WACzD,WACM1G,OAAOmD,aAAgBnD,OAAOyG,YAAezG,OAAOoD,SAAWpD,OAAO2G,UAK9E3G,OAAOG,KAAKmG,gBAAmB1E,QAAQ0E,eAAeM,aACtD5G,OAAOG,KAAK0G,UAAY,EAAK7G,OAAOsD,aAAewD,WAAW9G,OAAO2G,KAAM3G,OAAOG,KAAK0G,WAAa7G,OAAO2G,SAKhHjF,OAASE,QAAQF,MAAMwD,QAGvBpE,OAASd,OAAOG,KAAKW,OAASc,QAAQd,UAGrCU,MAASA,MAAQxB,OAAOG,KAAK4G,mCAAmBrG,QAAQ6E,KAAK,iCAAkC3D,QAAQoF,QAE5GhH,OAAOiH,KAAK,OAAO/G,KAAK,YAAa,SAGrC4G,YAAW,WACP9G,OAAOG,KAAK+G,MAAMlH,UACnB,MAEP0B,MAAO,CACHwD,MAAO,WACHlF,OAAO0B,OAAQ,EACf1B,OAAOoC,YAAcwC,KAAKuC,MAAMnH,OAAOgC,aAAehC,OAAOoH,MAC7DpH,OAAOqH,YAAcrH,OAAOgC,aAC5BhC,OAAO2C,OAAO2E,YAAY9G,UAAY,gBAAgB+G,GAAGvH,OAAOqH,aAAaG,SAAShH,UAAY,gBAC7FC,WAoBDX,GAAG2H,QAAUzH,OACbA,OAAO2C,OAAO+E,MAAK,WACJC,KACNC,SAAW,IAAI/G,UADT8G,KAENC,SAASjC,OAFHgC,KAAAA,KAGNE,iBAAiB,iBAAiB,SAAUC,GAC7CA,EAAE3B,iBACE2B,EAAEC,cAAcH,UAChBE,EAAEC,cAAcH,SAASI,WAAWF,EAAEG,cAE3C,GARQN,KASNE,iBAAiB,gBAAgB,SAAUC,GAC5CA,EAAE3B,qBACE+B,QAAS,mBAAEP,MACXhC,OAASuC,OAAOC,SACf,mBAAEnI,OAAOG,KAAKwB,UAAUE,KAAK,cAAcE,WAAcmG,OAAOE,SAAS,YAC1EpI,OAAOoB,UAAapB,OAAOqH,YAAc1B,OAAU,OAAS,OAC5D3F,OAAO6F,YAAYF,OAAQ3F,OAAOG,KAAK2F,eAAe,GAAO,GAAM,WApC/E9F,OAAO2C,OAAO0F,GAAGpH,WAAW,SAAU6G,GAClCA,EAAE3B,qBACE+B,QAAS,mBAAEP,MACXhC,OAASuC,OAAOC,SAEhBnI,OAAOG,KAAKF,KACA,GAAKiI,OAAOI,SAASC,OAAQ,mBAAEvI,QAAQwI,cAGxCN,OAAOI,SAASG,MAAO,mBAAEzI,QAAQwI,eAEhC,GAAKN,OAAOE,SAAS5H,UAAY,gBAC7CR,OAAO6F,YAAY7F,OAAO4F,UAAU,SAAS,IACrC,mBAAE5F,OAAOG,KAAKwB,UAAUE,KAAK,cAAcE,WAAcmG,OAAOE,SAAS5H,UAAY,kBAC7FR,OAAOoB,UAAapB,OAAOqH,YAAc1B,OAAU,OAAS,OAC5D3F,OAAO6F,YAAYF,OAAQ3F,OAAOG,KAAK2F,eAAe,GAAO,GAAM,SA4BvFX,WAAY,CACRD,MAAO,WACElF,OAAOwE,eAGR5C,QAAQuD,WAAWuD,cAFnB9G,QAAQuD,WAAWwD,eAK3BA,YAAa,eAGLC,KACAC,MAHAC,KAAmC,eAA3B9I,OAAOG,KAAKgF,WAA+B,iBAAmB,iBACtE4D,EAAI,KAIR/I,OAAOgJ,oBAAqB,mBAAE,cAAgBxI,UAAY,eAAiBA,UAAYsI,KAAO,WAE1F9I,OAAOiJ,YAAc,MAChB,IAAIpF,EAAI,EAAGA,EAAI7D,OAAOiJ,YAAapF,IAAK,SAGrCC,KAFJ+E,MAAQ7I,OAAO2C,OAAO4E,GAAG1D,IAED3D,KAAK,mBACzB2I,MAAM3I,KAAK,iBAAkB,IAGjC0I,MAAO,mBAAE,WAAW1I,KAAK,OAAQ,KAAKgJ,KAAKH,GACZ,eAA3B/I,OAAOG,KAAKgF,aACZyD,MAAO,mBAAE,UAAU1I,KAAK,MAAO2I,MAAM3I,KAAK,gBAG1C,KAAO2I,MAAM3I,KAAK,mBAClB0I,KAAK1I,KAAK,MAAO2I,MAAM3I,KAAK,mBAG5B,eAAiBF,OAAOG,KAAKgF,aAAc,IAASnF,OAAOG,KAAKgJ,cAAe,KAC3EC,MAAQP,MAAM3I,KAAK,wBACnB,KAAOkJ,YAAStF,IAAcsF,MAAO,KACjCC,SAAU,mBAAE,iBAAiB7B,SAAShH,UAAY,WAAW0I,KAAKE,OACtER,KAAK5D,OAAOqE,cAIhBC,WAAY,mBAAE,QAClBV,KAAKW,SAASD,WACdA,UAAUtE,OAAO,SAEjBhF,OAAOgJ,mBAAmBhE,OAAOsE,WACjCP,IAMP/I,OAAOuE,mBAAqB,mBAAEvE,OAAOuE,mBAAmBS,OAAOhF,OAAOgJ,oBAAsBhJ,OAAOgF,OAAOhF,OAAOgJ,oBAClHpH,QAAQuD,WAAWqE,MAEnB5H,QAAQuD,WAAWsE,SAEnBzJ,OAAOgJ,mBAAmBU,SAAS,SAAUzI,WAAW,SAAUuE,UAC9DA,MAAMW,iBAEe,KAAjBjF,cAAuBA,eAAiBsE,MAAMsD,KAAM,KAChDa,OAAQ,mBAAEhC,MACVhC,OAAS3F,OAAOmF,WAAWgD,MAAMwB,OAEhCA,MAAMvB,SAAS5H,UAAY,YAC5BR,OAAOoB,UAAauE,OAAS3F,OAAOgC,aAAgB,OAAS,OAC7DhC,OAAO6F,YAAYF,OAAQ3F,OAAOG,KAAK2F,gBAK1B,KAAjB5E,eACAA,aAAesE,MAAMsD,MAEzBlH,QAAQgI,6BAIhBlB,YAAa,WACT1I,OAAOmF,WAAanF,OAAOwE,eAC3B5C,QAAQuD,WAAWsE,SAEnBzJ,OAAOmF,WAAWI,KAAKtE,WAAW,SAAUuE,UACxCA,MAAMW,iBAEe,KAAjBjF,cAAuBA,eAAiBsE,MAAMsD,KAAM,KAChDa,OAAQ,mBAAEhC,MACVhC,OAAS3F,OAAOmF,WAAWgD,MAAMwB,OAEhCA,MAAMvB,SAAS5H,UAAY,YAC3BmF,OAAS3F,OAAOgC,aAAgBhC,OAAOoB,UAAY,OAASpB,OAAOoB,UAAY,OAChFpB,OAAO6F,YAAYF,OAAQ3F,OAAOG,KAAK2F,gBAK1B,KAAjB5E,eACAA,aAAesE,MAAMsD,MAEzBlH,QAAQgI,6BAGhBJ,IAAK,eACGhH,SAAuC,eAA3BxC,OAAOG,KAAKgF,WAA+B,MAAQ,IACnEnF,OAAOmF,YAAa,mBAAE,IAAM3E,UAAY,kBAAoBgC,SAAWxC,OAAOuE,kBAAqBvE,OAAOuE,kBAAoBvE,SAElIyJ,OAAQ,WACJzJ,OAAOmF,WAAWmC,YAAY9G,UAAY,UAAU+G,GAAGvH,OAAOoC,aAAaoF,SAAShH,UAAY,WAEpGqJ,OAAQ,SAAUC,OAAQC,KAClB/J,OAAOiJ,YAAc,GAAgB,QAAXa,OAC1B9J,OAAOgJ,mBAAmBhE,QAAO,mBAAE,mBAAqBhF,OAAO6C,MAAQ,cACzC,IAAvB7C,OAAOiJ,YACdjJ,OAAOgJ,mBAAmB/B,KAAK,MAAM+C,SAErChK,OAAOmF,WAAWoC,GAAGwC,KAAKE,QAAQ,MAAMD,SAE5CpI,QAAQuD,WAAWqE,MAClBxJ,OAAOiJ,YAAc,GAAKjJ,OAAOiJ,cAAgBjJ,OAAOmF,WAAWrC,OAAU9C,OAAO6J,OAAOE,IAAKD,QAAUlI,QAAQuD,WAAWsE,WAGtIrE,aAAc,CACVF,MAAO,eACCgF,sBAAuB,mBAAE,cAAgB1J,UAAY,6BAA+BA,UAAY,uBAAyBA,UAAY,kBAAoBR,OAAOG,KAAKgK,SAAW,uBAAyB3J,UAAY,uBAAyBA,UAAY,kBAAoBR,OAAOG,KAAKiK,SAAW,kBAGrSpK,OAAOyE,mBACPzE,OAAOoF,aAAepF,OAAOyE,mBAEtBzE,OAAOuE,uCACZvE,OAAOuE,mBAAmBS,OAAOkF,sBACnClK,OAAOoF,cAAe,mBAAE,IAAM5E,UAAY,qBAAsBR,OAAOuE,qBAEvEvE,OAAOgF,OAAOkF,sBACdlK,OAAOoF,cAAe,mBAAE,IAAM5E,UAAY,qBAAsBR,SAGpE4B,QAAQwD,aAAayE,SAErB7J,OAAOoF,aAAaG,KAAKtE,WAAW,SAAUuE,WAEtCG,OADJH,MAAMW,iBAGe,KAAjBjF,cAAuBA,eAAiBsE,MAAMsD,OAC9CnD,QAAU,mBAAEgC,MAAMS,SAAS5H,UAAY,QAAWR,OAAO4F,UAAU,QAAU5F,OAAO4F,UAAU,QAC9F5F,OAAO6F,YAAYF,OAAQ3F,OAAOG,KAAK2F,gBAItB,KAAjB5E,eACAA,aAAesE,MAAMsD,MAEzBlH,QAAQgI,6BAGhBC,OAAQ,eACAQ,cAAgB7J,UAAY,WACL,IAAvBR,OAAOiJ,YACPjJ,OAAOoF,aAAaoC,SAAS6C,eAAenK,KAAK,WAAY,MACrDF,OAAOG,KAAKmK,cASpBtK,OAAOoF,aAAakC,YAAY+C,eAAeE,WAAW,YAR/B,IAAvBvK,OAAOoC,YACPpC,OAAOoF,aAAakC,YAAY+C,eAAeG,OAAO,IAAMhK,UAAY,QAAQgH,SAAS6C,eAAenK,KAAK,WAAY,MAClHF,OAAOoC,cAAgBpC,OAAOsC,KACrCtC,OAAOoF,aAAakC,YAAY+C,eAAeG,OAAO,IAAMhK,UAAY,QAAQgH,SAAS6C,eAAenK,KAAK,WAAY,MAEzHF,OAAOoF,aAAakC,YAAY+C,eAAeE,WAAW,cAO1EnE,UAAW,CACPlB,MAAO,eACCuF,mBAAoB,mBAAE,eAAiBjK,UAAY,qCAGnDR,OAAOuE,mBACPvE,OAAOuE,kBAAkBS,OAAOyF,mBAChCzK,OAAOoG,WAAY,mBAAE,IAAM5F,UAAY,cAAeR,OAAOuE,qBAE7DvE,OAAOgF,OAAOyF,mBACdzK,OAAOoG,WAAY,mBAAE,IAAM5F,UAAY,cAAeR,SAG1D4B,QAAQwE,UAAUyD,OAAQ7J,OAAOG,KAAKkG,UAAa7F,UAAY,QAAUA,UAAY,QAErFR,OAAOoG,UAAUb,KAAKtE,WAAW,SAAUuE,OACvCA,MAAMW,iBAEe,KAAjBjF,cAAuBA,eAAiBsE,MAAMsD,QAC1C,mBAAEnB,MAAMS,SAAS5H,UAAY,UAC7BR,OAAOmD,aAAc,EACrBnD,OAAOyG,YAAa,EACpBzG,OAAO0G,UAEP1G,OAAOmD,aAAc,EACrBnD,OAAOyG,YAAa,EACpBzG,OAAO2G,SAKM,KAAjBzF,eACAA,aAAesE,MAAMsD,MAEzBlH,QAAQgI,6BAGhBC,OAAQ,SAAUa,OACH,SAAVA,MAAoB1K,OAAOoG,UAAUkB,YAAY9G,UAAY,SAASgH,SAAShH,UAAY,QAAQmK,KAAK3K,OAAOG,KAAKyK,UAAY5K,OAAOoG,UAAUkB,YAAY9G,UAAY,QAAQgH,SAAShH,UAAY,SAASmK,KAAK3K,OAAOG,KAAK0K,aAGzO/J,MAAO,eACCgK,OACAC,OACAzC,OACA0C,OACAC,GACAC,OACAC,aACAC,YACAC,WACAC,WAAY,EACZC,OAAS,EACTC,OAAS,EACTC,MAAQ,KAEPhL,UAuEE,UASMiL,gBAAgB5D,GACrBA,EAAE6D,kBACE3L,OAAO+B,UACP+F,EAAE3B,kBAEFnG,OAAO0G,QACP5G,GAAG8H,SAASI,WAAWF,EAAEG,WACzBwD,MAAQ,EACRT,OAAU7J,SAAYnB,OAAO4L,EAAI5L,OAAO6L,EACxCX,OAASY,OAAO,IAAIC,MAGpBzD,OAAUhH,UAAYD,SAAWrB,OAAOoC,cAAgBpC,OAAOsC,KAAQ,EAClEhB,UAAYD,QAAWrB,OAAOgM,OAAWhM,OAAOiM,MAAQjM,OAAOG,KAAK+L,YAAclM,OAAOoH,KAAQpH,OAAOoC,YACpGd,UAAYtB,OAAOgC,eAAiBhC,OAAOsC,KAAQtC,OAAOgM,MACtD1K,UAActB,OAAOiM,MAAQjM,OAAOG,KAAK+L,YAAclM,OAAOoH,KAAQpH,OAAOgC,aACzEX,SAAYrB,OAAOsC,KAAOtC,OAAOgC,aAAehC,OAAOmM,aAAenB,QAAUhL,OAAOgC,aAAehC,OAAOmM,aAAenB,iBAI5IoB,kBAAkBtE,GACvBA,EAAE6D,sBACE3L,OAAS8H,EAAEnC,OAAO8B,WACjBzH,YAGDqM,QAAUvE,EAAEwE,aACZC,QAAUzE,EAAE0E,aAGhBf,OAAkBtK,SAAYoL,OAASF,OACvCpB,IAAMjL,OAAOG,KAAKF,KAAO,EAAI,GAAKwL,MAClCH,UAAanK,SAAayD,KAAK6H,IAAIhB,OAAS7G,KAAK6H,KAAKJ,QAAYzH,KAAK6H,IAAIhB,OAAS7G,KAAK6H,KAAKF,QAE1FzE,EAAE4E,SAAW5E,EAAE6E,yBAQdrB,WAAaQ,OAAO,IAAIC,MAAUb,OAAS,OAC5CpD,EAAE3B,kBACG3E,MAAQxB,OAAOuD,cACXvD,OAAOG,KAAKmK,gBACbW,GAAKQ,OAAkC,IAAxBzL,OAAOgC,cAAsByJ,MAAQ,GAAKzL,OAAOgC,eAAiBhC,OAAOsC,MAAQmJ,MAAQ,EAAM7G,KAAK6H,IAAIhB,OAAST,OAAS,EAAK,IAElJhL,OAAO4M,SAAStE,OAAS2C,GAAI,cAbjC4B,cAAa,WACT/M,GAAG8H,SAASkF,oBAiBfC,eAAejF,GACpBA,EAAE6D,sBACE3L,OAAS8H,EAAEnC,OAAO8B,WACjBzH,WAGDA,OAAOoC,cAAgBpC,OAAOgC,eAAiBsJ,WAAsB,OAAPL,GAAc,KACxE+B,SAAY3L,SAAY4J,GAAKA,GAC7BtF,OAAUqH,SAAW,EAAKhN,OAAO4F,UAAU,QAAU5F,OAAO4F,UAAU,QAEtE5F,OAAOiN,WAAWtH,UAAYmG,OAAO,IAAIC,MAAUb,OAAS,KAAOtG,KAAK6H,IAAIO,UAAY,IAAMpI,KAAK6H,IAAIO,UAAYhC,OAAS,GAC5HhL,OAAO6F,YAAYF,OAAQ3F,OAAOG,KAAK2F,eAElCtE,MAAQxB,OAAO6F,YAAY7F,OAAOgC,aAAchC,OAAOG,KAAK2F,eAAe,GAIxFgF,OAAS,KACTC,OAAS,KACTE,GAAK,KACL3C,OAAS,KACTmD,MAAQ,GAlFZ3L,GAAGiE,MAAMmJ,cAAgB,OACzBpN,GAAG8H,SAAW,IAAI/G,UAClBf,GAAG8H,SAASjC,OAAS7F,GACrBA,GAAG+H,iBAAiB,gBAAiB6D,iBAAiB,GACtD5L,GAAG2H,QAAUzH,OACbF,GAAG+H,iBAAiB,kBAAmBuE,mBAAmB,GAC1DtM,GAAG+H,iBAAiB,eAAgBkF,gBAAgB,QA7EpD5B,aAAe,SAAUrD,GACjB9H,OAAO+B,UACP+F,EAAE3B,kBACMzF,OAAOC,UAAUC,kBAA0C,IAArBkH,EAAEqF,QAAQrK,UACxD9C,OAAO0G,QAEPsE,OAAU7J,SAAYnB,OAAO4L,EAAI5L,OAAO6L,EACxCX,OAASY,OAAO,IAAIC,MAIpBR,OAASzD,EAAEqF,QAAQ,GAAGC,MACtB5B,OAAS1D,EAAEqF,QAAQ,GAAGE,MAEtB/E,OAAUhH,UAAYD,SAAWrB,OAAOoC,cAAgBpC,OAAOsC,KAAQ,EAClEhB,UAAYD,QAAWrB,OAAOgM,OAAWhM,OAAOiM,MAAQjM,OAAOG,KAAK+L,YAAclM,OAAOoH,KAAQpH,OAAOoC,YACpGd,UAAYtB,OAAOgC,eAAiBhC,OAAOsC,KAAQtC,OAAOgM,MACtD1K,UAActB,OAAOiM,MAAQjM,OAAOG,KAAK+L,YAAclM,OAAOoH,KAAQpH,OAAOgC,aACzEX,SAAYrB,OAAOsC,KAAOtC,OAAOgC,aAAehC,OAAOmM,aAAenB,QAAUhL,OAAOgC,aAAehC,OAAOmM,aAAenB,OAC7IF,OAAU3J,SAAYqK,OAASD,OAC/BR,OAAU5J,SAAYoK,OAASC,OAC/B1L,GAAG+H,iBAAiB,YAAauD,aAAa,GAC9CtL,GAAG+H,iBAAiB,WAAYwD,YAAY,KAIpDD,YAAc,SAAUtD,GAGpByD,OAASzD,EAAEqF,QAAQ,GAAGC,MACtB5B,OAAS1D,EAAEqF,QAAQ,GAAGE,MAEtBpC,GAAM9J,SAAY2J,OAASU,QAAUxL,OAAOG,KAAKF,KAAO,EAAI,IAAM6K,OAASS,WAC3ED,UAAanK,SAAayD,KAAK6H,IAAIxB,IAAMrG,KAAK6H,IAAIlB,OAASR,QAAYnG,KAAK6H,IAAIxB,IAAMrG,KAAK6H,IAAIjB,OAAST,UAGtFe,OAAO,IAAIC,MAAUb,OAF5B,OAGPpD,EAAE3B,kBACG3E,MAAQxB,OAAOuD,cACXvD,OAAOG,KAAKmK,gBACbW,IAAoC,IAAxBjL,OAAOgC,cAAsBiJ,GAAK,GAAKjL,OAAOgC,eAAiBhC,OAAOsC,MAAQ2I,GAAK,EAAMrG,KAAK6H,IAAIxB,IAAMD,OAAS,EAAK,GAEtIhL,OAAO4M,SAAStE,OAAS2C,GAAI,eAKzCI,WAAa,SAAUvD,MAEnBhI,GAAGwN,oBAAoB,YAAalC,aAAa,GAE7CpL,OAAOoC,cAAgBpC,OAAOgC,eAAiBsJ,WAAsB,OAAPL,GAAc,KACxE+B,SAAY3L,SAAY4J,GAAKA,GAC7BtF,OAAUqH,SAAW,EAAKhN,OAAO4F,UAAU,QAAU5F,OAAO4F,UAAU,QAEtE5F,OAAOiN,WAAWtH,UAAYmG,OAAO,IAAIC,MAAUb,OAAS,KAAOtG,KAAK6H,IAAIO,UAAY,IAAMpI,KAAK6H,IAAIO,UAAYhC,OAAS,GAC5HhL,OAAO6F,YAAYF,OAAQ3F,OAAOG,KAAK2F,eAElCtE,MAAQxB,OAAO6F,YAAY7F,OAAOgC,aAAchC,OAAOG,KAAK2F,eAAe,GAGxFhG,GAAGwN,oBAAoB,WAAYjC,YAAY,GAE/CP,OAAS,KACTC,OAAS,KACTE,GAAK,KACL3C,OAAS,MAGbxI,GAAG+H,iBAAiB,aAAcsD,cAAc,IAwFxDnE,OAAQ,YACChH,OAAO+B,WAAa/B,OAAOuN,GAAG,cAC1BjM,UAAYtB,OAAOiF,SAEpBzD,KAEAI,QAAQmF,eACDzF,UACPtB,OAAO2C,OAAO6K,MAAMxN,OAAOyN,WAC3BzN,OAAO6J,OAAO7J,OAAOiJ,aACrBjJ,OAAO4M,YAEFzL,UACLnB,OAAO0N,SAASC,OAAO3N,OAAO4L,GAC9B5L,OAAO4M,SAAS5M,OAAO4L,EAAG,cAGtB5L,OAAOG,KAAK4G,cAAgBnF,QAAQmF,eACxC/G,OAAO4N,UAAUJ,MAAMxN,OAAOyN,WAC9BzN,OAAO4M,SAAS5M,OAAOyN,UAAW,eAI9C1G,aAAc,SAAU8G,SACf1M,UAAYK,KAAM,KACfsM,KAAQtM,KAAQxB,OAASA,OAAO0N,SACnCG,IAAOC,KAAKC,QAAQ,QAAY/N,OAAO2C,OAAO4E,GAAGvH,OAAOoC,aAAa4L,eAAiBH,KAAOC,KAAKE,YAAYhO,OAAO2C,OAAO4E,GAAGvH,OAAOoC,aAAa4L,iBAG5JhL,KAAM,SAAU8G,YACRgE,MAAO,mBAAE9N,OAAOG,KAAK6C,MAAMnB,KAAK,cAChC8D,OAAS3F,OAAOoC,mBAEZ0H,YACC,UAAWgE,KAAKjI,YAAYF,OAAQ3F,OAAOG,KAAK2F,eAAe,GAAO,aACtE,OAAagI,KAAKG,SAAYH,KAAKpM,OAASoM,KAAKnH,iBACjD,QAASmH,KAAKpH,UAG3BwH,SAAU,SAAUC,eAEhBA,OAAO3D,OAAO,QAAQ4D,IAAID,OAAOlH,KAAK,SAASS,MAAK,eAC5CiC,OAAQ,mBAAEhC,MACdgC,MAAMzJ,KAAK,KAAMyJ,MAAMzJ,KAAK,MAAQ,aAEjCiO,QAEX7H,eAAgB,CACZ+H,QAAS,KACTvM,KAAM,eACEuM,QAAUzM,QAAQ0E,eAAegI,mBACjCD,QAAS,KACLE,QAAUF,QAAQpK,QAAQ,aAAc,IAAM,mBAClDjD,SAAS6G,iBAAiB0G,SAAS,WAC3B3M,QAAQ0E,eAAeM,WACnB5G,OAAOsD,aACPkL,aAAaxO,OAAOsD,cAEpBtD,OAAO0G,QAIP1G,OAAOqD,QACPrD,OAAO2G,OAEH3G,OAAOG,KAAK0G,UAAY,EACxBC,WAAW9G,OAAO2G,KAAM3G,OAAOG,KAAK0G,WAEpC7G,OAAO2G,YAO/BC,SAAU,eACF3D,KAAOrB,QAAQ0E,eAAegI,wBAC7BrL,MAGEjC,SAASiC,OAEpBqL,cAAe,eACPG,SAAW,CAAC,SAAU,MAAO,KAAM,QAEnC,WAAYzN,eACL,aAGN,IAAI6C,EAAI,EAAGA,EAAI4K,SAAS3L,OAAQe,OAC5B4K,SAAS5K,GAAK,WAAa7C,gBACrByN,SAAS5K,GAAK,gBAItB,OAGf+F,uBAAwB,WACpB4E,aAAajO,wBACbA,uBAAyBuG,YAAW,WAChC5F,aAAe,KAChB,OAKXlB,OAAO6F,YAAc,SAAUF,OAAQe,MAAOgI,SAAUC,SAAUC,YACzD5O,OAAOG,KAAKmK,eAAiB3E,SAAW3F,OAAOgC,eAChDhC,OAAOoB,UAAauE,OAAS3F,OAAOgC,aAAgB,OAAS,QAG7DN,OAAgC,IAAvB1B,OAAOiJ,cAAmBjJ,OAAOoB,UAAapB,OAAOqH,YAAc1B,OAAU,OAAS,SAE9F3F,OAAO+B,YAAc/B,OAAOiN,WAAWtH,OAAQiJ,UAAYF,WAAa1O,OAAOuN,GAAG,YAAa,IAC5F7L,OAASiN,SAAU,KACfE,QAAS,mBAAE7O,OAAOG,KAAKwB,UAAUE,KAAK,iBAC1C7B,OAAOqC,MAAmB,IAAXsD,QAAgBA,SAAW3F,OAAO6C,MAAQ,EACzDgM,OAAOhJ,YAAYF,QAAQ,GAAM,GAAO,EAAMiJ,SAC9C5O,OAAOoB,UAAapB,OAAOqH,YAAc1B,OAAU,OAAS,OAC5DkJ,OAAOzN,UAAYpB,OAAOoB,UAEtBwD,KAAKkK,MAAMnJ,OAAS,GAAK3F,OAAO+O,SAAW,IAAM/O,OAAOgC,cAA2B,IAAX2D,cAKxE3F,OAAOqH,YAAc1B,OACrB3F,OAAO2C,OAAO2E,YAAY9G,UAAY,gBAAgB+G,GAAG5B,QAAQ6B,SAAShH,UAAY,iBAC/E,EANPR,OAAOqH,YAAc1B,OACrB3F,OAAO2C,OAAO2E,YAAY9G,UAAY,gBAAgB+G,GAAG5B,QAAQ6B,SAAShH,UAAY,gBACtFmF,OAASf,KAAKuC,MAAMxB,OAAS3F,OAAO+O,YAQ5C/O,OAAO+B,WAAY,EACnB/B,OAAOoC,YAAcuD,OAGjBe,OAAS1G,OAAO0G,QAGpB1G,OAAOG,KAAK6O,OAAOhP,QAGfA,OAAO+C,aAAe6L,SAAWhN,QAAQoB,KAAK,WAG9ChD,OAAOG,KAAKgF,YAAcvD,QAAQuD,WAAWsE,SAI5CnI,UAAYtB,OAAO2C,OAAO2E,YAAY9G,UAAY,gBAAgB+G,GAAG5B,QAAQ6B,SAAShH,UAAY,gBAIvGR,OAAOqC,MAAmB,IAAXsD,QAAgBA,SAAW3F,OAAOsC,KAG7CtC,OAAOG,KAAKiF,cAAgBxD,QAAQwD,aAAayE,SAEjDlE,SAAW3F,OAAOsC,OAElBtC,OAAOG,KAAK8O,IAAIjP,QAEXA,OAAOG,KAAKmK,eAAiBtK,OAAO0G,SAIxClF,KA0CIV,OAIDd,OAAO2C,OAAO4E,GAAGvH,OAAOgC,cAAckN,IAAI,SAAa,SAAa,IACpElP,OAAO2C,OAAO4E,GAAG5B,QAAQuJ,IAAI,SAAa,SAAa,IACvDlP,OAAOmP,OAAOC,aALdpP,OAAO2C,OAAO4E,GAAGvH,OAAOgC,cAAckN,IAAI,QAAY,IAAKnB,QAAQ,SAAa,GAAK/N,OAAOG,KAAKkP,eAAgBrP,OAAOG,KAAKmP,QAC7HtP,OAAO2C,OAAO4E,GAAG5B,QAAQuJ,IAAI,QAAY,IAAKnB,QAAQ,SAAa,GAAK/N,OAAOG,KAAKkP,eAAgBrP,OAAOG,KAAKmP,OAAQtP,OAAOmP,aA5C5H,KAEHI,OAAQC,YAAaC,SADrBL,UAAajO,SAAYnB,OAAO2C,OAAO6H,OAAO,UAAUmD,SAAW3N,OAAOyN,UAI1EnM,UACAiO,OAASvP,OAAOG,KAAK+L,WAErBsD,aADAC,UAAazP,OAAOiM,MAAQsD,QAAUvP,OAAOoH,KAAQpH,OAAOoC,aAClCpC,OAAOgM,OAA4B,IAAnBhM,OAAO+O,QAAiB/O,OAAOgM,MAAQyD,UAEjFD,YAD+B,IAAxBxP,OAAOgC,cAAsB2D,SAAW3F,OAAO6C,MAAQ,GAAK7C,OAAOG,KAAKmK,eAAsC,SAArBtK,OAAOoB,UACxFC,SAAYrB,OAAO6C,MAAQ7C,OAAOmM,aAAeiD,UAAY,EACrEpP,OAAOgC,eAAiBhC,OAAOsC,MAAmB,IAAXqD,QAAgB3F,OAAOG,KAAKmK,eAAsC,SAArBtK,OAAOoB,UACnFC,QAAW,GAAKrB,OAAO6C,MAAQ,GAAKuM,UAEpC/N,SAAarB,OAAO6C,MAAQ,EAAK8C,OAAS3F,OAAOmM,aAAeiD,WAAazJ,OAAS3F,OAAOmM,aAAeiD,UAE/HpP,OAAO4M,SAAS4C,YAAa,GAAIxP,OAAOG,KAAKkP,gBACzCrP,OAAOuD,aACFvD,OAAOG,KAAKmK,eAAkBtK,OAAOqC,QACtCrC,OAAO+B,WAAY,EACnB/B,OAAOgC,aAAehC,OAAOoC,aAIjCpC,OAAO4C,UAAU8M,OAAO,qCACxB1P,OAAO4C,UAAU2C,KAAK,qCAAqC,WACvDiJ,aAAaxO,OAAOsE,oBACpBtE,OAAOmP,OAAOC,cAIlBZ,aAAaxO,OAAOsE,oBACpBtE,OAAOsE,mBAAqBwC,YAAW,WACnC9G,OAAOmP,OAAOC,aACfpP,OAAOG,KAAKkP,eAAiB,MAGhCrP,OAAO4C,UAAUmL,QAAQ/N,OAAOkD,KAAMlD,OAAOG,KAAKkP,eAAgBrP,OAAOG,KAAKmP,QAAQ,WAClFtP,OAAOmP,OAAOC,cActBpP,OAAOG,KAAK4G,cAAgBnF,QAAQmF,aAAa/G,OAAOG,KAAKkP,kBAGzErP,OAAOmP,OAAS,SAAUC,WAEjB5N,MAASF,WACkB,IAAxBtB,OAAOgC,cAAsBhC,OAAOoC,cAAgBpC,OAAOsC,MAAQtC,OAAOG,KAAKmK,cAC/EtK,OAAO4M,SAASwC,UAAW,WACpBpP,OAAOgC,eAAiBhC,OAAOsC,MAA+B,IAAvBtC,OAAOoC,aAAqBpC,OAAOG,KAAKmK,eACtFtK,OAAO4M,SAASwC,UAAW,cAGnCpP,OAAO+B,WAAY,EACnB/B,OAAOgC,aAAehC,OAAOoC,YAE7BpC,OAAOG,KAAKwP,MAAM3P,SAItBA,OAAO4P,cAAgB,YACd5P,OAAO+B,WAAanC,SAAWI,OAAO6F,YAAY7F,OAAO4F,UAAU,UAG5E5F,OAAO0G,MAAQ,WACXmJ,cAAc7P,OAAO8P,gBACrB9P,OAAO8P,eAAiB,KACxB9P,OAAOiO,SAAU,EAEbjO,OAAOG,KAAKiG,WAAaxE,QAAQwE,UAAUyD,OAAO,QAElD7J,OAAO+C,YAAcnB,QAAQoB,KAAK,UAG1ChD,OAAO2G,KAAO,WACN3G,OAAOiO,SAAW4B,cAAc7P,OAAO8P,gBAC3C9P,OAAO8P,eAAiB9P,OAAO8P,gBAAkBC,YAAY/P,OAAO4P,cAAe5P,OAAOG,KAAK6P,gBAC/FhQ,OAAOqD,QAAUrD,OAAOiO,SAAU,EAE9BjO,OAAOG,KAAKiG,WAAaxE,QAAQwE,UAAUyD,OAAO,SAElD7J,OAAO+C,YAAcnB,QAAQoB,KAAK,SAG1ChD,OAAO8M,KAAO,WACV9M,OAAO0G,QACP1G,OAAOoD,SAAU,GAErBpD,OAAOiN,WAAa,SAAUtH,OAAQiJ,aAE9BtM,KAAQZ,MAAS1B,OAAOiJ,YAAc,EAAIjJ,OAAOsC,aAC7CsM,aACHlN,OAAS1B,OAAOqH,cAAgBrH,OAAO6C,MAAQ,GAAgB,IAAX8C,QAAqC,SAArB3F,OAAOoB,cACvEM,OAAgC,IAAvB1B,OAAOqH,aAAqB1B,SAAW3F,OAAOiJ,YAAc,GAA0B,SAArBjJ,OAAOoB,eAC7EuE,SAAW3F,OAAOgC,eAAiBN,WAC/B1B,OAAOG,KAAKmK,iBACRtK,OAAOqC,OAAiC,IAAxBrC,OAAOgC,cAAsB2D,SAAWrD,MAA6B,SAArBtC,OAAOoB,cACnEpB,OAAOqC,OAASrC,OAAOgC,eAAiBM,MAAmB,IAAXqD,QAAqC,SAArB3F,OAAOoB,eAGpGpB,OAAO4F,UAAY,SAAUqK,YACzBjQ,OAAOoB,UAAY6O,IACP,SAARA,IACQjQ,OAAOgC,eAAiBhC,OAAOsC,KAAQ,EAAItC,OAAOgC,aAAe,EAEzC,IAAxBhC,OAAOgC,aAAsBhC,OAAOsC,KAAOtC,OAAOgC,aAAe,GAKjFhC,OAAO4M,SAAW,SAAU7C,IAAKmG,QAASrC,SAE9BsC,SADJxK,QACIwK,SAAYpG,MAAe/J,OAAOiM,MAAQjM,OAAOG,KAAK+L,YAAclM,OAAOoH,KAAQpH,OAAOoC,YAC/E,cACHd,eACoB,aAAZ4O,QAA0BnG,IAC7B1I,SAAWrB,OAAOoC,cAAgBpC,OAAOsC,KAAQ,EAC7CjB,QAAWrB,OAAOgM,OAAWhM,OAAOiM,MAAQjM,OAAOG,KAAK+L,YAAclM,OAAOoH,KAAQpH,OAAOoC,YACxFpC,OAAOoC,cAAgBpC,OAAOsC,KAAQtC,OAAOgM,MAAQmE,gBAE1DD,aACC,kBAAoB7O,SAAarB,OAAO6C,MAAQ,EAAK7C,OAAOgC,aAAehC,OAAOmM,aAAepC,KAAO/J,OAAOgC,aAAehC,OAAOmM,aAAepC,QACpJ,0BAGWA,QAFX,iBAAmB1I,QAAW0I,IAAM/J,OAAO6C,MAAQkH,QACnD,mBAAqB1I,QAAWrB,OAAO6C,MAAQkH,IAAMA,KAX3D,IAiBK/J,OAAOG,KAAKF,IAAO,GAAK,GAAM,MAGlDD,OAAOuD,cAEHoC,OADA3F,OAAOmE,UACGhD,SAAY,iBAAmBwE,OAAS,MAAQ,eAAkB1D,SAAS0D,QAA3B,UAEhDxE,SAAY,iBAAmBwE,OAAS,MAAQ,gBAAmB3F,OAAOG,KAAKF,KAAO,EAAI,GAAKgC,SAAS0D,QAAxD,UAE9DkI,SAAe/J,IAAR+J,IAAsBA,IAAM,IAAQ,IAAM,KACjD7N,OAAO4C,UAAUsM,IAAI,IAAMlP,OAAOgE,IAAM,uBAAwB6J,KAChE7N,OAAO4C,UAAUsM,IAAI,sBAAuBrB,MAGhD7N,OAAOkD,KAAKlD,OAAOiD,MAAQ0C,QACvB3F,OAAOuD,kBAAuBO,IAAR+J,MAAqB7N,OAAO4C,UAAUsM,IAAIlP,OAAOkD,MAE3ElD,OAAO4C,UAAUsM,IAAI,YAAavJ,SAGtC3F,OAAOkF,MAAQ,SAAU4D,UAGbsH,aAAcC,IADjB7O,MAyDGxB,OAAOG,KAAKF,IACZD,OAAO2C,OAAOuM,IAAI,OAAW,aAAiB,mBAAuB,iBAAqB,aAG1FlP,OAAO2C,OAAOuM,IAAI,OAAW,aAAiB,mBAAuB,iBAAqB,aAEjF,SAATpG,OACKhI,MAQDd,OAAO2C,OAAOuM,IAAI,SAAa,UAAc,yBAA6B,WAAalP,OAAOG,KAAKkP,eAAiB,IAAO,gBAAoB,IAAK9H,GAAGvH,OAAOgC,cAAckN,IAAI,SAAa,SAAa,IANxK,GAA9BlP,OAAOG,KAAKmQ,eACZtQ,OAAO2C,OAAOuM,IAAI,SAAa,UAAc,eAAmB,IAAK3H,GAAGvH,OAAOgC,cAAckN,IAAI,QAAY,IAAKA,IAAI,SAAa,IAEnIlP,OAAO2C,OAAOuM,IAAI,SAAa,UAAc,eAAmB,IAAK3H,GAAGvH,OAAOgC,cAAckN,IAAI,QAAY,IAAKnB,QAAQ,SAAa,GAAK/N,OAAOG,KAAKkP,eAAgBrP,OAAOG,KAAKmP,SAO5LtP,OAAOG,KAAK4G,cAAgBnF,QAAQmF,iBAzE3B,SAAT+B,OACA9I,OAAO0N,UAAW,mBAAE,eAAiBlN,UAAY,oBAAoB0O,IAAI,UAAc,kBAAsB,aAAc3F,SAASvJ,QAAQgF,OAAOhF,OAAO4C,WAE1J5C,OAAOuQ,WAAa,EACpBvQ,OAAOmM,YAAc,EAEjB9K,UACAgP,IAAMjQ,gBAAEoQ,UAAUxQ,OAAO2C,QAAQtB,UACjCrB,OAAO2C,QAAS,mBAAE0N,KAClBrQ,OAAO4C,UAAUmC,QAAQC,OAAOhF,OAAO2C,UAI3C3C,OAAOG,KAAKmK,gBAAkBhJ,WAC9BtB,OAAOuQ,WAAa,EACpBvQ,OAAOmM,YAAc,EAER,SAATrD,MAAmB9I,OAAO4C,UAAUqE,KAAK,UAAU+C,SACvDhK,OAAO4C,UAAUoC,OAAOpD,QAAQsM,SAASlO,OAAO2C,OAAO8N,QAAQC,QAAQlJ,SAAS,UAAUtH,KAAK,cAAe,SACzGyQ,QAAQ/O,QAAQsM,SAASlO,OAAO2C,OAAOL,OAAOoO,QAAQlJ,SAAS,UAAUtH,KAAK,cAAe,UAEtGF,OAAO4N,WAAY,mBAAE5N,OAAOG,KAAKqC,SAAUxC,QAE3CoQ,aAAgB/O,QAAWrB,OAAO6C,MAAQ,EAAI7C,OAAOgC,aAAehC,OAAOmM,YAAcnM,OAAOgC,aAAehC,OAAOmM,YAElHhL,WAAaG,UACbtB,OAAO4C,UAAU+K,OAA4C,KAApC3N,OAAO6C,MAAQ7C,OAAOuQ,YAAoB,KAAKrB,IAAI,WAAY,YAAY1B,MAAM,QAC1G1G,YAAW,WACP9G,OAAO4N,UAAUsB,IAAI,SAAa,UAClClP,OAAOiF,SACPjF,OAAO0N,SAASC,OAAO3N,OAAO4L,GAC9B5L,OAAO4M,SAASwD,aAAepQ,OAAO4L,EAAG,UAChC,SAAT9C,KAAmB,IAAM,KAE7B9I,OAAO4C,UAAU4K,MAA2C,KAApCxN,OAAO6C,MAAQ7C,OAAOuQ,YAAoB,KAClEvQ,OAAO4M,SAASwD,aAAepQ,OAAOyN,UAAW,QACjD3G,YAAW,WACP9G,OAAOiF,SACHjF,OAAOG,KAAKF,KACRD,OAAOmE,UACPnE,OAAO4N,UAAUsB,IAAI,OAAWlP,OAAOyN,sBAA0BzN,OAAO4Q,gBAAoB,gBAAoB,UAOpH5Q,OAAO4N,UAAUsB,IAAI,OAAWlP,OAAOyN,sBAA0BzN,OAAO4Q,gBAAoB,eAAmB,UAG/G5Q,OAAOG,KAAK4G,cAAgBnF,QAAQmF,iBAC/B,SAAT+B,KAAmB,IAAM,KA0BhCxH,UAAYtB,OAAO2C,OAAO2E,YAAY9G,UAAY,gBAAgB+G,GAAGvH,OAAOgC,cAAcwF,SAAShH,UAAY,gBAGpHR,OAAOG,KAAK2B,KAAK9B,SAGrBA,OAAOiF,OAAS,eACR4D,MAAQ7I,OAAO2C,OAAO8N,QACtBI,YAAc7Q,OAAOG,KAAK+L,WAC1B4E,SAAW9Q,OAAOG,KAAK2Q,SACvBC,SAAW/Q,OAAOG,KAAK4Q,SAE3B/Q,OAAO6L,OAAyB/H,IAApB9D,OAAO0N,SAA0B1N,OAAOwN,QAAUxN,OAAO0N,SAASF,QAC1ExN,OAAOmE,YAAanE,OAAO6L,EAAI7L,OAAOwN,SAC1CxN,OAAO4L,EAAI/C,MAAM8E,SACjB3N,OAAOgR,WAAanI,MAAMoI,aAAepI,MAAM2E,QAG3ClM,UACAtB,OAAOkR,MAAQlR,OAAOG,KAAKoB,UAAYsP,YACvC7Q,OAAOmR,MAAQN,YACf7Q,OAAOoR,KAAQN,SAAYA,SAAW9Q,OAAOkR,MAAQlR,OAAO6L,EAC5D7L,OAAOqR,KAAQN,SAAaA,SAAW/Q,OAAOkR,MAASL,YAAc7Q,OAAO6L,EAC5E7L,OAAOiM,MAASjM,OAAOoR,KAAOpR,OAAO6L,GAAM7L,OAAO6L,EAAKgF,aAAeC,SAAW,IAAOA,SACnF9Q,OAAOqR,KAAOrR,OAAO6L,GAAM7L,OAAO6L,EAAKgF,aAAeE,SAAW,IAAOA,SACpE/Q,OAAOG,KAAKoB,UAAYvB,OAAO6L,EAAK7L,OAAO6L,EAAI7L,OAAOG,KAAKoB,UAEpEvB,OAAO+O,QAAUnK,KAAKuC,MAAMnH,OAAO6L,EAAK7L,OAAOiM,OAC/CjM,OAAOoH,KAAQpH,OAAOG,KAAKiH,KAAO,GAAKpH,OAAOG,KAAKiH,KAAOpH,OAAO+O,QAAW/O,OAAOG,KAAKiH,KAAOpH,OAAO+O,QACtG/O,OAAOiJ,YAAcrE,KAAKkK,MAAO9O,OAAO6C,MAAQ7C,OAAO+O,SAAW/O,OAAOoH,KAAQ,GACjFpH,OAAOsC,KAAOtC,OAAOiJ,YAAc,EACnCjJ,OAAOgM,MAAgC,IAAvBhM,OAAOiJ,YAAqB,EACvCjJ,OAAOG,KAAKoB,UAAYvB,OAAO6L,EAAM7L,OAAOiM,OAASjM,OAAO6C,MAAQ,GAAOgO,aAAe7Q,OAAO6C,MAAQ,IAAQ7C,OAAOiM,MAAQ4E,aAAe7Q,OAAO6C,MAAS7C,OAAO6L,EAAIgF,cAE/K7Q,OAAOiM,MAAQjM,OAAO6L,EACtB7L,OAAOmR,MAAQN,YACf7Q,OAAOiJ,YAAcjJ,OAAO6C,MAC5B7C,OAAOsC,KAAOtC,OAAO6C,MAAQ,GAEjC7C,OAAOyN,UAAYzN,OAAOiM,MAAQjM,OAAOgR,WACzChR,OAAO4Q,UAAY5Q,OAAOmR,OAG9BnR,OAAO6J,OAAS,SAAUE,IAAKD,QAC3B9J,OAAOiF,SAGF3D,WACGyI,IAAM/J,OAAOgC,aACbhC,OAAOgC,cAAgB,EAChB+H,KAAO/J,OAAOgC,cAAwB,IAAR+H,MACrC/J,OAAOgC,cAAgB,GAE3BhC,OAAOoC,YAAcpC,OAAOgC,cAI5BhC,OAAOG,KAAKgF,aAAenF,OAAOwE,iBAClB,QAAXsF,SAAqBxI,UAAatB,OAAOiJ,YAAcjJ,OAAOmF,WAAWrC,OAC1ElB,QAAQuD,WAAW0E,OAAO,QACP,WAAXC,SAAwBxI,UAAatB,OAAOiJ,YAAcjJ,OAAOmF,WAAWrC,UAChFxB,UAAYtB,OAAOgC,aAAehC,OAAOsC,OACzCtC,OAAOgC,cAAgB,EACvBhC,OAAOoC,aAAe,GAE1BR,QAAQuD,WAAW0E,OAAO,SAAU7J,OAAOsC,QAI/CtC,OAAOG,KAAKiF,cAAgBxD,QAAQwD,aAAayE,UAIzD7J,OAAOsR,SAAW,SAAU5N,IAAKqG,SACzB+D,MAAO,mBAAEpK,KAEb1D,OAAO6C,OAAS,EAChB7C,OAAOsC,KAAOtC,OAAO6C,MAAQ,EAGzB1B,UAAYE,aACHyC,IAARiG,IAAqB/J,OAAO2C,OAAO4E,GAAGvH,OAAO6C,MAAQkH,KAAK4F,MAAM7B,MAAQ9N,OAAO4C,UAAU+N,QAAQ7C,WAEzFhK,IAARiG,IAAqB/J,OAAO2C,OAAO4E,GAAGwC,KAAKiF,OAAOlB,MAAQ9N,OAAO4C,UAAUoC,OAAO8I,MAIvF9N,OAAO6J,OAAOE,IAAK,OAGnB/J,OAAO2C,QAAS,mBAAE3C,OAAOG,KAAKqC,SAAW,eAAgBxC,QAEzDA,OAAOkF,QAGPlF,OAAOG,KAAKoR,MAAMvR,SAEtBA,OAAOwR,YAAc,SAAU9N,SACvBqG,IAAO5H,MAAMuB,KAAQ1D,OAAO2C,OAAOwF,OAAM,mBAAEzE,MAAQA,IAGvD1D,OAAO6C,OAAS,EAChB7C,OAAOsC,KAAOtC,OAAO6C,MAAQ,EAGzBV,MAAMuB,yBACJA,IAAK1D,OAAO2C,QAAQqH,SAErB7I,UAAYE,QAAWrB,OAAO2C,OAAO4E,GAAGvH,OAAOsC,MAAM0H,SAAWhK,OAAO2C,OAAO4E,GAAG7D,KAAKsG,SAI3FhK,OAAOiF,SACPjF,OAAO6J,OAAOE,IAAK,UAGnB/J,OAAO2C,QAAS,mBAAE3C,OAAOG,KAAKqC,SAAW,eAAgBxC,QAEzDA,OAAOkF,QAGPlF,OAAOG,KAAKsR,QAAQzR,SAIxB4B,QAAQE,4BAIVpB,QAAQgR,MAAK,SAAU5J,GACrBlI,SAAU,KACX+R,OAAM,SAAU7J,GACflI,SAAU,qBAIZC,WAAWS,SAAW,CACpBE,UAAW,QACXgC,SAAU,eACVf,UAAW,OACX6N,OAAQ,QACRlO,UAAW,aACXC,SAAS,EACTiJ,eAAe,EACfvD,cAAc,EACd7E,QAAS,EACTmE,WAAW,EACX2J,eAAgB,IAChBX,eAAgB,IAChBxI,UAAW,EACXnC,WAAW,EACX4L,gBAAgB,EAChBnH,eAAe,EAGfrD,eAAe,EACfS,cAAc,EACdD,gBAAgB,EAChB7C,QAAQ,EACR3C,OAAO,EACP0C,OAAO,EAGP2B,YAAY,EACZC,cAAc,EACd+E,SAAU,WACVC,SAAU,OAGV/E,UAAU,EACVC,kBAAkB,EAClBS,YAAY,EACZK,WAAW,EACXyE,UAAW,QACXD,SAAU,OAGVrG,kBAAmB,GACnBC,eAAgB,GAChBC,mBAAoB,GACpBzB,KAAM,GACNrB,SAAU,GAGVJ,UAAW,EACX2K,WAAY,EACZ4E,SAAU,EACVC,SAAU,EACV3J,KAAM,EACNwK,eAAe,EAGfzN,WAAW,EAGX+C,MAAO,aACP8H,OAAQ,aACRW,MAAO,aACPV,IAAK,aACLsC,MAAO,aACPE,QAAS,aACT3P,KAAM,aACN7B,KAAK,mBAIP4R,GAAGhS,WAAa,SAAUE,iBACR+D,IAAZ/D,UAAyBA,QAAU,IAEhB,iBAAZA,eACA4H,KAAKD,MAAK,eACTiC,OAAQ,mBAAEhC,MACVnF,SAAYzC,QAAQyC,SAAYzC,QAAQyC,SAAW,eACnDsP,QAAUnI,MAAM1C,KAAKzE,UAED,IAAnBsP,QAAQhP,SAA0C,IAA1B/C,QAAQ6R,eAA+C,IAAnBE,QAAQhP,QACrEgP,QAAQC,OAAO,KACXhS,QAAQmH,OAASnH,QAAQmH,MAAMyC,aACC7F,IAA7B6F,MAAM9H,KAAK,mBACdzB,gBAAEP,WAAW8H,KAAM5H,gBAK3BiS,SAAU,mBAAErK,MAAM9F,KAAK,qBACnB9B,aACC,OAAQiS,QAAQrL,iBAChB,QAASqL,QAAQtL,kBACjB,OAAQsL,QAAQlF,iBAChB,OAAQkF,QAAQnM,YAAYmM,QAAQpM,UAAU,SAAS,aACvD,WACA,WAAYoM,QAAQnM,YAAYmM,QAAQpM,UAAU,SAAS,iBAChC,iBAAZ7F,SAAwBiS,QAAQnM,YAAY9F,SAAS"}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists