{"version":3,"file":"AgentAnimation.DzzaET8E.mjs","names":["useId","useState","useRef","useMemo","__esmMin","ie","window","init_ssg_sandbox_shims","pe","_e","de","c","init_jsx_runtime","init_npm_react_18_3_1","p","ce","addPropertyControls","useIsStaticRenderer","ControlType","init_framer_D6uXRwWs","uniformRadii","DOTS","d","r","easeInOut","t","easeOut","foldPingPong","getMorphSpeed","mode","speed","getLoopPhase","morphSpeed","loopStart","now","findBestRemap","remap","available","pairs","from","to","fx","fy","currentPos","tx","ty","targetPos","a","b","usedFrom","permutedState","pos","HOME","slotMap","modeStatic","modeBreathe","scale","hx","hy","CX","CY","baseR","modeFaceSimple","step","ease","i","dotIdx","dot","slots","prevSlot","x1","y1","x2","y2","modeAllFaces","phase","AF_STATES","modeCombine","m","modeRotate","CW","modePairSwap","ax","ay","bx","by","arc","len","nx","ny","modeWave","\"cn\"","modeTypewriter","order","n","as","ae","ds","s","modeSplit","cwG","ccwG","cwT","ccwT","cx1","cy1","cx2","cy2","modeTriangle","blend","spin","rotTri","TRI","px","py","dx","dy","targets","modeArrow","arm","modeScatter","SCATTER_PARAMS","x","SPAN_MIN","y","modeGravity","floor","FLOOR_Y","lt","scaleY","modeMetronome","morsePulseAt","acc","MORSE_SOS","tAbs","modeMorse","offset","MORSE_TOTAL","on","modeChase","getPosOnRing","slotF","ft","slot","frac","\"lt\"","\"lb\"","modeFlock","cx","cy","angle","spread","modeRecord","modeOscilloscope","time","xNorm","WAVE_XS","seededRand","seed","modeNoise","ti","tf","rx1","ry1","rx2","ry2","e","modeStutter","snap","ox","oy","present","modeReverb","echoSlots","expand","decay","ex","ey","modeSine","modeStandingWave","amp","modeLissajous","modeBreathingSine","modeSawtooth","saw","modePhaseShift","modeSnake","modeEQBars","freqs","phases","BAR_XS","modeWaveSimple","WF_LAG","modeWaveDouble","modeWaveDrift","modeOrbitPulse","radius","modeSpiral","rad","modeRelay","swell","modeDrunk","DRUNK_PARAMS","modeMorph","timeline","DEFAULT_MORPH_TIMELINE","convergeEnd","crossStart","crossEnd","posBlend","radScale","AgentAnimation","props","isStatic","gooId","iconKey","setIconKey","morphIcon","dotRadius","transitionDuration","color","iconStrokeWidth","cycleIcons","rootRef","dotElsRef","grilleElsRef","quiverElsRef","iconOverlayRef","iconCrispRef","iconOverlayInnerRef","iconCrispInnerRef","blurRef","grilleT","iconScale","lastLoopIdx","inView","setInView","el","io","entry","snapR","switchT","toPos","toR","MODES","rafId","animate","st","ts","tp","tr","fp","fr","tBlend","bp","br","useStatic","REALTIME_MODES","targetSlot","fill","grilleTarget","baseGrilleR","GRILLE_DOTS","targetR","ringDelay","overlay","isMorph","morphT","loopIdx","keys","LUCIDE_ICONS","curIdx","next","tl","sc","transformVal","blobSW","targetSW","dynStroke","ICON_SCALE","qIntensity","nowTF","f","lobe","maxR","lobeR","scVal","taper","staticState","basePos","staticGrilleR","icon","S","renderIconOverlay","style","VB","PAD","LEFT","RIGHT","TOP","BOTTOM","INNER_TOP","INNER_BOTTOM","MODE_OPTIONS","MODE_TITLES","ICON_OPTIONS","ICON_TITLES","init_AgentAnimation","dots","ri","k"],"sources":["https:/framerusercontent.com/modules/9ZGHH0OuL1aIZkQV3sIK/vzKdN9j8YthEnMnYkhDN/AgentAnimation.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useMemo,useRef,useState,useId}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// ─── Geometry ────────────────────────────────────────────────────────────────\nconst PAD=24;const CX=46+PAD;const CY=46+PAD;const LEFT=CX-40;const RIGHT=CX+40;const TOP=CY-40;const BOTTOM=CY+40;const INNER_TOP=CY-20;const INNER_BOTTOM=CY+20;const SPAN_MIN=CX-32;const SPAN_MAX=CX+32;const FLOOR_Y=CY+36;const WAVE_XS=[10,24,34,46,58,68,82].map(x=>x+PAD);const BAR_XS=[8,21,34,46,58,71,84].map(x=>x+PAD);const HOME={tc:[CX,TOP],lt:[LEFT,INNER_TOP],rt:[RIGHT,INNER_TOP],cn:[CX,CY],lb:[LEFT,INNER_BOTTOM],rb:[RIGHT,INNER_BOTTOM],bc:[CX,BOTTOM]};const VB=92+PAD*2;const DOTS=[\"tc\",\"lt\",\"rt\",\"cn\",\"lb\",\"rb\",\"bc\"];const CW=[\"tc\",\"rt\",\"rb\",\"bc\",\"lb\",\"lt\"];const ICON_SCALE=2.8;function uniformRadii(r){return Object.fromEntries(DOTS.map(d=>[d,r]));}const GRILLE_DOTS=(()=>{const dots=[];const rings=[{r:0,n:1},{r:12,n:6},{r:22,n:10},{r:32,n:14},{r:42,n:18}];rings.forEach(({r,n},ri)=>{for(let i=0;i<n;i++){const angle=i/n*Math.PI*2-Math.PI/2;dots.push({x:CX+r*Math.cos(angle),y:CY+r*Math.sin(angle),ring:ri});}});return dots;})();// ─── Easing / timing ─────────────────────────────────────────────────────────\nfunction easeInOut(t){return t<.5?2*t*t:-1+(4-2*t)*t;}function easeOut(t){return 1-Math.pow(1-t,3);}function foldPingPong(t){return t<.5?t*2:(1-t)*2;}function getMorphSpeed(mode,speed){return mode===\"morph\"?speed*2:speed;}function getLoopPhase(now,loopStart,speed,mode){const morphSpeed=getMorphSpeed(mode,speed);return loopStart!==null?(now-loopStart)%morphSpeed/morphSpeed:0;}// Find optimal dot assignment: maps each current dot to the nearest target slot\nfunction findBestRemap(currentPos,targetPos){const remap={};const available=new Set(DOTS);const pairs=[];for(const from of DOTS){for(const to of DOTS){const[fx,fy]=currentPos[from];const[tx,ty]=targetPos[to];pairs.push({from,to,dist:Math.hypot(fx-tx,fy-ty)});}}pairs.sort((a,b)=>a.dist-b.dist);const usedFrom=new Set;for(const{from,to}of pairs){if(usedFrom.has(from)||!available.has(to))continue;remap[from]=to;usedFrom.add(from);available.delete(to);if(usedFrom.size===DOTS.length)break;}return remap;}const DEFAULT_MORPH_TIMELINE={convergeEnd:.35,quiverStart:.01,quiverPeak:.4,quiverEnd:.8,quiverCycles:1.5,iconStart:.4,blobShrink:.4,crossEnd:.8,blobStroke:30};function permutedState(slotMap){const pos={};for(const d of DOTS)pos[d]=[...HOME[slotMap[d]]];return pos;}const AF_STATES=[{tc:\"tc\",lt:\"lt\",rt:\"rt\",cn:\"cn\",lb:\"lb\",rb:\"rb\",bc:\"bc\"},{tc:\"rt\",lt:\"tc\",rt:\"cn\",cn:\"lt\",lb:\"lb\",rb:\"rb\",bc:\"bc\"},{tc:\"rb\",lt:\"tc\",rt:\"rt\",cn:\"lt\",lb:\"lb\",rb:\"bc\",bc:\"cn\"},{tc:\"bc\",lt:\"tc\",rt:\"rt\",cn:\"lt\",lb:\"cn\",rb:\"lb\",bc:\"rb\"},{tc:\"lb\",lt:\"tc\",rt:\"rt\",cn:\"cn\",lb:\"bc\",rb:\"lt\",bc:\"rb\"}].map(permutedState);function modeStatic(_t,r){return{pos:{...HOME},r:uniformRadii(r)};}function modeBreathe(t,baseR){const scale=1+.45*Math.sin(t*Math.PI*2);const pos={};const r={};for(const d of DOTS){const[hx,hy]=HOME[d];pos[d]=[CX+(hx-CX)*scale,CY+(hy-CY)*scale];r[d]=baseR;}return{pos,r};}function modeFaceSimple(t,baseR,slots){const step=Math.floor(t*4)%4;const ease=easeInOut(Math.min(t*4%1/.6,1));const pos={...HOME};const r=uniformRadii(baseR);for(let i=0;i<4;i++){const dotIdx=((i-step)%4+4)%4;const dot=slots[dotIdx];const prevSlot=slots[((dotIdx-1)%4+4)%4];const[x1,y1]=HOME[prevSlot];const[x2,y2]=HOME[slots[dotIdx]];pos[dot]=[x1+(x2-x1)*ease,y1+(y2-y1)*ease];}return{pos,r};}function modeAllFaces(t,baseR){const phase=Math.min(Math.floor(t*4),3);const ease=easeInOut(Math.min(t*4%1/.6,1));const from=AF_STATES[phase];const to=AF_STATES[phase+1];const pos={};for(const d of DOTS){const[x1,y1]=from[d];const[x2,y2]=to[d];pos[d]=[x1+(x2-x1)*ease,y1+(y2-y1)*ease];}return{pos,r:uniformRadii(baseR)};}function modeCombine(t,baseR){const m=t<.15?easeInOut(t/.15):t<.35?1:t<.5?easeInOut(1-(t-.35)/.15):0;const pos={};for(const d of DOTS){const[hx,hy]=HOME[d];pos[d]=[hx+(CX-hx)*m,hy+(CY-hy)*m];}return{pos,r:uniformRadii(baseR)};}function modeRotate(t,baseR){const step=Math.floor(t*6)%6;const ease=easeInOut(Math.min(t*6%1/.6,1));const pos={cn:[CX,CY]};for(let i=0;i<6;i++){const[x1,y1]=HOME[CW[(i+step)%6]];const[x2,y2]=HOME[CW[(i+step+1)%6]];pos[CW[i]]=[x1+(x2-x1)*ease,y1+(y2-y1)*ease];}return{pos,r:uniformRadii(baseR)};}function modePairSwap(t,baseR){const pairs=[[\"tc\",\"bc\"],[\"lt\",\"rb\"],[\"rt\",\"lb\"]];const phase=Math.floor(t*3)%3;const ease=easeInOut(Math.min(t*3%1/.6,1));const pos={...HOME};const r=uniformRadii(baseR);const[a,b]=pairs[phase];const[ax,ay]=HOME[a];const[bx,by]=HOME[b];const arc=Math.sin(ease*Math.PI)*20;const len=Math.hypot(bx-ax,by-ay);const nx=-(by-ay)/len;const ny=(bx-ax)/len;pos[a]=[ax+(bx-ax)*ease+nx*arc,ay+(by-ay)*ease+ny*arc];pos[b]=[bx+(ax-bx)*ease-nx*arc,by+(ay-by)*ease-ny*arc];return{pos,r};}function modeWave(t,baseR){const pos={...HOME};const r={};for(let i=0;i<6;i++){const phase=(t-i/6+1)%1;r[CW[i]]=baseR*(1+.8*Math.max(0,Math.sin(phase*Math.PI*2)));}r[\"cn\"]=baseR*(1+.5*Math.sin(t*Math.PI*2));return{pos,r};}function modeTypewriter(t,baseR){const order=[\"tc\",\"rt\",\"rb\",\"bc\",\"lb\",\"lt\",\"cn\"];const n=order.length;const pos={...HOME};const r={};for(let i=0;i<n;i++){const as=i/n*.44;const ae=as+.44/n;const ds=.56+i/n*.44;const de=ds+.44/n;let s=0;if(t>=as&&t<ae)s=easeOut((t-as)/(ae-as));else if(t>=ae&&t<ds)s=1;else if(t>=ds&&t<de)s=1-easeOut((t-ds)/(de-ds));r[order[i]]=baseR*s;}return{pos,r};}function modeSplit(t,baseR){const step=Math.floor(t*3)%3;const ease=easeInOut(Math.min(t*3%1/.6,1));const cwG=[\"tc\",\"rb\",\"lb\"];const ccwG=[\"rt\",\"bc\",\"lt\"];const cwT=[[\"tc\",\"rb\",\"lb\"],[\"rb\",\"lb\",\"tc\"],[\"lb\",\"tc\",\"rb\"]];const ccwT=[[\"rt\",\"bc\",\"lt\"],[\"lt\",\"rt\",\"bc\"],[\"bc\",\"lt\",\"rt\"]];const pos={cn:[CX,CY]};const r=uniformRadii(baseR);for(let i=0;i<3;i++){const[x1,y1]=HOME[cwT[(step+2)%3][i]];const[x2,y2]=HOME[cwT[step][i]];pos[cwG[i]]=[x1+(x2-x1)*ease,y1+(y2-y1)*ease];const[cx1,cy1]=HOME[ccwT[(step+2)%3][i]];const[cx2,cy2]=HOME[ccwT[step][i]];pos[ccwG[i]]=[cx1+(cx2-cx1)*ease,cy1+(cy2-cy1)*ease];}return{pos,r};}const TRI=[[CX,CY-36],[CX-34,CY+26],[CX+34,CY+26]];function modeTriangle(t,baseR){let blend;if(t<.25)blend=easeInOut(t/.25);else if(t<.75)blend=1;else blend=easeInOut(1-(t-.75)/.25);const spin=t*Math.PI*2;const rotTri=TRI.map(([px,py])=>{const dx=px-CX,dy=py-CY;return[CX+dx*Math.cos(spin)-dy*Math.sin(spin),CY+dx*Math.sin(spin)+dy*Math.cos(spin)];});const targets=[rotTri[0],rotTri[1],rotTri[2],rotTri[0],rotTri[1],rotTri[2],[CX,CY]];const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const[tx,ty]=targets[i];pos[d]=[hx+(tx-hx)*blend,hy+(ty-hy)*blend];r[d]=baseR;});return{pos,r};}function modeArrow(t,baseR){const arm=36*(1+.25*Math.sin(t*Math.PI*2));const targets={tc:[CX,CY-arm],bc:[CX,CY+arm],lt:[CX-arm,CY],rt:[CX+arm,CY],cn:[CX,CY],lb:[CX-arm*.5,CY+arm*.5],rb:[CX+arm*.5,CY+arm*.5]};let blend;if(t<.2)blend=easeInOut(t/.2);else if(t<.8)blend=1;else blend=easeInOut(1-(t-.8)/.2);const pos={};const r={};for(const d of DOTS){const[hx,hy]=HOME[d];const[tx,ty]=targets[d];pos[d]=[hx+(tx-hx)*blend,hy+(ty-hy)*blend];r[d]=baseR;}return{pos,r};}const SCATTER_PARAMS=[{bx:3,by:2,px:0,py:0},{bx:2,by:3,px:.14,py:.57},{bx:4,by:3,px:.28,py:.21},{bx:3,by:4,px:.42,py:.78},{bx:5,by:2,px:.56,py:.35},{bx:2,by:5,px:.7,py:.92},{bx:4,by:5,px:.85,py:.14}];function modeScatter(t,baseR){const pos={};const r={};const span=SPAN_MAX-SPAN_MIN;DOTS.forEach((d,i)=>{const{bx,by,px,py}=SCATTER_PARAMS[i];const tx=(t+px)%1;const ty=(t+py)%1;const x=SPAN_MIN+Math.abs(tx*bx*2%2-1)*span;const y=SPAN_MIN+Math.abs(ty*by*2%2-1)*span;pos[d]=[x,y];r[d]=baseR;});return{pos,r};}function modeGravity(t,baseR){const floor=FLOOR_Y;const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const delay=i*.08;const lt=(t-delay+1)%1;let y;let scaleY=1;if(lt<.35){y=hy+(floor-hy)*easeInOut(lt/.35);}else if(lt<.45){y=floor;scaleY=1-Math.sin((lt-.35)/.1*Math.PI)*.3;}else if(lt<.8){y=floor+(hy-floor)*easeOut((lt-.45)/.35);}else{y=hy;}pos[d]=[hx,y];r[d]=baseR*scaleY;});return{pos,r};}function modeMetronome(t,baseR){const pos={};const r={};const swing=18;DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const delay=i*(1/DOTS.length)*.5;const lt=(t-delay+1)%1;const x=hx+swing*Math.sin(lt*Math.PI*2);pos[d]=[x,hy];r[d]=baseR;});return{pos,r};}const MORSE_SOS=[.15,0,.15,0,.15,0,.1,.5,.1,0,.5,0,.5,0,.5,0,.1,.5,.1,0,.15,0,.15,0,.15,0,.2];const MORSE_TOTAL=MORSE_SOS.reduce((a,b)=>a+b,0);function morsePulseAt(tAbs){let acc=0;for(let i=0;i<MORSE_SOS.length;i++){acc+=MORSE_SOS[i];if(tAbs<acc)return i%2===0?1:0;}return 0;}function modeMorse(t,baseR){const pos={...HOME};const r={};DOTS.forEach((d,i)=>{const offset=i*(MORSE_TOTAL/DOTS.length);const tAbs=(t*MORSE_TOTAL+offset)%MORSE_TOTAL;const on=morsePulseAt(tAbs);r[d]=baseR*(.3+.7*on);});return{pos,r};}function modeChase(t,baseR){const n=CW.length;const getPosOnRing=ft=>{const norm=(ft%1+1)%1;const slotF=norm*n;const slot=Math.floor(slotF)%n;const frac=easeInOut(slotF%1);const[x1,y1]=HOME[CW[slot]];const[x2,y2]=HOME[CW[(slot+1)%n]];return[x1+(x2-x1)*frac,y1+(y2-y1)*frac];};const pos={};const r={};for(const d of DOTS){pos[d]=[...HOME[d]];r[d]=0;}pos[\"lt\"]=getPosOnRing(t);pos[\"cn\"]=getPosOnRing(t-.16);pos[\"lb\"]=getPosOnRing(t-.32);r[\"lt\"]=baseR;r[\"cn\"]=baseR*.8;r[\"lb\"]=baseR*.6;return{pos,r};}function modeFlock(t,baseR){const cx=CX+22*Math.sin(t*Math.PI*2);const cy=CY+14*Math.sin(t*Math.PI*4);let blend;if(t<.4)blend=easeInOut(t/.4);else if(t<.6)blend=1;else blend=easeInOut(1-(t-.6)/.4);const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const angle=i/DOTS.length*Math.PI*2;const spread=(1-blend)*6;const tx=cx+Math.cos(angle)*spread;const ty=cy+Math.sin(angle)*spread;pos[d]=[hx+(tx-hx)*blend,hy+(ty-hy)*blend];r[d]=baseR*(1-blend*.15);});return{pos,r};}function modeRecord(_t,_baseR){const pos={};const r={};for(const d of DOTS){pos[d]=[CX,CY];r[d]=0// hidden — grille overlay takes over\n;}return{pos,r};}function modeOscilloscope(t,baseR,now){const pos={};const r={};const amp=28;const time=now??t;DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const y=CY+amp*.65*Math.sin((xNorm*2.5+time*.5)*Math.PI*2)+amp*.35*Math.sin((xNorm*4.1-time*.65)*Math.PI*2);pos[d]=[WAVE_XS[i],y];r[d]=baseR;});return{pos,r};}function seededRand(seed){const x=Math.sin(seed)*43758.5453;return x-Math.floor(x);}function modeNoise(t,baseR){const pos={};const r={};const jitter=5;DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const ti=Math.floor(t*24);const tf=t*24%1;const rx1=seededRand(i*100+ti)-.5;const ry1=seededRand(i*100+ti+50)-.5;const rx2=seededRand(i*100+ti+1)-.5;const ry2=seededRand(i*100+ti+51)-.5;const e=easeInOut(tf);pos[d]=[hx+(rx1+(rx2-rx1)*e)*jitter,hy+(ry1+(ry2-ry1)*e)*jitter];r[d]=baseR;});return{pos,r};}function modeStutter(t,baseR){const stutterRate=8;const snap=Math.floor(t*stutterRate);const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const ox=(seededRand(i*77+snap*13)-.5)*30;const oy=(seededRand(i*77+snap*13+99)-.5)*30;const present=seededRand(i*77+snap*13+44)>.15;pos[d]=[hx+ox,hy+oy];r[d]=present?baseR:0;});return{pos,r};}function modeReverb(t,baseR){const pos={};const r={};pos[\"cn\"]=[CX,CY];r[\"cn\"]=baseR*(.6+.4*Math.abs(Math.sin(t*Math.PI*2)));const echoSlots=[\"tc\",\"rt\",\"rb\",\"bc\",\"lb\",\"lt\"];echoSlots.forEach((d,i)=>{const delay=i/echoSlots.length;const lt=(t-delay+1)%1;const expand=easeOut(lt);const decay=1-lt;const[hx,hy]=HOME[d];const ex=CX+(hx-CX)*expand;const ey=CY+(hy-CY)*expand;pos[d]=[ex,ey];r[d]=baseR*decay*.85;});return{pos,r};}function modeSine(t,baseR,now){const pos={};const r={};const amp=30;const time=now??t;DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const y=CY+amp*Math.sin((xNorm*2-time*.6)*Math.PI*2);pos[d]=[WAVE_XS[i],y];r[d]=baseR;});return{pos,r};}function modeStandingWave(t,baseR){const pos={};const r={};const maxAmp=32;const amp=maxAmp*Math.sin(t*Math.PI*2);DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const y=CY+amp*Math.sin(xNorm*Math.PI*2);pos[d]=[WAVE_XS[i],y];r[d]=baseR;});return{pos,r};}function modeLissajous(t,baseR,now){const pos={};const r={};const time=now??t;const rx=36,ry=28;DOTS.forEach((d,i)=>{const offset=i/DOTS.length*Math.PI*2;const angle=time*.8+offset;const x=CX+rx*Math.sin(angle*2);const y=CY+ry*Math.sin(angle*3);pos[d]=[x,y];r[d]=baseR;});return{pos,r};}function modeBreathingSine(t,baseR,now){const pos={};const r={};const time=now??t;const amp=30*(.3+.7*Math.abs(Math.sin(time*.25*Math.PI)));DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const y=CY+amp*Math.sin((xNorm*2-time*.55)*Math.PI*2);pos[d]=[WAVE_XS[i],y];r[d]=baseR;});return{pos,r};}function modeSawtooth(t,baseR,now){const pos={};const r={};const time=now??t;DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const phase=((xNorm*1.5-time*.5)%1+1)%1;const saw=phase<.8?phase/.8:(1-phase)/.2;const y=CY+(saw-.5)*56;pos[d]=[WAVE_XS[i],y];r[d]=baseR;});return{pos,r};}function modePhaseShift(t,baseR){const pos={};const r={};DOTS.forEach((d,i)=>{const[hx]=HOME[d];const phase=i/DOTS.length*Math.PI*2;const y=CY+30*Math.sin(t*Math.PI*2+phase);pos[d]=[hx,y];r[d]=baseR;});return{pos,r};}function modeSnake(t,baseR,now){const pos={};const r={};const time=now??t;const amp=32;DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const x=SPAN_MIN+xNorm*(SPAN_MAX-SPAN_MIN);const y=CY+amp*Math.sin((xNorm-time*.4)*Math.PI*2);pos[d]=[x,y];r[d]=baseR;});return{pos,r};}function modeEQBars(t,baseR){const pos={};const r={};const freqs=[1,2,3,4,3,2,1];const phases=[0,.25,.1,.5,.7,.15,.4];DOTS.forEach((d,i)=>{const level=.3+.7*Math.abs(Math.sin((t*freqs[i]+phases[i])*Math.PI*2));const y=CY+22-level*44;pos[d]=[BAR_XS[i],y];r[d]=baseR;});return{pos,r};}const WF_LAG=1/(DOTS.length-1)*.38;function modeWaveSimple(t,baseR){const pos={};const r={};DOTS.forEach((d,i)=>{const s=t-(DOTS.length-1-i)*WF_LAG;const amp=Math.sin(s*Math.PI*2);pos[d]=[BAR_XS[i],CY+amp*34];r[d]=baseR;});return{pos,r};}function modeWaveDouble(t,baseR){const pos={};const r={};DOTS.forEach((d,i)=>{const s=t-(DOTS.length-1-i)*WF_LAG;const amp=Math.sin(s*Math.PI*2*2);pos[d]=[BAR_XS[i],CY+amp*30];r[d]=baseR;});return{pos,r};}function modeWaveDrift(t,baseR){const pos={};const r={};DOTS.forEach((d,i)=>{const s=t-(DOTS.length-1-i)*WF_LAG;const amp=Math.sin(s*Math.PI*2*1)*.6+Math.sin(s*Math.PI*2*3)*.4;pos[d]=[BAR_XS[i],CY+amp*28];r[d]=baseR;});return{pos,r};}function modeOrbitPulse(t,baseR){const pos={};const r={};const amp=.5+.5*Math.sin(t*Math.PI*2);const minRad=12,maxRad=40;const radius=minRad+amp*(maxRad-minRad);CW.forEach((d,i)=>{const angle=i/CW.length*Math.PI*2+t*Math.PI*2;pos[d]=[CX+radius*Math.cos(angle),CY+radius*Math.sin(angle)];r[d]=baseR;});pos[\"cn\"]=[CX,CY];r[\"cn\"]=baseR;return{pos,r};}function modeSpiral(t,baseR){const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const offset=i/DOTS.length*Math.PI*2;const angle=t*Math.PI*4+offset;const rad=28*Math.sin(t*Math.PI);const tx=CX+rad*Math.cos(angle);const ty=CY+rad*Math.sin(angle);let blend;if(t<.15)blend=easeInOut(t/.15);else if(t<.85)blend=1;else blend=easeInOut(1-(t-.85)/.15);pos[d]=[hx+(tx-hx)*blend,hy+(ty-hy)*blend];r[d]=baseR;});return{pos,r};}function modeRelay(t,baseR){const n=CW.length;const pos={...HOME};const r={};CW.forEach((d,i)=>{const phase=(t-i/n+1)%1;const swell=Math.max(0,Math.sin(phase*Math.PI*n));r[d]=baseR*(1+swell*.8);});r[\"cn\"]=baseR;return{pos,r};}const DRUNK_PARAMS=DOTS.map((_,i)=>({fx:.3+i%3*.11,fy:.37+i%4*.09,px:i*.137,py:i*.241,amp:8+i%3*3}));function modeDrunk(t,baseR,now){const time=now??t;const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const{fx,fy,px,py,amp}=DRUNK_PARAMS[i];pos[d]=[hx+amp*Math.sin((time*fx+px)*Math.PI*2),hy+amp*Math.sin((time*fy+py)*Math.PI*2)];r[d]=baseR;});return{pos,r};}// MORPH — forward: dots converge → quiver → icon grows out of blob\n//          reverse: icon shrinks back → quiver → dots expand home\nfunction modeMorph(t,baseR){const timeline=DEFAULT_MORPH_TIMELINE;const tf=foldPingPong(t);const convergeEnd=timeline.convergeEnd;const crossStart=timeline.blobShrink;const crossEnd=timeline.crossEnd;let posBlend,radScale;if(tf<convergeEnd){posBlend=easeInOut(tf/convergeEnd);radScale=1;}else if(tf<crossEnd){posBlend=1;const x=Math.max(0,(tf-crossStart)/(crossEnd-crossStart));radScale=1-easeInOut(Math.min(x,1));}else{posBlend=1;radScale=0;}const pos={};const r={};for(const d of DOTS){const[hx,hy]=HOME[d];pos[d]=[hx+(CX-hx)*posBlend,hy+(CY-hy)*posBlend];r[d]=baseR*radScale;}return{pos,r};}// ─── Registry ────────────────────────────────────────────────────────────────\nconst MODES={static:modeStatic,breathe:modeBreathe,topFace:(t,r)=>modeFaceSimple(t,r,[\"tc\",\"rt\",\"cn\",\"lt\"]),leftFace:(t,r)=>modeFaceSimple(t,r,[\"lt\",\"cn\",\"bc\",\"lb\"]),rightFace:(t,r)=>modeFaceSimple(t,r,[\"rt\",\"rb\",\"bc\",\"cn\"]),bottomFace:(t,r)=>modeFaceSimple(t,r,[\"bc\",\"lb\",\"cn\",\"rb\"]),allFaces:modeAllFaces,combine:modeCombine,rotate:modeRotate,pairSwap:modePairSwap,wave:modeWave,typewriter:modeTypewriter,split:modeSplit,triangle:modeTriangle,arrow:modeArrow,scatter:modeScatter,gravity:modeGravity,metronome:modeMetronome,morse:modeMorse,chase:modeChase,flock:modeFlock,record:modeRecord,oscilloscope:modeOscilloscope,noise:modeNoise,stutter:modeStutter,reverb:modeReverb,sine:modeSine,standingWave:modeStandingWave,lissajous:modeLissajous,breathingSine:modeBreathingSine,sawtooth:modeSawtooth,phaseShift:modePhaseShift,snake:modeSnake,eqBars:modeEQBars,waveSimple:modeWaveSimple,waveDouble:modeWaveDouble,waveDrift:modeWaveDrift,orbitPulse:modeOrbitPulse,spiral:modeSpiral,relay:modeRelay,drunk:modeDrunk,morph:modeMorph};const MODE_OPTIONS=[\"allFaces\",\"static\",\"breathe\",\"topFace\",\"leftFace\",\"rightFace\",\"bottomFace\",\"combine\",\"rotate\",\"pairSwap\",\"wave\",\"typewriter\",\"split\",\"triangle\",\"arrow\",\"scatter\",\"gravity\",\"metronome\",\"morse\",\"chase\",\"flock\",\"record\",\"oscilloscope\",\"noise\",\"stutter\",\"reverb\",\"sine\",\"standingWave\",\"lissajous\",\"breathingSine\",\"sawtooth\",\"phaseShift\",\"snake\",\"eqBars\",\"waveSimple\",\"waveDouble\",\"waveDrift\",\"orbitPulse\",\"spiral\",\"relay\",\"drunk\",\"morph\"];const MODE_TITLES=[\"All Faces\",\"Static\",\"Breathe\",\"Top Face\",\"Left Face\",\"Right Face\",\"Bottom Face\",\"Combine\",\"Rotate\",\"Pair Swap\",\"Wave\",\"Typewriter\",\"Split\",\"Triangle\",\"Arrow\",\"Scatter\",\"Gravity\",\"Metronome\",\"Morse\",\"Chase\",\"Flock\",\"Record\",\"Oscilloscope\",\"Noise\",\"Stutter\",\"Reverb\",\"Sine\",\"Standing Wave\",\"Lissajous\",\"Breathing Sine\",\"Sawtooth\",\"Phase Shift\",\"Snake\",\"EQ Bars\",\"Wave Simple\",\"Wave Double\",\"Wave Drift\",\"Orbit Pulse\",\"Spiral\",\"Relay\",\"Drunk\",\"Morph\"];// Modes that use real-time `now` — need live targets during transitions\nconst REALTIME_MODES=new Set([\"oscilloscope\",\"sine\",\"lissajous\",\"breathingSine\",\"sawtooth\",\"snake\",\"drunk\"]);// ─── Lucide icon paths (for Morph mode) ──────────────────────────────────────\nconst LUCIDE_ICONS={mic:{label:\"Mic\",paths:[\"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3z\",\"M19 10v2a7 7 0 0 1-14 0v-2\",\"M12 19v3\",\"M8 22h8\"]},headphones:{label:\"Headphones\",paths:[\"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3\"]},brain:{label:\"Brain\",paths:[\"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z\",\"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z\",\"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4\",\"M17.599 6.5a3 3 0 0 0 .399-1.375\",\"M6.003 5.125A3 3 0 0 0 6.401 6.5\",\"M3.477 10.896a4 4 0 0 1 .585-.396\",\"M19.938 10.5a4 4 0 0 1 .585.396\",\"M6 18a4 4 0 0 1-1.967-.516\",\"M19.967 17.484A4 4 0 0 1 18 18\"]},ear:{label:\"Ear\",paths:[\"M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 0 1-7 0\",\"M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4\"]},volume2:{label:\"Volume\",paths:[\"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z\",\"M16 9a5 5 0 0 1 0 6\",\"M19.364 18.364a9 9 0 0 0 0-12.728\"]},\"message-circle\":{label:\"Message\",paths:[\"M7.9 20A9 9 0 1 0 4 16.1L2 22Z\"]},\"audio-waveform\":{label:\"Waveform\",paths:[\"M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 0-2-2\"]},\"file-text\":{label:\"File Text\",paths:[\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\",\"M14 2v4a2 2 0 0 0 2 2h4\",\"M10 9H8\",\"M16 13H8\",\"M16 17H8\"]},notebook:{label:\"Notebook\",paths:[\"M2 6h4\",\"M2 10h4\",\"M2 14h4\",\"M2 18h4\",\"M6 2v20\",\"M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6\"]},\"book-open\":{label:\"Book\",paths:[\"M12 7v14\",\"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z\"]},clipboard:{label:\"Clipboard\",paths:[\"M9 2h6a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z\",\"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2\"]},\"bar-chart-2\":{label:\"Bar Chart\",paths:[\"M18 20V10\",\"M12 20V4\",\"M6 20v-6\"]},\"chart-line\":{label:\"Line Chart\",paths:[\"M3 3v16a2 2 0 0 0 2 2h16\",\"m19 9-5 5-4-4-3 3\"]},database:{label:\"Database\",paths:[\"M12 2C6.48 2 2 3.79 2 6v12c0 2.21 4.48 4 10 4s10-1.79 10-4V6c0-2.21-4.48-4-10-4z\",\"M2 6c0 2.21 4.48 4 10 4s10-1.79 10-4\",\"M2 12c0 2.21 4.48 4 10 4s10-1.79 10-4\"]},search:{label:\"Search\",paths:[\"M21 21l-4.35-4.35\",\"M17 11A6 6 0 1 1 5 11a6 6 0 0 1 12 0z\"]},\"play-circle\":{label:\"Play\",paths:[\"M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20z\",\"M10 8l6 4-6 4V8z\"]},video:{label:\"Video\",paths:[\"M15 10l4.553-2.276A1 1 0 0 1 21 8.723v6.554a1 1 0 0 1-1.447.894L15 14v-4z\",\"M3 8a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8z\"]},image:{label:\"Image\",paths:[\"M15 8h.01\",\"M3 6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6z\",\"M3 16l5-5 4 4 3-3 4 4\"]},music:{label:\"Music\",paths:[\"M9 18V5l12-2v13\",\"M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\",\"M18 19a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"]},podcast:{label:\"Podcast\",paths:[\"M16.85 18.58a9 9 0 1 0-9.7 0\",\"M8 14a5 5 0 1 1 8 0\",\"M12 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\",\"M12 14v7\"]}};const ICON_OPTIONS=Object.keys(LUCIDE_ICONS);const ICON_TITLES=ICON_OPTIONS.map(k=>LUCIDE_ICONS[k].label);/**\n * Listen Labs agent animation — seven dots driven by 42 loopable modes,\n * with a gooey morph into Lucide icons.\n *\n * @framerIntrinsicWidth 250\n * @framerIntrinsicHeight 250\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function AgentAnimation(props){const{mode=\"allFaces\",color=\"#0021CC\",dotRadius=12,speed=2,transitionDuration=.6,morphIcon=\"image\",iconStrokeWidth=5,cycleIcons=false,style}=props;const isStatic=useIsStaticRenderer();const gooId=useId().replace(/[^a-zA-Z0-9_-]/g,\"\")+\"-goo\";const[iconKey,setIconKey]=useState(morphIcon);useEffect(()=>{setIconKey(morphIcon);},[morphIcon]);const s=useRef({mode,speed,dotRadius,color,transitionDuration,iconStrokeWidth,cycleIcons,currentIconKey:morphIcon,setIconKey:null,loopStart:null,fromPositions:null,fromRadii:null,toPositions:null,toRadii:null,dotRemap:null,transitionStart:null,switchT:0});s.current.speed=speed;s.current.dotRadius=dotRadius;s.current.transitionDuration=transitionDuration;s.current.color=color;s.current.iconStrokeWidth=iconStrokeWidth;s.current.cycleIcons=cycleIcons;s.current.currentIconKey=iconKey;s.current.setIconKey=setIconKey;const rootRef=useRef(null);const dotElsRef=useRef({});const grilleElsRef=useRef([]);const quiverElsRef=useRef([]);const iconOverlayRef=useRef(null);const iconCrispRef=useRef(null);const iconOverlayInnerRef=useRef(null);const iconCrispInnerRef=useRef(null);const blurRef=useRef(null);const grilleT=useRef(0);const iconScale=useRef(0);const lastLoopIdx=useRef(-1);// Pause the loop when scrolled out of view\nconst[inView,setInView]=useState(true);useEffect(()=>{if(typeof window===\"undefined\")return;if(!(\"IntersectionObserver\"in window))return;const el=rootRef.current;if(!el)return;const io=new IntersectionObserver(([entry])=>setInView(entry.isIntersecting));io.observe(el);return()=>io.disconnect();},[]);useEffect(()=>{iconOverlayInnerRef.current=null;iconCrispInnerRef.current=null;},[iconKey]);// Mode switch: snapshot current dot state and blend into the new mode\nuseEffect(()=>{if(s.current.mode===mode)return;const snap={};const snapR={};for(const d of DOTS){const el=dotElsRef.current[d];if(el){snap[d]=[parseFloat(el.getAttribute(\"cx\")||\"0\"),parseFloat(el.getAttribute(\"cy\")||\"0\")];snapR[d]=parseFloat(el.getAttribute(\"r\")||String(dotRadius));}}const now=performance.now()/1e3;let switchT=getLoopPhase(now,s.current.loopStart,s.current.speed,mode);if(mode===\"morph\")switchT=0;const newFn=MODES[mode]||modeStatic;const{pos:toPos,r:toR}=newFn(switchT,s.current.dotRadius,now/s.current.speed);const remap=findBestRemap(snap,toPos);s.current.fromPositions=snap;s.current.fromRadii=snapR;s.current.toPositions=toPos;s.current.toRadii=toR;s.current.dotRemap=remap;s.current.transitionStart=now;s.current.switchT=switchT;s.current.mode=mode;},[mode,dotRadius]);useEffect(()=>{if(isStatic||!inView)return;let rafId;const animate=ts=>{rafId=requestAnimationFrame(animate);const st=s.current;const now=ts/1e3;// ── Dots ──────────────────────────────────────────────────────\nif(st.loopStart===null)st.loopStart=now;const morphSpeed=getMorphSpeed(st.mode,st.speed);const t=getLoopPhase(now,st.loopStart,st.speed,st.mode);const fn=MODES[st.mode]||modeStatic;const{pos:tp,r:tr}=fn(t,st.dotRadius,now/st.speed);let fp=tp,fr=tr;if(st.fromPositions&&st.transitionStart!==null){const tBlend=Math.min((now-st.transitionStart)/st.transitionDuration,1);const ease=easeInOut(tBlend);const bp={};const br={};const useStatic=!REALTIME_MODES.has(st.mode);const toPos=useStatic?st.toPositions||tp:tp;const toR=useStatic?st.toRadii||tr:tr;const remap=useStatic?st.dotRemap||null:null;for(const d of DOTS){const targetSlot=remap?remap[d]:d;const[fx,fy]=st.fromPositions[d];const[tx,ty]=toPos[targetSlot];bp[d]=[fx+(tx-fx)*ease,fy+(ty-fy)*ease];br[d]=(st.fromRadii?.[d]??st.dotRadius)+(toR[targetSlot]-(st.fromRadii?.[d]??st.dotRadius))*ease;}fp=bp;fr=br;if(tBlend>=1){st.loopStart=now-(st.switchT||0)*morphSpeed;st.fromPositions=null;st.fromRadii=null;st.toPositions=null;st.toRadii=null;st.dotRemap=null;st.transitionStart=null;}}const fill=st.color;for(const d of DOTS){const el=dotElsRef.current[d];if(el){el.setAttribute(\"cx\",fp[d][0].toFixed(2));el.setAttribute(\"cy\",fp[d][1].toFixed(2));el.setAttribute(\"r\",fr[d].toFixed(2));el.setAttribute(\"fill\",fill);}}// ── Grille (Record mode) ──────────────────────────────────────\nconst grilleTarget=st.mode===\"record\"?1:0;grilleT.current+=(grilleTarget-grilleT.current)*.06;if(Math.abs(grilleT.current-grilleTarget)<.005)grilleT.current=grilleTarget;const baseGrilleR=st.dotRadius*.42;for(let i=0;i<grilleElsRef.current.length;i++){const el=grilleElsRef.current[i];const dot=GRILLE_DOTS[i];if(!el||!dot)continue;let targetR;if(grilleT.current>.95){const breath=1+.06*Math.sin(now*(1.1/st.speed));targetR=baseGrilleR*breath;}else{const ringDelay=dot.ring*.14;const localT=Math.max(0,Math.min(1,(grilleT.current-ringDelay)/(1-ringDelay)));targetR=baseGrilleR*easeInOut(localT);}el.setAttribute(\"cx\",dot.x.toFixed(2));el.setAttribute(\"cy\",dot.y.toFixed(2));el.setAttribute(\"r\",targetR.toFixed(2));el.setAttribute(\"fill\",fill);}// ── Icon morph, quiver, blur ──────────────────────────────────\nconst overlay=iconOverlayRef.current;if(overlay){if(!iconOverlayInnerRef.current){iconOverlayInnerRef.current=overlay.querySelector(\"g\");}if(iconCrispRef.current&&!iconCrispInnerRef.current){iconCrispInnerRef.current=iconCrispRef.current.querySelector(\"g\");}const isMorph=st.mode===\"morph\";const timeline=isMorph?DEFAULT_MORPH_TIMELINE:null;if(!isMorph||st.fromPositions){iconScale.current=0;}else{const morphT=getLoopPhase(now,st.loopStart,st.speed,st.mode);if(st.cycleIcons&&st.setIconKey&&st.loopStart!==null){const loopIdx=Math.floor((now-st.loopStart)/(st.speed*2));if(loopIdx!==lastLoopIdx.current){lastLoopIdx.current=loopIdx;const keys=Object.keys(LUCIDE_ICONS);const curIdx=keys.indexOf(st.currentIconKey??keys[0]);let next;do{next=Math.floor(Math.random()*keys.length);}while(next===curIdx&&keys.length>1)st.setIconKey(keys[next]);}}const tf=foldPingPong(morphT);const tl=DEFAULT_MORPH_TIMELINE;if(tf<tl.iconStart){iconScale.current=0;}else if(tf<tl.crossEnd){const x=(tf-tl.iconStart)/(tl.crossEnd-tl.iconStart);iconScale.current=easeInOut(x);}else{iconScale.current=1;}}const sc=iconScale.current.toFixed(4);const transformVal=`translate(${CX}px, ${CY}px) scale(${sc})`;overlay.style.transform=transformVal;overlay.style.opacity=\"1\";if(iconCrispRef.current){iconCrispRef.current.style.transform=transformVal;}const blobSW=DEFAULT_MORPH_TIMELINE.blobStroke;const targetSW=st.iconStrokeWidth??5;const dynStroke=(blobSW-iconScale.current*(blobSW-targetSW))/ICON_SCALE;if(iconOverlayInnerRef.current){iconOverlayInnerRef.current.setAttribute(\"stroke-width\",dynStroke.toFixed(3));}if(iconCrispInnerRef.current){iconCrispInnerRef.current.setAttribute(\"stroke-width\",dynStroke.toFixed(3));}let qIntensity=0;if(timeline){const nowTF=foldPingPong(getLoopPhase(now,st.loopStart,st.speed,\"morph\"));if(nowTF>=timeline.quiverStart&&nowTF<timeline.quiverPeak){qIntensity=easeInOut((nowTF-timeline.quiverStart)/(timeline.quiverPeak-timeline.quiverStart));}else if(nowTF>=timeline.quiverPeak&&nowTF<timeline.quiverEnd){qIntensity=easeInOut(1-(nowTF-timeline.quiverPeak)/(timeline.quiverEnd-timeline.quiverPeak));}}const cycles=DEFAULT_MORPH_TIMELINE.quiverCycles;const windowDur=Math.max(.01,DEFAULT_MORPH_TIMELINE.quiverEnd-DEFAULT_MORPH_TIMELINE.quiverStart);const loopSpeed=st.speed||2;const baseFreq=cycles/(windowDur*loopSpeed);const f=baseFreq*Math.PI*2;for(let i=0;i<quiverElsRef.current.length;i++){const lobe=quiverElsRef.current[i];if(!lobe)continue;const seed=i*2.399;const dx=Math.sin(now*f*1+seed*1)*.5+Math.sin(now*f*1.618+seed*2.3)*.3+Math.sin(now*f*2.414+seed*.7)*.2;const dy=Math.sin(now*f*1.303+seed*3.1)*.5+Math.sin(now*f*1.732+seed*1.5)*.3+Math.sin(now*f*2.718+seed*4.2)*.2;const maxR=[13,10,15,9][i];const lobeR=[5,4,5,3][i]*qIntensity;lobe.setAttribute(\"cx\",(CX+dx*maxR*qIntensity).toFixed(2));lobe.setAttribute(\"cy\",(CY+dy*maxR*qIntensity).toFixed(2));lobe.setAttribute(\"r\",lobeR.toFixed(2));}if(blurRef.current){const scVal=iconScale.current;const taper=scVal<.85?0:(scVal-.85)/.15;blurRef.current.setAttribute(\"stdDeviation\",(4*(1-taper)).toFixed(3));}}};rafId=requestAnimationFrame(animate);return()=>cancelAnimationFrame(rafId);},[isStatic,inView]);// Static (canvas/export) preview: render the selected mode's first frame\nconst staticState=useMemo(()=>{const fn=MODES[mode]||modeStatic;return fn(0,dotRadius,0);},[mode,dotRadius]);const basePos=isStatic?staticState.pos:HOME;const baseR=isStatic?staticState.r:uniformRadii(dotRadius);const staticGrilleR=isStatic&&mode===\"record\"?dotRadius*.42:0;const icon=LUCIDE_ICONS[iconKey];const S=ICON_SCALE;function renderIconOverlay(ref){if(!icon)return null;return /*#__PURE__*/_jsx(\"g\",{ref:ref,style:{transform:`translate(${CX}px, ${CY}px) scale(0)`,transformOrigin:\"0px 0px\"},stroke:color,strokeLinecap:\"round\",strokeLinejoin:\"round\",fill:\"none\",children:/*#__PURE__*/_jsx(\"g\",{transform:`translate(${-12*S} ${-12*S}) scale(${S})`,strokeWidth:iconStrokeWidth/S,children:icon.paths.map((d,i)=>/*#__PURE__*/_jsx(\"path\",{d:d},i))})});}return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...style},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:`0 0 ${VB} ${VB}`,fill:\"none\",preserveAspectRatio:\"xMidYMid meet\",style:{display:\"block\"},role:\"img\",\"aria-label\":\"Listen Labs agent animation\",children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"filter\",{id:gooId,x:\"-30%\",y:\"-30%\",width:\"160%\",height:\"160%\",children:[/*#__PURE__*/_jsx(\"feGaussianBlur\",{ref:blurRef,in:\"SourceGraphic\",stdDeviation:\"4\",result:\"blur\"}),/*#__PURE__*/_jsx(\"feColorMatrix\",{in:\"blur\",mode:\"matrix\",values:\"1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 22 -9\",result:\"goo\"}),/*#__PURE__*/_jsx(\"feComposite\",{in:\"SourceGraphic\",in2:\"goo\",operator:\"atop\"})]})}),/*#__PURE__*/_jsx(\"g\",{children:GRILLE_DOTS.map((dot,i)=>/*#__PURE__*/_jsx(\"circle\",{ref:el=>{grilleElsRef.current[i]=el;},cx:dot.x.toFixed(2),cy:dot.y.toFixed(2),r:staticGrilleR,opacity:\"1\",fill:color},i))}),/*#__PURE__*/_jsxs(\"g\",{filter:`url(#${gooId})`,children:[DOTS.map(d=>/*#__PURE__*/_jsx(\"circle\",{ref:el=>{dotElsRef.current[d]=el;},cx:basePos[d][0],cy:basePos[d][1],r:baseR[d],fill:color},d)),/*#__PURE__*/_jsx(\"g\",{children:[0,1,2,3].map(i=>/*#__PURE__*/_jsx(\"circle\",{ref:el=>{quiverElsRef.current[i]=el;},cx:CX,cy:CY,r:\"0\",fill:color},i))}),renderIconOverlay(iconOverlayRef)]}),renderIconOverlay(iconCrispRef)]})});}addPropertyControls(AgentAnimation,{mode:{type:ControlType.Enum,title:\"Mode\",options:MODE_OPTIONS,optionTitles:MODE_TITLES,defaultValue:\"allFaces\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#0021CC\"},dotRadius:{type:ControlType.Number,title:\"Dot Radius\",defaultValue:12,min:4,max:20,step:.5},speed:{type:ControlType.Number,title:\"Loop Time\",defaultValue:2,min:.5,max:10,step:.1,unit:\"s\"},transitionDuration:{type:ControlType.Number,title:\"Transition\",defaultValue:.6,min:0,max:2,step:.05,unit:\"s\"},morphIcon:{type:ControlType.Enum,title:\"Icon\",options:ICON_OPTIONS,optionTitles:ICON_TITLES,defaultValue:\"image\",hidden:props=>props.mode!==\"morph\"},iconStrokeWidth:{type:ControlType.Number,title:\"Icon Stroke\",defaultValue:5,min:1,max:10,step:.5,hidden:props=>props.mode!==\"morph\"},cycleIcons:{type:ControlType.Boolean,title:\"Cycle Icons\",defaultValue:false,hidden:props=>props.mode!==\"morph\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AgentAnimation\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"250\",\"framerIntrinsicHeight\":\"250\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AgentAnimation.map"],"mappings":"A,oOAC+kB,SAASoB,EAAa,EAAE,CAAC,OAAO,OAAO,YAAYC,EAAK,IAAI,GAAG,CAACC,EAAEC,CAAC,CAAC,CAAC,CAAE,CACtpB,SAASC,EAAU,EAAE,CAAC,OAAOC,EAAE,GAAG,EAAEA,EAAEA,EAAE,IAAI,EAAE,EAAEA,GAAGA,CAAE,CAAC,SAASC,EAAQ,EAAE,CAAC,MAAO,IAAW,EAAED,IAAE,CAAG,CAAC,SAASE,GAAa,EAAE,CAAC,OAAOF,EAAE,GAAGA,EAAE,GAAG,EAAEA,GAAG,CAAE,CAAC,SAASG,GAAc,EAAK,EAAM,CAAC,OAAOC,IAAO,QAAQC,EAAM,EAAEA,CAAM,CAAC,SAASC,EAAa,EAAI,EAAU,EAAM,EAAK,CAAC,IAAMC,EAAWJ,GAAcC,EAAKC,CAAK,EAAE,OAAOG,IAAY,KAA2C,GAArCC,EAAID,GAAWD,EAAWA,CAAa,CACzX,SAASG,GAAc,EAAW,EAAU,CAAC,IAAMC,EAAM,CAAC,EAAQC,EAAU,IAAI,IAAIhB,CAAI,EAAQiB,EAAM,CAAC,EAAE,IAAI,IAAMC,KAAQlB,EAAM,IAAI,IAAMmB,KAAMnB,EAAK,CAAC,GAAK,CAACoB,EAAGC,GAAIC,EAAWJ,GAAW,CAACK,EAAGC,GAAIC,EAAUN,GAAIF,EAAM,KAAK,CAAC,OAAK,KAAG,KAAK,KAAK,MAAMG,EAAGG,EAAGF,EAAGG,CAAE,CAAC,CAAC,CAAE,CAAEP,EAAM,MAAM,EAAE,IAAIS,EAAE,KAAKC,EAAE,IAAI,EAAE,IAAMC,kBAAS,IAAI,IAAI,IAAI,GAAK,CAAC,OAAK,QAAMX,EAAO,GAAG,GAAS,IAAIC,CAAI,GAAIF,EAAU,IAAIG,CAAE,IAAW,EAAMD,GAAMC,EAAGS,EAAS,IAAIV,CAAI,EAAEF,EAAU,OAAOG,CAAE,EAAKS,EAAS,OAAO5B,EAAK,QAAO,MAAO,OAAOe,CAAM,CAAiK,SAASc,GAAc,EAAQ,CAAC,IAAMC,EAAI,CAAC,EAAE,IAAI,IAAM7B,KAAKD,EAAK,EAAIC,GAAG,CAAC,GAAG8B,EAAKC,EAAQ/B,GAAG,EAAE,OAAO6B,CAAI,CAAwU,SAASG,EAAW,EAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAGF,CAAI,EAAE,EAAEhC,EAAaG,CAAC,CAAC,CAAE,CAAC,SAASgC,GAAY,EAAE,EAAM,CAAC,IAAMC,EAAM,EAAE,IAAI,KAAK,IAAI/B,EAAE,KAAK,GAAG,CAAC,EAAQ0B,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAE,IAAI,IAAMD,KAAKD,EAAK,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAAG,EAAIA,GAAG,CAACqC,GAAIF,EAAGE,GAAIH,EAAMI,GAAIF,EAAGE,GAAIJ,CAAK,EAAE,EAAElC,GAAGuC,CAAM,CAAC,MAAM,CAAC,MAAI,GAAC,CAAE,CAAC,SAASC,EAAe,EAAE,EAAM,EAAM,CAAC,IAAMC,EAAK,KAAK,MAAMtC,EAAE,CAAC,EAAE,EAAQuC,EAAKxC,EAAU,KAAK,IAAIC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAQ0B,EAAI,CAAC,GAAGC,CAAI,EAAQ7B,EAAEH,EAAayC,CAAK,EAAE,IAAI,IAAII,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAMC,IAASD,EAAEF,GAAM,EAAE,GAAG,EAAQI,EAAIC,EAAMF,GAAcG,EAASD,IAAQF,EAAO,GAAG,EAAE,GAAG,GAAQ,CAACI,EAAGC,GAAInB,EAAKiB,GAAe,CAACG,EAAGC,GAAIrB,EAAKgB,EAAMF,IAAS,EAAIC,GAAK,CAACG,GAAIE,EAAGF,GAAIN,EAAKO,GAAIE,EAAGF,GAAIP,CAAI,CAAE,CAAC,MAAM,CAAC,MAAI,GAAC,CAAE,CAAC,SAASU,EAAa,EAAE,EAAM,CAAC,IAAMC,EAAM,KAAK,IAAI,KAAK,MAAMlD,EAAE,CAAC,EAAE,CAAC,EAAQuC,EAAKxC,EAAU,KAAK,IAAIC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAQc,EAAKqC,GAAUD,GAAanC,EAAGoC,GAAUD,EAAM,GAASxB,EAAI,CAAC,EAAE,IAAI,IAAM7B,KAAKD,EAAK,CAAC,GAAK,CAACiD,EAAGC,GAAIhC,EAAKjB,GAAQ,CAACkD,EAAGC,GAAIjC,EAAGlB,GAAG,EAAIA,GAAG,CAACgD,GAAIE,EAAGF,GAAIN,EAAKO,GAAIE,EAAGF,GAAIP,CAAI,CAAE,CAAC,MAAM,CAAC,MAAI,EAAE5C,EAAayC,CAAK,CAAC,CAAE,CAAC,SAASgB,EAAY,EAAE,EAAM,CAAC,IAAMC,EAAErD,EAAE,IAAID,EAAUC,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAEA,EAAE,GAAGD,EAAU,GAAGC,EAAE,KAAK,GAAG,EAAE,EAAQ0B,EAAI,CAAC,EAAE,IAAI,IAAM7B,KAAKD,EAAK,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAAG,EAAIA,GAAG,CAACmC,GAAIE,EAAGF,GAAIqB,EAAEpB,GAAIE,EAAGF,GAAIoB,CAAC,CAAE,CAAC,MAAM,CAAC,MAAI,EAAE1D,EAAayC,CAAK,CAAC,CAAE,CAAC,SAASkB,GAAW,EAAE,EAAM,CAAC,IAAMhB,EAAK,KAAK,MAAMtC,EAAE,CAAC,EAAE,EAAQuC,EAAKxC,EAAU,KAAK,IAAIC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAQ0B,EAAI,CAAC,GAAG,CAACQ,EAAGC,CAAE,CAAC,EAAE,IAAI,IAAIK,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,GAAK,CAACK,EAAGC,GAAInB,EAAK4B,GAAIf,EAAEF,GAAM,IAAS,CAACS,EAAGC,GAAIrB,EAAK4B,GAAIf,EAAEF,EAAK,GAAG,IAAI,EAAIiB,EAAGf,IAAI,CAACK,GAAIE,EAAGF,GAAIN,EAAKO,GAAIE,EAAGF,GAAIP,CAAI,CAAE,CAAC,MAAM,CAAC,MAAI,EAAE5C,EAAayC,CAAK,CAAC,CAAE,CAAC,SAASoB,EAAa,EAAE,EAAM,CAAC,IAAM3C,EAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,EAAQqC,EAAM,KAAK,MAAMlD,EAAE,CAAC,EAAE,EAAQuC,EAAKxC,EAAU,KAAK,IAAIC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAQ0B,EAAI,CAAC,GAAGC,CAAI,EAAQ7B,EAAEH,EAAayC,CAAK,EAAO,CAACd,EAAEC,GAAGV,EAAMqC,GAAY,CAACO,EAAGC,GAAI/B,EAAKL,GAAQ,CAACqC,EAAGC,GAAIjC,EAAKJ,GAASsC,EAAI,KAAK,IAAItB,EAAK,KAAK,EAAE,EAAE,GAASuB,EAAI,KAAK,MAAMH,EAAGF,EAAGG,EAAGF,CAAE,EAAQK,EAAG,EAAEH,EAAGF,GAAII,EAAUE,GAAIL,EAAGF,GAAIK,EAAkH,MAA9G,GAAIxC,GAAG,CAACmC,GAAIE,EAAGF,GAAIlB,EAAKwB,EAAGF,EAAIH,GAAIE,EAAGF,GAAInB,EAAKyB,EAAGH,CAAG,EAAE,EAAItC,GAAG,CAACoC,GAAIF,EAAGE,GAAIpB,EAAKwB,EAAGF,EAAID,GAAIF,EAAGE,GAAIrB,EAAKyB,EAAGH,CAAG,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAASI,GAAS,EAAE,EAAM,CAAC,IAAMvC,EAAI,CAAC,GAAGC,CAAI,EAAQ,EAAE,CAAC,EAAE,IAAI,IAAIa,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAMU,GAAOlD,EAAEwC,EAAE,EAAE,GAAG,EAAE,EAAEe,EAAGf,IAAIJ,GAAO,EAAE,GAAG,KAAK,IAAI,EAAE,KAAK,IAAIc,EAAM,KAAK,GAAG,CAAC,CAAC,EAAG,CAA4C,MAA3C,GAAEgB,GAAM9B,GAAO,EAAE,GAAG,KAAK,IAAIpC,EAAE,KAAK,GAAG,CAAC,GAAS,CAAC,MAAI,CAAC,CAAE,CAAC,SAASmE,EAAe,EAAE,EAAM,CAAC,IAAMC,EAAM,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAQC,EAAED,EAAM,OAAa1C,EAAI,CAAC,GAAGC,CAAI,EAAQ7B,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAEuE,EAAE,IAAI,CAAC,IAAMC,EAAG,EAAED,EAAE,IAAUE,EAAGD,EAAG,IAAID,EAAQG,EAAG,IAAI,EAAEH,EAAE,IAAUpF,EAAGuF,EAAG,IAAIH,EAAMI,EAAE,EAAKzE,GAAGsE,GAAItE,EAAEuE,EAAG,EAAEtE,GAASD,EAAEsE,IAAKC,EAAGD,EAAG,EAAUtE,GAAGuE,GAAIvE,EAAEwE,EAAG,EAAE,EAAUxE,GAAGwE,GAAIxE,EAAEf,IAAG,EAAE,EAAEgB,GAASD,EAAEwE,IAAKvF,EAAGuF,EAAG,GAAE,EAAEJ,EAAM,IAAIhC,EAAMqC,CAAE,CAAC,MAAM,CAAC,MAAI,GAAC,CAAE,CAAC,SAASC,EAAU,EAAE,EAAM,CAAC,IAAMpC,EAAK,KAAK,MAAMtC,EAAE,CAAC,EAAE,EAAQuC,EAAKxC,EAAU,KAAK,IAAIC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAQ2E,EAAI,CAAC,KAAK,KAAK,IAAI,EAAQC,EAAK,CAAC,KAAK,KAAK,IAAI,EAAQC,EAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,EAAQC,EAAK,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,EAAQpD,EAAI,CAAC,GAAG,CAACQ,EAAGC,CAAE,CAAC,EAAQrC,EAAEH,EAAayC,CAAK,EAAE,IAAI,IAAII,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,GAAK,CAACK,EAAGC,GAAInB,EAAKkD,GAAKvC,EAAK,GAAG,EAAE,CAACE,IAAS,CAACO,EAAGC,GAAIrB,EAAKkD,EAAIvC,EAAK,CAACE,IAAI,EAAImC,EAAInC,IAAI,CAACK,GAAIE,EAAGF,GAAIN,EAAKO,GAAIE,EAAGF,GAAIP,CAAI,EAAE,GAAK,CAACwC,EAAIC,GAAKrD,EAAKmD,GAAMxC,EAAK,GAAG,EAAE,CAACE,IAAS,CAACyC,EAAIC,GAAKvD,EAAKmD,EAAKxC,EAAK,CAACE,IAAI,EAAIoC,EAAKpC,IAAI,CAACuC,GAAKE,EAAIF,GAAKxC,EAAKyC,GAAKE,EAAIF,GAAKzC,CAAI,CAAE,CAAC,MAAM,CAAC,MAAI,GAAC,CAAE,CAAoD,SAAS4C,EAAa,EAAE,EAAM,CAAC,IAAIC,EAAM,AAA2DA,EAAxDpF,EAAE,IAAUD,EAAUC,EAAE,GAAG,EAAUA,EAAE,IAAU,EAAaD,EAAU,GAAGC,EAAE,KAAK,GAAG,EAAE,IAAMqF,EAAKrF,EAAE,KAAK,GAAG,EAAQsF,EAAOC,GAAI,KAAK,CAACC,EAAGC,KAAM,CAAC,IAAMC,EAAGF,EAAGtD,EAAGyD,EAAGF,EAAGtD,EAAG,MAAM,CAACD,EAAGwD,EAAG,KAAK,IAAIL,CAAI,EAAEM,EAAG,KAAK,IAAIN,CAAI,EAAElD,EAAGuD,EAAG,KAAK,IAAIL,CAAI,EAAEM,EAAG,KAAK,IAAIN,CAAI,CAAC,CAAE,CAAC,EAAQO,EAAQ,CAACN,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAG,CAACpD,EAAGC,CAAE,CAAC,EAAQT,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAA6H,OAA3HF,EAAK,SAAS,EAAE,IAAI,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAAQ,CAACsB,EAAGC,GAAIwE,EAAQpD,GAAG,EAAI3C,GAAG,CAACmC,GAAIb,EAAGa,GAAIoD,EAAMnD,GAAIb,EAAGa,GAAImD,CAAK,EAAE,EAAEvF,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAASyD,EAAU,EAAE,EAAM,CAAC,IAAMC,EAAI,IAAI,EAAE,IAAI,KAAK,IAAI9F,EAAE,KAAK,GAAG,CAAC,GAAS4F,EAAQ,CAAC,GAAG,CAAC1D,EAAGC,EAAG2D,CAAG,EAAE,GAAG,CAAC5D,EAAGC,EAAG2D,CAAG,EAAE,GAAG,CAAC5D,EAAG4D,EAAI3D,CAAE,EAAE,GAAG,CAACD,EAAG4D,EAAI3D,CAAE,EAAE,GAAG,CAACD,EAAGC,CAAE,EAAE,GAAG,CAACD,EAAG4D,EAAI,GAAG3D,EAAG2D,EAAI,EAAE,EAAE,GAAG,CAAC5D,EAAG4D,EAAI,GAAG3D,EAAG2D,EAAI,EAAE,CAAC,EAAMV,EAAM,AAAwDA,EAArDpF,EAAE,GAASD,EAAUC,EAAE,EAAE,EAAUA,EAAE,GAAS,EAAaD,EAAU,GAAGC,EAAE,IAAI,EAAE,EAAE,IAAM0B,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAE,IAAI,IAAMD,KAAKD,EAAK,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAAQ,CAACsB,EAAGC,GAAIwE,EAAQ/F,GAAG,EAAIA,GAAG,CAACmC,GAAIb,EAAGa,GAAIoD,EAAMnD,GAAIb,EAAGa,GAAImD,CAAK,EAAE,EAAEvF,GAAGuC,CAAM,CAAC,MAAM,CAAC,MAAI,GAAC,CAAE,CAAyM,SAAS2D,EAAY,EAAE,EAAM,CAAC,IAAMrE,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAgP,OAAjN9B,EAAK,SAAS,EAAE,IAAI,CAAC,GAAK,CAAC,KAAG,KAAG,KAAG,MAAIoG,GAAexD,GAASrB,GAAInB,EAAEwF,GAAI,EAAQpE,GAAIpB,EAAEyF,GAAI,EAAQQ,EAAEC,EAAS,KAAK,IAAI/E,EAAGwC,EAAG,EAAE,EAAE,CAAC,EAAE,GAAWwC,EAAED,EAAS,KAAK,IAAI9E,EAAGwC,EAAG,EAAE,EAAE,CAAC,EAAE,GAAK,EAAI/D,GAAG,CAACoG,EAAEE,CAAC,EAAE,EAAEtG,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAC,SAASgE,EAAY,EAAE,EAAM,CAAC,IAAMC,EAAMC,GAAc5E,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAgU,OAA9TF,EAAK,SAAS,EAAE,IAAI,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAA2B0G,GAAIvG,EAAhBwC,EAAE,IAAsB,GAAG,EAAM2D,EAAMK,EAAO,EAAKD,EAAG,IAAK,EAAEtE,GAAIoE,EAAMpE,GAAIlC,EAAUwG,EAAG,GAAG,EAAWA,EAAG,KAAK,EAAEF,EAAM,EAAO,EAAE,KAAK,KAAKE,EAAG,KAAK,GAAG,KAAK,EAAE,EAAE,IAAS,AAAyDJ,EAAtDI,EAAG,GAAMF,GAAOpE,EAAGoE,GAAOpG,GAASsG,EAAG,KAAK,GAAG,EAAUtE,EAAI,EAAIpC,GAAG,CAACmC,EAAGmE,CAAC,EAAE,EAAEtG,GAAGuC,EAAMoE,CAAO,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAASC,EAAc,EAAE,EAAM,CAAC,IAAM/E,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAuL,OAAtK9B,EAAK,SAAS,EAAE,IAAI,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAA0C0G,GAAIvG,EAA/BwC,GAAG,EAAE5C,EAAK,QAAQ,GAAqB,GAAG,EAAQqG,EAAEjE,EAAG,GAAM,KAAK,IAAIuE,EAAG,KAAK,GAAG,CAAC,EAAE,EAAI1G,GAAG,CAACoG,EAAEhE,CAAE,EAAE,EAAEpC,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAgJ,SAASsE,EAAa,EAAK,CAAC,IAAIC,EAAI,EAAE,IAAI,IAAInE,EAAE,EAAEA,EAAEoE,EAAU,OAAO,IAAuB,GAAlB,GAAKA,EAAUpE,GAAMqE,EAAKF,EAAI,MAAO,IAAE,GAAI,GAAO,MAAO,EAAE,CAAC,SAASG,EAAU,EAAE,EAAM,CAAC,IAAMpF,EAAI,CAAC,GAAGC,CAAI,EAAQ,EAAE,CAAC,EAAmK,OAAjK/B,EAAK,SAAS,EAAE,IAAI,CAAC,IAAMmH,EAAO,GAAGC,EAAYpH,EAAK,QAA4DqH,EAAGP,GAA3C1G,EAAEgH,EAAYD,GAAQC,CAAsC,EAAE,EAAEnH,GAAGuC,GAAO,GAAG,GAAG6E,EAAI,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAC,SAASC,EAAU,EAAE,EAAM,CAAC,IAAM,EAAE3D,EAAG,OAAa4D,EAAa,GAAI,CAAuB,IAAMC,GAAhBC,EAAG,EAAE,GAAG,EAAmB,EAAQC,EAAK,KAAK,MAAMF,CAAK,EAAE,EAAQG,EAAKxH,EAAUqH,EAAM,CAAC,EAAO,CAACvE,EAAGC,GAAInB,EAAK4B,EAAG+D,IAAY,CAACvE,EAAGC,GAAIrB,EAAK4B,GAAI+D,EAAK,GAAG,IAAI,MAAM,CAACzE,GAAIE,EAAGF,GAAI0E,EAAKzE,GAAIE,EAAGF,GAAIyE,CAAI,CAAE,EAAQ7F,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAE,IAAI,IAAMD,KAAKD,EAAM,EAAIC,GAAG,CAAC,GAAG8B,EAAK9B,EAAE,EAAE,EAAEA,GAAG,EAAyI,MAAtI,GAAI2H,GAAML,EAAanH,CAAC,EAAE,EAAIkE,GAAMiD,EAAanH,EAAE,GAAG,EAAE,EAAIyH,GAAMN,EAAanH,EAAE,GAAG,EAAE,EAAEwH,GAAMpF,EAAM,EAAE8B,GAAM9B,EAAM,GAAG,EAAEqF,GAAMrF,EAAM,GAAS,CAAC,MAAI,GAAC,CAAE,CAAC,SAASsF,GAAU,EAAE,EAAM,CAAC,IAAMC,EAAGzF,EAAG,GAAG,KAAK,IAAIlC,EAAE,KAAK,GAAG,CAAC,EAAQ4H,EAAGzF,EAAG,GAAG,KAAK,IAAInC,EAAE,KAAK,GAAG,CAAC,EAAMoF,EAAM,AAAwDA,EAArDpF,EAAE,GAASD,EAAUC,EAAE,EAAE,EAAUA,EAAE,GAAS,EAAaD,EAAU,GAAGC,EAAE,IAAI,EAAE,EAAE,IAAM0B,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAsP,OAApPF,EAAK,SAAS,EAAE,IAAI,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAASgI,EAAMrF,EAAE5C,EAAK,OAAO,KAAK,GAAG,EAAQkI,GAAQ,EAAE1C,GAAO,EAAQjE,EAAGwG,EAAG,KAAK,IAAIE,CAAK,EAAEC,EAAa1G,EAAGwG,EAAG,KAAK,IAAIC,CAAK,EAAEC,EAAO,EAAIjI,GAAG,CAACmC,GAAIb,EAAGa,GAAIoD,EAAMnD,GAAIb,EAAGa,GAAImD,CAAK,EAAE,EAAEvF,GAAGuC,GAAO,EAAEgD,EAAM,IAAK,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAAS2C,GAAW,EAAG,EAAO,CAAC,IAAMrG,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAE,IAAI,IAAM7B,KAAKD,EAAM,EAAIC,GAAG,CAACqC,EAAGC,CAAE,EAAE,EAAEtC,GAAG,EACn9P,MAAM,CAAC,MAAI,CAAC,CAAE,CAAC,SAASmI,GAAiB,EAAE,EAAM,EAAI,CAAC,IAAMtG,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAqBmI,EAAKxH,GAAKT,EAAqM,OAAnMJ,EAAK,SAAS,EAAE,IAAI,CAAC,IAAMsI,EAAM1F,GAAG5C,EAAK,OAAO,GAASuG,EAAEhE,EAAG,KAAQ,KAAK,KAAK+F,EAAM,IAAID,EAAK,IAAI,KAAK,GAAG,CAAC,EAAE,GAAI,IAAI,KAAK,KAAKC,EAAM,IAAID,EAAK,KAAK,KAAK,GAAG,CAAC,EAAE,EAAIpI,GAAG,CAACsI,EAAQ3F,GAAG2D,CAAC,EAAE,EAAEtG,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAASgG,EAAW,EAAK,CAAC,IAAMnC,EAAE,KAAK,IAAIoC,CAAI,EAAE,WAAW,OAAOpC,EAAE,KAAK,MAAMA,CAAC,CAAE,CAAC,SAASqC,GAAU,EAAE,EAAM,CAAC,IAAM5G,EAAI,CAAC,EAAQ,EAAE,CAAC,EAA0V,OAAzU9B,EAAK,SAAS,EAAE,IAAI,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAAS0I,EAAG,KAAK,MAAMvI,EAAE,EAAE,EAAQwI,EAAGxI,EAAE,GAAG,EAAQyI,EAAIL,EAAW5F,EAAE,IAAI+F,CAAE,EAAE,GAASG,EAAIN,EAAW5F,EAAE,IAAI+F,EAAG,EAAE,EAAE,GAASI,EAAIP,EAAW5F,EAAE,IAAI+F,EAAG,CAAC,EAAE,GAASK,EAAIR,EAAW5F,EAAE,IAAI+F,EAAG,EAAE,EAAE,GAASM,EAAE9I,EAAUyI,CAAE,EAAE,EAAI3I,GAAG,CAACmC,GAAIyG,GAAKE,EAAIF,GAAKI,GAAG,EAAO5G,GAAIyG,GAAKE,EAAIF,GAAKG,GAAG,CAAM,EAAE,EAAEhJ,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAC,SAAS0G,GAAY,EAAE,EAAM,CAAqB,IAAMC,EAAK,KAAK,MAAM/I,EAAE,CAAW,EAAQ0B,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAA8N,OAA5NF,EAAK,SAAS,EAAE,IAAI,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAASmJ,GAAIZ,EAAW5F,EAAE,GAAGuG,EAAK,EAAE,EAAE,IAAI,GAASE,GAAIb,EAAW5F,EAAE,GAAGuG,EAAK,GAAG,EAAE,EAAE,IAAI,GAASG,EAAQd,EAAW5F,EAAE,GAAGuG,EAAK,GAAG,EAAE,EAAE,IAAI,EAAIlJ,GAAG,CAACmC,EAAGgH,EAAG/G,EAAGgH,CAAE,EAAE,EAAEpJ,GAAGqJ,EAAQ9G,EAAM,CAAE,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAAS+G,GAAW,EAAE,EAAM,CAAC,IAAMzH,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAE,EAAIwC,GAAM,CAAChC,EAAGC,CAAE,EAAE,EAAE+B,GAAM9B,GAAO,GAAG,GAAG,KAAK,IAAI,KAAK,IAAIpC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,IAAMoJ,EAAU,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAA8O,OAA5OA,EAAU,SAAS,EAAE,IAAI,CAAgC,IAAM7C,GAAIvG,EAA7BwC,EAAE4G,EAAU,OAAyB,GAAG,EAAQC,EAAOpJ,EAAQsG,CAAE,EAAQ+C,EAAM,EAAE/C,EAAQ,CAACvE,EAAGC,GAAIN,EAAK9B,GAAS0J,EAAGrH,GAAIF,EAAGE,GAAImH,EAAaG,EAAGrH,GAAIF,EAAGE,GAAIkH,EAAO,EAAIxJ,GAAG,CAAC0J,EAAGC,CAAE,EAAE,EAAE3J,GAAGuC,EAAMkH,EAAM,GAAI,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAC,SAASG,GAAS,EAAE,EAAM,EAAI,CAAC,IAAM/H,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAqBmI,EAAKxH,GAAKT,EAA8I,OAA5IJ,EAAK,SAAS,EAAE,IAAI,CAAC,IAAMsI,EAAM1F,GAAG5C,EAAK,OAAO,GAASuG,EAAEhE,EAAG,GAAI,KAAK,KAAK+F,EAAM,EAAED,EAAK,IAAI,KAAK,GAAG,CAAC,EAAE,EAAIpI,GAAG,CAACsI,EAAQ3F,GAAG2D,CAAC,EAAE,EAAEtG,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAASsH,EAAiB,EAAE,EAAM,CAAC,IAAMhI,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAwBiI,EAAI,GAAO,KAAK,IAAI3J,EAAE,KAAK,GAAG,CAAC,EAAkI,OAAhIJ,EAAK,SAAS,EAAE,IAAI,CAAC,IAAMsI,EAAM1F,GAAG5C,EAAK,OAAO,GAASuG,EAAEhE,EAAGwH,EAAI,KAAK,IAAIzB,EAAM,KAAK,GAAG,CAAC,EAAE,EAAIrI,GAAG,CAACsI,EAAQ3F,GAAG2D,CAAC,EAAE,EAAEtG,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAC,SAASwH,EAAc,EAAE,EAAM,EAAI,CAAC,IAAMlI,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAQmI,EAAKxH,GAAKT,EAAoM,OAAhLJ,EAAK,SAAS,EAAE,IAAI,CAAC,IAAMmH,EAAOvE,EAAE5C,EAAK,OAAO,KAAK,GAAG,EAAQiI,EAAMI,EAAK,GAAGlB,EAAad,EAAE/D,EAAG,GAAG,KAAK,IAAI2F,EAAM,CAAC,EAAQ1B,EAAEhE,EAAG,GAAG,KAAK,IAAI0F,EAAM,CAAC,EAAE,EAAIhI,GAAG,CAACoG,EAAEE,CAAC,EAAE,EAAEtG,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAASyH,GAAkB,EAAE,EAAM,EAAI,CAAC,IAAMnI,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAQmI,EAAKxH,GAAKT,EAAQ2J,EAAI,IAAI,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI1B,EAAK,IAAI,KAAK,EAAE,CAAC,GAAgJ,OAA7IrI,EAAK,SAAS,EAAE,IAAI,CAAC,IAAMsI,EAAM1F,GAAG5C,EAAK,OAAO,GAASuG,EAAEhE,EAAGwH,EAAI,KAAK,KAAKzB,EAAM,EAAED,EAAK,KAAK,KAAK,GAAG,CAAC,EAAE,EAAIpI,GAAG,CAACsI,EAAQ3F,GAAG2D,CAAC,EAAE,EAAEtG,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAAS0H,GAAa,EAAE,EAAM,EAAI,CAAC,IAAMpI,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAQmI,EAAKxH,GAAKT,EAAiM,OAA/LJ,EAAK,SAAS,EAAE,IAAI,CAA+B,IAAMsD,IAAxBV,GAAG5C,EAAK,OAAO,GAAuB,IAAIqI,EAAK,IAAI,EAAE,GAAG,EAAQ8B,EAAI7G,EAAM,GAAGA,EAAM,IAAI,EAAEA,GAAO,GAASiD,EAAEhE,GAAI4H,EAAI,IAAI,GAAG,EAAIlK,GAAG,CAACsI,EAAQ3F,GAAG2D,CAAC,EAAE,EAAEtG,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAAS4H,GAAe,EAAE,EAAM,CAAC,IAAMtI,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAmJ,OAAjJ9B,EAAK,SAAS,EAAE,IAAI,CAAC,GAAK,CAACoC,GAAIL,EAAK9B,GAASqD,EAAMV,EAAE5C,EAAK,OAAO,KAAK,GAAG,EAAQuG,EAAEhE,EAAG,GAAG,KAAK,IAAInC,EAAE,KAAK,GAAG,EAAEkD,CAAK,EAAE,EAAIrD,GAAG,CAACmC,EAAGmE,CAAC,EAAE,EAAEtG,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAC,SAAS6H,GAAU,EAAE,EAAM,EAAI,CAAC,IAAMvI,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAQmI,EAAKxH,GAAKT,EAA2L,OAA5KJ,EAAK,SAAS,EAAE,IAAI,CAAC,IAAMsI,EAAM1F,GAAG5C,EAAK,OAAO,GAASqG,EAAEC,EAASgC,EAAO,GAAyB/B,EAAEhE,EAAG,GAAI,KAAK,KAAK+F,EAAMD,EAAK,IAAI,KAAK,GAAG,CAAC,EAAE,EAAIpI,GAAG,CAACoG,EAAEE,CAAC,EAAE,EAAEtG,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAAC,SAAS8H,GAAW,EAAE,EAAM,CAAC,IAAMxI,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAQyI,EAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQC,EAAO,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,EAAwJ,OAAtJxK,EAAK,SAAS,EAAE,IAAI,CAAwE,IAAMuG,EAAE,IAAnE,GAAG,GAAG,KAAK,IAAI,KAAK,KAAKnG,EAAEmK,EAAM3H,GAAG4H,EAAO5H,IAAI,KAAK,GAAG,CAAC,CAAC,GAAsB,GAAG,EAAI3C,GAAG,CAACwK,EAAO7H,GAAG2D,CAAC,EAAE,EAAEtG,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAoC,SAASkI,GAAe,EAAE,EAAM,CAAC,IAAM5I,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAqI,OAAnI9B,EAAK,SAAS,EAAE,IAAI,CAAC,IAAM6E,EAAEzE,GAAGJ,EAAK,OAAO,EAAE4C,GAAG+H,EAAaZ,EAAI,KAAK,IAAIlF,EAAE,KAAK,GAAG,CAAC,EAAE,EAAI5E,GAAG,CAACwK,EAAO7H,GAAGL,EAAGwH,EAAI,EAAE,EAAE,EAAE9J,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAC,SAASoI,GAAe,EAAE,EAAM,CAAC,IAAM9I,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAuI,OAArI9B,EAAK,SAAS,EAAE,IAAI,CAAC,IAAM6E,EAAEzE,GAAGJ,EAAK,OAAO,EAAE4C,GAAG+H,EAAaZ,EAAI,KAAK,IAAIlF,EAAE,KAAK,GAAG,EAAE,CAAC,EAAE,EAAI5E,GAAG,CAACwK,EAAO7H,GAAGL,EAAGwH,EAAI,EAAE,EAAE,EAAE9J,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAC,SAASqI,GAAc,EAAE,EAAM,CAAC,IAAM/I,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAqK,OAAnK9B,EAAK,SAAS,EAAE,IAAI,CAAC,IAAM6E,EAAEzE,GAAGJ,EAAK,OAAO,EAAE4C,GAAG+H,EAAaZ,EAAI,KAAK,IAAIlF,EAAE,KAAK,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,IAAIA,EAAE,KAAK,GAAG,EAAE,CAAC,EAAE,GAAG,EAAI5E,GAAG,CAACwK,EAAO7H,GAAGL,EAAGwH,EAAI,EAAE,EAAE,EAAE9J,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAC,SAASsI,GAAe,EAAE,EAAM,CAAC,IAAMhJ,EAAI,CAAC,EAAQ,EAAE,CAAC,EAAwEiJ,EAAO,IAAnE,GAAG,GAAG,KAAK,IAAI3K,EAAE,KAAK,GAAG,CAAC,GAAqD,GAA2L,OAA5KuD,EAAG,SAAS,EAAE,IAAI,CAAC,IAAMsE,EAAMrF,EAAEe,EAAG,OAAO,KAAK,GAAG,EAAEvD,EAAE,KAAK,GAAG,EAAE,EAAIH,GAAG,CAACqC,EAAGyI,EAAO,KAAK,IAAI9C,CAAK,EAAE1F,EAAGwI,EAAO,KAAK,IAAI9C,CAAK,CAAC,EAAE,EAAEhI,GAAGuC,CAAM,CAAC,EAAE,EAAI8B,GAAM,CAAChC,EAAGC,CAAE,EAAE,EAAE+B,GAAM9B,EAAY,CAAC,MAAI,CAAC,CAAE,CAAC,SAASwI,GAAW,EAAE,EAAM,CAAC,IAAMlJ,EAAI,CAAC,EAAQ,EAAE,CAAC,EAA8W,OAA5W9B,EAAK,SAAS,EAAE,IAAI,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAASkH,EAAOvE,EAAE5C,EAAK,OAAO,KAAK,GAAG,EAAQiI,EAAM7H,EAAE,KAAK,GAAG,EAAE+G,EAAa8D,EAAI,GAAG,KAAK,IAAI7K,EAAE,KAAK,EAAE,EAAQmB,EAAGe,EAAG2I,EAAI,KAAK,IAAIhD,CAAK,EAAQzG,EAAGe,EAAG0I,EAAI,KAAK,IAAIhD,CAAK,EAAMzC,EAAM,AAA2DA,EAAxDpF,EAAE,IAAUD,EAAUC,EAAE,GAAG,EAAUA,EAAE,IAAU,EAAaD,EAAU,GAAGC,EAAE,KAAK,GAAG,EAAE,EAAIH,GAAG,CAACmC,GAAIb,EAAGa,GAAIoD,EAAMnD,GAAIb,EAAGa,GAAImD,CAAK,EAAE,EAAEvF,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,CAAC,CAAE,CAAC,SAAS0I,GAAU,EAAE,EAAM,CAAC,IAAM,EAAEvH,EAAG,OAAa7B,EAAI,CAAC,GAAGC,CAAI,EAAQ7B,EAAE,CAAC,EAAwI,OAAtIyD,EAAG,SAAS,EAAE,IAAI,CAAC,IAAML,GAAOlD,EAAEwC,EAAE,EAAE,GAAG,EAAQuI,EAAM,KAAK,IAAI,EAAE,KAAK,IAAI7H,EAAM,KAAK,GAAG,CAAC,CAAC,EAAE,EAAErD,GAAGuC,GAAO,EAAE2I,EAAM,GAAI,CAAC,EAAE,EAAE7G,GAAM9B,EAAY,CAAC,MAAI,GAAC,CAAE,CAAsG,SAAS4I,GAAU,EAAE,EAAM,EAAI,CAAC,IAAM/C,EAAKxH,GAAKT,EAAQ0B,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAA0L,OAAxLF,EAAK,SAAS,EAAE,IAAI,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAAQ,CAAC,KAAG,KAAG,KAAG,KAAG,OAAKoL,GAAazI,GAAG,EAAI3C,GAAG,CAACmC,EAAG2H,EAAI,KAAK,KAAK1B,EAAKjH,EAAGwE,GAAI,KAAK,GAAG,CAAC,EAAEvD,EAAG0H,EAAI,KAAK,KAAK1B,EAAKhH,EAAGwE,GAAI,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE5F,GAAGuC,CAAM,CAAC,EAAQ,CAAC,MAAI,GAAC,CAAE,CAEppL,SAAS8I,GAAU,EAAE,EAAM,CAAC,IAAMC,EAASC,EAA6B5C,EAAGtI,GAAaF,CAAC,EAAQqL,EAAYF,EAAS,YAAkBG,EAAWH,EAAS,WAAiBI,EAASJ,EAAS,SAAaK,EAASC,EAAS,GAAGjD,EAAG6C,EAAa,EAAStL,EAAUyI,EAAG6C,CAAW,EAAE,EAAS,OAAQ,GAAG7C,EAAG+C,EAAS,CAAC,EAAS,EAAE,IAAMtF,EAAE,KAAK,IAAI,GAAGuC,EAAG8C,IAAaC,EAASD,EAAW,EAAE,EAAS,EAAEvL,EAAU,KAAK,IAAIkG,EAAE,CAAC,CAAC,CAAE,KAAM,GAAS,EAAE,EAAS,EAAG,IAAMvE,EAAI,CAAC,EAAQ5B,EAAE,CAAC,EAAE,IAAI,IAAMD,KAAKD,EAAK,CAAC,GAAK,CAACoC,EAAGC,GAAIN,EAAK9B,GAAG,EAAIA,GAAG,CAACmC,GAAIE,EAAGF,GAAIwJ,EAASvJ,GAAIE,EAAGF,GAAIuJ,CAAQ,EAAE,EAAE3L,GAAGuC,EAAMqJ,CAAS,CAAC,MAAM,CAAC,MAAI,GAAC,CAAE,CAY9kB,SAAwBC,GAAe,EAAM,CAAC,GAAK,CAAC,OAAK,WAAW,QAAM,UAAU,YAAU,GAAG,QAAM,EAAE,qBAAmB,GAAG,YAAU,QAAQ,kBAAgB,EAAE,cAAW,GAAM,UAAOC,EAAYC,EAASpM,EAAoB,EAAQqM,EAAMtN,EAAM,CAAC,CAAC,QAAQ,kBAAkB,EAAE,EAAE,OAAY,CAACuN,EAAQC,IAAYvN,EAASwN,CAAS,EAAE1M,MAAc,CAACyM,GAAWC,CAAS,CAAE,EAAE,CAACA,CAAS,CAAC,EAAE,IAAMvH,EAAEhG,EAAO,CAAC,OAAK,QAAM,YAAU,QAAM,qBAAmB,kBAAgB,cAAW,eAAeuN,EAAU,WAAW,KAAK,UAAU,KAAK,cAAc,KAAK,UAAU,KAAK,YAAY,KAAK,QAAQ,KAAK,SAAS,KAAK,gBAAgB,KAAK,QAAQ,CAAC,CAAC,EAAE,EAAE,QAAQ,MAAM3L,EAAM,EAAE,QAAQ,UAAU4L,EAAU,EAAE,QAAQ,mBAAmBC,EAAmB,EAAE,QAAQ,MAAMC,EAAM,EAAE,QAAQ,gBAAgBC,EAAgB,EAAE,QAAQ,WAAWC,GAAW,EAAE,QAAQ,eAAeP,EAAQ,EAAE,QAAQ,WAAWC,GAAW,IAAMO,GAAQ7N,EAAO,IAAI,EAAQ8N,EAAU9N,EAAO,CAAC,CAAC,EAAQ+N,EAAa/N,EAAO,CAAC,CAAC,EAAQgO,EAAahO,EAAO,CAAC,CAAC,EAAQiO,EAAejO,EAAO,IAAI,EAAQkO,EAAalO,EAAO,IAAI,EAAQmO,EAAoBnO,EAAO,IAAI,EAAQoO,EAAkBpO,EAAO,IAAI,EAAQqO,EAAQrO,EAAO,IAAI,EAAQsO,EAAQtO,EAAO,CAAC,EAAQuO,EAAUvO,EAAO,CAAC,EAAQwO,GAAYxO,EAAO,EAAE,EAC5uC,CAACyO,GAAOC,IAAW3O,EAAS,EAAI,EAAEc,MAAc,CAAuC,GAA5BT,IAAS,QAAsB,EAAE,yBAAyBA,GAAQ,OAAO,IAAMuO,EAAGd,GAAQ,QAAQ,GAAG,CAACc,EAAG,OAAO,IAAMC,EAAG,IAAI,sBAAsB,CAACC,KAASH,GAAUG,EAAM,cAAc,CAAC,EAAiB,OAAfD,EAAG,QAAQD,CAAE,MAAYC,EAAG,WAAW,CAAE,EAAE,CAAC,CAAC,EAAE/N,MAAc,CAAC,EAAoB,QAAQ,KAAK,EAAkB,QAAQ,IAAK,EAAE,CAACwM,CAAO,CAAC,EACvYxM,MAAc,CAAC,GAAGmF,EAAE,QAAQ,OAAOrE,EAAK,OAAO,IAAM2I,EAAK,CAAC,EAAQwE,EAAM,CAAC,EAAE,IAAI,IAAM1N,KAAKD,EAAK,CAAC,IAAMwN,EAAGb,EAAU,QAAQ1M,GAAMuN,IAAI,EAAKvN,GAAG,CAAC,WAAWuN,EAAG,aAAa,IAAI,GAAG,GAAG,EAAE,WAAWA,EAAG,aAAa,IAAI,GAAG,GAAG,CAAC,EAAE,EAAMvN,GAAG,WAAWuN,EAAG,aAAa,GAAG,GAAG,OAAOnB,CAAS,CAAC,EAAG,CAAC,IAAMxL,EAAI,YAAY,IAAI,EAAE,IAAQ+M,EAAQlN,EAAaG,EAAIgE,EAAE,QAAQ,UAAUA,EAAE,QAAQ,MAAMrE,CAAI,EAAKA,IAAO,UAAQ,EAAQ,GAAsC,GAAK,CAAC,IAAIqN,EAAM,EAAEC,IAA1CC,EAAMvN,IAAOyB,EAAA,CAAwC2L,EAAQ/I,EAAE,QAAQ,UAAUhE,EAAIgE,EAAE,QAAQ,KAAK,EAAQ9D,EAAMD,GAAcqI,EAAK0E,CAAK,EAAE,EAAE,QAAQ,cAAc1E,EAAK,EAAE,QAAQ,UAAUwE,EAAM,EAAE,QAAQ,YAAYE,EAAM,EAAE,QAAQ,QAAQC,EAAI,EAAE,QAAQ,SAAS/M,EAAM,EAAE,QAAQ,gBAAgBF,EAAI,EAAE,QAAQ,QAAQ+M,EAAQ,EAAE,QAAQ,KAAKpN,CAAK,EAAE,CAACA,EAAK6L,CAAS,CAAC,EAAE3M,MAAc,CAAC,GAAGsM,GAAU,CAACsB,GAAO,OAAO,IAAIU,EAAYC,EAAQ,GAAI,CAAC,EAAM,sBAAsBA,CAAO,EAAE,IAAMC,EAAGrJ,EAAE,QAAchE,EAAIsN,EAAG,IACp6BD,EAAG,YAAY,OAAK,EAAG,UAAUrN,GAAI,IAAMF,EAAWJ,GAAc2N,EAAG,KAAKA,EAAG,KAAK,EAAQ9N,EAAEM,EAAaG,EAAIqN,EAAG,UAAUA,EAAG,MAAMA,EAAG,IAAI,EAA2C,CAAC,IAAIE,EAAG,EAAEC,IAA1CN,EAAMG,EAAG,OAAOjM,EAAA,CAAiC7B,EAAE8N,EAAG,UAAUrN,EAAIqN,EAAG,KAAK,EAAMI,EAAGF,EAAGG,EAAGF,EAAG,GAAGH,EAAG,eAAeA,EAAG,kBAAkB,KAAK,CAAC,IAAMM,EAAO,KAAK,KAAK3N,EAAIqN,EAAG,iBAAiBA,EAAG,mBAAmB,CAAC,EAAQvL,EAAKxC,EAAUqO,CAAM,EAAQC,EAAG,CAAC,EAAQC,EAAG,CAAC,EAAQC,EAAU,CAACC,GAAe,IAAIV,EAAG,IAAI,EAAQL,EAAMc,GAAUT,EAAG,aAAaE,EAAYN,EAAIa,GAAUT,EAAG,SAASG,EAAYtN,EAAM4N,GAAUT,EAAG,UAAU,KAAU,IAAI,IAAMjO,KAAKD,EAAK,CAAC,IAAM6O,EAAW9N,EAAMA,EAAMd,GAAGA,EAAO,CAACmB,EAAGC,GAAI6M,EAAG,cAAcjO,GAAQ,CAACsB,EAAGC,GAAIqM,EAAMgB,GAAY,EAAG5O,GAAG,CAACmB,GAAIG,EAAGH,GAAIuB,EAAKtB,GAAIG,EAAGH,GAAIsB,CAAI,EAAE,EAAG1C,IAAIiO,EAAG,YAAYjO,IAAIiO,EAAG,YAAYJ,EAAIe,IAAaX,EAAG,YAAYjO,IAAIiO,EAAG,YAAYvL,CAAK,CAAC,EAAG8L,EAAG,EAAGC,EAAMF,GAAQ,IAAG,EAAG,UAAU3N,GAAKqN,EAAG,SAAS,GAAGvN,EAAW,EAAG,cAAc,KAAK,EAAG,UAAU,KAAK,EAAG,YAAY,KAAK,EAAG,QAAQ,KAAK,EAAG,SAAS,KAAK,EAAG,gBAAgB,KAAM,CAAC,IAAMmO,EAAKZ,EAAG,MAAM,IAAI,IAAMjO,KAAKD,EAAK,CAAC,IAAMwN,EAAGb,EAAU,QAAQ1M,GAAMuN,IAAIA,EAAG,aAAa,KAAKc,EAAGrO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAEuN,EAAG,aAAa,KAAKc,EAAGrO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAEuN,EAAG,aAAa,IAAIe,EAAGtO,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAEuN,EAAG,aAAa,OAAOsB,CAAI,EAAG,CACrvC,IAAMC,EAAa,IAAG,OAAO,UAAa,EAAQ,UAAUA,EAAa5B,EAAQ,SAAS,IAAO,KAAK,IAAIA,EAAQ,QAAQ4B,CAAY,EAAE,OAAK,EAAQ,QAAQA,GAAa,IAAMC,EAAYd,EAAG,UAAU,IAAI,IAAI,IAAItL,EAAE,EAAEA,EAAEgK,EAAa,QAAQ,OAAO,IAAI,CAAC,IAAMY,EAAGZ,EAAa,QAAQhK,GAASE,EAAImM,EAAYrM,GAAG,GAAG,CAAC4K,GAAI,CAAC1K,EAAI,SAAS,IAAIoM,EAAQ,GAAG/B,EAAQ,QAAQ,IAAqD,EAAQ6B,GAA3C,EAAE,IAAI,KAAK,IAAInO,GAAK,IAAIqN,EAAG,MAAM,OAAkC,CAAC,IAAMiB,EAAUrM,EAAI,KAAK,IAAmF,EAAQkM,EAAY7O,EAAtF,KAAK,IAAI,EAAE,KAAK,IAAI,GAAGgN,EAAQ,QAAQgC,IAAY,EAAEA,EAAU,CAAsC,CAAC,CAAE,CAAC3B,EAAG,aAAa,KAAK1K,EAAI,EAAE,QAAQ,CAAC,CAAC,EAAE0K,EAAG,aAAa,KAAK1K,EAAI,EAAE,QAAQ,CAAC,CAAC,EAAE0K,EAAG,aAAa,IAAI0B,EAAQ,QAAQ,CAAC,CAAC,EAAE1B,EAAG,aAAa,OAAOsB,CAAI,CAAE,CACvuB,IAAMM,EAAQtC,EAAe,QAAQ,GAAGsC,EAAQ,CAAC,AAAiCpC,EAAoB,UAAQoC,EAAQ,cAAc,GAAG,EAAMrC,EAAa,SAAS,CAACE,EAAkB,UAAS,EAAkB,QAAQF,EAAa,QAAQ,cAAc,GAAG,GAAG,IAAMsC,EAAQnB,EAAG,OAAO,QAAc3C,EAAS8D,EAAQ7D,EAAuB,KAAK,GAAG,CAAC6D,GAASnB,EAAG,cAAe,EAAU,QAAQ,MAAO,CAAC,IAAMoB,EAAO5O,EAAaG,EAAIqN,EAAG,UAAUA,EAAG,MAAMA,EAAG,IAAI,EAAE,GAAGA,EAAG,YAAYA,EAAG,YAAYA,EAAG,YAAY,KAAK,CAAC,IAAMqB,EAAQ,KAAK,OAAO1O,EAAIqN,EAAG,YAAYA,EAAG,MAAM,EAAE,EAAE,GAAGqB,IAAUlC,GAAY,QAAQ,CAAC,GAAY,QAAQkC,EAAQ,IAAMC,EAAK,OAAO,KAAKC,CAAY,EAAQC,EAAOF,EAAK,QAAQtB,EAAG,gBAAgBsB,EAAK,EAAE,EAAMG,EAAK,EAAG,GAAK,KAAK,MAAM,KAAK,OAAO,EAAEH,EAAK,MAAM,QAASG,IAAOD,GAAQF,EAAK,OAAO,GAAEtB,EAAG,WAAWsB,EAAKG,EAAK,CAAE,CAAC,CAAC,IAAM/G,EAAGtI,GAAagP,CAAM,EAAQM,EAAGpE,EAAuB,GAAG5C,EAAGgH,EAAG,UAAW,EAAU,QAAQ,OAAQ,GAAGhH,EAAGgH,EAAG,SAAS,CAAC,IAAMvJ,GAAGuC,EAAGgH,EAAG,YAAYA,EAAG,SAASA,EAAG,WAAW,EAAU,QAAQzP,EAAUkG,CAAC,CAAE,KAAM,GAAU,QAAQ,CAAG,CAAC,IAAMwJ,EAAGzC,EAAU,QAAQ,QAAQ,CAAC,EAAQ0C,EAAa,aAAaxN,EAAG,MAAMC,EAAG,YAAYsN,EAAG,GAAG,EAAQ,MAAM,UAAUC,EAAa,EAAQ,MAAM,QAAQ,IAAO/C,EAAa,UAAS,EAAa,QAAQ,MAAM,UAAU+C,GAAc,IAAMC,EAAOvE,EAAuB,WAAiBwE,EAAS9B,EAAG,iBAAiB,EAAQ+B,GAAWF,EAAO3C,EAAU,SAAS2C,EAAOC,IAAWE,GAAclD,EAAoB,SAASA,EAAoB,QAAQ,aAAa,eAAeiD,EAAU,QAAQ,CAAC,CAAC,EAAMhD,EAAkB,SAASA,EAAkB,QAAQ,aAAa,eAAegD,EAAU,QAAQ,CAAC,CAAC,EAAG,IAAIE,EAAW,EAAE,GAAG5E,EAAS,CAAC,IAAM6E,EAAM9P,GAAaI,EAAaG,EAAIqN,EAAG,UAAUA,EAAG,MAAM,OAAO,CAAC,EAAKkC,GAAO7E,EAAS,aAAa6E,EAAM7E,EAAS,WAAY,EAAWpL,GAAWiQ,EAAM7E,EAAS,cAAcA,EAAS,WAAWA,EAAS,YAAY,EAAW6E,GAAO7E,EAAS,YAAY6E,EAAM7E,EAAS,YAAW,EAAWpL,EAAU,GAAGiQ,EAAM7E,EAAS,aAAaA,EAAS,UAAUA,EAAS,WAAW,EAAG,CAA4N,IAAM8E,EAApN7E,EAAuB,cAA6B,KAAK,IAAI,IAAIA,EAAuB,UAAUA,EAAuB,WAAwE,GAA3C0C,EAAG,OAAO,IAA+D,KAAK,GAAG,EAAE,IAAI,IAAItL,EAAE,EAAEA,EAAEiK,EAAa,QAAQ,OAAO,IAAI,CAAC,IAAMyD,EAAKzD,EAAa,QAAQjK,GAAG,GAAG,CAAC0N,EAAK,SAAS,IAAM7H,EAAK7F,EAAE,MAAYkD,EAAG,KAAK,IAAIjF,EAAIwP,EAAE,EAAE5H,EAAK,CAAC,EAAE,GAAG,KAAK,IAAI5H,EAAIwP,EAAE,MAAM5H,EAAK,GAAG,EAAE,GAAG,KAAK,IAAI5H,EAAIwP,EAAE,MAAM5H,EAAK,EAAE,EAAE,GAAS1C,EAAG,KAAK,IAAIlF,EAAIwP,EAAE,MAAM5H,EAAK,GAAG,EAAE,GAAG,KAAK,IAAI5H,EAAIwP,EAAE,MAAM5H,EAAK,GAAG,EAAE,GAAG,KAAK,IAAI5H,EAAIwP,EAAE,MAAM5H,EAAK,GAAG,EAAE,GAAS8H,EAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC3N,GAAS4N,EAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC5N,GAAGuN,EAAWG,EAAK,aAAa,MAAMhO,EAAGwD,EAAGyK,EAAKJ,EAAA,CAAY,QAAQ,CAAC,CAAC,EAAEG,EAAK,aAAa,MAAM/N,EAAGwD,EAAGwK,EAAKJ,EAAA,CAAY,QAAQ,CAAC,CAAC,EAAEG,EAAK,aAAa,IAAIE,EAAM,QAAQ,CAAC,CAAC,CAAE,CAAC,GAAGtD,EAAQ,QAAQ,CAAC,IAAMuD,EAAMrD,EAAU,QAAcsD,EAAMD,EAAM,IAAI,GAAGA,EAAM,KAAK,IAAIvD,EAAQ,QAAQ,aAAa,gBAAgB,GAAG,EAAEwD,GAAA,CAAQ,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,EAAuC,MAArC,GAAM,sBAAsBzC,CAAO,MAAY,qBAAqBD,CAAK,CAAE,EAAE,CAAChC,EAASsB,EAAM,CAAC,EAClmG,IAAMqD,EAAY7R,OAAsBiP,EAAMvN,IAAOyB,EAAA,CAAqB,EAAEoK,EAAU,CAAC,EAAI,CAAC7L,EAAK6L,CAAS,CAAC,EAAQuE,GAAQ5E,EAAS2E,EAAY,IAAI5O,EAAWS,GAAMwJ,EAAS2E,EAAY,EAAE5Q,EAAasM,CAAS,EAAQwE,GAAc7E,GAAUxL,IAAO,SAAS6L,EAAU,IAAI,EAAQyE,GAAKrB,EAAavD,GAAe6E,EAAEb,GAAW,SAASc,EAAkB,EAAI,CAAsB,OAAjBF,GAAqC,gBAAK,IAAI,CAAK,MAAI,MAAM,CAAC,UAAU,aAAaxO,EAAG,MAAMC,EAAG,cAAc,gBAAgB,SAAS,EAAE,OAAOgK,EAAM,cAAc,QAAQ,eAAe,QAAQ,KAAK,OAAO,SAAsB,gBAAK,IAAI,CAAC,UAAU,aAAa,IAAIwE,EAAE,GAAG,IAAIA,EAAE,UAAUA,EAAE,GAAG,YAAYvE,EAAgBuE,EAAE,SAASD,GAAK,MAAM,KAAK,EAAE,IAAiB,gBAAK,OAAO,CAAG,GAAC,EAAElO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAA3X,IAA6X,CAAC,MAAoB,gBAAK,MAAM,CAAC,IAAI8J,GAAQ,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,GAAGuE,EAAK,EAAE,SAAsB,gBAAM,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAOC,GAAG,GAAGA,KAAK,KAAK,OAAO,oBAAoB,gBAAgB,MAAM,CAAC,QAAQ,OAAO,EAAE,KAAK,MAAM,aAAa,8BAA8B,SAAS,CAAc,gBAAK,OAAO,CAAC,SAAsB,gBAAM,SAAS,CAAC,GAAGjF,EAAM,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,SAAS,CAAc,gBAAK,iBAAiB,CAAC,IAAIiB,EAAQ,GAAG,gBAAgB,aAAa,IAAI,OAAO,MAAM,CAAC,EAAe,gBAAK,gBAAgB,CAAC,GAAG,OAAO,KAAK,SAAS,OAAO,+CAA+C,OAAO,KAAK,CAAC,EAAe,gBAAK,cAAc,CAAC,GAAG,gBAAgB,IAAI,MAAM,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAK,IAAI,CAAC,SAAS+B,EAAY,KAAK,EAAI,IAAiB,gBAAK,SAAS,CAAC,IAAI,GAAI,CAAC,EAAa,QAAQrM,GAAG4K,CAAG,EAAE,GAAG1K,EAAI,EAAE,QAAQ,CAAC,EAAE,GAAGA,EAAI,EAAE,QAAQ,CAAC,EAAE,EAAE+N,GAAc,QAAQ,IAAI,KAAKtE,CAAK,EAAE3J,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAM,IAAI,CAAC,OAAO,QAAQqJ,EAAM,GAAG,SAAS,CAACjM,EAAK,IAAI,GAAgB,gBAAK,SAAS,CAAC,IAAI,GAAI,CAAC,EAAU,QAAQC,GAAGuN,CAAG,EAAE,GAAGoD,GAAQ3Q,EAAE,CAAC,GAAG,GAAG2Q,GAAQ3Q,EAAE,CAAC,GAAG,EAAEuC,GAAMvC,GAAG,KAAKsM,CAAK,EAAEtM,CAAC,CAAC,EAAe,gBAAK,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAgB,gBAAK,SAAS,CAAC,IAAI,GAAI,CAAC,EAAa,QAAQ2C,GAAG4K,CAAG,EAAE,GAAGlL,EAAG,GAAGC,EAAG,EAAE,IAAI,KAAKgK,CAAK,EAAE3J,CAAC,CAAC,CAAC,CAAC,EAAEoO,EAAkBlE,CAAc,CAAC,CAAC,CAAC,EAAEkE,EAAkBjE,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,0IAvBlqE,EAAI,GAAS,EAAG,GAAa,EAAG,GAAa,GAAK,GAAY,GAAM,IAAY,GAAI,GAAY,GAAO,IAAY,GAAU,GAAY,GAAa,GAAY,EAAS,GAAiC,GAAQ,IAAY,EAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG1G,EAAE8K,CAAG,EAAQ,EAAO,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG9K,EAAE8K,CAAG,EAAQ,EAAK,CAAC,GAAG,CAAC7O,EAAGgP,EAAG,EAAE,GAAG,CAACF,GAAKI,EAAS,EAAE,GAAG,CAACH,GAAMG,EAAS,EAAE,GAAG,CAAClP,EAAGC,CAAE,EAAE,GAAG,CAAC6O,GAAKK,EAAY,EAAE,GAAG,CAACJ,GAAMI,EAAY,EAAE,GAAG,CAACnP,EAAGiP,EAAM,CAAC,EAAQ,GAAG,IAAe,EAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAQ,EAAG,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAQ,GAAW,IAAkF,OAAiB,CAAC,IAAMQ,EAAK,CAAC,EAAoO,MAA3J,CAA1D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAO,CAAC,CAAC,SAAS,CAAC,IAAE,GAAG,IAAK,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAM9J,EAAM,EAAE,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE8J,EAAK,KAAK,CAAC,EAAEzP,EAAGpC,EAAE,KAAK,IAAI+H,CAAK,EAAE,EAAE1F,EAAGrC,EAAE,KAAK,IAAI+H,CAAK,EAAE,KAAK+J,CAAE,CAAC,CAAE,CAAC,CAAC,EAASD,CAAK,EAAA,CAAG,EAEjb,EAAuB,CAAC,YAAY,IAAI,YAAY,IAAI,WAAW,GAAG,UAAU,GAAG,aAAa,IAAI,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,EAAE,EAAkH,GAAU,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAIlQ,EAAa,EAAirG,GAAI,CAAC,CAACS,EAAG,EAAK,EAAE,CAAC,GAAM,EAAK,EAAE,CAAC,IAAM,EAAK,CAAC,EAAy/B,GAAe,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,EAA88B,EAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAQ,EAAY0E,EAAU,QAAQ,EAAE,IAAItF,EAAEC,EAAE,CAAC,EAC95F,EAAO,GAAG3B,EAAK,OAAO,GAAG,IAA0nD,GAAaA,EAAK,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG4C,EAAE,EAAE,IAAI,GAAG,IAAIA,EAAE,EAAE,IAAI,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,IAAI,EAAEA,EAAE,EAAE,CAAC,EAAE,EAG53K,EAAM,CAAC,OAAOX,EAAW,QAAQC,GAAY,SAAS,EAAE,IAAIO,EAAerC,EAAEF,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,UAAU,EAAE,IAAIuC,EAAerC,EAAEF,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,WAAW,EAAE,IAAIuC,EAAerC,EAAEF,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,YAAY,EAAE,IAAIuC,EAAerC,EAAEF,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,SAASmD,EAAa,QAAQG,EAAY,OAAOE,GAAW,SAASE,EAAa,KAAKS,GAAS,WAAWE,EAAe,MAAMO,EAAU,SAASS,EAAa,MAAMU,EAAU,QAAQE,EAAY,QAAQK,EAAY,UAAUK,EAAc,MAAMK,EAAU,MAAMI,EAAU,MAAMQ,GAAU,OAAOK,GAAW,aAAaC,GAAiB,MAAMM,GAAU,QAAQQ,GAAY,OAAOK,GAAW,KAAKM,GAAS,aAAaC,EAAiB,UAAUE,EAAc,cAAcC,GAAkB,SAASC,GAAa,WAAWE,GAAe,MAAMC,GAAU,OAAOC,GAAW,WAAWI,GAAe,WAAWE,GAAe,UAAUC,GAAc,WAAWC,GAAe,OAAOE,GAAW,MAAME,GAAU,MAAME,GAAU,MAAME,EAAS,EAAQ,GAAa,0XAAmb,EAAQ,GAAY,wYAAic,EACv5D,mBAAe,IAAI,IAAI,CAAC,eAAe,OAAO,YAAY,gBAAgB,WAAW,QAAQ,OAAO,CAAC,EACrG,EAAa,CAAC,IAAI,CAAC,MAAM,MAAM,MAAM,CAAC,uDAAuD,6BAA6B,WAAW,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,aAAa,MAAM,CAAC,6HAA6H,CAAC,EAAE,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,uFAAuF,uFAAuF,6CAA6C,mCAAmC,mCAAmC,oCAAoC,kCAAkC,6BAA6B,gCAAgC,CAAC,EAAE,IAAI,CAAC,MAAM,MAAM,MAAM,CAAC,2DAA2D,2CAA2C,CAAC,EAAE,QAAQ,CAAC,MAAM,SAAS,MAAM,CAAC,2KAA2K,sBAAsB,mCAAmC,CAAC,EAAE,iBAAiB,CAAC,MAAM,UAAU,MAAM,CAAC,gCAAgC,CAAC,EAAE,iBAAiB,CAAC,MAAM,WAAW,MAAM,CAAC,wGAAwG,CAAC,EAAE,YAAY,CAAC,MAAM,YAAY,MAAM,CAAC,6DAA6D,0BAA0B,UAAU,WAAW,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,WAAW,MAAM,CAAC,SAAS,UAAU,UAAU,UAAU,UAAU,0CAA0C,CAAC,EAAE,YAAY,CAAC,MAAM,OAAO,MAAM,CAAC,WAAW,oIAAoI,CAAC,EAAE,UAAU,CAAC,MAAM,YAAY,MAAM,CAAC,wEAAwE,2EAA2E,CAAC,EAAE,cAAc,CAAC,MAAM,YAAY,MAAM,CAAC,YAAY,WAAW,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,aAAa,MAAM,CAAC,2BAA2B,mBAAmB,CAAC,EAAE,SAAS,CAAC,MAAM,WAAW,MAAM,CAAC,mFAAmF,uCAAuC,uCAAuC,CAAC,EAAE,OAAO,CAAC,MAAM,SAAS,MAAM,CAAC,oBAAoB,uCAAuC,CAAC,EAAE,cAAc,CAAC,MAAM,OAAO,MAAM,CAAC,2CAA2C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,4EAA4E,uEAAuE,CAAC,EAAE,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,YAAY,0EAA0E,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,kBAAkB,qCAAqC,qCAAqC,CAAC,EAAE,QAAQ,CAAC,MAAM,UAAU,MAAM,CAAC,+BAA+B,sBAAsB,sCAAsC,UAAU,CAAC,CAAC,EAAQ,GAAa,OAAO,KAAKmE,CAAY,EAAQ,GAAYmC,GAAa,IAAI,GAAGnC,EAAawC,EAAE,CAAC,KAAK,EAe/hCtS,EAAoBmM,GAAe,CAAC,KAAK,CAAC,KAAKjM,EAAY,KAAK,MAAM,OAAO,QAAQ6R,GAAa,aAAaC,GAAY,aAAa,UAAU,EAAE,MAAM,CAAC,KAAK9R,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,UAAU,CAAC,KAAKA,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,YAAY,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,mBAAmB,CAAC,KAAKA,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,GAAG,EAAE,UAAU,CAAC,KAAKA,EAAY,KAAK,MAAM,OAAO,QAAQ+R,GAAa,aAAaC,GAAY,aAAa,QAAQ,OAAO,GAAO9F,EAAM,OAAO,OAAO,EAAE,gBAAgB,CAAC,KAAKlM,EAAY,OAAO,MAAM,cAAc,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,OAAO,GAAOkM,EAAM,OAAO,OAAO,EAAE,WAAW,CAAC,KAAKlM,EAAY,QAAQ,MAAM,cAAc,aAAa,GAAM,OAAO,GAAOkM,EAAM,OAAO,OAAO,CAAC,CAAC,C"}