1/*! 2 * Name: lib.js 3 * Since: 2021-12-1 4 * Update: - 5 * Version: 2.0.0 6 * Description: ããã¸ã§ã¯ãã§å ±éãã¦ä½¿ç¨ããJavaScriptãã©ã°ã¤ã³ã»ã©ã¤ãã©ãª 7 */ 8 9/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ 10!(function (e, t) { 11 'use strict'; 12 'object' == typeof module && 'object' == typeof module.exports 13 ? (module.exports = e.document 14 ? t(e, !0) 15 : function (e) { 16 if (!e.document) 17 throw new Error( 18 'jQuery requires a window with a document' 19 ); 20 return t(e); 21 }) 22 : t(e); 23})('undefined' != typeof window ? window : this, function (C, e) { 24 'use strict'; 25 var t = [], 26 r = Object.getPrototypeOf, 27 s = t.slice, 28 g = t.flat 29 ? function (e) { 30 return t.flat.call(e); 31 } 32 : function (e) { 33 return t.concat.apply([], e); 34 }, 35 u = t.push, 36 i = t.indexOf, 37 n = {}, 38 o = n.toString, 39 v = n.hasOwnProperty, 40 a = v.toString, 41 l = a.call(Object), 42 y = {}, 43 m = function (e) { 44 return ( 45 'function' == typeof e && 46 'number' != typeof e.nodeType && 47 'function' != typeof e.item 48 ); 49 }, 50 x = function (e) { 51 return null != e && e === e.window; 52 }, 53 E = C.document, 54 c = { type: !0, src: !0, nonce: !0, noModule: !0 }; 55 function b(e, t, n) { 56 var r, 57 i, 58 o = (n = n || E).createElement('script'); 59 if (((o.text = e), t)) 60 for (r in c) 61 (i = t[r] || (t.getAttribute && t.getAttribute(r))) && 62 o.setAttribute(r, i); 63 n.head.appendChild(o).parentNode.removeChild(o); 64 } 65 function w(e) { 66 return null == e 67 ? e + '' 68 : 'object' == typeof e || 'function' == typeof e 69 ? n[o.call(e)] || 'object' 70 : typeof e; 71 } 72 var f = '3.6.0', 73 S = function (e, t) { 74 return new S.fn.init(e, t); 75 }; 76 function p(e) { 77 var t = !!e && 'length' in e && e.length, 78 n = w(e); 79 return ( 80 !m(e) && 81 !x(e) && 82 ('array' === n || 83 0 === t || 84 ('number' == typeof t && 0 < t && t - 1 in e)) 85 ); 86 } 87 (S.fn = S.prototype = 88 { 89 jquery: f, 90 constructor: S, 91 length: 0, 92 toArray: function () { 93 return s.call(this); 94 }, 95 get: function (e) { 96 return null == e 97 ? s.call(this) 98 : e < 0 99 ? this[e + this.length] 100 : this[e]; 101 }, 102 pushStack: function (e) { 103 var t = S.merge(this.constructor(), e); 104 return (t.prevObject = this), t; 105 }, 106 each: function (e) { 107 return S.each(this, e); 108 }, 109 map: function (n) { 110 return this.pushStack( 111 S.map(this, function (e, t) { 112 return n.call(e, t, e); 113 }) 114 ); 115 }, 116 slice: function () { 117 return this.pushStack(s.apply(this, arguments)); 118 }, 119 first: function () { 120 return this.eq(0); 121 }, 122 last: function () { 123 return this.eq(-1); 124 }, 125 even: function () { 126 return this.pushStack( 127 S.grep(this, function (e, t) { 128 return (t + 1) % 2; 129 }) 130 ); 131 }, 132 odd: function () { 133 return this.pushStack( 134 S.grep(this, function (e, t) { 135 return t % 2; 136 }) 137 ); 138 }, 139 eq: function (e) { 140 var t = this.length, 141 n = +e + (e < 0 ? t : 0); 142 return this.pushStack(0 <= n && n < t ? [this[n]] : []); 143 }, 144 end: function () { 145 return this.prevObject || this.constructor(); 146 }, 147 push: u, 148 sort: t.sort, 149 splice: t.splice 150 }), 151 (S.extend = S.fn.extend = 152 function () { 153 var e, 154 t, 155 n, 156 r, 157 i, 158 o, 159 a = arguments[0] || {}, 160 s = 1, 161 u = arguments.length, 162 l = !1; 163 for ( 164 'boolean' == typeof a && 165 ((l = a), (a = arguments[s] || {}), s++), 166 'object' == typeof a || m(a) || (a = {}), 167 s === u && ((a = this), s--); 168 s < u; 169 s++ 170 ) 171 if (null != (e = arguments[s])) 172 for (t in e) 173 (r = e[t]), 174 '__proto__' !== t && 175 a !== r && 176 (l && 177 r && 178 (S.isPlainObject(r) || 179 (i = Array.isArray(r))) 180 ? ((n = a[t]), 181 (o = 182 i && !Array.isArray(n) 183 ? [] 184 : i || S.isPlainObject(n) 185 ? n 186 : {}), 187 (i = !1), 188 (a[t] = S.extend(l, o, r))) 189 : void 0 !== r && (a[t] = r)); 190 return a; 191 }), 192 S.extend({ 193 expando: 'jQuery' + (f + Math.random()).replace(/\D/g, ''), 194 isReady: !0, 195 error: function (e) { 196 throw new Error(e); 197 }, 198 noop: function () {}, 199 isPlainObject: function (e) { 200 var t, n; 201 return ( 202 !(!e || '[object Object]' !== o.call(e)) && 203 (!(t = r(e)) || 204 ('function' == 205 typeof (n = 206 v.call(t, 'constructor') && t.constructor) && 207 a.call(n) === l)) 208 ); 209 }, 210 isEmptyObject: function (e) { 211 var t; 212 for (t in e) return !1; 213 return !0; 214 }, 215 globalEval: function (e, t, n) { 216 b(e, { nonce: t && t.nonce }, n); 217 }, 218 each: function (e, t) { 219 var n, 220 r = 0; 221 if (p(e)) { 222 for (n = e.length; r < n; r++) 223 if (!1 === t.call(e[r], r, e[r])) break; 224 } else for (r in e) if (!1 === t.call(e[r], r, e[r])) break; 225 return e; 226 }, 227 makeArray: function (e, t) { 228 var n = t || []; 229 return ( 230 null != e && 231 (p(Object(e)) 232 ? S.merge(n, 'string' == typeof e ? [e] : e) 233 : u.call(n, e)), 234 n 235 ); 236 }, 237 inArray: function (e, t, n) { 238 return null == t ? -1 : i.call(t, e, n); 239 }, 240 merge: function (e, t) { 241 for (var n = +t.length, r = 0, i = e.length; r < n; r++) 242 e[i++] = t[r]; 243 return (e.length = i), e; 244 }, 245 grep: function (e, t, n) { 246 for (var r = [], i = 0, o = e.length, a = !n; i < o; i++) 247 !t(e[i], i) !== a && r.push(e[i]); 248 return r; 249 }, 250 map: function (e, t, n) { 251 var r, 252 i, 253 o = 0, 254 a = []; 255 if (p(e)) 256 for (r = e.length; o < r; o++) 257 null != (i = t(e[o], o, n)) && a.push(i); 258 else for (o in e) null != (i = t(e[o], o, n)) && a.push(i); 259 return g(a); 260 }, 261 guid: 1, 262 support: y 263 }), 264 'function' == typeof Symbol && 265 (S.fn[Symbol.iterator] = t[Symbol.iterator]), 266 S.each( 267 'Boolean Number String Function Array Date RegExp Object Error Symbol'.split( 268 ' ' 269 ), 270 function (e, t) { 271 n['[object ' + t + ']'] = t.toLowerCase(); 272 } 273 ); 274 var d = (function (n) { 275 var e, 276 d, 277 b, 278 o, 279 i, 280 h, 281 f, 282 g, 283 w, 284 u, 285 l, 286 T, 287 C, 288 a, 289 E, 290 v, 291 s, 292 c, 293 y,
294 S = 'sizzle' + 1 * new Date(), 295 p = n.document, 296 k = 0, 297 r = 0, 298 m = ue(), 299 x = ue(), 300 A = ue(), 301 N = ue(), 302 j = function (e, t) { 303 return e === t && (l = !0), 0; 304 }, 305 D = {}.hasOwnProperty, 306 t = [], 307 q = t.pop, 308 L = t.push, 309 H = t.push, 310 O = t.slice, 311 P = function (e, t) { 312 for (var n = 0, r = e.length; n < r; n++) 313 if (e[n] === t) return n; 314 return -1; 315 }, 316 R = 317 'checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped', 318 M = '[\\x20\\t\\r\\n\\f]', 319 I = 320 '(?:\\\\[\\da-fA-F]{1,6}' + 321 M + 322 '?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+', 323 W = 324 '\\[' + 325 M + 326 '*(' + 327 I + 328 ')(?:' + 329 M + 330 '*([*^$|!~]?=)' + 331 M + 332 '*(?:\'((?:\\\\.|[^\\\\\'])*)\'|"((?:\\\\.|[^\\\\"])*)"|(' + 333 I + 334 '))|)' + 335 M + 336 '*\\]', 337 F = 338 ':(' + 339 I + 340 ')(?:\\(((\'((?:\\\\.|[^\\\\\'])*)\'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|' + 341 W + 342 ')*)|.*)\\)|)', 343 B = new RegExp(M + '+', 'g'), 344 $ = new RegExp( 345 '^' + M + '+|((?:^|[^\\\\])(?:\\\\.)*)' + M + '+$', 346 'g' 347 ), 348 _ = new RegExp('^' + M + '*,' + M + '*'), 349 z = new RegExp('^' + M + '*([>+~]|' + M + ')' + M + '*'), 350 U = new RegExp(M + '|>'), 351 X = new RegExp(F), 352 V = new RegExp('^' + I + '$'), 353 G = { 354 ID: new RegExp('^#(' + I + ')'), 355 CLASS: new RegExp('^\\.(' + I + ')'), 356 TAG: new RegExp('^(' + I + '|[*])'), 357 ATTR: new RegExp('^' + W), 358 PSEUDO: new RegExp('^' + F), 359 CHILD: new RegExp( 360 '^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(' + 361 M + 362 '*(even|odd|(([+-]|)(\\d*)n|)' + 363 M + 364 '*(?:([+-]|)' + 365 M + 366 '*(\\d+)|))' + 367 M + 368 '*\\)|)', 369 'i' 370 ), 371 bool: new RegExp('^(?:' + R + ')$', 'i'), 372 needsContext: new RegExp( 373 '^' + 374 M + 375 '*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(' + 376 M + 377 '*((?:-\\d)?\\d*)' + 378 M + 379 '*\\)|)(?=[^-]|$)', 380 'i' 381 ) 382 }, 383 Y = /HTML$/i, 384 Q = /^(?:input|select|textarea|button)$/i, 385 J = /^h\d$/i, 386 K = /^[^{]+\{\s*\[native \w/, 387 Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, 388 ee = /[+~]/, 389 te = new RegExp( 390 '\\\\[\\da-fA-F]{1,6}' + M + '?|\\\\([^\\r\\n\\f])', 391 'g' 392 ), 393 ne = function (e, t) { 394 var n = '0x' + e.slice(1) - 65536; 395 return ( 396 t || 397 (n < 0 398 ? String.fromCharCode(n + 65536) 399 : String.fromCharCode( 400 (n >> 10) | 55296, 401 (1023 & n) | 56320 402 )) 403 ); 404 }, 405 re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, 406 ie = function (e, t) { 407 return t 408 ? '\0' === e 409 ? '\ufffd' 410 : e.slice(0, -1) + 411 '\\' + 412 e.charCodeAt(e.length - 1).toString(16) + 413 ' ' 414 : '\\' + e; 415 }, 416 oe = function () { 417 T(); 418 }, 419 ae = be( 420 function (e) { 421 return ( 422 !0 === e.disabled && 423 'fieldset' === e.nodeName.toLowerCase() 424 ); 425 }, 426 { dir: 'parentNode', next: 'legend' } 427 ); 428 try { 429 H.apply((t = O.call(p.childNodes)), p.childNodes), 430 t[p.childNodes.length].nodeType; 431 } catch (e) { 432 H = { 433 apply: t.length 434 ? function (e, t) { 435 L.apply(e, O.call(t)); 436 } 437 : function (e, t) { 438 var n = e.length, 439 r = 0; 440 while ((e[n++] = t[r++])); 441 e.length = n - 1; 442 } 443 }; 444 } 445 function se(t, e, n, r) { 446 var i, 447 o, 448 a, 449 s, 450 u, 451 l, 452 c, 453 f = e && e.ownerDocument, 454 p = e ? e.nodeType : 9; 455 if ( 456 ((n = n || []), 457 'string' != typeof t || !t || (1 !== p && 9 !== p && 11 !== p)) 458 ) 459 return n; 460 if (!r && (T(e), (e = e || C), E)) { 461 if (11 !== p && (u = Z.exec(t)))
462 if ((i = u[1])) { 463 if (9 === p) { 464 if (!(a = e.getElementById(i))) return n; 465 if (a.id === i) return n.push(a), n; 466 } else if ( 467 f && 468 (a = f.getElementById(i)) && 469 y(e, a) && 470 a.id === i 471 ) 472 return n.push(a), n; 473 } else { 474 if (u[2]) 475 return H.apply(n, e.getElementsByTagName(t)), n; 476 if ( 477 (i = u[3]) && 478 d.getElementsByClassName && 479 e.getElementsByClassName 480 ) 481 return H.apply(n, e.getElementsByClassName(i)), n; 482 } 483 if ( 484 d.qsa && 485 !N[t + ' '] && 486 (!v || !v.test(t)) && 487 (1 !== p || 'object' !== e.nodeName.toLowerCase()) 488 ) { 489 if ( 490 ((c = t), (f = e), 1 === p && (U.test(t) || z.test(t))) 491 ) { 492 ((f = (ee.test(t) && ye(e.parentNode)) || e) === e && 493 d.scope) || 494 ((s = e.getAttribute('id')) 495 ? (s = s.replace(re, ie)) 496 : e.setAttribute('id', (s = S))), 497 (o = (l = h(t)).length); 498 while (o--) 499 l[o] = (s ? '#' + s : ':scope') + ' ' + xe(l[o]); 500 c = l.join(','); 501 } 502 try { 503 return H.apply(n, f.querySelectorAll(c)), n; 504 } catch (e) { 505 N(t, !0); 506 } finally { 507 s === S && e.removeAttribute('id'); 508 } 509 } 510 } 511 return g(t.replace($, '$1'), e, n, r); 512 } 513 function ue() { 514 var r = []; 515 return function e(t, n) { 516 return ( 517 r.push(t + ' ') > b.cacheLength && delete e[r.shift()], 518 (e[t + ' '] = n) 519 ); 520 }; 521 } 522 function le(e) { 523 return (e[S] = !0), e; 524 } 525 function ce(e) { 526 var t = C.createElement('fieldset'); 527 try { 528 return !!e(t); 529 } catch (e) { 530 return !1; 531 } finally { 532 t.parentNode && t.parentNode.removeChild(t), (t = null); 533 } 534 } 535 function fe(e, t) { 536 var n = e.split('|'), 537 r = n.length; 538 while (r--) b.attrHandle[n[r]] = t; 539 } 540 function pe(e, t) { 541 var n = t && e, 542 r = 543 n && 544 1 === e.nodeType && 545 1 === t.nodeType && 546 e.sourceIndex - t.sourceIndex; 547 if (r) return r; 548 if (n) while ((n = n.nextSibling)) if (n === t) return -1; 549 return e ? 1 : -1; 550 } 551 function de(t) { 552 return function (e) { 553 return 'input' === e.nodeName.toLowerCase() && e.type === t; 554 }; 555 } 556 function he(n) { 557 return function (e) { 558 var t = e.nodeName.toLowerCase(); 559 return ('input' === t || 'button' === t) && e.type === n; 560 }; 561 } 562 function ge(t) { 563 return function (e) { 564 return 'form' in e 565 ? e.parentNode && !1 === e.disabled 566 ? 'label' in e 567 ? 'label' in e.parentNode 568 ? e.parentNode.disabled === t 569 : e.disabled === t 570 : e.isDisabled === t || 571 (e.isDisabled !== !t && ae(e) === t) 572 : e.disabled === t 573 : 'label' in e && e.disabled === t; 574 }; 575 } 576 function ve(a) { 577 return le(function (o) { 578 return ( 579 (o = +o), 580 le(function (e, t) { 581 var n, 582 r = a([], e.length, o), 583 i = r.length; 584 while (i--) e[(n = r[i])] && (e[n] = !(t[n] = e[n])); 585 }) 586 ); 587 }); 588 } 589 function ye(e) { 590 return e && 'undefined' != typeof e.getElementsByTagName && e; 591 } 592 for (e in ((d = se.support = {}), 593 (i = se.isXML = 594 function (e) { 595 var t = e && e.namespaceURI, 596 n = e && (e.ownerDocument || e).documentElement; 597 return !Y.test(t || (n && n.nodeName) || 'HTML'); 598 }), 599 (T = se.setDocument = 600 function (e) { 601 var t, 602 n, 603 r = e ? e.ownerDocument || e : p; 604 return ( 605 r != C && 606 9 === r.nodeType && 607 r.documentElement && 608 ((a = (C = r).documentElement), 609 (E = !i(C)), 610 p != C && 611 (n = C.defaultView) && 612 n.top !== n && 613 (n.addEventListener 614 ? n.addEventListener('unload', oe, !1) 615 : n.attachEvent && 616 n.attachEvent('onunload', oe)), 617 (d.scope = ce(function (e) { 618 return ( 619 a 620 .appendChild(e) 621 .appendChild(C.createElement('div')), 622 'undefined' != typeof e.querySelectorAll && 623 !e.querySelectorAll(':scope fieldset div') 624 .length 625 ); 626 })), 627 (d.attributes = ce(function (e) { 628 return ( 629 (e.className = 'i'), 630 !e.getAttribute('className') 631 ); 632 })), 633 (d.getElementsByTagName = ce(function (e) { 634 return ( 635 e.appendChild(C.createComment('')), 636 !e.getElementsByTagName('*').length 637 ); 638 })), 639 (d.getElementsByClassName = K.test( 640 C.getElementsByClassName 641 )), 642 (d.getById = ce(function (e) { 643 return ( 644 (a.appendChild(e).id = S), 645 !C.getElementsByName || 646 !C.getElementsByName(S).length 647 ); 648 })), 649 d.getById 650 ? ((b.filter.ID = function (e) { 651 var t = e.replace(te, ne); 652 return function (e) { 653 return e.getAttribute('id') === t; 654 }; 655 }), 656 (b.find.ID = function (e, t) { 657 if ( 658 'undefined' != typeof t.getElementById && 659 E 660 ) { 661 var n = t.getElementById(e); 662 return n ? [n] : []; 663 } 664 })) 665 : ((b.filter.ID = function (e) { 666 var n = e.replace(te, ne); 667 return function (e) { 668 var t = 669 'undefined' != 670 typeof e.getAttributeNode && 671 e.getAttributeNode('id'); 672 return t && t.value === n; 673 }; 674 }), 675 (b.find.ID = function (e, t) { 676 if ( 677 'undefined' != typeof t.getElementById && 678 E 679 ) { 680 var n, 681 r, 682 i, 683 o = t.getElementById(e); 684 if (o) { 685 if ( 686 (n = o.getAttributeNode('id')) && 687 n.value === e 688 ) 689 return [o]; 690 (i = t.getElementsByName(e)), (r = 0); 691 while ((o = i[r++])) 692 if ( 693 (n = 694 o.getAttributeNode( 695 'id' 696 )) && 697 n.value === e 698 ) 699 return [o]; 700 } 701 return []; 702 } 703 })), 704 (b.find.TAG = d.getElementsByTagName 705 ? function (e, t) { 706 return 'undefined' != 707 typeof t.getElementsByTagName 708 ? t.getElementsByTagName(e) 709 : d.qsa 710 ? t.querySelectorAll(e) 711 : void 0; 712 } 713 : function (e, t) { 714 var n, 715 r = [], 716 i = 0, 717 o = t.getElementsByTagName(e); 718 if ('*' === e) { 719 while ((n = o[i++])) 720 1 === n.nodeType && r.push(n); 721 return r; 722 } 723 return o; 724 }), 725 (b.find.CLASS = 726 d.getElementsByClassName && 727 function (e, t) { 728 if ( 729 'undefined' != 730 typeof t.getElementsByClassName && 731 E 732 ) 733 return t.getElementsByClassName(e); 734 }), 735 (s = []), 736 (v = []),
737 (d.qsa = K.test(C.querySelectorAll)) && 738 (ce(function (e) { 739 var t; 740 (a.appendChild(e).innerHTML = 741 "<a id='" + 742 S + 743 "'></a><select id='" + 744 S + 745 "-\r\\' msallowcapture=''><option selected=''></option></select>"), 746 e.querySelectorAll("[msallowcapture^='']") 747 .length && 748 v.push('[*^$]=' + M + '*(?:\'\'|"")'), 749 e.querySelectorAll('[selected]').length || 750 v.push( 751 '\\[' + M + '*(?:value|' + R + ')' 752 ), 753 e.querySelectorAll('[id~=' + S + '-]') 754 .length || v.push('~='), 755 (t = C.createElement('input')).setAttribute( 756 'name', 757 '' 758 ), 759 e.appendChild(t), 760 e.querySelectorAll("[name='']").length || 761 v.push( 762 '\\[' + 763 M + 764 '*name' + 765 M + 766 '*=' + 767 M + 768 '*(?:\'\'|"")' 769 ), 770 e.querySelectorAll(':checked').length || 771 v.push(':checked'), 772 e.querySelectorAll('a#' + S + '+*') 773 .length || v.push('.#.+[+~]'), 774 e.querySelectorAll('\\\f'), 775 v.push('[\\r\\n\\f]'); 776 }), 777 ce(function (e) { 778 e.innerHTML = 779 "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>"; 780 var t = C.createElement('input'); 781 t.setAttribute('type', 'hidden'), 782 e.appendChild(t).setAttribute('name', 'D'), 783 e.querySelectorAll('[name=d]').length && 784 v.push('name' + M + '*[*^$|!~]?='), 785 2 !== 786 e.querySelectorAll(':enabled').length && 787 v.push(':enabled', ':disabled'), 788 (a.appendChild(e).disabled = !0), 789 2 !== 790 e.querySelectorAll(':disabled') 791 .length && 792 v.push(':enabled', ':disabled'), 793 e.querySelectorAll('*,:x'), 794 v.push(',.*:'); 795 })), 796 (d.matchesSelector = K.test( 797 (c = 798 a.matches || 799 a.webkitMatchesSelector || 800 a.mozMatchesSelector || 801 a.oMatchesSelector || 802 a.msMatchesSelector) 803 )) && 804 ce(function (e) { 805 (d.disconnectedMatch = c.call(e, '*')), 806 c.call(e, "[s!='']:x"), 807 s.push('!=', F); 808 }),
809 (v = v.length && new RegExp(v.join('|'))), 810 (s = s.length && new RegExp(s.join('|'))), 811 (t = K.test(a.compareDocumentPosition)), 812 (y = 813 t || K.test(a.contains) 814 ? function (e, t) { 815 var n = 816 9 === e.nodeType 817 ? e.documentElement 818 : e, 819 r = t && t.parentNode; 820 return ( 821 e === r || 822 !( 823 !r || 824 1 !== r.nodeType || 825 !(n.contains 826 ? n.contains(r) 827 : e.compareDocumentPosition && 828 16 & 829 e.compareDocumentPosition( 830 r 831 )) 832 ) 833 ); 834 } 835 : function (e, t) { 836 if (t) 837 while ((t = t.parentNode)) 838 if (t === e) return !0; 839 return !1; 840 }), 841 (j = t 842 ? function (e, t) { 843 if (e === t) return (l = !0), 0; 844 var n = 845 !e.compareDocumentPosition - 846 !t.compareDocumentPosition; 847 return ( 848 n || 849 (1 & 850 (n = 851 (e.ownerDocument || e) == 852 (t.ownerDocument || t) 853 ? e.compareDocumentPosition(t) 854 : 1) || 855 (!d.sortDetached && 856 t.compareDocumentPosition(e) === n) 857 ? e == C || 858 (e.ownerDocument == p && y(p, e)) 859 ? -1 860 : t == C || 861 (t.ownerDocument == p && 862 y(p, t)) 863 ? 1 864 : u 865 ? P(u, e) - P(u, t) 866 : 0 867 : 4 & n 868 ? -1 869 : 1) 870 ); 871 } 872 : function (e, t) { 873 if (e === t) return (l = !0), 0; 874 var n, 875 r = 0, 876 i = e.parentNode, 877 o = t.parentNode, 878 a = [e], 879 s = [t]; 880 if (!i || !o) 881 return e == C 882 ? -1 883 : t == C 884 ? 1 885 : i 886 ? -1 887 : o 888 ? 1 889 : u 890 ? P(u, e) - P(u, t) 891 : 0; 892 if (i === o) return pe(e, t); 893 n = e; 894 while ((n = n.parentNode)) a.unshift(n); 895 n = t; 896 while ((n = n.parentNode)) s.unshift(n); 897 while (a[r] === s[r]) r++; 898 return r 899 ? pe(a[r], s[r]) 900 : a[r] == p 901 ? -1 902 : s[r] == p 903 ? 1 904 : 0; 905 })), 906 C 907 ); 908 }), 909 (se.matches = function (e, t) { 910 return se(e, null, null, t); 911 }), 912 (se.matchesSelector = function (e, t) { 913 if ( 914 (T(e), 915 d.matchesSelector && 916 E && 917 !N[t + ' '] && 918 (!s || !s.test(t)) && 919 (!v || !v.test(t))) 920 ) 921 try { 922 var n = c.call(e, t); 923 if ( 924 n || 925 d.disconnectedMatch || 926 (e.document && 11 !== e.document.nodeType) 927 ) 928 return n; 929 } catch (e) { 930 N(t, !0); 931 } 932 return 0 < se(t, C, null, [e]).length; 933 }), 934 (se.contains = function (e, t) { 935 return (e.ownerDocument || e) != C && T(e), y(e, t); 936 }), 937 (se.attr = function (e, t) { 938 (e.ownerDocument || e) != C && T(e); 939 var n = b.attrHandle[t.toLowerCase()], 940 r = 941 n && D.call(b.attrHandle, t.toLowerCase()) 942 ? n(e, t, !E) 943 : void 0; 944 return void 0 !== r 945 ? r 946 : d.attributes || !E 947 ? e.getAttribute(t) 948 : (r = e.getAttributeNode(t)) && r.specified 949 ? r.value 950 : null; 951 }), 952 (se.escape = function (e) { 953 return (e + '').replace(re, ie); 954 }), 955 (se.error = function (e) { 956 throw new Error('Syntax error, unrecognized expression: ' + e); 957 }), 958 (se.uniqueSort = function (e) { 959 var t, 960 n = [], 961 r = 0, 962 i = 0; 963 if ( 964 ((l = !d.detectDuplicates), 965 (u = !d.sortStable && e.slice(0)), 966 e.sort(j), 967 l) 968 ) { 969 while ((t = e[i++])) t === e[i] && (r = n.push(i)); 970 while (r--) e.splice(n[r], 1); 971 } 972 return (u = null), e; 973 }), 974 (o = se.getText = 975 function (e) { 976 var t, 977 n = '', 978 r = 0, 979 i = e.nodeType; 980 if (i) { 981 if (1 === i || 9 === i || 11 === i) { 982 if ('string' == typeof e.textContent) 983 return e.textContent; 984 for (e = e.firstChild; e; e = e.nextSibling) n += o(e); 985 }
985 else if (3 === i || 4 === i) return e.nodeValue; 986 } else while ((t = e[r++])) n += o(t); 987 return n; 988 }), 989 ((b = se.selectors = 990 { 991 cacheLength: 50, 992 createPseudo: le, 993 match: G, 994 attrHandle: {}, 995 find: {}, 996 relative: { 997 '>': { dir: 'parentNode', first: !0 }, 998 ' ': { dir: 'parentNode' }, 999 '+': { dir: 'previousSibling', first: !0 }, 1000 '~': { dir: 'previousSibling' } 1001 }, 1002 preFilter: { 1003 ATTR: function (e) { 1004 return ( 1005 (e[1] = e[1].replace(te, ne)), 1006 (e[3] = (e[3] || e[4] || e[5] || '').replace( 1007 te, 1008 ne 1009 )), 1010 '~=' === e[2] && (e[3] = ' ' + e[3] + ' '), 1011 e.slice(0, 4) 1012 ); 1013 }, 1014 CHILD: function (e) { 1015 return ( 1016 (e[1] = e[1].toLowerCase()), 1017 'nth' === e[1].slice(0, 3) 1018 ? (e[3] || se.error(e[0]), 1019 (e[4] = +(e[4] 1020 ? e[5] + (e[6] || 1) 1021 : 2 * 1022 ('even' === e[3] || 'odd' === e[3]))), 1023 (e[5] = +(e[7] + e[8] || 'odd' === e[3]))) 1024 : e[3] && se.error(e[0]), 1025 e 1026 ); 1027 }, 1028 PSEUDO: function (e) { 1029 var t, 1030 n = !e[6] && e[2]; 1031 return G.CHILD.test(e[0]) 1032 ? null 1033 : (e[3] 1034 ? (e[2] = e[4] || e[5] || '') 1035 : n && 1036 X.test(n) && 1037 (t = h(n, !0)) && 1038 (t = 1039 n.indexOf(')', n.length - t) - 1040 n.length) && 1041 ((e[0] = e[0].slice(0, t)), 1042 (e[2] = n.slice(0, t))), 1043 e.slice(0, 3)); 1044 } 1045 }, 1046 filter: { 1047 TAG: function (e) { 1048 var t = e.replace(te, ne).toLowerCase(); 1049 return '*' === e 1050 ? function () { 1051 return !0; 1052 } 1053 : function (e) { 1054 return ( 1055 e.nodeName && 1056 e.nodeName.toLowerCase() === t 1057 ); 1058 }; 1059 }, 1060 CLASS: function (e) { 1061 var t = m[e + ' ']; 1062 return ( 1063 t || 1064 ((t = new RegExp( 1065 '(^|' + M + ')' + e + '(' + M + '|$)' 1066 )) && 1067 m(e, function (e) { 1068 return t.test( 1069 ('string' == typeof e.className && 1070 e.className) || 1071 ('undefined' != 1072 typeof e.getAttribute && 1073 e.getAttribute('class')) || 1074 '' 1075 ); 1076 })) 1077 ); 1078 }, 1079 ATTR: function (n, r, i) { 1080 return function (e) { 1081 var t = se.attr(e, n); 1082 return null == t 1083 ? '!=' === r 1084 : !r || 1085 ((t += ''), 1086 '=' === r 1087 ? t === i 1088 : '!=' === r 1089 ? t !== i 1090 : '^=' === r 1091 ? i && 0 === t.indexOf(i) 1092 : '*=' === r 1093 ? i && -1 < t.indexOf(i) 1094 : '$=' === r 1095 ? i && t.slice(-i.length) === i 1096 : '~=' === r 1097 ? -1 < 1098 ( 1099 ' ' + 1100 t.replace(B, ' ') + 1101 ' ' 1102 ).indexOf(i) 1103 : '|=' === r && 1104 (t === i || 1105 t.slice(0, i.length + 1) === 1106 i + '-')); 1107 }; 1108 }, 1109 CHILD: function (h, e, t, g, v) { 1110 var y = 'nth' !== h.slice(0, 3), 1111 m = 'last' !== h.slice(-4), 1112 x = 'of-type' === e; 1113 return 1 === g && 0 === v 1114 ? function (e) { 1115 return !!e.parentNode; 1116 } 1117 : function (e, t, n) { 1118 var r, 1119 i, 1120 o, 1121 a, 1122 s, 1123 u, 1124 l = 1125 y !== m 1126 ? 'nextSibling' 1127 : 'previousSibling', 1128 c = e.parentNode, 1129 f = x && e.nodeName.toLowerCase(), 1130 p = !n && !x, 1131 d = !1; 1132 if (c) { 1133 if (y) { 1134 while (l) { 1135 a = e; 1136 while ((a = a[l])) 1137 if ( 1138 x 1139 ? a.nodeName.toLowerCase() === 1140 f 1141 : 1 === a.nodeType 1142 ) 1143 return !1; 1144 u = l = 1145 'only' === h && 1146 !u && 1147 'nextSibling'; 1148 } 1149 return !0; 1150 } 1151 if ( 1152 ((u = [ 1153 m ? c.firstChild : c.lastChild 1154 ]), 1155 m && p) 1156 ) { 1157 (d = 1158 (s = 1159 (r = 1160 (i = 1161 (o = 1162 (a = c)[S] || 1163 (a[S] = {}))[ 1164 a.uniqueID 1165 ] || 1166 (o[a.uniqueID] = {}))[ 1167 h 1168 ] || [])[0] === k && 1169 r[1]) && r[2]), 1170 (a = s && c.childNodes[s]); 1171 while ( 1172 (a = 1173 (++s && a && a[l]) || 1174 (d = s = 0) || 1175 u.pop()) 1176 ) 1177 if ( 1178 1 === a.nodeType && 1179 ++d && 1180 a === e 1181 ) { 1182 i[h] = [k, s, d]; 1183 break; 1184 } 1185 } else if ( 1186 (p && 1187 (d = s = 1188 (r = 1189 (i = 1190 (o = 1191 (a = e)[S] || 1192 (a[S] = {}))[ 1193 a.uniqueID 1194 ] || 1195 (o[a.uniqueID] = {}))[ 1196 h 1197 ] || [])[0] === k && 1198 r[1]), 1199 !1 === d) 1200 ) 1201 while ( 1202 (a = 1203 (++s && a && a[l]) || 1204 (d = s = 0) || 1205 u.pop()) 1206 ) 1207 if ( 1208 (x 1209 ? a.nodeName.toLowerCase() === 1210 f 1211 : 1 === a.nodeType) && 1212 ++d && 1213 (p && 1214 ((i = 1215 (o = 1216 a[S] || 1217 (a[S] = {}))[ 1218 a.uniqueID 1219 ] || 1220 (o[a.uniqueID] = {}))[ 1221 h 1222 ] = [k, d]), 1223 a === e) 1224 ) 1225 break; 1226 return ( 1227 (d -= v) === g || 1228 (d % g == 0 && 0 <= d / g) 1229 ); 1230 } 1231 }; 1232 }, 1233 PSEUDO: function (e, o) { 1234 var t, 1235 a = 1236 b.pseudos[e] || 1237 b.setFilters[e.toLowerCase()] || 1238 se.error('unsupported pseudo: ' + e); 1239 return a[S] 1240 ? a(o) 1241 : 1 < a.length 1242 ? ((t = [e, e, '', o]), 1243 b.setFilters.hasOwnProperty(e.toLowerCase()) 1244 ? le(function (e, t) { 1245 var n, 1246 r = a(e, o), 1247 i = r.length; 1248 while (i--) 1249 e[(n = P(e, r[i]))] = !(t[n] = 1250 r[i]); 1251 }) 1252 : function (e) { 1253 return a(e, 0, t); 1254 }) 1255 : a; 1256 } 1257 }, 1258 pseudos: { 1259 not: le(function (e) { 1260 var r = [], 1261 i = [], 1262 s = f(e.replace($, '$1')); 1263 return s[S] 1264 ? le(function (e, t, n, r) { 1265 var i, 1266 o = s(e, null, r, []), 1267 a = e.length; 1268 while (a--) 1269 (i = o[a]) && (e[a] = !(t[a] = i)); 1270 }) 1271 : function (e, t, n) { 1272 return ( 1273 (r[0] = e), 1274 s(r, null, n, i), 1275 (r[0] = null),
1276 !i.pop() 1277 ); 1278 }; 1279 }), 1280 has: le(function (t) { 1281 return function (e) { 1282 return 0 < se(t, e).length; 1283 }; 1284 }), 1285 contains: le(function (t) { 1286 return ( 1287 (t = t.replace(te, ne)), 1288 function (e) { 1289 return -1 < (e.textContent || o(e)).indexOf(t); 1290 } 1291 ); 1292 }), 1293 lang: le(function (n) { 1294 return ( 1295 V.test(n || '') || 1296 se.error('unsupported lang: ' + n), 1297 (n = n.replace(te, ne).toLowerCase()), 1298 function (e) { 1299 var t; 1300 do { 1301 if ( 1302 (t = E 1303 ? e.lang 1304 : e.getAttribute('xml:lang') || 1305 e.getAttribute('lang')) 1306 ) 1307 return ( 1308 (t = t.toLowerCase()) === n || 1309 0 === t.indexOf(n + '-') 1310 ); 1311 } while ( 1312 (e = e.parentNode) && 1313 1 === e.nodeType 1314 ); 1315 return !1; 1316 } 1317 ); 1318 }), 1319 target: function (e) { 1320 var t = n.location && n.location.hash; 1321 return t && t.slice(1) === e.id; 1322 }, 1323 root: function (e) { 1324 return e === a; 1325 }, 1326 focus: function (e) { 1327 return ( 1328 e === C.activeElement && 1329 (!C.hasFocus || C.hasFocus()) && 1330 !!(e.type || e.href || ~e.tabIndex) 1331 ); 1332 }, 1333 enabled: ge(!1), 1334 disabled: ge(!0), 1335 checked: function (e) { 1336 var t = e.nodeName.toLowerCase(); 1337 return ( 1338 ('input' === t && !!e.checked) || 1339 ('option' === t && !!e.selected) 1340 ); 1341 }, 1342 selected: function (e) { 1343 return ( 1344 e.parentNode && e.parentNode.selectedIndex, 1345 !0 === e.selected 1346 ); 1347 }, 1348 empty: function (e) { 1349 for (e = e.firstChild; e; e = e.nextSibling) 1350 if (e.nodeType < 6) return !1; 1351 return !0; 1352 }, 1353 parent: function (e) { 1354 return !b.pseudos.empty(e); 1355 }, 1356 header: function (e) { 1357 return J.test(e.nodeName); 1358 }, 1359 input: function (e) { 1360 return Q.test(e.nodeName); 1361 }, 1362 button: function (e) { 1363 var t = e.nodeName.toLowerCase(); 1364 return ( 1365 ('input' === t && 'button' === e.type) || 1366 'button' === t 1367 ); 1368 }, 1369 text: function (e) { 1370 var t; 1371 return ( 1372 'input' === e.nodeName.toLowerCase() && 1373 'text' === e.type && 1374 (null == (t = e.getAttribute('type')) || 1375 'text' === t.toLowerCase()) 1376 ); 1377 }, 1378 first: ve(function () { 1379 return [0]; 1380 }), 1381 last: ve(function (e, t) { 1382 return [t - 1]; 1383 }), 1384 eq: ve(function (e, t, n) { 1385 return [n < 0 ? n + t : n]; 1386 }), 1387 even: ve(function (e, t) { 1388 for (var n = 0; n < t; n += 2) e.push(n); 1389 return e; 1390 }), 1391 odd: ve(function (e, t) { 1392 for (var n = 1; n < t; n += 2) e.push(n); 1393 return e; 1394 }), 1395 lt: ve(function (e, t, n) { 1396 for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r; ) 1397 e.push(r); 1398 return e; 1399 }), 1400 gt: ve(function (e, t, n) { 1401 for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r); 1402 return e; 1403 }) 1404 } 1405 }).pseudos.nth = b.pseudos.eq), 1406 { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 })) 1407 b.pseudos[e] = de(e); 1408 for (e in { submit: !0, reset: !0 }) b.pseudos[e] = he(e); 1409 function me() {} 1410 function xe(e) { 1411 for (var t = 0, n = e.length, r = ''; t < n; t++) r += e[t].value; 1412 return r; 1413 } 1414 function be(s, e, t) { 1415 var u = e.dir, 1416 l = e.next, 1417 c = l || u, 1418 f = t && 'parentNode' === c, 1419 p = r++; 1420 return e.first 1421 ? function (e, t, n) { 1422 while ((e = e[u])) 1423 if (1 === e.nodeType || f) return s(e, t, n); 1424 return !1; 1425 } 1426 : function (e, t, n) { 1427 var r, 1428 i, 1429 o, 1430 a = [k, p]; 1431 if (n) { 1432 while ((e = e[u])) 1433 if ((1 === e.nodeType || f) && s(e, t, n)) 1434 return !0; 1435 } else 1436 while ((e = e[u])) 1437 if (1 === e.nodeType || f) 1438 if ( 1439 ((i = 1440 (o = e[S] || (e[S] = {}))[ 1441 e.uniqueID 1442 ] || (o[e.uniqueID] = {})),
1443 l && l === e.nodeName.toLowerCase()) 1444 ) 1445 e = e[u] || e; 1446 else { 1447 if ( 1448 (r = i[c]) && 1449 r[0] === k && 1450 r[1] === p 1451 ) 1452 return (a[2] = r[2]); 1453 if (((i[c] = a)[2] = s(e, t, n))) 1454 return !0; 1455 } 1456 return !1; 1457 }; 1458 } 1459 function we(i) { 1460 return 1 < i.length 1461 ? function (e, t, n) { 1462 var r = i.length; 1463 while (r--) if (!i[r](e, t, n)) return !1; 1464 return !0; 1465 } 1466 : i[0]; 1467 } 1468 function Te(e, t, n, r, i) { 1469 for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++) 1470 (o = e[s]) && 1471 ((n && !n(o, r, i)) || (a.push(o), l && t.push(s))); 1472 return a; 1473 } 1474 function Ce(d, h, g, v, y, e) { 1475 return ( 1476 v && !v[S] && (v = Ce(v)), 1477 y && !y[S] && (y = Ce(y, e)), 1478 le(function (e, t, n, r) { 1479 var i, 1480 o, 1481 a, 1482 s = [], 1483 u = [], 1484 l = t.length, 1485 c = 1486 e || 1487 (function (e, t, n) { 1488 for (var r = 0, i = t.length; r < i; r++) 1489 se(e, t[r], n); 1490 return n; 1491 })(h || '*', n.nodeType ? [n] : n, []), 1492 f = !d || (!e && h) ? c : Te(c, s, d, n, r), 1493 p = g ? (y || (e ? d : l || v) ? [] : t) : f; 1494 if ((g && g(f, p, n, r), v)) { 1495 (i = Te(p, u)), v(i, [], n, r), (o = i.length); 1496 while (o--) (a = i[o]) && (p[u[o]] = !(f[u[o]] = a)); 1497 } 1498 if (e) { 1499 if (y || d) { 1500 if (y) { 1501 (i = []), (o = p.length); 1502 while (o--) (a = p[o]) && i.push((f[o] = a)); 1503 y(null, (p = []), i, r); 1504 } 1505 o = p.length; 1506 while (o--) 1507 (a = p[o]) && 1508 -1 < (i = y ? P(e, a) : s[o]) && 1509 (e[i] = !(t[i] = a)); 1510 } 1511 } else 1512 (p = Te(p === t ? p.splice(l, p.length) : p)), 1513 y ? y(null, t, p, r) : H.apply(t, p); 1514 }) 1515 ); 1516 } 1517 function Ee(e) { 1518 for ( 1519 var i, 1520 t, 1521 n, 1522 r = e.length, 1523 o = b.relative[e[0].type], 1524 a = o || b.relative[' '], 1525 s = o ? 1 : 0, 1526 u = be( 1527 function (e) { 1528 return e === i; 1529 }, 1530 a, 1531 !0 1532 ), 1533 l = be( 1534 function (e) { 1535 return -1 < P(i, e); 1536 }, 1537 a, 1538 !0 1539 ), 1540 c = [ 1541 function (e, t, n) { 1542 var r = 1543 (!o && (n || t !== w)) || 1544 ((i = t).nodeType ? u(e, t, n) : l(e, t, n)); 1545 return (i = null), r; 1546 } 1547 ]; 1548 s < r; 1549 s++ 1550 ) 1551 if ((t = b.relative[e[s].type])) c = [be(we(c), t)]; 1552 else { 1553 if ( 1554 (t = b.filter[e[s].type].apply(null, e[s].matches))[S] 1555 ) { 1556 for (n = ++s; n < r; n++) 1557 if (b.relative[e[n].type]) break; 1558 return Ce( 1559 1 < s && we(c), 1560 1 < s && 1561 xe( 1562 e.slice(0, s - 1).concat({ 1563 value: ' ' === e[s - 2].type ? '*' : '' 1564 }) 1565 ).replace($, '$1'), 1566 t, 1567 s < n && Ee(e.slice(s, n)), 1568 n < r && Ee((e = e.slice(n))), 1569 n < r && xe(e) 1570 ); 1571 } 1572 c.push(t); 1573 } 1574 return we(c); 1575 } 1576 return ( 1577 (me.prototype = b.filters = b.pseudos), 1578 (b.setFilters = new me()), 1579 (h = se.tokenize = 1580 function (e, t) { 1581 var n, 1582 r, 1583 i, 1584 o, 1585 a, 1586 s, 1587 u, 1588 l = x[e + ' ']; 1589 if (l) return t ? 0 : l.slice(0); 1590 (a = e), (s = []), (u = b.preFilter); 1591 while (a) { 1592 for (o in ((n && !(r = _.exec(a))) || 1593 (r && (a = a.slice(r[0].length) || a), 1594 s.push((i = []))), 1595 (n = !1), 1596 (r = z.exec(a)) && 1597 ((n = r.shift()), 1598 i.push({ value: n, type: r[0].replace($, ' ') }), 1599 (a = a.slice(n.length))), 1600 b.filter)) 1601 !(r = G[o].exec(a)) || 1602 (u[o] && !(r = u[o](r))) || 1603 ((n = r.shift()), 1604 i.push({ value: n, type: o, matches: r }), 1605 (a = a.slice(n.length))); 1606 if (!n) break; 1607 } 1608 return t ? a.length : a ? se.error(e) : x(e, s).slice(0); 1609 }), 1610 (f = se.compile = 1611 function (e, t) { 1612 var n, 1613 v, 1614 y, 1615 m, 1616 x, 1617 r, 1618 i = [], 1619 o = [], 1620 a = A[e + ' ']; 1621 if (!a) { 1622 t || (t = h(e)), (n = t.length); 1623 while (n--) (a = Ee(t[n]))[S] ? i.push(a) : o.push(a); 1624 (a = A( 1625 e, 1626 ((v = o), 1627 (m = 0 < (y = i).length), 1628 (x = 0 < v.length), 1629 (r = function (e, t, n, r, i) { 1630 var o, 1631 a, 1632 s, 1633 u = 0, 1634 l = '0', 1635 c = e && [], 1636 f = [], 1637 p = w, 1638 d = e || (x && b.find.TAG('*', i)), 1639 h = (k += 1640 null == p ? 1 : Math.random() || 0.1), 1641 g = d.length; 1642 for ( 1643 i && (w = t == C || t || i); 1644 l !== g && null != (o = d[l]); 1645 l++ 1646 ) { 1647 if (x && o) { 1648 (a = 0), 1649 t || 1650 o.ownerDocument == C || 1651 (T(o), (n = !E)); 1652 while ((s = v[a++]))
1653 if (s(o, t || C, n)) { 1654 r.push(o); 1655 break; 1656 } 1657 i && (k = h); 1658 } 1659 m && ((o = !s && o) && u--, e && c.push(o)); 1660 } 1661 if (((u += l), m && l !== u)) { 1662 a = 0; 1663 while ((s = y[a++])) s(c, f, t, n); 1664 if (e) { 1665 if (0 < u) 1666 while (l--) 1667 c[l] || 1668 f[l] || 1669 (f[l] = q.call(r)); 1670 f = Te(f); 1671 } 1672 H.apply(r, f), 1673 i && 1674 !e && 1675 0 < f.length && 1676 1 < u + y.length && 1677 se.uniqueSort(r); 1678 } 1679 return i && ((k = h), (w = p)), c; 1680 }), 1681 m ? le(r) : r) 1682 )).selector = e; 1683 } 1684 return a; 1685 }), 1686 (g = se.select = 1687 function (e, t, n, r) { 1688 var i, 1689 o, 1690 a, 1691 s, 1692 u, 1693 l = 'function' == typeof e && e, 1694 c = !r && h((e = l.selector || e)); 1695 if (((n = n || []), 1 === c.length)) { 1696 if ( 1697 2 < (o = c[0] = c[0].slice(0)).length && 1698 'ID' === (a = o[0]).type && 1699 9 === t.nodeType && 1700 E && 1701 b.relative[o[1].type] 1702 ) { 1703 if ( 1704 !(t = (b.find.ID( 1705 a.matches[0].replace(te, ne), 1706 t 1707 ) || [])[0]) 1708 ) 1709 return n; 1710 l && (t = t.parentNode), 1711 (e = e.slice(o.shift().value.length)); 1712 } 1713 i = G.needsContext.test(e) ? 0 : o.length; 1714 while (i--) { 1715 if (((a = o[i]), b.relative[(s = a.type)])) break; 1716 if ( 1717 (u = b.find[s]) && 1718 (r = u( 1719 a.matches[0].replace(te, ne), 1720 (ee.test(o[0].type) && ye(t.parentNode)) || 1721 t 1722 )) 1723 ) { 1724 if ((o.splice(i, 1), !(e = r.length && xe(o)))) 1725 return H.apply(n, r), n; 1726 break; 1727 } 1728 } 1729 } 1730 return ( 1731 (l || f(e, c))( 1732 r, 1733 t, 1734 !E, 1735 n, 1736 !t || (ee.test(e) && ye(t.parentNode)) || t 1737 ), 1738 n 1739 ); 1740 }), 1741 (d.sortStable = S.split('').sort(j).join('') === S), 1742 (d.detectDuplicates = !!l), 1743 T(), 1744 (d.sortDetached = ce(function (e) { 1745 return ( 1746 1 & e.compareDocumentPosition(C.createElement('fieldset')) 1747 ); 1748 })), 1749 ce(function (e) { 1750 return ( 1751 (e.innerHTML = "<a href='#'></a>"), 1752 '#' === e.firstChild.getAttribute('href') 1753 ); 1754 }) || 1755 fe('type|href|height|width', function (e, t, n) { 1756 if (!n) 1757 return e.getAttribute( 1758 t, 1759 'type' === t.toLowerCase() ? 1 : 2 1760 ); 1761 }), 1762 (d.attributes && 1763 ce(function (e) { 1764 return ( 1765 (e.innerHTML = '<input/>'), 1766 e.firstChild.setAttribute('value', ''), 1767 '' === e.firstChild.getAttribute('value') 1768 ); 1769 })) || 1770 fe('value', function (e, t, n) { 1771 if (!n && 'input' === e.nodeName.toLowerCase()) 1772 return e.defaultValue; 1773 }), 1774 ce(function (e) { 1775 return null == e.getAttribute('disabled'); 1776 }) || 1777 fe(R, function (e, t, n) { 1778 var r; 1779 if (!n) 1780 return !0 === e[t] 1781 ? t.toLowerCase() 1782 : (r = e.getAttributeNode(t)) && r.specified 1783 ? r.value 1784 : null; 1785 }), 1786 se 1787 ); 1788 })(C); 1789 (S.find = d), 1790 (S.expr = d.selectors), 1791 (S.expr[':'] = S.expr.pseudos), 1792 (S.uniqueSort = S.unique = d.uniqueSort), 1793 (S.text = d.getText), 1794 (S.isXMLDoc = d.isXML), 1795 (S.contains = d.contains), 1796 (S.escapeSelector = d.escape); 1797 var h = function (e, t, n) { 1798 var r = [], 1799 i = void 0 !== n; 1800 while ((e = e[t]) && 9 !== e.nodeType) 1801 if (1 === e.nodeType) { 1802 if (i && S(e).is(n)) break; 1803 r.push(e); 1804 } 1805 return r; 1806 }, 1807 T = function (e, t) { 1808 for (var n = []; e; e = e.nextSibling) 1809 1 === e.nodeType && e !== t && n.push(e); 1810 return n; 1811 }, 1812 k = S.expr.match.needsContext; 1813 function A(e, t) {
1814 return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); 1815 } 1816 var N = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; 1817 function j(e, n, r) { 1818 return m(n) 1819 ? S.grep(e, function (e, t) { 1820 return !!n.call(e, t, e) !== r; 1821 }) 1822 : n.nodeType 1823 ? S.grep(e, function (e) { 1824 return (e === n) !== r; 1825 }) 1826 : 'string' != typeof n 1827 ? S.grep(e, function (e) { 1828 return -1 < i.call(n, e) !== r; 1829 }) 1830 : S.filter(n, e, r); 1831 } 1832 (S.filter = function (e, t, n) { 1833 var r = t[0]; 1834 return ( 1835 n && (e = ':not(' + e + ')'), 1836 1 === t.length && 1 === r.nodeType 1837 ? S.find.matchesSelector(r, e) 1838 ? [r] 1839 : [] 1840 : S.find.matches( 1841 e, 1842 S.grep(t, function (e) { 1843 return 1 === e.nodeType; 1844 }) 1845 ) 1846 ); 1847 }), 1848 S.fn.extend({ 1849 find: function (e) { 1850 var t, 1851 n, 1852 r = this.length, 1853 i = this; 1854 if ('string' != typeof e) 1855 return this.pushStack( 1856 S(e).filter(function () { 1857 for (t = 0; t < r; t++) 1858 if (S.contains(i[t], this)) return !0; 1859 }) 1860 ); 1861 for (n = this.pushStack([]), t = 0; t < r; t++) 1862 S.find(e, i[t], n); 1863 return 1 < r ? S.uniqueSort(n) : n; 1864 }, 1865 filter: function (e) { 1866 return this.pushStack(j(this, e || [], !1)); 1867 }, 1868 not: function (e) { 1869 return this.pushStack(j(this, e || [], !0)); 1870 }, 1871 is: function (e) { 1872 return !!j( 1873 this, 1874 'string' == typeof e && k.test(e) ? S(e) : e || [], 1875 !1 1876 ).length; 1877 } 1878 }); 1879 var D, 1880 q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; 1881 ((S.fn.init = function (e, t, n) { 1882 var r, i; 1883 if (!e) return this; 1884 if (((n = n || D), 'string' == typeof e)) { 1885 if ( 1886 !(r = 1887 '<' === e[0] && '>' === e[e.length - 1] && 3 <= e.length 1888 ? [null, e, null] 1889 : q.exec(e)) || 1890 (!r[1] && t) 1891 ) 1892 return !t || t.jquery 1893 ? (t || n).find(e) 1894 : this.constructor(t).find(e); 1895 if (r[1]) { 1896 if ( 1897 ((t = t instanceof S ? t[0] : t), 1898 S.merge( 1899 this, 1900 S.parseHTML( 1901 r[1], 1902 t && t.nodeType ? t.ownerDocument || t : E, 1903 !0 1904 ) 1905 ), 1906 N.test(r[1]) && S.isPlainObject(t)) 1907 ) 1908 for (r in t) 1909 m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); 1910 return this; 1911 } 1912 return ( 1913 (i = E.getElementById(r[2])) && 1914 ((this[0] = i), (this.length = 1)), 1915 this 1916 ); 1917 } 1918 return e.nodeType 1919 ? ((this[0] = e), (this.length = 1), this) 1920 : m(e) 1921 ? void 0 !== n.ready 1922 ? n.ready(e) 1923 : e(S) 1924 : S.makeArray(e, this); 1925 }).prototype = S.fn), 1926 (D = S(E)); 1927 var L = /^(?:parents|prev(?:Until|All))/, 1928 H = { children: !0, contents: !0, next: !0, prev: !0 }; 1929 function O(e, t) { 1930 while ((e = e[t]) && 1 !== e.nodeType); 1931 return e; 1932 } 1933 S.fn.extend({ 1934 has: function (e) { 1935 var t = S(e, this), 1936 n = t.length; 1937 return this.filter(function () { 1938 for (var e = 0; e < n; e++) 1939 if (S.contains(this, t[e])) return !0; 1940 }); 1941 }, 1942 closest: function (e, t) { 1943 var n, 1944 r = 0, 1945 i = this.length, 1946 o = [], 1947 a = 'string' != typeof e && S(e); 1948 if (!k.test(e)) 1949 for (; r < i; r++) 1950 for (n = this[r]; n && n !== t; n = n.parentNode) 1951 if ( 1952 n.nodeType < 11 && 1953 (a 1954 ? -1 < a.index(n) 1955 : 1 === n.nodeType && 1956 S.find.matchesSelector(n, e)) 1957 ) { 1958 o.push(n); 1959 break; 1960 } 1961 return this.pushStack(1 < o.length ? S.uniqueSort(o) : o); 1962 }, 1963 index: function (e) { 1964 return e 1965 ? 'string' == typeof e 1966 ? i.call(S(e), this[0]) 1967 : i.call(this, e.jquery ? e[0] : e) 1968 : this[0] && this[0].parentNode 1969 ? this.first().prevAll().length 1970 : -1; 1971 }, 1972 add: function (e, t) { 1973 return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t)))); 1974 }, 1975 addBack: function (e) { 1976 return this.add( 1977 null == e ? this.prevObject : this.prevObject.filter(e) 1978 ); 1979 } 1980 }), 1981 S.each( 1982 { 1983 parent: function (e) { 1984 var t = e.parentNode; 1985 return t && 11 !== t.nodeType ? t : null; 1986 }, 1987 parents: function (e) { 1988 return h(e, 'parentNode'); 1989 }, 1990 parentsUntil: function (e, t, n) { 1991 return h(e, 'parentNode', n); 1992 }, 1993 next: function (e) { 1994 return O(e, 'nextSibling'); 1995 }, 1996 prev: function (e) { 1997 return O(e, 'previousSibling'); 1998 }, 1999 nextAll: function (e) { 2000 return h(e, 'nextSibling'); 2001 }, 2002 prevAll: function (e) { 2003 return h(e, 'previousSibling'); 2004 }, 2005 nextUntil: function (e, t, n) { 2006 return h(e, 'nextSibling', n); 2007 }, 2008 prevUntil: function (e, t, n) { 2009 return h(e, 'previousSibling', n); 2010 }, 2011 siblings: function (e) { 2012 return T((e.parentNode || {}).firstChild, e); 2013 }, 2014 children: function (e) { 2015 return T(e.firstChild); 2016 }, 2017 contents: function (e) { 2018 return null != e.contentDocument && r(e.contentDocument) 2019 ? e.contentDocument 2020 : (A(e, 'template') && (e = e.content || e), 2021 S.merge([], e.childNodes)); 2022 } 2023 }, 2024 function (r, i) { 2025 S.fn[r] = function (e, t) { 2026 var n = S.map(this, i, e); 2027 return ( 2028 'Until' !== r.slice(-5) && (t = e), 2029 t && 'string' == typeof t && (n = S.filter(t, n)), 2030 1 < this.length && 2031 (H[r] || S.uniqueSort(n), L.test(r) && n.reverse()), 2032 this.pushStack(n) 2033 ); 2034 }; 2035 } 2036 ); 2037 var P = /[^\x20\t\r\n\f]+/g; 2038 function R(e) { 2039 return e; 2040 } 2041 function M(e) { 2042 throw e; 2043 } 2044 function I(e, t, n, r) { 2045 var i; 2046 try {
2047 e && m((i = e.promise)) 2048 ? i.call(e).done(t).fail(n) 2049 : e && m((i = e.then)) 2050 ? i.call(e, t, n) 2051 : t.apply(void 0, [e].slice(r)); 2052 } catch (e) { 2053 n.apply(void 0, [e]); 2054 } 2055 } 2056 (S.Callbacks = function (r) { 2057 var e, n; 2058 r = 2059 'string' == typeof r 2060 ? ((e = r), 2061 (n = {}), 2062 S.each(e.match(P) || [], function (e, t) { 2063 n[t] = !0; 2064 }), 2065 n) 2066 : S.extend({}, r); 2067 var i, 2068 t, 2069 o, 2070 a, 2071 s = [], 2072 u = [], 2073 l = -1, 2074 c = function () { 2075 for (a = a || r.once, o = i = !0; u.length; l = -1) { 2076 t = u.shift(); 2077 while (++l < s.length) 2078 !1 === s[l].apply(t[0], t[1]) && 2079 r.stopOnFalse && 2080 ((l = s.length), (t = !1)); 2081 } 2082 r.memory || (t = !1), (i = !1), a && (s = t ? [] : ''); 2083 }, 2084 f = { 2085 add: function () { 2086 return ( 2087 s && 2088 (t && !i && ((l = s.length - 1), u.push(t)), 2089 (function n(e) { 2090 S.each(e, function (e, t) { 2091 m(t) 2092 ? (r.unique && f.has(t)) || s.push(t) 2093 : t && 2094 t.length && 2095 'string' !== w(t) && 2096 n(t); 2097 }); 2098 })(arguments), 2099 t && !i && c()), 2100 this 2101 ); 2102 }, 2103 remove: function () { 2104 return ( 2105 S.each(arguments, function (e, t) { 2106 var n; 2107 while (-1 < (n = S.inArray(t, s, n))) 2108 s.splice(n, 1), n <= l && l--; 2109 }), 2110 this 2111 ); 2112 }, 2113 has: function (e) { 2114 return e ? -1 < S.inArray(e, s) : 0 < s.length; 2115 }, 2116 empty: function () { 2117 return s && (s = []), this; 2118 }, 2119 disable: function () { 2120 return (a = u = []), (s = t = ''), this; 2121 }, 2122 disabled: function () { 2123 return !s; 2124 }, 2125 lock: function () { 2126 return (a = u = []), t || i || (s = t = ''), this; 2127 }, 2128 locked: function () { 2129 return !!a; 2130 }, 2131 fireWith: function (e, t) { 2132 return ( 2133 a || 2134 ((t = [e, (t = t || []).slice ? t.slice() : t]), 2135 u.push(t), 2136 i || c()), 2137 this 2138 ); 2139 }, 2140 fire: function () { 2141 return f.fireWith(this, arguments), this; 2142 }, 2143 fired: function () { 2144 return !!o; 2145 } 2146 }; 2147 return f; 2148 }), 2149 S.extend({ 2150 Deferred: function (e) { 2151 var o = [ 2152 [ 2153 'notify', 2154 'progress', 2155 S.Callbacks('memory'), 2156 S.Callbacks('memory'), 2157 2 2158 ], 2159 [ 2160 'resolve', 2161 'done', 2162 S.Callbacks('once memory'), 2163 S.Callbacks('once memory'), 2164 0, 2165 'resolved' 2166 ], 2167 [ 2168 'reject', 2169 'fail', 2170 S.Callbacks('once memory'), 2171 S.Callbacks('once memory'), 2172 1, 2173 'rejected' 2174 ] 2175 ], 2176 i = 'pending', 2177 a = { 2178 state: function () { 2179 return i; 2180 }, 2181 always: function () { 2182 return s.done(arguments).fail(arguments), this; 2183 }, 2184 catch: function (e) { 2185 return a.then(null, e); 2186 }, 2187 pipe: function () { 2188 var i = arguments; 2189 return S.Deferred(function (r) { 2190 S.each(o, function (e, t) { 2191 var n = m(i[t[4]]) && i[t[4]]; 2192 s[t[1]](function () { 2193 var e = n && n.apply(this, arguments); 2194 e && m(e.promise) 2195 ? e 2196 .promise() 2197 .progress(r.notify) 2198 .done(r.resolve) 2199 .fail(r.reject) 2200 : r[t[0] + 'With']( 2201 this, 2202 n ? [e] : arguments 2203 ); 2204 }); 2205 }), 2206 (i = null); 2207 }).promise(); 2208 }, 2209 then: function (t, n, r) { 2210 var u = 0; 2211 function l(i, o, a, s) { 2212 return function () { 2213 var n = this, 2214 r = arguments, 2215 e = function () { 2216 var e, t; 2217 if (!(i < u)) { 2218 if ( 2219 (e = a.apply(n, r)) === 2220 o.promise() 2221 ) 2222 throw new TypeError( 2223 'Thenable self
2223-resolution' 2224 ); 2225 (t = 2226 e && 2227 ('object' == typeof e || 2228 'function' == 2229 typeof e) && 2230 e.then), 2231 m(t) 2232 ? s 2233 ? t.call( 2234 e, 2235 l(u, o, R, s), 2236 l(u, o, M, s) 2237 ) 2238 : (u++, 2239 t.call( 2240 e, 2241 l(u, o, R, s), 2242 l(u, o, M, s), 2243 l( 2244 u, 2245 o, 2246 R, 2247 o.notifyWith 2248 ) 2249 )) 2250 : (a !== R && 2251 ((n = void 0), 2252 (r = [e])), 2253 (s || o.resolveWith)( 2254 n, 2255 r 2256 )); 2257 } 2258 }, 2259 t = s 2260 ? e 2261 : function () { 2262 try { 2263 e(); 2264 } catch (e) { 2265 S.Deferred 2266 .exceptionHook && 2267 S.Deferred.exceptionHook( 2268 e, 2269 t.stackTrace 2270 ), 2271 u <= i + 1 && 2272 (a !== M && 2273 ((n = void 0), 2274 (r = [e])), 2275 o.rejectWith( 2276 n, 2277 r 2278 )); 2279 } 2280 }; 2281 i 2282 ? t() 2283 : (S.Deferred.getStackHook && 2284 (t.stackTrace = 2285 S.Deferred.getStackHook()), 2286 C.setTimeout(t)); 2287 }; 2288 } 2289 return S.Deferred(function (e) { 2290 o[0][3].add( 2291 l(0, e, m(r) ? r : R, e.notifyWith) 2292 ), 2293 o[1][3].add(l(0, e, m(t) ? t : R)), 2294 o[2][3].add(l(0, e, m(n) ? n : M)); 2295 }).promise(); 2296 }, 2297 promise: function (e) { 2298 return null != e ? S.extend(e, a) : a; 2299 } 2300 }, 2301 s = {}; 2302 return ( 2303 S.each(o, function (e, t) { 2304 var n = t[2], 2305 r = t[5]; 2306 (a[t[1]] = n.add), 2307 r && 2308 n.add( 2309 function () { 2310 i = r; 2311 }, 2312 o[3 - e][2].disable, 2313 o[3 - e][3].disable, 2314 o[0][2].lock, 2315 o[0][3].lock 2316 ), 2317 n.add(t[3].fire), 2318 (s[t[0]] = function () { 2319 return ( 2320 s[t[0] + 'With']( 2321 this === s ? void 0 : this, 2322 arguments 2323 ), 2324 this 2325 ); 2326 }), 2327 (s[t[0] + 'With'] = n.fireWith); 2328 }), 2329 a.promise(s), 2330 e && e.call(s, s), 2331 s 2332 ); 2333 }, 2334 when: function (e) { 2335 var n = arguments.length, 2336 t = n, 2337 r = Array(t), 2338 i = s.call(arguments), 2339 o = S.Deferred(), 2340 a = function (t) { 2341 return function (e) { 2342 (r[t] = this), 2343 (i[t] = 2344 1 < arguments.length 2345 ? s.call(arguments) 2346 : e), 2347 --n || o.resolveWith(r, i); 2348 }; 2349 }; 2350 if ( 2351 n <= 1 && 2352 (I(e, o.done(a(t)).resolve, o.reject, !n), 2353 'pending' === o.state() || m(i[t] && i[t].then)) 2354 ) 2355 return o.then(); 2356 while (t--) I(i[t], a(t), o.reject); 2357 return o.promise(); 2358 } 2359 }); 2360 var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 2361 (S.Deferred.exceptionHook = function (e, t) { 2362 C.console && 2363 C.console.warn && 2364 e && 2365 W.test(e.name) && 2366 C.console.warn( 2367 'jQuery.Deferred exception: ' + e.message, 2368 e.stack, 2369 t 2370 ); 2371 }), 2372 (S.readyException = function (e) { 2373 C.setTimeout(function () { 2374 throw e; 2375 }); 2376 }); 2377 var F = S.Deferred(); 2378 function B() { 2379 E.removeEventListener('DOMContentLoaded', B), 2380 C.removeEventListener('load', B), 2381 S.ready(); 2382 } 2383 (S.fn.ready = function (e) { 2384 return ( 2385 F.then(e)['catch'](function (e) { 2386 S.readyException(e); 2387 }), 2388 this 2389 ); 2390 }), 2391 S.extend({ 2392 isReady: !1, 2393 readyWait: 1, 2394 ready: function (e) {
2395 (!0 === e ? --S.readyWait : S.isReady) || 2396 ((S.isReady = !0) !== e && 0 < --S.readyWait) || 2397 F.resolveWith(E, [S]); 2398 } 2399 }), 2400 (S.ready.then = F.then), 2401 'complete' === E.readyState || 2402 ('loading' !== E.readyState && !E.documentElement.doScroll) 2403 ? C.setTimeout(S.ready) 2404 : (E.addEventListener('DOMContentLoaded', B), 2405 C.addEventListener('load', B)); 2406 var $ = function (e, t, n, r, i, o, a) { 2407 var s = 0, 2408 u = e.length, 2409 l = null == n; 2410 if ('object' === w(n)) 2411 for (s in ((i = !0), n)) $(e, t, s, n[s], !0, o, a); 2412 else if ( 2413 void 0 !== r && 2414 ((i = !0), 2415 m(r) || (a = !0), 2416 l && 2417 (a 2418 ? (t.call(e, r), (t = null)) 2419 : ((l = t), 2420 (t = function (e, t, n) { 2421 return l.call(S(e), n); 2422 }))), 2423 t) 2424 ) 2425 for (; s < u; s++) 2426 t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); 2427 return i ? e : l ? t.call(e) : u ? t(e[0], n) : o; 2428 }, 2429 _ = /^-ms-/, 2430 z = /-([a-z])/g; 2431 function U(e, t) { 2432 return t.toUpperCase(); 2433 } 2434 function X(e) { 2435 return e.replace(_, 'ms-').replace(z, U); 2436 } 2437 var V = function (e) {
2438 return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType; 2439 }; 2440 function G() { 2441 this.expando = S.expando + G.uid++; 2442 } 2443 (G.uid = 1), 2444 (G.prototype = { 2445 cache: function (e) { 2446 var t = e[this.expando]; 2447 return ( 2448 t || 2449 ((t = {}), 2450 V(e) && 2451 (e.nodeType 2452 ? (e[this.expando] = t) 2453 : Object.defineProperty(e, this.expando, { 2454 value: t, 2455 configurable: !0 2456 }))), 2457 t 2458 ); 2459 }, 2460 set: function (e, t, n) { 2461 var r, 2462 i = this.cache(e); 2463 if ('string' == typeof t) i[X(t)] = n; 2464 else for (r in t) i[X(r)] = t[r]; 2465 return i; 2466 }, 2467 get: function (e, t) { 2468 return void 0 === t 2469 ? this.cache(e) 2470 : e[this.expando] && e[this.expando][X(t)]; 2471 }, 2472 access: function (e, t, n) { 2473 return void 0 === t || 2474 (t && 'string' == typeof t && void 0 === n) 2475 ? this.get(e, t) 2476 : (this.set(e, t, n), void 0 !== n ? n : t); 2477 }, 2478 remove: function (e, t) { 2479 var n, 2480 r = e[this.expando]; 2481 if (void 0 !== r) { 2482 if (void 0 !== t) { 2483 n = (t = Array.isArray(t) 2484 ? t.map(X) 2485 : (t = X(t)) in r 2486 ? [t] 2487 : t.match(P) || []).length; 2488 while (n--) delete r[t[n]]; 2489 } 2490 (void 0 === t || S.isEmptyObject(r)) && 2491 (e.nodeType 2492 ? (e[this.expando] = void 0) 2493 : delete e[this.expando]); 2494 } 2495 }, 2496 hasData: function (e) { 2497 var t = e[this.expando]; 2498 return void 0 !== t && !S.isEmptyObject(t); 2499 } 2500 }); 2501 var Y = new G(), 2502 Q = new G(), 2503 J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, 2504 K = /[A-Z]/g; 2505 function Z(e, t, n) { 2506 var r, i; 2507 if (void 0 === n && 1 === e.nodeType) 2508 if ( 2509 ((r = 'data-' + t.replace(K, '-$&').toLowerCase()), 2510 'string' == typeof (n = e.getAttribute(r))) 2511 ) { 2512 try { 2513 n = 2514 'true' === (i = n) || 2515 ('false' !== i && 2516 ('null' === i 2517 ? null 2518 : i === +i + '' 2519 ? +i 2520 : J.test(i) 2521 ? JSON.parse(i) 2522 : i)); 2523 } catch (e) {} 2524 Q.set(e, t, n); 2525 } else n = void 0; 2526 return n; 2527 } 2528 S.extend({ 2529 hasData: function (e) { 2530 return Q.hasData(e) || Y.hasData(e); 2531 }, 2532 data: function (e, t, n) { 2533 return Q.access(e, t, n); 2534 }, 2535 removeData: function (e, t) { 2536 Q.remove(e, t); 2537 }, 2538 _data: function (e, t, n) { 2539 return Y.access(e, t, n); 2540 }, 2541 _removeData: function (e, t) { 2542 Y.remove(e, t); 2543 } 2544 }), 2545 S.fn.extend({ 2546 data: function (n, e) { 2547 var t, 2548 r, 2549 i, 2550 o = this[0], 2551 a = o && o.attributes; 2552 if (void 0 === n) { 2553 if ( 2554 this.length && 2555 ((i = Q.get(o)), 2556 1 === o.nodeType && !Y.get(o, 'hasDataAttrs')) 2557 ) { 2558 t = a.length; 2559 while (t--) 2560 a[t] && 2561 0 === (r = a[t].name).indexOf('data-') && 2562 ((r = X(r.slice(5))), Z(o, r, i[r])); 2563 Y.set(o, 'hasDataAttrs', !0); 2564 } 2565 return i; 2566 } 2567 return 'object' == typeof n 2568 ? this.each(function () { 2569 Q.set(this, n); 2570 }) 2571 : $( 2572 this, 2573 function (e) { 2574 var t; 2575 if (o && void 0 === e) 2576 return void 0 !== (t = Q.get(o, n)) 2577 ? t 2578 : void 0 !== (t = Z(o, n)) 2579 ? t 2580 : void 0; 2581 this.each(function () { 2582 Q.set(this, n, e); 2583 }); 2584 }, 2585 null, 2586 e, 2587 1 < arguments.length, 2588 null, 2589 !0 2590 ); 2591 }, 2592 removeData: function (e) { 2593 return this.each(function () { 2594 Q.remove(this, e); 2595 }); 2596 } 2597 }), 2598 S.extend({ 2599 queue: function (e, t, n) { 2600 var r; 2601 if (e) 2602 return ( 2603 (t = (t || 'fx') + 'queue'), 2604 (r = Y.get(e, t)), 2605 n && 2606 (!r || Array.isArray(n) 2607 ? (r = Y.access(e, t, S.makeArray(n))) 2608 : r.push(n)), 2609 r || [] 2610 ); 2611 }, 2612 dequeue: function (e, t) { 2613 t = t || 'fx'; 2614 var n = S.queue(e, t), 2615 r = n.length, 2616 i = n.shift(), 2617 o = S._queueHooks(e, t); 2618 'inprogress' === i && ((i = n.shift()), r--), 2619 i && 2620 ('fx' === t && n.unshift('inprogress'), 2621 delete o.stop, 2622 i.call( 2623 e, 2624 function () { 2625 S.dequeue(e, t); 2626 }, 2627 o 2628 )), 2629 !r && o && o.empty.fire(); 2630 }, 2631 _queueHooks: function (e, t) { 2632 var n = t + 'queueHooks'; 2633 return ( 2634 Y.get(e, n) || 2635 Y.access(e, n, { 2636 empty: S.Callbacks('once memory').add(function () { 2637 Y.remove(e, [t + 'queue', n]); 2638 }) 2639 }) 2640 ); 2641 } 2642 }), 2643 S.fn.extend({ 2644 queue: function (t, n) { 2645 var e = 2; 2646 return ( 2647 'string' != typeof t && ((n = t), (t = 'fx'), e--), 2648 arguments.length < e 2649 ? S.queue(this[0], t) 2650 : void 0 === n 2651 ? this 2652 : this.each(function () { 2653 var e = S.queue(this, t, n); 2654 S._queueHooks(this, t), 2655 'fx' === t && 2656 'inprogress' !== e[0] && 2657 S.dequeue(this, t); 2658 }) 2659 ); 2660 }, 2661 dequeue: function (e) { 2662 return this.each(function () { 2663 S.dequeue(this, e); 2664 }); 2665 }, 2666 clearQueue: function (e) { 2667 return this.queue(e || 'fx', []); 2668 }, 2669 promise: function (e, t) { 2670 var n, 2671 r = 1, 2672 i = S.Deferred(), 2673 o = this, 2674 a = this.length, 2675 s = function () { 2676 --r || i.resolveWith(o, [o]); 2677 }; 2678 'string' != typeof e && ((t = e), (e = void 0)), 2679 (e = e || 'fx'); 2680 while (a--) 2681 (n = Y.get(o[a], e + 'queueHooks')) && 2682 n.empty && 2683 (r++, n.empty.add(s)); 2684 return s(), i.promise(t); 2685 } 2686 }); 2687 var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
2688 te = new RegExp('^(?:([+-])=|)(' + ee + ')([a-z%]*)$', 'i'), 2689 ne = ['Top', 'Right', 'Bottom', 'Left'], 2690 re = E.documentElement, 2691 ie = function (e) { 2692 return S.contains(e.ownerDocument, e); 2693 }, 2694 oe = { composed: !0 }; 2695 re.getRootNode && 2696 (ie = function (e) { 2697 return ( 2698 S.contains(e.ownerDocument, e) || 2699 e.getRootNode(oe) === e.ownerDocument 2700 ); 2701 }); 2702 var ae = function (e, t) { 2703 return ( 2704 'none' === (e = t || e).style.display || 2705 ('' === e.style.display && ie(e) && 'none' === S.css(e, 'display')) 2706 ); 2707 }; 2708 function se(e, t, n, r) { 2709 var i, 2710 o, 2711 a = 20, 2712 s = r 2713 ? function () { 2714 return r.cur(); 2715 } 2716 : function () { 2717 return S.css(e, t, ''); 2718 }, 2719 u = s(), 2720 l = (n && n[3]) || (S.cssNumber[t] ? '' : 'px'), 2721 c = 2722 e.nodeType && 2723 (S.cssNumber[t] || ('px' !== l && +u)) && 2724 te.exec(S.css(e, t)); 2725 if (c && c[3] !== l) { 2726 (u /= 2), (l = l || c[3]), (c = +u || 1); 2727 while (a--) 2728 S.style(e, t, c + l), 2729 (1 - o) * (1 - (o = s() / u || 0.5)) <= 0 && (a = 0), 2730 (c /= o); 2731 (c *= 2), S.style(e, t, c + l), (n = n || []); 2732 } 2733 return ( 2734 n && 2735 ((c = +c || +u || 0), 2736 (i = n[1] ? c + (n[1] + 1) * n[2] : +n[2]), 2737 r && ((r.unit = l), (r.start = c), (r.end = i))), 2738 i 2739 ); 2740 } 2741 var ue = {}; 2742 function le(e, t) { 2743 for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++) 2744 (r = e[c]).style && 2745 ((n = r.style.display), 2746 t 2747 ? ('none' === n && 2748 ((l[c] = Y.get(r, 'display') || null), 2749 l[c] || (r.style.display = '')), 2750 '' === r.style.display && 2751 ae(r) && 2752 (l[c] = 2753 ((u = a = o = void 0), 2754 (a = (i = r).ownerDocument), 2755 (s = i.nodeName), 2756 (u = ue[s]) || 2757 ((o = a.body.appendChild(a.createElement(s))), 2758 (u = S.css(o, 'display')), 2759 o.parentNode.removeChild(o), 2760 'none' === u && (u = 'block'), 2761 (ue[s] = u))))) 2762 : 'none' !== n && 2763 ((l[c] = 'none'), Y.set(r, 'display', n))); 2764 for (c = 0; c < f; c++) null != l[c] && (e[c].style.display = l[c]); 2765 return e; 2766 } 2767 S.fn.extend({ 2768 show: function () { 2769 return le(this, !0); 2770 }, 2771 hide: function () { 2772 return le(this); 2773 }, 2774 toggle: function (e) { 2775 return 'boolean' == typeof e 2776 ? e 2777 ? this.show() 2778 : this.hide() 2779 : this.each(function () { 2780 ae(this) ? S(this).show() : S(this).hide(); 2781 }); 2782 } 2783 }); 2784 var ce, 2785 fe, 2786 pe = /^(?:checkbox|radio)$/i, 2787 de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, 2788 he = /^$|^module$|\/(?:java|ecma)script/i; 2789 (ce = E.createDocumentFragment().appendChild(E.createElement('div'))), 2790 (fe = E.createElement('input')).setAttribute('type', 'radio'), 2791 fe.setAttribute('checked', 'checked'), 2792 fe.setAttribute('name', 't'), 2793 ce.appendChild(fe), 2794 (y.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked), 2795 (ce.innerHTML = '<textarea>x</textarea>'), 2796 (y.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue), 2797 (ce.innerHTML = '<option></option>'), 2798 (y.option = !!ce.lastChild); 2799 var ge = { 2800 thead: [1, '<table>', '</table>'], 2801 col: [2, '<table><colgroup>', '</colgroup></table>'], 2802 tr: [2, '<table><tbody>', '</tbody></table>'], 2803 td: [3, '<table><tbody><tr>', '</tr></tbody></table>'], 2804 _default: [0, '', ''] 2805 }; 2806 function ve(e, t) { 2807 var n; 2808 return ( 2809 (n = 2810 'undefined' != typeof e.getElementsByTagName 2811 ? e.getElementsByTagName(t || '*') 2812 : 'undefined' != typeof e.querySelectorAll 2813 ? e.querySelectorAll(t || '*') 2814 : []), 2815 void 0 === t || (t && A(e, t)) ? S.merge([e], n) : n 2816 ); 2817 } 2818 function ye(e, t) { 2819 for (var n = 0, r = e.length; n < r; n++) 2820 Y.set(e[n], 'globalEval', !t || Y.get(t[n], 'globalEval')); 2821 } 2822 (ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead), 2823 (ge.th = ge.td), 2824 y.option || 2825 (ge.optgroup = ge.option = 2826 [1, "<select multiple='multiple'>", '</select>']);
2827 var me = /<|&#?\w+;/; 2828 function xe(e, t, n, r, i) { 2829 for ( 2830 var o, 2831 a, 2832 s, 2833 u, 2834 l, 2835 c, 2836 f = t.createDocumentFragment(), 2837 p = [], 2838 d = 0, 2839 h = e.length; 2840 d < h; 2841 d++ 2842 ) 2843 if ((o = e[d]) || 0 === o) 2844 if ('object' === w(o)) S.merge(p, o.nodeType ? [o] : o); 2845 else if (me.test(o)) { 2846 (a = a || f.appendChild(t.createElement('div'))), 2847 (s = (de.exec(o) || ['', ''])[1].toLowerCase()), 2848 (u = ge[s] || ge._default), 2849 (a.innerHTML = u[1] + S.htmlPrefilter(o) + u[2]), 2850 (c = u[0]); 2851 while (c--) a = a.lastChild; 2852 S.merge(p, a.childNodes), 2853 ((a = f.firstChild).textContent = ''); 2854 } else p.push(t.createTextNode(o)); 2855 (f.textContent = ''), (d = 0); 2856 while ((o = p[d++])) 2857 if (r && -1 < S.inArray(o, r)) i && i.push(o); 2858 else if ( 2859 ((l = ie(o)), 2860 (a = ve(f.appendChild(o), 'script')), 2861 l && ye(a), 2862 n) 2863 ) { 2864 c = 0; 2865 while ((o = a[c++])) he.test(o.type || '') && n.push(o); 2866 } 2867 return f; 2868 } 2869 var be = /^([^.]*)(?:\.(.+)|)/; 2870 function we() { 2871 return !0; 2872 } 2873 function Te() { 2874 return !1; 2875 } 2876 function Ce(e, t) { 2877 return ( 2878 (e === 2879 (function () { 2880 try { 2881 return E.activeElement; 2882 } catch (e) {} 2883 })()) == 2884 ('focus' === t) 2885 ); 2886 } 2887 function Ee(e, t, n, r, i, o) { 2888 var a, s; 2889 if ('object' == typeof t) { 2890 for (s in ('string' != typeof n && ((r = r || n), (n = void 0)), t)) 2891 Ee(e, s, n, r, t[s], o); 2892 return e; 2893 } 2894 if ( 2895 (null == r && null == i 2896 ? ((i = n), (r = n = void 0)) 2897 : null == i && 2898 ('string' == typeof n 2899 ? ((i = r), (r = void 0)) 2900 : ((i = r), (r = n), (n = void 0))), 2901 !1 === i) 2902 ) 2903 i = Te; 2904 else if (!i) return e; 2905 return ( 2906 1 === o && 2907 ((a = i), 2908 ((i = function (e) { 2909 return S().off(e), a.apply(this, arguments); 2910 }).guid = a.guid || (a.guid = S.guid++))), 2911 e.each(function () { 2912 S.event.add(this, t, i, r, n); 2913 }) 2914 ); 2915 } 2916 function Se(e, i, o) { 2917 o 2918 ? (Y.set(e, i, !1), 2919 S.event.add(e, i, { 2920 namespace: !1, 2921 handler: function (e) { 2922 var t, 2923 n, 2924 r = Y.get(this, i); 2925 if (1 & e.isTrigger && this[i]) { 2926 if (r.length) 2927 (S.event.special[i] || {}).delegateType && 2928 e.stopPropagation(); 2929 else if ( 2930 ((r = s.call(arguments)), 2931 Y.set(this, i, r), 2932 (t = o(this, i)), 2933 this[i](), 2934 r !== (n = Y.get(this, i)) || t 2935 ? Y.set(this, i, !1) 2936 : (n = {}), 2937 r !== n) 2938 ) 2939 return ( 2940 e.stopImmediatePropagation(), 2941 e.preventDefault(), 2942 n && n.value 2943 ); 2944 } else 2945 r.length && 2946 (Y.set(this, i, { 2947 value: S.event.trigger( 2948 S.extend(r[0], S.Event.prototype), 2949 r.slice(1), 2950 this 2951 ) 2952 }), 2953 e.stopImmediatePropagation()); 2954 } 2955 })) 2956 : void 0 === Y.get(e, i) && S.event.add(e, i, we); 2957 } 2958 (S.event = { 2959 global: {}, 2960 add: function (t, e, n, r, i) { 2961 var o, 2962 a, 2963 s, 2964 u, 2965 l, 2966 c, 2967 f, 2968 p, 2969 d, 2970 h, 2971 g, 2972 v = Y.get(t); 2973 if (V(t)) { 2974 n.handler && ((n = (o = n).handler), (i = o.selector)), 2975 i && S.find.matchesSelector(re, i), 2976 n.guid || (n.guid = S.guid++), 2977 (u = v.events) || (u = v.events = Object.create(null)), 2978 (a = v.handle) || 2979 (a = v.handle = 2980 function (e) { 2981 return 'undefined' != typeof S && 2982 S.event.triggered !== e.type 2983 ? S.event.dispatch.apply(t, arguments) 2984 : void 0; 2985 }), 2986 (l = (e = (e || '').match(P) || ['']).length); 2987 while (l--) 2988 (d = g = (s = be.exec(e[l]) || [])[1]), 2989 (h = (s[2] || '').split('.').sort()), 2990 d && 2991 ((f = S.event.special[d] || {}), 2992 (d = (i ? f.delegateType : f.bindType) || d), 2993 (f = S.event.special[d] || {}), 2994 (c = S.extend( 2995 { 2996 type: d, 2997 origType: g, 2998 data: r, 2999 handler: n, 3000 guid: n.guid, 3001 selector: i, 3002 needsContext: 3003 i && S.expr.match.needsContext.test(i), 3004 namespace: h.join('.') 3005 }, 3006 o 3007 )), 3008 (p = u[d]) || 3009 (((p = u[d] = []).delegateCount = 0), 3010 (f.setup && !1 !== f.setup.call(t, r, h, a)) || 3011 (t.addEventListener && 3012 t.addEventListener(d, a))), 3013 f.add && 3014 (f.add.call(t, c), 3015 c.handler.guid || (c.handler.guid = n.guid)), 3016 i ? p.splice(p.delegateCount++, 0, c) : p.push(c), 3017 (S.event.global[d] = !0)); 3018 } 3019 }, 3020 remove: function (e, t, n, r, i) { 3021 var o, 3022 a, 3023 s, 3024 u, 3025 l, 3026 c, 3027 f, 3028 p, 3029 d, 3030 h, 3031 g, 3032 v = Y.hasData(e) && Y.get(e); 3033 if (v && (u = v.events)) { 3034 l = (t = (t || '').match(P) || ['']).length; 3035 while (l--) 3036 if ( 3037 ((d = g = (s = be.exec(t[l]) || [])[1]), 3038 (h = (s[2] || '').split('.').sort()), 3039 d) 3040 ) { 3041 (f = S.event.special[d] || {}), 3042 (p = 3043 u[ 3044 (d = (r ? f.delegateType : f.bindType) || d) 3045 ] || []), 3046 (s = 3047 s[2] && 3048 new RegExp( 3049 '(^|\\.)' + 3050 h.join('\\.(?:.*\\.|)') + 3051 '(\\.|$)' 3052 )), 3053 (a = o = p.length); 3054 while (o--) 3055 (c = p[o]), 3056 (!i && g !== c.origType) || 3057 (n && n.guid !== c.guid) || 3058 (s && !s.test(c.namespace)) || 3059 (r && 3060 r !== c.selector && 3061 ('**' !== r || !c.selector)) || 3062 (p.splice(o, 1), 3063 c.selector && p.delegateCount--, 3064 f.remove && f.remove.call(e, c)); 3065 a && 3066 !p.length && 3067 ((f.teardown && 3068 !1 !== f.teardown.call(e, h, v.handle)) || 3069 S.removeEvent(e, d, v.handle), 3070 delete u[d]); 3071 } else for (d in u) S.event.remove(e, d + t[l], n, r, !0); 3072 S.isEmptyObject(u) && Y.remove(e, 'handle events'); 3073 } 3074 }, 3075 dispatch: function (e) { 3076 var t, 3077 n, 3078 r, 3079 i, 3080 o, 3081 a, 3082 s = new Array(arguments.length), 3083 u = S.event.fix(e), 3084 l = 3085 (Y.get(this, 'events') || Object.create(null))[u.type] || 3086 [], 3087 c = S.event.special[u.type] || {}; 3088 for (s[0] = u, t = 1; t < arguments.length; t++) 3089 s[t] = arguments[t]; 3090 if ( 3091 ((u.delegateTarget = this), 3092 !c.preDispatch || !1 !== c.preDispatch.call(this, u)) 3093 ) { 3094 (a = S.event.handlers.call(this, u, l)), (t = 0); 3095 while ((i = a[t++]) && !u.isPropagationStopped()) { 3096 (u.currentTarget = i.elem), (n = 0); 3097 while ( 3098 (o = i.handlers[n++]) && 3099 !u.isImmediatePropagationStopped() 3100 ) 3101 (u.rnamespace && 3102 !1 !== o.namespace && 3103 !u.rnamespace.test(o.namespace)) || 3104 ((u.handleObj = o), 3105 (u.data = o.data), 3106 void 0 !== 3107 (r = ( 3108 (S.event.special[o.origType] || {}) 3109 .handle || o.handler 3110 ).apply(i.elem, s)) && 3111 !1 === (u.result = r) && 3112 (u.preventDefault(), u.stopPropagation())); 3113 } 3114 return c.postDispatch && c.postDispatch.call(this, u), u.result; 3115 } 3116 }, 3117 handlers: function (e, t) { 3118 var n, 3119 r, 3120 i, 3121 o, 3122 a, 3123 s = [], 3124 u = t.delegateCount, 3125 l = e.target; 3126 if (u && l.nodeType && !('click' === e.type && 1 <= e.button)) 3127 for (; l !== this; l = l.parentNode || this) 3128 if ( 3129 1 === l.nodeType && 3130 ('click' !== e.type || !0 !== l.disabled) 3131 ) { 3132 for (o = [], a = {}, n = 0; n < u; n++) 3133 void 0 === a[(i = (r = t[n]).selector + ' ')] && 3134 (a[i] = r.needsContext 3135 ? -1 < S(i, this).index(l) 3136 : S.find(i, this, null, [l]).length), 3137 a[i] && o.push(r); 3138 o.length && s.push({ elem: l, handlers: o }); 3139 } 3140 return ( 3141 (l = this), 3142 u < t.length && s.push({ elem: l, handlers: t.slice(u) }), 3143 s 3144 ); 3145 }, 3146 addProp: function (t, e) { 3147 Object.defineProperty(S.Event.prototype, t, { 3148 enumerable: !0, 3149 configurable: !0, 3150 get: m(e) 3151 ? function () { 3152 if (this.originalEvent) return e(this.originalEvent); 3153 } 3154 : function () { 3155 if (this.originalEvent) return this.originalEvent[t]; 3156 }, 3157 set: function (e) { 3158 Object.defineProperty(this, t, { 3159 enumerable: !0, 3160 configurable: !0, 3161 writable: !0, 3162 value: e 3163 }); 3164 } 3165 }); 3166 }, 3167 fix: function (e) { 3168 return e[S.expando] ? e : new S.Event(e); 3169 }, 3170 special: { 3171 load: { noBubble: !0 },
3172 click: { 3173 setup: function (e) { 3174 var t = this || e; 3175 return ( 3176 pe.test(t.type) && 3177 t.click && 3178 A(t, 'input') && 3179 Se(t, 'click', we), 3180 !1 3181 ); 3182 }, 3183 trigger: function (e) { 3184 var t = this || e; 3185 return ( 3186 pe.test(t.type) && 3187 t.click && 3188 A(t, 'input') && 3189 Se(t, 'click'), 3190 !0 3191 ); 3192 }, 3193 _default: function (e) { 3194 var t = e.target; 3195 return ( 3196 (pe.test(t.type) && 3197 t.click && 3198 A(t, 'input') && 3199 Y.get(t, 'click')) || 3200 A(t, 'a') 3201 ); 3202 } 3203 }, 3204 beforeunload: { 3205 postDispatch: function (e) { 3206 void 0 !== e.result && 3207 e.originalEvent && 3208 (e.originalEvent.returnValue = e.result); 3209 } 3210 } 3211 } 3212 }), 3213 (S.removeEvent = function (e, t, n) { 3214 e.removeEventListener && e.removeEventListener(t, n); 3215 }), 3216 (S.Event = function (e, t) { 3217 if (!(this instanceof S.Event)) return new S.Event(e, t); 3218 e && e.type 3219 ? ((this.originalEvent = e), 3220 (this.type = e.type), 3221 (this.isDefaultPrevented = 3222 e.defaultPrevented || 3223 (void 0 === e.defaultPrevented && !1 === e.returnValue) 3224 ? we 3225 : Te), 3226 (this.target = 3227 e.target && 3 === e.target.nodeType 3228 ? e.target.parentNode 3229 : e.target), 3230 (this.currentTarget = e.currentTarget), 3231 (this.relatedTarget = e.relatedTarget)) 3232 : (this.type = e), 3233 t && S.extend(this, t), 3234 (this.timeStamp = (e && e.timeStamp) || Date.now()), 3235 (this[S.expando] = !0); 3236 }), 3237 (S.Event.prototype = { 3238 constructor: S.Event, 3239 isDefaultPrevented: Te, 3240 isPropagationStopped: Te, 3241 isImmediatePropagationStopped: Te, 3242 isSimulated: !1, 3243 preventDefault: function () { 3244 var e = this.originalEvent; 3245 (this.isDefaultPrevented = we), 3246 e && !this.isSimulated && e.preventDefault(); 3247 }, 3248 stopPropagation: function () { 3249 var e = this.originalEvent; 3250 (this.isPropagationStopped = we), 3251 e && !this.isSimulated && e.stopPropagation(); 3252 }, 3253 stopImmediatePropagation: function () { 3254 var e = this.originalEvent; 3255 (this.isImmediatePropagationStopped = we), 3256 e && !this.isSimulated && e.stopImmediatePropagation(), 3257 this.stopPropagation(); 3258 } 3259 }), 3260 S.each( 3261 { 3262 altKey: !0, 3263 bubbles: !0, 3264 cancelable: !0, 3265 changedTouches: !0, 3266 ctrlKey: !0, 3267 detail: !0, 3268 eventPhase: !0, 3269 metaKey: !0, 3270 pageX: !0, 3271 pageY: !0, 3272 shiftKey: !0, 3273 view: !0, 3274 char: !0, 3275 code: !0, 3276 charCode: !0, 3277 key: !0, 3278 keyCode: !0, 3279 button: !0, 3280 buttons: !0, 3281 clientX: !0, 3282 clientY: !0, 3283 offsetX: !0, 3284 offsetY: !0, 3285 pointerId: !0, 3286 pointerType: !0, 3287 screenX: !0, 3288 screenY: !0, 3289 targetTouches: !0, 3290 toElement: !0, 3291 touches: !0, 3292 which: !0 3293 }, 3294 S.event.addProp 3295 ), 3296 S.each({ focus: 'focusin', blur: 'focusout' }, function (e, t) { 3297 S.event.special[e] = { 3298 setup: function () { 3299 return Se(this, e, Ce), !1; 3300 }, 3301 trigger: function () { 3302 return Se(this, e), !0; 3303 }, 3304 _default: function () { 3305 return !0; 3306 }, 3307 delegateType: t 3308 }; 3309 }), 3310 S.each( 3311 { 3312 mouseenter: 'mouseover', 3313 mouseleave: 'mouseout', 3314 pointerenter: 'pointerover', 3315 pointerleave: 'pointerout' 3316 }, 3317 function (e, i) { 3318 S.event.special[e] = { 3319 delegateType: i, 3320 bindType: i, 3321 handle: function (e) { 3322 var t, 3323 n = e.relatedTarget, 3324 r = e.handleObj; 3325 return ( 3326 (n && (n === this || S.contains(this, n))) || 3327 ((e.type = r.origType), 3328 (t = r.handler.apply(this, arguments)), 3329 (e.type = i)), 3330 t 3331 ); 3332 } 3333 }; 3334 } 3335 ), 3336 S.fn.extend({ 3337 on: function (e, t, n, r) { 3338 return Ee(this, e, t, n, r); 3339 }, 3340 one: function (e, t, n, r) { 3341 return Ee(this, e, t, n, r, 1); 3342 }, 3343 off: function (e, t, n) { 3344 var r, i; 3345 if (e && e.preventDefault && e.handleObj) 3346 return ( 3347 (r = e.handleObj), 3348 S(e.delegateTarget).off( 3349 r.namespace 3350 ? r.origType + '.' + r.namespace 3351 : r.origType, 3352 r.selector, 3353 r.handler 3354 ), 3355 this 3356 ); 3357 if ('object' == typeof e) { 3358 for (i in e) this.off(i, t, e[i]); 3359 return this; 3360 } 3361 return ( 3362 (!1 !== t && 'function' != typeof t) || 3363 ((n = t), (t = void 0)), 3364 !1 === n && (n = Te), 3365 this.each(function () { 3366 S.event.remove(this, e, n, t); 3367 }) 3368 ); 3369 } 3370 }); 3371 var ke = /<script|<style|<link/i, 3372 Ae = /checked\s*(?:[^=]|=\s*.checked.)/i, 3373 Ne = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; 3374 function je(e, t) { 3375 return ( 3376 (A(e, 'table') && 3377 A(11 !== t.nodeType ? t : t.firstChild, 'tr') && 3378 S(e).children('tbody')[0]) || 3379 e 3380 ); 3381 } 3382 function De(e) { 3383 return (e.type = (null !== e.getAttribute('type')) + '/' + e.type), e; 3384 } 3385 function qe(e) { 3386 return ( 3387 'true/' === (e.type || '').slice(0, 5) 3388 ? (e.type = e.type.slice(5)) 3389 : e.removeAttribute('type'), 3390 e 3391 ); 3392 } 3393 function Le(e, t) { 3394 var n, r, i, o, a, s; 3395 if (1 === t.nodeType) { 3396 if (Y.hasData(e) && (s = Y.get(e).events)) 3397 for (i in (Y.remove(t, 'handle events'), s)) 3398 for (n = 0, r = s[i].length; n < r; n++) 3399 S.event.add(t, i, s[i][n]); 3400 Q.hasData(e) && 3401 ((o = Q.access(e)), (a = S.extend({}, o)), Q.set(t, a)); 3402 } 3403 } 3404 function He(n, r, i, o) { 3405 r = g(r); 3406 var e, 3407 t, 3408 a, 3409 s, 3410 u, 3411 l, 3412 c = 0, 3413 f = n.length, 3414 p = f - 1, 3415 d = r[0], 3416 h = m(d); 3417 if (h || (1 < f && 'string' == typeof d && !y.checkClone && Ae.test(d))) 3418 return n.each(function (e) { 3419 var t = n.eq(e); 3420 h && (r[0] = d.call(this, e, t.html())), He(t, r, i, o); 3421 }); 3422 if ( 3423 f && 3424 ((t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild), 3425 1 === e.childNodes.length && (e = t), 3426 t || o) 3427 ) { 3428 for (s = (a = S.map(ve(e, 'script'), De)).length; c < f; c++) 3429 (u = e), 3430 c !== p && 3431 ((u = S.clone(u, !0, !0)), 3432 s && S.merge(a, ve(u, 'script'))), 3433 i.call(n[c], u, c); 3434 if (s) 3435 for ( 3436 l = a[a.length - 1].ownerDocument, S.map(a, qe), c = 0; 3437 c < s; 3438 c++ 3439 ) 3440 (u = a[c]), 3441 he.test(u.type || '') && 3442 !Y.access(u, 'globalEval') && 3443 S.contains(l, u) && 3444 (u.src && 'module' !== (u.type || '').toLowerCase() 3445 ? S._evalUrl && 3446 !u.noModule && 3447 S._evalUrl( 3448 u.src, 3449 { 3450 nonce: 3451 u.nonce || u.getAttribute('nonce') 3452 }, 3453 l 3454 ) 3455 : b(u.textContent.replace(Ne, ''), u, l)); 3456 } 3457 return n; 3458 } 3459 function Oe(e, t, n) { 3460 for (var r, i = t ? S.filter(t, e) : e, o = 0; null != (r = i[o]); o++) 3461 n || 1 !== r.nodeType || S.cleanData(ve(r)), 3462 r.parentNode && 3463 (n && ie(r) && ye(ve(r, 'script')), 3464 r.parentNode.removeChild(r)); 3465 return e; 3466 } 3467 S.extend({ 3468 htmlPrefilter: function (e) { 3469 return e; 3470 }, 3471 clone: function (e, t, n) { 3472 var r, 3473 i, 3474 o, 3475 a, 3476 s, 3477 u, 3478 l, 3479 c = e.cloneNode(!0), 3480 f = ie(e); 3481 if ( 3482 !( 3483 y.noCloneChecked ||
3484 (1 !== e.nodeType && 11 !== e.nodeType) || 3485 S.isXMLDoc(e) 3486 ) 3487 ) 3488 for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++) 3489 (s = o[r]), 3490 (u = a[r]), 3491 void 0, 3492 'input' === (l = u.nodeName.toLowerCase()) && 3493 pe.test(s.type) 3494 ? (u.checked = s.checked) 3495 : ('input' !== l && 'textarea' !== l) || 3496 (u.defaultValue = s.defaultValue); 3497 if (t) 3498 if (n) 3499 for ( 3500 o = o || ve(e), a = a || ve(c), r = 0, i = o.length; 3501 r < i; 3502 r++ 3503 ) 3504 Le(o[r], a[r]); 3505 else Le(e, c); 3506 return ( 3507 0 < (a = ve(c, 'script')).length && 3508 ye(a, !f && ve(e, 'script')), 3509 c 3510 ); 3511 }, 3512 cleanData: function (e) { 3513 for ( 3514 var t, n, r, i = S.event.special, o = 0; 3515 void 0 !== (n = e[o]); 3516 o++ 3517 ) 3518 if (V(n)) { 3519 if ((t = n[Y.expando])) { 3520 if (t.events) 3521 for (r in t.events) 3522 i[r] 3523 ? S.event.remove(n, r) 3524 : S.removeEvent(n, r, t.handle); 3525 n[Y.expando] = void 0; 3526 } 3527 n[Q.expando] && (n[Q.expando] = void 0); 3528 } 3529 } 3530 }), 3531 S.fn.extend({ 3532 detach: function (e) { 3533 return Oe(this, e, !0); 3534 }, 3535 remove: function (e) { 3536 return Oe(this, e); 3537 }, 3538 text: function (e) { 3539 return $( 3540 this, 3541 function (e) { 3542 return void 0 === e 3543 ? S.text(this) 3544 : this.empty().each(function () { 3545 (1 !== this.nodeType && 3546 11 !== this.nodeType && 3547 9 !== this.nodeType) || 3548 (this.textContent = e); 3549 }); 3550 }, 3551 null, 3552 e, 3553 arguments.length 3554 ); 3555 }, 3556 append: function () { 3557 return He(this, arguments, function (e) { 3558 (1 !== this.nodeType && 3559 11 !== this.nodeType && 3560 9 !== this.nodeType) || 3561 je(this, e).appendChild(e); 3562 }); 3563 }, 3564 prepend: function () { 3565 return He(this, arguments, function (e) { 3566 if ( 3567 1 === this.nodeType || 3568 11 === this.nodeType || 3569 9 === this.nodeType 3570 ) { 3571 var t = je(this, e); 3572 t.insertBefore(e, t.firstChild); 3573 } 3574 }); 3575 }, 3576 before: function () { 3577 return He(this, arguments, function (e) { 3578 this.parentNode && this.parentNode.insertBefore(e, this); 3579 }); 3580 }, 3581 after: function () { 3582 return He(this, arguments, function (e) { 3583 this.parentNode && 3584 this.parentNode.insertBefore(e, this.nextSibling); 3585 }); 3586 }, 3587 empty: function () { 3588 for (var e, t = 0; null != (e = this[t]); t++) 3589 1 === e.nodeType && 3590 (S.cleanData(ve(e, !1)), (e.textContent = '')); 3591 return this; 3592 }, 3593 clone: function (e, t) { 3594 return ( 3595 (e = null != e && e), 3596 (t = null == t ? e : t), 3597 this.map(function () { 3598 return S.clone(this, e, t); 3599 }) 3600 ); 3601 }, 3602 html: function (e) { 3603 return $( 3604 this, 3605 function (e) { 3606 var t = this[0] || {}, 3607 n = 0, 3608 r = this.length; 3609 if (void 0 === e && 1 === t.nodeType) 3610 return t.innerHTML; 3611 if ( 3612 'string' == typeof e && 3613 !ke.test(e) && 3614 !ge[(de.exec(e) || ['', ''])[1].toLowerCase()] 3615 ) { 3616 e = S.htmlPrefilter(e); 3617 try { 3618 for (; n < r; n++) 3619 1 === (t = this[n] || {}).nodeType && 3620 (S.cleanData(ve(t, !1)), 3621 (t.innerHTML = e)); 3622 t = 0; 3623 } catch (e) {} 3624 } 3625 t && this.empty().append(e); 3626 }, 3627 null, 3628 e, 3629 arguments.length 3630 ); 3631 }, 3632 replaceWith: function () { 3633 var n = []; 3634 return He( 3635 this, 3636 arguments, 3637 function (e) { 3638 var t = this.parentNode; 3639 S.inArray(this, n) < 0 && 3640 (S.cleanData(ve(this)), 3641 t && t.replaceChild(e, this)); 3642 }, 3643 n 3644 ); 3645 } 3646 }), 3647 S.each( 3648 { 3649 appendTo: 'append', 3650 prependTo: 'prepend', 3651 insertBefore: 'before', 3652 insertAfter: 'after', 3653 replaceAll: 'replaceWith' 3654 }, 3655 function (e, a) { 3656 S.fn[e] = function (e) { 3657 for ( 3658 var t, n = [], r = S(e), i = r.length - 1, o = 0; 3659 o <= i; 3660 o++ 3661 )
3662 (t = o === i ? this : this.clone(!0)), 3663 S(r[o])[a](t), 3664 u.apply(n, t.get()); 3665 return this.pushStack(n); 3666 }; 3667 } 3668 ); 3669 var Pe = new RegExp('^(' + ee + ')(?!px)[a-z%]+$', 'i'), 3670 Re = function (e) { 3671 var t = e.ownerDocument.defaultView; 3672 return (t && t.opener) || (t = C), t.getComputedStyle(e); 3673 }, 3674 Me = function (e, t, n) { 3675 var r, 3676 i, 3677 o = {}; 3678 for (i in t) (o[i] = e.style[i]), (e.style[i] = t[i]); 3679 for (i in ((r = n.call(e)), t)) e.style[i] = o[i]; 3680 return r; 3681 }, 3682 Ie = new RegExp(ne.join('|'), 'i'); 3683 function We(e, t, n) { 3684 var r, 3685 i, 3686 o, 3687 a, 3688 s = e.style; 3689 return ( 3690 (n = n || Re(e)) && 3691 ('' !== (a = n.getPropertyValue(t) || n[t]) || 3692 ie(e) || 3693 (a = S.style(e, t)), 3694 !y.pixelBoxStyles() && 3695 Pe.test(a) && 3696 Ie.test(t) && 3697 ((r = s.width), 3698 (i = s.minWidth), 3699 (o = s.maxWidth), 3700 (s.minWidth = s.maxWidth = s.width = a), 3701 (a = n.width), 3702 (s.width = r), 3703 (s.minWidth = i), 3704 (s.maxWidth = o))), 3705 void 0 !== a ? a + '' : a 3706 ); 3707 } 3708 function Fe(e, t) { 3709 return { 3710 get: function () { 3711 if (!e()) return (this.get = t).apply(this, arguments); 3712 delete this.get; 3713 } 3714 }; 3715 } 3716 !(function () { 3717 function e() { 3718 if (l) { 3719 (u.style.cssText = 3720 'position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0'), 3721 (l.style.cssText = 3722 'position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%'), 3723 re.appendChild(u).appendChild(l); 3724 var e = C.getComputedStyle(l); 3725 (n = '1%' !== e.top), 3726 (s = 12 === t(e.marginLeft)), 3727 (l.style.right = '60%'), 3728 (o = 36 === t(e.right)), 3729 (r = 36 === t(e.width)), 3730 (l.style.position = 'absolute'), 3731 (i = 12 === t(l.offsetWidth / 3)), 3732 re.removeChild(u), 3733 (l = null); 3734 } 3735 } 3736 function t(e) { 3737 return Math.round(parseFloat(e)); 3738 } 3739 var n, 3740 r, 3741 i, 3742 o, 3743 a, 3744 s, 3745 u = E.createElement('div'), 3746 l = E.createElement('div'); 3747 l.style && 3748 ((l.style.backgroundClip = 'content-box'), 3749 (l.cloneNode(!0).style.backgroundClip = ''), 3750 (y.clearCloneStyle = 'content-box' === l.style.backgroundClip), 3751 S.extend(y, { 3752 boxSizingReliable: function () { 3753 return e(), r; 3754 }, 3755 pixelBoxStyles: function () { 3756 return e(), o; 3757 }, 3758 pixelPosition: function () { 3759 return e(), n; 3760 }, 3761 reliableMarginLeft: function () { 3762 return e(), s; 3763 }, 3764 scrollboxSize: function () { 3765 return e(), i; 3766 }, 3767 reliableTrDimensions: function () { 3768 var e, t, n, r; 3769 return ( 3770 null == a && 3771 ((e = E.createElement('table')), 3772 (t = E.createElement('tr')), 3773 (n = E.createElement('div')), 3774 (e.style.cssText = 3775 'position:absolute;left:-11111px;border-collapse:separate'), 3776 (t.style.cssText = 'border:1px solid'), 3777 (t.style.height = '1px'), 3778 (n.style.height = '9px'), 3779 (n.style.display = 'block'), 3780 re.appendChild(e).appendChild(t).appendChild(n), 3781 (r = C.getComputedStyle(t)), 3782 (a = 3783 parseInt(r.height, 10) + 3784 parseInt(r.borderTopWidth, 10) + 3785 parseInt(r.borderBottomWidth, 10) === 3786 t.offsetHeight), 3787 re.removeChild(e)), 3788 a 3789 ); 3790 } 3791 })); 3792 })(); 3793 var Be = ['Webkit', 'Moz', 'ms'], 3794 $e = E.createElement('div').style, 3795 _e = {}; 3796 function ze(e) { 3797 var t = S.cssProps[e] || _e[e]; 3798 return ( 3799 t || 3800 (e in $e 3801 ? e 3802 : (_e[e] = 3803 (function (e) { 3804 var t = e[0].toUpperCase() + e.slice(1), 3805 n = Be.length; 3806 while (n--) if ((e = Be[n] + t) in $e) return e; 3807 })(e) || e)) 3808 ); 3809 } 3810 var Ue = /^(none|table(?!-c[ea]).+)/, 3811 Xe = /^--/, 3812 Ve = { position: 'absolute', visibility: 'hidden', display: 'block' }, 3813 Ge = { letterSpacing: '0', fontWeight: '400' }; 3814 function Ye(e, t, n) { 3815 var r = te.exec(t); 3816 return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || 'px') : t; 3817 } 3818 function Qe(e, t, n, r, i, o) { 3819 var a = 'width' === t ? 1 : 0, 3820 s = 0, 3821 u = 0; 3822 if (n === (r ? 'border' : 'content')) return 0; 3823 for (; a < 4; a += 2) 3824 'margin' === n && (u += S.css(e, n + ne[a], !0, i)), 3825 r 3826 ? ('content' === n && 3827 (u -= S.css(e, 'padding' + ne[a], !0, i)), 3828 'margin' !== n && 3829 (u -= S.css(e, 'border' + ne[a] + 'Width', !0, i))) 3830 : ((u += S.css(e, 'padding' + ne[a], !0, i)), 3831 'padding' !== n 3832 ? (u += S.css(e, 'border' + ne[a] + 'Width', !0, i)) 3833 : (s += S.css(e, 'border' + ne[a] + 'Width', !0, i))); 3834 return ( 3835 !r && 3836 0 <= o && 3837 (u += 3838 Math.max( 3839 0, 3840 Math.ceil( 3841 e['offset' + t[0].toUpperCase() + t.slice(1)] - 3842 o - 3843 u - 3844 s - 3845 0.5 3846 ) 3847 ) || 0), 3848 u 3849 ); 3850 } 3851 function Je(e, t, n) { 3852 var r = Re(e), 3853 i = 3854 (!y.boxSizingReliable() || n) && 3855 'border-box' === S.css(e, 'boxSizing', !1, r), 3856 o = i, 3857 a = We(e, t, r), 3858 s = 'offset' + t[0].toUpperCase() + t.slice(1); 3859 if (Pe.test(a)) { 3860 if (!n) return a; 3861 a = 'auto'; 3862 } 3863 return ( 3864 ((!y.boxSizingReliable() && i) || 3865 (!y.reliableTrDimensions() && A(e, 'tr')) || 3866 'auto' === a || 3867 (!parseFloat(a) && 'inline' === S.css(e, 'display', !1, r))) && 3868 e.getClientRects().length && 3869 ((i = 'border-box' === S.css(e, 'boxSizing', !1, r)), 3870 (o = s in e) && (a = e[s])), 3871 (a = parseFloat(a) || 0) + 3872 Qe(e, t, n || (i ? 'border' : 'content'), o, r, a) + 3873 'px' 3874 ); 3875 } 3876 function Ke(e, t, n, r, i) { 3877 return new Ke.prototype.init(e, t, n, r, i); 3878 } 3879 S.extend({ 3880 cssHooks: { 3881 opacity: { 3882 get: function (e, t) { 3883 if (t) { 3884 var n = We(e, 'opacity'); 3885 return '' === n ? '1' : n; 3886 } 3887 } 3888 } 3889 }, 3890 cssNumber: { 3891 animationIterationCount: !0, 3892 columnCount: !0, 3893 fillOpacity: !0, 3894 flexGrow: !0, 3895 flexShrink: !0, 3896 fontWeight: !0, 3897 gridArea: !0, 3898 gridColumn: !0, 3899 gridColumnEnd: !0, 3900 gridColumnStart: !0, 3901 gridRow: !0, 3902 gridRowEnd: !0, 3903 gridRowStart: !0, 3904 lineHeight: !0, 3905 opacity: !0, 3906 order: !0, 3907 orphans: !0, 3908 widows: !0, 3909 zIndex: !0, 3910 zoom: !0 3911 }, 3912 cssProps: {}, 3913 style: function (e, t, n, r) { 3914 if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { 3915 var i, 3916 o, 3917 a, 3918 s = X(t),
3919 u = Xe.test(t), 3920 l = e.style; 3921 if ( 3922 (u || (t = ze(s)), 3923 (a = S.cssHooks[t] || S.cssHooks[s]), 3924 void 0 === n) 3925 ) 3926 return a && 'get' in a && void 0 !== (i = a.get(e, !1, r)) 3927 ? i 3928 : l[t]; 3929 'string' === (o = typeof n) && 3930 (i = te.exec(n)) && 3931 i[1] && 3932 ((n = se(e, t, i)), (o = 'number')), 3933 null != n && 3934 n == n && 3935 ('number' !== o || 3936 u || 3937 (n += (i && i[3]) || (S.cssNumber[s] ? '' : 'px')), 3938 y.clearCloneStyle || 3939 '' !== n || 3940 0 !== t.indexOf('background') || 3941 (l[t] = 'inherit'), 3942 (a && 'set' in a && void 0 === (n = a.set(e, n, r))) || 3943 (u ? l.setProperty(t, n) : (l[t] = n))); 3944 } 3945 }, 3946 css: function (e, t, n, r) { 3947 var i, 3948 o, 3949 a, 3950 s = X(t); 3951 return ( 3952 Xe.test(t) || (t = ze(s)), 3953 (a = S.cssHooks[t] || S.cssHooks[s]) && 3954 'get' in a && 3955 (i = a.get(e, !0, n)), 3956 void 0 === i && (i = We(e, t, r)), 3957 'normal' === i && t in Ge && (i = Ge[t]), 3958 '' === n || n 3959 ? ((o = parseFloat(i)), 3960 !0 === n || isFinite(o) ? o || 0 : i) 3961 : i 3962 ); 3963 } 3964 }), 3965 S.each(['height', 'width'], function (e, u) { 3966 S.cssHooks[u] = { 3967 get: function (e, t, n) { 3968 if (t) 3969 return !Ue.test(S.css(e, 'display')) || 3970 (e.getClientRects().length && 3971 e.getBoundingClientRect().width) 3972 ? Je(e, u, n) 3973 : Me(e, Ve, function () { 3974 return Je(e, u, n); 3975 }); 3976 }, 3977 set: function (e, t, n) { 3978 var r, 3979 i = Re(e), 3980 o = !y.scrollboxSize() && 'absolute' === i.position, 3981 a = 3982 (o || n) && 3983 'border-box' === S.css(e, 'boxSizing', !1, i), 3984 s = n ? Qe(e, u, n, a, i) : 0; 3985 return ( 3986 a && 3987 o && 3988 (s -= Math.ceil( 3989 e['offset' + u[0].toUpperCase() + u.slice(1)] - 3990 parseFloat(i[u]) - 3991 Qe(e, u, 'border', !1, i) - 3992 0.5 3993 )), 3994 s && 3995 (r = te.exec(t)) && 3996 'px' !== (r[3] || 'px') && 3997 ((e.style[u] = t), (t = S.css(e, u))), 3998 Ye(0, t, s) 3999 ); 4000 } 4001 }; 4002 }), 4003 (S.cssHooks.marginLeft = Fe(y.reliableMarginLeft, function (e, t) { 4004 if (t) 4005 return ( 4006 (parseFloat(We(e, 'marginLeft')) || 4007 e.getBoundingClientRect().left - 4008 Me(e, { marginLeft: 0 }, function () { 4009 return e.getBoundingClientRect().left; 4010 })) + 'px' 4011 ); 4012 })),
4013 S.each({ margin: '', padding: '', border: 'Width' }, function (i, o) { 4014 (S.cssHooks[i + o] = { 4015 expand: function (e) { 4016 for ( 4017 var t = 0, 4018 n = {}, 4019 r = 'string' == typeof e ? e.split(' ') : [e]; 4020 t < 4; 4021 t++ 4022 ) 4023 n[i + ne[t] + o] = r[t] || r[t - 2] || r[0]; 4024 return n; 4025 } 4026 }), 4027 'margin' !== i && (S.cssHooks[i + o].set = Ye); 4028 }), 4029 S.fn.extend({ 4030 css: function (e, t) { 4031 return $( 4032 this, 4033 function (e, t, n) { 4034 var r, 4035 i, 4036 o = {}, 4037 a = 0; 4038 if (Array.isArray(t)) { 4039 for (r = Re(e), i = t.length; a < i; a++) 4040 o[t[a]] = S.css(e, t[a], !1, r); 4041 return o; 4042 } 4043 return void 0 !== n ? S.style(e, t, n) : S.css(e, t); 4044 }, 4045 e, 4046 t, 4047 1 < arguments.length 4048 ); 4049 } 4050 }), 4051 (((S.Tween = Ke).prototype = { 4052 constructor: Ke, 4053 init: function (e, t, n, r, i, o) { 4054 (this.elem = e), 4055 (this.prop = n), 4056 (this.easing = i || S.easing._default), 4057 (this.options = t), 4058 (this.start = this.now = this.cur()), 4059 (this.end = r), 4060 (this.unit = o || (S.cssNumber[n] ? '' : 'px')); 4061 }, 4062 cur: function () { 4063 var e = Ke.propHooks[this.prop]; 4064 return e && e.get 4065 ? e.get(this) 4066 : Ke.propHooks._default.get(this); 4067 }, 4068 run: function (e) { 4069 var t, 4070 n = Ke.propHooks[this.prop]; 4071 return ( 4072 this.options.duration 4073 ? (this.pos = t = 4074 S.easing[this.easing]( 4075 e, 4076 this.options.duration * e, 4077 0, 4078 1, 4079 this.options.duration 4080 )) 4081 : (this.pos = t = e), 4082 (this.now = (this.end - this.start) * t + this.start), 4083 this.options.step && 4084 this.options.step.call(this.elem, this.now, this), 4085 n && n.set ? n.set(this) : Ke.propHooks._default.set(this), 4086 this 4087 ); 4088 } 4089 }).init.prototype = Ke.prototype), 4090 ((Ke.propHooks = { 4091 _default: { 4092 get: function (e) { 4093 var t; 4094 return 1 !== e.elem.nodeType || 4095 (null != e.elem[e.prop] && null == e.elem.style[e.prop]) 4096 ? e.elem[e.prop] 4097 : (t = S.css(e.elem, e.prop, '')) && 'auto' !== t 4098 ? t 4099 : 0; 4100 }, 4101 set: function (e) { 4102 S.fx.step[e.prop] 4103 ? S.fx.step[e.prop](e) 4104 : 1 !== e.elem.nodeType || 4105 (!S.cssHooks[e.prop] && 4106 null == e.elem.style[ze(e.prop)]) 4107 ? (e.elem[e.prop] = e.now) 4108 : S.style(e.elem, e.prop, e.now + e.unit); 4109 } 4110 } 4111 }).scrollTop = Ke.propHooks.scrollLeft = 4112 { 4113 set: function (e) { 4114 e.elem.nodeType && 4115 e.elem.parentNode && 4116 (e.elem[e.prop] = e.now); 4117 } 4118 }), 4119 (S.easing = { 4120 linear: function (e) { 4121 return e; 4122 }, 4123 swing: function (e) { 4124 return 0.5 - Math.cos(e * Math.PI) / 2; 4125 },
4126 _default: 'swing' 4127 }), 4128 (S.fx = Ke.prototype.init), 4129 (S.fx.step = {}); 4130 var Ze, 4131 et, 4132 tt, 4133 nt, 4134 rt = /^(?:toggle|show|hide)$/, 4135 it = /queueHooks$/; 4136 function ot() { 4137 et && 4138 (!1 === E.hidden && C.requestAnimationFrame 4139 ? C.requestAnimationFrame(ot) 4140 : C.setTimeout(ot, S.fx.interval), 4141 S.fx.tick()); 4142 } 4143 function at() { 4144 return ( 4145 C.setTimeout(function () { 4146 Ze = void 0; 4147 }), 4148 (Ze = Date.now()) 4149 ); 4150 } 4151 function st(e, t) { 4152 var n, 4153 r = 0, 4154 i = { height: e }; 4155 for (t = t ? 1 : 0; r < 4; r += 2 - t) 4156 i['margin' + (n = ne[r])] = i['padding' + n] = e; 4157 return t && (i.opacity = i.width = e), i; 4158 } 4159 function ut(e, t, n) { 4160 for ( 4161 var r, 4162 i = (lt.tweeners[t] || []).concat(lt.tweeners['*']), 4163 o = 0, 4164 a = i.length; 4165 o < a; 4166 o++ 4167 ) 4168 if ((r = i[o].call(n, t, e))) return r; 4169 } 4170 function lt(o, e, t) { 4171 var n, 4172 a, 4173 r = 0, 4174 i = lt.prefilters.length, 4175 s = S.Deferred().always(function () { 4176 delete u.elem; 4177 }), 4178 u = function () { 4179 if (a) return !1; 4180 for ( 4181 var e = Ze || at(), 4182 t = Math.max(0, l.startTime + l.duration - e), 4183 n = 1 - (t / l.duration || 0), 4184 r = 0, 4185 i = l.tweens.length; 4186 r < i; 4187 r++ 4188 ) 4189 l.tweens[r].run(n); 4190 return ( 4191 s.notifyWith(o, [l, n, t]), 4192 n < 1 && i 4193 ? t 4194 : (i || s.notifyWith(o, [l, 1, 0]), 4195 s.resolveWith(o, [l]), 4196 !1) 4197 ); 4198 }, 4199 l = s.promise({ 4200 elem: o, 4201 props: S.extend({}, e), 4202 opts: S.extend( 4203 !0, 4204 { specialEasing: {}, easing: S.easing._default }, 4205 t 4206 ), 4207 originalProperties: e, 4208 originalOptions: t, 4209 startTime: Ze || at(), 4210 duration: t.duration, 4211 tweens: [], 4212 createTween: function (e, t) { 4213 var n = S.Tween( 4214 o, 4215 l.opts, 4216 e, 4217 t, 4218 l.opts.specialEasing[e] || l.opts.easing 4219 ); 4220 return l.tweens.push(n), n; 4221 }, 4222 stop: function (e) { 4223 var t = 0, 4224 n = e ? l.tweens.length : 0; 4225 if (a) return this; 4226 for (a = !0; t < n; t++) l.tweens[t].run(1); 4227 return ( 4228 e 4229 ? (s.notifyWith(o, [l, 1, 0]), 4230 s.resolveWith(o, [l, e])) 4231 : s.rejectWith(o, [l, e]), 4232 this 4233 ); 4234 } 4235 }), 4236 c = l.props; 4237 for ( 4238 !(function (e, t) { 4239 var n, r, i, o, a; 4240 for (n in e) 4241 if ( 4242 ((i = t[(r = X(n))]), 4243 (o = e[n]), 4244 Array.isArray(o) && ((i = o[1]), (o = e[n] = o[0])), 4245 n !== r && ((e[r] = o), delete e[n]), 4246 (a = S.cssHooks[r]) && ('expand' in a)) 4247 ) 4248 for (n in ((o = a.expand(o)), delete e[r], o)) 4249 (n in e) || ((e[n] = o[n]), (t[n] = i)); 4250 else t[r] = i; 4251 })(c, l.opts.specialEasing); 4252 r < i; 4253 r++ 4254 )
4255 if ((n = lt.prefilters[r].call(l, o, c, l.opts))) 4256 return ( 4257 m(n.stop) && 4258 (S._queueHooks(l.elem, l.opts.queue).stop = 4259 n.stop.bind(n)), 4260 n 4261 ); 4262 return ( 4263 S.map(c, ut, l), 4264 m(l.opts.start) && l.opts.start.call(o, l), 4265 l 4266 .progress(l.opts.progress) 4267 .done(l.opts.done, l.opts.complete) 4268 .fail(l.opts.fail) 4269 .always(l.opts.always), 4270 S.fx.timer(S.extend(u, { elem: o, anim: l, queue: l.opts.queue })), 4271 l 4272 ); 4273 } 4274 (S.Animation = S.extend(lt, { 4275 tweeners: { 4276 '*': [ 4277 function (e, t) { 4278 var n = this.createTween(e, t); 4279 return se(n.elem, e, te.exec(t), n), n; 4280 } 4281 ] 4282 }, 4283 tweener: function (e, t) { 4284 m(e) ? ((t = e), (e = ['*'])) : (e = e.match(P)); 4285 for (var n, r = 0, i = e.length; r < i; r++) 4286 (n = e[r]), 4287 (lt.tweeners[n] = lt.tweeners[n] || []), 4288 lt.tweeners[n].unshift(t); 4289 }, 4290 prefilters: [ 4291 function (e, t, n) { 4292 var r, 4293 i, 4294 o, 4295 a, 4296 s, 4297 u, 4298 l, 4299 c, 4300 f = 'width' in t || 'height' in t, 4301 p = this, 4302 d = {}, 4303 h = e.style, 4304 g = e.nodeType && ae(e), 4305 v = Y.get(e, 'fxshow'); 4306 for (r in (n.queue || 4307 (null == (a = S._queueHooks(e, 'fx')).unqueued && 4308 ((a.unqueued = 0), 4309 (s = a.empty.fire), 4310 (a.empty.fire = function () { 4311 a.unqueued || s(); 4312 })), 4313 a.unqueued++, 4314 p.always(function () { 4315 p.always(function () { 4316 a.unqueued--, 4317 S.queue(e, 'fx').length || a.empty.fire(); 4318 }); 4319 })), 4320 t)) 4321 if (((i = t[r]), rt.test(i))) { 4322 if ( 4323 (delete t[r], 4324 (o = o || 'toggle' === i), 4325 i === (g ? 'hide' : 'show')) 4326 ) { 4327 if ('show' !== i || !v || void 0 === v[r]) continue; 4328 g = !0; 4329 } 4330 d[r] = (v && v[r]) || S.style(e, r); 4331 } 4332 if ((u = !S.isEmptyObject(t)) || !S.isEmptyObject(d)) 4333 for (r in (f && 4334 1 === e.nodeType && 4335 ((n.overflow = [h.overflow, h.overflowX, h.overflowY]), 4336 null == (l = v && v.display) && 4337 (l = Y.get(e, 'display')), 4338 'none' === (c = S.css(e, 'display')) && 4339 (l 4340 ? (c = l) 4341 : (le([e], !0), 4342 (l = e.style.display || l), 4343 (c = S.css(e, 'display')), 4344 le([e]))), 4345 ('inline' === c || 4346 ('inline-block' === c && null != l)) && 4347 'none' === S.css(e, 'float') && 4348 (u || 4349 (p.done(function () { 4350 h.display = l; 4351 }), 4352 null == l && 4353 ((c = h.display), 4354 (l = 'none' === c ? '' : c))), 4355 (h.display = 'inline-block'))), 4356 n.overflow && 4357 ((h.overflow = 'hidden'), 4358 p.always(function () { 4359 (h.overflow = n.overflow[0]), 4360 (h.overflowX = n.overflow[1]), 4361 (h.overflowY = n.overflow[2]); 4362 })), 4363 (u = !1), 4364 d)) 4365 u || 4366 (v 4367 ? 'hidden' in v && (g = v.hidden) 4368 : (v = Y.access(e, 'fxshow', { display: l })), 4369 o && (v.hidden = !g), 4370 g && le([e], !0), 4371 p.done(function () { 4372 for (r in (g || le([e]), 4373 Y.remove(e, 'fxshow'), 4374 d)) 4375 S.style(e, r, d[r]); 4376 })), 4377 (u = ut(g ? v[r] : 0, r, p)), 4378 r in v || 4379 ((v[r] = u.start), 4380 g && ((u.end = u.start), (u.start = 0))); 4381 } 4382 ], 4383 prefilter: function (e, t) { 4384 t ? lt.prefilters.unshift(e) : lt.prefilters.push(e); 4385 } 4386 })), 4387 (S.speed = function (e, t, n) { 4388 var r = 4389 e && 'object' == typeof e 4390 ? S.extend({}, e) 4391 : { 4392 complete: n || (!n && t) || (m(e) && e), 4393 duration: e, 4394 easing: (n && t) || (t && !m(t) && t) 4395 }; 4396 return ( 4397 S.fx.off 4398 ? (r.duration = 0) 4399 : 'number' != typeof r.duration && 4400 (r.duration in S.fx.speeds 4401 ? (r.duration = S.fx.speeds[r.duration]) 4402 : (r.duration = S.fx.speeds._default)), 4403 (null != r.queue && !0 !== r.queue) || (r.queue = 'fx'), 4404 (r.old = r.complete), 4405 (r.complete = function () { 4406 m(r.old) && r.old.call(this), 4407 r.queue && S.dequeue(this, r.queue); 4408 }), 4409 r 4410 ); 4411 }), 4412 S.fn.extend({ 4413 fadeTo: function (e, t, n, r) { 4414 return this.filter(ae) 4415 .css('opacity', 0) 4416 .show() 4417 .end() 4418 .animate({ opacity: t }, e, n, r); 4419 }, 4420 animate: function (t, e, n, r) { 4421 var i = S.isEmptyObject(t), 4422 o = S.speed(e, n, r), 4423 a = function () { 4424 var e = lt(this, S.extend({}, t), o); 4425 (i || Y.get(this, 'finish')) && e.stop(!0); 4426 }; 4427 return ( 4428 (a.finish = a), 4429 i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) 4430 ); 4431 }, 4432 stop: function (i, e, o) { 4433 var a = function (e) { 4434 var t = e.stop; 4435 delete e.stop, t(o); 4436 }; 4437 return ( 4438 'string' != typeof i && ((o = e), (e = i), (i = void 0)), 4439 e && this.queue(i || 'fx', []), 4440 this.each(function () { 4441 var e = !0, 4442 t = null != i && i + 'queueHooks', 4443 n = S.timers, 4444 r = Y.get(this); 4445 if (t) r[t] && r[t].stop && a(r[t]); 4446 else 4447 for (t in r) 4448 r[t] && r[t].stop && it.test(t) && a(r[t]); 4449 for (t = n.length; t--; ) 4450 n[t].elem !== this || 4451 (null != i && n[t].queue !== i) || 4452 (n[t].anim.stop(o), (e = !1), n.splice(t, 1)); 4453 (!e && o) || S.dequeue(this, i); 4454 }) 4455 ); 4456 }, 4457 finish: function (a) { 4458 return ( 4459 !1 !== a && (a = a || 'fx'), 4460 this.each(function () { 4461 var e, 4462 t = Y.get(this), 4463 n = t[a + 'queue'], 4464 r = t[a + 'queueHooks'], 4465 i = S.timers, 4466 o = n ? n.length : 0; 4467 for ( 4468 t.finish = !0, 4469 S.queue(this, a, []), 4470 r && r.stop && r.stop.call(this, !0), 4471 e = i.length; 4472 e--; 4473 4474 ) 4475 i[e].elem === this && 4476 i[e].queue === a && 4477 (i[e].anim.stop(!0), i.splice(e, 1)); 4478 for (e = 0; e < o; e++) 4479 n[e] && n[e].finish && n[e].finish.call(this); 4480 delete t.finish; 4481 }) 4482 ); 4483 } 4484 }), 4485 S.each(['toggle', 'show', 'hide'], function (e, r) { 4486 var i = S.fn[r]; 4487 S.fn[r] = function (e, t, n) { 4488 return null == e || 'boolean' == typeof e 4489 ? i.apply(this, arguments) 4490 : this.animate(st(r, !0), e, t, n); 4491 }; 4492 }), 4493 S.each( 4494 {
4495 slideDown: st('show'), 4496 slideUp: st('hide'), 4497 slideToggle: st('toggle'), 4498 fadeIn: { opacity: 'show' }, 4499 fadeOut: { opacity: 'hide' }, 4500 fadeToggle: { opacity: 'toggle' } 4501 }, 4502 function (e, r) { 4503 S.fn[e] = function (e, t, n) { 4504 return this.animate(r, e, t, n); 4505 }; 4506 } 4507 ), 4508 (S.timers = []), 4509 (S.fx.tick = function () { 4510 var e, 4511 t = 0, 4512 n = S.timers; 4513 for (Ze = Date.now(); t < n.length; t++) 4514 (e = n[t])() || n[t] !== e || n.splice(t--, 1); 4515 n.length || S.fx.stop(), (Ze = void 0); 4516 }), 4517 (S.fx.timer = function (e) { 4518 S.timers.push(e), S.fx.start(); 4519 }), 4520 (S.fx.interval = 13), 4521 (S.fx.start = function () { 4522 et || ((et = !0), ot()); 4523 }), 4524 (S.fx.stop = function () { 4525 et = null; 4526 }), 4527 (S.fx.speeds = { slow: 600, fast: 200, _default: 400 }), 4528 (S.fn.delay = function (r, e) { 4529 return ( 4530 (r = (S.fx && S.fx.speeds[r]) || r), 4531 (e = e || 'fx'), 4532 this.queue(e, function (e, t) { 4533 var n = C.setTimeout(e, r); 4534 t.stop = function () { 4535 C.clearTimeout(n); 4536 }; 4537 }) 4538 ); 4539 }), 4540 (tt = E.createElement('input')), 4541 (nt = E.createElement('select').appendChild(E.createElement('option'))), 4542 (tt.type = 'checkbox'), 4543 (y.checkOn = '' !== tt.value), 4544 (y.optSelected = nt.selected), 4545 ((tt = E.createElement('input')).value = 't'), 4546 (tt.type = 'radio'), 4547 (y.radioValue = 't' === tt.value); 4548 var ct, 4549 ft = S.expr.attrHandle; 4550 S.fn.extend({ 4551 attr: function (e, t) { 4552 return $(this, S.attr, e, t, 1 < arguments.length); 4553 }, 4554 removeAttr: function (e) { 4555 return this.each(function () { 4556 S.removeAttr(this, e); 4557 }); 4558 } 4559 }), 4560 S.extend({ 4561 attr: function (e, t, n) { 4562 var r, 4563 i, 4564 o = e.nodeType; 4565 if (3 !== o && 8 !== o && 2 !== o) 4566 return 'undefined' == typeof e.getAttribute 4567 ? S.prop(e, t, n) 4568 : ((1 === o && S.isXMLDoc(e)) || 4569 (i = 4570 S.attrHooks[t.toLowerCase()] || 4571 (S.expr.match.bool.test(t) ? ct : void 0)), 4572 void 0 !== n 4573 ? null === n 4574 ? void S.removeAttr(e, t) 4575 : i && 4576 'set' in i && 4577 void 0 !== (r = i.set(e, n, t)) 4578 ? r 4579 : (e.setAttribute(t, n + ''), n) 4580 : i && 'get' in i && null !== (r = i.get(e, t)) 4581 ? r 4582 : null == (r = S.find.attr(e, t)) 4583 ? void 0 4584 : r); 4585 }, 4586 attrHooks: { 4587 type: { 4588 set: function (e, t) { 4589 if (!y.radioValue && 'radio' === t && A(e, 'input')) { 4590 var n = e.value; 4591 return ( 4592 e.setAttribute('type', t), n && (e.value = n), t 4593 ); 4594 } 4595 } 4596 } 4597 }, 4598 removeAttr: function (e, t) { 4599 var n, 4600 r = 0, 4601 i = t && t.match(P); 4602 if (i && 1 === e.nodeType) 4603 while ((n = i[r++])) e.removeAttribute(n); 4604 } 4605 }), 4606 (ct = { 4607 set: function (e, t, n) { 4608 return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n; 4609 } 4610 }), 4611 S.each(S.expr.match.bool.source.match(/\w+/g), function (e, t) { 4612 var a = ft[t] || S.find.attr; 4613 ft[t] = function (e, t, n) { 4614 var r, 4615 i, 4616 o = t.toLowerCase(); 4617 return ( 4618 n || 4619 ((i = ft[o]), 4620 (ft[o] = r), 4621 (r = null != a(e, t, n) ? o : null),
4622 (ft[o] = i)), 4623 r 4624 ); 4625 }; 4626 }); 4627 var pt = /^(?:input|select|textarea|button)$/i, 4628 dt = /^(?:a|area)$/i; 4629 function ht(e) { 4630 return (e.match(P) || []).join(' '); 4631 } 4632 function gt(e) { 4633 return (e.getAttribute && e.getAttribute('class')) || ''; 4634 } 4635 function vt(e) { 4636 return Array.isArray(e) 4637 ? e 4638 : ('string' == typeof e && e.match(P)) || []; 4639 } 4640 S.fn.extend({ 4641 prop: function (e, t) { 4642 return $(this, S.prop, e, t, 1 < arguments.length); 4643 }, 4644 removeProp: function (e) { 4645 return this.each(function () { 4646 delete this[S.propFix[e] || e]; 4647 }); 4648 } 4649 }), 4650 S.extend({ 4651 prop: function (e, t, n) { 4652 var r, 4653 i, 4654 o = e.nodeType; 4655 if (3 !== o && 8 !== o && 2 !== o) 4656 return ( 4657 (1 === o && S.isXMLDoc(e)) || 4658 ((t = S.propFix[t] || t), (i = S.propHooks[t])), 4659 void 0 !== n 4660 ? i && 'set' in i && void 0 !== (r = i.set(e, n, t)) 4661 ? r 4662 : (e[t] = n) 4663 : i && 'get' in i && null !== (r = i.get(e, t)) 4664 ? r 4665 : e[t] 4666 ); 4667 }, 4668 propHooks: { 4669 tabIndex: { 4670 get: function (e) { 4671 var t = S.find.attr(e, 'tabindex'); 4672 return t 4673 ? parseInt(t, 10) 4674 : pt.test(e.nodeName) || 4675 (dt.test(e.nodeName) && e.href) 4676 ? 0 4677 : -1; 4678 } 4679 } 4680 }, 4681 propFix: { for: 'htmlFor', class: 'className' } 4682 }), 4683 y.optSelected || 4684 (S.propHooks.selected = { 4685 get: function (e) { 4686 var t = e.parentNode; 4687 return ( 4688 t && t.parentNode && t.parentNode.selectedIndex, null 4689 ); 4690 }, 4691 set: function (e) { 4692 var t = e.parentNode; 4693 t && 4694 (t.selectedIndex, 4695 t.parentNode && t.parentNode.selectedIndex); 4696 } 4697 }), 4698 S.each( 4699 [ 4700 'tabIndex', 4701 'readOnly', 4702 'maxLength', 4703 'cellSpacing', 4704 'cellPadding', 4705 'rowSpan', 4706 'colSpan', 4707 'useMap', 4708 'frameBorder', 4709 'contentEditable' 4710 ], 4711 function () { 4712 S.propFix[this.toLowerCase()] = this; 4713 } 4714 ), 4715 S.fn.extend({ 4716 addClass: function (t) { 4717 var e, 4718 n, 4719 r, 4720 i, 4721 o, 4722 a, 4723 s, 4724 u = 0; 4725 if (m(t)) 4726 return this.each(function (e) { 4727 S(this).addClass(t.call(this, e, gt(this))); 4728 }); 4729 if ((e = vt(t)).length) 4730 while ((n = this[u++])) 4731 if ( 4732 ((i = gt(n)), 4733 (r = 1 === n.nodeType && ' ' + ht(i) + ' ')) 4734 ) { 4735 a = 0; 4736 while ((o = e[a++])) 4737 r.indexOf(' ' + o + ' ') < 0 && (r += o + ' '); 4738 i !== (s = ht(r)) && n.setAttribute('class', s); 4739 } 4740 return this; 4741 }, 4742 removeClass: function (t) { 4743 var e, 4744 n, 4745 r, 4746 i, 4747 o, 4748 a, 4749 s, 4750 u = 0; 4751 if (m(t)) 4752 return this.each(function (e) { 4753 S(this).removeClass(t.call(this, e, gt(this))); 4754 }); 4755 if (!arguments.length) return this.attr('class', ''); 4756 if ((e = vt(t)).length) 4757 while ((n = this[u++])) 4758 if ( 4759 ((i = gt(n)), 4760 (r = 1 === n.nodeType && ' ' + ht(i) + ' ')) 4761 ) { 4762 a = 0; 4763 while ((o = e[a++])) 4764 while (-1 < r.indexOf(' ' + o + ' ')) 4765 r = r.replace(' ' + o + ' ', ' '); 4766 i !== (s = ht(r)) && n.setAttribute('class', s); 4767 } 4768 return this; 4769 }, 4770 toggleClass: function (i, t) { 4771 var o = typeof i, 4772 a = 'string' === o || Array.isArray(i); 4773 return 'boolean' == typeof t && a 4774 ? t 4775 ? this.addClass(i) 4776 : this.removeClass(i) 4777 : m(i) 4778 ? this.each(function (e) {
4779 S(this).toggleClass(i.call(this, e, gt(this), t), t); 4780 }) 4781 : this.each(function () { 4782 var e, t, n, r; 4783 if (a) { 4784 (t = 0), (n = S(this)), (r = vt(i)); 4785 while ((e = r[t++])) 4786 n.hasClass(e) 4787 ? n.removeClass(e) 4788 : n.addClass(e); 4789 } else 4790 (void 0 !== i && 'boolean' !== o) || 4791 ((e = gt(this)) && 4792 Y.set(this, '__className__', e), 4793 this.setAttribute && 4794 this.setAttribute( 4795 'class', 4796 e || !1 === i 4797 ? '' 4798 : Y.get(this, '__className__') || 4799 '' 4800 )); 4801 }); 4802 }, 4803 hasClass: function (e) { 4804 var t, 4805 n, 4806 r = 0; 4807 t = ' ' + e + ' '; 4808 while ((n = this[r++])) 4809 if ( 4810 1 === n.nodeType && 4811 -1 < (' ' + ht(gt(n)) + ' ').indexOf(t) 4812 ) 4813 return !0; 4814 return !1; 4815 } 4816 }); 4817 var yt = /\r/g; 4818 S.fn.extend({ 4819 val: function (n) { 4820 var r, 4821 e, 4822 i, 4823 t = this[0]; 4824 return arguments.length 4825 ? ((i = m(n)), 4826 this.each(function (e) { 4827 var t; 4828 1 === this.nodeType && 4829 (null == (t = i ? n.call(this, e, S(this).val()) : n) 4830 ? (t = '') 4831 : 'number' == typeof t 4832 ? (t += '') 4833 : Array.isArray(t) && 4834 (t = S.map(t, function (e) { 4835 return null == e ? '' : e + ''; 4836 })), 4837 ((r = 4838 S.valHooks[this.type] || 4839 S.valHooks[this.nodeName.toLowerCase()]) && 4840 'set' in r && 4841 void 0 !== r.set(this, t, 'value')) || 4842 (this.value = t)); 4843 })) 4844 : t 4845 ? (r = 4846 S.valHooks[t.type] || 4847 S.valHooks[t.nodeName.toLowerCase()]) && 4848 'get' in r && 4849 void 0 !== (e = r.get(t, 'value')) 4850 ? e 4851 : 'string' == typeof (e = t.value) 4852 ? e.replace(yt, '') 4853 : null == e 4854 ? '' 4855 : e 4856 : void 0; 4857 } 4858 }), 4859 S.extend({ 4860 valHooks: { 4861 option: { 4862 get: function (e) { 4863 var t = S.find.attr(e, 'value'); 4864 return null != t ? t : ht(S.text(e)); 4865 } 4866 }, 4867 select: { 4868 get: function (e) { 4869 var t, 4870 n, 4871 r, 4872 i = e.options, 4873 o = e.selectedIndex, 4874 a = 'select-one' === e.type, 4875 s = a ? null : [], 4876 u = a ? o + 1 : i.length; 4877 for (r = o < 0 ? u : a ? o : 0; r < u; r++) 4878 if ( 4879 ((n = i[r]).selected || r === o) && 4880 !n.disabled && 4881 (!n.parentNode.disabled || 4882 !A(n.parentNode, 'optgroup')) 4883 ) { 4884 if (((t = S(n).val()), a)) return t; 4885 s.push(t); 4886 } 4887 return s; 4888 }, 4889 set: function (e, t) { 4890 var n, 4891 r, 4892 i = e.options, 4893 o = S.makeArray(t), 4894 a = i.length; 4895 while (a--) 4896 ((r = i[a]).selected = 4897 -1 < S.inArray(S.valHooks.option.get(r), o)) && 4898 (n = !0); 4899 return n || (e.selectedIndex = -1), o; 4900 } 4901 } 4902 } 4903 }), 4904 S.each(['radio', 'checkbox'], function () { 4905 (S.valHooks[this] = { 4906 set: function (e, t) { 4907 if (Array.isArray(t)) 4908 return (e.checked = -1 < S.inArray(S(e).val(), t)); 4909 } 4910 }), 4911 y.checkOn || 4912 (S.valHooks[this].get = function (e) { 4913 return null === e.getAttribute('value') 4914 ? 'on' 4915 : e.value; 4916 }); 4917 }), 4918 (y.focusin = 'onfocusin' in C); 4919 var mt = /^(?:focusinfocus|focusoutblur)$/, 4920 xt = function (e) { 4921 e.stopPropagation(); 4922 }; 4923 S.extend(S.event, { 4924 trigger: function (e, t, n, r) { 4925 var i, 4926 o, 4927 a, 4928 s, 4929 u, 4930 l, 4931 c, 4932 f, 4933 p = [n || E], 4934 d = v.call(e, 'type') ? e.type : e, 4935 h = v.call(e, 'namespace') ? e.namespace.split('.') : []; 4936 if ( 4937 ((o = f = a = n = n || E), 4938 3 !== n.nodeType && 4939 8 !== n.nodeType && 4940 !mt.test(d + S.event.triggered) && 4941 (-1 < d.indexOf('.') && 4942 ((d = (h = d.split('.')).shift()), h.sort()), 4943 (u = d.indexOf(':') < 0 && 'on' + d), 4944 ((e = e[S.expando] 4945 ? e 4946 : new S.Event(d, 'object' == typeof e && e)).isTrigger = 4947 r ? 2 : 3), 4948 (e.namespace = h.join('.')), 4949 (e.rnamespace = e.namespace 4950 ? new RegExp( 4951 '(^|\\.)' + h.join('\\.(?:.*\\.|)') + '(\\.|$)' 4952 ) 4953 : null),
4954 (e.result = void 0), 4955 e.target || (e.target = n), 4956 (t = null == t ? [e] : S.makeArray(t, [e])), 4957 (c = S.event.special[d] || {}), 4958 r || !c.trigger || !1 !== c.trigger.apply(n, t))) 4959 ) { 4960 if (!r && !c.noBubble && !x(n)) { 4961 for ( 4962 s = c.delegateType || d, 4963 mt.test(s + d) || (o = o.parentNode); 4964 o; 4965 o = o.parentNode 4966 ) 4967 p.push(o), (a = o); 4968 a === (n.ownerDocument || E) && 4969 p.push(a.defaultView || a.parentWindow || C); 4970 } 4971 i = 0; 4972 while ((o = p[i++]) && !e.isPropagationStopped()) 4973 (f = o), 4974 (e.type = 1 < i ? s : c.bindType || d), 4975 (l = 4976 (Y.get(o, 'events') || Object.create(null))[ 4977 e.type 4978 ] && Y.get(o, 'handle')) && l.apply(o, t), 4979 (l = u && o[u]) && 4980 l.apply && 4981 V(o) && 4982 ((e.result = l.apply(o, t)), 4983 !1 === e.result && e.preventDefault()); 4984 return ( 4985 (e.type = d), 4986 r || 4987 e.isDefaultPrevented() || 4988 (c._default && !1 !== c._default.apply(p.pop(), t)) || 4989 !V(n) || 4990 (u && 4991 m(n[d]) && 4992 !x(n) && 4993 ((a = n[u]) && (n[u] = null), 4994 (S.event.triggered = d), 4995 e.isPropagationStopped() && 4996 f.addEventListener(d, xt), 4997 n[d](), 4998 e.isPropagationStopped() && 4999 f.removeEventListener(d, xt), 5000 (S.event.triggered = void 0), 5001 a && (n[u] = a))), 5002 e.result 5003 ); 5004 } 5005 }, 5006 simulate: function (e, t, n) { 5007 var r = S.extend(new S.Event(), n, { type: e, isSimulated: !0 }); 5008 S.event.trigger(r, null, t); 5009 } 5010 }), 5011 S.fn.extend({ 5012 trigger: function (e, t) { 5013 return this.each(function () { 5014 S.event.trigger(e, t, this); 5015 }); 5016 }, 5017 triggerHandler: function (e, t) { 5018 var n = this[0]; 5019 if (n) return S.event.trigger(e, t, n, !0); 5020 } 5021 }), 5022 y.focusin || 5023 S.each({ focus: 'focusin', blur: 'focusout' }, function (n, r) { 5024 var i = function (e) { 5025 S.event.simulate(r, e.target, S.event.fix(e)); 5026 }; 5027 S.event.special[r] = { 5028 setup: function () { 5029 var e = this.ownerDocument || this.document || this, 5030 t = Y.access(e, r); 5031 t || e.addEventListener(n, i, !0), 5032 Y.access(e, r, (t || 0) + 1); 5033 }, 5034 teardown: function () { 5035 var e = this.ownerDocument || this.document || this, 5036 t = Y.access(e, r) - 1; 5037 t 5038 ? Y.access(e, r, t) 5039 : (e.removeEventListener(n, i, !0), Y.remove(e, r)); 5040 } 5041 }; 5042 }); 5043 var bt = C.location, 5044 wt = { guid: Date.now() }, 5045 Tt = /\?/; 5046 S.parseXML = function (e) { 5047 var t, n; 5048 if (!e || 'string' != typeof e) return null; 5049 try { 5050 t = new C.DOMParser().parseFromString(e, 'text/xml'); 5051 } catch (e) {} 5052 return ( 5053 (n = t && t.getElementsByTagName('parsererror')[0]), 5054 (t && !n) || 5055 S.error( 5056 'Invalid XML: ' + 5057 (n 5058 ? S.map(n.childNodes, function (e) { 5059 return e.textContent; 5060 }).join('\n') 5061 : e) 5062 ), 5063 t 5064 ); 5065 }; 5066 var Ct = /\[\]$/, 5067 Et = /\r?\n/g, 5068 St = /^(?:submit|button|image|reset|file)$/i, 5069 kt = /^(?:input|select|textarea|keygen)/i; 5070 function At(n, e, r, i) { 5071 var t; 5072 if (Array.isArray(e)) 5073 S.each(e, function (e, t) { 5074 r || Ct.test(n) 5075 ? i(n, t) 5076 : At( 5077 n + 5078 '[' + 5079 ('object' == typeof t && null != t ? e : '') + 5080 ']', 5081 t, 5082 r, 5083 i 5084 ); 5085 }); 5086 else if (r || 'object' !== w(e)) i(n, e); 5087 else for (t in e) At(n + '[' + t + ']', e[t], r, i); 5088 } 5089 (S.param = function (e, t) { 5090 var n, 5091 r = [], 5092 i = function (e, t) { 5093 var n = m(t) ? t() : t; 5094 r[r.length] = 5095 encodeURIComponent(e) + 5096 '=' + 5097 encodeURIComponent(null == n ? '' : n); 5098 }; 5099 if (null == e) return ''; 5100 if (Array.isArray(e) || (e.jquery && !S.isPlainObject(e))) 5101 S.each(e, function () { 5102 i(this.name, this.value); 5103 }); 5104 else for (n in e) At(n, e[n], t, i); 5105 return r.join('&'); 5106 }), 5107 S.fn.extend({ 5108 serialize: function () { 5109 return S.param(this.serializeArray()); 5110 }, 5111 serializeArray: function () { 5112 return this.map(function () { 5113 var e = S.prop(this, 'elements'); 5114 return e ? S.makeArray(e) : this; 5115 }) 5116 .filter(function () { 5117 var e = this.type; 5118 return ( 5119 this.name && 5120 !S(this).is(':disabled') && 5121 kt.test(this.nodeName) && 5122 !St.test(e) && 5123 (this.checked || !pe.test(e)) 5124 ); 5125 }) 5126 .map(function (e, t) { 5127 var n = S(this).val(); 5128 return null == n 5129 ? null 5130 : Array.isArray(n) 5131 ? S.map(n, function (e) { 5132 return { 5133 name: t.name, 5134 value: e.replace(Et, '\r\n') 5135 }; 5136 }) 5137 : { name: t.name, value: n.replace(Et, '\r\n') }; 5138 }) 5139 .get(); 5140 } 5141 }); 5142 var Nt = /%20/g, 5143 jt = /#.*$/, 5144 Dt = /([?&])_=[^&]*/, 5145 qt = /^(.*?):[ \t]*([^\r\n]*)$/gm, 5146 Lt = /^(?:GET|HEAD)$/, 5147 Ht = /^\/\//, 5148 Ot = {}, 5149 Pt = {}, 5150 Rt = '*/'.concat('*'), 5151 Mt = E.createElement('a'); 5152 function It(o) { 5153 return function (e, t) { 5154 'string' != typeof e && ((t = e), (e = '*')); 5155 var n, 5156 r = 0, 5157 i = e.toLowerCase().match(P) || []; 5158 if (m(t)) 5159 while ((n = i[r++])) 5160 '+' === n[0] 5161 ? ((n = n.slice(1) || '*'),
5162 (o[n] = o[n] || []).unshift(t)) 5163 : (o[n] = o[n] || []).push(t); 5164 }; 5165 } 5166 function Wt(t, i, o, a) { 5167 var s = {}, 5168 u = t === Pt; 5169 function l(e) { 5170 var r; 5171 return ( 5172 (s[e] = !0), 5173 S.each(t[e] || [], function (e, t) { 5174 var n = t(i, o, a); 5175 return 'string' != typeof n || u || s[n] 5176 ? u 5177 ? !(r = n) 5178 : void 0 5179 : (i.dataTypes.unshift(n), l(n), !1); 5180 }), 5181 r 5182 ); 5183 } 5184 return l(i.dataTypes[0]) || (!s['*'] && l('*')); 5185 } 5186 function Ft(e, t) { 5187 var n, 5188 r, 5189 i = S.ajaxSettings.flatOptions || {}; 5190 for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); 5191 return r && S.extend(!0, e, r), e; 5192 } 5193 (Mt.href = bt.href), 5194 S.extend({ 5195 active: 0, 5196 lastModified: {}, 5197 etag: {}, 5198 ajaxSettings: { 5199 url: bt.href, 5200 type: 'GET', 5201 isLocal: 5202 /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test( 5203 bt.protocol 5204 ), 5205 global: !0, 5206 processData: !0, 5207 async: !0, 5208 contentType: 'application/x-www-form-urlencoded; charset=UTF-8', 5209 accepts: { 5210 '*': Rt, 5211 text: 'text/plain', 5212 html: 'text/html', 5213 xml: 'application/xml, text/xml', 5214 json: 'application/json, text/javascript' 5215 }, 5216 contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, 5217 responseFields: { 5218 xml: 'responseXML', 5219 text: 'responseText', 5220 json: 'responseJSON' 5221 }, 5222 converters: { 5223 '* text': String, 5224 'text html': !0, 5225 'text json': JSON.parse, 5226 'text xml': S.parseXML 5227 }, 5228 flatOptions: { url: !0, context: !0 } 5229 }, 5230 ajaxSetup: function (e, t) { 5231 return t ? Ft(Ft(e, S.ajaxSettings), t) : Ft(S.ajaxSettings, e); 5232 }, 5233 ajaxPrefilter: It(Ot), 5234 ajaxTransport: It(Pt), 5235 ajax: function (e, t) { 5236 'object' == typeof e && ((t = e), (e = void 0)), (t = t || {}); 5237 var c, 5238 f, 5239 p, 5240 n, 5241 d, 5242 r, 5243 h, 5244 g, 5245 i, 5246 o, 5247 v = S.ajaxSetup({}, t), 5248 y = v.context || v, 5249 m = v.context && (y.nodeType || y.jquery) ? S(y) : S.event, 5250 x = S.Deferred(), 5251 b = S.Callbacks('once memory'), 5252 w = v.statusCode || {}, 5253 a = {}, 5254 s = {}, 5255 u = 'canceled', 5256 T = { 5257 readyState: 0, 5258 getResponseHeader: function (e) { 5259 var t; 5260 if (h) { 5261 if (!n) { 5262 n = {}; 5263 while ((t = qt.exec(p))) 5264 n[t[1].toLowerCase() + ' '] = ( 5265 n[t[1].toLowerCase() + ' '] || [] 5266 ).concat(t[2]); 5267 } 5268 t = n[e.toLowerCase() + ' ']; 5269 } 5270 return null == t ? null : t.join(', '); 5271 }, 5272 getAllResponseHeaders: function () { 5273 return h ? p : null; 5274 }, 5275 setRequestHeader: function (e, t) { 5276 return ( 5277 null == h && 5278 ((e = s[e.toLowerCase()] = 5279 s[e.toLowerCase()] || e), 5280 (a[e] = t)), 5281 this 5282 ); 5283 }, 5284 overrideMimeType: function (e) { 5285 return null == h && (v.mimeType = e), this; 5286 }, 5287 statusCode: function (e) { 5288 var t; 5289 if (e) 5290 if (h) T.always(e[T.status]); 5291 else for (t in e) w[t] = [w[t], e[t]]; 5292 return this; 5293 }, 5294 abort: function (e) { 5295 var t = e || u; 5296 return c && c.abort(t), l(0, t), this; 5297 } 5298 }; 5299 if ( 5300 (x.promise(T), 5301 (v.url = ((e || v.url || bt.href) + '').replace( 5302 Ht, 5303 bt.protocol + '//' 5304 )), 5305 (v.type = t.method || t.type || v.method || v.type), 5306 (v.dataTypes = (v.dataType || '*') 5307 .toLowerCase() 5308 .match(P) || ['']), 5309 null == v.crossDomain) 5310 ) { 5311 r = E.createElement('a'); 5312 try { 5313 (r.href = v.url), 5314 (r.href = r.href), 5315 (v.crossDomain = 5316 Mt.protocol + '//' + Mt.host != 5317 r.protocol + '//' + r.host); 5318 } catch (e) { 5319 v.crossDomain = !0; 5320 } 5321 } 5322 if ( 5323 (v.data && 5324 v.processData && 5325 'string' != typeof v.data && 5326 (v.data = S.param(v.data, v.traditional)), 5327 Wt(Ot, v, t, T), 5328 h) 5329 ) 5330 return T; 5331 for (i in ((g = S.event && v.global) && 5332 0 == S.active++ &&
5333 S.event.trigger('ajaxStart'), 5334 (v.type = v.type.toUpperCase()), 5335 (v.hasContent = !Lt.test(v.type)), 5336 (f = v.url.replace(jt, '')), 5337 v.hasContent 5338 ? v.data && 5339 v.processData && 5340 0 === 5341 (v.contentType || '').indexOf( 5342 'application/x-www-form-urlencoded' 5343 ) && 5344 (v.data = v.data.replace(Nt, '+')) 5345 : ((o = v.url.slice(f.length)), 5346 v.data && 5347 (v.processData || 'string' == typeof v.data) && 5348 ((f += (Tt.test(f) ? '&' : '?') + v.data), 5349 delete v.data), 5350 !1 === v.cache && 5351 ((f = f.replace(Dt, '$1')), 5352 (o = 5353 (Tt.test(f) ? '&' : '?') + '_=' + wt.guid++ + o)), 5354 (v.url = f + o)), 5355 v.ifModified && 5356 (S.lastModified[f] && 5357 T.setRequestHeader( 5358 'If-Modified-Since', 5359 S.lastModified[f] 5360 ), 5361 S.etag[f] && 5362 T.setRequestHeader('If-None-Match', S.etag[f])), 5363 ((v.data && v.hasContent && !1 !== v.contentType) || 5364 t.contentType) && 5365 T.setRequestHeader('Content-Type', v.contentType), 5366 T.setRequestHeader( 5367 'Accept', 5368 v.dataTypes[0] && v.accepts[v.dataTypes[0]] 5369 ? v.accepts[v.dataTypes[0]] + 5370 ('*' !== v.dataTypes[0] 5371 ? ', ' + Rt + '; q=0.01' 5372 : '') 5373 : v.accepts['*'] 5374 ), 5375 v.headers)) 5376 T.setRequestHeader(i, v.headers[i]); 5377 if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h)) 5378 return T.abort(); 5379 if ( 5380 ((u = 'abort'), 5381 b.add(v.complete), 5382 T.done(v.success), 5383 T.fail(v.error), 5384 (c = Wt(Pt, v, t, T))) 5385 ) { 5386 if ( 5387 ((T.readyState = 1), 5388 g && m.trigger('ajaxSend', [T, v]), 5389 h) 5390 ) 5391 return T; 5392 v.async && 5393 0 < v.timeout && 5394 (d = C.setTimeout(function () { 5395 T.abort('timeout'); 5396 }, v.timeout)); 5397 try { 5398 (h = !1), c.send(a, l); 5399 } catch (e) { 5400 if (h) throw e; 5401 l(-1, e); 5402 } 5403 } else l(-1, 'No Transport'); 5404 function l(e, t, n, r) { 5405 var i, 5406 o, 5407 a, 5408 s, 5409 u, 5410 l = t; 5411 h || 5412 ((h = !0), 5413 d && C.clearTimeout(d), 5414 (c = void 0), 5415 (p = r || ''), 5416 (T.readyState = 0 < e ? 4 : 0), 5417 (i = (200 <= e && e < 300) || 304 === e), 5418 n && 5419 (s = (function (e, t, n) { 5420 var r, 5421 i, 5422 o, 5423 a, 5424 s = e.contents, 5425 u = e.dataTypes; 5426 while ('*' === u[0]) 5427 u.shift(), 5428 void 0 === r && 5429 (r = 5430 e.mimeType || 5431 t.getResponseHeader( 5432 'Content-Type' 5433 )); 5434 if (r) 5435 for (i in s) 5436 if (s[i] && s[i].test(r)) { 5437 u.unshift(i); 5438 break; 5439 } 5440 if (u[0] in n) o = u[0]; 5441 else { 5442 for (i in n) { 5443 if ( 5444 !u[0] || 5445 e.converters[i + ' ' + u[0]] 5446 ) { 5447 o = i; 5448 break; 5449 } 5450 a || (a = i); 5451 } 5452 o = o || a; 5453 } 5454 if (o) return o !== u[0] && u.unshift(o), n[o]; 5455 })(v, T, n)), 5456 !i && 5457 -1 < S.inArray('script', v.dataTypes) && 5458 S.inArray('json', v.dataTypes) < 0 && 5459 (v.converters['text script'] = function () {}), 5460 (s = (function (e, t, n, r) { 5461 var i, 5462 o, 5463 a, 5464 s, 5465 u, 5466 l = {}, 5467 c = e.dataTypes.slice(); 5468 if (c[1]) 5469 for (a in e.converters) 5470 l[a.toLowerCase()] = e.converters[a]; 5471 o = c.shift(); 5472 while (o) 5473 if ( 5474 (e.responseFields[o] && 5475 (n[e.responseFields[o]] = t), 5476 !u && 5477 r && 5478 e.dataFilter && 5479 (t = e.dataFilter(t, e.dataType)), 5480 (u = o), 5481 (o = c.shift())) 5482 ) 5483 if ('*' === o) o = u; 5484 else if ('*' !== u && u !== o) { 5485 if ( 5486 !(a = l[u + ' ' + o] || l['* ' + o]) 5487 ) 5488 for (i in l) 5489 if ( 5490 (s = i.split(' '))[1] === 5491 o && 5492 (a = 5493 l[u + ' ' + s[0]] || 5494 l['* ' + s[0]]) 5495 ) { 5496 !0 === a 5497 ? (a = l[i]) 5498 : !0 !== l[i] && 5499 ((o = s[0]), 5500 c.unshift(s[1])); 5501 break; 5502 } 5503 if (!0 !== a) 5504 if (a && e['throws']) t = a(t); 5505 else 5506 try { 5507 t = a(t); 5508 } catch (e) { 5509 return { 5510 state: 'parsererror', 5511 error: a 5512 ? e 5513 : 'No conversion from ' + 5514 u + 5515 ' to ' + 5516 o 5517 }; 5518 } 5519 } 5520 return { state: 'success', data: t }; 5521 })(v, s, T, i)), 5522 i 5523 ? (v.ifModified && 5524 ((u = T.getResponseHeader('Last-Modified')) && 5525 (S.lastModified[f] = u), 5526 (u = T.getResponseHeader('etag')) && 5527 (S.etag[f] = u)), 5528 204 === e || 'HEAD' === v.type 5529 ? (l = 'nocontent') 5530 : 304 === e 5531 ? (l = 'notmodified') 5532 : ((l = s.state), 5533 (o = s.data), 5534 (i = !(a = s.error)))) 5535 : ((a = l), 5536 (!e && l) || ((l = 'error'), e < 0 && (e = 0))), 5537 (T.status = e), 5538 (T.statusText = (t || l) + ''), 5539 i 5540 ? x.resolveWith(y, [o, l, T]) 5541 : x.rejectWith(y, [T, l, a]), 5542 T.statusCode(w), 5543 (w = void 0), 5544 g && 5545 m.trigger(i ? 'ajaxSuccess' : 'ajaxError', [ 5546 T, 5547 v, 5548 i ? o : a 5549 ]), 5550 b.fireWith(y, [T, l]), 5551 g &&
5552 (m.trigger('ajaxComplete', [T, v]), 5553 --S.active || S.event.trigger('ajaxStop'))); 5554 } 5555 return T; 5556 }, 5557 getJSON: function (e, t, n) { 5558 return S.get(e, t, n, 'json'); 5559 }, 5560 getScript: function (e, t) { 5561 return S.get(e, void 0, t, 'script'); 5562 } 5563 }), 5564 S.each(['get', 'post'], function (e, i) { 5565 S[i] = function (e, t, n, r) { 5566 return ( 5567 m(t) && ((r = r || n), (n = t), (t = void 0)), 5568 S.ajax( 5569 S.extend( 5570 { 5571 url: e, 5572 type: i, 5573 dataType: r, 5574 data: t, 5575 success: n 5576 }, 5577 S.isPlainObject(e) && e 5578 ) 5579 ) 5580 ); 5581 }; 5582 }), 5583 S.ajaxPrefilter(function (e) { 5584 var t; 5585 for (t in e.headers) 5586 'content-type' === t.toLowerCase() && 5587 (e.contentType = e.headers[t] || ''); 5588 }), 5589 (S._evalUrl = function (e, t, n) { 5590 return S.ajax({ 5591 url: e, 5592 type: 'GET', 5593 dataType: 'script', 5594 cache: !0, 5595 async: !1, 5596 global: !1, 5597 converters: { 'text script': function () {} }, 5598 dataFilter: function (e) { 5599 S.globalEval(e, t, n); 5600 } 5601 }); 5602 }), 5603 S.fn.extend({ 5604 wrapAll: function (e) { 5605 var t; 5606 return ( 5607 this[0] && 5608 (m(e) && (e = e.call(this[0])), 5609 (t = S(e, this[0].ownerDocument).eq(0).clone(!0)), 5610 this[0].parentNode && t.insertBefore(this[0]), 5611 t 5612 .map(function () { 5613 var e = this; 5614 while (e.firstElementChild) 5615 e = e.firstElementChild; 5616 return e; 5617 }) 5618 .append(this)), 5619 this 5620 ); 5621 }, 5622 wrapInner: function (n) { 5623 return m(n) 5624 ? this.each(function (e) { 5625 S(this).wrapInner(n.call(this, e)); 5626 }) 5627 : this.each(function () { 5628 var e = S(this), 5629 t = e.contents(); 5630 t.length ? t.wrapAll(n) : e.append(n); 5631 }); 5632 }, 5633 wrap: function (t) { 5634 var n = m(t); 5635 return this.each(function (e) { 5636 S(this).wrapAll(n ? t.call(this, e) : t); 5637 }); 5638 }, 5639 unwrap: function (e) { 5640 return ( 5641 this.parent(e) 5642 .not('body') 5643 .each(function () { 5644 S(this).replaceWith(this.childNodes); 5645 }), 5646 this 5647 ); 5648 } 5649 }), 5650 (S.expr.pseudos.hidden = function (e) { 5651 return !S.expr.pseudos.visible(e); 5652 }), 5653 (S.expr.pseudos.visible = function (e) { 5654 return !!( 5655 e.offsetWidth || 5656 e.offsetHeight || 5657 e.getClientRects().length 5658 ); 5659 }), 5660 (S.ajaxSettings.xhr = function () { 5661 try { 5662 return new C.XMLHttpRequest(); 5663 } catch (e) {} 5664 }); 5665 var Bt = { 0: 200, 1223: 204 }, 5666 $t = S.ajaxSettings.xhr(); 5667 (y.cors = !!$t && 'withCredentials' in $t), 5668 (y.ajax = $t = !!$t), 5669 S.ajaxTransport(function (i) { 5670 var o, a; 5671 if (y.cors || ($t && !i.crossDomain)) 5672 return { 5673 send: function (e, t) { 5674 var n, 5675 r = i.xhr(); 5676 if ( 5677 (r.open( 5678 i.type, 5679 i.url, 5680 i.async, 5681 i.username, 5682 i.password 5683 ), 5684 i.xhrFields) 5685 ) 5686 for (n in i.xhrFields) r[n] = i.xhrFields[n]; 5687 for (n in (i.mimeType && 5688 r.overrideMimeType && 5689 r.overrideMimeType(i.mimeType), 5690 i.crossDomain || 5691 e['X-Requested-With'] || 5692 (e['X-Requested-With'] = 'XMLHttpRequest'), 5693 e)) 5694 r.setRequestHeader(n, e[n]); 5695 (o = function (e) { 5696 return function () { 5697 o && 5698 ((o = 5699 a = 5700 r.onload = 5701 r.onerror = 5702 r.onabort = 5703 r.ontimeout = 5704 r.onreadystatechange = 5705 null), 5706 'abort' === e 5707 ? r.abort() 5708 : 'error' === e 5709 ? 'number' != typeof r.status 5710 ? t(0, 'error') 5711 : t(r.status, r.statusText) 5712 : t( 5713 Bt[r.status] || r.status, 5714 r.statusText, 5715 'text' !== 5716 (r.responseType || 'text') || 5717 'string' != 5718 typeof r.responseText 5719 ? { binary: r.response } 5720 : { text: r.responseText }, 5721 r.getAllResponseHeaders() 5722 )); 5723 }; 5724 }), 5725 (r.onload = o()), 5726 (a = r.onerror = r.ontimeout = o('error')), 5727 void 0 !== r.onabort 5728 ? (r.onabort = a) 5729 : (r.onreadystatechange = function () { 5730 4 === r.readyState && 5731 C.setTimeout(function () { 5732 o && a(); 5733 }); 5734 }), 5735 (o = o('abort')); 5736 try { 5737 r.send((i.hasContent && i.data) || null); 5738 } catch (e) { 5739 if (o) throw e; 5740 } 5741 }, 5742 abort: function () { 5743 o && o(); 5744 } 5745 }; 5746 }), 5747 S.ajaxPrefilter(function (e) { 5748 e.crossDomain && (e.contents.script = !1); 5749 }), 5750 S.ajaxSetup({ 5751 accepts: { 5752 script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript' 5753 }, 5754 contents: { script: /\b(?:java|ecma)script\b/ }, 5755 converters: { 5756 'text script': function (e) { 5757 return S.globalEval(e), e; 5758 } 5759 } 5760 }), 5761 S.ajaxPrefilter('script', function (e) { 5762 void 0 === e.cache && (e.cache = !1), 5763 e.crossDomain && (e.type = 'GET'); 5764 }), 5765 S.ajaxTransport('script', function (n) { 5766 var r, i; 5767 if (n.crossDomain || n.scriptAttrs) 5768 return { 5769 send: function (e, t) { 5770 (r = S('<script>') 5771 .attr(n.scriptAttrs || {}) 5772 .prop({ charset: n.scriptCharset, src: n.url }) 5773 .on( 5774 'load error', 5775 (i = function (e) { 5776 r.remove(), 5777 (i = null),
5778 e && 5779 t( 5780 'error' === e.type ? 404 : 200, 5781 e.type 5782 ); 5783 }) 5784 )), 5785 E.head.appendChild(r[0]); 5786 }, 5787 abort: function () { 5788 i && i(); 5789 } 5790 }; 5791 }); 5792 var _t, 5793 zt = [], 5794 Ut = /(=)\?(?=&|$)|\?\?/; 5795 S.ajaxSetup({ 5796 jsonp: 'callback', 5797 jsonpCallback: function () { 5798 var e = zt.pop() || S.expando + '_' + wt.guid++; 5799 return (this[e] = !0), e; 5800 } 5801 }), 5802 S.ajaxPrefilter('json jsonp', function (e, t, n) { 5803 var r, 5804 i, 5805 o, 5806 a = 5807 !1 !== e.jsonp && 5808 (Ut.test(e.url) 5809 ? 'url' 5810 : 'string' == typeof e.data && 5811 0 === 5812 (e.contentType || '').indexOf( 5813 'application/x-www-form-urlencoded' 5814 ) && 5815 Ut.test(e.data) && 5816 'data'); 5817 if (a || 'jsonp' === e.dataTypes[0]) 5818 return ( 5819 (r = e.jsonpCallback = 5820 m(e.jsonpCallback) 5821 ? e.jsonpCallback() 5822 : e.jsonpCallback), 5823 a 5824 ? (e[a] = e[a].replace(Ut, '$1' + r)) 5825 : !1 !== e.jsonp && 5826 (e.url += 5827 (Tt.test(e.url) ? '&' : '?') + e.jsonp + '=' + r), 5828 (e.converters['script json'] = function () { 5829 return o || S.error(r + ' was not called'), o[0]; 5830 }), 5831 (e.dataTypes[0] = 'json'), 5832 (i = C[r]), 5833 (C[r] = function () { 5834 o = arguments; 5835 }), 5836 n.always(function () { 5837 void 0 === i ? S(C).removeProp(r) : (C[r] = i), 5838 e[r] && 5839 ((e.jsonpCallback = t.jsonpCallback), 5840 zt.push(r)), 5841 o && m(i) && i(o[0]), 5842 (o = i = void 0); 5843 }), 5844 'script' 5845 ); 5846 }), 5847 (y.createHTMLDocument = 5848 (((_t = E.implementation.createHTMLDocument('').body).innerHTML = 5849 '<form></form><form></form>'), 5850 2 === _t.childNodes.length)), 5851 (S.parseHTML = function (e, t, n) { 5852 return 'string' != typeof e 5853 ? [] 5854 : ('boolean' == typeof t && ((n = t), (t = !1)), 5855 t || 5856 (y.createHTMLDocument 5857 ? (((r = (t = 5858 E.implementation.createHTMLDocument( 5859 '' 5860 )).createElement('base')).href = 5861 E.location.href), 5862 t.head.appendChild(r)) 5863 : (t = E)), 5864 (o = !n && []), 5865 (i = N.exec(e)) 5866 ? [t.createElement(i[1])] 5867 : ((i = xe([e], t, o)), 5868 o && o.length && S(o).remove(), 5869 S.merge([], i.childNodes))); 5870 var r, i, o; 5871 }), 5872 (S.fn.load = function (e, t, n) { 5873 var r, 5874 i, 5875 o, 5876 a = this, 5877 s = e.indexOf(' '); 5878 return ( 5879 -1 < s && ((r = ht(e.slice(s))), (e = e.slice(0, s))), 5880 m(t) 5881 ? ((n = t), (t = void 0)) 5882 : t && 'object' == typeof t && (i = 'POST'), 5883 0 < a.length && 5884 S.ajax({ 5885 url: e, 5886 type: i || 'GET', 5887 dataType: 'html', 5888 data: t 5889 }) 5890 .done(function (e) { 5891 (o = arguments), 5892 a.html( 5893 r 5894 ? S('<div>') 5895 .append(S.parseHTML(e)) 5896 .find(r) 5897 : e 5898 ); 5899 }) 5900 .always( 5901 n && 5902 function (e, t) { 5903 a.each(function () { 5904 n.apply( 5905 this, 5906 o || [e.responseText, t, e] 5907 ); 5908 }); 5909 } 5910 ), 5911 this 5912 ); 5913 }), 5914 (S.expr.pseudos.animated = function (t) { 5915 return S.grep(S.timers, function (e) { 5916 return t === e.elem; 5917 }).length; 5918 }), 5919 (S.offset = { 5920 setOffset: function (e, t, n) { 5921 var r, 5922 i, 5923 o, 5924 a, 5925 s, 5926 u, 5927 l = S.css(e, 'position'), 5928 c = S(e), 5929 f = {}; 5930 'static' === l && (e.style.position = 'relative'), 5931 (s = c.offset()), 5932 (o = S.css(e, 'top')), 5933 (u = S.css(e, 'left')), 5934 ('absolute' === l || 'fixed' === l) && 5935 -1 < (o + u).indexOf('auto') 5936 ? ((a = (r = c.position()).top), (i = r.left)) 5937 : ((a = parseFloat(o) || 0), (i = parseFloat(u) || 0)), 5938 m(t) && (t = t.call(e, n, S.extend({}, s))), 5939 null != t.top && (f.top = t.top - s.top + a), 5940 null != t.left && (f.left = t.left - s.left + i), 5941 'using' in t ? t.using.call(e, f) : c.css(f); 5942 } 5943 }), 5944 S.fn.extend({ 5945 offset: function (t) { 5946 if (arguments.length) 5947 return void 0 === t 5948 ? this 5949 : this.each(function (e) { 5950 S.offset.setOffset(this, t, e); 5951 }); 5952 var e, 5953 n, 5954 r = this[0]; 5955 return r 5956 ? r.getClientRects().length 5957 ? ((e = r.getBoundingClientRect()), 5958 (n = r.ownerDocument.defaultView), 5959 { 5960 top: e.top + n.pageYOffset, 5961 left: e.left + n.pageXOffset 5962 }) 5963 : { top: 0, left: 0 } 5964 : void 0; 5965 }, 5966 position: function () { 5967 if (this[0]) { 5968 var e, 5969 t, 5970 n, 5971 r = this[0], 5972 i = { top: 0, left: 0 }; 5973 if ('fixed' === S.css(r, 'position')) 5974 t = r.getBoundingClientRect(); 5975 else { 5976 (t = this.offset()), 5977 (n = r.ownerDocument), 5978 (e = r.offsetParent || n.documentElement); 5979 while ( 5980 e && 5981 (e === n.body || e === n.documentElement) && 5982 'static' === S.css(e, 'position') 5983 ) 5984 e = e.parentNode; 5985 e && 5986 e !== r && 5987 1 === e.nodeType && 5988 (((i = S(e).offset()).top += S.css( 5989 e, 5990 'borderTopWidth', 5991 !0 5992 )), 5993 (i.left += S.css(e, 'borderLeftWidth', !0))); 5994 } 5995 return { 5996 top: t.top - i.top - S.css(r, 'marginTop', !0),
5997 left: t.left - i.left - S.css(r, 'marginLeft', !0) 5998 }; 5999 } 6000 }, 6001 offsetParent: function () { 6002 return this.map(function () { 6003 var e = this.offsetParent; 6004 while (e && 'static' === S.css(e, 'position')) 6005 e = e.offsetParent; 6006 return e || re; 6007 }); 6008 } 6009 }), 6010 S.each( 6011 { scrollLeft: 'pageXOffset', scrollTop: 'pageYOffset' }, 6012 function (t, i) { 6013 var o = 'pageYOffset' === i; 6014 S.fn[t] = function (e) { 6015 return $( 6016 this, 6017 function (e, t, n) { 6018 var r; 6019 if ( 6020 (x(e) 6021 ? (r = e) 6022 : 9 === e.nodeType && (r = e.defaultView), 6023 void 0 === n) 6024 ) 6025 return r ? r[i] : e[t]; 6026 r 6027 ? r.scrollTo( 6028 o ? r.pageXOffset : n, 6029 o ? n : r.pageYOffset 6030 ) 6031 : (e[t] = n); 6032 }, 6033 t, 6034 e, 6035 arguments.length 6036 ); 6037 }; 6038 } 6039 ), 6040 S.each(['top', 'left'], function (e, n) { 6041 S.cssHooks[n] = Fe(y.pixelPosition, function (e, t) { 6042 if (t) 6043 return ( 6044 (t = We(e, n)), 6045 Pe.test(t) ? S(e).position()[n] + 'px' : t 6046 ); 6047 }); 6048 }), 6049 S.each({ Height: 'height', Width: 'width' }, function (a, s) { 6050 S.each( 6051 { padding: 'inner' + a, content: s, '': 'outer' + a }, 6052 function (r, o) { 6053 S.fn[o] = function (e, t) { 6054 var n = 6055 arguments.length && 6056 (r || 'boolean' != typeof e), 6057 i = 6058 r || 6059 (!0 === e || !0 === t ? 'margin' : 'border'); 6060 return $( 6061 this, 6062 function (e, t, n) { 6063 var r; 6064 return x(e) 6065 ? 0 === o.indexOf('outer') 6066 ? e['inner' + a] 6067 : e.document.documentElement[ 6068 'client' + a 6069 ] 6070 : 9 === e.nodeType 6071 ? ((r = e.documentElement), 6072 Math.max( 6073 e.body['scroll' + a], 6074 r['scroll' + a], 6075 e.body['offset' + a], 6076 r['offset' + a], 6077 r['client' + a] 6078 )) 6079 : void 0 === n 6080 ? S.css(e, t, i) 6081 : S.style(e, t, n, i); 6082 }, 6083 s, 6084 n ? e : void 0, 6085 n 6086 ); 6087 }; 6088 } 6089 ); 6090 }), 6091 S.each( 6092 [ 6093 'ajaxStart', 6094 'ajaxStop', 6095 'ajaxComplete', 6096 'ajaxError', 6097 'ajaxSuccess', 6098 'ajaxSend' 6099 ], 6100 function (e, t) { 6101 S.fn[t] = function (e) { 6102 return this.on(t, e); 6103 }; 6104 } 6105 ), 6106 S.fn.extend({ 6107 bind: function (e, t, n) { 6108 return this.on(e, null, t, n); 6109 }, 6110 unbind: function (e, t) { 6111 return this.off(e, null, t); 6112 }, 6113 delegate: function (e, t, n, r) { 6114 return this.on(t, e, n, r); 6115 }, 6116 undelegate: function (e, t, n) { 6117 return 1 === arguments.length 6118 ? this.off(e, '**') 6119 : this.off(t, e || '**', n); 6120 }, 6121 hover: function (e, t) { 6122 return this.mouseenter(e).mouseleave(t || e); 6123 } 6124 }), 6125 S.each( 6126 'blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu'.split( 6127 ' ' 6128 ), 6129 function (e, n) { 6130 S.fn[n] = function (e, t) { 6131 return 0 < arguments.length 6132 ? this.on(n, null, e, t) 6133 : this.trigger(n); 6134 }; 6135 } 6136 ); 6137 var Xt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; 6138 (S.proxy = function (e, t) { 6139 var n, r, i; 6140 if (('string' == typeof t && ((n = e[t]), (t = e), (e = n)), m(e))) 6141 return ( 6142 (r = s.call(arguments, 2)), 6143 ((i = function () { 6144 return e.apply(t || this, r.concat(s.call(arguments))); 6145 }).guid = e.guid = 6146 e.guid || S.guid++), 6147 i 6148 ); 6149 }), 6150 (S.holdReady = function (e) { 6151 e ? S.readyWait++ : S.ready(!0); 6152 }), 6153 (S.isArray = Array.isArray), 6154 (S.parseJSON = JSON.parse), 6155 (S.nodeName = A), 6156 (S.isFunction = m), 6157 (S.isWindow = x), 6158 (S.camelCase = X), 6159 (S.type = w), 6160 (S.now = Date.now), 6161 (S.isNumeric = function (e) { 6162 var t = S.type(e); 6163 return ( 6164 ('number' === t || 'string' === t) && !isNaN(e - parseFloat(e)) 6165 ); 6166 }), 6167 (S.trim = function (e) { 6168 return null == e ? '' : (e + '').replace(Xt, ''); 6169 }), 6170 'function' == typeof define && 6171 define.amd && 6172 define('jquery', [], function () { 6173 return S; 6174 }); 6175 var Vt = C.jQuery, 6176 Gt = C.$; 6177 return ( 6178 (S.noConflict = function (e) { 6179 return ( 6180 C.$ === S && (C.$ = Gt), 6181 e && C.jQuery === S && (C.jQuery = Vt), 6182 S 6183 ); 6184 }), 6185 'undefined' == typeof e && (C.jQuery = C.$ = S), 6186 S 6187 ); 6188}); 6189 6190/*! VelocityJS.org (1.5.0). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */
6191/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */ 6192!(function (a) { 6193 'use strict'; 6194 function b(a) { 6195 var b = a.length, 6196 d = c.type(a); 6197 return ( 6198 'function' !== d && 6199 !c.isWindow(a) && 6200 (!(1 !== a.nodeType || !b) || 6201 'array' === d || 6202 0 === b || 6203 ('number' == typeof b && b > 0 && b - 1 in a)) 6204 ); 6205 } 6206 if (!a.jQuery) { 6207 var c = function (a, b) { 6208 return new c.fn.init(a, b); 6209 }; 6210 (c.isWindow = function (a) { 6211 return a && a === a.window; 6212 }), 6213 (c.type = function (a) { 6214 return a 6215 ? 'object' == typeof a || 'function' == typeof a 6216 ? e[g.call(a)] || 'object' 6217 : typeof a 6218 : a + ''; 6219 }), 6220 (c.isArray = 6221 Array.isArray || 6222 function (a) { 6223 return 'array' === c.type(a); 6224 }), 6225 (c.isPlainObject = function (a) { 6226 var b; 6227 if (!a || 'object' !== c.type(a) || a.nodeType || c.isWindow(a)) 6228 return !1; 6229 try { 6230 if ( 6231 a.constructor && 6232 !f.call(a, 'constructor') && 6233 !f.call(a.constructor.prototype, 'isPrototypeOf') 6234 ) 6235 return !1; 6236 } catch (d) { 6237 return !1; 6238 } 6239 for (b in a); 6240 return b === undefined || f.call(a, b); 6241 }), 6242 (c.each = function (a, c, d) { 6243 var e = 0, 6244 f = a.length, 6245 g = b(a); 6246 if (d) { 6247 if (g) for (; e < f && !1 !== c.apply(a[e], d); e++); 6248 else 6249 for (e in a) 6250 if (a.hasOwnProperty(e) && !1 === c.apply(a[e], d)) 6251 break; 6252 } else if (g) 6253 for (; e < f && !1 !== c.call(a[e], e, a[e]); e++); 6254 else 6255 for (e in a) 6256 if (a.hasOwnProperty(e) && !1 === c.call(a[e], e, a[e])) 6257 break; 6258 return a; 6259 }), 6260 (c.data = function (a, b, e) { 6261 if (e === undefined) { 6262 var f = a[c.expando], 6263 g = f && d[f]; 6264 if (b === undefined) return g; 6265 if (g && b in g) return g[b]; 6266 } else if (b !== undefined) { 6267 var h = a[c.expando] || (a[c.expando] = ++c.uuid); 6268 return (d[h] = d[h] || {}), (d[h][b] = e), e; 6269 } 6270 }), 6271 (c.removeData = function (a, b) { 6272 var e = a[c.expando], 6273 f = e && d[e]; 6274 f && 6275 (b 6276 ? c.each(b, function (a, b) { 6277 delete f[b]; 6278 }) 6279 : delete d[e]); 6280 }), 6281 (c.extend = function () { 6282 var a, 6283 b, 6284 d, 6285 e, 6286 f, 6287 g, 6288 h = arguments[0] || {}, 6289 i = 1, 6290 j = arguments.length, 6291 k = !1; 6292 for ( 6293 'boolean' == typeof h && 6294 ((k = h), (h = arguments[i] || {}), i++), 6295 'object' != typeof h && 6296 'function' !== c.type(h) && 6297 (h = {}), 6298 i === j && ((h = this), i--); 6299 i < j; 6300 i++ 6301 ) 6302 if ((f = arguments[i])) 6303 for (e in f) 6304 f.hasOwnProperty(e) && 6305 ((a = h[e]), 6306 (d = f[e]), 6307 h !== d && 6308 (k && 6309 d && 6310 (c.isPlainObject(d) || (b = c.isArray(d))) 6311 ? (b 6312 ? ((b = !1), 6313 (g = 6314 a && c.isArray(a) ? a : [])) 6315 : (g = 6316 a && c.isPlainObject(a) 6317 ? a 6318 : {}), 6319 (h[e] = c.extend(k, g, d))) 6320 : d !== undefined && (h[e] = d))); 6321 return h; 6322 }), 6323 (c.queue = function (a, d, e) { 6324 if (a) { 6325 d = (d || 'fx') + 'queue'; 6326 var f = c.data(a, d); 6327 return e 6328 ? (!f || c.isArray(e) 6329 ? (f = c.data( 6330 a, 6331 d, 6332 (function (a, c) { 6333 var d = c || []; 6334 return ( 6335 a && 6336 (b(Object(a)) 6337 ? (function (a, b) { 6338 for ( 6339 var c = +b.length, 6340 d = 0, 6341 e = a.length; 6342 d < c; 6343 6344 ) 6345 a[e++] = b[d++]; 6346 if (c !== c) 6347 for ( 6348 ; 6349 b[d] !== 6350 undefined; 6351 6352 ) 6353 a[e++] = 6354 b[d++]; 6355 a.length = e; 6356 })( 6357 d, 6358 'string' == typeof a 6359 ? [a] 6360 : a 6361 ) 6362 : [].push.call(d, a)), 6363 d 6364 ); 6365 })(e) 6366 )) 6367 : f.push(e), 6368 f) 6369 : f || []; 6370 } 6371 }), 6372 (c.dequeue = function (a, b) { 6373 c.each(a.nodeType ? [a] : a, function (a, d) { 6374 b = b || 'fx'; 6375 var e = c.queue(d, b), 6376 f = e.shift(); 6377 'inprogress' === f && (f = e.shift()), 6378 f && 6379 ('fx' === b && e.unshift('inprogress'), 6380 f.call(d, function () { 6381 c.dequeue(d, b); 6382 })); 6383 }); 6384 }), 6385 (c.fn = c.prototype = 6386 { 6387 init: function (a) { 6388 if (a.nodeType) return (this[0] = a), this; 6389 throw new Error('Not a DOM node.'); 6390 }, 6391 offset: function () { 6392 var b = this[0].getBoundingClientRect 6393 ? this[0].getBoundingClientRect() 6394 : { top: 0, left: 0 }; 6395 return { 6396 top: 6397 b.top + 6398 (a.pageYOffset || document.scrollTop || 0) - 6399 (document.clientTop || 0), 6400 left: 6401 b.left + 6402 (a.pageXOffset || document.scrollLeft || 0) - 6403 (document.clientLeft || 0) 6404 }; 6405 }, 6406 position: function () { 6407 var a = this[0], 6408 b = (function (a) { 6409 for ( 6410 var b = a.offsetParent; 6411 b && 6412 'html' !== b.nodeName.toLowerCase() && 6413 b.style && 6414 'static' === b.style.position.toLowerCase(); 6415 6416 ) 6417 b = b.offsetParent; 6418 return b || document; 6419 })(a), 6420 d = this.offset(), 6421 e = /^(?:body|html)$/i.test(b.nodeName) 6422 ? { top: 0, left: 0 } 6423 : c(b).offset(); 6424 return ( 6425 (d.top -= parseFloat(a.style.marginTop) || 0), 6426 (d.left -= parseFloat(a.style.marginLeft) || 0), 6427 b.style && 6428 ((e.top += 6429 parseFloat(b.style.borderTopWidth) || 0), 6430 (e.left += 6431 parseFloat(b.style.borderLeftWidth) || 0)), 6432 { top: d.top - e.top, left: d.left - e.left } 6433 ); 6434 } 6435 }); 6436 var d = {}; 6437 (c.expando = 'velocity' + new Date().getTime()), (c.uuid = 0); 6438 for ( 6439 var e = {}, 6440 f = e.hasOwnProperty, 6441 g = e.toString, 6442 h = 6443 'Boolean Number String Function Array Date RegExp Object Error'.split( 6444 ' ' 6445 ), 6446 i = 0; 6447 i < h.length; 6448 i++ 6449 ) 6450 e['[object ' + h[i] + ']'] = h[i].toLowerCase(); 6451 (c.fn.init.prototype = c.fn), (a.Velocity = { Utilities: c }); 6452 } 6453})(window), 6454 (function (a) { 6455 'use strict'; 6456 'object' == typeof module && 'object' == typeof module.exports 6457 ? (module.exports = a()) 6458 : 'function' == typeof define && define.amd 6459 ? define(a) 6460 : a(); 6461 })(function () { 6462 'use strict'; 6463 return (function (a, b, c, d) { 6464 function e(a) { 6465 for (var b = -1, c = a ? a.length : 0, d = []; ++b < c; ) { 6466 var e = a[b]; 6467 e && d.push(e); 6468 } 6469 return d; 6470 } 6471 function f(a) { 6472 return ( 6473 u.isWrapped(a) ? (a = s.call(a)) : u.isNode(a) && (a = [a]), 6474 a 6475 ); 6476 }
6477 function g(a) { 6478 var b = o.data(a, 'velocity'); 6479 return null === b ? d : b; 6480 } 6481 function h(a, b) { 6482 var c = g(a); 6483 c && 6484 c.delayTimer && 6485 !c.delayPaused && 6486 ((c.delayRemaining = c.delay - b + c.delayBegin), 6487 (c.delayPaused = !0), 6488 clearTimeout(c.delayTimer.setTimeout)); 6489 } 6490 function i(a, b) { 6491 var c = g(a); 6492 c && 6493 c.delayTimer && 6494 c.delayPaused && 6495 ((c.delayPaused = !1), 6496 (c.delayTimer.setTimeout = setTimeout( 6497 c.delayTimer.next, 6498 c.delayRemaining 6499 ))); 6500 } 6501 function j(a) { 6502 return function (b) { 6503 return Math.round(b * a) * (1 / a); 6504 }; 6505 } 6506 function k(a, c, d, e) { 6507 function f(a, b) { 6508 return 1 - 3 * b + 3 * a; 6509 } 6510 function g(a, b) { 6511 return 3 * b - 6 * a; 6512 } 6513 function h(a) { 6514 return 3 * a; 6515 } 6516 function i(a, b, c) { 6517 return ((f(b, c) * a + g(b, c)) * a + h(b)) * a; 6518 } 6519 function j(a, b, c) { 6520 return 3 * f(b, c) * a * a + 2 * g(b, c) * a + h(b); 6521 } 6522 function k(b, c) { 6523 for (var e = 0; e < p; ++e) { 6524 var f = j(c, a, d); 6525 if (0 === f) return c; 6526 c -= (i(c, a, d) - b) / f; 6527 } 6528 return c; 6529 } 6530 function l() { 6531 for (var b = 0; b < t; ++b) x[b] = i(b * u, a, d); 6532 } 6533 function m(b, c, e) { 6534 var f, 6535 g, 6536 h = 0; 6537 do { 6538 (g = c + (e - c) / 2), 6539 (f = i(g, a, d) - b), 6540 f > 0 ? (e = g) : (c = g); 6541 } while (Math.abs(f) > r && ++h < s); 6542 return g; 6543 } 6544 function n(b) { 6545 for (var c = 0, e = 1, f = t - 1; e !== f && x[e] <= b; ++e) 6546 c += u; 6547 --e; 6548 var g = (b - x[e]) / (x[e + 1] - x[e]), 6549 h = c + g * u, 6550 i = j(h, a, d); 6551 return i >= q ? k(b, h) : 0 === i ? h : m(b, c, c + u); 6552 } 6553 function o() { 6554 (y = !0), (a === c && d === e) || l(); 6555 } 6556 var p = 4, 6557 q = 0.001, 6558 r = 1e-7, 6559 s = 10, 6560 t = 11, 6561 u = 1 / (t - 1), 6562 v = 'Float32Array' in b; 6563 if (4 !== arguments.length) return !1; 6564 for (var w = 0; w < 4; ++w) 6565 if ( 6566 'number' != typeof arguments[w] || 6567 isNaN(arguments[w]) || 6568 !isFinite(arguments[w]) 6569 ) 6570 return !1; 6571 (a = Math.min(a, 1)), 6572 (d = Math.min(d, 1)), 6573 (a = Math.max(a, 0)), 6574 (d = Math.max(d, 0)); 6575 var x = v ? new Float32Array(t) : new Array(t), 6576 y = !1, 6577 z = function (b) { 6578 return ( 6579 y || o(), 6580 a === c && d === e 6581 ? b 6582 : 0 === b 6583 ? 0 6584 : 1 === b 6585 ? 1 6586 : i(n(b), c, e) 6587 ); 6588 }; 6589 z.getControlPoints = function () { 6590 return [ 6591 { x: a, y: c }, 6592 { x: d, y: e } 6593 ]; 6594 }; 6595 var A = 'generateBezier(' + [a, c, d, e] + ')'; 6596 return ( 6597 (z.toString = function () { 6598 return A; 6599 }), 6600 z 6601 ); 6602 } 6603 function l(a, b) { 6604 var c = a; 6605 return ( 6606 u.isString(a) 6607 ? y.Easings[a] || (c = !1) 6608 : (c = 6609 u.isArray(a) && 1 === a.length 6610 ? j.apply(null, a) 6611 : u.isArray(a) && 2 === a.length 6612 ? z.apply(null, a.concat([b])) 6613 : !(!u.isArray(a) || 4 !== a.length) && 6614 k.apply(null, a)), 6615 !1 === c && 6616 (c = y.Easings[y.defaults.easing] 6617 ? y.defaults.easing 6618 : x), 6619 c 6620 ); 6621 } 6622 function m(a) { 6623 if (a) { 6624 var b = y.timestamp && !0 !== a ? a : r.now(), 6625 c = y.State.calls.length; 6626 c > 1e4 && 6627 ((y.State.calls = e(y.State.calls)), 6628 (c = y.State.calls.length)); 6629 for (var f = 0; f < c; f++) 6630 if (y.State.calls[f]) { 6631 var h = y.State.calls[f],
6632 i = h[0], 6633 j = h[2], 6634 k = h[3], 6635 l = !k, 6636 q = null, 6637 s = h[5], 6638 t = h[6]; 6639 if ((k || (k = y.State.calls[f][3] = b - 16), s)) { 6640 if (!0 !== s.resume) continue; 6641 (k = h[3] = Math.round(b - t - 16)), 6642 (h[5] = null); 6643 } 6644 t = h[6] = b - k; 6645 for ( 6646 var v = Math.min(t / j.duration, 1), 6647 w = 0, 6648 x = i.length; 6649 w < x; 6650 w++ 6651 ) { 6652 var z = i[w], 6653 B = z.element; 6654 if (g(B)) { 6655 var D = !1; 6656 if ( 6657 j.display !== d && 6658 null !== j.display && 6659 'none' !== j.display 6660 ) { 6661 if ('flex' === j.display) { 6662 var E = [ 6663 '-webkit-box', 6664 '-moz-box', 6665 '-ms-flexbox', 6666 '-webkit-flex' 6667 ]; 6668 o.each(E, function (a, b) { 6669 A.setPropertyValue( 6670 B, 6671 'display', 6672 b 6673 ); 6674 }); 6675 } 6676 A.setPropertyValue( 6677 B, 6678 'display', 6679 j.display 6680 ); 6681 } 6682 j.visibility !== d && 6683 'hidden' !== j.visibility && 6684 A.setPropertyValue( 6685 B, 6686 'visibility', 6687 j.visibility 6688 ); 6689 for (var F in z) 6690 if ( 6691 z.hasOwnProperty(F) && 6692 'element' !== F 6693 ) { 6694 var G, 6695 H = z[F], 6696 I = u.isString(H.easing) 6697 ? y.Easings[H.easing] 6698 : H.easing; 6699 if (u.isString(H.pattern)) { 6700 var J = 6701 1 === v 6702 ? function (a, b, c) { 6703 var d = 6704 H.endValue[b]; 6705 return c 6706 ? Math.round( 6707 d 6708 ) 6709 : d; 6710 } 6711 : function (a, b, c) { 6712 var d = 6713 H 6714 .startValue[ 6715 b 6716 ], 6717 e = 6718 H 6719 .endValue[ 6720 b 6721 ] - d, 6722 f = 6723 d + 6724 e * 6725 I( 6726 v, 6727 j, 6728 e 6729 ); 6730 return c 6731 ? Math.round( 6732 f 6733 ) 6734 : f; 6735 }; 6736 G = H.pattern.replace( 6737 /{(\d+)(!)?}/g, 6738 J 6739 ); 6740 } else if (1 === v) G = H.endValue; 6741 else { 6742 var K = 6743 H.endValue - H.startValue; 6744 G = 6745 H.startValue + 6746 K * I(v, j, K); 6747 } 6748 if (!l && G === H.currentValue) 6749 continue; 6750 if ( 6751 ((H.currentValue = G), 6752 'tween' === F) 6753 ) 6754 q = G; 6755 else { 6756 var L; 6757 if (A.Hooks.registered[F]) { 6758 L = A.Hooks.getRoot(F); 6759 var M = 6760 g(B) 6761 .rootPropertyValueCache[ 6762 L 6763 ]; 6764 M && 6765 (H.rootPropertyValue = 6766 M); 6767 } 6768 var N = A.setPropertyValue( 6769 B, 6770 F, 6771 H.currentValue + 6772 (p < 9 && 6773 0 === parseFloat(G) 6774 ? '' 6775 : H.unitType), 6776 H.rootPropertyValue, 6777 H.scrollData 6778 ); 6779 A.Hooks.registered[F] && 6780 (A.Normalizations 6781 .registered[L] 6782 ? (g( 6783 B 6784 ).rootPropertyValueCache[ 6785 L 6786 ] = 6787 A.Normalizations.registered[ 6788 L 6789 ]( 6790 'extract', 6791 null, 6792 N[1] 6793 )) 6794 : (g( 6795 B 6796 ).rootPropertyValueCache[ 6797 L 6798 ] = N[1])), 6799 'transform' === N[0] && 6800 (D = !0); 6801 } 6802 } 6803 j.mobileHA && 6804 g(B).transformCache.translate3d === d && 6805 ((g(B).transformCache.translate3d = 6806 '(0px, 0px, 0px)'), 6807 (D = !0)), 6808 D && A.flushTransformCache(B); 6809 } 6810 } 6811 j.display !== d && 6812 'none' !== j.display && 6813 (y.State.calls[f][2].display = !1), 6814 j.visibility !== d && 6815 'hidden' !== j.visibility && 6816 (y.State.calls[f][2].visibility = !1), 6817 j.progress && 6818 j.progress.call( 6819 h[1], 6820 h[1], 6821 v, 6822 Math.max(0, k + j.duration - b), 6823 k, 6824 q 6825 ), 6826 1 === v && n(f); 6827 } 6828 } 6829 y.State.isTicking && C(m); 6830 } 6831 function n(a, b) { 6832 if (!y.State.calls[a]) return !1; 6833 for ( 6834 var c = y.State.calls[a][0], 6835 e = y.State.calls[a][1], 6836 f = y.State.calls[a][2], 6837 h = y.State.calls[a][4], 6838 i = !1, 6839 j = 0, 6840 k = c.length; 6841 j < k; 6842 j++ 6843 ) { 6844 var l = c[j].element; 6845 b || 6846 f.loop || 6847 ('none' === f.display && 6848 A.setPropertyValue(l, 'display', f.display), 6849 'hidden' === f.visibility && 6850 A.setPropertyValue(l, 'visibility', f.visibility)); 6851 var m = g(l); 6852 if ( 6853 !0 !== f.loop && 6854 (o.queue(l)[1] === d || 6855 !/\.velocityQueueEntryFlag/i.test(o.queue(l)[1])) && 6856 m 6857 ) { 6858 (m.isAnimating = !1), (m.rootPropertyValueCache = {}); 6859 var n = !1; 6860 o.each(A.Lists.transforms3D, function (a, b) { 6861 var c = /^scale/.test(b) ? 1 : 0, 6862 e = m.transformCache[b]; 6863 m.transformCache[b] !== d && 6864 new RegExp('^\\(' + c + '[^.]').test(e) && 6865 ((n = !0), delete m.transformCache[b]); 6866 }), 6867 f.mobileHA && 6868 ((n = !0), delete m.transformCache.translate3d), 6869 n && A.flushTransformCache(l), 6870 A.Values.removeClass(l, 'velocity-animating'); 6871 } 6872 if (!b && f.complete && !f.loop && j === k - 1) 6873 try { 6874 f.complete.call(e, e); 6875 } catch (r) { 6876 setTimeout(function () { 6877 throw r; 6878 }, 1); 6879 } 6880 h && !0 !== f.loop && h(e), 6881 m && 6882 !0 === f.loop && 6883 !b && 6884 (o.each(m.tweensContainer, function (a, b) { 6885 if ( 6886 /^rotate/.test(a) && 6887 (parseFloat(b.startValue) - 6888 parseFloat(b.endValue)) % 6889 360 == 6890 0 6891 ) { 6892 var c = b.startValue; 6893 (b.startValue = b.endValue), 6894 (b.endValue = c); 6895 } 6896 /^backgroundPosition/.test(a) && 6897 100 === parseFloat(b.endValue) && 6898 '%' === b.unitType && 6899 ((b.endValue = 0), (b.startValue = 100)); 6900 }), 6901 y(l, 'reverse', { loop: !0, delay: f.delay })), 6902 !1 !== f.queue && o.dequeue(l, f.queue); 6903 } 6904 y.State.calls[a] = !1; 6905 for (var p = 0, q = y.State.calls.length; p < q; p++) 6906 if (!1 !== y.State.calls[p]) { 6907 i = !0; 6908 break; 6909 } 6910 !1 === i && 6911 ((y.State.isTicking = !1), 6912 delete y.State.calls, 6913 (y.State.calls = [])); 6914 } 6915 var o, 6916 p = (function () { 6917 if (c.documentMode) return c.documentMode; 6918 for (var a = 7; a > 4; a--) { 6919 var b = c.createElement('div'); 6920 if ( 6921 ((b.innerHTML = 6922 '\x3c!--[if IE ' + 6923 a + 6924 ']><span></spa
6924n><![endif]--\x3e'), 6925 b.getElementsByTagName('span').length) 6926 ) 6927 return (b = null), a; 6928 } 6929 return d; 6930 })(), 6931 q = (function () { 6932 var a = 0; 6933 return ( 6934 b.webkitRequestAnimationFrame || 6935 b.mozRequestAnimationFrame || 6936 function (b) { 6937 var c, 6938 d = new Date().getTime(); 6939 return ( 6940 (c = Math.max(0, 16 - (d - a))), 6941 (a = d + c), 6942 setTimeout(function () { 6943 b(d + c); 6944 }, c) 6945 ); 6946 } 6947 ); 6948 })(), 6949 r = (function () { 6950 var a = b.performance || {}; 6951 if ('function' != typeof a.now) { 6952 var c = 6953 a.timing && a.timing.navigationStart 6954 ? a.timing.navigationStart 6955 : new Date().getTime(); 6956 a.now = function () { 6957 return new Date().getTime() - c; 6958 }; 6959 } 6960 return a; 6961 })(), 6962 s = (function () { 6963 var a = Array.prototype.slice; 6964 try { 6965 return a.call(c.documentElement), a; 6966 } catch (b) { 6967 return function (b, c) { 6968 var d = this.length; 6969 if ( 6970 ('number' != typeof b && (b = 0), 6971 'number' != typeof c && (c = d), 6972 this.slice) 6973 ) 6974 return a.call(this, b, c); 6975 var e, 6976 f = [], 6977 g = b >= 0 ? b : Math.max(0, d + b), 6978 h = c < 0 ? d + c : Math.min(c, d), 6979 i = h - g; 6980 if (i > 0) 6981 if (((f = new Array(i)), this.charAt)) 6982 for (e = 0; e < i; e++) 6983 f[e] = this.charAt(g + e); 6984 else for (e = 0; e < i; e++) f[e] = this[g + e]; 6985 return f; 6986 }; 6987 } 6988 })(), 6989 t = function () { 6990 return Array.prototype.includes 6991 ? function (a, b) { 6992 return a.includes(b); 6993 } 6994 : Array.prototype.indexOf 6995 ? function (a, b) { 6996 return a.indexOf(b) >= 0; 6997 } 6998 : function (a, b) { 6999 for (var c = 0; c < a.length; c++) 7000 if (a[c] === b) return !0; 7001 return !1; 7002 }; 7003 }, 7004 u = { 7005 isNumber: function (a) { 7006 return 'number' == typeof a; 7007 }, 7008 isString: function (a) { 7009 return 'string' == typeof a; 7010 }, 7011 isArray: 7012 Array.isArray || 7013 function (a) { 7014 return ( 7015 '[object Array]' === 7016 Object.prototype.toString.call(a) 7017 ); 7018 }, 7019 isFunction: function (a) { 7020 return ( 7021 '[object Function]' === 7022 Object.prototype.toString.call(a) 7023 ); 7024 }, 7025 isNode: function (a) { 7026 return a && a.nodeType; 7027 }, 7028 isWrapped: function (a) { 7029 return ( 7030 a && 7031 a !== b && 7032 u.isNumber(a.length) && 7033 !u.isString(a) && 7034 !u.isFunction(a) && 7035 !u.isNode(a) && 7036 (0 === a.length || u.isNode(a[0])) 7037 ); 7038 }, 7039 isSVG: function (a) { 7040 return b.SVGElement && a instanceof b.SVGElement; 7041 }, 7042 isEmptyObject: function (a) { 7043 for (var b in a) if (a.hasOwnProperty(b)) return !1; 7044 return !0; 7045 } 7046 }, 7047 v = !1; 7048 if ( 7049 (a.fn && a.fn.jquery 7050 ? ((o = a), (v = !0)) 7051 : (o = b.Velocity.Utilities), 7052 p <= 8 && !v) 7053 ) 7054 throw new Error( 7055 'Velocity: IE8 and below require jQuery to be loaded before Velocity.' 7056 ); 7057 if (p <= 7) return void (jQuery.fn.velocity = jQuery.fn.animate); 7058 var w = 400, 7059 x = 'swing', 7060 y = { 7061 State: { 7062 isMobile: 7063 /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( 7064 b.navigator.userAgent 7065 ), 7066 isAndroid: /Android/i.test(b.navigator.userAgent), 7067 isGingerbread: /Android 2\.3\.[3-7]/i.test( 7068 b.navigator.userAgent 7069 ), 7070 isChrome: b.chrome, 7071 isFirefox: /Firefox/i.test(b.navigator.userAgent), 7072 prefixElement: c.createElement('div'), 7073 prefixMatches: {}, 7074 scrollAnchor: null, 7075 scrollPropertyLeft: null, 7076 scrollPropertyTop: null, 7077 isTicking: !1, 7078 calls: [], 7079 delayedElements: { count: 0 } 7080 }, 7081 CSS: {}, 7082 Utilities: o, 7083 Redirects: {}, 7084 Easings: {}, 7085 Promise: b.Promise, 7086 defaults: { 7087 queue: '', 7088 duration: w, 7089 easing: x, 7090 begin: d, 7091 complete: d, 7092 progress: d, 7093 display: d, 7094 visibility: d, 7095 loop: !1, 7096 delay: !1, 7097 mobileHA: !0, 7098 _cacheValues: !0,
7099 promiseRejectEmpty: !0 7100 }, 7101 init: function (a) { 7102 o.data(a, 'velocity', { 7103 isSVG: u.isSVG(a), 7104 isAnimating: !1, 7105 computedStyle: null, 7106 tweensContainer: null, 7107 rootPropertyValueCache: {}, 7108 transformCache: {} 7109 }); 7110 }, 7111 hook: null, 7112 mock: !1, 7113 version: { major: 1, minor: 5, patch: 1 }, 7114 debug: !1, 7115 timestamp: !0, 7116 pauseAll: function (a) { 7117 var b = new Date().getTime(); 7118 o.each(y.State.calls, function (b, c) { 7119 if (c) { 7120 if ( 7121 a !== d && 7122 (c[2].queue !== a || !1 === c[2].queue) 7123 ) 7124 return !0; 7125 c[5] = { resume: !1 }; 7126 } 7127 }), 7128 o.each(y.State.delayedElements, function (a, c) { 7129 c && h(c, b); 7130 }); 7131 }, 7132 resumeAll: function (a) { 7133 var b = new Date().getTime(); 7134 o.each(y.State.calls, function (b, c) { 7135 if (c) { 7136 if ( 7137 a !== d && 7138 (c[2].queue !== a || !1 === c[2].queue) 7139 ) 7140 return !0; 7141 c[5] && (c[5].resume = !0); 7142 } 7143 }), 7144 o.each(y.State.delayedElements, function (a, c) { 7145 c && i(c, b); 7146 }); 7147 } 7148 }; 7149 b.pageYOffset !== d 7150 ? ((y.State.scrollAnchor = b), 7151 (y.State.scrollPropertyLeft = 'pageXOffset'), 7152 (y.State.scrollPropertyTop = 'pageYOffset')) 7153 : ((y.State.scrollAnchor = 7154 c.documentElement || c.body.parentNode || c.body), 7155 (y.State.scrollPropertyLeft = 'scrollLeft'), 7156 (y.State.scrollPropertyTop = 'scrollTop')); 7157 var z = (function () { 7158 function a(a) { 7159 return -a.tension * a.x - a.friction * a.v; 7160 } 7161 function b(b, c, d) { 7162 var e = { 7163 x: b.x + d.dx * c, 7164 v: b.v + d.dv * c, 7165 tension: b.tension, 7166 friction: b.friction 7167 }; 7168 return { dx: e.v, dv: a(e) }; 7169 } 7170 function c(c, d) { 7171 var e = { dx: c.v, dv: a(c) }, 7172 f = b(c, 0.5 * d, e), 7173 g = b(c, 0.5 * d, f), 7174 h = b(c, d, g), 7175 i = (1 / 6) * (e.dx + 2 * (f.dx + g.dx) + h.dx), 7176 j = (1 / 6) * (e.dv + 2 * (f.dv + g.dv) + h.dv); 7177 return (c.x = c.x + i * d), (c.v = c.v + j * d), c; 7178 } 7179 return function d(a, b, e) { 7180 var f, 7181 g, 7182 h, 7183 i = { x: -1, v: 0, tension: null, friction: null }, 7184 j = [0], 7185 k = 0; 7186 for ( 7187 a = parseFloat(a) || 500, 7188 b = parseFloat(b) || 20, 7189 e = e || null, 7190 i.tension = a, 7191 i.friction = b, 7192 f = null !== e, 7193 f 7194 ? ((k = d(a, b)), (g = (k / e) * 0.016)) 7195 : (g = 0.016); 7196 ; 7197 7198 ) 7199 if ( 7200 ((h = c(h || i, g)), 7201 j.push(1 + h.x), 7202 (k += 16), 7203 !(Math.abs(h.x) > 1e-4 && Math.abs(h.v) > 1e-4)) 7204 ) 7205 break; 7206 return f 7207 ? function (a) { 7208 return j[(a * (j.length - 1)) | 0]; 7209 } 7210 : k; 7211 }; 7212 })(); 7213 (y.Easings = { 7214 linear: function (a) { 7215 return a; 7216 }, 7217 swing: function (a) { 7218 return 0.5 - Math.cos(a * Math.PI) / 2; 7219 }, 7220 spring: function (a) { 7221 return 1 - Math.cos(4.5 * a * Math.PI) * Math.exp(6 * -a); 7222 } 7223 }), 7224 o.each( 7225 [ 7226 ['ease', [0.25, 0.1, 0.25, 1]], 7227 ['ease-in', [0.42, 0, 1, 1]], 7228 ['ease-out', [0, 0, 0.58, 1]], 7229 ['ease-in-out', [0.42, 0, 0.58, 1]], 7230 ['easeInSine', [0.47, 0, 0.745, 0.715]], 7231 ['easeOutSine', [0.39, 0.575, 0.565, 1]], 7232 ['easeInOutSine', [0.445, 0.05, 0.55, 0.95]], 7233 ['easeInQuad', [0.55, 0.085, 0.68, 0.53]], 7234 ['easeOutQuad', [0.25, 0.46, 0.45, 0.94]],
7235 ['easeInOutQuad', [0.455, 0.03, 0.515, 0.955]], 7236 ['easeInCubic', [0.55, 0.055, 0.675, 0.19]], 7237 ['easeOutCubic', [0.215, 0.61, 0.355, 1]], 7238 ['easeInOutCubic', [0.645, 0.045, 0.355, 1]], 7239 ['easeInQuart', [0.895, 0.03, 0.685, 0.22]], 7240 ['easeOutQuart', [0.165, 0.84, 0.44, 1]], 7241 ['easeInOutQuart', [0.77, 0, 0.175, 1]], 7242 ['easeInQuint', [0.755, 0.05, 0.855, 0.06]], 7243 ['easeOutQuint', [0.23, 1, 0.32, 1]], 7244 ['easeInOutQuint', [0.86, 0, 0.07, 1]], 7245 ['easeInExpo', [0.95, 0.05, 0.795, 0.035]], 7246 ['easeOutExpo', [0.19, 1, 0.22, 1]], 7247 ['easeInOutExpo', [1, 0, 0, 1]], 7248 ['easeInCirc', [0.6, 0.04, 0.98, 0.335]], 7249 ['easeOutCirc', [0.075, 0.82, 0.165, 1]], 7250 ['easeInOutCirc', [0.785, 0.135, 0.15, 0.86]] 7251 ], 7252 function (a, b) { 7253 y.Easings[b[0]] = k.apply(null, b[1]); 7254 } 7255 ); 7256 var A = (y.CSS = { 7257 RegEx: { 7258 isHex: /^#([A-f\d]{3}){1,2}$/i, 7259 valueUnwrap: /^[A-z]+\((.*)\)$/i, 7260 wrappedValueAlreadyExtracted: 7261 /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/, 7262 valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi 7263 }, 7264 Lists: { 7265 colors: [ 7266 'fill', 7267 'stroke', 7268 'stopColor', 7269 'color', 7270 'backgroundColor', 7271 'borderColor', 7272 'borderTopColor', 7273 'borderRightColor', 7274 'borderBottomColor', 7275 'borderLeftColor', 7276 'outlineColor' 7277 ], 7278 transformsBase: [ 7279 'translateX', 7280 'translateY', 7281 'scale', 7282 'scaleX', 7283 'scaleY', 7284 'skewX', 7285 'skewY', 7286 'rotateZ' 7287 ], 7288 transforms3D: [ 7289 'transformPerspective', 7290 'translateZ', 7291 'scaleZ', 7292 'rotateX', 7293 'rotateY' 7294 ], 7295 units: [ 7296 '%', 7297 'em', 7298 'ex', 7299 'ch', 7300 'rem', 7301 'vw', 7302 'vh', 7303 'vmin', 7304 'vmax', 7305 'cm', 7306 'mm', 7307 'Q', 7308 'in', 7309 'pc', 7310 'pt', 7311 'px', 7312 'deg', 7313 'grad', 7314 'rad', 7315 'turn', 7316 's', 7317 'ms' 7318 ], 7319 colorNames: { 7320 aliceblue: '240,248,255', 7321 antiquewhite: '250,235,215', 7322 aquamarine: '127,255,212', 7323 aqua: '0,255,255', 7324 azure: '240,255,255', 7325 beige: '245,245,220', 7326 bisque: '255,228,196', 7327 black: '0,0,0', 7328 blanchedalmond: '255,235,205', 7329 blueviolet: '138,43,226', 7330 blue: '0,0,255', 7331 brown: '165,42,42', 7332 burlywood: '222,184,135', 7333 cadetblue: '95,158,160', 7334 chartreuse: '127,255,0', 7335 chocolate: '210,105,30', 7336 coral: '255,127,80', 7337 cornflowerblue: '100,149,237', 7338 cornsilk: '255,248,220', 7339 crimson: '220,20,60', 7340 cyan: '0,255,255', 7341 darkblue: '0,0,139', 7342 darkcyan: '0,139,139', 7343 darkgoldenrod: '184,134,11', 7344 darkgray: '169,169,169', 7345 darkgrey: '169,169,169', 7346 darkgreen: '0,100,0', 7347 darkkhaki: '189,183,107', 7348 darkmagenta: '139,0,139', 7349 darkolivegreen: '85,107,47',
7350 darkorange: '255,140,0', 7351 darkorchid: '153,50,204', 7352 darkred: '139,0,0', 7353 darksalmon: '233,150,122', 7354 darkseagreen: '143,188,143', 7355 darkslateblue: '72,61,139', 7356 darkslategray: '47,79,79', 7357 darkturquoise: '0,206,209', 7358 darkviolet: '148,0,211', 7359 deeppink: '255,20,147', 7360 deepskyblue: '0,191,255', 7361 dimgray: '105,105,105', 7362 dimgrey: '105,105,105', 7363 dodgerblue: '30,144,255', 7364 firebrick: '178,34,34', 7365 floralwhite: '255,250,240', 7366 forestgreen: '34,139,34', 7367 fuchsia: '255,0,255', 7368 gainsboro: '220,220,220', 7369 ghostwhite: '248,248,255', 7370 gold: '255,215,0', 7371 goldenrod: '218,165,32', 7372 gray: '128,128,128', 7373 grey: '128,128,128', 7374 greenyellow: '173,255,47', 7375 green: '0,128,0', 7376 honeydew: '240,255,240', 7377 hotpink: '255,105,180', 7378 indianred: '205,92,92', 7379 indigo: '75,0,130', 7380 ivory: '255,255,240', 7381 khaki: '240,230,140', 7382 lavenderblush: '255,240,245', 7383 lavender: '230,230,250', 7384 lawngreen: '124,252,0', 7385 lemonchiffon: '255,250,205', 7386 lightblue: '173,216,230', 7387 lightcoral: '240,128,128', 7388 lightcyan: '224,255,255', 7389 lightgoldenrodyellow: '250,250,210', 7390 lightgray: '211,211,211', 7391 lightgrey: '211,211,211', 7392 lightgreen: '144,238,144', 7393 lightpink: '255,182,193', 7394 lightsalmon: '255,160,122', 7395 lightseagreen: '32,178,170', 7396 lightskyblue: '135,206,250', 7397 lightslategray: '119,136,153', 7398 lightsteelblue: '176,196,222', 7399 lightyellow: '255,255,224', 7400 limegreen: '50,205,50', 7401 lime: '0,255,0', 7402 linen: '250,240,230', 7403 magenta: '255,0,255', 7404 maroon: '128,0,0', 7405 mediumaquamarine: '102,205,170', 7406 mediumblue: '0,0,205', 7407 mediumorchid: '186,85,211', 7408 mediumpurple: '147,112,219', 7409 mediumseagreen: '60,179,113', 7410 mediumslateblue: '123,104,238', 7411 mediumspringgreen: '0,250,154', 7412 mediumturquoise: '72,209,204', 7413 mediumvioletred: '199,21,133', 7414 midnightblue: '25,25,112', 7415 mintcream: '245,255,250', 7416 mistyrose: '255,228,225', 7417 moccasin: '255,228,181', 7418 navajowhite: '255,222,173', 7419 navy: '0,0,128', 7420 oldlace: '253,245,230', 7421 olivedrab: '107,142,35', 7422 olive: '128,128,0', 7423 orangered: '255,69,0', 7424 orange: '255,165,0', 7425 orchid: '218,112,214', 7426 palegoldenrod: '238,232,170', 7427 palegreen: '152,251,152', 7428 paleturquoise: '175,238,238', 7429 palevioletred: '219,112,147', 7430 papayawhip: '255,239,213', 7431 peachpuff: '255,218,185', 7432 peru: '205,133,63', 7433 pink: '255,192,203', 7434 plum: '221,160,221', 7435 powderblue: '176,224,230', 7436 purple: '128,0,128', 7437 red: '255,0,0', 7438 rosybrown: '188,143,143', 7439 royalblue: '65,105,225', 7440 saddlebrown: '139,69,19', 7441 salmon: '250,128,114', 7442 sandybrown: '244,164,96', 7443 seagreen: '46,139,87', 7444 seashell: '255,245,238', 7445 sienna: '160,82,45', 7446 silver: '192,192,192', 7447 skyblue: '135,206,235',
7448 slateblue: '106,90,205', 7449 slategray: '112,128,144', 7450 snow: '255,250,250', 7451 springgreen: '0,255,127', 7452 steelblue: '70,130,180', 7453 tan: '210,180,140', 7454 teal: '0,128,128', 7455 thistle: '216,191,216', 7456 tomato: '255,99,71', 7457 turquoise: '64,224,208', 7458 violet: '238,130,238', 7459 wheat: '245,222,179', 7460 whitesmoke: '245,245,245', 7461 white: '255,255,255', 7462 yellowgreen: '154,205,50', 7463 yellow: '255,255,0' 7464 } 7465 }, 7466 Hooks: { 7467 templates: { 7468 textShadow: ['Color X Y Blur', 'black 0px 0px 0px'], 7469 boxShadow: [ 7470 'Color X Y Blur Spread', 7471 'black 0px 0px 0px 0px' 7472 ], 7473 clip: ['Top Right Bottom Left', '0px 0px 0px 0px'], 7474 backgroundPosition: ['X Y', '0% 0%'], 7475 transformOrigin: ['X Y Z', '50% 50% 0px'], 7476 perspectiveOrigin: ['X Y', '50% 50%'] 7477 }, 7478 registered: {}, 7479 register: function () { 7480 for (var a = 0; a < A.Lists.colors.length; a++) { 7481 var b = 7482 'color' === A.Lists.colors[a] 7483 ? '0 0 0 1' 7484 : '255 255 255 1'; 7485 A.Hooks.templates[A.Lists.colors[a]] = [ 7486 'Red Green Blue Alpha', 7487 b 7488 ]; 7489 } 7490 var c, d, e; 7491 if (p) 7492 for (c in A.Hooks.templates) 7493 if (A.Hooks.templates.hasOwnProperty(c)) { 7494 (d = A.Hooks.templates[c]), 7495 (e = d[0].split(' ')); 7496 var f = d[1].match(A.RegEx.valueSplit); 7497 'Color' === e[0] && 7498 (e.push(e.shift()), 7499 f.push(f.shift()), 7500 (A.Hooks.templates[c] = [ 7501 e.join(' '), 7502 f.join(' ') 7503 ])); 7504 } 7505 for (c in A.Hooks.templates) 7506 if (A.Hooks.templates.hasOwnProperty(c)) { 7507 (d = A.Hooks.templates[c]), 7508 (e = d[0].split(' ')); 7509 for (var g in e) 7510 if (e.hasOwnProperty(g)) { 7511 var h = c + e[g], 7512 i = g; 7513 A.Hooks.registered[h] = [c, i]; 7514 } 7515 } 7516 }, 7517 getRoot: function (a) { 7518 var b = A.Hooks.registered[a]; 7519 return b ? b[0] : a; 7520 }, 7521 getUnit: function (a, b) { 7522 var c = 7523 (a.substr(b || 0, 5).match(/^[a-z%]+/) || [])[0] || 7524 ''; 7525 return c && t(A.Lists.units, c) ? c : ''; 7526 }, 7527 fixColors: function (a) { 7528 return a.replace( 7529 /(rgba?\(\s*)?(\b[a-z]+\b)/g, 7530 function (a, b, c) { 7531 return A.Lists.colorNames.hasOwnProperty(c) 7532 ? (b || 'rgba(') + 7533 A.Lists.colorNames[c] + 7534 (b ? '' : ',1)') 7535 : b + c; 7536 } 7537 ); 7538 }, 7539 cleanRootPropertyValue: function (a, b) { 7540 return ( 7541 A.RegEx.valueUnwrap.test(b) && 7542 (b = b.match(A.RegEx.valueUnwrap
7542)[1]), 7543 A.Values.isCSSNullValue(b) && 7544 (b = A.Hooks.templates[a][1]), 7545 b 7546 ); 7547 }, 7548 extractValue: function (a, b) { 7549 var c = A.Hooks.registered[a]; 7550 if (c) { 7551 var d = c[0], 7552 e = c[1]; 7553 return ( 7554 (b = A.Hooks.cleanRootPropertyValue(d, b)), 7555 b.toString().match(A.RegEx.valueSplit)[e] 7556 ); 7557 } 7558 return b; 7559 }, 7560 injectValue: function (a, b, c) { 7561 var d = A.Hooks.registered[a]; 7562 if (d) { 7563 var e, 7564 f = d[0], 7565 g = d[1]; 7566 return ( 7567 (c = A.Hooks.cleanRootPropertyValue(f, c)), 7568 (e = c.toString().match(A.RegEx.valueSplit)), 7569 (e[g] = b), 7570 e.join(' ') 7571 ); 7572 } 7573 return c; 7574 } 7575 }, 7576 Normalizations: { 7577 registered: { 7578 clip: function (a, b, c) { 7579 switch (a) { 7580 case 'name': 7581 return 'clip'; 7582 case 'extract': 7583 var d; 7584 return ( 7585 A.RegEx.wrappedValueAlreadyExtracted.test( 7586 c 7587 ) 7588 ? (d = c) 7589 : ((d = c 7590 .toString() 7591 .match(A.RegEx.valueUnwrap)), 7592 (d = d 7593 ? d[1].replace( 7594 /,(\s+)?/g, 7595 ' ' 7596 ) 7597 : c)), 7598 d 7599 ); 7600 case 'inject': 7601 return 'rect(' + c + ')'; 7602 } 7603 }, 7604 blur: function (a, b, c) { 7605 switch (a) { 7606 case 'name': 7607 return y.State.isFirefox 7608 ? 'filter' 7609 : '-webkit-filter'; 7610 case 'extract': 7611 var d = parseFloat(c); 7612 if (!d && 0 !== d) { 7613 var e = c 7614 .toString() 7615 .match(/blur\(([0-9]+[A-z]+)\)/i); 7616 d = e ? e[1] : 0; 7617 } 7618 return d; 7619 case 'inject': 7620 return parseFloat(c) 7621 ? 'blur(' + c + ')' 7622 : 'none'; 7623 } 7624 }, 7625 opacity: function (a, b, c) { 7626 if (p <= 8) 7627 switch (a) { 7628 case 'name': 7629 return 'filter'; 7630 case 'extract': 7631 var d = c 7632 .toString() 7633 .match(/alpha\(opacity=(.*)\)/i); 7634 return (c = d ? d[1] / 100 : 1); 7635 case 'inject': 7636 return ( 7637 (b.style.zoom = 1), 7638 parseFloat(c) >= 1 7639 ? '' 7640 : 'alpha(opacity=' + 7641 parseInt( 7642 100 * parseFloat(c), 7643 10 7644 ) + 7645 ')' 7646 ); 7647 } 7648 else 7649 switch (a) { 7650 case 'name': 7651 return 'opacity'; 7652 case 'extract': 7653 case 'inject': 7654 return c; 7655 } 7656 } 7657 }, 7658 register: function () { 7659 function a(a, b, c) { 7660 if ( 7661 ('border-box' === 7662 A.getPropertyValue(b, 'boxSizing') 7663 .toString() 7664 .toLowerCase()) === 7665 (c || !1) 7666 ) { 7667 var d, 7668 e, 7669 f = 0, 7670 g = 7671 'width' === a 7672 ? ['Left', 'Right'] 7673 : ['Top', 'Bottom'], 7674 h = [ 7675 'padding' + g[0], 7676 'padding' + g[1], 7677 'border' + g[0] + 'Width', 7678 'border' + g[1] + 'Width' 7679 ]; 7680 for (d = 0; d < h.length; d++) 7681 (e = parseFloat( 7682 A.getPropertyValue(b, h[d]) 7683 )), 7684 isNaN(e) || (f += e); 7685 return c ? -f : f; 7686 } 7687 return 0; 7688 } 7689 function b(b, c) { 7690 return function (d, e, f) { 7691 switch (d) { 7692 case 'name': 7693 return b; 7694 case 'extract': 7695 return parseFloat(f) + a(b, e, c); 7696 case 'inject': 7697 return ( 7698 parseFloat(f) - a(b, e, c) + 'px' 7699 ); 7700 } 7701 }; 7702 } 7703 (p && !(p > 9)) || 7704 y.State.isGingerbread || 7705 (A.Lists.transformsBase = 7706 A.Lists.transformsBase.concat( 7707 A.Lists.transforms3D 7708 )); 7709 for (var c = 0; c < A.Lists.transformsBase.length; c++) 7710 !(function () { 7711 var a = A.Lists.transformsBase[c]; 7712 A.Normalizations.registered[a] = function ( 7713 b, 7714 c, 7715 e 7716 ) { 7717 switch (b) { 7718 case 'name': 7719 return 'transform'; 7720 case 'extract': 7721 return g(c) === d || 7722 g(c).transformCache[a] === d 7723 ? /^scale/i.test(a) 7724 ? 1 7725 : 0 7726 : g(c).transformCache[ 7727 a 7728 ].replace(/[()]/g, ''); 7729 case 'inject': 7730 var f = !1; 7731 switch (a.substr(0, a.length - 1)) { 7732 case 'translate': 7733 f = 7734 !/(%|px|em|rem|vw|vh|\d)$/i.test( 7735 e 7736 ); 7737 break; 7738 case 'scal': 7739 case 'scale': 7740 y.State.isAndroid && 7741 g(c).transformCache[ 7742 a 7743 ] === d && 7744 e < 1 && 7745 (e = 1), 7746 (f = !/(\d)$/i.test(e)); 7747 break; 7748 case 'skew': 7749 case 'rotate': 7750 f = !/(deg|\d)$/i.test(e); 7751 } 7752 return ( 7753 f || 7754 (g(c).transformCache[a] = 7755 '(' + e + ')'), 7756 g(c).transformCache[a] 7757 ); 7758 } 7759 }; 7760 })(); 7761 for (var e = 0; e < A.Lists.colors.length; e++) 7762 !(function () { 7763 var a = A.Lists.colors[e]; 7764 A.Normalizations.registered[a] = function ( 7765 b, 7766 c, 7767 e 7768 ) { 7769 switch (b) { 7770 case 'name': 7771 return a; 7772 case 'extract': 7773 var f; 7774 if ( 7775 A.RegEx.wrappedValueAlreadyExtracted.test( 7776 e 7777 ) 7778 ) 7779 f = e; 7780 else { 7781 var g, 7782 h = { 7783 black: 'rgb(0, 0, 0)', 7784 blue: 'rgb(0, 0, 255)', 7785 gray: 'rgb(128, 128, 128)', 7786 green: 'rgb(0, 128, 0)', 7787 red: 'rgb(255, 0, 0)', 7788 white: 'rgb(255, 255, 255)' 7789 }; 7790 /^[A-z]+$/i.test(e) 7791 ? (g = 7792 h[e] !== d 7793 ? h[e] 7794 : h.black) 7795 : A.RegEx.isHex.test(e) 7796 ? (g = 7797 'rgb(' + 7798 A.Values.hexToRgb( 7799 e 7800 ).join(' ') + 7801 ')') 7802 : /^rgba?\(/i.test(e) || 7803 (g = h.black), 7804 (f = (g || e) 7805 .toString() 7806 .match( 7807 A.RegEx.valueUnwrap 7808 )[1] 7809 .replace( 7810 /,(\s+)?/g, 7811 ' ' 7812 )); 7813 } 7814 return ( 7815 (!p || p > 8) && 7816 3 === f.split(' ').length && 7817 (f += ' 1'), 7818 f 7819 ); 7820 case 'inject': 7821 return /^rgb/.test(e) 7822 ? e 7823 : (p <= 8 7824 ? 4 === 7825 e.split(' ') 7826 .length && 7827 (e = e 7828 .split(/\s+/) 7829 .slice(0, 3) 7830 .join(' ')) 7831 : 3 === 7832 e.split(' ') 7833 .length && 7834 (e += ' 1'), 7835 (p <= 8 ? 'rgb' : 'rgba') + 7836 '(' + 7837 e 7838 .replace(/\s+/g, ',') 7839 .replace( 7840 /\.(\d)+(?=,)/g, 7841
7841 '' 7842 ) + 7843 ')'); 7844 } 7845 }; 7846 })(); 7847 (A.Normalizations.registered.innerWidth = b( 7848 'width', 7849 !0 7850 )), 7851 (A.Normalizations.registered.innerHeight = b( 7852 'height', 7853 !0 7854 )), 7855 (A.Normalizations.registered.outerWidth = 7856 b('width')), 7857 (A.Normalizations.registered.outerHeight = 7858 b('height')); 7859 } 7860 }, 7861 Names: { 7862 camelCase: function (a) { 7863 return a.replace(/-(\w)/g, function (a, b) { 7864 return b.toUpperCase(); 7865 }); 7866 }, 7867 SVGAttribute: function (a) { 7868 var b = 'width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2'; 7869 return ( 7870 (p || (y.State.isAndroid && !y.State.isChrome)) && 7871 (b += '|transform'), 7872 new RegExp('^(' + b + ')$', 'i').test(a) 7873 ); 7874 }, 7875 prefixCheck: function (a) { 7876 if (y.State.prefixMatches[a]) 7877 return [y.State.prefixMatches[a], !0]; 7878 for ( 7879 var b = ['', 'Webkit', 'Moz', 'ms', 'O'], 7880 c = 0, 7881 d = b.length; 7882 c < d; 7883 c++ 7884 ) { 7885 var e; 7886 if ( 7887 ((e = 7888 0 === c 7889 ? a 7890 : b[c] + 7891 a.replace(/^\w/, function (a) { 7892 return a.toUpperCase(); 7893 })), 7894 u.isString(y.State.prefixElement.style[e])) 7895 ) 7896 return (y.State.prefixMatches[a] = e), [e, !0]; 7897 } 7898 return [a, !1]; 7899 } 7900 }, 7901 Values: { 7902 hexToRgb: function (a) { 7903 var b, 7904 c = /^#?([a-f\d])([a-f\d])([a-f\d])$/i, 7905 d = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i; 7906 return ( 7907 (a = a.replace(c, function (a, b, c, d) { 7908 return b + b + c + c + d + d; 7909 })), 7910 (b = d.exec(a)), 7911 b 7912 ? [ 7913 parseInt(b[1], 16), 7914 parseInt(b[2], 16), 7915 parseInt(b[3], 16) 7916 ] 7917 : [0, 0, 0] 7918 ); 7919 }, 7920 isCSSNullValue: function (a) { 7921 return ( 7922 !a || 7923 /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test( 7924 a 7925 ) 7926 ); 7927 }, 7928 getUnitType: function (a) { 7929 return /^(rotate|skew)/i.test(a) 7930 ? 'deg' 7931 : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test( 7932 a 7933 ) 7934 ? '' 7935 : 'px'; 7936 }, 7937 getDisplayType: function (a) { 7938 var b = a && a.tagName.toString().toLowerCase(); 7939 return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test( 7940 b 7941 ) 7942 ? 'inline' 7943 : /^(li)$/i.test(b) 7944 ? 'list-item' 7945 : /^(tr)$/i.test(b) 7946 ? 'table-row' 7947 : /^(table)$/i.test(b) 7948 ? 'table' 7949 : /^(tbody)$/i.test(b) 7950 ? 'table-row-group' 7951 : 'block'; 7952 }, 7953 addClass: function (a, b) { 7954 if (a) 7955 if (a.classList) a.classList.add(b); 7956 else if (u.isString(a.className)) 7957 a.className += 7958 (a.className.length ? ' ' : '') + b; 7959 else { 7960 var c = 7961 a.getAttribute( 7962 p <= 7 ? 'className' : 'class' 7963 ) || ''; 7964 a.setAttribute('class', c + (c ? ' ' : '') + b); 7965 } 7966 }, 7967 removeClass: function (a, b) { 7968 if (a) 7969 if (a.classList) a.classList.remove(b); 7970 else if (u.isString(a.className)) 7971 a.className = a.className 7972 .toString() 7973 .replace( 7974 new RegExp( 7975 '(^|\\s)' + 7976 b.split(' ').join('|') + 7977 '(\\s|$)', 7978 'gi' 7979 ), 7980 ' ' 7981 ); 7982 else { 7983 var c = 7984 a.getAttribute( 7985 p <= 7 ? 'className' : 'class' 7986 ) || ''; 7987 a.setAttribute( 7988 'class', 7989 c.replace( 7990 new RegExp( 7991 '(^|s)' + 7992 b.split(' ').join('|') + 7993 '(s|$)', 7994 'gi' 7995 ), 7996 ' ' 7997 ) 7998 ); 7999 } 8000 } 8001 }, 8002 getPropertyValue: function (a, c, e, f) { 8003 function h(a, c) { 8004 var e = 0;
8005 if (p <= 8) e = o.css(a, c); 8006 else { 8007 var i = !1; 8008 /^(width|height)$/.test(c) && 8009 0 === A.getPropertyValue(a, 'display') && 8010 ((i = !0), 8011 A.setPropertyValue( 8012 a, 8013 'display', 8014 A.Values.getDisplayType(a) 8015 )); 8016 var j = function () { 8017 i && A.setPropertyValue(a, 'display', 'none'); 8018 }; 8019 if (!f) { 8020 if ( 8021 'height' === c && 8022 'border-box' !== 8023 A.getPropertyValue(a, 'boxSizing') 8024 .toString() 8025 .toLowerCase() 8026 ) { 8027 var k = 8028 a.offsetHeight - 8029 (parseFloat( 8030 A.getPropertyValue( 8031 a, 8032 'borderTopWidth' 8033 ) 8034 ) || 0) - 8035 (parseFloat( 8036 A.getPropertyValue( 8037 a, 8038 'borderBottomWidth' 8039 ) 8040 ) || 0) - 8041 (parseFloat( 8042 A.getPropertyValue(a, 'paddingTop') 8043 ) || 0) - 8044 (parseFloat( 8045 A.getPropertyValue( 8046 a, 8047 'paddingBottom' 8048 ) 8049 ) || 0); 8050 return j(), k; 8051 } 8052 if ( 8053 'width' === c && 8054 'border-box' !== 8055 A.getPropertyValue(a, 'boxSizing') 8056 .toString() 8057 .toLowerCase() 8058 ) { 8059 var l = 8060 a.offsetWidth - 8061 (parseFloat( 8062 A.getPropertyValue( 8063 a, 8064 'borderLeftWidth' 8065 ) 8066 ) || 0) - 8067 (parseFloat( 8068 A.getPropertyValue( 8069 a, 8070 'borderRightWidth' 8071 ) 8072 ) || 0) - 8073 (parseFloat( 8074 A.getPropertyValue(a, 'paddingLeft') 8075 ) || 0) - 8076 (parseFloat( 8077 A.getPropertyValue( 8078 a, 8079 'paddingRight' 8080 ) 8081 ) || 0); 8082 return j(), l; 8083 } 8084 } 8085 var m; 8086 (m = 8087 g(a) === d 8088 ? b.getComputedStyle(a, null) 8089 : g(a).computedStyle 8090 ? g(a).computedStyle 8091 : (g(a).computedStyle = b.getComputedStyle( 8092 a, 8093 null 8094 ))), 8095 'borderColor' === c && (c = 'borderTopColor'), 8096 (e = 8097 9 === p && 'filter' === c 8098 ? m.getPropertyValue(c) 8099 : m[c]), 8100 ('' !== e && null !== e) || (e = a.style[c]), 8101 j(); 8102 } 8103 if ( 8104 'auto' === e && 8105 /^(top|right|bottom|left)$/i.test(c) 8106 ) { 8107 var n = h(a, 'position'); 8108 ('fixed' === n || 8109 ('absolute' === n && /top|left/i.test(c))) && 8110 (e = o(a).position()[c] + 'px'); 8111 } 8112 return e; 8113 } 8114 var i; 8115 if (A.Hooks.registered[c]) { 8116 var j = c, 8117 k = A.Hooks.getRoot(j); 8118 e === d && 8119 (e = A.getPropertyValue( 8120 a, 8121 A.Names.prefixCheck(k)[0] 8122 )), 8123 A.Normalizations.registered[k] && 8124 (e = A.Normalizations.registered[k]( 8125 'extract', 8126 a, 8127 e 8128 )), 8129 (i = A.Hooks.extractValue(j, e)); 8130 } else if (A.Normalizations.registered[c]) { 8131 var l, m; 8132 (l = A.Normalizations.registered[c]('name', a)), 8133 'transform' !== l && 8134 ((m = h(a, A.Names.prefixCheck(l)[0])), 8135 A.Values.isCSSNullValue(m) && 8136 A.Hooks.templates[c] && 8137 (m = A.Hooks.templates[c][1])), 8138 (i = A.Normalizations.registered[c]( 8139 'extract', 8140 a, 8141 m 8142 )); 8143 } 8144 if (!/^[\d-]/.test(i)) { 8145 var n = g(a);
8146 if (n && n.isSVG && A.Names.SVGAttribute(c)) 8147 if (/^(height|width)$/i.test(c)) 8148 try { 8149 i = a.getBBox()[c]; 8150 } catch (q) { 8151 i = 0; 8152 } 8153 else i = a.getAttribute(c); 8154 else i = h(a, A.Names.prefixCheck(c)[0]); 8155 } 8156 return ( 8157 A.Values.isCSSNullValue(i) && (i = 0), 8158 y.debug >= 2 && console.log('Get ' + c + ': ' + i), 8159 i 8160 ); 8161 }, 8162 setPropertyValue: function (a, c, d, e, f) { 8163 var h = c; 8164 if ('scroll' === c) 8165 f.container 8166 ? (f.container['scroll' + f.direction] = d) 8167 : 'Left' === f.direction 8168 ? b.scrollTo(d, f.alternateValue) 8169 : b.scrollTo(f.alternateValue, d); 8170 else if ( 8171 A.Normalizations.registered[c] && 8172 'transform' === 8173 A.Normalizations.registered[c]('name', a) 8174 ) 8175 A.Normalizations.registered[c]('inject', a, d), 8176 (h = 'transform'), 8177 (d = g(a).transformCache[c]); 8178 else { 8179 if (A.Hooks.registered[c]) { 8180 var i = c, 8181 j = A.Hooks.getRoot(c); 8182 (e = e || A.getPropertyValue(a, j)), 8183 (d = A.Hooks.injectValue(i, d, e)), 8184 (c = j); 8185 } 8186 if ( 8187 (A.Normalizations.registered[c] && 8188 ((d = A.Normalizations.registered[c]( 8189 'inject', 8190 a, 8191 d 8192 )), 8193 (c = A.Normalizations.registered[c]( 8194 'name', 8195 a 8196 ))), 8197 (h = A.Names.prefixCheck(c)[0]), 8198 p <= 8) 8199 ) 8200 try { 8201 a.style[h] = d; 8202 } catch (l) { 8203 y.debug && 8204 console.log( 8205 'Browser does not support [' + 8206 d + 8207 '] for [' + 8208 h + 8209 ']' 8210 ); 8211 } 8212 else { 8213 var k = g(a); 8214 k && k.isSVG && A.Names.SVGAttribute(c) 8215 ? a.setAttribute(c, d) 8216 : (a.style[h] = d); 8217 } 8218 y.debug >= 2 && 8219 console.log('Set ' + c + ' (' + h + '): ' + d); 8220 } 8221 return [h, d]; 8222 }, 8223 flushTransformCache: function (a) { 8224 var b = '', 8225 c = g(a); 8226 if ( 8227 (p || (y.State.isAndroid && !y.State.isChrome)) && 8228 c && 8229 c.isSVG 8230 ) { 8231 var d = function (b) { 8232 return parseFloat(A.getPropertyValue(a, b)); 8233 }, 8234 e = { 8235 translate: [d('translateX'), d('translateY')], 8236 skewX: [d('skewX')], 8237 skewY: [d('skewY')], 8238 scale: 8239 1 !== d('scale') 8240 ? [d('scale'), d('scale')] 8241 : [d('scaleX'), d('scaleY')], 8242 rotate: [d('rotateZ'), 0, 0] 8243 }; 8244 o.each(g(a).transformCache, function (a) { 8245 /^translate/i.test(a) 8246 ? (a = 'translate') 8247 : /^scale/i.test(a) 8248 ? (a = 'scale') 8249 : /^rotate/i.test(a) && (a = 'rotate'), 8250 e[a] && 8251 ((b += a + '(' + e[a].join(' ') + ') '), 8252 delete e[a]); 8253 }); 8254 } else { 8255 var f, h; 8256 o.each(g(a).transformCache, function (c) { 8257 if ( 8258 ((f = g(a).transformCache[c]), 8259 'transformPerspective' === c) 8260 ) 8261 return (h = f), !0; 8262 9 === p && 'rotateZ' === c && (c = 'rotate'), 8263 (b += c + f + ' '); 8264 }), 8265 h && (b = 'perspective' + h + ' ' + b); 8266 } 8267 A.setPropertyValue(a, 'transform', b); 8268 } 8269 }); 8270 A.Hooks.register(), 8271 A.Normalizations.register(), 8272 (y.hook = function (a, b, c) { 8273 var e; 8274 return ( 8275 (a = f(a)), 8276 o.each(a, function (a, f) { 8277 if ((g(f) === d && y.init(f), c === d)) 8278 e === d && (e = A.getPropertyValue(f, b)); 8279 else { 8280 var h = A.setPropertyValue(f, b, c); 8281 'transform' === h[0] && 8282 y.CSS.flushTransformCache(f), 8283 (e = h); 8284 } 8285 }), 8286 e 8287 ); 8288 }); 8289 var B = function () { 8290 function a() { 8291 return k ? z.promise || null : p; 8292 } 8293 function e(a, e) { 8294 function f(f) { 8295 var k, n; 8296 if (i.begin && 0 === D) 8297 try { 8298 i.begin.call(r, r); 8299 } catch (V) { 8300 setTimeout(function () { 8301 throw V; 8302 }, 1); 8303 } 8304 if ('scroll' === G) { 8305 var p, 8306 q, 8307 w, 8308 x = /^x$/i.test(i.axis) ? 'Left' : 'Top', 8309 B = parseFloat(i.offset) || 0; 8310 i.container 8311 ? u.isWrapped(i.container) || 8312 u.isNode(i.container) 8313 ? ((i.container = 8314 i.container[0] || i.container), 8315 (p = i.container['scroll' + x]), 8316 (w = 8317 p + 8318 o(a).position()[x.toLowerCase()] + 8319 B)) 8320 : (i.container = null) 8321 : ((p = 8322 y.State.scrollAnchor[ 8323 y.State['scrollProperty' + x] 8324 ]), 8325 (q = 8326 y.State.scrollAnchor[ 8327 y.State[ 8328 'scrollProperty' + 8329 ('Left' === x 8330 ? 'Top'
8331 : 'Left') 8332 ] 8333 ]), 8334 (w = o(a).offset()[x.toLowerCase()] + B)), 8335 (j = { 8336 scroll: { 8337 rootPropertyValue: !1, 8338 startValue: p, 8339 currentValue: p, 8340 endValue: w, 8341 unitType: '', 8342 easing: i.easing, 8343 scrollData: { 8344 container: i.container, 8345 direction: x, 8346 alternateValue: q 8347 } 8348 }, 8349 element: a 8350 }), 8351 y.debug && 8352 console.log( 8353 'tweensContainer (scroll): ', 8354 j.scroll, 8355 a 8356 ); 8357 } else if ('reverse' === G) { 8358 if (!(k = g(a))) return; 8359 if (!k.tweensContainer) 8360 return void o.dequeue(a, i.queue); 8361 'none' === k.opts.display && 8362 (k.opts.display = 'auto'), 8363 'hidden' === k.opts.visibility && 8364 (k.opts.visibility = 'visible'), 8365 (k.opts.loop = !1), 8366 (k.opts.begin = null), 8367 (k.opts.complete = null), 8368 v.easing || delete i.easing, 8369 v.duration || delete i.duration, 8370 (i = o.extend({}, k.opts, i)), 8371 (n = o.extend( 8372 !0, 8373 {}, 8374 k ? k.tweensContainer : null 8375 )); 8376 for (var E in n) 8377 if (n.hasOwnProperty(E) && 'element' !== E) { 8378 var F = n[E].startValue; 8379 (n[E].startValue = n[E].currentValue = 8380 n[E].endValue), 8381 (n[E].endValue = F), 8382 u.isEmptyObject(v) || 8383 (n[E].easing = i.easing), 8384 y.debug && 8385 console.log( 8386 'reverse tweensContainer (' + 8387 E + 8388 '): ' + 8389 JSON.stringify(n[E]), 8390 a 8391 ); 8392 } 8393 j = n; 8394 } else if ('start' === G) { 8395 (k = g(a)), 8396 k && 8397 k.tweensContainer && 8398 !0 === k.isAnimating && 8399 (n = k.tweensContainer); 8400 var H = function (e, f) { 8401 var g, 8402 l = A.Hooks.getRoot(e), 8403 m = !1, 8404 p = f[0], 8405 q = f[1], 8406 r = f[2]; 8407 if ( 8408 !( 8409 (k && k.isSVG) || 8410 'tween' === l || 8411 !1 !== A.Names.prefixCheck(l)[1] || 8412 A.Normalizations.registered[l] !== d 8413 ) 8414 ) 8415 return void ( 8416 y.debug && 8417 console.log( 8418 'Skipping [' + 8419 l + 8420 '] due to a lack of browser support.' 8421 ) 8422 ); 8423 ((i.display !== d && 8424 null !== i.display && 8425 'none' !== i.display) || 8426 (i.visibility !== d && 8427 'hidden' !== i.visibility)) && 8428 /opacity|filter/.test(e) && 8429 !r && 8430 0 !== p && 8431 (r = 0), 8432 i._cacheValues && n && n[e] 8433 ? (r === d && 8434 (r = 8435 n[e].endValue + 8436 n[e].unitType), 8437 (m = k.rootPropertyValueCache[l])) 8438 : A.Hooks.registered[e] 8439 ? r === d 8440 ? ((m = A.getPropertyValue(a, l)), 8441 (r = A.getPropertyValue(a, e, m))) 8442 : (m = A.Hooks.templates[l][1]) 8443 : r === d && 8444 (r = A.getPropertyValue(a, e)); 8445 var s, 8446 t, 8447 v, 8448 w = !1, 8449 x = function (a, b) { 8450 var c, d; 8451 return ( 8452 (d = (b || '0') 8453 .toString() 8454 .toLowerCase() 8455 .replace( 8456 /[%A-z]+$/, 8457 function (a) { 8458 return (c = a), ''; 8459 } 8460 )), 8461 c || (c = A.Values.getUnitType(a)), 8462 [d, c] 8463 ); 8464 }; 8465 if (r !== p && u.isString(r) && u.isString(p)) { 8466 g = ''; 8467 var z = 0, 8468 B = 0, 8469 C = [], 8470 D = [], 8471 E = 0, 8472 F = 0, 8473 G = 0; 8474 for ( 8475 r = A.Hooks.fixColors(r), 8476 p = A.Hooks.fixColors(p); 8477 z < r.length && B < p.length; 8478 8479 ) { 8480 var H = r[z], 8481 I = p[B]; 8482 if ( 8483 /[\d\.-]/.test(H) &&
8484 /[\d\.-]/.test(I) 8485 ) { 8486 for ( 8487 var J = H, 8488 K = I, 8489 L = '.', 8490 N = '.'; 8491 ++z < r.length; 8492 8493 ) { 8494 if ((H = r[z]) === L) L = '..'; 8495 else if (!/\d/.test(H)) break; 8496 J += H; 8497 } 8498 for (; ++B < p.length; ) { 8499 if ((I = p[B]) === N) N = '..'; 8500 else if (!/\d/.test(I)) break; 8501 K += I; 8502 } 8503 var O = A.Hooks.getUnit(r, z), 8504 P = A.Hooks.getUnit(p, B); 8505 if ( 8506 ((z += O.length), 8507 (B += P.length), 8508 O === P) 8509 ) 8510 J === K 8511 ? (g += J + O) 8512 : ((g += 8513 '{' + 8514 C.length + 8515 (F ? '!' : '') + 8516 '}' + 8517 O), 8518 C.push(parseFloat(J)), 8519 D.push(parseFloat(K))); 8520 else { 8521 var Q = parseFloat(J), 8522 R = parseFloat(K); 8523 (g += 8524 (E < 5 ? 'calc' : '') + 8525 '(' + 8526 (Q 8527 ? '{' + 8528 C.length + 8529 (F ? '!' : '') + 8530 '}' 8531 : '0') + 8532 O + 8533 ' + ' + 8534 (R 8535 ? '{' + 8536 (C.length + 8537 (Q ? 1 : 0)) + 8538 (F ? '!' : '') + 8539 '}' 8540 : '0') + 8541 P + 8542 ')'), 8543 Q && (C.push(Q), D.push(0)), 8544 R && (C.push(0), D.push(R)); 8545 } 8546 } else { 8547 if (H !== I) { 8548 E = 0; 8549 break; 8550 } 8551 (g += H), 8552 z++, 8553 B++, 8554 (0 === E && 'c' === H) || 8555 (1 === E && 'a' === H) || 8556 (2 === E && 'l' === H) || 8557 (3 === E && 'c' === H) || 8558 (E >= 4 && '(' === H) 8559 ? E++ 8560 : ((E && E < 5) || 8561 (E >= 4 && 8562 ')' === H && 8563 --E < 5)) && 8564 (E = 0), 8565 (0 === F && 'r' === H) || 8566 (1 === F && 'g' === H) || 8567 (2 === F && 'b' === H) || 8568 (3 === F && 'a' === H) || 8569 (F >= 3 && '(' === H) 8570 ? (3 === F && 8571 'a' === H && 8572 (G = 1), 8573 F++) 8574 : G && ',' === H 8575 ? ++G > 3 && (F = G = 0) 8576 : ((G && F < (G ? 5 : 4)) || 8577 (F >= (G ? 4 : 3) && 8578 ')' === H && 8579 --F < 8580 (G 8581 ? 5 8582 : 4))) && 8583 (F = G = 0); 8584 } 8585 } 8586 (z === r.length && B === p.length) || 8587 (y.debug && 8588 console.error( 8589 'Trying to pattern match mis-matched strings ["' + 8590 p + 8591 '", "' + 8592 r + 8593 '"]' 8594 ), 8595 (g = d)), 8596 g && 8597 (C.length 8598 ? (y.debug && 8599 console.log( 8600 'Pattern found "' + 8601 g + 8602 '" -> ', 8603 C, 8604 D, 8605 '[' + 8606 r + 8607 ',' + 8608 p + 8609 ']' 8610 ), 8611 (r = C), 8612 (p = D), 8613 (t = v = '')) 8614 : (g = d)); 8615 } 8616 g || 8617 ((s = x(e, r)), 8618 (r = s[0]), 8619 (v = s[1]), 8620 (s = x(e, p)), 8621 (p = s[0].replace( 8622 /^([+-\/*])=/, 8623 function (a, b) { 8624 return (w = b), ''; 8625 } 8626 )), 8627 (t = s[1]), 8628 (r = parseFloat(r) || 0), 8629 (p = parseFloat(p) || 0), 8630 '%' === t && 8631 (/^(fontSize|lineHeight)$/.test(e) 8632 ? ((p /= 100), (t = 'em')) 8633 : /^scale/.test(e) 8634 ? ((p /= 100), (t = '')) 8635 : /(Red|Green|Blue)$/i.test(e) && 8636 ((p = (p / 100) * 255), 8637 (t = '')))); 8638 if (/[\/*]/.test(w)) t = v; 8639 else if (v !== t && 0 !== r) 8640 if (0 === p) t = v; 8641 else { 8642 h = 8643 h || 8644 (function () { 8645 var d = { 8646 myParent: 8647 a.parentNode || 8648 c.body, 8649 position: 8650 A.getPropertyValue( 8651 a, 8652 'position' 8653 ), 8654 fontSize: 8655 A.getPropertyValue( 8656 a, 8657 'fontSize' 8658 ) 8659 }, 8660 e = 8661 d.position === 8662 M.lastPosition && 8663 d.myParent === 8664 M.lastParent, 8665 f = 8666 d.fontSize === 8667 M.lastFontSize; 8668 (M.lastParent = d.myParent), 8669 (M.lastPosition = 8670 d.position), 8671 (M.lastFontSize = 8672 d.fontSize); 8673 var g = {}; 8674 if (f && e) 8675 (g.emToPx = M.lastEmToPx), 8676 (g.percentToPxWidth = 8677 M.lastPercentToPxWidth), 8678 (g.percentToPxHeight = 8679 M.lastPercentToPxHeight); 8680 else { 8681 var h = 8682 k && k.isSVG 8683 ? c.createElementNS( 8684 'http://www.w3.org/2000/svg', 8685 'rect' 8686 ) 8687 : c.createElement( 8688 'div' 8689 ); 8690 y.init(h), 8691 d.myParent.appendChild( 8692 h 8693 ), 8694 o.each( 8695 [ 8696 'overflow', 8697 'overflowX', 8698 'overflowY' 8699 ], 8700 function (a, b) { 8701 y.CSS.setPropertyValue( 8702 h, 8703 b, 8704 'hidden' 8705 ); 8706 } 8707 ), 8708 y.CSS.setPropertyValue( 8709 h, 8710 'position', 8711 d.position 8712 ), 8713 y.CSS.setPropertyValue( 8714 h, 8715 'fontSize', 8716 d.fontSize 8717 ), 8718 y.CSS.setPropertyValue( 8719 h, 8720 'boxSizing', 8721 'content-box' 8722 ), 8723 o.each( 8724 [ 8725 'minWidth', 8726 'maxWidth', 8727 'width', 8728 'minHeight', 8729 'maxHeight', 8730 'height' 8731 ], 8732 function (a, b) { 8733 y.CSS.setPropertyValue( 8734 h, 8735
8735 b, 8736 '100%' 8737 ); 8738 } 8739 ), 8740 y.CSS.setPropertyValue( 8741 h, 8742 'paddingLeft', 8743 '100em' 8744 ), 8745 (g.percentToPxWidth = 8746 M.lastPercentToPxWidth = 8747 (parseFloat( 8748 A.getPropertyValue( 8749 h, 8750 'width', 8751 null, 8752 !0 8753 ) 8754 ) || 1) / 100), 8755 (g.percentToPxHeight = 8756 M.lastPercentToPxHeight = 8757 (parseFloat( 8758 A.getPropertyValue( 8759 h, 8760 'height', 8761 null, 8762 !0 8763 ) 8764 ) || 1) / 100), 8765 (g.emToPx = 8766 M.lastEmToPx = 8767 (parseFloat( 8768 A.getPropertyValue( 8769 h, 8770 'paddingLeft' 8771 ) 8772 ) || 1) / 100), 8773 d.myParent.removeChild( 8774 h 8775 ); 8776 } 8777 return ( 8778 null === M.remToPx && 8779 (M.remToPx = 8780 parseFloat( 8781 A.getPropertyValue( 8782 c.body, 8783 'fontSize' 8784 ) 8785 ) || 16), 8786 null === M.vwToPx && 8787 ((M.vwToPx = 8788 parseFloat( 8789 b.innerWidth 8790 ) / 100), 8791 (M.vhToPx = 8792 parseFloat( 8793 b.innerHe
8793ight 8794 ) / 100)), 8795 (g.remToPx = M.remToPx), 8796 (g.vwToPx = M.vwToPx), 8797 (g.vhToPx = M.vhToPx), 8798 y.debug >= 1 && 8799 console.log( 8800 'Unit ratios: ' + 8801 JSON.stringify( 8802 g 8803 ), 8804 a 8805 ), 8806 g 8807 ); 8808 })(); 8809 var S = 8810 /margin|padding|left|right|width|text|word|letter/i.test( 8811 e 8812 ) || 8813 /X$/.test(e) || 8814 'x' === e 8815 ? 'x' 8816 : 'y'; 8817 switch (v) { 8818 case '%': 8819 r *= 8820 'x' === S 8821 ? h.percentToPxWidth 8822 : h.percentToPxHeight; 8823 break; 8824 case 'px': 8825 break; 8826 default: 8827 r *= h[v + 'ToPx']; 8828 } 8829 switch (t) { 8830 case '%': 8831 r *= 8832 1 / 8833 ('x' === S 8834 ? h.percentToPxWidth 8835 : h.percentToPxHeight); 8836 break; 8837 case 'px': 8838 break; 8839 default: 8840 r *= 1 / h[t + 'ToPx']; 8841 } 8842 } 8843 switch (w) { 8844 case '+': 8845 p = r + p; 8846 break; 8847 case '-': 8848 p = r - p; 8849 break; 8850 case '*': 8851 p *= r; 8852 break; 8853 case '/': 8854 p = r / p; 8855 } 8856 (j[e] = { 8857 rootPropertyValue: m, 8858 startValue: r, 8859 currentValue: r, 8860 endValue: p, 8861 unitType: t, 8862 easing: q 8863 }), 8864 g && (j[e].pattern = g), 8865 y.debug && 8866 console.log( 8867 'tweensContainer (' + 8868 e + 8869 '): ' + 8870 JSON.stringify(j[e]), 8871 a 8872 ); 8873 }; 8874 for (var I in s) 8875 if (s.hasOwnProperty(I)) {
8876 var J = A.Names.camelCase(I), 8877 K = (function (b, c) { 8878 var d, f, g; 8879 return ( 8880 u.isFunction(b) && 8881 (b = b.call(a, e, C)), 8882 u.isArray(b) 8883 ? ((d = b[0]), 8884 (!u.isArray(b[1]) && 8885 /^[\d-]/.test( 8886 b[1] 8887 )) || 8888 u.isFunction(b[1]) || 8889 A.RegEx.isHex.test(b[1]) 8890 ? (g = b[1]) 8891 : (u.isString(b[1]) && 8892 !A.RegEx.isHex.test( 8893 b[1] 8894 ) && 8895 y.Easings[ 8896 b[1] 8897 ]) || 8898 u.isArray(b[1]) 8899 ? ((f = c 8900 ? b[1] 8901 : l( 8902 b[1], 8903 i.duration 8904 )), 8905 (g = b[2])) 8906 : (g = b[1] || b[2])) 8907 : (d = b), 8908 c || (f = f || i.easing), 8909 u.isFunction(d) && 8910 (d = d.call(a, e, C)), 8911 u.isFunction(g) && 8912 (g = g.call(a, e, C)), 8913 [d || 0, f, g] 8914 ); 8915 })(s[I]); 8916 if (t(A.Lists.colors, J)) { 8917 var L = K[0], 8918 O = K[1], 8919 P = K[2]; 8920 if (A.RegEx.isHex.test(L)) { 8921 for ( 8922 var Q = [ 8923 'Red', 8924 'Green', 8925 'Blue' 8926 ], 8927 R = A.Values.hexToRgb(L), 8928 S = P 8929 ? A.Values.hexToRgb(P) 8930 : d, 8931 T = 0; 8932 T < Q.length; 8933 T++ 8934 ) { 8935 var U = [R[T]]; 8936 O && U.push(O), 8937 S !== d && U.push(S[T]), 8938 H(J + Q[T], U); 8939 } 8940 continue; 8941 } 8942 } 8943 H(J, K); 8944 } 8945 j.element = a; 8946 } 8947 j.element && 8948 (A.Values.addClass(a, 'velocity-animating'), 8949 N.push(j), 8950 (k = g(a)), 8951 k && 8952 ('' === i.queue && 8953 ((k.tweensContainer = j), (k.opts = i)), 8954 (k.isAnimating = !0)), 8955 D === C - 1 8956 ? (y.State.calls.push([ 8957 N, 8958 r, 8959 i, 8960 null, 8961 z.resolver, 8962 null, 8963 0 8964 ]), 8965 !1 === y.State.isTicking && 8966 ((y.State.isTicking = !0), m())) 8967 : D++); 8968 } 8969 var h, 8970 i = o.extend({}, y.defaults, v), 8971 j = {}; 8972 switch ( 8973 (g(a) === d && y.init(a), 8974 parseFloat(i.delay) && 8975 !1 !== i.queue && 8976 o.queue(a, i.queue, function (b, c) { 8977 if (!0 === c) return !0; 8978 y.velocityQueueEntryFlag = !0; 8979 var d = y.State.delayedElements.count++; 8980 y.State.delayedElements[d] = a; 8981 var e = (function (a) { 8982 return function () { 8983 (y.State.delayedElements[a] = !1), b(); 8984 }; 8985 })(d); 8986 (g(a).delayBegin = new Date().getTime()),
8987 (g(a).delay = parseFloat(i.delay)), 8988 (g(a).delayTimer = { 8989 setTimeout: setTimeout( 8990 b, 8991 parseFloat(i.delay) 8992 ), 8993 next: e 8994 }); 8995 }), 8996 i.duration.toString().toLowerCase()) 8997 ) { 8998 case 'fast': 8999 i.duration = 200; 9000 break; 9001 case 'normal': 9002 i.duration = w; 9003 break; 9004 case 'slow': 9005 i.duration = 600; 9006 break; 9007 default: 9008 i.duration = parseFloat(i.duration) || 1; 9009 } 9010 if ( 9011 (!1 !== y.mock && 9012 (!0 === y.mock 9013 ? (i.duration = i.delay = 1) 9014 : ((i.duration *= parseFloat(y.mock) || 1), 9015 (i.delay *= parseFloat(y.mock) || 1))), 9016 (i.easing = l(i.easing, i.duration)), 9017 i.begin && !u.isFunction(i.begin) && (i.begin = null), 9018 i.progress && 9019 !u.isFunction(i.progress) && 9020 (i.progress = null), 9021 i.complete && 9022 !u.isFunction(i.complete) && 9023 (i.complete = null), 9024 i.display !== d && 9025 null !== i.display && 9026 ((i.display = i.display.toString().toLowerCase()), 9027 'auto' === i.display && 9028 (i.display = y.CSS.Values.getDisplayType(a))), 9029 i.visibility !== d && 9030 null !== i.visibility && 9031 (i.visibility = i.visibility 9032 .toString() 9033 .toLowerCase()), 9034 (i.mobileHA = 9035 i.mobileHA && 9036 y.State.isMobile && 9037 !y.State.isGingerbread), 9038 !1 === i.queue) 9039 ) 9040 if (i.delay) { 9041 var k = y.State.delayedElements.count++; 9042 y.State.delayedElements[k] = a; 9043 var n = (function (a) { 9044 return function () { 9045 (y.State.delayedElements[a] = !1), f(); 9046 }; 9047 })(k); 9048 (g(a).delayBegin = new Date().getTime()), 9049 (g(a).delay = parseFloat(i.delay)), 9050 (g(a).delayTimer = { 9051 setTimeout: setTimeout( 9052 f, 9053 parseFloat(i.delay) 9054 ), 9055 next: n 9056 }); 9057 } else f(); 9058 else 9059 o.queue(a, i.queue, function (a, b) { 9060 if (!0 === b) return z.promise && z.resolver(r), !0; 9061 (y.velocityQueueEntryFlag = !0), f(a); 9062 }); 9063 ('' !== i.queue && 'fx' !== i.queue) || 9064 'inprogress' === o.queue(a)[0] || 9065 o.dequeue(a); 9066 } 9067 var j, 9068 k, 9069 p, 9070 q, 9071 r, 9072 s, 9073 v, 9074 x = 9075 arguments[0] && 9076 (arguments[0].p || 9077 (o.isPlainObject(arguments[0].properties) && 9078 !arguments[0].properties.names) || 9079 u.isString(arguments[0].properties)); 9080 u.isWrapped(this) 9081 ? ((k = !1), (q = 0), (r = this), (p = this)) 9082 : ((k = !0), 9083 (q = 1), 9084 (r = x 9085 ? arguments[0].elements || arguments[0].e 9086 : arguments[0])); 9087 var z = { promise: null, resolver: null, rejecter: null }; 9088 if ( 9089 (k && 9090 y.Promise && 9091 (z.promise = new y.Promise(function (a, b) { 9092 (z.resolver = a), (z.rejecter = b); 9093 })), 9094 x 9095 ? ((s = arguments[0].properties || arguments[0].p), 9096 (v = arguments[0].options || arguments[0].o)) 9097 : ((s = arguments[q]), (v = arguments[q + 1])), 9098 !(r = f(r))) 9099 ) 9100 return void ( 9101 z.promise &&
9102 (s && v && !1 === v.promiseRejectEmpty 9103 ? z.resolver() 9104 : z.rejecter()) 9105 ); 9106 var C = r.length, 9107 D = 0; 9108 if ( 9109 !/^(stop|finish|finishAll|pause|resume)$/i.test(s) && 9110 !o.isPlainObject(v) 9111 ) { 9112 var E = q + 1; 9113 v = {}; 9114 for (var F = E; F < arguments.length; F++) 9115 u.isArray(arguments[F]) || 9116 (!/^(fast|normal|slow)$/i.test(arguments[F]) && 9117 !/^\d/.test(arguments[F])) 9118 ? u.isString(arguments[F]) || 9119 u.isArray(arguments[F]) 9120 ? (v.easing = arguments[F]) 9121 : u.isFunction(arguments[F]) && 9122 (v.complete = arguments[F]) 9123 : (v.duration = arguments[F]); 9124 } 9125 var G; 9126 switch (s) { 9127 case 'scroll': 9128 G = 'scroll'; 9129 break; 9130 case 'reverse': 9131 G = 'reverse'; 9132 break; 9133 case 'pause': 9134 var H = new Date().getTime(); 9135 return ( 9136 o.each(r, function (a, b) { 9137 h(b, H); 9138 }), 9139 o.each(y.State.calls, function (a, b) { 9140 var c = !1; 9141 b && 9142 o.each(b[1], function (a, e) { 9143 var f = v === d ? '' : v; 9144 return ( 9145 (!0 !== f && 9146 b[2].queue !== f && 9147 (v !== d || 9148 !1 !== b[2].queue)) || 9149 (o.each(r, function (a, d) { 9150 if (d === e) 9151 return ( 9152 (b[5] = { resume: !1 }), 9153 (c = !0), 9154 !1 9155 ); 9156 }), 9157 !c && void 0) 9158 ); 9159 }); 9160 }), 9161 a() 9162 ); 9163 case 'resume': 9164 return ( 9165 o.each(r, function (a, b) { 9166 i(b, H); 9167 }), 9168 o.each(y.State.calls, function (a, b) { 9169 var c = !1; 9170 b && 9171 o.each(b[1], function (a, e) { 9172 var f = v === d ? '' : v; 9173 return ( 9174 (!0 !== f && 9175 b[2].queue !== f && 9176 (v !== d || 9177 !1 !== b[2].queue)) || 9178 !b[5] || 9179 (o.each(r, function (a, d) { 9180 if (d === e) 9181 return ( 9182 (b[5].resume = !0), 9183 (c = !0), 9184 !1 9185 ); 9186 }), 9187 !c && void 0) 9188 ); 9189 }); 9190 }), 9191 a() 9192 ); 9193 case 'finish': 9194 case 'finishAll': 9195 case 'stop': 9196 o.each(r, function (a, b) { 9197 g(b) && 9198 g(b).delayTimer && 9199 (clearTimeout(g(b).delayTimer.setTimeout), 9200 g(b).delayTimer.next && g(b).delayTimer.next(), 9201 delete g(b).delayTimer), 9202 'finishAll' !== s || 9203 (!0 !== v && !u.isString(v)) || 9204 (o.each( 9205 o.queue(b, u.isString(v) ? v : ''), 9206 function (a, b) { 9207 u.isFunction(b) && b(); 9208 } 9209 ), 9210 o.queue(b, u.isString(v) ? v : '', [])); 9211 }); 9212 var I = []; 9213 return ( 9214 o.each(y.State.calls, function (a, b) { 9215 b && 9216 o.each(b[1], function (c, e) { 9217 var f = v === d ? '' : v; 9218 if ( 9219 !0 !== f && 9220 b[2].queue !== f && 9221 (v !== d || !1 !== b[2].queue) 9222 ) 9223 return !0; 9224 o.each(r, function (c, d) { 9225 if (d === e) 9226 if ( 9227 ((!0 === v || 9228 u.isString(v)) && 9229 (o.each( 9230 o.queue( 9231 d, 9232 u.isString(v) 9233 ? v 9234 : '' 9235 ), 9236 function (a, b) { 9237 u.isFunction( 9238 b 9239 ) && 9240 b(null, !0); 9241 } 9242 ), 9243 o.queue( 9244 d, 9245 u.isString(v) 9246 ? v 9247 : '', 9248 [] 9249 )), 9250 'stop' === s) 9251 ) { 9252 var h = g(d); 9253 h && 9254 h.tweensContainer && 9255 !1 !== f && 9256 o.each( 9257 h.tweensContainer, 9258 function (a, b) { 9259 b.endValue = 9260 b.currentValue; 9261 } 9262 ), 9263 I.push(a); 9264 } else 9265 ('finish' !== s && 9266 'finishAll' !== s) || 9267 (b[2].duration = 1); 9268 }); 9269 }); 9270 }), 9271 'stop' === s && 9272 (o.each(I, function (a, b) { 9273 n(b, !0); 9274 }), 9275 z.promise && z.resolver(r)), 9276 a() 9277 ); 9278 default: 9279 if (!o.isPlainObject(s) || u.isEmptyObject(s)) { 9280 if (u.isString(s) && y.Redirects[s]) { 9281 j = o.extend({}, v); 9282 var J = j.duration, 9283 K = j.delay || 0; 9284 return ( 9285 !0 === j.backwards && 9286 (r = o.extend(!0, [], r).reverse()), 9287 o.each(r, function (a, b) { 9288 parseFloat(j.stagger) 9289 ? (j.delay = 9290 K + parseFloat(j.stagger) * a) 9291 : u.isFunction(j.stagger) && 9292 (j.delay = 9293 K + j.stagger.call(b, a, C)), 9294 j.drag && 9295 ((j.duration = 9296 parseFloat(J) || 9297 (/^(callout|transition)/.test( 9298 s 9299 ) 9300 ? 1e3 9301 : w)), 9302 (j.duration = Math.max( 9303 j.duration * 9304 (j.backwards 9305 ? 1 - a / C 9306 : (a + 1) / C), 9307 0.75 * j.duration, 9308 200 9309 ))), 9310 y.Redirects[s].call( 9311 b, 9312 b, 9313 j || {}, 9314 a, 9315 C, 9316 r, 9317 z.promise ? z : d 9318 ); 9319 }), 9320 a() 9321 ); 9322 } 9323 var L = 9324 'Velocity: First argument (' + 9325 s + 9326 ') was not a property map, a known action, or a registered redirect. Aborting.'; 9327 return ( 9328 z.promise 9329 ? z.rejecter(new Error(L)) 9330 : b.console && console.log(L), 9331 a() 9332 ); 9333 } 9334 G = 'start'; 9335 } 9336 var M = { 9337 lastParent: null, 9338 lastPosition: null, 9339 lastFontSize: null, 9340 lastPercentToPxWidth: null, 9341 lastPercentToPxHeight: null, 9342 lastEmToPx: null, 9343 remToPx: null, 9344 vwToPx: null, 9345 vhToPx: null 9346 }, 9347 N = []; 9348 o.each(r, function (a, b) { 9349 u.isNode(b) && e(b, a); 9350 }), 9351 (j = o.extend({}, y.defaults, v)), 9352 (j.loop = parseInt(j.loop, 10)); 9353 var O = 2 * j.loop - 1; 9354 if (j.loop) 9355 for (var P = 0; P < O; P++) { 9356 var Q = { delay: j.delay, progress: j.progress }; 9357 P === O - 1 && 9358 ((Q.display = j.display), 9359 (Q.visibility = j.visibility), 9360 (Q.complete = j.complete)), 9361 B(r, 'reverse', Q); 9362 } 9363 return a(); 9364 }; 9365 (y = o.extend(B, y)), (y.animate = B); 9366 var C = b.requestAnimationFrame || q; 9367 if (!y.State.isMobile && c.hidden !== d) { 9368 var D = function () { 9369 c.hidden 9370 ? ((C = function (a) { 9371 return setTimeout(function () { 9372 a(!0); 9373 }, 16); 9374 }), 9375 m()) 9376 : (C = b.requestAnimationFrame || q); 9377 }; 9378 D(), c.addEventListener('visibilitychange', D); 9379 } 9380 return ( 9381 (a.Velocity = y), 9382 a !== b && 9383 ((a.fn.velocity = B), 9384 (a.fn.velocity.defaults = y.defaults)), 9385 o.each(['Down', 'Up'], function (a, b) { 9386 y.Redirects['slide' + b] = function (a, c, e, f, g, h) { 9387 var i = o.extend({}, c), 9388 j = i.begin, 9389 k = i.complete, 9390 l = {}, 9391 m = { 9392 height: '', 9393 marginTop: '', 9394 marginBottom: '', 9395 paddingTop: '', 9396 paddingBottom: '' 9397 }; 9398 i.display === d && 9399 (i.display = 9400 'Down' === b 9401 ? 'inline' === 9402 y.CSS.Values.getDisplayType(a) 9403 ? 'inline-block' 9404 : 'block' 9405 : 'none'), 9406 (i.begin = function () { 9407 0 === e && j && j.call(g, g); 9408 for (var c in m) 9409 if (m.hasOwnProperty(c)) { 9410 l[c] = a.style[c]; 9411 var d = A.getPropertyValue(a, c); 9412 m[c] = 'Down' === b ? [d, 0] : [0, d]; 9413 } 9414 (l.overflow = a.style.overflow), 9415
9415 (a.style.overflow = 'hidden'); 9416 }), 9417 (i.complete = function () { 9418 for (var b in l) 9419 l.hasOwnProperty(b) && (a.style[b] = l[b]); 9420 e === f - 1 && 9421 (k && k.call(g, g), h && h.resolver(g)); 9422 }), 9423 y(a, m, i); 9424 }; 9425 }), 9426 o.each(['In', 'Out'], function (a, b) { 9427 y.Redirects['fade' + b] = function (a, c, e, f, g, h) { 9428 var i = o.extend({}, c), 9429 j = i.complete, 9430 k = { opacity: 'In' === b ? 1 : 0 }; 9431 0 !== e && (i.begin = null), 9432 (i.complete = 9433 e !== f - 1 9434 ? null 9435 : function () { 9436 j && j.call(g, g), h && h.resolver(g); 9437 }), 9438 i.display === d && 9439 (i.display = 'In' === b ? 'auto' : 'none'), 9440 y(this, k, i); 9441 }; 9442 }), 9443 y 9444 ); 9445 })( 9446 window.jQuery || window.Zepto || window, 9447 window, 9448 window ? window.document : undefined 9449 ); 9450 }); 9451 9452/*! 9453 * is.js 0.8.0 9454 * Author: Aras Atasaygin 9455 */ 9456(function (n, t) { 9457 if (typeof define === 'function' && define.amd) { 9458 define(function () { 9459 return (n.is = t()); 9460 }); 9461 } else if (typeof exports === 'object') { 9462 module.exports = t(); 9463 } else { 9464 n.is = t(); 9465 } 9466})(this, function () { 9467 var n = {}; 9468 n.VERSION = '0.8.0'; 9469 n.not = {}; 9470 n.all = {}; 9471 n.any = {}; 9472 var t = Object.prototype.toString; 9473 var e = Array.prototype.slice; 9474 var r = Object.prototype.hasOwnProperty; 9475 function a(n) { 9476 return function () { 9477 return !n.apply(null, e.call(arguments)); 9478 }; 9479 } 9480 function u(n) { 9481 return function () { 9482 var t = c(arguments); 9483 var e = t.length; 9484 for (var r = 0; r < e; r++) { 9485 if (!n.call(null, t[r])) { 9486 return false; 9487 } 9488 } 9489 return true; 9490 }; 9491 } 9492 function o(n) { 9493 return function () { 9494 var t = c(arguments); 9495 var e = t.length; 9496 for (var r = 0; r < e; r++) { 9497 if (n.call(null, t[r])) { 9498 return true; 9499 } 9500 } 9501 return false; 9502 }; 9503 } 9504 var i = { 9505 '<': function (n, t) { 9506 return n < t; 9507 }, 9508 '<=': function (n, t) { 9509 return n <= t; 9510 }, 9511 '>': function (n, t) { 9512 return n > t; 9513 }, 9514 '>=': function (n, t) { 9515 return n >= t; 9516 } 9517 }; 9518 function f(n, t) { 9519 var e = t + ''; 9520 var r = +(e.match(/\d+/) || NaN); 9521 var a = e.match(/^[<>]=?|/)[0]; 9522 return i[a] ? i[a](n, r) : n == r || r !== r; 9523 } 9524 function c(t) { 9525 var r = e.call(t); 9526 var a = r.length; 9527 if (a === 1 && n.array(r[0])) { 9528 r = r[0]; 9529 } 9530 return r; 9531 } 9532 n.arguments = function (n) { 9533 return ( 9534 t.call(n) === '[object Arguments]' || 9535 (n != null && typeof n === 'object' && 'callee' in n) 9536 ); 9537 }; 9538 n.array = 9539 Array.isArray || 9540 function (n) { 9541 return t.call(n) === '[object Array]'; 9542 }; 9543 n.boolean = function (n) { 9544 return n === true || n === false || t.call(n) === '[object Boolean]'; 9545 }; 9546 n.char = function (t) { 9547 return n.string(t) && t.length === 1; 9548 }; 9549 n.date = function (n) { 9550 return t.call(n) === '[object Date]'; 9551 }; 9552 n.domNode = function (t) { 9553 return n.object(t) && t.nodeType > 0; 9554 }; 9555 n.error = function (n) { 9556 return t.call(n) === '[object Error]'; 9557 }; 9558 n['function'] = function (n) { 9559 return t.call(n) === '[object Function]' || typeof n === 'function'; 9560 }; 9561 n.json = function (n) { 9562 return t.call(n) === '[object Object]'; 9563 }; 9564 n.nan = function (n) { 9565 return n !== n; 9566 }; 9567 n['null'] = function (n) { 9568 return n === null; 9569 }; 9570 n.number = function (e) { 9571 return n.not.nan(e) && t.call(e) === '[object Number]'; 9572 }; 9573 n.object = function (n) { 9574 return Object(n) === n; 9575 }; 9576 n.regexp = function (n) { 9577 return t.call(n) === '[object RegExp]'; 9578 }; 9579 n.sameType = function (e, r) { 9580 var a = t.call(e); 9581 if (a !== t.call(r)) { 9582 return false;
9583 } 9584 if (a === '[object Number]') { 9585 return !n.any.nan(e, r) || n.all.nan(e, r); 9586 } 9587 return true; 9588 }; 9589 n.sameType.api = ['not']; 9590 n.string = function (n) { 9591 return t.call(n) === '[object String]'; 9592 }; 9593 n.undefined = function (n) { 9594 return n === void 0; 9595 }; 9596 n.windowObject = function (n) { 9597 return n != null && typeof n === 'object' && 'setInterval' in n; 9598 }; 9599 n.empty = function (t) { 9600 if (n.object(t)) { 9601 var e = Object.getOwnPropertyNames(t).length; 9602 if ( 9603 e === 0 || 9604 (e === 1 && n.array(t)) || 9605 (e === 2 && n.arguments(t)) 9606 ) { 9607 return true; 9608 } 9609 return false; 9610 } 9611 return t === ''; 9612 }; 9613 n.existy = function (n) { 9614 return n != null; 9615 }; 9616 n.falsy = function (n) { 9617 return !n; 9618 }; 9619 n.truthy = a(n.falsy); 9620 n.above = function (t, e) { 9621 return n.all.number(t, e) && t > e; 9622 }; 9623 n.above.api = ['not']; 9624 n.decimal = function (t) { 9625 return n.number(t) && t % 1 !== 0; 9626 }; 9627 n.equal = function (t, e) { 9628 if (n.all.number(t, e)) { 9629 return t === e && 1 / t === 1 / e; 9630 } 9631 if (n.all.string(t, e) || n.all.regexp(t, e)) { 9632 return '' + t === '' + e; 9633 } 9634 if (n.all.boolean(t, e)) { 9635 return t === e; 9636 } 9637 return false; 9638 }; 9639 n.equal.api = ['not']; 9640 n.even = function (t) { 9641 return n.number(t) && t % 2 === 0; 9642 }; 9643 n.finite = 9644 isFinite || 9645 function (t) { 9646 return n.not.infinite(t) && n.not.nan(t); 9647 }; 9648 n.infinite = function (n) { 9649 return n === Infinity || n === -Infinity; 9650 }; 9651 n.integer = function (t) { 9652 return n.number(t) && t % 1 === 0; 9653 }; 9654 n.negative = function (t) { 9655 return n.number(t) && t < 0; 9656 }; 9657 n.odd = function (t) { 9658 return n.number(t) && t % 2 === 1; 9659 }; 9660 n.positive = function (t) { 9661 return n.number(t) && t > 0; 9662 }; 9663 n.under = function (t, e) { 9664 return n.all.number(t, e) && t < e; 9665 }; 9666 n.under.api = ['not']; 9667 n.within = function (t, e, r) { 9668 return n.all.number(t, e, r) && t > e && t < r; 9669 }; 9670 n.within.api = ['not']; 9671 var l = { 9672 affirmative: /^(?:1|t(?:rue)?|y(?:es)?|ok(?:ay)?)$/, 9673 alphaNumeric: /^[A-Za-z0-9]+$/, 9674 caPostalCode: /^(?!.*[DFIOQU])[A-VXY][0-9][A-Z]\s?[0-9][A-Z][0-9]$/, 9675 creditCard: 9676 /^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/, 9677 dateString: 9678 /^(1[0-2]|0?[1-9])([\/-])(3[01]|[12][0-9]|0?[1-9])(?:\2)(?:[0-9]{2})?[0-9]{2}$/, 9679 email: /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i, 9680 eppPhone: /^\+[0-9]{1,3}\.[0-9]{4,14}(?:x.+)?$/, 9681 hexadecimal: /^(?:0x)?[0-9a-fA-F]+$/, 9682 hexColor: /^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/, 9683 ipv4: /^(?:(?:\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(?:\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/, 9684 ipv6: /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i, 9685 nanpPhone: /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/, 9686 socialSecurityNumber: 9687 /^(?!000|666)[0-8][0-9]{2}-?(?!00)[0-9]{2}-?(?!0000)[0-9]{4}$/, 9688 timeString: /^(2[0-3]|[01]?[0-9]):([0-5]?[0-9]):([0-5]?[0-9])$/, 9689 ukPostCode: 9690 /^[A-Z]{1,2}[0-9RCHNQ][0-9A-Z]?\s?[0-9][ABD-HJLNP-UW-Z]{2}$|^[A-Z]{2}-?[0-9]{4}$/, 9691 url: /^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/i, 9692 usZipCode: /^[0-9]{5}(?:-[0-9]{4})?$/ 9693 }; 9694 function d(t, e) { 9695 n[t] = function (n) { 9696 return e[t].test(n); 9697 }; 9698 } 9699 for (var s in l) { 9700 if (l.hasOwnProperty(s)) { 9701 d(s, l); 9702 } 9703 } 9704 n.ip = function (t) { 9705 return n.ipv4(t) || n.ipv6(t); 9706 }; 9707 n.capitalized = function (t) { 9708 if (n.not.string(t)) { 9709 return false;
9710 } 9711 var e = t.split(' '); 9712 for (var r = 0; r < e.length; r++) { 9713 var a = e[r]; 9714 if (a.length) { 9715 var u = a.charAt(0); 9716 if (u !== u.toUpperCase()) { 9717 return false; 9718 } 9719 } 9720 } 9721 return true; 9722 }; 9723 n.endWith = function (t, e) { 9724 if (n.not.string(t)) { 9725 return false; 9726 } 9727 e += ''; 9728 var r = t.length - e.length; 9729 return r >= 0 && t.indexOf(e, r) === r; 9730 }; 9731 n.endWith.api = ['not']; 9732 n.include = function (n, t) { 9733 return n.indexOf(t) > -1; 9734 }; 9735 n.include.api = ['not']; 9736 n.lowerCase = function (t) { 9737 return n.string(t) && t === t.toLowerCase(); 9738 }; 9739 n.palindrome = function (t) { 9740 if (n.not.string(t)) { 9741 return false; 9742 } 9743 t = t.replace(/[^a-zA-Z0-9]+/g, '').toLowerCase(); 9744 var e = t.length - 1; 9745 for (var r = 0, a = Math.floor(e / 2); r <= a; r++) { 9746 if (t.charAt(r) !== t.charAt(e - r)) { 9747 return false; 9748 } 9749 } 9750 return true; 9751 }; 9752 n.space = function (t) { 9753 if (n.not.char(t)) { 9754 return false; 9755 } 9756 var e = t.charCodeAt(0); 9757 return (e > 8 && e < 14) || e === 32; 9758 }; 9759 n.startWith = function (t, e) { 9760 return n.string(t) && t.indexOf(e) === 0; 9761 }; 9762 n.startWith.api = ['not']; 9763 n.upperCase = function (t) { 9764 return n.string(t) && t === t.toUpperCase(); 9765 }; 9766 var F = [ 9767 'sunday', 9768 'monday', 9769 'tuesday', 9770 'wednesday', 9771 'thursday', 9772 'friday', 9773 'saturday' 9774 ]; 9775 var p = [ 9776 'january', 9777 'february', 9778 'march', 9779 'april', 9780 'may', 9781 'june', 9782 'july', 9783 'august', 9784 'september', 9785 'october', 9786 'november', 9787 'december' 9788 ]; 9789 n.day = function (t, e) { 9790 return n.date(t) && e.toLowerCase() === F[t.getDay()]; 9791 }; 9792 n.day.api = ['not']; 9793 n.dayLightSavingTime = function (n) { 9794 var t = new Date(n.getFullYear(), 0, 1); 9795 var e = new Date(n.getFullYear(), 6, 1); 9796 var r = Math.max(t.getTimezoneOffset(), e.getTimezoneOffset()); 9797 return n.getTimezoneOffset() < r; 9798 }; 9799 n.future = function (t) { 9800 var e = new Date(); 9801 return n.date(t) && t.getTime() > e.getTime(); 9802 }; 9803 n.inDateRange = function (t, e, r) { 9804 if (n.not.date(t) || n.not.date(e) || n.not.date(r)) { 9805 return false; 9806 } 9807 var a = t.getTime(); 9808 return a > e.getTime() && a < r.getTime(); 9809 }; 9810 n.inDateRange.api = ['not']; 9811 n.inLastMonth = function (t) { 9812 return n.inDateRange( 9813 t, 9814 new Date(new Date().setMonth(new Date().getMonth() - 1)), 9815 new Date() 9816 ); 9817 }; 9818 n.inLastWeek = function (t) { 9819 return n.inDateRange( 9820 t, 9821 new Date(new Date().setDate(new Date().getDate() - 7)), 9822 new Date() 9823 ); 9824 }; 9825 n.inLastYear = function (t) { 9826 return n.inDateRange( 9827 t, 9828 new Date(new Date().setFullYear(new Date().getFullYear() - 1)), 9829 new Date() 9830 ); 9831 }; 9832 n.inNextMonth = function (t) { 9833 return n.inDateRange( 9834 t, 9835 new Date(), 9836 new Date(new Date().setMonth(new Date().getMonth() + 1)) 9837 ); 9838 }; 9839 n.inNextWeek = function (t) { 9840 return n.inDateRange( 9841 t, 9842 new Date(), 9843 new Date(new Date().setDate(new Date().getDate() + 7)) 9844 ); 9845 }; 9846 n.inNextYear = function (t) { 9847 return n.inDateRange( 9848 t, 9849 new Date(), 9850 new Date(new Date().setFullYear(new Date().getFullYear() + 1)) 9851 ); 9852 }; 9853 n.leapYear = function (t) { 9854 return n.number(t) && ((t % 4 === 0 && t % 100 !== 0) || t % 400 === 0); 9855 }; 9856 n.month = function (t, e) { 9857 return n.date(t) && e.toLowerCase() === p[t.getMonth()]; 9858 }; 9859 n.month.api = ['not']; 9860 n.past = function (t) { 9861 var e = new Date(); 9862 return n.date(t) && t.getTime() < e.getTime(); 9863 }; 9864 n.quarterOfYear = function (t, e) { 9865 return ( 9866 n.date(t) && n.number(e) && e === Math.floor((t.getMonth() + 3) / 3) 9867 ); 9868 }; 9869 n.quarterOfYear.api = ['not']; 9870 n.today = function (t) { 9871 var e = new Date(); 9872 var r = e.toDateString(); 9873 return n.date(t) && t.toDateString() === r; 9874 }; 9875 n.tomorrow = function (t) { 9876 var e = new Date(); 9877 var r = new Date(e.setDate(e.getDate() + 1)).toDateString(); 9878 return n.date(t) && t.toDateString() === r; 9879 }; 9880 n.weekend = function (t) { 9881 return n.date(t) && (t.getDay() === 6 || t.getDay() === 0); 9882 }; 9883 n.weekday = a(n.weekend); 9884 n.year = function (t, e) { 9885 return n.date(t) && n.number(e) && e === t.getFullYear(); 9886 }; 9887 n.year.api = ['not']; 9888 n.yesterday = function (t) { 9889 var e = new Date(); 9890 var r = new Date(e.setDate(e.getDate() - 1)).toDateString(); 9891 return n.date(t) && t.toDateString() === r; 9892 }; 9893 var D = n.windowObject(typeof global == 'object' && global) && global; 9894 var h = n.windowObject(typeof self == 'object' && self) && self; 9895 var v = n.windowObject(typeof this == 'object' && this) && this; 9896 var b = D || h || v || Function('return this')(); 9897 var g = h && h.document; 9898 var m = b.is; 9899 var w = h && h.navigator; 9900 var y = ((w && w.appVersion) || '').toLowerCase(); 9901 var x = ((w && w.userAgent) || '').toLowerCase(); 9902 var A = ((w && w.vendor) || '').toLowerCase(); 9903 n.android = function () { 9904 return /android/.test(x); 9905 }; 9906 n.android.api = ['not']; 9907 n.androidPhone = function () { 9908 return /android/.test(x) && /mobile/.test(x); 9909 }; 9910 n.androidPhone.api = ['not']; 9911 n.androidTablet = function () { 9912 return /android/.test(x) && !/mobile/.test(x); 9913 }; 9914 n.androidTablet.api = ['not']; 9915 n.blackberry = function () { 9916 return /blackberry/.test(x) || /bb10/.test(x); 9917 }; 9918 n.blackberry.api = ['not']; 9919 n.chrome = function (n) { 9920 var t = /google inc/.test(A) 9921 ? x.match(/(?:chrome|crios)\/(\d+)/) 9922 : null; 9923 return t !== null && f(t[1], n); 9924 }; 9925 n.chrome.api = ['not']; 9926 n.desktop = function () { 9927 return n.not.mobile() && n.not.tablet(); 9928 }; 9929 n.desktop.api = ['not']; 9930 n.edge = function (n) { 9931 var t = x.match(/edge\/(\d+)/); 9932 return t !== null && f(t[1], n); 9933 }; 9934 n.edge.api = ['not']; 9935 n.firefox = function (n) { 9936 var t = x.match(/(?:firefox|fxios)\/(\d+)/); 9937 return t !== null && f(t[1], n); 9938 }; 9939 n.firefox.api = ['not']; 9940 n.ie = function (n) { 9941 var t = x.match(/(?:msie |trident.+?; rv:)(\d+)/); 9942 return t !== null && f(t[1], n); 9943 }; 9944 n.ie.api = ['not']; 9945 n.ios = function () { 9946 return n.iphone() || n.ipad() || n.ipod(); 9947 }; 9948 n.ios.api = ['not']; 9949 n.ipad = function (n) { 9950 var t = x.match(/ipad.+?os (\d+)/); 9951 return t !== null && f(t[1], n); 9952 }; 9953 n.ipad.api = ['not']; 9954 n.iphone = function (n) { 9955 var t = x.match(/iphone(?:.+?os (\d+))?/); 9956 return t !== null && f(t[1] || 1, n); 9957 }; 9958 n.iphone.api = ['not']; 9959 n.ipod = function (n) { 9960 var t = x.match(/ipod.+?os (\d+)/); 9961 return t !== null && f(t[1], n); 9962 }; 9963 n.ipod.api = ['not']; 9964 n.linux = function () { 9965 return /linux/.test(y); 9966 }; 9967 n.linux.api = ['not']; 9968 n.mac = function () { 9969 return /mac/.test(y); 9970 }; 9971 n.mac.api = ['not']; 9972 n.mobile = function () { 9973 return ( 9974 n.iphone() || 9975 n.ipod() || 9976 n.androidPhone() || 9977 n.blackberry() || 9978 n.windowsPhone() 9979 ); 9980 }; 9981 n.mobile.api = ['not']; 9982 n.offline = a(n.online); 9983 n.offline.api = ['not']; 9984 n.online = function () { 9985 return !w || w.onLine === true; 9986 }; 9987 n.online.api = ['not']; 9988 n.opera = function (n) { 9989 var t = x.match(/(?:^opera.+?version|opr)\/(\d+)/); 9990 return t !== null && f(t[1], n); 9991 }; 9992 n.opera.api = ['not']; 9993 n.phantom = function (n) { 9994 var t = x.match(/phantomjs\/(\d+)/); 9995 return t !== null && f(t[1], n); 9996 }; 9997 n.phantom.api = ['not']; 9998 n.safari = function (n) { 9999 var t = x.match(/version\/(\d+).+?safari/); 10000 return t !== null && f(t[1], n); 10001 }; 10002 n.safari.api = ['not']; 10003 n.tablet = function () { 10004 return n.ipad() || n.androidTablet() || n.windowsTablet(); 10005 }; 10006 n.tablet.api = ['not']; 10007 n.touchDevice = function () { 10008 return ( 10009 !!g && 10010 ('ontouchstart' in h || 10011 ('DocumentTouch' in h && g instanceof DocumentTouch)) 10012 ); 10013 }; 10014 n.touchDevice.api = ['not']; 10015 n.windows = function () { 10016 return /win/.test(y); 10017 }; 10018 n.windows.api = ['not']; 10019 n.windowsPhone = function () { 10020 return n.windows() && /phone/.test(x); 10021 }; 10022 n.windowsPhone.api = ['not']; 10023 n.windowsTablet = function () { 10024 return n.windows() && n.not.windowsPhone() && /touch/.test(x); 10025 }; 10026 n.windowsTablet.api = ['not']; 10027 n.propertyCount = function (t, e) { 10028 if (n.not.object(t) || n.not.number(e)) { 10029 return false;
10030 } 10031 var a = 0; 10032 for (var u in t) { 10033 if (r.call(t, u) && ++a > e) { 10034 return false; 10035 } 10036 } 10037 return a === e; 10038 }; 10039 n.propertyCount.api = ['not']; 10040 n.propertyDefined = function (t, e) { 10041 return n.object(t) && n.string(e) && e in t; 10042 }; 10043 n.propertyDefined.api = ['not']; 10044 n.inArray = function (t, e) { 10045 if (n.not.array(e)) { 10046 return false; 10047 } 10048 for (var r = 0; r < e.length; r++) { 10049 if (e[r] === t) { 10050 return true; 10051 } 10052 } 10053 return false; 10054 }; 10055 n.inArray.api = ['not']; 10056 n.sorted = function (t, e) { 10057 if (n.not.array(t)) { 10058 return false; 10059 } 10060 var r = i[e] || i['>=']; 10061 for (var a = 1; a < t.length; a++) { 10062 if (!r(t[a], t[a - 1])) { 10063 return false; 10064 } 10065 } 10066 return true; 10067 }; 10068 function j() { 10069 var t = n; 10070 for (var e in t) { 10071 if (r.call(t, e) && n['function'](t[e])) { 10072 var i = t[e].api || ['not', 'all', 'any']; 10073 for (var f = 0; f < i.length; f++) { 10074 if (i[f] === 'not') { 10075 n.not[e] = a(n[e]); 10076 } 10077 if (i[f] === 'all') { 10078 n.all[e] = u(n[e]); 10079 } 10080 if (i[f] === 'any') { 10081 n.any[e] = o(n[e]); 10082 } 10083 } 10084 } 10085 } 10086 } 10087 j(); 10088 n.setNamespace = function () { 10089 b.is = m; 10090 return this; 10091 }; 10092 n.setRegexp = function (n, t) { 10093 for (var e in l) { 10094 if (r.call(l, e) && t === e) { 10095 l[e] = n; 10096 } 10097 } 10098 }; 10099 return n; 10100}); 10101 10102/** 10103 * Swiper 8.2.6 10104 * Most modern mobile touch slider and framework with hardware accelerated transitions 10105 * https://swiperjs.com 10106 * 10107 * Copyright 2014-2022 Vladimir Kharlampidi 10108 * 10109 * Released under the MIT License 10110 * 10111 * Released on: June 29, 2022 10112 */ 10113 10114!(function (e, t) { 10115 'object' == typeof exports && 'undefined' != typeof module 10116 ? (module.exports = t()) 10117 : 'function' == typeof define && define.amd 10118 ? define(t) 10119 : ((e = 10120 'undefined' != typeof globalThis 10121 ? globalThis 10122 : e || self).Swiper = t()); 10123})(this, function () { 10124 'use strict'; 10125 function e(e) { 10126 return ( 10127 null !== e && 10128 'object' == typeof e && 10129 'constructor' in e && 10130 e.constructor === Object 10131 ); 10132 } 10133 function t(s, a) { 10134 void 0 === s && (s = {}), 10135 void 0 === a && (a = {}), 10136 Object.keys(a).forEach((i) => { 10137 void 0 === s[i] 10138 ? (s[i] = a[i]) 10139 : e(a[i]) && 10140 e(s[i]) && 10141 Object.keys(a[i]).length > 0 && 10142 t(s[i], a[i]); 10143 }); 10144 } 10145 const s = { 10146 body: {}, 10147 addEventListener() {}, 10148 removeEventListener() {}, 10149 activeElement: { blur() {}, nodeName: '' }, 10150 querySelector: () => null, 10151 querySelectorAll: () => [], 10152 getElementById: () => null, 10153 createEvent: () => ({ initEvent() {} }), 10154 createElement: () => ({ 10155 children: [], 10156 childNodes: [], 10157 style: {}, 10158 setAttribute() {}, 10159 getElementsByTagName: () => [] 10160 }), 10161 createElementNS: () => ({}), 10162 importNode: () => null, 10163 location: { 10164 hash: '', 10165 host: '', 10166 hostname: '', 10167 href: '', 10168 origin: '', 10169 pathname: '', 10170 protocol: '', 10171 search: '' 10172 } 10173 }; 10174 function a() { 10175 const e = 'undefined' != typeof document ? document : {}; 10176 return t(e, s), e; 10177 } 10178 const i = { 10179 document: s, 10180 navigator: { userAgent: '' }, 10181 location: { 10182 hash: '', 10183 host: '', 10184 hostname: '', 10185 href: '', 10186 origin: '', 10187 pathname: '', 10188 protocol: '', 10189 search: '' 10190 }, 10191 history: { replaceState() {}, pushState() {}, go() {}, back() {} }, 10192 CustomEvent: function () { 10193 return this; 10194 }, 10195 addEventListener() {}, 10196 removeEventListener() {}, 10197 getComputedStyle: () => ({ getPropertyValue: () => '' }), 10198 Image() {}, 10199 Date() {}, 10200 screen: {}, 10201 setTimeout() {}, 10202 clearTimeout() {}, 10203 matchMedia: () => ({}), 10204 requestAnimationFrame: (e) => 10205 'undefined' == typeof setTimeout ? (e(), null) : setTimeout(e, 0), 10206 cancelAnimationFrame(e) { 10207 'undefined' != typeof setTimeout && clearTimeout(e); 10208 } 10209 }; 10210 function r() { 10211 const e = 'undefined' != typeof window ? window : {}; 10212 return t(e, i), e; 10213 } 10214 class n extends Array { 10215 constructor(e) { 10216 'number' == typeof e 10217 ? super(e) 10218 : (super(...(e || [])), 10219 (function (e) { 10220 const t = e.__proto__; 10221 Object.defineProperty(e, '__proto__', { 10222 get: () => t, 10223 set(e) { 10224 t.__proto__ = e; 10225 } 10226 }); 10227 })(this)); 10228 } 10229 } 10230 function l(e) { 10231 void 0 === e && (e = []); 10232 const t = []; 10233 return ( 10234 e.forEach((e) => { 10235 Array.isArray(e) ? t.push(...l(e)) : t.push(e); 10236 }), 10237 t 10238 ); 10239 } 10240 function o(e, t) { 10241 return Array.prototype.filter.call(e, t); 10242 } 10243 function d(e, t) { 10244 const s = r(), 10245 i = a(); 10246 let l = []; 10247 if (!t && e instanceof n) return e; 10248 if (!e) return new n(l); 10249 if ('string' == typeof e) { 10250 const s = e.trim(); 10251 if (s.indexOf('<') >= 0 && s.indexOf('>') >= 0) { 10252 let e = 'div'; 10253 0 === s.indexOf('<li') && (e = 'ul'), 10254 0 === s.indexOf('<tr') && (e = 'tbody'), 10255 (0 !== s.indexOf('<td') && 0 !== s.indexOf('<th')) || 10256 (e = 'tr'), 10257 0 === s.indexOf('<tbody') && (e = 'table'), 10258 0 === s.indexOf('<option') && (e = 'select'); 10259 const t = i.createElement(e); 10260 t.innerHTML = s; 10261 for (let e = 0; e < t.childNodes.length; e += 1) 10262 l.push(t.childNodes[e]); 10263 } else 10264 l = (function (e, t) { 10265 if ('string' != typeof e) return [e]; 10266 const s = [], 10267 a = t.querySelectorAll(e); 10268 for (let e = 0; e < a.length; e += 1) s.push(a[e]); 10269 return s; 10270 })(e.trim(), t || i); 10271 } else if (e.nodeType || e === s || e === i) l.push(e); 10272 else if (Array.isArray(e)) { 10273 if (e instanceof n) return e; 10274 l = e; 10275 } 10276 return new n( 10277 (function (e) { 10278 const t = []; 10279 for (let s = 0; s < e.length; s += 1) 10280 -1 === t.indexOf(e[s]) && t.push(e[s]); 10281 return t; 10282 })(l) 10283 ); 10284 } 10285 d.fn = n.prototype; 10286 const c = { 10287 addClass: function () { 10288 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) 10289 t[s] = arguments[s]; 10290 const a = l(t.map((e) => e.split(' '))); 10291 return ( 10292 this.forEach((e) => { 10293 e.classList.add(...a); 10294 }), 10295 this 10296 ); 10297 }, 10298 removeClass: function () { 10299 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) 10300 t[s] = arguments[s]; 10301 const a = l(t.map((e) => e.split(' '))); 10302 return ( 10303 this.forEach((e) => { 10304 e.classList.remove(...a); 10305 }), 10306 this 10307 ); 10308 }, 10309 hasClass: function () { 10310 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) 10311 t[s] = arguments[s]; 10312 const a = l(t.map((e) => e.split(' '))); 10313 return ( 10314 o( 10315 this, 10316 (e) => a.filter((t) => e.classList.contains(t)).length > 0 10317 ).length > 0 10318 ); 10319 }, 10320 toggleClass: function () { 10321 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) 10322 t[s] = arguments[s]; 10323 const a = l(t.map((e) => e.split(' '))); 10324 this.forEach((e) => { 10325 a.forEach((t) => { 10326 e.classList.toggle(t); 10327 }); 10328 }); 10329 }, 10330 attr: function (e, t) { 10331 if (1 === arguments.length && 'string' == typeof e) 10332 return this[0] ? this[0].getAttribute(e) : void 0; 10333 for (let s = 0; s < this.length; s += 1) 10334 if (2 === arguments.length) this[s].setAttribute(e, t); 10335 else 10336 for (const t in e) 10337 (this[s][t] = e[t]), this[s].setAttribute(t, e[t]); 10338 return this; 10339 }, 10340 removeAttr: function (e) { 10341 for (let t = 0; t < this.length; t += 1) this[t].removeAttribute(e); 10342 return this; 10343 }, 10344 transform: function (e) { 10345 for (let t = 0; t < this.length; t += 1) 10346 this[t].style.transform = e; 10347 return this; 10348 }, 10349 transition: function (e) { 10350 for (let t = 0; t < this.length; t += 1) 10351 this[t].style.transitionDuration = 10352 'string' != typeof e ? `${e}ms` : e; 10353 return this; 10354 }, 10355 on: function () { 10356 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) 10357 t[s] = arguments[s]; 10358 let [a, i, r, n] = t; 10359 function l(e) { 10360 const t = e.target; 10361 if (!t) return; 10362 const s = e.target.dom7EventData || []; 10363 if ((s.indexOf(e) < 0 && s.unshift(e), d(t).is(i))) 10364 r.apply(t, s); 10365 else { 10366 const e = d(t).parents(); 10367 for (let t = 0; t < e.length; t += 1) 10368 d(e[t]).is(i) && r.apply(e[t], s); 10369 } 10370 } 10371 function o(e) { 10372 const t = (e && e.target && e.target.dom7EventData) || []; 10373 t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t); 10374 } 10375 'function' == typeof t[1] && (([a, r, n] = t), (i = void 0)), 10376 n || (n = !1); 10377 const c = a.split(' '); 10378 let p; 10379 for (let e = 0; e < this.length; e += 1) { 10380 const t = this[e]; 10381 if (i) 10382 for (p = 0; p < c.length; p += 1) { 10383 const e = c[p]; 10384 t.dom7LiveListeners || (t.dom7LiveListeners = {}), 10385 t.dom7LiveListeners[e] || 10386 (t.dom7LiveListeners[e] = []), 10387 t.dom7LiveListeners[e].push({ 10388 listener: r, 10389 proxyListener: l 10390 }), 10391 t.addEventListener(e, l, n); 10392 } 10393 else 10394 for (p = 0; p < c.length; p += 1) { 10395 const e = c[p]; 10396 t.dom7Listeners || (t.dom7Listeners = {}), 10397 t.dom7Listeners[e] || (t.dom7Listeners[e] = []), 10398 t.dom7Listeners[e].push({ 10399 listener: r, 10400 proxyListener: o 10401 }), 10402 t.addEventListener(e, o, n); 10403 } 10404 } 10405 return this; 10406 }, 10407 off: function () { 10408 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) 10409 t[s] = arguments[s]; 10410 let [a, i, r, n] = t; 10411 'function' == typeof t[1] && (([a, r, n] = t), (i = void 0)), 10412 n || (n = !1); 10413 const l = a.split(' '); 10414 for (let e = 0; e < l.length; e += 1) { 10415 const t = l[e]; 10416 for (let e = 0; e < this.length; e += 1) { 10417 const s = this[e]; 10418 let a; 10419 if ( 10420 (!i && s.dom7Listeners 10421 ? (a = s.dom7Listeners[t]) 10422 : i && 10423 s.dom7LiveListeners && 10424 (a = s.dom7LiveListeners[t]), 10425 a && a.length) 10426 ) 10427 for (let e = a.length - 1; e >= 0; e -= 1) { 10428 const i = a[e]; 10429 (r && i.listener === r) || 10430 (r && 10431 i.listener && 10432 i.listener.dom7proxy && 10433 i.listener.dom7proxy === r) 10434 ? (s.removeEventListener(t, i.proxyListener, n), 10435 a.splice(e, 1)) 10436 : r || 10437 (s.removeEventListener(t, i.proxyListener, n), 10438 a.splice(e, 1)); 10439 } 10440 } 10441 } 10442 return this; 10443 }, 10444 trigger: function () { 10445 const e = r(); 10446 for (var t = arguments.length, s = new Array(t), a = 0; a < t; a++) 10447 s[a] = arguments[a]; 10448 const i = s[0].split(' '), 10449 n = s[1]; 10450 for (let t = 0; t < i.length; t += 1) { 10451 const a = i[t]; 10452 for (let t = 0; t < this.length; t += 1) { 10453 const i = this[t]; 10454 if (e.CustomEvent) { 10455 const t = new e.CustomEvent(a, { 10456 detail: n, 10457 bubbles: !0, 10458 cancelable: !0 10459 }); 10460 (i.dom7EventData = s.filter((e, t) => t > 0)), 10461 i.dispatchEvent(t), 10462 (i.dom7EventData = []), 10463 delete i.dom7EventData; 10464 } 10465 } 10466 } 10467 return this; 10468 }, 10469 transitionEnd: function (e) { 10470 const t = this; 10471 return ( 10472 e && 10473 t.on('transitionend', function s(a) { 10474 a.target === this && 10475 (e.call(this, a), t.off('transitionend', s)); 10476 }), 10477 this 10478 ); 10479 }, 10480 outerWidth: function (e) { 10481 if (this.length > 0) { 10482 if (e) { 10483 const e = this.styles(); 10484 return ( 10485 this[0].offsetWidth + 10486 parseFloat(e.getPropertyValue('margin-right')) + 10487 parseFloat(e.getPropertyValue('margin-left')) 10488 ); 10489 } 10490 return this[0].offsetWidth; 10491 } 10492 return null; 10493 }, 10494 outerHeight: function (e) { 10495 if (this.length > 0) { 10496 if (e) { 10497 const e = this.styles(); 10498 return ( 10499 this[0].offsetHeight + 10500 parseFloat(e.getPropertyValue('margin-top')) + 10501 parseFloat(e.getPropertyValue('margin-bottom')) 10502 ); 10503 } 10504 return this[0].offsetHeight; 10505 } 10506 return null; 10507 }, 10508 styles: function () { 10509 const e = r(); 10510 return this[0] ? e.getComputedStyle(this[0], null) : {}; 10511 }, 10512 offset: function () { 10513
10513 if (this.length > 0) { 10514 const e = r(), 10515 t = a(), 10516 s = this[0], 10517 i = s.getBoundingClientRect(), 10518 n = t.body, 10519 l = s.clientTop || n.clientTop || 0, 10520 o = s.clientLeft || n.clientLeft || 0, 10521 d = s === e ? e.scrollY : s.scrollTop, 10522 c = s === e ? e.scrollX : s.scrollLeft; 10523 return { top: i.top + d - l, left: i.left + c - o }; 10524 } 10525 return null; 10526 }, 10527 css: function (e, t) { 10528 const s = r(); 10529 let a; 10530 if (1 === arguments.length) { 10531 if ('string' != typeof e) { 10532 for (a = 0; a < this.length; a += 1) 10533 for (const t in e) this[a].style[t] = e[t]; 10534 return this; 10535 } 10536 if (this[0]) 10537 return s 10538 .getComputedStyle(this[0], null) 10539 .getPropertyValue(e); 10540 } 10541 if (2 === arguments.length && 'string' == typeof e) { 10542 for (a = 0; a < this.length; a += 1) this[a].style[e] = t; 10543 return this; 10544 } 10545 return this; 10546 }, 10547 each: function (e) { 10548 return e 10549 ? (this.forEach((t, s) => { 10550 e.apply(t, [t, s]); 10551 }), 10552 this) 10553 : this; 10554 }, 10555 html: function (e) { 10556 if (void 0 === e) return this[0] ? this[0].innerHTML : null; 10557 for (let t = 0; t < this.length; t += 1) this[t].innerHTML = e; 10558 return this; 10559 }, 10560 text: function (e) { 10561 if (void 0 === e) 10562 return this[0] ? this[0].textContent.trim() : null; 10563 for (let t = 0; t < this.length; t += 1) this[t].textContent = e; 10564 return this; 10565 }, 10566 is: function (e) { 10567 const t = r(), 10568 s = a(), 10569 i = this[0]; 10570 let l, o; 10571 if (!i || void 0 === e) return !1; 10572 if ('string' == typeof e) { 10573 if (i.matches) return i.matches(e); 10574 if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e); 10575 if (i.msMatchesSelector) return i.msMatchesSelector(e); 10576 for (l = d(e), o = 0; o < l.length; o += 1) 10577 if (l[o] === i) return !0; 10578 return !1; 10579 } 10580 if (e === s) return i === s; 10581 if (e === t) return i === t; 10582 if (e.nodeType || e instanceof n) { 10583 for (l = e.nodeType ? [e] : e, o = 0; o < l.length; o += 1) 10584 if (l[o] === i) return !0; 10585 return !1; 10586 } 10587 return !1; 10588 }, 10589 index: function () { 10590 let e, 10591 t = this[0]; 10592 if (t) { 10593 for (e = 0; null !== (t = t.previousSibling); ) 10594 1 === t.nodeType && (e += 1); 10595 return e; 10596 } 10597 }, 10598 eq: function (e) { 10599 if (void 0 === e) return this; 10600 const t = this.length; 10601 if (e > t - 1) return d([]); 10602 if (e < 0) { 10603 const s = t + e; 10604 return d(s < 0 ? [] : [this[s]]); 10605 } 10606 return d([this[e]]); 10607 }, 10608 append: function () { 10609 let e; 10610 const t = a(); 10611 for (let s = 0; s < arguments.length; s += 1) { 10612 e = s < 0 || arguments.length <= s ? void 0 : arguments[s]; 10613 for (let s = 0; s < this.length; s += 1) 10614 if ('string' == typeof e) { 10615 const a = t.createElement('div'); 10616 for (a.innerHTML = e; a.firstChild; ) 10617 this[s].appendChild(a.firstChild); 10618 } else if (e instanceof n) 10619 for (let t = 0; t < e.length; t += 1) 10620 this[s].appendChild(e[t]); 10621 else this[s].appendChild(e); 10622 } 10623 return this; 10624 }, 10625 prepend: function (e) { 10626 const t = a(); 10627 let s, i; 10628 for (s = 0; s < this.length; s += 1) 10629 if ('string' == typeof e) { 10630 const a = t.createElement('div'); 10631 for ( 10632 a.innerHTML = e, i = a.childNodes.length - 1; 10633 i >= 0; 10634 i -= 1 10635 ) 10636 this[s].insertBefore( 10637 a.childNodes[i], 10638 this[s].childNodes[0] 10639 ); 10640 } else if (e instanceof n) 10641 for (i = 0; i < e.length; i += 1) 10642 this[s].insertBefore(e[i], this[s].childNodes[0]); 10643 else this[s].insertBefore(e, this[s].childNodes[0]); 10644 return this; 10645 }, 10646 next: function (e) { 10647 return this.length > 0 10648 ? e 10649 ? this[0].nextElementSibling && 10650 d(this[0].nextElementSibling).is(e) 10651 ? d([this[0].nextElementSibling]) 10652 : d([]) 10653 : this[0].nextElementSibling 10654 ? d([this[0].nextElementSibling]) 10655 : d([]) 10656 : d([]); 10657 }, 10658 nextAll: function (e) { 10659 const t = []; 10660 let s = this[0]; 10661 if (!s) return d([]); 10662 for (; s.nextElementSibling; ) { 10663 const a = s.nextElementSibling; 10664 e ? d(a).is(e) && t.push(a) : t.push(a), (s = a); 10665 } 10666 return d(t); 10667 }, 10668 prev: function (e) { 10669 if (this.length > 0) { 10670 const t = this[0]; 10671 return e 10672 ? t.previousElementSibling && 10673 d(t.previousElementSibling).is(e) 10674 ? d([t.previousElementSibling]) 10675 : d([]) 10676 : t.previousElementSibling 10677 ? d([t.previousElementSibling]) 10678 : d([]); 10679 } 10680 return d([]); 10681 }, 10682 prevAll: function (e) { 10683 const t = []; 10684 let s = this[0]; 10685 if (!s) return d([]); 10686 for (; s.previousElementSibling; ) { 10687 const a = s.previousElementSibling; 10688 e ? d(a).is(e) && t.push(a) : t.push(a), (s = a); 10689 } 10690 return d(t); 10691 }, 10692 parent: function (e) { 10693 const t = []; 10694 for (let s = 0; s < this.length; s += 1) 10695 null !== this[s].parentNode && 10696 (e 10697 ? d(this[s].parentNode).is(e) && 10698 t.push(this[s].parentNode) 10699 : t.push(this[s].parentNode)); 10700 return d(t); 10701 }, 10702 parents: function (e) { 10703 const t = []; 10704 for (let s = 0; s < this.length; s += 1) { 10705 let a = this[s].parentNode; 10706 for (; a; ) 10707 e ? d(a).is(e) && t.push(a) : t.push(a), (a = a.parentNode); 10708 } 10709 return d(t); 10710 }, 10711 closest: function (e) { 10712 let t = this; 10713 return void 0 === e 10714 ? d([]) 10715 : (t.is(e) || (t = t.parents(e).eq(0)), t); 10716 }, 10717 find: function (e) { 10718 const t = []; 10719 for (let s = 0; s < this.length; s += 1) { 10720 const a = this[s].querySelectorAll(e); 10721 for (let e = 0; e < a.length; e += 1) t.push(a[e]); 10722 } 10723 return d(t); 10724 }, 10725 children: function (e) { 10726 const t = []; 10727 for (let s = 0; s < this.length; s += 1) { 10728 const a = this[s].children; 10729 for (let s = 0; s < a.length; s += 1) 10730 (e && !d(a[s]).is(e)) || t.push(a[s]); 10731 } 10732 return d(t); 10733 }, 10734 filter: function (e) { 10735 return d(o(this, e)); 10736 }, 10737 remove: function () { 10738 for (let e = 0; e < this.length; e += 1) 10739 this[e].parentNode && this[e].parentNode.removeChild(this[e]); 10740 return this; 10741 } 10742 }; 10743 function p(e, t) { 10744 return void 0 === t && (t = 0), setTimeout(e, t); 10745 } 10746 function u() { 10747 return Date.now(); 10748 } 10749 function h(e, t) { 10750 void 0 === t && (t = 'x'); 10751 const s = r(); 10752 let a, i, n; 10753 const l = (function (e) { 10754 const t = r(); 10755 let s; 10756 return ( 10757 t.getComputedStyle && (s = t.getComputedStyle(e, null)), 10758 !s && e.currentStyle && (s = e.currentStyle), 10759 s || (s = e.style), 10760 s 10761 ); 10762 })(e); 10763 return ( 10764 s.WebKitCSSMatrix
10765 ? ((i = l.transform || l.webkitTransform), 10766 i.split(',').length > 6 && 10767 (i = i 10768 .split(', ') 10769 .map((e) => e.replace(',', '.')) 10770 .join(', ')), 10771 (n = new s.WebKitCSSMatrix('none' === i ? '' : i))) 10772 : ((n = 10773 l.MozTransform || 10774 l.OTransform || 10775 l.MsTransform || 10776 l.msTransform || 10777 l.transform || 10778 l 10779 .getPropertyValue('transform') 10780 .replace('translate(', 'matrix(1, 0, 0, 1,')), 10781 (a = n.toString().split(','))), 10782 'x' === t && 10783 (i = s.WebKitCSSMatrix 10784 ? n.m41 10785 : 16 === a.length 10786 ? parseFloat(a[12]) 10787 : parseFloat(a[4])), 10788 'y' === t && 10789 (i = s.WebKitCSSMatrix 10790 ? n.m42 10791 : 16 === a.length 10792 ? parseFloat(a[13]) 10793 : parseFloat(a[5])), 10794 i || 0 10795 ); 10796 } 10797 function m(e) { 10798 return ( 10799 'object' == typeof e && 10800 null !== e && 10801 e.constructor && 10802 'Object' === Object.prototype.toString.call(e).slice(8, -1) 10803 ); 10804 } 10805 function f(e) { 10806 return 'undefined' != typeof window && void 0 !== window.HTMLElement 10807 ? e instanceof HTMLElement 10808 : e && (1 === e.nodeType || 11 === e.nodeType); 10809 } 10810 function g() { 10811 const e = Object(arguments.length <= 0 ? void 0 : arguments[0]), 10812 t = ['__proto__', 'constructor', 'prototype']; 10813 for (let s = 1; s < arguments.length; s += 1) { 10814 const a = s < 0 || arguments.length <= s ? void 0 : arguments[s]; 10815 if (null != a && !f(a)) { 10816 const s = Object.keys(Object(a)).filter( 10817 (e) => t.indexOf(e) < 0 10818 ); 10819 for (let t = 0, i = s.length; t < i; t += 1) { 10820 const i = s[t], 10821 r = Object.getOwnPropertyDescriptor(a, i); 10822 void 0 !== r && 10823 r.enumerable && 10824 (m(e[i]) && m(a[i]) 10825 ? a[i].__swiper__ 10826 ? (e[i] = a[i]) 10827 : g(e[i], a[i]) 10828 : !m(e[i]) && m(a[i]) 10829 ? ((e[i] = {}), 10830 a[i].__swiper__ ? (e[i] = a[i]) : g(e[i], a[i])) 10831 : (e[i] = a[i])); 10832 } 10833 } 10834 } 10835 return e; 10836 } 10837 function v(e, t, s) { 10838 e.style.setProperty(t, s); 10839 } 10840 function w(e) { 10841 let { swiper: t, targetPosition: s, side: a } = e; 10842 const i = r(), 10843 n = -t.translate; 10844 let l, 10845 o = null; 10846 const d = t.params.speed; 10847 (t.wrapperEl.style.scrollSnapType = 'none'), 10848 i.cancelAnimationFrame(t.cssModeFrameID); 10849 const c = s > n ? 'next' : 'prev', 10850 p = (e, t) => ('next' === c && e >= t) || ('prev' === c && e <= t), 10851 u = () => { 10852 (l = new Date().getTime()), null === o && (o = l); 10853 const e = Math.max(Math.min((l - o) / d, 1), 0), 10854 r = 0.5 - Math.cos(e * Math.PI) / 2; 10855 let c = n + r * (s - n); 10856 if ( 10857 (p(c, s) && (c = s), 10858 t.wrapperEl.scrollTo({ [a]: c }), 10859 p(c, s)) 10860 ) 10861 return ( 10862 (t.wrapperEl.style.overflow = 'hidden'), 10863 (t.wrapperEl.style.scrollSnapType = ''), 10864 setTimeout(() => { 10865 (t.wrapperEl.style.overflow = ''), 10866 t.wrapperEl.scrollTo({ [a]: c }); 10867 }), 10868 void i.cancelAnimationFrame(t.cssModeFrameID) 10869 ); 10870 t.cssModeFrameID = i.requestAnimationFrame(u); 10871 }; 10872 u(); 10873 } 10874 let b, x, y; 10875 function E() { 10876 return ( 10877 b || 10878 (b = (function () { 10879 const e = r(), 10880 t = a(); 10881 return { 10882 smoothScroll: 10883 t.documentElement && 10884 'scrollBehavior' in t.documentElement.style, 10885 touch: !!( 10886 'ontouchstart' in e || 10887 (e.DocumentTouch && t instanceof e.DocumentTouch) 10888 ), 10889 passiveListener: (function () { 10890 let t = !1; 10891 try { 10892 const s = Object.defineProperty({}, 'passive', { 10893 get() { 10894 t = !0; 10895 } 10896 }); 10897 e.addEventListener( 10898 'testPassiveListener', 10899 null, 10900 s 10901 ); 10902 } catch (e) {} 10903 return t; 10904 })(), 10905 gestures: 'ongesturestart' in e 10906 }; 10907 })()), 10908 b 10909 ); 10910 } 10911 function C(e) { 10912 return ( 10913 void 0 === e && (e = {}), 10914 x || 10915 (x = (function (e) { 10916 let { userAgent: t } = void 0 === e ? {} : e; 10917 const s = E(), 10918 a = r(), 10919 i = a.navigator.platform, 10920 n = t || a.navigator.userAgent, 10921 l = { ios: !1, android: !1 }, 10922 o = a.screen.width, 10923 d = a.screen.height, 10924 c = n.match(/(Android);?[\s\/]+([\d.]+)?/); 10925 let p = n.match(/(iPad).*OS\s([\d_]+)/); 10926 const u = n.match(/(iPod)(.*OS\s([\d_]+))?/), 10927 h = !p && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/), 10928 m = 'Win32' === i; 10929 let f = 'MacIntel' === i; 10930 return ( 10931 !p && 10932 f && 10933 s.touch && 10934 [ 10935 '1024x1366', 10936 '1366x1024', 10937 '834x1194', 10938 '1194x834', 10939 '834x1112', 10940 '1112x834', 10941 '768x1024', 10942 '1024x768', 10943 '820x1180', 10944 '1180x820', 10945 '810x1080', 10946 '1080x810' 10947 ].indexOf(`${o}x${d}`) >= 0 && 10948 ((p = n.match(/(Version)\/([\d.]+)/)), 10949 p || (p = [0, 1, '13_0_0']), 10950 (f = !1)), 10951 c && !m && ((l.os = 'android'), (l.android = !0)), 10952 (p || h || u) && ((l.os = 'ios'), (l.ios = !0)), 10953 l 10954 ); 10955 })(e)), 10956 x 10957 ); 10958 } 10959 function T() { 10960 return ( 10961 y || 10962 (y = (function () { 10963 const e = r(); 10964 return { 10965 isSafari: (function () { 10966 const t = e.navigator.userAgent.toLowerCase(); 10967 return ( 10968 t.indexOf('safari') >= 0 && 10969 t.indexOf('chrome') < 0 && 10970 t.indexOf('android') < 0 10971 ); 10972 })(), 10973 isWebView:
10974 /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test( 10975 e.navigator.userAgent 10976 ) 10977 }; 10978 })()), 10979 y 10980 ); 10981 } 10982 Object.keys(c).forEach((e) => { 10983 Object.defineProperty(d.fn, e, { value: c[e], writable: !0 }); 10984 }); 10985 var $ = { 10986 on(e, t, s) { 10987 const a = this; 10988 if (!a.eventsListeners || a.destroyed) return a; 10989 if ('function' != typeof t) return a; 10990 const i = s ? 'unshift' : 'push'; 10991 return ( 10992 e.split(' ').forEach((e) => { 10993 a.eventsListeners[e] || (a.eventsListeners[e] = []), 10994 a.eventsListeners[e][i](t); 10995 }), 10996 a 10997 ); 10998 }, 10999 once(e, t, s) { 11000 const a = this; 11001 if (!a.eventsListeners || a.destroyed) return a; 11002 if ('function' != typeof t) return a; 11003 function i() { 11004 a.off(e, i), i.__emitterProxy && delete i.__emitterProxy; 11005 for ( 11006 var s = arguments.length, r = new Array(s), n = 0; 11007 n < s; 11008 n++ 11009 ) 11010 r[n] = arguments[n]; 11011 t.apply(a, r); 11012 } 11013 return (i.__emitterProxy = t), a.on(e, i, s); 11014 }, 11015 onAny(e, t) { 11016 const s = this; 11017 if (!s.eventsListeners || s.destroyed) return s; 11018 if ('function' != typeof e) return s; 11019 const a = t ? 'unshift' : 'push'; 11020 return ( 11021 s.eventsAnyListeners.indexOf(e) < 0 && 11022 s.eventsAnyListeners[a](e), 11023 s 11024 ); 11025 }, 11026 offAny(e) { 11027 const t = this; 11028 if (!t.eventsListeners || t.destroyed) return t; 11029 if (!t.eventsAnyListeners) return t; 11030 const s = t.eventsAnyListeners.indexOf(e); 11031 return s >= 0 && t.eventsAnyListeners.splice(s, 1), t; 11032 }, 11033 off(e, t) { 11034 const s = this; 11035 return !s.eventsListeners || s.destroyed 11036 ? s 11037 : s.eventsListeners 11038 ? (e.split(' ').forEach((e) => { 11039 void 0 === t 11040 ? (s.eventsListeners[e] = []) 11041 : s.eventsListeners[e] && 11042 s.eventsListeners[e].forEach((a, i) => { 11043 (a === t || 11044 (a.__emitterProxy && 11045 a.__emitterProxy === t)) && 11046 s.eventsListeners[e].splice(i, 1); 11047 }); 11048 }), 11049 s) 11050 : s; 11051 }, 11052 emit() { 11053 const e = this; 11054 if (!e.eventsListeners || e.destroyed) return e; 11055 if (!e.eventsListeners) return e; 11056 let t, s, a; 11057 for (var i = arguments.length, r = new Array(i), n = 0; n < i; n++) 11058 r[n] = arguments[n]; 11059 'string' == typeof r[0] || Array.isArray(r[0]) 11060 ? ((t = r[0]), (s = r.slice(1, r.length)), (a = e)) 11061 : ((t = r[0].events), (s = r[0].data), (a = r[0].context || e)), 11062 s.unshift(a); 11063 return (
11064 (Array.isArray(t) ? t : t.split(' ')).forEach((t) => { 11065 e.eventsAnyListeners && 11066 e.eventsAnyListeners.length && 11067 e.eventsAnyListeners.forEach((e) => { 11068 e.apply(a, [t, ...s]); 11069 }), 11070 e.eventsListeners && 11071 e.eventsListeners[t] && 11072 e.eventsListeners[t].forEach((e) => { 11073 e.apply(a, s); 11074 }); 11075 }), 11076 e 11077 ); 11078 } 11079 }; 11080 var S = { 11081 updateSize: function () { 11082 const e = this; 11083 let t, s; 11084 const a = e.$el; 11085 (t = 11086 void 0 !== e.params.width && null !== e.params.width 11087 ? e.params.width 11088 : a[0].clientWidth), 11089 (s = 11090 void 0 !== e.params.height && null !== e.params.height 11091 ? e.params.height 11092 : a[0].clientHeight), 11093 (0 === t && e.isHorizontal()) || 11094 (0 === s && e.isVertical()) || 11095 ((t = 11096 t - 11097 parseInt(a.css('padding-left') || 0, 10) - 11098 parseInt(a.css('padding-right') || 0, 10)), 11099 (s = 11100 s - 11101 parseInt(a.css('padding-top') || 0, 10) - 11102 parseInt(a.css('padding-bottom') || 0, 10)), 11103 Number.isNaN(t) && (t = 0), 11104 Number.isNaN(s) && (s = 0), 11105 Object.assign(e, { 11106 width: t, 11107 height: s, 11108 size: e.isHorizontal() ? t : s 11109 })); 11110 }, 11111 updateSlides: function () { 11112 const e = this; 11113 function t(t) { 11114 return e.isHorizontal() 11115 ? t 11116 : { 11117 width: 'height', 11118 'margin-top': 'margin-left', 11119 'margin-bottom ': 'margin-right', 11120 'margin-left': 'margin-top', 11121 'margin-right': 'margin-bottom', 11122 'padding-left': 'padding-top', 11123 'padding-right': 'padding-bottom', 11124 marginRight: 'marginBottom' 11125 }[t]; 11126 } 11127 function s(e, s) { 11128 return parseFloat(e.getPropertyValue(t(s)) || 0); 11129 } 11130 const a = e.params, 11131 { $wrapperEl: i, size: r, rtlTranslate: n, wrongRTL: l } = e, 11132 o = e.virtual && a.virtual.enabled, 11133 d = o ? e.virtual.slides.length : e.slides.length, 11134 c = i.children(`.${e.params.slideClass}`), 11135 p = o ? e.virtual.slides.length : c.length; 11136 let u = []; 11137 const h = [], 11138 m = []; 11139 let f = a.slidesOffsetBefore; 11140 'function' == typeof f && (f = a.slidesOffsetBefore.call(e)); 11141 let g = a.slidesOffsetAfter; 11142 'function' == typeof g && (g = a.slidesOffsetAfter.call(e)); 11143 const w = e.snapGrid.length, 11144 b = e.slidesGrid.length; 11145 let x = a.spaceBetween, 11146 y = -f, 11147 E = 0, 11148 C = 0; 11149 if (void 0 === r) return; 11150 'string' == typeof x && 11151 x.indexOf('%') >= 0 && 11152 (x = (parseFloat(x.replace('%', '')) / 100) * r), 11153 (e.virtualSize = -x), 11154 n 11155 ? c.css({ marginLeft: '', marginBottom: '', marginTop: '' }) 11156 : c.css({ 11157 marginRight: '', 11158 marginBottom: '', 11159 marginTop: '' 11160 }), 11161 a.centeredSlides && 11162 a.cssMode && 11163 (v(e.wrapperEl, '--swiper-centered-offset-before', ''), 11164 v(e.wrapperEl, '--swiper-centered-offset-after', '')); 11165 const T = a.grid && a.grid.rows > 1 && e.grid; 11166 let $; 11167 T && e.grid.initSlides(p); 11168 const S = 11169 'auto' === a.slidesPerView && 11170 a.breakpoints && 11171 Object.keys(a.breakpoints).filter( 11172 (e) => void 0 !== a.breakpoints[e].slidesPerView 11173 ).length > 0; 11174 for (let i = 0; i < p; i += 1) { 11175 $ = 0; 11176 const n = c.eq(i); 11177 if ( 11178 (T && e.grid.updateSlide(i, n, p, t), 11179 'none' !== n.css('display')) 11180 ) { 11181 if ('auto' === a.slidesPerView) { 11182 S && (c[i].style[t('width')] = ''); 11183 const r = getComputedStyle(n[0]), 11184 l = n[0].style.transform, 11185 o = n[0].style.webkitTransform; 11186 if ( 11187 (l && (n[0].style.transform = 'none'), 11188 o && (n[0].style.webkitTransform = 'none'), 11189 a.roundLengths) 11190 ) 11191 $ = e.isHorizontal() 11192 ? n.outerWidth(!0) 11193 : n.outerHeight(!0); 11194 else { 11195 const e = s(r, 'width'), 11196 t = s(r, 'padding-left'), 11197 a = s(r, 'padding-right'), 11198 i = s(r, 'margin-left'), 11199 l = s(r, 'margin-right'), 11200 o = r.getPropertyValue('box-sizing'); 11201 if (o && 'border-box' === o) $ = e + i + l; 11202 else {
11203 const { clientWidth: s, offsetWidth: r } = n[0]; 11204 $ = e + t + a + i + l + (r - s); 11205 } 11206 } 11207 l && (n[0].style.transform = l), 11208 o && (n[0].style.webkitTransform = o), 11209 a.roundLengths && ($ = Math.floor($)); 11210 } else 11211 ($ = (r - (a.slidesPerView - 1) * x) / a.slidesPerView), 11212 a.roundLengths && ($ = Math.floor($)), 11213 c[i] && (c[i].style[t('width')] = `${$}px`); 11214 c[i] && (c[i].swiperSlideSize = $), 11215 m.push($), 11216 a.centeredSlides 11217 ? ((y = y + $ / 2 + E / 2 + x), 11218 0 === E && 0 !== i && (y = y - r / 2 - x), 11219 0 === i && (y = y - r / 2 - x), 11220 Math.abs(y) < 0.001 && (y = 0), 11221 a.roundLengths && (y = Math.floor(y)), 11222 C % a.slidesPerGroup == 0 && u.push(y), 11223 h.push(y)) 11224 : (a.roundLengths && (y = Math.floor(y)), 11225 (C - Math.min(e.params.slidesPerGroupSkip, C)) % 11226 e.params.slidesPerGroup == 11227 0 && u.push(y), 11228 h.push(y), 11229 (y = y + $ + x)), 11230 (e.virtualSize += $ + x), 11231 (E = $), 11232 (C += 1); 11233 } 11234 } 11235 if ( 11236 ((e.virtualSize = Math.max(e.virtualSize, r) + g), 11237 n && 11238 l && 11239 ('slide' === a.effect || 'coverflow' === a.effect) && 11240 i.css({ width: `${e.virtualSize + a.spaceBetween}px` }), 11241 a.setWrapperSize && 11242 i.css({ 11243 [t('width')]: `${e.virtualSize + a.spaceBetween}px` 11244 }), 11245 T && e.grid.updateWrapperSize($, u, t), 11246 !a.centeredSlides) 11247 ) { 11248 const t = []; 11249 for (let s = 0; s < u.length; s += 1) { 11250 let i = u[s]; 11251 a.roundLengths && (i = Math.floor(i)), 11252 u[s] <= e.virtualSize - r && t.push(i); 11253 } 11254 (u = t), 11255 Math.floor(e.virtualSize - r) - 11256 Math.floor(u[u.length - 1]) > 11257 1 && u.push(e.virtualSize - r); 11258 } 11259 if ((0 === u.length && (u = [0]), 0 !== a.spaceBetween)) { 11260 const s = 11261 e.isHorizontal() && n ? 'marginLeft' : t('marginRight'); 11262 c.filter((e, t) => !a.cssMode || t !== c.length - 1).css({ 11263 [s]: `${x}px` 11264 }); 11265 } 11266 if (a.centeredSlides && a.centeredSlidesBounds) { 11267 let e = 0; 11268 m.forEach((t) => { 11269 e += t + (a.spaceBetween ? a.spaceBetween : 0); 11270 }), 11271 (e -= a.spaceBetween); 11272 const t = e - r; 11273 u = u.map((e) => (e < 0 ? -f : e > t ? t + g : e)); 11274 } 11275 if (a.centerInsufficientSlides) { 11276 let e = 0; 11277 if ( 11278 (m.forEach((t) => { 11279 e += t + (a.spaceBetween ? a.spaceBetween : 0); 11280 }), 11281 (e -= a.spaceBetween), 11282 e < r) 11283 ) { 11284 const t = (r - e) / 2; 11285 u.forEach((e, s) => { 11286 u[s] = e - t; 11287 }), 11288 h.forEach((e, s) => { 11289 h[s] = e + t; 11290 }); 11291 } 11292 } 11293 if ( 11294 (Object.assign(e, { 11295 slides: c, 11296 snapGrid: u, 11297 slidesGrid: h, 11298 slidesSizesGrid: m 11299 }), 11300 a.centeredSlides && a.cssMode && !a.centeredSlidesB
11300ounds) 11301 ) { 11302 v(e.wrapperEl, '--swiper-centered-offset-before', -u[0] + 'px'), 11303 v( 11304 e.wrapperEl, 11305 '--swiper-centered-offset-after', 11306 e.size / 2 - m[m.length - 1] / 2 + 'px' 11307 ); 11308 const t = -e.snapGrid[0], 11309 s = -e.slidesGrid[0]; 11310 (e.snapGrid = e.snapGrid.map((e) => e + t)), 11311 (e.slidesGrid = e.slidesGrid.map((e) => e + s)); 11312 } 11313 if ( 11314 (p !== d && e.emit('slidesLengthChange'), 11315 u.length !== w && 11316 (e.params.watchOverflow && e.checkOverflow(), 11317 e.emit('snapGridLengthChange')), 11318 h.length !== b && e.emit('slidesGridLengthChange'), 11319 a.watchSlidesProgress && e.updateSlidesOffset(), 11320 !( 11321 o || 11322 a.cssMode || 11323 ('slide' !== a.effect && 'fade' !== a.effect) 11324 )) 11325 ) { 11326 const t = `${a.containerModifierClass}backface-hidden`, 11327 s = e.$el.hasClass(t); 11328 p <= a.maxBackfaceHiddenSlides 11329 ? s || e.$el.addClass(t) 11330 : s && e.$el.removeClass(t); 11331 } 11332 }, 11333 updateAutoHeight: function (e) { 11334 const t = this, 11335 s = [], 11336 a = t.virtual && t.params.virtual.enabled; 11337 let i, 11338 r = 0; 11339 'number' == typeof e 11340 ? t.setTransition(e) 11341 : !0 === e && t.setTransition(t.params.speed); 11342 const n = (e) => 11343 a 11344 ? t.slides.filter( 11345 (t) => 11346 parseInt( 11347 t.getAttribute('data-swiper-slide-index'), 11348 10 11349 ) === e 11350 )[0] 11351 : t.slides.eq(e)[0]; 11352 if ('auto' !== t.params.slidesPerView && t.params.slidesPerView > 1) 11353 if (t.params.centeredSlides) 11354 (t.visibleSlides || d([])).each((e) => { 11355 s.push(e); 11356 }); 11357 else 11358 for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) { 11359 const e = t.activeIndex + i; 11360 if (e > t.slides.length && !a) break; 11361 s.push(n(e)); 11362 } 11363 else s.push(n(t.activeIndex)); 11364 for (i = 0; i < s.length; i += 1) 11365 if (void 0 !== s[i]) { 11366 const e = s[i].offsetHeight; 11367 r = e > r ? e : r; 11368 } 11369 (r || 0 === r) && t.$wrapperEl.css('height', `${r}px`); 11370 }, 11371 updateSlidesOffset: function () { 11372 const e = this, 11373 t = e.slides; 11374 for (let s = 0; s < t.length; s += 1) 11375 t[s].swiperSlideOffset = e.isHorizontal() 11376 ? t[s].offsetLeft 11377 : t[s].offsetTop; 11378 }, 11379 updateSlidesProgress: function (e) { 11380 void 0 === e && (e = (this && this.translate) || 0); 11381 const t = this, 11382 s = t.params, 11383 { slides: a, rtlTranslate: i, snapGrid: r } = t; 11384 if (0 === a.length) return; 11385 void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset(); 11386 let n = -e; 11387 i && (n = e), 11388 a.removeClass(s.slideVisibleClass), 11389 (t.visibleSlidesIndexes = []), 11390 (t.visibleSlides = []); 11391 for (let e = 0; e < a.length; e += 1) { 11392 const l = a[e]; 11393 let o = l.swiperSlideOffset; 11394 s.cssMode && s.centeredSlides && (o -= a[0].swiperSlideOffset); 11395 const d = 11396 (n + (s.centeredSlides ? t.minTranslate() : 0) - o) / 11397 (l.swiperSlideSize + s.spaceBetween), 11398 c = 11399 (n - 11400 r[0] + 11401 (s.centeredSlides ? t.minTranslate() : 0) - 11402 o) / 11403 (l.swiperSlideSize + s.spaceBetween), 11404 p = -(n - o), 11405 u = p + t.slidesSizesGrid[e]; 11406 ((p >= 0 && p < t.size - 1) || 11407 (u > 1 && u <= t.size) || 11408 (p <= 0 && u >= t.size)) && 11409 (t.visibleSlides.push(l), 11410 t.visibleSlidesIndexes.push(e), 11411 a.eq(e).addClass(s.slideVisibleClass)), 11412 (l.progress = i ? -d : d), 11413 (l.originalProgress = i ? -c : c); 11414 } 11415 t.visibleSlides = d(t.visibleSlides); 11416 }, 11417 updateProgress: function (e) { 11418 const t = this; 11419 if (void 0 === e) { 11420 const s = t.rtlTranslate ? -1 : 1; 11421 e = (t && t.translate && t.translate * s) || 0; 11422 } 11423 const s = t.params, 11424 a = t.maxTranslate() - t.minTranslate(); 11425 let { progress: i, isBeginning: r, isEnd: n } = t; 11426 const l = r, 11427 o = n; 11428 0 === a 11429 ? ((i = 0), (r = !0), (n = !0)) 11430 : ((i = (e - t.minTranslate()) / a), 11431 (r = i <= 0), 11432 (n = i >= 1)), 11433 Object.assign(t, { progress: i, isBeginning: r, isEnd: n }), 11434 (s.watchSlidesProgress || (s.centeredSlides && s.autoHeight)) && 11435 t.updateSlidesProgress(e), 11436 r && !l && t.emit('reachBeginning toEdge'), 11437 n && !o && t.emit('reachEnd toEdge'), 11438 ((l && !r) || (o && !n)) && t.emit('fromEdge'), 11439 t.emit('progress', i); 11440 }, 11441 updateSlidesClasses: function () { 11442 const e = this, 11443 { 11444 slides: t, 11445 params: s, 11446 $wrapperEl: a, 11447 activeIndex: i, 11448 realIndex: r 11449 } = e, 11450 n = e.virtual && s.virtual.enabled; 11451 let l; 11452 t.removeClass( 11453 `${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}` 11454 ), 11455 (l = n 11456 ? e.$wrapperEl.find( 11457 `.${s.slideClass}[data-swiper-slide-index="${i}"]` 11458 ) 11459 : t.eq(i)), 11460 l.addClass(s.slideActiveClass), 11461 s.loop && 11462 (l.hasClass(s.slideDuplicateClass) 11463 ? a 11464 .children( 11465 `.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]` 11466 ) 11467 .addClass(s.slideDuplicateActiveClass) 11468 : a 11469 .children( 11470 `.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]` 11471 ) 11472 .addClass(s.slideDuplicateActiveClass)); 11473 let o = l 11474 .nextAll(`.${s.slideClass}`) 11475 .eq(0) 11476 .addClass(s.slideNextClass); 11477 s.loop && 11478 0 === o.length && 11479 ((o = t.eq(0)), o.addClass(s.slideNextClass)); 11480 let d = l 11481 .prevAll(`.${s.slideClass}`) 11482 .eq(0) 11483 .addClass(s.slidePrevClass); 11484 s.loop && 11485 0 === d.length && 11486 ((d = t.eq(-1)), d.addClass(s.slidePrevClass)), 11487 s.loop && 11488 (o.hasClass(s.slideDuplicateClass) 11489 ? a 11490 .children( 11491 `.${s.slideClass}:not(.${ 11492 s.slideDuplicateClass 11493 })[data-swiper-slide-index="${o.attr( 11494 'data-swiper-slide-index' 11495 )}"]` 11496 ) 11497 .addClass(s.slideDuplicateNextClass) 11498 : a 11499 .children( 11500 `.${s.slideClass}.${ 11501 s.slideDuplicateClass 11502 }[data-swiper-slide-index="${o.attr( 11503 'data-swiper-slide-index' 11504 )}"]` 11505 ) 11506 .addClass(s.slideDuplicateNextClass), 11507 d.hasClass(s.slideDuplicateClass) 11508 ? a 11509 .children( 11510 `.${s.slideClass}:not(.${ 11511 s.slideDuplicateClass 11512 })[data-swiper-slide-index="${d.attr( 11513 'data-swiper-slide-index' 11514 )}"]` 11515 ) 11516 .addClass(s.slideDuplicatePrevClass) 11517 : a 11518 .children( 11519 `.${s.slideClass}.${ 11520 s.slideDuplicateClass 11521 }[data-swiper-slide-index="${d.attr( 11522 'data-swiper-slide-index' 11523 )}"]` 11524 ) 11525 .addClass(s.slideDuplicatePrevClass)), 11526 e.emitSlidesClasses(); 11527 }, 11528 updateActiveIndex: function (e) { 11529 const t = this, 11530 s = t.rtlTranslate ? t.translate : -t.translate, 11531 { 11532 slidesGrid: a, 11533 snapGrid: i, 11534 params: r, 11535 activeIndex: n, 11536 realIndex: l, 11537 snapIndex: o 11538 } = t; 11539 let d, 11540 c = e; 11541 if (void 0 === c) { 11542 for (let e = 0; e < a.length; e += 1) 11543 void 0 !== a[e + 1] 11544 ? s >= a[e] && s < a[e + 1] - (a[e + 1] - a[e]) / 2 11545 ? (c = e) 11546 : s >= a[e] && s < a[e + 1] && (c = e + 1) 11547 : s >= a[e] && (c = e);
11548 r.normalizeSlideIndex && (c < 0 || void 0 === c) && (c = 0); 11549 } 11550 if (i.indexOf(s) >= 0) d = i.indexOf(s); 11551 else { 11552 const e = Math.min(r.slidesPerGroupSkip, c); 11553 d = e + Math.floor((c - e) / r.slidesPerGroup); 11554 } 11555 if ((d >= i.length && (d = i.length - 1), c === n)) 11556 return void ( 11557 d !== o && ((t.snapIndex = d), t.emit('snapIndexChange')) 11558 ); 11559 const p = parseInt( 11560 t.slides.eq(c).attr('data-swiper-slide-index') || c, 11561 10 11562 ); 11563 Object.assign(t, { 11564 snapIndex: d, 11565 realIndex: p, 11566 previousIndex: n, 11567 activeIndex: c 11568 }), 11569 t.emit('activeIndexChange'), 11570 t.emit('snapIndexChange'), 11571 l !== p && t.emit('realIndexChange'), 11572 (t.initialized || t.params.runCallbacksOnInit) && 11573 t.emit('slideChange'); 11574 }, 11575 updateClickedSlide: function (e) { 11576 const t = this, 11577 s = t.params, 11578 a = d(e).closest(`.${s.slideClass}`)[0]; 11579 let i, 11580 r = !1; 11581 if (a) 11582 for (let e = 0; e < t.slides.length; e += 1) 11583 if (t.slides[e] === a) { 11584 (r = !0), (i = e); 11585 break; 11586 } 11587 if (!a || !r) 11588 return ( 11589 (t.clickedSlide = void 0), void (t.clickedIndex = void 0) 11590 ); 11591 (t.clickedSlide = a), 11592 t.virtual && t.params.virtual.enabled 11593 ? (t.clickedIndex = parseInt( 11594 d(a).attr('data-swiper-slide-index'), 11595 10 11596 )) 11597 : (t.clickedIndex = i), 11598 s.slideToClickedSlide && 11599 void 0 !== t.clickedIndex && 11600 t.clickedIndex !== t.activeIndex && 11601 t.slideToClickedSlide(); 11602 } 11603 }; 11604 var M = { 11605 getTranslate: function (e) { 11606 void 0 === e && (e = this.isHorizontal() ? 'x' : 'y'); 11607 const { 11608 params: t, 11609 rtlTranslate: s, 11610 translate: a, 11611 $wrapperEl: i 11612 } = this; 11613 if (t.virtualTranslate) return s ? -a : a; 11614 if (t.cssMode) return a; 11615 let r = h(i[0], e); 11616 return s && (r = -r), r || 0; 11617 }, 11618 setTranslate: function (e, t) { 11619 const s = this, 11620 { 11621 rtlTranslate: a, 11622 params: i, 11623 $wrapperEl: r, 11624 wrapperEl: n, 11625 progress: l 11626 } = s; 11627 let o, 11628 d = 0, 11629 c = 0; 11630 s.isHorizontal() ? (d = a ? -e : e) : (c = e), 11631 i.roundLengths && ((d = Math.floor(d)), (c = Math.floor(c))), 11632 i.cssMode 11633 ? (n[s.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = 11634 s.isHorizontal() ? -d : -c) 11635 : i.virtualTranslate || 11636 r.transform(`translate3d(${d}px, ${c}px, 0px)`), 11637 (s.previousTranslate = s.translate), 11638 (s.translate = s.isHorizontal() ? d : c); 11639 const p = s.maxTranslate() - s.minTranslate(); 11640 (o = 0 === p ? 0 : (e - s.minTranslate()) / p), 11641 o !== l && s.updateProgress(e), 11642 s.emit('setTranslate', s.translate, t); 11643 }, 11644 minTranslate: function () { 11645 return -this.snapGrid[0]; 11646 }, 11647 maxTranslate: function () { 11648 return -this.snapGrid[this.snapGrid.length - 1]; 11649 }, 11650 translateTo: function (e, t, s, a, i) { 11651 void 0 === e && (e = 0), 11652 void 0 === t && (t = this.params.speed), 11653 void 0 === s && (s = !0), 11654 void 0 === a && (a = !0); 11655 const r = this, 11656 { params: n, wrapperEl: l } = r; 11657 if (r.animating && n.preventInteractionOnTransition) return !1; 11658 const o = r.minTranslate(), 11659 d = r.maxTranslate(); 11660 let c; 11661 if ( 11662 ((c = a && e > o ? o : a && e < d ? d : e), 11663 r.updateProgress(c), 11664 n.cssMode) 11665 ) { 11666 const e = r.isHorizontal(); 11667 if (0 === t) l[e ? 'scrollLeft' : 'scrollTop'] = -c; 11668 else { 11669 if (!r.support.smoothScroll) 11670 return ( 11671 w({ 11672 swiper: r, 11673 targetPosition: -c, 11674 side: e ? 'left' : 'top' 11675 }), 11676 !0 11677 ); 11678 l.scrollTo({ 11679 [e ? 'left' : 'top']: -c, 11680 behavior: 'smooth' 11681 }); 11682 } 11683 return !0; 11684 } 11685 return ( 11686 0 === t 11687 ? (r.setTransition(0), 11688 r.setTranslate(c), 11689 s && 11690 (r.emit('beforeTransitionStart', t, i), 11691 r.emit('transitionEnd'))) 11692 : (r.setTransition(t), 11693 r.setTranslate(c), 11694 s && 11695 (r.emit('beforeTransitionStart', t, i), 11696 r.emit('transitionStart')), 11697 r.animating || 11698 ((r.animating = !0), 11699 r.onTranslateToWrapperTransitionEnd || 11700 (r.onTranslateToWrapperTransitionEnd = function ( 11701 e 11702 ) { 11703 r && 11704 !r.destroyed && 11705 e.target === this && 11706 (r.$wrapperEl[0].removeEventListener( 11707 'transitionend', 11708 r.onTranslateToWrapperTransitionEnd 11709 ), 11710 r.$wrapperEl[0].removeEventListener( 11711 'webkitTransitionEnd', 11712 r.onTranslateToWrapperTransitionEnd 11713 ), 11714 (r.onTranslateToWrapperTransitionEnd = 11715 null), 11716 delete r.onTranslateToWrapperTransitionEnd, 11717 s && r.emit('transitionEnd')); 11718 }), 11719 r.$wrapperEl[0].addEventListener( 11720 'transitionend', 11721 r.onTranslateToWrapperTransitionEnd 11722 ), 11723 r.$wrapperEl[0].addEventListener( 11724 'webkitTransitionEnd', 11725 r.onTranslateToWrapperTransitionEnd 11726 ))), 11727 !0 11728 ); 11729 } 11730 }; 11731 function P(e) { 11732 let { swiper: t, runCallbacks: s, direction: a, step: i } = e; 11733 const { activeIndex: r, previousIndex: n } = t; 11734 let l = a; 11735 if ( 11736 (l || (l = r > n ? 'next' : r < n ? 'prev' : 'reset'), 11737 t.emit(`transition${i}`), 11738 s && r !== n) 11739 ) { 11740 if ('reset' === l) return void t.emit(`slideResetTransition${i}`); 11741 t.emit(`slideChangeTransition${i}`), 11742 'next' === l 11743 ? t.emit(`slideNextTransition${i}`) 11744 : t.emit(`slidePrevTransition${i}`); 11745 } 11746 } 11747 var k = { 11748 slideTo: function (e, t, s, a, i) { 11749 if ( 11750 (void 0 === e && (e = 0), 11751 void 0 === t && (t = this.params.speed), 11752 void 0 === s && (s = !0), 11753 'number' != typeof e && 'string' != typeof e) 11754 ) 11755 throw new Error( 11756 `The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.` 11757 ); 11758 if ('string' == typeof e) { 11759 const t = parseInt(e, 10); 11760 if (!isFinite(t)) 11761 throw new Error( 11762 `The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.` 11763 ); 11764 e = t; 11765 } 11766 const r = this; 11767 let n = e; 11768 n < 0 && (n = 0); 11769 const { 11770 params: l, 11771 snapGrid: o, 11772 slidesGrid: d, 11773 previousIndex: c, 11774 activeIndex: p, 11775 rtlTranslate: u, 11776 wrapperEl: h, 11777 enabled: m 11778 } = r; 11779 if ( 11780 (r.animating && l.preventInteractionOnTransition) || 11781 (!m && !a && !i) 11782 ) 11783 return !1; 11784 const f = Math.min(r.params.slidesPerGroupSkip, n); 11785 let g = f + Math.floor((n - f) / r.params.slidesPerGroup); 11786 g >= o.length && (g = o.length - 1), 11787 (p || l.initialSlide || 0) === (c || 0) && 11788 s && 11789 r.emit('beforeSlideChangeStart'); 11790 const v = -o[g]; 11791 if ((r.updateProgress(v), l.normalizeSlideIndex)) 11792 for (let e = 0; e < d.length; e += 1) { 11793 const t = -Math.floor(100 * v), 11794 s = Math.floor(100 * d[e]), 11795 a = Math.floor(100 * d[e + 1]); 11796 void 0 !== d[e + 1] 11797 ? t >= s && t < a - (a - s) / 2 11798 ? (n = e) 11799 : t >= s && t < a && (n = e + 1) 11800 : t >= s && (n = e); 11801 } 11802 if (r.initialized && n !== p) { 11803 if ( 11804 !r.allowSlideNext && 11805 v < r.translate && 11806 v < r.minTranslate() 11807 ) 11808 return !1; 11809 if ( 11810 !r.allowSlidePrev && 11811 v > r.translate && 11812 v > r.maxTranslate() && 11813 (p || 0) !== n 11814 ) 11815 return !1; 11816 } 11817 let b; 11818 if ( 11819 ((b = n > p ? 'next' : n < p ? 'prev' : 'reset'), 11820 (u && -v === r.translate) || (!u && v === r.translate)) 11821 ) 11822 return ( 11823 r.updateActiveIndex(n), 11824 l.autoHeight && r.updateAutoHeight(), 11825 r.updateSlidesClasses(), 11826 'slide' !== l.effect && r.setTranslate(v), 11827 'reset' !== b && 11828 (r.transitionStart(s, b), r.transitionEnd(s, b)), 11829 !1 11830 ); 11831 if (l.cssMode) { 11832 const e = r.isHorizontal(), 11833 s = u ? v : -v; 11834 if (0 === t) { 11835 const t = r.virtual && r.params.virtual.enabled; 11836 t && 11837 ((r.wrapperEl.style.scrollSnapType = 'none'), 11838 (r._immediateVirtual = !0)), 11839 (h[e ? 'scrollLeft' : 'scrollTop'] = s), 11840 t && 11841 requestAnimationFrame(() => { 11842 (r.wrapperEl.style.scrollSnapType = ''), 11843 (r._swiperImmediateVirtual = !1); 11844 }); 11845 } else { 11846 if (!r.support.smoothScroll) 11847 return ( 11848 w({ 11849 swiper: r, 11850 targetPosition: s, 11851 side: e ? 'left' : 'top' 11852 }), 11853 !0 11854 ); 11855 h.scrollTo({ [e ? 'left' : 'top']: s, behavior: 'smooth' }); 11856 } 11857 return !0; 11858 } 11859 return ( 11860 r.setTransition(t), 11861 r.setTranslate(v), 11862 r.updateActiveIndex(n), 11863 r.updateSlidesClasses(), 11864 r.emit('beforeTransitionStart', t, a), 11865 r.transitionStart(s, b), 11866 0 === t 11867 ? r.transitionEnd(s, b) 11868 : r.animating || 11869 ((r.animating = !0), 11870 r.onSlideToWrapperTransitionEnd || 11871 (r.onSlideToWrapperTransitionEnd = function (e) { 11872 r && 11873 !r.destroyed && 11874 e.target === this && 11875 (r.$wrapperEl[0].removeEventListener( 11876 'transitionend', 11877 r.onSlideToWrapperTransitionEnd 11878 ), 11879 r.$wrapperEl[0].removeEventListener( 11880 'webkitTransitionEnd', 11881 r.onSlideToWrapperTransitionEnd 11882 ), 11883 (r.onSlideToWrapperTransitionEnd = null),
11884 delete r.onSlideToWrapperTransitionEnd, 11885 r.transitionEnd(s, b)); 11886 }), 11887 r.$wrapperEl[0].addEventListener( 11888 'transitionend', 11889 r.onSlideToWrapperTransitionEnd 11890 ), 11891 r.$wrapperEl[0].addEventListener( 11892 'webkitTransitionEnd', 11893 r.onSlideToWrapperTransitionEnd 11894 )), 11895 !0 11896 ); 11897 }, 11898 slideToLoop: function (e, t, s, a) { 11899 if ( 11900 (void 0 === e && (e = 0), 11901 void 0 === t && (t = this.params.speed), 11902 void 0 === s && (s = !0), 11903 'string' == typeof e) 11904 ) { 11905 const t = parseInt(e, 10); 11906 if (!isFinite(t)) 11907 throw new Error( 11908 `The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.` 11909 ); 11910 e = t; 11911 } 11912 const i = this; 11913 let r = e; 11914 return ( 11915 i.params.loop && (r += i.loopedSlides), i.slideTo(r, t, s, a) 11916 ); 11917 }, 11918 slideNext: function (e, t, s) { 11919 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); 11920 const a = this, 11921 { animating: i, enabled: r, params: n } = a; 11922 if (!r) return a; 11923 let l = n.slidesPerGroup; 11924 'auto' === n.slidesPerView && 11925 1 === n.slidesPerGroup && 11926 n.slidesPerGroupAuto && 11927 (l = Math.max(a.slidesPerViewDynamic('current', !0), 1)); 11928 const o = a.activeIndex < n.slidesPerGroupSkip ? 1 : l; 11929 if (n.loop) { 11930 if (i && n.loopPreventsSlide) return !1; 11931 a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft); 11932 } 11933 return n.rewind && a.isEnd 11934 ? a.slideTo(0, e, t, s) 11935 : a.slideTo(a.activeIndex + o, e, t, s); 11936 }, 11937 slidePrev: function (e, t, s) { 11938 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); 11939 const a = this, 11940 { 11941 params: i, 11942 animating: r, 11943 snapGrid: n, 11944 slidesGrid: l, 11945 rtlTranslate: o, 11946 enabled: d 11947 } = a; 11948 if (!d) return a; 11949 if (i.loop) { 11950 if (r && i.loopPreventsSlide) return !1; 11951 a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft); 11952 } 11953 function c(e) { 11954 return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e); 11955 } 11956 const p = c(o ? a.translate : -a.translate), 11957 u = n.map((e) => c(e)); 11958 let h = n[u.indexOf(p) - 1]; 11959 if (void 0 === h && i.cssMode) { 11960 let e; 11961 n.forEach((t, s) => { 11962 p >= t && (e = s); 11963 }), 11964 void 0 !== e && (h = n[e > 0 ? e - 1 : e]); 11965 } 11966 let m = 0; 11967 if ( 11968 (void 0 !== h && 11969 ((m = l.indexOf(h)), 11970 m < 0 && (m = a.activeIndex - 1), 11971 'auto' === i.slidesPerView && 11972 1 === i.slidesPerGroup && 11973 i.slidesPerGroupAuto && 11974 ((m = m - a.slidesPerViewDynamic('previous', !0) + 1), 11975 (m = Math.max(m, 0)))), 11976 i.rewind && a.isBeginning) 11977 ) { 11978 const i = 11979 a.params.virtual && a.params.virtual.enabled && a.virtual 11980 ? a.virtual.slides.length - 1 11981 : a.slides.length - 1; 11982 return a.slideTo(i, e, t, s); 11983 } 11984 return a.slideTo(m, e, t, s); 11985 }, 11986 slideReset: function (e, t, s) { 11987 return ( 11988 void 0 === e && (e = this.params.speed), 11989 void 0 === t && (t = !0), 11990 this.slideTo(this.activeIndex, e, t, s) 11991 ); 11992 }, 11993 slideToClosest: function (e, t, s, a) { 11994 void 0 === e && (e = this.params.speed), 11995 void 0 === t && (t = !0), 11996 void 0 === a && (a = 0.5); 11997 const i = this; 11998 let r = i.activeIndex; 11999 const n = Math.min(i.params.slidesPerGroupSkip, r), 12000 l = n + Math.floor((r - n) / i.params.slidesPerGroup), 12001 o = i.rtlTranslate ? i.translate : -i.translate; 12002 if (o >= i.snapGrid[l]) { 12003 const e = i.snapGrid[l]; 12004 o - e > (i.snapGrid[l + 1] - e) * a && 12005 (r += i.params.slidesPerGroup); 12006 } else { 12007 const e = i.snapGrid[l - 1]; 12008 o - e <= (i.snapGrid[l] - e) * a && 12009 (r -= i.params.slidesPerGroup); 12010 } 12011 return ( 12012 (r = Math.max(r, 0)), 12013 (r = Math.min(r, i.slidesGrid.length - 1)), 12014 i.slideTo(r, e, t, s) 12015 ); 12016 }, 12017 slideToClickedSlide: function () { 12018 const e = this, 12019 { params: t, $wrapperEl: s } = e, 12020 a = 12021 'auto' === t.slidesPerView 12022 ? e.slidesPerViewDynamic() 12023 : t.slidesPerView; 12024 let i, 12025 r = e.clickedIndex; 12026 if (t.loop) { 12027 if (e.animating) return; 12028 (i = parseInt( 12029 d(e.clickedSlide).attr('data-swiper-slide-index'),
12030 10 12031 )), 12032 t.centeredSlides 12033 ? r < e.loopedSlides - a / 2 || 12034 r > e.slides.length - e.loopedSlides + a / 2 12035 ? (e.loopFix(), 12036 (r = s 12037 .children( 12038 `.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})` 12039 ) 12040 .eq(0) 12041 .index()), 12042 p(() => { 12043 e.slideTo(r); 12044 })) 12045 : e.slideTo(r) 12046 : r > e.slides.length - a 12047 ? (e.loopFix(), 12048 (r = s 12049 .children( 12050 `.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})` 12051 ) 12052 .eq(0) 12053 .index()), 12054 p(() => { 12055 e.slideTo(r); 12056 })) 12057 : e.slideTo(r); 12058 } else e.slideTo(r); 12059 } 12060 }; 12061 var z = { 12062 loopCreate: function () { 12063 const e = this, 12064 t = a(), 12065 { params: s, $wrapperEl: i } = e, 12066 r = i.children().length > 0 ? d(i.children()[0].parentNode) : i; 12067 r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove(); 12068 let n = r.children(`.${s.slideClass}`); 12069 if (s.loopFillGroupWithBlank) { 12070 const e = s.slidesPerGroup - (n.length % s.slidesPerGroup); 12071 if (e !== s.slidesPerGroup) { 12072 for (let a = 0; a < e; a += 1) { 12073 const e = d(t.createElement('div')).addClass( 12074 `${s.slideClass} ${s.slideBlankClass}` 12075 ); 12076 r.append(e); 12077 } 12078 n = r.children(`.${s.slideClass}`); 12079 } 12080 } 12081 'auto' !== s.slidesPerView || 12082 s.loopedSlides || 12083 (s.loopedSlides = n.length), 12084 (e.loopedSlides = Math.ceil( 12085 parseFloat(s.loopedSlides || s.slidesPerView, 10) 12086 )), 12087 (e.loopedSlides += s.loopAdditionalSlides), 12088 e.loopedSlides > n.length && (e.loopedSlides = n.length); 12089 const l = [], 12090 o = []; 12091 n.each((t, s) => { 12092 const a = d(t); 12093 s < e.loopedSlides && o.push(t), 12094 s < n.length && s >= n.length - e.loopedSlides && l.push(t), 12095 a.attr('data-swiper-slide-index', s); 12096 }); 12097 for (let e = 0; e < o.length; e += 1) 12098 r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass)); 12099 for (let e = l.length - 1; e >= 0; e -= 1) 12100 r.prepend( 12101 d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass) 12102 ); 12103 }, 12104 loopFix: function () { 12105 const e = this; 12106 e.emit('beforeLoopFix'); 12107 const { 12108 activeIndex: t, 12109 slides: s, 12110 loopedSlides: a, 12111 allowSlidePrev: i, 12112 allowSlideNext: r, 12113 snapGrid: n, 12114 rtlTranslate: l 12115 } = e; 12116 let o; 12117 (e.allowSlidePrev = !0), (e.allowSlideNext = !0); 12118 const d = -n[t] - e.getTranslate(); 12119 if (t < a) { 12120 (o = s.length - 3 * a + t), (o += a); 12121 e.slideTo(o, 0, !1, !0) && 12122 0 !== d && 12123 e.setTranslate((l ? -e.translate : e.translate) - d); 12124 } else if (t >= s.length - a) { 12125 (o = -s.length + t + a), (o += a); 12126 e.slideTo(o, 0, !1, !0) && 12127 0 !== d && 12128 e.setTranslate((l ? -e.translate : e.translate) - d); 12129 } 12130 (e.allowSlidePrev = i), (e.allowSlideNext = r), e.emit('loopFix'); 12131 }, 12132 loopDestroy: function () { 12133 const { $wrapperEl: e, params: t, slides: s } = this; 12134 e 12135 .children( 12136 `.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}` 12137 ) 12138 .remove(), 12139 s.removeAttr('data-swiper-slide-index'); 12140 } 12141 }; 12142 function L(e) { 12143 const t = this, 12144 s = a(), 12145 i = r(), 12146 n = t.touchEventsData, 12147 { params: l, touches: o, enabled: c } = t; 12148 if (!c) return; 12149 if (t.animating && l.preventInteractionOnTransition) return; 12150 !t.animating && l.cssMode && l.loop && t.loopFix(); 12151 let p = e; 12152 p.originalEvent && (p = p.originalEvent); 12153 let h = d(p.target); 12154 if ('wrapper' === l.touchEventsTarget && !h.closest(t.wrapperEl).length) 12155 return; 12156 if ( 12157 ((n.isTouchEvent = 'touchstart' === p.type), 12158 !n.isTouchEvent && 'which' in p && 3 === p.which) 12159 ) 12160 return; 12161 if (!n.isTouchEvent && 'button' in p && p.button > 0) return; 12162 if (n.isTouched && n.isMoved) return; 12163 !!l.noSwipingClass && 12164 '' !== l.noSwipingClass && 12165 p.target && 12166 p.target.shadowRoot && 12167 e.path && 12168 e.path[0] && 12169 (h = d(e.path[0])); 12170 const m = l.noSwipingSelector 12171 ? l.noSwipingSelector 12172 : `.${l.noSwipingClass}`, 12173 f = !(!p.target || !p.target.shadowRoot); 12174 if ( 12175 l.noSwiping && 12176 (f 12177 ? (function (e, t) { 12178 return ( 12179 void 0 === t && (t = this), 12180 (function t(s) { 12181 if (!s || s === a() || s === r()) return null; 12182 s.assignedSlot && (s = s.assignedSlot); 12183 const i = s.closest(e); 12184 return i || s.getRootNode 12185 ? i || t(s.getRootNode().host) 12186 : null; 12187 })(t) 12188 ); 12189 })(m, h[0]) 12190 : h.closest(m)[0]) 12191 ) 12192 return void (t.allowClick = !0); 12193 if (l.swipeHandler && !h.closest(l.swipeHandler)[0]) return; 12194 (o.currentX = 12195 'touchstart' === p.type ? p.targetTouches[0].pageX : p.pageX), 12196 (o.currentY = 12197 'touchstart' === p.type ? p.targetTouches[0].pageY : p.pageY); 12198 const g = o.currentX, 12199 v = o.currentY, 12200 w = l.edgeSwipeDetection || l.iOSEdgeSwipeDetection, 12201 b = l.edgeSwipeThreshold || l.iOSEdgeSwipeThreshold; 12202 if (w && (g <= b || g >= i.innerWidth - b)) { 12203 if ('prevent' !== w) return; 12204 e.preventDefault(); 12205 } 12206 if ( 12207 (Object.assign(n, { 12208 isTouched: !0, 12209 isMoved: !1, 12210 allowTouchCallbacks: !0, 12211 isScrolling: void 0, 12212 startMoving: void 0 12213 }), 12214 (o.startX = g), 12215 (o.startY = v), 12216 (n.touchStartTime = u()), 12217 (t.allowClick = !0), 12218 t.updateSize(), 12219 (t.swipeDirection = void 0), 12220 l.threshold > 0 && (n.allowThresholdMove = !1), 12221 'touchstart' !== p.type) 12222 ) { 12223 let e = !0; 12224 h.is(n.focusableElements) && 12225 ((e = !1), 'SELECT' === h[0].nodeName && (n.isTouched = !1)), 12226 s.activeElement && 12227 d(s.activeElement).is(n.focusableElements) && 12228 s.activeElement !== h[0] && 12229 s.activeElement.blur(); 12230 const a = e && t.allowTouchMove && l.touchStartPreventDefault; 12231 (!l.touchStartForcePreventDefault && !a) || 12232 h[0].isContentEditable || 12233 p.preventDefault(); 12234 } 12235 t.params.freeMode && 12236 t.params.freeMode.enabled && 12237 t.freeMode && 12238 t.animating && 12239 !l.cssMode && 12240 t.freeMode.onTouchStart(), 12241 t.emit('touchStart', p); 12242 } 12243 function O(e) { 12244 const t = a(), 12245 s = this, 12246 i = s.touchEventsData, 12247 { params: r, touches: n, rtlTranslate: l, enabled: o } = s; 12248 if (!o) return; 12249 let c = e; 12250 if ((c.originalEvent && (c = c.originalEvent), !i.isTouched)) 12251 return void ( 12252 i.startMoving && 12253 i.isScrolling && 12254 s.emit('touchMoveOpposite', c) 12255 ); 12256 if (i.isTouchEvent && 'touchmove' !== c.type) return; 12257 const p = 12258 'touchmove' === c.type && 12259 c.targetTouches && 12260 (c.targetTouches[0] || c.changedTouches[0]), 12261 h = 'touchmove' === c.type ? p.pageX : c.pageX, 12262 m = 'touchmove' === c.type ? p.pageY : c.pageY; 12263 if (c.preventedByNestedSwiper) 12264 return (n.startX = h), void (n.startY = m); 12265 if (!s.allowTouchMove) 12266 return ( 12267 d(c.target).is(i.focusableElements) || (s.allowClick = !1), 12268 void ( 12269 i.isTouched && 12270 (Object.assign(n, { 12271 startX: h, 12272 startY: m, 12273 currentX: h, 12274 currentY: m 12275 }), 12276 (i.touchStartTime = u())) 12277 ) 12278 ); 12279 if (i.isTouchEvent && r.touchReleaseOnEdges && !r.loop) 12280 if (s.isVertical()) { 12281 if ( 12282 (m < n.startY && s.translate <= s.maxTranslate()) || 12283 (m > n.startY && s.translate >= s.minTranslate()) 12284 ) 12285 return (i.isTouched = !1), void (i.isMoved = !1); 12286 } else if ( 12287 (h < n.startX && s.translate <= s.maxTranslate()) || 12288 (h > n.startX && s.translate >= s.minTranslate()) 12289 ) 12290 return; 12291 if ( 12292 i.isTouchEvent && 12293 t.activeElement && 12294 c.target === t.activeElement && 12295 d(c.target).is(i.focusableElements) 12296 ) 12297 return (i.isMoved = !0), void (s.allowClick = !1); 12298 if ( 12299 (i.allowTouchCallbacks && s.emit('touchMove', c), 12300 c.targetTouches && c.targetTouches.length > 1) 12301 ) 12302 return; 12303 (n.currentX = h), (n.currentY = m); 12304 const f = n.currentX - n.startX, 12305 g = n.currentY - n.startY; 12306 if ( 12307 s.params.threshold && 12308 Math.sqrt(f ** 2 + g ** 2) < s.params.threshold 12309 ) 12310 return; 12311 if (void 0 === i.isScrolling) { 12312 let e; 12313 (s.isHorizontal() && n.currentY === n.startY) || 12314 (s.isVertical() && n.currentX === n.startX) 12315 ? (i.isScrolling = !1) 12316 : f * f + g * g >= 25 && 12317 ((e = (180 * Math.atan2(Math.abs(g), Math.abs(f))) / Math.PI), 12318 (i.isScrolling = s.isHorizontal() 12319 ? e > r.touchAngle 12320 : 90 - e > r.touchAngle)); 12321 } 12322 if ( 12323 (i.isScrolling && s.emit('touchMoveOpposite', c), 12324 void 0 === i.startMoving && 12325 ((n.currentX === n.startX && n.currentY === n.startY) || 12326 (i.startMoving = !0)), 12327 i.isScrolling) 12328 ) 12329 return void (i.isTouched = !1); 12330 if (!i.startMoving) return; 12331 (s.allowClick = !1), 12332 !r.cssMode && c.cancelable && c.preventDefault(), 12333 r.touchMoveStopPropagation && !r.nested && c.stopPropagation(), 12334 i.isMoved || 12335 (r.loop && !r.cssMode && s.loopFix(), 12336 (i.startTranslate = s.getTranslate()), 12337 s.setTransition(0), 12338 s.animating && 12339 s.$wrapperEl.trigger('webkitTransitionEnd transitionend'), 12340 (i.allowMomentumBounce = !1), 12341 !r.grabCursor || 12342 (!0 !== s.allowSlideNext && !0 !== s.allowSlidePrev) || 12343 s.setGrabCursor(!0), 12344 s.emit('sliderFirstMove', c)), 12345 s.emit('sliderMove', c), 12346 (i.isMoved = !0); 12347 let v = s.isHorizontal() ? f : g; 12348 (n.diff = v), 12349 (v *= r.touchRatio), 12350 l && (v = -v), 12351 (s.swipeDirection = v > 0 ? 'prev' : 'next'), 12352 (i.currentTranslate = v + i.startTranslate); 12353 let w = !0, 12354 b = r.resistanceRatio; 12355 if ( 12356 (r.touchReleaseOnEdges && (b = 0), 12357 v > 0 && i.currentTranslate > s.minTranslate() 12358 ? ((w = !1), 12359 r.resistance && 12360 (i.currentTranslate = 12361 s.minTranslate() - 12362 1 + 12363 (-s.minTranslate() + i.startTranslate + v) ** b)) 12364 : v < 0 && 12365 i.currentTranslate < s.maxTranslate() && 12366 ((w = !1), 12367 r.resistance && 12368 (i.currentTranslate = 12369 s.maxTranslate() + 12370 1 - 12371 (s.maxTranslate() - i.startTranslate - v) ** b)), 12372 w && (c.preventedByNestedSwiper = !0), 12373 !s.allowSlideNext && 12374 'next' === s.swipeDirection && 12375 i.currentTranslate < i.startTranslate && 12376 (i.currentTranslate = i.startTranslate), 12377 !s.allowSlidePrev && 12378 'prev' === s.swipeDirection && 12379 i.currentTranslate > i.startTranslate && 12380 (i.currentTranslate = i.startTranslate), 12381 s.allowSlidePrev || 12382 s.allowSlideNext || 12383 (i.currentTranslate = i.startTranslate), 12384 r.threshold > 0) 12385 ) { 12386 if (!(Math.abs(v) > r.threshold || i.allowThresholdMove)) 12387 return void (i.currentTranslate = i.startTranslate); 12388 if (!i.allowThresholdMove) 12389 return ( 12390 (i.allowThresholdMove = !0), 12391 (n.startX = n.currentX), 12392 (n.startY = n.currentY), 12393 (i.currentTranslate = i.startTranslate), 12394 void (n.diff = s.isHorizontal() 12395 ? n.currentX - n.startX 12396 : n.currentY - n.startY) 12397 ); 12398 } 12399 r.followFinger && 12400 !r.cssMode && 12401 (((r.freeMode && r.freeMode.enabled && s.freeMode) || 12402 r.watchSlidesProgress) && 12403 (s.updateActiveIndex(), s.updateSlidesClasses()), 12404 s.params.freeMode && 12405 r.freeMode.enabled && 12406 s.freeMode && 12407 s.freeMode.onTouchMove(), 12408 s.updateProgress(i.currentTranslate), 12409 s.setTranslate(i.currentTranslate)); 12410 } 12411 function I(e) { 12412 const t = this, 12413 s = t.touchEventsData, 12414 { 12415 params: a, 12416 touches: i, 12417 rtlTranslate: r, 12418 slidesGrid: n, 12419 enabled: l 12420 } = t; 12421 if (!l) return; 12422 let o = e; 12423 if ( 12424 (o.originalEvent && (o = o.originalEvent), 12425 s.allowTouchCallbacks && t.emit('touchEnd', o), 12426 (s.allowTouchCallbacks = !1), 12427 !s.isTouched) 12428 ) 12429 return ( 12430 s.isMoved && a.grabCursor && t.setGrabCursor(!1), 12431 (s.isMoved = !1), 12432 void (s.startMoving = !1) 12433 ); 12434 a.grabCursor && 12435 s.isMoved && 12436 s.isTouched && 12437 (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && 12438 t.setGrabCursor(!1); 12439 const d = u(), 12440 c = d - s.touchStartTime; 12441 if (t.allowClick) {
12442 const e = o.path || (o.composedPath && o.composedPath()); 12443 t.updateClickedSlide((e && e[0]) || o.target), 12444 t.emit('tap click', o), 12445 c < 300 && 12446 d - s.lastClickTime < 300 && 12447 t.emit('doubleTap doubleClick', o); 12448 } 12449 if ( 12450 ((s.lastClickTime = u()), 12451 p(() => { 12452 t.destroyed || (t.allowClick = !0); 12453 }), 12454 !s.isTouched || 12455 !s.isMoved || 12456 !t.swipeDirection || 12457 0 === i.diff || 12458 s.currentTranslate === s.startTranslate) 12459 ) 12460 return ( 12461 (s.isTouched = !1), (s.isMoved = !1), void (s.startMoving = !1) 12462 ); 12463 let h; 12464 if ( 12465 ((s.isTouched = !1), 12466 (s.isMoved = !1), 12467 (s.startMoving = !1), 12468 (h = a.followFinger 12469 ? r 12470 ? t.translate 12471 : -t.translate 12472 : -s.currentTranslate), 12473 a.cssMode) 12474 ) 12475 return; 12476 if (t.params.freeMode && a.freeMode.enabled) 12477 return void t.freeMode.onTouchEnd({ currentPos: h }); 12478 let m = 0, 12479 f = t.slidesSizesGrid[0]; 12480 for ( 12481 let e = 0; 12482 e < n.length; 12483 e += e < a.slidesPerGroupSkip ? 1 : a.slidesPerGroup 12484 ) { 12485 const t = e < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup; 12486 void 0 !== n[e + t] 12487 ? h >= n[e] && h < n[e + t] && ((m = e), (f = n[e + t] - n[e])) 12488 : h >= n[e] && 12489 ((m = e), (f = n[n.length - 1] - n[n.length - 2])); 12490 } 12491 let g = null, 12492 v = null; 12493 a.rewind && 12494 (t.isBeginning 12495 ? (v = 12496 t.params.virtual && t.params.virtual.enabled && t.virtual 12497 ? t.virtual.slides.length - 1 12498 : t.slides.length - 1) 12499 : t.isEnd && (g = 0)); 12500 const w = (h - n[m]) / f, 12501 b = m < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup; 12502 if (c > a.longSwipesMs) { 12503 if (!a.longSwipes) return void t.slideTo(t.activeIndex); 12504 'next' === t.swipeDirection && 12505 (w >= a.longSwipesRatio 12506 ? t.slideTo(a.rewind && t.isEnd ? g : m + b) 12507 : t.slideTo(m)), 12508 'prev' === t.swipeDirection && 12509 (w > 1 - a.longSwipesRatio 12510 ? t.slideTo(m + b) 12511 : null !== v && w < 0 && Math.abs(w) > a.longSwipesRatio 12512 ? t.slideTo(v) 12513 : t.slideTo(m)); 12514 } else { 12515 if (!a.shortSwipes) return void t.slideTo(t.activeIndex); 12516 t.navigation && 12517 (o.target === t.navigation.nextEl || 12518 o.target === t.navigation.prevEl) 12519 ? o.target === t.navigation.nextEl 12520 ? t.slideTo(m + b) 12521 : t.slideTo(m) 12522 : ('next' === t.swipeDirection && 12523 t.slideTo(null !== g ? g : m + b), 12524 'prev' === t.swipeDirection && t.slideTo(null !== v ? v : m)); 12525 } 12526 } 12527 function A() { 12528 const e = this, 12529 { params: t, el: s } = e; 12530 if (s && 0 === s.offsetWidth) return; 12531 t.breakpoints && e.setBreakpoint(); 12532 const { allowSlideNext: a, allowSlidePrev: i, snapGrid: r } = e; 12533 (e.allowSlideNext = !0), 12534 (e.allowSlidePrev = !0), 12535 e.updateSize(), 12536 e.updateSlides(), 12537 e.updateSlidesClasses(), 12538 ('auto' === t.slidesPerView || t.slidesPerView > 1) && 12539 e.isEnd && 12540 !e.isBeginning && 12541 !e.params.centeredSlides 12542 ? e.slideTo(e.slides.length - 1, 0, !1, !0) 12543 : e.slideTo(e.activeIndex, 0, !1, !0), 12544 e.autoplay && 12545 e.autoplay.running && 12546 e.autoplay.paused && 12547 e.autoplay.run(), 12548 (e.allowSlidePrev = i), 12549 (e.allowSlideNext = a), 12550 e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow(); 12551 } 12552 function D(e) { 12553 const t = this; 12554 t.enabled && 12555 (t.allowClick || 12556 (t.params.preventClicks && e.preventDefault(), 12557 t.params.preventClicksPropagation && 12558 t.animating && 12559 (e.stopPropagation(), e.stopImmediatePropagation()))); 12560 } 12561 function G() { 12562 const e = this, 12563 { wrapperEl: t, rtlTranslate: s, enabled: a } = e; 12564 if (!a) return; 12565 let i; 12566 (e.previousTranslate = e.translate), 12567 e.isHorizontal() 12568 ? (e.translate = -t.scrollLeft) 12569 : (e.translate = -t.scrollTop), 12570 0 === e.translate && (e.translate = 0), 12571 e.updateActiveIndex(), 12572 e.updateSlidesClasses(); 12573 const r = e.maxTranslate() - e.minTranslate(); 12574 (i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r), 12575 i !== e.progress && 12576 e.updateProgress(s ? -e.translate : e.translate), 12577 e.emit('setTranslate', e.translate, !1); 12578 } 12579 let N = !1; 12580 function B() {} 12581 const H = (e, t) => { 12582 const s = a(), 12583 { 12584 params: i, 12585 touchEvents: r, 12586 el: n, 12587 wrapperEl: l, 12588 device: o, 12589 support: d 12590 } = e, 12591 c = !!i.nested, 12592 p = 'on' === t ? 'addEventListener' : 'removeEventListener', 12593 u = t; 12594 if (d.touch) { 12595 const t = !( 12596 'touchstart' !== r.start || 12597 !d.passiveListener || 12598 !i.passiveListeners 12599 ) && { passive: !0, capture: !1 }; 12600 n[p](r.start, e.onTouchStart, t), 12601 n[p]( 12602 r.move, 12603 e.onTouchMove, 12604 d.passiveListener ? { passive: !1, capture: c } : c 12605 ), 12606 n[p](r.end, e.onTouchEnd, t), 12607 r.cancel && n[p](r.cancel, e.onTouchEnd, t); 12608 } else 12609 n[p](r.start, e.onTouchStart, !1), 12610 s[p](r.move, e.onTouchMove, c), 12611 s[p](r.end, e.onTouchEnd, !1); 12612 (i.preventClicks || i.preventClicksPropagation) && 12613 n[p]('click', e.onClick, !0), 12614 i.cssMode && l[p]('scroll', e.onScroll), 12615 i.updateOnWindowResize 12616 ? e[u]( 12617 o.ios || o.android 12618 ? 'resize orientationchange observerUpdate' 12619 : 'resize observerUpdate', 12620 A, 12621 !0 12622 ) 12623 : e[u]('observerUpdate', A, !0); 12624 }; 12625 var X = { 12626 attachEvents: function () { 12627 const e = this, 12628 t = a(), 12629 { params: s, support: i } = e; 12630 (e.onTouchStart = L.bind(e)), 12631 (e.onTouchMove = O.bind(e)), 12632 (e.onTouchEnd = I.bind(e)), 12633 s.cssMode && (e.onScroll = G.bind(e)), 12634 (e.onClick = D.bind(e)), 12635 i.touch && 12636 !N && 12637 (t.addEventListener('touchstart', B), (N = !0)), 12638 H(e, 'on'); 12639 }, 12640 detachEvents: function () { 12641 H(this, 'off'); 12642 } 12643 }; 12644 const Y = (e, t) => e.grid && t.grid && t.grid.rows > 1; 12645 var R = { 12646 addClasses: function () { 12647 const e = this, 12648 { 12649 classNames: t, 12650 params: s, 12651 rtl: a, 12652 $el: i, 12653 device: r, 12654 support: n 12655 } = e, 12656 l = (function (e, t) { 12657 const s = []; 12658 return ( 12659 e.forEach((e) => { 12660 'object' == typeof e 12661 ? Object.keys(e).forEach((a) => { 12662 e[a] && s.push(t + a); 12663 }) 12664 : 'string' == typeof e && s.push(t + e); 12665 }), 12666 s 12667 ); 12668 })( 12669 [ 12670 'initialized', 12671 s.direction, 12672 { 'pointer-events': !n.touch }, 12673 { 12674 'free-mode': e.params.freeMode && s.freeMode.enabled 12675 }, 12676 { autoheight: s.autoHeight }, 12677 { rtl: a }, 12678 { grid: s.grid && s.grid.rows > 1 }, 12679 { 12680 'grid-column': 12681 s.grid && 12682 s.grid.rows > 1 && 12683 'column' === s.grid.fill 12684 }, 12685 { android: r.android }, 12686 { ios: r.ios }, 12687 { 'css-mode': s.cssMode }, 12688 { centered: s.cssMode && s.centeredSlides }, 12689 { 'watch-progress': s.watchSlidesProgress } 12690 ], 12691 s.containerModifierClass 12692 ); 12693 t.push(...l), 12694 i.addClass([...t].join(' ')), 12695 e.emitContainerClasses(); 12696 }, 12697 removeClasses: function () { 12698 const { $el: e, classNames: t } = this; 12699 e.removeClass(t.join(' ')), this.emitContainerClasses(); 12700 } 12701 }; 12702 var W = { 12703 init: !0, 12704 direction: 'horizontal', 12705 touchEventsTarget: 'wrapper', 12706 initialSlide: 0, 12707 speed: 300, 12708 cssMode: !1, 12709 updateOnWindowResize: !0, 12710 resizeObserver: !0, 12711 nested: !1, 12712 createElements: !1, 12713 enabled: !0, 12714 focusableElements: 12715 'input, select, option, textarea, button, video, label', 12716 width: null, 12717 height: null, 12718 preventInteractionOnTransition: !1, 12719 userAgent: null, 12720 url: null, 12721 edgeSwipeDetection: !1, 12722 edgeSwipeThreshold: 20, 12723 autoHeight: !1, 12724 setWrapperSize: !1, 12725 virtualTranslate: !1, 12726 effect: 'slide', 12727 breakpoints: void 0, 12728 breakpointsBase: 'window', 12729 spaceBetween: 0, 12730 slidesPerView: 1, 12731 slidesPerGroup: 1, 12732 slidesPerGroupSkip: 0, 12733 slidesPerGroupAuto: !1, 12734 centeredSlides: !1,
12735 centeredSlidesBounds: !1, 12736 slidesOffsetBefore: 0, 12737 slidesOffsetAfter: 0, 12738 normalizeSlideIndex: !0, 12739 centerInsufficientSlides: !1, 12740 watchOverflow: !0, 12741 roundLengths: !1, 12742 touchRatio: 1, 12743 touchAngle: 45, 12744 simulateTouch: !0, 12745 shortSwipes: !0, 12746 longSwipes: !0, 12747 longSwipesRatio: 0.5, 12748 longSwipesMs: 300, 12749 followFinger: !0, 12750 allowTouchMove: !0, 12751 threshold: 0, 12752 touchMoveStopPropagation: !1, 12753 touchStartPreventDefault: !0, 12754 touchStartForcePreventDefault: !1, 12755 touchReleaseOnEdges: !1, 12756 uniqueNavElements: !0, 12757 resistance: !0, 12758 resistanceRatio: 0.85, 12759 watchSlidesProgress: !1, 12760 grabCursor: !1, 12761 preventClicks: !0, 12762 preventClicksPropagation: !0, 12763 slideToClickedSlide: !1, 12764 preloadImages: !0, 12765 updateOnImagesReady: !0, 12766 loop: !1, 12767 loopAdditionalSlides: 0, 12768 loopedSlides: null, 12769 loopFillGroupWithBlank: !1, 12770 loopPreventsSlide: !0, 12771 rewind: !1, 12772 allowSlidePrev: !0, 12773 allowSlideNext: !0, 12774 swipeHandler: null, 12775 noSwiping: !0, 12776 noSwipingClass: 'swiper-no-swiping', 12777 noSwipingSelector: null, 12778 passiveListeners: !0, 12779 maxBackfaceHiddenSlides: 10, 12780 containerModifierClass: 'swiper-', 12781 slideClass: 'swiper-slide', 12782 slideBlankClass: 'swiper-slide-invisible-blank', 12783 slideActiveClass: 'swiper-slide-active', 12784 slideDuplicateActiveClass: 'swiper-slide-duplicate-active', 12785 slideVisibleClass: 'swiper-slide-visible', 12786 slideDuplicateClass: 'swiper-slide-duplicate', 12787 slideNextClass: 'swiper-slide-next', 12788 slideDuplicateNextClass: 'swiper-slide-duplicate-next', 12789 slidePrevClass: 'swiper-slide-prev', 12790 slideDuplicatePrevClass: 'swiper-slide-duplicate-prev', 12791 wrapperClass: 'swiper-wrapper', 12792 runCallbacksOnInit: !0, 12793 _emitClasses: !1 12794 }; 12795 function j(e, t) { 12796 return function (s) { 12797 void 0 === s && (s = {}); 12798 const a = Object.keys(s)[0], 12799 i = s[a]; 12800 'object' == typeof i && null !== i 12801 ? (['navigation', 'pagination', 'scrollbar'].indexOf(a) >= 0 && 12802 !0 === e[a] && 12803 (e[a] = { auto: !0 }), 12804 a in e && 'enabled' in i 12805 ? (!0 === e[a] && (e[a] = { enabled: !0 }), 12806 'object' != typeof e[a] || 12807 'enabled' in e[a] || 12808 (e[a].enabled = !0), 12809 e[a] || (e[a] = { enabled: !1 }), 12810 g(t, s)) 12811 : g(t, s)) 12812 : g(t, s); 12813 }; 12814 } 12815 const _ = { 12816 eventsEmitter: $, 12817 update: S, 12818 translate: M, 12819 transition: { 12820 setTransition: function (e, t) { 12821 const s = this; 12822 s.params.cssMode || s.$wrapperEl.transition(e), 12823 s.emit('setTransition', e, t); 12824 }, 12825 transitionStart: function (e, t) { 12826 void 0 === e && (e = !0); 12827 const s = this, 12828 { params: a } = s; 12829 a.cssMode || 12830 (a.autoHeight && s.updateAutoHeight(), 12831 P({ 12832 swiper: s, 12833 runCallbacks: e, 12834 direction: t, 12835 step: 'Start' 12836 })); 12837 }, 12838 transitionEnd: function (e, t) { 12839 void 0 === e && (e = !0); 12840 const s = this, 12841 { params: a } = s; 12842 (s.animating = !1), 12843 a.cssMode || 12844 (s.setTransition(0), 12845 P({ 12846 swiper: s, 12847 runCallbacks: e, 12848 direction: t, 12849 step: 'End' 12850 })); 12851 } 12852 }, 12853 slide: k, 12854 loop: z, 12855 grabCursor: { 12856 setGrabCursor: function (e) { 12857 const t = this; 12858 if ( 12859 t.support.touch || 12860 !t.params.simulateTouch || 12861 (t.params.watchOverflow && t.isLocked) || 12862 t.params.cssMode 12863 ) 12864 return; 12865 const s = 12866 'container' === t.params.touchEventsTarget 12867 ? t.el 12868 : t.wrapperEl; 12869 (s.style.cursor = 'move'), 12870 (s.style.cursor = e ? 'grabbing' : 'grab'); 12871 }, 12872 unsetGrabCursor: function () { 12873 const e = this; 12874 e.support.touch || 12875 (e.params.watchOverflow && e.isLocked) || 12876 e.params.cssMode || 12877 (e[ 12878 'container' === e.params.touchEventsTarget 12879 ? 'el' 12880 : 'wrapperEl' 12881 ].style.cursor = ''); 12882 } 12883 }, 12884 events: X, 12885 breakpoints: { 12886 setBreakpoint: function () { 12887 const e = this, 12888 { 12889 activeIndex: t, 12890 initialized: s, 12891 loopedSlides: a = 0, 12892 params: i, 12893 $el: r 12894 } = e, 12895 n = i.breakpoints; 12896 if (!n || (n && 0 === Object.keys(n).length)) return;
12897 const l = e.getBreakpoint( 12898 n, 12899 e.params.breakpointsBase, 12900 e.el 12901 ); 12902 if (!l || e.currentBreakpoint === l) return; 12903 const o = (l in n ? n[l] : void 0) || e.originalParams, 12904 d = Y(e, i), 12905 c = Y(e, o), 12906 p = i.enabled; 12907 d && !c 12908 ? (r.removeClass( 12909 `${i.containerModifierClass}grid ${i.containerModifierClass}grid-column` 12910 ), 12911 e.emitContainerClasses()) 12912 : !d && 12913 c && 12914 (r.addClass(`${i.containerModifierClass}grid`), 12915 ((o.grid.fill && 'column' === o.grid.fill) || 12916 (!o.grid.fill && 'column' === i.grid.fill)) && 12917 r.addClass( 12918 `${i.containerModifierClass}grid-column` 12919 ), 12920 e.emitContainerClasses()), 12921 ['navigation', 'pagination', 'scrollbar'].forEach( 12922 (t) => { 12923 const s = i[t] && i[t].enabled, 12924 a = o[t] && o[t].enabled; 12925 s && !a && e[t].disable(), 12926 !s && a && e[t].enable(); 12927 } 12928 ); 12929 const u = o.direction && o.direction !== i.direction, 12930 h = 12931 i.loop && 12932 (o.slidesPerView !== i.slidesPerView || u); 12933 u && s && e.changeDirection(), g(e.params, o); 12934 const m = e.params.enabled; 12935 Object.assign(e, { 12936 allowTouchMove: e.params.allowTouchMove, 12937 allowSlideNext: e.params.allowSlideNext, 12938 allowSlidePrev: e.params.allowSlidePrev 12939 }), 12940 p && !m ? e.disable() : !p && m && e.enable(), 12941 (e.currentBreakpoint = l), 12942 e.emit('_beforeBreakpoint', o), 12943 h && 12944 s && 12945 (e.loopDestroy(), 12946 e.loopCreate(), 12947 e.updateSlides(), 12948 e.slideTo(t - a + e.loopedSlides, 0, !1)), 12949 e.emit('breakpoint', o); 12950 }, 12951 getBreakpoint: function (e, t, s) { 12952 if ( 12953 (void 0 === t && (t = 'window'), 12954 !e || ('container' === t && !s)) 12955 ) 12956 return; 12957 let a = !1; 12958 const i = r(), 12959 n = 'window' === t ? i.innerHeight : s.clientHeight, 12960 l = Object.keys(e).map((e) => { 12961 if ('string' == typeof e && 0 === e.indexOf('@')) { 12962 const t = parseFloat(e.substr(1)); 12963 return { value: n * t, point: e }; 12964 } 12965 return { value: e, point: e }; 12966 }); 12967 l.sort( 12968 (e, t) => parseInt(e.value, 10) - parseInt(t.value, 10) 12969 ); 12970 for (let e = 0; e < l.length; e += 1) { 12971 const { point: r, value: n } = l[e]; 12972 'window' === t 12973 ? i.matchMedia(`(min-width: ${n}px)`).matches && 12974 (a = r) 12975 : n <= s.clientWidth && (a = r); 12976 } 12977 return a || 'max'; 12978 } 12979 }, 12980 checkOverflow: { 12981 checkOverflow: function () { 12982 const e = this, 12983 { isLocked: t, params: s } = e, 12984 { slidesOffsetBefore: a } = s; 12985 if (a) { 12986 const t = e.slides.length - 1, 12987 s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a;
12988 e.isLocked = e.size > s; 12989 } else e.isLocked = 1 === e.snapGrid.length; 12990 !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked), 12991 !0 === s.allowSlidePrev && 12992 (e.allowSlidePrev = !e.isLocked), 12993 t && t !== e.isLocked && (e.isEnd = !1), 12994 t !== e.isLocked && 12995 e.emit(e.isLocked ? 'lock' : 'unlock'); 12996 } 12997 }, 12998 classes: R, 12999 images: { 13000 loadImage: function (e, t, s, a, i, n) { 13001 const l = r(); 13002 let o; 13003 function c() { 13004 n && n(); 13005 } 13006 d(e).parent('picture')[0] || (e.complete && i) 13007 ? c() 13008 : t 13009 ? ((o = new l.Image()), 13010 (o.onload = c), 13011 (o.onerror = c), 13012 a && (o.sizes = a), 13013 s && (o.srcset = s), 13014 t && (o.src = t)) 13015 : c(); 13016 }, 13017 preloadImages: function () { 13018 const e = this; 13019 function t() { 13020 null != e && 13021 e && 13022 !e.destroyed && 13023 (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), 13024 e.imagesLoaded === e.imagesToLoad.length && 13025 (e.params.updateOnImagesReady && e.update(), 13026 e.emit('imagesReady'))); 13027 } 13028 e.imagesToLoad = e.$el.find('img'); 13029 for (let s = 0; s < e.imagesToLoad.length; s += 1) { 13030 const a = e.imagesToLoad[s]; 13031 e.loadImage( 13032 a, 13033 a.currentSrc || a.getAttribute('src'), 13034 a.srcset || a.getAttribute('srcset'), 13035 a.sizes || a.getAttribute('sizes'), 13036 !0, 13037 t 13038 ); 13039 } 13040 } 13041 } 13042 }, 13043 q = {}; 13044 class V { 13045 constructor() { 13046 let e, t; 13047 for (var s = arguments.length, a = new Array(s), i = 0; i < s; i++) 13048 a[i] = arguments[i]; 13049 if ( 13050 (1 === a.length && 13051 a[0].constructor && 13052 'Object' === Object.prototype.toString.call(a[0]).slice(8, -1) 13053 ? (t = a[0]) 13054 : ([e, t] = a), 13055 t || (t = {}), 13056 (t = g({}, t)), 13057 e && !t.el && (t.el = e), 13058 t.el && d(t.el).length > 1) 13059 ) { 13060 const e = []; 13061 return ( 13062 d(t.el).each((s) => { 13063 const a = g({}, t, { el: s }); 13064 e.push(new V(a)); 13065 }), 13066 e 13067 ); 13068 } 13069 const r = this; 13070 (r.__swiper__ = !0), 13071 (r.support = E()), 13072 (r.device = C({ userAgent: t.userAgent })),
13073 (r.browser = T()), 13074 (r.eventsListeners = {}), 13075 (r.eventsAnyListeners = []), 13076 (r.modules = [...r.__modules__]), 13077 t.modules && 13078 Array.isArray(t.modules) && 13079 r.modules.push(...t.modules); 13080 const n = {}; 13081 r.modules.forEach((e) => { 13082 e({ 13083 swiper: r, 13084 extendParams: j(t, n), 13085 on: r.on.bind(r), 13086 once: r.once.bind(r), 13087 off: r.off.bind(r), 13088 emit: r.emit.bind(r) 13089 }); 13090 }); 13091 const l = g({}, W, n); 13092 return ( 13093 (r.params = g({}, l, q, t)), 13094 (r.originalParams = g({}, r.params)), 13095 (r.passedParams = g({}, t)), 13096 r.params && 13097 r.params.on && 13098 Object.keys(r.params.on).forEach((e) => { 13099 r.on(e, r.params.on[e]); 13100 }), 13101 r.params && r.params.onAny && r.onAny(r.params.onAny), 13102 (r.$ = d), 13103 Object.assign(r, { 13104 enabled: r.params.enabled, 13105 el: e, 13106 classNames: [], 13107 slides: d(), 13108 slidesGrid: [], 13109 snapGrid: [], 13110 slidesSizesGrid: [], 13111 isHorizontal: () => 'horizontal' === r.params.direction, 13112 isVertical: () => 'vertical' === r.params.direction, 13113 activeIndex: 0, 13114 realIndex: 0, 13115 isBeginning: !0, 13116 isEnd: !1, 13117 translate: 0, 13118 previousTranslate: 0, 13119 progress: 0, 13120 velocity: 0, 13121 animating: !1, 13122 allowSlideNext: r.params.allowSlideNext, 13123 allowSlidePrev: r.params.allowSlidePrev, 13124 touchEvents: (function () { 13125 const e = [ 13126 'touchstart', 13127 'touchmove', 13128 'touchend', 13129 'touchcancel' 13130 ], 13131 t = ['pointerdown', 'pointermove', 'pointerup']; 13132 return ( 13133 (r.touchEventsTouch = { 13134 start: e[0], 13135 move: e[1], 13136 end: e[2], 13137 cancel: e[3] 13138 }), 13139 (r.touchEventsDesktop = { 13140 start: t[0], 13141 move: t[1], 13142 end: t[2] 13143 }), 13144 r.support.touch || !r.params.simulateTouch 13145 ? r.touchEventsTouch 13146 : r.touchEventsDesktop 13147 ); 13148 })(), 13149 touchEventsData: { 13150 isTouched: void 0, 13151 isMoved: void 0, 13152 allowTouchCallbacks: void 0, 13153 touchStartTime: void 0, 13154 isScrolling: void 0, 13155 currentTranslate: void 0, 13156 startTranslate: void 0, 13157 allowThresholdMove: void 0, 13158 focusableElements: r.params.focusableElements, 13159 lastClickTime: u(), 13160 clickTimeout: void 0, 13161 velocities: [], 13162 allowMomentumBounce: void 0, 13163 isTouchEvent: void 0, 13164 startMoving: void 0 13165 }, 13166 allowClick: !0, 13167 allowTouchMove: r.params.allowTouchMove, 13168 touches: { 13169 startX: 0, 13170 startY: 0, 13171 currentX: 0, 13172 currentY: 0, 13173 diff: 0 13174 }, 13175 imagesToLoad: [], 13176 imagesLoaded: 0 13177 }), 13178 r.emit('_swiper'), 13179 r.params.init && r.init(), 13180 r 13181 ); 13182 } 13183 enable() { 13184 const e = this; 13185 e.enabled || 13186 ((e.enabled = !0),
13187 e.params.grabCursor && e.setGrabCursor(), 13188 e.emit('enable')); 13189 } 13190 disable() { 13191 const e = this; 13192 e.enabled && 13193 ((e.enabled = !1), 13194 e.params.grabCursor && e.unsetGrabCursor(), 13195 e.emit('disable')); 13196 } 13197 setProgress(e, t) { 13198 const s = this; 13199 e = Math.min(Math.max(e, 0), 1); 13200 const a = s.minTranslate(), 13201 i = (s.maxTranslate() - a) * e + a; 13202 s.translateTo(i, void 0 === t ? 0 : t), 13203 s.updateActiveIndex(), 13204 s.updateSlidesClasses(); 13205 } 13206 emitContainerClasses() { 13207 const e = this; 13208 if (!e.params._emitClasses || !e.el) return; 13209 const t = e.el.className 13210 .split(' ') 13211 .filter( 13212 (t) => 13213 0 === t.indexOf('swiper') || 13214 0 === t.indexOf(e.params.containerModifierClass) 13215 ); 13216 e.emit('_containerClasses', t.join(' ')); 13217 } 13218 getSlideClasses(e) { 13219 const t = this; 13220 return t.destroyed 13221 ? '' 13222 : e.className 13223 .split(' ') 13224 .filter( 13225 (e) => 13226 0 === e.indexOf('swiper-slide') || 13227 0 === e.indexOf(t.params.slideClass) 13228 ) 13229 .join(' '); 13230 } 13231 emitSlidesClasses() { 13232 const e = this; 13233 if (!e.params._emitClasses || !e.el) return; 13234 const t = []; 13235 e.slides.each((s) => { 13236 const a = e.getSlideClasses(s); 13237 t.push({ slideEl: s, classNames: a }), 13238 e.emit('_slideClass', s, a); 13239 }), 13240 e.emit('_slideClasses', t); 13241 } 13242 slidesPerViewDynamic(e, t) { 13243 void 0 === e && (e = 'current'), void 0 === t && (t = !1); 13244 const { 13245 params: s, 13246 slides: a, 13247 slidesGrid: i, 13248 slidesSizesGrid: r, 13249 size: n, 13250 activeIndex: l 13251 } = this; 13252 let o = 1; 13253 if (s.centeredSlides) { 13254 let e, 13255 t = a[l].swiperSlideSize; 13256 for (let s = l + 1; s < a.length; s += 1) 13257 a[s] && 13258 !e && 13259 ((t += a[s].swiperSlideSize), 13260 (o += 1), 13261 t > n && (e = !0)); 13262 for (let s = l - 1; s >= 0; s -= 1) 13263 a[s] && 13264 !e && 13265 ((t += a[s].swiperSlideSize), 13266 (o += 1), 13267 t > n && (e = !0)); 13268 } else if ('current' === e) 13269 for (let e = l + 1; e < a.length; e += 1) { 13270 (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1); 13271 } 13272 else 13273 for (let e = l - 1; e >= 0; e -= 1) { 13274 i[l] - i[e] < n && (o += 1); 13275 } 13276 return o; 13277 } 13278 update() { 13279 const e = this; 13280 if (!e || e.destroyed) return; 13281 const { snapGrid: t, params: s } = e; 13282 function a() { 13283 const t = e.rtlTranslate ? -1 * e.translate : e.translate, 13284 s = Math.min( 13285 Math.max(t, e.maxTranslate()), 13286 e.minTranslate() 13287 ); 13288 e.setTranslate(s), 13289 e.updateActiveIndex(), 13290 e.updateSlidesClasses(); 13291 } 13292 let i; 13293 s.breakpoints && e.setBreakpoint(), 13294 e.updateSize(), 13295 e.updateSlides(), 13296 e.updateProgress(), 13297 e.updateSlidesClasses(), 13298 e.params.freeMode && e.params.freeMode.enabled 13299 ? (a(), e.params.autoHeight && e.updateAutoHeight()) 13300 : ((i = 13301 ('auto' === e.params.slidesPerView || 13302 e.params.slidesPerView > 1) && 13303 e.isEnd && 13304 !e.params.centeredSlides 13305 ? e.slideTo(e.slides.length - 1, 0, !1, !0) 13306 : e.slideTo(e.activeIndex, 0, !1, !0)), 13307 i || a()), 13308 s.watchOverflow && t !== e.snapGrid && e.checkOverflow(), 13309 e.emit('update'); 13310 } 13311 changeDirection(e, t) { 13312 void 0 === t && (t = !0); 13313 const s = this, 13314 a = s.params.direction; 13315 return ( 13316 e || (e = 'horizontal' === a ? 'vertical' : 'horizontal'), 13317 e === a || 13318 ('horizontal' !== e && 'vertical' !== e) || 13319 (s.$el 13320 .removeClass(`${s.params.containerModifierClass}${a}`) 13321 .addClass(`${s.params.containerModifierClass}${e}`), 13322 s.emitContainerClasses(), 13323 (s.params.direction = e), 13324 s.slides.each((t) => { 13325 'vertical' === e 13326 ? (t.style.width = '') 13327 : (t.style.height = ''); 13328 }), 13329 s.emit('changeDirection'), 13330 t && s.update()), 13331 s 13332 ); 13333 } 13334 changeLanguageDirection(e) { 13335 const t = this; 13336 (t.rtl && 'rtl' === e) || 13337 (!t.rtl && 'ltr' === e) || 13338 ((t.rtl = 'rtl' === e), 13339 (t.rtlTranslate = 'horizontal' === t.params.direction && t.rtl), 13340 t.rtl 13341 ? (t.$el.addClass(`${t.params.containerModifierClass}rtl`), 13342 (t.el.dir = 'rtl')) 13343 : (t.$el.removeClass( 13344 `${t.params.containerModifierClass}rtl` 13345 ), 13346 (t.el.dir = 'ltr')),
13347 t.update()); 13348 } 13349 mount(e) { 13350 const t = this; 13351 if (t.mounted) return !0; 13352 const s = d(e || t.params.el); 13353 if (!(e = s[0])) return !1; 13354 e.swiper = t; 13355 const i = () => 13356 `.${(t.params.wrapperClass || '').trim().split(' ').join('.')}`; 13357 let r = (() => { 13358 if (e && e.shadowRoot && e.shadowRoot.querySelector) { 13359 const t = d(e.shadowRoot.querySelector(i())); 13360 return (t.children = (e) => s.children(e)), t; 13361 } 13362 return s.children ? s.children(i()) : d(s).children(i()); 13363 })(); 13364 if (0 === r.length && t.params.createElements) { 13365 const e = a().createElement('div'); 13366 (r = d(e)), 13367 (e.className = t.params.wrapperClass), 13368 s.append(e), 13369 s.children(`.${t.params.slideClass}`).each((e) => { 13370 r.append(e); 13371 }); 13372 } 13373 return ( 13374 Object.assign(t, { 13375 $el: s, 13376 el: e, 13377 $wrapperEl: r, 13378 wrapperEl: r[0], 13379 mounted: !0, 13380 rtl: 13381 'rtl' === e.dir.toLowerCase() || 13382 'rtl' === s.css('direction'), 13383 rtlTranslate: 13384 'horizontal' === t.params.direction && 13385 ('rtl' === e.dir.toLowerCase() || 13386 'rtl' === s.css('direction')), 13387 wrongRTL: '-webkit-box' === r.css('display') 13388 }), 13389 !0 13390 ); 13391 } 13392 init(e) { 13393 const t = this; 13394 if (t.initialized) return t; 13395 return ( 13396 !1 === t.mount(e) || 13397 (t.emit('beforeInit'), 13398 t.params.breakpoints && t.setBreakpoint(), 13399 t.addClasses(), 13400 t.params.loop && t.loopCreate(), 13401 t.updateSize(), 13402 t.updateSlides(), 13403 t.params.watchOverflow && t.checkOverflow(), 13404 t.params.grabCursor && t.enabled && t.setGrabCursor(), 13405 t.params.preloadImages && t.preloadImages(), 13406 t.params.loop 13407 ? t.slideTo( 13408 t.params.initialSlide + t.loopedSlides, 13409 0, 13410 t.params.runCallbacksOnInit, 13411 !1, 13412 !0 13413 ) 13414 : t.slideTo( 13415 t.params.initialSlide, 13416 0, 13417 t.params.runCallbacksOnInit, 13418 !1, 13419 !0 13420 ), 13421 t.attachEvents(), 13422 (t.initialized = !0), 13423 t.emit('init'), 13424 t.emit('afterInit')), 13425 t 13426 ); 13427 } 13428 destroy(e, t) { 13429 void 0 === e && (e = !0), void 0 === t && (t = !0); 13430 const s = this, 13431 { params: a, $el: i, $wrapperEl: r, slides: n } = s; 13432 return ( 13433 void 0 === s.params || 13434 s.destroyed || 13435 (s.emit('beforeDestroy'), 13436 (s.initialized = !1), 13437 s.detachEvents(), 13438 a.loop && s.loopDestroy(), 13439 t && 13440 (s.removeClasses(), 13441 i.removeAttr('style'), 13442 r.removeAttr('style'), 13443 n && 13444 n.length && 13445 n 13446 .removeClass( 13447 [ 13448 a.slideVisibleClass, 13449 a.slideActiveClass, 13450 a.slideNextClass, 13451 a.slidePrevClass 13452 ].join(' ') 13453 ) 13454 .removeAttr('style') 13455 .removeAttr('data-swiper-slide-index')), 13456 s.emit('destroy'),
13457 Object.keys(s.eventsListeners).forEach((e) => { 13458 s.off(e); 13459 }), 13460 !1 !== e && 13461 ((s.$el[0].swiper = null), 13462 (function (e) { 13463 const t = e; 13464 Object.keys(t).forEach((e) => { 13465 try { 13466 t[e] = null; 13467 } catch (e) {} 13468 try { 13469 delete t[e]; 13470 } catch (e) {} 13471 }); 13472 })(s)), 13473 (s.destroyed = !0)), 13474 null 13475 ); 13476 } 13477 static extendDefaults(e) { 13478 g(q, e); 13479 } 13480 static get extendedDefaults() { 13481 return q; 13482 } 13483 static get defaults() { 13484 return W; 13485 } 13486 static installModule(e) { 13487 V.prototype.__modules__ || (V.prototype.__modules__ = []); 13488 const t = V.prototype.__modules__; 13489 'function' == typeof e && t.indexOf(e) < 0 && t.push(e); 13490 } 13491 static use(e) { 13492 return Array.isArray(e) 13493 ? (e.forEach((e) => V.installModule(e)), V) 13494 : (V.installModule(e), V); 13495 } 13496 } 13497 function F(e, t, s, i) { 13498 const r = a(); 13499 return ( 13500 e.params.createElements &&
13501 Object.keys(i).forEach((a) => { 13502 if (!s[a] && !0 === s.auto) { 13503 let n = e.$el.children(`.${i[a]}`)[0]; 13504 n || 13505 ((n = r.createElement('div')), 13506 (n.className = i[a]), 13507 e.$el.append(n)), 13508 (s[a] = n), 13509 (t[a] = n); 13510 } 13511 }), 13512 s 13513 ); 13514 } 13515 function U(e) { 13516 return ( 13517 void 0 === e && (e = ''), 13518 `.${e 13519 .trim() 13520 .replace(/([\.:!\/])/g, '\\$1') 13521 .replace(/ /g, '.')}` 13522 ); 13523 } 13524 function K(e) { 13525 const t = this, 13526 { $wrapperEl: s, params: a } = t; 13527 if ((a.loop && t.loopDestroy(), 'object' == typeof e && 'length' in e)) 13528 for (let t = 0; t < e.length; t += 1) e[t] && s.append(e[t]); 13529 else s.append(e); 13530 a.loop && t.loopCreate(), a.observer || t.update(); 13531 } 13532 function Z(e) { 13533 const t = this, 13534 { params: s, $wrapperEl: a, activeIndex: i } = t; 13535 s.loop && t.loopDestroy(); 13536 let r = i + 1; 13537 if ('object' == typeof e && 'length' in e) { 13538 for (let t = 0; t < e.length; t += 1) e[t] && a.prepend(e[t]); 13539 r = i + e.length; 13540 } else a.prepend(e); 13541 s.loop && t.loopCreate(), s.observer || t.update(), t.slideTo(r, 0, !1); 13542 } 13543 function Q(e, t) { 13544 const s = this, 13545 { $wrapperEl: a, params: i, activeIndex: r } = s; 13546 let n = r; 13547 i.loop && 13548 ((n -= s.loopedSlides), 13549 s.loopDestroy(), 13550 (s.slides = a.children(`.${i.slideClass}`))); 13551 const l = s.slides.length; 13552 if (e <= 0) return void s.prependSlide(t); 13553 if (e >= l) return void s.appendSlide(t); 13554 let o = n > e ? n + 1 : n; 13555 const d = []; 13556 for (let t = l - 1; t >= e; t -= 1) { 13557 const e = s.slides.eq(t); 13558 e.remove(), d.unshift(e); 13559 } 13560 if ('object' == typeof t && 'length' in t) { 13561 for (let e = 0; e < t.length; e += 1) t[e] && a.append(t[e]); 13562 o = n > e ? n + t.length : n; 13563 } else a.append(t); 13564 for (let e = 0; e < d.length; e += 1) a.append(d[e]); 13565 i.loop && s.loopCreate(), 13566 i.observer || s.update(), 13567 i.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1); 13568 } 13569 function J(e) { 13570 const t = this, 13571 { params: s, $wrapperEl: a, activeIndex: i } = t; 13572 let r = i; 13573 s.loop && 13574 ((r -= t.loopedSlides), 13575 t.loopDestroy(), 13576 (t.slides = a.children(`.${s.slideClass}`))); 13577 let n, 13578 l = r; 13579 if ('object' == typeof e && 'length' in e) { 13580 for (let s = 0; s < e.length; s += 1) 13581 (n = e[s]), 13582 t.slides[n] && t.slides.eq(n).remove(), 13583 n < l && (l -= 1); 13584 l = Math.max(l, 0); 13585 } else 13586 (n = e), 13587 t.slides[n] && t.slides.eq(n).remove(), 13588 n < l && (l -= 1), 13589 (l = Math.max(l, 0)); 13590 s.loop && t.loopCreate(), 13591 s.observer || t.update(), 13592 s.loop ? t.slideTo(l + t.loopedSlides, 0, !1) : t.slideTo(l, 0, !1); 13593 } 13594 function ee() { 13595 const e = this, 13596 t = []; 13597 for (let s = 0; s < e.slides.length; s += 1) t.push(s); 13598 e.removeSlide(t); 13599 } 13600 function te(e) { 13601 const { 13602 effect: t, 13603 swiper: s, 13604 on: a, 13605 setTranslate: i, 13606 setTransition: r, 13607 overwriteParams: n, 13608 perspective: l, 13609 recreateShadows: o, 13610 getEffectParams: d 13611 } = e; 13612 let c; 13613 a('beforeInit', () => { 13614 if (s.params.effect !== t) return; 13615 s.classNames.push(`${s.params.containerModifierClass}${t}`), 13616 l && 13617 l() && 13618 s.classNames.push(`${s.params.containerModifierClass}3d`); 13619 const e = n ? n() : {}; 13620 Object.assign(s.params, e), Object.assign(s.originalParams, e); 13621 }), 13622 a('setTranslate', () => { 13623 s.params.effect === t && i(); 13624 }), 13625 a('setTransition', (e, a) => { 13626 s.params.effect === t && r(a); 13627 }), 13628 a('transitionEnd', () => { 13629 if (s.params.effect === t && o) { 13630 if (!d || !d().slideShadows) return; 13631 s.slides.each((e) => { 13632 s.$(e) 13633 .find( 13634 '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left' 13635 ) 13636 .remove(); 13637 }), 13638 o(); 13639 } 13640 }), 13641 a('virtualUpdate', () => { 13642 s.params.effect === t && 13643 (s.slides.length || (c = !0), 13644 requestAnimationFrame(() => { 13645 c && s.slides && s.slides.length && (i(), (c = !1)); 13646 })); 13647 }); 13648 } 13649 function se(e, t) { 13650 return e.transformEl 13651 ? t.find(e.transformEl).css({ 13652 'backface-visibility': 'hidden',
13653 '-webkit-backface-visibility': 'hidden' 13654 }) 13655 : t; 13656 } 13657 function ae(e) { 13658 let { swiper: t, duration: s, transformEl: a, allSlides: i } = e; 13659 const { slides: r, activeIndex: n, $wrapperEl: l } = t; 13660 if (t.params.virtualTranslate && 0 !== s) { 13661 let e, 13662 s = !1; 13663 (e = i ? (a ? r.find(a) : r) : a ? r.eq(n).find(a) : r.eq(n)), 13664 e.transitionEnd(() => { 13665 if (s) return; 13666 if (!t || t.destroyed) return; 13667 (s = !0), (t.animating = !1); 13668 const e = ['webkitTransitionEnd', 'transitionend']; 13669 for (let t = 0; t < e.length; t += 1) l.trigger(e[t]); 13670 }); 13671 } 13672 } 13673 function ie(e, t, s) { 13674 const a = 'swiper-slide-shadow' + (s ? `-${s}` : ''), 13675 i = e.transformEl ? t.find(e.transformEl) : t; 13676 let r = i.children(`.${a}`); 13677 return ( 13678 r.length || 13679 ((r = d( 13680 `<div class="swiper-slide-shadow${s ? `-${s}` : ''}"></div>` 13681 )), 13682 i.append(r)), 13683 r 13684 ); 13685 } 13686 Object.keys(_).forEach((e) => {
13687 Object.keys(_[e]).forEach((t) => { 13688 V.prototype[t] = _[e][t]; 13689 }); 13690 }), 13691 V.use([ 13692 function (e) { 13693 let { swiper: t, on: s, emit: a } = e; 13694 const i = r(); 13695 let n = null, 13696 l = null; 13697 const o = () => { 13698 t && 13699 !t.destroyed && 13700 t.initialized && 13701 (a('beforeResize'), a('resize')); 13702 }, 13703 d = () => { 13704 t && 13705 !t.destroyed && 13706 t.initialized && 13707 a('orientationchange'); 13708 }; 13709 s('init', () => { 13710 t.params.resizeObserver && void 0 !== i.ResizeObserver 13711 ? t && 13712 !t.destroyed && 13713 t.initialized && 13714 ((n = new ResizeObserver((e) => { 13715 l = i.requestAnimationFrame(() => { 13716 const { width: s, height: a } = t; 13717 let i = s, 13718 r = a; 13719 e.forEach((e) => { 13720 let { 13721 contentBoxSize: s, 13722 contentRect: a, 13723 target: n 13724 } = e; 13725 (n && n !== t.el) || 13726 ((i = a 13727 ? a.width 13728 : (s[0] || s).inlineSize), 13729 (r = a 13730 ? a.height 13731 : (s[0] || s).blockSize)); 13732 }), 13733 (i === s && r === a) || o(); 13734 }); 13735 })), 13736 n.observe(t.el)) 13737 : (i.addEventListener('resize', o), 13738 i.addEventListener('orientationchange', d)); 13739 }), 13740 s('destroy', () => { 13741 l && i.cancelAnimationFrame(l), 13742 n && 13743 n.unobserve && 13744 t.el && 13745 (n.unobserve(t.el), (n = null)), 13746 i.removeEventListener('resize', o), 13747 i.removeEventListener('orientationchange', d); 13748 }); 13749 }, 13750 function (e) { 13751 let { swiper: t, extendParams: s, on: a, emit: i } = e; 13752 const n = [], 13753 l = r(), 13754 o = function (e, t) { 13755 void 0 === t && (t = {}); 13756 const s = new (l.MutationObserver || 13757 l.WebkitMutationObserver)((e) => { 13758 if (1 === e.length) 13759 return void i('observerUpdate', e[0]); 13760 const t = function () { 13761 i('observerUpdate', e[0]); 13762 }; 13763 l.requestAnimationFrame 13764 ? l.requestAnimationFrame(t) 13765 : l.setTimeout(t, 0); 13766 }); 13767 s.observe(e, { 13768 attributes: void 0 === t.attributes || t.attributes, 13769 childList: void 0 === t.childList || t.childList, 13770 characterData: 13771 void 0 === t.characterData || t.characterData 13772 }), 13773 n.push(s); 13774 }; 13775 s({ 13776 observer: !1, 13777 observeParents: !1, 13778 observeSlideChildren: !1 13779 }), 13780 a('init', () => { 13781 if (t.params.observer) { 13782 if (t.params.observeParents) { 13783 const e = t.$el.parents(); 13784 for (let t = 0; t < e.length; t += 1) o(e[t]); 13785 } 13786 o(t.$el[0], { 13787 childList: t.params.observeSlideChildren 13788 }), 13789 o(t.$wrapperEl[0], { attributes: !1 }); 13790 } 13791 }), 13792 a('destroy', () => {
13793 n.forEach((e) => { 13794 e.disconnect(); 13795 }), 13796 n.splice(0, n.length); 13797 }); 13798 } 13799 ]); 13800 const re = [ 13801 function (e) { 13802 let t, 13803 { swiper: s, extendParams: a, on: i, emit: r } = e; 13804 function n(e, t) { 13805 const a = s.params.virtual; 13806 if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t]; 13807 const i = a.renderSlide 13808 ? d(a.renderSlide.call(s, e, t)) 13809 : d( 13810 `<div class="${s.params.slideClass}" data-swiper-slide-index="${t}">${e}</div>` 13811 ); 13812 return ( 13813 i.attr('data-swiper-slide-index') || 13814 i.attr('data-swiper-slide-index', t), 13815 a.cache && (s.virtual.cache[t] = i), 13816 i 13817 ); 13818 } 13819 function l(e) { 13820 const { 13821 slidesPerView: t, 13822 slidesPerGroup: a, 13823 centeredSlides: i 13824 } = s.params, 13825 { addSlidesBefore: l, addSlidesAfter: o } = 13826 s.params.virtual, 13827 { 13828 from: d, 13829 to: c, 13830 slides: p, 13831 slidesGrid: u, 13832 offset: h 13833 } = s.virtual; 13834 s.params.cssMode || s.updateActiveIndex(); 13835 const m = s.activeIndex || 0; 13836 let f, g, v; 13837 (f = s.rtlTranslate 13838 ? 'right' 13839 : s.isHorizontal() 13840 ? 'left' 13841 : 'top'), 13842 i 13843 ? ((g = Math.floor(t / 2) + a + o), 13844 (v = Math.floor(t / 2) + a + l)) 13845 : ((g = t + (a - 1) + o), (v = a + l)); 13846 const w = Math.max((m || 0) - v, 0), 13847 b = Math.min((m || 0) + g, p.length - 1), 13848 x = (s.slidesGrid[w] || 0) - (s.slidesGrid[0] || 0); 13849 function y() { 13850 s.updateSlides(), 13851 s.updateProgress(), 13852 s.updateSlidesClasses(), 13853 s.lazy && s.params.lazy.enabled && s.lazy.load(), 13854 r('virtualUpdate'); 13855 } 13856 if ( 13857 (Object.assign(s.virtual, { 13858 from: w, 13859 to: b, 13860 offset: x, 13861 slidesGrid: s.slidesGrid 13862 }), 13863 d === w && c === b && !e) 13864 ) 13865 return ( 13866 s.slidesGrid !== u && 13867 x !== h && 13868 s.slides.css(f, `${x}px`), 13869 s.updateProgress(), 13870 void r('virtualUpdate') 13871 ); 13872 if (s.params.virtual.renderExternal) 13873 return ( 13874 s.params.virtual.renderExternal.call(s, { 13875 offset: x, 13876 from: w, 13877 to: b, 13878 slides: (function () { 13879 const e = []; 13880 for (let t = w; t <= b; t += 1) e.push(p[t]); 13881 return e; 13882 })() 13883 }), 13884 void (s.params.virtual.renderExternalUpdate 13885 ? y() 13886 : r('virtualUpdate')) 13887 ); 13888 const E = [], 13889 C = []; 13890 if (e) s.$wrapperEl.find(`.${s.params.slideClass}`).remove(); 13891 else 13892 for (let e = d; e <= c; e += 1) 13893 (e < w || e > b) && 13894 s.$wrapperEl 13895 .find( 13896 `.${s.params.slideClass}[data-swiper-slide-index="${e}"]` 13897 ) 13898 .remove(); 13899 for (let t = 0; t < p.length; t += 1) 13900 t >= w && 13901 t <= b && 13902 (void 0 === c || e 13903 ? C.push(t) 13904 : (t > c && C.push(t), t < d && E.push(t)));
13905 C.forEach((e) => { 13906 s.$wrapperEl.append(n(p[e], e)); 13907 }), 13908 E.sort((e, t) => t - e).forEach((e) => { 13909 s.$wrapperEl.prepend(n(p[e], e)); 13910 }), 13911 s.$wrapperEl.children('.swiper-slide').css(f, `${x}px`), 13912 y(); 13913 } 13914 a({ 13915 virtual: { 13916 enabled: !1, 13917 slides: [], 13918 cache: !0, 13919 renderSlide: null, 13920 renderExternal: null, 13921 renderExternalUpdate: !0, 13922 addSlidesBefore: 0, 13923 addSlidesAfter: 0 13924 } 13925 }), 13926 (s.virtual = { 13927 cache: {}, 13928 from: void 0, 13929 to: void 0, 13930 slides: [], 13931 offset: 0, 13932 slidesGrid: [] 13933 }), 13934 i('beforeInit', () => { 13935 s.params.virtual.enabled && 13936 ((s.virtual.slides = s.params.virtual.slides), 13937 s.classNames.push( 13938 `${s.params.containerModifierClass}virtual` 13939 ), 13940 (s.params.watchSlidesProgress = !0), 13941 (s.originalParams.watchSlidesProgress = !0), 13942 s.params.initialSlide || l()); 13943 }), 13944 i('setTranslate', () => { 13945 s.params.virtual.enabled && 13946 (s.params.cssMode && !s._immediateVirtual 13947 ? (clearTimeout(t), 13948 (t = setTimeout(() => { 13949 l(); 13950 }, 100))) 13951 : l()); 13952 }), 13953 i('init update resize', () => { 13954 s.params.virtual.enabled && 13955 s.params.cssMode && 13956 v( 13957 s.wrapperEl, 13958 '--swiper-virtual-size', 13959 `${s.virtualSize}px` 13960 ); 13961 }), 13962 Object.assign(s.virtual, { 13963 appendSlide: function (e) { 13964 if ('object' == typeof e && 'length' in e) 13965 for (let t = 0; t < e.length; t += 1) 13966 e[t] && s.virtual.slides.push(e[t]); 13967 else s.virtual.slides.push(e); 13968 l(!0); 13969 }, 13970 prependSlide: function (e) { 13971 const t = s.activeIndex; 13972 let a = t + 1, 13973 i = 1; 13974 if (Array.isArray(e)) { 13975 for (let t = 0; t < e.length; t += 1) 13976 e[t] && s.virtual.slides.unshift(e[t]); 13977 (a = t + e.length), (i = e.length); 13978 } else s.virtual.slides.unshift(e); 13979 if (s.params.virtual.cache) { 13980 const e = s.virtual.cache, 13981 t = {}; 13982 Object.keys(e).forEach((s) => { 13983 const a = e[s], 13984 r = a.attr('data-swiper-slide-index'); 13985 r && 13986 a.attr( 13987 'data-swiper-slide-index', 13988 parseInt(r, 10) + i 13989 ), 13990 (t[parseInt(s, 10) + i] = a); 13991 }), 13992 (s.virtual.cache = t); 13993 } 13994 l(!0), s.slideTo(a, 0); 13995 }, 13996 removeSlide: function (e) { 13997 if (null == e) return; 13998 let t = s.activeIndex; 13999 if (Array.isArray(e)) 14000 for (let a = e.length - 1; a >= 0; a -= 1) 14001 s.virtual.slides.splice(e[a], 1), 14002 s.params.virtual.cache && 14003 delete s.virtual.cache[e[a]], 14004 e[a] < t && (t -= 1), 14005 (t = Math.max(t, 0)); 14006 else 14007 s.virtual.slides.splice(e, 1), 14008 s.params.virtual.cache && 14009 delete s.virtual.cache[e], 14010 e < t && (t -= 1), 14011 (t = Math.max(t, 0)); 14012 l(!0), s.slideTo(t, 0); 14013 }, 14014 removeAllSlides: function () { 14015 (s.virtual.slides = []), 14016 s.params.virtual.cache && (s.virtual.cache = {}), 14017 l(!0), 14018 s.slideTo(0, 0); 14019 }, 14020 update: l 14021 }); 14022 }, 14023 function (e) { 14024 let { swiper: t, extendParams: s, on: i, emit: n } = e; 14025 const l = a(), 14026 o = r(); 14027 function c(e) { 14028 if (!t.enabled) return; 14029 const { rtlTranslate: s } = t; 14030 let a = e; 14031 a.originalEvent && (a = a.originalEvent); 14032 const i = a.keyCode || a.charCode, 14033 r = t.params.keyboard.pageUpDown, 14034 d = r && 33 === i, 14035 c = r && 34 === i, 14036 p = 37 === i, 14037 u = 39 === i, 14038 h = 38 === i, 14039 m = 40 === i; 14040 if ( 14041 !t.allowSlideNext && 14042 ((t.isHorizontal() && u) || (t.isVertical() && m) || c) 14043 ) 14044 return !1; 14045 if ( 14046 !t.allowSlidePrev && 14047 ((t.isHorizontal() && p) || (t.isVertical() && h) || d) 14048 ) 14049 return !1; 14050 if ( 14051 !( 14052 a.shiftKey || 14053 a.altKey || 14054 a.ctrlKey || 14055 a.metaKey || 14056 (l.activeElement && 14057 l.activeElement.nodeName && 14058 ('input' === 14059 l.activeElement.nodeName.toLowerCase() || 14060 'textarea' === 14061 l.activeElement.nodeName.toLowerCase())) 14062 ) 14063 ) { 14064 if ( 14065 t.params.keyboard.onlyInViewport && 14066 (d || c || p || u || h || m) 14067 ) { 14068 let e = !1; 14069 if ( 14070 t.$el.parents(`.${t.params.slideClass}`).length > 14071 0 && 14072 0 === 14073 t.$el.parents(`.${t.params.slideActiveClass}`) 14074 .length 14075 ) 14076 return; 14077 const a = t.$el, 14078 i = a[0].clientWidth, 14079 r = a[0].clientHeight, 14080 n = o.innerWidth, 14081 l = o.innerHeight, 14082 d = t.$el.offset(); 14083 s && (d.left -= t.$el[0].scrollLeft); 14084 const c = [ 14085 [d.left, d.top], 14086 [d.left + i, d.top], 14087 [d.left, d.top + r], 14088 [d.left + i, d.top + r] 14089 ]; 14090 for (let t = 0; t < c.length; t += 1) { 14091 const s = c[t]; 14092 if ( 14093 s[0] >= 0 && 14094 s[0] <= n && 14095 s[1] >= 0 && 14096 s[1] <= l 14097 ) { 14098 if (0 === s[0] && 0 === s[1]) continue; 14099 e = !0; 14100 } 14101 } 14102 if (!e) return; 14103 } 14104 t.isHorizontal() 14105 ? ((d || c || p || u) && 14106 (a.preventDefault 14107 ? a.preventDefault() 14108 : (a.returnValue = !1)), 14109 (((c || u) && !s) || ((d || p) && s)) && 14110 t.slideNext(), 14111 (((d || p) && !s) || ((c || u) && s)) && 14112 t.slidePrev()) 14113 : ((d || c || h || m) && 14114 (a.preventDefault 14115 ? a.preventDefault() 14116 : (a.returnValue = !1)), 14117 (c || m) && t.slideNext(), 14118 (d || h) && t.slidePrev()), 14119 n('keyPress', i); 14120 } 14121 } 14122 function p() { 14123 t.keyboard.enabled || 14124 (d(l).on('keydown', c), (t.keyboard.enabled = !0)); 14125 } 14126 function u() { 14127 t.keyboard.enabled && 14128 (d(l).off('keydown', c), (t.keyboard.enabled = !1)); 14129 } 14130 (t.keyboard = { enabled: !1 }), 14131 s({ 14132 keyboard: { 14133 enabled: !1, 14134 onlyInViewport: !0, 14135 pageUpDown: !0 14136 } 14137 }), 14138 i('init', () => { 14139 t.params.keyboard.enabled && p(); 14140 }), 14141 i('destroy', () => { 14142 t.keyboard.enabled && u(); 14143 }), 14144 Object.assign(t.keyboard, { enable: p, disable: u }); 14145 }, 14146 function (e) { 14147 let { swiper: t, extendParams: s, on: a, emit: i } = e; 14148 const n = r(); 14149 let l; 14150 s({ 14151 mousewheel: { 14152 enabled: !1, 14153 releaseOnEdges: !1, 14154 invert: !1, 14155 forceToAxis: !1, 14156 sensitivity: 1, 14157 eventsTarget: 'container', 14158 thresholdDelta: null, 14159 thresholdTime: null 14160 } 14161 }), 14162 (t.mousewheel = { enabled: !1 }); 14163 let o, 14164 c = u(); 14165 const h = []; 14166 function m() { 14167 t.enabled && (t.mouseEntered = !0); 14168 } 14169 function f() { 14170 t.enabled && (t.mouseEntered = !1); 14171 } 14172 function g(e) { 14173 return ( 14174 !( 14175 t.params.mousewheel.thresholdDelta && 14176 e.delta < t.params.mousewheel.thresholdDelta 14177 ) && 14178 !( 14179 t.params.mousewheel.thresholdTime && 14180 u() - c < t.params.mousewheel.thresholdTime 14181 ) && 14182 ((e.delta >= 6 && u() - c < 60) || 14183 (e.direction < 0 14184 ? (t.isEnd && !t.params.loop) || 14185 t.animating || 14186 (t.slideNext(), i('scroll', e.raw)) 14187 : (t.isBeginning && !t.params.loop) || 14188 t.animating || 14189 (t.slidePrev(), i('scroll', e.raw)), 14190 (c = new n.Date().getTime()), 14191 !1)) 14192 ); 14193 } 14194 function v(e) { 14195 let s = e, 14196 a = !0; 14197 if (!t.enabled) return; 14198 const r = t.params.mousewheel; 14199 t.params.cssMode && s.preventDefault(); 14200 let n = t.$el; 14201 if ( 14202 ('container' !== t.params.mousewheel.eventsTarget && 14203 (n = d(t.params.mousewheel.eventsTarget)), 14204 !t.mouseEntered && 14205 !n[0].contains(s.target) && 14206 !r.releaseOnEdges) 14207 ) 14208 return !0; 14209 s.originalEvent && (s = s.originalEvent); 14210 let c = 0; 14211 const m = t.rtlTranslate ? -1 : 1, 14212 f = (function (e) { 14213 let t = 0, 14214 s = 0, 14215 a = 0, 14216 i = 0; 14217 return ( 14218 'detail' in e && (s = e.detail), 14219 'wheelDelta' in e && (s = -e.wheelDelta / 120), 14220 'wheelDeltaY' in e && (s = -e.wheelDeltaY / 120), 14221 'wheelDeltaX' in e && (t = -e.wheelDeltaX / 120), 14222 'axis' in e && 14223 e.axis === e.HORIZONTAL_AXIS && 14224 ((t = s), (s = 0)), 14225 (a = 10 * t), 14226 (i = 10 * s), 14227 'deltaY' in e && (i = e.deltaY), 14228 'deltaX' in e && (a = e.deltaX), 14229 e.shiftKey && !a && ((a = i), (i = 0)), 14230 (a || i) && 14231 e.deltaMode && 14232 (1 === e.deltaMode 14233 ? ((a *= 40), (i *= 40)) 14234 : ((a *= 800), (i *= 800))), 14235 a && !t && (t = a < 1 ? -1 : 1), 14236 i && !s && (s = i < 1 ? -1 : 1), 14237 { spinX: t, spinY: s, pixelX: a, pixelY: i } 14238 ); 14239 })(s); 14240 if (r.forceToAxis) 14241 if (t.isHorizontal()) { 14242 if (!(Math.abs(f.pixelX) > Math.abs(f.pixelY))) 14243 return !0; 14244 c = -f.pixelX * m; 14245 } else { 14246 if (!(Math.abs(f.pixelY) > Math.abs(f.pixelX))) 14247 return !0; 14248 c = -f.pixelY; 14249 } 14250 else 14251 c = 14252 Math.abs(f.pixelX) > Math.abs(f.pixelY) 14253 ? -f.pixelX * m 14254 : -f.pixelY; 14255 if (0 === c) return !0; 14256 r.invert && (c = -c); 14257 let v = t.getTranslate() + c * r.sensitivity; 14258 if ( 14259 (v >= t.minTranslate() && (v = t.minTranslate()), 14260 v <= t.maxTranslate() && (v = t.maxTranslate()), 14261 (a = 14262 !!t.params.loop || 14263 !(v === t.minTranslate() || v === t.maxTranslate())), 14264 a && t.params.nested && s.stopPropagation(), 14265 t.params.freeMode && t.params.freeMode.enabled) 14266 ) { 14267 const e = { 14268 time: u(), 14269 delta: Math.abs(c), 14270 direction: Math.sign(c) 14271 }, 14272 a = 14273 o && 14274 e.time < o.time + 500 && 14275 e.delta <= o.delta && 14276 e.direction === o.direction; 14277 if (!a) { 14278 (o = void 0), t.params.loop && t.loopFix(); 14279 let n = t.getTranslate() + c * r.sensitivity; 14280 const d = t.isBeginning, 14281 u = t.isEnd; 14282 if ( 14283 (n >= t.minTranslate() && (n = t.minTranslate()), 14284 n <= t.maxTranslate() &
14284& (n = t.maxTranslate()), 14285 t.setTransition(0), 14286 t.setTranslate(n), 14287 t.updateProgress(), 14288 t.updateActiveIndex(), 14289 t.updateSlidesClasses(), 14290 ((!d && t.isBeginning) || (!u && t.isEnd)) && 14291 t.updateSlidesClasses(), 14292 t.params.freeMode.sticky) 14293 ) { 14294 clearTimeout(l), 14295 (l = void 0), 14296 h.length >= 15 && h.shift(); 14297 const s = h.length ? h[h.length - 1] : void 0, 14298 a = h[0]; 14299 if ( 14300 (h.push(e), 14301 s && 14302 (e.delta > s.delta || 14303 e.direction !== s.direction)) 14304 ) 14305 h.splice(0); 14306 else if ( 14307 h.length >= 15 && 14308 e.time - a.time < 500 && 14309 a.delta - e.delta >= 1 && 14310 e.delta <= 6 14311 ) { 14312 const s = c > 0 ? 0.8 : 0.2; 14313 (o = e), 14314 h.splice(0), 14315 (l = p(() => { 14316 t.slideToClosest( 14317 t.params.speed, 14318 !0, 14319 void 0, 14320 s 14321 ); 14322 }, 0)); 14323 } 14324 l || 14325 (l = p(() => { 14326 (o = e), 14327 h.splice(0), 14328 t.slideToClosest( 14329 t.params.speed, 14330 !0, 14331 void 0, 14332 0.5 14333 ); 14334 }, 500)); 14335 } 14336 if ( 14337 (a || i('scroll', s), 14338 t.params.autoplay && 14339 t.params.autoplayDisableOnInteraction && 14340 t.autoplay.stop(), 14341 n === t.minTranslate() || n === t.maxTranslate()) 14342 ) 14343 return !0; 14344 } 14345 } else { 14346 const s = { 14347 time: u(), 14348 delta: Math.abs(c), 14349 direction: Math.sign(c), 14350 raw: e 14351 }; 14352 h.length >= 2 && h.shift(); 14353 const a = h.length ? h[h.length - 1] : void 0; 14354 if ( 14355 (h.push(s), 14356 a 14357 ? (s.direction !== a.direction || 14358 s.delta > a.delta || 14359 s.time > a.time + 150) && 14360 g(s) 14361 : g(s), 14362 (function (e) { 14363 const s = t.params.mousewheel; 14364 if (e.direction < 0) { 14365 if ( 14366 t.isEnd && 14367 !t.params.loop && 14368 s.releaseOnEdges 14369 ) 14370 return !0; 14371 } else if ( 14372 t.isBeginning && 14373 !t.params.loop && 14374 s.releaseOnEdges 14375 ) 14376 return !0; 14377 return !1; 14378 })(s)) 14379 ) 14380 return !0; 14381 } 14382 return ( 14383 s.preventDefault 14384 ? s.preventDefault() 14385 : (s.returnValue = !1), 14386 !1 14387 ); 14388 } 14389 function w(e) { 14390 let s = t.$el; 14391 'container' !== t.params.mousewheel.eventsTarget && 14392 (s = d(t.params.mousewheel.eventsTarget)), 14393 s[e]('mouseenter', m), 14394 s[e]('mouseleave', f), 14395 s[e]('wheel', v); 14396 } 14397 function b() { 14398 return t.params.cssMode 14399 ? (t.wrapperEl.removeEventListener('wheel', v), !0) 14400 : !t.mousewheel.enabled && 14401 (w('on'), (t.mousewheel.enabled = !0), !0); 14402 } 14403 function x() { 14404 return t.params.cssMode 14405 ? (t.wrapperEl.addEventListener(event, v), !0) 14406 : !!t.mousewheel.enabled && 14407 (w('off'), (t.mousewheel.enabled = !1), !0); 14408 } 14409 a('init', () => { 14410 !t.params.mousewheel.enabled && t.params.cssMode && x(), 14411 t.params.mousewheel.enabled && b(); 14412 }), 14413 a('destroy', () => { 14414 t.params.cssMode && b(), t.mousewheel.enabled && x(); 14415 }), 14416 Object.assign(t.mousewheel, { enable: b, disable: x }); 14417 }, 14418 function (e) { 14419 let { swiper: t, extendParams: s, on: a, emit: i } = e; 14420 function r(e) { 14421 let s; 14422 return ( 14423 e && 14424 ((s = d(e)), 14425 t.params.uniqueNavElements && 14426 'string' == typeof e && 14427 s.length > 1 && 14428 1 === t.$el.find(e).length && 14429 (s = t.$el.find(e))), 14430 s 14431 ); 14432 } 14433 function n(e, s) { 14434 const a = t.params.navigation; 14435 e && 14436 e.length > 0 && 14437 (e[s ? 'addClass' : 'removeClass'](a.disabledClass), 14438 e[0] && 'BUTTON' === e[0].tagName && (e[0].disabled = s), 14439 t.params.watchOverflow && 14440 t.enabled && 14441 e[t.isLocked ? 'addClass' : 'removeClass']( 14442 a.lockClass 14443 )); 14444 } 14445 function l() { 14446 if (t.params.loop) return; 14447 const { $nextEl: e, $prevEl: s } = t.navigation; 14448 n(s, t.isBeginning && !t.params.rewind), 14449 n(e, t.isEnd && !t.params.rewind); 14450 } 14451 function o(e) { 14452 e.preventDefault(), 14453 (!t.isBeginning || t.params.loop || t.params.rewind) && 14454 (t.slidePrev(), i('navigationPrev')); 14455 } 14456 function c(e) { 14457 e.preventDefault(), 14458 (!t.isEnd || t.params.loop || t.params.rewind) && 14459 (t.slideNext(), i('navigationNext')); 14460 } 14461 function p() { 14462 const e = t.params.navigation; 14463 if ( 14464 ((t.params.navigation = F( 14465 t, 14466 t.originalParams.navigation, 14467 t.params.navigation, 14468 { 14469 nextEl: 'swiper-button-next', 14470 prevEl: 'swiper-button-prev' 14471 } 14472 )), 14473 !e.nextEl && !e.prevEl) 14474 ) 14475 return; 14476 const s = r(e.nextEl), 14477 a = r(e.prevEl); 14478 s && s.length > 0 && s.on('click', c), 14479 a && a.length > 0 && a.on('click', o), 14480 Object.assign(t.navigation, { 14481 $nextEl: s, 14482 nextEl: s && s[0], 14483 $prevEl: a, 14484 prevEl: a && a[0] 14485 }), 14486 t.enabled || 14487 (s && s.addClass(e.lockClass), 14488 a && a.addClass(e.lockClass)); 14489 } 14490 function u() { 14491 const { $nextEl: e, $prevEl: s } = t.navigation; 14492 e && 14493 e.length && 14494 (e.off('click', c), 14495 e.removeClass(t.params.navigation.disabledClass)), 14496 s && 14497 s.length && 14498 (s.off('click', o), 14499 s.removeClass(t.params.navigation.disabledClass)); 14500 } 14501 s({ 14502 navigation: { 14503 nextEl: null, 14504 prevEl: null, 14505 hideOnClick: !1, 14506 disabledClass: 'swiper-button-disabled', 14507 hiddenClass: 'swiper-button-hidden', 14508 lockClass: 'swiper-button-lock', 14509 navigationDisabledClass: 'swiper-navigation-disabled' 14510 } 14511 }), 14512 (t.navigation = { 14513 nextEl: null, 14514 $nextEl: null, 14515 prevEl: null, 14516 $prevEl: null 14517 }), 14518 a('init', () => { 14519 !1 === t.params.navigation.enabled ? h() : (p(), l()); 14520 }), 14521 a('toEdge fromEdge lock unlock', () => { 14522 l(); 14523 }), 14524 a('destroy', () => { 14525 u(); 14526 }), 14527 a('enable disable', () => { 14528 const { $nextEl: e, $prevEl: s } = t.navigation; 14529 e && 14530 e[t.enabled ? 'removeClass' : 'addClass']( 14531 t.params.navigation.lockClass 14532 ), 14533 s && 14534 s[t.enabled ? 'removeClass' : 'addClass']( 14535 t.params.navigation.lockClass 14536 ); 14537 }), 14538 a('click', (e, s) => { 14539 const { $nextEl: a, $prevEl: r } = t.navigation, 14540 n = s.target; 14541 if ( 14542 t.params.navigation.hideOnClick && 14543 !d(n).is(r) && 14544 !d(n).is(a) 14545 ) { 14546 if ( 14547 t.pagination && 14548 t.params.pagination && 14549 t.params.pagination.clickable && 14550 (t.pagination.el === n || 14551 t.pagination.el.contains(n)) 14552 ) 14553 return; 14554 let e; 14555 a 14556 ? (e = a.hasClass(t.params.navigation.hiddenClass)) 14557 : r && 14558 (e = r.hasClass(t.params.navigation.hiddenClass)), 14559 i(!0 === e ? 'navigationShow' : 'navigationHide'), 14560 a && a.toggleClass(t.params.navigation.hiddenClass), 14561 r && r.toggleClass(t.params.navigation.hiddenClass); 14562 } 14563 }); 14564 const h = () => { 14565 t.$el.addClass(t.params.navigation.navigationDisabledClass), 14566 u(); 14567 }; 14568 Object.assign(t.navigation, { 14569 enable: () => { 14570 t.$el.removeClass( 14571 t.params.navigation.navigationDisabledClass 14572 ), 14573 p(), 14574 l(); 14575 }, 14576 disable: h, 14577 update: l, 14578 init: p, 14579 destroy: u 14580 }); 14581 }, 14582 function (e) { 14583 let { swiper: t, extendParams: s, on: a, emit: i } = e; 14584 const r = 'swiper-pagination'; 14585 let n; 14586 s({ 14587 pagination: { 14588 el: null, 14589 bulletElement: 'span', 14590 clickable: !1, 14591 hideOnClick: !1, 14592 renderBullet: null, 14593 renderProgressbar: null, 14594 renderFraction: null, 14595 renderCustom: null, 14596 progressbarOpposite: !1, 14597 type: 'bullets', 14598 dynamicBullets: !1, 14599 dynamicMainBullets: 1, 14600 formatFractionCurrent: (e) => e, 14601 formatFractionTotal: (e) => e, 14602 bulletClass: `${r}-bullet`, 14603 bulletActiveClass: `${r}-bullet-active`, 14604 modifierClass: `${r}-`, 14605 currentClass: `${r}-current`, 14606 totalClass: `${r}-total`, 14607 hiddenClass: `${r}-hidden`, 14608 progressbarFillClass: `${r}-progressbar-fill`, 14609 progressbarOppositeClass: `${r}-progressbar-opposite`, 14610 clickableClass: `${r}-clickable`, 14611 lockClass: `${r}-lock`, 14612 horizontalClass: `${r}-horizontal`, 14613 verticalClass: `${r}-vertical`, 14614 paginationDisabledClass: `${r}-disabled` 14615 } 14616 }), 14617 (t.pagination = { el: null, $el: null, bullets: [] }); 14618 let l = 0; 14619 function o() { 14620 return ( 14621 !t.params.pagination.el || 14622 !t.pagination.el || 14623 !t.pagination.$el || 14624 0 === t.pagination.$el.length 14625 ); 14626 } 14627 function c(e, s) { 14628 const { bulletActiveClass: a } = t.params.pagination; 14629 e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`); 14630 } 14631 function p() { 14632 const e = t.rtl, 14633 s = t.params.pagination; 14634 if (o()) return; 14635 const a = 14636 t.virtual && t.params.virtual.enabled 14637 ? t.virtual.slides.length 14638 : t.slides.length, 14639 r = t.pagination.$el; 14640 let p; 14641 const u = t.params.loop 14642 ? Math.ceil( 14643 (a - 2 * t.loopedSlides) / t.params.slidesPerGroup 14644 ) 14645 : t.snapGrid.length; 14646 if ( 14647 (t.params.loop 14648 ? ((p = Math.ceil( 14649 (t.activeIndex - t.loopedSlides) / 14650 t.params.slidesPerGroup 14651 )), 14652 p > a - 1 - 2 * t.loopedSlides && 14653 (p -= a - 2 * t.loopedSlides), 14654 p > u - 1 && (p -= u), 14655 p < 0 && 14656 'bullets' !== t.params.paginationType && 14657 (p = u + p)) 14658 : (p = 14659 void 0 !== t.snapIndex 14660 ? t.snapIndex 14661 : t.activeIndex || 0), 14662 'bullets' === s.type && 14663 t.pagination.bullets && 14664 t.pagination.bullets.length > 0) 14665 ) { 14666 const a = t.pagination.bullets; 14667 let i, o, u; 14668 if ( 14669 (s.dynamicBullets && 14670 ((n = a 14671 .eq(0) 14672 [ 14673 t.isHorizontal() 14674
14674 ? 'outerWidth' 14675 : 'outerHeight' 14676 ](!0)), 14677 r.css( 14678 t.isHorizontal() ? 'width' : 'height', 14679 n * (s.dynamicMainBullets + 4) + 'px' 14680 ), 14681 s.dynamicMainBullets > 1 && 14682 void 0 !== t.previousIndex && 14683 ((l += 14684 p - 14685 (t.previousIndex - t.loopedSlides || 0)), 14686 l > s.dynamicMainBullets - 1 14687 ? (l = s.dynamicMainBullets - 1) 14688 : l < 0 && (l = 0)), 14689 (i = Math.max(p - l, 0)), 14690 (o = 14691 i + 14692 (Math.min(a.length, s.dynamicMainBullets) - 1)), 14693 (u = (o + i) / 2)), 14694 a.removeClass( 14695 [ 14696 '', 14697 '-next', 14698 '-next-next', 14699 '-prev', 14700 '-prev-prev', 14701 '-main' 14702 ] 14703 .map((e) => `${s.bulletActiveClass}${e}`) 14704 .join(' ') 14705 ), 14706 r.length > 1) 14707 ) 14708 a.each((e) => { 14709 const t = d(e), 14710 a = t.index(); 14711 a === p && t.addClass(s.bulletActiveClass), 14712 s.dynamicBullets && 14713 (a >= i && 14714 a <= o && 14715 t.addClass( 14716 `${s.bulletActiveClass}-main` 14717 ), 14718 a === i && c(t, 'prev'), 14719 a === o && c(t, 'next')); 14720 }); 14721 else { 14722 const e = a.eq(p), 14723 r = e.index(); 14724 if ( 14725 (e.addClass(s.bulletActiveClass), s.dynamicBullets) 14726 ) { 14727 const e = a.eq(i), 14728 n = a.eq(o); 14729 for (let e = i; e <= o; e += 1) 14730 a.eq(e).addClass(`${s.bulletActiveClass}-main`); 14731 if (t.params.loop) 14732 if (r >= a.length) { 14733 for ( 14734 let e = s.dynamicMainBullets; 14735 e >= 0; 14736 e -= 1 14737 ) 14738 a.eq(a.length - e).addClass( 14739 `${s.bulletActiveClass}-main` 14740 ); 14741 a.eq( 14742 a.length - s.dynamicMainBullets - 1 14743 ).addClass(`${s.bulletActiveClass}-prev`); 14744 } else c(e, 'prev'), c(n, 'next'); 14745 else c(e, 'prev'), c(n, 'next'); 14746 } 14747 } 14748 if (s.dynamicBullets) { 14749 const i = Math.min(a.length, s.dynamicMainBullets + 4), 14750 r = (n * i - n) / 2 - u * n, 14751 l = e ? 'right' : 'left'; 14752 a.css(t.isHorizontal() ? l : 'top', `${r}px`); 14753 } 14754 } 14755 if ( 14756 ('fraction' === s.type && 14757 (r 14758 .find(U(s.currentClass)) 14759 .text(s.formatFractionCurrent(p + 1)), 14760 r.find(U(s.totalClass)).text(s.formatFractionTotal(u))), 14761 'progressbar' === s.type) 14762 ) { 14763 let e; 14764 e = s.progressbarOpposite 14765 ? t.isHorizontal() 14766 ? 'vertical' 14767 : 'horizontal' 14768 : t.isHorizontal() 14769 ? 'horizontal' 14770 : 'vertical'; 14771 const a = (p + 1) / u; 14772 let i = 1, 14773 n = 1; 14774 'horizontal' === e ? (i = a) : (n = a), 14775 r 14776 .find(U(s.progressbarFillClass)) 14777 .transform(
14778 `translate3d(0,0,0) scaleX(${i}) scaleY(${n})` 14779 ) 14780 .transition(t.params.speed); 14781 } 14782 'custom' === s.type && s.renderCustom 14783 ? (r.html(s.renderCustom(t, p + 1, u)), 14784 i('paginationRender', r[0])) 14785 : i('paginationUpdate', r[0]), 14786 t.params.watchOverflow && 14787 t.enabled && 14788 r[t.isLocked ? 'addClass' : 'removeClass'](s.lockClass); 14789 } 14790 function u() { 14791 const e = t.params.pagination; 14792 if (o()) return; 14793 const s = 14794 t.virtual && t.params.virtual.enabled 14795 ? t.virtual.slides.length 14796 : t.slides.length, 14797 a = t.pagination.$el; 14798 let r = ''; 14799 if ('bullets' === e.type) { 14800 let i = t.params.loop 14801 ? Math.ceil( 14802 (s - 2 * t.loopedSlides) / t.params.slidesPerGroup 14803 ) 14804 : t.snapGrid.length; 14805 t.params.freeMode && 14806 t.params.freeMode.enabled && 14807 !t.params.loop && 14808 i > s && 14809 (i = s); 14810 for (let s = 0; s < i; s += 1) 14811 e.renderBullet 14812 ? (r += e.renderBullet.call(t, s, e.bulletClass)) 14813 : (r += `<${e.bulletElement} class="${e.bulletClass}"></${e.bulletElement}>`); 14814 a.html(r), 14815 (t.pagination.bullets = a.find(U(e.bulletClass))); 14816 } 14817 'fraction' === e.type && 14818 ((r = e.renderFraction 14819 ? e.renderFraction.call(t, e.currentClass, e.totalClass) 14820 : `<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`), 14821 a.html(r)), 14822 'progressbar' === e.type && 14823 ((r = e.renderProgressbar 14824 ? e.renderProgressbar.call( 14825 t, 14826 e.progressbarFillClass 14827 ) 14828 : `<span class="${e.progressbarFillClass}"></span>`), 14829 a.html(r)), 14830 'custom' !== e.type && 14831 i('paginationRender', t.pagination.$el[0]); 14832 } 14833 function h() { 14834 t.params.pagination = F( 14835 t, 14836 t.originalParams.pagination, 14837 t.params.pagination, 14838 { el: 'swiper-pagination' } 14839 ); 14840 const e = t.params.pagination; 14841 if (!e.el) return; 14842 let s = d(e.el); 14843 0 !== s.length && 14844 (t.params.uniqueNavElements && 14845 'string' == typeof e.el && 14846 s.length > 1 && 14847 ((s = t.$el.find(e.el)), 14848 s.length > 1 && 14849 (s = s.filter( 14850 (e) => d(e).parents('.swiper')[0] === t.el 14851 ))), 14852 'bullets' === e.type && 14853 e.clickable && 14854 s.addClass(e.clickableClass), 14855 s.addClass(e.modifierClass + e.type), 14856 s.addClass( 14857 t.isHorizontal() ? e.horizontalClass : e.verticalClass 14858 ), 14859 'bullets' === e.type && 14860 e.dynamicBullets && 14861 (s.addClass(`${e.modifierClass}${e.type}-dynamic`), 14862 (l = 0), 14863 e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)), 14864 'progressbar' === e.type && 14865 e.progressbarOpposite && 14866 s.addClass(e.progressbarOppositeClass), 14867 e.clickable && 14868 s.on('click', U(e.bulletClass), function (e) { 14869 e.preventDefault(); 14870 let s = d(this).index() * t.params.slidesPerGroup; 14871 t.params.loop && (s += t.loopedSlides), 14872 t.slideTo(s); 14873 }), 14874 Object.assign(t.pagination, { $el: s, el: s[0] }), 14875 t.enabled || s.addClass(e.lockClass)); 14876 } 14877 function m() { 14878 const e = t.params.pagination; 14879 if (o()) return; 14880 const s = t.pagination.$el; 14881 s.removeClass(e.hiddenClass), 14882 s.removeClass(e.modifierClass + e.type), 14883 s.removeClass( 14884 t.isHorizontal() ? e.horizontalClass : e.verticalClass 14885 ), 14886 t.pagination.bullets && 14887 t.pagination.bullets.removeClass && 14888 t.pagination.bullets.removeClass(e.bulletActiveClass), 14889 e.clickable && s.off('click', U(e.bulletClass)); 14890 } 14891 a('init', () => { 14892 !1 === t.params.pagination.enabled ? f() : (h(), u(), p()); 14893 }), 14894 a('activeIndexChange', () => { 14895 (t.params.loop || void 0 === t.snapIndex) && p(); 14896 }), 14897 a('snapIndexChange', () => { 14898 t.params.loop || p(); 14899 }), 14900 a('slidesLengthChange', () => { 14901 t.params.loop && (u(), p()); 14902 }), 14903 a('snapGridLengthChange', () => { 14904 t.params.loop || (u(), p()); 14905 }), 14906 a('destroy', () => { 14907 m(); 14908 }), 14909 a('enable disable', () => { 14910 const { $el: e } = t.pagination; 14911 e && 14912 e[t.enabled ? 'removeClass' : 'addClass']( 14913 t.params.pagination.lockClass 14914 ); 14915 }), 14916 a('lock unlock', () => { 14917 p(); 14918 }), 14919 a('click', (e, s) => { 14920 const a = s.target, 14921 { $el: r } = t.pagination; 14922 if ( 14923 t.params.pagination.el && 14924 t.params.pagination.hideOnClick && 14925 r && 14926 r.length > 0 && 14927 !d(a).hasClass(t.params.pagination.bulletClass) 14928 ) { 14929 if ( 14930 t.navigation && 14931 ((t.navigation.nextEl && 14932 a === t.navigation.nextEl) || 14933 (t.navigation.prevEl && 14934 a === t.navigation.prevEl)) 14935 ) 14936 return; 14937 const e = r.hasClass(t.params.pagination.hiddenClass); 14938 i(!0 === e ? 'paginationShow' : 'paginationHide'), 14939 r.toggleClass(t.params.pagination.hiddenClass); 14940 } 14941 }); 14942 const f = () => { 14943 t.$el.addClass(t.params.pagination.paginationDisabledClass), 14944 t.pagination.$el && 14945 t.pagination.$el.addClass( 14946 t.params.pagination.paginationDisabledClass 14947 ), 14948 m(); 14949 }; 14950 Object.assign(t.pagination, { 14951 enable: () => { 14952 t.$el.removeClass( 14953 t.params.pagination.paginationDisabledClass 14954 ), 14955 t.pagination.$el && 14956 t.pagination.$el.removeClass( 14957 t.params.pagination.paginationDisabledClass 14958 ), 14959 h(), 14960 u(), 14961 p(); 14962 }, 14963 disable: f, 14964 render: u, 14965 update: p, 14966 init: h, 14967 destroy: m 14968 }); 14969 }, 14970 function (e) { 14971 let { swiper: t, extendParams: s, on: i, emit: r }
14971 = e; 14972 const n = a(); 14973 let l, 14974 o, 14975 c, 14976 u, 14977 h = !1, 14978 m = null, 14979 f = null; 14980 function g() { 14981 if (!t.params.scrollbar.el || !t.scrollbar.el) return; 14982 const { scrollbar: e, rtlTranslate: s, progress: a } = t, 14983 { $dragEl: i, $el: r } = e, 14984 n = t.params.scrollbar; 14985 let l = o, 14986 d = (c - o) * a; 14987 s 14988 ? ((d = -d), 14989 d > 0 14990 ? ((l = o - d), (d = 0)) 14991 : -d + o > c && (l = c + d)) 14992 : d < 0 14993 ? ((l = o + d), (d = 0)) 14994 : d + o > c && (l = c - d), 14995 t.isHorizontal() 14996 ? (i.transform(`translate3d(${d}px, 0, 0)`), 14997 (i[0].style.width = `${l}px`)) 14998 : (i.transform(`translate3d(0px, ${d}px, 0)`), 14999 (i[0].style.height = `${l}px`)), 15000 n.hide && 15001 (clearTimeout(m), 15002 (r[0].style.opacity = 1), 15003 (m = setTimeout(() => { 15004 (r[0].style.opacity = 0), r.transition(400); 15005 }, 1e3))); 15006 } 15007 function v() { 15008 if (!t.params.scrollbar.el || !t.scrollbar.el) return; 15009 const { scrollbar: e } = t, 15010 { $dragEl: s, $el: a } = e; 15011 (s[0].style.width = ''), 15012 (s[0].style.height = ''), 15013 (c = t.isHorizontal() 15014 ? a[0].offsetWidth 15015 : a[0].offsetHeight), 15016 (u = 15017 t.size / 15018 (t.virtualSize + 15019 t.params.slidesOffsetBefore - 15020 (t.params.centeredSlides ? t.snapGrid[0] : 0))), 15021 (o = 15022 'auto' === t.params.scrollbar.dragSize 15023 ? c * u 15024 : parseInt(t.params.scrollbar.dragSize, 10)), 15025 t.isHorizontal() 15026 ? (s[0].style.width = `${o}px`) 15027 : (s[0].style.height = `${o}px`), 15028 (a[0].style.display = u >= 1 ? 'none' : ''), 15029 t.params.scrollbar.hide && (a[0].style.opacity = 0), 15030 t.params.watchOverflow && 15031 t.enabled && 15032 e.$el[t.isLocked ? 'addClass' : 'removeClass']( 15033 t.params.scrollbar.lockClass 15034 ); 15035 } 15036 function w(e) { 15037 return t.isHorizontal() 15038 ? 'touchstart' === e.type || 'touchmove' === e.type 15039 ? e.targetTouches[0].clientX 15040 : e.clientX 15041 : 'touchstart' === e.type || 'touchmove' === e.type 15042 ? e.targetTouches[0].clientY 15043 : e.clientY; 15044 } 15045 function b(e) { 15046 const { scrollbar: s, rtlTranslate: a } = t, 15047 { $el: i } = s; 15048 let r; 15049 (r = 15050 (w(e) - 15051 i.offset()[t.isHorizontal() ? 'left' : 'top'] - 15052 (null !== l ? l : o / 2)) / 15053 (c - o)), 15054 (r = Math.max(Math.min(r, 1), 0)), 15055 a && (r = 1 - r); 15056 const n = 15057 t.minTranslate() + 15058 (t.maxTranslate() - t.minTranslate()) * r; 15059 t.updateProgress(n), 15060 t.setTranslate(n), 15061 t.updateActiveIndex(), 15062 t.updateSlidesClasses(); 15063 } 15064 function x(e) { 15065 const s = t.params.scrollbar, 15066 { scrollbar: a, $wrapperEl: i } = t, 15067 { $el: n, $dragEl: o } = a; 15068 (h = !0), 15069 (l = 15070 e.target === o[0] || e.target === o 15071 ? w(e) - 15072 e.target.getBoundingClientRect()[ 15073 t.isHorizontal() ? 'left' : 'top' 15074 ] 15075 : null),
15076 e.preventDefault(), 15077 e.stopPropagation(), 15078 i.transition(100), 15079 o.transition(100), 15080 b(e), 15081 clearTimeout(f), 15082 n.transition(0), 15083 s.hide && n.css('opacity', 1), 15084 t.params.cssMode && 15085 t.$wrapperEl.css('scroll-snap-type', 'none'), 15086 r('scrollbarDragStart', e); 15087 } 15088 function y(e) { 15089 const { scrollbar: s, $wrapperEl: a } = t, 15090 { $el: i, $dragEl: n } = s; 15091 h && 15092 (e.preventDefault 15093 ? e.preventDefault() 15094 : (e.returnValue = !1), 15095 b(e), 15096 a.transition(0), 15097 i.transition(0), 15098 n.transition(0), 15099 r('scrollbarDragMove', e)); 15100 } 15101 function E(e) { 15102 const s = t.params.scrollbar, 15103 { scrollbar: a, $wrapperEl: i } = t, 15104 { $el: n } = a; 15105 h && 15106 ((h = !1), 15107 t.params.cssMode && 15108 (t.$wrapperEl.css('scroll-snap-type', ''), 15109 i.transition('')), 15110 s.hide && 15111 (clearTimeout(f), 15112 (f = p(() => { 15113 n.css('opacity', 0), n.transition(400); 15114 }, 1e3))), 15115 r('scrollbarDragEnd', e), 15116 s.snapOnRelease && t.slideToClosest()); 15117 } 15118 function C(e) { 15119 const { 15120 scrollbar: s, 15121 touchEventsTouch: a, 15122 touchEventsDesktop: i, 15123 params: r, 15124 support: l 15125 } = t, 15126 o = s.$el; 15127 if (!o) return; 15128 const d = o[0], 15129 c = !(!l.passiveListener || !r.passiveListeners) && { 15130 passive: !1, 15131 capture: !1 15132 }, 15133 p = !(!l.passiveListener || !r.passiveListeners) && { 15134 passive: !0, 15135 capture: !1 15136 }; 15137 if (!d) return; 15138 const u = 15139 'on' === e ? 'addEventListener' : 'removeEventListener'; 15140 l.touch 15141 ? (d[u](a.start, x, c), 15142 d[u](a.move, y, c), 15143 d[u](a.end, E, p)) 15144 : (d[u](i.start, x, c), 15145 n[u](i.move, y, c), 15146 n[u](i.end, E, p)); 15147 } 15148 function T() { 15149 const { scrollbar: e, $el: s } = t; 15150 t.params.scrollbar = F( 15151 t, 15152 t.originalParams.scrollbar, 15153 t.params.scrollbar, 15154 { el: 'swiper-scrollbar' } 15155 ); 15156 const a = t.params.scrollbar; 15157 if (!a.el) return; 15158 let i = d(a.el); 15159 t.params.uniqueNavElements && 15160 'string' == typeof a.el && 15161 i.length > 1 && 15162 1 === s.find(a.el).length && 15163 (i = s.find(a.el)), 15164 i.addClass( 15165 t.isHorizontal() ? a.horizontalClass : a.verticalClass 15166 ); 15167 let r = i.find(`.${t.params.scrollbar.dragClass}`); 15168 0 === r.length && 15169 ((r = d( 15170 `<div class="${t.params.scrollbar.dragClass}"></div>` 15171 )), 15172 i.append(r)), 15173 Object.assign(e, { 15174 $el: i, 15175 el: i[0], 15176 $dragEl: r, 15177 dragEl: r[0] 15178 }), 15179 a.draggable && 15180 t.params.scrollbar.el && 15181 t.scrollbar.el && 15182 C('on'), 15183 i && 15184 i[t.enabled ? 'removeClass' : 'addClass']( 15185 t.params.scrollbar.lockClass 15186 ); 15187 } 15188 function $() { 15189 const e = t.params.scrollbar, 15190 s = t.scrollbar.$el; 15191 s && 15192 s.removeClass( 15193 t.isHorizontal() ? e.horizontalClass : e.verticalClass 15194 ), 15195 t.params.scrollbar.el && t.scrollbar.el && C('off'); 15196 } 15197 s({ 15198 scrollbar: { 15199 el: null, 15200 dragSize: 'auto', 15201 hide: !1, 15202 draggable: !1, 15203 snapOnRelease: !0, 15204 lockClass: 'swiper-scrollbar-lock', 15205 dragClass: 'swiper-scrollbar-drag', 15206 scrollbarDisabledClass: 'swiper-scrollbar-disabled', 15207 horizontalClass: 'swiper-scrollbar-horizontal', 15208 verticalClass: 'swiper-scrollbar-vertical' 15209 } 15210 }), 15211 (t.scrollbar = { 15212 el: null, 15213 dragEl: null, 15214 $el: null, 15215 $dragEl: null 15216 }), 15217 i('init', () => { 15218 !1 === t.params.scrollbar.enabled ? S() : (T(), v(), g()); 15219 }), 15220 i('update resize observerUpdate lock unlock', () => { 15221 v(); 15222 }), 15223 i('setTranslate', () => { 15224 g(); 15225 }), 15226 i('setTransition', (e, s) => { 15227 !(function (e) { 15228 t.params.scrollbar.el && 15229 t.scrollbar.el && 15230 t.scrollbar.$dragEl.transition(e); 15231 })(s); 15232 }), 15233 i('enable disable', () => { 15234 const { $el: e } = t.scrollbar; 15235 e && 15236 e[t.enabled ? 'removeClass' : 'addClass']( 15237 t.params.scrollbar.lockClass 15238 ); 15239 }), 15240 i('destroy', () => { 15241 $(); 15242 }); 15243 const S = () => { 15244 t.$el.addClass(t.params.scrollbar.scrollbarDisabledClass), 15245 t.scrollbar.$el && 15246 t.scrollbar.$el.addClass( 15247 t.params.scrollbar.scrollbarDisabledClass 15248 ), 15249 $(); 15250 }; 15251 Object.assign(t.scrollbar, { 15252 enable: () => { 15253 t.$el.removeClass( 15254 t.params.scrollbar.scrollbarDisabledClass 15255 ), 15256 t.scrollbar.$el && 15257 t.scrollbar.$el.removeClass( 15258 t.params.scrollbar.scrollbarDisabledClass 15259 ), 15260 T(), 15261 v(), 15262 g(); 15263 }, 15264 disable: S, 15265 updateSize: v, 15266 setTranslate: g, 15267 init: T, 15268 destroy: $ 15269 }); 15270 }, 15271 function (e) { 15272 let { swiper: t, extendParams: s, on: a } = e; 15273 s({ parallax: { enabled: !1 } }); 15274 const i = (e, s) => { 15275 const { rtl: a } = t, 15276 i = d(e), 15277 r = a ? -1 : 1, 15278 n = i.attr('data-swiper-parallax') || '0'; 15279 let l = i.attr('data-swiper-parallax-x'), 15280 o = i.attr('data-swiper-parallax-y'); 15281 const c = i.attr('data-swiper-parallax-scale'), 15282 p = i.attr('data-swiper-parallax-opacity'); 15283 if ( 15284 (l || o 15285 ? ((l = l || '0'), (o = o || '0')) 15286 : t.isHorizontal() 15287 ? ((l = n), (o = '0')) 15288 : ((o = n), (l = '0')), 15289 (l = 15290 l.indexOf('%') >= 0 15291 ? parseInt(l, 10) * s * r + '%' 15292 : l * s * r + 'px'), 15293 (o = 15294 o.indexOf('%') >= 0 15295 ? parseInt(o, 10) * s + '%' 15296 : o * s + 'px'), 15297 null != p) 15298 ) { 15299 const e = p - (p - 1) * (1 - Math.abs(s)); 15300 i[0].style.opacity = e; 15301 } 15302 if (null == c) i.transform(`translate3d(${l}, ${o}, 0px)`); 15303 else { 15304 const e = c - (c - 1) * (1 - Math.abs(s)); 15305 i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`); 15306 } 15307 }, 15308 r = () => { 15309 const { $el: e, slides: s, progress: a, snapGrid: r } = t; 15310 e 15311 .children( 15312 '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]' 15313 ) 15314 .each((e) => { 15315 i(e, a); 15316 }), 15317 s.each((e, s) => { 15318 let n = e.progress; 15319 t.params.slidesPerGroup > 1 && 15320 'auto' !== t.params.slidesPerView && 15321 (n += Math.ceil(s / 2) - a * (r.length - 1)), 15322 (n = Math.min(Math.max(n, -1), 1)), 15323 d(e) 15324 .find( 15325 '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]' 15326 ) 15327 .each((e) => { 15328 i(e, n); 15329 }); 15330 }); 15331 }; 15332 a('beforeInit', () => { 15333 t.params.parallax.enabled && 15334 ((t.params.watchSlidesProgress = !0), 15335 (t.originalParams.watchSlidesProgress = !0)); 15336 }), 15337 a('init', () => { 15338 t.params.parallax.enabled && r(); 15339 }), 15340 a('setTranslate', () => { 15341 t.params.parallax.enabled && r(); 15342 }), 15343 a('setTransition', (e, s) => { 15344 t.params.parallax.enabled && 15345 (function (e) { 15346 void 0 === e && (e = t.params.speed); 15347 const { $el: s } = t; 15348 s.find( 15349 '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]' 15350 ).each((t) => { 15351 const s = d(t); 15352 let a = 15353 parseInt( 15354 s.attr('data-swiper-parallax-duration'), 15355 10 15356 ) || e; 15357 0 === e && (a = 0), s.transition(a); 15358 }); 15359 })(s); 15360 }); 15361 }, 15362 function (e) { 15363 let { swiper: t, extendParams: s, on: a, emit: i } = e; 15364 const n = r(); 15365 s({ 15366 zoom: { 15367 enabled: !1, 15368 maxRatio: 3, 15369 minRatio: 1, 15370 toggle: !0, 15371 containerClass: 'swiper-zoom-container', 15372 zoomedSlideClass: 'swiper-slide-zoomed' 15373 } 15374 }), 15375 (t.zoom = { enabled: !1 }); 15376 let l, 15377 o, 15378 c, 15379 p = 1, 15380 u = !1; 15381 const m = { 15382 $slideEl: void 0, 15383 slideWidth: void 0, 15384 slideHeight: void 0, 15385 $imageEl: void 0, 15386 $imageWrapEl: void 0, 15387 maxRatio: 3 15388 }, 15389 f = { 15390 isTouched: void 0, 15391 isMoved: void 0, 15392 currentX: void 0, 15393 currentY: void 0, 15394 minX: void 0, 15395 minY: void 0, 15396 maxX: void 0, 15397 maxY: void 0, 15398 width: void 0, 15399 height: void 0, 15400 startX: void 0, 15401 startY: void 0, 15402 touchesStart: {}, 15403 touchesCurrent: {} 15404 }, 15405 g = { 15406 x: void 0, 15407 y: void 0, 15408 prevPositionX: void 0, 15409 prevPositionY: void 0, 15410 prevTime: void 0 15411 }; 15412 let v = 1; 15413 function w(e) { 15414 if (e.targetTouches.length < 2) return 1; 15415 const t = e.targetTouches[0].pageX, 15416 s = e.targetTouches[0].pageY, 15417 a = e.targetTouches[1].pageX, 15418 i = e.targetTouches[1].pageY; 15419 return Math.sqrt((a - t) ** 2 + (i - s) ** 2); 15420 } 15421 function b(e) { 15422 const s = t.support, 15423 a = t.params.zoom; 15424 if (((o = !1), (c = !1), !s.gestures)) { 15425 if ( 15426 'touchstart' !== e.type || 15427 ('touchstart' === e.type && e.targetTouches.length < 2) 15428 ) 15429 return; 15430 (o = !0), (m.scaleStart = w(e)); 15431 } 15432 (m.$slideEl && m.$slideEl.length) || 15433 ((m.$slideEl = d(e.target).closest(`.${t.params.slideClass}`)), 15434 0 === m.$slideEl.length && 15435 (m.$slideEl = t.slides.eq(t.activeIndex)), 15436 (m.$imageEl = m.$slideEl 15437 .find(`.${a.containerClass}`) 15438 .eq(0) 15439 .find('picture, img, svg, canvas, .swiper-zoom-target') 15440 .eq(0)), 15441 (m.$imageWrapEl = m.$imageEl.parent(`.${a.containerClass}`)), 15442 (m.maxRatio = 15443 m.$imageWrapEl.attr('data-swiper-zoom') || a.maxRatio), 15444 0 !== m.$imageWrapEl.length) 15445 ? (m.$imageEl && m.$imageEl.transition(0), (u = !0)) 15446 : (m.$imageEl = void 0); 15447 } 15448 function x(e) { 15449 const s = t.support, 15450 a = t.params.zoom, 15451 i = t.zoom; 15452 if (!s.gestures) { 15453 if ( 15454 'touchmove' !== e.type || 15455 ('touchmove' === e.type && e.targetTouches.length < 2) 15456 ) 15457 return; 15458 (c = !0), (m.scaleMove = w(e)); 15459 } 15460 m.$imageEl && 0 !== m.$imageEl.length 15461 ? (s.gestures 15462 ? (i.scale = e.scale * p) 15463 : (i.scale = (m.scaleMove / m.scaleStart) * p), 15464 i.scale > m.maxRatio && 15465 (i.scale = 15466 m.maxRatio - 15467 1 + 15468 (i.scale - m.maxRatio + 1) ** 0.5), 15469 i.scale < a.minRatio && 15470 (i.scale = 15471 a.minRatio + 15472 1 - 15473 (a.minRatio - i.scale + 1) *
15473* 0.5), 15474 m.$imageEl.transform( 15475 `translate3d(0,0,0) scale(${i.scale})` 15476 )) 15477 : 'gesturechange' === e.type && b(e); 15478 } 15479 function y(e) { 15480 const s = t.device, 15481 a = t.support, 15482 i = t.params.zoom, 15483 r = t.zoom; 15484 if (!a.gestures) { 15485 if (!o || !c) return; 15486 if ( 15487 'touchend' !== e.type || 15488 ('touchend' === e.type && 15489 e.changedTouches.length < 2 && 15490 !s.android) 15491 ) 15492 return; 15493 (o = !1), (c = !1); 15494 } 15495 m.$imageEl && 15496 0 !== m.$imageEl.length && 15497 ((r.scale = Math.max( 15498 Math.min(r.scale, m.maxRatio), 15499 i.minRatio 15500 )), 15501 m.$imageEl 15502 .transition(t.params.speed) 15503 .transform(`translate3d(0,0,0) scale(${r.scale})`), 15504 (p = r.scale), 15505 (u = !1), 15506 1 === r.scale && (m.$slideEl = void 0)); 15507 } 15508 function E(e) { 15509 const s = t.zoom; 15510 if (!m.$imageEl || 0 === m.$imageEl.length) return; 15511 if (((t.allowClick = !1), !f.isTouched || !m.$slideEl)) return; 15512 f.isMoved || 15513 ((f.width = m.$imageEl[0].offsetWidth), 15514 (f.height = m.$imageEl[0].offsetHeight), 15515 (f.startX = h(m.$imageWrapEl[0], 'x') || 0), 15516 (f.startY = h(m.$imageWrapEl[0], 'y') || 0), 15517 (m.slideWidth = m.$slideEl[0].offsetWidth), 15518 (m.slideHeight = m.$slideEl[0].offsetHeight), 15519 m.$imageWrapEl.transition(0)); 15520 const a = f.width * s.scale, 15521 i = f.height * s.scale; 15522 if (!(a < m.slideWidth && i < m.slideHeight)) { 15523 if ( 15524 ((f.minX = Math.min(m.slideWidth / 2 - a / 2, 0)), 15525 (f.maxX = -f.minX), 15526 (f.minY = Math.min(m.slideHeight / 2 - i / 2, 0)), 15527 (f.maxY = -f.minY), 15528 (f.touchesCurrent.x = 15529 'touchmove' === e.type 15530 ? e.targetTouches[0].pageX 15531 : e.pageX), 15532 (f.touchesCurrent.y = 15533 'touchmove' === e.type 15534 ? e.targetTouches[0].pageY 15535 : e.pageY), 15536 !f.isMoved && !u) 15537 ) { 15538 if ( 15539 t.isHorizontal() && 15540 ((Math.floor(f.minX) === Math.floor(f.startX) && 15541 f.touchesCurrent.x < f.touchesStart.x) || 15542 (Math.floor(f.maxX) === Math.floor(f.startX) && 15543 f.touchesCurrent.x > f.touchesStart.x)) 15544 ) 15545 return void (f.isTouched = !1); 15546 if ( 15547 !t.isHorizontal() && 15548 ((Math.floor(f.minY) === Math.floor(f.startY) && 15549 f.touchesCurrent.y < f.touchesStart.y) || 15550 (Math.floor(f.maxY) === Math.floor(f.startY) && 15551 f.touchesCurrent.y > f.touchesStart.y)) 15552 ) 15553 return void (f.isTouched = !1); 15554 } 15555 e.cancelable && e.preventDefault(), 15556 e.stopPropagation(), 15557 (f.isMoved = !0), 15558 (f.currentX = 15559 f.touchesCurrent.x - f.touchesStart.x + f.startX), 15560 (f.currentY = 15561 f.touchesCurrent.y - f.touchesStart.y + f.startY), 15562 f.currentX < f.minX && 15563 (f.currentX = 15564 f.minX + 1 - (f.minX - f.currentX + 1) ** 0.8), 15565 f.currentX > f.maxX && 15566 (f.currentX = 15567 f.maxX - 1 + (f.currentX - f.maxX + 1) ** 0.8), 15568 f.currentY < f.minY && 15569 (f.currentY = 15570 f.minY + 1 - (f.minY - f.currentY + 1) ** 0.8), 15571 f.currentY > f.maxY && 15572 (f.currentY = 15573 f.maxY - 1 + (f.currentY - f.maxY + 1) ** 0.8), 15574 g.prevPositionX || 15575 (g.prevPositionX = f.touchesCurrent.x), 15576 g.prevPositionY || 15577 (g.prevPositionY = f.touchesCurrent.y), 15578 g.prevTime || (g.prevTime = Date.now()), 15579 (g.x = 15580 (f.touchesCurrent.x - g.prevPositionX) / 15581 (Date.now() - g.prevTime) / 15582 2), 15583 (g.y = 15584 (f.touchesCurrent.y - g.prevPositionY) / 15585 (Date.now() - g.prevTime) / 15586 2), 15587 Math.abs(f.touchesCurrent.x - g.prevPositionX) < 2 && 15588 (g.x = 0), 15589 Math.abs(f.touchesCurrent.y - g.prevPositionY) < 2 && 15590 (g.y = 0), 15591 (g.prevPositionX = f.touchesCurrent.x), 15592 (g.prevPositionY = f.touchesCurrent.y), 15593 (g.prevTime = Date.now()), 15594 m.$imageWrapEl.transform( 15595 `translate3d(${f.currentX}px, ${f.currentY}px,0)` 15596 ); 15597 } 15598 } 15599 function C() { 15600 const e = t.zoom; 15601 m.$slideEl && 15602 t.previousIndex !== t.activeIndex && 15603 (m.$imageEl &&
15604 m.$imageEl.transform('translate3d(0,0,0) scale(1)'), 15605 m.$imageWrapEl && 15606 m.$imageWrapEl.transform('translate3d(0,0,0)'), 15607 (e.scale = 1), 15608 (p = 1), 15609 (m.$slideEl = void 0), 15610 (m.$imageEl = void 0), 15611 (m.$imageWrapEl = void 0)); 15612 } 15613 function T(e) { 15614 const s = t.zoom, 15615 a = t.params.zoom; 15616 if ( 15617 (m.$slideEl || 15618 (e && 15619 e.target && 15620 (m.$slideEl = d(e.target).closest( 15621 `.${t.params.slideClass}` 15622 )), 15623 m.$slideEl || 15624 (t.params.virtual && 15625 t.params.virtual.enabled && 15626 t.virtual 15627 ? (m.$slideEl = t.$wrapperEl.children( 15628 `.${t.params.slideActiveClass}` 15629 )) 15630 : (m.$slideEl = t.slides.eq(t.activeIndex))), 15631 (m.$imageEl = m.$slideEl 15632 .find(`.${a.containerClass}`) 15633 .eq(0) 15634 .find( 15635 'picture, img, svg, canvas, .swiper-zoom-target' 15636 ) 15637 .eq(0)), 15638 (m.$imageWrapEl = m.$imageEl.parent( 15639 `.${a.containerClass}` 15640 ))), 15641 !m.$imageEl || 15642 0 === m.$imageEl.length || 15643 !m.$imageWrapEl || 15644 0 === m.$imageWrapEl.length) 15645 ) 15646 return; 15647 let i, r, l, o, c, u, h, g, v, w, b, x, y, E, C, T, $, S; 15648 t.params.cssMode && 15649 ((t.wrapperEl.style.overflow = 'hidden'), 15650 (t.wrapperEl.style.touchAction = 'none')), 15651 m.$slideEl.addClass(`${a.zoomedSlideClass}`), 15652 void 0 === f.touchesStart.x && e 15653 ? ((i = 15654 'touchend' === e.type 15655 ? e.changedTouches[0].pageX 15656 : e.pageX), 15657 (r = 15658 'touchend' === e.type 15659 ? e.changedTouches[0].pageY 15660 : e.pageY)) 15661 : ((i = f.touchesStart.x), (r = f.touchesStart.y)), 15662 (s.scale = 15663 m.$imageWrapEl.attr('data-swiper-zoom') || a.maxRatio), 15664 (p = m.$imageWrapEl.attr('data-swiper-zoom') || a.maxRatio), 15665 e 15666 ? (($ = m.$slideEl[0].offsetWidth), 15667 (S = m.$slideEl[0].offsetHeight), 15668 (l = m.$slideEl.offset().left + n.scrollX), 15669 (o = m.$slideEl.offset().top + n.scrollY), 15670 (c = l + $ / 2 - i), 15671 (u = o + S / 2 - r), 15672 (v = m.$imageEl[0].offsetWidth), 15673 (w = m.$imageEl[0].offsetHeight), 15674 (b = v * s.scale), 15675 (x = w * s.scale), 15676 (y = Math.min($ / 2 - b / 2, 0)), 15677 (E = Math.min(S / 2 - x / 2, 0)), 15678 (C = -y), 15679 (T = -E),
15680 (h = c * s.scale), 15681 (g = u * s.scale), 15682 h < y && (h = y), 15683 h > C && (h = C), 15684 g < E && (g = E), 15685 g > T && (g = T)) 15686 : ((h = 0), (g = 0)), 15687 m.$imageWrapEl 15688 .transition(300) 15689 .transform(`translate3d(${h}px, ${g}px,0)`), 15690 m.$imageEl 15691 .transition(300) 15692 .transform(`translate3d(0,0,0) scale(${s.scale})`); 15693 } 15694 function $() { 15695 const e = t.zoom, 15696 s = t.params.zoom; 15697 m.$slideEl || 15698 (t.params.virtual && t.params.virtual.enabled && t.virtual 15699 ? (m.$slideEl = t.$wrapperEl.children( 15700 `.${t.params.slideActiveClass}` 15701 )) 15702 : (m.$slideEl = t.slides.eq(t.activeIndex)), 15703 (m.$imageEl = m.$slideEl 15704 .find(`.${s.containerClass}`) 15705 .eq(0) 15706 .find('picture, img, svg, canvas, .swiper-zoom-target') 15707 .eq(0)), 15708 (m.$imageWrapEl = m.$imageEl.parent( 15709 `.${s.containerClass}` 15710 ))), 15711 m.$imageEl && 15712 0 !== m.$imageEl.length && 15713 m.$imageWrapEl && 15714 0 !== m.$imageWrapEl.length && 15715 (t.params.cssMode && 15716 ((t.wrapperEl.style.overflow = ''), 15717 (t.wrapperEl.style.touchAction = '')), 15718 (e.scale = 1), 15719 (p = 1), 15720 m.$imageWrapEl 15721 .transition(300) 15722 .transform('translate3d(0,0,0)'), 15723 m.$imageEl 15724 .transition(300) 15725 .transform('translate3d(0,0,0) scale(1)'), 15726 m.$slideEl.removeClass(`${s.zoomedSlideClass}`), 15727 (m.$slideEl = void 0)); 15728 } 15729 function S(e) { 15730 const s = t.zoom; 15731 s.scale && 1 !== s.scale ? $() : T(e); 15732 } 15733 function M() { 15734 const e = t.support; 15735 return { 15736 passiveListener: !( 15737 'touchstart' !== t.touchEvents.start || 15738 !e.passiveListener || 15739 !t.params.passiveListeners 15740 ) && { passive: !0, capture: !1 }, 15741 activeListenerWithCapture: !e.passiveListener || { 15742 passive: !1, 15743 capture: !0 15744 } 15745 }; 15746 } 15747 function P() { 15748 return `.${t.params.slideClass}`; 15749 } 15750 function k(e) { 15751 const { passiveListener: s } = M(), 15752 a = P(); 15753 t.$wrapperEl[e]('gesturestart', a, b, s), 15754 t.$wrapperEl[e]('gesturechange', a, x, s), 15755 t.$wrapperEl[e]('gestureend', a, y, s); 15756 } 15757 function z() { 15758 l || ((l = !0), k('on')); 15759 } 15760 function L() { 15761 l && ((l = !1), k('off')); 15762 } 15763 function O() { 15764 const e = t.zoom; 15765 if (e.enabled) return; 15766 e.enabled = !0; 15767 const s = t.support, 15768 { passiveListener: a, activeListenerWithCapture: i } = M(), 15769 r = P(); 15770 s.gestures 15771 ? (t.$wrapperEl.on(t.touchEvents.start, z, a), 15772 t.$wrapperEl.on(t.touchEvents.end, L, a)) 15773 : 'touchstart' === t.touchEvents.start && 15774 (t.$wrapperEl.on(t.touchEvents.start, r, b, a), 15775 t.$wrapperEl.on(t.touchEvents.move, r, x, i), 15776 t.$wrapperEl.on(t.touchEvents.end, r, y, a), 15777 t.touchEvents.cancel && 15778 t.$wrapperEl.on(t.touchEvents.cancel, r, y, a)), 15779 t.$wrapperEl.on( 15780 t.touchEvents.move, 15781 `.${t.params.zoom.containerClass}`, 15782 E, 15783 i 15784 ); 15785 } 15786 function I() { 15787 const e = t.zoom; 15788 if (!e.enabled) return; 15789 const s = t.support; 15790 e.enabled = !1; 15791 const { passiveListener: a, activeListenerWithCapture: i } = 15792 M(), 15793 r = P(); 15794 s.gestures 15795 ? (t.$wrapperEl.off(t.touchEvents.start, z, a), 15796 t.$wrapperEl.off(t.touchEvents.end, L, a)) 15797 : 'touchstart' === t.touchEvents.start && 15798 (t.$wrapperEl.off(t.touchEvents.start, r, b, a), 15799 t.$wrapperEl.off(t.touchEvents.move, r, x, i), 15800 t.$wrapperEl.off(t.touchEvents.end, r, y, a), 15801 t.touchEvents.cancel && 15802 t.$wrapperEl.off(t.touchEvents.cancel, r, y, a)), 15803 t.$wrapperEl.off( 15804 t.touchEvents.move, 15805 `.${t.params.zoom.containerClass}`, 15806 E, 15807 i 15808 ); 15809 } 15810 Object.defineProperty(t.zoom, 'scale', { 15811 get: () => v, 15812 set(e) { 15813 if (v !== e) { 15814 const t = m.$imageEl ? m.$imageEl[0] : void 0, 15815 s = m.$slideEl ? m.$slideEl[0] : void 0; 15816 i('zoomChange', e, t, s); 15817 } 15818 v = e; 15819 } 15820 }), 15821 a('init', () => { 15822 t.params.zoom.enabled && O(); 15823 }), 15824 a('destroy', () => { 15825 I(); 15826 }), 15827 a('touchStart', (e, s) => { 15828 t.zoom.enabled && 15829 (function (e) { 15830 const s = t.device; 15831 m.$imageEl && 15832 0 !== m.$imageEl.length && 15833 (f.isTouched || 15834 (s.android && 15835 e.cancelable && 15836 e.preventDefault(), 15837 (f.isTouched = !0), 15838 (f.touchesStart.x = 15839 'touchstart' === e.type 15840 ? e.targetTouches[0].pageX 15841 : e.pageX), 15842 (f.touchesStart.y = 15843 'touchstart' === e.type 15844 ? e.targetTouches[0].pageY 15845 : e.pageY))); 15846 })(s); 15847 }), 15848 a('touchEnd', (e, s) => { 15849 t.zoom.enabled && 15850 (function () { 15851 const e = t.zoom; 15852 if (!m.$imageEl || 0 === m.$imageEl.length) return; 15853 if (!f.isTouched || !f.isMoved) 15854 return ( 15855 (f.isTouched = !1), void (f.isMoved = !1) 15856 ); 15857 (f.isTouched = !1), (f.isMoved = !1); 15858 let s = 300, 15859 a = 300; 15860 const i = g.x * s, 15861 r = f.currentX + i, 15862 n = g.y * a, 15863 l = f.currentY + n; 15864 0 !== g.x && (s = Math.abs((r - f.currentX) / g.x)), 15865 0 !== g.y && 15866 (a = Math.abs((l - f.currentY) / g.y)); 15867 const o = Math.max(s, a); 15868 (f.currentX = r), (f.currentY = l); 15869 const d = f.width * e.scale, 15870 c = f.height * e.scale; 15871 (f.minX = Math.min(m.slideWidth / 2 - d / 2, 0)), 15872 (f.maxX = -f.minX), 15873 (f.minY = Math.min( 15874 m.slideHeight / 2 - c / 2, 15875 0 15876 )), 15877 (f.maxY = -f.minY), 15878 (f.currentX = Math.max( 15879 Math.min(f.currentX, f.maxX), 15880 f.minX 15881 )), 15882 (f.currentY = Math.max( 15883 Math.min(f.currentY, f.maxY), 15884 f.minY 15885 )), 15886 m.$imageWrapEl 15887 .transition(o) 15888 .transform( 15889 `translate3d(${f.currentX}px, ${f.currentY}px,0)` 15890 ); 15891 })(); 15892 }), 15893 a('doubleTap', (e, s) => { 15894 !t.animating && 15895 t.params.zoom.enabled && 15896 t.zoom.enabled && 15897 t.params.zoom.toggle && 15898 S(s); 15899 }), 15900 a('transitionEnd', () => { 15901 t.zoom.enabled && t.params.zoom.enabled && C(); 15902 }), 15903 a('slideChange', () => { 15904 t.zoom.enabled && 15905 t.params.zoom.enabled && 15906 t.params.cssMode && 15907 C(); 15908 }), 15909 Object.assign(t.zoom, { 15910 enable: O, 15911 disable: I, 15912 in: T, 15913 out: $, 15914 toggle: S 15915 }); 15916 }, 15917 function (e) { 15918 let { swiper: t, extendParams: s, on: a, emit: i } = e; 15919 s({ 15920 lazy: { 15921 checkInView: !1, 15922 enabled: !1, 15923 loadPrevNext: !1, 15924 loadPrevNextAmount: 1, 15925 loadOnTransitionStart: !1, 15926 scrollingElement: '', 15927 elementClass: 'swiper-lazy', 15928 loadingClass: 'swiper-lazy-loading', 15929 loadedClass: 'swiper-lazy-loaded', 15930 preloaderClass: 'swiper-lazy-preloader' 15931 } 15932 }), 15933 (t.lazy = {}); 15934 let n = !1, 15935 l = !1; 15936 function o(e, s) { 15937 void 0 === s && (s = !0); 15938 const a = t.params.lazy; 15939 if (void 0 === e) return; 15940 if (0 === t.slides.length) return; 15941 const r = 15942 t.virtual && t.params.virtual.enabled 15943 ? t.$wrapperEl.children( 15944 `.${t.params.slideClass}[data-swiper-slide-index="${e}"]` 15945 ) 15946 : t.slides.eq(e), 15947 n = r.find( 15948 `.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})` 15949 ); 15950 !r.hasClass(a.elementClass) || 15951 r.hasClass(a.loadedClass) || 15952 r.hasClass(a.loadingClass) || 15953 n.push(r[0]), 15954 0 !== n.length && 15955 n.each((e) => { 15956 const n = d(e); 15957 n.addClass(a.loadingClass); 15958 const l = n.attr('data-background'), 15959 c = n.attr('data-src'), 15960 p = n.attr('data-srcset'), 15961 u = n.attr('data-sizes'), 15962 h = n.parent('picture'); 15963 t.loadImage(n[0], c || l, p, u, !1, () => { 15964 if ( 15965 null != t && 15966 t && 15967 (!t || t.params) && 15968 !t.destroyed 15969 ) { 15970 if ( 15971 (l 15972 ? (n.css( 15973 'background-image', 15974 `url("${l}")` 15975 ), 15976 n.removeAttr('data-background')) 15977 : (p && 15978 (n.attr('srcset', p), 15979 n.removeAttr('data-srcset')), 15980 u && 15981 (n.attr('sizes', u), 15982 n.removeAttr('data-sizes')), 15983 h.length && 15984 h 15985 .children('source') 15986 .each((e) => { 15987 const t = d(e); 15988 t.attr( 15989 'data-srcset' 15990 ) && 15991 (t.attr( 15992 'srcset', 15993 t.attr( 15994 'data-srcset' 15995 ) 15996 ), 15997 t.removeAttr( 15998 'data-srcset' 15999 )); 16000 }), 16001 c && 16002 (n.attr('src', c), 16003 n.removeAttr('data-src'))), 16004 n 16005 .addClass(a.loadedClass) 16006 .removeClass(a.loadingClass), 16007 r.find(`.${a.preloaderClass}`).remove(), 16008 t.params.loop && s) 16009 ) { 16010 const e = r.attr( 16011 'data-swiper-slide-index' 16012 ); 16013 if ( 16014 r.hasClass( 16015 t.params.slideDuplicateClass 16016 ) 16017 ) { 16018 o( 16019 t.$wrapperEl 16020 .children( 16021 `[data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})` 16022 ) 16023 .index(), 16024
16024 !1 16025 ); 16026 } else { 16027 o( 16028 t.$wrapperEl 16029 .children( 16030 `.${t.params.slideDuplicateClass}[data-swiper-slide-index="${e}"]` 16031 ) 16032 .index(), 16033 !1 16034 ); 16035 } 16036 } 16037 i('lazyImageReady', r[0], n[0]), 16038 t.params.autoHeight && 16039 t.updateAutoHeight(); 16040 } 16041 }), 16042 i('lazyImageLoad', r[0], n[0]); 16043 }); 16044 } 16045 function c() { 16046 const { 16047 $wrapperEl: e, 16048 params: s, 16049 slides: a, 16050 activeIndex: i 16051 } = t, 16052 r = t.virtual && s.virtual.enabled, 16053 n = s.lazy; 16054 let c = s.slidesPerView; 16055 function p(t) { 16056 if (r) { 16057 if ( 16058 e.children( 16059 `.${s.slideClass}[data-swiper-slide-index="${t}"]` 16060 ).length 16061 ) 16062 return !0; 16063 } else if (a[t]) return !0; 16064 return !1; 16065 } 16066 function u(e) { 16067 return r 16068 ? d(e).attr('data-swiper-slide-index') 16069 : d(e).index(); 16070 } 16071 if ( 16072 ('auto' === c && (c = 0), 16073 l || (l = !0), 16074 t.params.watchSlidesProgress) 16075 ) 16076 e.children(`.${s.slideVisibleClass}`).each((e) => { 16077 o( 16078 r 16079 ? d(e).attr('data-swiper-slide-index') 16080 : d(e).index() 16081 ); 16082 }); 16083 else if (c > 1) for (let e = i; e < i + c; e += 1) p(e) && o(e); 16084 else o(i); 16085 if (n.loadPrevNext) 16086 if ( 16087 c > 1 || 16088 (n.loadPrevNextAmount && n.loadPrevNextAmount > 1) 16089 ) { 16090 const e = n.loadPrevNextAmount, 16091 t = Math.ceil(c), 16092 s = Math.min(i + t + Math.max(e, t), a.length), 16093 r = Math.max(i - Math.max(t, e), 0); 16094 for (let e = i + t; e < s; e += 1) p(e) && o(e); 16095 for (let e = r; e < i; e += 1) p(e) && o(e); 16096 } else { 16097 const t = e.children(`.${s.slideNextClass}`); 16098 t.length > 0 && o(u(t)); 16099 const a = e.children(`.${s.slidePrevClass}`); 16100 a.length > 0 && o(u(a)); 16101 } 16102 } 16103 function p() { 16104 const e = r(); 16105 if (!t || t.destroyed) return; 16106 const s = t.params.lazy.scrollingElement 16107 ? d(t.params.lazy.scrollingElement) 16108 : d(e), 16109 a = s[0] === e, 16110 i = a ? e.innerWidth : s[0].offsetWidth, 16111 l = a ? e.innerHeight : s[0].offsetHeight, 16112 o = t.$el.offset(), 16113 { rtlTranslate: u } = t; 16114 let h = !1; 16115 u && (o.left -= t.$el[0].scrollLeft); 16116 const m = [ 16117 [o.left, o.top], 16118 [o.left + t.width, o.top], 16119 [o.left, o.top + t.height], 16120 [o.left + t.width, o.top + t.height] 16121 ]; 16122 for (let e = 0; e < m.length; e += 1) { 16123 const t = m[e]; 16124 if (t[0] >= 0 && t[0] <= i && t[1] >= 0 && t[1] <= l) { 16125 if (0 === t[0] && 0 === t[1]) continue; 16126 h = !0; 16127 } 16128 } 16129 const f = !( 16130 'touchstart' !== t.touchEvents.start ||
16131 !t.support.passiveListener || 16132 !t.params.passiveListeners 16133 ) && { passive: !0, capture: !1 }; 16134 h 16135 ? (c(), s.off('scroll', p, f)) 16136 : n || ((n = !0), s.on('scroll', p, f)); 16137 } 16138 a('beforeInit', () => { 16139 t.params.lazy.enabled && 16140 t.params.preloadImages && 16141 (t.params.preloadImages = !1); 16142 }), 16143 a('init', () => { 16144 t.params.lazy.enabled && 16145 (t.params.lazy.checkInView ? p() : c()); 16146 }), 16147 a('scroll', () => { 16148 t.params.freeMode && 16149 t.params.freeMode.enabled && 16150 !t.params.freeMode.sticky && 16151 c(); 16152 }), 16153 a('scrollbarDragMove resize _freeModeNoMomentumRelease', () => { 16154 t.params.lazy.enabled && 16155 (t.params.lazy.checkInView ? p() : c()); 16156 }), 16157 a('transitionStart', () => { 16158 t.params.lazy.enabled && 16159 (t.params.lazy.loadOnTransitionStart || 16160 (!t.params.lazy.loadOnTransitionStart && !l)) && 16161 (t.params.lazy.checkInView ? p() : c()); 16162 }), 16163 a('transitionEnd', () => { 16164 t.params.lazy.enabled && 16165 !t.params.lazy.loadOnTransitionStart && 16166 (t.params.lazy.checkInView ? p() : c()); 16167 }), 16168 a('slideChange', () => { 16169 const { 16170 lazy: e, 16171 cssMode: s, 16172 watchSlidesProgress: a, 16173 touchReleaseOnEdges: i, 16174 resistanceRatio: r 16175 } = t.params; 16176 e.enabled && (s || (a && (i || 0 === r))) && c(); 16177 }), 16178 a('destroy', () => { 16179 t.$el && 16180 t.$el 16181 .find(`.${t.params.lazy.loadingClass}`) 16182 .removeClass(t.params.lazy.loadingClass); 16183 }), 16184 Object.assign(t.lazy, { load: c, loadInSlide: o }); 16185 }, 16186 function (e) { 16187 let { swiper: t, extendParams: s, on: a } = e; 16188 function i(e, t) { 16189 const s = (function () { 16190 let e, t, s; 16191 return (a, i) => { 16192 for (t = -1, e = a.length; e - t > 1; ) 16193 (s = (e + t) >> 1), a[s] <= i ? (t = s) : (e = s); 16194 return e; 16195 }; 16196 })(); 16197 let a, i; 16198 return ( 16199 (this.x = e), 16200 (this.y = t), 16201 (this.lastIndex = e.length - 1), 16202 (this.interpolate = function (e) { 16203 return e 16204 ? ((i = s(this.x, e)), 16205 (a = i - 1), 16206 ((e - this.x[a]) * (this.y[i] - this.y[a])) / 16207 (this.x[i] - this.x[a]) + 16208 this.y[a]) 16209 : 0; 16210 }), 16211 this 16212 ); 16213 } 16214 function r() { 16215 t.controller.control && 16216 t.controller.spline && 16217 ((t.controller.spline = void 0), 16218 delete t.controller.spline); 16219 } 16220 s({ controller: { control: void 0, inverse: !1, by: 'slide' } }), 16221 (t.controller = { control: void 0 }), 16222 a('beforeInit', () => { 16223 t.controller.control = t.params.controller.control; 16224 }), 16225 a('update', () => { 16226 r(); 16227 }), 16228 a('resize', () => { 16229 r(); 16230 }), 16231 a('observerUpdate', () => { 16232 r(); 16233 }), 16234 a('setTranslate', (e, s, a) => { 16235 t.controller.control && t.controller.setTranslate(s, a); 16236 }), 16237 a('setTransition', (e, s, a) => { 16238 t.controller.control && t.controller.setTransition(s, a); 16239 }), 16240 Object.assign(t.controller, { 16241 setTranslate: function (e, s) { 16242 const a = t.controller.control; 16243 let r, n; 16244 const l = t.constructor; 16245 function o(e) { 16246 const s = t.rtlTranslate 16247 ? -t.translate 16248 : t.translate; 16249 'slide' === t.params.controller.by && 16250 (!(function (e) { 16251 t.controller.spline || 16252 (t.controller.spline = t.params.loop 16253 ? new i(t.slidesGrid, e.slidesGrid) 16254 : new i(t.snapGrid, e.snapGrid)); 16255 })(e), 16256 (n = -t.controller.spline.interpolate(-s))), 16257 (n && 'container' !== t.params.controller.by) || 16258 ((r = 16259 (e.maxTranslate() - e.minTranslate()) / 16260 (t.maxTranslate() - t.minTranslate())), 16261 (n = 16262 (s - t.minTranslate()) * r + 16263 e.minTranslate())), 16264 t.params.controller.inverse && 16265 (n = e.maxTranslate() - n), 16266 e.updateProgress(n), 16267 e.setTranslate(n, t), 16268 e.updateActiveIndex(), 16269 e.updateSlidesClasses(); 16270 } 16271 if (Array.isArray(a)) 16272 for (let e = 0; e < a.length; e += 1) 16273 a[e] !== s && a[e] instanceof l && o(a[e]); 16274 else a instanceof l && s !== a && o(a); 16275 }, 16276 setTransition: function (e, s) { 16277 const a = t.constructor, 16278 i = t.controller.control; 16279 let r; 16280 function n(s) { 16281 s.setTransition(e, t), 16282 0 !== e && 16283 (s.transitionStart(), 16284 s.params.autoHeight && 16285 p(() => { 16286 s.updateAutoHeight(); 16287 }), 16288 s.$wrapperEl.transitionEnd(() => { 16289 i && 16290 (s.params.loop && 16291 'slide' === 16292 t.params.controller.by && 16293 s.loopFix(), 16294 s.transitionEnd()); 16295 })); 16296 } 16297 if (Array.isArray(i)) 16298 for (r = 0; r < i.length; r += 1) 16299 i[r] !== s && i[r] instanceof a && n(i[r]); 16300 else i instanceof a && s !== i && n(i); 16301 } 16302 }); 16303 }, 16304 function (e) { 16305 let { swiper: t, extendParams: s, on: a } = e; 16306 s({ 16307 a11y: { 16308 enabled: !0, 16309 notificationClass: 'swiper-notification', 16310 prevSlideMessage: 'Previous slide', 16311 nextSlideMessage: 'Next slide', 16312 firstSlideMessage: 'This is the first slide', 16313 lastSlideMessage: 'This is the last slide', 16314 paginationBulletMessage: 'Go to slide {{index}}', 16315 slideLabelMessage: '{{index}} / {{slidesLength}}', 16316 containerMessage: null, 16317 containerRoleDescriptionMessage: null, 16318 itemRoleDescriptionMessage: null, 16319 slideRole: 'group', 16320 id: null 16321 } 16322 }); 16323 let i = null; 16324 function r(e) { 16325 const t = i; 16326 0 !== t.length && (t.html(''), t.html(e)); 16327 } 16328 function n(e) { 16329 e.attr('tabIndex', '0'); 16330 } 16331 function l(e) { 16332 e.attr('tabIndex', '-1'); 16333 } 16334 function o(e, t) { 16335 e.attr('role', t); 16336 } 16337 function c(e, t) { 16338 e.attr('aria-roledescription', t); 16339 } 16340 function p(e, t) { 16341 e.attr('aria-label', t); 16342 } 16343 function u(e) { 16344 e.attr('aria-disabled', !0); 16345 } 16346 function h(e) { 16347 e.attr('aria-disabled', !1); 16348 } 16349 function m(e) { 16350 if (13 !== e.keyCode && 32 !== e.keyCode) return; 16351 const s = t.params.a11y, 16352 a = d(e.target); 16353 t.navigation && 16354 t.navigation.$nextEl && 16355 a.is(t.navigation.$nextEl) && 16356 ((t.isEnd && !t.params.loop) || t.slideNext(), 16357 t.isEnd ? r(s.lastSlideMessage) : r(s.nextSlideMessage)), 16358 t.navigation && 16359 t.navigation.$prevEl && 16360 a.is(t.navigation.$prevEl) && 16361 ((t.isBeginning && !t.params.loop) || t.slidePrev(), 16362 t.isBeginning 16363 ? r(s.firstSlideMessage) 16364 : r(s.prevSlideMessage)), 16365 t.pagination && 16366 a.is(U(t.params.pagination.bulletClass)) && 16367 a[0].click(); 16368 } 16369 function f() { 16370 return ( 16371 t.pagination && 16372 t.pagination.bullets && 16373 t.pagination.bullets.length 16374 ); 16375 } 16376 function g() { 16377 return f() && t.params.pagination.clickable; 16378 } 16379 const v = (e, t, s) => { 16380 n(e), 16381 'BUTTON' !== e[0].tagName && 16382 (o(e, 'button'), e.on('keydown', m)), 16383 p(e, s), 16384 (function (e, t) { 16385 e.attr('aria-controls', t); 16386 })(e, t); 16387 }, 16388 w = (e) => { 16389 const s = e.target.closest(`.${t.params.slideClass}`); 16390 if (!s || !t.slides.includes(s)) return; 16391 const a = t.slides.indexOf(s) === t.activeIndex, 16392 i = 16393 t.params.watchSlidesProgress && 16394 t.visibleSlides && 16395 t.visibleSlides.includes(s); 16396 a || i || t.slideTo(t.slides.indexOf(s), 0); 16397 }, 16398 b = () => { 16399 const e = t.params.a11y; 16400 e.itemRoleDescriptionMessage && 16401 c(d(t.slides), e.itemRoleDescriptionMessage),
16402 o(d(t.slides), e.slideRole); 16403 const s = t.params.loop 16404 ? t.slides.filter( 16405 (e) => 16406 !e.classList.contains( 16407 t.params.slideDuplicateClass 16408 ) 16409 ).length 16410 : t.slides.length; 16411 e.slideLabelMessage && 16412 t.slides.each((a, i) => { 16413 const r = d(a), 16414 n = t.params.loop 16415 ? parseInt( 16416 r.attr('data-swiper-slide-index'), 16417 10 16418 ) 16419 : i; 16420 p( 16421 r, 16422 e.slideLabelMessage 16423 .replace(/\{\{index\}\}/, n + 1) 16424 .replace(/\{\{slidesLength\}\}/, s) 16425 ); 16426 }); 16427 }, 16428 x = () => { 16429 const e = t.params.a11y; 16430 t.$el.append(i); 16431 const s = t.$el; 16432 e.containerRoleDescriptionMessage && 16433 c(s, e.containerRoleDescriptionMessage), 16434 e.containerMessage && p(s, e.containerMessage); 16435 const a = t.$wrapperEl, 16436 r = 16437 e.id || 16438 a.attr('id') || 16439 `swiper-wrapper-${ 16440 ((n = 16), 16441 void 0 === n && (n = 16), 16442 'x' 16443 .repeat(n) 16444 .replace(/x/g, () => 16445 Math.round(16 * Math.random()).toString( 16446 16 16447 ) 16448 )) 16449 }`; 16450 var n; 16451 const l = 16452 t.params.autoplay && t.params.autoplay.enabled 16453 ? 'off' 16454 : 'polite'; 16455 var o; 16456 let d, u; 16457 (o = r), 16458 a.attr('id', o), 16459 (function (e, t) { 16460 e.attr('aria-live', t); 16461 })(a, l), 16462 b(), 16463 t.navigation && 16464 t.navigation.$nextEl && 16465 (d = t.navigation.$nextEl), 16466 t.navigation && 16467 t.navigation.$prevEl && 16468 (u = t.navigation.$prevEl), 16469 d && d.length && v(d, r, e.nextSlideMessage), 16470 u && u.length && v(u, r, e.prevSlideMessage), 16471 g() && 16472 t.pagination.$el.on( 16473 'keydown', 16474 U(t.params.pagination.bulletClass), 16475 m 16476 ), 16477 t.$el.on('focus', w, !0); 16478 }; 16479 a('beforeInit', () => { 16480 i = d( 16481 `<span class="${t.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>` 16482 ); 16483 }), 16484 a('afterInit', () => { 16485 t.params.a11y.enabled && x(); 16486 }), 16487 a( 16488 'slidesLengthChange snapGridLengthChange slidesGridLengthChange', 16489 () => { 16490 t.params.a11y.enabled && b(); 16491 } 16492 ), 16493 a('fromEdge toEdge afterInit lock unlock', () => { 16494 t.params.a11y.enabled && 16495 (function () { 16496 if ( 16497 t.params.loop || 16498 t.params.rewind || 16499 !t.navigation 16500 ) 16501 return; 16502 const { $nextEl: e, $prevEl: s } = t.navigation; 16503 s && 16504 s.length > 0 && 16505 (t.isBeginning ? (u(s), l(s)) : (h(s), n(s))), 16506 e && 16507 e.length > 0 && 16508 (t.isEnd ? (u(e), l(e)) : (h(e), n(e))); 16509 })(); 16510 }), 16511 a('paginationUpdate', () => { 16512 t.params.a11y.enabled && 16513 (function () { 16514 const e = t.params.a11y; 16515 f() && 16516 t.pagination.bullets.each((s) => { 16517 const a = d(s); 16518 t.params.pagination.clickable && 16519 (n(a), 16520 t.params.pagination.renderBullet || 16521 (o(a, 'button'), 16522 p( 16523 a, 16524 e.paginationBulletMessage.replace( 16525 /\{\{index\}\}/, 16526 a.index() + 1 16527 ) 16528 ))), 16529 a.is( 16530 `.${t.params.pagination.bulletActiveClass}` 16531 ) 16532 ? a.attr('aria-current', 'true') 16533 : a.removeAttr('aria-current'); 16534 }); 16535 })(); 16536 }), 16537 a('destroy', () => { 16538 t.params.a11y.enabled && 16539 (function () { 16540 let e, s; 16541 i && i.length > 0 && i.remove(), 16542 t.navigation && 16543 t.navigation.$nextEl && 16544 (e = t.navigation.$nextEl), 16545 t.navigation && 16546 t.navigation.$prevEl && 16547 (s = t.navigation.$prevEl), 16548 e && e.off('keydown', m), 16549 s && s.off('keydown', m), 16550 g() && 16551 t.pagination.$el.off( 16552 'keydown', 16553 U(t.params.pagination.bulletClass), 16554 m 16555 ), 16556 t.$el.off('focus', w, !0); 16557 })(); 16558 }); 16559 }, 16560 function (e) { 16561 let { swiper: t, extendParams: s, on: a } = e; 16562 s({ 16563 history: { 16564 enabled: !1, 16565 root: '', 16566 replaceState: !1, 16567 key: 'slides', 16568 keepQuery: !1 16569 } 16570 }); 16571 let i = !1, 16572 n = {}; 16573 const l = (e) => 16574 e 16575 .toString() 16576 .replace(/\s+/g, '-') 16577 .replace(/[^\w-]+/g, '') 16578 .replace(/--+/g, '-') 16579 .replace(/^-+/, '') 16580 .replace(/-+$/, ''), 16581 o = (e) => { 16582 const t = r(); 16583 let s; 16584 s = e ? new URL(e) : t.location; 16585 const a = s.pathname 16586 .slice(1) 16587 .split('/') 16588 .filter((e) => '' !== e), 16589 i = a.length; 16590 return { key: a[i - 2], value: a[i - 1] }; 16591 }, 16592 d = (e, s) => { 16593 const a = r(); 16594 if (!i || !t.params.history.enabled) return; 16595 let n; 16596 n = t.params.url ? new URL(t.params.url) : a.location; 16597 const o = t.slides.eq(s); 16598 let d = l(o.attr('data-history')); 16599 if (t.params.history.root.length > 0) { 16600 let s = t.params.history.root; 16601 '/' === s[s.length - 1] && 16602 (s = s.slice(0, s.length - 1)), 16603 (d = `${s}/${e}/${d}`); 16604 } else n.pathname.includes(e) || (d = `${e}/${d}
16604`); 16605 t.params.history.keepQuery && (d += n.search); 16606 const c = a.history.state; 16607 (c && c.value === d) || 16608 (t.params.history.replaceState 16609 ? a.history.replaceState({ value: d }, null, d) 16610 : a.history.pushState({ value: d }, null, d)); 16611 }, 16612 c = (e, s, a) => { 16613 if (s) 16614 for (let i = 0, r = t.slides.length; i < r; i += 1) { 16615 const r = t.slides.eq(i); 16616 if ( 16617 l(r.attr('data-history')) === s && 16618 !r.hasClass(t.params.slideDuplicateClass) 16619 ) { 16620 const s = r.index(); 16621 t.slideTo(s, e, a); 16622 } 16623 } 16624 else t.slideTo(0, e, a); 16625 }, 16626 p = () => { 16627 (n = o(t.params.url)), c(t.params.speed, n.value, !1); 16628 }; 16629 a('init', () => { 16630 t.params.history.enabled && 16631 (() => { 16632 const e = r(); 16633 if (t.params.history) { 16634 if (!e.history || !e.history.pushState) 16635 return ( 16636 (t.params.history.enabled = !1), 16637 void (t.params.hashNavigation.enabled = !0) 16638 ); 16639 (i = !0), 16640 (n = o(t.params.url)), 16641 (n.key || n.value) && 16642 (c(0, n.value, t.params.runCallbacksOnInit), 16643 t.params.history.replaceState || 16644 e.addEventListener('popstate', p)); 16645 } 16646 })(); 16647 }), 16648 a('destroy', () => { 16649 t.params.history.enabled && 16650 (() => { 16651 const e = r(); 16652 t.params.history.replaceState || 16653 e.removeEventListener('popstate', p); 16654 })(); 16655 }), 16656 a('transitionEnd _freeModeNoMomentumRelease', () => { 16657 i && d(t.params.history.key, t.activeIndex); 16658 }), 16659 a('slideChange', () => { 16660 i && 16661 t.params.cssMode && 16662 d(t.params.history.key, t.activeIndex); 16663 }); 16664 }, 16665 function (e) { 16666 let { swiper: t, extendParams: s, emit: i, on: n } = e, 16667 l = !1; 16668 const o = a(), 16669 c = r(); 16670 s({ 16671 hashNavigation: { 16672 enabled: !1, 16673 replaceState: !1, 16674 watchState: !1 16675 } 16676 }); 16677 const p = () => { 16678 i('hashChange'); 16679 const e = o.location.hash.replace('#', ''); 16680 if (e !== t.slides.eq(t.activeIndex).attr('data-hash')) { 16681 const s = t.$wrapperEl 16682 .children( 16683 `.${t.params.slideClass}[data-hash="${e}"]` 16684 ) 16685 .index(); 16686 if (void 0 === s) return; 16687 t.slideTo(s); 16688 } 16689 }, 16690 u = () => { 16691 if (l && t.params.hashNavigation.enabled) 16692 if ( 16693 t.params.hashNavigation.replaceState && 16694 c.history && 16695 c.history.replaceState 16696 ) 16697 c.history.replaceState( 16698 null, 16699 null, 16700 `#${t.slides 16701 .eq(t.activeIndex) 16702 .attr('data-hash')}` || '' 16703 ), 16704 i('hashSet'); 16705 else { 16706 const e = t.slides.eq(t.activeIndex), 16707 s = 16708 e.attr('data-hash') || 16709 e.attr('data-history'); 16710 (o.location.hash = s || ''), i('hashSet'); 16711 } 16712 }; 16713 n('init', () => { 16714 t.params.hashNavigation.enabled && 16715 (() => { 16716 if ( 16717 !t.params.hashNavigation.enabled || 16718 (t.params.history && t.params.history.enabled) 16719 ) 16720 return; 16721 l = !0; 16722 const e = o.location.hash.replace('#', ''); 16723 if (e) { 16724 const s = 0; 16725 for ( 16726 let a = 0, i = t.slides.length; 16727 a < i; 16728 a += 1 16729 ) { 16730 const i = t.slides.eq(a); 16731 if ( 16732 (i.attr('data-hash') || 16733 i.attr('data-history')) === e && 16734 !i.hasClass(t.params.slideDuplicateClass) 16735 ) { 16736 const e = i.index(); 16737 t.slideTo( 16738 e, 16739 s, 16740 t.params.runCallbacksOnInit, 16741 !0 16742 ); 16743 } 16744 } 16745 } 16746 t.params.hashNavigation.watchState && 16747 d(c).on('hashchange', p); 16748 })(); 16749 }), 16750 n('destroy', () => { 16751 t.params.hashNavigation.enabled && 16752 t.params.hashNavigation.watchState && 16753 d(c).off('hashchange', p); 16754 }), 16755 n('transitionEnd _freeModeNoMomentumRelease', () => { 16756 l && u(); 16757 }), 16758 n('slideChange', () => { 16759 l && t.params.cssMode && u(); 16760 }); 16761 }, 16762 function (e) { 16763 let t, 16764 { swiper: s, extendParams: i, on: r, emit: n } = e; 16765 function l() { 16766 const e = s.slides.eq(s.activeIndex); 16767 let a = s.params.autoplay.delay; 16768 e.attr('data-swiper-autoplay') && 16769 (a = 16770 e.attr('data-swiper-autoplay') || 16771 s.params.autoplay.delay), 16772 clearTimeout(t), 16773 (t = p(() => { 16774 let e; 16775 s.params.autoplay.reverseDirection 16776 ? s.params.loop 16777 ? (s.loopFix(), 16778 (e = s.slidePrev(s.params.speed, !0, !0)), 16779 n('autoplay')) 16780 : s.isBeginning 16781 ? s.params.autoplay.stopOnLastSlide 16782 ? d() 16783 : ((e = s.slideTo( 16784 s.slides.length - 1, 16785 s.params.speed, 16786 !0, 16787 !0 16788 )), 16789 n('autoplay')) 16790 : ((e = s.slidePrev(s.params.speed, !0, !0)), 16791 n('autoplay')) 16792 : s.params.loop 16793 ? (s.loopFix(), 16794 (e = s.slideNext(s.params.speed, !0, !0)), 16795 n('autoplay')) 16796 : s.isEnd 16797 ? s.params.autoplay.stopOnLastSlide 16798 ? d() 16799 : ((e = s.slideTo(0, s.params.speed, !0, !0)), 16800 n('autoplay')) 16801 : ((e = s.slideNext(s.params.speed, !0, !0)), 16802 n('autoplay')), 16803 ((s.params.cssMode && s.autoplay.running) || 16804 !1 === e) && 16805 l(); 16806 }, a)); 16807 } 16808 function o() { 16809 return ( 16810 void 0 === t && 16811 !s.autoplay.running && 16812 ((s.autoplay.running = !0), n('autoplayStart'), l(), !0) 16813 ); 16814 } 16815 function d() { 16816 return ( 16817 !!s.autoplay.running && 16818 void 0 !== t && 16819 (t && (clearTimeout(t), (t = void 0)), 16820 (s.autoplay.running = !1), 16821 n('autoplayStop'), 16822 !0) 16823 ); 16824 } 16825 function c(e) { 16826 s.autoplay.running && 16827 (s.autoplay.paused || 16828 (t && clearTimeout(t), 16829 (s.autoplay.paused = !0), 16830 0 !== e && s.params.autoplay.waitForTransition 16831 ? ['transitionend', 'webkitTransitionEnd'].forEach( 16832 (e) => { 16833 s.$wrapperEl[0].addEventListener(e, h); 16834 } 16835 ) 16836 : ((s.autoplay.paused = !1), l()))); 16837 } 16838 function u() { 16839 const e = a(); 16840 'hidden' === e.visibilityState && s.autoplay.running && c(), 16841 'visible' === e.visibilityState && 16842 s.autoplay.paused && 16843 (l(), (s.autoplay.paused = !1)); 16844 } 16845 function h(e) { 16846 s && 16847 !s.destroyed && 16848 s.$wrapperEl && 16849 e.target === s.$wrapperEl[0] && 16850 (['transitionend', 'webkitTransitionEnd'].forEach((e) => { 16851 s.$wrapperEl[0].removeEventListener(e, h); 16852 }), 16853 (s.autoplay.paused = !1), 16854 s.autoplay.running ? l() : d()); 16855 } 16856 function m() { 16857 s.params.autoplay.disableOnInteraction 16858 ? d() 16859 : (n('autoplayPause'), c()), 16860 ['transitionend', 'webkitTransitionEnd'].forEach((e) => { 16861 s.$wrapperEl[0].removeEventListener(e, h); 16862 }); 16863 } 16864 function f() { 16865 s.params.autoplay.disableOnInteraction || 16866 ((s.autoplay.paused = !1), n('autoplayResume'), l()); 16867 } 16868 (s.autoplay = { running: !1, paused: !1 }), 16869 i({ 16870 autoplay: { 16871 enabled: !1, 16872 delay: 3e3, 16873 waitForTransition: !0, 16874 disableOnInteraction: !0, 16875 stopOnLastSlide: !1, 16876 reverseDirection: !1, 16877 pauseOnMouseEnter: !1 16878 } 16879 }), 16880 r('init', () => { 16881 if (s.params.autoplay.enabled) { 16882 o(); 16883 a().addEventListener('visibilitychange', u), 16884 s.params.autoplay.pauseOnMouseEnter && 16885 (s.$el.on('mouseenter', m), 16886 s.$el.on('mouseleave', f)); 16887 } 16888 }), 16889 r('beforeTransitionStart', (e, t, a) => { 16890 s.autoplay.running && 16891 (a || !s.params.autoplay.disableOnInteraction 16892 ? s.autoplay.pause(t) 16893 : d()); 16894 }), 16895 r('sliderFirstMove', () => { 16896 s.autoplay.running && 16897 (s.params.autoplay.disableOnInteraction ? d() : c()); 16898 }), 16899 r('touchEnd', () => { 16900 s.params.cssMode && 16901 s.autoplay.paused && 16902 !s.params.autoplay.disableOnInteraction && 16903 l(); 16904 }), 16905 r('destroy', () => { 16906 s.$el.off('mouseenter', m), 16907 s.$el.off('mouseleave', f), 16908 s.autoplay.running && d(); 16909 a().removeEventListener('visibilitychange', u); 16910 }), 16911 Object.assign(s.autoplay, { 16912 pause: c, 16913 run: l, 16914 start: o, 16915 stop: d 16916 }); 16917 }, 16918 function (e) { 16919 let { swiper: t, extendParams: s, on: a } = e; 16920 s({ 16921 thumbs: { 16922 swiper: null, 16923 multipleActiveThumbs: !0, 16924 autoScrollOffset: 0, 16925 slideThumbActiveClass: 'swiper-slide-thumb-active', 16926 thumbsContainerClass: 'swiper-thumbs' 16927 } 16928 }); 16929 let i = !1, 16930 r = !1; 16931 function n() { 16932 const e = t.thumbs.swiper; 16933 if (!e || e.destroyed) return; 16934 const s = e.clickedIndex, 16935 a = e.clickedSlide;
16936 if (a && d(a).hasClass(t.params.thumbs.slideThumbActiveClass)) 16937 return; 16938 if (null == s) return; 16939 let i; 16940 if ( 16941 ((i = e.params.loop 16942 ? parseInt( 16943 d(e.clickedSlide).attr('data-swiper-slide-index'), 16944 10 16945 ) 16946 : s), 16947 t.params.loop) 16948 ) { 16949 let e = t.activeIndex; 16950 t.slides.eq(e).hasClass(t.params.slideDuplicateClass) && 16951 (t.loopFix(), 16952 (t._clientLeft = t.$wrapperEl[0].clientLeft), 16953 (e = t.activeIndex)); 16954 const s = t.slides 16955 .eq(e) 16956 .prevAll(`[data-swiper-slide-index="${i}"]`) 16957 .eq(0) 16958 .index(), 16959 a = t.slides 16960 .eq(e) 16961 .nextAll(`[data-swiper-slide-index="${i}"]`) 16962 .eq(0) 16963 .index(); 16964 i = 16965 void 0 === s 16966 ? a 16967 : void 0 === a 16968 ? s 16969 : a - e < e - s 16970 ? a 16971 : s; 16972 } 16973 t.slideTo(i); 16974 } 16975 function l() { 16976 const { thumbs: e } = t.params; 16977 if (i) return !1; 16978 i = !0; 16979 const s = t.constructor; 16980 if (e.swiper instanceof s) 16981 (t.thumbs.swiper = e.swiper), 16982 Object.assign(t.thumbs.swiper.originalParams, { 16983 watchSlidesProgress: !0, 16984 slideToClickedSlide: !1 16985 }), 16986 Object.assign(t.thumbs.swiper.params, { 16987 watchSlidesProgress: !0, 16988 slideToClickedSlide: !1 16989 }); 16990 else if (m(e.swiper)) { 16991 const a = Object.assign({}, e.swiper); 16992 Object.assign(a, { 16993 watchSlidesProgress: !0, 16994 slideToClickedSlide: !1 16995 }), 16996 (t.thumbs.swiper = new s(a)), 16997 (r = !0); 16998 } 16999 return ( 17000 t.thumbs.swiper.$el.addClass( 17001 t.params.thumbs.thumbsContainerClass 17002 ), 17003 t.thumbs.swiper.on('tap', n), 17004 !0 17005 ); 17006 } 17007 function o(e) { 17008 const s = t.thumbs.swiper; 17009 if (!s || s.destroyed) return; 17010 const a = 17011 'auto' === s.params.slidesPerView 17012 ? s.slidesPerViewDynamic() 17013 : s.params.slidesPerView; 17014 let i = 1; 17015 const r = t.params.thumbs.slideThumbActiveClass; 17016 if ( 17017 (t.params.slidesPerView > 1 && 17018 !t.params.centeredSlides && 17019 (i = t.params.slidesPerView), 17020 t.params.thumbs.multipleActiveThumbs || (i = 1), 17021 (i = Math.floor(i)), 17022 s.slides.removeClass(r), 17023 s.params.loop || 17024 (s.params.virtual && s.params.virtual.enabled)) 17025 ) 17026 for (let e = 0; e < i; e += 1) 17027 s.$wrapperEl 17028 .children( 17029 `[data-swiper-slide-index="${t.realIndex + e}"]` 17030 ) 17031 .addClass(r); 17032 else 17033 for (let e = 0; e < i; e += 1) 17034 s.slides.eq(t.realIndex + e).addClass(r); 17035 const n = t.params.thumbs.autoScrollOffset, 17036 l = n && !s.params.loop; 17037 if (t.realIndex !== s.realIndex || l) { 17038 let i, 17039 r, 17040 o = s.activeIndex; 17041 if (s.params.loop) { 17042 s.slides.eq(o).hasClass(s.params.slideDuplicateClass) && 17043 (s.loopFix(), 17044 (s._clientLeft = s.$wrapperEl[0].clientLeft), 17045 (o = s.activeIndex)); 17046 const e = s.slides 17047 .eq(o) 17048 .prevAll( 17049 `[data-swiper-slide-index="${t.realIndex}"]` 17050 ) 17051 .eq(0) 17052 .index(), 17053 a = s.slides 17054 .eq(o) 17055 .nextAll( 17056 `[data-swiper-slide-index="${t.realIndex}"]` 17057 ) 17058 .eq(0) 17059 .index(); 17060 (i = 17061 void 0 === e 17062 ? a 17063 : void 0 === a 17064 ? e 17065 : a - o == o - e 17066 ? s.params.slidesPerGroup > 1 17067 ? a 17068 : o 17069 : a - o < o - e 17070 ? a 17071 : e), 17072 (r = 17073 t.activeIndex > t.previousIndex 17074 ? 'next' 17075 : 'prev'); 17076 } else 17077 (i = t.realIndex), 17078 (r = i > t.previousIndex ? 'next' : 'prev'); 17079 l && (i += 'next' === r ? n : -1 * n), 17080 s.visibleSlidesIndexes && 17081 s.visibleSlidesIndexes.indexOf(i) < 0 && 17082 (s.params.centeredSlides 17083 ? (i = 17084 i > o 17085 ? i - Math.floor(a / 2) + 1 17086 : i + Math.floor(a / 2) - 1) 17087 : i > o && s.params.slidesPerGroup, 17088 s.slideTo(i, e ? 0 : void 0)); 17089 } 17090 } 17091 (t.thumbs = { swiper: null }), 17092 a('beforeInit', () => { 17093 const { thumbs: e } = t.params; 17094 e && e.swiper && (l(), o(!0)); 17095 }), 17096 a('slideChange update resize observerUpdate', () => { 17097 o(); 17098 }), 17099 a('setTransition', (e, s) => { 17100 const a = t.thumbs.swiper; 17101 a && !a.destroyed && a.setTransition(s); 17102 }), 17103 a('beforeDestroy', () => { 17104 const e = t.thumbs.swiper; 17105 e && !e.destroyed && r && e.destroy(); 17106 }), 17107 Object.assign(t.thumbs, { init: l, update: o }); 17108 }, 17109 function (e) { 17110 let { swiper: t, extendParams: s, emit: a, once: i } = e; 17111 s({ 17112 freeMode: { 17113 enabled: !1, 17114 momentum: !0, 17115 momentumRatio: 1, 17116 momentumBounce: !0, 17117 momentumBounceRatio: 1, 17118 momentumVelocityRatio: 1, 17119 sticky: !1, 17120 minimumVelocity: 0.02 17121 } 17122 }), 17123 Object.assign(t, { 17124 freeMode: { 17125 onTouchStart: function () { 17126 const e = t.getTranslate(); 17127 t.setTranslate(e), 17128 t.setTransition(0), 17129 (t.touchEventsData.velocities.length = 0), 17130 t.freeMode.onTouchEnd({ 17131 currentPos: t.rtl 17132 ? t.translate 17133 : -t.translate 17134 }); 17135 }, 17136 onTouchMove: function () { 17137 const { touchEventsData: e, touches: s } = t; 17138 0 === e.velocities.length && 17139 e.velocities.push({ 17140 position: 17141 s[ 17142 t.isHorizontal() 17143 ? 'startX' 17144 : 'startY' 17145 ], 17146 time: e.touchStartTime 17147 }), 17148 e.velocities.push({ 17149 position: 17150 s[ 17151 t.isHorizontal() 17152 ? 'currentX' 17153 : 'currentY' 17154 ], 17155 time: u() 17156 }); 17157 }, 17158 onTouchEnd: function (e) { 17159 let { currentPos: s } = e; 17160 const { 17161 params: r, 17162 $wrapperEl: n, 17163 rtlTranslate: l, 17164 snapGrid: o, 17165 touchEventsData: d 17166 } = t, 17167 c = u() - d.touchStartTime; 17168 if (s < -t.minTranslate()) t.slideTo(t.activeIndex); 17169 else if (s > -t.maxTranslate()) 17170 t.slides.length < o.length 17171 ? t.slideTo(o.length - 1) 17172 : t.slideTo(t.slides.length - 1); 17173 else { 17174 if (r.freeMode.momentum) { 17175 if (d.velocities.length > 1) { 17176 const e = d.velocities.pop(), 17177 s = d.velocities.pop(), 17178 a = e.position - s.position, 17179 i = e.time - s.time; 17180 (t.velocity = a / i), 17181 (t.velocity /= 2), 17182 Math.abs(t.velocity) < 17183 r.freeMode.minimumVelocity && 17184 (t.velocity = 0), 17185 (i > 150 || u() - e.time > 300) && 17186 (t.velocity = 0); 17187 } else t.velocity = 0; 17188 (t.velocity *= 17189 r.freeMode.momentumVelocityRatio), 17190 (d.velocities.length = 0); 17191 let e = 1e3 * r.freeMode.momentumRatio; 17192 const s = t.velocity * e; 17193 let c = t.translate + s; 17194 l && (c = -c); 17195 let p, 17196 h = !1; 17197 const m = 17198 20 * 17199 Math.abs(t.velocity) * 17200 r.freeMode.momentumBounceRatio; 17201 let f; 17202 if (c < t.maxTranslate()) 17203 r.freeMode.momentumBounce 17204 ? (c + t.maxTranslate() < -m && 17205 (c = t.maxTranslate() - m), 17206 (p = t.maxTranslate()), 17207 (h = !0), 17208 (d.allowMomentumBounce = !0)) 17209 : (c = t.maxTranslate()), 17210 r.loop && 17211 r.centeredSlides && 17212 (f = !0); 17213 else if (c > t.minTranslate()) 17214 r.freeMode.momentumBounce 17215 ? (c - t.minTranslate() > m && 17216 (c = t.minTranslate() + m), 17217 (p = t.minTranslate()), 17218 (h = !0), 17219 (d.allowMomentumBounce = !0)) 17220 : (c = t.minTranslate()), 17221 r.loop && 17222 r.centeredSlides && 17223 (f = !0); 17224 else if (r.freeMode.sticky) { 17225 let e; 17226 for (let t = 0; t < o.length; t += 1) 17227 if (o[t] > -c) { 17228 e = t; 17229 break; 17230 } 17231 (c = 17232 Math.abs(o[e] - c) < 17233 Math.abs(o[e - 1] - c) || 17234 'next' === t.swipeDirection 17235 ? o[e] 17236 : o[e - 1]), 17237 (c = -c); 17238 } 17239 if ( 17240 (f && 17241 i('transitionEnd', () => { 17242 t.loopFix(); 17243 }), 17244 0 !== t.velocity) 17245 ) { 17246 if ( 17247 ((e = l 17248 ? Math.abs( 17249 (-c - t.translate) / 17250 t.velocity 17251 ) 17252 : Math.abs( 17253 (c - t.translate) / 17254 t.velocity 17255 )), 17256 r.freeMode.sticky) 17257 ) { 17258 const s = Math.abs( 17259 (l ? -c : c) - t.translate 17260 ), 17261 a = 17262 t.slidesSizesGrid[ 17263 t.activeIndex 17264 ]; 17265 e = 17266 s < a 17267 ? r.speed 17268
17268 : s < 2 * a 17269 ? 1.5 * r.speed 17270 : 2.5 * r.speed; 17271 } 17272 } else if (r.freeMode.sticky) 17273 return void t.slideToClosest(); 17274 r.freeMode.momentumBounce && h 17275 ? (t.updateProgress(p), 17276 t.setTransition(e), 17277 t.setTranslate(c), 17278 t.transitionStart( 17279 !0, 17280 t.swipeDirection 17281 ), 17282 (t.animating = !0), 17283 n.transitionEnd(() => { 17284 t && 17285 !t.destroyed && 17286 d.allowMomentumBounce && 17287 (a('momentumBounce'), 17288 t.setTransition(r.speed), 17289 setTimeout(() => { 17290 t.setTranslate(p), 17291 n.transitionEnd( 17292 () => { 17293 t && 17294 !t.destroyed && 17295 t.transitionEnd(); 17296 } 17297 ); 17298 }, 0)); 17299 })) 17300 : t.velocity 17301 ? (a('_freeModeNoMomentumRelease'), 17302 t.updateProgress(c), 17303 t.setTransition(e), 17304 t.setTranslate(c), 17305 t.transitionStart( 17306 !0, 17307 t.swipeDirection 17308 ), 17309 t.animating || 17310 ((t.animating = !0), 17311 n.transitionEnd(() => { 17312 t && 17313 !t.destroyed && 17314 t.transitionEnd(); 17315 }))) 17316 : t.updateProgress(c), 17317 t.updateActiveIndex(), 17318 t.updateSlidesClasses(); 17319 } else { 17320 if (r.freeMode.sticky) 17321 return void t.slideToClosest(); 17322 r.freeMode && 17323 a('_freeModeNoMomentumRelease'); 17324 } 17325 (!r.freeMode.momentum || c >= r.longSwipesMs) && 17326 (t.updateProgress(), 17327 t.updateActiveIndex(), 17328 t.updateSlidesClasses()); 17329 } 17330 } 17331 } 17332 }); 17333 }, 17334 function (e) { 17335 let t, 17336 s, 17337 a, 17338 { swiper: i, extendParams: r } = e; 17339 r({ grid: { rows: 1, fill: 'column' } }), 17340 (i.grid = { 17341 initSlides: (e) => { 17342 const { slidesPerView: r } = i.params, 17343 { rows: n, fill: l } = i.params.grid; 17344 (s = t / n), 17345 (a = Math.floor(e / n)), 17346 (t = 17347 Math.floor(e / n) === e / n 17348 ? e
17349 : Math.ceil(e / n) * n), 17350 'auto' !== r && 17351 'row' === l && 17352 (t = Math.max(t, r * n)); 17353 }, 17354 updateSlide: (e, r, n, l) => { 17355 const { slidesPerGroup: o, spaceBetween: d } = i.params, 17356 { rows: c, fill: p } = i.params.grid; 17357 let u, h, m; 17358 if ('row' === p && o > 1) { 17359 const s = Math.floor(e / (o * c)), 17360 a = e - c * o * s, 17361 i = 17362 0 === s 17363 ? o 17364 : Math.min( 17365 Math.ceil((n - s * c * o) / c), 17366 o 17367 ); 17368 (m = Math.floor(a / i)), 17369 (h = a - m * i + s * o), 17370 (u = h + (m * t) / c), 17371 r.css({ '-webkit-order': u, order: u }); 17372 } else 17373 'column' === p 17374 ? ((h = Math.floor(e / c)), 17375 (m = e - h * c), 17376 (h > a || (h === a && m === c - 1)) && 17377 ((m += 1), m >= c && ((m = 0), (h += 1)))) 17378 : ((m = Math.floor(e / s)), (h = e - m * s)); 17379 r.css(l('margin-top'), 0 !== m ? d && `${d}px` : ''); 17380 }, 17381 updateWrapperSize: (e, s, a) => { 17382 const { 17383 spaceBetween: r, 17384 centeredSlides: n, 17385 roundLengths: l 17386 } = i.params, 17387 { rows: o } = i.params.grid; 17388 if ( 17389 ((i.virtualSize = (e + r) * t), 17390 (i.virtualSize = Math.ceil(i.virtualSize / o) - r), 17391 i.$wrapperEl.css({ 17392 [a('width')]: `${i.virtualSize + r}px` 17393 }), 17394 n) 17395 ) { 17396 s.splice(0, s.length); 17397 const e = []; 17398 for (let t = 0; t < s.length; t += 1) { 17399 let a = s[t]; 17400 l && (a = Math.floor(a)), 17401 s[t] < i.virtualSize + s[0] && e.push(a); 17402 } 17403 s.push(...e); 17404 } 17405 } 17406 }); 17407 }, 17408 function (e) { 17409 let { swiper: t } = e; 17410 Object.assign(t, { 17411 appendSlide: K.bind(t), 17412 prependSlide: Z.bind(t), 17413 addSlide: Q.bind(t), 17414 removeSlide: J.bind(t), 17415 removeAllSlides: ee.bind(t) 17416 }); 17417 }, 17418 function (e) { 17419 let { swiper: t, extendParams: s, on: a } = e; 17420 s({ fadeEffect: { crossFade: !1, transformEl: null } }), 17421 te({ 17422 effect: 'fade', 17423 swiper: t, 17424 on: a, 17425 setTranslate: () => { 17426 const { slides: e } = t, 17427 s = t.params.fadeEffect; 17428 for (let a = 0; a < e.length; a += 1) { 17429 const e = t.slides.eq(a); 17430 let i = -e[0].swiperSlideOffset; 17431 t.params.virtualTranslate || (i -= t.translate); 17432 let r = 0; 17433 t.isHorizontal() || ((r = i), (i = 0)); 17434 const n = t.params.fadeEffect.crossFade 17435 ? Math.max(1 - Math.abs(e[0].progress), 0) 17436 : 1 + Math.min(Math.max(e[0].progress, -1), 0); 17437 se(s, e) 17438 .css({ opacity: n }) 17439 .transform(`translate3d(${i}px, ${r}px, 0px)`); 17440 } 17441 }, 17442 setTransition: (e) => { 17443 const { transformEl: s } = t.params.fadeEffect; 17444 (s ? t.slides.find(s) : t.slides).transition(e), 17445 ae({ 17446 swiper: t, 17447 duration: e, 17448 transformEl: s, 17449 allSlides: !0 17450 }); 17451 }, 17452 overwriteParams: () => ({ 17453 slidesPerView: 1, 17454 slidesPerGroup: 1, 17455 watchSlidesProgress: !0, 17456 spaceBetween: 0, 17457 virtualTranslate: !t.params.cssMode 17458 }) 17459 }); 17460 }, 17461 function (e) { 17462 let { swiper: t, extendParams: s, on: a } = e; 17463 s({ 17464 cubeEffect: { 17465 slideShadows: !0, 17466 shadow: !0, 17467 shadowOffset: 20, 17468 shadowScale: 0.94 17469 } 17470 }); 17471 const i = (e, t, s) => { 17472 let a = s 17473 ? e.find('.swiper-slide-shadow-left') 17474 : e.find('.swiper-slide-shadow-top'), 17475 i = s 17476 ? e.find('.swiper-slide-shadow-right') 17477 : e.find('.swiper-slide-shadow-bottom'); 17478 0 === a.length && 17479 ((a = d( 17480 `<div class="swiper-slide-shadow-${ 17481 s ? 'left' : 'top' 17482 }"></div>` 17483 )), 17484 e.append(a)), 17485 0 === i.length && 17486 ((i = d( 17487 `<div class="swiper-slide-shadow-${ 17488 s ? 'right' : 'bottom' 17489 }"></div>` 17490 )), 17491 e.append(i)), 17492 a.length && (a[0].style.opacity = Math.max(-t, 0)), 17493 i.length && (i[0].style.opacity = Math.max(t, 0)); 17494 }; 17495 te({ 17496 effect: 'cube', 17497 swiper: t, 17498 on: a, 17499 setTranslate: () => { 17500 const { 17501 $el: e, 17502 $wrapperEl: s, 17503 slides: a, 17504 width: r, 17505 height: n, 17506 rtlTranslate: l, 17507 size: o, 17508 browser: c 17509 } = t, 17510 p = t.params.cubeEffect, 17511 u = t.isHorizontal(), 17512 h = t.virtual && t.params.virtual.enabled; 17513 let m, 17514 f = 0; 17515 p.shadow && 17516 (u 17517 ? ((m = s.find('.swiper-cube-shadow')), 17518 0 === m.length && 17519 ((m = d( 17520 '<div class="swiper-cube-shadow"></div>' 17521 )), 17522 s.append(m)), 17523 m.css({ height: `${r}px` })) 17524 : ((m = e.find('.swiper-cube-shadow')), 17525 0 === m.length && 17526 ((m = d( 17527 '<div class="swiper-cube-shadow"></div>' 17528 )), 17529 e.append(m)))); 17530 for (let e = 0; e < a.length; e += 1) { 17531 const t = a.eq(e); 17532 let s = e; 17533 h && 17534 (s = parseInt( 17535 t.attr('data-swiper-slide-index'),
17536 10 17537 )); 17538 let r = 90 * s, 17539 n = Math.floor(r / 360); 17540 l && ((r = -r), (n = Math.floor(-r / 360))); 17541 const d = Math.max(Math.min(t[0].progress, 1), -1); 17542 let c = 0, 17543 m = 0, 17544 g = 0; 17545 s % 4 == 0 17546 ? ((c = 4 * -n * o), (g = 0)) 17547 : (s - 1) % 4 == 0 17548 ? ((c = 0), (g = 4 * -n * o)) 17549 : (s - 2) % 4 == 0 17550 ? ((c = o + 4 * n * o), (g = o)) 17551 : (s - 3) % 4 == 0 && 17552 ((c = -o), (g = 3 * o + 4 * o * n)), 17553 l && (c = -c), 17554 u || ((m = c), (c = 0)); 17555 const v = `rotateX(${u ? 0 : -r}deg) rotateY(${ 17556 u ? r : 0 17557 }deg) translate3d(${c}px, ${m}px, ${g}px)`; 17558 d <= 1 && 17559 d > -1 && 17560 ((f = 90 * s + 90 * d), 17561 l && (f = 90 * -s - 90 * d)), 17562 t.transform(v), 17563 p.slideShadows && i(t, d, u); 17564 } 17565 if ( 17566 (s.css({ 17567 '-webkit-transform-origin': `50% 50% -${o / 2}px`, 17568 'transform-origin': `50% 50% -${o / 2}px` 17569 }), 17570 p.shadow) 17571 ) 17572 if (u) 17573 m.transform( 17574 `translate3d(0px, ${ 17575 r / 2 + p.shadowOffset 17576 }px, ${ 17577 -r / 2 17578 }px) rotateX(90deg) rotateZ(0deg) scale(${ 17579 p.shadowScale 17580 })` 17581 ); 17582 else { 17583 const e = 17584 Math.abs(f) - 17585 90 * Math.floor(Math.abs(f) / 90), 17586 t = 17587 1.5 - 17588 (Math.sin((2 * e * Math.PI) / 360) / 2 + 17589 Math.cos((2 * e * Math.PI) / 360) / 2), 17590 s = p.shadowScale, 17591 a = p.shadowScale / t, 17592 i = p.shadowOffset; 17593 m.transform( 17594 `scale3d(${s}, 1, ${a}) translate3d(0px, ${ 17595 n / 2 + i 17596 }px, ${-n / 2 / a}px) rotateX(-90deg)` 17597 ); 17598 } 17599 const g = c.isSafari || c.isWebView ? -o / 2 : 0; 17600 s.transform( 17601 `translate3d(0px,0,${g}px) rotateX(${ 17602 t.isHorizontal() ? 0 : f 17603 }deg) rotateY(${t.isHorizontal() ? -f : 0}deg)` 17604 ), 17605 s[0].style.setProperty( 17606 '--swiper-cube-translate-z', 17607 `${g}px` 17608 ); 17609 }, 17610 setTransition: (e) => { 17611 const { $el: s, slides: a } = t; 17612 a 17613 .transition(e) 17614 .find( 17615 '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left' 17616 ) 17617 .transition(e), 17618 t.params.cubeEffect.shadow && 17619 !t.isHorizontal() && 17620 s.find('.swiper-cube-shadow').transition(e); 17621 }, 17622 recreateShadows: () => { 17623 const e = t.isHorizontal(); 17624 t.slides.each((t) => { 17625 const s = Math.max(Math.min(t.progress, 1), -1); 17626 i(d(t), s, e); 17627 }); 17628 }, 17629 getEffectParams: () => t.params.cubeEffect, 17630 perspective: () => !0, 17631 overwriteParams: () => ({ 17632 slidesPerView: 1, 17633 slidesPerGroup: 1, 17634 watchSlidesProgress: !0, 17635 resistanceRatio: 0, 17636 spaceBetween: 0, 17637 centeredSlides: !1, 17638 virtualTranslate: !0 17639 }) 17640 }); 17641 }, 17642 function (e) { 17643 let { swiper: t, extendParams: s, on: a } = e; 17644 s({ 17645 flipEffect: { 17646 slideShadows: !0, 17647 limitRotation: !0, 17648 transformEl: null 17649 } 17650 }); 17651 const i = (e, s, a) => { 17652 let i = t.isHorizontal() 17653 ? e.find('.swiper-slide-shadow-left') 17654 : e.find('.swiper-slide-shadow-top'), 17655 r = t.isHorizontal() 17656 ? e.find('.swiper-slide-shadow-right') 17657 : e.find('.swiper-slide-shadow-bottom'); 17658 0 === i.length && 17659 (i = ie(a, e, t.isHorizontal() ? 'left' : 'top')), 17660 0 === r.length && 17661 (r = ie(a, e, t.isHorizontal() ? 'right' : 'bottom')), 17662 i.length && (i[0].style.opacity = Math.max(-s, 0)), 17663 r.length && (r[0].style.opacity = Math.max(s, 0)); 17664 }; 17665 te({ 17666 effect: 'flip', 17667 swiper: t, 17668 on: a, 17669 setTranslate: () => { 17670 const { slides: e, rtlTranslate: s } = t, 17671 a = t.params.flipEffect; 17672 for (let r = 0; r < e.length; r += 1) { 17673 const n = e.eq(r); 17674 let l = n[0].progress; 17675 t.params.flipEffect.limitRotation && 17676 (l = Math.max(Math.min(n[0].progress, 1), -1)); 17677 const o = n[0].swiperSlideOffset; 17678 let d = -180 * l, 17679 c = 0, 17680 p = t.params.cssMode ? -o - t.translate : -o, 17681 u = 0; 17682 t.isHorizontal() 17683 ? s && (d = -d) 17684 : ((u = p), (p = 0), (c = -d), (d = 0)), 17685 (n[0].style.zIndex = 17686 -Math.abs(Math.round(l)) + e.length), 17687 a.slideShadows && i(n, l, a); 17688 const h = `translate3d(${p}px, ${u}
17688px, 0px) rotateX(${c}deg) rotateY(${d}deg)`; 17689 se(a, n).transform(h); 17690 } 17691 }, 17692 setTransition: (e) => { 17693 const { transformEl: s } = t.params.flipEffect; 17694 (s ? t.slides.find(s) : t.slides) 17695 .transition(e) 17696 .find( 17697 '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left' 17698 ) 17699 .transition(e), 17700 ae({ swiper: t, duration: e, transformEl: s }); 17701 }, 17702 recreateShadows: () => { 17703 const e = t.params.flipEffect; 17704 t.slides.each((s) => { 17705 const a = d(s); 17706 let r = a[0].progress; 17707 t.params.flipEffect.limitRotation && 17708 (r = Math.max(Math.min(s.progress, 1), -1)), 17709 i(a, r, e); 17710 }); 17711 }, 17712 getEffectParams: () => t.params.flipEffect, 17713 perspective: () => !0, 17714 overwriteParams: () => ({ 17715 slidesPerView: 1, 17716 slidesPerGroup: 1, 17717 watchSlidesProgress: !0, 17718 spaceBetween: 0, 17719 virtualTranslate: !t.params.cssMode 17720 }) 17721 }); 17722 }, 17723 function (e) { 17724 let { swiper: t, extendParams: s, on: a } = e; 17725 s({ 17726 coverflowEffect: { 17727 rotate: 50, 17728 stretch: 0, 17729 depth: 100, 17730 scale: 1, 17731 modifier: 1, 17732 slideShadows: !0, 17733 transformEl: null 17734 } 17735 }), 17736 te({ 17737 effect: 'coverflow', 17738 swiper: t, 17739 on: a, 17740 setTranslate: () => { 17741 const { 17742 width: e, 17743 height: s, 17744 slides: a, 17745 slidesSizesGrid: i 17746 } = t, 17747 r = t.params.coverflowEffect, 17748 n = t.isHorizontal(), 17749 l = t.translate, 17750 o = n ? e / 2 - l : s / 2 - l, 17751 d = n ? r.rotate : -r.rotate, 17752 c = r.depth; 17753 for (let e = 0, t = a.length; e < t; e += 1) { 17754 const t = a.eq(e), 17755 s = i[e], 17756 l = (o - t[0].swiperSlideOffset - s / 2) / s, 17757 p = 17758 'function' == typeof r.modifier 17759 ? r.modifier(l) 17760 : l * r.modifier; 17761 let u = n ? d * p : 0, 17762 h = n ? 0 : d * p, 17763 m = -c * Math.abs(p), 17764 f = r.stretch; 17765 'string' == typeof f && 17766 -1 !== f.indexOf('%') && 17767 (f = (parseFloat(r.stretch) / 100) * s); 17768 let g = n ? 0 : f * p, 17769 v = n ? f * p : 0, 17770 w = 1 - (1 - r.scale) * Math.abs(p); 17771 Math.abs(v) < 0.001 && (v = 0), 17772 Math.abs(g) < 0.001 && (g = 0), 17773 Math.abs(m) < 0.001 && (m = 0), 17774 Math.abs(u) < 0.001 && (u = 0), 17775 Math.abs(h) < 0.001 && (h = 0), 17776 Math.abs(w) < 0.001 && (w = 0); 17777 const b = `translate3d(${v}px,${g}px,${m}px) rotateX(${h}deg) rotateY(${u}deg) scale(${w})`; 17778 if ( 17779 (se(r, t).transform(b), 17780 (t[0].style.zIndex = 17781 1 - Math.abs(Math.round(p))), 17782 r.slideShadows) 17783 ) { 17784 let e = n 17785 ? t.find('.swiper-slide-shadow-left') 17786 : t.find('.swiper-slide-shadow-top'), 17787 s = n 17788 ? t.find('.swiper-slide-shadow-right') 17789 : t.find('.swiper-slide-shadow-bottom'); 17790 0 === e.length && 17791 (e = ie(r, t, n ? 'left' : 'top')), 17792 0 === s.length && 17793 (s = ie(r, t, n ? 'right' : 'bottom')), 17794 e.length && 17795 (e[0].style.opacity = p > 0 ? p : 0), 17796 s.length && 17797 (s[0].style.opacity = -p > 0 ? -p : 0); 17798 } 17799 } 17800 }, 17801 setTransition: (e) => { 17802 const { transformEl: s } = t.params.coverflowEffect; 17803 (s ? t.slides.find(s) : t.slides) 17804 .transition(e) 17805 .find( 17806 '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left' 17807 ) 17808 .transition(e); 17809 }, 17810 perspective: () => !0, 17811 overwriteParams: () => ({ watchSlidesProgress: !0 }) 17812 }); 17813 }, 17814 function (e) { 17815 let { swiper: t, extendParams: s, on: a } = e; 17816 s({ 17817 creativeEffect: { 17818 transformEl: null, 17819 limitProgress: 1, 17820 shadowPerProgress: !1, 17821 progressMultiplier: 1, 17822 perspective: !0, 17823 prev: { 17824 translate: [0, 0, 0], 17825 rotate: [0, 0, 0], 17826 opacity: 1, 17827 scale: 1 17828 }, 17829 next: { 17830 translate: [0, 0, 0], 17831 rotate: [0, 0, 0], 17832 opacity: 1, 17833 scale: 1 17834 } 17835 } 17836 }); 17837 const i = (e) => ('string' == typeof e ? e : `${e}px`); 17838 te({ 17839 effect: 'creative', 17840 swiper: t, 17841 on: a, 17842 setTranslate: () => { 17843 const { slides: e, $wrapperEl: s, slidesSizesGrid: a } = t, 17844 r = t.params.creativeEffect, 17845 { progressMultiplier: n } = r, 17846 l = t.params.centeredSlides; 17847 if (l) { 17848 const e = a[0] / 2 - t.params.slidesOffsetBefore || 0; 17849 s.transform(`translateX(calc(50% - ${e}px))`); 17850 } 17851 for (let s = 0; s < e.length; s += 1) { 17852 const a = e.eq(s), 17853 o = a[0].progress, 17854 d = Math.min( 17855 Math.max(a[0].progress, -r.limitProgress), 17856 r.limitProgress 17857 ); 17858 let c = d; 17859 l || 17860 (c = Math.min( 17861 Math.max( 17862 a[0].originalProgress, 17863 -r.limitProgress 17864 ), 17865 r.limitProgress 17866 )); 17867 const p = a[0].swiperSlideOffset, 17868 u = [ 17869 t.params.cssMode ? -p - t.translate : -p, 17870 0, 17871 0 17872 ], 17873 h = [0, 0, 0]; 17874 let m = !1; 17875 t.isHorizontal() || ((u[1] = u[0]), (u[0] = 0)); 17876 let f = { 17877 translate: [0, 0, 0], 17878 rotate: [0, 0, 0], 17879 scale: 1, 17880 opacity: 1 17881 }; 17882 d < 0 17883 ? ((f = r.next), (m = !0)) 17884 : d > 0 && ((f = r.prev), (m = !0)), 17885 u.forEach((e, t) => { 17886 u[t] = `calc(${e}px + (${i( 17887 f.translate[t] 17888 )} * ${Math.abs(d * n)}))`; 17889 }), 17890 h.forEach((e, t) => { 17891 h[t] = f.rotate[t] * Math.abs(d * n); 17892 }), 17893 (a[0].style.zIndex = 17894 -Math.abs(Math.round(o)) + e.length); 17895 const g = u.join(', '), 17896 v = `rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`, 17897 w = 17898 c < 0 17899 ? `scale(${1 + (1 - f.scale) * c * n})` 17900 : `scale(${1 - (1 - f.scale) * c * n})`, 17901 b = 17902 c < 0 17903 ? 1 + (1 - f.opacity) * c * n 17904 : 1 - (1 - f.opacity) * c * n, 17905 x = `translate3d(${g}) ${v} ${w}`; 17906 if ((m && f.shadow) || !m) { 17907 let e = a.children('.swiper-slide-shadow'); 17908 if ( 17909 (0 === e.length && f.shadow && (e = ie(r, a)), 17910 e.length) 17911 ) { 17912 const t = r.shadowPerProgress 17913 ? d * (1 / r.limitProgress) 17914 : d; 17915 e[0].style.opacity = Math.min( 17916 Math.max(Math.abs(t), 0), 17917 1 17918 ); 17919 } 17920 } 17921 const y = se(r, a); 17922 y.transform(x).css({ opacity: b }), 17923 f.origin && y.css('transform-origin', f.origin); 17924 } 17925 }, 17926 setTransition: (e) => { 17927 const { transformEl: s } = t.params.creativeEffect; 17928 (s ? t.slides.find(s) : t.slides) 17929 .transition(e) 17930 .find('.swiper-slide-shadow') 17931 .transition(e), 17932 ae({ 17933 swiper: t, 17934 duration: e, 17935 transformEl: s, 17936 allSlides: !0 17937 }); 17938 }, 17939 perspective: () => t.params.creativeEffect.perspective, 17940 overwriteParams: () => ({ 17941 watchSlidesProgress: !0, 17942 virtualTranslate: !t.params.cssMode 17943 }) 17944 }); 17945 }, 17946 function (e) { 17947 let { swiper: t, extendParams: s, on: a } = e; 17948 s({ 17949 cardsEffect: { slideShadows: !0, transformEl: null, rotate: !0 } 17950 }), 17951 te({ 17952 effect: 'cards', 17953 swiper: t, 17954 on: a, 17955 setTranslate: () => { 17956 const { slides: e, activeIndex: s } = t, 17957 a = t.params.cardsEffect, 17958 { startTranslate: i, isTouched: r } = 17959 t.touchEventsData, 17960 n = t.translate; 17961 for (let l = 0; l < e.length; l += 1) { 17962 const o = e.eq(l), 17963 d = o[0].progress, 17964 c = Math.min(Math.max(d, -4), 4); 17965 let p = o[0].swiperSlideOffset; 17966 t.params.centeredSlides && 17967 !t.params.cssMode && 17968 t.$wrapperEl.transform( 17969 `translateX(${t.minTranslate()}px)` 17970 ), 17971 t.params.centeredSlides && 17972 t.params.cssMode && 17973 (p -= e[0].swiperSlideOffset); 17974 let u = t.params.cssMode ? -p - t.translate : -p, 17975 h = 0; 17976 const m = -100 * Math.abs(c); 17977 let f = 1, 17978 g = -2 * c, 17979 v = 8 - 0.75 * Math.abs(c); 17980 const w = 17981 t.virtual && t.params.virtual.enabled 17982 ? t.virtual.from + l 17983 : l, 17984 b = 17985 (w === s || w === s - 1) && 17986 c > 0 && 17987 c < 1 && 17988 (r || t.params.cssMode) && 17989 n < i, 17990 x = 17991 (w === s || w === s + 1) && 17992 c < 0 && 17993 c > -1 && 17994 (r || t.params.cssMode) && 17995 n > i; 17996 if (b || x) { 17997 const e = 17998 (1 - Math.abs((Math.abs(c) - 0.5) / 0.5)) ** 17999 0.5; 18000 (g += -28 * c * e), 18001 (f += -0.5 * e), 18002 (v += 96 * e), 18003 (h = -25 * e * Math.abs(c) + '%'); 18004 } 18005 if ( 18006 ((u = 18007 c < 0 18008 ? `calc(${u}px + (${v * Math.abs(c)}%))` 18009 : c > 0 18010 ? `calc(${u}px + (-${ 18011 v * Math.abs(c) 18012 }%))` 18013 : `${u}px`), 18014 !t.isHorizontal()) 18015 ) { 18016 const e = h; 18017 (h = u), (u = e); 18018 } 18019 const y = 18020 c < 0 18021 ? '' + (1 + (1 - f) * c) 18022 : '' + (1 - (1 - f) * c), 18023 E = `\n translate3d(${u}, ${h}, ${m}px)\n rotateZ(${ 18024 a.rotate ? g : 0 18025 }deg)\n scale(${y})\n `; 18026 if (a.slideShadows) { 18027 let e = o.find('.swiper-slide-shadow'); 18028 0 === e.length && (e = ie(a, o)), 18029 e.length && 18030 (e[0].style.opacity = Math.min( 18031 Math.max( 18032
18032 (Math.abs(c) - 0.5) / 0.5, 18033 0 18034 ), 18035 1 18036 )); 18037 } 18038 o[0].style.zIndex = 18039 -Math.abs(Math.round(d)) + e.length; 18040 se(a, o).transform(E); 18041 } 18042 }, 18043 setTransition: (e) => { 18044 const { transformEl: s } = t.params.cardsEffect; 18045 (s ? t.slides.find(s) : t.slides) 18046 .transition(e) 18047 .find('.swiper-slide-shadow') 18048 .transition(e), 18049 ae({ swiper: t, duration: e, transformEl: s }); 18050 }, 18051 perspective: () => !0, 18052 overwriteParams: () => ({ 18053 watchSlidesProgress: !0, 18054 virtualTranslate: !t.params.cssMode 18055 }) 18056 }); 18057 } 18058 ]; 18059 return V.use(re), V; 18060}); 18061//# sourceMappingURL=swiper-bundle.min.js.map 18062// 18063// 18064!(function (i) { 18065 'use strict'; 18066 'function' == typeof define && define.amd 18067 ? define(['jquery'], i) 18068 : 'undefined' != typeof exports 18069 ? (module.exports = i(require('jquery'))) 18070 : i(jQuery); 18071})(function (i) { 18072 'use strict'; 18073 var e = window.Slick || {}; 18074 ((e = (function () { 18075 var e = 0; 18076 return function (t, o) { 18077 var s, 18078 n = this; 18079 (n.defaults = { 18080 accessibility: !0, 18081 adaptiveHeight: !1, 18082 appendArrows: i(t), 18083 appendDots: i(t), 18084 arrows: !0, 18085 asNavFor: null, 18086 prevArrow: 18087 '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>', 18088 nextArrow: 18089 '<button class="slick-next" aria-label="Next" type="button">Next</button>', 18090 autoplay: !1, 18091 autoplaySpeed: 3e3, 18092 centerMode: !1, 18093 centerPadding: '50px', 18094 cssEase: 'ease', 18095 customPaging: function (e, t) { 18096 return i('<button type="button" />').text(t + 1); 18097 }, 18098 dots: !1, 18099 dotsClass: 'slick-dots', 18100 draggable: !0, 18101 easing: 'linear', 18102 edgeFriction: 0.35, 18103 fade: !1, 18104 focusOnSelect: !1, 18105 focusOnChange: !1, 18106 infinite: !0, 18107 initialSlide: 0, 18108 lazyLoad: 'ondemand', 18109 mobileFirst: !1, 18110 pauseOnHover: !0, 18111 pauseOnFocus: !0, 18112 pauseOnDotsHover: !1, 18113 respondTo: 'window', 18114 responsive: null, 18115 rows: 1, 18116 rtl: !1, 18117 slide: '', 18118 slidesPerRow: 1, 18119 slidesToShow: 1, 18120 slidesToScroll: 1, 18121 speed: 500, 18122 swipe: !0, 18123 swipeToSlide: !1, 18124 touchMove: !0, 18125 touchThreshold: 5, 18126 useCSS: !0, 18127 useTransform: !0, 18128 variableWidth: !1, 18129 vertical: !1, 18130 verticalSwiping: !1, 18131 waitForAnimate: !0, 18132 zIndex: 1e3 18133 }), 18134 (n.initials = { 18135 animating: !1, 18136 dragging: !1, 18137 autoPlayTimer: null, 18138 currentDirection: 0, 18139 currentLeft: null, 18140 currentSlide: 0, 18141 direction: 1, 18142 $dots: null, 18143 listWidth: null, 18144 listHeight: null, 18145 loadIndex: 0, 18146 $nextArrow: null, 18147 $prevArrow: null, 18148 scrolling: !1, 18149 slideCount: null, 18150 slideWidth: null, 18151 $slideTrack: null, 18152 $slides: null, 18153 sliding: !1, 18154 slideOffset: 0, 18155 swipeLeft: null, 18156 swiping: !1, 18157 $list: null, 18158 touchObject: {}, 18159 transformsEnabled: !1, 18160 unslicked: !1 18161 }), 18162 i.extend(n, n.initials), 18163 (n.activeBreakpoint = null),
18164 (n.animType = null), 18165 (n.animProp = null), 18166 (n.breakpoints = []), 18167 (n.breakpointSettings = []), 18168 (n.cssTransitions = !1), 18169 (n.focussed = !1), 18170 (n.interrupted = !1), 18171 (n.hidden = 'hidden'), 18172 (n.paused = !0), 18173 (n.positionProp = null), 18174 (n.respondTo = null), 18175 (n.rowCount = 1), 18176 (n.shouldClick = !0), 18177 (n.$slider = i(t)), 18178 (n.$slidesCache = null), 18179 (n.transformType = null), 18180 (n.transitionType = null), 18181 (n.visibilityChange = 'visibilitychange'), 18182 (n.windowWidth = 0), 18183 (n.windowTimer = null), 18184 (s = i(t).data('slick') || {}), 18185 (n.options = i.extend({}, n.defaults, o, s)), 18186 (n.currentSlide = n.options.initialSlide), 18187 (n.originalSettings = n.options), 18188 void 0 !== document.mozHidden 18189 ? ((n.hidden = 'mozHidden'), 18190 (n.visibilityChange = 'mozvisibilitychange')) 18191 : void 0 !== document.webkitHidden && 18192 ((n.hidden = 'webkitHidden'), 18193 (n.visibilityChange = 'webkitvisibilitychange')), 18194 (n.autoPlay = i.proxy(n.autoPlay, n)), 18195 (n.autoPlayClear = i.proxy(n.autoPlayClear, n)), 18196 (n.autoPlayIterator = i.proxy(n.autoPlayIterator, n)), 18197 (n.changeSlide = i.proxy(n.changeSlide, n)), 18198 (n.clickHandler = i.proxy(n.clickHandler, n)), 18199 (n.selectHandler = i.proxy(n.selectHandler, n)), 18200 (n.setPosition = i.proxy(n.setPosition, n)), 18201 (n.swipeHandler = i.proxy(n.swipeHandler, n)), 18202 (n.dragHandler = i.proxy(n.dragHandler, n)), 18203 (n.keyHandler = i.proxy(n.keyHandler, n)), 18204 (n.instanceUid = e++), 18205 (n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/), 18206 n.registerBreakpoints(), 18207 n.init(!0); 18208 }; 18209 })()).prototype.activateADA = function () { 18210 this.$slideTrack 18211 .find('.slick-active') 18212 .attr({ 'aria-hidden': 'false' }) 18213 .find('a, input, button, select') 18214 .attr({ tabindex: '0' }); 18215 }), 18216 (e.prototype.addSlide = e.prototype.slickAdd = 18217 function (e, t, o) { 18218 var s = this; 18219 if ('boolean' == typeof t) (o = t), (t = null); 18220 else if (t < 0 || t >= s.slideCount) return !1; 18221 s.unload(), 18222 'number' == typeof t 18223 ? 0 === t && 0 === s.$slides.length 18224 ? i(e).appendTo(s.$slideTrack) 18225 : o 18226 ? i(e).insertBefore(s.$slides.eq(t)) 18227 : i(e).insertAfter(s.$slides.eq(t)) 18228 : !0 === o 18229 ? i(e).prependTo(s.$slideTrack) 18230 : i(e).appendTo(s.$slideTrack), 18231 (s.$slides = s.$slideTrack.children(this.options.slide)), 18232 s.$slideTrack.children(this.options.slide).detach(), 18233 s.$slideTrack.append(s.$slides), 18234 s.$slides.each(function (e, t) { 18235 i(t).attr('data-slick-index', e); 18236 }), 18237 (s.$slidesCache = s.$slides), 18238 s.reinit(); 18239 }), 18240 (e.prototype.animateHeight = function () { 18241 var i = this; 18242 if ( 18243 1 === i.options.slidesToShow && 18244 !0 === i.options.adaptiveHeight && 18245 !1 === i.options.vertical 18246 ) { 18247 var e = i.$slides.eq(i.currentSlide).outerHeight(!0); 18248 i.$list.animate({ height: e }, i.options.speed); 18249 } 18250 }), 18251 (e.prototype.animateSlide = function (e, t) { 18252 var o = {}, 18253 s = this; 18254 s.animateHeight(), 18255 !0 === s.options.rtl && !1 === s.options.vertical && (e = -e), 18256 !1 === s.transformsEnabled 18257 ? !1 === s.options.vertical 18258 ? s.$slideTrack.animate(
18259 { left: e }, 18260 s.options.speed, 18261 s.options.easing, 18262 t 18263 ) 18264 : s.$slideTrack.animate( 18265 { top: e }, 18266 s.options.speed, 18267 s.options.easing, 18268 t 18269 ) 18270 : !1 === s.cssTransitions 18271 ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft), 18272 i({ animStart: s.currentLeft }).animate( 18273 { animStart: e }, 18274 { 18275 duration: s.options.speed, 18276 easing: s.options.easing, 18277 step: function (i) { 18278 (i = Math.ceil(i)), 18279 !1 === s.options.vertical 18280 ? ((o[s.animType] = 18281 'translate(' + i + 'px, 0px)'), 18282 s.$slideTrack.css(o)) 18283 : ((o[s.animType] = 18284 'translate(0px,' + i + 'px)'), 18285 s.$slideTrack.css(o)); 18286 }, 18287 complete: function () { 18288 t && t.call(); 18289 } 18290 } 18291 )) 18292 : (s.applyTransition(), 18293 (e = Math.ceil(e)), 18294 !1 === s.options.vertical 18295 ? (o[s.animType] = 18296 'translate3d(' + e + 'px, 0px, 0px)') 18297 : (o[s.animType] = 18298 'translate3d(0px,' + e + 'px, 0px)'), 18299 s.$slideTrack.css(o), 18300 t && 18301 setTimeout(function () { 18302 s.disableTransition(), t.call(); 18303 }, s.options.speed)); 18304 }), 18305 (e.prototype.getNavTarget = function () { 18306 var e = this, 18307 t = e.options.asNavFor; 18308 return t && null !== t && (t = i(t).not(e.$slider)), t; 18309 }), 18310 (e.prototype.asNavFor = function (e) { 18311 var t = this.getNavTarget(); 18312 null !== t && 18313 'object' == typeof t && 18314 t.each(function () { 18315 var t = i(this).slick('getSlick'); 18316 t.unslicked || t.slideHandler(e, !0); 18317 }); 18318 }), 18319 (e.prototype.applyTransition = function (i) { 18320 var e = this, 18321 t = {}; 18322 !1 === e.options.fade 18323 ? (t[e.transitionType] = 18324 e.transformType + 18325 ' ' + 18326 e.options.speed + 18327 'ms ' + 18328 e.options.cssEase) 18329 : (t[e.transitionType] = 18330 'opacity ' + e.options.speed + 'ms ' + e.options.cssEase), 18331 !1 === e.options.fade 18332 ? e.$slideTrack.css(t) 18333 : e.$slides.eq(i).css(t); 18334 }), 18335 (e.prototype.autoPlay = function () { 18336 var i = this; 18337 i.autoPlayClear(), 18338 i.slideCount > i.options.slidesToShow && 18339 (i.autoPlayTimer = setInterval( 18340 i.autoPlayIterator, 18341 i.options.autoplaySpeed 18342 )); 18343 }), 18344 (e.prototype.autoPlayClear = function () { 18345 var i = this; 18346 i.autoPlayTimer && clearInterval(i.autoPlayTimer); 18347 }), 18348 (e.prototype.autoPlayIterator = function () { 18349 var i = this, 18350 e = i.currentSlide + i.options.slidesToScroll; 18351 i.paused || 18352 i.interrupted || 18353 i.focussed || 18354 (!1 === i.options.infinite && 18355 (1 === i.direction && 18356 i.currentSlide + 1 === i.slideCount - 1 18357 ? (i.direction = 0) 18358 : 0 === i.direction && 18359 ((e = i.currentSlide - i.options.slidesToScroll), 18360 i.currentSlide - 1 == 0 && (i.direction = 1))), 18361 i.slideHandler(e)); 18362 }), 18363 (e.prototype.buildArrows = function () { 18364 var e = this; 18365 !0 === e.options.arrows && 18366 ((e.$prevArrow = i(e.options.prevArrow).addClass( 18367 'slick-arrow' 18368 )), 18369 (e.$nextArrow = i(e.options.nextArrow).addClass('slick-arrow')), 18370 e.slideCount > e.options.slidesToShow 18371 ? (e.$prevArrow 18372 .removeClass('slick-hidden') 18373 .removeAttr('aria-hidden tabindex'), 18374 e.$nextArrow 18375 .removeClass('slick-hidden') 18376 .removeAttr('aria-hidden tabindex'), 18377 e.htmlExpr.test(e.options.prevArrow) && 18378 e.$prevArrow.prependTo(e.options.appendArrows), 18379 e.htmlExpr.test(e.options.nextArrow) && 18380 e.$nextArrow.appendTo(e.options.appendArrows), 18381 !0 !== e.options.infinite && 18382 e.$prevArrow 18383 .addClass('slick-disabled') 18384 .attr('aria-disabled', 'true')) 18385 : e.$prevArrow 18386 .add(e.$nextArrow) 18387 .addClass('slick-hidden') 18388 .attr({ 'aria-disabled': 'true', tabindex: '-1' })); 18389 }), 18390 (e.prototype.buildDots = function () { 18391 var e, 18392 t, 18393 o = this; 18394 if (!0 === o.options.dots) { 18395 for ( 18396 o.$slider.addClass('slick-dotted'), 18397 t = i('<ul />').addClass(o.options.dotsClass), 18398 e = 0; 18399 e <= o.getDotCount(); 18400 e += 1 18401 ) 18402 t.append( 18403 i('<li />').append( 18404 o.options.customPaging.call(this, o, e) 18405 ) 18406 ); 18407 (o.$dots = t.appendTo(o.options.appendDots)), 18408 o.$dots.find('li').first().addClass('slick-active'); 18409 } 18410 }), 18411 (e.prototype.buildOut = function () { 18412 var e = this; 18413 (e.$slides = e.$slider 18414 .children(e.options.slide + ':not(.slick-cloned)') 18415 .addClass('slick-slide')), 18416 (e.slideCount = e.$slides.length), 18417 e.$slides.each(function (e, t) { 18418 i(t) 18419 .attr('data-slick-index', e) 18420 .data('originalStyling', i(t).attr('style') || ''); 18421 }), 18422 e.$slider.addClass('slick-slider'), 18423 (e.$slideTrack = 18424 0 === e.slideCount 18425 ? i('<div class="slick-track"/>').appendTo(e.$slider) 18426 : e.$slides 18427 .wrapAll('<div class="slick-track"/>') 18428 .parent()), 18429 (e.$list = e.$slideTrack 18430 .wrap('<div class="slick-list"/>') 18431 .parent()), 18432 e.$slideTrack.css('opacity', 0), 18433 (!0 !== e.options.centerMode && 18434 !0 !== e.options.swipeToSlide) || 18435 (e.options.slidesToScroll = 1), 18436 i('img[data-lazy]', e.$slider) 18437 .not('[src]') 18438 .addClass('slick-loading'), 18439 e.setupInfinite(), 18440 e.buildArrows(), 18441 e.buildDots(), 18442 e.updateDots(), 18443 e.setSlideClasses( 18444 'number' == typeof e.currentSlide ? e.currentSlide : 0 18445 ), 18446 !0 === e.options.draggable && e.$list.addClass('draggable'); 18447 }), 18448 (e.prototype.buildRows = function () { 18449 var i, 18450 e, 18451 t, 18452 o, 18453 s, 18454 n, 18455 r, 18456 l = this; 18457 if ( 18458 ((o = document.createDocumentFragment()), 18459 (n = l.$slider.children()), 18460 l.options.rows > 1) 18461 ) { 18462 for ( 18463 r = l.options.slidesPerRow * l.options.rows, 18464 s = Math.ceil(n.length / r), 18465 i = 0; 18466 i < s; 18467 i++ 18468 ) { 18469 var d = document.createElement('div'); 18470 for (e = 0; e < l.options.rows; e++) { 18471 var a = document.createElement('div'); 18472 for (t = 0; t < l.options.slidesPerRow; t++) { 18473 var c = i * r + (e * l.options.slidesPerRow + t); 18474 n.get(c) && a.appendChild(n.get(c)); 18475 } 18476 d.appendChild(a); 18477 } 18478 o.appendChild(d); 18479 } 18480 l.$slider.empty().append(o), 18481 l.$slider 18482 .children() 18483 .children() 18484 .children() 18485 .css({ 18486 width: 100 / l.options.slidesPerRow + '%', 18487 display: 'inline-block' 18488 }); 18489 } 18490 }), 18491 (e.prototype.checkResponsive = function (e, t) { 18492 var o, 18493 s, 18494 n, 18495 r = this, 18496 l = !1, 18497 d = r.$slider.width(), 18498 a = window.innerWidth || i(window).width(); 18499 if ( 18500 ('window' === r.respondTo 18501 ? (n = a) 18502 : 'slider' === r.respondTo 18503 ? (n = d) 18504 : 'min' === r.respondTo && (n = Math.min(a, d)), 18505 r.options.responsive && 18506 r.options.responsive.length && 18507 null !== r.options.responsive) 18508 ) { 18509 s = null; 18510 for (o in r.breakpoints) 18511 r.breakpoints.hasOwnProperty(o) && 18512 (!1 === r.originalSettings.mobileFirst 18513 ? n < r.breakpoints[o] && (s = r.breakpoints[o]) 18514 : n > r.breakpoints[o] && (s = r.breakpoints[o])); 18515 null !== s 18516 ? null !== r.activeBreakpoint 18517 ? (s !== r.activeBreakpoint || t) && 18518 ((r.activeBreakpoint = s),
18519 'unslick' === r.breakpointSettings[s] 18520 ? r.unslick(s) 18521 : ((r.options = i.extend( 18522 {}, 18523 r.originalSettings, 18524 r.breakpointSettings[s] 18525 )), 18526 !0 === e && 18527 (r.currentSlide = r.options.initialSlide), 18528 r.refresh(e)), 18529 (l = s)) 18530 : ((r.activeBreakpoint = s), 18531 'unslick' === r.breakpointSettings[s] 18532 ? r.unslick(s) 18533 : ((r.options = i.extend( 18534 {}, 18535 r.originalSettings, 18536 r.breakpointSettings[s] 18537 )), 18538 !0 === e && 18539 (r.currentSlide = r.options.initialSlide), 18540 r.refresh(e)), 18541 (l = s)) 18542 : null !== r.activeBreakpoint && 18543 ((r.activeBreakpoint = null), 18544 (r.options = r.originalSettings), 18545 !0 === e && (r.currentSlide = r.options.initialSlide), 18546 r.refresh(e), 18547 (l = s)), 18548 e || !1 === l || r.$slider.trigger('breakpoint', [r, l]); 18549 } 18550 }), 18551 (e.prototype.changeSlide = function (e, t) { 18552 var o, 18553 s, 18554 n, 18555 r = this, 18556 l = i(e.currentTarget); 18557 switch ( 18558 (l.is('a') && e.preventDefault(), 18559 l.is('li') || (l = l.closest('li')), 18560 (n = r.slideCount % r.options.slidesToScroll != 0), 18561 (o = n 18562 ? 0 18563 : (r.slideCount - r.currentSlide) % 18564 r.options.slidesToScroll), 18565 e.data.message) 18566 ) { 18567 case 'previous': 18568 (s = 18569 0 === o 18570 ? r.options.slidesToScroll 18571 : r.options.slidesToShow - o), 18572 r.slideCount > r.options.slidesToShow && 18573 r.slideHandler(r.currentSlide - s, !1, t); 18574 break; 18575 case 'next': 18576 (s = 0 === o ? r.options.slidesToScroll : o), 18577 r.slideCount > r.options.slidesToShow && 18578 r.slideHandler(r.currentSlide + s, !1, t); 18579 break; 18580 case 'index': 18581 var d = 18582 0 === e.data.index 18583 ? 0 18584 : e.data.index || 18585 l.index() * r.options.slidesToScroll; 18586 r.slideHandler(r.checkNavigable(d), !1, t), 18587 l.children().trigger('focus'); 18588 break; 18589 default: 18590 return; 18591 } 18592 }), 18593 (e.prototype.checkNavigable = function (i) { 18594 var e, t; 18595 if ( 18596 ((e = this.getNavigableIndexes()), (t = 0), i > e[e.length - 1]) 18597 ) 18598 i = e[e.length - 1]; 18599 else 18600 for (var o in e) { 18601 if (i < e[o]) { 18602 i = t; 18603 break; 18604 } 18605 t = e[o]; 18606 } 18607 return i; 18608 }), 18609 (e.prototype.cleanUpEvents = function () { 18610 var e = this; 18611 e.options.dots && 18612 null !== e.$dots && 18613 (i('li', e.$dots) 18614 .off('click.slick', e.changeSlide) 18615 .off('mouseenter.slick', i.proxy(e.interrupt, e, !0)) 18616 .off('mouseleave.slick', i.proxy(e.interrupt, e, !1)), 18617 !0 === e.options.accessibility && 18618 e.$dots.off('keydown.slick', e.keyHandler)), 18619 e.$slider.off('focus.slick blur.slick'), 18620 !0 === e.options.arrows && 18621 e.slideCount > e.options.slidesToShow && 18622 (e.$prevArrow && 18623 e.$prevArrow.off('click.slick', e.changeSlide), 18624 e.$nextArrow && 18625 e.$nextArrow.off('click.slick', e.changeSlide), 18626 !0 === e.options.accessibility && 18627 (e.$prevArrow && 18628 e.$prevArrow.off('keydown.slick', e.keyHandler), 18629 e.$nextArrow && 18630 e.$nextArrow.off('keydown.slick', e.keyHandler))), 18631 e.$list.off('touchstart.slick mousedown.slick', e.swipeHandler), 18632 e.$list.off('touchmove.slick mousemove.slick', e.swipeHandler), 18633 e.$list.off('touchend.slick mouseup.slick', e.swipeHandler), 18634 e.$list.off(
18635 'touchcancel.slick mouseleave.slick', 18636 e.swipeHandler 18637 ), 18638 e.$list.off('click.slick', e.clickHandler), 18639 i(document).off(e.visibilityChange, e.visibility), 18640 e.cleanUpSlideEvents(), 18641 !0 === e.options.accessibility && 18642 e.$list.off('keydown.slick', e.keyHandler), 18643 !0 === e.options.focusOnSelect && 18644 i(e.$slideTrack) 18645 .children() 18646 .off('click.slick', e.selectHandler), 18647 i(window).off( 18648 'orientationchange.slick.slick-' + e.instanceUid, 18649 e.orientationChange 18650 ), 18651 i(window).off('resize.slick.slick-' + e.instanceUid, e.resize), 18652 i('[draggable!=true]', e.$slideTrack).off( 18653 'dragstart', 18654 e.preventDefault 18655 ), 18656 i(window).off( 18657 'load.slick.slick-' + e.instanceUid, 18658 e.setPosition 18659 ); 18660 }), 18661 (e.prototype.cleanUpSlideEvents = function () { 18662 var e = this; 18663 e.$list.off('mouseenter.slick', i.proxy(e.interrupt, e, !0)), 18664 e.$list.off('mouseleave.slick', i.proxy(e.interrupt, e, !1)); 18665 }), 18666 (e.prototype.cleanUpRows = function () { 18667 var i, 18668 e = this; 18669 e.options.rows > 1 && 18670 ((i = e.$slides.children().children()).removeAttr('style'), 18671 e.$slider.empty().append(i)); 18672 }), 18673 (e.prototype.clickHandler = function (i) { 18674 !1 === this.shouldClick && 18675 (i.stopImmediatePropagation(), 18676 i.stopPropagation(), 18677 i.preventDefault()); 18678 }), 18679 (e.prototype.destroy = function (e) { 18680 var t = this; 18681 t.autoPlayClear(), 18682 (t.touchObject = {}), 18683 t.cleanUpEvents(), 18684 i('.slick-cloned', t.$slider).detach(), 18685 t.$dots && t.$dots.remove(), 18686 t.$prevArrow && 18687 t.$prevArrow.length && 18688 (t.$prevArrow 18689 .removeClass('slick-disabled slick-arrow slick-hidden') 18690 .removeAttr('aria-hidden aria-disabled tabindex') 18691 .css('display', ''), 18692 t.htmlExpr.test(t.options.prevArrow) && 18693 t.$prevArrow.remove()), 18694 t.$nextArrow && 18695 t.$nextArrow.length && 18696 (t.$nextArrow 18697 .removeClass('slick-disabled slick-arrow slick-hidden') 18698 .removeAttr('aria-hidden aria-disabled tabindex') 18699 .css('display', ''), 18700 t.htmlExpr.test(t.options.nextArrow) && 18701 t.$nextArrow.remove()), 18702 t.$slides && 18703 (t.$slides 18704 .removeClass( 18705 'slick-slide slick-active slick-center slick-visible slick-current' 18706 ) 18707 .removeAttr('aria-hidden') 18708 .removeAttr('data-slick-index') 18709 .each(function () { 18710 i(this).attr( 18711 'style', 18712 i(this).data('originalStyling') 18713 ); 18714 }), 18715 t.$slideTrack.children(this.options.slide).detach(), 18716 t.$slideTrack.detach(), 18717 t.$list.detach(), 18718 t.$slider.append(t.$slides)), 18719 t.cleanUpRows(), 18720 t.$slider.removeClass('slick-slider'), 18721 t.$slider.removeClass('slick-initialized'), 18722 t.$slider.removeClass('slick-dotted'), 18723 (t.unslicked = !0), 18724 e || t.$slider.trigger('destroy', [t]); 18725 }), 18726 (e.prototype.disableTransition = function (i) { 18727 var e = this, 18728 t = {}; 18729 (t[e.transitionType] = ''), 18730 !1 === e.options.fade 18731 ? e.$slideTrack.css(t) 18732 : e.$slides.eq(i).css(t); 18733 }), 18734 (e.prototype.fadeSlide = function (i, e) { 18735 var t = this; 18736 !1 === t.cssTransitions 18737 ? (t.$slides.eq(i).css({ zIndex: t.options.zIndex }), 18738 t.$slides 18739 .eq(i) 18740 .animate( 18741 { opacity: 1 }, 18742 t.options.speed, 18743 t.options.easing, 18744 e 18745 )) 18746 : (t.applyTransition(i), 18747 t.$slides.eq(i).css({ opacity: 1, zIndex: t.options.zIndex }), 18748 e && 18749 setTimeout(function () { 18750 t.disableTransition(i), e.call(); 18751 }, t.options.speed)); 18752 }), 18753 (e.prototype.fadeSlideOut = function (i) { 18754 var e = this; 18755 !1 === e.cssTransitions 18756 ? e.$slides 18757 .eq(i) 18758 .animate( 18759 { opacity: 0, zIndex: e.options.zIndex - 2 }, 18760 e.options.speed, 18761 e.options.easing 18762 ) 18763 : (e.applyTransition(i), 18764 e.$slides 18765 .eq(i) 18766 .css({ opacity: 0, zIndex: e.options.zIndex - 2 })); 18767 }),
18768 (e.prototype.filterSlides = e.prototype.slickFilter = 18769 function (i) { 18770 var e = this; 18771 null !== i && 18772 ((e.$slidesCache = e.$slides), 18773 e.unload(), 18774 e.$slideTrack.children(this.options.slide).detach(), 18775 e.$slidesCache.filter(i).appendTo(e.$slideTrack), 18776 e.reinit()); 18777 }), 18778 (e.prototype.focusHandler = function () { 18779 var e = this; 18780 e.$slider 18781 .off('focus.slick blur.slick') 18782 .on('focus.slick blur.slick', '*', function (t) { 18783 t.stopImmediatePropagation(); 18784 var o = i(this); 18785 setTimeout(function () { 18786 e.options.pauseOnFocus && 18787 ((e.focussed = o.is(':focus')), e.autoPlay()); 18788 }, 0); 18789 }); 18790 }), 18791 (e.prototype.getCurrent = e.prototype.slickCurrentSlide = 18792 function () { 18793 return this.currentSlide; 18794 }), 18795 (e.prototype.getDotCount = function () { 18796 var i = this, 18797 e = 0, 18798 t = 0, 18799 o = 0; 18800 if (!0 === i.options.infinite) 18801 if (i.slideCount <= i.options.slidesToShow) ++o; 18802 else 18803 for (; e < i.slideCount; ) 18804 ++o, 18805 (e = t + i.options.slidesToScroll), 18806 (t += 18807 i.options.slidesToScroll <= 18808 i.options.slidesToShow 18809 ? i.options.slidesToScroll 18810 : i.options.slidesToShow); 18811 else if (!0 === i.options.centerMode) o = i.slideCount; 18812 else if (i.options.asNavFor) 18813 for (; e < i.slideCount; ) 18814 ++o, 18815 (e = t + i.options.slidesToScroll), 18816 (t += 18817 i.options.slidesToScroll <= i.options.slidesToShow 18818 ? i.options.slidesToScroll 18819 : i.options.slidesToShow); 18820 else 18821 o = 18822 1 + 18823 Math.ceil( 18824 (i.slideCount - i.options.slidesToShow) / 18825 i.options.slidesToScroll 18826 ); 18827 return o - 1; 18828 }), 18829 (e.prototype.getLeft = function (i) { 18830 var e, 18831 t, 18832 o, 18833 s, 18834 n = this, 18835 r = 0; 18836 return ( 18837 (n.slideOffset = 0), 18838 (t = n.$slides.first().outerHeight(!0)), 18839 !0 === n.options.infinite 18840 ? (n.slideCount > n.options.slidesToShow && 18841 ((n.slideOffset = 18842 n.slideWidth * n.options.slidesToShow * -1), 18843 (s = -1), 18844 !0 === n.options.vertical && 18845 !0 === n.options.centerMode && 18846 (2 === n.options.slidesToShow 18847 ? (s = -1.5) 18848 : 1 === n.options.slidesToShow && (s = -2)), 18849 (r = t * n.options.slidesToShow * s)), 18850 n.slideCount % n.options.slidesToScroll != 0 && 18851 i + n.options.slidesToScroll > n.slideCount && 18852 n.slideCount > n.options.slidesToShow && 18853 (i > n.slideCount 18854 ? ((n.slideOffset = 18855 (n.options.slidesToShow - 18856 (i - n.slideCount)) * 18857 n.slideWidth * 18858 -1), 18859 (r = 18860 (n.options.slidesToShow - 18861 (i - n.slideCount)) * 18862 t * 18863 -1)) 18864 : ((n.slideOffset = 18865 (n.slideCount % n.options.slidesToScroll) * 18866 n.slideWidth * 18867 -1), 18868 (r = 18869 (n.slideCount % n.options.slidesToScroll) * 18870 t * 18871 -1)))) 18872 : i + n.options.slidesToShow > n.slideCount && 18873 ((n.slideOffset = 18874 (i + n.options.slidesToShow - n.slideCount) * 18875 n.slideWidth), 18876 (r = (i + n.options.slidesToShow - n.slideCount) * t)), 18877 n.slideCount <= n.options.slidesToShow && 18878 ((n.slideOffset = 0), (r = 0)), 18879 !0 === n.options.centerMode && 18880 n.slideCount <= n.options.slidesToShow 18881 ? (n.slideOffset = 18882 (n.slideWidth * Math.floor(n.options.slidesToShow)) / 18883 2 - 18884 (n.slideWidth * n.slideCount) / 2) 18885 : !0 === n.options.centerMode && !0 === n.options.infinite 18886 ? (n.slideOffset += 18887 n.slideWidth * 18888 Math.floor(n.options.slidesToShow / 2) - 18889 n.slideWidth) 18890 : !0 === n.options.centerMode && 18891 ((n.slideOffset = 0), 18892 (n.slideOffset += 18893 n.slideWidth * 18894 Math.floor(n.options.slidesToShow / 2))), 18895 (e = 18896 !1 === n.options.vertical 18897 ? i * n.slideWidth * -1 + n.slideOffset 18898 : i * t * -1 + r), 18899 !0 === n.options.variableWidth && 18900 ((o = 18901 n.slideCount <= n.options.slidesToShow || 18902 !1 === n.options.infinite 18903 ? n.$slideTrack.children('.slick-slide').eq(i) 18904 : n.$slideTrack 18905 .children('.slick-slide') 18906 .eq(i + n.options.slidesToShow)), 18907 (e = 18908 !0 === n.options.rtl 18909 ? o[0] 18910 ? -1 * 18911 (n.$slideTrack.width() - 18912 o[0].offsetLeft - 18913 o.width()) 18914 : 0 18915 : o[0] 18916 ? -1 * o[0].offsetLeft 18917 : 0), 18918 !0 === n.options.centerMode && 18919 ((o = 18920 n.slideCount <= n.options.slidesToShow || 18921 !1 === n.options.infinite 18922 ? n.$slideTrack.children('.slick-slide').eq(i) 18923 : n.$slideTrack 18924 .children('.slick-slide') 18925 .eq(i + n.options.slidesToShow + 1)), 18926 (e = 18927 !0 === n.options.rtl 18928 ? o[0] 18929 ? -1 * 18930 (n.$slideTrack.width() - 18931 o[0].offsetLeft - 18932 o.width()) 18933 : 0 18934 : o[0] 18935 ? -1 * o[0].offsetLeft 18936 : 0), 18937 (e += (n.$list.width() - o.outerWidth()) / 2))), 18938 e 18939 ); 18940 }), 18941 (e.prototype.getOption = e.prototype.slickGetOption = 18942 function (i) { 18943 return this.options[i]; 18944 }), 18945 (e.prototype.getNavigableIndexes = function () { 18946 var i, 18947 e = this, 18948 t = 0, 18949 o = 0, 18950 s = []; 18951 for ( 18952 !1 === e.options.infinite 18953 ? (i = e.slideCount) 18954 : ((t = -1 * e.options.slidesToScroll), 18955 (o = -1 * e.options.slidesToScroll),
18956 (i = 2 * e.slideCount)); 18957 t < i; 18958 18959 ) 18960 s.push(t), 18961 (t = o + e.options.slidesToScroll), 18962 (o += 18963 e.options.slidesToScroll <= e.options.slidesToShow 18964 ? e.options.slidesToScroll 18965 : e.options.slidesToShow); 18966 return s; 18967 }), 18968 (e.prototype.getSlick = function () { 18969 return this; 18970 }), 18971 (e.prototype.getSlideCount = function () { 18972 var e, 18973 t, 18974 o = this; 18975 return ( 18976 (t = 18977 !0 === o.options.centerMode 18978 ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) 18979 : 0), 18980 !0 === o.options.swipeToSlide 18981 ? (o.$slideTrack.find('.slick-slide').each(function (s, n) { 18982 if ( 18983 n.offsetLeft - t + i(n).outerWidth() / 2 > 18984 -1 * o.swipeLeft 18985 ) 18986 return (e = n), !1; 18987 }), 18988 Math.abs( 18989 i(e).attr('data-slick-index') - o.currentSlide 18990 ) || 1) 18991 : o.options.slidesToScroll 18992 ); 18993 }), 18994 (e.prototype.goTo = e.prototype.slickGoTo = 18995 function (i, e) { 18996 this.changeSlide( 18997 { data: { message: 'index', index: parseInt(i) } }, 18998 e 18999 ); 19000 }), 19001 (e.prototype.init = function (e) { 19002 var t = this; 19003 i(t.$slider).hasClass('slick-initialized') || 19004 (i(t.$slider).addClass('slick-initialized'), 19005 t.buildRows(), 19006 t.buildOut(), 19007 t.setProps(), 19008 t.startLoad(), 19009 t.loadSlider(), 19010 t.initializeEvents(), 19011 t.updateArrows(), 19012 t.updateDots(), 19013 t.checkResponsive(!0), 19014 t.focusHandler()), 19015 e && t.$slider.trigger('init', [t]), 19016 !0 === t.options.accessibility && t.initADA(), 19017 t.options.autoplay && ((t.paused = !1), t.autoPlay()); 19018 }), 19019 (e.prototype.initADA = function () { 19020 var e = this, 19021 t = Math.ceil(e.slideCount / e.options.slidesToShow), 19022 o = e.getNavigableIndexes().filter(function (i) { 19023 return i >= 0 && i < e.slideCount; 19024 }); 19025 e.$slides 19026 .add(e.$slideTrack.find('.slick-cloned')) 19027 .attr({ 'aria-hidden': 'true', tabindex: '-1' }) 19028 .find('a, input, button, select') 19029 .attr({ tabindex: '-1' }), 19030 null !== e.$dots && 19031 (e.$slides 19032 .not(e.$slideTrack.find('.slick-cloned')) 19033 .each(function (t) { 19034 var s = o.indexOf(t); 19035 i(this).attr({ 19036 role: 'tabpanel', 19037 id: 'slick-slide' + e.instanceUid + t, 19038 tabindex: -1 19039 }), 19040 -1 !== s && 19041 i(this).attr({ 19042 'aria-describedby': 19043 'slick-slide-control' + 19044 e.instanceUid + 19045 s 19046 }); 19047 }), 19048 e.$dots 19049 .attr('role', 'tablist') 19050 .find('li') 19051 .each(function (s) { 19052 var n = o[s]; 19053 i(this).attr({ role: 'presentation' }), 19054 i(this) 19055 .find('button') 19056 .first() 19057 .attr({ 19058 role: 'tab', 19059 id: 19060 'slick-slide-control' + 19061 e.instanceUid + 19062 s, 19063 'aria-controls': 19064 'slick-slide' + e.instanceUid + n, 19065 'aria-label': s + 1 + ' of ' + t, 19066 'aria-selected': null, 19067 tabindex: '-1' 19068 }); 19069 }) 19070 .eq(e.currentSlide) 19071 .find('button') 19072 .attr({ 'aria-selected': 'true', tabindex: '0' }) 19073 .end()); 19074 for ( 19075 var s = e.currentSlide, n = s + e.options.slidesToShow; 19076 s < n; 19077 s++ 19078 ) 19079 e.$slides.eq(s).attr('tabindex', 0); 19080 e.activateADA(); 19081 }), 19082 (e.prototype.initArrowEvents = function () { 19083 var i = this; 19084 !0 === i.options.arrows && 19085 i.slideCount > i.options.slidesToShow && 19086 (i.$prevArrow 19087 .off('click.slick') 19088 .on('click.slick', { message: 'previous' }, i.changeSlide), 19089 i.$nextArrow 19090 .off('click.slick') 19091 .on('click.slick', { message: 'next' }, i.changeSlide), 19092 !0 === i.options.accessibility && 19093 (i.$prevArrow.on('keydown.slick', i.keyHandler), 19094 i.$nextArrow.on('keydown.slick', i.keyHandler))); 19095 }), 19096 (e.prototype.initDotEvents = function () { 19097 var e = this; 19098 !0 === e.options.dots && 19099 (i('li', e.$dots).on( 19100 'click.slick', 19101 { message: 'index' }, 19102 e.changeSlide 19103 ), 19104 !0 === e.options.accessibility && 19105 e.$dots.on('keydown.slick', e.keyHandler)), 19106 !0 === e.options.dots && 19107 !0 === e.options.pauseOnDotsHover && 19108 i('li', e.$dots) 19109 .on('mouseenter.slick', i.proxy(e.interrupt, e, !0))
19110 .on('mouseleave.slick', i.proxy(e.interrupt, e, !1)); 19111 }), 19112 (e.prototype.initSlideEvents = function () { 19113 var e = this; 19114 e.options.pauseOnHover && 19115 (e.$list.on('mouseenter.slick', i.proxy(e.interrupt, e, !0)), 19116 e.$list.on('mouseleave.slick', i.proxy(e.interrupt, e, !1))); 19117 }), 19118 (e.prototype.initializeEvents = function () { 19119 var e = this; 19120 e.initArrowEvents(), 19121 e.initDotEvents(), 19122 e.initSlideEvents(), 19123 e.$list.on( 19124 'touchstart.slick mousedown.slick', 19125 { action: 'start' }, 19126 e.swipeHandler 19127 ), 19128 e.$list.on( 19129 'touchmove.slick mousemove.slick', 19130 { action: 'move' }, 19131 e.swipeHandler 19132 ), 19133 e.$list.on( 19134 'touchend.slick mouseup.slick', 19135 { action: 'end' }, 19136 e.swipeHandler 19137 ), 19138 e.$list.on(
19139 'touchcancel.slick mouseleave.slick', 19140 { action: 'end' }, 19141 e.swipeHandler 19142 ), 19143 e.$list.on('click.slick', e.clickHandler), 19144 i(document).on(e.visibilityChange, i.proxy(e.visibility, e)), 19145 !0 === e.options.accessibility && 19146 e.$list.on('keydown.slick', e.keyHandler), 19147 !0 === e.options.focusOnSelect && 19148 i(e.$slideTrack) 19149 .children() 19150 .on('click.slick', e.selectHandler), 19151 i(window).on( 19152 'orientationchange.slick.slick-' + e.instanceUid, 19153 i.proxy(e.orientationChange, e) 19154 ), 19155 i(window).on( 19156 'resize.slick.slick-' + e.instanceUid, 19157 i.proxy(e.resize, e) 19158 ), 19159 i('[draggable!=true]', e.$slideTrack).on( 19160 'dragstart', 19161 e.preventDefault 19162 ), 19163 i(window).on( 19164 'load.slick.slick-' + e.instanceUid, 19165 e.setPosition 19166 ), 19167 i(e.setPosition); 19168 }), 19169 (e.prototype.initUI = function () { 19170 var i = this; 19171 !0 === i.options.arrows && 19172 i.slideCount > i.options.slidesToShow && 19173 (i.$prevArrow.show(), i.$nextArrow.show()), 19174 !0 === i.options.dots && 19175 i.slideCount > i.options.slidesToShow && 19176 i.$dots.show(); 19177 }), 19178 (e.prototype.keyHandler = function (i) { 19179 var e = this; 19180 i.target.tagName.match('TEXTAREA|INPUT|SELECT') || 19181 (37 === i.keyCode && !0 === e.options.accessibility 19182 ? e.changeSlide({ 19183 data: { 19184 message: 19185 !0 === e.options.rtl ? 'next' : 'previous' 19186 } 19187 }) 19188 : 39 === i.keyCode && 19189 !0 === e.options.accessibility && 19190 e.changeSlide({ 19191 data: { 19192 message: 19193 !0 === e.options.rtl ? 'previous' : 'next' 19194 } 19195 })); 19196 }), 19197 (e.prototype.lazyLoad = function () { 19198 function e(e) { 19199 i('img[data-lazy]', e).each(function () { 19200 var e = i(this), 19201 t = i(this).attr('data-lazy'), 19202 o = i(this).attr('data-srcset'), 19203 s = 19204 i(this).attr('data-sizes') || 19205 n.$slider.attr('data-sizes'), 19206 r = document.createElement('img'); 19207 (r.onload = function () { 19208 e.animate({ opacity: 0 }, 100, function () { 19209 o && (e.attr('srcset', o), s && e.attr('sizes', s)), 19210 e 19211 .attr('src', t) 19212 .animate({ opacity: 1 }, 200, function () { 19213 e.removeAttr( 19214 'data-lazy data-srcset data-sizes' 19215 ).removeClass('slick-loading'); 19216 }), 19217 n.$slider.trigger('lazyLoaded', [n, e, t]); 19218 }); 19219 }), 19220 (r.onerror = function () { 19221 e 19222 .removeAttr('data-lazy') 19223 .removeClass('slick-loading') 19224 .addClass('slick-lazyload-error'), 19225 n.$slider.trigger('lazyLoadError', [n, e, t]); 19226 }), 19227 (r.src = t); 19228 }); 19229 } 19230 var t, 19231 o, 19232 s, 19233 n = this; 19234 if ( 19235 (!0 === n.options.centerMode 19236 ? !0 === n.options.infinite 19237 ? (s = 19238 (o = 19239 n.currentSlide + 19240 (n.options.slidesToShow / 2 + 1)) + 19241 n.options.slidesToShow + 19242 2) 19243 : ((o = Math.max( 19244 0, 19245 n.currentSlide - (n.options.slidesToShow / 2 + 1) 19246 )), 19247 (s = 19248 n.options.slidesToShow / 2 + 19249 1 + 19250 2 + 19251 n.currentSlide)) 19252 : ((o = n.options.infinite 19253 ? n.options.slidesToShow + n.currentSlide 19254 : n.currentSlide), 19255 (s = Math.ceil(o + n.options.slidesToShow)), 19256 !0 === n.options.fade && 19257 (o > 0 && o--, s <= n.slideCount && s++)), 19258 (t = n.$slider.find('.slick-slide').slice(o, s)), 19259 'anticipated' === n.options.lazyLoad) 19260 ) 19261 for ( 19262 var r = o - 1, 19263 l = s, 19264 d = n.$slider.find('.slick-slide'), 19265 a = 0; 19266 a < n.options.slidesToScroll; 19267 a++ 19268 ) 19269 r < 0 && (r = n.slideCount - 1), 19270 (t = (t = t.add(d.eq(r))).add(d.eq(l))), 19271 r--, 19272 l++; 19273 e(t), 19274 n.slideCount <= n.options.slidesToShow 19275 ? e(n.$slider.find('.slick-slide')) 19276 : n.currentSlide >= n.slideCount - n.options.slidesToShow 19277 ? e( 19278 n.$slider 19279 .find('.slick-cloned') 19280 .slice(0, n.options.slidesToShow) 19281 ) 19282 : 0 === n.currentSlide && 19283 e( 19284 n.$slider 19285 .find('.slick-cloned') 19286 .slice(-1 * n.options.slidesToShow) 19287 ); 19288 }), 19289 (e.prototype.loadSlider = function () { 19290 var i = this; 19291 i.setPosition(), 19292 i.$slideTrack.css({ opacity: 1 }), 19293 i.$slider.removeClass('slick-loading'), 19294 i.initUI(), 19295 'progressive' === i.options.lazyLoad && i.progressiveLazyLoad(); 19296 }), 19297 (e.prototype.next = e.prototype.slickNext = 19298 function () { 19299 this.changeSlide({ data: { message: 'next' } }); 19300 }), 19301 (e.prototype.orientationChange = function () { 19302 var i = this; 19303 i.checkResponsive(), i.setPosition(); 19304 }), 19305 (e.prototype.pause = e.prototype.slickPause = 19306 function () { 19307 var i = this; 19308 i.autoPlayClear(), (i.paused = !0); 19309 }), 19310 (e.prototype.play = e.prototype.slickPlay = 19311 function () { 19312 var i = this; 19313 i.autoPlay(), 19314 (i.options.autoplay = !0), 19315 (i.paused = !1), 19316 (i.focussed = !1), 19317 (i.interrupted = !1); 19318 }), 19319 (e.prototype.postSlide = function (e) { 19320 var t = this; 19321 t.unslicked || 19322 (t.$slider.trigger('afterChange', [t, e]), 19323 (t.animating = !1), 19324 t.slideCount > t.options.slidesToShow && t.setPosition(), 19325 (t.swipeLeft = null),
19326 t.options.autoplay && t.autoPlay(), 19327 !0 === t.options.accessibility && 19328 (t.initADA(), 19329 t.options.focusOnChange && 19330 i(t.$slides.get(t.currentSlide)) 19331 .attr('tabindex', 0) 19332 .focus())); 19333 }), 19334 (e.prototype.prev = e.prototype.slickPrev = 19335 function () { 19336 this.changeSlide({ data: { message: 'previous' } }); 19337 }), 19338 (e.prototype.preventDefault = function (i) { 19339 i.preventDefault(); 19340 }), 19341 (e.prototype.progressiveLazyLoad = function (e) { 19342 e = e || 1; 19343 var t, 19344 o, 19345 s, 19346 n, 19347 r, 19348 l = this, 19349 d = i('img[data-lazy]', l.$slider); 19350 d.length 19351 ? ((t = d.first()), 19352 (o = t.attr('data-lazy')), 19353 (s = t.attr('data-srcset')), 19354 (n = t.attr('data-sizes') || l.$slider.attr('data-sizes')), 19355 ((r = document.createElement('img')).onload = function () { 19356 s && (t.attr('srcset', s), n && t.attr('sizes', n)), 19357 t 19358 .attr('src', o) 19359 .removeAttr('data-lazy data-srcset data-sizes') 19360 .removeClass('slick-loading'), 19361 !0 === l.options.adaptiveHeight && l.setPosition(), 19362 l.$slider.trigger('lazyLoaded', [l, t, o]), 19363 l.progressiveLazyLoad(); 19364 }), 19365 (r.onerror = function () { 19366 e < 3 19367 ? setTimeout(function () { 19368 l.progressiveLazyLoad(e + 1); 19369 }, 500) 19370 : (t 19371 .removeAttr('data-lazy') 19372 .removeClass('slick-loading') 19373 .addClass('slick-lazyload-error'), 19374 l.$slider.trigger('lazyLoadError', [l, t, o]), 19375 l.progressiveLazyLoad()); 19376 }), 19377 (r.src = o)) 19378 : l.$slider.trigger('allImagesLoaded', [l]); 19379 }), 19380 (e.prototype.refresh = function (e) { 19381 var t, 19382 o, 19383 s = this; 19384 (o = s.slideCount - s.options.slidesToShow), 19385 !s.options.infinite && 19386 s.currentSlide > o && 19387 (s.currentSlide = o), 19388 s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0), 19389 (t = s.currentSlide), 19390 s.destroy(!0), 19391 i.extend(s, s.initials, { currentSlide: t }), 19392 s.init(), 19393 e || 19394 s.changeSlide({ data: { message: 'index', index: t } }, !1); 19395 }), 19396 (e.prototype.registerBreakpoints = function () { 19397 var e, 19398 t, 19399 o, 19400 s = this, 19401 n = s.options.responsive || null; 19402 if ('array' === i.type(n) && n.length) { 19403 s.respondTo = s.options.respondTo || 'window'; 19404 for (e in n) 19405 if (((o = s.breakpoints.length - 1), n.hasOwnProperty(e))) { 19406 for (t = n[e].breakpoint; o >= 0; ) 19407 s.breakpoints[o] && 19408 s.breakpoints[o] === t && 19409 s.breakpoints.splice(o, 1), 19410 o--; 19411 s.breakpoints.push(t), 19412 (s.breakpointSettings[t] = n[e].settings); 19413 } 19414 s.breakpoints.sort(function (i, e) { 19415 return s.options.mobileFirst ? i - e : e - i; 19416 }); 19417 } 19418 }), 19419 (e.prototype.reinit = function () { 19420 var e = this; 19421 (e.$slides = e.$slideTrack 19422 .children(e.options.slide) 19423 .addClass('slick-slide')), 19424 (e.slideCount = e.$slides.length), 19425 e.currentSlide >= e.slideCount && 19426 0 !== e.currentSlide && 19427 (e.currentSlide = 19428 e.currentSlide - e.options.slidesToScroll), 19429 e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), 19430 e.registerBreakpoints(), 19431 e.setProps(), 19432 e.setupInfinite(), 19433 e.buildArrows(), 19434 e.updateArrows(), 19435 e.initArrowEvents(), 19436 e.buildDots(), 19437 e.updateDots(), 19438 e.initDotEvents(), 19439 e.cleanUpSlideEvents(), 19440 e.initSlideEvents(), 19441 e.checkResponsive(!1, !0), 19442 !0 === e.options.focusOnSelect && 19443 i(e.$slideTrack) 19444 .children() 19445 .on('click.slick', e.selectHandler), 19446 e.setSlideClasses( 19447 'number' == typeof e.currentSlide ? e.currentSlide : 0 19448 ), 19449 e.setPosition(), 19450 e.focusHandler(), 19451 (e.paused = !e.options.autoplay), 19452 e.autoPlay(), 19453 e.$slider.trigger('reInit', [e]); 19454 }), 19455 (e.prototype.resize = function () { 19456 var e = this; 19457 i(window).width() !== e.windowWidth && 19458 (clearTimeout(e.windowDelay), 19459 (e.windowDelay = window.setTimeout(function () { 19460 (e.windowWidth = i(window).width()), 19461 e.checkResponsive(), 19462 e.unslicked || e.setPosition(); 19463 }, 50))); 19464 }), 19465 (e.prototype.removeSlide = e.prototype.slickRemove = 19466 function (i, e, t) { 19467 var o = this; 19468 if ( 19469 ((i = 19470 'boolean' == typeof i 19471 ? !0 === (e = i) 19472 ? 0 19473 : o.slideCount - 1 19474 : !0 === e 19475 ? --i 19476 : i), 19477 o.slideCount < 1 || i < 0 || i > o.slideCount - 1) 19478 ) 19479 return !1; 19480 o.unload(), 19481 !0 === t 19482 ? o.$slideTrack.children().remove() 19483 : o.$slideTrack 19484 .children(this.options.slide) 19485 .eq(i) 19486 .remove(), 19487 (o.$slides = o.$slideTrack.children(this.options.slide)), 19488 o.$slideTrack.children(this.options.slide).detach(), 19489 o.$slideTrack.append(o.$slides), 19490 (o.$slidesCache = o.$slides), 19491 o.reinit(); 19492 }), 19493 (e.prototype.setCSS = function (i) { 19494 var e, 19495 t, 19496 o = this, 19497 s = {}; 19498 !0 === o.options.rtl && (i = -i), 19499 (e = 'left' == o.positionProp ? Math.ceil(i) + 'px' : '0px'), 19500 (t = 'top' == o.positionProp ? Math.ceil(i) + 'px' : '0px'), 19501 (s[o.positionProp] = i), 19502 !1 === o.transformsEnabled 19503 ? o.$slideTrack.css(s) 19504 : ((s = {}), 19505 !1 === o.cssTransitions 19506 ? ((s[o.animType] = 19507 'translate(' + e + ', ' + t + ')'), 19508 o.$slideTrack.css(s)) 19509 : ((s[o.animType] = 19510 'translate3d(' + e + ', ' + t + ', 0px)'), 19511 o.$slideTrack.css(s))); 19512 }), 19513 (e.prototype.setDimensions = function () { 19514 var i = this; 19515 !1 === i.options.vertical 19516 ? !0 === i.options.centerMode && 19517 i.$list.css({ padding: '0px ' + i.options.centerPadding }) 19518 : (i.$list.height( 19519 i.$slides.first().outerHeight(!0) * i.options.slidesToShow 19520 ), 19521 !0 === i.options.centerMode && 19522 i.$list.css({ 19523 padding: i.options.centerPadding + ' 0px' 19524 })), 19525 (i.listWidth = i.$list.width()), 19526 (i.listHeight = i.$list.height()), 19527 !1 === i.options.vertical && !1 === i.options.variableWidth 19528 ? ((i.slideWidth = Math.ceil( 19529 i.listWidth / i.options.slidesToShow 19530 )), 19531 i.$slideTrack.width( 19532 Math.ceil( 19533 i.slideWidth * 19534 i.$slideTrack.children('.slick-slide').length 19535 ) 19536 )) 19537 : !0 === i.options.variableWidth 19538 ? i.$slideTrack.width(5e3 * i.slideCount) 19539 : ((i.slideWidth = Math.ceil(i.listWidth)), 19540 i.$slideTrack.height( 19541 Math.ceil( 19542 i.$slides.first().outerHeight(!0) * 19543 i.$slideTrack.children('.slick-slide').length 19544 ) 19545 )); 19546 var e = 19547 i.$slides.first().outerWidth(!0) - i.$slides.first().width(); 19548 !1 === i.options.variableWidth && 19549 i.$slideTrack.children('.slick-slide').width(i.slideWidth - e); 19550 }), 19551 (e.prototype.setFade = function () { 19552 var e, 19553 t = this; 19554 t.$slides.each(function (o, s) { 19555 (e = t.slideWidth * o * -1), 19556 !0 === t.options.rtl 19557 ? i(s).css({ 19558 position: 'relative', 19559 right: e, 19560 top: 0, 19561 zIndex: t.options.zIndex - 2, 19562 opacity: 0 19563 }) 19564 : i(s).css({ 19565 position: 'relative', 19566 left: e, 19567 top: 0, 19568 zIndex: t.options.zIndex - 2, 19569 opacity: 0 19570 }); 19571 }), 19572 t.$slides 19573 .eq(t.currentSlide) 19574 .css({ zIndex: t.options.zIndex - 1, opacity: 1 }); 19575 }), 19576 (e.prototype.setHeight = function () { 19577 var i = this; 19578 if ( 19579 1 === i.options.slidesToShow && 19580 !0 === i.options.adaptiveHeight && 19581 !1 === i.options.vertical 19582 ) { 19583 var e = i.$slides.eq(i.currentSlide).outerHeight(!0); 19584 i.$list.css('height', e); 19585 } 19586 }), 19587 (e.prototype.setOption = e.prototype.slickSetOption = 19588 function () { 19589 var e, 19590 t, 19591 o, 19592 s, 19593 n, 19594 r = this, 19595 l = !1; 19596 if ( 19597 ('object' === i.type(arguments[0]) 19598 ? ((o = arguments[0]), 19599 (l = arguments[1]), 19600 (n = 'multiple')) 19601 : 'string' === i.type(arguments[0]) && 19602 ((o = arguments[0]), 19603 (s = arguments[1]), 19604 (l = arguments[2]), 19605 'responsive' === arguments[0] && 19606 'array' === i.type(arguments[1]) 19607 ? (n = 'responsive') 19608 : void 0 !== arguments[1] && (n = 'single')), 19609 'single' === n) 19610 ) 19611 r.options[o] = s; 19612 else if ('multiple' === n) 19613 i.each(o, function (i, e) { 19614 r.options[i] = e; 19615 }); 19616 else if ('responsive' === n) 19617 for (t in s) 19618 if ('array' !== i.type(r.options.responsive)) 19619 r.options.responsive = [s[t]]; 19620 else { 19621 for (e = r.options.responsive.length - 1; e >= 0; ) 19622 r.options.responsive[e].breakpoint === 19623 s[t].breakpoint && 19624 r.options.responsive.splice(e, 1), 19625 e--; 19626 r.options.responsive.push(s[t]); 19627 } 19628 l && (r.unload(), r.reinit()); 19629 }), 19630 (e.prototype.setPosition = function () { 19631 var i = this; 19632 i.setDimensions(), 19633 i.setHeight(), 19634 !1 === i.options.fade 19635 ? i.setCSS(i.getLeft(i.currentSlide)) 19636 : i.setFade(), 19637 i.$slider.trigger('setPosition', [i]); 19638 }), 19639 (e.prototype.setProps = function () { 19640 var i = this, 19641 e = document.body.style; 19642 (i.positionProp = !0 === i.options.vertical ? 'top' : 'left'), 19643 'top' === i.positionProp 19644 ? i.$slider.addClass('slick-vertical') 19645 : i.$slider.removeClass('slick-vertical'), 19646 (void 0 === e.WebkitTransition && 19647 void 0 === e.MozTransition && 19648 void 0 === e.msTransition) || 19649 (!0 === i.options.useCSS && (i.cssTransitions = !0)), 19650 i.options.fade && 19651 ('number' == typeof i.options.zIndex 19652 ? i.options.zIndex < 3 && (i.options.zIndex = 3) 19653 : (i.options.zIndex = i.defaults.zIndex)), 19654 void 0 !== e.OTransform && 19655 ((i.animType = 'OTransform'), 19656 (i.transformType = '-o-transform'), 19657 (i.transitionType = 'OTransition'), 19658 void 0 === e.perspectiveProperty && 19659 void 0 === e.webkitPerspective && 19660 (i.animType = !1)), 19661 void 0 !== e.MozTransform && 19662 ((i.animType = 'MozTransform'), 19663 (i.transformType = '-moz-transform'), 19664 (i.transitionType = 'MozTransition'), 19665 void 0 === e.perspectiveProperty && 19666 void 0 === e.MozPerspective && 19667 (i.animType = !1)), 19668 void 0 !== e.webkitTransform && 19669 ((i.animType = 'webkitTransform'), 19670 (i.transformType = '-webkit-transform'), 19671 (i.transitionType = 'webkitTransition'), 19672 void 0 === e.perspectiveProperty && 19673 void 0 === e.webkitPerspective && 19674 (i.animType = !1)), 19675 void 0 !== e.msTransform && 19676 ((i.animType = 'msTransform'), 19677 (i.transformType = '-ms-transform'), 19678 (i.transitionType = 'msTransition'), 19679 void 0 === e.msTransform && (i.animType = !1)), 19680 void 0 !== e.transform && 19681 !1 !== i.animType && 19682 ((i.animType = 'transform'), 19683 (i.transformType = 'transform'), 19684 (i.transitionType = 'transition')), 19685 (i.transformsEnabled = 19686 i.options.useTransform && 19687 null !== i.animType && 19688 !1 !== i.animType); 19689 }), 19690 (e.prototype.setSlideClasses = function (i) { 19691 var e, 19692 t, 19693 o, 19694 s, 19695 n = this; 19696 if ( 19697 ((t = n.$slider 19698 .find('.slick-slide') 19699 .removeClass('slick-active slick-center slick-current') 19700 .attr('aria-hidden', 'true')), 19701 n.$slides.eq(i)
19701.addClass('slick-current'), 19702 !0 === n.options.centerMode) 19703 ) { 19704 var r = n.options.slidesToShow % 2 == 0 ? 1 : 0; 19705 (e = Math.floor(n.options.slidesToShow / 2)), 19706 !0 === n.options.infinite && 19707 (i >= e && i <= n.slideCount - 1 - e 19708 ? n.$slides 19709 .slice(i - e + r, i + e + 1) 19710 .addClass('slick-active') 19711 .attr('aria-hidden', 'false') 19712 : ((o = n.options.slidesToShow + i), 19713 t 19714 .slice(o - e + 1 + r, o + e + 2) 19715 .addClass('slick-active') 19716 .attr('aria-hidden', 'false')), 19717 0 === i 19718 ? t 19719 .eq(t.length - 1 - n.options.slidesToShow) 19720 .addClass('slick-center') 19721 : i === n.slideCount - 1 && 19722 t 19723 .eq(n.options.slidesToShow) 19724 .addClass('slick-center')), 19725 n.$slides.eq(i).addClass('slick-center'); 19726 } else 19727 i >= 0 && i <= n.slideCount - n.options.slidesToShow 19728 ? n.$slides 19729 .slice(i, i + n.options.slidesToShow) 19730 .addClass('slick-active') 19731 .attr('aria-hidden', 'false') 19732 : t.length <= n.options.slidesToShow 19733 ? t.addClass('slick-active').attr('aria-hidden', 'false') 19734 : ((s = n.slideCount % n.options.slidesToShow), 19735 (o = 19736 !0 === n.options.infinite 19737 ? n.options.slidesToShow + i 19738 : i), 19739 n.options.slidesToShow == n.options.slidesToScroll && 19740 n.slideCount - i < n.options.slidesToShow 19741 ? t 19742 .slice(o - (n.options.slidesToShow - s), o + s) 19743 .addClass('slick-active') 19744 .attr('aria-hidden', 'false') 19745 : t 19746 .slice(o, o + n.options.slidesToShow) 19747 .addClass('slick-active') 19748 .attr('aria-hidden', 'false')); 19749 ('ondemand' !== n.options.lazyLoad && 19750 'anticipated' !== n.options.lazyLoad) || 19751 n.lazyLoad(); 19752 }), 19753 (e.prototype.setupInfinite = function () { 19754 var e, 19755 t, 19756 o, 19757 s = this; 19758 if ( 19759 (!0 === s.options.fade && (s.options.centerMode = !1), 19760 !0 === s.options.infinite && 19761 !1 === s.options.fade && 19762 ((t = null), s.slideCount > s.options.slidesToShow)) 19763 ) { 19764 for ( 19765 o = 19766 !0 === s.options.centerMode 19767 ? s.options.slidesToShow + 1 19768 : s.options.slidesToShow, 19769 e = s.slideCount; 19770 e > s.slideCount - o; 19771 e -= 1 19772 ) 19773 (t = e - 1), 19774 i(s.$slides[t]) 19775 .clone(!0) 19776 .attr('id', '') 19777 .attr('data-slick-index', t - s.slideCount) 19778 .prependTo(s.$slideTrack) 19779 .addClass('slick-cloned'); 19780 for (e = 0; e < o + s.slideCount; e += 1) 19781 (t = e), 19782 i(s.$slides[t]) 19783 .clone(!0) 19784 .attr('id', '') 19785 .attr('data-slick-index', t + s.slideCount) 19786 .appendTo(s.$slideTrack) 19787 .addClass('slick-cloned'); 19788 s.$slideTrack 19789 .find('.slick-cloned') 19790 .find('[id]') 19791 .each(function () { 19792 i(this).attr('id', ''); 19793 }); 19794 } 19795 }), 19796 (e.prototype.interrupt = function (i) { 19797 var e = this; 19798 i || e.autoPlay(), (e.interrupted = i); 19799 }), 19800 (e.prototype.selectHandler = function (e) { 19801 var t = this, 19802 o = i(e.target).is('.slick-slide') 19803 ? i(e.target) 19804 : i(e.target).parents('.slick-slide'), 19805 s = parseInt(o.attr('data-slick-index')); 19806 s || (s = 0), 19807 t.slideCount <= t.options.slidesToShow 19808 ? t.slideHandler(s, !1, !0) 19809 : t.slideHandler(s); 19810 }), 19811 (e.prototype.slideHandler = function (i, e, t) { 19812 var o, 19813 s, 19814 n, 19815 r, 19816 l, 19817 d = null, 19818 a = this; 19819 if ( 19820 ((e = e || !1), 19821 !( 19822 (!0 === a.animating && !0 === a.options.waitForAnimate) || 19823 (!0 === a.options.fade && a.currentSlide === i) 19824 )) 19825 ) 19826 if ( 19827 (!1 === e && a.asNavFor(i), 19828 (o = i), 19829 (d = a.getLeft(o)), 19830 (r = a.getLeft(a.currentSlide)), 19831 (a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft), 19832 !1 === a.options.infinite && 19833 !1 === a.options.centerMode && 19834 (i < 0 || 19835 i > a.getDotCount() * a.options.slidesToScroll)) 19836 ) 19837 !1 === a.options.fade && 19838 ((o = a.currentSlide), 19839 !0 !== t 19840 ? a.animateSlide(r, function () { 19841 a.postSlide(o); 19842 }) 19843 : a.postSlide(o)); 19844 else if ( 19845 !1 === a.options.infinite && 19846 !0 === a.options.centerMode && 19847 (i < 0 || i > a.slideCount - a.options.slidesToScroll) 19848 ) 19849 !1 === a.options.fade && 19850 ((o = a.currentSlide), 19851 !0 !== t 19852 ? a.animateSlide(r, function () { 19853 a.postSlide(o); 19854 }) 19855 : a.postSlide(o)); 19856 else { 19857 if ( 19858 (a.options.autoplay && clearInterval(a.autoPlayTimer), 19859 (s = 19860 o < 0 19861 ? a.slideCount % a.options.slidesToScroll != 0 19862 ? a.slideCount - 19863 (a.slideCount % a.options.slidesToScroll) 19864 : a.slideCount + o 19865 : o >= a.slideCount 19866 ? a.slideCount % a.options.slidesToScroll != 0 19867 ? 0 19868 : o - a.slideCount 19869 : o), 19870 (a.animating = !0), 19871 a.$slider.trigger('beforeChange', [ 19872 a, 19873 a.currentSlide, 19874 s 19875 ]), 19876 (n = a.currentSlide), 19877 (a.currentSlide = s), 19878 a.setSlideClasses(a.currentSlide), 19879 a.options.asNavFor && 19880 (l = (l = a.getNavTarget()).slick('getSlick')) 19881 .slideCount <= l.options.slidesToShow && 19882 l.setSlideClasses(a.currentSlide), 19883 a.updateDots(), 19884 a.updateArrows(), 19885 !0 === a.options.fade) 19886 ) 19887 return ( 19888 !0 !== t 19889 ? (a.fadeSlideOut(n), 19890 a.fadeSlide(s, function () { 19891 a.postSlide(s); 19892 })) 19893 : a.postSlide(s), 19894 void a.animateHeight() 19895 ); 19896 !0 !== t 19897 ? a.animateSlide(d, function () { 19898 a.postSlide(s); 19899 }) 19900 : a.postSlide(s); 19901 } 19902 }), 19903 (e.prototype.startLoad = function () { 19904 var i = this; 19905 !0 === i.options.arrows && 19906 i.slideCount > i.options.slidesToShow && 19907 (i.$prevArrow.hide(), i.$nextArrow.hide()), 19908 !0 === i.options.dots && 19909 i.slideCount > i.options.slidesToShow && 19910 i.$dots.hide(), 19911 i.$slider.addClass('slick-loading'); 19912 }), 19913 (e.prototype.swipeDirection = function () { 19914 var i, 19915 e, 19916 t, 19917 o, 19918 s = this; 19919 return ( 19920 (i = s.touchObject.startX - s.touchObject.curX), 19921 (e = s.touchObject.startY - s.touchObject.curY), 19922 (t = Math.atan2(e, i)), 19923 (o = Math.round((180 * t) / Math.PI)) < 0 && 19924 (o = 360 - Math.abs(o)), 19925 o <= 45 && o >= 0 19926 ? !1 === s.options.rtl 19927 ? 'left' 19928 : 'right' 19929 : o <= 360 && o >= 315 19930 ? !1 === s.options.rtl 19931 ? 'left' 19932 : 'right' 19933 : o >= 135 && o <= 225 19934 ? !1 === s.options.rtl 19935 ? 'right' 19936 : 'left' 19937 : !0 === s.options.verticalSwiping 19938 ? o >= 35 && o <= 135 19939 ? 'down' 19940 : 'up' 19941 : 'vertical' 19942 ); 19943 }), 19944 (e.prototype.swipeEnd = function (i) { 19945 var e, 19946 t, 19947 o = this; 19948 if (((o.dragging = !1), (o.swiping = !1), o.scrolling)) 19949 return (o.scrolling = !1), !1; 19950 if ( 19951 ((o.interrupted = !1), 19952 (o.shouldClick = !(o.touchObject.swipeLength > 10)), 19953 void 0 === o.touchObject.curX) 19954 ) 19955 return !1; 19956 if ( 19957 (!0 === o.touchObject.edgeHit && 19958 o.$slider.trigger('edge', [o, o.swipeDirection()]), 19959 o.touchObject.swipeLength >= o.touchObject.minSwipe) 19960 ) { 19961 switch ((t = o.swipeDirection())) { 19962 case 'left': 19963 case 'down': 19964 (e = o.options.swipeToSlide 19965 ? o.checkNavigable( 19966 o.currentSlide + o.getSlideCount() 19967 ) 19968 : o.currentSlide + o.getSlideCount()), 19969 (o.currentDirection = 0); 19970 break; 19971 case 'right': 19972 case 'up': 19973 (e = o.options.swipeToSlide 19974 ? o.checkNavigable( 19975 o.currentSlide - o.getSlideCount() 19976 ) 19977 : o.currentSlide - o.getSlideCount()), 19978 (o.currentDirection = 1); 19979 } 19980 'vertical' != t && 19981 (o.slideHandler(e), 19982 (o.touchObject = {}), 19983 o.$slider.trigger('swipe', [o, t])); 19984 } else 19985 o.touchObject.startX !== o.touchObject.curX && 19986 (o.slideHandler(o.currentSlide), (o.touchObject = {})); 19987 }), 19988 (e.prototype.swipeHandler = function (i) { 19989 var e = this; 19990 if ( 19991 !( 19992 !1 === e.options.swipe || 19993 ('ontouchend' in document && !1 === e.options.swipe) || 19994 (!1 === e.options.draggable && 19995 -1 !== i.type.indexOf('mouse')) 19996 ) 19997 ) 19998 switch ( 19999 ((e.touchObject.fingerCount = 20000 i.originalEvent && void 0 !== i.originalEvent.touches 20001 ? i.originalEvent.touches.length 20002 : 1), 20003 (e.touchObject.minSwipe = 20004 e.listWidth / e.options.touchThreshold), 20005 !0 === e.options.verticalSwiping && 20006 (e.touchObject.minSwipe = 20007 e.listHeight / e.options.touchThreshold), 20008 i.data.action) 20009 ) { 20010 case 'start': 20011 e.swipeStart(i); 20012 break; 20013 case 'move': 20014 e.swipeMove(i); 20015 break; 20016 case 'end': 20017 e.swipeEnd(i); 20018 } 20019 }), 20020 (e.prototype.swipeMove = function (i) { 20021 var e, 20022 t, 20023 o, 20024 s, 20025 n, 20026 r, 20027 l = this; 20028 return ( 20029 (n = 20030 void 0 !== i.originalEvent 20031 ? i.originalEvent.touches 20032 : null),
20033 !(!l.dragging || l.scrolling || (n && 1 !== n.length)) && 20034 ((e = l.getLeft(l.currentSlide)), 20035 (l.touchObject.curX = 20036 void 0 !== n ? n[0].pageX : i.clientX), 20037 (l.touchObject.curY = 20038 void 0 !== n ? n[0].pageY : i.clientY), 20039 (l.touchObject.swipeLength = Math.round( 20040 Math.sqrt( 20041 Math.pow( 20042 l.touchObject.curX - l.touchObject.startX, 20043 2 20044 ) 20045 ) 20046 )), 20047 (r = Math.round( 20048 Math.sqrt( 20049 Math.pow( 20050 l.touchObject.curY - l.touchObject.startY, 20051 2 20052 ) 20053 ) 20054 )), 20055 !l.options.verticalSwiping && !l.swiping && r > 4 20056 ? ((l.scrolling = !0), !1) 20057 : (!0 === l.options.verticalSwiping && 20058 (l.touchObject.swipeLength = r), 20059 (t = l.swipeDirection()), 20060 void 0 !== i.originalEvent && 20061 l.touchObject.swipeLength > 4 && 20062 ((l.swiping = !0), i.preventDefault()), 20063 (s = 20064 (!1 === l.options.rtl ? 1 : -1) * 20065 (l.touchObject.curX > l.touchObject.startX 20066 ? 1 20067 : -1)), 20068 !0 === l.options.verticalSwiping && 20069 (s = 20070 l.touchObject.curY > l.touchObject.startY 20071 ? 1 20072 : -1), 20073 (o = l.touchObject.swipeLength), 20074 (l.touchObject.edgeHit = !1), 20075 !1 === l.options.infinite && 20076 ((0 === l.currentSlide && 'right' === t) || 20077 (l.currentSlide >= l.getDotCount() && 20078 'left' === t)) && 20079 ((o = 20080 l.touchObject.swipeLength * 20081 l.options.edgeFriction), 20082 (l.touchObject.edgeHit = !0)), 20083 !1 === l.options.vertical 20084 ? (l.swipeLeft = e + o * s) 20085 : (l.swipeLeft = 20086 e + 20087 o * (l.$list.height() / l.listWidth) * s), 20088 !0 === l.options.verticalSwiping && 20089 (l.swipeLeft = e + o * s), 20090 !0 !== l.options.fade && 20091 !1 !== l.options.touchMove && 20092 (!0 === l.animating 20093 ? ((l.swipeLeft = null), !1) 20094 : void l.setCSS(l.swipeLeft)))) 20095 ); 20096 }), 20097 (e.prototype.swipeStart = function (i) { 20098 var e, 20099 t = this; 20100 if ( 20101 ((t.interrupted = !0), 20102 1 !== t.touchObject.fingerCount || 20103 t.slideCount <= t.options.slidesToShow) 20104 ) 20105 return (t.touchObject = {}), !1; 20106 void 0 !== i.originalEvent && 20107 void 0 !== i.originalEvent.touches && 20108 (e = i.originalEvent.touches[0]), 20109 (t.touchObject.startX = t.touchObject.curX = 20110 void 0 !== e ? e.pageX : i.clientX), 20111 (t.touchObject.startY = t.touchObject.curY = 20112 void 0 !== e ? e.pageY : i.clientY), 20113 (t.dragging = !0); 20114 }), 20115 (e.prototype.unfilterSlides = e.prototype.slickUnfilter = 20116 function () { 20117 var i = this; 20118 null !== i.$slidesCache && 20119 (i.unload(), 20120 i.$slideTrack.children(this.options.slide).detach(), 20121 i.$slidesCache.appendTo(i.$slideTrack), 20122 i.reinit()); 20123 }), 20124 (e.prototype.unload = function () { 20125 var e = this; 20126 i('.slick-cloned', e.$slider).remove(), 20127 e.$dots && e.$dots.remove(), 20128 e.$prevArrow && 20129 e.htmlExpr.test(e.options.prevArrow) && 20130 e.$prevArrow.remove(), 20131 e.$nextArrow && 20132 e.htmlExpr.test(e.options.nextArrow) && 20133 e.$nextArrow.remove(), 20134 e.$slides 20135 .removeClass( 20136 'slick-slide slick-active slick-visible slick-current' 20137 ) 20138 .attr('aria-hidden', 'true') 20139 .css('width', ''); 20140 }),
20141 (e.prototype.unslick = function (i) { 20142 var e = this; 20143 e.$slider.trigger('unslick', [e, i]), e.destroy(); 20144 }), 20145 (e.prototype.updateArrows = function () { 20146 var i = this; 20147 Math.floor(i.options.slidesToShow / 2), 20148 !0 === i.options.arrows && 20149 i.slideCount > i.options.slidesToShow && 20150 !i.options.infinite && 20151 (i.$prevArrow 20152 .removeClass('slick-disabled') 20153 .attr('aria-disabled', 'false'), 20154 i.$nextArrow 20155 .removeClass('slick-disabled') 20156 .attr('aria-disabled', 'false'), 20157 0 === i.currentSlide 20158 ? (i.$prevArrow 20159 .addClass('slick-disabled') 20160 .attr('aria-disabled', 'true'), 20161 i.$nextArrow 20162 .removeClass('slick-disabled') 20163 .attr('aria-disabled', 'false')) 20164 : i.currentSlide >= 20165 i.slideCount - i.options.slidesToShow && 20166 !1 === i.options.centerMode 20167 ? (i.$nextArrow 20168 .addClass('slick-disabled') 20169 .attr('aria-disabled', 'true'), 20170 i.$prevArrow 20171 .removeClass('slick-disabled') 20172 .attr('aria-disabled', 'false')) 20173 : i.currentSlide >= i.slideCount - 1 && 20174 !0 === i.options.centerMode && 20175 (i.$nextArrow 20176 .addClass('slick-disabled') 20177 .attr('aria-disabled', 'true'), 20178 i.$prevArrow 20179 .removeClass('slick-disabled') 20180 .attr('aria-disabled', 'false'))); 20181 }), 20182 (e.prototype.updateDots = function () { 20183 var i = this; 20184 null !== i.$dots && 20185 (i.$dots.find('li').removeClass('slick-active').end(), 20186 i.$dots 20187 .find('li') 20188 .eq(Math.floor(i.currentSlide / i.options.slidesToScroll)) 20189 .addClass('slick-active')); 20190 }), 20191 (e.prototype.visibility = function () { 20192 var i = this; 20193 i.options.autoplay && 20194 (document[i.hidden] 20195 ? (i.interrupted = !0) 20196 : (i.interrupted = !1)); 20197 }), 20198 (i.fn.slick = function () { 20199 var i, 20200 t, 20201 o = this, 20202 s = arguments[0], 20203 n = Array.prototype.slice.call(arguments, 1), 20204 r = o.length; 20205 for (i = 0; i < r; i++) 20206 if ( 20207 ('object' == typeof s || void 0 === s 20208 ? (o[i].slick = new e(o[i], s)) 20209 : (t = o[i].slick[s].apply(o[i].slick, n)), 20210 void 0 !== t) 20211 ) 20212 return t; 20213 return o; 20214 }); 20215});
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.