vendor: 3,619 bytes, lines 1-88
1/******/ (function(modules) { // webpackBootstrap 2/******/ // The module cache 3/******/ var installedModules = {}; 4/******/ 5/******/ // The require function 6/******/ function __webpack_require__(moduleId) { 7/******/ 8/******/ // Check if module is in cache 9/******/ if(installedModules[moduleId]) { 10/******/ return installedModules[moduleId].exports; 11/******/ } 12/******/ // Create a new module (and put it into the cache) 13/******/ var module = installedModules[moduleId] = { 14/******/ i: moduleId, 15/******/ l: false, 16/******/ exports: {} 17/******/ }; 18/******/ 19/******/ // Execute the module function 20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 21/******/ 22/******/ // Flag the module as loaded 23/******/ module.l = true; 24/******/ 25/******/ // Return the exports of the module 26/******/ return module.exports; 27/******/ } 28/******/ 29/******/ 30/******/ // expose the modules object (__webpack_modules__) 31/******/ __webpack_require__.m = modules; 32/******/ 33/******/ // expose the module cache 34/******/ __webpack_require__.c = installedModules; 35/******/ 36/******/ // define getter function for harmony exports 37/******/ __webpack_require__.d = function(exports, name, getter) { 38/******/ if(!__webpack_require__.o(exports, name)) { 39/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 40/******/ } 41/******/ }; 42/******/ 43/******/ // define __esModule on exports 44/******/ __webpack_require__.r = function(exports) { 45/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 46/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 47/******/ } 48/******/ Object.defineProperty(exports, '__esModule', { value: true }); 49/******/ }; 50/******/ 51/******/ // create a fake namespace object 52/******/ // mode & 1: value is a module id, require it 53/******/ // mode & 2: merge all properties of value into the ns 54/******/ // mode & 4: return value when already ns object 55/******/ // mode & 8|1: behave like require 56/******/ __webpack_require__.t = function(value, mode) { 57/******/ if(mode & 1) value = __webpack_require__(value); 58/******/ if(mode & 8) return value; 59/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 60/******/ var ns = Object.create(null); 61/******/ __webpack_require__.r(ns); 62/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 63/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 64/******/ return ns; 65/******/ }; 66/******/ 67/******/ // getDefaultExport function for compatibility with non-harmony modules 68/******/ __webpack_require__.n = function(module) { 69/******/ var getter = module && module.__esModule ? 70/******/ function getDefault() { return module['default']; } : 71/******/ function getModuleExports() { return module; }; 72/******/ __webpack_require__.d(getter, 'a', getter); 73/******/ return getter; 74/******/ }; 75/******/ 76/******/ // Object.prototype.hasOwnProperty.call 77/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 78/******/ 79/******/ // __webpack_public_path__ 80/******/ __webpack_require__.p = ""; 81/******/ 82/******/ 83/******/ // Load entry module and return exports 84/******/ return __webpack_require__(__webpack_require__.s = "../src/assets/js/main.js"); 85/******/ }) 86/************************************************************************/ 87/******/ ({ 88
vendor: 3,478 bytes, lines 89-103
89/***/ "../node_modules/jquery-nice-select/js/jquery.nice-select.min.js": 90/*!***********************************************************************!*\ 91 !*** ../node_modules/jquery-nice-select/js/jquery.nice-select.min.js ***! 92 \***********************************************************************/ 93/*! no static exports found */ 94/***/ (function(module, exports, __webpack_require__) { 95 96/* WEBPACK VAR INJECTION */(function(jQuery) {/* jQuery Nice Select - v1.0 97 https://github.com/hernansartorio/jquery-nice-select 98 Made by Hernán Sartorio */ 99!function(e){e.fn.niceSelect=function(t){function s(t){t.after(e("<div></div>").addClass("nice-select").addClass(t.attr("class")||"").addClass(t.attr("disabled")?"disabled":"").attr("tabindex",t.attr("disabled")?null:"0").html('<span class="current"></span><ul class="list"></ul>'));var s=t.next(),n=t.find("option"),i=t.find("option:selected");s.find(".current").html(i.data("display")||i.text()),n.each(function(t){var n=e(this),i=n.data("display");s.find("ul").append(e("<li></li>").attr("data-value",n.val()).attr("data-display",i||null).addClass("option"+(n.is(":selected")?" selected":"")+(n.is(":disabled")?" disabled":"")).html(n.text()))})}if("string"==typeof t)return"update"==t?this.each(function(){var t=e(this),n=e(this).next(".nice-select"),i=n.hasClass("open");n.length&&(n.remove(),s(t),i&&t.next().trigger("click"))}):"destroy"==t?(this.each(function(){var t=e(this),s=e(this).next(".nice-select");s.length&&(s.remove(),t.css("display",""))}),0==e(".nice-select").length&&e(document).off(".nice_select")):console.log('Method "'+t+'" does not exist.'),this;this.hide(),this.each(function(){var t=e(this);t.next().hasClass("nice-select")||s(t)}),e(document).off(".nice_select"),e(document).on("click.nice_select",".nice-select",function(t){var s=e(this);e(".nice-select").not(s).removeClass("open"),s.toggleClass("open"),s.hasClass("open")?(s.find(".option"),s.find(".focus").removeClass("focus"),s.find(".selected").addClass("focus")):s.focus()}),e(document).on("click.nice_select",function(t){0===e(t.target).closest(".nice-select").length&&e(".nice-select").removeClass("open").find(".option")}),e(document).on("click.nice_select",".nice-select .option:not(.disabled)",function(t){var s=e(this),n=s.closest(".nice-select");n.find(".selected").removeClass("selected"),s.addClass("selected");var i=s.data("display")||s.text();n.find(".current").text(i),n.prev("select").val(s.data("value")).trigger("change")}),e(document).on("keydown.nice_select",".nice-select",function(t){var s=e(this),n=e(s.find(".focus")||s.find(".list .option.selected"));if(32==t.keyCode||13==t.keyCode)return s.hasClass("open")?n.trigger("click"):s.trigger("click"),!1;if(40==t.keyCode){if(s.hasClass("open")){var i=n.nextAll(".option:not(.disabled)").first();i.length>0&&(s.find(".focus").removeClass("focus"),i.addClass("focus"))}else s.trigger("click");return!1}if(38==t.keyCode){if(s.hasClass("open")){var l=n.prevAll(".option:not(.disabled)").first();l.length>0&&(s.find(".focus").removeClass("focus"),l.addClass("focus"))}else s.trigger("click");return!1}if(27==t.keyCode)s.hasClass("open")&&s.trigger("click");else if(9==t.keyCode&&s.hasClass("open"))return!1});var n=document.createElement("a").style;return n.cssText="pointer-events:auto","auto"!==n.pointerEvents&&e("html").addClass("no-csspointerevents"),this}}(jQuery); 100/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 101 102/***/ }), 103
vendor: 42,427 bytes, lines 104-1970
104/***/ "../node_modules/magnific-popup/dist/jquery.magnific-popup.js": 105/*!********************************************************************!*\ 106 !*** ../node_modules/magnific-popup/dist/jquery.magnific-popup.js ***! 107 \********************************************************************/ 108/*! no static exports found */ 109/***/ (function(module, exports, __webpack_require__) { 110 111var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! Magnific Popup - v1.1.0 - 2016-02-20 112* http://dimsemenov.com/plugins/magnific-popup/ 113* Copyright (c) 2016 Dmitry Semenov; */ 114;(function (factory) { 115if (true) { 116 // AMD. Register as an anonymous module. 117 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ "jquery")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), 118 __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? 119 (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), 120 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 121 } else {} 122 }(function($) { 123 124/*>>core*/ 125/** 126 * 127 * Magnific Popup Core JS file 128 * 129 */ 130 131 132/** 133 * Private static constants 134 */ 135var CLOSE_EVENT = 'Close', 136 BEFORE_CLOSE_EVENT = 'BeforeClose', 137 AFTER_CLOSE_EVENT = 'AfterClose', 138 BEFORE_APPEND_EVENT = 'BeforeAppend', 139 MARKUP_PARSE_EVENT = 'MarkupParse', 140 OPEN_EVENT = 'Open', 141 CHANGE_EVENT = 'Change', 142 NS = 'mfp', 143 EVENT_NS = '.' + NS, 144 READY_CLASS = 'mfp-ready', 145 REMOVING_CLASS = 'mfp-removing', 146 PREVENT_CLOSE_CLASS = 'mfp-prevent-close'; 147 148 149/** 150 * Private vars 151 */ 152/*jshint -W079 */ 153var mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this' 154 MagnificPopup = function(){}, 155 _isJQ = !!(window.jQuery), 156 _prevStatus, 157 _window = $(window), 158 _document, 159 _prevContentType, 160 _wrapClasses, 161 _currPopupType; 162 163 164/** 165 * Private functions 166 */ 167var _mfpOn = function(name, f) { 168 mfp.ev.on(NS + name + EVENT_NS, f); 169 }, 170 _getEl = function(className, appendTo, html, raw) { 171 var el = document.createElement('div'); 172 el.className = 'mfp-'+className; 173 if(html) { 174 el.innerHTML = html; 175 } 176 if(!raw) { 177 el = $(el); 178 if(appendTo) { 179 el.appendTo(appendTo); 180 } 181 } else if(appendTo) { 182 appendTo.appendChild(el); 183 } 184 return el; 185 }, 186 _mfpTrigger = function(e, data) { 187 mfp.ev.triggerHandler(NS + e, data); 188 189 if(mfp.st.callbacks) { 190 // converts "mfpEventName" to "eventName" callback and triggers it if it's present 191 e = e.charAt(0).toLowerCase() + e.slice(1); 192 if(mfp.st.callbacks[e]) { 193 mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]); 194 } 195 } 196 }, 197 _getCloseBtn = function(type) { 198 if(type !== _currPopupType || !mfp.currTemplate.closeBtn) { 199 mfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) ); 200 _currPopupType = type; 201 } 202 return mfp.currTemplate.closeBtn; 203 }, 204 // Initialize Magnific Popup only when called at least once 205 _checkInstance = function() { 206 if(!$.magnificPopup.instance) { 207 /*jshint -W020 */ 208 mfp = new MagnificPopup(); 209 mfp.init(); 210 $.magnificPopup.instance = mfp; 211 } 212 }, 213 // CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr 214 supportsTransitions = function() { 215 var s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist 216 v = ['ms','O','Moz','Webkit']; // 'v' for vendor 217 218 if( s['transition'] !== undefined ) { 219 return true; 220 } 221 222 while( v.length ) { 223 if( v.pop() + 'Transition' in s ) { 224 return true; 225 } 226 } 227 228 return false; 229 }; 230 231 232 233/** 234 * Public functions 235 */ 236MagnificPopup.prototype = { 237 238 constructor: MagnificPopup, 239 240 /** 241 * Initializes Magnific Popup plugin. 242 * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed 243 */ 244 init: function() { 245 var appVersion = navigator.appVersion; 246 mfp.isLowIE = mfp.isIE8 = document.all && !document.addEventListener; 247 mfp.isAndroid = (/android/gi).test(appVersion); 248 mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion); 249 mfp.supportsTransition = supportsTransitions(); 250 251 // We disable fixed positioned lightbox on devices that don't handle it nicely. 252 // If you know a better way of detecting this - let me know. 253 mfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) ); 254 _document = $(document); 255 256 mfp.popupsCache = {}; 257 }, 258 259 /** 260 * Opens popup 261 * @param data [description] 262 */ 263 open: function(data) { 264 265 var i; 266 267 if(data.isObj === false) { 268 // convert jQuery collection to array to avoid conflicts later 269 mfp.items = data.items.toArray(); 270 271 mfp.index = 0; 272 var items = data.items, 273 item; 274 for(i = 0; i < items.length; i++) { 275 item = items[i]; 276 if(item.parsed) { 277 item = item.el[0]; 278 } 279 if(item === data.el[0]) { 280 mfp.index = i; 281 break; 282 } 283 } 284 } else { 285 mfp.items = $.isArray(data.items) ? data.items : [data.items]; 286 mfp.index = data.index || 0; 287 } 288 289 // if popup is already opened - we just update the content 290 if(mfp.isOpen) { 291 mfp.updateItemHTML(); 292 return; 293 } 294 295 mfp.types = []; 296 _wrapClasses = ''; 297 if(data.mainEl && data.mainEl.length) { 298 mfp.ev = data.mainEl.eq(0); 299 } else { 300 mfp.ev = _document; 301 } 302 303 if(data.key) { 304 if(!mfp.popupsCache[data.key]) { 305 mfp.popupsCache[data.key] = {}; 306 } 307 mfp.currTemplate = mfp.popupsCache[data.key]; 308 } else { 309 mfp.currTemplate = {}; 310 } 311 312 313 314 mfp.st = $.extend(true, {}, $.magnificPopup.defaults, data ); 315 mfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos; 316 317 if(mfp.st.modal) { 318 mfp.st.closeOnContentClick = false; 319 mfp.st.closeOnBgClick = false; 320 mfp.st.showCloseBtn = false; 321 mfp.st.enableEscapeKey = false; 322 } 323 324 325 // Building markup 326 // main containers are created only once 327 if(!mfp.bgOverlay) { 328 329 // Dark overlay 330 mfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() { 331 mfp.close(); 332 }); 333 334 mfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) { 335 if(mfp._checkIfClose(e.target)) { 336 mfp.close(); 337 } 338 }); 339 340 mfp.container = _getEl('container', mfp.wrap); 341 } 342 343 mfp.contentContainer = _getEl('content'); 344 if(mfp.st.preloader) { 345 mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading); 346 } 347 348 349 // Initializing modules 350 var modules = $.magnificPopup.modules; 351 for(i = 0; i < modules.length; i++) { 352 var n = modules[i]; 353 n = n.charAt(0).toUpperCase() + n.slice(1); 354 mfp['init'+n].call(mfp); 355 } 356 _mfpTrigger('BeforeOpen'); 357 358 359 if(mfp.st.showCloseBtn) { 360 // Close button 361 if(!mfp.st.closeBtnInside) { 362 mfp.wrap.append( _getCloseBtn() ); 363 } else { 364 _mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) { 365 values.close_replaceWith = _getCloseBtn(item.type); 366 }); 367 _wrapClasses += ' mfp-close-btn-in'; 368 } 369 } 370 371 if(mfp.st.alignTop) { 372 _wrapClasses += ' mfp-align-top'; 373 } 374 375 376 377 if(mfp.fixedContentPos) { 378 mfp.wrap.css({ 379 overflow: mfp.st.overflowY, 380 overflowX: 'hidden', 381 overflowY: mfp.st.overflowY 382 }); 383 } else { 384 mfp.wrap.css({ 385 top: _window.scrollTop(), 386 position: 'absolute' 387 }); 388 } 389 if( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) { 390 mfp.bgOverlay.css({ 391 height: _document.height(), 392 position: 'absolute' 393 }); 394 } 395 396 397 398 if(mfp.st.enableEscapeKey) { 399 // Close on ESC key 400 _document.on('keyup' + EVENT_NS, function(e) { 401 if(e.keyCode === 27) { 402 mfp.close(); 403 } 404 }); 405 } 406 407 _window.on('resize' + EVENT_NS, function() { 408 mfp.updateSize(); 409 }); 410 411 412 if(!mfp.st.closeOnContentClick) { 413 _wrapClasses += ' mfp-auto-cursor'; 414 } 415 416 if(_wrapClasses) 417 mfp.wrap.addClass(_wrapClasses); 418 419 420 // this triggers recalculation of layout, so we get it once to not to trigger twice 421 var windowHeight = mfp.wH = _window.height(); 422 423 424 var windowStyles = {}; 425 426 if( mfp.fixedContentPos ) { 427 if(mfp._hasScrollBar(windowHeight)){ 428 var s = mfp._getScrollbarSize(); 429 if(s) { 430 windowStyles.marginRight = s; 431 } 432 } 433 } 434 435 if(mfp.fixedContentPos) { 436 if(!mfp.isIE7) { 437 windowStyles.overflow = 'hidden'; 438 } else { 439 // ie7 double-scroll bug 440 $('body, html').css('overflow', 'hidden'); 441 } 442 } 443 444 445 446 var classesToadd = mfp.st.mainClass; 447 if(mfp.isIE7) { 448 classesToadd += ' mfp-ie7'; 449 } 450 if(classesToadd) { 451 mfp._addClassToMFP( classesToadd ); 452 } 453 454 // add content 455 mfp.updateItemHTML(); 456 457 _mfpTrigger('BuildControls'); 458 459 // remove scrollbar, add margin e.t.c 460 $('html').css(windowStyles); 461 462 // add everything to DOM 463 mfp.bgOverlay.add(mfp.wrap).prependTo( mfp.st.prependTo || $(document.body) ); 464 465 // Save last focused element 466 mfp._lastFocusedEl = document.activeElement; 467 468 // Wait for next cycle to allow CSS transition 469 setTimeout(function() { 470 471 if(mfp.content) { 472 mfp._addClassToMFP(READY_CLASS); 473 mfp._setFocus(); 474 } else { 475 // if content is not defined (not loaded e.t.c) we add class only for BG 476 mfp.bgOverlay.addClass(READY_CLASS); 477 } 478 479 // Trap the focus in popup 480 _document.on('focusin' + EVENT_NS, mfp._onFocusIn); 481 482 }, 16); 483 484 mfp.isOpen = true; 485 mfp.updateSize(windowHeight); 486 _mfpTrigger(OPEN_EVENT); 487 488 return data; 489 }, 490 491 /** 492 * Closes the popup 493 */ 494 close: function() { 495 if(!mfp.isOpen) return; 496 _mfpTrigger(BEFORE_CLOSE_EVENT); 497 498 mfp.isOpen = false; 499 // for CSS3 animation 500 if(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition ) { 501 mfp._addClassToMFP(REMOVING_CLASS); 502 setTimeout(function() { 503 mfp._close(); 504 }, mfp.st.removalDelay); 505 } else { 506 mfp._close(); 507 } 508 }, 509 510 /** 511 * Helper for close() function 512 */ 513 _close: function() { 514 _mfpTrigger(CLOSE_EVENT); 515 516 var classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' '; 517 518 mfp.bgOverlay.detach(); 519 mfp.wrap.detach(); 520 mfp.container.empty(); 521 522 if(mfp.st.mainClass) { 523 classesToRemove += mfp.st.mainClass + ' '; 524 } 525 526 mfp._removeClassFromMFP(classesToRemove); 527 528 if(mfp.fixedContentPos) { 529 var windowStyles = {marginRight: ''}; 530 if(mfp.isIE7) { 531 $('body, html').css('overflow', ''); 532 } else { 533 windowStyles.overflow = ''; 534 } 535 $('html').css(windowStyles); 536 } 537 538 _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS); 539 mfp.ev.off(EVENT_NS); 540 541 // clean up DOM elements that aren't removed 542 mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style'); 543 mfp.bgOverlay.attr('class', 'mfp-bg'); 544 mfp.container.attr('class', 'mfp-container'); 545 546 // remove close button from target element 547 if(mfp.st.showCloseBtn && 548 (!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) { 549 if(mfp.currTemplate.closeBtn) 550 mfp.currTemplate.closeBtn.detach(); 551 } 552 553 554 if(mfp.st.autoFocusLast && mfp._lastFocusedEl) { 555 $(mfp._lastFocusedEl).focus(); // put tab focus back 556 } 557 mfp.currItem = null; 558 mfp.content = null; 559 mfp.currTemplate = null; 560 mfp.prevHeight = 0; 561 562 _mfpTrigger(AFTER_CLOSE_EVENT); 563 }, 564 565 updateSize: function(winHeight) { 566 567 if(mfp.isIOS) { 568 // fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2 569 var zoomLevel = document.documentElement.clientWidth / window.innerWidth; 570 var height = window.innerHeight * zoomLevel; 571 mfp.wrap.css('height', height); 572 mfp.wH = height; 573 } else { 574 mfp.wH = winHeight || _window.height(); 575 } 576 // Fixes #84: popup incorrectly positioned with position:relative on body 577 if(!mfp.fixedContentPos) { 578 mfp.wrap.css('height', mfp.wH); 579 } 580 581 _mfpTrigger('Resize'); 582 583 }, 584 585 /** 586 * Set content of popup based on current index 587 */ 588 updateItemHTML: function() { 589 var item = mfp.items[mfp.index]; 590 591 // Detach and perform modifications 592 mfp.contentContainer.detach(); 593 594 if(mfp.content) 595 mfp.content.detach(); 596 597 if(!item.parsed) { 598 item = mfp.parseEl( mfp.index ); 599 } 600 601 var type = item.type; 602 603 _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]); 604 // BeforeChange event works like so: 605 // _mfpOn('BeforeChange', function(e, prevType, newType) { }); 606 607 mfp.currItem = item; 608 609 if(!mfp.currTemplate[type]) { 610 var markup = mfp.st[type] ? mfp.st[type].markup : false; 611 612 // allows to modify markup 613 _mfpTrigger('FirstMarkupParse', markup); 614 615 if(markup) { 616 mfp.currTemplate[type] = $(markup); 617 } else { 618 // if there is no markup found we just define that template is parsed 619 mfp.currTemplate[type] = true; 620 } 621 } 622 623 if(_prevContentType && _prevContentType !== item.type) { 624 mfp.container.removeClass('mfp-'+_prevContentType+'-holder'); 625 } 626 627 var newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]); 628 mfp.appendContent(newContent, type); 629 630 item.preloaded = true; 631 632 _mfpTrigger(CHANGE_EVENT, item); 633 _prevContentType = item.type; 634 635 // Append container back after its content changed 636 mfp.container.prepend(mfp.contentContainer); 637 638 _mfpTrigger('AfterChange'); 639 }, 640 641 642 /** 643 * Set HTML content of popup 644 */ 645 appendContent: function(newContent, type) { 646 mfp.content = newContent; 647 648 if(newContent) { 649 if(mfp.st.showCloseBtn && mfp.st.closeBtnInside && 650 mfp.currTemplate[type] === true) { 651 // if there is no markup, we just append close button element inside 652 if(!mfp.content.find('.mfp-close').length) { 653 mfp.content.append(_getCloseBtn()); 654 } 655 } else { 656 mfp.content = newContent; 657 } 658 } else { 659 mfp.content = ''; 660 } 661 662 _mfpTrigger(BEFORE_APPEND_EVENT); 663 mfp.container.addClass('mfp-'+type+'-holder'); 664 665 mfp.contentContainer.append(mfp.content); 666 }, 667 668 669 /** 670 * Creates Magnific Popup data object based on given data 671 * @param {int} index Index of item to parse 672 */ 673 parseEl: function(index) { 674 var item = mfp.items[index], 675 type; 676 677 if(item.tagName) { 678 item = { el: $(item) }; 679 } else { 680 type = item.type; 681 item = { data: item, src: item.src }; 682 } 683 684 if(item.el) { 685 var types = mfp.types; 686 687 // check for 'mfp-TYPE' class 688 for(var i = 0; i < types.length; i++) { 689 if( item.el.hasClass('mfp-'+types[i]) ) { 690 type = types[i]; 691 break; 692 } 693 } 694 695 item.src = item.el.attr('data-mfp-src'); 696 if(!item.src) { 697 item.src = item.el.attr('href'); 698 } 699 } 700 701 item.type = type || mfp.st.type || 'inline'; 702 item.index = index; 703 item.parsed = true; 704 mfp.items[index] = item; 705 _mfpTrigger('ElementParse', item); 706 707 return mfp.items[index]; 708 }, 709 710 711 /** 712 * Initializes single popup or a group of popups 713 */ 714 addGroup: function(el, options) { 715 var eHandler = function(e) { 716 e.mfpEl = this; 717 mfp._openClick(e, el, options); 718 }; 719 720 if(!options) { 721 options = {}; 722 } 723 724 var eName = 'click.magnificPopup'; 725 options.mainEl = el; 726 727 if(options.items) { 728 options.isObj = true; 729 el.off(eName).on(eName, eHandler); 730 } else { 731 options.isObj = false; 732 if(options.delegate) { 733 el.off(eName).on(eName, options.delegate , eHandler); 734 } else { 735 options.items = el; 736 el.off(eName).on(eName, eHandler); 737 } 738 } 739 }, 740 _openClick: function(e, el, options) { 741 var midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick; 742 743 744 if(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey || e.altKey || e.shiftKey ) ) { 745 return; 746 } 747 748 var disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn; 749 750 if(disableOn) { 751 if($.isFunction(disableOn)) { 752 if( !disableOn.call(mfp) ) { 753 return true; 754 } 755 } else { // else it's number 756 if( _window.width() < disableOn ) { 757 return true; 758 } 759 } 760 } 761 762 if(e.type) { 763 e.preventDefault(); 764 765 // This will prevent popup from closing if element is inside and popup is already opened 766 if(mfp.isOpen) { 767 e.stopPropagation(); 768 } 769 } 770 771 options.el = $(e.mfpEl); 772 if(options.delegate) { 773 options.items = el.find(options.delegate); 774 } 775 mfp.open(options); 776 }, 777 778 779 /** 780 * Updates text on preloader 781 */ 782 updateStatus: function(status, text) { 783 784 if(mfp.preloader) { 785 if(_prevStatus !== status) { 786 mfp.container.removeClass('mfp-s-'+_prevStatus); 787 } 788 789 if(!text && status === 'loading') { 790 text = mfp.st.tLoading; 791 } 792 793 var data = { 794 status: status, 795 text: text 796 }; 797 // allows to modify status 798 _mfpTrigger('UpdateStatus', data); 799 800 status = data.status; 801 text = data.text; 802 803 mfp.preloader.html(text); 804 805 mfp.preloader.find('a').on('click', function(e) { 806 e.stopImmediatePropagation(); 807 }); 808 809 mfp.container.addClass('mfp-s-'+status); 810 _prevStatus = status; 811 } 812 }, 813 814 815 /* 816 "Private" helpers that aren't private at all 817 */ 818 // Check to close popup or not 819 // "target" is an element that was clicked 820 _checkIfClose: function(target) { 821 822 if($(target).hasClass(PREVENT_CLOSE_CLASS)) { 823 return; 824 } 825 826 var closeOnContent = mfp.st.closeOnContentClick; 827 var closeOnBg = mfp.st.closeOnBgClick; 828 829 if(closeOnContent && closeOnBg) { 830 return true; 831 } else { 832 833 // We close the popup if click is on close button or on preloader. Or if there is no content. 834 if(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) { 835 return true; 836 } 837 838 // if click is outside the content 839 if( (target !== mfp.content[0] && !$.contains(mfp.content[0], target)) ) { 840 if(closeOnBg) { 841 // last check, if the clicked element is in DOM, (in case it's removed onclick) 842 if( $.contains(document, target) ) { 843 return true; 844 } 845 } 846 } else if(closeOnContent) { 847 return true; 848 } 849 850 } 851 return false; 852 }, 853 _addClassToMFP: function(cName) { 854 mfp.bgOverlay.addClass(cName); 855 mfp.wrap.addClass(cName); 856 }, 857 _removeClassFromMFP: function(cName) { 858 this.bgOverlay.removeClass(cName); 859 mfp.wrap.removeClass(cName); 860 }, 861 _hasScrollBar: function(winHeight) { 862 return ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) ); 863 }, 864 _setFocus: function() { 865 (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus(); 866 }, 867 _onFocusIn: function(e) { 868 if( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) { 869 mfp._setFocus(); 870 return false; 871 } 872 }, 873 _parseMarkup: function(template, values, item) { 874 var arr; 875 if(item.data) { 876 values = $.extend(item.data, values); 877 } 878 _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] ); 879 880 $.each(values, function(key, value) { 881 if(value === undefined || value === false) { 882 return true; 883 } 884 arr = key.split('_'); 885 if(arr.length > 1) { 886 var el = template.find(EVENT_NS + '-'+arr[0]); 887 888 if(el.length > 0) { 889 var attr = arr[1]; 890 if(attr === 'replaceWith') { 891 if(el[0] !== value[0]) { 892 el.replaceWith(value); 893 } 894 } else if(attr === 'img') { 895 if(el.is('img')) { 896 el.attr('src', value); 897 } else { 898 el.replaceWith( $('<img>').attr('src', value).attr('class', el.attr('class')) ); 899 } 900 } else { 901 el.attr(arr[1], value); 902 } 903 } 904 905 } else { 906 template.find(EVENT_NS + '-'+key).html(value); 907 } 908 }); 909 }, 910 911 _getScrollbarSize: function() { 912 // thx David 913 if(mfp.scrollbarSize === undefined) { 914 var scrollDiv = document.createElement("div"); 915 scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;'; 916 document.body.appendChild(scrollDiv); 917 mfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth; 918 document.body.removeChild(scrollDiv); 919 } 920 return mfp.scrollbarSize; 921 } 922 923}; /* MagnificPopup core prototype end */ 924 925 926 927 928/** 929 * Public static functions 930 */ 931$.magnificPopup = { 932 instance: null, 933 proto: MagnificPopup.prototype, 934 modules: [], 935 936 open: function(options, index) { 937 _checkInstance(); 938 939 if(!options) { 940 options = {}; 941 } else { 942 options = $.extend(true, {}, options); 943 } 944 945 options.isObj = true; 946 options.index = index || 0; 947 return this.instance.open(options); 948 }, 949 950 close: function() { 951 return $.magnificPopup.instance && $.magnificPopup.instance.close(); 952 }, 953 954 registerModule: function(name, module) { 955 if(module.options) { 956 $.magnificPopup.defaults[name] = module.options; 957 } 958 $.extend(this.proto, module.proto); 959 this.modules.push(name); 960 }, 961 962 defaults: { 963 964 // Info about options is in docs: 965 // http://dimsemenov.com/plugins/magnific-popup/documentation.html#options 966 967 disableOn: 0, 968 969 key: null, 970 971 midClick: false, 972 973 mainClass: '', 974 975 preloader: true, 976 977 focus: '', // CSS selector of input to focus after popup is opened 978 979 closeOnContentClick: false, 980 981 closeOnBgClick: true, 982 983 closeBtnInside: true, 984 985 showCloseBtn: true, 986 987 enableEscapeKey: true, 988 989 modal: false, 990 991 alignTop: false, 992 993 removalDelay: 0, 994 995 prependTo: null, 996 997 fixedContentPos: 'auto', 998 999 fixedBgPos: 'auto', 1000 1001 overflowY: 'auto', 1002 1003 closeMarkup: '<button title="%title%" type="button" class="mfp-close">×</button>', 1004 1005 tClose: 'Close (Esc)', 1006 1007 tLoading: 'Loading...', 1008 1009 autoFocusLast: true 1010 1011 } 1012}; 1013 1014 1015 1016$.fn.magnificPopup = function(options) { 1017 _checkInstance(); 1018 1019 var jqEl = $(this); 1020 1021 // We call some API method of first param is a string 1022 if (typeof options === "string" ) { 1023 1024 if(options === 'open') { 1025 var items, 1026 itemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup, 1027 index = parseInt(arguments[1], 10) || 0; 1028 1029 if(itemOpts.items) { 1030 items = itemOpts.items[index]; 1031 } else { 1032 items = jqEl; 1033 if(itemOpts.delegate) { 1034 items = items.find(itemOpts.delegate); 1035 } 1036 items = items.eq( index ); 1037 } 1038 mfp._openClick({mfpEl:items}, jqEl, itemOpts); 1039 } else { 1040 if(mfp.isOpen) 1041 mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1)); 1042 } 1043 1044 } else { 1045 // clone options obj 1046 options = $.extend(true, {}, options); 1047 1048 /* 1049 * As Zepto doesn't support .data() method for objects 1050 * and it works only in normal browsers 1051 * we assign "options" object directly to the DOM element. FTW! 1052 */ 1053 if(_isJQ) { 1054 jqEl.data('magnificPopup', options); 1055 } else { 1056 jqEl[0].magnificPopup = options; 1057 } 1058 1059 mfp.addGroup(jqEl, options); 1060 1061 } 1062 return jqEl; 1063}; 1064 1065/*>>core*/ 1066 1067/*>>inline*/ 1068 1069var INLINE_NS = 'inline', 1070 _hiddenClass, 1071 _inlinePlaceholder, 1072 _lastInlineElement, 1073 _putInlineElementsBack = function() { 1074 if(_lastInlineElement) { 1075 _inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach(); 1076 _lastInlineElement = null; 1077 } 1078 }; 1079 1080$.magnificPopup.registerModule(INLINE_NS, { 1081 options: { 1082 hiddenClass: 'hide', // will be appended with `mfp-` prefix 1083 markup: '', 1084 tNotFound: 'Content not found' 1085 }, 1086 proto: { 1087 1088 initInline: function() { 1089 mfp.types.push(INLINE_NS); 1090 1091 _mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() { 1092 _putInlineElementsBack(); 1093 }); 1094 }, 1095 1096 getInline: function(item, template) { 1097 1098 _putInlineElementsBack(); 1099 1100 if(item.src) { 1101 var inlineSt = mfp.st.inline, 1102 el = $(item.src); 1103 1104 if(el.length) { 1105 1106 // If target element has parent - we replace it with placeholder and put it back after popup is closed 1107 var parent = el[0].parentNode; 1108 if(parent && parent.tagName) { 1109 if(!_inlinePlaceholder) { 1110 _hiddenClass = inlineSt.hiddenClass; 1111 _inlinePlaceholder = _getEl(_hiddenClass); 1112 _hiddenClass = 'mfp-'+_hiddenClass; 1113 } 1114 // replace target inline element with placeholder 1115 _lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass); 1116 } 1117 1118 mfp.updateStatus('ready'); 1119 } else { 1120 mfp.updateStatus('error', inlineSt.tNotFound); 1121 el = $('<div>'); 1122 } 1123 1124 item.inlineElement = el; 1125 return el; 1126 } 1127 1128 mfp.updateStatus('ready'); 1129 mfp._parseMarkup(template, {}, item); 1130 return template; 1131 } 1132 } 1133}); 1134 1135/*>>inline*/ 1136 1137/*>>ajax*/ 1138var AJAX_NS = 'ajax', 1139 _ajaxCur, 1140 _removeAjaxCursor = function() { 1141 if(_ajaxCur) { 1142 $(document.body).removeClass(_ajaxCur); 1143 } 1144 }, 1145 _destroyAjaxRequest = function() { 1146 _removeAjaxCursor(); 1147 if(mfp.req) { 1148 mfp.req.abort(); 1149 } 1150 }; 1151 1152$.magnificPopup.registerModule(AJAX_NS, { 1153 1154 options: { 1155 settings: null, 1156 cursor: 'mfp-ajax-cur', 1157 tError: '<a href="%url%">The content</a> could not be loaded.' 1158 }, 1159 1160 proto: { 1161 initAjax: function() { 1162 mfp.types.push(AJAX_NS); 1163 _ajaxCur = mfp.st.ajax.cursor; 1164 1165 _mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest); 1166 _mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest); 1167 }, 1168 getAjax: function(item) { 1169 1170 if(_ajaxCur) { 1171 $(document.body).addClass(_ajaxCur); 1172 } 1173 1174 mfp.updateStatus('loading'); 1175 1176 var opts = $.extend({ 1177 url: item.src, 1178 success: function(data, textStatus, jqXHR) { 1179 var temp = { 1180 data:data, 1181 xhr:jqXHR 1182 }; 1183 1184 _mfpTrigger('ParseAjax', temp); 1185 1186 mfp.appendContent( $(temp.data), AJAX_NS ); 1187 1188 item.finished = true; 1189 1190 _removeAjaxCursor(); 1191 1192 mfp._setFocus(); 1193 1194 setTimeout(function() { 1195 mfp.wrap.addClass(READY_CLASS); 1196 }, 16); 1197 1198 mfp.updateStatus('ready'); 1199 1200 _mfpTrigger('AjaxContentAdded'); 1201 }, 1202 error: function() { 1203 _removeAjaxCursor(); 1204 item.finished = item.loadError = true; 1205 mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src)); 1206 } 1207 }, mfp.st.ajax.settings); 1208 1209 mfp.req = $.ajax(opts); 1210 1211 return ''; 1212 } 1213 } 1214}); 1215 1216/*>>ajax*/ 1217 1218/*>>image*/ 1219var _imgInterval, 1220 _getTitle = function(item) { 1221 if(item.data && item.data.title !== undefined) 1222 return item.data.title; 1223 1224 var src = mfp.st.image.titleSrc; 1225 1226 if(src) { 1227 if($.isFunction(src)) { 1228 return src.call(mfp, item); 1229 } else if(item.el) { 1230 return item.el.attr(src) || ''; 1231 } 1232 } 1233 return ''; 1234 }; 1235 1236$.magnificPopup.registerModule('image', { 1237 1238 options: { 1239 markup: '<div class="mfp-figure">'+ 1240 '<div class="mfp-close"></div>'+ 1241 '<figure>'+ 1242 '<div class="mfp-img"></div>'+ 1243 '<figcaption>'+ 1244 '<div class="mfp-bottom-bar">'+ 1245 '<div class="mfp-title"></div>'+ 1246 '<div class="mfp-counter"></div>'+ 1247 '</div>'+ 1248 '</figcaption>'+ 1249 '</figure>'+ 1250 '</div>', 1251 cursor: 'mfp-zoom-out-cur', 1252 titleSrc: 'title', 1253 verticalFit: true, 1254 tError: '<a href="%url%">The image</a> could not be loaded.' 1255 }, 1256 1257 proto: { 1258 initImage: function() { 1259 var imgSt = mfp.st.image, 1260 ns = '.image'; 1261 1262 mfp.types.push('image'); 1263 1264 _mfpOn(OPEN_EVENT+ns, function() { 1265 if(mfp.currItem.type === 'image' && imgSt.cursor) { 1266 $(document.body).addClass(imgSt.cursor); 1267 } 1268 }); 1269 1270 _mfpOn(CLOSE_EVENT+ns, function() { 1271 if(imgSt.cursor) { 1272 $(document.body).removeClass(imgSt.cursor); 1273 } 1274 _window.off('resize' + EVENT_NS); 1275 }); 1276 1277 _mfpOn('Resize'+ns, mfp.resizeImage); 1278 if(mfp.isLowIE) { 1279 _mfpOn('AfterChange', mfp.resizeImage); 1280 } 1281 }, 1282 resizeImage: function() { 1283 var item = mfp.currItem; 1284 if(!item || !item.img) return; 1285 1286 if(mfp.st.image.verticalFit) { 1287 var decr = 0; 1288 // fix box-sizing in ie7/8 1289 if(mfp.isLowIE) { 1290 decr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10); 1291 } 1292 item.img.css('max-height', mfp.wH-decr); 1293 } 1294 }, 1295 _onImageHasSize: function(item) { 1296 if(item.img) { 1297 1298 item.hasSize = true; 1299 1300 if(_imgInterval) { 1301 clearInterval(_imgInterval); 1302 } 1303 1304 item.isCheckingImgSize = false; 1305 1306 _mfpTrigger('ImageHasSize', item); 1307 1308 if(item.imgHidden) { 1309 if(mfp.content) 1310 mfp.content.removeClass('mfp-loading'); 1311 1312 item.imgHidden = false; 1313 } 1314 1315 } 1316 }, 1317 1318 /** 1319 * Function that loops until the image has size to display elements that rely on it asap 1320 */ 1321 findImageSize: function(item) { 1322 1323 var counter = 0, 1324 img = item.img[0], 1325 mfpSetInterval = function(delay) { 1326 1327 if(_imgInterval) { 1328 clearInterval(_imgInterval); 1329 } 1330 // decelerating interval that checks for size of an image 1331 _imgInterval = setInterval(function() { 1332 if(img.naturalWidth > 0) { 1333 mfp._onImageHasSize(item); 1334 return; 1335 } 1336 1337 if(counter > 200) { 1338 clearInterval(_imgInterval); 1339 } 1340 1341 counter++; 1342 if(counter === 3) { 1343 mfpSetInterval(10); 1344 } else if(counter === 40) { 1345 mfpSetInterval(50); 1346 } else if(counter === 100) { 1347 mfpSetInterval(500); 1348 } 1349 }, delay); 1350 }; 1351 1352 mfpSetInterval(1); 1353 }, 1354 1355 getImage: function(item, template) { 1356 1357 var guard = 0, 1358 1359 // image load complete handler 1360 onLoadComplete = function() { 1361 if(item) { 1362 if (item.img[0].complete) { 1363 item.img.off('.mfploader'); 1364 1365 if(item === mfp.currItem){ 1366 mfp._onImageHasSize(item); 1367 1368 mfp.updateStatus('ready'); 1369 } 1370 1371 item.hasSize = true; 1372 item.loaded = true; 1373 1374 _mfpTrigger('ImageLoadComplete'); 1375 1376 } 1377 else { 1378 // if image complete check fails 200 times (20 sec), we assume that there was an error. 1379 guard++; 1380 if(guard < 200) { 1381 setTimeout(onLoadComplete,100); 1382 } else { 1383 onLoadError(); 1384 } 1385 } 1386 } 1387 }, 1388 1389 // image error handler 1390 onLoadError = function() { 1391 if(item) { 1392 item.img.off('.mfploader'); 1393 if(item === mfp.currItem){ 1394 mfp._onImageHasSize(item); 1395 mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) ); 1396 } 1397 1398 item.hasSize = true; 1399 item.loaded = true; 1400 item.loadError = true; 1401 } 1402 }, 1403 imgSt = mfp.st.image; 1404 1405 1406 var el = template.find('.mfp-img'); 1407 if(el.length) { 1408 var img = document.createElement('img'); 1409 img.className = 'mfp-img'; 1410 if(item.el && item.el.find('img').length) { 1411 img.alt = item.el.find('img').attr('alt'); 1412 } 1413 item.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError); 1414 img.src = item.src; 1415 1416 // without clone() "error" event is not firing when IMG is replaced by new IMG 1417 // TODO: find a way to avoid such cloning 1418 if(el.is('img')) { 1419 item.img = item.img.clone(); 1420 } 1421 1422 img = item.img[0]; 1423 if(img.naturalWidth > 0) { 1424 item.hasSize = true; 1425 } else if(!img.width) { 1426 item.hasSize = false; 1427 } 1428 } 1429 1430 mfp._parseMarkup(template, { 1431 title: _getTitle(item), 1432 img_replaceWith: item.img 1433 }, item); 1434 1435 mfp.resizeImage(); 1436 1437 if(item.hasSize) { 1438 if(_imgInterval) clearInterval(_imgInterval); 1439 1440 if(item.loadError) { 1441 template.addClass('mfp-loading'); 1442 mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) ); 1443 } else { 1444 template.removeClass('mfp-loading'); 1445 mfp.updateStatus('ready'); 1446 } 1447 return template; 1448 } 1449 1450 mfp.updateStatus('loading'); 1451 item.loading = true; 1452 1453 if(!item.hasSize) { 1454 item.imgHidden = true; 1455 template.addClass('mfp-loading'); 1456 mfp.findImageSize(item); 1457 } 1458 1459 return template; 1460 } 1461 } 1462}); 1463 1464/*>>image*/ 1465 1466/*>>zoom*/ 1467var hasMozTransform, 1468 getHasMozTransform = function() { 1469 if(hasMozTransform === undefined) { 1470 hasMozTransform = document.createElement('p').style.MozTransform !== undefined; 1471 } 1472 return hasMozTransform; 1473 }; 1474 1475$.magnificPopup.registerModule('zoom', { 1476 1477 options: { 1478 enabled: false, 1479 easing: 'ease-in-out', 1480 duration: 300, 1481 opener: function(element) { 1482 return element.is('img') ? element : element.find('img'); 1483 } 1484 }, 1485 1486 proto: { 1487 1488 initZoom: function() { 1489 var zoomSt = mfp.st.zoom, 1490 ns = '.zoom', 1491 image; 1492 1493 if(!zoomSt.enabled || !mfp.supportsTransition) { 1494 return; 1495 } 1496 1497 var duration = zoomSt.duration, 1498 getElToAnimate = function(image) { 1499 var newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'), 1500 transition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing, 1501 cssObj = { 1502 position: 'fixed', 1503 zIndex: 9999, 1504 left: 0, 1505 top: 0, 1506 '-webkit-backface-visibility': 'hidden' 1507 }, 1508 t = 'transition'; 1509 1510 cssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition; 1511 1512 newImg.css(cssObj); 1513 return newImg; 1514 }, 1515 showMainContent = function() { 1516 mfp.content.css('visibility', 'visible'); 1517 }, 1518 openTimeout, 1519 animatedImg; 1520 1521 _mfpOn('BuildControls'+ns, function() { 1522 if(mfp._allowZoom()) { 1523 1524 clearTimeout(openTimeout); 1525 mfp.content.css('visibility', 'hidden'); 1526 1527 // Basically, all code below does is clones existing image, puts in on top of the current one and animated it 1528 1529 image = mfp._getItemToZoom(); 1530 1531 if(!image) { 1532 showMainContent(); 1533 return; 1534 } 1535 1536 animatedImg = getElToAnimate(image); 1537 1538 animatedImg.css( mfp._getOffset() ); 1539 1540 mfp.wrap.append(animatedImg); 1541 1542 openTimeout = setTimeout(function() { 1543 animatedImg.css( mfp._getOffset( true ) ); 1544 openTimeout = setTimeout(function() { 1545 1546 showMainContent(); 1547 1548 setTimeout(function() { 1549 animatedImg.remove(); 1550 image = animatedImg = null; 1551 _mfpTrigger('ZoomAnimationEnded'); 1552 }, 16); // avoid blink when switching images 1553 1554 }, duration); // this timeout equals animation duration 1555 1556 }, 16); // by adding this timeout we avoid short glitch at the beginning of animation 1557 1558 1559 // Lots of timeouts... 1560 } 1561 }); 1562 _mfpOn(BEFORE_CLOSE_EVENT+ns, function() { 1563 if(mfp._allowZoom()) { 1564 1565 clearTimeout(openTimeout); 1566 1567 mfp.st.removalDelay = duration; 1568 1569 if(!image) { 1570 image = mfp._getItemToZoom(); 1571 if(!image) { 1572 return; 1573 } 1574 animatedImg = getElToAnimate(image); 1575 } 1576 1577 animatedImg.css( mfp._getOffset(true) ); 1578 mfp.wrap.append(animatedImg); 1579 mfp.content.css('visibility', 'hidden'); 1580 1581 setTimeout(function() { 1582 animatedImg.css( mfp._getOffset() ); 1583 }, 16); 1584 } 1585 1586 }); 1587 1588 _mfpOn(CLOSE_EVENT+ns, function() { 1589 if(mfp._allowZoom()) { 1590 showMainContent(); 1591 if(animatedImg) { 1592 animatedImg.remove(); 1593 } 1594 image = null; 1595 } 1596 }); 1597 }, 1598 1599 _allowZoom: function() { 1600 return mfp.currItem.type === 'image'; 1601 }, 1602 1603 _getItemToZoom: function() { 1604 if(mfp.currItem.hasSize) { 1605 return mfp.currItem.img; 1606 } else { 1607 return false; 1608 } 1609 }, 1610 1611 // Get element postion relative to viewport 1612 _getOffset: function(isLarge) { 1613 var el; 1614 if(isLarge) { 1615 el = mfp.currItem.img; 1616 } else { 1617 el = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem); 1618 } 1619 1620 var offset = el.offset(); 1621 var paddingTop = parseInt(el.css('padding-top'),10); 1622 var paddingBottom = parseInt(el.css('padding-bottom'),10); 1623 offset.top -= ( $(window).scrollTop() - paddingTop ); 1624 1625 1626 /* 1627 1628 Animating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa. 1629 1630 */ 1631 var obj = { 1632 width: el.width(), 1633 // fix Zepto height+padding issue 1634 height: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop 1635 }; 1636 1637 // I hate to do this, but there is no another option 1638 if( getHasMozTransform() ) { 1639 obj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)'; 1640 } else { 1641 obj.left = offset.left; 1642 obj.top = offset.top; 1643 } 1644 return obj; 1645 } 1646 1647 } 1648}); 1649 1650 1651 1652/*>>zoom*/ 1653 1654/*>>iframe*/ 1655 1656var IFRAME_NS = 'iframe', 1657 _emptyPage = '//about:blank', 1658 1659 _fixIframeBugs = function(isShowing) { 1660 if(mfp.currTemplate[IFRAME_NS]) { 1661 var el = mfp.currTemplate[IFRAME_NS].find('iframe'); 1662 if(el.length) { 1663 // reset src after the popup is closed to avoid "video keeps playing after popup is closed" bug 1664 if(!isShowing) { 1665 el[0].src = _emptyPage; 1666 } 1667 1668 // IE8 black screen bug fix 1669 if(mfp.isIE8) { 1670 el.css('display', isShowing ? 'block' : 'none'); 1671 } 1672 } 1673 } 1674 }; 1675 1676$.magnificPopup.registerModule(IFRAME_NS, { 1677 1678 options: { 1679 markup: '<div class="mfp-iframe-scaler">'+ 1680 '<div class="mfp-close"></div>'+ 1681 '<iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe>'+ 1682 '</div>', 1683 1684 srcAction: 'iframe_src', 1685 1686 // we don't care and support only one default type of URL by default 1687 patterns: { 1688 youtube: { 1689 index: 'youtube.com', 1690 id: 'v=', 1691 src: '//www.youtube.com/embed/%id%?autoplay=1' 1692 }, 1693 vimeo: { 1694 index: 'vimeo.com/', 1695 id: '/', 1696 src: '//player.vimeo.com/video/%id%?autoplay=1' 1697 }, 1698 gmaps: { 1699 index: '//maps.google.', 1700 src: '%id%&output=embed' 1701 } 1702 } 1703 }, 1704 1705 proto: { 1706 initIframe: function() { 1707 mfp.types.push(IFRAME_NS); 1708 1709 _mfpOn('BeforeChange', function(e, prevType, newType) { 1710 if(prevType !== newType) { 1711 if(prevType === IFRAME_NS) { 1712 _fixIframeBugs(); // iframe if removed 1713 } else if(newType === IFRAME_NS) { 1714 _fixIframeBugs(true); // iframe is showing 1715 } 1716 }// else { 1717 // iframe source is switched, don't do anything 1718 //} 1719 }); 1720 1721 _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() { 1722 _fixIframeBugs(); 1723 }); 1724 }, 1725 1726 getIframe: function(item, template) { 1727 var embedSrc = item.src; 1728 var iframeSt = mfp.st.iframe; 1729 1730 $.each(iframeSt.patterns, function() { 1731 if(embedSrc.indexOf( this.index ) > -1) { 1732 if(this.id) { 1733 if(typeof this.id === 'string') { 1734 embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length); 1735 } else { 1736 embedSrc = this.id.call( this, embedSrc ); 1737 } 1738 } 1739 embedSrc = this.src.replace('%id%', embedSrc ); 1740 return false; // break; 1741 } 1742 }); 1743 1744 var dataObj = {}; 1745 if(iframeSt.srcAction) { 1746 dataObj[iframeSt.srcAction] = embedSrc; 1747 } 1748 mfp._parseMarkup(template, dataObj, item); 1749 1750 mfp.updateStatus('ready'); 1751 1752 return template; 1753 } 1754 } 1755}); 1756 1757 1758 1759/*>>iframe*/ 1760 1761/*>>gallery*/ 1762/** 1763 * Get looped index depending on number of slides 1764 */ 1765var _getLoopedId = function(index) { 1766 var numSlides = mfp.items.length; 1767 if(index > numSlides - 1) { 1768 return index - numSlides; 1769 } else if(index < 0) { 1770 return numSlides + index; 1771 } 1772 return index; 1773 }, 1774 _replaceCurrTotal = function(text, curr, total) { 1775 return text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total); 1776 }; 1777 1778$.magnificPopup.registerModule('gallery', { 1779 1780 options: { 1781 enabled: false, 1782 arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>', 1783 preload: [0,2], 1784 navigateByImgClick: true, 1785 arrows: true, 1786 1787 tPrev: 'Previous (Left arrow key)', 1788 tNext: 'Next (Right arrow key)', 1789 tCounter: '%curr% of %total%' 1790 }, 1791 1792 proto: { 1793 initGallery: function() { 1794 1795 var gSt = mfp.st.gallery, 1796 ns = '.mfp-gallery'; 1797 1798 mfp.direction = true; // true - next, false - prev 1799 1800 if(!gSt || !gSt.enabled ) return false; 1801 1802 _wrapClasses += ' mfp-gallery'; 1803 1804 _mfpOn(OPEN_EVENT+ns, function() { 1805 1806 if(gSt.navigateByImgClick) { 1807 mfp.wrap.on('click'+ns, '.mfp-img', function() { 1808 if(mfp.items.length > 1) { 1809 mfp.next(); 1810 return false; 1811 } 1812 }); 1813 } 1814 1815 _document.on('keydown'+ns, function(e) { 1816 if (e.keyCode === 37) { 1817 mfp.prev(); 1818 } else if (e.keyCode === 39) { 1819 mfp.next(); 1820 } 1821 }); 1822 }); 1823 1824 _mfpOn('UpdateStatus'+ns, function(e, data) { 1825 if(data.text) { 1826 data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length); 1827 } 1828 }); 1829 1830 _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) { 1831 var l = mfp.items.length; 1832 values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : ''; 1833 }); 1834 1835 _mfpOn('BuildControls' + ns, function() { 1836 if(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) { 1837 var markup = gSt.arrowMarkup, 1838 arrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS), 1839 arrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS); 1840 1841 arrowLeft.click(function() { 1842 mfp.prev(); 1843 }); 1844 arrowRight.click(function() { 1845 mfp.next(); 1846 }); 1847 1848 mfp.container.append(arrowLeft.add(arrowRight)); 1849 } 1850 }); 1851 1852 _mfpOn(CHANGE_EVENT+ns, function() { 1853 if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout); 1854 1855 mfp._preloadTimeout = setTimeout(function() { 1856 mfp.preloadNearbyImages(); 1857 mfp._preloadTimeout = null; 1858 }, 16); 1859 }); 1860 1861 1862 _mfpOn(CLOSE_EVENT+ns, function() { 1863 _document.off(ns); 1864 mfp.wrap.off('click'+ns); 1865 mfp.arrowRight = mfp.arrowLeft = null; 1866 }); 1867 1868 }, 1869 next: function() { 1870 mfp.direction = true; 1871 mfp.index = _getLoopedId(mfp.index + 1); 1872 mfp.updateItemHTML(); 1873 }, 1874 prev: function() { 1875 mfp.direction = false; 1876 mfp.index = _getLoopedId(mfp.index - 1); 1877 mfp.updateItemHTML(); 1878 }, 1879 goTo: function(newIndex) { 1880 mfp.direction = (newIndex >= mfp.index); 1881 mfp.index = newIndex; 1882 mfp.updateItemHTML(); 1883 }, 1884 preloadNearbyImages: function() { 1885 var p = mfp.st.gallery.preload, 1886 preloadBefore = Math.min(p[0], mfp.items.length), 1887 preloadAfter = Math.min(p[1], mfp.items.length), 1888 i; 1889 1890 for(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) { 1891 mfp._preloadItem(mfp.index+i); 1892 } 1893 for(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) { 1894 mfp._preloadItem(mfp.index-i); 1895 } 1896 }, 1897 _preloadItem: function(index) { 1898 index = _getLoopedId(index); 1899 1900 if(mfp.items[index].preloaded) { 1901 return; 1902 } 1903 1904 var item = mfp.items[index]; 1905 if(!item.parsed) { 1906 item = mfp.parseEl( index ); 1907 } 1908 1909 _mfpTrigger('LazyLoad', item); 1910 1911 if(item.type === 'image') { 1912 item.img = $('<img class="mfp-img" />').on('load.mfploader', function() { 1913 item.hasSize = true; 1914 }).on('error.mfploader', function() { 1915 item.hasSize = true; 1916 item.loadError = true; 1917 _mfpTrigger('LazyLoadError', item); 1918 }).attr('src', item.src); 1919 } 1920 1921 1922 item.preloaded = true; 1923 } 1924 } 1925}); 1926 1927/*>>gallery*/ 1928 1929/*>>retina*/ 1930 1931var RETINA_NS = 'retina'; 1932 1933$.magnificPopup.registerModule(RETINA_NS, { 1934 options: { 1935 replaceSrc: function(item) { 1936 return item.src.replace(/\.\w+$/, function(m) { return '@2x' + m; }); 1937 }, 1938 ratio: 1 // Function or number. Set to 1 to disable. 1939 }, 1940 proto: { 1941 initRetina: function() { 1942 if(window.devicePixelRatio > 1) { 1943 1944 var st = mfp.st.retina, 1945 ratio = st.ratio; 1946 1947 ratio = !isNaN(ratio) ? ratio : ratio(); 1948 1949 if(ratio > 1) { 1950 _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) { 1951 item.img.css({ 1952 'max-width': item.img[0].naturalWidth / ratio, 1953 'width': '100%' 1954 }); 1955 }); 1956 _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) { 1957 item.src = st.replaceSrc(item, ratio); 1958 }); 1959 } 1960 } 1961 1962 } 1963 } 1964}); 1965 1966/*>>retina*/ 1967 _checkInstance(); })); 1968 1969/***/ }), 1970
vendor: 109,646 bytes, lines 1971-1984
1971/***/ "../node_modules/plyr/dist/plyr.min.js": 1972/*!*********************************************!*\ 1973 !*** ../node_modules/plyr/dist/plyr.min.js ***! 1974 \*********************************************/ 1975/*! no static exports found */ 1976/***/ (function(module, exports, __webpack_require__) { 1977 1978/* WEBPACK VAR INJECTION */(function(global, jQuery) {"object"==typeof navigator&&function(e,t){ true?module.exports=t():undefined}(this,(function(){"use strict";function e(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function t(e,t){for(var i=0;i<t.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function i(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function s(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,s)}return i}function n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var a={addCSS:!0,thumbWidth:15,watch:!0};function l(e,t){return function(){return Array.from(document.querySelectorAll(t)).includes(this)}.call(e,t)}var o=function(e){return null!=e?e.constructor:null},r=function(e,t){return!!(e&&t&&e instanceof t)},c=function(e){return null==e},h=function(e){return o(e)===Object},u=function(e){return o(e)===String},d=function(e){return Array.isArray(e)},m=function(e){return r(e,NodeList)},p=u,g=d,f=m,b=function(e){return r(e,Element)},y=function(e){return r(e,Event)},v=function(e){return c(e)||(u(e)||d(e)||m(e))&&!e.length||h(e)&&!Object.keys(e).length};function w(e,t){if(1>t){var i=function(e){var t="".concat(e).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return t?Math.max(0,(t[1]?t[1].length:0)-(t[2]?+t[2]:0)):0}(t);return parseFloat(e.toFixed(i))}return Math.round(e/t)*t}var T=function(){function e(t,i){(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),b(t)?this.element=t:p(t)&&(this.element=document.querySelector(t)),b(this.element)&&v(this.element.rangeTouch)&&(this.config=n({},a,{},i),this.init())}return function(e,i,s){i&&t(e.prototype,i),s&&t(e,s)}(e,[{key:"init",value:function(){e.enabled&&(this.config.addCSS&&(this.element.style.userSelect="none",this.element.style.webKitUserSelect="none",this.element.style.touchAction="manipulation"),this.listeners(!0),this.element.rangeTouch=this)}},{key:"destroy",value:function(){e.enabled&&(this.config.addCSS&&(this.element.style.userSelect="",this.element.style.webKitUserSelect="",this.element.style.touchAction=""),this.listeners(!1),this.element.rangeTouch=null)}},{key:"listeners",value:function(e){var t=this,i=e?"addEventListener":"removeEventListener";["touchstart","touchmove","touchend"].forEach((function(e){t.element[i](e,(function(e){return t.set(e)}),!1)}))}},{key:"get",value:function(t){if(!e.enabled||!y(t))return null;var i,s=t.target,n=t.changedTouches[0],a=parseFloat(s.getAttribute("min"))||0,l=parseFloat(s.getAttribute("max"))||100,o=parseFloat(s.getAttribute("step"))||1,r=s.getBoundingClientRect(),c=100/r.width*(this.config.thumbWidth/2)/100;return 0>(i=100/r.width*(n.clientX-r.left))?i=0:100<i&&(i=100),50>i?i-=(100-2*i)*c:50<i&&(i+=2*(i-50)*c),a+w(i/100*(l-a),o)}},{key:"set",value:function(t){e.enabled&&y(t)&&!t.target.disabled&&(t.preventDefault(),t.target.value=this.get(t),function(e,t){if(e&&t){var i=new Event(t,{bubbles:!0});e.dispatchEvent(i)}}(t.target,"touchend"===t.type?"change":"input"))}}],[{key:"setup",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},s=null;if(v(t)||p(t)?s=Array.from(document.querySelectorAll(p(t)?t:'input[type="range"]')):b(t)?s=[t]:f(t)?s=Array.from(t):g(t)&&(s=t.filter(b)),v(s))return null;var o=n({},a,{},i);if(p(t)&&o.watch){var r=new MutationObserver((function(i){Array.from(i).forEach((function(i){Array.from(i.addedNodes).forEach((function(i){b(i)&&l(i,t)&&new e(i,o)}))}))}));r.observe(document.body,{childList:!0,subtree:!0})}return s.map((function(t){return new e(t,i)}))}},{key:"enabled",get:function(){return"ontouchstart"in document.documentElement}}]),e}();const k=e=>null!=e?e.constructor:null,C=(e,t)=>Boolean(e&&t&&e instanceof t),A=e=>null==e,S=e=>k(e)===Object,E=e=>k(e)===String,P=e=>k(e)===Function,N=e=>Array.isArray(e),x=e=>C(e,NodeList),M=e=>A(e)||(E(e)||N(e)||x(e))&&!e.length||S(e)&&!Object.keys(e).length;var I=A,L=S,$=e=>k(e)===Number&&!Number.isNaN(e),_=E,O=e=>k(e)===Boolean,j=P,q=N,D=x,H=e=>null!==e&&"object"==typeof e&&1===e.nodeType&&"object"==typeof e.style&&"object"==typeof e.ownerDocument,F=e=>C(e,Event),R=e=>C(e,KeyboardEvent),V=e=>C(e,TextTrack)||!A(e)&&E(e.kind),B=e=>C(e,Promise)&&P(e.then),U=e=>{if(C(e,window.URL))return!0;if(!E(e))return!1;let t=e;e.startsWith("http://")&&e.startsWith("https://")||(t=`http://${e}`);try{return!M(new URL(t).hostname)}catch(e){return!1}},W=M;const z=(()=>{const e=document.createElement("span"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},i=Object.keys(t).find((t=>void 0!==e.style[t]));return!!_(i)&&t[i]})();function K(e,t){setTimeout((()=>{try{e.hidden=!0,e.offsetHeight,e.hidden=!1}catch(e){}}),t)}const Y={isIE:Boolean(window.document.documentMode),isEdge:window.navigator.userAgent.includes("Edge"),isWebkit:"WebkitAppearance"in document.documentElement.style&&!/Edge/.test(navigator.userAgent),isIPhone:/(iPhone|iPod)/gi.test(navigator.platform),isIos:"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1||/(iPad|iPhone|iPod)/gi.test(navigator.platform)};function Q(e,t){return t.split(".").reduce(((e,t)=>e&&e[t]),e)}function X(e={},...t){if(!t.length)return e;const i=t.shift();return L(i)?(Object.keys(i).forEach((t=>{L(i[t])?(Object.keys(e).includes(t)||Object.assign(e,{[t]:{}}),X(e[t],i[t])):Object.assign(e,{[t]:i[t]})})),X(e,...t)):e}function J(e,t){const i=e.length?e:[e];Array.from(i).reverse().forEach(((e,i)=>{const s=i>0?t.cloneNode(!0):t,n=e.parentNode,a=e.nextSibling;s.appendChild(e),a?n.insertBefore(s,a):n.appendChild(s)}))}function G(e,t){H(e)&&!W(t)&&Object.entries(t).filter((([,e])=>!I(e))).forEach((([t,i])=>e.setAttribute(t,i)))}function Z(e,t,i){const s=document.createElement(e);return L(t)&&G(s,t),_(i)&&(s.innerText=i),s}function ee(e,t,i,s){H(t)&&t.appendChild(Z(e,i,s))}function te(e){D(e)||q(e)?Array.from(e).forEach(te):H(e)&&H(e.parentNode)&&e.parentNode.removeChild(e)}function ie(e){if(!H(e))return;let{length:t}=e.childNodes;for(;t>0;)e.removeChild(e.lastChild),t-=1}function se(e,t){return H(t)&&H(t.parentNode)&&H(e)?(t.parentNode.replaceChild(e,t),e):null}function ne(e,t){if(!_(e)||W(e))return{};const i={},s=X({},t);return e.split(",").forEach((e=>{const t=e.trim(),n=t.replace(".",""),a=t.replace(/[[\]]/g,"").split("="),[l]=a,o=a.length>1?a[1].replace(/["']/g,""):"";switch(t.charAt(0)){case".":_(s.class)?i.class=`${s.class} ${n}`:i.class=n;break;case"#":i.id=t.replace("#","");break;case"[":i[l]=o}})),X(s,i)}function ae(e,t){if(!H(e))return;let i=t;O(i)||(i=!e.hidden),e.hidden=i}function le(e,t,i){if(D(e))return Array.from(e).map((e=>le(e,t,i)));if(H(e)){let s="toggle";return void 0!==i&&(s=i?"add":"remove"),e.classList[s](t),e.classList.contains(t)}return!1}function oe(e,t){return H(e)&&e.classList.contains(t)}function re(e,t){const{prototype:i}=Element;return(i.matches||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||function(){return Array.from(document.querySelectorAll(t)).includes(this)}).call(e,t)}function ce(e){return this.elements.container.querySelectorAll(e)}function he(e){return this.elements.container.querySelector(e)}function ue(e=null,t=!1){H(e)&&(e.focus({preventScroll:!0}),t&&le(e,this.config.classNames.tabFocus))}const de={"audio/ogg":"vorbis","audio/wav":"1","video/webm":"vp8, vorbis","video/mp4":"avc1.42E01E, mp4a.40.2","video/ogg":"theora"},me={audio:"canPlayType"in document.createElement("audio"),video:"canPlayType"in document.createElement("video"),check(e,t,i){const s=Y.isIPhone&&i&&me.playsinline,n=me[e]||"html5"!==t;return{api:n,ui:n&&me.rangeInput&&("video"!==e||!Y.isIPhone||s)}},pip:!(Y.isIPhone||!j(Z("video").webkitSetPresentationMode)&&(!document.pictureInPictureEnabled||Z("video").disablePictureInPicture)),airplay:j(window.WebKitPlaybackTargetAvailabilityEvent),playsinline:"playsInline"in document.createElement("video"),mime(e){if(W(e))return!1;const[t]=e.split("/");let i=e;if(!this.isHTML5||t!==this.type)return!1;Object.keys(de).includes(i)&&(i+=`; codecs="${de[e]}"`);try{return Boolean(i&&this.media.canPlayType(i).replace(/no/,""))}catch(e){return!1}},textTracks:"textTracks"in document.createElement("video"),rangeInput:(()=>{const e=document.createElement("input");return e.type="range","range"===e.type})(),touch:"ontouchstart"in document.documentElement,transitions:!1!==z,reducedMotion:"matchMedia"in window&&window.matchMedia("(prefers-reduced-motion)").matches},pe=(()=>{let e=!1;try{const t=Object.defineProperty({},"passive",{get:()=>(e=!0,null)});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(e){}return e})();function ge(e,t,i,s=!1,n=!0,a=!1){if(!e||!("addEventListener"in e)||W(t)||!j(i))return;const l=t.split(" ");let o=a;pe&&(o={passive:n,capture:a}),l.forEach((t=>{this&&this.eventListeners&&s&&this.eventListeners.push({element:e,type:t,callback:i,options:o}),e[s?"addEventListener":"removeEventListener"](t,i,o)}))}function fe(e,t="",i,s=!0,n=!1){ge.call(this,e,t,i,!0,s,n)}function be(e,t="",i,s=!0,n=!1){ge.call(this,e,t,i,!1,s,n)}function ye(e,t="",i,s=!0,n=!1){const a=(...l)=>{be(e,t,a,s,n),i.apply(this,l)};ge.call(this,e,t,a,!0,s,n)}function ve(e,t="",i=!1,s={}){if(!H(e)||W(t))return;const n=new CustomEvent(t,{bubbles:i,detail:{...s,plyr:this}});e.dispatchEvent(n)}function we(){this&&this.eventListeners&&(this.eventListeners.forEach((e=>{const{element:t,type:i,callback:s,options:n}=e;t.removeEventListener(i,s,n)})),this.eventListeners=[])}function Te(){return new Promise((e=>this.ready?setTimeout(e,0):fe.call(this,this.elements.container,"ready",e))).then((()=>{}))}function ke(e){B(e)&&e.then(null,(()=>{}))}function Ce(e){return q(e)?e.filter(((t,i)=>e.indexOf(t)===i)):e}function Ae(e,t){return q(e)&&e.length?e.reduce(((e,i)=>Math.abs(i-t)<Math.abs(e-t)?i:e)):null}function Se(e){return!(!window||!window.CSS)&&window.CSS.supports(e)}const Ee=[[1,1],[4,3],[3,4],[5,4],[4,5],[3,2],[2,3],[16,10],[10,16],[16,9],[9,16],[21,9],[9,21],[32,9],[9,32]].reduce(((e,[t,i])=>({...e,[t/i]:[t,i]})),{});function Pe(e){if(!(q(e)||_(e)&&e.includes(":")))return!1;return(q(e)?e:e.split(":")).map(Number).every($)}function Ne(e){if(!q(e)||!e.every($))return null;const[t,i]=e,s=(e,t)=>0===t?e:s(t,e%t),n=s(t,i);return[t/n,i/n]}function xe(e){const t=e=>Pe(e)?e.split(":").map(Number):null;let i=t(e);if(null===i&&(i=t(this.config.ratio)),null===i&&!W(this.embed)&&q(this.embed.ratio)&&({ratio:i}=this.embed),null===i&&this.isHTML5){const{videoWidth:e,videoHeight:t}=this.media;i=[e,t]}return Ne(i)}function Me(e){if(!this.isVideo)return{};const{wrapper:t}=this.elements,i=xe.call(this,e);if(!q(i))return{};const[s,n]=Ne(i),a=100/s*n;if(Se(`aspect-ratio: ${s}/${n}`)?t.style.aspectRatio=`${s}/${n}`:t.style.paddingBottom=`${a}%`,this.isVimeo&&!this.config.vimeo.premium&&this.supported.ui){const e=100/this.media.offsetWidth*parseInt(window.getComputedStyle(this.media).paddingBottom,10),i=(e-a)/(e/50);this.fullscreen.active?t.style.paddingBottom=null:this.media.style.transform=`translateY(-${i}%)`}else this.isHTML5&&t.classList.add(this.config.classNames.videoFixedRatio);return{padding:a,ratio:i}}function Ie(e,t,i=.05){const s=e/t,n=Ae(Object.keys(Ee),s);return Math.abs(n-s)<=i?Ee[n]:[e,t]}const Le={getSources(){if(!this.isHTML5)return[];return Array.from(this.media.querySelectorAll("source")).filter((e=>{const t=e.getAttribute("type");return!!W(t)||me.mime.call(this,t)}))},getQualityOptions(){return this.config.quality.forced?this.config.quality.options:Le.getSources.call(this).map((e=>Number(e.getAttribute("size")))).filter(Boolean)},setup(){if(!this.isHTML5)return;const e=this;e.options.speed=e.config.speed.options,W(this.config.ratio)||Me.call(e),Object.defineProperty(e.media,"quality",{get(){const t=Le.getSources.call(e).find((t=>t.getAttribute("src")===e.source));return t&&Number(t.getAttribute("size"))},set(t){if(e.quality!==t){if(e.config.quality.forced&&j(e.config.quality.onChange))e.config.quality.onChange(t);else{const i=Le.getSources.call(e).find((e=>Number(e.getAttribute("size"))===t));if(!i)return;const{currentTime:s,paused:n,preload:a,readyState:l,playbackRate:o}=e.media;e.media.src=i.getAttribute("src"),("none"!==a||l)&&(e.once("loadedmetadata",(()=>{e.speed=o,e.currentTime=s,n||ke(e.play())})),e.media.load())}ve.call(e,e.media,"qualitychange",!1,{quality:t})}}})},cancelRequests(){this.isHTML5&&(te(Le.getSources.call(this)),this.media.setAttribute("src",this.config.blankVideo),this.media.load(),this.debug.log("Cancelled network requests"))}};function $e(e,...t){return W(e)?e:e.toString().replace(/{(\d+)}/g,((e,i)=>t[i].toString()))}const _e=(e="",t="",i="")=>e.replace(new RegExp(t.toString().replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1"),"g"),i.toString()),Oe=(e="")=>e.toString().replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()));function je(e=""){let t=e.toString();return t=function(e=""){let t=e.toString();return t=_e(t,"-"," "),t=_e(t,"_"," "),t=Oe(t),_e(t," ","")}(t),t.charAt(0).toLowerCase()+t.slice(1)}function qe(e){const t=document.createElement("div");return t.appendChild(e),t.innerHTML}const De={pip:"PIP",airplay:"AirPlay",html5:"HTML5",vimeo:"Vimeo",youtube:"YouTube"},He={get(e="",t={}){if(W(e)||W(t))return"";let i=Q(t.i18n,e);if(W(i))return Object.keys(De).includes(e)?De[e]:"";const s={"{seektime}":t.seekTime,"{title}":t.title};return Object.entries(s).forEach((([e,t])=>{i=_e(i,e,t)})),i}};class Fe{constructor(t){e(this,"get",(e=>{if(!Fe.supported||!this.enabled)return null;const t=window.localStorage.getItem(this.key);if(W(t))return null;const i=JSON.parse(t);return _(e)&&e.length?i[e]:i})),e(this,"set",(e=>{if(!Fe.supported||!this.enabled)return;if(!L(e))return;let t=this.get();W(t)&&(t={}),X(t,e);try{window.localStorage.setItem(this.key,JSON.stringify(t))}catch(e){}})),this.enabled=t.config.storage.enabled,this.key=t.config.storage.key}static get supported(){try{if(!("localStorage"in window))return!1;const e="___test";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch(e){return!1}}}function Re(e,t="text"){return new Promise(((i,s)=>{try{const s=new XMLHttpRequest;if(!("withCredentials"in s))return;s.addEventListener("load",(()=>{if("text"===t)try{i(JSON.parse(s.responseText))}catch(e){i(s.responseText)}else i(s.response)})),s.addEventListener("error",(()=>{throw new Error(s.status)})),s.open("GET",e,!0),s.responseType=t,s.send()}catch(e){s(e)}}))}function Ve(e,t){if(!_(e))return;const i=_(t);let s=!1;const n=()=>null!==document.getElementById(t),a=(e,t)=>{e.innerHTML=t,i&&n()||document.body.insertAdjacentElement("afterbegin",e)};if(!i||!n()){const n=Fe.supported,l=document.createElement("div");if(l.setAttribute("hidden",""),i&&l.setAttribute("id",t),n){const e=window.localStorage.getItem(`cache-${t}`);if(s=null!==e,s){const t=JSON.parse(e);a(l,t.content)}}Re(e).then((e=>{if(!W(e)){if(n)try{window.localStorage.setItem(`cache-${t}`,JSON.stringify({content:e}))}catch(e){}a(l,e)}})).catch((()=>{}))}}const Be=e=>Math.trunc(e/60/60%60,10);function Ue(e=0,t=!1,i=!1){if(!$(e))return Ue(void 0,t,i);const s=e=>`0${e}`.slice(-2);let n=Be(e);const a=(l=e,Math.trunc(l/60%60,10));var l;const o=(e=>Math.trunc(e%60,10))(e);return n=t||n>0?`${n}:`:"",`${i&&e>0?"-":""}${n}${s(a)}:${s(o)}`}const We={getIconUrl(){const e=new URL(this.config.iconUrl,window.location),t=window.location.host?window.location.host:window.top.location.host,i=e.host!==t||Y.isIE&&!window.svg4everybody;return{url:this.config.iconUrl,cors:i}},findElements(){try{return this.elements.controls=he.call(this,this.config.selectors.controls.wrapper),this.elements.buttons={play:ce.call(this,this.config.selectors.buttons.play),pause:he.call(this,this.config.selectors.buttons.pause),restart:he.call(this,this.config.selectors.buttons.restart),rewind:he.call(this,this.config.selectors.buttons.rewind),fastForward:he.call(this,this.config.selectors.buttons.fastForward),mute:he.call(this,this.config.selectors.buttons.mute),pip:he.call(this,this.config.selectors.buttons.pip),airplay:he.call(this,this.config.selectors.buttons.airplay),settings:he.call(this,this.config.selectors.buttons.settings),captions:he.call(this,this.config.selectors.buttons.captions),fullscreen:he.call(this,this.config.selectors.buttons.fullscreen)},this.elements.progress=he.call(this,this.config.selectors.progress),this.elements.inputs={seek:he.call(this,this.config.selectors.inputs.seek),volume:he.call(this,this.config.selectors.inputs.volume)},this.elements.display={buffer:he.call(this,this.config.selectors.display.buffer),currentTime:he.call(this,this.config.selectors.display.currentTime),duration:he.call(this,this.config.selectors.display.duration)},H(this.elements.progress)&&(this.elements.display.seekTooltip=this.elements.progress.querySelector(`.${this.config.classNames.tooltip}`)),!0}catch(e){return this.debug.warn("It looks like there is a problem with your custom controls HTML",e),this.toggleNativeControls(!0),!1}},createIcon(e,t){const i="http://www.w3.org/2000/svg",s=We.getIconUrl.call(this),n=`${s.cors?"":s.url}#${this.config.iconPrefix}`,a=document.createElementNS(i,"svg");G(a,X(t,{"aria-hidden":"true",focusable:"false"}));const l=document.createElementNS(i,"use"),o=`${n}-${e}`;return"href"in l&&l.setAttributeNS("http://www.w3.org/1999/xlink","href",o),l.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",o),a.appendChild(l),a},createLabel(e,t={}){const i=He.get(e,this.config);return Z("span",{...t,class:[t.class,this.config.classNames.hidden].filter(Boolean).join(" ")},i)},createBadge(e){if(W(e))return null;const t=Z("span",{class:this.config.classNames.menu.value});return t.appendChild(Z("span",{class:this.config.classNames.menu.badge},e)),t},createButton(e,t){const i=X({},t);let s=je(e);const n={element:"button",toggle:!1,label:null,icon:null,labelPressed:null,iconPressed:null};switch(["element","icon","label"].forEach((e=>{Object.keys(i).includes(e)&&(n[e]=i[e],delete i[e])})),"button"!==n.element||Object.keys(i).includes("type")||(i.type="button"),Object.keys(i).includes("class")?i.class.split(" ").some((e=>e===this.config.classNames.control))||X(i,{class:`${i.class} ${this.config.classNames.control}`}):i.class=this.config.classNames.control,e){case"play":n.toggle=!0,n.label="play",n.labelPressed="pause",n.icon="play",n.iconPressed="pause";break;case"mute":n.toggle=!0,n.label="mute",n.labelPressed="unmute",n.icon="volume",n.iconPressed="muted";break;case"captions":n.toggle=!0,n.label="enableCaptions",n.labelPressed="disableCaptions",n.icon="captions-off",n.iconPressed="captions-on";break;case"fullscreen":n.toggle=!0,n.label="enterFullscreen",n.labelPressed="exitFullscreen",n.icon="enter-fullscreen",n.iconPressed="exit-fullscreen";break;case"play-large":i.class+=` ${this.config.classNames.control}--overlaid`,s="play",n.label="play",n.icon="play";break;default:W(n.label)&&(n.label=s),W(n.icon)&&(n.icon=e)}const a=Z(n.element);return n.toggle?(a.appendChild(We.createIcon.call(this,n.iconPressed,{class:"icon--pressed"})),a.appendChild(We.createIcon.call(this,n.icon,{class:"icon--not-pressed"})),a.appendChild(We.createLabel.call(this,n.labelPressed,{class:"label--pressed"})),a.appendChild(We.createLabel.call(this,n.label,{class:"label--not-pressed"}))):(a.appendChild(We.createIcon.call(this,n.icon)),a.appendChild(We.createLabel.call(this,n.label))),X(i,ne(this.config.selectors.buttons[s],i)),G(a,i),"play"===s?(q(this.elements.buttons[s])||(this.elements.buttons[s]=[]),this.elements.buttons[s].push(a)):this.elements.buttons[s]=a,a},createRange(e,t){const i=Z("input",X(ne(this.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.01,value:0,autocomplete:"off",role:"slider","aria-label":He.get(e,this.config),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":0},t));return this.elements.inputs[e]=i,We.updateRangeFill.call(this,i),T.setup(i),i},createProgress(e,t){const i=Z("progress",X(ne(this.config.selectors.display[e]),{min:0,max:100,value:0,role:"progressbar","aria-hidden":!0},t));if("volume"!==e){i.appendChild(Z("span",null,"0"));const t={played:"played",buffer:"buffered"}[e],s=t?He.get(t,this.config):"";i.innerText=`% ${s.toLowerCase()}`}return this.elements.display[e]=i,i},createTime(e,t){const i=ne(this.config.selectors.display[e],t),s=Z("div",X(i,{class:`${i.class?i.class:""} ${this.config.classNames.display.time} `.trim(),"aria-label":He.get(e,this.config)}),"00:00");return this.elements.display[e]=s,s},bindMenuItemShortcuts(e,t){fe.call(this,e,"keydown keyup",(i=>{if(![32,38,39,40].includes(i.which))return;if(i.preventDefault(),i.stopPropagation(),"keydown"===i.type)return;const s=re(e,'[role="menuitemradio"]');if(!s&&[32,39].includes(i.which))We.showMenuPanel.call(this,t,!0);else{let t;32!==i.which&&(40===i.which||s&&39===i.which?(t=e.nextElementSibling,H(t)||(t=e.parentNode.firstElementChild)):(t=e.previousElementSibling,H(t)||(t=e.parentNode.lastElementChild)),ue.call(this,t,!0))}}),!1),fe.call(this,e,"keyup",(e=>{13===e.which&&We.focusFirstMenuItem.call(this,null,!0)}))},createMenuItem({value:e,list:t,type:i,title:s,badge:n=null,checked:a=!1}){const l=ne(this.config.selectors.inputs[i]),o=Z("button",X(l,{type:"button",role:"menuitemradio",class:`${this.config.classNames.control} ${l.class?l.class:""}`.trim(),"aria-checked":a,value:e})),r=Z("span");r.innerHTML=s,H(n)&&r.appendChild(n),o.appendChild(r),Object.defineProperty(o,"checked",{enumerable:!0,get:()=>"true"===o.getAttribute("aria-checked"),set(e){e&&Array.from(o.parentNode.children).filter((e=>re(e,'[role="menuitemradio"]'))).forEach((e=>e.setAttribute("aria-checked","false"))),o.setAttribute("aria-checked",e?"true":"false")}}),this.listeners.bind(o,"click keyup",(t=>{if(!R(t)||32===t.which){switch(t.preventDefault(),t.stopPropagation(),o.checked=!0,i){case"language":this.currentTrack=Number(e);break;case"quality":this.quality=e;break;case"speed":this.speed=parseFloat(e)}We.showMenuPanel.call(this,"home",R(t))}}),i,!1),We.bindMenuItemShortcuts.call(this,o,i),t.appendChild(o)},formatTime(e=0,t=!1){if(!$(e))return e;return Ue(e,Be(this.duration)>0,t)},updateTimeDisplay(e=null,t=0,i=!1){H(e)&&$(t)&&(e.innerText=We.formatTime(t,i))},updateVolume(){this.supported.ui&&(H(this.elements.inputs.volume)&&We.setRange.call(this,this.elements.inputs.volume,this.muted?0:this.volume),H(this.elements.buttons.mute)&&(this.elements.buttons.mute.pressed=this.muted||0===this.volume))},setRange(e,t=0){H(e)&&(e.value=t,We.updateRangeFill.call(this,e))},updateProgress(e){if(!this.supported.ui||!F(e))return;let t=0;const i=(e,t)=>{const i=$(t)?t:0,s=H(e)?e:this.elements.display.buffer;if(H(s)){s.value=i;const e=s.getElementsByTagName("span")[0];H(e)&&(e.childNodes[0].nodeValue=i)}};if(e)switch(e.type){case"timeupdate":case"seeking":case"seeked":s=this.currentTime,n=this.duration,t=0===s||0===n||Number.isNaN(s)||Number.isNaN(n)?0:(s/n*100).toFixed(2),"timeupdate"===e.type&&We.setRange.call(this,this.elements.inputs.seek,t);break;case"playing":case"progress":i(this.elements.display.buffer,100*this.buffered)}var s,n},updateRangeFill(e){const t=F(e)?e.target:e;if(H(t)&&"range"===t.getAttribute("type")){if(re(t,this.config.selectors.inputs.seek)){t.setAttribute("aria-valuenow",this.currentTime);const e=We.formatTime(this.currentTime),i=We.formatTime(this.duration),s=He.get("seekLabel",this.config);t.setAttribute("aria-valuetext",s.replace("{currentTime}",e).replace("{duration}",i))}else if(re(t,this.config.selectors.inputs.volume)){const e=100*t.value;t.setAttribute("aria-valuenow",e),t.setAttribute("aria-valuetext",`${e.toFixed(1)}%`)}else t.setAttribute("aria-valuenow",t.value);Y.isWebkit&&t.style.setProperty("--value",t.value/t.max*100+"%")}},updateSeekTooltip(e){if(!this.config.tooltips.seek||!H(this.elements.inputs.seek)||!H(this.elements.display.seekTooltip)||0===this.duration)return;const t=`${this.config.classNames.tooltip}--visible`,i=e=>le(this.elements.display.seekTooltip,t,e);if(this.touch)return void i(!1);let s=0;const n=this.elements.progress.getBoundingClientRect();if(F(e))s=100/n.width*(e.pageX-n.left);else{if(!oe(this.elements.display.seekTooltip,t))return;s=parseFloat(this.elements.display.seekTooltip.style.left,10)}s<0?s=0:s>100&&(s=100),We.updateTimeDisplay.call(this,this.elements.display.seekTooltip,this.duration/100*s),this.elements.display.seekTooltip.style.left=`${s}%`,F(e)&&["mouseenter","mouseleave"].includes(e.type)&&i("mouseenter"===e.type)},timeUpdate(e){const t=!H(this.elements.display.duration)&&this.config.invertTime;We.updateTimeDisplay.call(this,this.elements.display.currentTime,t?this.duration-this.currentTime:this.currentTime,t),e&&"timeupdate"===e.type&&this.media.seeking||We.updateProgress.call(this,e)},durationUpdate(){if(!this.supported.ui||!this.config.invertTime&&this.currentTime)return;if(this.duration>=2**32)return ae(this.elements.display.currentTime,!0),void ae(this.elements.progress,!0);H(this.elements.inputs.seek)&&this.elements.inputs.seek.setAttribute("aria-valuemax",this.duration);const e=H(this.elements.display.duration);!e&&this.config.displayDuration&&this.paused&&We.updateTimeDisplay.call(this,this.elements.display.currentTime,this.duration),e&&We.updateTimeDisplay.call(this,this.elements.display.duration,this.duration),We.updateSeekTooltip.call(this)},toggleMenuButton(e,t){ae(this.elements.settings.buttons[e],!t)},updateSetting(e,t,i){const s=this.elements.settings.panels[e];let n=null,a=t;if("captions"===e)n=this.currentTrack;else{if(n=W(i)?this[e]:i,W(n)&&(n=this.config[e].default),!W(this.options[e])&&!this.options[e].includes(n))return void this.debug.warn(`Unsupported value of '${n}' for ${e}`);if(!this.config[e].options.includes(n))return void this.debug.warn(`Disabled value of '${n}' for ${e}`)}if(H(a)||(a=s&&s.querySelector('[role="menu"]')),!H(a))return;this.elements.settings.buttons[e].querySelector(`.${this.config.classNames.menu.value}`).innerHTML=We.getLabel.call(this,e,n);const l=a&&a.querySelector(`[value="${n}"]`);H(l)&&(l.checked=!0)},getLabel(e,t){switch(e){case"speed":return 1===t?He.get("normal",this.config):`${t}×`;case"quality":if($(t)){const e=He.get(`qualityLabel.${t}`,this.config);return e.length?e:`${t}p`}return Oe(t);case"captions":return Ye.getLabel.call(this);default:return null}},setQualityMenu(e){if(!H(this.elements.settings.panels.quality))return;const t="quality",i=this.elements.settings.panels.quality.querySelector('[role="menu"]');q(e)&&(this.options.quality=Ce(e).filter((e=>this.config.quality.options.includes(e))));const s=!W(this.options.quality)&&this.options.quality.length>1;if(We.toggleMenuButton.call(this,t,s),ie(i),We.checkMenu.call(this),!s)return;const n=e=>{const t=He.get(`qualityBadge.${e}`,this.config);return t.length?We.createBadge.call(this,t):null};this.options.quality.sort(((e,t)=>{const i=this.config.quality.options;return i.indexOf(e)>i.indexOf(t)?1:-1})).forEach((e=>{We.createMenuItem.call(this,{value:e,list:i,type:t,title:We.getLabel.call(this,"quality",e),badge:n(e)})})),We.updateSetting.call(this,t,i)},setCaptionsMenu(){if(!H(this.elements.settings.panels.captions))return;const e="captions",t=this.elements.settings.panels.captions.querySelector('[role="menu"]'),i=Ye.getTracks.call(this),s=Boolean(i.length);if(We.toggleMenuButton.call(this,e,s),ie(t),We.checkMenu.call(this),!s)return;const n=i.map(((e,i)=>({value:i,checked:this.captions.toggled&&this.currentTrack===i,title:Ye.getLabel.call(this,e),badge:e.language&&We.createBadge.call(this,e.language.toUpperCase()),list:t,type:"language"})));n.unshift({value:-1,checked:!this.captions.toggled,title:He.get("disabled",this.config),list:t,type:"language"}),n.forEach(We.createMenuItem.bind(this)),We.updateSetting.call(this,e,t)},setSpeedMenu(){if(!H(this.elements.settings.panels.speed))return;const e="speed",t=this.elements.settings.panels.speed.querySelector('[role="menu"]');this.options.speed=this.options.speed.filter((e=>e>=this.minimumSpeed&&e<=this.maximumSpeed));const i=!W(this.options.speed)&&this.options.speed.length>1;We.toggleMenuButton.call(this,e,i),ie(t),We.checkMenu.call(this),i&&(this.options.speed.forEach((i=>{We.createMenuItem.call(this,{value:i,list:t,type:e,title:We.getLabel.call(this,"speed",i)})})),We.updateSetting.call(this,e,t))},checkMenu(){const{buttons:e}=this.elements.settings,t=!W(e)&&Object.values(e).some((e=>!e.hidden));ae(this.elements.settings.menu,!t)},focusFirstMenuItem(e,t=!1){if(this.elements.settings.popup.hidden)return;let i=e;H(i)||(i=Object.values(this.elements.settings.panels).find((e=>!e.hidden)));const s=i.querySelector('[role^="menuitem"]');ue.call(this,s,t)},toggleMenu(e){const{popup:t}=this.elements.settings,i=this.elements.buttons.settings;if(!H(t)||!H(i))return;const{hidden:s}=t;let n=s;if(O(e))n=e;else if(R(e)&&27===e.which)n=!1;else if(F(e)){const s=j(e.composedPath)?e.composedPath()[0]:e.target,a=t.contains(s);if(a||!a&&e.target!==i&&n)return}i.setAttribute("aria-expanded",n),ae(t,!n),le(this.elements.container,this.config.classNames.menu.open,n),n&&R(e)?We.focusFirstMenuItem.call(this,null,!0):n||s||ue.call(this,i,R(e))},getMenuSize(e){const t=e.cloneNode(!0);t.style.position="absolute",t.style.opacity=0,t.removeAttribute("hidden"),e.parentNode.appendChild(t);const i=t.scrollWidth,s=t.scrollHeight;return te(t),{width:i,height:s}},showMenuPanel(e="",t=!1){const i=this.elements.container.querySelector(`#plyr-settings-${this.id}-${e}`);if(!H(i))return;const s=i.parentNode,n=Array.from(s.children).find((e=>!e.hidden));if(me.transitions&&!me.reducedMotion){s.style.width=`${n.scrollWidth}px`,s.style.height=`${n.scrollHeight}px`;const e=We.getMenuSize.call(this,i),t=e=>{e.target===s&&["width","height"].includes(e.propertyName)&&(s.style.width="",s.style.height="",be.call(this,s,z,t))};fe.call(this,s,z,t),s.style.width=`${e.width}px`,s.style.height=`${e.height}px`}ae(n,!0),ae(i,!1),We.focusFirstMenuItem.call(this,i,t)},setDownloadUrl(){const e=this.elements.buttons.download;H(e)&&e.setAttribute("href",this.download)},create(e){const{bindMenuItemShortcuts:t,createButton:i,createProgress:s,createRange:n,createTime:a,setQualityMenu:l,setSpeedMenu:o,showMenuPanel:r}=We;this.elements.controls=null,q(this.config.controls)&&this.config.controls.includes("play-large")&&this.elements.container.appendChild(i.call(this,"play-large"));const c=Z("div",ne(this.config.selectors.controls.wrapper));this.elements.controls=c;const h={class:"plyr__controls__item"};return Ce(q(this.config.controls)?this.config.controls:[]).forEach((l=>{if("restart"===l&&c.appendChild(i.call(this,"restart",h)),"rewind"===l&&c.appendChild(i.call(this,"rewind",h)),"play"===l&&c.appendChild(i.call(this,"play",h)),"fast-forward"===l&&c.appendChild(i.call(this,"fast-forward",h)),"progress"===l){const t=Z("div",{class:`${h.class} plyr__progress__container`}),i=Z("div",ne(this.config.selectors.progress));if(i.appendChild(n.call(this,"seek",{id:`plyr-seek-${e.id}`})),i.appendChild(s.call(this,"buffer")),this.config.tooltips.seek){const e=Z("span",{class:this.config.classNames.tooltip},"00:00");i.appendChild(e),this.elements.display.seekTooltip=e}this.elements.progress=i,t.appendChild(this.elements.progress),c.appendChild(t)}if("current-time"===l&&c.appendChild(a.call(this,"currentTime",h)),"duration"===l&&c.appendChild(a.call(this,"duration",h)),"mute"===l||"volume"===l){let{volume:t}=this.elements;if(H(t)&&c.contains(t)||(t=Z("div",X({},h,{class:`${h.class} plyr__volume`.trim()})),this.elements.volume=t,c.appendChild(t)),"mute"===l&&t.appendChild(i.call(this,"mute")),"volume"===l&&!Y.isIos){const i={max:1,step:.05,value:this.config.volume};t.appendChild(n.call(this,"volume",X(i,{id:`plyr-volume-${e.id}`})))}}if("captions"===l&&c.appendChild(i.call(this,"captions",h)),"settings"===l&&!W(this.config.settings)){const s=Z("div",X({},h,{class:`${h.class} plyr__menu`.trim(),hidden:""}));s.appendChild(i.call(this,"settings",{"aria-haspopup":!0,"aria-controls":`plyr-settings-${e.id}`,"aria-expanded":!1}));const n=Z("div",{class:"plyr__menu__container",id:`plyr-settings-${e.id}`,hidden:""}),a=Z("div"),l=Z("div",{id:`plyr-settings-${e.id}-home`}),o=Z("div",{role:"menu"});l.appendChild(o),a.appendChild(l),this.elements.settings.panels.home=l,this.config.settings.forEach((i=>{const s=Z("button",X(ne(this.config.selectors.buttons.settings),{type:"button",class:`${this.config.classNames.control} ${this.config.classNames.control}--forward`,role:"menuitem","aria-haspopup":!0,hidden:""}));t.call(this,s,i),fe.call(this,s,"click",(()=>{r.call(this,i,!1)}));const n=Z("span",null,He.get(i,this.config)),l=Z("span",{class:this.config.classNames.menu.value});l.innerHTML=e[i],n.appendChild(l),s.appendChild(n),o.appendChild(s);const c=Z("div",{id:`plyr-settings-${e.id}-${i}`,hidden:""}),h=Z("button",{type:"button",class:`${this.config.classNames.control} ${this.config.classNames.control}--back`});h.appendChild(Z("span",{"aria-hidden":!0},He.get(i,this.config))),h.appendChild(Z("span",{class:this.config.classNames.hidden},He.get("menuBack",this.config))),fe.call(this,c,"keydown",(e=>{37===e.which&&(e.preventDefault(),e.stopPropagation(),r.call(this,"home",!0))}),!1),fe.call(this,h,"click",(()=>{r.call(this,"home",!1)})),c.appendChild(h),c.appendChild(Z("div",{role:"menu"})),a.appendChild(c),this.elements.settings.buttons[i]=s,this.elements.settings.panels[i]=c})),n.appendChild(a),s.appendChild(n),c.appendChild(s),this.elements.settings.popup=n,this.elements.settings.menu=s}if("pip"===l&&me.pip&&c.appendChild(i.call(this,"pip",h)),"airplay"===l&&me.airplay&&c.appendChild(i.call(this,"airplay",h)),"download"===l){const e=X({},h,{element:"a",href:this.download,target:"_blank"});this.isHTML5&&(e.download="");const{download:t}=this.config.urls;!U(t)&&this.isEmbed&&X(e,{icon:`logo-${this.provider}`,label:this.provider}),c.appendChild(i.call(this,"download",e))}"fullscreen"===l&&c.appendChild(i.call(this,"fullscreen",h))})),this.isHTML5&&l.call(this,Le.getQualityOptions.call(this)),o.call(this),c},inject(){if(this.config.loadSprite){const e=We.getIconUrl.call(this);e.cors&&Ve(e.url,"sprite-plyr")}this.id=Math.floor(1e4*Math.random());let e=null;this.elements.controls=null;const t={id:this.id,seektime:this.config.seekTime,title:this.config.title};let i=!0;j(this.config.controls)&&(this.config.controls=this.config.controls.call(this,t)),this.config.controls||(this.config.controls=[]),H(this.config.controls)||_(this.config.controls)?e=this.config.controls:(e=We.create.call(this,{id:this.id,seektime:this.config.seekTime,speed:this.speed,quality:this.quality,captions:Ye.getLabel.call(this)}),i=!1);let s;i&&_(this.config.controls)&&(e=(e=>{let i=e;return Object.entries(t).forEach((([e,t])=>{i=_e(i,`{${e}}`,t)})),i})(e)),_(this.config.selectors.controls.container)&&(s=document.querySelector(this.config.selectors.controls.container)),H(s)||(s=this.elements.container);if(s[H(e)?"insertAdjacentElement":"insertAdjacentHTML"]("afterbegin",e),H(this.elements.controls)||We.findElements.call(this),!W(this.elements.buttons)){const e=e=>{const t=this.config.classNames.controlPressed;Object.defineProperty(e,"pressed",{enumerable:!0,get:()=>oe(e,t),set(i=!1){le(e,t,i)}})};Object.values(this.elements.buttons).filter(Boolean).forEach((t=>{q(t)||D(t)?Array.from(t).filter(Boolean).forEach(e):e(t)}))}if(Y.isEdge&&K(s),this.config.tooltips.controls){const{classNames:e,selectors:t}=this.config,i=`${t.controls.wrapper} ${t.labels} .${e.hidden}`,s=ce.call(this,i);Array.from(s).forEach((e=>{le(e,this.config.classNames.hidden,!1),le(e,this.config.classNames.tooltip,!0)}))}}};function ze(e,t=!0){let i=e;if(t){const e=document.createElement("a");e.href=i,i=e.href}try{return new URL(i)}catch(e){return null}}function Ke(e){const t=new URLSearchParams;return L(e)&&Object.entries(e).forEach((([e,i])=>{t.set(e,i)})),t}const Ye={setup(){if(!this.supported.ui)return;if(!this.isVideo||this.isYouTube||this.isHTML5&&!me.textTracks)return void(q(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&We.setCaptionsMenu.call(this));var e,t;if(H(this.elements.captions)||(this.elements.captions=Z("div",ne(this.config.selectors.captions)),e=this.elements.captions,t=this.elements.wrapper,H(e)&&H(t)&&t.parentNode.insertBefore(e,t.nextSibling)),Y.isIE&&window.URL){const e=this.media.querySelectorAll("track");Array.from(e).forEach((e=>{const t=e.getAttribute("src"),i=ze(t);null!==i&&i.hostname!==window.location.href.hostname&&["http:","https:"].includes(i.protocol)&&Re(t,"blob").then((t=>{e.setAttribute("src",window.URL.createObjectURL(t))})).catch((()=>{te(e)}))}))}const i=Ce((navigator.languages||[navigator.language||navigator.userLanguage||"en"]).map((e=>e.split("-")[0])));let s=(this.storage.get("language")||this.config.captions.language||"auto").toLowerCase();"auto"===s&&([s]=i);let n=this.storage.get("captions");if(O(n)||({active:n}=this.config.captions),Object.assign(this.captions,{toggled:!1,active:n,language:s,languages:i}),this.isHTML5){const e=this.config.captions.update?"addtrack removetrack":"removetrack";fe.call(this,this.media.textTracks,e,Ye.update.bind(this))}setTimeout(Ye.update.bind(this),0)},update(){const e=Ye.getTracks.call(this,!0),{active:t,language:i,meta:s,currentTrackNode:n}=this.captions,a=Boolean(e.find((e=>e.language===i)));this.isHTML5&&this.isVideo&&e.filter((e=>!s.get(e))).forEach((e=>{this.debug.log("Track added",e),s.set(e,{default:"showing"===e.mode}),"showing"===e.mode&&(e.mode="hidden"),fe.call(this,e,"cuechange",(()=>Ye.updateCues.call(this)))})),(a&&this.language!==i||!e.includes(n))&&(Ye.setLanguage.call(this,i),Ye.toggle.call(this,t&&a)),this.elements&&le(this.elements.container,this.config.classNames.captions.enabled,!W(e)),q(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&We.setCaptionsMenu.call(this)},toggle(e,t=!0){if(!this.supported.ui)return;const{toggled:i}=this.captions,s=this.config.classNames.captions.active,n=I(e)?!i:e;if(n!==i){if(t||(this.captions.active=n,this.storage.set({captions:n})),!this.language&&n&&!t){const e=Ye.getTracks.call(this),t=Ye.findTrack.call(this,[this.captions.language,...this.captions.languages],!0);return this.captions.language=t.language,void Ye.set.call(this,e.indexOf(t))}this.elements.buttons.captions&&(this.elements.buttons.captions.pressed=n),le(this.elements.container,s,n),this.captions.toggled=n,We.updateSetting.call(this,"captions"),ve.call(this,this.media,n?"captionsenabled":"captionsdisabled")}setTimeout((()=>{n&&this.captions.toggled&&(this.captions.currentTrackNode.mode="hidden")}))},set(e,t=!0){const i=Ye.getTracks.call(this);if(-1!==e)if($(e))if(e in i){if(this.captions.currentTrack!==e){this.captions.currentTrack=e;const s=i[e],{language:n}=s||{};this.captions.currentTrackNode=s,We.updateSetting.call(this,"captions"),t||(this.captions.language=n,this.storage.set({language:n})),this.isVimeo&&this.embed.enableTextTrack(n),ve.call(this,this.media,"languagechange")}Ye.toggle.call(this,!0,t),this.isHTML5&&this.isVideo&&Ye.updateCues.call(this)}else this.debug.warn("Track not found",e);else this.debug.warn("Invalid caption argument",e);else Ye.toggle.call(this,!1,t)},setLanguage(e,t=!0){if(!_(e))return void this.debug.warn("Invalid language argument",e);const i=e.toLowerCase();this.captions.language=i;const s=Ye.getTracks.call(this),n=Ye.findTrack.call(this,[i]);Ye.set.call(this,s.indexOf(n),t)},getTracks(e=!1){return Array.from((this.media||{}).textTracks||[]).filter((t=>!this.isHTML5||e||this.captions.meta.has(t))).filter((e=>["captions","subtitles"].includes(e.kind)))},findTrack(e,t=!1){const i=Ye.getTracks.call(this),s=e=>Number((this.captions.meta.get(e)||{}).default),n=Array.from(i).sort(((e,t)=>s(t)-s(e)));let a;return e.every((e=>(a=n.find((t=>t.language===e)),!a))),a||(t?n[0]:void 0)},getCurrentTrack(){return Ye.getTracks.call(this)[this.currentTrack]},getLabel(e){let t=e;return!V(t)&&me.textTracks&&this.captions.toggled&&(t=Ye.getCurrentTrack.call(this)),V(t)?W(t.label)?W(t.language)?He.get("enabled",this.config):e.language.toUpperCase():t.label:He.get("disabled",this.config)},updateCues(e){if(!this.supported.ui)return;if(!H(this.elements.captions))return void this.debug.warn("No captions element to render to");if(!I(e)&&!Array.isArray(e))return void this.debug.warn("updateCues: Invalid input",e);let t=e;if(!t){const e=Ye.getCurrentTrack.call(this);t=Array.from((e||{}).activeCues||[]).map((e=>e.getCueAsHTML())).map(qe)}const i=t.map((e=>e.trim())).join("\n");if(i!==this.elements.captions.innerHTML){ie(this.elements.captions);const e=Z("span",ne(this.config.selectors.caption));e.innerHTML=i,this.elements.captions.appendChild(e),ve.call(this,this.media,"cuechange")}}},Qe={enabled:!0,title:"",debug:!1,autoplay:!1,autopause:!0,playsinline:!0,seekTime:10,volume:1,muted:!1,duration:null,displayDuration:!0,invertTime:!0,toggleInvert:!0,ratio:null,clickToPlay:!0,hideControls:!0,resetOnEnd:!1,disableContextMenu:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/3.6.12/plyr.svg",blankVideo:"https://cdn.plyr.io/static/blank.mp4",quality:{default:576,options:[4320,2880,2160,1440,1080,720,576,480,360,240],forced:!1,onChange:null},loop:{active:!1},speed:{selected:1,options:[.5,.75,1,1.25,1.5,1.75,2,4]},keyboard:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},captions:{active:!1,language:"auto",update:!1},fullscreen:{enabled:!0,fallback:!0,iosNative:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],settings:["captions","quality","speed"],i18n:{restart:"Restart",rewind:"Rewind {seektime}s",play:"Play",pause:"Pause",fastForward:"Forward {seektime}s",seek:"Seek",seekLabel:"{currentTime} of {duration}",played:"Played",buffered:"Buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",mute:"Mute",unmute:"Unmute",enableCaptions:"Enable captions",disableCaptions:"Disable captions",download:"Download",enterFullscreen:"Enter fullscreen",exitFullscreen:"Exit fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",pip:"PIP",menuBack:"Go back to previous menu",speed:"Speed",normal:"Normal",quality:"Quality",loop:"Loop",start:"Start",end:"End",all:"All",reset:"Reset",disabled:"Disabled",enabled:"Enabled",advertisement:"Ad",qualityBadge:{2160:"4K",1440:"HD",1080:"HD",720:"HD",576:"SD",480:"SD"}},urls:{download:null,vimeo:{sdk:"https://player.vimeo.com/api/player.js",iframe:"https://player.vimeo.com/video/{0}?{1}",api:"https://vimeo.com/api/oembed.json?url={0}"},youtube:{sdk:"https://www.youtube.com/iframe_api",api:"https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}"},googleIMA:{sdk:"https://imasdk.googleapis.com/js/sdkloader/ima3.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,fastForward:null,mute:null,volume:null,captions:null,download:null,fullscreen:null,pip:null,airplay:null,speed:null,quality:null,loop:null,language:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied","ratechange","cuechange","download","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled","languagechange","controlshidden","controlsshown","ready","statechange","qualitychange","adsloaded","adscontentpause","adscontentresume","adstarted","adsmidpoint","adscomplete","adsallcomplete","adsimpression","adsclick"],selectors:{editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',fastForward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',download:'[data-plyr="download"]',fullscreen:'[data-plyr="fullscreen"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]',settings:'[data-plyr="settings"]',loop:'[data-plyr="loop"]'},inputs:{seek:'[data-plyr="seek"]',volume:'[data-plyr="volume"]',speed:'[data-plyr="speed"]',language:'[data-plyr="language"]',quality:'[data-plyr="quality"]'},display:{currentTime:".plyr__time--current",duration:".plyr__time--duration",buffer:".plyr__progress__buffer",loop:".plyr__progress__loop",volume:".plyr__volume--display"},progress:".plyr__progress",captions:".plyr__captions",caption:".plyr__caption"},classNames:{type:"plyr--{0}",provider:"plyr--{0}",video:"plyr__video-wrapper",embed:"plyr__video-embed",videoFixedRatio:"plyr__video-wrapper--fixed-ratio",embedContainer:"plyr__video-embed__container",poster:"plyr__poster",posterEnabled:"plyr__poster-enabled",ads:"plyr__ads",control:"plyr__control",controlPressed:"plyr__control--pressed",playing:"plyr--playing",paused:"plyr--paused",stopped:"plyr--stopped",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",cues:"plyr__cues",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",uiSupported:"plyr--full-ui",noTransition:"plyr--no-transition",display:{time:"plyr__time"},menu:{value:"plyr__menu__value",badge:"plyr__badge",open:"plyr--menu-open"},captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",fallback:"plyr--fullscreen-fallback"},pip:{supported:"plyr--pip-supported",active:"plyr--pip-active"},airplay:{supported:"plyr--airplay-supported",active:"plyr--airplay-active"},tabFocus:"plyr__tab-focus",previewThumbnails:{thumbContainer:"plyr__preview-thumb",thumbContainerShown:"plyr__preview-thumb--is-shown",imageContainer:"plyr__preview-thumb__image-container",timeContainer:"plyr__preview-thumb__time-container",scrubbingContainer:"plyr__preview-scrubbing",scrubbingContainerShown:"plyr__preview-scrubbing--is-shown"}},attributes:{embed:{provider:"data-plyr-provider",id:"data-plyr-embed-id",hash:"data-plyr-embed-hash"}},ads:{enabled:!1,publisherId:"",tagUrl:""},previewThumbnails:{enabled:!1,src:""},vimeo:{byline:!1,portrait:!1,title:!1,speed:!0,transparent:!1,customControls:!0,referrerPolicy:null,premium:!1},youtube:{rel:0,showinfo:0,iv_load_policy:3,modestbranding:1,customControls:!0,noCookie:!1}},Xe="picture-in-picture",Je="inline",Ge={html5:"html5",youtube:"youtube",vimeo:"vimeo"},Ze="audio",et="video";const tt=()=>{};class it{constructor(e=!1){this.enabled=window.console&&e,this.enabled&&this.log("Debugging enabled")}get log(){return this.enabled?Function.prototype.bind.call(console.log,console):tt}get warn(){return this.enabled?Function.prototype.bind.call(console.warn,console):tt}get error(){return this.enabled?Function.prototype.bind.call(console.error,console):tt}}class st{constructor(t){e(this,"onChange",(()=>{if(!this.enabled)return;const e=this.player.elements.buttons.fullscreen;H(e)&&(e.pressed=this.active);const t=this.target===this.player.media?this.target:this.player.elements.container;ve.call(this.player,t,this.active?"enterfullscreen":"exitfullscreen",!0)})),e(this,"toggleFallback",((e=!1)=>{if(e?this.scrollPosition={x:window.scrollX||0,y:window.scrollY||0}:window.scrollTo(this.scrollPosition.x,this.scrollPosition.y),document.body.style.overflow=e?"hidden":"",le(this.target,this.player.config.classNames.fullscreen.fallback,e),Y.isIos){let t=document.head.querySelector('meta[name="viewport"]');const i="viewport-fit=cover";t||(t=document.createElement("meta"),t.setAttribute("name","viewport"));const s=_(t.content)&&t.content.includes(i);e?(this.cleanupViewport=!s,s||(t.content+=`,${i}`)):this.cleanupViewport&&(t.content=t.content.split(",").filter((e=>e.trim()!==i)).join(","))}this.onChange()})),e(this,"trapFocus",(e=>{if(Y.isIos||!this.active||"Tab"!==e.key||9!==e.keyCode)return;const t=document.activeElement,i=ce.call(this.player,"a[href], button:not(:disabled), input:not(:disabled), [tabindex]"),[s]=i,n=i[i.length-1];t!==n||e.shiftKey?t===s&&e.shiftKey&&(n.focus(),e.preventDefault()):(s.focus(),e.preventDefault())})),e(this,"update",(()=>{if(this.enabled){let e;e=this.forceFallback?"Fallback (forced)":st.native?"Native":"Fallback",this.player.debug.log(`${e} fullscreen enabled`)}else this.player.debug.log("Fullscreen not supported and fallback disabled");le(this.player.elements.container,this.player.config.classNames.fullscreen.enabled,this.enabled)})),e(this,"enter",(()=>{this.enabled&&(Y.isIos&&this.player.config.fullscreen.iosNative?this.player.isVimeo?this.player.embed.requestFullscreen():this.target.webkitEnterFullscreen():!st.native||this.forceFallback?this.toggleFallback(!0):this.prefix?W(this.prefix)||this.target[`${this.prefix}Request${this.property}`]():this.target.requestFullscreen({navigationUI:"hide"}))})),e(this,"exit",(()=>{if(this.enabled)if(Y.isIos&&this.player.config.fullscreen.iosNative)this.target.webkitExitFullscreen(),ke(this.player.play());else if(!st.native||this.forceFallback)this.toggleFallback(!1);else if(this.prefix){if(!W(this.prefix)){const e="moz"===this.prefix?"Cancel":"Exit";document[`${this.prefix}${e}${this.property}`]()}}else(document.cancelFullScreen||document.exitFullscreen).call(document)})),e(this,"toggle",(()=>{this.active?this.exit():this.enter()})),this.player=t,this.prefix=st.prefix,this.property=st.property,this.scrollPosition={x:0,y:0},this.forceFallback="force"===t.config.fullscreen.fallback,this.player.elements.fullscreen=t.config.fullscreen.container&&function(e,t){const{prototype:i}=Element;return(i.closest||function(){let e=this;do{if(re.matches(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}).call(e,t)}(this.player.elements.container,t.config.fullscreen.container),fe.call(this.player,document,"ms"===this.prefix?"MSFullscreenChange":`${this.prefix}fullscreenchange`,(()=>{this.onChange()})),fe.call(this.player,this.player.elements.container,"dblclick",(e=>{H(this.player.elements.controls)&&this.player.elements.controls.contains(e.target)||this.player.listeners.proxy(e,this.toggle,"fullscreen")})),fe.call(this,this.player.elements.container,"keydown",(e=>this.trapFocus(e))),this.update()}static get native(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)}get usingNative(){return st.native&&!this.forceFallback}static get prefix(){if(j(document.exitFullscreen))return"";let e="";return["webkit","moz","ms"].some((t=>!(!j(document[`${t}ExitFullscreen`])&&!j(document[`${t}CancelFullScreen`]))&&(e=t,!0))),e}static get property(){return"moz"===this.prefix?"FullScreen":"Fullscreen"}get enabled(){return(st.native||this.player.config.fullscreen.fallback)&&this.player.config.fullscreen.enabled&&this.player.supported.ui&&this.player.isVideo}get active(){if(!this.enabled)return!1;if(!st.native||this.forceFallback)return oe(this.target,this.player.config.classNames.fullscreen.fallback);const e=this.prefix?this.target.getRootNode()[`${this.prefix}${this.property}Element`]:this.target.getRootNode().fullscreenElement;return e&&e.shadowRoot?e===this.target.getRootNode().host:e===this.target}get target(){return Y.isIos&&this.player.config.fullscreen.iosNative?this.player.media:this.player.elements.fullscreen||this.player.elements.container}}function nt(e,t=1){return new Promise(((i,s)=>{const n=new Image,a=()=>{delete n.onload,delete n.onerror,(n.naturalWidth>=t?i:s)(n)};Object.assign(n,{onload:a,onerror:a,src:e})}))}const at={addStyleHook(){le(this.elements.container,this.config.selectors.container.replace(".",""),!0),le(this.elements.container,this.config.classNames.uiSupported,this.supported.ui)},toggleNativeControls(e=!1){e&&this.isHTML5?this.media.setAttribute("controls",""):this.media.removeAttribute("controls")},build(){if(this.listeners.media(),!this.supported.ui)return this.debug.warn(`Basic support only for ${this.provider} ${this.type}`),void at.toggleNativeControls.call(this,!0);H(this.elements.controls)||(We.inject.call(this),this.listeners.controls()),at.toggleNativeControls.call(this),this.isHTML5&&Ye.setup.call(this),this.volume=null,this.muted=null,this.loop=null,this.quality=null,this.speed=null,We.updateVolume.call(this),We.timeUpdate.call(this),We.durationUpdate.call(this),at.checkPlaying.call(this),le(this.elements.container,this.config.classNames.pip.supported,me.pip&&this.isHTML5&&this.isVideo),le(this.elements.container,this.config.classNames.airplay.supported,me.airplay&&this.isHTML5),le(this.elements.container,this.config.classNames.isIos,Y.isIos),le(this.elements.container,this.config.classNames.isTouch,this.touch),this.ready=!0,setTimeout((()=>{ve.call(this,this.media,"ready")}),0),at.setTitle.call(this),this.poster&&at.setPoster.call(this,this.poster,!1).catch((()=>{})),this.config.duration&&We.durationUpdate.call(this)},setTitle(){let e=He.get("play",this.config);if(_(this.config.title)&&!W(this.config.title)&&(e+=`, ${this.config.title}`),Array.from(this.elements.buttons.play||[]).forEach((t=>{t.setAttribute("aria-label",e)})),this.isEmbed){const e=he.call(this,"iframe");if(!H(e))return;const t=W(this.config.title)?"video":this.config.title,i=He.get("frameTitle",this.config);e.setAttribute("title",i.replace("{title}",t))}},togglePoster(e){le(this.elements.container,this.config.classNames.posterEnabled,e)},setPoster(e,t=!0){return t&&this.poster?Promise.reject(new Error("Poster already set")):(this.media.setAttribute("data-poster",e),this.elements.poster.removeAttribute("hidden"),Te.call(this).then((()=>nt(e))).catch((t=>{throw e===this.poster&&at.togglePoster.call(this,!1),t})).then((()=>{if(e!==this.poster)throw new Error("setPoster cancelled by later call to setPoster")})).then((()=>(Object.assign(this.elements.poster.style,{backgroundImage:`url('${e}')`,backgroundSize:""}),at.togglePoster.call(this,!0),e))))},checkPlaying(e){le(this.elements.container,this.config.classNames.playing,this.playing),le(this.elements.container,this.config.classNames.paused,this.paused),le(this.elements.container,this.config.classNames.stopped,this.stopped),Array.from(this.elements.buttons.play||[]).forEach((e=>{Object.assign(e,{pressed:this.playing}),e.setAttribute("aria-label",He.get(this.playing?"pause":"play",this.config))})),F(e)&&"timeupdate"===e.type||at.toggleControls.call(this)},checkLoading(e){this.loading=["stalled","waiting"].includes(e.type),clearTimeout(this.timers.loading),this.timers.loading=setTimeout((()=>{le(this.elements.container,this.config.classNames.loading,this.loading),at.toggleControls.call(this)}),this.loading?250:0)},toggleControls(e){const{controls:t}=this.elements;if(t&&this.config.hideControls){const i=this.touch&&this.lastSeekTime+2e3>Date.now();this.toggleControls(Boolean(e||this.loading||this.paused||t.pressed||t.hover||i))}},migrateStyles(){Object.values({...this.media.style}).filter((e=>!W(e)&&_(e)&&e.startsWith("--plyr"))).forEach((e=>{this.elements.container.style.setProperty(e,this.media.style.getPropertyValue(e)),this.media.style.removeProperty(e)})),W(this.media.style)&&this.media.removeAttribute("style")}};class lt{constructor(t){e(this,"firstTouch",(()=>{const{player:e}=this,{elements:t}=e;e.touch=!0,le(t.container,e.config.classNames.isTouch,!0)})),e(this,"setTabFocus",(e=>{const{player:t}=this,{elements:i}=t;if(clearTimeout(this.focusTimer),"keydown"===e.type&&9!==e.which)return;"keydown"===e.type&&(this.lastKeyDown=e.timeStamp);const s=e.timeStamp-this.lastKeyDown<=20;("focus"!==e.type||s)&&((()=>{const e=t.config.classNames.tabFocus;le(ce.call(t,`.${e}`),e,!1)})(),"focusout"!==e.type&&(this.focusTimer=setTimeout((()=>{const e=document.activeElement;i.container.contains(e)&&le(document.activeElement,t.config.classNames.tabFocus,!0)}),10)))})),e(this,"global",((e=!0)=>{const{player:t}=this;t.config.keyboard.global&&ge.call(t,window,"keydown keyup",this.handleKey,e,!1),ge.call(t,document.body,"click",this.toggleMenu,e),ye.call(t,document.body,"touchstart",this.firstTouch),ge.call(t,document.body,"keydown focus blur focusout",this.setTabFocus,e,!1,!0)})),e(this,"container",(()=>{const{player:e}=this,{config:t,elements:i,timers:s}=e;!t.keyboard.global&&t.keyboard.focused&&fe.call(e,i.container,"keydown keyup",this.handleKey,!1),fe.call(e,i.container,"mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen",(t=>{const{controls:n}=i;n&&"enterfullscreen"===t.type&&(n.pressed=!1,n.hover=!1);let a=0;["touchstart","touchmove","mousemove"].includes(t.type)&&(at.toggleControls.call(e,!0),a=e.touch?3e3:2e3),clearTimeout(s.controls),s.controls=setTimeout((()=>at.toggleControls.call(e,!1)),a)}));const n=()=>{if(!e.isVimeo||e.config.vimeo.premium)return;const t=i.wrapper,{active:s}=e.fullscreen,[n,a]=xe.call(e),l=Se(`aspect-ratio: ${n} / ${a}`);if(!s)return void(l?(t.style.width=null,t.style.height=null):(t.style.maxWidth=null,t.style.margin=null));const[o,r]=[Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)],c=o/r>n/a;l?(t.style.width=c?"auto":"100%",t.style.height=c?"100%":"auto"):(t.style.maxWidth=c?r/a*n+"px":null,t.style.margin=c?"0 auto":null)},a=()=>{clearTimeout(s.resized),s.resized=setTimeout(n,50)};fe.call(e,i.container,"enterfullscreen exitfullscreen",(t=>{const{target:s}=e.fullscreen;if(s!==i.container)return;if(!e.isEmbed&&W(e.config.ratio))return;n();("enterfullscreen"===t.type?fe:be).call(e,window,"resize",a)}))})),e(this,"media",(()=>{const{player:e}=this,{elements:t}=e;if(fe.call(e,e.media,"timeupdate seeking seeked",(t=>We.timeUpdate.call(e,t))),fe.call(e,e.media,"durationchange loadeddata loadedmetadata",(t=>We.durationUpdate.call(e,t))),fe.call(e,e.media,"ended",(()=>{e.isHTML5&&e.isVideo&&e.config.resetOnEnd&&(e.restart(),e.pause())})),fe.call(e,e.media,"progress playing seeking seeked",(t=>We.updateProgress.call(e,t))),fe.call(e,e.media,"volumechange",(t=>We.updateVolume.call(e,t))),fe.call(e,e.media,"playing play pause ended emptied timeupdate",(t=>at.checkPlaying.call(e,t))),fe.call(e,e.media,"waiting canplay seeked playing",(t=>at.checkLoading.call(e,t))),e.supported.ui&&e.config.clickToPlay&&!e.isAudio){const i=he.call(e,`.${e.config.classNames.video}`);if(!H(i))return;fe.call(e,t.container,"click",(s=>{([t.container,i].includes(s.target)||i.contains(s.target))&&(e.touch&&e.config.hideControls||(e.ended?(this.proxy(s,e.restart,"restart"),this.proxy(s,(()=>{ke(e.play())}),"play")):this.proxy(s,(()=>{ke(e.togglePlay())}),"play")))}))}e.supported.ui&&e.config.disableContextMenu&&fe.call(e,t.wrapper,"contextmenu",(e=>{e.preventDefault()}),!1),fe.call(e,e.media,"volumechange",(()=>{e.storage.set({volume:e.volume,muted:e.muted})})),fe.call(e,e.media,"ratechange",(()=>{We.updateSetting.call(e,"speed"),e.storage.set({speed:e.speed})})),fe.call(e,e.media,"qualitychange",(t=>{We.updateSetting.call(e,"quality",null,t.detail.quality)})),fe.call(e,e.media,"ready qualitychange",(()=>{We.setDownloadUrl.call(e)}));const i=e.config.events.concat(["keyup","keydown"]).join(" ");fe.call(e,e.media,i,(i=>{let{detail:s={}}=i;"error"===i.type&&(s=e.media.error),ve.call(e,t.container,i.type,!0,s)}))})),e(this,"proxy",((e,t,i)=>{const{player:s}=this,n=s.config.listeners[i];let a=!0;j(n)&&(a=n.call(s,e)),!1!==a&&j(t)&&t.call(s,e)})),e(this,"bind",((e,t,i,s,n=!0)=>{const{player:a}=this,l=a.config.listeners[s],o=j(l);fe.call(a,e,t,(e=>this.proxy(e,i,s)),n&&!o)})),e(this,"controls",(()=>{const{player:e}=this,{elements:t}=e,i=Y.isIE?"change":"input";if(t.buttons.play&&Array.from(t.buttons.play).forEach((t=>{this.bind(t,"click",(()=>{ke(e.togglePlay())}),"play")})),this.bind(t.buttons.restart,"click",e.restart,"restart"),this.bind(t.buttons.rewind,"click",(()=>{e.lastSeekTime=Date.now(),e.rewind()}),"rewind"),this.bind(t.buttons.fastForward,"click",(()=>{e.lastSeekTime=Date.now(),e.forward()}),"fastForward"),this.bind(t.buttons.mute,"click",(()=>{e.muted=!e.muted}),"mute"),this.bind(t.buttons.captions,"click",(()=>e.toggleCaptions())),this.bind(t.buttons.download,"click",(()=>{ve.call(e,e.media,"download")}),"download"),this.bind(t.buttons.fullscreen,"click",(()=>{e.fullscreen.toggle()}),"fullscreen"),this.bind(t.buttons.pip,"click",(()=>{e.pip="toggle"}),"pip"),this.bind(t.buttons.airplay,"click",e.airplay,"airplay"),this.bind(t.buttons.settings,"click",(t=>{t.stopPropagation(),t.preventDefault(),We.toggleMenu.call(e,t)}),null,!1),this.bind(t.buttons.settings,"keyup",(t=>{const i=t.which;[13,32].includes(i)&&(13!==i?(t.preventDefault(),t.stopPropagation(),We.toggleMenu.call(e,t)):We.focusFirstMenuItem.call(e,null,!0))}),null,!1),this.bind(t.settings.menu,"keydown",(t=>{27===t.which&&We.toggleMenu.call(e,t)})),this.bind(t.inputs.seek,"mousedown mousemove",(e=>{const i=t.progress.getBoundingClientRect(),s=100/i.width*(e.pageX-i.left);e.currentTarget.setAttribute("seek-value",s)})),this.bind(t.inputs.seek,"mousedown mouseup keydown keyup touchstart touchend",(t=>{const i=t.currentTarget,s=t.keyCode?t.keyCode:t.which,n="play-on-seeked";if(R(t)&&39!==s&&37!==s)return;e.lastSeekTime=Date.now();const a=i.hasAttribute(n),l=["mouseup","touchend","keyup"].includes(t.type);a&&l?(i.removeAttribute(n),ke(e.play())):!l&&e.playing&&(i.setAttribute(n,""),e.pause())})),Y.isIos){const t=ce.call(e,'input[type="range"]');Array.from(t).forEach((e=>this.bind(e,i,(e=>K(e.target)))))}this.bind(t.inputs.seek,i,(t=>{const i=t.currentTarget;let s=i.getAttribute("seek-value");W(s)&&(s=i.value),i.removeAttribute("seek-value"),e.currentTime=s/i.max*e.duration}),"seek"),this.bind(t.progress,"mouseenter mouseleave mousemove",(t=>We.updateSeekTooltip.call(e,t))),this.bind(t.progress,"mousemove touchmove",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.startMove(t)})),this.bind(t.progress,"mouseleave touchend click",(()=>{const{previewThumbnails:t}=e;t&&t.loaded&&t.endMove(!1,!0)})),this.bind(t.progress,"mousedown touchstart",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.startScrubbing(t)})),this.bind(t.progress,"mouseup touchend",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.endScrubbing(t)})),Y.isWebkit&&Array.from(ce.call(e,'input[type="range"]')).forEach((t=>{this.bind(t,"input",(t=>We.updateRangeFill.call(e,t.target)))})),e.config.toggleInvert&&!H(t.display.duration)&&this.bind(t.display.currentTime,"click",(()=>{0!==e.currentTime&&(e.config.invertTime=!e.config.invertTime,We.timeUpdate.call(e))})),this.bind(t.inputs.volume,i,(t=>{e.volume=t.target.value}),"volume"),this.bind(t.controls,"mouseenter mouseleave",(i=>{t.controls.hover=!e.touch&&"mouseenter"===i.type})),t.fullscreen&&Array.from(t.fullscreen.children).filter((e=>!e.contains(t.container))).forEach((i=>{this.bind(i,"mouseenter mouseleave",(i=>{t.controls&&(t.controls.hover=!e.touch&&"mouseenter"===i.type)}))})),this.bind(t.controls,"mousedown mouseup touchstart touchend touchcancel",(e=>{t.controls.pressed=["mousedown","touchstart"].includes(e.type)})),this.bind(t.controls,"focusin",(()=>{const{config:i,timers:s}=e;le(t.controls,i.classNames.noTransition,!0),at.toggleControls.call(e,!0),setTimeout((()=>{le(t.controls,i.classNames.noTransition,!1)}),0);const n=this.touch?3e3:4e3;clearTimeout(s.controls),s.controls=setTimeout((()=>at.toggleControls.call(e,!1)),n)})),this.bind(t.inputs.volume,"wheel",(t=>{const i=t.webkitDirectionInvertedFromDevice,[s,n]=[t.deltaX,-t.deltaY].map((e=>i?-e:e)),a=Math.sign(Math.abs(s)>Math.abs(n)?s:n);e.increaseVolume(a/50);const{volume:l}=e.media;(1===a&&l<1||-1===a&&l>0)&&t.preventDefault()}),"volume",!1)})),this.player=t,this.lastKey=null,this.focusTimer=null,this.lastKeyDown=null,this.handleKey=this.handleKey.bind(this),this.toggleMenu=this.toggleMenu.bind(this),this.setTabFocus=this.setTabFocus.bind(this),this.firstTouch=this.firstTouch.bind(this)}handleKey(e){const{player:t}=this,{elements:i}=t,s=e.keyCode?e.keyCode:e.which,n="keydown"===e.type,a=n&&s===this.lastKey;if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;if(!$(s))return;if(n){const n=document.activeElement;if(H(n)){const{editable:s}=t.config.selectors,{seek:a}=i.inputs;if(n!==a&&re(n,s))return;if(32===e.which&&re(n,'button, [role^="menuitem"]'))return}switch([32,37,38,39,40,48,49,50,51,52,53,54,56,57,67,70,73,75,76,77,79].includes(s)&&(e.preventDefault(),e.stopPropagation()),s){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:a||(t.currentTime=t.duration/10*(s-48));break;case 32:case 75:a||ke(t.togglePlay());break;case 38:t.increaseVolume(.1);break;case 40:t.decreaseVolume(.1);break;case 77:a||(t.muted=!t.muted);break;case 39:t.forward();break;case 37:t.rewind();break;case 70:t.fullscreen.toggle();break;case 67:a||t.toggleCaptions();break;case 76:t.loop=!t.loop}27===s&&!t.fullscreen.usingNative&&t.fullscreen.active&&t.fullscreen.toggle(),this.lastKey=s}else this.lastKey=null}toggleMenu(e){We.toggleMenu.call(this.player,e)}}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var ot=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e,t){e.exports=function(){var e=function(){},t={},i={},s={};function n(e,t){e=e.push?e:[e];var n,a,l,o=[],r=e.length,c=r;for(n=function(e,i){i.length&&o.push(e),--c||t(o)};r--;)a=e[r],(l=i[a])?n(a,l):(s[a]=s[a]||[]).push(n)}function a(e,t){if(e){var n=s[e];if(i[e]=t,n)for(;n.length;)n[0](e,t),n.splice(0,1)}}function l(t,i){t.call&&(t={success:t}),i.length?(t.error||e)(i):(t.success||e)(t)}function o(t,i,s,n){var a,l,r=document,c=s.async,h=(s.numRetries||0)+1,u=s.before||e,d=t.replace(/[\?|#].*$/,""),m=t.replace(/^(css|img)!/,"");n=n||0,/(^css!|\.css$)/.test(d)?((l=r.createElement("link")).rel="stylesheet",l.href=m,(a="hideFocus"in l)&&l.relList&&(a=0,l.rel="preload",l.as="style")):/(^img!|\.(png|gif|jpg|svg|webp)$)/.test(d)?(l=r.createElement("img")).src=m:((l=r.createElement("script")).src=t,l.async=void 0===c||c),l.onload=l.onerror=l.onbeforeload=function(e){var r=e.type[0];if(a)try{l.sheet.cssText.length||(r="e")}catch(e){18!=e.code&&(r="e")}if("e"==r){if((n+=1)<h)return o(t,i,s,n)}else if("preload"==l.rel&&"style"==l.as)return l.rel="stylesheet";i(t,r,e.defaultPrevented)},!1!==u(t,l)&&r.head.appendChild(l)}function r(e,t,i){var s,n,a=(e=e.push?e:[e]).length,l=a,r=[];for(s=function(e,i,s){if("e"==i&&r.push(e),"b"==i){if(!s)return;r.push(e)}--a||t(r)},n=0;n<l;n++)o(e[n],s,i)}function c(e,i,s){var n,o;if(i&&i.trim&&(n=i),o=(n?s:i)||{},n){if(n in t)throw"LoadJS";t[n]=!0}function c(t,i){r(e,(function(e){l(o,e),t&&l({success:t,error:i},e),a(n,e)}),o)}if(o.returnPromise)return new Promise(c);c()}return c.ready=function(e,t){return n(e,(function(e){l(t,e)})),c},c.done=function(e){a(e,[])},c.reset=function(){t={},i={},s={}},c.isDefined=function(e){return e in t},c}()}));function rt(e){return new Promise(((t,i)=>{ot(e,{success:t,error:i})}))}function ct(e){e&&!this.embed.hasPlayed&&(this.embed.hasPlayed=!0),this.media.paused===e&&(this.media.paused=!e,ve.call(this,this.media,e?"play":"pause"))}const ht={setup(){const e=this;le(e.elements.wrapper,e.config.classNames.embed,!0),e.options.speed=e.config.speed.options,Me.call(e),L(window.Vimeo)?ht.ready.call(e):rt(e.config.urls.vimeo.sdk).then((()=>{ht.ready.call(e)})).catch((t=>{e.debug.warn("Vimeo SDK (player.js) failed to load",t)}))},ready(){const e=this,t=e.config.vimeo,{premium:i,referrerPolicy:s,...n}=t;let a=e.media.getAttribute("src"),l="";W(a)?(a=e.media.getAttribute(e.config.attributes.embed.id),l=e.media.getAttribute(e.config.attributes.embed.hash)):l=function(e){const t=e.match(/^.*(?:vimeo.com\/|video\/)(?:\d+)(?:\?.*&*h=|\/)+(?<hash>[\d,a-f]+)/);return t?t.groups.hash:null}(a);const o=l?{h:l}:{};i&&Object.assign(n,{controls:!1,sidedock:!1});const r=Ke({loop:e.config.loop.active,autoplay:e.autoplay,muted:e.muted,gesture:"media",playsinline:!this.config.fullscreen.iosNative,...o,...n}),c=W(h=a)?null:$(Number(h))?h:h.match(/^.*(vimeo.com\/|video\/)(\d+).*/)?RegExp.$2:h;var h;const u=Z("iframe"),d=$e(e.config.urls.vimeo.iframe,c,r);if(u.setAttribute("src",d),u.setAttribute("allowfullscreen",""),u.setAttribute("allow",["autoplay","fullscreen","picture-in-picture","encrypted-media","accelerometer","gyroscope"].join("; ")),W(s)||u.setAttribute("referrerPolicy",s),i||!t.customControls)u.setAttribute("data-poster",e.poster),e.media=se(u,e.media);else{const t=Z("div",{class:e.config.classNames.embedContainer,"data-poster":e.poster});t.appendChild(u),e.media=se(t,e.media)}t.customControls||Re($e(e.config.urls.vimeo.api,d)).then((t=>{!W(t)&&t.thumbnail_url&&at.setPoster.call(e,t.thumbnail_url).catch((()=>{}))})),e.embed=new window.Vimeo.Player(u,{autopause:e.config.autopause,muted:e.muted}),e.media.paused=!0,e.media.currentTime=0,e.supported.ui&&e.embed.disableTextTrack(),e.media.play=()=>(ct.call(e,!0),e.embed.play()),e.media.pause=()=>(ct.call(e,!1),e.embed.pause()),e.media.stop=()=>{e.pause(),e.currentTime=0};let{currentTime:m}=e.media;Object.defineProperty(e.media,"currentTime",{get:()=>m,set(t){const{embed:i,media:s,paused:n,volume:a}=e,l=n&&!i.hasPlayed;s.seeking=!0,ve.call(e,s,"seeking"),Promise.resolve(l&&i.setVolume(0)).then((()=>i.setCurrentTime(t))).then((()=>l&&i.pause())).then((()=>l&&i.setVolume(a))).catch((()=>{}))}});let p=e.config.speed.selected;Object.defineProperty(e.media,"playbackRate",{get:()=>p,set(t){e.embed.setPlaybackRate(t).then((()=>{p=t,ve.call(e,e.media,"ratechange")})).catch((()=>{e.options.speed=[1]}))}});let{volume:g}=e.config;Object.defineProperty(e.media,"volume",{get:()=>g,set(t){e.embed.setVolume(t).then((()=>{g=t,ve.call(e,e.media,"volumechange")}))}});let{muted:f}=e.config;Object.defineProperty(e.media,"muted",{get:()=>f,set(t){const i=!!O(t)&&t;e.embed.setVolume(i?0:e.config.volume).then((()=>{f=i,ve.call(e,e.media,"volumechange")}))}});let b,{loop:y}=e.config;Object.defineProperty(e.media,"loop",{get:()=>y,set(t){const i=O(t)?t:e.config.loop.active;e.embed.setLoop(i).then((()=>{y=i}))}}),e.embed.getVideoUrl().then((t=>{b=t,We.setDownloadUrl.call(e)})).catch((e=>{this.debug.warn(e)})),Object.defineProperty(e.media,"currentSrc",{get:()=>b}),Object.defineProperty(e.media,"ended",{get:()=>e.currentTime===e.duration}),Promise.all([e.embed.getVideoWidth(),e.embed.getVideoHeight()]).then((t=>{const[i,s]=t;e.embed.ratio=Ie(i,s),Me.call(this)})),e.embed.setAutopause(e.config.autopause).then((t=>{e.config.autopause=t})),e.embed.getVideoTitle().then((t=>{e.config.title=t,at.setTitle.call(this)})),e.embed.getCurrentTime().then((t=>{m=t,ve.call(e,e.media,"timeupdate")})),e.embed.getDuration().then((t=>{e.media.duration=t,ve.call(e,e.media,"durationchange")})),e.embed.getTextTracks().then((t=>{e.media.textTracks=t,Ye.setup.call(e)})),e.embed.on("cuechange",(({cues:t=[]})=>{const i=t.map((e=>function(e){const t=document.createDocumentFragment(),i=document.createElement("div");return t.appendChild(i),i.innerHTML=e,t.firstChild.innerText}(e.text)));Ye.updateCues.call(e,i)})),e.embed.on("loaded",(()=>{if(e.embed.getPaused().then((t=>{ct.call(e,!t),t||ve.call(e,e.media,"playing")})),H(e.embed.element)&&e.supported.ui){e.embed.element.setAttribute("tabindex",-1)}})),e.embed.on("bufferstart",(()=>{ve.call(e,e.media,"waiting")})),e.embed.on("bufferend",(()=>{ve.call(e,e.media,"playing")})),e.embed.on("play",(()=>{ct.call(e,!0),ve.call(e,e.media,"playing")})),e.embed.on("pause",(()=>{ct.call(e,!1)})),e.embed.on("timeupdate",(t=>{e.media.seeking=!1,m=t.seconds,ve.call(e,e.media,"timeupdate")})),e.embed.on("progress",(t=>{e.media.buffered=t.percent,ve.call(e,e.media,"progress"),1===parseInt(t.percent,10)&&ve.call(e,e.media,"canplaythrough"),e.embed.getDuration().then((t=>{t!==e.media.duration&&(e.media.duration=t,ve.call(e,e.media,"durationchange"))}))})),e.embed.on("seeked",(()=>{e.media.seeking=!1,ve.call(e,e.media,"seeked")})),e.embed.on("ended",(()=>{e.media.paused=!0,ve.call(e,e.media,"ended")})),e.embed.on("error",(t=>{e.media.error=t,ve.call(e,e.media,"error")})),t.customControls&&setTimeout((()=>at.build.call(e)),0)}};function ut(e){e&&!this.embed.hasPlayed&&(this.embed.hasPlayed=!0),this.media.paused===e&&(this.media.paused=!e,ve.call(this,this.media,e?"play":"pause"))}function dt(e){return e.noCookie?"https://www.youtube-nocookie.com":"http:"===window.location.protocol?"http://www.youtube.com":void 0}const mt={setup(){if(le(this.elements.wrapper,this.config.classNames.embed,!0),L(window.YT)&&j(window.YT.Player))mt.ready.call(this);else{const e=window.onYouTubeIframeAPIReady;window.onYouTubeIframeAPIReady=()=>{j(e)&&e(),mt.ready.call(this)},rt(this.config.urls.youtube.sdk).catch((e=>{this.debug.warn("YouTube API failed to load",e)}))}},getTitle(e){Re($e(this.config.urls.youtube.api,e)).then((e=>{if(L(e)){const{title:t,height:i,width:s}=e;this.config.title=t,at.setTitle.call(this),this.embed.ratio=Ie(s,i)}Me.call(this)})).catch((()=>{Me.call(this)}))},ready(){const e=this,t=e.config.youtube,i=e.media&&e.media.getAttribute("id");if(!W(i)&&i.startsWith("youtube-"))return;let s=e.media.getAttribute("src");W(s)&&(s=e.media.getAttribute(this.config.attributes.embed.id));const n=W(a=s)?null:a.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/)?RegExp.$2:a;var a;const l=Z("div",{id:`${e.provider}-${Math.floor(1e4*Math.random())}`,"data-poster":t.customControls?e.poster:void 0});if(e.media=se(l,e.media),t.customControls){const t=e=>`https://i.ytimg.com/vi/${n}/${e}default.jpg`;nt(t("maxres"),121).catch((()=>nt(t("sd"),121))).catch((()=>nt(t("hq")))).then((t=>at.setPoster.call(e,t.src))).then((t=>{t.includes("maxres")||(e.elements.poster.style.backgroundSize="cover")})).catch((()=>{}))}e.embed=new window.YT.Player(e.media,{videoId:n,host:dt(t),playerVars:X({},{autoplay:e.config.autoplay?1:0,hl:e.config.hl,controls:e.supported.ui&&t.customControls?0:1,disablekb:1,playsinline:e.config.fullscreen.iosNative?0:1,cc_load_policy:e.captions.active?1:0,cc_lang_pref:e.config.captions.language,widget_referrer:window?window.location.href:null},t),events:{onError(t){if(!e.media.error){const i=t.data,s={2:"The request contains an invalid parameter value. For example, this error occurs if you specify a video ID that does not have 11 characters, or if the video ID contains invalid characters, such as exclamation points or asterisks.",5:"The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.",100:"The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.",101:"The owner of the requested video does not allow it to be played in embedded players.",150:"The owner of the requested video does not allow it to be played in embedded players."}[i]||"An unknown error occured";e.media.error={code:i,message:s},ve.call(e,e.media,"error")}},onPlaybackRateChange(t){const i=t.target;e.media.playbackRate=i.getPlaybackRate(),ve.call(e,e.media,"ratechange")},onReady(i){if(j(e.media.play))return;const s=i.target;mt.getTitle.call(e,n),e.media.play=()=>{ut.call(e,!0),s.playVideo()},e.media.pause=()=>{ut.call(e,!1),s.pauseVideo()},e.media.stop=()=>{s.stopVideo()},e.media.duration=s.getDuration(),e.media.paused=!0,e.media.currentTime=0,Object.defineProperty(e.media,"currentTime",{get:()=>Number(s.getCurrentTime()),set(t){e.paused&&!e.embed.hasPlayed&&e.embed.mute(),e.media.seeking=!0,ve.call(e,e.media,"seeking"),s.seekTo(t)}}),Object.defineProperty(e.media,"playbackRate",{get:()=>s.getPlaybackRate(),set(e){s.setPlaybackRate(e)}});let{volume:a}=e.config;Object.defineProperty(e.media,"volume",{get:()=>a,set(t){a=t,s.setVolume(100*a),ve.call(e,e.media,"volumechange")}});let{muted:l}=e.config;Object.defineProperty(e.media,"muted",{get:()=>l,set(t){const i=O(t)?t:l;l=i,s[i?"mute":"unMute"](),s.setVolume(100*a),ve.call(e,e.media,"volumechange")}}),Object.defineProperty(e.media,"currentSrc",{get:()=>s.getVideoUrl()}),Object.defineProperty(e.media,"ended",{get:()=>e.currentTime===e.duration});const o=s.getAvailablePlaybackRates();e.options.speed=o.filter((t=>e.config.speed.options.includes(t))),e.supported.ui&&t.customControls&&e.media.setAttribute("tabindex",-1),ve.call(e,e.media,"timeupdate"),ve.call(e,e.media,"durationchange"),clearInterval(e.timers.buffering),e.timers.buffering=setInterval((()=>{e.media.buffered=s.getVideoLoadedFraction(),(null===e.media.lastBuffered||e.media.lastBuffered<e.media.buffered)&&ve.call(e,e.media,"progress"),e.media.lastBuffered=e.media.buffered,1===e.media.buffered&&(clearInterval(e.timers.buffering),ve.call(e,e.media,"canplaythrough"))}),200),t.customControls&&setTimeout((()=>at.build.call(e)),50)},onStateChange(i){const s=i.target;clearInterval(e.timers.playing);switch(e.media.seeking&&[1,2].includes(i.data)&&(e.media.seeking=!1,ve.call(e,e.media,"seeked")),i.data){case-1:ve.call(e,e.media,"timeupdate"),e.media.buffered=s.getVideoLoadedFraction(),ve.call(e,e.media,"progress");break;case 0:ut.call(e,!1),e.media.loop?(s.stopVideo(),s.playVideo()):ve.call(e,e.media,"ended");break;case 1:t.customControls&&!e.config.autoplay&&e.media.paused&&!e.embed.hasPlayed?e.media.pause():(ut.call(e,!0),ve.call(e,e.media,"playing"),e.timers.playing=setInterval((()=>{ve.call(e,e.media,"timeupdate")}),50),e.media.duration!==s.getDuration()&&(e.media.duration=s.getDuration(),ve.call(e,e.media,"durationchange")));break;case 2:e.muted||e.embed.unMute(),ut.call(e,!1);break;case 3:ve.call(e,e.media,"waiting")}ve.call(e,e.elements.container,"statechange",!1,{code:i.data})}}})}},pt={setup(){this.media?(le(this.elements.container,this.config.classNames.type.replace("{0}",this.type),!0),le(this.elements.container,this.config.classNames.provider.replace("{0}",this.provider),!0),this.isEmbed&&le(this.elements.container,this.config.classNames.type.replace("{0}","video"),!0),this.isVideo&&(this.elements.wrapper=Z("div",{class:this.config.classNames.video}),J(this.media,this.elements.wrapper),this.elements.poster=Z("div",{class:this.config.classNames.poster}),this.elements.wrapper.appendChild(this.elements.poster)),this.isHTML5?Le.setup.call(this):this.isYouTube?mt.setup.call(this):this.isVimeo&&ht.setup.call(this)):this.debug.warn("No media element found!")}};class gt{constructor(t){e(this,"load",(()=>{this.enabled&&(L(window.google)&&L(window.google.ima)?this.ready():rt(this.player.config.urls.googleIMA.sdk).then((()=>{this.ready()})).catch((()=>{this.trigger("error",new Error("Google IMA SDK failed to load"))})))})),e(this,"ready",(()=>{var e;this.enabled||((e=this).manager&&e.manager.destroy(),e.elements.displayContainer&&e.elements.displayContainer.destroy(),e.elements.container.remove()),this.startSafetyTimer(12e3,"ready()"),this.managerPromise.then((()=>{this.clearSafetyTimer("onAdsManagerLoaded()")})),this.listeners(),this.setupIMA()})),e(this,"setupIMA",(()=>{this.elements.container=Z("div",{class:this.player.config.classNames.ads}),this.player.elements.container.appendChild(this.elements.container),google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED),google.ima.settings.setLocale(this.player.config.ads.language),google.ima.settings.setDisableCustomPlaybackForIOS10Plus(this.player.config.playsinline),this.elements.displayContainer=new google.ima.AdDisplayContainer(this.elements.container,this.player.media),this.loader=new google.ima.AdsLoader(this.elements.displayContainer),this.loader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,(e=>this.onAdsManagerLoaded(e)),!1),this.loader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,(e=>this.onAdError(e)),!1),this.requestAds()})),e(this,"requestAds",(()=>{const{container:e}=this.player.elements;try{const t=new google.ima.AdsRequest;t.adTagUrl=this.tagUrl,t.linearAdSlotWidth=e.offsetWidth,t.linearAdSlotHeight=e.offsetHeight,t.nonLinearAdSlotWidth=e.offsetWidth,t.nonLinearAdSlotHeight=e.offsetHeight,t.forceNonLinearFullSlot=!1,t.setAdWillPlayMuted(!this.player.muted),this.loader.requestAds(t)}catch(e){this.onAdError(e)}})),e(this,"pollCountdown",((e=!1)=>{if(!e)return clearInterval(this.countdownTimer),void this.elements.container.removeAttribute("data-badge-text");this.countdownTimer=setInterval((()=>{const e=Ue(Math.max(this.manager.getRemainingTime(),0)),t=`${He.get("advertisement",this.player.config)} - ${e}`;this.elements.container.setAttribute("data-badge-text",t)}),100)})),e(this,"onAdsManagerLoaded",(e=>{if(!this.enabled)return;const t=new google.ima.AdsRenderingSettings;t.restoreCustomPlaybackStateOnAdBreakComplete=!0,t.enablePreloading=!0,this.manager=e.getAdsManager(this.player,t),this.cuePoints=this.manager.getCuePoints(),this.manager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,(e=>this.onAdError(e))),Object.keys(google.ima.AdEvent.Type).forEach((e=>{this.manager.addEventListener(google.ima.AdEvent.Type[e],(e=>this.onAdEvent(e)))})),this.trigger("loaded")})),e(this,"addCuePoints",(()=>{W(this.cuePoints)||this.cuePoints.forEach((e=>{if(0!==e&&-1!==e&&e<this.player.duration){const t=this.player.elements.progress;if(H(t)){const i=100/this.player.duration*e,s=Z("span",{class:this.player.config.classNames.cues});s.style.left=`${i.toString()}%`,t.appendChild(s)}}}))})),e(this,"onAdEvent",(e=>{const{container:t}=this.player.elements,i=e.getAd(),s=e.getAdData();switch((e=>{ve.call(this.player,this.player.media,`ads${e.replace(/_/g,"").toLowerCase()}`)})(e.type),e.type){case google.ima.AdEvent.Type.LOADED:this.trigger("loaded"),this.pollCountdown(!0),i.isLinear()||(i.width=t.offsetWidth,i.height=t.offsetHeight);break;case google.ima.AdEvent.Type.STARTED:this.manager.setVolume(this.player.volume);break;case google.ima.AdEvent.Type.ALL_ADS_COMPLETED:this.player.ended?this.loadAds():this.loader.contentComplete();break;case google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED:this.pauseContent();break;case google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED:this.pollCountdown(),this.resumeContent();break;case google.ima.AdEvent.Type.LOG:s.adError&&this.player.debug.warn(`Non-fatal ad error: ${s.adError.getMessage()}`)}})),e(this,"onAdError",(e=>{this.cancel(),this.player.debug.warn("Ads error",e)})),e(this,"listeners",(()=>{const{container:e}=this.player.elements;let t;this.player.on("canplay",(()=>{this.addCuePoints()})),this.player.on("ended",(()=>{this.loader.contentComplete()})),this.player.on("timeupdate",(()=>{t=this.player.currentTime})),this.player.on("seeked",(()=>{const e=this.player.currentTime;W(this.cuePoints)||this.cuePoints.forEach(((i,s)=>{t<i&&i<e&&(this.manager.discardAdBreak(),this.cuePoints.splice(s,1))}))})),window.addEventListener("resize",(()=>{this.manager&&this.manager.resize(e.offsetWidth,e.offsetHeight,google.ima.ViewMode.NORMAL)}))})),e(this,"play",(()=>{const{container:e}=this.player.elements;this.managerPromise||this.resumeContent(),this.managerPromise.then((()=>{this.manager.setVolume(this.player.volume),this.elements.displayContainer.initialize();try{this.initialized||(this.manager.init(e.offsetWidth,e.offsetHeight,google.ima.ViewMode.NORMAL),this.manager.start()),this.initialized=!0}catch(e){this.onAdError(e)}})).catch((()=>{}))})),e(this,"resumeContent",(()=>{this.elements.container.style.zIndex="",this.playing=!1,ke(this.player.media.play())})),e(this,"pauseContent",(()=>{this.elements.container.style.zIndex=3,this.playing=!0,this.player.media.pause()})),e(this,"cancel",(()=>{this.initialized&&this.resumeContent(),this.trigger("error"),this.loadAds()})),e(this,"loadAds",(()=>{this.managerPromise.then((()=>{this.manager&&this.manager.destroy(),this.managerPromise=new Promise((e=>{this.on("loaded",e),this.player.debug.log(this.manager)})),this.initialized=!1,this.requestAds()})).catch((()=>{}))})),e(this,"trigger",((e,...t)=>{const i=this.events[e];q(i)&&i.forEach((e=>{j(e)&&e.apply(this,t)}))})),e(this,"on",((e,t)=>(q(this.events[e])||(this.events[e]=[]),this.events[e].push(t),this))),e(this,"startSafetyTimer",((e,t)=>{this.player.debug.log(`Safety timer invoked from: ${t}`),this.safetyTimer=setTimeout((()=>{this.cancel(),this.clearSafetyTimer("startSafetyTimer()")}),e)})),e(this,"clearSafetyTimer",(e=>{I(this.safetyTimer)||(this.player.debug.log(`Safety timer cleared from: ${e}`),clearTimeout(this.safetyTimer),this.safetyTimer=null)})),this.player=t,this.config=t.config.ads,this.playing=!1,this.initialized=!1,this.elements={container:null,displayContainer:null},this.manager=null,this.loader=null,this.cuePoints=null,this.events={},this.safetyTimer=null,this.countdownTimer=null,this.managerPromise=new Promise(((e,t)=>{this.on("loaded",e),this.on("error",t)})),this.load()}get enabled(){const{config:e}=this;return this.player.isHTML5&&this.player.isVideo&&e.enabled&&(!W(e.publisherId)||U(e.tagUrl))}get tagUrl(){const{config:e}=this;if(U(e.tagUrl))return e.tagUrl;return`https://go.aniview.com/api/adserver6/vast/?${Ke({AV_PUBLISHERID:"58c25bb0073ef448b1087ad6",AV_CHANNELID:"5a0458dc28a06145e4519d21",AV_URL:window.location.hostname,cb:Date.now(),AV_WIDTH:640,AV_HEIGHT:480,AV_CDIM2:e.publisherId})}`}}const ft=e=>{const t=[];return e.split(/\r\n\r\n|\n\n|\r\r/).forEach((e=>{const i={};e.split(/\r\n|\n|\r/).forEach((e=>{if($(i.startTime)){if(!W(e.trim())&&W(i.text)){const t=e.trim().split("#xywh=");[i.text]=t,t[1]&&([i.x,i.y,i.w,i.h]=t[1].split(","))}}else{const t=e.match(/([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})( ?--> ?)([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})/);t&&(i.startTime=60*Number(t[1]||0)*60+60*Number(t[2])+Number(t[3])+Number(`0.${t[4]}`),i.endTime=60*Number(t[6]||0)*60+60*Number(t[7])+Number(t[8])+Number(`0.${t[9]}`))}})),i.text&&t.push(i)})),t},bt=(e,t)=>{const i={};return e>t.width/t.height?(i.width=t.width,i.height=1/e*t.width):(i.height=t.height,i.width=e*t.height),i};class yt{constructor(t){e(this,"load",(()=>{this.player.elements.display.seekTooltip&&(this.player.elements.display.seekTooltip.hidden=this.enabled),this.enabled&&this.getThumbnails().then((()=>{this.enabled&&(this.render(),this.determineContainerAutoSizing(),this.loaded=!0)}))})),e(this,"getThumbnails",(()=>new Promise((e=>{const{src:t}=this.player.config.previewThumbnails;if(W(t))throw new Error("Missing previewThumbnails.src config attribute");const i=()=>{this.thumbnails.sort(((e,t)=>e.height-t.height)),this.player.debug.log("Preview thumbnails",this.thumbnails),e()};if(j(t))t((e=>{this.thumbnails=e,i()}));else{const e=(_(t)?[t]:t).map((e=>this.getThumbnail(e)));Promise.all(e).then(i)}})))),e(this,"getThumbnail",(e=>new Promise((t=>{Re(e).then((i=>{const s={frames:ft(i),height:null,urlPrefix:""};s.frames[0].text.startsWith("/")||s.frames[0].text.startsWith("http://")||s.frames[0].text.startsWith("https://")||(s.urlPrefix=e.substring(0,e.lastIndexOf("/")+1));const n=new Image;n.onload=()=>{s.height=n.naturalHeight,s.width=n.naturalWidth,this.thumbnails.push(s),t()},n.src=s.urlPrefix+s.frames[0].text}))})))),e(this,"startMove",(e=>{if(this.loaded&&F(e)&&["touchmove","mousemove"].includes(e.type)&&this.player.media.duration){if("touchmove"===e.type)this.seekTime=this.player.media.duration*(this.player.elements.inputs.seek.value/100);else{const t=this.player.elements.progress.getBoundingClientRect(),i=100/t.width*(e.pageX-t.left);this.seekTime=this.player.media.duration*(i/100),this.seekTime<0&&(this.seekTime=0),this.seekTime>this.player.media.duration-1&&(this.seekTime=this.player.media.duration-1),this.mousePosX=e.pageX,this.elements.thumb.time.innerText=Ue(this.seekTime)}this.showImageAtCurrentTime()}})),e(this,"endMove",(()=>{this.toggleThumbContainer(!1,!0)})),e(this,"startScrubbing",(e=>{(I(e.button)||!1===e.button||0===e.button)&&(this.mouseDown=!0,this.player.media.duration&&(this.toggleScrubbingContainer(!0),this.toggleThumbContainer(!1,!0),this.showImageAtCurrentTime()))})),e(this,"endScrubbing",(()=>{this.mouseDown=!1,Math.ceil(this.lastTime)===Math.ceil(this.player.media.currentTime)?this.toggleScrubbingContainer(!1):ye.call(this.player,this.player.media,"timeupdate",(()=>{this.mouseDown||this.toggleScrubbingContainer(!1)}))})),e(this,"listeners",(()=>{this.player.on("play",(()=>{this.toggleThumbContainer(!1,!0)})),this.player.on("seeked",(()=>{this.toggleThumbContainer(!1)})),this.player.on("timeupdate",(()=>{this.lastTime=this.player.media.currentTime}))})),e(this,"render",(()=>{this.elements.thumb.container=Z("div",{class:this.player.config.classNames.previewThumbnails.thumbContainer}),this.elements.thumb.imageContainer=Z("div",{class:this.player.config.classNames.previewThumbnails.imageContainer}),this.elements.thumb.container.appendChild(this.elements.thumb.imageContainer);const e=Z("div",{class:this.player.config.classNames.previewThumbnails.timeContainer});this.elements.thumb.time=Z("span",{},"00:00"),e.appendChild(this.elements.thumb.time),this.elements.thumb.container.appendChild(e),H(this.player.elements.progress)&&this.player.elements.progress.appendChild(this.elements.thumb.container),this.elements.scrubbing.container=Z("div",{class:this.player.config.classNames.previewThumbnails.scrubbingContainer}),this.player.elements.wrapper.appendChild(this.elements.scrubbing.container)})),e(this,"destroy",(()=>{this.elements.thumb.container&&this.elements.thumb.container.remove(),this.elements.scrubbing.container&&this.elements.scrubbing.container.remove()})),e(this,"showImageAtCurrentTime",(()=>{this.mouseDown?this.setScrubbingContainerSize():this.setThumbContainerSizeAndPos();const e=this.thumbnails[0].frames.findIndex((e=>this.seekTime>=e.startTime&&this.seekTime<=e.endTime)),t=e>=0;let i=0;this.mouseDown||this.toggleThumbContainer(t),t&&(this.thumbnails.forEach(((t,s)=>{this.loadedImages.includes(t.frames[e].text)&&(i=s)})),e!==this.showingThumb&&(this.showingThumb=e,this.loadImage(i)))})),e(this,"loadImage",((e=0)=>{const t=this.showingThumb,i=this.thumbnails[e],{urlPrefix:s}=i,n=i.frames[t],a=i.frames[t].text,l=s+a;if(this.currentImageElement&&this.currentImageElement.dataset.filename===a)this.showImage(this.currentImageElement,n,e,t,a,!1),this.currentImageElement.dataset.index=t,this.removeOldImages(this.currentImageElement);else{this.loadingImage&&this.usingSprites&&(this.loadingImage.onload=null);const i=new Image;i.src=l,i.dataset.index=t,i.dataset.filename=a,this.showingThumbFilename=a,this.player.debug.log(`Loading image: ${l}`),i.onload=()=>this.showImage(i,n,e,t,a,!0),this.loadingImage=i,this.removeOldImages(i)}})),e(this,"showImage",((e,t,i,s,n,a=!0)=>{this.player.debug.log(`Showing thumb: ${n}. num: ${s}. qual: ${i}. newimg: ${a}`),this.setImageSizeAndOffset(e,t),a&&(this.currentImageContainer.appendChild(e),this.currentImageElement=e,this.loadedImages.includes(n)||this.loadedImages.push(n)),this.preloadNearby(s,!0).then(this.preloadNearby(s,!1)).then(this.getHigherQuality(i,e,t,n))})),e(this,"removeOldImages",(e=>{Array.from(this.currentImageContainer.children).forEach((t=>{if("img"!==t.tagName.toLowerCase())return;const i=this.usingSprites?500:1e3;if(t.dataset.index!==e.dataset.index&&!t.dataset.deleting){t.dataset.deleting=!0;const{currentImageContainer:e}=this;setTimeout((()=>{e.removeChild(t),this.player.debug.log(`Removing thumb: ${t.dataset.filename}`)}),i)}}))})),e(this,"preloadNearby",((e,t=!0)=>new Promise((i=>{setTimeout((()=>{const s=this.thumbnails[0].frames[e].text;if(this.showingThumbFilename===s){let n;n=t?this.thumbnails[0].frames.slice(e):this.thumbnails[0].frames.slice(0,e).reverse();let a=!1;n.forEach((e=>{const t=e.text;if(t!==s&&!this.loadedImages.includes(t)){a=!0,this.player.debug.log(`Preloading thumb filename: ${t}`);const{urlPrefix:e}=this.thumbnails[0],s=e+t,n=new Image;n.src=s,n.onload=()=>{this.player.debug.log(`Preloaded thumb filename: ${t}`),this.loadedImages.includes(t)||this.loadedImages.push(t),i()}}})),a||i()}}),300)})))),e(this,"getHigherQuality",((e,t,i,s)=>{if(e<this.thumbnails.length-1){let n=t.naturalHeight;this.usingSprites&&(n=i.h),n<this.thumbContainerHeight&&setTimeout((()=>{this.showingThumbFilename===s&&(this.player.debug.log(`Showing higher quality thumb for: ${s}`),this.loadImage(e+1))}),300)}})),e(this,"toggleThumbContainer",((e=!1,t=!1)=>{const i=this.player.config.classNames.previewThumbnails.thumbContainerShown;this.elements.thumb.container.classList.toggle(i,e),!e&&t&&(this.showingThumb=null,this.showingThumbFilename=null)})),e(this,"toggleScrubbingContainer",((e=!1)=>{const t=this.player.config.classNames.previewThumbnails.scrubbingContainerShown;this.elements.scrubbing.container.classList.toggle(t,e),e||(this.showingThumb=null,this.showingThumbFilename=null)})),e(this,"determineContainerAutoSizing",(()=>{(this.elements.thumb.imageContainer.clientHeight>20||this.elements.thumb.imageContainer.clientWidth>20)&&(this.sizeSpecifiedInCSS=!0)})),e(this,"setThumbContainerSizeAndPos",(()=>{if(this.sizeSpecifiedInCSS){if(this.elements.thumb.imageContainer.clientHeight>20&&this.elements.thumb.imageContainer.clientWidth<20){const e=Math.floor(this.elements.thumb.imageContainer.clientHeight*this.thumbAspectRatio);this.elements.thumb.imageContainer.style.width=`${e}px`}else if(this.elements.thumb.imageContainer.clientHeight<20&&this.elements.thumb.imageContainer.clientWidth>20){const e=Math.floor(this.elements.thumb.imageContainer.clientWidth/this.thumbAspectRatio);this.elements.thumb.imageContainer.style.height=`${e}px`}}else{const e=Math.floor(this.thumbContainerHeight*this.thumbAspectRatio);this.elements.thumb.imageContainer.style.height=`${this.thumbContainerHeight}px`,this.elements.thumb.imageContainer.style.width=`${e}px`}this.setThumbContainerPos()})),e(this,"setThumbContainerPos",(()=>{const e=this.player.elements.progress.getBoundingClientRect(),t=this.player.elements.container.getBoundingClientRect(),{container:i}=this.elements.thumb,s=t.left-e.left+10,n=t.right-e.left-i.clientWidth-10;let a=this.mousePosX-e.left-i.clientWidth/2;a<s&&(a=s),a>n&&(a=n),i.style.left=`${a}px`})),e(this,"setScrubbingContainerSize",(()=>{const{width:e,height:t}=bt(this.thumbAspectRatio,{width:this.player.media.clientWidth,height:this.player.media.clientHeight});this.elements.scrubbing.container.style.width=`${e}px`,this.elements.scrubbing.container.style.height=`${t}px`})),e(this,"setImageSizeAndOffset",((e,t)=>{if(!this.usingSprites)return;const i=this.thumbContainerHeight/t.h;e.style.height=e.naturalHeight*i+"px",e.style.width=e.naturalWidth*i+"px",e.style.left=`-${t.x*i}px`,e.style.top=`-${t.y*i}px`})),this.player=t,this.thumbnails=[],this.loaded=!1,this.lastMouseMoveTime=Date.now(),this.mouseDown=!1,this.loadedImages=[],this.elements={thumb:{},scrubbing:{}},this.load()}get enabled(){return this.player.isHTML5&&this.player.isVideo&&this.player.config.previewThumbnails.enabled}get currentImageContainer(){return this.mouseDown?this.elements.scrubbing.container:this.elements.thumb.imageContainer}get usingSprites(){return Object.keys(this.thumbnails[0].frames[0]).includes("w")}get thumbAspectRatio(){return this.usingSprites?this.thumbnails[0].frames[0].w/this.thumbnails[0].frames[0].h:this.thumbnails[0].width/this.thumbnails[0].height}get thumbContainerHeight(){if(this.mouseDown){const{height:e}=bt(this.thumbAspectRatio,{width:this.player.media.clientWidth,height:this.player.media.clientHeight});return e}return this.sizeSpecifiedInCSS?this.elements.thumb.imageContainer.clientHeight:Math.floor(this.player.media.clientWidth/this.thumbAspectRatio/4)}get currentImageElement(){return this.mouseDown?this.currentScrubbingImageElement:this.currentThumbnailImageElement}set currentImageElement(e){this.mouseDown?this.currentScrubbingImageElement=e:this.currentThumbnailImageElement=e}}const vt={insertElements(e,t){_(t)?ee(e,this.media,{src:t}):q(t)&&t.forEach((t=>{ee(e,this.media,t)}))},change(e){Q(e,"sources.length")?(Le.cancelRequests.call(this),this.destroy.call(this,(()=>{this.options.quality=[],te(this.media),this.media=null,H(this.elements.container)&&this.elements.container.removeAttribute("class");const{sources:t,type:i}=e,[{provider:s=Ge.html5,src:n}]=t,a="html5"===s?i:"div",l="html5"===s?{}:{src:n};Object.assign(this,{provider:s,type:i,supported:me.check(i,s,this.config.playsinline),media:Z(a,l)}),this.elements.container.appendChild(this.media),O(e.autoplay)&&(this.config.autoplay=e.autoplay),this.isHTML5&&(this.config.crossorigin&&this.media.setAttribute("crossorigin",""),this.config.autoplay&&this.media.setAttribute("autoplay",""),W(e.poster)||(this.poster=e.poster),this.config.loop.active&&this.media.setAttribute("loop",""),this.config.muted&&this.media.setAttribute("muted",""),this.config.playsinline&&this.media.setAttribute("playsinline","")),at.addStyleHook.call(this),this.isHTML5&&vt.insertElements.call(this,"source",t),this.config.title=e.title,pt.setup.call(this),this.isHTML5&&Object.keys(e).includes("tracks")&&vt.insertElements.call(this,"track",e.tracks),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&at.build.call(this),this.isHTML5&&this.media.load(),W(e.previewThumbnails)||(Object.assign(this.config.previewThumbnails,e.previewThumbnails),this.previewThumbnails&&this.previewThumbnails.loaded&&(this.previewThumbnails.destroy(),this.previewThumbnails=null),this.config.previewThumbnails.enabled&&(this.previewThumbnails=new yt(this))),this.fullscreen.update()}),!0)):this.debug.warn("Invalid source format")}};class wt{constructor(t,i){if(e(this,"play",(()=>j(this.media.play)?(this.ads&&this.ads.enabled&&this.ads.managerPromise.then((()=>this.ads.play())).catch((()=>ke(this.media.play()))),this.media.play()):null)),e(this,"pause",(()=>this.playing&&j(this.media.pause)?this.media.pause():null)),e(this,"togglePlay",(e=>(O(e)?e:!this.playing)?this.play():this.pause())),e(this,"stop",(()=>{this.isHTML5?(this.pause(),this.restart()):j(this.media.stop)&&this.media.stop()})),e(this,"restart",(()=>{this.currentTime=0})),e(this,"rewind",(e=>{this.currentTime-=$(e)?e:this.config.seekTime})),e(this,"forward",(e=>{this.currentTime+=$(e)?e:this.config.seekTime})),e(this,"increaseVolume",(e=>{const t=this.media.muted?0:this.volume;this.volume=t+($(e)?e:0)})),e(this,"decreaseVolume",(e=>{this.increaseVolume(-e)})),e(this,"airplay",(()=>{me.airplay&&this.media.webkitShowPlaybackTargetPicker()})),e(this,"toggleControls",(e=>{if(this.supported.ui&&!this.isAudio){const t=oe(this.elements.container,this.config.classNames.hideControls),i=void 0===e?void 0:!e,s=le(this.elements.container,this.config.classNames.hideControls,i);if(s&&q(this.config.controls)&&this.config.controls.includes("settings")&&!W(this.config.settings)&&We.toggleMenu.call(this,!1),s!==t){const e=s?"controlshidden":"controlsshown";ve.call(this,this.media,e)}return!s}return!1})),e(this,"on",((e,t)=>{fe.call(this,this.elements.container,e,t)})),e(this,"once",((e,t)=>{ye.call(this,this.elements.container,e,t)})),e(this,"off",((e,t)=>{be(this.elements.container,e,t)})),e(this,"destroy",((e,t=!1)=>{if(!this.ready)return;const i=()=>{document.body.style.overflow="",this.embed=null,t?(Object.keys(this.elements).length&&(te(this.elements.buttons.play),te(this.elements.captions),te(this.elements.controls),te(this.elements.wrapper),this.elements.buttons.play=null,this.elements.captions=null,this.elements.controls=null,this.elements.wrapper=null),j(e)&&e()):(we.call(this),Le.cancelRequests.call(this),se(this.elements.original,this.elements.container),ve.call(this,this.elements.original,"destroyed",!0),j(e)&&e.call(this.elements.original),this.ready=!1,setTimeout((()=>{this.elements=null,this.media=null}),200))};this.stop(),clearTimeout(this.timers.loading),clearTimeout(this.timers.controls),clearTimeout(this.timers.resized),this.isHTML5?(at.toggleNativeControls.call(this,!0),i()):this.isYouTube?(clearInterval(this.timers.buffering),clearInterval(this.timers.playing),null!==this.embed&&j(this.embed.destroy)&&this.embed.destroy(),i()):this.isVimeo&&(null!==this.embed&&this.embed.unload().then(i),setTimeout(i,200))})),e(this,"supports",(e=>me.mime.call(this,e))),this.timers={},this.ready=!1,this.loading=!1,this.failed=!1,this.touch=me.touch,this.media=t,_(this.media)&&(this.media=document.querySelectorAll(this.media)),(window.jQuery&&this.media instanceof jQuery||D(this.media)||q(this.media))&&(this.media=this.media[0]),this.config=X({},Qe,wt.defaults,i||{},(()=>{try{return JSON.parse(this.media.getAttribute("data-plyr-config"))}catch(e){return{}}})()),this.elements={container:null,fullscreen:null,captions:null,buttons:{},display:{},progress:{},inputs:{},settings:{popup:null,menu:null,panels:{},buttons:{}}},this.captions={active:null,currentTrack:-1,meta:new WeakMap},this.fullscreen={active:!1},this.options={speed:[],quality:[]},this.debug=new it(this.config.debug),this.debug.log("Config",this.config),this.debug.log("Support",me),I(this.media)||!H(this.media))return void this.debug.error("Setup failed: no suitable element passed");if(this.media.plyr)return void this.debug.warn("Target already setup");if(!this.config.enabled)return void this.debug.error("Setup failed: disabled by config");if(!me.check().api)return void this.debug.error("Setup failed: no support");const s=this.media.cloneNode(!0);s.autoplay=!1,this.elements.original=s;const n=this.media.tagName.toLowerCase();let a=null,l=null;switch(n){case"div":if(a=this.media.querySelector("iframe"),H(a)){if(l=ze(a.getAttribute("src")),this.provider=function(e){return/^(https?:\/\/)?(www\.)?(youtube\.com|youtube-nocookie\.com|youtu\.?be)\/.+$/.test(e)?Ge.youtube:/^https?:\/\/player.vimeo.com\/video\/\d{0,9}(?=\b|\/)/.test(e)?Ge.vimeo:null}(l.toString()),this.elements.container=this.media,this.media=a,this.elements.container.className="",l.search.length){const e=["1","true"];e.includes(l.searchParams.get("autoplay"))&&(this.config.autoplay=!0),e.includes(l.searchParams.get("loop"))&&(this.config.loop.active=!0),this.isYouTube?(this.config.playsinline=e.includes(l.searchParams.get("playsinline")),this.config.youtube.hl=l.searchParams.get("hl")):this.config.playsinline=!0}}else this.provider=this.media.getAttribute(this.config.attributes.embed.provider),this.media.removeAttribute(this.config.attributes.embed.provider);if(W(this.provider)||!Object.values(Ge).includes(this.provider))return void this.debug.error("Setup failed: Invalid provider");this.type=et;break;case"video":case"audio":this.type=n,this.provider=Ge.html5,this.media.hasAttribute("crossorigin")&&(this.config.crossorigin=!0),this.media.hasAttribute("autoplay")&&(this.config.autoplay=!0),(this.media.hasAttribute("playsinline")||this.media.hasAttribute("webkit-playsinline"))&&(this.config.playsinline=!0),this.media.hasAttribute("muted")&&(this.config.muted=!0),this.media.hasAttribute("loop")&&(this.config.loop.active=!0);break;default:return void this.debug.error("Setup failed: unsupported type")}this.supported=me.check(this.type,this.provider,this.config.playsinline),this.supported.api?(this.eventListeners=[],this.listeners=new lt(this),this.storage=new Fe(this),this.media.plyr=this,H(this.elements.container)||(this.elements.container=Z("div",{tabindex:0}),J(this.media,this.elements.container)),at.migrateStyles.call(this),at.addStyleHook.call(this),pt.setup.call(this),this.config.debug&&fe.call(this,this.elements.container,this.config.events.join(" "),(e=>{this.debug.log(`event: ${e.type}`)})),this.fullscreen=new st(this),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&at.build.call(this),this.listeners.container(),this.listeners.global(),this.config.ads.enabled&&(this.ads=new gt(this)),this.isHTML5&&this.config.autoplay&&this.once("canplay",(()=>ke(this.play()))),this.lastSeekTime=0,this.config.previewThumbnails.enabled&&(this.previewThumbnails=new yt(this))):this.debug.error("Setup failed: no support")}get isHTML5(){return this.provider===Ge.html5}get isEmbed(){return this.isYouTube||this.isVimeo}get isYouTube(){return this.provider===Ge.youtube}get isVimeo(){return this.provider===Ge.vimeo}get isVideo(){return this.type===et}get isAudio(){return this.type===Ze}get playing(){return Boolean(this.ready&&!this.paused&&!this.ended)}get paused(){return Boolean(this.media.paused)}get stopped(){return Boolean(this.paused&&0===this.currentTime)}get ended(){return Boolean(this.media.ended)}set currentTime(e){if(!this.duration)return;const t=$(e)&&e>0;this.media.currentTime=t?Math.min(e,this.duration):0,this.debug.log(`Seeking to ${this.currentTime} seconds`)}get currentTime(){return Number(this.media.currentTime)}get buffered(){const{buffered:e}=this.media;return $(e)?e:e&&e.length&&this.duration>0?e.end(0)/this.duration:0}get seeking(){return Boolean(this.media.seeking)}get duration(){const e=parseFloat(this.config.duration),t=(this.media||{}).duration,i=$(t)&&t!==1/0?t:0;return e||i}set volume(e){let t=e;_(t)&&(t=Number(t)),$(t)||(t=this.storage.get("volume")),$(t)||({volume:t}=this.config),t>1&&(t=1),t<0&&(t=0),this.config.volume=t,this.media.volume=t,!W(e)&&this.muted&&t>0&&(this.muted=!1)}get volume(){return Number(this.media.volume)}set muted(e){let t=e;O(t)||(t=this.storage.get("muted")),O(t)||(t=this.config.muted),this.config.muted=t,this.media.muted=t}get muted(){return Boolean(this.media.muted)}get hasAudio(){return!this.isHTML5||(!!this.isAudio||(Boolean(this.media.mozHasAudio)||Boolean(this.media.webkitAudioDecodedByteCount)||Boolean(this.media.audioTracks&&this.media.audioTracks.length)))}set speed(e){let t=null;$(e)&&(t=e),$(t)||(t=this.storage.get("speed")),$(t)||(t=this.config.speed.selected);const{minimumSpeed:i,maximumSpeed:s}=this;t=function(e=0,t=0,i=255){return Math.min(Math.max(e,t),i)}(t,i,s),this.config.speed.selected=t,setTimeout((()=>{this.media&&(this.media.playbackRate=t)}),0)}get speed(){return Number(this.media.playbackRate)}get minimumSpeed(){return this.isYouTube?Math.min(...this.options.speed):this.isVimeo?.5:.0625}get maximumSpeed(){return this.isYouTube?Math.max(...this.options.speed):this.isVimeo?2:16}set quality(e){const t=this.config.quality,i=this.options.quality;if(!i.length)return;let s=[!W(e)&&Number(e),this.storage.get("quality"),t.selected,t.default].find($),n=!0;if(!i.includes(s)){const e=Ae(i,s);this.debug.warn(`Unsupported quality option: ${s}, using ${e} instead`),s=e,n=!1}t.selected=s,this.media.quality=s,n&&this.storage.set({quality:s})}get quality(){return this.media.quality}set loop(e){const t=O(e)?e:this.config.loop.active;this.config.loop.active=t,this.media.loop=t}get loop(){return Boolean(this.media.loop)}set source(e){vt.change.call(this,e)}get source(){return this.media.currentSrc}get download(){const{download:e}=this.config.urls;return U(e)?e:this.source}set download(e){U(e)&&(this.config.urls.download=e,We.setDownloadUrl.call(this))}set poster(e){this.isVideo?at.setPoster.call(this,e,!1).catch((()=>{})):this.debug.warn("Poster can only be set for video")}get poster(){return this.isVideo?this.media.getAttribute("poster")||this.media.getAttribute("data-poster"):null}get ratio(){if(!this.isVideo)return null;const e=Ne(xe.call(this));return q(e)?e.join(":"):e}set ratio(e){this.isVideo?_(e)&&Pe(e)?(this.config.ratio=Ne(e),Me.call(this)):this.debug.error(`Invalid aspect ratio specified (${e})`):this.debug.warn("Aspect ratio can only be set for video")}set autoplay(e){const t=O(e)?e:this.config.autoplay;this.config.autoplay=t}get autoplay(){return Boolean(this.config.autoplay)}toggleCaptions(e){Ye.toggle.call(this,e,!1)}set currentTrack(e){Ye.set.call(this,e,!1),Ye.setup()}get currentTrack(){const{toggled:e,currentTrack:t}=this.captions;return e?t:-1}set language(e){Ye.setLanguage.call(this,e,!1)}get language(){return(Ye.getCurrentTrack.call(this)||{}).language}set pip(e){if(!me.pip)return;const t=O(e)?e:!this.pip;j(this.media.webkitSetPresentationMode)&&this.media.webkitSetPresentationMode(t?Xe:Je),j(this.media.requestPictureInPicture)&&(!this.pip&&t?this.media.requestPictureInPicture():this.pip&&!t&&document.exitPictureInPicture())}get pip(){return me.pip?W(this.media.webkitPresentationMode)?this.media===document.pictureInPictureElement:this.media.webkitPresentationMode===Xe:null}setPreviewThumbnails(e){this.previewThumbnails&&this.previewThumbnails.loaded&&(this.previewThumbnails.destroy(),this.previewThumbnails=null),Object.assign(this.config.previewThumbnails,e),this.config.previewThumbnails.enabled&&(this.previewThumbnails=new yt(this))}static supported(e,t,i){return me.check(e,t,i)}static loadSprite(e,t){return Ve(e,t)}static setup(e,t={}){let i=null;return _(e)?i=Array.from(document.querySelectorAll(e)):D(e)?i=Array.from(e):q(e)&&(i=e.filter(H)),W(i)?null:i.map((e=>new wt(e,t)))}}var Tt;return wt.defaults=(Tt=Qe,JSON.parse(JSON.stringify(Tt))),wt})); 1979//# sourceMappingURL=plyr.min.js.map 1980 1981/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "../node_modules/webpack/buildin/global.js"), __webpack_require__(/*! jquery */ "jquery"))) 1982 1983/***/ }), 1984
vendor: 89,619 bytes, lines 1985-5005
1985/***/ "../node_modules/slick-carousel/slick/slick.js": 1986/*!*****************************************************!*\ 1987 !*** ../node_modules/slick-carousel/slick/slick.js ***! 1988 \*****************************************************/ 1989/*! no static exports found */ 1990/***/ (function(module, exports, __webpack_require__) { 1991 1992var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* 1993 _ _ _ _ 1994 ___| (_) ___| | __ (_)___ 1995/ __| | |/ __| |/ / | / __| 1996\__ \ | | (__| < _ | \__ \ 1997|___/_|_|\___|_|\_(_)/ |___/ 1998 |__/ 1999 2000 Version: 1.8.1 2001 Author: Ken Wheeler 2002 Website: http://kenwheeler.github.io 2003 Docs: http://kenwheeler.github.io/slick 2004 Repo: http://github.com/kenwheeler/slick 2005 Issues: http://github.com/kenwheeler/slick/issues 2006 2007 */ 2008/* global window, document, define, jQuery, setInterval, clearInterval */ 2009;(function(factory) { 2010 'use strict'; 2011 if (true) { 2012 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ "jquery")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), 2013 __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? 2014 (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), 2015 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 2016 } else {} 2017 2018}(function($) { 2019 'use strict'; 2020 var Slick = window.Slick || {}; 2021 2022 Slick = (function() { 2023 2024 var instanceUid = 0; 2025 2026 function Slick(element, settings) { 2027 2028 var _ = this, dataSettings; 2029 2030 _.defaults = { 2031 accessibility: true, 2032 adaptiveHeight: false, 2033 appendArrows: $(element), 2034 appendDots: $(element), 2035 arrows: true, 2036 asNavFor: null, 2037 prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>', 2038 nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>', 2039 autoplay: false, 2040 autoplaySpeed: 3000, 2041 centerMode: false, 2042 centerPadding: '50px', 2043 cssEase: 'ease', 2044 customPaging: function(slider, i) { 2045 return $('<button type="button" />').text(i + 1); 2046 }, 2047 dots: false, 2048 dotsClass: 'slick-dots', 2049 draggable: true, 2050 easing: 'linear', 2051 edgeFriction: 0.35, 2052 fade: false, 2053 focusOnSelect: false, 2054 focusOnChange: false, 2055 infinite: true, 2056 initialSlide: 0, 2057 lazyLoad: 'ondemand', 2058 mobileFirst: false, 2059 pauseOnHover: true, 2060 pauseOnFocus: true, 2061 pauseOnDotsHover: false, 2062 respondTo: 'window', 2063 responsive: null, 2064 rows: 1, 2065 rtl: false, 2066 slide: '', 2067 slidesPerRow: 1, 2068 slidesToShow: 1, 2069 slidesToScroll: 1, 2070 speed: 500, 2071 swipe: true, 2072 swipeToSlide: false, 2073 touchMove: true, 2074 touchThreshold: 5, 2075 useCSS: true, 2076 useTransform: true, 2077 variableWidth: false, 2078 vertical: false, 2079 verticalSwiping: false, 2080 waitForAnimate: true, 2081 zIndex: 1000 2082 }; 2083 2084 _.initials = { 2085 animating: false, 2086 dragging: false, 2087 autoPlayTimer: null, 2088 currentDirection: 0, 2089 currentLeft: null, 2090 currentSlide: 0, 2091 direction: 1, 2092 $dots: null, 2093 listWidth: null, 2094 listHeight: null, 2095 loadIndex: 0, 2096 $nextArrow: null, 2097 $prevArrow: null, 2098 scrolling: false, 2099 slideCount: null, 2100 slideWidth: null, 2101 $slideTrack: null, 2102 $slides: null, 2103 sliding: false, 2104 slideOffset: 0, 2105 swipeLeft: null, 2106 swiping: false, 2107 $list: null, 2108 touchObject: {}, 2109 transformsEnabled: false, 2110 unslicked: false 2111 }; 2112 2113 $.extend(_, _.initials); 2114 2115 _.activeBreakpoint = null; 2116 _.animType = null; 2117 _.animProp = null; 2118 _.breakpoints = []; 2119 _.breakpointSettings = []; 2120 _.cssTransitions = false; 2121 _.focussed = false; 2122 _.interrupted = false; 2123 _.hidden = 'hidden'; 2124 _.paused = true; 2125 _.positionProp = null; 2126 _.respondTo = null; 2127 _.rowCount = 1; 2128 _.shouldClick = true; 2129 _.$slider = $(element); 2130 _.$slidesCache = null; 2131 _.transformType = null; 2132 _.transitionType = null; 2133 _.visibilityChange = 'visibilitychange'; 2134 _.windowWidth = 0; 2135 _.windowTimer = null; 2136 2137 dataSettings = $(element).data('slick') || {}; 2138 2139 _.options = $.extend({}, _.defaults, settings, dataSettings); 2140 2141 _.currentSlide = _.options.initialSlide; 2142 2143 _.originalSettings = _.options; 2144 2145 if (typeof document.mozHidden !== 'undefined') { 2146 _.hidden = 'mozHidden'; 2147 _.visibilityChange = 'mozvisibilitychange'; 2148 } else if (typeof document.webkitHidden !== 'undefined') { 2149 _.hidden = 'webkitHidden'; 2150 _.visibilityChange = 'webkitvisibilitychange'; 2151 } 2152 2153 _.autoPlay = $.proxy(_.autoPlay, _); 2154 _.autoPlayClear = $.proxy(_.autoPlayClear, _); 2155 _.autoPlayIterator = $.proxy(_.autoPlayIterator, _); 2156 _.changeSlide = $.proxy(_.changeSlide, _); 2157 _.clickHandler = $.proxy(_.clickHandler, _); 2158 _.selectHandler = $.proxy(_.selectHandler, _); 2159 _.setPosition = $.proxy(_.setPosition, _); 2160 _.swipeHandler = $.proxy(_.swipeHandler, _); 2161 _.dragHandler = $.proxy(_.dragHandler, _); 2162 _.keyHandler = $.proxy(_.keyHandler, _); 2163 2164 _.instanceUid = instanceUid++; 2165 2166 // A simple way to check for HTML strings 2167 // Strict HTML recognition (must start with <) 2168 // Extracted from jQuery v1.11 source 2169 _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/; 2170 2171 2172 _.registerBreakpoints(); 2173 _.init(true); 2174 2175 } 2176 2177 return Slick; 2178 2179 }()); 2180 2181 Slick.prototype.activateADA = function() { 2182 var _ = this; 2183 2184 _.$slideTrack.find('.slick-active').attr({ 2185 'aria-hidden': 'false' 2186 }).find('a, input, button, select').attr({ 2187 'tabindex': '0' 2188 }); 2189 2190 }; 2191 2192 Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) { 2193 2194 var _ = this; 2195 2196 if (typeof(index) === 'boolean') { 2197 addBefore = index; 2198 index = null; 2199 } else if (index < 0 || (index >= _.slideCount)) { 2200 return false; 2201 } 2202 2203 _.unload(); 2204 2205 if (typeof(index) === 'number') { 2206 if (index === 0 && _.$slides.length === 0) { 2207 $(markup).appendTo(_.$slideTrack); 2208 } else if (addBefore) { 2209 $(markup).insertBefore(_.$slides.eq(index)); 2210 } else { 2211 $(markup).insertAfter(_.$slides.eq(index)); 2212 } 2213 } else { 2214 if (addBefore === true) { 2215 $(markup).prependTo(_.$slideTrack); 2216 } else { 2217 $(markup).appendTo(_.$slideTrack); 2218 } 2219 } 2220 2221 _.$slides = _.$slideTrack.children(this.options.slide); 2222 2223 _.$slideTrack.children(this.options.slide).detach(); 2224 2225 _.$slideTrack.append(_.$slides); 2226 2227 _.$slides.each(function(index, element) { 2228 $(element).attr('data-slick-index', index); 2229 }); 2230 2231 _.$slidesCache = _.$slides; 2232 2233 _.reinit(); 2234 2235 }; 2236 2237 Slick.prototype.animateHeight = function() { 2238 var _ = this; 2239 if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { 2240 var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); 2241 _.$list.animate({ 2242 height: targetHeight 2243 }, _.options.speed); 2244 } 2245 }; 2246 2247 Slick.prototype.animateSlide = function(targetLeft, callback) { 2248 2249 var animProps = {}, 2250 _ = this; 2251 2252 _.animateHeight(); 2253 2254 if (_.options.rtl === true && _.options.vertical === false) { 2255 targetLeft = -targetLeft; 2256 } 2257 if (_.transformsEnabled === false) { 2258 if (_.options.vertical === false) { 2259 _.$slideTrack.animate({ 2260 left: targetLeft 2261 }, _.options.speed, _.options.easing, callback); 2262 } else { 2263 _.$slideTrack.animate({ 2264 top: targetLeft 2265 }, _.options.speed, _.options.easing, callback); 2266 } 2267 2268 } else { 2269 2270 if (_.cssTransitions === false) { 2271 if (_.options.rtl === true) { 2272 _.currentLeft = -(_.currentLeft); 2273 } 2274 $({ 2275 animStart: _.currentLeft 2276 }).animate({ 2277 animStart: targetLeft 2278 }, { 2279 duration: _.options.speed, 2280 easing: _.options.easing, 2281 step: function(now) { 2282 now = Math.ceil(now); 2283 if (_.options.vertical === false) { 2284 animProps[_.animType] = 'translate(' + 2285 now + 'px, 0px)'; 2286 _.$slideTrack.css(animProps); 2287 } else { 2288 animProps[_.animType] = 'translate(0px,' + 2289 now + 'px)'; 2290 _.$slideTrack.css(animProps); 2291 } 2292 }, 2293 complete: function() { 2294 if (callback) { 2295 callback.call(); 2296 } 2297 } 2298 }); 2299 2300 } else { 2301 2302 _.applyTransition(); 2303 targetLeft = Math.ceil(targetLeft); 2304 2305 if (_.options.vertical === false) { 2306 animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)'; 2307 } else { 2308 animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)'; 2309 } 2310 _.$slideTrack.css(animProps); 2311 2312 if (callback) { 2313 setTimeout(function() { 2314 2315 _.disableTransition(); 2316 2317 callback.call(); 2318 }, _.options.speed); 2319 } 2320 2321 } 2322 2323 } 2324 2325 }; 2326 2327 Slick.prototype.getNavTarget = function() { 2328 2329 var _ = this, 2330 asNavFor = _.options.asNavFor; 2331 2332 if ( asNavFor && asNavFor !== null ) { 2333 asNavFor = $(asNavFor).not(_.$slider); 2334 } 2335 2336 return asNavFor; 2337 2338 }; 2339 2340 Slick.prototype.asNavFor = function(index) { 2341 2342 var _ = this, 2343 asNavFor = _.getNavTarget(); 2344 2345 if ( asNavFor !== null && typeof asNavFor === 'object' ) { 2346 asNavFor.each(function() { 2347 var target = $(this).slick('getSlick'); 2348 if(!target.unslicked) { 2349 target.slideHandler(index, true); 2350 } 2351 }); 2352 } 2353 2354 }; 2355 2356 Slick.prototype.applyTransition = function(slide) { 2357 2358 var _ = this, 2359 transition = {}; 2360 2361 if (_.options.fade === false) { 2362 transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase; 2363 } else { 2364 transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase; 2365 } 2366 2367 if (_.options.fade === false) { 2368 _.$slideTrack.css(transition); 2369 } else { 2370 _.$slides.eq(slide).css(transition); 2371 } 2372 2373 }; 2374 2375 Slick.prototype.autoPlay = function() { 2376 2377 var _ = this; 2378 2379 _.autoPlayClear(); 2380 2381 if ( _.slideCount > _.options.slidesToShow ) { 2382 _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed ); 2383 } 2384 2385 }; 2386 2387 Slick.prototype.autoPlayClear = function() { 2388 2389 var _ = this; 2390 2391 if (_.autoPlayTimer) { 2392 clearInterval(_.autoPlayTimer); 2393 } 2394 2395 }; 2396 2397 Slick.prototype.autoPlayIterator = function() { 2398 2399 var _ = this, 2400 slideTo = _.currentSlide + _.options.slidesToScroll; 2401 2402 if ( !_.paused && !_.interrupted && !_.focussed ) { 2403 2404 if ( _.options.infinite === false ) { 2405 2406 if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) { 2407 _.direction = 0; 2408 } 2409 2410 else if ( _.direction === 0 ) { 2411 2412 slideTo = _.currentSlide - _.options.slidesToScroll; 2413 2414 if ( _.currentSlide - 1 === 0 ) { 2415 _.direction = 1; 2416 } 2417 2418 } 2419 2420 } 2421 2422 _.slideHandler( slideTo ); 2423 2424 } 2425 2426 }; 2427 2428 Slick.prototype.buildArrows = function() { 2429 2430 var _ = this; 2431 2432 if (_.options.arrows === true ) { 2433 2434 _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow'); 2435 _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow'); 2436 2437 if( _.slideCount > _.options.slidesToShow ) { 2438 2439 _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); 2440 _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); 2441 2442 if (_.htmlExpr.test(_.options.prevArrow)) { 2443 _.$prevArrow.prependTo(_.options.appendArrows); 2444 } 2445 2446 if (_.htmlExpr.test(_.options.nextArrow)) { 2447 _.$nextArrow.appendTo(_.options.appendArrows); 2448 } 2449 2450 if (_.options.infinite !== true) { 2451 _.$prevArrow 2452 .addClass('slick-disabled') 2453 .attr('aria-disabled', 'true'); 2454 } 2455 2456 } else { 2457 2458 _.$prevArrow.add( _.$nextArrow ) 2459 2460 .addClass('slick-hidden') 2461 .attr({ 2462 'aria-disabled': 'true', 2463 'tabindex': '-1' 2464 }); 2465 2466 } 2467 2468 } 2469 2470 }; 2471 2472 Slick.prototype.buildDots = function() { 2473 2474 var _ = this, 2475 i, dot; 2476 2477 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 2478 2479 _.$slider.addClass('slick-dotted'); 2480 2481 dot = $('<ul />').addClass(_.options.dotsClass); 2482 2483 for (i = 0; i <= _.getDotCount(); i += 1) { 2484 dot.append($('<li />').append(_.options.customPaging.call(this, _, i))); 2485 } 2486 2487 _.$dots = dot.appendTo(_.options.appendDots); 2488 2489 _.$dots.find('li').first().addClass('slick-active'); 2490 2491 } 2492 2493 }; 2494 2495 Slick.prototype.buildOut = function() { 2496 2497 var _ = this; 2498 2499 _.$slides = 2500 _.$slider 2501 .children( _.options.slide + ':not(.slick-cloned)') 2502 .addClass('slick-slide'); 2503 2504 _.slideCount = _.$slides.length; 2505 2506 _.$slides.each(function(index, element) { 2507 $(element) 2508 .attr('data-slick-index', index) 2509 .data('originalStyling', $(element).attr('style') || ''); 2510 }); 2511 2512 _.$slider.addClass('slick-slider'); 2513 2514 _.$slideTrack = (_.slideCount === 0) ? 2515 $('<div class="slick-track"/>').appendTo(_.$slider) : 2516 _.$slides.wrapAll('<div class="slick-track"/>').parent(); 2517 2518 _.$list = _.$slideTrack.wrap( 2519 '<div class="slick-list"/>').parent(); 2520 _.$slideTrack.css('opacity', 0); 2521 2522 if (_.options.centerMode === true || _.options.swipeToSlide === true) { 2523 _.options.slidesToScroll = 1; 2524 } 2525 2526 $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading'); 2527 2528 _.setupInfinite(); 2529 2530 _.buildArrows(); 2531 2532 _.buildDots(); 2533 2534 _.updateDots(); 2535 2536 2537 _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); 2538 2539 if (_.options.draggable === true) { 2540 _.$list.addClass('draggable'); 2541 } 2542 2543 }; 2544 2545 Slick.prototype.buildRows = function() { 2546 2547 var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection; 2548 2549 newSlides = document.createDocumentFragment(); 2550 originalSlides = _.$slider.children(); 2551 2552 if(_.options.rows > 0) { 2553 2554 slidesPerSection = _.options.slidesPerRow * _.options.rows; 2555 numOfSlides = Math.ceil( 2556 originalSlides.length / slidesPerSection 2557 ); 2558 2559 for(a = 0; a < numOfSlides; a++){ 2560 var slide = document.createElement('div'); 2561 for(b = 0; b < _.options.rows; b++) { 2562 var row = document.createElement('div'); 2563 for(c = 0; c < _.options.slidesPerRow; c++) { 2564 var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c)); 2565 if (originalSlides.get(target)) { 2566 row.appendChild(originalSlides.get(target)); 2567 } 2568 } 2569 slide.appendChild(row); 2570 } 2571 newSlides.appendChild(slide); 2572 } 2573 2574 _.$slider.empty().append(newSlides); 2575 _.$slider.children().children().children() 2576 .css({ 2577 'width':(100 / _.options.slidesPerRow) + '%', 2578 'display': 'inline-block' 2579 }); 2580 2581 } 2582 2583 }; 2584 2585 Slick.prototype.checkResponsive = function(initial, forceUpdate) { 2586 2587 var _ = this, 2588 breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false; 2589 var sliderWidth = _.$slider.width(); 2590 var windowWidth = window.innerWidth || $(window).width(); 2591 2592 if (_.respondTo === 'window') { 2593 respondToWidth = windowWidth; 2594 } else if (_.respondTo === 'slider') { 2595 respondToWidth = sliderWidth; 2596 } else if (_.respondTo === 'min') { 2597 respondToWidth = Math.min(windowWidth, sliderWidth); 2598 } 2599 2600 if ( _.options.responsive && 2601 _.options.responsive.length && 2602 _.options.responsive !== null) { 2603 2604 targetBreakpoint = null; 2605 2606 for (breakpoint in _.breakpoints) { 2607 if (_.breakpoints.hasOwnProperty(breakpoint)) { 2608 if (_.originalSettings.mobileFirst === false) { 2609 if (respondToWidth < _.breakpoints[breakpoint]) { 2610 targetBreakpoint = _.breakpoints[breakpoint]; 2611 } 2612 } else { 2613 if (respondToWidth > _.breakpoints[breakpoint]) { 2614 targetBreakpoint = _.breakpoints[breakpoint]; 2615 } 2616 } 2617 } 2618 } 2619 2620 if (targetBreakpoint !== null) { 2621 if (_.activeBreakpoint !== null) { 2622 if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) { 2623 _.activeBreakpoint = 2624 targetBreakpoint; 2625 if (_.breakpointSettings[targetBreakpoint] === 'unslick') { 2626 _.unslick(targetBreakpoint); 2627 } else { 2628 _.options = $.extend({}, _.originalSettings, 2629 _.breakpointSettings[ 2630 targetBreakpoint]); 2631 if (initial === true) { 2632 _.currentSlide = _.options.initialSlide; 2633 } 2634 _.refresh(initial); 2635 } 2636 triggerBreakpoint = targetBreakpoint; 2637 } 2638 } else { 2639 _.activeBreakpoint = targetBreakpoint; 2640 if (_.breakpointSettings[targetBreakpoint] === 'unslick') { 2641 _.unslick(targetBreakpoint); 2642 } else { 2643 _.options = $.extend({}, _.originalSettings, 2644 _.breakpointSettings[ 2645 targetBreakpoint]); 2646 if (initial === true) { 2647 _.currentSlide = _.options.initialSlide; 2648 } 2649 _.refresh(initial); 2650 } 2651 triggerBreakpoint = targetBreakpoint; 2652 } 2653 } else { 2654 if (_.activeBreakpoint !== null) { 2655 _.activeBreakpoint = null; 2656 _.options = _.originalSettings; 2657 if (initial === true) { 2658 _.currentSlide = _.options.initialSlide; 2659 } 2660 _.refresh(initial); 2661 triggerBreakpoint = targetBreakpoint; 2662 } 2663 } 2664 2665 // only trigger breakpoints during an actual break. not on initialize. 2666 if( !initial && triggerBreakpoint !== false ) { 2667 _.$slider.trigger('breakpoint', [_, triggerBreakpoint]); 2668 } 2669 } 2670 2671 }; 2672 2673 Slick.prototype.changeSlide = function(event, dontAnimate) { 2674 2675 var _ = this, 2676 $target = $(event.currentTarget), 2677 indexOffset, slideOffset, unevenOffset; 2678 2679 // If target is a link, prevent default action. 2680 if($target.is('a')) { 2681 event.preventDefault(); 2682 } 2683 2684 // If target is not the <li> element (ie: a child), find the <li>. 2685 if(!$target.is('li')) { 2686 $target = $target.closest('li'); 2687 } 2688 2689 unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0); 2690 indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll; 2691 2692 switch (event.data.message) { 2693 2694 case 'previous': 2695 slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset; 2696 if (_.slideCount > _.options.slidesToShow) { 2697 _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate); 2698 } 2699 break; 2700 2701 case 'next': 2702 slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset; 2703 if (_.slideCount > _.options.slidesToShow) { 2704 _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate); 2705 } 2706 break; 2707 2708 case 'index': 2709 var index = event.data.index === 0 ? 0 : 2710 event.data.index || $target.index() * _.options.slidesToScroll; 2711 2712 _.slideHandler(_.checkNavigable(index), false, dontAnimate); 2713 $target.children().trigger('focus'); 2714 break; 2715 2716 default: 2717 return; 2718 } 2719 2720 }; 2721 2722 Slick.prototype.checkNavigable = function(index) { 2723 2724 var _ = this, 2725 navigables, prevNavigable; 2726 2727 navigables = _.getNavigableIndexes(); 2728 prevNavigable = 0; 2729 if (index > navigables[navigables.length - 1]) { 2730 index = navigables[navigables.length - 1]; 2731 } else { 2732 for (var n in navigables) { 2733 if (index < navigables[n]) { 2734 index = prevNavigable; 2735 break; 2736 } 2737 prevNavigable = navigables[n]; 2738 } 2739 } 2740 2741 return index; 2742 }; 2743 2744 Slick.prototype.cleanUpEvents = function() { 2745 2746 var _ = this; 2747 2748 if (_.options.dots && _.$dots !== null) { 2749 2750 $('li', _.$dots) 2751 .off('click.slick', _.changeSlide) 2752 .off('mouseenter.slick', $.proxy(_.interrupt, _, true)) 2753 .off('mouseleave.slick', $.proxy(_.interrupt, _, false)); 2754 2755 if (_.options.accessibility === true) { 2756 _.$dots.off('keydown.slick', _.keyHandler); 2757 } 2758 } 2759 2760 _.$slider.off('focus.slick blur.slick'); 2761 2762 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 2763 _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide); 2764 _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide); 2765 2766 if (_.options.accessibility === true) { 2767 _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler); 2768 _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler); 2769 } 2770 } 2771 2772 _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler); 2773 _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler); 2774 _.$list.off('touchend.slick mouseup.slick', _.swipeHandler); 2775 _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler); 2776 2777 _.$list.off('click.slick', _.clickHandler); 2778 2779 $(document).off(_.visibilityChange, _.visibility); 2780 2781 _.cleanUpSlideEvents(); 2782 2783 if (_.options.accessibility === true) { 2784 _.$list.off('keydown.slick', _.keyHandler); 2785 } 2786 2787 if (_.options.focusOnSelect === true) { 2788 $(_.$slideTrack).children().off('click.slick', _.selectHandler); 2789 } 2790 2791 $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange); 2792 2793 $(window).off('resize.slick.slick-' + _.instanceUid, _.resize); 2794 2795 $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault); 2796 2797 $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition); 2798 2799 }; 2800 2801 Slick.prototype.cleanUpSlideEvents = function() { 2802 2803 var _ = this; 2804 2805 _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true)); 2806 _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false)); 2807 2808 }; 2809 2810 Slick.prototype.cleanUpRows = function() { 2811 2812 var _ = this, originalSlides; 2813 2814 if(_.options.rows > 0) { 2815 originalSlides = _.$slides.children().children(); 2816 originalSlides.removeAttr('style'); 2817 _.$slider.empty().append(originalSlides); 2818 } 2819 2820 }; 2821 2822 Slick.prototype.clickHandler = function(event) { 2823 2824 var _ = this; 2825 2826 if (_.shouldClick === false) { 2827 event.stopImmediatePropagation(); 2828 event.stopPropagation(); 2829 event.preventDefault(); 2830 } 2831 2832 }; 2833 2834 Slick.prototype.destroy = function(refresh) { 2835 2836 var _ = this; 2837 2838 _.autoPlayClear(); 2839 2840 _.touchObject = {}; 2841 2842 _.cleanUpEvents(); 2843 2844 $('.slick-cloned', _.$slider).detach(); 2845 2846 if (_.$dots) { 2847 _.$dots.remove(); 2848 } 2849 2850 if ( _.$prevArrow && _.$prevArrow.length ) { 2851 2852 _.$prevArrow 2853 .removeClass('slick-disabled slick-arrow slick-hidden') 2854 .removeAttr('aria-hidden aria-disabled tabindex') 2855 .css('display',''); 2856 2857 if ( _.htmlExpr.test( _.options.prevArrow )) { 2858 _.$prevArrow.remove(); 2859 } 2860 } 2861 2862 if ( _.$nextArrow && _.$nextArrow.length ) { 2863 2864 _.$nextArrow 2865 .removeClass('slick-disabled slick-arrow slick-hidden') 2866 .removeAttr('aria-hidden aria-disabled tabindex') 2867 .css('display',''); 2868 2869 if ( _.htmlExpr.test( _.options.nextArrow )) { 2870 _.$nextArrow.remove(); 2871 } 2872 } 2873 2874 2875 if (_.$slides) { 2876 2877 _.$slides 2878 .removeClass('slick-slide slick-active slick-center slick-visible slick-current') 2879 .removeAttr('aria-hidden') 2880 .removeAttr('data-slick-index') 2881 .each(function(){ 2882 $(this).attr('style', $(this).data('originalStyling')); 2883 }); 2884 2885 _.$slideTrack.children(this.options.slide).detach(); 2886 2887 _.$slideTrack.detach(); 2888 2889 _.$list.detach(); 2890 2891 _.$slider.append(_.$slides); 2892 } 2893 2894 _.cleanUpRows(); 2895 2896 _.$slider.removeClass('slick-slider'); 2897 _.$slider.removeClass('slick-initialized'); 2898 _.$slider.removeClass('slick-dotted'); 2899 2900 _.unslicked = true; 2901 2902 if(!refresh) { 2903 _.$slider.trigger('destroy', [_]); 2904 } 2905 2906 }; 2907 2908 Slick.prototype.disableTransition = function(slide) { 2909 2910 var _ = this, 2911 transition = {}; 2912 2913 transition[_.transitionType] = ''; 2914 2915 if (_.options.fade === false) { 2916 _.$slideTrack.css(transition); 2917 } else { 2918 _.$slides.eq(slide).css(transition); 2919 } 2920 2921 }; 2922 2923 Slick.prototype.fadeSlide = function(slideIndex, callback) { 2924 2925 var _ = this; 2926 2927 if (_.cssTransitions === false) { 2928 2929 _.$slides.eq(slideIndex).css({ 2930 zIndex: _.options.zIndex 2931 }); 2932 2933 _.$slides.eq(slideIndex).animate({ 2934 opacity: 1 2935 }, _.options.speed, _.options.easing, callback); 2936 2937 } else { 2938 2939 _.applyTransition(slideIndex); 2940 2941 _.$slides.eq(slideIndex).css({ 2942 opacity: 1, 2943 zIndex: _.options.zIndex 2944 }); 2945 2946 if (callback) { 2947 setTimeout(function() { 2948 2949 _.disableTransition(slideIndex); 2950 2951 callback.call(); 2952 }, _.options.speed); 2953 } 2954 2955 } 2956 2957 }; 2958 2959 Slick.prototype.fadeSlideOut = function(slideIndex) { 2960 2961 var _ = this; 2962 2963 if (_.cssTransitions === false) { 2964 2965 _.$slides.eq(slideIndex).animate({ 2966 opacity: 0, 2967 zIndex: _.options.zIndex - 2 2968 }, _.options.speed, _.options.easing); 2969 2970 } else { 2971 2972 _.applyTransition(slideIndex); 2973 2974 _.$slides.eq(slideIndex).css({ 2975 opacity: 0, 2976 zIndex: _.options.zIndex - 2 2977 }); 2978 2979 } 2980 2981 }; 2982 2983 Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) { 2984 2985 var _ = this; 2986 2987 if (filter !== null) { 2988 2989 _.$slidesCache = _.$slides; 2990 2991 _.unload(); 2992 2993 _.$slideTrack.children(this.options.slide).detach(); 2994 2995 _.$slidesCache.filter(filter).appendTo(_.$slideTrack); 2996 2997 _.reinit(); 2998 2999 } 3000 3001 }; 3002 3003 Slick.prototype.focusHandler = function() { 3004 3005 var _ = this; 3006 3007 _.$slider 3008 .off('focus.slick blur.slick') 3009 .on('focus.slick blur.slick', '*', function(event) { 3010 3011 event.stopImmediatePropagation(); 3012 var $sf = $(this); 3013 3014 setTimeout(function() { 3015 3016 if( _.options.pauseOnFocus ) { 3017 _.focussed = $sf.is(':focus'); 3018 _.autoPlay(); 3019 } 3020 3021 }, 0); 3022 3023 }); 3024 }; 3025 3026 Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() { 3027 3028 var _ = this; 3029 return _.currentSlide; 3030 3031 }; 3032 3033 Slick.prototype.getDotCount = function() { 3034 3035 var _ = this; 3036 3037 var breakPoint = 0; 3038 var counter = 0; 3039 var pagerQty = 0; 3040 3041 if (_.options.infinite === true) { 3042 if (_.slideCount <= _.options.slidesToShow) { 3043 ++pagerQty; 3044 } else { 3045 while (breakPoint < _.slideCount) { 3046 ++pagerQty; 3047 breakPoint = counter + _.options.slidesToScroll; 3048 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 3049 } 3050 } 3051 } else if (_.options.centerMode === true) { 3052 pagerQty = _.slideCount; 3053 } else if(!_.options.asNavFor) { 3054 pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll); 3055 }else { 3056 while (breakPoint < _.slideCount) { 3057 ++pagerQty; 3058 breakPoint = counter + _.options.slidesToScroll; 3059 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 3060 } 3061 } 3062 3063 return pagerQty - 1; 3064 3065 }; 3066 3067 Slick.prototype.getLeft = function(slideIndex) { 3068 3069 var _ = this, 3070 targetLeft, 3071 verticalHeight, 3072 verticalOffset = 0, 3073 targetSlide, 3074 coef; 3075 3076 _.slideOffset = 0; 3077 verticalHeight = _.$slides.first().outerHeight(true); 3078 3079 if (_.options.infinite === true) { 3080 if (_.slideCount > _.options.slidesToShow) { 3081 _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1; 3082 coef = -1 3083 3084 if (_.options.vertical === true && _.options.centerMode === true) { 3085 if (_.options.slidesToShow === 2) { 3086 coef = -1.5; 3087 } else if (_.options.slidesToShow === 1) { 3088 coef = -2 3089 } 3090 } 3091 verticalOffset = (verticalHeight * _.options.slidesToShow) * coef; 3092 } 3093 if (_.slideCount % _.options.slidesToScroll !== 0) { 3094 if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) { 3095 if (slideIndex > _.slideCount) { 3096 _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1; 3097 verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1; 3098 } else { 3099 _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1; 3100 verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1; 3101 } 3102 } 3103 } 3104 } else { 3105 if (slideIndex + _.options.slidesToShow > _.slideCount) { 3106 _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth; 3107 verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight; 3108 } 3109 } 3110 3111 if (_.slideCount <= _.options.slidesToShow) { 3112 _.slideOffset = 0; 3113 verticalOffset = 0; 3114 } 3115 3116 if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) { 3117 _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2); 3118 } else if (_.options.centerMode === true && _.options.infinite === true) { 3119 _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth; 3120 } else if (_.options.centerMode === true) { 3121 _.slideOffset = 0; 3122 _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2); 3123 } 3124 3125 if (_.options.vertical === false) { 3126 targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset; 3127 } else { 3128 targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset; 3129 } 3130 3131 if (_.options.variableWidth === true) { 3132 3133 if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { 3134 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); 3135 } else { 3136 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow); 3137 } 3138 3139 if (_.options.rtl === true) { 3140 if (targetSlide[0]) { 3141 targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; 3142 } else { 3143 targetLeft = 0; 3144 } 3145 } else { 3146 targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; 3147 } 3148 3149 if (_.options.centerMode === true) { 3150 if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { 3151 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); 3152 } else { 3153 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1); 3154 } 3155 3156 if (_.options.rtl === true) { 3157 if (targetSlide[0]) { 3158 targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; 3159 } else { 3160 targetLeft = 0; 3161 } 3162 } else { 3163 targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; 3164 } 3165 3166 targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2; 3167 } 3168 } 3169 3170 return targetLeft; 3171 3172 }; 3173 3174 Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) { 3175 3176 var _ = this; 3177 3178 return _.options[option]; 3179 3180 }; 3181 3182 Slick.prototype.getNavigableIndexes = function() { 3183 3184 var _ = this, 3185 breakPoint = 0, 3186 counter = 0, 3187 indexes = [], 3188 max; 3189 3190 if (_.options.infinite === false) { 3191 max = _.slideCount; 3192 } else { 3193 breakPoint = _.options.slidesToScroll * -1; 3194 counter = _.options.slidesToScroll * -1; 3195 max = _.slideCount * 2; 3196 } 3197 3198 while (breakPoint < max) { 3199 indexes.push(breakPoint); 3200 breakPoint = counter + _.options.slidesToScroll; 3201 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 3202 } 3203 3204 return indexes; 3205 3206 }; 3207 3208 Slick.prototype.getSlick = function() { 3209 3210 return this; 3211 3212 }; 3213 3214 Slick.prototype.getSlideCount = function() { 3215 3216 var _ = this, 3217 slidesTraversed, swipedSlide, centerOffset; 3218 3219 centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0; 3220 3221 if (_.options.swipeToSlide === true) { 3222 _.$slideTrack.find('.slick-slide').each(function(index, slide) { 3223 if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) { 3224 swipedSlide = slide; 3225 return false; 3226 } 3227 }); 3228 3229 slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1; 3230 3231 return slidesTraversed; 3232 3233 } else { 3234 return _.options.slidesToScroll; 3235 } 3236 3237 }; 3238 3239 Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) { 3240 3241 var _ = this; 3242 3243 _.changeSlide({ 3244 data: { 3245 message: 'index', 3246 index: parseInt(slide) 3247 } 3248 }, dontAnimate); 3249 3250 }; 3251 3252 Slick.prototype.init = function(creation) { 3253 3254 var _ = this; 3255 3256 if (!$(_.$slider).hasClass('slick-initialized')) { 3257 3258 $(_.$slider).addClass('slick-initialized'); 3259 3260 _.buildRows(); 3261 _.buildOut(); 3262 _.setProps(); 3263 _.startLoad(); 3264 _.loadSlider(); 3265 _.initializeEvents(); 3266 _.updateArrows(); 3267 _.updateDots(); 3268 _.checkResponsive(true); 3269 _.focusHandler(); 3270 3271 } 3272 3273 if (creation) { 3274 _.$slider.trigger('init', [_]); 3275 } 3276 3277 if (_.options.accessibility === true) { 3278 _.initADA(); 3279 } 3280 3281 if ( _.options.autoplay ) { 3282 3283 _.paused = false; 3284 _.autoPlay(); 3285 3286 } 3287 3288 }; 3289 3290 Slick.prototype.initADA = function() { 3291 var _ = this, 3292 numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow), 3293 tabControlIndexes = _.getNavigableIndexes().filter(function(val) { 3294 return (val >= 0) && (val < _.slideCount); 3295 }); 3296 3297 _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({ 3298 'aria-hidden': 'true', 3299 'tabindex': '-1' 3300 }).find('a, input, button, select').attr({ 3301 'tabindex': '-1' 3302 }); 3303 3304 if (_.$dots !== null) { 3305 _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) { 3306 var slideControlIndex = tabControlIndexes.indexOf(i); 3307 3308 $(this).attr({ 3309 'role': 'tabpanel', 3310 'id': 'slick-slide' + _.instanceUid + i, 3311 'tabindex': -1 3312 }); 3313 3314 if (slideControlIndex !== -1) { 3315 var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex 3316 if ($('#' + ariaButtonControl).length) { 3317 $(this).attr({ 3318 'aria-describedby': ariaButtonControl 3319 }); 3320 } 3321 } 3322 }); 3323 3324 _.$dots.attr('role', 'tablist').find('li').each(function(i) { 3325 var mappedSlideIndex = tabControlIndexes[i]; 3326 3327 $(this).attr({ 3328 'role': 'presentation' 3329 }); 3330 3331 $(this).find('button').first().attr({ 3332 'role': 'tab', 3333 'id': 'slick-slide-control' + _.instanceUid + i, 3334 'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex, 3335 'aria-label': (i + 1) + ' of ' + numDotGroups, 3336 'aria-selected': null, 3337 'tabindex': '-1' 3338 }); 3339 3340 }).eq(_.currentSlide).find('button').attr({ 3341 'aria-selected': 'true', 3342 'tabindex': '0' 3343 }).end(); 3344 } 3345 3346 for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) { 3347 if (_.options.focusOnChange) { 3348 _.$slides.eq(i).attr({'tabindex': '0'}); 3349 } else { 3350 _.$slides.eq(i).removeAttr('tabindex'); 3351 } 3352 } 3353 3354 _.activateADA(); 3355 3356 }; 3357 3358 Slick.prototype.initArrowEvents = function() { 3359 3360 var _ = this; 3361 3362 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 3363 _.$prevArrow 3364 .off('click.slick') 3365 .on('click.slick', { 3366 message: 'previous' 3367 }, _.changeSlide); 3368 _.$nextArrow 3369 .off('click.slick') 3370 .on('click.slick', { 3371 message: 'next' 3372 }, _.changeSlide); 3373 3374 if (_.options.accessibility === true) { 3375 _.$prevArrow.on('keydown.slick', _.keyHandler); 3376 _.$nextArrow.on('keydown.slick', _.keyHandler); 3377 } 3378 } 3379 3380 }; 3381 3382 Slick.prototype.initDotEvents = function() { 3383 3384 var _ = this; 3385 3386 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 3387 $('li', _.$dots).on('click.slick', { 3388 message: 'index' 3389 }, _.changeSlide); 3390 3391 if (_.options.accessibility === true) { 3392 _.$dots.on('keydown.slick', _.keyHandler); 3393 } 3394 } 3395 3396 if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) { 3397 3398 $('li', _.$dots) 3399 .on('mouseenter.slick', $.proxy(_.interrupt, _, true)) 3400 .on('mouseleave.slick', $.proxy(_.interrupt, _, false)); 3401 3402 } 3403 3404 }; 3405 3406 Slick.prototype.initSlideEvents = function() { 3407 3408 var _ = this; 3409 3410 if ( _.options.pauseOnHover ) { 3411 3412 _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true)); 3413 _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false)); 3414 3415 } 3416 3417 }; 3418 3419 Slick.prototype.initializeEvents = function() { 3420 3421 var _ = this; 3422 3423 _.initArrowEvents(); 3424 3425 _.initDotEvents(); 3426 _.initSlideEvents(); 3427 3428 _.$list.on('touchstart.slick mousedown.slick', { 3429 action: 'start' 3430 }, _.swipeHandler); 3431 _.$list.on('touchmove.slick mousemove.slick', { 3432 action: 'move' 3433 }, _.swipeHandler); 3434 _.$list.on('touchend.slick mouseup.slick', { 3435 action: 'end' 3436 }, _.swipeHandler); 3437 _.$list.on('touchcancel.slick mouseleave.slick', { 3438 action: 'end' 3439 }, _.swipeHandler); 3440 3441 _.$list.on('click.slick', _.clickHandler); 3442 3443 $(document).on(_.visibilityChange, $.proxy(_.visibility, _)); 3444 3445 if (_.options.accessibility === true) { 3446 _.$list.on('keydown.slick', _.keyHandler); 3447 } 3448 3449 if (_.options.focusOnSelect === true) { 3450 $(_.$slideTrack).children().on('click.slick', _.selectHandler); 3451 } 3452 3453 $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _)); 3454 3455 $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _)); 3456 3457 $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault); 3458 3459 $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition); 3460 $(_.setPosition); 3461 3462 }; 3463 3464 Slick.prototype.initUI = function() { 3465 3466 var _ = this; 3467 3468 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 3469 3470 _.$prevArrow.show(); 3471 _.$nextArrow.show(); 3472 3473 } 3474 3475 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 3476 3477 _.$dots.show(); 3478 3479 } 3480 3481 }; 3482 3483 Slick.prototype.keyHandler = function(event) { 3484 3485 var _ = this; 3486 //Dont slide if the cursor is inside the form fields and arrow keys are pressed 3487 if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) { 3488 if (event.keyCode === 37 && _.options.accessibility === true) { 3489 _.changeSlide({ 3490 data: { 3491 message: _.options.rtl === true ? 'next' : 'previous' 3492 } 3493 }); 3494 } else if (event.keyCode === 39 && _.options.accessibility === true) { 3495 _.changeSlide({ 3496 data: { 3497 message: _.options.rtl === true ? 'previous' : 'next' 3498 } 3499 }); 3500 } 3501 } 3502 3503 }; 3504 3505 Slick.prototype.lazyLoad = function() { 3506 3507 var _ = this, 3508 loadRange, cloneRange, rangeStart, rangeEnd; 3509 3510 function loadImages(imagesScope) { 3511 3512 $('img[data-lazy]', imagesScope).each(function() { 3513 3514 var image = $(this), 3515 imageSource = $(this).attr('data-lazy'), 3516 imageSrcSet = $(this).attr('data-srcset'), 3517 imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'), 3518 imageToLoad = document.createElement('img'); 3519 3520 imageToLoad.onload = function() { 3521 3522 image 3523 .animate({ opacity: 0 }, 100, function() { 3524 3525 if (imageSrcSet) { 3526 image 3527 .attr('srcset', imageSrcSet ); 3528 3529 if (imageSizes) { 3530 image 3531 .attr('sizes', imageSizes ); 3532 } 3533 } 3534 3535 image 3536 .attr('src', imageSource) 3537 .animate({ opacity: 1 }, 200, function() { 3538 image 3539 .removeAttr('data-lazy data-srcset data-sizes') 3540 .removeClass('slick-loading'); 3541 }); 3542 _.$slider.trigger('lazyLoaded', [_, image, imageSource]); 3543 }); 3544 3545 }; 3546 3547 imageToLoad.onerror = function() { 3548 3549 image 3550 .removeAttr( 'data-lazy' ) 3551 .removeClass( 'slick-loading' ) 3552 .addClass( 'slick-lazyload-error' ); 3553 3554 _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); 3555 3556 }; 3557 3558 imageToLoad.src = imageSource; 3559 3560 }); 3561 3562 } 3563 3564 if (_.options.centerMode === true) { 3565 if (_.options.infinite === true) { 3566 rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1); 3567 rangeEnd = rangeStart + _.options.slidesToShow + 2; 3568 } else { 3569 rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1)); 3570 rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide; 3571 } 3572 } else { 3573 rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide; 3574 rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow); 3575 if (_.options.fade === true) { 3576 if (rangeStart > 0) rangeStart--; 3577 if (rangeEnd <= _.slideCount) rangeEnd++; 3578 } 3579 } 3580 3581 loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd); 3582 3583 if (_.options.lazyLoad === 'anticipated') { 3584 var prevSlide = rangeStart - 1, 3585 nextSlide = rangeEnd, 3586 $slides = _.$slider.find('.slick-slide'); 3587 3588 for (var i = 0; i < _.options.slidesToScroll; i++) { 3589 if (prevSlide < 0) prevSlide = _.slideCount - 1; 3590 loadRange = loadRange.add($slides.eq(prevSlide)); 3591 loadRange = loadRange.add($slides.eq(nextSlide)); 3592 prevSlide--; 3593 nextSlide++; 3594 } 3595 } 3596 3597 loadImages(loadRange); 3598 3599 if (_.slideCount <= _.options.slidesToShow) { 3600 cloneRange = _.$slider.find('.slick-slide'); 3601 loadImages(cloneRange); 3602 } else 3603 if (_.currentSlide >= _.slideCount - _.options.slidesToShow) { 3604 cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow); 3605 loadImages(cloneRange); 3606 } else if (_.currentSlide === 0) { 3607 cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1); 3608 loadImages(cloneRange); 3609 } 3610 3611 }; 3612 3613 Slick.prototype.loadSlider = function() { 3614 3615 var _ = this; 3616 3617 _.setPosition(); 3618 3619 _.$slideTrack.css({ 3620 opacity: 1 3621 }); 3622 3623 _.$slider.removeClass('slick-loading'); 3624 3625 _.initUI(); 3626 3627 if (_.options.lazyLoad === 'progressive') { 3628 _.progressiveLazyLoad(); 3629 } 3630 3631 }; 3632 3633 Slick.prototype.next = Slick.prototype.slickNext = function() { 3634 3635 var _ = this; 3636 3637 _.changeSlide({ 3638 data: { 3639 message: 'next' 3640 } 3641 }); 3642 3643 }; 3644 3645 Slick.prototype.orientationChange = function() { 3646 3647 var _ = this; 3648 3649 _.checkResponsive(); 3650 _.setPosition(); 3651 3652 }; 3653 3654 Slick.prototype.pause = Slick.prototype.slickPause = function() { 3655 3656 var _ = this; 3657 3658 _.autoPlayClear(); 3659 _.paused = true; 3660 3661 }; 3662 3663 Slick.prototype.play = Slick.prototype.slickPlay = function() { 3664 3665 var _ = this; 3666 3667 _.autoPlay(); 3668 _.options.autoplay = true; 3669 _.paused = false; 3670 _.focussed = false; 3671 _.interrupted = false; 3672 3673 }; 3674 3675 Slick.prototype.postSlide = function(index) { 3676 3677 var _ = this; 3678 3679 if( !_.unslicked ) { 3680 3681 _.$slider.trigger('afterChange', [_, index]); 3682 3683 _.animating = false; 3684 3685 if (_.slideCount > _.options.slidesToShow) { 3686 _.setPosition(); 3687 } 3688 3689 _.swipeLeft = null; 3690 3691 if ( _.options.autoplay ) { 3692 _.autoPlay(); 3693 } 3694 3695 if (_.options.accessibility === true) { 3696 _.initADA(); 3697 3698 if (_.options.focusOnChange) { 3699 var $currentSlide = $(_.$slides.get(_.currentSlide)); 3700 $currentSlide.attr('tabindex', 0).focus(); 3701 } 3702 } 3703 3704 } 3705 3706 }; 3707 3708 Slick.prototype.prev = Slick.prototype.slickPrev = function() { 3709 3710 var _ = this; 3711 3712 _.changeSlide({ 3713 data: { 3714 message: 'previous' 3715 } 3716 }); 3717 3718 }; 3719 3720 Slick.prototype.preventDefault = function(event) { 3721 3722 event.preventDefault(); 3723 3724 }; 3725 3726 Slick.prototype.progressiveLazyLoad = function( tryCount ) { 3727 3728 tryCount = tryCount || 1; 3729 3730 var _ = this, 3731 $imgsToLoad = $( 'img[data-lazy]', _.$slider ), 3732 image, 3733 imageSource, 3734 imageSrcSet, 3735 imageSizes, 3736 imageToLoad; 3737 3738 if ( $imgsToLoad.length ) { 3739 3740 image = $imgsToLoad.first(); 3741 imageSource = image.attr('data-lazy'); 3742 imageSrcSet = image.attr('data-srcset'); 3743 imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes'); 3744 imageToLoad = document.createElement('img'); 3745 3746 imageToLoad.onload = function() { 3747 3748 if (imageSrcSet) { 3749 image 3750 .attr('srcset', imageSrcSet ); 3751 3752 if (imageSizes) { 3753 image 3754 .attr('sizes', imageSizes ); 3755 } 3756 } 3757 3758 image 3759 .attr( 'src', imageSource ) 3760 .removeAttr('data-lazy data-srcset data-sizes') 3761 .removeClass('slick-loading'); 3762 3763 if ( _.options.adaptiveHeight === true ) { 3764 _.setPosition(); 3765 } 3766 3767 _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]); 3768 _.progressiveLazyLoad(); 3769 3770 }; 3771 3772 imageToLoad.onerror = function() { 3773 3774 if ( tryCount < 3 ) { 3775 3776 /** 3777 * try to load the image 3 times, 3778 * leave a slight delay so we don't get 3779 * servers blocking the request. 3780 */ 3781 setTimeout( function() { 3782 _.progressiveLazyLoad( tryCount + 1 ); 3783 }, 500 ); 3784 3785 } else { 3786 3787 image 3788 .removeAttr( 'data-lazy' ) 3789 .removeClass( 'slick-loading' ) 3790 .addClass( 'slick-lazyload-error' ); 3791 3792 _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); 3793 3794 _.progressiveLazyLoad(); 3795 3796 } 3797 3798 }; 3799 3800 imageToLoad.src = imageSource; 3801 3802 } else { 3803 3804 _.$slider.trigger('allImagesLoaded', [ _ ]); 3805 3806 } 3807 3808 }; 3809 3810 Slick.prototype.refresh = function( initializing ) { 3811 3812 var _ = this, currentSlide, lastVisibleIndex; 3813 3814 lastVisibleIndex = _.slideCount - _.options.slidesToShow; 3815 3816 // in non-infinite sliders, we don't want to go past the 3817 // last visible index. 3818 if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) { 3819 _.currentSlide = lastVisibleIndex; 3820 } 3821 3822 // if less slides than to show, go to start. 3823 if ( _.slideCount <= _.options.slidesToShow ) { 3824 _.currentSlide = 0; 3825 3826 } 3827 3828 currentSlide = _.currentSlide; 3829 3830 _.destroy(true); 3831 3832 $.extend(_, _.initials, { currentSlide: currentSlide }); 3833 3834 _.init(); 3835 3836 if( !initializing ) { 3837 3838 _.changeSlide({ 3839 data: { 3840 message: 'index', 3841 index: currentSlide 3842 } 3843 }, false); 3844 3845 } 3846 3847 }; 3848 3849 Slick.prototype.registerBreakpoints = function() { 3850 3851 var _ = this, breakpoint, currentBreakpoint, l, 3852 responsiveSettings = _.options.responsive || null; 3853 3854 if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) { 3855 3856 _.respondTo = _.options.respondTo || 'window'; 3857 3858 for ( breakpoint in responsiveSettings ) { 3859 3860 l = _.breakpoints.length-1; 3861 3862 if (responsiveSettings.hasOwnProperty(breakpoint)) { 3863 currentBreakpoint = responsiveSettings[breakpoint].breakpoint; 3864 3865 // loop through the breakpoints and cut out any existing 3866 // ones with the same breakpoint number, we don't want dupes. 3867 while( l >= 0 ) { 3868 if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) { 3869 _.breakpoints.splice(l,1); 3870 } 3871 l--; 3872 } 3873 3874 _.breakpoints.push(currentBreakpoint); 3875 _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings; 3876 3877 } 3878 3879 } 3880 3881 _.breakpoints.sort(function(a, b) { 3882 return ( _.options.mobileFirst ) ? a-b : b-a; 3883 }); 3884 3885 } 3886 3887 }; 3888 3889 Slick.prototype.reinit = function() { 3890 3891 var _ = this; 3892 3893 _.$slides = 3894 _.$slideTrack 3895 .children(_.options.slide) 3896 .addClass('slick-slide'); 3897 3898 _.slideCount = _.$slides.length; 3899 3900 if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) { 3901 _.currentSlide = _.currentSlide - _.options.slidesToScroll; 3902 } 3903 3904 if (_.slideCount <= _.options.slidesToShow) { 3905 _.currentSlide = 0; 3906 } 3907 3908 _.registerBreakpoints(); 3909 3910 _.setProps(); 3911 _.setupInfinite(); 3912 _.buildArrows(); 3913 _.updateArrows(); 3914 _.initArrowEvents(); 3915 _.buildDots(); 3916 _.updateDots(); 3917 _.initDotEvents(); 3918 _.cleanUpSlideEvents(); 3919 _.initSlideEvents(); 3920 3921 _.checkResponsive(false, true); 3922 3923 if (_.options.focusOnSelect === true) { 3924 $(_.$slideTrack).children().on('click.slick', _.selectHandler); 3925 } 3926 3927 _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); 3928 3929 _.setPosition(); 3930 _.focusHandler(); 3931 3932 _.paused = !_.options.autoplay; 3933 _.autoPlay(); 3934 3935 _.$slider.trigger('reInit', [_]); 3936 3937 }; 3938 3939 Slick.prototype.resize = function() { 3940 3941 var _ = this; 3942 3943 if ($(window).width() !== _.windowWidth) { 3944 clearTimeout(_.windowDelay); 3945 _.windowDelay = window.setTimeout(function() { 3946 _.windowWidth = $(window).width(); 3947 _.checkResponsive(); 3948 if( !_.unslicked ) { _.setPosition(); } 3949 }, 50); 3950 } 3951 }; 3952 3953 Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) { 3954 3955 var _ = this; 3956 3957 if (typeof(index) === 'boolean') { 3958 removeBefore = index; 3959 index = removeBefore === true ? 0 : _.slideCount - 1; 3960 } else { 3961 index = removeBefore === true ? --index : index; 3962 } 3963 3964 if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) { 3965 return false; 3966 } 3967 3968 _.unload(); 3969 3970 if (removeAll === true) { 3971 _.$slideTrack.children().remove(); 3972 } else { 3973 _.$slideTrack.children(this.options.slide).eq(index).remove(); 3974 } 3975 3976 _.$slides = _.$slideTrack.children(this.options.slide); 3977 3978 _.$slideTrack.children(this.options.slide).detach(); 3979 3980 _.$slideTrack.append(_.$slides); 3981 3982 _.$slidesCache = _.$slides; 3983 3984 _.reinit(); 3985 3986 }; 3987 3988 Slick.prototype.setCSS = function(position) { 3989 3990 var _ = this, 3991 positionProps = {}, 3992 x, y; 3993 3994 if (_.options.rtl === true) { 3995 position = -position; 3996 } 3997 x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px'; 3998 y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px'; 3999 4000 positionProps[_.positionProp] = position; 4001 4002 if (_.transformsEnabled === false) { 4003 _.$slideTrack.css(positionProps); 4004 } else { 4005 positionProps = {}; 4006 if (_.cssTransitions === false) { 4007 positionProps[_.animType] = 'translate(' + x + ', ' + y + ')'; 4008 _.$slideTrack.css(positionProps); 4009 } else { 4010 positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)'; 4011 _.$slideTrack.css(positionProps); 4012 } 4013 } 4014 4015 }; 4016 4017 Slick.prototype.setDimensions = function() { 4018 4019 var _ = this; 4020 4021 if (_.options.vertical === false) { 4022 if (_.options.centerMode === true) { 4023 _.$list.css({ 4024 padding: ('0px ' + _.options.centerPadding) 4025 }); 4026 } 4027 } else { 4028 _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow); 4029 if (_.options.centerMode === true) { 4030 _.$list.css({ 4031 padding: (_.options.centerPadding + ' 0px') 4032 }); 4033 } 4034 } 4035 4036 _.listWidth = _.$list.width(); 4037 _.listHeight = _.$list.height(); 4038 4039 4040 if (_.options.vertical === false && _.options.variableWidth === false) { 4041 _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow); 4042 _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length))); 4043 4044 } else if (_.options.variableWidth === true) { 4045 _.$slideTrack.width(5000 * _.slideCount); 4046 } else { 4047 _.slideWidth = Math.ceil(_.listWidth); 4048 _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length))); 4049 } 4050 4051 var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width(); 4052 if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset); 4053 4054 }; 4055 4056 Slick.prototype.setFade = function() { 4057 4058 var _ = this, 4059 targetLeft; 4060 4061 _.$slides.each(function(index, element) { 4062 targetLeft = (_.slideWidth * index) * -1; 4063 if (_.options.rtl === true) { 4064 $(element).css({ 4065 position: 'relative', 4066 right: targetLeft, 4067 top: 0, 4068 zIndex: _.options.zIndex - 2, 4069 opacity: 0 4070 }); 4071 } else { 4072 $(element).css({ 4073 position: 'relative', 4074 left: targetLeft, 4075 top: 0, 4076 zIndex: _.options.zIndex - 2, 4077 opacity: 0 4078 }); 4079 } 4080 }); 4081 4082 _.$slides.eq(_.currentSlide).css({ 4083 zIndex: _.options.zIndex - 1, 4084 opacity: 1 4085 }); 4086 4087 }; 4088 4089 Slick.prototype.setHeight = function() { 4090 4091 var _ = this; 4092 4093 if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { 4094 var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); 4095 _.$list.css('height', targetHeight); 4096 } 4097 4098 }; 4099 4100 Slick.prototype.setOption = 4101 Slick.prototype.slickSetOption = function() { 4102 4103 /** 4104 * accepts arguments in format of: 4105 * 4106 * - for changing a single option's value: 4107 * .slick("setOption", option, value, refresh ) 4108 * 4109 * - for changing a set of responsive options: 4110 * .slick("setOption", 'responsive', [{}, ...], refresh ) 4111 * 4112 * - for updating multiple values at once (not responsive) 4113 * .slick("setOption", { 'option': value, ... }, refresh ) 4114 */ 4115 4116 var _ = this, l, item, option, value, refresh = false, type; 4117 4118 if( $.type( arguments[0] ) === 'object' ) { 4119 4120 option = arguments[0]; 4121 refresh = arguments[1]; 4122 type = 'multiple'; 4123 4124 } else if ( $.type( arguments[0] ) === 'string' ) { 4125 4126 option = arguments[0]; 4127 value = arguments[1]; 4128 refresh = arguments[2]; 4129 4130 if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) { 4131 4132 type = 'responsive'; 4133 4134 } else if ( typeof arguments[1] !== 'undefined' ) { 4135 4136 type = 'single'; 4137 4138 } 4139 4140 } 4141 4142 if ( type === 'single' ) { 4143 4144 _.options[option] = value; 4145 4146 4147 } else if ( type === 'multiple' ) { 4148 4149 $.each( option , function( opt, val ) { 4150 4151 _.options[opt] = val; 4152 4153 }); 4154 4155 4156 } else if ( type === 'responsive' ) { 4157 4158 for ( item in value ) { 4159 4160 if( $.type( _.options.responsive ) !== 'array' ) { 4161 4162 _.options.responsive = [ value[item] ]; 4163 4164 } else { 4165 4166 l = _.options.responsive.length-1; 4167 4168 // loop through the responsive object and splice out duplicates. 4169 while( l >= 0 ) { 4170 4171 if( _.options.responsive[l].breakpoint === value[item].breakpoint ) { 4172 4173 _.options.responsive.splice(l,1); 4174 4175 } 4176 4177 l--; 4178 4179 } 4180 4181 _.options.responsive.push( value[item] ); 4182 4183 } 4184 4185 } 4186 4187 } 4188 4189 if ( refresh ) { 4190 4191 _.unload(); 4192 _.reinit(); 4193 4194 } 4195 4196 }; 4197 4198 Slick.prototype.setPosition = function() { 4199 4200 var _ = this; 4201 4202 _.setDimensions(); 4203 4204 _.setHeight(); 4205 4206 if (_.options.fade === false) { 4207 _.setCSS(_.getLeft(_.currentSlide)); 4208 } else { 4209 _.setFade(); 4210 } 4211 4212 _.$slider.trigger('setPosition', [_]); 4213 4214 }; 4215 4216 Slick.prototype.setProps = function() { 4217 4218 var _ = this, 4219 bodyStyle = document.body.style; 4220 4221 _.positionProp = _.options.vertical === true ? 'top' : 'left'; 4222 4223 if (_.positionProp === 'top') { 4224 _.$slider.addClass('slick-vertical'); 4225 } else { 4226 _.$slider.removeClass('slick-vertical'); 4227 } 4228 4229 if (bodyStyle.WebkitTransition !== undefined || 4230 bodyStyle.MozTransition !== undefined || 4231 bodyStyle.msTransition !== undefined) { 4232 if (_.options.useCSS === true) { 4233 _.cssTransitions = true; 4234 } 4235 } 4236 4237 if ( _.options.fade ) { 4238 if ( typeof _.options.zIndex === 'number' ) { 4239 if( _.options.zIndex < 3 ) { 4240 _.options.zIndex = 3; 4241 } 4242 } else { 4243 _.options.zIndex = _.defaults.zIndex; 4244 } 4245 } 4246 4247 if (bodyStyle.OTransform !== undefined) { 4248 _.animType = 'OTransform'; 4249 _.transformType = '-o-transform'; 4250 _.transitionType = 'OTransition'; 4251 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; 4252 } 4253 if (bodyStyle.MozTransform !== undefined) { 4254 _.animType = 'MozTransform'; 4255 _.transformType = '-moz-transform'; 4256 _.transitionType = 'MozTransition'; 4257 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false; 4258 } 4259 if (bodyStyle.webkitTransform !== undefined) { 4260 _.animType = 'webkitTransform'; 4261 _.transformType = '-webkit-transform'; 4262 _.transitionType = 'webkitTransition'; 4263 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; 4264 } 4265 if (bodyStyle.msTransform !== undefined) { 4266 _.animType = 'msTransform'; 4267 _.transformType = '-ms-transform'; 4268 _.transitionType = 'msTransition'; 4269 if (bodyStyle.msTransform === undefined) _.animType = false; 4270 } 4271 if (bodyStyle.transform !== undefined && _.animType !== false) { 4272 _.animType = 'transform'; 4273 _.transformType = 'transform'; 4274 _.transitionType = 'transition'; 4275 } 4276 _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false); 4277 }; 4278 4279 4280 Slick.prototype.setSlideClasses = function(index) { 4281 4282 var _ = this, 4283 centerOffset, allSlides, indexOffset, remainder; 4284 4285 allSlides = _.$slider 4286 .find('.slick-slide') 4287 .removeClass('slick-active slick-center slick-current') 4288 .attr('aria-hidden', 'true'); 4289 4290 _.$slides 4291 .eq(index) 4292 .addClass('slick-current'); 4293 4294 if (_.options.centerMode === true) { 4295 4296 var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0; 4297 4298 centerOffset = Math.floor(_.options.slidesToShow / 2); 4299 4300 if (_.options.infinite === true) { 4301 4302 if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) { 4303 _.$slides 4304 .slice(index - centerOffset + evenCoef, index + centerOffset + 1) 4305 .addClass('slick-active') 4306 .attr('aria-hidden', 'false'); 4307 4308 } else { 4309 4310 indexOffset = _.options.slidesToShow + index; 4311 allSlides 4312 .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2) 4313 .addClass('slick-active') 4314 .attr('aria-hidden', 'false'); 4315 4316 } 4317 4318 if (index === 0) { 4319 4320 allSlides 4321 .eq(allSlides.length - 1 - _.options.slidesToShow) 4322 .addClass('slick-center'); 4323 4324 } else if (index === _.slideCount - 1) { 4325 4326 allSlides 4327 .eq(_.options.slidesToShow) 4328 .addClass('slick-center'); 4329 4330 } 4331 4332 } 4333 4334 _.$slides 4335 .eq(index) 4336 .addClass('slick-center'); 4337 4338 } else { 4339 4340 if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) { 4341 4342 _.$slides 4343 .slice(index, index + _.options.slidesToShow) 4344 .addClass('slick-active') 4345 .attr('aria-hidden', 'false'); 4346 4347 } else if (allSlides.length <= _.options.slidesToShow) { 4348 4349 allSlides 4350 .addClass('slick-active') 4351 .attr('aria-hidden', 'false'); 4352 4353 } else { 4354 4355 remainder = _.slideCount % _.options.slidesToShow; 4356 indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index; 4357 4358 if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) { 4359 4360 allSlides 4361 .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder) 4362 .addClass('slick-active') 4363 .attr('aria-hidden', 'false'); 4364 4365 } else { 4366 4367 allSlides 4368 .slice(indexOffset, indexOffset + _.options.slidesToShow) 4369 .addClass('slick-active') 4370 .attr('aria-hidden', 'false'); 4371 4372 } 4373 4374 } 4375 4376 } 4377 4378 if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') { 4379 _.lazyLoad(); 4380 } 4381 }; 4382 4383 Slick.prototype.setupInfinite = function() { 4384 4385 var _ = this, 4386 i, slideIndex, infiniteCount; 4387 4388 if (_.options.fade === true) { 4389 _.options.centerMode = false; 4390 } 4391 4392 if (_.options.infinite === true && _.options.fade === false) { 4393 4394 slideIndex = null; 4395 4396 if (_.slideCount > _.options.slidesToShow) { 4397 4398 if (_.options.centerMode === true) { 4399 infiniteCount = _.options.slidesToShow + 1; 4400 } else { 4401 infiniteCount = _.options.slidesToShow; 4402 } 4403 4404 for (i = _.slideCount; i > (_.slideCount - 4405 infiniteCount); i -= 1) { 4406 slideIndex = i - 1; 4407 $(_.$slides[slideIndex]).clone(true).attr('id', '') 4408 .attr('data-slick-index', slideIndex - _.slideCount) 4409 .prependTo(_.$slideTrack).addClass('slick-cloned'); 4410 } 4411 for (i = 0; i < infiniteCount + _.slideCount; i += 1) { 4412 slideIndex = i; 4413 $(_.$slides[slideIndex]).clone(true).attr('id', '') 4414 .attr('data-slick-index', slideIndex + _.slideCount) 4415 .appendTo(_.$slideTrack).addClass('slick-cloned'); 4416 } 4417 _.$slideTrack.find('.slick-cloned').find('[id]').each(function() { 4418 $(this).attr('id', ''); 4419 }); 4420 4421 } 4422 4423 } 4424 4425 }; 4426 4427 Slick.prototype.interrupt = function( toggle ) { 4428 4429 var _ = this; 4430 4431 if( !toggle ) { 4432 _.autoPlay(); 4433 } 4434 _.interrupted = toggle; 4435 4436 }; 4437 4438 Slick.prototype.selectHandler = function(event) { 4439 4440 var _ = this; 4441 4442 var targetElement = 4443 $(event.target).is('.slick-slide') ? 4444 $(event.target) : 4445 $(event.target).parents('.slick-slide'); 4446 4447 var index = parseInt(targetElement.attr('data-slick-index')); 4448 4449 if (!index) index = 0; 4450 4451 if (_.slideCount <= _.options.slidesToShow) { 4452 4453 _.slideHandler(index, false, true); 4454 return; 4455 4456 } 4457 4458 _.slideHandler(index); 4459 4460 }; 4461 4462 Slick.prototype.slideHandler = function(index, sync, dontAnimate) { 4463 4464 var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null, 4465 _ = this, navTarget; 4466 4467 sync = sync || false; 4468 4469 if (_.animating === true && _.options.waitForAnimate === true) { 4470 return; 4471 } 4472 4473 if (_.options.fade === true && _.currentSlide === index) { 4474 return; 4475 } 4476 4477 if (sync === false) { 4478 _.asNavFor(index); 4479 } 4480 4481 targetSlide = index; 4482 targetLeft = _.getLeft(targetSlide); 4483 slideLeft = _.getLeft(_.currentSlide); 4484 4485 _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft; 4486 4487 if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) { 4488 if (_.options.fade === false) { 4489 targetSlide = _.currentSlide; 4490 if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { 4491 _.animateSlide(slideLeft, function() { 4492 _.postSlide(targetSlide); 4493 }); 4494 } else { 4495 _.postSlide(targetSlide); 4496 } 4497 } 4498 return; 4499 } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) { 4500 if (_.options.fade === false) { 4501 targetSlide = _.currentSlide; 4502 if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { 4503 _.animateSlide(slideLeft, function() { 4504 _.postSlide(targetSlide); 4505 }); 4506 } else { 4507 _.postSlide(targetSlide); 4508 } 4509 } 4510 return; 4511 } 4512 4513 if ( _.options.autoplay ) { 4514 clearInterval(_.autoPlayTimer); 4515 } 4516 4517 if (targetSlide < 0) { 4518 if (_.slideCount % _.options.slidesToScroll !== 0) { 4519 animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll); 4520 } else { 4521 animSlide = _.slideCount + targetSlide; 4522 } 4523 } else if (targetSlide >= _.slideCount) { 4524 if (_.slideCount % _.options.slidesToScroll !== 0) { 4525 animSlide = 0; 4526 } else { 4527 animSlide = targetSlide - _.slideCount; 4528 } 4529 } else { 4530 animSlide = targetSlide; 4531 } 4532 4533 _.animating = true; 4534 4535 _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]); 4536 4537 oldSlide = _.currentSlide; 4538 _.currentSlide = animSlide; 4539 4540 _.setSlideClasses(_.currentSlide); 4541 4542 if ( _.options.asNavFor ) { 4543 4544 navTarget = _.getNavTarget(); 4545 navTarget = navTarget.slick('getSlick'); 4546 4547 if ( navTarget.slideCount <= navTarget.options.slidesToShow ) { 4548 navTarget.setSlideClasses(_.currentSlide); 4549 } 4550 4551 } 4552 4553 _.updateDots(); 4554 _.updateArrows(); 4555 4556 if (_.options.fade === true) { 4557 if (dontAnimate !== true) { 4558 4559 _.fadeSlideOut(oldSlide); 4560 4561 _.fadeSlide(animSlide, function() { 4562 _.postSlide(animSlide); 4563 }); 4564 4565 } else { 4566 _.postSlide(animSlide); 4567 } 4568 _.animateHeight(); 4569 return; 4570 } 4571 4572 if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { 4573 _.animateSlide(targetLeft, function() { 4574 _.postSlide(animSlide); 4575 }); 4576 } else { 4577 _.postSlide(animSlide); 4578 } 4579 4580 }; 4581 4582 Slick.prototype.startLoad = function() { 4583 4584 var _ = this; 4585 4586 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 4587 4588 _.$prevArrow.hide(); 4589 _.$nextArrow.hide(); 4590 4591 } 4592 4593 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 4594 4595 _.$dots.hide(); 4596 4597 } 4598 4599 _.$slider.addClass('slick-loading'); 4600 4601 }; 4602 4603 Slick.prototype.swipeDirection = function() { 4604 4605 var xDist, yDist, r, swipeAngle, _ = this; 4606 4607 xDist = _.touchObject.startX - _.touchObject.curX; 4608 yDist = _.touchObject.startY - _.touchObject.curY; 4609 r = Math.atan2(yDist, xDist); 4610 4611 swipeAngle = Math.round(r * 180 / Math.PI); 4612 if (swipeAngle < 0) { 4613 swipeAngle = 360 - Math.abs(swipeAngle); 4614 } 4615 4616 if ((swipeAngle <= 45) && (swipeAngle >= 0)) { 4617 return (_.options.rtl === false ? 'left' : 'right'); 4618 } 4619 if ((swipeAngle <= 360) && (swipeAngle >= 315)) { 4620 return (_.options.rtl === false ? 'left' : 'right'); 4621 } 4622 if ((swipeAngle >= 135) && (swipeAngle <= 225)) { 4623 return (_.options.rtl === false ? 'right' : 'left'); 4624 } 4625 if (_.options.verticalSwiping === true) { 4626 if ((swipeAngle >= 35) && (swipeAngle <= 135)) { 4627 return 'down'; 4628 } else { 4629 return 'up'; 4630 } 4631 } 4632 4633 return 'vertical'; 4634 4635 }; 4636 4637 Slick.prototype.swipeEnd = function(event) { 4638 4639 var _ = this, 4640 slideCount, 4641 direction; 4642 4643 _.dragging = false; 4644 _.swiping = false; 4645 4646 if (_.scrolling) { 4647 _.scrolling = false; 4648 return false; 4649 } 4650 4651 _.interrupted = false; 4652 _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true; 4653 4654 if ( _.touchObject.curX === undefined ) { 4655 return false; 4656 } 4657 4658 if ( _.touchObject.edgeHit === true ) { 4659 _.$slider.trigger('edge', [_, _.swipeDirection() ]); 4660 } 4661 4662 if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) { 4663 4664 direction = _.swipeDirection(); 4665 4666 switch ( direction ) { 4667 4668 case 'left': 4669 case 'down': 4670 4671 slideCount = 4672 _.options.swipeToSlide ? 4673 _.checkNavigable( _.currentSlide + _.getSlideCount() ) : 4674 _.currentSlide + _.getSlideCount(); 4675 4676 _.currentDirection = 0; 4677 4678 break; 4679 4680 case 'right': 4681 case 'up': 4682 4683 slideCount = 4684 _.options.swipeToSlide ? 4685 _.checkNavigable( _.currentSlide - _.getSlideCount() ) : 4686 _.currentSlide - _.getSlideCount(); 4687 4688 _.currentDirection = 1; 4689 4690 break; 4691 4692 default: 4693 4694 4695 } 4696 4697 if( direction != 'vertical' ) { 4698 4699 _.slideHandler( slideCount ); 4700 _.touchObject = {}; 4701 _.$slider.trigger('swipe', [_, direction ]); 4702 4703 } 4704 4705 } else { 4706 4707 if ( _.touchObject.startX !== _.touchObject.curX ) { 4708 4709 _.slideHandler( _.currentSlide ); 4710 _.touchObject = {}; 4711 4712 } 4713 4714 } 4715 4716 }; 4717 4718 Slick.prototype.swipeHandler = function(event) { 4719 4720 var _ = this; 4721 4722 if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) { 4723 return; 4724 } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) { 4725 return; 4726 } 4727 4728 _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ? 4729 event.originalEvent.touches.length : 1; 4730 4731 _.touchObject.minSwipe = _.listWidth / _.options 4732 .touchThreshold; 4733 4734 if (_.options.verticalSwiping === true) { 4735 _.touchObject.minSwipe = _.listHeight / _.options 4736 .touchThreshold; 4737 } 4738 4739 switch (event.data.action) { 4740 4741 case 'start': 4742 _.swipeStart(event); 4743 break; 4744 4745 case 'move': 4746 _.swipeMove(event); 4747 break; 4748 4749 case 'end': 4750 _.swipeEnd(event); 4751 break; 4752 4753 } 4754 4755 }; 4756 4757 Slick.prototype.swipeMove = function(event) { 4758 4759 var _ = this, 4760 edgeWasHit = false, 4761 curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength; 4762 4763 touches = event.originalEvent !== undefined ? event.originalEvent.touches : null; 4764 4765 if (!_.dragging || _.scrolling || touches && touches.length !== 1) { 4766 return false; 4767 } 4768 4769 curLeft = _.getLeft(_.currentSlide); 4770 4771 _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX; 4772 _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY; 4773 4774 _.touchObject.swipeLength = Math.round(Math.sqrt( 4775 Math.pow(_.touchObject.curX - _.touchObject.startX, 2))); 4776 4777 verticalSwipeLength = Math.round(Math.sqrt( 4778 Math.pow(_.touchObject.curY - _.touchObject.startY, 2))); 4779 4780 if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) { 4781 _.scrolling = true; 4782 return false; 4783 } 4784 4785 if (_.options.verticalSwiping === true) { 4786 _.touchObject.swipeLength = verticalSwipeLength; 4787 } 4788 4789 swipeDirection = _.swipeDirection(); 4790 4791 if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) { 4792 _.swiping = true; 4793 event.preventDefault(); 4794 } 4795 4796 positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1); 4797 if (_.options.verticalSwiping === true) { 4798 positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1; 4799 } 4800 4801 4802 swipeLength = _.touchObject.swipeLength; 4803 4804 _.touchObject.edgeHit = false; 4805 4806 if (_.options.infinite === false) { 4807 if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) { 4808 swipeLength = _.touchObject.swipeLength * _.options.edgeFriction; 4809 _.touchObject.edgeHit = true; 4810 } 4811 } 4812 4813 if (_.options.vertical === false) { 4814 _.swipeLeft = curLeft + swipeLength * positionOffset; 4815 } else { 4816 _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset; 4817 } 4818 if (_.options.verticalSwiping === true) { 4819 _.swipeLeft = curLeft + swipeLength * positionOffset; 4820 } 4821 4822 if (_.options.fade === true || _.options.touchMove === false) { 4823 return false; 4824 } 4825 4826 if (_.animating === true) { 4827 _.swipeLeft = null; 4828 return false; 4829 } 4830 4831 _.setCSS(_.swipeLeft); 4832 4833 }; 4834 4835 Slick.prototype.swipeStart = function(event) { 4836 4837 var _ = this, 4838 touches; 4839 4840 _.interrupted = true; 4841 4842 if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) { 4843 _.touchObject = {}; 4844 return false; 4845 } 4846 4847 if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) { 4848 touches = event.originalEvent.touches[0]; 4849 } 4850 4851 _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX; 4852 _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY; 4853 4854 _.dragging = true; 4855 4856 }; 4857 4858 Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() { 4859 4860 var _ = this; 4861 4862 if (_.$slidesCache !== null) { 4863 4864 _.unload(); 4865 4866 _.$slideTrack.children(this.options.slide).detach(); 4867 4868 _.$slidesCache.appendTo(_.$slideTrack); 4869 4870 _.reinit(); 4871 4872 } 4873 4874 }; 4875 4876 Slick.prototype.unload = function() { 4877 4878 var _ = this; 4879 4880 $('.slick-cloned', _.$slider).remove(); 4881 4882 if (_.$dots) { 4883 _.$dots.remove(); 4884 } 4885 4886 if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) { 4887 _.$prevArrow.remove(); 4888 } 4889 4890 if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) { 4891 _.$nextArrow.remove(); 4892 } 4893 4894 _.$slides 4895 .removeClass('slick-slide slick-active slick-visible slick-current') 4896 .attr('aria-hidden', 'true') 4897 .css('width', ''); 4898 4899 }; 4900 4901 Slick.prototype.unslick = function(fromBreakpoint) { 4902 4903 var _ = this; 4904 _.$slider.trigger('unslick', [_, fromBreakpoint]); 4905 _.destroy(); 4906 4907 }; 4908 4909 Slick.prototype.updateArrows = function() { 4910 4911 var _ = this, 4912 centerOffset; 4913 4914 centerOffset = Math.floor(_.options.slidesToShow / 2); 4915 4916 if ( _.options.arrows === true && 4917 _.slideCount > _.options.slidesToShow && 4918 !_.options.infinite ) { 4919 4920 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 4921 _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 4922 4923 if (_.currentSlide === 0) { 4924 4925 _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 4926 _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 4927 4928 } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) { 4929 4930 _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 4931 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 4932 4933 } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) { 4934 4935 _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 4936 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 4937 4938 } 4939 4940 } 4941 4942 }; 4943 4944 Slick.prototype.updateDots = function() { 4945 4946 var _ = this; 4947 4948 if (_.$dots !== null) { 4949 4950 _.$dots 4951 .find('li') 4952 .removeClass('slick-active') 4953 .end(); 4954 4955 _.$dots 4956 .find('li') 4957 .eq(Math.floor(_.currentSlide / _.options.slidesToScroll)) 4958 .addClass('slick-active'); 4959 4960 } 4961 4962 }; 4963 4964 Slick.prototype.visibility = function() { 4965 4966 var _ = this; 4967 4968 if ( _.options.autoplay ) { 4969 4970 if ( document[_.hidden] ) { 4971 4972 _.interrupted = true; 4973 4974 } else { 4975 4976 _.interrupted = false; 4977 4978 } 4979 4980 } 4981 4982 }; 4983 4984 $.fn.slick = function() { 4985 var _ = this, 4986 opt = arguments[0], 4987 args = Array.prototype.slice.call(arguments, 1), 4988 l = _.length, 4989 i, 4990 ret; 4991 for (i = 0; i < l; i++) { 4992 if (typeof opt == 'object' || typeof opt == 'undefined') 4993 _[i].slick = new Slick(_[i], opt); 4994 else 4995 ret = _[i].slick[opt].apply(_[i].slick, args); 4996 if (typeof ret != 'undefined') return ret; 4997 } 4998 return _; 4999 }; 5000 5001})); 5002 5003 5004/***/ }), 5005
vendor: 767 bytes, lines 5006-5036
5006/***/ "../node_modules/webpack/buildin/global.js": 5007/*!*************************************************!*\ 5008 !*** ../node_modules/webpack/buildin/global.js ***! 5009 \*************************************************/ 5010/*! no static exports found */ 5011/***/ (function(module, exports) { 5012 5013var g; 5014 5015// This works in non-strict mode 5016g = (function() { 5017 return this; 5018})(); 5019 5020try { 5021 // This works if eval is allowed (see CSP) 5022 g = g || new Function("return this")(); 5023} catch (e) { 5024 // This works if the window reference is available 5025 if (typeof window === "object") g = window; 5026} 5027 5028// g can still be undefined, but nothing to do about it... 5029// We return undefined, instead of nothing here, so it's 5030// easier to handle this case. if(!global) { ...} 5031 5032module.exports = g; 5033 5034 5035/***/ }), 5036
5037/***/ "../src/assets/js/main.js": 5038/*!********************************!*\ 5039 !*** ../src/assets/js/main.js ***! 5040 \********************************/ 5041/*! no exports provided */ 5042/***/ (function(module, __webpack_exports__, __webpack_require__) { 5043 5044"use strict"; 5045__webpack_require__.r(__webpack_exports__); 5046/* harmony import */ var _modules_accordion__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modules/accordion */ "../src/assets/js/modules/accordion.js"); 5047/* harmony import */ var _modules_sliders__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/sliders */ "../src/assets/js/modules/sliders.js"); 5048/* harmony import */ var _modules_clickEvents__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/clickEvents */ "../src/assets/js/modules/clickEvents.js"); 5049/* harmony import */ var _modules_textAnimation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/textAnimation */ "../src/assets/js/modules/textAnimation.js"); 5050/* harmony import */ var _modules_textAnimation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_modules_textAnimation__WEBPACK_IMPORTED_MODULE_3__); 5051/* harmony import */ var _modules_fixedElements__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/fixedElements */ "../src/assets/js/modules/fixedElements.js"); 5052/* harmony import */ var _modules_fixedElements__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_modules_fixedElements__WEBPACK_IMPORTED_MODULE_4__); 5053/* harmony import */ var _modules_fadeUpAnimation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/fadeUpAnimation */ "../src/assets/js/modules/fadeUpAnimation.js"); 5054/* harmony import */ var _modules_fadeUpAnimation__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_modules_fadeUpAnimation__WEBPACK_IMPORTED_MODULE_5__); 5055/* harmony import */ var _modules_sectionLoop_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/sectionLoop.js */ "../src/assets/js/modules/sectionLoop.js"); 5056/* harmony import */ var _modules_popup_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/popup.js */ "../src/assets/js/modules/popup.js"); 5057/* harmony import */ var _modules_copy_functionality_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/copy-functionality.js */ "../src/assets/js/modules/copy-functionality.js"); 5058/* harmony import */ var _modules_secondaryMenus_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/secondaryMenus.js */ "../src/assets/js/modules/secondaryMenus.js"); 5059/* harmony import */ var _modules_videos__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/videos */ "../src/assets/js/modules/videos.js"); 5060/* harmony import */ var _modules_select__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/select */ "../src/assets/js/modules/select.js"); 5061/* harmony import */ var _modules_sliderQuestions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/sliderQuestions */ "../src/assets/js/modules/sliderQuestions.js"); 5062/* harmony import */ var _modules_sliderQuestions__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_modules_sliderQuestions__WEBPACK_IMPORTED_MODULE_12__); 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077/***/ }), 5078
5079/***/ "../src/assets/js/modules/accordion.js": 5080/*!*********************************************!*\ 5081 !*** ../src/assets/js/modules/accordion.js ***! 5082 \*********************************************/ 5083/*! exports provided: initAccordions */ 5084/***/ (function(module, __webpack_exports__, __webpack_require__) { 5085 5086"use strict"; 5087__webpack_require__.r(__webpack_exports__); 5088/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initAccordions", function() { return initAccordions; }); 5089var initAccordions = function initAccordions() { 5090 $('.js-accordion .accordion__head').on('click', function (e) { 5091 var $this = $(this); 5092 $this.toggleClass('is-active'); 5093 5094 if ($this.hasClass('is-active')) { 5095 $this.next().attr('aria-expanded', true); 5096 $this.next().attr('aria-hidden', false); 5097 } else { 5098 $this.next().attr('aria-expanded', false); 5099 $this.next().attr('aria-hidden', true); 5100 } 5101 5102 $this.parent().siblings().find('.accordion__head').removeClass('is-active'); 5103 $this.next().stop(true, true).slideToggle().parent().toggleClass('is-active').siblings().removeClass('is-active').find('.accordion__body').slideUp(); 5104 var $accordionSections = $('.accordion--primary .accordion__section'); 5105 5106 if ($accordionSections.hasClass('is-active')) { 5107 $this.closest('.js-accordion').addClass('is-small'); 5108 } else { 5109 $this.closest('.js-accordion').removeClass('is-small'); 5110 } 5111 5112 $accordionSections.each(function (index, section) {}); 5113 e.preventDefault(); 5114 }); 5115}; 5116initAccordions(); 5117/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5118 5119/***/ }), 5120
5121/***/ "../src/assets/js/modules/clickEvents.js": 5122/*!***********************************************!*\ 5123 !*** ../src/assets/js/modules/clickEvents.js ***! 5124 \***********************************************/ 5125/*! no exports provided */ 5126/***/ (function(module, __webpack_exports__, __webpack_require__) { 5127 5128"use strict"; 5129__webpack_require__.r(__webpack_exports__); 5130/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _utils_globals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/globals */ "../src/assets/js/utils/globals.js"); 5131 5132$('.js-link').on('mouseover focus', function (e) { 5133 e.preventDefault(); 5134 var $this = $(this); 5135 var $target = $this.data('target'); 5136 var $menus = $this.closest('.menu').find('.js-menu-content'); 5137 $menus.removeClass('is-active'); 5138 $($target).addClass('is-active'); 5139}); 5140$('.js-link').on('click', function (e) { 5141 e.preventDefault(); 5142 var $this = $(this); 5143 var $parent = $this.parent(); 5144 var $dropdown = $parent.find('.menu__dropdown'); 5145 5146 if (_utils_globals__WEBPACK_IMPORTED_MODULE_0__["$window"].width() < 768) { 5147 if ($parent.hasClass('has-dropdown')) { 5148 if (!$parent.hasClass('is-active')) { 5149 $('.menu__dropdown').slideUp().parent().removeClass('is-active'); 5150 $parent.addClass('is-active'); 5151 $dropdown.slideDown(); 5152 } else { 5153 $parent.removeClass('is-active'); 5154 $dropdown.slideUp(); 5155 } 5156 } 5157 } 5158}); 5159_utils_globals__WEBPACK_IMPORTED_MODULE_0__["$window"].on('load resize', function () { 5160 if (_utils_globals__WEBPACK_IMPORTED_MODULE_0__["$window"].width() > 767) { 5161 $('.menu__dropdown').removeAttr('style').parent().removeClass('is-active'); 5162 } 5163}); 5164$('.slider__prev').on('click', function (e) { 5165 e.preventDefault(); 5166 var slider = $(this).closest('.slider'); 5167 var prev = slider.find('.slick-prev'); 5168 prev.trigger('click'); 5169}); 5170$('.slider__next').on('click', function (e) { 5171 e.preventDefault(); 5172 var slider = $(this).closest('.slider'); 5173 var next = slider.find('.slick-next'); 5174 next.trigger('click'); 5175}); 5176$('.slider__prev-article').on('click', function (e) { 5177 e.preventDefault(); 5178 $('.slider--articles .slick-prev').trigger('click'); 5179}); 5180$('.slider__next-article').on('click', function (e) { 5181 e.preventDefault(); 5182 $('.slider--articles .slick-next').trigger('click'); 5183}); 5184$('.js-dropdown-trigger').on('click', function (e) { 5185 e.preventDefault(); 5186 var $this = $(this); 5187 $this.parent().toggleClass('is-active'); 5188 5189 if ($this.parent().hasClass('is-active')) { 5190 $this.next().attr('aria-expanded', true); 5191 $this.next().attr('aria-hidden', false); 5192 } else { 5193 $this.next().attr('aria-expanded', false); 5194 $this.next().attr('aria-hidden', true); 5195 } 5196 5197 $this.parent().siblings().removeClass('is-active'); 5198 $this.next().stop(true, true).slideToggle().parent().siblings().find('.dropdown').slideUp(); 5199}); 5200$('.link-skip').on('click', function (e) { 5201 e.preventDefault(); 5202 var $this = $(this); 5203 var href = $this.attr('href'); 5204 $('html, body').animate({ 5205 scrollTop: $(href).offset().top 5206 }, 300); 5207 setTimeout(function () { 5208 $(href).find('a')[0].focus(); 5209 }, 100); 5210 $(href).find('.slick-prev').focus(); 5211}); 5212$('.link-skip-to-menu').on('click', function (e) { 5213 e.preventDefault(); 5214 var $this = $(this); 5215 $('.header__menu .js-open-link').focus(); 5216}); 5217$('.js-field').on('focus', function (e) { 5218 e.preventDefault(); 5219 var $this = $(this); 5220 5221 if (e.target == $this[0]) { 5222 $this.closest('.search-primary').addClass('is-active'); 5223 $('.section-find .section__overlay').addClass('is-visible'); 5224 } 5225}); 5226$(window).on('click', function (e) { 5227 if (e.target == $('.section__overlay')[0]) { 5228 $('.js-field').closest('.search-primary').removeClass('is-active'); 5229 $('.section-find .section__overlay').removeClass('is-visible'); 5230 } 5231 5232 if ($('.search-primary').hasClass('is-active')) { 5233 $('.search__scroll').attr('aria-hidden', false); 5234 } else { 5235 $('.search__scroll').attr('aria-hidden', true); 5236 } 5237}); 5238 5239var findInsiders = function findInsiders(elem) { 5240 var tabbable = elem.find('select, input, textarea, button, a').filter(':visible'); 5241 var firstTabbable = tabbable.first(); 5242 var lastTabbable = tabbable.last(); 5243 firstTabbable.focus(); 5244 lastTabbable.on('keydown', function (e) { 5245 if (e.which === 9 && !e.shiftKey) { 5246 e.preventDefault(); 5247 firstTabbable.focus(); 5248 $('.js-open-link')[0].focus(); 5249 } 5250 }); 5251 firstTabbable.on('keydown', function (e) { 5252 if (e.which === 9 && e.shiftKey) { 5253 e.preventDefault(); 5254 lastTabbable.focus(); 5255 } 5256 }); 5257 elem.on('keyup', function (e) { 5258 if (e.keyCode === 27) { 5259 closeDialogs(); 5260 } 5261 5262 ; 5263 }); 5264}; 5265 5266var toggleDialog = function toggleDialog(openLink) { 5267 var $thisLink = $(openLink); 5268 var $modals = $('.js-modal'); 5269 var $targetModal = $($thisLink.data('target')); 5270 var $links = $('.js-open-link'); 5271 var $menus = $('.js-menu').find('.js-menu-content'); 5272 var $body = $('body'); 5273 5274 if (!$thisLink.hasClass('is-active')) { 5275 $links.not($thisLink).addClass('is-disabled').removeClass('is-active'); 5276 $modals.removeClass('is-active'); 5277 $thisLink.removeClass('is-disabled').addClass('is-active'); 5278 $targetModal.addClass('is-active'); 5279 findInsiders($targetModal); 5280 5281 if ($thisLink.attr('data-target') === '#menu') { 5282 $menus.first().addClass('is-active'); 5283 } 5284 5285 if ($thisLink.attr('data-target') === '#search-fixed') { 5286 $menus.removeClass('is-active'); 5287 } 5288 5289 $body.addClass('is-menu-open'); 5290 } else { 5291 $thisLink.removeClass('is-active'); 5292 $targetModal.removeClass('is-active'); 5293 $links.removeClass('is-disabled').removeClass('is-active'); 5294 $body.removeClass('is-menu-open'); 5295 $menus.removeClass('is-active'); 5296 } 5297}; 5298 5299var closeDialogs = function closeDialogs() { 5300 $('body').removeClass('is-menu-open'); 5301 $('.js-modal').removeClass('is-active'); 5302 $('.js-open-link').removeClass('is-active').removeClass('is-disabled'); 5303 $('.js-menu').find('.js-menu-content').removeClass('is-active'); 5304}; 5305 5306$('.js-open-link').on('click', function (e) { 5307 e.preventDefault(); 5308 toggleDialog($(this)); 5309}); 5310_utils_globals__WEBPACK_IMPORTED_MODULE_0__["$window"].on('resize', function () { 5311 closeDialogs(); 5312}); 5313/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5314 5315/***/ }), 5316
5317/***/ "../src/assets/js/modules/copy-functionality.js": 5318/*!******************************************************!*\ 5319 !*** ../src/assets/js/modules/copy-functionality.js ***! 5320 \******************************************************/ 5321/*! no exports provided */ 5322/***/ (function(module, __webpack_exports__, __webpack_require__) { 5323 5324"use strict"; 5325__webpack_require__.r(__webpack_exports__); 5326/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _utils_globals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/globals */ "../src/assets/js/utils/globals.js"); 5327 5328$('.js-btn-copy').on('click', function (e) { 5329 e.preventDefault(); 5330 var $this = $(this); 5331 var link = $this.attr('href'); 5332 var $temp = $("<input>"); 5333 _utils_globals__WEBPACK_IMPORTED_MODULE_0__["$body"].append($temp); 5334 $temp.val(link).select(); 5335 document.execCommand("copy"); 5336 $temp.remove(); 5337}); 5338/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5339 5340/***/ }), 5341
5342/***/ "../src/assets/js/modules/fadeUpAnimation.js": 5343/*!***************************************************!*\ 5344 !*** ../src/assets/js/modules/fadeUpAnimation.js ***! 5345 \***************************************************/ 5346/*! no static exports found */ 5347/***/ (function(module, exports, __webpack_require__) { 5348 5349/* WEBPACK VAR INJECTION */(function($) {var $animateElement = $('.animate-element'); 5350 5351var getOffset = function getOffset(element) { 5352 var horizontal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 5353 if (!element) return 0; 5354 return getOffset(element.offsetParent, horizontal) + (horizontal ? element.offsetLeft : element.offsetTop); 5355}; 5356 5357if ($animateElement.length) { 5358 $(window).on('load scroll', function (e) { 5359 $animateElement.each(function (index, el) { 5360 var topOfPage = $(window).scrollTop(); 5361 var headerHeight = $('.js-header').outerHeight(); 5362 var windowHeight = $(window).outerHeight(); 5363 var scrollTo = topOfPage + headerHeight + windowHeight; 5364 var elOfsetTop = getOffset(el); 5365 5366 if ($('.header')) { 5367 if (scrollTo >= elOfsetTop + 100) { 5368 $(this).addClass('is-animated'); 5369 } else { 5370 $(this).removeClass('is-animated'); 5371 } 5372 } 5373 }); 5374 }); 5375} 5376/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5377 5378/***/ }), 5379
5380/***/ "../src/assets/js/modules/fixedElements.js": 5381/*!*************************************************!*\ 5382 !*** ../src/assets/js/modules/fixedElements.js ***! 5383 \*************************************************/ 5384/*! no static exports found */ 5385/***/ (function(module, exports, __webpack_require__) { 5386 5387/* WEBPACK VAR INJECTION */(function($) {$(window).on('scroll', function (e) { 5388 e.preventDefault(); 5389 var topOfPage = $(window).scrollTop(); 5390 var $header = $('.header'); 5391 var $headerAlt = $('.header-alt'); 5392 var $hero = $('.hero'); 5393 var $heroAlt = $('.hero-alt'); 5394 var headerHeight = $header.outerHeight(); 5395 var headerAltHeight = $headerAlt.outerHeight(); 5396 var heroHeight = $hero.outerHeight(); 5397 var heroAltHeight = $heroAlt.outerHeight(); 5398 5399 if (topOfPage >= headerHeight + 200) { 5400 $header.addClass('is-fixed'); 5401 } else { 5402 $header.removeClass('is-fixed'); 5403 } 5404 5405 if (topOfPage >= heroHeight) { 5406 $header.addClass('is-visible'); 5407 } else { 5408 $header.removeClass('is-visible'); 5409 } 5410 5411 if (topOfPage >= headerAltHeight + 200) { 5412 $headerAlt.addClass('is-fixed'); 5413 } else { 5414 $headerAlt.removeClass('is-fixed'); 5415 } 5416 5417 if (topOfPage >= heroAltHeight) { 5418 $headerAlt.addClass('is-visible'); 5419 } else { 5420 $headerAlt.removeClass('is-visible'); 5421 } 5422}); 5423var $fixedElement = $('.js-fixed-element'); 5424 5425if ($fixedElement.length > 0) { 5426 var $fixedElementOffsetTop = $fixedElement.offset().top; 5427 $(window).on('scroll', function (e) { 5428 if ($fixedElement.length) { 5429 e.preventDefault(); 5430 var headerHeight = $('.header').outerHeight(); 5431 var topOfPage = $(window).scrollTop(); 5432 var jsSection = $('.js-section'); 5433 var jsSectionHeight = jsSection.outerHeight(); 5434 var jsSectionOffsetop = jsSection.offset().top; 5435 var fixedElementHeight = $fixedElement.outerHeight(); 5436 var paddingBottom = parseInt(jsSection.css('padding-bottom')); 5437 var paddingTop = parseInt(jsSection.css('padding-top')); 5438 5439 if (topOfPage + headerHeight + paddingTop >= $fixedElementOffsetTop) { 5440 $fixedElement.addClass('is-fixed'); 5441 $fixedElement.css({ 5442 top: headerHeight + paddingTop + 30 5443 }); 5444 $fixedElement.css({ 5445 bottom: 'auto' 5446 }); 5447 } else { 5448 $fixedElement.removeClass('is-fixed'); 5449 } 5450 5451 if (topOfPage + headerHeight + paddingTop + 30 >= jsSectionHeight + jsSectionOffsetop - fixedElementHeight - paddingBottom) { 5452 $fixedElement.addClass('is-absolute'); 5453 $fixedElement.removeClass('is-fixed'); 5454 $fixedElement.css({ 5455 top: 'auto' 5456 }); 5457 $fixedElement.css({ 5458 bottom: 30 5459 }); 5460 } else { 5461 $fixedElement.removeClass('is-absolute'); 5462 } 5463 } 5464 }); 5465} 5466/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5467 5468/***/ }), 5469
5470/***/ "../src/assets/js/modules/popup.js": 5471/*!*****************************************!*\ 5472 !*** ../src/assets/js/modules/popup.js ***! 5473 \*****************************************/ 5474/*! no exports provided */ 5475/***/ (function(module, __webpack_exports__, __webpack_require__) { 5476 5477"use strict"; 5478__webpack_require__.r(__webpack_exports__); 5479/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _utils_globals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/globals */ "../src/assets/js/utils/globals.js"); 5480/* harmony import */ var _accordion_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./accordion.js */ "../src/assets/js/modules/accordion.js"); 5481/* harmony import */ var magnific_popup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! magnific-popup */ "../node_modules/magnific-popup/dist/jquery.magnific-popup.js"); 5482/* harmony import */ var magnific_popup__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(magnific_popup__WEBPACK_IMPORTED_MODULE_2__); 5483 5484 5485 5486$('.js-popup-programs-trigger').magnificPopup({ 5487 type: 'ajax', 5488 mainClass: 'mfp-popup-programs', 5489 callbacks: { 5490 beforeOpen: function beforeOpen() { 5491 _utils_globals__WEBPACK_IMPORTED_MODULE_0__["$body"].css('overflow', 'hidden'); 5492 }, 5493 open: function open() { 5494 $('html').css('margin-right', 0); 5495 }, 5496 parseAjax: function parseAjax(mfpResponse) {}, 5497 ajaxContentAdded: function ajaxContentAdded() { 5498 Object(_accordion_js__WEBPACK_IMPORTED_MODULE_1__["initAccordions"])(); 5499 }, 5500 beforeClose: function beforeClose() { 5501 _utils_globals__WEBPACK_IMPORTED_MODULE_0__["$body"].css('overflow', 'auto'); 5502 } 5503 } 5504}); 5505$('.js-popup-publications-trigger').magnificPopup({ 5506 type: 'ajax', 5507 mainClass: 'mfp-popup-publications', 5508 closeMarkup: '', 5509 removalDelay: 220, 5510 callbacks: { 5511 beforeOpen: function beforeOpen() { 5512 _utils_globals__WEBPACK_IMPORTED_MODULE_0__["$body"].css('overflow', 'hidden'); 5513 }, 5514 open: function open() { 5515 $('html').css('margin-right', 0); 5516 }, 5517 parseAjax: function parseAjax(mfpResponse) {}, 5518 ajaxContentAdded: function ajaxContentAdded() { 5519 Object(_accordion_js__WEBPACK_IMPORTED_MODULE_1__["initAccordions"])(); 5520 }, 5521 beforeClose: function beforeClose() { 5522 _utils_globals__WEBPACK_IMPORTED_MODULE_0__["$body"].css('overflow', 'auto'); 5523 } 5524 } 5525}); 5526/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5527 5528/***/ }), 5529
5530/***/ "../src/assets/js/modules/secondaryMenus.js": 5531/*!**************************************************!*\ 5532 !*** ../src/assets/js/modules/secondaryMenus.js ***! 5533 \**************************************************/ 5534/*! no exports provided */ 5535/***/ (function(module, __webpack_exports__, __webpack_require__) { 5536 5537"use strict"; 5538__webpack_require__.r(__webpack_exports__); 5539/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _utils_globals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/globals */ "../src/assets/js/utils/globals.js"); 5540 5541var activeClass = 'is-active'; 5542$('.js-section-primary').each(function () { 5543 var $this = $(this); 5544 var $sectionInner = $this.find('.section__inner'); 5545 var $sectionBody = $sectionInner.find('.section__body'); 5546 var $sidebar = $sectionInner.find('.sidebar'); 5547 var $widgetLinks = $sidebar.find('.widget--links'); 5548 var $sidebarContentTrigger = $sidebar.find('.sidebar__content-trigger'); 5549 var mobileDevice = window.matchMedia('(max-width: 812px)'); 5550 5551 function setMenuPosition(e) { 5552 if (e.matches) { 5553 $sidebar.prependTo($sectionInner); 5554 $widgetLinks.clone().addClass('is-appended').appendTo($sectionInner); 5555 $this.addClass('widget-links-appended'); 5556 } else { 5557 $sectionBody.prependTo($sectionInner); 5558 $('.section__inner > .widget--links').remove(); 5559 $sidebar.removeClass(activeClass).find('.sidebar__inner').removeAttr('style'); 5560 $this.removeClass('widget-links-appended'); 5561 } 5562 } 5563 5564 setMenuPosition(mobileDevice); 5565 mobileDevice.addEventListener('change', setMenuPosition); 5566 $sidebarContentTrigger.on('click', function (e) { 5567 e.preventDefault(); 5568 $sidebar.toggleClass(activeClass).find('.sidebar__inner').slideToggle(); 5569 }); 5570}); 5571/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5572 5573/***/ }), 5574
5575/***/ "../src/assets/js/modules/sectionLoop.js": 5576/*!***********************************************!*\ 5577 !*** ../src/assets/js/modules/sectionLoop.js ***! 5578 \***********************************************/ 5579/*! no exports provided */ 5580/***/ (function(module, __webpack_exports__, __webpack_require__) { 5581 5582"use strict"; 5583__webpack_require__.r(__webpack_exports__); 5584/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _utils_globals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/globals */ "../src/assets/js/utils/globals.js"); 5585 5586var activeClass = 'is-active'; 5587$('.js-section-loop').each(function () { 5588 var $this = $(this); 5589 var $sectionImageContainer = $this.find('.js-image-container'); 5590 var $sectionTextContainer = $this.find('.js-text-container'); 5591 var $loopItems = $this.data('loop-items'); 5592 var loopItemsArray = $loopItems.split(','); 5593 var i = 0; 5594 $(loopItemsArray).each(function (index, item) { 5595 $sectionTextContainer.append('<span>' + item + '</span>'); 5596 }); 5597 $sectionTextContainer.find('span:first-child').addClass(activeClass).siblings().removeClass(activeClass); 5598 5599 function getMaxChildWidth(el) { 5600 var max = 0; 5601 var spanWidth; 5602 $(el).children().each(function () { 5603 spanWidth = parseInt($(this).width()); 5604 5605 if (spanWidth > max) { 5606 max = spanWidth; 5607 el.css({ 5608 minWidth: max 5609 }); 5610 } 5611 }); 5612 return max; 5613 } 5614 5615 _utils_globals__WEBPACK_IMPORTED_MODULE_0__["$window"].on('load resize', function () { 5616 getMaxChildWidth($sectionTextContainer); 5617 }); 5618 var intervalId = setInterval(function () { 5619 $sectionImageContainer.fadeOut(1500, function () { 5620 $(this).css({ 5621 backgroundImage: 'url(assets/images/temp/section-image-' + loopItemsArray[i] + '@2x.jpg)' 5622 }).fadeIn(1000); 5623 }); 5624 5625 if (i == loopItemsArray.length - 1) { 5626 i = 0; 5627 } else { 5628 i++; 5629 } 5630 5631 setTimeout(function () { 5632 $sectionTextContainer.find('span:nth-child(' + (i + 1) + ')').addClass(activeClass).siblings().removeClass(activeClass); 5633 }, 3500); 5634 }, 5000); 5635}); 5636/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5637 5638/***/ }), 5639
5640/***/ "../src/assets/js/modules/select.js": 5641/*!******************************************!*\ 5642 !*** ../src/assets/js/modules/select.js ***! 5643 \******************************************/ 5644/*! no exports provided */ 5645/***/ (function(module, __webpack_exports__, __webpack_require__) { 5646 5647"use strict"; 5648__webpack_require__.r(__webpack_exports__); 5649/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var jquery_nice_select__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery-nice-select */ "../node_modules/jquery-nice-select/js/jquery.nice-select.min.js"); 5650/* harmony import */ var jquery_nice_select__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery_nice_select__WEBPACK_IMPORTED_MODULE_0__); 5651 5652$(document).ready(function () { 5653 $('.select').niceSelect(); 5654}); 5655/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5656 5657/***/ }), 5658
5659/***/ "../src/assets/js/modules/sliderQuestions.js": 5660/*!***************************************************!*\ 5661 !*** ../src/assets/js/modules/sliderQuestions.js ***! 5662 \***************************************************/ 5663/*! no static exports found */ 5664/***/ (function(module, exports, __webpack_require__) { 5665 5666/* WEBPACK VAR INJECTION */(function($) {function initSliderQuestions() { 5667 var $slider = $('.js-slider-questions'); 5668 var $slick = $slider.find('.slider__slides'); 5669 var $checkboxes = $slider.find('.question__checkboxes').find('input[type="checkbox"]'); 5670 var $resultSets = $slider.find('.question__results'); 5671 var $allResults = $resultSets.children("[data-match]"); 5672 var selectedTags = []; 5673 filterResults(true); 5674 $slider.on('click', '.slick-slide:not(.slick-active) .slider__slide', function (e) { 5675 e.preventDefault(); 5676 var $slide = $(this); 5677 var slideIndex = $slide.closest('.slick-slide').attr('data-slick-index'); 5678 $slick.slick('slickGoTo', slideIndex); 5679 }); 5680 $slider.on('click', '.slick-slide.slick-active input[type="checkbox"]', function (e) { 5681 var $checkbox = $(this); 5682 var checkboxTag = $checkbox.attr('data-tag'); 5683 var $slide = $checkbox.closest('.slick-slide'); 5684 5685 if ($checkbox.get(0).checked) { 5686 selectedTags.push(checkboxTag); 5687 } else { 5688 var index = selectedTags.indexOf(checkboxTag); 5689 5690 if (index > -1) { 5691 selectedTags.splice(index, 1); 5692 } 5693 } 5694 5695 filterResults(false, selectedTags); 5696 5697 if ($checkbox.closest('.checkbox--text').length) { 5698 $checkbox.closest('.checkbox--text').find('input[type="text"]').focus(); 5699 } 5700 }); 5701 $slider.one('click', '.slick-slide.slick-active input[type="checkbox"]', function (e) { 5702 var $checkbox = $(this); 5703 var $slide = $checkbox.closest('.slick-slide'); 5704 5705 if ($slick.find('.slick-slide').eq(0).hasClass('slick-active') && !$checkbox.closest('.checkbox--text').length && !$checkbox.closest('.checkbox--select').length) { 5706 var $nextSlide = $slide.closest('.slider').find('.slick-next'); 5707 setTimeout(function () { 5708 $nextSlide.trigger('click'); 5709 }, 150); 5710 } 5711 }); 5712 $slider.on('change', '.slick-slide.slick-active select', function (e) { 5713 var $select = $(this); 5714 var prefix = $select.attr('data-tag'); 5715 var $checkbox = $select.closest('.checkbox--select').find('input[type="checkbox"]'); 5716 5717 if ($checkbox.get(0).checked === false) { 5718 $checkbox.click(); 5719 } 5720 5721 selectedTags = selectedTags.filter(function (item) { 5722 return item.indexOf(prefix) !== 0; 5723 }); 5724 selectedTags.push(prefix + '-' + $select.val()); 5725 filterResults(false, selectedTags); 5726 }); 5727 5728 function filterResults(initial) { 5729 var tagsArr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; 5730 $resultSets.each(function () { 5731 var resultCount = 0; 5732 var $set = $(this); 5733 var $results = $set.children($allResults); 5734 var $initialResults = $results.filter("[data-match*=\"initial\"]"); 5735 var $defaultResults = $results.filter("[data-match*=\"default\"]"); 5736 var $alwaysResults = $results.filter("[data-match*=\"always\"]"); 5737 $alwaysResults.prependTo($set); 5738 $initialResults.prependTo($set); 5739 5740 if (tagsArr.length) { 5741 $results.each(function () { 5742 var $this = $(this); 5743 var thisArr = $this.attr('data-match').split(' '); 5744 var matchArr = tagsArr.filter(function (el) { 5745 return thisArr.includes(el); 5746 }); 5747 var matches = matchArr.length; 5748 if (matches) resultCount += 1; 5749 matches ? $this.attr('data-show', true).attr('data-matches', matches) : $this.attr('data-show', false).attr('data-matches', 0); 5750 var priority = matchArr.find(function (element) { 5751 return element.startsWith('q1-career-options') || element.startsWith('q1-school-options'); 5752 }) ? true : false; 5753 priority ? $this.attr('data-priority', true) : $this.attr('data-priority', false); 5754 }); 5755 $results.sort(function (a, b) { 5756 var aMatches = $(a).attr('data-matches'); 5757 var bMatches = $(b).attr('data-matches'); 5758 return aMatches < bMatches ? 1 : aMatches > bMatches ? -1 : 0; 5759 }); 5760 $results.sort(function (a, b) { 5761 var aPriority = $(a).attr('data-priority'); 5762 var bPriority = $(b).attr('data-priority'); 5763 return aPriority < bPriority ? 1 : aPriority > bPriority ? -1 : 0; 5764 }); 5765 $set.empty().append($results); 5766 } 5767 5768 if (resultCount === 0) { 5769 $results.attr('data-matches', 0); 5770 $results.not($defaultResults).attr('data-show', false); 5771 $defaultResults.prependTo($set); 5772 $defaultResults.attr('data-show', true); 5773 } 5774 5775 $alwaysResults.attr('data-show', true); 5776 5777 if (initial === true) { 5778 $initialResults.attr('data-show', true); 5779 } 5780 }); 5781 $allResults.filter('[data-show="true"]').addClass('show'); 5782 $allResults.filter('[data-show="false"]').removeClass('show'); 5783 } 5784 5785 ; 5786 $('.js-question-email').on('click', function () { 5787 $('.question-email').addClass('is-active'); 5788 }); 5789} 5790 5791initSliderQuestions(); 5792/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5793 5794/***/ }), 5795
5796/***/ "../src/assets/js/modules/sliders.js": 5797/*!*******************************************!*\ 5798 !*** ../src/assets/js/modules/sliders.js ***! 5799 \*******************************************/ 5800/*! no exports provided */ 5801/***/ (function(module, __webpack_exports__, __webpack_require__) { 5802 5803"use strict"; 5804__webpack_require__.r(__webpack_exports__); 5805/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _utils_globals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/globals */ "../src/assets/js/utils/globals.js"); 5806/* harmony import */ var slick_carousel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! slick-carousel */ "../node_modules/slick-carousel/slick/slick.js"); 5807/* harmony import */ var slick_carousel__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(slick_carousel__WEBPACK_IMPORTED_MODULE_1__); 5808 5809 5810$(window).on('load', function (e) { 5811 $('.js-slider-tiles .slider__slides').slick({ 5812 slidesToShow: 1, 5813 slidesToScroll: 1, 5814 dots: false, 5815 arrows: true, 5816 adaptiveHeight: true 5817 }); 5818 $('.js-slider-secondary .slider__slides').slick({ 5819 slidesToShow: 1, 5820 slidesToScroll: 1, 5821 dots: false, 5822 arrows: false, 5823 autoplay: true, 5824 fade: true, 5825 cssEase: 'linear' 5826 }); 5827 $('.js-slider-questions .slider__slides').slick({ 5828 slidesToShow: 1, 5829 slidesToScroll: 1, 5830 dots: false, 5831 arrows: true, 5832 infinite: false 5833 }); 5834 $('.js-slider-gallery .slider__slides').slick({ 5835 slidesToShow: 1, 5836 slidesToScroll: 1, 5837 dots: false, 5838 arrows: true 5839 }); 5840}); 5841$('.js-slider-articles').each(function () { 5842 var $this = $(this); 5843 var $sliderSlides = $this.find('.slider__slides'); 5844 var options = { 5845 slidesToShow: 3, 5846 slidesToScroll: 3, 5847 dots: false, 5848 arrows: true, 5849 responsive: [{ 5850 breakpoint: 1200, 5851 settings: { 5852 slidesToShow: 2, 5853 slidesToScroll: 2 5854 } 5855 }, { 5856 breakpoint: 768, 5857 settings: "unslick" 5858 }] 5859 }; 5860 _utils_globals__WEBPACK_IMPORTED_MODULE_0__["$window"].on('load resize orientationChange', function () { 5861 if ($sliderSlides.length && !$sliderSlides.hasClass("slick-initialized")) { 5862 $sliderSlides.slick(options); 5863 } 5864 }); 5865}); 5866/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5867 5868/***/ }), 5869
5870/***/ "../src/assets/js/modules/textAnimation.js": 5871/*!*************************************************!*\ 5872 !*** ../src/assets/js/modules/textAnimation.js ***! 5873 \*************************************************/ 5874/*! no static exports found */ 5875/***/ (function(module, exports, __webpack_require__) { 5876 5877/* WEBPACK VAR INJECTION */(function($) {function splitWordIntoCharacters() { 5878 var target = document.querySelector('.text-animate'); 5879 5880 if (target) { 5881 var results = Splitting({ 5882 target: target, 5883 by: 'chars', 5884 whitespace: true 5885 }); 5886 var spanLength = document.querySelectorAll('.text-animate .char'); 5887 5888 if (spanLength.length) { 5889 var stopFunction = function stopFunction() { 5890 clearInterval(timer); 5891 timer = null; 5892 }; 5893 5894 var addClass = function addClass() { 5895 var span = document.querySelectorAll('.text-animate .char')[char]; 5896 span.classList.add('fade'); 5897 char++; 5898 5899 if (char == spanLength.length) { 5900 stopFunction(); 5901 return; 5902 } 5903 }; 5904 5905 var char = 0; 5906 var timer = setInterval(addClass, 300); 5907 } 5908 } 5909} 5910 5911$(window).on('scroll', function (e) { 5912 var $animatedText = $('.text-animate'); 5913 5914 if ($animatedText.length) { 5915 var $elementOffset = $animatedText.offset().top; 5916 var $topOfPage = $(window).scrollTop(); 5917 var heightOfWindow = $(window).outerHeight(); 5918 5919 if ($topOfPage + heightOfWindow >= $elementOffset) { 5920 splitWordIntoCharacters(); 5921 } 5922 } 5923}); 5924/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5925 5926/***/ }), 5927
5928/***/ "../src/assets/js/modules/videos.js": 5929/*!******************************************!*\ 5930 !*** ../src/assets/js/modules/videos.js ***! 5931 \******************************************/ 5932/*! no exports provided */ 5933/***/ (function(module, __webpack_exports__, __webpack_require__) { 5934 5935"use strict"; 5936__webpack_require__.r(__webpack_exports__); 5937/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _utils_globals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/globals */ "../src/assets/js/utils/globals.js"); 5938/* harmony import */ var plyr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! plyr */ "../node_modules/plyr/dist/plyr.min.js"); 5939/* harmony import */ var plyr__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(plyr__WEBPACK_IMPORTED_MODULE_1__); 5940 5941 5942 5943function format(s) { 5944 var m = Math.floor(s / 60); 5945 m = m >= 10 ? m : "0" + m; 5946 s = Math.floor(s % 60); 5947 s = s >= 10 ? s : "0" + s; 5948 return m + ":" + s; 5949} 5950 5951$('.js-video').each(function (index, video) { 5952 video.addEventListener('loadedmetadata', function () { 5953 var duration = video.duration; 5954 var parentEl = video.parentElement; 5955 var durationText = parentEl.querySelector('.video__time'); 5956 durationText.innerHTML = format(duration); 5957 }); 5958}); 5959$('.js-play').on('click', function (e) { 5960 e.preventDefault(); 5961 var $videoContainer = $(this).closest('.video'); 5962 $videoContainer.toggleClass('is-playing'); 5963 5964 if ($videoContainer.hasClass('is-playing')) { 5965 $videoContainer.find('.js-video').trigger('play'); 5966 } else { 5967 $videoContainer.find('.js-video').trigger('pause'); 5968 $videoContainer.addClass('is-paused'); 5969 } 5970}); 5971var players = plyr__WEBPACK_IMPORTED_MODULE_1___default.a.setup('.js-plyr', { 5972 controls: ['play', 'current-time'] 5973}); 5974$('.plyr').on('click', function () { 5975 var $videoContainer = $(this).closest('.video'); 5976 $videoContainer.addClass('is-paused'); 5977}); 5978/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5979 5980/***/ }), 5981
5982/***/ "../src/assets/js/utils/globals.js": 5983/*!*****************************************!*\ 5984 !*** ../src/assets/js/utils/globals.js ***! 5985 \*****************************************/ 5986/*! exports provided: $window, $document, $body */ 5987/***/ (function(module, __webpack_exports__, __webpack_require__) { 5988 5989"use strict"; 5990__webpack_require__.r(__webpack_exports__); 5991/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$window", function() { return $window; }); 5992/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$document", function() { return $document; }); 5993/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$body", function() { return $body; }); 5994var $window = $(window); 5995var $document = $(document); 5996var $body = $('body'); 5997/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "jquery"))) 5998 5999/***/ })
5999, 6000 6001/***/ "jquery": 6002/*!*************************!*\ 6003 !*** external "jQuery" ***! 6004 \*************************/ 6005/*! no static exports found */ 6006/***/ (function(module, exports) { 6007 6008module.exports = jQuery; 6009 6010/***/ }) 6011 6012/******/ });
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.