{"version":3,"file":"InsightsCarousel.C86-RGy1.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/sBIp4h1fdHQxnQwJVq6r/1cvHNK9w6tA5SV1gtSuE/InsightsCarousel.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{RenderTarget}from\"framer\";/**\r\n\r\n * Related Insights carousel — apply `withCarousel` to the section root of\r\n\r\n * Related Insights (Blogs, Videos and Events all share this structure).\r\n\r\n *\r\n\r\n * Why this is code rather than component variants: Related Insights already\r\n\r\n * uses variants for its breakpoints, and a variant-driven carousel has to call\r\n\r\n * SET_VARIANT, which overwrites that choice — clicking an arrow on tablet or\r\n\r\n * phone switches the whole component to the desktop layout. Measured: Previous\r\n\r\n * returned the row to the desktop 84px inset at every width. Nesting a\r\n\r\n * page-only component inside is the usual escape, except the cards are\r\n\r\n * 537/420/300px across the three breakpoints, so the inner component needs\r\n\r\n * breakpoints of its own and the conflict comes straight back. Scrolling the\r\n\r\n * row sidesteps variants entirely and is breakpoint-agnostic.\r\n\r\n *\r\n\r\n * Behaviour is developed and tested in carousel-lab/ before it comes here.\r\n\r\n */const LEADERSHIP_ROW='[data-framer-name=\"Leadership Carousel Track\"]';const ROW='[data-framer-name=\"Related List\"], '+LEADERSHIP_ROW+', [data-framer-name=\"Insight Cards\"]';const CARD='[data-framer-name=\"Insight Card\"]';const PREV='[data-framer-name=\"Previous\"], [data-framer-name=\"Previous Insights\"]';const NEXT='[data-framer-name=\"Next\"], [data-framer-name=\"Next Insights\"]';const FOOTER='[data-framer-name=\"Carousel Footer\"]';const STYLE_ID=\"udig-carousel-styles\";const DISABLED_OPACITY=\"0.5\";const CSS=`\r\n\r\n[data-udig-carousel=\"on\"] { scrollbar-width: none; }\r\n\r\n[data-udig-carousel=\"on\"]::-webkit-scrollbar { display: none; }\r\n\r\n${PREV}, ${NEXT}, ${FOOTER} {\r\n\r\n  cursor: pointer;\r\n\r\n  transition: opacity 0.2s ease;\r\n\r\n  user-select: none;\r\n\r\n  -webkit-user-select: none;\r\n\r\n}\r\n\r\n`;function installStyles(){if(typeof document===\"undefined\")return;let tag=document.getElementById(STYLE_ID);if(!tag){tag=document.createElement(\"style\");tag.id=STYLE_ID;document.head.appendChild(tag);}if(tag.textContent!==CSS)tag.textContent=CSS;}/** How far one click moves: one card plus the row's gap. */function step(row){const card=row.querySelector(CARD);if(!card)return row.clientWidth;const gap=parseFloat(getComputedStyle(row).columnGap||\"0\")||0;return card.getBoundingClientRect().width+gap;}/**\r\n\r\n * Lets the row bleed to the edges of the section while its content still starts\r\n\r\n * at the content column, matching the design where cards run off the right of\r\n\r\n * the page. Without this the scroll viewport would be the 1272px column and the\r\n\r\n * cards would stop short of the edge.\r\n\r\n */function bleed(row){const section=row.parentElement;if(!section)return;const pad=parseFloat(getComputedStyle(section).paddingLeft||\"0\")||0;Object.assign(row.style,{maxWidth:\"none\",width:`calc(100% + ${pad*2}px)`,marginLeft:`${-pad}px`,marginRight:`${-pad}px`,paddingLeft:`${pad}px`,paddingRight:`${pad}px`,overflowX:\"auto\",overflowY:\"hidden\",scrollBehavior:\"smooth\"});row.dataset.udigCarousel=\"on\";}function setDisabled(el,off,opacity=DISABLED_OPACITY){if(!el)return;el.style.opacity=off?opacity:\"\";el.style.pointerEvents=off?\"none\":\"\";el.setAttribute(\"aria-disabled\",off?\"true\":\"false\");}/**\r\n\r\n * Wires one row. The arrows are found from the row's own section rather than\r\n\r\n * from a component root, so this does not depend on how the surrounding markup\r\n\r\n * is wrapped — which differs between the published site and Preview.\r\n\r\n */function wireRow(row){const scope=row.closest(`:has(${PREV})`)??row.parentElement??document.body;const prev=scope.querySelector(PREV);const next=scope.querySelector(NEXT);bleed(row);const disabledOpacity=row.matches(LEADERSHIP_ROW)?\"0.5\":DISABLED_OPACITY;const sync=()=>{// 1px of slack: sub-pixel widths mean scrollLeft rarely lands exactly\n// on the maximum, and without it the right arrow never disables.\nconst max=row.scrollWidth-row.clientWidth;setDisabled(prev,row.scrollLeft<=1,disabledOpacity);setDisabled(next,row.scrollLeft>=max-1,disabledOpacity);};const go=direction=>event=>{event.preventDefault();row.scrollBy({left:direction*step(row),behavior:\"smooth\"});};const onPrev=go(-1);const onNext=go(1);// Clicking an arrow repeatedly otherwise starts a text selection that runs\n// into the neighbouring \"See All Insights\" label. Cancelling the mousedown\n// stops the selection before it begins; preventing the click is too late.\nconst noSelect=event=>event.preventDefault();prev?.addEventListener(\"mousedown\",noSelect);next?.addEventListener(\"mousedown\",noSelect);prev?.addEventListener(\"click\",onPrev);next?.addEventListener(\"click\",onNext);row.addEventListener(\"scroll\",sync,{passive:true});const observer=new ResizeObserver(sync);observer.observe(row);sync();return()=>{prev?.removeEventListener(\"mousedown\",noSelect);next?.removeEventListener(\"mousedown\",noSelect);prev?.removeEventListener(\"click\",onPrev);next?.removeEventListener(\"click\",onNext);row.removeEventListener(\"scroll\",sync);observer.disconnect();};}export function withCarousel(Component){return props=>{useEffect(()=>{installStyles();// Scanning the document rather than a ref'd root. Framer wraps an\n// overridden component differently in Preview than in the published\n// build, so a ref does not reliably land on the element that\n// contains the row. Every row is guarded by its own data flag, so\n// three overridden sections on one page wire once each, not nine\n// times.\nconst teardowns=new Map;const scan=()=>{for(const node of document.querySelectorAll(ROW)){const row=node;if(!row.firstElementChild)continue;if(row.dataset.udigCarousel===\"on\")continue;teardowns.set(row,wireRow(row));}// Drop rows that have since been removed from the document.\nfor(const[row,teardown]of teardowns){if(!row.isConnected){teardown();teardowns.delete(row);}}};// The CMS list mounts its cards after the section itself, and how\n// long that takes differs per environment. Watching the tree beats\n// guessing at a retry budget.\nconst observer=new MutationObserver(scan);observer.observe(document.body,{childList:true,subtree:true});scan();return()=>{observer.disconnect();for(const teardown of teardowns.values())teardown();teardowns.clear();};},[]);return /*#__PURE__*/_jsx(Component,{...props});};}const FEATURED_INDICATORS='[data-framer-name=\"Carousel Indicators\"]';const ACTIVE_RING='[data-framer-name=\"Active Slide Ring\"]';const ACTIVE_MARKER='[data-framer-name=\"Active Slide Marker\"]';const FEATURED_DATA_LIST='[data-framer-name=\"Featured Story Data\"]';const FEATURED_DATA_ITEM='[data-framer-name=\"Featured Story Data Item\"]';const FEATURED_DATA_IMAGE='[data-framer-name=\"Featured Data Image\"]';const FEATURED_DATA_TITLE='[data-framer-name=\"Featured Data Title\"]';const FEATURED_DATA_EXCERPT='[data-framer-name=\"Featured Data Excerpt\"]';const FEATURED_DATA_LINK='[data-framer-name=\"Featured Data Link\"]';const FEATURED_IMAGE='[data-framer-name=\"Featured Story Image\"]';const FEATURED_NEXT_IMAGE='[data-framer-name=\"Featured Architecture Image\"]';const FEATURED_TITLE='[data-framer-name=\"Featured Story Title\"]';const FEATURED_EXCERPT='[data-framer-name=\"Featured Story Excerpt\"]';const FEATURED_LINK='[data-framer-name=\"Featured Story Link\"]';const NAVY=\"#001D3F\";const ORANGE=\"#EE4F00\";const AUTOPLAY_MS=6e3;const SWIPE_THRESHOLD=42;function imageUrl(node){if(!node)return\"\";const image=node.querySelector(\"img\");// The 1px native data list may load a tiny responsive candidate; preserve the full image source.\nif(image?.src||image?.currentSrc)return image.src||image.currentSrc;const value=getComputedStyle(node).backgroundImage||node.style.backgroundImage;const match=value.match(/url\\([\"']?(.*?)[\"']?\\)/);return match?.[1]??\"\";}function linkUrl(node){if(!node)return\"\";const anchor=node.matches(\"a\")?node:node.querySelector(\"a\");return anchor?.getAttribute(\"href\")??\"\";}function replaceText(node,value){if(!node)return;const block=node.querySelector(\"h1,h2,h3,h4,h5,h6,p\");(block??node).textContent=value;}function replaceImage(node,value,alt){if(!node||!value)return;const image=node.querySelector(\"img\");if(image){image.src=value;image.srcset=\"\";image.alt=alt;}node.style.backgroundImage='url(\"'+value.replace(/\"/g,'\"')+'\")';node.style.backgroundPosition=\"center\";node.style.backgroundRepeat=\"no-repeat\";node.style.backgroundSize=\"cover\";}function replaceLink(node,href){if(!node||!href)return;const anchor=node.matches(\"a\")?node:node.querySelector(\"a\");if(anchor)anchor.setAttribute(\"href\",href);}function readFeaturedStories(root){const list=root.querySelector(FEATURED_DATA_LIST);if(!list)return[];return Array.from(list.querySelectorAll(FEATURED_DATA_ITEM)).map(item=>{const element=item;const linkNode=element.querySelector(FEATURED_DATA_LINK);const previewLink=linkNode?.matches(\"a\")?linkNode:linkNode?.querySelector(\"a\");return{previewLink,image:imageUrl(element.querySelector(FEATURED_DATA_IMAGE)),alt:element.querySelector(FEATURED_DATA_IMAGE)?.querySelector(\"img\")?.getAttribute(\"alt\")??\"\",title:(element.querySelector(FEATURED_DATA_TITLE)?.textContent??\"\").trim(),excerpt:(element.querySelector(FEATURED_DATA_EXCERPT)?.textContent??\"\").trim(),href:linkUrl(element.querySelector(FEATURED_DATA_LINK))};}).filter(story=>story.image&&story.title&&story.href);}function renderIndicators(dots,activeIndex,storyCount){dots.forEach((dot,index)=>{const exists=index<storyCount;const active=exists&&index===activeIndex;const ring=dot.querySelector(ACTIVE_RING);const marker=dot.querySelector(ACTIVE_MARKER);dot.style.display=exists?\"\":\"none\";dot.setAttribute(\"role\",\"tab\");dot.setAttribute(\"aria-label\",\"Featured story \"+String(index+1)+\" of \"+String(storyCount));dot.setAttribute(\"aria-selected\",active?\"true\":\"false\");dot.tabIndex=active?0:-1;dot.style.cursor=exists?\"pointer\":\"default\";dot.style.boxSizing=\"border-box\";dot.style.outlineOffset=\"3px\";if(ring||marker){if(ring)ring.style.display=active?\"\":\"none\";if(marker)marker.style.display=active?\"\":\"none\";dot.style.background=active?\"transparent\":NAVY;dot.style.border=\"0\";}else if(active){dot.style.background=\"radial-gradient(circle at center, \"+ORANGE+\" 0 3.762px, transparent 3.9px)\";dot.style.border=\"1.881px solid \"+NAVY;}else{dot.style.background=NAVY;dot.style.border=\"0\";}});}export function withFeaturedIndicators(Component){return function FeaturedInsightsCarousel(props){const ref=useRef(null);useEffect(()=>{// Paint the selected story on canvas, but do not rotate it there.\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;const root=ref.current;if(!root)return;let teardown;let initialized=false;const initialize=()=>{if(initialized)return;const stories=readFeaturedStories(root);const indicators=root.querySelector(FEATURED_INDICATORS);const currentImage=root.querySelector(FEATURED_IMAGE);const mobileImage=root.querySelector('[data-framer-name=\"Featured Mobile Photo\"]');const nextImage=root.querySelector(FEATURED_NEXT_IMAGE);const title=root.querySelector(FEATURED_TITLE);const excerpt=root.querySelector(FEATURED_EXCERPT);const cta=root.querySelector(FEATURED_LINK);if(!indicators||!currentImage||!title||!excerpt||!cta)return;// An empty native CMS selection must not reveal the canvas placeholder.\nif(root.querySelector(FEATURED_DATA_LIST)&&stories.length===0){root.style.display=\"none\";return;}if(stories.length===0)return;root.style.removeProperty(\"display\");initialized=true;// The native CMS list supplies routing metadata for Play. Keep\n// it available to this carousel without exposing its 1px\n// duplicate content to assistive technology.\nconst sourceList=root.querySelector(FEATURED_DATA_LIST);const previousSourceHidden=sourceList?.getAttribute(\"aria-hidden\")??null;sourceList?.setAttribute(\"aria-hidden\",\"true\");const dots=Array.from(indicators.children).filter(node=>node instanceof HTMLElement);let activeIndex=0;let timer;let inView=false;let autoplayRemaining=AUTOPLAY_MS;let autoplayDeadline=0;let hovered=false;let focused=false;let busy=false;let pointer=null;let suppressClickUntil=0;const previousTouchAction=root.style.touchAction;if(!isCanvas)root.style.touchAction=\"pan-y pinch-zoom\";const reducedMotion=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;root.setAttribute(\"role\",\"region\");root.setAttribute(\"aria-roledescription\",\"carousel\");root.setAttribute(\"aria-label\",\"Featured insights\");root.tabIndex=0;indicators.setAttribute(\"role\",\"tablist\");indicators.setAttribute(\"aria-label\",\"Featured story slides\");// The CMS-bound next panel is the faithful canvas placeholder. In\n// Play/published output, this image sits above it and follows the\n// active story rather than Framer's fixed Blog 2 binding.\nconst paintNextPreview=story=>{const panel=root.querySelector(FEATURED_NEXT_IMAGE);if(!panel)return;let preview=panel.querySelector(\":scope > img[data-udig-next-preview]\");if(!preview){preview=document.createElement(\"img\");preview.dataset.udigNextPreview=\"true\";preview.alt=\"\";preview.setAttribute(\"aria-hidden\",\"true\");Object.assign(preview.style,{position:\"absolute\",inset:\"0\",width:\"100%\",height:\"100%\",objectFit:\"cover\",pointerEvents:\"none\",zIndex:\"1\"});if(getComputedStyle(panel).position===\"static\")panel.style.position=\"relative\";panel.appendChild(preview);}if(preview.getAttribute(\"src\")!==story.image)preview.src=story.image;panel.setAttribute(\"aria-label\",\"Next featured story: \"+story.title);};const paint=index=>{const story=stories[index];const upcoming=stories[(index+1)%stories.length];replaceImage(currentImage,story.image,story.alt);replaceImage(mobileImage,story.image,story.alt);paintNextPreview(upcoming);replaceText(title,story.title);replaceText(excerpt,story.excerpt);replaceLink(cta,story.href);currentImage.setAttribute(\"aria-label\",story.title);renderIndicators(dots,index,stories.length);};const clearTimer=(preserve=false)=>{if(timer!==undefined){clearTimeout(timer);if(preserve)autoplayRemaining=Math.max(0,autoplayDeadline-Date.now());}timer=undefined;if(!preserve)autoplayRemaining=AUTOPLAY_MS;};const schedule=()=>{if(isCanvas||!inView||hovered||focused||document.hidden||reducedMotion||stories.length<2){clearTimer(true);return;}if(timer!==undefined)return;autoplayDeadline=Date.now()+autoplayRemaining;timer=setTimeout(()=>{timer=undefined;const box=root.getBoundingClientRect();if(!inView||document.hidden||box.bottom<=0||box.top>=window.innerHeight)return;select((activeIndex+1)%stories.length,1,false);},autoplayRemaining);};let disposed=false;let slideClones=[];let slideAnimations=[];let hiddenPanels=[];const clearSlide=()=>{slideAnimations.forEach(animation=>animation.cancel());slideAnimations=[];slideClones.forEach(clone=>clone.remove());slideClones=[];hiddenPanels.forEach(({node,visibility})=>{node.style.visibility=visibility;});hiddenPanels=[];};const animate=async(direction,nextIndex,update)=>{if(reducedMotion||!currentImage.animate){update();return;}// The visual track contains three adjacent story photos on\n// desktop: current, next, and the one after next. All three\n// move together, so the right preview slides into place\n// instead of remaining still and abruptly swapping images.\nconst rootRect=root.getBoundingClientRect();const currentRect=currentImage.getBoundingClientRect();const rightRect=nextImage?.getBoundingClientRect();const scale=rootRect.width/(root.offsetWidth||rootRect.width)||1;const width=currentRect.width/scale;const height=currentRect.height/scale;if(!width||!height){update();return;}const left=(currentRect.left-rootRect.left)/scale;const top=(currentRect.top-rootRect.top)/scale;const rightVisible=Boolean(nextImage&&rightRect&&rightRect.width>1&&rightRect.left>currentRect.left+currentRect.width*.5&&getComputedStyle(nextImage).visibility!==\"hidden\");const step=rightVisible&&rightRect?(rightRect.left-currentRect.left)/scale:width;const makeSlide=(story,x,withCard)=>{const clone=currentImage.cloneNode(true);replaceImage(clone,story.image,story.alt);replaceImage(clone.querySelector('[data-framer-name=\"Featured Mobile Photo\"]'),story.image,story.alt);if(!rightVisible)clone.style.backgroundImage=\"none\";replaceText(clone.querySelector(FEATURED_TITLE),story.title);replaceText(clone.querySelector(FEATURED_EXCERPT),story.excerpt);replaceLink(clone.querySelector(FEATURED_LINK),story.href);const card=clone.querySelector('[data-framer-name=\"Featured Story Card\"]');if(!withCard)card?.remove();clone.setAttribute(\"aria-hidden\",\"true\");clone.setAttribute(\"inert\",\"\");for(const element of[clone,...Array.from(clone.querySelectorAll(\"[data-framer-name]\"))]){element.removeAttribute(\"data-framer-name\");}Object.assign(clone.style,{position:\"absolute\",left:x+\"px\",top:top+\"px\",width:width+\"px\",height:height+\"px\",margin:\"0\",transform:\"translateX(0)\",opacity:\"1\",zIndex:\"1\",pointerEvents:\"none\",boxSizing:\"border-box\"});root.appendChild(clone);slideClones.push(clone);return{clone,card};};const outgoing=makeSlide(stories[activeIndex],left,true);const incoming=makeSlide(stories[nextIndex],left+direction*step,true);if(rightVisible){if(direction>0){makeSlide(stories[(nextIndex+1)%stories.length],left+2*step,false);}else{makeSlide(stories[(activeIndex+1)%stories.length],left+step,false);}}for(const panel of[currentImage,...rightVisible&&nextImage?[nextImage]:[]]){hiddenPanels.push({node:panel,visibility:panel.style.visibility});panel.style.visibility=\"hidden\";}const travel=-direction*step;try{slideAnimations=slideClones.map(clone=>clone.animate([{transform:\"translateX(0)\"},{transform:\"translateX(\"+travel+\"px)\"}],{duration:480,easing:\"cubic-bezier(0.22, 0.61, 0.36, 1)\",fill:\"both\"}));// Only the card rises into the active left panel. Photo\n// panels never fade, and the next preview stays image-only.\nif(rightVisible&&incoming.card){slideAnimations.push(incoming.card.animate([{transform:\"translateY(100%)\"},{transform:\"translateY(0)\"}],{duration:180,delay:300,easing:\"ease-out\",fill:\"both\"}));}if(rightVisible&&direction<0&&outgoing.card){slideAnimations.push(outgoing.card.animate([{transform:\"translateY(0)\"},{transform:\"translateY(100%)\"}],{duration:180,delay:280,easing:\"ease-in\",fill:\"both\"}));}await Promise.all(slideAnimations.map(animation=>animation.finished.catch(()=>undefined)));if(!disposed)update();}finally{clearSlide();}};const select=async(index,direction,focusDot)=>{if(isCanvas)return;const nextIndex=(index+stories.length)%stories.length;if(busy||nextIndex===activeIndex){schedule();return;}busy=true;clearTimer();await animate(direction,nextIndex,()=>{activeIndex=nextIndex;paint(activeIndex);});busy=false;if(disposed)return;if(focusDot)dots[activeIndex]?.focus();schedule();};const dotListeners=dots.map((dot,index)=>{const click=()=>select(index,index>=activeIndex?1:-1,false);const keydown=event=>{event.stopPropagation();if(event.key===\"ArrowRight\"){event.preventDefault();select(activeIndex+1,1,true);}else if(event.key===\"ArrowLeft\"){event.preventDefault();select(activeIndex-1,-1,true);}else if(event.key===\"Home\"){event.preventDefault();select(0,-1,true);}else if(event.key===\"End\"){event.preventDefault();select(stories.length-1,1,true);}else if(event.key===\"Enter\"||event.key===\" \"){event.preventDefault();select(index,index>=activeIndex?1:-1,false);}};dot.addEventListener(\"click\",click);dot.addEventListener(\"keydown\",keydown);return()=>{dot.removeEventListener(\"click\",click);dot.removeEventListener(\"keydown\",keydown);};});const onKeydown=event=>{if(event.key===\"ArrowRight\"){event.preventDefault();select(activeIndex+1,1,false);}else if(event.key===\"ArrowLeft\"){event.preventDefault();select(activeIndex-1,-1,false);}};const gestureDocument=root.ownerDocument;const gestureView=gestureDocument.defaultView;const clearPointer=()=>{const id=pointer?.id;pointer=null;gestureDocument.removeEventListener(\"pointermove\",onPointerMove,true);gestureDocument.removeEventListener(\"pointerup\",onPointerUp,true);gestureDocument.removeEventListener(\"pointercancel\",onPointerCancel,true);gestureDocument.removeEventListener(\"pointerdown\",onAdditionalPointer,true);gestureDocument.removeEventListener(\"visibilitychange\",onGestureVisibility);gestureView?.removeEventListener(\"blur\",onGestureInterrupt);try{if(id!==undefined&&root.hasPointerCapture(id))root.releasePointerCapture(id);}catch{}};const onGestureInterrupt=()=>{clearPointer();schedule();};const onGestureVisibility=()=>{if(gestureDocument.hidden)onGestureInterrupt();};const onAdditionalPointer=event=>{if(pointer&&pointer.id!==event.pointerId)onGestureInterrupt();};const onPointerDown=event=>{if(isCanvas||busy||!event.isPrimary)return;if(event.pointerType===\"mouse\"&&(event.button!==0||window.innerWidth>809))return;const target=event.target instanceof Element?event.target:null;if(target?.closest('button,input,textarea,select,[role=\"tab\"],[contenteditable=\"true\"]'))return;clearPointer();pointer={id:event.pointerId,x:event.clientX,y:event.clientY,horizontal:false};clearTimer();// Track only this carousel's active gesture through release,\n// even outside its bounds or when capture is unavailable.\ngestureDocument.addEventListener(\"pointermove\",onPointerMove,{capture:true,passive:false});gestureDocument.addEventListener(\"pointerup\",onPointerUp,true);gestureDocument.addEventListener(\"pointercancel\",onPointerCancel,true);gestureDocument.addEventListener(\"pointerdown\",onAdditionalPointer,true);gestureDocument.addEventListener(\"visibilitychange\",onGestureVisibility);gestureView?.addEventListener(\"blur\",onGestureInterrupt);};const onPointerMove=event=>{if(!pointer||pointer.id!==event.pointerId)return;const dx=event.clientX-pointer.x;const dy=event.clientY-pointer.y;if(!pointer.horizontal&&Math.max(Math.abs(dx),Math.abs(dy))>=12){if(Math.abs(dx)<=Math.abs(dy)*1.4){onGestureInterrupt();return;}pointer.horizontal=true;try{root.setPointerCapture(event.pointerId);}catch{}}if(pointer?.horizontal&&event.cancelable)event.preventDefault();};const onPointerUp=event=>{if(!pointer||pointer.id!==event.pointerId)return;const dx=event.clientX-pointer.x;const dy=event.clientY-pointer.y;clearPointer();if(gestureDocument.hidden||!root.isConnected||Math.abs(dx)<SWIPE_THRESHOLD||Math.abs(dx)<=Math.abs(dy)*1.4){schedule();return;}suppressClickUntil=Date.now()+400;if(event.cancelable)event.preventDefault();select(activeIndex+(dx<0?1:-1),dx<0?1:-1,false);};const onPointerCancel=event=>{if(pointer?.id===event.pointerId)onGestureInterrupt();};const onSwipeClick=event=>{if(!event.isTrusted||Date.now()>=suppressClickUntil)return;event.preventDefault();event.stopImmediatePropagation();};const onDragStart=event=>{if(pointer)event.preventDefault();};const onMouseEnter=()=>{hovered=true;clearTimer();};const onMouseLeave=()=>{hovered=false;schedule();};const onFocusIn=()=>{focused=true;clearTimer();};const onFocusOut=event=>{if(event.relatedTarget instanceof Node&&root.contains(event.relatedTarget))return;focused=false;schedule();};const onVisibility=()=>{if(document.hidden)clearTimer(true);else schedule();};const visibilityObserver=new IntersectionObserver(entries=>{const entry=entries[entries.length-1];inView=!!entry?.isIntersecting&&entry.intersectionRect.width>0&&entry.intersectionRect.height>0;if(inView)schedule();else clearTimer(true);},{threshold:0});if(!isCanvas)visibilityObserver.observe(root);// The native Link retains its original router destination after href changes.\n// Capture this CTA only, so activation follows the currently selected story.\nconst onStoryClick=event=>{if(event.button!==0)return;event.stopPropagation();if(event.metaKey||event.ctrlKey||event.shiftKey||event.altKey)return;event.preventDefault();const story=stories[activeIndex];const isEditorPreview=window.location.hostname.endsWith(\".framercanvas.com\");if(isEditorPreview&&story.previewLink?.isConnected){// This untouched CMS link retains Framer's page ID and item\n// routing metadata; a document load cannot navigate Play.\nstory.previewLink.click();return;}window.location.assign(story.href);};cta.addEventListener(\"click\",onStoryClick,true);root.addEventListener(\"keydown\",onKeydown);root.addEventListener(\"pointerdown\",onPointerDown);root.addEventListener(\"click\",onSwipeClick,true);root.addEventListener(\"dragstart\",onDragStart);root.addEventListener(\"mouseenter\",onMouseEnter);root.addEventListener(\"mouseleave\",onMouseLeave);root.addEventListener(\"focusin\",onFocusIn);root.addEventListener(\"focusout\",onFocusOut);document.addEventListener(\"visibilitychange\",onVisibility);paint(activeIndex);schedule();teardown=()=>{disposed=true;if(previousSourceHidden===null)sourceList?.removeAttribute(\"aria-hidden\");else sourceList?.setAttribute(\"aria-hidden\",previousSourceHidden);clearTimer();clearSlide();root.querySelectorAll(\"img[data-udig-next-preview]\").forEach(image=>image.remove());cta.removeEventListener(\"click\",onStoryClick,true);dotListeners.forEach(remove=>remove());root.removeEventListener(\"keydown\",onKeydown);root.removeEventListener(\"pointerdown\",onPointerDown);root.removeEventListener(\"click\",onSwipeClick,true);root.removeEventListener(\"dragstart\",onDragStart);clearPointer();root.style.touchAction=previousTouchAction;root.removeEventListener(\"mouseenter\",onMouseEnter);root.removeEventListener(\"mouseleave\",onMouseLeave);root.removeEventListener(\"focusin\",onFocusIn);root.removeEventListener(\"focusout\",onFocusOut);document.removeEventListener(\"visibilitychange\",onVisibility);visibilityObserver.disconnect();};};const observer=new MutationObserver(initialize);observer.observe(root,{childList:true,subtree:true});initialize();return()=>{observer.disconnect();teardown?.();};},[]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref});};}const WHO_INSIGHTS_ROW='[data-framer-name=\"Insight Cards\"]';const WHO_INSIGHTS_PREVIOUS='[data-framer-name=\"Previous Insights\"]';const WHO_INSIGHTS_NEXT='[data-framer-name=\"Next Insights\"]';/**\r\n * Page-scoped controls for the Who We Are insights rail. The visible cards and\r\n * controls stay as native Framer layers; this override only performs the\r\n * horizontal scroll that native anchor links cannot isolate from page scroll.\r\n */export function withWhoInsightsRail(Component){return function WhoInsightsRail(props){const ref=useRef(null);useEffect(()=>{const root=ref.current;if(!root||typeof window===\"undefined\")return;const row=root.querySelector(WHO_INSIGHTS_ROW);const previous=root.querySelector(WHO_INSIGHTS_PREVIOUS);const next=root.querySelector(WHO_INSIGHTS_NEXT);if(!row||!previous||!next)return;const reducedMotion=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const getStep=()=>{const card=row.firstElementChild;const gap=parseFloat(getComputedStyle(row).columnGap||\"0\")||0;return(card?.getBoundingClientRect().width??row.clientWidth)+gap;};const setControlState=(control,disabled)=>{control.setAttribute(\"aria-disabled\",disabled?\"true\":\"false\");control.style.pointerEvents=disabled?\"none\":\"auto\";control.style.opacity=disabled?\"0.5\":\"1\";if(control instanceof HTMLButtonElement)control.disabled=disabled;};const sync=()=>{const maximum=Math.max(0,row.scrollWidth-row.clientWidth);setControlState(previous,row.scrollLeft<=1);setControlState(next,row.scrollLeft>=maximum-1);};const move=direction=>event=>{event.preventDefault();event.stopPropagation();row.scrollBy({left:direction*getStep(),behavior:reducedMotion.matches?\"auto\":\"smooth\"});};const movePrevious=move(-1);const moveNext=move(1);const keyboard=handler=>event=>{if(event.key!==\"Enter\"&&event.key!==\" \")return;handler(event);};const previousKeyboard=keyboard(movePrevious);const nextKeyboard=keyboard(moveNext);row.style.scrollBehavior=reducedMotion.matches?\"auto\":\"smooth\";previous.setAttribute(\"role\",\"button\");previous.tabIndex=0;next.setAttribute(\"role\",\"button\");next.tabIndex=0;previous.addEventListener(\"click\",movePrevious);next.addEventListener(\"click\",moveNext);previous.addEventListener(\"keydown\",previousKeyboard);next.addEventListener(\"keydown\",nextKeyboard);row.addEventListener(\"scroll\",sync,{passive:true});const resizeObserver=new ResizeObserver(sync);resizeObserver.observe(row);sync();return()=>{previous.removeEventListener(\"click\",movePrevious);next.removeEventListener(\"click\",moveNext);previous.removeEventListener(\"keydown\",previousKeyboard);next.removeEventListener(\"keydown\",nextKeyboard);row.removeEventListener(\"scroll\",sync);resizeObserver.disconnect();};},[]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withCarousel\":{\"type\":\"reactHoc\",\"name\":\"withCarousel\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withFeaturedIndicators\":{\"type\":\"reactHoc\",\"name\":\"withFeaturedIndicators\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withWhoInsightsRail\":{\"type\":\"reactHoc\",\"name\":\"withWhoInsightsRail\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./InsightsCarousel.map"],"mappings":"wLAiFgyC,SAAS,EAAS,EAAK,CAAC,GAAG,CAAC,EAAK,MAAM,GAAG,IAAM,EAAM,EAAK,cAAc,KAAK,EACzqC,OAAlM,GAAO,KAAK,GAAO,WAAkB,EAAM,KAAK,EAAM,YAAuB,iBAAiB,CAAI,CAAC,CAAC,iBAAiB,EAAK,MAAM,gBAAA,CAAkC,MAAM,wBAAqC,CAAC,GAAG,IAAI,EAAG,CAAC,SAAS,EAAQ,EAAK,CAA+E,OAA1E,GAA2B,EAAK,QAAQ,GAAG,EAAE,EAAK,EAAK,cAAc,GAAG,EAAA,EAAiB,aAAa,MAAM,GAAG,GAApG,EAAuG,CAAC,SAAS,EAAY,EAAK,EAAM,CAAC,GAAG,CAAC,EAAK,OAAO,IAAM,EAAM,EAAK,cAAc,qBAAqB,EAAE,CAAC,GAAO,EAAA,CAAM,YAAY,CAAM,CAAC,SAAS,EAAa,EAAK,EAAM,EAAI,CAAC,GAAG,CAAC,GAAM,CAAC,EAAM,OAAO,IAAM,EAAM,EAAK,cAAc,KAAK,EAAK,IAAO,EAAM,IAAI,EAAM,EAAM,OAAO,GAAG,EAAM,IAAI,GAAK,EAAK,MAAM,gBAAgB,QAAQ,EAAM,QAAQ,KAAK,GAAG,EAAE,KAAK,EAAK,MAAM,mBAAmB,SAAS,EAAK,MAAM,iBAAiB,YAAY,EAAK,MAAM,eAAe,OAAQ,CAAC,SAAS,EAAY,EAAK,EAAK,CAAC,GAAG,CAAC,GAAM,CAAC,EAAK,OAAO,IAAM,EAAO,EAAK,QAAQ,GAAG,EAAE,EAAK,EAAK,cAAc,GAAG,EAAK,GAAO,EAAO,aAAa,OAAO,CAAI,CAAE,CAAC,SAAS,EAAoB,EAAK,CAAC,IAAM,EAAK,EAAK,cAAc,CAAkB,EAAoB,OAAd,EAAqB,MAAM,KAAK,EAAK,iBAAiB,CAAkB,CAAC,CAAC,CAAC,IAAI,GAAM,CAAC,IAAM,EAAQ,EAAW,EAAS,EAAQ,cAAc,CAAkB,EAAiF,MAAM,CAAC,YAApE,GAAU,QAAQ,GAAG,EAAE,EAAS,GAAU,cAAc,GAAG,EAAqB,MAAM,EAAS,EAAQ,cAAc,CAAmB,CAAC,EAAE,IAAI,EAAQ,cAAc,CAAmB,CAAC,EAAE,cAAc,KAAK,CAAC,EAAE,aAAa,KAAK,GAAG,GAAG,OAAO,EAAQ,cAAc,CAAmB,CAAC,EAAE,aAAa,GAAA,CAAI,KAAK,EAAE,SAAS,EAAQ,cAAc,CAAqB,CAAC,EAAE,aAAa,GAAA,CAAI,KAAK,EAAE,KAAK,EAAQ,EAAQ,cAAc,CAAkB,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,GAAO,EAAM,OAAO,EAAM,OAAO,EAAM,IAAI,EAA1pB,CAAC,CAA2pB,CAAC,SAAS,EAAiB,EAAK,EAAY,EAAW,CAAC,EAAK,SAAS,EAAI,IAAQ,CAAC,IAAM,EAAO,EAAM,EAAiB,EAAO,GAAQ,IAAQ,EAAkB,EAAK,EAAI,cAAc,CAAW,EAAQ,EAAO,EAAI,cAAc,CAAa,EAAE,EAAI,MAAM,QAAQ,EAAO,GAAG,OAAO,EAAI,aAAa,OAAO,KAAK,EAAE,EAAI,aAAa,aAAa,kBAAkB,OAAO,EAAM,CAAC,EAAE,OAAO,OAAO,CAAU,CAAC,EAAE,EAAI,aAAa,gBAAgB,EAAO,OAAO,OAAO,EAAE,EAAI,SAAS,EAAO,EAAE,GAAG,EAAI,MAAM,OAAO,EAAO,UAAU,UAAU,EAAI,MAAM,UAAU,aAAa,EAAI,MAAM,cAAc,MAAS,GAAM,GAAW,IAAK,EAAK,MAAM,QAAQ,EAAO,GAAG,QAAU,IAAO,EAAO,MAAM,QAAQ,EAAO,GAAG,QAAO,EAAI,MAAM,WAAW,EAAO,cAAc,EAAK,EAAI,MAAM,OAAO,KAAa,GAAQ,EAAI,MAAM,WAAW,0EAA6E,EAAI,MAAM,OAAO,0BAA4B,EAAI,MAAM,WAAW,EAAK,EAAI,MAAM,OAAO,IAAK,CAAC,CAAE,CAAC,SAAgB,EAAuB,EAAU,CAAC,OAAO,SAAkC,EAAM,CAAC,IAAM,EAAIA,EAAO,IAAI,EAoB3pC,OApB6pC,MAAc,CACvzF,IAAM,EAAS,EAAa,QAAQ,IAAI,EAAa,OAAa,EAAK,EAAI,QAAQ,GAAG,CAAC,EAAK,OAAO,IAAI,EAAa,EAAY,GAAY,MAAe,CAAC,GAAG,EAAY,OAAO,IAAM,EAAQ,EAAoB,CAAI,EAAQ,EAAW,EAAK,cAAc,CAAmB,EAAQ,EAAa,EAAK,cAAc,CAAc,EAAQ,EAAY,EAAK,cAAc,4CAA4C,EAAQ,EAAU,EAAK,cAAc,CAAmB,EAAQ,EAAM,EAAK,cAAc,CAAc,EAAQ,EAAQ,EAAK,cAAc,CAAgB,EAAQ,EAAI,EAAK,cAAc,CAAa,EAAE,GAAG,CAAC,GAAY,CAAC,GAAc,CAAC,GAAO,CAAC,GAAS,CAAC,EAAI,OACxpB,GAAG,EAAK,cAAc,CAAkB,GAAG,EAAQ,SAAS,EAAE,CAAC,EAAK,MAAM,QAAQ,OAAO,MAAO,CAAC,GAAG,EAAQ,SAAS,EAAE,OAAO,EAAK,MAAM,eAAe,SAAS,EAAE,EAAY,GAG/K,IAAM,EAAW,EAAK,cAAc,CAAkB,EAAQ,EAAqB,GAAY,aAAa,aAAa,GAAG,KAAK,GAAY,aAAa,cAAc,MAAM,EAAE,IAAM,EAAK,MAAM,KAAK,EAAW,QAAQ,CAAC,CAAC,OAAO,GAAM,aAAgB,WAAW,EAAM,EAAY,EAAM,EAAU,EAAO,GAAU,EAAkB,EAAgB,EAAiB,EAAM,EAAQ,GAAU,EAAQ,GAAU,EAAK,GAAU,EAAQ,KAAS,EAAmB,EAAQ,EAAoB,EAAK,MAAM,YAAgB,IAAS,EAAK,MAAM,YAAY,oBAAmB,IAAM,EAAc,EAAO,WAAW,kCAAkC,CAAC,CAAC,QAAQ,EAAK,aAAa,OAAO,QAAQ,EAAE,EAAK,aAAa,uBAAuB,UAAU,EAAE,EAAK,aAAa,aAAa,mBAAmB,EAAE,EAAK,SAAS,EAAE,EAAW,aAAa,OAAO,SAAS,EAAE,EAAW,aAAa,aAAa,uBAAuB,EAGp4B,IAAM,GAAiB,GAAO,CAAC,IAAM,EAAM,EAAK,cAAc,CAAmB,EAAE,GAAG,CAAC,EAAM,OAAO,IAAI,EAAQ,EAAM,cAAc,sCAAsC,EAAM,IAAS,EAAQ,SAAS,cAAc,KAAK,EAAE,EAAQ,QAAQ,gBAAgB,OAAO,EAAQ,IAAI,GAAG,EAAQ,aAAa,cAAc,MAAM,EAAE,OAAO,OAAO,EAAQ,MAAM,CAAC,SAAS,WAAW,MAAM,IAAI,MAAM,OAAO,OAAO,OAAO,UAAU,QAAQ,cAAc,OAAO,OAAO,GAAG,CAAC,EAAK,iBAAiB,CAAK,CAAC,CAAC,WAAW,WAAS,EAAM,MAAM,SAAS,YAAW,EAAM,YAAY,CAAO,GAAM,EAAQ,aAAa,KAAK,IAAI,EAAM,QAAM,EAAQ,IAAI,EAAM,OAAM,EAAM,aAAa,aAAa,wBAAwB,EAAM,KAAK,CAAE,EAAQ,EAAM,GAAO,CAAC,IAAM,EAAM,EAAQ,GAAa,EAAS,GAAS,EAAM,GAAG,EAAQ,QAAQ,EAAa,EAAa,EAAM,MAAM,EAAM,GAAG,EAAE,EAAa,EAAY,EAAM,MAAM,EAAM,GAAG,EAAE,GAAiB,CAAQ,EAAE,EAAY,EAAM,EAAM,KAAK,EAAE,EAAY,EAAQ,EAAM,OAAO,EAAE,EAAY,EAAI,EAAM,IAAI,EAAE,EAAa,aAAa,aAAa,EAAM,KAAK,EAAE,EAAiB,EAAK,EAAM,EAAQ,MAAM,CAAE,EAAQ,GAAY,EAAS,KAAQ,CAAI,IAAQ,IAAA,KAAW,aAAa,CAAK,EAAK,IAAS,EAAkB,KAAK,IAAI,EAAE,EAAiB,KAAK,IAAI,CAAC,IAAG,EAAM,IAAA,GAAc,IAAS,EAAkB,EAAY,EAAQ,MAAa,CAAC,GAAG,GAAU,CAAC,GAAQ,GAAS,GAAS,SAAS,QAAQ,GAAe,EAAQ,OAAO,EAAE,CAAC,EAAW,EAAI,EAAE,MAAO,CAAI,IAAQ,IAAA,KAAiB,EAAiB,KAAK,IAAI,EAAE,EAAkB,EAAM,eAAe,CAAC,EAAM,IAAA,GAAU,IAAM,EAAI,EAAK,sBAAsB,EAAK,CAAC,GAAQ,SAAS,QAAQ,EAAI,QAAQ,GAAG,EAAI,KAAK,EAAO,aAAmB,GAAQ,EAAY,GAAG,EAAQ,OAAO,EAAE,EAAK,CAAE,EAAE,CAAiB,EAAE,EAAM,EAAS,GAAU,EAAY,CAAC,EAAM,EAAgB,CAAC,EAAM,EAAa,CAAC,EAAQ,MAAe,CAAC,EAAgB,QAAQ,GAAW,EAAU,OAAO,CAAC,EAAE,EAAgB,CAAC,EAAE,EAAY,QAAQ,GAAO,EAAM,OAAO,CAAC,EAAE,EAAY,CAAC,EAAE,EAAa,SAAS,CAAC,OAAK,gBAAc,CAAC,EAAK,MAAM,WAAW,CAAW,CAAC,EAAE,EAAa,CAAC,CAAE,EAAQ,GAAQ,MAAM,EAAU,EAAU,IAAS,CAAC,GAAG,GAAe,CAAC,EAAa,QAAQ,CAAC,EAAO,EAAE,MAAO,CAIzpE,IAAM,EAAS,EAAK,sBAAsB,EAAQ,EAAY,EAAa,sBAAsB,EAAQ,EAAU,GAAW,sBAAsB,EAAQ,EAAM,EAAS,OAAO,EAAK,aAAa,EAAS,QAAQ,EAAQ,EAAM,EAAY,MAAM,EAAY,EAAO,EAAY,OAAO,EAAM,GAAG,CAAC,GAAO,CAAC,EAAO,CAAC,EAAO,EAAE,MAAO,CAAC,IAAM,GAAM,EAAY,KAAK,EAAS,MAAM,EAAY,GAAK,EAAY,IAAI,EAAS,KAAK,EAAY,EAAa,GAAQ,GAAW,GAAW,EAAU,MAAM,GAAG,EAAU,KAAK,EAAY,KAAK,EAAY,MAAM,IAAI,iBAAiB,CAAS,CAAC,CAAC,aAAa,UAAgB,EAAK,GAAc,GAAW,EAAU,KAAK,EAAY,MAAM,EAAM,EAAY,GAAW,EAAM,EAAE,IAAW,CAAC,IAAM,EAAM,EAAa,UAAU,EAAI,EAAE,EAAa,EAAM,EAAM,MAAM,EAAM,GAAG,EAAE,EAAa,EAAM,cAAc,4CAA4C,EAAE,EAAM,MAAM,EAAM,GAAG,EAAM,IAAa,EAAM,MAAM,gBAAgB,QAAO,EAAY,EAAM,cAAc,CAAc,EAAE,EAAM,KAAK,EAAE,EAAY,EAAM,cAAc,CAAgB,EAAE,EAAM,OAAO,EAAE,EAAY,EAAM,cAAc,CAAa,EAAE,EAAM,IAAI,EAAE,IAAM,EAAK,EAAM,cAAc,0CAA0C,EAAM,GAAS,GAAM,OAAO,EAAE,EAAM,aAAa,cAAc,MAAM,EAAE,EAAM,aAAa,QAAQ,EAAE,EAAE,IAAI,IAAM,IAAU,CAAC,EAAM,GAAG,MAAM,KAAK,EAAM,iBAAiB,oBAAoB,CAAC,CAAC,EAAG,EAAQ,gBAAgB,kBAAkB,EAAyQ,OAAtQ,OAAO,OAAO,EAAM,MAAM,CAAC,SAAS,WAAW,KAAK,EAAE,KAAK,IAAI,EAAI,KAAK,MAAM,EAAM,KAAK,OAAO,EAAO,KAAK,OAAO,IAAI,UAAU,gBAAgB,QAAQ,IAAI,OAAO,IAAI,cAAc,OAAO,UAAU,YAAY,CAAC,EAAE,EAAK,YAAY,CAAK,EAAE,EAAY,KAAK,CAAK,EAAQ,CAAC,QAAM,MAAI,CAAE,EAAQ,EAAS,EAAU,EAAQ,GAAa,EAAK,EAAI,EAAQ,EAAS,EAAU,EAAQ,GAAW,EAAK,EAAU,EAAK,EAAI,EAAK,IAAiB,EAAU,EAAG,EAAU,GAAS,EAAU,GAAG,EAAQ,QAAQ,EAAK,EAAE,EAAK,EAAK,EAAQ,EAAU,GAAS,EAAY,GAAG,EAAQ,QAAQ,EAAK,EAAK,EAAK,GAAI,IAAI,IAAM,IAAQ,CAAC,EAAa,GAAG,GAAc,EAAU,CAAC,CAAS,EAAE,CAAC,CAAC,EAAG,EAAa,KAAK,CAAC,KAAK,EAAM,WAAW,EAAM,MAAM,UAAU,CAAC,EAAE,EAAM,MAAM,WAAW,SAAU,IAAM,EAAO,CAAC,EAAU,EAAK,GAAG,CAAC,EAAgB,EAAY,IAAI,GAAO,EAAM,QAAQ,CAAC,CAAC,UAAU,eAAe,EAAE,CAAC,UAAU,cAAc,EAAO,KAAK,CAAC,EAAE,CAAC,SAAS,IAAI,OAAO,oCAAoC,KAAK,MAAM,CAAC,CAAC,EAE33E,GAAc,EAAS,MAAM,EAAgB,KAAK,EAAS,KAAK,QAAQ,CAAC,CAAC,UAAU,kBAAkB,EAAE,CAAC,UAAU,eAAe,CAAC,EAAE,CAAC,SAAS,IAAI,MAAM,IAAI,OAAO,WAAW,KAAK,MAAM,CAAC,CAAC,EAAM,GAAc,EAAU,GAAG,EAAS,MAAM,EAAgB,KAAK,EAAS,KAAK,QAAQ,CAAC,CAAC,UAAU,eAAe,EAAE,CAAC,UAAU,kBAAkB,CAAC,EAAE,CAAC,SAAS,IAAI,MAAM,IAAI,OAAO,UAAU,KAAK,MAAM,CAAC,CAAC,EAAG,MAAM,QAAQ,IAAI,EAAgB,IAAI,GAAW,EAAU,SAAS,UAAU,IAAA,EAAS,CAAC,CAAC,EAAM,GAAS,EAAO,CAAE,QAAQ,CAAC,EAAW,CAAE,CAAC,EAAQ,EAAO,MAAM,EAAM,EAAU,IAAW,CAAC,GAAG,EAAS,OAAO,IAAM,GAAW,EAAM,EAAQ,QAAQ,EAAQ,OAAO,GAAG,GAAM,IAAY,EAAY,CAAC,EAAS,EAAE,MAAO,CAAC,EAAK,GAAK,EAAW,EAAE,MAAM,GAAQ,EAAU,MAAc,CAAC,EAAY,EAAU,EAAM,CAAW,CAAE,CAAC,EAAE,EAAK,GAAS,KAAmB,GAAS,EAAK,EAAY,EAAE,MAAM,EAAE,EAAS,EAAE,EAAQ,GAAa,EAAK,KAAK,EAAI,IAAQ,CAAC,IAAM,MAAU,EAAO,EAAM,GAAO,EAAY,EAAE,GAAG,EAAK,EAAQ,EAAQ,GAAO,CAAC,EAAM,gBAAgB,EAAK,EAAM,MAAM,cAAc,EAAM,eAAe,EAAE,EAAO,EAAY,EAAE,EAAE,EAAI,GAAW,EAAM,MAAM,aAAa,EAAM,eAAe,EAAE,EAAO,EAAY,EAAE,GAAG,EAAI,GAAW,EAAM,MAAM,QAAQ,EAAM,eAAe,EAAE,EAAO,EAAE,GAAG,EAAI,GAAW,EAAM,MAAM,OAAO,EAAM,eAAe,EAAE,EAAO,EAAQ,OAAO,EAAE,EAAE,EAAI,IAAW,EAAM,MAAM,SAAS,EAAM,MAAM,OAAK,EAAM,eAAe,EAAE,EAAO,EAAM,GAAO,EAAY,EAAE,GAAG,EAAK,EAAG,EAA8E,OAA5E,EAAI,iBAAiB,QAAQ,CAAK,EAAE,EAAI,iBAAiB,UAAU,CAAO,MAAY,CAAC,EAAI,oBAAoB,QAAQ,CAAK,EAAE,EAAI,oBAAoB,UAAU,CAAO,CAAE,CAAE,CAAC,EAAQ,GAAU,GAAO,CAAI,EAAM,MAAM,cAAc,EAAM,eAAe,EAAE,EAAO,EAAY,EAAE,EAAE,EAAK,GAAW,EAAM,MAAM,cAAa,EAAM,eAAe,EAAE,EAAO,EAAY,EAAE,GAAG,EAAK,EAAG,EAAQ,EAAgB,EAAK,cAAoB,GAAY,EAAgB,YAAkB,MAAiB,CAAC,IAAM,EAAG,GAAS,GAAG,EAAQ,KAAK,EAAgB,oBAAoB,cAAc,GAAc,EAAI,EAAE,EAAgB,oBAAoB,YAAY,GAAY,EAAI,EAAE,EAAgB,oBAAoB,gBAAgB,GAAgB,EAAI,EAAE,EAAgB,oBAAoB,cAAc,GAAoB,EAAI,EAAE,EAAgB,oBAAoB,mBAAmB,EAAmB,EAAE,IAAa,oBAAoB,OAAO,CAAkB,EAAE,GAAG,CAAI,IAAK,IAAA,IAAW,EAAK,kBAAkB,CAAE,GAAE,EAAK,sBAAsB,CAAE,CAAE,MAAM,CAAC,CAAC,EAAQ,MAAuB,CAAC,EAAa,EAAE,EAAS,CAAE,EAAQ,OAAwB,CAAI,EAAgB,QAAO,EAAmB,CAAE,EAAQ,GAAoB,GAAO,CAAI,GAAS,EAAQ,KAAK,EAAM,WAAU,EAAmB,CAAE,EAAQ,GAAc,GAAO,CAAI,GAAU,GAAM,CAAC,EAAM,WAAoB,EAAM,cAAc,UAAU,EAAM,SAAS,GAAG,EAAO,WAAW,OAAyB,EAAM,kBAAkB,QAAQ,EAAM,OAAO,KAAA,EAAgB,QAAQ,oEAAoE,IAAS,EAAa,EAAE,EAAQ,CAAC,GAAG,EAAM,UAAU,EAAE,EAAM,QAAQ,EAAE,EAAM,QAAQ,WAAW,EAAK,EAAE,EAAW,EAE7lG,EAAgB,iBAAiB,cAAc,GAAc,CAAC,QAAQ,GAAK,QAAQ,EAAK,CAAC,EAAE,EAAgB,iBAAiB,YAAY,GAAY,EAAI,EAAE,EAAgB,iBAAiB,gBAAgB,GAAgB,EAAI,EAAE,EAAgB,iBAAiB,cAAc,GAAoB,EAAI,EAAE,EAAgB,iBAAiB,mBAAmB,EAAmB,EAAE,IAAa,iBAAiB,OAAO,CAAkB,EAAE,EAAQ,GAAc,GAAO,CAAC,GAAG,CAAC,GAAS,EAAQ,KAAK,EAAM,UAAU,OAAO,IAAM,EAAG,EAAM,QAAQ,EAAQ,EAAQ,EAAG,EAAM,QAAQ,EAAQ,EAAE,GAAG,CAAC,EAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,CAAE,EAAE,KAAK,IAAI,CAAE,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,IAAI,CAAE,GAAG,KAAK,IAAI,CAAE,EAAE,IAAI,CAAC,EAAmB,EAAE,MAAO,CAAC,EAAQ,WAAW,GAAK,GAAG,CAAC,EAAK,kBAAkB,EAAM,SAAS,CAAE,MAAM,CAAC,CAAC,CAAI,GAAS,YAAY,EAAM,YAAW,EAAM,eAAe,CAAE,EAAQ,GAAY,GAAO,CAAC,GAAG,CAAC,GAAS,EAAQ,KAAK,EAAM,UAAU,OAAO,IAAM,EAAG,EAAM,QAAQ,EAAQ,EAAQ,EAAG,EAAM,QAAQ,EAAQ,EAAiB,GAAf,EAAa,EAAK,EAAgB,QAAQ,CAAC,EAAK,aAAa,KAAK,IAAI,CAAE,EAAE,GAAiB,KAAK,IAAI,CAAE,GAAG,KAAK,IAAI,CAAE,EAAE,IAAI,CAAC,EAAS,EAAE,MAAO,CAAC,EAAmB,KAAK,IAAI,EAAE,IAAO,EAAM,YAAW,EAAM,eAAe,EAAE,EAAO,GAAa,EAAG,EAAE,EAAE,IAAI,EAAG,EAAE,EAAE,GAAG,EAAK,CAAE,EAAQ,GAAgB,GAAO,CAAI,GAAS,KAAK,EAAM,WAAU,EAAmB,CAAE,EAAQ,GAAa,GAAO,CAAI,CAAC,EAAM,WAAW,KAAK,IAAI,GAAG,IAA0B,EAAM,eAAe,EAAE,EAAM,yBAAyB,EAAE,EAAQ,GAAY,GAAO,CAAI,GAAQ,EAAM,eAAe,CAAE,EAAQ,OAAiB,CAAC,EAAQ,GAAK,EAAW,CAAE,EAAQ,OAAiB,CAAC,EAAQ,GAAM,EAAS,CAAE,EAAQ,OAAc,CAAC,EAAQ,GAAK,EAAW,CAAE,EAAQ,GAAW,GAAO,CAAI,EAAM,yBAAyB,MAAM,EAAK,SAAS,EAAM,aAAa,IAAS,EAAQ,GAAM,EAAS,EAAE,EAAQ,OAAiB,CAAI,SAAS,OAAO,EAAW,EAAI,EAAO,EAAS,CAAE,EAAQ,GAAmB,IAAI,qBAAqB,GAAS,CAAC,IAAM,EAAM,EAAQ,EAAQ,OAAO,GAAG,EAAO,CAAC,CAAC,GAAO,gBAAgB,EAAM,iBAAiB,MAAM,GAAG,EAAM,iBAAiB,OAAO,EAAK,EAAO,EAAS,EAAO,EAAW,EAAI,CAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAM,GAAS,GAAmB,QAAQ,CAAI,EAEjqE,IAAM,GAAa,GAAO,CAAoD,GAAhD,EAAM,SAAS,IAAS,EAAM,gBAAgB,EAAK,EAAM,SAAS,EAAM,SAAS,EAAM,UAAU,EAAM,QAAO,OAAO,EAAM,eAAe,EAAE,IAAM,EAAM,EAAQ,GAA0F,GAAvD,EAAO,SAAS,SAAS,SAAS,mBAAsC,GAAG,EAAM,aAAa,YAAY,CAE3U,EAAM,YAAY,MAAM,EAAE,MAAO,CAAC,EAAO,SAAS,OAAO,EAAM,IAAI,CAAE,EAAE,EAAI,iBAAiB,QAAQ,GAAa,EAAI,EAAE,EAAK,iBAAiB,UAAU,EAAS,EAAE,EAAK,iBAAiB,cAAc,EAAa,EAAE,EAAK,iBAAiB,QAAQ,GAAa,EAAI,EAAE,EAAK,iBAAiB,YAAY,EAAW,EAAE,EAAK,iBAAiB,aAAa,EAAY,EAAE,EAAK,iBAAiB,aAAa,EAAY,EAAE,EAAK,iBAAiB,UAAU,EAAS,EAAE,EAAK,iBAAiB,WAAW,EAAU,EAAE,SAAS,iBAAiB,mBAAmB,EAAY,EAAE,EAAM,CAAW,EAAE,EAAS,EAAE,MAAa,CAAC,EAAS,GAAQ,IAAuB,KAAK,GAAY,gBAAgB,aAAa,EAAO,GAAY,aAAa,cAAc,CAAoB,EAAE,EAAW,EAAE,EAAW,EAAE,EAAK,iBAAiB,6BAA6B,CAAC,CAAC,QAAQ,GAAO,EAAM,OAAO,CAAC,EAAE,EAAI,oBAAoB,QAAQ,GAAa,EAAI,EAAE,GAAa,QAAQ,GAAQ,EAAO,CAAC,EAAE,EAAK,oBAAoB,UAAU,EAAS,EAAE,EAAK,oBAAoB,cAAc,EAAa,EAAE,EAAK,oBAAoB,QAAQ,GAAa,EAAI,EAAE,EAAK,oBAAoB,YAAY,EAAW,EAAE,EAAa,EAAE,EAAK,MAAM,YAAY,EAAoB,EAAK,oBAAoB,aAAa,EAAY,EAAE,EAAK,oBAAoB,aAAa,EAAY,EAAE,EAAK,oBAAoB,UAAU,EAAS,EAAE,EAAK,oBAAoB,WAAW,EAAU,EAAE,SAAS,oBAAoB,mBAAmB,EAAY,EAAE,GAAmB,WAAW,CAAE,CAAE,EAAQ,EAAS,IAAI,iBAAiB,CAAU,EAAoE,OAAlE,EAAS,QAAQ,EAAK,CAAC,UAAU,GAAK,QAAQ,EAAI,CAAC,EAAE,EAAW,MAAY,CAAC,EAAS,WAAW,EAAE,IAAW,CAAE,CAAE,EAAE,CAAC,CAAC,EAAsB,EAAK,EAAU,CAAC,GAAG,EAAU,KAAG,CAAC,CAAE,CAAE,CAIlsD,SAAgB,EAAoB,EAAU,CAAC,OAAO,SAAyB,EAAM,CAAC,IAAM,EAAIA,EAAO,IAAI,EAAwlE,OAAtlE,MAAc,CAAC,IAAM,EAAK,EAAI,QAAQ,GAAG,CAAC,GAAa,IAAS,OAAY,OAAO,IAAM,EAAI,EAAK,cAAc,CAAgB,EAAQ,EAAS,EAAK,cAAc,CAAqB,EAAQ,EAAK,EAAK,cAAc,CAAiB,EAAE,GAAG,CAAC,GAAK,CAAC,GAAU,CAAC,EAAK,OAAO,IAAM,EAAc,EAAO,WAAW,kCAAkC,EAAQ,MAAY,CAAC,IAAM,EAAK,EAAI,kBAAwB,EAAI,WAAW,iBAAiB,CAAG,CAAC,CAAC,WAAW,GAAG,GAAG,EAAE,OAAO,GAAM,sBAAsB,CAAC,CAAC,OAAO,EAAI,aAAa,CAAI,EAAQ,GAAiB,EAAQ,IAAW,CAAC,EAAQ,aAAa,gBAAgB,EAAS,OAAO,OAAO,EAAE,EAAQ,MAAM,cAAc,EAAS,OAAO,OAAO,EAAQ,MAAM,QAAQ,EAAS,MAAM,IAAO,aAAmB,oBAAkB,EAAQ,SAAS,EAAS,EAAQ,MAAS,CAAC,IAAM,EAAQ,KAAK,IAAI,EAAE,EAAI,YAAY,EAAI,WAAW,EAAE,EAAgB,EAAS,EAAI,YAAY,CAAC,EAAE,EAAgB,EAAK,EAAI,YAAY,EAAQ,CAAC,CAAE,EAAQ,EAAK,GAAW,GAAO,CAAC,EAAM,eAAe,EAAE,EAAM,gBAAgB,EAAE,EAAI,SAAS,CAAC,KAAK,EAAU,EAAQ,EAAE,SAAS,EAAc,QAAQ,OAAO,QAAQ,CAAC,CAAE,EAAQ,EAAa,EAAK,EAAE,EAAQ,EAAS,EAAK,CAAC,EAAQ,EAAS,GAAS,GAAO,CAAI,EAAM,MAAM,SAAS,EAAM,MAAM,KAAW,EAAQ,CAAK,CAAE,EAAQ,EAAiB,EAAS,CAAY,EAAQ,EAAa,EAAS,CAAQ,EAAE,EAAI,MAAM,eAAe,EAAc,QAAQ,OAAO,SAAS,EAAS,aAAa,OAAO,QAAQ,EAAE,EAAS,SAAS,EAAE,EAAK,aAAa,OAAO,QAAQ,EAAE,EAAK,SAAS,EAAE,EAAS,iBAAiB,QAAQ,CAAY,EAAE,EAAK,iBAAiB,QAAQ,CAAQ,EAAE,EAAS,iBAAiB,UAAU,CAAgB,EAAE,EAAK,iBAAiB,UAAU,CAAY,EAAE,EAAI,iBAAiB,SAAS,EAAK,CAAC,QAAQ,EAAI,CAAC,EAAE,IAAM,EAAe,IAAI,eAAe,CAAI,EAAqC,OAAnC,EAAe,QAAQ,CAAG,EAAE,EAAK,MAAY,CAAC,EAAS,oBAAoB,QAAQ,CAAY,EAAE,EAAK,oBAAoB,QAAQ,CAAQ,EAAE,EAAS,oBAAoB,UAAU,CAAgB,EAAE,EAAK,oBAAoB,UAAU,CAAY,EAAE,EAAI,oBAAoB,SAAS,CAAI,EAAE,EAAe,WAAW,CAAE,CAAE,EAAE,CAAC,CAAC,EAAsB,EAAK,EAAU,CAAC,GAAG,EAAU,KAAG,CAAC,CAAE,CAAE,oEA1GrtE,IAAoC,IAAiC,EA8BqH,EAAK,wEAA8E,EAAK,gEAAsE,EAAO,uCAAoH,GAM3f,EAN2f,EAMlf,EANkf,EAMze,EANye,EAmDvO,EAAoB,2CAAiD,EAAY,yCAA+C,EAAc,2CAAiD,EAAmB,2CAAiD,EAAmB,gDAAsD,EAAoB,2CAAiD,EAAoB,2CAAiD,EAAsB,6CAAmD,EAAmB,0CAAgD,EAAe,4CAAkD,EAAoB,mDAAyD,EAAe,4CAAkD,EAAiB,8CAAoD,EAAc,2CAAiD,EAAK,UAAuC,EAAY,IAAU,EAAgB,GAqB+a,EAAiB,qCAA2C,EAAsB,yCAA+C,EAAkB"}