vendor: 16,384 bytes, lines 1-405
1 2/** 3 * Swiper 8.4.3 4 * Most modern mobile touch slider and framework with hardware accelerated transitions 5 * https://swiperjs.com 6 * 7 * Copyright 2014-2022 Vladimir Kharlampidi 8 * 9 * Released under the MIT License 10 * 11 * Released on: October 6, 2022 12 */ 13 14 !(function (e, t) { 15 "object" == typeof exports && "undefined" != typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define(t) : ((e = "undefined" != typeof globalThis ? globalThis : e || self).BWDSASSwiper = t()); 16})(this, function () { 17 "use strict"; 18 function e(e) { 19 return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object; 20 } 21 function t(s, a) { 22 void 0 === s && (s = {}), 23 void 0 === a && (a = {}), 24 Object.keys(a).forEach((i) => { 25 void 0 === s[i] ? (s[i] = a[i]) : e(a[i]) && e(s[i]) && Object.keys(a[i]).length > 0 && t(s[i], a[i]); 26 }); 27 } 28 const s = { 29 body: {}, 30 addEventListener() {}, 31 removeEventListener() {}, 32 activeElement: { blur() {}, nodeName: "" }, 33 querySelector: () => null, 34 querySelectorAll: () => [], 35 getElementById: () => null, 36 createEvent: () => ({ initEvent() {} }), 37 createElement: () => ({ children: [], childNodes: [], style: {}, setAttribute() {}, getElementsByTagName: () => [] }), 38 createElementNS: () => ({}), 39 importNode: () => null, 40 location: { hash: "", host: "", hostname: "", href: "", origin: "", pathname: "", protocol: "", search: "" }, 41 }; 42 function a() { 43 const e = "undefined" != typeof document ? document : {}; 44 return t(e, s), e; 45 } 46 const i = { 47 document: s, 48 navigator: { userAgent: "" }, 49 location: { hash: "", host: "", hostname: "", href: "", origin: "", pathname: "", protocol: "", search: "" }, 50 history: { replaceState() {}, pushState() {}, go() {}, back() {} }, 51 CustomEvent: function () { 52 return this; 53 }, 54 addEventListener() {}, 55 removeEventListener() {}, 56 getComputedStyle: () => ({ getPropertyValue: () => "" }), 57 Image() {}, 58 Date() {}, 59 screen: {}, 60 setTimeout() {}, 61 clearTimeout() {}, 62 matchMedia: () => ({}), 63 requestAnimationFrame: (e) => ("undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0)), 64 cancelAnimationFrame(e) { 65 "undefined" != typeof setTimeout && clearTimeout(e); 66 }, 67 }; 68 function r() { 69 const e = "undefined" != typeof window ? window : {}; 70 return t(e, i), e; 71 } 72 class n extends Array { 73 constructor(e) { 74 "number" == typeof e 75 ? super(e) 76 : (super(...(e || [])), 77 (function (e) { 78 const t = e.__proto__; 79 Object.defineProperty(e, "__proto__", { 80 get: () => t, 81 set(e) { 82 t.__proto__ = e; 83 }, 84 }); 85 })(this)); 86 } 87 } 88 function l(e) { 89 void 0 === e && (e = []); 90 const t = []; 91 return ( 92 e.forEach((e) => { 93 Array.isArray(e) ? t.push(...l(e)) : t.push(e); 94 }), 95 t 96 ); 97 } 98 function o(e, t) { 99 return Array.prototype.filter.call(e, t); 100 } 101 function d(e, t) { 102 const s = r(), 103 i = a(); 104 let l = []; 105 if (!t && e instanceof n) return e; 106 if (!e) return new n(l); 107 if ("string" == typeof e) { 108 const s = e.trim(); 109 if (s.indexOf("<") >= 0 && s.indexOf(">") >= 0) { 110 let e = "div"; 111 0 === s.indexOf("<li") && (e = "ul"), 112 0 === s.indexOf("<tr") && (e = "tbody"), 113 (0 !== s.indexOf("<td") && 0 !== s.indexOf("<th")) || (e = "tr"), 114 0 === s.indexOf("<tbody") && (e = "table"), 115 0 === s.indexOf("<option") && (e = "select"); 116 const t = i.createElement(e); 117 t.innerHTML = s; 118 for (let e = 0; e < t.childNodes.length; e += 1) l.push(t.childNodes[e]); 119 } else 120 l = (function (e, t) { 121 if ("string" != typeof e) return [e]; 122 const s = [], 123 a = t.querySelectorAll(e); 124 for (let e = 0; e < a.length; e += 1) s.push(a[e]); 125 return s; 126 })(e.trim(), t || i); 127 } else if (e.nodeType || e === s || e === i) l.push(e); 128 else if (Array.isArray(e)) { 129 if (e instanceof n) return e; 130 l = e; 131 } 132 return new n( 133 (function (e) { 134 const t = []; 135 for (let s = 0; s < e.length; s += 1) -1 === t.indexOf(e[s]) && t.push(e[s]); 136 return t; 137 })(l) 138 ); 139 } 140 d.fn = n.prototype; 141 const c = { 142 addClass: function () { 143 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) t[s] = arguments[s]; 144 const a = l(t.map((e) => e.split(" "))); 145 return ( 146 this.forEach((e) => { 147 e.classList.add(...a); 148 }), 149 this 150 ); 151 }, 152 removeClass: function () { 153 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) t[s] = arguments[s]; 154 const a = l(t.map((e) => e.split(" "))); 155 return ( 156 this.forEach((e) => { 157 e.classList.remove(...a); 158 }), 159 this 160 ); 161 }, 162 hasClass: function () { 163 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) t[s] = arguments[s]; 164 const a = l(t.map((e) => e.split(" "))); 165 return o(this, (e) => a.filter((t) => e.classList.contains(t)).length > 0).length > 0; 166 }, 167 toggleClass: function () { 168 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) t[s] = arguments[s]; 169 const a = l(t.map((e) => e.split(" "))); 170 this.forEach((e) => { 171 a.forEach((t) => { 172 e.classList.toggle(t); 173 }); 174 }); 175 }, 176 attr: function (e, t) { 177 if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0; 178 for (let s = 0; s < this.length; s += 1) 179 if (2 === arguments.length) this[s].setAttribute(e, t); 180 else for (const t in e) (this[s][t] = e[t]), this[s].setAttribute(t, e[t]); 181 return this; 182 }, 183 removeAttr: function (e) { 184 for (let t = 0; t < this.length; t += 1) this[t].removeAttribute(e); 185 return this; 186 }, 187 transform: function (e) { 188 for (let t = 0; t < this.length; t += 1) this[t].style.transform = e; 189 return this; 190 }, 191 transition: function (e) { 192 for (let t = 0; t < this.length; t += 1) this[t].style.transitionDuration = "string" != typeof e ? `${e}ms` : e; 193 return this; 194 }, 195 on: function () { 196 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) t[s] = arguments[s]; 197 let [a, i, r, n] = t; 198 function l(e) { 199 const t = e.target; 200 if (!t) return; 201 const s = e.target.dom7EventData || []; 202 if ((s.indexOf(e) < 0 && s.unshift(e), d(t).is(i))) r.apply(t, s); 203 else { 204 const e = d(t).parents(); 205 for (let t = 0; t < e.length; t += 1) d(e[t]).is(i) && r.apply(e[t], s); 206 } 207 } 208 function o(e) { 209 const t = (e && e.target && e.target.dom7EventData) || []; 210 t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t); 211 } 212 "function" == typeof t[1] && (([a, r, n] = t), (i = void 0)), n || (n = !1); 213 const c = a.split(" "); 214 let p; 215 for (let e = 0; e < this.length; e += 1) { 216 const t = this[e]; 217 if (i) 218 for (p = 0; p < c.length; p += 1) { 219 const e = c[p]; 220 t.dom7LiveListeners || (t.dom7LiveListeners = {}), t.dom7LiveListeners[e] || (t.dom7LiveListeners[e] = []), t.dom7LiveListeners[e].push({ listener: r, proxyListener: l }), t.addEventListener(e, l, n); 221 } 222 else 223 for (p = 0; p < c.length; p += 1) { 224 const e = c[p]; 225 t.dom7Listeners || (t.dom7Listeners = {}), t.dom7Listeners[e] || (t.dom7Listeners[e] = []), t.dom7Listeners[e].push({ listener: r, proxyListener: o }), t.addEventListener(e, o, n); 226 } 227 } 228 return this; 229 }, 230 off: function () { 231 for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++) t[s] = arguments[s]; 232 let [a, i, r, n] = t; 233 "function" == typeof t[1] && (([a, r, n] = t), (i = void 0)), n || (n = !1); 234 const l = a.split(" "); 235 for (let e = 0; e < l.length; e += 1) { 236 const t = l[e]; 237 for (let e = 0; e < this.length; e += 1) { 238 const s = this[e]; 239 let a; 240 if ((!i && s.dom7Listeners ? (a = s.dom7Listeners[t]) : i && s.dom7LiveListeners && (a = s.dom7LiveListeners[t]), a && a.length)) 241 for (let e = a.length - 1; e >= 0; e -= 1) { 242 const i = a[e]; 243 (r && i.listener === r) || (r && i.listener && i.listener.dom7proxy && i.listener.dom7proxy === r) 244 ? (s.removeEventListener(t, i.proxyListener, n), a.splice(e, 1)) 245 : r || (s.removeEventListener(t, i.proxyListener, n), a.splice(e, 1)); 246 } 247 } 248 } 249 return this; 250 }, 251 trigger: function () { 252 const e = r(); 253 for (var t = arguments.length, s = new Array(t), a = 0; a < t; a++) s[a] = arguments[a]; 254 const i = s[0].split(" "), 255 n = s[1]; 256 for (let t = 0; t < i.length; t += 1) { 257 const a = i[t]; 258 for (let t = 0; t < this.length; t += 1) { 259 const i = this[t]; 260 if (e.CustomEvent) { 261 const t = new e.CustomEvent(a, { detail: n, bubbles: !0, cancelable: !0 }); 262 (i.dom7EventData = s.filter((e, t) => t > 0)), i.dispatchEvent(t), (i.dom7EventData = []), delete i.dom7EventData; 263 } 264 } 265 } 266 return this; 267 }, 268 transitionEnd: function (e) { 269 const t = this; 270 return ( 271 e && 272 t.on("transitionend", function s(a) { 273 a.target === this && (e.call(this, a), t.off("transitionend", s)); 274 }), 275 this 276 ); 277 }, 278 outerWidth: function (e) { 279 if (this.length > 0) { 280 if (e) { 281 const e = this.styles(); 282 return this[0].offsetWidth + parseFloat(e.getPropertyValue("margin-right")) + parseFloat(e.getPropertyValue("margin-left")); 283 } 284 return this[0].offsetWidth; 285 } 286 return null; 287 }, 288 outerHeight: function (e) { 289 if (this.length > 0) { 290 if (e) { 291 const e = this.styles(); 292 return this[0].offsetHeight + parseFloat(e.getPropertyValue("margin-top")) + parseFloat(e.getPropertyValue("margin-bottom")); 293 } 294 return this[0].offsetHeight; 295 } 296 return null; 297 }, 298 styles: function () { 299 const e = r(); 300 return this[0] ? e.getComputedStyle(this[0], null) : {}; 301 }, 302 offset: function () { 303 if (this.length > 0) { 304 const e = r(), 305 t = a(), 306 s = this[0], 307 i = s.getBoundingClientRect(), 308 n = t.body, 309 l = s.clientTop || n.clientTop || 0, 310 o = s.clientLeft || n.clientLeft || 0, 311 d = s === e ? e.scrollY : s.scrollTop, 312 c = s === e ? e.scrollX : s.scrollLeft; 313 return { top: i.top + d - l, left: i.left + c - o }; 314 } 315 return null; 316 }, 317 css: function (e, t) { 318 const s = r(); 319 let a; 320 if (1 === arguments.length) { 321 if ("string" != typeof e) { 322 for (a = 0; a < this.length; a += 1) for (const t in e) this[a].style[t] = e[t]; 323 return this; 324 } 325 if (this[0]) return s.getComputedStyle(this[0], null).getPropertyValue(e); 326 } 327 if (2 === arguments.length && "string" == typeof e) { 328 for (a = 0; a < this.length; a += 1) this[a].style[e] = t; 329 return this; 330 } 331 return this; 332 }, 333 each: function (e) { 334 return e 335 ? (this.forEach((t, s) => { 336 e.apply(t, [t, s]); 337 }), 338 this) 339 : this; 340 }, 341 html: function (e) { 342 if (void 0 === e) return this[0] ? this[0].innerHTML : null; 343 for (let t = 0; t < this.length; t += 1) this[t].innerHTML = e; 344 return this; 345 }, 346 text: function (e) { 347 if (void 0 === e) return this[0] ? this[0].textContent.trim() : null; 348 for (let t = 0; t < this.length; t += 1) this[t].textContent = e; 349 return this; 350 }, 351 is: function (e) { 352 const t = r(), 353 s = a(), 354 i = this[0]; 355 let l, o; 356 if (!i || void 0 === e) return !1; 357 if ("string" == typeof e) { 358 if (i.matches) return i.matches(e); 359 if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e); 360 if (i.msMatchesSelector) return i.msMatchesSelector(e); 361 for (l = d(e), o = 0; o < l.length; o += 1) if (l[o] === i) return !0; 362 return !1; 363 } 364 if (e === s) return i === s; 365 if (e === t) return i === t; 366 if (e.nodeType || e instanceof n) { 367 for (l = e.nodeType ? [e] : e, o = 0; o < l.length; o += 1) if (l[o] === i) return !0; 368 return !1; 369 } 370 return !1; 371 }, 372 index: function () { 373 let e, 374 t = this[0]; 375 if (t) { 376 for (e = 0; null !== (t = t.previousSibling); ) 1 === t.nodeType && (e += 1); 377 return e; 378 } 379 }, 380 eq: function (e) { 381 if (void 0 === e) return this; 382 const t = this.length; 383 if (e > t - 1) return d([]); 384 if (e < 0) { 385 const s = t + e; 386 return d(s < 0 ? [] : [this[s]]); 387 } 388 return d([this[e]]); 389 }, 390 append: function () { 391 let e; 392 const t = a(); 393 for (let s = 0; s < arguments.length; s += 1) { 394 e = s < 0 || arguments.length <= s ? void 0 : arguments[s]; 395 for (let s = 0; s < this.length; s += 1) 396 if ("string" == typeof e) { 397 const a = t.createElement("div"); 398 for (a.innerHTML = e; a.firstChild; ) this[s].appendChild(a.firstChild); 399 } else if (e instanceof n) for (let t = 0; t < e.length; t += 1) this[s].appendChild(e[t]); 400 else this[s].appendChild(e); 401 } 402 return this; 403 }, 404 prepend: function (e) { 405 const t =
405 a(); 406 let s, i; 407 for (s = 0; s < this.length; s += 1) 408 if ("string" == typeof e) { 409 const a = t.createElement("div"); 410 for (a.innerHTML = e, i = a.childNodes.length - 1; i >= 0; i -= 1) this[s].insertBefore(a.childNodes[i], this[s].childNodes[0]); 411 } else if (e instanceof n) for (i = 0; i < e.length; i += 1) this[s].insertBefore(e[i], this[s].childNodes[0]); 412 else this[s].insertBefore(e, this[s].childNodes[0]); 413 return this; 414 }, 415 next: function (e) { 416 return this.length > 0 ? (e ? (this[0].nextElementSibling && d(this[0].nextElementSibling).is(e) ? d([this[0].nextElementSibling]) : d([])) : this[0].nextElementSibling ? d([this[0].nextElementSibling]) : d([])) : d([]); 417 }, 418 nextAll: function (e) { 419 const t = []; 420 let s = this[0]; 421 if (!s) return d([]); 422 for (; s.nextElementSibling; ) { 423 const a = s.nextElementSibling; 424 e ? d(a).is(e) && t.push(a) : t.push(a), (s = a); 425 } 426 return d(t); 427 }, 428 prev: function (e) { 429 if (this.length > 0) { 430 const t = this[0]; 431 return e ? (t.previousElementSibling && d(t.previousElementSibling).is(e) ? d([t.previousElementSibling]) : d([])) : t.previousElementSibling ? d([t.previousElementSibling]) : d([]); 432 } 433 return d([]); 434 }, 435 prevAll: function (e) { 436 const t = []; 437 let s = this[0]; 438 if (!s) return d([]); 439 for (; s.previousElementSibling; ) { 440 const a = s.previousElementSibling; 441 e ? d(a).is(e) && t.push(a) : t.push(a), (s = a); 442 } 443 return d(t); 444 }, 445 parent: function (e) { 446 const t = []; 447 for (let s = 0; s < this.length; s += 1) null !== this[s].parentNode && (e ? d(this[s].parentNode).is(e) && t.push(this[s].parentNode) : t.push(this[s].parentNode)); 448 return d(t); 449 }, 450 parents: function (e) { 451 const t = []; 452 for (let s = 0; s < this.length; s += 1) { 453 let a = this[s].parentNode; 454 for (; a; ) e ? d(a).is(e) && t.push(a) : t.push(a), (a = a.parentNode); 455 } 456 return d(t); 457 }, 458 closest: function (e) { 459 let t = this; 460 return void 0 === e ? d([]) : (t.is(e) || (t = t.parents(e).eq(0)), t); 461 }, 462 find: function (e) { 463 const t = []; 464 for (let s = 0; s < this.length; s += 1) { 465 const a = this[s].querySelectorAll(e); 466 for (let e = 0; e < a.length; e += 1) t.push(a[e]); 467 } 468 return d(t); 469 }, 470 children: function (e) { 471 const t = []; 472 for (let s = 0; s < this.length; s += 1) { 473 const a = this[s].children; 474 for (let s = 0; s < a.length; s += 1) (e && !d(a[s]).is(e)) || t.push(a[s]); 475 } 476 return d(t); 477 }, 478 filter: function (e) { 479 return d(o(this, e)); 480 }, 481 remove: function () { 482 for (let e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]); 483 return this; 484 }, 485 }; 486 function p(e, t) { 487 return void 0 === t && (t = 0), setTimeout(e, t); 488 } 489 function u() { 490 return Date.now(); 491 } 492 function h(e, t) { 493 void 0 === t && (t = "x"); 494 const s = r(); 495 let a, i, n; 496 const l = (function (e) { 497 const t = r(); 498 let s; 499 return t.getComputedStyle && (s = t.getComputedStyle(e, null)), !s && e.currentStyle && (s = e.currentStyle), s || (s = e.style), s; 500 })(e); 501 return ( 502 s.WebKitCSSMatrix 503 ? ((i = l.transform || l.webkitTransform), 504 i.split(",").length > 6 && 505 (i = i 506 .split(", ") 507 .map((e) => e.replace(",", ".")) 508 .join(", ")), 509 (n = new s.WebKitCSSMatrix("none" === i ? "" : i))) 510 : ((n = l.MozTransform || l.OTransform || l.MsTransform || l.msTransform || l.transform || l.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")), (a = n.toString().split(","))), 511 "x" === t && (i = s.WebKitCSSMatrix ? n.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), 512 "y" === t && (i = s.WebKitCSSMatrix ? n.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), 513 i || 0 514 ); 515 } 516 function m(e) { 517 return "object" == typeof e && null !== e && e.constructor && "Object" === Object.prototype.toString.call(e).slice(8, -1); 518 } 519 function f(e) { 520 return "undefined" != typeof window && void 0 !== window.HTMLElement ? e instanceof HTMLElement : e && (1 === e.nodeType || 11 === e.nodeType); 521 } 522 function g() { 523 const e = Object(arguments.length <= 0 ? void 0 : arguments[0]), 524 t = ["__proto__", "constructor", "prototype"]; 525 for (let s = 1; s < arguments.length; s += 1) { 526 const a = s < 0 || arguments.length <= s ? void 0 : arguments[s]; 527 if (null != a && !f(a)) { 528 const s = Object.keys(Object(a)).filter((e) => t.indexOf(e) < 0); 529 for (let t = 0, i = s.length; t < i; t += 1) { 530 const i = s[t], 531 r = Object.getOwnPropertyDescriptor(a, i); 532 void 0 !== r && r.enumerable && (m(e[i]) && m(a[i]) ? (a[i].__swiper__ ? (e[i] = a[i]) : g(e[i], a[i])) : !m(e[i]) && m(a[i]) ? ((e[i] = {}), a[i].__swiper__ ? (e[i] = a[i]) : g(e[i], a[i])) : (e[i] = a[i])); 533 } 534 } 535 } 536 return e; 537 } 538 function v(e, t, s) { 539 e.style.setProperty(t, s); 540 } 541 function w(e) { 542 let { swiper: t, targetPosition: s, side: a } = e; 543 const i = r(), 544 n = -t.translate; 545 let l, 546 o = null; 547 const d = t.params.speed; 548 (t.wrapperEl.style.scrollSnapType = "none"), i.cancelAnimationFrame(t.cssModeFrameID); 549 const c = s > n ? "next" : "prev", 550 p = (e, t) => ("next" === c && e >= t) || ("prev" === c && e <= t), 551 u = () => { 552 (l = new Date().getTime()), null === o && (o = l); 553 const e = Math.max(Math.min((l - o) / d, 1), 0), 554 r = 0.5 - Math.cos(e * Math.PI) / 2; 555 let c = n + r * (s - n); 556 if ((p(c, s) && (c = s), t.wrapperEl.scrollTo({ [a]: c }), p(c, s))) 557 return ( 558 (t.wrapperEl.style.overflow = "hidden"), 559 (t.wrapperEl.style.scrollSnapType = ""), 560 setTimeout(() => { 561 (t.wrapperEl.style.overflow = ""), t.wrapperEl.scrollTo({ [a]: c }); 562 }), 563 void i.cancelAnimationFrame(t.cssModeFrameID) 564 ); 565 t.cssModeFrameID = i.requestAnimationFrame(u); 566 }; 567 u(); 568 } 569 let b, x, y; 570 function E() { 571 return ( 572 b || 573 (b = (function () { 574 const e = r(), 575 t = a(); 576 return { 577 smoothScroll: t.documentElement && "scrollBehavior" in t.documentElement.style, 578 touch: !!("ontouchstart" in e || (e.DocumentTouch && t instanceof e.DocumentTouch)), 579 passiveListener: (function () { 580 let t = !1; 581 try { 582 const s = Object.defineProperty({}, "passive", { 583 get() { 584 t = !0; 585 }, 586 }); 587 e.addEventListener("testPassiveListener", null, s); 588 } catch (e) {} 589 return t; 590 })(), 591 gestures: "ongesturestart" in e, 592 }; 593 })()), 594 b 595 ); 596 } 597 function C(e) { 598 return ( 599 void 0 === e && (e = {}), 600 x || 601 (x = (function (e) { 602 let { userAgent: t } = void 0 === e ? {} : e; 603 const s = E(), 604 a = r(), 605 i = a.navigator.platform, 606 n = t || a.navigator.userAgent, 607 l = { ios: !1, android: !1 }, 608 o = a.screen.width, 609 d = a.screen.height, 610 c = n.match(/(Android);?[\s\/]+([\d.]+)?/); 611 let p = n.match(/(iPad).*OS\s([\d_]+)/); 612 const u = n.match(/(iPod)(.*OS\s([\d_]+))?/), 613 h = !p && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/), 614 m = "Win32" === i; 615 let f = "MacIntel" === i; 616 return ( 617 !p && 618 f && 619 s.touch && 620 ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexOf(`${o}x${d}`) >= 0 && 621 ((p = n.match(/(Version)\/([\d.]+)/)), p || (p = [0, 1, "13_0_0"]), (f = !1)), 622 c && !m && ((l.os = "android"), (l.android = !0)), 623 (p || h || u) && ((l.os = "ios"), (l.ios = !0)), 624 l 625 ); 626 })(e)), 627 x 628 ); 629 } 630 function T() { 631 return ( 632 y || 633 (y = (function () { 634 const e = r(); 635 return { 636 isSafari: (function () { 637 const t = e.navigator.userAgent.toLowerCase(); 638 return t.indexOf("safari") >= 0 && t.indexOf("chrome") < 0 && t.indexOf("android") < 0; 639 })(), 640 isWebView: /(iPhone|iPod|iPad).*AppleWeb
640Kit(?!.*Safari)/i.test(e.navigator.userAgent), 641 }; 642 })()), 643 y 644 ); 645 } 646 Object.keys(c).forEach((e) => { 647 Object.defineProperty(d.fn, e, { value: c[e], writable: !0 }); 648 }); 649 var $ = { 650 on(e, t, s) { 651 const a = this; 652 if (!a.eventsListeners || a.destroyed) return a; 653 if ("function" != typeof t) return a; 654 const i = s ? "unshift" : "push"; 655 return ( 656 e.split(" ").forEach((e) => { 657 a.eventsListeners[e] || (a.eventsListeners[e] = []), a.eventsListeners[e][i](t); 658 }), 659 a 660 ); 661 }, 662 once(e, t, s) { 663 const a = this; 664 if (!a.eventsListeners || a.destroyed) return a; 665 if ("function" != typeof t) return a; 666 function i() { 667 a.off(e, i), i.__emitterProxy && delete i.__emitterProxy; 668 for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++) r[n] = arguments[n]; 669 t.apply(a, r); 670 } 671 return (i.__emitterProxy = t), a.on(e, i, s); 672 }, 673 onAny(e, t) { 674 const s = this; 675 if (!s.eventsListeners || s.destroyed) return s; 676 if ("function" != typeof e) return s; 677 const a = t ? "unshift" : "push"; 678 return s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[a](e), s; 679 }, 680 offAny(e) { 681 const t = this; 682 if (!t.eventsListeners || t.destroyed) return t; 683 if (!t.eventsAnyListeners) return t; 684 const s = t.eventsAnyListeners.indexOf(e); 685 return s >= 0 && t.eventsAnyListeners.splice(s, 1), t; 686 }, 687 off(e, t) { 688 const s = this; 689 return !s.eventsListeners || s.destroyed 690 ? s 691 : s.eventsListeners 692 ? (e.split(" ").forEach((e) => { 693 void 0 === t 694 ? (s.eventsListeners[e] = []) 695 : s.eventsListeners[e] && 696 s.eventsListeners[e].forEach((a, i) => { 697 (a === t || (a.__emitterProxy && a.__emitterProxy === t)) && s.eventsListeners[e].splice(i, 1); 698 }); 699 }), 700 s) 701 : s; 702 }, 703 emit() { 704 const e = this; 705 if (!e.eventsListeners || e.destroyed) return e; 706 if (!e.eventsListeners) return e; 707 let t, s, a; 708 for (var i = arguments.length, r = new Array(i), n = 0; n < i; n++) r[n] = arguments[n]; 709 "string" == typeof r[0] || Array.isArray(r[0]) ? ((t = r[0]), (s = r.slice(1, r.length)), (a = e)) : ((t = r[0].events), (s = r[0].data), (a = r[0].context || e)), s.unshift(a); 710 return ( 711 (Array.isArray(t) ? t : t.split(" ")).forEach((t) => { 712 e.eventsAnyListeners && 713 e.eventsAnyListeners.length && 714 e.eventsAnyListeners.forEach((e) => { 715 e.apply(a, [t, ...s]); 716 }), 717 e.eventsListeners && 718 e.eventsListeners[t] && 719 e.eventsListeners[t].forEach((e) => { 720 e.apply(a, s); 721 }); 722 }), 723 e 724 ); 725 }, 726 }; 727 var S = { 728 updateSize: function () { 729 const e = this; 730 let t, s; 731 const a = e.$el; 732 (t = void 0 !== e.params.width && null !== e.params.width ? e.params.width : a[0].clientWidth), 733 (s = void 0 !== e.params.height && null !== e.params.height ? e.params.height : a[0].clientHeight), 734 (0 === t && e.isHorizontal()) || 735 (0 === s && e.isVertical()) || 736 ((t = t - parseInt(a.css("padding-left") || 0, 10) - parseInt(a.css("padding-right") || 0, 10)), 737 (s = s - parseInt(a.css("padding-top") || 0, 10) - parseInt(a.css("padding-bottom") || 0, 10)), 738 Number.isNaN(t) && (t = 0), 739 Number.isNaN(s) && (s = 0), 740 Object.assign(e, { width: t, height: s, size: e.isHorizontal() ? t : s })); 741 }, 742 updateSlides: function () { 743 const e = this; 744 function t(t) { 745 return e.isHorizontal() 746 ? t 747 : { 748 width: "height", 749 "margin-top": "margin-left", 750 "margin-bottom ": "margin-right", 751 "margin-left": "margin-top", 752 "margin-right": "margin-bottom", 753 "padding-left": "padding-top", 754 "padding-right": "padding-bottom", 755 marginRight: "marginBottom", 756 }[t]; 757 } 758 function s(e, s) { 759 return parseFloat(e.getPropertyValue(t(s)) || 0); 760 } 761 const a = e.params, 762 { $wrapperEl: i, size: r, rtlTranslate: n, wrongRTL: l } = e, 763 o = e.virtual && a.virtual.enabled, 764 d = o ? e.virtual.slides.length : e.slides.length, 765 c = i.children(`.${e.params.slideClass}`), 766 p = o ? e.virtual.slides.length : c.length; 767 let u = []; 768 const h = [], 769 m = []; 770 let f = a.slidesOffsetBefore; 771 "function" == typeof f && (f = a.slidesOffsetBefore.call(e)); 772 let g = a.slidesOffsetAfter; 773 "function" == typeof g && (g = a.slidesOffsetAfter.call(e)); 774 const w = e.snapGrid.length, 775 b = e.slidesGrid.length; 776 let x = a.spaceBetween, 777 y = -f, 778 E = 0, 779 C = 0; 780 if (void 0 === r) return; 781 "string" == typeof x && x.indexOf("%") >= 0 && (x = (parseFloat(x.replace("%", "")) / 100) * r), 782 (e.virtualSize = -x), 783 n ? c.css({ marginLeft: "", marginBottom: "", marginTop: "" }) : c.css({ marginRight: "", marginBottom: "", marginTop: "" }), 784 a.centeredSlides && a.cssMode && (v(e.wrapperEl, "--bwdsas-swiper-centered-offset-before", ""), v(e.wrapperEl, "--bwdsas-swiper-centered-offset-after", "")); 785 const T = a.grid && a.grid.rows > 1 && e.grid; 786 let $; 787 T && e.grid.initSlides(p); 788 const S = "auto" === a.slidesPerView && a.breakpoints && Object.keys(a.breakpoints).filter((e) => void 0 !== a.breakpoints[e].slidesPerView).length > 0; 789 for (let i = 0; i < p; i += 1) { 790 $ = 0; 791 const n = c.eq(i); 792 if ((T && e.grid.updateSlide(i, n, p, t), "none" !== n.css("display"))) { 793 if ("auto" === a.slidesPerView) { 794 S && (c[i].style[t("width")] = ""); 795 const r = getComputedStyle(n[0]), 796 l = n[0].style.transform, 797 o = n[0].style.webkitTransform; 798 if ((l && (n[0].style.transform = "none"), o && (n[0].style.webkitTransform = "none"), a.roundLengths)) $ = e.isHorizontal() ? n.outerWidth(!0) : n.outerHeight(!0); 799 else { 800 const e = s(r, "width"), 801 t = s(r, "padding-left"), 802 a = s(r, "padding-right"), 803 i = s(r, "margin-left"), 804 l = s(r, "margin-right"), 805 o = r.getPropertyValue("box-sizing"); 806 if (o && "border-box" === o) $ = e + i + l; 807 else {
808 const { clientWidth: s, offsetWidth: r } = n[0]; 809 $ = e + t + a + i + l + (r - s); 810 } 811 } 812 l && (n[0].style.transform = l), o && (n[0].style.webkitTransform = o), a.roundLengths && ($ = Math.floor($)); 813 } else ($ = (r - (a.slidesPerView - 1) * x) / a.slidesPerView), a.roundLengths && ($ = Math.floor($)), c[i] && (c[i].style[t("width")] = `${$}px`); 814 c[i] && (c[i].swiperSlideSize = $), 815 m.push($), 816 a.centeredSlides 817 ? ((y = y + $ / 2 + E / 2 + x), 818 0 === E && 0 !== i && (y = y - r / 2 - x), 819 0 === i && (y = y - r / 2 - x), 820 Math.abs(y) < 0.001 && (y = 0), 821 a.roundLengths && (y = Math.floor(y)), 822 C % a.slidesPerGroup == 0 && u.push(y), 823 h.push(y)) 824 : (a.roundLengths && (y = Math.floor(y)), (C - Math.min(e.params.slidesPerGroupSkip, C)) % e.params.slidesPerGroup == 0 && u.push(y), h.push(y), (y = y + $ + x)), 825 (e.virtualSize += $ + x), 826 (E = $), 827 (C += 1); 828 } 829 } 830 if ( 831 ((e.virtualSize = Math.max(e.virtualSize, r) + g), 832 n && l && ("slide" === a.effect || "coverflow" === a.effect) && i.css({ width: `${e.virtualSize + a.spaceBetween}px` }), 833 a.setWrapperSize && i.css({ [t("width")]: `${e.virtualSize + a.spaceBetween}px` }), 834 T && e.grid.updateWrapperSize($, u, t), 835 !a.centeredSlides) 836 ) { 837 const t = []; 838 for (let s = 0; s < u.length; s += 1) { 839 let i = u[s]; 840 a.roundLengths && (i = Math.floor(i)), u[s] <= e.virtualSize - r && t.push(i); 841 } 842 (u = t), Math.floor(e.virtualSize - r) - Math.floor(u[u.length - 1]) > 1 && u.push(e.virtualSize - r); 843 } 844 if ((0 === u.length && (u = [0]), 0 !== a.spaceBetween)) { 845 const s = e.isHorizontal() && n ? "marginLeft" : t("marginRight"); 846 c.filter((e, t) => !a.cssMode || t !== c.length - 1).css({ [s]: `${x}px` }); 847 } 848 if (a.centeredSlides && a.centeredSlidesBounds) { 849 let e = 0; 850 m.forEach((t) => { 851 e += t + (a.spaceBetween ? a.spaceBetween : 0); 852 }), 853 (e -= a.spaceBetween); 854 const t = e - r; 855 u = u.map((e) => (e < 0 ? -f : e > t ? t + g : e)); 856 } 857 if (a.centerInsufficientSlides) { 858 let e = 0; 859 if ( 860 (m.forEach((t) => { 861 e += t + (a.spaceBetween ? a.spaceBetween : 0); 862 }), 863 (e -= a.spaceBetween), 864 e < r) 865 ) { 866 const t = (r - e) / 2; 867 u.forEach((e, s) => { 868 u[s] = e - t; 869 }), 870 h.forEach((e, s) => { 871 h[s] = e + t; 872 }); 873 } 874 } 875 if ((Object.assign(e, { slides: c, snapGrid: u, slidesGrid: h, slidesSizesGrid: m }), a.centeredSlides && a.cssMode && !a.centeredSlidesBounds)) { 876 v(e.wrapperEl, "--bwdsas-swiper-centered-offset-before", -u[0] + "px"), v(e.wrapperEl, "--bwdsas-swiper-centered-offset-after", e.size / 2 - m[m.length - 1] / 2 + "px"); 877 const t = -e.snapGrid[0], 878 s = -e.slidesGrid[0]; 879 (e.snapGrid = e.snapGrid.map((e) => e + t)), (e.slidesGrid = e.slidesGrid.map((e) => e + s)); 880 } 881 if ( 882 (p !== d && e.emit("slidesLengthChange"), 883 u.length !== w && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), 884 h.length !== b && e.emit("slidesGridLengthChange"), 885 a.watchSlidesProgress && e.updateSlidesOffset(), 886 !(o || a.cssMode || ("slide" !== a.effect && "fade" !== a.effect))) 887 ) { 888 const t = `${a.containerModifierClass}backface-hidden`, 889 s = e.$el.hasClass(t); 890 p <= a.maxBackfaceHiddenSlides ? s || e.$el.addClass(t) : s && e.$el.removeClass(t); 891 } 892 }, 893 updateAutoHeight: function (e) { 894 const t = this, 895 s = [], 896 a = t.virtual && t.params.virtual.enabled; 897 let i, 898 r = 0; 899 "number" == typeof e ? t.setTransition(e) : !0 === e && t.setTransition(t.params.speed); 900 const n = (e) => (a ? t.slides.filter((t) => parseInt(t.getAttribute("bwdsas-data-swiper-slide-index"), 10) === e)[0] : t.slides.eq(e)[0]); 901 if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1) 902 if (t.params.centeredSlides) 903 (t.visibleSlides || d([])).each((e) => { 904 s.push(e); 905 }); 906 else 907 for (i = 0;
907 i < Math.ceil(t.params.slidesPerView); i += 1) { 908 const e = t.activeIndex + i; 909 if (e > t.slides.length && !a) break; 910 s.push(n(e)); 911 } 912 else s.push(n(t.activeIndex)); 913 for (i = 0; i < s.length; i += 1) 914 if (void 0 !== s[i]) { 915 const e = s[i].offsetHeight; 916 r = e > r ? e : r; 917 } 918 (r || 0 === r) && t.$wrapperEl.css("height", `${r}px`); 919 }, 920 updateSlidesOffset: function () { 921 const e = this, 922 t = e.slides; 923 for (let s = 0; s < t.length; s += 1) t[s].swiperSlideOffset = e.isHorizontal() ? t[s].offsetLeft : t[s].offsetTop; 924 }, 925 updateSlidesProgress: function (e) { 926 void 0 === e && (e = (this && this.translate) || 0); 927 const t = this, 928 s = t.params, 929 { slides: a, rtlTranslate: i, snapGrid: r } = t; 930 if (0 === a.length) return; 931 void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset(); 932 let n = -e; 933 i && (n = e), a.removeClass(s.slideVisibleClass), (t.visibleSlidesIndexes = []), (t.visibleSlides = []); 934 for (let e = 0; e < a.length; e += 1) { 935 const l = a[e]; 936 let o = l.swiperSlideOffset; 937 s.cssMode && s.centeredSlides && (o -= a[0].swiperSlideOffset); 938 const d = (n + (s.centeredSlides ? t.minTranslate() : 0) - o) / (l.swiperSlideSize + s.spaceBetween), 939 c = (n - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - o) / (l.swiperSlideSize + s.spaceBetween), 940 p = -(n - o), 941 u = p + t.slidesSizesGrid[e]; 942 ((p >= 0 && p < t.size - 1) || (u > 1 && u <= t.size) || (p <= 0 && u >= t.size)) && (t.visibleSlides.push(l), t.visibleSlidesIndexes.push(e), a.eq(e).addClass(s.slideVisibleClass)), 943 (l.progress = i ? -d : d), 944 (l.originalProgress = i ? -c : c); 945 } 946 t.visibleSlides = d(t.visibleSlides); 947 }, 948 updateProgress: function (e) { 949 const t = this; 950 if (void 0 === e) { 951 const s = t.rtlTranslate ? -1 : 1; 952 e = (t && t.translate && t.translate * s) || 0; 953 } 954 const s = t.params, 955 a = t.maxTranslate() - t.minTranslate(); 956 let { progress: i, isBeginning: r, isEnd: n } = t; 957 const l = r, 958 o = n; 959 0 === a ? ((i = 0), (r = !0), (n = !0)) : ((i = (e - t.minTranslate()) / a), (r = i <= 0), (n = i >= 1)), 960 Object.assign(t, { progress: i, isBeginning: r, isEnd: n }), 961 (s.watchSlidesProgress || (s.centeredSlides && s.autoHeight)) && t.updateSlidesProgress(e), 962 r && !l && t.emit("reachBeginning toEdge"), 963 n && !o && t.emit("reachEnd toEdge"), 964 ((l && !r) || (o && !n)) && t.emit("fromEdge"), 965 t.emit("progress", i); 966 }, 967 updateSlidesClasses: function () { 968 const e = this, 969 { slides: t, params: s, $wrapperEl: a, activeIndex: i, realIndex: r } = e, 970 n = e.virtual && s.virtual.enabled; 971 let l; 972 t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`), 973 (l = n ? e.$wrapperEl.find(`.${s.slideClass}[bwdsas-data-swiper-slide-index="${i}"]`) : t.eq(i)), 974 l.addClass(s.slideActiveClass), 975 s.loop && 976 (l.hasClass(s.slideDuplicateClass) 977 ? a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[bwdsas-data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass) 978 : a.children(`.${s.slideClass}.${s.slideDuplicateClass}[bwdsas-data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass)); 979 let o = l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass); 980 s.loop && 0 === o.length && ((o = t.eq(0)), o.addClass(s.slideNextClass)); 981 let d = l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass); 982 s.loop && 0 === d.length && ((d = t.eq(-1)), d.addClass(s.slidePrevClass)), 983 s.loop && 984 (o.hasClass(s.slideDuplicateClass) 985 ? a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[bwdsas-data-swiper-slide-index="${o.attr("bwdsas-data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass) 986 : a.children(`.${s.slideClass}.${s.slideDuplicateClass}[bwdsas-data-swiper-slide-index="${o.attr("bwdsas-data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass), 987 d.hasClass(s.slideDuplicateClass) 988 ? a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[bwdsas-data-swiper-slide-index="${d.attr("bwdsas-data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass) 989 : a.children(`.${s.slideClass}.${s.slideDuplicateClass}[bwdsas-data-swiper-slide-index="${d.attr("bwdsas-data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)), 990 e.emitSlidesClasses(); 991 }, 992 updateActiveIndex: function (e) { 993 const t = this, 994 s = t.rtlTranslate ? t.translate : -t.translate, 995 { slidesGrid: a, snapGrid: i, params: r, activeIndex: n, realIndex: l, snapIndex: o } = t; 996 let d, 997 c = e; 998 if (void 0 === c) { 999 for (let e = 0; e < a.length; e += 1) void 0 !== a[e + 1] ? (s >= a[e] && s < a[e + 1] - (a[e + 1] - a[e]) / 2 ? (c = e) : s >= a[e] && s < a[e + 1] && (c = e + 1)) : s >= a[e] && (c = e);
1000 r.normalizeSlideIndex && (c < 0 || void 0 === c) && (c = 0); 1001 } 1002 if (i.indexOf(s) >= 0) d = i.indexOf(s); 1003 else { 1004 const e = Math.min(r.slidesPerGroupSkip, c); 1005 d = e + Math.floor((c - e) / r.slidesPerGroup); 1006 } 1007 if ((d >= i.length && (d = i.length - 1), c === n)) return void (d !== o && ((t.snapIndex = d), t.emit("snapIndexChange"))); 1008 const p = parseInt(t.slides.eq(c).attr("bwdsas-data-swiper-slide-index") || c, 10); 1009 Object.assign(t, { snapIndex: d, realIndex: p, previousIndex: n, activeIndex: c }), 1010 t.emit("activeIndexChange"), 1011 t.emit("snapIndexChange"), 1012 l !== p && t.emit("realIndexChange"), 1013 (t.initialized || t.params.runCallbacksOnInit) && t.emit("slideChange"); 1014 }, 1015 updateClickedSlide: function (e) { 1016 const t = this, 1017 s = t.params, 1018 a = d(e).closest(`.${s.slideClass}`)[0]; 1019 let i, 1020 r = !1; 1021 if (a) 1022 for (let e = 0; e < t.slides.length; e += 1) 1023 if (t.slides[e] === a) { 1024 (r = !0), (i = e); 1025 break; 1026 } 1027 if (!a || !r) return (t.clickedSlide = void 0), void (t.clickedIndex = void 0); 1028 (t.clickedSlide = a), 1029 t.virtual && t.params.virtual.enabled ? (t.clickedIndex = parseInt(d(a).attr("bwdsas-data-swiper-slide-index"), 10)) : (t.clickedIndex = i), 1030 s.slideToClickedSlide && void 0 !== t.clickedIndex && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide(); 1031 }, 1032 }; 1033 var M = { 1034 getTranslate: function (e) { 1035 void 0 === e && (e = this.isHorizontal() ? "x" : "y"); 1036 const { params: t, rtlTranslate: s, translate: a, $wrapperEl: i } = this; 1037 if (t.virtualTranslate) return s ? -a : a; 1038 if (t.cssMode) return a; 1039 let r = h(i[0], e); 1040 return s && (r = -r), r || 0; 1041 }, 1042 setTranslate: function (e, t) { 1043 const s = this, 1044 { rtlTranslate: a, params: i, $wrapperEl: r, wrapperEl: n, progress: l } = s; 1045 let o, 1046 d = 0, 1047 c = 0; 1048 s.isHorizontal() ? (d = a ? -e : e) : (c = e), 1049 i.roundLengths && ((d = Math.floor(d)), (c = Math.floor(c))), 1050 i.cssMode ? (n[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal() ? -d : -c) : i.virtualTranslate || r.transform(`translate3d(${d}px, ${c}px, 0px)`), 1051 (s.previousTranslate = s.translate), 1052 (s.translate = s.isHorizontal() ? d : c); 1053 const p = s.maxTranslate() - s.minTranslate(); 1054 (o = 0 === p ? 0 : (e - s.minTranslate()) / p), o !== l && s.updateProgress(e), s.emit("setTranslate", s.translate, t); 1055 }, 1056 minTranslate: function () { 1057 return -this.snapGrid[0]; 1058 }, 1059 maxTranslate: function () { 1060 return -this.snapGrid[this.snapGrid.length - 1]; 1061 }, 1062 translateTo: function (e, t, s, a, i) { 1063 void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === s && (s = !0), void 0 === a && (a = !0); 1064 const r = this, 1065 { params: n, wrapperEl: l } = r; 1066 if (r.animating && n.preventInteractionOnTransition) return !1; 1067 const o = r.minTranslate(), 1068 d = r.maxTranslate(); 1069 let c; 1070 if (((c = a && e > o ? o : a && e < d ? d : e), r.updateProgress(c), n.cssMode)) { 1071 const e = r.isHorizontal(); 1072 if (0 === t) l[e ? "scrollLeft" : "scrollTop"] = -c; 1073 else { 1074 if (!r.support.smoothScroll) return w({ swiper: r, targetPosition: -c, side: e ? "left" : "top" }), !0; 1075 l.scrollTo({ [e ? "left" : "top"]: -c, behavior: "smooth" }); 1076 } 1077 return !0; 1078 } 1079 return ( 1080 0 === t 1081 ? (r.setTransition(0), r.setTranslate(c), s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionEnd"))) 1082 : (r.setTransition(t), 1083 r.setTranslate(c), 1084 s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionStart")), 1085 r.animating || 1086 ((r.animating = !0), 1087 r.onTranslateToWrapperTransitionEnd || 1088 (r.onTranslateToWrapperTransitionEnd = function (e) { 1089 r && 1090 !r.destroyed && 1091 e.target === this && 1092 (r.$wrapperEl[0].removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), 1093 r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd), 1094 (r.onTranslateToWrapperTransitionEnd = null),
1095 delete r.onTranslateToWrapperTransitionEnd, 1096 s && r.emit("transitionEnd")); 1097 }), 1098 r.$wrapperEl[0].addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), 1099 r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd))), 1100 !0 1101 ); 1102 }, 1103 }; 1104 function P(e) { 1105 let { swiper: t, runCallbacks: s, direction: a, step: i } = e; 1106 const { activeIndex: r, previousIndex: n } = t; 1107 let l = a; 1108 if ((l || (l = r > n ? "next" : r < n ? "prev" : "reset"), t.emit(`transition${i}`), s && r !== n)) { 1109 if ("reset" === l) return void t.emit(`slideResetTransition${i}`); 1110 t.emit(`slideChangeTransition${i}`), "next" === l ? t.emit(`slideNextTransition${i}`) : t.emit(`slidePrevTransition${i}`); 1111 } 1112 } 1113 var k = { 1114 slideTo: function (e, t, s, a, i) { 1115 if ((void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === s && (s = !0), "number" != typeof e && "string" != typeof e)) 1116 throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`); 1117 if ("string" == typeof e) { 1118 const t = parseInt(e, 10); 1119 if (!isFinite(t)) throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`); 1120 e = t; 1121 } 1122 const r = this; 1123 let n = e; 1124 n < 0 && (n = 0); 1125 const { params: l, snapGrid: o, slidesGrid: d, previousIndex: c, activeIndex: p, rtlTranslate: u, wrapperEl: h, enabled: m } = r; 1126 if ((r.animating && l.preventInteractionOnTransition) || (!m && !a && !i)) return !1; 1127 const f = Math.min(r.params.slidesPerGroupSkip, n); 1128 let g = f + Math.floor((n - f) / r.params.slidesPerGroup); 1129 g >= o.length && (g = o.length - 1); 1130 const v = -o[g]; 1131 if (l.normalizeSlideIndex) 1132 for (let e = 0; e < d.length; e += 1) { 1133 const t = -Math.floor(100 * v), 1134 s = Math.floor(100 * d[e]), 1135 a = Math.floor(100 * d[e + 1]); 1136 void 0 !== d[e + 1] ? (t >= s && t < a - (a - s) / 2 ? (n = e) : t >= s && t < a && (n = e + 1)) : t >= s && (n = e); 1137 } 1138 if (r.initialized && n !== p) { 1139 if (!r.allowSlideNext && v < r.translate && v < r.minTranslate()) return !1; 1140 if (!r.allowSlidePrev && v > r.translate && v > r.maxTranslate() && (p || 0) !== n) return !1; 1141 } 1142 let b; 1143 if ((n !== (c || 0) && s && r.emit("beforeSlideChangeStart"), r.updateProgress(v), (b = n > p ? "next" : n < p ? "prev" : "reset"), (u && -v === r.translate) || (!u && v === r.translate))) 1144 return r.updateActiveIndex(n), l.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== l.effect && r.setTranslate(v), "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)), !1; 1145 if (l.cssMode) { 1146 const e = r.isHorizontal(), 1147 s = u ? v : -v; 1148 if (0 === t) { 1149 const t = r.virtual && r.params.virtual.enabled; 1150 t && ((r.wrapperEl.style.scrollSnapType = "none"), (r._immediateVirtual = !0)), 1151 (h[e ? "scrollLeft" : "scrollTop"] = s), 1152 t && 1153 requestAnimationFrame(() => { 1154 (r.wrapperEl.style.scrollSnapType = ""), (r._swiperImmediateVirtual = !1); 1155 }); 1156 } else { 1157 if (!r.support.smoothScroll) return w({ swiper: r, targetPosition: s, side: e ? "left" : "top" }), !0; 1158 h.scrollTo({ [e ? "left" : "top"]: s, behavior: "smooth" }); 1159 } 1160 return !0; 1161 } 1162 return ( 1163 r.setTransition(t), 1164 r.setTranslate(v), 1165 r.updateActiveIndex(n), 1166 r.updateSlidesClasses(), 1167 r.emit("beforeTransitionStart", t, a), 1168 r.transitionStart(s, b), 1169 0 === t 1170 ? r.transitionEnd(s, b) 1171 : r.animating || 1172 ((r.animating = !0), 1173 r.onSlideToWrapperTransitionEnd || 1174 (r.onSlideToWrapperTransitionEnd = function (e) { 1175 r && 1176 !r.destroyed && 1177 e.target === this && 1178 (r.$wrapperEl[0].removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), 1179 r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd), 1180 (r.onSlideToWrapperTransitionEnd = null),
1181 delete r.onSlideToWrapperTransitionEnd, 1182 r.transitionEnd(s, b)); 1183 }), 1184 r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd), 1185 r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd)), 1186 !0 1187 ); 1188 }, 1189 slideToLoop: function (e, t, s, a) { 1190 if ((void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === s && (s = !0), "string" == typeof e)) { 1191 const t = parseInt(e, 10); 1192 if (!isFinite(t)) throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`); 1193 e = t; 1194 } 1195 const i = this; 1196 let r = e; 1197 return i.params.loop && (r += i.loopedSlides), i.slideTo(r, t, s, a); 1198 }, 1199 slideNext: function (e, t, s) { 1200 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); 1201 const a = this, 1202 { animating: i, enabled: r, params: n } = a; 1203 if (!r) return a; 1204 let l = n.slidesPerGroup; 1205 "auto" === n.slidesPerView && 1 === n.slidesPerGroup && n.slidesPerGroupAuto && (l = Math.max(a.slidesPerViewDynamic("current", !0), 1)); 1206 const o = a.activeIndex < n.slidesPerGroupSkip ? 1 : l; 1207 if (n.loop) { 1208 if (i && n.loopPreventsSlide) return !1; 1209 a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft); 1210 } 1211 return n.rewind && a.isEnd ? a.slideTo(0, e, t, s) : a.slideTo(a.activeIndex + o, e, t, s); 1212 }, 1213 slidePrev: function (e, t, s) { 1214 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); 1215 const a = this, 1216 { params: i, animating: r, snapGrid: n, slidesGrid: l, rtlTranslate: o, enabled: d } = a; 1217 if (!d) return a; 1218 if (i.loop) { 1219 if (r && i.loopPreventsSlide) return !1; 1220 a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft); 1221 } 1222 function c(e) { 1223 return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e); 1224 } 1225 const p = c(o ? a.translate : -a.translate), 1226 u = n.map((e) => c(e)); 1227 let h = n[u.indexOf(p) - 1]; 1228 if (void 0 === h && i.cssMode) { 1229 let e; 1230 n.forEach((t, s) => { 1231 p >= t && (e = s); 1232 }), 1233 void 0 !== e && (h = n[e > 0 ? e - 1 : e]); 1234 } 1235 let m = 0; 1236 if ( 1237 (void 0 !== h && 1238 ((m = l.indexOf(h)), m < 0 && (m = a.activeIndex - 1), "auto" === i.slidesPerView && 1 === i.slidesPerGroup && i.slidesPerGroupAuto && ((m = m - a.slidesPerViewDynamic("previous", !0) + 1), (m = Math.max(m, 0)))), 1239 i.rewind && a.isBeginning) 1240 ) { 1241 const i = a.params.virtual && a.params.virtual.enabled && a.virtual ? a.virtual.slides.length - 1 : a.slides.length - 1; 1242 return a.slideTo(i, e, t, s); 1243 } 1244 return a.slideTo(m, e, t, s); 1245 }, 1246 slideReset: function (e, t, s) { 1247 return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, s); 1248 }, 1249 slideToClosest: function (e, t, s, a) { 1250 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), void 0 === a && (a = 0.5); 1251 const i = this; 1252 let r = i.activeIndex; 1253 const n = Math.min(i.params.slidesPerGroupSkip, r), 1254 l = n + Math.floor((r - n) / i.params.slidesPerGroup), 1255 o = i.rtlTranslate ? i.translate : -i.translate; 1256 if (o >= i.snapGrid[l]) { 1257 const e = i.snapGrid[l]; 1258 o - e > (i.snapGrid[l + 1] - e) * a && (r += i.params.slidesPerGroup); 1259 } else { 1260 const e = i.snapGrid[l - 1]; 1261 o - e <= (i.snapGrid[l] - e) * a && (r -= i.params.slidesPerGroup); 1262 } 1263 return (r = Math.max(r, 0)), (r = Math.min(r, i.slidesGrid.length - 1)), i.slideTo(r, e, t, s); 1264 }, 1265 slideToClickedSlide: function () { 1266 const e = this, 1267 { params: t, $wrapperEl: s } = e, 1268 a = "auto" === t.slidesPerView ? e.slidesPerViewDynamic() : t.slidesPerView; 1269 let i, 1270 r = e.clickedIndex; 1271 if (t.loop) { 1272 if (e.animating) return; 1273 (i = parseInt(d(e.clickedSlide).attr("bwdsas-data-swiper-slide-index"), 10)), 1274 t.centeredSlides 1275 ? r < e.loopedSlides - a / 2 || r > e.slides.length - e.loopedSlides + a / 2 1276 ? (e.loopFix(), 1277 (r = s.children(`.${t.slideClass}[bwdsas-data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index()), 1278 p(() => { 1279 e.slideTo(r); 1280 })) 1281 : e.slideTo(r) 1282 : r > e.slides.length - a 1283 ? (e.loopFix(), 1284 (r = s.children(`.${t.slideClass}[bwdsas-data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index()), 1285 p(() => { 1286 e.slideTo(r); 1287 })) 1288 : e.slideTo(r); 1289 } else e.slideTo(r); 1290 }, 1291 }; 1292 var z = { 1293 loopCreate: function () { 1294 const e = this, 1295 t = a(), 1296 { params: s, $wrapperEl: i } = e, 1297 r = i.children().length > 0 ? d(i.children()[0].parentNode) : i; 1298 r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove(); 1299 let n = r.children(`.${s.slideClass}`); 1300 if (s.loopFillGroupWithBlank) { 1301 const e = s.slidesPerGroup - (n.length % s.slidesPerGroup); 1302 if (e !== s.slidesPerGroup) { 1303 for (let a = 0; a < e; a += 1) { 1304 const e = d(t.createElement("div")).addClass(`${s.slideClass} ${s.slideBlankClass}`); 1305 r.append(e); 1306 } 1307 n = r.children(`.${s.slideClass}`); 1308 } 1309 } 1310 "auto" !== s.slidesPerView || s.loopedSlides || (s.loopedSlides = n.length), 1311 (e.loopedSlides = Math.ceil(parseFloat(s.loopedSlides || s.slidesPerView, 10))), 1312 (e.loopedSlides += s.loopAdditionalSlides), 1313 e.loopedSlides > n.length && e.params.loopedSlidesLimit && (e.loopedSlides = n.length); 1314 const l = [], 1315 o = []; 1316 n.each((e, t) => { 1317 d(e).attr("bwdsas-data-swiper-slide-index", t); 1318 }); 1319 for (let t = 0; t < e.loopedSlides; t += 1) { 1320 const e = t - Math.floor(t / n.length) * n.length; 1321 o.push(n.eq(e)[0]), l.unshift(n.eq(n.length - e - 1)[0]); 1322 } 1323 for (let e = 0; e < o.length; e += 1) r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass)); 1324 for (let e = l.length - 1; e >= 0; e -= 1) r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass)); 1325 }, 1326 loopFix: function () { 1327 const e = this; 1328 e.emit("beforeLoopFix"); 1329 const { activeIndex: t, slides: s, loopedSlides: a, allowSlidePrev: i, allowSlideNext: r, snapGrid: n, rtlTranslate: l } = e; 1330 let o; 1331 (e.allowSlidePrev = !0), (e.allowSlideNext = !0); 1332 const d = -n[t] - e.getTranslate(); 1333 if (t < a) { 1334 (o = s.length - 3 * a + t), (o += a); 1335 e.slideTo(o, 0, !1, !0) && 0 !== d && e.setTranslate((l ? -e.translate : e.translate) - d); 1336 } else if (t >= s.length - a) { 1337 (o = -s.length + t + a), (o += a); 1338 e.slideTo(o, 0, !1, !0) && 0 !== d && e.setTranslate((l ? -e.translate : e.translate) - d); 1339 } 1340 (e.allowSlidePrev = i), (e.allowSlideNext = r), e.emit("loopFix"); 1341 }, 1342 loopDestroy: function () { 1343 const { $wrapperEl: e, params: t, slides: s } = this; 1344 e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(), s.removeAttr("bwdsas-data-swiper-slide-index"); 1345 }, 1346 }; 1347 function L(e) { 1348 const t = this, 1349 s = a(), 1350 i = r(), 1351 n = t.touchEventsData, 1352 { params: l, touches: o, enabled: c } = t; 1353 if (!c) return; 1354 if (t.animating && l.preventInteractionOnTransition) return; 1355 !t.animating && l.cssMode && l.loop && t.loopFix(); 1356 let p = e; 1357 p.originalEvent && (p = p.originalEvent); 1358 let h = d(p.target); 1359 if ("wrapper" === l.touchEventsTarget && !h.closest(t.wrapperEl).length) return; 1360 if (((n.isTouchEvent = "touchstart" === p.type), !n.isTouchEvent && "which" in p && 3 === p.which)) return; 1361 if (!n.isTouchEvent && "button" in p && p.button > 0) return; 1362 if (n.isTouched && n.isMoved) return; 1363 const m = !!l.noSwipingClass && "" !== l.noSwipingClass, 1364 f = e.composedPath ? e.composedPath() : e.path; 1365 m && p.target && p.target.shadowRoot && f && (h = d(f[0])); 1366 const g = l.noSwipingSelector ? l.noSwipingSelector : `.${l.noSwipingClass}`, 1367 v = !(!p.target || !p.target.shadowRoot); 1368 if ( 1369 l.noSwiping && 1370 (v 1371 ? (function (e, t) { 1372 return ( 1373 void 0 === t && (t = this), 1374 (function t(s) { 1375 if (!s || s === a() || s === r()) return null; 1376 s.assignedSlot && (s = s.assignedSlot); 1377 const i = s.closest(e); 1378 return i || s.getRootNode ? i || t(s.getRootNode().host) : null; 1379 })(t) 1380 ); 1381 })(g, h[0]) 1382 : h.closest(g)[0]) 1383 ) 1384 return void (t.allowClick = !0); 1385 if (l.swipeHandler && !h.closest(l.swipeHandler)[0]) return; 1386 (o.currentX = "touchstart" === p.type ? p.targetTouches[0].pageX : p.pageX), (o.currentY = "touchstart" === p.type ? p.targetTouches[0].pageY : p.pageY); 1387 const w = o.currentX, 1388 b = o.currentY, 1389 x = l.edgeSwipeDetection || l.iOSEdgeSwipeDetection, 1390 y = l.edgeSwipeThreshold || l.iOSEdgeSwipeThreshold; 1391 if (x && (w <= y || w >= i.innerWidth - y)) { 1392 if ("prevent" !== x) return; 1393 e.preventDefault(); 1394 } 1395 if ( 1396 (Object.assign(n, { isTouched: !0, isMoved: !1, allowTouchCallbacks: !0, isScrolling: void 0, startMoving: void 0 }), 1397 (o.startX = w), 1398 (o.startY = b), 1399 (n.touchStartTime = u()), 1400 (t.allowClick = !0), 1401 t.updateSize(), 1402 (t.swipeDirection = void 0), 1403 l.threshold > 0 && (n.allowThresholdMove = !1), 1404 "touchstart" !== p.type) 1405 ) { 1406 let e = !0; 1407 h.is(n.focusableElements) && ((e = !1), "SELECT" === h[0].nodeName && (n.isTouched = !1)), s.activeElement && d(s.activeElement).is(n.focusableElements) && s.activeElement !== h[0] && s.activeElement.blur(); 1408 const a = e && t.allowTouchMove && l.touchStartPreventDefault; 1409 (!l.touchStartForcePreventDefault && !a) || h[0].isContentEditable || p.preventDefault(); 1410 } 1411 t.params.freeMode && t.params.freeMode.enabled && t.freeMode && t.animating && !l.cssMode && t.freeMode.onTouchStart(), t.emit("touchStart", p); 1412 } 1413 function O(e) { 1414 const t = a(), 1415 s = this, 1416 i = s.touchEventsData, 1417 { params: r, touches: n, rtlTranslate: l, enabled: o } = s; 1418 if (!o) return; 1419 let c = e; 1420 if ((c.originalEvent && (c = c.originalEvent), !i.isTouched)) return void (i.startMoving && i.isScrolling && s.emit("touchMoveOpposite", c)); 1421 if (i.isTouchEvent && "touchmove" !== c.type) return; 1422 const p = "touchmove" === c.type && c.targetTouches && (c.targetTouches[0] || c.changedTouches[0]), 1423 h = "touchmove" === c.type ? p.pageX : c.pageX, 1424 m = "touchmove" === c.type ? p.pageY : c.pageY; 1425 if (c.preventedByNestedSwiper) return (n.startX = h), void (n.startY = m); 1426 if (!s.allowTouchMove) return d(c.target).is(i.focusableElements) || (s.allowClick = !1), void (i.isTouched && (Object.assign(n, { startX: h, startY: m, currentX: h, currentY: m }), (i.touchStartTime = u()))); 1427 if (i.isTouchEvent && r.touchReleaseOnEdges && !r.loop) 1428 if (s.isVertical()) { 1429 if ((m < n.startY && s.translate <= s.maxTranslate()) || (m > n.startY && s.translate >= s.minTranslate())) return (i.isTouched = !1), void (i.isMoved = !1); 1430 } else if ((h < n.startX && s.translate <= s.maxTranslate()) || (h > n.startX && s.translate >= s.minTranslate())) return; 1431 if (i.isTouchEvent && t.activeElement && c.target === t.activeElement && d(c.target).is(i.focusableElements)) return (i.isMoved = !0), void (s.allowClick = !1); 1432 if ((i.allowTouchCallbacks && s.emit("touchMove", c), c.targetTouches && c.targetTouches.length > 1)) return; 1433 (n.currentX = h), (n.currentY = m); 1434 const f = n.currentX - n.startX, 1435 g = n.currentY - n.startY; 1436 if (s.params.threshold && Math.sqrt(f ** 2 + g ** 2) < s.params.threshold) return; 1437 if (void 0 === i.isScrolling) { 1438 let e; 1439 (s.isHorizontal() && n.currentY === n.startY) || (s.isVertical() && n.currentX === n.startX) 1440 ? (i.isScrolling = !1) 1441 : f * f + g * g >= 25 && ((e = (180 * Math.atan2(Math.abs(g), Math.abs(f))) / Math.PI), (i.isScrolling = s.isHorizontal() ? e > r.touchAngle : 90 - e > r.touchAngle)); 1442 } 1443 if ((i.isScrolling && s.emit("touchMoveOpposite", c), void 0 === i.startMoving && ((n.currentX === n.startX && n.currentY === n.startY) || (i.startMoving = !0)), i.isScrolling)) return void (i.isTouched = !1); 1444 if (!i.startMoving) return; 1445 (s.allowClick = !1), 1446 !r.cssMode && c.cancelable && c.preventDefault(), 1447 r.touchMoveStopPropagation && !r.nested && c.stopPropagation(), 1448 i.isMoved || 1449 (r.loop && !r.cssMode && s.loopFix(), 1450 (i.startTranslate = s.getTranslate()), 1451 s.setTransition(0), 1452 s.animating && s.$wrapperEl.trigger("webkitTransitionEnd transitionend"), 1453 (i.allowMomentumBounce = !1), 1454 !r.grabCursor || (!0 !== s.allowSlideNext && !0 !== s.allowSlidePrev) || s.setGrabCursor(!0), 1455 s.emit("sliderFirstMove", c)), 1456 s.emit("sliderMove", c), 1457 (i.isMoved = !0); 1458 let v = s.isHorizontal() ? f : g; 1459 (n.diff = v), (v *= r.touchRatio), l && (v = -v), (s.swipeDirection = v > 0 ? "prev" : "next"), (i.currentTranslate = v + i.startTranslate); 1460 let w = !0, 1461 b = r.resistanceRatio; 1462 if ( 1463 (r.touchReleaseOnEdges && (b = 0), 1464 v > 0 && i.currentTranslate > s.minTranslate() 1465 ? ((w = !1), r.resistance && (i.currentTranslate = s.minTranslate() - 1 + (-s.minTranslate() + i.startTranslate + v) ** b)) 1466 : v < 0 && i.currentTranslate < s.maxTranslate() && ((w = !1), r.resistance && (i.currentTranslate = s.maxTranslate() + 1 - (s.maxTranslate() - i.startTranslate - v) ** b)), 1467 w && (c.preventedByNestedSwiper = !0), 1468 !s.allowSlideNext && "next" === s.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), 1469 !s.allowSlidePrev && "prev" === s.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), 1470 s.allowSlidePrev || s.allowSlideNext || (i.currentTranslate = i.startTranslate),
1470 1471 r.threshold > 0) 1472 ) { 1473 if (!(Math.abs(v) > r.threshold || i.allowThresholdMove)) return void (i.currentTranslate = i.startTranslate); 1474 if (!i.allowThresholdMove) 1475 return (i.allowThresholdMove = !0), (n.startX = n.currentX), (n.startY = n.currentY), (i.currentTranslate = i.startTranslate), void (n.diff = s.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY); 1476 } 1477 r.followFinger && 1478 !r.cssMode && 1479 (((r.freeMode && r.freeMode.enabled && s.freeMode) || r.watchSlidesProgress) && (s.updateActiveIndex(), s.updateSlidesClasses()), 1480 s.params.freeMode && r.freeMode.enabled && s.freeMode && s.freeMode.onTouchMove(), 1481 s.updateProgress(i.currentTranslate), 1482 s.setTranslate(i.currentTranslate)); 1483 } 1484 function I(e) { 1485 const t = this, 1486 s = t.touchEventsData, 1487 { params: a, touches: i, rtlTranslate: r, slidesGrid: n, enabled: l } = t; 1488 if (!l) return; 1489 let o = e; 1490 if ((o.originalEvent && (o = o.originalEvent), s.allowTouchCallbacks && t.emit("touchEnd", o), (s.allowTouchCallbacks = !1), !s.isTouched)) 1491 return s.isMoved && a.grabCursor && t.setGrabCursor(!1), (s.isMoved = !1), void (s.startMoving = !1); 1492 a.grabCursor && s.isMoved && s.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1); 1493 const d = u(), 1494 c = d - s.touchStartTime; 1495 if (t.allowClick) { 1496 const e = o.path || (o.composedPath && o.composedPath()); 1497 t.updateClickedSlide((e && e[0]) || o.target), t.emit("tap click", o), c < 300 && d - s.lastClickTime < 300 && t.emit("doubleTap doubleClick", o); 1498 } 1499 if ( 1500 ((s.lastClickTime = u()), 1501 p(() => { 1502 t.destroyed || (t.allowClick = !0); 1503 }), 1504 !s.isTouched || !s.isMoved || !t.swipeDirection || 0 === i.diff || s.currentTranslate === s.startTranslate) 1505 ) 1506 return (s.isTouched = !1), (s.isMoved = !1), void (s.startMoving = !1); 1507 let h; 1508 if (((s.isTouched = !1), (s.isMoved = !1), (s.startMoving = !1), (h = a.followFinger ? (r ? t.translate : -t.translate) : -s.currentTranslate), a.cssMode)) return; 1509 if (t.params.freeMode && a.freeMode.enabled) return void t.freeMode.onTouchEnd({ currentPos: h }); 1510 let m = 0, 1511 f = t.slidesSizesGrid[0]; 1512 for (let e = 0; e < n.length; e += e < a.slidesPerGroupSkip ? 1 : a.slidesPerGroup) { 1513 const t = e < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup; 1514 void 0 !== n[e + t] ? h >= n[e] && h < n[e + t] && ((m = e), (f = n[e + t] - n[e])) : h >= n[e] && ((m = e), (f = n[n.length - 1] - n[n.length - 2])); 1515 } 1516 let g = null, 1517 v = null; 1518 a.rewind && (t.isBeginning ? (v = t.params.virtual && t.params.virtual.enabled && t.virtual ? t.virtual.slides.length - 1 : t.slides.length - 1) : t.isEnd && (g = 0)); 1519 const w = (h - n[m]) / f, 1520 b = m < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup; 1521 if (c > a.longSwipesMs) { 1522 if (!a.longSwipes) return void t.slideTo(t.activeIndex); 1523 "next" === t.swipeDirection && (w >= a.longSwipesRatio ? t.slideTo(a.rewind && t.isEnd ? g : m + b) : t.slideTo(m)), 1524 "prev" === t.swipeDirection && (w > 1 - a.longSwipesRatio ? t.slideTo(m + b) : null !== v && w < 0 && Math.abs(w) > a.longSwipesRatio ? t.slideTo(v) : t.slideTo(m)); 1525 } else { 1526 if (!a.shortSwipes) return void t.slideTo(t.activeIndex); 1527 t.navigation && (o.target === t.navigation.nextEl || o.target === t.navigation.prevEl) 1528 ? o.target === t.navigation.nextEl 1529 ? t.slideTo(m + b) 1530 : t.slideTo(m) 1531 : ("next" === t.swipeDirection && t.slideTo(null !== g ? g : m + b), "prev" === t.swipeDirection && t.slideTo(null !== v ? v : m)); 1532 } 1533 } 1534 function A() { 1535 const e = this, 1536 { params: t, el: s } = e; 1537 if (s && 0 === s.offsetWidth) return; 1538 t.breakpoints && e.setBreakpoint(); 1539 const { allowSlideNext: a, allowSlidePrev: i, snapGrid: r } = e; 1540 (e.allowSlideNext = !0), 1541 (e.allowSlidePrev = !0), 1542 e.updateSize(), 1543 e.updateSlides(), 1544 e.updateSlidesClasses(), 1545 ("auto" === t.slidesPerView || t.slidesPerView > 1) && e.isEnd && !e.isBeginning && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0), 1546 e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(), 1547 (e.allowSlidePrev = i), 1548 (e.allowSlideNext = a), 1549 e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow(); 1550 } 1551 function D(e) { 1552 const t = this; 1553 t.enabled && (t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation()))); 1554 } 1555 function G() { 1556 const e = this, 1557 { wrapperEl: t, rtlTranslate: s, enabled: a } = e; 1558 if (!a) return; 1559 let i;
1560 (e.previousTranslate = e.translate), e.isHorizontal() ? (e.translate = -t.scrollLeft) : (e.translate = -t.scrollTop), 0 === e.translate && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses(); 1561 const r = e.maxTranslate() - e.minTranslate(); 1562 (i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r), i !== e.progress && e.updateProgress(s ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1); 1563 } 1564 let N = !1; 1565 function B() {} 1566 const H = (e, t) => { 1567 const s = a(), 1568 { params: i, touchEvents: r, el: n, wrapperEl: l, device: o, support: d } = e, 1569 c = !!i.nested, 1570 p = "on" === t ? "addEventListener" : "removeEventListener", 1571 u = t; 1572 if (d.touch) { 1573 const t = !("touchstart" !== r.start || !d.passiveListener || !i.passiveListeners) && { passive: !0, capture: !1 }; 1574 n[p](r.start, e.onTouchStart, t), n[p](r.move, e.onTouchMove, d.passiveListener ? { passive: !1, capture: c } : c), n[p](r.end, e.onTouchEnd, t), r.cancel && n[p](r.cancel, e.onTouchEnd, t); 1575 } else n[p](r.start, e.onTouchStart, !1), s[p](r.move, e.onTouchMove, c), s[p](r.end, e.onTouchEnd, !1); 1576 (i.preventClicks || i.preventClicksPropagation) && n[p]("click", e.onClick, !0), 1577 i.cssMode && l[p]("scroll", e.onScroll), 1578 i.updateOnWindowResize ? e[u](o.ios || o.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", A, !0) : e[u]("observerUpdate", A, !0); 1579 }; 1580 var X = { 1581 attachEvents: function () { 1582 const e = this, 1583 t = a(), 1584 { params: s, support: i } = e; 1585 (e.onTouchStart = L.bind(e)), (e.onTouchMove = O.bind(e)), (e.onTouchEnd = I.bind(e)), s.cssMode && (e.onScroll = G.bind(e)), (e.onClick = D.bind(e)), i.touch && !N && (t.addEventListener("touchstart", B), (N = !0)), H(e, "on"); 1586 }, 1587 detachEvents: function () { 1588 H(this, "off"); 1589 }, 1590 }; 1591 const Y = (e, t) => e.grid && t.grid && t.grid.rows > 1; 1592 var R = { 1593 addClasses: function () { 1594 const e = this, 1595 { classNames: t, params: s, rtl: a, $el: i, device: r, support: n } = e, 1596 l = (function (e, t) { 1597 const s = []; 1598 return ( 1599 e.forEach((e) => { 1600 "object" == typeof e 1601 ? Object.keys(e).forEach((a) => { 1602 e[a] && s.push(t + a); 1603 }) 1604 : "string" == typeof e && s.push(t + e); 1605 }), 1606 s 1607 ); 1608 })( 1609 [ 1610 "initialized", 1611 s.direction, 1612 { "pointer-events": !n.touch }, 1613 { "free-mode": e.params.freeMode && s.freeMode.enabled }, 1614 { autoheight: s.autoHeight }, 1615 { rtl: a }, 1616 { grid: s.grid && s.grid.rows > 1 }, 1617 { "grid-column": s.grid && s.grid.rows > 1 && "column" === s.grid.fill }, 1618 { android: r.android }, 1619 { ios: r.ios }, 1620 { "css-mode": s.cssMode }, 1621 { centered: s.cssMode && s.centeredSlides }, 1622 { "watch-progress": s.watchSlidesProgress }, 1623 ], 1624 s.containerModifierClass 1625 ); 1626 t.push(...l), i.addClass([...t].join(" ")), e.emitContainerClasses(); 1627 }, 1628 removeClasses: function () { 1629 const { $el: e, classNames: t } = this; 1630 e.removeClass(t.join(" ")), this.emitContainerClasses(); 1631 }, 1632 }; 1633 var W = { 1634 init: !0, 1635 direction: "horizontal", 1636 touchEventsTarget: "wrapper", 1637 initialSlide: 0, 1638 speed: 300, 1639 cssMode: !1, 1640 updateOnWindowResize: !0, 1641 resizeObserver: !0, 1642 nested: !1, 1643 createElements: !1, 1644 enabled: !0, 1645 focusableElements: "input, select, option, textarea, button, video, label", 1646 width: null, 1647 height: null, 1648 preventInteractionOnTransition: !1, 1649 userAgent: null, 1650 url: null, 1651 edgeSwipeDetection: !1, 1652 edgeSwipeThreshold: 20, 1653 autoHeight: !1, 1654 setWrapperSize: !1, 1655 virtualTranslate: !1, 1656 effect: "slide", 1657 breakpoints: void 0, 1658 breakpointsBase: "window", 1659 spaceBetween: 0, 1660 slidesPerView: 1, 1661 slidesPerGroup: 1, 1662 slidesPerGroupSkip: 0, 1663 slidesPerGroupAuto: !1, 1664 centeredSlides: !1,
1665 centeredSlidesBounds: !1, 1666 slidesOffsetBefore: 0, 1667 slidesOffsetAfter: 0, 1668 normalizeSlideIndex: !0, 1669 centerInsufficientSlides: !1, 1670 watchOverflow: !0, 1671 roundLengths: !1, 1672 touchRatio: 1, 1673 touchAngle: 45, 1674 simulateTouch: !0, 1675 shortSwipes: !0, 1676 longSwipes: !0, 1677 longSwipesRatio: 0.5, 1678 longSwipesMs: 300, 1679 followFinger: !0, 1680 allowTouchMove: !0, 1681 threshold: 0, 1682 touchMoveStopPropagation: !1, 1683 touchStartPreventDefault: !0, 1684 touchStartForcePreventDefault: !1, 1685 touchReleaseOnEdges: !1, 1686 uniqueNavElements: !0, 1687 resistance: !0, 1688 resistanceRatio: 0.85, 1689 watchSlidesProgress: !1, 1690 grabCursor: !1, 1691 preventClicks: !0, 1692 preventClicksPropagation: !0, 1693 slideToClickedSlide: !1, 1694 preloadImages: !0, 1695 updateOnImagesReady: !0, 1696 loop: !1, 1697 loopAdditionalSlides: 0, 1698 loopedSlides: null, 1699 loopedSlidesLimit: !0, 1700 loopFillGroupWithBlank: !1, 1701 loopPreventsSlide: !0, 1702 rewind: !1, 1703 allowSlidePrev: !0, 1704 allowSlideNext: !0, 1705 swipeHandler: null, 1706 noSwiping: !0, 1707 noSwipingClass: "bwdsas-swiper-no-swiping", 1708 noSwipingSelector: null, 1709 passiveListeners: !0, 1710 maxBackfaceHiddenSlides: 10, 1711 containerModifierClass: "bwdsas-swiper-", 1712 slideClass: "bwdsas-swiper-slide", 1713 slideBlankClass: "bwdsas-swiper-slide-invisible-blank", 1714 slideActiveClass: "bwdsas-swiper-slide-active", 1715 slideDuplicateActiveClass: "bwdsas-swiper-slide-duplicate-active", 1716 slideVisibleClass: "bwdsas-swiper-slide-visible", 1717 slideDuplicateClass: "bwdsas-swiper-slide-duplicate", 1718 slideNextClass: "bwdsas-swiper-slide-next", 1719 slideDuplicateNextClass: "bwdsas-swiper-slide-duplicate-next", 1720 slidePrevClass: "bwdsas-swiper-slide-prev", 1721 slideDuplicatePrevClass: "bwdsas-swiper-slide-duplicate-prev", 1722 wrapperClass: "bwdsas-swiper-wrapper", 1723 runCallbacksOnInit: !0, 1724 _emitClasses: !1, 1725 }; 1726 function q(e, t) { 1727 return function (s) { 1728 void 0 === s && (s = {}); 1729 const a = Object.keys(s)[0], 1730 i = s[a]; 1731 "object" == typeof i && null !== i 1732 ? (["navigation", "pagination", "scrollbar"].indexOf(a) >= 0 && !0 === e[a] && (e[a] = { auto: !0 }), 1733 a in e && "enabled" in i ? (!0 === e[a] && (e[a] = { enabled: !0 }), "object" != typeof e[a] || "enabled" in e[a] || (e[a].enabled = !0), e[a] || (e[a] = { enabled: !1 }), g(t, s)) : g(t, s)) 1734 : g(t, s); 1735 }; 1736 } 1737 const j = { 1738 eventsEmitter: $, 1739 update: S, 1740 translate: M, 1741 transition: { 1742 setTransition: function (e, t) { 1743 const s = this; 1744 s.params.cssMode || s.$wrapperEl.transition(e), s.emit("setTransition", e, t); 1745 }, 1746 transitionStart: function (e, t) { 1747 void 0 === e && (e = !0); 1748 const s = this, 1749 { params: a } = s; 1750 a.cssMode || (a.autoHeight && s.updateAutoHeight(), P({ swiper: s, runCallbacks: e, direction: t, step: "Start" })); 1751 }, 1752 transitionEnd: function (e, t) { 1753 void 0 === e && (e = !0); 1754 const s = this, 1755 { params: a } = s; 1756 (s.animating = !1), a.cssMode || (s.setTransition(0), P({ swiper: s, runCallbacks: e, direction: t, step: "End" })); 1757 }, 1758 }, 1759 slide: k, 1760 loop: z, 1761 grabCursor: { 1762 setGrabCursor: function (e) { 1763 const t = this; 1764 if (t.support.touch || !t.params.simulateTouch || (t.params.watchOverflow && t.isLocked) || t.params.cssMode) return; 1765 const s = "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl; 1766 (s.style.cursor = "move"), (s.style.cursor = e ? "grabbing" : "grab"); 1767 }, 1768 unsetGrabCursor: function () { 1769 const e = this; 1770 e.support.touch || (e.params.watchOverflow && e.isLocked) || e.params.cssMode || (e["container" === e.params.touchEventsTarget ? "el" : "wrapperEl"].style.cursor = ""); 1771 }, 1772 }, 1773 events: X, 1774 breakpoints: { 1775 setBreakpoint: function () { 1776 const e = this, 1777 { activeIndex: t, initialized: s, loopedSlides: a = 0, params: i, $el: r } = e, 1778 n = i.breakpoints; 1779 if (!n || (n && 0 === Object.keys(n).length)) return;
1780 const l = e.getBreakpoint(n, e.params.breakpointsBase, e.el); 1781 if (!l || e.currentBreakpoint === l) return; 1782 const o = (l in n ? n[l] : void 0) || e.originalParams, 1783 d = Y(e, i), 1784 c = Y(e, o), 1785 p = i.enabled; 1786 d && !c 1787 ? (r.removeClass(`${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`), e.emitContainerClasses()) 1788 : !d && 1789 c && 1790 (r.addClass(`${i.containerModifierClass}grid`), 1791 ((o.grid.fill && "column" === o.grid.fill) || (!o.grid.fill && "column" === i.grid.fill)) && r.addClass(`${i.containerModifierClass}grid-column`), 1792 e.emitContainerClasses()), 1793 ["navigation", "pagination", "scrollbar"].forEach((t) => { 1794 const s = i[t] && i[t].enabled, 1795 a = o[t] && o[t].enabled; 1796 s && !a && e[t].disable(), !s && a && e[t].enable(); 1797 }); 1798 const u = o.direction && o.direction !== i.direction, 1799 h = i.loop && (o.slidesPerView !== i.slidesPerView || u); 1800 u && s && e.changeDirection(), g(e.params, o); 1801 const m = e.params.enabled; 1802 Object.assign(e, { allowTouchMove: e.params.allowTouchMove, allowSlideNext: e.params.allowSlideNext, allowSlidePrev: e.params.allowSlidePrev }), 1803 p && !m ? e.disable() : !p && m && e.enable(), 1804 (e.currentBreakpoint = l), 1805 e.emit("_beforeBreakpoint", o), 1806 h && s && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - a + e.loopedSlides, 0, !1)), 1807 e.emit("breakpoint", o); 1808 }, 1809 getBreakpoint: function (e, t, s) { 1810 if ((void 0 === t && (t = "window"), !e || ("container" === t && !s))) return; 1811 let a = !1; 1812 const i = r(), 1813 n = "window" === t ? i.innerHeight : s.clientHeight, 1814 l = Object.keys(e).map((e) => { 1815 if ("string" == typeof e && 0 === e.indexOf("@")) { 1816 const t = parseFloat(e.substr(1)); 1817 return { value: n * t, point: e }; 1818 } 1819 return { value: e, point: e }; 1820 }); 1821 l.sort((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10)); 1822 for (let e = 0; e < l.length; e += 1) { 1823 const { point: r, value: n } = l[e]; 1824 "window" === t ? i.matchMedia(`(min-width: ${n}px)`).matches && (a = r) : n <= s.clientWidth && (a = r); 1825 } 1826 return a || "max"; 1827 }, 1828 }, 1829 checkOverflow: { 1830 checkOverflow: function () { 1831 const e = this, 1832 { isLocked: t, params: s } = e, 1833 { slidesOffsetBefore: a } = s; 1834 if (a) { 1835 const t = e.slides.length - 1, 1836 s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a; 1837 e.isLocked = e.size > s; 1838 } else e.isLocked = 1 === e.snapGrid.length; 1839 !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked), 1840 !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked), 1841 t && t !== e.isLocked && (e.isEnd = !1), 1842 t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock"); 1843 }, 1844 }, 1845 classes: R, 1846 images: { 1847 loadImage: function (e, t, s, a, i, n) { 1848 const l = r(); 1849 let o; 1850 function c() { 1851 n && n(); 1852 } 1853 d(e).parent("picture")[0] || (e.complete && i) ? c() : t ? ((o = new l.Image()), (o.onload = c), (o.onerror = c), a && (o.sizes = a), s && (o.srcset = s), t && (o.src = t)) : c(); 1854 }, 1855 preloadImages: function () { 1856 const e = this; 1857 function t() { 1858 null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(
1858), e.emit("imagesReady"))); 1859 } 1860 e.imagesToLoad = e.$el.find("img"); 1861 for (let s = 0; s < e.imagesToLoad.length; s += 1) { 1862 const a = e.imagesToLoad[s]; 1863 e.loadImage(a, a.currentSrc || a.getAttribute("src"), a.srcset || a.getAttribute("srcset"), a.sizes || a.getAttribute("sizes"), !0, t); 1864 } 1865 }, 1866 }, 1867 }, 1868 _ = {}; 1869 class V { 1870 constructor() { 1871 let e, t; 1872 for (var s = arguments.length, a = new Array(s), i = 0; i < s; i++) a[i] = arguments[i]; 1873 if ((1 === a.length && a[0].constructor && "Object" === Object.prototype.toString.call(a[0]).slice(8, -1) ? (t = a[0]) : ([e, t] = a), t || (t = {}), (t = g({}, t)), e && !t.el && (t.el = e), t.el && d(t.el).length > 1)) { 1874 const e = []; 1875 return ( 1876 d(t.el).each((s) => { 1877 const a = g({}, t, { el: s }); 1878 e.push(new V(a)); 1879 }), 1880 e 1881 ); 1882 } 1883 const r = this; 1884 (r.__swiper__ = !0), 1885 (r.support = E()), 1886 (r.device = C({ userAgent: t.userAgent })),
1887 (r.browser = T()), 1888 (r.eventsListeners = {}), 1889 (r.eventsAnyListeners = []), 1890 (r.modules = [...r.__modules__]), 1891 t.modules && Array.isArray(t.modules) && r.modules.push(...t.modules); 1892 const n = {}; 1893 r.modules.forEach((e) => { 1894 e({ swiper: r, extendParams: q(t, n), on: r.on.bind(r), once: r.once.bind(r), off: r.off.bind(r), emit: r.emit.bind(r) }); 1895 }); 1896 const l = g({}, W, n); 1897 return ( 1898 (r.params = g({}, l, _, t)), 1899 (r.originalParams = g({}, r.params)), 1900 (r.passedParams = g({}, t)), 1901 r.params && 1902 r.params.on && 1903 Object.keys(r.params.on).forEach((e) => { 1904 r.on(e, r.params.on[e]); 1905 }), 1906 r.params && r.params.onAny && r.onAny(r.params.onAny), 1907 (r.$ = d), 1908 Object.assign(r, { 1909 enabled: r.params.enabled, 1910 el: e, 1911 classNames: [], 1912 slides: d(), 1913 slidesGrid: [], 1914 snapGrid: [], 1915 slidesSizesGrid: [], 1916 isHorizontal: () => "horizontal" === r.params.direction, 1917 isVertical: () => "vertical" === r.params.direction, 1918 activeIndex: 0, 1919 realIndex: 0, 1920 isBeginning: !0, 1921 isEnd: !1, 1922 translate: 0, 1923 previousTranslate: 0, 1924 progress: 0, 1925 velocity: 0, 1926 animating: !1, 1927 allowSlideNext: r.params.allowSlideNext, 1928 allowSlidePrev: r.params.allowSlidePrev, 1929 touchEvents: (function () { 1930 const e = ["touchstart", "touchmove", "touchend", "touchcancel"], 1931 t = ["pointerdown", "pointermove", "pointerup"]; 1932 return ( 1933 (r.touchEventsTouch = { start: e[0], move: e[1], end: e[2], cancel: e[3] }), 1934 (r.touchEventsDesktop = { start: t[0], move: t[1], end: t[2] }), 1935 r.support.touch || !r.params.simulateTouch ? r.touchEventsTouch : r.touchEventsDesktop 1936 ); 1937 })(), 1938 touchEventsData: { 1939 isTouched: void 0, 1940 isMoved: void 0, 1941 allowTouchCallbacks: void 0, 1942 touchStartTime: void 0, 1943 isScrolling: void 0, 1944 currentTranslate: void 0, 1945 startTranslate: void 0, 1946 allowThresholdMove: void 0, 1947 focusableElements: r.params.focusableElements, 1948 lastClickTime: u(), 1949 clickTimeout: void 0, 1950 velocities: [], 1951 allowMomentumBounce: void 0, 1952 isTouchEvent: void 0, 1953 startMoving: void 0, 1954 }, 1955 allowClick: !0, 1956 allowTouchMove: r.params.allowTouchMove, 1957 touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 }, 1958 imagesToLoad: [], 1959 imagesLoaded: 0, 1960 }), 1961 r.emit("_swiper"), 1962 r.params.init && r.init(), 1963 r 1964 ); 1965 } 1966 enable() { 1967 const e = this; 1968 e.enabled || ((e.enabled = !0), e.params.grabCursor && e.setGrabCursor(), e.emit("enable")); 1969 } 1970 disable() { 1971 const e = this; 1972 e.enabled && ((e.enabled = !1), e.params.grabCursor && e.unsetGrabCursor(), e.emit("disable")); 1973 } 1974 setProgress(e, t) { 1975 const s = this; 1976 e = Math.min(Math.max(e, 0), 1); 1977 const a = s.minTranslate(), 1978 i = (s.maxTranslate() - a) * e + a; 1979 s.translateTo(i, void 0 === t ? 0 : t), s.updateActiveIndex(), s.updateSlidesClasses(); 1980 } 1981 emitContainerClasses() { 1982 const e = this; 1983 if (!e.params._emitClasses || !e.el) return; 1984 const t = e.el.className.split(" ").filter((t) => 0 === t.indexOf("bwdsas-swiper") || 0 === t.indexOf(e.params.containerModifierClass)); 1985 e.emit("_containerClasses", t.join(" ")); 1986 } 1987 getSlideClasses(e) { 1988 const t = this; 1989 return t.destroyed 1990 ? "" 1991 : e.className 1992 .split(" ") 1993 .filter((e) => 0 === e.indexOf("bwdsas-swiper-slide") || 0 === e.indexOf(t.params.slideClass)) 1994 .join(" "); 1995 } 1996 emitSlidesClasses() { 1997 const e = this; 1998 if (!e.params._emitClasses || !e.el) return; 1999 const t = []; 2000 e.slides.each((s) => { 2001 const a = e.getSlideClasses(s); 2002 t.push({ slideEl: s, classNames: a }), e.emit("_slideClass", s, a); 2003 }), 2004 e.emit("_slideClasses", t); 2005 } 2006 slidesPerViewDynamic(e, t) { 2007 void 0 === e && (e = "current"), void 0 === t && (t = !1); 2008 const { params: s, slides: a, slidesGrid: i, slidesSizesGrid: r, size: n, activeIndex: l } = this; 2009 let o = 1; 2010 if (s.centeredSlides) { 2011 let e, 2012 t = a[l].swiperSlideSize; 2013 for (let s = l + 1; s < a.length; s += 1) a[s] && !e && ((t += a[s].swiperSlideSize), (o += 1), t > n && (e = !0)); 2014 for (let s = l - 1; s >= 0; s -= 1) a[s] && !e && ((t += a[s].swiperSlideSize), (o += 1), t > n && (e = !0)); 2015 } else if ("current" === e) 2016 for (let e = l + 1; e < a.length; e += 1) { 2017 (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1); 2018 } 2019 else 2020 for (let e = l - 1; e >= 0; e -= 1) { 2021 i[l] - i[e] < n && (o += 1); 2022 } 2023 return o; 2024 } 2025 update() { 2026 const e = this; 2027 if (!e || e.destroyed) return; 2028 const { snapGrid: t, params: s } = e; 2029 function a() { 2030 const t = e.rtlTranslate ? -1 * e.translate : e.translate, 2031 s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate()); 2032 e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses(); 2033 } 2034 let i; 2035 s.breakpoints && e.setBreakpoint(), 2036 e.updateSize(), 2037 e.updateSlides(), 2038 e.updateProgress(), 2039 e.updateSlidesClasses(), 2040 e.params.freeMode && e.params.freeMode.enabled 2041 ? (a(), e.params.autoHeight && e.updateAutoHeight()) 2042 : ((i = ("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0)), i || a()), 2043 s.watchOverflow && t !== e.snapGrid && e.checkOverflow(), 2044 e.emit("update"); 2045 } 2046 changeDirection(e, t) { 2047 void 0 === t && (t = !0); 2048 const s = this, 2049 a = s.params.direction; 2050 return ( 2051 e || (e = "horizontal" === a ? "vertical" : "horizontal"), 2052 e === a || 2053 ("horizontal" !== e && "vertical" !== e) || 2054 (s.$el.removeClass(`${s.params.containerModifierClass}${a}`).addClass(`${s.params.containerModifierClass}${e}`), 2055 s.emitContainerClasses(), 2056 (s.params.direction = e), 2057 s.slides.each((t) => { 2058 "vertical" === e ? (t.style.width = "") : (t.style.height = ""); 2059 }), 2060 s.emit("changeDirection"), 2061 t && s.update()), 2062 s 2063 ); 2064 } 2065 changeLanguageDirection(e) { 2066 const t = this; 2067 (t.rtl && "rtl" === e) || 2068 (!t.rtl && "ltr" === e) || 2069 ((t.rtl = "rtl" === e), 2070 (t.rtlTranslate = "horizontal" === t.params.direction && t.rtl), 2071 t.rtl ? (t.$el.addClass(`${t.params.containerModifierClass}rtl`), (t.el.dir = "rtl")) : (t.$el.removeClass(`${t.params.containerModifierClass}rtl`), (t.el.dir = "ltr")),
2072 t.update()); 2073 } 2074 mount(e) { 2075 const t = this; 2076 if (t.mounted) return !0; 2077 const s = d(e || t.params.el); 2078 if (!(e = s[0])) return !1; 2079 e.swiper = t; 2080 const i = () => `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`; 2081 let r = (() => { 2082 if (e && e.shadowRoot && e.shadowRoot.querySelector) { 2083 const t = d(e.shadowRoot.querySelector(i())); 2084 return (t.children = (e) => s.children(e)), t; 2085 } 2086 return s.children ? s.children(i()) : d(s).children(i()); 2087 })(); 2088 if (0 === r.length && t.params.createElements) { 2089 const e = a().createElement("div"); 2090 (r = d(e)), 2091 (e.className = t.params.wrapperClass), 2092 s.append(e), 2093 s.children(`.${t.params.slideClass}`).each((e) => { 2094 r.append(e); 2095 }); 2096 } 2097 return ( 2098 Object.assign(t, { 2099 $el: s, 2100 el: e, 2101 $wrapperEl: r, 2102 wrapperEl: r[0], 2103 mounted: !0, 2104 rtl: "rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction"), 2105 rtlTranslate: "horizontal" === t.params.direction && ("rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction")), 2106 wrongRTL: "-webkit-box" === r.css("display"), 2107 }), 2108 !0 2109 ); 2110 } 2111 init(e) { 2112 const t = this; 2113 if (t.initialized) return t; 2114 return ( 2115 !1 === t.mount(e) || 2116 (t.emit("beforeInit"), 2117 t.params.breakpoints && t.setBreakpoint(), 2118 t.addClasses(), 2119 t.params.loop && t.loopCreate(), 2120 t.updateSize(), 2121 t.updateSlides(), 2122 t.params.watchOverflow && t.checkOverflow(), 2123 t.params.grabCursor && t.enabled && t.setGrabCursor(), 2124 t.params.preloadImages && t.preloadImages(), 2125 t.params.loop ? t.slideTo(t.params.initialSlide + t.loopedSlides, 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0), 2126 t.attachEvents(), 2127 (t.initialized = !0), 2128 t.emit("init"), 2129 t.emit("afterInit")), 2130 t 2131 ); 2132 } 2133 destroy(e, t) { 2134 void 0 === e && (e = !0), void 0 === t && (t = !0); 2135 const s = this, 2136 { params: a, $el: i, $wrapperEl: r, slides: n } = s; 2137 return ( 2138 void 0 === s.params || 2139 s.destroyed || 2140 (s.emit("beforeDestroy"), 2141 (s.initialized = !1), 2142 s.detachEvents(), 2143 a.loop && s.loopDestroy(), 2144 t && 2145 (s.removeClasses(), 2146 i.removeAttr("style"), 2147 r.removeAttr("style"), 2148 n && n.length && n.removeClass([a.slideVisibleClass, a.slideActiveClass, a.slideNextClass, a.slidePrevClass].join(" ")).removeAttr("style").removeAttr("bwdsas-data-swiper-slide-index")), 2149 s.emit("destroy"), 2150 Object.keys(s.eventsListeners).forEach((e) => { 2151 s.off(e); 2152 }), 2153 !1 !== e && 2154 ((s.$el[0].swiper = null), 2155 (function (e) { 2156 const t = e; 2157 Object.keys(t).forEach((e) => { 2158 try { 2159 t[e] = null; 2160 } catch (e) {} 2161 try { 2162 delete t[e]; 2163 } catch (e) {} 2164 }); 2165 })(s)), 2166 (s.destroyed = !0)), 2167 null 2168 ); 2169 } 2170 static extendDefaults(e) { 2171 g(_, e); 2172 } 2173 static get extendedDefaults() { 2174 return _; 2175 } 2176 static get defaults() { 2177 return W; 2178 } 2179 static installModule(e) { 2180 V.prototype.__modules__ || (V.prototype.__modules__ = []); 2181 const t = V.prototype.__modules__; 2182 "function" == typeof e && t.indexOf(e) < 0 && t.push(e); 2183 } 2184 static use(e) { 2185 return Array.isArray(e) ? (e.forEach((e) => V.installModule(e)), V) : (V.installModule(e), V); 2186 } 2187 } 2188 function F(e, t, s, i) { 2189 const r = a(); 2190 return ( 2191 e.params.createElements &&
2192 Object.keys(i).forEach((a) => { 2193 if (!s[a] && !0 === s.auto) { 2194 let n = e.$el.children(`.${i[a]}`)[0]; 2195 n || ((n = r.createElement("div")), (n.className = i[a]), e.$el.append(n)), (s[a] = n), (t[a] = n); 2196 } 2197 }), 2198 s 2199 ); 2200 } 2201 function U(e) { 2202 return ( 2203 void 0 === e && (e = ""), 2204 `.${e 2205 .trim() 2206 .replace(/([\.:!\/])/g, "\\$1") 2207 .replace(/ /g, ".")}` 2208 ); 2209 } 2210 function K(e) { 2211 const t = this, 2212 { $wrapperEl: s, params: a } = t; 2213 if ((a.loop && t.loopDestroy(), "object" == typeof e && "length" in e)) for (let t = 0; t < e.length; t += 1) e[t] && s.append(e[t]); 2214 else s.append(e); 2215 a.loop && t.loopCreate(), a.observer || t.update(); 2216 } 2217 function Z(e) { 2218 const t = this, 2219 { params: s, $wrapperEl: a, activeIndex: i } = t; 2220 s.loop && t.loopDestroy(); 2221 let r = i + 1; 2222 if ("object" == typeof e && "length" in e) { 2223 for (let t = 0; t < e.length; t += 1) e[t] && a.prepend(e[t]); 2224 r = i + e.length; 2225 } else a.prepend(e); 2226 s.loop && t.loopCreate(), s.observer || t.update(), t.slideTo(r, 0, !1); 2227 } 2228 function Q(e, t) { 2229 const s = this, 2230 { $wrapperEl: a, params: i, activeIndex: r } = s; 2231 let n = r; 2232 i.loop && ((n -= s.loopedSlides), s.loopDestroy(), (s.slides = a.children(`.${i.slideClass}`))); 2233 const l = s.slides.length; 2234 if (e <= 0) return void s.prependSlide(t); 2235 if (e >= l) return void s.appendSlide(t); 2236 let o = n > e ? n + 1 : n; 2237 const d = []; 2238 for (let t = l - 1; t >= e; t -= 1) { 2239 const e = s.slides.eq(t); 2240 e.remove(), d.unshift(e); 2241 } 2242 if ("object" == typeof t && "length" in t) { 2243 for (let e = 0; e < t.length; e += 1) t[e] && a.append(t[e]); 2244 o = n > e ? n + t.length : n; 2245 } else a.append(t); 2246 for (let e = 0; e < d.length; e += 1) a.append(d[e]); 2247 i.loop && s.loopCreate(), i.observer || s.update(), i.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1); 2248 } 2249 function J(e) { 2250 const t = this, 2251 { params: s, $wrapperEl: a, activeIndex: i } = t; 2252 let r = i; 2253 s.loop && ((r -= t.loopedSlides), t.loopDestroy(), (t.slides = a.children(`.${s.slideClass}`))); 2254 let n, 2255 l = r; 2256 if ("object" == typeof e && "length" in e) { 2257 for (let s = 0; s < e.length; s += 1) (n = e[s]), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1); 2258 l = Math.max(l, 0); 2259 } else (n = e), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1), (l = Math.max(l, 0)); 2260 s.loop && t.loopCreate(), s.observer || t.update(), s.loop ? t.slideTo(l + t.loopedSlides, 0, !1) : t.slideTo(l, 0, !1); 2261 } 2262 function ee() { 2263 const e = this, 2264 t = []; 2265 for (let s = 0; s < e.slides.length; s += 1) t.push(s); 2266 e.removeSlide(t); 2267 } 2268 function te(e) { 2269 const { effect: t, swiper: s, on: a, setTranslate: i, setTransition: r, overwriteParams: n, perspective: l, recreateShadows: o, getEffectParams: d } = e; 2270 let c; 2271 a("beforeInit", () => { 2272 if (s.params.effect !== t) return; 2273 s.classNames.push(`${s.params.containerModifierClass}${t}`), l && l() && s.classNames.push(`${s.params.containerModifierClass}3d`); 2274 const e = n ? n() : {}; 2275 Object.assign(s.params, e), Object.assign(s.originalParams, e); 2276 }), 2277 a("setTranslate", () => { 2278 s.params.effect === t && i(); 2279 }), 2280 a("setTransition", (e, a) => { 2281 s.params.effect === t && r(a); 2282 }), 2283 a("transitionEnd", () => { 2284 if (s.params.effect === t && o) { 2285 if (!d || !d().slideShadows) return; 2286 s.slides.each((e) => { 2287 s.$(e).find(".bwdsas-swiper-slide-shadow-top, .bwdsas-swiper-slide-shadow-right, .bwdsas-swiper-slide-shadow-bottom, .bwdsas-swiper-slide-shadow-left").remove(); 2288 }), 2289 o(); 2290 } 2291 }), 2292 a("virtualUpdate", () => { 2293 s.params.effect === t && 2294 (s.slides.length || (c = !0), 2295 requestAnimationFrame(() => { 2296 c && s.slides && s.slides.length && (i(), (c = !1)); 2297 })); 2298 }); 2299 } 2300 function se(e, t) { 2301 return e.transformEl ? t.find(e.transformEl).css({ "backface-visibility": "hidden", "-webkit-backface-visibility": "hidden" }) : t; 2302 } 2303 function ae(e) { 2304 let { swiper: t, duration: s, transformEl: a, allSlides: i } = e; 2305 const { slides: r, activeIndex: n, $wrapperEl: l } = t; 2306 if (t.params.virtualTranslate && 0 !== s) { 2307 let e, 2308 s = !1; 2309 (e = i ? (a ? r.find(a) : r) : a ? r.eq(n).find(a) : r.eq(n)), 2310 e.transitionEnd(() => { 2311 if (s) return; 2312 if (!t || t.destroyed) return; 2313 (s = !0), (t.animating = !1); 2314 const e = ["webkitTransitionEnd", "transitionend"]; 2315 for (let t = 0; t < e.length; t += 1) l.trigger(e[t]); 2316 }); 2317 } 2318 } 2319 function ie(e, t, s) { 2320 const a = "bwdsas-swiper-slide-shadow" + (s ? `-${s}` : ""), 2321 i = e.transformEl ? t.find(e.transformEl) : t; 2322 let r = i.children(`.${a}`); 2323 return r.length || ((r = d(`<div class="bwdsas-swiper-slide-shadow${s ? `-${s}` : ""}"></div>`)), i.append(r)), r; 2324 }
2325 Object.keys(j).forEach((e) => { 2326 Object.keys(j[e]).forEach((t) => { 2327 V.prototype[t] = j[e][t]; 2328 }); 2329 }), 2330 V.use([ 2331 function (e) { 2332 let { swiper: t, on: s, emit: a } = e; 2333 const i = r(); 2334 let n = null, 2335 l = null; 2336 const o = () => { 2337 t && !t.destroyed && t.initialized && (a("beforeResize"), a("resize")); 2338 }, 2339 d = () => { 2340 t && !t.destroyed && t.initialized && a("orientationchange"); 2341 }; 2342 s("init", () => { 2343 t.params.resizeObserver && void 0 !== i.ResizeObserver 2344 ? t && 2345 !t.destroyed && 2346 t.initialized && 2347 ((n = new ResizeObserver((e) => { 2348 l = i.requestAnimationFrame(() => { 2349 const { width: s, height: a } = t; 2350 let i = s, 2351 r = a; 2352 e.forEach((e) => { 2353 let { contentBoxSize: s, contentRect: a, target: n } = e; 2354 (n && n !== t.el) || ((i = a ? a.width : (s[0] || s).inlineSize), (r = a ? a.height : (s[0] || s).blockSize)); 2355 }), 2356 (i === s && r === a) || o(); 2357 }); 2358 })), 2359 n.observe(t.el)) 2360 : (i.addEventListener("resize", o), i.addEventListener("orientationchange", d)); 2361 }), 2362 s("destroy", () => { 2363 l && i.cancelAnimationFrame(l), n && n.unobserve && t.el && (n.unobserve(t.el), (n = null)), i.removeEventListener("resize", o), i.removeEventListener("orientationchange", d); 2364 }); 2365 }, 2366 function (e) { 2367 let { swiper: t, extendParams: s, on: a, emit: i } = e; 2368 const n = [], 2369 l = r(), 2370 o = function (e, t) { 2371 void 0 === t && (t = {}); 2372 const s = new (l.MutationObserver || l.WebkitMutationObserver)((e) => { 2373 if (1 === e.length) return void i("observerUpdate", e[0]); 2374 const t = function () { 2375 i("observerUpdate", e[0]); 2376 }; 2377 l.requestAnimationFrame ? l.requestAnimationFrame(t) : l.setTimeout(t, 0); 2378 }); 2379 s.observe(e, { attributes: void 0 === t.attributes || t.attributes, childList: void 0 === t.childList || t.childList, characterData: void 0 === t.characterData || t.characterData }), n.push(s); 2380 }; 2381 s({ observer: !1, observeParents: !1, observeSlideChildren: !1 }), 2382 a("init", () => { 2383 if (t.params.observer) { 2384 if (t.params.observeParents) { 2385 const e = t.$el.parents(); 2386 for (let t = 0; t < e.length; t += 1) o(e[t]); 2387 } 2388 o(t.$el[0], { childList: t.params.observeSlideChildren }), o(t.$wrapperEl[0], { attributes: !1 }); 2389 } 2390 }), 2391 a("destroy", () => { 2392 n.forEach((e) => { 2393 e.disconnect(); 2394 }), 2395 n.splice(0, n.length); 2396 }); 2397 }, 2398 ]); 2399 const re = [ 2400 function (e) { 2401 let t, 2402 { swiper: s, extendParams: a, on: i, emit: r } = e; 2403 function n(e, t) { 2404 const a = s.params.virtual; 2405 if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t]; 2406 const i = a.renderSlide ? d(a.renderSlide.call(s, e, t)) : d(`<div class="${s.params.slideClass}" bwdsas-data-swiper-slide-index="${t}">${e}</div>`); 2407 return i.attr("bwdsas-data-swiper-slide-index") || i.attr("bwdsas-data-swiper-slide-index", t), a.cache && (s.virtual.cache[t] = i), i; 2408 } 2409 function l(e) { 2410 const { slidesPerView: t, slidesPerGroup: a, centeredSlides: i } = s.params, 2411 { addSlidesBefore: l, addSlidesAfter: o } = s.params.virtual, 2412 { from: d, to: c, slides: p, slidesGrid: u, offset: h } = s.virtual; 2413 s.params.cssMode || s.updateActiveIndex(); 2414 const m = s.activeIndex || 0; 2415 let f, g, v; 2416 (f = s.rtlTranslate ? "right" : s.isHorizontal() ? "left" : "top"), i ? ((g = Math.floor(t / 2) + a + o), (v = Math.floor(t / 2) + a + l)) : ((g = t + (a - 1) + o), (v = a + l)); 2417 const w = Math.max((m || 0) - v, 0), 2418 b = Math.min((m || 0) + g, p.length - 1), 2419 x = (s.slidesGrid[w] || 0) - (s.slidesGrid[0] || 0); 2420 function y() { 2421 s.updateSlides(), s.updateProgress(), s.updateSlidesClasses(), s.lazy && s.params.lazy.enabled && s.lazy.load(), r("virtualUpdate"); 2422 } 2423 if ((Object.assign(s.virtual, { from: w, to: b, offset: x, slidesGrid: s.slidesGrid }), d === w && c === b && !e)) 2424 return s.slidesGrid !== u && x !== h && s.slides.css(f, `${x}px`), s.updateProgress(), void r("virtualUpdate"); 2425 if (s.params.virtual.renderExternal) 2426 return ( 2427 s.params.virtual.renderExternal.call(s, { 2428 offset: x, 2429 from: w, 2430 to: b, 2431 slides: (function () { 2432 const e = []; 2433 for (let t = w; t <= b; t += 1) e.push(p[t]); 2434 return e; 2435 })(), 2436 }), 2437 void (s.params.virtual.renderExternalUpdate ? y() : r("virtualUpdate")) 2438 ); 2439 const E = [], 2440 C = []; 2441 if (e) s.$wrapperEl.find(`.${s.params.slideClass}`).remove(); 2442 else for (let e = d; e <= c; e += 1) (e < w || e > b) && s.$wrapperEl.find(`.${s.params.slideClass}[bwdsas-data-swiper-slide-index="${e}"]`).remove(); 2443 for (let t = 0; t < p.length; t += 1) t >= w && t <= b && (void 0 === c || e ? C.push(t) : (t > c && C.push(t), t < d && E.push(t)));
2444 C.forEach((e) => { 2445 s.$wrapperEl.append(n(p[e], e)); 2446 }), 2447 E.sort((e, t) => t - e).forEach((e) => { 2448 s.$wrapperEl.prepend(n(p[e], e)); 2449 }), 2450 s.$wrapperEl.children(".bwdsas-swiper-slide").css(f, `${x}px`), 2451 y(); 2452 } 2453 a({ virtual: { enabled: !1, slides: [], cache: !0, renderSlide: null, renderExternal: null, renderExternalUpdate: !0, addSlidesBefore: 0, addSlidesAfter: 0 } }), 2454 (s.virtual = { cache: {}, from: void 0, to: void 0, slides: [], offset: 0, slidesGrid: [] }), 2455 i("beforeInit", () => { 2456 s.params.virtual.enabled && 2457 ((s.virtual.slides = s.params.virtual.slides), 2458 s.classNames.push(`${s.params.containerModifierClass}virtual`), 2459 (s.params.watchSlidesProgress = !0), 2460 (s.originalParams.watchSlidesProgress = !0), 2461 s.params.initialSlide || l()); 2462 }), 2463 i("setTranslate", () => { 2464 s.params.virtual.enabled && 2465 (s.params.cssMode && !s._immediateVirtual 2466 ? (clearTimeout(t), 2467 (t = setTimeout(() => { 2468 l(); 2469 }, 100))) 2470 : l()); 2471 }), 2472 i("init update resize", () => { 2473 s.params.virtual.enabled && s.params.cssMode && v(s.wrapperEl, "--bwdsas-swiper-virtual-size", `${s.virtualSize}px`); 2474 }), 2475 Object.assign(s.virtual, { 2476 appendSlide: function (e) { 2477 if ("object" == typeof e && "length" in e) for (let t = 0; t < e.length; t += 1) e[t] && s.virtual.slides.push(e[t]); 2478 else s.virtual.slides.push(e); 2479 l(!0); 2480 }, 2481 prependSlide: function (e) { 2482 const t = s.activeIndex; 2483 let a = t + 1, 2484 i = 1; 2485 if (Array.isArray(e)) { 2486 for (let t = 0; t < e.length; t += 1) e[t] && s.virtual.slides.unshift(e[t]); 2487 (a = t + e.length), (i = e.length); 2488 } else s.virtual.slides.unshift(e); 2489 if (s.params.virtual.cache) { 2490 const e = s.virtual.cache, 2491 t = {}; 2492 Object.keys(e).forEach((s) => { 2493 const a = e[s], 2494 r = a.attr("bwdsas-data-swiper-slide-index"); 2495 r && a.attr("bwdsas-data-swiper-slide-index", parseInt(r, 10) + i), (t[parseInt(s, 10) + i] = a); 2496 }), 2497 (s.virtual.cache = t); 2498 } 2499 l(!0), s.slideTo(a, 0); 2500 }, 2501 removeSlide: function (e) { 2502 if (null == e) return; 2503 let t = s.activeIndex; 2504 if (Array.isArray(e)) for (let a = e.length - 1; a >= 0; a -= 1) s.virtual.slides.splice(e[a], 1), s.params.virtual.cache && delete s.virtual.cache[e[a]], e[a] < t && (t -= 1), (t = Math.max(t, 0)); 2505 else s.virtual.slides.splice(e, 1), s.params.virtual.cache && delete s.virtual.cache[e], e < t && (t -= 1), (t = Math.max(t, 0)); 2506 l(!0), s.slideTo(t, 0); 2507 }, 2508 removeAllSlides: function () { 2509 (s.virtual.slides = []), s.params.virtual.cache && (s.virtual.cache = {}), l(!0), s.slideTo(0, 0); 2510 }, 2511 update: l, 2512 }); 2513 }, 2514 function (e) { 2515 let { swiper: t, extendParams: s, on: i, emit: n } = e; 2516 const l = a(), 2517 o = r(); 2518 function c(e) { 2519 if (!t.enabled) return; 2520 const { rtlTranslate: s } = t; 2521 let a = e; 2522 a.originalEvent && (a = a.originalEvent); 2523 const i = a.keyCode || a.charCode, 2524 r = t.params.keyboard.pageUpDown, 2525 d = r && 33 === i, 2526 c = r && 34 === i, 2527 p = 37 === i, 2528 u = 39 === i, 2529 h = 38 === i, 2530 m = 40 === i; 2531 if (!t.allowSlideNext && ((t.isHorizontal() && u) || (t.isVertical() && m) || c)) return !1; 2532 if (!t.allowSlidePrev && ((t.isHorizontal() && p) || (t.isVertical() && h) || d)) return !1; 2533 if (!(a.shiftKey || a.altKey || a.ctrlKey || a.metaKey || (l.activeElement && l.activeElement.nodeName && ("input" === l.activeElement.nodeName.toLowerCase() || "textarea" === l.activeElement.nodeName.toLowerCase())))) { 2534 if (t.params.keyboard.onlyInViewport && (d || c || p || u || h || m)) { 2535 let e = !1; 2536 if (t.$el.parents(`.${t.params.slideClass}`).length > 0 && 0 === t.$el.parents(`.${t.params.slideActiveClass}`).length) return; 2537 const a = t.$el, 2538 i = a[0].clientWidth, 2539 r = a[0].clientHeight, 2540 n = o.innerWidth, 2541 l = o.innerHeight, 2542 d = t.$el.offset(); 2543 s && (d.left -= t.$el[0].scrollLeft); 2544 const c = [ 2545 [d.left, d.top], 2546 [d.left + i, d.top], 2547 [d.left, d.top + r], 2548 [d.left + i, d.top + r], 2549 ]; 2550 for (let t = 0; t < c.length; t += 1) { 2551 const s = c[t]; 2552 if (s[0] >= 0 && s[0] <= n && s[1] >= 0 && s[1] <= l) { 2553 if (0 === s[0] && 0 === s[1]) continue; 2554 e = !0; 2555 } 2556 } 2557 if (!e) return; 2558 } 2559 t.isHorizontal() 2560 ? ((d || c || p || u) && (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)), (((c || u) && !s) || ((d || p) && s)) && t.slideNext(), (((d || p) && !s) || ((c || u) && s)) && t.slidePrev()) 2561 : ((d || c || h || m) && (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)), (c || m) && t.slideNext(), (d || h) && t.slidePrev()), 2562 n("keyPress", i); 2563 } 2564 } 2565 function p() { 2566 t.keyboard.enabled || (d(l).on("keydown", c), (t.keyboard.enabled = !0)); 2567 } 2568 function u() { 2569 t.keyboard.enabled && (d(l).off("keydown", c), (t.keyboard.enabled = !1)); 2570 } 2571 (t.keyboard = { enabled: !1 }), 2572 s({ keyboard: { enabled: !1, onlyInViewport: !0, pageUpDown: !0 } }), 2573 i("init", () => { 2574 t.params.keyboard.enabled && p(); 2575 }), 2576 i("destroy", () => { 2577 t.keyboard.enabled && u(); 2578 }), 2579 Object.assign(t.keyboard, { enable: p, disable: u }); 2580 }, 2581 function (e) { 2582 let { swiper: t, extendParams: s, on: a, emit: i } = e; 2583 const n = r(); 2584 let l; 2585 s({ mousewheel: { enabled: !1, releaseOnEdges: !1, invert: !1, forceToAxis: !1, sensitivity: 1, eventsTarget: "container", thresholdDelta: null, thresholdTime: null } }), (t.mousewheel = { enabled: !1 }); 2586 let o, 2587 c = u(); 2588 const h = []; 2589 function m() { 2590 t.enabled && (t.mouseEntered = !0); 2591 } 2592 function f() { 2593 t.enabled && (t.mouseEntered = !1); 2594 } 2595 function g(e) { 2596 return ( 2597 !(t.params.mousewheel.thresholdDelta && e.delta < t.params.mousewheel.thresholdDelta) && 2598 !(t.params.mousewheel.thresholdTime && u() - c < t.params.mousewheel.thresholdTime) && 2599 ((e.delta >= 6 && u() - c < 60) || 2600 (e.direction < 0 ? (t.isEnd && !t.params.loop) || t.animating || (t.slideNext(), i("scroll", e.raw)) : (t.isBeginning && !t.params.loop) || t.animating || (t.slidePrev(), i("scroll", e.raw)), 2601 (c = new n.Date().getTime()), 2602 !1)) 2603 ); 2604 } 2605 function v(e) { 2606 let s = e, 2607 a = !0; 2608 if (!t.enabled) return; 2609 const r = t.params.mousewheel; 2610 t.params.cssMode && s.preventDefault(); 2611 let n = t.$el; 2612 if (("container" !== t.params.mousewheel.eventsTarget && (n = d(t.params.mousewheel.eventsTarget)), !t.mouseEntered && !n[0].contains(s.target) && !r.releaseOnEdges)) return !0; 2613 s.originalEvent && (s = s.originalEvent); 2614 let c = 0; 2615 const m = t.rtlTranslate ? -1 : 1, 2616 f = (function (e) { 2617 let t = 0, 2618 s = 0, 2619 a = 0, 2620 i = 0; 2621 return ( 2622 "detail" in e && (s = e.detail), 2623 "wheelDelta" in e && (s = -e.wheelDelta / 120), 2624 "wheelDeltaY" in e && (s = -e.wheelDeltaY / 120), 2625 "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), 2626 "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((t = s), (s = 0)), 2627 (a = 10 * t), 2628 (i = 10 * s), 2629 "deltaY" in e && (i = e.deltaY), 2630 "deltaX" in e && (a = e.deltaX), 2631 e.shiftKey && !a && ((a = i), (i = 0)), 2632 (a || i) && e.deltaMode && (1 === e.deltaMode ? ((a *= 40), (i *= 40)) : ((a *= 800), (i *= 800))), 2633 a && !t && (t = a < 1 ? -1 : 1), 2634 i && !s && (s = i < 1 ? -1 : 1), 2635 { spinX: t, spinY: s, pixelX: a, pixelY: i } 2636 ); 2637 })(s); 2638 if (r.forceToAxis) 2639 if (t.isHorizontal()) { 2640 if (!(Math.abs(f.pixelX) > Math.abs(f.pixelY))) return !0; 2641 c = -f.pixelX * m; 2642 } else { 2643 if (!(Math.abs(f.pixelY) > Math.abs(f.pixelX))) return !0; 2644 c = -f.pixelY; 2645 } 2646 else c = Math.abs(f.pixelX) > Math.abs(f.pixelY) ? -f.pixelX * m : -f.pixelY; 2647 if (0 === c) return !0; 2648 r.invert && (c = -c); 2649 let v = t.getTranslate() + c * r.sensitivity; 2650 if ( 2651 (v >= t.minTranslate() && (v = t.minTranslate()), 2652 v <= t.maxTranslate() && (v = t.maxTranslate()), 2653 (a = !!t.params.loop || !(v === t.minTranslate() || v === t.maxTranslate())), 2654 a && t.params.nested && s.stopPropagation(), 2655 t.params.freeMode && t.params.freeMode.enabled) 2656 ) { 2657 const e = { time: u(), delta: Math.abs(c), direction: Math.sign(c) }, 2658 a = o && e.time < o.time + 500 && e.delta <= o.delta && e.direction === o.direction; 2659 if (!a) { 2660 (o = void 0), t.params.loop && t.loopFix(); 2661 let n = t.getTranslate() + c * r.sensitivity; 2662 const d = t.isBeginning, 2663 u = t.isEnd; 2664 if ( 2665 (n >= t.minTranslate() && (n = t.minTranslate()), 2666 n <= t.maxTranslate() && (n = t.maxTranslate()), 2667 t.setTransition(0), 2668 t.setTranslate(n), 2669 t.updateProgress(), 2670 t.updateActiveIndex(), 2671 t.updateSlidesClasses(), 2672 ((!d && t.isBeginning) || (!u && t.isEnd)) && t.updateSlidesClasses(), 2673 t.params.freeMode.sticky) 2674 ) { 2675 clearTimeout(l), (l = void 0), h.length >= 15 && h.shift(); 2676 const s = h.length ? h[h.length - 1] : void 0, 2677 a = h[0]; 2678 if ((h.push(e), s && (e.delta > s.delta || e.direction !== s.direction))) h.splice(0); 2679 else if (h.length >= 15 && e.time - a.time < 500 && a.delta - e.delta >= 1 && e.delta <= 6) { 2680 const s = c > 0 ? 0.8 : 0.2; 2681 (o = e), 2682 h.splice(0), 2683 (l = p(() => { 2684 t.slideToClosest(t.params.speed, !0, void 0, s); 2685 }, 0)); 2686 } 2687 l || 2688 (l = p(() => { 2689 (o = e), h.splice(0), t.slideToClosest(t.params.speed, !0, void 0, 0.5); 2690 }, 500)); 2691 } 2692 if ((a || i("scroll", s), t.params.autoplay && t.params.autoplayDisableOnInteraction && t.autoplay.stop(), n === t.minTranslate() || n === t.maxTranslate())) return !0; 2693 } 2694 } else { 2695 const s = { time: u(), delta: Math.abs(c), direction: Math.sign(c), raw: e }; 2696 h.length >= 2 && h.shift(); 2697 const a = h.length ? h[h.length - 1] : void 0; 2698 if ( 2699 (h.push(s), 2700 a ? (s.direction !== a.direction || s.delta > a.delta || s.time > a.time + 150) && g(s) : g(s), 2701 (function (e) { 2702 const s = t.params.mousewheel; 2703 if (e.direction < 0) { 2704 if (t.isEnd && !t.params.loop && s.releaseOnEdges) return !0; 2705 } else if (t.isBeginning && !t.params.loop && s.releaseOnEdges) return !0; 2706 return !1; 2707 })(s)) 2708 ) 2709 return !0; 2710 } 2711 return s.preventDefault ? s.preventDefault() : (s.returnValue = !1), !1; 2712 } 2713 function w(e) { 2714 let s = t.$el; 2715 "container" !== t.params.mousewheel.eventsTarget && (s = d(t.params.mousewheel.eventsTarget)), s[e]("mouseenter", m), s[e]("mouseleave", f), s[e]("wheel", v); 2716 } 2717 function b() { 2718 return t.params.cssMode ? (t.wrapperEl.removeEventListener("wheel", v), !0) : !t.mousewheel.enabled && (w("on"), (t.mousewheel.enabled = !0), !0); 2719 } 2720 function x() { 2721 return t.params.cssMode ? (t.wrapperEl.addEventListener(event, v), !0) : !!t.mousewheel.enabled && (w("off"), (t.mousewheel.enabled = !1), !0); 2722 } 2723 a("init", () => { 2724 !t.params.mousewheel.enabled && t.params.cssMode && x(), t.params.mousewheel.enabled && b(); 2725 }), 2726 a("destroy", () => { 2727 t.params.cssMode && b(), t.mousewheel.enabled && x(); 2728 }), 2729 Object.assign(t.mousewheel, { enable: b, disable: x }); 2730 }, 2731 function (e) { 2732 let { swiper: t, extendParams: s, on: a, emit: i } = e; 2733 function r(e) { 2734 let s; 2735 return e && ((s = d(e)), t.params.uniqueNavElements && "string" == typeof e && s.length > 1 && 1 =
2735== t.$el.find(e).length && (s = t.$el.find(e))), s; 2736 } 2737 function n(e, s) { 2738 const a = t.params.navigation; 2739 e && 2740 e.length > 0 && 2741 (e[s ? "addClass" : "removeClass"](a.disabledClass), e[0] && "BUTTON" === e[0].tagName && (e[0].disabled = s), t.params.watchOverflow && t.enabled && e[t.isLocked ? "addClass" : "removeClass"](a.lockClass)); 2742 } 2743 function l() { 2744 if (t.params.loop) return; 2745 const { $nextEl: e, $prevEl: s } = t.navigation; 2746 n(s, t.isBeginning && !t.params.rewind), n(e, t.isEnd && !t.params.rewind); 2747 } 2748 function o(e) { 2749 e.preventDefault(), (!t.isBeginning || t.params.loop || t.params.rewind) && (t.slidePrev(), i("navigationPrev")); 2750 } 2751 function c(e) { 2752 e.preventDefault(), (!t.isEnd || t.params.loop || t.params.rewind) && (t.slideNext(), i("navigationNext")); 2753 } 2754 function p() { 2755 const e = t.params.navigation; 2756 if (((t.params.navigation = F(t, t.originalParams.navigation, t.params.navigation, { nextEl: "bwdsas-swiper-button-next", prevEl: "bwdsas-swiper-button-prev" })), !e.nextEl && !e.prevEl)) return; 2757 const s = r(e.nextEl), 2758 a = r(e.prevEl); 2759 s && s.length > 0 && s.on("click", c), 2760 a && a.length > 0 && a.on("click", o), 2761 Object.assign(t.navigation, { $nextEl: s, nextEl: s && s[0], $prevEl: a, prevEl: a && a[0] }), 2762 t.enabled || (s && s.addClass(e.lockClass), a && a.addClass(e.lockClass)); 2763 } 2764 function u() { 2765 const { $nextEl: e, $prevEl: s } = t.navigation; 2766 e && e.length && (e.off("click", c), e.removeClass(t.params.navigation.disabledClass)), s && s.length && (s.off("click", o), s.removeClass(t.params.navigation.disabledClass)); 2767 } 2768 s({ 2769 navigation: { 2770 nextEl: null, 2771 prevEl: null, 2772 hideOnClick: !1, 2773 disabledClass: "bwdsas-swiper-button-disabled", 2774 hiddenClass: "bwdsas-swiper-button-hidden", 2775 lockClass: "bwdsas-swiper-button-lock", 2776 navigationDisabledClass: "bwdsas-swiper-navigation-disabled", 2777 }, 2778 }), 2779 (t.navigation = { nextEl: null, $nextEl: null, prevEl: null, $prevEl: null }), 2780 a("init", () => { 2781 !1 === t.params.navigation.enabled ? h() : (p(), l()); 2782 }), 2783 a("toEdge fromEdge lock unlock", () => { 2784 l(); 2785 }), 2786 a("destroy", () => { 2787 u(); 2788 }), 2789 a("enable disable", () => { 2790 const { $nextEl: e, $prevEl: s } = t.navigation; 2791 e && e[t.enabled ? "removeClass" : "addClass"](t.params.navigation.lockClass), s && s[t.enabled ? "removeClass" : "addClass"](t.params.navigation.lockClass); 2792 }), 2793 a("click", (e, s) => { 2794 const { $nextEl: a, $prevEl: r } = t.navigation, 2795 n = s.target; 2796 if (t.params.navigation.hideOnClick && !d(n).is(r) && !d(n).is(a)) { 2797 if (t.pagination && t.params.pagination && t.params.pagination.clickable && (t.pagination.el === n || t.pagination.el.contains(n))) return; 2798 let e; 2799 a ? (e = a.hasClass(t.params.navigation.hiddenClass)) : r && (e = r.hasClass(t.params.navigation.hiddenClass)), 2800 i(!0 === e ? "navigationShow" : "navigationHide"), 2801 a && a.toggleClass(t.params.navigation.hiddenClass), 2802 r && r.toggleClass(t.params.navigation.hiddenClass); 2803 } 2804 }); 2805 const h = () => { 2806 t.$el.addClass(t.params.navigation.navigationDisabledClass), u(); 2807 }; 2808 Object.assign(t.navigation, { 2809 enable: () => { 2810 t.$el.removeClass(t.params.navigation.navigationDisabledClass), p(), l(); 2811 }, 2812 disable: h, 2813 update: l, 2814 init: p, 2815 destroy: u, 2816 }); 2817 }, 2818 function (e) { 2819 let { swiper: t, extendParams: s, on: a, emit: i } = e; 2820 const r = "bwdsas-swiper-pagination"; 2821 let n; 2822 s({ 2823 pagination: { 2824 el: null, 2825 bulletElement: "span", 2826 clickable: !1, 2827 hideOnClick: !1, 2828 renderBullet: null, 2829 renderProgressbar: null, 2830 renderFraction: null, 2831 renderCustom: null, 2832 progressbarOpposite: !1, 2833 type: "bullets", 2834 dynamicBullets: !1, 2835 dynamicMainBullets: 1, 2836 formatFractionCurrent: (e) => e, 2837 formatFractionTotal: (e) => e, 2838 bulletClass: `${r}-bullet`, 2839 bulletActiveClass: `${r}-bullet-active`, 2840 modifierClass: `${r}-`, 2841 currentClass: `${r}-current`, 2842 totalClass: `${r}-total`, 2843 hiddenClass: `${r}-hidden`, 2844 progressbarFillClass: `${r}-progressbar-fill`, 2845 progressbarOppositeClass: `${r}-progressbar-opposite`, 2846 clickableClass: `${r}-clickable`, 2847 lockClass: `${r}-lock`, 2848 horizontalClass: `${r}-horizontal`, 2849 verticalClass: `${r}-vertical`, 2850 paginationDisabledClass: `${r}-disabled`, 2851 }, 2852 }), 2853 (t.pagination = { el: null, $el: null, bullets: [] }); 2854 let l = 0; 2855 function o() { 2856 return !t.params.pagination.el || !t.pagination.el || !t.pagination.$el || 0 === t.pagination.$el.length; 2857 } 2858 function c(e, s) { 2859 const { bulletActiveClass: a } = t.params.pagination; 2860 e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`); 2861 } 2862 function p() { 2863 const e = t.rtl, 2864 s = t.params.pagination; 2865 if (o()) return; 2866 const a = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.slides.length, 2867 r = t.pagination.$el; 2868 let p; 2869 const u = t.params.loop ? Math.ceil((a - 2 * t.loopedSlides) / t.params.slidesPerGroup) : t.snapGrid.length; 2870 if ( 2871 (t.params.loop 2872 ? ((p = Math.ceil((t.activeIndex - t.loopedSlides) / t.params.slidesPerGroup)), 2873 p > a - 1 - 2 * t.loopedSlides && (p -= a - 2 * t.loopedSlides), 2874 p > u - 1 && (p -= u), 2875 p < 0 && "bullets" !== t.params.paginationType && (p = u + p)) 2876 : (p = void 0 !== t.snapIndex ? t.snapIndex : t.activeIndex || 0), 2877 "bullets" === s.type && t.pagination.bullets && t.pagination.bullets.length > 0) 2878 ) { 2879 const a = t.pagination.bullets; 2880 let i, o, u; 2881 if ( 2882 (s.dynamicBullets && 2883 ((n = a.eq(0)[t.isHorizontal() ? "outerWidth" : "outerHeight"](!0)), 2884 r.css(t.isHorizontal() ? "width" : "height", n * (s.dynamicMainBullets + 4) + "px"), 2885 s.dynamicMainBullets > 1 && void 0 !== t.previousIndex && ((l += p - (t.previousIndex - t.loopedSlides || 0)), l > s.dynamicMainBullets - 1 ? (l = s.dynamicMainBullets - 1) : l < 0 && (l = 0)), 2886 (i = Math.max(p - l, 0)), 2887 (o = i + (Math.min(a.length, s.dynamicMainBullets) - 1)), 2888 (u = (o + i) / 2)), 2889 a.removeClass(["", "-next", "-next-next", "-prev", "-prev-prev", "-main"].map((e) => `${s.bulletActiveClass}${e}`).join(" ")), 2890 r.length > 1) 2891 ) 2892 a.each((e) => { 2893 const t = d(e), 2894 a = t.index(); 2895 a === p && t.addClass(s.bulletActiveClass), s.dynamicBullets && (a >= i && a <= o && t.addClass(`${s.bulletActiveClass}-main`), a === i && c(t, "prev"), a === o && c(t, "next")); 2896 }); 2897 else { 2898 const e = a.eq(p), 2899 r = e.index(); 2900 if ((e.addClass(s.bulletActiveClass), s.dynamicBullets)) { 2901 const e = a.eq(i), 2902 n = a.eq(o); 2903 for (let e = i; e <= o; e += 1) a.eq(e).addClass(`${s.bulletActiveClass}-main`); 2904 if (t.params.loop) 2905 if (r >= a.length) { 2906 for (let e = s.dynamicMainBullets; e >= 0; e -= 1) a.eq(a.length - e).addClass(`${s.bulletActiveClass}-main`); 2907 a.eq(a.length - s.dynamicMainBullets - 1).addClass(`${s.bulletActiveClass}-prev`); 2908 } else c(e, "prev"), c(n, "next"); 2909 else c(e, "prev"), c(n, "next"); 2910 } 2911 } 2912 if (s.dynamicBullets) { 2913 const i = Math.min(a.length, s.dynamicMainBullets + 4), 2914 r = (n * i - n) / 2 - u * n, 2915 l = e ? "right" : "left"; 2916 a.css(t.isHorizontal() ? l : "top", `${r}px`); 2917 } 2918 } 2919 if (("fraction" === s.type && (r.find(U(s.currentClass)).text(s.formatFractionCurrent(p + 1)), r.find(U(s.totalClass)).text(s.formatFractionTotal(u))), "progressbar" === s.type)) { 2920 let e; 2921 e = s.progressbarOpposite ? (t.isHorizontal() ? "vertical" : "horizontal") : t.isHorizontal() ? "horizontal" : "vertical"; 2922 const a = (p + 1) / u; 2923 let i = 1, 2924 n = 1; 2925 "horizontal" === e ? (i = a) : (n = a), r.find(U(s.progressbarFillClass)).transform(`translate3d(0,
29250,0) scaleX(${i}) scaleY(${n})`).transition(t.params.speed); 2926 } 2927 "custom" === s.type && s.renderCustom ? (r.html(s.renderCustom(t, p + 1, u)), i("paginationRender", r[0])) : i("paginationUpdate", r[0]), 2928 t.params.watchOverflow && t.enabled && r[t.isLocked ? "addClass" : "removeClass"](s.lockClass); 2929 } 2930 function u() { 2931 const e = t.params.pagination; 2932 if (o()) return; 2933 const s = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.slides.length, 2934 a = t.pagination.$el; 2935 let r = ""; 2936 if ("bullets" === e.type) { 2937 let i = t.params.loop ? Math.ceil((s - 2 * t.loopedSlides) / t.params.slidesPerGroup) : t.snapGrid.length; 2938 t.params.freeMode && t.params.freeMode.enabled && !t.params.loop && i > s && (i = s); 2939 for (let s = 0; s < i; s += 1) e.renderBullet ? (r += e.renderBullet.call(t, s, e.bulletClass)) : (r += `<${e.bulletElement} class="${e.bulletClass}"></${e.bulletElement}>`); 2940 a.html(r), (t.pagination.bullets = a.find(U(e.bulletClass))); 2941 } 2942 "fraction" === e.type && ((r = e.renderFraction ? e.renderFraction.call(t, e.currentClass, e.totalClass) : `<span class="${e.currentClass}"></span> <span>/</span> <span class="${e.totalClass}"></span>`), a.html(r)), 2943 "progressbar" === e.type && ((r = e.renderProgressbar ? e.renderProgressbar.call(t, e.progressbarFillClass) : `<span class="${e.progressbarFillClass}"></span>`), a.html(r)), 2944 "custom" !== e.type && i("paginationRender", t.pagination.$el[0]); 2945 } 2946 function h() { 2947 t.params.pagination = F(t, t.originalParams.pagination, t.params.pagination, { el: "bwdsas-swiper-pagination" }); 2948 const e = t.params.pagination; 2949 if (!e.el) return; 2950 let s = d(e.el); 2951 0 !== s.length && 2952 (t.params.uniqueNavElements && "string" == typeof e.el && s.length > 1 && ((s = t.$el.find(e.el)), s.length > 1 && (s = s.filter((e) => d(e).parents(".bwdsas-swiper")[0] === t.el))), 2953 "bullets" === e.type && e.clickable && s.addClass(e.clickableClass), 2954 s.addClass(e.modifierClass + e.type), 2955 s.addClass(t.isHorizontal() ? e.horizontalClass : e.verticalClass), 2956 "bullets" === e.type && e.dynamicBullets && (s.addClass(`${e.modifierClass}${e.type}-dynamic`), (l = 0), e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)), 2957 "progressbar" === e.type && e.progressbarOpposite && s.addClass(e.progressbarOppositeClass), 2958 e.clickable && 2959 s.on("click", U(e.bulletClass), function (e) { 2960 e.preventDefault(); 2961 let s = d(this).index() * t.params.slidesPerGroup; 2962 t.params.loop && (s += t.loopedSlides), t.slideTo(s); 2963 }), 2964 Object.assign(t.pagination, { $el: s, el: s[0] }), 2965 t.enabled || s.addClass(e.lockClass)); 2966 } 2967 function m() { 2968 const e = t.params.pagination; 2969 if (o()) return; 2970 const s = t.pagination.$el; 2971 s.removeClass(e.hiddenClass), 2972 s.removeClass(e.modifierClass + e.type), 2973 s.removeClass(t.isHorizontal() ? e.horizontalClass : e.verticalClass), 2974 t.pagination.bullets && t.pagination.bullets.removeClass && t.pagination.bullets.removeClass(e.bulletActiveClass), 2975 e.clickable && s.off("click", U(e.bulletClass)); 2976 } 2977 a("init", () => { 2978 !1 === t.params.pagination.enabled ? f() : (h(), u(), p()); 2979 }), 2980 a("activeIndexChange", () => { 2981 (t.params.loop || void 0 === t.snapIndex) && p(); 2982 }), 2983 a("snapIndexChange", () => { 2984 t.params.loop || p(); 2985 }), 2986 a("slidesLengthChange", () => { 2987 t.params.loop && (u(), p()); 2988 }), 2989 a("snapGridLengthChange", () => { 2990 t.params.loop || (u(), p()); 2991 }), 2992 a("destroy", () => { 2993 m(); 2994 }), 2995 a("enable disable", () => { 2996 const { $el: e } = t.pagination; 2997 e && e[t.enabled ? "removeClass" : "addClass"](t.params.pagination.lockClass); 2998 }), 2999 a("lock unlock", () => { 3000 p(); 3001 }), 3002 a("click", (e, s) => { 3003 const a = s.target, 3004 { $el: r } = t.pagination; 3005 if (t.params.pagination.el && t.params.pagination.hideOnClick && r && r.length > 0 && !d(a).hasClass(t.params.pagination.bulletClass)) { 3006 if (t.navigation && ((t.navigation.nextEl && a === t.navigation.nextEl) || (t.navigation.prevEl && a === t.navigation.prevEl))) return; 3007 const e = r.hasClass(t.params.pagination.hiddenClass); 3008 i(!0 === e ? "paginationShow" : "paginationHide"), r.toggleClass(t.params.pagination.hiddenClass); 3009 } 3010 }); 3011 const f = () => { 3012 t.$el.addClass(t.params.pagination.paginationDisabledClass), t.pagination.$el && t.pagination.$el.addClass(t.params.pagination.paginationDisabledClass), m(); 3013 }; 3014 Object.assign(t.pagination, { 3015 enable: () => { 3016 t.$el.removeClass(t.params.pagination.paginationDisabledClass), t.pagination.$el && t.pagination.$el.removeClass(t.params.pagination.paginationDisabledClass), h(), u(), p(); 3017 }, 3018 disable: f, 3019 render: u, 3020 update: p, 3021 init: h, 3022 destroy: m, 3023 }); 3024 }, 3025 function (e) { 3026 let { swiper: t, extendParams: s, on: i, emit: r }
3026 = e; 3027 const n = a(); 3028 let l, 3029 o, 3030 c, 3031 u, 3032 h = !1, 3033 m = null, 3034 f = null; 3035 function g() { 3036 if (!t.params.scrollbar.el || !t.scrollbar.el) return; 3037 const { scrollbar: e, rtlTranslate: s, progress: a } = t, 3038 { $dragEl: i, $el: r } = e, 3039 n = t.params.scrollbar; 3040 let l = o, 3041 d = (c - o) * a; 3042 s ? ((d = -d), d > 0 ? ((l = o - d), (d = 0)) : -d + o > c && (l = c + d)) : d < 0 ? ((l = o + d), (d = 0)) : d + o > c && (l = c - d), 3043 t.isHorizontal() ? (i.transform(`translate3d(${d}px, 0, 0)`), (i[0].style.width = `${l}px`)) : (i.transform(`translate3d(0px, ${d}px, 0)`), (i[0].style.height = `${l}px`)), 3044 n.hide && 3045 (clearTimeout(m), 3046 (r[0].style.opacity = 1), 3047 (m = setTimeout(() => { 3048 (r[0].style.opacity = 0), r.transition(400); 3049 }, 1e3))); 3050 } 3051 function v() { 3052 if (!t.params.scrollbar.el || !t.scrollbar.el) return; 3053 const { scrollbar: e } = t, 3054 { $dragEl: s, $el: a } = e; 3055 (s[0].style.width = ""), 3056 (s[0].style.height = ""), 3057 (c = t.isHorizontal() ? a[0].offsetWidth : a[0].offsetHeight), 3058 (u = t.size / (t.virtualSize + t.params.slidesOffsetBefore - (t.params.centeredSlides ? t.snapGrid[0] : 0))), 3059 (o = "auto" === t.params.scrollbar.dragSize ? c * u : parseInt(t.params.scrollbar.dragSize, 10)), 3060 t.isHorizontal() ? (s[0].style.width = `${o}px`) : (s[0].style.height = `${o}px`), 3061 (a[0].style.display = u >= 1 ? "none" : ""), 3062 t.params.scrollbar.hide && (a[0].style.opacity = 0), 3063 t.params.watchOverflow && t.enabled && e.$el[t.isLocked ? "addClass" : "removeClass"](t.params.scrollbar.lockClass); 3064 } 3065 function w(e) { 3066 return t.isHorizontal() ? ("touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientX : e.clientX) : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientY : e.clientY; 3067 } 3068 function b(e) { 3069 const { scrollbar: s, rtlTranslate: a } = t, 3070 { $el: i } = s; 3071 let r; 3072 (r = (w(e) - i.offset()[t.isHorizontal() ? "left" : "top"] - (null !== l ? l : o / 2)) / (c - o)), (r = Math.max(Math.min(r, 1), 0)), a && (r = 1 - r); 3073 const n = t.minTranslate() + (t.maxTranslate() - t.minTranslate()) * r; 3074 t.updateProgress(n), t.setTranslate(n), t.updateActiveIndex(), t.updateSlidesClasses(); 3075 } 3076 function x(e) { 3077 const s = t.params.scrollbar, 3078 { scrollbar: a, $wrapperEl: i } = t, 3079 { $el: n, $dragEl: o } = a; 3080 (h = !0), 3081 (l = e.target === o[0] || e.target === o ? w(e) - e.target.getBoundingClientRect()[t.isHorizontal() ? "left" : "top"] : null),
3082 e.preventDefault(), 3083 e.stopPropagation(), 3084 i.transition(100), 3085 o.transition(100), 3086 b(e), 3087 clearTimeout(f), 3088 n.transition(0), 3089 s.hide && n.css("opacity", 1), 3090 t.params.cssMode && t.$wrapperEl.css("scroll-snap-type", "none"), 3091 r("scrollbarDragStart", e); 3092 } 3093 function y(e) { 3094 const { scrollbar: s, $wrapperEl: a } = t, 3095 { $el: i, $dragEl: n } = s; 3096 h && (e.preventDefault ? e.preventDefault() : (e.returnValue = !1), b(e), a.transition(0), i.transition(0), n.transition(0), r("scrollbarDragMove", e)); 3097 } 3098 function E(e) { 3099 const s = t.params.scrollbar, 3100 { scrollbar: a, $wrapperEl: i } = t, 3101 { $el: n } = a; 3102 h && 3103 ((h = !1), 3104 t.params.cssMode && (t.$wrapperEl.css("scroll-snap-type", ""), i.transition("")), 3105 s.hide && 3106 (clearTimeout(f), 3107 (f = p(() => { 3108 n.css("opacity", 0), n.transition(400); 3109 }, 1e3))), 3110 r("scrollbarDragEnd", e), 3111 s.snapOnRelease && t.slideToClosest()); 3112 } 3113 function C(e) { 3114 const { scrollbar: s, touchEventsTouch: a, touchEventsDesktop: i, params: r, support: l } = t, 3115 o = s.$el; 3116 if (!o) return; 3117 const d = o[0], 3118 c = !(!l.passiveListener || !r.passiveListeners) && { passive: !1, capture: !1 }, 3119 p = !(!l.passiveListener || !r.passiveListeners) && { passive: !0, capture: !1 }; 3120 if (!d) return; 3121 const u = "on" === e ? "addEventListener" : "removeEventListener"; 3122 l.touch ? (d[u](a.start, x, c), d[u](a.move, y, c), d[u](a.end, E, p)) : (d[u](i.start, x, c), n[u](i.move, y, c), n[u](i.end, E, p)); 3123 } 3124 function T() { 3125 const { scrollbar: e, $el: s } = t; 3126 t.params.scrollbar = F(t, t.originalParams.scrollbar, t.params.scrollbar, { el: "bwdsas-swiper-scrollbar" }); 3127 const a = t.params.scrollbar; 3128 if (!a.el) return; 3129 let i = d(a.el); 3130 t.params.uniqueNavElements && "string" == typeof a.el && i.length > 1 && 1 === s.find(a.el).length && (i = s.find(a.el)), i.addClass(t.isHorizontal() ? a.horizontalClass : a.verticalClass); 3131 let r = i.find(`.${t.params.scrollbar.dragClass}`); 3132 0 === r.length && ((r = d(`<div class="${t.params.scrollbar.dragClass}"></div>`)), i.append(r)), 3133 Object.assign(e, { $el: i, el: i[0], $dragEl: r, dragEl: r[0] }), 3134 a.draggable && t.params.scrollbar.el && t.scrollbar.el && C("on"), 3135 i && i[t.enabled ? "removeClass" : "addClass"](t.params.scrollbar.lockClass); 3136 } 3137 function $() { 3138 const e = t.params.scrollbar, 3139 s = t.scrollbar.$el; 3140 s && s.removeClass(t.isHorizontal() ? e.horizontalClass : e.verticalClass), t.params.scrollbar.el && t.scrollbar.el && C("off"); 3141 } 3142 s({ 3143 scrollbar: { 3144 el: null, 3145 dragSize: "auto", 3146 hide: !1, 3147 draggable: !1, 3148 snapOnRelease: !0, 3149 lockClass: "bwdsas-swiper-scrollbar-lock", 3150 dragClass: "bwdsas-swiper-scrollbar-drag", 3151 scrollbarDisabledClass: "bwdsas-swiper-scrollbar-disabled", 3152 horizontalClass: "bwdsas-swiper-scrollbar-horizontal", 3153 verticalClass: "bwdsas-swiper-scrollbar-vertical", 3154 }, 3155 }), 3156 (t.scrollbar = { el: null, dragEl: null, $el: null, $dragEl: null }), 3157 i("init", () => { 3158 !1 === t.params.scrollbar.enabled ? S() : (T(), v(), g()); 3159 }), 3160 i("update resize observerUpdate lock unlock", () => { 3161 v(); 3162 }), 3163 i("setTranslate", () => { 3164 g(); 3165 }), 3166 i("setTransition", (e, s) => { 3167 !(function (e) { 3168 t.params.scrollbar.el && t.scrollbar.el && t.scrollbar.$dragEl.transition(e); 3169 })(s); 3170 }), 3171 i("enable disable", () => { 3172 const { $el: e } = t.scrollbar; 3173 e && e[t.enabled ? "removeClass" : "addClass"](t.params.scrollbar.lockClass); 3174 }), 3175 i("destroy", () => { 3176 $(); 3177 }); 3178 const S = () => { 3179 t.$el.addClass(t.params.scrollbar.scrollbarDisabledClass), t.scrollbar.$el && t.scrollbar.$el.addClass(t.params.scrollbar.scrollbarDisabledClass), $(); 3180 }; 3181 Object.assign(t.scrollbar, { 3182 enable: () => { 3183 t.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass), t.scrollbar.$el && t.scrollbar.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass), T(), v(), g(); 3184 }, 3185 disable: S, 3186 updateSize: v, 3187 setTranslate: g, 3188 init: T, 3189 destroy: $, 3190 }); 3191 }, 3192 function (e) { 3193 let { swiper: t, extendParams: s, on: a } = e; 3194 s({ parallax: { enabled: !1 } }); 3195 const i = (e, s) => { 3196 const { rtl: a } = t, 3197 i = d(e), 3198 r = a ? -1 : 1, 3199 n = i.attr("bwdsas-data-swiper-parallax") || "0"; 3200 let l = i.attr("bwdsas-data-swiper-parallax-x"), 3201 o = i.attr("bwdsas-data-swiper-parallax-y"); 3202 const c = i.attr("bwdsas-data-swiper-parallax-scale"), 3203 p = i.attr("bwdsas-data-swiper-parallax-opacity"); 3204 if ( 3205 (l || o ? ((l = l || "0"), (o = o || "0")) : t.isHorizontal() ? ((l = n), (o = "0")) : ((o = n), (l = "0")), 3206 (l = l.indexOf("%") >= 0 ? parseInt(l, 10) * s * r + "%" : l * s * r + "px"), 3207 (o = o.indexOf("%") >= 0 ? parseInt(o, 10) * s + "%" : o * s + "px"), 3208 null != p) 3209 ) { 3210 const e = p - (p - 1) * (1 - Math.abs(s)); 3211 i[0].style.opacity = e; 3212 } 3213 if (null == c) i.transform(`translate3d(${l}, ${o}, 0px)`); 3214 else { 3215 const e = c - (c - 1) * (1 - Math.abs(s)); 3216 i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`); 3217 } 3218 }, 3219 r = () => { 3220 const { $el: e, slides: s, progress: a, snapGrid: r } = t; 3221 e.children("[bwdsas-data-swiper-parallax], [bwdsas-data-swiper-parallax-x], [bwdsas-data-swiper-parallax-y], [bwdsas-data-swiper-parallax-opacity], [bwdsas-data-swiper-parallax-scale]").each((e) => { 3222 i(e, a); 3223 }), 3224 s.each((e, s) => { 3225 let n = e.progress; 3226 t.params.slidesPerGroup > 1 && "auto" !== t.params.slidesPerView && (n += Math.ceil(s / 2) - a * (r.length - 1)), 3227 (n = Math.min(Math.max(n, -1), 1)), 3228 d(e) 3229 .find("[bwdsas-data-swiper-parallax], [bwdsas-data-swiper-parallax-x], [bwdsas-data-swiper-parallax-y], [bwdsas-data-swiper-parallax-opacity], [bwdsas-data-swiper-parallax-scale]") 3230 .each((e) => { 3231 i(e, n); 3232 }); 3233 }); 3234 }; 3235 a("beforeInit", () => { 3236 t.params.parallax.enabled && ((t.params.watchSlidesProgress = !0), (t.originalParams.watchSlidesProgress = !0)); 3237 }), 3238 a("init", () => { 3239 t.params.parallax.enabled && r(); 3240 }), 3241 a("setTranslate", () => { 3242 t.params.parallax.enabled && r(); 3243 }), 3244 a("setTransition", (e, s) => { 3245 t.params.parallax.enabled && 3246 (function (e) { 3247 void 0 === e && (e = t.params.speed); 3248 const { $el: s } = t; 3249 s.find("[bwdsas-data-swiper-parallax], [bwdsas-data-swiper-parallax-x], [bwdsas-data-swiper-parallax-y], [bwdsas-data-swiper-parallax-opacity], [bwdsas-data-swiper-parallax-scale]").each((t) => { 3250 const s = d(t); 3251 let a = parseInt(s.attr("bwdsas-data-swiper-parallax-duration"), 10) || e; 3252 0 === e && (a = 0), s.transition(a); 3253 }); 3254 })(s); 3255 }); 3256 }, 3257 function (e) { 3258 let { swiper: t, extendParams: s, on: a, emit: i } = e; 3259 const n = r(); 3260 s({ zoom: { enabled: !1, maxRatio: 3, minRatio: 1, toggle: !0, containerClass: "bwdsas-swiper-zoom-container", zoomedSlideClass: "bwdsas-swiper-slide-zoomed" } }), (t.zoom = { enabled: !1 }); 3261 let l, 3262 o, 3263 c, 3264 p = 1, 3265 u = !1; 3266 const m = { $slideEl: void 0, slideWidth: void 0, slideHeight: void 0, $imageEl: void 0, $imageWrapEl: void 0, maxRatio: 3 }, 3267 f = { 3268 isTouched: void 0, 3269 isMoved: void 0, 3270 currentX: void 0, 3271 currentY: void 0, 3272 minX: void 0, 3273 minY: void 0, 3274 maxX: void 0, 3275 maxY: void 0, 3276 width: void 0, 3277 height: void 0, 3278 startX: void 0, 3279 startY: void 0, 3280 touchesStart: {}, 3281 touchesCurrent: {}, 3282 }, 3283 g = { x: void 0, y: void 0, prevPositionX: void 0, prevPositionY: void 0, prevTime: void 0 }; 3284 let v = 1; 3285 function w(e) { 3286 if (e.targetTouches.length < 2) return 1; 3287 const t = e.targetTouches[0].pageX, 3288 s = e.targetTouches[0].pageY, 3289 a = e.targetTouches[1].pageX, 3290 i = e.targetTouches[1].pageY; 3291 return Math.sqrt((a - t) ** 2 + (i - s) ** 2); 3292 } 3293 function b(e) { 3294 const s = t.support, 3295 a = t.params.zoom; 3296 if (((o = !1), (c = !1), !s.gestures)) { 3297 if ("touchstart" !== e.type || ("touchstart" === e.type && e.targetTouches.length < 2)) return; 3298 (o = !0), (m.scaleStart = w(e)); 3299 } 3300 (m.$slideEl && m.$slideEl.length) || 3301 ((m.$slideEl = d(e.target).closest(`.${t.params.slideClass}`)), 3302 0 === m.$slideEl.length && (m.$slideEl = t.slides.eq(t.activeIndex)), 3303 (m.$imageEl = m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .bwdsas-swiper-zoom-target").eq(0)), 3304 (m.$imageWrapEl = m.$imageEl.parent(`.${a.containerClass}`)), 3305 (m.maxRatio = m.$imageWrapEl.attr("bwdsas-data-swiper-zoom") || a.maxRatio), 3306 0 !== m.$imageWrapEl.length) 3307 ? (m.$imageEl && m.$imageEl.transition(0), (u = !0)) 3308 : (m.$imageEl = void 0); 3309 } 3310 function x(e) { 3311 const s = t.support, 3312 a = t.params.zoom, 3313 i = t.zoom; 3314 if (!s.gestures) { 3315 if ("touchmove" !== e.type || ("touchmove" === e.type && e.targetTouches.length < 2)) return; 3316 (c = !0), (m.scaleMove = w(e)); 3317 } 3318 m.$imageEl && 0 !== m.$imageEl.length 3319 ? (s.gestures ? (i.scale = e.scale * p) : (i.scale = (m.scaleMove / m.scaleStart) * p), 3320 i.scale > m.maxRatio && (i.scale = m.maxRatio - 1 + (i.scale - m.maxRatio + 1) ** 0.5), 3321 i.scale < a.minRatio && (i.scale = a.minRatio + 1 - (a.minRatio - i.scale + 1) ** 0.5),
3322 m.$imageEl.transform(`translate3d(0,0,0) scale(${i.scale})`)) 3323 : "gesturechange" === e.type && b(e); 3324 } 3325 function y(e) { 3326 const s = t.device, 3327 a = t.support, 3328 i = t.params.zoom, 3329 r = t.zoom; 3330 if (!a.gestures) { 3331 if (!o || !c) return; 3332 if ("touchend" !== e.type || ("touchend" === e.type && e.changedTouches.length < 2 && !s.android)) return; 3333 (o = !1), (c = !1); 3334 } 3335 m.$imageEl && 3336 0 !== m.$imageEl.length && 3337 ((r.scale = Math.max(Math.min(r.scale, m.maxRatio), i.minRatio)), m.$imageEl.transition(t.params.speed).transform(`translate3d(0,0,0) scale(${r.scale})`), (p = r.scale), (u = !1), 1 === r.scale && (m.$slideEl = void 0)); 3338 } 3339 function E(e) { 3340 const s = t.zoom; 3341 if (!m.$imageEl || 0 === m.$imageEl.length) return; 3342 if (((t.allowClick = !1), !f.isTouched || !m.$slideEl)) return; 3343 f.isMoved || 3344 ((f.width = m.$imageEl[0].offsetWidth), 3345 (f.height = m.$imageEl[0].offsetHeight), 3346 (f.startX = h(m.$imageWrapEl[0], "x") || 0), 3347 (f.startY = h(m.$imageWrapEl[0], "y") || 0), 3348 (m.slideWidth = m.$slideEl[0].offsetWidth), 3349 (m.slideHeight = m.$slideEl[0].offsetHeight), 3350 m.$imageWrapEl.transition(0)); 3351 const a = f.width * s.scale, 3352 i = f.height * s.scale; 3353 if (!(a < m.slideWidth && i < m.slideHeight)) { 3354 if ( 3355 ((f.minX = Math.min(m.slideWidth / 2 - a / 2, 0)), 3356 (f.maxX = -f.minX), 3357 (f.minY = Math.min(m.slideHeight / 2 - i / 2, 0)), 3358 (f.maxY = -f.minY), 3359 (f.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX), 3360 (f.touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY), 3361 !f.isMoved && !u) 3362 ) { 3363 if (t.isHorizontal() && ((Math.floor(f.minX) === Math.floor(f.startX) && f.touchesCurrent.x < f.touchesStart.x) || (Math.floor(f.maxX) === Math.floor(f.startX) && f.touchesCurrent.x > f.touchesStart.x))) 3364 return void (f.isTouched = !1); 3365 if (!t.isHorizontal() && ((Math.floor(f.minY) === Math.floor(f.startY) && f.touchesCurrent.y < f.touchesStart.y) || (Math.floor(f.maxY) === Math.floor(f.startY) && f.touchesCurrent.y > f.touchesStart.y))) 3366 return void (f.isTouched = !1); 3367 } 3368 e.cancelable && e.preventDefault(), 3369 e.stopPropagation(), 3370 (f.isMoved = !0), 3371 (f.currentX = f.touchesCurrent.x - f.touchesStart.x + f.startX), 3372 (f.currentY = f.touchesCurrent.y - f.touchesStart.y + f.startY), 3373 f.currentX < f.minX && (f.currentX = f.minX + 1 - (f.minX - f.currentX + 1) ** 0.8), 3374 f.currentX > f.maxX && (f.currentX = f.maxX - 1 + (f.currentX - f.maxX + 1) ** 0.8), 3375 f.currentY < f.minY && (f.currentY = f.minY + 1 - (f.minY - f.currentY + 1) ** 0.8), 3376 f.currentY > f.maxY && (f.currentY = f.maxY - 1 + (f.currentY - f.maxY + 1) ** 0.8), 3377 g.prevPositionX || (g.prevPositionX = f.touchesCurrent.x), 3378 g.prevPositionY || (g.prevPositionY = f.touchesCurrent.y), 3379 g.prevTime || (g.prevTime = Date.now()), 3380 (g.x = (f.touchesCurrent.x - g.prevPositionX) / (Date.now() - g.prevTime) / 2), 3381 (g.y = (f.touchesCurrent.y - g.prevPositionY) / (Date.now() - g.prevTime) / 2), 3382 Math.abs(f.touchesCurrent.x - g.prevPositionX) < 2 && (g.x = 0), 3383 Math.abs(f.touchesCurrent.y - g.prevPositionY) < 2 && (g.y = 0), 3384 (g.prevPositionX = f.touchesCurrent.x), 3385 (g.prevPositionY = f.touchesCurrent.y), 3386 (g.prevTime = Date.now()), 3387 m.$imageWrapEl.transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`); 3388 } 3389 } 3390 function C() { 3391 const e = t.zoom; 3392 m.$slideEl && 3393 t.previousIndex !== t.activeIndex && 3394 (m.$imageEl && m.$imageEl.transform("translate3d(0,
33940,0) scale(1)"), 3395 m.$imageWrapEl && m.$imageWrapEl.transform("translate3d(0,0,0)"), 3396 (e.scale = 1), 3397 (p = 1), 3398 (m.$slideEl = void 0), 3399 (m.$imageEl = void 0), 3400 (m.$imageWrapEl = void 0)); 3401 } 3402 function T(e) { 3403 const s = t.zoom, 3404 a = t.params.zoom; 3405 if ( 3406 (m.$slideEl || 3407 (e && e.target && (m.$slideEl = d(e.target).closest(`.${t.params.slideClass}`)), 3408 m.$slideEl || (t.params.virtual && t.params.virtual.enabled && t.virtual ? (m.$slideEl = t.$wrapperEl.children(`.${t.params.slideActiveClass}`)) : (m.$slideEl = t.slides.eq(t.activeIndex))), 3409 (m.$imageEl = m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .bwdsas-swiper-zoom-target").eq(0)), 3410 (m.$imageWrapEl = m.$imageEl.parent(`.${a.containerClass}`))), 3411 !m.$imageEl || 0 === m.$imageEl.length || !m.$imageWrapEl || 0 === m.$imageWrapEl.length) 3412 ) 3413 return; 3414 let i, r, l, o, c, u, h, g, v, w, b, x, y, E, C, T, $, S; 3415 t.params.cssMode && ((t.wrapperEl.style.overflow = "hidden"), (t.wrapperEl.style.touchAction = "none")), 3416 m.$slideEl.addClass(`${a.zoomedSlideClass}`), 3417 void 0 === f.touchesStart.x && e 3418 ? ((i = "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX), (r = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY)) 3419 : ((i = f.touchesStart.x), (r = f.touchesStart.y)), 3420 (s.scale = m.$imageWrapEl.attr("bwdsas-data-swiper-zoom") || a.maxRatio), 3421 (p = m.$imageWrapEl.attr("bwdsas-data-swiper-zoom") || a.maxRatio), 3422 e 3423 ? (($ = m.$slideEl[0].offsetWidth), 3424 (S = m.$slideEl[0].offsetHeight), 3425 (l = m.$slideEl.offset().left + n.scrollX), 3426 (o = m.$slideEl.offset().top + n.scrollY), 3427 (c = l + $ / 2 - i), 3428 (u = o + S / 2 - r), 3429 (v = m.$imageEl[0].offsetWidth), 3430 (w = m.$imageEl[0].offsetHeight), 3431 (b = v * s.scale), 3432 (x = w * s.scale), 3433 (y = Math.min($ / 2 - b / 2, 0)), 3434 (E = Math.min(S / 2 - x / 2, 0)), 3435 (C = -y), 3436 (T = -E),
3437 (h = c * s.scale), 3438 (g = u * s.scale), 3439 h < y && (h = y), 3440 h > C && (h = C), 3441 g < E && (g = E), 3442 g > T && (g = T)) 3443 : ((h = 0), (g = 0)), 3444 m.$imageWrapEl.transition(300).transform(`translate3d(${h}px, ${g}px,0)`), 3445 m.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`); 3446 } 3447 function $() { 3448 const e = t.zoom, 3449 s = t.params.zoom; 3450 m.$slideEl || 3451 (t.params.virtual && t.params.virtual.enabled && t.virtual ? (m.$slideEl = t.$wrapperEl.children(`.${t.params.slideActiveClass}`)) : (m.$slideEl = t.slides.eq(t.activeIndex)), 3452 (m.$imageEl = m.$slideEl.find(`.${s.containerClass}`).eq(0).find("picture, img, svg, canvas, .bwdsas-swiper-zoom-target").eq(0)), 3453 (m.$imageWrapEl = m.$imageEl.parent(`.${s.containerClass}`))), 3454 m.$imageEl && 3455 0 !== m.$imageEl.length && 3456 m.$imageWrapEl && 3457 0 !== m.$imageWrapEl.length && 3458 (t.params.cssMode && ((t.wrapperEl.style.overflow = ""), (t.wrapperEl.style.touchAction = "")), 3459 (e.scale = 1), 3460 (p = 1), 3461 m.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), 3462 m.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), 3463 m.$slideEl.removeClass(`${s.zoomedSlideClass}`), 3464 (m.$slideEl = void 0)); 3465 } 3466 function S(e) { 3467 const s = t.zoom; 3468 s.scale && 1 !== s.scale ? $() : T(e); 3469 } 3470 function M() { 3471 const e = t.support; 3472 return { 3473 passiveListener: !("touchstart" !== t.touchEvents.start || !e.passiveListener || !t.params.passiveListeners) && { passive: !0, capture: !1 }, 3474 activeListenerWithCapture: !e.passiveListener || { passive: !1, capture: !0 },
3475 }; 3476 } 3477 function P() { 3478 return `.${t.params.slideClass}`; 3479 } 3480 function k(e) { 3481 const { passiveListener: s } = M(), 3482 a = P(); 3483 t.$wrapperEl[e]("gesturestart", a, b, s), t.$wrapperEl[e]("gesturechange", a, x, s), t.$wrapperEl[e]("gestureend", a, y, s); 3484 } 3485 function z() { 3486 l || ((l = !0), k("on")); 3487 } 3488 function L() { 3489 l && ((l = !1), k("off")); 3490 } 3491 function O() { 3492 const e = t.zoom; 3493 if (e.enabled) return; 3494 e.enabled = !0; 3495 const s = t.support, 3496 { passiveListener: a, activeListenerWithCapture: i } = M(), 3497 r = P(); 3498 s.gestures 3499 ? (t.$wrapperEl.on(t.touchEvents.start, z, a), t.$wrapperEl.on(t.touchEvents.end, L, a)) 3500 : "touchstart" === t.touchEvents.start && 3501 (t.$wrapperEl.on(t.touchEvents.start, r, b, a), t.$wrapperEl.on(t.touchEvents.move, r, x, i), t.$wrapperEl.on(t.touchEvents.end, r, y, a), t.touchEvents.cancel && t.$wrapperEl.on(t.touchEvents.cancel, r, y, a)), 3502 t.$wrapperEl.on(t.touchEvents.move, `.${t.params.zoom.containerClass}`, E, i); 3503 } 3504 function I() { 3505 const e = t.zoom; 3506 if (!e.enabled) return; 3507 const s = t.support; 3508 e.enabled = !1; 3509 const { passiveListener: a, activeListenerWithCapture: i } = M(), 3510 r = P(); 3511 s.gestures 3512 ? (t.$wrapperEl.off(t.touchEvents.start, z, a), t.$wrapperEl.off(t.touchEvents.end, L, a)) 3513 : "touchstart" === t.touchEvents.start && 3514 (t.$wrapperEl.off(t.touchEvents.start, r, b, a), t.$wrapperEl.off(t.touchEvents.move, r, x, i), t.$wrapperEl.off(t.touchEvents.end, r, y, a), t.touchEvents.cancel && t.$wrapperEl.off(t.touchEvents.cancel, r, y, a)), 3515 t.$wrapperEl.off(t.touchEvents.move, `.${t.params.zoom.containerClass}`, E, i); 3516 } 3517 Object.defineProperty(t.zoom, "scale", { 3518 get: () => v, 3519 set(e) { 3520 if (v !== e) { 3521 const t = m.$imageEl ? m.$imageEl[0] : void 0, 3522 s = m.$slideEl ? m.$slideEl[0] : void 0; 3523 i("zoomChange", e, t, s); 3524 } 3525 v = e; 3526 }, 3527 }), 3528 a("init", () => { 3529 t.params.zoom.enabled && O(); 3530 }), 3531 a("destroy", () => { 3532 I(); 3533 }), 3534 a("touchStart", (e, s) => { 3535 t.zoom.enabled && 3536 (function (e) { 3537 const s = t.device; 3538 m.$imageEl && 3539 0 !== m.$imageEl.length && 3540 (f.isTouched || 3541 (s.android && e.cancelable && e.preventDefault(), 3542 (f.isTouched = !0), 3543 (f.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX), 3544 (f.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY))); 3545 })(s); 3546 }), 3547 a("touchEnd", (e, s) => { 3548 t.zoom.enabled && 3549 (function () { 3550 const e = t.zoom; 3551 if (!m.$imageEl || 0 === m.$imageEl.length) return; 3552 if (!f.isTouched || !f.isMoved) return (f.isTouched = !1), void (f.isMoved = !1); 3553 (f.isTouched = !1), (f.isMoved = !1); 3554 let s = 300, 3555 a = 300; 3556 const i = g.x * s, 3557 r = f.currentX + i, 3558 n = g.y * a, 3559 l = f.currentY + n; 3560 0 !== g.x && (s = Math.abs((r - f.currentX) / g.x)), 0 !== g.y && (a = Math.abs((l - f.currentY) / g.y)); 3561 const o = Math.max(s, a); 3562 (f.currentX = r), (f.currentY = l); 3563 const d = f.width * e.scale, 3564 c = f.height * e.scale; 3565 (f.minX = Math.min(m.slideWidth / 2 - d / 2, 0)), 3566 (f.maxX = -f.minX), 3567 (f.minY = Math.min(m.slideHeight / 2 - c / 2, 0)), 3568 (f.maxY = -f.minY), 3569 (f.currentX = Math.max(Math.min(f.currentX, f.maxX), f.minX)), 3570 (f.currentY = Math.max(Math.min(f.currentY, f.maxY), f.minY)), 3571 m.$imageWrapEl.transition(o).transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`); 3572 })(); 3573 }), 3574 a("doubleTap", (e, s) => { 3575 !t.animating && t.params.zoom.enabled && t.zoom.enabled && t.params.zoom.toggle && S(s); 3576 }), 3577 a("transitionEnd", () => { 3578 t.zoom.enabled && t.params.zoom.enabled && C(); 3579 }), 3580 a("slideChange", () => { 3581 t.zoom.enabled && t.params.zoom.enabled && t.params.cssMode && C(); 3582 }), 3583 Object.assign(t.zoom, { enable: O, disable: I, in: T, out: $, toggle: S }); 3584 }, 3585 function (e) { 3586 let { swiper: t, extendParams: s, on: a, emit: i } = e; 3587 s({ 3588 lazy: { 3589 checkInView: !1, 3590 enabled: !1, 3591 loadPrevNext: !1, 3592 loadPrevNextAmount: 1, 3593 loadOnTransitionStart: !1, 3594 scrollingElement: "", 3595 elementClass: "bwdsas-swiper-lazy", 3596 loadingClass: "bwdsas-swiper-lazy-loading", 3597 loadedClass: "bwdsas-swiper-lazy-loaded", 3598 preloaderClass: "bwdsas-swiper-lazy-preloader", 3599 }, 3600 }), 3601 (t.lazy = {}); 3602 let n = !1, 3603 l = !1; 3604 function o(e, s) { 3605 void 0 === s && (s = !0); 3606 const a = t.params.lazy; 3607 if (void 0 === e) return; 3608 if (0 === t.slides.length) return; 3609 const r = t.virtual && t.params.virtual.enabled ? t.$wrapperEl.children(`.${t.params.slideClass}[bwdsas-data-swiper-slide-index="${e}
3609"]`) : t.slides.eq(e), 3610 n = r.find(`.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`); 3611 !r.hasClass(a.elementClass) || r.hasClass(a.loadedClass) || r.hasClass(a.loadingClass) || n.push(r[0]), 3612 0 !== n.length && 3613 n.each((e) => { 3614 const n = d(e); 3615 n.addClass(a.loadingClass); 3616 const l = n.attr("data-background"), 3617 c = n.attr("data-src"), 3618 p = n.attr("data-srcset"), 3619 u = n.attr("data-sizes"), 3620 h = n.parent("picture"); 3621 t.loadImage(n[0], c || l, p, u, !1, () => { 3622 if (null != t && t && (!t || t.params) && !t.destroyed) { 3623 if ( 3624 (l 3625 ? (n.css("background-image", `url("${l}")`), n.removeAttr("data-background")) 3626 : (p && (n.attr("srcset", p), n.removeAttr("data-srcset")), 3627 u && (n.attr("sizes", u), n.removeAttr("data-sizes")), 3628 h.length && 3629 h.children("source").each((e) => { 3630 const t = d(e); 3631 t.attr("data-srcset") && (t.attr("srcset", t.attr("data-srcset")), t.removeAttr("data-srcset")); 3632 }), 3633 c && (n.attr("src", c), n.removeAttr("data-src"))), 3634 n.addClass(a.loadedClass).removeClass(a.loadingClass), 3635 r.find(`.${a.preloaderClass}`).remove(), 3636 t.params.loop && s) 3637 ) { 3638 const e = r.attr("bwdsas-data-swiper-slide-index"); 3639 if (r.hasClass(t.params.slideDuplicateClass)) { 3640 o(t.$wrapperEl.children(`[bwdsas-data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})`).index(), !1); 3641 } else { 3642 o(t.$wrapperEl.children(`.${t.params.slideDuplicateClass}[bwdsas-data-swiper-slide-index="${e}"]`).index(), !1); 3643 } 3644 } 3645 i("lazyImageReady", r[0], n[0]), t.params.autoHeight && t.updateAutoHeight(); 3646 } 3647 }), 3648 i("lazyImageLoad", r[0], n[0]); 3649 }); 3650 } 3651 function c() { 3652 const { $wrapperEl: e, params: s, slides: a, activeIndex: i } = t, 3653 r = t.virtual && s.virtual.enabled, 3654 n = s.lazy; 3655 let c = s.slidesPerView; 3656 function p(t) { 3657 if (r) { 3658 if (e.children(`.${s.slideClass}[bwdsas-data-swiper-slide-index="${t}"]`).length) return !0; 3659 } else if (a[t]) return !0; 3660 return !1; 3661 } 3662 function u(e) { 3663 return r ? d(e).attr("bwdsas-data-swiper-slide-index") : d(e).index(); 3664 } 3665 if (("auto" === c && (c = 0), l || (l = !0), t.params.watchSlidesProgress)) 3666 e.children(`.${s.slideVisibleClass}`).each((e) => { 3667 o(r ? d(e).attr("bwdsas-data-swiper-slide-index") : d(e).index()); 3668 }); 3669 else if (c > 1) for (let e = i; e < i + c; e += 1) p(e) && o(e); 3670 else o(i); 3671 if (n.loadPrevNext) 3672 if (c > 1 || (n.loadPrevNextAmount && n.loadPrevNextAmount > 1)) { 3673 const e = n.loadPrevNextAmount,
3674 t = Math.ceil(c), 3675 s = Math.min(i + t + Math.max(e, t), a.length), 3676 r = Math.max(i - Math.max(t, e), 0); 3677 for (let e = i + t; e < s; e += 1) p(e) && o(e); 3678 for (let e = r; e < i; e += 1) p(e) && o(e); 3679 } else { 3680 const t = e.children(`.${s.slideNextClass}`); 3681 t.length > 0 && o(u(t)); 3682 const a = e.children(`.${s.slidePrevClass}`); 3683 a.length > 0 && o(u(a)); 3684 } 3685 } 3686 function p() { 3687 const e = r(); 3688 if (!t || t.destroyed) return; 3689 const s = t.params.lazy.scrollingElement ? d(t.params.lazy.scrollingElement) : d(e), 3690 a = s[0] === e, 3691 i = a ? e.innerWidth : s[0].offsetWidth, 3692 l = a ? e.innerHeight : s[0].offsetHeight, 3693 o = t.$el.offset(), 3694 { rtlTranslate: u } = t; 3695 let h = !1; 3696 u && (o.left -= t.$el[0].scrollLeft); 3697 const m = [ 3698 [o.left, o.top], 3699 [o.left + t.width, o.top], 3700 [o.left, o.top + t.height], 3701 [o.left + t.width, o.top + t.height], 3702 ]; 3703 for (let e = 0; e < m.length; e += 1) { 3704 const t = m[e]; 3705 if (t[0] >= 0 && t[0] <= i && t[1] >= 0 && t[1] <= l) { 3706 if (0 === t[0] && 0 === t[1]) continue; 3707 h = !0; 3708 } 3709 } 3710 const f = !("touchstart" !== t.touchEvents.start || !t.support.passiveListener || !t.params.passiveListeners) && { passive: !0, capture: !1 }; 3711 h ? (c(), s.off("scroll", p, f)) : n || ((n = !0), s.on("scroll", p, f)); 3712 } 3713 a("beforeInit", () => { 3714 t.params.lazy.enabled && t.params.preloadImages && (t.params.preloadImages = !1); 3715 }), 3716 a("init", () => { 3717 t.params.lazy.enabled && (t.params.lazy.checkInView ? p() : c()); 3718 }), 3719 a("scroll", () => { 3720 t.params.freeMode && t.params.freeMode.enabled && !t.params.freeMode.sticky && c(); 3721 }), 3722 a("scrollbarDragMove resize _freeModeNoMomentumRelease", () => { 3723 t.params.lazy.enabled && (t.params.lazy.checkInView ? p() : c()); 3724 }), 3725 a("transitionStart", () => { 3726 t.params.lazy.enabled && (t.params.lazy.loadOnTransitionStart || (!t.params.lazy.loadOnTransitionStart && !l)) && (t.params.lazy.checkInView ? p() : c()); 3727 }), 3728 a("transitionEnd", () => { 3729 t.params.lazy.enabled && !t.params.lazy.loadOnTransitionStart && (t.params.lazy.checkInView ? p() : c()); 3730 }), 3731 a("slideChange", () => { 3732 const { lazy: e, cssMode: s, watchSlidesProgress: a, touchReleaseOnEdges: i, resistanceRatio: r } = t.params; 3733 e.enabled && (s || (a && (i || 0 === r))) && c(); 3734 }), 3735 a("destroy", () => { 3736 t.$el && t.$el.find(`.${t.params.lazy.loadingClass}`).removeClass(t.params.lazy.loadingClass); 3737 }), 3738 Object.assign(t.lazy, { load: c, loadInSlide: o }); 3739 }, 3740 function (e) { 3741 let { swiper: t, extendParams: s, on: a } = e; 3742 function i(e, t) { 3743 const s = (function () { 3744 let e, t, s; 3745 return (a, i) => { 3746 for (t = -1, e = a.length; e - t > 1; ) (s = (e + t) >> 1), a[s] <= i ? (t = s) : (e = s); 3747 return e; 3748 }; 3749 })(); 3750 let a, i; 3751 return ( 3752 (this.x = e), 3753 (this.y = t), 3754 (this.lastIndex = e.length - 1), 3755 (this.interpolate = function (e) { 3756 return e ? ((i = s(this.x, e)), (a = i - 1), ((e - this.x[a]) * (this.y[i] - this.y[a])) / (this.x[i] - this.x[a]) + this.y[a]) : 0; 3757 }), 3758 this 3759 ); 3760 } 3761 function r() { 3762 t.controller.control && t.controller.spline && ((t.controller.spline = void 0), delete t.controller.spline); 3763 } 3764 s({ controller: { control: void 0, inverse: !1, by: "slide" } }), 3765 (t.controller = { control: void 0 }), 3766 a("beforeInit", () => { 3767 t.controller.control = t.params.controller.control; 3768 }), 3769 a("update", () => { 3770 r(); 3771 }), 3772 a("resize", () => { 3773 r(); 3774 }), 3775 a("observerUpdate", () => { 3776 r(); 3777 }), 3778 a("setTranslate", (e, s, a) => { 3779 t.controller.control && t.controller.setTranslate(s, a); 3780 }), 3781 a("setTransition", (e, s, a) => { 3782 t.controller.control && t.controller.setTransition(s, a); 3783 }), 3784 Object.assign(t.controller, { 3785 setTranslate: function (e, s) { 3786 const a = t.controller.control; 3787 let r, n; 3788 const l = t.constructor; 3789 function o(e) { 3790 const s = t.rtlTranslate ? -t.translate : t.translate; 3791 "slide" === t.params.controller.by && 3792 (!(function (e) { 3793 t.controller.spline || (t.controller.spline = t.params.loop ? new i(t.slidesGrid, e.slidesGrid) : new i(t.snapGrid, e.snapGrid)); 3794 })(e), 3795 (n = -t.controller.spline.interpolate(-s))), 3796 (n && "container" !== t.params.controller.by) || ((r = (e.maxTranslate() - e.minTranslate()) / (t.maxTranslate() - t.minTranslate())), (n = (s - t.minTranslate()) * r + e.minTranslate())), 3797 t.params.controller.inverse && (n = e.maxTranslate() - n), 3798 e.updateProgress(n), 3799 e.setTranslate(n, t), 3800 e.updateActiveIndex(), 3801 e.updateSlidesClasses(); 3802 } 3803 if (Array.isArray(a)) for (let e = 0; e < a.length; e += 1) a[e] !== s && a[e] instanceof l && o(a[e]); 3804 else a instanceof l && s !== a && o(a); 3805 }, 3806 setTransition: function (e, s) { 3807 const a = t.constructor, 3808 i = t.controller.control; 3809 let r; 3810 function n(s) { 3811 s.setTransition(e, t), 3812 0 !== e && 3813 (s.transitionStart(), 3814 s.params.autoHeight && 3815 p(() => { 3816 s.updateAutoHeight(); 3817 }), 3818 s.$wrapperEl.transitionEnd(() => { 3819 i && (s.params.loop && "slide" === t.params.controller.by && s.loopFix(), s.transitionEnd()); 3820 })); 3821 } 3822 if (Array.isArray(i)) for (r = 0; r < i.length; r += 1) i[r] !== s && i[r] instanceof a && n(i[r]); 3823 else i instanceof a && s !== i && n(i); 3824 }, 3825 }); 3826 }, 3827 function (e) { 3828 let { swiper: t, extendParams: s, on: a } = e; 3829 s({ 3830 a11y: { 3831 enabled: !0, 3832 notificationClass: "bwdsas-swiper-notification", 3833 prevSlideMessage: "bwdsas-Previous bwdsas-slide", 3834 nextSlideMessage: "bwdsas-Next bwdsas-slide", 3835 firstSlideMessage: "bwdsas This is the first slide", 3836 lastSlideMessage: "bwdsas This is the last slide", 3837 paginationBulletMessage: "bwdsas Go to slide {{index}}", 3838 slideLabelMessage: "{{index}} / {{slidesLength}}", 3839 containerMessage: null, 3840 containerRoleDescriptionMessage: null, 3841 itemRoleDescriptionMessage: null, 3842 slideRole: "group", 3843 id: null, 3844 }, 3845 }), 3846 (t.a11y = { clicked: !1 }); 3847 let i = null; 3848 function r(e) { 3849 const t = i; 3850 0 !== t.length && (t.html(""), t.html(e)); 3851 } 3852 function n(e) { 3853 e.attr("tabIndex", "0"); 3854 } 3855 function l(e) { 3856 e.attr("tabIndex", "-1"); 3857 } 3858 function o(e, t) { 3859 e.attr("role", t); 3860 } 3861 function c(e, t) { 3862 e.attr("aria-roledescription", t); 3863 } 3864 function p(e, t) { 3865 e.attr("aria-label", t); 3866 } 3867 function u(e) { 3868 e.attr("aria-disabled", !0); 3869 } 3870 function h(e) { 3871 e.attr("aria-disabled", !1); 3872 } 3873 function m(e) { 3874 if (13 !== e.keyCode && 32 !== e.keyCode) return; 3875 const s = t.params.a11y, 3876 a = d(e.target); 3877 t.navigation && t.navigation.$nextEl && a.is(t.navigation.$nextEl) && ((t.isEnd && !t.params.loop) || t.slideNext(), t.isEnd ? r(s.lastSlideMessage) : r(s.nextSlideMessage)), 3878 t.navigation && t.navigation.$prevEl && a.is(t.navigation.$prevEl) && ((t.isBeginning && !t.params.loop) || t.slidePrev(), t.isBeginning ? r(s.firstSlideMessage) : r(s.prevSlideMessage)), 3879 t.pagination && a.is(U(t.params.pagination.bulletClass)) && a[0].click(); 3880 } 3881 function f() { 3882 return t.pagination && t.pagination.bullets && t.pagination.bullets.length; 3883 } 3884 function g() { 3885 return f() && t.params.pagination.clickable; 3886 } 3887 const v = (e, t, s) => { 3888 n(e), 3889 "BUTTON" !== e[0].tagName && (o(e, "button"), e.on("key
3889down", m)), 3890 p(e, s), 3891 (function (e, t) { 3892 e.attr("aria-controls", t); 3893 })(e, t); 3894 }, 3895 w = () => { 3896 t.a11y.clicked = !0; 3897 }, 3898 b = () => { 3899 requestAnimationFrame(() => { 3900 requestAnimationFrame(() => { 3901 t.a11y.clicked = !1; 3902 }); 3903 }); 3904 }, 3905 x = (e) => { 3906 if (t.a11y.clicked) return; 3907 const s = e.target.closest(`.${t.params.slideClass}`); 3908 if (!s || !t.slides.includes(s)) return; 3909 const a = t.slides.indexOf(s) === t.activeIndex, 3910 i = t.params.watchSlidesProgress && t.visibleSlides && t.visibleSlides.includes(s); 3911 a || i || (t.isHorizontal() ? (t.el.scrollLeft = 0) : (t.el.scrollTop = 0), t.slideTo(t.slides.indexOf(s), 0)); 3912 }, 3913 y = () => { 3914 const e = t.params.a11y; 3915 e.itemRoleDescriptionMessage && c(d(t.slides), e.itemRoleDescriptionMessage), e.slideRole && o(d(t.slides), e.slideRole); 3916 const s = t.params.loop ? t.slides.filter((e) => !e.classList.contains(t.params.slideDuplicateClass)).length : t.slides.length; 3917 e.slideLabelMessage && 3918 t.slides.each((a, i) => { 3919 const r = d(a), 3920 n = t.params.loop ? parseInt(r.attr("bwdsas-data-swiper-slide-index"), 10) : i; 3921 p(r, e.slideLabelMessage.replace(/\{\{index\}\}/, n + 1).replace(/\{\{slidesLength\}\}/, s)); 3922 }); 3923 }, 3924 E = () => { 3925 const e = t.params.a11y; 3926 t.$el.append(i); 3927 const s = t.$el; 3928 e.containerRoleDescriptionMessage && c(s, e.containerRoleDescriptionMessage), e.containerMessage && p(s, e.containerMessage); 3929 const a = t.$wrapperEl, 3930 r = e.id || a.attr("id") || `bwdsas-swiper-wrapper-${((n = 16), void 0 === n && (n = 16), "x".repeat(n).replace(/x/g, () => Math.round(16 * Math.random()).toString(16)))}`; 3931 var n; 3932 const l = t.params.autoplay && t.params.autoplay.enabled ? "off" : "polite"; 3933 var o; 3934 let d, u; 3935 (o = r), 3936 a.attr("id", o), 3937 (function (e, t) { 3938 e.attr("aria-live", t); 3939 })(a, l), 3940 y(), 3941 t.navigation && t.navigation.$nextEl && (d = t.navigation.$nextEl), 3942 t.navigation && t.navigation.$prevEl && (u = t.navigation.$prevEl), 3943 d && d.length && v(d, r, e.nextSlideMessage), 3944 u && u.length && v(u, r, e.prevSlideMessage), 3945 g() && t.pagination.$el.on("keydown", U(t.params.pagination.bulletClass), m), 3946 t.$el.on("focus", x, !0), 3947 t.$el.on("pointerdown", w, !0), 3948 t.$el.on("pointerup", b, !0); 3949 }; 3950 a("beforeInit", () => { 3951 i = d(`<span class="${t.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`); 3952 }), 3953 a("afterInit", () => { 3954 t.params.a11y.enabled && E(); 3955 }), 3956 a("slidesLengthChange snapGridLengthChange slidesGridLengthChange", () => { 3957 t.params.a11y.enabled && y(); 3958 }), 3959 a("fromEdge toEdge afterInit lock unlock", () => { 3960 t.params.a11y.enabled && 3961 (function () { 3962 if (t.params.loop || t.params.rewind || !t.navigation) return; 3963 const { $nextEl: e, $prevEl: s } = t.navigation; 3964 s && s.length > 0 && (t.isBeginning ? (u(s), l(s)) : (h(s), n(s))), e && e.length > 0 && (t.isEnd ? (u(e), l(e)) : (h(e), n(e))); 3965 })(); 3966 }), 3967 a("paginationUpdate", () => { 3968 t.params.a11y.enabled && 3969 (function () { 3970 const e = t.params.a11y; 3971 f() && 3972 t.pagination.bullets.each((s) => { 3973 const a = d(s); 3974 t.params.pagination.clickable && (n(a), t.params.pagination.renderBullet || (o(a, "button"), p(a, e.paginationBulletMessage.replace(/\{\{index\}\}/, a.index() + 1)))), 3975 a.is(`.${t.params.pagination.bulletActiveClass}`) ? a.attr("aria-current", "true") : a.removeAttr("aria-current"); 3976 }); 3977 })(); 3978 }), 3979 a("destroy", () => { 3980 t.params.a11y.enabled && 3981 (function () { 3982 let e, s; 3983 i && i.length > 0 && i.remove(), 3984 t.navigation && t.navigation.$nextEl && (e = t.navigation.$nextEl), 3985 t.navigation && t.navigation.$prevEl && (s = t.navigation.$prevEl), 3986 e && e.off("keydown", m), 3987 s && s.off("keydown", m), 3988 g() && t.pagination.$el.off("keydown", U(t.params.pagination.bulletClass), m), 3989 t.$el.off("focus", x, !0), 3990 t.$el.off("pointerdown", w, !0), 3991 t.$el.off("pointerup", b, !0); 3992 })(); 3993 }); 3994 }, 3995 function (e) { 3996 let { swiper: t, extendParams: s, on: a } = e; 3997 s({ history: { enabled: !1, root: "", replaceState: !1, key: "slides", keepQuery: !1 } }); 3998 let i = !1, 3999 n = {}; 4000 const l = (e) => 4001 e 4002 .toString() 4003 .replace(/\s+/g, "-") 4004 .replace(/[^\w-]+/g, "") 4005 .replace(/--+/g, "-") 4006 .replace(/^-+/, "") 4007 .replace(/-+$/, ""), 4008 o = (e) => { 4009 const t = r(); 4010 let s; 4011 s = e ? new URL(e) : t.location; 4012 const a = s.pathname 4013 .slice(1) 4014 .split("/") 4015 .filter((e) => "" !== e), 4016 i = a.length; 4017 return { key: a[i - 2], value: a[i - 1] }; 4018 }, 4019 d = (e, s) => { 4020 const a = r(); 4021 if (!i || !t.params.history.enabled) return; 4022 let n; 4023 n = t.params.url ? new URL(t.params.url) : a.location; 4024 const o = t.slides.eq(s); 4025 let d = l(o.attr("data-history")); 4026 if (t.params.history.root.length > 0) { 4027 let s = t.params.history.root; 4028 "/" === s[s.length - 1] && (s = s.slice(0, s.length - 1)), (d = `${s}/${e}/${d}`); 4029 } else n.pathname.includes(e) || (d = `${e}/${d}
4029`); 4030 t.params.history.keepQuery && (d += n.search); 4031 const c = a.history.state; 4032 (c && c.value === d) || (t.params.history.replaceState ? a.history.replaceState({ value: d }, null, d) : a.history.pushState({ value: d }, null, d)); 4033 }, 4034 c = (e, s, a) => { 4035 if (s) 4036 for (let i = 0, r = t.slides.length; i < r; i += 1) { 4037 const r = t.slides.eq(i); 4038 if (l(r.attr("data-history")) === s && !r.hasClass(t.params.slideDuplicateClass)) { 4039 const s = r.index(); 4040 t.slideTo(s, e, a); 4041 } 4042 } 4043 else t.slideTo(0, e, a); 4044 }, 4045 p = () => { 4046 (n = o(t.params.url)), c(t.params.speed, n.value, !1); 4047 }; 4048 a("init", () => { 4049 t.params.history.enabled && 4050 (() => { 4051 const e = r(); 4052 if (t.params.history) { 4053 if (!e.history || !e.history.pushState) return (t.params.history.enabled = !1), void (t.params.hashNavigation.enabled = !0); 4054 (i = !0), (n = o(t.params.url)), (n.key || n.value) && (c(0, n.value, t.params.runCallbacksOnInit), t.params.history.replaceState || e.addEventListener("popstate", p)); 4055 } 4056 })(); 4057 }), 4058 a("destroy", () => { 4059 t.params.history.enabled && 4060 (() => { 4061 const e = r(); 4062 t.params.history.replaceState || e.removeEventListener("popstate", p); 4063 })(); 4064 }), 4065 a("transitionEnd _freeModeNoMomentumRelease", () => { 4066 i && d(t.params.history.key, t.activeIndex); 4067 }), 4068 a("slideChange", () => { 4069 i && t.params.cssMode && d(t.params.history.key, t.activeIndex); 4070 }); 4071 }, 4072 function (e) { 4073 let { swiper: t, extendParams: s, emit: i, on: n } = e, 4074 l = !1; 4075 const o = a(), 4076 c = r(); 4077 s({ hashNavigation: { enabled: !1, replaceState: !1, watchState: !1 } }); 4078 const p = () => { 4079 i("hashChange"); 4080 const e = o.location.hash.replace("#", ""); 4081 if (e !== t.slides.eq(t.activeIndex).attr("data-hash")) { 4082 const s = t.$wrapperEl.children(`.${t.params.slideClass}[data-hash="${e}"]`).index(); 4083 if (void 0 === s) return; 4084 t.slideTo(s); 4085 } 4086 }, 4087 u = () => { 4088 if (l && t.params.hashNavigation.enabled) 4089 if (t.params.hashNavigation.replaceState && c.history && c.history.replaceState) c.history.replaceState(null, null, `#${t.slides.eq(t.activeIndex).attr("data-hash")}` || ""), i("hashSet"); 4090 else { 4091 const e = t.slides.eq(t.activeIndex), 4092 s = e.attr("data-hash") || e.attr("data-history"); 4093 (o.location.hash = s || ""), i("hashSet"); 4094 } 4095 }; 4096 n("init", () => { 4097 t.params.hashNavigation.enabled && 4098 (() => { 4099 if (!t.params.hashNavigation.enabled || (t.params.history && t.params.history.enabled)) return; 4100 l = !0; 4101 const e = o.location.hash.replace("#", ""); 4102 if (e) { 4103 const s = 0; 4104 for (let a = 0, i = t.slides.length; a < i; a += 1) { 4105 const i = t.slides.eq(a); 4106 if ((i.attr("data-hash") || i.attr("data-history")) === e && !i.hasClass(t.params.slideDuplicateClass)) { 4107 const e = i.index(); 4108 t.slideTo(e, s, t.params.runCallbacksOnInit, !0); 4109 } 4110 } 4111 } 4112 t.params.hashNavigation.watchState && d(c).on("hashchange", p); 4113 })(); 4114 }), 4115 n("destroy", () => { 4116 t.params.hashNavigation.enabled && t.params.hashNavigation.watchState && d(c).off("hashchange", p); 4117 }), 4118 n("transitionEnd _freeModeNoMomentumRelease", () => { 4119 l && u(); 4120 }), 4121 n("slideChange", () => { 4122 l && t.params.cssMode && u(); 4123 }); 4124 }, 4125 function (e) { 4126 let t, 4127 { swiper: s, extendParams: i, on: r, emit: n } = e; 4128 function l() { 4129 if (!s.size) return (s.autoplay.running = !1), void (s.autoplay.paused = !1); 4130 const e = s.slides.eq(s.activeIndex); 4131 let a = s.params.autoplay.delay; 4132 e.attr("bwdsas-data-swiper-autoplay") && (a = e.attr("bwdsas-data-swiper-autoplay") || s.params.autoplay.delay), 4133 clearTimeout(t), 4134 (t = p(() => { 4135 let e; 4136 s.params.autoplay.reverseDirection 4137 ? s.params.loop 4138 ? (s.loopFix(), (e = s.slidePrev(s.params.speed, !0, !0)), n("autoplay")) 4139 : s.isBeginning 4140 ? s.params.autoplay.stopOnLastSlide 4141 ? d() 4142 : ((e = s.slideTo(s.slides.length - 1, s.params.speed, !0, !0)), n("autoplay")) 4143 : ((e = s.slidePrev(s.params.speed, !0, !0)), n("autoplay")) 4144 : s.params.loop 4145 ? (s.loopFix(), (e = s.slideNext(s.params.speed, !0, !0)), n("autoplay")) 4146 : s.isEnd 4147 ? s.params.autoplay.stopOnLastSlide 4148 ? d() 4149 : ((e = s.slideTo(0, s.params.speed, !0, !0)), n("autoplay")) 4150 : ((e = s.slideNext(s.params.speed, !0, !0)), n("autoplay")), 4151 ((s.params.cssMode && s.autoplay.running) || !1 === e) && l(); 4152 }, a)); 4153 } 4154 function o() { 4155 return void 0 === t && !s.autoplay.running && ((s.autoplay.running = !0), n("autoplayStart"), l(), !0); 4156 } 4157 function d() { 4158 return !!s.autoplay.running && void 0 !== t && (t && (clearTimeout(t), (t = void 0)), (s.autoplay.running = !1), n("autoplayStop"), !0); 4159 } 4160 function c(e) { 4161 s.autoplay.running && 4162 (s.autoplay.paused || 4163 (t && clearTimeout(t), 4164 (s.autoplay.paused = !0), 4165 0 !== e && s.params.autoplay.waitForTransition 4166 ? ["transitionend", "webkitTransitionEnd"].forEach((e) => { 4167 s.$wrapperEl[0].addEventListener(e, h); 4168 }) 4169 : ((s.autoplay.paused = !1), l()))); 4170 } 4171 function u() { 4172 const e = a(); 4173 "hidden" === e.visibilityState && s.autoplay.running && c(), "visible" === e.visibilityState && s.autoplay.paused && (l(), (s.autoplay.paused = !1)); 4174 } 4175 function h(e) { 4176 s && 4177 !s.destroyed && 4178 s.$wrapperEl && 4179 e.target === s.$wrapperEl[0] && 4180 (["transitionend", "webkitTransitionEnd"].forEach((e) => { 4181 s.$wrapperEl[0].removeEventListener(e, h); 4182 }), 4183 (s.autoplay.paused = !1), 4184 s.autoplay.running ? l() : d()); 4185 } 4186 function m() { 4187 s.params.autoplay.disableOnInteraction ? d() : (n("autoplayPause"), c()), 4188 ["transitionend", "webkitTransitionEnd"].forEach((e) => { 4189 s.$wrapperEl[0].removeEventListener(e, h); 4190 }); 4191 } 4192 function f() { 4193 s.params.autoplay.disableOnInteraction || ((s.autoplay.paused = !1), n("autoplayResume"), l()); 4194 } 4195 (s.autoplay = { running: !1, paused: !1 }), 4196 i({ autoplay: { enabled: !1, delay: 3e3, waitForTransition: !0, disableOnInteraction: !0, stopOnLastSlide: !1, reverseDirection: !1, pauseOnMouseEnter: !1 } }), 4197 r("init", () => { 4198 if (s.params.autoplay.enabled) { 4199 o(); 4200 a().addEventListener("visibilitychange", u), s.params.autoplay.pauseOnMouseEnter && (s.$el.on("mouseenter", m), s.$el.on("mouseleave", f)); 4201 } 4202 }), 4203 r("beforeTransitionStart", (e, t, a) => { 4204 s.autoplay.running && (a || !s.params.autoplay.disableOnInteraction ? s.autoplay.pause(t) : d()); 4205 }), 4206 r("sliderFirstMove", () => { 4207 s.autoplay.running && (s.params.autoplay.disableOnInteraction ? d() : c()); 4208 }), 4209 r("touchEnd", () => { 4210 s.params.cssMode && s.autoplay.paused && !s.params.autoplay.disableOnInteraction && l(); 4211 }), 4212 r("destroy", () => { 4213 s.$el.off("mouseenter", m), s.$el.off("mouseleave", f), s.autoplay.running && d(); 4214 a().removeEventListener("visibilitychange", u); 4215 }), 4216 Object.assign(s.autoplay, { pause: c, run: l, start: o, stop: d }); 4217 }, 4218 function (e) { 4219 let { swiper: t, extendParams: s, on: a } = e; 4220 s({ thumbs: { swiper: null, multipleActiveThumbs: !0, autoScrollOffset: 0, slideThumbActiveClass: "bwdsas-swiper-slide-thumb-active", thumbsContainerClass: "bwdsas-swiper-thumbs" } }); 4221 let i = !1, 4222 r = !1; 4223 function n() { 4224 const e = t.thumbs.swiper; 4225 if (!e || e.destroyed) return; 4226 const s = e.clickedIndex, 4227 a = e.clickedSlide;
4228 if (a && d(a).hasClass(t.params.thumbs.slideThumbActiveClass)) return; 4229 if (null == s) return; 4230 let i; 4231 if (((i = e.params.loop ? parseInt(d(e.clickedSlide).attr("bwdsas-data-swiper-slide-index"), 10) : s), t.params.loop)) { 4232 let e = t.activeIndex; 4233 t.slides.eq(e).hasClass(t.params.slideDuplicateClass) && (t.loopFix(), (t._clientLeft = t.$wrapperEl[0].clientLeft), (e = t.activeIndex)); 4234 const s = t.slides.eq(e).prevAll(`[bwdsas-data-swiper-slide-index="${i}"]`).eq(0).index(), 4235 a = t.slides.eq(e).nextAll(`[bwdsas-data-swiper-slide-index="${i}"]`).eq(0).index(); 4236 i = void 0 === s ? a : void 0 === a ? s : a - e < e - s ? a : s; 4237 } 4238 t.slideTo(i); 4239 } 4240 function l() { 4241 const { thumbs: e } = t.params; 4242 if (i) return !1; 4243 i = !0; 4244 const s = t.constructor; 4245 if (e.swiper instanceof s) 4246 (t.thumbs.swiper = e.swiper), 4247 Object.assign(t.thumbs.swiper.originalParams, { watchSlidesProgress: !0, slideToClickedSlide: !1 }), 4248 Object.assign(t.thumbs.swiper.params, { watchSlidesProgress: !0, slideToClickedSlide: !1 }); 4249 else if (m(e.swiper)) { 4250 const a = Object.assign({}, e.swiper); 4251 Object.assign(a, { watchSlidesProgress: !0, slideToClickedSlide: !1 }), (t.thumbs.swiper = new s(a)), (r = !0); 4252 } 4253 return t.thumbs.swiper.$el.addClass(t.params.thumbs.thumbsContainerClass), t.thumbs.swiper.on("tap", n), !0; 4254 } 4255 function o(e) { 4256 const s = t.thumbs.swiper; 4257 if (!s || s.destroyed) return; 4258 const a = "auto" === s.params.slidesPerView ? s.slidesPerViewDynamic() : s.params.slidesPerView; 4259 let i = 1; 4260 const r = t.params.thumbs.slideThumbActiveClass; 4261 if ( 4262 (t.params.slidesPerView > 1 && !t.params.centeredSlides && (i = t.params.slidesPerView), 4263 t.params.thumbs.multipleActiveThumbs || (i = 1), 4264 (i = Math.floor(i)), 4265 s.slides.removeClass(r), 4266 s.params.loop || (s.params.virtual && s.params.virtual.enabled)) 4267 ) 4268 for (let e = 0; e < i; e += 1) s.$wrapperEl.children(`[bwdsas-data-swiper-slide-index="${t.realIndex + e}"]`).addClass(r); 4269 else for (let e = 0; e < i; e += 1) s.slides.eq(t.realIndex + e).addClass(r); 4270 const n = t.params.thumbs.autoScrollOffset, 4271 l = n && !s.params.loop; 4272 if (t.realIndex !== s.realIndex || l) { 4273 let i, 4274 r, 4275 o = s.activeIndex; 4276 if (s.params.loop) { 4277 s.slides.eq(o).hasClass(s.params.slideDuplicateClass) && (s.loopFix(), (s._clientLeft = s.$wrapperEl[0].clientLeft), (o = s.activeIndex)); 4278 const e = s.slides.eq(o).prevAll(`[bwdsas-data-swiper-slide-index="${t.realIndex}"]`).eq(0).index(), 4279 a = s.slides.eq(o).nextAll(`[bwdsas-data-swiper-slide-index="${t.realIndex}"]`).eq(0).index(); 4280 (i = void 0 === e ? a : void 0 === a ? e : a - o == o - e ? (s.params.slidesPerGroup > 1 ? a : o) : a - o < o - e ? a : e), (r = t.activeIndex > t.previousIndex ? "next" : "prev"); 4281 } else (i = t.realIndex), (r = i > t.previousIndex ? "next" : "prev"); 4282 l && (i += "next" === r ? n : -1 * n), 4283 s.visibleSlidesIndexes && 4284 s.visibleSlidesIndexes.indexOf(i) < 0 && 4285 (s.params.centeredSlides ? (i = i > o ? i - Math.floor(a / 2) + 1 : i + Math.floor(a / 2) - 1) : i > o && s.params.slidesPerGroup, s.slideTo(i, e ? 0 : void 0)); 4286 } 4287 } 4288 (t.thumbs = { swiper: null }), 4289 a("beforeInit", () => { 4290 const { thumbs: e } = t.params; 4291 e && e.swiper && (l(), o(!0)); 4292 }), 4293 a("slideChange update resize observerUpdate", () => { 4294 o(); 4295 }), 4296 a("setTransition", (e, s) => { 4297 const a = t.thumbs.swiper; 4298 a && !a.destroyed && a.setTransition(s); 4299 }), 4300 a("beforeDestroy", () => { 4301 const e = t.thumbs.swiper; 4302 e && !e.destroyed && r && e.destroy(); 4303 }), 4304 Object.assign(t.thumbs, { init: l, update: o }); 4305 }, 4306 function (e) { 4307 let { swiper: t, extendParams: s, emit: a, once: i } = e; 4308 s({ freeMode: { enabled: !1, momentum: !0, momentumRatio: 1, momentumBounce: !0, momentumBounceRatio: 1, momentumVelocityRatio: 1, sticky: !1, minimumVelocity: 0.02 } }), 4309 Object.assign(t, { 4310 freeMode: { 4311 onTouchStart: function () { 4312 const e = t.getTranslate(); 4313 t.setTranslate(e), t.setTransition(0), (t.touchEventsData.velocities.length = 0), t.freeMode.onTouchEnd({ currentPos: t.rtl ? t.translate : -t.translate }); 4314 }, 4315 onTouchMove: function () { 4316 const { touchEventsData: e, touches: s } = t; 4317 0 === e.velocities.length && e.velocities.push({ position: s[t.isHorizontal() ? "startX" : "startY"], time: e.touchStartTime }), 4318 e.velocities.push({ position: s[t.isHorizontal() ? "currentX" : "currentY"], time: u() }); 4319 }, 4320 onTouchEnd: function (e) { 4321 let { currentPos: s } = e; 4322 const { params: r, $wrapperEl: n, rtlTranslate: l, snapGrid: o, touchEventsData: d } = t, 4323 c = u() - d.touchStartTime; 4324 if (s < -t.minTranslate()) t.slideTo(t.activeIndex); 4325 else if (s > -t.maxTranslate()) t.slides.length < o.length ? t.slideTo(o.length - 1) : t.slideTo(t.slides.length - 1); 4326 else { 4327 if (r.freeMode.momentum) { 4328 if (d.velocities.length > 1) { 4329 const e = d.velocities.pop(), 4330 s = d.velocities.pop(), 4331 a = e.position - s.position, 4332 i = e.time - s.time; 4333 (t.velocity = a / i), (t.velocity /= 2), Math.abs(t.velocity) < r.freeMode.minimumVelocity && (t.velocity = 0), (i > 150 || u() - e.time > 300) && (t.velocity = 0); 4334 } else t.velocity = 0; 4335 (t.velocity *= r.freeMode.momentumVelocityRatio), (d.velocities.length = 0); 4336 let e = 1e3 * r.freeMode.momentumRatio; 4337 const s = t.velocity * e; 4338 let c = t.translate + s; 4339 l && (c = -c); 4340 let p, 4341 h = !1; 4342 const m = 20 * Math.abs(t.velocity) * r.freeMode.momentumBounceRatio; 4343 let f; 4344 if (c < t.maxTranslate()) 4345 r.freeMode.momentumBounce ? (c + t.maxTranslate() < -m && (c = t.maxTranslate() - m), (p = t.maxTranslate()), (h = !0), (d.allowMomentumBounce = !0)) : (c = t.maxTranslate()), 4346 r.loop && r.centeredSlides && (f = !0); 4347 else if (c > t.minTranslate()) 4348 r.freeMode.momentumBounce ? (c - t.minTranslate() > m && (c = t.minTranslate() + m), (p = t.minTranslate()), (h = !0), (d.allowMomentumBounce = !0)) : (c = t.minTranslate()), 4349 r.loop && r.centeredSlides && (f = !0); 4350 else if (r.freeMode.sticky) { 4351 let e; 4352 for (let t = 0; t < o.length; t += 1) 4353 if (o[t] > -c) { 4354 e = t; 4355 break; 4356 } 4357 (c = Math.abs(o[e] - c) < Math.abs(o[e - 1] - c) || "next" === t.swipeDirection ? o[e] : o[e - 1]), (c = -c); 4358 } 4359 if ( 4360 (f && 4361 i("transitionEnd", () => { 4362 t.loopFix(); 4363 }), 4364 0 !== t.velocity) 4365 ) { 4366 if (((e = l ? Math.abs((-c - t.translate) / t.velocity) : Math.abs((c - t.translate) / t.velocity)), r.freeMode.sticky)) { 4367 const s = Math.abs((l ? -c : c) - t.translate), 4368 a = t.slidesSizesGrid[t.activeIndex]; 4369 e = s < a ? r.speed : s < 2 * a ? 1.5 * r.speed : 2.5 * r.speed; 4370 } 4371 } else if (r.freeMode.sticky) return void t.slideToClosest(); 4372 r.freeMode.momentumBounce && h 4373 ? (t.updateProgress(p), 4374 t.setTransition(e), 4375 t.setTranslate(c), 4376 t.transitionStart(!0, t.swipeDirection), 4377 (t.animating = !0), 4378 n.transitionEnd(() => { 4379 t && 4380 !t.destroyed && 4381 d.allowMomentumBounce && 4382 (a("momentumBounce"), 4383 t.setTransition(r.speed), 4384 setTimeout(() => { 4385 t.setTranslate(p), 4386 n.transitionEnd(() => { 4387 t && !t.destroyed && t.transitionEnd(); 4388 }); 4389 }, 0)); 4390 })) 4391 : t.velocity 4392 ? (a("_freeModeNoMomentumRelease"), 4393 t.updateProgress(c), 4394 t.setTransition(e), 4395 t.setTranslate(c), 4396 t.transitionStart(!0, t.swipeDirection), 4397 t.animating || 4398 ((t.animating = !0), 4399 n.transitionEnd(() => { 4400 t && !t.destroyed && t.transitionEnd(); 4401 }))) 4402 : t.updateProgress(c), 4403 t.updateActiveIndex(), 4404 t.updateSlidesClasses(); 4405 } else { 4406 if (r.freeMode.sticky) return void t.slideToClosest(); 4407 r.freeMode && a("_freeModeNoMomentumRelease"); 4408 } 4409 (!r.freeMode.momentum || c >= r.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses()); 4410 } 4411 }, 4412 }, 4413 }); 4414 }, 4415 function (e) { 4416 let t, 4417 s, 4418 a, 4419 { swiper: i, extendParams: r } = e; 4420 r({ grid: { rows: 1, fill: "column" } }), 4421 (i.grid = { 4422 initSlides: (e) => { 4423 const { slidesPerView: r } = i.params, 4424 { rows: n, fill: l } = i.params.grid; 4425 (s = t / n), (a = Math.floor(e / n)), (t = Math.floor(e / n) === e / n ? e : Math.
4425ceil(e / n) * n), "auto" !== r && "row" === l && (t = Math.max(t, r * n)); 4426 }, 4427 updateSlide: (e, r, n, l) => { 4428 const { slidesPerGroup: o, spaceBetween: d } = i.params, 4429 { rows: c, fill: p } = i.params.grid; 4430 let u, h, m; 4431 if ("row" === p && o > 1) { 4432 const s = Math.floor(e / (o * c)), 4433 a = e - c * o * s, 4434 i = 0 === s ? o : Math.min(Math.ceil((n - s * c * o) / c), o); 4435 (m = Math.floor(a / i)), (h = a - m * i + s * o), (u = h + (m * t) / c), r.css({ "-webkit-order": u, order: u }); 4436 } else "column" === p ? ((h = Math.floor(e / c)), (m = e - h * c), (h > a || (h === a && m === c - 1)) && ((m += 1), m >= c && ((m = 0), (h += 1)))) : ((m = Math.floor(e / s)), (h = e - m * s)); 4437 r.css(l("margin-top"), 0 !== m ? d && `${d}px` : ""); 4438 }, 4439 updateWrapperSize: (e, s, a) => { 4440 const { spaceBetween: r, centeredSlides: n, roundLengths: l } = i.params, 4441 { rows: o } = i.params.grid; 4442 if (((i.virtualSize = (e + r) * t), (i.virtualSize = Math.ceil(i.virtualSize / o) - r), i.$wrapperEl.css({ [a("width")]: `${i.virtualSize + r}px` }), n)) { 4443 s.splice(0, s.length); 4444 const e = []; 4445 for (let t = 0; t < s.length; t += 1) { 4446 let a = s[t]; 4447 l && (a = Math.floor(a)), s[t] < i.virtualSize + s[0] && e.push(a); 4448 } 4449 s.push(...e); 4450 } 4451 }, 4452 }); 4453 }, 4454 function (e) { 4455 let { swiper: t } = e; 4456 Object.assign(t, { appendSlide: K.bind(t), prependSlide: Z.bind(t), addSlide: Q.bind(t), removeSlide: J.bind(t), removeAllSlides: ee.bind(t) }); 4457 }, 4458 function (e) { 4459 let { swiper: t, extendParams: s, on: a } = e; 4460 s({ fadeEffect: { crossFade: !1, transformEl: null } }), 4461 te({ 4462 effect: "fade", 4463 swiper: t, 4464 on: a, 4465 setTranslate: () => { 4466 const { slides: e } = t, 4467 s = t.params.fadeEffect; 4468 for (let a = 0; a < e.length; a += 1) { 4469 const e = t.slides.eq(a); 4470 let i = -e[0].swiperSlideOffset; 4471 t.params.virtualTranslate || (i -= t.translate); 4472 let r = 0; 4473 t.isHorizontal() || ((r = i), (i = 0)); 4474 const n = t.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(e[0].progress), 0) : 1 + Math.min(Math.max(e[0].progress, -1), 0); 4475 se(s, e).css({ opacity: n }).transform(`translate3d(${i}px, ${r}px, 0px)`); 4476 } 4477 }, 4478 setTransition: (e) => { 4479 const { transformEl: s } = t.params.fadeEffect; 4480 (s ? t.slides.find(s) : t.slides).transition(e), ae({ swiper: t, duration: e, transformEl: s, allSlides: !0 }); 4481 }, 4482 overwriteParams: () => ({ slidesPerView: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !t.params.cssMode }), 4483 }); 4484 }, 4485 function (e) { 4486 let { swiper: t, extendParams: s, on: a } = e; 4487 s({ cubeEffect: { slideShadows: !0, shadow: !0, shadowOffset: 20, shadowScale: 0.94 } }); 4488 const i = (e, t, s) => { 4489 let a = s ? e.find(".bwdsas-swiper-slide-shadow-left") : e.find(".bwdsas-swiper-slide-shadow-top"), 4490 i = s ? e.find(".bwdsas-swiper-slide-shadow-right") : e.find(".bwdsas-swiper-slide-shadow-bottom"); 4491 0 === a.length && ((a = d(`<div class="bwdsas-swiper-slide-shadow-${s ? "left" : "top"}"></div>`)), e.append(a)), 4492 0 === i.length && ((i = d(`<div class="bwdsas-swiper-slide-shadow-${s ? "right" : "bottom"}"></div>`)), e.append(i)), 4493 a.length && (a[0].style.opacity = Math.max(-t, 0)), 4494 i.length && (i[0].style.opacity = Math.max(t, 0)); 4495 }; 4496 te({ 4497 effect: "cube", 4498 swiper: t, 4499 on: a, 4500 setTranslate: () => { 4501 const { $el: e, $wrapperEl: s, slides: a, width: r, height: n, rtlTranslate: l, size: o, browser: c } = t, 4502 p = t.params.cubeEffect, 4503 u = t.isHorizontal(), 4504 h = t.virtual && t.params.virtual.enabled; 4505 let m, 4506 f = 0; 4507 p.shadow && 4508 (u 4509 ? ((m = s.find(".bwdsas-swiper-cube-shadow")), 0 === m.length && ((m = d('<div class="bwdsas-swiper-cube-shadow"></div>')), s.append(m)), m.css({ height: `${r}px` })) 4510 : ((m = e.find(".bwdsas-swiper-cube-shadow")), 0 === m.length && ((m = d('<div class="bwdsas-swiper-cube-shadow"></div>')), e.append(m)))); 4511 for (let e = 0; e < a.length; e += 1) { 4512 const t = a.eq(e); 4513 let s = e; 4514 h && (s = parseInt(t.attr("bwdsas-data-swiper-slide-index"), 10)); 4515 let r = 90 * s, 4516 n = Math.floor(r / 360); 4517 l && ((r = -r), (n = Math.floor(-r / 360))); 4518 const d = Math.max(Math.min(t[0].progress, 1), -1); 4519 let c = 0, 4520 m = 0, 4521 g = 0; 4522 s % 4 == 0 ? ((c = 4 * -n * o), (g = 0)) : (s - 1) % 4 == 0 ? ((c = 0), (g = 4 * -n * o)) : (s - 2) % 4 == 0 ? ((c = o + 4 * n * o), (g = o)) : (s - 3) % 4 == 0 && ((c = -o), (g = 3 * o + 4 * o * n)), 4523 l && (c = -c), 4524 u || ((m = c), (c = 0)); 4525 const v = `rotateX(${u ? 0 : -r}deg) rotateY(${u ? r : 0}deg) translate3d(${c}
4525px, ${m}px, ${g}px)`; 4526 d <= 1 && d > -1 && ((f = 90 * s + 90 * d), l && (f = 90 * -s - 90 * d)), t.transform(v), p.slideShadows && i(t, d, u); 4527 } 4528 if ((s.css({ "-webkit-transform-origin": `50% 50% -${o / 2}px`, "transform-origin": `50% 50% -${o / 2}px` }), p.shadow)) 4529 if (u) m.transform(`translate3d(0px, ${r / 2 + p.shadowOffset}px, ${-r / 2}px) rotateX(90deg) rotateZ(0deg) scale(${p.shadowScale})`); 4530 else { 4531 const e = Math.abs(f) - 90 * Math.floor(Math.abs(f) / 90), 4532 t = 1.5 - (Math.sin((2 * e * Math.PI) / 360) / 2 + Math.cos((2 * e * Math.PI) / 360) / 2), 4533 s = p.shadowScale, 4534 a = p.shadowScale / t, 4535 i = p.shadowOffset; 4536 m.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${n / 2 + i}px, ${-n / 2 / a}px) rotateX(-90deg)`); 4537 } 4538 const g = c.isSafari || c.isWebView ? -o / 2 : 0; 4539 s.transform(`translate3d(0px,0,${g}px) rotateX(${t.isHorizontal() ? 0 : f}deg) rotateY(${t.isHorizontal() ? -f : 0}deg)`), s[0].style.setProperty("--swiper-cube-translate-z", `${g}px`); 4540 }, 4541 setTransition: (e) => { 4542 const { $el: s, slides: a } = t; 4543 a.transition(e).find(".bwdsas-swiper-slide-shadow-top, .bwdsas-swiper-slide-shadow-right, .bwdsas-swiper-slide-shadow-bottom, .bwdsas-swiper-slide-shadow-left").transition(e), 4544 t.params.cubeEffect.shadow && !t.isHorizontal() && s.find(".bwdsas-swiper-cube-shadow").transition(e); 4545 }, 4546 recreateShadows: () => { 4547 const e = t.isHorizontal(); 4548 t.slides.each((t) => { 4549 const s = Math.max(Math.min(t.progress, 1), -1); 4550 i(d(t), s, e); 4551 }); 4552 }, 4553 getEffectParams: () => t.params.cubeEffect, 4554 perspective: () => !0, 4555 overwriteParams: () => ({ slidesPerView: 1, slidesPerGroup: 1, watchSlidesProgress: !0, resistanceRatio: 0, spaceBetween: 0, centeredSlides: !1, virtualTranslate: !0 }), 4556 }); 4557 }, 4558 function (e) { 4559 let { swiper: t, extendParams: s, on: a } = e; 4560 s({ flipEffect: { slideShadows: !0, limitRotation: !0, transformEl: null } }); 4561 const i = (e, s, a) => { 4562 let i = t.isHorizontal() ? e.find(".bwdsas-swiper-slide-shadow-left") : e.find(".bwdsas-swiper-slide-shadow-top"), 4563 r = t.isHorizontal() ? e.find(".bwdsas-swiper-slide-shadow-right") : e.find(".bwdsas-swiper-slide-shadow-bottom"); 4564 0 === i.length && (i = ie(a, e, t.isHorizontal() ? "left" : "top")), 4565 0 === r.length && (r = ie(a, e, t.isHorizontal() ? "right" : "bottom")), 4566 i.length && (i[0].style.opacity = Math.max(-s, 0)), 4567 r.length && (r[0].style.opacity = Math.max(s, 0)); 4568 }; 4569 te({ 4570 effect: "flip", 4571 swiper: t, 4572 on: a, 4573 setTranslate: () => { 4574 const { slides: e, rtlTranslate: s } = t, 4575 a = t.params.flipEffect; 4576 for (let r = 0; r < e.length; r += 1) { 4577 const n = e.eq(r); 4578 let l = n[0].progress; 4579 t.params.flipEffect.limitRotation && (l = Math.max(Math.min(n[0].progress, 1), -1)); 4580 const o = n[0].swiperSlideOffset; 4581 let d = -180 * l, 4582 c = 0, 4583 p = t.params.cssMode ? -o - t.translate : -o, 4584 u = 0; 4585 t.isHorizontal() ? s && (d = -d) : ((u = p), (p = 0), (c = -d), (d = 0)), (n[0].style.zIndex = -Math.abs(Math.round(l)) + e.length), a.slideShadows && i(n, l, a); 4586 const h = `translate3d(${p}px, ${u}
4586px, 0px) rotateX(${c}deg) rotateY(${d}deg)`; 4587 se(a, n).transform(h); 4588 } 4589 }, 4590 setTransition: (e) => { 4591 const { transformEl: s } = t.params.flipEffect; 4592 (s ? t.slides.find(s) : t.slides).transition(e).find(".bwdsas-swiper-slide-shadow-top, .bwdsas-swiper-slide-shadow-right, .bwdsas-swiper-slide-shadow-bottom, .bwdsas-swiper-slide-shadow-left").transition(e), 4593 ae({ swiper: t, duration: e, transformEl: s }); 4594 }, 4595 recreateShadows: () => { 4596 const e = t.params.flipEffect; 4597 t.slides.each((s) => { 4598 const a = d(s); 4599 let r = a[0].progress; 4600 t.params.flipEffect.limitRotation && (r = Math.max(Math.min(s.progress, 1), -1)), i(a, r, e); 4601 }); 4602 }, 4603 getEffectParams: () => t.params.flipEffect, 4604 perspective: () => !0, 4605 overwriteParams: () => ({ slidesPerView: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !t.params.cssMode }), 4606 }); 4607 }, 4608 function (e) { 4609 let { swiper: t, extendParams: s, on: a } = e; 4610 s({ coverflowEffect: { rotate: 50, stretch: 0, depth: 100, scale: 1, modifier: 1, slideShadows: !0, transformEl: null } }), 4611 te({ 4612 effect: "coverflow", 4613 swiper: t, 4614 on: a, 4615 setTranslate: () => { 4616 const { width: e, height: s, slides: a, slidesSizesGrid: i } = t, 4617 r = t.params.coverflowEffect, 4618 n = t.isHorizontal(), 4619 l = t.translate, 4620 o = n ? e / 2 - l : s / 2 - l, 4621 d = n ? r.rotate : -r.rotate, 4622 c = r.depth; 4623 for (let e = 0, t = a.length; e < t; e += 1) { 4624 const t = a.eq(e), 4625 s = i[e], 4626 l = (o - t[0].swiperSlideOffset - s / 2) / s, 4627 p = "function" == typeof r.modifier ? r.modifier(l) : l * r.modifier; 4628 let u = n ? d * p : 0, 4629 h = n ? 0 : d * p, 4630 m = -c * Math.abs(p), 4631 f = r.stretch; 4632 "string" == typeof f && -1 !== f.indexOf("%") && (f = (parseFloat(r.stretch) / 100) * s); 4633 let g = n ? 0 : f * p, 4634 v = n ? f * p : 0, 4635 w = 1 - (1 - r.scale) * Math.abs(p); 4636 Math.abs(v) < 0.001 && (v = 0), Math.abs(g) < 0.001 && (g = 0), Math.abs(m) < 0.001 && (m = 0), Math.abs(u) < 0.001 && (u = 0), Math.abs(h) < 0.001 && (h = 0), Math.abs(w) < 0.001 && (w = 0); 4637 const b = `translate3d(${v}px,${g}px,${m}px) rotateX(${h}deg) rotateY(${u}deg) scale(${w})`; 4638 if ((se(r, t).transform(b), (t[0].style.zIndex = 1 - Math.abs(Math.round(p))), r.slideShadows)) { 4639 let e = n ? t.find(".bwdsas-swiper-slide-shadow-left") : t.find(".bwdsas-swiper-slide-shadow-top"), 4640 s = n ? t.find(".bwdsas-swiper-slide-shadow-right") : t.find(".bwdsas-swiper-slide-shadow-bottom"); 4641 0 === e.length && (e = ie(r, t, n ? "left" : "top")), 4642 0 === s.length && (s = ie(r, t, n ? "right" : "bottom")), 4643 e.length && (e[0].style.opacity = p > 0 ? p : 0), 4644 s.length && (s[0].style.opacity = -p > 0 ? -p : 0); 4645 } 4646 } 4647 }, 4648 setTransition: (e) => { 4649 const { transformEl: s } = t.params.coverflowEffect; 4650 (s ? t.slides.find(s) : t.slides).transition(e).find(".bwdsas-swiper-slide-shadow-top, .bwdsas-swiper-slide-shadow-right, .bwdsas-swiper-slide-shadow-bottom, .bwdsas-swiper-slide-shadow-left").transition(e); 4651 }, 4652 perspective: () => !0, 4653 overwriteParams: () => ({ watchSlidesProgress: !0 }), 4654 }); 4655 }, 4656 function (e) { 4657 let { swiper: t, extendParams: s, on: a } = e; 4658 s({ 4659 creativeEffect: { 4660 transformEl: null, 4661 limitProgress: 1, 4662 shadowPerProgress: !1, 4663 progressMultiplier: 1, 4664 perspective: !0, 4665 prev: { translate: [0, 0, 0], rotate: [0, 0, 0], opacity: 1, scale: 1 }, 4666 next: { translate: [0, 0, 0], rotate: [0, 0, 0], opacity: 1, scale: 1 }, 4667 }, 4668 }); 4669 const i = (e) => ("string" == typeof e ? e : `${e}px`); 4670 te({ 4671 effect: "creative", 4672 swiper: t, 4673 on: a, 4674 setTranslate: () => { 4675 const { slides: e, $wrapperEl: s, slidesSizesGrid: a } = t, 4676 r = t.params.creativeEffect, 4677 { progressMultiplier: n } = r, 4678 l = t.params.centeredSlides; 4679 if (l) { 4680 const e = a[0] / 2 - t.params.slidesOffsetBefore || 0; 4681 s.transform(`translateX(calc(50% - ${e}px))`); 4682 } 4683 for (let s = 0; s < e.length; s += 1) { 4684 const a = e.eq(s), 4685 o = a[0].progress, 4686 d = Math.min(Math.max(a[0].progress, -r.limitProgress), r.limitProgress); 4687 let c = d; 4688 l || (c = Math.min(Math.max(a[0].originalProgress, -r.limitProgress), r.limitProgress)); 4689 const p = a[0].swiperSlideOffset, 4690 u = [t.params.cssMode ? -p - t.translate : -p, 0, 0], 4691 h = [0, 0, 0]; 4692 let m = !1; 4693 t.isHorizontal() || ((u[1] = u[0]), (u[0] = 0)); 4694 let f = { translate: [0, 0, 0], rotate: [0, 0, 0], scale: 1, opacity: 1 }; 4695 d < 0 ? ((f = r.next), (m = !0)) : d > 0 && ((f = r.prev), (m = !0)), 4696 u.forEach((e, t) => { 4697 u[t] = `calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d * n)}))`; 4698 }), 4699 h.forEach((e, t) => { 4700 h[t] = f.rotate[t] * Math.abs(d * n); 4701 }), 4702 (a[0].style.zIndex = -Math.abs(Math.round(o)) + e.length); 4703 const g = u.join(", "), 4704 v = `rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`, 4705 w = c < 0 ? `scale(${1 + (1 - f.scale) * c * n})` : `scale(${1 - (1 - f.scale) * c * n})`, 4706 b = c < 0 ? 1 + (1 - f.opacity) * c * n : 1 - (1 - f.opacity) * c * n, 4707 x = `translate3d(${g}) ${v} ${w}`; 4708 if ((m && f.shadow) || !m) { 4709 let e = a.children(".bwdsas-swiper-slide-shadow"); 4710 if ((0 === e.length && f.shadow && (e = ie(r, a)), e.length)) { 4711 const t = r.shadowPerProgress ? d * (1 / r.limitProgress) : d; 4712 e[0].style.opacity = Math.min(Math.max(Math.abs(t), 0), 1); 4713 } 4714 } 4715 const y = se(r, a); 4716 y.transform(x).css({ opacity: b }), f.origin && y.css("transform-origin", f.origin); 4717 } 4718 }, 4719 setTransition: (e) => { 4720 const { transformEl: s } = t.params.creativeEffect; 4721 (s ? t.slides.find(s) : t.slides).transition(e).find(".bwdsas-swiper-slide-shadow").transition(e), ae({ swiper: t, duration: e, transformEl: s, allSlides: !0 }); 4722 }, 4723 perspective: () => t.params.creativeEffect.perspective, 4724 overwriteParams: () => ({ watchSlidesProgress: !0, virtualTranslate: !t.params.cssMode }), 4725 }); 4726 }, 4727 function (e) { 4728 let { swiper: t, extendParams: s, on: a } = e; 4729 s({ cardsEffect: { slideShadows: !0, transformEl: null, rotate: !0, perSlideRotate: 2, perSlideOffset: 8 } }), 4730 te({ 4731 effect: "cards", 4732 swiper: t, 4733 on: a, 4734 setTranslate: () => { 4735 const { slides: e, activeIndex: s } = t, 4736 a = t.params.cardsEffect, 4737 { startTranslate: i, isTouched: r } = t.touchEventsData, 4738 n = t.translate; 4739 for (let l = 0; l < e.length; l += 1) { 4740 const o = e.eq(l), 4741 d = o[0].progress, 4742 c = Math.min(Math.max(d, -4), 4); 4743 let p = o[0].swiperSlideOffset; 4744 t.params.centeredSlides && !t.params.cssMode && t.$wrapperEl.transform(`translateX(${t.minTranslate()}px)`), t.params.centeredSlides && t.params.cssMode && (p -= e[0].swiperSlideOffset); 4745 let u = t.params.cssMode ? -p - t.translate : -p, 4746 h = 0; 4747 const m = -100 * Math.abs(c); 4748 let f = 1, 4749 g = -a.perSlideRotate * c, 4750 v = a.perSlideOffset - 0.75 * Math.abs(c); 4751 const w = t.virtual && t.params.virtual.enabled ? t.virtual.from + l : l, 4752 b = (w === s || w === s - 1) && c > 0 && c < 1 && (r || t.params.cssMode) && n < i, 4753 x = (w === s || w === s + 1) && c < 0 && c > -1 && (r || t.params.cssMode) && n > i; 4754 if (b || x) { 4755 const e = (1 - Math.abs((Math.abs(c) - 0.5) / 0.5)) ** 0.5; 4756 (g += -28 * c * e), (f += -0.5 * e), (v += 96 * e), (h = -25 * e * Math.abs(c) + "%"); 4757 } 4758 if (((u = c < 0 ? `calc(${u}px + (${v * Math.abs(c)}%))` : c > 0 ? `calc(${u}px + (-${v * Math.abs(c)}%))` : `${u}px`), !t.isHorizontal())) { 4759 const e = h; 4760 (h = u), (u = e); 4761 } 4762 const y = c < 0 ? "" + (1 + (1 - f) * c) : "" + (1 - (1 - f) * c), 4763 E = `\n translate3d(${u}, ${h}, ${m}px)\n rotateZ(${a.rotate ? g : 0}deg)\n scale(${y})\n `; 4764 if (a.slideShadows) { 4765 let e = o.find(".bwdsas-swiper-slide-shadow"); 4766 0 === e.length && (e = ie(a, o)), e.length && (e[0].style.opacity = Math.min(Math.max((Math.abs(c) - 0.5) / 0.5, 0), 1)); 4767 } 4768 o[0].style.zIndex = -Math.abs(Math.round(d)) + e.length; 4769 se(a, o).transform(E); 4770 } 4771 }, 4772 setTransition: (e) => { 4773 const { transformEl: s } = t.params.cardsEffect; 4774 (s ? t.slides.find(s) : t.slides).transition(e).find(".bwdsas-swiper-slide-shadow").transition(e), ae({ swiper: t, duration: e, transformEl: s }); 4775 }, 4776 perspective: () => !0, 4777 overwriteParams: () => ({ watchSlidesProgress: !0, virtualTranslate: !t.params.cssMode }), 4778 }); 4779 }, 4780 ]; 4781 return V.use(re), V; 4782}); 4783 4784//# sourceMappingURL=swiper-bundle.min.js.map
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.