; (self.AMP=self.AMP||[]).push({m:1,v:"2406131415000",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.rr(t.hr(i,s,e,r,h),n,o,l,a)}static hr(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.ur(l,s,n,e,o);const c=(t.ur(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.cr=t,this.ar=i||yt(self),this.dr=null,this.pr=[]}setCurve(t){return t&&(this.dr=St(t)),this}add(t,i,s,n){return this.pr.push({delay:t,func:i,duration:s,curve:St(n)}),this}start(t){return new jt(this.ar,this.cr,this.pr,this.dr,t)}},jt=class{constructor(t,i,s,n,e){this.ar=t,this.cr=i,this.pr=[];for(let t=0;t1&&this.pr.sort(((t,i)=>t.delay+t.duration-(i.delay+i.duration)));try{if(i>0)for(let t=0;t=0;t--)this.pr[t].func(0,!1)}catch(i){at().error(Vt,"completion failed: "+i,i),t=!1}}t?this.te():this.Ar()}}Pr(t){if(!this.be)return;const i=Date.now(),s=Math.min((i-this.zn)/this.mr,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.vr(!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.vr(!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.lst=i,this.i=c(t),this.Wf=n,this.Kf=s,this.l0=!1,this.ast()}ast(){var t;this.setupButtonInteraction(this.Wf,(()=>this.handlePrev())),this.setupButtonInteraction(this.Kf,(()=>this.handleNext())),this.yf.hasAttribute("controls")?this.l0=!0:(t=this.i,ct(t,"input")).onMouseDetected((t=>{t&&(this.l0=!0,m(this.yf,"i-amphtml-carousel-hide-buttons",!this.l0),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.Wf,i),R(this.Kf,t)}hintControls(){this.l0||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.l0)}))}),4e3)}))}updateButtonTitles(t,i){this.Wf.title=t,this.Kf.title=i}handlePrev(){!this.Wf.classList.contains("amp-disabled")&&this.lst(-1,!0,!1)}handleNext(){!this.Kf.classList.contains("amp-disabled")&&this.lst(1,!0,!1)}},zt=class extends t.BaseElement{constructor(t){super(t),this.rD=0,this.cst=0,this.pst=null,this.d_=null,this.aD=null,this.$j=null,this.od=null}isLayoutSupported(t){return function(t){return t==L||t==$}(t)}isRelayoutNeeded(){return!0}dst(){this.fst(),this.d_.addEventListener("scroll",this.Mf.bind(this)),this.d_.addEventListener("keydown",this.X$.bind(this)),this.pst.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.d_=i,this.pst=t,this.od=new Nt({element:this.element,prevButton:n,nextButton:s,go:this.go.bind(this)}),this.dst()}layoutCallback(){return this.$j=X(this.element,(({isIntersecting:t})=>this.viewportCallback(t))),this.mst(this.rD),this.vst(this.rD,1),this.od.setControlsState({prev:this._st(),next:this.bst()}),j()}unlayoutCallback(){var t;return null===(t=this.$j)||void 0===t||t.call(this),this.$j=null,!0}viewportCallback(t){this.Ast(this.rD,this.rD),t&&this.od.hintControls()}go(t,i){const s=this.Pst(this.rD,t),n=this.rD;if(s!=n)if(i){const t=st(n,s),i=200,e="ease-in-out";Ct.animate(this.element,(i=>{this.d_.scrollLeft=t(i)}),i,e).thenAlways((()=>{this.gst(s)}))}else this.gst(s),this.d_.scrollLeft=s}goToSlide(t){const i=this.pst.length;if(!isFinite(t)||t<0||t>=i)return this.user().error("amp-scrollable-carousel","Invalid [slide] value: %s",t),j();const s=this.rD;let n=s;this.measureMutateElement((()=>{n=this.xst(t)}),(()=>{if(n==s)return;const t=st(s,n);Ct.animate(this.element,(i=>{this.d_.scrollLeft=t(i)}),200,"ease-in-out").thenAlways((()=>{this.gst(n)}))}))}xst(t){const i=this.element.offsetWidth;return this.pst[t].offsetLeft-(i-this.pst[t].offsetWidth)/2}Mf(){const t=this.d_.scrollLeft;this.rD=t,null===this.aD&&this.$D(t)}X$(t){const{key:i}=t;i!=N&&i!=z||t.stopPropagation()}$D(t){this.aD=Et(this.win).delay((()=>{Math.abs(t-this.rD)<30?(this.aD=null,this.gst(this.rD)):this.$D(this.rD)}),100)}gst(t){this.Ast(t,this.cst),this.mst(t),this.vst(t,Math.sign(t-this.cst)),this.cst=t,this.rD=t,this.od.setControlsState({prev:this._st(),next:this.bst()})}Pst(t,i){const s=this.element.offsetWidth,n=this.d_.scrollWidth,e=t+i*s;return e<0?0:n>=s&&e>n-s?n-s:e}wst(t,i){const s=this.element.offsetWidth;for(let n=0;n=t&&e.offsetLeft<=t+s&&i(e)}}mst(t){this.wst(t,(t=>{xt(this.element).scheduleLayout(this.element,t)}))}vst(t,i){const s=this.Pst(t,i);s!=t&&this.wst(s,(t=>{xt(this.element).schedulePreload(this.element,t)}))}Ast(t,i){const s=[];this.wst(t,(t=>{s.push(t)})),i!=t&&this.wst(i,(t=>{s.includes(t)||xt(this.element).schedulePause(this.element,t)}))}_st(){return 0!=this.rD}bst(){const t=this.element.offsetWidth,i=this.d_.scrollWidth,s=Math.max(i-t,0);return this.rD!=s}interactionNext(){this.od.handleNext()}interactionPrev(){this.od.handlePrev()}goCallback(t,i){this.go(t,i)}fst(){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.ar=null,this.Est=!1,this.rQ=[],this.yst=0,this.Mst=null,this.Tst=[],this.Ist=!1,this.Rst=null,this.Sst=!1,this.kst=null,this.Vst=!1,this.Ost=!1,this.cq=!1,this.Cst=5e3,this.jst=null,this.Bst=0,this.Nst=!1,this.zst=!1,this.Lst=0,this.$st=null,this.Fst=0,this.Wst=0,this.Hst=0,this.Ust=[];const i=wt(this.win);this.mD=i.isIos(),this.av=i.isSafari(),this.tc=null,this.Xst=!!wt(this.win).getIosVersionString().startsWith("10.3")||!this.mD&&!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.h0(i.toggleOn):this.h0(!this.cq)}),1)}Gst(){if(this.ar=this.getVsync(),this.tc=Pt(this.element),this.tc.addToAllowlist(Dt,"goToSlide",["email"]),this.Est=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.Xst&&(this.Est=!1),this.Mst.classList.toggle(E,this.Xst),this.Est){const t=this.win.document.createElement("div");t.classList.add("i-amphtml-carousel-start-marker"),this.Mst.appendChild(t);const i=this.win.document.createElement("div");i.classList.add("i-amphtml-carousel-end-marker"),this.Mst.appendChild(i)}this.rQ.forEach(((t,i)=>{const s=t.getAttribute("data-slide-id")||i.toString();this.Ust.push(s),xt(this.element).setOwner(t,this.element)})),this.fst(),this.Mst.addEventListener("scroll",this.Mf.bind(this)),this.Mst.addEventListener("keydown",this.X$.bind(this)),Bt(this.Mst,"touchmove",this.Jst.bind(this),{passive:!0}),Bt(this.Mst,"touchend",this.Zst.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.bA)}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)}Jst(){this.qst(),this.Sst=!0}viewportCallback(t){var i;t?(this.O$(),null===(i=this.od)||void 0===i||i.hintControls()):this.qst()}interactionNext(){this.od.handleNext()}interactionPrev(){this.od.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.O$():this.qst()}Kst(t){this.Rst&&Et(this.win).cancel(this.Rst),this.Rst=Et(this.win).delay((()=>{if(this.Rst=null,this.Ist||this.Sst)return;const t=this.Mst.scrollLeft;this.Est?this.Qst(t,1):this.tot(t,void 0,3)}),t)}Zst(){const t=this.Xst?45:100;this.Sst=!1,this.Kst(t)}bA(t){this.Wst=t.width,this.Yst=!0}buildCallback(){const{nextButton:t,prevButton:i,slideWrappers:s,slides:n,slidesContainer:e}=S(this.element);this.rQ=n,this.Mst=e,this.Tst=s,this.yst=this.rQ.length,this.Vst=this.element.hasAttribute("loop"),this.cq=this.element.hasAttribute("autoplay"),this.Nst=this.Vst&&this.isLoopingEligible(),this.zst=this.cq&&this.isLoopingEligible(),this.od=new Nt({element:this.element,go:this.go.bind(this),nextButton:t,prevButton:i}),this.od.updateButtonTitles(this.getPrevButtonTitle(),this.getNextButtonTitle()),this.dst(),this.Gst()}layoutCallback(){if(this.$j=X(this.element,(({isIntersecting:t})=>this.viewportCallback(t))),this.element.closest("[i-amphtml-scale-animation]"))return j();if(this.Yst||(this.Wst=this.Mst.clientWidth),null===this.$st)this.iot(this.Fst);else{const t=lt().assertNumber(this.$st,"E#19457 this.slideIndex_"),i=this.sot(t);xt(this.element).scheduleLayout(this.element,this.rQ[t]),this.Mst.scrollLeft=i,this.Hst=i}return j()}unlayoutCallback(){var t;return null===(t=this.$j)||void 0===t||t.call(this),this.$j=null,this.$st=null,!0}_st(){return this.Nst||this.$st>0}bst(){return this.Nst||this.$st=this.yst&&(n=0),i){const i=1!=t||e?this.Wst:0;this.tot(i,t,s)}else this.not(n,s)}}}Mf(t){const i=this.Mst.scrollLeft;this.mD||this.av||this.eot(i);const s=this.Est?200:this.mD?45:100;this.Kst(s),this.Hst=i}X$(t){const{key:i}=t;i!=N&&i!=z||t.stopPropagation()}eot(t){const i=this.Mst.scrollWidth;-1==this.Lst&&t>=this.Hst||1==this.Lst&&t<=this.Hst?this.tot(t).then((()=>{this.Lst=0})):t<0?this.Lst=-1:t+this.Wst>i?this.Lst=1:this.Lst=0}tot(t,i,s){this.Ist=!0;let n=this.oot(t)-this.$st;const e=this._st();let o=e?this.Wst:0;return 0!=n||1!=i&&-1!=i||(n=i),1==n||-1!=n&&n==-1*(this.yst-1)?o=e?2*this.Wst:this.Wst:-1!=n&&n!=this.yst-1||(o=0),this.rot(t,o).then((()=>{this.Qst(o,s)}))}oot(t){if(!t&&!this.Wst)return 0;const i=Math.round(t/this.Wst);let s=0;const n=this._st(),e=this.bst();n&&e?s=i-1:e?s=i:n&&(s=i-1);let o=this.$st+s;return o=this.Nst?o<0?this.yst-1:o>=this.yst?0:o:o<0?0:o>=this.yst?this.yst-1:o,o}getPrevButtonTitle(){const t=this._0(this.$st),i=(null==t?0:t)+1;return V(this.element,{index:String(i),total:String(this.yst)})}getNextButtonTitle(){const t=this.m0(this.$st),i=(null==t?this.yst-1:t)+1;return k(this.element,{index:String(i),total:String(this.yst)})}Qst(t,i){if(!a(t)||null===this.$st)return;this.Ist=!0;const s=this.oot(t);this.ar.mutate((()=>{this.not(s,i),this.ar.mutate((()=>{this.Ist=!1}))}))}goToSlide(t,i){const s=parseInt(t,10);!isFinite(s)||s<0||s>=this.yst?this.user().error(Dt,"Invalid [slide] value: ",t):null!==this.$st?this.not(s,i):this.Fst=s}_0(t){return t-1>=0?t-1:this.Nst?this.yst-1:null}m0(t){return t+1=n||this.$st==t)return!1;const e=this._0(t),o=this.m0(t),r=[];return null!=e&&r.push(e),r.push(t),null!=o&&o!==e&&r.push(o),void 0===this.rQ[t]?(at().error(Dt,"Attempting to access a non-existant slide %s / %s",t,n),!1):(r.forEach(((i,s)=>{this.Nst&&tt(this.Tst[i],"order",s+1),this.Tst[i].classList.add(y);const n=xt(this.element);i==t?(n.scheduleLayout(this.element,this.rQ[i]),n.scheduleResume(this.element,this.rQ[i]),this.rQ[i].setAttribute("aria-hidden","false")):(n.schedulePreload(this.element,this.rQ[i]),this.rQ[i].setAttribute("aria-hidden","true"))})),this.Mst.scrollLeft=this.sot(t),this.M0(t),this.$st=t,this.jst&&this.$st===this.yst-1&&(this.Bst++,this.Bst==this.jst&&this.lot()),this.hot(r),null===(i=this.od)||void 0===i||i.setControlsState({prev:this._st(),next:this.bst()}),null===(s=this.od)||void 0===s||s.updateButtonTitles(this.getPrevButtonTitle(),this.getNextButtonTitle()),!0)}not(t,i=1){if(this.iot(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.tc.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})}}sot(t){let i=this.Wst;return(!this.Nst&&0==t||this.rQ.length<=1)&&(i=0),i}hot(t){const{yst:i}=this;for(let s=0;s{this.Mst.scrollLeft=s(t)}),80,n).thenAlways()}fst(){Bt(this.element,"touchmove",(t=>t.stopPropagation()),{passive:!0})}M0(t){let i=t-this.$st;if(0==i)return;1!==Math.abs(i)&&(i=i<0?1:-1,null===this.$st&&(i=1));const s={"fromSlide":null===this.$st?"null":this.Ust[this.$st],"toSlide":this.Ust[t]};this.vJ("amp-carousel-change",s),1==i?this.vJ("amp-carousel-next",s):this.vJ("amp-carousel-prev",s)}vJ(t,i){!function(t,i,s={},n=!0){gt(t).then((e=>{e&&e.triggerEventForTarget(t,i,s,n)}))}(this.element,t,i)}Dst(){const t=Number(this.element.getAttribute("delay"));t>0&&(this.Cst=Math.max(1e3,t)),this.Vst||(this.element.setAttribute("loop",""),this.Ost=!0,this.Vst=!0,this.Nst=!0)}O$(){this.zst&&0!=this.jst&&(this.qst(),this.kst=Et(this.win).delay(this.go.bind(this,1,!0,!0),this.Cst))}h0(t){if(t==this.zst)return;const i=this.zst;this.cq=t,this.zst=this.cq&&this.isLoopingEligible(),!i&&this.zst&&this.Dst(),this.zst?this.O$():this.qst()}qst(){null!==this.kst&&(Et(this.win).cancel(this.kst),this.kst=null)}lot(){this.qst(),this.Ost&&(this.element.removeAttribute("loop"),this.Ost=!1,this.Vst=!1,this.Nst=!1),this.cq=!1,this.zst=this.cq&&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