; (self.AMP=self.AMP||[]).push({m:1,v:"2601162341000",n:"amp-carousel",ev:"0.1",l:!0,f:function(t,i){(()=>{function i(t,i,s){return i in t?Object.defineProperty(t,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[i]=s,t}function s(t,i){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);i&&(n=n.filter((function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),s.push.apply(s,n)}return s}function n(t){for(var n=1;n{t.classList.add(g,"amp-scrollable-carousel-slide"),n.appendChild(t)})),{cells:s,container:n}}(t):function(t){var i;if(v(t))return function(t){const i=t.querySelector(`.${p(w)}`),s=Array.from(t.querySelectorAll(`.${p(x)}`)),n=Array.from(t.querySelectorAll(`.${p(g)}`));return T(i,s,n),{slides:n,slidesContainer:i,slideWrappers:s}}(t);const s=t.ownerDocument,n=d(t);t.classList.add("i-amphtml-slidescroll");const e=s.createElement("div");e.setAttribute("tabindex","-1"),e.classList.add(w,E),e.setAttribute("aria-live","polite"),t.appendChild(e);const o=[];return n.forEach((t=>{t.classList.add(g);const i=s.createElement("div");i.classList.add(x),i.appendChild(t),e.appendChild(i),o.push(i)})),null===(i=o[0])||void 0===i||i.classList.add(y),{slidesContainer:e,slides:n,slideWrappers:o}}(t);return n(n({},function(t,i){if(v(t))return function(t){const i=t.querySelector(`.${p(b)}`),s=t.querySelector(`.${p(A)}`);return T(i,s),{prevButton:i,nextButton:s}}(t);(function(t,i){const s=i.documentElement;return["⚡4email","amp4email"].some((t=>s.hasAttribute(t)))}(0,t.ownerDocument)||t.hasAttribute("controls"))&&t.classList.add(P);const s=t.hasAttribute("loop"),n=i>1?2:s?0:1;return{prevButton:I(t,{className:b,title:V(t,{index:String(s?i:0),total:String(i)}),enabled:t.hasAttribute("loop")}),nextButton:I(t,{className:A,title:k(t,{index:String(n),total:String(i)}),enabled:i>1})}}(t,i)),s)}function k(t,i){const s=t.getAttribute("data-next-button-aria-label")||"Next item in carousel",{index:n,total:e}=i;return O(t,{prefix:s,index:n,total:e})}function V(t,i){const s=t.getAttribute("data-prev-button-aria-label")||"Previous item in carousel",{index:n,total:e}=i;return O(t,{prefix:s,index:n,total:e})}function O(t,{index:i,prefix:s,total:n}){return C(t)?s:`${s} ${(t.getAttribute("data-button-count-format")||"(%s of %s)").replace("%s",i).replace("%s",n)}`}function C(t){return"slides"!==t.getAttribute("type")}function j(){return _||(_=Promise.resolve(void 0))}var B=class{constructor(){this.promise=new Promise(((t,i)=>{this.resolve=t,this.reject=i}))}},N="ArrowLeft",z="ArrowRight",L="fixed",$="fixed-height";function F(t,i,s={}){const{needsRootBounds:n,rootMargin:e,threshold:o}=s,r=function(t){return t.parent&&t.parent!=t}(i)&&(n||e)?i.document:void 0;return new i.IntersectionObserver(t,{threshold:o,root:r,rootMargin:e})}var W,H=new WeakMap,U=new WeakMap;function X(t,i,s){const n=c(t);if(s){const e=F((t=>{i(t[t.length-1])}),n,s);return e.observe(t),()=>{e.unobserve(t)}}let e=H.get(n);e||H.set(n,e=F(Y,n));let o=U.get(t);return o||(o=[],U.set(t,o)),o.push(i),e.observe(t),()=>{!function(t,i){const s=U.get(t);if(!s)return;if(!function(t,i){const s=t.indexOf(i);return-1!=s&&(t.splice(s,1),!0)}(s,i))return;if(s.length)return;const n=c(t),e=H.get(n);null==e||e.unobserve(t),U.delete(t)}(t,i)}}function Y(t){const i=new Set;for(let s=t.length-1;s>=0;s--){const n=t[s],{target:e}=n;if(i.has(e))continue;i.add(e);const o=U.get(e);if(o)for(let t=0;t{throw J(i),i}))}(t)}}var q=["Webkit","webkit","Moz","moz","ms","O","o"],K={"getPropertyPriority":()=>"","getPropertyValue":()=>""};function Q(t,i,s){if(it(i))return i;W||(W=h());let n=W[i];if(!n||s){if(n=i,void 0===t[i]){const s=function(t){return t.charAt(0).toUpperCase()+t.slice(1)}(i),e=function(t,i){for(let s=0;s"-"+t.toLowerCase()));return q.some((t=>i.startsWith(t+"-")))?`-${i}`:i}(o),r)}function it(t){return t.startsWith("--")}function st(t,i){return s=>t+(i-t)*s}var nt=/(?:^[#?]?|&)([^=&]+)(?:=([^&]*))?/g;function et(t,i=""){try{return decodeURIComponent(t)}catch(t){return i}}self.__AMP_LOG=self.__AMP_LOG||{user:null,dev:null,userForEmbed:null};var ot=self.__AMP_LOG;function rt(t,i){throw new Error("failed to call initLogConstructor")}function lt(t){return ot.user||(ot.user=ht()),function(t,i){return i&&i.ownerDocument.defaultView!=t}(ot.user.win,t)?ot.userForEmbed||(ot.userForEmbed=ht()):ot.user}function ht(t){return rt()}function at(){return ot.dev||(ot.dev=rt())}function ut(t,i,s,n,e,o,r,l,h,a,u){return t}function ct(t,i){return vt(t=function(t){return t.__AMP_TOP||(t.__AMP_TOP=t)}(t),i)}function pt(t,i){return vt(mt(ft(t)),i)}function dt(t,i){return _t(mt(t),i)}function ft(t){return t.nodeType?(i=c(t),ct(i,"ampdoc")).getAmpDoc(t):t;var i}function mt(t){const i=ft(t);return i.isSingleDoc()?i.win:i}function vt(t,i){ut(At(t,i));const s=bt(t)[i];return s.obj||(ut(s.ctor),ut(s.context),s.obj=new s.ctor(s.context),ut(s.obj),s.context=null,s.resolve&&s.resolve(s.obj)),s.obj}function _t(t,i){const s=bt(t)[i];return s?s.promise?s.promise:(vt(t,i),s.promise=Promise.resolve(s.obj)):null}function bt(t){let i=t.__AMP_SERVICES;return i||(i=t.__AMP_SERVICES={}),i}function At(t,i){const s=t.__AMP_SERVICES&&t.__AMP_SERVICES[i];return!(!s||!s.ctor)}var Pt=t=>function(t,i){const s=mt(ft(t));return At(s,i)?vt(s,i):null}(t,"action"),gt=t=>function(t,i,s,n){const e=dt(t,i);if(e)return e;const o=ft(t);return o.whenExtensionsKnown().then((()=>{const t=o.getExtensionVersion(s);return t?ct(o.win,"extensions").waitForExtension(s,t):null})).then((s=>s?function(t,i){return function(t,i){const s=_t(t,i);if(s)return s;const n=bt(t);return n[i]=function(){const t=new B,{promise:i,reject:s,resolve:n}=t;return i.catch((()=>{})),{obj:null,promise:i,resolve:n,reject:s,context:null,ctor:null}}(),n[i].promise}(mt(t),i)}(t,i):null))}(t,"amp-analytics-instrumentation","amp-analytics"),xt=t=>pt(t,"owners"),wt=t=>ct(t,"platform"),Et=t=>vt(t,"timer"),yt=t=>ct(t,"vsync");function Mt(t,i,s,n){return e=>Tt.solveYValueFromXValue(e,0,0,t,i,s,n,1,1)}var Tt=class t{static solveYValueFromXValue(i,s,n,e,o,r,l,h,a){return t.Wr(t.Kr(i,s,e,r,h),n,o,l,a)}static Kr(i,s,n,e,o){const r=1e-6;let l=(i-s)/(o-s);if(l<=0)return 0;if(l>=1)return 1;let h=0,a=1,u=0;for(let c=0;c<8;c++){u=t.Yr(l,s,n,e,o);const c=(t.Yr(l+r,s,n,e,o)-u)/r;if(Math.abs(u-i)r&&c<8;c++)ut,EASE:t=>Tt.solveYValueFromXValue(t,0,0,.25,.1,.25,1,1,1),EASE_IN:t=>Tt.solveYValueFromXValue(t,0,0,.42,0,1,1,1,1),EASE_OUT:t=>Tt.solveYValueFromXValue(t,0,0,0,0,.58,1,1,1),EASE_IN_OUT:t=>Tt.solveYValueFromXValue(t,0,0,.42,0,.58,1,1,1)},Rt={"linear":It.LINEAR,"ease":It.EASE,"ease-in":It.EASE_IN,"ease-out":It.EASE_OUT,"ease-in-out":It.EASE_IN_OUT};function St(t){if(!t)return null;if(o(t)){if(-1!=t.indexOf("cubic-bezier")){const i=t.match(/cubic-bezier\((.+)\)/);if(i){const t=i[1].split(",").map(parseFloat);if(4==t.length){for(let i=0;i<4;i++)if(isNaN(t[i]))return null;return Mt(t[0],t[1],t[2],t[3])}}return null}return Rt[t]}return t}var kt,Vt="Animation",Ot=function(){},Ct=class t{static animate(i,s,n,e){return new t(i).setCurve(e).add(0,s,1).start(n)}constructor(t,i){this.Qr=t,this.Xr=i||yt(self),this.Zr=null,this.th=[]}setCurve(t){return t&&(this.Zr=St(t)),this}add(t,i,s,n){return this.th.push({delay:t,func:i,duration:s,curve:St(n)}),this}start(t){return new jt(this.Xr,this.Qr,this.th,this.Zr,t)}},jt=class{constructor(t,i,s,n,e){this.Xr=t,this.Qr=i,this.th=[];for(let t=0;t1&&this.th.sort(((t,i)=>t.delay+t.duration-(i.delay+i.duration)));try{if(i>0)for(let t=0;t=0;t--)this.th[t].func(0,!1)}catch(i){at().error(Vt,"completion failed: "+i,i),t=!1}}t?this.Ue():this.eh()}}rh(t){if(!this.pn)return;const i=Date.now(),s=Math.min((i-this.Or)/this.ih,1);for(let t=0;t=i.delay&&(i.started=!0)}for(let t=0;t0){if(s=Math.min((i-t.delay)/t.duration,1),n=s,t.curve&&1!=n)try{n=t.curve(s)}catch(t){return at().error(Vt,"step curve failed: "+t,t),void this.hh(!1,0)}}else s=1,n=1;1==s&&(t.completed=!0);try{t.func(n,t.completed)}catch(t){return at().error(Vt,"step mutate failed: "+t,t),void this.hh(!1,0)}}};function Bt(t,i,s,n){return function(t,i,s,n){let e=t,o=s,r=t=>{try{return o(t)}catch(t){var i,s;throw null===(i=(s=self).__AMP_REPORT_ERROR)||void 0===i||i.call(s,t),t}};const l=function(){if(void 0!==kt)return kt;kt=!1;try{const t={get capture(){return kt=!0,!1}};self.addEventListener("test-options",null,t),self.removeEventListener("test-options",null,t)}catch(t){}return kt}(),h=!(null==n||!n.capture);return e.addEventListener(i,r,l?n:h),()=>{null==e||e.removeEventListener(i,r,l?n:h),o=null,e=null,r=null}}(t,i,s,n)}var Nt=class{constructor({element:t,go:i,nextButton:s,prevButton:n}){this.yf=t,this.tit=i,this.i=c(t),this.Gf=n,this.Jf=s,this.r5=!1,this.iit()}iit(){var t;this.setupButtonInteraction(this.Gf,(()=>this.handlePrev())),this.setupButtonInteraction(this.Jf,(()=>this.handleNext())),this.yf.hasAttribute("controls")?this.r5=!0:(t=this.i,ct(t,"input")).onMouseDetected((t=>{t&&(this.r5=!0,m(this.yf,"i-amphtml-carousel-hide-buttons",!this.r5),this.yf.classList.add(P))}),!0)}setupButtonInteraction(t,i){t.addEventListener("click",i),t.addEventListener("keydown",(t=>{t.defaultPrevented||"Enter"!=t.key&&" "!=t.key||(t.preventDefault(),i())}))}setControlsState({next:t,prev:i}){R(this.Gf,i),R(this.Jf,t)}hintControls(){this.r5||yt(this.i).mutate((()=>{const t="i-amphtml-carousel-button-start-hint";this.yf.classList.add(t),Et(this.i).delay((()=>{var i;(i=this.yf,pt(i,"mutator")).measureMutateElement(this.yf,null,(()=>{this.yf.classList.remove(t),m(this.yf,"i-amphtml-carousel-hide-buttons",!this.r5)}))}),4e3)}))}updateButtonTitles(t,i){this.Gf.title=t,this.Jf.title=i}handlePrev(){!this.Gf.classList.contains("amp-disabled")&&this.tit(-1,!0,!1)}handleNext(){!this.Jf.classList.contains("amp-disabled")&&this.tit(1,!0,!1)}},zt=class extends t.BaseElement{constructor(t){super(t),this.fB=0,this.sit=0,this.nit=null,this.v_=null,this.mB=null,this.Bj=null,this.yd=null}isLayoutSupported(t){return function(t){return t==L||t==$}(t)}isRelayoutNeeded(){return!0}eit(){this.oit(),this.v_.addEventListener("scroll",this.Rf.bind(this)),this.v_.addEventListener("keydown",this.dX.bind(this)),this.nit.forEach((t=>{xt(this.element).setOwner(t,this.element)})),this.registerAction("goToSlide",(t=>{const{args:i}=t;if(i){const t=parseInt(i.index,10);this.goToSlide(t)}}),1),Pt(this.element).addToAllowlist("amp-carousel","goToSlide",["email"])}buildCallback(){const{cells:t,container:i,nextButton:s,prevButton:n}=S(this.element);this.v_=i,this.nit=t,this.yd=new Nt({element:this.element,prevButton:n,nextButton:s,go:this.go.bind(this)}),this.eit()}layoutCallback(){return this.Bj=X(this.element,(({isIntersecting:t})=>this.viewportCallback(t))),this.rit(this.fB),this.lit(this.fB,1),this.yd.setControlsState({prev:this.hit(),next:this.ait()}),j()}unlayoutCallback(){var t;return null===(t=this.Bj)||void 0===t||t.call(this),this.Bj=null,!0}viewportCallback(t){this.uit(this.fB,this.fB),t&&this.yd.hintControls()}go(t,i){const s=this.cit(this.fB,t),n=this.fB;if(s!=n)if(i){const t=st(n,s),i=200,e="ease-in-out";Ct.animate(this.element,(i=>{this.v_.scrollLeft=t(i)}),i,e).thenAlways((()=>{this.pit(s)}))}else this.pit(s),this.v_.scrollLeft=s}goToSlide(t){const i=this.nit.length;if(!isFinite(t)||t<0||t>=i)return this.user().error("amp-scrollable-carousel","Invalid [slide] value: %s",t),j();const s=this.fB;let n=s;this.measureMutateElement((()=>{n=this.dit(t)}),(()=>{if(n==s)return;const t=st(s,n);Ct.animate(this.element,(i=>{this.v_.scrollLeft=t(i)}),200,"ease-in-out").thenAlways((()=>{this.pit(n)}))}))}dit(t){const i=this.element.offsetWidth;return this.nit[t].offsetLeft-(i-this.nit[t].offsetWidth)/2}Rf(){const t=this.v_.scrollLeft;this.fB=t,null===this.mB&&this.GB(t)}dX(t){const{key:i}=t;i!=N&&i!=z||t.stopPropagation()}GB(t){this.mB=Et(this.win).delay((()=>{Math.abs(t-this.fB)<30?(this.mB=null,this.pit(this.fB)):this.GB(this.fB)}),100)}pit(t){this.uit(t,this.sit),this.rit(t),this.lit(t,Math.sign(t-this.sit)),this.sit=t,this.fB=t,this.yd.setControlsState({prev:this.hit(),next:this.ait()})}cit(t,i){const s=this.element.offsetWidth,n=this.v_.scrollWidth,e=t+i*s;return e<0?0:n>=s&&e>n-s?n-s:e}fit(t,i){const s=this.element.offsetWidth;for(let n=0;n=t&&e.offsetLeft<=t+s&&i(e)}}rit(t){this.fit(t,(t=>{xt(this.element).scheduleLayout(this.element,t)}))}lit(t,i){const s=this.cit(t,i);s!=t&&this.fit(s,(t=>{xt(this.element).schedulePreload(this.element,t)}))}uit(t,i){const s=[];this.fit(t,(t=>{s.push(t)})),i!=t&&this.fit(i,(t=>{s.includes(t)||xt(this.element).schedulePause(this.element,t)}))}hit(){return 0!=this.fB}ait(){const t=this.element.offsetWidth,i=this.v_.scrollWidth,s=Math.max(i-t,0);return this.fB!=s}interactionNext(){this.yd.handleNext()}interactionPrev(){this.yd.handlePrev()}goCallback(t,i){this.go(t,i)}oit(){Bt(this.element,"touchmove",(t=>t.stopPropagation()),{passive:!0})}},Lt=/vertical/,$t=new WeakMap,Ft=new WeakMap,Wt=new WeakMap;function Ht(t){let i=$t.get(t);return i||(i=new t.ResizeObserver(Ut),$t.set(t,i)),i}function Ut(t){const i=new Set;for(let s=t.length-1;s>=0;s--){const n=t[s],{target:e}=n;if(i.has(e))continue;i.add(e);const o=Ft.get(e);if(o){Wt.set(e,n);for(let t=0;t0?t[0]:{inlineSize:0,blockSize:0};else{const{target:t}=s,i=c(t),e=Lt.test(function(t,i){return t.getComputedStyle(i)||K}(i,t).writingMode),{offsetHeight:o,offsetWidth:r}=t;let l,h;e?(h=r,l=o):(l=r,h=o),n={inlineSize:l,blockSize:h}}Z(i,n)}}var Yt="__AMP__EXPERIMENT_TOGGLES",Dt="AMP-CAROUSEL",Gt=class extends t.BaseElement{constructor(t){super(t),this.Xr=null,this.mit=!1,this.Q0=[],this.vit=0,this._it=null,this.bit=[],this.Ait=!1,this.Pit=null,this.git=!1,this.xit=null,this.wit=!1,this.Eit=!1,this.uq=!1,this.yit=5e3,this.Mit=null,this.Tit=0,this.Iit=!1,this.Rit=!1,this.Sit=0,this.kit=null,this.Vit=0,this.Oit=0,this.Cit=0,this.jit=[];const i=wt(this.win);this.gB=i.isIos(),this.av=i.isSafari(),this.$c=null,this.Bit=!!wt(this.win).getIosVersionString().startsWith("10.3")||!this.gB&&!function(t,i){const s=function(t){var i,s,o,r,l;if(t[Yt])return t[Yt];t[Yt]=h();const a=t[Yt];u(a);const c=n(n({},null!==(i=t.AMP_CONFIG)&&void 0!==i?i:{}),null!==(s=t.AMP_EXP)&&void 0!==s?s:(p=(null===(o=t.__AMP_EXP)||void 0===o?void 0:o.textContent)||"{}",JSON.parse(p)));var p;for(const t in c){const i=c[t];"number"==typeof i&&i>=0&&i<=1&&(a[t]=Math.random(){const{args:i}=t;i&&void 0!==i.toggleOn?this.s5(i.toggleOn):this.s5(!this.uq)}),1)}Lit(){if(this.Xr=this.getVsync(),this.$c=Pt(this.element),this.$c.addToAllowlist(Dt,"goToSlide",["email"]),this.mit=null!=function(t,i,s){const n=Q(t.style,"scrollSnapType",void 0);if(n)return it(n)?t.style.getPropertyValue(n):t.style[n]}(this.element),this.Bit&&(this.mit=!1),this._it.classList.toggle(E,this.Bit),this.mit){const t=this.win.document.createElement("div");t.classList.add("i-amphtml-carousel-start-marker"),this._it.appendChild(t);const i=this.win.document.createElement("div");i.classList.add("i-amphtml-carousel-end-marker"),this._it.appendChild(i)}this.Q0.forEach(((t,i)=>{const s=t.getAttribute("data-slide-id")||i.toString();this.jit.push(s),xt(this.element).setOwner(t,this.element)})),this.oit(),this._it.addEventListener("scroll",this.Rf.bind(this)),this._it.addEventListener("keydown",this.dX.bind(this)),Bt(this._it,"touchmove",this.$it.bind(this),{passive:!0}),Bt(this._it,"touchend",this.Fit.bind(this),{passive:!0}),this.registerAction("goToSlide",(t=>{const{args:i}=t;i&&this.goToSlide(i.index,3)}),1)}attachedCallback(){(function(t,i,s){const n=t.ownerDocument.defaultView;if(!n)return;let e=Ft.get(t);if(e||(e=[],Ft.set(t,e),Ht(n).observe(t)),!e.some((t=>t.callback===s&&0===t.type))){e.push({type:0,callback:s});const i=Wt.get(t);i&&setTimeout((()=>Xt(0,s,i)))}})(this.element,0,this.nI)}detachedCallback(){(function(t,i,s){const n=Ft.get(t);if(n&&(function(t,i){const n=[];let e=0;for(let i=0;i1}mutatedAttributesCallback(t){const i=t.slide;void 0!==i&&this.goToSlide(i,3)}$it(){this.Wit(),this.git=!0}viewportCallback(t){var i;t?(this.b$(),null===(i=this.yd)||void 0===i||i.hintControls()):this.Wit()}interactionNext(){this.yd.handleNext()}interactionPrev(){this.yd.handlePrev()}goCallback(t,i,s){this.go(t,i,s)}go(t,i,s){const n=s?1:3;this.moveSlide(t,i,n),s?this.b$():this.Wit()}Hit(t){this.Pit&&Et(this.win).cancel(this.Pit),this.Pit=Et(this.win).delay((()=>{if(this.Pit=null,this.Ait||this.git)return;const t=this._it.scrollLeft;this.mit?this.Uit(t,1):this.Xit(t,void 0,3)}),t)}Fit(){const t=this.Bit?45:100;this.git=!1,this.Hit(t)}nI(t){this.Oit=t.width,this.Nit=!0}buildCallback(){const{nextButton:t,prevButton:i,slideWrappers:s,slides:n,slidesContainer:e}=S(this.element);this.Q0=n,this._it=e,this.bit=s,this.vit=this.Q0.length,this.wit=this.element.hasAttribute("loop"),this.uq=this.element.hasAttribute("autoplay"),this.Iit=this.wit&&this.isLoopingEligible(),this.Rit=this.uq&&this.isLoopingEligible(),this.yd=new Nt({element:this.element,go:this.go.bind(this),nextButton:t,prevButton:i}),this.yd.updateButtonTitles(this.getPrevButtonTitle(),this.getNextButtonTitle()),this.eit(),this.Lit()}layoutCallback(){if(this.Bj=X(this.element,(({isIntersecting:t})=>this.viewportCallback(t))),this.element.closest("[i-amphtml-scale-animation]"))return j();if(this.Nit||(this.Oit=this._it.clientWidth),null===this.kit)this.Yit(this.Vit);else{const t=lt().assertNumber(this.kit,"E#19457 this.slideIndex_"),i=this.Dit(t);xt(this.element).scheduleLayout(this.element,this.Q0[t]),this._it.scrollLeft=i,this.Cit=i}return j()}unlayoutCallback(){var t;return null===(t=this.Bj)||void 0===t||t.call(this),this.Bj=null,this.kit=null,!0}hit(){return this.Iit||this.kit>0}ait(){return this.Iit||this.kit=this.vit&&(n=0),i){const i=1!=t||e?this.Oit:0;this.Xit(i,t,s)}else this.Git(n,s)}}}Rf(t){const i=this._it.scrollLeft;this.gB||this.av||this.Jit(i);const s=this.mit?200:this.gB?45:100;this.Hit(s),this.Cit=i}dX(t){const{key:i}=t;i!=N&&i!=z||t.stopPropagation()}Jit(t){const i=this._it.scrollWidth;-1==this.Sit&&t>=this.Cit||1==this.Sit&&t<=this.Cit?this.Xit(t).then((()=>{this.Sit=0})):t<0?this.Sit=-1:t+this.Oit>i?this.Sit=1:this.Sit=0}Xit(t,i,s){this.Ait=!0;let n=this.Zit(t)-this.kit;const e=this.hit();let o=e?this.Oit:0;return 0!=n||1!=i&&-1!=i||(n=i),1==n||-1!=n&&n==-1*(this.vit-1)?o=e?2*this.Oit:this.Oit:-1!=n&&n!=this.vit-1||(o=0),this.qit(t,o).then((()=>{this.Uit(o,s)}))}Zit(t){if(!t&&!this.Oit)return 0;const i=Math.round(t/this.Oit);let s=0;const n=this.hit(),e=this.ait();n&&e?s=i-1:e?s=i:n&&(s=i-1);let o=this.kit+s;return o=this.Iit?o<0?this.vit-1:o>=this.vit?0:o:o<0?0:o>=this.vit?this.vit-1:o,o}getPrevButtonTitle(){const t=this.u5(this.kit),i=(null==t?0:t)+1;return V(this.element,{index:String(i),total:String(this.vit)})}getNextButtonTitle(){const t=this.d5(this.kit),i=(null==t?this.vit-1:t)+1;return k(this.element,{index:String(i),total:String(this.vit)})}Uit(t,i){if(!a(t)||null===this.kit)return;this.Ait=!0;const s=this.Zit(t);this.Xr.mutate((()=>{this.Git(s,i),this.Xr.mutate((()=>{this.Ait=!1}))}))}goToSlide(t,i){const s=parseInt(t,10);!isFinite(s)||s<0||s>=this.vit?this.user().error(Dt,"Invalid [slide] value: ",t):null!==this.kit?this.Git(s,i):this.Vit=s}u5(t){return t-1>=0?t-1:this.Iit?this.vit-1:null}d5(t){return t+1=n||this.kit==t)return!1;const e=this.u5(t),o=this.d5(t),r=[];return null!=e&&r.push(e),r.push(t),null!=o&&o!==e&&r.push(o),void 0===this.Q0[t]?(at().error(Dt,"Attempting to access a non-existant slide %s / %s",t,n),!1):(r.forEach(((i,s)=>{this.Iit&&tt(this.bit[i],"order",s+1),this.bit[i].classList.add(y);const n=xt(this.element);i==t?(n.scheduleLayout(this.element,this.Q0[i]),n.scheduleResume(this.element,this.Q0[i]),this.Q0[i].setAttribute("aria-hidden","false")):(n.schedulePreload(this.element,this.Q0[i]),this.Q0[i].setAttribute("aria-hidden","true"))})),this._it.scrollLeft=this.Dit(t),this.b5(t),this.kit=t,this.Mit&&this.kit===this.vit-1&&(this.Tit++,this.Tit==this.Mit&&this.Kit()),this.Qit(r),null===(i=this.yd)||void 0===i||i.setControlsState({prev:this.hit(),next:this.ait()}),null===(s=this.yd)||void 0===s||s.updateButtonTitles(this.getPrevButtonTitle(),this.getNextButtonTitle()),!0)}Git(t,i=1){if(this.Yit(t)){const s="slideChange",n=function(t,i,s,n){const e={detail:s};return Object.assign(e,void 0),new t.CustomEvent(i,e)}(this.win,`slidescroll.${s}`,{"index":t});this.$c.trigger(this.element,s,n,i),function(t,i,s,n){const e=s||{};u(t.ownerDocument);const{bubbles:o,cancelable:r}=f,l=new MessageEvent(i,{data:e,bubbles:o,cancelable:r});t.dispatchEvent(l)}(this.element,s,{index:t,actionTrust:i})}}Dit(t){let i=this.Oit;return(!this.Iit&&0==t||this.Q0.length<=1)&&(i=0),i}Qit(t){const{vit:i}=this;for(let s=0;s{this._it.scrollLeft=s(t)}),80,n).thenAlways()}oit(){Bt(this.element,"touchmove",(t=>t.stopPropagation()),{passive:!0})}b5(t){let i=t-this.kit;if(0==i)return;1!==Math.abs(i)&&(i=i<0?1:-1,null===this.kit&&(i=1));const s={"fromSlide":null===this.kit?"null":this.jit[this.kit],"toSlide":this.jit[t]};this.y9("amp-carousel-change",s),1==i?this.y9("amp-carousel-next",s):this.y9("amp-carousel-prev",s)}y9(t,i){!function(t,i,s={},n=!0){gt(t).then((e=>{e&&e.triggerEventForTarget(t,i,s,n)}))}(this.element,t,i)}zit(){const t=Number(this.element.getAttribute("delay"));t>0&&(this.yit=Math.max(1e3,t)),this.wit||(this.element.setAttribute("loop",""),this.Eit=!0,this.wit=!0,this.Iit=!0)}b$(){this.Rit&&0!=this.Mit&&(this.Wit(),this.xit=Et(this.win).delay(this.go.bind(this,1,!0,!0),this.yit))}s5(t){if(t==this.Rit)return;const i=this.Rit;this.uq=t,this.Rit=this.uq&&this.isLoopingEligible(),!i&&this.Rit&&this.zit(),this.Rit?this.b$():this.Wit()}Wit(){null!==this.xit&&(Et(this.win).cancel(this.xit),this.xit=null)}Kit(){this.Wit(),this.Eit&&(this.element.removeAttribute("loop"),this.Eit=!1,this.wit=!1,this.Iit=!1),this.uq=!1,this.Rit=this.uq&&this.isLoopingEligible()}},Jt=class extends t.BaseElement{upgradeCallback(){return C(this.element)?new zt(this.element):new Gt(this.element)}};t.registerElement("amp-carousel",Jt,'.amp-carousel-slide>.i-amphtml-replaced-content{-o-object-fit:contain;object-fit:contain}.amp-carousel-button{position:absolute;box-sizing:border-box;top:50%;height:34px;width:34px;border-radius:2px;opacity:0;pointer-events:all;background-color:rgba(0,0,0,.5);background-position:50% 50%;background-repeat:no-repeat;transform:translateY(-50%);visibility:hidden;z-index:10}.amp-carousel-button:focus{border:1px solid #000;outline:1px solid #fff}.amp-mode-mouse .amp-carousel-button,amp-carousel.i-amphtml-carousel-has-controls .amp-carousel-button,amp-carousel[controls] .amp-carousel-button{opacity:1;visibility:visible}.amp-carousel-button-prev{left:16px;background-image:url(\'data:image/svg+xml;charset=utf-8,\');background-size:18px 18px}.amp-carousel-button-next{right:16px;background-image:url(\'data:image/svg+xml;charset=utf-8,\');background-size:18px 18px}.i-amphtml-carousel-button-start-hint .amp-carousel-button:not(.amp-disabled){animation:i-amphtml-carousel-hint 1s ease-in 3s 1 normal both}.amp-mode-mouse .i-amphtml-carousel-button-start-hint .amp-carousel-button:not(.amp-disabled){animation:none}@keyframes i-amphtml-carousel-hint{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}amp-carousel .amp-carousel-button.amp-disabled{animation:none;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}amp-carousel[i-amphtml-carousel-hide-buttons] .amp-carousel-button-next,amp-carousel[i-amphtml-carousel-hide-buttons] .amp-carousel-button-prev{opacity:0;pointer-events:none;visibility:visible!important}.i-amphtml-slides-container{display:-ms-flexbox!important;display:flex!important;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:100%!important;left:0;overflow-x:auto!important;overflow-y:hidden!important;position:absolute!important;top:0;width:100%!important;scroll-snap-type:x mandatory!important;scrollbar-width:none;padding-bottom:20px!important;box-sizing:content-box!important;-webkit-overflow-scrolling:touch!important}.i-amphtml-slides-container::-webkit-scrollbar{display:none!important}.i-amphtml-slides-container.i-amphtml-no-scroll{overflow-x:hidden!important}.i-amphtml-slide-item{-ms-flex-align:center!important;align-items:center!important;display:none!important;-ms-flex:0 0 100%!important;flex:0 0 100%!important;height:100%!important;-ms-flex-pack:center!important;justify-content:center!important;position:relative!important;scroll-snap-align:start!important;width:100%!important}.i-amphtml-slide-item>*{height:100%;width:100%;overflow:hidden!important}.i-amphtml-slide-item-show{display:-ms-flexbox!important;display:flex!important}.i-amphtml-carousel-end-marker,.i-amphtml-carousel-start-marker{background-color:transparent!important;display:block!important;-ms-flex:0 0 1px!important;flex:0 0 1px!important;height:100%!important;position:relative!important;scroll-snap-align:start!important;width:1px!important}.i-amphtml-carousel-start-marker{-ms-flex-order:-1!important;order:-1!important;margin-left:-1px!important}.i-amphtml-carousel-end-marker{-ms-flex-order:100000000!important;order:100000000!important;margin-right:-1px!important}.i-amphtml-slidescroll-no-snap.i-amphtml-slides-container{scroll-snap-type:none!important}.i-amphtml-slidescroll-no-snap .i-amphtml-slide-item{scroll-snap-align:none!important}.i-amphtml-slidescroll-no-snap.i-amphtml-slides-container.i-amphtml-no-scroll{-webkit-overflow-scrolling:auto!important}.amp-scrollable-carousel-slide{display:inline-block!important;margin-left:8px}.amp-scrollable-carousel-slide:first-child{margin-left:0px}.i-amphtml-scrollable-carousel-container{white-space:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important}\n/*# sourceURL=/extensions/amp-carousel/0.1/amp-carousel.css*/')})(); /*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */}}); //# sourceMappingURL=amp-carousel-0.1.mjs.map