{"version":3,"file":"TextPath.CLW4EX8R.mjs","names":["React.useState","React.useRef","React.useId","React.useMemo","React.useCallback","anyDoc","__esmMin","ie","le","init_ssg_sandbox_shims","ne","_e","de","pe","p","c","init_jsx_runtime","init_npm_react_18_3_1","ce","window","useInView","init_framer_motion_DhsWWWsN","init_framer_B6PCHH0A","RenderTarget","ControlType","fontStore","addPropertyControls","fonts","css","className","init_bPYN2MYzI","useStableSize","size","setSize","lastRef","el","ref","ro","entries","w","width","h","height","last","isPathClosed","pathEl","len","sp","ep","dist","EPS","fullCircle","lx","rx","y","rs","cx","r","cy","polar","a","deg","arcPath","from","rev","a2","a1","span","s","e","wavePath","ph","phDeg","steps","pts","i","t","x","x0","freq","amp","lemniscate","d","buildExtendedPath","visPath","ext","pathD","rest","CurvedTextPro","DEFAULT_TEXT","DEFAULT_PRESET","DEFAULT_TYPOGRAPHY","DEFAULT_ANIMATION","DEFAULT_STYLE","DEFAULT_PATH_CUSTOM","containerRef","visPathRef","textPathRef","measureRef","rafRef","offsetRef","prevPreset","preset","fontLoadedRef","lastMeasureTime","tileLen","setTileLen","pathLen","setPathLen","extPathD","setExtPathD","closedPath","setClosedPath","isInView","isPreview","visPathId","extPathId","maskId","font","typography","fill","textTransform","animEnabled","animation","animDir","animDuration","safe","pt","PRESET_TYPO","fontFamily","fontStyleV","userFontSize","parsePx","fontSize","clamp","fontWeight","letterSp","resolvedTx","bgPadding","style","dy","bgStrokeWidth","strokeW","safetyMargin","insetX0","insetX1","insetY0","insetY1","safeW","safeH","baseText","b","text","textStyle","arch","stadium","sCurve","diagonal","wavePreset","ampPct","pathCustom","pad","ww","samples","phase","m","rPct","full","doMeasure","now","tl","fontsReady","frame","vp","closed","isInfinity","isClosedCustom","closedLocked","reps","pl","min","need","needOpen","tiledText","SEP","tp","speedPx","lastTime","tick","currentTime","dir","maskStrokeWidth","init_TextPath","lo","hi","n","v","fb"],"sources":["https:/framerusercontent.com/modules/ftfe3GkvK46PgteaRMcY/Pr49Qw5SP08f5rmoTla1/bPYN2MYzI.js","https:/framerusercontent.com/modules/dGvyuSZYRiAqThOAnb73/ZxI149Js8efcyyVQ857d/TextPath.js"],"sourcesContent":["// Generated by Framer (24c92d7)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Instrument Sans-500\",\"GF;Instrument Sans-700\",\"GF;Instrument Sans-700italic\",\"GF;Instrument Sans-500italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Instrument Sans\",source:\"google\",style:\"normal\",uiFamilyName:\"Instrument Sans\",url:\"https://fonts.gstatic.com/s/instrumentsans/v4/pximypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr-yp2JGEJOH9npST3-QfwmS0v3_7Y.woff2\",weight:\"500\"},{cssFamilyName:\"Instrument Sans\",source:\"google\",style:\"normal\",uiFamilyName:\"Instrument Sans\",url:\"https://fonts.gstatic.com/s/instrumentsans/v4/pximypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr-yp2JGEJOH9npSQi_gfwmS0v3_7Y.woff2\",weight:\"700\"},{cssFamilyName:\"Instrument Sans\",source:\"google\",style:\"italic\",uiFamilyName:\"Instrument Sans\",url:\"https://fonts.gstatic.com/s/instrumentsans/v4/pxigypc9vsFDm051Uf6KVwgkfoSbSnNPooZAN0lInHGpCWNE27lgU-XJojENugixkywN2u7YUwU.woff2\",weight:\"700\"},{cssFamilyName:\"Instrument Sans\",source:\"google\",style:\"italic\",uiFamilyName:\"Instrument Sans\",url:\"https://fonts.gstatic.com/s/instrumentsans/v4/pxigypc9vsFDm051Uf6KVwgkfoSbSnNPooZAN0lInHGpCWNE27lgU-XJojENut22kywN2u7YUwU.woff2\",weight:\"500\"}]}];export const css=['.framer-0GXIL .framer-styles-preset-1t286ig:not(.rich-text-wrapper), .framer-0GXIL .framer-styles-preset-1t286ig.rich-text-wrapper p { --framer-font-family: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: -0.02em; --framer-line-height: 1em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-317d3dc7-a719-4df0-9403-7c49221a8950, rgba(0, 0, 0, 0.6)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 680px) { .framer-0GXIL .framer-styles-preset-1t286ig:not(.rich-text-wrapper), .framer-0GXIL .framer-styles-preset-1t286ig.rich-text-wrapper p { --framer-font-family: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: -0.02em; --framer-line-height: 1em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-317d3dc7-a719-4df0-9403-7c49221a8950, rgba(0, 0, 0, 0.6)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 679px) and (min-width: 0px) { .framer-0GXIL .framer-styles-preset-1t286ig:not(.rich-text-wrapper), .framer-0GXIL .framer-styles-preset-1t286ig.rich-text-wrapper p { --framer-font-family: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 1em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-317d3dc7-a719-4df0-9403-7c49221a8950, rgba(0, 0, 0, 0.6)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-0GXIL\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useInView}from\"framer-motion\";const PRESET_TYPO={none:{},arch:{fontSize:34,fontWeight:\"700\",letterSpacing:1},stadium_wide:{fontSize:30,fontWeight:\"900\",letterSpacing:5,transform:\"uppercase\"},s_curve:{fontSize:26,fontWeight:\"400\",letterSpacing:0},diagonal:{fontSize:28,fontWeight:\"600\",letterSpacing:2},wave_single:{fontSize:38,fontWeight:\"800\",letterSpacing:0},wave_double:{fontSize:30,fontWeight:\"900\",letterSpacing:1},infinity_loop:{fontSize:17,fontWeight:\"700\",letterSpacing:2}};const clamp=(n,lo,hi)=>Math.max(lo,Math.min(hi,n));const safe=(v,fb)=>{const n=Number(v);return isFinite(n)?n:fb;};const parsePx=v=>safe(typeof v===\"string\"?parseFloat(v):v,0);const SEP=\"   \\xb7   \";const EPS=.75;const dist=(a,b)=>Math.hypot(a.x-b.x,a.y-b.y);/* ─── Stable size hook: no intermediate states, no jitter ─── */function useStableSize(ref){const[size,setSize]=React.useState({w:400,h:300});const lastRef=React.useRef({w:400,h:300});React.useEffect(()=>{const el=ref.current;if(!el||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(entries=>{const{width,height}=entries[0].contentRect;const w=Math.round(width);const h=Math.round(height);if(!(w>0&&h>0))return;const last=lastRef.current;if(Math.abs(w-last.w)<2&&Math.abs(h-last.h)<2)return;lastRef.current={w,h};setSize({w,h});});ro.observe(el);return()=>ro.disconnect();},[ref]);return size;}function isPathClosed(pathEl){if(!pathEl)return false;let len=0;try{len=pathEl.getTotalLength();}catch{return false;}if(!len)return false;const sp=pathEl.getPointAtLength(0);const ep=pathEl.getPointAtLength(len);return dist(sp,ep)<EPS;}function fullCircle(cx,cy,r){const[lx,rx,y,rs]=[(cx-r).toFixed(2),(cx+r).toFixed(2),cy.toFixed(2),r.toFixed(2)];return`M ${lx} ${y} A ${rs} ${rs} 0 1 1 ${rx} ${y} A ${rs} ${rs} 0 1 1 ${lx} ${y}`;}function polar(cx,cy,r,deg){const a=(deg-90)*Math.PI/180;return{x:cx+r*Math.cos(a),y:cy+r*Math.sin(a)};}function arcPath(cx,cy,r,a1,a2,rev){const from=rev?a2:a1;const to=rev?a1:a2;let span=(to-from+360)%360;if(!span)span=359.5;const s=polar(cx,cy,r,from);const e=polar(cx,cy,r,from+span);const rs=r.toFixed(2);return`M ${s.x.toFixed(2)} ${s.y.toFixed(2)} A ${rs} ${rs} 0 ${span>180?1:0} 1 ${e.x.toFixed(2)} ${e.y.toFixed(2)}`;}function wavePath(x0,cy,w,amp,freq,phDeg,steps){const ph=phDeg*Math.PI/180;const s=Math.max(80,Math.min(2e3,Math.floor(steps)));const pts=[];for(let i=0;i<=s;i++){const t=i/s;const x=x0+t*w;pts.push(`${x.toFixed(1)},${(cy+Math.sin(t*Math.PI*2*freq+ph)*amp).toFixed(1)}`);}return`M ${pts.join(\" L \")}`;}function lemniscate(cx,cy,a){const steps=180;const pts=[];for(let i=0;i<=steps;i++){const t=i/steps*Math.PI*2;const d=1+Math.sin(t)**2;pts.push(`${(cx+a*Math.cos(t)/d).toFixed(1)},${(cy+a*Math.sin(t)*Math.cos(t)/d).toFixed(1)}`);}return`M ${pts.join(\" L \")}`;}function buildExtendedPath(visPath,pathD,ext){if(!visPath||ext<=0)return pathD;let len=0;try{len=visPath.getTotalLength();}catch{return pathD;}if(!len)return pathD;const sp=visPath.getPointAtLength(0);const ep=visPath.getPointAtLength(len);const rest=pathD.replace(/^M\\s*[-\\d.eE+]+[\\s,]+[-\\d.eE+]+\\s*/,\"\");return`M ${(sp.x-ext).toFixed(2)} ${sp.y.toFixed(2)} `+`L ${sp.x.toFixed(2)} ${sp.y.toFixed(2)} `+rest+` L ${(ep.x+ext).toFixed(2)} ${ep.y.toFixed(2)}`;}/* ─── Default values (single source of truth) ─── */const DEFAULT_TEXT=\"Designed to enhance flexibility \\xb7 build strength \\xb7 promote relaxation\";const DEFAULT_PRESET=\"arch\";const DEFAULT_TYPOGRAPHY={font:{},fill:\"#111111\",textTransform:\"none\"};const DEFAULT_ANIMATION={enabled:true,dir:\"forward\",duration:40};const DEFAULT_STYLE={strokeEnabled:false,strokeColor:\"#ffffff\",strokeWidth:4,bgShow:false,bgColor:\"#f5f0eb\",bgPadding:12};const DEFAULT_PATH_CUSTOM={manualMode:\"arc\",arcRadius:46,arcStartAngle:210,arcEndAngle:330,arcReverse:false,arcFullCircle:false,circleRadius:42,waveAmplitude:28,waveFrequency:1.5,wavePhase:0,waveBaseline:50,waveXPad:2,waveSamples:700};export default function CurvedTextPro({text=DEFAULT_TEXT,preset=DEFAULT_PRESET,typography=DEFAULT_TYPOGRAPHY,animation=DEFAULT_ANIMATION,style=DEFAULT_STYLE,pathCustom=DEFAULT_PATH_CUSTOM}){const containerRef=React.useRef(null);const visPathRef=React.useRef(null);const textPathRef=React.useRef(null);const measureRef=React.useRef(null);const rafRef=React.useRef(0);const offsetRef=React.useRef(0);const prevPreset=React.useRef(preset);const fontLoadedRef=React.useRef(false);const lastMeasureTime=React.useRef(0);const[tileLen,setTileLen]=React.useState(800);const[pathLen,setPathLen]=React.useState(0);const[extPathD,setExtPathD]=React.useState(\"\");const[closedPath,setClosedPath]=React.useState(false);/* ─── Single stable size source — used everywhere ─── */const{w,h}=useStableSize(containerRef);const isInView=useInView(containerRef,{amount:0,once:false});const isPreview=RenderTarget.current()===RenderTarget.preview;const visPathId=React.useId();const extPathId=React.useId();const maskId=React.useId();const font=typography?.font??{};const fill=typography?.fill??DEFAULT_TYPOGRAPHY.fill;const textTransform=typography?.textTransform??DEFAULT_TYPOGRAPHY.textTransform;const animEnabled=animation?.enabled??DEFAULT_ANIMATION.enabled;const animDir=animation?.dir??DEFAULT_ANIMATION.dir;const animDuration=Math.max(4,safe(animation?.duration,DEFAULT_ANIMATION.duration));const pt=PRESET_TYPO[preset]??{};const fontFamily=String(font?.fontFamily??\"Inter, sans-serif\");const fontStyleV=String(font?.fontStyle??\"normal\");const userFontSize=parsePx(font?.fontSize);const fontSize=clamp(userFontSize>0?userFontSize:pt.fontSize!=null?pt.fontSize:28,4,400);const fontWeight=font?.fontWeight!=null?String(font.fontWeight):pt.fontWeight!=null?pt.fontWeight:\"600\";const letterSp=font?.letterSpacing!=null?parsePx(font.letterSpacing):pt.letterSpacing!=null?pt.letterSpacing:0;const resolvedTx=textTransform;const bgPadding=clamp(safe(style?.bgPadding,DEFAULT_STYLE.bgPadding),0,80);const dy=fontSize*.23;const bgStrokeWidth=fontSize*.96+bgPadding*2;const strokeW=style?.strokeEnabled?clamp(safe(style?.strokeWidth,DEFAULT_STYLE.strokeWidth),.5,40):0;const safetyMargin=clamp(fontSize*.9+(style?.bgShow?bgStrokeWidth/2:0)+strokeW*1.25,6,220);const insetX0=safetyMargin;const insetX1=Math.max(insetX0+1,w-safetyMargin);const insetY0=safetyMargin;const insetY1=Math.max(insetY0+1,h-safetyMargin);const safeW=Math.max(1,w-safetyMargin*2);const safeH=Math.max(1,h-safetyMargin*2);const cx=w/2;const cy=h/2;const baseText=React.useMemo(()=>{const b=text??\"\";switch(resolvedTx){case\"uppercase\":return b.toUpperCase();case\"lowercase\":return b.toLowerCase();case\"capitalize\":return b.replace(/\\b\\w/g,c=>c.toUpperCase());default:return b;}},[text,resolvedTx]);const textStyle={fontFamily,fontSize:`${fontSize}px`,fontWeight:fontWeight,fontStyle:fontStyleV,letterSpacing:`${letterSp}px`};const pathD=React.useMemo(()=>{const arch=()=>`M ${insetX0.toFixed(1)} ${(insetY0+safeH*.78).toFixed(1)} Q ${(w/2).toFixed(1)} ${(insetY0+safeH*.12).toFixed(1)} ${insetX1.toFixed(1)} ${(insetY0+safeH*.78).toFixed(1)}`;const stadium=()=>`M ${insetX0.toFixed(1)} ${(insetY0+safeH*.72).toFixed(1)} Q ${(w/2).toFixed(1)} ${(insetY0+safeH*.1).toFixed(1)} ${insetX1.toFixed(1)} ${(insetY0+safeH*.72).toFixed(1)}`;const sCurve=()=>`M ${insetX0.toFixed(1)} ${(insetY0+safeH*.78).toFixed(1)} C ${(insetX0+safeW*.15).toFixed(1)} ${(insetY0+safeH*.78).toFixed(1)},${(insetX0+safeW*.38).toFixed(1)} ${(insetY0+safeH*.1).toFixed(1)},${(insetX0+safeW*.5).toFixed(1)} ${(insetY0+safeH*.44).toFixed(1)} S ${(insetX0+safeW*.88).toFixed(1)} ${(insetY0+safeH*.9).toFixed(1)},${insetX1.toFixed(1)} ${(insetY0+safeH*.22).toFixed(1)}`;const diagonal=()=>`M ${insetX0.toFixed(1)} ${(insetY0+safeH*.92).toFixed(1)} C ${(insetX0+safeW*.28).toFixed(1)} ${(insetY0+safeH*.86).toFixed(1)},${(insetX0+safeW*.62).toFixed(1)} ${(insetY0+safeH*.18).toFixed(1)},${insetX1.toFixed(1)} ${(insetY0+safeH*.08).toFixed(1)}`;const wavePreset=(freq,ampPct)=>{const amp=safeH*clamp(ampPct/100,.02,.48);const y=insetY0+safeH*clamp(safe(pathCustom?.waveBaseline,DEFAULT_PATH_CUSTOM.waveBaseline)/100,.05,.95);const pad=clamp(safe(pathCustom?.waveXPad,DEFAULT_PATH_CUSTOM.waveXPad),0,20)/100;const x0=insetX0+safeW*pad;const ww=safeW*(1-pad*2);const samples=Math.min(clamp(safe(pathCustom?.waveSamples,DEFAULT_PATH_CUSTOM.waveSamples),120,1800),200);const phase=clamp(safe(pathCustom?.wavePhase,DEFAULT_PATH_CUSTOM.wavePhase),0,360);return wavePath(x0,y,ww,amp,clamp(freq,.25,6),phase,samples);};if(preset===\"arch\")return arch();if(preset===\"stadium_wide\")return stadium();if(preset===\"s_curve\")return sCurve();if(preset===\"diagonal\")return diagonal();if(preset===\"wave_single\")return wavePreset(1,36);if(preset===\"wave_double\")return wavePreset(2,28);if(preset===\"infinity_loop\"){const a=Math.max(10,Math.min(safeW*.42,safeH*.48));return lemniscate(cx,cy,a);}const m=pathCustom?.manualMode??DEFAULT_PATH_CUSTOM.manualMode;if(m===\"circle\"){const rPct=clamp(safe(pathCustom?.circleRadius,DEFAULT_PATH_CUSTOM.circleRadius),5,95)/100;const r=Math.max(6,Math.min(safeW,safeH)*.5*rPct);return fullCircle(cx,cy,r);}if(m===\"arc\"){const full=!!pathCustom?.arcFullCircle;const rPct=clamp(safe(pathCustom?.arcRadius,DEFAULT_PATH_CUSTOM.arcRadius),5,95)/100;const r=Math.max(6,Math.min(safeW,safeH)*.5*rPct);if(full)return fullCircle(cx,cy,r);const a1=clamp(safe(pathCustom?.arcStartAngle,DEFAULT_PATH_CUSTOM.arcStartAngle),0,360);const a2=clamp(safe(pathCustom?.arcEndAngle,DEFAULT_PATH_CUSTOM.arcEndAngle),0,360);const rev=!!pathCustom?.arcReverse;return arcPath(cx,cy,r,a1,a2,rev);}const ampPct=clamp(safe(pathCustom?.waveAmplitude,DEFAULT_PATH_CUSTOM.waveAmplitude),2,48);const freq=clamp(safe(pathCustom?.waveFrequency,DEFAULT_PATH_CUSTOM.waveFrequency),.25,6);const amp=safeH*clamp(ampPct/100,.02,.48);const y=insetY0+safeH*clamp(safe(pathCustom?.waveBaseline,DEFAULT_PATH_CUSTOM.waveBaseline)/100,.05,.95);const pad=clamp(safe(pathCustom?.waveXPad,DEFAULT_PATH_CUSTOM.waveXPad),0,20)/100;const x0=insetX0+safeW*pad;const ww=safeW*(1-pad*2);const samples=Math.min(clamp(safe(pathCustom?.waveSamples,DEFAULT_PATH_CUSTOM.waveSamples),120,1800),200);const phase=clamp(safe(pathCustom?.wavePhase,DEFAULT_PATH_CUSTOM.wavePhase),0,360);return wavePath(x0,y,ww,amp,freq,phase,samples);},[preset,w,h,cx,cy,safeW,safeH,insetX0,insetX1,insetY0,insetY1,pathCustom]);const doMeasure=React.useCallback(()=>{const now=Date.now();if(now-lastMeasureTime.current<50)return false;lastMeasureTime.current=now;const el=measureRef.current;if(!el)return false;try{const tl=el.getComputedTextLength();if(tl>0){setTileLen(tl);fontLoadedRef.current=true;return true;}}catch{return false;}return false;},[]);React.useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;if(fontLoadedRef.current&&doMeasure())return;const anyDoc=document;const fontsReady=anyDoc?.fonts?.ready;if(fontsReady&&typeof fontsReady.then===\"function\"&&!fontLoadedRef.current){fontsReady.then(()=>requestAnimationFrame(()=>doMeasure())).catch(()=>{});return;}const t=window.setTimeout(()=>doMeasure(),80);return()=>window.clearTimeout(t);},[baseText,fontSize,fontWeight,fontFamily,letterSp,doMeasure]);/* ─── Compute extended path, closed state, path length ─── */React.useEffect(()=>{const frame=requestAnimationFrame(()=>{const vp=visPathRef.current;const closed=isPathClosed(vp);let len=0;try{len=vp?.getTotalLength?.()??0;}catch{len=0;}const d=closed?pathD:buildExtendedPath(vp,pathD,tileLen);setClosedPath(closed);setPathLen(len);setExtPathD(d||pathD);});return()=>cancelAnimationFrame(frame);},[pathD,tileLen]);const isInfinity=preset===\"infinity_loop\";const isClosedCustom=preset===\"none\"&&(pathCustom?.manualMode===\"circle\"||pathCustom?.manualMode===\"arc\"&&!!pathCustom?.arcFullCircle);const closedLocked=isInfinity||isClosedCustom;const reps=React.useMemo(()=>{const tl=Math.max(1,tileLen);const pl=Math.max(1,pathLen||Math.max(w,h)*3);if(closedPath){const min=isInfinity?30:20;const need=pl*2+tl*4;return Math.max(min,Math.ceil(need/tl)+6);}const minOpen=15;const needOpen=pl+tl*8;return Math.max(minOpen,Math.ceil(needOpen/tl)+6);},[tileLen,pathLen,w,h,closedPath,isInfinity]);const tiledText=React.useMemo(()=>Array(reps).fill(baseText+SEP).join(\"\"),[reps,baseText]);React.useLayoutEffect(()=>{if(prevPreset.current===preset)return;prevPreset.current=preset;cancelAnimationFrame(rafRef.current);offsetRef.current=0;textPathRef.current?.setAttribute(\"startOffset\",\"0\");},[preset]);/* ─── Animation loop ─── */React.useEffect(()=>{cancelAnimationFrame(rafRef.current);const tp=textPathRef.current;if(!tp)return;if(!animEnabled||!isInView||!isPreview){tp.setAttribute(\"startOffset\",\"0\");return;}const tl=Math.max(1,tileLen);if(closedPath&&closedLocked){const dir=-1;const speedPx=tl/(animDuration*60);offsetRef.current=0;let lastTime=performance.now();const tick=currentTime=>{const delta=currentTime-lastTime;if(delta<16){rafRef.current=requestAnimationFrame(tick);return;}lastTime=currentTime;offsetRef.current+=dir*speedPx;if(offsetRef.current<=-tl)offsetRef.current+=tl;if(offsetRef.current>0)offsetRef.current-=tl;tp.setAttribute(\"startOffset\",offsetRef.current.toFixed(2));rafRef.current=requestAnimationFrame(tick);};rafRef.current=requestAnimationFrame(tick);return()=>cancelAnimationFrame(rafRef.current);}const dir=animDir===\"forward\"?-1:1;const speedPx=tl/(animDuration*60);offsetRef.current=0;let lastTime=performance.now();const tick=currentTime=>{const delta=currentTime-lastTime;if(delta<16){rafRef.current=requestAnimationFrame(tick);return;}lastTime=currentTime;offsetRef.current=(offsetRef.current+dir*speedPx+tl)%tl;tp.setAttribute(\"startOffset\",offsetRef.current.toFixed(2));rafRef.current=requestAnimationFrame(tick);};rafRef.current=requestAnimationFrame(tick);return()=>cancelAnimationFrame(rafRef.current);},[animEnabled,animDuration,animDir,tileLen,closedPath,closedLocked,isInView,isPreview]);const maskStrokeWidth=clamp(bgStrokeWidth+strokeW*2+fontSize*2.6,fontSize*2.6,2200);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",overflow:\"hidden\"},children:w>0&&/*#__PURE__*/_jsxs(\"svg\",{width:w,height:h,viewBox:`0 0 ${w} ${h}`,style:{display:\"block\",overflow:\"visible\"},\"aria-label\":text,children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsx(\"path\",{ref:visPathRef,id:visPathId,d:pathD}),/*#__PURE__*/_jsx(\"path\",{id:extPathId,d:extPathD||pathD}),pathD&&/*#__PURE__*/_jsxs(\"mask\",{id:maskId,maskUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"0\",y:\"0\",width:w,height:h,fill:\"black\"}),/*#__PURE__*/_jsx(\"path\",{d:pathD,fill:\"none\",stroke:\"white\",strokeWidth:maskStrokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\"})]})]}),/*#__PURE__*/_jsx(\"text\",{ref:measureRef,style:{...textStyle,visibility:\"hidden\"},x:\"0\",y:\"-9999\",\"aria-hidden\":\"true\",children:baseText+SEP}),style?.bgShow&&/*#__PURE__*/_jsx(\"path\",{d:pathD,fill:\"none\",stroke:style.bgColor,strokeWidth:bgStrokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"text\",{dy:dy,style:textStyle,fill:fill,stroke:style?.strokeEnabled?style.strokeColor:\"none\",strokeWidth:style?.strokeEnabled?strokeW:0,paintOrder:style?.strokeEnabled?\"stroke fill\":undefined,textAnchor:\"start\",mask:pathD?`url(#${maskId})`:undefined,children:/*#__PURE__*/_jsx(\"textPath\",{ref:textPathRef,href:`#${extPathId}`,startOffset:\"0\",method:\"align\",spacing:\"auto\",children:tiledText})})]})});}addPropertyControls(CurvedTextPro,{text:{type:ControlType.String,title:\"Text\",displayTextArea:true,defaultValue:DEFAULT_TEXT},preset:{type:ControlType.Enum,title:\"Preset\",defaultValue:DEFAULT_PRESET,options:[\"none\",\"arch\",\"stadium_wide\",\"s_curve\",\"diagonal\",\"wave_single\",\"wave_double\",\"infinity_loop\"],optionTitles:[\"— Custom —\",\"Arch\",\"Stadium Wide\",\"S Curve\",\"Diagonal\",\"Wave \\xb7 Single\",\"Wave \\xb7 Double\",\"Infinity Loop\"]},typography:{type:ControlType.Object,title:\"Typography\",controls:{// @ts-ignore\nfont:{// @ts-ignore\ntype:ControlType.Font,title:\"Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:28,variant:\"Semibold\",letterSpacing:\"0px\"}},fill:{type:ControlType.Color,title:\"Color\",defaultValue:DEFAULT_TYPOGRAPHY.fill},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],optionTitles:[\"None\",\"UPPERCASE\",\"lowercase\",\"Capitalize\"],defaultValue:DEFAULT_TYPOGRAPHY.textTransform}}},animation:{type:ControlType.Object,title:\"Animation\",controls:{enabled:{type:ControlType.Boolean,title:\"Animate\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:DEFAULT_ANIMATION.enabled},dir:{type:ControlType.Enum,title:\"Direction\",options:[\"forward\",\"backward\"],optionTitles:[\"→\",\"←\"],displaySegmentedControl:true,defaultValue:DEFAULT_ANIMATION.dir,hidden:p=>!p.enabled},duration:{type:ControlType.Number,title:\"Speed\",min:4,max:120,step:2,unit:\"s\",description:\"Seconds per cycle. Higher = slower.\",defaultValue:DEFAULT_ANIMATION.duration,hidden:p=>!p.enabled}}},style:{type:ControlType.Object,title:\"Style\",controls:{bgShow:{type:ControlType.Boolean,title:\"Background\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:DEFAULT_STYLE.bgShow},bgColor:{type:ControlType.Color,title:\"BG Color\",defaultValue:DEFAULT_STYLE.bgColor,hidden:p=>!p.bgShow},bgPadding:{type:ControlType.Number,title:\"BG Padding\",min:0,max:80,step:1,defaultValue:DEFAULT_STYLE.bgPadding,hidden:p=>!p.bgShow},strokeEnabled:{type:ControlType.Boolean,title:\"Stroke\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:DEFAULT_STYLE.strokeEnabled},strokeColor:{type:ControlType.Color,title:\"Stroke Color\",defaultValue:DEFAULT_STYLE.strokeColor,hidden:p=>!p.strokeEnabled},strokeWidth:{type:ControlType.Number,title:\"Stroke Width\",min:.5,max:40,step:.5,defaultValue:DEFAULT_STYLE.strokeWidth,hidden:p=>!p.strokeEnabled}}},pathCustom:{type:ControlType.Object,title:\"Path Settings\",hidden:p=>p.preset!==\"none\",controls:{manualMode:{type:ControlType.Enum,title:\"Mode\",options:[\"arc\",\"circle\",\"wave\"],optionTitles:[\"Arc\",\"Circle\",\"Wave\"],displaySegmentedControl:true,defaultValue:DEFAULT_PATH_CUSTOM.manualMode},arcFullCircle:{type:ControlType.Boolean,title:\"Full Circle\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:DEFAULT_PATH_CUSTOM.arcFullCircle,hidden:p=>p.manualMode!==\"arc\"},arcRadius:{type:ControlType.Number,title:\"Radius %\",min:5,max:95,step:1,unit:\"%\",defaultValue:DEFAULT_PATH_CUSTOM.arcRadius,hidden:p=>p.manualMode!==\"arc\"},arcStartAngle:{type:ControlType.Number,title:\"Start \\xb0\",min:0,max:360,step:1,defaultValue:DEFAULT_PATH_CUSTOM.arcStartAngle,hidden:p=>p.manualMode!==\"arc\"||p.arcFullCircle},arcEndAngle:{type:ControlType.Number,title:\"End \\xb0\",min:0,max:360,step:1,defaultValue:DEFAULT_PATH_CUSTOM.arcEndAngle,hidden:p=>p.manualMode!==\"arc\"||p.arcFullCircle},arcReverse:{type:ControlType.Boolean,title:\"Reverse\",defaultValue:DEFAULT_PATH_CUSTOM.arcReverse,hidden:p=>p.manualMode!==\"arc\"||p.arcFullCircle},circleRadius:{type:ControlType.Number,title:\"Radius %\",min:5,max:95,step:1,unit:\"%\",defaultValue:DEFAULT_PATH_CUSTOM.circleRadius,hidden:p=>p.manualMode!==\"circle\"},waveBaseline:{type:ControlType.Number,title:\"Baseline %\",min:5,max:95,step:1,unit:\"%\",defaultValue:DEFAULT_PATH_CUSTOM.waveBaseline,hidden:p=>p.manualMode!==\"wave\"},waveAmplitude:{type:ControlType.Number,title:\"Amplitude %\",min:2,max:48,step:1,unit:\"%\",defaultValue:DEFAULT_PATH_CUSTOM.waveAmplitude,hidden:p=>p.manualMode!==\"wave\"},waveFrequency:{type:ControlType.Number,title:\"Frequency\",min:.25,max:6,step:.25,defaultValue:DEFAULT_PATH_CUSTOM.waveFrequency,hidden:p=>p.manualMode!==\"wave\"},wavePhase:{type:ControlType.Number,title:\"Phase \\xb0\",min:0,max:360,step:1,defaultValue:DEFAULT_PATH_CUSTOM.wavePhase,hidden:p=>p.manualMode!==\"wave\"},waveXPad:{type:ControlType.Number,title:\"X Padding %\",min:0,max:20,step:.5,unit:\"%\",defaultValue:DEFAULT_PATH_CUSTOM.waveXPad,hidden:p=>p.manualMode!==\"wave\"},waveSamples:{type:ControlType.Number,title:\"Samples\",min:120,max:1800,step:20,defaultValue:DEFAULT_PATH_CUSTOM.waveSamples,hidden:p=>p.manualMode!==\"wave\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CurvedTextPro\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextPath.map"],"mappings":"A,uVAC8ByB,EAAU,UAAU,CAAC,yBAAyB,yBAAyB,+BAA+B,8BAA8B,CAAC,EAAe,EAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,kBAAkB,OAAO,SAAS,MAAM,SAAS,aAAa,kBAAkB,IAAI,+HAA+H,OAAO,KAAK,EAAE,CAAC,cAAc,kBAAkB,OAAO,SAAS,MAAM,SAAS,aAAa,kBAAkB,IAAI,+HAA+H,OAAO,KAAK,EAAE,CAAC,cAAc,kBAAkB,OAAO,SAAS,MAAM,SAAS,aAAa,kBAAkB,IAAI,kIAAkI,OAAO,KAAK,EAAE,CAAC,cAAc,kBAAkB,OAAO,SAAS,MAAM,SAAS,aAAa,kBAAkB,IAAI,kIAAkI,OAAO,KAAK,CAAC,CAAC,CAAC,EAAe,EAAI,CAAC,ktCAAktC,wwCAAwwC,gwCAAgwC,EAAe,EAAU,c,OCD/9H,SAASM,GAAc,EAAI,CAAC,GAAK,CAACC,EAAKC,GAASjC,EAAe,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAQkC,EAAQjC,EAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAqa,OAAnaiB,MAAoB,CAAC,IAAMiB,EAAGC,EAAI,QAAQ,GAAG,CAACD,GAAI,OAAO,eAAiB,IAAY,OAAO,IAAME,EAAG,IAAI,eAAe,GAAS,CAAC,GAAK,CAAC,QAAM,UAAQC,EAAQ,EAAE,CAAC,YAAkBC,EAAE,KAAK,MAAMC,CAAK,EAAQC,EAAE,KAAK,MAAMC,CAAM,EAAE,GAAG,EAAEH,EAAE,GAAGE,EAAE,GAAG,OAAO,IAAME,EAAKT,EAAQ,QAAW,KAAK,IAAIK,EAAEI,EAAK,CAAC,EAAE,GAAG,KAAK,IAAIF,EAAEE,EAAK,CAAC,EAAE,IAAS,EAAQ,QAAQ,CAAC,IAAE,GAAC,EAAEV,EAAQ,CAAC,IAAE,GAAC,CAAC,EAAE,CAAC,EAAiB,OAAfI,EAAG,QAAQF,CAAE,MAAYE,EAAG,WAAW,CAAE,EAAE,CAACD,CAAG,CAAC,EAASJ,CAAK,CAAC,SAASY,GAAa,EAAO,CAAC,GAAG,CAACC,EAAO,MAAO,GAAM,IAAIC,EAAI,EAAE,GAAG,CAAC,EAAID,EAAO,eAAe,CAAE,MAAM,CAAC,MAAO,EAAM,CAAC,GAAG,CAACC,EAAI,MAAO,GAAM,IAAMC,EAAGF,EAAO,iBAAiB,CAAC,EAAQG,EAAGH,EAAO,iBAAiBC,CAAG,EAAE,OAAOG,GAAKF,EAAGC,CAAE,EAAEE,CAAI,CAAC,SAASC,GAAW,EAAG,EAAG,EAAE,CAAC,GAAK,CAACC,EAAGC,EAAGC,EAAEC,GAAI,EAAEC,EAAGC,EAAA,CAAG,QAAQ,CAAC,GAAGD,EAAGC,EAAA,CAAG,QAAQ,CAAC,EAAEC,EAAG,QAAQ,CAAC,EAAED,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,KAAKL,EAAG,GAAGE,EAAE,KAAKC,EAAG,GAAGA,EAAG,SAASF,EAAG,GAAGC,EAAE,KAAKC,EAAG,GAAGA,EAAG,SAASH,EAAG,GAAGE,GAAI,CAAC,SAASK,EAAM,EAAG,EAAG,EAAE,EAAI,CAAC,IAAMC,GAAGC,EAAI,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,EAAEL,EAAGC,EAAE,KAAK,IAAIG,CAAC,EAAE,EAAEF,EAAGD,EAAE,KAAK,IAAIG,CAAC,CAAC,CAAE,CAAC,SAASE,GAAQ,EAAG,EAAG,EAAE,EAAG,EAAG,EAAI,CAAC,IAAMC,EAAKC,EAAIC,EAAGC,EAA0BC,IAAdH,EAAIE,EAAGD,GAAgBF,EAAK,KAAK,IAAI,AAASI,IAAK,MAAM,IAAMC,EAAET,EAAMH,EAAGE,EAAGD,EAAEM,CAAI,EAAQM,EAAEV,EAAMH,EAAGE,EAAGD,EAAEM,EAAKI,CAAI,EAAQZ,EAAGE,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAKW,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAGA,EAAE,EAAE,QAAQ,CAAC,EAAE,KAAKb,EAAG,GAAGA,EAAG,KAAK,IAAK,KAAQ,KAAKc,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAGA,EAAE,EAAE,QAAQ,CAAC,GAAI,CAAC,SAASC,GAAS,EAAG,EAAG,EAAE,EAAI,EAAK,EAAM,EAAM,CAAC,IAAMC,EAAGC,EAAM,KAAK,GAAG,IAAUJ,EAAE,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,MAAMK,CAAK,CAAC,CAAC,EAAQC,EAAI,CAAC,EAAE,IAAI,IAAIC,EAAE,EAAEA,GAAGP,EAAE,IAAI,CAAC,IAAMQ,EAAED,EAAEP,EAAQS,EAAEC,EAAGF,EAAErC,EAAEmC,EAAI,KAAK,GAAGG,EAAE,QAAQ,CAAC,EAAE,IAAInB,EAAG,KAAK,IAAIkB,EAAE,KAAK,GAAG,EAAEG,EAAKR,CAAE,EAAES,EAAA,CAAK,QAAQ,CAAC,GAAG,CAAE,CAAC,MAAM,KAAKN,EAAI,KAAK,KAAK,GAAI,CAAC,SAASO,GAAW,EAAG,EAAG,EAAE,CAAC,IAAsBP,EAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAM,IAAI,CAAC,IAAME,EAAE,EAAE,IAAM,KAAK,GAAG,EAAQM,EAAE,EAAE,KAAK,IAAIN,CAAC,GAAG,EAAEF,EAAI,KAAK,IAAIlB,EAAGI,EAAE,KAAK,IAAIgB,CAAC,EAAEM,EAAA,CAAG,QAAQ,CAAC,EAAE,IAAIxB,EAAGE,EAAE,KAAK,IAAIgB,CAAC,EAAE,KAAK,IAAIA,CAAC,EAAEM,EAAA,CAAG,QAAQ,CAAC,GAAG,CAAE,CAAC,MAAM,KAAKR,EAAI,KAAK,KAAK,GAAI,CAAC,SAASS,GAAkB,EAAQ,EAAM,EAAI,CAAC,GAAG,CAACC,GAASC,GAAK,EAAE,OAAOC,EAAM,IAAIxC,EAAI,EAAE,GAAG,CAAC,EAAIsC,EAAQ,eAAe,CAAE,MAAM,CAAC,OAAOE,CAAM,CAAC,GAAG,CAACxC,EAAI,OAAOwC,EAAM,IAAMvC,EAAGqC,EAAQ,iBAAiB,CAAC,EAAQpC,EAAGoC,EAAQ,iBAAiBtC,CAAG,EAAQyC,EAAKD,EAAM,QAAQ,qCAAqC,EAAE,EAAE,MAAM,MAAMvC,EAAG,EAAEsC,EAAA,CAAK,QAAQ,CAAC,EAAE,GAAGtC,EAAG,EAAE,QAAQ,CAAC,EAAE,KAAQA,EAAG,EAAE,QAAQ,CAAC,EAAE,GAAGA,EAAG,EAAE,QAAQ,CAAC,EAAE,GAAGwC,EAAK,OAAOvC,EAAG,EAAEqC,EAAA,CAAK,QAAQ,CAAC,EAAE,GAAGrC,EAAG,EAAE,QAAQ,CAAC,GAAI,CAAgqB,SAAwBwC,EAAc,CAAC,OAAKC,GAAa,SAAOC,GAAe,aAAWC,EAAmB,YAAUC,EAAkB,QAAMC,EAAc,aAAWC,GAAqB,CAAC,IAAMC,EAAa9F,EAAa,IAAI,EAAQ+F,EAAW/F,EAAa,IAAI,EAAQgG,EAAYhG,EAAa,IAAI,EAAQiG,EAAWjG,EAAa,IAAI,EAAQkG,EAAOlG,EAAa,CAAC,EAAQmG,EAAUnG,EAAa,CAAC,EAAQoG,EAAWpG,EAAaqG,CAAM,EAAQC,EAActG,EAAa,EAAK,EAAQuG,EAAgBvG,EAAa,CAAC,EAAO,CAACwG,EAAQC,IAAY1G,EAAe,GAAG,EAAO,CAAC2G,EAAQC,IAAY5G,EAAe,CAAC,EAAO,CAAC6G,GAASC,IAAa9G,EAAe,EAAE,EAAO,CAAC+G,EAAWC,IAAehH,EAAe,EAAK,EAAgE,CAAC,IAAE,KAAG+B,GAAcgE,CAAY,EAAQkB,GAAS7F,GAAU2E,EAAa,CAAC,OAAO,EAAE,KAAK,EAAK,CAAC,EAAQmB,GAAU3F,GAAa,QAAQ,IAAIA,GAAa,QAAc4F,GAAUjH,EAAY,EAAQkH,GAAUlH,EAAY,EAAQmH,GAAOnH,EAAY,EAAQoH,EAAKC,GAAY,MAAM,CAAC,EAAQC,GAAKD,GAAY,MAAM5B,EAAmB,KAAW8B,GAAcF,GAAY,eAAe5B,EAAmB,cAAoB+B,GAAYC,GAAW,SAAS/B,EAAkB,QAAcgC,GAAQD,GAAW,KAAK/B,EAAkB,IAAUiC,EAAa,KAAK,IAAI,EAAEC,EAAKH,GAAW,SAAS/B,EAAkB,QAAQ,CAAC,EAAQmC,EAAGC,GAAY1B,IAAS,CAAC,EAAQ2B,GAAW,OAAOX,GAAM,YAAY,mBAAmB,EAAQY,GAAW,OAAOZ,GAAM,WAAW,QAAQ,EAAQa,GAAaC,GAAQd,GAAM,QAAQ,EAAQe,EAASC,EAAMH,GAAa,EAAEA,GAAaJ,EAAG,UAAU,KAAiB,GAAZA,EAAG,SAAY,EAAE,GAAG,EAAQQ,GAAWjB,GAAM,YAAY,KAA6BS,EAAG,YAAY,KAAmB,MAAdA,EAAG,WAA/C,OAAOT,EAAK,UAAU,EAAgDkB,GAASlB,GAAM,eAAe,KAAiCS,EAAG,eAAe,KAAsB,EAAjBA,EAAG,cAAtDK,GAAQd,EAAK,aAAa,EAAkDmB,GAAWhB,GAAoBiB,GAAUJ,EAAMR,EAAKa,GAAO,UAAU9C,EAAc,SAAS,EAAE,EAAE,EAAE,EAAQ+C,GAAGP,EAAS,IAAUQ,EAAcR,EAAS,IAAIK,GAAU,EAAQI,EAAQH,GAAO,cAAcL,EAAMR,EAAKa,GAAO,YAAY9C,EAAc,WAAW,EAAE,GAAG,EAAE,EAAE,EAAQkD,EAAaT,EAAMD,EAAS,IAAIM,GAAO,OAAOE,EAAc,EAAE,GAAGC,EAAQ,KAAK,EAAE,GAAG,EAAQE,EAAQD,EAAmBE,EAAQ,KAAK,IAAID,EAAQ,EAAEzG,EAAEwG,CAAY,EAAQG,EAAQH,EAAmBI,GAAQ,KAAK,IAAID,EAAQ,EAAEzG,EAAEsG,CAAY,EAAQK,EAAM,KAAK,IAAI,EAAE7G,EAAEwG,EAAa,CAAC,EAAQM,EAAM,KAAK,IAAI,EAAE5G,EAAEsG,EAAa,CAAC,EAAQvF,EAAGjB,EAAE,EAAQmB,EAAGjB,EAAE,EAAQ6G,EAASnJ,MAAkB,CAAC,IAAMoJ,EAAEC,GAAM,GAAG,OAAOf,GAAP,CAAmB,IAAI,YAAY,OAAOc,EAAE,YAAY,EAAE,IAAI,YAAY,OAAOA,EAAE,YAAY,EAAE,IAAI,aAAa,OAAOA,EAAE,QAAQ,QAAQ,GAAGxI,EAAE,YAAY,CAAC,EAAE,QAAQ,OAAOwI,CAAE,CAAC,EAAE,CAACC,EAAKf,EAAU,CAAC,EAAQgB,GAAU,CAAC,cAAW,SAAS,GAAGpB,EAAS,IAAe,cAAW,UAAUH,GAAW,cAAc,GAAGM,GAAS,GAAG,EAAQlD,EAAMnF,MAAkB,CAAC,IAAMuJ,MAAS,KAAKV,EAAQ,QAAQ,CAAC,EAAE,IAAIE,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,MAAM9G,EAAE,EAAA,CAAG,QAAQ,CAAC,EAAE,IAAI2G,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,GAAGJ,EAAQ,QAAQ,CAAC,EAAE,IAAIC,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,IAAUM,MAAY,KAAKX,EAAQ,QAAQ,CAAC,EAAE,IAAIE,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,MAAM9G,EAAE,EAAA,CAAG,QAAQ,CAAC,EAAE,IAAI2G,EAAQG,EAAM,GAAA,CAAI,QAAQ,CAAC,EAAE,GAAGJ,EAAQ,QAAQ,CAAC,EAAE,IAAIC,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,IAAUO,MAAW,KAAKZ,EAAQ,QAAQ,CAAC,EAAE,IAAIE,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,MAAML,EAAQI,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,IAAIF,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,IAAIL,EAAQI,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,IAAIF,EAAQG,EAAM,GAAA,CAAI,QAAQ,CAAC,EAAE,IAAIL,EAAQI,EAAM,GAAA,CAAI,QAAQ,CAAC,EAAE,IAAIF,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,MAAML,EAAQI,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,IAAIF,EAAQG,EAAM,GAAA,CAAI,QAAQ,CAAC,EAAE,GAAGJ,EAAQ,QAAQ,CAAC,EAAE,IAAIC,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,IAAUQ,MAAa,KAAKb,EAAQ,QAAQ,CAAC,EAAE,IAAIE,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,MAAML,EAAQI,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,IAAIF,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,IAAIL,EAAQI,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,IAAIF,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,EAAE,GAAGJ,EAAQ,QAAQ,CAAC,EAAE,IAAIC,EAAQG,EAAM,IAAA,CAAK,QAAQ,CAAC,IAAUS,GAAY,EAAK,IAAS,CAAC,IAAM9E,EAAIqE,EAAMf,EAAMyB,EAAO,IAAI,IAAI,GAAG,EAAQzG,EAAE4F,EAAQG,EAAMf,EAAMR,EAAKkC,GAAY,aAAalE,EAAoB,YAAY,EAAE,IAAI,IAAI,GAAG,EAAQmE,EAAI3B,EAAMR,EAAKkC,GAAY,SAASlE,EAAoB,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAUhB,EAAGkE,EAAQI,EAAMa,EAAUC,EAAGd,GAAO,EAAEa,EAAI,GAASE,EAAQ,KAAK,IAAI7B,EAAMR,EAAKkC,GAAY,YAAYlE,EAAoB,WAAW,EAAE,IAAI,IAAI,EAAE,GAAG,EAAQsE,EAAM9B,EAAMR,EAAKkC,GAAY,UAAUlE,EAAoB,SAAS,EAAE,EAAE,GAAG,EAAE,OAAOxB,GAASQ,EAAGxB,EAAE4G,EAAGlF,EAAIsD,EAAMvD,EAAK,IAAI,CAAC,EAAEqF,EAAMD,CAAO,CAAE,EAAE,GAAG7D,IAAS,OAAO,OAAOoD,EAAK,EAAE,GAAGpD,IAAS,eAAe,OAAOqD,EAAQ,EAAE,GAAGrD,IAAS,UAAU,OAAOsD,EAAO,EAAE,GAAGtD,IAAS,WAAW,OAAOuD,EAAS,EAAE,GAAGvD,IAAS,cAAc,OAAOwD,EAAW,EAAE,EAAE,EAAE,GAAGxD,IAAS,cAAc,OAAOwD,EAAW,EAAE,EAAE,EAAE,GAAGxD,IAAS,gBAAgB,CAAC,IAAM1C,EAAE,KAAK,IAAI,GAAG,KAAK,IAAIwF,EAAM,IAAIC,EAAM,GAAG,CAAC,EAAE,OAAOpE,GAAWzB,EAAGE,EAAGE,CAAC,CAAE,CAAC,IAAMyG,EAAEL,GAAY,YAAYlE,EAAoB,WAAW,GAAGuE,IAAI,SAAS,CAAC,IAAMC,EAAKhC,EAAMR,EAAKkC,GAAY,aAAalE,EAAoB,YAAY,EAAE,EAAE,EAAE,EAAE,IAAUrC,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI2F,EAAMC,CAAK,EAAE,GAAGiB,CAAI,EAAE,OAAOnH,GAAWK,EAAGE,EAAGD,CAAC,CAAE,CAAC,GAAG4G,IAAI,MAAM,CAAC,IAAME,EAAK,CAAC,CAACP,GAAY,cAAoBM,EAAKhC,EAAMR,EAAKkC,GAAY,UAAUlE,EAAoB,SAAS,EAAE,EAAE,EAAE,EAAE,IAAUrC,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI2F,EAAMC,CAAK,EAAE,GAAGiB,CAAI,EAAE,GAAGC,EAAK,OAAOpH,GAAWK,EAAGE,EAAGD,CAAC,EAAE,IAAMS,EAAGoE,EAAMR,EAAKkC,GAAY,cAAclE,EAAoB,aAAa,EAAE,EAAE,GAAG,EAAQ7B,EAAGqE,EAAMR,EAAKkC,GAAY,YAAYlE,EAAoB,WAAW,EAAE,EAAE,GAAG,EAAQ9B,EAAI,CAAC,CAACgG,GAAY,WAAW,OAAOlG,GAAQN,EAAGE,EAAGD,EAAES,EAAGD,EAAGD,CAAG,CAAE,CAAC,IAAM+F,EAAOzB,EAAMR,EAAKkC,GAAY,cAAclE,EAAoB,aAAa,EAAE,EAAE,EAAE,EAAQf,EAAKuD,EAAMR,EAAKkC,GAAY,cAAclE,EAAoB,aAAa,EAAE,IAAI,CAAC,EAAQd,EAAIqE,EAAMf,EAAMyB,EAAO,IAAI,IAAI,GAAG,EAAQzG,EAAE4F,EAAQG,EAAMf,EAAMR,EAAKkC,GAAY,aAAalE,EAAoB,YAAY,EAAE,IAAI,IAAI,GAAG,EAAQmE,EAAI3B,EAAMR,EAAKkC,GAAY,SAASlE,EAAoB,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAUhB,EAAGkE,EAAQI,EAAMa,EAAUC,EAAGd,GAAO,EAAEa,EAAI,GAASE,GAAQ,KAAK,IAAI7B,EAAMR,EAAKkC,GAAY,YAAYlE,EAAoB,WAAW,EAAE,IAAI,IAAI,EAAE,GAAG,EAAqF,OAAOxB,GAASQ,EAAGxB,EAAE4G,EAAGlF,EAAID,EAAnGuD,EAAMR,EAAKkC,GAAY,UAAUlE,EAAoB,SAAS,EAAE,EAAE,GAA0C,EAAEqE,EAAO,CAAE,EAAE,CAAC7D,EAAO/D,EAAEE,EAAEe,EAAGE,EAAG0F,EAAMC,EAAML,EAAQC,EAAQC,EAAQC,GAAQa,CAAU,CAAC,EAAQQ,EAAUpK,MAAsB,CAAC,IAAMqK,EAAI,KAAK,IAAI,EAAE,GAAGA,EAAIjE,EAAgB,QAAQ,GAAG,MAAO,GAAM,EAAgB,QAAQiE,EAAI,IAAMtI,EAAG+D,EAAW,QAAQ,GAAG,CAAC/D,EAAG,MAAO,GAAM,GAAG,CAAC,IAAMuI,EAAGvI,EAAG,sBAAsB,EAAE,GAAGuI,EAAG,EAA6C,OAA1ChE,GAAWgE,CAAE,EAAE,EAAc,QAAQ,GAAY,EAAM,MAAM,CAAC,MAAO,EAAM,CAAC,MAAO,EAAM,EAAE,CAAC,CAAC,EAAExJ,MAAoB,CAAsE,GAA3DC,IAAS,QAAa,OAAO,SAAW,KAAsBoF,EAAc,SAASiE,EAAU,EAAE,OAA6B,IAAMG,EAAWtK,UAAQ,OAAO,MAAM,GAAGsK,GAAY,OAAOA,EAAW,MAAO,YAAY,CAACpE,EAAc,QAAQ,CAACoE,EAAW,SAAS,0BAA0BH,EAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,MAAO,CAAC,IAAM,EAAErJ,EAAO,eAAeqJ,EAAU,EAAE,EAAE,EAAE,UAAUrJ,EAAO,aAAa,CAAC,CAAE,EAAE,CAACmI,EAASjB,EAASE,GAAWN,GAAWO,GAASgC,CAAS,CAAC,EAAgEtJ,MAAoB,CAAC,IAAM0J,EAAM,0BAA0B,CAAC,IAAMC,EAAG7E,EAAW,QAAc8E,EAAOlI,GAAaiI,CAAE,EAAM/H,EAAI,EAAE,GAAG,CAAC,EAAI+H,GAAI,iBAAiB,GAAG,CAAE,MAAM,CAAC,EAAI,CAAE,CAAC,IAAM3F,EAAE4F,EAAOxF,EAAMH,GAAkB0F,EAAGvF,EAAMmB,CAAO,EAAEO,GAAc8D,CAAM,EAAElE,GAAW9D,CAAG,EAAEgE,GAAY5B,GAAGI,CAAK,CAAE,CAAC,EAAE,UAAU,qBAAqBsF,CAAK,CAAE,EAAE,CAACtF,EAAMmB,CAAO,CAAC,EAAE,IAAMsE,EAAWzE,IAAS,gBAAsB0E,GAAe1E,IAAS,SAAS0D,GAAY,aAAa,UAAUA,GAAY,aAAa,OAAO,CAAC,CAACA,GAAY,eAAqBiB,GAAaF,GAAYC,GAAqBE,GAAK/K,MAAkB,CAAC,IAAMuK,EAAG,KAAK,IAAI,EAAEjE,CAAO,EAAQ0E,EAAG,KAAK,IAAI,EAAExE,GAAS,KAAK,IAAIpE,EAAEE,CAAC,EAAE,CAAC,EAAE,GAAGsE,EAAW,CAAC,IAAMqE,EAAIL,EAAW,GAAG,GAASM,EAAKF,EAAG,EAAET,EAAG,EAAE,OAAO,KAAK,IAAIU,EAAI,KAAK,KAAKC,EAAKX,CAAE,EAAE,CAAC,CAAE,CAAC,IAAuBY,EAASH,EAAGT,EAAG,EAAE,OAAO,KAAK,IAAI,GAAQ,KAAK,KAAKY,EAASZ,CAAE,EAAE,CAAC,CAAE,EAAE,CAACjE,EAAQE,EAAQpE,EAAEE,EAAEsE,EAAWgE,CAAU,CAAC,EAAQQ,GAAUpL,MAAkB,MAAM+K,EAAI,CAAC,CAAC,KAAK5B,EAASkC,EAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAACN,GAAK5B,CAAQ,CAAC,EAAE9I,MAA0B,CAAI6F,EAAW,UAAUC,IAAc,EAAW,QAAQA,EAAO,qBAAqBH,EAAO,OAAO,EAAE,EAAU,QAAQ,EAAEF,EAAY,SAAS,aAAa,cAAc,GAAG,EAAE,EAAE,CAACK,CAAM,CAAC,EAA8BpF,MAAoB,CAAC,qBAAqBiF,EAAO,OAAO,EAAE,IAAMsF,EAAGxF,EAAY,QAAQ,GAAG,CAACwF,EAAG,OAAO,GAAG,CAAC/D,IAAa,CAACT,IAAU,CAACC,GAAU,CAACuE,EAAG,aAAa,cAAc,GAAG,EAAE,MAAO,CAAC,IAAMf,EAAG,KAAK,IAAI,EAAEjE,CAAO,EAAE,GAAGM,GAAYkE,GAAa,CAAC,IAAmBS,EAAQhB,GAAI7C,EAAa,IAAI,EAAU,QAAQ,EAAE,IAAI8D,EAAS,YAAY,IAAI,EAAQC,EAAK,GAAa,CAAaC,EAAYF,EAAkB,KAAuD,EAASE,EAAY,EAAU,SAAS,GAAIH,EAAWtF,EAAU,SAAS,CAACsE,IAAG,EAAU,SAASA,GAAMtE,EAAU,QAAQ,IAAE,EAAU,SAASsE,GAAGe,EAAG,aAAa,cAAcrF,EAAU,QAAQ,QAAQ,CAAC,CAAC,GAAE,EAAO,QAAQ,sBAAsBwF,CAAI,CAAE,EAA6C,MAA3C,GAAO,QAAQ,sBAAsBA,CAAI,MAAY,qBAAqBzF,EAAO,OAAO,CAAE,CAAC,IAAM2F,EAAIlE,KAAU,UAAU,GAAG,EAAQ8D,EAAQhB,GAAI7C,EAAa,IAAI,EAAU,QAAQ,EAAE,IAAI8D,EAAS,YAAY,IAAI,EAAQC,EAAK,GAAa,CAAaC,EAAYF,EAAkB,KAAuD,EAASE,EAAY,EAAU,SAASzF,EAAU,QAAQ0F,EAAIJ,EAAQhB,GAAIA,EAAGe,EAAG,aAAa,cAAcrF,EAAU,QAAQ,QAAQ,CAAC,CAAC,GAAE,EAAO,QAAQ,sBAAsBwF,CAAI,CAAE,EAA6C,MAA3C,GAAO,QAAQ,sBAAsBA,CAAI,MAAY,qBAAqBzF,EAAO,OAAO,CAAE,EAAE,CAACuB,GAAYG,EAAaD,GAAQnB,EAAQM,EAAWkE,GAAahE,GAASC,EAAS,CAAC,EAAE,IAAM6E,GAAgBzD,EAAMO,EAAcC,EAAQ,EAAET,EAAS,IAAIA,EAAS,IAAI,IAAI,EAAE,MAAoB,gBAAK,MAAM,CAAC,IAAItC,EAAa,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,QAAQ,EAAE,SAASxD,EAAE,GAAgB,gBAAM,MAAM,CAAC,MAAMA,EAAE,OAAOE,EAAE,QAAQ,OAAOF,EAAE,GAAGE,IAAI,MAAM,CAAC,QAAQ,QAAQ,SAAS,SAAS,EAAE,aAAa+G,EAAK,SAAS,CAAc,gBAAM,OAAO,CAAC,SAAS,CAAc,gBAAK,OAAO,CAAC,IAAIxD,EAAW,GAAGmB,GAAU,EAAE7B,CAAK,CAAC,EAAe,gBAAK,OAAO,CAAC,GAAG8B,GAAU,EAAEP,IAAUvB,CAAK,CAAC,EAAEA,GAAoB,gBAAM,OAAO,CAAC,GAAG+B,GAAO,UAAU,iBAAiB,SAAS,CAAc,gBAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM9E,EAAE,OAAOE,EAAE,KAAK,OAAO,CAAC,EAAe,gBAAK,OAAO,CAAC,EAAE6C,EAAM,KAAK,OAAO,OAAO,QAAQ,YAAYyG,GAAgB,cAAc,QAAQ,eAAe,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAK,OAAO,CAAC,IAAI7F,EAAW,MAAM,CAAC,GAAGuD,GAAU,WAAW,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,cAAc,OAAO,SAASH,EAASkC,EAAG,CAAC,EAAE7C,GAAO,QAAqB,gBAAK,OAAO,CAAC,EAAErD,EAAM,KAAK,OAAO,OAAOqD,EAAM,QAAQ,YAAYE,EAAc,cAAc,QAAQ,eAAe,OAAO,CAAC,EAAe,gBAAK,OAAO,CAAI,MAAG,MAAMY,GAAe,QAAK,OAAOd,GAAO,cAAcA,EAAM,YAAY,OAAO,YAAYA,GAAO,cAAcG,EAAQ,EAAE,WAAWH,GAAO,cAAc,cAAc,IAAA,GAAU,WAAW,QAAQ,KAAKrD,EAAM,QAAQ+B,GAAO,GAAG,IAAA,GAAU,SAAsB,gBAAK,WAAW,CAAC,IAAIpB,EAAY,KAAK,IAAImB,KAAY,YAAY,IAAI,OAAO,QAAQ,QAAQ,OAAO,SAASmE,EAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,sFAA18d,GAAY,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,WAAW,MAAM,cAAc,CAAC,EAAE,aAAa,CAAC,SAAS,GAAG,WAAW,MAAM,cAAc,EAAE,UAAU,WAAW,EAAE,QAAQ,CAAC,SAAS,GAAG,WAAW,MAAM,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,WAAW,MAAM,cAAc,CAAC,EAAE,YAAY,CAAC,SAAS,GAAG,WAAW,MAAM,cAAc,CAAC,EAAE,YAAY,CAAC,SAAS,GAAG,WAAW,MAAM,cAAc,CAAC,EAAE,cAAc,CAAC,SAAS,GAAG,WAAW,MAAM,cAAc,CAAC,CAAC,EAAQ,GAAO,EAAE,EAAG,IAAK,KAAK,IAAIU,EAAG,KAAK,IAAIC,EAAGC,CAAC,CAAC,EAAQ,GAAM,EAAE,IAAK,CAAC,IAAM,EAAE,OAAOC,CAAC,EAAE,OAAO,SAAS,CAAC,EAAE,EAAEC,CAAG,EAAQ,GAAQ,GAAGvE,EAAK,OAAOsE,GAAI,SAAS,WAAWA,CAAC,EAAEA,EAAE,CAAC,EAAQ,GAAI,UAAmB,EAAI,IAAU,IAAM,EAAE,IAAI,KAAK,MAAMxI,EAAE,EAAE2F,EAAE,EAAE3F,EAAE,EAAE2F,EAAE,CAAC,EAA8/E,GAAa,wEAAoF,GAAe,OAAa,EAAmB,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,cAAc,MAAM,EAAQ,EAAkB,CAAC,QAAQ,GAAK,IAAI,UAAU,SAAS,EAAE,EAAQ,EAAc,CAAC,cAAc,GAAM,YAAY,UAAU,YAAY,EAAE,OAAO,GAAM,QAAQ,UAAU,UAAU,EAAE,EAAQ,EAAoB,CAAC,WAAW,MAAM,UAAU,GAAG,cAAc,IAAI,YAAY,IAAI,WAAW,GAAM,cAAc,GAAM,aAAa,GAAG,cAAc,GAAG,cAAc,IAAI,UAAU,EAAE,aAAa,GAAG,SAAS,EAAE,YAAY,GAAG,EAA4qW7H,EAAoB8D,EAAc,CAAC,KAAK,CAAC,KAAKhE,EAAY,OAAO,MAAM,OAAO,gBAAgB,GAAK,aAAaiE,EAAY,EAAE,OAAO,CAAC,KAAKjE,EAAY,KAAK,MAAM,SAAS,aAAakE,GAAe,QAAQ,CAAC,OAAO,OAAO,eAAe,UAAU,WAAW,cAAc,cAAc,eAAe,EAAE,aAAa,CAAC,aAAa,OAAO,eAAe,UAAU,WAAW,gBAAmB,gBAAmB,eAAe,CAAC,EAAE,WAAW,CAAC,KAAKlE,EAAY,OAAO,MAAM,aAAa,SAAS,CACznf,KAAK,CACL,KAAKA,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,gBAAgB,GAAK,qBAAqB,GAAM,aAAa,CAAC,SAAS,GAAG,QAAQ,WAAW,cAAc,KAAK,CAAC,EAAE,KAAK,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,aAAamE,EAAmB,IAAI,EAAE,cAAc,CAAC,KAAKnE,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,OAAO,YAAY,YAAY,YAAY,EAAE,aAAa,CAAC,OAAO,YAAY,YAAY,YAAY,EAAE,aAAamE,EAAmB,aAAa,CAAC,CAAC,EAAE,UAAU,CAAC,KAAKnE,EAAY,OAAO,MAAM,YAAY,SAAS,CAAC,QAAQ,CAAC,KAAKA,EAAY,QAAQ,MAAM,UAAU,aAAa,KAAK,cAAc,MAAM,aAAaoE,EAAkB,OAAO,EAAE,IAAI,CAAC,KAAKpE,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,UAAU,UAAU,EAAE,aAAa,CAAC,IAAI,GAAG,EAAE,wBAAwB,GAAK,aAAaoE,EAAkB,IAAI,OAAO,GAAG,CAAC9E,EAAE,OAAO,EAAE,SAAS,CAAC,KAAKU,EAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,YAAY,sCAAsC,aAAaoE,EAAkB,SAAS,OAAO,GAAG,CAAC9E,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,KAAKU,EAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,OAAO,CAAC,KAAKA,EAAY,QAAQ,MAAM,aAAa,aAAa,KAAK,cAAc,MAAM,aAAaqE,EAAc,MAAM,EAAE,QAAQ,CAAC,KAAKrE,EAAY,MAAM,MAAM,WAAW,aAAaqE,EAAc,QAAQ,OAAO,GAAG,CAAC/E,EAAE,MAAM,EAAE,UAAU,CAAC,KAAKU,EAAY,OAAO,MAAM,aAAa,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,aAAaqE,EAAc,UAAU,OAAO,GAAG,CAAC/E,EAAE,MAAM,EAAE,cAAc,CAAC,KAAKU,EAAY,QAAQ,MAAM,SAAS,aAAa,KAAK,cAAc,MAAM,aAAaqE,EAAc,aAAa,EAAE,YAAY,CAAC,KAAKrE,EAAY,MAAM,MAAM,eAAe,aAAaqE,EAAc,YAAY,OAAO,GAAG,CAAC/E,EAAE,aAAa,EAAE,YAAY,CAAC,KAAKU,EAAY,OAAO,MAAM,eAAe,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,aAAaqE,EAAc,YAAY,OAAO,GAAG,CAAC/E,EAAE,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,KAAKU,EAAY,OAAO,MAAM,gBAAgB,OAAO,GAAGV,EAAE,SAAS,OAAO,SAAS,CAAC,WAAW,CAAC,KAAKU,EAAY,KAAK,MAAM,OAAO,QAAQ,CAAC,MAAM,SAAS,MAAM,EAAE,aAAa,CAAC,MAAM,SAAS,MAAM,EAAE,wBAAwB,GAAK,aAAasE,EAAoB,UAAU,EAAE,cAAc,CAAC,KAAKtE,EAAY,QAAQ,MAAM,cAAc,aAAa,KAAK,cAAc,MAAM,aAAasE,EAAoB,cAAc,OAAO,GAAGhF,EAAE,aAAa,KAAK,EAAE,UAAU,CAAC,KAAKU,EAAY,OAAO,MAAM,WAAW,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,aAAasE,EAAoB,UAAU,OAAO,GAAGhF,EAAE,aAAa,KAAK,EAAE,cAAc,CAAC,KAAKU,EAAY,OAAO,MAAM,UAAa,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAasE,EAAoB,cAAc,OAAO,GAAGhF,EAAE,aAAa,OAAOA,EAAE,aAAa,EAAE,YAAY,CAAC,KAAKU,EAAY,OAAO,MAAM,QAAW,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAasE,EAAoB,YAAY,OAAO,GAAGhF,EAAE,aAAa,OAAOA,EAAE,aAAa,EAAE,WAAW,CAAC,KAAKU,EAAY,QAAQ,MAAM,UAAU,aAAasE,EAAoB,WAAW,OAAO,GAAGhF,EAAE,aAAa,OAAOA,EAAE,aAAa,EAAE,aAAa,CAAC,KAAKU,EAAY,OAAO,MAAM,WAAW,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,aAAasE,EAAoB,aAAa,OAAO,GAAGhF,EAAE,aAAa,QAAQ,EAAE,aAAa,CAAC,KAAKU,EAAY,OAAO,MAAM,aAAa,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,aAAasE,EAAoB,aAAa,OAAO,GAAGhF,EAAE,aAAa,MAAM,EAAE,cAAc,CAAC,KAAKU,EAAY,OAAO,MAAM,cAAc,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,aAAasE,EAAoB,cAAc,OAAO,GAAGhF,EAAE,aAAa,MAAM,EAAE,cAAc,CAAC,KAAKU,EAAY,OAAO,MAAM,YAAY,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,aAAasE,EAAoB,cAAc,OAAO,GAAGhF,EAAE,aAAa,MAAM,EAAE,UAAU,CAAC,KAAKU,EAAY,OAAO,MAAM,UAAa,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAasE,EAAoB,UAAU,OAAO,GAAGhF,EAAE,aAAa,MAAM,EAAE,SAAS,CAAC,KAAKU,EAAY,OAAO,MAAM,cAAc,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,aAAasE,EAAoB,SAAS,OAAO,GAAGhF,EAAE,aAAa,MAAM,EAAE,YAAY,CAAC,KAAKU,EAAY,OAAO,MAAM,UAAU,IAAI,IAAI,IAAI,KAAK,KAAK,GAAG,aAAasE,EAAoB,YAAY,OAAO,GAAGhF,EAAE,aAAa,MAAM,CAAC,CAAC,CAAC,CAAC,C"}