Loading
function(e,r,t){t.d(r,{A:()=>S,p:()=>R});var a=t(627968),n=t(64700),l=t(503698),s=t.n(l),u=t(631903),o=t(17928),i=t(775602),c=t(218394),d=t(203632),A=t(855915),m=t(940622),f=t(881106),T=t(284009),E=t.n(T),I=t(964486);let p=1e3/24,y=function(e){let{minInterval:r=p,allowableMinInterval:t,droppedFramesCallbackThreshold:a,droppedFramesCallback:l,droppedFramesResetTime:s=3e3}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=n.useRef(r),o=n.useRef(0),i=n.useRef(void 0),c=n.useRef(void 0),d=n.useRef(!0),A=n.useRef(0),m=n.useRef(void 0),f=n.useCallback(()=>{A.current=0,null!=m.current&&(clearTimeout(m.current),m.current=void 0)},[]),T=n.useCallback(()=>{d.current=!1,cancelAnimationFrame(o.current),clearTimeout(m.current)},[]),y=n.useCallback(r=>{if(!d.current)return;null==i.current&&(i.current=r),null==c.current&&(c.current=r);let n=r-c.current;r-i.current>1.5*Math.min(t??120,u.current)&&(A.current+=1,null!=m.current&&clearTimeout(m.current),m.current=setTimeout(f,s),null!=a&&A.current>a&&(E()(null!=l,"useClock - If you set a dropped frames threshold, you must provide a droppedFramesCallback to do something when that threshold is hit"),l()&&(A.current=0))),i.current=r,n>=u.current-3&&(c.current=r,e(n)),o.current=requestAnimationFrame(y)},[t,f,s,a,l,e]),N=n.useCallback(()=>{d.current=!0,c.current=void 0,o.current=requestAnimationFrame(y)},[y]);return n.useEffect(()=>{u.current=r},[r]),(0,I.Ay)(()=>(o.current=requestAnimationFrame(y),()=>T())),{stop:T,reset:N,ticking:d}};var N=t(942426),h=t(735438);t(323874),t(14289),t(35956);var v=t(676279),b=t(38405),g=t(242131);let P=e=>{let{layerConfig:r,animationType:t,ticking:l,time:s,hasPlayedThrough:o,setHasPlayedThrough:i,maxLoops:c,loopEnd:d,bannerAdjustment:A,imageData:m}=e,T=!0,E=0,[I,p]=n.useState("reset"),y=n.useRef(m?.src??r.src),[N,h]=n.useState(m?.src??r.src),P=n.useRef(null),R=(0,v.gm)()&&null!=r.loopDelay&&r.loopDelay>0&&m?.src!=null;n.useEffect(()=>{if(!R||"layer"===I)return;let e=new AbortController;return(async()=>{try{if(null==P.current){let r=await fetch(m.src,{signal:e.signal}),t=await r.blob();if(e.signal.aborted)return;P.current=t}y.current!==m?.src&&URL.revokeObjectURL(y.current),y.current=URL.createObjectURL(P.current),h(()=>y.current)}catch(e){if("AbortError"===e.name)return null;b.A.captureException(e)}})(),()=>{e.abort()}},[I,R,h,m?.src]),n.useEffect(()=>()=>{y.current!==m?.src&&URL.revokeObjectURL(y.current)},[]);let _=e=>{(0,v.gm)()&&e!==I&&p(e)};if(l||(T=!1),s<r.start&&(T=!1),!r.loop&&s>r.duration+r.start&&(T=!1),t===u.l.ANIMATION_TYPE_PERSISTENT&&!o&&null!=c&&s>=d&&i(!0),r.loop&&void 0!==r.loopDelay&&r.loopDelay>0){let e=r.duration+r.loopDelay;E=Math.floor((s-r.start)/e),s-r.start-E*e>r.duration&&(t===u.l.ANIMATION_TYPE_INTERMITTENT&&!o&&null!=c&&E>=c&&i(!0),T=!1)}return T?(_("layer"),(0,a.jsx)("img",{src:N,className:g.QZ,style:{top:(r.position?.y??0)-A,left:r.position?.x??0},alt:"","aria-hidden":!0})):(_("reset"),(0,a.jsx)("img",{src:f.Ut,alt:"","aria-hidden":!0}))},R=e=>{let{bannerAdjustment:r=0,maxLoops:t,resetOnHover:l=!1,isHovering:o=!1,useOpacityOnHover:i=!0,autoPlay:c=!0,restartMethod:A,profileEffect:m,delayIntro:f=!0,restartKey:T,layerData:E}=e,I=n.useRef(null),p=n.useMemo(()=>m.effects.sort((e,r)=>(e.zIndex??0)-(r.zIndex??0)),[m]),{accessibilityLabel:N}=m,{firstLoop:h,loopEnd:v}=n.useMemo(()=>{let e=0,r=1/0;return p.forEach(t=>{let a=t.start+t.duration;a>e&&(e=a),t.loop&&t.start<r&&(r=t.start)}),{firstLoop:r,loopEnd:e}},[p]),b=f?500:.1,[R,_]=n.useState(-b),{stop:S,reset:M,ticking:x}=y(n.useCallback(e=>{_(r=>r+e)},[])),O=n.useRef(b);n.useEffect(()=>{O.current=b}),n.useEffect(()=>{_(-O.current)},[m]);let[C,j]=n.useState(!1);return n.useEffect(()=>{null!=T&&(_(-O.current),j(!1),x.current||M())},[T,M,x]),n.useEffect(()=>{!0===c||o||(S(),_(0)),!o&&C&&x.current&&(S(),_(0)),l&&o&&!x.current&&(M(),m.animationType===u.l.ANIMATION_TYPE_PERSISTENT?_(A===d.HL.FromStart?0:h):_(0))},[o,C,h,l,S,M,x,m.animationType,c,A]),(0,a.jsx)("div",{ref:I,className:s()(g.yC,{[g.yo]:o&&i}),"aria-label":N,role:"img",children:(0,a.jsx)("div",{className:g.vW,children:p.map((e,n)=>{if(!x.current&&m.animationType===u.l.ANIMATION_TYPE_PERSISTENT&&null!=m.staticFrameSrc&&0===n&&!0===c){let{staticFrameSrc:t}=m;return(0,a.jsx)("img",{className:g.QZ,style:{top:e.position?.y??0-r,left:e.position?.x??0},src:t,alt:"","aria-hidden":!0},e.src+n)}return(0,a.jsx)(P,{layerConfig:e,animationType:m.animationType,ticking:x.current,time:R,hasPlayedThrough:C,setHasPlayedThrough:j,maxLoops:t,loopEnd:v,bannerAdjustment:r,imageData:E?.[e.src]},e.src+n)})})})},_=e=>{let{profileEffect:r,useThumbnail:t,bannerAdjustment:n=0,isHovering:l=!1,useOpacityOnHover:u=!0}=e,{reducedMotionSrc:o,thumbnailPreviewSrc:i,accessibilityLabel:c}=r;return(0,a.jsx)("div",{className:s()(g.yC,{[g.yo]:l&&u}),"aria-label":c,role:"img",children:(0,a.jsx)("div",{className:g.vW,children:(0,a.jsx)("img",{src:t&&!l?i:o,className:g.QZ,style:{top:0-n},alt:"","aria-hidden":!0})})})},S=e=>{let r=(0,c.j)(),t=(0,o.bG)([i.Ay],()=>i.Ay.useReducedMotion),l=(0,N.A)(e.skuId),s=(0,m.C)(l),d=n.useMemo(()=>{if(null==l)return l;let e=(0,h.cloneDeep)(l),r=Math.floor(Math.random()*(e.effects.reduce((e,r)=>{let t=r.randomizedSources?.length??0;return t>0&&(e=0===e?t:Math.min(e,t)),e},0)-1-0+1)+0);return e.effects=e.effects.map(e=>(null!=e.randomizedSources&&e.randomizedSources.length>0&&(e.src=e.randomizedSources[r].src),e)),e},[l]),f=s??d,{autoPlay:T=!0,isHovering:E}=e,I=!!(!r&&e.shopPreview||!r&&l?.animationType===u.l.ANIMATION_TYPE_PERSISTENT||t||!1===T&&!1===E),{loaded:p,layerData:y}=(0,A.A)({skuId:l?.skuId,layers:I?void 0:l?.effects});return null!=l&&null!=f&&(r||e.shopPreview||l.animationType!==u.l.ANIMATION_TYPE_INTERMITTENT)?I?(0,a.jsx)(_,{useThumbnail:e.useThumbnail,profileEffect:f,bannerAdjustment:e.bannerAdjustment,isHovering:e.isHovering,useOpacityOnHover:e.useOpacityOnHover}):p?(0,a.jsx)(R,{profileEffect:f,layerData:y,...e}):null:null}}