1var e={ticker:{speed:100,pauseDuration:2e3,mobileSpeed:65,gap:40},breakpoints:{desktop:1200}},t=class{constructor(){this.desktop=null,this.mobile=null}init(){this.initDesktopTicker(),this.initMobileTicker()}destroy(){this.desktop&&=(this.desktop.stop(),null),this.mobile&&=(this.mobile.stop(),null)}initDesktopTicker(){let e=document.getElementById(`announcement-ticker`);if(!e)return;let t=new n(e);t.start(),this.desktop=t}initMobileTicker(){let e=document.getElementById(`mobile-announcement-ticker`);if(!e)return;let t=new r(e);t.start(),this.mobile=t}},n=class{constructor(e){this.ticker=e,this.tickerContent=e.querySelector(`#ticker-content`),this.position=0,this.isPaused=!1,this.isHovered=!1,this.lastTimestamp=null,this.pauseUntil=0,this.snappedAtStartThisCycle=!1,this.animationFrameId=null,this.isRunning=!1,this.setupEventListeners(),this.normalize()}stop(){this.isRunning=!1,this.animationFrameId&&=(cancelAnimationFrame(this.animationFrameId),null)}measure(){this.tickerWidth=this.ticker.offsetWidth,this.contentWidth=this.tickerContent.offsetWidth,this.pauseEnabled=window.matchMedia(`(min-width: ${e.breakpoints.desktop}px)`).matches,this.fullyVisiblePosition=Math.min(0,this.tickerWidth-this.contentWidth),this.canPauseWhenFullyVisible=this.contentWidth<=this.tickerWidth}normalize(){let e=this.tickerContent.querySelector(`a`);e&&(e.textContent=e.textContent.trim()),[`marginLeft`,`paddingLeft`,`textIndent`].forEach(e=>{this.tickerContent.style[e]=`0px`});let t=this.tickerContent.querySelector(`.ticker-span`);t&&[`marginLeft`,`marginRight`,`paddingLeft`,`paddingRight`].forEach(e=>{t.style[e]=`0px`}),this.measure(),this.position=this.tickerWidth,this.tickerContent.style.left=`${this.position}px`}setupEventListeners(){this.ticker.addEventListener(`mouseenter`,()=>this.isHovered=!0),this.ticker.addEventListener(`mouseleave`,()=>{this.isHovered=!1,this.lastTimestamp=null}),window.addEventListener(`resize`,()=>{this.measure()})}animate(t){if(!this.isRunning)return;this.lastTimestamp||=t;let n=t-this.lastTimestamp;if(this.lastTimestamp=t,this.isPaused||this.isHovered){this.isPaused&&t>=this.pauseUntil&&(this.isPaused=!1),this.animationFrameId=requestAnimationFrame(e=>this.animate(e));return}let r=e.ticker.speed*n/1e3;this.position-=r,this.tickerContent.style.left=`${this.position}px`,this.pauseEnabled&&this.canPauseWhenFullyVisible&&!this.snappedAtStartThisCycle&&this.position<=this.fullyVisiblePosition&&(this.position=this.fullyVisiblePosition,this.tickerContent.style.left=`${this.position}px`,this.doPause(e.ticker.pauseDuration),this.snappedAtStartThisCycle=!0),this.position+this.contentWidth<=0&&(this.position=this.tickerWidth,this.tickerContent.style.left=`${this.position}px`,this.snappedAtStartThisCycle=!1),this.animationFrameId=requestAnimationFrame(e=>this.animate(e))}doPause(e){this.isPaused=!0,this.pauseUntil=performance.now()+e}start(){this.isRunning=!0,this.measure(),this.animationFrameId=requestAnimationFrame(e=>this.animate(e))}},r=class{constructor(e){this.ticker=e,this.tickerContent=e.querySelector(`#mobile-ticker-content`),this.position=0,this.lastTimestamp=null,this.animationFrameId=null,this.isRunning=!1,this.setupContent()}stop(){this.isRunning=!1,this.animationFrameId&&=(cancelAnimationFrame(this.animationFrameId),null)}setupContent(){let t=this.tickerContent.innerHTML.trim();this.tickerContent.innerHTML=` 2 <span class="ticker-item">${t}</span> 3 <span class="ticker-gap" style="display:inline-block;width:${e.ticker.gap}px;"></span> 4 <span class="ticker-item">${t}</span> 5 `,this.updateMeasurements(),window.addEventListener(`resize`,()=>this.updateMeasurements())}updateMeasurements(){let t=this.tickerContent.querySelector(`.ticker-item`),n=this.tickerContent.querySelector(`.ticker-gap`);this.unitWidth=(t?.offsetWidth||0)+(n?.offsetWidth||e.ticker.gap)}animate(t){if(!this.isRunning)return;this.lastTimestamp||=t;let n=t-this.lastTimestamp;this.lastTimestamp=t,this.position-=e.ticker.mobileSpeed*n/1e3,this.position<=-this.unitWidth&&(this.position+=this.unitWidth),this.tickerContent.style.transform=`translateX(${this.position}px)`,this.animationFrameId=requestAnimationFrame(e=>this.animate(e))}start(){this.isRunning=!0,this.animationFrameId=requestAnimationFrame(e=>this.animate(e))}},i=null;function a(){i&&i.destroy?.(),i=new t,i.init()}document.addEventListener(`astro:page-load`,a);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.