// source --> https://www.tomex.cz/wp-content/plugins/colibri-page-builder-pro/extend-builder/assets/static/colibri.js?ver=1.0.247-pro 
(function (name, definition) {

  if (typeof module != 'undefined') {
    module.exports = definition()
  } else if (typeof define == 'function' && typeof define.amd == 'object') {
    define(definition)
  } else {
    this[name] = definition()
  }

})('Colibri',
  function () {
    var $ = jQuery;
    if (typeof jQuery === 'undefined') {
      throw new Error('Colibri requires jQuery')
    }

    ;(function ($) {
      var version = $.fn.jquery.split('.');
      if (version[0] === 1 && version[1] < 8) {
        throw new Error('Colibri requires at least jQuery v1.8');
      }
    })(jQuery);

    var Colibri;

    var lib_prefix = "colibri.";

    ;(function () {
      // Inherits
      Function.prototype.inherits = function (parent) {
        var F = function () {
        };
        F.prototype = parent.prototype;
        var f = new F();

        for (var prop in this.prototype) {
          f[prop] = this.prototype[prop];
        }
        this.prototype = f;
        this.prototype.super = parent.prototype;
      };

      // Core Class
      Colibri = function (element, options) {
        options = (typeof options === 'object') ? options : {};

        this.$element = $(element);
        var instanceId = this.$element.data('colibri-id');

        var instanceData = Colibri.getData(instanceId);
        this.instance = instanceId;

        var elementData = this.$element.data();

        this.opts = $.extend(true, {}, this.defaults, $.fn[lib_prefix + this.namespace].options, elementData, instanceData, options);
        this.$target = (typeof this.opts.target === 'string') ? $(this.opts.target) : null;
      };

      Colibri.getData = function (id) {
        if (window.colibriData && window.colibriData[id]) {
          return window.colibriData[id];
        }

        return {};
      };

      Colibri.isCustomizerPreview = function () {
        return !!window.colibriCustomizerPreviewData;
      }
      // Core Functionality
      Colibri.prototype = {
        updateOpts: function (updatedData) {
          var instanceId = this.instance;
          var instanceData = $.extend(true, {}, this.defaults, Colibri.getData(instanceId));
          var updatedDataWithDefault = updatedData ? updatedData : {};
          this.opts = $.extend(true, this.opts, instanceData, updatedDataWithDefault);
        },
        getInstance: function () {
          return this.$element.data('fn.' + this.namespace);
        },
        hasTarget: function () {
          return !(this.$target === null);
        },
        callback: function (type) {
          var args = [].slice.call(arguments).splice(1);

          // on element callback
          if (this.$element) {
            args = this._fireCallback($._data(this.$element[0], 'events'), type, this.namespace, args);
          }

          // on target callback
          if (this.$target) {
            args = this._fireCallback($._data(this.$target[0], 'events'), type, this.namespace, args);
          }

          // opts callback
          if (this.opts && this.opts.callbacks && $.isFunction(this.opts.callbacks[type])) {
            return this.opts.callbacks[type].apply(this, args);
          }

          return args;
        },
        _fireCallback: function (events, type, eventNamespace, args) {
          if (events && typeof events[type] !== 'undefined') {
            var len = events[type].length;
            for (var i = 0; i < len; i++) {
              var namespace = events[type][i].namespace;
              if (namespace === eventNamespace) {
                var value = events[type][i].handler.apply(this, args);
              }
            }
          }

          return (typeof value === 'undefined') ? args : value;
        }
      };

    })();

    (function (Colibri) {
      Colibri.Plugin = {
        create: function (classname, pluginname) {
          pluginname = (typeof pluginname === 'undefined') ? classname.toLowerCase() : pluginname;
          pluginname = lib_prefix + pluginname;

          $.fn[pluginname] = function (method, options) {
            var args = Array.prototype.slice.call(arguments, 1);
            var name = 'fn.' + pluginname;
            var val = [];

            this.each(function () {
              var $this = $(this), data = $this.data(name);
              options = (typeof method === 'object') ? method : options;

              if (!data) {
                // Initialization
                $this.data(name, {});
                data = new Colibri[classname](this, options);
                $this.data(name, data);
              }

              // Call methods
              if (typeof method === 'string') {
                if ($.isFunction(data[method])) {
                  var methodVal = data[method].apply(data, args);
                  if (methodVal !== undefined) {
                    val.push(methodVal);
                  }
                } else {
                  $.error('No such method "' + method + '" for ' + classname);
                }
              }

            });

            return (val.length === 0 || val.length === 1) ? ((val.length === 0) ? this : val[0]) : val;
          };

          $.fn[pluginname].options = {};

          return this;
        },
        autoload: function (pluginname) {
          var arr = pluginname.split(',');
          var len = arr.length;

          for (var i = 0; i < len; i++) {
            var name = arr[i].toLowerCase().split(',').map(function (s) {
              return lib_prefix + s.trim();
            }).join(',');
            this.autoloadQueue.push(name);
          }

          return this;
        },
        autoloadQueue: [],
        startAutoload: function () {
          if (!window.MutationObserver || this.autoloadQueue.length === 0) {
            return;
          }

          var self = this;
          var observer = new MutationObserver(function (mutations) {
            mutations.forEach(function (mutation) {
              var newNodes = mutation.addedNodes;
              if (newNodes.length === 0 || (newNodes.length === 1 && newNodes.nodeType === 3)) {
                return;
              }

              self.startAutoloadOnce();
            });
          });

          // pass in the target node, as well as the observer options
          observer.observe(document, {
            subtree: true,
            childList: true
          });
        },

        startAutoloadOnce: function () {
          var self = this;
          var $nodes = $('[data-colibri-component]').not('[data-loaded]').not('[data-disabled]');
          $nodes.each(function () {
            var $el = $(this);
            var pluginname = lib_prefix + $el.data('colibri-component');

            if (self.autoloadQueue.indexOf(pluginname) !== -1) {
              $el.attr('data-loaded', true);
              try {
                $el[pluginname]();
              } catch (e) {
                console.error(e)
              }
            }
          });

        },
        watch: function () {
          Colibri.Plugin.startAutoloadOnce();
          Colibri.Plugin.startAutoload();
        }
      };

      $(window).on('load', function () {
        Colibri.Plugin.watch();
      });

    }(Colibri));

    (function (Colibri) {
      Colibri.Animation = function (element, effect, callback) {
        this.namespace = 'animation';
        this.defaults = {};

        // Parent Constructor
        Colibri.apply(this, arguments);

        // Initialization
        this.effect = effect;
        this.completeCallback = (typeof callback === 'undefined') ? false : callback;
        this.prefixes = ['', '-moz-', '-o-animation-', '-webkit-'];
        this.queue = [];

        this.start();
      };

      Colibri.Animation.prototype = {
        start: function () {
          if (this.isSlideEffect()) {
            this.setElementHeight();
          }

          this.addToQueue();
          this.clean();
          this.animate();
        },
        addToQueue: function () {
          this.queue.push(this.effect);
        },
        setElementHeight: function () {
          this.$element.height(this.$element.outerHeight());
        },
        removeElementHeight: function () {
          this.$element.css('height', '');
        },
        isSlideEffect: function () {
          return (this.effect === 'slideDown' || this.effect === 'slideUp');
        },
        isHideableEffect: function () {
          var effects = ['fadeOut', 'slideUp', 'flipOut', 'zoomOut', 'slideOutUp', 'slideOutRight', 'slideOutLeft'];

          return ($.inArray(this.effect, effects) !== -1);
        },
        isToggleEffect: function () {
          return (this.effect === 'show' || this.effect === 'hide');
        },
        storeHideClasses: function () {
          if (this.$element.hasClass('hide-sm')) {
            this.$element.data('hide-sm-class', true);
          } else if (this.$element.hasClass('hide-md')) {
            this.$element.data('hide-md-class', true);
          }
        },
        revertHideClasses: function () {
          if (this.$element.data('hide-sm-class')) {
            this.$element.addClass('hide-sm').removeData('hide-sm-class');
          } else if (this.$element.data('hide-md-class')) {
            this.$element.addClass('hide-md').removeData('hide-md-class');
          } else {
            this.$element.addClass('hide');
          }
        },
        removeHideClass: function () {
          if (this.$element.data('hide-sm-class')) {
            this.$element.removeClass('hide-sm');
          } else {
            if (this.$element.data('hide-md-class')) {
              this.$element.removeClass('hide-md');
            } else {
              this.$element.removeClass('hide');
              this.$element.removeClass('force-hide');
            }
          }

        },
        animate: function () {
          this.storeHideClasses();
          if (this.isToggleEffect()) {
            return this.makeSimpleEffects();
          }

          this.$element.addClass('colibri-animated');
          this.$element.addClass(this.queue[0]);
          this.removeHideClass();

          var _callback = (this.queue.length > 1) ? null : this.completeCallback;
          this.complete('AnimationEnd', $.proxy(this.makeComplete, this), _callback);
        },
        makeSimpleEffects: function () {
          if (this.effect === 'show') {
            this.removeHideClass();
          } else if (this.effect === 'hide') {
            this.revertHideClasses();
          }

          if (typeof this.completeCallback === 'function') {
            this.completeCallback(this);
          }
        },
        makeComplete: function () {
          if (this.$element.hasClass(this.queue[0])) {
            this.clean();
            this.queue.shift();

            if (this.queue.length) {
              this.animate();
            }
          }
        },
        complete: function (type, make, callback) {
          var events = type.split(' ').map(function (type) {
            return type.toLowerCase() + ' webkit' + type + ' o' + type + ' MS' + type;
          });

          this.$element.one(events.join(' '), $.proxy(function () {
            if (typeof make === 'function') {
              make();
            }
            if (this.isHideableEffect()) {
              this.revertHideClasses();
            }
            if (this.isSlideEffect()) {
              this.removeElementHeight();
            }
            if (typeof callback === 'function') {
              callback(this);
            }

            this.$element.off(event);

          }, this));
        },
        clean: function () {
          this.$element.removeClass('colibri-animated').removeClass(this.queue[0]);
        }
      };

      // Inheritance
      Colibri.Animation.inherits(Colibri);

    }(Colibri));

    (function ($) {
      var animationName = lib_prefix + 'animation';
      $.fn[animationName] = function (effect, callback) {
        var name = 'fn.animation';

        return this.each(function () {
          var $this = $(this), data = $this.data(name);

          $this.data(name, {});
          $this.data(name, (data = new Colibri.Animation(this, effect, callback)));
        });
      };

      $.fn[animationName].options = {};

      Colibri.animate = function ($target, effect, callback) {
        $target[animationName](effect, callback);
        return $target;
      }

    })(jQuery);

    (function (Colibri) {
      Colibri.Detect = function () {
      };

      Colibri.Detect.prototype = {
        isMobile: function () {
          return /(iPhone|iPod|BlackBerry|Android)/.test(navigator.userAgent);
        },
        isDesktop: function () {
          return !/(iPhone|iPod|iPad|BlackBerry|Android)/.test(navigator.userAgent);
        },
        isMobileScreen: function () {
          return ($(window).width() <= 768);
        },
        isTabletScreen: function () {
          return ($(window).width() >= 768 && $(window).width() <= 1024);
        },
        isDesktopScreen: function () {
          return ($(window).width() > 1024);
        }
      };
    }(Colibri));

    (function (Colibri) {
      Colibri.Utils = function () {
      };

      Colibri.Utils.prototype = {
        disableBodyScroll: function () {
          var $body = $('html');
          var windowWidth = window.innerWidth;

          if (!windowWidth) {
            var documentElementRect = document.documentElement.getBoundingClientRect();
            windowWidth = documentElementRect.right - Math.abs(documentElementRect.left);
          }

          var isOverflowing = document.body.clientWidth < windowWidth;
          var scrollbarWidth = this.measureScrollbar();

          $body.css('overflow', 'hidden');
          if (isOverflowing) {
            $body.css('padding-right', scrollbarWidth);
          }
        },
        measureScrollbar: function () {
          var $body = $('body');
          var scrollDiv = document.createElement('div');
          scrollDiv.className = 'scrollbar-measure';

          $body.append(scrollDiv);
          var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
          $body[0].removeChild(scrollDiv);
          return scrollbarWidth;
        },
        enableBodyScroll: function () {
          $('html').css({'overflow': '', 'padding-right': ''});
        }
      };


    }(Colibri));

    return Colibri;
  }
);
// source --> https://www.tomex.cz/wp-content/plugins/colibri-page-builder-pro/extend-builder/assets/static/typed.js?ver=1.0.247-pro 
/*!
 *
 *   typed.js - A JavaScript Typing Animation Library
 *   Author: Matt Boldt <me@mattboldt.com>
 *   Version: v2.0.9
 *   Url: https://github.com/mattboldt/typed.js
 *   License(s): MIT
 *
 */
(function webpackUniversalModuleDefinition(root, factory) {
  if(typeof exports === 'object' && typeof module === 'object')
    module.exports = factory();
  else if(typeof define === 'function' && define.amd)
    define([], factory);
  else if(typeof exports === 'object')
    exports["Typed"] = factory();
  else
    root["Typed"] = factory();
})(this, function() {
  return /******/ (function(modules) { // webpackBootstrap
    /******/ 	// The module cache
    /******/ 	var installedModules = {};
    /******/
    /******/ 	// The require function
    /******/ 	function __webpack_require__(moduleId) {
      /******/
      /******/ 		// Check if module is in cache
      /******/ 		if(installedModules[moduleId])
      /******/ 			return installedModules[moduleId].exports;
      /******/
      /******/ 		// Create a new module (and put it into the cache)
      /******/ 		var module = installedModules[moduleId] = {
        /******/ 			exports: {},
        /******/ 			id: moduleId,
        /******/ 			loaded: false
        /******/ 		};
      /******/
      /******/ 		// Execute the module function
      /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
      /******/
      /******/ 		// Flag the module as loaded
      /******/ 		module.loaded = true;
      /******/
      /******/ 		// Return the exports of the module
      /******/ 		return module.exports;
      /******/ 	}
    /******/
    /******/
    /******/ 	// expose the modules object (__webpack_modules__)
    /******/ 	__webpack_require__.m = modules;
    /******/
    /******/ 	// expose the module cache
    /******/ 	__webpack_require__.c = installedModules;
    /******/
    /******/ 	// __webpack_public_path__
    /******/ 	__webpack_require__.p = "";
    /******/
    /******/ 	// Load entry module and return exports
    /******/ 	return __webpack_require__(0);
    /******/ })
  /************************************************************************/
  /******/ ([
    /* 0 */
    /***/ (function(module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, '__esModule', {
        value: true
      });

      var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }

      var _initializerJs = __webpack_require__(1);

      var _htmlParserJs = __webpack_require__(3);

      /**
       * Welcome to Typed.js!
       * @param {string} elementId HTML element ID _OR_ HTML element
       * @param {object} options options object
       * @returns {object} a new Typed object
       */

      var Typed = (function () {
        function Typed(elementId, options) {
          _classCallCheck(this, Typed);

          // Initialize it up
          _initializerJs.initializer.load(this, options, elementId);
          // All systems go!
          this.begin();
        }

        /**
         * Toggle start() and stop() of the Typed instance
         * @public
         */

        _createClass(Typed, [{
          key: 'toggle',
          value: function toggle() {
            this.pause.status ? this.start() : this.stop();
          }

          /**
           * Stop typing / backspacing and enable cursor blinking
           * @public
           */
        }, {
          key: 'stop',
          value: function stop() {
            clearInterval(this.timeout);
            if (this.typingComplete) return;
            if (this.pause.status) return;
            this.toggleBlinking(true);
            this.pause.status = true;
            this.options.onStop(this.arrayPos, this);
          }

          /**
           * Start typing / backspacing after being stopped
           * @public
           */
        }, {
          key: 'start',
          value: function start() {
            if (this.typingComplete) return;
            if (!this.pause.status) return;
            this.pause.status = false;
            if (this.pause.typewrite) {
              this.typewrite(this.pause.curString, this.pause.curStrPos);
            } else {
              this.backspace(this.pause.curString, this.pause.curStrPos);
            }
            this.options.onStart(this.arrayPos, this);
          }

          /**
           * Destroy this instance of Typed
           * @public
           */
        }, {
          key: 'destroy',
          value: function destroy() {
            this.reset(false);
            this.options.onDestroy(this);
          }

          /**
           * Reset Typed and optionally restarts
           * @param {boolean} restart
           * @public
           */
        }, {
          key: 'reset',
          value: function reset() {
            var restart = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];

            clearInterval(this.timeout);
            this.replaceText('');
            if (this.cursor && this.cursor.parentNode) {
              this.cursor.parentNode.removeChild(this.cursor);
              this.cursor = null;
            }
            this.strPos = 0;
            this.arrayPos = 0;
            this.curLoop = 0;
            if (restart) {
              this.insertCursor();
              this.options.onReset(this);
              this.begin();
            }
          }

          /**
           * Begins the typing animation
           * @private
           */
        }, {
          key: 'begin',
          value: function begin() {
            var _this = this;

            this.typingComplete = false;
            this.shuffleStringsIfNeeded(this);
            this.insertCursor();
            if (this.bindInputFocusEvents) this.bindFocusEvents();
            this.timeout = setTimeout(function () {
              // Check if there is some text in the element, if yes start by backspacing the default message
              if (!_this.currentElContent || _this.currentElContent.length === 0) {
                _this.typewrite(_this.strings[_this.sequence[_this.arrayPos]], _this.strPos);
              } else {
                // Start typing
                _this.backspace(_this.currentElContent, _this.currentElContent.length);
              }
            }, this.startDelay);
          }

          /**
           * Called for each character typed
           * @param {string} curString the current string in the strings array
           * @param {number} curStrPos the current position in the curString
           * @private
           */
        }, {
          key: 'typewrite',
          value: function typewrite(curString, curStrPos) {
            var _this2 = this;

            if (this.fadeOut && this.el.classList.contains(this.fadeOutClass)) {
              this.el.classList.remove(this.fadeOutClass);
              if (this.cursor) this.cursor.classList.remove(this.fadeOutClass);
            }

            var humanize = this.humanizer(this.typeSpeed);
            var numChars = 1;

            if (this.pause.status === true) {
              this.setPauseStatus(curString, curStrPos, true);
              return;
            }

            // contain typing function in a timeout humanize'd delay
            this.timeout = setTimeout(function () {
              // skip over any HTML chars
              curStrPos = _htmlParserJs.htmlParser.typeHtmlChars(curString, curStrPos, _this2);

              var pauseTime = 0;
              var substr = curString.substr(curStrPos);
              // check for an escape character before a pause value
              // format: \^\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^
              // single ^ are removed from string
              if (substr.charAt(0) === '^') {
                if (/^\^\d+/.test(substr)) {
                  var skip = 1; // skip at least 1
                  substr = /\d+/.exec(substr)[0];
                  skip += substr.length;
                  pauseTime = parseInt(substr);
                  _this2.temporaryPause = true;
                  _this2.options.onTypingPaused(_this2.arrayPos, _this2);
                  // strip out the escape character and pause value so they're not printed
                  curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip);
                  _this2.toggleBlinking(true);
                }
              }

              // check for skip characters formatted as
              // "this is a `string to print NOW` ..."
              if (substr.charAt(0) === '`') {
                while (curString.substr(curStrPos + numChars).charAt(0) !== '`') {
                  numChars++;
                  if (curStrPos + numChars > curString.length) break;
                }
                // strip out the escape characters and append all the string in between
                var stringBeforeSkip = curString.substring(0, curStrPos);
                var stringSkipped = curString.substring(stringBeforeSkip.length + 1, curStrPos + numChars);
                var stringAfterSkip = curString.substring(curStrPos + numChars + 1);
                curString = stringBeforeSkip + stringSkipped + stringAfterSkip;
                numChars--;
              }

              // timeout for any pause after a character
              _this2.timeout = setTimeout(function () {
                // Accounts for blinking while paused
                _this2.toggleBlinking(false);

                // We're done with this sentence!
                if (curStrPos >= curString.length) {
                  _this2.doneTyping(curString, curStrPos);
                } else {
                  _this2.keepTyping(curString, curStrPos, numChars);
                }
                // end of character pause
                if (_this2.temporaryPause) {
                  _this2.temporaryPause = false;
                  _this2.options.onTypingResumed(_this2.arrayPos, _this2);
                }
              }, pauseTime);

              // humanized value for typing
            }, humanize);
          }

          /**
           * Continue to the next string & begin typing
           * @param {string} curString the current string in the strings array
           * @param {number} curStrPos the current position in the curString
           * @private
           */
        }, {
          key: 'keepTyping',
          value: function keepTyping(curString, curStrPos, numChars) {
            // call before functions if applicable
            if (curStrPos === 0) {
              this.toggleBlinking(false);
              this.options.preStringTyped(this.arrayPos, this);
            }
            // start typing each new char into existing string
            // curString: arg, this.el.html: original text inside element
            curStrPos += numChars;
            var nextString = curString.substr(0, curStrPos);
            this.replaceText(nextString);
            // loop the function
            this.typewrite(curString, curStrPos);
          }

          /**
           * We're done typing the current string
           * @param {string} curString the current string in the strings array
           * @param {number} curStrPos the current position in the curString
           * @private
           */
        }, {
          key: 'doneTyping',
          value: function doneTyping(curString, curStrPos) {
            var _this3 = this;

            // fires callback function
            this.options.onStringTyped(this.arrayPos, this);
            this.toggleBlinking(true);
            // is this the final string
            if (this.arrayPos === this.strings.length - 1) {
              // callback that occurs on the last typed string
              this.complete();
              // quit if we wont loop back
              if (this.loop === false || this.curLoop === this.loopCount) {
                return;
              }
            }
            this.timeout = setTimeout(function () {
              _this3.backspace(curString, curStrPos);
            }, this.backDelay);
          }

          /**
           * Backspaces 1 character at a time
           * @param {string} curString the current string in the strings array
           * @param {number} curStrPos the current position in the curString
           * @private
           */
        }, {
          key: 'backspace',
          value: function backspace(curString, curStrPos) {
            var _this4 = this;

            if (this.pause.status === true) {
              this.setPauseStatus(curString, curStrPos, true);
              return;
            }
            if (this.fadeOut) return this.initFadeOut();

            this.toggleBlinking(false);
            var humanize = this.humanizer(this.backSpeed);

            this.timeout = setTimeout(function () {
              curStrPos = _htmlParserJs.htmlParser.backSpaceHtmlChars(curString, curStrPos, _this4);
              // replace text with base text + typed characters
              var curStringAtPosition = curString.substr(0, curStrPos);
              _this4.replaceText(curStringAtPosition);

              // if smartBack is enabled
              if (_this4.smartBackspace) {
                // the remaining part of the current string is equal of the same part of the new string
                var nextString = _this4.strings[_this4.arrayPos + 1];
                if (nextString && curStringAtPosition === nextString.substr(0, curStrPos)) {
                  _this4.stopNum = curStrPos;
                } else {
                  _this4.stopNum = 0;
                }
              }

              // if the number (id of character in current string) is
              // less than the stop number, keep going
              if (curStrPos > _this4.stopNum) {
                // subtract characters one by one
                curStrPos--;
                // loop the function
                _this4.backspace(curString, curStrPos);
              } else if (curStrPos <= _this4.stopNum) {
                // if the stop number has been reached, increase
                // array position to next string
                _this4.arrayPos++;
                // When looping, begin at the beginning after backspace complete
                if (_this4.arrayPos === _this4.strings.length) {
                  _this4.arrayPos = 0;
                  _this4.options.onLastStringBackspaced();
                  _this4.shuffleStringsIfNeeded();
                  _this4.begin();
                } else {
                  _this4.typewrite(_this4.strings[_this4.sequence[_this4.arrayPos]], curStrPos);
                }
              }
              // humanized value for typing
            }, humanize);
          }

          /**
           * Full animation is complete
           * @private
           */
        }, {
          key: 'complete',
          value: function complete() {
            this.options.onComplete(this);
            if (this.loop) {
              this.curLoop++;
            } else {
              this.typingComplete = true;
            }
          }

          /**
           * Has the typing been stopped
           * @param {string} curString the current string in the strings array
           * @param {number} curStrPos the current position in the curString
           * @param {boolean} isTyping
           * @private
           */
        }, {
          key: 'setPauseStatus',
          value: function setPauseStatus(curString, curStrPos, isTyping) {
            this.pause.typewrite = isTyping;
            this.pause.curString = curString;
            this.pause.curStrPos = curStrPos;
          }

          /**
           * Toggle the blinking cursor
           * @param {boolean} isBlinking
           * @private
           */
        }, {
          key: 'toggleBlinking',
          value: function toggleBlinking(isBlinking) {
            if (!this.cursor) return;
            // if in paused state, don't toggle blinking a 2nd time
            if (this.pause.status) return;
            if (this.cursorBlinking === isBlinking) return;
            this.cursorBlinking = isBlinking;
            if (isBlinking) {
              this.cursor.classList.add('typed-cursor--blink');
            } else {
              this.cursor.classList.remove('typed-cursor--blink');
            }
          }

          /**
           * Speed in MS to type
           * @param {number} speed
           * @private
           */
        }, {
          key: 'humanizer',
          value: function humanizer(speed) {
            return Math.round(Math.random() * speed / 2) + speed;
          }

          /**
           * Shuffle the sequence of the strings array
           * @private
           */
        }, {
          key: 'shuffleStringsIfNeeded',
          value: function shuffleStringsIfNeeded() {
            if (!this.shuffle) return;
            this.sequence = this.sequence.sort(function () {
              return Math.random() - 0.5;
            });
          }

          /**
           * Adds a CSS class to fade out current string
           * @private
           */
        }, {
          key: 'initFadeOut',
          value: function initFadeOut() {
            var _this5 = this;

            this.el.className += ' ' + this.fadeOutClass;
            if (this.cursor) this.cursor.className += ' ' + this.fadeOutClass;
            return setTimeout(function () {
              _this5.arrayPos++;
              _this5.replaceText('');

              // Resets current string if end of loop reached
              if (_this5.strings.length > _this5.arrayPos) {
                _this5.typewrite(_this5.strings[_this5.sequence[_this5.arrayPos]], 0);
              } else {
                _this5.typewrite(_this5.strings[0], 0);
                _this5.arrayPos = 0;
              }
            }, this.fadeOutDelay);
          }

          /**
           * Replaces current text in the HTML element
           * depending on element type
           * @param {string} str
           * @private
           */
        }, {
          key: 'replaceText',
          value: function replaceText(str) {
            if (this.attr) {
              this.el.setAttribute(this.attr, str);
            } else {
              if (this.isInput) {
                this.el.value = str;
              } else if (this.contentType === 'html') {
                this.el.innerHTML = str;
              } else {
                this.el.textContent = str;
              }
            }
          }

          /**
           * If using input elements, bind focus in order to
           * start and stop the animation
           * @private
           */
        }, {
          key: 'bindFocusEvents',
          value: function bindFocusEvents() {
            var _this6 = this;

            if (!this.isInput) return;
            this.el.addEventListener('focus', function (e) {
              _this6.stop();
            });
            this.el.addEventListener('blur', function (e) {
              if (_this6.el.value && _this6.el.value.length !== 0) {
                return;
              }
              _this6.start();
            });
          }

          /**
           * On init, insert the cursor element
           * @private
           */
        }, {
          key: 'insertCursor',
          value: function insertCursor() {
            if (!this.showCursor) return;
            if (this.cursor) return;
            this.cursor = document.createElement('span');
            this.cursor.className = 'typed-cursor';
            this.cursor.innerHTML = this.cursorChar;
            this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling);
          }
        }]);

        return Typed;
      })();

      exports['default'] = Typed;
      module.exports = exports['default'];

      /***/ }),
    /* 1 */
    /***/ (function(module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, '__esModule', {
        value: true
      });

      var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

      var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }

      var _defaultsJs = __webpack_require__(2);

      var _defaultsJs2 = _interopRequireDefault(_defaultsJs);

      /**
       * Initialize the Typed object
       */

      var Initializer = (function () {
        function Initializer() {
          _classCallCheck(this, Initializer);
        }

        _createClass(Initializer, [{
          key: 'load',

          /**
           * Load up defaults & options on the Typed instance
           * @param {Typed} self instance of Typed
           * @param {object} options options object
           * @param {string} elementId HTML element ID _OR_ instance of HTML element
           * @private
           */

          value: function load(self, options, elementId) {
            // chosen element to manipulate text
            if (typeof elementId === 'string') {
              self.el = document.querySelector(elementId);
            } else {
              self.el = elementId;
            }

            self.options = _extends({}, _defaultsJs2['default'], options);

            // attribute to type into
            self.isInput = self.el.tagName.toLowerCase() === 'input';
            self.attr = self.options.attr;
            self.bindInputFocusEvents = self.options.bindInputFocusEvents;

            // show cursor
            self.showCursor = self.isInput ? false : self.options.showCursor;

            // custom cursor
            self.cursorChar = self.options.cursorChar;

            // Is the cursor blinking
            self.cursorBlinking = true;

            // text content of element
            self.elContent = self.attr ? self.el.getAttribute(self.attr) : self.el.textContent;

            // html or plain text
            self.contentType = self.options.contentType;

            // typing speed
            self.typeSpeed = self.options.typeSpeed;

            // add a delay before typing starts
            self.startDelay = self.options.startDelay;

            // backspacing speed
            self.backSpeed = self.options.backSpeed;

            // only backspace what doesn't match the previous string
            self.smartBackspace = self.options.smartBackspace;

            // amount of time to wait before backspacing
            self.backDelay = self.options.backDelay;

            // Fade out instead of backspace
            self.fadeOut = self.options.fadeOut;
            self.fadeOutClass = self.options.fadeOutClass;
            self.fadeOutDelay = self.options.fadeOutDelay;

            // variable to check whether typing is currently paused
            self.isPaused = false;

            // input strings of text
            self.strings = self.options.strings.map(function (s) {
              return s.trim();
            });

            // div containing strings
            if (typeof self.options.stringsElement === 'string') {
              self.stringsElement = document.querySelector(self.options.stringsElement);
            } else {
              self.stringsElement = self.options.stringsElement;
            }

            if (self.stringsElement) {
              self.strings = [];
              self.stringsElement.style.display = 'none';
              var strings = Array.prototype.slice.apply(self.stringsElement.children);
              var stringsLength = strings.length;

              if (stringsLength) {
                for (var i = 0; i < stringsLength; i += 1) {
                  var stringEl = strings[i];
                  self.strings.push(stringEl.innerHTML.trim());
                }
              }
            }

            // character number position of current string
            self.strPos = 0;

            // current array position
            self.arrayPos = 0;

            // index of string to stop backspacing on
            self.stopNum = 0;

            // Looping logic
            self.loop = self.options.loop;
            self.loopCount = self.options.loopCount;
            self.curLoop = 0;

            // shuffle the strings
            self.shuffle = self.options.shuffle;
            // the order of strings
            self.sequence = [];

            self.pause = {
              status: false,
              typewrite: true,
              curString: '',
              curStrPos: 0
            };

            // When the typing is complete (when not looped)
            self.typingComplete = false;

            // Set the order in which the strings are typed
            for (var i in self.strings) {
              self.sequence[i] = i;
            }

            // If there is some text in the element
            self.currentElContent = this.getCurrentElContent(self);

            self.autoInsertCss = self.options.autoInsertCss;

            this.appendAnimationCss(self);
          }
        }, {
          key: 'getCurrentElContent',
          value: function getCurrentElContent(self) {
            var elContent = '';
            if (self.attr) {
              elContent = self.el.getAttribute(self.attr);
            } else if (self.isInput) {
              elContent = self.el.value;
            } else if (self.contentType === 'html') {
              elContent = self.el.innerHTML;
            } else {
              elContent = self.el.textContent;
            }
            return elContent;
          }
        }, {
          key: 'appendAnimationCss',
          value: function appendAnimationCss(self) {
            var cssDataName = 'data-typed-js-css';
            if (!self.autoInsertCss) {
              return;
            }
            if (!self.showCursor && !self.fadeOut) {
              return;
            }
            if (document.querySelector('[' + cssDataName + ']')) {
              return;
            }

            var css = document.createElement('style');
            css.type = 'text/css';
            css.setAttribute(cssDataName, true);

            var innerCss = '';
            if (self.showCursor) {
              innerCss += '\n        .typed-cursor{\n          opacity: 1;\n        }\n        .typed-cursor.typed-cursor--blink{\n          animation: typedjsBlink 0.7s infinite;\n          -webkit-animation: typedjsBlink 0.7s infinite;\n                  animation: typedjsBlink 0.7s infinite;\n        }\n        @keyframes typedjsBlink{\n          50% { opacity: 0.0; }\n        }\n        @-webkit-keyframes typedjsBlink{\n          0% { opacity: 1; }\n          50% { opacity: 0.0; }\n          100% { opacity: 1; }\n        }\n      ';
            }
            if (self.fadeOut) {
              innerCss += '\n        .typed-fade-out{\n          opacity: 0;\n          transition: opacity .25s;\n        }\n        .typed-cursor.typed-cursor--blink.typed-fade-out{\n          -webkit-animation: 0;\n          animation: 0;\n        }\n      ';
            }
            if (css.length === 0) {
              return;
            }
            css.innerHTML = innerCss;
            document.body.appendChild(css);
          }
        }]);

        return Initializer;
      })();

      exports['default'] = Initializer;
      var initializer = new Initializer();
      exports.initializer = initializer;

      /***/ }),
    /* 2 */
    /***/ (function(module, exports) {

      /**
       * Defaults & options
       * @returns {object} Typed defaults & options
       * @public
       */

      'use strict';

      Object.defineProperty(exports, '__esModule', {
        value: true
      });
      var defaults = {
        /**
         * @property {array} strings strings to be typed
         * @property {string} stringsElement ID of element containing string children
         */
        strings: ['These are the default values...', 'You know what you should do?', 'Use your own!', 'Have a great day!'],
        stringsElement: null,

        /**
         * @property {number} typeSpeed type speed in milliseconds
         */
        typeSpeed: 0,

        /**
         * @property {number} startDelay time before typing starts in milliseconds
         */
        startDelay: 0,

        /**
         * @property {number} backSpeed backspacing speed in milliseconds
         */
        backSpeed: 0,

        /**
         * @property {boolean} smartBackspace only backspace what doesn't match the previous string
         */
        smartBackspace: true,

        /**
         * @property {boolean} shuffle shuffle the strings
         */
        shuffle: false,

        /**
         * @property {number} backDelay time before backspacing in milliseconds
         */
        backDelay: 700,

        /**
         * @property {boolean} fadeOut Fade out instead of backspace
         * @property {string} fadeOutClass css class for fade animation
         * @property {boolean} fadeOutDelay Fade out delay in milliseconds
         */
        fadeOut: false,
        fadeOutClass: 'typed-fade-out',
        fadeOutDelay: 500,

        /**
         * @property {boolean} loop loop strings
         * @property {number} loopCount amount of loops
         */
        loop: false,
        loopCount: Infinity,

        /**
         * @property {boolean} showCursor show cursor
         * @property {string} cursorChar character for cursor
         * @property {boolean} autoInsertCss insert CSS for cursor and fadeOut into HTML <head>
         */
        showCursor: true,
        cursorChar: '|',
        autoInsertCss: true,

        /**
         * @property {string} attr attribute for typing
         * Ex: input placeholder, value, or just HTML text
         */
        attr: null,

        /**
         * @property {boolean} bindInputFocusEvents bind to focus and blur if el is text input
         */
        bindInputFocusEvents: false,

        /**
         * @property {string} contentType 'html' or 'null' for plaintext
         */
        contentType: 'html',

        /**
         * All typing is complete
         * @param {Typed} self
         */
        onComplete: function onComplete(self) {},

        /**
         * Before each string is typed
         * @param {number} arrayPos
         * @param {Typed} self
         */
        preStringTyped: function preStringTyped(arrayPos, self) {},

        /**
         * After each string is typed
         * @param {number} arrayPos
         * @param {Typed} self
         */
        onStringTyped: function onStringTyped(arrayPos, self) {},

        /**
         * During looping, after last string is typed
         * @param {Typed} self
         */
        onLastStringBackspaced: function onLastStringBackspaced(self) {},

        /**
         * Typing has been stopped
         * @param {number} arrayPos
         * @param {Typed} self
         */
        onTypingPaused: function onTypingPaused(arrayPos, self) {},

        /**
         * Typing has been started after being stopped
         * @param {number} arrayPos
         * @param {Typed} self
         */
        onTypingResumed: function onTypingResumed(arrayPos, self) {},

        /**
         * After reset
         * @param {Typed} self
         */
        onReset: function onReset(self) {},

        /**
         * After stop
         * @param {number} arrayPos
         * @param {Typed} self
         */
        onStop: function onStop(arrayPos, self) {},

        /**
         * After start
         * @param {number} arrayPos
         * @param {Typed} self
         */
        onStart: function onStart(arrayPos, self) {},

        /**
         * After destroy
         * @param {Typed} self
         */
        onDestroy: function onDestroy(self) {}
      };

      exports['default'] = defaults;
      module.exports = exports['default'];

      /***/ }),
    /* 3 */
    /***/ (function(module, exports) {

      /**
       * TODO: These methods can probably be combined somehow
       * Parse HTML tags & HTML Characters
       */

      'use strict';

      Object.defineProperty(exports, '__esModule', {
        value: true
      });

      var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }

      var HTMLParser = (function () {
        function HTMLParser() {
          _classCallCheck(this, HTMLParser);
        }

        _createClass(HTMLParser, [{
          key: 'typeHtmlChars',

          /**
           * Type HTML tags & HTML Characters
           * @param {string} curString Current string
           * @param {number} curStrPos Position in current string
           * @param {Typed} self instance of Typed
           * @returns {number} a new string position
           * @private
           */

          value: function typeHtmlChars(curString, curStrPos, self) {
            if (self.contentType !== 'html') return curStrPos;
            var curChar = curString.substr(curStrPos).charAt(0);
            if (curChar === '<' || curChar === '&') {
              var endTag = '';
              if (curChar === '<') {
                endTag = '>';
              } else {
                endTag = ';';
              }
              while (curString.substr(curStrPos + 1).charAt(0) !== endTag) {
                curStrPos++;
                if (curStrPos + 1 > curString.length) {
                  break;
                }
              }
              curStrPos++;
            }
            return curStrPos;
          }

          /**
           * Backspace HTML tags and HTML Characters
           * @param {string} curString Current string
           * @param {number} curStrPos Position in current string
           * @param {Typed} self instance of Typed
           * @returns {number} a new string position
           * @private
           */
        }, {
          key: 'backSpaceHtmlChars',
          value: function backSpaceHtmlChars(curString, curStrPos, self) {
            if (self.contentType !== 'html') return curStrPos;
            var curChar = curString.substr(curStrPos).charAt(0);
            if (curChar === '>' || curChar === ';') {
              var endTag = '';
              if (curChar === '>') {
                endTag = '<';
              } else {
                endTag = '&';
              }
              while (curString.substr(curStrPos - 1).charAt(0) !== endTag) {
                curStrPos--;
                if (curStrPos < 0) {
                  break;
                }
              }
              curStrPos--;
            }
            return curStrPos;
          }
        }]);

        return HTMLParser;
      })();

      exports['default'] = HTMLParser;
      var htmlParser = new HTMLParser();
      exports.htmlParser = htmlParser;

      /***/ })
    /******/ ])
});
;
// source --> https://www.tomex.cz/wp-content/plugins/colibri-page-builder-pro/extend-builder/assets/static/fancybox/jquery.fancybox.min.js?ver=1.0.247-pro 
// ==================================================
// fancyBox v3.5.6
//
// Licensed GPLv3 for open source use
// or fancyBox Commercial License for commercial use
//
// http://fancyapps.com/fancybox/
// Copyright 2018 fancyApps
//
// ==================================================
!function(t,e,n,o){"use strict";function i(t,e){var o,i,a,s=[],r=0;t&&t.isDefaultPrevented()||(t.preventDefault(),e=e||{},t&&t.data&&(e=h(t.data.options,e)),o=e.$target||n(t.currentTarget).trigger("blur"),(a=n.fancybox.getInstance())&&a.$trigger&&a.$trigger.is(o)||(e.selector?s=n(e.selector):(i=o.attr("data-fancybox")||"",i?(s=t.data?t.data.items:[],s=s.length?s.filter('[data-fancybox="'+i+'"]'):n('[data-fancybox="'+i+'"]')):s=[o]),r=n(s).index(o),r<0&&(r=0),a=n.fancybox.open(s,e,r),a.$trigger=o))}if(t.console=t.console||{info:function(t){}},n){if(n.fn.fancybox)return void console.info("fancyBox already initialized");var a={closeExisting:!1,loop:!1,gutter:50,keyboard:!0,preventCaptionOverlap:!0,arrows:!0,infobar:!0,smallBtn:"auto",toolbar:"auto",buttons:["zoom","slideShow","thumbs","close"],idleTime:3,protect:!1,modal:!1,image:{preload:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""></iframe>',preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:'<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}"><source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!</video>',format:"",autoStart:!0},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption"><div class="fancybox-caption__body"></div></div></div></div>',spinnerTpl:'<div class="fancybox-loading"></div>',errorTpl:'<div class="fancybox-error"><p>{{ERROR}}</p></div>',btnTpl:{download:'<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg></a>',zoom:'<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg></button>',close:'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg></button>',arrowLeft:'<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div></button>',arrowRight:'<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div></button>',smallBtn:'<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg></button>'},parentEl:"body",hideScrollbar:!0,autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:3e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{preventCaptionOverlap:!1,idleTime:!1,clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded. <br/> Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schlie&szlig;en",NEXT:"Weiter",PREV:"Zur&uuml;ck",ERROR:"Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es sp&auml;ter nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Vergr&ouml;&szlig;ern"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},d=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),u=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),f=function(){var t,n=e.createElement("fakeelement"),o={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in o)if(void 0!==n.style[t])return o[t];return"transitionend"}(),p=function(t){return t&&t.length&&t[0].offsetHeight},h=function(t,e){var o=n.extend(!0,{},t,e);return n.each(e,function(t,e){n.isArray(e)&&(o[t]=e)}),o},g=function(t){var o,i;return!(!t||t.ownerDocument!==e)&&(n(".fancybox-container").css("pointer-events","none"),o={x:t.getBoundingClientRect().left+t.offsetWidth/2,y:t.getBoundingClientRect().top+t.offsetHeight/2},i=e.elementFromPoint(o.x,o.y)===t,n(".fancybox-container").css("pointer-events",""),i)},b=function(t,e,o){var i=this;i.opts=h({index:o},n.fancybox.defaults),n.isPlainObject(e)&&(i.opts=h(i.opts,e)),n.fancybox.isMobile&&(i.opts=h(i.opts,i.opts.mobile)),i.id=i.opts.id||++c,i.currIndex=parseInt(i.opts.index,10)||0,i.prevIndex=null,i.prevPos=null,i.currPos=0,i.firstRun=!0,i.group=[],i.slides={},i.addContent(t),i.group.length&&i.init()};n.extend(b.prototype,{init:function(){var o,i,a=this,s=a.group[a.currIndex],r=s.opts;r.closeExisting&&n.fancybox.close(!0),n("body").addClass("fancybox-active"),!n.fancybox.getInstance()&&!1!==r.hideScrollbar&&!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:'+(t.innerWidth-e.documentElement.clientWidth)+"px;}</style>"),n("body").addClass("compensate-for-scrollbar")),i="",n.each(r.buttons,function(t,e){i+=r.btnTpl[e]||""}),o=n(a.translate(a,r.baseTpl.replace("{{buttons}}",i).replace("{{arrows}}",r.btnTpl.arrowLeft+r.btnTpl.arrowRight))).attr("id","fancybox-container-"+a.id).addClass(r.baseClass).data("FancyBox",a).appendTo(r.parentEl),a.$refs={container:o},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){a.$refs[t]=o.find(".fancybox-"+t)}),a.trigger("onInit"),a.activate(),a.jumpTo(a.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang]||t.opts.i18n.en;return e.replace(/\{\{(\w+)\}\}/g,function(t,e){return void 0===n[e]?t:n[e]})},addContent:function(t){var e,o=this,i=n.makeArray(t);n.each(i,function(t,e){var i,a,s,r,c,l={},d={};n.isPlainObject(e)?(l=e,d=e.opts||e):"object"===n.type(e)&&n(e).length?(i=n(e),d=i.data()||{},d=n.extend(!0,{},d,d.options),d.$orig=i,l.src=o.opts.src||d.src||i.attr("href"),l.type||l.src||(l.type="inline",l.src=e)):l={type:"html",src:e+""},l.opts=n.extend(!0,{},o.opts,d),n.isArray(d.buttons)&&(l.opts.buttons=d.buttons),n.fancybox.isMobile&&l.opts.mobile&&(l.opts=h(l.opts,l.opts.mobile)),a=l.type||l.opts.type,r=l.src||"",!a&&r&&((s=r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(a="video",l.opts.video.format||(l.opts.video.format="video/"+("ogv"===s[1]?"ogg":s[1]))):r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?a="image":r.match(/\.(pdf)((\?|#).*)?$/i)?(a="iframe",l=n.extend(!0,l,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===r.charAt(0)&&(a="inline")),a?l.type=a:o.trigger("objectNeedsType",l),l.contentType||(l.contentType=n.inArray(l.type,["html","inline","ajax"])>-1?"html":l.type),l.index=o.group.length,"auto"==l.opts.smallBtn&&(l.opts.smallBtn=n.inArray(l.type,["html","inline","ajax"])>-1),"auto"===l.opts.toolbar&&(l.opts.toolbar=!l.opts.smallBtn),l.$thumb=l.opts.$thumb||null,l.opts.$trigger&&l.index===o.opts.index&&(l.$thumb=l.opts.$trigger.find("img:first"),l.$thumb.length&&(l.opts.$orig=l.opts.$trigger)),l.$thumb&&l.$thumb.length||!l.opts.$orig||(l.$thumb=l.opts.$orig.find("img:first")),l.$thumb&&!l.$thumb.length&&(l.$thumb=null),l.thumb=l.opts.thumb||(l.$thumb?l.$thumb[0].src:null),"function"===n.type(l.opts.caption)&&(l.opts.caption=l.opts.caption.apply(e,[o,l])),"function"===n.type(o.opts.caption)&&(l.opts.caption=o.opts.caption.apply(e,[o,l])),l.opts.caption instanceof n||(l.opts.caption=void 0===l.opts.caption?"":l.opts.caption+""),"ajax"===l.type&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{trapFocus:!0,infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),o.group.push(l)}),Object.keys(o.slides).length&&(o.updateControls(),(e=o.Thumbs)&&e.isActive&&(e.create(),e.focus()))},addEvents:function(){var e=this;e.removeEvents(),e.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),e.close(t)}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),e.previous()}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),e.next()}).on("click.fb","[data-fancybox-zoom]",function(t){e[e.isScaledDown()?"scaleToActual":"scaleToFit"]()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?(e.requestId&&u(e.requestId),e.requestId=d(function(){e.update(t)})):(e.current&&"iframe"===e.current.type&&e.$refs.stage.hide(),setTimeout(function(){e.$refs.stage.show(),e.update(t)},n.fancybox.isMobile?600:250))}),r.on("keydown.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null,i=o.current,a=t.keyCode||t.which;if(9==a)return void(i.opts.trapFocus&&e.focus(t));if(!(!i.opts.keyboard||t.ctrlKey||t.altKey||t.shiftKey||n(t.target).is("input,textarea,video,audio")))return 8===a||27===a?(t.preventDefault(),void e.close(t)):37===a||38===a?(t.preventDefault(),void e.previous()):39===a||40===a?(t.preventDefault(),void e.next()):void e.trigger("afterKeydown",t,a)}),e.group[e.currIndex].opts.idleTime&&(e.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){e.idleSecondsCounter=0,e.isIdle&&e.showControls(),e.isIdle=!1}),e.idleInterval=t.setInterval(function(){++e.idleSecondsCounter>=e.group[e.currIndex].opts.idleTime&&!e.isDragging&&(e.isIdle=!0,e.idleSecondsCounter=0,e.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e){var o,i,a,s,r,c,l,d,u,f=this,h=f.group.length;if(!(f.isDragging||f.isClosing||f.isAnimating&&f.firstRun)){if(t=parseInt(t,10),!(a=f.current?f.current.opts.loop:f.opts.loop)&&(t<0||t>=h))return!1;if(o=f.firstRun=!Object.keys(f.slides).length,r=f.current,f.prevIndex=f.currIndex,f.prevPos=f.currPos,s=f.createSlide(t),h>1&&((a||s.index<h-1)&&f.createSlide(t+1),(a||s.index>0)&&f.createSlide(t-1)),f.current=s,f.currIndex=s.index,f.currPos=s.pos,f.trigger("beforeShow",o),f.updateControls(),s.forcedDuration=void 0,n.isNumeric(e)?s.forcedDuration=e:e=s.opts[o?"animationDuration":"transitionDuration"],e=parseInt(e,10),i=f.isMoved(s),s.$slide.addClass("fancybox-slide--current"),o)return s.opts.animationEffect&&e&&f.$refs.container.css("transition-duration",e+"ms"),f.$refs.container.addClass("fancybox-is-open").trigger("focus"),f.loadSlide(s),void f.preload("image");c=n.fancybox.getTranslate(r.$slide),l=n.fancybox.getTranslate(f.$refs.stage),n.each(f.slides,function(t,e){n.fancybox.stop(e.$slide,!0)}),r.pos!==s.pos&&(r.isComplete=!1),r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),i?(u=c.left-(r.pos*c.width+r.pos*r.opts.gutter),n.each(f.slides,function(t,o){o.$slide.removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")});var i=o.pos*c.width+o.pos*o.opts.gutter;n.fancybox.setTranslate(o.$slide,{top:0,left:i-l.left+u}),o.pos!==s.pos&&o.$slide.addClass("fancybox-slide--"+(o.pos>s.pos?"next":"previous")),p(o.$slide),n.fancybox.animate(o.$slide,{top:0,left:(o.pos-s.pos)*c.width+(o.pos-s.pos)*o.opts.gutter},e,function(){o.$slide.css({transform:"",opacity:""}).removeClass("fancybox-slide--next fancybox-slide--previous"),o.pos===f.currPos&&f.complete()})})):e&&s.opts.transitionEffect&&(d="fancybox-animated fancybox-fx-"+s.opts.transitionEffect,r.$slide.addClass("fancybox-slide--"+(r.pos>s.pos?"next":"previous")),n.fancybox.animate(r.$slide,d,e,function(){r.$slide.removeClass(d).removeClass("fancybox-slide--next fancybox-slide--previous")},!1)),s.isLoaded?f.revealContent(s):f.loadSlide(s),f.preload("image")}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('<div class="fancybox-slide"></div>').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,o){var i,a,s,r,c,l=this,d=l.current,u=d.$content,f=n.fancybox.getTranslate(d.$slide).width,p=n.fancybox.getTranslate(d.$slide).height,h=d.width,g=d.height;l.isAnimating||l.isMoved()||!u||"image"!=d.type||!d.isLoaded||d.hasError||(l.isAnimating=!0,n.fancybox.stop(u),t=void 0===t?.5*f:t,e=void 0===e?.5*p:e,i=n.fancybox.getTranslate(u),i.top-=n.fancybox.getTranslate(d.$slide).top,i.left-=n.fancybox.getTranslate(d.$slide).left,r=h/i.width,c=g/i.height,a=.5*f-.5*h,s=.5*p-.5*g,h>f&&(a=i.left*r-(t*r-t),a>0&&(a=0),a<f-h&&(a=f-h)),g>p&&(s=i.top*c-(e*c-e),s>0&&(s=0),s<p-g&&(s=p-g)),l.updateCursor(h,g),n.fancybox.animate(u,{top:s,left:a,scaleX:r,scaleY:c},o||366,function(){l.isAnimating=!1}),l.SlideShow&&l.SlideShow.isActive&&l.SlideShow.stop())},scaleToFit:function(t){var e,o=this,i=o.current,a=i.$content;o.isAnimating||o.isMoved()||!a||"image"!=i.type||!i.isLoaded||i.hasError||(o.isAnimating=!0,n.fancybox.stop(a),e=o.getFitPos(i),o.updateCursor(e.width,e.height),n.fancybox.animate(a,{top:e.top,left:e.left,scaleX:e.width/a.width(),scaleY:e.height/a.height()},t||366,function(){o.isAnimating=!1}))},getFitPos:function(t){var e,o,i,a,s=this,r=t.$content,c=t.$slide,l=t.width||t.opts.width,d=t.height||t.opts.height,u={};return!!(t.isLoaded&&r&&r.length)&&(e=n.fancybox.getTranslate(s.$refs.stage).width,o=n.fancybox.getTranslate(s.$refs.stage).height,e-=parseFloat(c.css("paddingLeft"))+parseFloat(c.css("paddingRight"))+parseFloat(r.css("marginLeft"))+parseFloat(r.css("marginRight")),o-=parseFloat(c.css("paddingTop"))+parseFloat(c.css("paddingBottom"))+parseFloat(r.css("marginTop"))+parseFloat(r.css("marginBottom")),l&&d||(l=e,d=o),i=Math.min(1,e/l,o/d),l*=i,d*=i,l>e-.5&&(l=e),d>o-.5&&(d=o),"image"===t.type?(u.top=Math.floor(.5*(o-d))+parseFloat(c.css("paddingTop")),u.left=Math.floor(.5*(e-l))+parseFloat(c.css("paddingLeft"))):"video"===t.contentType&&(a=t.opts.width&&t.opts.height?l/d:t.opts.ratio||16/9,d>l/a?d=l/a:l>d*a&&(l=d*a)),u.width=l,u.height=d,u)},update:function(t){var e=this;n.each(e.slides,function(n,o){e.updateSlide(o,t)})},updateSlide:function(t,e){var o=this,i=t&&t.$content,a=t.width||t.opts.width,s=t.height||t.opts.height,r=t.$slide;o.adjustCaption(t),i&&(a||s||"video"===t.contentType)&&!t.hasError&&(n.fancybox.stop(i),n.fancybox.setTranslate(i,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),o.adjustLayout(t),r.length&&(r.trigger("refresh"),t.pos===o.currPos&&o.$refs.toolbar.add(o.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",r.get(0).scrollHeight>r.get(0).clientHeight)),o.trigger("onUpdate",t,e)},centerSlide:function(t){var e=this,o=e.current,i=o.$slide;!e.isClosing&&o&&(i.siblings().css({transform:"",opacity:""}),i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),n.fancybox.animate(i,{top:0,left:0,opacity:1},void 0===t?0:t,function(){i.css({transform:"",opacity:""}),o.isComplete||e.complete()},!1))},isMoved:function(t){var e,o,i=t||this.current;return!!i&&(o=n.fancybox.getTranslate(this.$refs.stage),e=n.fancybox.getTranslate(i.$slide),!i.$slide.hasClass("fancybox-animated")&&(Math.abs(e.top-o.top)>.5||Math.abs(e.left-o.left)>.5))},updateCursor:function(t,e){var o,i,a=this,s=a.current,r=a.$refs.container;s&&!a.isClosing&&a.Guestures&&(r.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"),o=a.canPan(t,e),i=!!o||a.isZoomable(),r.toggleClass("fancybox-is-zoomable",i),n("[data-fancybox-zoom]").prop("disabled",!i),o?r.addClass("fancybox-can-pan"):i&&("zoom"===s.opts.clickContent||n.isFunction(s.opts.clickContent)&&"zoom"==s.opts.clickContent(s))?r.addClass("fancybox-can-zoomIn"):s.opts.touch&&(s.opts.touch.vertical||a.group.length>1)&&"video"!==s.contentType&&r.addClass("fancybox-can-swipe"))},isZoomable:function(){var t,e=this,n=e.current;if(n&&!e.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if((t=e.getFitPos(n))&&(n.width>t.width||n.height>t.height))return!0}return!1},isScaledDown:function(t,e){var o=this,i=!1,a=o.current,s=a.$content;return void 0!==t&&void 0!==e?i=t<a.width&&e<a.height:s&&(i=n.fancybox.getTranslate(s),i=i.width<a.width&&i.height<a.height),i},canPan:function(t,e){var o=this,i=o.current,a=null,s=!1;return"image"===i.type&&(i.isComplete||t&&e)&&!i.hasError&&(s=o.getFitPos(i),void 0!==t&&void 0!==e?a={width:t,height:e}:i.isComplete&&(a=n.fancybox.getTranslate(i.$content)),a&&s&&(s=Math.abs(a.width-s.width)>1.5||Math.abs(a.height-s.height)>1.5)),s},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){if(t.isLoading=!0,!1===a.trigger("beforeLoad",t))return t.isLoading=!1,!1;switch(e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"video":a.setContent(t,t.opts.video.tpl.replace(/\{\{src\}\}/gi,t.src).replace("{{format}}",t.opts.videoFormat||t.opts.video.format||"").replace("{{poster}}",t.thumb||""));break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;default:a.setError(t)}return!0}},setImage:function(t){var o,i=this;setTimeout(function(){var e=t.$image;i.isClosing||!t.isLoading||e&&e.length&&e[0].complete||t.hasError||i.showLoading(t)},50),i.checkSrcset(t),t.$content=n('<div class="fancybox-content"></div>').addClass("fancybox-is-hidden").appendTo(t.$slide.addClass("fancybox-slide--image")),!1!==t.opts.preload&&t.opts.width&&t.opts.height&&t.thumb&&(t.width=t.opts.width,t.height=t.opts.height,o=e.createElement("img"),o.onerror=function(){n(this).remove(),t.$ghost=null},o.onload=function(){i.afterLoad(t)},t.$ghost=n(o).addClass("fancybox-image").appendTo(t.$content).attr("src",t.thumb)),i.setBigImage(t)},checkSrcset:function(e){var n,o,i,a,s=e.opts.srcset||e.opts.image.srcset;if(s){i=t.devicePixelRatio||1,a=t.innerWidth*i,o=s.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);if(0===n)return e.url=t;o&&(e.value=o,e.postfix=t[t.length-1])}),e}),o.sort(function(t,e){return t.value-e.value});for(var r=0;r<o.length;r++){var c=o[r];if("w"===c.postfix&&c.value>=a||"x"===c.postfix&&c.value>=i){n=c;break}}!n&&o.length&&(n=o[o.length-1]),n&&(e.src=n.url,e.width&&e.height&&"w"==n.postfix&&(e.height=e.width/e.height*n.value,e.width=n.value),e.opts.srcset=s)}},setBigImage:function(t){var o=this,i=e.createElement("img"),a=n(i);t.$image=a.one("error",function(){o.setError(t)}).one("load",function(){var e;t.$ghost||(o.resolveImageSlideSize(t,this.naturalWidth,this.naturalHeight),o.afterLoad(t)),o.isClosing||(t.opts.srcset&&(e=t.opts.sizes,e&&"auto"!==e||(e=(t.width/t.height>1&&s.width()/s.height()>1?"100":Math.round(t.width/t.height*100))+"vw"),a.attr("sizes",e).attr("srcset",t.opts.srcset)),t.$ghost&&setTimeout(function(){t.$ghost&&!o.isClosing&&t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))),o.hideLoading(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(i.complete||"complete"==i.readyState)&&a.naturalWidth&&a.naturalHeight?a.trigger("load"):i.error&&a.trigger("error")},resolveImageSlideSize:function(t,e,n){var o=parseInt(t.opts.width,10),i=parseInt(t.opts.height,10);t.width=e,t.height=n,o>0&&(t.width=o,t.height=Math.floor(o*n/e)),i>0&&(t.width=Math.floor(i*e/n),t.height=i)},setIframe:function(t){var e,o=this,i=t.opts.iframe,a=t.$slide;t.$content=n('<div class="fancybox-content'+(i.preload?" fancybox-is-hidden":"")+'"></div>').css(i.css).appendTo(a),a.addClass("fancybox-slide--"+t.contentType),t.$iframe=e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(i.attr).appendTo(t.$content),i.preload?(o.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),o.afterLoad(t)}),a.on("refresh.fb",function(){var n,o,s=t.$content,r=i.css.width,c=i.css.height;if(1===e[0].isReady){try{n=e.contents(),o=n.find("body")}catch(t){}o&&o.length&&o.children().length&&(a.css("overflow","visible"),s.css({width:"100%","max-width":"100%",height:"9999px"}),void 0===r&&(r=Math.ceil(Math.max(o[0].clientWidth,o.outerWidth(!0)))),s.css("width",r||"").css("max-width",""),void 0===c&&(c=Math.ceil(Math.max(o[0].clientHeight,o.outerHeight(!0)))),s.css("height",c||""),a.css("overflow","auto")),s.removeClass("fancybox-is-hidden")}})):o.afterLoad(t),e.attr("src",t.src),a.one("onReset",function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(t){}n(this).off("refresh.fb").empty(),t.isLoaded=!1,t.isRevealed=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$content&&n.fancybox.stop(t.$content),t.$slide.empty(),l(e)&&e.parent().length?((e.hasClass("fancybox-content")||e.parent().hasClass("fancybox-content"))&&e.parents(".fancybox-slide").trigger("onReset"),t.$placeholder=n("<div>").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("<div>").append(n.trim(e)).contents()),t.opts.filter&&(e=n("<div>").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.removeClass("fancybox-content").hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1,t.isRevealed=!1)}),n(e).appendTo(t.$slide),n(e).is("video,audio")&&(n(e).addClass("fancybox-video"),n(e).wrap("<div></div>"),t.contentType="video",t.opts.width=t.opts.width||n(e).attr("width"),t.opts.height=t.opts.height||n(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(),t.$content.siblings().hide(),t.$content.length||(t.$content=t.$slide.wrapInner("<div></div>").children().first()),t.$content.addClass("fancybox-content"),t.$slide.addClass("fancybox-slide--"+t.contentType),o.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("fancybox-slide--"+t.contentType).addClass("fancybox-slide--error"),t.contentType="html",this.setContent(t,this.translate(t,t.opts.errorTpl)),t.pos===this.currPos&&(this.isAnimating=!1)},showLoading:function(t){var e=this;(t=t||e.current)&&!t.$spinner&&(t.$spinner=n(e.translate(e,e.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"))},hideLoading:function(t){var e=this;(t=t||e.current)&&t.$spinner&&(t.$spinner.stop().remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),!t.opts.smallBtn||t.$smallBtn&&t.$smallBtn.length||(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)),e.adjustCaption(t),e.adjustLayout(t),t.pos===e.currPos&&e.updateCursor(),e.revealContent(t))},adjustCaption:function(t){var e,n=this,o=t||n.current,i=o.opts.caption,a=o.opts.preventCaptionOverlap,s=n.$refs.caption,r=!1;s.toggleClass("fancybox-caption--separate",a),a&&i&&i.length&&(o.pos!==n.currPos?(e=s.clone().appendTo(s.parent()),e.children().eq(0).empty().html(i),r=e.outerHeight(!0),e.empty().remove()):n.$caption&&(r=n.$caption.outerHeight(!0)),o.$slide.css("padding-bottom",r||""))},adjustLayout:function(t){var e,n,o,i,a=this,s=t||a.current;s.isLoaded&&!0!==s.opts.disableLayoutFix&&(s.$content.css("margin-bottom",""),s.$content.outerHeight()>s.$slide.height()+.5&&(o=s.$slide[0].style["padding-bottom"],i=s.$slide.css("padding-bottom"),parseFloat(i)>0&&(e=s.$slide[0].scrollHeight,s.$slide.css("padding-bottom",0),Math.abs(e-s.$slide[0].scrollHeight)<1&&(n=i),s.$slide.css("padding-bottom",o))),s.$content.css("margin-bottom",n))},revealContent:function(t){var e,o,i,a,s=this,r=t.$slide,c=!1,l=!1,d=s.isMoved(t),u=t.isRevealed;return t.isRevealed=!0,e=t.opts[s.firstRun?"animationEffect":"transitionEffect"],i=t.opts[s.firstRun?"animationDuration":"transitionDuration"],i=parseInt(void 0===t.forcedDuration?i:t.forcedDuration,10),!d&&t.pos===s.currPos&&i||(e=!1),"zoom"===e&&(t.pos===s.currPos&&i&&"image"===t.type&&!t.hasError&&(l=s.getThumbPos(t))?c=s.getFitPos(t):e="fade"),"zoom"===e?(s.isAnimating=!0,c.scaleX=c.width/l.width,c.scaleY=c.height/l.height,a=t.opts.zoomOpacity,"auto"==a&&(a=Math.abs(t.width/t.height-l.width/l.height)>.1),a&&(l.opacity=.1,c.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),l),p(t.$content),void n.fancybox.animate(t.$content,c,i,function(){s.isAnimating=!1,s.complete()})):(s.updateSlide(t),e?(n.fancybox.stop(r),o="fancybox-slide--"+(t.pos>=s.prevPos?"next":"previous")+" fancybox-animated fancybox-fx-"+e,r.addClass(o).removeClass("fancybox-slide--current"),t.$content.removeClass("fancybox-is-hidden"),p(r),"image"!==t.type&&t.$content.hide().show(0),void n.fancybox.animate(r,"fancybox-slide--current",i,function(){r.removeClass(o).css({transform:"",opacity:""}),t.pos===s.currPos&&s.complete()},!0)):(t.$content.removeClass("fancybox-is-hidden"),u||!d||"image"!==t.type||t.hasError||t.$content.hide().fadeIn("fast"),void(t.pos===s.currPos&&s.complete())))},getThumbPos:function(t){var e,o,i,a,s,r=!1,c=t.$thumb;return!(!c||!g(c[0]))&&(e=n.fancybox.getTranslate(c),o=parseFloat(c.css("border-top-width")||0),i=parseFloat(c.css("border-right-width")||0),a=parseFloat(c.css("border-bottom-width")||0),s=parseFloat(c.css("border-left-width")||0),r={top:e.top+o,left:e.left+s,width:e.width-i-s,height:e.height-o-a,scaleX:1,scaleY:1},e.width>0&&e.height>0&&r)},complete:function(){var t,e=this,o=e.current,i={};!e.isMoved()&&o.isLoaded&&(o.isComplete||(o.isComplete=!0,o.$slide.siblings().trigger("onReset"),e.preload("inline"),p(o.$slide),o.$slide.addClass("fancybox-slide--complete"),n.each(e.slides,function(t,o){o.pos>=e.currPos-1&&o.pos<=e.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),e.slides=i),e.isAnimating=!1,e.updateCursor(),e.trigger("afterShow"),o.opts.video.autoStart&&o.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",function(){this.webkitExitFullscreen&&this.webkitExitFullscreen(),e.next()}),o.opts.autoFocus&&"html"===o.contentType&&(t=o.$content.find("input[autofocus]:enabled:visible:first"),t.length?t.trigger("focus"):e.focus(null,!0)),o.$slide.scrollTop(0).scrollLeft(0))},preload:function(t){var e,n,o=this;o.group.length<2||(n=o.slides[o.currPos+1],e=o.slides[o.currPos-1],e&&e.type===t&&o.loadSlide(e),n&&n.type===t&&o.loadSlide(n))},focus:function(t,o){var i,a,s=this,r=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"])'].join(",");s.isClosing||(i=!t&&s.current&&s.current.isComplete?s.current.$slide.find("*:visible"+(o?":not(.fancybox-close-small)":"")):s.$refs.container.find("*:visible"),i=i.filter(r).filter(function(){return"hidden"!==n(this).css("visibility")&&!n(this).hasClass("disabled")}),i.length?(a=i.index(e.activeElement),t&&t.shiftKey?(a<0||0==a)&&(t.preventDefault(),i.eq(i.length-1).trigger("focus")):(a<0||a==i.length-1)&&(t&&t.preventDefault(),i.eq(0).trigger("focus"))):s.$refs.container.trigger("focus"))},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l,u=this,f=u.current,h=function(){u.cleanUp(t)};return!u.isClosing&&(u.isClosing=!0,!1===u.trigger("beforeClose",t)?(u.isClosing=!1,d(function(){u.update()}),!1):(u.removeEvents(),a=f.$content,o=f.opts.animationEffect,i=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),!0!==t?n.fancybox.stop(f.$slide):o=!1,f.$slide.siblings().trigger("onReset").remove(),i&&u.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration",i+"ms"),u.hideLoading(f),u.hideControls(!0),u.updateCursor(),"zoom"!==o||a&&i&&"image"===f.type&&!u.isMoved()&&!f.hasError&&(l=u.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),s=n.fancybox.getTranslate(a),c={top:s.top,left:s.left,scaleX:s.width/l.width,scaleY:s.height/l.height,width:l.width,height:l.height},r=f.opts.zoomOpacity,"auto"==r&&(r=Math.abs(f.width/f.height-l.width/l.height)>.1),r&&(l.opacity=0),
        n.fancybox.setTranslate(a,c),p(a),n.fancybox.animate(a,l,i,h),!0):(o&&i?n.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),"fancybox-animated fancybox-fx-"+o,i,h):!0===t?setTimeout(h,i):h(),!0)))},cleanUp:function(e){var o,i,a,s=this,r=s.current.opts.$orig;s.current.$slide.trigger("onReset"),s.$refs.container.empty().remove(),s.trigger("afterClose",e),s.current.opts.backFocus&&(r&&r.length&&r.is(":visible")||(r=s.$trigger),r&&r.length&&(i=t.scrollX,a=t.scrollY,r.trigger("focus"),n("html, body").scrollTop(a).scrollLeft(i))),s.current=null,o=n.fancybox.getInstance(),o?o.activate():(n("body").removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;if(s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),!1===o)return o;"afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",i):r.trigger(t+".fb",i)},updateControls:function(){var t=this,o=t.current,i=o.index,a=t.$refs.container,s=t.$refs.caption,r=o.opts.caption;o.$slide.trigger("refresh"),r&&r.length?(t.$caption=s,s.children().eq(0).html(r)):t.$caption=null,t.hasHiddenControls||t.isIdle||t.showControls(),a.find("[data-fancybox-count]").html(t.group.length),a.find("[data-fancybox-index]").html(i+1),a.find("[data-fancybox-prev]").prop("disabled",!o.opts.loop&&i<=0),a.find("[data-fancybox-next]").prop("disabled",!o.opts.loop&&i>=t.group.length-1),"image"===o.type?a.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",o.opts.image.src||o.src).show():o.opts.toolbar&&a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),n(e.activeElement).is(":hidden,[disabled]")&&t.$refs.container.trigger("focus")},hideControls:function(t){var e=this,n=["infobar","toolbar","nav"];!t&&e.current.opts.preventCaptionOverlap||n.push("caption"),this.$refs.container.removeClass(n.map(function(t){return"fancybox-show-"+t}).join(" ")),this.hasHiddenControls=!0},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.hasHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-caption",!!t.$caption).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal)},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.5.6",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof b&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new b(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),!0===t&&this.close(t))},destroy:function(){this.close(!0),r.add("body").off("click.fb-start","**")},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n)&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;return!(!t||!t.length)&&(e=t[0].getBoundingClientRect(),{top:e.top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))})},setTranslate:function(t,e){var n="",o={};if(t&&e)return void 0===e.left&&void 0===e.top||(n=(void 0===e.left?t.position().left:e.left)+"px, "+(void 0===e.top?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),void 0!==e.scaleX&&void 0!==e.scaleY?n+=" scale("+e.scaleX+", "+e.scaleY+")":void 0!==e.scaleX&&(n+=" scaleX("+e.scaleX+")"),n.length&&(o.transform=n),void 0!==e.opacity&&(o.opacity=e.opacity),void 0!==e.width&&(o.width=e.width),void 0!==e.height&&(o.height=e.height),t.css(o)},animate:function(t,e,o,i,a){var s,r=this;n.isFunction(o)&&(i=o,o=null),r.stop(t),s=r.getTranslate(t),t.on(f,function(c){(!c||!c.originalEvent||t.is(c.originalEvent.target)&&"z-index"!=c.originalEvent.propertyName)&&(r.stop(t),n.isNumeric(o)&&t.css("transition-duration",""),n.isPlainObject(e)?void 0!==e.scaleX&&void 0!==e.scaleY&&r.setTranslate(t,{top:e.top,left:e.left,width:s.width*e.scaleX,height:s.height*e.scaleY,scaleX:1,scaleY:1}):!0!==a&&t.removeClass(e),n.isFunction(i)&&i(c))}),n.isNumeric(o)&&t.css("transition-duration",o+"ms"),n.isPlainObject(e)?(void 0!==e.scaleX&&void 0!==e.scaleY&&(delete e.width,delete e.height,t.parent().hasClass("fancybox-slide--image")&&t.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(t,e)):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger(f)},o+33))},stop:function(t,e){t&&t.length&&(clearTimeout(t.data("timer")),e&&t.trigger(f),t.off(f).css("transition-duration",""),t.parent().removeClass("fancybox-is-scaling"))}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i),r.on("click.fb-start","[data-fancybox-trigger]",function(t){n('[data-fancybox="'+n(this).attr("data-fancybox-trigger")+'"]').eq(n(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:n(this)})}),function(){var t=null;r.on("mousedown mouseup focus blur",".fancybox-button",function(e){switch(e.type){case"mousedown":t=n(this);break;case"mouseup":t=null;break;case"focusin":n(".fancybox-button").removeClass("fancybox-focus"),n(this).is(t)||n(this).is("[disabled]")||n(this).addClass("fancybox-focus");break;case"focusout":n(".fancybox-button").removeClass("fancybox-focus")}})}()}}(window,document,jQuery),function(t){"use strict";var e={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"https://www.youtube-nocookie.com/embed/$4",thumb:"https://img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12]+"").replace(/\?/,"&")+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}},n=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e};t(document).on("objectNeedsType.fb",function(o,i,a){var s,r,c,l,d,u,f,p=a.src||"",h=!1;s=t.extend(!0,{},e,a.opts.media),t.each(s,function(e,o){if(c=p.match(o.matcher)){if(h=o.type,f=e,u={},o.paramPlace&&c[o.paramPlace]){d=c[o.paramPlace],"?"==d[0]&&(d=d.substring(1)),d=d.split("&");for(var i=0;i<d.length;++i){var s=d[i].split("=",2);2==s.length&&(u[s[0]]=decodeURIComponent(s[1].replace(/\+/g," ")))}}return l=t.extend(!0,{},o.params,a.opts[e],u),p="function"===t.type(o.url)?o.url.call(this,c,l,a):n(o.url,c,l),r="function"===t.type(o.thumb)?o.thumb.call(this,c,l,a):n(o.thumb,c),"youtube"===e?p=p.replace(/&t=((\d+)m)?(\d+)s/,function(t,e,n,o){return"&start="+((n?60*parseInt(n,10):0)+parseInt(o,10))}):"vimeo"===e&&(p=p.replace("&%23","#")),!1}}),h?(a.opts.thumb||a.opts.$thumb&&a.opts.$thumb.length||(a.opts.thumb=r),"iframe"===h&&(a.opts=t.extend(!0,a.opts,{iframe:{preload:!1,attr:{scrolling:"no"}}})),t.extend(a,{type:h,src:p,origSrc:a.src,contentSource:f,contentType:"image"===h?"image":"gmap_place"==f||"gmap_search"==f?"map":"video"})):p&&(a.type=a.opts.defaultType)});var o={youtube:{src:"https://www.youtube.com/iframe_api",class:"YT",loading:!1,loaded:!1},vimeo:{src:"https://player.vimeo.com/api/player.js",class:"Vimeo",loading:!1,loaded:!1},load:function(t){var e,n=this;if(this[t].loaded)return void setTimeout(function(){n.done(t)});this[t].loading||(this[t].loading=!0,e=document.createElement("script"),e.type="text/javascript",e.src=this[t].src,"youtube"===t?window.onYouTubeIframeAPIReady=function(){n[t].loaded=!0,n.done(t)}:e.onload=function(){n[t].loaded=!0,n.done(t)},document.body.appendChild(e))},done:function(e){var n,o,i;"youtube"===e&&delete window.onYouTubeIframeAPIReady,(n=t.fancybox.getInstance())&&(o=n.current.$content.find("iframe"),"youtube"===e&&void 0!==YT&&YT?i=new YT.Player(o.attr("id"),{events:{onStateChange:function(t){0==t.data&&n.next()}}}):"vimeo"===e&&void 0!==Vimeo&&Vimeo&&(i=new Vimeo.Player(o),i.on("ended",function(){n.next()})))}};t(document).on({"afterShow.fb":function(t,e,n){e.group.length>1&&("youtube"===n.contentSource||"vimeo"===n.contentSource)&&o.load(n.contentSource)}})}(jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),i=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),a=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},s=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},r=function(t){if(t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe')||n.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,i=o.length;e<i;e++)if("data-fancybox-"===o[e].nodeName.substr(0,14))return!0;return!1},c=function(e){var n=t.getComputedStyle(e)["overflow-y"],o=t.getComputedStyle(e)["overflow-x"],i=("scroll"===n||"auto"===n)&&e.scrollHeight>e.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},d=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};d.prototype.destroy=function(){var t=this;t.$container.off(".fb.touch"),n(e).off(".fb.touch"),t.requestId&&(i(t.requestId),t.requestId=null),t.tapped&&(clearTimeout(t.tapped),t.tapped=null)},d.prototype.ontouchstart=function(o){var i=this,c=n(o.target),d=i.instance,u=d.current,f=u.$slide,p=u.$content,h="touchstart"==o.type;if(h&&i.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&f.length&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!u||d.isAnimating||u.$slide.hasClass("fancybox-animated"))return o.stopPropagation(),void o.preventDefault();i.realPoints=i.startPoints=a(o),i.startPoints.length&&(u.touch&&o.stopPropagation(),i.startEvent=o,i.canTap=!0,i.$target=c,i.$content=p,i.opts=u.opts.touch,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.isScrolling=!1,i.canPan=d.canPan(),i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.canvasWidth=Math.round(f[0].clientWidth),i.canvasHeight=Math.round(f[0].clientHeight),i.contentLastPos=null,i.contentStartPos=n.fancybox.getTranslate(i.$content)||{top:0,left:0},i.sliderStartPos=n.fancybox.getTranslate(f),i.stagePos=n.fancybox.getTranslate(d.$refs.stage),i.sliderStartPos.top-=i.stagePos.top,i.sliderStartPos.left-=i.stagePos.left,i.contentStartPos.top-=i.stagePos.top,i.contentStartPos.left-=i.stagePos.left,n(e).off(".fb.touch").on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",i.onscroll,!0),((i.opts||i.canPan)&&(c.is(i.$stage)||i.$stage.find(c).length)||(c.is(".fancybox-image")&&o.preventDefault(),n.fancybox.isMobile&&c.parents(".fancybox-caption").length))&&(i.isScrollable=l(c)||l(c.parent()),n.fancybox.isMobile&&i.isScrollable||o.preventDefault(),(1===i.startPoints.length||u.hasError)&&(i.canPan?(n.fancybox.stop(i.$content),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-is-grabbing")),2===i.startPoints.length&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(i.canTap=!1,i.isSwiping=!1,i.isPanning=!1,i.isZooming=!0,n.fancybox.stop(i.$content),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))))}},d.prototype.onscroll=function(t){var n=this;n.isScrolling=!0,e.removeEventListener("scroll",n.onscroll,!0)},d.prototype.ontouchmove=function(t){var e=this;return void 0!==t.originalEvent.buttons&&0===t.originalEvent.buttons?void e.ontouchend(t):e.isScrolling?void(e.canTap=!1):(e.newPoints=a(t),void((e.opts||e.canPan)&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&!0===e.isSwiping||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))))},d.prototype.onSwipe=function(e){var a,s=this,r=s.instance,c=s.isSwiping,l=s.sliderStartPos.left||0;if(!0!==c)"x"==c&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?l+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?l-=Math.pow(-s.distanceX,.8):l+=s.distanceX),s.sliderLastPos={top:"x"==c?0:s.sliderStartPos.top+s.distanceY,left:l},s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter})}),s.$container.addClass("fancybox-is-sliding"))});else if(Math.abs(s.distance)>10){if(s.canTap=!1,r.group.length<2&&s.opts.vertical?s.isSwiping="y":r.isDragging||!1===s.opts.vertical||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(a=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=a>45&&a<135?"y":"x"),"y"===s.isSwiping&&n.fancybox.isMobile&&s.isScrollable)return void(s.isScrolling=!0);r.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(r.slides,function(t,e){var o,i;n.fancybox.stop(e.$slide),o=n.fancybox.getTranslate(e.$slide),i=n.fancybox.getTranslate(r.$refs.stage),e.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")}),e.pos===r.current.pos&&(s.sliderStartPos.top=o.top-i.top,s.sliderStartPos.left=o.left-i.left),n.fancybox.setTranslate(e.$slide,{top:o.top-i.top,left:o.left-i.left})}),r.SlideShow&&r.SlideShow.isActive&&r.SlideShow.stop()}},d.prototype.onPan=function(){var t=this;if(s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5))return void(t.startPoints=t.newPoints);t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&i(t.requestId),t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos)})},d.prototype.limitMovement=function(){var t,e,n,o,i,a,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,d=s.distanceY,u=s.contentStartPos,f=u.left,p=u.top,h=u.width,g=u.height;return i=h>r?f+l:f,a=p+d,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),l>0&&i>t&&(i=t-1+Math.pow(-t+f+l,.8)||0),l<0&&i<n&&(i=n+1-Math.pow(n-f-l,.8)||0),d>0&&a>e&&(a=e-1+Math.pow(-e+p+d,.8)||0),d<0&&a<o&&(a=o+1-Math.pow(o-p-d,.8)||0),{top:a,left:i}},d.prototype.limitPosition=function(t,e,n,o){var i=this,a=i.canvasWidth,s=i.canvasHeight;return n>a?(t=t>0?0:t,t=t<a-n?a-n:t):t=Math.max(0,a/2-n/2),o>s?(e=e>0?0:e,e=e<s-o?s-o:e):e=Math.max(0,s/2-o/2),{top:e,left:t}},d.prototype.onZoom=function(){var e=this,a=e.contentStartPos,r=a.width,c=a.height,l=a.left,d=a.top,u=s(e.newPoints[0],e.newPoints[1]),f=u/e.startDistanceBetweenFingers,p=Math.floor(r*f),h=Math.floor(c*f),g=(r-p)*e.percentageOfImageAtPinchPointX,b=(c-h)*e.percentageOfImageAtPinchPointY,m=(e.newPoints[0].x+e.newPoints[1].x)/2-n(t).scrollLeft(),v=(e.newPoints[0].y+e.newPoints[1].y)/2-n(t).scrollTop(),y=m-e.centerPointStartX,x=v-e.centerPointStartY,w=l+(g+y),$=d+(b+x),S={top:$,left:w,scaleX:f,scaleY:f};e.canTap=!1,e.newWidth=p,e.newHeight=h,e.contentLastPos=S,e.requestId&&i(e.requestId),e.requestId=o(function(){n.fancybox.setTranslate(e.$content,e.contentLastPos)})},d.prototype.ontouchend=function(t){var o=this,s=o.isSwiping,r=o.isPanning,c=o.isZooming,l=o.isScrolling;if(o.endPoints=a(t),o.dMs=Math.max((new Date).getTime()-o.startTime,1),o.$container.removeClass("fancybox-is-grabbing"),n(e).off(".fb.touch"),e.removeEventListener("scroll",o.onscroll,!0),o.requestId&&(i(o.requestId),o.requestId=null),o.isSwiping=!1,o.isPanning=!1,o.isZooming=!1,o.isScrolling=!1,o.instance.isDragging=!1,o.canTap)return o.onTap(t);o.speed=100,o.velocityX=o.distanceX/o.dMs*.5,o.velocityY=o.distanceY/o.dMs*.5,r?o.endPanning():c?o.endZooming():o.endSwiping(s,l)},d.prototype.endSwiping=function(t,e){var o=this,i=!1,a=o.instance.group.length,s=Math.abs(o.distanceX),r="x"==t&&a>1&&(o.dMs>130&&s>10||s>50);o.sliderLastPos=null,"y"==t&&!e&&Math.abs(o.distanceY)>50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),i=o.instance.close(!0,250)):r&&o.distanceX>0?i=o.instance.previous(300):r&&o.distanceX<0&&(i=o.instance.next(300)),!1!==i||"x"!=t&&"y"!=t||o.instance.centerSlide(200),o.$container.removeClass("fancybox-is-sliding")},d.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(!1===i.opts.momentum||i.dMs>350?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+500*i.velocityX,e=i.contentLastPos.top+500*i.velocityY),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,366))},d.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),r<a.canvasWidth&&c<a.canvasHeight?a.instance.scaleToFit(150):r>s.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.animate(a.$content,o,150)))},d.prototype.onTap=function(e){var o,i=this,s=n(e.target),r=i.instance,c=r.current,l=e&&a(e)||i.startPoints,d=l[0]?l[0].x-n(t).scrollLeft()-i.stagePos.left:0,u=l[0]?l[0].y-n(t).scrollTop()-i.stagePos.top:0,f=function(t){var o=c.opts[t];if(n.isFunction(o)&&(o=o.apply(r,[c,e])),o)switch(o){case"close":r.close(i.startEvent);break;case"toggleControls":r.toggleControls();break;case"next":r.next();break;case"nextOrClose":r.group.length>1?r.next():r.close(i.startEvent);break;case"zoom":"image"==c.type&&(c.isLoaded||c.$ghost)&&(r.canPan()?r.scaleToFit():r.isScaledDown()?r.scaleToActual(d,u):r.group.length<2&&r.close(i.startEvent))}};if((!e.originalEvent||2!=e.originalEvent.button)&&(s.is("img")||!(d>s[0].clientWidth+s.offset().left))){if(s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))o="Outside";else if(s.is(".fancybox-slide"))o="Slide";else{if(!r.current.$content||!r.current.$content.find(s).addBack().filter(s).length)return;o="Content"}if(i.tapped){if(clearTimeout(i.tapped),i.tapped=null,Math.abs(d-i.tapX)>50||Math.abs(u-i.tapY)>50)return this;f("dblclick"+o)}else i.tapX=d,i.tapY=u,c.opts["dblclick"+o]&&c.opts["dblclick"+o]!==c.opts["click"+o]?i.tapped=setTimeout(function(){i.tapped=null,r.isAnimating||f("click"+o)},500):f("click"+o);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new d(e))}).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:'<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg></button>'},slideShow:{autoStart:!1,speed:3e3,progress:!0}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this,n=t.instance,o=n.group[n.currIndex].opts.slideShow;t.$button=n.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),n.group.length<2||!o?t.$button.hide():o.progress&&(t.$progress=e('<div class="fancybox-progress"></div>').appendTo(n.$refs.inner))},set:function(t){var n=this,o=n.instance,i=o.current;i&&(!0===t||i.opts.loop||o.currIndex<o.group.length-1)?n.isActive&&"video"!==i.contentType&&(n.$progress&&e.fancybox.animate(n.$progress.show(),{scaleX:1},i.opts.slideShow.speed),n.timer=setTimeout(function(){o.current.opts.loop||o.current.index!=o.group.length-1?o.next():o.jumpTo(0)},i.opts.slideShow.speed)):(n.stop(),o.idleSecondsCounter=0,o.showControls())},clear:function(){var t=this;clearTimeout(t.timer),t.timer=null,t.$progress&&t.$progress.removeAttr("style").hide()},start:function(){var t=this,e=t.instance.current;e&&(t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_STOP).removeClass("fancybox-button--play").addClass("fancybox-button--pause"),t.isActive=!0,e.isComplete&&t.set(!0),t.instance.trigger("onSlideShowChange",!0))},stop:function(){var t=this,e=t.instance.current;t.clear(),t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_START).removeClass("fancybox-button--pause").addClass("fancybox-button--play"),t.isActive=!1,t.instance.trigger("onSlideShowChange",!1),t.$progress&&t.$progress.removeAttr("style").hide()},toggle:function(){var t=this;t.isActive?t.stop():t.start()}}),e(t).on({"onInit.fb":function(t,e){e&&!e.SlideShow&&(e.SlideShow=new n(e))},"beforeShow.fb":function(t,e,n,o){var i=e&&e.SlideShow;o?i&&n.opts.slideShow.autoStart&&i.start():i&&i.isActive&&i.clear()},"afterShow.fb":function(t,e,n){var o=e&&e.SlideShow;o&&o.isActive&&o.set()},"afterKeydown.fb":function(n,o,i,a,s){var r=o&&o.SlideShow;!r||!i.opts.slideShow||80!==s&&32!==s||e(t.activeElement).is("button,a,input")||(a.preventDefault(),r.toggle())},"beforeClose.fb onDeactivate.fb":function(t,e){var n=e&&e.SlideShow;n&&n.stop()}}),e(t).on("visibilitychange",function(){var n=e.fancybox.getInstance(),o=n&&n.SlideShow;o&&o.isActive&&(t.hidden?o.clear():o.set())})}(document,jQuery),function(t,e){"use strict";var n=function(){for(var e=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],n={},o=0;o<e.length;o++){var i=e[o];if(i&&i[1]in t){for(var a=0;a<i.length;a++)n[e[0][a]]=i[a];return n}}return!1}();if(n){var o={request:function(e){e=e||t.documentElement,e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)},exit:function(){t[n.exitFullscreen]()},toggle:function(e){e=e||t.documentElement,this.isFullscreen()?this.exit():this.request(e)},isFullscreen:function(){return Boolean(t[n.fullscreenElement])},enabled:function(){return Boolean(t[n.fullscreenEnabled])}};e.extend(!0,e.fancybox.defaults,{btnTpl:{fullScreen:'<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg></button>'},fullScreen:{autoStart:!1}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.isAnimating=!1,n.update(!0,!0,0),n.isComplete||n.complete()),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t),n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter",!t).toggleClass("fancybox-button--fsexit",t))})}e(t).on({"onInit.fb":function(t,e){var i;if(!n)return void e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();e&&e.group[e.currIndex].opts.fullScreen?(i=e.$refs.container,i.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle()}),e.opts.fullScreen&&!0===e.opts.fullScreen.autoStart&&o.request(),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()},"afterKeydown.fb":function(t,e,n,o,i){e&&e.FullScreen&&70===i&&(o.preventDefault(),e.FullScreen.toggle())},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("fancybox-is-fullscreen")&&o.exit()}})}(document,jQuery),function(t,e){"use strict";var n="fancybox-thumbs";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:'<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg></button>'},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},e.fancybox.defaults);var o=function(t){this.init(t)};e.extend(o.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this,n=t.group,o=0;e.instance=t,e.opts=n[t.currIndex].opts.thumbs,t.Thumbs=e,e.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]");for(var i=0,a=n.length;i<a&&(n[i].thumb&&o++,!(o>1));i++);o>1&&e.opts?(e.$button.removeAttr("style").on("click",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var t,o=this,i=o.instance,a=o.opts.parentEl,s=[];o.$grid||(o.$grid=e('<div class="'+n+" "+n+"-"+o.opts.axis+'"></div>').appendTo(i.$refs.container.find(a).addBack().filter(a)),o.$grid.on("click","a",function(){i.jumpTo(e(this).attr("data-index"))})),o.$list||(o.$list=e('<div class="'+n+'__list">').appendTo(o.$grid)),e.each(i.group,function(e,n){t=n.thumb,t||"image"!==n.type||(t=n.src),s.push('<a href="javascript:;" tabindex="0" data-index="'+e+'"'+(t&&t.length?' style="background-image:url('+t+')"':'class="fancybox-thumbs-missing"')+"></a>")}),o.$list[0].innerHTML=s.join(""),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"),10)+i.group.length*o.$list.children().eq(0).outerWidth(!0))},focus:function(t){var e,n,o=this,i=o.$list,a=o.$grid;o.instance.current&&(e=i.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+o.instance.current.index+'"]').addClass("fancybox-thumbs-active"),n=e.position(),"y"===o.opts.axis&&(n.top<0||n.top>i.height()-e.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},t):"x"===o.opts.axis&&(n.left<a.scrollLeft()||n.left>a.scrollLeft()+(a.width()-e.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},t))},update:function(){var t=this;t.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),t.isVisible?(t.$grid||t.create(),t.instance.trigger("onThumbsShow"),t.focus(0)):t.$grid&&t.instance.trigger("onThumbsHide"),t.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){var n;e&&!e.Thumbs&&(n=new o(e),n.isActive&&!0===n.opts.autoStart&&n.show())},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;i&&i.isVisible&&i.focus(o?0:250)},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&!1!==n.opts.hideOnClose&&n.$grid.hide()}})}(document,jQuery),function(t,e){"use strict";function n(t){var e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:'<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg></button>'},share:{url:function(t,e){return!t.currentHash&&"inline"!==e.type&&"html"!==e.type&&(e.origSrc||e.src)||window.location},
        tpl:'<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p></div>'}}),e(t).on("click","[data-fancybox-share]",function(){var t,o,i=e.fancybox.getInstance(),a=i.current||null;a&&("function"===e.type(a.opts.share.url)&&(t=a.opts.share.url.apply(a,[i,a])),o=a.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===a.type?encodeURIComponent(a.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),e.fancybox.open({src:i.translate(i,o),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(t,e){i.$refs.container.one("beforeClose.fb",function(){t.close(null,0)}),e.$content.find(".fancybox-share__button").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})},mobile:{autoFocus:!1}}}))})}(document,jQuery),function(t,e,n){"use strict";function o(){var e=t.location.hash.substr(1),n=e.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return{hash:e,index:o<1?1:o,gallery:i}}function i(t){""!==t.gallery&&n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1).focus().trigger("click.fb-start")}function a(t){var e,n;return!!t&&(e=t.current?t.current.opts:t.opts,""!==(n=e.hash||(e.$orig?e.$orig.data("fancybox")||e.$orig.data("fancybox-trigger"):""))&&n)}n.escapeSelector||(n.escapeSelector=function(t){return(t+"").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t})}),n(function(){!1!==n.fancybox.defaults.hash&&(n(e).on({"onInit.fb":function(t,e){var n,i;!1!==e.group[e.currIndex].opts.hash&&(n=o(),(i=a(e))&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i,s){var r;i&&!1!==i.opts.hash&&(r=a(o))&&(o.currentHash=r+(o.group.length>1?"-"+(i.index+1):""),t.location.hash!=="#"+o.currentHash&&(s&&!o.origHash&&(o.origHash=t.location.hash),o.hashTimer&&clearTimeout(o.hashTimer),o.hashTimer=setTimeout(function(){"replaceState"in t.history?(t.history[s?"pushState":"replaceState"]({},e.title,t.location.pathname+t.location.search+"#"+o.currentHash),s&&(o.hasCreatedHistory=!0)):t.location.hash=o.currentHash,o.hashTimer=null},300)))},"beforeClose.fb":function(n,o,i){i&&!1!==i.opts.hash&&(clearTimeout(o.hashTimer),o.currentHash&&o.hasCreatedHistory?t.history.back():o.currentHash&&("replaceState"in t.history?t.history.replaceState({},e.title,t.location.pathname+t.location.search+(o.origHash||"")):t.location.hash=o.origHash),o.currentHash=null)}}),n(t).on("hashchange.fb",function(){var t=o(),e=null;n.each(n(".fancybox-container").get().reverse(),function(t,o){var i=n(o).data("FancyBox");if(i&&i.currentHash)return e=i,!1}),e?e.currentHash===t.gallery+"-"+t.index||1===t.index&&e.currentHash==t.gallery||(e.currentHash=null,e.close()):""!==t.gallery&&i(t)}),setTimeout(function(){n.fancybox.getInstance()||i(o())},50))})}(window,document,jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,i=(new Date).getTime();e.group.length<2||!1===o.opts.wheel||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,i-n<250||(n=i,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,jQuery);
// source --> https://www.tomex.cz/wp-content/plugins/colibri-page-builder-pro/extend-builder/assets/static/js/theme.js?ver=1.0.247-pro 
!function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s="zDcZ")}({"+JPL":function(t,e,n){t.exports={default:n("+SFK"),__esModule:!0}},"+SFK":function(t,e,n){n("AUvm"),n("wgeU"),n("adOz"),n("dl0q"),t.exports=n("WEpk").Symbol},"+ejm":function(t,e){!function(t,e){var n=function(n,i){this.namespace="masonry",this.defaults={},e.apply(this,arguments),this.bindedRestart=t.debounce(this.restart.bind(this),50),this.start()};function i(t,e){if(t[0].hasAttribute(e)&&"true"!=t.attr(e))return!0}n.prototype={start:function(){var e,n=this.$element;(this.opts.data&&this.opts.data.targetSelector&&(n=this.$element.find(this.opts.data.targetSelector)),this.$masonry=n,i(e=this.$element,"data-show-masonry")||i(e,"show-masonry"))||(this.$masonry.masonry({itemSelector:".masonry-item",columnWidth:".masonry-item",percentPosition:!0}),this.addEventListeners(),function(){var e=n.find("img"),i=0,r=0;function o(){if(i++,e.length===i)try{n.data().masonry.layout()}catch(t){console.error(t)}}e.each(function(){this.complete?(r++,o()):(t(this).on("load",o),t(this).on("error",o))}),e.length!==r&&"complete"==document.readyState&&setTimeout(function(){n.data().masonry.layout()},10),t(window).on("load",function(){n.data().masonry.layout()})}())},stop:function(){this.removeEventListeners();try{this.$masonry.masonry("destroy")}catch(t){}},restart:function(){this.stop(),this.start()},addEventListeners:function(){this.$element.on("colibriContainerOpened",this.bindedRestart)},removeEventListeners:function(){this.$element.off("colibriContainerOpened",this.bindedRestart)},loadImages:function(){}},n.inherits(e),e.masonry=n,e.Plugin.create("masonry"),e.Plugin.autoload("masonry")}(jQuery,Colibri)},"+plK":function(t,e,n){n("ApPD"),t.exports=n("WEpk").Object.getPrototypeOf},"/ChV":function(t,e){var n,i;n=jQuery,i=function(t){var e=n.extend({animationType:"rotate-1",animationDelay:2500,barAnimationDelay:3800,barWaiting:800,lettersDelay:50,typeLettersDelay:150,selectionDuration:500,typeAnimationDelay:1300,revealDuration:600,revealAnimationDelay:1500},t),i=e.animationDelay;function r(t){var i=s(t);if(t.parents(".ah-headline").hasClass("type")){var c=t.parent(".ah-words-wrapper");c.addClass("selected").removeClass("waiting"),setTimeout(function(){c.removeClass("selected"),t.removeClass("is-visible").addClass("is-hidden").children("i").removeClass("in").addClass("out")},e.selectionDuration),setTimeout(function(){o(i,e.typeLettersDelay)},e.typeAnimationDelay)}else if(t.parents(".ah-headline").hasClass("letters")){var l=t.children("i").length>=i.children("i").length;!function t(i,o,a,c){i.removeClass("in").addClass("out");i.is(":last-child")?a&&setTimeout(function(){r(s(o))},e.animationDelay):setTimeout(function(){t(i.next(),o,a,c)},c);if(i.is(":last-child")&&n("html").hasClass("no-csstransitions")){var l=s(o);u(o,l)}}(t.find("i").eq(0),t,l,e.lettersDelay),a(i.find("i").eq(0),i,l,e.lettersDelay)}else t.parents(".ah-headline").hasClass("clip")?t.parents(".ah-words-wrapper").animate({width:"2px"},e.revealDuration,function(){u(t,i),o(i)}):t.parents(".ah-headline").hasClass("loading-bar")?(t.parents(".ah-words-wrapper").removeClass("is-loading"),u(t,i),setTimeout(function(){r(i)},e.barAnimationDelay),setTimeout(function(){t.parents(".ah-words-wrapper").addClass("is-loading")},e.barWaiting)):(u(t,i),setTimeout(function(){r(i)},e.animationDelay))}function o(t,n){t.parents(".ah-headline").hasClass("type")?(a(t.find("i").eq(0),t,!1,n),t.addClass("is-visible").removeClass("is-hidden")):t.parents(".ah-headline").hasClass("clip")&&t.parents(".ah-words-wrapper").animate({width:t.width()+10},e.revealDuration,function(){setTimeout(function(){r(t)},e.revealAnimationDelay)})}function a(t,n,i,o){t.addClass("in").removeClass("out"),t.is(":last-child")?(n.parents(".ah-headline").hasClass("type")&&setTimeout(function(){n.parents(".ah-words-wrapper").addClass("waiting")},200),i||setTimeout(function(){r(n)},e.animationDelay)):setTimeout(function(){a(t.next(),n,i,o)},o)}function s(t){return t.is(":last-child")?t.parent().children().eq(0):t.next()}function u(t,e){t.removeClass("is-visible").addClass("is-hidden"),e.removeClass("is-hidden").addClass("is-visible")}this.each(function(){var t=n(this);if(e.animationType&&("type"===e.animationType||"rotate-2"===e.animationType||"rotate-3"===e.animationType||"scale"===e.animationType?t.find(".ah-headline").addClass("letters "+e.animationType):"clip"===e.animationType?t.find(".ah-headline").addClass(e.animationType+" is-full-width"):t.find(".ah-headline").addClass(e.animationType)),function(t){t.each(function(){var t=n(this),e=t.text().split(""),i=t.hasClass("is-visible");for(var r in e)t.parents(".rotate-2").length>0&&(e[r]="<em>"+e[r]+"</em>"),e[r]=i?'<i class="in">'+e[r]+"</i>":"<i>"+e[r]+"</i>";var o=e.join("");t.html(o).css("opacity",1)})}(n(".ah-headline.letters").find("b")),t.hasClass("loading-bar"))i=e.barAnimationDelay,setTimeout(function(){t.find(".ah-words-wrapper").addClass("is-loading")},e.barWaiting);else if(t.hasClass("clip")){var o=t.find(".ah-words-wrapper"),a=o.width()+10;o.css("width",a)}else if(!t.find(".ah-headline").hasClass("type")){var s=0;t.find(".ah-words-wrapper b").each(function(){var t=n(this).width();t>s&&(s=t)}),t.find(".ah-words-wrapper").css("width",s)}setTimeout(function(){r(t.find(".is-visible").eq(0))},i)})},window.wp&&window.wp.customize?n.fn.animatedHeadline=function(){var t=this,e=arguments;setTimeout(function(){i.apply(t,e)},100)}:n.fn.animatedHeadline=i},"/eQG":function(t,e,n){n("v5Dd");var i=n("WEpk").Object;t.exports=function(t,e){return i.getOwnPropertyDescriptor(t,e)}},"/f1G":function(t,e,n){t.exports={default:n("nhzr"),__esModule:!0}},"1Qhi":function(t,e){t.exports=r,t.exports.isMobile=r;var n=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function r(t){t||(t={});var e=t.ua;return e||"undefined"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&"string"==typeof e.headers["user-agent"]&&(e=e.headers["user-agent"]),"string"==typeof e&&(t.tablet?i.test(e):n.test(e))}},"1cTi":function(t,e){var n,i,r=document.attachEvent,o=!1;function a(t){var e=t.__resizeTriggers__,n=e.firstElementChild,i=e.lastElementChild,r=n.firstElementChild;i.scrollLeft=i.scrollWidth,i.scrollTop=i.scrollHeight,r.style.width=n.offsetWidth+1+"px",r.style.height=n.offsetHeight+1+"px",n.scrollLeft=n.scrollWidth,n.scrollTop=n.scrollHeight}function s(t){var e=this;a(this),this.__resizeRAF__&&c(this.__resizeRAF__),this.__resizeRAF__=u(function(){(function(t){return t.offsetWidth!=t.__resizeLast__.width||t.offsetHeight!=t.__resizeLast__.height})(e)&&(e.__resizeLast__.width=e.offsetWidth,e.__resizeLast__.height=e.offsetHeight,e.__resizeListeners__.forEach(function(n){n.call(e,t)}))})}if(!r){var u=(i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,20)},function(t){return i(t)}),c=(n=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout,function(t){return n(t)}),l=!1,f="",h="animationstart",p="Webkit Moz O ms".split(" "),d="webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),v="",m=document.createElement("fakeelement");if(void 0!==m.style.animationName&&(l=!0),!1===l)for(var g=0;g<p.length;g++)if(void 0!==m.style[p[g]+"AnimationName"]){(v=p[g])+"Animation",f="-"+v.toLowerCase()+"-",h=d[g],l=!0;break}var y="resizeanim",_="@"+f+"keyframes "+y+" { from { opacity: 0; } to { opacity: 0; } } ",b=f+"animation: 1ms "+y+"; "}window.addResizeListener=function(t,e){r?t.attachEvent("onresize",e):(t.__resizeTriggers__||("static"==getComputedStyle(t).position&&(t.style.position="relative"),function(){if(!o){var t=(_||"")+".resize-triggers { "+(b||"")+'visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t)),e.appendChild(n),o=!0}}(),t.__resizeLast__={},t.__resizeListeners__=[],(t.__resizeTriggers__=document.createElement("div")).className="resize-triggers",t.__resizeTriggers__.innerHTML='<div class="expand-trigger"><div></div></div><div class="contract-trigger"></div>',t.appendChild(t.__resizeTriggers__),a(t),t.addEventListener("scroll",s,!0),h&&t.__resizeTriggers__.addEventListener(h,function(e){e.animationName==y&&a(t)})),t.__resizeListeners__.push(e))},window.removeResizeListener=function(t,e){if(r)t.detachEvent("onresize",e);else{if(!(t&&t.__resizeListeners__&&t.__resizeTriggers__))return;t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(e),1),t.__resizeListeners__.length||(t.removeEventListener("scroll",s),t.__resizeTriggers__=!t.removeChild(t.__resizeTriggers__))}}},"29s/":function(t,e,n){var i=n("5T2Y"),r=i["__core-js_shared__"]||(i["__core-js_shared__"]={});t.exports=function(t){return r[t]||(r[t]={})}},"2GTP":function(t,e,n){var i=n("eaoh");t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},"2Nb0":function(t,e,n){n("FlQf"),n("bBy9"),t.exports=n("zLkG").f("iterator")},"2faE":function(t,e,n){var i=n("5K7Z"),r=n("eUtF"),o=n("G8Mo"),a=Object.defineProperty;e.f=n("jmDH")?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"3GJH":function(t,e,n){n("lCc8");var i=n("WEpk").Object;t.exports=function(t,e){return i.create(t,e)}},"4H15":function(t,e,n){"use strict";e.a={svgFancyTitle:{circle:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 150" preserveAspectRatio="none"><path d="M325,18C228.7-8.3,118.5,8.3,78,21C22.4,38.4,4.6,54.6,5.6,77.6c1.4,32.4,52.2,54,142.6,63.7 c66.2,7.1,212.2,7.5,273.5-8.3c64.4-16.6,104.3-57.6,33.8-98.2C386.7-4.9,179.4-1.4,126.3,20.7"/></svg>',curly:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 150" preserveAspectRatio="none"><path d="M3,146.1c17.1-8.8,33.5-17.8,51.4-17.8c15.6,0,17.1,18.1,30.2,18.1c22.9,0,36-18.6,53.9-18.6 c17.1,0,21.3,18.5,37.5,18.5c21.3,0,31.8-18.6,49-18.6c22.1,0,18.8,18.8,36.8,18.8c18.8,0,37.5-18.6,49-18.6c20.4,0,17.1,19,36.8,19 c22.9,0,36.8-20.6,54.7-18.6c17.7,1.4,7.1,19.5,33.5,18.8c17.1,0,47.2-6.5,61.1-15.6"></path></svg>',underline:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 150" preserveAspectRatio="none"><path d="M7.7,145.6C109,125,299.9,116.2,401,121.3c42.1,2.2,87.6,11.8,87.3,25.7"></path></svg>',double:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 150" preserveAspectRatio="none"><path d="M8.4,143.1c14.2-8,97.6-8.8,200.6-9.2c122.3-0.4,287.5,7.2,287.5,7.2"></path><path d="M8,19.4c72.3-5.3,162-7.8,216-7.8c54,0,136.2,0,267,7.8"></path></svg>',"double-underline":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 150" preserveAspectRatio="none"><path d="M5,125.4c30.5-3.8,137.9-7.6,177.3-7.6c117.2,0,252.2,4.7,312.7,7.6"></path><path d="M26.9,143.8c55.1-6.1,126-6.3,162.2-6.1c46.5,0.2,203.9,3.2,268.9,6.4"></path></svg>',"underline-zigzag":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 150" preserveAspectRatio="none"><path d="M9.3,127.3c49.3-3,150.7-7.6,199.7-7.4c121.9,0.4,189.9,0.4,282.3,7.2C380.1,129.6,181.2,130.6,70,139 c82.6-2.9,254.2-1,335.9,1.3c-56,1.4-137.2-0.3-197.1,9"></path></svg>',diagonal:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 150" preserveAspectRatio="none"><path d="M13.5,15.5c131,13.7,289.3,55.5,475,125.5"></path></svg>',strikethrough:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 150" preserveAspectRatio="none"><path d="M3,75h493.5"></path></svg>',x:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 150" preserveAspectRatio="none"><path d="M497.4,23.9C301.6,40,155.9,80.6,4,144.4"></path><path d="M14.1,27.6c204.5,20.3,393.8,74,467.3,111.7"></path></svg>'}}},"4bdI":function(t,e,n){n("Ui4e"),t.exports=n("WEpk").Object.freeze},"5K7Z":function(t,e,n){var i=n("93I4");t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},"5T2Y":function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"5biZ":function(t,e,n){n("EnHN");var i=n("WEpk").Object;t.exports=function(t){return i.getOwnPropertyNames(t)}},"5pKv":function(t,e){t.exports="\t\n\v\f\r   ᠎             　\u2028\u2029\ufeff"},"5vMV":function(t,e,n){var i=n("B+OT"),r=n("NsO/"),o=n("W070")(!1),a=n("VVlx")("IE_PROTO");t.exports=function(t,e){var n,s=r(t),u=0,c=[];for(n in s)n!=a&&i(s,n)&&c.push(n);for(;e.length>u;)i(s,n=e[u++])&&(~o(c,n)||c.push(n));return c}},"6/1s":function(t,e,n){var i=n("YqAc")("meta"),r=n("93I4"),o=n("B+OT"),a=n("2faE").f,s=0,u=Object.isExtensible||function(){return!0},c=!n("KUxP")(function(){return u(Object.preventExtensions({}))}),l=function(t){a(t,i,{value:{i:"O"+ ++s,w:{}}})},f=t.exports={KEY:i,NEED:!1,fastKey:function(t,e){if(!r(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,i)){if(!u(t))return"F";if(!e)return"E";l(t)}return t[i].i},getWeak:function(t,e){if(!o(t,i)){if(!u(t))return!0;if(!e)return!1;l(t)}return t[i].w},onFreeze:function(t){return c&&f.NEED&&u(t)&&!o(t,i)&&l(t),t}}},"63br":function(t,e){!function(t,e){var n=function(t,n){this.namespace="counter",this.defaults={oldCheck:!1,newCheck:!1,firstTime:!1},e.apply(this,arguments),this.start()};n.prototype={start:function(){t.proxy(this.ready,this)(),t(window).scroll(t.proxy(this.ready,this))},stop:function(){},reset:function(t){var e=t.$element.children();t.$element.children().remove(),t.$element.append(e)},ready:function(){if(this.isScrolledIntoView(this)&&this.opts.oldCheck!==this.opts.newCheck&&!this.opts.firstTime&&(this.opts.firstTime=!0,this.opts.data)){var t=this.opts.data.type;switch(this.reset(this),t){case"number":this.countTo(this);break;case"circle":this.progressCircle(this);break;case"bar":this.progressBar(this)}}},isScrolledIntoView:function(e){var n=t(window).scrollTop(),i=n+t(window).height(),r=t(e.$element).offset().top,o=r+t(e.$element).height(),a=e.opts.newCheck,s=r<=i&&o>=n;return e.opts.oldCheck=a,e.opts.newCheck=s,s},countTo:function(e){var n=e.opts.data.data.countTo;e.$element.find(".h-counter-control").each(function(){t(this).prop("Counter",n.startVal).animate({Counter:n.endVal},{duration:1e3*n.duration,easing:"swing",step:function(i){var r=e.ceil10(i,-n.decimals).toLocaleString("en");r=r.replace(/,/gi,n.options.separator),t(this).text(n.options.prefix+r+n.options.suffix)}})})},progressBar:function(e){e.$element.find(".h-bar-progress").each(function(){t(this).find(".progress-bar").removeClass("progress-bar__animation").removeClass("hide-animation").addClass("progress-bar__animation"),e.countTo(e)})},progressCircle:function(e){var n=e.opts.data.data.circle,i=e.opts.data.data.titlePosition;e.$element.find(".h-circle-progress").each(function(){var r=t(this).find(".counter-content"),o=t(this).find(".title-circle"),a='<div class="content-circle-inside" style="position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)"></div>';t(this).empty(),t(this).circleProgress({value:n.progress/100,size:n.size,fill:n.fill,animation:n.animation,lineCap:"round",showProcent:!1,insertMode:"append",emptyFill:n.emptyFill,startAngle:n.startAngle,thickness:n.tickeness}),t(this).css({display:"flex","align-items":"center","justify-content":"center"}),"above"===i?(t(this).append(a),t(this).find(".content-circle-inside").append(o),t(this).find(".content-circle-inside").append(r)):(t(this).append(a),t(this).find(".content-circle-inside").append(r),t(this).find(".content-circle-inside").append(o)),e.countTo(e)})},ceil10:function(t,e){return this.decimalAdjust("ceil",t,e)},decimalAdjust:function(t,e,n){return void 0===n||0==+n?Math[t](e):(e=+e,n=+n,isNaN(e)||"number"!=typeof n||n%1!=0?NaN:(e=e.toString().split("e"),+((e=(e=Math[t](+(e[0]+"e"+(e[1]?+e[1]-n:-n)))).toString().split("e"))[0]+"e"+(e[1]?+e[1]+n:n))))}},n.inherits(e),e.counter=n,e.Plugin.create("counter"),e.Plugin.autoload("counter")}(jQuery,Colibri)},"6tYh":function(t,e,n){var i=n("93I4"),r=n("5K7Z"),o=function(t,e){if(r(t),!i(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,i){try{(i=n("2GTP")(Function.call,n("vwuL").f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:i(t,n),t}}({},!1):void 0),check:o}},"9/5/":function(t,e,n){(function(e){var n="Expected a function",i=NaN,r="[object Symbol]",o=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt,l="object"==typeof e&&e&&e.Object===Object&&e,f="object"==typeof self&&self&&self.Object===Object&&self,h=l||f||Function("return this")(),p=Object.prototype.toString,d=Math.max,v=Math.min,m=function(){return h.Date.now()};function g(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function y(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&p.call(t)==r}(t))return i;if(g(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=g(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(o,"");var n=s.test(t);return n||u.test(t)?c(t.slice(2),n?2:8):a.test(t)?i:+t}t.exports=function(t,e,i){var r,o,a,s,u,c,l=0,f=!1,h=!1,p=!0;if("function"!=typeof t)throw new TypeError(n);function _(e){var n=r,i=o;return r=o=void 0,l=e,s=t.apply(i,n)}function b(t){var n=t-c;return void 0===c||n>=e||n<0||h&&t-l>=a}function w(){var t=m();if(b(t))return O(t);u=setTimeout(w,function(t){var n=e-(t-c);return h?v(n,a-(t-l)):n}(t))}function O(t){return u=void 0,p&&r?_(t):(r=o=void 0,s)}function C(){var t=m(),n=b(t);if(r=arguments,o=this,c=t,n){if(void 0===u)return function(t){return l=t,u=setTimeout(w,e),f?_(t):s}(c);if(h)return u=setTimeout(w,e),_(c)}return void 0===u&&(u=setTimeout(w,e)),s}return e=y(e)||0,g(i)&&(f=!!i.leading,a=(h="maxWait"in i)?d(y(i.maxWait)||0,e):a,p="trailing"in i?!!i.trailing:p),C.cancel=function(){void 0!==u&&clearTimeout(u),l=0,r=c=o=u=void 0},C.flush=function(){return void 0===u?s:O(m())},C}}).call(this,n("yLpj"))},"93I4":function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},A5Xg:function(t,e,n){var i=n("NsO/"),r=n("ar/p").f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==o.call(t)?function(t){try{return r(t)}catch(t){return a.slice()}}(t):r(i(t))}},AUvm:function(t,e,n){"use strict";var i=n("5T2Y"),r=n("B+OT"),o=n("jmDH"),a=n("Y7ZC"),s=n("kTiW"),u=n("6/1s").KEY,c=n("KUxP"),l=n("29s/"),f=n("RfKB"),h=n("YqAc"),p=n("UWiX"),d=n("zLkG"),v=n("Zxgi"),m=n("R+7+"),g=n("kAMH"),y=n("5K7Z"),_=n("93I4"),b=n("NsO/"),w=n("G8Mo"),O=n("rr1i"),C=n("oVml"),E=n("A5Xg"),S=n("vwuL"),T=n("2faE"),A=n("w6GO"),k=S.f,x=T.f,I=E.f,P=i.Symbol,L=i.JSON,$=L&&L.stringify,j=p("_hidden"),R=p("toPrimitive"),D={}.propertyIsEnumerable,N=l("symbol-registry"),M=l("symbols"),z=l("op-symbols"),F=Object.prototype,B="function"==typeof P,W=i.QObject,U=!W||!W.prototype||!W.prototype.findChild,H=o&&c(function(){return 7!=C(x({},"a",{get:function(){return x(this,"a",{value:7}).a}})).a})?function(t,e,n){var i=k(F,e);i&&delete F[e],x(t,e,n),i&&t!==F&&x(F,e,i)}:x,V=function(t){var e=M[t]=C(P.prototype);return e._k=t,e},G=B&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},Y=function(t,e,n){return t===F&&Y(z,e,n),y(t),e=w(e,!0),y(n),r(M,e)?(n.enumerable?(r(t,j)&&t[j][e]&&(t[j][e]=!1),n=C(n,{enumerable:O(0,!1)})):(r(t,j)||x(t,j,O(1,{})),t[j][e]=!0),H(t,e,n)):x(t,e,n)},q=function(t,e){y(t);for(var n,i=m(e=b(e)),r=0,o=i.length;o>r;)Y(t,n=i[r++],e[n]);return t},Q=function(t){var e=D.call(this,t=w(t,!0));return!(this===F&&r(M,t)&&!r(z,t))&&(!(e||!r(this,t)||!r(M,t)||r(this,j)&&this[j][t])||e)},Z=function(t,e){if(t=b(t),e=w(e,!0),t!==F||!r(M,e)||r(z,e)){var n=k(t,e);return!n||!r(M,e)||r(t,j)&&t[j][e]||(n.enumerable=!0),n}},K=function(t){for(var e,n=I(b(t)),i=[],o=0;n.length>o;)r(M,e=n[o++])||e==j||e==u||i.push(e);return i},J=function(t){for(var e,n=t===F,i=I(n?z:b(t)),o=[],a=0;i.length>a;)!r(M,e=i[a++])||n&&!r(F,e)||o.push(M[e]);return o};B||(s((P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),e=function(n){this===F&&e.call(z,n),r(this,j)&&r(this[j],t)&&(this[j][t]=!1),H(this,t,O(1,n))};return o&&U&&H(F,t,{configurable:!0,set:e}),V(t)}).prototype,"toString",function(){return this._k}),S.f=Z,T.f=Y,n("ar/p").f=E.f=K,n("NV0k").f=Q,n("mqlF").f=J,o&&!n("uOPS")&&s(F,"propertyIsEnumerable",Q,!0),d.f=function(t){return V(p(t))}),a(a.G+a.W+a.F*!B,{Symbol:P});for(var X="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;X.length>tt;)p(X[tt++]);for(var et=A(p.store),nt=0;et.length>nt;)v(et[nt++]);a(a.S+a.F*!B,"Symbol",{for:function(t){return r(N,t+="")?N[t]:N[t]=P(t)},keyFor:function(t){if(!G(t))throw TypeError(t+" is not a symbol!");for(var e in N)if(N[e]===t)return e},useSetter:function(){U=!0},useSimple:function(){U=!1}}),a(a.S+a.F*!B,"Object",{create:function(t,e){return void 0===e?C(t):q(C(t),e)},defineProperty:Y,defineProperties:q,getOwnPropertyDescriptor:Z,getOwnPropertyNames:K,getOwnPropertySymbols:J}),L&&a(a.S+a.F*(!B||c(function(){var t=P();return"[null]"!=$([t])||"{}"!=$({a:t})||"{}"!=$(Object(t))})),"JSON",{stringify:function(t){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);if(n=e=i[1],(_(e)||void 0!==t)&&!G(t))return g(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),i[1]=e,$.apply(L,i)}}),P.prototype[R]||n("NegM")(P.prototype,R,P.prototype.valueOf),f(P,"Symbol"),f(Math,"Math",!0),f(i.JSON,"JSON",!0)},ApPD:function(t,e,n){var i=n("JB68"),r=n("U+KD");n("zn7N")("getPrototypeOf",function(){return function(t){return r(i(t))}})},AyUB:function(t,e,n){t.exports={default:n("3GJH"),__esModule:!0}},"B+OT":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},D8kY:function(t,e,n){var i=n("Ojgd"),r=Math.max,o=Math.min;t.exports=function(t,e){return(t=i(t))<0?r(t+e,0):o(t,e)}},Dbz9:function(t,e,n){t.exports={default:n("4bdI"),__esModule:!0}},E8gZ:function(t,e,n){var i=n("w6GO"),r=n("NsO/"),o=n("NV0k").f;t.exports=function(t){return function(e){for(var n,a=r(e),s=i(a),u=s.length,c=0,l=[];u>c;)o.call(a,n=s[c++])&&l.push(t?[n,a[n]]:a[n]);return l}}},EJiy:function(t,e,n){"use strict";e.__esModule=!0;var i=a(n("F+2o")),r=a(n("+JPL")),o="function"==typeof r.default&&"symbol"==typeof i.default?function(t){return typeof t}:function(t){return t&&"function"==typeof r.default&&t.constructor===r.default&&t!==r.default.prototype?"symbol":typeof t};function a(t){return t&&t.__esModule?t:{default:t}}e.default="function"==typeof r.default&&"symbol"===o(i.default)?function(t){return void 0===t?"undefined":o(t)}:function(t){return t&&"function"==typeof r.default&&t.constructor===r.default&&t!==r.default.prototype?"symbol":void 0===t?"undefined":o(t)}},EP9H:function(t,e,n){var i=n("5T2Y").parseFloat,r=n("oc46").trim;t.exports=1/i(n("5pKv")+"-0")!=-1/0?function(t){var e=r(String(t),3),n=i(e);return 0===n&&"-"==e.charAt(0)?-0:n}:i},EnHN:function(t,e,n){n("zn7N")("getOwnPropertyNames",function(){return n("A5Xg").f})},"F+2o":function(t,e,n){t.exports={default:n("2Nb0"),__esModule:!0}},FYw3:function(t,e,n){"use strict";e.__esModule=!0;var i,r=n("EJiy"),o=(i=r)&&i.__esModule?i:{default:i};e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":(0,o.default)(e))&&"function"!=typeof e?t:e}},FlQf:function(t,e,n){"use strict";var i=n("ccE7")(!0);n("MPFp")(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},FpHa:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},G8Mo:function(t,e,n){var i=n("93I4");t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},GQeE:function(t,e,n){t.exports={default:n("iq4v"),__esModule:!0}},Hfiw:function(t,e,n){var i=n("Y7ZC");i(i.S,"Object",{setPrototypeOf:n("6tYh").set})},Hsns:function(t,e,n){var i=n("93I4"),r=n("5T2Y").document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},I9vy:function(t,e,n){(function(t,n){var i=9007199254740991,r="[object Arguments]",o="[object Function]",a="[object GeneratorFunction]",s="[object Map]",u="[object Set]",c=/^\[object .+?Constructor\]$/,l="object"==typeof t&&t&&t.Object===Object&&t,f="object"==typeof self&&self&&self.Object===Object&&self,h=l||f||Function("return this")(),p="object"==typeof e&&e&&!e.nodeType&&e,d=p&&"object"==typeof n&&n&&!n.nodeType&&n,v=d&&d.exports===p;var m,g,y,_=Function.prototype,b=Object.prototype,w=h["__core-js_shared__"],O=(m=/[^.]+$/.exec(w&&w.keys&&w.keys.IE_PROTO||""))?"Symbol(src)_1."+m:"",C=_.toString,E=b.hasOwnProperty,S=b.toString,T=RegExp("^"+C.call(E).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),A=v?h.Buffer:void 0,k=b.propertyIsEnumerable,x=A?A.isBuffer:void 0,I=(g=Object.keys,y=Object,function(t){return g(y(t))}),P=U(h,"DataView"),L=U(h,"Map"),$=U(h,"Promise"),j=U(h,"Set"),R=U(h,"WeakMap"),D=!k.call({valueOf:1},"valueOf"),N=V(P),M=V(L),z=V($),F=V(j),B=V(R);function W(t){return!(!K(t)||O&&O in t)&&(Z(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t)?T:c).test(V(t))}function U(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return W(n)?n:void 0}var H=function(t){return S.call(t)};function V(t){if(null!=t){try{return C.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function G(t){return function(t){return function(t){return!!t&&"object"==typeof t}(t)&&q(t)}(t)&&E.call(t,"callee")&&(!k.call(t,"callee")||S.call(t)==r)}(P&&"[object DataView]"!=H(new P(new ArrayBuffer(1)))||L&&H(new L)!=s||$&&"[object Promise]"!=H($.resolve())||j&&H(new j)!=u||R&&"[object WeakMap]"!=H(new R))&&(H=function(t){var e=S.call(t),n="[object Object]"==e?t.constructor:void 0,i=n?V(n):void 0;if(i)switch(i){case N:return"[object DataView]";case M:return s;case z:return"[object Promise]";case F:return u;case B:return"[object WeakMap]"}return e});var Y=Array.isArray;function q(t){return null!=t&&function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=i}(t.length)&&!Z(t)}var Q=x||function(){return!1};function Z(t){var e=K(t)?S.call(t):"";return e==o||e==a}function K(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}n.exports=function(t){if(q(t)&&(Y(t)||"string"==typeof t||"function"==typeof t.splice||Q(t)||G(t)))return!t.length;var e=H(t);if(e==s||e==u)return!t.size;if(D||function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||b)}(t))return!I(t).length;for(var n in t)if(E.call(t,n))return!1;return!0}}).call(this,n("yLpj"),n("YuTi")(t))},IthS:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=n.emptyArrays,s=void 0===a||a,u=n.emptyObjects,c=void 0===u||u,l=n.emptyStrings,f=void 0===l||l,h=n.nullValues,p=void 0===h||h,d=n.undefinedValues,v=void 0===d||d;return(0,o.default)(e,function(e,n,o){if((Array.isArray(n)||(0,r.default)(n))&&(n=t(n,{emptyArrays:s,emptyObjects:c,emptyStrings:f,nullValues:p,undefinedValues:v})),!(c&&(0,r.default)(n)&&(0,i.default)(n))&&(!s||!Array.isArray(n)||n.length)&&!(f&&""===n||p&&null===n||v&&void 0===n))return Array.isArray(e)?e.push(n):void(e[o]=n)})};var i=a(n("I9vy")),r=a(n("zZPE")),o=a(n("yY/7"));function a(t){return t&&t.__esModule?t:{default:t}}t.exports=e.default},JB68:function(t,e,n){var i=n("Jes0");t.exports=function(t){return Object(i(t))}},JB7L:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var i={ACCORDION_MENU:"hop-accordion-menu",ACCORDION_ITEM:"hop-accordion-item",ACCORDION:"hop-accordion",BLOG_POSTS:"hop-blog-posts",ARCHIVE_NAV_BUTTON:"hop-archive-nav-button",ARCHIVE_PAGINATION:"hop-archive-pagination",ARCHIVE_LOOP:"hop-archive-loop",BLOG_LIST:"hop-blog-list",LOOP_ITEM:"hop-loop-item",POST_CATEGORIES_CONTAINER:"hop-post-categories-container",POST_CATEGORIES:"hop-post-categories",POST_COMMENT_FORM:"hop-post-comment-form",POST_COMMENTS:"hop-post-comments",POST_CONTENT:"hop-post-content",POST_EXCERPT:"hop-post-excerpt",POST_LOOP:"hop-post-loop",POST_META:"hop-post-meta",POST_NAV_BUTTON:"hop-post-nav-button",POST_NAV_CONTAINER:"hop-post-nav-container",POST_READ_MORE:"hop-post-read-more",POST_READ_MORE_GROUP:"hop-post-read-more-group",POST_TAGS_CONTAINER:"hop-post-tags-container",POST_TAGS:"hop-post-tags",POST_THUMBNAIL:"hop-post-thumbnail",POST_TITLE:"hop-post-title",BREADCRUMB:"hop-breadcrumb",BUTTON_GROUP:"hop-button-group",BUTTON:"hop-button",CAROUSEL_ITEM:"hop-carousel-item",TEXT_CAROUSEL_ITEM:"hop-text-carousel-item",TEXT_CAROUSEL:"hop-text-carousel",COLUMN:"hop-column",CONTACT_FORM:"hop-contact-form",CONTENT_SWAP:"hop-content-swap",CONTENT_SWAP_DEFAULT:"hop-content-swap-default",CONTENT_SWAP_HOVER:"hop-content-swap-hover",PAGE_CONTENT:"hop-page-content",CONTENT:"hop-content",POST:"hop-post",ARCHIVE:"hop-archive",SIDEBAR:"hop-sidebar",MAIN:"hop-main",COPYRIGHT:"hop-copyright",COUNTERS:"hop-counters",DIVIDER:"hop-divider",EFFECTS:"hop-effects",EXTERNAL:"hop-external",FOOTER:"hop-footer",HEADER:"hop-header",HEADING:"hop-heading",HERO:"hop-hero",HOME_BUTTON:"hop-home-button",HOME_BUTTON_GROUP:"hop-home-button-group",HORIZONTAL_MENU:"hop-horizontal-menu",HTML:"hop-html",ICON_LIST:"hop-icon-list",ICON:"hop-icon",IMAGE:"hop-image",LINK_GROUP:"hop-link-group",LINK:"hop-link",LOGO:"hop-logo",MAP:"hop-map",OFFSCREEN_PANEL:"hop-offscreen-panel",MOBILE_MENU:"hop-mobile-menu",MIRROR:"hop-mirror",MULTIPLE_IMAGE_DUMMY:"hop-multiple-image-dummy",MULTIPLE_IMAGE:"hop-multiple-image",NAVIGATION:"hop-navigation",TOP_BAR:"hop-top-bar",NEWSLETTER:"hop-newsletter",PAGE_TITLE:"hop-page-title",PHOTO_GALLERY:"hop-photo-gallery",PRICING_ITEM:"hop-pricing-item",PRICING_TABLE:"hop-pricing-table",PRICING:"hop-pricing",ROW:"hop-row",BACK_TO_TOP:"hop-back-to-top",BACK_TO_TOP_BUTTON:"hop-back-to-top-button",BACK_TO_TOP_BUTTON_GROUP:"hop-back-to-top-button-group",BACK_TO_TOP_ICON:"hop-back-to-top-icon",DOWN_ARROW:"hop-down-arrow",DOWN_ARROW_SCROLL_BUTTON:"hop-down-arrow-scroll-button",DOWN_ARROW_SCROLL_BUTTON_GROUP:"hop-down-arrow-scroll-button-group",DOWN_ARROW_SCROLL_ICON:"hop-down-arrow-scroll-icon",SEARCH:"hop-search",SECTION:"hop-section",SHORTCODE:"hop-shortcode",SIMPLE_LIST:"hop-simple-list",SLIDER_ITEM:"hop-slider-item",SLIDER:"hop-slider",SLIDESHOW_GALLERY:"hop-slideshow-gallery",SOCIAL_EMBED:"hop-social-embed",SOCIAL_ICONS:"hop-social-icons",SPACER:"hop-spacer",SWIPER_ITEM:"hop-swiper-item",SWIPER_ARROW:"hop-swiper-arrow",SWIPER_ARROW_ICON:"hop-swiper-arrow-icon",SWIPER_DOTS:"hop-swiper-dots",TABS:"hop-tabs",TABS_ITEM:"hop-tabs-item",TEXT:"hop-text",VERTICAL_MENU:"hop-vertical-menu",VIDEO:"hop-video",WIDGET_AREA:"hop-widget-area",ARCHIVES_WIDGET:"hop-archives-widget",AUDIO_WIDGET:"hop-audio-widget",CALENDAR_WIDGET:"hop-calendar-widget",CATEGORIES_WIDGET:"hop-categories-widget",CUSTOM_HTML_WIDGET:"hop-custom-html-widget",GALLERY_WIDGET:"hop-gallery-widget",IMAGE_WIDGET:"hop-image-widget",META_WIDGET:"hop-meta-widget",NAVIGATION_MENU_WIDGET:"hop-navigation-menu-widget",PAGES_WIDGET:"hop-pages-widget",RECENT_COMMENTS_WIDGET:"hop-recent-comments-widget",RECENT_POST_WIDGET:"hop-recent-post-widget",RSS_WIDGET:"hop-rss-widget",SEARCH_WIDGET:"hop-search-widget",TAG_CLOUD_WIDGET:"hop-tag-cloud-widget",TEXT_WIDGET:"hop-text-widget",VIDEO_WIDGET:"hop-video-widget",WIDGET_WOO_ACTIVE_PRODUCT_FILTERS:"hop-widget-woo-active-product-filters",WIDGET_WOO_CART:"hop-widget-woo-cart",WIDGET_WOO_FILTER_PRODUCTS_BY_ATTRIBUTE:"hop-widget-woo-filter-products-by-attribute",WIDGET_WOO_FILTER_PRODUCTS_BY_PRICE:"hop-widget-woo-filter-products-by-price",WIDGET_WOO_FILTER_PRODUCTS_BY_RATING:"hop-widget-woo-filter-products-by-rating",WIDGET_WOO_PRODUCT_CATEGORIES:"hop-widget-woo-product-categories",WIDGET_WOO_PRODUCT_SEARCH:"hop-widget-woo-product-search",WIDGET_WOO_PRODUCT_TAG_CLOUD:"hop-widget-woo-product-tag-cloud",WIDGET_WOO_PRODUCTS_BY_RATING:"hop-widget-woo-products-by-rating",WIDGET_WOO_PRODUCTS:"hop-widget-woo-products",WIDGET_WOO_RECENT_PRODUCT_REVIEWS:"hop-widget-woo-recent-product-reviews",WIDGET_WOO_RECENT_VIEWED_PRODUCTS:"hop-widget-woo-recent-viewed-products",WC_ARCHIVE_LOOP:"hop-wc-archive-loop",WC_CROSS_SELL:"hop-wc-cross-sell",WC_CART_TOTAL:"hop-wc-cart-total",WC_CART:"hop-wc-cart",WC_CHECKOUT:"hop-wc-checkout",WC_MY_ACCOUNT:"hop-wc-my-account",WC_PRODUCT_ADD_TO_CART:"hop-wc-product-add-to-cart",WC_BREADCRUMB:"hop-wc-breadcrumb",WC_CART_CONTENT_BUTTON:"hop-wc-cart-content-button",WC_CATALOG_ORDERING:"hop-wc-catalog-ordering",WC_PRODUCT_CONTENT:"hop-wc-product-content",WC_PRODUCT_DETAILS:"hop-wc-product-details",WC_PRODUCT_EXCERPT:"hop-wc-product-excerpt",WC_PRODUCT_IMAGES:"hop-wc-product-images",WC_RESULT_COUNT:"hop-wc-result-count",WC_PRODUCT_META:"hop-wc-product-meta",WC_PAGINATION:"hop-wc-pagination",WC_PRODUCT_PRICE:"hop-wc-product-price",WC_PRODUCT_RATING:"hop-wc-product-rating",WC_PRODUCT_RELATED:"hop-wc-product-related",WC_PRODUCT_SHARING:"hop-wc-product-sharing",WC_PRODUCTS_SHOWCASE:"hop-wc-products-showcase",WC_PRODUCT_SUMMARY:"hop-wc-product-summary",WC_PRODUCT_TITLE:"hop-wc-product-title"}},JO7F:function(t,e,n){t.exports={default:n("/eQG"),__esModule:!0}},JbBM:function(t,e,n){n("Hfiw"),t.exports=n("WEpk").Object.setPrototypeOf},Jes0:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on  "+t);return t}},KUxP:function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},L4mV:function(t,e){!function(t,e){var n=function(t,n){this.namespace="navigation",this.defaults={data:{sticky:{className:"h-navigation_sticky",startAfterNode:{enabled:!1,selector:""},animations:{enabled:!1,currentInAnimationClass:"",currentOutAnimationClass:"",allInAnimationsClasses:"",allOutAnimationsClasses:"",duration:0},zIndex:9999,responsiveWidth:!0,center:!0,useShrink:!0,toBottom:!1,useNativeSticky:!1,always:!1},overlap:!1,overlapIsActive:!1}},e.apply(this,arguments),this.computeOverlapPaddingDelayed=jQuery.debounce(this.computeOverlapPadding.bind(this),10),this.start()};n.prototype={start:function(){var t={};this.opts.data&&(t=this.opts.data),t.sticky&&this.startSticky(t.sticky),t.overlap&&this.startOverlap()},scriptCallIsValid:function(){if(!e.isCustomizerPreview())return!0;var n=t(this.$element).closest(".h-navigation_outer").get(0);return!n||!!n.__vue__},startOverlap:function(){var e=this.$element.closest("[data-colibri-navigation-overlap]");0===e.length&&(e=this.$element),this.overlapTarget=e.get(0),this.overlapIsActive=!0,t(window).bind("resize.overlap orientationchange.overlap",this.computeOverlapPaddingDelayed),window.addResizeListener(this.overlapTarget,this.computeOverlapPaddingDelayed),this.computeOverlapPadding()},stopOverlap:function(){this.overlapIsActive=!1,this.$sheet&&(document.head.removeChild(this.$sheet),this.$sheet=null),t(window).off(".overlap"),window.removeResizeListener(this.overlapTarget,this.computeOverlapPaddingDelayed)},computeOverlapPadding:function(){if(this.overlapIsActive){this.$sheet||(this.$sheet=document.createElement("style"),document.head.appendChild(this.$sheet));var t=this.overlapTarget.offsetHeight+"px !important;";this.$sheet.innerHTML=".h-navigation-padding{padding-top:"+t+"}"}},startSticky:function(n){var i=this;this.$element.data("stickData",n),this.$element.fixTo("body",n),e.isCustomizerPreview()||this.prepareSticky(),this.$element.bind("fixto-added.sticky",function(){i.$element.attr("data-in-sticky-state",!0)});this.$element.closest(".h-navigation_outer");this.$element.bind("fixto-add.sticky",function(){i.clearResetTimeouts();var t=i.$element.closest(".h-navigation_outer");t.css("animation-duration",""),t.css("min-height",t[0].offsetHeight)}),this.$element.bind("fixto-removed.sticky",function(){i.$element.removeAttr("data-in-sticky-state"),i.resetParentHeight()}),t(window).bind("resize.sticky orientationchange.sticky",function(){setTimeout(i.resizeCallback.bind(i),50)}),t(window).trigger("resize.sticky")},stopSticky:function(){var e=this.fixToInstance();e&&(e.destroy(),t(window).off(".sticky"),this.$element.removeData("fixto-instance"),this.resetParentHeight())},resetParentHeight:function(){this.clearResetTimeouts();var t=this.$element.closest(".h-navigation_outer"),e=1e3*parseFloat(this.$element.css("animation-duration"));t.css("animation-duration","0s"),this.resetTimeoutHeight=setTimeout(function(){t.css("min-height","")},1e3),this.resetTimeoutAnimation=setTimeout(function(){t.css("animation-duration","")},e+50)},clearResetTimeouts:function(){clearTimeout(this.resetTimeoutHeight),clearTimeout(this.resetTimeoutAnimation)},stop:function(){this.stopSticky(),this.stopOverlap()},prepareSticky:function(){var e=this;this.normal=this.$element.find("[data-nav-normal]"),this.sticky=this.$element.find("[data-nav-sticky]"),this.sticky.find("span[data-placeholder]").each(function(){t(this).parent().attr("data-placeholder",t(this).attr("data-placeholder")),t(this).remove()}),this.sticky.length&&this.sticky.children().length&&(this.$element.bind("fixto-added.sticky",function(){e.moveElementsToSticky()}),this.$element.bind("fixto-removed.sticky",function(){e.moveElementsToNormal()}))},moveElementsToSticky:function(){var e=this;this.sticky.find("[data-placeholder]").each(function(n,i){$this=t(this);var r=$this.attr("data-placeholder"),o=e.normal.find("[data-placeholder-provider="+r+"] .h-column__content >"),a=$this;a&&o.length&&t(a).append(o)}),this.normal.hide(),this.sticky.show()},moveElementsToNormal:function(){var e=this;this.sticky.find("[data-placeholder]").each(function(n,i){$this=t(this);var r=$this.attr("data-placeholder"),o=e.sticky.find("[data-placeholder="+r+"] >"),a=e.normal.find("[data-placeholder-provider="+r+"] .h-column__content");a&&o.length&&t(a).append(o)}),this.normal.show(),this.sticky.hide()},fixToInstance:function(){var t=this.$element.data();return!(!t||!t.fixtoInstance)&&t.fixtoInstance},resizeCallback:function(){if(window.innerWidth<1024){var t=(e=this.$element.data()).stickData;if(!t)return;if(!(n=e.fixtoInstance))return!0;window.innerWidth<=767?t.stickyOnMobile||n.stop():t.stickyOnTablet||n.stop()}else{var e,n;if(!(e=this.$element.data()))return;if(!(n=e.fixtoInstance))return!0;n.refresh(),n.start()}}},n.inherits(e),e.navigation=n,e.Plugin.create("navigation"),e.Plugin.autoload("navigation")}(jQuery,Colibri)},LPBr:function(t,e){!function(t,e){var n=function(t,n){this.namespace="search",this.defaults={},e.apply(this,arguments),this.start()};n.prototype={start:function(){"showLightBox"===this.$element.attr("light-box")&&this.$element.find(".colibri_search_button").click({element:this.$element},this.showLightBox.bind(this))},showLightBox:function(e){var n=e.data.element,i=this.opts?this.opts.styleClass:null,r=void 0;t.fancybox.open(t(n).html(),{baseClass:"colibri_logo_fancybox",beforeLoad:function(){(r=t(".fancybox-container")).addClass(i)},afterClose:function(){r&&r.removeClass(i)}})}},n.inherits(e),e.search=n,e.Plugin.create("search"),e.Plugin.autoload("search")}(jQuery,Colibri)},Ljcc:function(t,e){!function(t,e){var n=function(t,n){this.namespace="light-box",this.defaults={lightboxMedia:null},e.apply(this,arguments),this.start()};n.prototype={start:function(){var t=this.opts&&this.opts.lightboxMedia?this.opts.lightboxMedia:null;this.$element.click({element:this.$element,mediaType:t},this.open)},open:function(e){e.preventDefault(),e.stopImmediatePropagation();var n=e.data.element,i=e.data.mediaType;t.fancybox.open({type:i,src:n.attr("href")})}},n.inherits(e),e["light-box"]=n,e.Plugin.create("light-box"),e.Plugin.autoload("light-box")}(jQuery,Colibri)},LvDl:function(t,e,n){(function(t,n){(function(){var i,r=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",s="Invalid `variable` option passed into `_.template`",u="__lodash_hash_undefined__",c=500,l="__lodash_placeholder__",f=1,h=2,p=4,d=1,v=2,m=1,g=2,y=4,_=8,b=16,w=32,O=64,C=128,E=256,S=512,T=30,A="...",k=800,x=16,I=1,P=2,L=1/0,$=9007199254740991,j=1.7976931348623157e308,R=NaN,D=4294967295,N=D-1,M=D>>>1,z=[["ary",C],["bind",m],["bindKey",g],["curry",_],["curryRight",b],["flip",S],["partial",w],["partialRight",O],["rearg",E]],F="[object Arguments]",B="[object Array]",W="[object AsyncFunction]",U="[object Boolean]",H="[object Date]",V="[object DOMException]",G="[object Error]",Y="[object Function]",q="[object GeneratorFunction]",Q="[object Map]",Z="[object Number]",K="[object Null]",J="[object Object]",X="[object Proxy]",tt="[object RegExp]",et="[object Set]",nt="[object String]",it="[object Symbol]",rt="[object Undefined]",ot="[object WeakMap]",at="[object WeakSet]",st="[object ArrayBuffer]",ut="[object DataView]",ct="[object Float32Array]",lt="[object Float64Array]",ft="[object Int8Array]",ht="[object Int16Array]",pt="[object Int32Array]",dt="[object Uint8Array]",vt="[object Uint8ClampedArray]",mt="[object Uint16Array]",gt="[object Uint32Array]",yt=/\b__p \+= '';/g,_t=/\b(__p \+=) '' \+/g,bt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,wt=/&(?:amp|lt|gt|quot|#39);/g,Ot=/[&<>"']/g,Ct=RegExp(wt.source),Et=RegExp(Ot.source),St=/<%-([\s\S]+?)%>/g,Tt=/<%([\s\S]+?)%>/g,At=/<%=([\s\S]+?)%>/g,kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xt=/^\w*$/,It=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pt=/[\\^$.*+?()[\]{}|]/g,Lt=RegExp(Pt.source),$t=/^\s+/,jt=/\s/,Rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Dt=/\{\n\/\* \[wrapped with (.+)\] \*/,Nt=/,? & /,Mt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,zt=/[()=,{}\[\]\/\s]/,Ft=/\\(\\)?/g,Bt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Wt=/\w*$/,Ut=/^[-+]0x[0-9a-f]+$/i,Ht=/^0b[01]+$/i,Vt=/^\[object .+?Constructor\]$/,Gt=/^0o[0-7]+$/i,Yt=/^(?:0|[1-9]\d*)$/,qt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qt=/($^)/,Zt=/['\n\r\u2028\u2029\\]/g,Kt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Jt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Xt="[\\ud800-\\udfff]",te="["+Jt+"]",ee="["+Kt+"]",ne="\\d+",ie="[\\u2700-\\u27bf]",re="[a-z\\xdf-\\xf6\\xf8-\\xff]",oe="[^\\ud800-\\udfff"+Jt+ne+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",ae="\\ud83c[\\udffb-\\udfff]",se="[^\\ud800-\\udfff]",ue="(?:\\ud83c[\\udde6-\\uddff]){2}",ce="[\\ud800-\\udbff][\\udc00-\\udfff]",le="[A-Z\\xc0-\\xd6\\xd8-\\xde]",fe="(?:"+re+"|"+oe+")",he="(?:"+le+"|"+oe+")",pe="(?:"+ee+"|"+ae+")"+"?",de="[\\ufe0e\\ufe0f]?"+pe+("(?:\\u200d(?:"+[se,ue,ce].join("|")+")[\\ufe0e\\ufe0f]?"+pe+")*"),ve="(?:"+[ie,ue,ce].join("|")+")"+de,me="(?:"+[se+ee+"?",ee,ue,ce,Xt].join("|")+")",ge=RegExp("['’]","g"),ye=RegExp(ee,"g"),_e=RegExp(ae+"(?="+ae+")|"+me+de,"g"),be=RegExp([le+"?"+re+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[te,le,"$"].join("|")+")",he+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[te,le+fe,"$"].join("|")+")",le+"?"+fe+"+(?:['’](?:d|ll|m|re|s|t|ve))?",le+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ne,ve].join("|"),"g"),we=RegExp("[\\u200d\\ud800-\\udfff"+Kt+"\\ufe0e\\ufe0f]"),Oe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ce=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ee=-1,Se={};Se[ct]=Se[lt]=Se[ft]=Se[ht]=Se[pt]=Se[dt]=Se[vt]=Se[mt]=Se[gt]=!0,Se[F]=Se[B]=Se[st]=Se[U]=Se[ut]=Se[H]=Se[G]=Se[Y]=Se[Q]=Se[Z]=Se[J]=Se[tt]=Se[et]=Se[nt]=Se[ot]=!1;var Te={};Te[F]=Te[B]=Te[st]=Te[ut]=Te[U]=Te[H]=Te[ct]=Te[lt]=Te[ft]=Te[ht]=Te[pt]=Te[Q]=Te[Z]=Te[J]=Te[tt]=Te[et]=Te[nt]=Te[it]=Te[dt]=Te[vt]=Te[mt]=Te[gt]=!0,Te[G]=Te[Y]=Te[ot]=!1;var Ae={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ke=parseFloat,xe=parseInt,Ie="object"==typeof t&&t&&t.Object===Object&&t,Pe="object"==typeof self&&self&&self.Object===Object&&self,Le=Ie||Pe||Function("return this")(),$e="object"==typeof e&&e&&!e.nodeType&&e,je=$e&&"object"==typeof n&&n&&!n.nodeType&&n,Re=je&&je.exports===$e,De=Re&&Ie.process,Ne=function(){try{var t=je&&je.require&&je.require("util").types;return t||De&&De.binding&&De.binding("util")}catch(t){}}(),Me=Ne&&Ne.isArrayBuffer,ze=Ne&&Ne.isDate,Fe=Ne&&Ne.isMap,Be=Ne&&Ne.isRegExp,We=Ne&&Ne.isSet,Ue=Ne&&Ne.isTypedArray;function He(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function Ve(t,e,n,i){for(var r=-1,o=null==t?0:t.length;++r<o;){var a=t[r];e(i,a,n(a),t)}return i}function Ge(t,e){for(var n=-1,i=null==t?0:t.length;++n<i&&!1!==e(t[n],n,t););return t}function Ye(t,e){for(var n=null==t?0:t.length;n--&&!1!==e(t[n],n,t););return t}function qe(t,e){for(var n=-1,i=null==t?0:t.length;++n<i;)if(!e(t[n],n,t))return!1;return!0}function Qe(t,e){for(var n=-1,i=null==t?0:t.length,r=0,o=[];++n<i;){var a=t[n];e(a,n,t)&&(o[r++]=a)}return o}function Ze(t,e){return!!(null==t?0:t.length)&&sn(t,e,0)>-1}function Ke(t,e,n){for(var i=-1,r=null==t?0:t.length;++i<r;)if(n(e,t[i]))return!0;return!1}function Je(t,e){for(var n=-1,i=null==t?0:t.length,r=Array(i);++n<i;)r[n]=e(t[n],n,t);return r}function Xe(t,e){for(var n=-1,i=e.length,r=t.length;++n<i;)t[r+n]=e[n];return t}function tn(t,e,n,i){var r=-1,o=null==t?0:t.length;for(i&&o&&(n=t[++r]);++r<o;)n=e(n,t[r],r,t);return n}function en(t,e,n,i){var r=null==t?0:t.length;for(i&&r&&(n=t[--r]);r--;)n=e(n,t[r],r,t);return n}function nn(t,e){for(var n=-1,i=null==t?0:t.length;++n<i;)if(e(t[n],n,t))return!0;return!1}var rn=fn("length");function on(t,e,n){var i;return n(t,function(t,n,r){if(e(t,n,r))return i=n,!1}),i}function an(t,e,n,i){for(var r=t.length,o=n+(i?1:-1);i?o--:++o<r;)if(e(t[o],o,t))return o;return-1}function sn(t,e,n){return e==e?function(t,e,n){var i=n-1,r=t.length;for(;++i<r;)if(t[i]===e)return i;return-1}(t,e,n):an(t,cn,n)}function un(t,e,n,i){for(var r=n-1,o=t.length;++r<o;)if(i(t[r],e))return r;return-1}function cn(t){return t!=t}function ln(t,e){var n=null==t?0:t.length;return n?dn(t,e)/n:R}function fn(t){return function(e){return null==e?i:e[t]}}function hn(t){return function(e){return null==t?i:t[e]}}function pn(t,e,n,i,r){return r(t,function(t,r,o){n=i?(i=!1,t):e(n,t,r,o)}),n}function dn(t,e){for(var n,r=-1,o=t.length;++r<o;){var a=e(t[r]);a!==i&&(n=n===i?a:n+a)}return n}function vn(t,e){for(var n=-1,i=Array(t);++n<t;)i[n]=e(n);return i}function mn(t){return t?t.slice(0,$n(t)+1).replace($t,""):t}function gn(t){return function(e){return t(e)}}function yn(t,e){return Je(e,function(e){return t[e]})}function _n(t,e){return t.has(e)}function bn(t,e){for(var n=-1,i=t.length;++n<i&&sn(e,t[n],0)>-1;);return n}function wn(t,e){for(var n=t.length;n--&&sn(e,t[n],0)>-1;);return n}var On=hn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","Ĳ":"IJ","ĳ":"ij","Œ":"Oe","œ":"oe","ŉ":"'n","ſ":"s"}),Cn=hn({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function En(t){return"\\"+Ae[t]}function Sn(t){return we.test(t)}function Tn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function An(t,e){return function(n){return t(e(n))}}function kn(t,e){for(var n=-1,i=t.length,r=0,o=[];++n<i;){var a=t[n];a!==e&&a!==l||(t[n]=l,o[r++]=n)}return o}function xn(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function In(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=[t,t]}),n}function Pn(t){return Sn(t)?function(t){var e=_e.lastIndex=0;for(;_e.test(t);)++e;return e}(t):rn(t)}function Ln(t){return Sn(t)?function(t){return t.match(_e)||[]}(t):function(t){return t.split("")}(t)}function $n(t){for(var e=t.length;e--&&jt.test(t.charAt(e)););return e}var jn=hn({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"});var Rn=function t(e){var n,jt=(e=null==e?Le:Rn.defaults(Le.Object(),e,Rn.pick(Le,Ce))).Array,Kt=e.Date,Jt=e.Error,Xt=e.Function,te=e.Math,ee=e.Object,ne=e.RegExp,ie=e.String,re=e.TypeError,oe=jt.prototype,ae=Xt.prototype,se=ee.prototype,ue=e["__core-js_shared__"],ce=ae.toString,le=se.hasOwnProperty,fe=0,he=(n=/[^.]+$/.exec(ue&&ue.keys&&ue.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",pe=se.toString,de=ce.call(ee),ve=Le._,me=ne("^"+ce.call(le).replace(Pt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),_e=Re?e.Buffer:i,we=e.Symbol,Ae=e.Uint8Array,Ie=_e?_e.allocUnsafe:i,Pe=An(ee.getPrototypeOf,ee),$e=ee.create,je=se.propertyIsEnumerable,De=oe.splice,Ne=we?we.isConcatSpreadable:i,rn=we?we.iterator:i,hn=we?we.toStringTag:i,Dn=function(){try{var t=Bo(ee,"defineProperty");return t({},"",{}),t}catch(t){}}(),Nn=e.clearTimeout!==Le.clearTimeout&&e.clearTimeout,Mn=Kt&&Kt.now!==Le.Date.now&&Kt.now,zn=e.setTimeout!==Le.setTimeout&&e.setTimeout,Fn=te.ceil,Bn=te.floor,Wn=ee.getOwnPropertySymbols,Un=_e?_e.isBuffer:i,Hn=e.isFinite,Vn=oe.join,Gn=An(ee.keys,ee),Yn=te.max,qn=te.min,Qn=Kt.now,Zn=e.parseInt,Kn=te.random,Jn=oe.reverse,Xn=Bo(e,"DataView"),ti=Bo(e,"Map"),ei=Bo(e,"Promise"),ni=Bo(e,"Set"),ii=Bo(e,"WeakMap"),ri=Bo(ee,"create"),oi=ii&&new ii,ai={},si=pa(Xn),ui=pa(ti),ci=pa(ei),li=pa(ni),fi=pa(ii),hi=we?we.prototype:i,pi=hi?hi.valueOf:i,di=hi?hi.toString:i;function vi(t){if(Is(t)&&!_s(t)&&!(t instanceof _i)){if(t instanceof yi)return t;if(le.call(t,"__wrapped__"))return da(t)}return new yi(t)}var mi=function(){function t(){}return function(e){if(!xs(e))return{};if($e)return $e(e);t.prototype=e;var n=new t;return t.prototype=i,n}}();function gi(){}function yi(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function _i(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=D,this.__views__=[]}function bi(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}function wi(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}function Oi(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}function Ci(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new Oi;++e<n;)this.add(t[e])}function Ei(t){var e=this.__data__=new wi(t);this.size=e.size}function Si(t,e){var n=_s(t),i=!n&&ys(t),r=!n&&!i&&Cs(t),o=!n&&!i&&!r&&Ms(t),a=n||i||r||o,s=a?vn(t.length,ie):[],u=s.length;for(var c in t)!e&&!le.call(t,c)||a&&("length"==c||r&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||qo(c,u))||s.push(c);return s}function Ti(t){var e=t.length;return e?t[Cr(0,e-1)]:i}function Ai(t,e){return la(ro(t),Di(e,0,t.length))}function ki(t){return la(ro(t))}function xi(t,e,n){(n===i||vs(t[e],n))&&(n!==i||e in t)||ji(t,e,n)}function Ii(t,e,n){var r=t[e];le.call(t,e)&&vs(r,n)&&(n!==i||e in t)||ji(t,e,n)}function Pi(t,e){for(var n=t.length;n--;)if(vs(t[n][0],e))return n;return-1}function Li(t,e,n,i){return Bi(t,function(t,r,o){e(i,t,n(t),o)}),i}function $i(t,e){return t&&oo(e,au(e),t)}function ji(t,e,n){"__proto__"==e&&Dn?Dn(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Ri(t,e){for(var n=-1,r=e.length,o=jt(r),a=null==t;++n<r;)o[n]=a?i:eu(t,e[n]);return o}function Di(t,e,n){return t==t&&(n!==i&&(t=t<=n?t:n),e!==i&&(t=t>=e?t:e)),t}function Ni(t,e,n,r,o,a){var s,u=e&f,c=e&h,l=e&p;if(n&&(s=o?n(t,r,o,a):n(t)),s!==i)return s;if(!xs(t))return t;var d=_s(t);if(d){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&le.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!u)return ro(t,s)}else{var v=Ho(t),m=v==Y||v==q;if(Cs(t))return Jr(t,u);if(v==J||v==F||m&&!o){if(s=c||m?{}:Go(t),!u)return c?function(t,e){return oo(t,Uo(t),e)}(t,function(t,e){return t&&oo(e,su(e),t)}(s,t)):function(t,e){return oo(t,Wo(t),e)}(t,$i(s,t))}else{if(!Te[v])return o?t:{};s=function(t,e,n){var i,r,o,a=t.constructor;switch(e){case st:return Xr(t);case U:case H:return new a(+t);case ut:return function(t,e){var n=e?Xr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case ct:case lt:case ft:case ht:case pt:case dt:case vt:case mt:case gt:return to(t,n);case Q:return new a;case Z:case nt:return new a(t);case tt:return(o=new(r=t).constructor(r.source,Wt.exec(r))).lastIndex=r.lastIndex,o;case et:return new a;case it:return i=t,pi?ee(pi.call(i)):{}}}(t,v,u)}}a||(a=new Ei);var g=a.get(t);if(g)return g;a.set(t,s),Rs(t)?t.forEach(function(i){s.add(Ni(i,e,n,i,t,a))}):Ps(t)&&t.forEach(function(i,r){s.set(r,Ni(i,e,n,r,t,a))});var y=d?i:(l?c?jo:$o:c?su:au)(t);return Ge(y||t,function(i,r){y&&(i=t[r=i]),Ii(s,r,Ni(i,e,n,r,t,a))}),s}function Mi(t,e,n){var r=n.length;if(null==t)return!r;for(t=ee(t);r--;){var o=n[r],a=e[o],s=t[o];if(s===i&&!(o in t)||!a(s))return!1}return!0}function zi(t,e,n){if("function"!=typeof t)throw new re(a);return aa(function(){t.apply(i,n)},e)}function Fi(t,e,n,i){var o=-1,a=Ze,s=!0,u=t.length,c=[],l=e.length;if(!u)return c;n&&(e=Je(e,gn(n))),i?(a=Ke,s=!1):e.length>=r&&(a=_n,s=!1,e=new Ci(e));t:for(;++o<u;){var f=t[o],h=null==n?f:n(f);if(f=i||0!==f?f:0,s&&h==h){for(var p=l;p--;)if(e[p]===h)continue t;c.push(f)}else a(e,h,i)||c.push(f)}return c}vi.templateSettings={escape:St,evaluate:Tt,interpolate:At,variable:"",imports:{_:vi}},vi.prototype=gi.prototype,vi.prototype.constructor=vi,yi.prototype=mi(gi.prototype),yi.prototype.constructor=yi,_i.prototype=mi(gi.prototype),_i.prototype.constructor=_i,bi.prototype.clear=function(){this.__data__=ri?ri(null):{},this.size=0},bi.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},bi.prototype.get=function(t){var e=this.__data__;if(ri){var n=e[t];return n===u?i:n}return le.call(e,t)?e[t]:i},bi.prototype.has=function(t){var e=this.__data__;return ri?e[t]!==i:le.call(e,t)},bi.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=ri&&e===i?u:e,this},wi.prototype.clear=function(){this.__data__=[],this.size=0},wi.prototype.delete=function(t){var e=this.__data__,n=Pi(e,t);return!(n<0||(n==e.length-1?e.pop():De.call(e,n,1),--this.size,0))},wi.prototype.get=function(t){var e=this.__data__,n=Pi(e,t);return n<0?i:e[n][1]},wi.prototype.has=function(t){return Pi(this.__data__,t)>-1},wi.prototype.set=function(t,e){var n=this.__data__,i=Pi(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this},Oi.prototype.clear=function(){this.size=0,this.__data__={hash:new bi,map:new(ti||wi),string:new bi}},Oi.prototype.delete=function(t){var e=zo(this,t).delete(t);return this.size-=e?1:0,e},Oi.prototype.get=function(t){return zo(this,t).get(t)},Oi.prototype.has=function(t){return zo(this,t).has(t)},Oi.prototype.set=function(t,e){var n=zo(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this},Ci.prototype.add=Ci.prototype.push=function(t){return this.__data__.set(t,u),this},Ci.prototype.has=function(t){return this.__data__.has(t)},Ei.prototype.clear=function(){this.__data__=new wi,this.size=0},Ei.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Ei.prototype.get=function(t){return this.__data__.get(t)},Ei.prototype.has=function(t){return this.__data__.has(t)},Ei.prototype.set=function(t,e){var n=this.__data__;if(n instanceof wi){var i=n.__data__;if(!ti||i.length<r-1)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new Oi(i)}return n.set(t,e),this.size=n.size,this};var Bi=uo(Qi),Wi=uo(Zi,!0);function Ui(t,e){var n=!0;return Bi(t,function(t,i,r){return n=!!e(t,i,r)}),n}function Hi(t,e,n){for(var r=-1,o=t.length;++r<o;){var a=t[r],s=e(a);if(null!=s&&(u===i?s==s&&!Ns(s):n(s,u)))var u=s,c=a}return c}function Vi(t,e){var n=[];return Bi(t,function(t,i,r){e(t,i,r)&&n.push(t)}),n}function Gi(t,e,n,i,r){var o=-1,a=t.length;for(n||(n=Yo),r||(r=[]);++o<a;){var s=t[o];e>0&&n(s)?e>1?Gi(s,e-1,n,i,r):Xe(r,s):i||(r[r.length]=s)}return r}var Yi=co(),qi=co(!0);function Qi(t,e){return t&&Yi(t,e,au)}function Zi(t,e){return t&&qi(t,e,au)}function Ki(t,e){return Qe(e,function(e){return Ts(t[e])})}function Ji(t,e){for(var n=0,r=(e=qr(e,t)).length;null!=t&&n<r;)t=t[ha(e[n++])];return n&&n==r?t:i}function Xi(t,e,n){var i=e(t);return _s(t)?i:Xe(i,n(t))}function tr(t){return null==t?t===i?rt:K:hn&&hn in ee(t)?function(t){var e=le.call(t,hn),n=t[hn];try{t[hn]=i;var r=!0}catch(t){}var o=pe.call(t);return r&&(e?t[hn]=n:delete t[hn]),o}(t):function(t){return pe.call(t)}(t)}function er(t,e){return t>e}function nr(t,e){return null!=t&&le.call(t,e)}function ir(t,e){return null!=t&&e in ee(t)}function rr(t,e,n){for(var r=n?Ke:Ze,o=t[0].length,a=t.length,s=a,u=jt(a),c=1/0,l=[];s--;){var f=t[s];s&&e&&(f=Je(f,gn(e))),c=qn(f.length,c),u[s]=!n&&(e||o>=120&&f.length>=120)?new Ci(s&&f):i}f=t[0];var h=-1,p=u[0];t:for(;++h<o&&l.length<c;){var d=f[h],v=e?e(d):d;if(d=n||0!==d?d:0,!(p?_n(p,v):r(l,v,n))){for(s=a;--s;){var m=u[s];if(!(m?_n(m,v):r(t[s],v,n)))continue t}p&&p.push(v),l.push(d)}}return l}function or(t,e,n){var r=null==(t=ia(t,e=qr(e,t)))?t:t[ha(Sa(e))];return null==r?i:He(r,t,n)}function ar(t){return Is(t)&&tr(t)==F}function sr(t,e,n,r,o){return t===e||(null==t||null==e||!Is(t)&&!Is(e)?t!=t&&e!=e:function(t,e,n,r,o,a){var s=_s(t),u=_s(e),c=s?B:Ho(t),l=u?B:Ho(e),f=(c=c==F?J:c)==J,h=(l=l==F?J:l)==J,p=c==l;if(p&&Cs(t)){if(!Cs(e))return!1;s=!0,f=!1}if(p&&!f)return a||(a=new Ei),s||Ms(t)?Po(t,e,n,r,o,a):function(t,e,n,i,r,o,a){switch(n){case ut:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case st:return!(t.byteLength!=e.byteLength||!o(new Ae(t),new Ae(e)));case U:case H:case Z:return vs(+t,+e);case G:return t.name==e.name&&t.message==e.message;case tt:case nt:return t==e+"";case Q:var s=Tn;case et:var u=i&d;if(s||(s=xn),t.size!=e.size&&!u)return!1;var c=a.get(t);if(c)return c==e;i|=v,a.set(t,e);var l=Po(s(t),s(e),i,r,o,a);return a.delete(t),l;case it:if(pi)return pi.call(t)==pi.call(e)}return!1}(t,e,c,n,r,o,a);if(!(n&d)){var m=f&&le.call(t,"__wrapped__"),g=h&&le.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,_=g?e.value():e;return a||(a=new Ei),o(y,_,n,r,a)}}return!!p&&(a||(a=new Ei),function(t,e,n,r,o,a){var s=n&d,u=$o(t),c=u.length,l=$o(e).length;if(c!=l&&!s)return!1;for(var f=c;f--;){var h=u[f];if(!(s?h in e:le.call(e,h)))return!1}var p=a.get(t),v=a.get(e);if(p&&v)return p==e&&v==t;var m=!0;a.set(t,e),a.set(e,t);for(var g=s;++f<c;){h=u[f];var y=t[h],_=e[h];if(r)var b=s?r(_,y,h,e,t,a):r(y,_,h,t,e,a);if(!(b===i?y===_||o(y,_,n,r,a):b)){m=!1;break}g||(g="constructor"==h)}if(m&&!g){var w=t.constructor,O=e.constructor;w!=O&&"constructor"in t&&"constructor"in e&&!("function"==typeof w&&w instanceof w&&"function"==typeof O&&O instanceof O)&&(m=!1)}return a.delete(t),a.delete(e),m}(t,e,n,r,o,a))}(t,e,n,r,sr,o))}function ur(t,e,n,r){var o=n.length,a=o,s=!r;if(null==t)return!a;for(t=ee(t);o--;){var u=n[o];if(s&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++o<a;){var c=(u=n[o])[0],l=t[c],f=u[1];if(s&&u[2]){if(l===i&&!(c in t))return!1}else{var h=new Ei;if(r)var p=r(l,f,c,t,e,h);if(!(p===i?sr(f,l,d|v,r,h):p))return!1}}return!0}function cr(t){return!(!xs(t)||he&&he in t)&&(Ts(t)?me:Vt).test(pa(t))}function lr(t){return"function"==typeof t?t:null==t?Lu:"object"==typeof t?_s(t)?mr(t[0],t[1]):vr(t):Bu(t)}function fr(t){if(!Xo(t))return Gn(t);var e=[];for(var n in ee(t))le.call(t,n)&&"constructor"!=n&&e.push(n);return e}function hr(t){if(!xs(t))return function(t){var e=[];if(null!=t)for(var n in ee(t))e.push(n);return e}(t);var e=Xo(t),n=[];for(var i in t)("constructor"!=i||!e&&le.call(t,i))&&n.push(i);return n}function pr(t,e){return t<e}function dr(t,e){var n=-1,i=ws(t)?jt(t.length):[];return Bi(t,function(t,r,o){i[++n]=e(t,r,o)}),i}function vr(t){var e=Fo(t);return 1==e.length&&e[0][2]?ea(e[0][0],e[0][1]):function(n){return n===t||ur(n,t,e)}}function mr(t,e){return Zo(t)&&ta(e)?ea(ha(t),e):function(n){var r=eu(n,t);return r===i&&r===e?nu(n,t):sr(e,r,d|v)}}function gr(t,e,n,r,o){t!==e&&Yi(e,function(a,s){if(o||(o=new Ei),xs(a))!function(t,e,n,r,o,a,s){var u=ra(t,n),c=ra(e,n),l=s.get(c);if(l)xi(t,n,l);else{var f=a?a(u,c,n+"",t,e,s):i,h=f===i;if(h){var p=_s(c),d=!p&&Cs(c),v=!p&&!d&&Ms(c);f=c,p||d||v?_s(u)?f=u:Os(u)?f=ro(u):d?(h=!1,f=Jr(c,!0)):v?(h=!1,f=to(c,!0)):f=[]:$s(c)||ys(c)?(f=u,ys(u)?f=Gs(u):xs(u)&&!Ts(u)||(f=Go(c))):h=!1}h&&(s.set(c,f),o(f,c,r,a,s),s.delete(c)),xi(t,n,f)}}(t,e,s,n,gr,r,o);else{var u=r?r(ra(t,s),a,s+"",t,e,o):i;u===i&&(u=a),xi(t,s,u)}},su)}function yr(t,e){var n=t.length;if(n)return qo(e+=e<0?n:0,n)?t[e]:i}function _r(t,e,n){var i=-1;return e=Je(e=e.length?Je(e,function(t){return _s(t)?function(e){return Ji(e,1===t.length?t[0]:t)}:t}):[Lu],gn(Mo())),function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}(dr(t,function(t,n,r){return{criteria:Je(e,function(e){return e(t)}),index:++i,value:t}}),function(t,e){return function(t,e,n){for(var i=-1,r=t.criteria,o=e.criteria,a=r.length,s=n.length;++i<a;){var u=eo(r[i],o[i]);if(u){if(i>=s)return u;var c=n[i];return u*("desc"==c?-1:1)}}return t.index-e.index}(t,e,n)})}function br(t,e,n){for(var i=-1,r=e.length,o={};++i<r;){var a=e[i],s=Ji(t,a);n(s,a)&&kr(o,qr(a,t),s)}return o}function wr(t,e,n,i){var r=i?un:sn,o=-1,a=e.length,s=t;for(t===e&&(e=ro(e)),n&&(s=Je(t,gn(n)));++o<a;)for(var u=0,c=e[o],l=n?n(c):c;(u=r(s,l,u,i))>-1;)s!==t&&De.call(s,u,1),De.call(t,u,1);return t}function Or(t,e){for(var n=t?e.length:0,i=n-1;n--;){var r=e[n];if(n==i||r!==o){var o=r;qo(r)?De.call(t,r,1):Fr(t,r)}}return t}function Cr(t,e){return t+Bn(Kn()*(e-t+1))}function Er(t,e){var n="";if(!t||e<1||e>$)return n;do{e%2&&(n+=t),(e=Bn(e/2))&&(t+=t)}while(e);return n}function Sr(t,e){return sa(na(t,e,Lu),t+"")}function Tr(t){return Ti(vu(t))}function Ar(t,e){var n=vu(t);return la(n,Di(e,0,n.length))}function kr(t,e,n,r){if(!xs(t))return t;for(var o=-1,a=(e=qr(e,t)).length,s=a-1,u=t;null!=u&&++o<a;){var c=ha(e[o]),l=n;if("__proto__"===c||"constructor"===c||"prototype"===c)return t;if(o!=s){var f=u[c];(l=r?r(f,c,u):i)===i&&(l=xs(f)?f:qo(e[o+1])?[]:{})}Ii(u,c,l),u=u[c]}return t}var xr=oi?function(t,e){return oi.set(t,e),t}:Lu,Ir=Dn?function(t,e){return Dn(t,"toString",{configurable:!0,enumerable:!1,value:xu(e),writable:!0})}:Lu;function Pr(t){return la(vu(t))}function Lr(t,e,n){var i=-1,r=t.length;e<0&&(e=-e>r?0:r+e),(n=n>r?r:n)<0&&(n+=r),r=e>n?0:n-e>>>0,e>>>=0;for(var o=jt(r);++i<r;)o[i]=t[i+e];return o}function $r(t,e){var n;return Bi(t,function(t,i,r){return!(n=e(t,i,r))}),!!n}function jr(t,e,n){var i=0,r=null==t?i:t.length;if("number"==typeof e&&e==e&&r<=M){for(;i<r;){var o=i+r>>>1,a=t[o];null!==a&&!Ns(a)&&(n?a<=e:a<e)?i=o+1:r=o}return r}return Rr(t,e,Lu,n)}function Rr(t,e,n,r){var o=0,a=null==t?0:t.length;if(0===a)return 0;for(var s=(e=n(e))!=e,u=null===e,c=Ns(e),l=e===i;o<a;){var f=Bn((o+a)/2),h=n(t[f]),p=h!==i,d=null===h,v=h==h,m=Ns(h);if(s)var g=r||v;else g=l?v&&(r||p):u?v&&p&&(r||!d):c?v&&p&&!d&&(r||!m):!d&&!m&&(r?h<=e:h<e);g?o=f+1:a=f}return qn(a,N)}function Dr(t,e){for(var n=-1,i=t.length,r=0,o=[];++n<i;){var a=t[n],s=e?e(a):a;if(!n||!vs(s,u)){var u=s;o[r++]=0===a?0:a}}return o}function Nr(t){return"number"==typeof t?t:Ns(t)?R:+t}function Mr(t){if("string"==typeof t)return t;if(_s(t))return Je(t,Mr)+"";if(Ns(t))return di?di.call(t):"";var e=t+"";return"0"==e&&1/t==-L?"-0":e}function zr(t,e,n){var i=-1,o=Ze,a=t.length,s=!0,u=[],c=u;if(n)s=!1,o=Ke;else if(a>=r){var l=e?null:So(t);if(l)return xn(l);s=!1,o=_n,c=new Ci}else c=e?[]:u;t:for(;++i<a;){var f=t[i],h=e?e(f):f;if(f=n||0!==f?f:0,s&&h==h){for(var p=c.length;p--;)if(c[p]===h)continue t;e&&c.push(h),u.push(f)}else o(c,h,n)||(c!==u&&c.push(h),u.push(f))}return u}function Fr(t,e){return null==(t=ia(t,e=qr(e,t)))||delete t[ha(Sa(e))]}function Br(t,e,n,i){return kr(t,e,n(Ji(t,e)),i)}function Wr(t,e,n,i){for(var r=t.length,o=i?r:-1;(i?o--:++o<r)&&e(t[o],o,t););return n?Lr(t,i?0:o,i?o+1:r):Lr(t,i?o+1:0,i?r:o)}function Ur(t,e){var n=t;return n instanceof _i&&(n=n.value()),tn(e,function(t,e){return e.func.apply(e.thisArg,Xe([t],e.args))},n)}function Hr(t,e,n){var i=t.length;if(i<2)return i?zr(t[0]):[];for(var r=-1,o=jt(i);++r<i;)for(var a=t[r],s=-1;++s<i;)s!=r&&(o[r]=Fi(o[r]||a,t[s],e,n));return zr(Gi(o,1),e,n)}function Vr(t,e,n){for(var r=-1,o=t.length,a=e.length,s={};++r<o;){var u=r<a?e[r]:i;n(s,t[r],u)}return s}function Gr(t){return Os(t)?t:[]}function Yr(t){return"function"==typeof t?t:Lu}function qr(t,e){return _s(t)?t:Zo(t,e)?[t]:fa(Ys(t))}var Qr=Sr;function Zr(t,e,n){var r=t.length;return n=n===i?r:n,!e&&n>=r?t:Lr(t,e,n)}var Kr=Nn||function(t){return Le.clearTimeout(t)};function Jr(t,e){if(e)return t.slice();var n=t.length,i=Ie?Ie(n):new t.constructor(n);return t.copy(i),i}function Xr(t){var e=new t.constructor(t.byteLength);return new Ae(e).set(new Ae(t)),e}function to(t,e){var n=e?Xr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function eo(t,e){if(t!==e){var n=t!==i,r=null===t,o=t==t,a=Ns(t),s=e!==i,u=null===e,c=e==e,l=Ns(e);if(!u&&!l&&!a&&t>e||a&&s&&c&&!u&&!l||r&&s&&c||!n&&c||!o)return 1;if(!r&&!a&&!l&&t<e||l&&n&&o&&!r&&!a||u&&n&&o||!s&&o||!c)return-1}return 0}function no(t,e,n,i){for(var r=-1,o=t.length,a=n.length,s=-1,u=e.length,c=Yn(o-a,0),l=jt(u+c),f=!i;++s<u;)l[s]=e[s];for(;++r<a;)(f||r<o)&&(l[n[r]]=t[r]);for(;c--;)l[s++]=t[r++];return l}function io(t,e,n,i){for(var r=-1,o=t.length,a=-1,s=n.length,u=-1,c=e.length,l=Yn(o-s,0),f=jt(l+c),h=!i;++r<l;)f[r]=t[r];for(var p=r;++u<c;)f[p+u]=e[u];for(;++a<s;)(h||r<o)&&(f[p+n[a]]=t[r++]);return f}function ro(t,e){var n=-1,i=t.length;for(e||(e=jt(i));++n<i;)e[n]=t[n];return e}function oo(t,e,n,r){var o=!n;n||(n={});for(var a=-1,s=e.length;++a<s;){var u=e[a],c=r?r(n[u],t[u],u,n,t):i;c===i&&(c=t[u]),o?ji(n,u,c):Ii(n,u,c)}return n}function ao(t,e){return function(n,i){var r=_s(n)?Ve:Li,o=e?e():{};return r(n,t,Mo(i,2),o)}}function so(t){return Sr(function(e,n){var r=-1,o=n.length,a=o>1?n[o-1]:i,s=o>2?n[2]:i;for(a=t.length>3&&"function"==typeof a?(o--,a):i,s&&Qo(n[0],n[1],s)&&(a=o<3?i:a,o=1),e=ee(e);++r<o;){var u=n[r];u&&t(e,u,r,a)}return e})}function uo(t,e){return function(n,i){if(null==n)return n;if(!ws(n))return t(n,i);for(var r=n.length,o=e?r:-1,a=ee(n);(e?o--:++o<r)&&!1!==i(a[o],o,a););return n}}function co(t){return function(e,n,i){for(var r=-1,o=ee(e),a=i(e),s=a.length;s--;){var u=a[t?s:++r];if(!1===n(o[u],u,o))break}return e}}function lo(t){return function(e){var n=Sn(e=Ys(e))?Ln(e):i,r=n?n[0]:e.charAt(0),o=n?Zr(n,1).join(""):e.slice(1);return r[t]()+o}}function fo(t){return function(e){return tn(Tu(yu(e).replace(ge,"")),t,"")}}function ho(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=mi(t.prototype),i=t.apply(n,e);return xs(i)?i:n}}function po(t){return function(e,n,r){var o=ee(e);if(!ws(e)){var a=Mo(n,3);e=au(e),n=function(t){return a(o[t],t,o)}}var s=t(e,n,r);return s>-1?o[a?e[s]:s]:i}}function vo(t){return Lo(function(e){var n=e.length,r=n,o=yi.prototype.thru;for(t&&e.reverse();r--;){var s=e[r];if("function"!=typeof s)throw new re(a);if(o&&!u&&"wrapper"==Do(s))var u=new yi([],!0)}for(r=u?r:n;++r<n;){var c=Do(s=e[r]),l="wrapper"==c?Ro(s):i;u=l&&Ko(l[0])&&l[1]==(C|_|w|E)&&!l[4].length&&1==l[9]?u[Do(l[0])].apply(u,l[3]):1==s.length&&Ko(s)?u[c]():u.thru(s)}return function(){var t=arguments,i=t[0];if(u&&1==t.length&&_s(i))return u.plant(i).value();for(var r=0,o=n?e[r].apply(this,t):i;++r<n;)o=e[r].call(this,o);return o}})}function mo(t,e,n,r,o,a,s,u,c,l){var f=e&C,h=e&m,p=e&g,d=e&(_|b),v=e&S,y=p?i:ho(t);return function m(){for(var g=arguments.length,_=jt(g),b=g;b--;)_[b]=arguments[b];if(d)var w=No(m),O=function(t,e){for(var n=t.length,i=0;n--;)t[n]===e&&++i;return i}(_,w);if(r&&(_=no(_,r,o,d)),a&&(_=io(_,a,s,d)),g-=O,d&&g<l){var C=kn(_,w);return Co(t,e,mo,m.placeholder,n,_,C,u,c,l-g)}var E=h?n:this,S=p?E[t]:t;return g=_.length,u?_=function(t,e){for(var n=t.length,r=qn(e.length,n),o=ro(t);r--;){var a=e[r];t[r]=qo(a,n)?o[a]:i}return t}(_,u):v&&g>1&&_.reverse(),f&&c<g&&(_.length=c),this&&this!==Le&&this instanceof m&&(S=y||ho(S)),S.apply(E,_)}}function go(t,e){return function(n,i){return function(t,e,n,i){return Qi(t,function(t,r,o){e(i,n(t),r,o)}),i}(n,t,e(i),{})}}function yo(t,e){return function(n,r){var o;if(n===i&&r===i)return e;if(n!==i&&(o=n),r!==i){if(o===i)return r;"string"==typeof n||"string"==typeof r?(n=Mr(n),r=Mr(r)):(n=Nr(n),r=Nr(r)),o=t(n,r)}return o}}function _o(t){return Lo(function(e){return e=Je(e,gn(Mo())),Sr(function(n){var i=this;return t(e,function(t){return He(t,i,n)})})})}function bo(t,e){var n=(e=e===i?" ":Mr(e)).length;if(n<2)return n?Er(e,t):e;var r=Er(e,Fn(t/Pn(e)));return Sn(e)?Zr(Ln(r),0,t).join(""):r.slice(0,t)}function wo(t){return function(e,n,r){return r&&"number"!=typeof r&&Qo(e,n,r)&&(n=r=i),e=Ws(e),n===i?(n=e,e=0):n=Ws(n),function(t,e,n,i){for(var r=-1,o=Yn(Fn((e-t)/(n||1)),0),a=jt(o);o--;)a[i?o:++r]=t,t+=n;return a}(e,n,r=r===i?e<n?1:-1:Ws(r),t)}}function Oo(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=Vs(e),n=Vs(n)),t(e,n)}}function Co(t,e,n,r,o,a,s,u,c,l){var f=e&_;e|=f?w:O,(e&=~(f?O:w))&y||(e&=~(m|g));var h=[t,e,o,f?a:i,f?s:i,f?i:a,f?i:s,u,c,l],p=n.apply(i,h);return Ko(t)&&oa(p,h),p.placeholder=r,ua(p,t,e)}function Eo(t){var e=te[t];return function(t,n){if(t=Vs(t),(n=null==n?0:qn(Us(n),292))&&Hn(t)){var i=(Ys(t)+"e").split("e");return+((i=(Ys(e(i[0]+"e"+(+i[1]+n)))+"e").split("e"))[0]+"e"+(+i[1]-n))}return e(t)}}var So=ni&&1/xn(new ni([,-0]))[1]==L?function(t){return new ni(t)}:Nu;function To(t){return function(e){var n=Ho(e);return n==Q?Tn(e):n==et?In(e):function(t,e){return Je(e,function(e){return[e,t[e]]})}(e,t(e))}}function Ao(t,e,n,r,o,s,u,c){var f=e&g;if(!f&&"function"!=typeof t)throw new re(a);var h=r?r.length:0;if(h||(e&=~(w|O),r=o=i),u=u===i?u:Yn(Us(u),0),c=c===i?c:Us(c),h-=o?o.length:0,e&O){var p=r,d=o;r=o=i}var v=f?i:Ro(t),S=[t,e,n,r,o,p,d,s,u,c];if(v&&function(t,e){var n=t[1],i=e[1],r=n|i,o=r<(m|g|C),a=i==C&&n==_||i==C&&n==E&&t[7].length<=e[8]||i==(C|E)&&e[7].length<=e[8]&&n==_;if(!o&&!a)return t;i&m&&(t[2]=e[2],r|=n&m?0:y);var s=e[3];if(s){var u=t[3];t[3]=u?no(u,s,e[4]):s,t[4]=u?kn(t[3],l):e[4]}(s=e[5])&&(u=t[5],t[5]=u?io(u,s,e[6]):s,t[6]=u?kn(t[5],l):e[6]),(s=e[7])&&(t[7]=s),i&C&&(t[8]=null==t[8]?e[8]:qn(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=r}(S,v),t=S[0],e=S[1],n=S[2],r=S[3],o=S[4],!(c=S[9]=S[9]===i?f?0:t.length:Yn(S[9]-h,0))&&e&(_|b)&&(e&=~(_|b)),e&&e!=m)T=e==_||e==b?function(t,e,n){var r=ho(t);return function o(){for(var a=arguments.length,s=jt(a),u=a,c=No(o);u--;)s[u]=arguments[u];var l=a<3&&s[0]!==c&&s[a-1]!==c?[]:kn(s,c);return(a-=l.length)<n?Co(t,e,mo,o.placeholder,i,s,l,i,i,n-a):He(this&&this!==Le&&this instanceof o?r:t,this,s)}}(t,e,c):e!=w&&e!=(m|w)||o.length?mo.apply(i,S):function(t,e,n,i){var r=e&m,o=ho(t);return function e(){for(var a=-1,s=arguments.length,u=-1,c=i.length,l=jt(c+s),f=this&&this!==Le&&this instanceof e?o:t;++u<c;)l[u]=i[u];for(;s--;)l[u++]=arguments[++a];return He(f,r?n:this,l)}}(t,e,n,r);else var T=function(t,e,n){var i=e&m,r=ho(t);return function e(){return(this&&this!==Le&&this instanceof e?r:t).apply(i?n:this,arguments)}}(t,e,n);return ua((v?xr:oa)(T,S),t,e)}function ko(t,e,n,r){return t===i||vs(t,se[n])&&!le.call(r,n)?e:t}function xo(t,e,n,r,o,a){return xs(t)&&xs(e)&&(a.set(e,t),gr(t,e,i,xo,a),a.delete(e)),t}function Io(t){return $s(t)?i:t}function Po(t,e,n,r,o,a){var s=n&d,u=t.length,c=e.length;if(u!=c&&!(s&&c>u))return!1;var l=a.get(t),f=a.get(e);if(l&&f)return l==e&&f==t;var h=-1,p=!0,m=n&v?new Ci:i;for(a.set(t,e),a.set(e,t);++h<u;){var g=t[h],y=e[h];if(r)var _=s?r(y,g,h,e,t,a):r(g,y,h,t,e,a);if(_!==i){if(_)continue;p=!1;break}if(m){if(!nn(e,function(t,e){if(!_n(m,e)&&(g===t||o(g,t,n,r,a)))return m.push(e)})){p=!1;break}}else if(g!==y&&!o(g,y,n,r,a)){p=!1;break}}return a.delete(t),a.delete(e),p}function Lo(t){return sa(na(t,i,ba),t+"")}function $o(t){return Xi(t,au,Wo)}function jo(t){return Xi(t,su,Uo)}var Ro=oi?function(t){return oi.get(t)}:Nu;function Do(t){for(var e=t.name+"",n=ai[e],i=le.call(ai,e)?n.length:0;i--;){var r=n[i],o=r.func;if(null==o||o==t)return r.name}return e}function No(t){return(le.call(vi,"placeholder")?vi:t).placeholder}function Mo(){var t=vi.iteratee||$u;return t=t===$u?lr:t,arguments.length?t(arguments[0],arguments[1]):t}function zo(t,e){var n,i,r=t.__data__;return("string"==(i=typeof(n=e))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==n:null===n)?r["string"==typeof e?"string":"hash"]:r.map}function Fo(t){for(var e=au(t),n=e.length;n--;){var i=e[n],r=t[i];e[n]=[i,r,ta(r)]}return e}function Bo(t,e){var n=function(t,e){return null==t?i:t[e]}(t,e);return cr(n)?n:i}var Wo=Wn?function(t){return null==t?[]:(t=ee(t),Qe(Wn(t),function(e){return je.call(t,e)}))}:Hu,Uo=Wn?function(t){for(var e=[];t;)Xe(e,Wo(t)),t=Pe(t);return e}:Hu,Ho=tr;function Vo(t,e,n){for(var i=-1,r=(e=qr(e,t)).length,o=!1;++i<r;){var a=ha(e[i]);if(!(o=null!=t&&n(t,a)))break;t=t[a]}return o||++i!=r?o:!!(r=null==t?0:t.length)&&ks(r)&&qo(a,r)&&(_s(t)||ys(t))}function Go(t){return"function"!=typeof t.constructor||Xo(t)?{}:mi(Pe(t))}function Yo(t){return _s(t)||ys(t)||!!(Ne&&t&&t[Ne])}function qo(t,e){var n=typeof t;return!!(e=null==e?$:e)&&("number"==n||"symbol"!=n&&Yt.test(t))&&t>-1&&t%1==0&&t<e}function Qo(t,e,n){if(!xs(n))return!1;var i=typeof e;return!!("number"==i?ws(n)&&qo(e,n.length):"string"==i&&e in n)&&vs(n[e],t)}function Zo(t,e){if(_s(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!Ns(t))||xt.test(t)||!kt.test(t)||null!=e&&t in ee(e)}function Ko(t){var e=Do(t),n=vi[e];if("function"!=typeof n||!(e in _i.prototype))return!1;if(t===n)return!0;var i=Ro(n);return!!i&&t===i[0]}(Xn&&Ho(new Xn(new ArrayBuffer(1)))!=ut||ti&&Ho(new ti)!=Q||ei&&"[object Promise]"!=Ho(ei.resolve())||ni&&Ho(new ni)!=et||ii&&Ho(new ii)!=ot)&&(Ho=function(t){var e=tr(t),n=e==J?t.constructor:i,r=n?pa(n):"";if(r)switch(r){case si:return ut;case ui:return Q;case ci:return"[object Promise]";case li:return et;case fi:return ot}return e});var Jo=ue?Ts:Vu;function Xo(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||se)}function ta(t){return t==t&&!xs(t)}function ea(t,e){return function(n){return null!=n&&n[t]===e&&(e!==i||t in ee(n))}}function na(t,e,n){return e=Yn(e===i?t.length-1:e,0),function(){for(var i=arguments,r=-1,o=Yn(i.length-e,0),a=jt(o);++r<o;)a[r]=i[e+r];r=-1;for(var s=jt(e+1);++r<e;)s[r]=i[r];return s[e]=n(a),He(t,this,s)}}function ia(t,e){return e.length<2?t:Ji(t,Lr(e,0,-1))}function ra(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var oa=ca(xr),aa=zn||function(t,e){return Le.setTimeout(t,e)},sa=ca(Ir);function ua(t,e,n){var i=e+"";return sa(t,function(t,e){var n=e.length;if(!n)return t;var i=n-1;return e[i]=(n>1?"& ":"")+e[i],e=e.join(n>2?", ":" "),t.replace(Rt,"{\n/* [wrapped with "+e+"] */\n")}(i,function(t,e){return Ge(z,function(n){var i="_."+n[0];e&n[1]&&!Ze(t,i)&&t.push(i)}),t.sort()}(function(t){var e=t.match(Dt);return e?e[1].split(Nt):[]}(i),n)))}function ca(t){var e=0,n=0;return function(){var r=Qn(),o=x-(r-n);if(n=r,o>0){if(++e>=k)return arguments[0]}else e=0;return t.apply(i,arguments)}}function la(t,e){var n=-1,r=t.length,o=r-1;for(e=e===i?r:e;++n<e;){var a=Cr(n,o),s=t[a];t[a]=t[n],t[n]=s}return t.length=e,t}var fa=function(t){var e=cs(t,function(t){return n.size===c&&n.clear(),t}),n=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(It,function(t,n,i,r){e.push(i?r.replace(Ft,"$1"):n||t)}),e});function ha(t){if("string"==typeof t||Ns(t))return t;var e=t+"";return"0"==e&&1/t==-L?"-0":e}function pa(t){if(null!=t){try{return ce.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function da(t){if(t instanceof _i)return t.clone();var e=new yi(t.__wrapped__,t.__chain__);return e.__actions__=ro(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}var va=Sr(function(t,e){return Os(t)?Fi(t,Gi(e,1,Os,!0)):[]}),ma=Sr(function(t,e){var n=Sa(e);return Os(n)&&(n=i),Os(t)?Fi(t,Gi(e,1,Os,!0),Mo(n,2)):[]}),ga=Sr(function(t,e){var n=Sa(e);return Os(n)&&(n=i),Os(t)?Fi(t,Gi(e,1,Os,!0),i,n):[]});function ya(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:Us(n);return r<0&&(r=Yn(i+r,0)),an(t,Mo(e,3),r)}function _a(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var o=r-1;return n!==i&&(o=Us(n),o=n<0?Yn(r+o,0):qn(o,r-1)),an(t,Mo(e,3),o,!0)}function ba(t){return null!=t&&t.length?Gi(t,1):[]}function wa(t){return t&&t.length?t[0]:i}var Oa=Sr(function(t){var e=Je(t,Gr);return e.length&&e[0]===t[0]?rr(e):[]}),Ca=Sr(function(t){var e=Sa(t),n=Je(t,Gr);return e===Sa(n)?e=i:n.pop(),n.length&&n[0]===t[0]?rr(n,Mo(e,2)):[]}),Ea=Sr(function(t){var e=Sa(t),n=Je(t,Gr);return(e="function"==typeof e?e:i)&&n.pop(),n.length&&n[0]===t[0]?rr(n,i,e):[]});function Sa(t){var e=null==t?0:t.length;return e?t[e-1]:i}var Ta=Sr(Aa);function Aa(t,e){return t&&t.length&&e&&e.length?wr(t,e):t}var ka=Lo(function(t,e){var n=null==t?0:t.length,i=Ri(t,e);return Or(t,Je(e,function(t){return qo(t,n)?+t:t}).sort(eo)),i});function xa(t){return null==t?t:Jn.call(t)}var Ia=Sr(function(t){return zr(Gi(t,1,Os,!0))}),Pa=Sr(function(t){var e=Sa(t);return Os(e)&&(e=i),zr(Gi(t,1,Os,!0),Mo(e,2))}),La=Sr(function(t){var e=Sa(t);return e="function"==typeof e?e:i,zr(Gi(t,1,Os,!0),i,e)});function $a(t){if(!t||!t.length)return[];var e=0;return t=Qe(t,function(t){if(Os(t))return e=Yn(t.length,e),!0}),vn(e,function(e){return Je(t,fn(e))})}function ja(t,e){if(!t||!t.length)return[];var n=$a(t);return null==e?n:Je(n,function(t){return He(e,i,t)})}var Ra=Sr(function(t,e){return Os(t)?Fi(t,e):[]}),Da=Sr(function(t){return Hr(Qe(t,Os))}),Na=Sr(function(t){var e=Sa(t);return Os(e)&&(e=i),Hr(Qe(t,Os),Mo(e,2))}),Ma=Sr(function(t){var e=Sa(t);return e="function"==typeof e?e:i,Hr(Qe(t,Os),i,e)}),za=Sr($a);var Fa=Sr(function(t){var e=t.length,n=e>1?t[e-1]:i;return ja(t,n="function"==typeof n?(t.pop(),n):i)});function Ba(t){var e=vi(t);return e.__chain__=!0,e}function Wa(t,e){return e(t)}var Ua=Lo(function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return Ri(e,t)};return!(e>1||this.__actions__.length)&&r instanceof _i&&qo(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:Wa,args:[o],thisArg:i}),new yi(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(i),t})):this.thru(o)});var Ha=ao(function(t,e,n){le.call(t,n)?++t[n]:ji(t,n,1)});var Va=po(ya),Ga=po(_a);function Ya(t,e){return(_s(t)?Ge:Bi)(t,Mo(e,3))}function qa(t,e){return(_s(t)?Ye:Wi)(t,Mo(e,3))}var Qa=ao(function(t,e,n){le.call(t,n)?t[n].push(e):ji(t,n,[e])});var Za=Sr(function(t,e,n){var i=-1,r="function"==typeof e,o=ws(t)?jt(t.length):[];return Bi(t,function(t){o[++i]=r?He(e,t,n):or(t,e,n)}),o}),Ka=ao(function(t,e,n){ji(t,n,e)});function Ja(t,e){return(_s(t)?Je:dr)(t,Mo(e,3))}var Xa=ao(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]});var ts=Sr(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Qo(t,e[0],e[1])?e=[]:n>2&&Qo(e[0],e[1],e[2])&&(e=[e[0]]),_r(t,Gi(e,1),[])}),es=Mn||function(){return Le.Date.now()};function ns(t,e,n){return e=n?i:e,e=t&&null==e?t.length:e,Ao(t,C,i,i,i,i,e)}function is(t,e){var n;if("function"!=typeof e)throw new re(a);return t=Us(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=i),n}}var rs=Sr(function(t,e,n){var i=m;if(n.length){var r=kn(n,No(rs));i|=w}return Ao(t,i,e,n,r)}),os=Sr(function(t,e,n){var i=m|g;if(n.length){var r=kn(n,No(os));i|=w}return Ao(e,i,t,n,r)});function as(t,e,n){var r,o,s,u,c,l,f=0,h=!1,p=!1,d=!0;if("function"!=typeof t)throw new re(a);function v(e){var n=r,a=o;return r=o=i,f=e,u=t.apply(a,n)}function m(t){var n=t-l;return l===i||n>=e||n<0||p&&t-f>=s}function g(){var t=es();if(m(t))return y(t);c=aa(g,function(t){var n=e-(t-l);return p?qn(n,s-(t-f)):n}(t))}function y(t){return c=i,d&&r?v(t):(r=o=i,u)}function _(){var t=es(),n=m(t);if(r=arguments,o=this,l=t,n){if(c===i)return function(t){return f=t,c=aa(g,e),h?v(t):u}(l);if(p)return Kr(c),c=aa(g,e),v(l)}return c===i&&(c=aa(g,e)),u}return e=Vs(e)||0,xs(n)&&(h=!!n.leading,s=(p="maxWait"in n)?Yn(Vs(n.maxWait)||0,e):s,d="trailing"in n?!!n.trailing:d),_.cancel=function(){c!==i&&Kr(c),f=0,r=l=o=c=i},_.flush=function(){return c===i?u:y(es())},_}var ss=Sr(function(t,e){return zi(t,1,e)}),us=Sr(function(t,e,n){return zi(t,Vs(e)||0,n)});function cs(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new re(a);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var a=t.apply(this,i);return n.cache=o.set(r,a)||o,a};return n.cache=new(cs.Cache||Oi),n}function ls(t){if("function"!=typeof t)throw new re(a);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}cs.Cache=Oi;var fs=Qr(function(t,e){var n=(e=1==e.length&&_s(e[0])?Je(e[0],gn(Mo())):Je(Gi(e,1),gn(Mo()))).length;return Sr(function(i){for(var r=-1,o=qn(i.length,n);++r<o;)i[r]=e[r].call(this,i[r]);return He(t,this,i)})}),hs=Sr(function(t,e){var n=kn(e,No(hs));return Ao(t,w,i,e,n)}),ps=Sr(function(t,e){var n=kn(e,No(ps));return Ao(t,O,i,e,n)}),ds=Lo(function(t,e){return Ao(t,E,i,i,i,e)});function vs(t,e){return t===e||t!=t&&e!=e}var ms=Oo(er),gs=Oo(function(t,e){return t>=e}),ys=ar(function(){return arguments}())?ar:function(t){return Is(t)&&le.call(t,"callee")&&!je.call(t,"callee")},_s=jt.isArray,bs=Me?gn(Me):function(t){return Is(t)&&tr(t)==st};function ws(t){return null!=t&&ks(t.length)&&!Ts(t)}function Os(t){return Is(t)&&ws(t)}var Cs=Un||Vu,Es=ze?gn(ze):function(t){return Is(t)&&tr(t)==H};function Ss(t){if(!Is(t))return!1;var e=tr(t);return e==G||e==V||"string"==typeof t.message&&"string"==typeof t.name&&!$s(t)}function Ts(t){if(!xs(t))return!1;var e=tr(t);return e==Y||e==q||e==W||e==X}function As(t){return"number"==typeof t&&t==Us(t)}function ks(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=$}function xs(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Is(t){return null!=t&&"object"==typeof t}var Ps=Fe?gn(Fe):function(t){return Is(t)&&Ho(t)==Q};function Ls(t){return"number"==typeof t||Is(t)&&tr(t)==Z}function $s(t){if(!Is(t)||tr(t)!=J)return!1;var e=Pe(t);if(null===e)return!0;var n=le.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&ce.call(n)==de}var js=Be?gn(Be):function(t){return Is(t)&&tr(t)==tt};var Rs=We?gn(We):function(t){return Is(t)&&Ho(t)==et};function Ds(t){return"string"==typeof t||!_s(t)&&Is(t)&&tr(t)==nt}function Ns(t){return"symbol"==typeof t||Is(t)&&tr(t)==it}var Ms=Ue?gn(Ue):function(t){return Is(t)&&ks(t.length)&&!!Se[tr(t)]};var zs=Oo(pr),Fs=Oo(function(t,e){return t<=e});function Bs(t){if(!t)return[];if(ws(t))return Ds(t)?Ln(t):ro(t);if(rn&&t[rn])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[rn]());var e=Ho(t);return(e==Q?Tn:e==et?xn:vu)(t)}function Ws(t){return t?(t=Vs(t))===L||t===-L?(t<0?-1:1)*j:t==t?t:0:0===t?t:0}function Us(t){var e=Ws(t),n=e%1;return e==e?n?e-n:e:0}function Hs(t){return t?Di(Us(t),0,D):0}function Vs(t){if("number"==typeof t)return t;if(Ns(t))return R;if(xs(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=xs(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=mn(t);var n=Ht.test(t);return n||Gt.test(t)?xe(t.slice(2),n?2:8):Ut.test(t)?R:+t}function Gs(t){return oo(t,su(t))}function Ys(t){return null==t?"":Mr(t)}var qs=so(function(t,e){if(Xo(e)||ws(e))oo(e,au(e),t);else for(var n in e)le.call(e,n)&&Ii(t,n,e[n])}),Qs=so(function(t,e){oo(e,su(e),t)}),Zs=so(function(t,e,n,i){oo(e,su(e),t,i)}),Ks=so(function(t,e,n,i){oo(e,au(e),t,i)}),Js=Lo(Ri);var Xs=Sr(function(t,e){t=ee(t);var n=-1,r=e.length,o=r>2?e[2]:i;for(o&&Qo(e[0],e[1],o)&&(r=1);++n<r;)for(var a=e[n],s=su(a),u=-1,c=s.length;++u<c;){var l=s[u],f=t[l];(f===i||vs(f,se[l])&&!le.call(t,l))&&(t[l]=a[l])}return t}),tu=Sr(function(t){return t.push(i,xo),He(cu,i,t)});function eu(t,e,n){var r=null==t?i:Ji(t,e);return r===i?n:r}function nu(t,e){return null!=t&&Vo(t,e,ir)}var iu=go(function(t,e,n){null!=e&&"function"!=typeof e.toString&&(e=pe.call(e)),t[e]=n},xu(Lu)),ru=go(function(t,e,n){null!=e&&"function"!=typeof e.toString&&(e=pe.call(e)),le.call(t,e)?t[e].push(n):t[e]=[n]},Mo),ou=Sr(or);function au(t){return ws(t)?Si(t):fr(t)}function su(t){return ws(t)?Si(t,!0):hr(t)}var uu=so(function(t,e,n){gr(t,e,n)}),cu=so(function(t,e,n,i){gr(t,e,n,i)}),lu=Lo(function(t,e){var n={};if(null==t)return n;var i=!1;e=Je(e,function(e){return e=qr(e,t),i||(i=e.length>1),e}),oo(t,jo(t),n),i&&(n=Ni(n,f|h|p,Io));for(var r=e.length;r--;)Fr(n,e[r]);return n});var fu=Lo(function(t,e){return null==t?{}:function(t,e){return br(t,e,function(e,n){return nu(t,n)})}(t,e)});function hu(t,e){if(null==t)return{};var n=Je(jo(t),function(t){return[t]});return e=Mo(e),br(t,n,function(t,n){return e(t,n[0])})}var pu=To(au),du=To(su);function vu(t){return null==t?[]:yn(t,au(t))}var mu=fo(function(t,e,n){return e=e.toLowerCase(),t+(n?gu(e):e)});function gu(t){return Su(Ys(t).toLowerCase())}function yu(t){return(t=Ys(t))&&t.replace(qt,On).replace(ye,"")}var _u=fo(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),bu=fo(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),wu=lo("toLowerCase");var Ou=fo(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()});var Cu=fo(function(t,e,n){return t+(n?" ":"")+Su(e)});var Eu=fo(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Su=lo("toUpperCase");function Tu(t,e,n){return t=Ys(t),(e=n?i:e)===i?function(t){return Oe.test(t)}(t)?function(t){return t.match(be)||[]}(t):function(t){return t.match(Mt)||[]}(t):t.match(e)||[]}var Au=Sr(function(t,e){try{return He(t,i,e)}catch(t){return Ss(t)?t:new Jt(t)}}),ku=Lo(function(t,e){return Ge(e,function(e){e=ha(e),ji(t,e,rs(t[e],t))}),t});function xu(t){return function(){return t}}var Iu=vo(),Pu=vo(!0);function Lu(t){return t}function $u(t){return lr("function"==typeof t?t:Ni(t,f))}var ju=Sr(function(t,e){return function(n){return or(n,t,e)}}),Ru=Sr(function(t,e){return function(n){return or(t,n,e)}});function Du(t,e,n){var i=au(e),r=Ki(e,i);null!=n||xs(e)&&(r.length||!i.length)||(n=e,e=t,t=this,r=Ki(e,au(e)));var o=!(xs(n)&&"chain"in n&&!n.chain),a=Ts(t);return Ge(r,function(n){var i=e[n];t[n]=i,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__);return(n.__actions__=ro(this.__actions__)).push({func:i,args:arguments,thisArg:t}),n.__chain__=e,n}return i.apply(t,Xe([this.value()],arguments))})}),t}function Nu(){}var Mu=_o(Je),zu=_o(qe),Fu=_o(nn);function Bu(t){return Zo(t)?fn(ha(t)):function(t){return function(e){return Ji(e,t)}}(t)}var Wu=wo(),Uu=wo(!0);function Hu(){return[]}function Vu(){return!1}var Gu=yo(function(t,e){return t+e},0),Yu=Eo("ceil"),qu=yo(function(t,e){return t/e},1),Qu=Eo("floor");var Zu,Ku=yo(function(t,e){return t*e},1),Ju=Eo("round"),Xu=yo(function(t,e){return t-e},0);return vi.after=function(t,e){if("function"!=typeof e)throw new re(a);return t=Us(t),function(){if(--t<1)return e.apply(this,arguments)}},vi.ary=ns,vi.assign=qs,vi.assignIn=Qs,vi.assignInWith=Zs,vi.assignWith=Ks,vi.at=Js,vi.before=is,vi.bind=rs,vi.bindAll=ku,vi.bindKey=os,vi.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return _s(t)?t:[t]},vi.chain=Ba,vi.chunk=function(t,e,n){e=(n?Qo(t,e,n):e===i)?1:Yn(Us(e),0);var r=null==t?0:t.length;if(!r||e<1)return[];for(var o=0,a=0,s=jt(Fn(r/e));o<r;)s[a++]=Lr(t,o,o+=e);return s},vi.compact=function(t){for(var e=-1,n=null==t?0:t.length,i=0,r=[];++e<n;){var o=t[e];o&&(r[i++]=o)}return r},vi.concat=function(){var t=arguments.length;if(!t)return[];for(var e=jt(t-1),n=arguments[0],i=t;i--;)e[i-1]=arguments[i];return Xe(_s(n)?ro(n):[n],Gi(e,1))},vi.cond=function(t){var e=null==t?0:t.length,n=Mo();return t=e?Je(t,function(t){if("function"!=typeof t[1])throw new re(a);return[n(t[0]),t[1]]}):[],Sr(function(n){for(var i=-1;++i<e;){var r=t[i];if(He(r[0],this,n))return He(r[1],this,n)}})},vi.conforms=function(t){return function(t){var e=au(t);return function(n){return Mi(n,t,e)}}(Ni(t,f))},vi.constant=xu,vi.countBy=Ha,vi.create=function(t,e){var n=mi(t);return null==e?n:$i(n,e)},vi.curry=function t(e,n,r){var o=Ao(e,_,i,i,i,i,i,n=r?i:n);return o.placeholder=t.placeholder,o},vi.curryRight=function t(e,n,r){var o=Ao(e,b,i,i,i,i,i,n=r?i:n);return o.placeholder=t.placeholder,o},vi.debounce=as,vi.defaults=Xs,vi.defaultsDeep=tu,vi.defer=ss,vi.delay=us,vi.difference=va,vi.differenceBy=ma,vi.differenceWith=ga,vi.drop=function(t,e,n){var r=null==t?0:t.length;return r?Lr(t,(e=n||e===i?1:Us(e))<0?0:e,r):[]},vi.dropRight=function(t,e,n){var r=null==t?0:t.length;return r?Lr(t,0,(e=r-(e=n||e===i?1:Us(e)))<0?0:e):[]},vi.dropRightWhile=function(t,e){return t&&t.length?Wr(t,Mo(e,3),!0,!0):[]},vi.dropWhile=function(t,e){return t&&t.length?Wr(t,Mo(e,3),!0):[]},vi.fill=function(t,e,n,r){var o=null==t?0:t.length;return o?(n&&"number"!=typeof n&&Qo(t,e,n)&&(n=0,r=o),function(t,e,n,r){var o=t.length;for((n=Us(n))<0&&(n=-n>o?0:o+n),(r=r===i||r>o?o:Us(r))<0&&(r+=o),r=n>r?0:Hs(r);n<r;)t[n++]=e;return t}(t,e,n,r)):[]},vi.filter=function(t,e){return(_s(t)?Qe:Vi)(t,Mo(e,3))},vi.flatMap=function(t,e){return Gi(Ja(t,e),1)},vi.flatMapDeep=function(t,e){return Gi(Ja(t,e),L)},vi.flatMapDepth=function(t,e,n){return n=n===i?1:Us(n),Gi(Ja(t,e),n)},vi.flatten=ba,vi.flattenDeep=function(t){return null!=t&&t.length?Gi(t,L):[]},vi.flattenDepth=function(t,e){return null!=t&&t.length?Gi(t,e=e===i?1:Us(e)):[]},vi.flip=function(t){return Ao(t,S)},vi.flow=Iu,vi.flowRight=Pu,vi.fromPairs=function(t){for(var e=-1,n=null==t?0:t.length,i={};++e<n;){var r=t[e];i[r[0]]=r[1]}return i},vi.functions=function(t){return null==t?[]:Ki(t,au(t))},vi.functionsIn=function(t){return null==t?[]:Ki(t,su(t))},vi.groupBy=Qa,vi.initial=function(t){return null!=t&&t.length?Lr(t,0,-1):[]},vi.intersection=Oa,vi.intersectionBy=Ca,vi.intersectionWith=Ea,vi.invert=iu,vi.invertBy=ru,vi.invokeMap=Za,vi.iteratee=$u,vi.keyBy=Ka,vi.keys=au,vi.keysIn=su,vi.map=Ja,vi.mapKeys=function(t,e){var n={};return e=Mo(e,3),Qi(t,function(t,i,r){ji(n,e(t,i,r),t)}),n},vi.mapValues=function(t,e){var n={};return e=Mo(e,3),Qi(t,function(t,i,r){ji(n,i,e(t,i,r))}),n},vi.matches=function(t){return vr(Ni(t,f))},vi.matchesProperty=function(t,e){return mr(t,Ni(e,f))},vi.memoize=cs,vi.merge=uu,vi.mergeWith=cu,vi.method=ju,vi.methodOf=Ru,vi.mixin=Du,vi.negate=ls,vi.nthArg=function(t){return t=Us(t),Sr(function(e){return yr(e,t)})},vi.omit=lu,vi.omitBy=function(t,e){return hu(t,ls(Mo(e)))},vi.once=function(t){return is(2,t)},vi.orderBy=function(t,e,n,r){return null==t?[]:(_s(e)||(e=null==e?[]:[e]),_s(n=r?i:n)||(n=null==n?[]:[n]),_r(t,e,n))},vi.over=Mu,vi.overArgs=fs,vi.overEvery=zu,vi.overSome=Fu,vi.partial=hs,vi.partialRight=ps,vi.partition=Xa,vi.pick=fu,vi.pickBy=hu,vi.property=Bu,vi.propertyOf=function(t){return function(e){return null==t?i:Ji(t,e)}},vi.pull=Ta,vi.pullAll=Aa,vi.pullAllBy=function(t,e,n){return t&&t.length&&e&&e.length?wr(t,e,Mo(n,2)):t},vi.pullAllWith=function(t,e,n){return t&&t.length&&e&&e.length?wr(t,e,i,n):t},vi.pullAt=ka,vi.range=Wu,vi.rangeRight=Uu,vi.rearg=ds,vi.reject=function(t,e){return(_s(t)?Qe:Vi)(t,ls(Mo(e,3)))},vi.remove=function(t,e){var n=[];if(!t||!t.length)return n;var i=-1,r=[],o=t.length;for(e=Mo(e,3);++i<o;){var a=t[i];e(a,i,t)&&(n.push(a),r.push(i))}return Or(t,r),n},vi.rest=function(t,e){if("function"!=typeof t)throw new re(a);return Sr(t,e=e===i?e:Us(e))},vi.reverse=xa,vi.sampleSize=function(t,e,n){return e=(n?Qo(t,e,n):e===i)?1:Us(e),(_s(t)?Ai:Ar)(t,e)},vi.set=function(t,e,n){return null==t?t:kr(t,e,n)},vi.setWith=function(t,e,n,r){return r="function"==typeof r?r:i,null==t?t:kr(t,e,n,r)},vi.shuffle=function(t){return(_s(t)?ki:Pr)(t)},vi.slice=function(t,e,n){var r=null==t?0:t.length;return r?(n&&"number"!=typeof n&&Qo(t,e,n)?(e=0,n=r):(e=null==e?0:Us(e),n=n===i?r:Us(n)),Lr(t,e,n)):[]},vi.sortBy=ts,vi.sortedUniq=function(t){return t&&t.length?Dr(t):[]},vi.sortedUniqBy=function(t,e){return t&&t.length?Dr(t,Mo(e,2)):[]},vi.split=function(t,e,n){return n&&"number"!=typeof n&&Qo(t,e,n)&&(e=n=i),(n=n===i?D:n>>>0)?(t=Ys(t))&&("string"==typeof e||null!=e&&!js(e))&&!(e=Mr(e))&&Sn(t)?Zr(Ln(t),0,n):t.split(e,n):[]},vi.spread=function(t,e){if("function"!=typeof t)throw new re(a);return e=null==e?0:Yn(Us(e),0),Sr(function(n){var i=n[e],r=Zr(n,0,e);return i&&Xe(r,i),He(t,this,r)})},vi.tail=function(t){var e=null==t?0:t.length;return e?Lr(t,1,e):[]},vi.take=function(t,e,n){return t&&t.length?Lr(t,0,(e=n||e===i?1:Us(e))<0?0:e):[]},vi.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?Lr(t,(e=r-(e=n||e===i?1:Us(e)))<0?0:e,r):[]},vi.takeRightWhile=function(t,e){return t&&t.length?Wr(t,Mo(e,3),!1,!0):[]},vi.takeWhile=function(t,e){return t&&t.length?Wr(t,Mo(e,3)):[]},vi.tap=function(t,e){return e(t),t},vi.throttle=function(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new re(a);return xs(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),as(t,e,{leading:i,maxWait:e,trailing:r})},vi.thru=Wa,vi.toArray=Bs,vi.toPairs=pu,vi.toPairsIn=du,vi.toPath=function(t){return _s(t)?Je(t,ha):Ns(t)?[t]:ro(fa(Ys(t)))},vi.toPlainObject=Gs,vi.transform=function(t,e,n){var i=_s(t),r=i||Cs(t)||Ms(t);if(e=Mo(e,4),null==n){var o=t&&t.constructor;n=r?i?new o:[]:xs(t)&&Ts(o)?mi(Pe(t)):{}}return(r?Ge:Qi)(t,function(t,i,r){return e(n,t,i,r)}),n},vi.unary=function(t){return ns(t,1)},vi.union=Ia,vi.unionBy=Pa,vi.unionWith=La,vi.uniq=function(t){return t&&t.length?zr(t):[]},vi.uniqBy=function(t,e){return t&&t.length?zr(t,Mo(e,2)):[]},vi.uniqWith=function(t,e){return e="function"==typeof e?e:i,t&&t.length?zr(t,i,e):[]},vi.unset=function(t,e){return null==t||Fr(t,e)},vi.unzip=$a,vi.unzipWith=ja,vi.update=function(t,e,n){return null==t?t:Br(t,e,Yr(n))},vi.updateWith=function(t,e,n,r){return r="function"==typeof r?r:i,null==t?t:Br(t,e,Yr(n),r)},vi.values=vu,vi.valuesIn=function(t){return null==t?[]:yn(t,su(t))},vi.without=Ra,vi.words=Tu,vi.wrap=function(t,e){return hs(Yr(e),t)},vi.xor=Da,vi.xorBy=Na,vi.xorWith=Ma,vi.zip=za,vi.zipObject=function(t,e){return Vr(t||[],e||[],Ii)},vi.zipObjectDeep=function(t,e){return Vr(t||[],e||[],kr)},vi.zipWith=Fa,vi.entries=pu,vi.entriesIn=du,vi.extend=Qs,vi.extendWith=Zs,Du(vi,vi),vi.add=Gu,vi.attempt=Au,vi.camelCase=mu,vi.capitalize=gu,vi.ceil=Yu,vi.clamp=function(t,e,n){return n===i&&(n=e,e=i),n!==i&&(n=(n=Vs(n))==n?n:0),e!==i&&(e=(e=Vs(e))==e?e:0),Di(Vs(t),e,n)},vi.clone=function(t){return Ni(t,p)},vi.cloneDeep=function(t){return Ni(t,f|p)},vi.cloneDeepWith=function(t,e){return Ni(t,f|p,e="function"==typeof e?e:i)},vi.cloneWith=function(t,e){return Ni(t,p,e="function"==typeof e?e:i)},vi.conformsTo=function(t,e){return null==e||Mi(t,e,au(e))},vi.deburr=yu,vi.defaultTo=function(t,e){return null==t||t!=t?e:t},vi.divide=qu,vi.endsWith=function(t,e,n){t=Ys(t),e=Mr(e);var r=t.length,o=n=n===i?r:Di(Us(n),0,r);return(n-=e.length)>=0&&t.slice(n,o)==e},vi.eq=vs,vi.escape=function(t){return(t=Ys(t))&&Et.test(t)?t.replace(Ot,Cn):t},vi.escapeRegExp=function(t){return(t=Ys(t))&&Lt.test(t)?t.replace(Pt,"\\$&"):t},vi.every=function(t,e,n){var r=_s(t)?qe:Ui;return n&&Qo(t,e,n)&&(e=i),r(t,Mo(e,3))},vi.find=Va,vi.findIndex=ya,vi.findKey=function(t,e){return on(t,Mo(e,3),Qi)},vi.findLast=Ga,vi.findLastIndex=_a,vi.findLastKey=function(t,e){return on(t,Mo(e,3),Zi)},vi.floor=Qu,vi.forEach=Ya,vi.forEachRight=qa,vi.forIn=function(t,e){return null==t?t:Yi(t,Mo(e,3),su)},vi.forInRight=function(t,e){return null==t?t:qi(t,Mo(e,3),su)},vi.forOwn=function(t,e){return t&&Qi(t,Mo(e,3))},vi.forOwnRight=function(t,e){return t&&Zi(t,Mo(e,3))},vi.get=eu,vi.gt=ms,vi.gte=gs,vi.has=function(t,e){return null!=t&&Vo(t,e,nr)},vi.hasIn=nu,vi.head=wa,vi.identity=Lu,vi.includes=function(t,e,n,i){t=ws(t)?t:vu(t),n=n&&!i?Us(n):0;var r=t.length;return n<0&&(n=Yn(r+n,0)),Ds(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&sn(t,e,n)>-1},vi.indexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:Us(n);return r<0&&(r=Yn(i+r,0)),sn(t,e,r)},vi.inRange=function(t,e,n){return e=Ws(e),n===i?(n=e,e=0):n=Ws(n),function(t,e,n){return t>=qn(e,n)&&t<Yn(e,n)}(t=Vs(t),e,n)},vi.invoke=ou,vi.isArguments=ys,vi.isArray=_s,vi.isArrayBuffer=bs,vi.isArrayLike=ws,vi.isArrayLikeObject=Os,vi.isBoolean=function(t){return!0===t||!1===t||Is(t)&&tr(t)==U},vi.isBuffer=Cs,vi.isDate=Es,vi.isElement=function(t){return Is(t)&&1===t.nodeType&&!$s(t)},vi.isEmpty=function(t){if(null==t)return!0;if(ws(t)&&(_s(t)||"string"==typeof t||"function"==typeof t.splice||Cs(t)||Ms(t)||ys(t)))return!t.length;var e=Ho(t);if(e==Q||e==et)return!t.size;if(Xo(t))return!fr(t).length;for(var n in t)if(le.call(t,n))return!1;return!0},vi.isEqual=function(t,e){return sr(t,e)},vi.isEqualWith=function(t,e,n){var r=(n="function"==typeof n?n:i)?n(t,e):i;return r===i?sr(t,e,i,n):!!r},vi.isError=Ss,vi.isFinite=function(t){return"number"==typeof t&&Hn(t)},vi.isFunction=Ts,vi.isInteger=As,vi.isLength=ks,vi.isMap=Ps,vi.isMatch=function(t,e){return t===e||ur(t,e,Fo(e))},vi.isMatchWith=function(t,e,n){return n="function"==typeof n?n:i,ur(t,e,Fo(e),n)},vi.isNaN=function(t){return Ls(t)&&t!=+t},vi.isNative=function(t){if(Jo(t))throw new Jt(o);return cr(t)},vi.isNil=function(t){return null==t},vi.isNull=function(t){return null===t},vi.isNumber=Ls,vi.isObject=xs,vi.isObjectLike=Is,vi.isPlainObject=$s,vi.isRegExp=js,vi.isSafeInteger=function(t){return As(t)&&t>=-$&&t<=$},vi.isSet=Rs,vi.isString=Ds,vi.isSymbol=Ns,vi.isTypedArray=Ms,vi.isUndefined=function(t){return t===i},vi.isWeakMap=function(t){return Is(t)&&Ho(t)==ot},vi.isWeakSet=function(t){return Is(t)&&tr(t)==at},vi.join=function(t,e){return null==t?"":Vn.call(t,e)},vi.kebabCase=_u,vi.last=Sa,vi.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=Us(n))<0?Yn(r+o,0):qn(o,r-1)),e==e?function(t,e,n){for(var i=n+1;i--;)if(t[i]===e)return i;return i}(t,e,o):an(t,cn,o,!0)},vi.lowerCase=bu,vi.lowerFirst=wu,vi.lt=zs,vi.lte=Fs,vi.max=function(t){return t&&t.length?Hi(t,Lu,er):i},vi.maxBy=function(t,e){return t&&t.length?Hi(t,Mo(e,2),er):i},vi.mean=function(t){return ln(t,Lu)},vi.meanBy=function(t,e){return ln(t,Mo(e,2))},vi.min=function(t){return t&&t.length?Hi(t,Lu,pr):i},vi.minBy=function(t,e){return t&&t.length?Hi(t,Mo(e,2),pr):i},vi.stubArray=Hu,vi.stubFalse=Vu,vi.stubObject=function(){return{}},vi.stubString=function(){return""},vi.stubTrue=function(){return!0},vi.multiply=Ku,vi.nth=function(t,e){return t&&t.length?yr(t,Us(e)):i},vi.noConflict=function(){return Le._===this&&(Le._=ve),this},vi.noop=Nu,vi.now=es,vi.pad=function(t,e,n){t=Ys(t);var i=(e=Us(e))?Pn(t):0;if(!e||i>=e)return t;var r=(e-i)/2;return bo(Bn(r),n)+t+bo(Fn(r),n)},vi.padEnd=function(t,e,n){t=Ys(t);var i=(e=Us(e))?Pn(t):0;return e&&i<e?t+bo(e-i,n):t},vi.padStart=function(t,e,n){t=Ys(t);var i=(e=Us(e))?Pn(t):0;return e&&i<e?bo(e-i,n)+t:t},vi.parseInt=function(t,e,n){return n||null==e?e=0:e&&(e=+e),Zn(Ys(t).replace($t,""),e||0)},vi.random=function(t,e,n){if(n&&"boolean"!=typeof n&&Qo(t,e,n)&&(e=n=i),n===i&&("boolean"==typeof e?(n=e,e=i):"boolean"==typeof t&&(n=t,t=i)),t===i&&e===i?(t=0,e=1):(t=Ws(t),e===i?(e=t,t=0):e=Ws(e)),t>e){var r=t;t=e,e=r}if(n||t%1||e%1){var o=Kn();return qn(t+o*(e-t+ke("1e-"+((o+"").length-1))),e)}return Cr(t,e)},vi.reduce=function(t,e,n){var i=_s(t)?tn:pn,r=arguments.length<3;return i(t,Mo(e,4),n,r,Bi)},vi.reduceRight=function(t,e,n){var i=_s(t)?en:pn,r=arguments.length<3;return i(t,Mo(e,4),n,r,Wi)},vi.repeat=function(t,e,n){return e=(n?Qo(t,e,n):e===i)?1:Us(e),Er(Ys(t),e)},vi.replace=function(){var t=arguments,e=Ys(t[0]);return t.length<3?e:e.replace(t[1],t[2])},vi.result=function(t,e,n){var r=-1,o=(e=qr(e,t)).length;for(o||(o=1,t=i);++r<o;){var a=null==t?i:t[ha(e[r])];a===i&&(r=o,a=n),t=Ts(a)?a.call(t):a}return t},vi.round=Ju,vi.runInContext=t,vi.sample=function(t){return(_s(t)?Ti:Tr)(t)},vi.size=function(t){if(null==t)return 0;if(ws(t))return Ds(t)?Pn(t):t.length;var e=Ho(t);return e==Q||e==et?t.size:fr(t).length},vi.snakeCase=Ou,vi.some=function(t,e,n){var r=_s(t)?nn:$r;return n&&Qo(t,e,n)&&(e=i),r(t,Mo(e,3))},vi.sortedIndex=function(t,e){return jr(t,e)},vi.sortedIndexBy=function(t,e,n){return Rr(t,e,Mo(n,2))},vi.sortedIndexOf=function(t,e){var n=null==t?0:t.length;if(n){var i=jr(t,e);if(i<n&&vs(t[i],e))return i}return-1},vi.sortedLastIndex=function(t,e){return jr(t,e,!0)},vi.sortedLastIndexBy=function(t,e,n){return Rr(t,e,Mo(n,2),!0)},vi.sortedLastIndexOf=function(t,e){if(null!=t&&t.length){var n=jr(t,e,!0)-1;if(vs(t[n],e))return n}return-1},vi.startCase=Cu,vi.startsWith=function(t,e,n){return t=Ys(t),n=null==n?0:Di(Us(n),0,t.length),e=Mr(e),t.slice(n,n+e.length)==e},vi.subtract=Xu,vi.sum=function(t){return t&&t.length?dn(t,Lu):0},vi.sumBy=function(t,e){return t&&t.length?dn(t,Mo(e,2)):0},vi.template=function(t,e,n){var r=vi.templateSettings;n&&Qo(t,e,n)&&(e=i),t=Ys(t),e=Zs({},e,r,ko);var o,a,u=Zs({},e.imports,r.imports,ko),c=au(u),l=yn(u,c),f=0,h=e.interpolate||Qt,p="__p += '",d=ne((e.escape||Qt).source+"|"+h.source+"|"+(h===At?Bt:Qt).source+"|"+(e.evaluate||Qt).source+"|$","g"),v="//# sourceURL="+(le.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ee+"]")+"\n";t.replace(d,function(e,n,i,r,s,u){return i||(i=r),p+=t.slice(f,u).replace(Zt,En),n&&(o=!0,p+="' +\n__e("+n+") +\n'"),s&&(a=!0,p+="';\n"+s+";\n__p += '"),i&&(p+="' +\n((__t = ("+i+")) == null ? '' : __t) +\n'"),f=u+e.length,e}),p+="';\n";var m=le.call(e,"variable")&&e.variable;if(m){if(zt.test(m))throw new Jt(s)}else p="with (obj) {\n"+p+"\n}\n";p=(a?p.replace(yt,""):p).replace(_t,"$1").replace(bt,"$1;"),p="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var g=Au(function(){return Xt(c,v+"return "+p).apply(i,l)});if(g.source=p,Ss(g))throw g;return g},vi.times=function(t,e){if((t=Us(t))<1||t>$)return[];var n=D,i=qn(t,D);e=Mo(e),t-=D;for(var r=vn(i,e);++n<t;)e(n);return r},vi.toFinite=Ws,vi.toInteger=Us,vi.toLength=Hs,vi.toLower=function(t){return Ys(t).toLowerCase()},vi.toNumber=Vs,vi.toSafeInteger=function(t){return t?Di(Us(t),-$,$):0===t?t:0},vi.toString=Ys,vi.toUpper=function(t){return Ys(t).toUpperCase()},vi.trim=function(t,e,n){if((t=Ys(t))&&(n||e===i))return mn(t);if(!t||!(e=Mr(e)))return t;var r=Ln(t),o=Ln(e);return Zr(r,bn(r,o),wn(r,o)+1).join("")},vi.trimEnd=function(t,e,n){if((t=Ys(t))&&(n||e===i))return t.slice(0,$n(t)+1);if(!t||!(e=Mr(e)))return t;var r=Ln(t);return Zr(r,0,wn(r,Ln(e))+1).join("")},vi.trimStart=function(t,e,n){if((t=Ys(t))&&(n||e===i))return t.replace($t,"");if(!t||!(e=Mr(e)))return t;var r=Ln(t);return Zr(r,bn(r,Ln(e))).join("")},vi.truncate=function(t,e){var n=T,r=A;if(xs(e)){var o="separator"in e?e.separator:o;n="length"in e?Us(e.length):n,r="omission"in e?Mr(e.omission):r}var a=(t=Ys(t)).length;if(Sn(t)){var s=Ln(t);a=s.length}if(n>=a)return t;var u=n-Pn(r);if(u<1)return r;var c=s?Zr(s,0,u).join(""):t.slice(0,u);if(o===i)return c+r;if(s&&(u+=c.length-u),js(o)){if(t.slice(u).search(o)){var l,f=c;for(o.global||(o=ne(o.source,Ys(Wt.exec(o))+"g")),o.lastIndex=0;l=o.exec(f);)var h=l.index;c=c.slice(0,h===i?u:h)}}else if(t.indexOf(Mr(o),u)!=u){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+r},vi.unescape=function(t){return(t=Ys(t))&&Ct.test(t)?t.replace(wt,jn):t},vi.uniqueId=function(t){var e=++fe;return Ys(t)+e},vi.upperCase=Eu,vi.upperFirst=Su,vi.each=Ya,vi.eachRight=qa,vi.first=wa,Du(vi,(Zu={},Qi(vi,function(t,e){le.call(vi.prototype,e)||(Zu[e]=t)}),Zu),{chain:!1}),vi.VERSION="4.17.21",Ge(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){vi[t].placeholder=vi}),Ge(["drop","take"],function(t,e){_i.prototype[t]=function(n){n=n===i?1:Yn(Us(n),0);var r=this.__filtered__&&!e?new _i(this):this.clone();return r.__filtered__?r.__takeCount__=qn(n,r.__takeCount__):r.__views__.push({size:qn(n,D),type:t+(r.__dir__<0?"Right":"")}),r},_i.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Ge(["filter","map","takeWhile"],function(t,e){var n=e+1,i=n==I||3==n;_i.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Mo(t,3),type:n}),e.__filtered__=e.__filtered__||i,e}}),Ge(["head","last"],function(t,e){var n="take"+(e?"Right":"");_i.prototype[t]=function(){return this[n](1).value()[0]}}),Ge(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");_i.prototype[t]=function(){return this.__filtered__?new _i(this):this[n](1)}}),_i.prototype.compact=function(){return this.filter(Lu)},_i.prototype.find=function(t){return this.filter(t).head()},_i.prototype.findLast=function(t){return this.reverse().find(t)},_i.prototype.invokeMap=Sr(function(t,e){return"function"==typeof t?new _i(this):this.map(function(n){return or(n,t,e)})}),_i.prototype.reject=function(t){return this.filter(ls(Mo(t)))},_i.prototype.slice=function(t,e){t=Us(t);var n=this;return n.__filtered__&&(t>0||e<0)?new _i(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==i&&(n=(e=Us(e))<0?n.dropRight(-e):n.take(e-t)),n)},_i.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},_i.prototype.toArray=function(){return this.take(D)},Qi(_i.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),o=vi[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);o&&(vi.prototype[e]=function(){var e=this.__wrapped__,s=r?[1]:arguments,u=e instanceof _i,c=s[0],l=u||_s(e),f=function(t){var e=o.apply(vi,Xe([t],s));return r&&h?e[0]:e};l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var h=this.__chain__,p=!!this.__actions__.length,d=a&&!h,v=u&&!p;if(!a&&l){e=v?e:new _i(this);var m=t.apply(e,s);return m.__actions__.push({func:Wa,args:[f],thisArg:i}),new yi(m,h)}return d&&v?t.apply(this,s):(m=this.thru(f),d?r?m.value()[0]:m.value():m)})}),Ge(["pop","push","shift","sort","splice","unshift"],function(t){var e=oe[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);vi.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var r=this.value();return e.apply(_s(r)?r:[],t)}return this[n](function(n){return e.apply(_s(n)?n:[],t)})}}),Qi(_i.prototype,function(t,e){var n=vi[e];if(n){var i=n.name+"";le.call(ai,i)||(ai[i]=[]),ai[i].push({name:e,func:n})}}),ai[mo(i,g).name]=[{name:"wrapper",func:i}],_i.prototype.clone=function(){var t=new _i(this.__wrapped__);return t.__actions__=ro(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ro(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ro(this.__views__),t},_i.prototype.reverse=function(){if(this.__filtered__){var t=new _i(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},_i.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=_s(t),i=e<0,r=n?t.length:0,o=function(t,e,n){for(var i=-1,r=n.length;++i<r;){var o=n[i],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":e-=a;break;case"take":e=qn(e,t+a);break;case"takeRight":t=Yn(t,e-a)}}return{start:t,end:e}}(0,r,this.__views__),a=o.start,s=o.end,u=s-a,c=i?s:a-1,l=this.__iteratees__,f=l.length,h=0,p=qn(u,this.__takeCount__);if(!n||!i&&r==u&&p==u)return Ur(t,this.__actions__);var d=[];t:for(;u--&&h<p;){for(var v=-1,m=t[c+=e];++v<f;){var g=l[v],y=g.iteratee,_=g.type,b=y(m);if(_==P)m=b;else if(!b){if(_==I)continue t;break t}}d[h++]=m}return d},vi.prototype.at=Ua,vi.prototype.chain=function(){return Ba(this)},vi.prototype.commit=function(){return new yi(this.value(),this.__chain__)},vi.prototype.next=function(){this.__values__===i&&(this.__values__=Bs(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},vi.prototype.plant=function(t){for(var e,n=this;n instanceof gi;){var r=da(n);r.__index__=0,r.__values__=i,e?o.__wrapped__=r:e=r;var o=r;n=n.__wrapped__}return o.__wrapped__=t,e},vi.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof _i){var e=t;return this.__actions__.length&&(e=new _i(this)),(e=e.reverse()).__actions__.push({func:Wa,args:[xa],thisArg:i}),new yi(e,this.__chain__)}return this.thru(xa)},vi.prototype.toJSON=vi.prototype.valueOf=vi.prototype.value=function(){return Ur(this.__wrapped__,this.__actions__)},vi.prototype.first=vi.prototype.head,rn&&(vi.prototype[rn]=function(){return this}),vi}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Le._=Rn,define(function(){return Rn})):je?((je.exports=Rn)._=Rn,$e._=Rn):Le._=Rn}).call(this)}).call(this,n("yLpj"),n("YuTi")(t))},M1xp:function(t,e,n){var i=n("a0xu");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},MPFp:function(t,e,n){"use strict";var i=n("uOPS"),r=n("Y7ZC"),o=n("kTiW"),a=n("NegM"),s=n("B+OT"),u=n("SBuE"),c=n("j2DC"),l=n("RfKB"),f=n("U+KD"),h=n("UWiX")("iterator"),p=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,m,g,y){c(n,e,v);var _,b,w,O=function(t){if(!p&&t in T)return T[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},C=e+" Iterator",E="values"==m,S=!1,T=t.prototype,A=T[h]||T["@@iterator"]||m&&T[m],k=!p&&A||O(m),x=m?E?O("entries"):k:void 0,I="Array"==e&&T.entries||A;if(I&&(w=f(I.call(new t)))!==Object.prototype&&w.next&&(l(w,C,!0),i||s(w,h)||a(w,h,d)),E&&A&&"values"!==A.name&&(S=!0,k=function(){return A.call(this)}),i&&!y||!p&&!S&&T[h]||a(T,h,k),u[e]=k,u[C]=d,m)if(_={values:E?k:O("values"),keys:g?k:O("keys"),entries:x},y)for(b in _)b in T||o(T,b,_[b]);else r(r.P+r.F*(p||S),e,_);return _}},Mqbl:function(t,e,n){var i=n("JB68"),r=n("w6GO");n("zn7N")("keys",function(){return function(t){return r(i(t))}})},MvwC:function(t,e,n){var i=n("5T2Y").document;t.exports=i&&i.documentElement},NV0k:function(t,e){e.f={}.propertyIsEnumerable},NegM:function(t,e,n){var i=n("2faE"),r=n("rr1i");t.exports=n("jmDH")?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},"NsO/":function(t,e,n){var i=n("M1xp"),r=n("Jes0");t.exports=function(t){return i(r(t))}},Ojgd:function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},OyzN:function(t,e,n){t.exports={default:n("5biZ"),__esModule:!0}},P2sY:function(t,e,n){t.exports={default:n("UbbE"),__esModule:!0}},PDs5:function(t,e){!function(t,e){var n='<svg aria-hidden="true" data-prefix="fas" data-icon="angle-right" class="svg-inline--fa fa-angle-right fa-w-8" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path fill="currentColor" d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"></path></svg>',i=function(t,n){this.namespace="dropdown-menu",this.defaults={menuSelector:".colibri-menu",offCanvasWrapper:".colibri-menu-container",arrowSelector:"svg.svg-inline--fa",linkSelector:".menu-item-has-children > a, .page_item_has_children > a",menuLinkSelector:" > .menu-item-has-children > a, > .page_item_has_children > a",subMenuLinkSelector:" ul .menu-item-has-children > a, ul .page_item_has_children > a",$menu:null},e.apply(this,arguments),this.start()};i.prototype={start:function(){var e=this,n=this.$element.find(this.opts.menuSelector).first();this.opts.$menu=n,this.stop(),this.addListener(),this.addFocusListener(),this.addSvgArrows(),this.addReverseMenuLogic(),this.addTabletMenuLogic(),t(document).ready(function(){e.addMenuScrollSpy(n)})},stop:function(){this.removeAllSvgArrows(),this.removeListeners()},copyLiEventTaA:function(e){var n="";(e.target&&e.target.tagName&&(n=e.target.tagName),"a"!==n.toLowerCase())&&t(e.target).find("> a")[0].click()},addListener:function(){this.opts.$menu.find("li").on("click",this.copyLiEventTaA)},toggleFocus:function(t){for(var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.opts.$menu[0]!==t;)"li"===t.tagName.toLowerCase()&&(e?t.classList.add("hover"):t.classList.remove("hover")),t=t.parentElement},addFocusListener:function(){var t=this,e=this.opts.$menu.find("a");e.on("focus",function(e){t.toggleFocus(e.currentTarget)}),e.on("blur",function(e){t.toggleFocus(e.currentTarget,!1)})},addSvgArrows:function(){switch(this.removeAllSvgArrows(),this.opts.data&&this.opts.data.type?this.opts.data.type:null){case"horizontal":this.addHorizontalMenuSvgArrows();break;case"vertical":this.addVerticalMenuSvgArrow()}},addHorizontalMenuSvgArrows:function(){var e=this.opts.$menu,i=this.opts.arrowSelector,r=this.opts.menuLinkSelector,o=this.opts.subMenuLinkSelector;e.find(r).each(function(){0===t(this).children(i).length&&t(this).append('<svg aria-hidden="true" data-prefix="fas" data-icon="angle-down" class="svg-inline--fa fa-angle-down fa-w-10" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"></path></svg>')}),e.find(o).each(function(){0===t(this).children(i).length&&t(this).append(n)})},addVerticalMenuSvgArrow:function(){var e=this.opts.$menu,i=this.opts.arrowSelector,r=this.opts.linkSelector;e.find(r).each(function(){0===t(this).children(i).length&&t(this).append(n)})},removeAllSvgArrows:function(){this.opts.$menu&&this.opts.$menu.find(this.opts.arrowSelector).remove()},removeListeners:function(){var t=this.opts.$menu;t.off("mouseover.navigation"),t.find("li").off("click",this.copyLiEventTaA),this.removeTabletLogic()},removeTabletLogic:function(){this.opts.$menu.off("tap.navigation")},addReverseMenuLogic:function(){var e=this.opts.$menu,n=this;e.on("mouseover.navigation","li",function(){e.find("li.hover").removeClass("hover"),n.setOpenReverseClass(e,t(this))})},setOpenReverseClass:function(t,e){if(this.getItemLevel(t,e)>0){var n=e.children("ul"),i=n.length&&e.offset().left+e.width()+300>window.innerWidth,r=n.length&&e.closest(".open-reverse").length;i||r?n.addClass("open-reverse"):n.length&&n.removeClass("open-reverse")}},getItemLevel:function(t,e){var n=this.opts.menuSelector;return e.parentsUntil(n).filter("li").length},addTabletMenuLogic:function(){var t=this.opts.$menu;this.opts.clickOnLink||(this.opts.clickOnLink=this.clickOnLink.bind(this)),this.opts.clickOnArrow||(this.opts.clickOnArrow=this.clickOnArrow.bind(this)),t.off("tap.navigation",this.opts.clickOnArrow),t.on("tap.navigation","li.menu-item > a svg",this.opts.clickOnArrow),t.off("tap.navigation",this.opts.clickOnLink),t.on("tap.navigation","li.menu-item > a",this.opts.clickOnLink)},clickOnLink:function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=t(e.target),r=i.closest("li"),o=i.closest("a"),a=this.opts.$menu;if(r.children("ul").length)if(this.isSelectedItem(r)){var s=o.attr("href");if(0===s.indexOf("#")){var u=s.replace("#","").trim();if(!u||!t("#"+u).length)return}e.stopPropagation(),n&&e.preventDefault(),this.deselectItems(a,r)}else e.stopPropagation(),e.preventDefault(),this.selectItem(a,r);else e.stopPropagation(),(n||!n&&this.isSelectedItem(r))&&e.preventDefault(),this.deselectItems(a,r)},clickOnArrow:function(t){this.clickOnLink(t,!0)},selectItem:function(e,n){this.deselectItems(e,n),n.attr("data-selected-item",!0),this.clearMenuHovers(e,n),n.addClass("hover"),this.setOpenReverseClass(e,n);var i=this;t("body").on("tap.navigation-clear-selection","*",function(){var t=jQuery(this);i.clearSelectionWhenTapOutside(t,e)}),t(window).on("scroll.navigation-clear-selection",function(){var t=jQuery(this);i.clearSelectionWhenTapOutside(t,e)})},deselectItems:function(e,n){n.removeClass("hover"),e.find("[data-selected-item]").each(function(){t(this).removeAttr("data-selected-item");var n=e.children("ul");e.is(".mobile-menu")&&n.slideDown()})},isSelectedItem:function(t){return t.is("[data-selected-item]")},clearMenuHovers:function(e,n){var i=this;e.find("li.hover").each(function(){n&&i.containsSelectedItem(t(this))||t(this).removeClass("hover")})},containsSelectedItem:function(t){return t.find("[data-selected-item]").length>0||t.is("[data-selected-item]")},clearSelectionWhenTapOutside:function(e,n){t("body").off("tap.navigation-clear-selection"),t(window).off("scroll.navigation-clear-selection"),e.is(n)||t.contains(n[0],this)||this.clearMenuHovers(n)},addMenuScrollSpy:function(e){var n=e;t.fn.scrollSpy&&n.find("a").scrollSpy({onChange:function(){n.find(" > .current-menu-item, > .current_page_item").removeClass("current-menu-item current_page_item"),t(this).closest("li").addClass("current-menu-item current_page_item")},onLeave:function(){t(this).closest("li").removeClass("current-menu-item current_page_item")},smoothScrollAnchor:!0,offset:function(){var t=n.closest(".h-navigation_sticky");return t.length?t[0].getBoundingClientRect().height:0}}),t(window).trigger("smoothscroll.update")}},i.inherits(e),e["dropdown-menu"]=i,e.Plugin.create("dropdown-menu"),e.Plugin.autoload("dropdown-menu")}(jQuery,Colibri)},PR2h:function(t,e){var n;n=jQuery,Colibri,n(function(){var t=n(".colibri-language-switcher__flags"),e=t.find("li a");if(0!==t.length){var i=n.throttle(function(e){t.hasClass("hover")?e.stopImmediatePropagation():(e.preventDefault(),e.stopImmediatePropagation(),t.addClass("hover"))},500);n(window).on("tap",function(){t.hasClass("hover")&&t.removeClass("hover")}),e.on("tap",i)}})},QbLZ:function(t,e,n){"use strict";e.__esModule=!0;var i,r=n("P2sY"),o=(i=r)&&i.__esModule?i:{default:i};e.default=o.default||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}},"R+7+":function(t,e,n){var i=n("w6GO"),r=n("mqlF"),o=n("NV0k");t.exports=function(t){var e=i(t),n=r.f;if(n)for(var a,s=n(t),u=o.f,c=0;s.length>c;)u.call(t,a=s[c++])&&e.push(a);return e}},R0q9:function(t,e){var n;(n=jQuery)(function(){n("#page-top [h-use-smooth-scroll-all] a, #page-top a[h-use-smooth-scroll]").smoothScrollAnchor()})},"RU/L":function(t,e,n){n("Rqdy");var i=n("WEpk").Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},RfKB:function(t,e,n){var i=n("2faE").f,r=n("B+OT"),o=n("UWiX")("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},Rqdy:function(t,e,n){var i=n("Y7ZC");i(i.S+i.F*!n("jmDH"),"Object",{defineProperty:n("2faE").f})},SBuE:function(t,e){t.exports={}},SEkw:function(t,e,n){t.exports={default:n("RU/L"),__esModule:!0}},SzAf:function(t,e,n){},T1qB:function(t,e,n){(function(t){!function(t){var e=function(){try{return!!Symbol.iterator}catch(t){return!1}}(),n=function(t){var n={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return e&&(n[Symbol.iterator]=function(){return n}),n},i=function(t){return encodeURIComponent(t).replace(/%20/g,"+")},r=function(t){return decodeURIComponent(String(t).replace(/\+/g," "))};(function(){try{var e=t.URLSearchParams;return"a=1"===new e("?a=1").toString()&&"function"==typeof e.prototype.set}catch(t){return!1}})()||function(){var r=function(t){Object.defineProperty(this,"_entries",{writable:!0,value:{}});var e=typeof t;if("undefined"===e);else if("string"===e)""!==t&&this._fromString(t);else if(t instanceof r){var n=this;t.forEach(function(t,e){n.append(e,t)})}else{if(null===t||"object"!==e)throw new TypeError("Unsupported input's type for URLSearchParams");if("[object Array]"===Object.prototype.toString.call(t))for(var i=0;i<t.length;i++){var o=t[i];if("[object Array]"!==Object.prototype.toString.call(o)&&2===o.length)throw new TypeError("Expected [string, any] as entry at index "+i+" of URLSearchParams's input");this.append(o[0],o[1])}else for(var a in t)t.hasOwnProperty(a)&&this.append(a,t[a])}},o=r.prototype;o.append=function(t,e){t in this._entries?this._entries[t].push(String(e)):this._entries[t]=[String(e)]},o.delete=function(t){delete this._entries[t]},o.get=function(t){return t in this._entries?this._entries[t][0]:null},o.getAll=function(t){return t in this._entries?this._entries[t].slice(0):[]},o.has=function(t){return t in this._entries},o.set=function(t,e){this._entries[t]=[String(e)]},o.forEach=function(t,e){var n;for(var i in this._entries)if(this._entries.hasOwnProperty(i)){n=this._entries[i];for(var r=0;r<n.length;r++)t.call(e,n[r],i,this)}},o.keys=function(){var t=[];return this.forEach(function(e,n){t.push(n)}),n(t)},o.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),n(t)},o.entries=function(){var t=[];return this.forEach(function(e,n){t.push([n,e])}),n(t)},e&&(o[Symbol.iterator]=o.entries),o.toString=function(){var t=[];return this.forEach(function(e,n){t.push(i(n)+"="+i(e))}),t.join("&")},t.URLSearchParams=r}();var o=t.URLSearchParams.prototype;"function"!=typeof o.sort&&(o.sort=function(){var t=this,e=[];this.forEach(function(n,i){e.push([i,n]),t._entries||t.delete(i)}),e.sort(function(t,e){return t[0]<e[0]?-1:t[0]>e[0]?1:0}),t._entries&&(t._entries={});for(var n=0;n<e.length;n++)this.append(e[n][0],e[n][1])}),"function"!=typeof o._fromString&&Object.defineProperty(o,"_fromString",{enumerable:!1,configurable:!1,writable:!1,value:function(t){if(this._entries)this._entries={};else{var e=[];this.forEach(function(t,n){e.push(n)});for(var n=0;n<e.length;n++)this.delete(e[n])}var i,o=(t=t.replace(/^\?/,"")).split("&");for(n=0;n<o.length;n++)i=o[n].split("="),this.append(r(i[0]),i.length>1?r(i[1]):"")}})}(void 0!==t?t:"undefined"!=typeof window?window:"undefined"!=typeof self?self:this),function(t){var e,n,i;if(function(){try{var e=new t.URL("b","http://a");return e.pathname="c d","http://a/c%20d"===e.href&&e.searchParams}catch(t){return!1}}()||(e=t.URL,i=(n=function(e,n){"string"!=typeof e&&(e=String(e));var i,r=document;if(n&&(void 0===t.location||n!==t.location.href)){(i=(r=document.implementation.createHTMLDocument("")).createElement("base")).href=n,r.head.appendChild(i);try{if(0!==i.href.indexOf(n))throw new Error(i.href)}catch(t){throw new Error("URL unable to set base "+n+" due to "+t)}}var o=r.createElement("a");if(o.href=e,i&&(r.body.appendChild(o),o.href=o.href),":"===o.protocol||!/:/.test(o.href))throw new TypeError("Invalid URL");Object.defineProperty(this,"_anchorElement",{value:o});var a=new t.URLSearchParams(this.search),s=!0,u=!0,c=this;["append","delete","set"].forEach(function(t){var e=a[t];a[t]=function(){e.apply(a,arguments),s&&(u=!1,c.search=a.toString(),u=!0)}}),Object.defineProperty(this,"searchParams",{value:a,enumerable:!0});var l=void 0;Object.defineProperty(this,"_updateSearchParams",{enumerable:!1,configurable:!1,writable:!1,value:function(){this.search!==l&&(l=this.search,u&&(s=!1,this.searchParams._fromString(this.search),s=!0))}})}).prototype,["hash","host","hostname","port","protocol"].forEach(function(t){!function(t){Object.defineProperty(i,t,{get:function(){return this._anchorElement[t]},set:function(e){this._anchorElement[t]=e},enumerable:!0})}(t)}),Object.defineProperty(i,"search",{get:function(){return this._anchorElement.search},set:function(t){this._anchorElement.search=t,this._updateSearchParams()},enumerable:!0}),Object.defineProperties(i,{toString:{get:function(){var t=this;return function(){return t.href}}},href:{get:function(){return this._anchorElement.href.replace(/\?$/,"")},set:function(t){this._anchorElement.href=t,this._updateSearchParams()},enumerable:!0},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\/?)/,"/")},set:function(t){this._anchorElement.pathname=t},enumerable:!0},origin:{get:function(){var t={"http:":80,"https:":443,"ftp:":21}[this._anchorElement.protocol],e=this._anchorElement.port!=t&&""!==this._anchorElement.port;return this._anchorElement.protocol+"//"+this._anchorElement.hostname+(e?":"+this._anchorElement.port:"")},enumerable:!0},password:{get:function(){return""},set:function(t){},enumerable:!0},username:{get:function(){return""},set:function(t){},enumerable:!0}}),n.createObjectURL=function(t){return e.createObjectURL.apply(e,arguments)},n.revokeObjectURL=function(t){return e.revokeObjectURL.apply(e,arguments)},t.URL=n),void 0!==t.location&&!("origin"in t.location)){var r=function(){return t.location.protocol+"//"+t.location.hostname+(t.location.port?":"+t.location.port:"")};try{Object.defineProperty(t.location,"origin",{get:r,enumerable:!0})}catch(e){setInterval(function(){t.location.origin=r()},100)}}}(void 0!==t?t:"undefined"!=typeof window?window:"undefined"!=typeof self?self:this)}).call(this,n("yLpj"))},T8un:function(t,e,n){var i=n("Y7ZC"),r=n("EP9H");i(i.S+i.F*(Number.parseFloat!=r),"Number",{parseFloat:r})},"U+KD":function(t,e,n){var i=n("B+OT"),r=n("JB68"),o=n("VVlx")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},U96T:function(t,e){!function(t,e){var n=function(t,n){this.namespace="fancy-title",this.defaults={typeAnimationDurationIn:.1,typeAnimationDurationOut:.1,animationDuration:1},e.apply(this,arguments),this.start()};n.prototype={start:function(){if("type"!==this.opts.typeAnimation)jQuery(this.$element).animatedHeadline({animationType:this.opts.typeAnimation,animationDelay:1e3*this.opts.animationDuration});else if(!this.isIE()){jQuery(this.$element).attr("fancy-id");var t=this.opts.rotatingWords.split("\n");t.unshift(this.opts.word);var e={strings:t,typeSpeed:1e3*this.opts.typeAnimationDurationIn,backSpeed:1e3*this.opts.typeAnimationDurationOut,contentType:"html",smartBackspace:!1,loop:!0};this.$element.empty();new Typed(this.$element[0],e)}},isIE:function(){var t=navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1}},n.inherits(e),e["fancy-title"]=n,e.Plugin.create("fancy-title"),e.Plugin.autoload("fancy-title")}(jQuery,Colibri)},UO39:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},UWiX:function(t,e,n){var i=n("29s/")("wks"),r=n("YqAc"),o=n("5T2Y").Symbol,a="function"==typeof o;(t.exports=function(t){return i[t]||(i[t]=a&&o[t]||(a?o:r)("Symbol."+t))}).store=i},UbbE:function(t,e,n){n("o8NH"),t.exports=n("WEpk").Object.assign},Ui4e:function(t,e,n){var i=n("93I4"),r=n("6/1s").onFreeze;n("zn7N")("freeze",function(t){return function(e){return t&&i(e)?t(r(e)):e}})},V7oC:function(t,e,n){"use strict";e.__esModule=!0;var i,r=n("SEkw"),o=(i=r)&&i.__esModule?i:{default:i};e.default=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),(0,o.default)(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}()},VVlx:function(t,e,n){var i=n("29s/")("keys"),r=n("YqAc");t.exports=function(t){return i[t]||(i[t]=r(t))}},W070:function(t,e,n){var i=n("NsO/"),r=n("tEej"),o=n("D8kY");t.exports=function(t){return function(e,n,a){var s,u=i(e),c=r(u.length),l=o(a,c);if(t&&n!=n){for(;c>l;)if((s=u[l++])!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},WEpk:function(t,e){var n=t.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},XsRr:function(t,e){!function(t,e,n){"use strict";var i;i=function(n,i){var r,o,a,s,u,c;return u=0,c=0,o=0,a={},s=[],0,(r=function(t,e){for(o in this.options={speed:1,boost:0},e)this.options[o]=e[o];(this.options.speed<0||this.options.speed>1)&&(this.options.speed=1),t||(t="paraxify"),this.photos=t,a=this.options,s=[this.photos],this._init(this)}).prototype={update:function(){for(c=e.innerHeight,o=0;o<s.length;)s[o].style.backgroundPosition="center center",s[o].url=e.getComputedStyle(s[o],!1).backgroundImage.replace(/url\((['"])?(.*?)\1\)/gi,"$2").split(",")[0],s[o].img||(s[o].img=new Image),s[o].url!==s[o].img.src&&(this._check(o),s[o].img.src=s[o].url),o++;this._animate()},destroy:function(){e.removeEventListener("scroll",this.onScrollFunction),e.removeEventListener("resize",this.onResizeFunction)},_bindEventListenerFunctions:function(){this.onScrollFunction||(this.onScrollFunction=this._animate.bind(this)),this.onResizeFunction||(this.onResizeFunction=this.update.bind(this))},_init:function(){this._bindEventListenerFunctions(),this.update(),e.addEventListener("scroll",this.onScrollFunction),e.addEventListener("resize",this.onResizeFunction),this._initPhotos()},_initPhotos:function(){for(var t=this,e=function(e){setTimeout(function(){t._initImageData(e)},0)},n=0;n<s.length;n++)e(n)},_initImage:function(t,n){return""===t.bgSize||"auto"===t.bgSize?this.height<t.offsetHeight?(t.ok=!1,console.error("The image "+t.url+" ("+this.height+"px) is too short for that container ("+t.offsetHeight+"px).")):(n=this.height,this.height<c&&(n+=(c-t.offsetHeight)*a.speed)):"cover"===t.bgSize?c<t.offsetHeight&&(t.ok=!1,console.error("The container ("+t.offsetHeight+"px) can't be bigger than the image ("+c+"px).")):(e.getComputedStyle(t,!1).backgroundSize,this._check(o)),t.diff=-(n-t.offsetHeight)*a.speed,t.diff=t.diff-t.offsetHeight*a.boost,{main:t,actualHeight:n}},_initImageData:function(t){var n,i,r=this,o=this;if((i=s[t]).ok=!0,i.bgSize=e.getComputedStyle(i,!1).backgroundSize,n=c,s[t].img.complete){var a=this._initImage(i,n);i=a.main,n=a.actualHeight,o.onScrollFunction()}s[t].img.onload=function(){var t=r._initImage(i,n);i=t.main,n=t.actualHeight,o.onScrollFunction()}},_check:function(t){var n,i,r=this;(i=s[t]).ok=!0,i.bgSize=e.getComputedStyle(i,!1).backgroundSize,n=c,s[t].img.onload=function(){var t=r._initImage(i,n);i=t.main,n=t.actualHeight}},_visible:function(t){var e=this._getOffsetTop(s[t]);return u+c>e&&u<e+s[t].offsetHeight},_getOffsetTop:function(t){return e.pageYOffset+t.getBoundingClientRect().top},_animate:function(){var n,i;for(u=void 0!==e.pageYOffset?e.pageYOffset:(t.documentElement||t.body.parentNode||t.body).scrollTop,o=0;o<s.length;)this._check(o),s[o].ok&&"fixed"===e.getComputedStyle(s[o],!1).backgroundAttachment&&this._visible(o)&&s[o].diff?(n=(u-this._getOffsetTop(s[o])+c)/(s[o].offsetHeight+c),i=s[o].diff*(n-.5),"cover"!==s[o].bgSize&&(i+=(c-s[o].img.height)/2),i=Math.round(100*i)/100,i+="px"):i="center",s[o].style.backgroundPosition="center "+i,o++}},new r(n,i)},e.paraxify=i}(document,window)},Y7ZC:function(t,e,n){var i=n("5T2Y"),r=n("WEpk"),o=n("2GTP"),a=n("NegM"),s=function(t,e,n){var u,c,l,f=t&s.F,h=t&s.G,p=t&s.S,d=t&s.P,v=t&s.B,m=t&s.W,g=h?r:r[e]||(r[e]={}),y=g.prototype,_=h?i:p?i[e]:(i[e]||{}).prototype;for(u in h&&(n=e),n)(c=!f&&_&&void 0!==_[u])&&u in g||(l=c?_[u]:n[u],g[u]=h&&"function"!=typeof _[u]?n[u]:v&&c?o(l,i):m&&_[u]==l?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):d&&"function"==typeof l?o(Function.call,l):l,d&&((g.virtual||(g.virtual={}))[u]=l,t&s.R&&y&&!y[u]&&a(y,u,l)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},YICA:function(t,e){},YJRJ:function(t,e){!function(t,e){t(function(){var t=document.querySelector("body");e.isCustomizerPreview()&&(t.classList.add("colibri-in-customizer"),window.wp.customize.bind("colibri-editor-preview-ready",function(){t.classList.add("colibri-in-customizer--loaded")})),window.navigator.userAgent.indexOf("Edge")>-1&&t.classList.add("colibri--edge")})}(jQuery,Colibri)},YqAc:function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},YuTi:function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"Yz+Y":function(t,e,n){t.exports={default:n("+plK"),__esModule:!0}},Zxgi:function(t,e,n){var i=n("5T2Y"),r=n("WEpk"),o=n("uOPS"),a=n("zLkG"),s=n("2faE").f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},a0xu:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},ablF:function(t,e,n){n("T8un"),t.exports=parseFloat},adOz:function(t,e,n){n("Zxgi")("asyncIterator")},"ar/p":function(t,e,n){var i=n("5vMV"),r=n("FpHa").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},bBy9:function(t,e,n){n("w2d+");for(var i=n("5T2Y"),r=n("NegM"),o=n("SBuE"),a=n("UWiX")("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u<s.length;u++){var c=s[u],l=i[c],f=l&&l.prototype;f&&!f[a]&&r(f,a,c),o[c]=o.Array}},cEle:function(t,e,n){},ccE7:function(t,e,n){var i=n("Ojgd"),r=n("Jes0");t.exports=function(t){return function(e,n){var o,a,s=String(r(e)),u=i(n),c=s.length;return u<0||u>=c?t?"":void 0:(o=s.charCodeAt(u))<55296||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536}}},dl0q:function(t,e,n){n("Zxgi")("observable")},eUtF:function(t,e,n){t.exports=!n("jmDH")&&!n("KUxP")(function(){return 7!=Object.defineProperty(n("Hsns")("div"),"a",{get:function(){return 7}}).a})},eaoh:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},fW1p:function(t,e,n){var i=n("Y7ZC"),r=n("E8gZ")(!1);i(i.S,"Object",{values:function(t){return r(t)}})},fpC5:function(t,e,n){var i=n("2faE"),r=n("5K7Z"),o=n("w6GO");t.exports=n("jmDH")?Object.defineProperties:function(t,e){r(t);for(var n,a=o(e),s=a.length,u=0;s>u;)i.f(t,n=a[u++],e[n]);return t}},"gDS+":function(t,e,n){t.exports={default:n("oh+g"),__esModule:!0}},"h//7":function(t,e,n){t.exports=function(){var t,e=jQuery;if("undefined"==typeof jQuery)throw new Error("Colibri requires jQuery");return function(t){var e=t.fn.jquery.split(".");if(1===e[0]&&e[1]<8)throw new Error("Colibri requires at least jQuery v1.8")}(jQuery),Function.prototype.inherits=function(t){var e=function(){};e.prototype=t.prototype;var n=new e;for(var i in this.prototype)n[i]=this.prototype[i];this.prototype=n,this.prototype.super=t.prototype},(t=function(n,i){i="object"==typeof i?i:{},this.$element=e(n);var r=this.$element.data("colibri-id"),o=t.getData(r);this.instance=r;var a=this.$element.data();this.opts=e.extend(!0,{},this.defaults,e.fn["colibri."+this.namespace].options,a,o,i),this.$target="string"==typeof this.opts.target?e(this.opts.target):null}).getData=function(t){return window.colibriData&&window.colibriData[t]?window.colibriData[t]:{}},t.isCustomizerPreview=function(){return!!window.colibriCustomizerPreviewData},t.prototype={updateOpts:function(n){var i=this.instance,r=e.extend(!0,{},this.defaults,t.getData(i)),o=n||{};this.opts=e.extend(!0,this.opts,r,o)},getInstance:function(){return this.$element.data("fn."+this.namespace)},hasTarget:function(){return!(null===this.$target)},callback:function(t){var n=[].slice.call(arguments).splice(1);return this.$element&&(n=this._fireCallback(e._data(this.$element[0],"events"),t,this.namespace,n)),this.$target&&(n=this._fireCallback(e._data(this.$target[0],"events"),t,this.namespace,n)),this.opts&&this.opts.callbacks&&e.isFunction(this.opts.callbacks[t])?this.opts.callbacks[t].apply(this,n):n},_fireCallback:function(t,e,n,i){if(t&&void 0!==t[e])for(var r=t[e].length,o=0;o<r;o++)if(t[e][o].namespace===n)var a=t[e][o].handler.apply(this,i);return void 0===a?i:a}},function(t){t.Plugin={create:function(n,i){return i="colibri."+(i=void 0===i?n.toLowerCase():i),e.fn[i]=function(r,o){var a=Array.prototype.slice.call(arguments,1),s="fn."+i,u=[];return this.each(function(){var i=e(this),c=i.data(s);if(o="object"==typeof r?r:o,c||(i.data(s,{}),c=new t[n](this,o),i.data(s,c)),"string"==typeof r)if(e.isFunction(c[r])){var l=c[r].apply(c,a);void 0!==l&&u.push(l)}else e.error('No such method "'+r+'" for '+n)}),0===u.length||1===u.length?0===u.length?this:u[0]:u},e.fn[i].options={},this},autoload:function(t){for(var e=t.split(","),n=e.length,i=0;i<n;i++){var r=e[i].toLowerCase().split(",").map(function(t){return"colibri."+t.trim()}).join(",");this.autoloadQueue.push(r)}return this},autoloadQueue:[],startAutoload:function(){if(window.MutationObserver&&0!==this.autoloadQueue.length){var t=this;new MutationObserver(function(e){e.forEach(function(e){var n=e.addedNodes;0===n.length||1===n.length&&3===n.nodeType||t.startAutoloadOnce()})}).observe(document,{subtree:!0,childList:!0})}},startAutoloadOnce:function(){var t=this;e("[data-colibri-component]").not("[data-loaded]").not("[data-disabled]").each(function(){var n=e(this),i="colibri."+n.data("colibri-component");if(-1!==t.autoloadQueue.indexOf(i)){n.attr("data-loaded",!0);try{n[i]()}catch(t){console.error(t)}}})},watch:function(){t.Plugin.startAutoloadOnce(),t.Plugin.startAutoload()}},e(window).on("load",function(){t.Plugin.watch()})}(t),function(t){t.Animation=function(e,n,i){this.namespace="animation",this.defaults={},t.apply(this,arguments),this.effect=n,this.completeCallback=void 0!==i&&i,this.prefixes=["","-moz-","-o-animation-","-webkit-"],this.queue=[],this.start()},t.Animation.prototype={start:function(){this.isSlideEffect()&&this.setElementHeight(),this.addToQueue(),this.clean(),this.animate()},addToQueue:function(){this.queue.push(this.effect)},setElementHeight:function(){this.$element.height(this.$element.outerHeight())},removeElementHeight:function(){this.$element.css("height","")},isSlideEffect:function(){return"slideDown"===this.effect||"slideUp"===this.effect},isHideableEffect:function(){return-1!==e.inArray(this.effect,["fadeOut","slideUp","flipOut","zoomOut","slideOutUp","slideOutRight","slideOutLeft"])},isToggleEffect:function(){return"show"===this.effect||"hide"===this.effect},storeHideClasses:function(){this.$element.hasClass("hide-sm")?this.$element.data("hide-sm-class",!0):this.$element.hasClass("hide-md")&&this.$element.data("hide-md-class",!0)},revertHideClasses:function(){this.$element.data("hide-sm-class")?this.$element.addClass("hide-sm").removeData("hide-sm-class"):this.$element.data("hide-md-class")?this.$element.addClass("hide-md").removeData("hide-md-class"):this.$element.addClass("hide")},removeHideClass:function(){this.$element.data("hide-sm-class")?this.$element.removeClass("hide-sm"):this.$element.data("hide-md-class")?this.$element.removeClass("hide-md"):(this.$element.removeClass("hide"),this.$element.removeClass("force-hide"))},animate:function(){if(this.storeHideClasses(),this.isToggleEffect())return this.makeSimpleEffects();this.$element.addClass("colibri-animated"),this.$element.addClass(this.queue[0]),this.removeHideClass();var t=this.queue.length>1?null:this.completeCallback;this.complete("AnimationEnd",e.proxy(this.makeComplete,this),t)},makeSimpleEffects:function(){"show"===this.effect?this.removeHideClass():"hide"===this.effect&&this.revertHideClasses(),"function"==typeof this.completeCallback&&this.completeCallback(this)},makeComplete:function(){this.$element.hasClass(this.queue[0])&&(this.clean(),this.queue.shift(),this.queue.length&&this.animate())},complete:function(t,n,i){var r=t.split(" ").map(function(t){return t.toLowerCase()+" webkit"+t+" o"+t+" MS"+t});this.$element.one(r.join(" "),e.proxy(function(){"function"==typeof n&&n(),this.isHideableEffect()&&this.revertHideClasses(),this.isSlideEffect()&&this.removeElementHeight(),"function"==typeof i&&i(this),this.$element.off(event)},this))},clean:function(){this.$element.removeClass("colibri-animated").removeClass(this.queue[0])}},t.Animation.inherits(t)}(t),function(e){e.fn["colibri.animation"]=function(n,i){var r="fn.animation";return this.each(function(){var o=e(this);o.data(r),o.data(r,{}),o.data(r,new t.Animation(this,n,i))})},e.fn["colibri.animation"].options={},t.animate=function(t,e,n){return t["colibri.animation"](e,n),t}}(jQuery),function(t){t.Detect=function(){},t.Detect.prototype={isMobile:function(){return/(iPhone|iPod|BlackBerry|Android)/.test(navigator.userAgent)},isDesktop:function(){return!/(iPhone|iPod|iPad|BlackBerry|Android)/.test(navigator.userAgent)},isMobileScreen:function(){return e(window).width()<=768},isTabletScreen:function(){return e(window).width()>=768&&e(window).width()<=1024},isDesktopScreen:function(){return e(window).width()>1024}}}(t),function(t){t.Utils=function(){},t.Utils.prototype={disableBodyScroll:function(){var t=e("html"),n=window.innerWidth;if(!n){var i=document.documentElement.getBoundingClientRect();n=i.right-Math.abs(i.left)}var r=document.body.clientWidth<n,o=this.measureScrollbar();t.css("overflow","hidden"),r&&t.css("padding-right",o)},measureScrollbar:function(){var t=e("body"),n=document.createElement("div");n.className="scrollbar-measure",t.append(n);var i=n.offsetWidth-n.clientWidth;return t[0].removeChild(n),i},enableBodyScroll:function(){e("html").css({overflow:"","padding-right":""})}}}(t),t}()},hDam:function(t,e){t.exports=function(){}},hJJR:function(t,e){var n=["webkit","moz","MS","o",""],i=function(t,e,i){for(var r=0;r<n.length;r++)n[r]||(e=e.toLowerCase()),t.addEventListener(n[r]+e,i,!1)};!function(t,e){var n=function(t,n){this.namespace="content-swap",this.defaults={data:{blockAnimationClass:"cs-block-animation"}},e.apply(this,arguments),this.start()};n.prototype={start:function(){var e=this;this.$hover=this.$element.find("[data-hover]"),this.$normal=this.$element.find("[data-normal]"),this.isAnimating=!1,this.runBack=!1,this.entering=!1;var n=this.opts.data.hoverEffect.replace("In","Out");if(this.endEffectClass=n+"EndEffect",this.$normal.removeClass(this.opts.data.hoverEffect+" "+this.opts.data.hoverEffect+"In "+this.opts.data.hoverEffect+"Out"),this.$hover.removeClass(this.opts.data.hoverEffect+" "+this.opts.data.hoverEffect+"In "+this.opts.data.hoverEffect+"Out"),this.isFlipEffect()){var r=this.opts.data.hoverEffect.replace("In","Out"),o=r.replace("Back","Front"),a=this.opts.data.blockAnimationClass;this.$hover.addClass(a+" "+r),this.$normal.addClass(a+" "+o)}var s=this;window.wp&&window.wp.customize||-1!==this.opts.data.hoverEffect.toLowerCase().indexOf("slide")&&this.$normal.parent().css("overflow","hidden"),this.$element.css("transform","translateZ(0)"),this.$element.hover(t.debounce(t.proxy(this.onMouseOver,this),50),t.debounce(t.proxy(this.onMouseOut,this),50)),i(this.$hover[0],"AnimationStart",function(){s.isAnimating=!0}),i(this.$hover[0],"AnimationEnd",function(){s.isAnimating=!1;var t=e.opts.data.hoverEffect.replace("In","Out");e.$hover.hasClass(t)&&!e.isFlipEffect()&&e.$hover.css("display","none"),s.runBack&&s.startOutAnimation()}),this.$hover.css({position:"absolute"}),this.isFlipEffect()?this.$hover.css("display",""):this.$hover.css("display","none")},isFlipEffect:function(){return this.$hover.parent().hasClass("flipper")},toggleExecuteBack:function(t){this.runBack=t},onMouseOver:function(){this.toggleExecuteBack(!1),this.isAnimating=!0,this.startOverAnimation()},onMouseOut:function(){this.isAnimating?this.toggleExecuteBack(!0):(this.isAnimating=!0,this.startOutAnimation())},startOverAnimation:function(){var t=this.opts.data.hoverEffect,e=t.replace("In","Out"),n=t.replace("Out","In"),i=e.replace("Back","Front"),r=n.replace("Back","Front");this.isFlipEffect()&&(this.$hover.removeClass(this.opts.data.blockAnimationClass),this.$normal.removeClass(this.opts.data.blockAnimationClass)),this.$hover.removeClass(e),this.$hover.addClass(n),this.$hover.css({display:""}),this.$normal.removeClass(i),this.$normal.addClass(r)},startOutAnimation:function(){var t=this.opts.data.hoverEffect,e=t.replace("Out","In"),n=t.replace("In","Out"),i=n.replace("Back","Front"),r=e.replace("Back","Front");this.$hover.removeClass(e),this.$hover.addClass(n),this.$normal.removeClass(r),this.$normal.addClass(i)}},n.inherits(e),e["content-swap"]=n,e.Plugin.create("content-swap"),e.Plugin.autoload("content-swap")}(jQuery,Colibri)},"hKI/":function(t,e,n){(function(e){var n="Expected a function",i=NaN,r="[object Symbol]",o=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt,l="object"==typeof e&&e&&e.Object===Object&&e,f="object"==typeof self&&self&&self.Object===Object&&self,h=l||f||Function("return this")(),p=Object.prototype.toString,d=Math.max,v=Math.min,m=function(){return h.Date.now()};function g(t,e,i){var r,o,a,s,u,c,l=0,f=!1,h=!1,p=!0;if("function"!=typeof t)throw new TypeError(n);function g(e){var n=r,i=o;return r=o=void 0,l=e,s=t.apply(i,n)}function b(t){var n=t-c;return void 0===c||n>=e||n<0||h&&t-l>=a}function w(){var t=m();if(b(t))return O(t);u=setTimeout(w,function(t){var n=e-(t-c);return h?v(n,a-(t-l)):n}(t))}function O(t){return u=void 0,p&&r?g(t):(r=o=void 0,s)}function C(){var t=m(),n=b(t);if(r=arguments,o=this,c=t,n){if(void 0===u)return function(t){return l=t,u=setTimeout(w,e),f?g(t):s}(c);if(h)return u=setTimeout(w,e),g(c)}return void 0===u&&(u=setTimeout(w,e)),s}return e=_(e)||0,y(i)&&(f=!!i.leading,a=(h="maxWait"in i)?d(_(i.maxWait)||0,e):a,p="trailing"in i?!!i.trailing:p),C.cancel=function(){void 0!==u&&clearTimeout(u),l=0,r=c=o=u=void 0},C.flush=function(){return void 0===u?s:O(m())},C}function y(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function _(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&p.call(t)==r}(t))return i;if(y(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=y(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(o,"");var n=s.test(t);return n||u.test(t)?c(t.slice(2),n?2:8):a.test(t)?i:+t}t.exports=function(t,e,i){var r=!0,o=!0;if("function"!=typeof t)throw new TypeError(n);return y(i)&&(r="leading"in i?!!i.leading:r,o="trailing"in i?!!i.trailing:o),g(t,e,{leading:r,maxWait:e,trailing:o})}}).call(this,n("yLpj"))},iCc5:function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},iq4v:function(t,e,n){n("Mqbl"),t.exports=n("WEpk").Object.keys},j2DC:function(t,e,n){"use strict";var i=n("oVml"),r=n("rr1i"),o=n("RfKB"),a={};n("NegM")(a,n("UWiX")("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(a,{next:r(1,n)}),o(t,e+" Iterator")}},jWKC:function(t,e,n){},jmDH:function(t,e,n){t.exports=!n("KUxP")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},kAMH:function(t,e,n){var i=n("a0xu");t.exports=Array.isArray||function(t){return"Array"==i(t)}},kTiW:function(t,e,n){t.exports=n("NegM")},kwZ1:function(t,e,n){"use strict";var i=n("w6GO"),r=n("mqlF"),o=n("NV0k"),a=n("JB68"),s=n("M1xp"),u=Object.assign;t.exports=!u||n("KUxP")(function(){var t={},e={},n=Symbol(),i="abcdefghijklmnopqrst";return t[n]=7,i.split("").forEach(function(t){e[t]=t}),7!=u({},t)[n]||Object.keys(u({},e)).join("")!=i})?function(t,e){for(var n=a(t),u=arguments.length,c=1,l=r.f,f=o.f;u>c;)for(var h,p=s(arguments[c++]),d=l?i(p).concat(l(p)):i(p),v=d.length,m=0;v>m;)f.call(p,h=d[m++])&&(n[h]=p[h]);return n}:u},lCc8:function(t,e,n){var i=n("Y7ZC");i(i.S,"Object",{create:n("oVml")})},mAWp:function(t,e,n){"use strict";n.d(e,"a",function(){return O}),n.d(e,"c",function(){return C});var i=n("/f1G"),r=n.n(i),o=n("QbLZ"),a=n.n(o),s=n("uPlq"),u=n("JB7L"),c={FADE_IN:"fadeIn",FADE_IN_UP:"fadeInUp",FADE_IN_DOWN:"fadeInDown",FADE_IN_LEFT:"fadeInLeft",FADE_IN_RIGHT:"fadeInRight"},l={ZOOM_IN:"zoomIn",ZOOM_IN_UP:"zoomInUp",ZOOM_IN_DOWN:"zoomInDown",ZOOM_IN_LEFT:"zoomInLeft",ZOOM_IN_RIGHT:"zoomInRight"},f={BOUNCE_IN:"bounceIn",BOUNCE_IN_UP:"bounceInUp",BOUNCE_IN_DOWN:"bounceInDown",BOUNCE_IN_LEFT:"bounceInLeft",BOUNCE_IN_RIGHT:"bounceInRight"},h={SLIDE_IN_UP:"slideInUp",SLIDE_IN_DOWN:"slideInDown",SLIDE_IN_LEFT:"slideInLeft",SLIDE_IN_RIGHT:"slideInRight"},p={ROTATE_IN:"rotateIn",ROTATE_IN_DOWN_LEFT:"rotateInDownLeft",ROTATE_IN_DOWN_RIGHT:"rotateInDownRight",ROTATE_IN_UP_LEFT:"rotateInUpLeft",ROTATE_IN_UP_RIGHT:"rotateInUpRight"},d={BOUNCE:"bounce",FLASH:"flash",PULSE:"pulse",RUBBER_BAND:"rubberBand",SHAKE:"shake",HEAD_SHAKE:"headShake",SWING:"swing",TADA:"tada",WOBBLE:"wobble",JELLO:"jello",HEART_BEAT:"heartBeat"},v={LIGHT_SPEED_IN:"lightSpeedIn"},m={ROLL_IN:"rollIn",JACK_IN_THE_BOX:"jackInTheBox"},g={FLIP_IN_X:"flipInX",FLIP_IN_Y:"flipInY"},y=a()({NONE:"none"},c,l,f,h,p,v,m,d,g),_=r()(y),b=[{label:"None",value:y.NONE,isSingle:!0},{label:"Fading",items:[{label:"Fade In",value:c.FADE_IN},{label:"Fade In Up",value:c.FADE_IN_UP},{label:"Fade In Down",value:c.FADE_IN_DOWN},{label:"Fade In Left",value:c.FADE_IN_LEFT},{label:"Fade In Right",value:c.FADE_IN_RIGHT}]},{label:"Zooming",items:[{label:"Zoom In",value:l.ZOOM_IN},{label:"Zoom In Up",value:l.ZOOM_IN_UP},{label:"Zoom In Down",value:l.ZOOM_IN_DOWN},{label:"Zoom In Left",value:l.ZOOM_IN_LEFT},{label:"Zoom In Right",value:l.ZOOM_IN_RIGHT}]},{label:"Bouncing",items:[{label:"Bounce In",value:f.BOUNCE_IN},{label:"Bounce In Up",value:f.BOUNCE_IN_UP},{label:"Bounce In Down",value:f.BOUNCE_IN_DOWN},{label:"Bounce In Left",value:f.BOUNCE_IN_LEFT},{label:"Bounce In Right",value:f.BOUNCE_IN_RIGHT}]},{label:"Sliding",items:[{label:"Slide In Up",value:h.SLIDE_IN_UP},{label:"Slide In Down",value:h.SLIDE_IN_DOWN},{label:"Slide In Left",value:h.SLIDE_IN_LEFT},{label:"Slide In Right",value:h.SLIDE_IN_RIGHT}]},{label:"Rotating",items:[{label:"Rotate In",value:p.ROTATE_IN},{label:"Rotate In Down Left",value:p.ROTATE_IN_DOWN_LEFT},{label:"Rotate In Down Right",value:p.ROTATE_IN_DOWN_RIGHT},{label:"Rotate In Up Left",value:p.ROTATE_IN_UP_LEFT},{label:"Rotate In Up Right",value:p.ROTATE_IN_UP_RIGHT}]},{label:"Attention seekers",items:[{label:"Bounce",value:d.BOUNCE},{label:"Flash",value:d.FLASH},{label:"Pulse",value:d.PULSE},{label:"Rubber band",value:d.RUBBER_BAND},{label:"Shake",value:d.SHAKE},{label:"Swing",value:d.SWING},{label:"Tada",value:d.TADA},{label:"Wobble",value:d.WOBBLE},{label:"Jello",value:d.JELLO},{label:"Heart Beat",value:d.HEART_BEAT}]},{label:"Light Speed",items:[{label:"Light Speed In",value:v.LIGHT_SPEED_IN}]},{label:"Specials",items:[{label:"Roll In",value:m.ROLL_IN},{label:"Jack In The Box",value:m.JACK_IN_THE_BOX}]},{label:"Flippers",items:[{label:"Flip In X",value:g.FLIP_IN_X},{label:"Flip In Y",value:g.FLIP_IN_Y}]}],w={EFFECT_TYPE:{VALUES:y,OPTIONS:b,DEFAULT:y.NONE},ANIMATIONS_CLASSES:_},O=[u.a.SPACER,u.a.NAVIGATION],C=function(t){var e=t.data,n=t.isPreview,i=t.vNode,r={},o=s.default.get(e.attrs,"v-previewId");o&&(r.nodeId=o);var a=i.getLocalProp("appearanceEffect",null,r);n||i.getSessionProp("restartAppearanceEffect",!1,r)&&e.class.push("colibri-aos-hide-animation");var u,c=(u=a)&&u!==y.NONE?{"data-aos":u}:null;c&&(e.attrs=s.default.merge({},e.attrs,c),i.$nextTick(function(){i.$nextTick(function(){E()})}))},E=s.default.debounce(function(){AOS&&AOS.refreshHard()},100);e.b=w},mRg0:function(t,e,n){"use strict";e.__esModule=!0;var i=a(n("s3Ml")),r=a(n("AyUB")),o=a(n("EJiy"));function a(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":(0,o.default)(e)));t.prototype=(0,r.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(i.default?(0,i.default)(t,e):t.__proto__=e)}},mqlF:function(t,e){e.f=Object.getOwnPropertySymbols},nhzr:function(t,e,n){n("fW1p"),t.exports=n("WEpk").Object.values},o8NH:function(t,e,n){var i=n("Y7ZC");i(i.S+i.F,"Object",{assign:n("kwZ1")})},oVml:function(t,e,n){var i=n("5K7Z"),r=n("fpC5"),o=n("FpHa"),a=n("VVlx")("IE_PROTO"),s=function(){},u=function(){var t,e=n("Hsns")("iframe"),i=o.length;for(e.style.display="none",n("MvwC").appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;i--;)delete u.prototype[o[i]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(s.prototype=i(t),n=new s,s.prototype=null,n[a]=t):n=u(),void 0===e?n:r(n,e)}},oYYQ:function(t,e){!function(t){function e(t){this.init(t)}e.prototype={value:0,size:100,startAngle:-Math.PI,thickness:"auto",fill:{gradient:["#3aeabb","#fdd250"]},emptyFill:"rgba(0, 0, 0, .1)",animation:{duration:1200,easing:"circleProgressEasing"},animationStartValue:0,reverse:!1,lineCap:"butt",constructor:e,el:null,canvas:null,ctx:null,radius:0,arcFill:null,lastFrameValue:0,init:function(e){t.extend(this,e),this.radius=this.size/2,this.initWidget(),this.initFill(),this.draw()},initWidget:function(){var e=this.canvas=this.canvas||t("<canvas>").prependTo(this.el)[0];e.width=this.size,e.height=this.size,this.ctx=e.getContext("2d")},initFill:function(){var e,n=this,i=this.fill,r=this.ctx,o=this.size;if(!i)throw Error("The fill is not specified!");if(i.color&&(this.arcFill=i.color),i.gradient){var a=i.gradient;if(1==a.length)this.arcFill=a[0];else if(a.length>1){for(var s=i.gradientAngle||0,u=i.gradientDirection||[o/2*(1-Math.cos(s)),o/2*(1+Math.sin(s)),o/2*(1+Math.cos(s)),o/2*(1-Math.sin(s))],c=r.createLinearGradient.apply(r,u),l=0;l<a.length;l++){var f=a[l],h=l/(a.length-1);t.isArray(f)&&(h=f[1],f=f[0]),c.addColorStop(h,f)}this.arcFill=c}}i.image&&(i.image instanceof Image?e=i.image:(e=new Image).src=i.image,e.complete?p():e.onload=p);function p(){var i=t("<canvas>")[0];i.width=n.size,i.height=n.size,i.getContext("2d").drawImage(e,0,0,o,o),n.arcFill=n.ctx.createPattern(i,"no-repeat"),n.drawFrame(n.lastFrameValue)}},draw:function(){this.animation?this.drawAnimated(this.value):this.drawFrame(this.value)},drawFrame:function(t){this.lastFrameValue=t,this.ctx.clearRect(0,0,this.size,this.size),this.drawEmptyArc(t),this.drawArc(t)},drawArc:function(t){var e=this.ctx,n=this.radius,i=this.getThickness(),r=this.startAngle;e.save(),e.beginPath(),this.reverse?e.arc(n,n,n-i/2,r-2*Math.PI*t,r):e.arc(n,n,n-i/2,r,r+2*Math.PI*t),e.lineWidth=i,e.lineCap=this.lineCap,e.strokeStyle=this.arcFill,e.stroke(),e.restore()},drawEmptyArc:function(t){var e=this.ctx,n=this.radius,i=this.getThickness(),r=this.startAngle;t<1&&(e.save(),e.beginPath(),t<=0?e.arc(n,n,n-i/2,0,2*Math.PI):this.reverse?e.arc(n,n,n-i/2,r,r-2*Math.PI*t):e.arc(n,n,n-i/2,r+2*Math.PI*t,r),e.lineWidth=i,e.strokeStyle=this.emptyFill,e.stroke(),e.restore())},drawAnimated:function(e){var n=this,i=this.el,r=t(this.canvas);r.stop(!0,!1),i.trigger("circle-animation-start"),r.css({animationProgress:0}).animate({animationProgress:1},t.extend({},this.animation,{step:function(t){var r=n.animationStartValue*(1-t)+e*t;n.drawFrame(r),i.trigger("circle-animation-progress",[t,r])}})).promise().always(function(){i.trigger("circle-animation-end")})},getThickness:function(){return t.isNumeric(this.thickness)?this.thickness:this.size/14},getValue:function(){return this.value},setValue:function(t){this.animation&&(this.animationStartValue=this.lastFrameValue),this.value=t,this.draw()}},t.circleProgress={defaults:e.prototype},t.easing.circleProgressEasing=function(t,e,n,i,r){return(e/=r/2)<1?i/2*e*e*e+n:i/2*((e-=2)*e*e+2)+n},t.fn.circleProgress=function(n,i){var r="circle-progress",o=this.data(r);if("widget"==n){if(!o)throw Error('Calling "widget" method on not initialized instance is forbidden');return o.canvas}if("value"==n){if(!o)throw Error('Calling "value" method on not initialized instance is forbidden');if(void 0===i)return o.getValue();var a=arguments[1];return this.each(function(){t(this).data(r).setValue(a)})}return this.each(function(){var i=t(this),o=i.data(r),a=t.isPlainObject(n)?n:{};if(o)o.init(a);else{var s=t.extend({},i.data());"string"==typeof s.fill&&(s.fill=JSON.parse(s.fill)),"string"==typeof s.animation&&(s.animation=JSON.parse(s.animation)),(a=t.extend(s,a)).el=i,o=new e(a),i.data(r,o)}})}}(jQuery)},oc46:function(t,e,n){var i=n("Y7ZC"),r=n("Jes0"),o=n("KUxP"),a=n("5pKv"),s="["+a+"]",u=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),l=function(t,e,n){var r={},s=o(function(){return!!a[t]()||"​"!="​"[t]()}),u=r[t]=s?e(f):a[t];n&&(r[n]=u),i(i.P+i.F*s,"String",r)},f=l.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(c,"")),t};t.exports=l},"oh+g":function(t,e,n){var i=n("WEpk"),r=i.JSON||(i.JSON={stringify:JSON.stringify});t.exports=function(t){return r.stringify.apply(r,arguments)}},p80q:function(t,e){!function(t,e){var n=function(t,n){this.namespace="scrollto",this.defaults={data:{arrowSelector:"",scrollTargetSelector:""}},e.apply(this,arguments),this.start()};n.prototype={start:function(){if(this.opts.data&&this.opts.data.arrowSelector&&this.opts.data.scrollTargetSelector){this.$arrow=this.$element.find(this.opts.data.arrowSelector);var e=t(this.opts.data.scrollTargetSelector);this.$arrow.smoothScrollAnchor({target:e})}},stop:function(){this.$arrow&&this.$arrow.off("click.smooth-scroll tap.smooth-scroll")},restart:function(){this.stop(),this.start()}},n.inherits(e),e.scrollto=n,e.Plugin.create("scrollto"),e.Plugin.autoload("scrollto")}(jQuery,Colibri)},qhMa:function(t,e){!function(t,e){var n="slideshow-gallery",i=function(t,i){this.namespace=n,this.defaults={},e.apply(this,arguments),this.opts.data=this.opts.data?this.opts.data:{},this.start()};i.prototype={start:function(){var e=this.$element.find(".slideshow-inner"),n=this.$element.find(".slideshow-thumbnails");if(e.find(" > .slideshow-item:gt(0)").hide(),n.length){var i=this.opts.data.margin,r=n,o=this.opts.data.itemsDesktop,a=this.opts.data.itemsTablet,s=this.opts.data.itemsMobile;this.opts.owl=r,r.owlCarousel({responsiveClass:!1,responsive:{0:{items:s},768:{items:a},1024:{items:o}},margin:i,loop:!1,rewind:!1,autoplay:!1,autoplayTimeout:3e3,nav:!0,dots:!1,mouseDrag:!0,touchDrag:!0,animateOut:!1,animateIn:!1,onInitialized:function(e){var i=t(".owl-carousel .owl-item").width();n.find(" .owl-item .slideshow-thumbnail").css("padding-top",.5625*i+"px")},onResized:function(e){var i=t(".owl-carousel .owl-item").width();n.find(" .owl-item .slideshow-thumbnail").css("padding-top",.5625*i+"px")},onTranslate:function(t){var n=t.item.index;e.find(" > .slideshow-item:visible").fadeOut(1e3),e.find(" > .slideshow-item").eq(n).fadeIn(1e3)}}),n.find(" .owl-item .slideshow-thumbnail").on("click",function(){e.find(" > .slideshow-item:visible").fadeOut(1e3),e.find(" > .slideshow-item").eq(t(this).data("index")).fadeIn(1e3)})}},stop:function(){var t=this.opts.owl;if(t)try{t.owlCarousel("destroy"),t.owlCarousel({touchDrag:!1,mouseDrag:!1})}catch(t){}},restart:function(){this.stop(),this.start()}},i.inherits(e),e[n]=i,e.Plugin.create(n),e.Plugin.autoload(n)}(jQuery,Colibri)},r5pt:function(t,e){!function(t,e){var n=function(t,n){this.namespace="widget-area",this.defaults={componentsWithEffects:[]},e.apply(this,arguments),this.start()};n.prototype={start:function(){e.isCustomizerPreview()||this.addAppearanceEffectAttribute()},addAppearanceEffectAttribute:function(){var t=this;this.opts.data&&this.opts.data.componentsWithEffects&&(this.opts.data.componentsWithEffects.forEach(function(e){var n=e.selector,i=e.effect;t.$element.find(n).attr("data-aos",i)}),setTimeout(function(){AOS&&AOS.refreshHard()},0))},stop:function(){}},n.inherits(e),e["widget-area"]=n,e.Plugin.create("widget-area"),e.Plugin.autoload("widget-area")}(jQuery,Colibri)},r8UP:function(t,e,n){t.exports={default:n("ablF"),__esModule:!0}},rr1i:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},s3Ml:function(t,e,n){t.exports={default:n("JbBM"),__esModule:!0}},tEej:function(t,e,n){var i=n("Ojgd"),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},tfYw:function(t,e,n){"use strict";e.__esModule=!0;var i=o(n("Yz+Y")),r=o(n("JO7F"));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function t(e,n,o){null===e&&(e=Function.prototype);var a=(0,r.default)(e,n);if(void 0===a){var s=(0,i.default)(e);return null===s?void 0:t(s,n,o)}if("value"in a)return a.value;var u=a.get;return void 0!==u?u.call(o):void 0}},u6Ez:function(t,e,n){"use strict";function i(t){return function(e,n,i){if(!t[e])if(t.mixin){var r={};r[e]=n,void 0===i&&(i=!0),t.mixin(r,{chain:i})}else t[e]=n;return t}}var r=/^\d+$/,o=/^[a-zA-Z_$]+([\w_$]*)$/;function a(t){return function(e){return t.isString(e)?e:t.isArray(e)?t.reduce(e,function(t,e){return r.test(e)?t+"["+e+"]":o.test(e)?t+(t?".":"")+e:t+'["'+e.toString().replace(/"/g,'\\"')+'"]'},""):void 0}}function s(t){var e=function(t){var e=a(t),n=function(t){return function(e,n){return t.some(n,function(n){var i=t.get(e,n);return!t.isEmpty(i)})}}(t),i=t.each||t.forArray;return function r(o,a,s,u,c,l,f,h,p,d){var v,m={value:o,key:u,path:"array"==s.pathFormat?c:e(c),parent:f},g=h.concat(m),y=void 0,_=void 0,b=void 0;s.checkCircular&&(t.isObject(o)&&!t.isEmpty(o)?b=h[_=t.findIndex(h,function(t){return t.value===o})]||null:(_=-1,b=null),y=-1!==_);var w=(l||s.includeRoot)&&(!s.leavesOnly||!t.isObject(o)||t.isEmpty(o)||y||void 0!==s.childrenPath&&!n(o,s.childrenPath));if(w){var O={path:"array"==s.pathFormat?c:e(c),parent:f,parents:h,obj:p,depth:l,isCircular:y,circularParent:b,circularParentIndex:_};void 0!==s.childrenPath&&(m.childrenPath="array"==s.pathFormat?d:e(d),O.childrenPath=m.childrenPath),v=a(o,u,f&&f.value,O)}function C(e,n){e&&t.isObject(e)&&t.forOwn(e,function(t,e){var i=(c||[]).concat(n||[],[e]);r(t,a,s,e,i,l+1,m,g,p,n)})}!1!==v&&!y&&t.isObject(o)&&(void 0!==s.childrenPath?!l&&s.rootIsChildren?C(o,void 0):i(s.childrenPath,function(e){C(t.get(o,e),e)}):t.forOwn(o,function(e,n){if(!t.isArray(o)||void 0!==e||n in o){var i=(c||[]).concat([n]);r(e,a,s,n,i,l+1,m,g,p)}})),s.callbackAfterIterate&&w&&(O.afterIterate=!0,a(o,u,f&&f.value,O))}}(t);return function(n,i,r){if(void 0===i&&(i=t.identity),void 0!==(r=t.merge({includeRoot:!t.isArray(n),pathFormat:"string",checkCircular:!1,leavesOnly:!1},r||{})).childrenPath){if(r.includeRoot||void 0!==r.rootIsChildren||(r.rootIsChildren=t.isArray(n)),!t.isString(r.childrenPath)&&!t.isArray(r.childrenPath))throw Error("childrenPath can be string or array");t.isString(r.childrenPath)&&(r.childrenPath=[r.childrenPath]);for(var o=r.childrenPath.length-1;o>=0;o--)r.childrenPath[o]=t.toPath(r.childrenPath[o])}return e(n,i,r,void 0,void 0,0,void 0,[],n),n}}function u(t){return i(t)("index",function(t){var e=s(t);return function(n,i){i&&void 0!==i.leafsOnly&&(i.leavesOnly=i.leafsOnly);var r={pathFormat:"string",checkCircular:(i=t.merge({checkCircular:!1,includeCircularPath:!0,leavesOnly:!i||void 0===i.childrenPath},i||{})).checkCircular,includeRoot:i.includeRoot,childrenPath:i.childrenPath,rootIsChildren:i.rootIsChildren,leavesOnly:i.leavesOnly},o={};return e(n,function(t,e,n,r){r.isCircular&&!i.includeCircularPath||void 0!==r.path&&(o[r.path]=t)},r),o}}(t))}function c(t){var e=s(t);return function(n,i){i&&void 0!==i.leafsOnly&&(i.leavesOnly=i.leafsOnly);var r={pathFormat:(i=t.merge({checkCircular:!1,includeCircularPath:!0,leavesOnly:!i||void 0===i.childrenPath,pathFormat:"string"},i||{})).pathFormat,checkCircular:i.checkCircular,includeRoot:i.includeRoot,childrenPath:i.childrenPath,rootIsChildren:i.rootIsChildren,leavesOnly:i.leavesOnly},o=[];return e(n,function(t,e,n,r){r.isCircular&&!i.includeCircularPath||void 0!==r.path&&o.push(r.path)},r),o}}function l(t){return function(e,n){var i=(n=t.isArray(n)?t.clone(n):t.toPath(n)).pop(),r=n.length?t.get(e,n):e;return void 0!==r&&i in r}}function f(t){return function(t){for(var e=[],n=0;n<t.length;n++)n in t||e.push(n);for(var i=e.length;i--;)t.splice(e[i],1);return t}}function h(t){var e=s(t),n=f(),i=t.each||t.forArray;return function(r,o){var a={checkCircular:(o=t.merge({checkCircular:!1},o||{})).checkCircular},s=[];return e(r,function(e,n,i,r){!r.isCircular&&t.isArray(e)&&s.push(e)},a),t.isArray(r)&&s.push(r),i(s,n),r}}function p(t){return function(e,n){return void 0===n?e:t.get(e,n)}}function d(t){var e=s(t),n=a(t),i=p(t),r=h(t),o=l(t);return function(a,s,u){s=t.iteratee(s),u&&void 0!==u.leafsOnly&&(u.leavesOnly=u.leafsOnly),u||(u={}),u.onTrue||(u.onTrue={}),u.onFalse||(u.onFalse={}),u.onUndefined||(u.onUndefined={}),void 0!==u.childrenPath&&(void 0===u.onTrue.skipChildren&&(u.onTrue.skipChildren=!1),void 0===u.onUndefined.skipChildren&&(u.onUndefined.skipChildren=!1),void 0===u.onFalse.skipChildren&&(u.onFalse.skipChildren=!1),void 0===u.onTrue.cloneDeep&&(u.onTrue.cloneDeep=!0),void 0===u.onUndefined.cloneDeep&&(u.onUndefined.cloneDeep=!0),void 0===u.onFalse.cloneDeep&&(u.onFalse.cloneDeep=!0));var c,l={pathFormat:(u=t.merge({checkCircular:!1,keepCircular:!0,leavesOnly:void 0===u.childrenPath,condense:!0,cloneDeep:t.cloneDeep,pathFormat:"string",onTrue:{skipChildren:!0,cloneDeep:!0,keepIfEmpty:!0},onUndefined:{skipChildren:!1,cloneDeep:!1,keepIfEmpty:!1},onFalse:{skipChildren:!0,cloneDeep:!1,keepIfEmpty:!1}},u)).pathFormat,checkCircular:u.checkCircular,childrenPath:u.childrenPath,includeRoot:u.includeRoot,callbackAfterIterate:!0,leavesOnly:u.leavesOnly},f=t.isArray(a)?[]:t.isObject(a)?{}:null,h={},p=[];return e(a,function(e,i,r,o){var a,l=n(o.path);if(!o.afterIterate)return o.isCircular?(t.unset(f,o.path),u.keepCircular&&p.push([o.path,o.circularParent.path]),!1):(a=s(e,i,r,o),t.isObject(a)||(a=void 0===a?t.clone(u.onUndefined):a?t.clone(u.onTrue):t.clone(u.onFalse)),void 0===a.empty&&(a.empty=!0),void 0!==l?(h[l]=a,t.eachRight(o.parents,function(t){var e=n(t.path);if(void 0===e||h[e])return!1;h[e]={skipChildren:!1,cloneDeep:!1,keepIfEmpty:!1,empty:a.empty}}),c||(c={skipChildren:!1,cloneDeep:!1,keepIfEmpty:!1,empty:a.empty})):c=a,!a.keepIfEmpty&&a.skipChildren||(u.cloneDeep&&a.cloneDeep?void 0!==o.path?t.set(f,o.path,u.cloneDeep(e)):f=u.cloneDeep(e):void 0!==o.path?t.set(f,o.path,t.isArray(e)?[]:t.isPlainObject(e)?{}:e):f=t.isArray(e)?[]:t.isPlainObject(e)?{}:e),!a.skipChildren);!o.afterIterate||o.isCircular||(void 0===l&&c.empty&&!c.keepIfEmpty?f=null:void 0!==l&&h[l].empty&&!h[l].keepIfEmpty?t.unset(f,o.path):(t.eachRight(o.parents,function(t){var e=n(t.path);if(void 0===e||!h[e].empty)return!1;h[e].empty=!1}),c.empty=!1))},l),c&&c.empty&&!c.keepIfEmpty?f=null:t.each(h,function(e,n){e.empty&&!e.keepIfEmpty&&t.unset(f,n)}),t.each(p,function(e){var n;(void 0===e[1]||o(f,e[1]))&&(n=t.has(u,"replaceCircularBy")?u.replaceCircularBy:i(f,e[1]),t.set(f,e[0],n))}),u.condense&&(f=r(f,{checkCircular:u.checkCircular})),!t.isArray(f)||f.length||l.includeRoot?f:null}}function v(t){var e=a(t);return function(n,i){var r,o;t.isString(n)?r=n:o=n,t.isArray(i)||(i=[i]);for(var a=0;a<i.length;a++)if(t.isString(i[a])&&(i[a]=t.toPath(i[a])),t.isArray(i[a])){if(void 0===o&&(o=t.toPath(r)),o.length>=i[a].length&&t.isEqual(t.takeRight(o,i[a].length),i[a]))return i[a]}else{if(!(i[a]instanceof RegExp))throw new Error("To match path use only string/regex or array of them.");if(void 0===r&&(r=e(n)),i[a].test(r))return i[a]}return!1}}function m(t){var e=v(t),n=d(t);return function(i,r,o){var a=!(o=t.merge({invert:!1},o||{})).invert;return(o=t.merge({onMatch:{cloneDeep:!1,skipChildren:!1,keepIfEmpty:!a},onNotMatch:{cloneDeep:!1,skipChildren:!1,keepIfEmpty:a}},o)).leavesOnly=!1,o.childrenPath=void 0,o.includeRoot=void 0,o.pathFormat="array",o.onTrue=o.invert?o.onMatch:o.onNotMatch,o.onFalse=o.invert?o.onNotMatch:o.onMatch,n(i,function(t,n,i,a){return!1!==e(a.path,r)?o.invert:!o.invert},o)}}function g(t){return i(t)("pickDeep",function(t){var e=m(t);return function(n,i,r){return(r=t.merge({invert:!1},r||{})).invert=!0,e(n,i,r)}}(t))}function y(t){return i(t)("reduceDeep",function(t){var e=s(t);return function(n,i,r,o){i=t.iteratee(i);var a=void 0!==r;return e(n,function(t,e,n,o){a?r=i(r,t,e,n,o):(r=t,a=!0)},o),r}}(t))}function _(t){return i(t)("mapDeep",function(t){var e=s(t);return function(n,i,r){i=t.iteratee(i);var o=t.isArray(n)?[]:t.isObject(n)?{}:t.clone(n);return e(n,function(e,n,r,a){var s=i(e,n,r,a);void 0===n?o=s:t.set(o,a.path,s)},r),o}}(t))}function b(t){return function(t){i(t)("pathToString",a(t),!1)}(t),function(t){i(t)("eachDeep",s(t))}(t),function(t){i(t)("forEachDeep",s(t))}(t),u(t),function(t){i(t)("paths",c(t))}(t),function(t){i(t)("keysDeep",c(t))}(t),function(t){i(t)("exists",l(t),!1)}(t),function(t){i(t)("condense",f())}(t),function(t){i(t)("condenseDeep",h(t))}(t),function(t){i(t)("filterDeep",d(t))}(t),function(t){i(t)("omitDeep",m(t))}(t),g(t),function(t){i(t)("obtain",p(t),!0)}(t),function(t){i(t)("pathMatches",v(t),!1)}(t),y(t),_(t),t}n.d(e,"a",function(){return b})},uFbj:function(t,e){!function(t,e,n){
/*! Computed Style - v0.1.0 - 2012-07-19
   * https://github.com/bbarakaci/computed-style
   * Copyright (c) 2012 Burak Barakaci; Licensed MIT */
var i=function(){var t={getAll:function(t){return n.defaultView.getComputedStyle(t)},get:function(t,e){return this.getAll(t)[e]},toFloat:function(t){return parseFloat(t,10)||0},getFloat:function(t,e){return this.toFloat(this.get(t,e))},_getAllCurrentStyle:function(t){return t.currentStyle}};return n.documentElement.currentStyle&&(t.getAll=t._getAllCurrentStyle),t}(),r=function(){function e(t){this.element=t,this.replacer=n.createElement("div"),this.replacer.style.visibility="hidden",this.hide(),t.parentNode.insertBefore(this.replacer,t)}return e.prototype={replace:function(){var t=this.replacer.style,e=i.getAll(this.element);t.width=this._width(),t.height=this._height(),t.marginTop=e.marginTop,t.marginBottom=e.marginBottom,t.marginLeft=e.marginLeft,t.marginRight=e.marginRight,t.cssFloat=e.cssFloat,t.styleFloat=e.styleFloat,t.position=e.position,t.top=e.top,t.right=e.right,t.bottom=e.bottom,t.left=e.left,t.display=e.display},hide:function(){this.replacer.style.display="none"},_width:function(){return this.element.getBoundingClientRect().width+"px"},_widthOffset:function(){return this.element.offsetWidth+"px"},_height:function(){return jQuery(this.element).outerHeight()+"px"},_heightOffset:function(){return this.element.offsetHeight+"px"},destroy:function(){for(var e in t(this.replacer).remove(),this)this.hasOwnProperty(e)&&(this[e]=null)}},n.documentElement.getBoundingClientRect().width||(e.prototype._width=e.prototype._widthOffset,e.prototype._height=e.prototype._heightOffset),{MimicNode:e,computedStyle:i}}();function o(){this._vendor=null}o.prototype={_vendors:{webkit:{cssPrefix:"-webkit-",jsPrefix:"Webkit"},moz:{cssPrefix:"-moz-",jsPrefix:"Moz"},ms:{cssPrefix:"-ms-",jsPrefix:"ms"},opera:{cssPrefix:"-o-",jsPrefix:"O"}},_prefixJsProperty:function(t,e){return t.jsPrefix+e[0].toUpperCase()+e.substr(1)},_prefixValue:function(t,e){return t.cssPrefix+e},_valueSupported:function(t,e,n){try{return n.style[t]=e,n.style[t]===e}catch(t){return!1}},propertySupported:function(t){return void 0!==n.documentElement.style[t]},getJsProperty:function(t){if(this.propertySupported(t))return t;if(this._vendor)return this._prefixJsProperty(this._vendor,t);var e;for(var n in this._vendors)if(e=this._prefixJsProperty(this._vendors[n],t),this.propertySupported(e))return this._vendor=this._vendors[n],e;return null},getCssValue:function(t,e){var i,r=n.createElement("div"),o=this.getJsProperty(t);if(this._valueSupported(o,e,r))return e;if(this._vendor&&(i=this._prefixValue(this._vendor,e),this._valueSupported(o,i,r)))return i;for(var a in this._vendors)if(i=this._prefixValue(this._vendors[a],e),this._valueSupported(o,i,r))return this._vendor=this._vendors[a],i;return null}};var a,s=new o,u=s.getJsProperty("transform");var c,l=s.getCssValue("position","sticky"),f=s.getCssValue("position","fixed");function h(e,n,i){this.child=e,this._$child=t(e),this.parent=n,this.options={className:"fixto-fixed",startAfterNode:{enabled:!1,selector:""},animations:{enabled:!1,currentInAnimationClass:"",currentOutAnimationClass:"",allInAnimationsClasses:"",allOutAnimationsClasses:"",duration:0},top:0,zIndex:""},this._setOptions(i),this._initAnimations()}function p(t,e,n){h.call(this,t,e,n),this._replacer=new r.MimicNode(t),this._ghostNode=this._replacer.replacer,this._saveStyles(),this._saveViewportHeight(),this._proxied_onscroll=this._bind(this._onscroll,this),this._proxied_onresize=this._bind(this._onresize,this),this.start()}function d(t,e,n){h.call(this,t,e,n),this.start()}"Microsoft Internet Explorer"===navigator.appName&&(c=parseFloat(navigator.appVersion.split("MSIE")[1])),h.prototype={_mindtop:function(){var t=0;if(this._$mind)for(var e,n,r=0,o=this._$mind.length;r<o;r++)if((n=(e=this._$mind[r]).getBoundingClientRect()).height)t+=n.height;else{var a=i.getAll(e);t+=e.offsetHeight+i.toFloat(a.marginTop)+i.toFloat(a.marginBottom)}return t},_updateOutAnimationDuration:function(){var t=this.options.animations.duration;isNaN(t)&&(t=0),this._animationDuration=t},_initAnimations:function(){var e=this.options.animations;this._$child.removeClass(e.allInAnimationsClasses),this._$child.removeClass(e.allOutAnimationsClasses);var n=this;this._updateOutAnimationDuration(),this._animationOutDebounce=t.debounce(function(){n._$child.removeClass(n.options.animations.allOutAnimationsClasses),n._inOutAnimation=!1,n._unfix(),n._removeTransitionFromOutAnimation()},100),this._animationInDebounce=t.debounce(function(){n._inInAnimation=!1,n._$child.removeClass(n.options.animations.allInAnimationsClasses)},this._animationDuration)},_removeTransitionFromOutAnimation:function(){this._$child.addClass("h-global-transition-disable");var t=this._$child.css("transition-duration").match(/\d+/)[0];t||(t=0);var e=this;setTimeout(function(){e._$child&&e._$child.removeClass("h-global-transition-disable")},1e3*t+500)},_passedStartAfterNode:function(){var t=this._$startAfterNode;if(t&&t.length>0){var e=this._afterElementOffsetTop,n=t.outerHeight();return this._scrollTop>e+n}return!0},stop:function(){this._stop(),this._running=!1},start:function(){this._running||(this._start(),this._running=!0)},destroy:function(){for(var t in this.stop(),this._destroy(),this._$child.removeData("fixto-instance"),this)this.hasOwnProperty(t)&&(this[t]=null)},_setOptions:function(e){t.extend(!0,this.options,e),this.options.mind&&(this._$mind=t(this.options.mind)),this.options.startAfterNode.enabled&&this.options.startAfterNode.selector&&(this._$startAfterNode=t(this.options.startAfterNode.selector))},setOptions:function(t){this._setOptions(t),this.refresh()},_stop:function(){},_start:function(){},_destroy:function(){},refresh:function(){}},p.prototype=new h,t.extend(p.prototype,{_bind:function(t,e){return function(){return t.call(e)}},_toresize:8===c?n.documentElement:e,_scriptCallIsValid:function(e){if(!Colibri.isCustomizerPreview())return!0;var n=t(e).closest(".h-navigation_outer").get(0);return!n||!!n.__vue__},_onscroll:function(){if(this._scrollTop=n.documentElement.scrollTop||n.body.scrollTop,this._parentBottom=this.parent.offsetHeight+this._fullOffset("offsetTop",this.parent),!this.options.startAfterNode||this._passedStartAfterNode())if(this.fixed){if(this.options.toBottom){if(this._scrollTop>=this._fullOffset("offsetTop",this._ghostNode))return void this._unfixFromScrollListener()}else if(this._scrollTop>this._parentBottom||this._scrollTop<=this._fullOffset("offsetTop",this._ghostNode)-this.options.top-this._mindtop())return void this._unfixFromScrollListener();this._adjust()}else{var t=i.getAll(this.child);(this._scrollTop<this._parentBottom&&this._scrollTop>this._fullOffset("offsetTop",this.child)-this.options.top-this._mindtop()&&this._viewportHeight>this.child.offsetHeight+i.toFloat(t.marginTop)+i.toFloat(t.marginBottom)||this.options.toBottom)&&(this._fix(),this._adjust())}else this.fixed&&!this._inOutAnimation&&this._unfixFromScrollListener()},_adjust:function(){var e=0,n=this._mindtop(),r=0,o=i.getAll(this.child),s=null;if(a&&(s=this._getContext())&&(e=Math.abs(s.getBoundingClientRect().top)),(r=this._parentBottom-this._scrollTop-(this.child.offsetHeight+i.toFloat(o.marginBottom)+n+this.options.top))>0&&(r=0),this.options.toBottom);else{var u=this.options.top;0===u&&(u=t("body").offset().top),this.child.style.top=Math.round(r+n+e+u-i.toFloat(o.marginTop))+"px"}},_fullOffset:function(t,e,n){for(var i=e[t],r=e.offsetParent;null!==r&&r!==n;)i+=r[t],r=r.offsetParent;return i},_getContext:function(){for(var t,e=this.child,r=null;!r;){if((t=e.parentNode)===n.documentElement)return null;if("none"!==i.getAll(t)[u]){r=t;break}e=t}return r},_fix:function(){var e=this.child,r=e.style,o=i.getAll(e),s=e.getBoundingClientRect().left,u=o.width;if(this._$child.trigger("fixto-add"),this._saveStyles(),n.documentElement.currentStyle&&(u=e.offsetWidth,"border-box"!==o.boxSizing&&(u-=i.toFloat(o.paddingLeft)+i.toFloat(o.paddingRight)+i.toFloat(o.borderLeftWidth)+i.toFloat(o.borderRightWidth)),u+="px"),a){this._getContext();s=this._$child.offset().left}if(this._replacer.replace(),r.left=s-i.toFloat(o.marginLeft)+"px",r.width=u,r.position="fixed",this.options.toBottom)r.top="",r.bottom=this.options.top+i.toFloat(o.marginBottom)+"px";else{r.bottom="";var c=this.options.top;0===c&&(c=t("body").offset().top),r.top=this._mindtop()+c-i.toFloat(o.marginTop)+"px"}this.options.zIndex&&(this.child.style.zIndex=this.options.zIndex),this._$child.addClass(this.options.className);var l=this.options.animations;this._$child.removeClass(l.allInAnimationsClasses),l.enabled&&(this._$child.addClass(l.currentInAnimationClass),this._inInAnimation||(this._inInAnimation=!0,this._animationInDebounce())),this.fixed=!0,this._$child.trigger("fixto-added")},_unfixFromScrollListener:function(){this._$child.trigger("fixto-unnfix-from-scroll"),this.options.animations.enabled?this._unfixTriggerAnimation():this._unfix()},_getAfterElementOffsetTop:function(){var t=this._$startAfterNode;if(t&&t.length>0){var e=t.get(0),n=0;do{n+=e.offsetTop,e=e.offsetParent}while(e);return n=n<0?0:n}return 0},_unfix:function(){this._replacer.hide();var t=this.child.style;t.position=this._childOriginalPosition,t.top=this._childOriginalTop,t.bottom=this._childOriginalBottom,t.width=this._childOriginalWidth,t.left=this._childOriginalLeft,t.zIndex=this._childOriginalZIndex,this.options.always||(this._$child.removeClass(this.options.className),this._$child.trigger("fixto-removed")),this.fixed=!1},_unfixTriggerAnimation:function(){this._$child.trigger("fixto-animated-remove"),this._animationInDebounce.flush();var t=this.options.animations;this._$child.removeClass(t.allInAnimationsClasses),this._$child.removeClass(t.allOutAnimationsClasses),t.enabled&&this._$child.addClass(t.currentOutAnimationClass),this._inOutAnimation=!0,this._animationOutDebounce()},_saveStyles:function(){this._animationOutDebounce.flush();var t=this.child.style;this._childOriginalPosition=t.position,this.options.toBottom?(this._childOriginalTop="",this._childOriginalBottom=t.bottom):(this._childOriginalTop=t.top,this._childOriginalBottom=""),this._childOriginalWidth=t.width,this._childOriginalLeft=t.left,this._childOriginalZIndex=t.zIndex,this._afterElementOffsetTop=this._getAfterElementOffsetTop()},_onresize:function(){this.refresh()},_saveViewportHeight:function(){this._viewportHeight=e.innerHeight||n.documentElement.clientHeight},_stop:function(){this._unfix(),t(e).unbind("scroll.fixto mousewheel",this._proxied_onscroll),t(this._toresize).unbind("resize.fixto",this._proxied_onresize)},_start:function(){this._onscroll(),t(e).bind("scroll.fixto mousewheel",this._proxied_onscroll),t(this._toresize).bind("resize.fixto",this._proxied_onresize)},_destroy:function(){this._replacer.destroy()},refresh:function(){this._saveViewportHeight(),this._unfix(),this._onscroll()}}),d.prototype=new h,t.extend(d.prototype,{_start:function(){var t=i.getAll(this.child);this._childOriginalPosition=t.position,this._childOriginalTop=t.top,this.child.style.position=l,this.refresh()},_stop:function(){this.child.style.position=this._childOriginalPosition,this.child.style.top=this._childOriginalTop},refresh:function(){this.child.style.top=this._mindtop()+this.options.top+"px"}});var v=function(t,e,i){return l&&!i||l&&i&&!1!==i.useNativeSticky?new d(t,e,i):f?(void 0===a&&(r=!1,o=n.createElement("div"),s=n.createElement("div"),o.appendChild(s),o.style[u]="translate(0)",o.style.marginTop="10px",o.style.visibility="hidden",s.style.position="fixed",s.style.top=0,n.body.appendChild(o),s.getBoundingClientRect().top>0&&(r=!0),n.body.removeChild(o),a=r),new p(t,e,i)):"Neither fixed nor sticky positioning supported";var r,o,s};c<8&&(v=function(){return"not supported"}),t.fn.fixTo=function(e,n){var i=t(e),r=0;return this.each(function(){var o=t(this).data("fixto-instance");o?o[e].call(o,n):t(this).data("fixto-instance",v(this,i[r],n));r++})}}(window.jQuery,window,document)},uOPS:function(t,e){t.exports=!0},uPlq:function(t,e,n){"use strict";n.r(e),n.d(e,"_",function(){return l});var i=n("Dbz9"),r=n.n(i),o=n("IthS"),a=n.n(o),s=n("LvDl"),u=n.n(s),c=n("u6Ez"),l=u.a;l.pascalCase=l.flow(l.camelCase,l.upperFirst);l.unsetArraySafe=function(t,e){var n=function(t,e){var n,i,r=!1;n=/(.*)(\[(\d+)\]$)/g.exec(e),i=/(.*)(\.(\d+)$)/g.exec(e);var o=null,a=null,s=null;return n&&(o=n[1],a=n[3],s=l.get(t,o),Array.isArray(s)&&(r=!0)),i&&(o=i[1],a=i[3],s=l.get(t,o),Array.isArray(s)&&(r=!0)),{pathValueIsArrayElement:r,index:a,elementParent:s}}(t,e),i=n.pathValueIsArrayElement,r=n.index,o=n.elementParent;i?o.splice(r,1):l.unset(t,e)},l.mergeNoArrays=function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return l.mergeWith.apply(null,[].concat(e,[function(t,e){return l.isArray(e)?e:l.isArray(t)?t:void 0}]))},l.cleanDeep=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return a()(t,l.merge({emptyArrays:!0,emptyObjects:!1,emptyStrings:!1,nullValues:!1,undefinedValues:!1},e))},l.differenceObj=function(t,e){return function t(e,n){return l.transform(e,function(e,i,r){l.isEqual(i,n[r])||(e[r]=l.isObject(i)&&l.isObject(n[r])?t(i,n[r]):i)})}(t,e)},l.freeze=function(t){return top.skip||r()(t),t},l=Object(c.a)(l),e.default=l},ucIs:function(t,e){},v5Dd:function(t,e,n){var i=n("NsO/"),r=n("vwuL").f;n("zn7N")("getOwnPropertyDescriptor",function(){return function(t,e){return r(i(t),e)}})},vYqb:function(t,e){!function(t,e){var n=function(t,n){this.namespace="link",this.defaults={href:"",target:"_self"},e.apply(this,arguments),this.start()};n.prototype={start:function(){var t=this;t.opts.href&&(this.$element.addClass("cursor-pointer"),this.$element.on("click",function(){window.open(t.opts.href,t.opts.target)}))},inside:function(){},outside:function(){}},n.inherits(e),e.link=n,e.Plugin.create("link"),e.Plugin.autoload("link")}(jQuery,Colibri)},vwuL:function(t,e,n){var i=n("NV0k"),r=n("rr1i"),o=n("NsO/"),a=n("G8Mo"),s=n("B+OT"),u=n("eUtF"),c=Object.getOwnPropertyDescriptor;e.f=n("jmDH")?c:function(t,e){if(t=o(t),e=a(e,!0),u)try{return c(t,e)}catch(t){}if(s(t,e))return r(!i.f.call(t,e),t[e])}},"w2d+":function(t,e,n){"use strict";var i=n("hDam"),r=n("UO39"),o=n("SBuE"),a=n("NsO/");t.exports=n("MPFp")(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):r(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},w6GO:function(t,e,n){var i=n("5vMV"),r=n("FpHa");t.exports=Object.keys||function(t){return i(t,r)}},wgeU:function(t,e){},x2nW:function(t,e){!function(t,e){var n=function(t,n){this.namespace="offcanvas",this.defaults={target:null,push:!0,width:"250px",direction:"left",toggleEvent:"click",clickOutside:!0,animationOpen:"slideInLeft",animationClose:"slideOutLeft",callbacks:["open","opened","close","closed"],offcanvasOverlayId:null,$overlayElement:null,targetId:null},e.apply(this,arguments),this.utils=new e.Utils,this.detect=new e.Detect,this.start()};n.prototype={start:function(){if(this.hasTarget()){var e=this.opts.offcanvasOverlayId,n=t("#"+e+".offscreen-overlay");this.opts.$overlayElement=n,this.buildTargetWidth(),this.buildAnimationDirection(),this.$close=this.getCloseLink(),this.$element.on(this.opts.toggleEvent+"."+this.namespace,t.proxy(this.toggle,this)),this.$target.addClass("offcanvas"),this.$target.trigger("colibri.offcanvas.ready"),this.moveOffcanvasToBody(),this.addOffcanvasOverlayLogic()}},stop:function(){this.closeAll(),this.removeOffcanvasElements(),this.$element.off("."+this.namespace),this.$close&&this.$close.off("."+this.namespace),t(document).off("."+this.namespace)},removeOffcanvasElements:function(){this.$target.remove(),this.opts.$overlayElement.remove()},moveOffcanvasToBody:function(){var t=this.$target[0];document.body.appendChild(t);var e=this.opts.$overlayElement[0];document.body.appendChild(e)},addOffcanvasOverlayLogic:function(){var t=this.opts.$overlayElement,e=this.$target;e.length&&(t.on("scroll touchmove mousewheel",function(t){return t.preventDefault(),t.stopPropagation(),!1}),e.on("colibri.offcanvas.open",function(){t.addClass("h-offcanvas-opened")}),e.on("colibri.offcanvas.close",function(){t.removeClass("h-offcanvas-opened")}))},toggle:function(t){this.isOpened()?this.close(t):this.open(t)},buildTargetWidth:function(){this.opts.width=t(window).width()<parseInt(this.opts.width)?"100%":this.opts.width},buildAnimationDirection:function(){"right"===this.opts.direction&&(this.opts.animationOpen="slideInRight",this.opts.animationClose="slideOutRight")},getCloseLink:function(){return this.$target.find(".close")},open:function(n){n&&n.preventDefault(),this.isOpened()||(this.closeAll(),this.callback("open"),this.$target.addClass("offcanvas-"+this.opts.direction),this.$target.css("width",Math.min(parseInt(this.opts.width),window.innerWidth-100)),this.$target.css("right","-"+Math.min(parseInt(this.opts.width),window.innerWidth-100)),this.pushBody(),this.$target.trigger("colibri.offcanvas.open"),e.animate(this.$target,this.opts.animationOpen,t.proxy(this.onOpened,this)),this.$element.trigger("colibri.offcanvas.open"))},closeAll:function(){var n=t(document).find(".offcanvas");0!==n.length&&(n.each(function(){var n=t(this);n.hasClass("open")&&(n.css("width",""),e.animate(n,"hide"),n.removeClass("open offcanvas-left offcanvas-right"))}),t(document).off("."+this.namespace),t("body").css("left",""))},close:function(n){if(n){var i=t(n.target);if(("A"===i[0].tagName||"BUTTON"===i[0].tagName||i.parents("a").length)&&0!==i.closest(".offcanvas").length&&!i.hasClass("close"))return;n.preventDefault()}this.isOpened()&&(this.callback("close"),this.pullBody(),this.$target.trigger("colibri.offcanvas.close"),e.animate(this.$target,this.opts.animationClose,t.proxy(this.onClosed,this)))},isOpened:function(){return this.$target.hasClass("open")},onOpened:function(){wp&&wp.customize||this.$target.find("a").eq(0).focus(),this.opts.clickOutside&&t(document).on("click."+this.namespace+" tap."+this.namespace,t.proxy(this.close,this)),this.detect.isMobileScreen()&&t("html").addClass("no-scroll"),t(document).on("keyup."+this.namespace,t.proxy(this.handleKeyboard,this)),t(document).on("keydown."+this.namespace,t.proxy(this.handleKeyDown,this)),this.$close.on("click."+this.namespace,t.proxy(this.close,this)),this.$target.addClass("open"),this.callback("opened")},onClosed:function(){this.detect.isMobileScreen()&&t("html").removeClass("no-scroll"),this.$target.css("width","").removeClass("offcanvas-"+this.opts.direction),this.$close.off("."+this.namespace),t(document).off("."+this.namespace),this.$target.removeClass("open"),this.callback("closed"),this.$target.trigger("colibri.offcanvas.closed")},handleKeyboard:function(e){27===e.which&&(document.activeElement&&t(document.activeElement).closest(".offcanvas").length&&this.$element.focus(),this.close())},handleKeyDown:function(t){if(9===t.which){var e=this.$target.find("a:visible"),n=t.shiftKey;if(e.last().is(t.target)&&!n)return e.first().focus(),t.preventDefault(),void t.stopPropagation();if(e.first().is(t.target)&&n)return e.last().focus(),t.preventDefault(),void t.stopPropagation()}},pullBody:function(){this.opts.push&&t("body").animate({left:0},350,function(){t(this).removeClass("offcanvas-push-body")})},pushBody:function(){if(this.opts.push){var e="left"===this.opts.direction?{left:this.opts.width}:{left:"-"+this.opts.width};t("body").addClass("offcanvas-push-body").animate(e,200)}}},n.inherits(e),e.offcanvas=n,e.Plugin.create("offcanvas"),e.Plugin.autoload("offcanvas")}(jQuery,Colibri)},yLpj:function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},"yY/7":function(t,e,n){(function(t,n){var i=200,r="Expected a function",o="__lodash_hash_undefined__",a=1,s=2,u=1/0,c=9007199254740991,l="[object Arguments]",f="[object Array]",h="[object Boolean]",p="[object Date]",d="[object Error]",v="[object Function]",m="[object GeneratorFunction]",g="[object Map]",y="[object Number]",_="[object Object]",b="[object RegExp]",w="[object Set]",O="[object String]",C="[object Symbol]",E="[object ArrayBuffer]",S="[object DataView]",T=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,A=/^\w*$/,k=/^\./,x=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,I=/\\(\\)?/g,P=/^\[object .+?Constructor\]$/,L=/^(?:0|[1-9]\d*)$/,$={};$["[object Float32Array]"]=$["[object Float64Array]"]=$["[object Int8Array]"]=$["[object Int16Array]"]=$["[object Int32Array]"]=$["[object Uint8Array]"]=$["[object Uint8ClampedArray]"]=$["[object Uint16Array]"]=$["[object Uint32Array]"]=!0,$[l]=$[f]=$[E]=$[h]=$[S]=$[p]=$[d]=$[v]=$[g]=$[y]=$[_]=$[b]=$[w]=$[O]=$["[object WeakMap]"]=!1;var j="object"==typeof t&&t&&t.Object===Object&&t,R="object"==typeof self&&self&&self.Object===Object&&self,D=j||R||Function("return this")(),N="object"==typeof e&&e&&!e.nodeType&&e,M=N&&"object"==typeof n&&n&&!n.nodeType&&n,z=M&&M.exports===N&&j.process,F=function(){try{return z&&z.binding("util")}catch(t){}}(),B=F&&F.isTypedArray;function W(t,e){for(var n=-1,i=t?t.length:0;++n<i;)if(e(t[n],n,t))return!0;return!1}function U(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function H(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function V(t,e){return function(n){return t(e(n))}}function G(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}var Y,q=Array.prototype,Q=Function.prototype,Z=Object.prototype,K=D["__core-js_shared__"],J=(Y=/[^.]+$/.exec(K&&K.keys&&K.keys.IE_PROTO||""))?"Symbol(src)_1."+Y:"",X=Q.toString,tt=Z.hasOwnProperty,et=Z.toString,nt=RegExp("^"+X.call(tt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),it=D.Symbol,rt=D.Uint8Array,ot=V(Object.getPrototypeOf,Object),at=Object.create,st=Z.propertyIsEnumerable,ut=q.splice,ct=V(Object.keys,Object),lt=Wt(D,"DataView"),ft=Wt(D,"Map"),ht=Wt(D,"Promise"),pt=Wt(D,"Set"),dt=Wt(D,"WeakMap"),vt=Wt(Object,"create"),mt=Zt(lt),gt=Zt(ft),yt=Zt(ht),_t=Zt(pt),bt=Zt(dt),wt=it?it.prototype:void 0,Ot=wt?wt.valueOf:void 0,Ct=wt?wt.toString:void 0;function Et(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}function St(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}function Tt(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}function At(t){var e=-1,n=t?t.length:0;for(this.__data__=new Tt;++e<n;)this.add(t[e])}function kt(t){this.__data__=new St(t)}function xt(t,e){var n=te(t)||Xt(t)?function(t,e){for(var n=-1,i=Array(t);++n<t;)i[n]=e(n);return i}(t.length,String):[],i=n.length,r=!!i;for(var o in t)!e&&!tt.call(t,o)||r&&("length"==o||Ht(o,i))||n.push(o);return n}function It(t,e){for(var n=t.length;n--;)if(Jt(t[n][0],e))return n;return-1}Et.prototype.clear=function(){this.__data__=vt?vt(null):{}},Et.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},Et.prototype.get=function(t){var e=this.__data__;if(vt){var n=e[t];return n===o?void 0:n}return tt.call(e,t)?e[t]:void 0},Et.prototype.has=function(t){var e=this.__data__;return vt?void 0!==e[t]:tt.call(e,t)},Et.prototype.set=function(t,e){return this.__data__[t]=vt&&void 0===e?o:e,this},St.prototype.clear=function(){this.__data__=[]},St.prototype.delete=function(t){var e=this.__data__,n=It(e,t);return!(n<0||(n==e.length-1?e.pop():ut.call(e,n,1),0))},St.prototype.get=function(t){var e=this.__data__,n=It(e,t);return n<0?void 0:e[n][1]},St.prototype.has=function(t){return It(this.__data__,t)>-1},St.prototype.set=function(t,e){var n=this.__data__,i=It(n,t);return i<0?n.push([t,e]):n[i][1]=e,this},Tt.prototype.clear=function(){this.__data__={hash:new Et,map:new(ft||St),string:new Et}},Tt.prototype.delete=function(t){return Bt(this,t).delete(t)},Tt.prototype.get=function(t){return Bt(this,t).get(t)},Tt.prototype.has=function(t){return Bt(this,t).has(t)},Tt.prototype.set=function(t,e){return Bt(this,t).set(t,e),this},At.prototype.add=At.prototype.push=function(t){return this.__data__.set(t,o),this},At.prototype.has=function(t){return this.__data__.has(t)},kt.prototype.clear=function(){this.__data__=new St},kt.prototype.delete=function(t){return this.__data__.delete(t)},kt.prototype.get=function(t){return this.__data__.get(t)},kt.prototype.has=function(t){return this.__data__.has(t)},kt.prototype.set=function(t,e){var n=this.__data__;if(n instanceof St){var r=n.__data__;if(!ft||r.length<i-1)return r.push([t,e]),this;n=this.__data__=new Tt(r)}return n.set(t,e),this};var Pt,Lt=function(t,e,n){for(var i=-1,r=Object(t),o=n(t),a=o.length;a--;){var s=o[Pt?a:++i];if(!1===e(r[s],s,r))break}return t};function $t(t,e){for(var n=0,i=(e=Vt(e,t)?[e]:zt(e)).length;null!=t&&n<i;)t=t[Qt(e[n++])];return n&&n==i?t:void 0}function jt(t,e){return null!=t&&e in Object(t)}function Rt(t,e,n,i,r){return t===e||(null==t||null==e||!re(t)&&!oe(e)?t!=t&&e!=e:function(t,e,n,i,r,o){var u=te(t),c=te(e),v=f,m=f;u||(v=(v=Ut(t))==l?_:v);c||(m=(m=Ut(e))==l?_:m);var T=v==_&&!U(t),A=m==_&&!U(e),k=v==m;if(k&&!T)return o||(o=new kt),u||ue(t)?Ft(t,e,n,i,r,o):function(t,e,n,i,r,o,u){switch(n){case S:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case E:return!(t.byteLength!=e.byteLength||!i(new rt(t),new rt(e)));case h:case p:case y:return Jt(+t,+e);case d:return t.name==e.name&&t.message==e.message;case b:case O:return t==e+"";case g:var c=H;case w:var l=o&s;if(c||(c=G),t.size!=e.size&&!l)return!1;var f=u.get(t);if(f)return f==e;o|=a,u.set(t,e);var v=Ft(c(t),c(e),i,r,o,u);return u.delete(t),v;case C:if(Ot)return Ot.call(t)==Ot.call(e)}return!1}(t,e,v,n,i,r,o);if(!(r&s)){var x=T&&tt.call(t,"__wrapped__"),I=A&&tt.call(e,"__wrapped__");if(x||I){var P=x?t.value():t,L=I?e.value():e;return o||(o=new kt),n(P,L,i,r,o)}}if(!k)return!1;return o||(o=new kt),function(t,e,n,i,r,o){var a=r&s,u=ce(t),c=u.length,l=ce(e).length;if(c!=l&&!a)return!1;for(var f=c;f--;){var h=u[f];if(!(a?h in e:tt.call(e,h)))return!1}var p=o.get(t);if(p&&o.get(e))return p==e;var d=!0;o.set(t,e),o.set(e,t);for(var v=a;++f<c;){h=u[f];var m=t[h],g=e[h];if(i)var y=a?i(g,m,h,e,t,o):i(m,g,h,t,e,o);if(!(void 0===y?m===g||n(m,g,i,r,o):y)){d=!1;break}v||(v="constructor"==h)}if(d&&!v){var _=t.constructor,b=e.constructor;_!=b&&"constructor"in t&&"constructor"in e&&!("function"==typeof _&&_ instanceof _&&"function"==typeof b&&b instanceof b)&&(d=!1)}return o.delete(t),o.delete(e),d}(t,e,n,i,r,o)}(t,e,Rt,n,i,r))}function Dt(t){return!(!re(t)||J&&J in t)&&(ne(t)||U(t)?nt:P).test(Zt(t))}function Nt(t){return"function"==typeof t?t:null==t?le:"object"==typeof t?te(t)?function(t,e){if(Vt(t)&&Gt(e))return Yt(Qt(t),e);return function(n){var i=function(t,e,n){var i=null==t?void 0:$t(t,e);return void 0===i?n:i}(n,t);return void 0===i&&i===e?function(t,e){return null!=t&&function(t,e,n){var i,r=-1,o=(e=Vt(e,t)?[e]:zt(e)).length;for(;++r<o;){var a=Qt(e[r]);if(!(i=null!=t&&n(t,a)))break;t=t[a]}if(i)return i;return!!(o=t?t.length:0)&&ie(o)&&Ht(a,o)&&(te(t)||Xt(t))}(t,e,jt)}(n,t):Rt(e,i,void 0,a|s)}}(t[0],t[1]):function(t){var e=function(t){var e=ce(t),n=e.length;for(;n--;){var i=e[n],r=t[i];e[n]=[i,r,Gt(r)]}return e}(t);if(1==e.length&&e[0][2])return Yt(e[0][0],e[0][1]);return function(n){return n===t||function(t,e,n,i){var r=n.length,o=r,u=!i;if(null==t)return!o;for(t=Object(t);r--;){var c=n[r];if(u&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++r<o;){var l=(c=n[r])[0],f=t[l],h=c[1];if(u&&c[2]){if(void 0===f&&!(l in t))return!1}else{var p=new kt;if(i)var d=i(f,h,l,t,e,p);if(!(void 0===d?Rt(h,f,i,a|s,p):d))return!1}}return!0}(n,t,e)}}(t):Vt(e=t)?(n=Qt(e),function(t){return null==t?void 0:t[n]}):function(t){return function(e){return $t(e,t)}}(e);var e,n}function Mt(t){if(n=(e=t)&&e.constructor,i="function"==typeof n&&n.prototype||Z,e!==i)return ct(t);var e,n,i,r=[];for(var o in Object(t))tt.call(t,o)&&"constructor"!=o&&r.push(o);return r}function zt(t){return te(t)?t:qt(t)}function Ft(t,e,n,i,r,o){var u=r&s,c=t.length,l=e.length;if(c!=l&&!(u&&l>c))return!1;var f=o.get(t);if(f&&o.get(e))return f==e;var h=-1,p=!0,d=r&a?new At:void 0;for(o.set(t,e),o.set(e,t);++h<c;){var v=t[h],m=e[h];if(i)var g=u?i(m,v,h,e,t,o):i(v,m,h,t,e,o);if(void 0!==g){if(g)continue;p=!1;break}if(d){if(!W(e,function(t,e){if(!d.has(e)&&(v===t||n(v,t,i,r,o)))return d.add(e)})){p=!1;break}}else if(v!==m&&!n(v,m,i,r,o)){p=!1;break}}return o.delete(t),o.delete(e),p}function Bt(t,e){var n,i,r=t.__data__;return("string"==(i=typeof(n=e))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==n:null===n)?r["string"==typeof e?"string":"hash"]:r.map}function Wt(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return Dt(n)?n:void 0}var Ut=function(t){return et.call(t)};function Ht(t,e){return!!(e=null==e?c:e)&&("number"==typeof t||L.test(t))&&t>-1&&t%1==0&&t<e}function Vt(t,e){if(te(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!ae(t))||(A.test(t)||!T.test(t)||null!=e&&t in Object(e))}function Gt(t){return t==t&&!re(t)}function Yt(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}(lt&&Ut(new lt(new ArrayBuffer(1)))!=S||ft&&Ut(new ft)!=g||ht&&"[object Promise]"!=Ut(ht.resolve())||pt&&Ut(new pt)!=w||dt&&"[object WeakMap]"!=Ut(new dt))&&(Ut=function(t){var e=et.call(t),n=e==_?t.constructor:void 0,i=n?Zt(n):void 0;if(i)switch(i){case mt:return S;case gt:return g;case yt:return"[object Promise]";case _t:return w;case bt:return"[object WeakMap]"}return e});var qt=Kt(function(t){var e;t=null==(e=t)?"":function(t){if("string"==typeof t)return t;if(ae(t))return Ct?Ct.call(t):"";var e=t+"";return"0"==e&&1/t==-u?"-0":e}(e);var n=[];return k.test(t)&&n.push(""),t.replace(x,function(t,e,i,r){n.push(i?r.replace(I,"$1"):e||t)}),n});function Qt(t){if("string"==typeof t||ae(t))return t;var e=t+"";return"0"==e&&1/t==-u?"-0":e}function Zt(t){if(null!=t){try{return X.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Kt(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError(r);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var a=t.apply(this,i);return n.cache=o.set(r,a),a};return n.cache=new(Kt.Cache||Tt),n}function Jt(t,e){return t===e||t!=t&&e!=e}function Xt(t){return function(t){return oe(t)&&ee(t)}(t)&&tt.call(t,"callee")&&(!st.call(t,"callee")||et.call(t)==l)}Kt.Cache=Tt;var te=Array.isArray;function ee(t){return null!=t&&ie(t.length)&&!ne(t)}function ne(t){var e=re(t)?et.call(t):"";return e==v||e==m}function ie(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=c}function re(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function oe(t){return!!t&&"object"==typeof t}function ae(t){return"symbol"==typeof t||oe(t)&&et.call(t)==C}var se,ue=B?(se=B,function(t){return se(t)}):function(t){return oe(t)&&ie(t.length)&&!!$[et.call(t)]};function ce(t){return ee(t)?xt(t):Mt(t)}function le(t){return t}n.exports=function(t,e,n){var i,r=te(t)||ue(t);if(e=Nt(e),null==n)if(r||re(t)){var o=t.constructor;n=r?te(t)?new o:[]:ne(o)&&re(i=ot(t))?at(i):{}}else n={};return(r?function(t,e){for(var n=-1,i=t?t.length:0;++n<i&&!1!==e(t[n],n,t););return t}:function(t,e){return t&&Lt(t,e,ce)})(t,function(t,i,r){return e(n,t,i,r)}),n}}).call(this,n("yLpj"),n("YuTi")(t))},ycXy:function(t,e){},zDcZ:function(t,e,n){"use strict";n.r(e);n("cEle"),n("T1qB");var i,r=n("9/5/"),o=n.n(r);(i=window.jQuery).throttle||(i.throttle=function(t,e,n){var i,r;return e||(e=250),function(){var o=n||this,a=+new Date,s=arguments;i&&a<i+e?(clearTimeout(r),r=setTimeout(function(){i=a,t.apply(o,s)},e)):(i=a,t.apply(o,s))}}),i.debounce||(i.debounce=o.a),i.event.special.tap||(i.event.special.tap={setup:function(t,e){i(this).bind("touchstart",i.event.special.tap.handler).bind("touchmove",i.event.special.tap.handler).bind("touchend",i.event.special.tap.handler)},teardown:function(t){i(this).unbind("touchstart",i.event.special.tap.handler).unbind("touchmove",i.event.special.tap.handler).unbind("touchend",i.event.special.tap.handler)},handler:function(t){var e,n=i(this),r=t.handleObj;return n.data(t.type,1),"touchend"!==t.type||n.data("touchmove")?n.data("touchend")&&n.removeData("touchstart touchmove touchend"):(t.type="tap",e=r.handler.call(this,t)),e}}),i.fn.respondToVisibility||(i.fn.respondToVisibility=function(t){if(!("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype))return null;var e=new IntersectionObserver(function(e,n){e.forEach(function(e){t(e.intersectionRatio>0)})});return e.observe(this.get(0)),e});n("1cTi");var a=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.compareQuery,r=void 0!==i&&i,o=n.compareHash,a=void 0!==o&&o;if(!t||!e)return!0;var s=null,u=null;try{s=new URL(t),u=new URL(e)}catch(t){return!1}var c=s.origin===u.origin&&s.pathname===u.pathname;return r&&(c=c&&s.search===u.search),a&&(c=c&&s.hash===u.hash),c};!function(t){function e(){return Colibri.isCustomizerPreview()}"#page-top"===window.location.hash&&o("",5);var n={items:{},eachCategory:function(t){for(var e in this.items)this.items.hasOwnProperty(e)&&t(this.items[e])},addItem:function(t,e){this.items[t]||(this.items[t]=[]),this.items[t].push(e)},all:function(){var t=[];for(var e in this.items)this.items.hasOwnProperty(e)&&(t=t.concat(this.items[e]));return t}},i=!1;function r(e){var n=isNaN(parseFloat(e.options.offset))?e.options.offset.call(e.target):e.options.offset;return e.target.offset().top-n-t("body").offset().top}function o(t,e){t===location.hash.replace("#","")||"page-top"===t&&""===location.hash.replace("#","")||setTimeout(function(){t=t?"page-top"===t?" ":"#"+t:" ",history&&history.replaceState&&history.replaceState({},"",t)},e||100)}function s(e){if(!i){i=!0;var n=r(e);t("html, body").animate({scrollTop:n},{easing:"linear",complete:function(){var n=r(e);t("html, body").animate({scrollTop:n},{easing:"linear",duration:100,complete:function(){i=!1,o(e.id,5)}})}})}}function u(e){var n=(e.attr("href")||"").split("#").pop(),i=function(t){var e=jQuery(t)[0].href||"",n="#";try{var i=new window.URL(e);n=[i.protocol,"//",i.host,i.pathname].join("")}catch(t){n=function(t){return t.split("?")[0].split("#")[0]}(e)}return n}(e),r=null,o=[location.protocol,"//",location.host,location.pathname].join("");if(i.length&&i!==o)return r;if(n.trim().length)try{r=t('[id="'+n+'"]')}catch(t){console.log("error scrollSpy",t)}return r&&r.length?r:null}function c(){n.eachCategory(function(t){var e=t.sort(function(t,e){return t.target.offset().top-e.target.offset().top}),n=e.filter(function(t){var e=void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;return t.target.offset().top<=e+.25*window.innerHeight}).pop();e.forEach(function(t){n&&t.element.is(n.element)?(o(t.id,5),t.options.onChange.call(t.element)):t.options.onLeave.call(t.element)})})}function l(){var e=window.location.hash.replace("#",""),i=n.all().filter(function(t){return t.targetSel==='[id="'+decodeURIComponent(e).trim()+'"]'});t(window).on("load",function(){i.length&&s(i[0]),c()})}t.fn.smoothScrollAnchor=function(n){if(!e()){var i=t(this);n=jQuery.extend({offset:function(){var e=t(".h-navigation_sticky");return e.length?e[0].getBoundingClientRect().height:0}},n),i.each(function(){var e=t(this);if(n.target||a(document.location.href,this.href)){var i=n.target||u(e);if(i&&i.length&&!i.attr("skip-smooth-scroll")){var r=i.attr("id"),o=null;r&&(o='[id="'+r.trim()+'"]');var c={element:e,options:n,target:i,targetSel:n.targetSel||o,id:(i.attr("id")||"").trim()};e.off("click.smooth-scroll tap.smooth-scroll").on("click.smooth-scroll tap.smooth-scroll",function(e){t(this).data("skip-smooth-scroll")||t(e.target).data("skip-smooth-scroll")||(e.preventDefault(),t(this).data("allow-propagation")||e.stopPropagation(),s(c),c.options.clickCallback&&c.options.clickCallback.call(this,e))})}}})}},t.fn.scrollSpy=function(i){if(!e()){var r=t(this),o="spy-"+parseInt(Date.now()*Math.random());r.each(function(){var e=t(this),r=jQuery.extend({onChange:function(){},onLeave:function(){},clickCallback:function(){},smoothScrollAnchor:!1,offset:0},i);if(e.is("a")&&-1!==(e.attr("href")||"").indexOf("#")){var a=u(e);if(a&&!a.attr("skip-scroll-spy")){var s={element:e,options:r,target:a,targetSel:'[id="'+a.attr("id").trim()+'"]',id:a.attr("id").trim()};n.addItem(o,s),e.data("scrollSpy",s),i.smoothScrollAnchor&&e.smoothScrollAnchor(i)}}})}},e()||(t(window).scroll(c),t(window).bind("smoothscroll.update",c),t(window).bind("smoothscroll.update",l),t(l))}(jQuery);var s=n("P2sY"),u=n.n(s),c=n("hKI/"),l=n.n(c),f=function(){};function h(t){t&&t.forEach(function(t){var e=Array.prototype.slice.call(t.addedNodes),n=Array.prototype.slice.call(t.removedNodes);if(function t(e){var n=void 0,i=void 0;for(n=0;n<e.length;n+=1){if((i=e[n]).dataset&&i.dataset.aos)return!0;if(i.children&&t(i.children))return!0}return!1}(e.concat(n)))return f()})}function p(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}var d={isSupported:function(){return!!p()},ready:function(t,e){var n=window.document,i=new(p())(h);f=e,i.observe(n.documentElement,{childList:!0,subtree:!0,removedNodes:!0})}},v=n("iCc5"),m=n.n(v),g=n("V7oC"),y=n.n(g),_=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,b=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,w=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,O=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i;function C(){return navigator.userAgent||navigator.vendor||window.opera||""}var E=new(function(){function t(){m()(this,t)}return y()(t,[{key:"phone",value:function(){var t=C();return!(!_.test(t)&&!b.test(t.substr(0,4)))}},{key:"mobile",value:function(){var t=C();return!(!w.test(t)&&!O.test(t.substr(0,4)))}},{key:"tablet",value:function(){return this.mobile()&&!this.phone()}},{key:"ie11",value:function(){return"-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style}}]),t}()),S=function(t,e){return e&&e.forEach(function(e){return t.classList.remove(e)})},T=function(t,e){var n=void 0;return E.ie11()?(n=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,{detail:e}):n=new CustomEvent(t,{detail:e}),document.dispatchEvent(n)},A=function(t){t.forEach(function(t,e){return function(t,e){var n=t.options,i=t.position,r=t.node,o=(t.data,function(){t.animated&&(S(r,n.animatedClassNames),T("aos:out",r),t.options.id&&T("aos:in:"+t.options.id,r),t.animated=!1)}),a=function(){t.animated||(S(r,n.animationsClasses),function(t,e){e&&e.forEach(function(e){return t.classList.add(e)})}(r,n.animatedClassNames),T("aos:in",r),t.options.id&&T("aos:in:"+t.options.id,r),t.animated=!0)};n.loadAllAtStart&&!r.loadedAtStart&&(a(),r.loadedAtStart=!0),n.mirror&&e>=i.out&&!n.once?o():e>=i.in?a():t.animated&&!n.once&&o()}(t,window.pageYOffset)})},k=function(t){for(var e=0,n=0;t&&!isNaN(t.offsetLeft)&&!isNaN(t.offsetTop);)e+=t.offsetLeft-("BODY"!=t.tagName?t.scrollLeft:0),n+=t.offsetTop-("BODY"!=t.tagName?t.scrollTop:0),t=t.offsetParent;return{top:n,left:e}},x=function(t,e,n){var i=t.getAttribute("data-aos-"+e);if(void 0!==i){if("true"===i)return!0;if("false"===i)return!1}return i||n},I=function(t,e){return t.forEach(function(t,n){var i=x(t.node,"mirror",e.mirror),r=x(t.node,"once",e.once),o=x(t.node,"id"),a=e.useClassNames&&t.node.getAttribute("data-aos"),s=[e.animatedClassName].concat(a?a.split(" "):[]).filter(function(t){return"string"==typeof t});e.initClassName&&t.node.classList.add(e.initClassName),t.position={in:function(t,e,n){var i=window.innerHeight,r=x(t,"anchor"),o=x(t,"anchor-placement"),a=Number(x(t,"offset",o?0:e)),s=o||n,u=t;r&&document.querySelectorAll(r)&&(u=document.querySelectorAll(r)[0]);var c=k(u).top-i;switch(s){case"top-bottom":break;case"center-bottom":c+=u.offsetHeight/2;break;case"bottom-bottom":c+=u.offsetHeight;break;case"top-center":c+=i/2;break;case"center-center":c+=i/2+u.offsetHeight/2;break;case"bottom-center":c+=i/2+u.offsetHeight;break;case"top-top":c+=i;break;case"bottom-top":c+=i+u.offsetHeight;break;case"center-top":c+=i+u.offsetHeight/2}return c+a}(t.node,e.offset,e.anchorPlacement),out:i&&function(t,e){window.innerHeight;var n=x(t,"anchor"),i=x(t,"offset",e),r=t;return n&&document.querySelectorAll(n)&&(r=document.querySelectorAll(n)[0]),k(r).top+r.offsetHeight-i}(t.node,e.offset)},t.options={once:r,mirror:i,animatedClassNames:s,animationsClasses:e.animationsClasses,loadAllAtStart:e.loadAllAtStart,id:o}}),t},P=function(){var t=document.querySelectorAll("[data-aos]"),e=[];return Array.prototype.map.call(t,function(t){if(t&&t.hasAttribute("data-aos-selector")){var n=t.getAttribute("data-aos-selector"),i=top.jQuery(t).find(n).get(0);if(i){var r=t.getAttribute("data-aos");i.setAttribute("data-aos",r),i.setAttribute("data-aos--from-selector",!0),e.push(i)}}else e.push(t)}),Array.prototype.map.call(e,function(t){return{node:t}})},L=[],$=!1,j={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,mirror:!1,anchorPlacement:"top-bottom",startEvent:"DOMContentLoaded",animatedClassName:"aos-animate",animationsClasses:[],initClassName:"aos-init",useClassNames:!1,disableMutationObserver:!1,throttleDelay:99,debounceDelay:50,loadAllAtStart:!1},R=function(){return document.all&&!window.atob},D=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&($=!0),$&&(L=I(L,j),A(L),window.addEventListener("scroll",l()(function(){A(L,j.once)},j.throttleDelay)))},N=function(){if(L=P(),z(j.disable)||R())return M();D()},M=function(){L.forEach(function(t,e){t.node.removeAttribute("data-aos"),t.node.removeAttribute("data-aos-easing"),t.node.removeAttribute("data-aos-duration"),t.node.removeAttribute("data-aos-delay"),j.initClassName&&t.node.classList.remove(j.initClassName),j.animatedClassName&&t.node.classList.remove(j.animatedClassName)})},z=function(t){return!0===t||"mobile"===t&&E.mobile()||"phone"===t&&E.phone()||"tablet"===t&&E.tablet()||"function"==typeof t&&!0===t()},F={init:function(t){return j=u()(j,t),L=P(),j.disableMutationObserver||d.isSupported()||(console.info('\n      aos: MutationObserver is not supported on this browser,\n      code mutations observing has been disabled.\n      You may have to call "refreshHard()" by yourself.\n    '),j.disableMutationObserver=!0),j.disableMutationObserver||d.ready("[data-aos]",N),z(j.disable)||R()?M():(document.querySelector("body").setAttribute("data-aos-easing",j.easing),document.querySelector("body").setAttribute("data-aos-duration",j.duration),document.querySelector("body").setAttribute("data-aos-delay",j.delay),-1===["DOMContentLoaded","load"].indexOf(j.startEvent)?document.addEventListener(j.startEvent,function(){D(!0)}):window.addEventListener("load",function(){D(!0)}),"DOMContentLoaded"===j.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1&&D(!0),window.addEventListener("resize",o()(D,j.debounceDelay,!0)),window.addEventListener("orientationchange",o()(D,j.debounceDelay,!0)),L)},refresh:D,refreshHard:N};window.AOS=F;var B=n("EJiy"),W=n.n(B);!function(t,e){var n=function(t,n){this.namespace="accordion",this.defaults={target:null,toggle:!0,active:!1,toggleClass:"h-accordion-item-title",boxClass:"h-accordion-item-content__container",activeClass:"accordion-active h-custom-active-state",callbacks:["open","opened","close","closed"],hashes:[],currentHash:!1,currentItem:!1},e.apply(this,arguments),this.start()};n.prototype={start:function(){this.isPublishing()||("true"===this.$element.attr("data-toggle")?this.opts.toggle=!0:this.opts.toggle=!1,this.$items=this.getItems(),this.$items.each(t.proxy(this.loadItems,this)),this.$boxes=this.getBoxes(),this.setInitialOpenedItems(),this.setActiveItem())},stop:function(){this.closeAll()},isPublishing:function(){return"true"===this.$element.attr("data-is-preview")&&e.isCustomizerPreview()},restart:function(){this.stop(),this.start()},getItems:function(){return this.$element.find("> .h-accordion-item > ."+this.opts.toggleClass)},setInitialOpenedItems:function(){var e=this,n=!1;this.$items.each(function(i,r){"true"!==t(r).attr("data-open-by-default")||e.opts.toggle&&(!e.opts.toggle||n)||(n=!0,e.addActive(e.getItem(r)))})},getBoxes:function(){return this.$element.find("> .h-accordion-item > ."+this.opts.boxClass+", > .h-accordion-item > .h-accordion-item-content")},loadItems:function(e,n){var i=this,r=this.getItem(n);r.$el.attr("rel",r.hash),r.$el.hasClass(this.opts.activeClass)&&(this.opts.currentItem=r,this.opts.active=r.hash);var o=["click","tap"].map(function(t){return t+"."+i.namespace+" "}).join(" ");r.$el.off(o).on(o,t.proxy(this.toggle,this))},setActiveItem:function(){!1!==this.opts.active&&(this.opts.currentItem=this.getItemBy(this.opts.active),this.opts.active=this.opts.currentItem.hash),!1!==this.opts.currentItem&&(this.addActive(this.opts.currentItem),this.opts.currentItem.$box.removeClass("hide"))},addActive:function(t){t.$box.find(".h-element").trigger("colibriContainerOpened"),t.$box.removeClass("hide").addClass("open"),t.$el.addClass(this.opts.activeClass),!1!==t.$caret&&t.$caret.removeClass("down").addClass("up"),!1!==t.$parent&&t.$parent.addClass(this.opts.activeClass),this.opts.currentItem=t},removeActive:function(t){t.$box.removeClass("open"),t.$el.removeClass(this.opts.activeClass),!1!==t.$caret&&t.$caret.addClass("down").removeClass("up"),!1!==t.$parent&&t.$parent.removeClass(this.opts.activeClass),this.opts.currentItem=!1},toggle:function(e){e&&e.preventDefault();var n=t(e.target).closest("."+this.opts.toggleClass).get(0)||e.target,i=this.getItem(n);this.isOpened(i.hash)?this.close(i.hash):this.open(e)},openAll:function(){this.$items.addClass(this.opts.activeClass),this.$boxes.addClass("open").removeClass("hide")},open:function(e,n){if(void 0!==e){"object"===(void 0===e?"undefined":W()(e))&&e.preventDefault();var i=t(e.target).closest("."+this.opts.toggleClass).get(0)||e.target,r="object"===(void 0===e?"undefined":W()(e))?this.getItem(i):this.getItemBy(e);r.$box.hasClass("open")||(this.opts.toggle&&this.closeAll(),this.callback("open",r),this.addActive(r),this.onOpened())}},onOpened:function(){this.callback("opened",this.opts.currentItem)},closeAll:function(){this.$items.removeClass(this.opts.activeClass).closest("li").removeClass(this.opts.activeClass),this.$boxes.removeClass("open").addClass("hide")},close:function(t){var e=this.getItemBy(t);this.callback("close",e),this.opts.currentItem=e,this.onClosed()},onClosed:function(){var t=this.opts.currentItem;this.removeActive(t),this.callback("closed",t)},isOpened:function(e){return t(e).hasClass("open")},getItem:function(e){var n={};n.$el=t(e),n.hash=n.$el.attr("href"),n.$box=t(n.hash);var i=n.$el.parent();n.$parent="LI"===i[0].tagName&&i;var r=n.$el.find(".caret");return n.$caret=0!==r.length&&r,n},getItemBy:function(t){var e="number"==typeof t?this.$items.eq(t-1):this.$element.find('[rel="'+t+'"]');return this.getItem(e)}},n.inherits(e),e.accordion=n,e.Plugin.create("accordion"),e.Plugin.autoload("accordion")}(jQuery,Colibri);n("YICA"),n("+ejm");var U=n("Yz+Y"),H=n.n(U),V=n("FYw3"),G=n.n(V),Y=n("mRg0"),q=n.n(Y),Q=n("h//7"),Z=n.n(Q),K=function(){function t(e,n){return m()(this,t),this.$=jQuery,this.namespace=this.constructor.componentName(),this.utils=new Z.a.Utils,this.detect=new Z.a.Detect,this.init(),Z.a.apply(this,arguments),this.start(),this.isCustomizerPreview()&&this.wpCustomize(wp.customize),this}return y()(t,null,[{key:"componentName",value:function(){throw new TypeError("name getter should be implemented")}}]),y()(t,[{key:"init",value:function(){}},{key:"isCustomizerPreview",value:function(){return Z.a.isCustomizerPreview()}},{key:"wpCustomize",value:function(t){}},{key:"wpSettingBind",value:function(t,e){window.wp.customize(t,function(t){t.bind(e)})}},{key:"updateData",value:function(t){this.opts=jQuery.extend({},this.opts,t),this.restart()}},{key:"restart",value:function(){}},{key:"start",value:function(){}}]),t}();Z.a.registerPlugin=function(t,e,n){"function"==typeof t.componentName&&(n=e,t=(e=t).componentName()),Z.a[t]=e,Z.a.Plugin.create(t),!1!==n&&Z.a.Plugin.autoload(t)};var J=/^(f|ht)tps?:\/\//i,X=function(t){function e(){return m()(this,e),G()(this,(e.__proto__||H()(e)).apply(this,arguments))}return q()(e,t),y()(e,[{key:"start",value:function(){this.addGAEvent()}},{key:"addGAEvent",value:function(){var t=this,e={eventCategory:this.$element.data().gaEvCategory,eventAction:this.$element.data().gaEvAction,eventLabel:this.$element.data().gaEvLabel};e.eventCategory&&e.eventAction&&e.eventLabel&&this.$element.on("click",function(n){var i=t.href,r=t.target;J.test(i)&&(n.preventDefault(),n.stopPropagation(),e.transport="beacon",e.hitCallback=function(){window.open(i,r)}),ga("send","event",e)})}}],[{key:"componentName",value:function(){return"button"}}]),e}(K);Z.a.registerPlugin(X);n("YJRJ"),n("zoCF");var tt=function(){function t(e,n){m()(this,t),this.settings=n,this.element=e,this.isPlaying=!1,this.ready()}return y()(t,[{key:"ready",value:function(){}},{key:"play",value:function(){}},{key:"pause",value:function(){}},{key:"isPaused",value:function(){}},{key:"setVideo",value:function(t){t.className="colibri-video-background-item",this.element.innerHTML="",this.element.appendChild(t),this.addResizeBind()}},{key:"trigger",value:function(t){var e;"function"==typeof window.Event?e=new Event(t):(e=document.createEvent("Event")).initEvent(t,!0,!0),this.element.dispatchEvent(e)}},{key:"loaded",value:function(){this.trigger("video-bg-loaded")}},{key:"addResizeBind",value:function(){var t=this;this.trigger("video-bg-resize"),this.onResize(function(){t.trigger("video-bg-resize")})}},{key:"onLoad",value:function(t){jQuery(this.element).on("video-bg-loaded",t)}},{key:"onResize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;t=jQuery.debounce(t,e),jQuery(window).resize(t),jQuery(window).on("orientationchange",t)}}],[{key:"test",value:function(){return!1}}]),t}(),et=function(t){function e(){return m()(this,e),G()(this,(e.__proto__||H()(e)).apply(this,arguments))}return q()(e,t),y()(e,[{key:"isPaused",value:function(){return this.video.paused}},{key:"ready",value:function(){var t=this;if(this.settings.poster&&(this.element.style.backgroundImage='url("'+this.settings.poster+'")'),this.settings.videoUrl){var e=document.createElement("video");e.id=this.settings.id||"",e.loop="loop",e.muted="muted",this.settings.width&&(e.width=this.settings.width),this.settings.height&&(e.height=this.settings.height),e.addEventListener("play",function(){t.trigger("play")}),e.addEventListener("pause",function(){t.trigger("pause")}),e.addEventListener("loadeddata",function(){t.loaded()}),this.video=e,this.setVideo(e),e.src=this.settings.videoUrl}}},{key:"pause",value:function(){this.video.pause()}},{key:"stopVideo",value:function(){this.video.pause(),this.video.currentTime=0}},{key:"play",value:function(){this.video.play()}}],[{key:"test",value:function(t){return document.createElement("video").canPlayType(t.mimeType)}}]),e}(tt),nt=n("tfYw"),it=n.n(nt),rt=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/)|(?:(?:watch)?\?v(?:i)?=|&v(?:i)?=))([^#&?]*).*/,ot={native:et,youtube:function(t){function e(t,n){var i;m()(this,e);var r=G()(this,(e.__proto__||H()(e)).call(this,t,n));return i=r,G()(r,i)}return q()(e,t),y()(e,[{key:"ready",value:function(){var t=this;if(this.settings.poster&&(this.element.style.backgroundImage='url("'+this.settings.poster+'")'),"YT"in window)window.YT.ready(function(){t.loadVideo()});else{var e=document.createElement("script");e.src="https://www.youtube.com/iframe_api",e.onload=function(){window.YT.ready(function(){t.loadVideo()})},document.getElementsByTagName("head")[0].appendChild(e)}}},{key:"getVideoID",value:function(){var t=this.settings.videoUrl.match(rt);return t&&t.length>=2?t[1]:null}},{key:"getYTOptions",value:function(){var t=this,e={videoId:this.getVideoID(),events:{onReady:function(e){var n=e.target;n.mute(),top.yt1=n,n.setPlaybackQuality("auto"),t.play(),t.loaded()},onStateChange:function(e){window.YT.PlayerState.PLAYING===e.data?t.trigger("play"):window.YT.PlayerState.PAUSED===e.data?t.trigger("pause"):window.YT.PlayerState.ENDED===e.data&&e.target.playVideo()},onError:function(e){t.player.getIframe().style.display="none"}},playerVars:{autoplay:1,controls:0,disablekb:1,fs:0,iv_load_policy:3,loop:1,modestbranding:1,playsinline:1,rel:0,showinfo:0,mute:1}};return this.settings.height?e.height=this.settings.height:e.height=1080,this.settings.width?e.width=this.settings.width:e.width=1920,e}},{key:"loadVideo",value:function(){var t=document.createElement("div");window.YT;this.setVideo(t),this.player=new window.YT.Player(t,this.getYTOptions())}},{key:"updateVideoSize",value:function(){if(this.player){var t=jQuery(this.player.getIframe()),e=this.calcVideosSize();t.css(e),t.addClass("ready")}}},{key:"calcVideosSize",value:function(){var t=jQuery(this.element).outerWidth(),e=jQuery(this.element).outerHeight(),n="16:9".split(":"),i=n[0]/n[1],r=t/e>i;return{width:1*(r?t:e*i),height:1*(r?t/i:e)}}},{key:"play",value:function(){this.player&&this.player.playVideo&&(this.isPlaying||(this.isPlaying=!0,this.player.playVideo()))}},{key:"stopVideo",value:function(){this.player&&this.player.stopVideo&&this.isPlaying&&(this.isPlaying=!1,this.player.stopVideo())}},{key:"pause",value:function(){this.player&&this.player.pauseVideo&&!this.isPlaying&&(this.isPlaying=!1,this.player.pauseVideo())}},{key:"isPaused",value:function(){return YT.PlayerState.PAUSED===this.player.getPlayerState()}},{key:"loaded",value:function(){this.updateVideoSize(),it()(e.prototype.__proto__||H()(e.prototype),"loaded",this).call(this)}},{key:"addResizeBind",value:function(){var t=this;this.onResize(function(){return t.updateVideoSize()},50),it()(e.prototype.__proto__||H()(e.prototype),"addResizeBind",this).call(this)}}],[{key:"test",value:function(t){return"video/x-youtube"===t.mimeType}}]),e}(tt)},at=n("1Qhi"),st=function(t){function e(){return m()(this,e),G()(this,(e.__proto__||H()(e)).apply(this,arguments))}return q()(e,t),y()(e,[{key:"init",value:function(){this.videoData={},this.handler=!1,this.debouncedSetPosition=jQuery.debounce(this.updateVideoBackground.bind(this),100)}},{key:"generateVideo",value:function(){var t=this;for(var e in ot)if(ot.hasOwnProperty(e)&&ot[e].test(this.videoData)){this.$element.empty(),this.handler=new ot[e](this.$element[0],this.videoData);break}this.handler.onLoad(function(){t.$element.children("iframe,video").addClass("h-hide-sm-force"),t.debouncedSetPosition(),t.handler.onResize(function(){return t.debouncedSetPosition()})}),window.hop&&(window.addResizeListener(this.$element.closest(".background-wrapper").parent()[0],this.debouncedSetPosition),this.debouncedSetPosition())}},{key:"stopVideo",value:function(){this.handler.stopVideo&&this.handler.stopVideo()}},{key:"play",value:function(){this.handler.play&&this.handler.play()}},{key:"updateVideoBackground",value:function(){this.handler.updateVideoSize&&this.handler.updateVideoSize(),this.setPosition()}},{key:"setPosition",value:function(){var t=this;if(this.handler.pause(),"none"!==this.$element.children("iframe,video").eq(0).css("display")){var e=this.$element.children("iframe,video").eq(0),n=e.is("iframe")?50:this.opts.positionX,i=e.is("iframe")?50:this.opts.positionY,r=Math.max(e.width()-this.$element.width(),0)*parseFloat(n)/100,o=Math.max(e.height()-this.$element.height(),0)*parseFloat(i)/100;e.css({transform:"translate(-"+r+"px,-"+o+"px)","-webkit-transform":"translate(-"+r+"px,-"+o+"px)"}),this.$element.addClass("visible"),setTimeout(function(){t.handler.play()},100)}}},{key:"start",value:function(){this.videoData={mimeType:this.opts.mimeType,poster:this.opts.poster,videoUrl:this.opts.video},Object(at.isMobile)()||this.generateVideo()}},{key:"stop",value:function(){window.removeResizeListener(this.$element.closest(".background-wrapper").parent()[0],this.debouncedSetPosition)}},{key:"restart",value:function(){this.stop(),this.start()}}],[{key:"componentName",value:function(){return"video-background"}}]),e}(K);Z.a.registerPlugin(st);n("SzAf");var ut=function(t){function e(){return m()(this,e),G()(this,(e.__proto__||H()(e)).apply(this,arguments))}return q()(e,t),y()(e,[{key:"init",value:function(){var t=this;this.currentIndex=0,this.interval=-1,this.debouncedRestart=o()(function(){t.stop(),t.start()},500)}},{key:"addImageEffect",value:function(t,e){var n=this.opts.slideDuration,i=this.opts.slideSpeed,r=n-i;r<0&&(r=0),this.$(t).css({transition:"opacity "+i+"ms ease "+r+"ms",zIndex:this.$images.length-e})}},{key:"slideImage",value:function(){this.$images.eq(this.currentIndex).removeClass("current");var t=this.currentIndex+1===this.$images.length?0:this.currentIndex+1;this.$images.eq(t).addClass("current").removeClass("next"),this.currentIndex=t;var e=this.currentIndex+1===this.$images.length?0:this.currentIndex+1;this.$images.eq(e).addClass("next")}},{key:"restart",value:function(){this.debouncedRestart()}},{key:"start",value:function(){var t=this;this.$images=this.$element.find(".slideshow-image"),this.$images.removeClass("current"),this.$images.eq(0).addClass("current"),this.currentIndex=0,this.$images.each(function(e,n){t.addImageEffect(n,e)}),this.interval=setInterval(function(){t.slideImage()},parseInt(this.opts.slideDuration))}},{key:"stop",value:function(){clearInterval(this.interval),this.$images.css({transition:"",opacity:""}),this.$images.removeClass("current next"),this.$images.eq(0).addClass("current"),this.currentIndex=0}}],[{key:"componentName",value:function(){return"slideshow"}}]),e}(K);Z.a.registerPlugin(ut);n("XsRr");!function(t,e){var n=function(t,n){this.namespace="parallax",this.defaults={},e.apply(this,arguments),this.start()};n.prototype={start:function(){if(this.isEnabled=this.$element.attr("data-enabled"),this.isEnabled=void 0===this.isEnabled||"true"==this.isEnabled,this.isEnabled)if(this.isiOS())this.$element.addClass("paraxify--ios");else{this.$element[0]&&(this.paraxify=paraxify(this.$element[0]));var e=this;this.firstRestart=!1,this.restartScriptDebounce=t.debounce(function(){!1!==e.firstRestart?e.restart():e.firstRestart=!0},100),this._addEventListeners()}},stop:function(){this._removeEventListener(),this.paraxify&&(this.paraxify.destroy(),this.paraxify=null)},isiOS:function(){return(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!window.MSStream},restart:function(){this.stop(),this.start()},_addEventListeners:function(){window.addResizeListener(this.$element[0],this.restartScriptDebounce)},_removeEventListener:function(){window.removeResizeListener(this.$element[0],this.restartScriptDebounce)}},n.inherits(e),e.parallax=n,e.Plugin.create("parallax"),e.Plugin.autoload("parallax")}(jQuery,Colibri);n("vYqb"),n("R0q9");var ct={once:!0,useClassNames:!0,initClassName:!1,animatedClassName:"animated",animationsClasses:n("mAWp").b.ANIMATIONS_CLASSES};!function(t,e){t(function(){window.AOS&&(e.isCustomizerPreview()?(ct.loadAllAtStart=!0,window.AOS.init(ct)):window.AOS.init(ct))})}(jQuery,Colibri);n("PR2h"),n("hJJR"),n("ucIs"),n("63br"),n("oYYQ");var lt=n("GQeE"),ft=n.n(lt);!function(t,e){var n="footer-parallax",i=function(i,r){var o=this;this.namespace=n,this.defaults={activeClasses:{header:"h-footer-parallax-header-class",content:"h-footer-parallax-content-class",footer:"h-footer-parallax",container:"new-stacking-context"},selectors:{header:" > .page-header,> .header",content:"> .page-content,> .content",container:"#page-top"}},this.bindedResizeListener=t.debounce(this.resizeListener.bind(this),100),e.apply(this,arguments),this.scriptStarted=!1,this.initMediaById(),this.start(),window.addResizeListener(this.$element.get(0),this.bindedResizeListener),setTimeout(function(){o.bindedResizeListener()},5e3)};i.prototype={start:function(){if(this.scriptStarted=!0,this.isEnabled=this.$element.attr("data-enabled"),this.isEnabled=void 0===this.isEnabled||"true"==this.isEnabled,"desktop"===this.getCurrentMedia()&&this.isEnabled){var e=this.opts.selectors,n=this.opts.activeClasses;this.$container=t(e.container),this.$content=this.$container.find(e.content).first(),this.$header=this.$container.find(e.header).first(),this.$container.addClass(n.container),this.$header.addClass(n.header),this.$content.addClass(n.content),this.$element.addClass(n.footer),this.updateSiblingStyle()}},stop:function(){this.scriptStarted=!1;var t=this.opts.activeClasses;this.$container&&(this.$container.removeClass(t.container),this.$header.removeClass(t.header),this.$content.removeClass(t.content),this.$element.removeClass(t.footer),this.$content.css("margin-bottom",""))},restart:function(){this.stop(),this.start()},resizeListener:function(){this.updateSiblingStyle(),"desktop"!==this.getCurrentMedia()?this.stop():this.isEnabled&&!this.footerParallaxStarted()&&this.start()},footerParallaxStarted:function(){return this.scriptStarted},initMediaById:function(){this.mediaById={desktop:{min:1024},tablet:{min:768,max:1023},mobile:{max:767}}},isDragging:function(){return!!document.querySelector("body.h-ui-dragging")},getCurrentMedia:function(){var t=this,e=window.innerWidth,n=null;return ft()(this.mediaById).forEach(function(i){var r=t.mediaById[i];(!r.min||r.min&&e>=r.min)&&(!r.max||r.max&&e<=r.max)&&(n=i)}),n},updateSiblingStyle:function(){if(this.$content&&this.footerParallaxStarted()){var t=this.$element.outerHeight();this.$content.css("margin-bottom",t+"px")}}},i.inherits(e),e[n]=i,e.Plugin.create(n),e.Plugin.autoload(n)}(jQuery,Colibri);n("jWKC"),n("/ChV"),n("U96T"),n("4H15"),n("Ljcc");!function(t,e){var n="accordion-menu",i='<svg aria-hidden="true" data-prefix="fas" data-icon="angle-right" class="svg-inline--fa fa-angle-right fa-w-8" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path fill="currentColor" d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"></path></svg>',r='<svg aria-hidden="true" data-prefix="fas" data-icon="angle-down" class="svg-inline--fa fa-angle-down fa-w-10" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"></path></svg>';i='<div data-skip-smooth-scroll="1" class="h-global-transition-disable arrow-wrapper arrow-right">'+i+"</div>",r='<div data-skip-smooth-scroll="1" class="h-global-transition-disable arrow-wrapper arrow-down">'+r+"</div>";var o=function(t,i){this.namespace=n,this.defaults={menuSelector:".colibri-menu",offCanvasWrapper:".colibri-menu-container",linkSelector:".menu-item-has-children > a, .page_item_has_children > a",linkLeafsSelector:"li:not(.menu-item-has-children):not(.page_item_has_children) > a",arrowSelector:[".menu-item-has-children > a > .arrow-wrapper, .page_item_has_children > a > .arrow-wrapper",".menu-item-has-children > a > svg, .page_item_has_children > a > svg"].join(","),linkSelectorInLink:"svg",$menu:null},e.apply(this,arguments),this.initBindedFunctions(),this.initEventListenersData(),this.start()};o.prototype={start:function(){var t=this.$element.find(this.opts.menuSelector).first();this.opts.$menu=t,this.addSvgArrows(),this.opts.$menu.find("a").data("allow-propagation",!0),this.removeEventListeners(),this.addEventListeners(),this.addFocusListener(),this.addMenuScrollSpy(t)},initBindedFunctions:function(){this.debounceApplyDropdownLogic=t.debounce(this.applyDropdownLogic.bind(this),10),this.bindedLinkEventHandler=this.linkEventHandler.bind(this),this.bindedLinkArrowEventHandler=this.linkArrowEventHandler.bind(this)},initEventListenersData:function(){var t=["click","tap"].map(function(t){return t+".accordion-menu"}),e=t.map(function(t){return t+".link-selector"}).join(" "),n=t.map(function(t){return t+".arrow-selector"}).join(" "),i=t.map(function(t){return t+".off-canvas"}).join(" ");this._eventOptions={menuNamespace:".accordion-menu",linkSelectorEvent:e,arrowSelectorEvent:n,offCanvasEvent:i}},toggleFocus:function(t){for(;this.opts.$menu[0]!==t;)"li"===t.tagName.toLowerCase()&&(-1!==t.className.indexOf("hover")?t.className=t.className.replace(" hover",""):t.className+=" hover"),t=t.parentElement},addFocusListener:function(){var t=this,e=this.opts.$menu.find("a");e.on("focus",function(e){t.toggleFocus(e.currentTarget)}),e.on("blur",function(e){t.toggleFocus(e.currentTarget,!1)})},addEventListeners:function(){var e=this.opts.$menu,n=this._eventOptions;e.on(n.arrowSelectorEvent,this.opts.arrowSelector,this.bindedLinkArrowEventHandler),window.wp&&window.wp.customize&&e.off(n.linkSelectorEvent,this.opts.linkSelector),e.on(n.linkSelectorEvent,this.opts.linkSelector,this.bindedLinkEventHandler),e.on(n.offCanvasEvent,this.opts.linkLeafsSelector,this.closeOffcanvasPanel),t(document).on("keyup."+this.namespace,t.proxy(this.handleKeyboard,this))},removeEventListeners:function(){var e=this.opts.$menu,n=this._eventOptions;e.off(n.menuNamespace),t(document).on("keyup."+this.namespace)},stop:function(){this.removeEventListeners(),this.removeAllSvgArrows()},handleKeyboard:function(e){var n=e.target;t.contains(this.opts.$menu[0],n)&&t(n).siblings("ul").length&&(37===e.which&&this.closeDropDown(t(n).closest("li")),39===e.which&&this.openDropDown(t(n).closest("li")))},openDropDown:function(e){e&&((e=t(e).is("a")?t(e).closest("li"):t(e)).addClass("open"),e.children("ul").slideDown(100))},closeDropDown:function(e){e&&((e=t(e).is("a")?t(e).closest("li"):t(e)).removeClass("open"),e.children("ul").slideUp(100))},isDropDownOpen:function(t){return t.is(".open")},closeOffcanvasPanel:function(){window.wp&&window.wp.customize||setTimeout(function(){t(".offscreen-overlay").trigger("click")},500)},linkEventHandler:function(e,n){var i=window.wp&&window.wp.customize;i&&e.preventDefault();var r=t(e.target).closest("li");n||!r.hasClass("open")||i?((n||!n&&!r.hasClass("open"))&&(e.preventDefault(),e.stopPropagation()),this.debounceApplyDropdownLogic(e,n)):this.closeOffcanvasPanel()},linkArrowEventHandler:function(t){this.linkEventHandler(t,!0)},applyDropdownLogic:function(e,n){var i=t(e.target).closest("li");i.hasClass("menu-item-has-children")||i.hasClass("page_item_has_children")?n&&this.isDropDownOpen(i)?this.closeDropDown(i):this.openDropDown(i):this.closeOffcanvasPanel()},addSvgArrows:function(){var e=this.opts.$menu,n=this.opts.linkSelectorInLink;e.find(this.opts.linkSelector).each(function(){var e=this;0===t(this).children(n).parent(".arrow-wrapper").length?(t(this).children(n).remove(),t(this).append(i),t(this).append(r)):0===t(this).children(n).length&&(t(this).append(i),t(this).append(r)),setTimeout(function(){t(e).find(".h-global-transition-disable").removeClass("h-global-transition-disable")},1e3)})},removeAllSvgArrows:function(){this.opts.$menu&&this.opts.$menu.find(this.opts.arrowSelector).remove()},addMenuScrollSpy:function(e){var n=e,i=this;if(t.fn.scrollSpy){var r=i.opts.linkSelector,o=i.opts.arrowSelector;n.find("a").not(r).not(o).scrollSpy({onChange:function(){n.find(".current-menu-item,.current_page_item").removeClass("current-menu-item current_page_item"),t(this).closest("li").addClass("current-menu-item current_page_item")},onLeave:function(){t(this).closest("li").removeClass("current-menu-item current_page_item")},clickCallback:function(){i.closeOffcanvasPanel()},smoothScrollAnchor:!0,offset:function(){var t=n.closest('[data-colibri-component="navigation"]');return t.length?t[0].getBoundingClientRect().height+20:20}})}t(window).trigger("smoothscroll.update")}},o.inherits(e),e[n]=o,e.Plugin.create(n),e.Plugin.autoload(n)}(jQuery,Colibri);n("PDs5"),n("x2nW");var ht=n("OyzN"),pt=n.n(ht);jQuery(function(t){window.wp&&window.wp.customize&&window.wp.customize.selectiveRefresh.bind("render-partials-response",function(e){pt()(e.contents).filter(function(t){return-1!==t.indexOf("nav_menu_instance[")}).length&&setTimeout(function(){t('[data-colibri-component="dropdown-menu"]').each(function(){t(this).data("fn.colibri.dropdownMenu").addMenuScrollSpy(t(this).find("ul").eq(0))})},100)})});n("L4mV"),n("uFbj"),n("p80q");var dt=n("r8UP"),vt=n.n(dt);!function(t,e){var n=function(t,n){this.namespace="back-to-top",this.defaults={data:{stickToBottom:!1,showOnScroll:!1,showAfterPercentage:10,visibleClass:"h-back-to-top--show-on-scroll--visible",arrowSelector:"",scrollTargetSelector:""}},e.apply(this,arguments),this.bindedScrollListener=this.scrollListener.bind(this),this.bindedResizeListener=this.resizeListener.bind(this),window.addResizeListener(document.body,this.bindedResizeListener),this.start()};n.prototype={start:function(){this.isInvalidState()||(this.addPositionLogic(),this.addLink())},resizeListener:function(){this.restart()},addPositionLogic:function(){this.initTarget(),this.$target.removeClass(this.opts.data.visibleClass),this.$target.get(0).parentNode&&(this.opts.data.stickToBottom&&this.moveToBody(),this.opts.data.stickToBottom&&this.opts.data.showOnScroll&&(window.addEventListener("scroll",this.bindedScrollListener),this.bindedScrollListener()))},addLink:function(){this.$arrow=this.$element.find(this.opts.data.arrowSelector);var e=t(this.opts.data.scrollTargetSelector);this.$arrow.smoothScrollAnchor({target:e})},initTarget:function(){this.$target=this.$element.closest(".h-scroll-to__outer")},stop:function(){window.removeEventListener("scroll",this.bindedScrollListener),this.$arrow&&this.$arrow.off("click.smooth-scroll tap.smooth-scroll")},isInvalidState:function(){return!(this.opts.data&&this.opts.data.showAfterPercentage&&this.opts.data.arrowSelector&&this.opts.data.scrollTargetSelector)||!(!e.isCustomizerPreview()||"true"!==this.$element.attr("is-preview"))},moveToBody:function(){var t=this.$target.get(0);t&&document.body.appendChild(t)},disableScript:function(){this.removeResizeListener(),this.removeNode()},removeNode:function(){this.initTarget();var t=this.$target.get(0);t&&t.parentNode&&t.parentNode.removeChild(t)},removeResizeListener:function(){window.removeResizeListener(document.body,this.bindedResizeListener)},scrollListener:function(){var t=this.getScrollPercent(),e=this.opts.data.visibleClass;t>=vt()(this.opts.data.showAfterPercentage)?this.$target.hasClass(e)||this.$target.addClass(e):this.$target.hasClass(e)&&this.$target.removeClass(e)},restart:function(){this.stop(),this.start()},getScrollPercent:function(){var e=document.documentElement,n=e.scrollTop,i=t(".h-hero").outerHeight(),r=e.scrollHeight-i,o=n-i+e.clientHeight;return(o=Math.max(o,0))/r*100}},n.inherits(e),e["back-to-top"]=n,e.Plugin.create("back-to-top"),e.Plugin.autoload("back-to-top")}(jQuery,Colibri);n("LPBr"),n("ycXy"),n("qhMa");!function(t,e){var n=function(t,n){this.namespace="slider",this.defaults={swiperSelector:".swiper-container",swiperOptions:{},slidesLinks:{},slideSelector:".swiper-slide"},e.apply(this,arguments),this.initData(),this.initMediaById(),this.start(),this.addResizeListener()};n.prototype={initData:function(){var e=this;this.$swiperElement=this.$element.find(this.opts.swiperSelector),this.swiperElement=this.$swiperElement.get(0);var n=this;this.bindedRestart=t.debounce(function(){n.restart()},50),this.bindedMouseEnter=function(){e.swiper.autoplay.stop()},this.bindedMouseLeave=function(){e.swiper.autoplay.start()}},start:function(){if(!e.isCustomizerPreview()){var t=this.swiperElement;if(t){var n=this.getSwiperOptions();this.swiperOptions=n,this.swiper=new Swiper(t,n),this.addSwiperEnhancements(),this.swiperUpdate(),this.removeSwiperHiddenClass()}}},stop:function(){this.removeSwiperStopOnHoverListeners(),this.swiper&&this.swiper.destroy&&this.swiper.destroy()},restart:function(){this.stop(),this.start()},initMediaById:function(){this.mediaById={desktop:{min:1024},tablet:{min:768,max:1023},mobile:{max:767}}},getSwiperOptions:function(){var e=this.getCurrentMedia(),n=this.opts.data&&this.opts.data.swiperOptions||{},i=(n=t.extend({},n,this.getExtraSwiperOptions())).media||{},r={};return"desktop"!==e&&(r=i[e]||{}),t.extend({},n,r)},changeSlidesVideosState:function(){var t=this.getActiveSlides();t.find("video").each(function(t,e){e.autoplay&&e.play()}),t.find(".colibri-video-background")["colibri.video-background"]("play");var e=this.getInactiveSlides();e.find("video").each(function(t,e){e.pause(),e.currentTime=0}),e.find(".colibri-video-background")["colibri.video-background"]("stopVideo")},getExtraSwiperOptions:function(){var t=this;return{on:{slideChangeTransitionEnd:function(){t.changeSlidesVideosState()},init:function(){setTimeout(function(){t.addScriptsToDummySlides()},1e3)}}}},addScriptsToDummySlides:function(){this.$element.find(".swiper-slide-duplicate").find("[data-colibri-component]").not("[data-disabled]").each(function(){var e=t(this),n="colibri."+e.data("colibri-component");e.attr("data-loaded",!0);try{e[n]()}catch(t){console.error(t)}})},getActiveSlides:function(){return this.$element.find(".swiper-slide-active")},getInactiveSlides:function(){return this.$element.find(".swiper-slide:not(.swiper-slide-active)")},getCurrentMedia:function(){var t=this,e=window.innerWidth,n=null;return ft()(this.mediaById).forEach(function(i){var r=t.mediaById[i];(!r.min||r.min&&e>=r.min)&&(!r.max||r.max&&e<=r.max)&&(n=i)}),n},removeSwiperHiddenClass:function(){this.$element.find(this.opts.swiperSelector).removeClass("h-overflow-hidden")},addResizeListener:function(){e.isCustomizerPreview()||window.addResizeListener(this.swiperElement,this.bindedRestart)},removeResizeListener:function(){window.removeResizeListener(this.swiperElement,this.bindedRestart)},addSwiperEnhancements:function(){this.swiperOptions.pauseOnHover&&this.addSwiperStopOnHoverListeners()},removeSwiperStopOnHoverListeners:function(){this.$swiperElement.off("mouseenter",this.bindedMouseEnter),this.$swiperElement.off("mouseleave",this.bindedMouseLeave)},addSwiperStopOnHoverListeners:function(){this.$swiperElement.on("mouseenter",this.bindedMouseEnter),this.$swiperElement.on("mouseleave",this.bindedMouseLeave)},swiperUpdate:function(){this.swiper.update&&this.swiper.update(),this.swiper.navigation&&this.swiper.navigation.update(),this.swiper.pagination&&this.swiper.pagination.render(),this.swiper.pagination&&this.swiper.pagination.update()}},n.inherits(e),e.slider=n,e.Plugin.create("slider"),e.Plugin.autoload("slider")}(jQuery,Colibri),function(t,e){var n=function(t,n){this.namespace="tabs",this.defaults={equals:!1,active:!1,hash:!0,contentActiveClass:"h-tabs-content-active",navActiveClass:"h-tabs-navigation-active-item h-custom-active-state",callbacks:["init","next","prev","open","opened","close","closed"]},e.apply(this,arguments),this.start();var i=this;window.addEventListener("hashchange",function(){i.onHashChange()},!1)};n.prototype={start:function(){this.tabsCollection=[],this.hashesCollection=[],this.currentHash=[],this.currentItem=!1,this.$items=this.getItems(),this.$items.length&&(this.$items.each(t.proxy(this.loadItems,this)),this.$tabs=this.getTabs(),this.currentHash=this.getLocationHash(),this.closeAll(),this.setActiveItem(),this.setItemHeight(),this.callback("init"))},getTabs:function(){return t(this.tabsCollection).map(function(){return this.toArray()})},elementIsVisible:function(t){for(var e=t.offsetTop,n=t.offsetHeight;t.offsetParent;)e+=(t=t.offsetParent).offsetTop;return e<window.pageYOffset+window.innerHeight&&e+n>window.pageYOffset},tabsIsVisible:function(){return this.elementIsVisible(this.$element.get(0))},tabsTopIsVisible:function(){var t=this.$element.get(0).getBoundingClientRect();return this.tabsIsVisible()&&t.top>0},onHashChange:function(){this.closeAll(),this.currentHash=this.getLocationHash(),this.setActiveItem(),this.currentHash&&!this.tabsTopIsVisible()&&this.$element.get(0).scrollIntoView()},getItems:function(){var t=this.$element.find(" >.h-tabs-navigation .h-tabs-navigation-item");return 0===t.length?this.$element.find(".h-tabs-navigation .h-tabs-navigation-item"):t},loadItems:function(e,n){var i=this,r=this.getItem(n);r.$el.attr("rel",r.hash),this.collectItem(r),r.$el.hasClass(this.opts.navActiveClass)&&(this.currentItem=r,this.opts.active=r.hash);var o=["click","tap"].map(function(t){return t+"."+i.namespace+" "}).join(" ");r.$el.off(o).on(o,t.proxy(this.open,this))},collectItem:function(t){this.tabsCollection.push(t.$tab),this.hashesCollection.push(t.hash)},setActiveItem:function(){this.currentHash?(this.currentItem=this.getItemBy(this.currentHash),this.opts.active=this.currentHash):!1===this.opts.active&&(this.currentItem=this.getItem(this.$items.first()),this.opts.active=this.currentItem.hash),this.addActive(this.currentItem)},addActive:function(t){t.$tab.find(".h-element").trigger("colibriContainerOpened"),t.$el.addClass(this.opts.navActiveClass),t.$tab.removeClass("hide").addClass(this.opts.contentActiveClass),this.currentItem=t},removeActive:function(t){t.$el.removeClass(this.opts.navActiveClass),t.$tab.addClass("hide").removeClass(this.opts.contentActiveClass),this.currentItem=!1},next:function(t){t&&t.preventDefault();var e=this.getItem(this.fetchElement("next"));this.open(e.hash),this.callback("next",e)},prev:function(t){t&&t.preventDefault();var e=this.getItem(this.fetchElement("prev"));this.open(e.hash),this.callback("prev",e)},fetchElement:function(t){var e;if(!1!==this.currentItem){if(0===(e=this.currentItem.$parent[t]().find("a")).length)return}else e=this.$items[0];return e},open:function(t,e){if(void 0!==t){"object"===(void 0===t?"undefined":W()(t))&&t.preventDefault();var n="object"===(void 0===t?"undefined":W()(t))?this.getItem(t.target):this.getItemBy(t);this.closeAll(),this.callback("open",n),this.addActive(n),this.pushStateOpen(e,n),this.callback("opened",n)}},pushStateOpen:function(t,e){!1!==t&&!1!==this.opts.hash&&history.pushState(!1,!1,e.hash)},close:function(t){var e=this.getItemBy(t);e.$el.hasClass(this.opts.navActiveClass)&&(this.callback("close",e),this.removeActive(e),this.pushStateClose(),this.callback("closed",e))},pushStateClose:function(){!1!==this.opts.hash&&history.pushState(!1,!1," ")},closeAll:function(){this.$tabs.removeClass("open").addClass("hide").removeClass(this.opts.contentActiveClass),this.$items.removeClass(this.opts.navActiveClass)},getItem:function(e){var n={};return n.$el=t(e),n.$el.is("a")||(n.$el=n.$el.parents("a").eq(0)),n.hash=n.$el.attr("href"),n.$parent=n.$el.parent(),n.$tab=this.$element.find(n.hash),n},getItemBy:function(t){var e="number"==typeof t?this.$items.eq(t-1):this.$element.find('[rel="'+t+'"]');return this.getItem(e)},getLocationHash:function(){return!1!==this.opts.hash&&(!!this.isHash()&&top.location.hash)},isHash:function(){return!(""===top.location.hash||-1===t.inArray(top.location.hash,this.hashesCollection))},setItemHeight:function(){if(this.opts.equals){var t=this.getItemMaxHeight()+"px";this.$tabs.css("min-height",t)}},getItemMaxHeight:function(){var e=0;return this.$tabs.each(function(){var n=t(this).outerHeight();e=n>e?n:e}),e}},n.inherits(e),e.tabs=n,e.Plugin.create("tabs"),e.Plugin.autoload("tabs")}(jQuery,Colibri);var mt=n("gDS+"),gt=n.n(mt);!function(t,e){var n=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m()(this,t),this.$element=e,this.data=n}return y()(t,[{key:"play",value:function(){}},{key:"stop",value:function(){}},{key:"pause",value:function(){}},{key:"startIfAutoplay",value:function(){this.data.autoplay&&this.play()}},{key:"getContentWindow",value:function(){var t=this.$element.find("iframe");if(!(t.length<1))return t.get(0).contentWindow}}]),t}(),i=function(t){function e(){return m()(this,e),G()(this,(e.__proto__||H()(e)).apply(this,arguments))}return q()(e,t),y()(e,[{key:"play",value:function(){this.runCommand("playVideo")}},{key:"stop",value:function(){this.runCommand("stopVideo")}},{key:"runCommand",value:function(t){var e=this.getContentWindow();if(e){var n=gt()({event:"command",func:t});e.postMessage(n,"https://www.youtube.com")}}}]),e}(n),r=function(t){function e(){return m()(this,e),G()(this,(e.__proto__||H()(e)).apply(this,arguments))}return q()(e,t),y()(e,[{key:"play",value:function(){this.runCommand("play")}},{key:"stop",value:function(){this.runCommand("pause"),this.runCommand("setCurrentTime","0")}},{key:"runCommand",value:function(t,e){var n=this.getContentWindow();if(n){var i=gt()({method:t,value:e});n.postMessage(i,"*")}}}]),e}(n),o=function(t){function e(t,n){m()(this,e);var i=G()(this,(e.__proto__||H()(e)).call(this,t,n));return i.video=i.$element.find("video").get(0),i}return q()(e,t),y()(e,[{key:"play",value:function(){this.video.play()}},{key:"stop",value:function(){this.video.pause(),this.video.currentTime=0}}]),e}(n),a=function(t,n){this.namespace="video",this.defaults={data:{}},e.apply(this,arguments),this.start()};a.prototype={start:function(){var t=this;switch((this.opts.data||{}).displayAs){case"posterImage":this.addPosterImageLogic();break;case"iconWithLightbox":this.addIconWithLightBoxLogic()}this.addVideoHandler();var e=!1;this.intersectionObserver=this.$element.respondToVisibility(function(n){n?e&&t.handler.startIfAutoplay():t.handler.stop(),e||(e=!0)})},stop:function(){this.intersectionObserver&&(this.intersectionObserver.unobserve(),this.intersectionObserver=null)},addVideoHandler:function(){"internal"===this.opts.data.videoType?this.handler=new o(this.$element,this.opts.data):"youtube"===this.opts.data.videoCategory?this.handler=new i(this.$element,this.opts.data):this.handler=new r(this.$element,this.opts.data)},addPosterImageLogic:function(){var t=this.opts.data;if(0!==this.$element.find(".video-poster").length){if(0!==this.$element.find(".video-poster a").length)this.$element.find(".video-poster a").removeAttr("href"),this.$element.click({element:this.$element,data:t},this.startVideo);0!==this.$element.find(".video-poster .h-icon").length&&this.$element.click({element:this.$element,data:t},this.startVideo)}},addIconWithLightBoxLogic:function(){var t=this.opts.data;0!==this.$element.find(".icon-with-lightbox")&&this.$element.find(".icon-with-lightbox .h-svg-icon").click({element:this.$element,data:t},this.startVideo)},startVideo:function(e){var n=e.data.element,i=e.data.data.lightBox;if(i||n.find(".video-poster").hide(),"external"===e.data.data.videoType){var r=n.find("iframe");if(i){var o=r.attr("src");o=(o=o.replace("autoplay=0","autoplay=1")).replace("autopause=0",""),t.fancybox.open({src:o,opts:{beforeClose:function(t,e){n.find(".video-poster").show()}}})}else this.handler.play()}else if(i){n.find(".ratio-inner");t.fancybox.open({src:n.find("video"),type:"inline",modal:!1,touch:!1,showCloseButton:!0,opts:{afterLoad:function(t,e){var n=e.$content.find("video");0!==n.length&&n.removeClass("h-video-main")},beforeClose:function(t,e){n.find(".video-poster").show()}}})}else this.handler.play()}},a.inherits(e),e.video=a,e.Plugin.create("video"),e.Plugin.autoload("video")}(jQuery,Colibri);n("r5pt")},zLkG:function(t,e,n){e.f=n("UWiX")},zZPE:function(t,e){var n="[object Object]";var i,r,o=Function.prototype,a=Object.prototype,s=o.toString,u=a.hasOwnProperty,c=s.call(Object),l=a.toString,f=(i=Object.getPrototypeOf,r=Object,function(t){return i(r(t))});t.exports=function(t){if(!function(t){return!!t&&"object"==typeof t}(t)||l.call(t)!=n||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t))return!1;var e=f(t);if(null===e)return!0;var i=u.call(e,"constructor")&&e.constructor;return"function"==typeof i&&i instanceof i&&s.call(i)==c}},zn7N:function(t,e,n){var i=n("Y7ZC"),r=n("WEpk"),o=n("KUxP");t.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],a={};a[t]=e(n),i(i.S+i.F*o(function(){n(1)}),"Object",a)}},zoCF:function(t,e,n){}});
// source --> https://www.tomex.cz/wp-content/plugins/colibri-page-builder-pro/extend-builder/assets/static/swiper/js/swiper.js?ver=1.0.247-pro 
/**
 * Swiper 4.3.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: July 31, 2018
 */

(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
  typeof define === 'function' && define.amd ? define(factory) :
  (global.Swiper = factory());
}(this, (function () { 'use strict';

  /**
   * SSR Window 1.0.1
   * Better handling for window object in SSR environment
   * https://github.com/nolimits4web/ssr-window
   *
   * Copyright 2018, Vladimir Kharlampidi
   *
   * Licensed under MIT
   *
   * Released on: July 18, 2018
   */
  var doc = (typeof document === 'undefined') ? {
    body: {},
    addEventListener: function addEventListener() {},
    removeEventListener: function removeEventListener() {},
    activeElement: {
      blur: function blur() {},
      nodeName: '',
    },
    querySelector: function querySelector() {
      return null;
    },
    querySelectorAll: function querySelectorAll() {
      return [];
    },
    getElementById: function getElementById() {
      return null;
    },
    createEvent: function createEvent() {
      return {
        initEvent: function initEvent() {},
      };
    },
    createElement: function createElement() {
      return {
        children: [],
        childNodes: [],
        style: {},
        setAttribute: function setAttribute() {},
        getElementsByTagName: function getElementsByTagName() {
          return [];
        },
      };
    },
    location: { hash: '' },
  } : document; // eslint-disable-line

  var win = (typeof window === 'undefined') ? {
    document: doc,
    navigator: {
      userAgent: '',
    },
    location: {},
    history: {},
    CustomEvent: function CustomEvent() {
      return this;
    },
    addEventListener: function addEventListener() {},
    removeEventListener: function removeEventListener() {},
    getComputedStyle: function getComputedStyle() {
      return {
        getPropertyValue: function getPropertyValue() {
          return '';
        },
      };
    },
    Image: function Image() {},
    Date: function Date() {},
    screen: {},
    setTimeout: function setTimeout() {},
    clearTimeout: function clearTimeout() {},
  } : window; // eslint-disable-line

  /**
   * Dom7 2.0.7
   * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API
   * http://framework7.io/docs/dom.html
   *
   * Copyright 2018, Vladimir Kharlampidi
   * The iDangero.us
   * http://www.idangero.us/
   *
   * Licensed under MIT
   *
   * Released on: June 14, 2018
   */

  var Dom7 = function Dom7(arr) {
    var self = this;
    // Create array-like object
    for (var i = 0; i < arr.length; i += 1) {
      self[i] = arr[i];
    }
    self.length = arr.length;
    // Return collection with methods
    return this;
  };

  function $(selector, context) {
    var arr = [];
    var i = 0;
    if (selector && !context) {
      if (selector instanceof Dom7) {
        return selector;
      }
    }
    if (selector) {
        // String
      if (typeof selector === 'string') {
        var els;
        var tempParent;
        var html = selector.trim();
        if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {
          var toCreate = 'div';
          if (html.indexOf('<li') === 0) { toCreate = 'ul'; }
          if (html.indexOf('<tr') === 0) { toCreate = 'tbody'; }
          if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) { toCreate = 'tr'; }
          if (html.indexOf('<tbody') === 0) { toCreate = 'table'; }
          if (html.indexOf('<option') === 0) { toCreate = 'select'; }
          tempParent = doc.createElement(toCreate);
          tempParent.innerHTML = html;
          for (i = 0; i < tempParent.childNodes.length; i += 1) {
            arr.push(tempParent.childNodes[i]);
          }
        } else {
          if (!context && selector[0] === '#' && !selector.match(/[ .<>:~]/)) {
            // Pure ID selector
            els = [doc.getElementById(selector.trim().split('#')[1])];
          } else {
            // Other selectors
            els = (context || doc).querySelectorAll(selector.trim());
          }
          for (i = 0; i < els.length; i += 1) {
            if (els[i]) { arr.push(els[i]); }
          }
        }
      } else if (selector.nodeType || selector === win || selector === doc) {
        // Node/element
        arr.push(selector);
      } else if (selector.length > 0 && selector[0].nodeType) {
        // Array of elements or instance of Dom
        for (i = 0; i < selector.length; i += 1) {
          arr.push(selector[i]);
        }
      }
    }
    return new Dom7(arr);
  }

  $.fn = Dom7.prototype;
  $.Class = Dom7;
  $.Dom7 = Dom7;

  function unique(arr) {
    var uniqueArray = [];
    for (var i = 0; i < arr.length; i += 1) {
      if (uniqueArray.indexOf(arr[i]) === -1) { uniqueArray.push(arr[i]); }
    }
    return uniqueArray;
  }

  // Classes and attributes
  function addClass(className) {
    var this$1 = this;

    if (typeof className === 'undefined') {
      return this;
    }
    var classes = className.split(' ');
    for (var i = 0; i < classes.length; i += 1) {
      for (var j = 0; j < this.length; j += 1) {
        if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') { this$1[j].classList.add(classes[i]); }
      }
    }
    return this;
  }
  function removeClass(className) {
    var this$1 = this;

    var classes = className.split(' ');
    for (var i = 0; i < classes.length; i += 1) {
      for (var j = 0; j < this.length; j += 1) {
        if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') { this$1[j].classList.remove(classes[i]); }
      }
    }
    return this;
  }
  function hasClass(className) {
    if (!this[0]) { return false; }
    return this[0].classList.contains(className);
  }
  function toggleClass(className) {
    var this$1 = this;

    var classes = className.split(' ');
    for (var i = 0; i < classes.length; i += 1) {
      for (var j = 0; j < this.length; j += 1) {
        if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') { this$1[j].classList.toggle(classes[i]); }
      }
    }
    return this;
  }
  function attr(attrs, value) {
    var arguments$1 = arguments;
    var this$1 = this;

    if (arguments.length === 1 && typeof attrs === 'string') {
      // Get attr
      if (this[0]) { return this[0].getAttribute(attrs); }
      return undefined;
    }

    // Set attrs
    for (var i = 0; i < this.length; i += 1) {
      if (arguments$1.length === 2) {
        // String
        this$1[i].setAttribute(attrs, value);
      } else {
        // Object
        // eslint-disable-next-line
        for (var attrName in attrs) {
          this$1[i][attrName] = attrs[attrName];
          this$1[i].setAttribute(attrName, attrs[attrName]);
        }
      }
    }
    return this;
  }
  // eslint-disable-next-line
  function removeAttr(attr) {
    var this$1 = this;

    for (var i = 0; i < this.length; i += 1) {
      this$1[i].removeAttribute(attr);
    }
    return this;
  }
  function data(key, value) {
    var this$1 = this;

    var el;
    if (typeof value === 'undefined') {
      el = this[0];
      // Get value
      if (el) {
        if (el.dom7ElementDataStorage && (key in el.dom7ElementDataStorage)) {
          return el.dom7ElementDataStorage[key];
        }

        var dataKey = el.getAttribute(("data-" + key));
        if (dataKey) {
          return dataKey;
        }
        return undefined;
      }
      return undefined;
    }

    // Set value
    for (var i = 0; i < this.length; i += 1) {
      el = this$1[i];
      if (!el.dom7ElementDataStorage) { el.dom7ElementDataStorage = {}; }
      el.dom7ElementDataStorage[key] = value;
    }
    return this;
  }
  // Transforms
  // eslint-disable-next-line
  function transform(transform) {
    var this$1 = this;

    for (var i = 0; i < this.length; i += 1) {
      var elStyle = this$1[i].style;
      elStyle.webkitTransform = transform;
      elStyle.transform = transform;
    }
    return this;
  }
  function transition(duration) {
    var this$1 = this;

    if (typeof duration !== 'string') {
      duration = duration + "ms"; // eslint-disable-line
    }
    for (var i = 0; i < this.length; i += 1) {
      var elStyle = this$1[i].style;
      elStyle.webkitTransitionDuration = duration;
      elStyle.transitionDuration = duration;
    }
    return this;
  }
  // Events
  function on() {
    var this$1 = this;
    var assign;

    var args = [], len = arguments.length;
    while ( len-- ) args[ len ] = arguments[ len ];
    var eventType = args[0];
    var targetSelector = args[1];
    var listener = args[2];
    var capture = args[3];
    if (typeof args[1] === 'function') {
      (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);
      targetSelector = undefined;
    }
    if (!capture) { capture = false; }

    function handleLiveEvent(e) {
      var target = e.target;
      if (!target) { return; }
      var eventData = e.target.dom7EventData || [];
      if (eventData.indexOf(e) < 0) {
        eventData.unshift(e);
      }
      if ($(target).is(targetSelector)) { listener.apply(target, eventData); }
      else {
        var parents = $(target).parents(); // eslint-disable-line
        for (var k = 0; k < parents.length; k += 1) {
          if ($(parents[k]).is(targetSelector)) { listener.apply(parents[k], eventData); }
        }
      }
    }
    function handleEvent(e) {
      var eventData = e && e.target ? e.target.dom7EventData || [] : [];
      if (eventData.indexOf(e) < 0) {
        eventData.unshift(e);
      }
      listener.apply(this, eventData);
    }
    var events = eventType.split(' ');
    var j;
    for (var i = 0; i < this.length; i += 1) {
      var el = this$1[i];
      if (!targetSelector) {
        for (j = 0; j < events.length; j += 1) {
          var event = events[j];
          if (!el.dom7Listeners) { el.dom7Listeners = {}; }
          if (!el.dom7Listeners[event]) { el.dom7Listeners[event] = []; }
          el.dom7Listeners[event].push({
            listener: listener,
            proxyListener: handleEvent,
          });
          el.addEventListener(event, handleEvent, capture);
        }
      } else {
        // Live events
        for (j = 0; j < events.length; j += 1) {
          var event$1 = events[j];
          if (!el.dom7LiveListeners) { el.dom7LiveListeners = {}; }
          if (!el.dom7LiveListeners[event$1]) { el.dom7LiveListeners[event$1] = []; }
          el.dom7LiveListeners[event$1].push({
            listener: listener,
            proxyListener: handleLiveEvent,
          });
          el.addEventListener(event$1, handleLiveEvent, capture);
        }
      }
    }
    return this;
  }
  function off() {
    var this$1 = this;
    var assign;

    var args = [], len = arguments.length;
    while ( len-- ) args[ len ] = arguments[ len ];
    var eventType = args[0];
    var targetSelector = args[1];
    var listener = args[2];
    var capture = args[3];
    if (typeof args[1] === 'function') {
      (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);
      targetSelector = undefined;
    }
    if (!capture) { capture = false; }

    var events = eventType.split(' ');
    for (var i = 0; i < events.length; i += 1) {
      var event = events[i];
      for (var j = 0; j < this.length; j += 1) {
        var el = this$1[j];
        var handlers = (void 0);
        if (!targetSelector && el.dom7Listeners) {
          handlers = el.dom7Listeners[event];
        } else if (targetSelector && el.dom7LiveListeners) {
          handlers = el.dom7LiveListeners[event];
        }
        if (handlers && handlers.length) {
          for (var k = handlers.length - 1; k >= 0; k -= 1) {
            var handler = handlers[k];
            if (listener && handler.listener === listener) {
              el.removeEventListener(event, handler.proxyListener, capture);
              handlers.splice(k, 1);
            } else if (!listener) {
              el.removeEventListener(event, handler.proxyListener, capture);
              handlers.splice(k, 1);
            }
          }
        }
      }
    }
    return this;
  }
  function trigger() {
    var this$1 = this;
    var args = [], len = arguments.length;
    while ( len-- ) args[ len ] = arguments[ len ];

    var events = args[0].split(' ');
    var eventData = args[1];
    for (var i = 0; i < events.length; i += 1) {
      var event = events[i];
      for (var j = 0; j < this.length; j += 1) {
        var el = this$1[j];
        var evt = (void 0);
        try {
          evt = new win.CustomEvent(event, {
            detail: eventData,
            bubbles: true,
            cancelable: true,
          });
        } catch (e) {
          evt = doc.createEvent('Event');
          evt.initEvent(event, true, true);
          evt.detail = eventData;
        }
        // eslint-disable-next-line
        el.dom7EventData = args.filter(function (data, dataIndex) { return dataIndex > 0; });
        el.dispatchEvent(evt);
        el.dom7EventData = [];
        delete el.dom7EventData;
      }
    }
    return this;
  }
  function transitionEnd(callback) {
    var events = ['webkitTransitionEnd', 'transitionend'];
    var dom = this;
    var i;
    function fireCallBack(e) {
      /* jshint validthis:true */
      if (e.target !== this) { return; }
      callback.call(this, e);
      for (i = 0; i < events.length; i += 1) {
        dom.off(events[i], fireCallBack);
      }
    }
    if (callback) {
      for (i = 0; i < events.length; i += 1) {
        dom.on(events[i], fireCallBack);
      }
    }
    return this;
  }
  function outerWidth(includeMargins) {
    if (this.length > 0) {
      if (includeMargins) {
        // eslint-disable-next-line
        var styles = this.styles();
        return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));
      }
      return this[0].offsetWidth;
    }
    return null;
  }
  function outerHeight(includeMargins) {
    if (this.length > 0) {
      if (includeMargins) {
        // eslint-disable-next-line
        var styles = this.styles();
        return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));
      }
      return this[0].offsetHeight;
    }
    return null;
  }
  function offset() {
    if (this.length > 0) {
      var el = this[0];
      var box = el.getBoundingClientRect();
      var body = doc.body;
      var clientTop = el.clientTop || body.clientTop || 0;
      var clientLeft = el.clientLeft || body.clientLeft || 0;
      var scrollTop = el === win ? win.scrollY : el.scrollTop;
      var scrollLeft = el === win ? win.scrollX : el.scrollLeft;
      return {
        top: (box.top + scrollTop) - clientTop,
        left: (box.left + scrollLeft) - clientLeft,
      };
    }

    return null;
  }
  function styles() {
    if (this[0]) { return win.getComputedStyle(this[0], null); }
    return {};
  }
  function css(props, value) {
    var this$1 = this;

    var i;
    if (arguments.length === 1) {
      if (typeof props === 'string') {
        if (this[0]) { return win.getComputedStyle(this[0], null).getPropertyValue(props); }
      } else {
        for (i = 0; i < this.length; i += 1) {
          // eslint-disable-next-line
          for (var prop in props) {
            this$1[i].style[prop] = props[prop];
          }
        }
        return this;
      }
    }
    if (arguments.length === 2 && typeof props === 'string') {
      for (i = 0; i < this.length; i += 1) {
        this$1[i].style[props] = value;
      }
      return this;
    }
    return this;
  }
  // Iterate over the collection passing elements to `callback`
  function each(callback) {
    var this$1 = this;

    // Don't bother continuing without a callback
    if (!callback) { return this; }
    // Iterate over the current collection
    for (var i = 0; i < this.length; i += 1) {
      // If the callback returns false
      if (callback.call(this$1[i], i, this$1[i]) === false) {
        // End the loop early
        return this$1;
      }
    }
    // Return `this` to allow chained DOM operations
    return this;
  }
  // eslint-disable-next-line
  function html(html) {
    var this$1 = this;

    if (typeof html === 'undefined') {
      return this[0] ? this[0].innerHTML : undefined;
    }

    for (var i = 0; i < this.length; i += 1) {
      this$1[i].innerHTML = html;
    }
    return this;
  }
  // eslint-disable-next-line
  function text(text) {
    var this$1 = this;

    if (typeof text === 'undefined') {
      if (this[0]) {
        return this[0].textContent.trim();
      }
      return null;
    }

    for (var i = 0; i < this.length; i += 1) {
      this$1[i].textContent = text;
    }
    return this;
  }
  function is(selector) {
    var el = this[0];
    var compareWith;
    var i;
    if (!el || typeof selector === 'undefined') { return false; }
    if (typeof selector === 'string') {
      if (el.matches) { return el.matches(selector); }
      else if (el.webkitMatchesSelector) { return el.webkitMatchesSelector(selector); }
      else if (el.msMatchesSelector) { return el.msMatchesSelector(selector); }

      compareWith = $(selector);
      for (i = 0; i < compareWith.length; i += 1) {
        if (compareWith[i] === el) { return true; }
      }
      return false;
    } else if (selector === doc) { return el === doc; }
    else if (selector === win) { return el === win; }

    if (selector.nodeType || selector instanceof Dom7) {
      compareWith = selector.nodeType ? [selector] : selector;
      for (i = 0; i < compareWith.length; i += 1) {
        if (compareWith[i] === el) { return true; }
      }
      return false;
    }
    return false;
  }
  function index() {
    var child = this[0];
    var i;
    if (child) {
      i = 0;
      // eslint-disable-next-line
      while ((child = child.previousSibling) !== null) {
        if (child.nodeType === 1) { i += 1; }
      }
      return i;
    }
    return undefined;
  }
  // eslint-disable-next-line
  function eq(index) {
    if (typeof index === 'undefined') { return this; }
    var length = this.length;
    var returnIndex;
    if (index > length - 1) {
      return new Dom7([]);
    }
    if (index < 0) {
      returnIndex = length + index;
      if (returnIndex < 0) { return new Dom7([]); }
      return new Dom7([this[returnIndex]]);
    }
    return new Dom7([this[index]]);
  }
  function append() {
    var this$1 = this;
    var args = [], len = arguments.length;
    while ( len-- ) args[ len ] = arguments[ len ];

    var newChild;

    for (var k = 0; k < args.length; k += 1) {
      newChild = args[k];
      for (var i = 0; i < this.length; i += 1) {
        if (typeof newChild === 'string') {
          var tempDiv = doc.createElement('div');
          tempDiv.innerHTML = newChild;
          while (tempDiv.firstChild) {
            this$1[i].appendChild(tempDiv.firstChild);
          }
        } else if (newChild instanceof Dom7) {
          for (var j = 0; j < newChild.length; j += 1) {
            this$1[i].appendChild(newChild[j]);
          }
        } else {
          this$1[i].appendChild(newChild);
        }
      }
    }

    return this;
  }
  function prepend(newChild) {
    var this$1 = this;

    var i;
    var j;
    for (i = 0; i < this.length; i += 1) {
      if (typeof newChild === 'string') {
        var tempDiv = doc.createElement('div');
        tempDiv.innerHTML = newChild;
        for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {
          this$1[i].insertBefore(tempDiv.childNodes[j], this$1[i].childNodes[0]);
        }
      } else if (newChild instanceof Dom7) {
        for (j = 0; j < newChild.length; j += 1) {
          this$1[i].insertBefore(newChild[j], this$1[i].childNodes[0]);
        }
      } else {
        this$1[i].insertBefore(newChild, this$1[i].childNodes[0]);
      }
    }
    return this;
  }
  function next(selector) {
    if (this.length > 0) {
      if (selector) {
        if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {
          return new Dom7([this[0].nextElementSibling]);
        }
        return new Dom7([]);
      }

      if (this[0].nextElementSibling) { return new Dom7([this[0].nextElementSibling]); }
      return new Dom7([]);
    }
    return new Dom7([]);
  }
  function nextAll(selector) {
    var nextEls = [];
    var el = this[0];
    if (!el) { return new Dom7([]); }
    while (el.nextElementSibling) {
      var next = el.nextElementSibling; // eslint-disable-line
      if (selector) {
        if ($(next).is(selector)) { nextEls.push(next); }
      } else { nextEls.push(next); }
      el = next;
    }
    return new Dom7(nextEls);
  }
  function prev(selector) {
    if (this.length > 0) {
      var el = this[0];
      if (selector) {
        if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {
          return new Dom7([el.previousElementSibling]);
        }
        return new Dom7([]);
      }

      if (el.previousElementSibling) { return new Dom7([el.previousElementSibling]); }
      return new Dom7([]);
    }
    return new Dom7([]);
  }
  function prevAll(selector) {
    var prevEls = [];
    var el = this[0];
    if (!el) { return new Dom7([]); }
    while (el.previousElementSibling) {
      var prev = el.previousElementSibling; // eslint-disable-line
      if (selector) {
        if ($(prev).is(selector)) { prevEls.push(prev); }
      } else { prevEls.push(prev); }
      el = prev;
    }
    return new Dom7(prevEls);
  }
  function parent(selector) {
    var this$1 = this;

    var parents = []; // eslint-disable-line
    for (var i = 0; i < this.length; i += 1) {
      if (this$1[i].parentNode !== null) {
        if (selector) {
          if ($(this$1[i].parentNode).is(selector)) { parents.push(this$1[i].parentNode); }
        } else {
          parents.push(this$1[i].parentNode);
        }
      }
    }
    return $(unique(parents));
  }
  function parents(selector) {
    var this$1 = this;

    var parents = []; // eslint-disable-line
    for (var i = 0; i < this.length; i += 1) {
      var parent = this$1[i].parentNode; // eslint-disable-line
      while (parent) {
        if (selector) {
          if ($(parent).is(selector)) { parents.push(parent); }
        } else {
          parents.push(parent);
        }
        parent = parent.parentNode;
      }
    }
    return $(unique(parents));
  }
  function closest(selector) {
    var closest = this; // eslint-disable-line
    if (typeof selector === 'undefined') {
      return new Dom7([]);
    }
    if (!closest.is(selector)) {
      closest = closest.parents(selector).eq(0);
    }
    return closest;
  }
  function find(selector) {
    var this$1 = this;

    var foundElements = [];
    for (var i = 0; i < this.length; i += 1) {
      var found = this$1[i].querySelectorAll(selector);
      for (var j = 0; j < found.length; j += 1) {
        foundElements.push(found[j]);
      }
    }
    return new Dom7(foundElements);
  }
  function children(selector) {
    var this$1 = this;

    var children = []; // eslint-disable-line
    for (var i = 0; i < this.length; i += 1) {
      var childNodes = this$1[i].childNodes;

      for (var j = 0; j < childNodes.length; j += 1) {
        if (!selector) {
          if (childNodes[j].nodeType === 1) { children.push(childNodes[j]); }
        } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) {
          children.push(childNodes[j]);
        }
      }
    }
    return new Dom7(unique(children));
  }
  function remove() {
    var this$1 = this;

    for (var i = 0; i < this.length; i += 1) {
      if (this$1[i].parentNode) { this$1[i].parentNode.removeChild(this$1[i]); }
    }
    return this;
  }
  function add() {
    var args = [], len = arguments.length;
    while ( len-- ) args[ len ] = arguments[ len ];

    var dom = this;
    var i;
    var j;
    for (i = 0; i < args.length; i += 1) {
      var toAdd = $(args[i]);
      for (j = 0; j < toAdd.length; j += 1) {
        dom[dom.length] = toAdd[j];
        dom.length += 1;
      }
    }
    return dom;
  }

  var Methods = {
    addClass: addClass,
    removeClass: removeClass,
    hasClass: hasClass,
    toggleClass: toggleClass,
    attr: attr,
    removeAttr: removeAttr,
    data: data,
    transform: transform,
    transition: transition,
    on: on,
    off: off,
    trigger: trigger,
    transitionEnd: transitionEnd,
    outerWidth: outerWidth,
    outerHeight: outerHeight,
    offset: offset,
    css: css,
    each: each,
    html: html,
    text: text,
    is: is,
    index: index,
    eq: eq,
    append: append,
    prepend: prepend,
    next: next,
    nextAll: nextAll,
    prev: prev,
    prevAll: prevAll,
    parent: parent,
    parents: parents,
    closest: closest,
    find: find,
    children: children,
    remove: remove,
    add: add,
    styles: styles,
  };

  Object.keys(Methods).forEach(function (methodName) {
    $.fn[methodName] = Methods[methodName];
  });

  var Utils = {
    deleteProps: function deleteProps(obj) {
      var object = obj;
      Object.keys(object).forEach(function (key) {
        try {
          object[key] = null;
        } catch (e) {
          // no getter for object
        }
        try {
          delete object[key];
        } catch (e) {
          // something got wrong
        }
      });
    },
    nextTick: function nextTick(callback, delay) {
      if ( delay === void 0 ) delay = 0;

      return setTimeout(callback, delay);
    },
    now: function now() {
      return Date.now();
    },
    getTranslate: function getTranslate(el, axis) {
      if ( axis === void 0 ) axis = 'x';

      var matrix;
      var curTransform;
      var transformMatrix;

      var curStyle = win.getComputedStyle(el, null);

      if (win.WebKitCSSMatrix) {
        curTransform = curStyle.transform || curStyle.webkitTransform;
        if (curTransform.split(',').length > 6) {
          curTransform = curTransform.split(', ').map(function (a) { return a.replace(',', '.'); }).join(', ');
        }
        // Some old versions of Webkit choke when 'none' is passed; pass
        // empty string instead in this case
        transformMatrix = new win.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);
      } else {
        transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
        matrix = transformMatrix.toString().split(',');
      }

      if (axis === 'x') {
        // Latest Chrome and webkits Fix
        if (win.WebKitCSSMatrix) { curTransform = transformMatrix.m41; }
        // Crazy IE10 Matrix
        else if (matrix.length === 16) { curTransform = parseFloat(matrix[12]); }
        // Normal Browsers
        else { curTransform = parseFloat(matrix[4]); }
      }
      if (axis === 'y') {
        // Latest Chrome and webkits Fix
        if (win.WebKitCSSMatrix) { curTransform = transformMatrix.m42; }
        // Crazy IE10 Matrix
        else if (matrix.length === 16) { curTransform = parseFloat(matrix[13]); }
        // Normal Browsers
        else { curTransform = parseFloat(matrix[5]); }
      }
      return curTransform || 0;
    },
    parseUrlQuery: function parseUrlQuery(url) {
      var query = {};
      var urlToParse = url || win.location.href;
      var i;
      var params;
      var param;
      var length;
      if (typeof urlToParse === 'string' && urlToParse.length) {
        urlToParse = urlToParse.indexOf('?') > -1 ? urlToParse.replace(/\S*\?/, '') : '';
        params = urlToParse.split('&').filter(function (paramsPart) { return paramsPart !== ''; });
        length = params.length;

        for (i = 0; i < length; i += 1) {
          param = params[i].replace(/#\S+/g, '').split('=');
          query[decodeURIComponent(param[0])] = typeof param[1] === 'undefined' ? undefined : decodeURIComponent(param[1]) || '';
        }
      }
      return query;
    },
    isObject: function isObject(o) {
      return typeof o === 'object' && o !== null && o.constructor && o.constructor === Object;
    },
    extend: function extend() {
      var args = [], len$1 = arguments.length;
      while ( len$1-- ) args[ len$1 ] = arguments[ len$1 ];

      var to = Object(args[0]);
      for (var i = 1; i < args.length; i += 1) {
        var nextSource = args[i];
        if (nextSource !== undefined && nextSource !== null) {
          var keysArray = Object.keys(Object(nextSource));
          for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
            var nextKey = keysArray[nextIndex];
            var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
            if (desc !== undefined && desc.enumerable) {
              if (Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) {
                Utils.extend(to[nextKey], nextSource[nextKey]);
              } else if (!Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) {
                to[nextKey] = {};
                Utils.extend(to[nextKey], nextSource[nextKey]);
              } else {
                to[nextKey] = nextSource[nextKey];
              }
            }
          }
        }
      }
      return to;
    },
  };

  var Support = (function Support() {
    var testDiv = doc.createElement('div');
    return {
      touch: (win.Modernizr && win.Modernizr.touch === true) || (function checkTouch() {
        return !!(('ontouchstart' in win) || (win.DocumentTouch && doc instanceof win.DocumentTouch));
      }()),

      pointerEvents: !!(win.navigator.pointerEnabled || win.PointerEvent),
      prefixedPointerEvents: !!win.navigator.msPointerEnabled,

      transition: (function checkTransition() {
        var style = testDiv.style;
        return ('transition' in style || 'webkitTransition' in style || 'MozTransition' in style);
      }()),
      transforms3d: (win.Modernizr && win.Modernizr.csstransforms3d === true) || (function checkTransforms3d() {
        var style = testDiv.style;
        return ('webkitPerspective' in style || 'MozPerspective' in style || 'OPerspective' in style || 'MsPerspective' in style || 'perspective' in style);
      }()),

      flexbox: (function checkFlexbox() {
        var style = testDiv.style;
        var styles = ('alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient').split(' ');
        for (var i = 0; i < styles.length; i += 1) {
          if (styles[i] in style) { return true; }
        }
        return false;
      }()),

      observer: (function checkObserver() {
        return ('MutationObserver' in win || 'WebkitMutationObserver' in win);
      }()),

      passiveListener: (function checkPassiveListener() {
        var supportsPassive = false;
        try {
          var opts = Object.defineProperty({}, 'passive', {
            // eslint-disable-next-line
            get: function get() {
              supportsPassive = true;
            },
          });
          win.addEventListener('testPassiveListener', null, opts);
        } catch (e) {
          // No support
        }
        return supportsPassive;
      }()),

      gestures: (function checkGestures() {
        return 'ongesturestart' in win;
      }()),
    };
  }());

  var SwiperClass = function SwiperClass(params) {
    if ( params === void 0 ) params = {};

    var self = this;
    self.params = params;

    // Events
    self.eventsListeners = {};

    if (self.params && self.params.on) {
      Object.keys(self.params.on).forEach(function (eventName) {
        self.on(eventName, self.params.on[eventName]);
      });
    }
  };

  var staticAccessors = { components: { configurable: true } };

  SwiperClass.prototype.on = function on (events, handler, priority) {
    var self = this;
    if (typeof handler !== 'function') { return self; }
    var method = priority ? 'unshift' : 'push';
    events.split(' ').forEach(function (event) {
      if (!self.eventsListeners[event]) { self.eventsListeners[event] = []; }
      self.eventsListeners[event][method](handler);
    });
    return self;
  };

  SwiperClass.prototype.once = function once (events, handler, priority) {
    var self = this;
    if (typeof handler !== 'function') { return self; }
    function onceHandler() {
        var args = [], len = arguments.length;
        while ( len-- ) args[ len ] = arguments[ len ];

      handler.apply(self, args);
      self.off(events, onceHandler);
    }
    return self.on(events, onceHandler, priority);
  };

  SwiperClass.prototype.off = function off (events, handler) {
    var self = this;
    if (!self.eventsListeners) { return self; }
    events.split(' ').forEach(function (event) {
      if (typeof handler === 'undefined') {
        self.eventsListeners[event] = [];
      } else {
        self.eventsListeners[event].forEach(function (eventHandler, index) {
          if (eventHandler === handler) {
            self.eventsListeners[event].splice(index, 1);
          }
        });
      }
    });
    return self;
  };

  SwiperClass.prototype.emit = function emit () {
      var args = [], len = arguments.length;
      while ( len-- ) args[ len ] = arguments[ len ];

    var self = this;
    if (!self.eventsListeners) { return self; }
    var events;
    var data;
    var context;
    if (typeof args[0] === 'string' || Array.isArray(args[0])) {
      events = args[0];
      data = args.slice(1, args.length);
      context = self;
    } else {
      events = args[0].events;
      data = args[0].data;
      context = args[0].context || self;
    }
    var eventsArray = Array.isArray(events) ? events : events.split(' ');
    eventsArray.forEach(function (event) {
      if (self.eventsListeners && self.eventsListeners[event]) {
        var handlers = [];
        self.eventsListeners[event].forEach(function (eventHandler) {
          handlers.push(eventHandler);
        });
        handlers.forEach(function (eventHandler) {
          eventHandler.apply(context, data);
        });
      }
    });
    return self;
  };

  SwiperClass.prototype.useModulesParams = function useModulesParams (instanceParams) {
    var instance = this;
    if (!instance.modules) { return; }
    Object.keys(instance.modules).forEach(function (moduleName) {
      var module = instance.modules[moduleName];
      // Extend params
      if (module.params) {
        Utils.extend(instanceParams, module.params);
      }
    });
  };

  SwiperClass.prototype.useModules = function useModules (modulesParams) {
      if ( modulesParams === void 0 ) modulesParams = {};

    var instance = this;
    if (!instance.modules) { return; }
    Object.keys(instance.modules).forEach(function (moduleName) {
      var module = instance.modules[moduleName];
      var moduleParams = modulesParams[moduleName] || {};
      // Extend instance methods and props
      if (module.instance) {
        Object.keys(module.instance).forEach(function (modulePropName) {
          var moduleProp = module.instance[modulePropName];
          if (typeof moduleProp === 'function') {
            instance[modulePropName] = moduleProp.bind(instance);
          } else {
            instance[modulePropName] = moduleProp;
          }
        });
      }
      // Add event listeners
      if (module.on && instance.on) {
        Object.keys(module.on).forEach(function (moduleEventName) {
          instance.on(moduleEventName, module.on[moduleEventName]);
        });
      }

      // Module create callback
      if (module.create) {
        module.create.bind(instance)(moduleParams);
      }
    });
  };

  staticAccessors.components.set = function (components) {
    var Class = this;
    if (!Class.use) { return; }
    Class.use(components);
  };

  SwiperClass.installModule = function installModule (module) {
      var params = [], len = arguments.length - 1;
      while ( len-- > 0 ) params[ len ] = arguments[ len + 1 ];

    var Class = this;
    if (!Class.prototype.modules) { Class.prototype.modules = {}; }
    var name = module.name || (((Object.keys(Class.prototype.modules).length) + "_" + (Utils.now())));
    Class.prototype.modules[name] = module;
    // Prototype
    if (module.proto) {
      Object.keys(module.proto).forEach(function (key) {
        Class.prototype[key] = module.proto[key];
      });
    }
    // Class
    if (module.static) {
      Object.keys(module.static).forEach(function (key) {
        Class[key] = module.static[key];
      });
    }
    // Callback
    if (module.install) {
      module.install.apply(Class, params);
    }
    return Class;
  };

  SwiperClass.use = function use (module) {
      var params = [], len = arguments.length - 1;
      while ( len-- > 0 ) params[ len ] = arguments[ len + 1 ];

    var Class = this;
    if (Array.isArray(module)) {
      module.forEach(function (m) { return Class.installModule(m); });
      return Class;
    }
    return Class.installModule.apply(Class, [ module ].concat( params ));
  };

  Object.defineProperties( SwiperClass, staticAccessors );

  function updateSize () {
    var swiper = this;
    var width;
    var height;
    var $el = swiper.$el;
    if (typeof swiper.params.width !== 'undefined') {
      width = swiper.params.width;
    } else {
      width = $el[0].clientWidth;
    }
    if (typeof swiper.params.height !== 'undefined') {
      height = swiper.params.height;
    } else {
      height = $el[0].clientHeight;
    }
    if ((width === 0 && swiper.isHorizontal()) || (height === 0 && swiper.isVertical())) {
      return;
    }

    // Subtract paddings
    width = width - parseInt($el.css('padding-left'), 10) - parseInt($el.css('padding-right'), 10);
    height = height - parseInt($el.css('padding-top'), 10) - parseInt($el.css('padding-bottom'), 10);

    Utils.extend(swiper, {
      width: width,
      height: height,
      size: swiper.isHorizontal() ? width : height,
    });
  }

  function updateSlides () {
    var swiper = this;
    var params = swiper.params;

    var $wrapperEl = swiper.$wrapperEl;
    var swiperSize = swiper.size;
    var rtl = swiper.rtlTranslate;
    var wrongRTL = swiper.wrongRTL;
    var isVirtual = swiper.virtual && params.virtual.enabled;
    var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;
    var slides = $wrapperEl.children(("." + (swiper.params.slideClass)));
    var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;
    var snapGrid = [];
    var slidesGrid = [];
    var slidesSizesGrid = [];

    var offsetBefore = params.slidesOffsetBefore;
    if (typeof offsetBefore === 'function') {
      offsetBefore = params.slidesOffsetBefore.call(swiper);
    }

    var offsetAfter = params.slidesOffsetAfter;
    if (typeof offsetAfter === 'function') {
      offsetAfter = params.slidesOffsetAfter.call(swiper);
    }

    var previousSnapGridLength = swiper.snapGrid.length;
    var previousSlidesGridLength = swiper.snapGrid.length;

    var spaceBetween = params.spaceBetween;
    var slidePosition = -offsetBefore;
    var prevSlideSize = 0;
    var index = 0;
    if (typeof swiperSize === 'undefined') {
      return;
    }
    if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
      spaceBetween = (parseFloat(spaceBetween.replace('%', '')) / 100) * swiperSize;
    }

    swiper.virtualSize = -spaceBetween;

    // reset margins
    if (rtl) { slides.css({ marginLeft: '', marginTop: '' }); }
    else { slides.css({ marginRight: '', marginBottom: '' }); }

    var slidesNumberEvenToRows;
    if (params.slidesPerColumn > 1) {
      if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {
        slidesNumberEvenToRows = slidesLength;
      } else {
        slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;
      }
      if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {
        slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);
      }
    }

    // Calc slides
    var slideSize;
    var slidesPerColumn = params.slidesPerColumn;
    var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;
    var numFullColumns = slidesPerRow - ((params.slidesPerColumn * slidesPerRow) - slidesLength);
    for (var i = 0; i < slidesLength; i += 1) {
      slideSize = 0;
      var slide = slides.eq(i);
      if (params.slidesPerColumn > 1) {
        // Set slides order
        var newSlideOrderIndex = (void 0);
        var column = (void 0);
        var row = (void 0);
        if (params.slidesPerColumnFill === 'column') {
          column = Math.floor(i / slidesPerColumn);
          row = i - (column * slidesPerColumn);
          if (column > numFullColumns || (column === numFullColumns && row === slidesPerColumn - 1)) {
            row += 1;
            if (row >= slidesPerColumn) {
              row = 0;
              column += 1;
            }
          }
          newSlideOrderIndex = column + ((row * slidesNumberEvenToRows) / slidesPerColumn);
          slide
            .css({
              '-webkit-box-ordinal-group': newSlideOrderIndex,
              '-moz-box-ordinal-group': newSlideOrderIndex,
              '-ms-flex-order': newSlideOrderIndex,
              '-webkit-order': newSlideOrderIndex,
              order: newSlideOrderIndex,
            });
        } else {
          row = Math.floor(i / slidesPerRow);
          column = i - (row * slidesPerRow);
        }
        slide
          .css(
            ("margin-" + (swiper.isHorizontal() ? 'top' : 'left')),
            (row !== 0 && params.spaceBetween) && (((params.spaceBetween) + "px"))
          )
          .attr('data-swiper-column', column)
          .attr('data-swiper-row', row);
      }
      if (slide.css('display') === 'none') { continue; } // eslint-disable-line

      if (params.slidesPerView === 'auto') {
        var slideStyles = win.getComputedStyle(slide[0], null);
        var currentTransform = slide[0].style.transform;
        var currentWebKitTransform = slide[0].style.webkitTransform;
        if (currentTransform) {
          slide[0].style.transform = 'none';
        }
        if (currentWebKitTransform) {
          slide[0].style.webkitTransform = 'none';
        }
        if (swiper.isHorizontal()) {
          slideSize = slide[0].getBoundingClientRect().width
            + parseFloat(slideStyles.getPropertyValue('margin-left'))
            + parseFloat(slideStyles.getPropertyValue('margin-right'));
        } else {
          slideSize = slide[0].getBoundingClientRect().height
            + parseFloat(slideStyles.getPropertyValue('margin-top'))
            + parseFloat(slideStyles.getPropertyValue('margin-bottom'));
        }
        if (currentTransform) {
          slide[0].style.transform = currentTransform;
        }
        if (currentWebKitTransform) {
          slide[0].style.webkitTransform = currentWebKitTransform;
        }
        if (params.roundLengths) { slideSize = Math.floor(slideSize); }
      } else {
        slideSize = (swiperSize - ((params.slidesPerView - 1) * spaceBetween)) / params.slidesPerView;
        if (params.roundLengths) { slideSize = Math.floor(slideSize); }

        if (slides[i]) {
          if (swiper.isHorizontal()) {
            slides[i].style.width = slideSize + "px";
          } else {
            slides[i].style.height = slideSize + "px";
          }
        }
      }
      if (slides[i]) {
        slides[i].swiperSlideSize = slideSize;
      }
      slidesSizesGrid.push(slideSize);


      if (params.centeredSlides) {
        slidePosition = slidePosition + (slideSize / 2) + (prevSlideSize / 2) + spaceBetween;
        if (prevSlideSize === 0 && i !== 0) { slidePosition = slidePosition - (swiperSize / 2) - spaceBetween; }
        if (i === 0) { slidePosition = slidePosition - (swiperSize / 2) - spaceBetween; }
        if (Math.abs(slidePosition) < 1 / 1000) { slidePosition = 0; }
        if (params.roundLengths) { slidePosition = Math.floor(slidePosition); }
        if ((index) % params.slidesPerGroup === 0) { snapGrid.push(slidePosition); }
        slidesGrid.push(slidePosition);
      } else {
        if (params.roundLengths) { slidePosition = Math.floor(slidePosition); }
        if ((index) % params.slidesPerGroup === 0) { snapGrid.push(slidePosition); }
        slidesGrid.push(slidePosition);
        slidePosition = slidePosition + slideSize + spaceBetween;
      }

      swiper.virtualSize += slideSize + spaceBetween;

      prevSlideSize = slideSize;

      index += 1;
    }
    swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
    var newSlidesGrid;

    if (
      rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {
      $wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") });
    }
    if (!Support.flexbox || params.setWrapperSize) {
      if (swiper.isHorizontal()) { $wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") }); }
      else { $wrapperEl.css({ height: ((swiper.virtualSize + params.spaceBetween) + "px") }); }
    }

    if (params.slidesPerColumn > 1) {
      swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;
      swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;
      if (swiper.isHorizontal()) { $wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") }); }
      else { $wrapperEl.css({ height: ((swiper.virtualSize + params.spaceBetween) + "px") }); }
      if (params.centeredSlides) {
        newSlidesGrid = [];
        for (var i$1 = 0; i$1 < snapGrid.length; i$1 += 1) {
          var slidesGridItem = snapGrid[i$1];
          if (params.roundLengths) { slidesGridItem = Math.floor(slidesGridItem); }
          if (snapGrid[i$1] < swiper.virtualSize + snapGrid[0]) { newSlidesGrid.push(slidesGridItem); }
        }
        snapGrid = newSlidesGrid;
      }
    }

    // Remove last grid elements depending on width
    if (!params.centeredSlides) {
      newSlidesGrid = [];
      for (var i$2 = 0; i$2 < snapGrid.length; i$2 += 1) {
        var slidesGridItem$1 = snapGrid[i$2];
        if (params.roundLengths) { slidesGridItem$1 = Math.floor(slidesGridItem$1); }
        if (snapGrid[i$2] <= swiper.virtualSize - swiperSize) {
          newSlidesGrid.push(slidesGridItem$1);
        }
      }
      snapGrid = newSlidesGrid;
      if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
        snapGrid.push(swiper.virtualSize - swiperSize);
      }
    }
    if (snapGrid.length === 0) { snapGrid = [0]; }

    if (params.spaceBetween !== 0) {
      if (swiper.isHorizontal()) {
        if (rtl) { slides.css({ marginLeft: (spaceBetween + "px") }); }
        else { slides.css({ marginRight: (spaceBetween + "px") }); }
      } else { slides.css({ marginBottom: (spaceBetween + "px") }); }
    }

    Utils.extend(swiper, {
      slides: slides,
      snapGrid: snapGrid,
      slidesGrid: slidesGrid,
      slidesSizesGrid: slidesSizesGrid,
    });

    if (slidesLength !== previousSlidesLength) {
      swiper.emit('slidesLengthChange');
    }
    if (snapGrid.length !== previousSnapGridLength) {
      if (swiper.params.watchOverflow) { swiper.checkOverflow(); }
      swiper.emit('snapGridLengthChange');
    }
    if (slidesGrid.length !== previousSlidesGridLength) {
      swiper.emit('slidesGridLengthChange');
    }

    if (params.watchSlidesProgress || params.watchSlidesVisibility) {
      swiper.updateSlidesOffset();
    }
  }

  function updateAutoHeight (speed) {
    var swiper = this;
    var activeSlides = [];
    var newHeight = 0;
    var i;
    if (typeof speed === 'number') {
      swiper.setTransition(speed);
    } else if (speed === true) {
      swiper.setTransition(swiper.params.speed);
    }
    // Find slides currently in view
    if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {
      for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {
        var index = swiper.activeIndex + i;
        if (index > swiper.slides.length) { break; }
        activeSlides.push(swiper.slides.eq(index)[0]);
      }
    } else {
      activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);
    }

    // Find new height from highest slide in view
    for (i = 0; i < activeSlides.length; i += 1) {
      if (typeof activeSlides[i] !== 'undefined') {
        var height = activeSlides[i].offsetHeight;
        newHeight = height > newHeight ? height : newHeight;
      }
    }

    // Update Height
    if (newHeight) { swiper.$wrapperEl.css('height', (newHeight + "px")); }
  }

  function updateSlidesOffset () {
    var swiper = this;
    var slides = swiper.slides;
    for (var i = 0; i < slides.length; i += 1) {
      slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;
    }
  }

  function updateSlidesProgress (translate) {
    if ( translate === void 0 ) translate = (this && this.translate) || 0;

    var swiper = this;
    var params = swiper.params;

    var slides = swiper.slides;
    var rtl = swiper.rtlTranslate;

    if (slides.length === 0) { return; }
    if (typeof slides[0].swiperSlideOffset === 'undefined') { swiper.updateSlidesOffset(); }

    var offsetCenter = -translate;
    if (rtl) { offsetCenter = translate; }

    // Visible Slides
    slides.removeClass(params.slideVisibleClass);

    for (var i = 0; i < slides.length; i += 1) {
      var slide = slides[i];
      var slideProgress = (
        (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0)) - slide.swiperSlideOffset
      ) / (slide.swiperSlideSize + params.spaceBetween);
      if (params.watchSlidesVisibility) {
        var slideBefore = -(offsetCenter - slide.swiperSlideOffset);
        var slideAfter = slideBefore + swiper.slidesSizesGrid[i];
        var isVisible = (slideBefore >= 0 && slideBefore < swiper.size)
                  || (slideAfter > 0 && slideAfter <= swiper.size)
                  || (slideBefore <= 0 && slideAfter >= swiper.size);
        if (isVisible) {
          slides.eq(i).addClass(params.slideVisibleClass);
        }
      }
      slide.progress = rtl ? -slideProgress : slideProgress;
    }
  }

  function updateProgress (translate) {
    if ( translate === void 0 ) translate = (this && this.translate) || 0;

    var swiper = this;
    var params = swiper.params;

    var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
    var progress = swiper.progress;
    var isBeginning = swiper.isBeginning;
    var isEnd = swiper.isEnd;
    var wasBeginning = isBeginning;
    var wasEnd = isEnd;
    if (translatesDiff === 0) {
      progress = 0;
      isBeginning = true;
      isEnd = true;
    } else {
      progress = (translate - swiper.minTranslate()) / (translatesDiff);
      isBeginning = progress <= 0;
      isEnd = progress >= 1;
    }
    Utils.extend(swiper, {
      progress: progress,
      isBeginning: isBeginning,
      isEnd: isEnd,
    });

    if (params.watchSlidesProgress || params.watchSlidesVisibility) { swiper.updateSlidesProgress(translate); }

    if (isBeginning && !wasBeginning) {
      swiper.emit('reachBeginning toEdge');
    }
    if (isEnd && !wasEnd) {
      swiper.emit('reachEnd toEdge');
    }
    if ((wasBeginning && !isBeginning) || (wasEnd && !isEnd)) {
      swiper.emit('fromEdge');
    }

    swiper.emit('progress', progress);
  }

  function updateSlidesClasses () {
    var swiper = this;

    var slides = swiper.slides;
    var params = swiper.params;
    var $wrapperEl = swiper.$wrapperEl;
    var activeIndex = swiper.activeIndex;
    var realIndex = swiper.realIndex;
    var isVirtual = swiper.virtual && params.virtual.enabled;

    slides.removeClass(((params.slideActiveClass) + " " + (params.slideNextClass) + " " + (params.slidePrevClass) + " " + (params.slideDuplicateActiveClass) + " " + (params.slideDuplicateNextClass) + " " + (params.slideDuplicatePrevClass)));

    var activeSlide;
    if (isVirtual) {
      activeSlide = swiper.$wrapperEl.find(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + activeIndex + "\"]"));
    } else {
      activeSlide = slides.eq(activeIndex);
    }

    // Active classes
    activeSlide.addClass(params.slideActiveClass);

    if (params.loop) {
      // Duplicate to all looped slides
      if (activeSlide.hasClass(params.slideDuplicateClass)) {
        $wrapperEl
          .children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + realIndex + "\"]"))
          .addClass(params.slideDuplicateActiveClass);
      } else {
        $wrapperEl
          .children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]"))
          .addClass(params.slideDuplicateActiveClass);
      }
    }
    // Next Slide
    var nextSlide = activeSlide.nextAll(("." + (params.slideClass))).eq(0).addClass(params.slideNextClass);
    if (params.loop && nextSlide.length === 0) {
      nextSlide = slides.eq(0);
      nextSlide.addClass(params.slideNextClass);
    }
    // Prev Slide
    var prevSlide = activeSlide.prevAll(("." + (params.slideClass))).eq(0).addClass(params.slidePrevClass);
    if (params.loop && prevSlide.length === 0) {
      prevSlide = slides.eq(-1);
      prevSlide.addClass(params.slidePrevClass);
    }
    if (params.loop) {
      // Duplicate to all looped slides
      if (nextSlide.hasClass(params.slideDuplicateClass)) {
        $wrapperEl
          .children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + (nextSlide.attr('data-swiper-slide-index')) + "\"]"))
          .addClass(params.slideDuplicateNextClass);
      } else {
        $wrapperEl
          .children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + (nextSlide.attr('data-swiper-slide-index')) + "\"]"))
          .addClass(params.slideDuplicateNextClass);
      }
      if (prevSlide.hasClass(params.slideDuplicateClass)) {
        $wrapperEl
          .children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + (prevSlide.attr('data-swiper-slide-index')) + "\"]"))
          .addClass(params.slideDuplicatePrevClass);
      } else {
        $wrapperEl
          .children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + (prevSlide.attr('data-swiper-slide-index')) + "\"]"))
          .addClass(params.slideDuplicatePrevClass);
      }
    }
  }

  function updateActiveIndex (newActiveIndex) {
    var swiper = this;
    var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
    var slidesGrid = swiper.slidesGrid;
    var snapGrid = swiper.snapGrid;
    var params = swiper.params;
    var previousIndex = swiper.activeIndex;
    var previousRealIndex = swiper.realIndex;
    var previousSnapIndex = swiper.snapIndex;
    var activeIndex = newActiveIndex;
    var snapIndex;
    if (typeof activeIndex === 'undefined') {
      for (var i = 0; i < slidesGrid.length; i += 1) {
        if (typeof slidesGrid[i + 1] !== 'undefined') {
          if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - ((slidesGrid[i + 1] - slidesGrid[i]) / 2)) {
            activeIndex = i;
          } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {
            activeIndex = i + 1;
          }
        } else if (translate >= slidesGrid[i]) {
          activeIndex = i;
        }
      }
      // Normalize slideIndex
      if (params.normalizeSlideIndex) {
        if (activeIndex < 0 || typeof activeIndex === 'undefined') { activeIndex = 0; }
      }
    }
    if (snapGrid.indexOf(translate) >= 0) {
      snapIndex = snapGrid.indexOf(translate);
    } else {
      snapIndex = Math.floor(activeIndex / params.slidesPerGroup);
    }
    if (snapIndex >= snapGrid.length) { snapIndex = snapGrid.length - 1; }
    if (activeIndex === previousIndex) {
      if (snapIndex !== previousSnapIndex) {
        swiper.snapIndex = snapIndex;
        swiper.emit('snapIndexChange');
      }
      return;
    }

    // Get real index
    var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);

    Utils.extend(swiper, {
      snapIndex: snapIndex,
      realIndex: realIndex,
      previousIndex: previousIndex,
      activeIndex: activeIndex,
    });
    swiper.emit('activeIndexChange');
    swiper.emit('snapIndexChange');
    if (previousRealIndex !== realIndex) {
      swiper.emit('realIndexChange');
    }
    swiper.emit('slideChange');
  }

  function updateClickedSlide (e) {
    var swiper = this;
    var params = swiper.params;
    var slide = $(e.target).closest(("." + (params.slideClass)))[0];
    var slideFound = false;
    if (slide) {
      for (var i = 0; i < swiper.slides.length; i += 1) {
        if (swiper.slides[i] === slide) { slideFound = true; }
      }
    }

    if (slide && slideFound) {
      swiper.clickedSlide = slide;
      if (swiper.virtual && swiper.params.virtual.enabled) {
        swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);
      } else {
        swiper.clickedIndex = $(slide).index();
      }
    } else {
      swiper.clickedSlide = undefined;
      swiper.clickedIndex = undefined;
      return;
    }
    if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {
      swiper.slideToClickedSlide();
    }
  }

  var update = {
    updateSize: updateSize,
    updateSlides: updateSlides,
    updateAutoHeight: updateAutoHeight,
    updateSlidesOffset: updateSlidesOffset,
    updateSlidesProgress: updateSlidesProgress,
    updateProgress: updateProgress,
    updateSlidesClasses: updateSlidesClasses,
    updateActiveIndex: updateActiveIndex,
    updateClickedSlide: updateClickedSlide,
  };

  function getTranslate (axis) {
    if ( axis === void 0 ) axis = this.isHorizontal() ? 'x' : 'y';

    var swiper = this;

    var params = swiper.params;
    var rtl = swiper.rtlTranslate;
    var translate = swiper.translate;
    var $wrapperEl = swiper.$wrapperEl;

    if (params.virtualTranslate) {
      return rtl ? -translate : translate;
    }

    var currentTranslate = Utils.getTranslate($wrapperEl[0], axis);
    if (rtl) { currentTranslate = -currentTranslate; }

    return currentTranslate || 0;
  }

  function setTranslate (translate, byController) {
    var swiper = this;
    var rtl = swiper.rtlTranslate;
    var params = swiper.params;
    var $wrapperEl = swiper.$wrapperEl;
    var progress = swiper.progress;
    var x = 0;
    var y = 0;
    var z = 0;

    if (swiper.isHorizontal()) {
      x = rtl ? -translate : translate;
    } else {
      y = translate;
    }

    if (params.roundLengths) {
      x = Math.floor(x);
      y = Math.floor(y);
    }

    if (!params.virtualTranslate) {
      if (Support.transforms3d) { $wrapperEl.transform(("translate3d(" + x + "px, " + y + "px, " + z + "px)")); }
      else { $wrapperEl.transform(("translate(" + x + "px, " + y + "px)")); }
    }
    swiper.previousTranslate = swiper.translate;
    swiper.translate = swiper.isHorizontal() ? x : y;

    // Check if we need to update progress
    var newProgress;
    var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
    if (translatesDiff === 0) {
      newProgress = 0;
    } else {
      newProgress = (translate - swiper.minTranslate()) / (translatesDiff);
    }
    if (newProgress !== progress) {
      swiper.updateProgress(translate);
    }

    swiper.emit('setTranslate', swiper.translate, byController);
  }

  function minTranslate () {
    return (-this.snapGrid[0]);
  }

  function maxTranslate () {
    return (-this.snapGrid[this.snapGrid.length - 1]);
  }

  var translate = {
    getTranslate: getTranslate,
    setTranslate: setTranslate,
    minTranslate: minTranslate,
    maxTranslate: maxTranslate,
  };

  function setTransition (duration, byController) {
    var swiper = this;

    swiper.$wrapperEl.transition(duration);

    swiper.emit('setTransition', duration, byController);
  }

  function transitionStart (runCallbacks, direction) {
    if ( runCallbacks === void 0 ) runCallbacks = true;

    var swiper = this;
    var activeIndex = swiper.activeIndex;
    var params = swiper.params;
    var previousIndex = swiper.previousIndex;
    if (params.autoHeight) {
      swiper.updateAutoHeight();
    }

    var dir = direction;
    if (!dir) {
      if (activeIndex > previousIndex) { dir = 'next'; }
      else if (activeIndex < previousIndex) { dir = 'prev'; }
      else { dir = 'reset'; }
    }

    swiper.emit('transitionStart');

    if (runCallbacks && activeIndex !== previousIndex) {
      if (dir === 'reset') {
        swiper.emit('slideResetTransitionStart');
        return;
      }
      swiper.emit('slideChangeTransitionStart');
      if (dir === 'next') {
        swiper.emit('slideNextTransitionStart');
      } else {
        swiper.emit('slidePrevTransitionStart');
      }
    }
  }

  function transitionEnd$1 (runCallbacks, direction) {
    if ( runCallbacks === void 0 ) runCallbacks = true;

    var swiper = this;
    var activeIndex = swiper.activeIndex;
    var previousIndex = swiper.previousIndex;
    swiper.animating = false;
    swiper.setTransition(0);

    var dir = direction;
    if (!dir) {
      if (activeIndex > previousIndex) { dir = 'next'; }
      else if (activeIndex < previousIndex) { dir = 'prev'; }
      else { dir = 'reset'; }
    }

    swiper.emit('transitionEnd');

    if (runCallbacks && activeIndex !== previousIndex) {
      if (dir === 'reset') {
        swiper.emit('slideResetTransitionEnd');
        return;
      }
      swiper.emit('slideChangeTransitionEnd');
      if (dir === 'next') {
        swiper.emit('slideNextTransitionEnd');
      } else {
        swiper.emit('slidePrevTransitionEnd');
      }
    }
  }

  var transition$1 = {
    setTransition: setTransition,
    transitionStart: transitionStart,
    transitionEnd: transitionEnd$1,
  };

  function slideTo (index, speed, runCallbacks, internal) {
    if ( index === void 0 ) index = 0;
    if ( speed === void 0 ) speed = this.params.speed;
    if ( runCallbacks === void 0 ) runCallbacks = true;

    var swiper = this;
    var slideIndex = index;
    if (slideIndex < 0) { slideIndex = 0; }

    var params = swiper.params;
    var snapGrid = swiper.snapGrid;
    var slidesGrid = swiper.slidesGrid;
    var previousIndex = swiper.previousIndex;
    var activeIndex = swiper.activeIndex;
    var rtl = swiper.rtlTranslate;
    if (swiper.animating && params.preventInteractionOnTransition) {
      return false;
    }

    var snapIndex = Math.floor(slideIndex / params.slidesPerGroup);
    if (snapIndex >= snapGrid.length) { snapIndex = snapGrid.length - 1; }

    if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {
      swiper.emit('beforeSlideChangeStart');
    }

    var translate = -snapGrid[snapIndex];

    // Update progress
    swiper.updateProgress(translate);

    // Normalize slideIndex
    if (params.normalizeSlideIndex) {
      for (var i = 0; i < slidesGrid.length; i += 1) {
        if (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) {
          slideIndex = i;
        }
      }
    }
    // Directions locks
    if (swiper.initialized && slideIndex !== activeIndex) {
      if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {
        return false;
      }
      if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {
        if ((activeIndex || 0) !== slideIndex) { return false; }
      }
    }

    var direction;
    if (slideIndex > activeIndex) { direction = 'next'; }
    else if (slideIndex < activeIndex) { direction = 'prev'; }
    else { direction = 'reset'; }


    // Update Index
    if ((rtl && -translate === swiper.translate) || (!rtl && translate === swiper.translate)) {
      swiper.updateActiveIndex(slideIndex);
      // Update Height
      if (params.autoHeight) {
        swiper.updateAutoHeight();
      }
      swiper.updateSlidesClasses();
      if (params.effect !== 'slide') {
        swiper.setTranslate(translate);
      }
      if (direction !== 'reset') {
        swiper.transitionStart(runCallbacks, direction);
        swiper.transitionEnd(runCallbacks, direction);
      }
      return false;
    }

    if (speed === 0 || !Support.transition) {
      swiper.setTransition(0);
      swiper.setTranslate(translate);
      swiper.updateActiveIndex(slideIndex);
      swiper.updateSlidesClasses();
      swiper.emit('beforeTransitionStart', speed, internal);
      swiper.transitionStart(runCallbacks, direction);
      swiper.transitionEnd(runCallbacks, direction);
    } else {
      swiper.setTransition(speed);
      swiper.setTranslate(translate);
      swiper.updateActiveIndex(slideIndex);
      swiper.updateSlidesClasses();
      swiper.emit('beforeTransitionStart', speed, internal);
      swiper.transitionStart(runCallbacks, direction);
      if (!swiper.animating) {
        swiper.animating = true;
        if (!swiper.onSlideToWrapperTransitionEnd) {
          swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {
            if (!swiper || swiper.destroyed) { return; }
            if (e.target !== this) { return; }
            swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
            swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
            swiper.onSlideToWrapperTransitionEnd = null;
            delete swiper.onSlideToWrapperTransitionEnd;
            swiper.transitionEnd(runCallbacks, direction);
          };
        }
        swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
        swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
      }
    }

    return true;
  }

  function slideToLoop (index, speed, runCallbacks, internal) {
    if ( index === void 0 ) index = 0;
    if ( speed === void 0 ) speed = this.params.speed;
    if ( runCallbacks === void 0 ) runCallbacks = true;

    var swiper = this;
    var newIndex = index;
    if (swiper.params.loop) {
      newIndex += swiper.loopedSlides;
    }

    return swiper.slideTo(newIndex, speed, runCallbacks, internal);
  }

  /* eslint no-unused-vars: "off" */
  function slideNext (speed, runCallbacks, internal) {
    if ( speed === void 0 ) speed = this.params.speed;
    if ( runCallbacks === void 0 ) runCallbacks = true;

    var swiper = this;
    var params = swiper.params;
    var animating = swiper.animating;
    if (params.loop) {
      if (animating) { return false; }
      swiper.loopFix();
      // eslint-disable-next-line
      swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
      return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);
    }
    return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);
  }

  /* eslint no-unused-vars: "off" */
  function slidePrev (speed, runCallbacks, internal) {
    if ( speed === void 0 ) speed = this.params.speed;
    if ( runCallbacks === void 0 ) runCallbacks = true;

    var swiper = this;
    var params = swiper.params;
    var animating = swiper.animating;
    var snapGrid = swiper.snapGrid;
    var slidesGrid = swiper.slidesGrid;
    var rtlTranslate = swiper.rtlTranslate;

    if (params.loop) {
      if (animating) { return false; }
      swiper.loopFix();
      // eslint-disable-next-line
      swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
    }
    var translate = rtlTranslate ? swiper.translate : -swiper.translate;
    function normalize(val) {
      if (val < 0) { return -Math.floor(Math.abs(val)); }
      return Math.floor(val);
    }
    var normalizedTranslate = normalize(translate);
    var normalizedSnapGrid = snapGrid.map(function (val) { return normalize(val); });
    var normalizedSlidesGrid = slidesGrid.map(function (val) { return normalize(val); });

    var currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];
    var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
    var prevIndex;
    if (typeof prevSnap !== 'undefined') {
      prevIndex = slidesGrid.indexOf(prevSnap);
      if (prevIndex < 0) { prevIndex = swiper.activeIndex - 1; }
    }
    return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
  }

  /* eslint no-unused-vars: "off" */
  function slideReset (speed, runCallbacks, internal) {
    if ( speed === void 0 ) speed = this.params.speed;
    if ( runCallbacks === void 0 ) runCallbacks = true;

    var swiper = this;
    return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
  }

  /* eslint no-unused-vars: "off" */
  function slideToClosest (speed, runCallbacks, internal) {
    if ( speed === void 0 ) speed = this.params.speed;
    if ( runCallbacks === void 0 ) runCallbacks = true;

    var swiper = this;
    var index = swiper.activeIndex;
    var snapIndex = Math.floor(index / swiper.params.slidesPerGroup);

    if (snapIndex < swiper.snapGrid.length - 1) {
      var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;

      var currentSnap = swiper.snapGrid[snapIndex];
      var nextSnap = swiper.snapGrid[snapIndex + 1];

      if ((translate - currentSnap) > (nextSnap - currentSnap) / 2) {
        index = swiper.params.slidesPerGroup;
      }
    }

    return swiper.slideTo(index, speed, runCallbacks, internal);
  }

  function slideToClickedSlide () {
    var swiper = this;
    var params = swiper.params;
    var $wrapperEl = swiper.$wrapperEl;

    var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
    var slideToIndex = swiper.clickedIndex;
    var realIndex;
    if (params.loop) {
      if (swiper.animating) { return; }
      realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);
      if (params.centeredSlides) {
        if (
          (slideToIndex < swiper.loopedSlides - (slidesPerView / 2))
          || (slideToIndex > (swiper.slides.length - swiper.loopedSlides) + (slidesPerView / 2))
        ) {
          swiper.loopFix();
          slideToIndex = $wrapperEl
            .children(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + (params.slideDuplicateClass) + ")"))
            .eq(0)
            .index();

          Utils.nextTick(function () {
            swiper.slideTo(slideToIndex);
          });
        } else {
          swiper.slideTo(slideToIndex);
        }
      } else if (slideToIndex > swiper.slides.length - slidesPerView) {
        swiper.loopFix();
        slideToIndex = $wrapperEl
          .children(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + (params.slideDuplicateClass) + ")"))
          .eq(0)
          .index();

        Utils.nextTick(function () {
          swiper.slideTo(slideToIndex);
        });
      } else {
        swiper.slideTo(slideToIndex);
      }
    } else {
      swiper.slideTo(slideToIndex);
    }
  }

  var slide = {
    slideTo: slideTo,
    slideToLoop: slideToLoop,
    slideNext: slideNext,
    slidePrev: slidePrev,
    slideReset: slideReset,
    slideToClosest: slideToClosest,
    slideToClickedSlide: slideToClickedSlide,
  };

  function loopCreate () {
    var swiper = this;
    var params = swiper.params;
    var $wrapperEl = swiper.$wrapperEl;
    // Remove duplicated slides
    $wrapperEl.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass))).remove();

    var slides = $wrapperEl.children(("." + (params.slideClass)));

    if (params.loopFillGroupWithBlank) {
      var blankSlidesNum = params.slidesPerGroup - (slides.length % params.slidesPerGroup);
      if (blankSlidesNum !== params.slidesPerGroup) {
        for (var i = 0; i < blankSlidesNum; i += 1) {
          var blankNode = $(doc.createElement('div')).addClass(((params.slideClass) + " " + (params.slideBlankClass)));
          $wrapperEl.append(blankNode);
        }
        slides = $wrapperEl.children(("." + (params.slideClass)));
      }
    }

    if (params.slidesPerView === 'auto' && !params.loopedSlides) { params.loopedSlides = slides.length; }

    swiper.loopedSlides = parseInt(params.loopedSlides || params.slidesPerView, 10);
    swiper.loopedSlides += params.loopAdditionalSlides;
    if (swiper.loopedSlides > slides.length) {
      swiper.loopedSlides = slides.length;
    }

    var prependSlides = [];
    var appendSlides = [];
    slides.each(function (index, el) {
      var slide = $(el);
      if (index < swiper.loopedSlides) { appendSlides.push(el); }
      if (index < slides.length && index >= slides.length - swiper.loopedSlides) { prependSlides.push(el); }
      slide.attr('data-swiper-slide-index', index);
    });
    for (var i$1 = 0; i$1 < appendSlides.length; i$1 += 1) {
      $wrapperEl.append($(appendSlides[i$1].cloneNode(true)).addClass(params.slideDuplicateClass));
    }
    for (var i$2 = prependSlides.length - 1; i$2 >= 0; i$2 -= 1) {
      $wrapperEl.prepend($(prependSlides[i$2].cloneNode(true)).addClass(params.slideDuplicateClass));
    }
  }

  function loopFix () {
    var swiper = this;
    var params = swiper.params;
    var activeIndex = swiper.activeIndex;
    var slides = swiper.slides;
    var loopedSlides = swiper.loopedSlides;
    var allowSlidePrev = swiper.allowSlidePrev;
    var allowSlideNext = swiper.allowSlideNext;
    var snapGrid = swiper.snapGrid;
    var rtl = swiper.rtlTranslate;
    var newIndex;
    swiper.allowSlidePrev = true;
    swiper.allowSlideNext = true;

    var snapTranslate = -snapGrid[activeIndex];
    var diff = snapTranslate - swiper.getTranslate();


    // Fix For Negative Oversliding
    if (activeIndex < loopedSlides) {
      newIndex = (slides.length - (loopedSlides * 3)) + activeIndex;
      newIndex += loopedSlides;
      var slideChanged = swiper.slideTo(newIndex, 0, false, true);
      if (slideChanged && diff !== 0) {
        swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);
      }
    } else if ((params.slidesPerView === 'auto' && activeIndex >= loopedSlides * 2) || (activeIndex >= slides.length - loopedSlides)) {
      // Fix For Positive Oversliding
      newIndex = -slides.length + activeIndex + loopedSlides;
      newIndex += loopedSlides;
      var slideChanged$1 = swiper.slideTo(newIndex, 0, false, true);
      if (slideChanged$1 && diff !== 0) {
        swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);
      }
    }
    swiper.allowSlidePrev = allowSlidePrev;
    swiper.allowSlideNext = allowSlideNext;
  }

  function loopDestroy () {
    var swiper = this;
    var $wrapperEl = swiper.$wrapperEl;
    var params = swiper.params;
    var slides = swiper.slides;
    $wrapperEl.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass))).remove();
    slides.removeAttr('data-swiper-slide-index');
  }

  var loop = {
    loopCreate: loopCreate,
    loopFix: loopFix,
    loopDestroy: loopDestroy,
  };

  function setGrabCursor (moving) {
    var swiper = this;
    if (Support.touch || !swiper.params.simulateTouch || (swiper.params.watchOverflow && swiper.isLocked)) { return; }
    var el = swiper.el;
    el.style.cursor = 'move';
    el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';
    el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';
    el.style.cursor = moving ? 'grabbing' : 'grab';
  }

  function unsetGrabCursor () {
    var swiper = this;
    if (Support.touch || (swiper.params.watchOverflow && swiper.isLocked)) { return; }
    swiper.el.style.cursor = '';
  }

  var grabCursor = {
    setGrabCursor: setGrabCursor,
    unsetGrabCursor: unsetGrabCursor,
  };

  function appendSlide (slides) {
    var swiper = this;
    var $wrapperEl = swiper.$wrapperEl;
    var params = swiper.params;
    if (params.loop) {
      swiper.loopDestroy();
    }
    if (typeof slides === 'object' && 'length' in slides) {
      for (var i = 0; i < slides.length; i += 1) {
        if (slides[i]) { $wrapperEl.append(slides[i]); }
      }
    } else {
      $wrapperEl.append(slides);
    }
    if (params.loop) {
      swiper.loopCreate();
    }
    if (!(params.observer && Support.observer)) {
      swiper.update();
    }
  }

  function prependSlide (slides) {
    var swiper = this;
    var params = swiper.params;
    var $wrapperEl = swiper.$wrapperEl;
    var activeIndex = swiper.activeIndex;

    if (params.loop) {
      swiper.loopDestroy();
    }
    var newActiveIndex = activeIndex + 1;
    if (typeof slides === 'object' && 'length' in slides) {
      for (var i = 0; i < slides.length; i += 1) {
        if (slides[i]) { $wrapperEl.prepend(slides[i]); }
      }
      newActiveIndex = activeIndex + slides.length;
    } else {
      $wrapperEl.prepend(slides);
    }
    if (params.loop) {
      swiper.loopCreate();
    }
    if (!(params.observer && Support.observer)) {
      swiper.update();
    }
    swiper.slideTo(newActiveIndex, 0, false);
  }

  function addSlide (index, slides) {
    var swiper = this;
    var $wrapperEl = swiper.$wrapperEl;
    var params = swiper.params;
    var activeIndex = swiper.activeIndex;
    var activeIndexBuffer = activeIndex;
    if (params.loop) {
      activeIndexBuffer -= swiper.loopedSlides;
      swiper.loopDestroy();
      swiper.slides = $wrapperEl.children(("." + (params.slideClass)));
    }
    var baseLength = swiper.slides.length;
    if (index <= 0) {
      swiper.prependSlide(slides);
      return;
    }
    if (index >= baseLength) {
      swiper.appendSlide(slides);
      return;
    }
    var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;

    var slidesBuffer = [];
    for (var i = baseLength - 1; i >= index; i -= 1) {
      var currentSlide = swiper.slides.eq(i);
      currentSlide.remove();
      slidesBuffer.unshift(currentSlide);
    }

    if (typeof slides === 'object' && 'length' in slides) {
      for (var i$1 = 0; i$1 < slides.length; i$1 += 1) {
        if (slides[i$1]) { $wrapperEl.append(slides[i$1]); }
      }
      newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;
    } else {
      $wrapperEl.append(slides);
    }

    for (var i$2 = 0; i$2 < slidesBuffer.length; i$2 += 1) {
      $wrapperEl.append(slidesBuffer[i$2]);
    }

    if (params.loop) {
      swiper.loopCreate();
    }
    if (!(params.observer && Support.observer)) {
      swiper.update();
    }
    if (params.loop) {
      swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
    } else {
      swiper.slideTo(newActiveIndex, 0, false);
    }
  }

  function removeSlide (slidesIndexes) {
    var swiper = this;
    var params = swiper.params;
    var $wrapperEl = swiper.$wrapperEl;
    var activeIndex = swiper.activeIndex;

    var activeIndexBuffer = activeIndex;
    if (params.loop) {
      activeIndexBuffer -= swiper.loopedSlides;
      swiper.loopDestroy();
      swiper.slides = $wrapperEl.children(("." + (params.slideClass)));
    }
    var newActiveIndex = activeIndexBuffer;
    var indexToRemove;

    if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {
      for (var i = 0; i < slidesIndexes.length; i += 1) {
        indexToRemove = slidesIndexes[i];
        if (swiper.slides[indexToRemove]) { swiper.slides.eq(indexToRemove).remove(); }
        if (indexToRemove < newActiveIndex) { newActiveIndex -= 1; }
      }
      newActiveIndex = Math.max(newActiveIndex, 0);
    } else {
      indexToRemove = slidesIndexes;
      if (swiper.slides[indexToRemove]) { swiper.slides.eq(indexToRemove).remove(); }
      if (indexToRemove < newActiveIndex) { newActiveIndex -= 1; }
      newActiveIndex = Math.max(newActiveIndex, 0);
    }

    if (params.loop) {
      swiper.loopCreate();
    }

    if (!(params.observer && Support.observer)) {
      swiper.update();
    }
    if (params.loop) {
      swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
    } else {
      swiper.slideTo(newActiveIndex, 0, false);
    }
  }

  function removeAllSlides () {
    var swiper = this;

    var slidesIndexes = [];
    for (var i = 0; i < swiper.slides.length; i += 1) {
      slidesIndexes.push(i);
    }
    swiper.removeSlide(slidesIndexes);
  }

  var manipulation = {
    appendSlide: appendSlide,
    prependSlide: prependSlide,
    addSlide: addSlide,
    removeSlide: removeSlide,
    removeAllSlides: removeAllSlides,
  };

  var Device = (function Device() {
    var ua = win.navigator.userAgent;

    var device = {
      ios: false,
      android: false,
      androidChrome: false,
      desktop: false,
      windows: false,
      iphone: false,
      ipod: false,
      ipad: false,
      cordova: win.cordova || win.phonegap,
      phonegap: win.cordova || win.phonegap,
    };

    var windows = ua.match(/(Windows Phone);?[\s\/]+([\d.]+)?/); // eslint-disable-line
    var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
    var ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
    var ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
    var iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);


    // Windows
    if (windows) {
      device.os = 'windows';
      device.osVersion = windows[2];
      device.windows = true;
    }
    // Android
    if (android && !windows) {
      device.os = 'android';
      device.osVersion = android[2];
      device.android = true;
      device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;
    }
    if (ipad || iphone || ipod) {
      device.os = 'ios';
      device.ios = true;
    }
    // iOS
    if (iphone && !ipod) {
      device.osVersion = iphone[2].replace(/_/g, '.');
      device.iphone = true;
    }
    if (ipad) {
      device.osVersion = ipad[2].replace(/_/g, '.');
      device.ipad = true;
    }
    if (ipod) {
      device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;
      device.iphone = true;
    }
    // iOS 8+ changed UA
    if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {
      if (device.osVersion.split('.')[0] === '10') {
        device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];
      }
    }

    // Desktop
    device.desktop = !(device.os || device.android || device.webView);

    // Webview
    device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i);

    // Minimal UI
    if (device.os && device.os === 'ios') {
      var osVersionArr = device.osVersion.split('.');
      var metaViewport = doc.querySelector('meta[name="viewport"]');
      device.minimalUi = !device.webView
        && (ipod || iphone)
        && (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7)
        && metaViewport && metaViewport.getAttribute('content').indexOf('minimal-ui') >= 0;
    }

    // Pixel Ratio
    device.pixelRatio = win.devicePixelRatio || 1;

    // Export object
    return device;
  }());

  function onTouchStart (event) {
    var swiper = this;
    var data = swiper.touchEventsData;
    var params = swiper.params;
    var touches = swiper.touches;
    if (swiper.animating && params.preventInteractionOnTransition) {
      return;
    }
    var e = event;
    if (e.originalEvent) { e = e.originalEvent; }
    data.isTouchEvent = e.type === 'touchstart';
    if (!data.isTouchEvent && 'which' in e && e.which === 3) { return; }
    if (data.isTouched && data.isMoved) { return; }
    if (params.noSwiping && $(e.target).closest(params.noSwipingSelector ? params.noSwipingSelector : ("." + (params.noSwipingClass)))[0]) {
      swiper.allowClick = true;
      return;
    }
    if (params.swipeHandler) {
      if (!$(e).closest(params.swipeHandler)[0]) { return; }
    }

    touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
    touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
    var startX = touches.currentX;
    var startY = touches.currentY;

    // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore

    var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;
    var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;
    if (
      edgeSwipeDetection
      && ((startX <= edgeSwipeThreshold)
      || (startX >= win.screen.width - edgeSwipeThreshold))
    ) {
      return;
    }

    Utils.extend(data, {
      isTouched: true,
      isMoved: false,
      allowTouchCallbacks: true,
      isScrolling: undefined,
      startMoving: undefined,
    });

    touches.startX = startX;
    touches.startY = startY;
    data.touchStartTime = Utils.now();
    swiper.allowClick = true;
    swiper.updateSize();
    swiper.swipeDirection = undefined;
    if (params.threshold > 0) { data.allowThresholdMove = false; }
    if (e.type !== 'touchstart') {
      var preventDefault = true;
      if ($(e.target).is(data.formElements)) { preventDefault = false; }
      if (
        doc.activeElement
        && $(doc.activeElement).is(data.formElements)
        && doc.activeElement !== e.target
      ) {
        doc.activeElement.blur();
      }
      if (preventDefault && swiper.allowTouchMove) {
        e.preventDefault();
      }
    }
    swiper.emit('touchStart', e);
  }

  function onTouchMove (event) {
    var swiper = this;
    var data = swiper.touchEventsData;
    var params = swiper.params;
    var touches = swiper.touches;
    var rtl = swiper.rtlTranslate;
    var e = event;
    if (e.originalEvent) { e = e.originalEvent; }
    if (!data.isTouched) {
      if (data.startMoving && data.isScrolling) {
        swiper.emit('touchMoveOpposite', e);
      }
      return;
    }
    if (data.isTouchEvent && e.type === 'mousemove') { return; }
    var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;
    var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;
    if (e.preventedByNestedSwiper) {
      touches.startX = pageX;
      touches.startY = pageY;
      return;
    }
    if (!swiper.allowTouchMove) {
      // isMoved = true;
      swiper.allowClick = false;
      if (data.isTouched) {
        Utils.extend(touches, {
          startX: pageX,
          startY: pageY,
          currentX: pageX,
          currentY: pageY,
        });
        data.touchStartTime = Utils.now();
      }
      return;
    }
    if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {
      if (swiper.isVertical()) {
        // Vertical
        if (
          (pageY < touches.startY && swiper.translate <= swiper.maxTranslate())
          || (pageY > touches.startY && swiper.translate >= swiper.minTranslate())
        ) {
          data.isTouched = false;
          data.isMoved = false;
          return;
        }
      } else if (
        (pageX < touches.startX && swiper.translate <= swiper.maxTranslate())
        || (pageX > touches.startX && swiper.translate >= swiper.minTranslate())
      ) {
        return;
      }
    }
    if (data.isTouchEvent && doc.activeElement) {
      if (e.target === doc.activeElement && $(e.target).is(data.formElements)) {
        data.isMoved = true;
        swiper.allowClick = false;
        return;
      }
    }
    if (data.allowTouchCallbacks) {
      swiper.emit('touchMove', e);
    }
    if (e.targetTouches && e.targetTouches.length > 1) { return; }

    touches.currentX = pageX;
    touches.currentY = pageY;

    var diffX = touches.currentX - touches.startX;
    var diffY = touches.currentY - touches.startY;
    if (swiper.params.threshold && Math.sqrt((Math.pow( diffX, 2 )) + (Math.pow( diffY, 2 ))) < swiper.params.threshold) { return; }

    if (typeof data.isScrolling === 'undefined') {
      var touchAngle;
      if ((swiper.isHorizontal() && touches.currentY === touches.startY) || (swiper.isVertical() && touches.currentX === touches.startX)) {
        data.isScrolling = false;
      } else {
        // eslint-disable-next-line
        if ((diffX * diffX) + (diffY * diffY) >= 25) {
          touchAngle = (Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180) / Math.PI;
          data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : (90 - touchAngle > params.touchAngle);
        }
      }
    }
    if (data.isScrolling) {
      swiper.emit('touchMoveOpposite', e);
    }
    if (typeof data.startMoving === 'undefined') {
      if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {
        data.startMoving = true;
      }
    }
    if (data.isScrolling) {
      data.isTouched = false;
      return;
    }
    if (!data.startMoving) {
      return;
    }
    swiper.allowClick = false;
    e.preventDefault();
    if (params.touchMoveStopPropagation && !params.nested) {
      e.stopPropagation();
    }

    if (!data.isMoved) {
      if (params.loop) {
        swiper.loopFix();
      }
      data.startTranslate = swiper.getTranslate();
      swiper.setTransition(0);
      if (swiper.animating) {
        swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');
      }
      data.allowMomentumBounce = false;
      // Grab Cursor
      if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
        swiper.setGrabCursor(true);
      }
      swiper.emit('sliderFirstMove', e);
    }
    swiper.emit('sliderMove', e);
    data.isMoved = true;

    var diff = swiper.isHorizontal() ? diffX : diffY;
    touches.diff = diff;

    diff *= params.touchRatio;
    if (rtl) { diff = -diff; }

    swiper.swipeDirection = diff > 0 ? 'prev' : 'next';
    data.currentTranslate = diff + data.startTranslate;

    var disableParentSwiper = true;
    var resistanceRatio = params.resistanceRatio;
    if (params.touchReleaseOnEdges) {
      resistanceRatio = 0;
    }
    if ((diff > 0 && data.currentTranslate > swiper.minTranslate())) {
      disableParentSwiper = false;
      if (params.resistance) { data.currentTranslate = (swiper.minTranslate() - 1) + (Math.pow( (-swiper.minTranslate() + data.startTranslate + diff), resistanceRatio )); }
    } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {
      disableParentSwiper = false;
      if (params.resistance) { data.currentTranslate = (swiper.maxTranslate() + 1) - (Math.pow( (swiper.maxTranslate() - data.startTranslate - diff), resistanceRatio )); }
    }

    if (disableParentSwiper) {
      e.preventedByNestedSwiper = true;
    }

    // Directions locks
    if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {
      data.currentTranslate = data.startTranslate;
    }
    if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {
      data.currentTranslate = data.startTranslate;
    }


    // Threshold
    if (params.threshold > 0) {
      if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {
        if (!data.allowThresholdMove) {
          data.allowThresholdMove = true;
          touches.startX = touches.currentX;
          touches.startY = touches.currentY;
          data.currentTranslate = data.startTranslate;
          touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;
          return;
        }
      } else {
        data.currentTranslate = data.startTranslate;
        return;
      }
    }

    if (!params.followFinger) { return; }

    // Update active index in free mode
    if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {
      swiper.updateActiveIndex();
      swiper.updateSlidesClasses();
    }
    if (params.freeMode) {
      // Velocity
      if (data.velocities.length === 0) {
        data.velocities.push({
          position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],
          time: data.touchStartTime,
        });
      }
      data.velocities.push({
        position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],
        time: Utils.now(),
      });
    }
    // Update progress
    swiper.updateProgress(data.currentTranslate);
    // Update translate
    swiper.setTranslate(data.currentTranslate);
  }

  function onTouchEnd (event) {
    var swiper = this;
    var data = swiper.touchEventsData;

    var params = swiper.params;
    var touches = swiper.touches;
    var rtl = swiper.rtlTranslate;
    var $wrapperEl = swiper.$wrapperEl;
    var slidesGrid = swiper.slidesGrid;
    var snapGrid = swiper.snapGrid;
    var e = event;
    if (e.originalEvent) { e = e.originalEvent; }
    if (data.allowTouchCallbacks) {
      swiper.emit('touchEnd', e);
    }
    data.allowTouchCallbacks = false;
    if (!data.isTouched) {
      if (data.isMoved && params.grabCursor) {
        swiper.setGrabCursor(false);
      }
      data.isMoved = false;
      data.startMoving = false;
      return;
    }
    // Return Grab Cursor
    if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
      swiper.setGrabCursor(false);
    }

    // Time diff
    var touchEndTime = Utils.now();
    var timeDiff = touchEndTime - data.touchStartTime;

    // Tap, doubleTap, Click
    if (swiper.allowClick) {
      swiper.updateClickedSlide(e);
      swiper.emit('tap', e);
      if (timeDiff < 300 && (touchEndTime - data.lastClickTime) > 300) {
        if (data.clickTimeout) { clearTimeout(data.clickTimeout); }
        data.clickTimeout = Utils.nextTick(function () {
          if (!swiper || swiper.destroyed) { return; }
          swiper.emit('click', e);
        }, 300);
      }
      if (timeDiff < 300 && (touchEndTime - data.lastClickTime) < 300) {
        if (data.clickTimeout) { clearTimeout(data.clickTimeout); }
        swiper.emit('doubleTap', e);
      }
    }

    data.lastClickTime = Utils.now();
    Utils.nextTick(function () {
      if (!swiper.destroyed) { swiper.allowClick = true; }
    });

    if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {
      data.isTouched = false;
      data.isMoved = false;
      data.startMoving = false;
      return;
    }
    data.isTouched = false;
    data.isMoved = false;
    data.startMoving = false;

    var currentPos;
    if (params.followFinger) {
      currentPos = rtl ? swiper.translate : -swiper.translate;
    } else {
      currentPos = -data.currentTranslate;
    }

    if (params.freeMode) {
      if (currentPos < -swiper.minTranslate()) {
        swiper.slideTo(swiper.activeIndex);
        return;
      }
      if (currentPos > -swiper.maxTranslate()) {
        if (swiper.slides.length < snapGrid.length) {
          swiper.slideTo(snapGrid.length - 1);
        } else {
          swiper.slideTo(swiper.slides.length - 1);
        }
        return;
      }

      if (params.freeModeMomentum) {
        if (data.velocities.length > 1) {
          var lastMoveEvent = data.velocities.pop();
          var velocityEvent = data.velocities.pop();

          var distance = lastMoveEvent.position - velocityEvent.position;
          var time = lastMoveEvent.time - velocityEvent.time;
          swiper.velocity = distance / time;
          swiper.velocity /= 2;
          if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {
            swiper.velocity = 0;
          }
          // this implies that the user stopped moving a finger then released.
          // There would be no events with distance zero, so the last event is stale.
          if (time > 150 || (Utils.now() - lastMoveEvent.time) > 300) {
            swiper.velocity = 0;
          }
        } else {
          swiper.velocity = 0;
        }
        swiper.velocity *= params.freeModeMomentumVelocityRatio;

        data.velocities.length = 0;
        var momentumDuration = 1000 * params.freeModeMomentumRatio;
        var momentumDistance = swiper.velocity * momentumDuration;

        var newPosition = swiper.translate + momentumDistance;
        if (rtl) { newPosition = -newPosition; }

        var doBounce = false;
        var afterBouncePosition;
        var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;
        var needsLoopFix;
        if (newPosition < swiper.maxTranslate()) {
          if (params.freeModeMomentumBounce) {
            if (newPosition + swiper.maxTranslate() < -bounceAmount) {
              newPosition = swiper.maxTranslate() - bounceAmount;
            }
            afterBouncePosition = swiper.maxTranslate();
            doBounce = true;
            data.allowMomentumBounce = true;
          } else {
            newPosition = swiper.maxTranslate();
          }
          if (params.loop && params.centeredSlides) { needsLoopFix = true; }
        } else if (newPosition > swiper.minTranslate()) {
          if (params.freeModeMomentumBounce) {
            if (newPosition - swiper.minTranslate() > bounceAmount) {
              newPosition = swiper.minTranslate() + bounceAmount;
            }
            afterBouncePosition = swiper.minTranslate();
            doBounce = true;
            data.allowMomentumBounce = true;
          } else {
            newPosition = swiper.minTranslate();
          }
          if (params.loop && params.centeredSlides) { needsLoopFix = true; }
        } else if (params.freeModeSticky) {
          var nextSlide;
          for (var j = 0; j < snapGrid.length; j += 1) {
            if (snapGrid[j] > -newPosition) {
              nextSlide = j;
              break;
            }
          }

          if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {
            newPosition = snapGrid[nextSlide];
          } else {
            newPosition = snapGrid[nextSlide - 1];
          }
          newPosition = -newPosition;
        }
        if (needsLoopFix) {
          swiper.once('transitionEnd', function () {
            swiper.loopFix();
          });
        }
        // Fix duration
        if (swiper.velocity !== 0) {
          if (rtl) {
            momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);
          } else {
            momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);
          }
        } else if (params.freeModeSticky) {
          swiper.slideToClosest();
          return;
        }

        if (params.freeModeMomentumBounce && doBounce) {
          swiper.updateProgress(afterBouncePosition);
          swiper.setTransition(momentumDuration);
          swiper.setTranslate(newPosition);
          swiper.transitionStart(true, swiper.swipeDirection);
          swiper.animating = true;
          $wrapperEl.transitionEnd(function () {
            if (!swiper || swiper.destroyed || !data.allowMomentumBounce) { return; }
            swiper.emit('momentumBounce');

            swiper.setTransition(params.speed);
            swiper.setTranslate(afterBouncePosition);
            $wrapperEl.transitionEnd(function () {
              if (!swiper || swiper.destroyed) { return; }
              swiper.transitionEnd();
            });
          });
        } else if (swiper.velocity) {
          swiper.updateProgress(newPosition);
          swiper.setTransition(momentumDuration);
          swiper.setTranslate(newPosition);
          swiper.transitionStart(true, swiper.swipeDirection);
          if (!swiper.animating) {
            swiper.animating = true;
            $wrapperEl.transitionEnd(function () {
              if (!swiper || swiper.destroyed) { return; }
              swiper.transitionEnd();
            });
          }
        } else {
          swiper.updateProgress(newPosition);
        }

        swiper.updateActiveIndex();
        swiper.updateSlidesClasses();
      } else if (params.freeModeSticky) {
        swiper.slideToClosest();
        return;
      }

      if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {
        swiper.updateProgress();
        swiper.updateActiveIndex();
        swiper.updateSlidesClasses();
      }
      return;
    }

    // Find current slide
    var stopIndex = 0;
    var groupSize = swiper.slidesSizesGrid[0];
    for (var i = 0; i < slidesGrid.length; i += params.slidesPerGroup) {
      if (typeof slidesGrid[i + params.slidesPerGroup] !== 'undefined') {
        if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + params.slidesPerGroup]) {
          stopIndex = i;
          groupSize = slidesGrid[i + params.slidesPerGroup] - slidesGrid[i];
        }
      } else if (currentPos >= slidesGrid[i]) {
        stopIndex = i;
        groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
      }
    }

    // Find current slide size
    var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;

    if (timeDiff > params.longSwipesMs) {
      // Long touches
      if (!params.longSwipes) {
        swiper.slideTo(swiper.activeIndex);
        return;
      }
      if (swiper.swipeDirection === 'next') {
        if (ratio >= params.longSwipesRatio) { swiper.slideTo(stopIndex + params.slidesPerGroup); }
        else { swiper.slideTo(stopIndex); }
      }
      if (swiper.swipeDirection === 'prev') {
        if (ratio > (1 - params.longSwipesRatio)) { swiper.slideTo(stopIndex + params.slidesPerGroup); }
        else { swiper.slideTo(stopIndex); }
      }
    } else {
      // Short swipes
      if (!params.shortSwipes) {
        swiper.slideTo(swiper.activeIndex);
        return;
      }
      if (swiper.swipeDirection === 'next') {
        swiper.slideTo(stopIndex + params.slidesPerGroup);
      }
      if (swiper.swipeDirection === 'prev') {
        swiper.slideTo(stopIndex);
      }
    }
  }

  function onResize () {
    var swiper = this;

    var params = swiper.params;
    var el = swiper.el;

    if (el && el.offsetWidth === 0) { return; }

    // Breakpoints
    if (params.breakpoints) {
      swiper.setBreakpoint();
    }

    // Save locks
    var allowSlideNext = swiper.allowSlideNext;
    var allowSlidePrev = swiper.allowSlidePrev;
    var snapGrid = swiper.snapGrid;

    // Disable locks on resize
    swiper.allowSlideNext = true;
    swiper.allowSlidePrev = true;

    swiper.updateSize();
    swiper.updateSlides();

    if (params.freeMode) {
      var newTranslate = Math.min(Math.max(swiper.translate, swiper.maxTranslate()), swiper.minTranslate());
      swiper.setTranslate(newTranslate);
      swiper.updateActiveIndex();
      swiper.updateSlidesClasses();

      if (params.autoHeight) {
        swiper.updateAutoHeight();
      }
    } else {
      swiper.updateSlidesClasses();
      if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {
        swiper.slideTo(swiper.slides.length - 1, 0, false, true);
      } else {
        swiper.slideTo(swiper.activeIndex, 0, false, true);
      }
    }
    // Return locks after resize
    swiper.allowSlidePrev = allowSlidePrev;
    swiper.allowSlideNext = allowSlideNext;

    if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {
      swiper.checkOverflow();
    }
  }

  function onClick (e) {
    var swiper = this;
    if (!swiper.allowClick) {
      if (swiper.params.preventClicks) { e.preventDefault(); }
      if (swiper.params.preventClicksPropagation && swiper.animating) {
        e.stopPropagation();
        e.stopImmediatePropagation();
      }
    }
  }

  function attachEvents() {
    var swiper = this;
    var params = swiper.params;
    var touchEvents = swiper.touchEvents;
    var el = swiper.el;
    var wrapperEl = swiper.wrapperEl;

    {
      swiper.onTouchStart = onTouchStart.bind(swiper);
      swiper.onTouchMove = onTouchMove.bind(swiper);
      swiper.onTouchEnd = onTouchEnd.bind(swiper);
    }

    swiper.onClick = onClick.bind(swiper);

    var target = params.touchEventsTarget === 'container' ? el : wrapperEl;
    var capture = !!params.nested;

    // Touch Events
    {
      if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {
        target.addEventListener(touchEvents.start, swiper.onTouchStart, false);
        doc.addEventListener(touchEvents.move, swiper.onTouchMove, capture);
        doc.addEventListener(touchEvents.end, swiper.onTouchEnd, false);
      } else {
        if (Support.touch) {
          var passiveListener = touchEvents.start === 'touchstart' && Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false;
          target.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);
          target.addEventListener(touchEvents.move, swiper.onTouchMove, Support.passiveListener ? { passive: false, capture: capture } : capture);
          target.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);
        }
        if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {
          target.addEventListener('mousedown', swiper.onTouchStart, false);
          doc.addEventListener('mousemove', swiper.onTouchMove, capture);
          doc.addEventListener('mouseup', swiper.onTouchEnd, false);
        }
      }
      // Prevent Links Clicks
      if (params.preventClicks || params.preventClicksPropagation) {
        target.addEventListener('click', swiper.onClick, true);
      }
    }

    // Resize handler
    swiper.on((Device.ios || Device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate'), onResize, true);
  }

  function detachEvents() {
    var swiper = this;

    var params = swiper.params;
    var touchEvents = swiper.touchEvents;
    var el = swiper.el;
    var wrapperEl = swiper.wrapperEl;

    var target = params.touchEventsTarget === 'container' ? el : wrapperEl;
    var capture = !!params.nested;

    // Touch Events
    {
      if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {
        target.removeEventListener(touchEvents.start, swiper.onTouchStart, false);
        doc.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);
        doc.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);
      } else {
        if (Support.touch) {
          var passiveListener = touchEvents.start === 'onTouchStart' && Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false;
          target.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);
          target.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);
          target.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);
        }
        if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {
          target.removeEventListener('mousedown', swiper.onTouchStart, false);
          doc.removeEventListener('mousemove', swiper.onTouchMove, capture);
          doc.removeEventListener('mouseup', swiper.onTouchEnd, false);
        }
      }
      // Prevent Links Clicks
      if (params.preventClicks || params.preventClicksPropagation) {
        target.removeEventListener('click', swiper.onClick, true);
      }
    }

    // Resize handler
    swiper.off((Device.ios || Device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate'), onResize);
  }

  var events = {
    attachEvents: attachEvents,
    detachEvents: detachEvents,
  };

  function setBreakpoint () {
    var swiper = this;
    var activeIndex = swiper.activeIndex;
    var initialized = swiper.initialized;
    var loopedSlides = swiper.loopedSlides; if ( loopedSlides === void 0 ) loopedSlides = 0;
    var params = swiper.params;
    var breakpoints = params.breakpoints;
    if (!breakpoints || (breakpoints && Object.keys(breakpoints).length === 0)) { return; }
    // Set breakpoint for window width and update parameters
    var breakpoint = swiper.getBreakpoint(breakpoints);
    if (breakpoint && swiper.currentBreakpoint !== breakpoint) {
      var breakPointsParams = breakpoint in breakpoints ? breakpoints[breakpoint] : swiper.originalParams;
      var needsReLoop = params.loop && (breakPointsParams.slidesPerView !== params.slidesPerView);

      Utils.extend(swiper.params, breakPointsParams);

      Utils.extend(swiper, {
        allowTouchMove: swiper.params.allowTouchMove,
        allowSlideNext: swiper.params.allowSlideNext,
        allowSlidePrev: swiper.params.allowSlidePrev,
      });

      swiper.currentBreakpoint = breakpoint;

      if (needsReLoop && initialized) {
        swiper.loopDestroy();
        swiper.loopCreate();
        swiper.updateSlides();
        swiper.slideTo((activeIndex - loopedSlides) + swiper.loopedSlides, 0, false);
      }
      swiper.emit('breakpoint', breakPointsParams);
    }
  }

  function getBreakpoint (breakpoints) {
    // Get breakpoint for window width
    if (!breakpoints) { return undefined; }
    var breakpoint = false;
    var points = [];
    Object.keys(breakpoints).forEach(function (point) {
      points.push(point);
    });
    points.sort(function (a, b) { return parseInt(a, 10) - parseInt(b, 10); });
    for (var i = 0; i < points.length; i += 1) {
      var point = points[i];
      if (point >= win.innerWidth && !breakpoint) {
        breakpoint = point;
      }
    }
    return breakpoint || 'max';
  }

  var breakpoints = { setBreakpoint: setBreakpoint, getBreakpoint: getBreakpoint };

  var Browser = (function Browser() {
    function isSafari() {
      var ua = win.navigator.userAgent.toLowerCase();
      return (ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0);
    }
    return {
      isIE: !!win.navigator.userAgent.match(/Trident/g) || !!win.navigator.userAgent.match(/MSIE/g),
      isSafari: isSafari(),
      isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(win.navigator.userAgent),
    };
  }());

  function addClasses () {
    var swiper = this;
    var classNames = swiper.classNames;
    var params = swiper.params;
    var rtl = swiper.rtl;
    var $el = swiper.$el;
    var suffixes = [];

    suffixes.push(params.direction);

    if (params.freeMode) {
      suffixes.push('free-mode');
    }
    if (!Support.flexbox) {
      suffixes.push('no-flexbox');
    }
    if (params.autoHeight) {
      suffixes.push('autoheight');
    }
    if (rtl) {
      suffixes.push('rtl');
    }
    if (params.slidesPerColumn > 1) {
      suffixes.push('multirow');
    }
    if (Device.android) {
      suffixes.push('android');
    }
    if (Device.ios) {
      suffixes.push('ios');
    }
    // WP8 Touch Events Fix
    if (Browser.isIE && (Support.pointerEvents || Support.prefixedPointerEvents)) {
      suffixes.push(("wp8-" + (params.direction)));
    }

    suffixes.forEach(function (suffix) {
      classNames.push(params.containerModifierClass + suffix);
    });

    $el.addClass(classNames.join(' '));
  }

  function removeClasses () {
    var swiper = this;
    var $el = swiper.$el;
    var classNames = swiper.classNames;

    $el.removeClass(classNames.join(' '));
  }

  var classes = { addClasses: addClasses, removeClasses: removeClasses };

  function loadImage (imageEl, src, srcset, sizes, checkForComplete, callback) {
    var image;
    function onReady() {
      if (callback) { callback(); }
    }
    if (!imageEl.complete || !checkForComplete) {
      if (src) {
        image = new win.Image();
        image.onload = onReady;
        image.onerror = onReady;
        if (sizes) {
          image.sizes = sizes;
        }
        if (srcset) {
          image.srcset = srcset;
        }
        if (src) {
          image.src = src;
        }
      } else {
        onReady();
      }
    } else {
      // image already loaded...
      onReady();
    }
  }

  function preloadImages () {
    var swiper = this;
    swiper.imagesToLoad = swiper.$el.find('img');
    function onReady() {
      if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) { return; }
      if (swiper.imagesLoaded !== undefined) { swiper.imagesLoaded += 1; }
      if (swiper.imagesLoaded === swiper.imagesToLoad.length) {
        if (swiper.params.updateOnImagesReady) { swiper.update(); }
        swiper.emit('imagesReady');
      }
    }
    for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {
      var imageEl = swiper.imagesToLoad[i];
      swiper.loadImage(
        imageEl,
        imageEl.currentSrc || imageEl.getAttribute('src'),
        imageEl.srcset || imageEl.getAttribute('srcset'),
        imageEl.sizes || imageEl.getAttribute('sizes'),
        true,
        onReady
      );
    }
  }

  var images = {
    loadImage: loadImage,
    preloadImages: preloadImages,
  };

  function checkOverflow() {
    var swiper = this;
    var wasLocked = swiper.isLocked;

    swiper.isLocked = swiper.snapGrid.length === 1;
    swiper.allowSlideNext = !swiper.isLocked;
    swiper.allowSlidePrev = !swiper.isLocked;

    // events
    if (wasLocked !== swiper.isLocked) { swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); }

    if (wasLocked && wasLocked !== swiper.isLocked) {
      swiper.isEnd = false;
      swiper.navigation.update();
    }
  }

  var checkOverflow$1 = { checkOverflow: checkOverflow };

  var defaults = {
    init: true,
    direction: 'horizontal',
    touchEventsTarget: 'container',
    initialSlide: 0,
    speed: 300,
    //
    preventInteractionOnTransition: false,

    // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView).
    edgeSwipeDetection: false,
    edgeSwipeThreshold: 20,

    // Free mode
    freeMode: false,
    freeModeMomentum: true,
    freeModeMomentumRatio: 1,
    freeModeMomentumBounce: true,
    freeModeMomentumBounceRatio: 1,
    freeModeMomentumVelocityRatio: 1,
    freeModeSticky: false,
    freeModeMinimumVelocity: 0.02,

    // Autoheight
    autoHeight: false,

    // Set wrapper width
    setWrapperSize: false,

    // Virtual Translate
    virtualTranslate: false,

    // Effects
    effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'

    // Breakpoints
    breakpoints: undefined,

    // Slides grid
    spaceBetween: 0,
    slidesPerView: 1,
    slidesPerColumn: 1,
    slidesPerColumnFill: 'column',
    slidesPerGroup: 1,
    centeredSlides: false,
    slidesOffsetBefore: 0, // in px
    slidesOffsetAfter: 0, // in px
    normalizeSlideIndex: true,

    // Disable swiper and hide navigation when container not overflow
    watchOverflow: false,

    // Round length
    roundLengths: false,

    // Touches
    touchRatio: 1,
    touchAngle: 45,
    simulateTouch: true,
    shortSwipes: true,
    longSwipes: true,
    longSwipesRatio: 0.5,
    longSwipesMs: 300,
    followFinger: true,
    allowTouchMove: true,
    threshold: 0,
    touchMoveStopPropagation: true,
    touchReleaseOnEdges: false,

    // Unique Navigation Elements
    uniqueNavElements: true,

    // Resistance
    resistance: true,
    resistanceRatio: 0.85,

    // Progress
    watchSlidesProgress: false,
    watchSlidesVisibility: false,

    // Cursor
    grabCursor: false,

    // Clicks
    preventClicks: true,
    preventClicksPropagation: true,
    slideToClickedSlide: false,

    // Images
    preloadImages: true,
    updateOnImagesReady: true,

    // loop
    loop: false,
    loopAdditionalSlides: 0,
    loopedSlides: null,
    loopFillGroupWithBlank: false,

    // Swiping/no swiping
    allowSlidePrev: true,
    allowSlideNext: true,
    swipeHandler: null, // '.swipe-handler',
    noSwiping: true,
    noSwipingClass: 'swiper-no-swiping',
    noSwipingSelector: null,

    // Passive Listeners
    passiveListeners: true,

    // NS
    containerModifierClass: 'swiper-container-', // NEW
    slideClass: 'swiper-slide',
    slideBlankClass: 'swiper-slide-invisible-blank',
    slideActiveClass: 'swiper-slide-active',
    slideDuplicateActiveClass: 'swiper-slide-duplicate-active',
    slideVisibleClass: 'swiper-slide-visible',
    slideDuplicateClass: 'swiper-slide-duplicate',
    slideNextClass: 'swiper-slide-next',
    slideDuplicateNextClass: 'swiper-slide-duplicate-next',
    slidePrevClass: 'swiper-slide-prev',
    slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',
    wrapperClass: 'swiper-wrapper',

    // Callbacks
    runCallbacksOnInit: true,
  };

  var prototypes = {
    update: update,
    translate: translate,
    transition: transition$1,
    slide: slide,
    loop: loop,
    grabCursor: grabCursor,
    manipulation: manipulation,
    events: events,
    breakpoints: breakpoints,
    checkOverflow: checkOverflow$1,
    classes: classes,
    images: images,
  };

  var extendedDefaults = {};

  var Swiper = (function (SwiperClass$$1) {
    function Swiper() {
      var assign;

      var args = [], len = arguments.length;
      while ( len-- ) args[ len ] = arguments[ len ];
      var el;
      var params;
      if (args.length === 1 && args[0].constructor && args[0].constructor === Object) {
        params = args[0];
      } else {
        (assign = args, el = assign[0], params = assign[1]);
      }
      if (!params) { params = {}; }

      params = Utils.extend({}, params);
      if (el && !params.el) { params.el = el; }

      SwiperClass$$1.call(this, params);

      Object.keys(prototypes).forEach(function (prototypeGroup) {
        Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {
          if (!Swiper.prototype[protoMethod]) {
            Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];
          }
        });
      });

      // Swiper Instance
      var swiper = this;
      if (typeof swiper.modules === 'undefined') {
        swiper.modules = {};
      }
      Object.keys(swiper.modules).forEach(function (moduleName) {
        var module = swiper.modules[moduleName];
        if (module.params) {
          var moduleParamName = Object.keys(module.params)[0];
          var moduleParams = module.params[moduleParamName];
          if (typeof moduleParams !== 'object') { return; }
          if (!(moduleParamName in params && 'enabled' in moduleParams)) { return; }
          if (params[moduleParamName] === true) {
            params[moduleParamName] = { enabled: true };
          }
          if (
            typeof params[moduleParamName] === 'object'
            && !('enabled' in params[moduleParamName])
          ) {
            params[moduleParamName].enabled = true;
          }
          if (!params[moduleParamName]) { params[moduleParamName] = { enabled: false }; }
        }
      });

      // Extend defaults with modules params
      var swiperParams = Utils.extend({}, defaults);
      swiper.useModulesParams(swiperParams);

      // Extend defaults with passed params
      swiper.params = Utils.extend({}, swiperParams, extendedDefaults, params);
      swiper.originalParams = Utils.extend({}, swiper.params);
      swiper.passedParams = Utils.extend({}, params);

      // Save Dom lib
      swiper.$ = $;

      // Find el
      var $el = $(swiper.params.el);
      el = $el[0];

      if (!el) {
        return undefined;
      }

      if ($el.length > 1) {
        var swipers = [];
        $el.each(function (index, containerEl) {
          var newParams = Utils.extend({}, params, { el: containerEl });
          swipers.push(new Swiper(newParams));
        });
        return swipers;
      }

      el.swiper = swiper;
      $el.data('swiper', swiper);

      // Find Wrapper
      var $wrapperEl = $el.children(("." + (swiper.params.wrapperClass)));

      // Extend Swiper
      Utils.extend(swiper, {
        $el: $el,
        el: el,
        $wrapperEl: $wrapperEl,
        wrapperEl: $wrapperEl[0],

        // Classes
        classNames: [],

        // Slides
        slides: $(),
        slidesGrid: [],
        snapGrid: [],
        slidesSizesGrid: [],

        // isDirection
        isHorizontal: function isHorizontal() {
          return swiper.params.direction === 'horizontal';
        },
        isVertical: function isVertical() {
          return swiper.params.direction === 'vertical';
        },
        // RTL
        rtl: (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),
        rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),
        wrongRTL: $wrapperEl.css('display') === '-webkit-box',

        // Indexes
        activeIndex: 0,
        realIndex: 0,

        //
        isBeginning: true,
        isEnd: false,

        // Props
        translate: 0,
        previousTranslate: 0,
        progress: 0,
        velocity: 0,
        animating: false,

        // Locks
        allowSlideNext: swiper.params.allowSlideNext,
        allowSlidePrev: swiper.params.allowSlidePrev,

        // Touch Events
        touchEvents: (function touchEvents() {
          var touch = ['touchstart', 'touchmove', 'touchend'];
          var desktop = ['mousedown', 'mousemove', 'mouseup'];
          if (Support.pointerEvents) {
            desktop = ['pointerdown', 'pointermove', 'pointerup'];
          } else if (Support.prefixedPointerEvents) {
            desktop = ['MSPointerDown', 'MSPointerMove', 'MSPointerUp'];
          }
          swiper.touchEventsTouch = {
            start: touch[0],
            move: touch[1],
            end: touch[2],
          };
          swiper.touchEventsDesktop = {
            start: desktop[0],
            move: desktop[1],
            end: desktop[2],
          };
          return Support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;
        }()),
        touchEventsData: {
          isTouched: undefined,
          isMoved: undefined,
          allowTouchCallbacks: undefined,
          touchStartTime: undefined,
          isScrolling: undefined,
          currentTranslate: undefined,
          startTranslate: undefined,
          allowThresholdMove: undefined,
          // Form elements to match
          formElements: 'input, select, option, textarea, button, video',
          // Last click time
          lastClickTime: Utils.now(),
          clickTimeout: undefined,
          // Velocities
          velocities: [],
          allowMomentumBounce: undefined,
          isTouchEvent: undefined,
          startMoving: undefined,
        },

        // Clicks
        allowClick: true,

        // Touches
        allowTouchMove: swiper.params.allowTouchMove,

        touches: {
          startX: 0,
          startY: 0,
          currentX: 0,
          currentY: 0,
          diff: 0,
        },

        // Images
        imagesToLoad: [],
        imagesLoaded: 0,

      });

      // Install Modules
      swiper.useModules();

      // Init
      if (swiper.params.init) {
        swiper.init();
      }

      // Return app instance
      return swiper;
    }

    if ( SwiperClass$$1 ) Swiper.__proto__ = SwiperClass$$1;
    Swiper.prototype = Object.create( SwiperClass$$1 && SwiperClass$$1.prototype );
    Swiper.prototype.constructor = Swiper;

    var staticAccessors = { extendedDefaults: { configurable: true },defaults: { configurable: true },Class: { configurable: true },$: { configurable: true } };

    Swiper.prototype.slidesPerViewDynamic = function slidesPerViewDynamic () {
      var swiper = this;
      var params = swiper.params;
      var slides = swiper.slides;
      var slidesGrid = swiper.slidesGrid;
      var swiperSize = swiper.size;
      var activeIndex = swiper.activeIndex;
      var spv = 1;
      if (params.centeredSlides) {
        var slideSize = slides[activeIndex].swiperSlideSize;
        var breakLoop;
        for (var i = activeIndex + 1; i < slides.length; i += 1) {
          if (slides[i] && !breakLoop) {
            slideSize += slides[i].swiperSlideSize;
            spv += 1;
            if (slideSize > swiperSize) { breakLoop = true; }
          }
        }
        for (var i$1 = activeIndex - 1; i$1 >= 0; i$1 -= 1) {
          if (slides[i$1] && !breakLoop) {
            slideSize += slides[i$1].swiperSlideSize;
            spv += 1;
            if (slideSize > swiperSize) { breakLoop = true; }
          }
        }
      } else {
        for (var i$2 = activeIndex + 1; i$2 < slides.length; i$2 += 1) {
          if (slidesGrid[i$2] - slidesGrid[activeIndex] < swiperSize) {
            spv += 1;
          }
        }
      }
      return spv;
    };

    Swiper.prototype.update = function update$$1 () {
      var swiper = this;
      if (!swiper || swiper.destroyed) { return; }
      var snapGrid = swiper.snapGrid;
      var params = swiper.params;
      // Breakpoints
      if (params.breakpoints) {
        swiper.setBreakpoint();
      }
      swiper.updateSize();
      swiper.updateSlides();
      swiper.updateProgress();
      swiper.updateSlidesClasses();

      function setTranslate() {
        var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;
        var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
        swiper.setTranslate(newTranslate);
        swiper.updateActiveIndex();
        swiper.updateSlidesClasses();
      }
      var translated;
      if (swiper.params.freeMode) {
        setTranslate();
        if (swiper.params.autoHeight) {
          swiper.updateAutoHeight();
        }
      } else {
        if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {
          translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);
        } else {
          translated = swiper.slideTo(swiper.activeIndex, 0, false, true);
        }
        if (!translated) {
          setTranslate();
        }
      }
      if (params.watchOverflow && snapGrid !== swiper.snapGrid) {
        swiper.checkOverflow();
      }
      swiper.emit('update');
    };

    Swiper.prototype.init = function init () {
      var swiper = this;
      if (swiper.initialized) { return; }

      swiper.emit('beforeInit');

      // Set breakpoint
      if (swiper.params.breakpoints) {
        swiper.setBreakpoint();
      }

      // Add Classes
      swiper.addClasses();

      // Create loop
      if (swiper.params.loop) {
        swiper.loopCreate();
      }

      // Update size
      swiper.updateSize();

      // Update slides
      swiper.updateSlides();

      if (swiper.params.watchOverflow) {
        swiper.checkOverflow();
      }

      // Set Grab Cursor
      if (swiper.params.grabCursor) {
        swiper.setGrabCursor();
      }

      if (swiper.params.preloadImages) {
        swiper.preloadImages();
      }

      // Slide To Initial Slide
      if (swiper.params.loop) {
        swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);
      } else {
        swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);
      }

      // Attach events
      swiper.attachEvents();

      // Init Flag
      swiper.initialized = true;

      // Emit
      swiper.emit('init');
    };

    Swiper.prototype.destroy = function destroy (deleteInstance, cleanStyles) {
      if ( deleteInstance === void 0 ) deleteInstance = true;
      if ( cleanStyles === void 0 ) cleanStyles = true;

      var swiper = this;
      var params = swiper.params;
      var $el = swiper.$el;
      var $wrapperEl = swiper.$wrapperEl;
      var slides = swiper.slides;

      if (typeof swiper.params === 'undefined' || swiper.destroyed) {
        return null;
      }

      swiper.emit('beforeDestroy');

      // Init Flag
      swiper.initialized = false;

      // Detach events
      swiper.detachEvents();

      // Destroy loop
      if (params.loop) {
        swiper.loopDestroy();
      }

      // Cleanup styles
      if (cleanStyles) {
        swiper.removeClasses();
        $el.removeAttr('style');
        $wrapperEl.removeAttr('style');
        if (slides && slides.length) {
          slides
            .removeClass([
              params.slideVisibleClass,
              params.slideActiveClass,
              params.slideNextClass,
              params.slidePrevClass ].join(' '))
            .removeAttr('style')
            .removeAttr('data-swiper-slide-index')
            .removeAttr('data-swiper-column')
            .removeAttr('data-swiper-row');
        }
      }

      swiper.emit('destroy');

      // Detach emitter events
      Object.keys(swiper.eventsListeners).forEach(function (eventName) {
        swiper.off(eventName);
      });

      if (deleteInstance !== false) {
        swiper.$el[0].swiper = null;
        swiper.$el.data('swiper', null);
        Utils.deleteProps(swiper);
      }
      swiper.destroyed = true;

      return null;
    };

    Swiper.extendDefaults = function extendDefaults (newDefaults) {
      Utils.extend(extendedDefaults, newDefaults);
    };

    staticAccessors.extendedDefaults.get = function () {
      return extendedDefaults;
    };

    staticAccessors.defaults.get = function () {
      return defaults;
    };

    staticAccessors.Class.get = function () {
      return SwiperClass$$1;
    };

    staticAccessors.$.get = function () {
      return $;
    };

    Object.defineProperties( Swiper, staticAccessors );

    return Swiper;
  }(SwiperClass));

  var Device$1 = {
    name: 'device',
    proto: {
      device: Device,
    },
    static: {
      device: Device,
    },
  };

  var Support$1 = {
    name: 'support',
    proto: {
      support: Support,
    },
    static: {
      support: Support,
    },
  };

  var Browser$1 = {
    name: 'browser',
    proto: {
      browser: Browser,
    },
    static: {
      browser: Browser,
    },
  };

  var Resize = {
    name: 'resize',
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        resize: {
          resizeHandler: function resizeHandler() {
            if (!swiper || swiper.destroyed || !swiper.initialized) { return; }
            swiper.emit('beforeResize');
            swiper.emit('resize');
          },
          orientationChangeHandler: function orientationChangeHandler() {
            if (!swiper || swiper.destroyed || !swiper.initialized) { return; }
            swiper.emit('orientationchange');
          },
        },
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        // Emit resize
        win.addEventListener('resize', swiper.resize.resizeHandler);

        // Emit orientationchange
        win.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);
      },
      destroy: function destroy() {
        var swiper = this;
        win.removeEventListener('resize', swiper.resize.resizeHandler);
        win.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);
      },
    },
  };

  var Observer = {
    func: win.MutationObserver || win.WebkitMutationObserver,
    attach: function attach(target, options) {
      if ( options === void 0 ) options = {};

      var swiper = this;

      var ObserverFunc = Observer.func;
      var observer = new ObserverFunc(function (mutations) {
        // The observerUpdate event should only be triggered
        // once despite the number of mutations.  Additional
        // triggers are redundant and are very costly
        if (mutations.length === 1) {
          swiper.emit('observerUpdate', mutations[0]);
          return;
        }
        var observerUpdate = function observerUpdate() {
          swiper.emit('observerUpdate', mutations[0]);
        };

        if (win.requestAnimationFrame) {
          win.requestAnimationFrame(observerUpdate);
        } else {
          win.setTimeout(observerUpdate, 0);
        }
      });

      observer.observe(target, {
        attributes: typeof options.attributes === 'undefined' ? true : options.attributes,
        childList: typeof options.childList === 'undefined' ? true : options.childList,
        characterData: typeof options.characterData === 'undefined' ? true : options.characterData,
      });

      swiper.observer.observers.push(observer);
    },
    init: function init() {
      var swiper = this;
      if (!Support.observer || !swiper.params.observer) { return; }
      if (swiper.params.observeParents) {
        var containerParents = swiper.$el.parents();
        for (var i = 0; i < containerParents.length; i += 1) {
          swiper.observer.attach(containerParents[i]);
        }
      }
      // Observe container
      swiper.observer.attach(swiper.$el[0], { childList: false });

      // Observe wrapper
      swiper.observer.attach(swiper.$wrapperEl[0], { attributes: false });
    },
    destroy: function destroy() {
      var swiper = this;
      swiper.observer.observers.forEach(function (observer) {
        observer.disconnect();
      });
      swiper.observer.observers = [];
    },
  };

  var Observer$1 = {
    name: 'observer',
    params: {
      observer: false,
      observeParents: false,
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        observer: {
          init: Observer.init.bind(swiper),
          attach: Observer.attach.bind(swiper),
          destroy: Observer.destroy.bind(swiper),
          observers: [],
        },
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        swiper.observer.init();
      },
      destroy: function destroy() {
        var swiper = this;
        swiper.observer.destroy();
      },
    },
  };

  var Virtual = {
    update: function update(force) {
      var swiper = this;
      var ref = swiper.params;
      var slidesPerView = ref.slidesPerView;
      var slidesPerGroup = ref.slidesPerGroup;
      var centeredSlides = ref.centeredSlides;
      var ref$1 = swiper.virtual;
      var previousFrom = ref$1.from;
      var previousTo = ref$1.to;
      var slides = ref$1.slides;
      var previousSlidesGrid = ref$1.slidesGrid;
      var renderSlide = ref$1.renderSlide;
      var previousOffset = ref$1.offset;
      swiper.updateActiveIndex();
      var activeIndex = swiper.activeIndex || 0;

      var offsetProp;
      if (swiper.rtlTranslate) { offsetProp = 'right'; }
      else { offsetProp = swiper.isHorizontal() ? 'left' : 'top'; }

      var slidesAfter;
      var slidesBefore;
      if (centeredSlides) {
        slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup;
        slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup;
      } else {
        slidesAfter = slidesPerView + (slidesPerGroup - 1);
        slidesBefore = slidesPerGroup;
      }
      var from = Math.max((activeIndex || 0) - slidesBefore, 0);
      var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);
      var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);

      Utils.extend(swiper.virtual, {
        from: from,
        to: to,
        offset: offset,
        slidesGrid: swiper.slidesGrid,
      });

      function onRendered() {
        swiper.updateSlides();
        swiper.updateProgress();
        swiper.updateSlidesClasses();
        if (swiper.lazy && swiper.params.lazy.enabled) {
          swiper.lazy.load();
        }
      }

      if (previousFrom === from && previousTo === to && !force) {
        if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {
          swiper.slides.css(offsetProp, (offset + "px"));
        }
        swiper.updateProgress();
        return;
      }
      if (swiper.params.virtual.renderExternal) {
        swiper.params.virtual.renderExternal.call(swiper, {
          offset: offset,
          from: from,
          to: to,
          slides: (function getSlides() {
            var slidesToRender = [];
            for (var i = from; i <= to; i += 1) {
              slidesToRender.push(slides[i]);
            }
            return slidesToRender;
          }()),
        });
        onRendered();
        return;
      }
      var prependIndexes = [];
      var appendIndexes = [];
      if (force) {
        swiper.$wrapperEl.find(("." + (swiper.params.slideClass))).remove();
      } else {
        for (var i = previousFrom; i <= previousTo; i += 1) {
          if (i < from || i > to) {
            swiper.$wrapperEl.find(("." + (swiper.params.slideClass) + "[data-swiper-slide-index=\"" + i + "\"]")).remove();
          }
        }
      }
      for (var i$1 = 0; i$1 < slides.length; i$1 += 1) {
        if (i$1 >= from && i$1 <= to) {
          if (typeof previousTo === 'undefined' || force) {
            appendIndexes.push(i$1);
          } else {
            if (i$1 > previousTo) { appendIndexes.push(i$1); }
            if (i$1 < previousFrom) { prependIndexes.push(i$1); }
          }
        }
      }
      appendIndexes.forEach(function (index) {
        swiper.$wrapperEl.append(renderSlide(slides[index], index));
      });
      prependIndexes.sort(function (a, b) { return a < b; }).forEach(function (index) {
        swiper.$wrapperEl.prepend(renderSlide(slides[index], index));
      });
      swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, (offset + "px"));
      onRendered();
    },
    renderSlide: function renderSlide(slide, index) {
      var swiper = this;
      var params = swiper.params.virtual;
      if (params.cache && swiper.virtual.cache[index]) {
        return swiper.virtual.cache[index];
      }
      var $slideEl = params.renderSlide
        ? $(params.renderSlide.call(swiper, slide, index))
        : $(("<div class=\"" + (swiper.params.slideClass) + "\" data-swiper-slide-index=\"" + index + "\">" + slide + "</div>"));
      if (!$slideEl.attr('data-swiper-slide-index')) { $slideEl.attr('data-swiper-slide-index', index); }
      if (params.cache) { swiper.virtual.cache[index] = $slideEl; }
      return $slideEl;
    },
    appendSlide: function appendSlide(slide) {
      var swiper = this;
      swiper.virtual.slides.push(slide);
      swiper.virtual.update(true);
    },
    prependSlide: function prependSlide(slide) {
      var swiper = this;
      swiper.virtual.slides.unshift(slide);
      if (swiper.params.virtual.cache) {
        var cache = swiper.virtual.cache;
        var newCache = {};
        Object.keys(cache).forEach(function (cachedIndex) {
          newCache[cachedIndex + 1] = cache[cachedIndex];
        });
        swiper.virtual.cache = newCache;
      }
      swiper.virtual.update(true);
      swiper.slideNext(0);
    },
  };

  var Virtual$1 = {
    name: 'virtual',
    params: {
      virtual: {
        enabled: false,
        slides: [],
        cache: true,
        renderSlide: null,
        renderExternal: null,
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        virtual: {
          update: Virtual.update.bind(swiper),
          appendSlide: Virtual.appendSlide.bind(swiper),
          prependSlide: Virtual.prependSlide.bind(swiper),
          renderSlide: Virtual.renderSlide.bind(swiper),
          slides: swiper.params.virtual.slides,
          cache: {},
        },
      });
    },
    on: {
      beforeInit: function beforeInit() {
        var swiper = this;
        if (!swiper.params.virtual.enabled) { return; }
        swiper.classNames.push(((swiper.params.containerModifierClass) + "virtual"));
        var overwriteParams = {
          watchSlidesProgress: true,
        };
        Utils.extend(swiper.params, overwriteParams);
        Utils.extend(swiper.originalParams, overwriteParams);

        swiper.virtual.update();
      },
      setTranslate: function setTranslate() {
        var swiper = this;
        if (!swiper.params.virtual.enabled) { return; }
        swiper.virtual.update();
      },
    },
  };

  var Keyboard = {
    handle: function handle(event) {
      var swiper = this;
      var rtl = swiper.rtlTranslate;
      var e = event;
      if (e.originalEvent) { e = e.originalEvent; } // jquery fix
      var kc = e.keyCode || e.charCode;
      // Directions locks
      if (!swiper.allowSlideNext && ((swiper.isHorizontal() && kc === 39) || (swiper.isVertical() && kc === 40))) {
        return false;
      }
      if (!swiper.allowSlidePrev && ((swiper.isHorizontal() && kc === 37) || (swiper.isVertical() && kc === 38))) {
        return false;
      }
      if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
        return undefined;
      }
      if (doc.activeElement && doc.activeElement.nodeName && (doc.activeElement.nodeName.toLowerCase() === 'input' || doc.activeElement.nodeName.toLowerCase() === 'textarea')) {
        return undefined;
      }
      if (swiper.params.keyboard.onlyInViewport && (kc === 37 || kc === 39 || kc === 38 || kc === 40)) {
        var inView = false;
        // Check that swiper should be inside of visible area of window
        if (swiper.$el.parents(("." + (swiper.params.slideClass))).length > 0 && swiper.$el.parents(("." + (swiper.params.slideActiveClass))).length === 0) {
          return undefined;
        }
        var windowWidth = win.innerWidth;
        var windowHeight = win.innerHeight;
        var swiperOffset = swiper.$el.offset();
        if (rtl) { swiperOffset.left -= swiper.$el[0].scrollLeft; }
        var swiperCoord = [
          [swiperOffset.left, swiperOffset.top],
          [swiperOffset.left + swiper.width, swiperOffset.top],
          [swiperOffset.left, swiperOffset.top + swiper.height],
          [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height] ];
        for (var i = 0; i < swiperCoord.length; i += 1) {
          var point = swiperCoord[i];
          if (
            point[0] >= 0 && point[0] <= windowWidth
            && point[1] >= 0 && point[1] <= windowHeight
          ) {
            inView = true;
          }
        }
        if (!inView) { return undefined; }
      }
      if (swiper.isHorizontal()) {
        if (kc === 37 || kc === 39) {
          if (e.preventDefault) { e.preventDefault(); }
          else { e.returnValue = false; }
        }
        if ((kc === 39 && !rtl) || (kc === 37 && rtl)) { swiper.slideNext(); }
        if ((kc === 37 && !rtl) || (kc === 39 && rtl)) { swiper.slidePrev(); }
      } else {
        if (kc === 38 || kc === 40) {
          if (e.preventDefault) { e.preventDefault(); }
          else { e.returnValue = false; }
        }
        if (kc === 40) { swiper.slideNext(); }
        if (kc === 38) { swiper.slidePrev(); }
      }
      swiper.emit('keyPress', kc);
      return undefined;
    },
    enable: function enable() {
      var swiper = this;
      if (swiper.keyboard.enabled) { return; }
      $(doc).on('keydown', swiper.keyboard.handle);
      swiper.keyboard.enabled = true;
    },
    disable: function disable() {
      var swiper = this;
      if (!swiper.keyboard.enabled) { return; }
      $(doc).off('keydown', swiper.keyboard.handle);
      swiper.keyboard.enabled = false;
    },
  };

  var Keyboard$1 = {
    name: 'keyboard',
    params: {
      keyboard: {
        enabled: false,
        onlyInViewport: true,
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        keyboard: {
          enabled: false,
          enable: Keyboard.enable.bind(swiper),
          disable: Keyboard.disable.bind(swiper),
          handle: Keyboard.handle.bind(swiper),
        },
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        if (swiper.params.keyboard.enabled) {
          swiper.keyboard.enable();
        }
      },
      destroy: function destroy() {
        var swiper = this;
        if (swiper.keyboard.enabled) {
          swiper.keyboard.disable();
        }
      },
    },
  };

  function isEventSupported() {
    var eventName = 'onwheel';
    var isSupported = eventName in doc;

    if (!isSupported) {
      var element = doc.createElement('div');
      element.setAttribute(eventName, 'return;');
      isSupported = typeof element[eventName] === 'function';
    }

    if (!isSupported
      && doc.implementation
      && doc.implementation.hasFeature
      // always returns true in newer browsers as per the standard.
      // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature
      && doc.implementation.hasFeature('', '') !== true
    ) {
      // This is the only way to test support for the `wheel` event in IE9+.
      isSupported = doc.implementation.hasFeature('Events.wheel', '3.0');
    }

    return isSupported;
  }
  var Mousewheel = {
    lastScrollTime: Utils.now(),
    event: (function getEvent() {
      if (win.navigator.userAgent.indexOf('firefox') > -1) { return 'DOMMouseScroll'; }
      return isEventSupported() ? 'wheel' : 'mousewheel';
    }()),
    normalize: function normalize(e) {
      // Reasonable defaults
      var PIXEL_STEP = 10;
      var LINE_HEIGHT = 40;
      var PAGE_HEIGHT = 800;

      var sX = 0;
      var sY = 0; // spinX, spinY
      var pX = 0;
      var pY = 0; // pixelX, pixelY

      // Legacy
      if ('detail' in e) {
        sY = e.detail;
      }
      if ('wheelDelta' in e) {
        sY = -e.wheelDelta / 120;
      }
      if ('wheelDeltaY' in e) {
        sY = -e.wheelDeltaY / 120;
      }
      if ('wheelDeltaX' in e) {
        sX = -e.wheelDeltaX / 120;
      }

      // side scrolling on FF with DOMMouseScroll
      if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {
        sX = sY;
        sY = 0;
      }

      pX = sX * PIXEL_STEP;
      pY = sY * PIXEL_STEP;

      if ('deltaY' in e) {
        pY = e.deltaY;
      }
      if ('deltaX' in e) {
        pX = e.deltaX;
      }

      if ((pX || pY) && e.deltaMode) {
        if (e.deltaMode === 1) { // delta in LINE units
          pX *= LINE_HEIGHT;
          pY *= LINE_HEIGHT;
        } else { // delta in PAGE units
          pX *= PAGE_HEIGHT;
          pY *= PAGE_HEIGHT;
        }
      }

      // Fall-back if spin cannot be determined
      if (pX && !sX) {
        sX = (pX < 1) ? -1 : 1;
      }
      if (pY && !sY) {
        sY = (pY < 1) ? -1 : 1;
      }

      return {
        spinX: sX,
        spinY: sY,
        pixelX: pX,
        pixelY: pY,
      };
    },
    handleMouseEnter: function handleMouseEnter() {
      var swiper = this;
      swiper.mouseEntered = true;
    },
    handleMouseLeave: function handleMouseLeave() {
      var swiper = this;
      swiper.mouseEntered = false;
    },
    handle: function handle(event) {
      var e = event;
      var swiper = this;
      var params = swiper.params.mousewheel;

      if (!swiper.mouseEntered && !params.releaseOnEdges) { return true; }

      if (e.originalEvent) { e = e.originalEvent; } // jquery fix
      var delta = 0;
      var rtlFactor = swiper.rtlTranslate ? -1 : 1;

      var data = Mousewheel.normalize(e);

      if (params.forceToAxis) {
        if (swiper.isHorizontal()) {
          if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) { delta = data.pixelX * rtlFactor; }
          else { return true; }
        } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) { delta = data.pixelY; }
        else { return true; }
      } else {
        delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;
      }

      if (delta === 0) { return true; }

      if (params.invert) { delta = -delta; }

      if (!swiper.params.freeMode) {
        if (Utils.now() - swiper.mousewheel.lastScrollTime > 60) {
          if (delta < 0) {
            if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {
              swiper.slideNext();
              swiper.emit('scroll', e);
            } else if (params.releaseOnEdges) { return true; }
          } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {
            swiper.slidePrev();
            swiper.emit('scroll', e);
          } else if (params.releaseOnEdges) { return true; }
        }
        swiper.mousewheel.lastScrollTime = (new win.Date()).getTime();
      } else {
        // Freemode or scrollContainer:
        if (swiper.params.loop) {
          swiper.loopFix();
        }
        var position = swiper.getTranslate() + (delta * params.sensitivity);
        var wasBeginning = swiper.isBeginning;
        var wasEnd = swiper.isEnd;

        if (position >= swiper.minTranslate()) { position = swiper.minTranslate(); }
        if (position <= swiper.maxTranslate()) { position = swiper.maxTranslate(); }

        swiper.setTransition(0);
        swiper.setTranslate(position);
        swiper.updateProgress();
        swiper.updateActiveIndex();
        swiper.updateSlidesClasses();

        if ((!wasBeginning && swiper.isBeginning) || (!wasEnd && swiper.isEnd)) {
          swiper.updateSlidesClasses();
        }

        if (swiper.params.freeModeSticky) {
          clearTimeout(swiper.mousewheel.timeout);
          swiper.mousewheel.timeout = Utils.nextTick(function () {
            swiper.slideToClosest();
          }, 300);
        }
        // Emit event
        swiper.emit('scroll', e);

        // Stop autoplay
        if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) { swiper.autoplay.stop(); }
        // Return page scroll on edge positions
        if (position === swiper.minTranslate() || position === swiper.maxTranslate()) { return true; }
      }

      if (e.preventDefault) { e.preventDefault(); }
      else { e.returnValue = false; }
      return false;
    },
    enable: function enable() {
      var swiper = this;
      if (!Mousewheel.event) { return false; }
      if (swiper.mousewheel.enabled) { return false; }
      var target = swiper.$el;
      if (swiper.params.mousewheel.eventsTarged !== 'container') {
        target = $(swiper.params.mousewheel.eventsTarged);
      }
      target.on('mouseenter', swiper.mousewheel.handleMouseEnter);
      target.on('mouseleave', swiper.mousewheel.handleMouseLeave);
      target.on(Mousewheel.event, swiper.mousewheel.handle);
      swiper.mousewheel.enabled = true;
      return true;
    },
    disable: function disable() {
      var swiper = this;
      if (!Mousewheel.event) { return false; }
      if (!swiper.mousewheel.enabled) { return false; }
      var target = swiper.$el;
      if (swiper.params.mousewheel.eventsTarged !== 'container') {
        target = $(swiper.params.mousewheel.eventsTarged);
      }
      target.off(Mousewheel.event, swiper.mousewheel.handle);
      swiper.mousewheel.enabled = false;
      return true;
    },
  };

  var Mousewheel$1 = {
    name: 'mousewheel',
    params: {
      mousewheel: {
        enabled: false,
        releaseOnEdges: false,
        invert: false,
        forceToAxis: false,
        sensitivity: 1,
        eventsTarged: 'container',
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        mousewheel: {
          enabled: false,
          enable: Mousewheel.enable.bind(swiper),
          disable: Mousewheel.disable.bind(swiper),
          handle: Mousewheel.handle.bind(swiper),
          handleMouseEnter: Mousewheel.handleMouseEnter.bind(swiper),
          handleMouseLeave: Mousewheel.handleMouseLeave.bind(swiper),
          lastScrollTime: Utils.now(),
        },
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        if (swiper.params.mousewheel.enabled) { swiper.mousewheel.enable(); }
      },
      destroy: function destroy() {
        var swiper = this;
        if (swiper.mousewheel.enabled) { swiper.mousewheel.disable(); }
      },
    },
  };

  var Navigation = {
    update: function update() {
      // Update Navigation Buttons
      var swiper = this;
      var params = swiper.params.navigation;

      if (swiper.params.loop) { return; }
      var ref = swiper.navigation;
      var $nextEl = ref.$nextEl;
      var $prevEl = ref.$prevEl;

      if ($prevEl && $prevEl.length > 0) {
        if (swiper.isBeginning) {
          $prevEl.addClass(params.disabledClass);
        } else {
          $prevEl.removeClass(params.disabledClass);
        }
        $prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
      }
      if ($nextEl && $nextEl.length > 0) {
        if (swiper.isEnd) {
          $nextEl.addClass(params.disabledClass);
        } else {
          $nextEl.removeClass(params.disabledClass);
        }
        $nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
      }
    },
    init: function init() {
      var swiper = this;
      var params = swiper.params.navigation;
      if (!(params.nextEl || params.prevEl)) { return; }

      var $nextEl;
      var $prevEl;
      if (params.nextEl) {
        $nextEl = $(params.nextEl);
        if (
          swiper.params.uniqueNavElements
          && typeof params.nextEl === 'string'
          && $nextEl.length > 1
          && swiper.$el.find(params.nextEl).length === 1
        ) {
          $nextEl = swiper.$el.find(params.nextEl);
        }
      }
      if (params.prevEl) {
        $prevEl = $(params.prevEl);
        if (
          swiper.params.uniqueNavElements
          && typeof params.prevEl === 'string'
          && $prevEl.length > 1
          && swiper.$el.find(params.prevEl).length === 1
        ) {
          $prevEl = swiper.$el.find(params.prevEl);
        }
      }

      if ($nextEl && $nextEl.length > 0) {
        $nextEl.on('click', function (e) {
          e.preventDefault();
          if (swiper.isEnd && !swiper.params.loop) { return; }
          swiper.slideNext();
        });
      }
      if ($prevEl && $prevEl.length > 0) {
        $prevEl.on('click', function (e) {
          e.preventDefault();
          if (swiper.isBeginning && !swiper.params.loop) { return; }
          swiper.slidePrev();
        });
      }

      Utils.extend(swiper.navigation, {
        $nextEl: $nextEl,
        nextEl: $nextEl && $nextEl[0],
        $prevEl: $prevEl,
        prevEl: $prevEl && $prevEl[0],
      });
    },
    destroy: function destroy() {
      var swiper = this;
      var ref = swiper.navigation;
      var $nextEl = ref.$nextEl;
      var $prevEl = ref.$prevEl;
      if ($nextEl && $nextEl.length) {
        $nextEl.off('click');
        $nextEl.removeClass(swiper.params.navigation.disabledClass);
      }
      if ($prevEl && $prevEl.length) {
        $prevEl.off('click');
        $prevEl.removeClass(swiper.params.navigation.disabledClass);
      }
    },
  };

  var Navigation$1 = {
    name: 'navigation',
    params: {
      navigation: {
        nextEl: null,
        prevEl: null,

        hideOnClick: false,
        disabledClass: 'swiper-button-disabled',
        hiddenClass: 'swiper-button-hidden',
        lockClass: 'swiper-button-lock',
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        navigation: {
          init: Navigation.init.bind(swiper),
          update: Navigation.update.bind(swiper),
          destroy: Navigation.destroy.bind(swiper),
        },
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        swiper.navigation.init();
        swiper.navigation.update();
      },
      toEdge: function toEdge() {
        var swiper = this;
        swiper.navigation.update();
      },
      fromEdge: function fromEdge() {
        var swiper = this;
        swiper.navigation.update();
      },
      destroy: function destroy() {
        var swiper = this;
        swiper.navigation.destroy();
      },
      click: function click(e) {
        var swiper = this;
        var ref = swiper.navigation;
        var $nextEl = ref.$nextEl;
        var $prevEl = ref.$prevEl;
        if (
          swiper.params.navigation.hideOnClick
          && !$(e.target).is($prevEl)
          && !$(e.target).is($nextEl)
        ) {
          if ($nextEl) { $nextEl.toggleClass(swiper.params.navigation.hiddenClass); }
          if ($prevEl) { $prevEl.toggleClass(swiper.params.navigation.hiddenClass); }
        }
      },
    },
  };

  var Pagination = {
    update: function update() {
      // Render || Update Pagination bullets/items
      var swiper = this;
      var rtl = swiper.rtl;
      var params = swiper.params.pagination;
      if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) { return; }
      var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
      var $el = swiper.pagination.$el;
      // Current/Total
      var current;
      var total = swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
      if (swiper.params.loop) {
        current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);
        if (current > slidesLength - 1 - (swiper.loopedSlides * 2)) {
          current -= (slidesLength - (swiper.loopedSlides * 2));
        }
        if (current > total - 1) { current -= total; }
        if (current < 0 && swiper.params.paginationType !== 'bullets') { current = total + current; }
      } else if (typeof swiper.snapIndex !== 'undefined') {
        current = swiper.snapIndex;
      } else {
        current = swiper.activeIndex || 0;
      }
      // Types
      if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {
        var bullets = swiper.pagination.bullets;
        var firstIndex;
        var lastIndex;
        var midIndex;
        if (params.dynamicBullets) {
          swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);
          $el.css(swiper.isHorizontal() ? 'width' : 'height', ((swiper.pagination.bulletSize * (params.dynamicMainBullets + 4)) + "px"));
          if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {
            swiper.pagination.dynamicBulletIndex += (current - swiper.previousIndex);
            if (swiper.pagination.dynamicBulletIndex > (params.dynamicMainBullets - 1)) {
              swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;
            } else if (swiper.pagination.dynamicBulletIndex < 0) {
              swiper.pagination.dynamicBulletIndex = 0;
            }
          }
          firstIndex = current - swiper.pagination.dynamicBulletIndex;
          lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
          midIndex = (lastIndex + firstIndex) / 2;
        }
        bullets.removeClass(((params.bulletActiveClass) + " " + (params.bulletActiveClass) + "-next " + (params.bulletActiveClass) + "-next-next " + (params.bulletActiveClass) + "-prev " + (params.bulletActiveClass) + "-prev-prev " + (params.bulletActiveClass) + "-main"));
        if ($el.length > 1) {
          bullets.each(function (index, bullet) {
            var $bullet = $(bullet);
            var bulletIndex = $bullet.index();
            if (bulletIndex === current) {
              $bullet.addClass(params.bulletActiveClass);
            }
            if (params.dynamicBullets) {
              if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {
                $bullet.addClass(((params.bulletActiveClass) + "-main"));
              }
              if (bulletIndex === firstIndex) {
                $bullet
                  .prev()
                  .addClass(((params.bulletActiveClass) + "-prev"))
                  .prev()
                  .addClass(((params.bulletActiveClass) + "-prev-prev"));
              }
              if (bulletIndex === lastIndex) {
                $bullet
                  .next()
                  .addClass(((params.bulletActiveClass) + "-next"))
                  .next()
                  .addClass(((params.bulletActiveClass) + "-next-next"));
              }
            }
          });
        } else {
          var $bullet = bullets.eq(current);
          $bullet.addClass(params.bulletActiveClass);
          if (params.dynamicBullets) {
            var $firstDisplayedBullet = bullets.eq(firstIndex);
            var $lastDisplayedBullet = bullets.eq(lastIndex);
            for (var i = firstIndex; i <= lastIndex; i += 1) {
              bullets.eq(i).addClass(((params.bulletActiveClass) + "-main"));
            }
            $firstDisplayedBullet
              .prev()
              .addClass(((params.bulletActiveClass) + "-prev"))
              .prev()
              .addClass(((params.bulletActiveClass) + "-prev-prev"));
            $lastDisplayedBullet
              .next()
              .addClass(((params.bulletActiveClass) + "-next"))
              .next()
              .addClass(((params.bulletActiveClass) + "-next-next"));
          }
        }
        if (params.dynamicBullets) {
          var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);
          var bulletsOffset = (((swiper.pagination.bulletSize * dynamicBulletsLength) - (swiper.pagination.bulletSize)) / 2) - (midIndex * swiper.pagination.bulletSize);
          var offsetProp = rtl ? 'right' : 'left';
          bullets.css(swiper.isHorizontal() ? offsetProp : 'top', (bulletsOffset + "px"));
        }
      }
      if (params.type === 'fraction') {
        $el.find(("." + (params.currentClass))).text(params.formatFractionCurrent(current + 1));
        $el.find(("." + (params.totalClass))).text(params.formatFractionTotal(total));
      }
      if (params.type === 'progressbar') {
        var progressbarDirection;
        if (params.progressbarOpposite) {
          progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';
        } else {
          progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';
        }
        var scale = (current + 1) / total;
        var scaleX = 1;
        var scaleY = 1;
        if (progressbarDirection === 'horizontal') {
          scaleX = scale;
        } else {
          scaleY = scale;
        }
        $el.find(("." + (params.progressbarFillClass))).transform(("translate3d(0,0,0) scaleX(" + scaleX + ") scaleY(" + scaleY + ")")).transition(swiper.params.speed);
      }
      if (params.type === 'custom' && params.renderCustom) {
        $el.html(params.renderCustom(swiper, current + 1, total));
        swiper.emit('paginationRender', swiper, $el[0]);
      } else {
        swiper.emit('paginationUpdate', swiper, $el[0]);
      }
      $el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
    },
    render: function render() {
      // Render Container
      var swiper = this;
      var params = swiper.params.pagination;
      if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) { return; }
      var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;

      var $el = swiper.pagination.$el;
      var paginationHTML = '';
      if (params.type === 'bullets') {
        var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
        for (var i = 0; i < numberOfBullets; i += 1) {
          if (params.renderBullet) {
            paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);
          } else {
            paginationHTML += "<" + (params.bulletElement) + " class=\"" + (params.bulletClass) + "\"></" + (params.bulletElement) + ">";
          }
        }
        $el.html(paginationHTML);
        swiper.pagination.bullets = $el.find(("." + (params.bulletClass)));
      }
      if (params.type === 'fraction') {
        if (params.renderFraction) {
          paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);
        } else {
          paginationHTML = "<span class=\"" + (params.currentClass) + "\"></span>"
          + ' / '
          + "<span class=\"" + (params.totalClass) + "\"></span>";
        }
        $el.html(paginationHTML);
      }
      if (params.type === 'progressbar') {
        if (params.renderProgressbar) {
          paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);
        } else {
          paginationHTML = "<span class=\"" + (params.progressbarFillClass) + "\"></span>";
        }
        $el.html(paginationHTML);
      }
      if (params.type !== 'custom') {
        swiper.emit('paginationRender', swiper.pagination.$el[0]);
      }
    },
    init: function init() {
      var swiper = this;
      var params = swiper.params.pagination;
      if (!params.el) { return; }

      var $el = $(params.el);
      if ($el.length === 0) { return; }

      if (
        swiper.params.uniqueNavElements
        && typeof params.el === 'string'
        && $el.length > 1
        && swiper.$el.find(params.el).length === 1
      ) {
        $el = swiper.$el.find(params.el);
      }

      if (params.type === 'bullets' && params.clickable) {
        $el.addClass(params.clickableClass);
      }

      $el.addClass(params.modifierClass + params.type);

      if (params.type === 'bullets' && params.dynamicBullets) {
        $el.addClass(("" + (params.modifierClass) + (params.type) + "-dynamic"));
        swiper.pagination.dynamicBulletIndex = 0;
        if (params.dynamicMainBullets < 1) {
          params.dynamicMainBullets = 1;
        }
      }
      if (params.type === 'progressbar' && params.progressbarOpposite) {
        $el.addClass(params.progressbarOppositeClass);
      }

      if (params.clickable) {
        $el.on('click', ("." + (params.bulletClass)), function onClick(e) {
          e.preventDefault();
          var index = $(this).index() * swiper.params.slidesPerGroup;
          if (swiper.params.loop) { index += swiper.loopedSlides; }
          swiper.slideTo(index);
        });
      }

      Utils.extend(swiper.pagination, {
        $el: $el,
        el: $el[0],
      });
    },
    destroy: function destroy() {
      var swiper = this;
      var params = swiper.params.pagination;
      if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) { return; }
      var $el = swiper.pagination.$el;

      $el.removeClass(params.hiddenClass);
      $el.removeClass(params.modifierClass + params.type);
      if (swiper.pagination.bullets) { swiper.pagination.bullets.removeClass(params.bulletActiveClass); }
      if (params.clickable) {
        $el.off('click', ("." + (params.bulletClass)));
      }
    },
  };

  var Pagination$1 = {
    name: 'pagination',
    params: {
      pagination: {
        el: null,
        bulletElement: 'span',
        clickable: false,
        hideOnClick: false,
        renderBullet: null,
        renderProgressbar: null,
        renderFraction: null,
        renderCustom: null,
        progressbarOpposite: false,
        type: 'bullets', // 'bullets' or 'progressbar' or 'fraction' or 'custom'
        dynamicBullets: false,
        dynamicMainBullets: 1,
        formatFractionCurrent: function (number) { return number; },
        formatFractionTotal: function (number) { return number; },
        bulletClass: 'swiper-pagination-bullet',
        bulletActiveClass: 'swiper-pagination-bullet-active',
        modifierClass: 'swiper-pagination-', // NEW
        currentClass: 'swiper-pagination-current',
        totalClass: 'swiper-pagination-total',
        hiddenClass: 'swiper-pagination-hidden',
        progressbarFillClass: 'swiper-pagination-progressbar-fill',
        progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',
        clickableClass: 'swiper-pagination-clickable', // NEW
        lockClass: 'swiper-pagination-lock',
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        pagination: {
          init: Pagination.init.bind(swiper),
          render: Pagination.render.bind(swiper),
          update: Pagination.update.bind(swiper),
          destroy: Pagination.destroy.bind(swiper),
          dynamicBulletIndex: 0,
        },
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        swiper.pagination.init();
        swiper.pagination.render();
        swiper.pagination.update();
      },
      activeIndexChange: function activeIndexChange() {
        var swiper = this;
        if (swiper.params.loop) {
          swiper.pagination.update();
        } else if (typeof swiper.snapIndex === 'undefined') {
          swiper.pagination.update();
        }
      },
      snapIndexChange: function snapIndexChange() {
        var swiper = this;
        if (!swiper.params.loop) {
          swiper.pagination.update();
        }
      },
      slidesLengthChange: function slidesLengthChange() {
        var swiper = this;
        if (swiper.params.loop) {
          swiper.pagination.render();
          swiper.pagination.update();
        }
      },
      snapGridLengthChange: function snapGridLengthChange() {
        var swiper = this;
        if (!swiper.params.loop) {
          swiper.pagination.render();
          swiper.pagination.update();
        }
      },
      destroy: function destroy() {
        var swiper = this;
        swiper.pagination.destroy();
      },
      click: function click(e) {
        var swiper = this;
        if (
          swiper.params.pagination.el
          && swiper.params.pagination.hideOnClick
          && swiper.pagination.$el.length > 0
          && !$(e.target).hasClass(swiper.params.pagination.bulletClass)
        ) {
          swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);
        }
      },
    },
  };

  var Scrollbar = {
    setTranslate: function setTranslate() {
      var swiper = this;
      if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) { return; }
      var scrollbar = swiper.scrollbar;
      var rtl = swiper.rtlTranslate;
      var progress = swiper.progress;
      var dragSize = scrollbar.dragSize;
      var trackSize = scrollbar.trackSize;
      var $dragEl = scrollbar.$dragEl;
      var $el = scrollbar.$el;
      var params = swiper.params.scrollbar;

      var newSize = dragSize;
      var newPos = (trackSize - dragSize) * progress;
      if (rtl) {
        newPos = -newPos;
        if (newPos > 0) {
          newSize = dragSize - newPos;
          newPos = 0;
        } else if (-newPos + dragSize > trackSize) {
          newSize = trackSize + newPos;
        }
      } else if (newPos < 0) {
        newSize = dragSize + newPos;
        newPos = 0;
      } else if (newPos + dragSize > trackSize) {
        newSize = trackSize - newPos;
      }
      if (swiper.isHorizontal()) {
        if (Support.transforms3d) {
          $dragEl.transform(("translate3d(" + newPos + "px, 0, 0)"));
        } else {
          $dragEl.transform(("translateX(" + newPos + "px)"));
        }
        $dragEl[0].style.width = newSize + "px";
      } else {
        if (Support.transforms3d) {
          $dragEl.transform(("translate3d(0px, " + newPos + "px, 0)"));
        } else {
          $dragEl.transform(("translateY(" + newPos + "px)"));
        }
        $dragEl[0].style.height = newSize + "px";
      }
      if (params.hide) {
        clearTimeout(swiper.scrollbar.timeout);
        $el[0].style.opacity = 1;
        swiper.scrollbar.timeout = setTimeout(function () {
          $el[0].style.opacity = 0;
          $el.transition(400);
        }, 1000);
      }
    },
    setTransition: function setTransition(duration) {
      var swiper = this;
      if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) { return; }
      swiper.scrollbar.$dragEl.transition(duration);
    },
    updateSize: function updateSize() {
      var swiper = this;
      if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) { return; }

      var scrollbar = swiper.scrollbar;
      var $dragEl = scrollbar.$dragEl;
      var $el = scrollbar.$el;

      $dragEl[0].style.width = '';
      $dragEl[0].style.height = '';
      var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;

      var divider = swiper.size / swiper.virtualSize;
      var moveDivider = divider * (trackSize / swiper.size);
      var dragSize;
      if (swiper.params.scrollbar.dragSize === 'auto') {
        dragSize = trackSize * divider;
      } else {
        dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);
      }

      if (swiper.isHorizontal()) {
        $dragEl[0].style.width = dragSize + "px";
      } else {
        $dragEl[0].style.height = dragSize + "px";
      }

      if (divider >= 1) {
        $el[0].style.display = 'none';
      } else {
        $el[0].style.display = '';
      }
      if (swiper.params.scrollbarHide) {
        $el[0].style.opacity = 0;
      }
      Utils.extend(scrollbar, {
        trackSize: trackSize,
        divider: divider,
        moveDivider: moveDivider,
        dragSize: dragSize,
      });
      scrollbar.$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);
    },
    setDragPosition: function setDragPosition(e) {
      var swiper = this;
      var scrollbar = swiper.scrollbar;
      var rtl = swiper.rtlTranslate;
      var $el = scrollbar.$el;
      var dragSize = scrollbar.dragSize;
      var trackSize = scrollbar.trackSize;

      var pointerPosition;
      if (swiper.isHorizontal()) {
        pointerPosition = ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageX : e.pageX || e.clientX);
      } else {
        pointerPosition = ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageY : e.pageY || e.clientY);
      }
      var positionRatio;
      positionRatio = ((pointerPosition) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragSize / 2)) / (trackSize - dragSize);
      positionRatio = Math.max(Math.min(positionRatio, 1), 0);
      if (rtl) {
        positionRatio = 1 - positionRatio;
      }

      var position = swiper.minTranslate() + ((swiper.maxTranslate() - swiper.minTranslate()) * positionRatio);

      swiper.updateProgress(position);
      swiper.setTranslate(position);
      swiper.updateActiveIndex();
      swiper.updateSlidesClasses();
    },
    onDragStart: function onDragStart(e) {
      var swiper = this;
      var params = swiper.params.scrollbar;
      var scrollbar = swiper.scrollbar;
      var $wrapperEl = swiper.$wrapperEl;
      var $el = scrollbar.$el;
      var $dragEl = scrollbar.$dragEl;
      swiper.scrollbar.isTouched = true;
      e.preventDefault();
      e.stopPropagation();

      $wrapperEl.transition(100);
      $dragEl.transition(100);
      scrollbar.setDragPosition(e);

      clearTimeout(swiper.scrollbar.dragTimeout);

      $el.transition(0);
      if (params.hide) {
        $el.css('opacity', 1);
      }
      swiper.emit('scrollbarDragStart', e);
    },
    onDragMove: function onDragMove(e) {
      var swiper = this;
      var scrollbar = swiper.scrollbar;
      var $wrapperEl = swiper.$wrapperEl;
      var $el = scrollbar.$el;
      var $dragEl = scrollbar.$dragEl;

      if (!swiper.scrollbar.isTouched) { return; }
      if (e.preventDefault) { e.preventDefault(); }
      else { e.returnValue = false; }
      scrollbar.setDragPosition(e);
      $wrapperEl.transition(0);
      $el.transition(0);
      $dragEl.transition(0);
      swiper.emit('scrollbarDragMove', e);
    },
    onDragEnd: function onDragEnd(e) {
      var swiper = this;

      var params = swiper.params.scrollbar;
      var scrollbar = swiper.scrollbar;
      var $el = scrollbar.$el;

      if (!swiper.scrollbar.isTouched) { return; }
      swiper.scrollbar.isTouched = false;
      if (params.hide) {
        clearTimeout(swiper.scrollbar.dragTimeout);
        swiper.scrollbar.dragTimeout = Utils.nextTick(function () {
          $el.css('opacity', 0);
          $el.transition(400);
        }, 1000);
      }
      swiper.emit('scrollbarDragEnd', e);
      if (params.snapOnRelease) {
        swiper.slideToClosest();
      }
    },
    enableDraggable: function enableDraggable() {
      var swiper = this;
      if (!swiper.params.scrollbar.el) { return; }
      var scrollbar = swiper.scrollbar;
      var touchEvents = swiper.touchEvents;
      var touchEventsDesktop = swiper.touchEventsDesktop;
      var params = swiper.params;
      var $el = scrollbar.$el;
      var target = $el[0];
      var activeListener = Support.passiveListener && params.passiveListeners ? { passive: false, capture: false } : false;
      var passiveListener = Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false;
      if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {
        target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);
        doc.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);
        doc.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);
      } else {
        if (Support.touch) {
          target.addEventListener(touchEvents.start, swiper.scrollbar.onDragStart, activeListener);
          target.addEventListener(touchEvents.move, swiper.scrollbar.onDragMove, activeListener);
          target.addEventListener(touchEvents.end, swiper.scrollbar.onDragEnd, passiveListener);
        }
        if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {
          target.addEventListener('mousedown', swiper.scrollbar.onDragStart, activeListener);
          doc.addEventListener('mousemove', swiper.scrollbar.onDragMove, activeListener);
          doc.addEventListener('mouseup', swiper.scrollbar.onDragEnd, passiveListener);
        }
      }
    },
    disableDraggable: function disableDraggable() {
      var swiper = this;
      if (!swiper.params.scrollbar.el) { return; }
      var scrollbar = swiper.scrollbar;
      var touchEvents = swiper.touchEvents;
      var touchEventsDesktop = swiper.touchEventsDesktop;
      var params = swiper.params;
      var $el = scrollbar.$el;
      var target = $el[0];
      var activeListener = Support.passiveListener && params.passiveListeners ? { passive: false, capture: false } : false;
      var passiveListener = Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false;
      if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {
        target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);
        doc.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);
        doc.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);
      } else {
        if (Support.touch) {
          target.removeEventListener(touchEvents.start, swiper.scrollbar.onDragStart, activeListener);
          target.removeEventListener(touchEvents.move, swiper.scrollbar.onDragMove, activeListener);
          target.removeEventListener(touchEvents.end, swiper.scrollbar.onDragEnd, passiveListener);
        }
        if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {
          target.removeEventListener('mousedown', swiper.scrollbar.onDragStart, activeListener);
          doc.removeEventListener('mousemove', swiper.scrollbar.onDragMove, activeListener);
          doc.removeEventListener('mouseup', swiper.scrollbar.onDragEnd, passiveListener);
        }
      }
    },
    init: function init() {
      var swiper = this;
      if (!swiper.params.scrollbar.el) { return; }
      var scrollbar = swiper.scrollbar;
      var $swiperEl = swiper.$el;
      var params = swiper.params.scrollbar;

      var $el = $(params.el);
      if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {
        $el = $swiperEl.find(params.el);
      }

      var $dragEl = $el.find(("." + (swiper.params.scrollbar.dragClass)));
      if ($dragEl.length === 0) {
        $dragEl = $(("<div class=\"" + (swiper.params.scrollbar.dragClass) + "\"></div>"));
        $el.append($dragEl);
      }

      Utils.extend(scrollbar, {
        $el: $el,
        el: $el[0],
        $dragEl: $dragEl,
        dragEl: $dragEl[0],
      });

      if (params.draggable) {
        scrollbar.enableDraggable();
      }
    },
    destroy: function destroy() {
      var swiper = this;
      swiper.scrollbar.disableDraggable();
    },
  };

  var Scrollbar$1 = {
    name: 'scrollbar',
    params: {
      scrollbar: {
        el: null,
        dragSize: 'auto',
        hide: false,
        draggable: false,
        snapOnRelease: true,
        lockClass: 'swiper-scrollbar-lock',
        dragClass: 'swiper-scrollbar-drag',
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        scrollbar: {
          init: Scrollbar.init.bind(swiper),
          destroy: Scrollbar.destroy.bind(swiper),
          updateSize: Scrollbar.updateSize.bind(swiper),
          setTranslate: Scrollbar.setTranslate.bind(swiper),
          setTransition: Scrollbar.setTransition.bind(swiper),
          enableDraggable: Scrollbar.enableDraggable.bind(swiper),
          disableDraggable: Scrollbar.disableDraggable.bind(swiper),
          setDragPosition: Scrollbar.setDragPosition.bind(swiper),
          onDragStart: Scrollbar.onDragStart.bind(swiper),
          onDragMove: Scrollbar.onDragMove.bind(swiper),
          onDragEnd: Scrollbar.onDragEnd.bind(swiper),
          isTouched: false,
          timeout: null,
          dragTimeout: null,
        },
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        swiper.scrollbar.init();
        swiper.scrollbar.updateSize();
        swiper.scrollbar.setTranslate();
      },
      update: function update() {
        var swiper = this;
        swiper.scrollbar.updateSize();
      },
      resize: function resize() {
        var swiper = this;
        swiper.scrollbar.updateSize();
      },
      observerUpdate: function observerUpdate() {
        var swiper = this;
        swiper.scrollbar.updateSize();
      },
      setTranslate: function setTranslate() {
        var swiper = this;
        swiper.scrollbar.setTranslate();
      },
      setTransition: function setTransition(duration) {
        var swiper = this;
        swiper.scrollbar.setTransition(duration);
      },
      destroy: function destroy() {
        var swiper = this;
        swiper.scrollbar.destroy();
      },
    },
  };

  var Parallax = {
    setTransform: function setTransform(el, progress) {
      var swiper = this;
      var rtl = swiper.rtl;

      var $el = $(el);
      var rtlFactor = rtl ? -1 : 1;

      var p = $el.attr('data-swiper-parallax') || '0';
      var x = $el.attr('data-swiper-parallax-x');
      var y = $el.attr('data-swiper-parallax-y');
      var scale = $el.attr('data-swiper-parallax-scale');
      var opacity = $el.attr('data-swiper-parallax-opacity');

      if (x || y) {
        x = x || '0';
        y = y || '0';
      } else if (swiper.isHorizontal()) {
        x = p;
        y = '0';
      } else {
        y = p;
        x = '0';
      }

      if ((x).indexOf('%') >= 0) {
        x = (parseInt(x, 10) * progress * rtlFactor) + "%";
      } else {
        x = (x * progress * rtlFactor) + "px";
      }
      if ((y).indexOf('%') >= 0) {
        y = (parseInt(y, 10) * progress) + "%";
      } else {
        y = (y * progress) + "px";
      }

      if (typeof opacity !== 'undefined' && opacity !== null) {
        var currentOpacity = opacity - ((opacity - 1) * (1 - Math.abs(progress)));
        $el[0].style.opacity = currentOpacity;
      }
      if (typeof scale === 'undefined' || scale === null) {
        $el.transform(("translate3d(" + x + ", " + y + ", 0px)"));
      } else {
        var currentScale = scale - ((scale - 1) * (1 - Math.abs(progress)));
        $el.transform(("translate3d(" + x + ", " + y + ", 0px) scale(" + currentScale + ")"));
      }
    },
    setTranslate: function setTranslate() {
      var swiper = this;
      var $el = swiper.$el;
      var slides = swiper.slides;
      var progress = swiper.progress;
      var snapGrid = swiper.snapGrid;
      $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]')
        .each(function (index, el) {
          swiper.parallax.setTransform(el, progress);
        });
      slides.each(function (slideIndex, slideEl) {
        var slideProgress = slideEl.progress;
        if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {
          slideProgress += Math.ceil(slideIndex / 2) - (progress * (snapGrid.length - 1));
        }
        slideProgress = Math.min(Math.max(slideProgress, -1), 1);
        $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]')
          .each(function (index, el) {
            swiper.parallax.setTransform(el, slideProgress);
          });
      });
    },
    setTransition: function setTransition(duration) {
      if ( duration === void 0 ) duration = this.params.speed;

      var swiper = this;
      var $el = swiper.$el;
      $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]')
        .each(function (index, parallaxEl) {
          var $parallaxEl = $(parallaxEl);
          var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;
          if (duration === 0) { parallaxDuration = 0; }
          $parallaxEl.transition(parallaxDuration);
        });
    },
  };

  var Parallax$1 = {
    name: 'parallax',
    params: {
      parallax: {
        enabled: false,
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        parallax: {
          setTransform: Parallax.setTransform.bind(swiper),
          setTranslate: Parallax.setTranslate.bind(swiper),
          setTransition: Parallax.setTransition.bind(swiper),
        },
      });
    },
    on: {
      beforeInit: function beforeInit() {
        var swiper = this;
        if (!swiper.params.parallax.enabled) { return; }
        swiper.params.watchSlidesProgress = true;
      },
      init: function init() {
        var swiper = this;
        if (!swiper.params.parallax) { return; }
        swiper.parallax.setTranslate();
      },
      setTranslate: function setTranslate() {
        var swiper = this;
        if (!swiper.params.parallax) { return; }
        swiper.parallax.setTranslate();
      },
      setTransition: function setTransition(duration) {
        var swiper = this;
        if (!swiper.params.parallax) { return; }
        swiper.parallax.setTransition(duration);
      },
    },
  };

  var Zoom = {
    // Calc Scale From Multi-touches
    getDistanceBetweenTouches: function getDistanceBetweenTouches(e) {
      if (e.targetTouches.length < 2) { return 1; }
      var x1 = e.targetTouches[0].pageX;
      var y1 = e.targetTouches[0].pageY;
      var x2 = e.targetTouches[1].pageX;
      var y2 = e.targetTouches[1].pageY;
      var distance = Math.sqrt((Math.pow( (x2 - x1), 2 )) + (Math.pow( (y2 - y1), 2 )));
      return distance;
    },
    // Events
    onGestureStart: function onGestureStart(e) {
      var swiper = this;
      var params = swiper.params.zoom;
      var zoom = swiper.zoom;
      var gesture = zoom.gesture;
      zoom.fakeGestureTouched = false;
      zoom.fakeGestureMoved = false;
      if (!Support.gestures) {
        if (e.type !== 'touchstart' || (e.type === 'touchstart' && e.targetTouches.length < 2)) {
          return;
        }
        zoom.fakeGestureTouched = true;
        gesture.scaleStart = Zoom.getDistanceBetweenTouches(e);
      }
      if (!gesture.$slideEl || !gesture.$slideEl.length) {
        gesture.$slideEl = $(e.target).closest('.swiper-slide');
        if (gesture.$slideEl.length === 0) { gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); }
        gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');
        gesture.$imageWrapEl = gesture.$imageEl.parent(("." + (params.containerClass)));
        gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
        if (gesture.$imageWrapEl.length === 0) {
          gesture.$imageEl = undefined;
          return;
        }
      }
      gesture.$imageEl.transition(0);
      swiper.zoom.isScaling = true;
    },
    onGestureChange: function onGestureChange(e) {
      var swiper = this;
      var params = swiper.params.zoom;
      var zoom = swiper.zoom;
      var gesture = zoom.gesture;
      if (!Support.gestures) {
        if (e.type !== 'touchmove' || (e.type === 'touchmove' && e.targetTouches.length < 2)) {
          return;
        }
        zoom.fakeGestureMoved = true;
        gesture.scaleMove = Zoom.getDistanceBetweenTouches(e);
      }
      if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; }
      if (Support.gestures) {
        swiper.zoom.scale = e.scale * zoom.currentScale;
      } else {
        zoom.scale = (gesture.scaleMove / gesture.scaleStart) * zoom.currentScale;
      }
      if (zoom.scale > gesture.maxRatio) {
        zoom.scale = (gesture.maxRatio - 1) + (Math.pow( ((zoom.scale - gesture.maxRatio) + 1), 0.5 ));
      }
      if (zoom.scale < params.minRatio) {
        zoom.scale = (params.minRatio + 1) - (Math.pow( ((params.minRatio - zoom.scale) + 1), 0.5 ));
      }
      gesture.$imageEl.transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")"));
    },
    onGestureEnd: function onGestureEnd(e) {
      var swiper = this;
      var params = swiper.params.zoom;
      var zoom = swiper.zoom;
      var gesture = zoom.gesture;
      if (!Support.gestures) {
        if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {
          return;
        }
        if (e.type !== 'touchend' || (e.type === 'touchend' && e.changedTouches.length < 2 && !Device.android)) {
          return;
        }
        zoom.fakeGestureTouched = false;
        zoom.fakeGestureMoved = false;
      }
      if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; }
      zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
      gesture.$imageEl.transition(swiper.params.speed).transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")"));
      zoom.currentScale = zoom.scale;
      zoom.isScaling = false;
      if (zoom.scale === 1) { gesture.$slideEl = undefined; }
    },
    onTouchStart: function onTouchStart(e) {
      var swiper = this;
      var zoom = swiper.zoom;
      var gesture = zoom.gesture;
      var image = zoom.image;
      if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; }
      if (image.isTouched) { return; }
      if (Device.android) { e.preventDefault(); }
      image.isTouched = true;
      image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
      image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
    },
    onTouchMove: function onTouchMove(e) {
      var swiper = this;
      var zoom = swiper.zoom;
      var gesture = zoom.gesture;
      var image = zoom.image;
      var velocity = zoom.velocity;
      if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; }
      swiper.allowClick = false;
      if (!image.isTouched || !gesture.$slideEl) { return; }

      if (!image.isMoved) {
        image.width = gesture.$imageEl[0].offsetWidth;
        image.height = gesture.$imageEl[0].offsetHeight;
        image.startX = Utils.getTranslate(gesture.$imageWrapEl[0], 'x') || 0;
        image.startY = Utils.getTranslate(gesture.$imageWrapEl[0], 'y') || 0;
        gesture.slideWidth = gesture.$slideEl[0].offsetWidth;
        gesture.slideHeight = gesture.$slideEl[0].offsetHeight;
        gesture.$imageWrapEl.transition(0);
        if (swiper.rtl) {
          image.startX = -image.startX;
          image.startY = -image.startY;
        }
      }
      // Define if we need image drag
      var scaledWidth = image.width * zoom.scale;
      var scaledHeight = image.height * zoom.scale;

      if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) { return; }

      image.minX = Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);
      image.maxX = -image.minX;
      image.minY = Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);
      image.maxY = -image.minY;

      image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;
      image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;

      if (!image.isMoved && !zoom.isScaling) {
        if (
          swiper.isHorizontal()
          && (
            (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x)
            || (Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)
          )
        ) {
          image.isTouched = false;
          return;
        } if (
          !swiper.isHorizontal()
          && (
            (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y)
            || (Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)
          )
        ) {
          image.isTouched = false;
          return;
        }
      }
      e.preventDefault();
      e.stopPropagation();

      image.isMoved = true;
      image.currentX = (image.touchesCurrent.x - image.touchesStart.x) + image.startX;
      image.currentY = (image.touchesCurrent.y - image.touchesStart.y) + image.startY;

      if (image.currentX < image.minX) {
        image.currentX = (image.minX + 1) - (Math.pow( ((image.minX - image.currentX) + 1), 0.8 ));
      }
      if (image.currentX > image.maxX) {
        image.currentX = (image.maxX - 1) + (Math.pow( ((image.currentX - image.maxX) + 1), 0.8 ));
      }

      if (image.currentY < image.minY) {
        image.currentY = (image.minY + 1) - (Math.pow( ((image.minY - image.currentY) + 1), 0.8 ));
      }
      if (image.currentY > image.maxY) {
        image.currentY = (image.maxY - 1) + (Math.pow( ((image.currentY - image.maxY) + 1), 0.8 ));
      }

      // Velocity
      if (!velocity.prevPositionX) { velocity.prevPositionX = image.touchesCurrent.x; }
      if (!velocity.prevPositionY) { velocity.prevPositionY = image.touchesCurrent.y; }
      if (!velocity.prevTime) { velocity.prevTime = Date.now(); }
      velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
      velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
      if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) { velocity.x = 0; }
      if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) { velocity.y = 0; }
      velocity.prevPositionX = image.touchesCurrent.x;
      velocity.prevPositionY = image.touchesCurrent.y;
      velocity.prevTime = Date.now();

      gesture.$imageWrapEl.transform(("translate3d(" + (image.currentX) + "px, " + (image.currentY) + "px,0)"));
    },
    onTouchEnd: function onTouchEnd() {
      var swiper = this;
      var zoom = swiper.zoom;
      var gesture = zoom.gesture;
      var image = zoom.image;
      var velocity = zoom.velocity;
      if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; }
      if (!image.isTouched || !image.isMoved) {
        image.isTouched = false;
        image.isMoved = false;
        return;
      }
      image.isTouched = false;
      image.isMoved = false;
      var momentumDurationX = 300;
      var momentumDurationY = 300;
      var momentumDistanceX = velocity.x * momentumDurationX;
      var newPositionX = image.currentX + momentumDistanceX;
      var momentumDistanceY = velocity.y * momentumDurationY;
      var newPositionY = image.currentY + momentumDistanceY;

      // Fix duration
      if (velocity.x !== 0) { momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x); }
      if (velocity.y !== 0) { momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y); }
      var momentumDuration = Math.max(momentumDurationX, momentumDurationY);

      image.currentX = newPositionX;
      image.currentY = newPositionY;

      // Define if we need image drag
      var scaledWidth = image.width * zoom.scale;
      var scaledHeight = image.height * zoom.scale;
      image.minX = Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);
      image.maxX = -image.minX;
      image.minY = Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);
      image.maxY = -image.minY;
      image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);
      image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);

      gesture.$imageWrapEl.transition(momentumDuration).transform(("translate3d(" + (image.currentX) + "px, " + (image.currentY) + "px,0)"));
    },
    onTransitionEnd: function onTransitionEnd() {
      var swiper = this;
      var zoom = swiper.zoom;
      var gesture = zoom.gesture;
      if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {
        gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');
        gesture.$imageWrapEl.transform('translate3d(0,0,0)');
        gesture.$slideEl = undefined;
        gesture.$imageEl = undefined;
        gesture.$imageWrapEl = undefined;

        zoom.scale = 1;
        zoom.currentScale = 1;
      }
    },
    // Toggle Zoom
    toggle: function toggle(e) {
      var swiper = this;
      var zoom = swiper.zoom;

      if (zoom.scale && zoom.scale !== 1) {
        // Zoom Out
        zoom.out();
      } else {
        // Zoom In
        zoom.in(e);
      }
    },
    in: function in$1(e) {
      var swiper = this;

      var zoom = swiper.zoom;
      var params = swiper.params.zoom;
      var gesture = zoom.gesture;
      var image = zoom.image;

      if (!gesture.$slideEl) {
        gesture.$slideEl = swiper.clickedSlide ? $(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);
        gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');
        gesture.$imageWrapEl = gesture.$imageEl.parent(("." + (params.containerClass)));
      }
      if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; }

      gesture.$slideEl.addClass(("" + (params.zoomedSlideClass)));

      var touchX;
      var touchY;
      var offsetX;
      var offsetY;
      var diffX;
      var diffY;
      var translateX;
      var translateY;
      var imageWidth;
      var imageHeight;
      var scaledWidth;
      var scaledHeight;
      var translateMinX;
      var translateMinY;
      var translateMaxX;
      var translateMaxY;
      var slideWidth;
      var slideHeight;

      if (typeof image.touchesStart.x === 'undefined' && e) {
        touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;
        touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;
      } else {
        touchX = image.touchesStart.x;
        touchY = image.touchesStart.y;
      }

      zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
      zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
      if (e) {
        slideWidth = gesture.$slideEl[0].offsetWidth;
        slideHeight = gesture.$slideEl[0].offsetHeight;
        offsetX = gesture.$slideEl.offset().left;
        offsetY = gesture.$slideEl.offset().top;
        diffX = (offsetX + (slideWidth / 2)) - touchX;
        diffY = (offsetY + (slideHeight / 2)) - touchY;

        imageWidth = gesture.$imageEl[0].offsetWidth;
        imageHeight = gesture.$imageEl[0].offsetHeight;
        scaledWidth = imageWidth * zoom.scale;
        scaledHeight = imageHeight * zoom.scale;

        translateMinX = Math.min(((slideWidth / 2) - (scaledWidth / 2)), 0);
        translateMinY = Math.min(((slideHeight / 2) - (scaledHeight / 2)), 0);
        translateMaxX = -translateMinX;
        translateMaxY = -translateMinY;

        translateX = diffX * zoom.scale;
        translateY = diffY * zoom.scale;

        if (translateX < translateMinX) {
          translateX = translateMinX;
        }
        if (translateX > translateMaxX) {
          translateX = translateMaxX;
        }

        if (translateY < translateMinY) {
          translateY = translateMinY;
        }
        if (translateY > translateMaxY) {
          translateY = translateMaxY;
        }
      } else {
        translateX = 0;
        translateY = 0;
      }
      gesture.$imageWrapEl.transition(300).transform(("translate3d(" + translateX + "px, " + translateY + "px,0)"));
      gesture.$imageEl.transition(300).transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")"));
    },
    out: function out() {
      var swiper = this;

      var zoom = swiper.zoom;
      var params = swiper.params.zoom;
      var gesture = zoom.gesture;

      if (!gesture.$slideEl) {
        gesture.$slideEl = swiper.clickedSlide ? $(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);
        gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');
        gesture.$imageWrapEl = gesture.$imageEl.parent(("." + (params.containerClass)));
      }
      if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; }

      zoom.scale = 1;
      zoom.currentScale = 1;
      gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');
      gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');
      gesture.$slideEl.removeClass(("" + (params.zoomedSlideClass)));
      gesture.$slideEl = undefined;
    },
    // Attach/Detach Events
    enable: function enable() {
      var swiper = this;
      var zoom = swiper.zoom;
      if (zoom.enabled) { return; }
      zoom.enabled = true;

      var passiveListener = swiper.touchEvents.start === 'touchstart' && Support.passiveListener && swiper.params.passiveListeners ? { passive: true, capture: false } : false;

      // Scale image
      if (Support.gestures) {
        swiper.$wrapperEl.on('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);
        swiper.$wrapperEl.on('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);
        swiper.$wrapperEl.on('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);
      } else if (swiper.touchEvents.start === 'touchstart') {
        swiper.$wrapperEl.on(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);
        swiper.$wrapperEl.on(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);
        swiper.$wrapperEl.on(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);
      }

      // Move image
      swiper.$wrapperEl.on(swiper.touchEvents.move, ("." + (swiper.params.zoom.containerClass)), zoom.onTouchMove);
    },
    disable: function disable() {
      var swiper = this;
      var zoom = swiper.zoom;
      if (!zoom.enabled) { return; }

      swiper.zoom.enabled = false;

      var passiveListener = swiper.touchEvents.start === 'touchstart' && Support.passiveListener && swiper.params.passiveListeners ? { passive: true, capture: false } : false;

      // Scale image
      if (Support.gestures) {
        swiper.$wrapperEl.off('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);
        swiper.$wrapperEl.off('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);
        swiper.$wrapperEl.off('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);
      } else if (swiper.touchEvents.start === 'touchstart') {
        swiper.$wrapperEl.off(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);
        swiper.$wrapperEl.off(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);
        swiper.$wrapperEl.off(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);
      }

      // Move image
      swiper.$wrapperEl.off(swiper.touchEvents.move, ("." + (swiper.params.zoom.containerClass)), zoom.onTouchMove);
    },
  };

  var Zoom$1 = {
    name: 'zoom',
    params: {
      zoom: {
        enabled: false,
        maxRatio: 3,
        minRatio: 1,
        toggle: true,
        containerClass: 'swiper-zoom-container',
        zoomedSlideClass: 'swiper-slide-zoomed',
      },
    },
    create: function create() {
      var swiper = this;
      var zoom = {
        enabled: false,
        scale: 1,
        currentScale: 1,
        isScaling: false,
        gesture: {
          $slideEl: undefined,
          slideWidth: undefined,
          slideHeight: undefined,
          $imageEl: undefined,
          $imageWrapEl: undefined,
          maxRatio: 3,
        },
        image: {
          isTouched: undefined,
          isMoved: undefined,
          currentX: undefined,
          currentY: undefined,
          minX: undefined,
          minY: undefined,
          maxX: undefined,
          maxY: undefined,
          width: undefined,
          height: undefined,
          startX: undefined,
          startY: undefined,
          touchesStart: {},
          touchesCurrent: {},
        },
        velocity: {
          x: undefined,
          y: undefined,
          prevPositionX: undefined,
          prevPositionY: undefined,
          prevTime: undefined,
        },
      };
      ('onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out').split(' ').forEach(function (methodName) {
        zoom[methodName] = Zoom[methodName].bind(swiper);
      });
      Utils.extend(swiper, {
        zoom: zoom,
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        if (swiper.params.zoom.enabled) {
          swiper.zoom.enable();
        }
      },
      destroy: function destroy() {
        var swiper = this;
        swiper.zoom.disable();
      },
      touchStart: function touchStart(e) {
        var swiper = this;
        if (!swiper.zoom.enabled) { return; }
        swiper.zoom.onTouchStart(e);
      },
      touchEnd: function touchEnd(e) {
        var swiper = this;
        if (!swiper.zoom.enabled) { return; }
        swiper.zoom.onTouchEnd(e);
      },
      doubleTap: function doubleTap(e) {
        var swiper = this;
        if (swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {
          swiper.zoom.toggle(e);
        }
      },
      transitionEnd: function transitionEnd() {
        var swiper = this;
        if (swiper.zoom.enabled && swiper.params.zoom.enabled) {
          swiper.zoom.onTransitionEnd();
        }
      },
    },
  };

  var Lazy = {
    loadInSlide: function loadInSlide(index, loadInDuplicate) {
      if ( loadInDuplicate === void 0 ) loadInDuplicate = true;

      var swiper = this;
      var params = swiper.params.lazy;
      if (typeof index === 'undefined') { return; }
      if (swiper.slides.length === 0) { return; }
      var isVirtual = swiper.virtual && swiper.params.virtual.enabled;

      var $slideEl = isVirtual
        ? swiper.$wrapperEl.children(("." + (swiper.params.slideClass) + "[data-swiper-slide-index=\"" + index + "\"]"))
        : swiper.slides.eq(index);

      var $images = $slideEl.find(("." + (params.elementClass) + ":not(." + (params.loadedClass) + "):not(." + (params.loadingClass) + ")"));
      if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {
        $images = $images.add($slideEl[0]);
      }
      if ($images.length === 0) { return; }

      $images.each(function (imageIndex, imageEl) {
        var $imageEl = $(imageEl);
        $imageEl.addClass(params.loadingClass);

        var background = $imageEl.attr('data-background');
        var src = $imageEl.attr('data-src');
        var srcset = $imageEl.attr('data-srcset');
        var sizes = $imageEl.attr('data-sizes');

        swiper.loadImage($imageEl[0], (src || background), srcset, sizes, false, function () {
          if (typeof swiper === 'undefined' || swiper === null || !swiper || (swiper && !swiper.params) || swiper.destroyed) { return; }
          if (background) {
            $imageEl.css('background-image', ("url(\"" + background + "\")"));
            $imageEl.removeAttr('data-background');
          } else {
            if (srcset) {
              $imageEl.attr('srcset', srcset);
              $imageEl.removeAttr('data-srcset');
            }
            if (sizes) {
              $imageEl.attr('sizes', sizes);
              $imageEl.removeAttr('data-sizes');
            }
            if (src) {
              $imageEl.attr('src', src);
              $imageEl.removeAttr('data-src');
            }
          }

          $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);
          $slideEl.find(("." + (params.preloaderClass))).remove();
          if (swiper.params.loop && loadInDuplicate) {
            var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');
            if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {
              var originalSlide = swiper.$wrapperEl.children(("[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]:not(." + (swiper.params.slideDuplicateClass) + ")"));
              swiper.lazy.loadInSlide(originalSlide.index(), false);
            } else {
              var duplicatedSlide = swiper.$wrapperEl.children(("." + (swiper.params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]"));
              swiper.lazy.loadInSlide(duplicatedSlide.index(), false);
            }
          }
          swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);
        });

        swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);
      });
    },
    load: function load() {
      var swiper = this;
      var $wrapperEl = swiper.$wrapperEl;
      var swiperParams = swiper.params;
      var slides = swiper.slides;
      var activeIndex = swiper.activeIndex;
      var isVirtual = swiper.virtual && swiperParams.virtual.enabled;
      var params = swiperParams.lazy;

      var slidesPerView = swiperParams.slidesPerView;
      if (slidesPerView === 'auto') {
        slidesPerView = 0;
      }

      function slideExist(index) {
        if (isVirtual) {
          if ($wrapperEl.children(("." + (swiperParams.slideClass) + "[data-swiper-slide-index=\"" + index + "\"]")).length) {
            return true;
          }
        } else if (slides[index]) { return true; }
        return false;
      }
      function slideIndex(slideEl) {
        if (isVirtual) {
          return $(slideEl).attr('data-swiper-slide-index');
        }
        return $(slideEl).index();
      }

      if (!swiper.lazy.initialImageLoaded) { swiper.lazy.initialImageLoaded = true; }
      if (swiper.params.watchSlidesVisibility) {
        $wrapperEl.children(("." + (swiperParams.slideVisibleClass))).each(function (elIndex, slideEl) {
          var index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();
          swiper.lazy.loadInSlide(index);
        });
      } else if (slidesPerView > 1) {
        for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {
          if (slideExist(i)) { swiper.lazy.loadInSlide(i); }
        }
      } else {
        swiper.lazy.loadInSlide(activeIndex);
      }
      if (params.loadPrevNext) {
        if (slidesPerView > 1 || (params.loadPrevNextAmount && params.loadPrevNextAmount > 1)) {
          var amount = params.loadPrevNextAmount;
          var spv = slidesPerView;
          var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);
          var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0);
          // Next Slides
          for (var i$1 = activeIndex + slidesPerView; i$1 < maxIndex; i$1 += 1) {
            if (slideExist(i$1)) { swiper.lazy.loadInSlide(i$1); }
          }
          // Prev Slides
          for (var i$2 = minIndex; i$2 < activeIndex; i$2 += 1) {
            if (slideExist(i$2)) { swiper.lazy.loadInSlide(i$2); }
          }
        } else {
          var nextSlide = $wrapperEl.children(("." + (swiperParams.slideNextClass)));
          if (nextSlide.length > 0) { swiper.lazy.loadInSlide(slideIndex(nextSlide)); }

          var prevSlide = $wrapperEl.children(("." + (swiperParams.slidePrevClass)));
          if (prevSlide.length > 0) { swiper.lazy.loadInSlide(slideIndex(prevSlide)); }
        }
      }
    },
  };

  var Lazy$1 = {
    name: 'lazy',
    params: {
      lazy: {
        enabled: false,
        loadPrevNext: false,
        loadPrevNextAmount: 1,
        loadOnTransitionStart: false,

        elementClass: 'swiper-lazy',
        loadingClass: 'swiper-lazy-loading',
        loadedClass: 'swiper-lazy-loaded',
        preloaderClass: 'swiper-lazy-preloader',
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        lazy: {
          initialImageLoaded: false,
          load: Lazy.load.bind(swiper),
          loadInSlide: Lazy.loadInSlide.bind(swiper),
        },
      });
    },
    on: {
      beforeInit: function beforeInit() {
        var swiper = this;
        if (swiper.params.lazy.enabled && swiper.params.preloadImages) {
          swiper.params.preloadImages = false;
        }
      },
      init: function init() {
        var swiper = this;
        if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {
          swiper.lazy.load();
        }
      },
      scroll: function scroll() {
        var swiper = this;
        if (swiper.params.freeMode && !swiper.params.freeModeSticky) {
          swiper.lazy.load();
        }
      },
      resize: function resize() {
        var swiper = this;
        if (swiper.params.lazy.enabled) {
          swiper.lazy.load();
        }
      },
      scrollbarDragMove: function scrollbarDragMove() {
        var swiper = this;
        if (swiper.params.lazy.enabled) {
          swiper.lazy.load();
        }
      },
      transitionStart: function transitionStart() {
        var swiper = this;
        if (swiper.params.lazy.enabled) {
          if (swiper.params.lazy.loadOnTransitionStart || (!swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded)) {
            swiper.lazy.load();
          }
        }
      },
      transitionEnd: function transitionEnd() {
        var swiper = this;
        if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {
          swiper.lazy.load();
        }
      },
    },
  };

  /* eslint no-bitwise: ["error", { "allow": [">>"] }] */

  var Controller = {
    LinearSpline: function LinearSpline(x, y) {
      var binarySearch = (function search() {
        var maxIndex;
        var minIndex;
        var guess;
        return function (array, val) {
          minIndex = -1;
          maxIndex = array.length;
          while (maxIndex - minIndex > 1) {
            guess = maxIndex + minIndex >> 1;
            if (array[guess] <= val) {
              minIndex = guess;
            } else {
              maxIndex = guess;
            }
          }
          return maxIndex;
        };
      }());
      this.x = x;
      this.y = y;
      this.lastIndex = x.length - 1;
      // Given an x value (x2), return the expected y2 value:
      // (x1,y1) is the known point before given value,
      // (x3,y3) is the known point after given value.
      var i1;
      var i3;

      this.interpolate = function interpolate(x2) {
        if (!x2) { return 0; }

        // Get the indexes of x1 and x3 (the array indexes before and after given x2):
        i3 = binarySearch(this.x, x2);
        i1 = i3 - 1;

        // We have our indexes i1 & i3, so we can calculate already:
        // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1
        return (((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1])) + this.y[i1];
      };
      return this;
    },
    // xxx: for now i will just save one spline function to to
    getInterpolateFunction: function getInterpolateFunction(c) {
      var swiper = this;
      if (!swiper.controller.spline) {
        swiper.controller.spline = swiper.params.loop
          ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid)
          : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);
      }
    },
    setTranslate: function setTranslate(setTranslate$1, byController) {
      var swiper = this;
      var controlled = swiper.controller.control;
      var multiplier;
      var controlledTranslate;
      function setControlledTranslate(c) {
        // this will create an Interpolate function based on the snapGrids
        // x is the Grid of the scrolled scroller and y will be the controlled scroller
        // it makes sense to create this only once and recall it for the interpolation
        // the function does a lot of value caching for performance
        var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;
        if (swiper.params.controller.by === 'slide') {
          swiper.controller.getInterpolateFunction(c);
          // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid
          // but it did not work out
          controlledTranslate = -swiper.controller.spline.interpolate(-translate);
        }

        if (!controlledTranslate || swiper.params.controller.by === 'container') {
          multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
          controlledTranslate = ((translate - swiper.minTranslate()) * multiplier) + c.minTranslate();
        }

        if (swiper.params.controller.inverse) {
          controlledTranslate = c.maxTranslate() - controlledTranslate;
        }
        c.updateProgress(controlledTranslate);
        c.setTranslate(controlledTranslate, swiper);
        c.updateActiveIndex();
        c.updateSlidesClasses();
      }
      if (Array.isArray(controlled)) {
        for (var i = 0; i < controlled.length; i += 1) {
          if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
            setControlledTranslate(controlled[i]);
          }
        }
      } else if (controlled instanceof Swiper && byController !== controlled) {
        setControlledTranslate(controlled);
      }
    },
    setTransition: function setTransition(duration, byController) {
      var swiper = this;
      var controlled = swiper.controller.control;
      var i;
      function setControlledTransition(c) {
        c.setTransition(duration, swiper);
        if (duration !== 0) {
          c.transitionStart();
          if (c.params.autoHeight) {
            Utils.nextTick(function () {
              c.updateAutoHeight();
            });
          }
          c.$wrapperEl.transitionEnd(function () {
            if (!controlled) { return; }
            if (c.params.loop && swiper.params.controller.by === 'slide') {
              c.loopFix();
            }
            c.transitionEnd();
          });
        }
      }
      if (Array.isArray(controlled)) {
        for (i = 0; i < controlled.length; i += 1) {
          if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
            setControlledTransition(controlled[i]);
          }
        }
      } else if (controlled instanceof Swiper && byController !== controlled) {
        setControlledTransition(controlled);
      }
    },
  };
  var Controller$1 = {
    name: 'controller',
    params: {
      controller: {
        control: undefined,
        inverse: false,
        by: 'slide', // or 'container'
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        controller: {
          control: swiper.params.controller.control,
          getInterpolateFunction: Controller.getInterpolateFunction.bind(swiper),
          setTranslate: Controller.setTranslate.bind(swiper),
          setTransition: Controller.setTransition.bind(swiper),
        },
      });
    },
    on: {
      update: function update() {
        var swiper = this;
        if (!swiper.controller.control) { return; }
        if (swiper.controller.spline) {
          swiper.controller.spline = undefined;
          delete swiper.controller.spline;
        }
      },
      resize: function resize() {
        var swiper = this;
        if (!swiper.controller.control) { return; }
        if (swiper.controller.spline) {
          swiper.controller.spline = undefined;
          delete swiper.controller.spline;
        }
      },
      observerUpdate: function observerUpdate() {
        var swiper = this;
        if (!swiper.controller.control) { return; }
        if (swiper.controller.spline) {
          swiper.controller.spline = undefined;
          delete swiper.controller.spline;
        }
      },
      setTranslate: function setTranslate(translate, byController) {
        var swiper = this;
        if (!swiper.controller.control) { return; }
        swiper.controller.setTranslate(translate, byController);
      },
      setTransition: function setTransition(duration, byController) {
        var swiper = this;
        if (!swiper.controller.control) { return; }
        swiper.controller.setTransition(duration, byController);
      },
    },
  };

  var a11y = {
    makeElFocusable: function makeElFocusable($el) {
      $el.attr('tabIndex', '0');
      return $el;
    },
    addElRole: function addElRole($el, role) {
      $el.attr('role', role);
      return $el;
    },
    addElLabel: function addElLabel($el, label) {
      $el.attr('aria-label', label);
      return $el;
    },
    disableEl: function disableEl($el) {
      $el.attr('aria-disabled', true);
      return $el;
    },
    enableEl: function enableEl($el) {
      $el.attr('aria-disabled', false);
      return $el;
    },
    onEnterKey: function onEnterKey(e) {
      var swiper = this;
      var params = swiper.params.a11y;
      if (e.keyCode !== 13) { return; }
      var $targetEl = $(e.target);
      if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {
        if (!(swiper.isEnd && !swiper.params.loop)) {
          swiper.slideNext();
        }
        if (swiper.isEnd) {
          swiper.a11y.notify(params.lastSlideMessage);
        } else {
          swiper.a11y.notify(params.nextSlideMessage);
        }
      }
      if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {
        if (!(swiper.isBeginning && !swiper.params.loop)) {
          swiper.slidePrev();
        }
        if (swiper.isBeginning) {
          swiper.a11y.notify(params.firstSlideMessage);
        } else {
          swiper.a11y.notify(params.prevSlideMessage);
        }
      }
      if (swiper.pagination && $targetEl.is(("." + (swiper.params.pagination.bulletClass)))) {
        $targetEl[0].click();
      }
    },
    notify: function notify(message) {
      var swiper = this;
      var notification = swiper.a11y.liveRegion;
      if (notification.length === 0) { return; }
      notification.html('');
      notification.html(message);
    },
    updateNavigation: function updateNavigation() {
      var swiper = this;

      if (swiper.params.loop) { return; }
      var ref = swiper.navigation;
      var $nextEl = ref.$nextEl;
      var $prevEl = ref.$prevEl;

      if ($prevEl && $prevEl.length > 0) {
        if (swiper.isBeginning) {
          swiper.a11y.disableEl($prevEl);
        } else {
          swiper.a11y.enableEl($prevEl);
        }
      }
      if ($nextEl && $nextEl.length > 0) {
        if (swiper.isEnd) {
          swiper.a11y.disableEl($nextEl);
        } else {
          swiper.a11y.enableEl($nextEl);
        }
      }
    },
    updatePagination: function updatePagination() {
      var swiper = this;
      var params = swiper.params.a11y;
      if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {
        swiper.pagination.bullets.each(function (bulletIndex, bulletEl) {
          var $bulletEl = $(bulletEl);
          swiper.a11y.makeElFocusable($bulletEl);
          swiper.a11y.addElRole($bulletEl, 'button');
          swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/{{index}}/, $bulletEl.index() + 1));
        });
      }
    },
    init: function init() {
      var swiper = this;

      swiper.$el.append(swiper.a11y.liveRegion);

      // Navigation
      var params = swiper.params.a11y;
      var $nextEl;
      var $prevEl;
      if (swiper.navigation && swiper.navigation.$nextEl) {
        $nextEl = swiper.navigation.$nextEl;
      }
      if (swiper.navigation && swiper.navigation.$prevEl) {
        $prevEl = swiper.navigation.$prevEl;
      }
      if ($nextEl) {
        swiper.a11y.makeElFocusable($nextEl);
        swiper.a11y.addElRole($nextEl, 'button');
        swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);
        $nextEl.on('keydown', swiper.a11y.onEnterKey);
      }
      if ($prevEl) {
        swiper.a11y.makeElFocusable($prevEl);
        swiper.a11y.addElRole($prevEl, 'button');
        swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);
        $prevEl.on('keydown', swiper.a11y.onEnterKey);
      }

      // Pagination
      if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {
        swiper.pagination.$el.on('keydown', ("." + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey);
      }
    },
    destroy: function destroy() {
      var swiper = this;
      if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) { swiper.a11y.liveRegion.remove(); }

      var $nextEl;
      var $prevEl;
      if (swiper.navigation && swiper.navigation.$nextEl) {
        $nextEl = swiper.navigation.$nextEl;
      }
      if (swiper.navigation && swiper.navigation.$prevEl) {
        $prevEl = swiper.navigation.$prevEl;
      }
      if ($nextEl) {
        $nextEl.off('keydown', swiper.a11y.onEnterKey);
      }
      if ($prevEl) {
        $prevEl.off('keydown', swiper.a11y.onEnterKey);
      }

      // Pagination
      if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {
        swiper.pagination.$el.off('keydown', ("." + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey);
      }
    },
  };
  var A11y = {
    name: 'a11y',
    params: {
      a11y: {
        enabled: true,
        notificationClass: 'swiper-notification',
        prevSlideMessage: 'Previous slide',
        nextSlideMessage: 'Next slide',
        firstSlideMessage: 'This is the first slide',
        lastSlideMessage: 'This is the last slide',
        paginationBulletMessage: 'Go to slide {{index}}',
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        a11y: {
          liveRegion: $(("<span class=\"" + (swiper.params.a11y.notificationClass) + "\" aria-live=\"assertive\" aria-atomic=\"true\"></span>")),
        },
      });
      Object.keys(a11y).forEach(function (methodName) {
        swiper.a11y[methodName] = a11y[methodName].bind(swiper);
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        if (!swiper.params.a11y.enabled) { return; }
        swiper.a11y.init();
        swiper.a11y.updateNavigation();
      },
      toEdge: function toEdge() {
        var swiper = this;
        if (!swiper.params.a11y.enabled) { return; }
        swiper.a11y.updateNavigation();
      },
      fromEdge: function fromEdge() {
        var swiper = this;
        if (!swiper.params.a11y.enabled) { return; }
        swiper.a11y.updateNavigation();
      },
      paginationUpdate: function paginationUpdate() {
        var swiper = this;
        if (!swiper.params.a11y.enabled) { return; }
        swiper.a11y.updatePagination();
      },
      destroy: function destroy() {
        var swiper = this;
        if (!swiper.params.a11y.enabled) { return; }
        swiper.a11y.destroy();
      },
    },
  };

  var History = {
    init: function init() {
      var swiper = this;
      if (!swiper.params.history) { return; }
      if (!win.history || !win.history.pushState) {
        swiper.params.history.enabled = false;
        swiper.params.hashNavigation.enabled = true;
        return;
      }
      var history = swiper.history;
      history.initialized = true;
      history.paths = History.getPathValues();
      if (!history.paths.key && !history.paths.value) { return; }
      history.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit);
      if (!swiper.params.history.replaceState) {
        win.addEventListener('popstate', swiper.history.setHistoryPopState);
      }
    },
    destroy: function destroy() {
      var swiper = this;
      if (!swiper.params.history.replaceState) {
        win.removeEventListener('popstate', swiper.history.setHistoryPopState);
      }
    },
    setHistoryPopState: function setHistoryPopState() {
      var swiper = this;
      swiper.history.paths = History.getPathValues();
      swiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false);
    },
    getPathValues: function getPathValues() {
      var pathArray = win.location.pathname.slice(1).split('/').filter(function (part) { return part !== ''; });
      var total = pathArray.length;
      var key = pathArray[total - 2];
      var value = pathArray[total - 1];
      return { key: key, value: value };
    },
    setHistory: function setHistory(key, index) {
      var swiper = this;
      if (!swiper.history.initialized || !swiper.params.history.enabled) { return; }
      var slide = swiper.slides.eq(index);
      var value = History.slugify(slide.attr('data-history'));
      if (!win.location.pathname.includes(key)) {
        value = key + "/" + value;
      }
      var currentState = win.history.state;
      if (currentState && currentState.value === value) {
        return;
      }
      if (swiper.params.history.replaceState) {
        win.history.replaceState({ value: value }, null, value);
      } else {
        win.history.pushState({ value: value }, null, value);
      }
    },
    slugify: function slugify(text) {
      return text.toString().toLowerCase()
        .replace(/\s+/g, '-')
        .replace(/[^\w-]+/g, '')
        .replace(/--+/g, '-')
        .replace(/^-+/, '')
        .replace(/-+$/, '');
    },
    scrollToSlide: function scrollToSlide(speed, value, runCallbacks) {
      var swiper = this;
      if (value) {
        for (var i = 0, length = swiper.slides.length; i < length; i += 1) {
          var slide = swiper.slides.eq(i);
          var slideHistory = History.slugify(slide.attr('data-history'));
          if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {
            var index = slide.index();
            swiper.slideTo(index, speed, runCallbacks);
          }
        }
      } else {
        swiper.slideTo(0, speed, runCallbacks);
      }
    },
  };

  var History$1 = {
    name: 'history',
    params: {
      history: {
        enabled: false,
        replaceState: false,
        key: 'slides',
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        history: {
          init: History.init.bind(swiper),
          setHistory: History.setHistory.bind(swiper),
          setHistoryPopState: History.setHistoryPopState.bind(swiper),
          scrollToSlide: History.scrollToSlide.bind(swiper),
          destroy: History.destroy.bind(swiper),
        },
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        if (swiper.params.history.enabled) {
          swiper.history.init();
        }
      },
      destroy: function destroy() {
        var swiper = this;
        if (swiper.params.history.enabled) {
          swiper.history.destroy();
        }
      },
      transitionEnd: function transitionEnd() {
        var swiper = this;
        if (swiper.history.initialized) {
          swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);
        }
      },
    },
  };

  var HashNavigation = {
    onHashCange: function onHashCange() {
      var swiper = this;
      var newHash = doc.location.hash.replace('#', '');
      var activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');
      if (newHash !== activeSlideHash) {
        swiper.slideTo(swiper.$wrapperEl.children(("." + (swiper.params.slideClass) + "[data-hash=\"" + newHash + "\"]")).index());
      }
    },
    setHash: function setHash() {
      var swiper = this;
      if (!swiper.hashNavigation.initialized || !swiper.params.hashNavigation.enabled) { return; }
      if (swiper.params.hashNavigation.replaceState && win.history && win.history.replaceState) {
        win.history.replaceState(null, null, (("#" + (swiper.slides.eq(swiper.activeIndex).attr('data-hash'))) || ''));
      } else {
        var slide = swiper.slides.eq(swiper.activeIndex);
        var hash = slide.attr('data-hash') || slide.attr('data-history');
        doc.location.hash = hash || '';
      }
    },
    init: function init() {
      var swiper = this;
      if (!swiper.params.hashNavigation.enabled || (swiper.params.history && swiper.params.history.enabled)) { return; }
      swiper.hashNavigation.initialized = true;
      var hash = doc.location.hash.replace('#', '');
      if (hash) {
        var speed = 0;
        for (var i = 0, length = swiper.slides.length; i < length; i += 1) {
          var slide = swiper.slides.eq(i);
          var slideHash = slide.attr('data-hash') || slide.attr('data-history');
          if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {
            var index = slide.index();
            swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);
          }
        }
      }
      if (swiper.params.hashNavigation.watchState) {
        $(win).on('hashchange', swiper.hashNavigation.onHashCange);
      }
    },
    destroy: function destroy() {
      var swiper = this;
      if (swiper.params.hashNavigation.watchState) {
        $(win).off('hashchange', swiper.hashNavigation.onHashCange);
      }
    },
  };
  var HashNavigation$1 = {
    name: 'hash-navigation',
    params: {
      hashNavigation: {
        enabled: false,
        replaceState: false,
        watchState: false,
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        hashNavigation: {
          initialized: false,
          init: HashNavigation.init.bind(swiper),
          destroy: HashNavigation.destroy.bind(swiper),
          setHash: HashNavigation.setHash.bind(swiper),
          onHashCange: HashNavigation.onHashCange.bind(swiper),
        },
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        if (swiper.params.hashNavigation.enabled) {
          swiper.hashNavigation.init();
        }
      },
      destroy: function destroy() {
        var swiper = this;
        if (swiper.params.hashNavigation.enabled) {
          swiper.hashNavigation.destroy();
        }
      },
      transitionEnd: function transitionEnd() {
        var swiper = this;
        if (swiper.hashNavigation.initialized) {
          swiper.hashNavigation.setHash();
        }
      },
    },
  };

  /* eslint no-underscore-dangle: "off" */

  var Autoplay = {
    run: function run() {
      var swiper = this;
      var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);
      var delay = swiper.params.autoplay.delay;
      if ($activeSlideEl.attr('data-swiper-autoplay')) {
        delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;
      }
      swiper.autoplay.timeout = Utils.nextTick(function () {
        if (swiper.params.autoplay.reverseDirection) {
          if (swiper.params.loop) {
            swiper.loopFix();
            swiper.slidePrev(swiper.params.speed, true, true);
            swiper.emit('autoplay');
          } else if (!swiper.isBeginning) {
            swiper.slidePrev(swiper.params.speed, true, true);
            swiper.emit('autoplay');
          } else if (!swiper.params.autoplay.stopOnLastSlide) {
            swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);
            swiper.emit('autoplay');
          } else {
            swiper.autoplay.stop();
          }
        } else if (swiper.params.loop) {
          swiper.loopFix();
          swiper.slideNext(swiper.params.speed, true, true);
          swiper.emit('autoplay');
        } else if (!swiper.isEnd) {
          swiper.slideNext(swiper.params.speed, true, true);
          swiper.emit('autoplay');
        } else if (!swiper.params.autoplay.stopOnLastSlide) {
          swiper.slideTo(0, swiper.params.speed, true, true);
          swiper.emit('autoplay');
        } else {
          swiper.autoplay.stop();
        }
      }, delay);
    },
    start: function start() {
      var swiper = this;
      if (typeof swiper.autoplay.timeout !== 'undefined') { return false; }
      if (swiper.autoplay.running) { return false; }
      swiper.autoplay.running = true;
      swiper.emit('autoplayStart');
      swiper.autoplay.run();
      return true;
    },
    stop: function stop() {
      var swiper = this;
      if (!swiper.autoplay.running) { return false; }
      if (typeof swiper.autoplay.timeout === 'undefined') { return false; }

      if (swiper.autoplay.timeout) {
        clearTimeout(swiper.autoplay.timeout);
        swiper.autoplay.timeout = undefined;
      }
      swiper.autoplay.running = false;
      swiper.emit('autoplayStop');
      return true;
    },
    pause: function pause(speed) {
      var swiper = this;
      if (!swiper.autoplay.running) { return; }
      if (swiper.autoplay.paused) { return; }
      if (swiper.autoplay.timeout) { clearTimeout(swiper.autoplay.timeout); }
      swiper.autoplay.paused = true;
      if (speed === 0 || !swiper.params.autoplay.waitForTransition) {
        swiper.autoplay.paused = false;
        swiper.autoplay.run();
      } else {
        swiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd);
        swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);
      }
    },
  };

  var Autoplay$1 = {
    name: 'autoplay',
    params: {
      autoplay: {
        enabled: false,
        delay: 3000,
        waitForTransition: true,
        disableOnInteraction: true,
        stopOnLastSlide: false,
        reverseDirection: false,
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        autoplay: {
          running: false,
          paused: false,
          run: Autoplay.run.bind(swiper),
          start: Autoplay.start.bind(swiper),
          stop: Autoplay.stop.bind(swiper),
          pause: Autoplay.pause.bind(swiper),
          onTransitionEnd: function onTransitionEnd(e) {
            if (!swiper || swiper.destroyed || !swiper.$wrapperEl) { return; }
            if (e.target !== this) { return; }
            swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd);
            swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);
            swiper.autoplay.paused = false;
            if (!swiper.autoplay.running) {
              swiper.autoplay.stop();
            } else {
              swiper.autoplay.run();
            }
          },
        },
      });
    },
    on: {
      init: function init() {
        var swiper = this;
        if (swiper.params.autoplay.enabled) {
          swiper.autoplay.start();
        }
      },
      beforeTransitionStart: function beforeTransitionStart(speed, internal) {
        var swiper = this;
        if (swiper.autoplay.running) {
          if (internal || !swiper.params.autoplay.disableOnInteraction) {
            swiper.autoplay.pause(speed);
          } else {
            swiper.autoplay.stop();
          }
        }
      },
      sliderFirstMove: function sliderFirstMove() {
        var swiper = this;
        if (swiper.autoplay.running) {
          if (swiper.params.autoplay.disableOnInteraction) {
            swiper.autoplay.stop();
          } else {
            swiper.autoplay.pause();
          }
        }
      },
      destroy: function destroy() {
        var swiper = this;
        if (swiper.autoplay.running) {
          swiper.autoplay.stop();
        }
      },
    },
  };

  var Fade = {
    setTranslate: function setTranslate() {
      var swiper = this;
      var slides = swiper.slides;
      for (var i = 0; i < slides.length; i += 1) {
        var $slideEl = swiper.slides.eq(i);
        var offset = $slideEl[0].swiperSlideOffset;
        var tx = -offset;
        if (!swiper.params.virtualTranslate) { tx -= swiper.translate; }
        var ty = 0;
        if (!swiper.isHorizontal()) {
          ty = tx;
          tx = 0;
        }
        var slideOpacity = swiper.params.fadeEffect.crossFade
          ? Math.max(1 - Math.abs($slideEl[0].progress), 0)
          : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);
        $slideEl
          .css({
            opacity: slideOpacity,
          })
          .transform(("translate3d(" + tx + "px, " + ty + "px, 0px)"));
      }
    },
    setTransition: function setTransition(duration) {
      var swiper = this;
      var slides = swiper.slides;
      var $wrapperEl = swiper.$wrapperEl;
      slides.transition(duration);
      if (swiper.params.virtualTranslate && duration !== 0) {
        var eventTriggered = false;
        slides.transitionEnd(function () {
          if (eventTriggered) { return; }
          if (!swiper || swiper.destroyed) { return; }
          eventTriggered = true;
          swiper.animating = false;
          var triggerEvents = ['webkitTransitionEnd', 'transitionend'];
          for (var i = 0; i < triggerEvents.length; i += 1) {
            $wrapperEl.trigger(triggerEvents[i]);
          }
        });
      }
    },
  };

  var EffectFade = {
    name: 'effect-fade',
    params: {
      fadeEffect: {
        crossFade: false,
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        fadeEffect: {
          setTranslate: Fade.setTranslate.bind(swiper),
          setTransition: Fade.setTransition.bind(swiper),
        },
      });
    },
    on: {
      beforeInit: function beforeInit() {
        var swiper = this;
        if (swiper.params.effect !== 'fade') { return; }
        swiper.classNames.push(((swiper.params.containerModifierClass) + "fade"));
        var overwriteParams = {
          slidesPerView: 1,
          slidesPerColumn: 1,
          slidesPerGroup: 1,
          watchSlidesProgress: true,
          spaceBetween: 0,
          virtualTranslate: true,
        };
        Utils.extend(swiper.params, overwriteParams);
        Utils.extend(swiper.originalParams, overwriteParams);
      },
      setTranslate: function setTranslate() {
        var swiper = this;
        if (swiper.params.effect !== 'fade') { return; }
        swiper.fadeEffect.setTranslate();
      },
      setTransition: function setTransition(duration) {
        var swiper = this;
        if (swiper.params.effect !== 'fade') { return; }
        swiper.fadeEffect.setTransition(duration);
      },
    },
  };

  var Cube = {
    setTranslate: function setTranslate() {
      var swiper = this;
      var $el = swiper.$el;
      var $wrapperEl = swiper.$wrapperEl;
      var slides = swiper.slides;
      var swiperWidth = swiper.width;
      var swiperHeight = swiper.height;
      var rtl = swiper.rtlTranslate;
      var swiperSize = swiper.size;
      var params = swiper.params.cubeEffect;
      var isHorizontal = swiper.isHorizontal();
      var isVirtual = swiper.virtual && swiper.params.virtual.enabled;
      var wrapperRotate = 0;
      var $cubeShadowEl;
      if (params.shadow) {
        if (isHorizontal) {
          $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');
          if ($cubeShadowEl.length === 0) {
            $cubeShadowEl = $('<div class="swiper-cube-shadow"></div>');
            $wrapperEl.append($cubeShadowEl);
          }
          $cubeShadowEl.css({ height: (swiperWidth + "px") });
        } else {
          $cubeShadowEl = $el.find('.swiper-cube-shadow');
          if ($cubeShadowEl.length === 0) {
            $cubeShadowEl = $('<div class="swiper-cube-shadow"></div>');
            $el.append($cubeShadowEl);
          }
        }
      }
      for (var i = 0; i < slides.length; i += 1) {
        var $slideEl = slides.eq(i);
        var slideIndex = i;
        if (isVirtual) {
          slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);
        }
        var slideAngle = slideIndex * 90;
        var round = Math.floor(slideAngle / 360);
        if (rtl) {
          slideAngle = -slideAngle;
          round = Math.floor(-slideAngle / 360);
        }
        var progress = Math.max(Math.min($slideEl[0].progress, 1), -1);
        var tx = 0;
        var ty = 0;
        var tz = 0;
        if (slideIndex % 4 === 0) {
          tx = -round * 4 * swiperSize;
          tz = 0;
        } else if ((slideIndex - 1) % 4 === 0) {
          tx = 0;
          tz = -round * 4 * swiperSize;
        } else if ((slideIndex - 2) % 4 === 0) {
          tx = swiperSize + (round * 4 * swiperSize);
          tz = swiperSize;
        } else if ((slideIndex - 3) % 4 === 0) {
          tx = -swiperSize;
          tz = (3 * swiperSize) + (swiperSize * 4 * round);
        }
        if (rtl) {
          tx = -tx;
        }

        if (!isHorizontal) {
          ty = tx;
          tx = 0;
        }

        var transform = "rotateX(" + (isHorizontal ? 0 : -slideAngle) + "deg) rotateY(" + (isHorizontal ? slideAngle : 0) + "deg) translate3d(" + tx + "px, " + ty + "px, " + tz + "px)";
        if (progress <= 1 && progress > -1) {
          wrapperRotate = (slideIndex * 90) + (progress * 90);
          if (rtl) { wrapperRotate = (-slideIndex * 90) - (progress * 90); }
        }
        $slideEl.transform(transform);
        if (params.slideShadows) {
          // Set shadows
          var shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');
          var shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');
          if (shadowBefore.length === 0) {
            shadowBefore = $(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'left' : 'top') + "\"></div>"));
            $slideEl.append(shadowBefore);
          }
          if (shadowAfter.length === 0) {
            shadowAfter = $(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'right' : 'bottom') + "\"></div>"));
            $slideEl.append(shadowAfter);
          }
          if (shadowBefore.length) { shadowBefore[0].style.opacity = Math.max(-progress, 0); }
          if (shadowAfter.length) { shadowAfter[0].style.opacity = Math.max(progress, 0); }
        }
      }
      $wrapperEl.css({
        '-webkit-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
        '-moz-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
        '-ms-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
        'transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
      });

      if (params.shadow) {
        if (isHorizontal) {
          $cubeShadowEl.transform(("translate3d(0px, " + ((swiperWidth / 2) + params.shadowOffset) + "px, " + (-swiperWidth / 2) + "px) rotateX(90deg) rotateZ(0deg) scale(" + (params.shadowScale) + ")"));
        } else {
          var shadowAngle = Math.abs(wrapperRotate) - (Math.floor(Math.abs(wrapperRotate) / 90) * 90);
          var multiplier = 1.5 - (
            (Math.sin((shadowAngle * 2 * Math.PI) / 360) / 2)
            + (Math.cos((shadowAngle * 2 * Math.PI) / 360) / 2)
          );
          var scale1 = params.shadowScale;
          var scale2 = params.shadowScale / multiplier;
          var offset = params.shadowOffset;
          $cubeShadowEl.transform(("scale3d(" + scale1 + ", 1, " + scale2 + ") translate3d(0px, " + ((swiperHeight / 2) + offset) + "px, " + (-swiperHeight / 2 / scale2) + "px) rotateX(-90deg)"));
        }
      }
      var zFactor = (Browser.isSafari || Browser.isUiWebView) ? (-swiperSize / 2) : 0;
      $wrapperEl
        .transform(("translate3d(0px,0," + zFactor + "px) rotateX(" + (swiper.isHorizontal() ? 0 : wrapperRotate) + "deg) rotateY(" + (swiper.isHorizontal() ? -wrapperRotate : 0) + "deg)"));
    },
    setTransition: function setTransition(duration) {
      var swiper = this;
      var $el = swiper.$el;
      var slides = swiper.slides;
      slides
        .transition(duration)
        .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')
        .transition(duration);
      if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {
        $el.find('.swiper-cube-shadow').transition(duration);
      }
    },
  };

  var EffectCube = {
    name: 'effect-cube',
    params: {
      cubeEffect: {
        slideShadows: true,
        shadow: true,
        shadowOffset: 20,
        shadowScale: 0.94,
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        cubeEffect: {
          setTranslate: Cube.setTranslate.bind(swiper),
          setTransition: Cube.setTransition.bind(swiper),
        },
      });
    },
    on: {
      beforeInit: function beforeInit() {
        var swiper = this;
        if (swiper.params.effect !== 'cube') { return; }
        swiper.classNames.push(((swiper.params.containerModifierClass) + "cube"));
        swiper.classNames.push(((swiper.params.containerModifierClass) + "3d"));
        var overwriteParams = {
          slidesPerView: 1,
          slidesPerColumn: 1,
          slidesPerGroup: 1,
          watchSlidesProgress: true,
          resistanceRatio: 0,
          spaceBetween: 0,
          centeredSlides: false,
          virtualTranslate: true,
        };
        Utils.extend(swiper.params, overwriteParams);
        Utils.extend(swiper.originalParams, overwriteParams);
      },
      setTranslate: function setTranslate() {
        var swiper = this;
        if (swiper.params.effect !== 'cube') { return; }
        swiper.cubeEffect.setTranslate();
      },
      setTransition: function setTransition(duration) {
        var swiper = this;
        if (swiper.params.effect !== 'cube') { return; }
        swiper.cubeEffect.setTransition(duration);
      },
    },
  };

  var Flip = {
    setTranslate: function setTranslate() {
      var swiper = this;
      var slides = swiper.slides;
      var rtl = swiper.rtlTranslate;
      for (var i = 0; i < slides.length; i += 1) {
        var $slideEl = slides.eq(i);
        var progress = $slideEl[0].progress;
        if (swiper.params.flipEffect.limitRotation) {
          progress = Math.max(Math.min($slideEl[0].progress, 1), -1);
        }
        var offset = $slideEl[0].swiperSlideOffset;
        var rotate = -180 * progress;
        var rotateY = rotate;
        var rotateX = 0;
        var tx = -offset;
        var ty = 0;
        if (!swiper.isHorizontal()) {
          ty = tx;
          tx = 0;
          rotateX = -rotateY;
          rotateY = 0;
        } else if (rtl) {
          rotateY = -rotateY;
        }

        $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;

        if (swiper.params.flipEffect.slideShadows) {
          // Set shadows
          var shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');
          var shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');
          if (shadowBefore.length === 0) {
            shadowBefore = $(("<div class=\"swiper-slide-shadow-" + (swiper.isHorizontal() ? 'left' : 'top') + "\"></div>"));
            $slideEl.append(shadowBefore);
          }
          if (shadowAfter.length === 0) {
            shadowAfter = $(("<div class=\"swiper-slide-shadow-" + (swiper.isHorizontal() ? 'right' : 'bottom') + "\"></div>"));
            $slideEl.append(shadowAfter);
          }
          if (shadowBefore.length) { shadowBefore[0].style.opacity = Math.max(-progress, 0); }
          if (shadowAfter.length) { shadowAfter[0].style.opacity = Math.max(progress, 0); }
        }
        $slideEl
          .transform(("translate3d(" + tx + "px, " + ty + "px, 0px) rotateX(" + rotateX + "deg) rotateY(" + rotateY + "deg)"));
      }
    },
    setTransition: function setTransition(duration) {
      var swiper = this;
      var slides = swiper.slides;
      var activeIndex = swiper.activeIndex;
      var $wrapperEl = swiper.$wrapperEl;
      slides
        .transition(duration)
        .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')
        .transition(duration);
      if (swiper.params.virtualTranslate && duration !== 0) {
        var eventTriggered = false;
        // eslint-disable-next-line
        slides.eq(activeIndex).transitionEnd(function onTransitionEnd() {
          if (eventTriggered) { return; }
          if (!swiper || swiper.destroyed) { return; }
          // if (!$(this).hasClass(swiper.params.slideActiveClass)) return;
          eventTriggered = true;
          swiper.animating = false;
          var triggerEvents = ['webkitTransitionEnd', 'transitionend'];
          for (var i = 0; i < triggerEvents.length; i += 1) {
            $wrapperEl.trigger(triggerEvents[i]);
          }
        });
      }
    },
  };

  var EffectFlip = {
    name: 'effect-flip',
    params: {
      flipEffect: {
        slideShadows: true,
        limitRotation: true,
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        flipEffect: {
          setTranslate: Flip.setTranslate.bind(swiper),
          setTransition: Flip.setTransition.bind(swiper),
        },
      });
    },
    on: {
      beforeInit: function beforeInit() {
        var swiper = this;
        if (swiper.params.effect !== 'flip') { return; }
        swiper.classNames.push(((swiper.params.containerModifierClass) + "flip"));
        swiper.classNames.push(((swiper.params.containerModifierClass) + "3d"));
        var overwriteParams = {
          slidesPerView: 1,
          slidesPerColumn: 1,
          slidesPerGroup: 1,
          watchSlidesProgress: true,
          spaceBetween: 0,
          virtualTranslate: true,
        };
        Utils.extend(swiper.params, overwriteParams);
        Utils.extend(swiper.originalParams, overwriteParams);
      },
      setTranslate: function setTranslate() {
        var swiper = this;
        if (swiper.params.effect !== 'flip') { return; }
        swiper.flipEffect.setTranslate();
      },
      setTransition: function setTransition(duration) {
        var swiper = this;
        if (swiper.params.effect !== 'flip') { return; }
        swiper.flipEffect.setTransition(duration);
      },
    },
  };

  var Coverflow = {
    setTranslate: function setTranslate() {
      var swiper = this;
      var swiperWidth = swiper.width;
      var swiperHeight = swiper.height;
      var slides = swiper.slides;
      var $wrapperEl = swiper.$wrapperEl;
      var slidesSizesGrid = swiper.slidesSizesGrid;
      var params = swiper.params.coverflowEffect;
      var isHorizontal = swiper.isHorizontal();
      var transform = swiper.translate;
      var center = isHorizontal ? -transform + (swiperWidth / 2) : -transform + (swiperHeight / 2);
      var rotate = isHorizontal ? params.rotate : -params.rotate;
      var translate = params.depth;
      // Each slide offset from center
      for (var i = 0, length = slides.length; i < length; i += 1) {
        var $slideEl = slides.eq(i);
        var slideSize = slidesSizesGrid[i];
        var slideOffset = $slideEl[0].swiperSlideOffset;
        var offsetMultiplier = ((center - slideOffset - (slideSize / 2)) / slideSize) * params.modifier;

        var rotateY = isHorizontal ? rotate * offsetMultiplier : 0;
        var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;
        // var rotateZ = 0
        var translateZ = -translate * Math.abs(offsetMultiplier);

        var translateY = isHorizontal ? 0 : params.stretch * (offsetMultiplier);
        var translateX = isHorizontal ? params.stretch * (offsetMultiplier) : 0;

        // Fix for ultra small values
        if (Math.abs(translateX) < 0.001) { translateX = 0; }
        if (Math.abs(translateY) < 0.001) { translateY = 0; }
        if (Math.abs(translateZ) < 0.001) { translateZ = 0; }
        if (Math.abs(rotateY) < 0.001) { rotateY = 0; }
        if (Math.abs(rotateX) < 0.001) { rotateX = 0; }

        var slideTransform = "translate3d(" + translateX + "px," + translateY + "px," + translateZ + "px)  rotateX(" + rotateX + "deg) rotateY(" + rotateY + "deg)";

        $slideEl.transform(slideTransform);
        $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;
        if (params.slideShadows) {
          // Set shadows
          var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');
          var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');
          if ($shadowBeforeEl.length === 0) {
            $shadowBeforeEl = $(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'left' : 'top') + "\"></div>"));
            $slideEl.append($shadowBeforeEl);
          }
          if ($shadowAfterEl.length === 0) {
            $shadowAfterEl = $(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'right' : 'bottom') + "\"></div>"));
            $slideEl.append($shadowAfterEl);
          }
          if ($shadowBeforeEl.length) { $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; }
          if ($shadowAfterEl.length) { $shadowAfterEl[0].style.opacity = (-offsetMultiplier) > 0 ? -offsetMultiplier : 0; }
        }
      }

      // Set correct perspective for IE10
      if (Support.pointerEvents || Support.prefixedPointerEvents) {
        var ws = $wrapperEl[0].style;
        ws.perspectiveOrigin = center + "px 50%";
      }
    },
    setTransition: function setTransition(duration) {
      var swiper = this;
      swiper.slides
        .transition(duration)
        .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')
        .transition(duration);
    },
  };

  var EffectCoverflow = {
    name: 'effect-coverflow',
    params: {
      coverflowEffect: {
        rotate: 50,
        stretch: 0,
        depth: 100,
        modifier: 1,
        slideShadows: true,
      },
    },
    create: function create() {
      var swiper = this;
      Utils.extend(swiper, {
        coverflowEffect: {
          setTranslate: Coverflow.setTranslate.bind(swiper),
          setTransition: Coverflow.setTransition.bind(swiper),
        },
      });
    },
    on: {
      beforeInit: function beforeInit() {
        var swiper = this;
        if (swiper.params.effect !== 'coverflow') { return; }

        swiper.classNames.push(((swiper.params.containerModifierClass) + "coverflow"));
        swiper.classNames.push(((swiper.params.containerModifierClass) + "3d"));

        swiper.params.watchSlidesProgress = true;
        swiper.originalParams.watchSlidesProgress = true;
      },
      setTranslate: function setTranslate() {
        var swiper = this;
        if (swiper.params.effect !== 'coverflow') { return; }
        swiper.coverflowEffect.setTranslate();
      },
      setTransition: function setTransition(duration) {
        var swiper = this;
        if (swiper.params.effect !== 'coverflow') { return; }
        swiper.coverflowEffect.setTransition(duration);
      },
    },
  };

  // Swiper Class

  var components = [
    Device$1,
    Support$1,
    Browser$1,
    Resize,
    Observer$1,
    Virtual$1,
    Keyboard$1,
    Mousewheel$1,
    Navigation$1,
    Pagination$1,
    Scrollbar$1,
    Parallax$1,
    Zoom$1,
    Lazy$1,
    Controller$1,
    A11y,
    History$1,
    HashNavigation$1,
    Autoplay$1,
    EffectFade,
    EffectCube,
    EffectFlip,
    EffectCoverflow
  ];

  if (typeof Swiper.use === 'undefined') {
    Swiper.use = Swiper.Class.use;
    Swiper.installModule = Swiper.Class.installModule;
  }

  Swiper.use(components);

  return Swiper;

})));