@ivcreative/accessible-vanilla-slick 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ivcreative/accessible-vanilla-slick",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "WCAG 2.2 compliant vanilla ES6 carousel - the last (accessible) carousel you'll ever need",
5
5
  "license": "MIT",
6
6
  "main": "slick/dist/slick.js",
@@ -22,14 +22,14 @@
22
22
  "url": "https://github.com/ivcreative/accessible-vanilla-slick.git"
23
23
  },
24
24
  "scripts": {
25
- "clean": "rimraf slick/dist/*.min.css slick/dist/*.min.js",
25
+ "clean": "rimraf slick/dist/*.min.css slick/dist/*.min.js slick/dist/slick.js slick/dist/slick.esm.mjs slick/dist/slick.cjs",
26
26
  "build:css": "sass --style=compressed slick/slick.scss:slick/dist/slick.min.css slick/slick-theme.scss:slick/dist/slick-theme.min.css slick/accessible-slick-theme.scss:slick/dist/accessible-slick-theme.min.css",
27
- "build:js": "esbuild slick/dist/slick.js --minify --outfile=slick/dist/slick.min.js",
27
+ "build:js": "esbuild slick/src/index.js --bundle --format=iife --global-name=slickModule --outfile=slick/dist/slick.js && esbuild slick/dist/slick.js --minify --outfile=slick/dist/slick.min.js",
28
28
  "build": "npm run clean && npm run build:css && npm run build:js",
29
29
  "prepublishOnly": "npm run build",
30
30
  "pack:check": "npm pack --dry-run",
31
31
  "watch:css": "sass --watch --style=compressed slick/slick.scss:slick/dist/slick.min.css slick/slick-theme.scss:slick/dist/slick-theme.min.css slick/accessible-slick-theme.scss:slick/dist/accessible-slick-theme.min.css",
32
- "watch:js": "chokidar \"slick/dist/slick.js\" -c \"npm run build:js\"",
32
+ "watch:js": "chokidar \"slick/src/**\" -c \"npm run build:js\"",
33
33
  "watch": "npm-run-all --parallel watch:css watch:js"
34
34
  },
35
35
  "keywords": [
@@ -331,7 +331,17 @@ var slickModule = (() => {
331
331
  this.element = element;
332
332
  this.instanceId = uniqueId("slick");
333
333
  this.constructor.INSTANCES.set(this.instanceId, this);
334
- this.options = extend({}, this.constructor.DEFAULTS, options);
334
+ const dataSlickAttr = getAttribute(element, "data-slick");
335
+ let dataSlickOptions = {};
336
+ if (dataSlickAttr) {
337
+ try {
338
+ const jsonStr = dataSlickAttr.replace(/"/g, '"');
339
+ dataSlickOptions = JSON.parse(jsonStr);
340
+ } catch (e) {
341
+ console.warn("Invalid data-slick JSON:", dataSlickAttr, e);
342
+ }
343
+ }
344
+ this.options = extend({}, this.constructor.DEFAULTS, dataSlickOptions, options);
335
345
  this.originalOptions = extend({}, this.options);
336
346
  this.state = extend({}, this.constructor.INITIAL_STATE);
337
347
  this.dispatcher = new EventDispatcher();
@@ -514,6 +524,20 @@ var slickModule = (() => {
514
524
  if (this.options.responsive && this.options.responsive.length) {
515
525
  this.checkResponsive(true);
516
526
  }
527
+ if (this.options.lazyLoad) {
528
+ if (this.options.lazyLoad === "progressive") {
529
+ this.progressiveLazyLoad();
530
+ } else {
531
+ this.lazyLoad();
532
+ }
533
+ this.dispatcher.addEventListener("afterChange", () => {
534
+ if (this.options.lazyLoad === "progressive") {
535
+ this.progressiveLazyLoad();
536
+ } else {
537
+ this.lazyLoad();
538
+ }
539
+ });
540
+ }
517
541
  this.emit("init", { instance: this });
518
542
  }
519
543
  /**
@@ -1505,6 +1529,9 @@ var slickModule = (() => {
1505
1529
  addClass(allSlides[this.state.currentSlide], "slick-active");
1506
1530
  addClass(allSlides[this.state.currentSlide], "slick-current");
1507
1531
  }
1532
+ if (this.options.lazyLoad === "ondemand" || this.options.lazyLoad === "anticipated") {
1533
+ this.lazyLoad();
1534
+ }
1508
1535
  return;
1509
1536
  }
1510
1537
  allSlides.forEach((slide) => {
@@ -1531,6 +1558,9 @@ var slickModule = (() => {
1531
1558
  }
1532
1559
  }
1533
1560
  });
1561
+ if (this.options.lazyLoad === "ondemand" || this.options.lazyLoad === "anticipated") {
1562
+ this.lazyLoad();
1563
+ }
1534
1564
  }
1535
1565
  /**
1536
1566
  * Update arrow disabled states
@@ -2039,6 +2069,178 @@ var slickModule = (() => {
2039
2069
  this.state.slideTrack = null;
2040
2070
  }
2041
2071
  }
2072
+ /**
2073
+ * Load lazy images - handles data-lazy attribute on images
2074
+ * Supports 'ondemand' and 'anticipated' lazy loading modes
2075
+ */
2076
+ lazyLoad() {
2077
+ if (!this.options.lazyLoad)
2078
+ return;
2079
+ let rangeStart, rangeEnd, slideRange = [];
2080
+ if (this.options.centerMode === true) {
2081
+ if (this.options.infinite === true) {
2082
+ rangeStart = this.state.currentSlide + (Math.floor(this.options.slidesToShow / 2) + 1);
2083
+ rangeEnd = rangeStart + this.options.slidesToShow + 2;
2084
+ } else {
2085
+ rangeStart = Math.max(0, this.state.currentSlide - (Math.floor(this.options.slidesToShow / 2) + 1));
2086
+ rangeEnd = 2 + Math.floor(this.options.slidesToShow / 2) + this.state.currentSlide;
2087
+ }
2088
+ } else {
2089
+ rangeStart = this.options.infinite ? this.options.slidesToShow + this.state.currentSlide : this.state.currentSlide;
2090
+ rangeEnd = Math.ceil(rangeStart + this.options.slidesToShow);
2091
+ if (this.options.fade === true) {
2092
+ if (rangeStart > 0)
2093
+ rangeStart--;
2094
+ if (rangeEnd < this.state.slideCount)
2095
+ rangeEnd++;
2096
+ }
2097
+ }
2098
+ const allSlides = selectAll(".slick-slide", this.state.slideTrack);
2099
+ for (let i = rangeStart; i < rangeEnd; i++) {
2100
+ if (allSlides[i]) {
2101
+ slideRange.push(allSlides[i]);
2102
+ }
2103
+ }
2104
+ if (this.options.lazyLoad === "anticipated") {
2105
+ let prevSlide = rangeStart - 1;
2106
+ let nextSlide = rangeEnd;
2107
+ for (let i = 0; i < this.options.slidesToScroll; i++) {
2108
+ if (prevSlide < 0)
2109
+ prevSlide = this.state.slideCount - 1;
2110
+ if (allSlides[prevSlide]) {
2111
+ slideRange.unshift(allSlides[prevSlide]);
2112
+ }
2113
+ if (allSlides[nextSlide]) {
2114
+ slideRange.push(allSlides[nextSlide]);
2115
+ }
2116
+ prevSlide--;
2117
+ nextSlide++;
2118
+ }
2119
+ }
2120
+ slideRange.forEach((slide) => {
2121
+ this.loadImages(slide);
2122
+ });
2123
+ if (this.state.slideCount <= this.options.slidesToShow) {
2124
+ const clonedSlides = selectAll(".slick-cloned", this.state.slideTrack);
2125
+ clonedSlides.forEach((slide) => {
2126
+ this.loadImages(slide);
2127
+ });
2128
+ } else if (this.state.currentSlide >= this.state.slideCount - this.options.slidesToShow) {
2129
+ const clonedSlides = selectAll(".slick-cloned", this.state.slideTrack);
2130
+ clonedSlides.slice(0, this.options.slidesToShow).forEach((slide) => {
2131
+ this.loadImages(slide);
2132
+ });
2133
+ } else if (this.state.currentSlide === 0) {
2134
+ const clonedSlides = selectAll(".slick-cloned", this.state.slideTrack);
2135
+ clonedSlides.slice(this.options.slidesToShow * -1).forEach((slide) => {
2136
+ this.loadImages(slide);
2137
+ });
2138
+ }
2139
+ }
2140
+ /**
2141
+ * Load all unloaded images in a given scope
2142
+ */
2143
+ loadImages(imagesScope) {
2144
+ const lazyImages = selectAll("img[data-lazy]", imagesScope);
2145
+ lazyImages.forEach((img) => {
2146
+ const imageSource = getAttribute(img, "data-lazy");
2147
+ const imageSrcSet = getAttribute(img, "data-srcset");
2148
+ const imageSizes = getAttribute(img, "data-sizes") || getAttribute(this.state.slideTrack, "data-sizes");
2149
+ if (!imageSource)
2150
+ return;
2151
+ const imageToLoad = new Image();
2152
+ imageToLoad.onload = () => {
2153
+ const currentOpacity = window.getComputedStyle(img).opacity || "1";
2154
+ const fadeDuration = 100;
2155
+ const startTime = Date.now();
2156
+ const fadeOutInterval = setInterval(() => {
2157
+ const elapsed = Date.now() - startTime;
2158
+ const progress = Math.min(elapsed / fadeDuration, 1);
2159
+ setStyle(img, "opacity", String(1 - progress));
2160
+ if (progress >= 1) {
2161
+ clearInterval(fadeOutInterval);
2162
+ if (imageSrcSet) {
2163
+ setAttribute(img, "srcset", imageSrcSet);
2164
+ }
2165
+ if (imageSizes) {
2166
+ setAttribute(img, "sizes", imageSizes);
2167
+ }
2168
+ setAttribute(img, "src", imageSource);
2169
+ const fadeInStart = Date.now();
2170
+ const fadeInDuration = 200;
2171
+ const fadeInInterval = setInterval(() => {
2172
+ const inElapsed = Date.now() - fadeInStart;
2173
+ const inProgress = Math.min(inElapsed / fadeInDuration, 1);
2174
+ setStyle(img, "opacity", String(inProgress));
2175
+ if (inProgress >= 1) {
2176
+ clearInterval(fadeInInterval);
2177
+ removeAttribute(img, "data-lazy");
2178
+ removeAttribute(img, "data-srcset");
2179
+ removeAttribute(img, "data-sizes");
2180
+ removeClass(img, "slick-loading");
2181
+ this.emit("lazyLoaded", { image: img, imageSource });
2182
+ }
2183
+ });
2184
+ }
2185
+ });
2186
+ };
2187
+ imageToLoad.onerror = () => {
2188
+ removeAttribute(img, "data-lazy");
2189
+ removeClass(img, "slick-loading");
2190
+ addClass(img, "slick-lazyload-error");
2191
+ this.emit("lazyLoadError", { image: img, imageSource });
2192
+ };
2193
+ addClass(img, "slick-loading");
2194
+ imageToLoad.src = imageSource;
2195
+ });
2196
+ }
2197
+ /**
2198
+ * Progressive lazy load - loads images one at a time as they appear
2199
+ */
2200
+ progressiveLazyLoad(tryCount = 1) {
2201
+ if (!this.options.lazyLoad || this.options.lazyLoad !== "progressive")
2202
+ return;
2203
+ const allLazyImages = selectAll("img[data-lazy]", this.state.slideTrack);
2204
+ if (allLazyImages.length === 0)
2205
+ return;
2206
+ const img = allLazyImages[0];
2207
+ const imageSource = getAttribute(img, "data-lazy");
2208
+ const imageSrcSet = getAttribute(img, "data-srcset");
2209
+ const imageSizes = getAttribute(img, "data-sizes") || getAttribute(this.state.slideTrack, "data-sizes");
2210
+ const imageToLoad = new Image();
2211
+ imageToLoad.onload = () => {
2212
+ if (imageSrcSet) {
2213
+ setAttribute(img, "srcset", imageSrcSet);
2214
+ }
2215
+ if (imageSizes) {
2216
+ setAttribute(img, "sizes", imageSizes);
2217
+ }
2218
+ setAttribute(img, "src", imageSource);
2219
+ removeAttribute(img, "data-lazy");
2220
+ removeAttribute(img, "data-srcset");
2221
+ removeAttribute(img, "data-sizes");
2222
+ removeClass(img, "slick-loading");
2223
+ if (this.options.adaptiveHeight === true) {
2224
+ this.setPosition();
2225
+ }
2226
+ this.emit("lazyLoaded", { image: img, imageSource });
2227
+ this.progressiveLazyLoad(1);
2228
+ };
2229
+ imageToLoad.onerror = () => {
2230
+ if (tryCount < 3) {
2231
+ setTimeout(() => {
2232
+ this.progressiveLazyLoad(tryCount + 1);
2233
+ }, 500);
2234
+ } else {
2235
+ removeAttribute(img, "data-lazy");
2236
+ removeClass(img, "slick-loading");
2237
+ addClass(img, "slick-lazyload-error");
2238
+ this.emit("lazyLoadError", { image: img, imageSource });
2239
+ this.progressiveLazyLoad(1);
2240
+ }
2241
+ };
2242
+ imageToLoad.src = imageSource;
2243
+ }
2042
2244
  /**
2043
2245
  * On event - register listener
2044
2246
  */
@@ -1 +1 @@
1
- var slickModule=(()=>{var W=Object.defineProperty,$=Object.getOwnPropertyDescriptor,_=Object.getOwnPropertyNames,V=Object.prototype.hasOwnProperty,Y=(n,t)=>{for(var s in t)W(n,s,{get:t[s],enumerable:!0})},X=(n,t,s,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of _(t))!V.call(n,i)&&i!==s&&W(n,i,{get:()=>t[i],enumerable:!(e=$(t,i))||e.enumerable});return n},q=n=>X(W({},"__esModule",{value:!0}),n),F={};Y(F,{SlickSlider:()=>k,default:()=>y});var K=class{constructor(){this.listeners={}}on(n,t,s=null){return this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push({callback:t,context:s}),this}once(n,t,s=null){const e=(...i)=>{t.apply(s,i),this.off(n,e)};return this.on(n,e,s)}off(n,t=null){return n?t?(this.listeners[n]&&(this.listeners[n]=this.listeners[n].filter(s=>s.callback!==t)),this):(delete this.listeners[n],this):(this.listeners={},this)}emit(n,t=null){return this.listeners[n]?(this.listeners[n].forEach(s=>{s.callback.call(s.context,t)}),this):this}clear(){return this.listeners={},this}};function T(n,...t){if(!t.length)return n;const s=t.shift();if(I(n)&&I(s))for(const e in s)I(s[e])?(n[e]||Object.assign(n,{[e]:{}}),T(n[e],s[e])):Object.assign(n,{[e]:s[e]});return T(n,...t)}function I(n){return n&&typeof n=="object"&&!Array.isArray(n)&&n.constructor===Object}function U(n,t=0){let s;return function(...i){const o=()=>{clearTimeout(s),n(...i)};clearTimeout(s),s=setTimeout(o,t)}}var G=0;function J(n="slick"){return`${n}-${++G}`}function C(n){const t=document.createElement("div");return t.innerHTML=n.trim(),t.firstElementChild}var lt=window.requestAnimationFrame||function(n){return setTimeout(n,1e3/60)},ht=window.cancelAnimationFrame||function(n){clearTimeout(n)};function Q(){return{width:window.innerWidth||document.documentElement.clientWidth,height:window.innerHeight||document.documentElement.clientHeight}}function D(n,t=document){return t.querySelector(n)}function S(n,t=document){return Array.from(t.querySelectorAll(n))}function d(n,t){n&&(Array.isArray(n)?n.forEach(s=>d(s,t)):n.classList.add(...t.split(" ")))}function p(n,t){n&&(Array.isArray(n)?n.forEach(s=>p(s,t)):n.classList.remove(...t.split(" ")))}function M(n,t){return n?n.classList.contains(t):!1}function c(n,t,s){n&&(Array.isArray(n)?n.forEach(e=>c(e,t,s)):typeof t=="object"?Object.entries(t).forEach(([e,i])=>{c(n,e,i)}):s===null?n.removeAttribute(t):n.setAttribute(t,s))}function B(n,t){return n?n.getAttribute(t):null}function v(n,t){n&&(Array.isArray(n)?n.forEach(s=>v(s,t)):n.removeAttribute(t))}function r(n,t,s){n&&(Array.isArray(n)?n.forEach(e=>r(e,t,s)):typeof t=="object"?Object.entries(t).forEach(([e,i])=>{n.style[e]=i}):n.style[t]=s)}function A(n){const t=n.getBoundingClientRect();return{width:n.offsetWidth||t.width,height:n.offsetHeight||t.height,top:n.offsetTop||t.top,left:n.offsetLeft||t.left}}function z(n){const t=window.getComputedStyle(n),s=parseFloat(t.paddingLeft)||0,e=parseFloat(t.paddingRight)||0;return n.clientWidth-s-e}function P(n,t=!1){let s=n.offsetWidth;if(t){const e=window.getComputedStyle(n);s+=parseFloat(e.marginLeft)+parseFloat(e.marginRight)}return s}function L(n,t=!1){let s=n.offsetHeight;if(t){const e=window.getComputedStyle(n);s+=parseFloat(e.marginTop)+parseFloat(e.marginBottom)}return s}function u(n,t){n&&(typeof t=="string"?n.insertAdjacentHTML("beforeend",t):n.appendChild(t))}function x(n,t){n&&(typeof t=="string"?n.insertAdjacentHTML("beforebegin",t):n.parentNode.insertBefore(t,n))}function f(n){n&&(Array.isArray(n)?n.forEach(t=>f(t)):n.parentNode&&n.parentNode.removeChild(n))}function O(n){if(n)for(;n.firstChild;)n.removeChild(n.firstChild)}function b(n,t=null){return n?t?Array.from(n.children).filter(s=>s.matches(t)):Array.from(n.children):[]}function Z(){const n=document.createElement("div");return"transform"in n.style||"WebkitTransform"in n.style||"MozTransform"in n.style||"OTransform"in n.style||"msTransform"in n.style}function tt(){const n=document.createElement("div"),t=["transform","WebkitTransform","MozTransform","OTransform","msTransform"];for(const s of t)if(s in n.style)return s;return"transform"}function H(){const n=document.createElement("div"),t=["transition","WebkitTransition","MozTransition","OTransition","msTransition"];for(const s of t)if(s in n.style)return s;return"transition"}function j(n,t,s="ease"){const e=H();n.style[e]=`all ${t}ms ${s}`}function E(n){const t=H();n.style[t]="none"}function N(n,t,s=0,e=0){const i=tt();n.style[i]=`translate3d(${t}px, ${s}px, ${e}px)`}var st=class R{static INSTANCES=new Map;constructor(t,s={}){this.element=t,this.instanceId=J("slick"),this.constructor.INSTANCES.set(this.instanceId,this),this.options=T({},this.constructor.DEFAULTS,s),this.originalOptions=T({},this.options),this.state=T({},this.constructor.INITIAL_STATE),this.dispatcher=new K,this.boundMethods={},this.init()}static DEFAULTS={accessibility:!0,adaptiveHeight:!1,appendArrows:null,appendDots:null,arrows:!0,arrowsPlacement:null,asNavFor:null,autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:null,dots:!1,dotsClass:"slick-dots",draggable:!0,edge:!1,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,instructionsText:null,lazyLoad:"ondemand",mobileFirst:!1,nextArrow:'<button class="slick-next" aria-label="Next slide"><span class="slick-next-icon" aria-hidden="true"></span></button>',pauseIcon:'<span class="slick-pause-icon" aria-hidden="true"></span>',pauseOnFocus:!0,pauseOnHover:!0,playIcon:'<span class="slick-play-icon" aria-hidden="true"></span>',prevArrow:'<button class="slick-prev" aria-label="Previous slide"><span class="slick-prev-icon" aria-hidden="true"></span></button>',respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useAutoplayToggleButton:!0,useCSS:!0,useGroupRole:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3,regionLabel:"slider"};static INITIAL_STATE={activeBreakpoint:null,animating:!1,autoPlayTimer:null,currentDirection:0,currentLeft:0,currentSlide:0,direction:1,dotListElement:null,dotSlidesToScroll:1,dots:null,dragging:!1,edgeHit:!1,slidesCache:null,gestureEndTime:0,gestureStartTime:0,instructionsText:null,interrupted:!1,listHeight:0,listWidth:0,loadIndex:0,nextArrowElement:null,pauseButton:null,postSlideDelay:0,prevArrowElement:null,scrolling:!1,slideCount:0,slideHeight:0,slideOffset:0,slideWidth:0,slideTrack:null,slides:[],sliding:!1,slideList:null,swipeLeft:0,swiping:!1,suppressNavSync:!1,swipeDirection:null,targetSlide:0,touchObject:{},touchStartTime:0,transformsEnabled:!1,unslicked:!1,windowHeight:0,windowWidth:0,yeti:null};static KEYS={ENTER:13,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,TAB:9,HOME:36,END:35,ESCAPE:27};init(){this.element.setAttribute("data-slick-slider",this.instanceId),d(this.element,"slick-slider"),this.state.transformsEnabled=Z(),this.setProps(),this.state.currentSlide=this.options.initialSlide,this.state.currentDirection=1,this.state.rtl=this.options.rtl,this.state.rows=this.options.rows,this.state.slideCount=0,this.loadSlider(),this.buildOut(),this.setupInfinite(),this.options.accessibility&&(c(this.element,"role","region"),c(this.element,"aria-label",this.options.regionLabel)),this.options.arrows&&this.state.slideCount>this.options.slidesToShow&&this.buildArrows(),this.options.dots&&this.state.slideCount>this.options.slidesToShow&&this.buildDots(),this.options.autoplay&&this.options.useAutoplayToggleButton&&this.state.slideCount>1&&this.buildAutoplayButton(),this.updateNavigationVisibility(),d(this.element,"slick-initialized"),this.options.variableWidth?window.requestAnimationFrame(()=>{this.setPosition()}):this.setPosition(),this.initializeEvents(),this.options.autoplay&&this.autoPlay(),this.options.responsive&&this.options.responsive.length&&this.checkResponsive(!0),this.emit("init",{instance:this})}setProps(){this.state.positionProp=this.options.vertical?"top":"left",this.options.fade&&(this.options.centerMode=!1,this.options.slidesToShow=1,this.options.slidesToScroll=1);const t=document.body.style;t.transform!==void 0?this.state.animType="transform":t.webkitTransform!==void 0?this.state.animType="webkitTransform":t.MozTransform!==void 0?this.state.animType="MozTransform":t.msTransform!==void 0?this.state.animType="msTransform":t.OTransform!==void 0?this.state.animType="OTransform":this.state.animType=!1}setupInfinite(){if(!this.options.infinite||this.options.fade||this.state.slideCount<=this.options.slidesToShow)return;const t=this.options.centerMode?this.options.slidesToShow+1:this.options.slidesToShow;for(let e=this.state.slideCount;e>this.state.slideCount-t;e-=1){const i=e-1,o=this.state.slides[i].cloneNode(!0);d(o,"slick-cloned"),c(o,"aria-hidden","true"),c(o,"tabindex","-1"),c(o,"data-slick-index",String(i-this.state.slideCount)),this.state.slideTrack.insertBefore(o,this.state.slideTrack.firstChild)}const s=Math.max(this.state.slideCount,this.options.slidesToShow+this.options.slidesToScroll);for(let e=0;e<s;e+=1){const i=e%this.state.slideCount,o=this.state.slides[i].cloneNode(!0);d(o,"slick-cloned"),c(o,"aria-hidden","true"),c(o,"tabindex","-1"),c(o,"data-slick-index",String(e+this.state.slideCount)),u(this.state.slideTrack,o)}this.state.slideTrack.offsetWidth}loadSlider(){const t=this.options.slide?S(this.options.slide,this.element):b(this.element);this.state.slides=Array.from(t),this.state.slideCount=this.state.slides.length,this.state.slides.forEach((s,e)=>{d(s,"slick-slide"),c(s,"data-slick-index",e),this.options.useGroupRole&&(c(s,"role","group"),c(s,"aria-label",`slide ${e+1}`))}),this.wrapSlideContent(),this.emit("loaded",{slideCount:this.state.slideCount})}wrapSlideContent(){this.state.slides.forEach(t=>{const s=Array.from(b(t));if(s.length===1&&s[0].tagName==="DIV"){const o=s[0];o.style.display!=="inline-block"&&(r(o,"width","100%"),r(o,"display","inline-block"));return}if(s.length===1&&getComputedStyle(s[0]).display==="inline-block")return;const i=document.createElement("div");r(i,"width","100%"),r(i,"display","inline-block"),s.forEach(o=>{u(i,o)}),u(t,i)})}buildOut(){const t=D(".slick-track",this.element),s=D(".slick-list",this.element);if(!t||!s){const e=document.createElement("div");d(e,"slick-list");const i=document.createElement("div");d(i,"slick-track"),this.state.slides.forEach(o=>{u(i,o)}),u(e,i),u(this.element,e),this.state.slideTrack=i,this.state.slideList=e}else this.state.slideTrack=t,this.state.slideList=s;this.options.accessibility&&(c(this.element,"role","region"),c(this.element,"aria-label",this.options.regionLabel))}buildArrows(){const t=this.options.prevArrow,s=C(t);d(s,"slick-arrow"),this.state.prevArrowElement=s,s.addEventListener("click",l=>this.prevClick(l));const e=this.options.nextArrow,i=C(e);d(i,"slick-arrow"),this.state.nextArrowElement=i,i.addEventListener("click",l=>this.nextClick(l));const o=this.options.appendArrows||this.element,a=this.state.slideList;a&&a.parentNode===o?(x(a,s),u(o,i)):(u(o,s),u(o,i)),this.emit("arrowsBuilt")}buildDots(){const t=document.createElement("ul");d(t,this.options.dotsClass),d(this.element,"slick-dotted");const s=Math.ceil(this.state.slideCount/this.options.slidesToScroll);for(let i=0;i<s;i++){const o=document.createElement("li"),a=document.createElement("button"),l=document.createElement("span");d(l,"slick-dot-icon"),c(a,"aria-label",`Go to slide ${i+1}`),c(a,"data-slide-index",i),i===0&&d(o,"slick-active"),a.addEventListener("click",h=>this.dotClick(h)),u(a,l),u(o,a),u(t,o)}this.state.dots=t,this.state.dotListElement=t;const e=this.options.appendDots||this.element;u(e,t),this.updateDots(),this.emit("dotsBuilt")}updateDots(){if(!this.state.dots)return;const t=Math.floor(this.state.currentSlide/this.options.slidesToScroll);Array.from(this.state.dots.children).forEach((e,i)=>{i===t?d(e,"slick-active"):p(e,"slick-active")})}buildAutoplayButton(){const t=document.createElement("button");d(t,"slick-autoplay-toggle-button"),c(t,"aria-label","Play/Pause slider autoplay"),this.state.pauseButton=t,t.addEventListener("click",()=>this.autoPlayToggleHandler()),this.setAutoplayButtonState(!!this.state.paused),this.state.slideList?this.element.insertBefore(t,this.state.slideList):u(this.element,t)}setAutoplayButtonState(t){if(!this.state.pauseButton)return;c(this.state.pauseButton,"aria-pressed",t?"true":"false"),O(this.state.pauseButton);const s=t?this.options.playIcon:this.options.pauseIcon;typeof s=="string"?u(this.state.pauseButton,C(s)):s&&u(this.state.pauseButton,s)}initializeEvents(){this.boundMethods.handleResize=U(()=>this.checkResponsive(),250),window.addEventListener("resize",this.boundMethods.handleResize),this.boundMethods.handleVisibilityChange=()=>this.handleVisibilityChange(),document.addEventListener("visibilitychange",this.boundMethods.handleVisibilityChange),this.boundMethods.handleKeydown=t=>this.handleKeydown(t),this.element.addEventListener("keydown",this.boundMethods.handleKeydown),this.options.draggable&&this.state.slideList&&(this.boundMethods.handleMouseDown=t=>this.startDrag(t),this.state.slideList.addEventListener("mousedown",this.boundMethods.handleMouseDown)),this.options.swipe&&this.state.slideList&&"ontouchstart"in window&&(this.boundMethods.handleTouchStart=t=>this.startDrag(t),this.boundMethods.handleTouchEnd=t=>this.endDrag(t),this.boundMethods.handleTouchMove=t=>this.trackDrag(t),this.state.slideList.addEventListener("touchstart",this.boundMethods.handleTouchStart,{passive:!0}),this.state.slideList.addEventListener("touchend",this.boundMethods.handleTouchEnd,{passive:!0}),this.state.slideList.addEventListener("touchmove",this.boundMethods.handleTouchMove,{passive:!1})),this.boundMethods.handleFocus=()=>this.handleFocus(),this.boundMethods.handleBlur=()=>this.handleBlur(),this.element.addEventListener("focusin",this.boundMethods.handleFocus,!0),this.element.addEventListener("focusout",this.boundMethods.handleBlur,!0),this.options.focusOnSelect&&this.state.slideTrack&&(this.boundMethods.handleSlideClick=t=>this.handleSlideClick(t),this.state.slideTrack.addEventListener("click",this.boundMethods.handleSlideClick))}normalizeSlideIndex(t){if(this.state.slideCount<=0||!Number.isFinite(t))return 0;const s=this.state.slideCount;let e=t%s;return e<0&&(e+=s),e}getNavTargetInstances(){const t=this.options.asNavFor;if(!t)return[];const s=[];if(typeof t=="string")return Array.from(document.querySelectorAll(t)).forEach(i=>{const o=i.getAttribute("data-slick-slider");if(!o)return;const a=this.constructor.INSTANCES.get(o);a&&a!==this&&s.push(a)}),s;if(t instanceof R)return t===this?[]:[t];if(t instanceof Element){const e=t.getAttribute("data-slick-slider"),i=e?this.constructor.INSTANCES.get(e):null;return i&&i!==this?[i]:[]}return[]}syncAsNavFor(t,s=!1){const e=this.getNavTargetInstances();e.length&&e.forEach(i=>{if(!i||i.state.unslicked)return;const o=i.normalizeSlideIndex(t);i.state.currentSlide!==o&&(i.state.suppressNavSync=!0,i.goTo(o,s),i.state.suppressNavSync=!1)})}handleSlideClick(t){const s=t.target.closest(".slick-slide");if(!s||!this.state.slideTrack||!this.state.slideTrack.contains(s))return;const e=parseInt(B(s,"data-slick-index"),10);if(Number.isNaN(e))return;const i=this.normalizeSlideIndex(e);this.goTo(i)}next(){this.changeSlide({data:{message:"next"}})}prev(){this.changeSlide({data:{message:"prev"}})}goTo(t,s=!1){t<0||t>=this.state.slideCount||this.changeSlide({data:{message:"index",index:t}},s)}play(){this.options.autoplay&&(this.state.paused=!1,this.autoPlay(),this.setAutoplayButtonState(!1),this.emit("play"))}pause(){this.options.autoplay&&(this.autoPlayClear(),this.state.paused=!0,this.setAutoplayButtonState(!0),this.emit("pause"))}getCurrentSlide(){return this.state.currentSlide}getOption(t){return this.options[t]}setOption(t,s){this.options[t]=s,this.emit("setOption",{option:t,value:s})}addSlide(t,s=null,e=!1){if(!t||(typeof s=="boolean"&&(e=s,s=null),s!==null&&(s<0||s>=this.state.slideCount)))return!1;this.unloadClones();let i;if(typeof t=="string"?i=C(t):i=t,typeof s=="number")if(s===0&&this.state.slides.length===0)u(this.state.slideTrack,i);else if(e){const o=this.state.slides[s];o&&o.parentNode?x(o,i):u(this.state.slideTrack,i)}else{const o=this.state.slides[s];o&&o.nextSibling?x(o.nextSibling,i):o&&o.parentNode&&u(this.state.slideTrack,i)}else e===!0?this.state.slideTrack.firstChild?x(this.state.slideTrack.firstChild,i):u(this.state.slideTrack,i):u(this.state.slideTrack,i);return d(i,"slick-slide"),this.state.slides=b(this.state.slideTrack).filter(o=>!M(o,"slick-cloned")),this.state.slideCount=this.state.slides.length,this.reinit(),this.emit("addSlide"),!0}removeSlide(t,s=!1,e=!1){if(this.state.slideCount<1||t<0||t>this.state.slideCount-1)return!1;if(this.unloadClones(),e===!0)for(;this.state.slideTrack.firstChild;){const i=this.state.slideTrack.firstChild;M(i,"slick-cloned")||f(i)}else{const i=this.state.slides[t];i&&f(i)}return this.state.slides=b(this.state.slideTrack).filter(i=>!M(i,"slick-cloned")),this.state.slideCount=this.state.slides.length,this.state.currentSlide>=this.state.slideCount&&this.state.currentSlide!==0&&(this.state.currentSlide=this.state.currentSlide-this.options.slidesToScroll),this.reinit(),this.emit("removeSlide"),!0}slickAdd(t,s=null,e=!1){return this.addSlide(t,s,e)}slickRemove(t,s=!1,e=!1){return this.removeSlide(t,s,e)}filterSlides(t){return this.slickFilter(t)}slickFilter(t){if(t==null||!this.state.slideTrack)return!1;this.state.slidesCache||(this.state.slidesCache=this.state.slides.slice()),this.unloadClones();const s=this.state.slidesCache.filter((e,i)=>this.matchesSlideFilter(e,t,i));return O(this.state.slideTrack),s.forEach(e=>u(this.state.slideTrack,e)),this.state.currentSlide=0,this.reinit(),this.emit("filter"),!0}unfilterSlides(){return this.slickUnfilter()}slickUnfilter(){return!this.state.slideTrack||!this.state.slidesCache?!1:(this.unloadClones(),O(this.state.slideTrack),this.state.slidesCache.forEach(t=>u(this.state.slideTrack,t)),this.state.slidesCache=null,this.state.currentSlide=0,this.reinit(),this.emit("unfilter"),!0)}matchesSlideFilter(t,s,e){if(typeof s=="function")return!!s.call(t,e,t);if(typeof s!="string")return!1;const i=/:even\b/.test(s),o=/:odd\b/.test(s),a=s.replace(/:even\b|:odd\b/g,"").trim();if(!(i?e%2===0:o?e%2===1:!0))return!1;if(!a)return!0;try{return t.matches(a)}catch{return!1}}destroy(){removeEventListener(window,"resize",this.boundMethods.handleResize),removeEventListener(document,"visibilitychange",this.boundMethods.handleVisibilityChange),removeEventListener(this.element,"keydown",this.boundMethods.handleKeydown),this.dispatcher.clear(),this.state.pauseButton&&f(this.state.pauseButton),this.state.prevArrowElement&&f(this.state.prevArrowElement),this.state.nextArrowElement&&f(this.state.nextArrowElement),this.state.dots&&f(this.state.dots),this.state.unslicked=!0,this.constructor.INSTANCES.delete(this.instanceId),this.emit("destroy")}changeSlide(t,s=!1){const e=t?.data?.message,i=this.normalizeSlideIndex(this.state.currentSlide);let o=i;if(e==="next"?o=i+this.options.slidesToScroll:e==="prev"?o=i-this.options.slidesToScroll:e==="index"&&Number.isInteger(t?.data?.index)&&(o=t.data.index),this.options.fade){if(this.options.infinite?o=this.normalizeSlideIndex(o):o=Math.max(0,Math.min(o,this.state.slideCount-1)),o===i||this.state.animating&&this.options.waitForAnimate)return;this.emit("beforeChange",{previousSlide:i,nextSlide:o});const h=this.options.useCSS&&!s&&this.options.speed>0;this.state.currentSlide=o,!this.state.suppressNavSync&&this.options.asNavFor&&this.syncAsNavFor(o,s),h?(this.state.animating=!0,this.fadeSlideTransition(i,o,()=>{this.state.animating=!1,this.setPosition(),this.emit("afterChange",{currentSlide:this.state.currentSlide})})):(this.state.animating=!1,this.setPosition(),this.emit("afterChange",{currentSlide:this.state.currentSlide}));return}if(this.options.infinite||(o=Math.max(0,Math.min(o,this.state.slideCount-1))),o===i||this.state.animating&&this.options.waitForAnimate)return;this.emit("beforeChange",{previousSlide:i,nextSlide:o});const a=this.options.useCSS&&!s&&this.options.speed>0;this.state.animating=a,a?(j(this.state.slideTrack,this.options.speed,this.options.cssEase),this.animateHeight()):E(this.state.slideTrack),this.state.currentSlide=o;const l=this.normalizeSlideIndex(o);!this.state.suppressNavSync&&this.options.asNavFor&&this.syncAsNavFor(l,s),this.setPosition(),a?window.setTimeout(()=>{if(this.options.infinite){let h=o;o>=this.state.slideCount?h=o%this.state.slideCount:o<0&&(h=this.state.slideCount+o%this.state.slideCount),h!==o?(E(this.state.slideTrack),this.state.currentSlide=h,this.setPosition()):E(this.state.slideTrack)}else E(this.state.slideTrack);this.state.animating=!1},this.options.speed):this.state.animating=!1,this.emit("afterChange",{currentSlide:this.state.currentSlide})}quickReposition(){if(!this.state.slideList||!this.state.slideTrack)return;if(!this.state.slideWidth){const s=this.state.listWidth||z(this.state.slideList)||400;this.state.slideWidth=Math.ceil(s/this.options.slidesToShow)}let t=0;if(this.options.variableWidth){const s=S(".slick-slide",this.state.slideTrack);let e=this.state.currentSlide;const i=this.options.infinite&&this.state.slideCount>this.options.slidesToShow?this.options.centerMode?this.options.slidesToShow+1:this.options.slidesToShow:0;e=this.state.currentSlide+i,(e<0||e>=s.length)&&(e=Math.max(0,Math.min(e,s.length-1)));const o=s[e];if(o&&(t=-(o.offsetLeft||0),this.options.centerMode&&this.state.listWidth)){const l=P(o);t+=(this.state.listWidth-l)/2}}else{const e=S(".slick-slide",this.state.slideTrack).length,i=Math.ceil(this.state.slideWidth*e);r(this.state.slideTrack,"width",`${i}px`);let o=0;this.options.infinite&&this.state.slideCount>this.options.slidesToShow&&(o=this.state.slideWidth*this.options.slidesToShow*-1),this.state.slideCount<=this.options.slidesToShow&&(o=0),this.options.centerMode&&this.state.slideCount<=this.options.slidesToShow?o=this.state.slideWidth*Math.floor(this.options.slidesToShow)/2-this.state.slideWidth*this.state.slideCount/2:this.options.centerMode&&this.options.infinite?o+=this.state.slideWidth*Math.floor(this.options.slidesToShow/2)-this.state.slideWidth:this.options.centerMode&&(o=0,o+=this.state.slideWidth*Math.floor(this.options.slidesToShow/2)),t=this.state.currentSlide*this.state.slideWidth*-1+o}this.options.useTransform&&this.state.transformsEnabled?N(this.state.slideTrack,t,0,0):r(this.state.slideTrack,"left",`${t}px`),this.updateSlideVisibility(),this.updateArrows(),this.updateDots()}fadeSlideTransition(t,s,e){const i=this.state.slides[this.normalizeSlideIndex(t)],o=this.state.slides[this.normalizeSlideIndex(s)];if(!o){e&&e();return}const a=`opacity ${this.options.speed}ms ${this.options.cssEase}`;i&&(r(i,"transition",a),r(i,"opacity","0"),r(i,"z-index",String(this.options.zIndex-2))),r(o,"transition",a),r(o,"opacity","1"),r(o,"z-index",String(this.options.zIndex-1));const l=L(o);l>0&&this.state.slideTrack&&r(this.state.slideTrack,"height",`${l}px`),window.setTimeout(()=>{i&&r(i,"transition",""),r(o,"transition",""),e&&e()},this.options.speed)}setFade(){if(!this.state.slideTrack)return;const t=S(".slick-slide",this.state.slideTrack);if(!t.length)return;let s=0;t.forEach(i=>{const o=L(i);o>s&&(s=o)}),s>0&&r(this.state.slideTrack,"height",`${s}px`),t.forEach((i,o)=>{r(i,"position","absolute"),r(i,"left","0"),r(i,"top","0"),r(i,"width","100%"),r(i,"opacity","0"),r(i,"z-index",String(this.options.zIndex-2)),r(i,"transition","")});const e=Math.max(0,Math.min(this.state.currentSlide,t.length-1));t[e]&&(r(t[e],"opacity","1"),r(t[e],"z-index",String(this.options.zIndex-1)))}setPosition(){if(!this.state.slideList||!this.state.slideTrack)return;this.options.centerMode?this.options.vertical?r(this.state.slideList,"padding",`${this.options.centerPadding} 0px`):r(this.state.slideList,"padding",`0px ${this.options.centerPadding}`):r(this.state.slideList,"padding","0px"),this.state.slideList.offsetWidth;let t=z(this.state.slideList)||A(this.state.slideList).width;if(!t||t<=0){const o=A(this.state.slideList).width;if(o&&o>0)t=o;else{const a=this.element.offsetWidth||window.innerWidth;t=a>0?a:300}}if(this.state.listWidth=t,this.options.fade){this.state.slideWidth=t,r(this.state.slideTrack,"width",`${t}px`),r(this.state.slideTrack,"position","relative"),r(this.state.slideTrack,"left","0"),r(this.state.slideTrack,"top","0"),r(this.state.slideTrack,"transform","none"),this.setFade(),this.updateSlideVisibility(),this.updateDots(),this.updateArrows(),this.updateNavigationVisibility(),this.setHeight();return}let s=0,e=0,i=0;if(this.options.variableWidth){const o=S(".slick-slide",this.state.slideTrack);s=5e3*o.length,r(this.state.slideTrack,"width",`${s}px`),o.forEach(w=>{w.style.display==="none"&&r(w,"display","block")}),this.state.slideTrack.offsetHeight,this.state.slideTrack.getBoundingClientRect(),o.forEach(w=>void w.offsetLeft);let l=this.state.currentSlide;const h=this.options.infinite&&this.state.slideCount>this.options.slidesToShow?this.options.centerMode?this.options.slidesToShow+1:this.options.slidesToShow:0;l=this.state.currentSlide+h,(l<0||l>=o.length)&&(l=Math.max(0,Math.min(l,o.length-1)));const g=o[l];if(g){const w=g.offsetLeft||0;if(this.options.rtl&&!this.options.vertical){const m=P(g);e=-(s-w-m)}else e=-w;if(this.options.centerMode){const m=P(g);e+=(t-m)/2}}this.state.slideWidth=t}else{this.state.slideWidth=Math.ceil(t/this.options.slidesToShow);const o=S(".slick-slide",this.state.slideTrack),a=o&&o.length>0?o:this.state.slides,l=a.length;s=Math.ceil(this.state.slideWidth*l),r(this.state.slideTrack,"width",`${s}px`);let h=0;const g=this.state.slides[0];if(g){const m=window.getComputedStyle(g),et=parseFloat(m.marginLeft)||0,it=parseFloat(m.marginRight)||0,nt=parseFloat(m.paddingLeft)||0,ot=parseFloat(m.paddingRight)||0,at=parseFloat(m.borderLeft)||0,rt=parseFloat(m.borderRight)||0;h=et+it+nt+ot+at+rt}const w=Math.max(0,this.state.slideWidth-h);a.forEach(m=>{r(m,"width",`${w}px`)}),i=0,this.options.infinite?this.state.slideCount>this.options.slidesToShow&&(i=this.state.slideWidth*this.options.slidesToShow*-1):this.state.currentSlide+this.options.slidesToShow>this.state.slideCount&&(i=(this.state.currentSlide+this.options.slidesToShow-this.state.slideCount)*this.state.slideWidth),this.state.slideCount<=this.options.slidesToShow&&(i=0),this.options.centerMode&&this.state.slideCount<=this.options.slidesToShow?i=this.state.slideWidth*Math.floor(this.options.slidesToShow)/2-this.state.slideWidth*this.state.slideCount/2:this.options.centerMode&&this.options.infinite?i+=this.state.slideWidth*Math.floor(this.options.slidesToShow/2)-this.state.slideWidth:this.options.centerMode&&(i=0,i+=this.state.slideWidth*Math.floor(this.options.slidesToShow/2)),e=this.state.currentSlide*this.state.slideWidth*-1+i}r(this.state.slideTrack,"width",`${s}px`),this.options.rtl&&!this.options.vertical&&!this.options.fade&&(e=-e),this.options.fade?this.setFade():this.options.useTransform&&this.state.transformsEnabled?N(this.state.slideTrack,e,0,0):r(this.state.slideTrack,"left",`${e}px`),this.updateSlideVisibility(),this.updateDots(),this.updateArrows(),this.updateNavigationVisibility(),this.setHeight()}getSlideMargins(t){const s=window.getComputedStyle(t),e=parseFloat(s.marginLeft)||0,i=parseFloat(s.marginRight)||0;return e+i}updateSlideVisibility(){if(!this.state.slideTrack)return;const t=S(".slick-slide",this.state.slideTrack);if(this.options.fade){t.forEach(h=>{p(h,"slick-active"),p(h,"slick-current"),p(h,"slick-center")}),t[this.state.currentSlide]&&(d(t[this.state.currentSlide],"slick-active"),d(t[this.state.currentSlide],"slick-current"));return}t.forEach(h=>{p(h,"slick-active"),p(h,"slick-current"),p(h,"slick-center"),c(h,"aria-hidden","true")});const e=S(".slick-cloned",this.state.slideTrack).length>0&&this.options.infinite&&this.state.slideCount>this.options.slidesToShow?this.options.centerMode?this.options.slidesToShow+1:this.options.slidesToShow:0,i=this.options.centerMode?Math.floor(this.options.slidesToShow/2):0,o=e+this.state.currentSlide-i,a=o+this.options.slidesToShow,l=e+this.state.currentSlide;t.forEach((h,g)=>{g>=o&&g<a&&(d(h,"slick-active"),v(h,"aria-hidden")),g===l&&(d(h,"slick-current"),this.options.centerMode&&d(h,"slick-center"))})}updateArrows(){if(!this.options.arrows||!this.state.prevArrowElement||!this.state.nextArrowElement)return;const t=Math.max(0,this.state.slideCount-this.options.slidesToShow),s=!this.options.infinite&&this.state.currentSlide===0,e=!this.options.infinite&&this.state.currentSlide>=t;s?(d(this.state.prevArrowElement,"slick-disabled"),c(this.state.prevArrowElement,"disabled","disabled")):(p(this.state.prevArrowElement,"slick-disabled"),v(this.state.prevArrowElement,"disabled")),e?(d(this.state.nextArrowElement,"slick-disabled"),c(this.state.nextArrowElement,"disabled","disabled")):(p(this.state.nextArrowElement,"slick-disabled"),v(this.state.nextArrowElement,"disabled"))}updateNavigationVisibility(){const t=this.state.slideCount>this.options.slidesToShow;this.state.prevArrowElement&&(t?(p(this.state.prevArrowElement,"slick-hidden"),v(this.state.prevArrowElement,"aria-hidden")):(d(this.state.prevArrowElement,"slick-hidden"),c(this.state.prevArrowElement,"aria-hidden","true"))),this.state.nextArrowElement&&(t?(p(this.state.nextArrowElement,"slick-hidden"),v(this.state.nextArrowElement,"aria-hidden")):(d(this.state.nextArrowElement,"slick-hidden"),c(this.state.nextArrowElement,"aria-hidden","true"))),this.state.dots&&(t?(p(this.state.dots,"slick-hidden"),v(this.state.dots,"aria-hidden")):(d(this.state.dots,"slick-hidden"),c(this.state.dots,"aria-hidden","true")))}setHeight(){if(this.options.slidesToShow===1&&this.options.adaptiveHeight===!0&&!this.options.vertical&&this.state.slideList){let t=this.state.currentSlide;this.options.infinite&&t>=this.state.slideCount?t=t%this.state.slideCount:this.options.infinite&&t<0&&(t=this.state.slideCount+t%this.state.slideCount);const s=this.state.slides[t];if(s){const e=L(s);r(this.state.slideList,"height",`${e}px`)}}}animateHeight(){if(this.options.slidesToShow===1&&this.options.adaptiveHeight===!0&&!this.options.vertical&&this.state.slideList){let t=this.state.currentSlide;this.options.infinite&&t>=this.state.slideCount?t=t%this.state.slideCount:this.options.infinite&&t<0&&(t=this.state.slideCount+t%this.state.slideCount);const s=this.state.slides[t];if(s){const e=L(s);this.state.animating?(j(this.state.slideList,this.options.speed,this.options.cssEase),r(this.state.slideList,"height",`${e}px`),window.setTimeout(()=>{E(this.state.slideList)},this.options.speed)):r(this.state.slideList,"height",`${e}px`)}}}prevClick(){this.prev()}nextClick(){this.next()}dotClick(t){const s=parseInt(B(t.currentTarget,"data-slide-index"));this.goTo(s)}startDrag(t){const s=t.type==="touchstart"?t.touches[0]:t;this.state.touchObject={startX:s.pageX,startY:s.pageY,curX:s.pageX,curY:s.pageY},this.state.dragging=!0,this.state.touchStartTime=new Date().getTime(),t.type==="mousedown"&&(this.boundMethods.handleMouseMove=e=>this.trackDrag(e),this.boundMethods.handleMouseUp=e=>this.endDrag(e),document.addEventListener("mousemove",this.boundMethods.handleMouseMove),document.addEventListener("mouseup",this.boundMethods.handleMouseUp))}trackDrag(t){if(!this.state.dragging)return;const s=t.type.indexOf("touch")!==-1?t.touches[0]:t;if(this.state.touchObject.curX=s.pageX,this.state.touchObject.curY=s.pageY,Math.round(Math.sqrt(Math.pow(this.state.touchObject.curX-this.state.touchObject.startX,2)+Math.pow(this.state.touchObject.curY-this.state.touchObject.startY,2)))>this.options.touchThreshold){this.state.swiping=!0;const i=Math.atan2(this.state.touchObject.curY-this.state.touchObject.startY,this.state.touchObject.curX-this.state.touchObject.startX)*180/Math.PI,o=Math.abs(i)<45||Math.abs(i)>135,a=Math.abs(i)>=45&&Math.abs(i)<=135;if(this.options.vertical&&a){t.type==="touchmove"&&this.options.touchMove&&t.preventDefault();const l=this.state.touchObject.curY-this.state.touchObject.startY;this.swipeHandler(l)}else if(!this.options.vertical&&o){t.type==="touchmove"&&this.options.touchMove&&t.preventDefault();const l=this.state.touchObject.curX-this.state.touchObject.startX;this.swipeHandler(l)}}}endDrag(t){if(this.state.dragging){if(this.state.dragging=!1,t.type==="mouseup"&&(document.removeEventListener("mousemove",this.boundMethods.handleMouseMove),document.removeEventListener("mouseup",this.boundMethods.handleMouseUp)),this.state.swiping){this.state.swiping=!1;const s=new Date().getTime()-this.state.touchStartTime,e=this.options.vertical?this.state.touchObject.curY-this.state.touchObject.startY:this.state.touchObject.curX-this.state.touchObject.startX,o=(this.options.variableWidth?this.state.listWidth:this.state.slideWidth)/(this.options.touchThreshold||5);Math.abs(e)>o?e>0?this.prev():this.next():this.setPosition()}this.state.touchObject={}}}swipeHandler(t){if(this.options.variableWidth)return;const s=this.state.currentSlide*-this.state.slideWidth,e=s+t;let i=t;if(!this.options.infinite){const l=-(this.state.slideCount-this.options.slidesToShow)*this.state.slideWidth;e>0?i=t*this.options.edgeFriction:e<l&&(i=t*this.options.edgeFriction)}const o=s+i;N(this.state.slideTrack,o,0,0)}handleKeydown(t){}handleFocus(){this.state.focussed=!0,this.options.pauseOnFocus&&this.options.autoplay&&this.pause()}handleBlur(){this.state.focussed=!1,this.options.autoplay&&!this.state.paused&&this.play()}handleVisibilityChange(){document.hidden?(this.state.interrupted=!0,this.options.autoplay&&this.autoPlayClear()):(this.state.interrupted=!1,this.options.autoplay&&!this.state.paused&&this.autoPlay())}autoPlay(){this.state.paused=!1,this.state.autoPlayTimer=setInterval(()=>{!this.state.paused&&!this.state.interrupted&&!this.state.focussed&&this.next()},this.options.autoplaySpeed)}autoPlayClear(){this.state.autoPlayTimer&&(clearInterval(this.state.autoPlayTimer),this.state.autoPlayTimer=null)}autoPlayToggleHandler(){this.state.paused?this.play():this.pause()}checkResponsive(t=!1){if(!this.options.responsive||!Array.isArray(this.options.responsive))return;const s=Q().width;let e=null,i=null,o=s;if(this.options.respondTo==="window"?o=s:this.options.respondTo==="slider"?o=A(this.element).width:this.options.respondTo==="min"&&(o=Math.min(s,A(this.element).width)),this.originalOptions.responsive.forEach(a=>{a.breakpoint&&(this.originalOptions.mobileFirst?o>=a.breakpoint&&(e=a.breakpoint,i=a.settings):o<a.breakpoint&&(e===null||a.breakpoint<e)&&(e=a.breakpoint,i=a.settings))}),i){if(i==="unslick")this.unslick();else if(this.state.activeBreakpoint!==e){this.state.activeBreakpoint=e;const l=this.state.currentSlide,h=T({},this.originalOptions,i);this.options=h,this.refresh(),l<this.state.slideCount&&(this.state.currentSlide=l,this.setPosition()),this.emit("breakpoint",{breakpoint:e})}}else if(this.state.activeBreakpoint!==null){this.state.activeBreakpoint=null;const a=this.state.currentSlide;this.options=T({},this.originalOptions),this.refresh(),a<this.state.slideCount&&(this.state.currentSlide=a,this.setPosition()),this.emit("breakpoint",{breakpoint:null})}}refresh(){this.state.dots&&(f(this.state.dots),this.state.dots=null,p(this.element,"slick-dotted")),this.options.dots&&this.buildDots(),this.options.arrows&&(!this.state.prevArrowElement||!this.state.nextArrowElement)?this.buildArrows():this.options.arrows||(this.state.prevArrowElement&&(f(this.state.prevArrowElement),this.state.prevArrowElement=null),this.state.nextArrowElement&&(f(this.state.nextArrowElement),this.state.nextArrowElement=null)),this.setPosition()}reinit(){const t=b(this.state.slideTrack);if(this.state.slides=t.filter(s=>!M(s,"slick-cloned")),this.state.slideCount=this.state.slides.length,this.state.currentSlide>=this.state.slideCount&&this.state.currentSlide!==0&&(this.state.currentSlide=this.state.currentSlide-this.options.slidesToScroll),this.state.slideCount<=this.options.slidesToShow&&(this.state.currentSlide=0),this.state.slides.forEach((s,e)=>{d(s,"slick-slide"),c(s,"data-slick-index",e)}),this.options.infinite&&this.setupInfinite(),this.options.arrows&&this.state.slideCount>this.options.slidesToShow&&(this.state.prevArrowElement||this.buildArrows()),this.options.dots&&this.state.slideCount>this.options.slidesToShow)if(!this.state.dots)this.buildDots();else{const s=Math.ceil(this.state.slideCount/this.options.slidesToScroll),e=this.state.dots;O(e);for(let i=0;i<s;i++){const o=document.createElement("li"),a=document.createElement("button"),l=document.createElement("span");d(l,"slick-dot-icon"),c(a,"aria-label",`Go to slide ${i+1}`),c(a,"data-slide-index",i),i===0&&d(o,"slick-active"),a.addEventListener("click",h=>this.dotClick(h)),u(a,l),u(o,a),u(e,o)}}this.setPosition(),this.updateSlideVisibility(),this.updateNavigationVisibility(),this.emit("reInit")}unloadClones(){S(".slick-cloned",this.state.slideTrack).forEach(s=>f(s))}unload(){this.boundMethods.handleResize&&window.removeEventListener("resize",this.boundMethods.handleResize),this.boundMethods.handleVisibilityChange&&document.removeEventListener("visibilitychange",this.boundMethods.handleVisibilityChange),this.boundMethods.handleKeydown&&this.element.removeEventListener("keydown",this.boundMethods.handleKeydown),this.boundMethods.handleMouseDown&&this.state.slideList&&this.state.slideList.removeEventListener("mousedown",this.boundMethods.handleMouseDown),this.boundMethods.handleTouchStart&&this.state.slideList&&(this.state.slideList.removeEventListener("touchstart",this.boundMethods.handleTouchStart),this.state.slideList.removeEventListener("touchend",this.boundMethods.handleTouchEnd),this.state.slideList.removeEventListener("touchmove",this.boundMethods.handleTouchMove)),this.boundMethods.handleFocus&&this.element.removeEventListener("focusin",this.boundMethods.handleFocus,!0),this.boundMethods.handleBlur&&this.element.removeEventListener("focusout",this.boundMethods.handleBlur,!0),this.boundMethods.handleSlideClick&&this.state.slideTrack&&this.state.slideTrack.removeEventListener("click",this.boundMethods.handleSlideClick),this.state.autoPlayTimer&&(clearInterval(this.state.autoPlayTimer),this.state.autoPlayTimer=null),this.state.prevArrowElement&&this.state.prevArrowElement.parentNode&&(f(this.state.prevArrowElement),this.state.prevArrowElement=null),this.state.nextArrowElement&&this.state.nextArrowElement.parentNode&&(f(this.state.nextArrowElement),this.state.nextArrowElement=null),this.state.dots&&this.state.dots.parentNode&&(f(this.state.dots),this.state.dots=null),this.state.pauseButton&&this.state.pauseButton.parentNode&&(f(this.state.pauseButton),this.state.pauseButton=null),this.state.slideTrack&&this.state.slideTrack.parentNode&&(b(this.state.slideTrack).forEach(s=>{u(this.state.slideList,s)}),f(this.state.slideTrack),this.state.slideTrack=null)}on(t,s,e=null){return this.dispatcher.on(t,s,e),this}once(t,s,e=null){return this.dispatcher.once(t,s,e),this}off(t,s=null){return this.dispatcher.off(t,s),this}emit(t,s=null){this.dispatcher.emit(t,s);try{const e=new CustomEvent(`slick:${t}`,{detail:s,bubbles:!0,cancelable:!0});this.element.dispatchEvent(e)}catch{try{const i=document.createEvent("CustomEvent");i.initCustomEvent(`slick:${t}`,!0,!0,s),this.element.dispatchEvent(i)}catch{console.warn("CustomEvent not supported")}}return this}},k=st;function y(n,t={}){return Array.isArray(n)?n.map(s=>new k(s,t)):new k(n,t)}return y.auto=function(n,t={}){const s=document.querySelectorAll(n);return Array.from(s).map(e=>new k(e,t))},y.version="2.0.0",typeof window<"u"&&(window.Slick=y,window.SlickSlider=k,window.slickModule={Slick:y,SlickSlider:k,default:y}),q(F)})();
1
+ var slickModule=(()=>{var W=Object.defineProperty,U=Object.getOwnPropertyDescriptor,G=Object.getOwnPropertyNames,J=Object.prototype.hasOwnProperty,Q=(n,t)=>{for(var s in t)W(n,s,{get:t[s],enumerable:!0})},Z=(n,t,s,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of G(t))!J.call(n,i)&&i!==s&&W(n,i,{get:()=>t[i],enumerable:!(e=U(t,i))||e.enumerable});return n},tt=n=>Z(W({},"__esModule",{value:!0}),n),$={};Q($,{SlickSlider:()=>b,default:()=>E});var st=class{constructor(){this.listeners={}}on(n,t,s=null){return this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push({callback:t,context:s}),this}once(n,t,s=null){const e=(...i)=>{t.apply(s,i),this.off(n,e)};return this.on(n,e,s)}off(n,t=null){return n?t?(this.listeners[n]&&(this.listeners[n]=this.listeners[n].filter(s=>s.callback!==t)),this):(delete this.listeners[n],this):(this.listeners={},this)}emit(n,t=null){return this.listeners[n]?(this.listeners[n].forEach(s=>{s.callback.call(s.context,t)}),this):this}clear(){return this.listeners={},this}};function y(n,...t){if(!t.length)return n;const s=t.shift();if(P(n)&&P(s))for(const e in s)P(s[e])?(n[e]||Object.assign(n,{[e]:{}}),y(n[e],s[e])):Object.assign(n,{[e]:s[e]});return y(n,...t)}function P(n){return n&&typeof n=="object"&&!Array.isArray(n)&&n.constructor===Object}function et(n,t=0){let s;return function(...i){const o=()=>{clearTimeout(s),n(...i)};clearTimeout(s),s=setTimeout(o,t)}}var it=0;function ot(n="slick"){return`${n}-${++it}`}function M(n){const t=document.createElement("div");return t.innerHTML=n.trim(),t.firstElementChild}var ht=window.requestAnimationFrame||function(n){return setTimeout(n,1e3/60)},dt=window.cancelAnimationFrame||function(n){clearTimeout(n)};function nt(){return{width:window.innerWidth||document.documentElement.clientWidth,height:window.innerHeight||document.documentElement.clientHeight}}function _(n,t=document){return t.querySelector(n)}function m(n,t=document){return Array.from(t.querySelectorAll(n))}function d(n,t){n&&(Array.isArray(n)?n.forEach(s=>d(s,t)):n.classList.add(...t.split(" ")))}function f(n,t){n&&(Array.isArray(n)?n.forEach(s=>f(s,t)):n.classList.remove(...t.split(" ")))}function L(n,t){return n?n.classList.contains(t):!1}function h(n,t,s){n&&(Array.isArray(n)?n.forEach(e=>h(e,t,s)):typeof t=="object"?Object.entries(t).forEach(([e,i])=>{h(n,e,i)}):s===null?n.removeAttribute(t):n.setAttribute(t,s))}function T(n,t){return n?n.getAttribute(t):null}function S(n,t){n&&(Array.isArray(n)?n.forEach(s=>S(s,t)):n.removeAttribute(t))}function l(n,t,s){n&&(Array.isArray(n)?n.forEach(e=>l(e,t,s)):typeof t=="object"?Object.entries(t).forEach(([e,i])=>{n.style[e]=i}):n.style[t]=s)}function A(n){const t=n.getBoundingClientRect();return{width:n.offsetWidth||t.width,height:n.offsetHeight||t.height,top:n.offsetTop||t.top,left:n.offsetLeft||t.left}}function V(n){const t=window.getComputedStyle(n),s=parseFloat(t.paddingLeft)||0,e=parseFloat(t.paddingRight)||0;return n.clientWidth-s-e}function N(n,t=!1){let s=n.offsetWidth;if(t){const e=window.getComputedStyle(n);s+=parseFloat(e.marginLeft)+parseFloat(e.marginRight)}return s}function x(n,t=!1){let s=n.offsetHeight;if(t){const e=window.getComputedStyle(n);s+=parseFloat(e.marginTop)+parseFloat(e.marginBottom)}return s}function u(n,t){n&&(typeof t=="string"?n.insertAdjacentHTML("beforeend",t):n.appendChild(t))}function I(n,t){n&&(typeof t=="string"?n.insertAdjacentHTML("beforebegin",t):n.parentNode.insertBefore(t,n))}function p(n){n&&(Array.isArray(n)?n.forEach(t=>p(t)):n.parentNode&&n.parentNode.removeChild(n))}function z(n){if(n)for(;n.firstChild;)n.removeChild(n.firstChild)}function k(n,t=null){return n?t?Array.from(n.children).filter(s=>s.matches(t)):Array.from(n.children):[]}function at(){const n=document.createElement("div");return"transform"in n.style||"WebkitTransform"in n.style||"MozTransform"in n.style||"OTransform"in n.style||"msTransform"in n.style}function rt(){const n=document.createElement("div"),t=["transform","WebkitTransform","MozTransform","OTransform","msTransform"];for(const s of t)if(s in n.style)return s;return"transform"}function Y(){const n=document.createElement("div"),t=["transition","WebkitTransition","MozTransition","OTransition","msTransition"];for(const s of t)if(s in n.style)return s;return"transition"}function X(n,t,s="ease"){const e=Y();n.style[e]=`all ${t}ms ${s}`}function C(n){const t=Y();n.style[t]="none"}function D(n,t,s=0,e=0){const i=rt();n.style[i]=`translate3d(${t}px, ${s}px, ${e}px)`}var lt=class K{static INSTANCES=new Map;constructor(t,s={}){this.element=t,this.instanceId=ot("slick"),this.constructor.INSTANCES.set(this.instanceId,this);const e=T(t,"data-slick");let i={};if(e)try{const o=e.replace(/&quot;/g,'"');i=JSON.parse(o)}catch(o){console.warn("Invalid data-slick JSON:",e,o)}this.options=y({},this.constructor.DEFAULTS,i,s),this.originalOptions=y({},this.options),this.state=y({},this.constructor.INITIAL_STATE),this.dispatcher=new st,this.boundMethods={},this.init()}static DEFAULTS={accessibility:!0,adaptiveHeight:!1,appendArrows:null,appendDots:null,arrows:!0,arrowsPlacement:null,asNavFor:null,autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:null,dots:!1,dotsClass:"slick-dots",draggable:!0,edge:!1,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,instructionsText:null,lazyLoad:"ondemand",mobileFirst:!1,nextArrow:'<button class="slick-next" aria-label="Next slide"><span class="slick-next-icon" aria-hidden="true"></span></button>',pauseIcon:'<span class="slick-pause-icon" aria-hidden="true"></span>',pauseOnFocus:!0,pauseOnHover:!0,playIcon:'<span class="slick-play-icon" aria-hidden="true"></span>',prevArrow:'<button class="slick-prev" aria-label="Previous slide"><span class="slick-prev-icon" aria-hidden="true"></span></button>',respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useAutoplayToggleButton:!0,useCSS:!0,useGroupRole:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3,regionLabel:"slider"};static INITIAL_STATE={activeBreakpoint:null,animating:!1,autoPlayTimer:null,currentDirection:0,currentLeft:0,currentSlide:0,direction:1,dotListElement:null,dotSlidesToScroll:1,dots:null,dragging:!1,edgeHit:!1,slidesCache:null,gestureEndTime:0,gestureStartTime:0,instructionsText:null,interrupted:!1,listHeight:0,listWidth:0,loadIndex:0,nextArrowElement:null,pauseButton:null,postSlideDelay:0,prevArrowElement:null,scrolling:!1,slideCount:0,slideHeight:0,slideOffset:0,slideWidth:0,slideTrack:null,slides:[],sliding:!1,slideList:null,swipeLeft:0,swiping:!1,suppressNavSync:!1,swipeDirection:null,targetSlide:0,touchObject:{},touchStartTime:0,transformsEnabled:!1,unslicked:!1,windowHeight:0,windowWidth:0,yeti:null};static KEYS={ENTER:13,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,TAB:9,HOME:36,END:35,ESCAPE:27};init(){this.element.setAttribute("data-slick-slider",this.instanceId),d(this.element,"slick-slider"),this.state.transformsEnabled=at(),this.setProps(),this.state.currentSlide=this.options.initialSlide,this.state.currentDirection=1,this.state.rtl=this.options.rtl,this.state.rows=this.options.rows,this.state.slideCount=0,this.loadSlider(),this.buildOut(),this.setupInfinite(),this.options.accessibility&&(h(this.element,"role","region"),h(this.element,"aria-label",this.options.regionLabel)),this.options.arrows&&this.state.slideCount>this.options.slidesToShow&&this.buildArrows(),this.options.dots&&this.state.slideCount>this.options.slidesToShow&&this.buildDots(),this.options.autoplay&&this.options.useAutoplayToggleButton&&this.state.slideCount>1&&this.buildAutoplayButton(),this.updateNavigationVisibility(),d(this.element,"slick-initialized"),this.options.variableWidth?window.requestAnimationFrame(()=>{this.setPosition()}):this.setPosition(),this.initializeEvents(),this.options.autoplay&&this.autoPlay(),this.options.responsive&&this.options.responsive.length&&this.checkResponsive(!0),this.options.lazyLoad&&(this.options.lazyLoad==="progressive"?this.progressiveLazyLoad():this.lazyLoad(),this.dispatcher.addEventListener("afterChange",()=>{this.options.lazyLoad==="progressive"?this.progressiveLazyLoad():this.lazyLoad()})),this.emit("init",{instance:this})}setProps(){this.state.positionProp=this.options.vertical?"top":"left",this.options.fade&&(this.options.centerMode=!1,this.options.slidesToShow=1,this.options.slidesToScroll=1);const t=document.body.style;t.transform!==void 0?this.state.animType="transform":t.webkitTransform!==void 0?this.state.animType="webkitTransform":t.MozTransform!==void 0?this.state.animType="MozTransform":t.msTransform!==void 0?this.state.animType="msTransform":t.OTransform!==void 0?this.state.animType="OTransform":this.state.animType=!1}setupInfinite(){if(!this.options.infinite||this.options.fade||this.state.slideCount<=this.options.slidesToShow)return;const t=this.options.centerMode?this.options.slidesToShow+1:this.options.slidesToShow;for(let e=this.state.slideCount;e>this.state.slideCount-t;e-=1){const i=e-1,o=this.state.slides[i].cloneNode(!0);d(o,"slick-cloned"),h(o,"aria-hidden","true"),h(o,"tabindex","-1"),h(o,"data-slick-index",String(i-this.state.slideCount)),this.state.slideTrack.insertBefore(o,this.state.slideTrack.firstChild)}const s=Math.max(this.state.slideCount,this.options.slidesToShow+this.options.slidesToScroll);for(let e=0;e<s;e+=1){const i=e%this.state.slideCount,o=this.state.slides[i].cloneNode(!0);d(o,"slick-cloned"),h(o,"aria-hidden","true"),h(o,"tabindex","-1"),h(o,"data-slick-index",String(e+this.state.slideCount)),u(this.state.slideTrack,o)}this.state.slideTrack.offsetWidth}loadSlider(){const t=this.options.slide?m(this.options.slide,this.element):k(this.element);this.state.slides=Array.from(t),this.state.slideCount=this.state.slides.length,this.state.slides.forEach((s,e)=>{d(s,"slick-slide"),h(s,"data-slick-index",e),this.options.useGroupRole&&(h(s,"role","group"),h(s,"aria-label",`slide ${e+1}`))}),this.wrapSlideContent(),this.emit("loaded",{slideCount:this.state.slideCount})}wrapSlideContent(){this.state.slides.forEach(t=>{const s=Array.from(k(t));if(s.length===1&&s[0].tagName==="DIV"){const o=s[0];o.style.display!=="inline-block"&&(l(o,"width","100%"),l(o,"display","inline-block"));return}if(s.length===1&&getComputedStyle(s[0]).display==="inline-block")return;const i=document.createElement("div");l(i,"width","100%"),l(i,"display","inline-block"),s.forEach(o=>{u(i,o)}),u(t,i)})}buildOut(){const t=_(".slick-track",this.element),s=_(".slick-list",this.element);if(!t||!s){const e=document.createElement("div");d(e,"slick-list");const i=document.createElement("div");d(i,"slick-track"),this.state.slides.forEach(o=>{u(i,o)}),u(e,i),u(this.element,e),this.state.slideTrack=i,this.state.slideList=e}else this.state.slideTrack=t,this.state.slideList=s;this.options.accessibility&&(h(this.element,"role","region"),h(this.element,"aria-label",this.options.regionLabel))}buildArrows(){const t=this.options.prevArrow,s=M(t);d(s,"slick-arrow"),this.state.prevArrowElement=s,s.addEventListener("click",r=>this.prevClick(r));const e=this.options.nextArrow,i=M(e);d(i,"slick-arrow"),this.state.nextArrowElement=i,i.addEventListener("click",r=>this.nextClick(r));const o=this.options.appendArrows||this.element,a=this.state.slideList;a&&a.parentNode===o?(I(a,s),u(o,i)):(u(o,s),u(o,i)),this.emit("arrowsBuilt")}buildDots(){const t=document.createElement("ul");d(t,this.options.dotsClass),d(this.element,"slick-dotted");const s=Math.ceil(this.state.slideCount/this.options.slidesToScroll);for(let i=0;i<s;i++){const o=document.createElement("li"),a=document.createElement("button"),r=document.createElement("span");d(r,"slick-dot-icon"),h(a,"aria-label",`Go to slide ${i+1}`),h(a,"data-slide-index",i),i===0&&d(o,"slick-active"),a.addEventListener("click",c=>this.dotClick(c)),u(a,r),u(o,a),u(t,o)}this.state.dots=t,this.state.dotListElement=t;const e=this.options.appendDots||this.element;u(e,t),this.updateDots(),this.emit("dotsBuilt")}updateDots(){if(!this.state.dots)return;const t=Math.floor(this.state.currentSlide/this.options.slidesToScroll);Array.from(this.state.dots.children).forEach((e,i)=>{i===t?d(e,"slick-active"):f(e,"slick-active")})}buildAutoplayButton(){const t=document.createElement("button");d(t,"slick-autoplay-toggle-button"),h(t,"aria-label","Play/Pause slider autoplay"),this.state.pauseButton=t,t.addEventListener("click",()=>this.autoPlayToggleHandler()),this.setAutoplayButtonState(!!this.state.paused),this.state.slideList?this.element.insertBefore(t,this.state.slideList):u(this.element,t)}setAutoplayButtonState(t){if(!this.state.pauseButton)return;h(this.state.pauseButton,"aria-pressed",t?"true":"false"),z(this.state.pauseButton);const s=t?this.options.playIcon:this.options.pauseIcon;typeof s=="string"?u(this.state.pauseButton,M(s)):s&&u(this.state.pauseButton,s)}initializeEvents(){this.boundMethods.handleResize=et(()=>this.checkResponsive(),250),window.addEventListener("resize",this.boundMethods.handleResize),this.boundMethods.handleVisibilityChange=()=>this.handleVisibilityChange(),document.addEventListener("visibilitychange",this.boundMethods.handleVisibilityChange),this.boundMethods.handleKeydown=t=>this.handleKeydown(t),this.element.addEventListener("keydown",this.boundMethods.handleKeydown),this.options.draggable&&this.state.slideList&&(this.boundMethods.handleMouseDown=t=>this.startDrag(t),this.state.slideList.addEventListener("mousedown",this.boundMethods.handleMouseDown)),this.options.swipe&&this.state.slideList&&"ontouchstart"in window&&(this.boundMethods.handleTouchStart=t=>this.startDrag(t),this.boundMethods.handleTouchEnd=t=>this.endDrag(t),this.boundMethods.handleTouchMove=t=>this.trackDrag(t),this.state.slideList.addEventListener("touchstart",this.boundMethods.handleTouchStart,{passive:!0}),this.state.slideList.addEventListener("touchend",this.boundMethods.handleTouchEnd,{passive:!0}),this.state.slideList.addEventListener("touchmove",this.boundMethods.handleTouchMove,{passive:!1})),this.boundMethods.handleFocus=()=>this.handleFocus(),this.boundMethods.handleBlur=()=>this.handleBlur(),this.element.addEventListener("focusin",this.boundMethods.handleFocus,!0),this.element.addEventListener("focusout",this.boundMethods.handleBlur,!0),this.options.focusOnSelect&&this.state.slideTrack&&(this.boundMethods.handleSlideClick=t=>this.handleSlideClick(t),this.state.slideTrack.addEventListener("click",this.boundMethods.handleSlideClick))}normalizeSlideIndex(t){if(this.state.slideCount<=0||!Number.isFinite(t))return 0;const s=this.state.slideCount;let e=t%s;return e<0&&(e+=s),e}getNavTargetInstances(){const t=this.options.asNavFor;if(!t)return[];const s=[];if(typeof t=="string")return Array.from(document.querySelectorAll(t)).forEach(i=>{const o=i.getAttribute("data-slick-slider");if(!o)return;const a=this.constructor.INSTANCES.get(o);a&&a!==this&&s.push(a)}),s;if(t instanceof K)return t===this?[]:[t];if(t instanceof Element){const e=t.getAttribute("data-slick-slider"),i=e?this.constructor.INSTANCES.get(e):null;return i&&i!==this?[i]:[]}return[]}syncAsNavFor(t,s=!1){const e=this.getNavTargetInstances();e.length&&e.forEach(i=>{if(!i||i.state.unslicked)return;const o=i.normalizeSlideIndex(t);i.state.currentSlide!==o&&(i.state.suppressNavSync=!0,i.goTo(o,s),i.state.suppressNavSync=!1)})}handleSlideClick(t){const s=t.target.closest(".slick-slide");if(!s||!this.state.slideTrack||!this.state.slideTrack.contains(s))return;const e=parseInt(T(s,"data-slick-index"),10);if(Number.isNaN(e))return;const i=this.normalizeSlideIndex(e);this.goTo(i)}next(){this.changeSlide({data:{message:"next"}})}prev(){this.changeSlide({data:{message:"prev"}})}goTo(t,s=!1){t<0||t>=this.state.slideCount||this.changeSlide({data:{message:"index",index:t}},s)}play(){this.options.autoplay&&(this.state.paused=!1,this.autoPlay(),this.setAutoplayButtonState(!1),this.emit("play"))}pause(){this.options.autoplay&&(this.autoPlayClear(),this.state.paused=!0,this.setAutoplayButtonState(!0),this.emit("pause"))}getCurrentSlide(){return this.state.currentSlide}getOption(t){return this.options[t]}setOption(t,s){this.options[t]=s,this.emit("setOption",{option:t,value:s})}addSlide(t,s=null,e=!1){if(!t||(typeof s=="boolean"&&(e=s,s=null),s!==null&&(s<0||s>=this.state.slideCount)))return!1;this.unloadClones();let i;if(typeof t=="string"?i=M(t):i=t,typeof s=="number")if(s===0&&this.state.slides.length===0)u(this.state.slideTrack,i);else if(e){const o=this.state.slides[s];o&&o.parentNode?I(o,i):u(this.state.slideTrack,i)}else{const o=this.state.slides[s];o&&o.nextSibling?I(o.nextSibling,i):o&&o.parentNode&&u(this.state.slideTrack,i)}else e===!0?this.state.slideTrack.firstChild?I(this.state.slideTrack.firstChild,i):u(this.state.slideTrack,i):u(this.state.slideTrack,i);return d(i,"slick-slide"),this.state.slides=k(this.state.slideTrack).filter(o=>!L(o,"slick-cloned")),this.state.slideCount=this.state.slides.length,this.reinit(),this.emit("addSlide"),!0}removeSlide(t,s=!1,e=!1){if(this.state.slideCount<1||t<0||t>this.state.slideCount-1)return!1;if(this.unloadClones(),e===!0)for(;this.state.slideTrack.firstChild;){const i=this.state.slideTrack.firstChild;L(i,"slick-cloned")||p(i)}else{const i=this.state.slides[t];i&&p(i)}return this.state.slides=k(this.state.slideTrack).filter(i=>!L(i,"slick-cloned")),this.state.slideCount=this.state.slides.length,this.state.currentSlide>=this.state.slideCount&&this.state.currentSlide!==0&&(this.state.currentSlide=this.state.currentSlide-this.options.slidesToScroll),this.reinit(),this.emit("removeSlide"),!0}slickAdd(t,s=null,e=!1){return this.addSlide(t,s,e)}slickRemove(t,s=!1,e=!1){return this.removeSlide(t,s,e)}filterSlides(t){return this.slickFilter(t)}slickFilter(t){if(t==null||!this.state.slideTrack)return!1;this.state.slidesCache||(this.state.slidesCache=this.state.slides.slice()),this.unloadClones();const s=this.state.slidesCache.filter((e,i)=>this.matchesSlideFilter(e,t,i));return z(this.state.slideTrack),s.forEach(e=>u(this.state.slideTrack,e)),this.state.currentSlide=0,this.reinit(),this.emit("filter"),!0}unfilterSlides(){return this.slickUnfilter()}slickUnfilter(){return!this.state.slideTrack||!this.state.slidesCache?!1:(this.unloadClones(),z(this.state.slideTrack),this.state.slidesCache.forEach(t=>u(this.state.slideTrack,t)),this.state.slidesCache=null,this.state.currentSlide=0,this.reinit(),this.emit("unfilter"),!0)}matchesSlideFilter(t,s,e){if(typeof s=="function")return!!s.call(t,e,t);if(typeof s!="string")return!1;const i=/:even\b/.test(s),o=/:odd\b/.test(s),a=s.replace(/:even\b|:odd\b/g,"").trim();if(!(i?e%2===0:o?e%2===1:!0))return!1;if(!a)return!0;try{return t.matches(a)}catch{return!1}}destroy(){removeEventListener(window,"resize",this.boundMethods.handleResize),removeEventListener(document,"visibilitychange",this.boundMethods.handleVisibilityChange),removeEventListener(this.element,"keydown",this.boundMethods.handleKeydown),this.dispatcher.clear(),this.state.pauseButton&&p(this.state.pauseButton),this.state.prevArrowElement&&p(this.state.prevArrowElement),this.state.nextArrowElement&&p(this.state.nextArrowElement),this.state.dots&&p(this.state.dots),this.state.unslicked=!0,this.constructor.INSTANCES.delete(this.instanceId),this.emit("destroy")}changeSlide(t,s=!1){const e=t?.data?.message,i=this.normalizeSlideIndex(this.state.currentSlide);let o=i;if(e==="next"?o=i+this.options.slidesToScroll:e==="prev"?o=i-this.options.slidesToScroll:e==="index"&&Number.isInteger(t?.data?.index)&&(o=t.data.index),this.options.fade){if(this.options.infinite?o=this.normalizeSlideIndex(o):o=Math.max(0,Math.min(o,this.state.slideCount-1)),o===i||this.state.animating&&this.options.waitForAnimate)return;this.emit("beforeChange",{previousSlide:i,nextSlide:o});const c=this.options.useCSS&&!s&&this.options.speed>0;this.state.currentSlide=o,!this.state.suppressNavSync&&this.options.asNavFor&&this.syncAsNavFor(o,s),c?(this.state.animating=!0,this.fadeSlideTransition(i,o,()=>{this.state.animating=!1,this.setPosition(),this.emit("afterChange",{currentSlide:this.state.currentSlide})})):(this.state.animating=!1,this.setPosition(),this.emit("afterChange",{currentSlide:this.state.currentSlide}));return}if(this.options.infinite||(o=Math.max(0,Math.min(o,this.state.slideCount-1))),o===i||this.state.animating&&this.options.waitForAnimate)return;this.emit("beforeChange",{previousSlide:i,nextSlide:o});const a=this.options.useCSS&&!s&&this.options.speed>0;this.state.animating=a,a?(X(this.state.slideTrack,this.options.speed,this.options.cssEase),this.animateHeight()):C(this.state.slideTrack),this.state.currentSlide=o;const r=this.normalizeSlideIndex(o);!this.state.suppressNavSync&&this.options.asNavFor&&this.syncAsNavFor(r,s),this.setPosition(),a?window.setTimeout(()=>{if(this.options.infinite){let c=o;o>=this.state.slideCount?c=o%this.state.slideCount:o<0&&(c=this.state.slideCount+o%this.state.slideCount),c!==o?(C(this.state.slideTrack),this.state.currentSlide=c,this.setPosition()):C(this.state.slideTrack)}else C(this.state.slideTrack);this.state.animating=!1},this.options.speed):this.state.animating=!1,this.emit("afterChange",{currentSlide:this.state.currentSlide})}quickReposition(){if(!this.state.slideList||!this.state.slideTrack)return;if(!this.state.slideWidth){const s=this.state.listWidth||V(this.state.slideList)||400;this.state.slideWidth=Math.ceil(s/this.options.slidesToShow)}let t=0;if(this.options.variableWidth){const s=m(".slick-slide",this.state.slideTrack);let e=this.state.currentSlide;const i=this.options.infinite&&this.state.slideCount>this.options.slidesToShow?this.options.centerMode?this.options.slidesToShow+1:this.options.slidesToShow:0;e=this.state.currentSlide+i,(e<0||e>=s.length)&&(e=Math.max(0,Math.min(e,s.length-1)));const o=s[e];if(o&&(t=-(o.offsetLeft||0),this.options.centerMode&&this.state.listWidth)){const r=N(o);t+=(this.state.listWidth-r)/2}}else{const e=m(".slick-slide",this.state.slideTrack).length,i=Math.ceil(this.state.slideWidth*e);l(this.state.slideTrack,"width",`${i}px`);let o=0;this.options.infinite&&this.state.slideCount>this.options.slidesToShow&&(o=this.state.slideWidth*this.options.slidesToShow*-1),this.state.slideCount<=this.options.slidesToShow&&(o=0),this.options.centerMode&&this.state.slideCount<=this.options.slidesToShow?o=this.state.slideWidth*Math.floor(this.options.slidesToShow)/2-this.state.slideWidth*this.state.slideCount/2:this.options.centerMode&&this.options.infinite?o+=this.state.slideWidth*Math.floor(this.options.slidesToShow/2)-this.state.slideWidth:this.options.centerMode&&(o=0,o+=this.state.slideWidth*Math.floor(this.options.slidesToShow/2)),t=this.state.currentSlide*this.state.slideWidth*-1+o}this.options.useTransform&&this.state.transformsEnabled?D(this.state.slideTrack,t,0,0):l(this.state.slideTrack,"left",`${t}px`),this.updateSlideVisibility(),this.updateArrows(),this.updateDots()}fadeSlideTransition(t,s,e){const i=this.state.slides[this.normalizeSlideIndex(t)],o=this.state.slides[this.normalizeSlideIndex(s)];if(!o){e&&e();return}const a=`opacity ${this.options.speed}ms ${this.options.cssEase}`;i&&(l(i,"transition",a),l(i,"opacity","0"),l(i,"z-index",String(this.options.zIndex-2))),l(o,"transition",a),l(o,"opacity","1"),l(o,"z-index",String(this.options.zIndex-1));const r=x(o);r>0&&this.state.slideTrack&&l(this.state.slideTrack,"height",`${r}px`),window.setTimeout(()=>{i&&l(i,"transition",""),l(o,"transition",""),e&&e()},this.options.speed)}setFade(){if(!this.state.slideTrack)return;const t=m(".slick-slide",this.state.slideTrack);if(!t.length)return;let s=0;t.forEach(i=>{const o=x(i);o>s&&(s=o)}),s>0&&l(this.state.slideTrack,"height",`${s}px`),t.forEach((i,o)=>{l(i,"position","absolute"),l(i,"left","0"),l(i,"top","0"),l(i,"width","100%"),l(i,"opacity","0"),l(i,"z-index",String(this.options.zIndex-2)),l(i,"transition","")});const e=Math.max(0,Math.min(this.state.currentSlide,t.length-1));t[e]&&(l(t[e],"opacity","1"),l(t[e],"z-index",String(this.options.zIndex-1)))}setPosition(){if(!this.state.slideList||!this.state.slideTrack)return;this.options.centerMode?this.options.vertical?l(this.state.slideList,"padding",`${this.options.centerPadding} 0px`):l(this.state.slideList,"padding",`0px ${this.options.centerPadding}`):l(this.state.slideList,"padding","0px"),this.state.slideList.offsetWidth;let t=V(this.state.slideList)||A(this.state.slideList).width;if(!t||t<=0){const o=A(this.state.slideList).width;if(o&&o>0)t=o;else{const a=this.element.offsetWidth||window.innerWidth;t=a>0?a:300}}if(this.state.listWidth=t,this.options.fade){this.state.slideWidth=t,l(this.state.slideTrack,"width",`${t}px`),l(this.state.slideTrack,"position","relative"),l(this.state.slideTrack,"left","0"),l(this.state.slideTrack,"top","0"),l(this.state.slideTrack,"transform","none"),this.setFade(),this.updateSlideVisibility(),this.updateDots(),this.updateArrows(),this.updateNavigationVisibility(),this.setHeight();return}let s=0,e=0,i=0;if(this.options.variableWidth){const o=m(".slick-slide",this.state.slideTrack);s=5e3*o.length,l(this.state.slideTrack,"width",`${s}px`),o.forEach(v=>{v.style.display==="none"&&l(v,"display","block")}),this.state.slideTrack.offsetHeight,this.state.slideTrack.getBoundingClientRect(),o.forEach(v=>void v.offsetLeft);let r=this.state.currentSlide;const c=this.options.infinite&&this.state.slideCount>this.options.slidesToShow?this.options.centerMode?this.options.slidesToShow+1:this.options.slidesToShow:0;r=this.state.currentSlide+c,(r<0||r>=o.length)&&(r=Math.max(0,Math.min(r,o.length-1)));const w=o[r];if(w){const v=w.offsetLeft||0;if(this.options.rtl&&!this.options.vertical){const g=N(w);e=-(s-v-g)}else e=-v;if(this.options.centerMode){const g=N(w);e+=(t-g)/2}}this.state.slideWidth=t}else{this.state.slideWidth=Math.ceil(t/this.options.slidesToShow);const o=m(".slick-slide",this.state.slideTrack),a=o&&o.length>0?o:this.state.slides,r=a.length;s=Math.ceil(this.state.slideWidth*r),l(this.state.slideTrack,"width",`${s}px`);let c=0;const w=this.state.slides[0];if(w){const g=window.getComputedStyle(w),F=parseFloat(g.marginLeft)||0,O=parseFloat(g.marginRight)||0,B=parseFloat(g.paddingLeft)||0,H=parseFloat(g.paddingRight)||0,j=parseFloat(g.borderLeft)||0,R=parseFloat(g.borderRight)||0;c=F+O+B+H+j+R}const v=Math.max(0,this.state.slideWidth-c);a.forEach(g=>{l(g,"width",`${v}px`)}),i=0,this.options.infinite?this.state.slideCount>this.options.slidesToShow&&(i=this.state.slideWidth*this.options.slidesToShow*-1):this.state.currentSlide+this.options.slidesToShow>this.state.slideCount&&(i=(this.state.currentSlide+this.options.slidesToShow-this.state.slideCount)*this.state.slideWidth),this.state.slideCount<=this.options.slidesToShow&&(i=0),this.options.centerMode&&this.state.slideCount<=this.options.slidesToShow?i=this.state.slideWidth*Math.floor(this.options.slidesToShow)/2-this.state.slideWidth*this.state.slideCount/2:this.options.centerMode&&this.options.infinite?i+=this.state.slideWidth*Math.floor(this.options.slidesToShow/2)-this.state.slideWidth:this.options.centerMode&&(i=0,i+=this.state.slideWidth*Math.floor(this.options.slidesToShow/2)),e=this.state.currentSlide*this.state.slideWidth*-1+i}l(this.state.slideTrack,"width",`${s}px`),this.options.rtl&&!this.options.vertical&&!this.options.fade&&(e=-e),this.options.fade?this.setFade():this.options.useTransform&&this.state.transformsEnabled?D(this.state.slideTrack,e,0,0):l(this.state.slideTrack,"left",`${e}px`),this.updateSlideVisibility(),this.updateDots(),this.updateArrows(),this.updateNavigationVisibility(),this.setHeight()}getSlideMargins(t){const s=window.getComputedStyle(t),e=parseFloat(s.marginLeft)||0,i=parseFloat(s.marginRight)||0;return e+i}updateSlideVisibility(){if(!this.state.slideTrack)return;const t=m(".slick-slide",this.state.slideTrack);if(this.options.fade){t.forEach(c=>{f(c,"slick-active"),f(c,"slick-current"),f(c,"slick-center")}),t[this.state.currentSlide]&&(d(t[this.state.currentSlide],"slick-active"),d(t[this.state.currentSlide],"slick-current")),(this.options.lazyLoad==="ondemand"||this.options.lazyLoad==="anticipated")&&this.lazyLoad();return}t.forEach(c=>{f(c,"slick-active"),f(c,"slick-current"),f(c,"slick-center"),h(c,"aria-hidden","true")});const e=m(".slick-cloned",this.state.slideTrack).length>0&&this.options.infinite&&this.state.slideCount>this.options.slidesToShow?this.options.centerMode?this.options.slidesToShow+1:this.options.slidesToShow:0,i=this.options.centerMode?Math.floor(this.options.slidesToShow/2):0,o=e+this.state.currentSlide-i,a=o+this.options.slidesToShow,r=e+this.state.currentSlide;t.forEach((c,w)=>{w>=o&&w<a&&(d(c,"slick-active"),S(c,"aria-hidden")),w===r&&(d(c,"slick-current"),this.options.centerMode&&d(c,"slick-center"))}),(this.options.lazyLoad==="ondemand"||this.options.lazyLoad==="anticipated")&&this.lazyLoad()}updateArrows(){if(!this.options.arrows||!this.state.prevArrowElement||!this.state.nextArrowElement)return;const t=Math.max(0,this.state.slideCount-this.options.slidesToShow),s=!this.options.infinite&&this.state.currentSlide===0,e=!this.options.infinite&&this.state.currentSlide>=t;s?(d(this.state.prevArrowElement,"slick-disabled"),h(this.state.prevArrowElement,"disabled","disabled")):(f(this.state.prevArrowElement,"slick-disabled"),S(this.state.prevArrowElement,"disabled")),e?(d(this.state.nextArrowElement,"slick-disabled"),h(this.state.nextArrowElement,"disabled","disabled")):(f(this.state.nextArrowElement,"slick-disabled"),S(this.state.nextArrowElement,"disabled"))}updateNavigationVisibility(){const t=this.state.slideCount>this.options.slidesToShow;this.state.prevArrowElement&&(t?(f(this.state.prevArrowElement,"slick-hidden"),S(this.state.prevArrowElement,"aria-hidden")):(d(this.state.prevArrowElement,"slick-hidden"),h(this.state.prevArrowElement,"aria-hidden","true"))),this.state.nextArrowElement&&(t?(f(this.state.nextArrowElement,"slick-hidden"),S(this.state.nextArrowElement,"aria-hidden")):(d(this.state.nextArrowElement,"slick-hidden"),h(this.state.nextArrowElement,"aria-hidden","true"))),this.state.dots&&(t?(f(this.state.dots,"slick-hidden"),S(this.state.dots,"aria-hidden")):(d(this.state.dots,"slick-hidden"),h(this.state.dots,"aria-hidden","true")))}setHeight(){if(this.options.slidesToShow===1&&this.options.adaptiveHeight===!0&&!this.options.vertical&&this.state.slideList){let t=this.state.currentSlide;this.options.infinite&&t>=this.state.slideCount?t=t%this.state.slideCount:this.options.infinite&&t<0&&(t=this.state.slideCount+t%this.state.slideCount);const s=this.state.slides[t];if(s){const e=x(s);l(this.state.slideList,"height",`${e}px`)}}}animateHeight(){if(this.options.slidesToShow===1&&this.options.adaptiveHeight===!0&&!this.options.vertical&&this.state.slideList){let t=this.state.currentSlide;this.options.infinite&&t>=this.state.slideCount?t=t%this.state.slideCount:this.options.infinite&&t<0&&(t=this.state.slideCount+t%this.state.slideCount);const s=this.state.slides[t];if(s){const e=x(s);this.state.animating?(X(this.state.slideList,this.options.speed,this.options.cssEase),l(this.state.slideList,"height",`${e}px`),window.setTimeout(()=>{C(this.state.slideList)},this.options.speed)):l(this.state.slideList,"height",`${e}px`)}}}prevClick(){this.prev()}nextClick(){this.next()}dotClick(t){const s=parseInt(T(t.currentTarget,"data-slide-index"));this.goTo(s)}startDrag(t){const s=t.type==="touchstart"?t.touches[0]:t;this.state.touchObject={startX:s.pageX,startY:s.pageY,curX:s.pageX,curY:s.pageY},this.state.dragging=!0,this.state.touchStartTime=new Date().getTime(),t.type==="mousedown"&&(this.boundMethods.handleMouseMove=e=>this.trackDrag(e),this.boundMethods.handleMouseUp=e=>this.endDrag(e),document.addEventListener("mousemove",this.boundMethods.handleMouseMove),document.addEventListener("mouseup",this.boundMethods.handleMouseUp))}trackDrag(t){if(!this.state.dragging)return;const s=t.type.indexOf("touch")!==-1?t.touches[0]:t;if(this.state.touchObject.curX=s.pageX,this.state.touchObject.curY=s.pageY,Math.round(Math.sqrt(Math.pow(this.state.touchObject.curX-this.state.touchObject.startX,2)+Math.pow(this.state.touchObject.curY-this.state.touchObject.startY,2)))>this.options.touchThreshold){this.state.swiping=!0;const i=Math.atan2(this.state.touchObject.curY-this.state.touchObject.startY,this.state.touchObject.curX-this.state.touchObject.startX)*180/Math.PI,o=Math.abs(i)<45||Math.abs(i)>135,a=Math.abs(i)>=45&&Math.abs(i)<=135;if(this.options.vertical&&a){t.type==="touchmove"&&this.options.touchMove&&t.preventDefault();const r=this.state.touchObject.curY-this.state.touchObject.startY;this.swipeHandler(r)}else if(!this.options.vertical&&o){t.type==="touchmove"&&this.options.touchMove&&t.preventDefault();const r=this.state.touchObject.curX-this.state.touchObject.startX;this.swipeHandler(r)}}}endDrag(t){if(this.state.dragging){if(this.state.dragging=!1,t.type==="mouseup"&&(document.removeEventListener("mousemove",this.boundMethods.handleMouseMove),document.removeEventListener("mouseup",this.boundMethods.handleMouseUp)),this.state.swiping){this.state.swiping=!1;const s=new Date().getTime()-this.state.touchStartTime,e=this.options.vertical?this.state.touchObject.curY-this.state.touchObject.startY:this.state.touchObject.curX-this.state.touchObject.startX,o=(this.options.variableWidth?this.state.listWidth:this.state.slideWidth)/(this.options.touchThreshold||5);Math.abs(e)>o?e>0?this.prev():this.next():this.setPosition()}this.state.touchObject={}}}swipeHandler(t){if(this.options.variableWidth)return;const s=this.state.currentSlide*-this.state.slideWidth,e=s+t;let i=t;if(!this.options.infinite){const r=-(this.state.slideCount-this.options.slidesToShow)*this.state.slideWidth;e>0?i=t*this.options.edgeFriction:e<r&&(i=t*this.options.edgeFriction)}const o=s+i;D(this.state.slideTrack,o,0,0)}handleKeydown(t){}handleFocus(){this.state.focussed=!0,this.options.pauseOnFocus&&this.options.autoplay&&this.pause()}handleBlur(){this.state.focussed=!1,this.options.autoplay&&!this.state.paused&&this.play()}handleVisibilityChange(){document.hidden?(this.state.interrupted=!0,this.options.autoplay&&this.autoPlayClear()):(this.state.interrupted=!1,this.options.autoplay&&!this.state.paused&&this.autoPlay())}autoPlay(){this.state.paused=!1,this.state.autoPlayTimer=setInterval(()=>{!this.state.paused&&!this.state.interrupted&&!this.state.focussed&&this.next()},this.options.autoplaySpeed)}autoPlayClear(){this.state.autoPlayTimer&&(clearInterval(this.state.autoPlayTimer),this.state.autoPlayTimer=null)}autoPlayToggleHandler(){this.state.paused?this.play():this.pause()}checkResponsive(t=!1){if(!this.options.responsive||!Array.isArray(this.options.responsive))return;const s=nt().width;let e=null,i=null,o=s;if(this.options.respondTo==="window"?o=s:this.options.respondTo==="slider"?o=A(this.element).width:this.options.respondTo==="min"&&(o=Math.min(s,A(this.element).width)),this.originalOptions.responsive.forEach(a=>{a.breakpoint&&(this.originalOptions.mobileFirst?o>=a.breakpoint&&(e=a.breakpoint,i=a.settings):o<a.breakpoint&&(e===null||a.breakpoint<e)&&(e=a.breakpoint,i=a.settings))}),i){if(i==="unslick")this.unslick();else if(this.state.activeBreakpoint!==e){this.state.activeBreakpoint=e;const r=this.state.currentSlide,c=y({},this.originalOptions,i);this.options=c,this.refresh(),r<this.state.slideCount&&(this.state.currentSlide=r,this.setPosition()),this.emit("breakpoint",{breakpoint:e})}}else if(this.state.activeBreakpoint!==null){this.state.activeBreakpoint=null;const a=this.state.currentSlide;this.options=y({},this.originalOptions),this.refresh(),a<this.state.slideCount&&(this.state.currentSlide=a,this.setPosition()),this.emit("breakpoint",{breakpoint:null})}}refresh(){this.state.dots&&(p(this.state.dots),this.state.dots=null,f(this.element,"slick-dotted")),this.options.dots&&this.buildDots(),this.options.arrows&&(!this.state.prevArrowElement||!this.state.nextArrowElement)?this.buildArrows():this.options.arrows||(this.state.prevArrowElement&&(p(this.state.prevArrowElement),this.state.prevArrowElement=null),this.state.nextArrowElement&&(p(this.state.nextArrowElement),this.state.nextArrowElement=null)),this.setPosition()}reinit(){const t=k(this.state.slideTrack);if(this.state.slides=t.filter(s=>!L(s,"slick-cloned")),this.state.slideCount=this.state.slides.length,this.state.currentSlide>=this.state.slideCount&&this.state.currentSlide!==0&&(this.state.currentSlide=this.state.currentSlide-this.options.slidesToScroll),this.state.slideCount<=this.options.slidesToShow&&(this.state.currentSlide=0),this.state.slides.forEach((s,e)=>{d(s,"slick-slide"),h(s,"data-slick-index",e)}),this.options.infinite&&this.setupInfinite(),this.options.arrows&&this.state.slideCount>this.options.slidesToShow&&(this.state.prevArrowElement||this.buildArrows()),this.options.dots&&this.state.slideCount>this.options.slidesToShow)if(!this.state.dots)this.buildDots();else{const s=Math.ceil(this.state.slideCount/this.options.slidesToScroll),e=this.state.dots;z(e);for(let i=0;i<s;i++){const o=document.createElement("li"),a=document.createElement("button"),r=document.createElement("span");d(r,"slick-dot-icon"),h(a,"aria-label",`Go to slide ${i+1}`),h(a,"data-slide-index",i),i===0&&d(o,"slick-active"),a.addEventListener("click",c=>this.dotClick(c)),u(a,r),u(o,a),u(e,o)}}this.setPosition(),this.updateSlideVisibility(),this.updateNavigationVisibility(),this.emit("reInit")}unloadClones(){m(".slick-cloned",this.state.slideTrack).forEach(s=>p(s))}unload(){this.boundMethods.handleResize&&window.removeEventListener("resize",this.boundMethods.handleResize),this.boundMethods.handleVisibilityChange&&document.removeEventListener("visibilitychange",this.boundMethods.handleVisibilityChange),this.boundMethods.handleKeydown&&this.element.removeEventListener("keydown",this.boundMethods.handleKeydown),this.boundMethods.handleMouseDown&&this.state.slideList&&this.state.slideList.removeEventListener("mousedown",this.boundMethods.handleMouseDown),this.boundMethods.handleTouchStart&&this.state.slideList&&(this.state.slideList.removeEventListener("touchstart",this.boundMethods.handleTouchStart),this.state.slideList.removeEventListener("touchend",this.boundMethods.handleTouchEnd),this.state.slideList.removeEventListener("touchmove",this.boundMethods.handleTouchMove)),this.boundMethods.handleFocus&&this.element.removeEventListener("focusin",this.boundMethods.handleFocus,!0),this.boundMethods.handleBlur&&this.element.removeEventListener("focusout",this.boundMethods.handleBlur,!0),this.boundMethods.handleSlideClick&&this.state.slideTrack&&this.state.slideTrack.removeEventListener("click",this.boundMethods.handleSlideClick),this.state.autoPlayTimer&&(clearInterval(this.state.autoPlayTimer),this.state.autoPlayTimer=null),this.state.prevArrowElement&&this.state.prevArrowElement.parentNode&&(p(this.state.prevArrowElement),this.state.prevArrowElement=null),this.state.nextArrowElement&&this.state.nextArrowElement.parentNode&&(p(this.state.nextArrowElement),this.state.nextArrowElement=null),this.state.dots&&this.state.dots.parentNode&&(p(this.state.dots),this.state.dots=null),this.state.pauseButton&&this.state.pauseButton.parentNode&&(p(this.state.pauseButton),this.state.pauseButton=null),this.state.slideTrack&&this.state.slideTrack.parentNode&&(k(this.state.slideTrack).forEach(s=>{u(this.state.slideList,s)}),p(this.state.slideTrack),this.state.slideTrack=null)}lazyLoad(){if(!this.options.lazyLoad)return;let t,s,e=[];this.options.centerMode===!0?this.options.infinite===!0?(t=this.state.currentSlide+(Math.floor(this.options.slidesToShow/2)+1),s=t+this.options.slidesToShow+2):(t=Math.max(0,this.state.currentSlide-(Math.floor(this.options.slidesToShow/2)+1)),s=2+Math.floor(this.options.slidesToShow/2)+this.state.currentSlide):(t=this.options.infinite?this.options.slidesToShow+this.state.currentSlide:this.state.currentSlide,s=Math.ceil(t+this.options.slidesToShow),this.options.fade===!0&&(t>0&&t--,s<this.state.slideCount&&s++));const i=m(".slick-slide",this.state.slideTrack);for(let o=t;o<s;o++)i[o]&&e.push(i[o]);if(this.options.lazyLoad==="anticipated"){let o=t-1,a=s;for(let r=0;r<this.options.slidesToScroll;r++)o<0&&(o=this.state.slideCount-1),i[o]&&e.unshift(i[o]),i[a]&&e.push(i[a]),o--,a++}e.forEach(o=>{this.loadImages(o)}),this.state.slideCount<=this.options.slidesToShow?m(".slick-cloned",this.state.slideTrack).forEach(a=>{this.loadImages(a)}):this.state.currentSlide>=this.state.slideCount-this.options.slidesToShow?m(".slick-cloned",this.state.slideTrack).slice(0,this.options.slidesToShow).forEach(a=>{this.loadImages(a)}):this.state.currentSlide===0&&m(".slick-cloned",this.state.slideTrack).slice(this.options.slidesToShow*-1).forEach(a=>{this.loadImages(a)})}loadImages(t){m("img[data-lazy]",t).forEach(e=>{const i=T(e,"data-lazy"),o=T(e,"data-srcset"),a=T(e,"data-sizes")||T(this.state.slideTrack,"data-sizes");if(!i)return;const r=new Image;r.onload=()=>{const c=window.getComputedStyle(e).opacity||"1",w=100,v=Date.now(),g=setInterval(()=>{const F=Date.now()-v,O=Math.min(F/w,1);if(l(e,"opacity",String(1-O)),O>=1){clearInterval(g),o&&h(e,"srcset",o),a&&h(e,"sizes",a),h(e,"src",i);const B=Date.now(),H=200,j=setInterval(()=>{const R=Date.now()-B,q=Math.min(R/H,1);l(e,"opacity",String(q)),q>=1&&(clearInterval(j),S(e,"data-lazy"),S(e,"data-srcset"),S(e,"data-sizes"),f(e,"slick-loading"),this.emit("lazyLoaded",{image:e,imageSource:i}))})}})},r.onerror=()=>{S(e,"data-lazy"),f(e,"slick-loading"),d(e,"slick-lazyload-error"),this.emit("lazyLoadError",{image:e,imageSource:i})},d(e,"slick-loading"),r.src=i})}progressiveLazyLoad(t=1){if(!this.options.lazyLoad||this.options.lazyLoad!=="progressive")return;const s=m("img[data-lazy]",this.state.slideTrack);if(s.length===0)return;const e=s[0],i=T(e,"data-lazy"),o=T(e,"data-srcset"),a=T(e,"data-sizes")||T(this.state.slideTrack,"data-sizes"),r=new Image;r.onload=()=>{o&&h(e,"srcset",o),a&&h(e,"sizes",a),h(e,"src",i),S(e,"data-lazy"),S(e,"data-srcset"),S(e,"data-sizes"),f(e,"slick-loading"),this.options.adaptiveHeight===!0&&this.setPosition(),this.emit("lazyLoaded",{image:e,imageSource:i}),this.progressiveLazyLoad(1)},r.onerror=()=>{t<3?setTimeout(()=>{this.progressiveLazyLoad(t+1)},500):(S(e,"data-lazy"),f(e,"slick-loading"),d(e,"slick-lazyload-error"),this.emit("lazyLoadError",{image:e,imageSource:i}),this.progressiveLazyLoad(1))},r.src=i}on(t,s,e=null){return this.dispatcher.on(t,s,e),this}once(t,s,e=null){return this.dispatcher.once(t,s,e),this}off(t,s=null){return this.dispatcher.off(t,s),this}emit(t,s=null){this.dispatcher.emit(t,s);try{const e=new CustomEvent(`slick:${t}`,{detail:s,bubbles:!0,cancelable:!0});this.element.dispatchEvent(e)}catch{try{const i=document.createEvent("CustomEvent");i.initCustomEvent(`slick:${t}`,!0,!0,s),this.element.dispatchEvent(i)}catch{console.warn("CustomEvent not supported")}}return this}},b=lt;function E(n,t={}){return Array.isArray(n)?n.map(s=>new b(s,t)):new b(n,t)}return E.auto=function(n,t={}){const s=document.querySelectorAll(n);return Array.from(s).map(e=>new b(e,t))},E.version="2.0.0",typeof window<"u"&&(window.Slick=E,window.SlickSlider=b,window.slickModule={Slick:E,SlickSlider:b,default:E}),tt($)})();