{"version":3,"file":"ResponsiveBlogCanvas.Da0PWdRd.mjs","names":["setRefValue","useRef","useCallback","useRef","useCallback","useState","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/KxaOwXrIKenIjwTpAvLs/nkmULdXz9HGlLsB9ydDK/BlogFilterState.js","https:/framerusercontent.com/modules/engXzMkULXKoBZCjXqBG/4zsFiUjmKao1KIJpCXaz/BlogMobilePagination.js","https:/framerusercontent.com/modules/BbjnZWxFBdG2qnXKaT6z/9e16THhhYH9vdYtmAiqy/ResponsiveBlogCanvas.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useCallback,useEffect,useRef}from\"react\";function setRefValue(ref,value){if(!ref)return;if(typeof ref===\"function\"){ref(value);return;}ref.current=value;}function normalizeText(value){return value.replace(/\\s+/g,\" \").trim().toLowerCase();}function resolveTopLevelCmsItems(root){const candidates=Array.from(root.querySelectorAll(\"[aria-label='cmsitem']\"));return candidates.filter(item=>{const parentCmsItem=item.parentElement?.closest(\"[aria-label='cmsitem']\");return!parentCmsItem||!root.contains(parentCmsItem);});}function extractCardYearFromMarker(item){const marker=item.querySelector(\"[aria-label='filter-year']\");if(!marker)return null;const markerText=marker.textContent??\"\";const match=markerText.match(/\\b(\\d{4})\\b/);if(match?.[1])return match[1];return null;}export function withBlogFilterState(Component){return /*#__PURE__*/forwardRef(function WithBlogFilterState(props,forwardedRef){const rootRef=useRef(null);const scopeClassRef=useRef(`blog-filter-state-${Math.random().toString(36).slice(2,10)}`);const selectedCategoryRef=useRef(null);const selectedYearRef=useRef(null);const hiddenSignatureRef=useRef(\"\");const isPaginationControl=useCallback(element=>{return Boolean(element.closest(\"[aria-label='Blog collection pagination']\")||element.closest(\".blog-pagination-button\")||element.closest(\".blog-pagination-ellipsis\"));},[]);const applyFilters=useCallback(()=>{const root=rootRef.current;if(!root)return;const cmsItems=resolveTopLevelCmsItems(root);const selectedCategory=selectedCategoryRef.current;const selectedYear=selectedYearRef.current;const nextHiddenSignature=[];cmsItems.forEach(item=>{const rawText=item.textContent??\"\";const normalizedCardText=normalizeText(rawText);const cardYear=extractCardYearFromMarker(item);const categoryMatch=selectedCategory?normalizedCardText.includes(selectedCategory):true;const yearMatch=selectedYear?cardYear===selectedYear:true;const shouldHide=!(categoryMatch&&yearMatch);nextHiddenSignature.push(shouldHide?\"1\":\"0\");item.classList.toggle(\"blog-filter-hidden\",shouldHide);});const signature=nextHiddenSignature.join(\"\");const hasHiddenSetChanged=hiddenSignatureRef.current!==signature;hiddenSignatureRef.current=signature;if(hasHiddenSetChanged){const gridWrapper=cmsItems[0]?.parentElement;if(gridWrapper){gridWrapper.dispatchEvent(new CustomEvent(\"blog-filter-change\",{bubbles:true}));}}},[]);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;const root=rootRef.current;if(!root)return;const scopeClassName=scopeClassRef.current;root.classList.add(scopeClassName);const styleElement=document.createElement(\"style\");styleElement.setAttribute(\"data-blog-filter-state-style\",scopeClassName);styleElement.textContent=`\n                .${scopeClassName} .blog-filter-hidden {\n                    display: none !important;\n                }\n                .${scopeClassName} [data-blog-filter-active=\"true\"] {\n                    background: #1761E6 !important;\n                    border-color: #1761E6 !important;\n                    color: #FFFFFF !important;\n                }\n                .${scopeClassName} [data-blog-filter-active=\"true\"] * {\n                    color: #FFFFFF !important;\n                }\n            `;document.head.appendChild(styleElement);const getTagType=tagElement=>{if(tagElement.closest(\"[aria-label='cmsitem']\"))return null;if(isPaginationControl(tagElement))return null;const rawLabel=tagElement.textContent??\"\";const label=rawLabel.replace(/\\s+/g,\" \").trim();if(!label)return null;const cmsItems=resolveTopLevelCmsItems(root);if(cmsItems.length===0)return null;const cmsTexts=cmsItems.map(item=>item.textContent??\"\");if(/^\\d{4}$/.test(label)){const hasYearMatch=cmsItems.some(item=>{return extractCardYearFromMarker(item)===label;});return hasYearMatch?\"year\":null;}const normalizedLabel=normalizeText(label);const hasCategoryMatch=cmsTexts.some(text=>{return normalizeText(text).includes(normalizedLabel);});return hasCategoryMatch?\"category\":null;};const clearAllActiveTags=()=>{root.querySelectorAll(\"[data-blog-filter-active='true']\").forEach(node=>{delete node.dataset.blogFilterActive;delete node.dataset.blogFilterActiveType;});};const markActiveTag=(tag,type)=>{tag.dataset.blogFilterActive=\"true\";tag.dataset.blogFilterActiveType=type;};const resolveClickableCandidates=()=>{// Tags we explicitly marked on canvas are unambiguous - a tag's\n// inner text is never itself marked, so there is exactly one\n// matching element per tag. Prefer these, and only fall back to\n// the generic selector for anything not marked this way, making\n// sure it never picks up an inner element of an already-tagged tag.\nconst tagged=Array.from(root.querySelectorAll(\"[aria-label='filter-tag']\"));const generic=Array.from(root.querySelectorAll(\"button, [role='button'], a, [data-framer-component-type='Button'], [data-framer-name]\")).filter(node=>!node.closest(\"[aria-label='filter-tag']\"));return[...tagged,...generic].filter(node=>{if(node.closest(\"[aria-label='cmsitem']\"))return false;if(isPaginationControl(node))return false;return true;});};const restoreActiveTagFromSelection=()=>{clearAllActiveTags();const selectedCategory=selectedCategoryRef.current;const selectedYear=selectedYearRef.current;if(!selectedCategory&&!selectedYear)return;const candidates=resolveClickableCandidates();for(const candidate of candidates){const type=getTagType(candidate);if(!type)continue;const label=normalizeText(candidate.textContent??\"\");if(!label)continue;if(selectedCategory&&type===\"category\"&&label===selectedCategory){markActiveTag(candidate,\"category\");return;}if(selectedYear&&type===\"year\"&&label===selectedYear){markActiveTag(candidate,\"year\");return;}}};const onClick=event=>{const target=event.target;if(!(target instanceof HTMLElement))return;// A tag explicitly marked on canvas is unambiguous - prefer it\n// over the generic selector, which can otherwise match a tag's\n// own named inner text element instead of the tag itself.\nconst clickable=target.closest(\"[aria-label='filter-tag']\")??target.closest(\"button, [role='button'], a, [data-framer-component-type='Button'], [data-framer-name]\");if(!clickable||!root.contains(clickable))return;if(clickable.closest(\"[aria-label='cmsitem']\"))return;if(isPaginationControl(clickable))return;const type=getTagType(clickable);if(!type)return;const normalizedLabel=normalizeText(clickable.textContent??\"\");if(!normalizedLabel)return;const isActiveInPath=(()=>{let node=clickable;while(node&&root.contains(node)){if(node.dataset.blogFilterActive===\"true\")return true;if(node===root)break;node=node.parentElement;}return false;})();if(isActiveInPath){selectedCategoryRef.current=null;selectedYearRef.current=null;clearAllActiveTags();applyFilters();return;}if(type===\"category\"){clearAllActiveTags();selectedCategoryRef.current=null;selectedYearRef.current=null;selectedCategoryRef.current=normalizedLabel;markActiveTag(clickable,\"category\");}else{clearAllActiveTags();selectedCategoryRef.current=null;selectedYearRef.current=null;selectedYearRef.current=normalizedLabel;markActiveTag(clickable,\"year\");}applyFilters();};const observer=new MutationObserver(()=>{restoreActiveTagFromSelection();applyFilters();});root.addEventListener(\"click\",onClick);observer.observe(root,{childList:true,subtree:true});applyFilters();return()=>{observer.disconnect();root.removeEventListener(\"click\",onClick);root.classList.remove(scopeClassName);root.querySelectorAll(\"[data-blog-filter-active='true']\").forEach(node=>{delete node.dataset.blogFilterActive;delete node.dataset.blogFilterActiveType;});styleElement.remove();};},[applyFilters,isPaginationControl]);return /*#__PURE__*/_jsx(Component,{ref:node=>{rootRef.current=node;setRefValue(forwardedRef,node);},...props});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withBlogFilterState\":{\"type\":\"reactHoc\",\"name\":\"withBlogFilterState\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BlogFilterState.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useCallback,useEffect,useRef}from\"react\";const ITEMS_PER_PAGE=12;const ARTICLE_LIST_SELECTOR=\"[aria-label='blog-mobile-article-list']\";const FILTER_CHANGE_EVENT=\"blog-filter-change\";function setRefValue(ref,value){if(!ref)return;if(typeof ref===\"function\"){ref(value);return;}ref.current=value;}function resolveCmsItems(container){const candidates=Array.from(container.querySelectorAll(\"[aria-label='cmsitem']\"));return candidates.filter(item=>{const parentCmsItem=item.parentElement?.closest(\"[aria-label='cmsitem']\");return!parentCmsItem||!container.contains(parentCmsItem);});}function readItemStyle(item){const computed=window.getComputedStyle(item);const textElement=item.querySelector(\"p, span\")??item;const textComputed=window.getComputedStyle(textElement);return{background:computed.backgroundColor,border:computed.border,borderRadius:computed.borderRadius,padding:computed.padding,minWidth:computed.width,height:computed.height,color:textComputed.color,fontFamily:textComputed.fontFamily,fontWeight:textComputed.fontWeight,fontSize:textComputed.fontSize,lineHeight:textComputed.lineHeight};}function buildPaginationTokens(totalPages,currentPage){if(totalPages<=7){return Array.from({length:totalPages},(_,index)=>index+1);}const pages=new Set;pages.add(1);pages.add(totalPages);const leftNeighbor=Math.max(2,currentPage-1);const rightNeighbor=Math.min(totalPages-1,currentPage+1);for(let page=leftNeighbor;page<=rightNeighbor;page++){pages.add(page);}const sortedPages=Array.from(pages).sort((a,b)=>a-b);const tokens=[];sortedPages.forEach((page,index)=>{if(index===0){tokens.push(page);return;}const previous=sortedPages[index-1];if(page-previous>1)tokens.push(\"ellipsis\");tokens.push(page);});return tokens;}export function withBlogMobilePagination(Component){return /*#__PURE__*/forwardRef(function WithBlogMobilePagination(props,forwardedRef){const rootRef=useRef(null);const currentPageRef=useRef(1);const templatesRef=useRef(null);const findArticleList=useCallback(root=>{const scope=root.parentElement??root;return scope.querySelector(ARTICLE_LIST_SELECTOR);},[]);const captureTemplates=useCallback(root=>{if(templatesRef.current)return templatesRef.current;const items=Array.from(root.children);if(items.length<2)return null;templatesRef.current={active:readItemStyle(items[0]),inactive:readItemStyle(items[1])};return templatesRef.current;},[]);const applyItemStyle=(element,style)=>{element.style.background=style.background;element.style.border=style.border;element.style.borderRadius=style.borderRadius;element.style.padding=style.padding;element.style.minWidth=style.minWidth;element.style.height=style.height;element.style.color=style.color;element.style.fontFamily=style.fontFamily;element.style.fontWeight=style.fontWeight;element.style.fontSize=style.fontSize;element.style.lineHeight=style.lineHeight;};const render=useCallback((totalPages,page,onSelect)=>{const root=rootRef.current;if(!root)return;const templates=captureTemplates(root);if(!templates)return;root.innerHTML=\"\";const tokens=buildPaginationTokens(totalPages,page);tokens.forEach((token,index)=>{if(token===\"ellipsis\"){const el=document.createElement(\"div\");el.setAttribute(\"aria-hidden\",\"true\");el.textContent=\"…\";el.style.display=\"flex\";el.style.alignItems=\"center\";el.style.justifyContent=\"center\";el.style.color=\"rgb(23, 97, 230)\";el.style.fontFamily=templates.inactive.fontFamily;el.style.fontSize=templates.inactive.fontSize;root.appendChild(el);return;}const isActive=token===page;const el=document.createElement(\"button\");el.type=\"button\";el.setAttribute(\"aria-label\",`Go to page ${token}`);if(isActive)el.setAttribute(\"aria-current\",\"page\");el.textContent=String(token);el.style.display=\"flex\";el.style.alignItems=\"center\";el.style.justifyContent=\"center\";el.style.cursor=isActive?\"default\":\"pointer\";applyItemStyle(el,isActive?templates.active:templates.inactive);el.style.color=isActive?\"rgb(255, 255, 255)\":\"rgb(23, 97, 230)\";el.addEventListener(\"click\",()=>onSelect(token));root.appendChild(el);});},[captureTemplates]);const applyPagination=useCallback(requestedPage=>{const root=rootRef.current;if(!root)return;const articleList=findArticleList(root);if(!articleList)return;const items=resolveCmsItems(articleList);const visibleItems=items.filter(item=>!item.classList.contains(\"blog-filter-hidden\"));const totalPages=Math.max(1,Math.ceil(visibleItems.length/ITEMS_PER_PAGE));const safePage=Math.min(Math.max(1,requestedPage),totalPages);currentPageRef.current=safePage;const start=(safePage-1)*ITEMS_PER_PAGE;const end=start+ITEMS_PER_PAGE;visibleItems.forEach((item,index)=>{item.classList.toggle(\"blog-page-hidden\",index<start||index>=end);});render(totalPages,safePage,handlePageChange);},[findArticleList,render]);function handlePageChange(page){const root=rootRef.current;const articleList=root?findArticleList(root):null;if(articleList&&typeof window!==\"undefined\"){const top=articleList.getBoundingClientRect().top+window.scrollY-120;window.scrollTo({top:Math.max(0,top),behavior:\"smooth\"});}applyPagination(page);}useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;const root=rootRef.current;if(!root)return;const style=document.createElement(\"style\");style.textContent=`\n                .blog-page-hidden { display: none !important; }\n            `;document.head.appendChild(style);applyPagination(currentPageRef.current);const articleList=findArticleList(root);const scope=root.parentElement??root;const onFilterChange=()=>{applyPagination(1);};const observer=articleList?new MutationObserver(()=>applyPagination(currentPageRef.current)):null;if(articleList&&observer){observer.observe(articleList,{attributes:true,attributeFilter:[\"class\"],subtree:true});}scope.addEventListener(FILTER_CHANGE_EVENT,onFilterChange);return()=>{observer?.disconnect();scope.removeEventListener(FILTER_CHANGE_EVENT,onFilterChange);style.remove();if(articleList){resolveCmsItems(articleList).forEach(item=>item.classList.remove(\"blog-page-hidden\"));}};},[applyPagination,findArticleList]);return /*#__PURE__*/_jsx(Component,{ref:node=>{rootRef.current=node;setRefValue(forwardedRef,node);},...props});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withBlogMobilePagination\":{\"type\":\"reactHoc\",\"name\":\"withBlogMobilePagination\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BlogMobilePagination.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,startTransition,useCallback,useEffect,useMemo,useState}from\"react\";const BASE_WIDTH=1372;const TABLET_BREAKPOINT=800;function getViewportWidth(){if(typeof window===\"undefined\")return 0;return window.innerWidth;}export function withResponsiveBlogCanvas(Component){return /*#__PURE__*/forwardRef(function WithResponsiveBlogCanvas(props,ref){const[measuredNode,setMeasuredNode]=useState(null);const[viewportWidth,setViewportWidth]=useState(0);const[naturalHeight,setNaturalHeight]=useState(null);const isScaledMode=viewportWidth>=TABLET_BREAKPOINT&&viewportWidth<BASE_WIDTH;const scale=useMemo(()=>{if(!isScaledMode)return 1;return viewportWidth/BASE_WIDTH;},[isScaledMode,viewportWidth]);const updateViewportWidth=useCallback(()=>{if(typeof window!==\"undefined\"){const nextWidth=window.innerWidth;startTransition(()=>{setViewportWidth(prev=>prev===nextWidth?prev:nextWidth);});}},[]);const measureHeight=useCallback(()=>{const nextHeight=measuredNode?.offsetHeight??null;startTransition(()=>{setNaturalHeight(prev=>prev===nextHeight?prev:nextHeight);});},[measuredNode]);const measuredRefCallback=useCallback(node=>{setMeasuredNode(node);},[]);useEffect(()=>{if(typeof window===\"undefined\")return;startTransition(()=>{setViewportWidth(getViewportWidth());});const onResize=()=>{updateViewportWidth();measureHeight();};window.addEventListener(\"resize\",onResize);return()=>{window.removeEventListener(\"resize\",onResize);};},[measureHeight,updateViewportWidth]);useEffect(()=>{if(!measuredNode||typeof ResizeObserver===\"undefined\")return;const observer=new ResizeObserver(()=>{measureHeight();});observer.observe(measuredNode);measureHeight();return()=>{observer.disconnect();};},[measuredNode,measureHeight]);const scaledHeight=useMemo(()=>{if(!isScaledMode)return undefined;if(naturalHeight===null)return undefined;return naturalHeight*scale;},[isScaledMode,naturalHeight,scale]);if(!isScaledMode){return /*#__PURE__*/_jsx(Component,{ref:ref,...props});}return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:scaledHeight,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:BASE_WIDTH,zoom:scale},children:/*#__PURE__*/_jsx(\"div\",{ref:measuredRefCallback,style:{position:\"relative\"},children:/*#__PURE__*/_jsx(Component,{ref:ref,...props,style:{...props.style,width:BASE_WIDTH,maxWidth:BASE_WIDTH}})})})});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withResponsiveBlogCanvas\":{\"type\":\"reactHoc\",\"name\":\"withResponsiveBlogCanvas\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ResponsiveBlogCanvas.map"],"mappings":"qKAAsG,SAASA,EAAY,EAAI,EAAM,CAAK,KAAW,IAAG,OAAO,GAAM,WAAW,CAAC,EAAI,CAAK,EAAE,MAAO,CAAC,EAAI,QAAQ,CAAb,CAAmB,CAAC,SAAS,EAAc,EAAM,CAAC,OAAO,EAAM,QAAQ,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAE,CAAC,SAAS,EAAwB,EAAK,CAA8E,OAA5D,MAAM,KAAK,EAAK,iBAAiB,wBAAwB,CAAmB,CAAC,CAAC,OAAO,GAAM,CAAC,IAAM,EAAc,EAAK,eAAe,QAAQ,wBAAwB,EAAE,MAAM,CAAC,GAAe,CAAC,EAAK,SAAS,CAAa,CAAE,CAAC,CAAE,CAAC,SAAS,EAA0B,EAAK,CAAC,IAAM,EAAO,EAAK,cAAc,4BAA4B,EAAE,GAAG,CAAC,EAAO,OAAO,KAA6C,IAAM,GAA7B,EAAO,aAAa,GAAA,CAA0B,MAAM,aAAa,EAAgC,OAA3B,IAAQ,GAAU,EAAM,GAAU,IAAK,CAAC,SAAgB,EAAoB,EAAU,CAAC,OAAoB,EAAW,SAA6B,EAAM,EAAa,CAAC,IAAM,EAAQC,EAAO,IAAI,EAAQ,EAAcA,EAAO,qBAAqB,KAAK,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAQ,EAAoBA,EAAO,IAAI,EAAQ,EAAgBA,EAAO,IAAI,EAAQ,EAAmBA,EAAO,EAAE,EAAQ,EAAoBC,EAAY,GAAiB,GAAQ,EAAQ,QAAQ,2CAA2C,GAAG,EAAQ,QAAQ,yBAAyB,GAAG,EAAQ,QAAQ,2BAA2B,GAAK,CAAC,CAAC,EAAQ,EAAaA,MAAgB,CAAC,IAAM,EAAK,EAAQ,QAAQ,GAAG,CAAC,EAAK,OAAO,IAAM,EAAS,EAAwB,CAAI,EAAQ,EAAiB,EAAoB,QAAc,EAAa,EAAgB,QAAc,EAAoB,CAAC,EAAE,EAAS,QAAQ,GAAM,CAAoC,IAAM,EAAmB,EAA9C,EAAK,aAAa,EAAiD,EAAQ,EAAS,EAA0B,CAAI,EAA0J,EAAW,GAA/I,IAAiB,EAAmB,SAAS,CAAgB,KAAuB,IAAa,IAAW,IAA+D,EAAoB,KAAK,EAAW,IAAI,GAAG,EAAE,EAAK,UAAU,OAAO,qBAAqB,CAAU,CAAE,CAAC,EAAE,IAAM,EAAU,EAAoB,KAAK,EAAE,EAAQ,EAAoB,EAAmB,UAAU,EAA+C,GAArC,EAAmB,QAAQ,EAAa,EAAoB,CAAC,IAAM,EAAY,EAAS,EAAE,EAAE,cAAiB,GAAa,EAAY,cAAc,IAAI,YAAY,qBAAqB,CAAC,QAAQ,EAAI,CAAC,CAAC,CAAG,CAAC,EAAE,CAAC,CAAC,EAoBvvB,OApByvB,MAAc,CAAC,GAAU,IAAS,QAAa,OAAO,SAAW,IAAY,OAAO,IAAM,EAAK,EAAQ,QAAQ,GAAG,CAAC,EAAK,OAAO,IAAM,EAAe,EAAc,QAAQ,EAAK,UAAU,IAAI,CAAc,EAAE,IAAM,EAAa,SAAS,cAAc,OAAO,EAAE,EAAa,aAAa,+BAA+B,CAAc,EAAE,EAAa,YAAY;mBACpsF,EAAe;;;mBAGf,EAAe;;;;;mBAKf,EAAe;;;cAGpB,SAAS,KAAK,YAAY,CAAY,EAAE,IAAM,EAAW,GAAY,CAA6D,GAAzD,EAAW,QAAQ,wBAAwB,GAAiB,EAAoB,CAAU,EAAE,OAAO,KAA+C,IAAM,GAAjC,EAAW,aAAa,GAAA,CAAwB,QAAQ,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAM,OAAO,KAAK,IAAM,EAAS,EAAwB,CAAI,EAAE,GAAG,EAAS,SAAS,EAAE,OAAO,KAAK,IAAM,EAAS,EAAS,IAAI,GAAM,EAAK,aAAa,EAAE,EAAE,GAAG,UAAU,KAAK,CAAK,EAA6F,OAAvE,EAAS,KAAK,GAAc,EAA0B,CAAI,IAAI,CAA2B,EAAE,OAAO,KAAM,IAAM,EAAgB,EAAc,CAAK,EAAsG,OAA7E,EAAS,KAAK,GAAc,EAAc,CAAI,CAAC,CAAC,SAAS,CAAe,CAA2B,EAAE,WAAW,IAAK,EAAQ,MAAuB,CAAC,EAAK,iBAAiB,kCAAkC,CAAC,CAAC,QAAQ,GAAM,CAAC,OAAO,EAAK,QAAQ,iBAAiB,OAAO,EAAK,QAAQ,oBAAqB,CAAC,CAAE,EAAQ,GAAe,EAAI,IAAO,CAAC,EAAI,QAAQ,iBAAiB,OAAO,EAAI,QAAQ,qBAAqB,CAAK,EAAQ,MAA+B,CAKjlC,IAAM,EAAO,MAAM,KAAK,EAAK,iBAAiB,2BAA2B,CAAC,EAAQ,EAAQ,MAAM,KAAK,EAAK,iBAAiB,uFAAuF,CAAC,CAAC,CAAC,OAAO,GAAM,CAAC,EAAK,QAAQ,2BAA2B,CAAC,EAAE,MAAM,CAAC,GAAG,EAAO,GAAG,CAAO,CAAC,CAAC,OAAO,GAA8D,EAApD,EAAK,QAAQ,wBAAwB,GAAkB,EAAoB,CAAI,EAA4B,CAAE,EAAQ,MAAkC,CAAC,EAAmB,EAAE,IAAM,EAAiB,EAAoB,QAAc,EAAa,EAAgB,QAAQ,GAAG,CAAC,GAAkB,CAAC,EAAa,OAAO,IAAM,EAAW,EAA2B,EAAE,IAAI,IAAM,KAAa,EAAW,CAAC,IAAM,EAAK,EAAW,CAAS,EAAE,GAAG,CAAC,EAAK,SAAS,IAAM,EAAM,EAAc,EAAU,aAAa,EAAE,EAAM,KAAe,IAAG,GAAkB,IAAO,YAAY,IAAQ,EAAiB,CAAC,EAAc,EAAU,UAAU,EAAE,MAAO,CAAC,GAAG,GAAc,IAAO,QAAQ,IAAQ,EAAa,CAAC,EAAc,EAAU,MAAM,EAAE,MAAO,CAA9F,CAA+F,CAAC,EAAQ,EAAQ,GAAO,CAAC,IAAM,EAAO,EAAM,OAAO,GAAG,EAAE,aAAkB,aAAa,OAGjmC,IAAM,EAAU,EAAO,QAAQ,2BAA2B,GAAG,EAAO,QAAQ,uFAAuF,EAAwG,GAAnG,CAAC,GAAW,CAAC,EAAK,SAAS,CAAS,GAAY,EAAU,QAAQ,wBAAwB,GAAY,EAAoB,CAAS,EAAE,OAAO,IAAM,EAAK,EAAW,CAAS,EAAE,GAAG,CAAC,EAAK,OAAO,IAAM,EAAgB,EAAc,EAAU,aAAa,EAAE,EAAM,KAA4N,SAA3K,CAAC,IAAI,EAAK,EAAU,KAAM,GAAM,EAAK,SAAS,CAAI,GAAE,CAAC,GAAG,EAAK,QAAQ,mBAAmB,OAAO,MAAO,GAAK,GAAG,IAAO,EAAK,MAAM,EAAK,EAAK,aAAc,CAAC,MAAO,EAAM,EAAA,CAAqB,EAAE,CAAC,EAAoB,QAAQ,KAAK,EAAgB,QAAQ,KAAK,EAAmB,EAAE,EAAa,EAAE,MAAO,CAAI,IAAO,YAAY,EAAmB,EAAE,EAAoB,QAAQ,KAAK,EAAgB,QAAQ,KAAK,EAAoB,QAAQ,EAAgB,EAAc,EAAU,UAAU,IAAQ,EAAmB,EAAE,EAAoB,QAAQ,KAAK,EAAgB,QAAQ,KAAK,EAAgB,QAAQ,EAAgB,EAAc,EAAU,MAAM,GAAG,EAAa,CAAzW,CAA2W,EAAQ,EAAS,IAAI,qBAAqB,CAAC,EAA8B,EAAE,EAAa,CAAE,CAAC,EAA6G,OAA3G,EAAK,iBAAiB,QAAQ,CAAO,EAAE,EAAS,QAAQ,EAAK,CAAC,UAAU,GAAK,QAAQ,EAAI,CAAC,EAAE,EAAa,MAAY,CAAC,EAAS,WAAW,EAAE,EAAK,oBAAoB,QAAQ,CAAO,EAAE,EAAK,UAAU,OAAO,CAAc,EAAE,EAAK,iBAAiB,kCAAkC,CAAC,CAAC,QAAQ,GAAM,CAAC,OAAO,EAAK,QAAQ,iBAAiB,OAAO,EAAK,QAAQ,oBAAqB,CAAC,EAAE,EAAa,OAAO,CAAE,CAAE,EAAE,CAAC,EAAa,CAAmB,CAAC,EAAsB,EAAK,EAAU,CAAC,IAAI,GAAM,CAAC,EAAQ,QAAQ,EAAK,EAAY,EAAa,CAAI,CAAE,EAAE,GAAG,CAAK,CAAC,CAAE,CAAC,CAAE,qBApBrsD,IAA2D,KCA8I,SAAS,EAAY,EAAI,EAAM,CAAK,KAAW,IAAG,OAAO,GAAM,WAAW,CAAC,EAAI,CAAK,EAAE,MAAO,CAAC,EAAI,QAAQ,CAAb,CAAmB,CAAC,SAAS,EAAgB,EAAU,CAAmF,OAAjE,MAAM,KAAK,EAAU,iBAAiB,wBAAwB,CAAmB,CAAC,CAAC,OAAO,GAAM,CAAC,IAAM,EAAc,EAAK,eAAe,QAAQ,wBAAwB,EAAE,MAAM,CAAC,GAAe,CAAC,EAAU,SAAS,CAAa,CAAE,CAAC,CAAE,CAAC,SAAS,EAAc,EAAK,CAAC,IAAM,EAAS,EAAO,iBAAiB,CAAI,EAAQ,EAAY,EAAK,cAAc,SAAS,GAAG,EAAW,EAAa,EAAO,iBAAiB,CAAW,EAAE,MAAM,CAAC,WAAW,EAAS,gBAAgB,OAAO,EAAS,OAAO,aAAa,EAAS,aAAa,QAAQ,EAAS,QAAQ,SAAS,EAAS,MAAM,OAAO,EAAS,OAAO,MAAM,EAAa,MAAM,WAAW,EAAa,WAAW,WAAW,EAAa,WAAW,SAAS,EAAa,SAAS,WAAW,EAAa,UAAU,CAAE,CAAC,SAAS,EAAsB,EAAW,EAAY,CAAC,GAAG,GAAY,EAAG,OAAO,MAAM,KAAK,CAAC,OAAO,CAAU,GAAG,EAAE,IAAQ,EAAM,CAAC,EAAG,IAAM,EAAM,IAAI,IAAI,EAAM,IAAI,CAAC,EAAE,EAAM,IAAI,CAAU,EAAE,IAAM,EAAa,KAAK,IAAI,EAAE,EAAY,CAAC,EAAQ,EAAc,KAAK,IAAI,EAAW,EAAE,EAAY,CAAC,EAAE,IAAI,IAAI,EAAK,EAAa,GAAM,EAAc,IAAQ,EAAM,IAAI,CAAI,EAAG,IAAM,EAAY,MAAM,KAAK,CAAK,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAQ,EAAO,CAAC,EAAiL,OAA/K,EAAY,SAAS,EAAK,IAAQ,CAAC,GAAG,IAAQ,EAAE,CAAC,EAAO,KAAK,CAAI,EAAE,MAAO,CAAwC,EAAxB,EAAY,EAAM,GAAoB,GAAE,EAAO,KAAK,UAAU,EAAE,EAAO,KAAK,CAAI,CAAE,CAAC,EAAS,CAAO,CAAC,SAAgB,EAAyB,EAAU,CAAC,OAAoB,EAAW,SAAkC,EAAM,EAAa,CAAC,IAAM,EAAQC,EAAO,IAAI,EAAQ,EAAeA,EAAO,CAAC,EAAQ,EAAaA,EAAO,IAAI,EAAQ,EAAgBC,EAAY,IAAmB,EAAK,eAAe,EAAA,CAAkB,cAAc,CAAqB,EAAI,CAAC,CAAC,EAAQ,EAAiBA,EAAY,GAAM,CAAC,GAAG,EAAa,QAAQ,OAAO,EAAa,QAAQ,IAAM,EAAM,MAAM,KAAK,EAAK,QAAQ,EAAuH,OAAlH,EAAM,OAAO,EAAS,MAAK,EAAa,QAAQ,CAAC,OAAO,EAAc,EAAM,EAAE,EAAE,SAAS,EAAc,EAAM,EAAE,CAAC,EAAS,EAAa,QAAQ,EAAE,CAAC,CAAC,EAAQ,GAAgB,EAAQ,IAAQ,CAAC,EAAQ,MAAM,WAAW,EAAM,WAAW,EAAQ,MAAM,OAAO,EAAM,OAAO,EAAQ,MAAM,aAAa,EAAM,aAAa,EAAQ,MAAM,QAAQ,EAAM,QAAQ,EAAQ,MAAM,SAAS,EAAM,SAAS,EAAQ,MAAM,OAAO,EAAM,OAAO,EAAQ,MAAM,MAAM,EAAM,MAAM,EAAQ,MAAM,WAAW,EAAM,WAAW,EAAQ,MAAM,WAAW,EAAM,WAAW,EAAQ,MAAM,SAAS,EAAM,SAAS,EAAQ,MAAM,WAAW,EAAM,UAAW,EAAQ,EAAOA,GAAa,EAAW,EAAK,IAAW,CAAC,IAAM,EAAK,EAAQ,QAAQ,GAAG,CAAC,EAAK,OAAO,IAAM,EAAU,EAAiB,CAAI,EAAM,IAAiB,EAAK,UAAU,GAAuD,EAAjB,EAAW,CAAW,CAAC,CAAC,SAAS,EAAM,IAAQ,CAAC,GAAG,IAAQ,WAAW,CAAC,IAAM,EAAG,SAAS,cAAc,KAAK,EAAE,EAAG,aAAa,cAAc,MAAM,EAAE,EAAG,YAAY,IAAI,EAAG,MAAM,QAAQ,OAAO,EAAG,MAAM,WAAW,SAAS,EAAG,MAAM,eAAe,SAAS,EAAG,MAAM,MAAM,mBAAmB,EAAG,MAAM,WAAW,EAAU,SAAS,WAAW,EAAG,MAAM,SAAS,EAAU,SAAS,SAAS,EAAK,YAAY,CAAE,EAAE,MAAO,CAAC,IAAM,EAAS,IAAQ,EAAW,EAAG,SAAS,cAAc,QAAQ,EAAE,EAAG,KAAK,SAAS,EAAG,aAAa,aAAa,cAAc,GAAO,EAAK,GAAS,EAAG,aAAa,eAAe,MAAM,EAAE,EAAG,YAAY,OAAO,CAAK,EAAE,EAAG,MAAM,QAAQ,OAAO,EAAG,MAAM,WAAW,SAAS,EAAG,MAAM,eAAe,SAAS,EAAG,MAAM,OAAO,EAAS,UAAU,UAAU,EAAe,EAAG,EAAS,EAAU,OAAO,EAAU,QAAQ,EAAE,EAAG,MAAM,MAAM,EAAS,qBAAqB,mBAAmB,EAAG,iBAAiB,YAAY,EAAS,CAAK,CAAC,EAAE,EAAK,YAAY,CAAE,CAAE,CAAC,EAAE,EAAE,CAAC,CAAgB,CAAC,EAAQ,EAAgBA,EAAY,GAAe,CAAC,IAAM,EAAK,EAAQ,QAAQ,GAAG,CAAC,EAAK,OAAO,IAAM,EAAY,EAAgB,CAAI,EAAE,GAAG,CAAC,EAAY,OAAgD,IAAM,EAAnC,EAAgB,CAAoC,CAAC,CAAC,OAAO,GAAM,CAAC,EAAK,UAAU,SAAS,oBAAoB,CAAC,EAAQ,EAAW,KAAK,IAAI,EAAE,KAAK,KAAK,EAAa,OAAO,CAAc,CAAC,EAAQ,EAAS,KAAK,IAAI,KAAK,IAAI,EAAE,CAAa,EAAE,CAAU,EAAE,EAAe,QAAQ,EAAS,IAAM,GAAO,EAAS,GAAG,EAAqB,EAAI,EAAM,EAAe,EAAa,SAAS,EAAK,IAAQ,CAAC,EAAK,UAAU,OAAO,mBAAmB,EAAM,GAAO,GAAO,CAAG,CAAE,CAAC,EAAE,EAAO,EAAW,EAAS,CAAgB,CAAE,EAAE,CAAC,EAAgB,CAAM,CAAC,EAAE,SAAS,EAAiB,EAAK,CAAC,IAAM,EAAK,EAAQ,QAAc,EAAY,EAAK,EAAgB,CAAI,EAAE,KAAK,GAAG,GAAoB,IAAS,OAAY,CAAC,IAAM,EAAI,EAAY,sBAAsB,CAAC,CAAC,IAAI,EAAO,QAAQ,IAAI,EAAO,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAG,EAAE,SAAS,QAAQ,CAAC,CAAE,CAAC,EAAgB,CAAI,CAAE,CAEnwI,OAFowI,MAAc,CAAC,GAAU,IAAS,QAAa,OAAO,SAAW,IAAY,OAAO,IAAM,EAAK,EAAQ,QAAQ,GAAG,CAAC,EAAK,OAAO,IAAM,EAAM,SAAS,cAAc,OAAO,EAAE,EAAM,YAAY;;cAElpK,SAAS,KAAK,YAAY,CAAK,EAAE,EAAgB,EAAe,OAAO,EAAE,IAAM,EAAY,EAAgB,CAAI,EAAQ,EAAM,EAAK,eAAe,EAAW,MAAmB,CAAC,EAAgB,CAAC,CAAE,EAAQ,EAAS,EAAY,IAAI,qBAAqB,EAAgB,EAAe,OAAO,CAAC,EAAE,KAAkL,OAA1K,GAAa,GAAU,EAAS,QAAQ,EAAY,CAAC,WAAW,GAAK,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAI,CAAC,EAAG,EAAM,iBAAiB,EAAoB,CAAc,MAAY,CAAC,GAAU,WAAW,EAAE,EAAM,oBAAoB,EAAoB,CAAc,EAAE,EAAM,OAAO,EAAK,GAAa,EAAgB,CAAW,CAAC,CAAC,QAAQ,GAAM,EAAK,UAAU,OAAO,kBAAkB,CAAC,CAAG,CAAE,EAAE,CAAC,EAAgB,CAAe,CAAC,EAAsB,EAAK,EAAU,CAAC,IAAI,GAAM,CAAC,EAAQ,QAAQ,EAAK,EAAY,EAAa,CAAI,CAAE,EAAE,GAAG,CAAK,CAAC,CAAE,CAAC,CAAE,2BAFxyB,IAA2D,EAAO,EAAe,GAAS,EAAsB,0CAAgD,EAAoB,wBCA5C,SAAS,GAAkB,CAAyC,OAA9B,IAAS,OAAmB,EAAS,EAAO,UAAW,CAAC,SAAgB,EAAyB,EAAU,CAAC,OAAoB,EAAW,SAAkC,EAAM,EAAI,CAAC,GAAK,CAAC,EAAa,GAAiBC,EAAS,IAAI,EAAO,CAAC,EAAc,GAAkBA,EAAS,CAAC,EAAO,CAAC,EAAc,GAAkBA,EAAS,IAAI,EAAQ,EAAa,GAAe,GAAmB,EAAc,EAAiB,EAAMC,MAAiB,EAA6B,EAAc,EAAvB,EAAoC,CAAC,EAAa,CAAa,CAAC,EAAQ,EAAoBC,MAAgB,CAAC,GAAU,IAAS,OAAY,CAAC,IAAM,EAAU,EAAO,WAAW,MAAoB,CAAC,EAAiB,GAAM,IAAO,EAAU,EAAK,CAAS,CAAE,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,EAAQ,EAAcA,MAAgB,CAAC,IAAM,EAAW,GAAc,cAAc,KAAK,MAAoB,CAAC,EAAiB,GAAM,IAAO,EAAW,EAAK,CAAU,CAAE,CAAC,CAAE,EAAE,CAAC,CAAY,CAAC,EAAQ,EAAoBA,EAAY,GAAM,CAAC,EAAgB,CAAI,CAAE,EAAE,CAAC,CAAC,EAAE,MAAc,CAAC,GAAU,IAAS,OAAY,OAAO,MAAoB,CAAC,EAAiB,EAAiB,CAAC,CAAE,CAAC,EAAE,IAAM,MAAa,CAAC,EAAoB,EAAE,EAAc,CAAE,EAA6C,OAA3C,EAAO,iBAAiB,SAAS,CAAQ,MAAY,CAAC,EAAO,oBAAoB,SAAS,CAAQ,CAAE,CAAE,EAAE,CAAC,EAAc,CAAmB,CAAC,EAAE,MAAc,CAAC,GAAG,CAAC,GAAc,OAAO,eAAiB,IAAY,OAAO,IAAM,EAAS,IAAI,mBAAmB,CAAC,EAAc,CAAE,CAAC,EAAiD,OAA/C,EAAS,QAAQ,CAAY,EAAE,EAAc,MAAY,CAAC,EAAS,WAAW,CAAE,CAAE,EAAE,CAAC,EAAa,CAAa,CAAC,EAAE,IAAM,EAAaD,MAAY,CAAK,MAAiC,IAAgB,KAAsB,OAAO,EAAc,CAAM,EAAE,CAAC,EAAa,EAAc,CAAK,CAAC,EAA4E,OAAtE,EAA0F,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,EAAa,SAAS,QAAQ,EAAE,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAW,KAAK,CAAK,EAAE,SAAsB,EAAK,MAAM,CAAC,IAAI,EAAoB,MAAM,CAAC,SAAS,UAAU,EAAE,SAAsB,EAAK,EAAU,CAAK,MAAI,GAAG,EAAM,MAAM,CAAC,GAAG,EAAM,MAAM,MAAM,EAAW,SAAS,CAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAA5b,EAAK,EAAU,CAAK,MAAI,GAAG,CAAK,CAAC,CAA6Z,CAAC,CAAE,yBAA/0E,IAAqF,EAAO,EAAW,KAAW,EAAkB"}