@tscircuit/runframe 0.0.927 → 0.0.928
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1426,7 +1426,7 @@ var useErrorTelemetry = ({
|
|
|
1426
1426
|
};
|
|
1427
1427
|
|
|
1428
1428
|
// package.json
|
|
1429
|
-
var version = "0.0.
|
|
1429
|
+
var version = "0.0.927";
|
|
1430
1430
|
|
|
1431
1431
|
// lib/hooks/use-eval-versions.ts
|
|
1432
1432
|
import { useEffect as useEffect5, useMemo as useMemo2, useState as useState6 } from "react";
|
package/dist/preview.js
CHANGED
package/dist/runner.js
CHANGED
|
@@ -5477,7 +5477,7 @@ ${N.type}: ${P}
|
|
|
5477
5477
|
50% { opacity: 0.2; }
|
|
5478
5478
|
100% { opacity: 0.6; }
|
|
5479
5479
|
}
|
|
5480
|
-
`,r.appendChild(v)}})}};o();const s=new MutationObserver(o);return s.observe(r,{childList:!0,subtree:!1,characterData:!1}),()=>{s.disconnect()}},[n,t,e,i])},CQe=["#8B0000","#2F4F4F","#191970","#006400","#FF4500","#800080","#2E8B57","#B8860B","#C71585","#008B8B"],Qbn=n=>{const{svgDivRef:e,circuitJson:t,circuitJsonKey:i,showGroups:r}=n;Re.useEffect(()=>{if(e.current&&e.current.querySelectorAll(".schematic-group-overlay").forEach(a=>a.remove()),!e.current||!r||!t||t.length===0)return;const o=setTimeout(()=>{if(!e.current)return;const s=e.current.querySelector("svg");if(!s)return;s.querySelectorAll(".schematic-group-overlay").forEach(c=>c.remove());try{const c=Lg(t).source_group?.list().filter(v=>!v.is_subcircuit)||[],l=Lg(t).schematic_component?.list()||[],u=new Map;c.forEach(v=>{const w=v;if(w.parent_source_group_id){const E=u.get(w.parent_source_group_id)||[];E.push(v.source_group_id),u.set(w.parent_source_group_id,E)}});const d=v=>{const w=[],E=u.get(v)||[];for(const k of E)w.push(k),w.push(...d(k));return w},h=v=>{const w=c.find(E=>E.source_group_id===v);return w?.parent_source_group_id?1+h(w.parent_source_group_id):0},f=c.length>0&&c.some(v=>v.name&&v.name.trim()!=="");let m=[];if(f){const v=new Map;for(const w of l){const E=Lg(t).source_component.get(w.source_component_id);E?.source_group_id&&(v.has(E.source_group_id)||v.set(E.source_group_id,[]),v.get(E.source_group_id).push(w))}c.forEach((w,E)=>{let k=v.get(w.source_group_id)||[];const R=d(w.source_group_id);for(const N of R){const M=v.get(N)||[];k=[...k,...M]}if(k.length>0){const N=h(w.source_group_id),M=d(w.source_group_id).length>0;if(w.name?.startsWith("unnamed_board"))return;m.push({id:w.source_group_id,name:w.name||`Group ${E+1}`,components:k,color:CQe[E%CQe.length],depthLevel:N,hasChildren:M,sourceGroupId:w.source_group_id})}})}const y=s.viewBox.baseVal,g=s.getBoundingClientRect(),x=Math.min(g.width/y.width,g.height/y.height)||1;m.sort((v,w)=>v.depthLevel-w.depthLevel),m.forEach(v=>{if(v.components.length===0)return;const w=Jbn(v.components,s);if(!w)return;const E=Math.max(8,Math.min(25,15/Math.max(x,.3))),k=v.hasChildren?E*.6:0,R=E+k,N=Math.max(1,2/Math.max(x,.5)),M=v.depthLevel===0?N:N*.7,I=Math.max(4,8/Math.max(x,.5)),A=v.hasChildren?1.3:1,$=I*A,P=$*.5,j=document.createElementNS("http://www.w3.org/2000/svg","rect");j.setAttribute("class","schematic-group-overlay"),j.setAttribute("x",(w.minX-R).toString()),j.setAttribute("y",(w.minY-R).toString()),j.setAttribute("width",(w.maxX-w.minX+R*2).toString()),j.setAttribute("height",(w.maxY-w.minY+R*2).toString()),j.setAttribute("fill","none"),j.setAttribute("stroke",v.color),j.setAttribute("stroke-width",M.toString()),j.setAttribute("stroke-dasharray",`${$},${P}`),j.setAttribute("opacity","0.8"),j.setAttribute("rx","4"),j.setAttribute("ry","4");const G=Math.max(6,Math.min(20,14/Math.max(x,.2))),X=v.depthLevel===0||v.depthLevel===1?0:v.depthLevel*.2,Z=G*(1-X),J=Math.max(1,Z*.2),oe=v.name,le=document.createElementNS("http://www.w3.org/2000/svg","text");le.setAttribute("font-size",Z.toString()),le.setAttribute("font-family","Arial, sans-serif"),le.textContent=oe,s.appendChild(le);const ge=le.getBBox();s.removeChild(le);const re=ge.width+J*2,ue=Z+J*2,he=w.minX-R,Ee=w.minY-R-ue,Pe=document.createElementNS("http://www.w3.org/2000/svg","rect");Pe.setAttribute("class","schematic-group-overlay"),Pe.setAttribute("x",he.toString()),Pe.setAttribute("y",(Ee-ue).toString()),Pe.setAttribute("width",re.toString()),Pe.setAttribute("height",ue.toString()),Pe.setAttribute("fill","transparent"),Pe.setAttribute("rx","3"),Pe.setAttribute("ry","3");const De=document.createElementNS("http://www.w3.org/2000/svg","text");De.setAttribute("class","schematic-group-overlay"),De.setAttribute("x",(he+J).toString()),De.setAttribute("y",(Ee+ue-J).toString()),De.setAttribute("fill",v.color),De.setAttribute("font-size",Z.toString()),De.setAttribute("font-family","Arial, sans-serif"),De.setAttribute("font-weight",v.depthLevel===0?"600":"500"),De.setAttribute("stroke",v.color),De.setAttribute("stroke-width",Math.max(.2,Z*.02).toString()),De.textContent=oe,s.appendChild(j),s.appendChild(Pe),s.appendChild(De)})}catch(c){console.error("Error creating group overlays:",c)}},10);return()=>clearTimeout(o)},[e,i,r])};function Jbn(n,e){let t=1/0,i=1/0,r=-1/0,o=-1/0;for(const a of n){let c=e.querySelector(`g[data-schematic-component-id="${a.schematic_component_id}"]`);if(c||(c=e.querySelector(`[data-schematic-component-id="${a.schematic_component_id}"]`)),c){const l=c.getBBox();t=Math.min(t,l.x),i=Math.min(i,l.y),r=Math.max(r,l.x+l.width),o=Math.max(o,l.y+l.height)}}return t===1/0?null:{minX:t,minY:i,maxX:r,maxY:o}}var e9n=C_("schematic-viewer"),t9n=()=>{C_.enable("schematic-viewer*")},n9n=e9n,i9n=n=>{const[e,t]=Re.useState(0),[i,r]=Re.useState(0);return Re.useEffect(()=>{if(!n.current)return;const o=()=>{const a=n.current?.getBoundingClientRect();t(a?.width||0),r(a?.height||0)};o();const s=new ResizeObserver(o);return s.observe(n.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),{containerWidth:e,containerHeight:i}},r9n=n9n.extend("useComponentDragging"),o9n=({onEditEvent:n,editEvents:e=[],circuitJson:t,cancelDrag:i,svgToScreenProjection:r,realToSvgProjection:o,enabled:s=!1,snapToGrid:a=!1})=>{const[c,l]=Re.useState(null),u=ps(o,r),d=Re.useRef(null),h=Re.useRef(null),f=Re.useRef(new Map);Re.useEffect(()=>{e.forEach(N=>{"edit_event_type"in N&&N.edit_event_type==="edit_schematic_component_location"&&!N.in_progress&&f.current.set(N.schematic_component_id,{...N.new_center})})},[e]);const m=Re.useCallback((N,M,I)=>{if(!s)return!1;const A=I.closest('[data-circuit-json-type="schematic_component"]');if(!A)return!1;const $=A.getAttribute("data-schematic-component-id");if(!$)return!1;i&&i();const P=Lg(t).schematic_component.get($);if(!P)return!1;d.current={x:N,y:M};let j;const G=f.current.get($);if(G)j={...G};else{const Z=AQe({editEvents:e,schematic_component_id:$});j={x:P.center.x+Z.x,y:P.center.y+Z.y},f.current.set($,{...j})}const X={edit_event_id:Math.random().toString(36).substr(2,9),edit_event_type:"edit_schematic_component_location",schematic_component_id:$,original_center:j,new_center:{...j},in_progress:!0,created_at:Date.now(),_element:A};return h.current=X,l(X),!0},[i,s,t,e]),y=Re.useCallback(N=>{m(N.clientX,N.clientY,N.target)},[m]),g=Re.useCallback(N=>{if(N.touches.length!==1)return;const M=N.touches[0];m(M.clientX,M.clientY,N.target)&&N.preventDefault()},[m]),x=Re.useCallback((N,M)=>{if(!h.current||!d.current)return;const I={x:N-d.current.x,y:M-d.current.y},A={x:I.x/u.a,y:I.y/u.d};let $={x:h.current.original_center.x+A.x,y:h.current.original_center.y+A.y};if(a){const j=G=>Math.round(G*10)/10;$={x:j($.x),y:j($.y)}}const P={...h.current,new_center:$};h.current=P,l(P)},[u,a]),v=Re.useCallback(N=>x(N.clientX,N.clientY),[x]),w=Re.useCallback(N=>{if(N.touches.length!==1||!h.current)return;N.preventDefault();const M=N.touches[0];x(M.clientX,M.clientY)},[x]),E=Re.useCallback(()=>{if(!h.current)return;const N={...h.current,in_progress:!1};f.current.set(N.schematic_component_id,{...N.new_center}),r9n("endDrag calling onEditEvent with new edit event",{newEditEvent:N}),n&&n(N),h.current=null,d.current=null,l(null)},[n]),k=Re.useCallback(()=>E(),[E]),R=Re.useCallback(()=>E(),[E]);return Re.useEffect(()=>(window.addEventListener("mousemove",v),window.addEventListener("mouseup",k),window.addEventListener("touchmove",w,{passive:!1}),window.addEventListener("touchend",R),()=>{window.removeEventListener("mousemove",v),window.removeEventListener("mouseup",k),window.removeEventListener("touchmove",w),window.removeEventListener("touchend",R)}),[v,k,w,R]),{handleMouseDown:y,handleTouchStart:g,isDragging:!!h.current,activeEditEvent:c}},S8={schematicEditIcon:50,schematicGridIcon:49,spiceSimulationIcon:50,viewMenuIcon:48,viewMenu:55,viewMenuBackdrop:54,clickToInteractOverlay:100},s9n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return ye.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"16px",right:"64px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:S8.schematicEditIcon},children:ye.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[ye.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),ye.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})})},a9n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return ye.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"56px",right:"64px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:S8.schematicGridIcon},children:ye.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:ye.jsx("path",{d:"M3 3h7v7H3zM14 3h7v7h-7zM3 14h7v7H3zM14 14h7v7h-7z"})})})},c9n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return ye.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"16px",right:"16px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:S8.viewMenuIcon},children:ye.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[ye.jsx("circle",{cx:"12",cy:"12",r:"1"}),ye.jsx("circle",{cx:"12",cy:"5",r:"1"}),ye.jsx("circle",{cx:"12",cy:"19",r:"1"})]})})},l9n={version:"2.0.39"},u9n=({circuitJson:n,circuitJsonKey:e,isVisible:t,onClose:i,showGroups:r,onToggleGroups:o})=>{const s=Re.useMemo(()=>{if(!n||n.length===0)return!1;try{if((Lg(n).source_group?.list()||[]).length>0)return!0;const c=Lg(n).schematic_component?.list()||[];if(c.length>1){const l=new Set;for(const u of c){const d=Lg(n).source_component.get(u.source_component_id);d?.ftype&&l.add(d.ftype)}return l.size>1}return!1}catch(a){return console.error("Error checking for groups:",a),!1}},[e]);return t?ye.jsxs(ye.Fragment,{children:[ye.jsx("div",{onClick:i,onTouchEnd:a=>{a.preventDefault(),i()},style:{position:"absolute",inset:0,backgroundColor:"transparent",zIndex:S8.viewMenuBackdrop}}),ye.jsxs("div",{style:{position:"absolute",top:"56px",right:"16px",backgroundColor:"#ffffff",color:"#000000",border:"1px solid #ccc",borderRadius:"4px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",minWidth:"200px",zIndex:S8.viewMenu},children:[ye.jsxs("div",{onClick:()=>{s&&o(!r)},onTouchEnd:a=>{a.preventDefault(),s&&o(!r)},style:{padding:"8px 12px",cursor:s?"pointer":"not-allowed",opacity:s?1:.5,fontSize:"13px",color:"#000000",fontFamily:"sans-serif",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:a=>{s&&(a.currentTarget.style.backgroundColor="#f0f0f0")},onMouseLeave:a=>{s&&(a.currentTarget.style.backgroundColor="transparent")},children:[ye.jsx("div",{style:{width:"16px",height:"16px",border:"2px solid #000",borderRadius:"2px",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px",fontWeight:"bold"},children:r&&"✓"}),"View Schematic Groups"]}),!s&&ye.jsx("div",{style:{padding:"8px 12px",fontSize:"11px",color:"#666",fontStyle:"italic"},children:"No groups found in this schematic"}),ye.jsxs("div",{style:{padding:"4px 8px",fontSize:"12px",color:"#999",borderTop:"1px solid #eee",textAlign:"center"},children:["v",String(l9n?.version)]})]})]}):null},d9n=()=>ye.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ye.jsx("path",{d:"M3 12h2.5l2.5-9 4 18 4-9h5.5"})}),h9n=({onClick:n})=>ye.jsx("div",{onClick:n,style:{position:"absolute",top:"16px",right:"112px",backgroundColor:"#fff",color:"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:S8.spiceSimulationIcon},children:ye.jsx(d9n,{})});Kj.register(Mbn,Rbn,sbn,obn,fbn,wbn,hbn);var tH=["#8884d8","#82ca9d","#ffc658","#ff7300","#387908"],RQe=n=>{if(n===0)return"0s";const e=Math.abs(n);let t="s",i=1;return e<1e-12?(t="fs",i=1e15):e<1e-9?(t="ps",i=1e12):e<1e-6?(t="ns",i=1e9):e<.001?(t="us",i=1e6):e<1&&(t="ms",i=1e3),`${parseFloat((n*i).toPrecision(3))}${t}`},p9n=({plotData:n,nodes:e,isLoading:t,error:i})=>{const r=Re.useMemo(()=>{const a=e.some(l=>l.toLowerCase().startsWith("v(")),c=e.some(l=>l.toLowerCase().startsWith("i("));return a&&c?"Value":a?"Voltage (V)":c?"Current (A)":"Value"},[e]);if(t)return ye.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"Running simulation..."});if(i)return ye.jsxs("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"red"},children:["Error: ",i]});if(n.length===0)return ye.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"No data to plot. Check simulation output or SPICE netlist."});const o={datasets:e.map((a,c)=>({label:a,data:n.map(l=>({x:Number(l.name),y:l[a]})),borderColor:tH[c%tH.length],backgroundColor:tH[c%tH.length],fill:!1,tension:.1}))},s={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"top",labels:{font:{family:"sans-serif"}}},title:{display:!1},tooltip:{callbacks:{title:a=>{if(a.length>0){const c=a[0];return RQe(c.parsed.x)}return""}}}},scales:{x:{type:"linear",title:{display:!0,text:"Time",font:{family:"sans-serif"}},ticks:{callback:a=>RQe(a),font:{family:"sans-serif"}}},y:{title:{display:!0,text:r,font:{family:"sans-serif"}},ticks:{font:{family:"sans-serif"}}}}};return ye.jsx("div",{style:{position:"relative",height:"300px",width:"100%"},children:ye.jsx(Fbn,{options:s,data:o})})},f9n=({spiceString:n,onClose:e,plotData:t,nodes:i,isLoading:r,error:o,simOptions:s,onSimOptionsChange:a})=>{const[c,l]=Re.useState(String(s.startTime)),[u,d]=Re.useState(String(s.duration));Re.useEffect(()=>{l(String(s.startTime)),d(String(s.duration))},[s.startTime,s.duration]);const h=()=>{a({...s,startTime:Number(c),duration:Number(u)})},f=i.filter(m=>{const y=m.toLowerCase().startsWith("v("),g=m.toLowerCase().startsWith("i(");return!!(s.showVoltage&&y||s.showCurrent&&g)});return ye.jsx("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1002,fontFamily:"sans-serif"},children:ye.jsxs("div",{style:{backgroundColor:"white",padding:"24px",borderRadius:"12px",width:"90%",maxWidth:"900px",boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)"},children:[ye.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"24px",borderBottom:"1px solid #eee",paddingBottom:"16px"},children:[ye.jsx("h2",{style:{margin:0,fontSize:"22px",fontWeight:600,color:"#333"},children:"SPICE Simulation"}),ye.jsx("button",{onClick:e,style:{background:"none",border:"none",fontSize:"28px",cursor:"pointer",color:"#888",padding:0,lineHeight:1},children:"×"})]}),ye.jsx("div",{children:ye.jsx(p9n,{plotData:t,nodes:f,isLoading:r,error:o})}),ye.jsxs("div",{style:{marginTop:"16px",padding:"12px",backgroundColor:"#f7f7f7",borderRadius:"6px",display:"flex",flexWrap:"wrap",gap:"24px",alignItems:"center",fontSize:"14px"},children:[ye.jsxs("div",{style:{display:"flex",gap:"16px"},children:[ye.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[ye.jsx("input",{type:"checkbox",checked:s.showVoltage,onChange:m=>a({...s,showVoltage:m.target.checked})}),"Voltage"]}),ye.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[ye.jsx("input",{type:"checkbox",checked:s.showCurrent,onChange:m=>a({...s,showCurrent:m.target.checked})}),"Current"]})]}),ye.jsxs("div",{style:{display:"flex",gap:"16px",alignItems:"center"},children:[ye.jsx("label",{htmlFor:"startTime",children:"Start Time (ms):"}),ye.jsx("input",{id:"startTime",type:"number",value:c,onChange:m=>l(m.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),ye.jsx("label",{htmlFor:"duration",children:"Duration (ms):"}),ye.jsx("input",{id:"duration",type:"number",value:u,onChange:m=>d(m.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),ye.jsx("button",{onClick:h,style:{padding:"4px 12px",borderRadius:"4px",border:"1px solid #ccc",backgroundColor:"#f0f0f0",cursor:"pointer"},children:"Rerun"})]})]}),ye.jsxs("div",{style:{marginTop:"24px"},children:[ye.jsx("h3",{style:{marginTop:0,marginBottom:"12px",fontSize:"18px",fontWeight:600,color:"#333"},children:"SPICE Netlist"}),ye.jsx("pre",{style:{backgroundColor:"#fafafa",padding:"16px",borderRadius:"6px",maxHeight:"150px",overflowY:"auto",border:"1px solid #eee",color:"#333",fontSize:"13px",fontFamily:"monospace"},children:n})]})]})})},m9n="dmFyIGU9bnVsbCxzPWFzeW5jKCk9Pihhd2FpdCBpbXBvcnQoImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vZWVjaXJjdWl0LWVuZ2luZUAxLjUuMi8rZXNtIikpLlNpbXVsYXRpb24sYz1hc3luYygpPT57aWYoZSYmZS5pc0luaXRpYWxpemVkKCkpcmV0dXJuO2xldCBpPWF3YWl0IHMoKTtlPW5ldyBpLGF3YWl0IGUuc3RhcnQoKX07c2VsZi5vbm1lc3NhZ2U9YXN5bmMgaT0+e3RyeXtpZihhd2FpdCBjKCksIWUpdGhyb3cgbmV3IEVycm9yKCJTaW11bGF0aW9uIG5vdCBpbml0aWFsaXplZCIpO2xldCB0PWkuZGF0YS5zcGljZVN0cmluZyxhPXQubWF0Y2goL3dyZGF0YVxzKyhcUyspXHMrKC4qKS9pKTtpZihhKXtsZXQgbz1gLnByb2JlICR7YVsyXS50cmltKCkuc3BsaXQoL1xzKy8pLmpvaW4oIiAiKX1gO3Q9dC5yZXBsYWNlKC93cmRhdGEuKi9pLG8pfWVsc2UgaWYoIXQubWF0Y2goL1wucHJvYmUvaSkpdGhyb3cgdC5tYXRjaCgvcGxvdFxzKyguKikvaSk/bmV3IEVycm9yKCJUaGUgJ3Bsb3QnIGNvbW1hbmQgaXMgbm90IHN1cHBvcnRlZCBmb3IgZGF0YSBleHRyYWN0aW9uLiBQbGVhc2UgdXNlICd3cmRhdGEgPGZpbGVuYW1lPiA8dmFyMT4gLi4uJyBvciAnLnByb2JlIDx2YXIxPiAuLi4nIGluc3RlYWQuIik6bmV3IEVycm9yKCJObyAnLnByb2JlJyBvciAnd3JkYXRhJyBjb21tYW5kIGZvdW5kIGluIFNQSUNFIGZpbGUuIFVzZSAnd3JkYXRhIDxmaWxlbmFtZT4gPHZhcjE+IC4uLicgdG8gc3BlY2lmeSBvdXRwdXQuIik7ZS5zZXROZXRMaXN0KHQpO2xldCBuPWF3YWl0IGUucnVuU2ltKCk7c2VsZi5wb3N0TWVzc2FnZSh7dHlwZToicmVzdWx0IixyZXN1bHQ6bn0pfWNhdGNoKHQpe3NlbGYucG9zdE1lc3NhZ2Uoe3R5cGU6ImVycm9yIixlcnJvcjp0Lm1lc3NhZ2V9KX19Owo=",nH=null,_9n=()=>{if(typeof window>"u")return null;if(nH)return nH;try{const n=new Blob([atob(m9n)],{type:"application/javascript"});return nH=URL.createObjectURL(n),nH}catch(n){return console.error("Failed to create blob URL for worker",n),null}},y9n=n=>{const e={};if(n.dataType==="real")n.data.forEach(a=>{e[a.name]=a.values});else if(n.dataType==="complex")n.data.forEach(a=>{e[a.name]=a.values.map(c=>c.real)});else throw new Error("Unsupported data type in simulation result");const t=Object.keys(e).find(a=>a.toLowerCase()==="time"||a.toLowerCase()==="frequency");if(!t)throw new Error("No time or frequency data in simulation result");const i=e[t],r=Object.keys(e).filter(a=>a!==t),o=r;return{plotData:i.map((a,c)=>{const l={name:a.toExponential(2)};return r.forEach(u=>{l[u]=e[u][c]}),l}),nodes:o}},g9n=n=>{const[e,t]=Re.useState([]),[i,r]=Re.useState([]),[o,s]=Re.useState(!0),[a,c]=Re.useState(null);return Re.useEffect(()=>{if(!n){s(!1),t([]),r([]),c(null);return}s(!0),c(null),t([]),r([]);const l=_9n();if(!l){c("Could not create SPICE simulation worker."),s(!1);return}const u=new Worker(l,{type:"module"});return u.onmessage=d=>{if(d.data.type==="result")try{const{plotData:h,nodes:f}=y9n(d.data.result);t(h),r(f)}catch(h){c(h.message||"Failed to parse simulation result"),console.error(h)}else d.data.type==="error"&&c(d.data.error);s(!1)},u.onerror=d=>{c(d.message),s(!1)},u.postMessage({spiceString:n}),()=>{u.terminate()}},[n]),{plotData:e,nodes:i,isLoading:o,error:a}},i_e=n=>{if(n===0)return"0";const e=Math.abs(n),t=i=>i.toPrecision(4);return e>=1?t(n):e>=.001?`${t(n*1e3)}m`:e>=1e-6?`${t(n*1e6)}u`:e>=1e-9?`${t(n*1e9)}n`:e>=1e-12?`${t(n*1e12)}p`:e>=1e-15?`${t(n*1e15)}f`:n.toExponential(3)},v9n=(n,e)=>{const i=Ybn(n).toSpiceString(),o=i.split(`
|
|
5480
|
+
`,r.appendChild(v)}})}};o();const s=new MutationObserver(o);return s.observe(r,{childList:!0,subtree:!1,characterData:!1}),()=>{s.disconnect()}},[n,t,e,i])},CQe=["#8B0000","#2F4F4F","#191970","#006400","#FF4500","#800080","#2E8B57","#B8860B","#C71585","#008B8B"],Qbn=n=>{const{svgDivRef:e,circuitJson:t,circuitJsonKey:i,showGroups:r}=n;Re.useEffect(()=>{if(e.current&&e.current.querySelectorAll(".schematic-group-overlay").forEach(a=>a.remove()),!e.current||!r||!t||t.length===0)return;const o=setTimeout(()=>{if(!e.current)return;const s=e.current.querySelector("svg");if(!s)return;s.querySelectorAll(".schematic-group-overlay").forEach(c=>c.remove());try{const c=Lg(t).source_group?.list().filter(v=>!v.is_subcircuit)||[],l=Lg(t).schematic_component?.list()||[],u=new Map;c.forEach(v=>{const w=v;if(w.parent_source_group_id){const E=u.get(w.parent_source_group_id)||[];E.push(v.source_group_id),u.set(w.parent_source_group_id,E)}});const d=v=>{const w=[],E=u.get(v)||[];for(const k of E)w.push(k),w.push(...d(k));return w},h=v=>{const w=c.find(E=>E.source_group_id===v);return w?.parent_source_group_id?1+h(w.parent_source_group_id):0},f=c.length>0&&c.some(v=>v.name&&v.name.trim()!=="");let m=[];if(f){const v=new Map;for(const w of l){const E=Lg(t).source_component.get(w.source_component_id);E?.source_group_id&&(v.has(E.source_group_id)||v.set(E.source_group_id,[]),v.get(E.source_group_id).push(w))}c.forEach((w,E)=>{let k=v.get(w.source_group_id)||[];const R=d(w.source_group_id);for(const N of R){const M=v.get(N)||[];k=[...k,...M]}if(k.length>0){const N=h(w.source_group_id),M=d(w.source_group_id).length>0;if(w.name?.startsWith("unnamed_board"))return;m.push({id:w.source_group_id,name:w.name||`Group ${E+1}`,components:k,color:CQe[E%CQe.length],depthLevel:N,hasChildren:M,sourceGroupId:w.source_group_id})}})}const y=s.viewBox.baseVal,g=s.getBoundingClientRect(),x=Math.min(g.width/y.width,g.height/y.height)||1;m.sort((v,w)=>v.depthLevel-w.depthLevel),m.forEach(v=>{if(v.components.length===0)return;const w=Jbn(v.components,s);if(!w)return;const E=Math.max(8,Math.min(25,15/Math.max(x,.3))),k=v.hasChildren?E*.6:0,R=E+k,N=Math.max(1,2/Math.max(x,.5)),M=v.depthLevel===0?N:N*.7,I=Math.max(4,8/Math.max(x,.5)),A=v.hasChildren?1.3:1,$=I*A,P=$*.5,j=document.createElementNS("http://www.w3.org/2000/svg","rect");j.setAttribute("class","schematic-group-overlay"),j.setAttribute("x",(w.minX-R).toString()),j.setAttribute("y",(w.minY-R).toString()),j.setAttribute("width",(w.maxX-w.minX+R*2).toString()),j.setAttribute("height",(w.maxY-w.minY+R*2).toString()),j.setAttribute("fill","none"),j.setAttribute("stroke",v.color),j.setAttribute("stroke-width",M.toString()),j.setAttribute("stroke-dasharray",`${$},${P}`),j.setAttribute("opacity","0.8"),j.setAttribute("rx","0"),j.setAttribute("ry","0");const G=Math.max(6,Math.min(20,14/Math.max(x,.2))),X=v.depthLevel===0||v.depthLevel===1?0:v.depthLevel*.2,Z=G*(1-X),J=Math.max(1,Z*.2),oe=v.name,le=document.createElementNS("http://www.w3.org/2000/svg","text");le.setAttribute("font-size",Z.toString()),le.setAttribute("font-family","Arial, sans-serif"),le.textContent=oe,s.appendChild(le);const ge=le.getBBox();s.removeChild(le);const re=ge.width+J*2,ue=Z+J*2,he=w.minX-R,Ee=w.minY-R-ue,Pe=document.createElementNS("http://www.w3.org/2000/svg","rect");Pe.setAttribute("class","schematic-group-overlay"),Pe.setAttribute("x",he.toString()),Pe.setAttribute("y",(Ee-ue).toString()),Pe.setAttribute("width",re.toString()),Pe.setAttribute("height",ue.toString()),Pe.setAttribute("fill","transparent"),Pe.setAttribute("rx","0"),Pe.setAttribute("ry","0");const De=document.createElementNS("http://www.w3.org/2000/svg","text");De.setAttribute("class","schematic-group-overlay"),De.setAttribute("x",(he+J).toString()),De.setAttribute("y",(Ee+ue-J).toString()),De.setAttribute("fill",v.color),De.setAttribute("font-size",Z.toString()),De.setAttribute("font-family","Arial, sans-serif"),De.setAttribute("font-weight",v.depthLevel===0?"600":"500"),De.setAttribute("stroke",v.color),De.setAttribute("stroke-width",Math.max(.2,Z*.02).toString()),De.textContent=oe,s.appendChild(j),s.appendChild(Pe),s.appendChild(De)})}catch(c){console.error("Error creating group overlays:",c)}},10);return()=>clearTimeout(o)},[e,i,r])};function Jbn(n,e){let t=1/0,i=1/0,r=-1/0,o=-1/0;for(const a of n){let c=e.querySelector(`g[data-schematic-component-id="${a.schematic_component_id}"]`);if(c||(c=e.querySelector(`[data-schematic-component-id="${a.schematic_component_id}"]`)),c){const l=c.getBBox();t=Math.min(t,l.x),i=Math.min(i,l.y),r=Math.max(r,l.x+l.width),o=Math.max(o,l.y+l.height)}}return t===1/0?null:{minX:t,minY:i,maxX:r,maxY:o}}var e9n=C_("schematic-viewer"),t9n=()=>{C_.enable("schematic-viewer*")},n9n=e9n,i9n=n=>{const[e,t]=Re.useState(0),[i,r]=Re.useState(0);return Re.useEffect(()=>{if(!n.current)return;const o=()=>{const a=n.current?.getBoundingClientRect();t(a?.width||0),r(a?.height||0)};o();const s=new ResizeObserver(o);return s.observe(n.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),{containerWidth:e,containerHeight:i}},r9n=n9n.extend("useComponentDragging"),o9n=({onEditEvent:n,editEvents:e=[],circuitJson:t,cancelDrag:i,svgToScreenProjection:r,realToSvgProjection:o,enabled:s=!1,snapToGrid:a=!1})=>{const[c,l]=Re.useState(null),u=ps(o,r),d=Re.useRef(null),h=Re.useRef(null),f=Re.useRef(new Map);Re.useEffect(()=>{e.forEach(N=>{"edit_event_type"in N&&N.edit_event_type==="edit_schematic_component_location"&&!N.in_progress&&f.current.set(N.schematic_component_id,{...N.new_center})})},[e]);const m=Re.useCallback((N,M,I)=>{if(!s)return!1;const A=I.closest('[data-circuit-json-type="schematic_component"]');if(!A)return!1;const $=A.getAttribute("data-schematic-component-id");if(!$)return!1;i&&i();const P=Lg(t).schematic_component.get($);if(!P)return!1;d.current={x:N,y:M};let j;const G=f.current.get($);if(G)j={...G};else{const Z=AQe({editEvents:e,schematic_component_id:$});j={x:P.center.x+Z.x,y:P.center.y+Z.y},f.current.set($,{...j})}const X={edit_event_id:Math.random().toString(36).substr(2,9),edit_event_type:"edit_schematic_component_location",schematic_component_id:$,original_center:j,new_center:{...j},in_progress:!0,created_at:Date.now(),_element:A};return h.current=X,l(X),!0},[i,s,t,e]),y=Re.useCallback(N=>{m(N.clientX,N.clientY,N.target)},[m]),g=Re.useCallback(N=>{if(N.touches.length!==1)return;const M=N.touches[0];m(M.clientX,M.clientY,N.target)&&N.preventDefault()},[m]),x=Re.useCallback((N,M)=>{if(!h.current||!d.current)return;const I={x:N-d.current.x,y:M-d.current.y},A={x:I.x/u.a,y:I.y/u.d};let $={x:h.current.original_center.x+A.x,y:h.current.original_center.y+A.y};if(a){const j=G=>Math.round(G*10)/10;$={x:j($.x),y:j($.y)}}const P={...h.current,new_center:$};h.current=P,l(P)},[u,a]),v=Re.useCallback(N=>x(N.clientX,N.clientY),[x]),w=Re.useCallback(N=>{if(N.touches.length!==1||!h.current)return;N.preventDefault();const M=N.touches[0];x(M.clientX,M.clientY)},[x]),E=Re.useCallback(()=>{if(!h.current)return;const N={...h.current,in_progress:!1};f.current.set(N.schematic_component_id,{...N.new_center}),r9n("endDrag calling onEditEvent with new edit event",{newEditEvent:N}),n&&n(N),h.current=null,d.current=null,l(null)},[n]),k=Re.useCallback(()=>E(),[E]),R=Re.useCallback(()=>E(),[E]);return Re.useEffect(()=>(window.addEventListener("mousemove",v),window.addEventListener("mouseup",k),window.addEventListener("touchmove",w,{passive:!1}),window.addEventListener("touchend",R),()=>{window.removeEventListener("mousemove",v),window.removeEventListener("mouseup",k),window.removeEventListener("touchmove",w),window.removeEventListener("touchend",R)}),[v,k,w,R]),{handleMouseDown:y,handleTouchStart:g,isDragging:!!h.current,activeEditEvent:c}},S8={schematicEditIcon:50,schematicGridIcon:49,spiceSimulationIcon:50,viewMenuIcon:48,viewMenu:55,viewMenuBackdrop:54,clickToInteractOverlay:100},s9n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return ye.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"16px",right:"64px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:S8.schematicEditIcon},children:ye.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[ye.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),ye.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})})},a9n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return ye.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"56px",right:"64px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:S8.schematicGridIcon},children:ye.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:ye.jsx("path",{d:"M3 3h7v7H3zM14 3h7v7h-7zM3 14h7v7H3zM14 14h7v7h-7z"})})})},c9n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return ye.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"16px",right:"16px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:S8.viewMenuIcon},children:ye.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[ye.jsx("circle",{cx:"12",cy:"12",r:"1"}),ye.jsx("circle",{cx:"12",cy:"5",r:"1"}),ye.jsx("circle",{cx:"12",cy:"19",r:"1"})]})})},l9n={version:"2.0.40"},u9n=({circuitJson:n,circuitJsonKey:e,isVisible:t,onClose:i,showGroups:r,onToggleGroups:o})=>{const s=Re.useMemo(()=>{if(!n||n.length===0)return!1;try{if((Lg(n).source_group?.list()||[]).length>0)return!0;const c=Lg(n).schematic_component?.list()||[];if(c.length>1){const l=new Set;for(const u of c){const d=Lg(n).source_component.get(u.source_component_id);d?.ftype&&l.add(d.ftype)}return l.size>1}return!1}catch(a){return console.error("Error checking for groups:",a),!1}},[e]);return t?ye.jsxs(ye.Fragment,{children:[ye.jsx("div",{onClick:i,onTouchEnd:a=>{a.preventDefault(),i()},style:{position:"absolute",inset:0,backgroundColor:"transparent",zIndex:S8.viewMenuBackdrop}}),ye.jsxs("div",{style:{position:"absolute",top:"56px",right:"16px",backgroundColor:"#ffffff",color:"#000000",border:"1px solid #ccc",borderRadius:"4px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",minWidth:"200px",zIndex:S8.viewMenu},children:[ye.jsxs("div",{onClick:()=>{s&&o(!r)},onTouchEnd:a=>{a.preventDefault(),s&&o(!r)},style:{padding:"8px 12px",cursor:s?"pointer":"not-allowed",opacity:s?1:.5,fontSize:"13px",color:"#000000",fontFamily:"sans-serif",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:a=>{s&&(a.currentTarget.style.backgroundColor="#f0f0f0")},onMouseLeave:a=>{s&&(a.currentTarget.style.backgroundColor="transparent")},children:[ye.jsx("div",{style:{width:"16px",height:"16px",border:"2px solid #000",borderRadius:"2px",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px",fontWeight:"bold"},children:r&&"✓"}),"View Schematic Groups"]}),!s&&ye.jsx("div",{style:{padding:"8px 12px",fontSize:"11px",color:"#666",fontStyle:"italic"},children:"No groups found in this schematic"}),ye.jsxs("div",{style:{padding:"4px 8px",fontSize:"12px",color:"#999",borderTop:"1px solid #eee",textAlign:"center"},children:["v",String(l9n?.version)]})]})]}):null},d9n=()=>ye.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ye.jsx("path",{d:"M3 12h2.5l2.5-9 4 18 4-9h5.5"})}),h9n=({onClick:n})=>ye.jsx("div",{onClick:n,style:{position:"absolute",top:"16px",right:"112px",backgroundColor:"#fff",color:"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:S8.spiceSimulationIcon},children:ye.jsx(d9n,{})});Kj.register(Mbn,Rbn,sbn,obn,fbn,wbn,hbn);var tH=["#8884d8","#82ca9d","#ffc658","#ff7300","#387908"],RQe=n=>{if(n===0)return"0s";const e=Math.abs(n);let t="s",i=1;return e<1e-12?(t="fs",i=1e15):e<1e-9?(t="ps",i=1e12):e<1e-6?(t="ns",i=1e9):e<.001?(t="us",i=1e6):e<1&&(t="ms",i=1e3),`${parseFloat((n*i).toPrecision(3))}${t}`},p9n=({plotData:n,nodes:e,isLoading:t,error:i})=>{const r=Re.useMemo(()=>{const a=e.some(l=>l.toLowerCase().startsWith("v(")),c=e.some(l=>l.toLowerCase().startsWith("i("));return a&&c?"Value":a?"Voltage (V)":c?"Current (A)":"Value"},[e]);if(t)return ye.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"Running simulation..."});if(i)return ye.jsxs("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"red"},children:["Error: ",i]});if(n.length===0)return ye.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"No data to plot. Check simulation output or SPICE netlist."});const o={datasets:e.map((a,c)=>({label:a,data:n.map(l=>({x:Number(l.name),y:l[a]})),borderColor:tH[c%tH.length],backgroundColor:tH[c%tH.length],fill:!1,tension:.1}))},s={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"top",labels:{font:{family:"sans-serif"}}},title:{display:!1},tooltip:{callbacks:{title:a=>{if(a.length>0){const c=a[0];return RQe(c.parsed.x)}return""}}}},scales:{x:{type:"linear",title:{display:!0,text:"Time",font:{family:"sans-serif"}},ticks:{callback:a=>RQe(a),font:{family:"sans-serif"}}},y:{title:{display:!0,text:r,font:{family:"sans-serif"}},ticks:{font:{family:"sans-serif"}}}}};return ye.jsx("div",{style:{position:"relative",height:"300px",width:"100%"},children:ye.jsx(Fbn,{options:s,data:o})})},f9n=({spiceString:n,onClose:e,plotData:t,nodes:i,isLoading:r,error:o,simOptions:s,onSimOptionsChange:a})=>{const[c,l]=Re.useState(String(s.startTime)),[u,d]=Re.useState(String(s.duration));Re.useEffect(()=>{l(String(s.startTime)),d(String(s.duration))},[s.startTime,s.duration]);const h=()=>{a({...s,startTime:Number(c),duration:Number(u)})},f=i.filter(m=>{const y=m.toLowerCase().startsWith("v("),g=m.toLowerCase().startsWith("i(");return!!(s.showVoltage&&y||s.showCurrent&&g)});return ye.jsx("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1002,fontFamily:"sans-serif"},children:ye.jsxs("div",{style:{backgroundColor:"white",padding:"24px",borderRadius:"12px",width:"90%",maxWidth:"900px",boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)"},children:[ye.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"24px",borderBottom:"1px solid #eee",paddingBottom:"16px"},children:[ye.jsx("h2",{style:{margin:0,fontSize:"22px",fontWeight:600,color:"#333"},children:"SPICE Simulation"}),ye.jsx("button",{onClick:e,style:{background:"none",border:"none",fontSize:"28px",cursor:"pointer",color:"#888",padding:0,lineHeight:1},children:"×"})]}),ye.jsx("div",{children:ye.jsx(p9n,{plotData:t,nodes:f,isLoading:r,error:o})}),ye.jsxs("div",{style:{marginTop:"16px",padding:"12px",backgroundColor:"#f7f7f7",borderRadius:"6px",display:"flex",flexWrap:"wrap",gap:"24px",alignItems:"center",fontSize:"14px"},children:[ye.jsxs("div",{style:{display:"flex",gap:"16px"},children:[ye.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[ye.jsx("input",{type:"checkbox",checked:s.showVoltage,onChange:m=>a({...s,showVoltage:m.target.checked})}),"Voltage"]}),ye.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[ye.jsx("input",{type:"checkbox",checked:s.showCurrent,onChange:m=>a({...s,showCurrent:m.target.checked})}),"Current"]})]}),ye.jsxs("div",{style:{display:"flex",gap:"16px",alignItems:"center"},children:[ye.jsx("label",{htmlFor:"startTime",children:"Start Time (ms):"}),ye.jsx("input",{id:"startTime",type:"number",value:c,onChange:m=>l(m.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),ye.jsx("label",{htmlFor:"duration",children:"Duration (ms):"}),ye.jsx("input",{id:"duration",type:"number",value:u,onChange:m=>d(m.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),ye.jsx("button",{onClick:h,style:{padding:"4px 12px",borderRadius:"4px",border:"1px solid #ccc",backgroundColor:"#f0f0f0",cursor:"pointer"},children:"Rerun"})]})]}),ye.jsxs("div",{style:{marginTop:"24px"},children:[ye.jsx("h3",{style:{marginTop:0,marginBottom:"12px",fontSize:"18px",fontWeight:600,color:"#333"},children:"SPICE Netlist"}),ye.jsx("pre",{style:{backgroundColor:"#fafafa",padding:"16px",borderRadius:"6px",maxHeight:"150px",overflowY:"auto",border:"1px solid #eee",color:"#333",fontSize:"13px",fontFamily:"monospace"},children:n})]})]})})},m9n="dmFyIGU9bnVsbCxzPWFzeW5jKCk9Pihhd2FpdCBpbXBvcnQoImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vZWVjaXJjdWl0LWVuZ2luZUAxLjUuMi8rZXNtIikpLlNpbXVsYXRpb24sYz1hc3luYygpPT57aWYoZSYmZS5pc0luaXRpYWxpemVkKCkpcmV0dXJuO2xldCBpPWF3YWl0IHMoKTtlPW5ldyBpLGF3YWl0IGUuc3RhcnQoKX07c2VsZi5vbm1lc3NhZ2U9YXN5bmMgaT0+e3RyeXtpZihhd2FpdCBjKCksIWUpdGhyb3cgbmV3IEVycm9yKCJTaW11bGF0aW9uIG5vdCBpbml0aWFsaXplZCIpO2xldCB0PWkuZGF0YS5zcGljZVN0cmluZyxhPXQubWF0Y2goL3dyZGF0YVxzKyhcUyspXHMrKC4qKS9pKTtpZihhKXtsZXQgbz1gLnByb2JlICR7YVsyXS50cmltKCkuc3BsaXQoL1xzKy8pLmpvaW4oIiAiKX1gO3Q9dC5yZXBsYWNlKC93cmRhdGEuKi9pLG8pfWVsc2UgaWYoIXQubWF0Y2goL1wucHJvYmUvaSkpdGhyb3cgdC5tYXRjaCgvcGxvdFxzKyguKikvaSk/bmV3IEVycm9yKCJUaGUgJ3Bsb3QnIGNvbW1hbmQgaXMgbm90IHN1cHBvcnRlZCBmb3IgZGF0YSBleHRyYWN0aW9uLiBQbGVhc2UgdXNlICd3cmRhdGEgPGZpbGVuYW1lPiA8dmFyMT4gLi4uJyBvciAnLnByb2JlIDx2YXIxPiAuLi4nIGluc3RlYWQuIik6bmV3IEVycm9yKCJObyAnLnByb2JlJyBvciAnd3JkYXRhJyBjb21tYW5kIGZvdW5kIGluIFNQSUNFIGZpbGUuIFVzZSAnd3JkYXRhIDxmaWxlbmFtZT4gPHZhcjE+IC4uLicgdG8gc3BlY2lmeSBvdXRwdXQuIik7ZS5zZXROZXRMaXN0KHQpO2xldCBuPWF3YWl0IGUucnVuU2ltKCk7c2VsZi5wb3N0TWVzc2FnZSh7dHlwZToicmVzdWx0IixyZXN1bHQ6bn0pfWNhdGNoKHQpe3NlbGYucG9zdE1lc3NhZ2Uoe3R5cGU6ImVycm9yIixlcnJvcjp0Lm1lc3NhZ2V9KX19Owo=",nH=null,_9n=()=>{if(typeof window>"u")return null;if(nH)return nH;try{const n=new Blob([atob(m9n)],{type:"application/javascript"});return nH=URL.createObjectURL(n),nH}catch(n){return console.error("Failed to create blob URL for worker",n),null}},y9n=n=>{const e={};if(n.dataType==="real")n.data.forEach(a=>{e[a.name]=a.values});else if(n.dataType==="complex")n.data.forEach(a=>{e[a.name]=a.values.map(c=>c.real)});else throw new Error("Unsupported data type in simulation result");const t=Object.keys(e).find(a=>a.toLowerCase()==="time"||a.toLowerCase()==="frequency");if(!t)throw new Error("No time or frequency data in simulation result");const i=e[t],r=Object.keys(e).filter(a=>a!==t),o=r;return{plotData:i.map((a,c)=>{const l={name:a.toExponential(2)};return r.forEach(u=>{l[u]=e[u][c]}),l}),nodes:o}},g9n=n=>{const[e,t]=Re.useState([]),[i,r]=Re.useState([]),[o,s]=Re.useState(!0),[a,c]=Re.useState(null);return Re.useEffect(()=>{if(!n){s(!1),t([]),r([]),c(null);return}s(!0),c(null),t([]),r([]);const l=_9n();if(!l){c("Could not create SPICE simulation worker."),s(!1);return}const u=new Worker(l,{type:"module"});return u.onmessage=d=>{if(d.data.type==="result")try{const{plotData:h,nodes:f}=y9n(d.data.result);t(h),r(f)}catch(h){c(h.message||"Failed to parse simulation result"),console.error(h)}else d.data.type==="error"&&c(d.data.error);s(!1)},u.onerror=d=>{c(d.message),s(!1)},u.postMessage({spiceString:n}),()=>{u.terminate()}},[n]),{plotData:e,nodes:i,isLoading:o,error:a}},i_e=n=>{if(n===0)return"0";const e=Math.abs(n),t=i=>i.toPrecision(4);return e>=1?t(n):e>=.001?`${t(n*1e3)}m`:e>=1e-6?`${t(n*1e6)}u`:e>=1e-9?`${t(n*1e9)}n`:e>=1e-12?`${t(n*1e12)}p`:e>=1e-15?`${t(n*1e15)}f`:n.toExponential(3)},v9n=(n,e)=>{const i=Ybn(n).toSpiceString(),o=i.split(`
|
|
5481
5481
|
`).filter(A=>A.trim()!=="").filter(A=>!A.startsWith("*")&&!A.startsWith(".")&&A.trim()!==""),s=new Set,a=new Set,c=new Set;for(const A of o){const $=A.trim().split(/\s+/);if($.length<3)continue;const P=$[0],j=P[0].toUpperCase();let G=[];if(["R","C","L","V","I","D"].includes(j))G=$.slice(1,3),j==="V"&&c.add(P);else if(j==="Q"&&$.length>=4)G=$.slice(1,4);else if(j==="M"&&$.length>=5)G=$.slice(1,5);else if(j==="X")G=$.slice(1,-1);else continue;G.forEach(X=>s.add(X)),j==="C"&&G.forEach(X=>a.add(X))}s.delete("0"),a.delete("0");const l=Array.from(a).map(A=>`.ic V(${A})=0`),u=[],d=Array.from(s).map(A=>`V(${A})`);u.push(...d);const h=Array.from(c).map(A=>`I(${A})`);u.push(...h);const f=u.length>0?`.probe ${u.join(" ")}`:"",m=e?.startTime??0,y=e?.duration??20,g=m*.001,x=y*.001,v=g+x,w=x/50,E=`.tran ${i_e(w)} ${i_e(v)} ${i_e(g)} UIC`,k=".end",R=i.split(`
|
|
5482
5482
|
`);let N=-1;for(let A=R.length-1;A>=0;A--)if(R[A].trim().toLowerCase().startsWith(k)){N=A;break}const M=[...l,f,E].filter(Boolean);let I;if(N!==-1){const A=R.slice(0,N),$=R.slice(N);I=[...A,...M,...$]}else I=[...R,...M,k];return I.join(`
|
|
5483
5483
|
`)},x9n=(n,e)=>{if(typeof window>"u")return e;try{const t=localStorage.getItem(n);return t!==null?JSON.parse(t):e}catch{return e}},b9n=(n,e)=>{if(!(typeof window>"u"))try{localStorage.setItem(n,JSON.stringify(e))}catch{}},w9n=({circuitJson:n,containerStyle:e,editEvents:t=[],onEditEvent:i,defaultEditMode:r=!1,debugGrid:o=!1,editingEnabled:s=!1,debug:a=!1,clickToInteractEnabled:c=!1,colorOverrides:l,spiceSimulationEnabled:u=!1,disableGroups:d=!1})=>{a&&t9n();const[h,f]=Re.useState(!1),[m,y]=Re.useState({showVoltage:!0,showCurrent:!1,startTime:0,duration:20}),g=ze=>`${ze?.length||0}_${ze?.editCount||0}`,x=Re.useMemo(()=>g(n),[n]),v=Re.useMemo(()=>{if(!u)return null;try{return v9n(n,m)}catch(ze){return console.error("Failed to generate SPICE string",ze),null}},[x,u,m.startTime,m.duration]),{plotData:w,nodes:E,isLoading:k,error:R}=g9n(v),[N,M]=Re.useState(r),[I,A]=Re.useState(!0),[$,P]=Re.useState(!c),[j,G]=Re.useState(!1),[X,Z]=Re.useState(()=>d?!1:x9n("schematic_viewer_show_groups",!1)),J=Re.useRef(null),oe=Re.useRef(null),le=ze=>{const Ie=ze.touches[0];oe.current={x:Ie.clientX,y:Ie.clientY}},ge=ze=>{const Ie=ze.changedTouches[0],We=oe.current;if(!We)return;const Le=Math.abs(Ie.clientX-We.x),Ke=Math.abs(Ie.clientY-We.y);Le<10&&Ke<10&&(ze.preventDefault(),P(!0)),oe.current=null},[re,ue]=Re.useState([]),he=Re.useRef(n);Re.useEffect(()=>{const ze=g(n),Ie=g(he.current);ze!==Ie&&(ue([]),he.current=n)},[n]);const{ref:Ee,cancelDrag:Pe,transform:De}=MZe({onSetTransform(ze){J.current&&(J.current.style.transform=I3(ze))},enabled:$&&!h}),{containerWidth:Ge,containerHeight:Ne}=i9n(Ee),ce=Re.useMemo(()=>!Ge||!Ne?"":wme(n,{width:Ge,height:Ne||720,grid:o?{cellSize:1,labelCells:!0}:void 0,colorOverrides:l}),[x,Ge,Ne]),we=Re.useMemo(()=>ce.match(/<svg[^>]*style="[^"]*background-color:\s*([^;\"]+)/i)?.[1]??"transparent",[ce]),xe=Re.useMemo(()=>{if(!ce)return Ym();const ze=ce.match(/data-real-to-screen-transform="([^"]+)"/)?.[1];try{return LK(ze)}catch(Ie){return console.error(Ie),Ym()}},[ce]),Ye=ze=>{ue(Ie=>[...Ie,ze]),i&&i(ze)},Je=Re.useMemo(()=>[...t,...re],[t,re]),{handleMouseDown:ot,handleTouchStart:Se,isDragging:ut,activeEditEvent:Ze}=o9n({onEditEvent:Ye,cancelDrag:Pe,realToSvgProjection:xe,svgToScreenProjection:De,circuitJson:n,editEvents:Je,enabled:N&&$&&!h,snapToGrid:I});Zbn({svgDivRef:J,editEvents:Je,realToSvgProjection:xe,svgToScreenProjection:De,activeEditEvent:Ze}),Kbn({svgDivRef:J,circuitJson:n,activeEditEvent:Ze,editEvents:Je}),Qbn({svgDivRef:J,circuitJson:n,circuitJsonKey:x,showGroups:X&&!d});const qe=Re.useRef(Se);Re.useEffect(()=>{qe.current=Se},[Se]);const Qe=Re.useMemo(()=>ye.jsx("div",{ref:J,style:{pointerEvents:c?$?"auto":"none":"auto",transformOrigin:"0 0"},onTouchStart:ze=>{N&&$&&!h&&qe.current(ze)},dangerouslySetInnerHTML:{__html:ce}}),[ce,$,c,N,h]);return ye.jsxs("div",{ref:Ee,style:{position:"relative",backgroundColor:we,overflow:"hidden",cursor:h?"auto":ut?"grabbing":c&&!$?"pointer":"grab",minHeight:"300px",...e},onWheelCapture:ze=>{h&&ze.stopPropagation()},onMouseDown:ze=>{if(c&&!$){ze.preventDefault(),ze.stopPropagation();return}ot(ze)},onMouseDownCapture:ze=>{if(c&&!$){ze.preventDefault(),ze.stopPropagation();return}},onTouchStart:ze=>{h||le(ze)},onTouchEnd:ze=>{h||ge(ze)},children:[!$&&c&&ye.jsx("div",{onClick:ze=>{ze.preventDefault(),ze.stopPropagation(),P(!0)},style:{position:"absolute",inset:0,cursor:"pointer",zIndex:S8.clickToInteractOverlay,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"all",touchAction:"pan-x pan-y pinch-zoom"},children:ye.jsx("div",{style:{backgroundColor:"rgba(0, 0, 0, 0.8)",color:"white",padding:"12px 24px",borderRadius:"8px",fontSize:"16px",fontFamily:"sans-serif",pointerEvents:"none"},children:typeof window<"u"&&("ontouchstart"in window||navigator.maxTouchPoints>0)?"Touch to Interact":"Click to Interact"})}),ye.jsx(c9n,{active:j,onClick:()=>G(!j)}),s&&ye.jsx(s9n,{active:N,onClick:()=>M(!N)}),s&&N&&ye.jsx(a9n,{active:I,onClick:()=>A(!I)}),ye.jsx(u9n,{circuitJson:n,circuitJsonKey:x,isVisible:j,onClose:()=>G(!1),showGroups:X,onToggleGroups:ze=>{d||(Z(ze),b9n("schematic_viewer_show_groups",ze))}}),u&&ye.jsx(h9n,{onClick:()=>f(!0)}),h&&ye.jsx(f9n,{spiceString:v,onClose:()=>f(!1),plotData:w,nodes:E,isLoading:k,error:R,simOptions:m,onSimOptionsChange:y}),Qe]})},S9n=n=>{const[e,t]=Re.useState(0),[i,r]=Re.useState(0);return Re.useEffect(()=>{if(!n.current)return;const o=()=>{const a=n.current?.getBoundingClientRect();t(a?.width||0),r(a?.height||0)};o();const s=new ResizeObserver(o);return s.observe(n.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),{containerWidth:e,containerHeight:i}};C_("assembly-viewer");var E9n=()=>{C_.enable("assembly-viewer*")},T9n=({circuitJson:n,containerStyle:e,debugGrid:t=!1,debug:i=!1})=>{i&&E9n();const r=Re.useRef(null),{ref:o}=MZe({onSetTransform(u){r.current&&(r.current.style.transform=I3(u))}}),{containerWidth:s,containerHeight:a}=S9n(o),c=Re.useMemo(()=>!s||!a?"":mZe(n,{width:s,height:a||720}),[n,s,a]);Re.useMemo(()=>{if(!c)return Ym();const u=c.match(/data-real-to-screen-transform="([^"]+)"/)?.[1];try{return LK(u)}catch(d){return console.error(d),Ym()}},[c]);const l=Re.useMemo(()=>ye.jsx("div",{ref:r,style:{pointerEvents:"auto",transformOrigin:"0 0"},dangerouslySetInnerHTML:{__html:c}}),[c]);return ye.jsx("div",{ref:o,style:{position:"relative",backgroundColor:"#FFFFFF",overflow:"hidden",minHeight:"300px",...e},children:l})};const PQe=["Initialize a tscircuit project using [tsci init](https://github.com/tscircuit/cli) before adding components.","Define reusable modules with cached routes using [<subcircuit />](https://docs.tscircuit.com/elements/subcircuit)","Run `tsci dev` on the command line to preview your boards before export",'Use units like mm or mils consistently across your designs (e.g. pcbX="10mm")',"Quickly set footprints with the [footprint prop](https://docs.tscircuit.com/footprints/footprinter-strings)","Check out the guide on [ordering prototypes](https://docs.tscircuit.com/building-electronics/ordering-prototypes)","Use [net labels](https://docs.tscircuit.com/elements/net) and [group elements](https://docs.tscircuit.com/elements/group) to organize complex schematics.","You can manually drag components on the PCB and Schematic using [manual edits](https://docs.tscircuit.com/guides/manual-edits)","Every tscircuit module can export to [Circuit JSON](https://github.com/tscircuit/circuit-json), Gerbers, Pick'n'Place CSV files, Bill of Materials CSV and more","You can import components from [JLCPCB](https://docs.tscircuit.com/guides/importing-modules-and-chips/importing-from-jlcpcb) or [KiCad](https://docs.tscircuit.com/guides/importing-modules-and-chips/importing-from-kicad)","Any module you push to the [registry](https://tscircuit.com/trending) will have [simple image urls](https://docs.tscircuit.com/web-apis/image-generation-api) you can use display images on a website","The default [Parts Engine](https://docs.tscircuit.com/guides/platform-configuration) will automatically find parts from common vendors for your BOM",'[Pin selectors](https://docs.tscircuit.com/guides/using-sel-references) are similar to CSS selectors, ".R1 > .pin1" means "connect to the first pin of the component R1"',"You can use the [sel](https://docs.tscircuit.com/guides/using-sel-references) object to select pins in a type-safe way","Publish modules via the [registry](https://tscircuit.com/trending) for working with a team or sharing your work","[Explore tutorials](https://docs.tscircuit.com/category/tutorials) for real-world circuit design examples.","Upload your Circuit JSON to [circuitjson.com](https://circuitjson.com) for a quick preview.","You can display Circuit JSON in 3D, PCB or Schematic mode with the [<CircuitJsonPreview />](https://docs.tscircuit.com/elements/circuitjsonpreview) React component","Use a [<group />](https://docs.tscircuit.com/elements/group) element to move multiple components at once in a schematic or PCB layout.","Check out the [GitHub Discussions page](https://github.com/tscircuit/tscircuit/discussions) to upvote features","You can customize the autorouter using the [autorouter prop](https://docs.tscircuit.com/elements/board#setting-the-autorouter)","Use the [<constraint />](https://docs.tscircuit.com/footprints/constraint) element to enforce geometric relationships in PCB designs.","Join the [Discord server](https://tscircuit.com/join) to discuss issues and get help directly from the community."],M9n=(()=>{let n=PQe[Math.floor(Math.random()*PQe.length)];return n=n.replace(/</g,"<"),n=n.replace(/>/g,">"),n=n.replace(new RegExp('(?<!href=")(?<!\\()(?<!\\]\\()(https?:\\/\\/[^\\s\\)\\]]+)',"g"),(e,t)=>`<a class="rf-text-blue-500 rf-underline" href="${e}" target="_blank">${e}</a>`),n=n.replace(/\[([^\]]+)\]\((https?:\/\/[^\)]+)\)/g,'<a class="rf-text-blue-500 rf-underline" href="$2" target="_blank">$1</a>'),n})(),E8=({onRunClicked:n})=>ye.jsxs("div",{className:"rf-flex rf-flex-col rf-items-center rf-justify-center rf-h-full rf-bg-gray-50 rf-text-gray-500 rf-p-4",children:[ye.jsx(yfn,{className:"rf-size-14 rf-mb-4"}),ye.jsxs("p",{className:"rf-text-md rf-break-words rf-max-w-xl rf-text-center",children:["Tip: ",ye.jsx("span",{dangerouslySetInnerHTML:{__html:M9n}})]}),n&&ye.jsxs(P_,{className:"rf-mt-4 rf-bg-blue-600 rf-hover:bg-blue-500",onClick:n,children:["Run Code",ye.jsx(xfn,{className:"rf-w-3 rf-h-3 rf-ml-2"})]})]}),iH=({text:n,onClick:e})=>ye.jsx("span",{className:"rf-cursor-pointer rf-underline rf-text-blue-600 rf-mx-2",onClick:e,children:n}),rH=n=>ye.jsxs("div",{className:"rf-leading-5",children:[ye.jsx("div",{className:"rf-py-2 rf-font-bold",children:n.column.name}),ye.jsx("div",{children:n.field?.()??ye.jsx("input",{type:"text",className:"rf-border rf-rounded rf-p-1 rf-w-full",onChange:e=>{n.onTextChange?.(e.target.value)}})})]}),A9n=({open:n,children:e,title:t,onClose:i})=>n?ye.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-justify-center rf-items-center rf-z-50",onClick:i,children:ye.jsxs("div",{className:"rf-bg-white rf-p-5 rf-rounded-lg rf-relative rf-w-11/12 rf-max-w-2xl",onClick:r=>{r.preventDefault(),r.stopPropagation()},children:[ye.jsx("h2",{className:"rf-mt-0 rf-text-md rf-pb-4",children:t}),ye.jsx("button",{type:"button",className:"rf-absolute rf-top-2 rf-right-4 rf-text-2xl rf-font-bold",onClick:i,children:"×"}),e]})}):null,C9n=({elements:n})=>{const[e,t]=Re.useState({open:!1}),[i,r]=Re.useReducer((u,d)=>({...u,...d}),{}),o=[...new Set(n.map(u=>u.type))],s=n.map(u=>{const d=u[`${u.type}_id`],h=Object.fromEntries(Object.entries(u).filter(([m])=>!(m===`${u.type}_id`||!m.endsWith("_id")))),f=Object.fromEntries(Object.entries(u).filter(([m])=>!m.endsWith("_id")));return{primary_id:d,other_ids:h,...f,_og_elm:u}}),a=s.map(u=>{let d="";const h=f=>{const m=Object.keys(f.other_ids).find(x=>x.startsWith("source_"));if(!m)return`.${f.name}`;const y=m.slice(0,-3),g=s.find(x=>x.type===y&&x.primary_id===f.other_ids[m]);return g?"name"in g?`${h(g)} > .${f.name}`:`#${g.primary_id} > .${f.name}`:`??? > .${f.name}`};return"name"in u&&(d=h(u)),{...u,selector_path:d}}),c=[{key:"primary_id",name:"primary_id",renderCell:u=>ye.jsxs("div",{className:"rf-flex rf-items-center",children:[ye.jsx(iH,{text:u.primary_id,onClick:()=>r({focused_id:u.primary_id,id_search:void 0,selector_search:void 0})}),ye.jsx("span",{className:"rf-flex-grow"}),ye.jsx(iH,{text:"(JSON)",onClick:()=>t({open:!0,element:u._og_elm,title:u.primary_id})})]}),renderHeaderCell:u=>ye.jsx(rH,{column:u,onTextChange:d=>r({id_search:d}),field:i.focused_id?()=>ye.jsxs("div",{children:["Focus:"," ",ye.jsx("span",{className:"rf-underline",children:i.focused_id}),ye.jsx(iH,{text:"(unfocus)",onClick:()=>r({focused_id:void 0})})]}):void 0})},{key:"type",name:"type",renderHeaderCell:u=>ye.jsx(rH,{column:u,field:()=>ye.jsxs("select",{onChange:d=>r({component_type_filter:d.target.value}),className:"rf-border rf-rounded rf-p-1 rf-w-full",children:[ye.jsx("option",{value:"any",children:"any"},"any"),ye.jsx("option",{value:"source",children:"source"},"source"),ye.jsx("option",{value:"source/pcb",children:"source/pcb"},"source/pcb"),ye.jsx("option",{value:"source/schematic",children:"source/schematic"},"source/schematic"),o.map(d=>ye.jsx("option",{value:d,children:d},d))]})})},{key:"name",name:"name",renderHeaderCell:u=>ye.jsx(rH,{column:u,onTextChange:d=>r({name_search:d})})},{key:"selector_path",name:"selector_path",renderHeaderCell:u=>ye.jsx(rH,{column:u,onTextChange:d=>r({selector_search:d})})},{key:"other_ids",name:"other_ids",renderCell:u=>ye.jsx("div",{className:"rf-space-x-2",children:Object.entries(u.other_ids).map(([d,h])=>ye.jsx(iH,{text:h,onClick:()=>r({focused_id:h})},h))})}],l=a.filter(u=>i.name_search?u.name?.toLowerCase()?.includes(i.name_search.toLowerCase()):!0).filter(u=>!i.component_type_filter||i.component_type_filter==="any"?!0:i.component_type_filter==="source"?u.type.startsWith("source_"):i.component_type_filter==="source/pcb"?u.type.startsWith("source_")||u.type.startsWith("pcb_"):i.component_type_filter==="source/schematic"?u.type.startsWith("source_")||u.type.startsWith("schematic_"):u.type?.includes(i.component_type_filter)).filter(u=>i.selector_search?i.selector_search.split(" ").filter(h=>h.length>0).every(h=>u.selector_path?.includes(h)):!0).filter(u=>i.id_search?u.primary_id?.includes(i.id_search):!0).filter(u=>!!(!i.focused_id||u.primary_id===i.focused_id||Object.values(u.other_ids).includes(i.focused_id)));return ye.jsxs("div",{className:"rf-font-mono rf-text-xs rf-bg-white",children:[ye.jsx("div",{className:"rf-overflow-x-auto",children:ye.jsxs("table",{className:"rf-table-auto rf-w-full rf-text-left",children:[ye.jsx("thead",{children:ye.jsx("tr",{children:c.map(u=>ye.jsx("th",{className:"rf-px-4 rf-py-2 rf-border-b",children:u.renderHeaderCell?u.renderHeaderCell(u):u.name},u.key))})}),ye.jsx("tbody",{children:l.map((u,d)=>ye.jsx("tr",{className:"rf-hover:bg-gray-100",children:c.map(h=>ye.jsx("td",{className:"rf-px-4 rf-py-2 rf-border-b",children:h.renderCell?h.renderCell(u):u[h.key]},h.key))},d))})]})}),ye.jsx(A9n,{open:e.open,onClose:()=>t({open:!1}),title:e.open?e.title:"",children:ye.jsx("div",{className:"rf-bg-gray-800 rf-p-3 rf-text-white rf-rounded",children:ye.jsx("pre",{className:"rf-whitespace-pre-wrap",children:e.open?JSON.stringify(e.element,null,2):""})})})]})},R9n=(n,e)=>n==="jlcpcb"?ye.jsx("a",{className:"rf-underline rf-text-blue-500",target:"_blank",rel:"noreferrer",href:`https://jlcpcb.com/partdetail/${e}`,children:e}):e,P9n=({circuitJson:n})=>{const e=n.filter(i=>i.type==="source_component"),t=new Set;for(const i of e)if(i.supplier_part_numbers)for(const r of Object.keys(i.supplier_part_numbers))t.add(r);return ye.jsx("div",{className:"rf-overflow-x-auto",children:ye.jsxs("table",{className:"rf-w-full rf-text-left rf-text-sm",children:[ye.jsx("thead",{children:ye.jsxs("tr",{className:"rf-border-b",children:[ye.jsx("th",{className:"rf-p-2",children:"Name"}),Array.from(t).map(i=>ye.jsx("th",{className:"rf-p-2 rf-capitalize",children:i},i))]})}),ye.jsx("tbody",{children:e.map(i=>ye.jsxs("tr",{className:"rf-border-b",children:[ye.jsx("td",{className:"rf-p-2",children:i.name}),Array.from(t).map(r=>ye.jsx("td",{className:"rf-p-2",children:R9n(r,i.supplier_part_numbers?.[r]?.[0]||"")},r))]},i.source_component_id))})]})})},r_e=Re.forwardRef(({className:n,type:e,...t},i)=>ye.jsx("input",{type:e,className:Ya("rf-flex rf-h-9 rf-w-full rf-rounded-md rf-border rf-border-zinc-200 rf-bg-white rf-px-3 rf-py-1 rf-text-sm rf-shadow-sm rf-transition-colors file:rf-border-0 file:rf-bg-transparent file:rf-text-sm file:rf-font-medium placeholder:rf-text-zinc-500 focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 dark:rf-border-zinc-800 dark:rf-bg-zinc-950 dark:rf-placeholder-zinc-400 dark:focus-visible:rf-ring-zinc-300",n),ref:i,...t}));r_e.displayName="Input";const I9n={},IQe=n=>{let e;const t=new Set,i=(u,d)=>{const h=typeof u=="function"?u(e):u;if(!Object.is(h,e)){const f=e;e=d??(typeof h!="object"||h===null)?h:Object.assign({},e,h),t.forEach(m=>m(e,f))}},r=()=>e,c={setState:i,getState:r,getInitialState:()=>l,subscribe:u=>(t.add(u),()=>t.delete(u)),destroy:()=>{(I9n?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),t.clear()}},l=e=n(i,r,c);return c},NQe=n=>n?IQe(n):IQe;var oH={exports:{}},o_e={},sH={exports:{}},s_e={};/**
|
|
@@ -5669,7 +5669,7 @@ $1`).replace(/>(\s*)(?=<!--\s*\/)/g,"> ")}}}),OJe={};n5n(OJe,{all_layers:()=>uye
|
|
|
5669
5669
|
* Copyright (c) 2013-2015, 2017, Jon Schlinkert.
|
|
5670
5670
|
* Released under the MIT License.
|
|
5671
5671
|
*)
|
|
5672
|
-
*/const MSn=({containerClassName:n,...e})=>{const t=Re.useRef(null),[i,r]=Re.useState(620);return Re.useLayoutEffect(()=>{const o=()=>{if(t.current){const a=t.current.clientHeight,c=window.innerHeight;r(Math.min(Math.max(a,620),c))}};o();const s=new ResizeObserver(o);return t.current&&s.observe(t.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),ye.jsx("div",{ref:t,className:n||"rf-w-full rf-h-full",children:ye.jsx(TSn,{...e,height:i})})},ASn='*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius:0.5rem}.rf-pointer-events-none{pointer-events:none}.rf-invisible{visibility:hidden}.rf-fixed{position:fixed}.rf-absolute{position:absolute}.rf-relative{position:relative}.rf-inset-0{inset:0}.-rf-left-2{left:-.5rem}.-rf-right-10{right:-2.5rem}.-rf-right-2{right:-.5rem}.-rf-right-4{right:-1rem}.-rf-right-6{right:-1.5rem}.-rf-right-7{right:-1.75rem}.-rf-right-8{right:-2rem}.-rf-right-9{right:-2.25rem}.rf-bottom-full{bottom:100%}.rf-left-0{left:0}.rf-left-1{left:.25rem}.rf-left-1\\/2{left:50%}.rf-left-2{left:.5rem}.rf-left-\\[50\\%\\]{left:50%}.rf-right-0{right:0}.rf-right-1{right:.25rem}.rf-right-4{right:1rem}.rf-right-\\[4px\\]{right:4px}.rf-top-0{top:0}.rf-top-1{top:.25rem}.rf-top-2{top:.5rem}.rf-top-2\\.5{top:.625rem}.rf-top-\\[50\\%\\]{top:50%}.rf-top-\\[6px\\]{top:6px}.\\!rf-z-\\[101\\]{z-index:101!important}.rf-z-10{z-index:10}.rf-z-50{z-index:50}.rf-z-\\[100\\]{z-index:100}.rf-z-\\[101\\]{z-index:101}.rf-order-1{order:1}.rf-order-2{order:2}.rf-order-3{order:3}.rf-m-1{margin:.25rem}.rf-m-6{margin:1.5rem}.-rf-mx-1,.rf--mx-1{margin-left:-.25rem;margin-right:-.25rem}.rf-mx-1{margin-left:.25rem;margin-right:.25rem}.rf-mx-2{margin-left:.5rem;margin-right:.5rem}.rf-mx-4{margin-left:1rem;margin-right:1rem}.rf-mx-auto{margin-left:auto;margin-right:auto}.rf-my-1{margin-bottom:.25rem;margin-top:.25rem}.rf-my-12{margin-bottom:3rem;margin-top:3rem}.rf-my-4{margin-bottom:1rem;margin-top:1rem}.rf-my-auto{margin-bottom:auto;margin-top:auto}.rf-mb-1{margin-bottom:.25rem}.rf-mb-12{margin-bottom:3rem}.rf-mb-2{margin-bottom:.5rem}.rf-mb-3{margin-bottom:.75rem}.rf-mb-4{margin-bottom:1rem}.rf-mb-6{margin-bottom:1.5rem}.rf-mb-8{margin-bottom:2rem}.rf-ml-1{margin-left:.25rem}.rf-ml-2{margin-left:.5rem}.rf-ml-auto{margin-left:auto}.rf-mr-1{margin-right:.25rem}.rf-mr-2{margin-right:.5rem}.rf-mt-0{margin-top:0}.rf-mt-0\\.5{margin-top:.125rem}.rf-mt-1{margin-top:.25rem}.rf-mt-2{margin-top:.5rem}.rf-mt-3{margin-top:.75rem}.rf-mt-4{margin-top:1rem}.rf-mt-5{margin-top:1.25rem}.rf-mt-auto{margin-top:auto}.rf-block{display:block}.rf-inline-block{display:inline-block}.rf-inline{display:inline}.rf-flex{display:flex}.rf-inline-flex{display:inline-flex}.rf-grid{display:grid}.rf-hidden{display:none}.rf-aspect-square{aspect-ratio:1/1}.rf-aspect-video{aspect-ratio:16/9}.rf-size-14{height:3.5rem;width:3.5rem}.rf-size-4{height:1rem;width:1rem}.\\!rf-h-2{height:.5rem!important}.\\!rf-h-2\\.5{height:.625rem!important}.\\!rf-h-3{height:.75rem!important}.\\!rf-h-full{height:100%!important}.rf-h-1{height:.25rem}.rf-h-10{height:2.5rem}.rf-h-12{height:3rem}.rf-h-2{height:.5rem}.rf-h-2\\.5{height:.625rem}.rf-h-20{height:5rem}.rf-h-24{height:6rem}.rf-h-3{height:.75rem}.rf-h-3\\.5{height:.875rem}.rf-h-4{height:1rem}.rf-h-5{height:1.25rem}.rf-h-6{height:1.5rem}.rf-h-60{height:15rem}.rf-h-64{height:16rem}.rf-h-7{height:1.75rem}.rf-h-8{height:2rem}.rf-h-9{height:2.25rem}.rf-h-\\[400px\\]{height:400px}.rf-h-\\[calc\\(100vh-52px\\)\\]{height:calc(100vh - 52px)}.rf-h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.rf-h-auto{height:auto}.rf-h-fit{height:-moz-fit-content;height:fit-content}.rf-h-full{height:100%}.rf-h-px{height:1px}.rf-h-screen{height:100vh}.\\!rf-max-h-\\[40vh\\]{max-height:40vh!important}.rf-max-h-32{max-height:8rem}.rf-max-h-96{max-height:24rem}.rf-max-h-\\[200px\\]{max-height:200px}.rf-max-h-\\[300px\\]{max-height:300px}.rf-max-h-\\[500px\\]{max-height:500px}.rf-max-h-\\[90vh\\]{max-height:90vh}.rf-max-h-full{max-height:100%}.rf-min-h-0{min-height:0}.rf-min-h-\\[200px\\]{min-height:200px}.rf-min-h-\\[300px\\]{min-height:300px}.rf-min-h-\\[620px\\]{min-height:620px}.rf-min-h-\\[calc\\(100vh-240px\\)\\]{min-height:calc(100vh - 240px)}.\\!rf-w-2{width:.5rem!important}.\\!rf-w-2\\.5{width:.625rem!important}.rf-w-1{width:.25rem}.rf-w-1\\/2{width:50%}.rf-w-11{width:2.75rem}.rf-w-11\\/12{width:91.666667%}.rf-w-12{width:3rem}.rf-w-16{width:4rem}.rf-w-2{width:.5rem}.rf-w-2\\.5{width:.625rem}.rf-w-20{width:5rem}.rf-w-24{width:6rem}.rf-w-28{width:7rem}.rf-w-3{width:.75rem}.rf-w-3\\.5{width:.875rem}.rf-w-32{width:8rem}.rf-w-4{width:1rem}.rf-w-40{width:10rem}.rf-w-48{width:12rem}.rf-w-5{width:1.25rem}.rf-w-6{width:1.5rem}.rf-w-64{width:16rem}.rf-w-72{width:18rem}.rf-w-8{width:2rem}.rf-w-9{width:2.25rem}.rf-w-96{width:24rem}.rf-w-\\[95\\%\\]{width:95%}.rf-w-fit{width:-moz-fit-content;width:fit-content}.rf-w-full{width:100%}.rf-w-screen{width:100vw}.rf-min-w-0{min-width:0}.rf-min-w-10{min-width:2.5rem}.rf-min-w-16{min-width:4rem}.rf-min-w-\\[148px\\]{min-width:148px}.rf-min-w-\\[8rem\\]{min-width:8rem}.rf-min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.\\!rf-max-w-\\[660px\\]{max-width:660px!important}.rf-max-w-2xl{max-width:42rem}.rf-max-w-3xl{max-width:48rem}.rf-max-w-4xl{max-width:56rem}.rf-max-w-5xl{max-width:64rem}.rf-max-w-full{max-width:100%}.rf-max-w-lg{max-width:32rem}.rf-max-w-md{max-width:28rem}.rf-max-w-none{max-width:none}.rf-max-w-xl{max-width:36rem}.rf-max-w-xs{max-width:20rem}.rf-flex-1{flex:1 1 0%}.rf-flex-shrink-0,.rf-shrink-0{flex-shrink:0}.rf-flex-grow{flex-grow:1}.rf-table-auto{table-layout:auto}.rf-origin-\\[--radix-popover-content-transform-origin\\]{transform-origin:var(--radix-popover-content-transform-origin)}.-rf-translate-x-1{--tw-translate-x:-0.25rem}.-rf-translate-x-1,.-rf-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rf-translate-x-1\\/2{--tw-translate-x:-50%}.-rf-translate-y-1{--tw-translate-y:-0.25rem}.-rf-translate-y-1,.rf--translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-x-1{--tw-translate-x:-0.25rem}.rf--translate-x-1\\/2{--tw-translate-x:-50%}.rf--translate-x-1\\/2,.rf--translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-y-1{--tw-translate-y:-0.25rem}.rf-translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.rf-translate-x-\\[-50\\%\\],.rf-translate-y-\\[-50\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf-translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.rf-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes rf-pulse{50%{opacity:.5}}.rf-animate-pulse{animation:rf-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes rf-spin{to{transform:rotate(1turn)}}.rf-animate-spin{animation:rf-spin 1s linear infinite}.rf-cursor-default{cursor:default}.rf-cursor-not-allowed{cursor:not-allowed}.rf-cursor-pointer{cursor:pointer}.rf-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.rf-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.rf-flex-row{flex-direction:row}.rf-flex-col{flex-direction:column}.rf-flex-col-reverse{flex-direction:column-reverse}.rf-flex-wrap{flex-wrap:wrap}.rf-place-items-center{place-items:center}.rf-items-start{align-items:flex-start}.rf-items-end{align-items:flex-end}.rf-items-center{align-items:center}.rf-items-stretch{align-items:stretch}.rf-justify-end{justify-content:flex-end}.rf-justify-center{justify-content:center}.rf-justify-between{justify-content:space-between}.rf-gap-0{gap:0}.rf-gap-1{gap:.25rem}.rf-gap-2{gap:.5rem}.rf-gap-3{gap:.75rem}.rf-gap-4{gap:1rem}.rf-gap-5{gap:1.25rem}.rf-gap-6{gap:1.5rem}.rf-gap-8{gap:2rem}.rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.rf-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.rf-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.rf-overflow-auto{overflow:auto}.rf-overflow-hidden{overflow:hidden}.rf-overflow-visible{overflow:visible}.rf-overflow-x-auto{overflow-x:auto}.\\!rf-overflow-y-auto{overflow-y:auto!important}.rf-overflow-y-auto{overflow-y:auto}.rf-overflow-x-hidden{overflow-x:hidden}.rf-overflow-x-clip{overflow-x:clip}.rf-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rf-whitespace-normal{white-space:normal}.rf-whitespace-nowrap{white-space:nowrap}.rf-whitespace-pre-wrap{white-space:pre-wrap}.rf-break-words{overflow-wrap:break-word}.rf-break-all{word-break:break-all}.rf-rounded{border-radius:.25rem}.rf-rounded-2xl{border-radius:1rem}.rf-rounded-full{border-radius:9999px}.rf-rounded-lg{border-radius:var(--radius)}.rf-rounded-md{border-radius:calc(var(--radius) - 2px)}.rf-rounded-sm{border-radius:calc(var(--radius) - 4px)}.rf-rounded-xl{border-radius:.75rem}.rf-border{border-width:1px}.rf-border-2{border-width:2px}.rf-border-b{border-bottom-width:1px}.rf-border-t{border-top-width:1px}.rf-border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.rf-border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.rf-border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.rf-border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.rf-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.rf-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.rf-border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.rf-border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.rf-border-input{border-color:hsl(var(--input))}.rf-border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.rf-border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.rf-border-primary{border-color:hsl(var(--primary))}.rf-border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.rf-border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.rf-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.rf-border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.rf-border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.rf-bg-background{background-color:hsl(var(--background))}.rf-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.rf-bg-black\\/80{background-color:rgba(0,0,0,.8)}.rf-bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.rf-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.rf-bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.rf-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.rf-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.rf-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.rf-bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.rf-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.rf-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.rf-bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.rf-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.rf-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.rf-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.rf-bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.rf-bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.rf-bg-muted{background-color:hsl(var(--muted))}.rf-bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.rf-bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.rf-bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.rf-bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.rf-bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.rf-bg-popover{background-color:hsl(var(--popover))}.rf-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.rf-bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.rf-bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.rf-bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.rf-bg-transparent{background-color:transparent}.rf-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.rf-bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.rf-bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.rf-bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.rf-bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.rf-bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.rf-bg-opacity-50{--tw-bg-opacity:0.5}.rf-fill-current{fill:currentColor}.rf-object-contain{-o-object-fit:contain;object-fit:contain}.rf-object-cover{-o-object-fit:cover;object-fit:cover}.\\!rf-p-0{padding:0!important}.rf-p-0{padding:0}.rf-p-1{padding:.25rem}.rf-p-2{padding:.5rem}.rf-p-3{padding:.75rem}.rf-p-4{padding:1rem}.rf-p-5{padding:1.25rem}.rf-p-6{padding:1.5rem}.rf-p-8{padding:2rem}.rf-px-1{padding-left:.25rem;padding-right:.25rem}.rf-px-2{padding-left:.5rem;padding-right:.5rem}.rf-px-3{padding-left:.75rem;padding-right:.75rem}.rf-px-4{padding-left:1rem;padding-right:1rem}.rf-px-6{padding-left:1.5rem;padding-right:1.5rem}.rf-px-8{padding-left:2rem;padding-right:2rem}.rf-py-0{padding-bottom:0;padding-top:0}.rf-py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.rf-py-1{padding-bottom:.25rem;padding-top:.25rem}.rf-py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.rf-py-10{padding-bottom:2.5rem;padding-top:2.5rem}.rf-py-12{padding-bottom:3rem;padding-top:3rem}.rf-py-2{padding-bottom:.5rem;padding-top:.5rem}.rf-py-3{padding-bottom:.75rem;padding-top:.75rem}.rf-py-4{padding-bottom:1rem;padding-top:1rem}.rf-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.rf-py-8{padding-bottom:2rem;padding-top:2rem}.rf-pb-0{padding-bottom:0}.rf-pb-2{padding-bottom:.5rem}.rf-pb-3{padding-bottom:.75rem}.rf-pb-4{padding-bottom:1rem}.rf-pl-2{padding-left:.5rem}.rf-pl-4{padding-left:1rem}.rf-pl-8{padding-left:2rem}.rf-pr-2{padding-right:.5rem}.rf-pt-0{padding-top:0}.rf-pt-2{padding-top:.5rem}.rf-pt-4{padding-top:1rem}.rf-text-left{text-align:left}.rf-text-center{text-align:center}.rf-text-right{text-align:right}.rf-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rf-text-2xl{font-size:1.5rem;line-height:2rem}.rf-text-3xl{font-size:1.875rem;line-height:2.25rem}.rf-text-\\[8px\\]{font-size:8px}.rf-text-base{font-size:1rem;line-height:1.5rem}.rf-text-lg{font-size:1.125rem;line-height:1.75rem}.rf-text-sm{font-size:.875rem;line-height:1.25rem}.rf-text-xl{font-size:1.25rem;line-height:1.75rem}.rf-text-xs{font-size:.75rem;line-height:1rem}.\\!rf-font-normal{font-weight:400!important}.rf-font-bold{font-weight:700}.rf-font-medium{font-weight:500}.rf-font-semibold{font-weight:600}.rf-uppercase{text-transform:uppercase}.rf-capitalize{text-transform:capitalize}.rf-tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.rf-leading-5{line-height:1.25rem}.rf-leading-none{line-height:1}.rf-leading-relaxed{line-height:1.625}.rf-leading-tight{line-height:1.25}.rf-tracking-wide{letter-spacing:.025em}.rf-tracking-widest{letter-spacing:.1em}.rf-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.rf-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.rf-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.rf-text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.rf-text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.rf-text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.rf-text-current{color:currentColor}.rf-text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.rf-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.rf-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rf-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.rf-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.rf-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.rf-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.rf-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.rf-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.rf-text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.rf-text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.rf-text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.rf-text-muted-foreground{color:hsl(var(--muted-foreground))}.rf-text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.rf-text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.rf-text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.rf-text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.rf-text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.rf-text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.rf-text-popover-foreground{color:hsl(var(--popover-foreground))}.rf-text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.rf-text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.rf-text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.rf-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.rf-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.rf-text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.rf-text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.rf-text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.rf-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rf-text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.rf-text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.rf-text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.rf-text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.rf-text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.rf-text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.rf-text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.rf-text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.rf-text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.rf-underline{text-decoration-line:underline}.rf-line-through{text-decoration-line:line-through}.rf-underline-offset-4{text-underline-offset:4px}.rf-opacity-0{opacity:0}.rf-opacity-100{opacity:1}.rf-opacity-25{opacity:.25}.rf-opacity-30{opacity:.3}.rf-opacity-50{opacity:.5}.rf-opacity-60{opacity:.6}.rf-opacity-75{opacity:.75}.rf-shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.rf-shadow,.rf-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.rf-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.rf-shadow-md,.rf-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.rf-outline-none{outline:2px solid transparent;outline-offset:2px}.rf-ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.rf-ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.rf-ring-primary{--tw-ring-color:hsl(var(--primary))}.rf-ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.rf-ring-offset-white{--tw-ring-offset-color:#fff}.rf-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-duration-200{transition-duration:.2s}.rf-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.rf-slide-in-from-left-1{--tw-enter-translate-x:-0.25rem}.rf-slide-out-to-left-1{--tw-exit-translate-x:-0.25rem}.rf-duration-200{animation-duration:.2s}.rf-ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.file\\:rf-border-0::file-selector-button{border-width:0}.file\\:rf-bg-transparent::file-selector-button{background-color:transparent}.file\\:rf-text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:rf-font-medium::file-selector-button{font-weight:500}.placeholder\\:rf-text-zinc-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.placeholder\\:rf-text-zinc-500::placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.hover\\:rf-border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\\:\\!rf-bg-transparent:hover{background-color:transparent!important}.hover\\:rf-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\\:rf-bg-red-500\\/90:hover{background-color:rgba(239,68,68,.9)}.hover\\:rf-bg-zinc-100:hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.hover\\:rf-bg-zinc-100\\/80:hover{background-color:hsla(240,5%,96%,.8)}.hover\\:rf-bg-zinc-900\\/90:hover{background-color:rgba(24,24,27,.9)}.hover\\:rf-text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\\:rf-text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.hover\\:rf-underline:hover{text-decoration-line:underline}.focus\\:rf-bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.focus\\:rf-bg-zinc-100:focus{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.focus\\:rf-text-gray-900:focus{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.focus\\:rf-text-zinc-900:focus{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.focus\\:rf-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:rf-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:rf-ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\\:rf-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:rf-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:rf-ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-zinc-950:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(9 9 11/var(--tw-ring-opacity,1))}.focus-visible\\:rf-ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:rf-pointer-events-none:disabled{pointer-events:none}.disabled\\:rf-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:rf-opacity-50:disabled{opacity:.5}.rf-group\\/bar:hover .group-hover\\/bar\\:rf-opacity-100{opacity:1}.data-\\[disabled\\=true\\]\\:rf-pointer-events-none[data-disabled=true],.data-\\[disabled\\]\\:rf-pointer-events-none[data-disabled]{pointer-events:none}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom],.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right],.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\\[selected\\=true\\]\\:rf-bg-zinc-100[data-selected=true]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[state\\=active\\]\\:rf-bg-white[data-state=active]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.data-\\[state\\=checked\\]\\:rf-bg-zinc-900[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.data-\\[state\\=open\\]\\:rf-bg-zinc-100[data-state=open]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[selected\\=true\\]\\:rf-text-zinc-900[data-selected=true]{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.data-\\[state\\=active\\]\\:rf-text-zinc-950[data-state=active]{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.data-\\[state\\=checked\\]\\:rf-text-zinc-50[data-state=checked]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.data-\\[disabled\\=true\\]\\:rf-opacity-50[data-disabled=true],.data-\\[disabled\\]\\:rf-opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=active\\]\\:rf-shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\\[state\\=open\\]\\:rf-animate-in[data-state=open]{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=open\\]\\:rf-fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=closed\\]\\:rf-zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=open\\]\\:rf-zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\\[side\\=bottom\\]\\:rf-slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\\[side\\=left\\]\\:rf-slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\[side\\=right\\]\\:rf-slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\[side\\=top\\]\\:rf-slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\\[state\\=closed\\]\\:rf-slide-out-to-left-1\\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\\[state\\=closed\\]\\:rf-slide-out-to-top-\\[48\\%\\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\\[state\\=open\\]\\:rf-slide-in-from-left-1\\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\\[state\\=open\\]\\:rf-slide-in-from-top-\\[48\\%\\][data-state=open]{--tw-enter-translate-y:-48%}.dark\\:rf-border-zinc-50:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.dark\\:rf-border-zinc-800:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.dark\\:rf-bg-gray-700:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\\:rf-bg-gray-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\\:rf-bg-red-900:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-50:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-950:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:rf-text-gray-500:is(.rf-dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-400:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-50:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-900:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-ring-offset-zinc-950:is(.rf-dark *){--tw-ring-offset-color:#09090b}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:hover\\:rf-bg-red-900\\/90:hover:is(.rf-dark *){background-color:rgba(127,29,29,.9)}.dark\\:hover\\:rf-bg-zinc-50\\/90:hover:is(.rf-dark *){background-color:hsla(0,0%,98%,.9)}.dark\\:hover\\:rf-bg-zinc-800:hover:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:hover\\:rf-bg-zinc-800\\/80:hover:is(.rf-dark *){background-color:rgba(39,39,42,.8)}.dark\\:hover\\:rf-text-zinc-50:hover:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus\\:rf-bg-zinc-800:focus:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:focus\\:rf-text-zinc-50:focus:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus-visible\\:rf-ring-zinc-300:focus-visible:is(.rf-dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-bg-zinc-800[data-selected=true]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-bg-zinc-950[data-state=active]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-bg-zinc-50[data-state=checked]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=open\\]\\:rf-bg-zinc-800[data-state=open]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-text-zinc-50[data-selected=true]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-text-zinc-50[data-state=active]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-text-zinc-900[data-state=checked]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\\:rf-order-1{order:1}.sm\\:rf-order-2{order:2}.sm\\:rf-mt-0{margin-top:0}.sm\\:rf-inline{display:inline}.sm\\:rf-grid{display:grid}.sm\\:rf-hidden{display:none}.sm\\:rf-w-auto{width:auto}.sm\\:rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:rf-grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.sm\\:rf-flex-row{flex-direction:row}.sm\\:rf-items-center{align-items:center}.sm\\:rf-justify-end{justify-content:flex-end}.sm\\:rf-gap-3{gap:.75rem}.sm\\:rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\\:rf-rounded-lg{border-radius:var(--radius)}.sm\\:rf-px-4{padding-left:1rem;padding-right:1rem}.sm\\:rf-text-left{text-align:left}.sm\\:rf-text-sm{font-size:.875rem;line-height:1.25rem}.sm\\:rf-text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\\:rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\\[\\&\\>span\\]\\:rf-line-clamp-1>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\\[\\&\\>svg\\]\\:rf-size-4>svg{height:1rem;width:1rem}.\\[\\&\\>svg\\]\\:rf-shrink-0>svg{flex-shrink:0}.\\[\\&\\>svg\\]\\:rf-text-red-300>svg{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.\\[\\&\\>svg\\]\\:hover\\:rf-text-red-400:hover>svg{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-py-1\\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-font-medium [cmdk-group-heading]{font-weight:500}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-500 [cmdk-group-heading]{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.dark\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-400 [cmdk-group-heading]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:rf-pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\\[\\&_\\[cmdk-group\\]\\]\\:rf-px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\\[\\&_\\[cmdk-input\\]\\]\\:rf-h-12 [cmdk-input]{height:3rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-h-5 [cmdk-item] svg{height:1.25rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-w-5 [cmdk-item] svg{width:1.25rem}.\\[\\&_svg\\]\\:rf-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:rf-size-4 svg{height:1rem;width:1rem}.\\[\\&_svg\\]\\:rf-shrink-0 svg{flex-shrink:0}',CSn=()=>{Re.useEffect(()=>{if(document.querySelector('style[data-styles="tscircuit-runframe"]'))return;const e=document.createElement("style");e.setAttribute("data-styles","tscircuit-runframe"),e.textContent=ASn,document.head.appendChild(e)},[])},RSn=n=>{Re.useEffect(()=>(n?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[n])},snt=n=>`hsl(${M2.indexOf(n)*137.5%360}, 70%, 50%)`,PSn=({phaseTimings:n})=>{if(!n)return null;const e=Object.values(n).reduce((t,i)=>t+i,0);return ye.jsxs("div",{className:"rf-space-y-2 rf-w-full rf-px-4",children:[ye.jsx("div",{className:"rf-relative rf-h-8 rf-flex rf-rounded-sm",children:M2.map(t=>{const i=n[t]||0,r=i/e*100;return ye.jsx("div",{className:"rf-group/bar rf-relative rf-overflow-visible",style:{width:`${r}%`,backgroundColor:snt(t)},children:ye.jsxs("div",{className:"rf-opacity-0 group-hover/bar:rf-opacity-100 rf-transition-opacity rf-absolute rf-bottom-full rf-left-1/2 rf-transform -rf-translate-x-1/2 rf-mb-2 rf-px-2 rf-py-1 rf-text-xs rf-whitespace-nowrap rf-rounded rf-bg-gray-900 rf-text-white rf-pointer-events-none",children:[t,": ",i.toFixed(1),"ms"]})},t)})}),ye.jsxs("div",{className:"rf-text-xs rf-text-gray-500",children:["Total: ",e.toFixed(2),"ms"]})]})},ISn=({renderLog:n,onRerunWithDebug:e})=>{const[t,i]=Re.useState("chronological"),[r,o]=Re.useState(""),s=[{value:"",label:"None"},{value:"DEBUG=Group_doInitialSchematicTraceRender",label:"DEBUG=Group_doInitialSchematicTraceRender"},{value:"DEBUG=Group_doInitialSchematicLayoutMatchpack",label:"DEBUG=Group_doInitialSchematicLayoutMatchpack"},{value:"DEBUG=Group_doInitialPcbLayoutPack",label:"DEBUG=Group_doInitialPcbLayoutPack"}];if(!n)return ye.jsxs("div",{className:"rf-p-4 rf-bg-gray-100 rf-rounded-md",children:[ye.jsx("div",{className:"rf-mb-4",children:"No render log, make sure this tab is open when you render"}),e&&ye.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[ye.jsx("select",{value:r,onChange:l=>o(l.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(l=>ye.jsx("option",{value:l.value,children:l.label},l.value))}),ye.jsx(P_,{onClick:()=>e(r),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]})]});const a=Object.entries(n?.phaseTimings??{});t==="chronological"?a.sort((l,u)=>M2.indexOf(l[0])-M2.indexOf(u[0])):a.sort((l,u)=>u[1]-l[1]);const c=a.reduce((l,[u,d])=>l+d,0);return ye.jsxs("div",{className:"rf-bg-white",children:[ye.jsxs("div",{className:"rf-flex rf-justify-between rf-items-center rf-mb-4",children:[ye.jsx("div",{children:"Render Logs"}),ye.jsxs("div",{className:"rf-flex rf-gap-4 rf-items-center",children:[e&&ye.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[ye.jsx("select",{value:r,onChange:l=>o(l.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(l=>ye.jsx("option",{value:l.value,children:l.label},l.value))}),ye.jsx(P_,{onClick:()=>e(r),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]}),ye.jsx("div",{className:"rf-flex rf-gap-2 rf-items-center",children:ye.jsxs("select",{onChange:l=>{if(l.target.value){const u=n?.debugOutputs?.find(d=>d.name===l.target.value);if(u){const d=new Blob([u.content],{type:"text/plain"}),h=URL.createObjectURL(d),f=document.createElement("a");f.href=h,f.download=`debug-${u.name}.txt`,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(h)}l.target.value=""}},disabled:!n?.debugOutputs||n.debugOutputs.length===0,className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white disabled:rf-opacity-50 disabled:rf-cursor-not-allowed",children:[ye.jsx("option",{value:"",children:"Download Debug Output"}),n?.debugOutputs?.map(l=>ye.jsx("option",{value:l.name,children:l.name},l.name))]})}),ye.jsxs("div",{className:"rf-flex rf-text-xs rf-items-center",children:[ye.jsx("div",{className:"rf-mr-2",children:"Sort by:"}),ye.jsxs("select",{value:t,onChange:l=>i(l.target.value),className:"rf-px-2 rf-py-1 rf-border rf-rounded rf-text-xs",children:[ye.jsx("option",{value:"chronological",children:"Phase Order"}),ye.jsx("option",{value:"longest",children:"Duration"})]})]})]})]}),ye.jsx(PSn,{phaseTimings:n.phaseTimings}),ye.jsxs("table",{className:"rf-w-full rf-text-xs",children:[ye.jsx("thead",{children:ye.jsxs("tr",{children:[ye.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase Order"}),ye.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase"}),ye.jsx("th",{className:"rf-text-left rf-p-2",children:"Duration (ms)"})]})}),ye.jsx("tbody",{children:a.map(([l,u])=>ye.jsxs("tr",{children:[ye.jsx("td",{className:"rf-p-2",children:M2.indexOf(l)}),ye.jsx("td",{className:"rf-p-2",children:l}),ye.jsx("td",{className:"rf-p-2",children:ye.jsx("div",{className:"rf-w-8",children:ye.jsx("div",{className:"rf-h-2 rf-rounded-sm",style:{backgroundColor:snt(l),width:`${u/c*100}%`}})})}),ye.jsx("td",{className:"rf-p-2",children:ye.jsxs("div",{className:"rf-flex w-full",children:[ye.jsxs("span",{className:"rf-flex-grow",children:[u,"ms"]}),ye.jsxs("span",{className:"rf-text-gray-500 rf-pr-2",children:[(u/c*100).toFixed(1),"%"]})]})})]},l))})]})]})},ant=({errorMessage:n,errorStack:e,circuitJsonErrors:t})=>{Re.useEffect(()=>{if(n){const i=new Error(n);e&&(i.stack=e);try{gL.captureException(i)}catch{}}},[n,e]),Re.useEffect(()=>{if(t&&t.length>0)for(const i of t){const r=new Error(i.message||"Circuit JSON Error");i.stack&&(r.stack=i.stack);try{gL.captureException(r,{error_type:i.type})}catch{}}},[t])},NSn="0.0.926";function kSn(n,e){const[t,i]=Re.useState(()=>{try{const r=window.localStorage.getItem(n);return r?JSON.parse(r):e}catch(r){return console.error("Error reading from localStorage:",r),e}});return Re.useEffect(()=>{try{window.localStorage.setItem(n,JSON.stringify(t))}catch(r){console.error("Error writing to localStorage:",r)}},[n,t]),[t,i]}const vye={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},xye=new Map,$H=n=>{const e=xye.get(n);return e?Object.fromEntries(Object.entries(e.stores).map(([t,i])=>[t,i.getState()])):{}},OSn=(n,e,t)=>{if(n===void 0)return{type:"untracked",connection:e.connect(t)};const i=xye.get(t.name);if(i)return{type:"tracked",store:n,...i};const r={connection:e.connect(t),stores:{}};return xye.set(t.name,r),{type:"tracked",store:n,...r}},cnt=(n,e={})=>(t,i,r)=>{const{enabled:o,anonymousActionType:s,store:a,...c}=e;let l;try{l=(o??(vye?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!l)return(vye?"production":void 0)!=="production"&&o&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),n(t,i,r);const{connection:u,...d}=OSn(a,l,c);let h=!0;r.setState=(y,g,x)=>{const v=t(y,g);if(!h)return v;const w=x===void 0?{type:s||"anonymous"}:typeof x=="string"?{type:x}:x;return a===void 0?(u?.send(w,i()),v):(u?.send({...w,type:`${a}/${w.type}`},{...$H(c.name),[a]:r.getState()}),v)};const f=(...y)=>{const g=h;h=!1,t(...y),h=g},m=n(r.setState,i,r);if(d.type==="untracked"?u?.init(m):(d.stores[d.store]=r,u?.init(Object.fromEntries(Object.entries(d.stores).map(([y,g])=>[y,y===d.store?m:g.getState()])))),r.dispatchFromDevtools&&typeof r.dispatch=="function"){let y=!1;const g=r.dispatch;r.dispatch=(...x)=>{(vye?"production":void 0)!=="production"&&x[0].type==="__setState"&&!y&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),y=!0),g(...x)}}return u.subscribe(y=>{var g;switch(y.type){case"ACTION":if(typeof y.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return bye(y.payload,x=>{if(x.type==="__setState"){if(a===void 0){f(x.state);return}Object.keys(x.state).length!==1&&console.error(`
|
|
5672
|
+
*/const MSn=({containerClassName:n,...e})=>{const t=Re.useRef(null),[i,r]=Re.useState(620);return Re.useLayoutEffect(()=>{const o=()=>{if(t.current){const a=t.current.clientHeight,c=window.innerHeight;r(Math.min(Math.max(a,620),c))}};o();const s=new ResizeObserver(o);return t.current&&s.observe(t.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),ye.jsx("div",{ref:t,className:n||"rf-w-full rf-h-full",children:ye.jsx(TSn,{...e,height:i})})},ASn='*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius:0.5rem}.rf-pointer-events-none{pointer-events:none}.rf-invisible{visibility:hidden}.rf-fixed{position:fixed}.rf-absolute{position:absolute}.rf-relative{position:relative}.rf-inset-0{inset:0}.-rf-left-2{left:-.5rem}.-rf-right-10{right:-2.5rem}.-rf-right-2{right:-.5rem}.-rf-right-4{right:-1rem}.-rf-right-6{right:-1.5rem}.-rf-right-7{right:-1.75rem}.-rf-right-8{right:-2rem}.-rf-right-9{right:-2.25rem}.rf-bottom-full{bottom:100%}.rf-left-0{left:0}.rf-left-1{left:.25rem}.rf-left-1\\/2{left:50%}.rf-left-2{left:.5rem}.rf-left-\\[50\\%\\]{left:50%}.rf-right-0{right:0}.rf-right-1{right:.25rem}.rf-right-4{right:1rem}.rf-right-\\[4px\\]{right:4px}.rf-top-0{top:0}.rf-top-1{top:.25rem}.rf-top-2{top:.5rem}.rf-top-2\\.5{top:.625rem}.rf-top-\\[50\\%\\]{top:50%}.rf-top-\\[6px\\]{top:6px}.\\!rf-z-\\[101\\]{z-index:101!important}.rf-z-10{z-index:10}.rf-z-50{z-index:50}.rf-z-\\[100\\]{z-index:100}.rf-z-\\[101\\]{z-index:101}.rf-order-1{order:1}.rf-order-2{order:2}.rf-order-3{order:3}.rf-m-1{margin:.25rem}.rf-m-6{margin:1.5rem}.-rf-mx-1,.rf--mx-1{margin-left:-.25rem;margin-right:-.25rem}.rf-mx-1{margin-left:.25rem;margin-right:.25rem}.rf-mx-2{margin-left:.5rem;margin-right:.5rem}.rf-mx-4{margin-left:1rem;margin-right:1rem}.rf-mx-auto{margin-left:auto;margin-right:auto}.rf-my-1{margin-bottom:.25rem;margin-top:.25rem}.rf-my-12{margin-bottom:3rem;margin-top:3rem}.rf-my-4{margin-bottom:1rem;margin-top:1rem}.rf-my-auto{margin-bottom:auto;margin-top:auto}.rf-mb-1{margin-bottom:.25rem}.rf-mb-12{margin-bottom:3rem}.rf-mb-2{margin-bottom:.5rem}.rf-mb-3{margin-bottom:.75rem}.rf-mb-4{margin-bottom:1rem}.rf-mb-6{margin-bottom:1.5rem}.rf-mb-8{margin-bottom:2rem}.rf-ml-1{margin-left:.25rem}.rf-ml-2{margin-left:.5rem}.rf-ml-auto{margin-left:auto}.rf-mr-1{margin-right:.25rem}.rf-mr-2{margin-right:.5rem}.rf-mt-0{margin-top:0}.rf-mt-0\\.5{margin-top:.125rem}.rf-mt-1{margin-top:.25rem}.rf-mt-2{margin-top:.5rem}.rf-mt-3{margin-top:.75rem}.rf-mt-4{margin-top:1rem}.rf-mt-5{margin-top:1.25rem}.rf-mt-auto{margin-top:auto}.rf-block{display:block}.rf-inline-block{display:inline-block}.rf-inline{display:inline}.rf-flex{display:flex}.rf-inline-flex{display:inline-flex}.rf-grid{display:grid}.rf-hidden{display:none}.rf-aspect-square{aspect-ratio:1/1}.rf-aspect-video{aspect-ratio:16/9}.rf-size-14{height:3.5rem;width:3.5rem}.rf-size-4{height:1rem;width:1rem}.\\!rf-h-2{height:.5rem!important}.\\!rf-h-2\\.5{height:.625rem!important}.\\!rf-h-3{height:.75rem!important}.\\!rf-h-full{height:100%!important}.rf-h-1{height:.25rem}.rf-h-10{height:2.5rem}.rf-h-12{height:3rem}.rf-h-2{height:.5rem}.rf-h-2\\.5{height:.625rem}.rf-h-20{height:5rem}.rf-h-24{height:6rem}.rf-h-3{height:.75rem}.rf-h-3\\.5{height:.875rem}.rf-h-4{height:1rem}.rf-h-5{height:1.25rem}.rf-h-6{height:1.5rem}.rf-h-60{height:15rem}.rf-h-64{height:16rem}.rf-h-7{height:1.75rem}.rf-h-8{height:2rem}.rf-h-9{height:2.25rem}.rf-h-\\[400px\\]{height:400px}.rf-h-\\[calc\\(100vh-52px\\)\\]{height:calc(100vh - 52px)}.rf-h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.rf-h-auto{height:auto}.rf-h-fit{height:-moz-fit-content;height:fit-content}.rf-h-full{height:100%}.rf-h-px{height:1px}.rf-h-screen{height:100vh}.\\!rf-max-h-\\[40vh\\]{max-height:40vh!important}.rf-max-h-32{max-height:8rem}.rf-max-h-96{max-height:24rem}.rf-max-h-\\[200px\\]{max-height:200px}.rf-max-h-\\[300px\\]{max-height:300px}.rf-max-h-\\[500px\\]{max-height:500px}.rf-max-h-\\[90vh\\]{max-height:90vh}.rf-max-h-full{max-height:100%}.rf-min-h-0{min-height:0}.rf-min-h-\\[200px\\]{min-height:200px}.rf-min-h-\\[300px\\]{min-height:300px}.rf-min-h-\\[620px\\]{min-height:620px}.rf-min-h-\\[calc\\(100vh-240px\\)\\]{min-height:calc(100vh - 240px)}.\\!rf-w-2{width:.5rem!important}.\\!rf-w-2\\.5{width:.625rem!important}.rf-w-1{width:.25rem}.rf-w-1\\/2{width:50%}.rf-w-11{width:2.75rem}.rf-w-11\\/12{width:91.666667%}.rf-w-12{width:3rem}.rf-w-16{width:4rem}.rf-w-2{width:.5rem}.rf-w-2\\.5{width:.625rem}.rf-w-20{width:5rem}.rf-w-24{width:6rem}.rf-w-28{width:7rem}.rf-w-3{width:.75rem}.rf-w-3\\.5{width:.875rem}.rf-w-32{width:8rem}.rf-w-4{width:1rem}.rf-w-40{width:10rem}.rf-w-48{width:12rem}.rf-w-5{width:1.25rem}.rf-w-6{width:1.5rem}.rf-w-64{width:16rem}.rf-w-72{width:18rem}.rf-w-8{width:2rem}.rf-w-9{width:2.25rem}.rf-w-96{width:24rem}.rf-w-\\[95\\%\\]{width:95%}.rf-w-fit{width:-moz-fit-content;width:fit-content}.rf-w-full{width:100%}.rf-w-screen{width:100vw}.rf-min-w-0{min-width:0}.rf-min-w-10{min-width:2.5rem}.rf-min-w-16{min-width:4rem}.rf-min-w-\\[148px\\]{min-width:148px}.rf-min-w-\\[8rem\\]{min-width:8rem}.rf-min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.\\!rf-max-w-\\[660px\\]{max-width:660px!important}.rf-max-w-2xl{max-width:42rem}.rf-max-w-3xl{max-width:48rem}.rf-max-w-4xl{max-width:56rem}.rf-max-w-5xl{max-width:64rem}.rf-max-w-full{max-width:100%}.rf-max-w-lg{max-width:32rem}.rf-max-w-md{max-width:28rem}.rf-max-w-none{max-width:none}.rf-max-w-xl{max-width:36rem}.rf-max-w-xs{max-width:20rem}.rf-flex-1{flex:1 1 0%}.rf-flex-shrink-0,.rf-shrink-0{flex-shrink:0}.rf-flex-grow{flex-grow:1}.rf-table-auto{table-layout:auto}.rf-origin-\\[--radix-popover-content-transform-origin\\]{transform-origin:var(--radix-popover-content-transform-origin)}.-rf-translate-x-1{--tw-translate-x:-0.25rem}.-rf-translate-x-1,.-rf-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rf-translate-x-1\\/2{--tw-translate-x:-50%}.-rf-translate-y-1{--tw-translate-y:-0.25rem}.-rf-translate-y-1,.rf--translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-x-1{--tw-translate-x:-0.25rem}.rf--translate-x-1\\/2{--tw-translate-x:-50%}.rf--translate-x-1\\/2,.rf--translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-y-1{--tw-translate-y:-0.25rem}.rf-translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.rf-translate-x-\\[-50\\%\\],.rf-translate-y-\\[-50\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf-translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.rf-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes rf-pulse{50%{opacity:.5}}.rf-animate-pulse{animation:rf-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes rf-spin{to{transform:rotate(1turn)}}.rf-animate-spin{animation:rf-spin 1s linear infinite}.rf-cursor-default{cursor:default}.rf-cursor-not-allowed{cursor:not-allowed}.rf-cursor-pointer{cursor:pointer}.rf-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.rf-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.rf-flex-row{flex-direction:row}.rf-flex-col{flex-direction:column}.rf-flex-col-reverse{flex-direction:column-reverse}.rf-flex-wrap{flex-wrap:wrap}.rf-place-items-center{place-items:center}.rf-items-start{align-items:flex-start}.rf-items-end{align-items:flex-end}.rf-items-center{align-items:center}.rf-items-stretch{align-items:stretch}.rf-justify-end{justify-content:flex-end}.rf-justify-center{justify-content:center}.rf-justify-between{justify-content:space-between}.rf-gap-0{gap:0}.rf-gap-1{gap:.25rem}.rf-gap-2{gap:.5rem}.rf-gap-3{gap:.75rem}.rf-gap-4{gap:1rem}.rf-gap-5{gap:1.25rem}.rf-gap-6{gap:1.5rem}.rf-gap-8{gap:2rem}.rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.rf-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.rf-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.rf-overflow-auto{overflow:auto}.rf-overflow-hidden{overflow:hidden}.rf-overflow-visible{overflow:visible}.rf-overflow-x-auto{overflow-x:auto}.\\!rf-overflow-y-auto{overflow-y:auto!important}.rf-overflow-y-auto{overflow-y:auto}.rf-overflow-x-hidden{overflow-x:hidden}.rf-overflow-x-clip{overflow-x:clip}.rf-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rf-whitespace-normal{white-space:normal}.rf-whitespace-nowrap{white-space:nowrap}.rf-whitespace-pre-wrap{white-space:pre-wrap}.rf-break-words{overflow-wrap:break-word}.rf-break-all{word-break:break-all}.rf-rounded{border-radius:.25rem}.rf-rounded-2xl{border-radius:1rem}.rf-rounded-full{border-radius:9999px}.rf-rounded-lg{border-radius:var(--radius)}.rf-rounded-md{border-radius:calc(var(--radius) - 2px)}.rf-rounded-sm{border-radius:calc(var(--radius) - 4px)}.rf-rounded-xl{border-radius:.75rem}.rf-border{border-width:1px}.rf-border-2{border-width:2px}.rf-border-b{border-bottom-width:1px}.rf-border-t{border-top-width:1px}.rf-border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.rf-border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.rf-border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.rf-border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.rf-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.rf-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.rf-border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.rf-border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.rf-border-input{border-color:hsl(var(--input))}.rf-border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.rf-border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.rf-border-primary{border-color:hsl(var(--primary))}.rf-border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.rf-border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.rf-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.rf-border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.rf-border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.rf-bg-background{background-color:hsl(var(--background))}.rf-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.rf-bg-black\\/80{background-color:rgba(0,0,0,.8)}.rf-bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.rf-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.rf-bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.rf-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.rf-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.rf-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.rf-bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.rf-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.rf-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.rf-bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.rf-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.rf-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.rf-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.rf-bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.rf-bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.rf-bg-muted{background-color:hsl(var(--muted))}.rf-bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.rf-bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.rf-bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.rf-bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.rf-bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.rf-bg-popover{background-color:hsl(var(--popover))}.rf-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.rf-bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.rf-bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.rf-bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.rf-bg-transparent{background-color:transparent}.rf-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.rf-bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.rf-bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.rf-bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.rf-bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.rf-bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.rf-bg-opacity-50{--tw-bg-opacity:0.5}.rf-fill-current{fill:currentColor}.rf-object-contain{-o-object-fit:contain;object-fit:contain}.rf-object-cover{-o-object-fit:cover;object-fit:cover}.\\!rf-p-0{padding:0!important}.rf-p-0{padding:0}.rf-p-1{padding:.25rem}.rf-p-2{padding:.5rem}.rf-p-3{padding:.75rem}.rf-p-4{padding:1rem}.rf-p-5{padding:1.25rem}.rf-p-6{padding:1.5rem}.rf-p-8{padding:2rem}.rf-px-1{padding-left:.25rem;padding-right:.25rem}.rf-px-2{padding-left:.5rem;padding-right:.5rem}.rf-px-3{padding-left:.75rem;padding-right:.75rem}.rf-px-4{padding-left:1rem;padding-right:1rem}.rf-px-6{padding-left:1.5rem;padding-right:1.5rem}.rf-px-8{padding-left:2rem;padding-right:2rem}.rf-py-0{padding-bottom:0;padding-top:0}.rf-py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.rf-py-1{padding-bottom:.25rem;padding-top:.25rem}.rf-py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.rf-py-10{padding-bottom:2.5rem;padding-top:2.5rem}.rf-py-12{padding-bottom:3rem;padding-top:3rem}.rf-py-2{padding-bottom:.5rem;padding-top:.5rem}.rf-py-3{padding-bottom:.75rem;padding-top:.75rem}.rf-py-4{padding-bottom:1rem;padding-top:1rem}.rf-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.rf-py-8{padding-bottom:2rem;padding-top:2rem}.rf-pb-0{padding-bottom:0}.rf-pb-2{padding-bottom:.5rem}.rf-pb-3{padding-bottom:.75rem}.rf-pb-4{padding-bottom:1rem}.rf-pl-2{padding-left:.5rem}.rf-pl-4{padding-left:1rem}.rf-pl-8{padding-left:2rem}.rf-pr-2{padding-right:.5rem}.rf-pt-0{padding-top:0}.rf-pt-2{padding-top:.5rem}.rf-pt-4{padding-top:1rem}.rf-text-left{text-align:left}.rf-text-center{text-align:center}.rf-text-right{text-align:right}.rf-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rf-text-2xl{font-size:1.5rem;line-height:2rem}.rf-text-3xl{font-size:1.875rem;line-height:2.25rem}.rf-text-\\[8px\\]{font-size:8px}.rf-text-base{font-size:1rem;line-height:1.5rem}.rf-text-lg{font-size:1.125rem;line-height:1.75rem}.rf-text-sm{font-size:.875rem;line-height:1.25rem}.rf-text-xl{font-size:1.25rem;line-height:1.75rem}.rf-text-xs{font-size:.75rem;line-height:1rem}.\\!rf-font-normal{font-weight:400!important}.rf-font-bold{font-weight:700}.rf-font-medium{font-weight:500}.rf-font-semibold{font-weight:600}.rf-uppercase{text-transform:uppercase}.rf-capitalize{text-transform:capitalize}.rf-tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.rf-leading-5{line-height:1.25rem}.rf-leading-none{line-height:1}.rf-leading-relaxed{line-height:1.625}.rf-leading-tight{line-height:1.25}.rf-tracking-wide{letter-spacing:.025em}.rf-tracking-widest{letter-spacing:.1em}.rf-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.rf-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.rf-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.rf-text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.rf-text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.rf-text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.rf-text-current{color:currentColor}.rf-text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.rf-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.rf-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rf-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.rf-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.rf-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.rf-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.rf-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.rf-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.rf-text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.rf-text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.rf-text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.rf-text-muted-foreground{color:hsl(var(--muted-foreground))}.rf-text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.rf-text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.rf-text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.rf-text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.rf-text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.rf-text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.rf-text-popover-foreground{color:hsl(var(--popover-foreground))}.rf-text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.rf-text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.rf-text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.rf-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.rf-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.rf-text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.rf-text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.rf-text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.rf-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rf-text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.rf-text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.rf-text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.rf-text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.rf-text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.rf-text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.rf-text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.rf-text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.rf-text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.rf-underline{text-decoration-line:underline}.rf-line-through{text-decoration-line:line-through}.rf-underline-offset-4{text-underline-offset:4px}.rf-opacity-0{opacity:0}.rf-opacity-100{opacity:1}.rf-opacity-25{opacity:.25}.rf-opacity-30{opacity:.3}.rf-opacity-50{opacity:.5}.rf-opacity-60{opacity:.6}.rf-opacity-75{opacity:.75}.rf-shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.rf-shadow,.rf-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.rf-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.rf-shadow-md,.rf-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.rf-outline-none{outline:2px solid transparent;outline-offset:2px}.rf-ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.rf-ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.rf-ring-primary{--tw-ring-color:hsl(var(--primary))}.rf-ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.rf-ring-offset-white{--tw-ring-offset-color:#fff}.rf-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-duration-200{transition-duration:.2s}.rf-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.rf-slide-in-from-left-1{--tw-enter-translate-x:-0.25rem}.rf-slide-out-to-left-1{--tw-exit-translate-x:-0.25rem}.rf-duration-200{animation-duration:.2s}.rf-ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.file\\:rf-border-0::file-selector-button{border-width:0}.file\\:rf-bg-transparent::file-selector-button{background-color:transparent}.file\\:rf-text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:rf-font-medium::file-selector-button{font-weight:500}.placeholder\\:rf-text-zinc-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.placeholder\\:rf-text-zinc-500::placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.hover\\:rf-border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\\:\\!rf-bg-transparent:hover{background-color:transparent!important}.hover\\:rf-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\\:rf-bg-red-500\\/90:hover{background-color:rgba(239,68,68,.9)}.hover\\:rf-bg-zinc-100:hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.hover\\:rf-bg-zinc-100\\/80:hover{background-color:hsla(240,5%,96%,.8)}.hover\\:rf-bg-zinc-900\\/90:hover{background-color:rgba(24,24,27,.9)}.hover\\:rf-text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\\:rf-text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.hover\\:rf-underline:hover{text-decoration-line:underline}.focus\\:rf-bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.focus\\:rf-bg-zinc-100:focus{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.focus\\:rf-text-gray-900:focus{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.focus\\:rf-text-zinc-900:focus{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.focus\\:rf-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:rf-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:rf-ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\\:rf-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:rf-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:rf-ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-zinc-950:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(9 9 11/var(--tw-ring-opacity,1))}.focus-visible\\:rf-ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:rf-pointer-events-none:disabled{pointer-events:none}.disabled\\:rf-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:rf-opacity-50:disabled{opacity:.5}.rf-group\\/bar:hover .group-hover\\/bar\\:rf-opacity-100{opacity:1}.data-\\[disabled\\=true\\]\\:rf-pointer-events-none[data-disabled=true],.data-\\[disabled\\]\\:rf-pointer-events-none[data-disabled]{pointer-events:none}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom],.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right],.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\\[selected\\=true\\]\\:rf-bg-zinc-100[data-selected=true]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[state\\=active\\]\\:rf-bg-white[data-state=active]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.data-\\[state\\=checked\\]\\:rf-bg-zinc-900[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.data-\\[state\\=open\\]\\:rf-bg-zinc-100[data-state=open]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[selected\\=true\\]\\:rf-text-zinc-900[data-selected=true]{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.data-\\[state\\=active\\]\\:rf-text-zinc-950[data-state=active]{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.data-\\[state\\=checked\\]\\:rf-text-zinc-50[data-state=checked]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.data-\\[disabled\\=true\\]\\:rf-opacity-50[data-disabled=true],.data-\\[disabled\\]\\:rf-opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=active\\]\\:rf-shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\\[state\\=open\\]\\:rf-animate-in[data-state=open]{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=open\\]\\:rf-fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=closed\\]\\:rf-zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=open\\]\\:rf-zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\\[side\\=bottom\\]\\:rf-slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\\[side\\=left\\]\\:rf-slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\[side\\=right\\]\\:rf-slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\[side\\=top\\]\\:rf-slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\\[state\\=closed\\]\\:rf-slide-out-to-left-1\\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\\[state\\=closed\\]\\:rf-slide-out-to-top-\\[48\\%\\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\\[state\\=open\\]\\:rf-slide-in-from-left-1\\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\\[state\\=open\\]\\:rf-slide-in-from-top-\\[48\\%\\][data-state=open]{--tw-enter-translate-y:-48%}.dark\\:rf-border-zinc-50:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.dark\\:rf-border-zinc-800:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.dark\\:rf-bg-gray-700:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\\:rf-bg-gray-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\\:rf-bg-red-900:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-50:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-950:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:rf-text-gray-500:is(.rf-dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-400:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-50:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-900:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-ring-offset-zinc-950:is(.rf-dark *){--tw-ring-offset-color:#09090b}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:hover\\:rf-bg-red-900\\/90:hover:is(.rf-dark *){background-color:rgba(127,29,29,.9)}.dark\\:hover\\:rf-bg-zinc-50\\/90:hover:is(.rf-dark *){background-color:hsla(0,0%,98%,.9)}.dark\\:hover\\:rf-bg-zinc-800:hover:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:hover\\:rf-bg-zinc-800\\/80:hover:is(.rf-dark *){background-color:rgba(39,39,42,.8)}.dark\\:hover\\:rf-text-zinc-50:hover:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus\\:rf-bg-zinc-800:focus:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:focus\\:rf-text-zinc-50:focus:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus-visible\\:rf-ring-zinc-300:focus-visible:is(.rf-dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-bg-zinc-800[data-selected=true]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-bg-zinc-950[data-state=active]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-bg-zinc-50[data-state=checked]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=open\\]\\:rf-bg-zinc-800[data-state=open]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-text-zinc-50[data-selected=true]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-text-zinc-50[data-state=active]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-text-zinc-900[data-state=checked]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\\:rf-order-1{order:1}.sm\\:rf-order-2{order:2}.sm\\:rf-mt-0{margin-top:0}.sm\\:rf-inline{display:inline}.sm\\:rf-grid{display:grid}.sm\\:rf-hidden{display:none}.sm\\:rf-w-auto{width:auto}.sm\\:rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:rf-grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.sm\\:rf-flex-row{flex-direction:row}.sm\\:rf-items-center{align-items:center}.sm\\:rf-justify-end{justify-content:flex-end}.sm\\:rf-gap-3{gap:.75rem}.sm\\:rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\\:rf-rounded-lg{border-radius:var(--radius)}.sm\\:rf-px-4{padding-left:1rem;padding-right:1rem}.sm\\:rf-text-left{text-align:left}.sm\\:rf-text-sm{font-size:.875rem;line-height:1.25rem}.sm\\:rf-text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\\:rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\\[\\&\\>span\\]\\:rf-line-clamp-1>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\\[\\&\\>svg\\]\\:rf-size-4>svg{height:1rem;width:1rem}.\\[\\&\\>svg\\]\\:rf-shrink-0>svg{flex-shrink:0}.\\[\\&\\>svg\\]\\:rf-text-red-300>svg{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.\\[\\&\\>svg\\]\\:hover\\:rf-text-red-400:hover>svg{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-py-1\\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-font-medium [cmdk-group-heading]{font-weight:500}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-500 [cmdk-group-heading]{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.dark\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-400 [cmdk-group-heading]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:rf-pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\\[\\&_\\[cmdk-group\\]\\]\\:rf-px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\\[\\&_\\[cmdk-input\\]\\]\\:rf-h-12 [cmdk-input]{height:3rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-h-5 [cmdk-item] svg{height:1.25rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-w-5 [cmdk-item] svg{width:1.25rem}.\\[\\&_svg\\]\\:rf-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:rf-size-4 svg{height:1rem;width:1rem}.\\[\\&_svg\\]\\:rf-shrink-0 svg{flex-shrink:0}',CSn=()=>{Re.useEffect(()=>{if(document.querySelector('style[data-styles="tscircuit-runframe"]'))return;const e=document.createElement("style");e.setAttribute("data-styles","tscircuit-runframe"),e.textContent=ASn,document.head.appendChild(e)},[])},RSn=n=>{Re.useEffect(()=>(n?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[n])},snt=n=>`hsl(${M2.indexOf(n)*137.5%360}, 70%, 50%)`,PSn=({phaseTimings:n})=>{if(!n)return null;const e=Object.values(n).reduce((t,i)=>t+i,0);return ye.jsxs("div",{className:"rf-space-y-2 rf-w-full rf-px-4",children:[ye.jsx("div",{className:"rf-relative rf-h-8 rf-flex rf-rounded-sm",children:M2.map(t=>{const i=n[t]||0,r=i/e*100;return ye.jsx("div",{className:"rf-group/bar rf-relative rf-overflow-visible",style:{width:`${r}%`,backgroundColor:snt(t)},children:ye.jsxs("div",{className:"rf-opacity-0 group-hover/bar:rf-opacity-100 rf-transition-opacity rf-absolute rf-bottom-full rf-left-1/2 rf-transform -rf-translate-x-1/2 rf-mb-2 rf-px-2 rf-py-1 rf-text-xs rf-whitespace-nowrap rf-rounded rf-bg-gray-900 rf-text-white rf-pointer-events-none",children:[t,": ",i.toFixed(1),"ms"]})},t)})}),ye.jsxs("div",{className:"rf-text-xs rf-text-gray-500",children:["Total: ",e.toFixed(2),"ms"]})]})},ISn=({renderLog:n,onRerunWithDebug:e})=>{const[t,i]=Re.useState("chronological"),[r,o]=Re.useState(""),s=[{value:"",label:"None"},{value:"DEBUG=Group_doInitialSchematicTraceRender",label:"DEBUG=Group_doInitialSchematicTraceRender"},{value:"DEBUG=Group_doInitialSchematicLayoutMatchpack",label:"DEBUG=Group_doInitialSchematicLayoutMatchpack"},{value:"DEBUG=Group_doInitialPcbLayoutPack",label:"DEBUG=Group_doInitialPcbLayoutPack"}];if(!n)return ye.jsxs("div",{className:"rf-p-4 rf-bg-gray-100 rf-rounded-md",children:[ye.jsx("div",{className:"rf-mb-4",children:"No render log, make sure this tab is open when you render"}),e&&ye.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[ye.jsx("select",{value:r,onChange:l=>o(l.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(l=>ye.jsx("option",{value:l.value,children:l.label},l.value))}),ye.jsx(P_,{onClick:()=>e(r),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]})]});const a=Object.entries(n?.phaseTimings??{});t==="chronological"?a.sort((l,u)=>M2.indexOf(l[0])-M2.indexOf(u[0])):a.sort((l,u)=>u[1]-l[1]);const c=a.reduce((l,[u,d])=>l+d,0);return ye.jsxs("div",{className:"rf-bg-white",children:[ye.jsxs("div",{className:"rf-flex rf-justify-between rf-items-center rf-mb-4",children:[ye.jsx("div",{children:"Render Logs"}),ye.jsxs("div",{className:"rf-flex rf-gap-4 rf-items-center",children:[e&&ye.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[ye.jsx("select",{value:r,onChange:l=>o(l.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(l=>ye.jsx("option",{value:l.value,children:l.label},l.value))}),ye.jsx(P_,{onClick:()=>e(r),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]}),ye.jsx("div",{className:"rf-flex rf-gap-2 rf-items-center",children:ye.jsxs("select",{onChange:l=>{if(l.target.value){const u=n?.debugOutputs?.find(d=>d.name===l.target.value);if(u){const d=new Blob([u.content],{type:"text/plain"}),h=URL.createObjectURL(d),f=document.createElement("a");f.href=h,f.download=`debug-${u.name}.txt`,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(h)}l.target.value=""}},disabled:!n?.debugOutputs||n.debugOutputs.length===0,className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white disabled:rf-opacity-50 disabled:rf-cursor-not-allowed",children:[ye.jsx("option",{value:"",children:"Download Debug Output"}),n?.debugOutputs?.map(l=>ye.jsx("option",{value:l.name,children:l.name},l.name))]})}),ye.jsxs("div",{className:"rf-flex rf-text-xs rf-items-center",children:[ye.jsx("div",{className:"rf-mr-2",children:"Sort by:"}),ye.jsxs("select",{value:t,onChange:l=>i(l.target.value),className:"rf-px-2 rf-py-1 rf-border rf-rounded rf-text-xs",children:[ye.jsx("option",{value:"chronological",children:"Phase Order"}),ye.jsx("option",{value:"longest",children:"Duration"})]})]})]})]}),ye.jsx(PSn,{phaseTimings:n.phaseTimings}),ye.jsxs("table",{className:"rf-w-full rf-text-xs",children:[ye.jsx("thead",{children:ye.jsxs("tr",{children:[ye.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase Order"}),ye.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase"}),ye.jsx("th",{className:"rf-text-left rf-p-2",children:"Duration (ms)"})]})}),ye.jsx("tbody",{children:a.map(([l,u])=>ye.jsxs("tr",{children:[ye.jsx("td",{className:"rf-p-2",children:M2.indexOf(l)}),ye.jsx("td",{className:"rf-p-2",children:l}),ye.jsx("td",{className:"rf-p-2",children:ye.jsx("div",{className:"rf-w-8",children:ye.jsx("div",{className:"rf-h-2 rf-rounded-sm",style:{backgroundColor:snt(l),width:`${u/c*100}%`}})})}),ye.jsx("td",{className:"rf-p-2",children:ye.jsxs("div",{className:"rf-flex w-full",children:[ye.jsxs("span",{className:"rf-flex-grow",children:[u,"ms"]}),ye.jsxs("span",{className:"rf-text-gray-500 rf-pr-2",children:[(u/c*100).toFixed(1),"%"]})]})})]},l))})]})]})},ant=({errorMessage:n,errorStack:e,circuitJsonErrors:t})=>{Re.useEffect(()=>{if(n){const i=new Error(n);e&&(i.stack=e);try{gL.captureException(i)}catch{}}},[n,e]),Re.useEffect(()=>{if(t&&t.length>0)for(const i of t){const r=new Error(i.message||"Circuit JSON Error");i.stack&&(r.stack=i.stack);try{gL.captureException(r,{error_type:i.type})}catch{}}},[t])},NSn="0.0.927";function kSn(n,e){const[t,i]=Re.useState(()=>{try{const r=window.localStorage.getItem(n);return r?JSON.parse(r):e}catch(r){return console.error("Error reading from localStorage:",r),e}});return Re.useEffect(()=>{try{window.localStorage.setItem(n,JSON.stringify(t))}catch(r){console.error("Error writing to localStorage:",r)}},[n,t]),[t,i]}const vye={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},xye=new Map,$H=n=>{const e=xye.get(n);return e?Object.fromEntries(Object.entries(e.stores).map(([t,i])=>[t,i.getState()])):{}},OSn=(n,e,t)=>{if(n===void 0)return{type:"untracked",connection:e.connect(t)};const i=xye.get(t.name);if(i)return{type:"tracked",store:n,...i};const r={connection:e.connect(t),stores:{}};return xye.set(t.name,r),{type:"tracked",store:n,...r}},cnt=(n,e={})=>(t,i,r)=>{const{enabled:o,anonymousActionType:s,store:a,...c}=e;let l;try{l=(o??(vye?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!l)return(vye?"production":void 0)!=="production"&&o&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),n(t,i,r);const{connection:u,...d}=OSn(a,l,c);let h=!0;r.setState=(y,g,x)=>{const v=t(y,g);if(!h)return v;const w=x===void 0?{type:s||"anonymous"}:typeof x=="string"?{type:x}:x;return a===void 0?(u?.send(w,i()),v):(u?.send({...w,type:`${a}/${w.type}`},{...$H(c.name),[a]:r.getState()}),v)};const f=(...y)=>{const g=h;h=!1,t(...y),h=g},m=n(r.setState,i,r);if(d.type==="untracked"?u?.init(m):(d.stores[d.store]=r,u?.init(Object.fromEntries(Object.entries(d.stores).map(([y,g])=>[y,y===d.store?m:g.getState()])))),r.dispatchFromDevtools&&typeof r.dispatch=="function"){let y=!1;const g=r.dispatch;r.dispatch=(...x)=>{(vye?"production":void 0)!=="production"&&x[0].type==="__setState"&&!y&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),y=!0),g(...x)}}return u.subscribe(y=>{var g;switch(y.type){case"ACTION":if(typeof y.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return bye(y.payload,x=>{if(x.type==="__setState"){if(a===void 0){f(x.state);return}Object.keys(x.state).length!==1&&console.error(`
|
|
5673
5673
|
[zustand devtools middleware] Unsupported __setState action format.
|
|
5674
5674
|
When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
|
|
5675
5675
|
and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
|
package/dist/standalone.min.js
CHANGED
|
@@ -5523,7 +5523,7 @@ ${N.type}: ${P}
|
|
|
5523
5523
|
50% { opacity: 0.2; }
|
|
5524
5524
|
100% { opacity: 0.6; }
|
|
5525
5525
|
}
|
|
5526
|
-
`,r.appendChild(v)}})}};o();const s=new MutationObserver(o);return s.observe(r,{childList:!0,subtree:!1,characterData:!1}),()=>{s.disconnect()}},[n,t,e,i])},CJe=["#8B0000","#2F4F4F","#191970","#006400","#FF4500","#800080","#2E8B57","#B8860B","#C71585","#008B8B"],$2n=n=>{const{svgDivRef:e,circuitJson:t,circuitJsonKey:i,showGroups:r}=n;we.useEffect(()=>{if(e.current&&e.current.querySelectorAll(".schematic-group-overlay").forEach(a=>a.remove()),!e.current||!r||!t||t.length===0)return;const o=setTimeout(()=>{if(!e.current)return;const s=e.current.querySelector("svg");if(!s)return;s.querySelectorAll(".schematic-group-overlay").forEach(c=>c.remove());try{const c=Ng(t).source_group?.list().filter(v=>!v.is_subcircuit)||[],l=Ng(t).schematic_component?.list()||[],u=new Map;c.forEach(v=>{const w=v;if(w.parent_source_group_id){const E=u.get(w.parent_source_group_id)||[];E.push(v.source_group_id),u.set(w.parent_source_group_id,E)}});const d=v=>{const w=[],E=u.get(v)||[];for(const k of E)w.push(k),w.push(...d(k));return w},h=v=>{const w=c.find(E=>E.source_group_id===v);return w?.parent_source_group_id?1+h(w.parent_source_group_id):0},f=c.length>0&&c.some(v=>v.name&&v.name.trim()!=="");let m=[];if(f){const v=new Map;for(const w of l){const E=Ng(t).source_component.get(w.source_component_id);E?.source_group_id&&(v.has(E.source_group_id)||v.set(E.source_group_id,[]),v.get(E.source_group_id).push(w))}c.forEach((w,E)=>{let k=v.get(w.source_group_id)||[];const R=d(w.source_group_id);for(const N of R){const M=v.get(N)||[];k=[...k,...M]}if(k.length>0){const N=h(w.source_group_id),M=d(w.source_group_id).length>0;if(w.name?.startsWith("unnamed_board"))return;m.push({id:w.source_group_id,name:w.name||`Group ${E+1}`,components:k,color:CJe[E%CJe.length],depthLevel:N,hasChildren:M,sourceGroupId:w.source_group_id})}})}const y=s.viewBox.baseVal,g=s.getBoundingClientRect(),x=Math.min(g.width/y.width,g.height/y.height)||1;m.sort((v,w)=>v.depthLevel-w.depthLevel),m.forEach(v=>{if(v.components.length===0)return;const w=j2n(v.components,s);if(!w)return;const E=Math.max(8,Math.min(25,15/Math.max(x,.3))),k=v.hasChildren?E*.6:0,R=E+k,N=Math.max(1,2/Math.max(x,.5)),M=v.depthLevel===0?N:N*.7,I=Math.max(4,8/Math.max(x,.5)),A=v.hasChildren?1.3:1,$=I*A,P=$*.5,j=document.createElementNS("http://www.w3.org/2000/svg","rect");j.setAttribute("class","schematic-group-overlay"),j.setAttribute("x",(w.minX-R).toString()),j.setAttribute("y",(w.minY-R).toString()),j.setAttribute("width",(w.maxX-w.minX+R*2).toString()),j.setAttribute("height",(w.maxY-w.minY+R*2).toString()),j.setAttribute("fill","none"),j.setAttribute("stroke",v.color),j.setAttribute("stroke-width",M.toString()),j.setAttribute("stroke-dasharray",`${$},${P}`),j.setAttribute("opacity","0.8"),j.setAttribute("rx","4"),j.setAttribute("ry","4");const G=Math.max(6,Math.min(20,14/Math.max(x,.2))),X=v.depthLevel===0||v.depthLevel===1?0:v.depthLevel*.2,Z=G*(1-X),J=Math.max(1,Z*.2),oe=v.name,ue=document.createElementNS("http://www.w3.org/2000/svg","text");ue.setAttribute("font-size",Z.toString()),ue.setAttribute("font-family","Arial, sans-serif"),ue.textContent=oe,s.appendChild(ue);const ge=ue.getBBox();s.removeChild(ue);const re=ge.width+J*2,se=Z+J*2,he=w.minX-R,Ee=w.minY-R-se,Ce=document.createElementNS("http://www.w3.org/2000/svg","rect");Ce.setAttribute("class","schematic-group-overlay"),Ce.setAttribute("x",he.toString()),Ce.setAttribute("y",(Ee-se).toString()),Ce.setAttribute("width",re.toString()),Ce.setAttribute("height",se.toString()),Ce.setAttribute("fill","transparent"),Ce.setAttribute("rx","3"),Ce.setAttribute("ry","3");const Oe=document.createElementNS("http://www.w3.org/2000/svg","text");Oe.setAttribute("class","schematic-group-overlay"),Oe.setAttribute("x",(he+J).toString()),Oe.setAttribute("y",(Ee+se-J).toString()),Oe.setAttribute("fill",v.color),Oe.setAttribute("font-size",Z.toString()),Oe.setAttribute("font-family","Arial, sans-serif"),Oe.setAttribute("font-weight",v.depthLevel===0?"600":"500"),Oe.setAttribute("stroke",v.color),Oe.setAttribute("stroke-width",Math.max(.2,Z*.02).toString()),Oe.textContent=oe,s.appendChild(j),s.appendChild(Ce),s.appendChild(Oe)})}catch(c){console.error("Error creating group overlays:",c)}},10);return()=>clearTimeout(o)},[e,i,r])};function j2n(n,e){let t=1/0,i=1/0,r=-1/0,o=-1/0;for(const a of n){let c=e.querySelector(`g[data-schematic-component-id="${a.schematic_component_id}"]`);if(c||(c=e.querySelector(`[data-schematic-component-id="${a.schematic_component_id}"]`)),c){const l=c.getBBox();t=Math.min(t,l.x),i=Math.min(i,l.y),r=Math.max(r,l.x+l.width),o=Math.max(o,l.y+l.height)}}return t===1/0?null:{minX:t,minY:i,maxX:r,maxY:o}}var H2n=u0("schematic-viewer"),V2n=()=>{u0.enable("schematic-viewer*")},G2n=H2n,q2n=n=>{const[e,t]=we.useState(0),[i,r]=we.useState(0);return we.useEffect(()=>{if(!n.current)return;const o=()=>{const a=n.current?.getBoundingClientRect();t(a?.width||0),r(a?.height||0)};o();const s=new ResizeObserver(o);return s.observe(n.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),{containerWidth:e,containerHeight:i}},Y2n=G2n.extend("useComponentDragging"),X2n=({onEditEvent:n,editEvents:e=[],circuitJson:t,cancelDrag:i,svgToScreenProjection:r,realToSvgProjection:o,enabled:s=!1,snapToGrid:a=!1})=>{const[c,l]=we.useState(null),u=ps(o,r),d=we.useRef(null),h=we.useRef(null),f=we.useRef(new Map);we.useEffect(()=>{e.forEach(N=>{"edit_event_type"in N&&N.edit_event_type==="edit_schematic_component_location"&&!N.in_progress&&f.current.set(N.schematic_component_id,{...N.new_center})})},[e]);const m=we.useCallback((N,M,I)=>{if(!s)return!1;const A=I.closest('[data-circuit-json-type="schematic_component"]');if(!A)return!1;const $=A.getAttribute("data-schematic-component-id");if(!$)return!1;i&&i();const P=Ng(t).schematic_component.get($);if(!P)return!1;d.current={x:N,y:M};let j;const G=f.current.get($);if(G)j={...G};else{const Z=AJe({editEvents:e,schematic_component_id:$});j={x:P.center.x+Z.x,y:P.center.y+Z.y},f.current.set($,{...j})}const X={edit_event_id:Math.random().toString(36).substr(2,9),edit_event_type:"edit_schematic_component_location",schematic_component_id:$,original_center:j,new_center:{...j},in_progress:!0,created_at:Date.now(),_element:A};return h.current=X,l(X),!0},[i,s,t,e]),y=we.useCallback(N=>{m(N.clientX,N.clientY,N.target)},[m]),g=we.useCallback(N=>{if(N.touches.length!==1)return;const M=N.touches[0];m(M.clientX,M.clientY,N.target)&&N.preventDefault()},[m]),x=we.useCallback((N,M)=>{if(!h.current||!d.current)return;const I={x:N-d.current.x,y:M-d.current.y},A={x:I.x/u.a,y:I.y/u.d};let $={x:h.current.original_center.x+A.x,y:h.current.original_center.y+A.y};if(a){const j=G=>Math.round(G*10)/10;$={x:j($.x),y:j($.y)}}const P={...h.current,new_center:$};h.current=P,l(P)},[u,a]),v=we.useCallback(N=>x(N.clientX,N.clientY),[x]),w=we.useCallback(N=>{if(N.touches.length!==1||!h.current)return;N.preventDefault();const M=N.touches[0];x(M.clientX,M.clientY)},[x]),E=we.useCallback(()=>{if(!h.current)return;const N={...h.current,in_progress:!1};f.current.set(N.schematic_component_id,{...N.new_center}),Y2n("endDrag calling onEditEvent with new edit event",{newEditEvent:N}),n&&n(N),h.current=null,d.current=null,l(null)},[n]),k=we.useCallback(()=>E(),[E]),R=we.useCallback(()=>E(),[E]);return we.useEffect(()=>(window.addEventListener("mousemove",v),window.addEventListener("mouseup",k),window.addEventListener("touchmove",w,{passive:!1}),window.addEventListener("touchend",R),()=>{window.removeEventListener("mousemove",v),window.removeEventListener("mouseup",k),window.removeEventListener("touchmove",w),window.removeEventListener("touchend",R)}),[v,k,w,R]),{handleMouseDown:y,handleTouchStart:g,isDragging:!!h.current,activeEditEvent:c}},kM={schematicEditIcon:50,schematicGridIcon:49,spiceSimulationIcon:50,viewMenuIcon:48,viewMenu:55,viewMenuBackdrop:54,clickToInteractOverlay:100},W2n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return me.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"16px",right:"64px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:kM.schematicEditIcon},children:me.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[me.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),me.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})})},Z2n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return me.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"56px",right:"64px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:kM.schematicGridIcon},children:me.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:me.jsx("path",{d:"M3 3h7v7H3zM14 3h7v7h-7zM3 14h7v7H3zM14 14h7v7h-7z"})})})},K2n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return me.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"16px",right:"16px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:kM.viewMenuIcon},children:me.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[me.jsx("circle",{cx:"12",cy:"12",r:"1"}),me.jsx("circle",{cx:"12",cy:"5",r:"1"}),me.jsx("circle",{cx:"12",cy:"19",r:"1"})]})})},Q2n={version:"2.0.39"},J2n=({circuitJson:n,circuitJsonKey:e,isVisible:t,onClose:i,showGroups:r,onToggleGroups:o})=>{const s=we.useMemo(()=>{if(!n||n.length===0)return!1;try{if((Ng(n).source_group?.list()||[]).length>0)return!0;const c=Ng(n).schematic_component?.list()||[];if(c.length>1){const l=new Set;for(const u of c){const d=Ng(n).source_component.get(u.source_component_id);d?.ftype&&l.add(d.ftype)}return l.size>1}return!1}catch(a){return console.error("Error checking for groups:",a),!1}},[e]);return t?me.jsxs(me.Fragment,{children:[me.jsx("div",{onClick:i,onTouchEnd:a=>{a.preventDefault(),i()},style:{position:"absolute",inset:0,backgroundColor:"transparent",zIndex:kM.viewMenuBackdrop}}),me.jsxs("div",{style:{position:"absolute",top:"56px",right:"16px",backgroundColor:"#ffffff",color:"#000000",border:"1px solid #ccc",borderRadius:"4px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",minWidth:"200px",zIndex:kM.viewMenu},children:[me.jsxs("div",{onClick:()=>{s&&o(!r)},onTouchEnd:a=>{a.preventDefault(),s&&o(!r)},style:{padding:"8px 12px",cursor:s?"pointer":"not-allowed",opacity:s?1:.5,fontSize:"13px",color:"#000000",fontFamily:"sans-serif",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:a=>{s&&(a.currentTarget.style.backgroundColor="#f0f0f0")},onMouseLeave:a=>{s&&(a.currentTarget.style.backgroundColor="transparent")},children:[me.jsx("div",{style:{width:"16px",height:"16px",border:"2px solid #000",borderRadius:"2px",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px",fontWeight:"bold"},children:r&&"✓"}),"View Schematic Groups"]}),!s&&me.jsx("div",{style:{padding:"8px 12px",fontSize:"11px",color:"#666",fontStyle:"italic"},children:"No groups found in this schematic"}),me.jsxs("div",{style:{padding:"4px 8px",fontSize:"12px",color:"#999",borderTop:"1px solid #eee",textAlign:"center"},children:["v",String(Q2n?.version)]})]})]}):null},e5n=()=>me.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:me.jsx("path",{d:"M3 12h2.5l2.5-9 4 18 4-9h5.5"})}),t5n=({onClick:n})=>me.jsx("div",{onClick:n,style:{position:"absolute",top:"16px",right:"112px",backgroundColor:"#fff",color:"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:kM.spiceSimulationIcon},children:me.jsx(e5n,{})});wH.register(m2n,g2n,W9n,X9n,i2n,d2n,t2n);var MH=["#8884d8","#82ca9d","#ffc658","#ff7300","#387908"],RJe=n=>{if(n===0)return"0s";const e=Math.abs(n);let t="s",i=1;return e<1e-12?(t="fs",i=1e15):e<1e-9?(t="ps",i=1e12):e<1e-6?(t="ns",i=1e9):e<.001?(t="us",i=1e6):e<1&&(t="ms",i=1e3),`${parseFloat((n*i).toPrecision(3))}${t}`},n5n=({plotData:n,nodes:e,isLoading:t,error:i})=>{const r=we.useMemo(()=>{const a=e.some(l=>l.toLowerCase().startsWith("v(")),c=e.some(l=>l.toLowerCase().startsWith("i("));return a&&c?"Value":a?"Voltage (V)":c?"Current (A)":"Value"},[e]);if(t)return me.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"Running simulation..."});if(i)return me.jsxs("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"red"},children:["Error: ",i]});if(n.length===0)return me.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"No data to plot. Check simulation output or SPICE netlist."});const o={datasets:e.map((a,c)=>({label:a,data:n.map(l=>({x:Number(l.name),y:l[a]})),borderColor:MH[c%MH.length],backgroundColor:MH[c%MH.length],fill:!1,tension:.1}))},s={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"top",labels:{font:{family:"sans-serif"}}},title:{display:!1},tooltip:{callbacks:{title:a=>{if(a.length>0){const c=a[0];return RJe(c.parsed.x)}return""}}}},scales:{x:{type:"linear",title:{display:!0,text:"Time",font:{family:"sans-serif"}},ticks:{callback:a=>RJe(a),font:{family:"sans-serif"}}},y:{title:{display:!0,text:r,font:{family:"sans-serif"}},ticks:{font:{family:"sans-serif"}}}}};return me.jsx("div",{style:{position:"relative",height:"300px",width:"100%"},children:me.jsx(A2n,{options:s,data:o})})},i5n=({spiceString:n,onClose:e,plotData:t,nodes:i,isLoading:r,error:o,simOptions:s,onSimOptionsChange:a})=>{const[c,l]=we.useState(String(s.startTime)),[u,d]=we.useState(String(s.duration));we.useEffect(()=>{l(String(s.startTime)),d(String(s.duration))},[s.startTime,s.duration]);const h=()=>{a({...s,startTime:Number(c),duration:Number(u)})},f=i.filter(m=>{const y=m.toLowerCase().startsWith("v("),g=m.toLowerCase().startsWith("i(");return!!(s.showVoltage&&y||s.showCurrent&&g)});return me.jsx("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1002,fontFamily:"sans-serif"},children:me.jsxs("div",{style:{backgroundColor:"white",padding:"24px",borderRadius:"12px",width:"90%",maxWidth:"900px",boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)"},children:[me.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"24px",borderBottom:"1px solid #eee",paddingBottom:"16px"},children:[me.jsx("h2",{style:{margin:0,fontSize:"22px",fontWeight:600,color:"#333"},children:"SPICE Simulation"}),me.jsx("button",{onClick:e,style:{background:"none",border:"none",fontSize:"28px",cursor:"pointer",color:"#888",padding:0,lineHeight:1},children:"×"})]}),me.jsx("div",{children:me.jsx(n5n,{plotData:t,nodes:f,isLoading:r,error:o})}),me.jsxs("div",{style:{marginTop:"16px",padding:"12px",backgroundColor:"#f7f7f7",borderRadius:"6px",display:"flex",flexWrap:"wrap",gap:"24px",alignItems:"center",fontSize:"14px"},children:[me.jsxs("div",{style:{display:"flex",gap:"16px"},children:[me.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[me.jsx("input",{type:"checkbox",checked:s.showVoltage,onChange:m=>a({...s,showVoltage:m.target.checked})}),"Voltage"]}),me.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[me.jsx("input",{type:"checkbox",checked:s.showCurrent,onChange:m=>a({...s,showCurrent:m.target.checked})}),"Current"]})]}),me.jsxs("div",{style:{display:"flex",gap:"16px",alignItems:"center"},children:[me.jsx("label",{htmlFor:"startTime",children:"Start Time (ms):"}),me.jsx("input",{id:"startTime",type:"number",value:c,onChange:m=>l(m.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),me.jsx("label",{htmlFor:"duration",children:"Duration (ms):"}),me.jsx("input",{id:"duration",type:"number",value:u,onChange:m=>d(m.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),me.jsx("button",{onClick:h,style:{padding:"4px 12px",borderRadius:"4px",border:"1px solid #ccc",backgroundColor:"#f0f0f0",cursor:"pointer"},children:"Rerun"})]})]}),me.jsxs("div",{style:{marginTop:"24px"},children:[me.jsx("h3",{style:{marginTop:0,marginBottom:"12px",fontSize:"18px",fontWeight:600,color:"#333"},children:"SPICE Netlist"}),me.jsx("pre",{style:{backgroundColor:"#fafafa",padding:"16px",borderRadius:"6px",maxHeight:"150px",overflowY:"auto",border:"1px solid #eee",color:"#333",fontSize:"13px",fontFamily:"monospace"},children:n})]})]})})},r5n="dmFyIGU9bnVsbCxzPWFzeW5jKCk9Pihhd2FpdCBpbXBvcnQoImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vZWVjaXJjdWl0LWVuZ2luZUAxLjUuMi8rZXNtIikpLlNpbXVsYXRpb24sYz1hc3luYygpPT57aWYoZSYmZS5pc0luaXRpYWxpemVkKCkpcmV0dXJuO2xldCBpPWF3YWl0IHMoKTtlPW5ldyBpLGF3YWl0IGUuc3RhcnQoKX07c2VsZi5vbm1lc3NhZ2U9YXN5bmMgaT0+e3RyeXtpZihhd2FpdCBjKCksIWUpdGhyb3cgbmV3IEVycm9yKCJTaW11bGF0aW9uIG5vdCBpbml0aWFsaXplZCIpO2xldCB0PWkuZGF0YS5zcGljZVN0cmluZyxhPXQubWF0Y2goL3dyZGF0YVxzKyhcUyspXHMrKC4qKS9pKTtpZihhKXtsZXQgbz1gLnByb2JlICR7YVsyXS50cmltKCkuc3BsaXQoL1xzKy8pLmpvaW4oIiAiKX1gO3Q9dC5yZXBsYWNlKC93cmRhdGEuKi9pLG8pfWVsc2UgaWYoIXQubWF0Y2goL1wucHJvYmUvaSkpdGhyb3cgdC5tYXRjaCgvcGxvdFxzKyguKikvaSk/bmV3IEVycm9yKCJUaGUgJ3Bsb3QnIGNvbW1hbmQgaXMgbm90IHN1cHBvcnRlZCBmb3IgZGF0YSBleHRyYWN0aW9uLiBQbGVhc2UgdXNlICd3cmRhdGEgPGZpbGVuYW1lPiA8dmFyMT4gLi4uJyBvciAnLnByb2JlIDx2YXIxPiAuLi4nIGluc3RlYWQuIik6bmV3IEVycm9yKCJObyAnLnByb2JlJyBvciAnd3JkYXRhJyBjb21tYW5kIGZvdW5kIGluIFNQSUNFIGZpbGUuIFVzZSAnd3JkYXRhIDxmaWxlbmFtZT4gPHZhcjE+IC4uLicgdG8gc3BlY2lmeSBvdXRwdXQuIik7ZS5zZXROZXRMaXN0KHQpO2xldCBuPWF3YWl0IGUucnVuU2ltKCk7c2VsZi5wb3N0TWVzc2FnZSh7dHlwZToicmVzdWx0IixyZXN1bHQ6bn0pfWNhdGNoKHQpe3NlbGYucG9zdE1lc3NhZ2Uoe3R5cGU6ImVycm9yIixlcnJvcjp0Lm1lc3NhZ2V9KX19Owo=",AH=null,o5n=()=>{if(typeof window>"u")return null;if(AH)return AH;try{const n=new Blob([atob(r5n)],{type:"application/javascript"});return AH=URL.createObjectURL(n),AH}catch(n){return console.error("Failed to create blob URL for worker",n),null}},s5n=n=>{const e={};if(n.dataType==="real")n.data.forEach(a=>{e[a.name]=a.values});else if(n.dataType==="complex")n.data.forEach(a=>{e[a.name]=a.values.map(c=>c.real)});else throw new Error("Unsupported data type in simulation result");const t=Object.keys(e).find(a=>a.toLowerCase()==="time"||a.toLowerCase()==="frequency");if(!t)throw new Error("No time or frequency data in simulation result");const i=e[t],r=Object.keys(e).filter(a=>a!==t),o=r;return{plotData:i.map((a,c)=>{const l={name:a.toExponential(2)};return r.forEach(u=>{l[u]=e[u][c]}),l}),nodes:o}},a5n=n=>{const[e,t]=we.useState([]),[i,r]=we.useState([]),[o,s]=we.useState(!0),[a,c]=we.useState(null);return we.useEffect(()=>{if(!n){s(!1),t([]),r([]),c(null);return}s(!0),c(null),t([]),r([]);const l=o5n();if(!l){c("Could not create SPICE simulation worker."),s(!1);return}const u=new Worker(l,{type:"module"});return u.onmessage=d=>{if(d.data.type==="result")try{const{plotData:h,nodes:f}=s5n(d.data.result);t(h),r(f)}catch(h){c(h.message||"Failed to parse simulation result"),console.error(h)}else d.data.type==="error"&&c(d.data.error);s(!1)},u.onerror=d=>{c(d.message),s(!1)},u.postMessage({spiceString:n}),()=>{u.terminate()}},[n]),{plotData:e,nodes:i,isLoading:o,error:a}},H_e=n=>{if(n===0)return"0";const e=Math.abs(n),t=i=>i.toPrecision(4);return e>=1?t(n):e>=.001?`${t(n*1e3)}m`:e>=1e-6?`${t(n*1e6)}u`:e>=1e-9?`${t(n*1e9)}n`:e>=1e-12?`${t(n*1e12)}p`:e>=1e-15?`${t(n*1e15)}f`:n.toExponential(3)},c5n=(n,e)=>{const i=L2n(n).toSpiceString(),o=i.split(`
|
|
5526
|
+
`,r.appendChild(v)}})}};o();const s=new MutationObserver(o);return s.observe(r,{childList:!0,subtree:!1,characterData:!1}),()=>{s.disconnect()}},[n,t,e,i])},CJe=["#8B0000","#2F4F4F","#191970","#006400","#FF4500","#800080","#2E8B57","#B8860B","#C71585","#008B8B"],$2n=n=>{const{svgDivRef:e,circuitJson:t,circuitJsonKey:i,showGroups:r}=n;we.useEffect(()=>{if(e.current&&e.current.querySelectorAll(".schematic-group-overlay").forEach(a=>a.remove()),!e.current||!r||!t||t.length===0)return;const o=setTimeout(()=>{if(!e.current)return;const s=e.current.querySelector("svg");if(!s)return;s.querySelectorAll(".schematic-group-overlay").forEach(c=>c.remove());try{const c=Ng(t).source_group?.list().filter(v=>!v.is_subcircuit)||[],l=Ng(t).schematic_component?.list()||[],u=new Map;c.forEach(v=>{const w=v;if(w.parent_source_group_id){const E=u.get(w.parent_source_group_id)||[];E.push(v.source_group_id),u.set(w.parent_source_group_id,E)}});const d=v=>{const w=[],E=u.get(v)||[];for(const k of E)w.push(k),w.push(...d(k));return w},h=v=>{const w=c.find(E=>E.source_group_id===v);return w?.parent_source_group_id?1+h(w.parent_source_group_id):0},f=c.length>0&&c.some(v=>v.name&&v.name.trim()!=="");let m=[];if(f){const v=new Map;for(const w of l){const E=Ng(t).source_component.get(w.source_component_id);E?.source_group_id&&(v.has(E.source_group_id)||v.set(E.source_group_id,[]),v.get(E.source_group_id).push(w))}c.forEach((w,E)=>{let k=v.get(w.source_group_id)||[];const R=d(w.source_group_id);for(const N of R){const M=v.get(N)||[];k=[...k,...M]}if(k.length>0){const N=h(w.source_group_id),M=d(w.source_group_id).length>0;if(w.name?.startsWith("unnamed_board"))return;m.push({id:w.source_group_id,name:w.name||`Group ${E+1}`,components:k,color:CJe[E%CJe.length],depthLevel:N,hasChildren:M,sourceGroupId:w.source_group_id})}})}const y=s.viewBox.baseVal,g=s.getBoundingClientRect(),x=Math.min(g.width/y.width,g.height/y.height)||1;m.sort((v,w)=>v.depthLevel-w.depthLevel),m.forEach(v=>{if(v.components.length===0)return;const w=j2n(v.components,s);if(!w)return;const E=Math.max(8,Math.min(25,15/Math.max(x,.3))),k=v.hasChildren?E*.6:0,R=E+k,N=Math.max(1,2/Math.max(x,.5)),M=v.depthLevel===0?N:N*.7,I=Math.max(4,8/Math.max(x,.5)),A=v.hasChildren?1.3:1,$=I*A,P=$*.5,j=document.createElementNS("http://www.w3.org/2000/svg","rect");j.setAttribute("class","schematic-group-overlay"),j.setAttribute("x",(w.minX-R).toString()),j.setAttribute("y",(w.minY-R).toString()),j.setAttribute("width",(w.maxX-w.minX+R*2).toString()),j.setAttribute("height",(w.maxY-w.minY+R*2).toString()),j.setAttribute("fill","none"),j.setAttribute("stroke",v.color),j.setAttribute("stroke-width",M.toString()),j.setAttribute("stroke-dasharray",`${$},${P}`),j.setAttribute("opacity","0.8"),j.setAttribute("rx","0"),j.setAttribute("ry","0");const G=Math.max(6,Math.min(20,14/Math.max(x,.2))),X=v.depthLevel===0||v.depthLevel===1?0:v.depthLevel*.2,Z=G*(1-X),J=Math.max(1,Z*.2),oe=v.name,ue=document.createElementNS("http://www.w3.org/2000/svg","text");ue.setAttribute("font-size",Z.toString()),ue.setAttribute("font-family","Arial, sans-serif"),ue.textContent=oe,s.appendChild(ue);const ge=ue.getBBox();s.removeChild(ue);const re=ge.width+J*2,se=Z+J*2,he=w.minX-R,Ee=w.minY-R-se,Ce=document.createElementNS("http://www.w3.org/2000/svg","rect");Ce.setAttribute("class","schematic-group-overlay"),Ce.setAttribute("x",he.toString()),Ce.setAttribute("y",(Ee-se).toString()),Ce.setAttribute("width",re.toString()),Ce.setAttribute("height",se.toString()),Ce.setAttribute("fill","transparent"),Ce.setAttribute("rx","0"),Ce.setAttribute("ry","0");const Oe=document.createElementNS("http://www.w3.org/2000/svg","text");Oe.setAttribute("class","schematic-group-overlay"),Oe.setAttribute("x",(he+J).toString()),Oe.setAttribute("y",(Ee+se-J).toString()),Oe.setAttribute("fill",v.color),Oe.setAttribute("font-size",Z.toString()),Oe.setAttribute("font-family","Arial, sans-serif"),Oe.setAttribute("font-weight",v.depthLevel===0?"600":"500"),Oe.setAttribute("stroke",v.color),Oe.setAttribute("stroke-width",Math.max(.2,Z*.02).toString()),Oe.textContent=oe,s.appendChild(j),s.appendChild(Ce),s.appendChild(Oe)})}catch(c){console.error("Error creating group overlays:",c)}},10);return()=>clearTimeout(o)},[e,i,r])};function j2n(n,e){let t=1/0,i=1/0,r=-1/0,o=-1/0;for(const a of n){let c=e.querySelector(`g[data-schematic-component-id="${a.schematic_component_id}"]`);if(c||(c=e.querySelector(`[data-schematic-component-id="${a.schematic_component_id}"]`)),c){const l=c.getBBox();t=Math.min(t,l.x),i=Math.min(i,l.y),r=Math.max(r,l.x+l.width),o=Math.max(o,l.y+l.height)}}return t===1/0?null:{minX:t,minY:i,maxX:r,maxY:o}}var H2n=u0("schematic-viewer"),V2n=()=>{u0.enable("schematic-viewer*")},G2n=H2n,q2n=n=>{const[e,t]=we.useState(0),[i,r]=we.useState(0);return we.useEffect(()=>{if(!n.current)return;const o=()=>{const a=n.current?.getBoundingClientRect();t(a?.width||0),r(a?.height||0)};o();const s=new ResizeObserver(o);return s.observe(n.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),{containerWidth:e,containerHeight:i}},Y2n=G2n.extend("useComponentDragging"),X2n=({onEditEvent:n,editEvents:e=[],circuitJson:t,cancelDrag:i,svgToScreenProjection:r,realToSvgProjection:o,enabled:s=!1,snapToGrid:a=!1})=>{const[c,l]=we.useState(null),u=ps(o,r),d=we.useRef(null),h=we.useRef(null),f=we.useRef(new Map);we.useEffect(()=>{e.forEach(N=>{"edit_event_type"in N&&N.edit_event_type==="edit_schematic_component_location"&&!N.in_progress&&f.current.set(N.schematic_component_id,{...N.new_center})})},[e]);const m=we.useCallback((N,M,I)=>{if(!s)return!1;const A=I.closest('[data-circuit-json-type="schematic_component"]');if(!A)return!1;const $=A.getAttribute("data-schematic-component-id");if(!$)return!1;i&&i();const P=Ng(t).schematic_component.get($);if(!P)return!1;d.current={x:N,y:M};let j;const G=f.current.get($);if(G)j={...G};else{const Z=AJe({editEvents:e,schematic_component_id:$});j={x:P.center.x+Z.x,y:P.center.y+Z.y},f.current.set($,{...j})}const X={edit_event_id:Math.random().toString(36).substr(2,9),edit_event_type:"edit_schematic_component_location",schematic_component_id:$,original_center:j,new_center:{...j},in_progress:!0,created_at:Date.now(),_element:A};return h.current=X,l(X),!0},[i,s,t,e]),y=we.useCallback(N=>{m(N.clientX,N.clientY,N.target)},[m]),g=we.useCallback(N=>{if(N.touches.length!==1)return;const M=N.touches[0];m(M.clientX,M.clientY,N.target)&&N.preventDefault()},[m]),x=we.useCallback((N,M)=>{if(!h.current||!d.current)return;const I={x:N-d.current.x,y:M-d.current.y},A={x:I.x/u.a,y:I.y/u.d};let $={x:h.current.original_center.x+A.x,y:h.current.original_center.y+A.y};if(a){const j=G=>Math.round(G*10)/10;$={x:j($.x),y:j($.y)}}const P={...h.current,new_center:$};h.current=P,l(P)},[u,a]),v=we.useCallback(N=>x(N.clientX,N.clientY),[x]),w=we.useCallback(N=>{if(N.touches.length!==1||!h.current)return;N.preventDefault();const M=N.touches[0];x(M.clientX,M.clientY)},[x]),E=we.useCallback(()=>{if(!h.current)return;const N={...h.current,in_progress:!1};f.current.set(N.schematic_component_id,{...N.new_center}),Y2n("endDrag calling onEditEvent with new edit event",{newEditEvent:N}),n&&n(N),h.current=null,d.current=null,l(null)},[n]),k=we.useCallback(()=>E(),[E]),R=we.useCallback(()=>E(),[E]);return we.useEffect(()=>(window.addEventListener("mousemove",v),window.addEventListener("mouseup",k),window.addEventListener("touchmove",w,{passive:!1}),window.addEventListener("touchend",R),()=>{window.removeEventListener("mousemove",v),window.removeEventListener("mouseup",k),window.removeEventListener("touchmove",w),window.removeEventListener("touchend",R)}),[v,k,w,R]),{handleMouseDown:y,handleTouchStart:g,isDragging:!!h.current,activeEditEvent:c}},kM={schematicEditIcon:50,schematicGridIcon:49,spiceSimulationIcon:50,viewMenuIcon:48,viewMenu:55,viewMenuBackdrop:54,clickToInteractOverlay:100},W2n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return me.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"16px",right:"64px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:kM.schematicEditIcon},children:me.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[me.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),me.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})})},Z2n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return me.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"56px",right:"64px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:kM.schematicGridIcon},children:me.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:me.jsx("path",{d:"M3 3h7v7H3zM14 3h7v7h-7zM3 14h7v7H3zM14 14h7v7h-7z"})})})},K2n=({onClick:n,active:e})=>{const t=i=>{i.preventDefault(),n()};return me.jsx("div",{onClick:t,onTouchEnd:t,style:{position:"absolute",top:"16px",right:"16px",backgroundColor:e?"#4CAF50":"#fff",color:e?"#fff":"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:kM.viewMenuIcon},children:me.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[me.jsx("circle",{cx:"12",cy:"12",r:"1"}),me.jsx("circle",{cx:"12",cy:"5",r:"1"}),me.jsx("circle",{cx:"12",cy:"19",r:"1"})]})})},Q2n={version:"2.0.40"},J2n=({circuitJson:n,circuitJsonKey:e,isVisible:t,onClose:i,showGroups:r,onToggleGroups:o})=>{const s=we.useMemo(()=>{if(!n||n.length===0)return!1;try{if((Ng(n).source_group?.list()||[]).length>0)return!0;const c=Ng(n).schematic_component?.list()||[];if(c.length>1){const l=new Set;for(const u of c){const d=Ng(n).source_component.get(u.source_component_id);d?.ftype&&l.add(d.ftype)}return l.size>1}return!1}catch(a){return console.error("Error checking for groups:",a),!1}},[e]);return t?me.jsxs(me.Fragment,{children:[me.jsx("div",{onClick:i,onTouchEnd:a=>{a.preventDefault(),i()},style:{position:"absolute",inset:0,backgroundColor:"transparent",zIndex:kM.viewMenuBackdrop}}),me.jsxs("div",{style:{position:"absolute",top:"56px",right:"16px",backgroundColor:"#ffffff",color:"#000000",border:"1px solid #ccc",borderRadius:"4px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",minWidth:"200px",zIndex:kM.viewMenu},children:[me.jsxs("div",{onClick:()=>{s&&o(!r)},onTouchEnd:a=>{a.preventDefault(),s&&o(!r)},style:{padding:"8px 12px",cursor:s?"pointer":"not-allowed",opacity:s?1:.5,fontSize:"13px",color:"#000000",fontFamily:"sans-serif",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:a=>{s&&(a.currentTarget.style.backgroundColor="#f0f0f0")},onMouseLeave:a=>{s&&(a.currentTarget.style.backgroundColor="transparent")},children:[me.jsx("div",{style:{width:"16px",height:"16px",border:"2px solid #000",borderRadius:"2px",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px",fontWeight:"bold"},children:r&&"✓"}),"View Schematic Groups"]}),!s&&me.jsx("div",{style:{padding:"8px 12px",fontSize:"11px",color:"#666",fontStyle:"italic"},children:"No groups found in this schematic"}),me.jsxs("div",{style:{padding:"4px 8px",fontSize:"12px",color:"#999",borderTop:"1px solid #eee",textAlign:"center"},children:["v",String(Q2n?.version)]})]})]}):null},e5n=()=>me.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:me.jsx("path",{d:"M3 12h2.5l2.5-9 4 18 4-9h5.5"})}),t5n=({onClick:n})=>me.jsx("div",{onClick:n,style:{position:"absolute",top:"16px",right:"112px",backgroundColor:"#fff",color:"#000",padding:"8px",borderRadius:"4px",cursor:"pointer",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",gap:"4px",zIndex:kM.spiceSimulationIcon},children:me.jsx(e5n,{})});wH.register(m2n,g2n,W9n,X9n,i2n,d2n,t2n);var MH=["#8884d8","#82ca9d","#ffc658","#ff7300","#387908"],RJe=n=>{if(n===0)return"0s";const e=Math.abs(n);let t="s",i=1;return e<1e-12?(t="fs",i=1e15):e<1e-9?(t="ps",i=1e12):e<1e-6?(t="ns",i=1e9):e<.001?(t="us",i=1e6):e<1&&(t="ms",i=1e3),`${parseFloat((n*i).toPrecision(3))}${t}`},n5n=({plotData:n,nodes:e,isLoading:t,error:i})=>{const r=we.useMemo(()=>{const a=e.some(l=>l.toLowerCase().startsWith("v(")),c=e.some(l=>l.toLowerCase().startsWith("i("));return a&&c?"Value":a?"Voltage (V)":c?"Current (A)":"Value"},[e]);if(t)return me.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"Running simulation..."});if(i)return me.jsxs("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"red"},children:["Error: ",i]});if(n.length===0)return me.jsx("div",{style:{height:"300px",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:"No data to plot. Check simulation output or SPICE netlist."});const o={datasets:e.map((a,c)=>({label:a,data:n.map(l=>({x:Number(l.name),y:l[a]})),borderColor:MH[c%MH.length],backgroundColor:MH[c%MH.length],fill:!1,tension:.1}))},s={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"top",labels:{font:{family:"sans-serif"}}},title:{display:!1},tooltip:{callbacks:{title:a=>{if(a.length>0){const c=a[0];return RJe(c.parsed.x)}return""}}}},scales:{x:{type:"linear",title:{display:!0,text:"Time",font:{family:"sans-serif"}},ticks:{callback:a=>RJe(a),font:{family:"sans-serif"}}},y:{title:{display:!0,text:r,font:{family:"sans-serif"}},ticks:{font:{family:"sans-serif"}}}}};return me.jsx("div",{style:{position:"relative",height:"300px",width:"100%"},children:me.jsx(A2n,{options:s,data:o})})},i5n=({spiceString:n,onClose:e,plotData:t,nodes:i,isLoading:r,error:o,simOptions:s,onSimOptionsChange:a})=>{const[c,l]=we.useState(String(s.startTime)),[u,d]=we.useState(String(s.duration));we.useEffect(()=>{l(String(s.startTime)),d(String(s.duration))},[s.startTime,s.duration]);const h=()=>{a({...s,startTime:Number(c),duration:Number(u)})},f=i.filter(m=>{const y=m.toLowerCase().startsWith("v("),g=m.toLowerCase().startsWith("i(");return!!(s.showVoltage&&y||s.showCurrent&&g)});return me.jsx("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1002,fontFamily:"sans-serif"},children:me.jsxs("div",{style:{backgroundColor:"white",padding:"24px",borderRadius:"12px",width:"90%",maxWidth:"900px",boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)"},children:[me.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"24px",borderBottom:"1px solid #eee",paddingBottom:"16px"},children:[me.jsx("h2",{style:{margin:0,fontSize:"22px",fontWeight:600,color:"#333"},children:"SPICE Simulation"}),me.jsx("button",{onClick:e,style:{background:"none",border:"none",fontSize:"28px",cursor:"pointer",color:"#888",padding:0,lineHeight:1},children:"×"})]}),me.jsx("div",{children:me.jsx(n5n,{plotData:t,nodes:f,isLoading:r,error:o})}),me.jsxs("div",{style:{marginTop:"16px",padding:"12px",backgroundColor:"#f7f7f7",borderRadius:"6px",display:"flex",flexWrap:"wrap",gap:"24px",alignItems:"center",fontSize:"14px"},children:[me.jsxs("div",{style:{display:"flex",gap:"16px"},children:[me.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[me.jsx("input",{type:"checkbox",checked:s.showVoltage,onChange:m=>a({...s,showVoltage:m.target.checked})}),"Voltage"]}),me.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[me.jsx("input",{type:"checkbox",checked:s.showCurrent,onChange:m=>a({...s,showCurrent:m.target.checked})}),"Current"]})]}),me.jsxs("div",{style:{display:"flex",gap:"16px",alignItems:"center"},children:[me.jsx("label",{htmlFor:"startTime",children:"Start Time (ms):"}),me.jsx("input",{id:"startTime",type:"number",value:c,onChange:m=>l(m.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),me.jsx("label",{htmlFor:"duration",children:"Duration (ms):"}),me.jsx("input",{id:"duration",type:"number",value:u,onChange:m=>d(m.target.value),style:{width:"80px",padding:"4px 8px",borderRadius:"4px",border:"1px solid #ccc"}}),me.jsx("button",{onClick:h,style:{padding:"4px 12px",borderRadius:"4px",border:"1px solid #ccc",backgroundColor:"#f0f0f0",cursor:"pointer"},children:"Rerun"})]})]}),me.jsxs("div",{style:{marginTop:"24px"},children:[me.jsx("h3",{style:{marginTop:0,marginBottom:"12px",fontSize:"18px",fontWeight:600,color:"#333"},children:"SPICE Netlist"}),me.jsx("pre",{style:{backgroundColor:"#fafafa",padding:"16px",borderRadius:"6px",maxHeight:"150px",overflowY:"auto",border:"1px solid #eee",color:"#333",fontSize:"13px",fontFamily:"monospace"},children:n})]})]})})},r5n="dmFyIGU9bnVsbCxzPWFzeW5jKCk9Pihhd2FpdCBpbXBvcnQoImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vZWVjaXJjdWl0LWVuZ2luZUAxLjUuMi8rZXNtIikpLlNpbXVsYXRpb24sYz1hc3luYygpPT57aWYoZSYmZS5pc0luaXRpYWxpemVkKCkpcmV0dXJuO2xldCBpPWF3YWl0IHMoKTtlPW5ldyBpLGF3YWl0IGUuc3RhcnQoKX07c2VsZi5vbm1lc3NhZ2U9YXN5bmMgaT0+e3RyeXtpZihhd2FpdCBjKCksIWUpdGhyb3cgbmV3IEVycm9yKCJTaW11bGF0aW9uIG5vdCBpbml0aWFsaXplZCIpO2xldCB0PWkuZGF0YS5zcGljZVN0cmluZyxhPXQubWF0Y2goL3dyZGF0YVxzKyhcUyspXHMrKC4qKS9pKTtpZihhKXtsZXQgbz1gLnByb2JlICR7YVsyXS50cmltKCkuc3BsaXQoL1xzKy8pLmpvaW4oIiAiKX1gO3Q9dC5yZXBsYWNlKC93cmRhdGEuKi9pLG8pfWVsc2UgaWYoIXQubWF0Y2goL1wucHJvYmUvaSkpdGhyb3cgdC5tYXRjaCgvcGxvdFxzKyguKikvaSk/bmV3IEVycm9yKCJUaGUgJ3Bsb3QnIGNvbW1hbmQgaXMgbm90IHN1cHBvcnRlZCBmb3IgZGF0YSBleHRyYWN0aW9uLiBQbGVhc2UgdXNlICd3cmRhdGEgPGZpbGVuYW1lPiA8dmFyMT4gLi4uJyBvciAnLnByb2JlIDx2YXIxPiAuLi4nIGluc3RlYWQuIik6bmV3IEVycm9yKCJObyAnLnByb2JlJyBvciAnd3JkYXRhJyBjb21tYW5kIGZvdW5kIGluIFNQSUNFIGZpbGUuIFVzZSAnd3JkYXRhIDxmaWxlbmFtZT4gPHZhcjE+IC4uLicgdG8gc3BlY2lmeSBvdXRwdXQuIik7ZS5zZXROZXRMaXN0KHQpO2xldCBuPWF3YWl0IGUucnVuU2ltKCk7c2VsZi5wb3N0TWVzc2FnZSh7dHlwZToicmVzdWx0IixyZXN1bHQ6bn0pfWNhdGNoKHQpe3NlbGYucG9zdE1lc3NhZ2Uoe3R5cGU6ImVycm9yIixlcnJvcjp0Lm1lc3NhZ2V9KX19Owo=",AH=null,o5n=()=>{if(typeof window>"u")return null;if(AH)return AH;try{const n=new Blob([atob(r5n)],{type:"application/javascript"});return AH=URL.createObjectURL(n),AH}catch(n){return console.error("Failed to create blob URL for worker",n),null}},s5n=n=>{const e={};if(n.dataType==="real")n.data.forEach(a=>{e[a.name]=a.values});else if(n.dataType==="complex")n.data.forEach(a=>{e[a.name]=a.values.map(c=>c.real)});else throw new Error("Unsupported data type in simulation result");const t=Object.keys(e).find(a=>a.toLowerCase()==="time"||a.toLowerCase()==="frequency");if(!t)throw new Error("No time or frequency data in simulation result");const i=e[t],r=Object.keys(e).filter(a=>a!==t),o=r;return{plotData:i.map((a,c)=>{const l={name:a.toExponential(2)};return r.forEach(u=>{l[u]=e[u][c]}),l}),nodes:o}},a5n=n=>{const[e,t]=we.useState([]),[i,r]=we.useState([]),[o,s]=we.useState(!0),[a,c]=we.useState(null);return we.useEffect(()=>{if(!n){s(!1),t([]),r([]),c(null);return}s(!0),c(null),t([]),r([]);const l=o5n();if(!l){c("Could not create SPICE simulation worker."),s(!1);return}const u=new Worker(l,{type:"module"});return u.onmessage=d=>{if(d.data.type==="result")try{const{plotData:h,nodes:f}=s5n(d.data.result);t(h),r(f)}catch(h){c(h.message||"Failed to parse simulation result"),console.error(h)}else d.data.type==="error"&&c(d.data.error);s(!1)},u.onerror=d=>{c(d.message),s(!1)},u.postMessage({spiceString:n}),()=>{u.terminate()}},[n]),{plotData:e,nodes:i,isLoading:o,error:a}},H_e=n=>{if(n===0)return"0";const e=Math.abs(n),t=i=>i.toPrecision(4);return e>=1?t(n):e>=.001?`${t(n*1e3)}m`:e>=1e-6?`${t(n*1e6)}u`:e>=1e-9?`${t(n*1e9)}n`:e>=1e-12?`${t(n*1e12)}p`:e>=1e-15?`${t(n*1e15)}f`:n.toExponential(3)},c5n=(n,e)=>{const i=L2n(n).toSpiceString(),o=i.split(`
|
|
5527
5527
|
`).filter(A=>A.trim()!=="").filter(A=>!A.startsWith("*")&&!A.startsWith(".")&&A.trim()!==""),s=new Set,a=new Set,c=new Set;for(const A of o){const $=A.trim().split(/\s+/);if($.length<3)continue;const P=$[0],j=P[0].toUpperCase();let G=[];if(["R","C","L","V","I","D"].includes(j))G=$.slice(1,3),j==="V"&&c.add(P);else if(j==="Q"&&$.length>=4)G=$.slice(1,4);else if(j==="M"&&$.length>=5)G=$.slice(1,5);else if(j==="X")G=$.slice(1,-1);else continue;G.forEach(X=>s.add(X)),j==="C"&&G.forEach(X=>a.add(X))}s.delete("0"),a.delete("0");const l=Array.from(a).map(A=>`.ic V(${A})=0`),u=[],d=Array.from(s).map(A=>`V(${A})`);u.push(...d);const h=Array.from(c).map(A=>`I(${A})`);u.push(...h);const f=u.length>0?`.probe ${u.join(" ")}`:"",m=e?.startTime??0,y=e?.duration??20,g=m*.001,x=y*.001,v=g+x,w=x/50,E=`.tran ${H_e(w)} ${H_e(v)} ${H_e(g)} UIC`,k=".end",R=i.split(`
|
|
5528
5528
|
`);let N=-1;for(let A=R.length-1;A>=0;A--)if(R[A].trim().toLowerCase().startsWith(k)){N=A;break}const M=[...l,f,E].filter(Boolean);let I;if(N!==-1){const A=R.slice(0,N),$=R.slice(N);I=[...A,...M,...$]}else I=[...R,...M,k];return I.join(`
|
|
5529
5529
|
`)},l5n=(n,e)=>{if(typeof window>"u")return e;try{const t=localStorage.getItem(n);return t!==null?JSON.parse(t):e}catch{return e}},u5n=(n,e)=>{if(!(typeof window>"u"))try{localStorage.setItem(n,JSON.stringify(e))}catch{}},d5n=({circuitJson:n,containerStyle:e,editEvents:t=[],onEditEvent:i,defaultEditMode:r=!1,debugGrid:o=!1,editingEnabled:s=!1,debug:a=!1,clickToInteractEnabled:c=!1,colorOverrides:l,spiceSimulationEnabled:u=!1,disableGroups:d=!1})=>{a&&V2n();const[h,f]=we.useState(!1),[m,y]=we.useState({showVoltage:!0,showCurrent:!1,startTime:0,duration:20}),g=ze=>`${ze?.length||0}_${ze?.editCount||0}`,x=we.useMemo(()=>g(n),[n]),v=we.useMemo(()=>{if(!u)return null;try{return c5n(n,m)}catch(ze){return console.error("Failed to generate SPICE string",ze),null}},[x,u,m.startTime,m.duration]),{plotData:w,nodes:E,isLoading:k,error:R}=a5n(v),[N,M]=we.useState(r),[I,A]=we.useState(!0),[$,P]=we.useState(!c),[j,G]=we.useState(!1),[X,Z]=we.useState(()=>d?!1:l5n("schematic_viewer_show_groups",!1)),J=we.useRef(null),oe=we.useRef(null),ue=ze=>{const Ie=ze.touches[0];oe.current={x:Ie.clientX,y:Ie.clientY}},ge=ze=>{const Ie=ze.changedTouches[0],We=oe.current;if(!We)return;const De=Math.abs(Ie.clientX-We.x),Ke=Math.abs(Ie.clientY-We.y);De<10&&Ke<10&&(ze.preventDefault(),P(!0)),oe.current=null},[re,se]=we.useState([]),he=we.useRef(n);we.useEffect(()=>{const ze=g(n),Ie=g(he.current);ze!==Ie&&(se([]),he.current=n)},[n]);const{ref:Ee,cancelDrag:Ce,transform:Oe}=MKe({onSetTransform(ze){J.current&&(J.current.style.transform=I3(ze))},enabled:$&&!h}),{containerWidth:Ve,containerHeight:Ne}=q2n(Ee),ce=we.useMemo(()=>!Ve||!Ne?"":c_e(n,{width:Ve,height:Ne||720,grid:o?{cellSize:1,labelCells:!0}:void 0,colorOverrides:l}),[x,Ve,Ne]),Se=we.useMemo(()=>ce.match(/<svg[^>]*style="[^"]*background-color:\s*([^;\"]+)/i)?.[1]??"transparent",[ce]),ve=we.useMemo(()=>{if(!ce)return Xm();const ze=ce.match(/data-real-to-screen-transform="([^"]+)"/)?.[1];try{return WZ(ze)}catch(Ie){return console.error(Ie),Xm()}},[ce]),qe=ze=>{se(Ie=>[...Ie,ze]),i&&i(ze)},Je=we.useMemo(()=>[...t,...re],[t,re]),{handleMouseDown:ot,handleTouchStart:Te,isDragging:ut,activeEditEvent:Ze}=X2n({onEditEvent:qe,cancelDrag:Ce,realToSvgProjection:ve,svgToScreenProjection:Oe,circuitJson:n,editEvents:Je,enabled:N&&$&&!h,snapToGrid:I});B2n({svgDivRef:J,editEvents:Je,realToSvgProjection:ve,svgToScreenProjection:Oe,activeEditEvent:Ze}),U2n({svgDivRef:J,circuitJson:n,activeEditEvent:Ze,editEvents:Je}),$2n({svgDivRef:J,circuitJson:n,circuitJsonKey:x,showGroups:X&&!d});const Ye=we.useRef(Te);we.useEffect(()=>{Ye.current=Te},[Te]);const Qe=we.useMemo(()=>me.jsx("div",{ref:J,style:{pointerEvents:c?$?"auto":"none":"auto",transformOrigin:"0 0"},onTouchStart:ze=>{N&&$&&!h&&Ye.current(ze)},dangerouslySetInnerHTML:{__html:ce}}),[ce,$,c,N,h]);return me.jsxs("div",{ref:Ee,style:{position:"relative",backgroundColor:Se,overflow:"hidden",cursor:h?"auto":ut?"grabbing":c&&!$?"pointer":"grab",minHeight:"300px",...e},onWheelCapture:ze=>{h&&ze.stopPropagation()},onMouseDown:ze=>{if(c&&!$){ze.preventDefault(),ze.stopPropagation();return}ot(ze)},onMouseDownCapture:ze=>{if(c&&!$){ze.preventDefault(),ze.stopPropagation();return}},onTouchStart:ze=>{h||ue(ze)},onTouchEnd:ze=>{h||ge(ze)},children:[!$&&c&&me.jsx("div",{onClick:ze=>{ze.preventDefault(),ze.stopPropagation(),P(!0)},style:{position:"absolute",inset:0,cursor:"pointer",zIndex:kM.clickToInteractOverlay,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"all",touchAction:"pan-x pan-y pinch-zoom"},children:me.jsx("div",{style:{backgroundColor:"rgba(0, 0, 0, 0.8)",color:"white",padding:"12px 24px",borderRadius:"8px",fontSize:"16px",fontFamily:"sans-serif",pointerEvents:"none"},children:typeof window<"u"&&("ontouchstart"in window||navigator.maxTouchPoints>0)?"Touch to Interact":"Click to Interact"})}),me.jsx(K2n,{active:j,onClick:()=>G(!j)}),s&&me.jsx(W2n,{active:N,onClick:()=>M(!N)}),s&&N&&me.jsx(Z2n,{active:I,onClick:()=>A(!I)}),me.jsx(J2n,{circuitJson:n,circuitJsonKey:x,isVisible:j,onClose:()=>G(!1),showGroups:X,onToggleGroups:ze=>{d||(Z(ze),u5n("schematic_viewer_show_groups",ze))}}),u&&me.jsx(t5n,{onClick:()=>f(!0)}),h&&me.jsx(i5n,{spiceString:v,onClose:()=>f(!1),plotData:w,nodes:E,isLoading:k,error:R,simOptions:m,onSimOptionsChange:y}),Qe]})},h5n=n=>{const[e,t]=we.useState(0),[i,r]=we.useState(0);return we.useEffect(()=>{if(!n.current)return;const o=()=>{const a=n.current?.getBoundingClientRect();t(a?.width||0),r(a?.height||0)};o();const s=new ResizeObserver(o);return s.observe(n.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),{containerWidth:e,containerHeight:i}};u0("assembly-viewer");var p5n=()=>{u0.enable("assembly-viewer*")},f5n=({circuitJson:n,containerStyle:e,debugGrid:t=!1,debug:i=!1})=>{i&&p5n();const r=we.useRef(null),{ref:o}=MKe({onSetTransform(u){r.current&&(r.current.style.transform=I3(u))}}),{containerWidth:s,containerHeight:a}=h5n(o),c=we.useMemo(()=>!s||!a?"":mKe(n,{width:s,height:a||720}),[n,s,a]);we.useMemo(()=>{if(!c)return Xm();const u=c.match(/data-real-to-screen-transform="([^"]+)"/)?.[1];try{return WZ(u)}catch(d){return console.error(d),Xm()}},[c]);const l=we.useMemo(()=>me.jsx("div",{ref:r,style:{pointerEvents:"auto",transformOrigin:"0 0"},dangerouslySetInnerHTML:{__html:c}}),[c]);return me.jsx("div",{ref:o,style:{position:"relative",backgroundColor:"#FFFFFF",overflow:"hidden",minHeight:"300px",...e},children:l})};const PJe=["Initialize a tscircuit project using [tsci init](https://github.com/tscircuit/cli) before adding components.","Define reusable modules with cached routes using [<subcircuit />](https://docs.tscircuit.com/elements/subcircuit)","Run `tsci dev` on the command line to preview your boards before export",'Use units like mm or mils consistently across your designs (e.g. pcbX="10mm")',"Quickly set footprints with the [footprint prop](https://docs.tscircuit.com/footprints/footprinter-strings)","Check out the guide on [ordering prototypes](https://docs.tscircuit.com/building-electronics/ordering-prototypes)","Use [net labels](https://docs.tscircuit.com/elements/net) and [group elements](https://docs.tscircuit.com/elements/group) to organize complex schematics.","You can manually drag components on the PCB and Schematic using [manual edits](https://docs.tscircuit.com/guides/manual-edits)","Every tscircuit module can export to [Circuit JSON](https://github.com/tscircuit/circuit-json), Gerbers, Pick'n'Place CSV files, Bill of Materials CSV and more","You can import components from [JLCPCB](https://docs.tscircuit.com/guides/importing-modules-and-chips/importing-from-jlcpcb) or [KiCad](https://docs.tscircuit.com/guides/importing-modules-and-chips/importing-from-kicad)","Any module you push to the [registry](https://tscircuit.com/trending) will have [simple image urls](https://docs.tscircuit.com/web-apis/image-generation-api) you can use display images on a website","The default [Parts Engine](https://docs.tscircuit.com/guides/platform-configuration) will automatically find parts from common vendors for your BOM",'[Pin selectors](https://docs.tscircuit.com/guides/using-sel-references) are similar to CSS selectors, ".R1 > .pin1" means "connect to the first pin of the component R1"',"You can use the [sel](https://docs.tscircuit.com/guides/using-sel-references) object to select pins in a type-safe way","Publish modules via the [registry](https://tscircuit.com/trending) for working with a team or sharing your work","[Explore tutorials](https://docs.tscircuit.com/category/tutorials) for real-world circuit design examples.","Upload your Circuit JSON to [circuitjson.com](https://circuitjson.com) for a quick preview.","You can display Circuit JSON in 3D, PCB or Schematic mode with the [<CircuitJsonPreview />](https://docs.tscircuit.com/elements/circuitjsonpreview) React component","Use a [<group />](https://docs.tscircuit.com/elements/group) element to move multiple components at once in a schematic or PCB layout.","Check out the [GitHub Discussions page](https://github.com/tscircuit/tscircuit/discussions) to upvote features","You can customize the autorouter using the [autorouter prop](https://docs.tscircuit.com/elements/board#setting-the-autorouter)","Use the [<constraint />](https://docs.tscircuit.com/footprints/constraint) element to enforce geometric relationships in PCB designs.","Join the [Discord server](https://tscircuit.com/join) to discuss issues and get help directly from the community."],m5n=(()=>{let n=PJe[Math.floor(Math.random()*PJe.length)];return n=n.replace(/</g,"<"),n=n.replace(/>/g,">"),n=n.replace(new RegExp('(?<!href=")(?<!\\()(?<!\\]\\()(https?:\\/\\/[^\\s\\)\\]]+)',"g"),(e,t)=>`<a class="rf-text-blue-500 rf-underline" href="${e}" target="_blank">${e}</a>`),n=n.replace(/\[([^\]]+)\]\((https?:\/\/[^\)]+)\)/g,'<a class="rf-text-blue-500 rf-underline" href="$2" target="_blank">$1</a>'),n})(),OM=({onRunClicked:n})=>me.jsxs("div",{className:"rf-flex rf-flex-col rf-items-center rf-justify-center rf-h-full rf-bg-gray-50 rf-text-gray-500 rf-p-4",children:[me.jsx(lmn,{className:"rf-size-14 rf-mb-4"}),me.jsxs("p",{className:"rf-text-md rf-break-words rf-max-w-xl rf-text-center",children:["Tip: ",me.jsx("span",{dangerouslySetInnerHTML:{__html:m5n}})]}),n&&me.jsxs(vm,{className:"rf-mt-4 rf-bg-blue-600 rf-hover:bg-blue-500",onClick:n,children:["Run Code",me.jsx(oWe,{className:"rf-w-3 rf-h-3 rf-ml-2"})]})]}),CH=({text:n,onClick:e})=>me.jsx("span",{className:"rf-cursor-pointer rf-underline rf-text-blue-600 rf-mx-2",onClick:e,children:n}),RH=n=>me.jsxs("div",{className:"rf-leading-5",children:[me.jsx("div",{className:"rf-py-2 rf-font-bold",children:n.column.name}),me.jsx("div",{children:n.field?.()??me.jsx("input",{type:"text",className:"rf-border rf-rounded rf-p-1 rf-w-full",onChange:e=>{n.onTextChange?.(e.target.value)}})})]}),_5n=({open:n,children:e,title:t,onClose:i})=>n?me.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-justify-center rf-items-center rf-z-50",onClick:i,children:me.jsxs("div",{className:"rf-bg-white rf-p-5 rf-rounded-lg rf-relative rf-w-11/12 rf-max-w-2xl",onClick:r=>{r.preventDefault(),r.stopPropagation()},children:[me.jsx("h2",{className:"rf-mt-0 rf-text-md rf-pb-4",children:t}),me.jsx("button",{type:"button",className:"rf-absolute rf-top-2 rf-right-4 rf-text-2xl rf-font-bold",onClick:i,children:"×"}),e]})}):null,y5n=({elements:n})=>{const[e,t]=we.useState({open:!1}),[i,r]=we.useReducer((u,d)=>({...u,...d}),{}),o=[...new Set(n.map(u=>u.type))],s=n.map(u=>{const d=u[`${u.type}_id`],h=Object.fromEntries(Object.entries(u).filter(([m])=>!(m===`${u.type}_id`||!m.endsWith("_id")))),f=Object.fromEntries(Object.entries(u).filter(([m])=>!m.endsWith("_id")));return{primary_id:d,other_ids:h,...f,_og_elm:u}}),a=s.map(u=>{let d="";const h=f=>{const m=Object.keys(f.other_ids).find(x=>x.startsWith("source_"));if(!m)return`.${f.name}`;const y=m.slice(0,-3),g=s.find(x=>x.type===y&&x.primary_id===f.other_ids[m]);return g?"name"in g?`${h(g)} > .${f.name}`:`#${g.primary_id} > .${f.name}`:`??? > .${f.name}`};return"name"in u&&(d=h(u)),{...u,selector_path:d}}),c=[{key:"primary_id",name:"primary_id",renderCell:u=>me.jsxs("div",{className:"rf-flex rf-items-center",children:[me.jsx(CH,{text:u.primary_id,onClick:()=>r({focused_id:u.primary_id,id_search:void 0,selector_search:void 0})}),me.jsx("span",{className:"rf-flex-grow"}),me.jsx(CH,{text:"(JSON)",onClick:()=>t({open:!0,element:u._og_elm,title:u.primary_id})})]}),renderHeaderCell:u=>me.jsx(RH,{column:u,onTextChange:d=>r({id_search:d}),field:i.focused_id?()=>me.jsxs("div",{children:["Focus:"," ",me.jsx("span",{className:"rf-underline",children:i.focused_id}),me.jsx(CH,{text:"(unfocus)",onClick:()=>r({focused_id:void 0})})]}):void 0})},{key:"type",name:"type",renderHeaderCell:u=>me.jsx(RH,{column:u,field:()=>me.jsxs("select",{onChange:d=>r({component_type_filter:d.target.value}),className:"rf-border rf-rounded rf-p-1 rf-w-full",children:[me.jsx("option",{value:"any",children:"any"},"any"),me.jsx("option",{value:"source",children:"source"},"source"),me.jsx("option",{value:"source/pcb",children:"source/pcb"},"source/pcb"),me.jsx("option",{value:"source/schematic",children:"source/schematic"},"source/schematic"),o.map(d=>me.jsx("option",{value:d,children:d},d))]})})},{key:"name",name:"name",renderHeaderCell:u=>me.jsx(RH,{column:u,onTextChange:d=>r({name_search:d})})},{key:"selector_path",name:"selector_path",renderHeaderCell:u=>me.jsx(RH,{column:u,onTextChange:d=>r({selector_search:d})})},{key:"other_ids",name:"other_ids",renderCell:u=>me.jsx("div",{className:"rf-space-x-2",children:Object.entries(u.other_ids).map(([d,h])=>me.jsx(CH,{text:h,onClick:()=>r({focused_id:h})},h))})}],l=a.filter(u=>i.name_search?u.name?.toLowerCase()?.includes(i.name_search.toLowerCase()):!0).filter(u=>!i.component_type_filter||i.component_type_filter==="any"?!0:i.component_type_filter==="source"?u.type.startsWith("source_"):i.component_type_filter==="source/pcb"?u.type.startsWith("source_")||u.type.startsWith("pcb_"):i.component_type_filter==="source/schematic"?u.type.startsWith("source_")||u.type.startsWith("schematic_"):u.type?.includes(i.component_type_filter)).filter(u=>i.selector_search?i.selector_search.split(" ").filter(h=>h.length>0).every(h=>u.selector_path?.includes(h)):!0).filter(u=>i.id_search?u.primary_id?.includes(i.id_search):!0).filter(u=>!!(!i.focused_id||u.primary_id===i.focused_id||Object.values(u.other_ids).includes(i.focused_id)));return me.jsxs("div",{className:"rf-font-mono rf-text-xs rf-bg-white",children:[me.jsx("div",{className:"rf-overflow-x-auto",children:me.jsxs("table",{className:"rf-table-auto rf-w-full rf-text-left",children:[me.jsx("thead",{children:me.jsx("tr",{children:c.map(u=>me.jsx("th",{className:"rf-px-4 rf-py-2 rf-border-b",children:u.renderHeaderCell?u.renderHeaderCell(u):u.name},u.key))})}),me.jsx("tbody",{children:l.map((u,d)=>me.jsx("tr",{className:"rf-hover:bg-gray-100",children:c.map(h=>me.jsx("td",{className:"rf-px-4 rf-py-2 rf-border-b",children:h.renderCell?h.renderCell(u):u[h.key]},h.key))},d))})]})}),me.jsx(_5n,{open:e.open,onClose:()=>t({open:!1}),title:e.open?e.title:"",children:me.jsx("div",{className:"rf-bg-gray-800 rf-p-3 rf-text-white rf-rounded",children:me.jsx("pre",{className:"rf-whitespace-pre-wrap",children:e.open?JSON.stringify(e.element,null,2):""})})})]})},g5n=(n,e)=>n==="jlcpcb"?me.jsx("a",{className:"rf-underline rf-text-blue-500",target:"_blank",rel:"noreferrer",href:`https://jlcpcb.com/partdetail/${e}`,children:e}):e,v5n=({circuitJson:n})=>{const e=n.filter(i=>i.type==="source_component"),t=new Set;for(const i of e)if(i.supplier_part_numbers)for(const r of Object.keys(i.supplier_part_numbers))t.add(r);return me.jsx("div",{className:"rf-overflow-x-auto",children:me.jsxs("table",{className:"rf-w-full rf-text-left rf-text-sm",children:[me.jsx("thead",{children:me.jsxs("tr",{className:"rf-border-b",children:[me.jsx("th",{className:"rf-p-2",children:"Name"}),Array.from(t).map(i=>me.jsx("th",{className:"rf-p-2 rf-capitalize",children:i},i))]})}),me.jsx("tbody",{children:e.map(i=>me.jsxs("tr",{className:"rf-border-b",children:[me.jsx("td",{className:"rf-p-2",children:i.name}),Array.from(t).map(r=>me.jsx("td",{className:"rf-p-2",children:g5n(r,i.supplier_part_numbers?.[r]?.[0]||"")},r))]},i.source_component_id))})]})})},V_e=we.forwardRef(({className:n,type:e,...t},i)=>me.jsx("input",{type:e,className:Os("rf-flex rf-h-9 rf-w-full rf-rounded-md rf-border rf-border-zinc-200 rf-bg-white rf-px-3 rf-py-1 rf-text-sm rf-shadow-sm rf-transition-colors file:rf-border-0 file:rf-bg-transparent file:rf-text-sm file:rf-font-medium placeholder:rf-text-zinc-500 focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 dark:rf-border-zinc-800 dark:rf-bg-zinc-950 dark:rf-placeholder-zinc-400 dark:focus-visible:rf-ring-zinc-300",n),ref:i,...t}));V_e.displayName="Input";const AN=n=>typeof n=="number"&&!isNaN(n),LM=n=>typeof n=="string",H9=n=>typeof n=="function",PH=n=>LM(n)||H9(n)?n:null,G_e=n=>we.isValidElement(n)||LM(n)||H9(n)||AN(n);function x5n(n,e,t){t===void 0&&(t=300);const{scrollHeight:i,style:r}=n;requestAnimationFrame(()=>{r.minHeight="initial",r.height=i+"px",r.transition=`all ${t}ms`,requestAnimationFrame(()=>{r.height="0",r.padding="0",r.margin="0",setTimeout(e,t)})})}function IH(n){let{enter:e,exit:t,appendPosition:i=!1,collapse:r=!0,collapseDuration:o=300}=n;return function(s){let{children:a,position:c,preventExitTransition:l,done:u,nodeRef:d,isIn:h,playToast:f}=s;const m=i?`${e}--${c}`:e,y=i?`${t}--${c}`:t,g=we.useRef(0);return we.useLayoutEffect(()=>{const x=d.current,v=m.split(" "),w=E=>{E.target===d.current&&(f(),x.removeEventListener("animationend",w),x.removeEventListener("animationcancel",w),g.current===0&&E.type!=="animationcancel"&&x.classList.remove(...v))};x.classList.add(...v),x.addEventListener("animationend",w),x.addEventListener("animationcancel",w)},[]),we.useEffect(()=>{const x=d.current,v=()=>{x.removeEventListener("animationend",v),r?x5n(x,u,o):u()};h||(l?v():(g.current=1,x.className+=` ${y}`,x.addEventListener("animationend",v)))},[h]),ts.createElement(ts.Fragment,null,a)}}function IJe(n,e){return n!=null?{content:n.content,containerId:n.props.containerId,id:n.props.toastId,theme:n.props.theme,type:n.props.type,data:n.props.data||{},isLoading:n.props.isLoading,icon:n.props.icon,status:e}:{}}const hb=new Map;let CN=[];const q_e=new Set,b5n=n=>q_e.forEach(e=>e(n)),NJe=()=>hb.size>0;function kJe(n,e){var t;if(e)return!((t=hb.get(e))==null||!t.isToastActive(n));let i=!1;return hb.forEach(r=>{r.isToastActive(n)&&(i=!0)}),i}function OJe(n,e){G_e(n)&&(NJe()||CN.push({content:n,options:e}),hb.forEach(t=>{t.buildToast(n,e)}))}function LJe(n,e){hb.forEach(t=>{e!=null&&e!=null&&e.containerId?e?.containerId===t.id&&t.toggle(n,e?.id):t.toggle(n,e?.id)})}function w5n(n){const{subscribe:e,getSnapshot:t,setProps:i}=we.useRef((function(o){const s=o.containerId||1;return{subscribe(a){const c=(function(u,d,h){let f=1,m=0,y=[],g=[],x=[],v=d;const w=new Map,E=new Set,k=()=>{x=Array.from(w.values()),E.forEach(M=>M())},R=M=>{g=M==null?[]:g.filter(I=>I!==M),k()},N=M=>{const{toastId:I,onOpen:A,updateId:$,children:P}=M.props,j=$==null;M.staleId&&w.delete(M.staleId),w.set(I,M),g=[...g,M.props.toastId].filter(G=>G!==M.staleId),k(),h(IJe(M,j?"added":"updated")),j&&H9(A)&&A(we.isValidElement(P)&&P.props)};return{id:u,props:v,observe:M=>(E.add(M),()=>E.delete(M)),toggle:(M,I)=>{w.forEach(A=>{I!=null&&I!==A.props.toastId||H9(A.toggle)&&A.toggle(M)})},removeToast:R,toasts:w,clearQueue:()=>{m-=y.length,y=[]},buildToast:(M,I)=>{if((se=>{let{containerId:he,toastId:Ee,updateId:Ce}=se;const Oe=he?he!==u:u!==1,Ve=w.has(Ee)&&Ce==null;return Oe||Ve})(I))return;const{toastId:A,updateId:$,data:P,staleId:j,delay:G}=I,X=()=>{R(A)},Z=$==null;Z&&m++;const J={...v,style:v.toastStyle,key:f++,...Object.fromEntries(Object.entries(I).filter(se=>{let[he,Ee]=se;return Ee!=null})),toastId:A,updateId:$,data:P,closeToast:X,isIn:!1,className:PH(I.className||v.toastClassName),bodyClassName:PH(I.bodyClassName||v.bodyClassName),progressClassName:PH(I.progressClassName||v.progressClassName),autoClose:!I.isLoading&&(oe=I.autoClose,ue=v.autoClose,oe===!1||AN(oe)&&oe>0?oe:ue),deleteToast(){const se=w.get(A),{onClose:he,children:Ee}=se.props;H9(he)&&he(we.isValidElement(Ee)&&Ee.props),h(IJe(se,"removed")),w.delete(A),m--,m<0&&(m=0),y.length>0?N(y.shift()):k()}};var oe,ue;J.closeButton=v.closeButton,I.closeButton===!1||G_e(I.closeButton)?J.closeButton=I.closeButton:I.closeButton===!0&&(J.closeButton=!G_e(v.closeButton)||v.closeButton);let ge=M;we.isValidElement(M)&&!LM(M.type)?ge=we.cloneElement(M,{closeToast:X,toastProps:J,data:P}):H9(M)&&(ge=M({closeToast:X,toastProps:J,data:P}));const re={content:ge,props:J,staleId:j};v.limit&&v.limit>0&&m>v.limit&&Z?y.push(re):AN(G)?setTimeout(()=>{N(re)},G):N(re)},setProps(M){v=M},setToggle:(M,I)=>{w.get(M).toggle=I},isToastActive:M=>g.some(I=>I===M),getSnapshot:()=>x}})(s,o,b5n);hb.set(s,c);const l=c.observe(a);return CN.forEach(u=>OJe(u.content,u.options)),CN=[],()=>{l(),hb.delete(s)}},setProps(a){var c;(c=hb.get(s))==null||c.setProps(a)},getSnapshot(){var a;return(a=hb.get(s))==null?void 0:a.getSnapshot()}}})(n)).current;i(n);const r=we.useSyncExternalStore(e,t,t);return{getToastToRender:function(o){if(!r)return[];const s=new Map;return n.newestOnTop&&r.reverse(),r.forEach(a=>{const{position:c}=a.props;s.has(c)||s.set(c,[]),s.get(c).push(a)}),Array.from(s,a=>o(a[0],a[1]))},isToastActive:kJe,count:r?.length}}function S5n(n){const[e,t]=we.useState(!1),[i,r]=we.useState(!1),o=we.useRef(null),s=we.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:a,pauseOnHover:c,closeToast:l,onClick:u,closeOnClick:d}=n;var h,f;function m(){t(!0)}function y(){t(!1)}function g(w){const E=o.current;s.canDrag&&E&&(s.didMove=!0,e&&y(),s.delta=n.draggableDirection==="x"?w.clientX-s.start:w.clientY-s.start,s.start!==w.clientX&&(s.canCloseOnClick=!1),E.style.transform=`translate3d(${n.draggableDirection==="x"?`${s.delta}px, var(--y)`:`0, calc(${s.delta}px + var(--y))`},0)`,E.style.opacity=""+(1-Math.abs(s.delta/s.removalDistance)))}function x(){document.removeEventListener("pointermove",g),document.removeEventListener("pointerup",x);const w=o.current;if(s.canDrag&&s.didMove&&w){if(s.canDrag=!1,Math.abs(s.delta)>s.removalDistance)return r(!0),n.closeToast(),void n.collapseAll();w.style.transition="transform 0.2s, opacity 0.2s",w.style.removeProperty("transform"),w.style.removeProperty("opacity")}}(f=hb.get((h={id:n.toastId,containerId:n.containerId,fn:t}).containerId||1))==null||f.setToggle(h.id,h.fn),we.useEffect(()=>{if(n.pauseOnFocusLoss)return document.hasFocus()||y(),window.addEventListener("focus",m),window.addEventListener("blur",y),()=>{window.removeEventListener("focus",m),window.removeEventListener("blur",y)}},[n.pauseOnFocusLoss]);const v={onPointerDown:function(w){if(n.draggable===!0||n.draggable===w.pointerType){s.didMove=!1,document.addEventListener("pointermove",g),document.addEventListener("pointerup",x);const E=o.current;s.canCloseOnClick=!0,s.canDrag=!0,E.style.transition="none",n.draggableDirection==="x"?(s.start=w.clientX,s.removalDistance=E.offsetWidth*(n.draggablePercent/100)):(s.start=w.clientY,s.removalDistance=E.offsetHeight*(n.draggablePercent===80?1.5*n.draggablePercent:n.draggablePercent)/100)}},onPointerUp:function(w){const{top:E,bottom:k,left:R,right:N}=o.current.getBoundingClientRect();w.nativeEvent.type!=="touchend"&&n.pauseOnHover&&w.clientX>=R&&w.clientX<=N&&w.clientY>=E&&w.clientY<=k?y():m()}};return a&&c&&(v.onMouseEnter=y,n.stacked||(v.onMouseLeave=m)),d&&(v.onClick=w=>{u&&u(w),s.canCloseOnClick&&l()}),{playToast:m,pauseToast:y,isRunning:e,preventExitTransition:i,toastRef:o,eventHandlers:v}}function E5n(n){let{delay:e,isRunning:t,closeToast:i,type:r="default",hide:o,className:s,style:a,controlledProgress:c,progress:l,rtl:u,isIn:d,theme:h}=n;const f=o||c&&l===0,m={...a,animationDuration:`${e}ms`,animationPlayState:t?"running":"paused"};c&&(m.transform=`scaleX(${l})`);const y=yw("Toastify__progress-bar",c?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${h}`,`Toastify__progress-bar--${r}`,{"Toastify__progress-bar--rtl":u}),g=H9(s)?s({rtl:u,type:r,defaultClassName:y}):yw(y,s),x={[c&&l>=1?"onTransitionEnd":"onAnimationEnd"]:c&&l<1?null:()=>{d&&i()}};return ts.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":f},ts.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${h} Toastify__progress-bar--${r}`}),ts.createElement("div",{role:"progressbar","aria-hidden":f?"true":"false","aria-label":"notification timer",className:g,style:m,...x}))}let T5n=1;const DJe=()=>""+T5n++;function M5n(n){return n&&(LM(n.toastId)||AN(n.toastId))?n.toastId:DJe()}function RN(n,e){return OJe(n,e),e.toastId}function NH(n,e){return{...e,type:e&&e.type||n,toastId:M5n(e)}}function kH(n){return(e,t)=>RN(e,NH(n,t))}function Rf(n,e){return RN(n,NH("default",e))}Rf.loading=(n,e)=>RN(n,NH("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...e})),Rf.promise=function(n,e,t){let i,{pending:r,error:o,success:s}=e;r&&(i=LM(r)?Rf.loading(r,t):Rf.loading(r.render,{...t,...r}));const a={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},c=(u,d,h)=>{if(d==null)return void Rf.dismiss(i);const f={type:u,...a,...t,data:h},m=LM(d)?{render:d}:d;return i?Rf.update(i,{...f,...m}):Rf(m.render,{...f,...m}),h},l=H9(n)?n():n;return l.then(u=>c("success",s,u)).catch(u=>c("error",o,u)),l},Rf.success=kH("success"),Rf.info=kH("info"),Rf.error=kH("error"),Rf.warning=kH("warning"),Rf.warn=Rf.warning,Rf.dark=(n,e)=>RN(n,NH("default",{theme:"dark",...e})),Rf.dismiss=function(n){(function(e){var t;if(NJe()){if(e==null||LM(t=e)||AN(t))hb.forEach(i=>{i.removeToast(e)});else if(e&&("containerId"in e||"id"in e)){const i=hb.get(e.containerId);i?i.removeToast(e.id):hb.forEach(r=>{r.removeToast(e.id)})}}else CN=CN.filter(i=>e!=null&&i.options.toastId!==e)})(n)},Rf.clearWaitingQueue=function(n){n===void 0&&(n={}),hb.forEach(e=>{!e.props.limit||n.containerId&&e.id!==n.containerId||e.clearQueue()})},Rf.isActive=kJe,Rf.update=function(n,e){e===void 0&&(e={});const t=((i,r)=>{var o;let{containerId:s}=r;return(o=hb.get(s||1))==null?void 0:o.toasts.get(i)})(n,e);if(t){const{props:i,content:r}=t,o={delay:100,...i,...e,toastId:e.toastId||n,updateId:DJe()};o.toastId!==n&&(o.staleId=n);const s=o.render||r;delete o.render,RN(s,o)}},Rf.done=n=>{Rf.update(n,{progress:1})},Rf.onChange=function(n){return q_e.add(n),()=>{q_e.delete(n)}},Rf.play=n=>LJe(!0,n),Rf.pause=n=>LJe(!1,n);const A5n=typeof window<"u"?we.useLayoutEffect:we.useEffect,OH=n=>{let{theme:e,type:t,isLoading:i,...r}=n;return ts.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:e==="colored"?"currentColor":`var(--toastify-icon-color-${t})`,...r})},Y_e={info:function(n){return ts.createElement(OH,{...n},ts.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(n){return ts.createElement(OH,{...n},ts.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(n){return ts.createElement(OH,{...n},ts.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(n){return ts.createElement(OH,{...n},ts.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return ts.createElement("div",{className:"Toastify__spinner"})}},C5n=n=>{const{isRunning:e,preventExitTransition:t,toastRef:i,eventHandlers:r,playToast:o}=S5n(n),{closeButton:s,children:a,autoClose:c,onClick:l,type:u,hideProgressBar:d,closeToast:h,transition:f,position:m,className:y,style:g,bodyClassName:x,bodyStyle:v,progressClassName:w,progressStyle:E,updateId:k,role:R,progress:N,rtl:M,toastId:I,deleteToast:A,isIn:$,isLoading:P,closeOnClick:j,theme:G}=n,X=yw("Toastify__toast",`Toastify__toast-theme--${G}`,`Toastify__toast--${u}`,{"Toastify__toast--rtl":M},{"Toastify__toast--close-on-click":j}),Z=H9(y)?y({rtl:M,position:m,type:u,defaultClassName:X}):yw(X,y),J=(function(re){let{theme:se,type:he,isLoading:Ee,icon:Ce}=re,Oe=null;const Ve={theme:se,type:he};return Ce===!1||(H9(Ce)?Oe=Ce({...Ve,isLoading:Ee}):we.isValidElement(Ce)?Oe=we.cloneElement(Ce,Ve):Ee?Oe=Y_e.spinner():(Ne=>Ne in Y_e)(he)&&(Oe=Y_e[he](Ve))),Oe})(n),oe=!!N||!c,ue={closeToast:h,type:u,theme:G};let ge=null;return s===!1||(ge=H9(s)?s(ue):we.isValidElement(s)?we.cloneElement(s,ue):(function(re){let{closeToast:se,theme:he,ariaLabel:Ee="close"}=re;return ts.createElement("button",{className:`Toastify__close-button Toastify__close-button--${he}`,type:"button",onClick:Ce=>{Ce.stopPropagation(),se(Ce)},"aria-label":Ee},ts.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},ts.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))})(ue)),ts.createElement(f,{isIn:$,done:A,position:m,preventExitTransition:t,nodeRef:i,playToast:o},ts.createElement("div",{id:I,onClick:l,"data-in":$,className:Z,...r,style:g,ref:i},ts.createElement("div",{...$&&{role:R},className:H9(x)?x({type:u}):yw("Toastify__toast-body",x),style:v},J!=null&&ts.createElement("div",{className:yw("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!P})},J),ts.createElement("div",null,a)),ge,ts.createElement(E5n,{...k&&!oe?{key:`pb-${k}`}:{},rtl:M,theme:G,delay:c,isRunning:e,isIn:$,closeToast:h,hide:d,type:u,style:E,className:w,controlledProgress:oe,progress:N||0})))},LH=function(n,e){return e===void 0&&(e=!1),{enter:`Toastify--animate Toastify__${n}-enter`,exit:`Toastify--animate Toastify__${n}-exit`,appendPosition:e}},R5n=IH(LH("bounce",!0));IH(LH("slide",!0)),IH(LH("zoom")),IH(LH("flip"));const P5n={position:"top-right",transition:R5n,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};function I5n(n){let e={...P5n,...n};const t=n.stacked,[i,r]=we.useState(!0),o=we.useRef(null),{getToastToRender:s,isToastActive:a,count:c}=w5n(e),{className:l,style:u,rtl:d,containerId:h}=e;function f(y){const g=yw("Toastify__toast-container",`Toastify__toast-container--${y}`,{"Toastify__toast-container--rtl":d});return H9(l)?l({position:y,rtl:d,defaultClassName:g}):yw(g,PH(l))}function m(){t&&(r(!0),Rf.play())}return A5n(()=>{if(t){var y;const g=o.current.querySelectorAll('[data-in="true"]'),x=12,v=(y=e.position)==null?void 0:y.includes("top");let w=0,E=0;Array.from(g).reverse().forEach((k,R)=>{const N=k;N.classList.add("Toastify__toast--stacked"),R>0&&(N.dataset.collapsed=`${i}`),N.dataset.pos||(N.dataset.pos=v?"top":"bot");const M=w*(i?.2:1)+(i?0:x*R);N.style.setProperty("--y",`${v?M:-1*M}px`),N.style.setProperty("--g",`${x}`),N.style.setProperty("--s",""+(1-(i?E:0))),w+=N.offsetHeight,E+=.025})}},[i,c,t]),ts.createElement("div",{ref:o,className:"Toastify",id:h,onMouseEnter:()=>{t&&(r(!1),Rf.pause())},onMouseLeave:m},s((y,g)=>{const x=g.length?{...u}:{...u,pointerEvents:"none"};return ts.createElement("div",{className:f(y),style:x,key:`container-${y}`},g.map(v=>{let{content:w,props:E}=v;return ts.createElement(C5n,{...E,stacked:t,collapseAll:m,isIn:a(E.toastId,E.containerId),style:E.style,key:`toast-${E.key}`},w)}))}))}function N5n(){var n=':root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translateZ(var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translateX(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:auto}}.Toastify__toast{--y:0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right;border-bottom-left-radius:0;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}',e=document.createElement("style");e.innerText=n,document.head.appendChild(e)}const k5n=f_t(mbt);var X_e,zJe;function O5n(){if(zJe)return X_e;zJe=1;var n=Object.defineProperty,e=Object.getOwnPropertyDescriptor,t=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,r=(g,x)=>{for(var v in x)n(g,v,{get:x[v],enumerable:!0})},o=(g,x,v,w)=>{if(x&&typeof x=="object"||typeof x=="function")for(let E of t(x))!i.call(g,E)&&E!==v&&n(g,E,{get:()=>x[E],enumerable:!(w=e(x,E))||w.enumerable});return g},s=g=>o(n({},"__esModule",{value:!0}),g),a={};r(a,{SuperGrid:()=>y,toMMSI:()=>m,toMeterSI:()=>f}),X_e=s(a);var c=v9(),l=k5n,u=iwe(),d=(g,x,v)=>{const w=[];if(x<g)for(let E=g;E>=x;E-=Math.abs(v))w.push(E);else for(let E=g;E<=x;E+=Math.abs(v))w.push(E);return w};function h(g,x){return{x:Math.round(x.x/g)*g,y:Math.round(x.y/g)*g}}function f(g,x=1){return g<0?"-"+f(-g):g<1e-6?"0m":g>1e3?Math.floor(g/1e3)+"km":g>1&&x>1?Math.round(g)+"m":g>1&&x<=1?g.toFixed(Math.ceil(-Math.log10(x)))+"m":g<1&&x>=1/1e3?Math.round(g*1e3)+"mm":g<1&&x<1/1e3?(g*1e3).toFixed(Math.ceil(-Math.log10(x*1e3)))+"mm":""}function m(g,x=1){return f(g/1e3,x/1e3)}var y=g=>{var x;const v=(0,c.useRef)(null),[w,E]=(0,c.useState)({x:0,y:0}),{majorColor:k="rgba(0,0,0,0.2)",minorColor:R="rgba(0,0,0,0.1)",textColor:N=(x=g.majorColor)!=null?x:"rgba(0,0,0,0.5)",width:M,height:I,screenSpaceCellSize:A=200,stringifyCoord:$=(X,Z,J)=>`${f(X,J)}, ${f(Z,J)}`}=g,P=Math.ceil(M/A)+2,j=Math.ceil(I/A)+2;(0,c.useEffect)(()=>{if(!v.current)return;const X=v.current.getContext("2d");if(!X)return;const Z=A/10**Math.floor(Math.log10(g.transform.a)),J=g.transform.d<0?-1:1,ue=A/10**Math.log10(g.transform.a)/Z;function ge(Se,ve,qe){const Je=Se;let ot,Te,ut;for(ot=ve.x;ot<=qe.x;ot+=Je)Te=(0,l.applyToPoint)(g.transform,{x:ot,y:ve.y}),ut=(0,l.applyToPoint)(g.transform,{x:ot,y:qe.y}),X.beginPath(),X.moveTo(Te.x,Te.y),X.lineTo(ut.x,ut.y),X.stroke();const Ze=d(ve.y,qe.y,Je*J);for(const Ye of Ze)Te=(0,l.applyToPoint)(g.transform,{x:ve.x,y:Ye}),ut=(0,l.applyToPoint)(g.transform,{x:qe.x,y:Ye}),X.beginPath(),X.moveTo(Te.x,Te.y),X.lineTo(ut.x,ut.y),X.stroke()}function re(Se,ve,qe){const Je=Se;let ot;for(ot=ve.x;ot<=qe.x;ot+=Je)for(const Te of d(ve.y,qe.y,Je*J)){const ut=(0,l.applyToPoint)(g.transform,{x:ot,y:Te});X.fillStyle=N,X.font="12px sans-serif",X.fillText($(ot,Te,Se),ut.x+2,ut.y-2)}}X.clearRect(0,0,M,I);const se=(0,l.applyToPoint)((0,l.inverse)(g.transform),{x:0,y:0}),he={x:Math.floor((se.x-Z)/Z)*Z,y:Math.floor((se.y-Z)/Z+(J==-1?2:0))*Z},Ee={x:he.x+Z*P,y:he.y+Z*j*J},Oe=Z*5,Ve={x:Math.floor((se.x-Oe)/Oe)*Oe,y:Math.floor((se.y-Oe)/Oe+(J==-1?2:0))*Oe},Ne={x:Ve.x+Oe*P,y:Ve.y+Oe*j*J};X.globalAlpha=1,X.strokeStyle=k,ge(Z,he,Ee),re(Oe,Ve,Ne),X.globalAlpha=1-ue,ge(Oe/10,Ve,Ne),X.globalAlpha=1-ue,X.strokeStyle=R,ge(Z/10,he,Ee),X.globalAlpha=Math.max(((1-ue)*10-5)/5,0),re(Oe/10,Ve,Ne),X.globalAlpha=1;const ce=(0,l.applyToPoint)(g.transform,w);X.font="12px sans-serif",X.fillStyle=N,X.fillText($(w.x,w.y,Z),ce.x+2,ce.y-2),X.strokeStyle=k,X.strokeRect(ce.x-5,ce.y-5,10,10)},[v,g.transform,w,M,I]);const G=X=>{if(!v.current)return;const Z=A/10/10**Math.floor(Math.log10(g.transform.a)),J=v.current.getBoundingClientRect(),oe=(0,l.applyToPoint)((0,l.inverse)(g.transform),{x:X.clientX-J.left,y:X.clientY-J.top}),ue=h(Z,oe);E(ue)};return(0,u.jsx)("canvas",{onMouseUp:X=>{X.button===1&&G(X)},onDoubleClick:G,ref:v,width:g.width,height:g.height})};return X_e}var W_e=O5n(),Z_e={exports:{}},K_e,FJe;function BJe(){return FJe||(FJe=1,K_e={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),K_e}var Q_e={exports:{}},J_e,UJe;function L5n(){return UJe||(UJe=1,J_e=function(e){return!e||typeof e=="string"?!1:e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&e.constructor.name!=="String")}),J_e}var $Je;function D5n(){if($Je)return Q_e.exports;$Je=1;var n=L5n(),e=Array.prototype.concat,t=Array.prototype.slice,i=Q_e.exports=function(o){for(var s=[],a=0,c=o.length;a<c;a++){var l=o[a];n(l)?s=e.call(s,t.call(l)):s.push(l)}return s};return i.wrap=function(r){return function(){return r(i(arguments))}},Q_e.exports}var jJe;function z5n(){if(jJe)return Z_e.exports;jJe=1;var n=BJe(),e=D5n(),t=Object.hasOwnProperty,i=Object.create(null);for(var r in n)t.call(n,r)&&(i[n[r]]=r);var o=Z_e.exports={to:{},get:{}};o.get=function(c){var l=c.substring(0,3).toLowerCase(),u,d;switch(l){case"hsl":u=o.get.hsl(c),d="hsl";break;case"hwb":u=o.get.hwb(c),d="hwb";break;default:u=o.get.rgb(c),d="rgb";break}return u?{model:d,value:u}:null},o.get.rgb=function(c){if(!c)return null;var l=/^#([a-f0-9]{3,4})$/i,u=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,d=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,h=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,f=/^(\w+)$/,m=[0,0,0,1],y,g,x;if(y=c.match(u)){for(x=y[2],y=y[1],g=0;g<3;g++){var v=g*2;m[g]=parseInt(y.slice(v,v+2),16)}x&&(m[3]=parseInt(x,16)/255)}else if(y=c.match(l)){for(y=y[1],x=y[3],g=0;g<3;g++)m[g]=parseInt(y[g]+y[g],16);x&&(m[3]=parseInt(x+x,16)/255)}else if(y=c.match(d)){for(g=0;g<3;g++)m[g]=parseInt(y[g+1],0);y[4]&&(y[5]?m[3]=parseFloat(y[4])*.01:m[3]=parseFloat(y[4]))}else if(y=c.match(h)){for(g=0;g<3;g++)m[g]=Math.round(parseFloat(y[g+1])*2.55);y[4]&&(y[5]?m[3]=parseFloat(y[4])*.01:m[3]=parseFloat(y[4]))}else return(y=c.match(f))?y[1]==="transparent"?[0,0,0,0]:t.call(n,y[1])?(m=n[y[1]],m[3]=1,m):null:null;for(g=0;g<3;g++)m[g]=s(m[g],0,255);return m[3]=s(m[3],0,1),m},o.get.hsl=function(c){if(!c)return null;var l=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,u=c.match(l);if(u){var d=parseFloat(u[4]),h=(parseFloat(u[1])%360+360)%360,f=s(parseFloat(u[2]),0,100),m=s(parseFloat(u[3]),0,100),y=s(isNaN(d)?1:d,0,1);return[h,f,m,y]}return null},o.get.hwb=function(c){if(!c)return null;var l=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,u=c.match(l);if(u){var d=parseFloat(u[4]),h=(parseFloat(u[1])%360+360)%360,f=s(parseFloat(u[2]),0,100),m=s(parseFloat(u[3]),0,100),y=s(isNaN(d)?1:d,0,1);return[h,f,m,y]}return null},o.to.hex=function(){var c=e(arguments);return"#"+a(c[0])+a(c[1])+a(c[2])+(c[3]<1?a(Math.round(c[3]*255)):"")},o.to.rgb=function(){var c=e(arguments);return c.length<4||c[3]===1?"rgb("+Math.round(c[0])+", "+Math.round(c[1])+", "+Math.round(c[2])+")":"rgba("+Math.round(c[0])+", "+Math.round(c[1])+", "+Math.round(c[2])+", "+c[3]+")"},o.to.rgb.percent=function(){var c=e(arguments),l=Math.round(c[0]/255*100),u=Math.round(c[1]/255*100),d=Math.round(c[2]/255*100);return c.length<4||c[3]===1?"rgb("+l+"%, "+u+"%, "+d+"%)":"rgba("+l+"%, "+u+"%, "+d+"%, "+c[3]+")"},o.to.hsl=function(){var c=e(arguments);return c.length<4||c[3]===1?"hsl("+c[0]+", "+c[1]+"%, "+c[2]+"%)":"hsla("+c[0]+", "+c[1]+"%, "+c[2]+"%, "+c[3]+")"},o.to.hwb=function(){var c=e(arguments),l="";return c.length>=4&&c[3]!==1&&(l=", "+c[3]),"hwb("+c[0]+", "+c[1]+"%, "+c[2]+"%"+l+")"},o.to.keyword=function(c){return i[c.slice(0,3)]};function s(c,l,u){return Math.min(Math.max(l,c),u)}function a(c){var l=Math.round(c).toString(16).toUpperCase();return l.length<2?"0"+l:l}return Z_e.exports}var eye,HJe;function VJe(){if(HJe)return eye;HJe=1;const n=BJe(),e={};for(const r of Object.keys(n))e[n[r]]=r;const t={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};eye=t;for(const r of Object.keys(t)){if(!("channels"in t[r]))throw new Error("missing channels property: "+r);if(!("labels"in t[r]))throw new Error("missing channel labels property: "+r);if(t[r].labels.length!==t[r].channels)throw new Error("channel and label counts mismatch: "+r);const{channels:o,labels:s}=t[r];delete t[r].channels,delete t[r].labels,Object.defineProperty(t[r],"channels",{value:o}),Object.defineProperty(t[r],"labels",{value:s})}t.rgb.hsl=function(r){const o=r[0]/255,s=r[1]/255,a=r[2]/255,c=Math.min(o,s,a),l=Math.max(o,s,a),u=l-c;let d,h;l===c?d=0:o===l?d=(s-a)/u:s===l?d=2+(a-o)/u:a===l&&(d=4+(o-s)/u),d=Math.min(d*60,360),d<0&&(d+=360);const f=(c+l)/2;return l===c?h=0:f<=.5?h=u/(l+c):h=u/(2-l-c),[d,h*100,f*100]},t.rgb.hsv=function(r){let o,s,a,c,l;const u=r[0]/255,d=r[1]/255,h=r[2]/255,f=Math.max(u,d,h),m=f-Math.min(u,d,h),y=function(g){return(f-g)/6/m+1/2};return m===0?(c=0,l=0):(l=m/f,o=y(u),s=y(d),a=y(h),u===f?c=a-s:d===f?c=1/3+o-a:h===f&&(c=2/3+s-o),c<0?c+=1:c>1&&(c-=1)),[c*360,l*100,f*100]},t.rgb.hwb=function(r){const o=r[0],s=r[1];let a=r[2];const c=t.rgb.hsl(r)[0],l=1/255*Math.min(o,Math.min(s,a));return a=1-1/255*Math.max(o,Math.max(s,a)),[c,l*100,a*100]},t.rgb.cmyk=function(r){const o=r[0]/255,s=r[1]/255,a=r[2]/255,c=Math.min(1-o,1-s,1-a),l=(1-o-c)/(1-c)||0,u=(1-s-c)/(1-c)||0,d=(1-a-c)/(1-c)||0;return[l*100,u*100,d*100,c*100]};function i(r,o){return(r[0]-o[0])**2+(r[1]-o[1])**2+(r[2]-o[2])**2}return t.rgb.keyword=function(r){const o=e[r];if(o)return o;let s=1/0,a;for(const c of Object.keys(n)){const l=n[c],u=i(r,l);u<s&&(s=u,a=c)}return a},t.keyword.rgb=function(r){return n[r]},t.rgb.xyz=function(r){let o=r[0]/255,s=r[1]/255,a=r[2]/255;o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;const c=o*.4124+s*.3576+a*.1805,l=o*.2126+s*.7152+a*.0722,u=o*.0193+s*.1192+a*.9505;return[c*100,l*100,u*100]},t.rgb.lab=function(r){const o=t.rgb.xyz(r);let s=o[0],a=o[1],c=o[2];s/=95.047,a/=100,c/=108.883,s=s>.008856?s**(1/3):7.787*s+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,c=c>.008856?c**(1/3):7.787*c+16/116;const l=116*a-16,u=500*(s-a),d=200*(a-c);return[l,u,d]},t.hsl.rgb=function(r){const o=r[0]/360,s=r[1]/100,a=r[2]/100;let c,l,u;if(s===0)return u=a*255,[u,u,u];a<.5?c=a*(1+s):c=a+s-a*s;const d=2*a-c,h=[0,0,0];for(let f=0;f<3;f++)l=o+1/3*-(f-1),l<0&&l++,l>1&&l--,6*l<1?u=d+(c-d)*6*l:2*l<1?u=c:3*l<2?u=d+(c-d)*(2/3-l)*6:u=d,h[f]=u*255;return h},t.hsl.hsv=function(r){const o=r[0];let s=r[1]/100,a=r[2]/100,c=s;const l=Math.max(a,.01);a*=2,s*=a<=1?a:2-a,c*=l<=1?l:2-l;const u=(a+s)/2,d=a===0?2*c/(l+c):2*s/(a+s);return[o,d*100,u*100]},t.hsv.rgb=function(r){const o=r[0]/60,s=r[1]/100;let a=r[2]/100;const c=Math.floor(o)%6,l=o-Math.floor(o),u=255*a*(1-s),d=255*a*(1-s*l),h=255*a*(1-s*(1-l));switch(a*=255,c){case 0:return[a,h,u];case 1:return[d,a,u];case 2:return[u,a,h];case 3:return[u,d,a];case 4:return[h,u,a];case 5:return[a,u,d]}},t.hsv.hsl=function(r){const o=r[0],s=r[1]/100,a=r[2]/100,c=Math.max(a,.01);let l,u;u=(2-s)*a;const d=(2-s)*c;return l=s*c,l/=d<=1?d:2-d,l=l||0,u/=2,[o,l*100,u*100]},t.hwb.rgb=function(r){const o=r[0]/360;let s=r[1]/100,a=r[2]/100;const c=s+a;let l;c>1&&(s/=c,a/=c);const u=Math.floor(6*o),d=1-a;l=6*o-u,(u&1)!==0&&(l=1-l);const h=s+l*(d-s);let f,m,y;switch(u){default:case 6:case 0:f=d,m=h,y=s;break;case 1:f=h,m=d,y=s;break;case 2:f=s,m=d,y=h;break;case 3:f=s,m=h,y=d;break;case 4:f=h,m=s,y=d;break;case 5:f=d,m=s,y=h;break}return[f*255,m*255,y*255]},t.cmyk.rgb=function(r){const o=r[0]/100,s=r[1]/100,a=r[2]/100,c=r[3]/100,l=1-Math.min(1,o*(1-c)+c),u=1-Math.min(1,s*(1-c)+c),d=1-Math.min(1,a*(1-c)+c);return[l*255,u*255,d*255]},t.xyz.rgb=function(r){const o=r[0]/100,s=r[1]/100,a=r[2]/100;let c,l,u;return c=o*3.2406+s*-1.5372+a*-.4986,l=o*-.9689+s*1.8758+a*.0415,u=o*.0557+s*-.204+a*1.057,c=c>.0031308?1.055*c**(1/2.4)-.055:c*12.92,l=l>.0031308?1.055*l**(1/2.4)-.055:l*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,c=Math.min(Math.max(0,c),1),l=Math.min(Math.max(0,l),1),u=Math.min(Math.max(0,u),1),[c*255,l*255,u*255]},t.xyz.lab=function(r){let o=r[0],s=r[1],a=r[2];o/=95.047,s/=100,a/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,s=s>.008856?s**(1/3):7.787*s+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;const c=116*s-16,l=500*(o-s),u=200*(s-a);return[c,l,u]},t.lab.xyz=function(r){const o=r[0],s=r[1],a=r[2];let c,l,u;l=(o+16)/116,c=s/500+l,u=l-a/200;const d=l**3,h=c**3,f=u**3;return l=d>.008856?d:(l-16/116)/7.787,c=h>.008856?h:(c-16/116)/7.787,u=f>.008856?f:(u-16/116)/7.787,c*=95.047,l*=100,u*=108.883,[c,l,u]},t.lab.lch=function(r){const o=r[0],s=r[1],a=r[2];let c;c=Math.atan2(a,s)*360/2/Math.PI,c<0&&(c+=360);const u=Math.sqrt(s*s+a*a);return[o,u,c]},t.lch.lab=function(r){const o=r[0],s=r[1],c=r[2]/360*2*Math.PI,l=s*Math.cos(c),u=s*Math.sin(c);return[o,l,u]},t.rgb.ansi16=function(r,o=null){const[s,a,c]=r;let l=o===null?t.rgb.hsv(r)[2]:o;if(l=Math.round(l/50),l===0)return 30;let u=30+(Math.round(c/255)<<2|Math.round(a/255)<<1|Math.round(s/255));return l===2&&(u+=60),u},t.hsv.ansi16=function(r){return t.rgb.ansi16(t.hsv.rgb(r),r[2])},t.rgb.ansi256=function(r){const o=r[0],s=r[1],a=r[2];return o===s&&s===a?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(s/255*5)+Math.round(a/255*5)},t.ansi16.rgb=function(r){let o=r%10;if(o===0||o===7)return r>50&&(o+=3.5),o=o/10.5*255,[o,o,o];const s=(~~(r>50)+1)*.5,a=(o&1)*s*255,c=(o>>1&1)*s*255,l=(o>>2&1)*s*255;return[a,c,l]},t.ansi256.rgb=function(r){if(r>=232){const l=(r-232)*10+8;return[l,l,l]}r-=16;let o;const s=Math.floor(r/36)/5*255,a=Math.floor((o=r%36)/6)/5*255,c=o%6/5*255;return[s,a,c]},t.rgb.hex=function(r){const s=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(s.length)+s},t.hex.rgb=function(r){const o=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let s=o[0];o[0].length===3&&(s=s.split("").map(d=>d+d).join(""));const a=parseInt(s,16),c=a>>16&255,l=a>>8&255,u=a&255;return[c,l,u]},t.rgb.hcg=function(r){const o=r[0]/255,s=r[1]/255,a=r[2]/255,c=Math.max(Math.max(o,s),a),l=Math.min(Math.min(o,s),a),u=c-l;let d,h;return u<1?d=l/(1-u):d=0,u<=0?h=0:c===o?h=(s-a)/u%6:c===s?h=2+(a-o)/u:h=4+(o-s)/u,h/=6,h%=1,[h*360,u*100,d*100]},t.hsl.hcg=function(r){const o=r[1]/100,s=r[2]/100,a=s<.5?2*o*s:2*o*(1-s);let c=0;return a<1&&(c=(s-.5*a)/(1-a)),[r[0],a*100,c*100]},t.hsv.hcg=function(r){const o=r[1]/100,s=r[2]/100,a=o*s;let c=0;return a<1&&(c=(s-a)/(1-a)),[r[0],a*100,c*100]},t.hcg.rgb=function(r){const o=r[0]/360,s=r[1]/100,a=r[2]/100;if(s===0)return[a*255,a*255,a*255];const c=[0,0,0],l=o%1*6,u=l%1,d=1-u;let h=0;switch(Math.floor(l)){case 0:c[0]=1,c[1]=u,c[2]=0;break;case 1:c[0]=d,c[1]=1,c[2]=0;break;case 2:c[0]=0,c[1]=1,c[2]=u;break;case 3:c[0]=0,c[1]=d,c[2]=1;break;case 4:c[0]=u,c[1]=0,c[2]=1;break;default:c[0]=1,c[1]=0,c[2]=d}return h=(1-s)*a,[(s*c[0]+h)*255,(s*c[1]+h)*255,(s*c[2]+h)*255]},t.hcg.hsv=function(r){const o=r[1]/100,s=r[2]/100,a=o+s*(1-o);let c=0;return a>0&&(c=o/a),[r[0],c*100,a*100]},t.hcg.hsl=function(r){const o=r[1]/100,a=r[2]/100*(1-o)+.5*o;let c=0;return a>0&&a<.5?c=o/(2*a):a>=.5&&a<1&&(c=o/(2*(1-a))),[r[0],c*100,a*100]},t.hcg.hwb=function(r){const o=r[1]/100,s=r[2]/100,a=o+s*(1-o);return[r[0],(a-o)*100,(1-a)*100]},t.hwb.hcg=function(r){const o=r[1]/100,a=1-r[2]/100,c=a-o;let l=0;return c<1&&(l=(a-c)/(1-c)),[r[0],c*100,l*100]},t.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]},t.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]},t.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]},t.gray.hsl=function(r){return[0,0,r[0]]},t.gray.hsv=t.gray.hsl,t.gray.hwb=function(r){return[0,100,r[0]]},t.gray.cmyk=function(r){return[0,0,0,r[0]]},t.gray.lab=function(r){return[r[0],0,0]},t.gray.hex=function(r){const o=Math.round(r[0]/100*255)&255,a=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(a.length)+a},t.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]},eye}var tye,GJe;function F5n(){if(GJe)return tye;GJe=1;const n=VJe();function e(){const o={},s=Object.keys(n);for(let a=s.length,c=0;c<a;c++)o[s[c]]={distance:-1,parent:null};return o}function t(o){const s=e(),a=[o];for(s[o].distance=0;a.length;){const c=a.pop(),l=Object.keys(n[c]);for(let u=l.length,d=0;d<u;d++){const h=l[d],f=s[h];f.distance===-1&&(f.distance=s[c].distance+1,f.parent=c,a.unshift(h))}}return s}function i(o,s){return function(a){return s(o(a))}}function r(o,s){const a=[s[o].parent,o];let c=n[s[o].parent][o],l=s[o].parent;for(;s[l].parent;)a.unshift(s[l].parent),c=i(n[s[l].parent][l],c),l=s[l].parent;return c.conversion=a,c}return tye=function(o){const s=t(o),a={},c=Object.keys(s);for(let l=c.length,u=0;u<l;u++){const d=c[u];s[d].parent!==null&&(a[d]=r(d,s))}return a},tye}var nye,qJe;function B5n(){if(qJe)return nye;qJe=1;const n=VJe(),e=F5n(),t={},i=Object.keys(n);function r(s){const a=function(...c){const l=c[0];return l==null?l:(l.length>1&&(c=l),s(c))};return"conversion"in s&&(a.conversion=s.conversion),a}function o(s){const a=function(...c){const l=c[0];if(l==null)return l;l.length>1&&(c=l);const u=s(c);if(typeof u=="object")for(let d=u.length,h=0;h<d;h++)u[h]=Math.round(u[h]);return u};return"conversion"in s&&(a.conversion=s.conversion),a}return i.forEach(s=>{t[s]={},Object.defineProperty(t[s],"channels",{value:n[s].channels}),Object.defineProperty(t[s],"labels",{value:n[s].labels});const a=e(s);Object.keys(a).forEach(l=>{const u=a[l];t[s][l]=o(u),t[s][l].raw=r(u)})}),nye=t,nye}var iye,YJe;function U5n(){if(YJe)return iye;YJe=1;const n=z5n(),e=B5n(),t=["keyword","gray","hex"],i={};for(const h of Object.keys(e))i[[...e[h].labels].sort().join("")]=h;const r={};function o(h,f){if(!(this instanceof o))return new o(h,f);if(f&&f in t&&(f=null),f&&!(f in e))throw new Error("Unknown model: "+f);let m,y;if(h==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(h instanceof o)this.model=h.model,this.color=[...h.color],this.valpha=h.valpha;else if(typeof h=="string"){const g=n.get(h);if(g===null)throw new Error("Unable to parse color from string: "+h);this.model=g.model,y=e[this.model].channels,this.color=g.value.slice(0,y),this.valpha=typeof g.value[y]=="number"?g.value[y]:1}else if(h.length>0){this.model=f||"rgb",y=e[this.model].channels;const g=Array.prototype.slice.call(h,0,y);this.color=d(g,y),this.valpha=typeof h[y]=="number"?h[y]:1}else if(typeof h=="number")this.model="rgb",this.color=[h>>16&255,h>>8&255,h&255],this.valpha=1;else{this.valpha=1;const g=Object.keys(h);"alpha"in h&&(g.splice(g.indexOf("alpha"),1),this.valpha=typeof h.alpha=="number"?h.alpha:0);const x=g.sort().join("");if(!(x in i))throw new Error("Unable to parse color from object: "+JSON.stringify(h));this.model=i[x];const{labels:v}=e[this.model],w=[];for(m=0;m<v.length;m++)w.push(h[v[m]]);this.color=d(w)}if(r[this.model])for(y=e[this.model].channels,m=0;m<y;m++){const g=r[this.model][m];g&&(this.color[m]=g(this.color[m]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}o.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(h){let f=this.model in n.to?this:this.rgb();f=f.round(typeof h=="number"?h:1);const m=f.valpha===1?f.color:[...f.color,this.valpha];return n.to[f.model](m)},percentString(h){const f=this.rgb().round(typeof h=="number"?h:1),m=f.valpha===1?f.color:[...f.color,this.valpha];return n.to.rgb.percent(m)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){const h={},{channels:f}=e[this.model],{labels:m}=e[this.model];for(let y=0;y<f;y++)h[m[y]]=this.color[y];return this.valpha!==1&&(h.alpha=this.valpha),h},unitArray(){const h=this.rgb().color;return h[0]/=255,h[1]/=255,h[2]/=255,this.valpha!==1&&h.push(this.valpha),h},unitObject(){const h=this.rgb().object();return h.r/=255,h.g/=255,h.b/=255,this.valpha!==1&&(h.alpha=this.valpha),h},round(h){return h=Math.max(h||0,0),new o([...this.color.map(a(h)),this.valpha],this.model)},alpha(h){return h!==void 0?new o([...this.color,Math.max(0,Math.min(1,h))],this.model):this.valpha},red:c("rgb",0,l(255)),green:c("rgb",1,l(255)),blue:c("rgb",2,l(255)),hue:c(["hsl","hsv","hsl","hwb","hcg"],0,h=>(h%360+360)%360),saturationl:c("hsl",1,l(100)),lightness:c("hsl",2,l(100)),saturationv:c("hsv",1,l(100)),value:c("hsv",2,l(100)),chroma:c("hcg",1,l(100)),gray:c("hcg",2,l(100)),white:c("hwb",1,l(100)),wblack:c("hwb",2,l(100)),cyan:c("cmyk",0,l(100)),magenta:c("cmyk",1,l(100)),yellow:c("cmyk",2,l(100)),black:c("cmyk",3,l(100)),x:c("xyz",0,l(95.047)),y:c("xyz",1,l(100)),z:c("xyz",2,l(108.833)),l:c("lab",0,l(100)),a:c("lab",1),b:c("lab",2),keyword(h){return h!==void 0?new o(h):e[this.model].keyword(this.color)},hex(h){return h!==void 0?new o(h):n.to.hex(this.rgb().round().color)},hexa(h){if(h!==void 0)return new o(h);const f=this.rgb().round().color;let m=Math.round(this.valpha*255).toString(16).toUpperCase();return m.length===1&&(m="0"+m),n.to.hex(f)+m},rgbNumber(){const h=this.rgb().color;return(h[0]&255)<<16|(h[1]&255)<<8|h[2]&255},luminosity(){const h=this.rgb().color,f=[];for(const[m,y]of h.entries()){const g=y/255;f[m]=g<=.04045?g/12.92:((g+.055)/1.055)**2.4}return .2126*f[0]+.7152*f[1]+.0722*f[2]},contrast(h){const f=this.luminosity(),m=h.luminosity();return f>m?(f+.05)/(m+.05):(m+.05)/(f+.05)},level(h){const f=this.contrast(h);return f>=7?"AAA":f>=4.5?"AA":""},isDark(){const h=this.rgb().color;return(h[0]*2126+h[1]*7152+h[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){const h=this.rgb();for(let f=0;f<3;f++)h.color[f]=255-h.color[f];return h},lighten(h){const f=this.hsl();return f.color[2]+=f.color[2]*h,f},darken(h){const f=this.hsl();return f.color[2]-=f.color[2]*h,f},saturate(h){const f=this.hsl();return f.color[1]+=f.color[1]*h,f},desaturate(h){const f=this.hsl();return f.color[1]-=f.color[1]*h,f},whiten(h){const f=this.hwb();return f.color[1]+=f.color[1]*h,f},blacken(h){const f=this.hwb();return f.color[2]+=f.color[2]*h,f},grayscale(){const h=this.rgb().color,f=h[0]*.3+h[1]*.59+h[2]*.11;return o.rgb(f,f,f)},fade(h){return this.alpha(this.valpha-this.valpha*h)},opaquer(h){return this.alpha(this.valpha+this.valpha*h)},rotate(h){const f=this.hsl();let m=f.color[0];return m=(m+h)%360,m=m<0?360+m:m,f.color[0]=m,f},mix(h,f){if(!h||!h.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof h);const m=h.rgb(),y=this.rgb(),g=f===void 0?.5:f,x=2*g-1,v=m.alpha()-y.alpha(),w=((x*v===-1?x:(x+v)/(1+x*v))+1)/2,E=1-w;return o.rgb(w*m.red()+E*y.red(),w*m.green()+E*y.green(),w*m.blue()+E*y.blue(),m.alpha()*g+y.alpha()*(1-g))}};for(const h of Object.keys(e)){if(t.includes(h))continue;const{channels:f}=e[h];o.prototype[h]=function(...m){return this.model===h?new o(this):m.length>0?new o(m,h):new o([...u(e[this.model][h].raw(this.color)),this.valpha],h)},o[h]=function(...m){let y=m[0];return typeof y=="number"&&(y=d(m,f)),new o(y,h)}}function s(h,f){return Number(h.toFixed(f))}function a(h){return function(f){return s(f,h)}}function c(h,f,m){h=Array.isArray(h)?h:[h];for(const y of h)(r[y]||(r[y]=[]))[f]=m;return h=h[0],function(y){let g;return y!==void 0?(m&&(y=m(y)),g=this[h](),g.color[f]=y,g):(g=this[h]().color[f],m&&(g=m(g)),g)}}function l(h){return function(f){return Math.max(0,Math.min(h,f))}}function u(h){return Array.isArray(h)?h:[h]}function d(h,f){for(let m=0;m<f;m++)typeof h[m]!="number"&&(h[m]=0);return h}return iye=o,iye}var $5n=U5n();const j5n=f2($5n);function H5n(n){if(n.sheet)return n.sheet;for(var e=0;e<document.styleSheets.length;e++)if(document.styleSheets[e].ownerNode===n)return document.styleSheets[e]}function V5n(n){var e=document.createElement("style");return e.setAttribute("data-emotion",n.key),n.nonce!==void 0&&e.setAttribute("nonce",n.nonce),e.appendChild(document.createTextNode("")),e.setAttribute("data-s",""),e}var G5n=(function(){function n(t){var i=this;this._insertTag=function(r){var o;i.tags.length===0?i.insertionPoint?o=i.insertionPoint.nextSibling:i.prepend?o=i.container.firstChild:o=i.before:o=i.tags[i.tags.length-1].nextSibling,i.container.insertBefore(r,o),i.tags.push(r)},this.isSpeedy=t.speedy===void 0?!0:t.speedy,this.tags=[],this.ctr=0,this.nonce=t.nonce,this.key=t.key,this.container=t.container,this.prepend=t.prepend,this.insertionPoint=t.insertionPoint,this.before=null}var e=n.prototype;return e.hydrate=function(i){i.forEach(this._insertTag)},e.insert=function(i){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(V5n(this));var r=this.tags[this.tags.length-1];if(this.isSpeedy){var o=H5n(r);try{o.insertRule(i,o.cssRules.length)}catch{}}else r.appendChild(document.createTextNode(i));this.ctr++},e.flush=function(){this.tags.forEach(function(i){var r;return(r=i.parentNode)==null?void 0:r.removeChild(i)}),this.tags=[],this.ctr=0},n})(),Lx="-ms-",DH="-moz-",Bh="-webkit-",XJe="comm",rye="rule",oye="decl",q5n="@import",WJe="@keyframes",Y5n="@layer",X5n=Math.abs,zH=String.fromCharCode,W5n=Object.assign;function Z5n(n,e){return Jv(n,0)^45?(((e<<2^Jv(n,0))<<2^Jv(n,1))<<2^Jv(n,2))<<2^Jv(n,3):0}function ZJe(n){return n.trim()}function K5n(n,e){return(n=e.exec(n))?n[0]:n}function Uh(n,e,t){return n.replace(e,t)}function sye(n,e){return n.indexOf(e)}function Jv(n,e){return n.charCodeAt(e)|0}function PN(n,e,t){return n.slice(e,t)}function Ww(n){return n.length}function aye(n){return n.length}function FH(n,e){return e.push(n),n}function Q5n(n,e){return n.map(e).join("")}var BH=1,gC=1,KJe=0,Xb=0,zg=0,vC="";function UH(n,e,t,i,r,o,s){return{value:n,root:e,parent:t,type:i,props:r,children:o,line:BH,column:gC,length:s,return:""}}function IN(n,e){return W5n(UH("",null,null,"",null,null,0),n,{length:-n.length},e)}function J5n(){return zg}function ewn(){return zg=Xb>0?Jv(vC,--Xb):0,gC--,zg===10&&(gC=1,BH--),zg}function V9(){return zg=Xb<KJe?Jv(vC,Xb++):0,gC++,zg===10&&(gC=1,BH++),zg}function Zw(){return Jv(vC,Xb)}function $H(){return Xb}function NN(n,e){return PN(vC,n,e)}function kN(n){switch(n){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function QJe(n){return BH=gC=1,KJe=Ww(vC=n),Xb=0,[]}function JJe(n){return vC="",n}function jH(n){return ZJe(NN(Xb-1,cye(n===91?n+2:n===40?n+1:n)))}function twn(n){for(;(zg=Zw())&&zg<33;)V9();return kN(n)>2||kN(zg)>3?"":" "}function nwn(n,e){for(;--e&&V9()&&!(zg<48||zg>102||zg>57&&zg<65||zg>70&&zg<97););return NN(n,$H()+(e<6&&Zw()==32&&V9()==32))}function cye(n){for(;V9();)switch(zg){case n:return Xb;case 34:case 39:n!==34&&n!==39&&cye(zg);break;case 40:n===41&&cye(n);break;case 92:V9();break}return Xb}function iwn(n,e){for(;V9()&&n+zg!==57;)if(n+zg===84&&Zw()===47)break;return"/*"+NN(e,Xb-1)+"*"+zH(n===47?n:V9())}function rwn(n){for(;!kN(Zw());)V9();return NN(n,Xb)}function own(n){return JJe(HH("",null,null,null,[""],n=QJe(n),0,[0],n))}function HH(n,e,t,i,r,o,s,a,c){for(var l=0,u=0,d=s,h=0,f=0,m=0,y=1,g=1,x=1,v=0,w="",E=r,k=o,R=i,N=w;g;)switch(m=v,v=V9()){case 40:if(m!=108&&Jv(N,d-1)==58){sye(N+=Uh(jH(v),"&","&\f"),"&\f")!=-1&&(x=-1);break}case 34:case 39:case 91:N+=jH(v);break;case 9:case 10:case 13:case 32:N+=twn(m);break;case 92:N+=nwn($H()-1,7);continue;case 47:switch(Zw()){case 42:case 47:FH(swn(iwn(V9(),$H()),e,t),c);break;default:N+="/"}break;case 123*y:a[l++]=Ww(N)*x;case 125*y:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:x==-1&&(N=Uh(N,/\f/g,"")),f>0&&Ww(N)-d&&FH(f>32?tet(N+";",i,t,d-1):tet(Uh(N," ","")+";",i,t,d-2),c);break;case 59:N+=";";default:if(FH(R=eet(N,e,t,l,u,r,a,w,E=[],k=[],d),o),v===123)if(u===0)HH(N,e,R,R,E,o,d,a,k);else switch(h===99&&Jv(N,3)===110?100:h){case 100:case 108:case 109:case 115:HH(n,R,R,i&&FH(eet(n,R,R,0,0,r,a,w,r,E=[],d),k),r,k,d,a,i?E:k);break;default:HH(N,R,R,R,[""],k,0,a,k)}}l=u=f=0,y=x=1,w=N="",d=s;break;case 58:d=1+Ww(N),f=m;default:if(y<1){if(v==123)--y;else if(v==125&&y++==0&&ewn()==125)continue}switch(N+=zH(v),v*y){case 38:x=u>0?1:(N+="\f",-1);break;case 44:a[l++]=(Ww(N)-1)*x,x=1;break;case 64:Zw()===45&&(N+=jH(V9())),h=Zw(),u=d=Ww(w=N+=rwn($H())),v++;break;case 45:m===45&&Ww(N)==2&&(y=0)}}return o}function eet(n,e,t,i,r,o,s,a,c,l,u){for(var d=r-1,h=r===0?o:[""],f=aye(h),m=0,y=0,g=0;m<i;++m)for(var x=0,v=PN(n,d+1,d=X5n(y=s[m])),w=n;x<f;++x)(w=ZJe(y>0?h[x]+" "+v:Uh(v,/&\f/g,h[x])))&&(c[g++]=w);return UH(n,e,t,r===0?rye:a,c,l,u)}function swn(n,e,t){return UH(n,e,t,XJe,zH(J5n()),PN(n,2,-2),0)}function tet(n,e,t,i){return UH(n,e,t,oye,PN(n,0,i),PN(n,i+1,-1),i)}function xC(n,e){for(var t="",i=aye(n),r=0;r<i;r++)t+=e(n[r],r,n,e)||"";return t}function awn(n,e,t,i){switch(n.type){case Y5n:if(n.children.length)break;case q5n:case oye:return n.return=n.return||n.value;case XJe:return"";case WJe:return n.return=n.value+"{"+xC(n.children,i)+"}";case rye:n.value=n.props.join(",")}return Ww(t=xC(n.children,i))?n.return=n.value+"{"+t+"}":""}function cwn(n){var e=aye(n);return function(t,i,r,o){for(var s="",a=0;a<e;a++)s+=n[a](t,i,r,o)||"";return s}}function lwn(n){return function(e){e.root||(e=e.return)&&n(e)}}function uwn(n){var e=Object.create(null);return function(t){return e[t]===void 0&&(e[t]=n(t)),e[t]}}var dwn=function(e,t,i){for(var r=0,o=0;r=o,o=Zw(),r===38&&o===12&&(t[i]=1),!kN(o);)V9();return NN(e,Xb)},hwn=function(e,t){var i=-1,r=44;do switch(kN(r)){case 0:r===38&&Zw()===12&&(t[i]=1),e[i]+=dwn(Xb-1,t,i);break;case 2:e[i]+=jH(r);break;case 4:if(r===44){e[++i]=Zw()===58?"&\f":"",t[i]=e[i].length;break}default:e[i]+=zH(r)}while(r=V9());return e},pwn=function(e,t){return JJe(hwn(QJe(e),t))},net=new WeakMap,fwn=function(e){if(!(e.type!=="rule"||!e.parent||e.length<1)){for(var t=e.value,i=e.parent,r=e.column===i.column&&e.line===i.line;i.type!=="rule";)if(i=i.parent,!i)return;if(!(e.props.length===1&&t.charCodeAt(0)!==58&&!net.get(i))&&!r){net.set(e,!0);for(var o=[],s=pwn(t,o),a=i.props,c=0,l=0;c<s.length;c++)for(var u=0;u<a.length;u++,l++)e.props[l]=o[c]?s[c].replace(/&\f/g,a[u]):a[u]+" "+s[c]}}},mwn=function(e){if(e.type==="decl"){var t=e.value;t.charCodeAt(0)===108&&t.charCodeAt(2)===98&&(e.return="",e.value="")}};function iet(n,e){switch(Z5n(n,e)){case 5103:return Bh+"print-"+n+n;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Bh+n+n;case 5349:case 4246:case 4810:case 6968:case 2756:return Bh+n+DH+n+Lx+n+n;case 6828:case 4268:return Bh+n+Lx+n+n;case 6165:return Bh+n+Lx+"flex-"+n+n;case 5187:return Bh+n+Uh(n,/(\w+).+(:[^]+)/,Bh+"box-$1$2"+Lx+"flex-$1$2")+n;case 5443:return Bh+n+Lx+"flex-item-"+Uh(n,/flex-|-self/,"")+n;case 4675:return Bh+n+Lx+"flex-line-pack"+Uh(n,/align-content|flex-|-self/,"")+n;case 5548:return Bh+n+Lx+Uh(n,"shrink","negative")+n;case 5292:return Bh+n+Lx+Uh(n,"basis","preferred-size")+n;case 6060:return Bh+"box-"+Uh(n,"-grow","")+Bh+n+Lx+Uh(n,"grow","positive")+n;case 4554:return Bh+Uh(n,/([^-])(transform)/g,"$1"+Bh+"$2")+n;case 6187:return Uh(Uh(Uh(n,/(zoom-|grab)/,Bh+"$1"),/(image-set)/,Bh+"$1"),n,"")+n;case 5495:case 3959:return Uh(n,/(image-set\([^]*)/,Bh+"$1$`$1");case 4968:return Uh(Uh(n,/(.+:)(flex-)?(.*)/,Bh+"box-pack:$3"+Lx+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Bh+n+n;case 4095:case 3583:case 4068:case 2532:return Uh(n,/(.+)-inline(.+)/,Bh+"$1$2")+n;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Ww(n)-1-e>6)switch(Jv(n,e+1)){case 109:if(Jv(n,e+4)!==45)break;case 102:return Uh(n,/(.+:)(.+)-([^]+)/,"$1"+Bh+"$2-$3$1"+DH+(Jv(n,e+3)==108?"$3":"$2-$3"))+n;case 115:return~sye(n,"stretch")?iet(Uh(n,"stretch","fill-available"),e)+n:n}break;case 4949:if(Jv(n,e+1)!==115)break;case 6444:switch(Jv(n,Ww(n)-3-(~sye(n,"!important")&&10))){case 107:return Uh(n,":",":"+Bh)+n;case 101:return Uh(n,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Bh+(Jv(n,14)===45?"inline-":"")+"box$3$1"+Bh+"$2$3$1"+Lx+"$2box$3")+n}break;case 5936:switch(Jv(n,e+11)){case 114:return Bh+n+Lx+Uh(n,/[svh]\w+-[tblr]{2}/,"tb")+n;case 108:return Bh+n+Lx+Uh(n,/[svh]\w+-[tblr]{2}/,"tb-rl")+n;case 45:return Bh+n+Lx+Uh(n,/[svh]\w+-[tblr]{2}/,"lr")+n}return Bh+n+Lx+n+n}return n}var _wn=function(e,t,i,r){if(e.length>-1&&!e.return)switch(e.type){case oye:e.return=iet(e.value,e.length);break;case WJe:return xC([IN(e,{value:Uh(e.value,"@","@"+Bh)})],r);case rye:if(e.length)return Q5n(e.props,function(o){switch(K5n(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return xC([IN(e,{props:[Uh(o,/:(read-\w+)/,":"+DH+"$1")]})],r);case"::placeholder":return xC([IN(e,{props:[Uh(o,/:(plac\w+)/,":"+Bh+"input-$1")]}),IN(e,{props:[Uh(o,/:(plac\w+)/,":"+DH+"$1")]}),IN(e,{props:[Uh(o,/:(plac\w+)/,Lx+"input-$1")]})],r)}return""})}},ywn=[_wn],gwn=function(e){var t=e.key;if(t==="css"){var i=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(i,function(y){var g=y.getAttribute("data-emotion");g.indexOf(" ")!==-1&&(document.head.appendChild(y),y.setAttribute("data-s",""))})}var r=e.stylisPlugins||ywn,o={},s,a=[];s=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),function(y){for(var g=y.getAttribute("data-emotion").split(" "),x=1;x<g.length;x++)o[g[x]]=!0;a.push(y)});var c,l=[fwn,mwn];{var u,d=[awn,lwn(function(y){u.insert(y)})],h=cwn(l.concat(r,d)),f=function(g){return xC(own(g),h)};c=function(g,x,v,w){u=v,f(g?g+"{"+x.styles+"}":x.styles),w&&(m.inserted[x.name]=!0)}}var m={key:t,sheet:new G5n({key:t,container:s,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:o,registered:{},insert:c};return m.sheet.hydrate(a),m};function vwn(n){for(var e=0,t,i=0,r=n.length;r>=4;++i,r-=4)t=n.charCodeAt(i)&255|(n.charCodeAt(++i)&255)<<8|(n.charCodeAt(++i)&255)<<16|(n.charCodeAt(++i)&255)<<24,t=(t&65535)*1540483477+((t>>>16)*59797<<16),t^=t>>>24,e=(t&65535)*1540483477+((t>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(r){case 3:e^=(n.charCodeAt(i+2)&255)<<16;case 2:e^=(n.charCodeAt(i+1)&255)<<8;case 1:e^=n.charCodeAt(i)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}var xwn={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},bwn=/[A-Z]|^ms/g,wwn=/_EMO_([^_]+?)_([^]*?)_EMO_/g,ret=function(e){return e.charCodeAt(1)===45},oet=function(e){return e!=null&&typeof e!="boolean"},lye=uwn(function(n){return ret(n)?n:n.replace(bwn,"-$&").toLowerCase()}),set=function(e,t){switch(e){case"animation":case"animationName":if(typeof t=="string")return t.replace(wwn,function(i,r,o){return aE={name:r,styles:o,next:aE},r})}return xwn[e]!==1&&!ret(e)&&typeof t=="number"&&t!==0?t+"px":t};function VH(n,e,t){if(t==null)return"";var i=t;if(i.__emotion_styles!==void 0)return i;switch(typeof t){case"boolean":return"";case"object":{var r=t;if(r.anim===1)return aE={name:r.name,styles:r.styles,next:aE},r.name;var o=t;if(o.styles!==void 0){var s=o.next;if(s!==void 0)for(;s!==void 0;)aE={name:s.name,styles:s.styles,next:aE},s=s.next;var a=o.styles+";";return a}return Swn(n,e,t)}}var c=t;if(e==null)return c;var l=e[c];return l!==void 0?l:c}function Swn(n,e,t){var i="";if(Array.isArray(t))for(var r=0;r<t.length;r++)i+=VH(n,e,t[r])+";";else for(var o in t){var s=t[o];if(typeof s!="object"){var a=s;e!=null&&e[a]!==void 0?i+=o+"{"+e[a]+"}":oet(a)&&(i+=lye(o)+":"+set(o,a)+";")}else if(Array.isArray(s)&&typeof s[0]=="string"&&(e==null||e[s[0]]===void 0))for(var c=0;c<s.length;c++)oet(s[c])&&(i+=lye(o)+":"+set(o,s[c])+";");else{var l=VH(n,e,s);switch(o){case"animation":case"animationName":{i+=lye(o)+":"+l+";";break}default:i+=o+"{"+l+"}"}}}return i}var aet=/label:\s*([^\s;{]+)\s*(;|$)/g,aE;function uye(n,e,t){if(n.length===1&&typeof n[0]=="object"&&n[0]!==null&&n[0].styles!==void 0)return n[0];var i=!0,r="";aE=void 0;var o=n[0];if(o==null||o.raw===void 0)i=!1,r+=VH(t,e,o);else{var s=o;r+=s[0]}for(var a=1;a<n.length;a++)if(r+=VH(t,e,n[a]),i){var c=o;r+=c[a]}aet.lastIndex=0;for(var l="",u;(u=aet.exec(r))!==null;)l+="-"+u[1];var d=vwn(r)+l;return{name:d,styles:r,next:aE}}function cet(n,e,t){var i="";return t.split(" ").forEach(function(r){n[r]!==void 0?e.push(n[r]+";"):r&&(i+=r+" ")}),i}var Ewn=function(e,t,i){var r=e.key+"-"+t.name;e.registered[r]===void 0&&(e.registered[r]=t.styles)},Twn=function(e,t,i){Ewn(e,t);var r=e.key+"-"+t.name;if(e.inserted[t.name]===void 0){var o=t;do e.insert(t===o?"."+r:"",o,e.sheet,!0),o=o.next;while(o!==void 0)}};function uet(n,e){if(n.inserted[e.name]===void 0)return n.insert("",e,n.sheet,!0)}function det(n,e,t){var i=[],r=cet(n,i,t);return i.length<2?t:r+e(i)}var Mwn=function(e){var t=gwn(e);t.sheet.speedy=function(a){this.isSpeedy=a},t.compat=!0;var i=function(){for(var c=arguments.length,l=new Array(c),u=0;u<c;u++)l[u]=arguments[u];var d=uye(l,t.registered,void 0);return Twn(t,d),t.key+"-"+d.name},r=function(){for(var c=arguments.length,l=new Array(c),u=0;u<c;u++)l[u]=arguments[u];var d=uye(l,t.registered),h="animation-"+d.name;return uet(t,{name:d.name,styles:"@keyframes "+h+"{"+d.styles+"}"}),h},o=function(){for(var c=arguments.length,l=new Array(c),u=0;u<c;u++)l[u]=arguments[u];var d=uye(l,t.registered);uet(t,d)},s=function(){for(var c=arguments.length,l=new Array(c),u=0;u<c;u++)l[u]=arguments[u];return det(t.registered,i,Awn(l))};return{css:i,cx:s,injectGlobal:o,keyframes:r,hydrate:function(c){c.forEach(function(l){t.inserted[l]=!0})},flush:function(){t.registered={},t.inserted={},t.sheet.flush()},sheet:t.sheet,cache:t,getRegisteredStyles:cet.bind(null,t.registered),merge:det.bind(null,t.registered,i)}},Awn=function n(e){for(var t="",i=0;i<e.length;i++){var r=e[i];if(r!=null){var o=void 0;switch(typeof r){case"boolean":break;case"object":{if(Array.isArray(r))o=n(r);else{o="";for(var s in r)r[s]&&s&&(o&&(o+=" "),o+=s)}break}default:o=r}o&&(t&&(t+=" "),t+=o)}}return t},Cwn=Mwn({key:"css"}),ON=Cwn.css,Rwn=Object.create,dye=Object.defineProperty,Pwn=Object.getOwnPropertyDescriptor,het=Object.getOwnPropertyNames,Iwn=Object.getPrototypeOf,Nwn=Object.prototype.hasOwnProperty,ph=(n,e)=>function(){return e||(0,n[het(n)[0]])((e={exports:{}}).exports,e),e.exports},kwn=(n,e)=>{for(var t in e)dye(n,t,{get:e[t],enumerable:!0})},Own=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of het(e))!Nwn.call(n,r)&&r!==t&&dye(n,r,{get:()=>e[r],enumerable:!(i=Pwn(e,r))||i.enumerable});return n},pet=(n,e,t)=>(t=n!=null?Rwn(Iwn(n)):{},Own(dye(t,"default",{value:n,enumerable:!0}),n)),Lwn=ph({"node_modules/svgson/dist/svgson.umd.js"(n,e){(function(t,i){typeof n=="object"&&typeof e<"u"?e.exports=i():typeof define=="function"&&define.amd?define(i):(t=typeof globalThis<"u"?globalThis:t||self,t.svgson=i())})(n,function(){var t=function(re){return re!=null&&(i(re)||r(re)||!!re._isBuffer)};function i(re){return!!re.constructor&&typeof re.constructor.isBuffer=="function"&&re.constructor.isBuffer(re)}function r(re){return typeof re.readFloatLE=="function"&&typeof re.slice=="function"&&i(re.slice(0,0))}var o=Object.prototype.toString,s=function(se){if(typeof se>"u")return"undefined";if(se===null)return"null";if(se===!0||se===!1||se instanceof Boolean)return"boolean";if(typeof se=="string"||se instanceof String)return"string";if(typeof se=="number"||se instanceof Number)return"number";if(typeof se=="function"||se instanceof Function)return"function";if(typeof Array.isArray<"u"&&Array.isArray(se))return"array";if(se instanceof RegExp)return"regexp";if(se instanceof Date)return"date";var he=o.call(se);return he==="[object RegExp]"?"regexp":he==="[object Date]"?"date":he==="[object Arguments]"?"arguments":he==="[object Error]"?"error":t(se)?"buffer":he==="[object Set]"?"set":he==="[object WeakSet]"?"weakset":he==="[object Map]"?"map":he==="[object WeakMap]"?"weakmap":he==="[object Symbol]"?"symbol":he==="[object Int8Array]"?"int8array":he==="[object Uint8Array]"?"uint8array":he==="[object Uint8ClampedArray]"?"uint8clampedarray":he==="[object Int16Array]"?"int16array":he==="[object Uint16Array]"?"uint16array":he==="[object Int32Array]"?"int32array":he==="[object Uint32Array]"?"uint32array":he==="[object Float32Array]"?"float32array":he==="[object Float64Array]"?"float64array":"object"};function a(re,se){return se={exports:{}},re(se,se.exports),se.exports}var c=a(function(re){(function(){function se(he,Ee){if(typeof Ee!="function")return he;var Ce={};for(var Oe in he)Object.prototype.hasOwnProperty.call(he,Oe)&&(Ce[Ee(Oe,he[Oe])||Oe]=he[Oe]);return Ce}re.exports?re.exports=se:window.rename=se})()}),l=function re(se,he){var Ee=s(se);if(Ee!=="object"&&Ee!=="array")throw new Error("expected an object");var Ce=[];Ee==="object"&&(se=c(se,he),Ce={});for(var Oe in se)if(se.hasOwnProperty(Oe)){var Ve=se[Oe];s(Ve)==="object"||s(Ve)==="array"?Ce[Oe]=re(Ve,he):Ce[Oe]=Ve}return Ce},u=a(function(re){var se=Object.prototype.hasOwnProperty,he="~";function Ee(){}Object.create&&(Ee.prototype=Object.create(null),new Ee().__proto__||(he=!1));function Ce(Ve,Ne,ce){this.fn=Ve,this.context=Ne,this.once=ce||!1}function Oe(){this._events=new Ee,this._eventsCount=0}Oe.prototype.eventNames=function(){var Ne=[],ce,Se;if(this._eventsCount===0)return Ne;for(Se in ce=this._events)se.call(ce,Se)&&Ne.push(he?Se.slice(1):Se);return Object.getOwnPropertySymbols?Ne.concat(Object.getOwnPropertySymbols(ce)):Ne},Oe.prototype.listeners=function(Ne,ce){var Se=he?he+Ne:Ne,ve=this._events[Se];if(ce)return!!ve;if(!ve)return[];if(ve.fn)return[ve.fn];for(var qe=0,Je=ve.length,ot=new Array(Je);qe<Je;qe++)ot[qe]=ve[qe].fn;return ot},Oe.prototype.emit=function(Ne,ce,Se,ve,qe,Je){var ot=he?he+Ne:Ne;if(!this._events[ot])return!1;var Te=this._events[ot],ut=arguments.length,Ze,Ye;if(Te.fn){switch(Te.once&&this.removeListener(Ne,Te.fn,void 0,!0),ut){case 1:return Te.fn.call(Te.context),!0;case 2:return Te.fn.call(Te.context,ce),!0;case 3:return Te.fn.call(Te.context,ce,Se),!0;case 4:return Te.fn.call(Te.context,ce,Se,ve),!0;case 5:return Te.fn.call(Te.context,ce,Se,ve,qe),!0;case 6:return Te.fn.call(Te.context,ce,Se,ve,qe,Je),!0}for(Ye=1,Ze=new Array(ut-1);Ye<ut;Ye++)Ze[Ye-1]=arguments[Ye];Te.fn.apply(Te.context,Ze)}else{var Qe=Te.length,ze;for(Ye=0;Ye<Qe;Ye++)switch(Te[Ye].once&&this.removeListener(Ne,Te[Ye].fn,void 0,!0),ut){case 1:Te[Ye].fn.call(Te[Ye].context);break;case 2:Te[Ye].fn.call(Te[Ye].context,ce);break;case 3:Te[Ye].fn.call(Te[Ye].context,ce,Se);break;case 4:Te[Ye].fn.call(Te[Ye].context,ce,Se,ve);break;default:if(!Ze)for(ze=1,Ze=new Array(ut-1);ze<ut;ze++)Ze[ze-1]=arguments[ze];Te[Ye].fn.apply(Te[Ye].context,Ze)}}return!0},Oe.prototype.on=function(Ne,ce,Se){var ve=new Ce(ce,Se||this),qe=he?he+Ne:Ne;return this._events[qe]?this._events[qe].fn?this._events[qe]=[this._events[qe],ve]:this._events[qe].push(ve):(this._events[qe]=ve,this._eventsCount++),this},Oe.prototype.once=function(Ne,ce,Se){var ve=new Ce(ce,Se||this,!0),qe=he?he+Ne:Ne;return this._events[qe]?this._events[qe].fn?this._events[qe]=[this._events[qe],ve]:this._events[qe].push(ve):(this._events[qe]=ve,this._eventsCount++),this},Oe.prototype.removeListener=function(Ne,ce,Se,ve){var qe=he?he+Ne:Ne;if(!this._events[qe])return this;if(!ce)return--this._eventsCount===0?this._events=new Ee:delete this._events[qe],this;var Je=this._events[qe];if(Je.fn)Je.fn===ce&&(!ve||Je.once)&&(!Se||Je.context===Se)&&(--this._eventsCount===0?this._events=new Ee:delete this._events[qe]);else{for(var ot=0,Te=[],ut=Je.length;ot<ut;ot++)(Je[ot].fn!==ce||ve&&!Je[ot].once||Se&&Je[ot].context!==Se)&&Te.push(Je[ot]);Te.length?this._events[qe]=Te.length===1?Te[0]:Te:--this._eventsCount===0?this._events=new Ee:delete this._events[qe]}return this},Oe.prototype.removeAllListeners=function(Ne){var ce;return Ne?(ce=he?he+Ne:Ne,this._events[ce]&&(--this._eventsCount===0?this._events=new Ee:delete this._events[ce])):(this._events=new Ee,this._eventsCount=0),this},Oe.prototype.off=Oe.prototype.removeListener,Oe.prototype.addListener=Oe.prototype.on,Oe.prototype.setMaxListeners=function(){return this},Oe.prefixed=he,Oe.EventEmitter=Oe,re.exports=Oe});function d(re,se,he){return se in re?Object.defineProperty(re,se,{value:he,enumerable:!0,configurable:!0,writable:!0}):re[se]=he,re}var h=function(){},f={data:"state-data",cdata:"state-cdata",tagBegin:"state-tag-begin",tagName:"state-tag-name",tagEnd:"state-tag-end",attributeNameStart:"state-attribute-name-start",attributeName:"state-attribute-name",attributeNameEnd:"state-attribute-name-end",attributeValueBegin:"state-attribute-value-begin",attributeValue:"state-attribute-value"},m={lt:"action-lt",gt:"action-gt",space:"action-space",equal:"action-equal",quote:"action-quote",slash:"action-slash",char:"action-char",error:"action-error"},y={text:"text",openTag:"open-tag",closeTag:"close-tag",attributeName:"attribute-name",attributeValue:"attribute-value"},g={" ":m.space," ":m.space,"\n":m.space,"\r":m.space,"<":m.lt,">":m.gt,'"':m.quote,"'":m.quote,"=":m.equal,"/":m.slash},x=function(se){return g[se]||m.char},v=function(se){var he,Ee,Ce,Oe,Ve,Ne,ce,Se,ve,qe;se=Object.assign({debug:!1},se);var Je=new u,ot=f.data,Te="",ut="",Ze="",Ye="",Qe="",ze="",Ie=function(Ke,nt){if(!(ut[0]==="?"||ut[0]==="!")){var pt={type:Ke,value:nt};se.debug&&console.log("emit:",pt),Je.emit("data",pt)}};Je.stateMachine=(qe={},d(qe,f.data,(he={},d(he,m.lt,function(){Te.trim()&&Ie(y.text,Te),ut="",Qe=!1,ot=f.tagBegin}),d(he,m.char,function(De){Te+=De}),he)),d(qe,f.cdata,d({},m.char,function(De){Te+=De,Te.substr(-3)==="]]>"&&(Ie(y.text,Te.slice(0,-3)),Te="",ot=f.data)})),d(qe,f.tagBegin,(Ee={},d(Ee,m.space,h),d(Ee,m.char,function(De){ut=De,ot=f.tagName}),d(Ee,m.slash,function(){ut="",Qe=!0}),Ee)),d(qe,f.tagName,(Ce={},d(Ce,m.space,function(){Qe?ot=f.tagEnd:(ot=f.attributeNameStart,Ie(y.openTag,ut))}),d(Ce,m.gt,function(){Ie(Qe?y.closeTag:y.openTag,ut),Te="",ot=f.data}),d(Ce,m.slash,function(){ot=f.tagEnd,Ie(y.openTag,ut)}),d(Ce,m.char,function(De){ut+=De,ut==="![CDATA["&&(ot=f.cdata,Te="",ut="")}),Ce)),d(qe,f.tagEnd,(Oe={},d(Oe,m.gt,function(){Ie(y.closeTag,ut),Te="",ot=f.data}),d(Oe,m.char,h),Oe)),d(qe,f.attributeNameStart,(Ve={},d(Ve,m.char,function(De){Ze=De,ot=f.attributeName}),d(Ve,m.gt,function(){Te="",ot=f.data}),d(Ve,m.space,h),d(Ve,m.slash,function(){Qe=!0,ot=f.tagEnd}),Ve)),d(qe,f.attributeName,(Ne={},d(Ne,m.space,function(){ot=f.attributeNameEnd}),d(Ne,m.equal,function(){Ie(y.attributeName,Ze),ot=f.attributeValueBegin}),d(Ne,m.gt,function(){Ye="",Ie(y.attributeName,Ze),Ie(y.attributeValue,Ye),Te="",ot=f.data}),d(Ne,m.slash,function(){Qe=!0,Ye="",Ie(y.attributeName,Ze),Ie(y.attributeValue,Ye),ot=f.tagEnd}),d(Ne,m.char,function(De){Ze+=De}),Ne)),d(qe,f.attributeNameEnd,(ce={},d(ce,m.space,h),d(ce,m.equal,function(){Ie(y.attributeName,Ze),ot=f.attributeValueBegin}),d(ce,m.gt,function(){Ye="",Ie(y.attributeName,Ze),Ie(y.attributeValue,Ye),Te="",ot=f.data}),d(ce,m.char,function(De){Ye="",Ie(y.attributeName,Ze),Ie(y.attributeValue,Ye),Ze=De,ot=f.attributeName}),ce)),d(qe,f.attributeValueBegin,(Se={},d(Se,m.space,h),d(Se,m.quote,function(De){ze=De,Ye="",ot=f.attributeValue}),d(Se,m.gt,function(){Ye="",Ie(y.attributeValue,Ye),Te="",ot=f.data}),d(Se,m.char,function(De){ze="",Ye=De,ot=f.attributeValue}),Se)),d(qe,f.attributeValue,(ve={},d(ve,m.space,function(De){ze?Ye+=De:(Ie(y.attributeValue,Ye),ot=f.attributeNameStart)}),d(ve,m.quote,function(De){ze===De?(Ie(y.attributeValue,Ye),ot=f.attributeNameStart):Ye+=De}),d(ve,m.gt,function(De){ze?Ye+=De:(Ie(y.attributeValue,Ye),Te="",ot=f.data)}),d(ve,m.slash,function(De){ze?Ye+=De:(Ie(y.attributeValue,Ye),Qe=!0,ot=f.tagEnd)}),d(ve,m.char,function(De){Ye+=De}),ve)),qe);var We=function(Ke){se.debug&&console.log(ot,Ke);var nt=Je.stateMachine[ot],pt=nt[x(Ke)]||nt[m.error]||nt[m.char];pt(Ke)};return Je.write=function(De){for(var Ke=De.length,nt=0;nt<Ke;nt++)We(De[nt])},Je},w={State:f,Action:m,Type:y,create:v},E=w.Type,k={element:"element",text:"text"},R=function(se){return Object.assign({name:"",type:k.element,value:"",parent:null,attributes:{},children:[]},se)},N=function(se){se=Object.assign({stream:!1,parentNodes:!0,doneEvent:"done",tagPrefix:"tag:",emitTopLevelOnly:!1,debug:!1},se);var he=void 0,Ee=void 0,Ce=void 0,Oe=void 0,Ve=new u,Ne=function(Se){switch(Se.type){case E.openTag:if(Ce===null)Ce=Ee,Ce.name=Se.value;else{var ve=R({name:Se.value,parent:Ce});Ce.children.push(ve),Ce=ve}break;case E.closeTag:var qe=Ce.parent;if(se.parentNodes||(Ce.parent=null),Ce.name!==Se.value)break;se.stream&&qe===Ee&&(Ee.children=[],Ce.parent=null),(!se.emitTopLevelOnly||qe===Ee)&&(Ve.emit(se.tagPrefix+Ce.name,Ce),Ve.emit("tag",Ce.name,Ce)),Ce===Ee&&(he.removeAllListeners("data"),Ve.emit(se.doneEvent,Ce),Ee=null),Ce=qe;break;case E.text:Ce&&Ce.children.push(R({type:k.text,value:Se.value,parent:se.parentNodes?Ce:null}));break;case E.attributeName:Oe=Se.value,Ce.attributes[Oe]="";break;case E.attributeValue:Ce.attributes[Oe]=Se.value;break}};return Ve.reset=function(){he=w.create({debug:se.debug}),he.on("data",Ne),Ee=R(),Ce=null,Oe="",Ve.parse=he.write},Ve.reset(),Ve},M=function(se,he){he=Object.assign({},he,{stream:!1,tagPrefix:":"});var Ee=N(he),Ce=void 0;return Ee.on("done",function(Oe){Ce=Oe}),Ee.parse(se),Ce},I={parseSync:M},A=I.parseSync,$=function(se){var he=A("<root>".concat(se,"</root>"),{parentNodes:!1}),Ee=he.children&&he.children.length>0&&he.children.every(function(Ce){return Ce.name==="svg"});if(Ee)return he.children.length===1?he.children[0]:he.children;throw Error("nothing to parse")},P=function(se){return l(se,function(he){return G(he)?he:j(he)})},j=function(se){return se.replace(/[-|:]([a-z])/gi,function(he,Ee){return Ee.toUpperCase()})},G=function(se){return/^(data|aria)(-\w+)/.test(se)},X=function(se){if(se){var he=String(se);return/[&<>]/.test(he)?"<![CDATA[".concat(he.replace(/]]>/,"]]]]><![CDATA[>"),"]]>"):he}return""},Z=function(se){return String(se).replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")},J=function(se){var he=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ee=he.transformNode,Ce=Ee===void 0?function(ce){return ce}:Ee,Oe=he.camelcase,Ve=Oe===void 0?!1:Oe,Ne=function(Se){var ve;return ve=Ce(Se),Ve&&(ve=P(ve)),ve};return Ne($(se))};function oe(){for(var re=arguments.length,se=new Array(re),he=0;he<re;he++)se[he]=arguments[he];return new Promise(function(Ee,Ce){try{var Oe=J.apply(void 0,se);Ee(Oe)}catch(Ve){Ce(Ve)}})}var ue=function re(se){var he=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ee=he.transformAttr,Ce=Ee===void 0?function(ot,Te,ut){return"".concat(ot,'="').concat(ut(Te),'"')}:Ee,Oe=he.transformNode,Ve=Oe===void 0?function(ot){return ot}:Oe,Ne=he.selfClose,ce=Ne===void 0?!0:Ne;if(Array.isArray(se))return se.map(function(ot){return re(ot,{transformAttr:Ce,selfClose:ce,transformNode:Ve})}).join("");var Se=Ve(se);if(Se.type==="text")return X(Se.value);var ve="";for(var qe in Se.attributes){var Je=Ce(qe,Se.attributes[qe],Z,Se.name);ve+=Je?" ".concat(Je):""}return Se.children&&Se.children.length>0||!ce?"<".concat(Se.name).concat(ve,">").concat(re(Se.children,{transformAttr:Ce,transformNode:Ve,selfClose:ce}),"</").concat(Se.name,">"):"<".concat(Se.name).concat(ve,"/>")},ge=Object.assign({},{parse:oe,parseSync:J,stringify:ue});return ge})}}),hye=ph({"node_modules/js-beautify/js/src/core/output.js"(n,e){function t(o){this.__parent=o,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}t.prototype.clone_empty=function(){var o=new t(this.__parent);return o.set_indent(this.__indent_count,this.__alignment_count),o},t.prototype.item=function(o){return o<0?this.__items[this.__items.length+o]:this.__items[o]},t.prototype.has_match=function(o){for(var s=this.__items.length-1;s>=0;s--)if(this.__items[s].match(o))return!0;return!1},t.prototype.set_indent=function(o,s){this.is_empty()&&(this.__indent_count=o||0,this.__alignment_count=s||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},t.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},t.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},t.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var o=this.__parent.current_line;return o.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),o.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),o.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,o.__items[0]===" "&&(o.__items.splice(0,1),o.__character_count-=1),!0}return!1},t.prototype.is_empty=function(){return this.__items.length===0},t.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},t.prototype.push=function(o){this.__items.push(o);var s=o.lastIndexOf(`
|
|
@@ -5683,7 +5683,7 @@ $1`).replace(/>(\s*)(?=<!--\s*\/)/g,"> ")}}}),wet={};kwn(wet,{all_layers:()=>qye
|
|
|
5683
5683
|
* Copyright (c) 2013-2015, 2017, Jon Schlinkert.
|
|
5684
5684
|
* Released under the MIT License.
|
|
5685
5685
|
*)
|
|
5686
|
-
*/const iEn=({containerClassName:n,...e})=>{const t=we.useRef(null),[i,r]=we.useState(620);return we.useLayoutEffect(()=>{const o=()=>{if(t.current){const a=t.current.clientHeight,c=window.innerHeight;r(Math.min(Math.max(a,620),c))}};o();const s=new ResizeObserver(o);return t.current&&s.observe(t.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),me.jsx("div",{ref:t,className:n||"rf-w-full rf-h-full",children:me.jsx(nEn,{...e,height:i})})},rEn='*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius:0.5rem}.rf-pointer-events-none{pointer-events:none}.rf-invisible{visibility:hidden}.rf-fixed{position:fixed}.rf-absolute{position:absolute}.rf-relative{position:relative}.rf-inset-0{inset:0}.-rf-left-2{left:-.5rem}.-rf-right-10{right:-2.5rem}.-rf-right-2{right:-.5rem}.-rf-right-4{right:-1rem}.-rf-right-6{right:-1.5rem}.-rf-right-7{right:-1.75rem}.-rf-right-8{right:-2rem}.-rf-right-9{right:-2.25rem}.rf-bottom-full{bottom:100%}.rf-left-0{left:0}.rf-left-1{left:.25rem}.rf-left-1\\/2{left:50%}.rf-left-2{left:.5rem}.rf-left-\\[50\\%\\]{left:50%}.rf-right-0{right:0}.rf-right-1{right:.25rem}.rf-right-4{right:1rem}.rf-right-\\[4px\\]{right:4px}.rf-top-0{top:0}.rf-top-1{top:.25rem}.rf-top-2{top:.5rem}.rf-top-2\\.5{top:.625rem}.rf-top-\\[50\\%\\]{top:50%}.rf-top-\\[6px\\]{top:6px}.\\!rf-z-\\[101\\]{z-index:101!important}.rf-z-10{z-index:10}.rf-z-50{z-index:50}.rf-z-\\[100\\]{z-index:100}.rf-z-\\[101\\]{z-index:101}.rf-order-1{order:1}.rf-order-2{order:2}.rf-order-3{order:3}.rf-m-1{margin:.25rem}.rf-m-6{margin:1.5rem}.-rf-mx-1,.rf--mx-1{margin-left:-.25rem;margin-right:-.25rem}.rf-mx-1{margin-left:.25rem;margin-right:.25rem}.rf-mx-2{margin-left:.5rem;margin-right:.5rem}.rf-mx-4{margin-left:1rem;margin-right:1rem}.rf-mx-auto{margin-left:auto;margin-right:auto}.rf-my-1{margin-bottom:.25rem;margin-top:.25rem}.rf-my-12{margin-bottom:3rem;margin-top:3rem}.rf-my-4{margin-bottom:1rem;margin-top:1rem}.rf-my-auto{margin-bottom:auto;margin-top:auto}.rf-mb-1{margin-bottom:.25rem}.rf-mb-12{margin-bottom:3rem}.rf-mb-2{margin-bottom:.5rem}.rf-mb-3{margin-bottom:.75rem}.rf-mb-4{margin-bottom:1rem}.rf-mb-6{margin-bottom:1.5rem}.rf-mb-8{margin-bottom:2rem}.rf-ml-1{margin-left:.25rem}.rf-ml-2{margin-left:.5rem}.rf-ml-auto{margin-left:auto}.rf-mr-1{margin-right:.25rem}.rf-mr-2{margin-right:.5rem}.rf-mt-0{margin-top:0}.rf-mt-0\\.5{margin-top:.125rem}.rf-mt-1{margin-top:.25rem}.rf-mt-2{margin-top:.5rem}.rf-mt-3{margin-top:.75rem}.rf-mt-4{margin-top:1rem}.rf-mt-5{margin-top:1.25rem}.rf-mt-auto{margin-top:auto}.rf-block{display:block}.rf-inline-block{display:inline-block}.rf-inline{display:inline}.rf-flex{display:flex}.rf-inline-flex{display:inline-flex}.rf-grid{display:grid}.rf-hidden{display:none}.rf-aspect-square{aspect-ratio:1/1}.rf-aspect-video{aspect-ratio:16/9}.rf-size-14{height:3.5rem;width:3.5rem}.rf-size-4{height:1rem;width:1rem}.\\!rf-h-2{height:.5rem!important}.\\!rf-h-2\\.5{height:.625rem!important}.\\!rf-h-3{height:.75rem!important}.\\!rf-h-full{height:100%!important}.rf-h-1{height:.25rem}.rf-h-10{height:2.5rem}.rf-h-12{height:3rem}.rf-h-2{height:.5rem}.rf-h-2\\.5{height:.625rem}.rf-h-20{height:5rem}.rf-h-24{height:6rem}.rf-h-3{height:.75rem}.rf-h-3\\.5{height:.875rem}.rf-h-4{height:1rem}.rf-h-5{height:1.25rem}.rf-h-6{height:1.5rem}.rf-h-60{height:15rem}.rf-h-64{height:16rem}.rf-h-7{height:1.75rem}.rf-h-8{height:2rem}.rf-h-9{height:2.25rem}.rf-h-\\[400px\\]{height:400px}.rf-h-\\[calc\\(100vh-52px\\)\\]{height:calc(100vh - 52px)}.rf-h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.rf-h-auto{height:auto}.rf-h-fit{height:-moz-fit-content;height:fit-content}.rf-h-full{height:100%}.rf-h-px{height:1px}.rf-h-screen{height:100vh}.\\!rf-max-h-\\[40vh\\]{max-height:40vh!important}.rf-max-h-32{max-height:8rem}.rf-max-h-96{max-height:24rem}.rf-max-h-\\[200px\\]{max-height:200px}.rf-max-h-\\[300px\\]{max-height:300px}.rf-max-h-\\[500px\\]{max-height:500px}.rf-max-h-\\[90vh\\]{max-height:90vh}.rf-max-h-full{max-height:100%}.rf-min-h-0{min-height:0}.rf-min-h-\\[200px\\]{min-height:200px}.rf-min-h-\\[300px\\]{min-height:300px}.rf-min-h-\\[620px\\]{min-height:620px}.rf-min-h-\\[calc\\(100vh-240px\\)\\]{min-height:calc(100vh - 240px)}.\\!rf-w-2{width:.5rem!important}.\\!rf-w-2\\.5{width:.625rem!important}.rf-w-1{width:.25rem}.rf-w-1\\/2{width:50%}.rf-w-11{width:2.75rem}.rf-w-11\\/12{width:91.666667%}.rf-w-12{width:3rem}.rf-w-16{width:4rem}.rf-w-2{width:.5rem}.rf-w-2\\.5{width:.625rem}.rf-w-20{width:5rem}.rf-w-24{width:6rem}.rf-w-28{width:7rem}.rf-w-3{width:.75rem}.rf-w-3\\.5{width:.875rem}.rf-w-32{width:8rem}.rf-w-4{width:1rem}.rf-w-40{width:10rem}.rf-w-48{width:12rem}.rf-w-5{width:1.25rem}.rf-w-6{width:1.5rem}.rf-w-64{width:16rem}.rf-w-72{width:18rem}.rf-w-8{width:2rem}.rf-w-9{width:2.25rem}.rf-w-96{width:24rem}.rf-w-\\[95\\%\\]{width:95%}.rf-w-fit{width:-moz-fit-content;width:fit-content}.rf-w-full{width:100%}.rf-w-screen{width:100vw}.rf-min-w-0{min-width:0}.rf-min-w-10{min-width:2.5rem}.rf-min-w-16{min-width:4rem}.rf-min-w-\\[148px\\]{min-width:148px}.rf-min-w-\\[8rem\\]{min-width:8rem}.rf-min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.\\!rf-max-w-\\[660px\\]{max-width:660px!important}.rf-max-w-2xl{max-width:42rem}.rf-max-w-3xl{max-width:48rem}.rf-max-w-4xl{max-width:56rem}.rf-max-w-5xl{max-width:64rem}.rf-max-w-full{max-width:100%}.rf-max-w-lg{max-width:32rem}.rf-max-w-md{max-width:28rem}.rf-max-w-none{max-width:none}.rf-max-w-xl{max-width:36rem}.rf-max-w-xs{max-width:20rem}.rf-flex-1{flex:1 1 0%}.rf-flex-shrink-0,.rf-shrink-0{flex-shrink:0}.rf-flex-grow{flex-grow:1}.rf-table-auto{table-layout:auto}.rf-origin-\\[--radix-popover-content-transform-origin\\]{transform-origin:var(--radix-popover-content-transform-origin)}.-rf-translate-x-1{--tw-translate-x:-0.25rem}.-rf-translate-x-1,.-rf-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rf-translate-x-1\\/2{--tw-translate-x:-50%}.-rf-translate-y-1{--tw-translate-y:-0.25rem}.-rf-translate-y-1,.rf--translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-x-1{--tw-translate-x:-0.25rem}.rf--translate-x-1\\/2{--tw-translate-x:-50%}.rf--translate-x-1\\/2,.rf--translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-y-1{--tw-translate-y:-0.25rem}.rf-translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.rf-translate-x-\\[-50\\%\\],.rf-translate-y-\\[-50\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf-translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.rf-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes rf-pulse{50%{opacity:.5}}.rf-animate-pulse{animation:rf-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes rf-spin{to{transform:rotate(1turn)}}.rf-animate-spin{animation:rf-spin 1s linear infinite}.rf-cursor-default{cursor:default}.rf-cursor-not-allowed{cursor:not-allowed}.rf-cursor-pointer{cursor:pointer}.rf-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.rf-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.rf-flex-row{flex-direction:row}.rf-flex-col{flex-direction:column}.rf-flex-col-reverse{flex-direction:column-reverse}.rf-flex-wrap{flex-wrap:wrap}.rf-place-items-center{place-items:center}.rf-items-start{align-items:flex-start}.rf-items-end{align-items:flex-end}.rf-items-center{align-items:center}.rf-items-stretch{align-items:stretch}.rf-justify-end{justify-content:flex-end}.rf-justify-center{justify-content:center}.rf-justify-between{justify-content:space-between}.rf-gap-0{gap:0}.rf-gap-1{gap:.25rem}.rf-gap-2{gap:.5rem}.rf-gap-3{gap:.75rem}.rf-gap-4{gap:1rem}.rf-gap-5{gap:1.25rem}.rf-gap-6{gap:1.5rem}.rf-gap-8{gap:2rem}.rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.rf-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.rf-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.rf-overflow-auto{overflow:auto}.rf-overflow-hidden{overflow:hidden}.rf-overflow-visible{overflow:visible}.rf-overflow-x-auto{overflow-x:auto}.\\!rf-overflow-y-auto{overflow-y:auto!important}.rf-overflow-y-auto{overflow-y:auto}.rf-overflow-x-hidden{overflow-x:hidden}.rf-overflow-x-clip{overflow-x:clip}.rf-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rf-whitespace-normal{white-space:normal}.rf-whitespace-nowrap{white-space:nowrap}.rf-whitespace-pre-wrap{white-space:pre-wrap}.rf-break-words{overflow-wrap:break-word}.rf-break-all{word-break:break-all}.rf-rounded{border-radius:.25rem}.rf-rounded-2xl{border-radius:1rem}.rf-rounded-full{border-radius:9999px}.rf-rounded-lg{border-radius:var(--radius)}.rf-rounded-md{border-radius:calc(var(--radius) - 2px)}.rf-rounded-sm{border-radius:calc(var(--radius) - 4px)}.rf-rounded-xl{border-radius:.75rem}.rf-border{border-width:1px}.rf-border-2{border-width:2px}.rf-border-b{border-bottom-width:1px}.rf-border-t{border-top-width:1px}.rf-border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.rf-border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.rf-border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.rf-border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.rf-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.rf-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.rf-border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.rf-border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.rf-border-input{border-color:hsl(var(--input))}.rf-border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.rf-border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.rf-border-primary{border-color:hsl(var(--primary))}.rf-border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.rf-border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.rf-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.rf-border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.rf-border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.rf-bg-background{background-color:hsl(var(--background))}.rf-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.rf-bg-black\\/80{background-color:rgba(0,0,0,.8)}.rf-bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.rf-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.rf-bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.rf-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.rf-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.rf-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.rf-bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.rf-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.rf-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.rf-bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.rf-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.rf-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.rf-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.rf-bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.rf-bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.rf-bg-muted{background-color:hsl(var(--muted))}.rf-bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.rf-bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.rf-bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.rf-bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.rf-bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.rf-bg-popover{background-color:hsl(var(--popover))}.rf-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.rf-bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.rf-bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.rf-bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.rf-bg-transparent{background-color:transparent}.rf-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.rf-bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.rf-bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.rf-bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.rf-bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.rf-bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.rf-bg-opacity-50{--tw-bg-opacity:0.5}.rf-fill-current{fill:currentColor}.rf-object-contain{-o-object-fit:contain;object-fit:contain}.rf-object-cover{-o-object-fit:cover;object-fit:cover}.\\!rf-p-0{padding:0!important}.rf-p-0{padding:0}.rf-p-1{padding:.25rem}.rf-p-2{padding:.5rem}.rf-p-3{padding:.75rem}.rf-p-4{padding:1rem}.rf-p-5{padding:1.25rem}.rf-p-6{padding:1.5rem}.rf-p-8{padding:2rem}.rf-px-1{padding-left:.25rem;padding-right:.25rem}.rf-px-2{padding-left:.5rem;padding-right:.5rem}.rf-px-3{padding-left:.75rem;padding-right:.75rem}.rf-px-4{padding-left:1rem;padding-right:1rem}.rf-px-6{padding-left:1.5rem;padding-right:1.5rem}.rf-px-8{padding-left:2rem;padding-right:2rem}.rf-py-0{padding-bottom:0;padding-top:0}.rf-py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.rf-py-1{padding-bottom:.25rem;padding-top:.25rem}.rf-py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.rf-py-10{padding-bottom:2.5rem;padding-top:2.5rem}.rf-py-12{padding-bottom:3rem;padding-top:3rem}.rf-py-2{padding-bottom:.5rem;padding-top:.5rem}.rf-py-3{padding-bottom:.75rem;padding-top:.75rem}.rf-py-4{padding-bottom:1rem;padding-top:1rem}.rf-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.rf-py-8{padding-bottom:2rem;padding-top:2rem}.rf-pb-0{padding-bottom:0}.rf-pb-2{padding-bottom:.5rem}.rf-pb-3{padding-bottom:.75rem}.rf-pb-4{padding-bottom:1rem}.rf-pl-2{padding-left:.5rem}.rf-pl-4{padding-left:1rem}.rf-pl-8{padding-left:2rem}.rf-pr-2{padding-right:.5rem}.rf-pt-0{padding-top:0}.rf-pt-2{padding-top:.5rem}.rf-pt-4{padding-top:1rem}.rf-text-left{text-align:left}.rf-text-center{text-align:center}.rf-text-right{text-align:right}.rf-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rf-text-2xl{font-size:1.5rem;line-height:2rem}.rf-text-3xl{font-size:1.875rem;line-height:2.25rem}.rf-text-\\[8px\\]{font-size:8px}.rf-text-base{font-size:1rem;line-height:1.5rem}.rf-text-lg{font-size:1.125rem;line-height:1.75rem}.rf-text-sm{font-size:.875rem;line-height:1.25rem}.rf-text-xl{font-size:1.25rem;line-height:1.75rem}.rf-text-xs{font-size:.75rem;line-height:1rem}.\\!rf-font-normal{font-weight:400!important}.rf-font-bold{font-weight:700}.rf-font-medium{font-weight:500}.rf-font-semibold{font-weight:600}.rf-uppercase{text-transform:uppercase}.rf-capitalize{text-transform:capitalize}.rf-tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.rf-leading-5{line-height:1.25rem}.rf-leading-none{line-height:1}.rf-leading-relaxed{line-height:1.625}.rf-leading-tight{line-height:1.25}.rf-tracking-wide{letter-spacing:.025em}.rf-tracking-widest{letter-spacing:.1em}.rf-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.rf-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.rf-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.rf-text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.rf-text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.rf-text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.rf-text-current{color:currentColor}.rf-text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.rf-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.rf-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rf-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.rf-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.rf-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.rf-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.rf-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.rf-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.rf-text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.rf-text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.rf-text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.rf-text-muted-foreground{color:hsl(var(--muted-foreground))}.rf-text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.rf-text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.rf-text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.rf-text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.rf-text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.rf-text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.rf-text-popover-foreground{color:hsl(var(--popover-foreground))}.rf-text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.rf-text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.rf-text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.rf-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.rf-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.rf-text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.rf-text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.rf-text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.rf-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rf-text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.rf-text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.rf-text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.rf-text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.rf-text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.rf-text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.rf-text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.rf-text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.rf-text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.rf-underline{text-decoration-line:underline}.rf-line-through{text-decoration-line:line-through}.rf-underline-offset-4{text-underline-offset:4px}.rf-opacity-0{opacity:0}.rf-opacity-100{opacity:1}.rf-opacity-25{opacity:.25}.rf-opacity-30{opacity:.3}.rf-opacity-50{opacity:.5}.rf-opacity-60{opacity:.6}.rf-opacity-75{opacity:.75}.rf-shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.rf-shadow,.rf-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.rf-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.rf-shadow-md,.rf-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.rf-outline-none{outline:2px solid transparent;outline-offset:2px}.rf-ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.rf-ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.rf-ring-primary{--tw-ring-color:hsl(var(--primary))}.rf-ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.rf-ring-offset-white{--tw-ring-offset-color:#fff}.rf-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-duration-200{transition-duration:.2s}.rf-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.rf-slide-in-from-left-1{--tw-enter-translate-x:-0.25rem}.rf-slide-out-to-left-1{--tw-exit-translate-x:-0.25rem}.rf-duration-200{animation-duration:.2s}.rf-ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.file\\:rf-border-0::file-selector-button{border-width:0}.file\\:rf-bg-transparent::file-selector-button{background-color:transparent}.file\\:rf-text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:rf-font-medium::file-selector-button{font-weight:500}.placeholder\\:rf-text-zinc-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.placeholder\\:rf-text-zinc-500::placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.hover\\:rf-border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\\:\\!rf-bg-transparent:hover{background-color:transparent!important}.hover\\:rf-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\\:rf-bg-red-500\\/90:hover{background-color:rgba(239,68,68,.9)}.hover\\:rf-bg-zinc-100:hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.hover\\:rf-bg-zinc-100\\/80:hover{background-color:hsla(240,5%,96%,.8)}.hover\\:rf-bg-zinc-900\\/90:hover{background-color:rgba(24,24,27,.9)}.hover\\:rf-text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\\:rf-text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.hover\\:rf-underline:hover{text-decoration-line:underline}.focus\\:rf-bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.focus\\:rf-bg-zinc-100:focus{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.focus\\:rf-text-gray-900:focus{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.focus\\:rf-text-zinc-900:focus{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.focus\\:rf-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:rf-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:rf-ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\\:rf-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:rf-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:rf-ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-zinc-950:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(9 9 11/var(--tw-ring-opacity,1))}.focus-visible\\:rf-ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:rf-pointer-events-none:disabled{pointer-events:none}.disabled\\:rf-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:rf-opacity-50:disabled{opacity:.5}.rf-group\\/bar:hover .group-hover\\/bar\\:rf-opacity-100{opacity:1}.data-\\[disabled\\=true\\]\\:rf-pointer-events-none[data-disabled=true],.data-\\[disabled\\]\\:rf-pointer-events-none[data-disabled]{pointer-events:none}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom],.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right],.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\\[selected\\=true\\]\\:rf-bg-zinc-100[data-selected=true]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[state\\=active\\]\\:rf-bg-white[data-state=active]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.data-\\[state\\=checked\\]\\:rf-bg-zinc-900[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.data-\\[state\\=open\\]\\:rf-bg-zinc-100[data-state=open]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[selected\\=true\\]\\:rf-text-zinc-900[data-selected=true]{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.data-\\[state\\=active\\]\\:rf-text-zinc-950[data-state=active]{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.data-\\[state\\=checked\\]\\:rf-text-zinc-50[data-state=checked]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.data-\\[disabled\\=true\\]\\:rf-opacity-50[data-disabled=true],.data-\\[disabled\\]\\:rf-opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=active\\]\\:rf-shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\\[state\\=open\\]\\:rf-animate-in[data-state=open]{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=open\\]\\:rf-fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=closed\\]\\:rf-zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=open\\]\\:rf-zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\\[side\\=bottom\\]\\:rf-slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\\[side\\=left\\]\\:rf-slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\[side\\=right\\]\\:rf-slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\[side\\=top\\]\\:rf-slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\\[state\\=closed\\]\\:rf-slide-out-to-left-1\\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\\[state\\=closed\\]\\:rf-slide-out-to-top-\\[48\\%\\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\\[state\\=open\\]\\:rf-slide-in-from-left-1\\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\\[state\\=open\\]\\:rf-slide-in-from-top-\\[48\\%\\][data-state=open]{--tw-enter-translate-y:-48%}.dark\\:rf-border-zinc-50:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.dark\\:rf-border-zinc-800:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.dark\\:rf-bg-gray-700:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\\:rf-bg-gray-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\\:rf-bg-red-900:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-50:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-950:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:rf-text-gray-500:is(.rf-dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-400:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-50:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-900:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-ring-offset-zinc-950:is(.rf-dark *){--tw-ring-offset-color:#09090b}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:hover\\:rf-bg-red-900\\/90:hover:is(.rf-dark *){background-color:rgba(127,29,29,.9)}.dark\\:hover\\:rf-bg-zinc-50\\/90:hover:is(.rf-dark *){background-color:hsla(0,0%,98%,.9)}.dark\\:hover\\:rf-bg-zinc-800:hover:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:hover\\:rf-bg-zinc-800\\/80:hover:is(.rf-dark *){background-color:rgba(39,39,42,.8)}.dark\\:hover\\:rf-text-zinc-50:hover:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus\\:rf-bg-zinc-800:focus:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:focus\\:rf-text-zinc-50:focus:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus-visible\\:rf-ring-zinc-300:focus-visible:is(.rf-dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-bg-zinc-800[data-selected=true]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-bg-zinc-950[data-state=active]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-bg-zinc-50[data-state=checked]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=open\\]\\:rf-bg-zinc-800[data-state=open]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-text-zinc-50[data-selected=true]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-text-zinc-50[data-state=active]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-text-zinc-900[data-state=checked]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\\:rf-order-1{order:1}.sm\\:rf-order-2{order:2}.sm\\:rf-mt-0{margin-top:0}.sm\\:rf-inline{display:inline}.sm\\:rf-grid{display:grid}.sm\\:rf-hidden{display:none}.sm\\:rf-w-auto{width:auto}.sm\\:rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:rf-grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.sm\\:rf-flex-row{flex-direction:row}.sm\\:rf-items-center{align-items:center}.sm\\:rf-justify-end{justify-content:flex-end}.sm\\:rf-gap-3{gap:.75rem}.sm\\:rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\\:rf-rounded-lg{border-radius:var(--radius)}.sm\\:rf-px-4{padding-left:1rem;padding-right:1rem}.sm\\:rf-text-left{text-align:left}.sm\\:rf-text-sm{font-size:.875rem;line-height:1.25rem}.sm\\:rf-text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\\:rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\\[\\&\\>span\\]\\:rf-line-clamp-1>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\\[\\&\\>svg\\]\\:rf-size-4>svg{height:1rem;width:1rem}.\\[\\&\\>svg\\]\\:rf-shrink-0>svg{flex-shrink:0}.\\[\\&\\>svg\\]\\:rf-text-red-300>svg{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.\\[\\&\\>svg\\]\\:hover\\:rf-text-red-400:hover>svg{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-py-1\\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-font-medium [cmdk-group-heading]{font-weight:500}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-500 [cmdk-group-heading]{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.dark\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-400 [cmdk-group-heading]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:rf-pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\\[\\&_\\[cmdk-group\\]\\]\\:rf-px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\\[\\&_\\[cmdk-input\\]\\]\\:rf-h-12 [cmdk-input]{height:3rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-h-5 [cmdk-item] svg{height:1.25rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-w-5 [cmdk-item] svg{width:1.25rem}.\\[\\&_svg\\]\\:rf-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:rf-size-4 svg{height:1rem;width:1rem}.\\[\\&_svg\\]\\:rf-shrink-0 svg{flex-shrink:0}',Ynt=()=>{we.useEffect(()=>{if(document.querySelector('style[data-styles="tscircuit-runframe"]'))return;const e=document.createElement("style");e.setAttribute("data-styles","tscircuit-runframe"),e.textContent=rEn,document.head.appendChild(e)},[])},oEn=n=>{we.useEffect(()=>(n?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[n])},Xnt=n=>`hsl(${Bb.indexOf(n)*137.5%360}, 70%, 50%)`,sEn=({phaseTimings:n})=>{if(!n)return null;const e=Object.values(n).reduce((t,i)=>t+i,0);return me.jsxs("div",{className:"rf-space-y-2 rf-w-full rf-px-4",children:[me.jsx("div",{className:"rf-relative rf-h-8 rf-flex rf-rounded-sm",children:Bb.map(t=>{const i=n[t]||0,r=i/e*100;return me.jsx("div",{className:"rf-group/bar rf-relative rf-overflow-visible",style:{width:`${r}%`,backgroundColor:Xnt(t)},children:me.jsxs("div",{className:"rf-opacity-0 group-hover/bar:rf-opacity-100 rf-transition-opacity rf-absolute rf-bottom-full rf-left-1/2 rf-transform -rf-translate-x-1/2 rf-mb-2 rf-px-2 rf-py-1 rf-text-xs rf-whitespace-nowrap rf-rounded rf-bg-gray-900 rf-text-white rf-pointer-events-none",children:[t,": ",i.toFixed(1),"ms"]})},t)})}),me.jsxs("div",{className:"rf-text-xs rf-text-gray-500",children:["Total: ",e.toFixed(2),"ms"]})]})},aEn=({renderLog:n,onRerunWithDebug:e})=>{const[t,i]=we.useState("chronological"),[r,o]=we.useState(""),s=[{value:"",label:"None"},{value:"DEBUG=Group_doInitialSchematicTraceRender",label:"DEBUG=Group_doInitialSchematicTraceRender"},{value:"DEBUG=Group_doInitialSchematicLayoutMatchpack",label:"DEBUG=Group_doInitialSchematicLayoutMatchpack"},{value:"DEBUG=Group_doInitialPcbLayoutPack",label:"DEBUG=Group_doInitialPcbLayoutPack"}];if(!n)return me.jsxs("div",{className:"rf-p-4 rf-bg-gray-100 rf-rounded-md",children:[me.jsx("div",{className:"rf-mb-4",children:"No render log, make sure this tab is open when you render"}),e&&me.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[me.jsx("select",{value:r,onChange:l=>o(l.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(l=>me.jsx("option",{value:l.value,children:l.label},l.value))}),me.jsx(vm,{onClick:()=>e(r),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]})]});const a=Object.entries(n?.phaseTimings??{});t==="chronological"?a.sort((l,u)=>Bb.indexOf(l[0])-Bb.indexOf(u[0])):a.sort((l,u)=>u[1]-l[1]);const c=a.reduce((l,[u,d])=>l+d,0);return me.jsxs("div",{className:"rf-bg-white",children:[me.jsxs("div",{className:"rf-flex rf-justify-between rf-items-center rf-mb-4",children:[me.jsx("div",{children:"Render Logs"}),me.jsxs("div",{className:"rf-flex rf-gap-4 rf-items-center",children:[e&&me.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[me.jsx("select",{value:r,onChange:l=>o(l.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(l=>me.jsx("option",{value:l.value,children:l.label},l.value))}),me.jsx(vm,{onClick:()=>e(r),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]}),me.jsx("div",{className:"rf-flex rf-gap-2 rf-items-center",children:me.jsxs("select",{onChange:l=>{if(l.target.value){const u=n?.debugOutputs?.find(d=>d.name===l.target.value);if(u){const d=new Blob([u.content],{type:"text/plain"}),h=URL.createObjectURL(d),f=document.createElement("a");f.href=h,f.download=`debug-${u.name}.txt`,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(h)}l.target.value=""}},disabled:!n?.debugOutputs||n.debugOutputs.length===0,className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white disabled:rf-opacity-50 disabled:rf-cursor-not-allowed",children:[me.jsx("option",{value:"",children:"Download Debug Output"}),n?.debugOutputs?.map(l=>me.jsx("option",{value:l.name,children:l.name},l.name))]})}),me.jsxs("div",{className:"rf-flex rf-text-xs rf-items-center",children:[me.jsx("div",{className:"rf-mr-2",children:"Sort by:"}),me.jsxs("select",{value:t,onChange:l=>i(l.target.value),className:"rf-px-2 rf-py-1 rf-border rf-rounded rf-text-xs",children:[me.jsx("option",{value:"chronological",children:"Phase Order"}),me.jsx("option",{value:"longest",children:"Duration"})]})]})]})]}),me.jsx(sEn,{phaseTimings:n.phaseTimings}),me.jsxs("table",{className:"rf-w-full rf-text-xs",children:[me.jsx("thead",{children:me.jsxs("tr",{children:[me.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase Order"}),me.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase"}),me.jsx("th",{className:"rf-text-left rf-p-2",children:"Duration (ms)"})]})}),me.jsx("tbody",{children:a.map(([l,u])=>me.jsxs("tr",{children:[me.jsx("td",{className:"rf-p-2",children:Bb.indexOf(l)}),me.jsx("td",{className:"rf-p-2",children:l}),me.jsx("td",{className:"rf-p-2",children:me.jsx("div",{className:"rf-w-8",children:me.jsx("div",{className:"rf-h-2 rf-rounded-sm",style:{backgroundColor:Xnt(l),width:`${u/c*100}%`}})})}),me.jsx("td",{className:"rf-p-2",children:me.jsxs("div",{className:"rf-flex w-full",children:[me.jsxs("span",{className:"rf-flex-grow",children:[u,"ms"]}),me.jsxs("span",{className:"rf-text-gray-500 rf-pr-2",children:[(u/c*100).toFixed(1),"%"]})]})})]},l))})]})]})},Wnt=({errorMessage:n,errorStack:e,circuitJsonErrors:t})=>{we.useEffect(()=>{if(n){const i=new Error(n);e&&(i.stack=e);try{gU.captureException(i)}catch{}}},[n,e]),we.useEffect(()=>{if(t&&t.length>0)for(const i of t){const r=new Error(i.message||"Circuit JSON Error");i.stack&&(r.stack=i.stack);try{gU.captureException(r,{error_type:i.type})}catch{}}},[t])},cEn="0.0.926";function Znt(n,e){const[t,i]=we.useState(()=>{try{const r=window.localStorage.getItem(n);return r?JSON.parse(r):e}catch(r){return console.error("Error reading from localStorage:",r),e}});return we.useEffect(()=>{try{window.localStorage.setItem(n,JSON.stringify(t))}catch(r){console.error("Error writing to localStorage:",r)}},[n,t]),[t,i]}const uV=J7e()(ePe(n=>({lastRunEvalVersion:void 0,setLastRunEvalVersion:e=>{n({lastRunEvalVersion:e})}}),{name:"runframe-runner-store"})),lEn=n=>{const[e,t]=we.useState([]),[i,r]=we.useState(null),[o,s]=we.useState(""),[a,c]=Znt("eval-version-selection",null),l=uV(f=>f.setLastRunEvalVersion),u=uV(f=>f.lastRunEvalVersion);return we.useEffect(()=>{n&&fetch("https://data.jsdelivr.com/v1/package/npm/@tscircuit/eval").then(f=>f.json()).then(f=>{if(Array.isArray(f?.versions)){let m=[...f.versions];f.tags?.latest&&(r(f.tags.latest),m=m.filter(y=>y!==f.tags.latest)),t(m)}}).catch(()=>{})},[n]),we.useEffect(()=>{n&&(a?(window.TSCIRCUIT_LATEST_EVAL_VERSION=a,l(a)):i&&(window.TSCIRCUIT_LATEST_EVAL_VERSION=i,l(i)))},[n,a,i]),{versions:we.useMemo(()=>e.filter(f=>f.includes(o)).slice(0,50),[e,o]),latestVersion:i,lastRunEvalVersion:u,search:o,setSearch:s,selectVersion:f=>{c(f),s("")}}},uEn=({snippetNames:n,onSelect:e,onCancel:t,isOpen:i})=>{const[r,o]=we.useState(""),[s,a]=we.useState("");if(!i)return null;const c=n.filter(d=>d.toLowerCase().includes(s.toLowerCase())),l=s&&!n.includes(s),u=d=>{d.key==="Enter"&&(c.length===1?o(c[0]):l&&o(s))};return me.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-items-center rf-justify-center rf-z-[100]",children:me.jsxs("div",{className:"rf-bg-white rf-rounded-lg rf-p-6 rf-w-96",children:[me.jsx("h2",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Select Snippet"}),me.jsx("input",{type:"text",className:"rf-w-full rf-px-4 rf-py-2 rf-border rf-rounded rf-mb-4",placeholder:"Search snippets or new snippet name...",value:s,onChange:d=>a(d.target.value),onKeyDown:u}),me.jsxs("div",{className:"rf-h-60 rf-overflow-y-auto",children:[c.map(d=>me.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${r===d?"bg-blue-50":""}`,onClick:()=>o(d),children:d},d)),l&&me.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${r===s?"bg-blue-50":""}`,onClick:()=>o(s),children:['Create new "',s,'"']})]}),me.jsxs("div",{className:"rf-mt-4 rf-flex rf-justify-end rf-gap-2",children:[me.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-text-gray-600 rf-hover:text-gray-800",onClick:t,children:"Cancel"}),me.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-bg-blue-500 rf-text-white rf-rounded rf-hover:bg-blue-600 rf-disabled:opacity-50",onClick:()=>r&&e(r),disabled:!r,children:r===s?`Create "${r}"`:`Save to ${r}`})]})]})})},dEn=n=>{const e=we.useRef(null),t=$b(i=>i.recentEvents);we.useEffect(()=>{if(t.length===0)return;const i=t[0];i.event_id!==e.current&&(n(i),e.current=i.event_id)},[t,n])};var dV="Dialog",[Knt,Qnt]=mw(dV),[hEn,P5]=Knt(dV),Jnt=n=>{const{__scopeDialog:e,children:t,open:i,defaultOpen:r,onOpenChange:o,modal:s=!0}=n,a=we.useRef(null),c=we.useRef(null),[l,u]=NT({prop:i,defaultProp:r??!1,onChange:o,caller:dV});return me.jsx(hEn,{scope:e,triggerRef:a,contentRef:c,contentId:wx(),titleId:wx(),descriptionId:wx(),open:l,onOpenChange:u,onOpenToggle:we.useCallback(()=>u(d=>!d),[u]),modal:s,children:t})};Jnt.displayName=dV;var eit="DialogTrigger",tit=we.forwardRef((n,e)=>{const{__scopeDialog:t,...i}=n,r=P5(eit,t),o=C_(e,r.triggerRef);return me.jsx(nu.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":ige(r.open),...i,ref:o,onClick:na(n.onClick,r.onOpenToggle)})});tit.displayName=eit;var tge="DialogPortal",[pEn,nit]=Knt(tge,{forceMount:void 0}),iit=n=>{const{__scopeDialog:e,forceMount:t,children:i,container:r}=n,o=P5(tge,e);return me.jsx(pEn,{scope:e,forceMount:t,children:we.Children.map(i,s=>me.jsx(x2,{present:t||o.open,children:me.jsx(Oj,{asChild:!0,container:r,children:s})}))})};iit.displayName=tge;var hV="DialogOverlay",rit=we.forwardRef((n,e)=>{const t=nit(hV,n.__scopeDialog),{forceMount:i=t.forceMount,...r}=n,o=P5(hV,n.__scopeDialog);return o.modal?me.jsx(x2,{present:i||o.open,children:me.jsx(mEn,{...r,ref:e})}):null});rit.displayName=hV;var fEn=IT("DialogOverlay.RemoveScroll"),mEn=we.forwardRef((n,e)=>{const{__scopeDialog:t,...i}=n,r=P5(hV,t);return me.jsx(jj,{as:fEn,allowPinchZoom:!0,shards:[r.contentRef],children:me.jsx(nu.div,{"data-state":ige(r.open),...i,ref:e,style:{pointerEvents:"auto",...i.style}})})}),jM="DialogContent",oit=we.forwardRef((n,e)=>{const t=nit(jM,n.__scopeDialog),{forceMount:i=t.forceMount,...r}=n,o=P5(jM,n.__scopeDialog);return me.jsx(x2,{present:i||o.open,children:o.modal?me.jsx(_En,{...r,ref:e}):me.jsx(yEn,{...r,ref:e})})});oit.displayName=jM;var _En=we.forwardRef((n,e)=>{const t=P5(jM,n.__scopeDialog),i=we.useRef(null),r=C_(e,t.contentRef,i);return we.useEffect(()=>{const o=i.current;if(o)return $me(o)},[]),me.jsx(sit,{...n,ref:r,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:na(n.onCloseAutoFocus,o=>{o.preventDefault(),t.triggerRef.current?.focus()}),onPointerDownOutside:na(n.onPointerDownOutside,o=>{const s=o.detail.originalEvent,a=s.button===0&&s.ctrlKey===!0;(s.button===2||a)&&o.preventDefault()}),onFocusOutside:na(n.onFocusOutside,o=>o.preventDefault())})}),yEn=we.forwardRef((n,e)=>{const t=P5(jM,n.__scopeDialog),i=we.useRef(!1),r=we.useRef(!1);return me.jsx(sit,{...n,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{n.onCloseAutoFocus?.(o),o.defaultPrevented||(i.current||t.triggerRef.current?.focus(),o.preventDefault()),i.current=!1,r.current=!1},onInteractOutside:o=>{n.onInteractOutside?.(o),o.defaultPrevented||(i.current=!0,o.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const s=o.target;t.triggerRef.current?.contains(s)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&r.current&&o.preventDefault()}})}),sit=we.forwardRef((n,e)=>{const{__scopeDialog:t,trapFocus:i,onOpenAutoFocus:r,onCloseAutoFocus:o,...s}=n,a=P5(jM,t),c=we.useRef(null),l=C_(e,c);return wme(),me.jsxs(me.Fragment,{children:[me.jsx(wj,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:r,onUnmountAutoFocus:o,children:me.jsx(bj,{role:"dialog",id:a.contentId,"aria-describedby":a.descriptionId,"aria-labelledby":a.titleId,"data-state":ige(a.open),...s,ref:l,onDismiss:()=>a.onOpenChange(!1)})}),me.jsxs(me.Fragment,{children:[me.jsx(vEn,{titleId:a.titleId}),me.jsx(bEn,{contentRef:c,descriptionId:a.descriptionId})]})]})}),nge="DialogTitle",ait=we.forwardRef((n,e)=>{const{__scopeDialog:t,...i}=n,r=P5(nge,t);return me.jsx(nu.h2,{id:r.titleId,...i,ref:e})});ait.displayName=nge;var cit="DialogDescription",lit=we.forwardRef((n,e)=>{const{__scopeDialog:t,...i}=n,r=P5(cit,t);return me.jsx(nu.p,{id:r.descriptionId,...i,ref:e})});lit.displayName=cit;var uit="DialogClose",dit=we.forwardRef((n,e)=>{const{__scopeDialog:t,...i}=n,r=P5(uit,t);return me.jsx(nu.button,{type:"button",...i,ref:e,onClick:na(n.onClick,()=>r.onOpenChange(!1))})});dit.displayName=uit;function ige(n){return n?"open":"closed"}var hit="DialogTitleWarning",[gEn,pit]=OFt(hit,{contentName:jM,titleName:nge,docsSlug:"dialog"}),vEn=({titleId:n})=>{const e=pit(hit),t=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
|
|
5686
|
+
*/const iEn=({containerClassName:n,...e})=>{const t=we.useRef(null),[i,r]=we.useState(620);return we.useLayoutEffect(()=>{const o=()=>{if(t.current){const a=t.current.clientHeight,c=window.innerHeight;r(Math.min(Math.max(a,620),c))}};o();const s=new ResizeObserver(o);return t.current&&s.observe(t.current),window.addEventListener("resize",o),()=>{s.disconnect(),window.removeEventListener("resize",o)}},[]),me.jsx("div",{ref:t,className:n||"rf-w-full rf-h-full",children:me.jsx(nEn,{...e,height:i})})},rEn='*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius:0.5rem}.rf-pointer-events-none{pointer-events:none}.rf-invisible{visibility:hidden}.rf-fixed{position:fixed}.rf-absolute{position:absolute}.rf-relative{position:relative}.rf-inset-0{inset:0}.-rf-left-2{left:-.5rem}.-rf-right-10{right:-2.5rem}.-rf-right-2{right:-.5rem}.-rf-right-4{right:-1rem}.-rf-right-6{right:-1.5rem}.-rf-right-7{right:-1.75rem}.-rf-right-8{right:-2rem}.-rf-right-9{right:-2.25rem}.rf-bottom-full{bottom:100%}.rf-left-0{left:0}.rf-left-1{left:.25rem}.rf-left-1\\/2{left:50%}.rf-left-2{left:.5rem}.rf-left-\\[50\\%\\]{left:50%}.rf-right-0{right:0}.rf-right-1{right:.25rem}.rf-right-4{right:1rem}.rf-right-\\[4px\\]{right:4px}.rf-top-0{top:0}.rf-top-1{top:.25rem}.rf-top-2{top:.5rem}.rf-top-2\\.5{top:.625rem}.rf-top-\\[50\\%\\]{top:50%}.rf-top-\\[6px\\]{top:6px}.\\!rf-z-\\[101\\]{z-index:101!important}.rf-z-10{z-index:10}.rf-z-50{z-index:50}.rf-z-\\[100\\]{z-index:100}.rf-z-\\[101\\]{z-index:101}.rf-order-1{order:1}.rf-order-2{order:2}.rf-order-3{order:3}.rf-m-1{margin:.25rem}.rf-m-6{margin:1.5rem}.-rf-mx-1,.rf--mx-1{margin-left:-.25rem;margin-right:-.25rem}.rf-mx-1{margin-left:.25rem;margin-right:.25rem}.rf-mx-2{margin-left:.5rem;margin-right:.5rem}.rf-mx-4{margin-left:1rem;margin-right:1rem}.rf-mx-auto{margin-left:auto;margin-right:auto}.rf-my-1{margin-bottom:.25rem;margin-top:.25rem}.rf-my-12{margin-bottom:3rem;margin-top:3rem}.rf-my-4{margin-bottom:1rem;margin-top:1rem}.rf-my-auto{margin-bottom:auto;margin-top:auto}.rf-mb-1{margin-bottom:.25rem}.rf-mb-12{margin-bottom:3rem}.rf-mb-2{margin-bottom:.5rem}.rf-mb-3{margin-bottom:.75rem}.rf-mb-4{margin-bottom:1rem}.rf-mb-6{margin-bottom:1.5rem}.rf-mb-8{margin-bottom:2rem}.rf-ml-1{margin-left:.25rem}.rf-ml-2{margin-left:.5rem}.rf-ml-auto{margin-left:auto}.rf-mr-1{margin-right:.25rem}.rf-mr-2{margin-right:.5rem}.rf-mt-0{margin-top:0}.rf-mt-0\\.5{margin-top:.125rem}.rf-mt-1{margin-top:.25rem}.rf-mt-2{margin-top:.5rem}.rf-mt-3{margin-top:.75rem}.rf-mt-4{margin-top:1rem}.rf-mt-5{margin-top:1.25rem}.rf-mt-auto{margin-top:auto}.rf-block{display:block}.rf-inline-block{display:inline-block}.rf-inline{display:inline}.rf-flex{display:flex}.rf-inline-flex{display:inline-flex}.rf-grid{display:grid}.rf-hidden{display:none}.rf-aspect-square{aspect-ratio:1/1}.rf-aspect-video{aspect-ratio:16/9}.rf-size-14{height:3.5rem;width:3.5rem}.rf-size-4{height:1rem;width:1rem}.\\!rf-h-2{height:.5rem!important}.\\!rf-h-2\\.5{height:.625rem!important}.\\!rf-h-3{height:.75rem!important}.\\!rf-h-full{height:100%!important}.rf-h-1{height:.25rem}.rf-h-10{height:2.5rem}.rf-h-12{height:3rem}.rf-h-2{height:.5rem}.rf-h-2\\.5{height:.625rem}.rf-h-20{height:5rem}.rf-h-24{height:6rem}.rf-h-3{height:.75rem}.rf-h-3\\.5{height:.875rem}.rf-h-4{height:1rem}.rf-h-5{height:1.25rem}.rf-h-6{height:1.5rem}.rf-h-60{height:15rem}.rf-h-64{height:16rem}.rf-h-7{height:1.75rem}.rf-h-8{height:2rem}.rf-h-9{height:2.25rem}.rf-h-\\[400px\\]{height:400px}.rf-h-\\[calc\\(100vh-52px\\)\\]{height:calc(100vh - 52px)}.rf-h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.rf-h-auto{height:auto}.rf-h-fit{height:-moz-fit-content;height:fit-content}.rf-h-full{height:100%}.rf-h-px{height:1px}.rf-h-screen{height:100vh}.\\!rf-max-h-\\[40vh\\]{max-height:40vh!important}.rf-max-h-32{max-height:8rem}.rf-max-h-96{max-height:24rem}.rf-max-h-\\[200px\\]{max-height:200px}.rf-max-h-\\[300px\\]{max-height:300px}.rf-max-h-\\[500px\\]{max-height:500px}.rf-max-h-\\[90vh\\]{max-height:90vh}.rf-max-h-full{max-height:100%}.rf-min-h-0{min-height:0}.rf-min-h-\\[200px\\]{min-height:200px}.rf-min-h-\\[300px\\]{min-height:300px}.rf-min-h-\\[620px\\]{min-height:620px}.rf-min-h-\\[calc\\(100vh-240px\\)\\]{min-height:calc(100vh - 240px)}.\\!rf-w-2{width:.5rem!important}.\\!rf-w-2\\.5{width:.625rem!important}.rf-w-1{width:.25rem}.rf-w-1\\/2{width:50%}.rf-w-11{width:2.75rem}.rf-w-11\\/12{width:91.666667%}.rf-w-12{width:3rem}.rf-w-16{width:4rem}.rf-w-2{width:.5rem}.rf-w-2\\.5{width:.625rem}.rf-w-20{width:5rem}.rf-w-24{width:6rem}.rf-w-28{width:7rem}.rf-w-3{width:.75rem}.rf-w-3\\.5{width:.875rem}.rf-w-32{width:8rem}.rf-w-4{width:1rem}.rf-w-40{width:10rem}.rf-w-48{width:12rem}.rf-w-5{width:1.25rem}.rf-w-6{width:1.5rem}.rf-w-64{width:16rem}.rf-w-72{width:18rem}.rf-w-8{width:2rem}.rf-w-9{width:2.25rem}.rf-w-96{width:24rem}.rf-w-\\[95\\%\\]{width:95%}.rf-w-fit{width:-moz-fit-content;width:fit-content}.rf-w-full{width:100%}.rf-w-screen{width:100vw}.rf-min-w-0{min-width:0}.rf-min-w-10{min-width:2.5rem}.rf-min-w-16{min-width:4rem}.rf-min-w-\\[148px\\]{min-width:148px}.rf-min-w-\\[8rem\\]{min-width:8rem}.rf-min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.\\!rf-max-w-\\[660px\\]{max-width:660px!important}.rf-max-w-2xl{max-width:42rem}.rf-max-w-3xl{max-width:48rem}.rf-max-w-4xl{max-width:56rem}.rf-max-w-5xl{max-width:64rem}.rf-max-w-full{max-width:100%}.rf-max-w-lg{max-width:32rem}.rf-max-w-md{max-width:28rem}.rf-max-w-none{max-width:none}.rf-max-w-xl{max-width:36rem}.rf-max-w-xs{max-width:20rem}.rf-flex-1{flex:1 1 0%}.rf-flex-shrink-0,.rf-shrink-0{flex-shrink:0}.rf-flex-grow{flex-grow:1}.rf-table-auto{table-layout:auto}.rf-origin-\\[--radix-popover-content-transform-origin\\]{transform-origin:var(--radix-popover-content-transform-origin)}.-rf-translate-x-1{--tw-translate-x:-0.25rem}.-rf-translate-x-1,.-rf-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rf-translate-x-1\\/2{--tw-translate-x:-50%}.-rf-translate-y-1{--tw-translate-y:-0.25rem}.-rf-translate-y-1,.rf--translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-x-1{--tw-translate-x:-0.25rem}.rf--translate-x-1\\/2{--tw-translate-x:-50%}.rf--translate-x-1\\/2,.rf--translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf--translate-y-1{--tw-translate-y:-0.25rem}.rf-translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.rf-translate-x-\\[-50\\%\\],.rf-translate-y-\\[-50\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rf-translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.rf-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes rf-pulse{50%{opacity:.5}}.rf-animate-pulse{animation:rf-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes rf-spin{to{transform:rotate(1turn)}}.rf-animate-spin{animation:rf-spin 1s linear infinite}.rf-cursor-default{cursor:default}.rf-cursor-not-allowed{cursor:not-allowed}.rf-cursor-pointer{cursor:pointer}.rf-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.rf-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.rf-flex-row{flex-direction:row}.rf-flex-col{flex-direction:column}.rf-flex-col-reverse{flex-direction:column-reverse}.rf-flex-wrap{flex-wrap:wrap}.rf-place-items-center{place-items:center}.rf-items-start{align-items:flex-start}.rf-items-end{align-items:flex-end}.rf-items-center{align-items:center}.rf-items-stretch{align-items:stretch}.rf-justify-end{justify-content:flex-end}.rf-justify-center{justify-content:center}.rf-justify-between{justify-content:space-between}.rf-gap-0{gap:0}.rf-gap-1{gap:.25rem}.rf-gap-2{gap:.5rem}.rf-gap-3{gap:.75rem}.rf-gap-4{gap:1rem}.rf-gap-5{gap:1.25rem}.rf-gap-6{gap:1.5rem}.rf-gap-8{gap:2rem}.rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.rf-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.rf-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.rf-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.rf-overflow-auto{overflow:auto}.rf-overflow-hidden{overflow:hidden}.rf-overflow-visible{overflow:visible}.rf-overflow-x-auto{overflow-x:auto}.\\!rf-overflow-y-auto{overflow-y:auto!important}.rf-overflow-y-auto{overflow-y:auto}.rf-overflow-x-hidden{overflow-x:hidden}.rf-overflow-x-clip{overflow-x:clip}.rf-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rf-whitespace-normal{white-space:normal}.rf-whitespace-nowrap{white-space:nowrap}.rf-whitespace-pre-wrap{white-space:pre-wrap}.rf-break-words{overflow-wrap:break-word}.rf-break-all{word-break:break-all}.rf-rounded{border-radius:.25rem}.rf-rounded-2xl{border-radius:1rem}.rf-rounded-full{border-radius:9999px}.rf-rounded-lg{border-radius:var(--radius)}.rf-rounded-md{border-radius:calc(var(--radius) - 2px)}.rf-rounded-sm{border-radius:calc(var(--radius) - 4px)}.rf-rounded-xl{border-radius:.75rem}.rf-border{border-width:1px}.rf-border-2{border-width:2px}.rf-border-b{border-bottom-width:1px}.rf-border-t{border-top-width:1px}.rf-border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.rf-border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.rf-border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.rf-border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.rf-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.rf-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.rf-border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.rf-border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.rf-border-input{border-color:hsl(var(--input))}.rf-border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.rf-border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.rf-border-primary{border-color:hsl(var(--primary))}.rf-border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.rf-border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.rf-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.rf-border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.rf-border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.rf-bg-background{background-color:hsl(var(--background))}.rf-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.rf-bg-black\\/80{background-color:rgba(0,0,0,.8)}.rf-bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.rf-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.rf-bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.rf-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.rf-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.rf-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.rf-bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.rf-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.rf-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.rf-bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.rf-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.rf-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.rf-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.rf-bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.rf-bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.rf-bg-muted{background-color:hsl(var(--muted))}.rf-bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.rf-bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.rf-bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.rf-bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.rf-bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.rf-bg-popover{background-color:hsl(var(--popover))}.rf-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.rf-bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.rf-bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.rf-bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.rf-bg-transparent{background-color:transparent}.rf-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.rf-bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.rf-bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.rf-bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.rf-bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.rf-bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.rf-bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.rf-bg-opacity-50{--tw-bg-opacity:0.5}.rf-fill-current{fill:currentColor}.rf-object-contain{-o-object-fit:contain;object-fit:contain}.rf-object-cover{-o-object-fit:cover;object-fit:cover}.\\!rf-p-0{padding:0!important}.rf-p-0{padding:0}.rf-p-1{padding:.25rem}.rf-p-2{padding:.5rem}.rf-p-3{padding:.75rem}.rf-p-4{padding:1rem}.rf-p-5{padding:1.25rem}.rf-p-6{padding:1.5rem}.rf-p-8{padding:2rem}.rf-px-1{padding-left:.25rem;padding-right:.25rem}.rf-px-2{padding-left:.5rem;padding-right:.5rem}.rf-px-3{padding-left:.75rem;padding-right:.75rem}.rf-px-4{padding-left:1rem;padding-right:1rem}.rf-px-6{padding-left:1.5rem;padding-right:1.5rem}.rf-px-8{padding-left:2rem;padding-right:2rem}.rf-py-0{padding-bottom:0;padding-top:0}.rf-py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.rf-py-1{padding-bottom:.25rem;padding-top:.25rem}.rf-py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.rf-py-10{padding-bottom:2.5rem;padding-top:2.5rem}.rf-py-12{padding-bottom:3rem;padding-top:3rem}.rf-py-2{padding-bottom:.5rem;padding-top:.5rem}.rf-py-3{padding-bottom:.75rem;padding-top:.75rem}.rf-py-4{padding-bottom:1rem;padding-top:1rem}.rf-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.rf-py-8{padding-bottom:2rem;padding-top:2rem}.rf-pb-0{padding-bottom:0}.rf-pb-2{padding-bottom:.5rem}.rf-pb-3{padding-bottom:.75rem}.rf-pb-4{padding-bottom:1rem}.rf-pl-2{padding-left:.5rem}.rf-pl-4{padding-left:1rem}.rf-pl-8{padding-left:2rem}.rf-pr-2{padding-right:.5rem}.rf-pt-0{padding-top:0}.rf-pt-2{padding-top:.5rem}.rf-pt-4{padding-top:1rem}.rf-text-left{text-align:left}.rf-text-center{text-align:center}.rf-text-right{text-align:right}.rf-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rf-text-2xl{font-size:1.5rem;line-height:2rem}.rf-text-3xl{font-size:1.875rem;line-height:2.25rem}.rf-text-\\[8px\\]{font-size:8px}.rf-text-base{font-size:1rem;line-height:1.5rem}.rf-text-lg{font-size:1.125rem;line-height:1.75rem}.rf-text-sm{font-size:.875rem;line-height:1.25rem}.rf-text-xl{font-size:1.25rem;line-height:1.75rem}.rf-text-xs{font-size:.75rem;line-height:1rem}.\\!rf-font-normal{font-weight:400!important}.rf-font-bold{font-weight:700}.rf-font-medium{font-weight:500}.rf-font-semibold{font-weight:600}.rf-uppercase{text-transform:uppercase}.rf-capitalize{text-transform:capitalize}.rf-tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.rf-leading-5{line-height:1.25rem}.rf-leading-none{line-height:1}.rf-leading-relaxed{line-height:1.625}.rf-leading-tight{line-height:1.25}.rf-tracking-wide{letter-spacing:.025em}.rf-tracking-widest{letter-spacing:.1em}.rf-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.rf-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.rf-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.rf-text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.rf-text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.rf-text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.rf-text-current{color:currentColor}.rf-text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.rf-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.rf-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rf-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.rf-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.rf-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.rf-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.rf-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.rf-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.rf-text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.rf-text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.rf-text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.rf-text-muted-foreground{color:hsl(var(--muted-foreground))}.rf-text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.rf-text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.rf-text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.rf-text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.rf-text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.rf-text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.rf-text-popover-foreground{color:hsl(var(--popover-foreground))}.rf-text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.rf-text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.rf-text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.rf-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.rf-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.rf-text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.rf-text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.rf-text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.rf-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rf-text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.rf-text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.rf-text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.rf-text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.rf-text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.rf-text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.rf-text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.rf-text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.rf-text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.rf-text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.rf-underline{text-decoration-line:underline}.rf-line-through{text-decoration-line:line-through}.rf-underline-offset-4{text-underline-offset:4px}.rf-opacity-0{opacity:0}.rf-opacity-100{opacity:1}.rf-opacity-25{opacity:.25}.rf-opacity-30{opacity:.3}.rf-opacity-50{opacity:.5}.rf-opacity-60{opacity:.6}.rf-opacity-75{opacity:.75}.rf-shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.rf-shadow,.rf-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.rf-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.rf-shadow-md,.rf-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rf-shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.rf-outline-none{outline:2px solid transparent;outline-offset:2px}.rf-ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.rf-ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.rf-ring-primary{--tw-ring-color:hsl(var(--primary))}.rf-ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.rf-ring-offset-white{--tw-ring-offset-color:#fff}.rf-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.rf-duration-200{transition-duration:.2s}.rf-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.rf-slide-in-from-left-1{--tw-enter-translate-x:-0.25rem}.rf-slide-out-to-left-1{--tw-exit-translate-x:-0.25rem}.rf-duration-200{animation-duration:.2s}.rf-ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.file\\:rf-border-0::file-selector-button{border-width:0}.file\\:rf-bg-transparent::file-selector-button{background-color:transparent}.file\\:rf-text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:rf-font-medium::file-selector-button{font-weight:500}.placeholder\\:rf-text-zinc-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.placeholder\\:rf-text-zinc-500::placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.hover\\:rf-border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\\:\\!rf-bg-transparent:hover{background-color:transparent!important}.hover\\:rf-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\\:rf-bg-red-500\\/90:hover{background-color:rgba(239,68,68,.9)}.hover\\:rf-bg-zinc-100:hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.hover\\:rf-bg-zinc-100\\/80:hover{background-color:hsla(240,5%,96%,.8)}.hover\\:rf-bg-zinc-900\\/90:hover{background-color:rgba(24,24,27,.9)}.hover\\:rf-text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\\:rf-text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.hover\\:rf-underline:hover{text-decoration-line:underline}.focus\\:rf-bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.focus\\:rf-bg-zinc-100:focus{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.focus\\:rf-text-gray-900:focus{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.focus\\:rf-text-zinc-900:focus{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.focus\\:rf-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:rf-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:rf-ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\\:rf-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:rf-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:rf-ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:rf-ring-zinc-950:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(9 9 11/var(--tw-ring-opacity,1))}.focus-visible\\:rf-ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:rf-pointer-events-none:disabled{pointer-events:none}.disabled\\:rf-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:rf-opacity-50:disabled{opacity:.5}.rf-group\\/bar:hover .group-hover\\/bar\\:rf-opacity-100{opacity:1}.data-\\[disabled\\=true\\]\\:rf-pointer-events-none[data-disabled=true],.data-\\[disabled\\]\\:rf-pointer-events-none[data-disabled]{pointer-events:none}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\\[side\\=bottom\\]\\:rf-translate-y-1[data-side=bottom],.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=left\\]\\:-rf-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\\[side\\=right\\]\\:rf-translate-x-1[data-side=right],.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=top\\]\\:-rf-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\\[selected\\=true\\]\\:rf-bg-zinc-100[data-selected=true]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[state\\=active\\]\\:rf-bg-white[data-state=active]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.data-\\[state\\=checked\\]\\:rf-bg-zinc-900[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.data-\\[state\\=open\\]\\:rf-bg-zinc-100[data-state=open]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.data-\\[selected\\=true\\]\\:rf-text-zinc-900[data-selected=true]{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.data-\\[state\\=active\\]\\:rf-text-zinc-950[data-state=active]{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity,1))}.data-\\[state\\=checked\\]\\:rf-text-zinc-50[data-state=checked]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.data-\\[disabled\\=true\\]\\:rf-opacity-50[data-disabled=true],.data-\\[disabled\\]\\:rf-opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=active\\]\\:rf-shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\\[state\\=open\\]\\:rf-animate-in[data-state=open]{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\\[state\\=closed\\]\\:rf-fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=open\\]\\:rf-fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=closed\\]\\:rf-zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=open\\]\\:rf-zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\\[side\\=bottom\\]\\:rf-slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\\[side\\=left\\]\\:rf-slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\[side\\=right\\]\\:rf-slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\[side\\=top\\]\\:rf-slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\\[state\\=closed\\]\\:rf-slide-out-to-left-1\\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\\[state\\=closed\\]\\:rf-slide-out-to-top-\\[48\\%\\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\\[state\\=open\\]\\:rf-slide-in-from-left-1\\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\\[state\\=open\\]\\:rf-slide-in-from-top-\\[48\\%\\][data-state=open]{--tw-enter-translate-y:-48%}.dark\\:rf-border-zinc-50:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.dark\\:rf-border-zinc-800:is(.rf-dark *){--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.dark\\:rf-bg-gray-700:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\\:rf-bg-gray-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\\:rf-bg-red-900:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-50:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-800:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:rf-bg-zinc-950:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:rf-text-gray-500:is(.rf-dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-400:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-50:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:rf-text-zinc-900:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-placeholder-zinc-400:is(.rf-dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(161 161 170/var(--tw-placeholder-opacity,1))}.dark\\:rf-ring-offset-zinc-950:is(.rf-dark *){--tw-ring-offset-color:#09090b}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:placeholder\\:rf-text-zinc-400:is(.rf-dark *)::placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\\:hover\\:rf-bg-red-900\\/90:hover:is(.rf-dark *){background-color:rgba(127,29,29,.9)}.dark\\:hover\\:rf-bg-zinc-50\\/90:hover:is(.rf-dark *){background-color:hsla(0,0%,98%,.9)}.dark\\:hover\\:rf-bg-zinc-800:hover:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:hover\\:rf-bg-zinc-800\\/80:hover:is(.rf-dark *){background-color:rgba(39,39,42,.8)}.dark\\:hover\\:rf-text-zinc-50:hover:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus\\:rf-bg-zinc-800:focus:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:focus\\:rf-text-zinc-50:focus:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:focus-visible\\:rf-ring-zinc-300:focus-visible:is(.rf-dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-bg-zinc-800[data-selected=true]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-bg-zinc-950[data-state=active]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-bg-zinc-50[data-state=checked]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.dark\\:data-\\[state\\=open\\]\\:rf-bg-zinc-800[data-state=open]:is(.rf-dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\\:data-\\[selected\\=true\\]\\:rf-text-zinc-50[data-selected=true]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=active\\]\\:rf-text-zinc-50[data-state=active]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\\:data-\\[state\\=checked\\]\\:rf-text-zinc-900[data-state=checked]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\\:rf-order-1{order:1}.sm\\:rf-order-2{order:2}.sm\\:rf-mt-0{margin-top:0}.sm\\:rf-inline{display:inline}.sm\\:rf-grid{display:grid}.sm\\:rf-hidden{display:none}.sm\\:rf-w-auto{width:auto}.sm\\:rf-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:rf-grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.sm\\:rf-flex-row{flex-direction:row}.sm\\:rf-items-center{align-items:center}.sm\\:rf-justify-end{justify-content:flex-end}.sm\\:rf-gap-3{gap:.75rem}.sm\\:rf-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\\:rf-rounded-lg{border-radius:var(--radius)}.sm\\:rf-px-4{padding-left:1rem;padding-right:1rem}.sm\\:rf-text-left{text-align:left}.sm\\:rf-text-sm{font-size:.875rem;line-height:1.25rem}.sm\\:rf-text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\\:rf-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\\[\\&\\>span\\]\\:rf-line-clamp-1>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\\[\\&\\>svg\\]\\:rf-size-4>svg{height:1rem;width:1rem}.\\[\\&\\>svg\\]\\:rf-shrink-0>svg{flex-shrink:0}.\\[\\&\\>svg\\]\\:rf-text-red-300>svg{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.\\[\\&\\>svg\\]\\:hover\\:rf-text-red-400:hover>svg{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-py-1\\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-font-medium [cmdk-group-heading]{font-weight:500}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-500 [cmdk-group-heading]{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.dark\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:rf-text-zinc-400 [cmdk-group-heading]:is(.rf-dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:rf-pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\\[\\&_\\[cmdk-group\\]\\]\\:rf-px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:rf-w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\\[\\&_\\[cmdk-input\\]\\]\\:rf-h-12 [cmdk-input]{height:3rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-item\\]\\]\\:rf-py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-h-5 [cmdk-item] svg{height:1.25rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:rf-w-5 [cmdk-item] svg{width:1.25rem}.\\[\\&_svg\\]\\:rf-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:rf-size-4 svg{height:1rem;width:1rem}.\\[\\&_svg\\]\\:rf-shrink-0 svg{flex-shrink:0}',Ynt=()=>{we.useEffect(()=>{if(document.querySelector('style[data-styles="tscircuit-runframe"]'))return;const e=document.createElement("style");e.setAttribute("data-styles","tscircuit-runframe"),e.textContent=rEn,document.head.appendChild(e)},[])},oEn=n=>{we.useEffect(()=>(n?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[n])},Xnt=n=>`hsl(${Bb.indexOf(n)*137.5%360}, 70%, 50%)`,sEn=({phaseTimings:n})=>{if(!n)return null;const e=Object.values(n).reduce((t,i)=>t+i,0);return me.jsxs("div",{className:"rf-space-y-2 rf-w-full rf-px-4",children:[me.jsx("div",{className:"rf-relative rf-h-8 rf-flex rf-rounded-sm",children:Bb.map(t=>{const i=n[t]||0,r=i/e*100;return me.jsx("div",{className:"rf-group/bar rf-relative rf-overflow-visible",style:{width:`${r}%`,backgroundColor:Xnt(t)},children:me.jsxs("div",{className:"rf-opacity-0 group-hover/bar:rf-opacity-100 rf-transition-opacity rf-absolute rf-bottom-full rf-left-1/2 rf-transform -rf-translate-x-1/2 rf-mb-2 rf-px-2 rf-py-1 rf-text-xs rf-whitespace-nowrap rf-rounded rf-bg-gray-900 rf-text-white rf-pointer-events-none",children:[t,": ",i.toFixed(1),"ms"]})},t)})}),me.jsxs("div",{className:"rf-text-xs rf-text-gray-500",children:["Total: ",e.toFixed(2),"ms"]})]})},aEn=({renderLog:n,onRerunWithDebug:e})=>{const[t,i]=we.useState("chronological"),[r,o]=we.useState(""),s=[{value:"",label:"None"},{value:"DEBUG=Group_doInitialSchematicTraceRender",label:"DEBUG=Group_doInitialSchematicTraceRender"},{value:"DEBUG=Group_doInitialSchematicLayoutMatchpack",label:"DEBUG=Group_doInitialSchematicLayoutMatchpack"},{value:"DEBUG=Group_doInitialPcbLayoutPack",label:"DEBUG=Group_doInitialPcbLayoutPack"}];if(!n)return me.jsxs("div",{className:"rf-p-4 rf-bg-gray-100 rf-rounded-md",children:[me.jsx("div",{className:"rf-mb-4",children:"No render log, make sure this tab is open when you render"}),e&&me.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[me.jsx("select",{value:r,onChange:l=>o(l.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(l=>me.jsx("option",{value:l.value,children:l.label},l.value))}),me.jsx(vm,{onClick:()=>e(r),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]})]});const a=Object.entries(n?.phaseTimings??{});t==="chronological"?a.sort((l,u)=>Bb.indexOf(l[0])-Bb.indexOf(u[0])):a.sort((l,u)=>u[1]-l[1]);const c=a.reduce((l,[u,d])=>l+d,0);return me.jsxs("div",{className:"rf-bg-white",children:[me.jsxs("div",{className:"rf-flex rf-justify-between rf-items-center rf-mb-4",children:[me.jsx("div",{children:"Render Logs"}),me.jsxs("div",{className:"rf-flex rf-gap-4 rf-items-center",children:[e&&me.jsxs("div",{className:"rf-flex rf-gap-2 rf-items-center",children:[me.jsx("select",{value:r,onChange:l=>o(l.target.value),className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white",children:s.map(l=>me.jsx("option",{value:l.value,children:l.label},l.value))}),me.jsx(vm,{onClick:()=>e(r),size:"sm",className:"rf-text-xs",children:"Rerun Render with Debug"})]}),me.jsx("div",{className:"rf-flex rf-gap-2 rf-items-center",children:me.jsxs("select",{onChange:l=>{if(l.target.value){const u=n?.debugOutputs?.find(d=>d.name===l.target.value);if(u){const d=new Blob([u.content],{type:"text/plain"}),h=URL.createObjectURL(d),f=document.createElement("a");f.href=h,f.download=`debug-${u.name}.txt`,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(h)}l.target.value=""}},disabled:!n?.debugOutputs||n.debugOutputs.length===0,className:"rf-px-3 rf-py-1 rf-border rf-rounded rf-text-xs rf-bg-white disabled:rf-opacity-50 disabled:rf-cursor-not-allowed",children:[me.jsx("option",{value:"",children:"Download Debug Output"}),n?.debugOutputs?.map(l=>me.jsx("option",{value:l.name,children:l.name},l.name))]})}),me.jsxs("div",{className:"rf-flex rf-text-xs rf-items-center",children:[me.jsx("div",{className:"rf-mr-2",children:"Sort by:"}),me.jsxs("select",{value:t,onChange:l=>i(l.target.value),className:"rf-px-2 rf-py-1 rf-border rf-rounded rf-text-xs",children:[me.jsx("option",{value:"chronological",children:"Phase Order"}),me.jsx("option",{value:"longest",children:"Duration"})]})]})]})]}),me.jsx(sEn,{phaseTimings:n.phaseTimings}),me.jsxs("table",{className:"rf-w-full rf-text-xs",children:[me.jsx("thead",{children:me.jsxs("tr",{children:[me.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase Order"}),me.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase"}),me.jsx("th",{className:"rf-text-left rf-p-2",children:"Duration (ms)"})]})}),me.jsx("tbody",{children:a.map(([l,u])=>me.jsxs("tr",{children:[me.jsx("td",{className:"rf-p-2",children:Bb.indexOf(l)}),me.jsx("td",{className:"rf-p-2",children:l}),me.jsx("td",{className:"rf-p-2",children:me.jsx("div",{className:"rf-w-8",children:me.jsx("div",{className:"rf-h-2 rf-rounded-sm",style:{backgroundColor:Xnt(l),width:`${u/c*100}%`}})})}),me.jsx("td",{className:"rf-p-2",children:me.jsxs("div",{className:"rf-flex w-full",children:[me.jsxs("span",{className:"rf-flex-grow",children:[u,"ms"]}),me.jsxs("span",{className:"rf-text-gray-500 rf-pr-2",children:[(u/c*100).toFixed(1),"%"]})]})})]},l))})]})]})},Wnt=({errorMessage:n,errorStack:e,circuitJsonErrors:t})=>{we.useEffect(()=>{if(n){const i=new Error(n);e&&(i.stack=e);try{gU.captureException(i)}catch{}}},[n,e]),we.useEffect(()=>{if(t&&t.length>0)for(const i of t){const r=new Error(i.message||"Circuit JSON Error");i.stack&&(r.stack=i.stack);try{gU.captureException(r,{error_type:i.type})}catch{}}},[t])},cEn="0.0.927";function Znt(n,e){const[t,i]=we.useState(()=>{try{const r=window.localStorage.getItem(n);return r?JSON.parse(r):e}catch(r){return console.error("Error reading from localStorage:",r),e}});return we.useEffect(()=>{try{window.localStorage.setItem(n,JSON.stringify(t))}catch(r){console.error("Error writing to localStorage:",r)}},[n,t]),[t,i]}const uV=J7e()(ePe(n=>({lastRunEvalVersion:void 0,setLastRunEvalVersion:e=>{n({lastRunEvalVersion:e})}}),{name:"runframe-runner-store"})),lEn=n=>{const[e,t]=we.useState([]),[i,r]=we.useState(null),[o,s]=we.useState(""),[a,c]=Znt("eval-version-selection",null),l=uV(f=>f.setLastRunEvalVersion),u=uV(f=>f.lastRunEvalVersion);return we.useEffect(()=>{n&&fetch("https://data.jsdelivr.com/v1/package/npm/@tscircuit/eval").then(f=>f.json()).then(f=>{if(Array.isArray(f?.versions)){let m=[...f.versions];f.tags?.latest&&(r(f.tags.latest),m=m.filter(y=>y!==f.tags.latest)),t(m)}}).catch(()=>{})},[n]),we.useEffect(()=>{n&&(a?(window.TSCIRCUIT_LATEST_EVAL_VERSION=a,l(a)):i&&(window.TSCIRCUIT_LATEST_EVAL_VERSION=i,l(i)))},[n,a,i]),{versions:we.useMemo(()=>e.filter(f=>f.includes(o)).slice(0,50),[e,o]),latestVersion:i,lastRunEvalVersion:u,search:o,setSearch:s,selectVersion:f=>{c(f),s("")}}},uEn=({snippetNames:n,onSelect:e,onCancel:t,isOpen:i})=>{const[r,o]=we.useState(""),[s,a]=we.useState("");if(!i)return null;const c=n.filter(d=>d.toLowerCase().includes(s.toLowerCase())),l=s&&!n.includes(s),u=d=>{d.key==="Enter"&&(c.length===1?o(c[0]):l&&o(s))};return me.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-items-center rf-justify-center rf-z-[100]",children:me.jsxs("div",{className:"rf-bg-white rf-rounded-lg rf-p-6 rf-w-96",children:[me.jsx("h2",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Select Snippet"}),me.jsx("input",{type:"text",className:"rf-w-full rf-px-4 rf-py-2 rf-border rf-rounded rf-mb-4",placeholder:"Search snippets or new snippet name...",value:s,onChange:d=>a(d.target.value),onKeyDown:u}),me.jsxs("div",{className:"rf-h-60 rf-overflow-y-auto",children:[c.map(d=>me.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${r===d?"bg-blue-50":""}`,onClick:()=>o(d),children:d},d)),l&&me.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${r===s?"bg-blue-50":""}`,onClick:()=>o(s),children:['Create new "',s,'"']})]}),me.jsxs("div",{className:"rf-mt-4 rf-flex rf-justify-end rf-gap-2",children:[me.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-text-gray-600 rf-hover:text-gray-800",onClick:t,children:"Cancel"}),me.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-bg-blue-500 rf-text-white rf-rounded rf-hover:bg-blue-600 rf-disabled:opacity-50",onClick:()=>r&&e(r),disabled:!r,children:r===s?`Create "${r}"`:`Save to ${r}`})]})]})})},dEn=n=>{const e=we.useRef(null),t=$b(i=>i.recentEvents);we.useEffect(()=>{if(t.length===0)return;const i=t[0];i.event_id!==e.current&&(n(i),e.current=i.event_id)},[t,n])};var dV="Dialog",[Knt,Qnt]=mw(dV),[hEn,P5]=Knt(dV),Jnt=n=>{const{__scopeDialog:e,children:t,open:i,defaultOpen:r,onOpenChange:o,modal:s=!0}=n,a=we.useRef(null),c=we.useRef(null),[l,u]=NT({prop:i,defaultProp:r??!1,onChange:o,caller:dV});return me.jsx(hEn,{scope:e,triggerRef:a,contentRef:c,contentId:wx(),titleId:wx(),descriptionId:wx(),open:l,onOpenChange:u,onOpenToggle:we.useCallback(()=>u(d=>!d),[u]),modal:s,children:t})};Jnt.displayName=dV;var eit="DialogTrigger",tit=we.forwardRef((n,e)=>{const{__scopeDialog:t,...i}=n,r=P5(eit,t),o=C_(e,r.triggerRef);return me.jsx(nu.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":ige(r.open),...i,ref:o,onClick:na(n.onClick,r.onOpenToggle)})});tit.displayName=eit;var tge="DialogPortal",[pEn,nit]=Knt(tge,{forceMount:void 0}),iit=n=>{const{__scopeDialog:e,forceMount:t,children:i,container:r}=n,o=P5(tge,e);return me.jsx(pEn,{scope:e,forceMount:t,children:we.Children.map(i,s=>me.jsx(x2,{present:t||o.open,children:me.jsx(Oj,{asChild:!0,container:r,children:s})}))})};iit.displayName=tge;var hV="DialogOverlay",rit=we.forwardRef((n,e)=>{const t=nit(hV,n.__scopeDialog),{forceMount:i=t.forceMount,...r}=n,o=P5(hV,n.__scopeDialog);return o.modal?me.jsx(x2,{present:i||o.open,children:me.jsx(mEn,{...r,ref:e})}):null});rit.displayName=hV;var fEn=IT("DialogOverlay.RemoveScroll"),mEn=we.forwardRef((n,e)=>{const{__scopeDialog:t,...i}=n,r=P5(hV,t);return me.jsx(jj,{as:fEn,allowPinchZoom:!0,shards:[r.contentRef],children:me.jsx(nu.div,{"data-state":ige(r.open),...i,ref:e,style:{pointerEvents:"auto",...i.style}})})}),jM="DialogContent",oit=we.forwardRef((n,e)=>{const t=nit(jM,n.__scopeDialog),{forceMount:i=t.forceMount,...r}=n,o=P5(jM,n.__scopeDialog);return me.jsx(x2,{present:i||o.open,children:o.modal?me.jsx(_En,{...r,ref:e}):me.jsx(yEn,{...r,ref:e})})});oit.displayName=jM;var _En=we.forwardRef((n,e)=>{const t=P5(jM,n.__scopeDialog),i=we.useRef(null),r=C_(e,t.contentRef,i);return we.useEffect(()=>{const o=i.current;if(o)return $me(o)},[]),me.jsx(sit,{...n,ref:r,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:na(n.onCloseAutoFocus,o=>{o.preventDefault(),t.triggerRef.current?.focus()}),onPointerDownOutside:na(n.onPointerDownOutside,o=>{const s=o.detail.originalEvent,a=s.button===0&&s.ctrlKey===!0;(s.button===2||a)&&o.preventDefault()}),onFocusOutside:na(n.onFocusOutside,o=>o.preventDefault())})}),yEn=we.forwardRef((n,e)=>{const t=P5(jM,n.__scopeDialog),i=we.useRef(!1),r=we.useRef(!1);return me.jsx(sit,{...n,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{n.onCloseAutoFocus?.(o),o.defaultPrevented||(i.current||t.triggerRef.current?.focus(),o.preventDefault()),i.current=!1,r.current=!1},onInteractOutside:o=>{n.onInteractOutside?.(o),o.defaultPrevented||(i.current=!0,o.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const s=o.target;t.triggerRef.current?.contains(s)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&r.current&&o.preventDefault()}})}),sit=we.forwardRef((n,e)=>{const{__scopeDialog:t,trapFocus:i,onOpenAutoFocus:r,onCloseAutoFocus:o,...s}=n,a=P5(jM,t),c=we.useRef(null),l=C_(e,c);return wme(),me.jsxs(me.Fragment,{children:[me.jsx(wj,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:r,onUnmountAutoFocus:o,children:me.jsx(bj,{role:"dialog",id:a.contentId,"aria-describedby":a.descriptionId,"aria-labelledby":a.titleId,"data-state":ige(a.open),...s,ref:l,onDismiss:()=>a.onOpenChange(!1)})}),me.jsxs(me.Fragment,{children:[me.jsx(vEn,{titleId:a.titleId}),me.jsx(bEn,{contentRef:c,descriptionId:a.descriptionId})]})]})}),nge="DialogTitle",ait=we.forwardRef((n,e)=>{const{__scopeDialog:t,...i}=n,r=P5(nge,t);return me.jsx(nu.h2,{id:r.titleId,...i,ref:e})});ait.displayName=nge;var cit="DialogDescription",lit=we.forwardRef((n,e)=>{const{__scopeDialog:t,...i}=n,r=P5(cit,t);return me.jsx(nu.p,{id:r.descriptionId,...i,ref:e})});lit.displayName=cit;var uit="DialogClose",dit=we.forwardRef((n,e)=>{const{__scopeDialog:t,...i}=n,r=P5(uit,t);return me.jsx(nu.button,{type:"button",...i,ref:e,onClick:na(n.onClick,()=>r.onOpenChange(!1))})});dit.displayName=uit;function ige(n){return n?"open":"closed"}var hit="DialogTitleWarning",[gEn,pit]=OFt(hit,{contentName:jM,titleName:nge,docsSlug:"dialog"}),vEn=({titleId:n})=>{const e=pit(hit),t=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
|
|
5687
5687
|
|
|
5688
5688
|
If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
5689
5689
|
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@tscircuit/runframe",
|
|
3
3
|
"main": "dist/preview.js",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.928",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./dist/preview.js",
|
|
8
8
|
"./preview": "./dist/preview.js",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@tscircuit/pcb-viewer": "1.11.215",
|
|
56
56
|
"@tscircuit/props": "^0.0.321",
|
|
57
57
|
"@tscircuit/schematic-trace-solver": "^0.0.25",
|
|
58
|
-
"@tscircuit/schematic-viewer": "2.0.
|
|
58
|
+
"@tscircuit/schematic-viewer": "2.0.41",
|
|
59
59
|
"@types/bun": "latest",
|
|
60
60
|
"@types/debug": "^4.1.12",
|
|
61
61
|
"@types/react": "^19.1.10",
|