@tscircuit/runframe 0.0.433 → 0.0.435

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.
@@ -13279,7 +13279,7 @@ ${u.type}: ${u.message}
13279
13279
  50% { opacity: 0.2; }
13280
13280
  100% { opacity: 0.6; }
13281
13281
  }
13282
- `,i.appendChild(N)}})}};a();const o=new MutationObserver(a);return o.observe(i,{childList:!0,subtree:!1,characterData:!1}),()=>{o.disconnect()}},[n,t,e,r])},M1n=c9("schematic-viewer"),C1n=()=>{c9.enable("schematic-viewer*")},R1n=M1n,A1n=n=>{const[e,t]=rt.useState(0),[r,i]=rt.useState(0);return rt.useEffect(()=>{if(!n.current)return;const a=()=>{var l;const s=(l=n.current)==null?void 0:l.getBoundingClientRect();t((s==null?void 0:s.width)||0),i((s==null?void 0:s.height)||0)};a();const o=new ResizeObserver(a);return o.observe(n.current),window.addEventListener("resize",a),()=>{o.disconnect(),window.removeEventListener("resize",a)}},[]),{containerWidth:e,containerHeight:r}},P1n=R1n.extend("useComponentDragging"),N1n=({onEditEvent:n,editEvents:e=[],circuitJson:t,cancelDrag:r,svgToScreenProjection:i,realToSvgProjection:a,enabled:o=!1})=>{const[s,l]=rt.useState(null),c=Mc(a,i),u=rt.useRef(null),f=rt.useRef(null),d=rt.useRef(new Map);rt.useEffect(()=>{e.forEach(w=>{"edit_event_type"in w&&w.edit_event_type==="edit_schematic_component_location"&&!w.in_progress&&d.current.set(w.schematic_component_id,{...w.new_center})})},[e]);const m=rt.useCallback(w=>{if(!o)return;const M=w.target.closest('[data-circuit-json-type="schematic_component"]');if(!M)return;const N=M.getAttribute("data-schematic-component-id");if(!N)return;r&&r();const k=dv(t).schematic_component.get(N);if(!k)return;u.current={x:w.clientX,y:w.clientY};let V;const Y=d.current.get(N);if(Y)V={...Y};else{const q=lZe({editEvents:e,schematic_component_id:N});V={x:k.center.x+q.x,y:k.center.y+q.y},d.current.set(N,{...V})}const W={edit_event_id:Math.random().toString(36).substr(2,9),edit_event_type:"edit_schematic_component_location",schematic_component_id:N,original_center:V,new_center:{...V},in_progress:!0,created_at:Date.now(),_element:M};f.current=W,l(W)},[r,o,t,e]),g=rt.useCallback(w=>{if(!f.current||!u.current)return;const S={x:w.clientX-u.current.x,y:w.clientY-u.current.y},M={x:S.x/c.a,y:S.y/c.d},N={...f.current,new_center:{x:f.current.original_center.x+M.x,y:f.current.original_center.y+M.y}};f.current=N,l(N)},[c]),E=rt.useCallback(()=>{if(!f.current)return;const w={...f.current,in_progress:!1};d.current.set(w.schematic_component_id,{...w.new_center}),P1n("handleMouseUp calling onEditEvent with new edit event",{newEditEvent:w}),n&&n(w),f.current=null,u.current=null,l(null)},[n]);return rt.useEffect(()=>(window.addEventListener("mousemove",g),window.addEventListener("mouseup",E),()=>{window.removeEventListener("mousemove",g),window.removeEventListener("mouseup",E)}),[g,E]),{handleMouseDown:m,isDragging:!!f.current,activeEditEvent:s}},D1n=({onClick:n,active:e})=>Ge.jsx("div",{onClick:n,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:1e3},children:Ge.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[Ge.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),Ge.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})}),L1n=({circuitJson:n,containerStyle:e,editEvents:t=[],onEditEvent:r,defaultEditMode:i=!1,debugGrid:a=!1,editingEnabled:o=!1,debug:s=!1,clickToInteractEnabled:l=!1,colorOverrides:c})=>{s&&C1n();const[u,f]=rt.useState(i),[d,m]=rt.useState(!l),g=rt.useRef(null),E=rt.useRef(null),w=Pe=>{const De=Pe.touches[0];E.current={x:De.clientX,y:De.clientY}},S=Pe=>{const De=Pe.changedTouches[0],ze=E.current;if(!ze)return;const Re=Math.abs(De.clientX-ze.x),qe=Math.abs(De.clientY-ze.y);Re<10&&qe<10&&(Pe.preventDefault(),m(!0)),E.current=null},[M,N]=rt.useState([]),k=rt.useRef(n),V=Pe=>`${(Pe==null?void 0:Pe.length)||0}_${(Pe==null?void 0:Pe.editCount)||0}`;rt.useEffect(()=>{const Pe=V(n),De=V(k.current);Pe!==De&&(N([]),k.current=n)},[n]);const{ref:Y,cancelDrag:W,transform:q}=sZe({onSetTransform(Pe){g.current&&(g.current.style.transform=h7(Pe))},enabled:d}),{containerWidth:ee,containerHeight:X}=A1n(Y),ue=rt.useMemo(()=>!ee||!X?"":Hfe(n,{width:ee,height:X||720,grid:a?{cellSize:1,labelCells:!0}:void 0,colorOverrides:c}),[n,ee,X]),pe=rt.useMemo(()=>{var De;if(!ue)return u9();const Pe=(De=ue.match(/data-real-to-screen-transform="([^"]+)"/))==null?void 0:De[1];try{return dG(Pe)}catch(ze){return console.error(ze),u9()}},[ue]),ce=Pe=>{N(De=>[...De,Pe]),r&&r(Pe)},Se=rt.useMemo(()=>[...t,...M],[t,M]),{handleMouseDown:he,isDragging:_e,activeEditEvent:Te}=N1n({onEditEvent:ce,cancelDrag:W,realToSvgProjection:pe,svgToScreenProjection:q,circuitJson:n,editEvents:Se,enabled:u&&d});E1n({svgDivRef:g,editEvents:Se,realToSvgProjection:pe,svgToScreenProjection:q,activeEditEvent:Te}),T1n({svgDivRef:g,circuitJson:n,activeEditEvent:Te,editEvents:Se});const be=rt.useMemo(()=>Ge.jsx("div",{ref:g,style:{pointerEvents:l?d?"auto":"none":"auto",transformOrigin:"0 0"},dangerouslySetInnerHTML:{__html:ue}}),[ue,d,l]);return Ge.jsxs("div",{ref:Y,style:{position:"relative",backgroundColor:"transparent",overflow:"hidden",cursor:_e?"grabbing":l&&!d?"pointer":"grab",minHeight:"300px",...e},onMouseDown:Pe=>{if(l&&!d){Pe.preventDefault(),Pe.stopPropagation();return}he(Pe)},onMouseDownCapture:Pe=>{if(l&&!d){Pe.preventDefault(),Pe.stopPropagation();return}},onTouchStart:w,onTouchEnd:S,children:[!d&&l&&Ge.jsx("div",{onClick:Pe=>{Pe.preventDefault(),Pe.stopPropagation(),m(!0)},style:{position:"absolute",inset:0,cursor:"pointer",zIndex:10,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"all",touchAction:"pan-x pan-y pinch-zoom"},children:Ge.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"})}),o&&Ge.jsx(D1n,{active:u,onClick:()=>f(!u)}),be]})},O1n=n=>{const[e,t]=rt.useState(0),[r,i]=rt.useState(0);return rt.useEffect(()=>{if(!n.current)return;const a=()=>{var l;const s=(l=n.current)==null?void 0:l.getBoundingClientRect();t((s==null?void 0:s.width)||0),i((s==null?void 0:s.height)||0)};a();const o=new ResizeObserver(a);return o.observe(n.current),window.addEventListener("resize",a),()=>{o.disconnect(),window.removeEventListener("resize",a)}},[]),{containerWidth:e,containerHeight:r}};c9("assembly-viewer");var z1n=()=>{c9.enable("assembly-viewer*")},U1n=({circuitJson:n,containerStyle:e,debugGrid:t=!1,debug:r=!1})=>{r&&z1n();const i=rt.useRef(null),{ref:a}=sZe({onSetTransform(u){i.current&&(i.current.style.transform=h7(u))}}),{containerWidth:o,containerHeight:s}=O1n(a),l=rt.useMemo(()=>!o||!s?"":eZe(n,{width:o,height:s||720}),[n,o,s]);rt.useMemo(()=>{var f;if(!l)return u9();const u=(f=l.match(/data-real-to-screen-transform="([^"]+)"/))==null?void 0:f[1];try{return dG(u)}catch(d){return console.error(d),u9()}},[l]);const c=rt.useMemo(()=>Ge.jsx("div",{ref:i,style:{pointerEvents:"auto",transformOrigin:"0 0"},dangerouslySetInnerHTML:{__html:l}}),[l]);return Ge.jsx("div",{ref:a,style:{position:"relative",backgroundColor:"#F5F1ED",overflow:"hidden",minHeight:"300px",...e},children:c})};const cZe=["Always initialize your 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.","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.","Refer to the [GitHub Discussions page](https://github.com/tscircuit/tscircuit/discussions) to request 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."],k1n=(()=>{let n=cZe[Math.floor(Math.random()*cZe.length)];return n=n.replace(/</g,"&lt;"),n=n.replace(/>/g,"&gt;"),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})(),kw=({onRunClicked:n})=>Ge.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:[Ge.jsx(lln,{className:"rf-size-14 rf-mb-4"}),Ge.jsxs("p",{className:"rf-text-md rf-break-words rf-max-w-xl rf-text-center",children:["Tip: ",Ge.jsx("span",{dangerouslySetInnerHTML:{__html:k1n}})]}),n&&Ge.jsxs(m3,{className:"rf-mt-4 rf-bg-blue-600 rf-hover:bg-blue-500",onClick:n,children:["Run Code",Ge.jsx(_$e,{className:"rf-w-3 rf-h-3 rf-ml-2"})]})]}),uj=({text:n,onClick:e})=>Ge.jsx("span",{className:"rf-cursor-pointer rf-underline rf-text-blue-600 rf-mx-2",onClick:e,children:n}),fj=n=>{var e;return Ge.jsxs("div",{className:"rf-leading-5",children:[Ge.jsx("div",{className:"rf-py-2 rf-font-bold",children:n.column.name}),Ge.jsx("div",{children:((e=n.field)==null?void 0:e.call(n))??Ge.jsx("input",{type:"text",className:"rf-border rf-rounded rf-p-1 rf-w-full",onChange:t=>{var r;(r=n.onTextChange)==null||r.call(n,t.target.value)}})})]})},I1n=({open:n,children:e,title:t,onClose:r})=>n?Ge.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:r,children:Ge.jsxs("div",{className:"rf-bg-white rf-p-5 rf-rounded-lg rf-relative rf-w-11/12 rf-max-w-2xl",onClick:i=>{i.preventDefault(),i.stopPropagation()},children:[Ge.jsx("h2",{className:"rf-mt-0 rf-text-md rf-pb-4",children:t}),Ge.jsx("button",{type:"button",className:"rf-absolute rf-top-2 rf-right-4 rf-text-2xl rf-font-bold",onClick:r,children:"×"}),e]})}):null,F1n=({elements:n})=>{const[e,t]=rt.useState({open:!1}),[r,i]=rt.useReducer((u,f)=>({...u,...f}),{}),a=[...new Set(n.map(u=>u.type))],o=n.map(u=>{const f=u[`${u.type}_id`],d=Object.fromEntries(Object.entries(u).filter(([g])=>!(g===`${u.type}_id`||!g.endsWith("_id")))),m=Object.fromEntries(Object.entries(u).filter(([g])=>!g.endsWith("_id")));return{primary_id:f,other_ids:d,...m,_og_elm:u}}),s=o.map(u=>{let f="";const d=m=>{const g=Object.keys(m.other_ids).find(S=>S.startsWith("source_"));if(!g)return`.${m.name}`;const E=g.slice(0,-3),w=o.find(S=>S.type===E&&S.primary_id===m.other_ids[g]);return w?"name"in w?`${d(w)} > .${m.name}`:`#${w.primary_id} > .${m.name}`:`??? > .${m.name}`};return"name"in u&&(f=d(u)),{...u,selector_path:f}}),l=[{key:"primary_id",name:"primary_id",renderCell:u=>Ge.jsxs("div",{className:"rf-flex rf-items-center",children:[Ge.jsx(uj,{text:u.primary_id,onClick:()=>i({focused_id:u.primary_id,id_search:void 0,selector_search:void 0})}),Ge.jsx("span",{className:"rf-flex-grow"}),Ge.jsx(uj,{text:"(JSON)",onClick:()=>t({open:!0,element:u._og_elm,title:u.primary_id})})]}),renderHeaderCell:u=>Ge.jsx(fj,{column:u,onTextChange:f=>i({id_search:f}),field:r.focused_id?()=>Ge.jsxs("div",{children:["Focus:"," ",Ge.jsx("span",{className:"rf-underline",children:r.focused_id}),Ge.jsx(uj,{text:"(unfocus)",onClick:()=>i({focused_id:void 0})})]}):void 0})},{key:"type",name:"type",renderHeaderCell:u=>Ge.jsx(fj,{column:u,field:()=>Ge.jsxs("select",{onChange:f=>i({component_type_filter:f.target.value}),className:"rf-border rf-rounded rf-p-1 rf-w-full",children:[Ge.jsx("option",{value:"any",children:"any"},"any"),Ge.jsx("option",{value:"source",children:"source"},"source"),Ge.jsx("option",{value:"source/pcb",children:"source/pcb"},"source/pcb"),Ge.jsx("option",{value:"source/schematic",children:"source/schematic"},"source/schematic"),a.map(f=>Ge.jsx("option",{value:f,children:f},f))]})})},{key:"name",name:"name",renderHeaderCell:u=>Ge.jsx(fj,{column:u,onTextChange:f=>i({name_search:f})})},{key:"selector_path",name:"selector_path",renderHeaderCell:u=>Ge.jsx(fj,{column:u,onTextChange:f=>i({selector_search:f})})},{key:"other_ids",name:"other_ids",renderCell:u=>Ge.jsx("div",{className:"rf-space-x-2",children:Object.entries(u.other_ids).map(([f,d])=>Ge.jsx(uj,{text:d,onClick:()=>i({focused_id:d})},d))})}],c=s.filter(u=>{var f,d;return r.name_search?(d=(f=u.name)==null?void 0:f.toLowerCase())==null?void 0:d.includes(r.name_search.toLowerCase()):!0}).filter(u=>{var f;return!r.component_type_filter||r.component_type_filter==="any"?!0:r.component_type_filter==="source"?u.type.startsWith("source_"):r.component_type_filter==="source/pcb"?u.type.startsWith("source_")||u.type.startsWith("pcb_"):r.component_type_filter==="source/schematic"?u.type.startsWith("source_")||u.type.startsWith("schematic_"):(f=u.type)==null?void 0:f.includes(r.component_type_filter)}).filter(u=>r.selector_search?r.selector_search.split(" ").filter(d=>d.length>0).every(d=>{var m;return(m=u.selector_path)==null?void 0:m.includes(d)}):!0).filter(u=>{var f;return r.id_search?(f=u.primary_id)==null?void 0:f.includes(r.id_search):!0}).filter(u=>!!(!r.focused_id||u.primary_id===r.focused_id||Object.values(u.other_ids).includes(r.focused_id)));return Ge.jsxs("div",{className:"rf-font-mono rf-text-xs rf-bg-white",children:[Ge.jsx("div",{className:"rf-overflow-x-auto",children:Ge.jsxs("table",{className:"rf-table-auto rf-w-full rf-text-left",children:[Ge.jsx("thead",{children:Ge.jsx("tr",{children:l.map(u=>Ge.jsx("th",{className:"rf-px-4 rf-py-2 rf-border-b",children:u.renderHeaderCell?u.renderHeaderCell(u):u.name},u.key))})}),Ge.jsx("tbody",{children:c.map((u,f)=>Ge.jsx("tr",{className:"rf-hover:bg-gray-100",children:l.map(d=>Ge.jsx("td",{className:"rf-px-4 rf-py-2 rf-border-b",children:d.renderCell?d.renderCell(u):u[d.key]},d.key))},f))})]})}),Ge.jsx(I1n,{open:e.open,onClose:()=>t({open:!1}),title:e.open?e.title:"",children:Ge.jsx("div",{className:"rf-bg-gray-800 rf-p-3 rf-text-white rf-rounded",children:Ge.jsx("pre",{className:"rf-whitespace-pre-wrap",children:e.open?JSON.stringify(e.element,null,2):""})})})]})},B1n=(n,e)=>n==="jlcpcb"?Ge.jsx("a",{className:"rf-underline rf-text-blue-500",target:"_blank",rel:"noreferrer",href:`https://jlcpcb.com/partdetail/${e}`,children:e}):e,j1n=({circuitJson:n})=>{const e=n.filter(r=>r.type==="source_component"),t=new Set;for(const r of e)if(r.supplier_part_numbers)for(const i of Object.keys(r.supplier_part_numbers))t.add(i);return Ge.jsx("div",{className:"rf-overflow-x-auto",children:Ge.jsxs("table",{className:"rf-w-full rf-text-left rf-text-sm",children:[Ge.jsx("thead",{children:Ge.jsxs("tr",{className:"rf-border-b",children:[Ge.jsx("th",{className:"rf-p-2",children:"Name"}),Array.from(t).map(r=>Ge.jsx("th",{className:"rf-p-2 rf-capitalize",children:r},r))]})}),Ge.jsx("tbody",{children:e.map(r=>Ge.jsxs("tr",{className:"rf-border-b",children:[Ge.jsx("td",{className:"rf-p-2",children:r.name}),Array.from(t).map(i=>{var a,o;return Ge.jsx("td",{className:"rf-p-2",children:B1n(i,((o=(a=r.supplier_part_numbers)==null?void 0:a[i])==null?void 0:o[0])||"")},i)})]},r.source_component_id))})]})})};var uZe={Hz:{baseUnit:"Hz",variants:{MHz:1e6,kHz:1e3,Hz:1}},g:{baseUnit:"g",variants:{kg:1e3,g:1}},Ω:{baseUnit:"Ω",variants:{mΩ:.001,Ω:1,kΩ:1e3,KΩ:1e3,kohm:1e3,MΩ:1e6,GΩ:1e9,TΩ:1e12}},V:{baseUnit:"V",variants:{mV:.001,V:1,kV:1e3,KV:1e3,MV:1e6,GV:1e9,TV:1e12}},A:{baseUnit:"A",variants:{µA:1e-6,mA:.001,ma:.001,A:1,kA:1e3,MA:1e6}},F:{baseUnit:"F",variants:{pF:1e-12,nF:1e-9,µF:1e-6,uF:1e-6,mF:.001,F:1}},ml:{baseUnit:"ml",variants:{ml:1,mL:1,l:1e3,L:1e3}},deg:{baseUnit:"deg",variants:{rad:180/Math.PI}},ms:{baseUnit:"ms",variants:{s:1e3}},mm:{baseUnit:"mm",variants:{nm:1e-6,µm:.001,um:.001,mm:1,cm:10,dm:100,m:1e3,km:1e6,in:25.4,ft:304.8,IN:25.4,FT:304.8,yd:914.4,mi:1609344,mil:.0254}}},qfe=new Set;for(const[n,e]of Object.entries(uZe)){qfe.add(n);for(const t of Object.keys(e.variants))qfe.add(t)}function H1n(n){for(const[e,t]of Object.entries(uZe))if(n in t.variants)return{baseUnit:t.baseUnit,conversionFactor:t.variants[n]};return{baseUnit:n,conversionFactor:1}}var fZe={tera:1e12,T:1e12,giga:1e9,G:1e9,mega:1e6,M:1e6,kilo:1e3,k:1e3,deci:.1,d:.1,centi:.01,c:.01,milli:.001,m:.001,micro:1e-6,u:1e-6,µ:1e-6,nano:1e-9,n:1e-9,pico:1e-12,p:1e-12},Ub=n=>{var s;if(typeof n>"u")return{parsedUnit:null,unitOfValue:null,value:null};if(typeof n=="string"&&n.match(/^-?[\d\.]+$/))return{value:Number.parseFloat(n),parsedUnit:null,unitOfValue:null};if(typeof n=="number")return{value:n,parsedUnit:null,unitOfValue:null};if(typeof n=="object"&&"x"in n&&"y"in n){const{parsedUnit:l,unitOfValue:c}=Ub(n.x);return{parsedUnit:l,unitOfValue:c,value:{x:Ub(n.x).value,y:Ub(n.y).value}}}const t=(s=n.toString().split("").reverse().join("").match(/[^\d\s]+/))==null?void 0:s[0];if(!t)throw new Error(`Could not determine unit: "${n}"`);const r=t.split("").reverse().join(""),i=n.slice(0,-r.length);if(r in fZe&&!qfe.has(r)){const l=fZe[r];return{parsedUnit:null,unitOfValue:null,value:Number.parseFloat(i)*l}}const{baseUnit:a,conversionFactor:o}=H1n(r);return{parsedUnit:r,unitOfValue:a,value:o*Number.parseFloat(i)}},OP=v.string().or(v.number()).transform(n=>Ub(n).value),zP=v.string().or(v.number()).transform(n=>Ub(n).value).transform(n=>Number.parseFloat(n.toPrecision(12))),dZe=v.string().or(v.number()).transform(n=>Ub(n).value),UP=v.string().or(v.number()).transform(n=>Ub(n).value),m1=v.string().or(v.number()).transform(n=>Ub(n).value),Yfe=v.string().or(v.number()).transform(n=>Ub(n).value),Si=m1;v.string().or(v.number()).transform(n=>Ub(n).value),v.string().or(v.number()).transform(n=>Ub(n).value);var z6=v.string().or(v.number()).transform(n=>typeof n=="number"?n:n.endsWith("deg")?Number.parseFloat(n.split("deg")[0]):n.endsWith("rad")?Number.parseFloat(n.split("rad")[0])*180/Math.PI:Number.parseFloat(n)),V1n=v.number().or(v.string().endsWith("mAh")).transform(n=>{if(typeof n=="string"){const e=n.replace("mAh",""),t=Number.parseFloat(e);if(Number.isNaN(t))throw new Error("Invalid capacity");return t}return n}).describe("Battery capacity in mAh"),gv=v.object({x:Si,y:Si}),dj=v.object({x:Si,y:Si,z:Si}),pZe=v.object({width:v.number(),height:v.number()}),E9=n=>v.string().optional().default(()=>`${n}_${yE(10)}`),hZe=v.enum(["jlcpcb","macrofab","pcbway","digikey","mouser","lcsc"]),B5=v.object({type:v.literal("source_component"),ftype:v.string().optional(),source_component_id:v.string(),name:v.string(),manufacturer_part_number:v.string().optional(),supplier_part_numbers:v.record(hZe,v.array(v.string())).optional(),display_value:v.string().optional()}),mZe=B5.extend({ftype:v.literal("simple_capacitor"),capacitance:zP,max_voltage_rating:UP.optional(),display_capacitance:v.string().optional(),max_decoupling_trace_length:Si.optional()}),yZe=B5.extend({ftype:v.literal("simple_resistor"),resistance:OP,display_resistance:v.string().optional()}),Xfe=B5.extend({ftype:v.literal("simple_diode")}),$1n=B5.extend({ftype:v.literal("simple_ground")}),vZe=B5.extend({ftype:v.literal("simple_bug")}).describe("@deprecated"),gZe=B5.extend({ftype:v.literal("simple_chip")}),_Ze=Xfe.extend({ftype:v.literal("led")}),xZe=B5.extend({ftype:v.literal("simple_power_source"),voltage:UP}),bZe=B5.extend({ftype:v.literal("simple_battery"),capacity:V1n}),SZe=B5.extend({ftype:v.literal("simple_inductor"),inductance:dZe}),wZe=B5.extend({ftype:v.literal("simple_push_button")}),EZe=B5.extend({ftype:v.literal("simple_potentiometer"),max_resistance:OP}),G1n=B5.extend({ftype:v.literal("simple_crystal"),frequency:v.number().describe("Frequency in Hz"),load_capacitance:v.number().optional().describe("Load capacitance in pF")}),TZe=B5.extend({ftype:v.literal("simple_pin_header"),pin_count:v.number(),gender:v.enum(["male","female"]).optional().default("male")}),MZe=B5.extend({ftype:v.literal("simple_resonator"),load_capacitance:zP,equivalent_series_resistance:OP.optional(),frequency:Yfe}),CZe=B5.extend({ftype:v.literal("simple_transistor"),transistor_type:v.enum(["npn","pnp"])}),RZe=B5.extend({ftype:v.literal("simple_mosfet"),channel_type:v.enum(["n","p"]),mosfet_mode:v.enum(["enhancement","depletion"])}),AZe=B5.extend({ftype:v.literal("simple_switch")}),PZe=v.object({type:v.literal("source_project_metadata"),name:v.string().optional(),software_used_string:v.string().optional(),created_at:v.string().datetime().optional()}),q1n=v.union([yZe,mZe,Xfe,$1n,gZe,vZe,_Ze,xZe,bZe,SZe,wZe,EZe,G1n,TZe,MZe,AZe,CZe,RZe,PZe]),Y1n=v.object({type:v.literal("source_port"),pin_number:v.number().optional(),port_hints:v.array(v.string()).optional(),name:v.string(),source_port_id:v.string(),source_component_id:v.string(),subcircuit_id:v.string().optional()}),X1n=v.object({type:v.literal("source_trace"),source_trace_id:v.string(),connected_source_port_ids:v.array(v.string()),connected_source_net_ids:v.array(v.string()),subcircuit_id:v.string().optional(),subcircuit_connectivity_map_key:v.string().optional(),max_length:v.number().optional(),min_trace_thickness:v.number().optional(),display_name:v.string().optional()}),W1n=v.object({type:v.literal("source_group"),source_group_id:v.string(),subcircuit_id:v.string().optional(),parent_subcircuit_id:v.string().optional(),is_subcircuit:v.boolean().optional(),name:v.string().optional()}),Z1n=v.object({type:v.literal("source_net"),source_net_id:v.string(),name:v.string(),member_source_group_ids:v.array(v.string()),is_power:v.boolean().optional(),is_ground:v.boolean().optional(),is_digital_signal:v.boolean().optional(),is_analog_signal:v.boolean().optional(),trace_width:v.number().optional(),subcircuit_id:v.string().optional()}),Q1n=v.object({type:v.literal("schematic_box"),schematic_component_id:v.string(),width:Si,height:Si,x:Si,y:Si}).describe("Draws a box on the schematic"),K1n=v.object({type:v.literal("schematic_path"),schematic_component_id:v.string(),fill_color:v.enum(["red","blue"]).optional(),is_filled:v.boolean().optional(),points:v.array(gv)}),J1n=v.record(v.object({left_margin:m1.optional(),right_margin:m1.optional(),top_margin:m1.optional(),bottom_margin:m1.optional()})),eyn=v.object({left_size:v.number(),right_size:v.number(),top_size:v.number().optional(),bottom_size:v.number().optional()}),tyn=v.object({left_side:v.object({pins:v.array(v.number()),direction:v.enum(["top-to-bottom","bottom-to-top"]).optional()}).optional(),right_side:v.object({pins:v.array(v.number()),direction:v.enum(["top-to-bottom","bottom-to-top"]).optional()}).optional(),top_side:v.object({pins:v.array(v.number()),direction:v.enum(["left-to-right","right-to-left"]).optional()}).optional(),bottom_side:v.object({pins:v.array(v.number()),direction:v.enum(["left-to-right","right-to-left"]).optional()}).optional()}),nyn=v.union([eyn,tyn]),ryn=v.object({type:v.literal("schematic_component"),size:pZe,center:gv,source_component_id:v.string(),schematic_component_id:v.string(),pin_spacing:m1.optional(),pin_styles:J1n.optional(),box_width:m1.optional(),symbol_name:v.string().optional(),port_arrangement:nyn.optional(),port_labels:v.record(v.string()).optional(),symbol_display_value:v.string().optional()}),iyn=v.object({type:v.literal("schematic_line"),schematic_component_id:v.string(),x1:Si,x2:Si,y1:Si,y2:Si}),ayn=v.object({type:v.literal("schematic_trace"),schematic_trace_id:v.string(),source_trace_id:v.string(),junctions:v.array(v.object({x:v.number(),y:v.number()})),edges:v.array(v.object({from:v.object({x:v.number(),y:v.number()}),to:v.object({x:v.number(),y:v.number()}),is_crossing:v.boolean().optional(),from_schematic_port_id:v.string().optional(),to_schematic_port_id:v.string().optional()}))}),oyn=v.object({type:v.literal("schematic_text"),schematic_component_id:v.string(),schematic_text_id:v.string(),text:v.string(),position:v.object({x:Si,y:Si}),rotation:v.number().default(0),anchor:v.enum(["center","left","right","top","bottom"]).default("center"),color:v.string().default("#000000")}),syn=v.object({type:v.literal("schematic_port"),schematic_port_id:v.string(),source_port_id:v.string(),schematic_component_id:v.string().optional(),center:gv,facing_direction:v.enum(["up","down","left","right"]).optional(),distance_from_component_edge:v.number().optional(),side_of_component:v.enum(["top","bottom","left","right"]).optional(),true_ccw_index:v.number().optional(),pin_number:v.number().optional(),display_pin_label:v.string().optional()}).describe("Defines a port on a schematic component"),lyn=v.object({type:v.literal("schematic_net_label"),source_net_id:v.string(),center:gv,anchor_position:gv.optional(),anchor_side:v.enum(["top","bottom","left","right"]),text:v.string(),symbol_name:v.string().optional()}),cyn=v.object({type:v.literal("schematic_error"),schematic_error_id:v.string(),error_type:v.literal("schematic_port_not_found"),message:v.string()}).describe("Defines a schematic error on the schematic"),Wfe=v.object({type:v.literal("schematic_debug_object"),label:v.string().optional()}),uyn=Wfe.extend({shape:v.literal("rect"),center:gv,size:pZe}),fyn=Wfe.extend({shape:v.literal("line"),start:gv,end:gv}),dyn=Wfe.extend({shape:v.literal("point"),center:gv}),pyn=v.discriminatedUnion("shape",[uyn,fyn,dyn]),hyn=v.object({type:v.literal("schematic_voltage_probe"),schematic_voltage_probe_id:v.string(),position:gv,schematic_trace_id:v.string(),voltage:UP.optional()}).describe("Defines a voltage probe measurement point on a schematic trace"),NZe=v.object({type:v.literal("schematic_manual_edit_conflict_warning"),schematic_manual_edit_conflict_warning_id:E9("schematic_manual_edit_conflict_warning"),message:v.string(),schematic_component_id:v.string(),schematic_group_id:v.string().optional(),subcircuit_id:v.string().optional(),source_component_id:v.string()}).describe("Warning emitted when a component has both manual placement and explicit schX/schY coordinates"),myn=["top","bottom","inner1","inner2","inner3","inner4","inner5","inner6"],DZe=v.enum(myn),my=DZe.or(v.object({name:DZe})).transform(n=>typeof n=="string"?n:n.name),kP=v.enum(["top","bottom"]),yyn=v.object({x:Si,y:Si,via:v.boolean().optional(),via_to_layer:my.optional()});v.array(yyn);var YS=v.object({x:Si,y:Si,via:v.boolean().optional(),to_layer:my.optional(),trace_width:Si.optional()}),vyn=v.object({type:v.literal("pcb_component"),pcb_component_id:E9("pcb_component"),source_component_id:v.string(),center:gv,layer:my,rotation:z6,width:m1,height:m1,subcircuit_id:v.string().optional()}).describe("Defines a component on the PCB"),LZe=v.object({type:v.literal("pcb_hole"),pcb_hole_id:E9("pcb_hole"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),hole_shape:v.enum(["circle","square"]),hole_diameter:v.number(),x:Si,y:Si});LZe.describe("Defines a circular or square hole on the PCB");var OZe=v.object({type:v.literal("pcb_hole"),pcb_hole_id:E9("pcb_hole"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),hole_shape:v.literal("oval"),hole_width:v.number(),hole_height:v.number(),x:Si,y:Si});OZe.describe("Defines an oval hole on the PCB");var gyn=LZe.or(OZe),_yn=v.object({type:v.literal("pcb_plated_hole"),shape:v.literal("circle"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),outer_diameter:v.number(),hole_diameter:v.number(),x:Si,y:Si,layers:v.array(my),port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional(),pcb_plated_hole_id:E9("pcb_plated_hole")}),xyn=v.object({type:v.literal("pcb_plated_hole"),shape:v.enum(["oval","pill"]),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),outer_width:v.number(),outer_height:v.number(),hole_width:v.number(),hole_height:v.number(),x:Si,y:Si,layers:v.array(my),port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional(),pcb_plated_hole_id:E9("pcb_plated_hole")}),byn=v.object({type:v.literal("pcb_plated_hole"),shape:v.literal("circular_hole_with_rect_pad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),hole_shape:v.literal("circle"),pad_shape:v.literal("rect"),hole_diameter:v.number(),rect_pad_width:v.number(),rect_pad_height:v.number(),x:Si,y:Si,layers:v.array(my),port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional(),pcb_plated_hole_id:E9("pcb_plated_hole")});v.object({type:v.literal("pcb_plated_hole"),shape:v.literal("pill_hole_with_rect_pad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),hole_shape:v.literal("pill"),pad_shape:v.literal("rect"),hole_width:v.number(),hole_height:v.number(),rect_pad_width:v.number(),rect_pad_height:v.number(),x:Si,y:Si,layers:v.array(my),port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional(),pcb_plated_hole_id:E9("pcb_plated_hole")});var Syn=v.union([_yn,xyn,byn]),wyn=v.object({type:v.literal("pcb_port"),pcb_port_id:E9("pcb_port"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),source_port_id:v.string(),pcb_component_id:v.string(),x:Si,y:Si,layers:v.array(my)}).describe("Defines a port on the PCB"),Eyn=v.object({type:v.literal("pcb_smtpad"),shape:v.literal("circle"),pcb_smtpad_id:E9("pcb_smtpad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,radius:v.number(),layer:my,port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional()}),Tyn=v.object({type:v.literal("pcb_smtpad"),shape:v.literal("rect"),pcb_smtpad_id:E9("pcb_smtpad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,width:v.number(),height:v.number(),layer:my,port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional()}),Myn=v.object({type:v.literal("pcb_smtpad"),shape:v.literal("rotated_rect"),pcb_smtpad_id:E9("pcb_smtpad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,width:v.number(),height:v.number(),ccw_rotation:z6,layer:my,port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional()}),Cyn=v.object({type:v.literal("pcb_smtpad"),shape:v.literal("pill"),pcb_smtpad_id:E9("pcb_smtpad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,width:v.number(),height:v.number(),radius:v.number(),layer:my,port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional()}),Ryn=v.union([Eyn,Tyn,Myn,Cyn]).describe("Defines an SMT pad on the PCB"),Ayn=v.object({type:v.literal("pcb_solder_paste"),shape:v.literal("circle"),pcb_solder_paste_id:E9("pcb_solder_paste"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,radius:v.number(),layer:my,pcb_component_id:v.string().optional(),pcb_smtpad_id:v.string().optional()}),Pyn=v.object({type:v.literal("pcb_solder_paste"),shape:v.literal("rect"),pcb_solder_paste_id:E9("pcb_solder_paste"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,width:v.number(),height:v.number(),layer:my,pcb_component_id:v.string().optional(),pcb_smtpad_id:v.string().optional()}),Nyn=v.union([Ayn,Pyn]).describe("Defines solderpaste on the PCB"),Dyn=v.object({type:v.literal("pcb_text"),pcb_text_id:E9("pcb_text"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),text:v.string(),center:gv,layer:my,width:m1,height:m1,lines:v.number(),align:v.enum(["bottom-left"])}).describe("Defines text on the PCB"),Lyn=v.object({route_type:v.literal("wire"),x:Si,y:Si,width:Si,start_pcb_port_id:v.string().optional(),end_pcb_port_id:v.string().optional(),layer:my}),Oyn=v.object({route_type:v.literal("via"),x:Si,y:Si,from_layer:v.string(),to_layer:v.string()});v.union([Lyn,Oyn]);var zyn=v.object({type:v.literal("pcb_trace"),source_trace_id:v.string().optional(),pcb_component_id:v.string().optional(),pcb_trace_id:E9("pcb_trace"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),route_thickness_mode:v.enum(["constant","interpolated"]).default("constant").optional(),route_order_index:v.number().optional(),should_round_corners:v.boolean().optional(),trace_length:v.number().optional(),route:v.array(v.union([v.object({route_type:v.literal("wire"),x:Si,y:Si,width:Si,start_pcb_port_id:v.string().optional(),end_pcb_port_id:v.string().optional(),layer:my}),v.object({route_type:v.literal("via"),x:Si,y:Si,from_layer:v.string(),to_layer:v.string()})]))}).describe("Defines a trace on the PCB"),Uyn=v.object({type:v.literal("pcb_trace_error"),pcb_trace_error_id:E9("pcb_trace_error"),error_type:v.literal("pcb_trace_error"),message:v.string(),center:gv.optional(),pcb_trace_id:v.string(),source_trace_id:v.string(),pcb_component_ids:v.array(v.string()),pcb_port_ids:v.array(v.string())}).describe("Defines a trace error on the PCB"),kyn=v.object({type:v.literal("pcb_port_not_matched_error"),pcb_error_id:E9("pcb_error"),message:v.string(),pcb_component_ids:v.array(v.string())}).describe("Defines a trace error on the PCB where a port is not matched"),Iyn=v.object({type:v.literal("pcb_via"),pcb_via_id:E9("pcb_via"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,outer_diameter:Si.default("0.6mm"),hole_diameter:Si.default("0.25mm"),from_layer:my.optional(),to_layer:my.optional(),layers:v.array(my),pcb_trace_id:v.string().optional()}).describe("Defines a via on the PCB"),Fyn=v.object({type:v.literal("pcb_board"),pcb_board_id:E9("pcb_board"),is_subcircuit:v.boolean().optional(),subcircuit_id:v.string().optional(),width:m1,height:m1,center:gv,thickness:m1.optional().default(1.4),num_layers:v.number().optional().default(4),outline:v.array(gv).optional(),material:v.enum(["fr4","fr1"]).default("fr4")}).describe("Defines the board outline of the PCB"),Byn=v.object({type:v.literal("pcb_placement_error"),pcb_placement_error_id:E9("pcb_placement_error"),message:v.string()}).describe("Defines a placement error on the PCB"),jyn=v.object({type:v.literal("pcb_trace_hint"),pcb_trace_hint_id:E9("pcb_trace_hint"),pcb_port_id:v.string(),pcb_component_id:v.string(),route:v.array(YS)}).describe("A hint that can be used during generation of a PCB trace"),Hyn=v.object({type:v.literal("pcb_silkscreen_line"),pcb_silkscreen_line_id:E9("pcb_silkscreen_line"),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),stroke_width:Si.default("0.1mm"),x1:Si,y1:Si,x2:Si,y2:Si,layer:kP}).describe("Defines a silkscreen line on the PCB"),Vyn=v.object({type:v.literal("pcb_silkscreen_path"),pcb_silkscreen_path_id:E9("pcb_silkscreen_path"),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),layer:kP,route:v.array(gv),stroke_width:m1}).describe("Defines a silkscreen path on the PCB"),$yn=v.object({type:v.literal("pcb_silkscreen_text"),pcb_silkscreen_text_id:E9("pcb_silkscreen_text"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),font:v.literal("tscircuit2024").default("tscircuit2024"),font_size:Si.default("0.2mm"),pcb_component_id:v.string(),text:v.string(),ccw_rotation:v.number().optional(),layer:my,is_mirrored:v.boolean().default(!1).optional(),anchor_position:gv.default({x:0,y:0}),anchor_alignment:v.enum(["center","top_left","top_right","bottom_left","bottom_right"]).default("center")}).describe("Defines silkscreen text on the PCB"),Gyn=v.object({type:v.literal("pcb_silkscreen_rect"),pcb_silkscreen_rect_id:E9("pcb_silkscreen_rect"),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),center:gv,width:m1,height:m1,layer:my,stroke_width:m1.default("1mm")}).describe("Defines a silkscreen rect on the PCB"),qyn=v.object({type:v.literal("pcb_silkscreen_circle"),pcb_silkscreen_circle_id:E9("pcb_silkscreen_circle"),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),center:gv,radius:m1,layer:kP,stroke_width:m1.default("1mm")}).describe("Defines a silkscreen circle on the PCB"),Yyn=v.object({type:v.literal("pcb_silkscreen_oval"),pcb_silkscreen_oval_id:E9("pcb_silkscreen_oval"),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),center:gv,radius_x:Si,radius_y:Si,layer:kP}).describe("Defines a silkscreen oval on the PCB"),Xyn=v.object({type:v.literal("pcb_fabrication_note_text"),pcb_fabrication_note_text_id:E9("pcb_fabrication_note_text"),subcircuit_id:v.string().optional(),pcb_group_id:v.string().optional(),font:v.literal("tscircuit2024").default("tscircuit2024"),font_size:Si.default("1mm"),pcb_component_id:v.string(),text:v.string(),layer:kP,anchor_position:gv.default({x:0,y:0}),anchor_alignment:v.enum(["center","top_left","top_right","bottom_left","bottom_right"]).default("center"),color:v.string().optional()}).describe("Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"),Wyn=v.object({type:v.literal("pcb_fabrication_note_path"),pcb_fabrication_note_path_id:E9("pcb_fabrication_note_path"),pcb_component_id:v.string(),subcircuit_id:v.string().optional(),layer:my,route:v.array(gv),stroke_width:m1,color:v.string().optional()}).describe("Defines a fabrication path on the PCB for fabricators or assemblers"),Zyn=v.object({type:v.literal("pcb_keepout"),shape:v.literal("rect"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),center:gv,width:Si,height:Si,pcb_keepout_id:v.string(),layers:v.array(v.string()),description:v.string().optional()}).or(v.object({type:v.literal("pcb_keepout"),shape:v.literal("circle"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),center:gv,radius:Si,pcb_keepout_id:v.string(),layers:v.array(v.string()),description:v.string().optional()})),Qyn=v.object({type:v.literal("pcb_missing_footprint_error"),pcb_missing_footprint_error_id:E9("pcb_missing_footprint_error"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),error_type:v.literal("pcb_missing_footprint_error"),source_component_id:v.string(),message:v.string()}).describe("Defines a missing footprint error on the PCB"),Kyn=v.object({type:v.literal("pcb_group"),pcb_group_id:E9("pcb_group"),source_group_id:v.string(),is_subcircuit:v.boolean().optional(),subcircuit_id:v.string().optional(),width:m1,height:m1,center:gv,pcb_component_ids:v.array(v.string()),name:v.string().optional(),description:v.string().optional()}).describe("Defines a group of components on the PCB"),Jyn=v.object({type:v.literal("pcb_autorouting_error"),pcb_error_id:E9("pcb_autorouting_error"),message:v.string()}).describe("The autorouting has failed to route a portion of the board"),zZe=v.object({type:v.literal("pcb_manual_edit_conflict_warning"),pcb_manual_edit_conflict_warning_id:E9("pcb_manual_edit_conflict_warning"),message:v.string(),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),source_component_id:v.string()}).describe("Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"),evn=v.object({type:v.literal("cad_component"),cad_component_id:v.string(),pcb_component_id:v.string(),source_component_id:v.string(),position:dj,rotation:dj.optional(),size:dj.optional(),layer:my.optional(),footprinter_string:v.string().optional(),model_obj_url:v.string().optional(),model_stl_url:v.string().optional(),model_3mf_url:v.string().optional(),model_jscad:v.any().optional()}).describe("Defines a component on the PCB");v.union([X1n,Y1n,q1n,_Ze,Z1n,W1n,vZe,gZe,mZe,Xfe,yZe,xZe,bZe,SZe,TZe,MZe,AZe,CZe,RZe,EZe,wZe,PZe,vyn,gyn,Qyn,zZe,Syn,Zyn,wyn,Dyn,zyn,Iyn,Ryn,Nyn,Fyn,Kyn,jyn,Hyn,Vyn,$yn,Gyn,qyn,Yyn,Uyn,Byn,kyn,Wyn,Xyn,Jyn,Q1n,oyn,iyn,ryn,syn,ayn,K1n,cyn,lyn,pyn,hyn,NZe,evn]);function Zfe(n){if(n.length===0)return{minX:0,maxX:0,minY:0,maxY:0};let e=1/0,t=-1/0,r=1/0,i=-1/0;const a=o=>{e=Math.min(e,o.x),t=Math.max(t,o.x),r=Math.min(r,o.y),i=Math.max(i,o.y)};return n.forEach(o=>{switch(o.type){case"path":o.points.forEach(a);break;case"text":a({x:o.x,y:o.y});break;case"circle":{const{x:s,y:l,radius:c}=o;a({x:s-c,y:l-c}),a({x:s+c,y:l+c});break}case"box":{const{x:s,y:l,width:c,height:u}=o,f=c/2,d=u/2;a({x:s-f,y:l-d}),a({x:s+f,y:l+d});break}}}),{minX:e,maxX:t,minY:r,maxY:i}}function Km(n){let e=n.size;if(!e){const t=Zfe(n.primitives);e={width:t.maxX-t.minX,height:t.maxY-t.minY}}return{...n,size:e}}var tvn={paths:{path11:{type:"path",points:[{x:-.5274831500000005,y:.03018695000000049},{x:-.30105415000000013,y:.03018695000000049}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2932119499999999,y:.03018695000000049},{x:.5339524499999997,y:.03018695000000049}],color:"primary",fill:!1},"path11-5-5":{type:"path",points:[{x:.09765764999999949,y:.12845085000000034},{x:-.0011297500000011507,y:-.06303624999999946},{x:-.10778645000000164,y:.12845085000000034}],color:"primary",fill:!1},path17:{type:"path",points:[{x:-.002934749999999875,y:-.13606674999999946},{x:.06869635000000063,y:-.11019914999999947}],color:"primary",fill:!1},path18:{type:"path",points:[{x:.06869635000000063,y:-.11019914999999947},{x:.1403274500000009,y:-.13606674999999946}],color:"primary",fill:!1},path19:{type:"path",points:[{x:-.1461968499999997,y:-.13606674999999946},{x:-.07456574999999921,y:-.11019914999999947}],color:"primary",fill:!1},path20:{type:"path",points:[{x:-.07456575000000054,y:-.11019914999999947},{x:-.0029346500000002607,y:-.13606674999999946}],color:"primary",fill:!1}},refblocks:{left1:{x:-.5413984499999998,y:.029334149999999948},right1:{x:.54139845,y:.030330549999999734}},bounds:{width:1.1391137819999997,height:.5443252999999999,centerX:11102230246251565e-32,centerY:.05499999999999999},circles:{path1:{type:"circle",x:-.0037626500000000895,y:.03731525000000002,radius:.28854213,color:"primary",fill:!1}}},{paths:nvn,bounds:pj,refblocks:UZe,circles:rvn}=tvn,kZe=Km({primitives:[...Object.values(nvn),...Object.values(rvn),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"}],ports:[{...UZe.left1,labels:["1"]},{...UZe.right1,labels:["2"]}],size:{width:pj.width,height:pj.height},center:{x:pj.centerX,y:pj.centerY}}),ivn=(n,e="right")=>{switch(e){case"down":switch(n){case"middle_top":return"middle_right";case"middle_bottom":return"middle_left";case"middle_left":return"middle_bottom";case"middle_right":return"middle_top"}break;case"up":switch(n){case"middle_top":return"middle_left";case"middle_bottom":return"middle_right";case"middle_left":return"middle_top";case"middle_right":return"middle_bottom"}break;case"left":switch(n){case"middle_top":return"middle_bottom";case"middle_bottom":return"middle_top";case"middle_left":return"middle_right";case"middle_right":return"middle_left"}break;case"right":return n}return n},avn=(n,e)=>{const{primitives:t,center:r,ports:i,size:a}=n,o=W3({a:1,b:0,c:0,d:-1,e:0,f:2*r.y}),s=t.map(c=>{switch(c={...c},c.type){case"path":return{...c,points:c.points.map(m=>gr(o,m))};case"text":const u=gr(o,{x:c.x,y:c.y}),f={top_left:"bottom_left",top_right:"bottom_right",bottom_left:"top_left",bottom_right:"top_right",center:"center",middle_top:"middle_bottom",middle_bottom:"middle_top",middle_left:"middle_left",middle_right:"middle_right"};return{...c,x:u.x,y:u.y,anchor:f[c.anchor]};case"circle":case"box":const d=gr(o,{x:c.x,y:c.y});return{...c,x:d.x,y:d.y}}}),l=i.map(c=>({...c,...gr(o,c)}));return{primitives:s,center:r,ports:l,size:a,...e}},Qfe=(n,e)=>{const{primitives:t,center:r,ports:i,size:a}=n,o=W3({a:-1,b:0,c:0,d:1,e:0,f:2*r.x}),s=t.map(c=>{switch(c={...c},c.type){case"path":return{...c,points:c.points.map(m=>gr(o,m))};case"text":const u=gr(o,{x:c.x,y:c.y}),f={top_left:"top_right",top_right:"top_left",bottom_left:"bottom_right",bottom_right:"bottom_left",center:"center",middle_top:"middle_top",middle_bottom:"middle_bottom",middle_left:"middle_right",middle_right:"middle_left"};return{...c,x:u.x,y:u.y,anchor:f[c.anchor]};case"circle":case"box":const d=gr(o,{x:c.x,y:c.y});return{...c,x:d.x,y:d.y}}}),l=i.map(c=>({...c,...gr(o,c)}));return{primitives:s,center:r,ports:l,size:a,...e}},IP=(n,e)=>{const{newOrientation:t,overrides:r}=e,i={up:Math.PI/2,right:0,down:-Math.PI/2,left:-Math.PI},a=u2(t?i[t]:Math.PI/2,n.center.x,n.center.y),{primitives:o,center:s,size:l,ports:c}=n,u=o.map(m=>{switch(m={...m},m.type){case"path":return{...m,points:m.points.map(S=>gr(a,S))};case"text":const g=gr(a,{x:m.x,y:m.y});return m.anchor=ivn(m.anchor,t??"right"),{...m,x:g.x,y:g.y};case"circle":const E=gr(a,{x:m.x,y:m.y});return{...m,x:E.x,y:E.y};case"box":const w=gr(a,{x:m.x,y:m.y});return{...m,x:w.x,y:w.y,width:m.height,height:m.width}}}),f=c.map(m=>({...m,...gr(a,m)})),d=Zfe(u);return{primitives:u,center:s,ports:f,size:{width:d.maxX-d.minX,height:d.maxY-d.minY},...r}},Pl=(n,e="down",t={})=>IP(n,{newOrientation:e,overrides:t}),ovn=IP(kZe,{newOrientation:"up"}),svn=ovn,lvn={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.0390362999999998},{x:-.1199943999999995,y:-.09325540000000054}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1199943999999995,y:.17132800000000015},{x:.14458890000000002,y:.0390362999999998}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1199943999999995,y:-.09325539999999921},{x:-.1199943999999995,y:.17132800000000015}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.14458890000000002,y:.17132800000000015},{x:.14458890000000002,y:-.09325539999999921}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219909999999956,y:.0390362999999998},{x:-.5168693999999996,y:.0390362999999998}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233797000000002,y:.03895110000000024},{x:.1496715999999998,y:.03895110000000024}],color:"primary",fill:!1},"path43-8":{type:"path",points:[{x:.14339119999999994,y:.17181090000000032},{x:.07768859999999966,y:.19542900000000052}],color:"primary",fill:!1},"path43-8-3":{type:"path",points:[{x:.21083259999999981,y:-.1180321000000002},{x:.14512999999999954,y:-.094414}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.26884529999999995},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.27884529999999996}},refblocks:{left1:{x:-.5191471000000001,y:.03992070000000081},right1:{x:.5191470999999999,y:.03889609999999988}},bounds:{width:1.094611082,height:.2976905999999999,centerX:-11102230246251565e-32,centerY:.05499999999999999},circles:{}},{paths:cvn,texts:IZe,bounds:hj,refblocks:FZe,circles:uvn}=lvn,BZe=Km({primitives:[...Object.values(cvn),...Object.values(uvn),{...IZe.top1,anchor:"middle_bottom"},{...IZe.bottom1,anchor:"middle_top"}],ports:[{...FZe.left1,labels:["1"]},{...FZe.right1,labels:["2"]}],size:{width:hj.width,height:hj.height},center:{x:hj.centerX,y:hj.centerY}}),fvn=IP(BZe,{newOrientation:"down"}),dvn=fvn,pvn={paths:{path43:{type:"path",points:[{x:-.05901489999999909,y:.18831315000000015},{x:-.05869489999999833,y:-.11814524999999954}],color:"primary",fill:!1},"path43-6":{type:"path",points:[{x:.015375000000000805,y:.12533125000000034},{x:.016669000000000933,y:-.05562075000000033}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.06443049999999961,y:.032673549999999496},{x:-.4368029,y:.032673549999999496}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.4350822999999997,y:.03438825000000034},{x:.028285099999999952,y:.03438825000000034}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.027835099999999446,y:.26564474999999943},bottom1:{type:"text",text:"{VAL}",x:-.028373699999999502,y:-.27564474999999966}},refblocks:{left1:{x:-.4458008,y:.033557849999999334},right1:{x:.4458008,y:.03343344999999931}},bounds:{width:.947918482,height:.2912894999999991,centerX:0,centerY:.055000000000000104},circles:{}},{paths:hvn,texts:jZe,bounds:mj,refblocks:HZe,circles:mvn}=pvn,VZe=Km({primitives:[...Object.values(hvn),...Object.values(mvn),{...jZe.top1,anchor:"middle_bottom"},{...jZe.bottom1,anchor:"middle_top"}],ports:[{...HZe.left1,labels:["1"]},{...HZe.right1,labels:["2"]}],size:{width:mj.width,height:mj.height},center:{x:mj.centerX,y:mj.centerY}}),yvn=IP(VZe,{newOrientation:"up"}),yj={paths:{path1:{type:"path",points:[{x:-.511850799999999,y:.04616140000000257},{x:-.24726749999999953,y:.04616140000000257}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.2818991000000013,y:.04616140000000257},{x:.5464825000000006,y:.04616140000000257}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.0173157000000006,y:.17845310000000225},{x:.2818990000000001,y:.17845310000000225},{x:.2818990000000001,y:-.0861302999999971},{x:-.24726770000000053,y:-.0861302999999971},{x:-.24726770000000053,y:.17845310000000225},{x:.017315699999998824,y:.17845310000000225}],color:"primary",fill:!1}},refblocks:{left1:{x:-.5337907000000002,y:.04580520000000021},right1:{x:.5337907000000004,y:.04525870000000154}},bounds:{centerX:11102230246251565e-32,centerY:8881784197001252e-31},circles:{}},vvn=class{constructor(n){nt(this,"symbol");this.symbol=JSON.parse(JSON.stringify(n)),this.symbol.size=this.computeSize()}changeTextAnchor(n,e){return this.symbol={...this.symbol,primitives:this.symbol.primitives.map(t=>t.type==="text"&&t.text===n?{...t,anchor:e}:t)},this}labelPort(n,e){return this.symbol={...this.symbol,ports:this.symbol.ports.map(t=>t.labels.includes(n)?{...t,labels:e}:t)},this}rotateRightFacingSymbol(n){return this.symbol=IP(this.symbol,{newOrientation:n}),this}computeSize(){const n=Zfe(this.symbol.primitives);return{width:n.maxX-n.minX,height:n.maxY-n.minY}}build(){return{...this.symbol,size:this.computeSize()}}},fd=n=>new vvn({...n,primitives:n.primitives??[...Object.values(n.paths??{}),...Object.values(n.texts??{}),...Object.values(n.circles??{}),...Object.values(n.rects??{})],ports:n.ports??Object.entries(n.refblocks).flatMap(([e,t])=>[{...t,labels:[e]}]),center:n.center??{x:n.bounds.centerX,y:n.bounds.centerY}}),{paths:gvn,bounds:$Ze,refblocks:GZe,circles:_vn}=yj,xvn=fd({primitives:[...Object.values(gvn),...Object.values(_vn),{type:"text",text:"{REF}",x:-.16,y:.2294553499999995},{type:"text",text:"{VAL}",x:.16,y:.2294553499999995}],ports:[{...GZe.left1,labels:["1"]},{...GZe.right1,labels:["2"]}],center:{x:$Ze.centerX,y:$Ze.centerY}}).changeTextAnchor("{VAL}","middle_bottom").rotateRightFacingSymbol("down").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_left").build(),{paths:bvn,bounds:qZe,refblocks:YZe,circles:Svn}=yj,wvn=fd({primitives:[...Object.values(bvn),...Object.values(Svn),{type:"text",text:"{REF}",x:0,y:.2294553499999995},{type:"text",text:"{VAL}",x:0,y:-.1594553499999995}],ports:[{...YZe.left1,labels:["1"]},{...YZe.right1,labels:["2"]}],center:{x:qZe.centerX,y:qZe.centerY}}).changeTextAnchor("{VAL}","middle_top").rotateRightFacingSymbol("right").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),{paths:Evn,bounds:XZe,refblocks:WZe,circles:Tvn}=yj,Mvn=fd({primitives:[...Object.values(Evn),...Object.values(Tvn),{type:"text",text:"{REF}",x:0,y:.2294553499999995},{type:"text",text:"{VAL}",x:0,y:-.1594553499999995}],ports:[{...WZe.left1,labels:["1"]},{...WZe.right1,labels:["2"]}],center:{x:XZe.centerX,y:XZe.centerY}}).changeTextAnchor("{VAL}","middle_top").rotateRightFacingSymbol("right").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),{paths:Cvn,bounds:ZZe,refblocks:QZe,circles:Rvn}=yj,Avn=fd({primitives:[...Object.values(Cvn),...Object.values(Rvn),{type:"text",text:"{REF}",x:-.16,y:.2294553499999995},{type:"text",text:"{VAL}",x:.16,y:.2294553499999995}],ports:[{...QZe.left1,labels:["1"]},{...QZe.right1,labels:["2"]}],center:{x:ZZe.centerX,y:ZZe.centerY}}).changeTextAnchor("{VAL}","middle_bottom").rotateRightFacingSymbol("down").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_left").build(),vj={paths:{path27:{type:"path",points:[{x:.5229378000000002,y:.017283050000003186},{x:.07314620000000005,y:.017283050000003186}],color:"primary",fill:!1},path28:{type:"path",points:[{x:-.0856037999999999,y:.017283050000003186},{x:-.5353954999999999,y:.017283050000003186}],color:"primary",fill:!1},path29:{type:"path",points:[{x:.0731461999999996,y:.2818663500000014},{x:.07314620000000005,y:-.24730024999999856}],color:"primary",fill:!1},path30:{type:"path",points:[{x:-.0856037999999999,y:.2818663500000014},{x:-.0856037999999999,y:-.24730024999999856}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.012864500000000056,y:.4200086500000033},bottom1:{type:"text",text:"{VAL}",x:-.003850500000000423,y:-.42000864999999976}},refblocks:{left1:{x:-.5512093000000005,y:.01638025000000276},right1:{x:.5512093,y:.016926950000001995}},bounds:{minX:-.5793677410000004,maxX:.579367741,minY:-.42000864999999976,maxY:.4200086500000033,width:1.1587354820000004,height:.8400173000000031,centerX:-2220446049250313e-31,centerY:17763568394002505e-31},circles:{}},{paths:Pvn,texts:zOn,bounds:gj,refblocks:KZe,circles:Nvn}=vj,Dvn=fd({primitives:[...Object.values(Pvn),...Object.values(Nvn),{type:"text",text:"{REF}",x:-.2,y:.2094553499999995},{type:"text",text:"{VAL}",x:.2,y:.2094553499999995}],ports:[{...KZe.left1,labels:["1"]},{...KZe.right1,labels:["2"]}],size:{width:gj.width,height:gj.height},center:{x:gj.centerX,y:gj.centerY}}).changeTextAnchor("{VAL}","top_left").rotateRightFacingSymbol("down").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","bottom_left").build(),Lvn=fd(vj).changeTextAnchor("{VAL}","middle_top").rotateRightFacingSymbol("right").labelPort("left1",["2"]).labelPort("right1",["1"]).changeTextAnchor("{REF}","middle_bottom").build(),Kfe={paths:{"path27-5":{type:"path",points:[{x:.4511331000000005,y:.017283050000003186},{x:.001333100000000531,y:.017283050000003186}],color:"primary",fill:!1},"path28-5":{type:"path",points:[{x:-.08560379999999945,y:.017283050000003186},{x:-.5353954999999995,y:.017283050000003186}],color:"primary",fill:!1},"path30-7":{type:"path",points:[{x:-.0024798999999995353,y:.28420285000000334},{x:-.0024798999999995353,y:-.247479349999999}],color:"primary",fill:!1},path8704:{type:"path",points:[{x:-.1433630999999993,y:-.24400714999999806},{x:-.1433630999999993,y:-.24400714999999806},{x:-.14262848833929928,y:-.24277205092349807},{x:-.1418975396743993,y:-.2415360290679981},{x:-.14117026348109932,y:-.24029908349449816},{x:-.14044666923519933,y:-.23906121326399818},{x:-.13972676641249931,y:-.2378224174374982},{x:-.1390105644887993,y:-.23658269507599822},{x:-.13829807293989932,y:-.2353420452404983},{x:-.13758930124159935,y:-.23410046699199832},{x:-.13688425886969938,y:-.23285795939149836},{x:-.13618295529999938,y:-.23161452149999842},{x:-.13548540000829937,y:-.23037015237849842},{x:-.13479160247039934,y:-.22912485108799843},{x:-.13410157216209936,y:-.22787861668949844},{x:-.1334153185591994,y:-.22663144824399842},{x:-.13273285113749936,y:-.22538334481249844},{x:-.13205417937279937,y:-.22413430545599844},{x:-.1313793127408994,y:-.2228843292354985},{x:-.1307082607175994,y:-.22163341521199847},{x:-.13004103277869938,y:-.2203815624464985},{x:-.1293776383999994,y:-.21912876999999853},{x:-.12871808705729942,y:-.21787503693349855},{x:-.12806238822639943,y:-.21662036230799855},{x:-.12741055138309942,y:-.21536474518449858},{x:-.12676258600319942,y:-.21410818462399858},{x:-.12611850156249946,y:-.21285067968749863},{x:-.12547830753679945,y:-.21159222943599865},{x:-.12484201340189946,y:-.21033283293049862},{x:-.12420962863359947,y:-.20907248923199864},{x:-.12358116270769948,y:-.20781119740149864},{x:-.12295662509999947,y:-.20654895649999866},{x:-.12233602528629947,y:-.20528576558849868},{x:-.12171937274239948,y:-.20402162372799865},{x:-.12110667694409948,y:-.20275652997949864},{x:-.12049794736719947,y:-.2014904834039986},{x:-.11989319348749948,y:-.20022348306249865},{x:-.11929242478079949,y:-.19895552801599864},{x:-.11869565072289952,y:-.19768661732549864},{x:-.11810288078959952,y:-.19641675005199866},{x:-.11751412445669952,y:-.19514592525649863},{x:-.1169293911999995,y:-.1938741419999986},{x:-.11634869049529953,y:-.19260139934349865},{x:-.11577203181839951,y:-.1913276963479986},{x:-.11519942464509951,y:-.1900530320744986},{x:-.11463087845119951,y:-.18877740558399858},{x:-.11406640271249952,y:-.1875008159374986},{x:-.11350600690479953,y:-.18622326219599858},{x:-.11294970050389953,y:-.18494474342049858},{x:-.11239749298559953,y:-.1836652586719986},{x:-.11184939382569953,y:-.18238480701149856},{x:-.11130541249999952,y:-.18110338749999852},{x:-.11076555848429954,y:-.17982099919849853},{x:-.11022984125439952,y:-.1785376411679985},{x:-.10969827028609953,y:-.1772533124694985},{x:-.10917085505519954,y:-.17596801216399852},{x:-.10864760503749954,y:-.17468173931249847},{x:-.10812852970879953,y:-.17339449297599843},{x:-.10761363854489954,y:-.17210627221549843},{x:-.10710294102159955,y:-.17081707609199845},{x:-.10659644661469955,y:-.16952690366649845},{x:-.10609416479999954,y:-.1682357539999984},{x:-.10559610505329955,y:-.1669436261534984},{x:-.10510227685039954,y:-.1656505191879984},{x:-.10461268966709955,y:-.16435643216449838},{x:-.10412735297919956,y:-.16306136414399838},{x:-.10364627626249956,y:-.16176531418749837},{x:-.10316946899279957,y:-.16046828135599833},{x:-.10269694064589956,y:-.15917026471049833},{x:-.10222870069759955,y:-.1578712633119983},{x:-.10176475862369955,y:-.1565712762214983},{x:-.10130512389999956,y:-.1552703024999983},{x:-.10084980600229956,y:-.15396834120849828},{x:-.10039881440639958,y:-.15266539140799829},{x:-.09995215858809957,y:-.15136145215949826},{x:-.09950984802319957,y:-.15005652252399826},{x:-.09907189218749957,y:-.14875060156249825},{x:-.09863830055679956,y:-.14744368833599825},{x:-.09820908260689958,y:-.14613578190549825},{x:-.09778424781359957,y:-.14482688133199823},{x:-.09736380565269957,y:-.1435169856764982},{x:-.09694776559999957,y:-.1422060939999982},{x:-.09653613713129958,y:-.1408942053634982},{x:-.09612892972239956,y:-.13958131882799818},{x:-.09572615284909958,y:-.13826743345449818},{x:-.09532781598719958,y:-.13695254830399817},{x:-.09493392861249958,y:-.13563666243749817},{x:-.09454450020079957,y:-.13431977491599817},{x:-.09415954022789956,y:-.13300188480049818},{x:-.09377905816959958,y:-.13168299115199816},{x:-.09340306350169958,y:-.13036309303149818},{x:-.09303156569999958,y:-.12904218949999818},{x:-.09266457424029959,y:-.12772027961849816},{x:-.09230209859839958,y:-.12639736244799815},{x:-.09194414825009957,y:-.12507343704949817},{x:-.09159073267119958,y:-.12374850248399819},{x:-.09124186133749958,y:-.12242255781249818},{x:-.09089754372479958,y:-.12109560209599818},{x:-.09055778930889957,y:-.11976763439549819},{x:-.09022260756559956,y:-.11843865377199818},{x:-.08989200797069956,y:-.11710865928649819},{x:-.08956599999999959,y:-.11577764999999829},{x:-.08956599999999959,y:-.11577764999999829},{x:-.08916166532269958,y:-.1141015840276983},{x:-.08876332646159957,y:-.11242441110159831},{x:-.08837097017289958,y:-.11074614170789834},{x:-.08798458321279957,y:-.10906678633279836},{x:-.08760415233749957,y:-.10738635546249836},{x:-.08722966430319957,y:-.10570485958319836},{x:-.08686110586609956,y:-.10402230918109837},{x:-.08649846378239957,y:-.10233871474239843},{x:-.0861417248082996,y:-.10065408675329846},{x:-.08579087569999959,y:-.09896843569999846},{x:-.08544590321369959,y:-.09728177206869845},{x:-.08510679410559958,y:-.09559410634559845},{x:-.08477353513189957,y:-.09390544901689848},{x:-.08444611304879956,y:-.09221581056879849},{x:-.08412451461249956,y:-.0905252014874985},{x:-.08380872657919955,y:-.0888336322591985},{x:-.08349873570509957,y:-.08714111337009853},{x:-.08319452874639957,y:-.08544765530639854},{x:-.08289609245929955,y:-.08375326855429854},{x:-.08260341359999955,y:-.08205796359999856},{x:-.08231647892469955,y:-.08036175092969856},{x:-.08203527518959956,y:-.07866464102959857},{x:-.08175978915089956,y:-.07696664438589859},{x:-.08149000756479956,y:-.07526777148479862},{x:-.08122591718749958,y:-.07356803281249863},{x:-.08096750477519957,y:-.07186743885519864},{x:-.08071475708409956,y:-.07016600009909864},{x:-.08046766087039958,y:-.06846372703039866},{x:-.08022620289029957,y:-.06676063013529866},{x:-.07999036989999955,y:-.06505671989999867},{x:-.07976014865569958,y:-.06335200681069868},{x:-.07953552591359955,y:-.061646501353598705},{x:-.07931648842989956,y:-.0599402140148987},{x:-.07910302296079955,y:-.0582331552807987},{x:-.07889511626249955,y:-.05652533563749871},{x:-.07869275509119955,y:-.05481676557119872},{x:-.07849592620309954,y:-.053107455568098726},{x:-.07830461635439954,y:-.05139741611439873},{x:-.07811881230129955,y:-.049686657696298736},{x:-.07793850079999953,y:-.04797519079999873},{x:-.07776366860669955,y:-.04626302591169874},{x:-.07759430247759955,y:-.04455017351759874},{x:-.07743038916889955,y:-.042836644103898744},{x:-.07727191543679954,y:-.04112244815679875},{x:-.07711886803749955,y:-.039407596162498754},{x:-.07697123372719955,y:-.03769209860719875},{x:-.07682899926209953,y:-.035975965977098755},{x:-.07669215139839955,y:-.03425920875839876},{x:-.07656067689229953,y:-.032541837437298764},{x:-.07643456249999953,y:-.03082386249999876},{x:-.07631379497769952,y:-.029105294432698766},{x:-.07619836108159952,y:-.02738614372159877},{x:-.07608824756789952,y:-.02566642085289876},{x:-.07598344119279953,y:-.023946136312798766},{x:-.07588392871249951,y:-.02222530058749876},{x:-.0757896968831995,y:-.020503924163198756},{x:-.07570073246109951,y:-.01878201752609876},{x:-.07561702220239952,y:-.017059591162398753},{x:-.07553855286329951,y:-.015336655558298754},{x:-.07546531119999951,y:-.01361322119999875},{x:-.07539728396869952,y:-.011889298573698748},{x:-.07533445792559951,y:-.010164898165598747},{x:-.07527681982689952,y:-.008440030461898743},{x:-.07522435642879952,y:-.006714705948798734},{x:-.07517705448749952,y:-.004988935112498731},{x:-.07513490075919951,y:-.0032627284391987255},{x:-.07509788200009951,y:-.0015360964150987165},{x:-.07506598496639952,y:.0001909504736012889},{x:-.0750391964142995,y:.0019184017407012956},{x:-.07501750309999951,y:.003646246900001303},{x:-.07500089177969951,y:.00537447546530131},{x:-.07498934920959952,y:.00710307695040132},{x:-.0749828621458995,y:.00883204086910133},{x:-.0749814173447995,y:.010561356735201338},{x:-.07498500156249951,y:.012291014062501347},{x:-.0749936015551995,y:.014021002364801359},{x:-.07500720407909953,y:.015751311155901372},{x:-.07502579589039951,y:.017481929949601384},{x:-.0750493637452995,y:.01921284825970139},{x:-.07507789439999951,y:.0209440556000014},{x:-.0751113746106995,y:.022675541484301412},{x:-.0751497911335995,y:.024407295426401427},{x:-.07519313072489951,y:.02613930694010145},{x:-.07524138014079951,y:.027871565539201462},{x:-.07529452613749951,y:.029604060737501478},{x:-.07535255547119951,y:.031336782048801484},{x:-.0754154548980995,y:.0330697189869015},{x:-.07548321117439952,y:.03480286106560152},{x:-.07555581105629952,y:.03653619779870154},{x:-.07563324129999952,y:.038269718700001565},{x:-.07571548866169951,y:.04000341328330158},{x:-.07580253989759951,y:.04173727106240159},{x:-.07589438176389952,y:.043471281551101616},{x:-.07599100101679952,y:.04520543426320164},{x:-.07609238441249952,y:.04693971871250166},{x:-.07619851870719953,y:.048674124412801674},{x:-.07630939065709953,y:.0504086408779017},{x:-.07642498701839952,y:.05214325762160172},{x:-.07654529454729952,y:.05387796415770175},{x:-.07667029999999952,y:.055612750000001654},{x:-.07667029999999952,y:.055612750000001654},{x:-.07680210846969952,y:.05708314936460168},{x:-.07693595411759954,y:.05855396299680169},{x:-.07707186730189955,y:.06002517220420173},{x:-.07720987838079954,y:.06149675829440175},{x:-.07735001771249954,y:.06296870257500178},{x:-.07749231565519954,y:.06444098635360178},{x:-.07763680256709955,y:.0659135909378018},{x:-.07778350880639956,y:.06738649763520185},{x:-.07793246473129956,y:.06885968775340187},{x:-.07808370069999958,y:.07033314260000188},{x:-.07823724707069958,y:.07180684348260188},{x:-.07839313420159956,y:.07328077170880191},{x:-.07855139245089958,y:.07475490858620194},{x:-.07871205217679958,y:.07622923542240194},{x:-.07887514373749958,y:.07770373352500196},{x:-.07904069749119959,y:.07917838420160196},{x:-.07920874379609959,y:.080653168759802},{x:-.07937931301039959,y:.082128068507202},{x:-.07955243549229958,y:.08360306475140203},{x:-.0797281415999996,y:.085078138800002},{x:-.0799064616916996,y:.08655327196060203},{x:-.08008742612559962,y:.08802844554080204},{x:-.08027106525989962,y:.08950364084820207},{x:-.08045740945279962,y:.09097883919040207},{x:-.08064648906249965,y:.0924540218750021},{x:-.08083833444719964,y:.0939291702096021},{x:-.08103297596509963,y:.09540426550180209},{x:-.08123044397439966,y:.09687928905920212},{x:-.08143076883329967,y:.09835422218940212},{x:-.08163398089999965,y:.09982904620000212},{x:-.08184011053269966,y:.10130374239860213},{x:-.08204918808959966,y:.10277829209280215},{x:-.08226124392889968,y:.10425267659020215},{x:-.08247630840879966,y:.10572687719840214},{x:-.08269441188749967,y:.10720087522500214},{x:-.08291558472319968,y:.10867465197760214},{x:-.0831398572740997,y:.11014818876380215},{x:-.08336725989839969,y:.11162146689120216},{x:-.0835978229542997,y:.11309446766740217},{x:-.0838315767999997,y:.11456717240000215},{x:-.08406855179369971,y:.11603956239660215},{x:-.0843087782935997,y:.11751161896480215},{x:-.08455228665789971,y:.11898332341220215},{x:-.0847991072447997,y:.12045465704640215},{x:-.08504927041249971,y:.12192560117500215},{x:-.0853028065191997,y:.12339613710560214},{x:-.08555974592309973,y:.12486624614580213},{x:-.08582011898239973,y:.12633590960320215},{x:-.08608395605529973,y:.12780510878540213},{x:-.08635128749999971,y:.1292738250000021},{x:-.08662214367469973,y:.1307420395546021},{x:-.08689655493759973,y:.1322097337568021},{x:-.08717455164689972,y:.13367688891420207},{x:-.08745616416079972,y:.13514348633440207},{x:-.08774142283749972,y:.13660950732500204},{x:-.08803035803519974,y:.13807493319360203},{x:-.08832300011209973,y:.13953974524780205},{x:-.08861937942639975,y:.14100392479520202},{x:-.08891952633629974,y:.14246745314340203},{x:-.08922347119999974,y:.14393031160000203},{x:-.08953124437569973,y:.145392481472602},{x:-.08984287622159975,y:.14685394406880198},{x:-.09015839709589976,y:.148314680696202},{x:-.09047783735679976,y:.149774672662402},{x:-.09080122736249976,y:.15123390127500197},{x:-.09112859747119977,y:.15269234784160193},{x:-.09145997804109976,y:.15414999366980195},{x:-.09179539943039977,y:.15560682006720195},{x:-.09213489199729977,y:.1570628083414019},{x:-.09247848609999976,y:.1585179398000019},{x:-.09282621209669975,y:.1599721957506019},{x:-.09317810034559978,y:.1614255575008019},{x:-.09353418120489977,y:.16287800635820185},{x:-.09389448503279976,y:.16432952363040182},{x:-.09425904218749978,y:.16578009062500182},{x:-.09462788302719977,y:.1672296886496018},{x:-.09500103791009978,y:.1686782990118018},{x:-.09537853719439979,y:.17012590301920177},{x:-.09576041123829979,y:.17157248197940175},{x:-.09614669039999979,y:.17301801720000176},{x:-.09653740503769978,y:.17446248998860173},{x:-.0969325855095998,y:.17590588165280172},{x:-.09733226217389979,y:.17734817350020168},{x:-.09773646538879979,y:.1787893468384017},{x:-.0981452255124998,y:.18022938297500168},{x:-.0985585729031998,y:.18166826321760166},{x:-.09897653791909979,y:.1831059688738016},{x:-.09939915091839979,y:.1845424812512016},{x:-.0998264422592998,y:.1859777816574016},{x:-.1002584422999998,y:.1874118514000016},{x:-.1006951813986998,y:.18884467178660155},{x:-.1011366899135998,y:.19027622412480152},{x:-.10158299820289979,y:.19170648972220153},{x:-.1020341366247998,y:.1931354498864015},{x:-.1024901355374998,y:.1945630859250015},{x:-.1029510252991998,y:.19598937914560147},{x:-.10341683626809982,y:.19741431085580147},{x:-.1038875988023998,y:.19883786236320142},{x:-.1043633432602998,y:.20026001497540138},{x:-.10484409999999977,y:.2016807500000013},{x:-.10484409999999977,y:.2016807500000013},{x:-.10512829034499978,y:.20251255364660126},{x:-.10541452131999979,y:.2033439212528012},{x:-.10570279283499981,y:.2041748478182012},{x:-.10599310479999982,y:.20500532834240115},{x:-.10628545712499982,y:.20583535782500112},{x:-.10657984971999983,y:.20666493126560112},{x:-.10687628249499985,y:.2074940436638011},{x:-.10717475535999986,y:.20832269001920106},{x:-.10747526822499989,y:.2091508653314011},{x:-.1077778209999999,y:.20997856460000103},{x:-.10808241359499988,y:.21080578282460102},{x:-.10838904591999989,y:.21163251500480096},{x:-.10869771788499989,y:.212458756140201},{x:-.10900842939999988,y:.21328450123040094},{x:-.10932118037499987,y:.21410974527500093},{x:-.10963597071999989,y:.21493448327360093},{x:-.10995280034499992,y:.21575871022580093},{x:-.1102716691599999,y:.2165824211312009},{x:-.1105925770749999,y:.21740561098940095},{x:-.11091552399999992,y:.21822827480000093},{x:-.1112405098449999,y:.2190504075626009},{x:-.11156753451999993,y:.21987200427680093},{x:-.11189659793499994,y:.22069305994220095},{x:-.11222769999999993,y:.22151356955840096},{x:-.11256084062499995,y:.222333528125001},{x:-.11289601971999996,y:.223152930641601},{x:-.11323323719499996,y:.223971772107801},{x:-.11357249295999995,y:.22479004752320103},{x:-.11391378692499997,y:.22560775188740104},{x:-.11425711899999995,y:.22642488020000104},{x:-.11460248909499995,y:.22724142746060105},{x:-.11494989711999995,y:.2280573886688011},{x:-.11529934298499996,y:.22887275882420108},{x:-.11565082659999995,y:.22968753292640107},{x:-.11600434787499994,y:.23050170597500114},{x:-.11635990671999996,y:.23131527296960114},{x:-.11671750304499996,y:.23212822890980117},{x:-.11707713675999995,y:.23294056879520117},{x:-.11743880777499995,y:.2337522876254012},{x:-.11780251599999993,y:.2345633804000012},{x:-.11816826134499994,y:.23537384211860124},{x:-.11853604371999993,y:.23618366778080127},{x:-.11890586303499992,y:.2369928523862013},{x:-.11927771919999992,y:.23780139093440128},{x:-.11965161212499995,y:.23860927842500138},{x:-.12002754171999992,y:.23941650985760138},{x:-.12040550789499993,y:.24022308023180142},{x:-.12078551055999992,y:.24102898454720142},{x:-.12116754962499991,y:.24183421780340145},{x:-.12155162499999989,y:.24263877500000142},{x:-.1219377365949999,y:.2434426511366015},{x:-.1223258843199999,y:.2442458412128015},{x:-.1227160680849999,y:.24504834022820154},{x:-.12310828779999988,y:.24585014318240156},{x:-.12350254337499987,y:.24665124507500158},{x:-.12389883471999988,y:.24745164090560162},{x:-.12429716174499987,y:.24825132567380165},{x:-.12469752435999987,y:.2490502943792017},{x:-.12509992247499988,y:.2498485420214017},{x:-.12550435599999984,y:.25064606360000175},{x:-.12591082484499985,y:.25144285411460177},{x:-.12631932891999986,y:.2522389085648018},{x:-.12672986813499987,y:.25303422195020187},{x:-.12714244239999986,y:.25382878927040187},{x:-.12755705162499986,y:.25462260552500193},{x:-.12797369571999986,y:.25541566571360197},{x:-.12839237459499983,y:.256207964835802},{x:-.12881308815999984,y:.256999497891202},{x:-.12923583632499985,y:.2577902598794021},{x:-.12966061899999984,y:.2585802458000021},{x:-.13008743609499984,y:.25936945065260214},{x:-.13051628751999986,y:.2601578694368022},{x:-.13094717318499982,y:.26094549715220217},{x:-.13138009299999984,y:.26173232879840225},{x:-.13181504687499984,y:.2625183593750023},{x:-.13225203471999986,y:.2633035838816023},{x:-.13269105644499984,y:.26408799731780236},{x:-.13313211195999985,y:.26487159468320237},{x:-.13357520117499982,y:.2656543709774024},{x:-.13402032399999986,y:.26643632120000244},{x:-.13446748034499983,y:.26721744035060246},{x:-.13491667011999983,y:.26799772342880246},{x:-.13536789323499984,y:.2687771654342025},{x:-.13582114959999986,y:.2695557613664026},{x:-.13627643912499987,y:.27033350622500263},{x:-.13673376171999985,y:.27111039500960266},{x:-.13719311729499983,y:.2718864227198026},{x:-.13765450575999985,y:.2726615843552027},{x:-.13811792702499986,y:.2734358749154028},{x:-.1385833809999999,y:.2742092894000028},{x:-.13905086759499988,y:.2749818228086028},{x:-.1395203867199999,y:.2757534701408028},{x:-.1399919382849999,y:.27652422639620283},{x:-.14046552219999991,y:.27729408657440285},{x:-.1409411383749999,y:.2780630456750029},{x:-.1414187867199999,y:.2788310986976029},{x:-.14189846714499993,y:.27959824064180294},{x:-.14238017955999993,y:.2803644665072029},{x:-.1428639238749999,y:.28112977129340294},{x:-.1433496999999999,y:.28189415000000295}],color:"primary",fill:!1},"rect1577-4":{type:"path",points:[{x:.26345180000000035,y:.2455934500000012},{x:.12298460000000011,y:.2455934500000012},{x:.12298460000000011,y:.2505664500000009},{x:.26345180000000035,y:.2505664500000009}],color:"primary",fill:!0},"rect1577-4-7":{type:"path",points:[{x:.19576130000000003,y:.31834525000000014},{x:.19576130000000003,y:.17787805000000034},{x:.1907882999999999,y:.17787805000000034},{x:.1907882999999999,y:.31834525000000014}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.012864499999999612,y:.4200086500000033},bottom1:{type:"text",text:"{VAL}",x:-.003850499999999979,y:-.42000864999999976}},refblocks:{left1:{x:-.5353954999999995,y:.016380250000000984},right1:{x:.4511331000000005,y:.016926950000001995}},bounds:{minX:-.579367741,maxX:.579367741,minY:-.42000864999999976,maxY:.4200086500000033,width:1.158735482,height:.8400173000000031,centerX:0,centerY:17763568394002505e-31},circles:{}},{paths:Ovn,texts:UOn,bounds:_j,refblocks:JZe,circles:zvn}=Kfe,Uvn=fd({primitives:[...Object.values(Ovn),...Object.values(zvn),{type:"text",text:"{REF}",x:-.2,y:.2094553499999995},{type:"text",text:"{VAL}",x:.3,y:.2094553499999995}],ports:[{...JZe.left1,labels:["1"]},{...JZe.right1,labels:["2"]}],size:{width:_j.width,height:_j.height},center:{x:_j.centerX,y:_j.centerY}}).changeTextAnchor("{VAL}","top_left").rotateRightFacingSymbol("down").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","bottom_left").build(),eQe=fd(Kfe).changeTextAnchor("{VAL}","middle_top").rotateRightFacingSymbol("right").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),kvn=fd(eQe).changeTextAnchor("{VAL}","middle_top").rotateRightFacingSymbol("left").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_top").build(),{paths:Ivn,texts:kOn,bounds:xj,refblocks:tQe,circles:Fvn}=Kfe,Bvn=fd({primitives:[...Object.values(Ivn),...Object.values(Fvn),{type:"text",text:"{REF}",x:.1,y:-.2094553499999995},{type:"text",text:"{VAL}",x:-.2,y:-.2094553499999995}],ports:[{...tQe.left1,labels:["1"]},{...tQe.right1,labels:["2"]}],size:{width:xj.width,height:xj.height},center:{x:xj.centerX,y:xj.centerY}}).changeTextAnchor("{VAL}","top_left").rotateRightFacingSymbol("up").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","bottom_left").build(),jvn=fd(vj).rotateRightFacingSymbol("right").changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),{paths:Hvn,texts:IOn,bounds:bj,refblocks:nQe,circles:Vvn}=vj,$vn=fd({primitives:[...Object.values(Hvn),...Object.values(Vvn),{type:"text",text:"{REF}",x:.2,y:-.2094553499999995},{type:"text",text:"{VAL}",x:-.2,y:-.2094553499999995}],ports:[{...nQe.left1,labels:["1"]},{...nQe.right1,labels:["2"]}],size:{width:bj.width,height:bj.height},center:{x:bj.centerX,y:bj.centerY}}).changeTextAnchor("{VAL}","top_left").rotateRightFacingSymbol("up").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","bottom_left").build(),rQe={paths:{path11:{type:"path",points:[{x:-.5274831500000005,y:.02897970000000072},{x:-.30105415000000013,y:.02897970000000072}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2932119499999999,y:.02897970000000072},{x:.5339524499999997,y:.02897970000000072}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.2932119499999999,y:.2923763000000008},{x:.2932119499999999,y:-.23441689999999937}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.021208049999999812,y:.3692298999999999},bottom1:{type:"text",text:"{VAL}",x:-.00661455000000033,y:-.3692298999999999}},refblocks:{left1:{x:-.5413984499999998,y:.028126900000000177},right1:{x:.54139845,y:.029123299999999963}},bounds:{minX:-.5695568909999997,maxX:.569556891,minY:-.3692298999999999,maxY:.3692298999999999,width:1.1391137819999997,height:.7384597999999998,centerX:11102230246251565e-32,centerY:0},circles:{path1:{type:"circle",x:-.0037626500000000895,y:.03610800000000025,radius:.28854213,color:"primary",fill:!1}}},Gvn=fd(rQe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),qvn=fd(rQe).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_right").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_left").build(),Yvn={paths:{path27:{type:"path",points:[{x:.52188525,y:-.010083950000000286},{x:.1314137500000001,y:-.010083950000000286}],color:"primary",fill:!1},path29:{type:"path",points:[{x:.12501034999999971,y:.25449935000000146},{x:.12501035000000016,y:-.2746672499999985}],color:"primary",fill:!1},"path29-2":{type:"path",points:[{x:.07157854999999946,y:.253778650000001},{x:.07157854999999991,y:-.27538794999999716}],color:"primary",fill:!1},path30:{type:"path",points:[{x:-.13957305000000053,y:.25449935000000146},{x:-.1395730500000001,y:-.2746672499999985}],color:"primary",fill:!1},"path29-5":{type:"path",points:[{x:-.08349325000000052,y:.25541165000000277},{x:-.08349325000000007,y:-.27375494999999894}],color:"primary",fill:!1},"path29-2-7":{type:"path",points:[{x:.07147894999999993,y:.2552525499999998},{x:-.0829032500000002,y:.2552525499999998}],color:"primary",fill:!1},"path29-2-7-6":{type:"path",points:[{x:.07107315000000014,y:-.27817384999999817},{x:-.08330905,y:-.27817384999999817}],color:"primary",fill:!1},path43:{type:"path",points:[{x:-.21327535000000042,y:.31803495000000304},{x:.19712464999999968,y:.31807695}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.003324649999999707,y:.694594949999999},{x:.003324649999999707,y:.3310069500000008},{x:.003324649999999707,y:.3209089500000015}],color:"primary",fill:!1},"path43-8":{type:"path",points:[{x:-.21327535000000042,y:.3180639499999991},{x:-.21327535000000042,y:.2498769499999991}],color:"primary",fill:!1},"path43-8-8":{type:"path",points:[{x:.19712464999999968,y:.31807695},{x:.19712464999999968,y:.24987695000000443}],color:"primary",fill:!1},"path43-9":{type:"path",points:[{x:.19226054999999942,y:-.3468980499999983},{x:-.21813945000000068,y:-.3469400500000006}],color:"primary",fill:!1},"path44-0-5":{type:"path",points:[{x:-.024339450000000262,y:-.7234580499999996},{x:-.024339450000000262,y:-.3598700499999996},{x:-.024339450000000262,y:-.34977205000000033}],color:"primary",fill:!1},"path43-8-1":{type:"path",points:[{x:.19226054999999942,y:-.3469270499999997},{x:.19226054999999942,y:-.2787400499999979}],color:"primary",fill:!1},"path43-8-8-9":{type:"path",points:[{x:-.21813955000000096,y:-.34694015},{x:-.21813955000000096,y:-.27874015000000085}],color:"primary",fill:!1},path28:{type:"path",points:[{x:-.14368304999999992,y:-.010083950000000286},{x:-.5364480500000002,y:-.010083950000000286}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"{REF}",x:-.38155925000000046,y:.09576035000000083},right1:{type:"text",text:"{VAL}",x:.3369813499999994,y:-.17868404999999754}},refblocks:{top1:{x:.0032092499999998303,y:.7114137500000002},bottom1:{x:-.02355145000000025,y:-.7114137500000002},left1:{x:-.5415391500000004,y:-.00607074999999746},right1:{x:.5415391499999997,y:-.012221549999997805}},bounds:{minX:-.5696975910000004,maxX:.5696975909999997,minY:-.7395721910000002,maxY:.7395721910000002,width:1.1393951820000001,height:1.4791443820000003,centerX:-33306690738754696e-32,centerY:0},circles:{}},iQe=fd(Yvn).labelPort("top1",["2","gnd1"]).labelPort("bottom1",["4","gnd2"]).labelPort("left1",["1"]).labelPort("right1",["3"]).changeTextAnchor("{REF}","bottom_right").changeTextAnchor("{VAL}","top_left").build(),Xvn=fd(iQe).rotateRightFacingSymbol("up").changeTextAnchor("{REF}","top_right").changeTextAnchor("{VAL}","bottom_left").build(),aQe={paths:{path27:{type:"path",points:[{x:.5229378000000002,y:-.012283099999995883},{x:.13246630000000037,y:-.012283099999995883}],color:"primary",fill:!1},path28:{type:"path",points:[{x:-.14263049999999966,y:-.012283099999995883},{x:-.5353954999999999,y:-.012283099999995883}],color:"primary",fill:!1},path29:{type:"path",points:[{x:.12606289999999998,y:-.2768663999999976},{x:.12606290000000042,y:.2523002000000023}],color:"primary",fill:!1},"path29-2":{type:"path",points:[{x:.07263109999999973,y:-.27614569999999716},{x:.07263110000000017,y:.253020900000001}],color:"primary",fill:!1},path30:{type:"path",points:[{x:-.13852050000000027,y:-.2768663999999976},{x:-.13852049999999982,y:.2523002000000023}],color:"primary",fill:!1},"path29-5":{type:"path",points:[{x:-.08244070000000026,y:-.27777869999999893},{x:-.08244069999999981,y:.2513879000000028}],color:"primary",fill:!1},"path29-2-7":{type:"path",points:[{x:.07253150000000019,y:-.27761959999999597},{x:-.08185069999999994,y:-.27761959999999597}],color:"primary",fill:!1},"path29-2-7-6":{type:"path",points:[{x:.0721257000000004,y:.255806800000002},{x:-.08225649999999973,y:.255806800000002}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.012864500000000056,y:-.4150086999999978},bottom1:{type:"text",text:"{VAL}",x:-.003850500000000423,y:.4250087000000011}},refblocks:{left1:{x:-.5512093000000002,y:-.011380399999998403},right1:{x:.5512093,y:-.011926899999997076}},bounds:{minX:-.5793677410000002,maxX:.579367741,minY:-.5150086999999978,maxY:.4250087000000011,width:1.1587354820000002,height:1,centerX:-11102230246251565e-32,centerY:-.04499999999999832},circles:{}},Wvn=fd(aQe).changeTextAnchor("{VAL}","middle_bottom").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_top").build(),Zvn=fd(aQe).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_left").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_right").build(),Jfe={paths:{path11:{type:"path",points:[{x:1.9942486145,y:-1.6422072295000003},{x:2.0984258145,y:-1.6428272295000004}],color:"primary",fill:!1},"path40-0":{type:"path",points:[{x:2.1030704145000003,y:-1.4809259295000001},{x:2.1026604145,y:-1.8041042295}],color:"primary",fill:!1},"path40-0-5":{type:"path",points:[{x:2.2218770145,y:-1.4969414295},{x:2.1063461145,y:-1.5757354295000003}],color:"primary",fill:!1},"path40-0-5-0":{type:"path",points:[{x:2.2286252145,y:-1.7819395295000002},{x:2.1136540145000002,y:-1.7033263295}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:2.2273251145,y:-1.4948802295},{x:2.2284101145,y:-1.1518438295000002}],color:"primary",fill:!1},"path12-1-5-3":{type:"path",points:[{x:2.2276017145,y:-1.9567437295},{x:2.2281317145,y:-1.7888340295000003}],color:"primary",fill:!1},"arrow-2":{type:"path",points:[{x:2.1704797145,y:-1.6991380295000003},{x:2.1275815145,y:-1.7604028295000003},{x:2.1917009144999997,y:-1.7601828295000004},{x:2.1704797145,y:-1.6991380295000003}],color:"primary",fill:!0},path1:{type:"path",points:[{x:1.5978828145000001,y:-1.5020091295000002},{x:1.8597023145000002,y:-1.5035561295000002}],color:"primary",fill:!1},path2:{type:"path",points:[{x:1.8686937145000002,y:-1.3411936295000002},{x:1.8682837145,y:-1.6643719295000001}],color:"primary",fill:!1},path3:{type:"path",points:[{x:1.9875004145000004,y:-1.3572092295000002},{x:1.8719693145,y:-1.4360031295000002}],color:"primary",fill:!1},path4:{type:"path",points:[{x:1.9942486145,y:-1.6422072295000003},{x:1.8792773145000001,y:-1.5635940295000004}],color:"primary",fill:!1},"arrow-1":{type:"path",points:[{x:1.9361028144999999,y:-1.5594057295000003},{x:1.8932048145,y:-1.6206705295000003},{x:1.9573242144999998,y:-1.6204505295000005},{x:1.9361028144999999,y:-1.5594057295000003}],color:"primary",fill:!0},path9:{type:"path",points:[{x:1.9943087144999998,y:-1.3539494295000003},{x:2.2269582145,y:-1.3556534295000002}],color:"primary",fill:!1}},texts:{bottom1:{type:"text",text:"{VAL}",x:1.8805772145,y:-1.9423669295000003},right1:{type:"text",text:"{REF}",x:1.8845380145,y:-1.1387692295000003}},refblocks:{right1:{x:2.2278617145000004,y:-1.9651412295000004},right2:{x:1.5977076145000002,y:-1.5027827295000002},right3:{x:2.2278680145,y:-1.1403971295000002}},bounds:{minX:1.5810976555000003,maxX:2.3461148445,minY:-1.9817511885000003,maxY:-1.1237871705000002,width:.7650171889999999,height:.8579640180000001,centerX:1.9636062500000002,centerY:-1.5527691795000003},circles:{"path1-0":{type:"circle",x:2.0463372145000003,y:-1.5363384295000002,radius:.29977763,color:"primary",fill:!1}}},Qvn=fd(Jfe).changeTextAnchor("{VAL}","middle_top").labelPort("right2",["1"]).labelPort("right3",["2"]).labelPort("right1",["3"]).changeTextAnchor("{REF}","middle_bottom").build();Jfe.bounds.width+=.3;var Kvn=fd(Jfe).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_right").labelPort("right2",["1"]).labelPort("right3",["2"]).labelPort("right1",["3"]).changeTextAnchor("{REF}","middle_left").build(),Jvn={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1},path2:{type:"path",points:[{x:-.12447409999999959,y:.0852510999999998},{x:.11626639999999999,y:.0852510999999998}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"A",x:0,y:-.1}},refblocks:{left1:{x:-.5446330999999993,y:0},right1:{x:.5381638000000004,y:0}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:-11102230246251565e-32},circles:{path1:{type:"circle",x:0,y:0,radius:.28854213,color:"primary",fill:!1}}},{paths:egn,texts:tgn,bounds:Sj,refblocks:oQe,circles:ngn}=Jvn,ede=Km({primitives:[...Object.values(egn),...Object.values(ngn),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...tgn.left1,x:0,y:.01,anchor:"center",fontSize:.3}],ports:[{...oQe.left1,labels:["1"]},{...oQe.right1,labels:["2"]}],size:{width:Sj.width,height:Sj.height},center:{x:Sj.centerX,y:Sj.centerY}});function rgn(n){return typeof n=="object"&&n!==null&&n.type==="path"&&Array.isArray(n.points)&&typeof n.color=="string"}function ign(n){return typeof n=="object"&&n!==null&&n.type==="text"&&typeof n.text=="string"&&typeof n.x=="number"&&typeof n.y=="number"&&typeof n.anchor=="string"}var{6:tde,2:nde,...agn}=ede.primitives;rgn(nde)&&nde.points.map(n=>{n.y+=.05}),ign(tde)&&(tde.y+=.025);function ogn(n){return typeof n=="object"}var sQe=Pl({...ede,primitives:Object.values(agn).filter(ogn)}),sgn={...sQe,primitives:[...sQe.primitives,tde,nde]},lgn={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1},"path11-5-5":{type:"path",points:[{x:.09442299999999992,y:-.13438304999999984},{x:-.004364400000000712,y:.05710404999999996},{x:-.1110211000000012,y:-.13438304999999984}],color:"primary",fill:!1},path2:{type:"path",points:[{x:-.12447409999999959,y:.13438304999999984},{x:.11626639999999999,y:.13438304999999984}],color:"primary",fill:!1}},refblocks:{left1:{x:-.5446330999999993,y:0},right1:{x:.5381638000000004,y:0}},bounds:{width:1.0614356000000003,height:1,centerX:0,centerY:0},circles:{path1:{type:"circle",x:0,y:0,radius:.28854213,color:"primary",fill:!1}}},{paths:cgn,bounds:wj,refblocks:lQe,circles:ugn}=lgn,rde=Km({primitives:[...Object.values(cgn),...Object.values(ugn),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"}],ports:[{...lQe.left1,labels:["1"]},{...lQe.right1,labels:["2"]}],size:{width:wj.width,height:wj.height},center:{x:wj.centerX,y:wj.centerY}}),{2:fgn,3:dgn,...pgn}=rde.primitives;function hgn(n){return typeof n=="object"}var cQe=Pl({...rde,primitives:Object.values(pgn).filter(hgn)}),mgn={...cQe,primitives:[...cQe.primitives,fgn,dgn]},ygn={paths:{path11:{type:"path",points:[{x:-.5176700499999997,y:.041745050000000505},{x:-.10888805000000024,y:.041745050000000505}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.1031184499999993,y:.041745050000000505},{x:.5246894499999994,y:.041745050000000505}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.09343985000000021,y:-.14620634999999882},{x:-.0930998500000002,y:.2583405500000009}],color:"primary",fill:!1},"path11-0-3":{type:"path",points:[{x:.08519034999999908,y:-.14503384999999902},{x:.08553034999999909,y:.2595130500000007}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.08315755000000014,y:.055934450000000524},{x:-.08415755000000047,y:-.14678124999999964},{x:.08653524999999984,y:-.05104664999999953},{x:-.08126175000000035,y:.05647715000000031}],color:"primary",fill:!0},"path11-0-9-0":{type:"path",points:[{x:.07661224999999927,y:.256654450000001},{x:.07761224999999983,y:.05393885000000109},{x:-.0930805500000007,y:.1496734500000012},{x:.07471644999999949,y:.25719715000000143}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.0316381500000007,y:.41683614999999996},bottom1:{type:"text",text:"{VAL}",x:-.03022294999999975,y:-.41683614999999996}},refblocks:{left1:{x:-.54139845,y:.04089205000000051},right1:{x:.5413984499999995,y:.04188845000000008}},bounds:{minX:-.569556891,maxX:.5695568909999995,minY:-.41683614999999996,maxY:.41683614999999996,width:1.1391137819999995,height:.8336722999999999,centerX:-2220446049250313e-31,centerY:0},circles:{path1:{type:"circle",x:-.0037626500000003116,y:.048873150000000365,radius:.28854213,color:"primary",fill:!1}}},uQe=fd(ygn).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),fQe=Pl(uQe),dQe=fQe.primitives.filter(n=>n.type==="text"),vgn=dQe.find(n=>n.text==="{REF}"),ggn=dQe.find(n=>n.text==="{VAL}");vgn.y=0,ggn.y=0;var _gn=fQe,xgn={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.04403629999999836},{x:-.1199943999999995,y:-.08825540000000132}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1199943999999995,y:.1763280000000016},{x:.14458890000000002,y:.04403629999999836}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1199943999999995,y:-.08825539999999776},{x:-.1199943999999995,y:.1763280000000016}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.14458890000000002,y:.1763280000000016},{x:.14458890000000002,y:-.08825539999999776}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219909999999956,y:.04403629999999836},{x:-.5168693999999996,y:.04403629999999836}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233797,y:.04395110000000102},{x:.14967160000000002,y:.04395110000000102}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.27384529999999785},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999999524,y:-.2738453000000014}},refblocks:{left1:{x:-.5191471000000001,y:.0449206999999987},right1:{x:.5191471000000001,y:.043896100000001326}},bounds:{minX:-.5473055410000001,maxX:.5473055410000001,minY:-.2738453000000014,maxY:.27384529999999785,width:1.0946110820000001,height:.5476905999999993,centerX:0,centerY:-17763568394002505e-31},circles:{}},Ej=fd(xgn).labelPort("left1",["1","pos"]).labelPort("right1",["2","neg"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),bgn=Pl(Ej,"down"),Sgn=Pl(Ej,"left"),wgn=Pl(Ej,"up"),Egn={paths:{path1:{type:"path",points:[{x:-.3543580999999998,y:.22373490000000018},{x:-.1279290999999998,y:.22373490000000018}],color:"primary",fill:!1},"path-1-2":{type:"path",points:[{x:-.07134165999999999,y:.215546000000001},{x:.1083980000000001,y:.16078}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.10434800000000011,y:.127178},{x:.345089,y:.127178}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.12008600000000014,y:.36383770000000015},{x:.360827,y:.36383770000000015}],color:"primary",fill:!1},path4:{type:"path",points:[{x:-.3543580999999998,y:-.17811849999999985},{x:-.1279290999999998,y:-.17811849999999985}],color:"primary",fill:!1},"path4-5":{type:"path",points:[{x:-.07134165999999999,y:-.1867987999999997},{x:.10434800000000011,y:-.2376754}],color:"primary",fill:!1},path5:{type:"path",points:[{x:.10434800000000011,y:-.2746754},{x:.345089,y:-.2746754}],color:"primary",fill:!1},path6:{type:"path",points:[{x:.12008600000000014,y:-.038015699999999875},{x:.360827,y:-.038015699999999875}],color:"primary",fill:!1},"path1-4-join":{type:"path",points:[{x:-.001896399999999815,y:-.19827304999999998},{x:-.001896399999999815,y:.190981}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.5644774000000002},bottom1:{type:"text",text:"{VAL}",x:0,y:-.4244773999999998}},refblocks:{left1:{x:-.3682734999999999,y:.22373490000000018},left2:{x:-.3682734999999999,y:-.17811849999999985},right1:{x:.36827350000000014,y:.36383770000000015},right2:{x:.36827350000000014,y:.12717810000000007},right3:{x:.36827350000000014,y:-.038015699999999875},right5:{x:.36827350000000014,y:-.2746754}},bounds:{minX:-.3964319409999999,maxX:.3964319410000001,minY:-.4744773999999998,maxY:.5644774000000002,width:1,height:1.0389548,centerX:-11102230246251565e-32,centerY:.045000000000000207},circles:{"circle-2":{type:"circle",x:.08200307499999998,y:.127178,radius:.023193523,color:"primary",fill:!1},"circle-5":{type:"circle",x:.08200307499999998,y:-.2745079499999997,radius:.023193523,color:"primary",fill:!1},"circle-3":{type:"circle",x:.08200307499999998,y:.369178,radius:.023193523,color:"primary",fill:!1},"circle-6":{type:"circle",x:.08200307499999998,y:-.03805079499999997,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.10003074999999978,y:.219178,radius:.023193523,color:"primary",fill:!1},"circle-4":{type:"circle",x:-.10003074999999978,y:-.18250794999999972,radius:.023193523,color:"primary",fill:!1}}},Tj=fd(Egn).labelPort("left1",["1"]).labelPort("right1",["3"]).labelPort("right2",["2"]).labelPort("right3",["6"]).labelPort("left2",["4"]).labelPort("right5",["5"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),ide=Pl(Tj,"down"),ade=ide.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),ode=ide.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");ade.anchor="middle_bottom",ode.anchor="middle_top",ade.x=0,ade.y+=.537,ode.y-=.5375,ode.x=0;var Tgn=ide,sde=Pl(Tj,"left"),lde=sde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),cde=sde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");lde.anchor="middle_bottom",cde.anchor="middle_top",lde.x=0,lde.y+=1,cde.y-=1,cde.x=0;var Mgn=sde,ude=Pl(Tj,"up"),fde=ude.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),dde=ude.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");fde.anchor="middle_bottom",dde.anchor="middle_top",fde.x=0,fde.y+=.537,dde.y-=.5375,dde.x=0;var Cgn=ude,Rgn={paths:{path1:{type:"path",points:[{x:-.3543580999999998,y:.22373490000000018},{x:-.1279290999999998,y:.22373490000000018}],color:"primary",fill:!1},"path-1-3":{type:"path",points:[{x:-.0741659999999987,y:.2290546000000001},{x:.1091012,y:.334}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.10434800000000011,y:.127178},{x:.345089,y:.127178}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.12008600000000014,y:.36383770000000015},{x:.360827,y:.36383770000000015}],color:"primary",fill:!1},path4:{type:"path",points:[{x:-.3543580999999998,y:-.17811849999999985},{x:-.1279290999999998,y:-.17811849999999985}],color:"primary",fill:!1},"path4-6":{type:"path",points:[{x:-.0741659999999987,y:-.1777987999999997},{x:.1091012,y:-.07370029999999998}],color:"primary",fill:!1},path5:{type:"path",points:[{x:.10434800000000011,y:-.2746754},{x:.345089,y:-.2746754}],color:"primary",fill:!1},path6:{type:"path",points:[{x:.12008600000000014,y:-.038015699999999875},{x:.360827,y:-.038015699999999875}],color:"primary",fill:!1},"path1-4-join":{type:"path",points:[{x:-.000896399999999815,y:-.12190304999999999},{x:-.000896399999999815,y:.2708100000000002}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.6144774000000003},bottom1:{type:"text",text:"{VAL}",x:0,y:-.5244773999999998}},refblocks:{left1:{x:-.3682734999999999,y:.22373490000000018},left2:{x:-.3682734999999999,y:-.17811849999999985},right1:{x:.36827350000000014,y:.36383770000000015},right2:{x:.36827350000000014,y:.12717810000000007},right3:{x:.36827350000000014,y:-.038015699999999875},right5:{x:.36827350000000014,y:-.2746754}},bounds:{minX:-.3964319409999999,maxX:.3964319410000001,minY:-.4744773999999998,maxY:.5644774000000002,width:1,height:1.0389548,centerX:-11102230246251565e-32,centerY:.045000000000000207},circles:{"circle-2":{type:"circle",x:.08200307499999998,y:.127178,radius:.023193523,color:"primary",fill:!1},"circle-5":{type:"circle",x:.08200307499999998,y:-.2745079499999997,radius:.023193523,color:"primary",fill:!1},"circle-3":{type:"circle",x:.08200307499999998,y:.369178,radius:.023193523,color:"primary",fill:!1},"circle-6":{type:"circle",x:.08200307499999998,y:-.03805079499999997,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.10003074999999978,y:.219178,radius:.023193523,color:"primary",fill:!1},"circle-4":{type:"circle",x:-.10003074999999978,y:-.18250794999999972,radius:.023193523,color:"primary",fill:!1}}},Mj=fd(Rgn).labelPort("left1",["1"]).labelPort("right1",["3"]).labelPort("right2",["2"]).labelPort("right3",["6"]).labelPort("left2",["4"]).labelPort("right5",["5"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),pde=Pl(Mj,"down"),hde=pde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),mde=pde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");hde.anchor="middle_bottom",mde.anchor="middle_top",hde.x=0,hde.y+=.565,mde.y-=.555,mde.x=0;var Agn=pde,yde=Pl(Mj,"left"),vde=yde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),gde=yde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");vde.anchor="middle_bottom",gde.anchor="middle_top",vde.x=0,vde.y+=1.09,gde.y-=1.09,gde.x=0;var Pgn=yde,_de=Pl(Mj,"up"),xde=_de.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),bde=_de.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");xde.anchor="middle_bottom",bde.anchor="middle_top",xde.x=0,xde.y+=.565,bde.y-=.555,bde.x=0;var Ngn=_de,Dgn={paths:{path11:{type:"path",points:[{x:-.3622268000000006,y:.06287995000000057},{x:-.1357978000000004,y:.06287995000000057}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.08700995000000007,y:.06634945000000092},{x:.11099564000000006,y:.1105995000000057}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.12795640000000064,y:.06287995000000057},{x:.36869780000000096,y:.06287995000000057}],color:"primary",fill:!1},"path11-5":{type:"path",points:[{x:-.3622270999999999,y:-.16866424999999907},{x:-.1357980999999997,y:-.16866424999999907}],color:"primary",fill:!1},"path11-0-3":{type:"path",points:[{x:-.08700995000000007,y:-.17019474999999962},{x:.11099564000000006,y:-.12466424999999907}],color:"primary",fill:!1},"path12-0":{type:"path",points:[{x:.12795610000000002,y:-.16866424999999907},{x:.3686968000000006,y:-.16866424999999907}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.30716265000000004},bottom1:{type:"text",text:"{VAL}",x:0,y:-.30716265000000004}},refblocks:{left1:{x:-.37614279999999956,y:-.16951715000000012},left3:{x:-.37614279999999956,y:.06202735000000037},right1:{x:.37614279999999933,y:-.16852074999999966},right3:{x:.37614279999999933,y:.06302374999999993}},bounds:{minX:-.40430124099999953,maxX:.4043012409999993,minY:-.39716264999999984,maxY:.39716265000000006,width:.8086024819999988,height:.7943252999999999,centerX:-11102230246251565e-32,centerY:11102230246251565e-32},circles:{"circle-4":{type:"circle",x:.09900307499999998,y:.06478,radius:.023193523,color:"primary",fill:!1},"circle-2":{type:"circle",x:.09900307499999998,y:-.16978,radius:.023193523,color:"primary",fill:!1},"circle-3":{type:"circle",x:-.11003074999999977,y:.06478,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.11003074999999977,y:-.16978,radius:.023193523,color:"primary",fill:!1}}},Cj=fd(Dgn).labelPort("left1",["1"]).labelPort("right1",["2"]).labelPort("right3",["4"]).labelPort("left3",["3"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),Sde=Pl(Cj,"down"),wde=Sde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Ede=Sde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");wde.anchor="middle_bottom",Ede.anchor="middle_top",wde.x=.4,wde.y+=.265,Ede.y-=.265,Ede.x=.4;var Lgn=Sde,Tde=Pl(Cj,"left"),Mde=Tde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Cde=Tde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Mde.anchor="middle_bottom",Cde.anchor="middle_top",Mde.x=0,Mde.y+=.67,Cde.y-=.67,Cde.x=0;var Ogn=Tde,Rde=Pl(Cj,"up"),Ade=Rde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Pde=Rde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Ade.anchor="middle_bottom",Pde.anchor="middle_top",Ade.x=.46,Ade.y+=.265,Pde.y-=.265,Pde.x=.46;var zgn=Rde,Ugn={paths:{path11:{type:"path",points:[{x:-.3622268000000006,y:.06287995000000057},{x:-.1357978000000004,y:.06287995000000057}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.08500995000000007,y:.06934945000000092},{x:.10307889999999986,y:.2010388500000011}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.12795640000000064,y:.06287995000000057},{x:.36869780000000096,y:.06287995000000057}],color:"primary",fill:!1},"path11-5":{type:"path",points:[{x:-.3622270999999999,y:-.16866424999999907},{x:-.1357980999999997,y:-.16866424999999907}],color:"primary",fill:!1},"path11-0-3":{type:"path",points:[{x:-.08500995000000007,y:-.16201947499999997},{x:.10307860000000058,y:-.03050534999999921}],color:"primary",fill:!1},"path12-0":{type:"path",points:[{x:.12795610000000002,y:-.16866424999999907},{x:.3686968000000006,y:-.16866424999999907}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.4171626500000001},bottom1:{type:"text",text:"{VAL}",x:0,y:-.41716264999999986}},refblocks:{left1:{x:-.37614279999999956,y:-.16951715000000012},left3:{x:-.37614279999999956,y:.06202735000000037},right1:{x:.37614279999999933,y:-.16852074999999966},right3:{x:.37614279999999933,y:.06302374999999993}},bounds:{minX:-.40430124099999953,maxX:.4043012409999993,minY:-.39716264999999984,maxY:.39716265000000006,width:.8086024819999988,height:.7943252999999999,centerX:-11102230246251565e-32,centerY:11102230246251565e-32},circles:{"circle-4":{type:"circle",x:.09900307499999998,y:.06478,radius:.023193523,color:"primary",fill:!1},"circle-2":{type:"circle",x:.09900307499999998,y:-.16978,radius:.023193523,color:"primary",fill:!1},"circle-3":{type:"circle",x:-.11003074999999977,y:.06478,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.11003074999999977,y:-.16978,radius:.023193523,color:"primary",fill:!1}}},Rj=fd(Ugn).labelPort("left1",["1"]).labelPort("right1",["2"]).labelPort("right3",["4"]).labelPort("left3",["3"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),Nde=Pl(Rj,"down"),Dde=Nde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Lde=Nde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Dde.anchor="middle_bottom",Lde.anchor="middle_top",Dde.x=.4,Dde.y+=.295,Lde.y-=.295,Lde.x=.42;var kgn=Nde,Ode=Pl(Rj,"left"),zde=Ode.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Ude=Ode.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");zde.anchor="middle_bottom",Ude.anchor="middle_top",zde.x=0,zde.y+=.795,Ude.y-=.795,Ude.x=0;var Ign=Ode,kde=Pl(Rj,"up"),Ide=kde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Fde=kde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Ide.anchor="middle_bottom",Fde.anchor="middle_top",Ide.x=.46,Ide.y+=.315,Fde.y-=.315,Fde.x=.46;var Fgn=kde,Bgn={paths:{path11:{type:"path",points:[{x:-.541495829500001,y:.044368009536419395},{x:-.21998262950000114,y:.044368009536419395}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.14450697049999905,y:.052237309536419474},{x:.46379767049999976,y:.052237309536419474}],color:"primary",fill:!1},"path12-6":{type:"path",points:[{x:.13965347050000032,y:-.14937819046358025},{x:.13854747050000027,y:.2538388095364199}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.212703829500001,y:.2732984095364195},{x:-.2147708295000006,y:-.1493854904635803},{x:.13782137049999887,y:.050231709536419755},{x:-.2087893295000005,y:.27442980953642016}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.08906882950000083,y:.38011220953641867},bottom1:{type:"text",text:"{VAL}",x:-.0685314901614209,y:-.38011220953641844},right1:{type:"text",text:"",x:.5884896704999998,y:-.3288545904635811}},refblocks:{left1:{x:-.5603312294999999,y:.04351520953641885},right1:{x:.47524967049999955,y:.05238090953641872}},bounds:{minX:-.5884896704999999,maxX:.5884896704999998,minY:-.38011220953641844,maxY:.38011220953641867,width:1.1769793409999996,height:.7602244190728371,centerX:-5551115123125783e-32,centerY:11102230246251565e-32},circles:{}},pQe=fd(Bgn).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),jgn=Pl(pQe),Hgn={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"Hz",x:0,y:-.035}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:Vgn,texts:$gn,bounds:Aj,refblocks:hQe,circles:Ggn}=Hgn,Bde=Km({primitives:[...Object.values(Vgn),...Object.values(Ggn),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...$gn.left1,x:0,y:.01,anchor:"center",fontSize:.2}],ports:[{...hQe.left1,labels:["1"]},{...hQe.right1,labels:["2"]}],size:{width:Aj.width,height:Aj.height},center:{x:Aj.centerX,y:Aj.centerY}}),{5:qgn,...Ygn}=Bde.primitives;function Xgn(n){return typeof n=="object"}var mQe=Pl({...Bde,primitives:Object.values(Ygn).filter(Xgn)}),Wgn={...mQe,primitives:[...mQe.primitives,qgn]},Zgn={paths:{path10:{type:"path",points:[{x:-.5283037500000001,y:.036413650000000075},{x:.5300302500000003,y:.036413650000000075}],color:"primary",fill:!1},path14:{type:"path",points:[{x:.0008652499999994845,y:.16870534999999975},{x:.2654482499999995,y:.16870534999999975},{x:.2654482499999995,y:-.0958780499999996},{x:-.2637187499999998,y:-.0958780499999996},{x:-.2637187499999998,y:.16870534999999975},{x:.0008652499999994845,y:.16870534999999975}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.008263949999999909,y:.23591724999999997}},refblocks:{left1:{x:-.5345548500000001,y:.03946054999999937},right1:{x:.5345548500000001,y:.0352561499999986}},bounds:{width:1.1254265820000002,height:.47183449999999993,centerX:0,centerY:0}},{paths:Qgn,texts:Kgn,bounds:Pj,refblocks:yQe}=Zgn,vQe=Km({primitives:[...Object.values(Qgn),{...Kgn.top1,anchor:"middle_bottom"},{type:"text",text:"{VAL}",x:0,y:-.2,anchor:"middle_top"}],ports:[{...yQe.left1,labels:["1"]},{...yQe.right1,labels:["2"]}],size:{width:Pj.width,height:Pj.height},center:{x:Pj.centerX,y:Pj.centerY}}),Jgn=Pl(vQe),e_n={paths:{path1:{type:"path",points:[{x:-.33997010000000016,y:.4545300000000001},{x:-.03997010000000012,y:.4545300000000001}],color:"primary",fill:!1},path2:{type:"path",points:[{x:-.02032289999999981,y:.25053000000000014},{x:-.020322900000000033,y:.65053}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.050000000000000044,y:.3005300000000002},{x:.050000000000000044,y:.60053}],color:"primary",fill:!1},path4:{type:"path",points:[{x:.1499999999999997,y:.40053000000000005},{x:.1499999999999997,y:.5005300000000001}],color:"primary",fill:!1}},refblocks:{top1:{x:-.33997010000000016,y:.4545300000000001}},circles:{}},{paths:t_n,circles:n_n,refblocks:r_n}=e_n,i_n=Km({primitives:[...Object.values(t_n),...Object.values(n_n),{type:"text",text:"{REF}",x:-.1,y:.8,anchor:"middle_bottom"},{type:"text",text:"{VAL}",x:-.1,y:.1,anchor:"middle_top"}],ports:[{...r_n.top1,labels:["1"]}],size:{width:1,height:1},center:{x:0,y:.4}}),gQe=i_n,a_n=fd(gQe).rotateRightFacingSymbol("down").build(),jde={paths:{path11:{type:"path",points:[{x:-.49895505000000084,y:.035186950000000605},{x:-.177441850000001,y:.035186950000000605}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.18704774999999918,y:.043056250000000684},{x:.5063384499999999,y:.043056250000000684}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.3067105499999998,y:.19836805000000046},{x:-.3084575500000002,y:-.10569684999999973},{x:-.01040014999999972,y:.03790115000000038},{x:-.3034011499999991,y:.1991819500000005}],color:"primary",fill:!0},"path11-0-9-5":{type:"path",points:[{x:.3324594500000002,y:.19920585000000046},{x:.33420945000000013,y:-.10485904999999973},{x:.03615254999999973,y:.03873895000000038},{x:.32915344999999974,y:.2000197500000005}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:.042716749999999415,y:.3158462499999999},bottom1:{type:"text",text:"{VAL}",x:.035355149999999336,y:-.3158462499999999}},refblocks:{left1:{x:-.5177904499999998,y:.03433415000000006},right1:{x:.5177904499999997,y:.04319984999999993}},bounds:{minX:-.5459488909999998,maxX:.5459488909999997,minY:-.3158462499999999,maxY:.3158462499999999,width:1.0918977819999993,height:.6316924999999998,centerX:-5551115123125783e-32,centerY:0},circles:{}},{paths:FOn,texts:BOn,bounds:jOn,refblocks:HOn,circles:VOn}=jde,o_n=fd(jde).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),s_n=fd(jde).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_right").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_left").build(),l_n={paths:{path45:{type:"path",points:[{x:.13585750000000063,y:-.003696399999999045},{x:-.12872579999999934,y:-.13598810000000228}],color:"primary",fill:!1},"path1-8":{type:"path",points:[{x:.12763670000000094,y:-.003920199999999596},{x:.3,y:-.003920199999999596}],color:"primary",fill:!1},path46:{type:"path",points:[{x:-.12872579999999934,y:.12859530000000063},{x:.13585750000000063,y:-.003696399999999045}],color:"primary",fill:!1},path47:{type:"path",points:[{x:-.12872579999999934,y:-.13598810000000228},{x:-.12872579999999934,y:.12859530000000063}],color:"primary",fill:!1},path48:{type:"path",points:[{x:.13585750000000063,y:.12859530000000063},{x:.13585750000000063,y:-.13598810000000228}],color:"primary",fill:!1},path49:{type:"path",points:[{x:-.13076959999999938,y:-.003696399999999045},{x:-.3,y:-.003696399999999045}],color:"primary",fill:!1},path25:{type:"path",points:[{x:-.1557438999999996,y:.28545279999999806},{x:-.2530861999999994,y:.3023319999999998},{x:-.21878339999999952,y:.20956920000000068}],color:"primary",fill:!0},path78:{type:"path",points:[{x:-.08000449999999937,y:.16590799999999817},{x:-.09202799999999911,y:.1748410000000007},{x:-.2137844999999996,y:.26529680000000155},{x:-.2144144999999993,y:.2662468000000011}],color:"primary",fill:!1},"path25-0":{type:"path",points:[{x:.021722400000000697,y:.30658939999999646},{x:-.07561989999999952,y:.3234685999999982},{x:-.04131709999999922,y:.23070579999999907}],color:"primary",fill:!0},"path78-6":{type:"path",points:[{x:.09746180000000093,y:.18704459999999656},{x:.08543830000000074,y:.19597759999999909},{x:-.0363181999999993,y:.28643339999999995},{x:-.03694819999999943,y:.2873833999999995}],color:"primary",fill:!1},box:{type:"path",points:[{x:-.3,y:-.4},{x:.3,y:-.4},{x:.3,y:.4},{x:-.3,y:.4},{x:-.3,y:-.4},{x:-.3,y:.4}],color:"primary",fill:!1},"path48-1":{type:"path",points:[{x:-.3,y:.1333},{x:-.5362092999999997,y:.1333}],color:"primary",fill:!1},"path48-2":{type:"path",points:[{x:-.3,y:-.1333},{x:-.5362092999999997,y:-.1333}],color:"primary",fill:!1},"path48-3":{type:"path",points:[{x:.3,y:-.1333},{x:.5362093000000003,y:-.1333}],color:"primary",fill:!1},"path48-4":{type:"path",points:[{x:.3,y:.1333},{x:.5362093000000003,y:.1333}],color:"primary",fill:!1}},texts:{bottom1:{type:"text",text:"{VAL}",x:0,y:-.43222},right1:{type:"text",text:"{REF}",x:0,y:.43222}},refblocks:{left1:{x:-.5362092999999997,y:.1333},left2:{x:-.5362092999999997,y:-.1333},right1:{x:.5362093000000003,y:-.1333},right2:{x:.5362093000000003,y:.1333}},bounds:{minX:-.5643677409999996,maxX:.5643677410000003,minY:-.3234685999999982,maxY:.3234685999999982,width:1.128735482,height:.6469371999999964,centerX:33306690738754696e-32,centerY:0},circles:{}},Nj=fd(l_n).labelPort("left1",["1","DIN"]).labelPort("left2",["2","POWER"]).labelPort("right1",["4","GND"]).labelPort("right2",["3","DOUT"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),c_n=Pl(Nj,"down"),u_n=Qfe(Nj),Hde=Pl(Nj,"up"),f_n={...Hde,primitives:Hde.primitives.map(n=>n.type==="path"&&(n.points.length===3||n.points.length===4)?{...n,points:n.points.map(e=>({x:e.x,y:-e.y+2*Hde.center.y}))}:n)},d_n=f_n,p_n={paths:{path11:{type:"path",points:[{x:-.3850944445000005,y:.0010025000000009054},{x:-.006525044499999799,y:-.0016204999999989145}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.07415065550000066,y:.19027400000000116},{x:.07322065550000101,y:-.17787549999999852}],color:"primary",fill:!1},path42:{type:"path",points:[{x:.01002445549999953,y:-.12022799999999911},{x:.01002445549999953,y:.1443554000000009}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.28374995550000004,y:-.2462579999999992},{x:.2831499554999999,y:-.5425888999999995}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.28423665550000043,y:.5370061000000012},{x:.2836366555000003,y:.2678117000000011}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.1731829554999995,y:-.2153930999999989},{x:.2780310554999992,y:-.23045039999999894},{x:.2324710554999987,y:-.14155709999999888}],color:"primary",fill:!0},path17:{type:"path",points:[{x:.07704605550000054,y:-.08544359999999895},{x:.2325688555000005,y:-.19774119999999895}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.07425025549999931,y:.11255990000000127},{x:.28369465549999884,y:.2606293000000013}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.006566644499999885,y:.35624680000000075},bottom1:{type:"text",text:"{VAL}",x:.020614555499999687,y:-.4202180999999998}},refblocks:{top1:{x:.2843894554999997,y:.5566011000000001},bottom1:{x:.2823318555000005,y:-.5566010999999997},left1:{x:-.3990097444999998,y:.00014970000000036343}},bounds:{minX:-.4271681854999998,maxX:.42716818549999985,minY:-.5847595409999997,maxY:.584759541,width:.8543363709999996,height:1.1695190819999999,centerX:27755575615628914e-33,centerY:16653345369377348e-32},circles:{path1:{type:"circle",x:.13862605549999985,y:.008130800000000438,radius:.28854213,color:"primary",fill:!1}}},_Qe=fd(p_n).changeTextAnchor("{VAL}","middle_right").labelPort("left1",["3"]).labelPort("top1",["2"]).labelPort("bottom1",["1"]).changeTextAnchor("{REF}","middle_right").build(),Vde=Pl(_Qe),$de=Vde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),xQe=Vde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");$de.anchor="middle_left",xQe.anchor="middle_right",$de.x=.45,$de.y+=.065,xQe.y+=.065;var h_n=Vde,m_n={paths:{"path12-1-8-6-9":{type:"path",points:[{x:.023137150000000162,y:-.022408499999999165},{x:.023137150000000162,y:-.10240850000000101}],color:"primary",fill:!1},"path12-1-5-6":{type:"path",points:[{x:-.48740694999999956,y:-.18547949999999958},{x:-.1731006500000003,y:-.18547949999999958}],color:"primary",fill:!1},"path12-1-5-6-8":{type:"path",points:[{x:.023792949999999813,y:.17183650000000128},{x:.023792949999999813,y:.10518850000000057}],color:"primary",fill:!1},"path12-1-8-0":{type:"path",points:[{x:-.14922445000000018,y:-.032671500000001075},{x:.19549865000000022,y:-.18509050000000116}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.19549885000000078,y:-.18509050000000116},{x:.4881437499999999,y:-.18509050000000116}],color:"primary",fill:!1},"path12-1-8-6-9-4":{type:"path",points:[{x:.023137150000000162,y:.11939749999999982},{x:.023137150000000162,y:.017597499999999044}],color:"primary",fill:!1},"path12-1-8-6-9-4-3":{type:"path",points:[{x:.08312335000000015,y:.10724749999999972},{x:.08312335000000015,y:.050463500000001105}],color:"primary",fill:!1},"path12-1-8-6-9-4-3-1":{type:"path",points:[{x:-.03684904999999983,y:.10724749999999972},{x:-.03684904999999983,y:.050463500000001105}],color:"primary",fill:!1},"path12-1-8-6-9-4-4":{type:"path",points:[{x:.08312335000000015,y:.10724749999999972},{x:-.03684904999999983,y:.10724749999999972}],color:"primary",fill:!1},"path14-5":{type:"path",points:[{x:-.011640198644880861,y:.2824489119921765},{x:.01182744133211866,y:.25421423950368016},{x:.035295081309120846,y:.22597956701517674},{x:.05876272128612037,y:.19774489452667865}],color:"primary",fill:!0},"path14-5-3":{type:"path",points:[{x:-.011818241440559873,y:.19775449269853418},{x:.01171692178543804,y:.22592735480803405},{x:.03525208501144128,y:.25410021691753926},{x:.058787248237439194,y:.2822730790270338}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:.010987250000000337,y:.3808714999999978},bottom1:{type:"text",text:"{VAL}",x:.05578094999999994,y:-.3808714999999996}},refblocks:{left1:{x:-.4717985499999999,y:-.1854504999999982},right1:{x:.4717985499999999,y:-.18547650000000182}},bounds:{minX:-.4999569909999999,maxX:.4999569909999999,minY:-.3808714999999996,maxY:.3808714999999978,width:.9999139819999998,height:.7617429999999974,centerX:0,centerY:-8881784197001252e-31},circles:{path9:{type:"circle",x:.02379285000000042,y:.24000550000000054,radius:.059920847,color:"primary",fill:!1}}},bQe=fd(m_n).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),SQe=Pl(bQe),wQe=SQe.primitives.filter(n=>n.type==="text"),Gde=wQe.find(n=>n.text==="{VAL}");Gde.x=-.35,Gde.y=0,Gde.anchor="middle_right";var qde=wQe.find(n=>n.text==="{REF}");qde.y=0,qde.x=.35,qde.anchor="middle_left";var y_n=SQe,v_n={paths:{path8698:{type:"path",points:[{x:-.20003504999999944,y:-.023826854587889912},{x:-.20252458999999945,y:-.018993393814014044},{x:-.20501412999999943,y:-.014174384106555204},{x:-.2075036699999995,y:-.009384187436300498},{x:-.20999320999999949,y:-.004636988132081332},{x:-.2124827499999995,y:5329457033053167e-20},{x:-.2149722899999995,y:.004673092344940186},{x:-.2174618299999995,y:.009209271428771242},{x:-.21995136999999956,y:.013649213595881985},{x:-.22244090999999955,y:.01798089395292432},{x:-.22493044999999956,y:.022192955076609913},{x:-.22741998999999957,y:.02627477703600152},{x:-.22990952999999958,y:.030216542867918667},{x:-.2323990699999996,y:.03400929910178016},{x:-.2348886099999996,y:.03764501096072756},{x:-.23737814999999962,y:.04111661189869628},{x:-.23986768999999963,y:.04441804716802203},{x:-.24235722999999965,y:.04754431114897349},{x:-.24484676999999966,y:.05049147821106258},{x:-.24733630999999967,y:.053256726915861724},{x:-.24982584999999968,y:.05583835741211009},{x:-.2523153899999997,y:.05823580191586174},{x:-.2548049299999997,y:.060449628211062575},{x:-.2572944699999997,y:.0624815361489735},{x:-.25978400999999973,y:.06433434716802203},{x:-.26227354999999974,y:.06601198689869628},{x:-.26476308999999976,y:.06751946096072757},{x:-.26725262999999977,y:.06886282410178016},{x:-.2697421699999998,y:.07004914286791866},{x:-.2722317099999998,y:.0710864520360015},{x:-.2747212499999998,y:.07198370507660991},{x:-.2772107899999998,y:.07275071895292433},{x:-.27970032999999983,y:.07339811359588198},{x:-.28218986999999984,y:.07393724642877124},{x:-.28467940999999986,y:.07438014234494018},{x:-.28716894999999987,y:.07473941957033053},{x:-.2896584899999999,y:.07502821186791866},{x:-.2921480299999999,y:.07526008756369952},{x:-.2946375699999999,y:.07544896589344477},{x:-.2971271099999999,y:.07560903118598594},{x:-.29961664999999993,y:.07575464541211008},{x:-.3021061874999999,y:.07560903118598594},{x:-.30459572499999993,y:.07544896589344477},{x:-.3070852624999999,y:.07526008756369951},{x:-.30957479999999993,y:.07502821186791866},{x:-.31206433749999984,y:.07473941957033052},{x:-.3145538749999998,y:.07438014234494018},{x:-.31704341249999984,y:.07393724642877124},{x:-.31953294999999987,y:.07339811359588198},{x:-.32202248749999984,y:.07275071895292431},{x:-.3245120249999998,y:.07198370507660991},{x:-.3270015624999998,y:.0710864520360015},{x:-.32949109999999976,y:.07004914286791866},{x:-.33198063749999984,y:.06886282410178016},{x:-.33447017499999976,y:.06751946096072757},{x:-.3369597124999998,y:.06601198689869628},{x:-.33944924999999976,y:.06433434716802203},{x:-.34193878749999973,y:.06248153614897349},{x:-.34442832499999976,y:.06044962821106258},{x:-.3469178624999997,y:.05823580191586174},{x:-.3494073999999997,y:.05583835741211009},{x:-.35189693749999973,y:.053256726915861724},{x:-.35438647499999965,y:.050491478211062576},{x:-.3568760124999997,y:.0475443111489735},{x:-.35936554999999964,y:.04441804716802203},{x:-.3618550874999996,y:.04111661189869628},{x:-.36434462499999964,y:.03764501096072756},{x:-.36683416249999967,y:.03400929910178016},{x:-.3693236999999996,y:.030216542867918673},{x:-.3718132374999996,y:.02627477703600152},{x:-.3743027749999996,y:.022192955076609917},{x:-.37679231249999956,y:.017980893952924324},{x:-.3792818499999996,y:.013649213595881985},{x:-.3817713874999995,y:.00920927142877125},{x:-.38426092499999953,y:.004673092344940191},{x:-.38675046249999956,y:5329457033053514e-20},{x:-.38923999999999953,y:-.004636988132081328},{x:-.39172953749999956,y:-.009384187436300498},{x:-.3942190749999995,y:-.014174384106555197},{x:-.3967086124999995,y:-.01899339381401404},{x:-.3991981499999995,y:-.023826854587889912}],color:"primary",fill:!1},path8700:{type:"path",points:[{x:-.000872049999999458,y:-.02382615458789039},{x:-.0033615874999994412,y:-.01899269131401453},{x:-.0058511249999994245,y:-.014173679106555696},{x:-.008340662499999407,y:-.009383479936300985},{x:-.010830199999999391,y:-.004636278132081827},{x:-.013319737499999373,y:5400707033003174e-20},{x:-.015809274999999356,y:.004673807344939683},{x:-.018298812499999338,y:.009209988928770731},{x:-.020788349999999324,y:.013649933595881476},{x:-.023277887499999306,y:.017981616452923805},{x:-.02576742499999929,y:.022193680076609393},{x:-.02825696249999927,y:.026275504536001},{x:-.030746499999999254,y:.030217272867918137},{x:-.03323603749999924,y:.034010031601779636},{x:-.03572557499999922,y:.03764574596072702},{x:-.038215112499999204,y:.04111734939869574},{x:-.04070464999999919,y:.04441878716802149},{x:-.04319418749999917,y:.04754505364897295},{x:-.045683724999999155,y:.05049222321106203},{x:-.048173262499999134,y:.05325747441586117},{x:-.05066279999999912,y:.055839107412109526},{x:-.053152337499999106,y:.05823655441586117},{x:-.055641874999999084,y:.06045038321106201},{x:-.05813141249999907,y:.06248229364897292},{x:-.06062094999999905,y:.06433510716802145},{x:-.06311048749999904,y:.0660127493986957},{x:-.06560002499999902,y:.06752022596072697},{x:-.068089562499999,y:.06886359160177957},{x:-.07057909999999898,y:.07004991286791806},{x:-.07306863749999896,y:.07108722453600091},{x:-.07555817499999895,y:.0719844800766093},{x:-.07804771249999894,y:.07275149645292371},{x:-.08053724999999892,y:.07339889359588138},{x:-.0830267874999989,y:.07393802892877062},{x:-.08551632499999888,y:.07438092734493956},{x:-.08800586249999887,y:.07474020707032991},{x:-.09049539999999885,y:.07502900186791804},{x:-.09298493749999884,y:.07526088006369888},{x:-.09547447499999881,y:.07544976089344414},{x:-.0979640124999988,y:.0756098286859853},{x:-.10045354999999878,y:.07575544541210943},{x:-.1029430899999988,y:.0756098286859853},{x:-.1054326299999988,y:.07544976089344414},{x:-.10792216999999882,y:.07526088006369887},{x:-.11041170999999883,y:.07502900186791804},{x:-.11290124999999884,y:.0747402070703299},{x:-.11539078999999886,y:.07438092734493956},{x:-.11788032999999885,y:.07393802892877062},{x:-.1203698699999989,y:.07339889359588138},{x:-.12285940999999889,y:.07275149645292371},{x:-.1253489499999989,y:.0719844800766093},{x:-.12783848999999892,y:.07108722453600091},{x:-.13032802999999893,y:.07004991286791806},{x:-.13281756999999894,y:.06886359160177957},{x:-.13530710999999895,y:.06752022596072697},{x:-.13779664999999897,y:.0660127493986957},{x:-.14028618999999898,y:.06433510716802145},{x:-.142775729999999,y:.06248229364897291},{x:-.145265269999999,y:.06045038321106202},{x:-.14775480999999901,y:.05823655441586117},{x:-.15024434999999903,y:.055839107412109526},{x:-.15273388999999904,y:.05325747441586117},{x:-.15522342999999905,y:.05049222321106202},{x:-.15771296999999906,y:.047545053648972956},{x:-.16020250999999908,y:.04441878716802149},{x:-.1626920499999991,y:.04111734939869574},{x:-.1651815899999991,y:.03764574596072702},{x:-.16767112999999914,y:.034010031601779636},{x:-.1701606699999991,y:.03021727286791814},{x:-.17265020999999914,y:.026275504536001},{x:-.17513974999999915,y:.022193680076609396},{x:-.17762928999999916,y:.017981616452923805},{x:-.1801188299999992,y:.013649933595881474},{x:-.18260836999999916,y:.00920998892877074},{x:-.1850979099999992,y:.0046738073449396865},{x:-.1875874499999992,y:5400707033003521e-20},{x:-.19007698999999922,y:-.004636278132081827},{x:-.19256652999999926,y:-.009383479936300985},{x:-.19505606999999922,y:-.01417367910655569},{x:-.19754560999999926,y:-.018992691314014522},{x:-.20003514999999927,y:-.02382615458789039}],color:"primary",fill:!1},path8702:{type:"path",points:[{x:.19829105000000036,y:-.02382615458789039},{x:.19580151000000035,y:-.01899269131401453},{x:.1933119700000003,y:-.014173679106555696},{x:.19082243000000035,y:-.009383479936300985},{x:.1883328900000003,y:-.004636278132081827},{x:.1858433500000003,y:5400707033003174e-20},{x:.18335381000000028,y:.004673807344939683},{x:.18086427000000024,y:.009209988928770731},{x:.1783747300000003,y:.013649933595881476},{x:.17588519000000025,y:.017981616452923805},{x:.17339565000000023,y:.022193680076609393},{x:.17090611000000022,y:.026275504536001},{x:.16841657000000018,y:.030217272867918137},{x:.16592703000000023,y:.034010031601779636},{x:.16343749000000019,y:.03764574596072702},{x:.16094795000000017,y:.04111734939869574},{x:.15845841000000016,y:.04441878716802149},{x:.15596887000000015,y:.04754505364897295},{x:.15347933000000014,y:.05049222321106203},{x:.15098979000000012,y:.05325747441586117},{x:.1485002500000001,y:.055839107412109526},{x:.1460107100000001,y:.05823655441586117},{x:.1435211700000001,y:.06045038321106201},{x:.14103163000000007,y:.06248229364897292},{x:.13854209000000006,y:.06433510716802145},{x:.13605255000000005,y:.0660127493986957},{x:.13356301000000004,y:.06752022596072697},{x:.13107347000000003,y:.06886359160177957},{x:.12858393,y:.07004991286791806},{x:.12609439,y:.07108722453600091},{x:.12360484999999999,y:.0719844800766093},{x:.12111530999999998,y:.07275149645292371},{x:.11862576999999996,y:.07339889359588138},{x:.11613622999999995,y:.07393802892877062},{x:.11364668999999994,y:.07438092734493956},{x:.11115714999999993,y:.07474020707032991},{x:.10866760999999991,y:.07502900186791804},{x:.1061780699999999,y:.07526088006369888},{x:.10368852999999989,y:.07544976089344414},{x:.10119898999999988,y:.0756098286859853},{x:.09870944999999987,y:.07575544541210943},{x:.09621991249999988,y:.0756098286859853},{x:.0937303749999999,y:.07544976089344414},{x:.09124083749999992,y:.07526088006369887},{x:.08875129999999994,y:.07502900186791804},{x:.08626176249999995,y:.0747402070703299},{x:.08377222499999996,y:.07438092734493956},{x:.08128268749999998,y:.07393802892877062},{x:.07879315,y:.07339889359588138},{x:.07630361250000002,y:.07275149645292371},{x:.07381407500000003,y:.0719844800766093},{x:.07132453750000005,y:.07108722453600091},{x:.06883500000000006,y:.07004991286791806},{x:.06634546250000009,y:.06886359160177957},{x:.0638559250000001,y:.06752022596072697},{x:.06136638750000012,y:.0660127493986957},{x:.05887685000000013,y:.06433510716802145},{x:.05638731250000015,y:.06248229364897291},{x:.053897775000000175,y:.06045038321106202},{x:.05140823750000019,y:.05823655441586117},{x:.048918700000000204,y:.055839107412109526},{x:.04642916250000022,y:.05325747441586117},{x:.04393962500000023,y:.05049222321106202},{x:.04145008750000026,y:.047545053648972956},{x:.038960550000000274,y:.04441878716802149},{x:.03647101250000029,y:.04111734939869574},{x:.0339814750000003,y:.03764574596072702},{x:.03149193750000032,y:.034010031601779636},{x:.02900240000000034,y:.03021727286791814},{x:.02651286250000036,y:.026275504536001},{x:.024023325000000373,y:.022193680076609396},{x:.021533787500000387,y:.017981616452923805},{x:.019044250000000405,y:.013649933595881474},{x:.016554712500000426,y:.00920998892877074},{x:.014065175000000442,y:.0046738073449396865},{x:.011575637500000457,y:5400707033003521e-20},{x:.009086100000000473,y:-.004636278132081827},{x:.006596562500000487,y:-.009383479936300985},{x:.004107025000000513,y:-.01417367910655569},{x:.0016174875000005274,y:-.018992691314014522},{x:-.000872049999999458,y:-.02382615458789039}],color:"primary",fill:!1},path8704:{type:"path",points:[{x:.39745405000000034,y:-.02382615458789039},{x:.3949645125000003,y:-.01899269131401453},{x:.39247497500000034,y:-.014173679106555696},{x:.3899854375000004,y:-.009383479936300985},{x:.38749590000000045,y:-.004636278132081827},{x:.3850063625000004,y:5400707033003174e-20},{x:.3825168250000004,y:.004673807344939683},{x:.3800272875000004,y:.009209988928770731},{x:.3775377500000005,y:.013649933595881476},{x:.37504821250000053,y:.017981616452923805},{x:.3725586750000005,y:.022193680076609393},{x:.3700691375000005,y:.026275504536001},{x:.3675796000000005,y:.030217272867918137},{x:.3650900625000006,y:.034010031601779636},{x:.3626005250000006,y:.03764574596072702},{x:.3601109875000006,y:.04111734939869574},{x:.35762145000000056,y:.04441878716802149},{x:.3551319125000006,y:.04754505364897295},{x:.3526423750000007,y:.05049222321106203},{x:.3501528375000007,y:.05325747441586117},{x:.3476633000000007,y:.055839107412109526},{x:.34517376250000065,y:.05823655441586117},{x:.34268422500000073,y:.06045038321106201},{x:.3401946875000007,y:.06248229364897292},{x:.3377051500000008,y:.06433510716802145},{x:.33521561250000076,y:.0660127493986957},{x:.33272607500000073,y:.06752022596072697},{x:.3302365375000008,y:.06886359160177957},{x:.3277470000000008,y:.07004991286791806},{x:.3252574625000008,y:.07108722453600091},{x:.32276792500000084,y:.0719844800766093},{x:.32027838750000087,y:.07275149645292371},{x:.3177888500000009,y:.07339889359588138},{x:.3152993125000009,y:.07393802892877062},{x:.3128097750000009,y:.07438092734493956},{x:.31032023750000093,y:.07474020707032991},{x:.30783070000000096,y:.07502900186791804},{x:.305341162500001,y:.07526088006369888},{x:.30285162500000096,y:.07544976089344414},{x:.300362087500001,y:.0756098286859853},{x:.297872550000001,y:.07575544541210943},{x:.29538301000000095,y:.0756098286859853},{x:.292893470000001,y:.07544976089344414},{x:.290403930000001,y:.07526088006369887},{x:.287914390000001,y:.07502900186791804},{x:.28542485000000095,y:.0747402070703299},{x:.2829353100000009,y:.07438092734493956},{x:.2804457700000009,y:.07393802892877062},{x:.2779562300000009,y:.07339889359588138},{x:.2754666900000009,y:.07275149645292371},{x:.2729771500000009,y:.0719844800766093},{x:.2704876100000009,y:.07108722453600091},{x:.26799807000000087,y:.07004991286791806},{x:.26550853000000085,y:.06886359160177957},{x:.26301899000000084,y:.06752022596072697},{x:.26052945000000083,y:.0660127493986957},{x:.2580399100000008,y:.06433510716802145},{x:.2555503700000008,y:.06248229364897291},{x:.2530608300000008,y:.06045038321106202},{x:.2505712900000008,y:.05823655441586117},{x:.24808175000000077,y:.055839107412109526},{x:.24559221000000075,y:.05325747441586117},{x:.24310267000000074,y:.05049222321106202},{x:.24061313000000073,y:.047545053648972956},{x:.23812359000000072,y:.04441878716802149},{x:.2356340500000007,y:.04111734939869574},{x:.2331445100000007,y:.03764574596072702},{x:.23065497000000068,y:.034010031601779636},{x:.22816543000000067,y:.03021727286791814},{x:.22567589000000066,y:.026275504536001},{x:.22318635000000064,y:.022193680076609396},{x:.22069681000000063,y:.017981616452923805},{x:.21820727000000062,y:.013649933595881474},{x:.2157177300000006,y:.00920998892877074},{x:.2132281900000006,y:.0046738073449396865},{x:.21073865000000058,y:5400707033003521e-20},{x:.20824911000000057,y:-.004636278132081827},{x:.20575957000000056,y:-.009383479936300985},{x:.20327003000000055,y:-.01417367910655569},{x:.20078049000000053,y:-.018992691314014522},{x:.19829095000000052,y:-.02382615458789039}],color:"primary",fill:!1},path8706:{type:"path",points:[{x:-.4023286499999996,y:-.022544054587890106},{x:-.5293590499999994,y:-.022544054587890106}],color:"primary",fill:!1},"path8706-5":{type:"path",points:[{x:.5261604500000003,y:-.027111054587890093},{x:.39913004999999946,y:-.027111054587890093}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0040821499999992295,y:.22997364541210996},bottom1:{type:"text",text:"{VAL}",x:-.004252755294839927,y:-.22997364541210996}},refblocks:{left1:{x:-.5504428500000003,y:-.021272154587890446},right1:{x:.5504428500000005,y:-.026521254587889898}},bounds:{width:1.1572025820000007,height:.4599472908242199,centerX:11102230246251565e-32,centerY:0},circles:{}},{paths:g_n,texts:EQe,bounds:Dj,refblocks:TQe,circles:__n}=v_n,Yde=Km({primitives:[...Object.values(g_n),...Object.values(__n),{...EQe.top1,anchor:"middle_bottom"},{...EQe.bottom1,anchor:"middle_top"}],ports:[{...TQe.left1,labels:["1"]},{...TQe.right1,labels:["2"]}],size:{width:Dj.width,height:Dj.height},center:{x:Dj.centerX,y:Dj.centerY}}),MQe=Pl(Yde,"up"),x_n=avn(MQe),b_n=Qfe(Yde),CQe={paths:{path11:{type:"path",points:[{x:-.5274831500000006,y:-.05991764999999982},{x:-.14891374999999996,y:-.06254064999999964}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.13221874999999983,y:-.048856449999999496},{x:-.13236425000000063,y:-.18114814999999918}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.13236425000000063,y:.08343525000000018},{x:.13221874999999983,y:-.048856449999999496}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.13236425000000063,y:-.18114814999999984},{x:-.13236425000000063,y:.08343525000000018}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.13221874999999983,y:.08343525000000018},{x:.13221874999999983,y:-.18114814999999984}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.13582535000000018,y:-.04942524999999942},{x:.533952450000001,y:-.059917649999999156}],color:"primary",fill:!1},"path25-0-9-8":{type:"path",points:[{x:-.02944535000000048,y:.39378525000000053},{x:-.05325954999999993,y:.4660362500000006},{x:-.07725114999999949,y:.39386225000000086}],color:"primary",fill:!0},"path78-6-5-5":{type:"path",points:[{x:-.05361965000000035,y:.27387525000000035},{x:-.053592050000000446,y:.2865022500000003},{x:-.05330205000000077,y:.41436425000000066},{x:-.05311205000000019,y:.4152642500000008}],color:"primary",fill:!1},"path25-0-9-8-2":{type:"path",points:[{x:.06865195000000024,y:.39378525000000053},{x:.044837750000000565,y:.4660362500000006},{x:.02084615000000123,y:.39386225000000086}],color:"primary",fill:!0},"path78-6-5-5-7":{type:"path",points:[{x:.044477650000000146,y:.27387525000000035},{x:.044505250000000274,y:.2865022500000003},{x:.04479524999999995,y:.41436425000000066},{x:.04498525000000053,y:.4152642500000008}],color:"primary",fill:!1},"path43-1":{type:"path",points:[{x:.03124844999999965,y:.05895145000000013},{x:.03124844999999965,y:-.16452955000000036}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:.25206924999999947,y:.3769550499999994},bottom1:{type:"text",text:"{VAL}",x:-.006614550000000552,y:-.4660362500000004}},refblocks:{left1:{x:-.54139845,y:-.060770450000000364},right1:{x:.5413984499999995,y:-.0597740500000008}},bounds:{minX:-.569556891,maxX:.5695568909999995,minY:-.4660362500000004,maxY:.4660362500000006,width:1.1391137819999995,height:.932072500000001,centerX:-2220446049250313e-31,centerY:11102230246251565e-32},circles:{path1:{type:"circle",x:-.0037626500000003116,y:-.05278935000000051,radius:.28854213,color:"primary",fill:!1}}};CQe.bounds.width+=.2;var RQe=fd(CQe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),AQe=Pl(RQe),S_n=AQe.primitives.filter(n=>n.type==="text"),PQe=S_n.find(n=>n.text==="{VAL}");PQe.x=-.52,PQe.anchor="middle_right";var w_n=AQe,E_n={paths:{path45:{type:"path",points:[{x:.13585750000000063,y:-.003696399999999045},{x:-.12872579999999934,y:-.13598810000000228}],color:"primary",fill:!1},"path1-8":{type:"path",points:[{x:.12763670000000094,y:-.003920199999999596},{x:.5265564000000009,y:-.003920199999999596}],color:"primary",fill:!1},path46:{type:"path",points:[{x:-.12872579999999934,y:.12859530000000063},{x:.13585750000000063,y:-.003696399999999045}],color:"primary",fill:!1},path47:{type:"path",points:[{x:-.12872579999999934,y:-.13598810000000228},{x:-.12872579999999934,y:.12859530000000063}],color:"primary",fill:!1},path48:{type:"path",points:[{x:.13585750000000063,y:.12859530000000063},{x:.13585750000000063,y:-.13598810000000228}],color:"primary",fill:!1},path49:{type:"path",points:[{x:-.13076959999999938,y:-.003696399999999045},{x:-.5256007999999994,y:-.003696399999999045}],color:"primary",fill:!1},path25:{type:"path",points:[{x:-.1557438999999996,y:.28545279999999806},{x:-.2530861999999994,y:.3023319999999998},{x:-.21878339999999952,y:.20956920000000068}],color:"primary",fill:!0},path78:{type:"path",points:[{x:-.08000449999999937,y:.16590799999999817},{x:-.09202799999999911,y:.1748410000000007},{x:-.2137844999999996,y:.26529680000000155},{x:-.2144144999999993,y:.2662468000000011}],color:"primary",fill:!1},"path25-0":{type:"path",points:[{x:.021722400000000697,y:.30658939999999646},{x:-.07561989999999952,y:.3234685999999982},{x:-.04131709999999922,y:.23070579999999907}],color:"primary",fill:!0},"path78-6":{type:"path",points:[{x:.09746180000000093,y:.18704459999999656},{x:.08543830000000074,y:.19597759999999909},{x:-.0363181999999993,y:.28643339999999995},{x:-.03694819999999943,y:.2873833999999995}],color:"primary",fill:!1}},texts:{bottom1:{type:"text",text:"{VAL}",x:-.009561699999999451,y:-.3234685999999982},right1:{type:"text",text:"{REF}",x:.31464070000000044,y:.22386570000000106}},refblocks:{left1:{x:-.5362092999999997,y:-.004432900000001183},right1:{x:.5362093000000003,y:-.004886400000003732}},bounds:{width:1.128735482,height:.6469371999999964,centerX:33306690738754696e-32,centerY:0},circles:{}},{paths:T_n,texts:NQe,bounds:Lj,refblocks:DQe,circles:M_n}=E_n,Oj=Km({primitives:[...Object.values(T_n),...Object.values(M_n),{...NQe.bottom1,anchor:"middle_top"},{...NQe.right1,anchor:"middle_bottom"}],ports:[{...DQe.left1,labels:["1"]},{...DQe.right1,labels:["2"]}],size:{width:Lj.width,height:Lj.height},center:{x:Lj.centerX,y:Lj.centerY}}),C_n=Pl(Oj,"down"),R_n=Qfe(Oj),Xde=Pl(Oj,"up"),A_n={...Xde,primitives:Xde.primitives.map(n=>n.type==="path"&&(n.points.length===3||n.points.length===4)?{...n,points:n.points.map(e=>({x:e.x,y:-e.y+2*Xde.center.y}))}:n)},P_n=A_n,N_n={paths:{path11:{type:"path",points:[{x:-.5053201665812097,y:-.010839730805804138},{x:-.1829962316128657,y:-.010839730805804138}],color:"primary",fill:!1},"path11-2":{type:"path",points:[{x:-.1674747072814866,y:-.11471502212593476},{x:-.1674747072814866,y:.07736981415388478}],color:"primary",fill:!1},"path11-5":{type:"path",points:[{x:-.1674747072814866,y:-.11632056223474518},{x:.16018133830019532,y:-.11632056223474518}],color:"primary",fill:!1},"path11-5-5":{type:"path",points:[{x:-.1674747072814866,y:.07736981415388478},{x:.16018133830019532,y:.07736981415388478}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.17205869804197382,y:-.010839950577224311},{x:.5116721586832798,y:-.010839950577224311}],color:"primary",fill:!1},"path11-2-1":{type:"path",points:[{x:.16064490317338742,y:-.11622177498145403},{x:.16064490317338742,y:.07727135655772521}],color:"primary",fill:!1},"path25-0-9":{type:"path",points:[{x:-.40391896081308554,y:-.2111951150487743},{x:-.32538818309991635,y:-.1776462385858042},{x:-.33843942905204627,y:-.26928059146906413}],color:"primary",fill:!0},"path78-6-5":{type:"path",points:[{x:-.4470989190253618,y:-.3351265263866847},{x:-.4385525777085817,y:-.32468848279378437},{x:-.3520048317368336,y:-.21897414423109507},{x:-.3516268465799328,y:-.21798517284109487}],color:"primary",fill:!1},"path25-0-9-0":{type:"path",points:[{x:-.30220674110432255,y:-.3403193953841548},{x:-.22367596339115314,y:-.30677051892118534},{x:-.23672720934328306,y:-.3984048718044453}],color:"primary",fill:!0},"path78-6-5-9":{type:"path",points:[{x:-.3453866993165988,y:-.464250806722065},{x:-.3368403579998187,y:-.45381276312916397},{x:-.2502926120280704,y:-.34809842456647466},{x:-.24991462687116983,y:-.34710945317647446}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.1679477702432366,y:-.40859918889256375},bottom1:{type:"text",text:"{VAL}",x:-.006410773639930811,y:.464250806722065}},refblocks:{left1:{x:-.5247194309452994,y:-.009902515585214156},right1:{x:.5247194309452992,y:-.010997416799653603}},bounds:{width:1.1040207733749288,height:.6228499956146287,centerX:-11102230246251565e-32,centerY:-.022174191085249373},circles:{path1:{type:"circle",x:-.003646732950281173,y:-.018672603986024328,radius:.2796529289238723,color:"primary",fill:!1}}},{paths:D_n,texts:LQe,bounds:zj,refblocks:OQe,circles:L_n}=N_n,zQe=Km({primitives:[...Object.values(D_n),...Object.values(L_n),{...LQe.top1,anchor:"middle_left",x:0},{...LQe.bottom1,anchor:"middle_left",x:0}],ports:[{...OQe.left1,labels:["1"]},{...OQe.right1,labels:["2"]}],size:{width:zj.width,height:zj.height},center:{x:zj.centerX,y:zj.centerY}}),UQe=Pl(zQe),kQe=UQe.primitives.filter(n=>n.type==="text"),Wde=kQe.find(n=>n.text==="{VAL}");Wde.x=-.35,Wde.y=0,Wde.anchor="middle_right";var Zde=kQe.find(n=>n.text==="{REF}");Zde.y=0,Zde.x=.35,Zde.anchor="middle_left";var O_n=UQe,z_n={paths:{path208:{type:"path",points:[{x:.3843021704999998,y:.13154093999999894},{x:.5165938705000004,y:-.13304206000000107}],color:"primary",fill:!1},path209:{type:"path",points:[{x:.25201047050000014,y:-.13304206000000107},{x:.3843021704999998,y:.13154093999999894}],color:"primary",fill:!1},path210:{type:"path",points:[{x:.5165938705000004,y:-.13304206000000107},{x:.25201047050000014,y:-.13304206000000107}],color:"primary",fill:!1},path211:{type:"path",points:[{x:.25201047050000014,y:.13154093999999894},{x:.5165938705000004,y:.13154093999999894}],color:"primary",fill:!1},path212:{type:"path",points:[{x:.11971887050000074,y:-.39762406000000006},{x:.3843021704999998,y:-.39762406000000006}],color:"primary",fill:!1},path213:{type:"path",points:[{x:.3843021704999998,y:.39612494},{x:.11971887050000074,y:.39612494}],color:"primary",fill:!1},path214:{type:"path",points:[{x:.11971887050000074,y:.5284169399999996},{x:.11971887050000074,y:.18445994}],color:"primary",fill:!1},path215:{type:"path",points:[{x:.11971887050000074,y:-.5299150600000004},{x:.11971887050000074,y:-.0007480600000011606}],color:"primary",fill:!1},path216:{type:"path",points:[{x:.3843021704999998,y:-.39762469000000067},{x:.3843021704999998,y:.3961256399999993}],color:"primary",fill:!1},path217:{type:"path",points:[{x:-.1448644295000001,y:.2638359399999999},{x:-.1448644295000001,y:-.26533006000000015}],color:"primary",fill:!1},path218:{type:"path",points:[{x:-.22423942949999898,y:-.2653310599999994},{x:-.22423942949999898,y:.26383493999999885}],color:"primary",fill:!1},path219:{type:"path",points:[{x:-.5417394294999998,y:-.26533006000000015},{x:-.22423942949999898,y:-.2653320600000004}],color:"primary",fill:!1},path220:{type:"path",points:[{x:-.1448644295000001,y:-.18595506000000128},{x:.11971897050000013,y:-.18595506000000128}],color:"primary",fill:!1},path221:{type:"path",points:[{x:-.1448644295000001,y:.18446093999999924},{x:.11971897050000013,y:.18446093999999924}],color:"primary",fill:!1},path222:{type:"path",points:[{x:-.06548942950000036,y:-.0007480600000011606},{x:.11971887050000074,y:-.0007480600000011606}],color:"primary",fill:!1}},texts:{right1:{type:"text",text:"{VAL}",x:.5715500704999998,y:.02044358999999929},right2:{type:"text",text:"{REF}",x:.5701646705000005,y:.2085436499999993}},refblocks:{top1:{x:.12018067049999992,y:.5432738300000004},bottom1:{x:.11982247050000083,y:-.5432738300000004},left1:{x:-.5433916295000003,y:-.2663988600000007}},bounds:{width:1.1431001410000001,height:1.1428645420000008,centerX:-2220446049250313e-31,centerY:0}},{paths:U_n,texts:IQe,bounds:Uj,refblocks:Qde}=z_n,FQe=Km({primitives:[...Object.values(U_n),{...IQe.right1,anchor:"middle_left"},{...IQe.right2,anchor:"middle_left"}],ports:[{...Qde.top1,labels:["1"]},{...Qde.bottom1,labels:["2"]},{...Qde.left1,labels:["3"]}],size:{width:Uj.width+.4,height:Uj.height},center:{x:Uj.centerX+.2,y:Uj.centerY}}),Kde=Pl(FQe),BQe=Kde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Jde=Kde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");BQe.anchor="middle_top",Jde.anchor="middle_top",BQe.x=Jde.x,Jde.y+=.15;var k_n=Kde,I_n={paths:{"path12-1-8-6-9":{type:"path",points:[{x:.005962250000000502,y:.06921149999999976},{x:.005962250000000502,y:-.005086499999999106}],color:"primary",fill:!1},"path12-1-5-6":{type:"path",points:[{x:-.48740705000000073,y:-.09299450000000142},{x:-.17310075000000058,y:-.09299450000000142}],color:"primary",fill:!1},"path12-1-8-0":{type:"path",points:[{x:-.16008695000000017,y:-.010660500000000184},{x:.1719709499999995,y:-.010660500000000184}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.1954987499999996,y:-.09260549999999945},{x:.4881436499999996,y:-.09260549999999945}],color:"primary",fill:!1},path2:{type:"path",points:[{x:-.09950044999999985,y:.05839450000000035},{x:-.09950104999999976,y:.06197449999999982},{x:-.09932044999999956,y:.06550449999999941},{x:-.09896044999999987,y:.0690104999999992},{x:-.09860045000000017,y:.07250049999999852},{x:-.09806045000000019,y:.07593049999999835},{x:-.09735344999999995,y:.07929949999999941},{x:-.09663345000000056,y:.08265950000000011},{x:-.09578045000000035,y:.08599949999999978},{x:-.09475245000000054,y:.08924949999999932},{x:-.09379245000000047,y:.09255949999999835},{x:-.09254545000000025,y:.09567949999999925},{x:-.09120844999999989,y:.09877950000000091},{x:-.08986644999999971,y:.10186950000000117},{x:-.08839545000000015,y:.10492949999999901},{x:-.08675845000000049,y:.10783949999999898},{x:-.08506245000000057,y:.11069950000000084},{x:-.08334244999999996,y:.11360950000000081},{x:-.08146945000000017,y:.11638949999999859},{x:-.0795824500000002,y:.11916949999999993},{x:-.07752845000000086,y:.12180949999999946},{x:-.07546944999999994,y:.12442949999999975},{x:-.07325945000000011,y:.12693950000000065},{x:-.07104145000000006,y:.129449499999998},{x:-.06867544999999975,y:.13182950000000027},{x:-.06628845000000005,y:.1341695000000005},{x:-.06379544999999975,y:.1364194999999988},{x:-.06114145000000004,y:.13848950000000038},{x:-.05848745000000033,y:.1405694999999998},{x:-.05584345000000024,y:.14261950000000034},{x:-.05306845000000049,y:.14449950000000022},{x:-.05029345000000074,y:.14639950000000113},{x:-.04738844999999969,y:.14811950000000174},{x:-.04437445000000029,y:.14969949999999876},{x:-.04134744999999995,y:.1513194999999996},{x:-.038316449999999946,y:.15275949999999838},{x:-.03515645000000056,y:.15407949999999992},{x:-.03204444999999989,y:.15536950000000083},{x:-.028770450000000558,y:.15655950000000018},{x:-.025468450000000864,y:.15757949999999887},{x:-.02213745000000067,y:.15863950000000138},{x:-.018790450000000014,y:.15942949999999811},{x:-.01536325000000005,y:.16012949999999826},{x:-.011980249999999693,y:.16082950000000018},{x:-.008442250000000762,y:.16141949999999916},{x:-.004890650000000107,y:.1617494999999991},{x:-.0013406500000003874,y:.16204949999999663},{x:.002252350000000014,y:.16214949999999817},{x:.005893849999999645,y:.16214949999999817},{x:.009534849999998762,y:.16214949999999817},{x:.013136849999999534,y:.16204949999999663},{x:.016683149999999536,y:.1617494999999991},{x:.020231149999998976,y:.1614494999999998},{x:.023727149999999142,y:.16104949999999896},{x:.02715474999999934,y:.16012949999999826},{x:.03057874999999921,y:.15952949999999966},{x:.03395574999999962,y:.15867949999999986},{x:.03725995000000015,y:.15758950000000027},{x:.0405679499999998,y:.15652949999999954},{x:.04379994999999948,y:.15541949999999893},{x:.04695294999999966,y:.15409950000000094},{x:.050101949999999285,y:.15280950000000004},{x:.053191949999999544,y:.1513194999999996},{x:.05617794999999948,y:.1497395000000008},{x:.05916694999999983,y:.14811950000000174},{x:.06206694999999929,y:.14639950000000113},{x:.06487294999999982,y:.1445595000000015},{x:.06767095000000012,y:.14269950000000264},{x:.07038294999999994,y:.14069950000000198},{x:.07299194999999958,y:.1385795000000023},{x:.07560095000000011,y:.13645950000000262},{x:.07809294999999938,y:.13420950000000254},{x:.08047994999999997,y:.13187950000000193},{x:.08287894999999956,y:.1295395000000017},{x:.08515495000000062,y:.12706950000000106},{x:.08729294999999926,y:.12451950000000167},{x:.08944594999999911,y:.12192950000000202},{x:.0914679499999993,y:.11930950000000173},{x:.09337295000000001,y:.1165295000000004},{x:.0971669499999992,y:.11101949999999938},{x:.10043494999999947,y:.10512450000000229},{x:.10311494999999926,y:.09890950000000132},{x:.10444094999999987,y:.09581950000000106},{x:.10564094999999973,y:.09262950000000103},{x:.10667494999999949,y:.08935950000000226},{x:.10769994999999977,y:.08610950000000273},{x:.1085699499999997,y:.08279950000000369},{x:.10927795000000007,y:.07942950000000337},{x:.10999794999999946,y:.07605950000000128},{x:.11051994999999959,y:.07262950000000146},{x:.11088394999999984,y:.06913950000000213},{x:.11124394999999954,y:.0656495000000028},{x:.11142394999999983,y:.062099500000002195},{x:.11142394999999983,y:.05854350000000075},{x:.10483595000000001,y:.05853049999999982},{x:.0982479500000002,y:.058516500000001415},{x:.09164495000000006,y:.058518500000001694},{x:.08505695000000024,y:.05850850000000207},{x:.078453950000001,y:.058509500000001324},{x:.07186595000000029,y:.058496500000000395},{x:.06526295000000104,y:.05849750000000142},{x:.058674950000001225,y:.058485499999999746},{x:.05208695000000052,y:.058473499999999845},{x:.04548395000000127,y:.058475500000000125},{x:.038895950000001456,y:.05846150000000172},{x:.03230795000000075,y:.058448499999999015},{x:.025704950000001503,y:.058453499999998826},{x:.019101950000001366,y:.05845449999999808},{x:.01251395000000155,y:.05844149999999715},{x:.005925950000001734,y:.058427499999998744},{x:-.0006560499999990199,y:.05842149999999968},{x:-.007240049999999165,y:.05841449999999959},{x:-.01382404999999931,y:.05840850000000053},{x:-.020406049999999176,y:.05840250000000147},{x:-.02699004999999932,y:.058394500000002125},{x:-.03357404999999947,y:.05838950000000409},{x:-.04015604999999933,y:.05838350000000503},{x:-.04674004999999948,y:.05837450000000466},{x:-.05332205000000023,y:.058368500000005596},{x:-.05990605000000038,y:.058360500000006255},{x:-.06649005000000052,y:.058355500000006444},{x:-.07307205000000039,y:.05834950000000738},{x:-.07965605000000053,y:.05834150000000804},{x:-.08624005000000068,y:.05833550000000898},{x:-.09282205000000143,y:.05833050000001094}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:.01254745000000046,y:.26612850000000243},bottom1:{type:"text",text:"{VAL}",x:-.16130964999999975,y:-.2661284999999989}},refblocks:{left1:{x:-.4717985499999999,y:-.09296750000000031},right1:{x:.4717985499999999,y:-.09299249999999937}},bounds:{width:.9999139819999998,height:.5322570000000013,centerX:0,centerY:17763568394002505e-31},circles:{}},{paths:F_n,texts:jQe,bounds:kj,refblocks:HQe,circles:B_n}=I_n,VQe=Km({primitives:[...Object.values(F_n),...Object.values(B_n),{...jQe.top1,anchor:"middle_bottom",x:0},{...jQe.bottom1,anchor:"middle_top",x:0}],ports:[{...HQe.left1,labels:["1"]},{...HQe.right1,labels:["2"]}],size:{width:kj.width,height:kj.height},center:{x:kj.centerX+.006,y:kj.centerY+.06}}),epe=Pl(VQe),FP=epe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Ij=epe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");FP.anchor="middle_left",Ij.anchor="middle_right",FP.x=FP.x-.03,FP.y=FP.y,Ij.x=Ij.x,Ij.y=0;var j_n=epe,H_n={paths:{path11:{type:"path",points:[{x:-.39274354450000026,y:-.10329954999999957},{x:.05111245549999932,y:-.1059225499999994}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.09373835550000087,y:.18559775000000034},{x:.09280835550000122,y:-.18255174999999935}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.30382435550000064,y:.53233025},{x:.3032243555000005,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.3108281555000003,y:-.5323308500000001},{x:.31142815550000025,y:-.005876249999999805}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.09383795549999951,y:.10788365000000044},{x:.31104975549999936,y:.10659565000000004}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.09383795549999951,y:-.10232114999999986},{x:.31104975549999936,y:-.10360915000000026}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.27419885550000034,y:-.04077644999999963},{x:.27419885550000034,y:.030615650000000327},{x:.2024438555000001,y:-.004662050000000084},{x:.27419885550000034,y:-.04077644999999963}],color:"primary",fill:!0},"path2-0":{type:"path",points:[{x:.09383795549999951,y:-.004018049999999551},{x:.31104975549999936,y:-.005306049999999729}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.05171245550000081,y:.16715385000000005},{x:.05111245550000065,y:-.10592255000000006}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.13197254449999907,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.05891105550000031,y:-.42489435000000064}},refblocks:{top1:{x:.30397715549999993,y:.5519248499999992},bottom1:{x:.31067575550000126,y:-.5519248499999994},left1:{x:-.41859744450000025,y:-.10250625000000024}},bounds:{width:.8935117710000002,height:1.1601665819999987,centerX:-8326672684688674e-32,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.15821375550000005,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:V_n,texts:$Qe,bounds:Fj,refblocks:tpe,circles:$_n}=H_n,GQe=Km({primitives:[...Object.values(V_n),...Object.values($_n),{...$Qe.top1,anchor:"middle_right",x:0},{...$Qe.bottom1,anchor:"middle_right",x:0}],ports:[{...tpe.top1,labels:["1","drain"]},{...tpe.bottom1,labels:["2","source"]},{...tpe.left1,labels:["3","gate"]}],size:{width:Fj.width,height:Fj.height},center:{x:Fj.centerX,y:Fj.centerY}}),qQe=Pl(GQe),YQe=qQe.primitives.filter(n=>n.type==="text"),npe=YQe.find(n=>n.text==="{VAL}");npe.x=-.35,npe.y=0,npe.anchor="middle_right";var rpe=YQe.find(n=>n.text==="{REF}");rpe.y=0,rpe.x=.35,rpe.anchor="middle_left";var G_n=qQe,q_n={paths:{path11:{type:"path",points:[{x:-.39274354450000026,y:-.10329954999999957},{x:.05111245549999932,y:-.1059225499999994}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.30382435550000064,y:.53233025},{x:.3032243555000005,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.3108281555000003,y:-.5323308500000001},{x:.31142815550000025,y:-.005876249999999805}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.09383795549999951,y:.10788365000000044},{x:.31104975549999936,y:.10659565000000004}],color:"primary",fill:!1},"path2-8-3-7":{type:"path",points:[{x:.09448295549999952,y:.14677165000000048},{x:.09319295549999951,y:.06899565000000041}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.09383795549999951,y:-.10232114999999986},{x:.31104975549999936,y:-.10360915000000026}],color:"primary",fill:!1},"path2-8-3":{type:"path",points:[{x:.09440455549999993,y:-.07703174999999951},{x:.09311455549999992,y:-.15480774999999958}],color:"primary",fill:!1},"path2-8-3-2":{type:"path",points:[{x:.09448295549999952,y:.03486995000000048},{x:.09319295549999951,y:-.042906049999999585}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.2741991554999996,y:-.040776550000000134},{x:.2741991554999996,y:.030615549999999825},{x:.2024441554999994,y:-.004662350000000037},{x:.2741991554999996,y:-.040776550000000134}],color:"primary",fill:!0},"path2-0":{type:"path",points:[{x:.09383795549999951,y:-.004018049999999551},{x:.31104975549999936,y:-.005306049999999729}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.05171245550000081,y:.10847375000000059},{x:.05111245550000065,y:-.1059225499999994}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.13197254449999907,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.05891105550000031,y:-.42489435000000064}},refblocks:{top1:{x:.30397715549999993,y:.5519248499999992},bottom1:{x:.31067575550000126,y:-.5519248499999994},left1:{x:-.41859744450000025,y:-.10250625000000024}},bounds:{width:.8935117710000002,height:1.1601665819999987,centerX:-8326672684688674e-32,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.15821375550000005,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:Y_n,texts:XQe,bounds:Bj,refblocks:ipe,circles:X_n}=q_n,WQe=Km({primitives:[...Object.values(Y_n),...Object.values(X_n),{...XQe.top1,anchor:"middle_right",x:0},{...XQe.bottom1,anchor:"middle_right",x:0}],ports:[{...ipe.top1,labels:["1","drain"]},{...ipe.bottom1,labels:["2","source"]},{...ipe.left1,labels:["3","gate"]}],size:{width:Bj.width,height:Bj.height},center:{x:Bj.centerX,y:Bj.centerY}}),ZQe=Pl(WQe),QQe=ZQe.primitives.filter(n=>n.type==="text"),ape=QQe.find(n=>n.text==="{VAL}");ape.x=-.35,ape.y=0,ape.anchor="middle_right";var ope=QQe.find(n=>n.text==="{REF}");ope.y=0,ope.x=.35,ope.anchor="middle_left";var W_n=ZQe,Z_n={paths:{path11:{type:"path",points:[{x:-.38509374449999945,y:-.00367374999999992},{x:.05876225550000025,y:-.00629674999999974}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.07415065550000066,y:.18559775000000034},{x:.07322065550000101,y:-.18255174999999935}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.28423665550000043,y:.53233025},{x:.2836366555000003,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.2912404555000001,y:-.5298821500000002},{x:.29184045550000004,y:-.10355795000000012}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.07425025549999931,y:.10788365000000044},{x:.29146205549999915,y:.10659565000000004}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.07425025549999931,y:-.10232114999999986},{x:.29146205549999915,y:-.10360915000000026}],color:"primary",fill:!1},path15:{type:"path",points:[{x:-.0829488445000004,y:.06153284999999986},{x:-.0829488445000004,y:-.06535114999999969},{x:.005945155500000077,y:-.0026521499999998532},{x:-.0829488445000004,y:.06153284999999986}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.15156024449999927,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.0393233555000001,y:-.42489435000000064}},refblocks:{top1:{x:.2843894554999997,y:.5519248499999992},bottom1:{x:.29108805550000105,y:-.5519248499999994},left1:{x:-.3990097444999998,y:-.004526550000000462}},bounds:{width:.8543363709999996,height:1.1601665819999987,centerX:27755575615628914e-33,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.13862605549999985,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:Q_n,texts:KQe,bounds:jj,refblocks:spe,circles:K_n}=Z_n,JQe=Km({primitives:[...Object.values(Q_n),...Object.values(K_n),{...KQe.top1,anchor:"middle_right",x:0},{...KQe.bottom1,anchor:"middle_right",x:0}],ports:[{...spe.top1,labels:["1","drain"]},{...spe.bottom1,labels:["2","source"]},{...spe.left1,labels:["3","gate"]}],size:{width:jj.width,height:jj.height},center:{x:jj.centerX,y:jj.centerY}}),eKe=Pl(JQe),tKe=eKe.primitives.filter(n=>n.type==="text"),lpe=tKe.find(n=>n.text==="{VAL}");lpe.x=-.35,lpe.y=0,lpe.anchor="middle_right";var cpe=tKe.find(n=>n.text==="{REF}");cpe.y=0,cpe.x=.35,cpe.anchor="middle_left";var J_n=eKe,upe={paths:{path11:{type:"path",points:[{x:-.3850939444999988,y:-.0036735999999999436},{x:.0587620555000008,y:-.0062965999999997635}],color:"primary",fill:!1},"path40-0":{type:"path",points:[{x:.07400475550000118,y:.2689528999999997},{x:.07335475550000092,y:-.2789230000000007}],color:"primary",fill:!1},"path40-0-5":{type:"path",points:[{x:.2754149555000005,y:.24180210000000013},{x:.07955815550000045,y:.10822479999999968}],color:"primary",fill:!1},"path40-0-5-0":{type:"path",points:[{x:.2868554555000009,y:-.24134789999999984},{x:.09194705550000082,y:-.10807689999999992}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.2851204555,y:.25311099999999964},{x:.2860204555000001,y:.5377640999999995}],color:"primary",fill:!1},"path12-1-5-3":{type:"path",points:[{x:.2851204555,y:-.5376890000000012},{x:.2860204555000001,y:-.25303590000000065}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.1882816555000013,y:-.10097660000000008},{x:.11555775550000158,y:-.20483720000000027},{x:.22425775550000182,y:-.20446720000000007},{x:.1882816555000013,y:-.10097660000000008}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.07802354449999971,y:.3596647999999991},bottom1:{type:"text",text:"{VAL}",x:-.0679100444999996,y:-.4129789000000006}},refblocks:{top1:{x:.28556045550000064,y:.5519250999999994},bottom1:{x:.285560455500002,y:-.5519250999999992},left1:{x:-.3990097444999998,y:-.004526300000000871}},bounds:{minX:-.4271681854999998,maxX:.4271681855000001,minY:-.5800835409999991,maxY:.5800835409999994,width:.8543363709999998,height:1.1601670819999985,centerX:13877787807814457e-32,centerY:11102230246251565e-32},circles:{"path1-0":{type:"circle",x:.13862605550000007,y:.003454799999999203,radius:.28854213,color:"primary",fill:!1}}},{paths:$On,texts:GOn,bounds:qOn,refblocks:YOn,circles:XOn}=upe,nKe=fd(upe).changeTextAnchor("{VAL}","middle_right").labelPort("left1",["3"]).labelPort("top1",["2"]).labelPort("bottom1",["1"]).changeTextAnchor("{REF}","middle_right").build(),exn=Pl(nKe),txn=exn.primitives.filter(n=>n.type==="text"),nxn=txn.find(n=>n.text==="{REF}");nxn.anchor="middle_left";var rxn=fd(upe).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_right").labelPort("left1",["3"]).labelPort("top1",["2"]).labelPort("bottom1",["1"]).changeTextAnchor("{REF}","middle_left").build(),ixn={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.0390362999999998},{x:-.3199943999999995,y:-.21132800000000015}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.3199943999999995,y:.31132800000000016},{x:.14458890000000002,y:.0390362999999998}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.3199943999999995,y:-.21132800000000015},{x:-.3199943999999995,y:.31132800000000016}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.3199943999999995,y:.1790362999999998},{x:-.58168694,y:.1790362999999998}],color:"primary",fill:!1},path45:{type:"path",points:[{x:-.3199943999999995,y:-.0890362999999998},{x:-.58168694,y:-.0890362999999998}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.4233797000000002,y:.03895110000000024},{x:.1496715999999998,y:.03895110000000024}],color:"primary",fill:!1},"rect1577-3":{type:"path",points:[{x:-.19898460000000012,y:.1790362999999998},{x:-.26995180000000035,y:.1790362999999998}],color:"primary",fill:!0},"rect1577-4":{type:"path",points:[{x:-.19898460000000012,y:-.0890362999999998},{x:-.26995180000000035,y:-.0890362999999998}],color:"primary",fill:!0},"rect1577-4-7":{type:"path",points:[{x:-.23480170000000036,y:-.05337805000000034},{x:-.23480170000000036,y:-.12434525000000014}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.4188453},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.29994529999999997}},refblocks:{left1:{x:-.56868694,y:.1790362999999998},left2:{x:-.56868694,y:-.0890362999999998},right1:{x:.4291470999999999,y:.03889609999999988}},bounds:{minX:-.5473055410000001,maxX:.5473055409999998,minY:-.37884529999999994,maxY:.26884529999999995,width:1.094611082,height:.2976905999999999,centerX:-11102230246251565e-32,centerY:.05499999999999999},circles:{}},Hj=fd(ixn).labelPort("left1",["1","inp1"]).labelPort("left2",["2","inp2"]).labelPort("right1",["3","out"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),axn=Pl(Hj,"down"),oxn=Pl(Hj,"left"),sxn=Pl(Hj,"up"),lxn={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.0390362999999998},{x:-.3199943999999995,y:-.21132800000000015}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.3199943999999995,y:.31132800000000016},{x:.14458890000000002,y:.0390362999999998}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.3199943999999995,y:-.21132800000000015},{x:-.3199943999999995,y:.31132800000000016}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.3199943999999995,y:.1790362999999998},{x:-.58168694,y:.1790362999999998}],color:"primary",fill:!1},path45:{type:"path",points:[{x:-.3199943999999995,y:-.0890362999999998},{x:-.58168694,y:-.0890362999999998}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.4233797000000002,y:.03895110000000024},{x:.1496715999999998,y:.03895110000000024}],color:"primary",fill:!1},"path44-1":{type:"path",points:[{x:-.09945180000000035,y:.43895110000000026},{x:-.09945180000000035,y:.1790362999999998}],color:"primary",fill:!1},"path44-2":{type:"path",points:[{x:-.09345180000000035,y:-.3389511000000002},{x:-.09345180000000035,y:-.0890362999999998}],color:"primary",fill:!1},"rect1577-3":{type:"path",points:[{x:-.19898460000000012,y:.1790362999999998},{x:-.26995180000000035,y:.1790362999999998}],color:"primary",fill:!0},"rect1577-4":{type:"path",points:[{x:-.19898460000000012,y:-.0890362999999998},{x:-.26995180000000035,y:-.0890362999999998}],color:"primary",fill:!0},"rect1577-4-7":{type:"path",points:[{x:-.23485180000000036,y:.14405005000000035},{x:-.23485180000000036,y:.2150405000000014}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:.2502509999999967,y:.31884529999999994},bottom1:{type:"text",text:"{VAL}",x:.2502509999999967,y:-.23599529999999996}},refblocks:{left1:{x:-.56868694,y:.1790362999999998},left2:{x:-.56868694,y:-.0890362999999998},right1:{x:.4291470999999999,y:.03889609999999988},top2:{x:-.09945180000000035,y:.43895110000000026},bottom1:{x:-.09345180000000035,y:-.3389511000000002}},bounds:{minX:-.5473055410000001,maxX:.5473055409999998,minY:-.37884529999999994,maxY:.26884529999999995,width:1.094611082,height:.2976905999999999,centerX:-11102230246251565e-32,centerY:.05499999999999999},circles:{}},Vj=fd(lxn).labelPort("left1",["1","inp1"]).labelPort("left2",["2","inp2"]).labelPort("right1",["3","out"]).labelPort("top2",["4","V+"]).labelPort("bottom1",["5","V-"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),cxn=Pl(Vj,"down"),uxn=Pl(Vj,"left"),fxn=Pl(Vj,"up"),dxn={paths:{path11:{type:"path",points:[{x:-.39274354450000026,y:-.10329954999999957},{x:.05111245549999932,y:-.1059225499999994}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.09373835550000087,y:.18559775000000034},{x:.09280835550000122,y:-.18255174999999935}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.30382435550000064,y:.53233025},{x:.3032243555000005,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.3108281555000003,y:-.5323308500000001},{x:.31142815550000025,y:-.005876249999999805}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.09383795549999951,y:.10788365000000044},{x:.31104975549999936,y:.10659565000000004}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.09383795549999951,y:-.10232114999999986},{x:.31104975549999936,y:-.10360915000000026}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.20244405549999955,y:.03061555000000049},{x:.20244405549999955,y:-.04077654999999947},{x:.2741990554999998,y:-.0054987499999992195},{x:.20244405549999955,y:.03061555000000049}],color:"primary",fill:!0},"path2-0":{type:"path",points:[{x:.09383795549999951,y:-.004018049999999551},{x:.31104975549999936,y:-.005306049999999729}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.05171245550000081,y:.16715385000000005},{x:.05111245550000065,y:-.10592255000000006}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.13197254449999907,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.05891105550000031,y:-.42489435000000064}},refblocks:{top1:{x:.30397715549999993,y:.5519248499999992},bottom1:{x:.31067575550000126,y:-.5519248499999994},left1:{x:-.41859744450000025,y:-.10250625000000024}},bounds:{width:.8935117710000002,height:1.1601665819999987,centerX:-8326672684688674e-32,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.15821375550000005,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:pxn,texts:rKe,bounds:$j,refblocks:fpe,circles:hxn}=dxn,iKe=Km({primitives:[...Object.values(pxn),...Object.values(hxn),{...rKe.top1,anchor:"middle_right",x:0},{...rKe.bottom1,anchor:"middle_right",x:0}],ports:[{...fpe.top1,labels:["1","drain"]},{...fpe.bottom1,labels:["2","source"]},{...fpe.left1,labels:["3","gate"]}],size:{width:$j.width,height:$j.height},center:{x:$j.centerX,y:$j.centerY}}),aKe=Pl(iKe),oKe=aKe.primitives.filter(n=>n.type==="text"),dpe=oKe.find(n=>n.text==="{VAL}");dpe.x=-.35,dpe.y=0,dpe.anchor="middle_right";var ppe=oKe.find(n=>n.text==="{REF}");ppe.y=0,ppe.x=.35,ppe.anchor="middle_left";var mxn=aKe,yxn={paths:{path11:{type:"path",points:[{x:-.39274354450000026,y:-.10329954999999957},{x:.05111245549999932,y:-.1059225499999994}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.30382435550000064,y:.53233025},{x:.3032243555000005,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.3108281555000003,y:-.5323308500000001},{x:.31142815550000025,y:-.005876249999999805}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.09383795549999951,y:.10788365000000044},{x:.31104975549999936,y:.10659565000000004}],color:"primary",fill:!1},"path2-8-3-7":{type:"path",points:[{x:.09448295549999952,y:.14677165000000048},{x:.09319295549999951,y:.06899565000000041}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.09383795549999951,y:-.10232114999999986},{x:.31104975549999936,y:-.10360915000000026}],color:"primary",fill:!1},"path2-8-3":{type:"path",points:[{x:.09440455549999993,y:-.07703174999999951},{x:.09311455549999992,y:-.15480774999999958}],color:"primary",fill:!1},"path2-8-3-2":{type:"path",points:[{x:.09448295549999952,y:.03486995000000048},{x:.09319295549999951,y:-.042906049999999585}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.20244405549999955,y:.03061555000000049},{x:.20244405549999955,y:-.04077654999999947},{x:.2741990554999998,y:-.0054987499999992195},{x:.20244405549999955,y:.03061555000000049}],color:"primary",fill:!0},"path2-0":{type:"path",points:[{x:.09383795549999951,y:-.004018049999999551},{x:.31104975549999936,y:-.005306049999999729}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.05171245550000081,y:.10847375000000059},{x:.05111245550000065,y:-.1059225499999994}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.13197254449999907,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.05891105550000031,y:-.42489435000000064}},refblocks:{top1:{x:.30397715549999993,y:.5519248499999992},bottom1:{x:.31067575550000126,y:-.5519248499999994},left1:{x:-.41859744450000025,y:-.10250625000000024}},bounds:{width:.8935117710000002,height:1.1601665819999987,centerX:-8326672684688674e-32,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.15821375550000005,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:vxn,texts:sKe,bounds:Gj,refblocks:hpe,circles:gxn}=yxn,lKe=Km({primitives:[...Object.values(vxn),...Object.values(gxn),{...sKe.top1,anchor:"middle_right",x:0},{...sKe.bottom1,anchor:"middle_right",x:0}],ports:[{...hpe.top1,labels:["1","drain"]},{...hpe.bottom1,labels:["2","source"]},{...hpe.left1,labels:["3","gate"]}],size:{width:Gj.width,height:Gj.height},center:{x:Gj.centerX,y:Gj.centerY}}),cKe=Pl(lKe),uKe=cKe.primitives.filter(n=>n.type==="text"),mpe=uKe.find(n=>n.text==="{VAL}");mpe.x=-.35,mpe.y=0,mpe.anchor="middle_right";var ype=uKe.find(n=>n.text==="{REF}");ype.y=0,ype.x=.35,ype.anchor="middle_left";var _xn=cKe,xxn={paths:{path11:{type:"path",points:[{x:-.5274831500000005,y:-.012413549999999773},{x:-.14891374999999973,y:-.015036549999999593}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.13221874999999983,y:-.001352349999999447},{x:-.1323642500000004,y:-.13364404999999913}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1323642500000004,y:.13093935000000023},{x:.13221874999999983,y:-.001352349999999447}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1323642500000004,y:-.1336440499999998},{x:-.1323642500000004,y:.13093935000000023}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.13221874999999983,y:.13093935000000023},{x:.13221874999999983,y:-.1336440499999998}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.1358253500000004,y:-.001921149999999372},{x:.533952450000001,y:-.012413549999999107}],color:"primary",fill:!1},"path25-0":{type:"path",points:[{x:.19839785000000076,y:.37576625000000075},{x:.16262485000000027,y:.28367475000000053},{x:.26033484999999956,y:.2989800500000006}],color:"primary",fill:!0},"path78-6":{type:"path",points:[{x:.3305468500000004,y:.4264014500000006},{x:.31941585000000017,y:.4163797500000006},{x:.20669285000000048,y:.3148875500000008},{x:.20564285000000115,y:.31448755000000084}],color:"primary",fill:!1},"path25-0-9":{type:"path",points:[{x:.34573984999999974,y:.3493283500000002},{x:.30996684999999946,y:.25723684999999996},{x:.40767644999999963,y:.27254215000000004}],color:"primary",fill:!0},"path78-6-5":{type:"path",points:[{x:.47788845000000046,y:.39996355000000006},{x:.46675745000000024,y:.38994185000000003},{x:.35403445000000033,y:.2884496500000002},{x:.352984450000001,y:.2880496500000005}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.10246254999999982,y:.34693914999999986},bottom1:{type:"text",text:"{VAL}",x:.0012544500000004621,y:-.4264014500000004}},refblocks:{left1:{x:-.5413984499999998,y:-.013266350000000315},right1:{x:.54139845,y:-.012269950000000529}},bounds:{minX:-.5695568909999997,maxX:.569556891,minY:-.4264014500000004,maxY:.4264014500000006,width:1.1391137819999997,height:.852802900000001,centerX:11102230246251565e-32,centerY:11102230246251565e-32},circles:{path1:{type:"circle",x:-.0037626500000000895,y:-.005285250000000241,radius:.28854213,color:"primary",fill:!1}}},fKe=fd(xxn).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),dKe=Pl(fKe),bxn=dKe.primitives.filter(n=>n.type==="text"),pKe=bxn.find(n=>n.text==="{REF}");pKe.y=0,pKe.anchor="middle_left";var Sxn=dKe,wxn={paths:{path11:{type:"path",points:[{x:-.38509374449999945,y:-.00367374999999992},{x:.05876225550000025,y:-.00629674999999974}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.07415065550000066,y:.18559775000000034},{x:.07322065550000101,y:-.18255174999999935}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.28423665550000043,y:.53233025},{x:.2836366555000003,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.2912404555000001,y:-.5298821500000002},{x:.29184045550000004,y:-.10355795000000012}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.07425025549999931,y:.10788365000000044},{x:.29146205549999915,y:.10659565000000004}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.07425025549999931,y:-.10232114999999986},{x:.29146205549999915,y:-.10360915000000026}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.005945155500000077,y:-.06535114999999969},{x:.005945155500000077,y:.06153284999999986},{x:-.0829488445000004,y:-.001166149999999977},{x:.005945155500000077,y:-.06535114999999969}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.15156024449999927,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.0393233555000001,y:-.42489435000000064}},refblocks:{top1:{x:.2843894554999997,y:.5519248499999992},bottom1:{x:.29108805550000105,y:-.5519248499999994},left1:{x:-.3990097444999998,y:-.004526550000000462}},bounds:{width:.8543363709999996,height:1.1601665819999987,centerX:27755575615628914e-33,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.13862605549999985,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:Exn,texts:hKe,bounds:qj,refblocks:vpe,circles:Txn}=wxn,mKe=Km({primitives:[...Object.values(Exn),...Object.values(Txn),{...hKe.top1,anchor:"middle_right",x:0},{...hKe.bottom1,anchor:"middle_right"}],ports:[{...vpe.top1,labels:["1","drain"]},{...vpe.bottom1,labels:["2","source"]},{...vpe.left1,labels:["3","gate"]}],size:{width:qj.width,height:qj.height},center:{x:qj.centerX,y:qj.centerY}}),yKe=Pl(mKe),vKe=yKe.primitives.filter(n=>n.type==="text"),gpe=vKe.find(n=>n.text==="{VAL}");gpe.x=-.35,gpe.y=0,gpe.anchor="middle_right";var _pe=vKe.find(n=>n.text==="{REF}");_pe.y=0,_pe.x=.35,_pe.anchor="middle_left";var Mxn=yKe,gKe={paths:{path11:{type:"path",points:[{x:-.3850939444999988,y:-.0036735999999999436},{x:.0587620555000008,y:-.0062965999999997635}],color:"primary",fill:!1},"path40-0":{type:"path",points:[{x:.07400475550000118,y:.2689528999999997},{x:.07335475550000092,y:-.2789230000000007}],color:"primary",fill:!1},"path40-0-5":{type:"path",points:[{x:.2754149555000005,y:.24180210000000013},{x:.07955815550000045,y:.10822479999999968}],color:"primary",fill:!1},"path40-0-5-0":{type:"path",points:[{x:.2868554555000009,y:-.24134789999999984},{x:.09194705550000082,y:-.10807689999999992}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.2851204555,y:.25311099999999964},{x:.2860204555000001,y:.5377640999999995}],color:"primary",fill:!1},"path12-1-5-3":{type:"path",points:[{x:.2851204555,y:-.5376890000000012},{x:.2860204555000001,y:-.25303590000000065}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.15155145550000038,y:-.2268796000000004},{x:.2242753555000001,y:-.12301900000000021},{x:.11557535549999942,y:-.12338900000000042},{x:.15155145550000038,y:-.2268796000000004}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.08351674449999891,y:.37335419999999897},bottom1:{type:"text",text:"{VAL}",x:-.0679100444999996,y:-.4129789000000006}},refblocks:{top1:{x:.28556045550000064,y:.5519250999999994},bottom1:{x:.285560455500002,y:-.5519250999999992},left1:{x:-.3990097444999998,y:-.004526300000000871}},bounds:{minX:-.4271681854999998,maxX:.4271681855000001,minY:-.5800835409999991,maxY:.5800835409999994,width:.8543363709999998,height:1.1601670819999985,centerX:13877787807814457e-32,centerY:11102230246251565e-32},circles:{"path1-0":{type:"circle",x:.13862605550000007,y:.003454799999999203,radius:.28854213,color:"primary",fill:!1}}},_Ke=fd(gKe).changeTextAnchor("{VAL}","middle_right").labelPort("left1",["3"]).labelPort("bottom1",["2"]).labelPort("top1",["1"]).changeTextAnchor("{REF}","middle_right").build(),Cxn=Pl(_Ke),Rxn=Cxn.primitives.filter(n=>n.type==="text"),Axn=Rxn.find(n=>n.text==="{REF}");Axn.anchor="middle_left";var Pxn=fd(gKe).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_right").labelPort("left1",["3"]).labelPort("bottom1",["2"]).labelPort("top1",["1"]).changeTextAnchor("{REF}","middle_left").build(),Nxn={paths:{path40:{type:"path",points:[{x:-.19250837381256392,y:.32749349347032286},{x:-.25568957329611974,y:.13794979950157282}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.38205206778131373,y:.26431229398676837},{x:-.19250837381256392,y:.32749349347032286}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.2556895732961204,y:.13794979950157416},{x:-.38205206778131373,y:.26431229398676837}],color:"primary",fill:!1},path43:{type:"path",points:[{x:-.2556896210551609,y:.39067474071292196},{x:-.12932712656996737,y:.26431224622772653}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.3199237641156438,y:.2000781031672434},{x:-.5084145145074668,y:.011587352775420667}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:-.011560829633404435,y:.5083596562436202},{x:-.19004023433272543,y:.3298802515442989}],color:"primary",fill:!1},"path40-4":{type:"path",points:[{x:-.19250813152967883,y:-.3220463011874377},{x:-.38205182549842887,y:-.2588651017038819}],color:"primary",fill:!1},"path41-1":{type:"path",points:[{x:-.2556893310132333,y:-.13250260721868767},{x:-.19250813152967883,y:-.3220463011874377}],color:"primary",fill:!1},"path42-7":{type:"path",points:[{x:-.38205182549842753,y:-.258865101703881},{x:-.2556893310132333,y:-.13250260721868767}],color:"primary",fill:!1},"path43-1":{type:"path",points:[{x:-.12932688428707984,y:-.2588650539448407},{x:-.25568937877227516,y:-.38522754843003404}],color:"primary",fill:!1},"path44-8":{type:"path",points:[{x:-.3199235218327583,y:-.19463091088435758},{x:-.508414272224581,y:-.006140160492534852}],color:"primary",fill:!1},"path44-0-7":{type:"path",points:[{x:-.011641968756381349,y:-.5029938453665972},{x:-.1901213734557028,y:-.3245144406672762}],color:"primary",fill:!1},"path40-4-0":{type:"path",points:[{x:.322578868470321,y:.19315369881256328},{x:.13303517450157099,y:.2563348982961191}],color:"primary",fill:!1},"path41-1-2":{type:"path",points:[{x:.2593976689867663,y:.3826973927813131},{x:.322578868470321,y:.19315369881256328}],color:"primary",fill:!1},"path42-7-1":{type:"path",points:[{x:.13303517450157232,y:.2563348982961198},{x:.2593976689867663,y:.3826973927813131}],color:"primary",fill:!1},"path43-1-8":{type:"path",points:[{x:.38576011571292,y:.2563349460551603},{x:.2593976212277247,y:.12997245156996673}],color:"primary",fill:!1},"path44-8-7":{type:"path",points:[{x:.19516347816724133,y:.3205690891156432},{x:.006672727775418608,y:.509059839507466}],color:"primary",fill:!1},"path44-0-7-1":{type:"path",points:[{x:.5034450312436185,y:.012206154633403798},{x:.32496562654429706,y:.19068555933272457}],color:"primary",fill:!1},"path40-4-8":{type:"path",points:[{x:.3220220261874358,y:-.19326390652967795},{x:.25884082670387976,y:-.382807600498428}],color:"primary",fill:!1},"path41-1-4":{type:"path",points:[{x:.13247833221868577,y:-.25644510601323245},{x:.3220220261874358,y:-.19326390652967795}],color:"primary",fill:!1},"path42-7-0":{type:"path",points:[{x:.2588408267038793,y:-.38280760049842666},{x:.13247833221868577,y:-.25644510601323245}],color:"primary",fill:!1},"path43-1-0":{type:"path",points:[{x:.2588407789448386,y:-.13008265928707896},{x:.38520327343003213,y:-.2564451537722743}],color:"primary",fill:!1},"path44-8-9":{type:"path",points:[{x:.19460663588435567,y:-.3206792968327574},{x:.0061158854925329464,y:-.5091700472245801}],color:"primary",fill:!1},"path44-0-7-3":{type:"path",points:[{x:.5029695703665951,y:-.012397743756380697},{x:.3244901656672745,y:-.19087714845570192}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.2872803000000015,y:.4564494249999992},bottom1:{type:"text",text:"{VAL}",x:-.2872803000000015,y:-.4960514750000007}},refblocks:{left1:{x:-.5191472999999998,y:.0005123250000014234},right1:{x:.5191473000000002,y:-.0005123749999977889}},bounds:{width:1.094611482,height:1.0946118820000001,centerX:2220446049250313e-31,centerY:-5551115123125783e-32}},{paths:Dxn,texts:xKe,bounds:Yj,refblocks:bKe}=Nxn,SKe=Km({primitives:[...Object.values(Dxn),{...xKe.bottom1,y:.35,anchor:"middle_top"},{...xKe.top1,anchor:"middle_left"}],ports:[{...bKe.left1,labels:["1"]},{...bKe.right1,labels:["2"]}],size:{width:Yj.width+.05,height:Yj.height},center:{x:Yj.centerX,y:Yj.centerY}}),Lxn=Pl(SKe),Oxn=Lxn,zxn={paths:{path18:{type:"path",points:[{x:-.53224045,y:-.0008545000000008685},{x:-.26765715000000023,y:-.0008545000000008685}],color:"primary",fill:!1},path19:{type:"path",points:[{x:.2615098499999995,y:-.0008545000000008685},{x:.5260934499999994,y:-.0008545000000008685}],color:"primary",fill:!1},path20:{type:"path",points:[{x:-.0030722500000006647,y:.1314371999999988},{x:.2615107499999998,y:.1314371999999988},{x:.2615107499999998,y:-.13314619999999877},{x:-.26765624999999993,y:-.13314619999999877},{x:-.26765624999999993,y:.1314371999999988},{x:-.0030722499999988884,y:.1314371999999988}],color:"primary",fill:!1},path23:{type:"path",points:[{x:.2782993499999993,y:-.2822274},{x:.17598844999999885,y:-.25486950000000164},{x:.25094144999999823,y:-.1799165000000027}],color:"primary",fill:!0},path24:{type:"path",points:[{x:.2882692499999995,y:-.2921307000000013},{x:.25467554999999953,y:-.16634940000000142},{x:.16229264999999948,y:-.25853690000000284}],color:"primary",fill:!0},path26:{type:"path",points:[{x:-.2985911500000009,y:.2921307000000013},{x:.22988164999999938,y:-.2328032000000011}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:.055041669999999154,y:.2009376800000009},bottom1:{type:"text",text:"{VAL}",x:-.10019643000000089,y:-.27857531999999985}},refblocks:{left1:{x:-.5346914500000006,y:-.0013439000000019519},right1:{x:.5346914500000004,y:-.001956599999999753}},bounds:{width:1.125699782000001,height:.5842614000000026,centerX:-11102230246251565e-32,centerY:0}},{paths:Uxn,texts:wKe,bounds:Xj,refblocks:EKe}=zxn,TKe=Km({primitives:[...Object.values(Uxn),{...wKe.bottom1,anchor:"middle_top"},{...wKe.top1,anchor:"middle_bottom"}],ports:[{...EKe.left1,labels:["1"]},{...EKe.right1,labels:["2"]}],size:{width:Xj.width,height:Xj.height},center:{x:Xj.centerX,y:Xj.centerY}}),MKe=Pl(TKe),CKe=MKe.primitives.filter(n=>n.type==="text"),kxn=CKe.find(n=>n.text==="{VAL}");kxn.anchor="middle_right";var Ixn=CKe.find(n=>n.text==="{REF}");Ixn.anchor="middle_left";var Fxn=MKe,Bxn={paths:{path1:{type:"path",points:[{x:-.4,y:0},{x:-.3,y:0}],color:"primary",fill:!1},"path1-2-1":{type:"path",points:[{x:-.3,y:0},{x:-.25,y:.1},{x:-.15,y:-.1},{x:-.05,y:.1},{x:.05,y:-.1},{x:.15,y:.1},{x:.25,y:-.1},{x:.3,y:0}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.3,y:0},{x:.4,y:0}],color:"primary",fill:!1},path3:{type:"path",points:[{x:0,y:-.17},{x:0,y:-.4}],color:"primary",fill:!1},path15:{type:"path",points:[{x:0,y:-.12},{x:.05,y:-.2},{x:-.05,y:-.2},{x:0,y:-.12}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:.3,y:.25},bottom1:{type:"text",text:"{VAL}",x:.3,y:-.25}},refblocks:{left:{x:-.42,y:0},right:{x:.42,y:0},bottom:{x:0,y:-.4}},bounds:{minX:-.42,maxX:.42,minY:-.2,maxY:.2,width:.84,height:.4,centerX:0,centerY:0},circles:{}},Wj=fd(Bxn).labelPort("left",["1"]).labelPort("right",["3"]).labelPort("bottom",["2"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),jxn=Pl(Wj,"down"),Hxn=Pl(Wj,"left"),Vxn=Pl(Wj,"up"),$xn={paths:{path11:{type:"path",points:[{x:-.5274831500000005,y:.02812460000000061},{x:-.30105415000000013,y:.02812460000000061}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2932119499999999,y:.02812460000000061},{x:.5339524499999997,y:.02812460000000061}],color:"primary",fill:!1}},refblocks:{left1:{x:-.5413984499999998,y:.027271800000000068},right1:{x:.54139845,y:.028268199999999855}},bounds:{width:1.1391137819999997,height:.7903522000000003,centerX:11102230246251565e-32,centerY:11102230246251565e-32},circles:{path1:{type:"circle",x:-.0037626500000000895,y:.03525290000000014,radius:.28854213,color:"primary",fill:!1}}},{paths:Gxn,bounds:Zj,refblocks:RKe,circles:qxn}=$xn,AKe=Km({primitives:[...Object.values(Gxn),...Object.values(qxn),{type:"text",text:"{REF}",x:-.15,y:-.42330070000000064,anchor:"middle_top"},{type:"text",text:"{VAL}",x:-.15,y:.42330070000000064,anchor:"middle_bottom"},{type:"text",text:"COS φ",x:0,y:.014279000000000375,anchor:"center"}],ports:[{...RKe.left1,labels:["1"]},{...RKe.right1,labels:["2"]}],size:{width:Zj.width,height:Zj.height},center:{x:Zj.centerX,y:Zj.centerY}}),PKe=Pl(AKe),xpe=PKe.primitives.filter(n=>n.type==="text"),bpe=xpe.find(n=>n.text==="{REF}"),Spe=xpe.find(n=>n.text==="{VAL}"),wpe=xpe.find(n=>n.text==="COS φ");bpe.x=.35,bpe.y=0,bpe.anchor="middle_left",Spe.anchor="middle_right",Spe.x=-.35,Spe.y=0,wpe.x=0,wpe.y=0,wpe.anchor="center";var Yxn=PKe,Xxn={paths:{"path12-1-8-6-9-9":{type:"path",points:[{x:.013196749999999646,y:.030446500000000043},{x:.013196749999999646,y:-.0859464999999986}],color:"primary",fill:!1},"path12-1-5-6-4":{type:"path",points:[{x:-.4867871500000014,y:-.0510704999999998},{x:-.17248085000000124,y:-.0510704999999998}],color:"primary",fill:!1},"path12-1-8-0-0":{type:"path",points:[{x:-.15916995000000078,y:-.0915204999999979},{x:.1810634499999999,y:-.0915204999999979}],color:"primary",fill:!1},"path12-1-0-1":{type:"path",points:[{x:.19611864999999984,y:-.05109549999999885},{x:.48876354999999894,y:-.05109549999999885}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:.007320949999999549,y:.22461850000000005},bottom1:{type:"text",text:"{VAL}",x:-.1606897500000004,y:-.22461849999999828}},refblocks:{left1:{x:-.47241845000000104,y:-.05104349999999869},right1:{x:.47241845000000016,y:-.051482499999998765}},bounds:{width:1.0011537820000012,height:.44923699999999833,centerX:-4440892098500626e-31,centerY:8881784197001252e-31},circles:{"circle-2":{type:"circle",x:-.14387115000000072,y:-.05130149999999922,radius:.023193523,color:"primary",fill:!1},circle:{type:"circle",x:.16803074999999978,y:-.05007949999999717,radius:.023193523,color:"primary",fill:!1}}},{paths:Wxn,texts:NKe,bounds:Qj,refblocks:DKe,circles:Zxn}=Xxn,LKe=Km({primitives:[...Object.values(Wxn),...Object.values(Zxn),{...NKe.top1,anchor:"middle_left"},{...NKe.bottom1,anchor:"middle_left"}],ports:[{...DKe.left1,labels:["1"]},{...DKe.right1,labels:["2"]}],size:{width:Qj.width,height:Qj.height},center:{x:Qj.centerX,y:Qj.centerY}}),Qxn=Pl(LKe,"up"),Kxn={paths:{"path12-1-8-6-9-9":{type:"path",points:[{x:-.04575882,y:.08981650000000013},{x:-.04575882,y:.039523500000001495}],color:"primary",fill:!1},"path12-1-8-7-9-9":{type:"path",points:[{x:-.04575882,y:.08981650000000013},{x:.06765231,y:.08981650000000013}],color:"primary",fill:!1},"path12-1-8-6-9-10":{type:"path",points:[{x:.06765231,y:.08981650000000013},{x:.06765231,y:.039523500000001495}],color:"primary",fill:!1},"path12-1-5-6-4":{type:"path",points:[{x:-.4867871500000014,y:-.0510704999999998},{x:-.17248085000000124,y:-.0510704999999998}],color:"primary",fill:!1},"path12-1-8-0-0":{type:"path",points:[{x:-.15916995000000078,y:.03984950000000042},{x:.1810634499999999,y:.03984950000000042}],color:"primary",fill:!1},"path12-1-0-1":{type:"path",points:[{x:.19611864999999984,y:-.05109549999999885},{x:.48876354999999894,y:-.05109549999999885}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:.007320949999999549,y:.29461850000000006},bottom1:{type:"text",text:"{VAL}",x:-.1606897500000004,y:-.22461849999999828}},refblocks:{left1:{x:-.47241845000000104,y:-.05104349999999869},right1:{x:.47241845000000016,y:-.051482499999998765}},bounds:{width:1.0011537820000012,height:.44923699999999833,centerX:-4440892098500626e-31,centerY:8881784197001252e-31},circles:{"circle-2":{type:"circle",x:-.14387115000000072,y:-.05130149999999922,radius:.023193523,color:"primary",fill:!1},circle:{type:"circle",x:.16803074999999978,y:-.05007949999999717,radius:.023193523,color:"primary",fill:!1}}},{paths:Jxn,texts:OKe,bounds:Kj,refblocks:zKe,circles:e2n}=Kxn,UKe=Km({primitives:[...Object.values(Jxn),...Object.values(e2n),{...OKe.top1,anchor:"middle_left"},{...OKe.bottom1,anchor:"middle_left"}],ports:[{...zKe.left1,labels:["1"]},{...zKe.right1,labels:["2"]}],size:{width:Kj.width,height:Kj.height},center:{x:Kj.centerX,y:Kj.centerY}}),t2n=Pl(UKe,"up"),n2n={paths:{path40:{type:"path",points:[{x:-.19250837381256392,y:-.32749349347032286},{x:-.25568957329611974,y:-.13794979950157282}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.38205206778131373,y:-.26431229398676837},{x:-.19250837381256392,y:-.32749349347032286}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.2556895732961204,y:-.13794979950157416},{x:-.38205206778131373,y:-.26431229398676837}],color:"primary",fill:!1},path43:{type:"path",points:[{x:-.2556896210551609,y:-.39067474071292196},{x:-.12932712656996737,y:-.26431224622772653}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.3199237641156438,y:-.2000781031672434},{x:-.5084145145074668,y:-.011587352775420667}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:-.011560829633404435,y:-.5083596562436202},{x:-.19004023433272543,y:-.3298802515442989}],color:"primary",fill:!1},"path40-4":{type:"path",points:[{x:-.19250813152967883,y:.3220463011874377},{x:-.38205182549842887,y:.2588651017038819}],color:"primary",fill:!1},"path41-1":{type:"path",points:[{x:-.2556893310132333,y:.13250260721868767},{x:-.19250813152967883,y:.3220463011874377}],color:"primary",fill:!1},"path42-7":{type:"path",points:[{x:-.38205182549842753,y:.258865101703881},{x:-.2556893310132333,y:.13250260721868767}],color:"primary",fill:!1},"path43-1":{type:"path",points:[{x:-.12932688428707984,y:.2588650539448407},{x:-.25568937877227516,y:.38522754843003404}],color:"primary",fill:!1},"path44-8":{type:"path",points:[{x:-.3199235218327583,y:.19463091088435758},{x:-.508414272224581,y:.006140160492534852}],color:"primary",fill:!1},"path44-0-7":{type:"path",points:[{x:-.011641968756381349,y:.5029938453665972},{x:-.1901213734557028,y:.3245144406672762}],color:"primary",fill:!1},"path40-4-0":{type:"path",points:[{x:.322578868470321,y:-.19315369881256328},{x:.13303517450157099,y:-.2563348982961191}],color:"primary",fill:!1},"path41-1-2":{type:"path",points:[{x:.2593976689867663,y:-.3826973927813131},{x:.322578868470321,y:-.19315369881256328}],color:"primary",fill:!1},"path42-7-1":{type:"path",points:[{x:.13303517450157232,y:-.2563348982961198},{x:.2593976689867663,y:-.3826973927813131}],color:"primary",fill:!1},"path43-1-8":{type:"path",points:[{x:.38576011571292,y:-.2563349460551603},{x:.2593976212277247,y:-.12997245156996673}],color:"primary",fill:!1},"path44-8-7":{type:"path",points:[{x:.19516347816724133,y:-.3205690891156432},{x:.006672727775418608,y:-.509059839507466}],color:"primary",fill:!1},"path44-0-7-1":{type:"path",points:[{x:.5034450312436185,y:-.012206154633403798},{x:.32496562654429706,y:-.19068555933272457}],color:"primary",fill:!1},"path40-4-8":{type:"path",points:[{x:.3220220261874358,y:.19326390652967795},{x:.25884082670387976,y:.382807600498428}],color:"primary",fill:!1},"path41-1-4":{type:"path",points:[{x:.13247833221868577,y:.25644510601323245},{x:.3220220261874358,y:.19326390652967795}],color:"primary",fill:!1},"path42-7-0":{type:"path",points:[{x:.2588408267038793,y:.38280760049842666},{x:.13247833221868577,y:.25644510601323245}],color:"primary",fill:!1},"path43-1-0":{type:"path",points:[{x:.2588407789448386,y:.13008265928707896},{x:.38520327343003213,y:.2564451537722743}],color:"primary",fill:!1},"path44-8-9":{type:"path",points:[{x:.19460663588435567,y:.3206792968327574},{x:.0061158854925329464,y:.5091700472245801}],color:"primary",fill:!1},"path44-0-7-3":{type:"path",points:[{x:.5029695703665951,y:.012397743756380697},{x:.3244901656672745,y:.19087714845570192}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.2872803000000015,y:-.4564494249999992},bottom1:{type:"text",text:"{VAL}",x:-.2872803000000015,y:.4960514750000007}},refblocks:{top1:{x:.0005126999999993664,y:-.5191475},bottom1:{x:-.0005123000000009093,y:.5191475000000001},left1:{x:-.5191472999999998,y:-.0005123250000014234},right1:{x:.5191473000000002,y:.0005123749999977889}},bounds:{width:1.094611482,height:1.1037553659999992,centerX:2220446049250313e-31,centerY:-.004571741999999546},circles:{}},{paths:r2n,texts:kKe,bounds:Jj,refblocks:eH,circles:i2n}=n2n,IKe=Km({primitives:[...Object.values(r2n),...Object.values(i2n),{...kKe.top1,anchor:"middle_right"},{...kKe.bottom1,anchor:"middle_right"}],ports:[{...eH.top1,labels:["1"]},{...eH.bottom1,labels:["2"]},{...eH.left1,labels:["3"]},{...eH.right1,labels:["4"]}],size:{width:Jj.width,height:Jj.height},center:{x:Jj.centerX,y:Jj.centerY}}),Epe=Pl(IKe),a2n=Epe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),o2n=Epe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");a2n.anchor="middle_left",o2n.anchor="middle_right";var s2n=Epe,l2n={paths:{path27:{type:"path",points:[{x:.7635944500000007,y:-.2799544500000035},{x:.3138028500000005,y:-.2799544500000035}],color:"primary",fill:!1},path28:{type:"path",points:[{x:-.301017949999999,y:-.01524775000000389},{x:-.7508096499999994,y:-.01524775000000389}],color:"primary",fill:!1},path30:{type:"path",points:[{x:-.3010179499999994,y:.3480486499999973},{x:-.301017949999999,y:-.2798310500000021}],color:"primary",fill:!1},"path27-3":{type:"path",points:[{x:.7729788499999999,y:.3512451499999969},{x:.32318725000000015,y:.3512451499999969}],color:"primary",fill:!1},"path29-5":{type:"path",points:[{x:-.07279374999999932,y:-.27981925000000274},{x:-.2983350499999995,y:-.27981925000000274}],color:"primary",fill:!1},"path29-5-7":{type:"path",points:[{x:.33114835000000076,y:-.2798404500000018},{x:.10560705000000059,y:-.2798404500000018}],color:"primary",fill:!1},"path29-5-7-6":{type:"path",points:[{x:-.055820049999999455,y:-.1676584500000029},{x:-.055820049999999455,y:-.3931997500000026}],color:"primary",fill:!1},"path29-5-7-6-6":{type:"path",points:[{x:.09396265000000081,y:-.16768285000000382},{x:.09396265000000081,y:-.39322415000000355}],color:"primary",fill:!1},"path29-5-9":{type:"path",points:[{x:-.07296184999999955,y:.3513701499999957},{x:-.2985031499999997,y:.3513701499999957}],color:"primary",fill:!1},"path29-5-7-2":{type:"path",points:[{x:.33098025000000053,y:.35134894999999844},{x:.10543895000000036,y:.35134894999999844}],color:"primary",fill:!1},"path29-5-7-6-0":{type:"path",points:[{x:-.05598814999999968,y:.46353094999999733},{x:-.05598814999999968,y:.23798964999999583}],color:"primary",fill:!1},"path29-5-7-6-6-2":{type:"path",points:[{x:.09379455000000014,y:.4635065499999982},{x:.09379455000000014,y:.23796524999999846}],color:"primary",fill:!1},"path29-5-92":{type:"path",points:[{x:.3315317500000008,y:.12563884999999786},{x:.33153175000000035,y:.3511801499999976}],color:"primary",fill:!1},"path29-5-7-28":{type:"path",points:[{x:.3315105500000004,y:-.2783032500000022},{x:.3315105500000004,y:-.0527619500000025}],color:"primary",fill:!1},"path29-5-7-6-9":{type:"path",points:[{x:.44369255000000063,y:.10866514999999843},{x:.21815125000000046,y:.10866514999999843}],color:"primary",fill:!1},"path29-5-7-6-6-7":{type:"path",points:[{x:.4436681500000006,y:-.04111755000000272},{x:.21812685000000043,y:-.04111755000000272}],color:"primary",fill:!1},"path29-5-7-6-9-2":{type:"path",points:[{x:.44235445000000073,y:.07167004999999627},{x:.21681315000000057,y:.07167004999999627}],color:"primary",fill:!1},"path29-5-7-6-9-2-4":{type:"path",points:[{x:.4429695500000004,y:-.0025598500000008073},{x:.4430214500000007,y:.07134914999999609}],color:"primary",fill:!1},"path29-5-7-6-9-2-4-6":{type:"path",points:[{x:.21634305000000031,y:-.0035468500000046532},{x:.21639495000000064,y:.07036214999999935}],color:"primary",fill:!1},"path29-5-7-6-9-2-9":{type:"path",points:[{x:.4429537500000005,y:-.004130850000002795},{x:.21741245000000076,y:-.004130850000002795}],color:"primary",fill:!1}},refblocks:{left1:{x:-.7666234499999998,y:-.01615045000000137},right1:{x:.7572390499999999,y:-.28185235000000297},right2:{x:.7666234500000004,y:.3493472499999992}},bounds:{width:1.5895637820000001,height:1.0717002999999998,centerX:33306690738754696e-32,centerY:-17763568394002505e-31},circles:{}},{paths:c2n,bounds:tH,refblocks:Tpe,circles:u2n}=l2n,FKe=Km({primitives:[...Object.values(c2n),...Object.values(u2n),{type:"text",text:"{REF}",x:.01596175000000022,y:-.5308501500000009,anchor:"middle_top"},{type:"text",text:"{VAL}",x:.013116750000000454,y:.5408501499999989,anchor:"middle_bottom"}],ports:[{...Tpe.left1,labels:["1"]},{...Tpe.right1,labels:["2"]},{...Tpe.right2,labels:["3"]}],size:{width:tH.width,height:tH.height},center:{x:tH.centerX,y:tH.centerY}}),f2n=Pl(FKe),d2n={paths:{path40:{type:"path",points:[{x:.14458930000000048,y:.04403649999999937},{x:-.11999399999999905,y:-.0882552000000012}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.11999400000000038,y:.1763281999999997},{x:.14458929999999914,y:.04403649999999937}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.11999400000000038,y:-.0882552000000012},{x:-.11999400000000038,y:.17632819999999816}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.1435300000000006,y:.17844679999999968},{x:.14458899999999986,y:-.08825519999999965}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219870000000044,y:.04403649999999937},{x:-.5168690000000005,y:.04403649999999937}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233800999999991,y:.043951299999999804},{x:.14967199999999892,y:.043951299999999804}],color:"primary",fill:!1},"path43-7":{type:"path",points:[{x:.2075533999999999,y:.17973149999999904},{x:.14341080000000028,y:.17864949999999946}],color:"primary",fill:!1},"path43-7-9":{type:"path",points:[{x:.2093444999999996,y:.1301679},{x:.20797049999999984,y:.17950350000000048}],color:"primary",fill:!1},"path43-7-2":{type:"path",points:[{x:.07978989999999953,y:-.09023340000000024},{x:.14313979999999948,y:-.09001340000000013}],color:"primary",fill:!1},"path43-7-9-3":{type:"path",points:[{x:.07764390000000043,y:-.04104850000000004},{x:.0790179000000002,y:-.09038410000000074}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999994495,y:.27384530000000007},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.27384530000000007}},refblocks:{left1:{x:-.5191471,y:.044920799999999206},right1:{x:.5191470999999999,y:.04389609999999999}},bounds:{minX:-.547305541,maxX:.5473055409999998,minY:-.27384530000000007,maxY:.27384530000000007,width:1.0946110819999997,height:.5476906000000001,centerX:-5551115123125783e-32,centerY:0},circles:{}},BKe=fd(d2n).labelPort("left1",["1","pos"]).labelPort("right1",["2","neg"]).changeTextAnchor("{VAL}","middle_top").changeTextAnchor("{REF}","middle_bottom").build(),Mpe=Pl(BKe),p2n=Mpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),h2n=Mpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");p2n.anchor="middle_left",h2n.anchor="middle_right";var m2n=Mpe,jKe={paths:{path11:{type:"path",points:[{x:-.49895505000000084,y:.04174485000000061},{x:-.177441850000001,y:.04174485000000061}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.18704774999999918,y:.04961415000000069},{x:.5063384499999999,y:.04961415000000069}],color:"primary",fill:!1},"path12-6":{type:"path",points:[{x:.18219425000000045,y:-.15200134999999904},{x:.1810882500000004,y:.2512156500000011}],color:"primary",fill:!1},"path12-2":{type:"path",points:[{x:.18646324999999986,y:.0047866500000004475},{x:.34602244999999954,y:-.13539324999999924}],color:"primary",fill:!1},"path12-2-9":{type:"path",points:[{x:.3463884499999992,y:-.14077354999999936},{x:.3447284499999994,y:-.3343437499999993}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.17016305000000087,y:.2706752500000007},{x:-.17223005000000047,y:-.15200864999999908},{x:.180362149999999,y:.04760855000000097},{x:-.16624855000000038,y:.27180665000000137}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.22312565000000006,y:.38273545},bottom1:{type:"text",text:"{VAL}",x:.11142554999999987,y:-.38273544999999976}},refblocks:{bottom1:{x:.3445824499999999,y:-.34953845000000006},left1:{x:-.5177904499999998,y:.04089205000000007},right1:{x:.5177904499999997,y:.049757749999999934}},bounds:{minX:-.5459488909999998,maxX:.5459488909999997,minY:-.38273544999999976,maxY:.38273545,width:1.0918977819999993,height:.7654708999999997,centerX:-5551115123125783e-32,centerY:11102230246251565e-32},circles:{}},{paths:WOn,texts:ZOn,bounds:QOn,refblocks:KOn,circles:JOn}=jKe,HKe=fd(jKe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).labelPort("bottom1",["3"]).changeTextAnchor("{REF}","middle_bottom").build(),VKe=Pl(HKe),y2n=VKe.primitives.filter(n=>n.type==="text"),$Ke=y2n.find(n=>n.text==="{REF}");$Ke.y=0,$Ke.anchor="middle_left";var v2n=VKe,g2n={paths:{path1:{type:"path",points:[{x:-.3543583500000005,y:.03204385000000087},{x:-.12792935000000005,y:.03204385000000087}],color:"primary",fill:!1},"path-1-3":{type:"path",points:[{x:-.0733669500000003,y:.0261987500000005},{x:.10908324999999996,y:-.029100155000000048}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.1043477500000003,y:-.0645130499999993},{x:.34508875000000017,y:-.0645130499999993}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.12008575000000055,y:.17214665000000062},{x:.3608267500000004,y:.17214665000000062}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.3716265000000006},bottom1:{type:"text",text:"{VAL}",x:0,y:-.3716264999999984}},refblocks:{left1:{x:-.3682737499999995,y:.03204385000000021},right1:{x:.3682737499999995,y:-.06451304999999996},right2:{x:.3682737499999995,y:.17214665000000062}},bounds:{minX:-.3964321909999995,maxX:.3964321909999995,minY:-.39716264999999984,maxY:.39716265000000006,width:.792864381999999,height:.7943252999999999,centerX:0,centerY:11102230246251565e-32},circles:{"circle-3":{type:"circle",x:.08200307499999998,y:-.06518,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.09900307499999998,y:.02848,radius:.023193523,color:"primary",fill:!1},"circle-2":{type:"circle",x:.08200307499999998,y:.172848,radius:.023193523,color:"primary",fill:!1}}},nH=fd(g2n).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right2",["2"]).labelPort("right1",["3"]).changeTextAnchor("{REF}","middle_bottom").build(),Cpe=Pl(nH,"down"),Rpe=Cpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Ape=Cpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Rpe.anchor="middle_bottom",Ape.anchor="middle_top",Rpe.x=.44,Rpe.y+=.28,Ape.y-=.28,Ape.x=.44;var _2n=Cpe,Ppe=Pl(nH,"left"),Npe=Ppe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Dpe=Ppe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Npe.anchor="middle_bottom",Dpe.anchor="middle_top",Npe.x=0,Npe.y+=.625,Dpe.y-=.695,Dpe.x=0;var x2n=Ppe,Lpe=Pl(nH,"up"),Ope=Lpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),zpe=Lpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Ope.anchor="middle_bottom",zpe.anchor="middle_top",Ope.x=.4,Ope.y+=.28,zpe.y-=.28,zpe.x=.4;var b2n=Lpe,GKe={paths:{path1:{type:"path",points:[{x:-.3543583500000005,y:.03204385000000087},{x:-.12792935000000005,y:.03204385000000087}],color:"primary",fill:!1},"path-1-3":{type:"path",points:[{x:-.1133669500000003,y:.0321987500000005},{x:.11208324999999997,y:.14600155000000048}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.1043477500000003,y:-.0645130499999993},{x:.34508875000000017,y:-.0645130499999993}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.12008575000000055,y:.17214665000000062},{x:.3608267500000004,y:.17214665000000062}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.17853294999999947,y:.39716265000000006},bottom1:{type:"text",text:"{VAL}",x:-.011861250000000378,y:-.39716264999999984}},refblocks:{left1:{x:-.3682737499999995,y:.03204385000000021},right1:{x:.3682737499999995,y:-.06451304999999996},right2:{x:.3682737499999995,y:.17214665000000062}},bounds:{width:.792864381999999,height:.7943252999999999,centerX:0,centerY:11102230246251565e-32},circles:{}};GKe.bounds.width+=.2;var{paths:S2n,texts:qKe,bounds:rH,refblocks:Upe,circles:w2n}=GKe,YKe=Km({primitives:[...Object.values(S2n),...Object.values(w2n),{...qKe.top1,anchor:"middle_bottom",x:-.01},{...qKe.bottom1,anchor:"middle_top",x:-.01}],ports:[{...Upe.left1,labels:["1"]},{...Upe.right1,labels:["3"]},{...Upe.right2,labels:["2"]}],size:{width:rH.width,height:rH.height},center:{x:rH.centerX,y:rH.centerY}}),XKe=Pl(YKe),WKe=XKe.primitives.filter(n=>n.type==="text"),kpe=WKe.find(n=>n.text==="{VAL}");kpe.anchor="middle_right",kpe.x=-.3,kpe.y=0;var Ipe=WKe.find(n=>n.text==="{REF}");Ipe.anchor="middle_left",Ipe.x=.3,Ipe.y=0;var E2n=XKe,iH={paths:{path11:{type:"path",points:[{x:-.3622273500000006,y:-.0018583499999986763},{x:-.13579835000000018,y:-.0018583499999986763}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.07410005000000046,y:-.0003888499999992217},{x:.11030783499999999,y:.04830055000000119}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.12795584999999932,y:-.0018583499999986763},{x:.3686967499999996,y:-.0018583499999986763}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.31026835},bottom1:{type:"text",text:"{VAL}",x:0,y:-.28026835000000005}},refblocks:{left1:{x:-.12356015000000009,y:-.006648049999999239},left2:{x:-.37614274999999964,y:-.002711249999999721},right1:{x:.11531695000000042,y:-.006648049999999239},right2:{x:.37614274999999964,y:-.0017148499999992683}},bounds:{minX:-.4043011909999996,maxX:.4043011909999996,minY:-.25026835000000003,maxY:.25026835000000003,width:.8086023819999992,height:.5005367000000001,centerX:0,centerY:0},circles:{"circle-2":{type:"circle",x:.09900307499999998,y:.00148,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.09900307499999998,y:.00148,radius:.023193523,color:"primary",fill:!1}}};delete iH.refblocks.left1,delete iH.refblocks.right1,iH.bounds.width+=.2;var aH=fd(iH).changeTextAnchor("{VAL}","middle_top").labelPort("left2",["1"]).labelPort("right2",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),Fpe=Pl(aH,"down"),Bpe=Fpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),jpe=Fpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Bpe.anchor="middle_bottom",jpe.anchor="middle_top",Bpe.x=.3,Bpe.y+=.265,jpe.y-=.265,jpe.x=.3;var T2n=Fpe,Hpe=Pl(aH,"left"),Vpe=Hpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),$pe=Hpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Vpe.anchor="middle_bottom",$pe.anchor="middle_top",Vpe.x=0,Vpe.y+=.57,$pe.y-=.57,$pe.x=0;var M2n=Hpe,Gpe=Pl(aH,"up"),qpe=Gpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Ype=Gpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");qpe.anchor="middle_bottom",Ype.anchor="middle_top",qpe.x=.3,qpe.y+=.265,Ype.y-=.265,Ype.x=.3;var C2n=Gpe,oH={paths:{path11:{type:"path",points:[{x:-.3622273500000006,y:-.0018583499999986763},{x:-.13579835000000018,y:-.0018583499999986763}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.12010005000000046,y:-.0033888499999992217},{x:.10307834999999987,y:.13630055000000119}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.12795584999999932,y:-.0018583499999986763},{x:.3686967499999996,y:-.0018583499999986763}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.03688484999999986,y:.25026835000000003},bottom1:{type:"text",text:"{VAL}",x:-.02235315000000071,y:-.25026835000000003}},refblocks:{left1:{x:-.12356015000000009,y:-.006648049999999239},left2:{x:-.37614274999999964,y:-.002711249999999721},right1:{x:.11531695000000042,y:-.006648049999999239},right2:{x:.37614274999999964,y:-.0017148499999992683}},bounds:{minX:-.4043011909999996,maxX:.4043011909999996,minY:-.25026835000000003,maxY:.25026835000000003,width:.8086023819999992,height:.5005367000000001,centerX:0,centerY:0},circles:{}};delete oH.refblocks.left1,delete oH.refblocks.right1,oH.bounds.width+=.2;var ZKe=fd(oH).changeTextAnchor("{VAL}","middle_top").labelPort("left2",["1"]).labelPort("right2",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),QKe=Pl(ZKe),KKe=QKe.primitives.filter(n=>n.type==="text"),Xpe=KKe.find(n=>n.text==="{VAL}");Xpe.anchor="middle_right",Xpe.x=-.3,Xpe.y=0;var Wpe=KKe.find(n=>n.text==="{REF}");Wpe.anchor="middle_left",Wpe.x=.3,Wpe.y=0;var R2n=QKe,JKe={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.04403629999999836},{x:-.1199943999999995,y:-.08825540000000132}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1199943999999995,y:.1763280000000016},{x:.14458890000000002,y:.04403629999999836}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1199943999999995,y:-.08825539999999776},{x:-.1199943999999995,y:.1763280000000016}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.14458890000000002,y:.1763280000000016},{x:.14458890000000002,y:-.08825539999999776}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219909999999956,y:.04403629999999836},{x:-.5168693999999996,y:.04403629999999836}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233797,y:.04395110000000102},{x:.14967160000000002,y:.04395110000000102}],color:"primary",fill:!1},"path43-5":{type:"path",points:[{x:.19156529999999972,y:-.0884020999999997},{x:.14591529999999908,y:-.08876210000000029}],color:"primary",fill:!1},"path43-5-2":{type:"path",points:[{x:.19233440000000046,y:-.1355493999999986},{x:.19197439999999988,y:-.08989940000000018}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.27384529999999785},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999999524,y:-.2738453000000014}},refblocks:{left1:{x:-.5191471000000001,y:.0449206999999987},right1:{x:.5191471000000001,y:.043896100000001326}},bounds:{minX:-.5473055410000001,maxX:.5473055410000001,minY:-.2738453000000014,maxY:.27384529999999785,width:1.0946110820000001,height:.5476905999999993,centerX:0,centerY:-17763568394002505e-31},circles:{}},{paths:ezn,texts:tzn,bounds:nzn,refblocks:rzn,circles:izn}=JKe,eJe=fd(JKe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),A2n=Pl(eJe),P2n={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"RPM",x:0,y:-.025}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:N2n,texts:D2n,bounds:sH,refblocks:tJe,circles:L2n}=P2n,Zpe=Km({primitives:[...Object.values(N2n),...Object.values(L2n),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...D2n.left1,y:.01,anchor:"center",fontSize:.2}],ports:[{...tJe.left1,labels:["1"]},{...tJe.right1,labels:["2"]}],size:{width:sH.width,height:sH.height},center:{x:sH.centerX,y:sH.centerY}}),{5:O2n,...z2n}=Zpe.primitives;function U2n(n){return typeof n=="object"}var nJe=Pl({...Zpe,primitives:Object.values(z2n).filter(U2n)}),k2n={...nJe,primitives:[...nJe.primitives,O2n]},rJe={paths:{path11:{type:"path",points:[{x:-.5176700499999997,y:.041745050000000505},{x:-.10888805000000024,y:.041745050000000505}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.1031184499999993,y:.041745050000000505},{x:.5246894499999994,y:.041745050000000505}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.09343985000000021,y:-.14620634999999882},{x:-.0930998500000002,y:.2583405500000009}],color:"primary",fill:!1},"path11-0-3":{type:"path",points:[{x:.08519034999999908,y:-.14503384999999902},{x:.08553034999999909,y:.2595130500000007}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.08315755000000014,y:.055934450000000524},{x:-.08415755000000047,y:-.14678124999999964},{x:.08653524999999984,y:-.05104664999999953},{x:-.08126175000000035,y:.05647715000000031}],color:"primary",fill:!0},"path11-0-9-0":{type:"path",points:[{x:.07661224999999927,y:.256654450000001},{x:.07761224999999983,y:.05393885000000109},{x:-.0930805500000007,y:.1496734500000012},{x:.07471644999999949,y:.25719715000000143}],color:"primary",fill:!0},"path12-2":{type:"path",points:[{x:.09001085000000009,y:-.05964874999999914},{x:.2707999499999998,y:-.1711147499999992}],color:"primary",fill:!1},"path12-2-9":{type:"path",points:[{x:.27291134999999955,y:-.17591894999999935},{x:.27124034999999935,y:-.30168314999999923}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:.0077081499999991365,y:.41683614999999996},bottom1:{type:"text",text:"{VAL}",x:-.03022294999999975,y:-.41683614999999996}},refblocks:{bottom1:{x:.27223905000000026,y:-.3087962499999999},left1:{x:-.54139845,y:.04089205000000051},right1:{x:.5413984499999995,y:.04188845000000008}},bounds:{minX:-.569556891,maxX:.5695568909999995,minY:-.41683614999999996,maxY:.41683614999999996,width:1.1391137819999995,height:.8336722999999999,centerX:-2220446049250313e-31,centerY:0},circles:{path1:{type:"circle",x:-.0037626500000003116,y:.048873150000000365,radius:.28854213,color:"primary",fill:!1}}},{paths:azn,texts:ozn,bounds:szn,refblocks:lzn,circles:czn}=rJe,iJe=fd(rJe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).labelPort("bottom1",["3"]).changeTextAnchor("{REF}","middle_bottom").build(),aJe=Pl(iJe),oJe=aJe.primitives.filter(n=>n.type==="text"),I2n=oJe.find(n=>n.text==="{REF}"),F2n=oJe.find(n=>n.text==="{VAL}");I2n.y=0,F2n.y=0;var B2n=aJe,j2n={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.04403629999999992},{x:-.1199943999999995,y:-.08825540000000043}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1199943999999995,y:.17632800000000026},{x:.14458890000000002,y:.04403629999999992}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1199943999999995,y:-.0882553999999991},{x:-.1199943999999995,y:.17632800000000026}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.14458890000000002,y:.17632800000000026},{x:.14458890000000002,y:-.0882553999999991}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219909999999956,y:.04403629999999992},{x:-.5168693999999996,y:.04403629999999992}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233797000000002,y:.043951100000000354},{x:.1496715999999998,y:.043951100000000354}],color:"primary",fill:!1},"path43-8":{type:"path",points:[{x:.14339119999999994,y:.17681090000000044},{x:.07728679999999954,y:.17632089999999967}],color:"primary",fill:!1},"path43-8-8":{type:"path",points:[{x:.1446069000000001,y:-.08908179999999888},{x:.0785024999999997,y:-.08957179999999942}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.27384530000000007},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.27384529999999985}},refblocks:{left1:{x:-.5191471000000001,y:.044920700000000924},right1:{x:.5191470999999999,y:.04389609999999999}},bounds:{width:1.094611082,height:.5476905999999999,centerX:-11102230246251565e-32,centerY:11102230246251565e-32},circles:{}},{paths:H2n,texts:sJe,bounds:lH,refblocks:lJe,circles:V2n}=j2n,cJe=Km({primitives:[...Object.values(H2n),...Object.values(V2n),{...sJe.top1,anchor:"middle_bottom"},{...sJe.bottom1,anchor:"middle_top"}],ports:[{...lJe.left1,labels:["1"]},{...lJe.right1,labels:["2"]}],size:{width:lH.width,height:lH.height},center:{x:lH.centerX,y:lH.centerY}}),Qpe=Pl(cJe),$2n=Qpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),G2n=Qpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");$2n.anchor="middle_left",G2n.anchor="middle_right";var q2n=Qpe,Y2n={paths:{path11:{type:"path",points:[{x:-.3274461945,y:.20527883627037657},{x:-.021085194500000348,y:.007570136270376837}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2331163055000003,y:.1251673362703769},{x:.2320633055000001,y:.3759855362703768}],color:"primary",fill:!1},"path12-2":{type:"path",points:[{x:.23221610549999938,y:-.0818845637296235},{x:.2311631054999992,y:-.33270276372962315}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.013263894499999873,y:-.1792007637296229},{x:-.012923894499999866,y:.2253461362703768}],color:"primary",fill:!1},"path11-0-3":{type:"path",points:[{x:.23222970550000066,y:.12047013627037662},{x:-.011307094499999115,y:.11996013627037683}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.1124341944999998,y:.131359936270377},{x:-.16993279449999954,y:.039004036270377185},{x:-.05822649449999928,y:.03212003627037707},{x:-.11133889449999979,y:.13104553627037707}],color:"primary",fill:!0},"path11-0-3-8":{type:"path",points:[{x:.23230320549999983,y:-.08329316372962325},{x:-.011233594499999944,y:-.07900616372962332}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.19541139450000045,y:.389088136270376},bottom1:{type:"text",text:"{VAL}",x:-.031363394499999364,y:-.42359956372962415}},refblocks:{top1:{x:.2317438004035266,y:.3954411227296242},bottom1:{x:.2308431668082036,y:-.35215823360635445},left1:{x:-.34055979449999985,y:.21512343627037622}},bounds:{width:.7374364709999996,height:.8471991274592483,centerX:27755575615628914e-33,centerY:0},circles:{path1:{type:"circle",x:.08017610549999987,y:.006746336270376352,radius:.28854213,color:"primary",fill:!1}}},{paths:X2n,texts:uJe,bounds:cH,refblocks:Kpe,circles:W2n}=Y2n,fJe=Km({primitives:[...Object.values(X2n),...Object.values(W2n),{...uJe.top1,anchor:"middle_left"},{...uJe.bottom1,anchor:"middle_right"}],ports:[{...Kpe.top1,labels:["1"]},{...Kpe.bottom1,labels:["2"]},{...Kpe.left1,labels:["3"]}],size:{width:cH.width,height:cH.height},center:{x:cH.centerX,y:cH.centerY}}),dJe=Pl(fJe),pJe=dJe.primitives.filter(n=>n.type==="text"),Z2n=pJe.find(n=>n.text==="{REF}");Z2n.y=.1;var hJe=pJe.find(n=>n.text==="{VAL}");hJe.y=.1,hJe.x=-.4;var Q2n=dJe,K2n={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.17652089999999898,y:-.36197569999999946},bottom1:{type:"text",text:"{VAL}",x:-.009849199999999891,y:.43234960000000044},left1:{type:"text",text:"Var",x:-.19436529999999896,y:.07249430000000023}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:J2n,texts:Jpe,bounds:uH,refblocks:mJe,circles:e5n}=K2n,yJe=Km({primitives:[...Object.values(J2n),...Object.values(e5n),{...Jpe.top1,x:0,y:-.3594553499999995,anchor:"middle_top"},{...Jpe.bottom1,x:0,y:.35,anchor:"middle_bottom"},{...Jpe.left1,x:-.02,y:.01,fontSize:.2,anchor:"center"}],ports:[{...mJe.left1,labels:["1"]},{...mJe.right1,labels:["2"]}],size:{width:uH.width,height:uH.height},center:{x:uH.centerX,y:uH.centerY}}),t5n=Pl(yJe),n5n={paths:{path40:{type:"path",points:[{x:.08342510000000014,y:.04403649999999937},{x:-.18115819999999938,y:-.0882552000000012}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1811582000000007,y:.1763281999999997},{x:.08342509999999881,y:.04403649999999937}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1811582000000007,y:-.0882552000000012},{x:-.1811582000000007,y:.17632819999999816}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.0949504999999995,y:.17485119999999976},{x:.09600949999999897,y:-.09185079999999957}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.1954338999999996,y:.04403649999999937},{x:-.5191807000000004,y:.04403649999999937}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5253116,y:.043951299999999804},{x:.20527070000000047,y:.043951299999999804}],color:"primary",fill:!1},"path43-6":{type:"path",points:[{x:.1854899999999995,y:.1748848999999999},{x:.18654899999999874,y:-.09181709999999943}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999994495,y:.27384530000000007},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.27384530000000007}},refblocks:{left1:{x:-.5191471,y:.044920799999999206},right1:{x:.5191470999999999,y:.04389609999999999}},bounds:{width:1.0946110819999997,height:.5476906000000001,centerX:-5551115123125783e-32,centerY:0},circles:{}},{paths:r5n,texts:vJe,bounds:fH,refblocks:gJe,circles:i5n}=n5n,_Je=Km({primitives:[...Object.values(r5n),...Object.values(i5n),{...vJe.top1,anchor:"middle_bottom"},{...vJe.bottom1,anchor:"middle_top"}],ports:[{...gJe.left1,labels:["1"]},{...gJe.right1,labels:["2"]}],size:{width:fH.width,height:fH.height},center:{x:fH.centerX,y:fH.centerY}}),ehe=Pl(_Je),a5n=ehe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),o5n=ehe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");a5n.anchor="middle_left",o5n.anchor="middle_right";var s5n=ehe,l5n={paths:{path5:{type:"path",points:[{x:-.5245830500000004,y:.004659100000001359},{x:-.25999975000000086,y:.004659100000001359}],color:"primary",fill:!1},path6:{type:"path",points:[{x:.2691672500000002,y:.004659100000001359},{x:.5337505499999997,y:.004659100000001359}],color:"primary",fill:!1},path7:{type:"path",points:[{x:.2691672500000002,y:-.23346590000000056},{x:-.25999974999999953,y:.2427841000000015}],color:"primary",fill:!1},path8:{type:"path",points:[{x:.37500025000000026,y:-.23346590000000056},{x:.2691672500000002,y:-.23346590000000056}],color:"primary",fill:!1},path9:{type:"path",points:[{x:.004585150000000482,y:.13695090000000043},{x:.26916815000000094,y:.13695090000000043},{x:.26916815000000094,y:-.1276325000000007},{x:-.2599988499999988,y:-.1276325000000007},{x:-.2599988499999988,y:.13695090000000043},{x:.004585150000001814,y:.13695090000000043}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.05849044999999986,y:.25166549999999965},bottom1:{type:"text",text:"{VAL}",x:.008507150000000685,y:-.25166549999999965}},refblocks:{left1:{x:-.5392315500000002,y:.002969399999999567},right1:{x:.5392315500000002,y:.005339799999999784}},bounds:{width:1.1347799820000004,height:.5033309999999993,centerX:0,centerY:0}},{paths:c5n,texts:xJe,bounds:dH,refblocks:bJe}=l5n,SJe=Km({primitives:[...Object.values(c5n),{...xJe.top1,anchor:"middle_left"},{...xJe.bottom1,anchor:"middle_right"}],ports:[{...bJe.left1,labels:["1","-"]},{...bJe.right1,labels:["2","+"]}],size:{width:dH.width,height:dH.height},center:{x:dH.centerX,y:dH.centerY}}),u5n=Pl(SJe),f5n={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"Var",x:0,y:-.025}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:d5n,texts:p5n,bounds:pH,refblocks:wJe,circles:h5n}=f5n,the=Km({primitives:[...Object.values(d5n),...Object.values(h5n),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...p5n.left1,anchor:"center",y:.02,fontSize:.2}],ports:[{...wJe.left1,labels:["1"]},{...wJe.right1,labels:["2"]}],size:{width:pH.width,height:pH.height},center:{x:pH.centerX,y:pH.centerY}}),{5:m5n,...y5n}=the.primitives;function v5n(n){return typeof n=="object"}var EJe=Pl({...the,primitives:Object.values(y5n).filter(v5n)}),g5n={...EJe,primitives:[...EJe.primitives,m5n]},TJe={paths:{path11:{type:"path",points:[{x:-.5274831500000005,y:.031252300000000455},{x:-.30105415000000013,y:.031252300000000455}],color:"primary",fill:!1},"path11-5-5":{type:"path",points:[{x:.09765764999999949,y:.1295162000000003},{x:-.0011297500000011507,y:-.061970899999999496},{x:-.10778645000000164,y:.1295162000000003}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2932119499999999,y:.031252300000000455},{x:.5339524499999997,y:.031252300000000455}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.021146249999999478,y:.4010973},bottom1:{type:"text",text:"{VAL}",x:-.00661455000000033,y:-.4010973}},refblocks:{left1:{x:-.5413984499999998,y:.030399499999999913},right1:{x:.54139845,y:.0313958999999997}},bounds:{minX:-.5695568909999997,maxX:.569556891,minY:-.4010973,maxY:.4010973,width:1.1391137819999997,height:.8021946,centerX:11102230246251565e-32,centerY:0},circles:{path1:{type:"circle",x:-.0037626500000000895,y:.03838059999999999,radius:.28854213,color:"primary",fill:!1}}},{paths:uzn,texts:fzn,bounds:dzn,circles:pzn,refblocks:hzn}=TJe,MJe=fd(TJe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),_5n=Pl(MJe),x5n={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"Wh",x:0,y:-.025}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:b5n,texts:S5n,bounds:hH,refblocks:CJe,circles:w5n}=x5n,nhe=Km({primitives:[...Object.values(b5n),...Object.values(w5n),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...S5n.left1,anchor:"center",y:.01,fontSize:.2}],ports:[{...CJe.left1,labels:["1"]},{...CJe.right1,labels:["2"]}],size:{width:hH.width,height:hH.height},center:{x:hH.centerX,y:hH.centerY}}),{5:E5n,...T5n}=nhe.primitives;function M5n(n){return typeof n=="object"}var RJe=Pl({...nhe,primitives:Object.values(T5n).filter(M5n)}),C5n={...RJe,primitives:[...RJe.primitives,E5n]},R5n={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"W",x:0,y:-.025}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:A5n,texts:P5n,bounds:mH,refblocks:AJe,circles:N5n}=R5n,rhe=Km({primitives:[...Object.values(A5n),...Object.values(N5n),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...P5n.left1,anchor:"center",y:.01,fontSize:.3}],ports:[{...AJe.left1,labels:["1"]},{...AJe.right1,labels:["2"]}],size:{width:mH.width,height:mH.height},center:{x:mH.centerX,y:mH.centerY}}),{5:D5n,...L5n}=rhe.primitives;function O5n(n){return typeof n=="object"}var PJe=Pl({...rhe,primitives:Object.values(L5n).filter(O5n)}),z5n={...PJe,primitives:[...PJe.primitives,D5n]},U5n={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.04403629999999992},{x:-.1199943999999995,y:-.08825540000000043}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1199943999999995,y:.17632800000000026},{x:.14458890000000002,y:.04403629999999992}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1199943999999995,y:-.0882553999999991},{x:-.1199943999999995,y:.17632800000000026}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.14458890000000002,y:.17632800000000026},{x:.14458890000000002,y:-.0882553999999991}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219909999999956,y:.04403629999999992},{x:-.5168693999999996,y:.04403629999999992}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233797000000002,y:.043951100000000354},{x:.1496715999999998,y:.043951100000000354}],color:"primary",fill:!1},"path43-8":{type:"path",points:[{x:.14339119999999994,y:.17681090000000044},{x:.07728679999999954,y:.17632089999999967}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.27384530000000007},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.27384529999999985}},refblocks:{left1:{x:-.5191471000000001,y:.044920700000000924},right1:{x:.5191470999999999,y:.04389609999999999}},bounds:{width:1.094611082,height:.5476905999999999,centerX:-11102230246251565e-32,centerY:11102230246251565e-32},circles:{}},{paths:k5n,texts:NJe,bounds:yH,refblocks:DJe,circles:I5n}=U5n,LJe=Km({primitives:[...Object.values(k5n),...Object.values(I5n),{...NJe.top1,anchor:"middle_bottom"},{...NJe.bottom1,anchor:"middle_top"}],ports:[{...DJe.left1,labels:["1"]},{...DJe.right1,labels:["2"]}],size:{width:yH.width,height:yH.height},center:{x:yH.centerX,y:yH.centerY}}),ihe=Pl(LJe),F5n=ihe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),B5n=ihe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");F5n.anchor="middle_left",B5n.anchor="middle_right";var j5n=ihe,ob={ac_voltmeter_horz:kZe,ac_voltmeter_vert:svn,avalanche_diode_horz:BZe,avalanche_diode_vert:dvn,battery_horz:VZe,battery_vert:yvn,boxresistor_down:xvn,boxresistor_left:wvn,boxresistor_right:Mvn,boxresistor_up:Avn,capacitor_down:Dvn,capacitor_left:Lvn,capacitor_polarized_down:Uvn,capacitor_polarized_left:kvn,capacitor_polarized_right:eQe,capacitor_polarized_up:Bvn,capacitor_right:jvn,capacitor_up:$vn,constant_current_diode_horz:Gvn,constant_current_diode_vert:qvn,crystal_4pin_horz:iQe,crystal_4pin_vert:Xvn,crystal_horz:Wvn,crystal_vert:Zvn,darlington_pair_transistor_horz:Qvn,darlington_pair_transistor_vert:Kvn,dc_ammeter_horz:ede,dc_ammeter_vert:sgn,dc_voltmeter_horz:rde,dc_voltmeter_vert:mgn,diac_horz:uQe,diac_vert:_gn,diode_down:bgn,diode_left:Sgn,diode_right:Ej,diode_up:wgn,dpdt_normally_closed_switch_down:Tgn,dpdt_normally_closed_switch_left:Mgn,dpdt_normally_closed_switch_right:Tj,dpdt_normally_closed_switch_up:Cgn,dpdt_switch_down:Agn,dpdt_switch_left:Pgn,dpdt_switch_right:Mj,dpdt_switch_up:Ngn,dpst_normally_closed_switch_down:Lgn,dpst_normally_closed_switch_left:Ogn,dpst_normally_closed_switch_right:Cj,dpst_normally_closed_switch_up:zgn,dpst_switch_down:kgn,dpst_switch_left:Ign,dpst_switch_right:Rj,dpst_switch_up:Fgn,filled_diode_horz:pQe,filled_diode_vert:jgn,frequency_meter_horz:Bde,frequency_meter_vert:Wgn,fuse_horz:vQe,fuse_vert:Jgn,ground_horz:gQe,ground_vert:a_n,gunn_diode_horz:o_n,gunn_diode_vert:s_n,icled_down:c_n,icled_left:u_n,icled_right:Nj,icled_up:d_n,igbt_transistor_horz:_Qe,igbt_transistor_vert:h_n,illuminated_push_button_normally_open_horz:bQe,illuminated_push_button_normally_open_vert:y_n,inductor_down:x_n,inductor_left:b_n,inductor_right:Yde,inductor_up:MQe,laser_diode_horz:RQe,laser_diode_vert:w_n,led_down:C_n,led_left:R_n,led_right:Oj,led_up:P_n,light_dependent_resistor_horz:zQe,light_dependent_resistor_vert:O_n,mosfet_depletion_normally_on_horz:FQe,mosfet_depletion_normally_on_vert:k_n,mushroom_head_normally_open_momentary_horz:VQe,mushroom_head_normally_open_momentary_vert:j_n,n_channel_d_mosfet_transistor_horz:GQe,n_channel_d_mosfet_transistor_vert:G_n,n_channel_e_mosfet_transistor_horz:WQe,n_channel_e_mosfet_transistor_vert:W_n,njfet_transistor_horz:JQe,njfet_transistor_vert:J_n,npn_bipolar_transistor_horz:nKe,npn_bipolar_transistor_vert:rxn,opamp_no_power_down:axn,opamp_no_power_left:oxn,opamp_no_power_right:Hj,opamp_no_power_up:sxn,opamp_with_power_down:cxn,opamp_with_power_left:uxn,opamp_with_power_right:Vj,opamp_with_power_up:fxn,p_channel_d_mosfet_transistor_horz:iKe,p_channel_d_mosfet_transistor_vert:mxn,p_channel_e_mosfet_transistor_horz:lKe,p_channel_e_mosfet_transistor_vert:_xn,photodiode_horz:fKe,photodiode_vert:Sxn,pjfet_transistor_horz:mKe,pjfet_transistor_vert:Mxn,pnp_bipolar_transistor_horz:_Ke,pnp_bipolar_transistor_vert:Pxn,potentiometer_horz:SKe,potentiometer_vert:Oxn,potentiometer2_horz:TKe,potentiometer2_vert:Fxn,potentiometer3_down:jxn,potentiometer3_left:Hxn,potentiometer3_right:Wj,potentiometer3_up:Vxn,power_factor_meter_horz:AKe,power_factor_meter_vert:Yxn,push_button_normally_closed_momentary_horz:LKe,push_button_normally_closed_momentary_vert:Qxn,push_button_normally_open_momentary_horz:UKe,push_button_normally_open_momentary_vert:t2n,rectifier_diode_horz:IKe,rectifier_diode_vert:s2n,resonator_horz:FKe,resonator_vert:f2n,schottky_diode_horz:BKe,schottky_diode_vert:m2n,silicon_controlled_rectifier_horz:HKe,silicon_controlled_rectifier_vert:v2n,spdt_normally_closed_switch_down:_2n,spdt_normally_closed_switch_left:x2n,spdt_normally_closed_switch_right:nH,spdt_normally_closed_switch_up:b2n,SPDT_switch_horz:YKe,SPDT_switch_vert:E2n,spst_normally_closed_switch_down:T2n,spst_normally_closed_switch_left:M2n,spst_normally_closed_switch_right:aH,spst_normally_closed_switch_up:C2n,SPST_switch_horz:ZKe,SPST_switch_vert:R2n,step_recovery_diode_horz:eJe,step_recovery_diode_vert:A2n,tachometer_horz:Zpe,tachometer_vert:k2n,triac_horz:iJe,triac_vert:B2n,tunnel_diode_horz:cJe,tunnel_diode_vert:q2n,unijunction_transistor_horz:fJe,unijunction_transistor_vert:Q2n,var_meter_horz:yJe,var_meter_vert:t5n,varactor_diode_horz:_Je,varactor_diode_vert:s5n,varistor_horz:SJe,varistor_vert:u5n,varmeter_horz:the,varmeter_vert:g5n,volt_meter_horz:MJe,volt_meter_vert:_5n,watt_hour_meter_horz:nhe,watt_hour_meter_vert:C5n,wattmeter_horz:rhe,wattmeter_vert:z5n,zener_diode_horz:LJe,zener_diode_vert:j5n};Object.fromEntries(Object.keys(ob).map(n=>[n,n]));var H5n=v.enum(["up","down","left","right"]);v.enum(["top-to-bottom","left-to-right","bottom-to-top","right-to-left"]);var XS=v.array(v.string().or(v.number())),OJe=v.object({x:Si,y:Si,z:Si}),V5n=v.object({x:v.union([v.number(),v.string()]),y:v.union([v.number(),v.string()]),z:v.union([v.number(),v.string()])}),ahe=v.object({rotationOffset:v.number().or(V5n).optional(),positionOffset:OJe.optional(),size:OJe.optional()}),$5n=ahe.extend({stlUrl:v.string()}),G5n=ahe.extend({objUrl:v.string(),mtlUrl:v.string().optional()}),q5n=ahe.extend({jscad:v.record(v.any())}),Y5n=v.union([v.string(),$5n,G5n,q5n]),X5n=v.custom(n=>!0),qx=v.object({pcbX:Si.optional(),pcbY:Si.optional(),pcbRotation:z6.optional(),layer:my.optional()}),vH=v.object({pcbX:Si.optional(),pcbY:Si.optional(),pcbRotation:z6.optional(),schX:Si.optional(),schY:Si.optional(),schRotation:z6.optional(),layer:my.optional(),footprint:X5n.optional()}),W5n=v.object({supplierPartNumbers:v.record(hZe,v.array(v.string())).optional()}),v3=vH.merge(W5n).extend({key:v.any().optional(),name:v.string(),cadModel:Y5n.optional(),children:v.any().optional(),symbolName:v.string().optional()});Si.or(v.enum(["2x","3x","4x"]));var gH=v.object({pins:v.array(v.union([v.number(),v.string()])),direction:v.union([v.literal("top-to-bottom"),v.literal("left-to-right"),v.literal("bottom-to-top"),v.literal("right-to-left")])}),ohe=v.object({leftSize:v.number().optional().describe("@deprecated, use leftPinCount"),topSize:v.number().optional().describe("@deprecated, use topPinCount"),rightSize:v.number().optional().describe("@deprecated, use rightPinCount"),bottomSize:v.number().optional().describe("@deprecated, use bottomPinCount"),leftPinCount:v.number().optional(),rightPinCount:v.number().optional(),topPinCount:v.number().optional(),bottomPinCount:v.number().optional(),leftSide:gH.optional(),rightSide:gH.optional(),topSide:gH.optional(),bottomSide:gH.optional()}),zJe=v.record(v.object({marginLeft:Si.optional(),marginRight:Si.optional(),marginTop:Si.optional(),marginBottom:Si.optional(),leftMargin:Si.optional(),rightMargin:Si.optional(),topMargin:Si.optional(),bottomMargin:Si.optional()})),UJe=v.object({x:Si,y:Si}),she=v.object({edit_event_id:v.string(),in_progress:v.boolean().optional(),created_at:v.number()}),Z5n=she.extend({pcb_edit_event_type:v.literal("edit_component_location").describe("deprecated"),edit_event_type:v.literal("edit_pcb_component_location"),pcb_component_id:v.string(),original_center:v.object({x:v.number(),y:v.number()}),new_center:v.object({x:v.number(),y:v.number()})}),Q5n=she.extend({pcb_edit_event_type:v.literal("edit_trace_hint").describe("deprecated"),edit_event_type:v.literal("edit_pcb_trace_hint").optional(),pcb_port_id:v.string(),pcb_trace_hint_id:v.string().optional(),route:v.array(v.object({x:v.number(),y:v.number(),via:v.boolean().optional()}))}),K5n=she.extend({edit_event_type:v.literal("edit_schematic_component_location"),schematic_component_id:v.string(),original_center:v.object({x:v.number(),y:v.number()}),new_center:v.object({x:v.number(),y:v.number()})});v.union([Z5n,Q5n,K5n]);var J5n=v.object({selector:v.string(),relative_to:v.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),center:gv}),e3n=v.object({pcb_port_selector:v.string(),offsets:v.array(YS)}),t3n=v.object({selector:v.string(),relative_to:v.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),center:gv}),n3n=v.object({pcb_placements:v.array(J5n).optional(),manual_trace_hints:v.array(e3n).optional(),schematic_placements:v.array(t3n).optional()}),lhe=v.object({layoutMode:v.enum(["grid","flex","none"]).optional(),position:v.enum(["absolute","relative"]).optional(),grid:v.boolean().optional(),gridCols:v.number().or(v.string()).optional(),gridRows:v.number().or(v.string()).optional(),gridTemplateRows:v.string().optional(),gridTemplateColumns:v.string().optional(),gridTemplate:v.string().optional(),gridGap:v.number().or(v.string()).optional(),flex:v.boolean().or(v.string()).optional(),flexDirection:v.enum(["row","column"]).optional(),alignItems:v.enum(["start","center","end","stretch"]).optional(),justifyContent:v.enum(["start","center","end","stretch"]).optional(),flexRow:v.boolean().optional(),flexColumn:v.boolean().optional(),gap:v.number().or(v.string()).optional()}),r3n=v.object({serverUrl:v.string().optional(),inputFormat:v.enum(["simplified","circuit-json"]).optional(),serverMode:v.enum(["job","solve-endpoint"]).optional(),serverCacheEnabled:v.boolean().optional(),cache:v.custom(n=>!0).optional(),groupMode:v.enum(["sequential-trace","subcircuit"]).optional(),algorithmFn:v.custom(n=>typeof n=="function"||n===void 0).optional(),local:v.boolean().optional()}),kJe=v.union([r3n,v.literal("sequential-trace"),v.literal("subcircuit"),v.literal("auto"),v.literal("auto-local"),v.literal("auto-cloud")]),IJe=vH.extend({name:v.string().optional(),children:v.any().optional(),key:v.any().optional(),...lhe.shape,pcbWidth:m1.optional(),pcbHeight:m1.optional(),schWidth:m1.optional(),schHeight:m1.optional(),pcbLayout:lhe.optional(),schLayout:lhe.optional()}),FJe=v.custom(n=>"findPart"in n),BJe=IJe.extend({layout:v.custom(n=>!0).optional(),manualEdits:n3n.optional(),schAutoLayoutEnabled:v.boolean().optional(),schTraceAutoLabelEnabled:v.boolean().optional(),routingDisabled:v.boolean().optional(),defaultTraceWidth:m1.optional(),minTraceWidth:m1.optional(),partsEngine:FJe.optional(),pcbRouteCache:v.custom(n=>!0).optional(),autorouter:kJe.optional()}),i3n=BJe.extend({subcircuit:v.literal(!0)}),a3n=v.discriminatedUnion("subcircuit",[IJe.extend({subcircuit:v.literal(!1).optional()}),i3n]),jJe=BJe.extend({width:Si.optional(),height:Si.optional(),outline:v.array(UJe).optional(),outlineOffsetX:Si.optional(),outlineOffsetY:Si.optional(),material:v.enum(["fr4","fr1"]).default("fr4")}),o3n=v.string().or(v.array(v.string()).readonly()).or(v.array(v.string())),s3n=v.custom().pipe(v.record(v.string(),o3n)),l3n=v.record(v.string(),v.string().or(v.array(v.string()).readonly()).or(v.array(v.string()))),HJe=v3.extend({manufacturerPartNumber:v.string().optional(),pinLabels:l3n.optional(),internallyConnectedPins:v.array(v.array(v.string())).optional(),externallyConnectedPins:v.array(v.array(v.string())).optional(),schPinArrangement:ohe.optional(),schPortArrangement:ohe.optional(),schPinStyle:zJe.optional(),schPinSpacing:Si.optional(),schWidth:Si.optional(),schHeight:Si.optional(),noSchematicRepresentation:v.boolean().optional(),connections:s3n.optional()}),c3n=v3.extend({manufacturerPartNumber:v.string().optional(),pinLabels:v.record(v.number().or(v.string()),v.string().or(v.array(v.string()))).optional(),schPinStyle:zJe.optional(),schPinSpacing:Si.optional(),schWidth:Si.optional(),schHeight:Si.optional(),schDirection:v.enum(["left","right"]).optional(),schPortArrangement:ohe.optional()}),_H=v.custom().transform(n=>{if(n!==void 0)return Si.parse(n)}),u3n=v.union([qx.omit({pcbRotation:!0,layer:!0}).extend({name:v.string().optional(),shape:v.literal("circle"),holeDiameter:Si,outerDiameter:Si,portHints:XS.optional()}),qx.omit({pcbRotation:!0,layer:!0}).extend({name:v.string().optional(),shape:v.literal("oval"),outerWidth:Si,outerHeight:Si,holeWidth:_H,holeHeight:_H,innerWidth:Si.optional().describe("DEPRECATED use holeWidth"),innerHeight:Si.optional().describe("DEPRECATED use holeHeight"),portHints:XS.optional()}),qx.omit({pcbRotation:!0,layer:!0}).extend({name:v.string().optional(),shape:v.literal("pill"),outerWidth:Si,outerHeight:Si,holeWidth:_H,holeHeight:_H,innerWidth:Si.optional().describe("DEPRECATED use holeWidth"),innerHeight:Si.optional().describe("DEPRECATED use holeHeight"),portHints:XS.optional()}),qx.omit({pcbRotation:!0,layer:!0}).extend({name:v.string().optional(),holeDiameter:Si,rectPadWidth:Si,rectPadHeight:Si,holeShape:v.literal("circle").optional(),padShape:v.literal("rect").optional(),shape:v.literal("circularHoleWithRectPad").optional(),portHints:XS.optional()}).refine(n=>n.shape==="circularHoleWithRectPad"?n.holeDiameter&&n.rectPadWidth&&n.rectPadHeight:!0,{message:"Missing required fields for circularHoleWithRectPad"})]).refine(n=>("innerWidth"in n&&n.innerWidth!==void 0&&(n.holeWidth??(n.holeWidth=n.innerWidth)),"innerHeight"in n&&n.innerHeight!==void 0&&(n.holeHeight??(n.holeHeight=n.innerHeight)),n)),f3n=v.string().or(v.array(v.string()).readonly()).or(v.array(v.string())),VJe=n=>v.record(v.enum(n),f3n),d3n=["pin1","pin2","pos","neg"],p3n=v3.extend({resistance:OP,pullupFor:v.string().optional(),pullupTo:v.string().optional(),pulldownFor:v.string().optional(),pulldownTo:v.string().optional(),connections:VJe(d3n).optional()}),h3n=v3.extend({maxResistance:OP,pinVariant:v.enum(["two_pin","three_pin"]).optional()}),m3n=v3.extend({frequency:Yfe,loadCapacitance:zP,pinVariant:v.enum(["two_pin","four_pin"]).optional()}),y3n=v3.extend({frequency:Yfe,loadCapacitance:zP,pinVariant:v.enum(["no_ground","ground_pin","two_ground_pins"]).optional()});jJe.extend({leftPinCount:v.number().optional(),rightPinCount:v.number().optional(),topPinCount:v.number().optional(),bottomPinCount:v.number().optional(),leftPins:v.array(v.string()).optional(),rightPins:v.array(v.string()).optional(),topPins:v.array(v.string()).optional(),bottomPins:v.array(v.string()).optional(),pinPitch:Si.optional(),innerHoles:v.boolean().optional()});var v3n=["pin1","pin2","pos","neg","anode","cathode"],g3n=v3.extend({capacitance:zP,maxVoltageRating:UP.optional(),schShowRatings:v.boolean().optional().default(!1),polarized:v.boolean().optional().default(!1),decouplingFor:v.string().optional(),decouplingTo:v.string().optional(),bypassFor:v.string().optional(),bypassTo:v.string().optional(),maxDecouplingTraceLength:v.number().optional(),connections:VJe(v3n).optional()});v.object({name:v.string()}),v.object({name:v.string().optional(),pcbOnly:v.boolean().optional(),schOnly:v.boolean().optional()});var _3n=v.object({pcb:v.literal(!0).optional(),xDist:Si,left:v.string(),right:v.string(),edgeToEdge:v.literal(!0).optional(),centerToCenter:v.literal(!0).optional()}),x3n=v.object({pcb:v.literal(!0).optional(),yDist:Si,top:v.string(),bottom:v.string(),edgeToEdge:v.literal(!0).optional(),centerToCenter:v.literal(!0).optional()}),b3n=v.object({pcb:v.literal(!0).optional(),sameY:v.literal(!0).optional(),for:v.array(v.string())}),S3n=v.object({pcb:v.literal(!0).optional(),sameX:v.literal(!0).optional(),for:v.array(v.string())}),w3n=v.union([_3n,x3n,b3n,S3n]),E3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("rect"),width:Si,height:Si,portHints:XS.optional()}),T3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("rotated_rect"),width:Si,height:Si,ccwRotation:v.number(),portHints:XS.optional()}),M3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("circle"),radius:Si,portHints:XS.optional()}),C3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("pill"),width:Si,height:Si,radius:Si,portHints:XS.optional()}),R3n=v.union([M3n,E3n,T3n,C3n]),A3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("rect"),width:Si,height:Si}),P3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("circle"),radius:Si});v.union([P3n,A3n]);var N3n=qx.omit({pcbRotation:!0}).extend({name:v.string().optional(),diameter:Si.optional(),radius:Si.optional()}).transform(n=>({...n,diameter:n.diameter??2*n.radius,radius:n.radius??n.diameter/2})),che=v.union([v.string(),v.custom(n=>!!n.getPortSelector)]),$Je=v.object({key:v.string().optional(),thickness:Si.optional(),schematicRouteHints:v.array(UJe).optional(),pcbRouteHints:v.array(YS).optional(),schDisplayLabel:v.string().optional(),maxLength:Si.optional()}),D3n=v.union([$Je.extend({path:v.array(che)}),$Je.extend({from:che,to:che})]),L3n=v.object({originalLayer:my.default("top").optional()}),O3n=v.number().or(v.string().endsWith("mAh")).transform(n=>{if(typeof n=="string"){const e=n.replace("mAh",""),t=Number.parseFloat(e);if(Number.isNaN(t))throw new Error("Invalid capacity");return t}return n}).describe("Battery capacity in mAh"),z3n=v3.extend({capacity:O3n.optional()}),U3n=v3.extend({pinCount:v.number(),pitch:Si.optional(),schFacingDirection:v.enum(["up","down","left","right"]).optional(),gender:v.enum(["male","female"]).optional().default("male"),showSilkscreenPinLabels:v.boolean().optional(),doubleRow:v.boolean().optional(),holeDiameter:Si.optional(),platedDiameter:Si.optional(),pinLabels:v.array(v.string()).optional(),facingDirection:v.enum(["left","right"]).optional()}),k3n=v.object({net:v.string().optional(),schX:Si.optional(),schY:Si.optional(),schRotation:z6.optional(),anchorSide:v.enum(["left","up","right","down"]).optional()}),I3n=HJe.extend({}),F3n=v3.extend({type:v.enum(["npn","pnp","bjt","jfet","mosfet"])}),B3n=v3.extend({channelType:v.enum(["n","p"]),mosfetMode:v.enum(["enhancement","depletion"])}),j3n=v3.extend({inductance:dZe}),H3n=v.enum(["anode","cathode","pin1","pin2","pos","neg"]),V3n=v.string().or(v.array(v.string()).readonly()).or(v.array(v.string())),$3n=v.record(H3n,V3n),G3n=v3.extend({connections:$3n.optional()}),q3n=v3.extend({color:v.string().optional()}),Y3n=v3.extend({type:v.enum(["spst","spdt","dpst","dpdt"]).optional(),isNormallyClosed:v.boolean().optional().default(!1),spst:v.boolean().optional(),spdt:v.boolean().optional(),dpst:v.boolean().optional(),dpdt:v.boolean().optional()}).transform(n=>{const e={...n};switch(e.dpdt?e.type="dpdt":e.spst?e.type="spst":e.spdt?e.type="spdt":e.dpst&&(e.type="dpst"),e.type){case"spdt":e.spdt=!0;break;case"spst":e.spst=!0;break;case"dpst":e.dpst=!0;break;case"dpdt":e.dpdt=!0;break}return e}),X3n=qx.extend({text:v.string(),anchorAlignment:v.enum(["center","top_left","top_right","bottom_left","bottom_right"]).default("center"),font:v.enum(["tscircuit2024"]).optional(),fontSize:m1.optional(),color:v.string().optional()}),W3n=qx.omit({pcbX:!0,pcbY:!0,pcbRotation:!0}).extend({route:v.array(YS),strokeWidth:m1.optional(),color:v.string().optional()});v.object({layer:v.string().optional(),thickness:Si.optional(),route:v.array(YS)});var Z3n=vH.extend({fromLayer:my,toLayer:my,holeDiameter:Si,outerDiameter:Si}),Q3n=v.union([qx.omit({pcbRotation:!0}).extend({shape:v.literal("circle"),radius:Si}),qx.extend({shape:v.literal("rect"),width:Si,height:Si})]),K3n=v3.extend({voltage:UP});v.object({schX:Si,schY:Si,width:Si,height:Si}),v.object({x1:Si,y1:Si,x2:Si,y2:Si}),v.object({schX:Si,schY:Si,text:v.string()}),v.object({points:v.array(gv),isFilled:v.boolean().optional().default(!1),fillColor:v.enum(["red","blue"]).optional()});var J3n=qx.extend({text:v.string(),anchorAlignment:v.enum(["center","top_left","top_right","bottom_left","bottom_right"]).default("center"),font:v.enum(["tscircuit2024"]).optional(),fontSize:m1.optional()}),e4n=qx.omit({pcbX:!0,pcbY:!0,pcbRotation:!0}).extend({route:v.array(YS),strokeWidth:m1.optional()}),t4n=qx.omit({pcbX:!0,pcbY:!0,pcbRotation:!0}).extend({strokeWidth:Si,x1:Si,y1:Si,x2:Si,y2:Si}),n4n=qx.omit({pcbRotation:!0}).extend({isFilled:v.boolean().optional(),isOutline:v.boolean().optional(),strokeWidth:Si.optional(),width:Si,height:Si}),r4n=qx.omit({pcbRotation:!0}).extend({isFilled:v.boolean().optional(),isOutline:v.boolean().optional(),strokeWidth:Si.optional(),radius:Si}),GJe=v.object({x:Si,y:Si,via:v.boolean().optional(),toLayer:my.optional()}),i4n=v.object({for:v.string().optional().describe("Selector for the port you're targeting, not required if you're inside a trace"),order:v.number().optional(),offset:YS.or(GJe).optional(),offsets:v.array(YS).or(v.array(GJe)).optional(),traceWidth:v.number().optional()});vH.extend({name:v.string(),pinNumber:v.number().optional(),aliases:v.array(v.string()).optional(),direction:H5n}),v.object({partsEngine:FJe.optional(),autorouter:kJe.optional(),registryApiUrl:v.string().optional(),cloudAutorouterUrl:v.string().optional()});var a4n=(n,e)=>{const t={x:e.x-n.x,y:e.y-n.y},r=Math.sqrt(t.x**2+t.y**2);return{x:t.x/r,y:t.y/r}},o4n=n=>{switch(n){case"up":return{x:0,y:1};case"down":return{x:0,y:-1};case"left":return{x:-1,y:0};case"right":return{x:1,y:0}}};function qJe([n,e],[t,r],{lineThickness:i=0}={}){return i===0?YJe(n,e,t,r):s4n(n,e,t,r)<=i}function YJe(n,e,t,r){const i=xH(n,e,t),a=xH(n,e,r),o=xH(t,r,n),s=xH(t,r,e);return!!(i!==a&&o!==s||i===0&&bH(n,t,e)||a===0&&bH(n,r,e)||o===0&&bH(t,n,r)||s===0&&bH(t,e,r))}function xH(n,e,t){const r=(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y);return r===0?0:r>0?1:2}function bH(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function s4n(n,e,t,r){if(n.x===e.x&&n.y===e.y)return pM(n,t,r);if(t.x===r.x&&t.y===r.y)return pM(t,n,e);if(YJe(n,e,t,r))return 0;const i=[pM(n,t,r),pM(e,t,r),pM(t,n,e),pM(r,n,e)];return Math.min(...i)}function pM(n,e,t){const r=(t.x-e.x)**2+(t.y-e.y)**2;if(r===0)return BP(n,e);let i=((n.x-e.x)*(t.x-e.x)+(n.y-e.y)*(t.y-e.y))/r;i=Math.max(0,Math.min(1,i));const a={x:e.x+i*(t.x-e.x),y:e.y+i*(t.y-e.y)};return BP(n,a)}function BP(n,e){const t=n.x-e.x,r=n.y-e.y;return Math.sqrt(t*t+r*r)}var l4n=Object.defineProperty,c4n=(n,e)=>{for(var t in e)l4n(n,t,{get:e[t],enumerable:!0})},XJe={};c4n(XJe,{Battery:()=>ybn,Board:()=>K4n,Capacitor:()=>ebn,Chip:()=>yet,Constraint:()=>sbn,Crystal:()=>Ebn,Diode:()=>tbn,FabricationNotePath:()=>lbn,FabricationNoteText:()=>cbn,Footprint:()=>R4n,Group:()=>ghe,Hole:()=>aet,Inductor:()=>xbn,Jumper:()=>nbn,Keepout:()=>hhe,Led:()=>rbn,Mosfet:()=>Mbn,Net:()=>tet,NetAlias:()=>fbn,NormalComponent:()=>M2,PinHeader:()=>vbn,PlatedHole:()=>iet,Port:()=>U6,Potentiometer:()=>Sbn,PowerSource:()=>ibn,PrimitiveComponent:()=>yx,PushButton:()=>wbn,Renderable:()=>WJe,Resistor:()=>abn,Resonator:()=>_bn,SilkscreenCircle:()=>dbn,SilkscreenLine:()=>hbn,SilkscreenPath:()=>ret,SilkscreenRect:()=>pbn,SilkscreenText:()=>oet,SmtPad:()=>phe,Subcircuit:()=>ubn,Switch:()=>Cbn,Trace:()=>Bw,TraceHint:()=>het,Transistor:()=>Tbn,Via:()=>mbn});var u4n=c9("tscircuit:renderable"),Iw=["ReactSubtreesRender","InitializePortsFromChildren","CreateNetsFromProps","CreateTracesFromProps","CreateTraceHintsFromProps","SourceRender","SourceParentAttachment","PortMatching","OptimizeSelectorCache","SourceTraceRender","SourceAddConnectivityMapKey","SchematicComponentRender","SchematicPortRender","SchematicLayout","SchematicTraceRender","PcbComponentRender","PcbPrimitiveRender","PcbFootprintLayout","PcbPortRender","PcbPortAttachment","PcbLayout","PcbComponentSizeCalculation","PcbBoardAutoSize","PcbTraceRender","PcbTraceHintRender","PcbRouteNetIslands","PcbDesignRuleChecks","CadModelRender","PartsEngineRender"],f4n=0,WJe=class{constructor(n){nt(this,"renderPhaseStates");nt(this,"shouldBeRemoved",!1);nt(this,"children");nt(this,"isPcbPrimitive",!1);nt(this,"isSchematicPrimitive",!1);nt(this,"_renderId");nt(this,"_currentRenderPhase",null);nt(this,"_asyncEffects",[]);nt(this,"parent",null);this._renderId=`${f4n++}`,this.children=[],this.renderPhaseStates={};for(const e of Iw)this.renderPhaseStates[e]={initialized:!1,dirty:!1}}_markDirty(n){var t;this.renderPhaseStates[n].dirty=!0;const e=Iw.indexOf(n);for(let r=e+1;r<Iw.length;r++)this.renderPhaseStates[Iw[r]].dirty=!0;(t=this.parent)!=null&&t._markDirty&&this.parent._markDirty(n)}_queueAsyncEffect(n,e){const t={promise:e(),phase:this._currentRenderPhase,effectName:n,complete:!1};this._asyncEffects.push(t),"root"in this&&this.root&&this.root.emit("asyncEffect:start",{effectName:n,componentDisplayName:this.getString(),phase:t.phase}),t.promise.then(()=>{t.complete=!0,"root"in this&&this.root&&this.root.emit("asyncEffect:end",{effectName:n,componentDisplayName:this.getString(),phase:t.phase})}).catch(r=>{console.error(`Async effect error in ${t.phase} "${n}":
13282
+ `,i.appendChild(N)}})}};a();const o=new MutationObserver(a);return o.observe(i,{childList:!0,subtree:!1,characterData:!1}),()=>{o.disconnect()}},[n,t,e,r])},M1n=c9("schematic-viewer"),C1n=()=>{c9.enable("schematic-viewer*")},R1n=M1n,A1n=n=>{const[e,t]=rt.useState(0),[r,i]=rt.useState(0);return rt.useEffect(()=>{if(!n.current)return;const a=()=>{var l;const s=(l=n.current)==null?void 0:l.getBoundingClientRect();t((s==null?void 0:s.width)||0),i((s==null?void 0:s.height)||0)};a();const o=new ResizeObserver(a);return o.observe(n.current),window.addEventListener("resize",a),()=>{o.disconnect(),window.removeEventListener("resize",a)}},[]),{containerWidth:e,containerHeight:r}},P1n=R1n.extend("useComponentDragging"),N1n=({onEditEvent:n,editEvents:e=[],circuitJson:t,cancelDrag:r,svgToScreenProjection:i,realToSvgProjection:a,enabled:o=!1})=>{const[s,l]=rt.useState(null),c=Mc(a,i),u=rt.useRef(null),f=rt.useRef(null),d=rt.useRef(new Map);rt.useEffect(()=>{e.forEach(w=>{"edit_event_type"in w&&w.edit_event_type==="edit_schematic_component_location"&&!w.in_progress&&d.current.set(w.schematic_component_id,{...w.new_center})})},[e]);const m=rt.useCallback(w=>{if(!o)return;const M=w.target.closest('[data-circuit-json-type="schematic_component"]');if(!M)return;const N=M.getAttribute("data-schematic-component-id");if(!N)return;r&&r();const k=dv(t).schematic_component.get(N);if(!k)return;u.current={x:w.clientX,y:w.clientY};let V;const Y=d.current.get(N);if(Y)V={...Y};else{const q=lZe({editEvents:e,schematic_component_id:N});V={x:k.center.x+q.x,y:k.center.y+q.y},d.current.set(N,{...V})}const W={edit_event_id:Math.random().toString(36).substr(2,9),edit_event_type:"edit_schematic_component_location",schematic_component_id:N,original_center:V,new_center:{...V},in_progress:!0,created_at:Date.now(),_element:M};f.current=W,l(W)},[r,o,t,e]),g=rt.useCallback(w=>{if(!f.current||!u.current)return;const S={x:w.clientX-u.current.x,y:w.clientY-u.current.y},M={x:S.x/c.a,y:S.y/c.d},N={...f.current,new_center:{x:f.current.original_center.x+M.x,y:f.current.original_center.y+M.y}};f.current=N,l(N)},[c]),E=rt.useCallback(()=>{if(!f.current)return;const w={...f.current,in_progress:!1};d.current.set(w.schematic_component_id,{...w.new_center}),P1n("handleMouseUp calling onEditEvent with new edit event",{newEditEvent:w}),n&&n(w),f.current=null,u.current=null,l(null)},[n]);return rt.useEffect(()=>(window.addEventListener("mousemove",g),window.addEventListener("mouseup",E),()=>{window.removeEventListener("mousemove",g),window.removeEventListener("mouseup",E)}),[g,E]),{handleMouseDown:m,isDragging:!!f.current,activeEditEvent:s}},D1n=({onClick:n,active:e})=>Ge.jsx("div",{onClick:n,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:1e3},children:Ge.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[Ge.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),Ge.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})}),L1n=({circuitJson:n,containerStyle:e,editEvents:t=[],onEditEvent:r,defaultEditMode:i=!1,debugGrid:a=!1,editingEnabled:o=!1,debug:s=!1,clickToInteractEnabled:l=!1,colorOverrides:c})=>{s&&C1n();const[u,f]=rt.useState(i),[d,m]=rt.useState(!l),g=rt.useRef(null),E=rt.useRef(null),w=Pe=>{const De=Pe.touches[0];E.current={x:De.clientX,y:De.clientY}},S=Pe=>{const De=Pe.changedTouches[0],ze=E.current;if(!ze)return;const Re=Math.abs(De.clientX-ze.x),qe=Math.abs(De.clientY-ze.y);Re<10&&qe<10&&(Pe.preventDefault(),m(!0)),E.current=null},[M,N]=rt.useState([]),k=rt.useRef(n),V=Pe=>`${(Pe==null?void 0:Pe.length)||0}_${(Pe==null?void 0:Pe.editCount)||0}`;rt.useEffect(()=>{const Pe=V(n),De=V(k.current);Pe!==De&&(N([]),k.current=n)},[n]);const{ref:Y,cancelDrag:W,transform:q}=sZe({onSetTransform(Pe){g.current&&(g.current.style.transform=h7(Pe))},enabled:d}),{containerWidth:ee,containerHeight:X}=A1n(Y),ue=rt.useMemo(()=>!ee||!X?"":Hfe(n,{width:ee,height:X||720,grid:a?{cellSize:1,labelCells:!0}:void 0,colorOverrides:c}),[n,ee,X]),pe=rt.useMemo(()=>{var De;if(!ue)return u9();const Pe=(De=ue.match(/data-real-to-screen-transform="([^"]+)"/))==null?void 0:De[1];try{return dG(Pe)}catch(ze){return console.error(ze),u9()}},[ue]),ce=Pe=>{N(De=>[...De,Pe]),r&&r(Pe)},Se=rt.useMemo(()=>[...t,...M],[t,M]),{handleMouseDown:he,isDragging:_e,activeEditEvent:Te}=N1n({onEditEvent:ce,cancelDrag:W,realToSvgProjection:pe,svgToScreenProjection:q,circuitJson:n,editEvents:Se,enabled:u&&d});E1n({svgDivRef:g,editEvents:Se,realToSvgProjection:pe,svgToScreenProjection:q,activeEditEvent:Te}),T1n({svgDivRef:g,circuitJson:n,activeEditEvent:Te,editEvents:Se});const be=rt.useMemo(()=>Ge.jsx("div",{ref:g,style:{pointerEvents:l?d?"auto":"none":"auto",transformOrigin:"0 0"},dangerouslySetInnerHTML:{__html:ue}}),[ue,d,l]);return Ge.jsxs("div",{ref:Y,style:{position:"relative",backgroundColor:"transparent",overflow:"hidden",cursor:_e?"grabbing":l&&!d?"pointer":"grab",minHeight:"300px",...e},onMouseDown:Pe=>{if(l&&!d){Pe.preventDefault(),Pe.stopPropagation();return}he(Pe)},onMouseDownCapture:Pe=>{if(l&&!d){Pe.preventDefault(),Pe.stopPropagation();return}},onTouchStart:w,onTouchEnd:S,children:[!d&&l&&Ge.jsx("div",{onClick:Pe=>{Pe.preventDefault(),Pe.stopPropagation(),m(!0)},style:{position:"absolute",inset:0,cursor:"pointer",zIndex:10,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"all",touchAction:"pan-x pan-y pinch-zoom"},children:Ge.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"})}),o&&Ge.jsx(D1n,{active:u,onClick:()=>f(!u)}),be]})},O1n=n=>{const[e,t]=rt.useState(0),[r,i]=rt.useState(0);return rt.useEffect(()=>{if(!n.current)return;const a=()=>{var l;const s=(l=n.current)==null?void 0:l.getBoundingClientRect();t((s==null?void 0:s.width)||0),i((s==null?void 0:s.height)||0)};a();const o=new ResizeObserver(a);return o.observe(n.current),window.addEventListener("resize",a),()=>{o.disconnect(),window.removeEventListener("resize",a)}},[]),{containerWidth:e,containerHeight:r}};c9("assembly-viewer");var z1n=()=>{c9.enable("assembly-viewer*")},U1n=({circuitJson:n,containerStyle:e,debugGrid:t=!1,debug:r=!1})=>{r&&z1n();const i=rt.useRef(null),{ref:a}=sZe({onSetTransform(u){i.current&&(i.current.style.transform=h7(u))}}),{containerWidth:o,containerHeight:s}=O1n(a),l=rt.useMemo(()=>!o||!s?"":eZe(n,{width:o,height:s||720}),[n,o,s]);rt.useMemo(()=>{var f;if(!l)return u9();const u=(f=l.match(/data-real-to-screen-transform="([^"]+)"/))==null?void 0:f[1];try{return dG(u)}catch(d){return console.error(d),u9()}},[l]);const c=rt.useMemo(()=>Ge.jsx("div",{ref:i,style:{pointerEvents:"auto",transformOrigin:"0 0"},dangerouslySetInnerHTML:{__html:l}}),[l]);return Ge.jsx("div",{ref:a,style:{position:"relative",backgroundColor:"#F5F1ED",overflow:"hidden",minHeight:"300px",...e},children:c})};const cZe=["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."],k1n=(()=>{let n=cZe[Math.floor(Math.random()*cZe.length)];return n=n.replace(/</g,"&lt;"),n=n.replace(/>/g,"&gt;"),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})(),kw=({onRunClicked:n})=>Ge.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:[Ge.jsx(lln,{className:"rf-size-14 rf-mb-4"}),Ge.jsxs("p",{className:"rf-text-md rf-break-words rf-max-w-xl rf-text-center",children:["Tip: ",Ge.jsx("span",{dangerouslySetInnerHTML:{__html:k1n}})]}),n&&Ge.jsxs(m3,{className:"rf-mt-4 rf-bg-blue-600 rf-hover:bg-blue-500",onClick:n,children:["Run Code",Ge.jsx(_$e,{className:"rf-w-3 rf-h-3 rf-ml-2"})]})]}),uj=({text:n,onClick:e})=>Ge.jsx("span",{className:"rf-cursor-pointer rf-underline rf-text-blue-600 rf-mx-2",onClick:e,children:n}),fj=n=>{var e;return Ge.jsxs("div",{className:"rf-leading-5",children:[Ge.jsx("div",{className:"rf-py-2 rf-font-bold",children:n.column.name}),Ge.jsx("div",{children:((e=n.field)==null?void 0:e.call(n))??Ge.jsx("input",{type:"text",className:"rf-border rf-rounded rf-p-1 rf-w-full",onChange:t=>{var r;(r=n.onTextChange)==null||r.call(n,t.target.value)}})})]})},I1n=({open:n,children:e,title:t,onClose:r})=>n?Ge.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:r,children:Ge.jsxs("div",{className:"rf-bg-white rf-p-5 rf-rounded-lg rf-relative rf-w-11/12 rf-max-w-2xl",onClick:i=>{i.preventDefault(),i.stopPropagation()},children:[Ge.jsx("h2",{className:"rf-mt-0 rf-text-md rf-pb-4",children:t}),Ge.jsx("button",{type:"button",className:"rf-absolute rf-top-2 rf-right-4 rf-text-2xl rf-font-bold",onClick:r,children:"×"}),e]})}):null,F1n=({elements:n})=>{const[e,t]=rt.useState({open:!1}),[r,i]=rt.useReducer((u,f)=>({...u,...f}),{}),a=[...new Set(n.map(u=>u.type))],o=n.map(u=>{const f=u[`${u.type}_id`],d=Object.fromEntries(Object.entries(u).filter(([g])=>!(g===`${u.type}_id`||!g.endsWith("_id")))),m=Object.fromEntries(Object.entries(u).filter(([g])=>!g.endsWith("_id")));return{primary_id:f,other_ids:d,...m,_og_elm:u}}),s=o.map(u=>{let f="";const d=m=>{const g=Object.keys(m.other_ids).find(S=>S.startsWith("source_"));if(!g)return`.${m.name}`;const E=g.slice(0,-3),w=o.find(S=>S.type===E&&S.primary_id===m.other_ids[g]);return w?"name"in w?`${d(w)} > .${m.name}`:`#${w.primary_id} > .${m.name}`:`??? > .${m.name}`};return"name"in u&&(f=d(u)),{...u,selector_path:f}}),l=[{key:"primary_id",name:"primary_id",renderCell:u=>Ge.jsxs("div",{className:"rf-flex rf-items-center",children:[Ge.jsx(uj,{text:u.primary_id,onClick:()=>i({focused_id:u.primary_id,id_search:void 0,selector_search:void 0})}),Ge.jsx("span",{className:"rf-flex-grow"}),Ge.jsx(uj,{text:"(JSON)",onClick:()=>t({open:!0,element:u._og_elm,title:u.primary_id})})]}),renderHeaderCell:u=>Ge.jsx(fj,{column:u,onTextChange:f=>i({id_search:f}),field:r.focused_id?()=>Ge.jsxs("div",{children:["Focus:"," ",Ge.jsx("span",{className:"rf-underline",children:r.focused_id}),Ge.jsx(uj,{text:"(unfocus)",onClick:()=>i({focused_id:void 0})})]}):void 0})},{key:"type",name:"type",renderHeaderCell:u=>Ge.jsx(fj,{column:u,field:()=>Ge.jsxs("select",{onChange:f=>i({component_type_filter:f.target.value}),className:"rf-border rf-rounded rf-p-1 rf-w-full",children:[Ge.jsx("option",{value:"any",children:"any"},"any"),Ge.jsx("option",{value:"source",children:"source"},"source"),Ge.jsx("option",{value:"source/pcb",children:"source/pcb"},"source/pcb"),Ge.jsx("option",{value:"source/schematic",children:"source/schematic"},"source/schematic"),a.map(f=>Ge.jsx("option",{value:f,children:f},f))]})})},{key:"name",name:"name",renderHeaderCell:u=>Ge.jsx(fj,{column:u,onTextChange:f=>i({name_search:f})})},{key:"selector_path",name:"selector_path",renderHeaderCell:u=>Ge.jsx(fj,{column:u,onTextChange:f=>i({selector_search:f})})},{key:"other_ids",name:"other_ids",renderCell:u=>Ge.jsx("div",{className:"rf-space-x-2",children:Object.entries(u.other_ids).map(([f,d])=>Ge.jsx(uj,{text:d,onClick:()=>i({focused_id:d})},d))})}],c=s.filter(u=>{var f,d;return r.name_search?(d=(f=u.name)==null?void 0:f.toLowerCase())==null?void 0:d.includes(r.name_search.toLowerCase()):!0}).filter(u=>{var f;return!r.component_type_filter||r.component_type_filter==="any"?!0:r.component_type_filter==="source"?u.type.startsWith("source_"):r.component_type_filter==="source/pcb"?u.type.startsWith("source_")||u.type.startsWith("pcb_"):r.component_type_filter==="source/schematic"?u.type.startsWith("source_")||u.type.startsWith("schematic_"):(f=u.type)==null?void 0:f.includes(r.component_type_filter)}).filter(u=>r.selector_search?r.selector_search.split(" ").filter(d=>d.length>0).every(d=>{var m;return(m=u.selector_path)==null?void 0:m.includes(d)}):!0).filter(u=>{var f;return r.id_search?(f=u.primary_id)==null?void 0:f.includes(r.id_search):!0}).filter(u=>!!(!r.focused_id||u.primary_id===r.focused_id||Object.values(u.other_ids).includes(r.focused_id)));return Ge.jsxs("div",{className:"rf-font-mono rf-text-xs rf-bg-white",children:[Ge.jsx("div",{className:"rf-overflow-x-auto",children:Ge.jsxs("table",{className:"rf-table-auto rf-w-full rf-text-left",children:[Ge.jsx("thead",{children:Ge.jsx("tr",{children:l.map(u=>Ge.jsx("th",{className:"rf-px-4 rf-py-2 rf-border-b",children:u.renderHeaderCell?u.renderHeaderCell(u):u.name},u.key))})}),Ge.jsx("tbody",{children:c.map((u,f)=>Ge.jsx("tr",{className:"rf-hover:bg-gray-100",children:l.map(d=>Ge.jsx("td",{className:"rf-px-4 rf-py-2 rf-border-b",children:d.renderCell?d.renderCell(u):u[d.key]},d.key))},f))})]})}),Ge.jsx(I1n,{open:e.open,onClose:()=>t({open:!1}),title:e.open?e.title:"",children:Ge.jsx("div",{className:"rf-bg-gray-800 rf-p-3 rf-text-white rf-rounded",children:Ge.jsx("pre",{className:"rf-whitespace-pre-wrap",children:e.open?JSON.stringify(e.element,null,2):""})})})]})},B1n=(n,e)=>n==="jlcpcb"?Ge.jsx("a",{className:"rf-underline rf-text-blue-500",target:"_blank",rel:"noreferrer",href:`https://jlcpcb.com/partdetail/${e}`,children:e}):e,j1n=({circuitJson:n})=>{const e=n.filter(r=>r.type==="source_component"),t=new Set;for(const r of e)if(r.supplier_part_numbers)for(const i of Object.keys(r.supplier_part_numbers))t.add(i);return Ge.jsx("div",{className:"rf-overflow-x-auto",children:Ge.jsxs("table",{className:"rf-w-full rf-text-left rf-text-sm",children:[Ge.jsx("thead",{children:Ge.jsxs("tr",{className:"rf-border-b",children:[Ge.jsx("th",{className:"rf-p-2",children:"Name"}),Array.from(t).map(r=>Ge.jsx("th",{className:"rf-p-2 rf-capitalize",children:r},r))]})}),Ge.jsx("tbody",{children:e.map(r=>Ge.jsxs("tr",{className:"rf-border-b",children:[Ge.jsx("td",{className:"rf-p-2",children:r.name}),Array.from(t).map(i=>{var a,o;return Ge.jsx("td",{className:"rf-p-2",children:B1n(i,((o=(a=r.supplier_part_numbers)==null?void 0:a[i])==null?void 0:o[0])||"")},i)})]},r.source_component_id))})]})})};var uZe={Hz:{baseUnit:"Hz",variants:{MHz:1e6,kHz:1e3,Hz:1}},g:{baseUnit:"g",variants:{kg:1e3,g:1}},Ω:{baseUnit:"Ω",variants:{mΩ:.001,Ω:1,kΩ:1e3,KΩ:1e3,kohm:1e3,MΩ:1e6,GΩ:1e9,TΩ:1e12}},V:{baseUnit:"V",variants:{mV:.001,V:1,kV:1e3,KV:1e3,MV:1e6,GV:1e9,TV:1e12}},A:{baseUnit:"A",variants:{µA:1e-6,mA:.001,ma:.001,A:1,kA:1e3,MA:1e6}},F:{baseUnit:"F",variants:{pF:1e-12,nF:1e-9,µF:1e-6,uF:1e-6,mF:.001,F:1}},ml:{baseUnit:"ml",variants:{ml:1,mL:1,l:1e3,L:1e3}},deg:{baseUnit:"deg",variants:{rad:180/Math.PI}},ms:{baseUnit:"ms",variants:{s:1e3}},mm:{baseUnit:"mm",variants:{nm:1e-6,µm:.001,um:.001,mm:1,cm:10,dm:100,m:1e3,km:1e6,in:25.4,ft:304.8,IN:25.4,FT:304.8,yd:914.4,mi:1609344,mil:.0254}}},qfe=new Set;for(const[n,e]of Object.entries(uZe)){qfe.add(n);for(const t of Object.keys(e.variants))qfe.add(t)}function H1n(n){for(const[e,t]of Object.entries(uZe))if(n in t.variants)return{baseUnit:t.baseUnit,conversionFactor:t.variants[n]};return{baseUnit:n,conversionFactor:1}}var fZe={tera:1e12,T:1e12,giga:1e9,G:1e9,mega:1e6,M:1e6,kilo:1e3,k:1e3,deci:.1,d:.1,centi:.01,c:.01,milli:.001,m:.001,micro:1e-6,u:1e-6,µ:1e-6,nano:1e-9,n:1e-9,pico:1e-12,p:1e-12},Ub=n=>{var s;if(typeof n>"u")return{parsedUnit:null,unitOfValue:null,value:null};if(typeof n=="string"&&n.match(/^-?[\d\.]+$/))return{value:Number.parseFloat(n),parsedUnit:null,unitOfValue:null};if(typeof n=="number")return{value:n,parsedUnit:null,unitOfValue:null};if(typeof n=="object"&&"x"in n&&"y"in n){const{parsedUnit:l,unitOfValue:c}=Ub(n.x);return{parsedUnit:l,unitOfValue:c,value:{x:Ub(n.x).value,y:Ub(n.y).value}}}const t=(s=n.toString().split("").reverse().join("").match(/[^\d\s]+/))==null?void 0:s[0];if(!t)throw new Error(`Could not determine unit: "${n}"`);const r=t.split("").reverse().join(""),i=n.slice(0,-r.length);if(r in fZe&&!qfe.has(r)){const l=fZe[r];return{parsedUnit:null,unitOfValue:null,value:Number.parseFloat(i)*l}}const{baseUnit:a,conversionFactor:o}=H1n(r);return{parsedUnit:r,unitOfValue:a,value:o*Number.parseFloat(i)}},OP=v.string().or(v.number()).transform(n=>Ub(n).value),zP=v.string().or(v.number()).transform(n=>Ub(n).value).transform(n=>Number.parseFloat(n.toPrecision(12))),dZe=v.string().or(v.number()).transform(n=>Ub(n).value),UP=v.string().or(v.number()).transform(n=>Ub(n).value),m1=v.string().or(v.number()).transform(n=>Ub(n).value),Yfe=v.string().or(v.number()).transform(n=>Ub(n).value),Si=m1;v.string().or(v.number()).transform(n=>Ub(n).value),v.string().or(v.number()).transform(n=>Ub(n).value);var z6=v.string().or(v.number()).transform(n=>typeof n=="number"?n:n.endsWith("deg")?Number.parseFloat(n.split("deg")[0]):n.endsWith("rad")?Number.parseFloat(n.split("rad")[0])*180/Math.PI:Number.parseFloat(n)),V1n=v.number().or(v.string().endsWith("mAh")).transform(n=>{if(typeof n=="string"){const e=n.replace("mAh",""),t=Number.parseFloat(e);if(Number.isNaN(t))throw new Error("Invalid capacity");return t}return n}).describe("Battery capacity in mAh"),gv=v.object({x:Si,y:Si}),dj=v.object({x:Si,y:Si,z:Si}),pZe=v.object({width:v.number(),height:v.number()}),E9=n=>v.string().optional().default(()=>`${n}_${yE(10)}`),hZe=v.enum(["jlcpcb","macrofab","pcbway","digikey","mouser","lcsc"]),B5=v.object({type:v.literal("source_component"),ftype:v.string().optional(),source_component_id:v.string(),name:v.string(),manufacturer_part_number:v.string().optional(),supplier_part_numbers:v.record(hZe,v.array(v.string())).optional(),display_value:v.string().optional()}),mZe=B5.extend({ftype:v.literal("simple_capacitor"),capacitance:zP,max_voltage_rating:UP.optional(),display_capacitance:v.string().optional(),max_decoupling_trace_length:Si.optional()}),yZe=B5.extend({ftype:v.literal("simple_resistor"),resistance:OP,display_resistance:v.string().optional()}),Xfe=B5.extend({ftype:v.literal("simple_diode")}),$1n=B5.extend({ftype:v.literal("simple_ground")}),vZe=B5.extend({ftype:v.literal("simple_bug")}).describe("@deprecated"),gZe=B5.extend({ftype:v.literal("simple_chip")}),_Ze=Xfe.extend({ftype:v.literal("led")}),xZe=B5.extend({ftype:v.literal("simple_power_source"),voltage:UP}),bZe=B5.extend({ftype:v.literal("simple_battery"),capacity:V1n}),SZe=B5.extend({ftype:v.literal("simple_inductor"),inductance:dZe}),wZe=B5.extend({ftype:v.literal("simple_push_button")}),EZe=B5.extend({ftype:v.literal("simple_potentiometer"),max_resistance:OP}),G1n=B5.extend({ftype:v.literal("simple_crystal"),frequency:v.number().describe("Frequency in Hz"),load_capacitance:v.number().optional().describe("Load capacitance in pF")}),TZe=B5.extend({ftype:v.literal("simple_pin_header"),pin_count:v.number(),gender:v.enum(["male","female"]).optional().default("male")}),MZe=B5.extend({ftype:v.literal("simple_resonator"),load_capacitance:zP,equivalent_series_resistance:OP.optional(),frequency:Yfe}),CZe=B5.extend({ftype:v.literal("simple_transistor"),transistor_type:v.enum(["npn","pnp"])}),RZe=B5.extend({ftype:v.literal("simple_mosfet"),channel_type:v.enum(["n","p"]),mosfet_mode:v.enum(["enhancement","depletion"])}),AZe=B5.extend({ftype:v.literal("simple_switch")}),PZe=v.object({type:v.literal("source_project_metadata"),name:v.string().optional(),software_used_string:v.string().optional(),created_at:v.string().datetime().optional()}),q1n=v.union([yZe,mZe,Xfe,$1n,gZe,vZe,_Ze,xZe,bZe,SZe,wZe,EZe,G1n,TZe,MZe,AZe,CZe,RZe,PZe]),Y1n=v.object({type:v.literal("source_port"),pin_number:v.number().optional(),port_hints:v.array(v.string()).optional(),name:v.string(),source_port_id:v.string(),source_component_id:v.string(),subcircuit_id:v.string().optional()}),X1n=v.object({type:v.literal("source_trace"),source_trace_id:v.string(),connected_source_port_ids:v.array(v.string()),connected_source_net_ids:v.array(v.string()),subcircuit_id:v.string().optional(),subcircuit_connectivity_map_key:v.string().optional(),max_length:v.number().optional(),min_trace_thickness:v.number().optional(),display_name:v.string().optional()}),W1n=v.object({type:v.literal("source_group"),source_group_id:v.string(),subcircuit_id:v.string().optional(),parent_subcircuit_id:v.string().optional(),is_subcircuit:v.boolean().optional(),name:v.string().optional()}),Z1n=v.object({type:v.literal("source_net"),source_net_id:v.string(),name:v.string(),member_source_group_ids:v.array(v.string()),is_power:v.boolean().optional(),is_ground:v.boolean().optional(),is_digital_signal:v.boolean().optional(),is_analog_signal:v.boolean().optional(),trace_width:v.number().optional(),subcircuit_id:v.string().optional()}),Q1n=v.object({type:v.literal("schematic_box"),schematic_component_id:v.string(),width:Si,height:Si,x:Si,y:Si}).describe("Draws a box on the schematic"),K1n=v.object({type:v.literal("schematic_path"),schematic_component_id:v.string(),fill_color:v.enum(["red","blue"]).optional(),is_filled:v.boolean().optional(),points:v.array(gv)}),J1n=v.record(v.object({left_margin:m1.optional(),right_margin:m1.optional(),top_margin:m1.optional(),bottom_margin:m1.optional()})),eyn=v.object({left_size:v.number(),right_size:v.number(),top_size:v.number().optional(),bottom_size:v.number().optional()}),tyn=v.object({left_side:v.object({pins:v.array(v.number()),direction:v.enum(["top-to-bottom","bottom-to-top"]).optional()}).optional(),right_side:v.object({pins:v.array(v.number()),direction:v.enum(["top-to-bottom","bottom-to-top"]).optional()}).optional(),top_side:v.object({pins:v.array(v.number()),direction:v.enum(["left-to-right","right-to-left"]).optional()}).optional(),bottom_side:v.object({pins:v.array(v.number()),direction:v.enum(["left-to-right","right-to-left"]).optional()}).optional()}),nyn=v.union([eyn,tyn]),ryn=v.object({type:v.literal("schematic_component"),size:pZe,center:gv,source_component_id:v.string(),schematic_component_id:v.string(),pin_spacing:m1.optional(),pin_styles:J1n.optional(),box_width:m1.optional(),symbol_name:v.string().optional(),port_arrangement:nyn.optional(),port_labels:v.record(v.string()).optional(),symbol_display_value:v.string().optional()}),iyn=v.object({type:v.literal("schematic_line"),schematic_component_id:v.string(),x1:Si,x2:Si,y1:Si,y2:Si}),ayn=v.object({type:v.literal("schematic_trace"),schematic_trace_id:v.string(),source_trace_id:v.string(),junctions:v.array(v.object({x:v.number(),y:v.number()})),edges:v.array(v.object({from:v.object({x:v.number(),y:v.number()}),to:v.object({x:v.number(),y:v.number()}),is_crossing:v.boolean().optional(),from_schematic_port_id:v.string().optional(),to_schematic_port_id:v.string().optional()}))}),oyn=v.object({type:v.literal("schematic_text"),schematic_component_id:v.string(),schematic_text_id:v.string(),text:v.string(),position:v.object({x:Si,y:Si}),rotation:v.number().default(0),anchor:v.enum(["center","left","right","top","bottom"]).default("center"),color:v.string().default("#000000")}),syn=v.object({type:v.literal("schematic_port"),schematic_port_id:v.string(),source_port_id:v.string(),schematic_component_id:v.string().optional(),center:gv,facing_direction:v.enum(["up","down","left","right"]).optional(),distance_from_component_edge:v.number().optional(),side_of_component:v.enum(["top","bottom","left","right"]).optional(),true_ccw_index:v.number().optional(),pin_number:v.number().optional(),display_pin_label:v.string().optional()}).describe("Defines a port on a schematic component"),lyn=v.object({type:v.literal("schematic_net_label"),source_net_id:v.string(),center:gv,anchor_position:gv.optional(),anchor_side:v.enum(["top","bottom","left","right"]),text:v.string(),symbol_name:v.string().optional()}),cyn=v.object({type:v.literal("schematic_error"),schematic_error_id:v.string(),error_type:v.literal("schematic_port_not_found"),message:v.string()}).describe("Defines a schematic error on the schematic"),Wfe=v.object({type:v.literal("schematic_debug_object"),label:v.string().optional()}),uyn=Wfe.extend({shape:v.literal("rect"),center:gv,size:pZe}),fyn=Wfe.extend({shape:v.literal("line"),start:gv,end:gv}),dyn=Wfe.extend({shape:v.literal("point"),center:gv}),pyn=v.discriminatedUnion("shape",[uyn,fyn,dyn]),hyn=v.object({type:v.literal("schematic_voltage_probe"),schematic_voltage_probe_id:v.string(),position:gv,schematic_trace_id:v.string(),voltage:UP.optional()}).describe("Defines a voltage probe measurement point on a schematic trace"),NZe=v.object({type:v.literal("schematic_manual_edit_conflict_warning"),schematic_manual_edit_conflict_warning_id:E9("schematic_manual_edit_conflict_warning"),message:v.string(),schematic_component_id:v.string(),schematic_group_id:v.string().optional(),subcircuit_id:v.string().optional(),source_component_id:v.string()}).describe("Warning emitted when a component has both manual placement and explicit schX/schY coordinates"),myn=["top","bottom","inner1","inner2","inner3","inner4","inner5","inner6"],DZe=v.enum(myn),my=DZe.or(v.object({name:DZe})).transform(n=>typeof n=="string"?n:n.name),kP=v.enum(["top","bottom"]),yyn=v.object({x:Si,y:Si,via:v.boolean().optional(),via_to_layer:my.optional()});v.array(yyn);var YS=v.object({x:Si,y:Si,via:v.boolean().optional(),to_layer:my.optional(),trace_width:Si.optional()}),vyn=v.object({type:v.literal("pcb_component"),pcb_component_id:E9("pcb_component"),source_component_id:v.string(),center:gv,layer:my,rotation:z6,width:m1,height:m1,subcircuit_id:v.string().optional()}).describe("Defines a component on the PCB"),LZe=v.object({type:v.literal("pcb_hole"),pcb_hole_id:E9("pcb_hole"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),hole_shape:v.enum(["circle","square"]),hole_diameter:v.number(),x:Si,y:Si});LZe.describe("Defines a circular or square hole on the PCB");var OZe=v.object({type:v.literal("pcb_hole"),pcb_hole_id:E9("pcb_hole"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),hole_shape:v.literal("oval"),hole_width:v.number(),hole_height:v.number(),x:Si,y:Si});OZe.describe("Defines an oval hole on the PCB");var gyn=LZe.or(OZe),_yn=v.object({type:v.literal("pcb_plated_hole"),shape:v.literal("circle"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),outer_diameter:v.number(),hole_diameter:v.number(),x:Si,y:Si,layers:v.array(my),port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional(),pcb_plated_hole_id:E9("pcb_plated_hole")}),xyn=v.object({type:v.literal("pcb_plated_hole"),shape:v.enum(["oval","pill"]),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),outer_width:v.number(),outer_height:v.number(),hole_width:v.number(),hole_height:v.number(),x:Si,y:Si,layers:v.array(my),port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional(),pcb_plated_hole_id:E9("pcb_plated_hole")}),byn=v.object({type:v.literal("pcb_plated_hole"),shape:v.literal("circular_hole_with_rect_pad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),hole_shape:v.literal("circle"),pad_shape:v.literal("rect"),hole_diameter:v.number(),rect_pad_width:v.number(),rect_pad_height:v.number(),x:Si,y:Si,layers:v.array(my),port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional(),pcb_plated_hole_id:E9("pcb_plated_hole")});v.object({type:v.literal("pcb_plated_hole"),shape:v.literal("pill_hole_with_rect_pad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),hole_shape:v.literal("pill"),pad_shape:v.literal("rect"),hole_width:v.number(),hole_height:v.number(),rect_pad_width:v.number(),rect_pad_height:v.number(),x:Si,y:Si,layers:v.array(my),port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional(),pcb_plated_hole_id:E9("pcb_plated_hole")});var Syn=v.union([_yn,xyn,byn]),wyn=v.object({type:v.literal("pcb_port"),pcb_port_id:E9("pcb_port"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),source_port_id:v.string(),pcb_component_id:v.string(),x:Si,y:Si,layers:v.array(my)}).describe("Defines a port on the PCB"),Eyn=v.object({type:v.literal("pcb_smtpad"),shape:v.literal("circle"),pcb_smtpad_id:E9("pcb_smtpad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,radius:v.number(),layer:my,port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional()}),Tyn=v.object({type:v.literal("pcb_smtpad"),shape:v.literal("rect"),pcb_smtpad_id:E9("pcb_smtpad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,width:v.number(),height:v.number(),layer:my,port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional()}),Myn=v.object({type:v.literal("pcb_smtpad"),shape:v.literal("rotated_rect"),pcb_smtpad_id:E9("pcb_smtpad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,width:v.number(),height:v.number(),ccw_rotation:z6,layer:my,port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional()}),Cyn=v.object({type:v.literal("pcb_smtpad"),shape:v.literal("pill"),pcb_smtpad_id:E9("pcb_smtpad"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,width:v.number(),height:v.number(),radius:v.number(),layer:my,port_hints:v.array(v.string()).optional(),pcb_component_id:v.string().optional(),pcb_port_id:v.string().optional()}),Ryn=v.union([Eyn,Tyn,Myn,Cyn]).describe("Defines an SMT pad on the PCB"),Ayn=v.object({type:v.literal("pcb_solder_paste"),shape:v.literal("circle"),pcb_solder_paste_id:E9("pcb_solder_paste"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,radius:v.number(),layer:my,pcb_component_id:v.string().optional(),pcb_smtpad_id:v.string().optional()}),Pyn=v.object({type:v.literal("pcb_solder_paste"),shape:v.literal("rect"),pcb_solder_paste_id:E9("pcb_solder_paste"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,width:v.number(),height:v.number(),layer:my,pcb_component_id:v.string().optional(),pcb_smtpad_id:v.string().optional()}),Nyn=v.union([Ayn,Pyn]).describe("Defines solderpaste on the PCB"),Dyn=v.object({type:v.literal("pcb_text"),pcb_text_id:E9("pcb_text"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),text:v.string(),center:gv,layer:my,width:m1,height:m1,lines:v.number(),align:v.enum(["bottom-left"])}).describe("Defines text on the PCB"),Lyn=v.object({route_type:v.literal("wire"),x:Si,y:Si,width:Si,start_pcb_port_id:v.string().optional(),end_pcb_port_id:v.string().optional(),layer:my}),Oyn=v.object({route_type:v.literal("via"),x:Si,y:Si,from_layer:v.string(),to_layer:v.string()});v.union([Lyn,Oyn]);var zyn=v.object({type:v.literal("pcb_trace"),source_trace_id:v.string().optional(),pcb_component_id:v.string().optional(),pcb_trace_id:E9("pcb_trace"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),route_thickness_mode:v.enum(["constant","interpolated"]).default("constant").optional(),route_order_index:v.number().optional(),should_round_corners:v.boolean().optional(),trace_length:v.number().optional(),route:v.array(v.union([v.object({route_type:v.literal("wire"),x:Si,y:Si,width:Si,start_pcb_port_id:v.string().optional(),end_pcb_port_id:v.string().optional(),layer:my}),v.object({route_type:v.literal("via"),x:Si,y:Si,from_layer:v.string(),to_layer:v.string()})]))}).describe("Defines a trace on the PCB"),Uyn=v.object({type:v.literal("pcb_trace_error"),pcb_trace_error_id:E9("pcb_trace_error"),error_type:v.literal("pcb_trace_error"),message:v.string(),center:gv.optional(),pcb_trace_id:v.string(),source_trace_id:v.string(),pcb_component_ids:v.array(v.string()),pcb_port_ids:v.array(v.string())}).describe("Defines a trace error on the PCB"),kyn=v.object({type:v.literal("pcb_port_not_matched_error"),pcb_error_id:E9("pcb_error"),message:v.string(),pcb_component_ids:v.array(v.string())}).describe("Defines a trace error on the PCB where a port is not matched"),Iyn=v.object({type:v.literal("pcb_via"),pcb_via_id:E9("pcb_via"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),x:Si,y:Si,outer_diameter:Si.default("0.6mm"),hole_diameter:Si.default("0.25mm"),from_layer:my.optional(),to_layer:my.optional(),layers:v.array(my),pcb_trace_id:v.string().optional()}).describe("Defines a via on the PCB"),Fyn=v.object({type:v.literal("pcb_board"),pcb_board_id:E9("pcb_board"),is_subcircuit:v.boolean().optional(),subcircuit_id:v.string().optional(),width:m1,height:m1,center:gv,thickness:m1.optional().default(1.4),num_layers:v.number().optional().default(4),outline:v.array(gv).optional(),material:v.enum(["fr4","fr1"]).default("fr4")}).describe("Defines the board outline of the PCB"),Byn=v.object({type:v.literal("pcb_placement_error"),pcb_placement_error_id:E9("pcb_placement_error"),message:v.string()}).describe("Defines a placement error on the PCB"),jyn=v.object({type:v.literal("pcb_trace_hint"),pcb_trace_hint_id:E9("pcb_trace_hint"),pcb_port_id:v.string(),pcb_component_id:v.string(),route:v.array(YS)}).describe("A hint that can be used during generation of a PCB trace"),Hyn=v.object({type:v.literal("pcb_silkscreen_line"),pcb_silkscreen_line_id:E9("pcb_silkscreen_line"),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),stroke_width:Si.default("0.1mm"),x1:Si,y1:Si,x2:Si,y2:Si,layer:kP}).describe("Defines a silkscreen line on the PCB"),Vyn=v.object({type:v.literal("pcb_silkscreen_path"),pcb_silkscreen_path_id:E9("pcb_silkscreen_path"),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),layer:kP,route:v.array(gv),stroke_width:m1}).describe("Defines a silkscreen path on the PCB"),$yn=v.object({type:v.literal("pcb_silkscreen_text"),pcb_silkscreen_text_id:E9("pcb_silkscreen_text"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),font:v.literal("tscircuit2024").default("tscircuit2024"),font_size:Si.default("0.2mm"),pcb_component_id:v.string(),text:v.string(),ccw_rotation:v.number().optional(),layer:my,is_mirrored:v.boolean().default(!1).optional(),anchor_position:gv.default({x:0,y:0}),anchor_alignment:v.enum(["center","top_left","top_right","bottom_left","bottom_right"]).default("center")}).describe("Defines silkscreen text on the PCB"),Gyn=v.object({type:v.literal("pcb_silkscreen_rect"),pcb_silkscreen_rect_id:E9("pcb_silkscreen_rect"),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),center:gv,width:m1,height:m1,layer:my,stroke_width:m1.default("1mm")}).describe("Defines a silkscreen rect on the PCB"),qyn=v.object({type:v.literal("pcb_silkscreen_circle"),pcb_silkscreen_circle_id:E9("pcb_silkscreen_circle"),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),center:gv,radius:m1,layer:kP,stroke_width:m1.default("1mm")}).describe("Defines a silkscreen circle on the PCB"),Yyn=v.object({type:v.literal("pcb_silkscreen_oval"),pcb_silkscreen_oval_id:E9("pcb_silkscreen_oval"),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),center:gv,radius_x:Si,radius_y:Si,layer:kP}).describe("Defines a silkscreen oval on the PCB"),Xyn=v.object({type:v.literal("pcb_fabrication_note_text"),pcb_fabrication_note_text_id:E9("pcb_fabrication_note_text"),subcircuit_id:v.string().optional(),pcb_group_id:v.string().optional(),font:v.literal("tscircuit2024").default("tscircuit2024"),font_size:Si.default("1mm"),pcb_component_id:v.string(),text:v.string(),layer:kP,anchor_position:gv.default({x:0,y:0}),anchor_alignment:v.enum(["center","top_left","top_right","bottom_left","bottom_right"]).default("center"),color:v.string().optional()}).describe("Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"),Wyn=v.object({type:v.literal("pcb_fabrication_note_path"),pcb_fabrication_note_path_id:E9("pcb_fabrication_note_path"),pcb_component_id:v.string(),subcircuit_id:v.string().optional(),layer:my,route:v.array(gv),stroke_width:m1,color:v.string().optional()}).describe("Defines a fabrication path on the PCB for fabricators or assemblers"),Zyn=v.object({type:v.literal("pcb_keepout"),shape:v.literal("rect"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),center:gv,width:Si,height:Si,pcb_keepout_id:v.string(),layers:v.array(v.string()),description:v.string().optional()}).or(v.object({type:v.literal("pcb_keepout"),shape:v.literal("circle"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),center:gv,radius:Si,pcb_keepout_id:v.string(),layers:v.array(v.string()),description:v.string().optional()})),Qyn=v.object({type:v.literal("pcb_missing_footprint_error"),pcb_missing_footprint_error_id:E9("pcb_missing_footprint_error"),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),error_type:v.literal("pcb_missing_footprint_error"),source_component_id:v.string(),message:v.string()}).describe("Defines a missing footprint error on the PCB"),Kyn=v.object({type:v.literal("pcb_group"),pcb_group_id:E9("pcb_group"),source_group_id:v.string(),is_subcircuit:v.boolean().optional(),subcircuit_id:v.string().optional(),width:m1,height:m1,center:gv,pcb_component_ids:v.array(v.string()),name:v.string().optional(),description:v.string().optional()}).describe("Defines a group of components on the PCB"),Jyn=v.object({type:v.literal("pcb_autorouting_error"),pcb_error_id:E9("pcb_autorouting_error"),message:v.string()}).describe("The autorouting has failed to route a portion of the board"),zZe=v.object({type:v.literal("pcb_manual_edit_conflict_warning"),pcb_manual_edit_conflict_warning_id:E9("pcb_manual_edit_conflict_warning"),message:v.string(),pcb_component_id:v.string(),pcb_group_id:v.string().optional(),subcircuit_id:v.string().optional(),source_component_id:v.string()}).describe("Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"),evn=v.object({type:v.literal("cad_component"),cad_component_id:v.string(),pcb_component_id:v.string(),source_component_id:v.string(),position:dj,rotation:dj.optional(),size:dj.optional(),layer:my.optional(),footprinter_string:v.string().optional(),model_obj_url:v.string().optional(),model_stl_url:v.string().optional(),model_3mf_url:v.string().optional(),model_jscad:v.any().optional()}).describe("Defines a component on the PCB");v.union([X1n,Y1n,q1n,_Ze,Z1n,W1n,vZe,gZe,mZe,Xfe,yZe,xZe,bZe,SZe,TZe,MZe,AZe,CZe,RZe,EZe,wZe,PZe,vyn,gyn,Qyn,zZe,Syn,Zyn,wyn,Dyn,zyn,Iyn,Ryn,Nyn,Fyn,Kyn,jyn,Hyn,Vyn,$yn,Gyn,qyn,Yyn,Uyn,Byn,kyn,Wyn,Xyn,Jyn,Q1n,oyn,iyn,ryn,syn,ayn,K1n,cyn,lyn,pyn,hyn,NZe,evn]);function Zfe(n){if(n.length===0)return{minX:0,maxX:0,minY:0,maxY:0};let e=1/0,t=-1/0,r=1/0,i=-1/0;const a=o=>{e=Math.min(e,o.x),t=Math.max(t,o.x),r=Math.min(r,o.y),i=Math.max(i,o.y)};return n.forEach(o=>{switch(o.type){case"path":o.points.forEach(a);break;case"text":a({x:o.x,y:o.y});break;case"circle":{const{x:s,y:l,radius:c}=o;a({x:s-c,y:l-c}),a({x:s+c,y:l+c});break}case"box":{const{x:s,y:l,width:c,height:u}=o,f=c/2,d=u/2;a({x:s-f,y:l-d}),a({x:s+f,y:l+d});break}}}),{minX:e,maxX:t,minY:r,maxY:i}}function Km(n){let e=n.size;if(!e){const t=Zfe(n.primitives);e={width:t.maxX-t.minX,height:t.maxY-t.minY}}return{...n,size:e}}var tvn={paths:{path11:{type:"path",points:[{x:-.5274831500000005,y:.03018695000000049},{x:-.30105415000000013,y:.03018695000000049}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2932119499999999,y:.03018695000000049},{x:.5339524499999997,y:.03018695000000049}],color:"primary",fill:!1},"path11-5-5":{type:"path",points:[{x:.09765764999999949,y:.12845085000000034},{x:-.0011297500000011507,y:-.06303624999999946},{x:-.10778645000000164,y:.12845085000000034}],color:"primary",fill:!1},path17:{type:"path",points:[{x:-.002934749999999875,y:-.13606674999999946},{x:.06869635000000063,y:-.11019914999999947}],color:"primary",fill:!1},path18:{type:"path",points:[{x:.06869635000000063,y:-.11019914999999947},{x:.1403274500000009,y:-.13606674999999946}],color:"primary",fill:!1},path19:{type:"path",points:[{x:-.1461968499999997,y:-.13606674999999946},{x:-.07456574999999921,y:-.11019914999999947}],color:"primary",fill:!1},path20:{type:"path",points:[{x:-.07456575000000054,y:-.11019914999999947},{x:-.0029346500000002607,y:-.13606674999999946}],color:"primary",fill:!1}},refblocks:{left1:{x:-.5413984499999998,y:.029334149999999948},right1:{x:.54139845,y:.030330549999999734}},bounds:{width:1.1391137819999997,height:.5443252999999999,centerX:11102230246251565e-32,centerY:.05499999999999999},circles:{path1:{type:"circle",x:-.0037626500000000895,y:.03731525000000002,radius:.28854213,color:"primary",fill:!1}}},{paths:nvn,bounds:pj,refblocks:UZe,circles:rvn}=tvn,kZe=Km({primitives:[...Object.values(nvn),...Object.values(rvn),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"}],ports:[{...UZe.left1,labels:["1"]},{...UZe.right1,labels:["2"]}],size:{width:pj.width,height:pj.height},center:{x:pj.centerX,y:pj.centerY}}),ivn=(n,e="right")=>{switch(e){case"down":switch(n){case"middle_top":return"middle_right";case"middle_bottom":return"middle_left";case"middle_left":return"middle_bottom";case"middle_right":return"middle_top"}break;case"up":switch(n){case"middle_top":return"middle_left";case"middle_bottom":return"middle_right";case"middle_left":return"middle_top";case"middle_right":return"middle_bottom"}break;case"left":switch(n){case"middle_top":return"middle_bottom";case"middle_bottom":return"middle_top";case"middle_left":return"middle_right";case"middle_right":return"middle_left"}break;case"right":return n}return n},avn=(n,e)=>{const{primitives:t,center:r,ports:i,size:a}=n,o=W3({a:1,b:0,c:0,d:-1,e:0,f:2*r.y}),s=t.map(c=>{switch(c={...c},c.type){case"path":return{...c,points:c.points.map(m=>gr(o,m))};case"text":const u=gr(o,{x:c.x,y:c.y}),f={top_left:"bottom_left",top_right:"bottom_right",bottom_left:"top_left",bottom_right:"top_right",center:"center",middle_top:"middle_bottom",middle_bottom:"middle_top",middle_left:"middle_left",middle_right:"middle_right"};return{...c,x:u.x,y:u.y,anchor:f[c.anchor]};case"circle":case"box":const d=gr(o,{x:c.x,y:c.y});return{...c,x:d.x,y:d.y}}}),l=i.map(c=>({...c,...gr(o,c)}));return{primitives:s,center:r,ports:l,size:a,...e}},Qfe=(n,e)=>{const{primitives:t,center:r,ports:i,size:a}=n,o=W3({a:-1,b:0,c:0,d:1,e:0,f:2*r.x}),s=t.map(c=>{switch(c={...c},c.type){case"path":return{...c,points:c.points.map(m=>gr(o,m))};case"text":const u=gr(o,{x:c.x,y:c.y}),f={top_left:"top_right",top_right:"top_left",bottom_left:"bottom_right",bottom_right:"bottom_left",center:"center",middle_top:"middle_top",middle_bottom:"middle_bottom",middle_left:"middle_right",middle_right:"middle_left"};return{...c,x:u.x,y:u.y,anchor:f[c.anchor]};case"circle":case"box":const d=gr(o,{x:c.x,y:c.y});return{...c,x:d.x,y:d.y}}}),l=i.map(c=>({...c,...gr(o,c)}));return{primitives:s,center:r,ports:l,size:a,...e}},IP=(n,e)=>{const{newOrientation:t,overrides:r}=e,i={up:Math.PI/2,right:0,down:-Math.PI/2,left:-Math.PI},a=u2(t?i[t]:Math.PI/2,n.center.x,n.center.y),{primitives:o,center:s,size:l,ports:c}=n,u=o.map(m=>{switch(m={...m},m.type){case"path":return{...m,points:m.points.map(S=>gr(a,S))};case"text":const g=gr(a,{x:m.x,y:m.y});return m.anchor=ivn(m.anchor,t??"right"),{...m,x:g.x,y:g.y};case"circle":const E=gr(a,{x:m.x,y:m.y});return{...m,x:E.x,y:E.y};case"box":const w=gr(a,{x:m.x,y:m.y});return{...m,x:w.x,y:w.y,width:m.height,height:m.width}}}),f=c.map(m=>({...m,...gr(a,m)})),d=Zfe(u);return{primitives:u,center:s,ports:f,size:{width:d.maxX-d.minX,height:d.maxY-d.minY},...r}},Pl=(n,e="down",t={})=>IP(n,{newOrientation:e,overrides:t}),ovn=IP(kZe,{newOrientation:"up"}),svn=ovn,lvn={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.0390362999999998},{x:-.1199943999999995,y:-.09325540000000054}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1199943999999995,y:.17132800000000015},{x:.14458890000000002,y:.0390362999999998}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1199943999999995,y:-.09325539999999921},{x:-.1199943999999995,y:.17132800000000015}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.14458890000000002,y:.17132800000000015},{x:.14458890000000002,y:-.09325539999999921}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219909999999956,y:.0390362999999998},{x:-.5168693999999996,y:.0390362999999998}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233797000000002,y:.03895110000000024},{x:.1496715999999998,y:.03895110000000024}],color:"primary",fill:!1},"path43-8":{type:"path",points:[{x:.14339119999999994,y:.17181090000000032},{x:.07768859999999966,y:.19542900000000052}],color:"primary",fill:!1},"path43-8-3":{type:"path",points:[{x:.21083259999999981,y:-.1180321000000002},{x:.14512999999999954,y:-.094414}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.26884529999999995},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.27884529999999996}},refblocks:{left1:{x:-.5191471000000001,y:.03992070000000081},right1:{x:.5191470999999999,y:.03889609999999988}},bounds:{width:1.094611082,height:.2976905999999999,centerX:-11102230246251565e-32,centerY:.05499999999999999},circles:{}},{paths:cvn,texts:IZe,bounds:hj,refblocks:FZe,circles:uvn}=lvn,BZe=Km({primitives:[...Object.values(cvn),...Object.values(uvn),{...IZe.top1,anchor:"middle_bottom"},{...IZe.bottom1,anchor:"middle_top"}],ports:[{...FZe.left1,labels:["1"]},{...FZe.right1,labels:["2"]}],size:{width:hj.width,height:hj.height},center:{x:hj.centerX,y:hj.centerY}}),fvn=IP(BZe,{newOrientation:"down"}),dvn=fvn,pvn={paths:{path43:{type:"path",points:[{x:-.05901489999999909,y:.18831315000000015},{x:-.05869489999999833,y:-.11814524999999954}],color:"primary",fill:!1},"path43-6":{type:"path",points:[{x:.015375000000000805,y:.12533125000000034},{x:.016669000000000933,y:-.05562075000000033}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.06443049999999961,y:.032673549999999496},{x:-.4368029,y:.032673549999999496}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.4350822999999997,y:.03438825000000034},{x:.028285099999999952,y:.03438825000000034}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.027835099999999446,y:.26564474999999943},bottom1:{type:"text",text:"{VAL}",x:-.028373699999999502,y:-.27564474999999966}},refblocks:{left1:{x:-.4458008,y:.033557849999999334},right1:{x:.4458008,y:.03343344999999931}},bounds:{width:.947918482,height:.2912894999999991,centerX:0,centerY:.055000000000000104},circles:{}},{paths:hvn,texts:jZe,bounds:mj,refblocks:HZe,circles:mvn}=pvn,VZe=Km({primitives:[...Object.values(hvn),...Object.values(mvn),{...jZe.top1,anchor:"middle_bottom"},{...jZe.bottom1,anchor:"middle_top"}],ports:[{...HZe.left1,labels:["1"]},{...HZe.right1,labels:["2"]}],size:{width:mj.width,height:mj.height},center:{x:mj.centerX,y:mj.centerY}}),yvn=IP(VZe,{newOrientation:"up"}),yj={paths:{path1:{type:"path",points:[{x:-.511850799999999,y:.04616140000000257},{x:-.24726749999999953,y:.04616140000000257}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.2818991000000013,y:.04616140000000257},{x:.5464825000000006,y:.04616140000000257}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.0173157000000006,y:.17845310000000225},{x:.2818990000000001,y:.17845310000000225},{x:.2818990000000001,y:-.0861302999999971},{x:-.24726770000000053,y:-.0861302999999971},{x:-.24726770000000053,y:.17845310000000225},{x:.017315699999998824,y:.17845310000000225}],color:"primary",fill:!1}},refblocks:{left1:{x:-.5337907000000002,y:.04580520000000021},right1:{x:.5337907000000004,y:.04525870000000154}},bounds:{centerX:11102230246251565e-32,centerY:8881784197001252e-31},circles:{}},vvn=class{constructor(n){nt(this,"symbol");this.symbol=JSON.parse(JSON.stringify(n)),this.symbol.size=this.computeSize()}changeTextAnchor(n,e){return this.symbol={...this.symbol,primitives:this.symbol.primitives.map(t=>t.type==="text"&&t.text===n?{...t,anchor:e}:t)},this}labelPort(n,e){return this.symbol={...this.symbol,ports:this.symbol.ports.map(t=>t.labels.includes(n)?{...t,labels:e}:t)},this}rotateRightFacingSymbol(n){return this.symbol=IP(this.symbol,{newOrientation:n}),this}computeSize(){const n=Zfe(this.symbol.primitives);return{width:n.maxX-n.minX,height:n.maxY-n.minY}}build(){return{...this.symbol,size:this.computeSize()}}},fd=n=>new vvn({...n,primitives:n.primitives??[...Object.values(n.paths??{}),...Object.values(n.texts??{}),...Object.values(n.circles??{}),...Object.values(n.rects??{})],ports:n.ports??Object.entries(n.refblocks).flatMap(([e,t])=>[{...t,labels:[e]}]),center:n.center??{x:n.bounds.centerX,y:n.bounds.centerY}}),{paths:gvn,bounds:$Ze,refblocks:GZe,circles:_vn}=yj,xvn=fd({primitives:[...Object.values(gvn),...Object.values(_vn),{type:"text",text:"{REF}",x:-.16,y:.2294553499999995},{type:"text",text:"{VAL}",x:.16,y:.2294553499999995}],ports:[{...GZe.left1,labels:["1"]},{...GZe.right1,labels:["2"]}],center:{x:$Ze.centerX,y:$Ze.centerY}}).changeTextAnchor("{VAL}","middle_bottom").rotateRightFacingSymbol("down").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_left").build(),{paths:bvn,bounds:qZe,refblocks:YZe,circles:Svn}=yj,wvn=fd({primitives:[...Object.values(bvn),...Object.values(Svn),{type:"text",text:"{REF}",x:0,y:.2294553499999995},{type:"text",text:"{VAL}",x:0,y:-.1594553499999995}],ports:[{...YZe.left1,labels:["1"]},{...YZe.right1,labels:["2"]}],center:{x:qZe.centerX,y:qZe.centerY}}).changeTextAnchor("{VAL}","middle_top").rotateRightFacingSymbol("right").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),{paths:Evn,bounds:XZe,refblocks:WZe,circles:Tvn}=yj,Mvn=fd({primitives:[...Object.values(Evn),...Object.values(Tvn),{type:"text",text:"{REF}",x:0,y:.2294553499999995},{type:"text",text:"{VAL}",x:0,y:-.1594553499999995}],ports:[{...WZe.left1,labels:["1"]},{...WZe.right1,labels:["2"]}],center:{x:XZe.centerX,y:XZe.centerY}}).changeTextAnchor("{VAL}","middle_top").rotateRightFacingSymbol("right").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),{paths:Cvn,bounds:ZZe,refblocks:QZe,circles:Rvn}=yj,Avn=fd({primitives:[...Object.values(Cvn),...Object.values(Rvn),{type:"text",text:"{REF}",x:-.16,y:.2294553499999995},{type:"text",text:"{VAL}",x:.16,y:.2294553499999995}],ports:[{...QZe.left1,labels:["1"]},{...QZe.right1,labels:["2"]}],center:{x:ZZe.centerX,y:ZZe.centerY}}).changeTextAnchor("{VAL}","middle_bottom").rotateRightFacingSymbol("down").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_left").build(),vj={paths:{path27:{type:"path",points:[{x:.5229378000000002,y:.017283050000003186},{x:.07314620000000005,y:.017283050000003186}],color:"primary",fill:!1},path28:{type:"path",points:[{x:-.0856037999999999,y:.017283050000003186},{x:-.5353954999999999,y:.017283050000003186}],color:"primary",fill:!1},path29:{type:"path",points:[{x:.0731461999999996,y:.2818663500000014},{x:.07314620000000005,y:-.24730024999999856}],color:"primary",fill:!1},path30:{type:"path",points:[{x:-.0856037999999999,y:.2818663500000014},{x:-.0856037999999999,y:-.24730024999999856}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.012864500000000056,y:.4200086500000033},bottom1:{type:"text",text:"{VAL}",x:-.003850500000000423,y:-.42000864999999976}},refblocks:{left1:{x:-.5512093000000005,y:.01638025000000276},right1:{x:.5512093,y:.016926950000001995}},bounds:{minX:-.5793677410000004,maxX:.579367741,minY:-.42000864999999976,maxY:.4200086500000033,width:1.1587354820000004,height:.8400173000000031,centerX:-2220446049250313e-31,centerY:17763568394002505e-31},circles:{}},{paths:Pvn,texts:zOn,bounds:gj,refblocks:KZe,circles:Nvn}=vj,Dvn=fd({primitives:[...Object.values(Pvn),...Object.values(Nvn),{type:"text",text:"{REF}",x:-.2,y:.2094553499999995},{type:"text",text:"{VAL}",x:.2,y:.2094553499999995}],ports:[{...KZe.left1,labels:["1"]},{...KZe.right1,labels:["2"]}],size:{width:gj.width,height:gj.height},center:{x:gj.centerX,y:gj.centerY}}).changeTextAnchor("{VAL}","top_left").rotateRightFacingSymbol("down").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","bottom_left").build(),Lvn=fd(vj).changeTextAnchor("{VAL}","middle_top").rotateRightFacingSymbol("right").labelPort("left1",["2"]).labelPort("right1",["1"]).changeTextAnchor("{REF}","middle_bottom").build(),Kfe={paths:{"path27-5":{type:"path",points:[{x:.4511331000000005,y:.017283050000003186},{x:.001333100000000531,y:.017283050000003186}],color:"primary",fill:!1},"path28-5":{type:"path",points:[{x:-.08560379999999945,y:.017283050000003186},{x:-.5353954999999995,y:.017283050000003186}],color:"primary",fill:!1},"path30-7":{type:"path",points:[{x:-.0024798999999995353,y:.28420285000000334},{x:-.0024798999999995353,y:-.247479349999999}],color:"primary",fill:!1},path8704:{type:"path",points:[{x:-.1433630999999993,y:-.24400714999999806},{x:-.1433630999999993,y:-.24400714999999806},{x:-.14262848833929928,y:-.24277205092349807},{x:-.1418975396743993,y:-.2415360290679981},{x:-.14117026348109932,y:-.24029908349449816},{x:-.14044666923519933,y:-.23906121326399818},{x:-.13972676641249931,y:-.2378224174374982},{x:-.1390105644887993,y:-.23658269507599822},{x:-.13829807293989932,y:-.2353420452404983},{x:-.13758930124159935,y:-.23410046699199832},{x:-.13688425886969938,y:-.23285795939149836},{x:-.13618295529999938,y:-.23161452149999842},{x:-.13548540000829937,y:-.23037015237849842},{x:-.13479160247039934,y:-.22912485108799843},{x:-.13410157216209936,y:-.22787861668949844},{x:-.1334153185591994,y:-.22663144824399842},{x:-.13273285113749936,y:-.22538334481249844},{x:-.13205417937279937,y:-.22413430545599844},{x:-.1313793127408994,y:-.2228843292354985},{x:-.1307082607175994,y:-.22163341521199847},{x:-.13004103277869938,y:-.2203815624464985},{x:-.1293776383999994,y:-.21912876999999853},{x:-.12871808705729942,y:-.21787503693349855},{x:-.12806238822639943,y:-.21662036230799855},{x:-.12741055138309942,y:-.21536474518449858},{x:-.12676258600319942,y:-.21410818462399858},{x:-.12611850156249946,y:-.21285067968749863},{x:-.12547830753679945,y:-.21159222943599865},{x:-.12484201340189946,y:-.21033283293049862},{x:-.12420962863359947,y:-.20907248923199864},{x:-.12358116270769948,y:-.20781119740149864},{x:-.12295662509999947,y:-.20654895649999866},{x:-.12233602528629947,y:-.20528576558849868},{x:-.12171937274239948,y:-.20402162372799865},{x:-.12110667694409948,y:-.20275652997949864},{x:-.12049794736719947,y:-.2014904834039986},{x:-.11989319348749948,y:-.20022348306249865},{x:-.11929242478079949,y:-.19895552801599864},{x:-.11869565072289952,y:-.19768661732549864},{x:-.11810288078959952,y:-.19641675005199866},{x:-.11751412445669952,y:-.19514592525649863},{x:-.1169293911999995,y:-.1938741419999986},{x:-.11634869049529953,y:-.19260139934349865},{x:-.11577203181839951,y:-.1913276963479986},{x:-.11519942464509951,y:-.1900530320744986},{x:-.11463087845119951,y:-.18877740558399858},{x:-.11406640271249952,y:-.1875008159374986},{x:-.11350600690479953,y:-.18622326219599858},{x:-.11294970050389953,y:-.18494474342049858},{x:-.11239749298559953,y:-.1836652586719986},{x:-.11184939382569953,y:-.18238480701149856},{x:-.11130541249999952,y:-.18110338749999852},{x:-.11076555848429954,y:-.17982099919849853},{x:-.11022984125439952,y:-.1785376411679985},{x:-.10969827028609953,y:-.1772533124694985},{x:-.10917085505519954,y:-.17596801216399852},{x:-.10864760503749954,y:-.17468173931249847},{x:-.10812852970879953,y:-.17339449297599843},{x:-.10761363854489954,y:-.17210627221549843},{x:-.10710294102159955,y:-.17081707609199845},{x:-.10659644661469955,y:-.16952690366649845},{x:-.10609416479999954,y:-.1682357539999984},{x:-.10559610505329955,y:-.1669436261534984},{x:-.10510227685039954,y:-.1656505191879984},{x:-.10461268966709955,y:-.16435643216449838},{x:-.10412735297919956,y:-.16306136414399838},{x:-.10364627626249956,y:-.16176531418749837},{x:-.10316946899279957,y:-.16046828135599833},{x:-.10269694064589956,y:-.15917026471049833},{x:-.10222870069759955,y:-.1578712633119983},{x:-.10176475862369955,y:-.1565712762214983},{x:-.10130512389999956,y:-.1552703024999983},{x:-.10084980600229956,y:-.15396834120849828},{x:-.10039881440639958,y:-.15266539140799829},{x:-.09995215858809957,y:-.15136145215949826},{x:-.09950984802319957,y:-.15005652252399826},{x:-.09907189218749957,y:-.14875060156249825},{x:-.09863830055679956,y:-.14744368833599825},{x:-.09820908260689958,y:-.14613578190549825},{x:-.09778424781359957,y:-.14482688133199823},{x:-.09736380565269957,y:-.1435169856764982},{x:-.09694776559999957,y:-.1422060939999982},{x:-.09653613713129958,y:-.1408942053634982},{x:-.09612892972239956,y:-.13958131882799818},{x:-.09572615284909958,y:-.13826743345449818},{x:-.09532781598719958,y:-.13695254830399817},{x:-.09493392861249958,y:-.13563666243749817},{x:-.09454450020079957,y:-.13431977491599817},{x:-.09415954022789956,y:-.13300188480049818},{x:-.09377905816959958,y:-.13168299115199816},{x:-.09340306350169958,y:-.13036309303149818},{x:-.09303156569999958,y:-.12904218949999818},{x:-.09266457424029959,y:-.12772027961849816},{x:-.09230209859839958,y:-.12639736244799815},{x:-.09194414825009957,y:-.12507343704949817},{x:-.09159073267119958,y:-.12374850248399819},{x:-.09124186133749958,y:-.12242255781249818},{x:-.09089754372479958,y:-.12109560209599818},{x:-.09055778930889957,y:-.11976763439549819},{x:-.09022260756559956,y:-.11843865377199818},{x:-.08989200797069956,y:-.11710865928649819},{x:-.08956599999999959,y:-.11577764999999829},{x:-.08956599999999959,y:-.11577764999999829},{x:-.08916166532269958,y:-.1141015840276983},{x:-.08876332646159957,y:-.11242441110159831},{x:-.08837097017289958,y:-.11074614170789834},{x:-.08798458321279957,y:-.10906678633279836},{x:-.08760415233749957,y:-.10738635546249836},{x:-.08722966430319957,y:-.10570485958319836},{x:-.08686110586609956,y:-.10402230918109837},{x:-.08649846378239957,y:-.10233871474239843},{x:-.0861417248082996,y:-.10065408675329846},{x:-.08579087569999959,y:-.09896843569999846},{x:-.08544590321369959,y:-.09728177206869845},{x:-.08510679410559958,y:-.09559410634559845},{x:-.08477353513189957,y:-.09390544901689848},{x:-.08444611304879956,y:-.09221581056879849},{x:-.08412451461249956,y:-.0905252014874985},{x:-.08380872657919955,y:-.0888336322591985},{x:-.08349873570509957,y:-.08714111337009853},{x:-.08319452874639957,y:-.08544765530639854},{x:-.08289609245929955,y:-.08375326855429854},{x:-.08260341359999955,y:-.08205796359999856},{x:-.08231647892469955,y:-.08036175092969856},{x:-.08203527518959956,y:-.07866464102959857},{x:-.08175978915089956,y:-.07696664438589859},{x:-.08149000756479956,y:-.07526777148479862},{x:-.08122591718749958,y:-.07356803281249863},{x:-.08096750477519957,y:-.07186743885519864},{x:-.08071475708409956,y:-.07016600009909864},{x:-.08046766087039958,y:-.06846372703039866},{x:-.08022620289029957,y:-.06676063013529866},{x:-.07999036989999955,y:-.06505671989999867},{x:-.07976014865569958,y:-.06335200681069868},{x:-.07953552591359955,y:-.061646501353598705},{x:-.07931648842989956,y:-.0599402140148987},{x:-.07910302296079955,y:-.0582331552807987},{x:-.07889511626249955,y:-.05652533563749871},{x:-.07869275509119955,y:-.05481676557119872},{x:-.07849592620309954,y:-.053107455568098726},{x:-.07830461635439954,y:-.05139741611439873},{x:-.07811881230129955,y:-.049686657696298736},{x:-.07793850079999953,y:-.04797519079999873},{x:-.07776366860669955,y:-.04626302591169874},{x:-.07759430247759955,y:-.04455017351759874},{x:-.07743038916889955,y:-.042836644103898744},{x:-.07727191543679954,y:-.04112244815679875},{x:-.07711886803749955,y:-.039407596162498754},{x:-.07697123372719955,y:-.03769209860719875},{x:-.07682899926209953,y:-.035975965977098755},{x:-.07669215139839955,y:-.03425920875839876},{x:-.07656067689229953,y:-.032541837437298764},{x:-.07643456249999953,y:-.03082386249999876},{x:-.07631379497769952,y:-.029105294432698766},{x:-.07619836108159952,y:-.02738614372159877},{x:-.07608824756789952,y:-.02566642085289876},{x:-.07598344119279953,y:-.023946136312798766},{x:-.07588392871249951,y:-.02222530058749876},{x:-.0757896968831995,y:-.020503924163198756},{x:-.07570073246109951,y:-.01878201752609876},{x:-.07561702220239952,y:-.017059591162398753},{x:-.07553855286329951,y:-.015336655558298754},{x:-.07546531119999951,y:-.01361322119999875},{x:-.07539728396869952,y:-.011889298573698748},{x:-.07533445792559951,y:-.010164898165598747},{x:-.07527681982689952,y:-.008440030461898743},{x:-.07522435642879952,y:-.006714705948798734},{x:-.07517705448749952,y:-.004988935112498731},{x:-.07513490075919951,y:-.0032627284391987255},{x:-.07509788200009951,y:-.0015360964150987165},{x:-.07506598496639952,y:.0001909504736012889},{x:-.0750391964142995,y:.0019184017407012956},{x:-.07501750309999951,y:.003646246900001303},{x:-.07500089177969951,y:.00537447546530131},{x:-.07498934920959952,y:.00710307695040132},{x:-.0749828621458995,y:.00883204086910133},{x:-.0749814173447995,y:.010561356735201338},{x:-.07498500156249951,y:.012291014062501347},{x:-.0749936015551995,y:.014021002364801359},{x:-.07500720407909953,y:.015751311155901372},{x:-.07502579589039951,y:.017481929949601384},{x:-.0750493637452995,y:.01921284825970139},{x:-.07507789439999951,y:.0209440556000014},{x:-.0751113746106995,y:.022675541484301412},{x:-.0751497911335995,y:.024407295426401427},{x:-.07519313072489951,y:.02613930694010145},{x:-.07524138014079951,y:.027871565539201462},{x:-.07529452613749951,y:.029604060737501478},{x:-.07535255547119951,y:.031336782048801484},{x:-.0754154548980995,y:.0330697189869015},{x:-.07548321117439952,y:.03480286106560152},{x:-.07555581105629952,y:.03653619779870154},{x:-.07563324129999952,y:.038269718700001565},{x:-.07571548866169951,y:.04000341328330158},{x:-.07580253989759951,y:.04173727106240159},{x:-.07589438176389952,y:.043471281551101616},{x:-.07599100101679952,y:.04520543426320164},{x:-.07609238441249952,y:.04693971871250166},{x:-.07619851870719953,y:.048674124412801674},{x:-.07630939065709953,y:.0504086408779017},{x:-.07642498701839952,y:.05214325762160172},{x:-.07654529454729952,y:.05387796415770175},{x:-.07667029999999952,y:.055612750000001654},{x:-.07667029999999952,y:.055612750000001654},{x:-.07680210846969952,y:.05708314936460168},{x:-.07693595411759954,y:.05855396299680169},{x:-.07707186730189955,y:.06002517220420173},{x:-.07720987838079954,y:.06149675829440175},{x:-.07735001771249954,y:.06296870257500178},{x:-.07749231565519954,y:.06444098635360178},{x:-.07763680256709955,y:.0659135909378018},{x:-.07778350880639956,y:.06738649763520185},{x:-.07793246473129956,y:.06885968775340187},{x:-.07808370069999958,y:.07033314260000188},{x:-.07823724707069958,y:.07180684348260188},{x:-.07839313420159956,y:.07328077170880191},{x:-.07855139245089958,y:.07475490858620194},{x:-.07871205217679958,y:.07622923542240194},{x:-.07887514373749958,y:.07770373352500196},{x:-.07904069749119959,y:.07917838420160196},{x:-.07920874379609959,y:.080653168759802},{x:-.07937931301039959,y:.082128068507202},{x:-.07955243549229958,y:.08360306475140203},{x:-.0797281415999996,y:.085078138800002},{x:-.0799064616916996,y:.08655327196060203},{x:-.08008742612559962,y:.08802844554080204},{x:-.08027106525989962,y:.08950364084820207},{x:-.08045740945279962,y:.09097883919040207},{x:-.08064648906249965,y:.0924540218750021},{x:-.08083833444719964,y:.0939291702096021},{x:-.08103297596509963,y:.09540426550180209},{x:-.08123044397439966,y:.09687928905920212},{x:-.08143076883329967,y:.09835422218940212},{x:-.08163398089999965,y:.09982904620000212},{x:-.08184011053269966,y:.10130374239860213},{x:-.08204918808959966,y:.10277829209280215},{x:-.08226124392889968,y:.10425267659020215},{x:-.08247630840879966,y:.10572687719840214},{x:-.08269441188749967,y:.10720087522500214},{x:-.08291558472319968,y:.10867465197760214},{x:-.0831398572740997,y:.11014818876380215},{x:-.08336725989839969,y:.11162146689120216},{x:-.0835978229542997,y:.11309446766740217},{x:-.0838315767999997,y:.11456717240000215},{x:-.08406855179369971,y:.11603956239660215},{x:-.0843087782935997,y:.11751161896480215},{x:-.08455228665789971,y:.11898332341220215},{x:-.0847991072447997,y:.12045465704640215},{x:-.08504927041249971,y:.12192560117500215},{x:-.0853028065191997,y:.12339613710560214},{x:-.08555974592309973,y:.12486624614580213},{x:-.08582011898239973,y:.12633590960320215},{x:-.08608395605529973,y:.12780510878540213},{x:-.08635128749999971,y:.1292738250000021},{x:-.08662214367469973,y:.1307420395546021},{x:-.08689655493759973,y:.1322097337568021},{x:-.08717455164689972,y:.13367688891420207},{x:-.08745616416079972,y:.13514348633440207},{x:-.08774142283749972,y:.13660950732500204},{x:-.08803035803519974,y:.13807493319360203},{x:-.08832300011209973,y:.13953974524780205},{x:-.08861937942639975,y:.14100392479520202},{x:-.08891952633629974,y:.14246745314340203},{x:-.08922347119999974,y:.14393031160000203},{x:-.08953124437569973,y:.145392481472602},{x:-.08984287622159975,y:.14685394406880198},{x:-.09015839709589976,y:.148314680696202},{x:-.09047783735679976,y:.149774672662402},{x:-.09080122736249976,y:.15123390127500197},{x:-.09112859747119977,y:.15269234784160193},{x:-.09145997804109976,y:.15414999366980195},{x:-.09179539943039977,y:.15560682006720195},{x:-.09213489199729977,y:.1570628083414019},{x:-.09247848609999976,y:.1585179398000019},{x:-.09282621209669975,y:.1599721957506019},{x:-.09317810034559978,y:.1614255575008019},{x:-.09353418120489977,y:.16287800635820185},{x:-.09389448503279976,y:.16432952363040182},{x:-.09425904218749978,y:.16578009062500182},{x:-.09462788302719977,y:.1672296886496018},{x:-.09500103791009978,y:.1686782990118018},{x:-.09537853719439979,y:.17012590301920177},{x:-.09576041123829979,y:.17157248197940175},{x:-.09614669039999979,y:.17301801720000176},{x:-.09653740503769978,y:.17446248998860173},{x:-.0969325855095998,y:.17590588165280172},{x:-.09733226217389979,y:.17734817350020168},{x:-.09773646538879979,y:.1787893468384017},{x:-.0981452255124998,y:.18022938297500168},{x:-.0985585729031998,y:.18166826321760166},{x:-.09897653791909979,y:.1831059688738016},{x:-.09939915091839979,y:.1845424812512016},{x:-.0998264422592998,y:.1859777816574016},{x:-.1002584422999998,y:.1874118514000016},{x:-.1006951813986998,y:.18884467178660155},{x:-.1011366899135998,y:.19027622412480152},{x:-.10158299820289979,y:.19170648972220153},{x:-.1020341366247998,y:.1931354498864015},{x:-.1024901355374998,y:.1945630859250015},{x:-.1029510252991998,y:.19598937914560147},{x:-.10341683626809982,y:.19741431085580147},{x:-.1038875988023998,y:.19883786236320142},{x:-.1043633432602998,y:.20026001497540138},{x:-.10484409999999977,y:.2016807500000013},{x:-.10484409999999977,y:.2016807500000013},{x:-.10512829034499978,y:.20251255364660126},{x:-.10541452131999979,y:.2033439212528012},{x:-.10570279283499981,y:.2041748478182012},{x:-.10599310479999982,y:.20500532834240115},{x:-.10628545712499982,y:.20583535782500112},{x:-.10657984971999983,y:.20666493126560112},{x:-.10687628249499985,y:.2074940436638011},{x:-.10717475535999986,y:.20832269001920106},{x:-.10747526822499989,y:.2091508653314011},{x:-.1077778209999999,y:.20997856460000103},{x:-.10808241359499988,y:.21080578282460102},{x:-.10838904591999989,y:.21163251500480096},{x:-.10869771788499989,y:.212458756140201},{x:-.10900842939999988,y:.21328450123040094},{x:-.10932118037499987,y:.21410974527500093},{x:-.10963597071999989,y:.21493448327360093},{x:-.10995280034499992,y:.21575871022580093},{x:-.1102716691599999,y:.2165824211312009},{x:-.1105925770749999,y:.21740561098940095},{x:-.11091552399999992,y:.21822827480000093},{x:-.1112405098449999,y:.2190504075626009},{x:-.11156753451999993,y:.21987200427680093},{x:-.11189659793499994,y:.22069305994220095},{x:-.11222769999999993,y:.22151356955840096},{x:-.11256084062499995,y:.222333528125001},{x:-.11289601971999996,y:.223152930641601},{x:-.11323323719499996,y:.223971772107801},{x:-.11357249295999995,y:.22479004752320103},{x:-.11391378692499997,y:.22560775188740104},{x:-.11425711899999995,y:.22642488020000104},{x:-.11460248909499995,y:.22724142746060105},{x:-.11494989711999995,y:.2280573886688011},{x:-.11529934298499996,y:.22887275882420108},{x:-.11565082659999995,y:.22968753292640107},{x:-.11600434787499994,y:.23050170597500114},{x:-.11635990671999996,y:.23131527296960114},{x:-.11671750304499996,y:.23212822890980117},{x:-.11707713675999995,y:.23294056879520117},{x:-.11743880777499995,y:.2337522876254012},{x:-.11780251599999993,y:.2345633804000012},{x:-.11816826134499994,y:.23537384211860124},{x:-.11853604371999993,y:.23618366778080127},{x:-.11890586303499992,y:.2369928523862013},{x:-.11927771919999992,y:.23780139093440128},{x:-.11965161212499995,y:.23860927842500138},{x:-.12002754171999992,y:.23941650985760138},{x:-.12040550789499993,y:.24022308023180142},{x:-.12078551055999992,y:.24102898454720142},{x:-.12116754962499991,y:.24183421780340145},{x:-.12155162499999989,y:.24263877500000142},{x:-.1219377365949999,y:.2434426511366015},{x:-.1223258843199999,y:.2442458412128015},{x:-.1227160680849999,y:.24504834022820154},{x:-.12310828779999988,y:.24585014318240156},{x:-.12350254337499987,y:.24665124507500158},{x:-.12389883471999988,y:.24745164090560162},{x:-.12429716174499987,y:.24825132567380165},{x:-.12469752435999987,y:.2490502943792017},{x:-.12509992247499988,y:.2498485420214017},{x:-.12550435599999984,y:.25064606360000175},{x:-.12591082484499985,y:.25144285411460177},{x:-.12631932891999986,y:.2522389085648018},{x:-.12672986813499987,y:.25303422195020187},{x:-.12714244239999986,y:.25382878927040187},{x:-.12755705162499986,y:.25462260552500193},{x:-.12797369571999986,y:.25541566571360197},{x:-.12839237459499983,y:.256207964835802},{x:-.12881308815999984,y:.256999497891202},{x:-.12923583632499985,y:.2577902598794021},{x:-.12966061899999984,y:.2585802458000021},{x:-.13008743609499984,y:.25936945065260214},{x:-.13051628751999986,y:.2601578694368022},{x:-.13094717318499982,y:.26094549715220217},{x:-.13138009299999984,y:.26173232879840225},{x:-.13181504687499984,y:.2625183593750023},{x:-.13225203471999986,y:.2633035838816023},{x:-.13269105644499984,y:.26408799731780236},{x:-.13313211195999985,y:.26487159468320237},{x:-.13357520117499982,y:.2656543709774024},{x:-.13402032399999986,y:.26643632120000244},{x:-.13446748034499983,y:.26721744035060246},{x:-.13491667011999983,y:.26799772342880246},{x:-.13536789323499984,y:.2687771654342025},{x:-.13582114959999986,y:.2695557613664026},{x:-.13627643912499987,y:.27033350622500263},{x:-.13673376171999985,y:.27111039500960266},{x:-.13719311729499983,y:.2718864227198026},{x:-.13765450575999985,y:.2726615843552027},{x:-.13811792702499986,y:.2734358749154028},{x:-.1385833809999999,y:.2742092894000028},{x:-.13905086759499988,y:.2749818228086028},{x:-.1395203867199999,y:.2757534701408028},{x:-.1399919382849999,y:.27652422639620283},{x:-.14046552219999991,y:.27729408657440285},{x:-.1409411383749999,y:.2780630456750029},{x:-.1414187867199999,y:.2788310986976029},{x:-.14189846714499993,y:.27959824064180294},{x:-.14238017955999993,y:.2803644665072029},{x:-.1428639238749999,y:.28112977129340294},{x:-.1433496999999999,y:.28189415000000295}],color:"primary",fill:!1},"rect1577-4":{type:"path",points:[{x:.26345180000000035,y:.2455934500000012},{x:.12298460000000011,y:.2455934500000012},{x:.12298460000000011,y:.2505664500000009},{x:.26345180000000035,y:.2505664500000009}],color:"primary",fill:!0},"rect1577-4-7":{type:"path",points:[{x:.19576130000000003,y:.31834525000000014},{x:.19576130000000003,y:.17787805000000034},{x:.1907882999999999,y:.17787805000000034},{x:.1907882999999999,y:.31834525000000014}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.012864499999999612,y:.4200086500000033},bottom1:{type:"text",text:"{VAL}",x:-.003850499999999979,y:-.42000864999999976}},refblocks:{left1:{x:-.5353954999999995,y:.016380250000000984},right1:{x:.4511331000000005,y:.016926950000001995}},bounds:{minX:-.579367741,maxX:.579367741,minY:-.42000864999999976,maxY:.4200086500000033,width:1.158735482,height:.8400173000000031,centerX:0,centerY:17763568394002505e-31},circles:{}},{paths:Ovn,texts:UOn,bounds:_j,refblocks:JZe,circles:zvn}=Kfe,Uvn=fd({primitives:[...Object.values(Ovn),...Object.values(zvn),{type:"text",text:"{REF}",x:-.2,y:.2094553499999995},{type:"text",text:"{VAL}",x:.3,y:.2094553499999995}],ports:[{...JZe.left1,labels:["1"]},{...JZe.right1,labels:["2"]}],size:{width:_j.width,height:_j.height},center:{x:_j.centerX,y:_j.centerY}}).changeTextAnchor("{VAL}","top_left").rotateRightFacingSymbol("down").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","bottom_left").build(),eQe=fd(Kfe).changeTextAnchor("{VAL}","middle_top").rotateRightFacingSymbol("right").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),kvn=fd(eQe).changeTextAnchor("{VAL}","middle_top").rotateRightFacingSymbol("left").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_top").build(),{paths:Ivn,texts:kOn,bounds:xj,refblocks:tQe,circles:Fvn}=Kfe,Bvn=fd({primitives:[...Object.values(Ivn),...Object.values(Fvn),{type:"text",text:"{REF}",x:.1,y:-.2094553499999995},{type:"text",text:"{VAL}",x:-.2,y:-.2094553499999995}],ports:[{...tQe.left1,labels:["1"]},{...tQe.right1,labels:["2"]}],size:{width:xj.width,height:xj.height},center:{x:xj.centerX,y:xj.centerY}}).changeTextAnchor("{VAL}","top_left").rotateRightFacingSymbol("up").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","bottom_left").build(),jvn=fd(vj).rotateRightFacingSymbol("right").changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),{paths:Hvn,texts:IOn,bounds:bj,refblocks:nQe,circles:Vvn}=vj,$vn=fd({primitives:[...Object.values(Hvn),...Object.values(Vvn),{type:"text",text:"{REF}",x:.2,y:-.2094553499999995},{type:"text",text:"{VAL}",x:-.2,y:-.2094553499999995}],ports:[{...nQe.left1,labels:["1"]},{...nQe.right1,labels:["2"]}],size:{width:bj.width,height:bj.height},center:{x:bj.centerX,y:bj.centerY}}).changeTextAnchor("{VAL}","top_left").rotateRightFacingSymbol("up").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","bottom_left").build(),rQe={paths:{path11:{type:"path",points:[{x:-.5274831500000005,y:.02897970000000072},{x:-.30105415000000013,y:.02897970000000072}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2932119499999999,y:.02897970000000072},{x:.5339524499999997,y:.02897970000000072}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.2932119499999999,y:.2923763000000008},{x:.2932119499999999,y:-.23441689999999937}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.021208049999999812,y:.3692298999999999},bottom1:{type:"text",text:"{VAL}",x:-.00661455000000033,y:-.3692298999999999}},refblocks:{left1:{x:-.5413984499999998,y:.028126900000000177},right1:{x:.54139845,y:.029123299999999963}},bounds:{minX:-.5695568909999997,maxX:.569556891,minY:-.3692298999999999,maxY:.3692298999999999,width:1.1391137819999997,height:.7384597999999998,centerX:11102230246251565e-32,centerY:0},circles:{path1:{type:"circle",x:-.0037626500000000895,y:.03610800000000025,radius:.28854213,color:"primary",fill:!1}}},Gvn=fd(rQe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),qvn=fd(rQe).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_right").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_left").build(),Yvn={paths:{path27:{type:"path",points:[{x:.52188525,y:-.010083950000000286},{x:.1314137500000001,y:-.010083950000000286}],color:"primary",fill:!1},path29:{type:"path",points:[{x:.12501034999999971,y:.25449935000000146},{x:.12501035000000016,y:-.2746672499999985}],color:"primary",fill:!1},"path29-2":{type:"path",points:[{x:.07157854999999946,y:.253778650000001},{x:.07157854999999991,y:-.27538794999999716}],color:"primary",fill:!1},path30:{type:"path",points:[{x:-.13957305000000053,y:.25449935000000146},{x:-.1395730500000001,y:-.2746672499999985}],color:"primary",fill:!1},"path29-5":{type:"path",points:[{x:-.08349325000000052,y:.25541165000000277},{x:-.08349325000000007,y:-.27375494999999894}],color:"primary",fill:!1},"path29-2-7":{type:"path",points:[{x:.07147894999999993,y:.2552525499999998},{x:-.0829032500000002,y:.2552525499999998}],color:"primary",fill:!1},"path29-2-7-6":{type:"path",points:[{x:.07107315000000014,y:-.27817384999999817},{x:-.08330905,y:-.27817384999999817}],color:"primary",fill:!1},path43:{type:"path",points:[{x:-.21327535000000042,y:.31803495000000304},{x:.19712464999999968,y:.31807695}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.003324649999999707,y:.694594949999999},{x:.003324649999999707,y:.3310069500000008},{x:.003324649999999707,y:.3209089500000015}],color:"primary",fill:!1},"path43-8":{type:"path",points:[{x:-.21327535000000042,y:.3180639499999991},{x:-.21327535000000042,y:.2498769499999991}],color:"primary",fill:!1},"path43-8-8":{type:"path",points:[{x:.19712464999999968,y:.31807695},{x:.19712464999999968,y:.24987695000000443}],color:"primary",fill:!1},"path43-9":{type:"path",points:[{x:.19226054999999942,y:-.3468980499999983},{x:-.21813945000000068,y:-.3469400500000006}],color:"primary",fill:!1},"path44-0-5":{type:"path",points:[{x:-.024339450000000262,y:-.7234580499999996},{x:-.024339450000000262,y:-.3598700499999996},{x:-.024339450000000262,y:-.34977205000000033}],color:"primary",fill:!1},"path43-8-1":{type:"path",points:[{x:.19226054999999942,y:-.3469270499999997},{x:.19226054999999942,y:-.2787400499999979}],color:"primary",fill:!1},"path43-8-8-9":{type:"path",points:[{x:-.21813955000000096,y:-.34694015},{x:-.21813955000000096,y:-.27874015000000085}],color:"primary",fill:!1},path28:{type:"path",points:[{x:-.14368304999999992,y:-.010083950000000286},{x:-.5364480500000002,y:-.010083950000000286}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"{REF}",x:-.38155925000000046,y:.09576035000000083},right1:{type:"text",text:"{VAL}",x:.3369813499999994,y:-.17868404999999754}},refblocks:{top1:{x:.0032092499999998303,y:.7114137500000002},bottom1:{x:-.02355145000000025,y:-.7114137500000002},left1:{x:-.5415391500000004,y:-.00607074999999746},right1:{x:.5415391499999997,y:-.012221549999997805}},bounds:{minX:-.5696975910000004,maxX:.5696975909999997,minY:-.7395721910000002,maxY:.7395721910000002,width:1.1393951820000001,height:1.4791443820000003,centerX:-33306690738754696e-32,centerY:0},circles:{}},iQe=fd(Yvn).labelPort("top1",["2","gnd1"]).labelPort("bottom1",["4","gnd2"]).labelPort("left1",["1"]).labelPort("right1",["3"]).changeTextAnchor("{REF}","bottom_right").changeTextAnchor("{VAL}","top_left").build(),Xvn=fd(iQe).rotateRightFacingSymbol("up").changeTextAnchor("{REF}","top_right").changeTextAnchor("{VAL}","bottom_left").build(),aQe={paths:{path27:{type:"path",points:[{x:.5229378000000002,y:-.012283099999995883},{x:.13246630000000037,y:-.012283099999995883}],color:"primary",fill:!1},path28:{type:"path",points:[{x:-.14263049999999966,y:-.012283099999995883},{x:-.5353954999999999,y:-.012283099999995883}],color:"primary",fill:!1},path29:{type:"path",points:[{x:.12606289999999998,y:-.2768663999999976},{x:.12606290000000042,y:.2523002000000023}],color:"primary",fill:!1},"path29-2":{type:"path",points:[{x:.07263109999999973,y:-.27614569999999716},{x:.07263110000000017,y:.253020900000001}],color:"primary",fill:!1},path30:{type:"path",points:[{x:-.13852050000000027,y:-.2768663999999976},{x:-.13852049999999982,y:.2523002000000023}],color:"primary",fill:!1},"path29-5":{type:"path",points:[{x:-.08244070000000026,y:-.27777869999999893},{x:-.08244069999999981,y:.2513879000000028}],color:"primary",fill:!1},"path29-2-7":{type:"path",points:[{x:.07253150000000019,y:-.27761959999999597},{x:-.08185069999999994,y:-.27761959999999597}],color:"primary",fill:!1},"path29-2-7-6":{type:"path",points:[{x:.0721257000000004,y:.255806800000002},{x:-.08225649999999973,y:.255806800000002}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.012864500000000056,y:-.4150086999999978},bottom1:{type:"text",text:"{VAL}",x:-.003850500000000423,y:.4250087000000011}},refblocks:{left1:{x:-.5512093000000002,y:-.011380399999998403},right1:{x:.5512093,y:-.011926899999997076}},bounds:{minX:-.5793677410000002,maxX:.579367741,minY:-.5150086999999978,maxY:.4250087000000011,width:1.1587354820000002,height:1,centerX:-11102230246251565e-32,centerY:-.04499999999999832},circles:{}},Wvn=fd(aQe).changeTextAnchor("{VAL}","middle_bottom").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_top").build(),Zvn=fd(aQe).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_left").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_right").build(),Jfe={paths:{path11:{type:"path",points:[{x:1.9942486145,y:-1.6422072295000003},{x:2.0984258145,y:-1.6428272295000004}],color:"primary",fill:!1},"path40-0":{type:"path",points:[{x:2.1030704145000003,y:-1.4809259295000001},{x:2.1026604145,y:-1.8041042295}],color:"primary",fill:!1},"path40-0-5":{type:"path",points:[{x:2.2218770145,y:-1.4969414295},{x:2.1063461145,y:-1.5757354295000003}],color:"primary",fill:!1},"path40-0-5-0":{type:"path",points:[{x:2.2286252145,y:-1.7819395295000002},{x:2.1136540145000002,y:-1.7033263295}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:2.2273251145,y:-1.4948802295},{x:2.2284101145,y:-1.1518438295000002}],color:"primary",fill:!1},"path12-1-5-3":{type:"path",points:[{x:2.2276017145,y:-1.9567437295},{x:2.2281317145,y:-1.7888340295000003}],color:"primary",fill:!1},"arrow-2":{type:"path",points:[{x:2.1704797145,y:-1.6991380295000003},{x:2.1275815145,y:-1.7604028295000003},{x:2.1917009144999997,y:-1.7601828295000004},{x:2.1704797145,y:-1.6991380295000003}],color:"primary",fill:!0},path1:{type:"path",points:[{x:1.5978828145000001,y:-1.5020091295000002},{x:1.8597023145000002,y:-1.5035561295000002}],color:"primary",fill:!1},path2:{type:"path",points:[{x:1.8686937145000002,y:-1.3411936295000002},{x:1.8682837145,y:-1.6643719295000001}],color:"primary",fill:!1},path3:{type:"path",points:[{x:1.9875004145000004,y:-1.3572092295000002},{x:1.8719693145,y:-1.4360031295000002}],color:"primary",fill:!1},path4:{type:"path",points:[{x:1.9942486145,y:-1.6422072295000003},{x:1.8792773145000001,y:-1.5635940295000004}],color:"primary",fill:!1},"arrow-1":{type:"path",points:[{x:1.9361028144999999,y:-1.5594057295000003},{x:1.8932048145,y:-1.6206705295000003},{x:1.9573242144999998,y:-1.6204505295000005},{x:1.9361028144999999,y:-1.5594057295000003}],color:"primary",fill:!0},path9:{type:"path",points:[{x:1.9943087144999998,y:-1.3539494295000003},{x:2.2269582145,y:-1.3556534295000002}],color:"primary",fill:!1}},texts:{bottom1:{type:"text",text:"{VAL}",x:1.8805772145,y:-1.9423669295000003},right1:{type:"text",text:"{REF}",x:1.8845380145,y:-1.1387692295000003}},refblocks:{right1:{x:2.2278617145000004,y:-1.9651412295000004},right2:{x:1.5977076145000002,y:-1.5027827295000002},right3:{x:2.2278680145,y:-1.1403971295000002}},bounds:{minX:1.5810976555000003,maxX:2.3461148445,minY:-1.9817511885000003,maxY:-1.1237871705000002,width:.7650171889999999,height:.8579640180000001,centerX:1.9636062500000002,centerY:-1.5527691795000003},circles:{"path1-0":{type:"circle",x:2.0463372145000003,y:-1.5363384295000002,radius:.29977763,color:"primary",fill:!1}}},Qvn=fd(Jfe).changeTextAnchor("{VAL}","middle_top").labelPort("right2",["1"]).labelPort("right3",["2"]).labelPort("right1",["3"]).changeTextAnchor("{REF}","middle_bottom").build();Jfe.bounds.width+=.3;var Kvn=fd(Jfe).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_right").labelPort("right2",["1"]).labelPort("right3",["2"]).labelPort("right1",["3"]).changeTextAnchor("{REF}","middle_left").build(),Jvn={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1},path2:{type:"path",points:[{x:-.12447409999999959,y:.0852510999999998},{x:.11626639999999999,y:.0852510999999998}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"A",x:0,y:-.1}},refblocks:{left1:{x:-.5446330999999993,y:0},right1:{x:.5381638000000004,y:0}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:-11102230246251565e-32},circles:{path1:{type:"circle",x:0,y:0,radius:.28854213,color:"primary",fill:!1}}},{paths:egn,texts:tgn,bounds:Sj,refblocks:oQe,circles:ngn}=Jvn,ede=Km({primitives:[...Object.values(egn),...Object.values(ngn),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...tgn.left1,x:0,y:.01,anchor:"center",fontSize:.3}],ports:[{...oQe.left1,labels:["1"]},{...oQe.right1,labels:["2"]}],size:{width:Sj.width,height:Sj.height},center:{x:Sj.centerX,y:Sj.centerY}});function rgn(n){return typeof n=="object"&&n!==null&&n.type==="path"&&Array.isArray(n.points)&&typeof n.color=="string"}function ign(n){return typeof n=="object"&&n!==null&&n.type==="text"&&typeof n.text=="string"&&typeof n.x=="number"&&typeof n.y=="number"&&typeof n.anchor=="string"}var{6:tde,2:nde,...agn}=ede.primitives;rgn(nde)&&nde.points.map(n=>{n.y+=.05}),ign(tde)&&(tde.y+=.025);function ogn(n){return typeof n=="object"}var sQe=Pl({...ede,primitives:Object.values(agn).filter(ogn)}),sgn={...sQe,primitives:[...sQe.primitives,tde,nde]},lgn={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1},"path11-5-5":{type:"path",points:[{x:.09442299999999992,y:-.13438304999999984},{x:-.004364400000000712,y:.05710404999999996},{x:-.1110211000000012,y:-.13438304999999984}],color:"primary",fill:!1},path2:{type:"path",points:[{x:-.12447409999999959,y:.13438304999999984},{x:.11626639999999999,y:.13438304999999984}],color:"primary",fill:!1}},refblocks:{left1:{x:-.5446330999999993,y:0},right1:{x:.5381638000000004,y:0}},bounds:{width:1.0614356000000003,height:1,centerX:0,centerY:0},circles:{path1:{type:"circle",x:0,y:0,radius:.28854213,color:"primary",fill:!1}}},{paths:cgn,bounds:wj,refblocks:lQe,circles:ugn}=lgn,rde=Km({primitives:[...Object.values(cgn),...Object.values(ugn),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"}],ports:[{...lQe.left1,labels:["1"]},{...lQe.right1,labels:["2"]}],size:{width:wj.width,height:wj.height},center:{x:wj.centerX,y:wj.centerY}}),{2:fgn,3:dgn,...pgn}=rde.primitives;function hgn(n){return typeof n=="object"}var cQe=Pl({...rde,primitives:Object.values(pgn).filter(hgn)}),mgn={...cQe,primitives:[...cQe.primitives,fgn,dgn]},ygn={paths:{path11:{type:"path",points:[{x:-.5176700499999997,y:.041745050000000505},{x:-.10888805000000024,y:.041745050000000505}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.1031184499999993,y:.041745050000000505},{x:.5246894499999994,y:.041745050000000505}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.09343985000000021,y:-.14620634999999882},{x:-.0930998500000002,y:.2583405500000009}],color:"primary",fill:!1},"path11-0-3":{type:"path",points:[{x:.08519034999999908,y:-.14503384999999902},{x:.08553034999999909,y:.2595130500000007}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.08315755000000014,y:.055934450000000524},{x:-.08415755000000047,y:-.14678124999999964},{x:.08653524999999984,y:-.05104664999999953},{x:-.08126175000000035,y:.05647715000000031}],color:"primary",fill:!0},"path11-0-9-0":{type:"path",points:[{x:.07661224999999927,y:.256654450000001},{x:.07761224999999983,y:.05393885000000109},{x:-.0930805500000007,y:.1496734500000012},{x:.07471644999999949,y:.25719715000000143}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.0316381500000007,y:.41683614999999996},bottom1:{type:"text",text:"{VAL}",x:-.03022294999999975,y:-.41683614999999996}},refblocks:{left1:{x:-.54139845,y:.04089205000000051},right1:{x:.5413984499999995,y:.04188845000000008}},bounds:{minX:-.569556891,maxX:.5695568909999995,minY:-.41683614999999996,maxY:.41683614999999996,width:1.1391137819999995,height:.8336722999999999,centerX:-2220446049250313e-31,centerY:0},circles:{path1:{type:"circle",x:-.0037626500000003116,y:.048873150000000365,radius:.28854213,color:"primary",fill:!1}}},uQe=fd(ygn).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),fQe=Pl(uQe),dQe=fQe.primitives.filter(n=>n.type==="text"),vgn=dQe.find(n=>n.text==="{REF}"),ggn=dQe.find(n=>n.text==="{VAL}");vgn.y=0,ggn.y=0;var _gn=fQe,xgn={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.04403629999999836},{x:-.1199943999999995,y:-.08825540000000132}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1199943999999995,y:.1763280000000016},{x:.14458890000000002,y:.04403629999999836}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1199943999999995,y:-.08825539999999776},{x:-.1199943999999995,y:.1763280000000016}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.14458890000000002,y:.1763280000000016},{x:.14458890000000002,y:-.08825539999999776}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219909999999956,y:.04403629999999836},{x:-.5168693999999996,y:.04403629999999836}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233797,y:.04395110000000102},{x:.14967160000000002,y:.04395110000000102}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.27384529999999785},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999999524,y:-.2738453000000014}},refblocks:{left1:{x:-.5191471000000001,y:.0449206999999987},right1:{x:.5191471000000001,y:.043896100000001326}},bounds:{minX:-.5473055410000001,maxX:.5473055410000001,minY:-.2738453000000014,maxY:.27384529999999785,width:1.0946110820000001,height:.5476905999999993,centerX:0,centerY:-17763568394002505e-31},circles:{}},Ej=fd(xgn).labelPort("left1",["1","pos"]).labelPort("right1",["2","neg"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),bgn=Pl(Ej,"down"),Sgn=Pl(Ej,"left"),wgn=Pl(Ej,"up"),Egn={paths:{path1:{type:"path",points:[{x:-.3543580999999998,y:.22373490000000018},{x:-.1279290999999998,y:.22373490000000018}],color:"primary",fill:!1},"path-1-2":{type:"path",points:[{x:-.07134165999999999,y:.215546000000001},{x:.1083980000000001,y:.16078}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.10434800000000011,y:.127178},{x:.345089,y:.127178}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.12008600000000014,y:.36383770000000015},{x:.360827,y:.36383770000000015}],color:"primary",fill:!1},path4:{type:"path",points:[{x:-.3543580999999998,y:-.17811849999999985},{x:-.1279290999999998,y:-.17811849999999985}],color:"primary",fill:!1},"path4-5":{type:"path",points:[{x:-.07134165999999999,y:-.1867987999999997},{x:.10434800000000011,y:-.2376754}],color:"primary",fill:!1},path5:{type:"path",points:[{x:.10434800000000011,y:-.2746754},{x:.345089,y:-.2746754}],color:"primary",fill:!1},path6:{type:"path",points:[{x:.12008600000000014,y:-.038015699999999875},{x:.360827,y:-.038015699999999875}],color:"primary",fill:!1},"path1-4-join":{type:"path",points:[{x:-.001896399999999815,y:-.19827304999999998},{x:-.001896399999999815,y:.190981}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.5644774000000002},bottom1:{type:"text",text:"{VAL}",x:0,y:-.4244773999999998}},refblocks:{left1:{x:-.3682734999999999,y:.22373490000000018},left2:{x:-.3682734999999999,y:-.17811849999999985},right1:{x:.36827350000000014,y:.36383770000000015},right2:{x:.36827350000000014,y:.12717810000000007},right3:{x:.36827350000000014,y:-.038015699999999875},right5:{x:.36827350000000014,y:-.2746754}},bounds:{minX:-.3964319409999999,maxX:.3964319410000001,minY:-.4744773999999998,maxY:.5644774000000002,width:1,height:1.0389548,centerX:-11102230246251565e-32,centerY:.045000000000000207},circles:{"circle-2":{type:"circle",x:.08200307499999998,y:.127178,radius:.023193523,color:"primary",fill:!1},"circle-5":{type:"circle",x:.08200307499999998,y:-.2745079499999997,radius:.023193523,color:"primary",fill:!1},"circle-3":{type:"circle",x:.08200307499999998,y:.369178,radius:.023193523,color:"primary",fill:!1},"circle-6":{type:"circle",x:.08200307499999998,y:-.03805079499999997,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.10003074999999978,y:.219178,radius:.023193523,color:"primary",fill:!1},"circle-4":{type:"circle",x:-.10003074999999978,y:-.18250794999999972,radius:.023193523,color:"primary",fill:!1}}},Tj=fd(Egn).labelPort("left1",["1"]).labelPort("right1",["3"]).labelPort("right2",["2"]).labelPort("right3",["6"]).labelPort("left2",["4"]).labelPort("right5",["5"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),ide=Pl(Tj,"down"),ade=ide.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),ode=ide.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");ade.anchor="middle_bottom",ode.anchor="middle_top",ade.x=0,ade.y+=.537,ode.y-=.5375,ode.x=0;var Tgn=ide,sde=Pl(Tj,"left"),lde=sde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),cde=sde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");lde.anchor="middle_bottom",cde.anchor="middle_top",lde.x=0,lde.y+=1,cde.y-=1,cde.x=0;var Mgn=sde,ude=Pl(Tj,"up"),fde=ude.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),dde=ude.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");fde.anchor="middle_bottom",dde.anchor="middle_top",fde.x=0,fde.y+=.537,dde.y-=.5375,dde.x=0;var Cgn=ude,Rgn={paths:{path1:{type:"path",points:[{x:-.3543580999999998,y:.22373490000000018},{x:-.1279290999999998,y:.22373490000000018}],color:"primary",fill:!1},"path-1-3":{type:"path",points:[{x:-.0741659999999987,y:.2290546000000001},{x:.1091012,y:.334}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.10434800000000011,y:.127178},{x:.345089,y:.127178}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.12008600000000014,y:.36383770000000015},{x:.360827,y:.36383770000000015}],color:"primary",fill:!1},path4:{type:"path",points:[{x:-.3543580999999998,y:-.17811849999999985},{x:-.1279290999999998,y:-.17811849999999985}],color:"primary",fill:!1},"path4-6":{type:"path",points:[{x:-.0741659999999987,y:-.1777987999999997},{x:.1091012,y:-.07370029999999998}],color:"primary",fill:!1},path5:{type:"path",points:[{x:.10434800000000011,y:-.2746754},{x:.345089,y:-.2746754}],color:"primary",fill:!1},path6:{type:"path",points:[{x:.12008600000000014,y:-.038015699999999875},{x:.360827,y:-.038015699999999875}],color:"primary",fill:!1},"path1-4-join":{type:"path",points:[{x:-.000896399999999815,y:-.12190304999999999},{x:-.000896399999999815,y:.2708100000000002}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.6144774000000003},bottom1:{type:"text",text:"{VAL}",x:0,y:-.5244773999999998}},refblocks:{left1:{x:-.3682734999999999,y:.22373490000000018},left2:{x:-.3682734999999999,y:-.17811849999999985},right1:{x:.36827350000000014,y:.36383770000000015},right2:{x:.36827350000000014,y:.12717810000000007},right3:{x:.36827350000000014,y:-.038015699999999875},right5:{x:.36827350000000014,y:-.2746754}},bounds:{minX:-.3964319409999999,maxX:.3964319410000001,minY:-.4744773999999998,maxY:.5644774000000002,width:1,height:1.0389548,centerX:-11102230246251565e-32,centerY:.045000000000000207},circles:{"circle-2":{type:"circle",x:.08200307499999998,y:.127178,radius:.023193523,color:"primary",fill:!1},"circle-5":{type:"circle",x:.08200307499999998,y:-.2745079499999997,radius:.023193523,color:"primary",fill:!1},"circle-3":{type:"circle",x:.08200307499999998,y:.369178,radius:.023193523,color:"primary",fill:!1},"circle-6":{type:"circle",x:.08200307499999998,y:-.03805079499999997,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.10003074999999978,y:.219178,radius:.023193523,color:"primary",fill:!1},"circle-4":{type:"circle",x:-.10003074999999978,y:-.18250794999999972,radius:.023193523,color:"primary",fill:!1}}},Mj=fd(Rgn).labelPort("left1",["1"]).labelPort("right1",["3"]).labelPort("right2",["2"]).labelPort("right3",["6"]).labelPort("left2",["4"]).labelPort("right5",["5"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),pde=Pl(Mj,"down"),hde=pde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),mde=pde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");hde.anchor="middle_bottom",mde.anchor="middle_top",hde.x=0,hde.y+=.565,mde.y-=.555,mde.x=0;var Agn=pde,yde=Pl(Mj,"left"),vde=yde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),gde=yde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");vde.anchor="middle_bottom",gde.anchor="middle_top",vde.x=0,vde.y+=1.09,gde.y-=1.09,gde.x=0;var Pgn=yde,_de=Pl(Mj,"up"),xde=_de.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),bde=_de.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");xde.anchor="middle_bottom",bde.anchor="middle_top",xde.x=0,xde.y+=.565,bde.y-=.555,bde.x=0;var Ngn=_de,Dgn={paths:{path11:{type:"path",points:[{x:-.3622268000000006,y:.06287995000000057},{x:-.1357978000000004,y:.06287995000000057}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.08700995000000007,y:.06634945000000092},{x:.11099564000000006,y:.1105995000000057}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.12795640000000064,y:.06287995000000057},{x:.36869780000000096,y:.06287995000000057}],color:"primary",fill:!1},"path11-5":{type:"path",points:[{x:-.3622270999999999,y:-.16866424999999907},{x:-.1357980999999997,y:-.16866424999999907}],color:"primary",fill:!1},"path11-0-3":{type:"path",points:[{x:-.08700995000000007,y:-.17019474999999962},{x:.11099564000000006,y:-.12466424999999907}],color:"primary",fill:!1},"path12-0":{type:"path",points:[{x:.12795610000000002,y:-.16866424999999907},{x:.3686968000000006,y:-.16866424999999907}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.30716265000000004},bottom1:{type:"text",text:"{VAL}",x:0,y:-.30716265000000004}},refblocks:{left1:{x:-.37614279999999956,y:-.16951715000000012},left3:{x:-.37614279999999956,y:.06202735000000037},right1:{x:.37614279999999933,y:-.16852074999999966},right3:{x:.37614279999999933,y:.06302374999999993}},bounds:{minX:-.40430124099999953,maxX:.4043012409999993,minY:-.39716264999999984,maxY:.39716265000000006,width:.8086024819999988,height:.7943252999999999,centerX:-11102230246251565e-32,centerY:11102230246251565e-32},circles:{"circle-4":{type:"circle",x:.09900307499999998,y:.06478,radius:.023193523,color:"primary",fill:!1},"circle-2":{type:"circle",x:.09900307499999998,y:-.16978,radius:.023193523,color:"primary",fill:!1},"circle-3":{type:"circle",x:-.11003074999999977,y:.06478,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.11003074999999977,y:-.16978,radius:.023193523,color:"primary",fill:!1}}},Cj=fd(Dgn).labelPort("left1",["1"]).labelPort("right1",["2"]).labelPort("right3",["4"]).labelPort("left3",["3"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),Sde=Pl(Cj,"down"),wde=Sde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Ede=Sde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");wde.anchor="middle_bottom",Ede.anchor="middle_top",wde.x=.4,wde.y+=.265,Ede.y-=.265,Ede.x=.4;var Lgn=Sde,Tde=Pl(Cj,"left"),Mde=Tde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Cde=Tde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Mde.anchor="middle_bottom",Cde.anchor="middle_top",Mde.x=0,Mde.y+=.67,Cde.y-=.67,Cde.x=0;var Ogn=Tde,Rde=Pl(Cj,"up"),Ade=Rde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Pde=Rde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Ade.anchor="middle_bottom",Pde.anchor="middle_top",Ade.x=.46,Ade.y+=.265,Pde.y-=.265,Pde.x=.46;var zgn=Rde,Ugn={paths:{path11:{type:"path",points:[{x:-.3622268000000006,y:.06287995000000057},{x:-.1357978000000004,y:.06287995000000057}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.08500995000000007,y:.06934945000000092},{x:.10307889999999986,y:.2010388500000011}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.12795640000000064,y:.06287995000000057},{x:.36869780000000096,y:.06287995000000057}],color:"primary",fill:!1},"path11-5":{type:"path",points:[{x:-.3622270999999999,y:-.16866424999999907},{x:-.1357980999999997,y:-.16866424999999907}],color:"primary",fill:!1},"path11-0-3":{type:"path",points:[{x:-.08500995000000007,y:-.16201947499999997},{x:.10307860000000058,y:-.03050534999999921}],color:"primary",fill:!1},"path12-0":{type:"path",points:[{x:.12795610000000002,y:-.16866424999999907},{x:.3686968000000006,y:-.16866424999999907}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.4171626500000001},bottom1:{type:"text",text:"{VAL}",x:0,y:-.41716264999999986}},refblocks:{left1:{x:-.37614279999999956,y:-.16951715000000012},left3:{x:-.37614279999999956,y:.06202735000000037},right1:{x:.37614279999999933,y:-.16852074999999966},right3:{x:.37614279999999933,y:.06302374999999993}},bounds:{minX:-.40430124099999953,maxX:.4043012409999993,minY:-.39716264999999984,maxY:.39716265000000006,width:.8086024819999988,height:.7943252999999999,centerX:-11102230246251565e-32,centerY:11102230246251565e-32},circles:{"circle-4":{type:"circle",x:.09900307499999998,y:.06478,radius:.023193523,color:"primary",fill:!1},"circle-2":{type:"circle",x:.09900307499999998,y:-.16978,radius:.023193523,color:"primary",fill:!1},"circle-3":{type:"circle",x:-.11003074999999977,y:.06478,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.11003074999999977,y:-.16978,radius:.023193523,color:"primary",fill:!1}}},Rj=fd(Ugn).labelPort("left1",["1"]).labelPort("right1",["2"]).labelPort("right3",["4"]).labelPort("left3",["3"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),Nde=Pl(Rj,"down"),Dde=Nde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Lde=Nde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Dde.anchor="middle_bottom",Lde.anchor="middle_top",Dde.x=.4,Dde.y+=.295,Lde.y-=.295,Lde.x=.42;var kgn=Nde,Ode=Pl(Rj,"left"),zde=Ode.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Ude=Ode.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");zde.anchor="middle_bottom",Ude.anchor="middle_top",zde.x=0,zde.y+=.795,Ude.y-=.795,Ude.x=0;var Ign=Ode,kde=Pl(Rj,"up"),Ide=kde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Fde=kde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Ide.anchor="middle_bottom",Fde.anchor="middle_top",Ide.x=.46,Ide.y+=.315,Fde.y-=.315,Fde.x=.46;var Fgn=kde,Bgn={paths:{path11:{type:"path",points:[{x:-.541495829500001,y:.044368009536419395},{x:-.21998262950000114,y:.044368009536419395}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.14450697049999905,y:.052237309536419474},{x:.46379767049999976,y:.052237309536419474}],color:"primary",fill:!1},"path12-6":{type:"path",points:[{x:.13965347050000032,y:-.14937819046358025},{x:.13854747050000027,y:.2538388095364199}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.212703829500001,y:.2732984095364195},{x:-.2147708295000006,y:-.1493854904635803},{x:.13782137049999887,y:.050231709536419755},{x:-.2087893295000005,y:.27442980953642016}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.08906882950000083,y:.38011220953641867},bottom1:{type:"text",text:"{VAL}",x:-.0685314901614209,y:-.38011220953641844},right1:{type:"text",text:"",x:.5884896704999998,y:-.3288545904635811}},refblocks:{left1:{x:-.5603312294999999,y:.04351520953641885},right1:{x:.47524967049999955,y:.05238090953641872}},bounds:{minX:-.5884896704999999,maxX:.5884896704999998,minY:-.38011220953641844,maxY:.38011220953641867,width:1.1769793409999996,height:.7602244190728371,centerX:-5551115123125783e-32,centerY:11102230246251565e-32},circles:{}},pQe=fd(Bgn).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),jgn=Pl(pQe),Hgn={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"Hz",x:0,y:-.035}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:Vgn,texts:$gn,bounds:Aj,refblocks:hQe,circles:Ggn}=Hgn,Bde=Km({primitives:[...Object.values(Vgn),...Object.values(Ggn),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...$gn.left1,x:0,y:.01,anchor:"center",fontSize:.2}],ports:[{...hQe.left1,labels:["1"]},{...hQe.right1,labels:["2"]}],size:{width:Aj.width,height:Aj.height},center:{x:Aj.centerX,y:Aj.centerY}}),{5:qgn,...Ygn}=Bde.primitives;function Xgn(n){return typeof n=="object"}var mQe=Pl({...Bde,primitives:Object.values(Ygn).filter(Xgn)}),Wgn={...mQe,primitives:[...mQe.primitives,qgn]},Zgn={paths:{path10:{type:"path",points:[{x:-.5283037500000001,y:.036413650000000075},{x:.5300302500000003,y:.036413650000000075}],color:"primary",fill:!1},path14:{type:"path",points:[{x:.0008652499999994845,y:.16870534999999975},{x:.2654482499999995,y:.16870534999999975},{x:.2654482499999995,y:-.0958780499999996},{x:-.2637187499999998,y:-.0958780499999996},{x:-.2637187499999998,y:.16870534999999975},{x:.0008652499999994845,y:.16870534999999975}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.008263949999999909,y:.23591724999999997}},refblocks:{left1:{x:-.5345548500000001,y:.03946054999999937},right1:{x:.5345548500000001,y:.0352561499999986}},bounds:{width:1.1254265820000002,height:.47183449999999993,centerX:0,centerY:0}},{paths:Qgn,texts:Kgn,bounds:Pj,refblocks:yQe}=Zgn,vQe=Km({primitives:[...Object.values(Qgn),{...Kgn.top1,anchor:"middle_bottom"},{type:"text",text:"{VAL}",x:0,y:-.2,anchor:"middle_top"}],ports:[{...yQe.left1,labels:["1"]},{...yQe.right1,labels:["2"]}],size:{width:Pj.width,height:Pj.height},center:{x:Pj.centerX,y:Pj.centerY}}),Jgn=Pl(vQe),e_n={paths:{path1:{type:"path",points:[{x:-.33997010000000016,y:.4545300000000001},{x:-.03997010000000012,y:.4545300000000001}],color:"primary",fill:!1},path2:{type:"path",points:[{x:-.02032289999999981,y:.25053000000000014},{x:-.020322900000000033,y:.65053}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.050000000000000044,y:.3005300000000002},{x:.050000000000000044,y:.60053}],color:"primary",fill:!1},path4:{type:"path",points:[{x:.1499999999999997,y:.40053000000000005},{x:.1499999999999997,y:.5005300000000001}],color:"primary",fill:!1}},refblocks:{top1:{x:-.33997010000000016,y:.4545300000000001}},circles:{}},{paths:t_n,circles:n_n,refblocks:r_n}=e_n,i_n=Km({primitives:[...Object.values(t_n),...Object.values(n_n),{type:"text",text:"{REF}",x:-.1,y:.8,anchor:"middle_bottom"},{type:"text",text:"{VAL}",x:-.1,y:.1,anchor:"middle_top"}],ports:[{...r_n.top1,labels:["1"]}],size:{width:1,height:1},center:{x:0,y:.4}}),gQe=i_n,a_n=fd(gQe).rotateRightFacingSymbol("down").build(),jde={paths:{path11:{type:"path",points:[{x:-.49895505000000084,y:.035186950000000605},{x:-.177441850000001,y:.035186950000000605}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.18704774999999918,y:.043056250000000684},{x:.5063384499999999,y:.043056250000000684}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.3067105499999998,y:.19836805000000046},{x:-.3084575500000002,y:-.10569684999999973},{x:-.01040014999999972,y:.03790115000000038},{x:-.3034011499999991,y:.1991819500000005}],color:"primary",fill:!0},"path11-0-9-5":{type:"path",points:[{x:.3324594500000002,y:.19920585000000046},{x:.33420945000000013,y:-.10485904999999973},{x:.03615254999999973,y:.03873895000000038},{x:.32915344999999974,y:.2000197500000005}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:.042716749999999415,y:.3158462499999999},bottom1:{type:"text",text:"{VAL}",x:.035355149999999336,y:-.3158462499999999}},refblocks:{left1:{x:-.5177904499999998,y:.03433415000000006},right1:{x:.5177904499999997,y:.04319984999999993}},bounds:{minX:-.5459488909999998,maxX:.5459488909999997,minY:-.3158462499999999,maxY:.3158462499999999,width:1.0918977819999993,height:.6316924999999998,centerX:-5551115123125783e-32,centerY:0},circles:{}},{paths:FOn,texts:BOn,bounds:jOn,refblocks:HOn,circles:VOn}=jde,o_n=fd(jde).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),s_n=fd(jde).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_right").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_left").build(),l_n={paths:{path45:{type:"path",points:[{x:.13585750000000063,y:-.003696399999999045},{x:-.12872579999999934,y:-.13598810000000228}],color:"primary",fill:!1},"path1-8":{type:"path",points:[{x:.12763670000000094,y:-.003920199999999596},{x:.3,y:-.003920199999999596}],color:"primary",fill:!1},path46:{type:"path",points:[{x:-.12872579999999934,y:.12859530000000063},{x:.13585750000000063,y:-.003696399999999045}],color:"primary",fill:!1},path47:{type:"path",points:[{x:-.12872579999999934,y:-.13598810000000228},{x:-.12872579999999934,y:.12859530000000063}],color:"primary",fill:!1},path48:{type:"path",points:[{x:.13585750000000063,y:.12859530000000063},{x:.13585750000000063,y:-.13598810000000228}],color:"primary",fill:!1},path49:{type:"path",points:[{x:-.13076959999999938,y:-.003696399999999045},{x:-.3,y:-.003696399999999045}],color:"primary",fill:!1},path25:{type:"path",points:[{x:-.1557438999999996,y:.28545279999999806},{x:-.2530861999999994,y:.3023319999999998},{x:-.21878339999999952,y:.20956920000000068}],color:"primary",fill:!0},path78:{type:"path",points:[{x:-.08000449999999937,y:.16590799999999817},{x:-.09202799999999911,y:.1748410000000007},{x:-.2137844999999996,y:.26529680000000155},{x:-.2144144999999993,y:.2662468000000011}],color:"primary",fill:!1},"path25-0":{type:"path",points:[{x:.021722400000000697,y:.30658939999999646},{x:-.07561989999999952,y:.3234685999999982},{x:-.04131709999999922,y:.23070579999999907}],color:"primary",fill:!0},"path78-6":{type:"path",points:[{x:.09746180000000093,y:.18704459999999656},{x:.08543830000000074,y:.19597759999999909},{x:-.0363181999999993,y:.28643339999999995},{x:-.03694819999999943,y:.2873833999999995}],color:"primary",fill:!1},box:{type:"path",points:[{x:-.3,y:-.4},{x:.3,y:-.4},{x:.3,y:.4},{x:-.3,y:.4},{x:-.3,y:-.4},{x:-.3,y:.4}],color:"primary",fill:!1},"path48-1":{type:"path",points:[{x:-.3,y:.1333},{x:-.5362092999999997,y:.1333}],color:"primary",fill:!1},"path48-2":{type:"path",points:[{x:-.3,y:-.1333},{x:-.5362092999999997,y:-.1333}],color:"primary",fill:!1},"path48-3":{type:"path",points:[{x:.3,y:-.1333},{x:.5362093000000003,y:-.1333}],color:"primary",fill:!1},"path48-4":{type:"path",points:[{x:.3,y:.1333},{x:.5362093000000003,y:.1333}],color:"primary",fill:!1}},texts:{bottom1:{type:"text",text:"{VAL}",x:0,y:-.43222},right1:{type:"text",text:"{REF}",x:0,y:.43222}},refblocks:{left1:{x:-.5362092999999997,y:.1333},left2:{x:-.5362092999999997,y:-.1333},right1:{x:.5362093000000003,y:-.1333},right2:{x:.5362093000000003,y:.1333}},bounds:{minX:-.5643677409999996,maxX:.5643677410000003,minY:-.3234685999999982,maxY:.3234685999999982,width:1.128735482,height:.6469371999999964,centerX:33306690738754696e-32,centerY:0},circles:{}},Nj=fd(l_n).labelPort("left1",["1","DIN"]).labelPort("left2",["2","POWER"]).labelPort("right1",["4","GND"]).labelPort("right2",["3","DOUT"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),c_n=Pl(Nj,"down"),u_n=Qfe(Nj),Hde=Pl(Nj,"up"),f_n={...Hde,primitives:Hde.primitives.map(n=>n.type==="path"&&(n.points.length===3||n.points.length===4)?{...n,points:n.points.map(e=>({x:e.x,y:-e.y+2*Hde.center.y}))}:n)},d_n=f_n,p_n={paths:{path11:{type:"path",points:[{x:-.3850944445000005,y:.0010025000000009054},{x:-.006525044499999799,y:-.0016204999999989145}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.07415065550000066,y:.19027400000000116},{x:.07322065550000101,y:-.17787549999999852}],color:"primary",fill:!1},path42:{type:"path",points:[{x:.01002445549999953,y:-.12022799999999911},{x:.01002445549999953,y:.1443554000000009}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.28374995550000004,y:-.2462579999999992},{x:.2831499554999999,y:-.5425888999999995}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.28423665550000043,y:.5370061000000012},{x:.2836366555000003,y:.2678117000000011}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.1731829554999995,y:-.2153930999999989},{x:.2780310554999992,y:-.23045039999999894},{x:.2324710554999987,y:-.14155709999999888}],color:"primary",fill:!0},path17:{type:"path",points:[{x:.07704605550000054,y:-.08544359999999895},{x:.2325688555000005,y:-.19774119999999895}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.07425025549999931,y:.11255990000000127},{x:.28369465549999884,y:.2606293000000013}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.006566644499999885,y:.35624680000000075},bottom1:{type:"text",text:"{VAL}",x:.020614555499999687,y:-.4202180999999998}},refblocks:{top1:{x:.2843894554999997,y:.5566011000000001},bottom1:{x:.2823318555000005,y:-.5566010999999997},left1:{x:-.3990097444999998,y:.00014970000000036343}},bounds:{minX:-.4271681854999998,maxX:.42716818549999985,minY:-.5847595409999997,maxY:.584759541,width:.8543363709999996,height:1.1695190819999999,centerX:27755575615628914e-33,centerY:16653345369377348e-32},circles:{path1:{type:"circle",x:.13862605549999985,y:.008130800000000438,radius:.28854213,color:"primary",fill:!1}}},_Qe=fd(p_n).changeTextAnchor("{VAL}","middle_right").labelPort("left1",["3"]).labelPort("top1",["2"]).labelPort("bottom1",["1"]).changeTextAnchor("{REF}","middle_right").build(),Vde=Pl(_Qe),$de=Vde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),xQe=Vde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");$de.anchor="middle_left",xQe.anchor="middle_right",$de.x=.45,$de.y+=.065,xQe.y+=.065;var h_n=Vde,m_n={paths:{"path12-1-8-6-9":{type:"path",points:[{x:.023137150000000162,y:-.022408499999999165},{x:.023137150000000162,y:-.10240850000000101}],color:"primary",fill:!1},"path12-1-5-6":{type:"path",points:[{x:-.48740694999999956,y:-.18547949999999958},{x:-.1731006500000003,y:-.18547949999999958}],color:"primary",fill:!1},"path12-1-5-6-8":{type:"path",points:[{x:.023792949999999813,y:.17183650000000128},{x:.023792949999999813,y:.10518850000000057}],color:"primary",fill:!1},"path12-1-8-0":{type:"path",points:[{x:-.14922445000000018,y:-.032671500000001075},{x:.19549865000000022,y:-.18509050000000116}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.19549885000000078,y:-.18509050000000116},{x:.4881437499999999,y:-.18509050000000116}],color:"primary",fill:!1},"path12-1-8-6-9-4":{type:"path",points:[{x:.023137150000000162,y:.11939749999999982},{x:.023137150000000162,y:.017597499999999044}],color:"primary",fill:!1},"path12-1-8-6-9-4-3":{type:"path",points:[{x:.08312335000000015,y:.10724749999999972},{x:.08312335000000015,y:.050463500000001105}],color:"primary",fill:!1},"path12-1-8-6-9-4-3-1":{type:"path",points:[{x:-.03684904999999983,y:.10724749999999972},{x:-.03684904999999983,y:.050463500000001105}],color:"primary",fill:!1},"path12-1-8-6-9-4-4":{type:"path",points:[{x:.08312335000000015,y:.10724749999999972},{x:-.03684904999999983,y:.10724749999999972}],color:"primary",fill:!1},"path14-5":{type:"path",points:[{x:-.011640198644880861,y:.2824489119921765},{x:.01182744133211866,y:.25421423950368016},{x:.035295081309120846,y:.22597956701517674},{x:.05876272128612037,y:.19774489452667865}],color:"primary",fill:!0},"path14-5-3":{type:"path",points:[{x:-.011818241440559873,y:.19775449269853418},{x:.01171692178543804,y:.22592735480803405},{x:.03525208501144128,y:.25410021691753926},{x:.058787248237439194,y:.2822730790270338}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:.010987250000000337,y:.3808714999999978},bottom1:{type:"text",text:"{VAL}",x:.05578094999999994,y:-.3808714999999996}},refblocks:{left1:{x:-.4717985499999999,y:-.1854504999999982},right1:{x:.4717985499999999,y:-.18547650000000182}},bounds:{minX:-.4999569909999999,maxX:.4999569909999999,minY:-.3808714999999996,maxY:.3808714999999978,width:.9999139819999998,height:.7617429999999974,centerX:0,centerY:-8881784197001252e-31},circles:{path9:{type:"circle",x:.02379285000000042,y:.24000550000000054,radius:.059920847,color:"primary",fill:!1}}},bQe=fd(m_n).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),SQe=Pl(bQe),wQe=SQe.primitives.filter(n=>n.type==="text"),Gde=wQe.find(n=>n.text==="{VAL}");Gde.x=-.35,Gde.y=0,Gde.anchor="middle_right";var qde=wQe.find(n=>n.text==="{REF}");qde.y=0,qde.x=.35,qde.anchor="middle_left";var y_n=SQe,v_n={paths:{path8698:{type:"path",points:[{x:-.20003504999999944,y:-.023826854587889912},{x:-.20252458999999945,y:-.018993393814014044},{x:-.20501412999999943,y:-.014174384106555204},{x:-.2075036699999995,y:-.009384187436300498},{x:-.20999320999999949,y:-.004636988132081332},{x:-.2124827499999995,y:5329457033053167e-20},{x:-.2149722899999995,y:.004673092344940186},{x:-.2174618299999995,y:.009209271428771242},{x:-.21995136999999956,y:.013649213595881985},{x:-.22244090999999955,y:.01798089395292432},{x:-.22493044999999956,y:.022192955076609913},{x:-.22741998999999957,y:.02627477703600152},{x:-.22990952999999958,y:.030216542867918667},{x:-.2323990699999996,y:.03400929910178016},{x:-.2348886099999996,y:.03764501096072756},{x:-.23737814999999962,y:.04111661189869628},{x:-.23986768999999963,y:.04441804716802203},{x:-.24235722999999965,y:.04754431114897349},{x:-.24484676999999966,y:.05049147821106258},{x:-.24733630999999967,y:.053256726915861724},{x:-.24982584999999968,y:.05583835741211009},{x:-.2523153899999997,y:.05823580191586174},{x:-.2548049299999997,y:.060449628211062575},{x:-.2572944699999997,y:.0624815361489735},{x:-.25978400999999973,y:.06433434716802203},{x:-.26227354999999974,y:.06601198689869628},{x:-.26476308999999976,y:.06751946096072757},{x:-.26725262999999977,y:.06886282410178016},{x:-.2697421699999998,y:.07004914286791866},{x:-.2722317099999998,y:.0710864520360015},{x:-.2747212499999998,y:.07198370507660991},{x:-.2772107899999998,y:.07275071895292433},{x:-.27970032999999983,y:.07339811359588198},{x:-.28218986999999984,y:.07393724642877124},{x:-.28467940999999986,y:.07438014234494018},{x:-.28716894999999987,y:.07473941957033053},{x:-.2896584899999999,y:.07502821186791866},{x:-.2921480299999999,y:.07526008756369952},{x:-.2946375699999999,y:.07544896589344477},{x:-.2971271099999999,y:.07560903118598594},{x:-.29961664999999993,y:.07575464541211008},{x:-.3021061874999999,y:.07560903118598594},{x:-.30459572499999993,y:.07544896589344477},{x:-.3070852624999999,y:.07526008756369951},{x:-.30957479999999993,y:.07502821186791866},{x:-.31206433749999984,y:.07473941957033052},{x:-.3145538749999998,y:.07438014234494018},{x:-.31704341249999984,y:.07393724642877124},{x:-.31953294999999987,y:.07339811359588198},{x:-.32202248749999984,y:.07275071895292431},{x:-.3245120249999998,y:.07198370507660991},{x:-.3270015624999998,y:.0710864520360015},{x:-.32949109999999976,y:.07004914286791866},{x:-.33198063749999984,y:.06886282410178016},{x:-.33447017499999976,y:.06751946096072757},{x:-.3369597124999998,y:.06601198689869628},{x:-.33944924999999976,y:.06433434716802203},{x:-.34193878749999973,y:.06248153614897349},{x:-.34442832499999976,y:.06044962821106258},{x:-.3469178624999997,y:.05823580191586174},{x:-.3494073999999997,y:.05583835741211009},{x:-.35189693749999973,y:.053256726915861724},{x:-.35438647499999965,y:.050491478211062576},{x:-.3568760124999997,y:.0475443111489735},{x:-.35936554999999964,y:.04441804716802203},{x:-.3618550874999996,y:.04111661189869628},{x:-.36434462499999964,y:.03764501096072756},{x:-.36683416249999967,y:.03400929910178016},{x:-.3693236999999996,y:.030216542867918673},{x:-.3718132374999996,y:.02627477703600152},{x:-.3743027749999996,y:.022192955076609917},{x:-.37679231249999956,y:.017980893952924324},{x:-.3792818499999996,y:.013649213595881985},{x:-.3817713874999995,y:.00920927142877125},{x:-.38426092499999953,y:.004673092344940191},{x:-.38675046249999956,y:5329457033053514e-20},{x:-.38923999999999953,y:-.004636988132081328},{x:-.39172953749999956,y:-.009384187436300498},{x:-.3942190749999995,y:-.014174384106555197},{x:-.3967086124999995,y:-.01899339381401404},{x:-.3991981499999995,y:-.023826854587889912}],color:"primary",fill:!1},path8700:{type:"path",points:[{x:-.000872049999999458,y:-.02382615458789039},{x:-.0033615874999994412,y:-.01899269131401453},{x:-.0058511249999994245,y:-.014173679106555696},{x:-.008340662499999407,y:-.009383479936300985},{x:-.010830199999999391,y:-.004636278132081827},{x:-.013319737499999373,y:5400707033003174e-20},{x:-.015809274999999356,y:.004673807344939683},{x:-.018298812499999338,y:.009209988928770731},{x:-.020788349999999324,y:.013649933595881476},{x:-.023277887499999306,y:.017981616452923805},{x:-.02576742499999929,y:.022193680076609393},{x:-.02825696249999927,y:.026275504536001},{x:-.030746499999999254,y:.030217272867918137},{x:-.03323603749999924,y:.034010031601779636},{x:-.03572557499999922,y:.03764574596072702},{x:-.038215112499999204,y:.04111734939869574},{x:-.04070464999999919,y:.04441878716802149},{x:-.04319418749999917,y:.04754505364897295},{x:-.045683724999999155,y:.05049222321106203},{x:-.048173262499999134,y:.05325747441586117},{x:-.05066279999999912,y:.055839107412109526},{x:-.053152337499999106,y:.05823655441586117},{x:-.055641874999999084,y:.06045038321106201},{x:-.05813141249999907,y:.06248229364897292},{x:-.06062094999999905,y:.06433510716802145},{x:-.06311048749999904,y:.0660127493986957},{x:-.06560002499999902,y:.06752022596072697},{x:-.068089562499999,y:.06886359160177957},{x:-.07057909999999898,y:.07004991286791806},{x:-.07306863749999896,y:.07108722453600091},{x:-.07555817499999895,y:.0719844800766093},{x:-.07804771249999894,y:.07275149645292371},{x:-.08053724999999892,y:.07339889359588138},{x:-.0830267874999989,y:.07393802892877062},{x:-.08551632499999888,y:.07438092734493956},{x:-.08800586249999887,y:.07474020707032991},{x:-.09049539999999885,y:.07502900186791804},{x:-.09298493749999884,y:.07526088006369888},{x:-.09547447499999881,y:.07544976089344414},{x:-.0979640124999988,y:.0756098286859853},{x:-.10045354999999878,y:.07575544541210943},{x:-.1029430899999988,y:.0756098286859853},{x:-.1054326299999988,y:.07544976089344414},{x:-.10792216999999882,y:.07526088006369887},{x:-.11041170999999883,y:.07502900186791804},{x:-.11290124999999884,y:.0747402070703299},{x:-.11539078999999886,y:.07438092734493956},{x:-.11788032999999885,y:.07393802892877062},{x:-.1203698699999989,y:.07339889359588138},{x:-.12285940999999889,y:.07275149645292371},{x:-.1253489499999989,y:.0719844800766093},{x:-.12783848999999892,y:.07108722453600091},{x:-.13032802999999893,y:.07004991286791806},{x:-.13281756999999894,y:.06886359160177957},{x:-.13530710999999895,y:.06752022596072697},{x:-.13779664999999897,y:.0660127493986957},{x:-.14028618999999898,y:.06433510716802145},{x:-.142775729999999,y:.06248229364897291},{x:-.145265269999999,y:.06045038321106202},{x:-.14775480999999901,y:.05823655441586117},{x:-.15024434999999903,y:.055839107412109526},{x:-.15273388999999904,y:.05325747441586117},{x:-.15522342999999905,y:.05049222321106202},{x:-.15771296999999906,y:.047545053648972956},{x:-.16020250999999908,y:.04441878716802149},{x:-.1626920499999991,y:.04111734939869574},{x:-.1651815899999991,y:.03764574596072702},{x:-.16767112999999914,y:.034010031601779636},{x:-.1701606699999991,y:.03021727286791814},{x:-.17265020999999914,y:.026275504536001},{x:-.17513974999999915,y:.022193680076609396},{x:-.17762928999999916,y:.017981616452923805},{x:-.1801188299999992,y:.013649933595881474},{x:-.18260836999999916,y:.00920998892877074},{x:-.1850979099999992,y:.0046738073449396865},{x:-.1875874499999992,y:5400707033003521e-20},{x:-.19007698999999922,y:-.004636278132081827},{x:-.19256652999999926,y:-.009383479936300985},{x:-.19505606999999922,y:-.01417367910655569},{x:-.19754560999999926,y:-.018992691314014522},{x:-.20003514999999927,y:-.02382615458789039}],color:"primary",fill:!1},path8702:{type:"path",points:[{x:.19829105000000036,y:-.02382615458789039},{x:.19580151000000035,y:-.01899269131401453},{x:.1933119700000003,y:-.014173679106555696},{x:.19082243000000035,y:-.009383479936300985},{x:.1883328900000003,y:-.004636278132081827},{x:.1858433500000003,y:5400707033003174e-20},{x:.18335381000000028,y:.004673807344939683},{x:.18086427000000024,y:.009209988928770731},{x:.1783747300000003,y:.013649933595881476},{x:.17588519000000025,y:.017981616452923805},{x:.17339565000000023,y:.022193680076609393},{x:.17090611000000022,y:.026275504536001},{x:.16841657000000018,y:.030217272867918137},{x:.16592703000000023,y:.034010031601779636},{x:.16343749000000019,y:.03764574596072702},{x:.16094795000000017,y:.04111734939869574},{x:.15845841000000016,y:.04441878716802149},{x:.15596887000000015,y:.04754505364897295},{x:.15347933000000014,y:.05049222321106203},{x:.15098979000000012,y:.05325747441586117},{x:.1485002500000001,y:.055839107412109526},{x:.1460107100000001,y:.05823655441586117},{x:.1435211700000001,y:.06045038321106201},{x:.14103163000000007,y:.06248229364897292},{x:.13854209000000006,y:.06433510716802145},{x:.13605255000000005,y:.0660127493986957},{x:.13356301000000004,y:.06752022596072697},{x:.13107347000000003,y:.06886359160177957},{x:.12858393,y:.07004991286791806},{x:.12609439,y:.07108722453600091},{x:.12360484999999999,y:.0719844800766093},{x:.12111530999999998,y:.07275149645292371},{x:.11862576999999996,y:.07339889359588138},{x:.11613622999999995,y:.07393802892877062},{x:.11364668999999994,y:.07438092734493956},{x:.11115714999999993,y:.07474020707032991},{x:.10866760999999991,y:.07502900186791804},{x:.1061780699999999,y:.07526088006369888},{x:.10368852999999989,y:.07544976089344414},{x:.10119898999999988,y:.0756098286859853},{x:.09870944999999987,y:.07575544541210943},{x:.09621991249999988,y:.0756098286859853},{x:.0937303749999999,y:.07544976089344414},{x:.09124083749999992,y:.07526088006369887},{x:.08875129999999994,y:.07502900186791804},{x:.08626176249999995,y:.0747402070703299},{x:.08377222499999996,y:.07438092734493956},{x:.08128268749999998,y:.07393802892877062},{x:.07879315,y:.07339889359588138},{x:.07630361250000002,y:.07275149645292371},{x:.07381407500000003,y:.0719844800766093},{x:.07132453750000005,y:.07108722453600091},{x:.06883500000000006,y:.07004991286791806},{x:.06634546250000009,y:.06886359160177957},{x:.0638559250000001,y:.06752022596072697},{x:.06136638750000012,y:.0660127493986957},{x:.05887685000000013,y:.06433510716802145},{x:.05638731250000015,y:.06248229364897291},{x:.053897775000000175,y:.06045038321106202},{x:.05140823750000019,y:.05823655441586117},{x:.048918700000000204,y:.055839107412109526},{x:.04642916250000022,y:.05325747441586117},{x:.04393962500000023,y:.05049222321106202},{x:.04145008750000026,y:.047545053648972956},{x:.038960550000000274,y:.04441878716802149},{x:.03647101250000029,y:.04111734939869574},{x:.0339814750000003,y:.03764574596072702},{x:.03149193750000032,y:.034010031601779636},{x:.02900240000000034,y:.03021727286791814},{x:.02651286250000036,y:.026275504536001},{x:.024023325000000373,y:.022193680076609396},{x:.021533787500000387,y:.017981616452923805},{x:.019044250000000405,y:.013649933595881474},{x:.016554712500000426,y:.00920998892877074},{x:.014065175000000442,y:.0046738073449396865},{x:.011575637500000457,y:5400707033003521e-20},{x:.009086100000000473,y:-.004636278132081827},{x:.006596562500000487,y:-.009383479936300985},{x:.004107025000000513,y:-.01417367910655569},{x:.0016174875000005274,y:-.018992691314014522},{x:-.000872049999999458,y:-.02382615458789039}],color:"primary",fill:!1},path8704:{type:"path",points:[{x:.39745405000000034,y:-.02382615458789039},{x:.3949645125000003,y:-.01899269131401453},{x:.39247497500000034,y:-.014173679106555696},{x:.3899854375000004,y:-.009383479936300985},{x:.38749590000000045,y:-.004636278132081827},{x:.3850063625000004,y:5400707033003174e-20},{x:.3825168250000004,y:.004673807344939683},{x:.3800272875000004,y:.009209988928770731},{x:.3775377500000005,y:.013649933595881476},{x:.37504821250000053,y:.017981616452923805},{x:.3725586750000005,y:.022193680076609393},{x:.3700691375000005,y:.026275504536001},{x:.3675796000000005,y:.030217272867918137},{x:.3650900625000006,y:.034010031601779636},{x:.3626005250000006,y:.03764574596072702},{x:.3601109875000006,y:.04111734939869574},{x:.35762145000000056,y:.04441878716802149},{x:.3551319125000006,y:.04754505364897295},{x:.3526423750000007,y:.05049222321106203},{x:.3501528375000007,y:.05325747441586117},{x:.3476633000000007,y:.055839107412109526},{x:.34517376250000065,y:.05823655441586117},{x:.34268422500000073,y:.06045038321106201},{x:.3401946875000007,y:.06248229364897292},{x:.3377051500000008,y:.06433510716802145},{x:.33521561250000076,y:.0660127493986957},{x:.33272607500000073,y:.06752022596072697},{x:.3302365375000008,y:.06886359160177957},{x:.3277470000000008,y:.07004991286791806},{x:.3252574625000008,y:.07108722453600091},{x:.32276792500000084,y:.0719844800766093},{x:.32027838750000087,y:.07275149645292371},{x:.3177888500000009,y:.07339889359588138},{x:.3152993125000009,y:.07393802892877062},{x:.3128097750000009,y:.07438092734493956},{x:.31032023750000093,y:.07474020707032991},{x:.30783070000000096,y:.07502900186791804},{x:.305341162500001,y:.07526088006369888},{x:.30285162500000096,y:.07544976089344414},{x:.300362087500001,y:.0756098286859853},{x:.297872550000001,y:.07575544541210943},{x:.29538301000000095,y:.0756098286859853},{x:.292893470000001,y:.07544976089344414},{x:.290403930000001,y:.07526088006369887},{x:.287914390000001,y:.07502900186791804},{x:.28542485000000095,y:.0747402070703299},{x:.2829353100000009,y:.07438092734493956},{x:.2804457700000009,y:.07393802892877062},{x:.2779562300000009,y:.07339889359588138},{x:.2754666900000009,y:.07275149645292371},{x:.2729771500000009,y:.0719844800766093},{x:.2704876100000009,y:.07108722453600091},{x:.26799807000000087,y:.07004991286791806},{x:.26550853000000085,y:.06886359160177957},{x:.26301899000000084,y:.06752022596072697},{x:.26052945000000083,y:.0660127493986957},{x:.2580399100000008,y:.06433510716802145},{x:.2555503700000008,y:.06248229364897291},{x:.2530608300000008,y:.06045038321106202},{x:.2505712900000008,y:.05823655441586117},{x:.24808175000000077,y:.055839107412109526},{x:.24559221000000075,y:.05325747441586117},{x:.24310267000000074,y:.05049222321106202},{x:.24061313000000073,y:.047545053648972956},{x:.23812359000000072,y:.04441878716802149},{x:.2356340500000007,y:.04111734939869574},{x:.2331445100000007,y:.03764574596072702},{x:.23065497000000068,y:.034010031601779636},{x:.22816543000000067,y:.03021727286791814},{x:.22567589000000066,y:.026275504536001},{x:.22318635000000064,y:.022193680076609396},{x:.22069681000000063,y:.017981616452923805},{x:.21820727000000062,y:.013649933595881474},{x:.2157177300000006,y:.00920998892877074},{x:.2132281900000006,y:.0046738073449396865},{x:.21073865000000058,y:5400707033003521e-20},{x:.20824911000000057,y:-.004636278132081827},{x:.20575957000000056,y:-.009383479936300985},{x:.20327003000000055,y:-.01417367910655569},{x:.20078049000000053,y:-.018992691314014522},{x:.19829095000000052,y:-.02382615458789039}],color:"primary",fill:!1},path8706:{type:"path",points:[{x:-.4023286499999996,y:-.022544054587890106},{x:-.5293590499999994,y:-.022544054587890106}],color:"primary",fill:!1},"path8706-5":{type:"path",points:[{x:.5261604500000003,y:-.027111054587890093},{x:.39913004999999946,y:-.027111054587890093}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0040821499999992295,y:.22997364541210996},bottom1:{type:"text",text:"{VAL}",x:-.004252755294839927,y:-.22997364541210996}},refblocks:{left1:{x:-.5504428500000003,y:-.021272154587890446},right1:{x:.5504428500000005,y:-.026521254587889898}},bounds:{width:1.1572025820000007,height:.4599472908242199,centerX:11102230246251565e-32,centerY:0},circles:{}},{paths:g_n,texts:EQe,bounds:Dj,refblocks:TQe,circles:__n}=v_n,Yde=Km({primitives:[...Object.values(g_n),...Object.values(__n),{...EQe.top1,anchor:"middle_bottom"},{...EQe.bottom1,anchor:"middle_top"}],ports:[{...TQe.left1,labels:["1"]},{...TQe.right1,labels:["2"]}],size:{width:Dj.width,height:Dj.height},center:{x:Dj.centerX,y:Dj.centerY}}),MQe=Pl(Yde,"up"),x_n=avn(MQe),b_n=Qfe(Yde),CQe={paths:{path11:{type:"path",points:[{x:-.5274831500000006,y:-.05991764999999982},{x:-.14891374999999996,y:-.06254064999999964}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.13221874999999983,y:-.048856449999999496},{x:-.13236425000000063,y:-.18114814999999918}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.13236425000000063,y:.08343525000000018},{x:.13221874999999983,y:-.048856449999999496}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.13236425000000063,y:-.18114814999999984},{x:-.13236425000000063,y:.08343525000000018}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.13221874999999983,y:.08343525000000018},{x:.13221874999999983,y:-.18114814999999984}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.13582535000000018,y:-.04942524999999942},{x:.533952450000001,y:-.059917649999999156}],color:"primary",fill:!1},"path25-0-9-8":{type:"path",points:[{x:-.02944535000000048,y:.39378525000000053},{x:-.05325954999999993,y:.4660362500000006},{x:-.07725114999999949,y:.39386225000000086}],color:"primary",fill:!0},"path78-6-5-5":{type:"path",points:[{x:-.05361965000000035,y:.27387525000000035},{x:-.053592050000000446,y:.2865022500000003},{x:-.05330205000000077,y:.41436425000000066},{x:-.05311205000000019,y:.4152642500000008}],color:"primary",fill:!1},"path25-0-9-8-2":{type:"path",points:[{x:.06865195000000024,y:.39378525000000053},{x:.044837750000000565,y:.4660362500000006},{x:.02084615000000123,y:.39386225000000086}],color:"primary",fill:!0},"path78-6-5-5-7":{type:"path",points:[{x:.044477650000000146,y:.27387525000000035},{x:.044505250000000274,y:.2865022500000003},{x:.04479524999999995,y:.41436425000000066},{x:.04498525000000053,y:.4152642500000008}],color:"primary",fill:!1},"path43-1":{type:"path",points:[{x:.03124844999999965,y:.05895145000000013},{x:.03124844999999965,y:-.16452955000000036}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:.25206924999999947,y:.3769550499999994},bottom1:{type:"text",text:"{VAL}",x:-.006614550000000552,y:-.4660362500000004}},refblocks:{left1:{x:-.54139845,y:-.060770450000000364},right1:{x:.5413984499999995,y:-.0597740500000008}},bounds:{minX:-.569556891,maxX:.5695568909999995,minY:-.4660362500000004,maxY:.4660362500000006,width:1.1391137819999995,height:.932072500000001,centerX:-2220446049250313e-31,centerY:11102230246251565e-32},circles:{path1:{type:"circle",x:-.0037626500000003116,y:-.05278935000000051,radius:.28854213,color:"primary",fill:!1}}};CQe.bounds.width+=.2;var RQe=fd(CQe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),AQe=Pl(RQe),S_n=AQe.primitives.filter(n=>n.type==="text"),PQe=S_n.find(n=>n.text==="{VAL}");PQe.x=-.52,PQe.anchor="middle_right";var w_n=AQe,E_n={paths:{path45:{type:"path",points:[{x:.13585750000000063,y:-.003696399999999045},{x:-.12872579999999934,y:-.13598810000000228}],color:"primary",fill:!1},"path1-8":{type:"path",points:[{x:.12763670000000094,y:-.003920199999999596},{x:.5265564000000009,y:-.003920199999999596}],color:"primary",fill:!1},path46:{type:"path",points:[{x:-.12872579999999934,y:.12859530000000063},{x:.13585750000000063,y:-.003696399999999045}],color:"primary",fill:!1},path47:{type:"path",points:[{x:-.12872579999999934,y:-.13598810000000228},{x:-.12872579999999934,y:.12859530000000063}],color:"primary",fill:!1},path48:{type:"path",points:[{x:.13585750000000063,y:.12859530000000063},{x:.13585750000000063,y:-.13598810000000228}],color:"primary",fill:!1},path49:{type:"path",points:[{x:-.13076959999999938,y:-.003696399999999045},{x:-.5256007999999994,y:-.003696399999999045}],color:"primary",fill:!1},path25:{type:"path",points:[{x:-.1557438999999996,y:.28545279999999806},{x:-.2530861999999994,y:.3023319999999998},{x:-.21878339999999952,y:.20956920000000068}],color:"primary",fill:!0},path78:{type:"path",points:[{x:-.08000449999999937,y:.16590799999999817},{x:-.09202799999999911,y:.1748410000000007},{x:-.2137844999999996,y:.26529680000000155},{x:-.2144144999999993,y:.2662468000000011}],color:"primary",fill:!1},"path25-0":{type:"path",points:[{x:.021722400000000697,y:.30658939999999646},{x:-.07561989999999952,y:.3234685999999982},{x:-.04131709999999922,y:.23070579999999907}],color:"primary",fill:!0},"path78-6":{type:"path",points:[{x:.09746180000000093,y:.18704459999999656},{x:.08543830000000074,y:.19597759999999909},{x:-.0363181999999993,y:.28643339999999995},{x:-.03694819999999943,y:.2873833999999995}],color:"primary",fill:!1}},texts:{bottom1:{type:"text",text:"{VAL}",x:-.009561699999999451,y:-.3234685999999982},right1:{type:"text",text:"{REF}",x:.31464070000000044,y:.22386570000000106}},refblocks:{left1:{x:-.5362092999999997,y:-.004432900000001183},right1:{x:.5362093000000003,y:-.004886400000003732}},bounds:{width:1.128735482,height:.6469371999999964,centerX:33306690738754696e-32,centerY:0},circles:{}},{paths:T_n,texts:NQe,bounds:Lj,refblocks:DQe,circles:M_n}=E_n,Oj=Km({primitives:[...Object.values(T_n),...Object.values(M_n),{...NQe.bottom1,anchor:"middle_top"},{...NQe.right1,anchor:"middle_bottom"}],ports:[{...DQe.left1,labels:["1"]},{...DQe.right1,labels:["2"]}],size:{width:Lj.width,height:Lj.height},center:{x:Lj.centerX,y:Lj.centerY}}),C_n=Pl(Oj,"down"),R_n=Qfe(Oj),Xde=Pl(Oj,"up"),A_n={...Xde,primitives:Xde.primitives.map(n=>n.type==="path"&&(n.points.length===3||n.points.length===4)?{...n,points:n.points.map(e=>({x:e.x,y:-e.y+2*Xde.center.y}))}:n)},P_n=A_n,N_n={paths:{path11:{type:"path",points:[{x:-.5053201665812097,y:-.010839730805804138},{x:-.1829962316128657,y:-.010839730805804138}],color:"primary",fill:!1},"path11-2":{type:"path",points:[{x:-.1674747072814866,y:-.11471502212593476},{x:-.1674747072814866,y:.07736981415388478}],color:"primary",fill:!1},"path11-5":{type:"path",points:[{x:-.1674747072814866,y:-.11632056223474518},{x:.16018133830019532,y:-.11632056223474518}],color:"primary",fill:!1},"path11-5-5":{type:"path",points:[{x:-.1674747072814866,y:.07736981415388478},{x:.16018133830019532,y:.07736981415388478}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.17205869804197382,y:-.010839950577224311},{x:.5116721586832798,y:-.010839950577224311}],color:"primary",fill:!1},"path11-2-1":{type:"path",points:[{x:.16064490317338742,y:-.11622177498145403},{x:.16064490317338742,y:.07727135655772521}],color:"primary",fill:!1},"path25-0-9":{type:"path",points:[{x:-.40391896081308554,y:-.2111951150487743},{x:-.32538818309991635,y:-.1776462385858042},{x:-.33843942905204627,y:-.26928059146906413}],color:"primary",fill:!0},"path78-6-5":{type:"path",points:[{x:-.4470989190253618,y:-.3351265263866847},{x:-.4385525777085817,y:-.32468848279378437},{x:-.3520048317368336,y:-.21897414423109507},{x:-.3516268465799328,y:-.21798517284109487}],color:"primary",fill:!1},"path25-0-9-0":{type:"path",points:[{x:-.30220674110432255,y:-.3403193953841548},{x:-.22367596339115314,y:-.30677051892118534},{x:-.23672720934328306,y:-.3984048718044453}],color:"primary",fill:!0},"path78-6-5-9":{type:"path",points:[{x:-.3453866993165988,y:-.464250806722065},{x:-.3368403579998187,y:-.45381276312916397},{x:-.2502926120280704,y:-.34809842456647466},{x:-.24991462687116983,y:-.34710945317647446}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.1679477702432366,y:-.40859918889256375},bottom1:{type:"text",text:"{VAL}",x:-.006410773639930811,y:.464250806722065}},refblocks:{left1:{x:-.5247194309452994,y:-.009902515585214156},right1:{x:.5247194309452992,y:-.010997416799653603}},bounds:{width:1.1040207733749288,height:.6228499956146287,centerX:-11102230246251565e-32,centerY:-.022174191085249373},circles:{path1:{type:"circle",x:-.003646732950281173,y:-.018672603986024328,radius:.2796529289238723,color:"primary",fill:!1}}},{paths:D_n,texts:LQe,bounds:zj,refblocks:OQe,circles:L_n}=N_n,zQe=Km({primitives:[...Object.values(D_n),...Object.values(L_n),{...LQe.top1,anchor:"middle_left",x:0},{...LQe.bottom1,anchor:"middle_left",x:0}],ports:[{...OQe.left1,labels:["1"]},{...OQe.right1,labels:["2"]}],size:{width:zj.width,height:zj.height},center:{x:zj.centerX,y:zj.centerY}}),UQe=Pl(zQe),kQe=UQe.primitives.filter(n=>n.type==="text"),Wde=kQe.find(n=>n.text==="{VAL}");Wde.x=-.35,Wde.y=0,Wde.anchor="middle_right";var Zde=kQe.find(n=>n.text==="{REF}");Zde.y=0,Zde.x=.35,Zde.anchor="middle_left";var O_n=UQe,z_n={paths:{path208:{type:"path",points:[{x:.3843021704999998,y:.13154093999999894},{x:.5165938705000004,y:-.13304206000000107}],color:"primary",fill:!1},path209:{type:"path",points:[{x:.25201047050000014,y:-.13304206000000107},{x:.3843021704999998,y:.13154093999999894}],color:"primary",fill:!1},path210:{type:"path",points:[{x:.5165938705000004,y:-.13304206000000107},{x:.25201047050000014,y:-.13304206000000107}],color:"primary",fill:!1},path211:{type:"path",points:[{x:.25201047050000014,y:.13154093999999894},{x:.5165938705000004,y:.13154093999999894}],color:"primary",fill:!1},path212:{type:"path",points:[{x:.11971887050000074,y:-.39762406000000006},{x:.3843021704999998,y:-.39762406000000006}],color:"primary",fill:!1},path213:{type:"path",points:[{x:.3843021704999998,y:.39612494},{x:.11971887050000074,y:.39612494}],color:"primary",fill:!1},path214:{type:"path",points:[{x:.11971887050000074,y:.5284169399999996},{x:.11971887050000074,y:.18445994}],color:"primary",fill:!1},path215:{type:"path",points:[{x:.11971887050000074,y:-.5299150600000004},{x:.11971887050000074,y:-.0007480600000011606}],color:"primary",fill:!1},path216:{type:"path",points:[{x:.3843021704999998,y:-.39762469000000067},{x:.3843021704999998,y:.3961256399999993}],color:"primary",fill:!1},path217:{type:"path",points:[{x:-.1448644295000001,y:.2638359399999999},{x:-.1448644295000001,y:-.26533006000000015}],color:"primary",fill:!1},path218:{type:"path",points:[{x:-.22423942949999898,y:-.2653310599999994},{x:-.22423942949999898,y:.26383493999999885}],color:"primary",fill:!1},path219:{type:"path",points:[{x:-.5417394294999998,y:-.26533006000000015},{x:-.22423942949999898,y:-.2653320600000004}],color:"primary",fill:!1},path220:{type:"path",points:[{x:-.1448644295000001,y:-.18595506000000128},{x:.11971897050000013,y:-.18595506000000128}],color:"primary",fill:!1},path221:{type:"path",points:[{x:-.1448644295000001,y:.18446093999999924},{x:.11971897050000013,y:.18446093999999924}],color:"primary",fill:!1},path222:{type:"path",points:[{x:-.06548942950000036,y:-.0007480600000011606},{x:.11971887050000074,y:-.0007480600000011606}],color:"primary",fill:!1}},texts:{right1:{type:"text",text:"{VAL}",x:.5715500704999998,y:.02044358999999929},right2:{type:"text",text:"{REF}",x:.5701646705000005,y:.2085436499999993}},refblocks:{top1:{x:.12018067049999992,y:.5432738300000004},bottom1:{x:.11982247050000083,y:-.5432738300000004},left1:{x:-.5433916295000003,y:-.2663988600000007}},bounds:{width:1.1431001410000001,height:1.1428645420000008,centerX:-2220446049250313e-31,centerY:0}},{paths:U_n,texts:IQe,bounds:Uj,refblocks:Qde}=z_n,FQe=Km({primitives:[...Object.values(U_n),{...IQe.right1,anchor:"middle_left"},{...IQe.right2,anchor:"middle_left"}],ports:[{...Qde.top1,labels:["1"]},{...Qde.bottom1,labels:["2"]},{...Qde.left1,labels:["3"]}],size:{width:Uj.width+.4,height:Uj.height},center:{x:Uj.centerX+.2,y:Uj.centerY}}),Kde=Pl(FQe),BQe=Kde.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Jde=Kde.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");BQe.anchor="middle_top",Jde.anchor="middle_top",BQe.x=Jde.x,Jde.y+=.15;var k_n=Kde,I_n={paths:{"path12-1-8-6-9":{type:"path",points:[{x:.005962250000000502,y:.06921149999999976},{x:.005962250000000502,y:-.005086499999999106}],color:"primary",fill:!1},"path12-1-5-6":{type:"path",points:[{x:-.48740705000000073,y:-.09299450000000142},{x:-.17310075000000058,y:-.09299450000000142}],color:"primary",fill:!1},"path12-1-8-0":{type:"path",points:[{x:-.16008695000000017,y:-.010660500000000184},{x:.1719709499999995,y:-.010660500000000184}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.1954987499999996,y:-.09260549999999945},{x:.4881436499999996,y:-.09260549999999945}],color:"primary",fill:!1},path2:{type:"path",points:[{x:-.09950044999999985,y:.05839450000000035},{x:-.09950104999999976,y:.06197449999999982},{x:-.09932044999999956,y:.06550449999999941},{x:-.09896044999999987,y:.0690104999999992},{x:-.09860045000000017,y:.07250049999999852},{x:-.09806045000000019,y:.07593049999999835},{x:-.09735344999999995,y:.07929949999999941},{x:-.09663345000000056,y:.08265950000000011},{x:-.09578045000000035,y:.08599949999999978},{x:-.09475245000000054,y:.08924949999999932},{x:-.09379245000000047,y:.09255949999999835},{x:-.09254545000000025,y:.09567949999999925},{x:-.09120844999999989,y:.09877950000000091},{x:-.08986644999999971,y:.10186950000000117},{x:-.08839545000000015,y:.10492949999999901},{x:-.08675845000000049,y:.10783949999999898},{x:-.08506245000000057,y:.11069950000000084},{x:-.08334244999999996,y:.11360950000000081},{x:-.08146945000000017,y:.11638949999999859},{x:-.0795824500000002,y:.11916949999999993},{x:-.07752845000000086,y:.12180949999999946},{x:-.07546944999999994,y:.12442949999999975},{x:-.07325945000000011,y:.12693950000000065},{x:-.07104145000000006,y:.129449499999998},{x:-.06867544999999975,y:.13182950000000027},{x:-.06628845000000005,y:.1341695000000005},{x:-.06379544999999975,y:.1364194999999988},{x:-.06114145000000004,y:.13848950000000038},{x:-.05848745000000033,y:.1405694999999998},{x:-.05584345000000024,y:.14261950000000034},{x:-.05306845000000049,y:.14449950000000022},{x:-.05029345000000074,y:.14639950000000113},{x:-.04738844999999969,y:.14811950000000174},{x:-.04437445000000029,y:.14969949999999876},{x:-.04134744999999995,y:.1513194999999996},{x:-.038316449999999946,y:.15275949999999838},{x:-.03515645000000056,y:.15407949999999992},{x:-.03204444999999989,y:.15536950000000083},{x:-.028770450000000558,y:.15655950000000018},{x:-.025468450000000864,y:.15757949999999887},{x:-.02213745000000067,y:.15863950000000138},{x:-.018790450000000014,y:.15942949999999811},{x:-.01536325000000005,y:.16012949999999826},{x:-.011980249999999693,y:.16082950000000018},{x:-.008442250000000762,y:.16141949999999916},{x:-.004890650000000107,y:.1617494999999991},{x:-.0013406500000003874,y:.16204949999999663},{x:.002252350000000014,y:.16214949999999817},{x:.005893849999999645,y:.16214949999999817},{x:.009534849999998762,y:.16214949999999817},{x:.013136849999999534,y:.16204949999999663},{x:.016683149999999536,y:.1617494999999991},{x:.020231149999998976,y:.1614494999999998},{x:.023727149999999142,y:.16104949999999896},{x:.02715474999999934,y:.16012949999999826},{x:.03057874999999921,y:.15952949999999966},{x:.03395574999999962,y:.15867949999999986},{x:.03725995000000015,y:.15758950000000027},{x:.0405679499999998,y:.15652949999999954},{x:.04379994999999948,y:.15541949999999893},{x:.04695294999999966,y:.15409950000000094},{x:.050101949999999285,y:.15280950000000004},{x:.053191949999999544,y:.1513194999999996},{x:.05617794999999948,y:.1497395000000008},{x:.05916694999999983,y:.14811950000000174},{x:.06206694999999929,y:.14639950000000113},{x:.06487294999999982,y:.1445595000000015},{x:.06767095000000012,y:.14269950000000264},{x:.07038294999999994,y:.14069950000000198},{x:.07299194999999958,y:.1385795000000023},{x:.07560095000000011,y:.13645950000000262},{x:.07809294999999938,y:.13420950000000254},{x:.08047994999999997,y:.13187950000000193},{x:.08287894999999956,y:.1295395000000017},{x:.08515495000000062,y:.12706950000000106},{x:.08729294999999926,y:.12451950000000167},{x:.08944594999999911,y:.12192950000000202},{x:.0914679499999993,y:.11930950000000173},{x:.09337295000000001,y:.1165295000000004},{x:.0971669499999992,y:.11101949999999938},{x:.10043494999999947,y:.10512450000000229},{x:.10311494999999926,y:.09890950000000132},{x:.10444094999999987,y:.09581950000000106},{x:.10564094999999973,y:.09262950000000103},{x:.10667494999999949,y:.08935950000000226},{x:.10769994999999977,y:.08610950000000273},{x:.1085699499999997,y:.08279950000000369},{x:.10927795000000007,y:.07942950000000337},{x:.10999794999999946,y:.07605950000000128},{x:.11051994999999959,y:.07262950000000146},{x:.11088394999999984,y:.06913950000000213},{x:.11124394999999954,y:.0656495000000028},{x:.11142394999999983,y:.062099500000002195},{x:.11142394999999983,y:.05854350000000075},{x:.10483595000000001,y:.05853049999999982},{x:.0982479500000002,y:.058516500000001415},{x:.09164495000000006,y:.058518500000001694},{x:.08505695000000024,y:.05850850000000207},{x:.078453950000001,y:.058509500000001324},{x:.07186595000000029,y:.058496500000000395},{x:.06526295000000104,y:.05849750000000142},{x:.058674950000001225,y:.058485499999999746},{x:.05208695000000052,y:.058473499999999845},{x:.04548395000000127,y:.058475500000000125},{x:.038895950000001456,y:.05846150000000172},{x:.03230795000000075,y:.058448499999999015},{x:.025704950000001503,y:.058453499999998826},{x:.019101950000001366,y:.05845449999999808},{x:.01251395000000155,y:.05844149999999715},{x:.005925950000001734,y:.058427499999998744},{x:-.0006560499999990199,y:.05842149999999968},{x:-.007240049999999165,y:.05841449999999959},{x:-.01382404999999931,y:.05840850000000053},{x:-.020406049999999176,y:.05840250000000147},{x:-.02699004999999932,y:.058394500000002125},{x:-.03357404999999947,y:.05838950000000409},{x:-.04015604999999933,y:.05838350000000503},{x:-.04674004999999948,y:.05837450000000466},{x:-.05332205000000023,y:.058368500000005596},{x:-.05990605000000038,y:.058360500000006255},{x:-.06649005000000052,y:.058355500000006444},{x:-.07307205000000039,y:.05834950000000738},{x:-.07965605000000053,y:.05834150000000804},{x:-.08624005000000068,y:.05833550000000898},{x:-.09282205000000143,y:.05833050000001094}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:.01254745000000046,y:.26612850000000243},bottom1:{type:"text",text:"{VAL}",x:-.16130964999999975,y:-.2661284999999989}},refblocks:{left1:{x:-.4717985499999999,y:-.09296750000000031},right1:{x:.4717985499999999,y:-.09299249999999937}},bounds:{width:.9999139819999998,height:.5322570000000013,centerX:0,centerY:17763568394002505e-31},circles:{}},{paths:F_n,texts:jQe,bounds:kj,refblocks:HQe,circles:B_n}=I_n,VQe=Km({primitives:[...Object.values(F_n),...Object.values(B_n),{...jQe.top1,anchor:"middle_bottom",x:0},{...jQe.bottom1,anchor:"middle_top",x:0}],ports:[{...HQe.left1,labels:["1"]},{...HQe.right1,labels:["2"]}],size:{width:kj.width,height:kj.height},center:{x:kj.centerX+.006,y:kj.centerY+.06}}),epe=Pl(VQe),FP=epe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Ij=epe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");FP.anchor="middle_left",Ij.anchor="middle_right",FP.x=FP.x-.03,FP.y=FP.y,Ij.x=Ij.x,Ij.y=0;var j_n=epe,H_n={paths:{path11:{type:"path",points:[{x:-.39274354450000026,y:-.10329954999999957},{x:.05111245549999932,y:-.1059225499999994}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.09373835550000087,y:.18559775000000034},{x:.09280835550000122,y:-.18255174999999935}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.30382435550000064,y:.53233025},{x:.3032243555000005,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.3108281555000003,y:-.5323308500000001},{x:.31142815550000025,y:-.005876249999999805}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.09383795549999951,y:.10788365000000044},{x:.31104975549999936,y:.10659565000000004}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.09383795549999951,y:-.10232114999999986},{x:.31104975549999936,y:-.10360915000000026}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.27419885550000034,y:-.04077644999999963},{x:.27419885550000034,y:.030615650000000327},{x:.2024438555000001,y:-.004662050000000084},{x:.27419885550000034,y:-.04077644999999963}],color:"primary",fill:!0},"path2-0":{type:"path",points:[{x:.09383795549999951,y:-.004018049999999551},{x:.31104975549999936,y:-.005306049999999729}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.05171245550000081,y:.16715385000000005},{x:.05111245550000065,y:-.10592255000000006}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.13197254449999907,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.05891105550000031,y:-.42489435000000064}},refblocks:{top1:{x:.30397715549999993,y:.5519248499999992},bottom1:{x:.31067575550000126,y:-.5519248499999994},left1:{x:-.41859744450000025,y:-.10250625000000024}},bounds:{width:.8935117710000002,height:1.1601665819999987,centerX:-8326672684688674e-32,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.15821375550000005,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:V_n,texts:$Qe,bounds:Fj,refblocks:tpe,circles:$_n}=H_n,GQe=Km({primitives:[...Object.values(V_n),...Object.values($_n),{...$Qe.top1,anchor:"middle_right",x:0},{...$Qe.bottom1,anchor:"middle_right",x:0}],ports:[{...tpe.top1,labels:["1","drain"]},{...tpe.bottom1,labels:["2","source"]},{...tpe.left1,labels:["3","gate"]}],size:{width:Fj.width,height:Fj.height},center:{x:Fj.centerX,y:Fj.centerY}}),qQe=Pl(GQe),YQe=qQe.primitives.filter(n=>n.type==="text"),npe=YQe.find(n=>n.text==="{VAL}");npe.x=-.35,npe.y=0,npe.anchor="middle_right";var rpe=YQe.find(n=>n.text==="{REF}");rpe.y=0,rpe.x=.35,rpe.anchor="middle_left";var G_n=qQe,q_n={paths:{path11:{type:"path",points:[{x:-.39274354450000026,y:-.10329954999999957},{x:.05111245549999932,y:-.1059225499999994}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.30382435550000064,y:.53233025},{x:.3032243555000005,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.3108281555000003,y:-.5323308500000001},{x:.31142815550000025,y:-.005876249999999805}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.09383795549999951,y:.10788365000000044},{x:.31104975549999936,y:.10659565000000004}],color:"primary",fill:!1},"path2-8-3-7":{type:"path",points:[{x:.09448295549999952,y:.14677165000000048},{x:.09319295549999951,y:.06899565000000041}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.09383795549999951,y:-.10232114999999986},{x:.31104975549999936,y:-.10360915000000026}],color:"primary",fill:!1},"path2-8-3":{type:"path",points:[{x:.09440455549999993,y:-.07703174999999951},{x:.09311455549999992,y:-.15480774999999958}],color:"primary",fill:!1},"path2-8-3-2":{type:"path",points:[{x:.09448295549999952,y:.03486995000000048},{x:.09319295549999951,y:-.042906049999999585}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.2741991554999996,y:-.040776550000000134},{x:.2741991554999996,y:.030615549999999825},{x:.2024441554999994,y:-.004662350000000037},{x:.2741991554999996,y:-.040776550000000134}],color:"primary",fill:!0},"path2-0":{type:"path",points:[{x:.09383795549999951,y:-.004018049999999551},{x:.31104975549999936,y:-.005306049999999729}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.05171245550000081,y:.10847375000000059},{x:.05111245550000065,y:-.1059225499999994}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.13197254449999907,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.05891105550000031,y:-.42489435000000064}},refblocks:{top1:{x:.30397715549999993,y:.5519248499999992},bottom1:{x:.31067575550000126,y:-.5519248499999994},left1:{x:-.41859744450000025,y:-.10250625000000024}},bounds:{width:.8935117710000002,height:1.1601665819999987,centerX:-8326672684688674e-32,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.15821375550000005,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:Y_n,texts:XQe,bounds:Bj,refblocks:ipe,circles:X_n}=q_n,WQe=Km({primitives:[...Object.values(Y_n),...Object.values(X_n),{...XQe.top1,anchor:"middle_right",x:0},{...XQe.bottom1,anchor:"middle_right",x:0}],ports:[{...ipe.top1,labels:["1","drain"]},{...ipe.bottom1,labels:["2","source"]},{...ipe.left1,labels:["3","gate"]}],size:{width:Bj.width,height:Bj.height},center:{x:Bj.centerX,y:Bj.centerY}}),ZQe=Pl(WQe),QQe=ZQe.primitives.filter(n=>n.type==="text"),ape=QQe.find(n=>n.text==="{VAL}");ape.x=-.35,ape.y=0,ape.anchor="middle_right";var ope=QQe.find(n=>n.text==="{REF}");ope.y=0,ope.x=.35,ope.anchor="middle_left";var W_n=ZQe,Z_n={paths:{path11:{type:"path",points:[{x:-.38509374449999945,y:-.00367374999999992},{x:.05876225550000025,y:-.00629674999999974}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.07415065550000066,y:.18559775000000034},{x:.07322065550000101,y:-.18255174999999935}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.28423665550000043,y:.53233025},{x:.2836366555000003,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.2912404555000001,y:-.5298821500000002},{x:.29184045550000004,y:-.10355795000000012}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.07425025549999931,y:.10788365000000044},{x:.29146205549999915,y:.10659565000000004}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.07425025549999931,y:-.10232114999999986},{x:.29146205549999915,y:-.10360915000000026}],color:"primary",fill:!1},path15:{type:"path",points:[{x:-.0829488445000004,y:.06153284999999986},{x:-.0829488445000004,y:-.06535114999999969},{x:.005945155500000077,y:-.0026521499999998532},{x:-.0829488445000004,y:.06153284999999986}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.15156024449999927,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.0393233555000001,y:-.42489435000000064}},refblocks:{top1:{x:.2843894554999997,y:.5519248499999992},bottom1:{x:.29108805550000105,y:-.5519248499999994},left1:{x:-.3990097444999998,y:-.004526550000000462}},bounds:{width:.8543363709999996,height:1.1601665819999987,centerX:27755575615628914e-33,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.13862605549999985,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:Q_n,texts:KQe,bounds:jj,refblocks:spe,circles:K_n}=Z_n,JQe=Km({primitives:[...Object.values(Q_n),...Object.values(K_n),{...KQe.top1,anchor:"middle_right",x:0},{...KQe.bottom1,anchor:"middle_right",x:0}],ports:[{...spe.top1,labels:["1","drain"]},{...spe.bottom1,labels:["2","source"]},{...spe.left1,labels:["3","gate"]}],size:{width:jj.width,height:jj.height},center:{x:jj.centerX,y:jj.centerY}}),eKe=Pl(JQe),tKe=eKe.primitives.filter(n=>n.type==="text"),lpe=tKe.find(n=>n.text==="{VAL}");lpe.x=-.35,lpe.y=0,lpe.anchor="middle_right";var cpe=tKe.find(n=>n.text==="{REF}");cpe.y=0,cpe.x=.35,cpe.anchor="middle_left";var J_n=eKe,upe={paths:{path11:{type:"path",points:[{x:-.3850939444999988,y:-.0036735999999999436},{x:.0587620555000008,y:-.0062965999999997635}],color:"primary",fill:!1},"path40-0":{type:"path",points:[{x:.07400475550000118,y:.2689528999999997},{x:.07335475550000092,y:-.2789230000000007}],color:"primary",fill:!1},"path40-0-5":{type:"path",points:[{x:.2754149555000005,y:.24180210000000013},{x:.07955815550000045,y:.10822479999999968}],color:"primary",fill:!1},"path40-0-5-0":{type:"path",points:[{x:.2868554555000009,y:-.24134789999999984},{x:.09194705550000082,y:-.10807689999999992}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.2851204555,y:.25311099999999964},{x:.2860204555000001,y:.5377640999999995}],color:"primary",fill:!1},"path12-1-5-3":{type:"path",points:[{x:.2851204555,y:-.5376890000000012},{x:.2860204555000001,y:-.25303590000000065}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.1882816555000013,y:-.10097660000000008},{x:.11555775550000158,y:-.20483720000000027},{x:.22425775550000182,y:-.20446720000000007},{x:.1882816555000013,y:-.10097660000000008}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.07802354449999971,y:.3596647999999991},bottom1:{type:"text",text:"{VAL}",x:-.0679100444999996,y:-.4129789000000006}},refblocks:{top1:{x:.28556045550000064,y:.5519250999999994},bottom1:{x:.285560455500002,y:-.5519250999999992},left1:{x:-.3990097444999998,y:-.004526300000000871}},bounds:{minX:-.4271681854999998,maxX:.4271681855000001,minY:-.5800835409999991,maxY:.5800835409999994,width:.8543363709999998,height:1.1601670819999985,centerX:13877787807814457e-32,centerY:11102230246251565e-32},circles:{"path1-0":{type:"circle",x:.13862605550000007,y:.003454799999999203,radius:.28854213,color:"primary",fill:!1}}},{paths:$On,texts:GOn,bounds:qOn,refblocks:YOn,circles:XOn}=upe,nKe=fd(upe).changeTextAnchor("{VAL}","middle_right").labelPort("left1",["3"]).labelPort("top1",["2"]).labelPort("bottom1",["1"]).changeTextAnchor("{REF}","middle_right").build(),exn=Pl(nKe),txn=exn.primitives.filter(n=>n.type==="text"),nxn=txn.find(n=>n.text==="{REF}");nxn.anchor="middle_left";var rxn=fd(upe).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_right").labelPort("left1",["3"]).labelPort("top1",["2"]).labelPort("bottom1",["1"]).changeTextAnchor("{REF}","middle_left").build(),ixn={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.0390362999999998},{x:-.3199943999999995,y:-.21132800000000015}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.3199943999999995,y:.31132800000000016},{x:.14458890000000002,y:.0390362999999998}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.3199943999999995,y:-.21132800000000015},{x:-.3199943999999995,y:.31132800000000016}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.3199943999999995,y:.1790362999999998},{x:-.58168694,y:.1790362999999998}],color:"primary",fill:!1},path45:{type:"path",points:[{x:-.3199943999999995,y:-.0890362999999998},{x:-.58168694,y:-.0890362999999998}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.4233797000000002,y:.03895110000000024},{x:.1496715999999998,y:.03895110000000024}],color:"primary",fill:!1},"rect1577-3":{type:"path",points:[{x:-.19898460000000012,y:.1790362999999998},{x:-.26995180000000035,y:.1790362999999998}],color:"primary",fill:!0},"rect1577-4":{type:"path",points:[{x:-.19898460000000012,y:-.0890362999999998},{x:-.26995180000000035,y:-.0890362999999998}],color:"primary",fill:!0},"rect1577-4-7":{type:"path",points:[{x:-.23480170000000036,y:-.05337805000000034},{x:-.23480170000000036,y:-.12434525000000014}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.4188453},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.29994529999999997}},refblocks:{left1:{x:-.56868694,y:.1790362999999998},left2:{x:-.56868694,y:-.0890362999999998},right1:{x:.4291470999999999,y:.03889609999999988}},bounds:{minX:-.5473055410000001,maxX:.5473055409999998,minY:-.37884529999999994,maxY:.26884529999999995,width:1.094611082,height:.2976905999999999,centerX:-11102230246251565e-32,centerY:.05499999999999999},circles:{}},Hj=fd(ixn).labelPort("left1",["1","inp1"]).labelPort("left2",["2","inp2"]).labelPort("right1",["3","out"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),axn=Pl(Hj,"down"),oxn=Pl(Hj,"left"),sxn=Pl(Hj,"up"),lxn={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.0390362999999998},{x:-.3199943999999995,y:-.21132800000000015}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.3199943999999995,y:.31132800000000016},{x:.14458890000000002,y:.0390362999999998}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.3199943999999995,y:-.21132800000000015},{x:-.3199943999999995,y:.31132800000000016}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.3199943999999995,y:.1790362999999998},{x:-.58168694,y:.1790362999999998}],color:"primary",fill:!1},path45:{type:"path",points:[{x:-.3199943999999995,y:-.0890362999999998},{x:-.58168694,y:-.0890362999999998}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.4233797000000002,y:.03895110000000024},{x:.1496715999999998,y:.03895110000000024}],color:"primary",fill:!1},"path44-1":{type:"path",points:[{x:-.09945180000000035,y:.43895110000000026},{x:-.09945180000000035,y:.1790362999999998}],color:"primary",fill:!1},"path44-2":{type:"path",points:[{x:-.09345180000000035,y:-.3389511000000002},{x:-.09345180000000035,y:-.0890362999999998}],color:"primary",fill:!1},"rect1577-3":{type:"path",points:[{x:-.19898460000000012,y:.1790362999999998},{x:-.26995180000000035,y:.1790362999999998}],color:"primary",fill:!0},"rect1577-4":{type:"path",points:[{x:-.19898460000000012,y:-.0890362999999998},{x:-.26995180000000035,y:-.0890362999999998}],color:"primary",fill:!0},"rect1577-4-7":{type:"path",points:[{x:-.23485180000000036,y:.14405005000000035},{x:-.23485180000000036,y:.2150405000000014}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:.2502509999999967,y:.31884529999999994},bottom1:{type:"text",text:"{VAL}",x:.2502509999999967,y:-.23599529999999996}},refblocks:{left1:{x:-.56868694,y:.1790362999999998},left2:{x:-.56868694,y:-.0890362999999998},right1:{x:.4291470999999999,y:.03889609999999988},top2:{x:-.09945180000000035,y:.43895110000000026},bottom1:{x:-.09345180000000035,y:-.3389511000000002}},bounds:{minX:-.5473055410000001,maxX:.5473055409999998,minY:-.37884529999999994,maxY:.26884529999999995,width:1.094611082,height:.2976905999999999,centerX:-11102230246251565e-32,centerY:.05499999999999999},circles:{}},Vj=fd(lxn).labelPort("left1",["1","inp1"]).labelPort("left2",["2","inp2"]).labelPort("right1",["3","out"]).labelPort("top2",["4","V+"]).labelPort("bottom1",["5","V-"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),cxn=Pl(Vj,"down"),uxn=Pl(Vj,"left"),fxn=Pl(Vj,"up"),dxn={paths:{path11:{type:"path",points:[{x:-.39274354450000026,y:-.10329954999999957},{x:.05111245549999932,y:-.1059225499999994}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.09373835550000087,y:.18559775000000034},{x:.09280835550000122,y:-.18255174999999935}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.30382435550000064,y:.53233025},{x:.3032243555000005,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.3108281555000003,y:-.5323308500000001},{x:.31142815550000025,y:-.005876249999999805}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.09383795549999951,y:.10788365000000044},{x:.31104975549999936,y:.10659565000000004}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.09383795549999951,y:-.10232114999999986},{x:.31104975549999936,y:-.10360915000000026}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.20244405549999955,y:.03061555000000049},{x:.20244405549999955,y:-.04077654999999947},{x:.2741990554999998,y:-.0054987499999992195},{x:.20244405549999955,y:.03061555000000049}],color:"primary",fill:!0},"path2-0":{type:"path",points:[{x:.09383795549999951,y:-.004018049999999551},{x:.31104975549999936,y:-.005306049999999729}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.05171245550000081,y:.16715385000000005},{x:.05111245550000065,y:-.10592255000000006}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.13197254449999907,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.05891105550000031,y:-.42489435000000064}},refblocks:{top1:{x:.30397715549999993,y:.5519248499999992},bottom1:{x:.31067575550000126,y:-.5519248499999994},left1:{x:-.41859744450000025,y:-.10250625000000024}},bounds:{width:.8935117710000002,height:1.1601665819999987,centerX:-8326672684688674e-32,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.15821375550000005,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:pxn,texts:rKe,bounds:$j,refblocks:fpe,circles:hxn}=dxn,iKe=Km({primitives:[...Object.values(pxn),...Object.values(hxn),{...rKe.top1,anchor:"middle_right",x:0},{...rKe.bottom1,anchor:"middle_right",x:0}],ports:[{...fpe.top1,labels:["1","drain"]},{...fpe.bottom1,labels:["2","source"]},{...fpe.left1,labels:["3","gate"]}],size:{width:$j.width,height:$j.height},center:{x:$j.centerX,y:$j.centerY}}),aKe=Pl(iKe),oKe=aKe.primitives.filter(n=>n.type==="text"),dpe=oKe.find(n=>n.text==="{VAL}");dpe.x=-.35,dpe.y=0,dpe.anchor="middle_right";var ppe=oKe.find(n=>n.text==="{REF}");ppe.y=0,ppe.x=.35,ppe.anchor="middle_left";var mxn=aKe,yxn={paths:{path11:{type:"path",points:[{x:-.39274354450000026,y:-.10329954999999957},{x:.05111245549999932,y:-.1059225499999994}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.30382435550000064,y:.53233025},{x:.3032243555000005,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.3108281555000003,y:-.5323308500000001},{x:.31142815550000025,y:-.005876249999999805}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.09383795549999951,y:.10788365000000044},{x:.31104975549999936,y:.10659565000000004}],color:"primary",fill:!1},"path2-8-3-7":{type:"path",points:[{x:.09448295549999952,y:.14677165000000048},{x:.09319295549999951,y:.06899565000000041}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.09383795549999951,y:-.10232114999999986},{x:.31104975549999936,y:-.10360915000000026}],color:"primary",fill:!1},"path2-8-3":{type:"path",points:[{x:.09440455549999993,y:-.07703174999999951},{x:.09311455549999992,y:-.15480774999999958}],color:"primary",fill:!1},"path2-8-3-2":{type:"path",points:[{x:.09448295549999952,y:.03486995000000048},{x:.09319295549999951,y:-.042906049999999585}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.20244405549999955,y:.03061555000000049},{x:.20244405549999955,y:-.04077654999999947},{x:.2741990554999998,y:-.0054987499999992195},{x:.20244405549999955,y:.03061555000000049}],color:"primary",fill:!0},"path2-0":{type:"path",points:[{x:.09383795549999951,y:-.004018049999999551},{x:.31104975549999936,y:-.005306049999999729}],color:"primary",fill:!1},"path12-1-0":{type:"path",points:[{x:.05171245550000081,y:.10847375000000059},{x:.05111245550000065,y:-.1059225499999994}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.13197254449999907,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.05891105550000031,y:-.42489435000000064}},refblocks:{top1:{x:.30397715549999993,y:.5519248499999992},bottom1:{x:.31067575550000126,y:-.5519248499999994},left1:{x:-.41859744450000025,y:-.10250625000000024}},bounds:{width:.8935117710000002,height:1.1601665819999987,centerX:-8326672684688674e-32,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.15821375550000005,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:vxn,texts:sKe,bounds:Gj,refblocks:hpe,circles:gxn}=yxn,lKe=Km({primitives:[...Object.values(vxn),...Object.values(gxn),{...sKe.top1,anchor:"middle_right",x:0},{...sKe.bottom1,anchor:"middle_right",x:0}],ports:[{...hpe.top1,labels:["1","drain"]},{...hpe.bottom1,labels:["2","source"]},{...hpe.left1,labels:["3","gate"]}],size:{width:Gj.width,height:Gj.height},center:{x:Gj.centerX,y:Gj.centerY}}),cKe=Pl(lKe),uKe=cKe.primitives.filter(n=>n.type==="text"),mpe=uKe.find(n=>n.text==="{VAL}");mpe.x=-.35,mpe.y=0,mpe.anchor="middle_right";var ype=uKe.find(n=>n.text==="{REF}");ype.y=0,ype.x=.35,ype.anchor="middle_left";var _xn=cKe,xxn={paths:{path11:{type:"path",points:[{x:-.5274831500000005,y:-.012413549999999773},{x:-.14891374999999973,y:-.015036549999999593}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.13221874999999983,y:-.001352349999999447},{x:-.1323642500000004,y:-.13364404999999913}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1323642500000004,y:.13093935000000023},{x:.13221874999999983,y:-.001352349999999447}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1323642500000004,y:-.1336440499999998},{x:-.1323642500000004,y:.13093935000000023}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.13221874999999983,y:.13093935000000023},{x:.13221874999999983,y:-.1336440499999998}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.1358253500000004,y:-.001921149999999372},{x:.533952450000001,y:-.012413549999999107}],color:"primary",fill:!1},"path25-0":{type:"path",points:[{x:.19839785000000076,y:.37576625000000075},{x:.16262485000000027,y:.28367475000000053},{x:.26033484999999956,y:.2989800500000006}],color:"primary",fill:!0},"path78-6":{type:"path",points:[{x:.3305468500000004,y:.4264014500000006},{x:.31941585000000017,y:.4163797500000006},{x:.20669285000000048,y:.3148875500000008},{x:.20564285000000115,y:.31448755000000084}],color:"primary",fill:!1},"path25-0-9":{type:"path",points:[{x:.34573984999999974,y:.3493283500000002},{x:.30996684999999946,y:.25723684999999996},{x:.40767644999999963,y:.27254215000000004}],color:"primary",fill:!0},"path78-6-5":{type:"path",points:[{x:.47788845000000046,y:.39996355000000006},{x:.46675745000000024,y:.38994185000000003},{x:.35403445000000033,y:.2884496500000002},{x:.352984450000001,y:.2880496500000005}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.10246254999999982,y:.34693914999999986},bottom1:{type:"text",text:"{VAL}",x:.0012544500000004621,y:-.4264014500000004}},refblocks:{left1:{x:-.5413984499999998,y:-.013266350000000315},right1:{x:.54139845,y:-.012269950000000529}},bounds:{minX:-.5695568909999997,maxX:.569556891,minY:-.4264014500000004,maxY:.4264014500000006,width:1.1391137819999997,height:.852802900000001,centerX:11102230246251565e-32,centerY:11102230246251565e-32},circles:{path1:{type:"circle",x:-.0037626500000000895,y:-.005285250000000241,radius:.28854213,color:"primary",fill:!1}}},fKe=fd(xxn).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),dKe=Pl(fKe),bxn=dKe.primitives.filter(n=>n.type==="text"),pKe=bxn.find(n=>n.text==="{REF}");pKe.y=0,pKe.anchor="middle_left";var Sxn=dKe,wxn={paths:{path11:{type:"path",points:[{x:-.38509374449999945,y:-.00367374999999992},{x:.05876225550000025,y:-.00629674999999974}],color:"primary",fill:!1},path40:{type:"path",points:[{x:.07415065550000066,y:.18559775000000034},{x:.07322065550000101,y:-.18255174999999935}],color:"primary",fill:!1},"path12-1":{type:"path",points:[{x:.28423665550000043,y:.53233025},{x:.2836366555000003,y:.10600584999999985}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.2912404555000001,y:-.5298821500000002},{x:.29184045550000004,y:-.10355795000000012}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.07425025549999931,y:.10788365000000044},{x:.29146205549999915,y:.10659565000000004}],color:"primary",fill:!1},"path2-5":{type:"path",points:[{x:.07425025549999931,y:-.10232114999999986},{x:.29146205549999915,y:-.10360915000000026}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.005945155500000077,y:-.06535114999999969},{x:.005945155500000077,y:.06153284999999986},{x:-.0829488445000004,y:-.001166149999999977},{x:.005945155500000077,y:-.06535114999999969}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.15156024449999927,y:.36092494999999936},bottom1:{type:"text",text:"{VAL}",x:.0393233555000001,y:-.42489435000000064}},refblocks:{top1:{x:.2843894554999997,y:.5519248499999992},bottom1:{x:.29108805550000105,y:-.5519248499999994},left1:{x:-.3990097444999998,y:-.004526550000000462}},bounds:{width:.8543363709999996,height:1.1601665819999987,centerX:27755575615628914e-33,centerY:-5551115123125783e-32},circles:{path1:{type:"circle",x:.13862605549999985,y:.003454549999999612,radius:.28854213,color:"primary",fill:!1}}},{paths:Exn,texts:hKe,bounds:qj,refblocks:vpe,circles:Txn}=wxn,mKe=Km({primitives:[...Object.values(Exn),...Object.values(Txn),{...hKe.top1,anchor:"middle_right",x:0},{...hKe.bottom1,anchor:"middle_right"}],ports:[{...vpe.top1,labels:["1","drain"]},{...vpe.bottom1,labels:["2","source"]},{...vpe.left1,labels:["3","gate"]}],size:{width:qj.width,height:qj.height},center:{x:qj.centerX,y:qj.centerY}}),yKe=Pl(mKe),vKe=yKe.primitives.filter(n=>n.type==="text"),gpe=vKe.find(n=>n.text==="{VAL}");gpe.x=-.35,gpe.y=0,gpe.anchor="middle_right";var _pe=vKe.find(n=>n.text==="{REF}");_pe.y=0,_pe.x=.35,_pe.anchor="middle_left";var Mxn=yKe,gKe={paths:{path11:{type:"path",points:[{x:-.3850939444999988,y:-.0036735999999999436},{x:.0587620555000008,y:-.0062965999999997635}],color:"primary",fill:!1},"path40-0":{type:"path",points:[{x:.07400475550000118,y:.2689528999999997},{x:.07335475550000092,y:-.2789230000000007}],color:"primary",fill:!1},"path40-0-5":{type:"path",points:[{x:.2754149555000005,y:.24180210000000013},{x:.07955815550000045,y:.10822479999999968}],color:"primary",fill:!1},"path40-0-5-0":{type:"path",points:[{x:.2868554555000009,y:-.24134789999999984},{x:.09194705550000082,y:-.10807689999999992}],color:"primary",fill:!1},"path12-1-5":{type:"path",points:[{x:.2851204555,y:.25311099999999964},{x:.2860204555000001,y:.5377640999999995}],color:"primary",fill:!1},"path12-1-5-3":{type:"path",points:[{x:.2851204555,y:-.5376890000000012},{x:.2860204555000001,y:-.25303590000000065}],color:"primary",fill:!1},path15:{type:"path",points:[{x:.15155145550000038,y:-.2268796000000004},{x:.2242753555000001,y:-.12301900000000021},{x:.11557535549999942,y:-.12338900000000042},{x:.15155145550000038,y:-.2268796000000004}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.08351674449999891,y:.37335419999999897},bottom1:{type:"text",text:"{VAL}",x:-.0679100444999996,y:-.4129789000000006}},refblocks:{top1:{x:.28556045550000064,y:.5519250999999994},bottom1:{x:.285560455500002,y:-.5519250999999992},left1:{x:-.3990097444999998,y:-.004526300000000871}},bounds:{minX:-.4271681854999998,maxX:.4271681855000001,minY:-.5800835409999991,maxY:.5800835409999994,width:.8543363709999998,height:1.1601670819999985,centerX:13877787807814457e-32,centerY:11102230246251565e-32},circles:{"path1-0":{type:"circle",x:.13862605550000007,y:.003454799999999203,radius:.28854213,color:"primary",fill:!1}}},_Ke=fd(gKe).changeTextAnchor("{VAL}","middle_right").labelPort("left1",["3"]).labelPort("bottom1",["2"]).labelPort("top1",["1"]).changeTextAnchor("{REF}","middle_right").build(),Cxn=Pl(_Ke),Rxn=Cxn.primitives.filter(n=>n.type==="text"),Axn=Rxn.find(n=>n.text==="{REF}");Axn.anchor="middle_left";var Pxn=fd(gKe).rotateRightFacingSymbol("down").changeTextAnchor("{VAL}","middle_right").labelPort("left1",["3"]).labelPort("bottom1",["2"]).labelPort("top1",["1"]).changeTextAnchor("{REF}","middle_left").build(),Nxn={paths:{path40:{type:"path",points:[{x:-.19250837381256392,y:.32749349347032286},{x:-.25568957329611974,y:.13794979950157282}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.38205206778131373,y:.26431229398676837},{x:-.19250837381256392,y:.32749349347032286}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.2556895732961204,y:.13794979950157416},{x:-.38205206778131373,y:.26431229398676837}],color:"primary",fill:!1},path43:{type:"path",points:[{x:-.2556896210551609,y:.39067474071292196},{x:-.12932712656996737,y:.26431224622772653}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.3199237641156438,y:.2000781031672434},{x:-.5084145145074668,y:.011587352775420667}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:-.011560829633404435,y:.5083596562436202},{x:-.19004023433272543,y:.3298802515442989}],color:"primary",fill:!1},"path40-4":{type:"path",points:[{x:-.19250813152967883,y:-.3220463011874377},{x:-.38205182549842887,y:-.2588651017038819}],color:"primary",fill:!1},"path41-1":{type:"path",points:[{x:-.2556893310132333,y:-.13250260721868767},{x:-.19250813152967883,y:-.3220463011874377}],color:"primary",fill:!1},"path42-7":{type:"path",points:[{x:-.38205182549842753,y:-.258865101703881},{x:-.2556893310132333,y:-.13250260721868767}],color:"primary",fill:!1},"path43-1":{type:"path",points:[{x:-.12932688428707984,y:-.2588650539448407},{x:-.25568937877227516,y:-.38522754843003404}],color:"primary",fill:!1},"path44-8":{type:"path",points:[{x:-.3199235218327583,y:-.19463091088435758},{x:-.508414272224581,y:-.006140160492534852}],color:"primary",fill:!1},"path44-0-7":{type:"path",points:[{x:-.011641968756381349,y:-.5029938453665972},{x:-.1901213734557028,y:-.3245144406672762}],color:"primary",fill:!1},"path40-4-0":{type:"path",points:[{x:.322578868470321,y:.19315369881256328},{x:.13303517450157099,y:.2563348982961191}],color:"primary",fill:!1},"path41-1-2":{type:"path",points:[{x:.2593976689867663,y:.3826973927813131},{x:.322578868470321,y:.19315369881256328}],color:"primary",fill:!1},"path42-7-1":{type:"path",points:[{x:.13303517450157232,y:.2563348982961198},{x:.2593976689867663,y:.3826973927813131}],color:"primary",fill:!1},"path43-1-8":{type:"path",points:[{x:.38576011571292,y:.2563349460551603},{x:.2593976212277247,y:.12997245156996673}],color:"primary",fill:!1},"path44-8-7":{type:"path",points:[{x:.19516347816724133,y:.3205690891156432},{x:.006672727775418608,y:.509059839507466}],color:"primary",fill:!1},"path44-0-7-1":{type:"path",points:[{x:.5034450312436185,y:.012206154633403798},{x:.32496562654429706,y:.19068555933272457}],color:"primary",fill:!1},"path40-4-8":{type:"path",points:[{x:.3220220261874358,y:-.19326390652967795},{x:.25884082670387976,y:-.382807600498428}],color:"primary",fill:!1},"path41-1-4":{type:"path",points:[{x:.13247833221868577,y:-.25644510601323245},{x:.3220220261874358,y:-.19326390652967795}],color:"primary",fill:!1},"path42-7-0":{type:"path",points:[{x:.2588408267038793,y:-.38280760049842666},{x:.13247833221868577,y:-.25644510601323245}],color:"primary",fill:!1},"path43-1-0":{type:"path",points:[{x:.2588407789448386,y:-.13008265928707896},{x:.38520327343003213,y:-.2564451537722743}],color:"primary",fill:!1},"path44-8-9":{type:"path",points:[{x:.19460663588435567,y:-.3206792968327574},{x:.0061158854925329464,y:-.5091700472245801}],color:"primary",fill:!1},"path44-0-7-3":{type:"path",points:[{x:.5029695703665951,y:-.012397743756380697},{x:.3244901656672745,y:-.19087714845570192}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.2872803000000015,y:.4564494249999992},bottom1:{type:"text",text:"{VAL}",x:-.2872803000000015,y:-.4960514750000007}},refblocks:{left1:{x:-.5191472999999998,y:.0005123250000014234},right1:{x:.5191473000000002,y:-.0005123749999977889}},bounds:{width:1.094611482,height:1.0946118820000001,centerX:2220446049250313e-31,centerY:-5551115123125783e-32}},{paths:Dxn,texts:xKe,bounds:Yj,refblocks:bKe}=Nxn,SKe=Km({primitives:[...Object.values(Dxn),{...xKe.bottom1,y:.35,anchor:"middle_top"},{...xKe.top1,anchor:"middle_left"}],ports:[{...bKe.left1,labels:["1"]},{...bKe.right1,labels:["2"]}],size:{width:Yj.width+.05,height:Yj.height},center:{x:Yj.centerX,y:Yj.centerY}}),Lxn=Pl(SKe),Oxn=Lxn,zxn={paths:{path18:{type:"path",points:[{x:-.53224045,y:-.0008545000000008685},{x:-.26765715000000023,y:-.0008545000000008685}],color:"primary",fill:!1},path19:{type:"path",points:[{x:.2615098499999995,y:-.0008545000000008685},{x:.5260934499999994,y:-.0008545000000008685}],color:"primary",fill:!1},path20:{type:"path",points:[{x:-.0030722500000006647,y:.1314371999999988},{x:.2615107499999998,y:.1314371999999988},{x:.2615107499999998,y:-.13314619999999877},{x:-.26765624999999993,y:-.13314619999999877},{x:-.26765624999999993,y:.1314371999999988},{x:-.0030722499999988884,y:.1314371999999988}],color:"primary",fill:!1},path23:{type:"path",points:[{x:.2782993499999993,y:-.2822274},{x:.17598844999999885,y:-.25486950000000164},{x:.25094144999999823,y:-.1799165000000027}],color:"primary",fill:!0},path24:{type:"path",points:[{x:.2882692499999995,y:-.2921307000000013},{x:.25467554999999953,y:-.16634940000000142},{x:.16229264999999948,y:-.25853690000000284}],color:"primary",fill:!0},path26:{type:"path",points:[{x:-.2985911500000009,y:.2921307000000013},{x:.22988164999999938,y:-.2328032000000011}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:.055041669999999154,y:.2009376800000009},bottom1:{type:"text",text:"{VAL}",x:-.10019643000000089,y:-.27857531999999985}},refblocks:{left1:{x:-.5346914500000006,y:-.0013439000000019519},right1:{x:.5346914500000004,y:-.001956599999999753}},bounds:{width:1.125699782000001,height:.5842614000000026,centerX:-11102230246251565e-32,centerY:0}},{paths:Uxn,texts:wKe,bounds:Xj,refblocks:EKe}=zxn,TKe=Km({primitives:[...Object.values(Uxn),{...wKe.bottom1,anchor:"middle_top"},{...wKe.top1,anchor:"middle_bottom"}],ports:[{...EKe.left1,labels:["1"]},{...EKe.right1,labels:["2"]}],size:{width:Xj.width,height:Xj.height},center:{x:Xj.centerX,y:Xj.centerY}}),MKe=Pl(TKe),CKe=MKe.primitives.filter(n=>n.type==="text"),kxn=CKe.find(n=>n.text==="{VAL}");kxn.anchor="middle_right";var Ixn=CKe.find(n=>n.text==="{REF}");Ixn.anchor="middle_left";var Fxn=MKe,Bxn={paths:{path1:{type:"path",points:[{x:-.4,y:0},{x:-.3,y:0}],color:"primary",fill:!1},"path1-2-1":{type:"path",points:[{x:-.3,y:0},{x:-.25,y:.1},{x:-.15,y:-.1},{x:-.05,y:.1},{x:.05,y:-.1},{x:.15,y:.1},{x:.25,y:-.1},{x:.3,y:0}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.3,y:0},{x:.4,y:0}],color:"primary",fill:!1},path3:{type:"path",points:[{x:0,y:-.17},{x:0,y:-.4}],color:"primary",fill:!1},path15:{type:"path",points:[{x:0,y:-.12},{x:.05,y:-.2},{x:-.05,y:-.2},{x:0,y:-.12}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:.3,y:.25},bottom1:{type:"text",text:"{VAL}",x:.3,y:-.25}},refblocks:{left:{x:-.42,y:0},right:{x:.42,y:0},bottom:{x:0,y:-.4}},bounds:{minX:-.42,maxX:.42,minY:-.2,maxY:.2,width:.84,height:.4,centerX:0,centerY:0},circles:{}},Wj=fd(Bxn).labelPort("left",["1"]).labelPort("right",["3"]).labelPort("bottom",["2"]).changeTextAnchor("{REF}","middle_bottom").changeTextAnchor("{VAL}","middle_top").build(),jxn=Pl(Wj,"down"),Hxn=Pl(Wj,"left"),Vxn=Pl(Wj,"up"),$xn={paths:{path11:{type:"path",points:[{x:-.5274831500000005,y:.02812460000000061},{x:-.30105415000000013,y:.02812460000000061}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2932119499999999,y:.02812460000000061},{x:.5339524499999997,y:.02812460000000061}],color:"primary",fill:!1}},refblocks:{left1:{x:-.5413984499999998,y:.027271800000000068},right1:{x:.54139845,y:.028268199999999855}},bounds:{width:1.1391137819999997,height:.7903522000000003,centerX:11102230246251565e-32,centerY:11102230246251565e-32},circles:{path1:{type:"circle",x:-.0037626500000000895,y:.03525290000000014,radius:.28854213,color:"primary",fill:!1}}},{paths:Gxn,bounds:Zj,refblocks:RKe,circles:qxn}=$xn,AKe=Km({primitives:[...Object.values(Gxn),...Object.values(qxn),{type:"text",text:"{REF}",x:-.15,y:-.42330070000000064,anchor:"middle_top"},{type:"text",text:"{VAL}",x:-.15,y:.42330070000000064,anchor:"middle_bottom"},{type:"text",text:"COS φ",x:0,y:.014279000000000375,anchor:"center"}],ports:[{...RKe.left1,labels:["1"]},{...RKe.right1,labels:["2"]}],size:{width:Zj.width,height:Zj.height},center:{x:Zj.centerX,y:Zj.centerY}}),PKe=Pl(AKe),xpe=PKe.primitives.filter(n=>n.type==="text"),bpe=xpe.find(n=>n.text==="{REF}"),Spe=xpe.find(n=>n.text==="{VAL}"),wpe=xpe.find(n=>n.text==="COS φ");bpe.x=.35,bpe.y=0,bpe.anchor="middle_left",Spe.anchor="middle_right",Spe.x=-.35,Spe.y=0,wpe.x=0,wpe.y=0,wpe.anchor="center";var Yxn=PKe,Xxn={paths:{"path12-1-8-6-9-9":{type:"path",points:[{x:.013196749999999646,y:.030446500000000043},{x:.013196749999999646,y:-.0859464999999986}],color:"primary",fill:!1},"path12-1-5-6-4":{type:"path",points:[{x:-.4867871500000014,y:-.0510704999999998},{x:-.17248085000000124,y:-.0510704999999998}],color:"primary",fill:!1},"path12-1-8-0-0":{type:"path",points:[{x:-.15916995000000078,y:-.0915204999999979},{x:.1810634499999999,y:-.0915204999999979}],color:"primary",fill:!1},"path12-1-0-1":{type:"path",points:[{x:.19611864999999984,y:-.05109549999999885},{x:.48876354999999894,y:-.05109549999999885}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:.007320949999999549,y:.22461850000000005},bottom1:{type:"text",text:"{VAL}",x:-.1606897500000004,y:-.22461849999999828}},refblocks:{left1:{x:-.47241845000000104,y:-.05104349999999869},right1:{x:.47241845000000016,y:-.051482499999998765}},bounds:{width:1.0011537820000012,height:.44923699999999833,centerX:-4440892098500626e-31,centerY:8881784197001252e-31},circles:{"circle-2":{type:"circle",x:-.14387115000000072,y:-.05130149999999922,radius:.023193523,color:"primary",fill:!1},circle:{type:"circle",x:.16803074999999978,y:-.05007949999999717,radius:.023193523,color:"primary",fill:!1}}},{paths:Wxn,texts:NKe,bounds:Qj,refblocks:DKe,circles:Zxn}=Xxn,LKe=Km({primitives:[...Object.values(Wxn),...Object.values(Zxn),{...NKe.top1,anchor:"middle_left"},{...NKe.bottom1,anchor:"middle_left"}],ports:[{...DKe.left1,labels:["1"]},{...DKe.right1,labels:["2"]}],size:{width:Qj.width,height:Qj.height},center:{x:Qj.centerX,y:Qj.centerY}}),Qxn=Pl(LKe,"up"),Kxn={paths:{"path12-1-8-6-9-9":{type:"path",points:[{x:-.04575882,y:.08981650000000013},{x:-.04575882,y:.039523500000001495}],color:"primary",fill:!1},"path12-1-8-7-9-9":{type:"path",points:[{x:-.04575882,y:.08981650000000013},{x:.06765231,y:.08981650000000013}],color:"primary",fill:!1},"path12-1-8-6-9-10":{type:"path",points:[{x:.06765231,y:.08981650000000013},{x:.06765231,y:.039523500000001495}],color:"primary",fill:!1},"path12-1-5-6-4":{type:"path",points:[{x:-.4867871500000014,y:-.0510704999999998},{x:-.17248085000000124,y:-.0510704999999998}],color:"primary",fill:!1},"path12-1-8-0-0":{type:"path",points:[{x:-.15916995000000078,y:.03984950000000042},{x:.1810634499999999,y:.03984950000000042}],color:"primary",fill:!1},"path12-1-0-1":{type:"path",points:[{x:.19611864999999984,y:-.05109549999999885},{x:.48876354999999894,y:-.05109549999999885}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:.007320949999999549,y:.29461850000000006},bottom1:{type:"text",text:"{VAL}",x:-.1606897500000004,y:-.22461849999999828}},refblocks:{left1:{x:-.47241845000000104,y:-.05104349999999869},right1:{x:.47241845000000016,y:-.051482499999998765}},bounds:{width:1.0011537820000012,height:.44923699999999833,centerX:-4440892098500626e-31,centerY:8881784197001252e-31},circles:{"circle-2":{type:"circle",x:-.14387115000000072,y:-.05130149999999922,radius:.023193523,color:"primary",fill:!1},circle:{type:"circle",x:.16803074999999978,y:-.05007949999999717,radius:.023193523,color:"primary",fill:!1}}},{paths:Jxn,texts:OKe,bounds:Kj,refblocks:zKe,circles:e2n}=Kxn,UKe=Km({primitives:[...Object.values(Jxn),...Object.values(e2n),{...OKe.top1,anchor:"middle_left"},{...OKe.bottom1,anchor:"middle_left"}],ports:[{...zKe.left1,labels:["1"]},{...zKe.right1,labels:["2"]}],size:{width:Kj.width,height:Kj.height},center:{x:Kj.centerX,y:Kj.centerY}}),t2n=Pl(UKe,"up"),n2n={paths:{path40:{type:"path",points:[{x:-.19250837381256392,y:-.32749349347032286},{x:-.25568957329611974,y:-.13794979950157282}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.38205206778131373,y:-.26431229398676837},{x:-.19250837381256392,y:-.32749349347032286}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.2556895732961204,y:-.13794979950157416},{x:-.38205206778131373,y:-.26431229398676837}],color:"primary",fill:!1},path43:{type:"path",points:[{x:-.2556896210551609,y:-.39067474071292196},{x:-.12932712656996737,y:-.26431224622772653}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.3199237641156438,y:-.2000781031672434},{x:-.5084145145074668,y:-.011587352775420667}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:-.011560829633404435,y:-.5083596562436202},{x:-.19004023433272543,y:-.3298802515442989}],color:"primary",fill:!1},"path40-4":{type:"path",points:[{x:-.19250813152967883,y:.3220463011874377},{x:-.38205182549842887,y:.2588651017038819}],color:"primary",fill:!1},"path41-1":{type:"path",points:[{x:-.2556893310132333,y:.13250260721868767},{x:-.19250813152967883,y:.3220463011874377}],color:"primary",fill:!1},"path42-7":{type:"path",points:[{x:-.38205182549842753,y:.258865101703881},{x:-.2556893310132333,y:.13250260721868767}],color:"primary",fill:!1},"path43-1":{type:"path",points:[{x:-.12932688428707984,y:.2588650539448407},{x:-.25568937877227516,y:.38522754843003404}],color:"primary",fill:!1},"path44-8":{type:"path",points:[{x:-.3199235218327583,y:.19463091088435758},{x:-.508414272224581,y:.006140160492534852}],color:"primary",fill:!1},"path44-0-7":{type:"path",points:[{x:-.011641968756381349,y:.5029938453665972},{x:-.1901213734557028,y:.3245144406672762}],color:"primary",fill:!1},"path40-4-0":{type:"path",points:[{x:.322578868470321,y:-.19315369881256328},{x:.13303517450157099,y:-.2563348982961191}],color:"primary",fill:!1},"path41-1-2":{type:"path",points:[{x:.2593976689867663,y:-.3826973927813131},{x:.322578868470321,y:-.19315369881256328}],color:"primary",fill:!1},"path42-7-1":{type:"path",points:[{x:.13303517450157232,y:-.2563348982961198},{x:.2593976689867663,y:-.3826973927813131}],color:"primary",fill:!1},"path43-1-8":{type:"path",points:[{x:.38576011571292,y:-.2563349460551603},{x:.2593976212277247,y:-.12997245156996673}],color:"primary",fill:!1},"path44-8-7":{type:"path",points:[{x:.19516347816724133,y:-.3205690891156432},{x:.006672727775418608,y:-.509059839507466}],color:"primary",fill:!1},"path44-0-7-1":{type:"path",points:[{x:.5034450312436185,y:-.012206154633403798},{x:.32496562654429706,y:-.19068555933272457}],color:"primary",fill:!1},"path40-4-8":{type:"path",points:[{x:.3220220261874358,y:.19326390652967795},{x:.25884082670387976,y:.382807600498428}],color:"primary",fill:!1},"path41-1-4":{type:"path",points:[{x:.13247833221868577,y:.25644510601323245},{x:.3220220261874358,y:.19326390652967795}],color:"primary",fill:!1},"path42-7-0":{type:"path",points:[{x:.2588408267038793,y:.38280760049842666},{x:.13247833221868577,y:.25644510601323245}],color:"primary",fill:!1},"path43-1-0":{type:"path",points:[{x:.2588407789448386,y:.13008265928707896},{x:.38520327343003213,y:.2564451537722743}],color:"primary",fill:!1},"path44-8-9":{type:"path",points:[{x:.19460663588435567,y:.3206792968327574},{x:.0061158854925329464,y:.5091700472245801}],color:"primary",fill:!1},"path44-0-7-3":{type:"path",points:[{x:.5029695703665951,y:.012397743756380697},{x:.3244901656672745,y:.19087714845570192}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.2872803000000015,y:-.4564494249999992},bottom1:{type:"text",text:"{VAL}",x:-.2872803000000015,y:.4960514750000007}},refblocks:{top1:{x:.0005126999999993664,y:-.5191475},bottom1:{x:-.0005123000000009093,y:.5191475000000001},left1:{x:-.5191472999999998,y:-.0005123250000014234},right1:{x:.5191473000000002,y:.0005123749999977889}},bounds:{width:1.094611482,height:1.1037553659999992,centerX:2220446049250313e-31,centerY:-.004571741999999546},circles:{}},{paths:r2n,texts:kKe,bounds:Jj,refblocks:eH,circles:i2n}=n2n,IKe=Km({primitives:[...Object.values(r2n),...Object.values(i2n),{...kKe.top1,anchor:"middle_right"},{...kKe.bottom1,anchor:"middle_right"}],ports:[{...eH.top1,labels:["1"]},{...eH.bottom1,labels:["2"]},{...eH.left1,labels:["3"]},{...eH.right1,labels:["4"]}],size:{width:Jj.width,height:Jj.height},center:{x:Jj.centerX,y:Jj.centerY}}),Epe=Pl(IKe),a2n=Epe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),o2n=Epe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");a2n.anchor="middle_left",o2n.anchor="middle_right";var s2n=Epe,l2n={paths:{path27:{type:"path",points:[{x:.7635944500000007,y:-.2799544500000035},{x:.3138028500000005,y:-.2799544500000035}],color:"primary",fill:!1},path28:{type:"path",points:[{x:-.301017949999999,y:-.01524775000000389},{x:-.7508096499999994,y:-.01524775000000389}],color:"primary",fill:!1},path30:{type:"path",points:[{x:-.3010179499999994,y:.3480486499999973},{x:-.301017949999999,y:-.2798310500000021}],color:"primary",fill:!1},"path27-3":{type:"path",points:[{x:.7729788499999999,y:.3512451499999969},{x:.32318725000000015,y:.3512451499999969}],color:"primary",fill:!1},"path29-5":{type:"path",points:[{x:-.07279374999999932,y:-.27981925000000274},{x:-.2983350499999995,y:-.27981925000000274}],color:"primary",fill:!1},"path29-5-7":{type:"path",points:[{x:.33114835000000076,y:-.2798404500000018},{x:.10560705000000059,y:-.2798404500000018}],color:"primary",fill:!1},"path29-5-7-6":{type:"path",points:[{x:-.055820049999999455,y:-.1676584500000029},{x:-.055820049999999455,y:-.3931997500000026}],color:"primary",fill:!1},"path29-5-7-6-6":{type:"path",points:[{x:.09396265000000081,y:-.16768285000000382},{x:.09396265000000081,y:-.39322415000000355}],color:"primary",fill:!1},"path29-5-9":{type:"path",points:[{x:-.07296184999999955,y:.3513701499999957},{x:-.2985031499999997,y:.3513701499999957}],color:"primary",fill:!1},"path29-5-7-2":{type:"path",points:[{x:.33098025000000053,y:.35134894999999844},{x:.10543895000000036,y:.35134894999999844}],color:"primary",fill:!1},"path29-5-7-6-0":{type:"path",points:[{x:-.05598814999999968,y:.46353094999999733},{x:-.05598814999999968,y:.23798964999999583}],color:"primary",fill:!1},"path29-5-7-6-6-2":{type:"path",points:[{x:.09379455000000014,y:.4635065499999982},{x:.09379455000000014,y:.23796524999999846}],color:"primary",fill:!1},"path29-5-92":{type:"path",points:[{x:.3315317500000008,y:.12563884999999786},{x:.33153175000000035,y:.3511801499999976}],color:"primary",fill:!1},"path29-5-7-28":{type:"path",points:[{x:.3315105500000004,y:-.2783032500000022},{x:.3315105500000004,y:-.0527619500000025}],color:"primary",fill:!1},"path29-5-7-6-9":{type:"path",points:[{x:.44369255000000063,y:.10866514999999843},{x:.21815125000000046,y:.10866514999999843}],color:"primary",fill:!1},"path29-5-7-6-6-7":{type:"path",points:[{x:.4436681500000006,y:-.04111755000000272},{x:.21812685000000043,y:-.04111755000000272}],color:"primary",fill:!1},"path29-5-7-6-9-2":{type:"path",points:[{x:.44235445000000073,y:.07167004999999627},{x:.21681315000000057,y:.07167004999999627}],color:"primary",fill:!1},"path29-5-7-6-9-2-4":{type:"path",points:[{x:.4429695500000004,y:-.0025598500000008073},{x:.4430214500000007,y:.07134914999999609}],color:"primary",fill:!1},"path29-5-7-6-9-2-4-6":{type:"path",points:[{x:.21634305000000031,y:-.0035468500000046532},{x:.21639495000000064,y:.07036214999999935}],color:"primary",fill:!1},"path29-5-7-6-9-2-9":{type:"path",points:[{x:.4429537500000005,y:-.004130850000002795},{x:.21741245000000076,y:-.004130850000002795}],color:"primary",fill:!1}},refblocks:{left1:{x:-.7666234499999998,y:-.01615045000000137},right1:{x:.7572390499999999,y:-.28185235000000297},right2:{x:.7666234500000004,y:.3493472499999992}},bounds:{width:1.5895637820000001,height:1.0717002999999998,centerX:33306690738754696e-32,centerY:-17763568394002505e-31},circles:{}},{paths:c2n,bounds:tH,refblocks:Tpe,circles:u2n}=l2n,FKe=Km({primitives:[...Object.values(c2n),...Object.values(u2n),{type:"text",text:"{REF}",x:.01596175000000022,y:-.5308501500000009,anchor:"middle_top"},{type:"text",text:"{VAL}",x:.013116750000000454,y:.5408501499999989,anchor:"middle_bottom"}],ports:[{...Tpe.left1,labels:["1"]},{...Tpe.right1,labels:["2"]},{...Tpe.right2,labels:["3"]}],size:{width:tH.width,height:tH.height},center:{x:tH.centerX,y:tH.centerY}}),f2n=Pl(FKe),d2n={paths:{path40:{type:"path",points:[{x:.14458930000000048,y:.04403649999999937},{x:-.11999399999999905,y:-.0882552000000012}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.11999400000000038,y:.1763281999999997},{x:.14458929999999914,y:.04403649999999937}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.11999400000000038,y:-.0882552000000012},{x:-.11999400000000038,y:.17632819999999816}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.1435300000000006,y:.17844679999999968},{x:.14458899999999986,y:-.08825519999999965}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219870000000044,y:.04403649999999937},{x:-.5168690000000005,y:.04403649999999937}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233800999999991,y:.043951299999999804},{x:.14967199999999892,y:.043951299999999804}],color:"primary",fill:!1},"path43-7":{type:"path",points:[{x:.2075533999999999,y:.17973149999999904},{x:.14341080000000028,y:.17864949999999946}],color:"primary",fill:!1},"path43-7-9":{type:"path",points:[{x:.2093444999999996,y:.1301679},{x:.20797049999999984,y:.17950350000000048}],color:"primary",fill:!1},"path43-7-2":{type:"path",points:[{x:.07978989999999953,y:-.09023340000000024},{x:.14313979999999948,y:-.09001340000000013}],color:"primary",fill:!1},"path43-7-9-3":{type:"path",points:[{x:.07764390000000043,y:-.04104850000000004},{x:.0790179000000002,y:-.09038410000000074}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999994495,y:.27384530000000007},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.27384530000000007}},refblocks:{left1:{x:-.5191471,y:.044920799999999206},right1:{x:.5191470999999999,y:.04389609999999999}},bounds:{minX:-.547305541,maxX:.5473055409999998,minY:-.27384530000000007,maxY:.27384530000000007,width:1.0946110819999997,height:.5476906000000001,centerX:-5551115123125783e-32,centerY:0},circles:{}},BKe=fd(d2n).labelPort("left1",["1","pos"]).labelPort("right1",["2","neg"]).changeTextAnchor("{VAL}","middle_top").changeTextAnchor("{REF}","middle_bottom").build(),Mpe=Pl(BKe),p2n=Mpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),h2n=Mpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");p2n.anchor="middle_left",h2n.anchor="middle_right";var m2n=Mpe,jKe={paths:{path11:{type:"path",points:[{x:-.49895505000000084,y:.04174485000000061},{x:-.177441850000001,y:.04174485000000061}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.18704774999999918,y:.04961415000000069},{x:.5063384499999999,y:.04961415000000069}],color:"primary",fill:!1},"path12-6":{type:"path",points:[{x:.18219425000000045,y:-.15200134999999904},{x:.1810882500000004,y:.2512156500000011}],color:"primary",fill:!1},"path12-2":{type:"path",points:[{x:.18646324999999986,y:.0047866500000004475},{x:.34602244999999954,y:-.13539324999999924}],color:"primary",fill:!1},"path12-2-9":{type:"path",points:[{x:.3463884499999992,y:-.14077354999999936},{x:.3447284499999994,y:-.3343437499999993}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.17016305000000087,y:.2706752500000007},{x:-.17223005000000047,y:-.15200864999999908},{x:.180362149999999,y:.04760855000000097},{x:-.16624855000000038,y:.27180665000000137}],color:"primary",fill:!0}},texts:{top1:{type:"text",text:"{REF}",x:-.22312565000000006,y:.38273545},bottom1:{type:"text",text:"{VAL}",x:.11142554999999987,y:-.38273544999999976}},refblocks:{bottom1:{x:.3445824499999999,y:-.34953845000000006},left1:{x:-.5177904499999998,y:.04089205000000007},right1:{x:.5177904499999997,y:.049757749999999934}},bounds:{minX:-.5459488909999998,maxX:.5459488909999997,minY:-.38273544999999976,maxY:.38273545,width:1.0918977819999993,height:.7654708999999997,centerX:-5551115123125783e-32,centerY:11102230246251565e-32},circles:{}},{paths:WOn,texts:ZOn,bounds:QOn,refblocks:KOn,circles:JOn}=jKe,HKe=fd(jKe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).labelPort("bottom1",["3"]).changeTextAnchor("{REF}","middle_bottom").build(),VKe=Pl(HKe),y2n=VKe.primitives.filter(n=>n.type==="text"),$Ke=y2n.find(n=>n.text==="{REF}");$Ke.y=0,$Ke.anchor="middle_left";var v2n=VKe,g2n={paths:{path1:{type:"path",points:[{x:-.3543583500000005,y:.03204385000000087},{x:-.12792935000000005,y:.03204385000000087}],color:"primary",fill:!1},"path-1-3":{type:"path",points:[{x:-.0733669500000003,y:.0261987500000005},{x:.10908324999999996,y:-.029100155000000048}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.1043477500000003,y:-.0645130499999993},{x:.34508875000000017,y:-.0645130499999993}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.12008575000000055,y:.17214665000000062},{x:.3608267500000004,y:.17214665000000062}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.3716265000000006},bottom1:{type:"text",text:"{VAL}",x:0,y:-.3716264999999984}},refblocks:{left1:{x:-.3682737499999995,y:.03204385000000021},right1:{x:.3682737499999995,y:-.06451304999999996},right2:{x:.3682737499999995,y:.17214665000000062}},bounds:{minX:-.3964321909999995,maxX:.3964321909999995,minY:-.39716264999999984,maxY:.39716265000000006,width:.792864381999999,height:.7943252999999999,centerX:0,centerY:11102230246251565e-32},circles:{"circle-3":{type:"circle",x:.08200307499999998,y:-.06518,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.09900307499999998,y:.02848,radius:.023193523,color:"primary",fill:!1},"circle-2":{type:"circle",x:.08200307499999998,y:.172848,radius:.023193523,color:"primary",fill:!1}}},nH=fd(g2n).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right2",["2"]).labelPort("right1",["3"]).changeTextAnchor("{REF}","middle_bottom").build(),Cpe=Pl(nH,"down"),Rpe=Cpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Ape=Cpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Rpe.anchor="middle_bottom",Ape.anchor="middle_top",Rpe.x=.44,Rpe.y+=.28,Ape.y-=.28,Ape.x=.44;var _2n=Cpe,Ppe=Pl(nH,"left"),Npe=Ppe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Dpe=Ppe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Npe.anchor="middle_bottom",Dpe.anchor="middle_top",Npe.x=0,Npe.y+=.625,Dpe.y-=.695,Dpe.x=0;var x2n=Ppe,Lpe=Pl(nH,"up"),Ope=Lpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),zpe=Lpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Ope.anchor="middle_bottom",zpe.anchor="middle_top",Ope.x=.4,Ope.y+=.28,zpe.y-=.28,zpe.x=.4;var b2n=Lpe,GKe={paths:{path1:{type:"path",points:[{x:-.3543583500000005,y:.03204385000000087},{x:-.12792935000000005,y:.03204385000000087}],color:"primary",fill:!1},"path-1-3":{type:"path",points:[{x:-.1133669500000003,y:.0321987500000005},{x:.11208324999999997,y:.14600155000000048}],color:"primary",fill:!1},path2:{type:"path",points:[{x:.1043477500000003,y:-.0645130499999993},{x:.34508875000000017,y:-.0645130499999993}],color:"primary",fill:!1},path3:{type:"path",points:[{x:.12008575000000055,y:.17214665000000062},{x:.3608267500000004,y:.17214665000000062}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.17853294999999947,y:.39716265000000006},bottom1:{type:"text",text:"{VAL}",x:-.011861250000000378,y:-.39716264999999984}},refblocks:{left1:{x:-.3682737499999995,y:.03204385000000021},right1:{x:.3682737499999995,y:-.06451304999999996},right2:{x:.3682737499999995,y:.17214665000000062}},bounds:{width:.792864381999999,height:.7943252999999999,centerX:0,centerY:11102230246251565e-32},circles:{}};GKe.bounds.width+=.2;var{paths:S2n,texts:qKe,bounds:rH,refblocks:Upe,circles:w2n}=GKe,YKe=Km({primitives:[...Object.values(S2n),...Object.values(w2n),{...qKe.top1,anchor:"middle_bottom",x:-.01},{...qKe.bottom1,anchor:"middle_top",x:-.01}],ports:[{...Upe.left1,labels:["1"]},{...Upe.right1,labels:["3"]},{...Upe.right2,labels:["2"]}],size:{width:rH.width,height:rH.height},center:{x:rH.centerX,y:rH.centerY}}),XKe=Pl(YKe),WKe=XKe.primitives.filter(n=>n.type==="text"),kpe=WKe.find(n=>n.text==="{VAL}");kpe.anchor="middle_right",kpe.x=-.3,kpe.y=0;var Ipe=WKe.find(n=>n.text==="{REF}");Ipe.anchor="middle_left",Ipe.x=.3,Ipe.y=0;var E2n=XKe,iH={paths:{path11:{type:"path",points:[{x:-.3622273500000006,y:-.0018583499999986763},{x:-.13579835000000018,y:-.0018583499999986763}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.07410005000000046,y:-.0003888499999992217},{x:.11030783499999999,y:.04830055000000119}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.12795584999999932,y:-.0018583499999986763},{x:.3686967499999996,y:-.0018583499999986763}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:0,y:.31026835},bottom1:{type:"text",text:"{VAL}",x:0,y:-.28026835000000005}},refblocks:{left1:{x:-.12356015000000009,y:-.006648049999999239},left2:{x:-.37614274999999964,y:-.002711249999999721},right1:{x:.11531695000000042,y:-.006648049999999239},right2:{x:.37614274999999964,y:-.0017148499999992683}},bounds:{minX:-.4043011909999996,maxX:.4043011909999996,minY:-.25026835000000003,maxY:.25026835000000003,width:.8086023819999992,height:.5005367000000001,centerX:0,centerY:0},circles:{"circle-2":{type:"circle",x:.09900307499999998,y:.00148,radius:.023193523,color:"primary",fill:!1},"circle-1":{type:"circle",x:-.09900307499999998,y:.00148,radius:.023193523,color:"primary",fill:!1}}};delete iH.refblocks.left1,delete iH.refblocks.right1,iH.bounds.width+=.2;var aH=fd(iH).changeTextAnchor("{VAL}","middle_top").labelPort("left2",["1"]).labelPort("right2",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),Fpe=Pl(aH,"down"),Bpe=Fpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),jpe=Fpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Bpe.anchor="middle_bottom",jpe.anchor="middle_top",Bpe.x=.3,Bpe.y+=.265,jpe.y-=.265,jpe.x=.3;var T2n=Fpe,Hpe=Pl(aH,"left"),Vpe=Hpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),$pe=Hpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");Vpe.anchor="middle_bottom",$pe.anchor="middle_top",Vpe.x=0,Vpe.y+=.57,$pe.y-=.57,$pe.x=0;var M2n=Hpe,Gpe=Pl(aH,"up"),qpe=Gpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),Ype=Gpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");qpe.anchor="middle_bottom",Ype.anchor="middle_top",qpe.x=.3,qpe.y+=.265,Ype.y-=.265,Ype.x=.3;var C2n=Gpe,oH={paths:{path11:{type:"path",points:[{x:-.3622273500000006,y:-.0018583499999986763},{x:-.13579835000000018,y:-.0018583499999986763}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.12010005000000046,y:-.0033888499999992217},{x:.10307834999999987,y:.13630055000000119}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.12795584999999932,y:-.0018583499999986763},{x:.3686967499999996,y:-.0018583499999986763}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.03688484999999986,y:.25026835000000003},bottom1:{type:"text",text:"{VAL}",x:-.02235315000000071,y:-.25026835000000003}},refblocks:{left1:{x:-.12356015000000009,y:-.006648049999999239},left2:{x:-.37614274999999964,y:-.002711249999999721},right1:{x:.11531695000000042,y:-.006648049999999239},right2:{x:.37614274999999964,y:-.0017148499999992683}},bounds:{minX:-.4043011909999996,maxX:.4043011909999996,minY:-.25026835000000003,maxY:.25026835000000003,width:.8086023819999992,height:.5005367000000001,centerX:0,centerY:0},circles:{}};delete oH.refblocks.left1,delete oH.refblocks.right1,oH.bounds.width+=.2;var ZKe=fd(oH).changeTextAnchor("{VAL}","middle_top").labelPort("left2",["1"]).labelPort("right2",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),QKe=Pl(ZKe),KKe=QKe.primitives.filter(n=>n.type==="text"),Xpe=KKe.find(n=>n.text==="{VAL}");Xpe.anchor="middle_right",Xpe.x=-.3,Xpe.y=0;var Wpe=KKe.find(n=>n.text==="{REF}");Wpe.anchor="middle_left",Wpe.x=.3,Wpe.y=0;var R2n=QKe,JKe={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.04403629999999836},{x:-.1199943999999995,y:-.08825540000000132}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1199943999999995,y:.1763280000000016},{x:.14458890000000002,y:.04403629999999836}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1199943999999995,y:-.08825539999999776},{x:-.1199943999999995,y:.1763280000000016}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.14458890000000002,y:.1763280000000016},{x:.14458890000000002,y:-.08825539999999776}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219909999999956,y:.04403629999999836},{x:-.5168693999999996,y:.04403629999999836}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233797,y:.04395110000000102},{x:.14967160000000002,y:.04395110000000102}],color:"primary",fill:!1},"path43-5":{type:"path",points:[{x:.19156529999999972,y:-.0884020999999997},{x:.14591529999999908,y:-.08876210000000029}],color:"primary",fill:!1},"path43-5-2":{type:"path",points:[{x:.19233440000000046,y:-.1355493999999986},{x:.19197439999999988,y:-.08989940000000018}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.27384529999999785},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999999524,y:-.2738453000000014}},refblocks:{left1:{x:-.5191471000000001,y:.0449206999999987},right1:{x:.5191471000000001,y:.043896100000001326}},bounds:{minX:-.5473055410000001,maxX:.5473055410000001,minY:-.2738453000000014,maxY:.27384529999999785,width:1.0946110820000001,height:.5476905999999993,centerX:0,centerY:-17763568394002505e-31},circles:{}},{paths:ezn,texts:tzn,bounds:nzn,refblocks:rzn,circles:izn}=JKe,eJe=fd(JKe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),A2n=Pl(eJe),P2n={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"RPM",x:0,y:-.025}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:N2n,texts:D2n,bounds:sH,refblocks:tJe,circles:L2n}=P2n,Zpe=Km({primitives:[...Object.values(N2n),...Object.values(L2n),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...D2n.left1,y:.01,anchor:"center",fontSize:.2}],ports:[{...tJe.left1,labels:["1"]},{...tJe.right1,labels:["2"]}],size:{width:sH.width,height:sH.height},center:{x:sH.centerX,y:sH.centerY}}),{5:O2n,...z2n}=Zpe.primitives;function U2n(n){return typeof n=="object"}var nJe=Pl({...Zpe,primitives:Object.values(z2n).filter(U2n)}),k2n={...nJe,primitives:[...nJe.primitives,O2n]},rJe={paths:{path11:{type:"path",points:[{x:-.5176700499999997,y:.041745050000000505},{x:-.10888805000000024,y:.041745050000000505}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.1031184499999993,y:.041745050000000505},{x:.5246894499999994,y:.041745050000000505}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.09343985000000021,y:-.14620634999999882},{x:-.0930998500000002,y:.2583405500000009}],color:"primary",fill:!1},"path11-0-3":{type:"path",points:[{x:.08519034999999908,y:-.14503384999999902},{x:.08553034999999909,y:.2595130500000007}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.08315755000000014,y:.055934450000000524},{x:-.08415755000000047,y:-.14678124999999964},{x:.08653524999999984,y:-.05104664999999953},{x:-.08126175000000035,y:.05647715000000031}],color:"primary",fill:!0},"path11-0-9-0":{type:"path",points:[{x:.07661224999999927,y:.256654450000001},{x:.07761224999999983,y:.05393885000000109},{x:-.0930805500000007,y:.1496734500000012},{x:.07471644999999949,y:.25719715000000143}],color:"primary",fill:!0},"path12-2":{type:"path",points:[{x:.09001085000000009,y:-.05964874999999914},{x:.2707999499999998,y:-.1711147499999992}],color:"primary",fill:!1},"path12-2-9":{type:"path",points:[{x:.27291134999999955,y:-.17591894999999935},{x:.27124034999999935,y:-.30168314999999923}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:.0077081499999991365,y:.41683614999999996},bottom1:{type:"text",text:"{VAL}",x:-.03022294999999975,y:-.41683614999999996}},refblocks:{bottom1:{x:.27223905000000026,y:-.3087962499999999},left1:{x:-.54139845,y:.04089205000000051},right1:{x:.5413984499999995,y:.04188845000000008}},bounds:{minX:-.569556891,maxX:.5695568909999995,minY:-.41683614999999996,maxY:.41683614999999996,width:1.1391137819999995,height:.8336722999999999,centerX:-2220446049250313e-31,centerY:0},circles:{path1:{type:"circle",x:-.0037626500000003116,y:.048873150000000365,radius:.28854213,color:"primary",fill:!1}}},{paths:azn,texts:ozn,bounds:szn,refblocks:lzn,circles:czn}=rJe,iJe=fd(rJe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).labelPort("bottom1",["3"]).changeTextAnchor("{REF}","middle_bottom").build(),aJe=Pl(iJe),oJe=aJe.primitives.filter(n=>n.type==="text"),I2n=oJe.find(n=>n.text==="{REF}"),F2n=oJe.find(n=>n.text==="{VAL}");I2n.y=0,F2n.y=0;var B2n=aJe,j2n={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.04403629999999992},{x:-.1199943999999995,y:-.08825540000000043}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1199943999999995,y:.17632800000000026},{x:.14458890000000002,y:.04403629999999992}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1199943999999995,y:-.0882553999999991},{x:-.1199943999999995,y:.17632800000000026}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.14458890000000002,y:.17632800000000026},{x:.14458890000000002,y:-.0882553999999991}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219909999999956,y:.04403629999999992},{x:-.5168693999999996,y:.04403629999999992}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233797000000002,y:.043951100000000354},{x:.1496715999999998,y:.043951100000000354}],color:"primary",fill:!1},"path43-8":{type:"path",points:[{x:.14339119999999994,y:.17681090000000044},{x:.07728679999999954,y:.17632089999999967}],color:"primary",fill:!1},"path43-8-8":{type:"path",points:[{x:.1446069000000001,y:-.08908179999999888},{x:.0785024999999997,y:-.08957179999999942}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.27384530000000007},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.27384529999999985}},refblocks:{left1:{x:-.5191471000000001,y:.044920700000000924},right1:{x:.5191470999999999,y:.04389609999999999}},bounds:{width:1.094611082,height:.5476905999999999,centerX:-11102230246251565e-32,centerY:11102230246251565e-32},circles:{}},{paths:H2n,texts:sJe,bounds:lH,refblocks:lJe,circles:V2n}=j2n,cJe=Km({primitives:[...Object.values(H2n),...Object.values(V2n),{...sJe.top1,anchor:"middle_bottom"},{...sJe.bottom1,anchor:"middle_top"}],ports:[{...lJe.left1,labels:["1"]},{...lJe.right1,labels:["2"]}],size:{width:lH.width,height:lH.height},center:{x:lH.centerX,y:lH.centerY}}),Qpe=Pl(cJe),$2n=Qpe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),G2n=Qpe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");$2n.anchor="middle_left",G2n.anchor="middle_right";var q2n=Qpe,Y2n={paths:{path11:{type:"path",points:[{x:-.3274461945,y:.20527883627037657},{x:-.021085194500000348,y:.007570136270376837}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2331163055000003,y:.1251673362703769},{x:.2320633055000001,y:.3759855362703768}],color:"primary",fill:!1},"path12-2":{type:"path",points:[{x:.23221610549999938,y:-.0818845637296235},{x:.2311631054999992,y:-.33270276372962315}],color:"primary",fill:!1},"path11-0":{type:"path",points:[{x:-.013263894499999873,y:-.1792007637296229},{x:-.012923894499999866,y:.2253461362703768}],color:"primary",fill:!1},"path11-0-3":{type:"path",points:[{x:.23222970550000066,y:.12047013627037662},{x:-.011307094499999115,y:.11996013627037683}],color:"primary",fill:!1},"path11-0-9":{type:"path",points:[{x:-.1124341944999998,y:.131359936270377},{x:-.16993279449999954,y:.039004036270377185},{x:-.05822649449999928,y:.03212003627037707},{x:-.11133889449999979,y:.13104553627037707}],color:"primary",fill:!0},"path11-0-3-8":{type:"path",points:[{x:.23230320549999983,y:-.08329316372962325},{x:-.011233594499999944,y:-.07900616372962332}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.19541139450000045,y:.389088136270376},bottom1:{type:"text",text:"{VAL}",x:-.031363394499999364,y:-.42359956372962415}},refblocks:{top1:{x:.2317438004035266,y:.3954411227296242},bottom1:{x:.2308431668082036,y:-.35215823360635445},left1:{x:-.34055979449999985,y:.21512343627037622}},bounds:{width:.7374364709999996,height:.8471991274592483,centerX:27755575615628914e-33,centerY:0},circles:{path1:{type:"circle",x:.08017610549999987,y:.006746336270376352,radius:.28854213,color:"primary",fill:!1}}},{paths:X2n,texts:uJe,bounds:cH,refblocks:Kpe,circles:W2n}=Y2n,fJe=Km({primitives:[...Object.values(X2n),...Object.values(W2n),{...uJe.top1,anchor:"middle_left"},{...uJe.bottom1,anchor:"middle_right"}],ports:[{...Kpe.top1,labels:["1"]},{...Kpe.bottom1,labels:["2"]},{...Kpe.left1,labels:["3"]}],size:{width:cH.width,height:cH.height},center:{x:cH.centerX,y:cH.centerY}}),dJe=Pl(fJe),pJe=dJe.primitives.filter(n=>n.type==="text"),Z2n=pJe.find(n=>n.text==="{REF}");Z2n.y=.1;var hJe=pJe.find(n=>n.text==="{VAL}");hJe.y=.1,hJe.x=-.4;var Q2n=dJe,K2n={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.17652089999999898,y:-.36197569999999946},bottom1:{type:"text",text:"{VAL}",x:-.009849199999999891,y:.43234960000000044},left1:{type:"text",text:"Var",x:-.19436529999999896,y:.07249430000000023}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:J2n,texts:Jpe,bounds:uH,refblocks:mJe,circles:e5n}=K2n,yJe=Km({primitives:[...Object.values(J2n),...Object.values(e5n),{...Jpe.top1,x:0,y:-.3594553499999995,anchor:"middle_top"},{...Jpe.bottom1,x:0,y:.35,anchor:"middle_bottom"},{...Jpe.left1,x:-.02,y:.01,fontSize:.2,anchor:"center"}],ports:[{...mJe.left1,labels:["1"]},{...mJe.right1,labels:["2"]}],size:{width:uH.width,height:uH.height},center:{x:uH.centerX,y:uH.centerY}}),t5n=Pl(yJe),n5n={paths:{path40:{type:"path",points:[{x:.08342510000000014,y:.04403649999999937},{x:-.18115819999999938,y:-.0882552000000012}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1811582000000007,y:.1763281999999997},{x:.08342509999999881,y:.04403649999999937}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1811582000000007,y:-.0882552000000012},{x:-.1811582000000007,y:.17632819999999816}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.0949504999999995,y:.17485119999999976},{x:.09600949999999897,y:-.09185079999999957}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.1954338999999996,y:.04403649999999937},{x:-.5191807000000004,y:.04403649999999937}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5253116,y:.043951299999999804},{x:.20527070000000047,y:.043951299999999804}],color:"primary",fill:!1},"path43-6":{type:"path",points:[{x:.1854899999999995,y:.1748848999999999},{x:.18654899999999874,y:-.09181709999999943}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999994495,y:.27384530000000007},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.27384530000000007}},refblocks:{left1:{x:-.5191471,y:.044920799999999206},right1:{x:.5191470999999999,y:.04389609999999999}},bounds:{width:1.0946110819999997,height:.5476906000000001,centerX:-5551115123125783e-32,centerY:0},circles:{}},{paths:r5n,texts:vJe,bounds:fH,refblocks:gJe,circles:i5n}=n5n,_Je=Km({primitives:[...Object.values(r5n),...Object.values(i5n),{...vJe.top1,anchor:"middle_bottom"},{...vJe.bottom1,anchor:"middle_top"}],ports:[{...gJe.left1,labels:["1"]},{...gJe.right1,labels:["2"]}],size:{width:fH.width,height:fH.height},center:{x:fH.centerX,y:fH.centerY}}),ehe=Pl(_Je),a5n=ehe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),o5n=ehe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");a5n.anchor="middle_left",o5n.anchor="middle_right";var s5n=ehe,l5n={paths:{path5:{type:"path",points:[{x:-.5245830500000004,y:.004659100000001359},{x:-.25999975000000086,y:.004659100000001359}],color:"primary",fill:!1},path6:{type:"path",points:[{x:.2691672500000002,y:.004659100000001359},{x:.5337505499999997,y:.004659100000001359}],color:"primary",fill:!1},path7:{type:"path",points:[{x:.2691672500000002,y:-.23346590000000056},{x:-.25999974999999953,y:.2427841000000015}],color:"primary",fill:!1},path8:{type:"path",points:[{x:.37500025000000026,y:-.23346590000000056},{x:.2691672500000002,y:-.23346590000000056}],color:"primary",fill:!1},path9:{type:"path",points:[{x:.004585150000000482,y:.13695090000000043},{x:.26916815000000094,y:.13695090000000043},{x:.26916815000000094,y:-.1276325000000007},{x:-.2599988499999988,y:-.1276325000000007},{x:-.2599988499999988,y:.13695090000000043},{x:.004585150000001814,y:.13695090000000043}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.05849044999999986,y:.25166549999999965},bottom1:{type:"text",text:"{VAL}",x:.008507150000000685,y:-.25166549999999965}},refblocks:{left1:{x:-.5392315500000002,y:.002969399999999567},right1:{x:.5392315500000002,y:.005339799999999784}},bounds:{width:1.1347799820000004,height:.5033309999999993,centerX:0,centerY:0}},{paths:c5n,texts:xJe,bounds:dH,refblocks:bJe}=l5n,SJe=Km({primitives:[...Object.values(c5n),{...xJe.top1,anchor:"middle_left"},{...xJe.bottom1,anchor:"middle_right"}],ports:[{...bJe.left1,labels:["1","-"]},{...bJe.right1,labels:["2","+"]}],size:{width:dH.width,height:dH.height},center:{x:dH.centerX,y:dH.centerY}}),u5n=Pl(SJe),f5n={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"Var",x:0,y:-.025}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:d5n,texts:p5n,bounds:pH,refblocks:wJe,circles:h5n}=f5n,the=Km({primitives:[...Object.values(d5n),...Object.values(h5n),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...p5n.left1,anchor:"center",y:.02,fontSize:.2}],ports:[{...wJe.left1,labels:["1"]},{...wJe.right1,labels:["2"]}],size:{width:pH.width,height:pH.height},center:{x:pH.centerX,y:pH.centerY}}),{5:m5n,...y5n}=the.primitives;function v5n(n){return typeof n=="object"}var EJe=Pl({...the,primitives:Object.values(y5n).filter(v5n)}),g5n={...EJe,primitives:[...EJe.primitives,m5n]},TJe={paths:{path11:{type:"path",points:[{x:-.5274831500000005,y:.031252300000000455},{x:-.30105415000000013,y:.031252300000000455}],color:"primary",fill:!1},"path11-5-5":{type:"path",points:[{x:.09765764999999949,y:.1295162000000003},{x:-.0011297500000011507,y:-.061970899999999496},{x:-.10778645000000164,y:.1295162000000003}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2932119499999999,y:.031252300000000455},{x:.5339524499999997,y:.031252300000000455}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.021146249999999478,y:.4010973},bottom1:{type:"text",text:"{VAL}",x:-.00661455000000033,y:-.4010973}},refblocks:{left1:{x:-.5413984499999998,y:.030399499999999913},right1:{x:.54139845,y:.0313958999999997}},bounds:{minX:-.5695568909999997,maxX:.569556891,minY:-.4010973,maxY:.4010973,width:1.1391137819999997,height:.8021946,centerX:11102230246251565e-32,centerY:0},circles:{path1:{type:"circle",x:-.0037626500000000895,y:.03838059999999999,radius:.28854213,color:"primary",fill:!1}}},{paths:uzn,texts:fzn,bounds:dzn,circles:pzn,refblocks:hzn}=TJe,MJe=fd(TJe).changeTextAnchor("{VAL}","middle_top").labelPort("left1",["1"]).labelPort("right1",["2"]).changeTextAnchor("{REF}","middle_bottom").build(),_5n=Pl(MJe),x5n={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"Wh",x:0,y:-.025}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:b5n,texts:S5n,bounds:hH,refblocks:CJe,circles:w5n}=x5n,nhe=Km({primitives:[...Object.values(b5n),...Object.values(w5n),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...S5n.left1,anchor:"center",y:.01,fontSize:.2}],ports:[{...CJe.left1,labels:["1"]},{...CJe.right1,labels:["2"]}],size:{width:hH.width,height:hH.height},center:{x:hH.centerX,y:hH.centerY}}),{5:E5n,...T5n}=nhe.primitives;function M5n(n){return typeof n=="object"}var RJe=Pl({...nhe,primitives:Object.values(T5n).filter(M5n)}),C5n={...RJe,primitives:[...RJe.primitives,E5n]},R5n={paths:{path11:{type:"path",points:[{x:-.5307178,y:0},{x:-.3042887999999997,y:0}],color:"primary",fill:!1},path12:{type:"path",points:[{x:.2899773000000003,y:0},{x:.5307178000000001,y:0}],color:"primary",fill:!1}},texts:{left1:{type:"text",text:"W",x:0,y:-.025}},refblocks:{left1:{x:-.5446330999999993,y:.000852800000000542},right1:{x:.5381638000000004,y:-.00014359999999924433}},bounds:{width:1.0614356000000003,height:1,centerX:5551115123125783e-32,centerY:0},circles:{path1:{type:"circle",x:-.006997299999999651,y:-.007128299999999532,radius:.28854213,color:"primary",fill:!1}}},{paths:A5n,texts:P5n,bounds:mH,refblocks:AJe,circles:N5n}=R5n,rhe=Km({primitives:[...Object.values(A5n),...Object.values(N5n),{type:"text",text:"{REF}",x:0,y:-.3594553499999995,anchor:"middle_top"},{type:"text",text:"{VAL}",x:0,y:.35,anchor:"middle_bottom"},{...P5n.left1,anchor:"center",y:.01,fontSize:.3}],ports:[{...AJe.left1,labels:["1"]},{...AJe.right1,labels:["2"]}],size:{width:mH.width,height:mH.height},center:{x:mH.centerX,y:mH.centerY}}),{5:D5n,...L5n}=rhe.primitives;function O5n(n){return typeof n=="object"}var PJe=Pl({...rhe,primitives:Object.values(L5n).filter(O5n)}),z5n={...PJe,primitives:[...PJe.primitives,D5n]},U5n={paths:{path40:{type:"path",points:[{x:.14458890000000002,y:.04403629999999992},{x:-.1199943999999995,y:-.08825540000000043}],color:"primary",fill:!1},path41:{type:"path",points:[{x:-.1199943999999995,y:.17632800000000026},{x:.14458890000000002,y:.04403629999999992}],color:"primary",fill:!1},path42:{type:"path",points:[{x:-.1199943999999995,y:-.0882553999999991},{x:-.1199943999999995,y:.17632800000000026}],color:"primary",fill:!1},path43:{type:"path",points:[{x:.14458890000000002,y:.17632800000000026},{x:.14458890000000002,y:-.0882553999999991}],color:"primary",fill:!1},path44:{type:"path",points:[{x:-.12219909999999956,y:.04403629999999992},{x:-.5168693999999996,y:.04403629999999992}],color:"primary",fill:!1},"path44-0":{type:"path",points:[{x:.5233797000000002,y:.043951100000000354},{x:.1496715999999998,y:.043951100000000354}],color:"primary",fill:!1},"path43-8":{type:"path",points:[{x:.14339119999999994,y:.17681090000000044},{x:.07728679999999954,y:.17632089999999967}],color:"primary",fill:!1}},texts:{top1:{type:"text",text:"{REF}",x:-.0050250999999996715,y:.27384530000000007},bottom1:{type:"text",text:"{VAL}",x:-.00011179999999977319,y:-.27384529999999985}},refblocks:{left1:{x:-.5191471000000001,y:.044920700000000924},right1:{x:.5191470999999999,y:.04389609999999999}},bounds:{width:1.094611082,height:.5476905999999999,centerX:-11102230246251565e-32,centerY:11102230246251565e-32},circles:{}},{paths:k5n,texts:NJe,bounds:yH,refblocks:DJe,circles:I5n}=U5n,LJe=Km({primitives:[...Object.values(k5n),...Object.values(I5n),{...NJe.top1,anchor:"middle_bottom"},{...NJe.bottom1,anchor:"middle_top"}],ports:[{...DJe.left1,labels:["1"]},{...DJe.right1,labels:["2"]}],size:{width:yH.width,height:yH.height},center:{x:yH.centerX,y:yH.centerY}}),ihe=Pl(LJe),F5n=ihe.primitives.find(n=>n.type==="text"&&n.text==="{REF}"),B5n=ihe.primitives.find(n=>n.type==="text"&&n.text==="{VAL}");F5n.anchor="middle_left",B5n.anchor="middle_right";var j5n=ihe,ob={ac_voltmeter_horz:kZe,ac_voltmeter_vert:svn,avalanche_diode_horz:BZe,avalanche_diode_vert:dvn,battery_horz:VZe,battery_vert:yvn,boxresistor_down:xvn,boxresistor_left:wvn,boxresistor_right:Mvn,boxresistor_up:Avn,capacitor_down:Dvn,capacitor_left:Lvn,capacitor_polarized_down:Uvn,capacitor_polarized_left:kvn,capacitor_polarized_right:eQe,capacitor_polarized_up:Bvn,capacitor_right:jvn,capacitor_up:$vn,constant_current_diode_horz:Gvn,constant_current_diode_vert:qvn,crystal_4pin_horz:iQe,crystal_4pin_vert:Xvn,crystal_horz:Wvn,crystal_vert:Zvn,darlington_pair_transistor_horz:Qvn,darlington_pair_transistor_vert:Kvn,dc_ammeter_horz:ede,dc_ammeter_vert:sgn,dc_voltmeter_horz:rde,dc_voltmeter_vert:mgn,diac_horz:uQe,diac_vert:_gn,diode_down:bgn,diode_left:Sgn,diode_right:Ej,diode_up:wgn,dpdt_normally_closed_switch_down:Tgn,dpdt_normally_closed_switch_left:Mgn,dpdt_normally_closed_switch_right:Tj,dpdt_normally_closed_switch_up:Cgn,dpdt_switch_down:Agn,dpdt_switch_left:Pgn,dpdt_switch_right:Mj,dpdt_switch_up:Ngn,dpst_normally_closed_switch_down:Lgn,dpst_normally_closed_switch_left:Ogn,dpst_normally_closed_switch_right:Cj,dpst_normally_closed_switch_up:zgn,dpst_switch_down:kgn,dpst_switch_left:Ign,dpst_switch_right:Rj,dpst_switch_up:Fgn,filled_diode_horz:pQe,filled_diode_vert:jgn,frequency_meter_horz:Bde,frequency_meter_vert:Wgn,fuse_horz:vQe,fuse_vert:Jgn,ground_horz:gQe,ground_vert:a_n,gunn_diode_horz:o_n,gunn_diode_vert:s_n,icled_down:c_n,icled_left:u_n,icled_right:Nj,icled_up:d_n,igbt_transistor_horz:_Qe,igbt_transistor_vert:h_n,illuminated_push_button_normally_open_horz:bQe,illuminated_push_button_normally_open_vert:y_n,inductor_down:x_n,inductor_left:b_n,inductor_right:Yde,inductor_up:MQe,laser_diode_horz:RQe,laser_diode_vert:w_n,led_down:C_n,led_left:R_n,led_right:Oj,led_up:P_n,light_dependent_resistor_horz:zQe,light_dependent_resistor_vert:O_n,mosfet_depletion_normally_on_horz:FQe,mosfet_depletion_normally_on_vert:k_n,mushroom_head_normally_open_momentary_horz:VQe,mushroom_head_normally_open_momentary_vert:j_n,n_channel_d_mosfet_transistor_horz:GQe,n_channel_d_mosfet_transistor_vert:G_n,n_channel_e_mosfet_transistor_horz:WQe,n_channel_e_mosfet_transistor_vert:W_n,njfet_transistor_horz:JQe,njfet_transistor_vert:J_n,npn_bipolar_transistor_horz:nKe,npn_bipolar_transistor_vert:rxn,opamp_no_power_down:axn,opamp_no_power_left:oxn,opamp_no_power_right:Hj,opamp_no_power_up:sxn,opamp_with_power_down:cxn,opamp_with_power_left:uxn,opamp_with_power_right:Vj,opamp_with_power_up:fxn,p_channel_d_mosfet_transistor_horz:iKe,p_channel_d_mosfet_transistor_vert:mxn,p_channel_e_mosfet_transistor_horz:lKe,p_channel_e_mosfet_transistor_vert:_xn,photodiode_horz:fKe,photodiode_vert:Sxn,pjfet_transistor_horz:mKe,pjfet_transistor_vert:Mxn,pnp_bipolar_transistor_horz:_Ke,pnp_bipolar_transistor_vert:Pxn,potentiometer_horz:SKe,potentiometer_vert:Oxn,potentiometer2_horz:TKe,potentiometer2_vert:Fxn,potentiometer3_down:jxn,potentiometer3_left:Hxn,potentiometer3_right:Wj,potentiometer3_up:Vxn,power_factor_meter_horz:AKe,power_factor_meter_vert:Yxn,push_button_normally_closed_momentary_horz:LKe,push_button_normally_closed_momentary_vert:Qxn,push_button_normally_open_momentary_horz:UKe,push_button_normally_open_momentary_vert:t2n,rectifier_diode_horz:IKe,rectifier_diode_vert:s2n,resonator_horz:FKe,resonator_vert:f2n,schottky_diode_horz:BKe,schottky_diode_vert:m2n,silicon_controlled_rectifier_horz:HKe,silicon_controlled_rectifier_vert:v2n,spdt_normally_closed_switch_down:_2n,spdt_normally_closed_switch_left:x2n,spdt_normally_closed_switch_right:nH,spdt_normally_closed_switch_up:b2n,SPDT_switch_horz:YKe,SPDT_switch_vert:E2n,spst_normally_closed_switch_down:T2n,spst_normally_closed_switch_left:M2n,spst_normally_closed_switch_right:aH,spst_normally_closed_switch_up:C2n,SPST_switch_horz:ZKe,SPST_switch_vert:R2n,step_recovery_diode_horz:eJe,step_recovery_diode_vert:A2n,tachometer_horz:Zpe,tachometer_vert:k2n,triac_horz:iJe,triac_vert:B2n,tunnel_diode_horz:cJe,tunnel_diode_vert:q2n,unijunction_transistor_horz:fJe,unijunction_transistor_vert:Q2n,var_meter_horz:yJe,var_meter_vert:t5n,varactor_diode_horz:_Je,varactor_diode_vert:s5n,varistor_horz:SJe,varistor_vert:u5n,varmeter_horz:the,varmeter_vert:g5n,volt_meter_horz:MJe,volt_meter_vert:_5n,watt_hour_meter_horz:nhe,watt_hour_meter_vert:C5n,wattmeter_horz:rhe,wattmeter_vert:z5n,zener_diode_horz:LJe,zener_diode_vert:j5n};Object.fromEntries(Object.keys(ob).map(n=>[n,n]));var H5n=v.enum(["up","down","left","right"]);v.enum(["top-to-bottom","left-to-right","bottom-to-top","right-to-left"]);var XS=v.array(v.string().or(v.number())),OJe=v.object({x:Si,y:Si,z:Si}),V5n=v.object({x:v.union([v.number(),v.string()]),y:v.union([v.number(),v.string()]),z:v.union([v.number(),v.string()])}),ahe=v.object({rotationOffset:v.number().or(V5n).optional(),positionOffset:OJe.optional(),size:OJe.optional()}),$5n=ahe.extend({stlUrl:v.string()}),G5n=ahe.extend({objUrl:v.string(),mtlUrl:v.string().optional()}),q5n=ahe.extend({jscad:v.record(v.any())}),Y5n=v.union([v.string(),$5n,G5n,q5n]),X5n=v.custom(n=>!0),qx=v.object({pcbX:Si.optional(),pcbY:Si.optional(),pcbRotation:z6.optional(),layer:my.optional()}),vH=v.object({pcbX:Si.optional(),pcbY:Si.optional(),pcbRotation:z6.optional(),schX:Si.optional(),schY:Si.optional(),schRotation:z6.optional(),layer:my.optional(),footprint:X5n.optional()}),W5n=v.object({supplierPartNumbers:v.record(hZe,v.array(v.string())).optional()}),v3=vH.merge(W5n).extend({key:v.any().optional(),name:v.string(),cadModel:Y5n.optional(),children:v.any().optional(),symbolName:v.string().optional()});Si.or(v.enum(["2x","3x","4x"]));var gH=v.object({pins:v.array(v.union([v.number(),v.string()])),direction:v.union([v.literal("top-to-bottom"),v.literal("left-to-right"),v.literal("bottom-to-top"),v.literal("right-to-left")])}),ohe=v.object({leftSize:v.number().optional().describe("@deprecated, use leftPinCount"),topSize:v.number().optional().describe("@deprecated, use topPinCount"),rightSize:v.number().optional().describe("@deprecated, use rightPinCount"),bottomSize:v.number().optional().describe("@deprecated, use bottomPinCount"),leftPinCount:v.number().optional(),rightPinCount:v.number().optional(),topPinCount:v.number().optional(),bottomPinCount:v.number().optional(),leftSide:gH.optional(),rightSide:gH.optional(),topSide:gH.optional(),bottomSide:gH.optional()}),zJe=v.record(v.object({marginLeft:Si.optional(),marginRight:Si.optional(),marginTop:Si.optional(),marginBottom:Si.optional(),leftMargin:Si.optional(),rightMargin:Si.optional(),topMargin:Si.optional(),bottomMargin:Si.optional()})),UJe=v.object({x:Si,y:Si}),she=v.object({edit_event_id:v.string(),in_progress:v.boolean().optional(),created_at:v.number()}),Z5n=she.extend({pcb_edit_event_type:v.literal("edit_component_location").describe("deprecated"),edit_event_type:v.literal("edit_pcb_component_location"),pcb_component_id:v.string(),original_center:v.object({x:v.number(),y:v.number()}),new_center:v.object({x:v.number(),y:v.number()})}),Q5n=she.extend({pcb_edit_event_type:v.literal("edit_trace_hint").describe("deprecated"),edit_event_type:v.literal("edit_pcb_trace_hint").optional(),pcb_port_id:v.string(),pcb_trace_hint_id:v.string().optional(),route:v.array(v.object({x:v.number(),y:v.number(),via:v.boolean().optional()}))}),K5n=she.extend({edit_event_type:v.literal("edit_schematic_component_location"),schematic_component_id:v.string(),original_center:v.object({x:v.number(),y:v.number()}),new_center:v.object({x:v.number(),y:v.number()})});v.union([Z5n,Q5n,K5n]);var J5n=v.object({selector:v.string(),relative_to:v.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),center:gv}),e3n=v.object({pcb_port_selector:v.string(),offsets:v.array(YS)}),t3n=v.object({selector:v.string(),relative_to:v.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),center:gv}),n3n=v.object({pcb_placements:v.array(J5n).optional(),manual_trace_hints:v.array(e3n).optional(),schematic_placements:v.array(t3n).optional()}),lhe=v.object({layoutMode:v.enum(["grid","flex","none"]).optional(),position:v.enum(["absolute","relative"]).optional(),grid:v.boolean().optional(),gridCols:v.number().or(v.string()).optional(),gridRows:v.number().or(v.string()).optional(),gridTemplateRows:v.string().optional(),gridTemplateColumns:v.string().optional(),gridTemplate:v.string().optional(),gridGap:v.number().or(v.string()).optional(),flex:v.boolean().or(v.string()).optional(),flexDirection:v.enum(["row","column"]).optional(),alignItems:v.enum(["start","center","end","stretch"]).optional(),justifyContent:v.enum(["start","center","end","stretch"]).optional(),flexRow:v.boolean().optional(),flexColumn:v.boolean().optional(),gap:v.number().or(v.string()).optional()}),r3n=v.object({serverUrl:v.string().optional(),inputFormat:v.enum(["simplified","circuit-json"]).optional(),serverMode:v.enum(["job","solve-endpoint"]).optional(),serverCacheEnabled:v.boolean().optional(),cache:v.custom(n=>!0).optional(),groupMode:v.enum(["sequential-trace","subcircuit"]).optional(),algorithmFn:v.custom(n=>typeof n=="function"||n===void 0).optional(),local:v.boolean().optional()}),kJe=v.union([r3n,v.literal("sequential-trace"),v.literal("subcircuit"),v.literal("auto"),v.literal("auto-local"),v.literal("auto-cloud")]),IJe=vH.extend({name:v.string().optional(),children:v.any().optional(),key:v.any().optional(),...lhe.shape,pcbWidth:m1.optional(),pcbHeight:m1.optional(),schWidth:m1.optional(),schHeight:m1.optional(),pcbLayout:lhe.optional(),schLayout:lhe.optional()}),FJe=v.custom(n=>"findPart"in n),BJe=IJe.extend({layout:v.custom(n=>!0).optional(),manualEdits:n3n.optional(),schAutoLayoutEnabled:v.boolean().optional(),schTraceAutoLabelEnabled:v.boolean().optional(),routingDisabled:v.boolean().optional(),defaultTraceWidth:m1.optional(),minTraceWidth:m1.optional(),partsEngine:FJe.optional(),pcbRouteCache:v.custom(n=>!0).optional(),autorouter:kJe.optional()}),i3n=BJe.extend({subcircuit:v.literal(!0)}),a3n=v.discriminatedUnion("subcircuit",[IJe.extend({subcircuit:v.literal(!1).optional()}),i3n]),jJe=BJe.extend({width:Si.optional(),height:Si.optional(),outline:v.array(UJe).optional(),outlineOffsetX:Si.optional(),outlineOffsetY:Si.optional(),material:v.enum(["fr4","fr1"]).default("fr4")}),o3n=v.string().or(v.array(v.string()).readonly()).or(v.array(v.string())),s3n=v.custom().pipe(v.record(v.string(),o3n)),l3n=v.record(v.string(),v.string().or(v.array(v.string()).readonly()).or(v.array(v.string()))),HJe=v3.extend({manufacturerPartNumber:v.string().optional(),pinLabels:l3n.optional(),internallyConnectedPins:v.array(v.array(v.string())).optional(),externallyConnectedPins:v.array(v.array(v.string())).optional(),schPinArrangement:ohe.optional(),schPortArrangement:ohe.optional(),schPinStyle:zJe.optional(),schPinSpacing:Si.optional(),schWidth:Si.optional(),schHeight:Si.optional(),noSchematicRepresentation:v.boolean().optional(),connections:s3n.optional()}),c3n=v3.extend({manufacturerPartNumber:v.string().optional(),pinLabels:v.record(v.number().or(v.string()),v.string().or(v.array(v.string()))).optional(),schPinStyle:zJe.optional(),schPinSpacing:Si.optional(),schWidth:Si.optional(),schHeight:Si.optional(),schDirection:v.enum(["left","right"]).optional(),schPortArrangement:ohe.optional()}),_H=v.custom().transform(n=>{if(n!==void 0)return Si.parse(n)}),u3n=v.union([qx.omit({pcbRotation:!0,layer:!0}).extend({name:v.string().optional(),shape:v.literal("circle"),holeDiameter:Si,outerDiameter:Si,portHints:XS.optional()}),qx.omit({pcbRotation:!0,layer:!0}).extend({name:v.string().optional(),shape:v.literal("oval"),outerWidth:Si,outerHeight:Si,holeWidth:_H,holeHeight:_H,innerWidth:Si.optional().describe("DEPRECATED use holeWidth"),innerHeight:Si.optional().describe("DEPRECATED use holeHeight"),portHints:XS.optional()}),qx.omit({pcbRotation:!0,layer:!0}).extend({name:v.string().optional(),shape:v.literal("pill"),outerWidth:Si,outerHeight:Si,holeWidth:_H,holeHeight:_H,innerWidth:Si.optional().describe("DEPRECATED use holeWidth"),innerHeight:Si.optional().describe("DEPRECATED use holeHeight"),portHints:XS.optional()}),qx.omit({pcbRotation:!0,layer:!0}).extend({name:v.string().optional(),holeDiameter:Si,rectPadWidth:Si,rectPadHeight:Si,holeShape:v.literal("circle").optional(),padShape:v.literal("rect").optional(),shape:v.literal("circularHoleWithRectPad").optional(),portHints:XS.optional()}).refine(n=>n.shape==="circularHoleWithRectPad"?n.holeDiameter&&n.rectPadWidth&&n.rectPadHeight:!0,{message:"Missing required fields for circularHoleWithRectPad"})]).refine(n=>("innerWidth"in n&&n.innerWidth!==void 0&&(n.holeWidth??(n.holeWidth=n.innerWidth)),"innerHeight"in n&&n.innerHeight!==void 0&&(n.holeHeight??(n.holeHeight=n.innerHeight)),n)),f3n=v.string().or(v.array(v.string()).readonly()).or(v.array(v.string())),VJe=n=>v.record(v.enum(n),f3n),d3n=["pin1","pin2","pos","neg"],p3n=v3.extend({resistance:OP,pullupFor:v.string().optional(),pullupTo:v.string().optional(),pulldownFor:v.string().optional(),pulldownTo:v.string().optional(),connections:VJe(d3n).optional()}),h3n=v3.extend({maxResistance:OP,pinVariant:v.enum(["two_pin","three_pin"]).optional()}),m3n=v3.extend({frequency:Yfe,loadCapacitance:zP,pinVariant:v.enum(["two_pin","four_pin"]).optional()}),y3n=v3.extend({frequency:Yfe,loadCapacitance:zP,pinVariant:v.enum(["no_ground","ground_pin","two_ground_pins"]).optional()});jJe.extend({leftPinCount:v.number().optional(),rightPinCount:v.number().optional(),topPinCount:v.number().optional(),bottomPinCount:v.number().optional(),leftPins:v.array(v.string()).optional(),rightPins:v.array(v.string()).optional(),topPins:v.array(v.string()).optional(),bottomPins:v.array(v.string()).optional(),pinPitch:Si.optional(),innerHoles:v.boolean().optional()});var v3n=["pin1","pin2","pos","neg","anode","cathode"],g3n=v3.extend({capacitance:zP,maxVoltageRating:UP.optional(),schShowRatings:v.boolean().optional().default(!1),polarized:v.boolean().optional().default(!1),decouplingFor:v.string().optional(),decouplingTo:v.string().optional(),bypassFor:v.string().optional(),bypassTo:v.string().optional(),maxDecouplingTraceLength:v.number().optional(),connections:VJe(v3n).optional()});v.object({name:v.string()}),v.object({name:v.string().optional(),pcbOnly:v.boolean().optional(),schOnly:v.boolean().optional()});var _3n=v.object({pcb:v.literal(!0).optional(),xDist:Si,left:v.string(),right:v.string(),edgeToEdge:v.literal(!0).optional(),centerToCenter:v.literal(!0).optional()}),x3n=v.object({pcb:v.literal(!0).optional(),yDist:Si,top:v.string(),bottom:v.string(),edgeToEdge:v.literal(!0).optional(),centerToCenter:v.literal(!0).optional()}),b3n=v.object({pcb:v.literal(!0).optional(),sameY:v.literal(!0).optional(),for:v.array(v.string())}),S3n=v.object({pcb:v.literal(!0).optional(),sameX:v.literal(!0).optional(),for:v.array(v.string())}),w3n=v.union([_3n,x3n,b3n,S3n]),E3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("rect"),width:Si,height:Si,portHints:XS.optional()}),T3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("rotated_rect"),width:Si,height:Si,ccwRotation:v.number(),portHints:XS.optional()}),M3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("circle"),radius:Si,portHints:XS.optional()}),C3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("pill"),width:Si,height:Si,radius:Si,portHints:XS.optional()}),R3n=v.union([M3n,E3n,T3n,C3n]),A3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("rect"),width:Si,height:Si}),P3n=qx.omit({pcbRotation:!0}).extend({shape:v.literal("circle"),radius:Si});v.union([P3n,A3n]);var N3n=qx.omit({pcbRotation:!0}).extend({name:v.string().optional(),diameter:Si.optional(),radius:Si.optional()}).transform(n=>({...n,diameter:n.diameter??2*n.radius,radius:n.radius??n.diameter/2})),che=v.union([v.string(),v.custom(n=>!!n.getPortSelector)]),$Je=v.object({key:v.string().optional(),thickness:Si.optional(),schematicRouteHints:v.array(UJe).optional(),pcbRouteHints:v.array(YS).optional(),schDisplayLabel:v.string().optional(),maxLength:Si.optional()}),D3n=v.union([$Je.extend({path:v.array(che)}),$Je.extend({from:che,to:che})]),L3n=v.object({originalLayer:my.default("top").optional()}),O3n=v.number().or(v.string().endsWith("mAh")).transform(n=>{if(typeof n=="string"){const e=n.replace("mAh",""),t=Number.parseFloat(e);if(Number.isNaN(t))throw new Error("Invalid capacity");return t}return n}).describe("Battery capacity in mAh"),z3n=v3.extend({capacity:O3n.optional()}),U3n=v3.extend({pinCount:v.number(),pitch:Si.optional(),schFacingDirection:v.enum(["up","down","left","right"]).optional(),gender:v.enum(["male","female"]).optional().default("male"),showSilkscreenPinLabels:v.boolean().optional(),doubleRow:v.boolean().optional(),holeDiameter:Si.optional(),platedDiameter:Si.optional(),pinLabels:v.array(v.string()).optional(),facingDirection:v.enum(["left","right"]).optional()}),k3n=v.object({net:v.string().optional(),schX:Si.optional(),schY:Si.optional(),schRotation:z6.optional(),anchorSide:v.enum(["left","up","right","down"]).optional()}),I3n=HJe.extend({}),F3n=v3.extend({type:v.enum(["npn","pnp","bjt","jfet","mosfet"])}),B3n=v3.extend({channelType:v.enum(["n","p"]),mosfetMode:v.enum(["enhancement","depletion"])}),j3n=v3.extend({inductance:dZe}),H3n=v.enum(["anode","cathode","pin1","pin2","pos","neg"]),V3n=v.string().or(v.array(v.string()).readonly()).or(v.array(v.string())),$3n=v.record(H3n,V3n),G3n=v3.extend({connections:$3n.optional()}),q3n=v3.extend({color:v.string().optional()}),Y3n=v3.extend({type:v.enum(["spst","spdt","dpst","dpdt"]).optional(),isNormallyClosed:v.boolean().optional().default(!1),spst:v.boolean().optional(),spdt:v.boolean().optional(),dpst:v.boolean().optional(),dpdt:v.boolean().optional()}).transform(n=>{const e={...n};switch(e.dpdt?e.type="dpdt":e.spst?e.type="spst":e.spdt?e.type="spdt":e.dpst&&(e.type="dpst"),e.type){case"spdt":e.spdt=!0;break;case"spst":e.spst=!0;break;case"dpst":e.dpst=!0;break;case"dpdt":e.dpdt=!0;break}return e}),X3n=qx.extend({text:v.string(),anchorAlignment:v.enum(["center","top_left","top_right","bottom_left","bottom_right"]).default("center"),font:v.enum(["tscircuit2024"]).optional(),fontSize:m1.optional(),color:v.string().optional()}),W3n=qx.omit({pcbX:!0,pcbY:!0,pcbRotation:!0}).extend({route:v.array(YS),strokeWidth:m1.optional(),color:v.string().optional()});v.object({layer:v.string().optional(),thickness:Si.optional(),route:v.array(YS)});var Z3n=vH.extend({fromLayer:my,toLayer:my,holeDiameter:Si,outerDiameter:Si}),Q3n=v.union([qx.omit({pcbRotation:!0}).extend({shape:v.literal("circle"),radius:Si}),qx.extend({shape:v.literal("rect"),width:Si,height:Si})]),K3n=v3.extend({voltage:UP});v.object({schX:Si,schY:Si,width:Si,height:Si}),v.object({x1:Si,y1:Si,x2:Si,y2:Si}),v.object({schX:Si,schY:Si,text:v.string()}),v.object({points:v.array(gv),isFilled:v.boolean().optional().default(!1),fillColor:v.enum(["red","blue"]).optional()});var J3n=qx.extend({text:v.string(),anchorAlignment:v.enum(["center","top_left","top_right","bottom_left","bottom_right"]).default("center"),font:v.enum(["tscircuit2024"]).optional(),fontSize:m1.optional()}),e4n=qx.omit({pcbX:!0,pcbY:!0,pcbRotation:!0}).extend({route:v.array(YS),strokeWidth:m1.optional()}),t4n=qx.omit({pcbX:!0,pcbY:!0,pcbRotation:!0}).extend({strokeWidth:Si,x1:Si,y1:Si,x2:Si,y2:Si}),n4n=qx.omit({pcbRotation:!0}).extend({isFilled:v.boolean().optional(),isOutline:v.boolean().optional(),strokeWidth:Si.optional(),width:Si,height:Si}),r4n=qx.omit({pcbRotation:!0}).extend({isFilled:v.boolean().optional(),isOutline:v.boolean().optional(),strokeWidth:Si.optional(),radius:Si}),GJe=v.object({x:Si,y:Si,via:v.boolean().optional(),toLayer:my.optional()}),i4n=v.object({for:v.string().optional().describe("Selector for the port you're targeting, not required if you're inside a trace"),order:v.number().optional(),offset:YS.or(GJe).optional(),offsets:v.array(YS).or(v.array(GJe)).optional(),traceWidth:v.number().optional()});vH.extend({name:v.string(),pinNumber:v.number().optional(),aliases:v.array(v.string()).optional(),direction:H5n}),v.object({partsEngine:FJe.optional(),autorouter:kJe.optional(),registryApiUrl:v.string().optional(),cloudAutorouterUrl:v.string().optional()});var a4n=(n,e)=>{const t={x:e.x-n.x,y:e.y-n.y},r=Math.sqrt(t.x**2+t.y**2);return{x:t.x/r,y:t.y/r}},o4n=n=>{switch(n){case"up":return{x:0,y:1};case"down":return{x:0,y:-1};case"left":return{x:-1,y:0};case"right":return{x:1,y:0}}};function qJe([n,e],[t,r],{lineThickness:i=0}={}){return i===0?YJe(n,e,t,r):s4n(n,e,t,r)<=i}function YJe(n,e,t,r){const i=xH(n,e,t),a=xH(n,e,r),o=xH(t,r,n),s=xH(t,r,e);return!!(i!==a&&o!==s||i===0&&bH(n,t,e)||a===0&&bH(n,r,e)||o===0&&bH(t,n,r)||s===0&&bH(t,e,r))}function xH(n,e,t){const r=(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y);return r===0?0:r>0?1:2}function bH(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function s4n(n,e,t,r){if(n.x===e.x&&n.y===e.y)return pM(n,t,r);if(t.x===r.x&&t.y===r.y)return pM(t,n,e);if(YJe(n,e,t,r))return 0;const i=[pM(n,t,r),pM(e,t,r),pM(t,n,e),pM(r,n,e)];return Math.min(...i)}function pM(n,e,t){const r=(t.x-e.x)**2+(t.y-e.y)**2;if(r===0)return BP(n,e);let i=((n.x-e.x)*(t.x-e.x)+(n.y-e.y)*(t.y-e.y))/r;i=Math.max(0,Math.min(1,i));const a={x:e.x+i*(t.x-e.x),y:e.y+i*(t.y-e.y)};return BP(n,a)}function BP(n,e){const t=n.x-e.x,r=n.y-e.y;return Math.sqrt(t*t+r*r)}var l4n=Object.defineProperty,c4n=(n,e)=>{for(var t in e)l4n(n,t,{get:e[t],enumerable:!0})},XJe={};c4n(XJe,{Battery:()=>ybn,Board:()=>K4n,Capacitor:()=>ebn,Chip:()=>yet,Constraint:()=>sbn,Crystal:()=>Ebn,Diode:()=>tbn,FabricationNotePath:()=>lbn,FabricationNoteText:()=>cbn,Footprint:()=>R4n,Group:()=>ghe,Hole:()=>aet,Inductor:()=>xbn,Jumper:()=>nbn,Keepout:()=>hhe,Led:()=>rbn,Mosfet:()=>Mbn,Net:()=>tet,NetAlias:()=>fbn,NormalComponent:()=>M2,PinHeader:()=>vbn,PlatedHole:()=>iet,Port:()=>U6,Potentiometer:()=>Sbn,PowerSource:()=>ibn,PrimitiveComponent:()=>yx,PushButton:()=>wbn,Renderable:()=>WJe,Resistor:()=>abn,Resonator:()=>_bn,SilkscreenCircle:()=>dbn,SilkscreenLine:()=>hbn,SilkscreenPath:()=>ret,SilkscreenRect:()=>pbn,SilkscreenText:()=>oet,SmtPad:()=>phe,Subcircuit:()=>ubn,Switch:()=>Cbn,Trace:()=>Bw,TraceHint:()=>het,Transistor:()=>Tbn,Via:()=>mbn});var u4n=c9("tscircuit:renderable"),Iw=["ReactSubtreesRender","InitializePortsFromChildren","CreateNetsFromProps","CreateTracesFromProps","CreateTraceHintsFromProps","SourceRender","SourceParentAttachment","PortMatching","OptimizeSelectorCache","SourceTraceRender","SourceAddConnectivityMapKey","SchematicComponentRender","SchematicPortRender","SchematicLayout","SchematicTraceRender","PcbComponentRender","PcbPrimitiveRender","PcbFootprintLayout","PcbPortRender","PcbPortAttachment","PcbLayout","PcbComponentSizeCalculation","PcbBoardAutoSize","PcbTraceRender","PcbTraceHintRender","PcbRouteNetIslands","PcbDesignRuleChecks","CadModelRender","PartsEngineRender"],f4n=0,WJe=class{constructor(n){nt(this,"renderPhaseStates");nt(this,"shouldBeRemoved",!1);nt(this,"children");nt(this,"isPcbPrimitive",!1);nt(this,"isSchematicPrimitive",!1);nt(this,"_renderId");nt(this,"_currentRenderPhase",null);nt(this,"_asyncEffects",[]);nt(this,"parent",null);this._renderId=`${f4n++}`,this.children=[],this.renderPhaseStates={};for(const e of Iw)this.renderPhaseStates[e]={initialized:!1,dirty:!1}}_markDirty(n){var t;this.renderPhaseStates[n].dirty=!0;const e=Iw.indexOf(n);for(let r=e+1;r<Iw.length;r++)this.renderPhaseStates[Iw[r]].dirty=!0;(t=this.parent)!=null&&t._markDirty&&this.parent._markDirty(n)}_queueAsyncEffect(n,e){const t={promise:e(),phase:this._currentRenderPhase,effectName:n,complete:!1};this._asyncEffects.push(t),"root"in this&&this.root&&this.root.emit("asyncEffect:start",{effectName:n,componentDisplayName:this.getString(),phase:t.phase}),t.promise.then(()=>{t.complete=!0,"root"in this&&this.root&&this.root.emit("asyncEffect:end",{effectName:n,componentDisplayName:this.getString(),phase:t.phase})}).catch(r=>{console.error(`Async effect error in ${t.phase} "${n}":
13283
13283
  ${r.stack}`),t.complete=!0,"root"in this&&this.root&&this.root.emit("asyncEffect:end",{effectName:n,componentDisplayName:this.getString(),phase:t.phase,error:r.toString()})})}_emitRenderLifecycleEvent(n,e){u4n(`${n}:${e} ${this.getString()}`);const t=`renderable:renderLifecycle:${n}:${e}`,r={renderId:this._renderId,componentDisplayName:this.getString(),type:t};"root"in this&&this.root&&(this.root.emit(t,r),this.root.emit("renderable:renderLifecycle:anyEvent",{...r,type:t}))}getString(){return this.constructor.name}_hasIncompleteAsyncEffects(){return this._asyncEffects.some(n=>!n.complete)}getCurrentRenderPhase(){return this._currentRenderPhase}getRenderGraph(){return{id:this._renderId,currentPhase:this._currentRenderPhase,renderPhaseStates:this.renderPhaseStates,shouldBeRemoved:this.shouldBeRemoved,children:this.children.map(n=>n.getRenderGraph())}}runRenderCycle(){for(const n of Iw)this.runRenderPhaseForChildren(n),this.runRenderPhase(n)}runRenderPhase(n){var a,o,s;this._currentRenderPhase=n;const e=this.renderPhaseStates[n],t=e.initialized,r=e.dirty;if(!t&&this.shouldBeRemoved)return;if(this.shouldBeRemoved&&t){this._emitRenderLifecycleEvent(n,"start"),(a=this==null?void 0:this[`remove${n}`])==null||a.call(this),e.initialized=!1,e.dirty=!1,this._emitRenderLifecycleEvent(n,"end");return}const i=Iw.indexOf(n)-1;if(i>=0){const l=Iw[i];if(this._asyncEffects.filter(u=>u.phase===l).some(u=>!u.complete))return}if(this._emitRenderLifecycleEvent(n,"start"),t){r&&((o=this==null?void 0:this[`update${n}`])==null||o.call(this),e.dirty=!1),this._emitRenderLifecycleEvent(n,"end");return}e.dirty=!1,(s=this==null?void 0:this[`doInitial${n}`])==null||s.call(this),e.initialized=!0,this._emitRenderLifecycleEvent(n,"end")}runRenderPhaseForChildren(n){for(const e of this.children)e.runRenderPhaseForChildren(n),e.runRenderPhase(n)}renderError(n){throw typeof n=="string"?new Error(n):new Error(JSON.stringify(n,null,2))}},SH={},ZJe=n=>{const e=Object.fromEntries(Object.entries(n).map(([t,r])=>[t.toLowerCase(),r]));Object.assign(SH,n),Object.assign(SH,e)};function d4n(n,e){const t=n;return t.__tsci={...e},n}var QJe={supportsMutation:!0,createInstance(n,e){const t=SH[n];if(!t)throw Object.keys(SH).length===0?new Error("No components registered in catalogue, did you forget to import lib/register-catalogue in your test file?"):new Error(`Unsupported component type (not registered in @tscircuit/core catalogue): "${n}" See CREATING_NEW_COMPONENTS.md`);return d4n(new t(e),{})},createTextInstance(){return{}},appendInitialChild(n,e){n.add(e)},appendChild(n,e){n.add(e)},appendChildToContainer(n,e){n.add(e)},finalizeInitialChildren(){return!1},prepareUpdate(){return null},shouldSetTextContent(){return!1},getRootHostContext(){return{}},getChildHostContext(){return{}},prepareForCommit(){return null},resetAfterCommit(){},commitMount(){},commitUpdate(){},removeChild(){},clearContainer(){},supportsPersistence:!1,getPublicInstance(n){return n},preparePortalMount(n){throw new Error("Function not implemented.")},scheduleTimeout(n,e){throw new Error("Function not implemented.")},cancelTimeout(n){throw new Error("Function not implemented.")},noTimeout:void 0,isPrimaryRenderer:!1,getInstanceFromNode(n){throw new Error("Function not implemented.")},beforeActiveInstanceBlur(){throw new Error("Function not implemented.")},afterActiveInstanceBlur(){throw new Error("Function not implemented.")},prepareScopeUpdate:(n,e)=>{throw new Error("Function not implemented.")},getInstanceFromScope:n=>{throw new Error("Function not implemented.")},detachDeletedInstance:n=>{throw new Error("Function not implemented.")},getCurrentEventPriority:()=>Q8.DefaultEventPriority,getCurrentUpdatePriority:()=>Q8.DefaultEventPriority,resolveUpdatePriority:()=>Q8.DefaultEventPriority,setCurrentUpdatePriority:()=>{},maySuspendCommit:()=>!1,supportsHydration:!1},Fw;Jc.version.startsWith("19.")?Fw=lG(QJe):Fw=fG(QJe);var p4n=n=>{const e={children:[],props:{name:"$root"},add(a){a.parent=this,this.children.push(a)},computePcbGlobalTransform(){return u9()}},t=[],r=Fw.createContainer(e,0,null,!1,null,"tsci",a=>{console.log("Error in createContainer"),console.error(a),t.push(a)},null);if(Jc.version.startsWith("19.")?(Fw.updateContainerSync(n,r,null,()=>{}),Fw.flushSyncWork()):Fw.updateContainer(n,r,null,()=>{}),t.length>0)throw t[0];const i=Fw.getPublicRootInstance(r);return i||e.children[0]},jP=(n,e)=>{if(typeof n=="number")return n;if(n.startsWith("pin"))return Number(n.slice(3));if(!e)throw new Error(`No pin labels provided and pin number or label is not a number: "${n}"`);for(const t in e)if((Array.isArray(e[t])?e[t]:[e[t]]).includes(n))return Number(t.replace("pin",""));throw new Error(`No pin labels provided and pin number or label is not a number: "${n}"`)},h4n=(n,e)=>{if(!n)return;const t={},r={};for(const[i,a]of Object.entries(n)){const o=jP(i,e);r[o]={...r[o],...a}}for(const[i,a]of Object.entries(r)){const o=`pin${i}`;t[o]={bottom_margin:a.bottomMargin,left_margin:a.leftMargin,right_margin:a.rightMargin,top_margin:a.topMargin}}return t},m4n=n=>{if(n){if("leftSide"in n||"rightSide"in n||"topSide"in n||"bottomSide"in n)return{left_side:n.leftSide,right_side:n.rightSide,top_side:n.topSide,bottom_side:n.bottomSide};if("leftPinCount"in n||"rightPinCount"in n||"topPinCount"in n||"bottomPinCount"in n)return{left_size:n.leftPinCount,right_size:n.rightPinCount,top_size:n.topPinCount,bottom_size:n.bottomPinCount};if("leftSize"in n||"rightSize"in n||"topSize"in n||"bottomSize"in n)return{left_size:n.leftSize,right_size:n.rightSize,top_size:n.topSize,bottom_size:n.bottomSize}}},y4n=class extends Error{constructor(n,e,t){let r;const a=Object.keys(t).filter(o=>o!=="_errors").map(o=>t[o]._errors[0]?`${o} (${t[o]._errors[0]})`:`${o} (${JSON.stringify(t[o])})`).join(", ");"name"in e?r=`Invalid props for ${n} "${e.name}": ${a}`:"footprint"in e&&typeof e.footprint=="string"?r=`Invalid props for ${n} (unnamed ${e.footprint} component): ${a}`:r=`Invalid props for ${n} (unnamed): ${a}`,super(r),this.componentName=n,this.originalProps=e,this.formattedError=t}};function uhe(n,e){const t=e.match(/^#(\w+)/);if(t)return n.props.id===t[1];const r=e.match(/^\.(\w+)/);if(r)return n.isMatchingNameOrAlias(r[1]);let[i,...a]=e.split(/(?=[#.[])/);return i==="pin"&&(i="port"),i&&i!=="*"&&n.lowercaseComponentName!==i.toLowerCase()?!1:a.every(o=>{if(o.startsWith("#"))return n.props.id===o.slice(1);if(o.startsWith("."))return n.isMatchingNameOrAlias(o.slice(1));const s=o.match(/\[(\w+)=['"]?(.+?)['"]?\]/);if(!s)return!0;const[,l,c]=s;return n.props[l].toString()===c})}var fhe={isTag:n=>!0,getParent:n=>n.parent,getChildren:n=>n.children,getName:n=>n.lowercaseComponentName,getAttributeValue:(n,e)=>{var t;if(e==="class"&&"getNameAndAliases"in n)return n.getNameAndAliases().join(" ");if(e==="name"&&((t=n._parsedProps)!=null&&t.name))return n._parsedProps.name;if(n._parsedProps&&e in n._parsedProps){const r=n._parsedProps[e];return typeof r=="string"?r:r!=null?String(r):null}return null},hasAttrib:(n,e)=>{var t;return e==="class"?!!((t=n._parsedProps)!=null&&t.name):n._parsedProps&&e in n._parsedProps},getSiblings:n=>n.parent?n.parent.children:[],prevElementSibling:n=>{if(!n.parent)return null;const e=n.parent.children,t=e.indexOf(n);return t>0?e[t-1]:null},getText:()=>"",removeSubsets:n=>n.filter((e,t)=>!n.some((r,i)=>t!==i&&r!==e&&r.getDescendants().includes(e))),existsOne:(n,e)=>e.some(n),findAll:(n,e)=>{const t=[],r=i=>{n(i)&&t.push(i);for(const a of i.children)r(a)};for(const i of e)r(i);return t},findOne:(n,e)=>{for(const t of e){if(n(t))return t;const r=t.children;if(r.length>0){const i=fhe.findOne(n,r);if(i)return i}}return null},equals:(n,e)=>n._renderId===e._renderId,isHovered:n=>!1,isVisited:n=>!1,isActive:n=>!1},v4n={...fhe,getChildren:n=>n.children.filter(e=>!e.isSubcircuit)},KJe={...fhe,getChildren:n=>n.children.filter(e=>e.isSubcircuit)},JJe=n=>n.replace(/ pin/g," port").replace(/ subcircuit\./g," group[isSubcircuit=true]").replace(/([^ ])\>([^ ])/g,"$1 > $2").trim(),dhe={adapter:v4n,cacheResults:!0},yx=class extends WJe{constructor(e){super(e);nt(this,"parent",null);nt(this,"children");nt(this,"childrenPendingRemoval");nt(this,"props");nt(this,"_parsedProps");nt(this,"externallyAddedAliases");nt(this,"isPrimitiveContainer",!1);nt(this,"source_group_id",null);nt(this,"source_component_id",null);nt(this,"schematic_component_id",null);nt(this,"pcb_component_id",null);nt(this,"cad_component_id",null);nt(this,"_cachedSelectAllQueries",new Map);nt(this,"_cachedSelectOneQueries",new Map);this.children=[],this.childrenPendingRemoval=[],this.props=e??{},this.externallyAddedAliases=[];const t=this.config.zodProps.safeParse(e??{});if(t.success)this._parsedProps=t.data;else throw new y4n(this.lowercaseComponentName,this.props,t.error.format())}get config(){return{componentName:"",zodProps:v.object({}).passthrough()}}get componentName(){return this.config.componentName}getInheritedProperty(e){let t=this;for(;t;){if(t._parsedProps&&e in t._parsedProps)return t._parsedProps[e];t=t.parent}}get lowercaseComponentName(){return this.componentName.toLowerCase()}get isSubcircuit(){var e;return!!this.props.subcircuit||this.lowercaseComponentName==="group"&&((e=this==null?void 0:this.parent)==null?void 0:e.isRoot)}get isGroup(){return this.lowercaseComponentName==="group"}setProps(e){var i,a;const t=this.config.zodProps.parse({...this.props,...e}),r=this.props;this.props=t,this._parsedProps=this.config.zodProps.parse(e),this.onPropsChange({oldProps:r,newProps:t,changedProps:Object.keys(e)}),(a=(i=this.parent)==null?void 0:i.onChildChanged)==null||a.call(i,this)}computePcbPropsTransform(){const{_parsedProps:e}=this;return Mc(k0(e.pcbX??0,e.pcbY??0),u2((e.pcbRotation??0)*Math.PI/180))}_computePcbGlobalTransformBeforeLayout(){var r,i,a;const{_parsedProps:e}=this,t=this.getSubcircuit()._getPcbManualPlacementForComponent(this);if(t&&this.props.pcbX===void 0&&this.props.pcbY===void 0)return Mc(((r=this.parent)==null?void 0:r._computePcbGlobalTransformBeforeLayout())??u9(),Mc(k0(t.x,t.y),u2((e.pcbRotation??0)*Math.PI/180)));if(this.isPcbPrimitive){const o=this.getPrimitiveContainer();if(o){const s=o._parsedProps.layer==="bottom",l=o._getGlobalPcbPositionBeforeLayout();if(s)return Mc(k0(l.x,l.y),m7(),k0(-l.x,-l.y)),Mc(((i=this.parent)==null?void 0:i._computePcbGlobalTransformBeforeLayout())??u9(),m7(),this.computePcbPropsTransform())}}return Mc(((a=this.parent)==null?void 0:a._computePcbGlobalTransformBeforeLayout())??u9(),this.computePcbPropsTransform())}getPrimitiveContainer(){var e,t;return this.isPrimitiveContainer?this:((t=(e=this.parent)==null?void 0:e.getPrimitiveContainer)==null?void 0:t.call(e))??null}_getPcbCircuitJsonBounds(){return{center:{x:0,y:0},bounds:{left:0,top:0,right:0,bottom:0},width:0,height:0}}_getPcbPrimitiveFlippedHelpers(){const e=this.getPrimitiveContainer(),t=e?e._parsedProps.layer==="bottom":!1;return{isFlipped:t,maybeFlipLayer:i=>t?i==="top"?"bottom":"top":i}}_setPositionFromLayout(e){throw new Error(`_setPositionFromLayout not implemented for ${this.componentName}`)}computeSchematicPropsTransform(){const{_parsedProps:e}=this;return Mc(k0(e.schX??0,e.schY??0))}computeSchematicGlobalTransform(){var t,r;const e=this._getSchematicGlobalManualPlacementTransform(this);return e||Mc(((r=(t=this.parent)==null?void 0:t.computeSchematicGlobalTransform)==null?void 0:r.call(t))??u9(),this.computeSchematicPropsTransform())}_getSchematicSymbolName(){const{_parsedProps:e}=this,t=this.config.schematicSymbolName;let r=e.schRotation;if(r===void 0&&(r=0),r=r%360,r<0&&(r+=360),e.schRotation!==void 0&&r%90!==0)throw new Error(`Schematic rotation ${e.schRotation} is not supported for ${this.componentName}`);const i=`${t}_horz`,a=`${t}_vert`,o=`${t}_up`,s=`${t}_down`,l=`${t}_left`,c=`${t}_right`;if(c in ob&&r===0)return c;if(o in ob&&r===90)return o;if(l in ob&&r===180)return l;if(s in ob&&r===270)return s;if(i in ob&&(r===0||r===180))return i;if(a in ob&&(r===90||r===270))return a;if(t in ob)return t}_getSchematicSymbolNameOrThrow(){const e=this._getSchematicSymbolName();if(!e)throw new Error(`No schematic symbol found (given: "${this.config.schematicSymbolName}")`);return e}getSchematicSymbol(){const e=this._getSchematicSymbolName();return e?ob[e]??null:null}_getPcbManualPlacementForComponent(e){var a;if(!this.isSubcircuit)return null;const t=this.props.layout,r=this.props.manualEdits;if(!t&&!r)return null;const i=((a=t==null?void 0:t.manual_pcb_placement_config)==null?void 0:a.positions)||(r==null?void 0:r.pcb_placements);if(!i)return null;for(const o of i)if(t&&uhe(e,o.selector)||e.props.name===o.selector)return gr(this._computePcbGlobalTransformBeforeLayout(),o.center);return null}_getSchematicManualPlacementForComponent(e){if(!this.isSubcircuit)return null;const t=this.props.manualEdits;if(!t)return null;const r=t.schematic_placements;if(!r)return null;for(const i of r)if(uhe(e,i.selector)||e.props.name===i.selector)return gr(this.computeSchematicGlobalTransform(),i.center);return null}_getSchematicGlobalManualPlacementTransform(e){var r,i;const t=(r=this.getSubcircuit())==null?void 0:r._parsedProps.manualEdits;if(!t)return null;for(const a of t.schematic_placements??[])if((uhe(e,a.selector)||e.props.name===a.selector)&&a.relative_to==="group_center")return Mc(((i=this.parent)==null?void 0:i._computePcbGlobalTransformBeforeLayout())??u9(),k0(a.center.x,a.center.y));return null}_getGlobalPcbPositionBeforeLayout(){return gr(this._computePcbGlobalTransformBeforeLayout(),{x:0,y:0})}_getGlobalSchematicPositionBeforeLayout(){return gr(this.computeSchematicGlobalTransform(),{x:0,y:0})}get root(){var e;return((e=this.parent)==null?void 0:e.root)??null}onAddToParent(e){this.parent=e}onPropsChange(e){}onChildChanged(e){var t,r;(r=(t=this.parent)==null?void 0:t.onChildChanged)==null||r.call(t,e)}add(e){if(!e.onAddToParent)throw new Error(`Invalid JSX Element: Expected a React component but received "${JSON.stringify(e)}"`);e.onAddToParent(this),e.parent=this,this.children.push(e)}addAll(e){for(const t of e)this.add(t)}remove(e){this.children=this.children.filter(t=>t!==e),this.childrenPendingRemoval.push(e),e.shouldBeRemoved=!0}getSubcircuitSelector(){const e=this._parsedProps.name,t=e?`${this.lowercaseComponentName}.${e}`:this.lowercaseComponentName;return!this.parent||this.parent.isSubcircuit?t:`${this.parent.getSubcircuitSelector()} > ${t}`}getFullPathSelector(){var i,a;const e=this._parsedProps.name,t=e?`${this.lowercaseComponentName}.${e}`:this.lowercaseComponentName,r=(a=(i=this.parent)==null?void 0:i.getFullPathSelector)==null?void 0:a.call(i);return r?`${r} > ${t}`:t}getNameAndAliases(){return[this._parsedProps.name,...this._parsedProps.portHints??[]].filter(Boolean)}isMatchingNameOrAlias(e){return this.getNameAndAliases().includes(e)}isMatchingAnyOf(e){return this.getNameAndAliases().some(t=>e.map(r=>r.toString()).includes(t))}getPcbSize(){throw new Error(`getPcbSize not implemented for ${this.componentName}`)}doesSelectorMatch(e){const t=[this.componentName,this.lowercaseComponentName],r=[this._parsedProps.name].filter(Boolean),i=e.trim().split(/\> /)[0],a=i[0];return i.length>1?!1:!!(e==="*"||e[0]==="#"&&e.slice(1)===this.props.id||e[0]==="."&&r.includes(e.slice(1))||/^[a-zA-Z0-9_]/.test(a)&&t.includes(a))}getSubcircuit(){var t,r;if(this.isSubcircuit)return this;const e=(r=(t=this.parent)==null?void 0:t.getSubcircuit)==null?void 0:r.call(t);if(!e)throw new Error("Component is not inside an opaque group (no board?)");return e}getGroup(){var e,t;return this.isGroup?this:((t=(e=this.parent)==null?void 0:e.getGroup)==null?void 0:t.call(e))??null}doInitialOptimizeSelectorCache(){var t;if(!this.isSubcircuit)return;const e=this.selectAll("port");for(const r of e){const i=(t=r.parent)==null?void 0:t.getNameAndAliases(),a=r.getNameAndAliases();if(i)for(const o of i)for(const s of a){const l=[`.${o} > .${s}`,`.${o} .${s}`];for(const c of l){const u=this._cachedSelectAllQueries.get(c);u?u.push(r):this._cachedSelectAllQueries.set(c,[r])}}}for(const[r,i]of this._cachedSelectAllQueries.entries())i.length===1&&this._cachedSelectOneQueries.set(r,i[0])}selectAll(e){if(this._cachedSelectAllQueries.has(e))return this._cachedSelectAllQueries.get(e);const t=JJe(e),r=EE(t,this,dhe);if(r.length>0)return this._cachedSelectAllQueries.set(e,r),r;const[i,...a]=t.split(" "),o=K8(i,this,{adapter:KJe});if(!o)return[];const s=o.selectAll(a.join(" "));return this._cachedSelectAllQueries.set(e,s),s}selectOne(e,t){if(this._cachedSelectOneQueries.has(e))return this._cachedSelectOneQueries.get(e);const r=JJe(e);t!=null&&t.port&&(t.type="port");let i=null;if(t!=null&&t.type&&(i=EE(r,this,dhe).find(c=>c.lowercaseComponentName===t.type)),i??(i=K8(r,this,dhe)),i)return this._cachedSelectOneQueries.set(e,i),i;const[a,...o]=r.split(" "),s=K8(a,this,{adapter:KJe});return s?(i=s.selectOne(o.join(" "),t),this._cachedSelectOneQueries.set(e,i),i):null}getAvailablePcbLayers(){var e,t;if(this.isPcbPrimitive){const{maybeFlipLayer:r}=this._getPcbPrimitiveFlippedHelpers();return"layer"in this._parsedProps||this.componentName==="SmtPad"?[r(this._parsedProps.layer??"top")]:"layers"in this._parsedProps?this._parsedProps.layers:this.componentName==="PlatedHole"?((t=(e=this.root)==null?void 0:e._getBoard())==null?void 0:t.allLayers)??["top","bottom"]:[]}return[]}getDescendants(){const e=[];for(const t of this.children)e.push(t),e.push(...t.getDescendants());return e}getSelectableDescendants(){const e=[];for(const t of this.children)t.isSubcircuit?e.push(t):(e.push(t),e.push(...t.getSelectableDescendants()));return e}_getPinCount(){return 0}_getSchematicBoxDimensions(){return null}renderError(e){var t;if(typeof e=="string")return super.renderError(e);(t=this.root)==null||t.db.pcb_placement_error.insert(e)}getString(){var i,a;const{lowercaseComponentName:e,_parsedProps:t,parent:r}=this;return(t==null?void 0:t.pinNumber)!==void 0&&((i=r==null?void 0:r.props)!=null&&i.name)&&(t!=null&&t.name)?`<${e}#${this._renderId}(pin:${t.pinNumber} .${r==null?void 0:r.props.name}>.${t.name}) />`:(a=r==null?void 0:r.props)!=null&&a.name&&(t!=null&&t.name)?`<${e}#${this._renderId}(.${r==null?void 0:r.props.name}>.${t==null?void 0:t.name}) />`:t!=null&&t.from&&(t!=null&&t.to)?`<${e}#${this._renderId}(from:${t.from} to:${t==null?void 0:t.to}) />`:t!=null&&t.name?`<${e}#${this._renderId} name=".${t==null?void 0:t.name}" />`:t!=null&&t.portHints?`<${e}#${this._renderId}(${t.portHints.map(o=>`.${o}`).join(", ")}) />`:`<${e}#${this._renderId} />`}get[Symbol.toStringTag](){return this.getString()}[Symbol.for("nodejs.util.inspect.custom")](){return this.getString()}};function eet(n){const e=[];for(let t=0;t<n.length-1;t++)e.push([n[t],n[t+1]]);return e}var g4n=v.object({name:v.string()}),tet=class extends yx{constructor(){super(...arguments);nt(this,"source_net_id")}get config(){return{componentName:"Net",zodProps:g4n}}getPortSelector(){return`net.${this.props.name}`}doInitialSourceRender(){const{db:e}=this.root,{_parsedProps:t}=this,r=e.source_net.insert({name:t.name,member_source_group_ids:[]});this.source_net_id=r.source_net_id}doInitialSourceParentAttachment(){const e=this.getSubcircuit();if(!e)return;const{db:t}=this.root;t.source_net.update(this.source_net_id,{subcircuit_id:e.subcircuit_id})}getAllConnectedPorts(){const e=this.getSubcircuit().selectAll("port"),t=[];for(const r of e){const i=r._getDirectlyConnectedTraces();for(const a of i)if(a._isExplicitlyConnectedToNet(this)){t.push(r);break}}return t}_getAllDirectlyConnectedTraces(){const e=this.getSubcircuit().selectAll("trace"),t=[];for(const r of e)r._isExplicitlyConnectedToNet(this)&&t.push(r);return t}doInitialPcbRouteNetIslands(){var o;if((o=this.root)!=null&&o.pcbDisabled||this.getSubcircuit()._parsedProps.routingDisabled||this.getSubcircuit()._getAutorouterConfig().groupMode!=="sequential-trace")return;const{db:e}=this.root,{_parsedProps:t}=this,r=this._getAllDirectlyConnectedTraces().filter(s=>{var l;return(((l=s._portsRoutedOnPcb)==null?void 0:l.length)??0)>0}),i=[];for(const s of r){const l=s._portsRoutedOnPcb,c=i.find(u=>l.some(f=>u.ports.includes(f)));if(!c){i.push({ports:[...l],traces:[s]});continue}c.traces.push(s),c.ports.push(...l)}if(i.length===0)return;const a=eet(i);for(const[s,l]of a){const c=s.ports.map(M=>M._getGlobalPcbPositionBeforeLayout()),u=l.ports.map(M=>M._getGlobalPcbPositionBeforeLayout());let f=1/0,d=[-1,-1];for(let M=0;M<c.length;M++){const N=c[M];for(let k=0;k<u.length;k++){const V=u[k],Y=Math.sqrt((N.x-V.x)**2+(N.y-V.y)**2);Y<f&&(f=Y,d=[M,k])}}const m=s.ports[d[0]],g=l.ports[d[1]],E=e.toArray().filter(M=>M.type==="pcb_smtpad"||M.type==="pcb_trace"||M.type==="pcb_plated_hole"||M.type==="pcb_hole"||M.type==="source_port"||M.type==="pcb_port"),{solution:w}=VY(E.concat([{type:"source_trace",source_trace_id:"__net_trace_tmp",connected_source_port_ids:[m.source_port_id,g.source_port_id]}])),S=w[0];if(!S){this.renderError({pcb_trace_error_id:"",pcb_trace_id:"__net_trace_tmp",pcb_component_ids:[m.pcb_component_id,g.pcb_component_id].filter(Boolean),pcb_port_ids:[m.pcb_port_id,g.pcb_port_id].filter(Boolean),type:"pcb_trace_error",error_type:"pcb_trace_error",message:`Failed to route net islands for "${this.getString()}"`,source_trace_id:"__net_trace_tmp"});return}e.pcb_trace.insert(S)}}renderError(e){var t;if(typeof e=="string")return super.renderError(e);(t=this.root)==null||t.db.pcb_trace_error.insert(e)}},net=(n,e)=>{for(const t of e)if(typeof t=="string"&&t.startsWith("net.")){const r=n.getSubcircuit();if(!r.selectOne(t)){const i=new tet({name:t.split("net.")[1]});r.add(i)}}},phe=class extends yx{constructor(){super(...arguments);nt(this,"pcb_smtpad_id",null);nt(this,"matchedPort",null);nt(this,"isPcbPrimitive",!0)}get config(){return{componentName:"SmtPad",zodProps:R3n}}getPcbSize(){const{_parsedProps:e}=this;if(e.shape==="circle")return{width:e.radius*2,height:e.radius*2};if(e.shape==="rect")return{width:e.width,height:e.height};throw new Error(`getPcbSize for shape "${e.shape}" not implemented for ${this.componentName}`)}doInitialPortMatching(){var t;const e=(t=this.getPrimitiveContainer())==null?void 0:t.selectAll("port");if(this.props.portHints){for(const r of e)if(r.isMatchingAnyOf(this.props.portHints)){this.matchedPort=r,r.registerMatch(this);return}}}doInitialPcbPrimitiveRender(){var d,m,g,E,w,S,M,N,k;if((d=this.root)!=null&&d.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this;if(!t.portHints)return;const r=this.getPrimitiveContainer(),i=this.getSubcircuit(),a=this._getGlobalPcbPositionBeforeLayout();r==null||r._getGlobalPcbPositionBeforeLayout();const o=nS(this._computePcbGlobalTransformBeforeLayout()),s=Math.abs(o.rotation.angle*(180/Math.PI)-90)%180<.01,{maybeFlipLayer:l}=this._getPcbPrimitiveFlippedHelpers(),c=(r==null?void 0:r._parsedProps.pcbRotation)??0;let u=null;const f=((m=this.parent)==null?void 0:m.pcb_component_id)??((g=this.getPrimitiveContainer())==null?void 0:g.pcb_component_id);t.shape==="circle"?(u=e.pcb_smtpad.insert({pcb_component_id:f,pcb_port_id:(E=this.matchedPort)==null?void 0:E.pcb_port_id,layer:l(t.layer??"top"),shape:"circle",radius:t.radius,port_hints:t.portHints.map(V=>V.toString()),x:a.x,y:a.y,subcircuit_id:(i==null?void 0:i.subcircuit_id)??void 0}),e.pcb_solder_paste.insert({layer:u.layer,shape:"circle",radius:u.radius*.7,x:u.x,y:u.y,pcb_component_id:u.pcb_component_id,pcb_smtpad_id:u.pcb_smtpad_id,subcircuit_id:(i==null?void 0:i.subcircuit_id)??void 0,pcb_group_id:((w=this.getGroup())==null?void 0:w.pcb_group_id)??void 0})):t.shape==="rect"&&(u=c===0||s?e.pcb_smtpad.insert({pcb_component_id:f,pcb_port_id:(S=this.matchedPort)==null?void 0:S.pcb_port_id,layer:l(t.layer??"top"),shape:"rect",width:s?t.height:t.width,height:s?t.width:t.height,port_hints:t.portHints.map(V=>V.toString()),x:a.x,y:a.y,subcircuit_id:(i==null?void 0:i.subcircuit_id)??void 0,pcb_group_id:((M=this.getGroup())==null?void 0:M.pcb_group_id)??void 0}):e.pcb_smtpad.insert({pcb_component_id:f,layer:t.layer??"top",shape:"rotated_rect",width:t.width,height:t.height,x:a.x,y:a.y,ccw_rotation:c,port_hints:t.portHints.map(V=>V.toString()),subcircuit_id:(i==null?void 0:i.subcircuit_id)??void 0,pcb_group_id:((N=this.getGroup())==null?void 0:N.pcb_group_id)??void 0}),u.shape==="rect"&&e.pcb_solder_paste.insert({layer:u.layer,shape:"rect",width:u.width*.7,height:u.height*.7,x:u.x,y:u.y,pcb_component_id:u.pcb_component_id,pcb_smtpad_id:u.pcb_smtpad_id,subcircuit_id:(i==null?void 0:i.subcircuit_id)??void 0,pcb_group_id:((k=this.getGroup())==null?void 0:k.pcb_group_id)??void 0})),u&&(this.pcb_smtpad_id=u.pcb_smtpad_id)}doInitialPcbPortAttachment(){var t,r;if((t=this.root)!=null&&t.pcbDisabled)return;const{db:e}=this.root;e.pcb_smtpad.update(this.pcb_smtpad_id,{pcb_port_id:(r=this.matchedPort)==null?void 0:r.pcb_port_id})}_getPcbCircuitJsonBounds(){const{db:e}=this.root,t=e.pcb_smtpad.get(this.pcb_smtpad_id);if(t.shape==="rect")return{center:{x:t.x,y:t.y},bounds:{left:t.x-t.width/2,top:t.y+t.height/2,right:t.x+t.width/2,bottom:t.y-t.height/2},width:t.width,height:t.height};if(t.shape==="rotated_rect"){const r=t.ccw_rotation*Math.PI/180,i=Math.cos(r),a=Math.sin(r),o=t.width/2,s=t.height/2,l=Math.abs(o*i)+Math.abs(s*a),c=Math.abs(o*a)+Math.abs(s*i);return{center:{x:t.x,y:t.y},bounds:{left:t.x-l,right:t.x+l,top:t.y-c,bottom:t.y+c},width:l*2,height:c*2}}if(t.shape==="circle")return{center:{x:t.x,y:t.y},bounds:{left:t.x-t.radius,top:t.y-t.radius,right:t.x+t.radius,bottom:t.y+t.radius},width:t.radius*2,height:t.radius*2};throw new Error(`circuitJson bounds calculation not implemented for shape "${t.shape}"`)}_setPositionFromLayout(e){var i;const{db:t}=this.root;t.pcb_smtpad.update(this.pcb_smtpad_id,{x:e.x,y:e.y});const r=t.pcb_solder_paste.list().find(a=>a.pcb_smtpad_id===this.pcb_smtpad_id);t.pcb_solder_paste.update(r==null?void 0:r.pcb_solder_paste_id,{x:e.x,y:e.y}),(i=this.matchedPort)==null||i._setPositionFromLayout(e)}},ret=class extends yx{constructor(){super(...arguments);nt(this,"pcb_silkscreen_path_id",null);nt(this,"isPcbPrimitive",!0)}get config(){return{componentName:"SilkscreenPath",zodProps:e4n}}doInitialPcbPrimitiveRender(){var l,c,u;if((l=this.root)!=null&&l.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,{maybeFlipLayer:r}=this._getPcbPrimitiveFlippedHelpers(),i=r(t.layer??"top");if(i!=="top"&&i!=="bottom")throw new Error(`Invalid layer "${i}" for SilkscreenPath. Must be "top" or "bottom".`);const a=this._computePcbGlobalTransformBeforeLayout(),o=this.getSubcircuit(),s=e.pcb_silkscreen_path.insert({pcb_component_id:(c=this.parent)==null?void 0:c.pcb_component_id,layer:i,route:t.route.map(f=>{const d=gr(a,{x:f.x,y:f.y});return{...f,x:d.x,y:d.y}}),stroke_width:t.strokeWidth??.1,subcircuit_id:(o==null?void 0:o.subcircuit_id)??void 0,pcb_group_id:((u=this.getGroup())==null?void 0:u.pcb_group_id)??void 0});this.pcb_silkscreen_path_id=s.pcb_silkscreen_path_id}getPcbSize(){const{_parsedProps:e}=this;if(!e.route||e.route.length===0)return{width:0,height:0};let t=1/0,r=-1/0,i=1/0,a=-1/0;for(const o of e.route)t=Math.min(t,o.x),r=Math.max(r,o.x),i=Math.min(i,o.y),a=Math.max(a,o.y);return{width:r-t,height:a-i}}},iet=class extends yx{constructor(){super(...arguments);nt(this,"pcb_plated_hole_id",null);nt(this,"matchedPort",null);nt(this,"isPcbPrimitive",!0)}get config(){return{componentName:"PlatedHole",zodProps:u3n}}getAvailablePcbLayers(){return["top","inner1","inner2","bottom"]}getPcbSize(){const{_parsedProps:e}=this;if(e.shape==="circle")return{width:e.outerDiameter,height:e.outerDiameter};if(e.shape==="oval"||e.shape==="pill")return{width:e.outerWidth,height:e.outerHeight};throw new Error(`getPcbSize for shape "${e.shape}" not implemented for ${this.componentName}`)}_getPcbCircuitJsonBounds(){const{db:e}=this.root,t=e.pcb_plated_hole.get(this.pcb_plated_hole_id),r=this.getPcbSize();return{center:{x:t.x,y:t.y},bounds:{left:t.x-r.width/2,top:t.y+r.height/2,right:t.x+r.width/2,bottom:t.y-r.height/2},width:r.width,height:r.height}}_setPositionFromLayout(e){var r;const{db:t}=this.root;t.pcb_plated_hole.update(this.pcb_plated_hole_id,{x:e.x,y:e.y}),(r=this.matchedPort)==null||r._setPositionFromLayout(e)}doInitialPortMatching(){var t;const e=(t=this.getPrimitiveContainer())==null?void 0:t.selectAll("port");if(this.props.portHints){for(const r of e)if(r.isMatchingAnyOf(this.props.portHints)){this.matchedPort=r,r.registerMatch(this);return}}}doInitialPcbPrimitiveRender(){var o,s,l,c,u,f,d;if((o=this.root)!=null&&o.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r=this._getGlobalPcbPositionBeforeLayout(),i=((s=this.parent)==null?void 0:s.pcb_component_id)??((l=this.getPrimitiveContainer())==null?void 0:l.pcb_component_id),a=this.getSubcircuit();if(t.shape==="circle"){const m=e.pcb_plated_hole.insert({pcb_component_id:i,pcb_port_id:(c=this.matchedPort)==null?void 0:c.pcb_port_id,outer_diameter:t.outerDiameter,hole_diameter:t.holeDiameter,shape:"circle",port_hints:this.getNameAndAliases(),x:r.x,y:r.y,layers:["top","bottom"],subcircuit_id:(a==null?void 0:a.subcircuit_id)??void 0,pcb_group_id:((u=this.getGroup())==null?void 0:u.pcb_group_id)??void 0});this.pcb_plated_hole_id=m.pcb_plated_hole_id}else if(t.shape==="pill"||t.shape==="oval"){const m=e.pcb_plated_hole.insert({pcb_component_id:i,pcb_port_id:(f=this.matchedPort)==null?void 0:f.pcb_port_id,outer_width:t.outerWidth,outer_height:t.outerHeight,hole_width:t.holeWidth,hole_height:t.holeHeight,shape:t.shape,port_hints:this.getNameAndAliases(),x:r.x,y:r.y,layers:["top","bottom"],subcircuit_id:(a==null?void 0:a.subcircuit_id)??void 0,pcb_group_id:((d=this.getGroup())==null?void 0:d.pcb_group_id)??void 0});this.pcb_plated_hole_id=m.pcb_plated_hole_id}}doInitialPcbPortAttachment(){var t,r;if((t=this.root)!=null&&t.pcbDisabled)return;const{db:e}=this.root;e.pcb_plated_hole.update(this.pcb_plated_hole_id,{pcb_port_id:(r=this.matchedPort)==null?void 0:r.pcb_port_id})}},hhe=class extends yx{constructor(){super(...arguments);nt(this,"pcb_keepout_id",null);nt(this,"isPcbPrimitive",!0)}get config(){return{componentName:"Keepout",zodProps:Q3n}}doInitialPcbPrimitiveRender(){var l,c,u;if((l=this.root)!=null&&l.pcbDisabled)return;const e=this.getSubcircuit(),{db:t}=this.root,{_parsedProps:r}=this,i=this._getGlobalPcbPositionBeforeLayout(),a=nS(this._computePcbGlobalTransformBeforeLayout()),o=Math.abs(a.rotation.angle*(180/Math.PI)-90)%180<.01;let s=null;r.shape==="circle"?s=t.pcb_keepout.insert({layers:["top"],shape:"circle",radius:r.radius,center:{x:i.x,y:i.y},subcircuit_id:(e==null?void 0:e.subcircuit_id)??void 0,pcb_group_id:((c=e==null?void 0:e.getGroup())==null?void 0:c.pcb_group_id)??void 0}):r.shape==="rect"&&(s=t.pcb_keepout.insert({layers:["top"],shape:"rect",...o?{width:r.height,height:r.width}:{width:r.width,height:r.height},center:{x:i.x,y:i.y},subcircuit_id:(e==null?void 0:e.subcircuit_id)??void 0,pcb_group_id:((u=e==null?void 0:e.getGroup())==null?void 0:u.pcb_group_id)??void 0})),s&&(this.pcb_keepout_id=s.pcb_keepout_id)}},aet=class extends yx{constructor(){super(...arguments);nt(this,"pcb_hole_id",null);nt(this,"isPcbPrimitive",!0)}get config(){return{componentName:"Hole",zodProps:N3n}}getPcbSize(){const{_parsedProps:e}=this;return{width:e.diameter,height:e.diameter}}doInitialPcbPrimitiveRender(){var o,s;if((o=this.root)!=null&&o.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r=this.getSubcircuit(),i=this._getGlobalPcbPositionBeforeLayout(),a=e.pcb_hole.insert({hole_shape:"circle",hole_diameter:t.diameter,x:i.x,y:i.y,subcircuit_id:(r==null?void 0:r.subcircuit_id)??void 0,pcb_group_id:((s=r==null?void 0:r.getGroup())==null?void 0:s.pcb_group_id)??void 0});this.pcb_hole_id=a.pcb_hole_id}_getPcbCircuitJsonBounds(){const{db:e}=this.root,t=e.pcb_hole.get(this.pcb_hole_id),r=this.getPcbSize();return{center:{x:t.x,y:t.y},bounds:{left:t.x-r.width/2,top:t.y-r.height/2,right:t.x+r.width/2,bottom:t.y+r.height/2},width:r.width,height:r.height}}_setPositionFromLayout(e){const{db:t}=this.root;t.pcb_hole.update(this.pcb_hole_id,{x:e.x,y:e.y})}},oet=class extends yx{constructor(){super(...arguments);nt(this,"isPcbPrimitive",!0)}get config(){return{componentName:"SilkscreenText",zodProps:J3n}}doInitialPcbPrimitiveRender(){var s,l;if((s=this.root)!=null&&s.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r=this.getPrimitiveContainer(),i=this._getGlobalPcbPositionBeforeLayout(),{maybeFlipLayer:a}=this._getPcbPrimitiveFlippedHelpers(),o=this.getSubcircuit();e.pcb_silkscreen_text.insert({anchor_alignment:t.anchorAlignment,anchor_position:{x:i.x,y:i.y},font:t.font??"tscircuit2024",font_size:t.fontSize??1,layer:a(t.layer??"top"),text:t.text??"",ccw_rotation:t.pcbRotation,pcb_component_id:r.pcb_component_id,subcircuit_id:(o==null?void 0:o.subcircuit_id)??void 0,pcb_group_id:((l=this.getGroup())==null?void 0:l.pcb_group_id)??void 0})}getPcbSize(){const{_parsedProps:e}=this,t=e.fontSize??1,i=(e.text??"").length*t,a=t;return{width:i*t,height:a*t}}},_4n=({componentName:n,componentRotation:e},t)=>{const r=[];for(const i of t)if(i.type==="pcb_smtpad"&&i.shape==="rect")r.push(new phe({pcbX:i.x,pcbY:i.y,layer:i.layer,shape:"rect",height:i.height,width:i.width,portHints:i.port_hints}));else if(i.type==="pcb_smtpad"&&i.shape==="circle")r.push(new phe({pcbX:i.x,pcbY:i.y,layer:i.layer,shape:"circle",radius:i.radius,portHints:i.port_hints}));else if(i.type==="pcb_silkscreen_path")r.push(new ret({layer:i.layer,route:i.route,strokeWidth:i.stroke_width}));else if(i.type==="pcb_plated_hole"&&i.shape==="circle")i.shape==="circle"&&r.push(new iet({pcbX:i.x,pcbY:i.y,shape:"circle",holeDiameter:i.hole_diameter,outerDiameter:i.outer_diameter,portHints:i.port_hints}));else if(i.type==="pcb_keepout"&&i.shape==="circle")r.push(new hhe({pcbX:i.center.x,pcbY:i.center.y,shape:"circle",radius:i.radius}));else if(i.type==="pcb_keepout"&&i.shape==="rect")r.push(new hhe({pcbX:i.center.x,pcbY:i.center.y,shape:"rect",width:i.width,height:i.height}));else if(i.type==="pcb_hole"&&i.hole_shape==="circle")r.push(new aet({pcbX:i.x,pcbY:i.y,diameter:i.hole_diameter}));else if(i.type==="pcb_silkscreen_text"){let a=e?parseInt(e):0;const o=(a%360+360)%360;a=o>90&&o<=270?(o+180)%360:o,r.push(new oet({anchorAlignment:"center",text:n,fontSize:i.font_size+.2,pcbX:isNaN(i.anchor_position.x)?0:i.anchor_position.x,pcbY:i.anchor_position.y,pcbRotation:a??0}))}return r};function set(n){let e=1/0,t=1/0,r=-1/0,i=-1/0;for(const s of n)if(s.isPcbPrimitive&&!s.componentName.startsWith("Silkscreen")){const{x:l,y:c}=s._getGlobalPcbPositionBeforeLayout(),{width:u,height:f}=s.getPcbSize();e=Math.min(e,l-u/2),t=Math.min(t,c-f/2),r=Math.max(r,l+u/2),i=Math.max(i,c+f/2)}else if(s.componentName==="Footprint"){const l=set(s.children);e=Math.min(e,l.minX),t=Math.min(t,l.minY),r=Math.max(r,l.maxX),i=Math.max(i,l.maxY)}let a=r-e,o=i-t;return a<0&&(a=0),o<0&&(o=0),{minX:e,minY:t,maxX:r,maxY:i,width:a,height:o}}function x4n(n,e){const t=e.x-n.x,r=e.y-n.y;return Math.abs(t)>Math.abs(r)?t>=0?"right":"left":r>=0?"up":"down"}var b4n=n=>{if(n.length<=1)return!0;const e=n.map(a=>{const o=a._getPcbCircuitJsonBounds();return{left:o.bounds.left,right:o.bounds.right,top:o.bounds.top,bottom:o.bounds.bottom}}),t=Array(e.length).fill(!1).map(()=>Array(e.length).fill(!1));for(let a=0;a<e.length;a++)for(let o=a+1;o<e.length;o++){const s=e[a],l=e[o];t[a][o]=t[o][a]=!(s.right<l.left||s.left>l.right||s.bottom>l.top||s.top<l.bottom)}const r=new Set,i=a=>{r.add(a);for(let o=0;o<e.length;o++)t[a][o]&&!r.has(o)&&i(o)};return i(0),r.size===e.length},S4n=n=>{if(n.length===0)throw new Error("Cannot get center of empty PCB primitives array");const e=n.map(i=>i._getPcbCircuitJsonBounds().center).filter(Boolean),t=e.reduce((i,a)=>i+a.x,0),r=e.reduce((i,a)=>i+a.y,0);return{x:t/e.length,y:r/e.length}},w4n=v.object({name:v.string().optional(),pinNumber:v.number().optional(),aliases:v.array(v.string()).optional()}),U6=class extends yx{constructor(e,t={}){if(!e.name&&e.pinNumber!==void 0&&(e.name=`pin${e.pinNumber}`),!e.name)throw new Error("Port must have a name or a pinNumber");super(e);nt(this,"source_port_id",null);nt(this,"pcb_port_id",null);nt(this,"schematic_port_id",null);nt(this,"schematicSymbolPortDef",null);nt(this,"matchedComponents");nt(this,"facingDirection",null);nt(this,"originDescription",null);t.originDescription&&(this.originDescription=t.originDescription),this.matchedComponents=[]}get config(){return{componentName:"Port",zodProps:w4n}}_getGlobalPcbPositionBeforeLayout(){const e=this.matchedComponents.find(r=>r.isPcbPrimitive),t=this.parent;if(t&&!t.props.footprint)throw new Error(`${t.componentName} "${t.props.name}" does not have a footprint. Add a footprint prop, e.g. <${t.componentName.toLowerCase()} footprint="..." />`);if(!e)throw new Error(`Port ${this} has no matching PCB primitives. This often means the footprint's pads lack matching port hints.`);return(e==null?void 0:e._getGlobalPcbPositionBeforeLayout())??{x:0,y:0}}_getPcbCircuitJsonBounds(){if(!this.pcb_port_id)return super._getPcbCircuitJsonBounds();const{db:e}=this.root,t=e.pcb_port.get(this.pcb_port_id);return{center:{x:t.x,y:t.y},bounds:{left:0,top:0,right:0,bottom:0},width:0,height:0}}_getGlobalPcbPositionAfterLayout(){return this._getPcbCircuitJsonBounds().center}_getPortsInternallyConnectedToThisPort(){const e=this.parent;if(!e||!e._getInternallyConnectedPins)return[];const t=e._getInternallyConnectedPins();for(const r of t)if(r.some(i=>i===this))return r;return[]}_hasSchematicPort(){var r,i;if((r=this.parent)==null?void 0:r.getSchematicSymbol())return!!(this.schematicSymbolPortDef||this._getPortsInternallyConnectedToThisPort().some(o=>o.schematicSymbolPortDef));const t=(i=this==null?void 0:this.parent)==null?void 0:i._getSchematicBoxDimensions();return!!(t&&this.props.pinNumber!==void 0&&t.getPortPositionByPinNumber(this.props.pinNumber))}_getGlobalSchematicPositionBeforeLayout(){var r,i,a;const e=(r=this.parent)==null?void 0:r.getSchematicSymbol();if(e){let o=this.schematicSymbolPortDef;if(!o&&(o=((i=this._getPortsInternallyConnectedToThisPort().find(l=>l.schematicSymbolPortDef))==null?void 0:i.schematicSymbolPortDef)??null,!o))throw new Error(`Couldn't find schematicSymbolPortDef for port ${this.getString()}, searched internally connected ports and none had a schematicSymbolPortDef. Why are we trying to get the schematic position of this port?`);const s=Mc(this.parent.computeSchematicGlobalTransform(),k0(-e.center.x,-e.center.y));return gr(s,o)}const t=(a=this==null?void 0:this.parent)==null?void 0:a._getSchematicBoxDimensions();if(t&&this.props.pinNumber!==void 0){const o=t.getPortPositionByPinNumber(this.props.pinNumber);if(!o)throw new Error(`Couldn't find position for schematic_port for port ${this.getString()} inside of the schematic box`);return gr(this.parent.computeSchematicGlobalTransform(),o)}throw new Error(`Couldn't find position for schematic_port for port ${this.getString()}`)}_getGlobalSchematicPositionAfterLayout(){const{db:e}=this.root;if(!this.schematic_port_id)throw new Error(`Can't get schematic port position after layout for "${this.getString()}", no schematic_port_id`);const t=e.schematic_port.get(this.schematic_port_id);if(!t)throw new Error(`Schematic port not found when trying to get post-layout position: ${this.schematic_port_id}`);return t.center}registerMatch(e){this.matchedComponents.push(e)}getNameAndAliases(){const{_parsedProps:e}=this;return Array.from(new Set([...e.aliases??[],...e.name?[e.name]:[],...typeof e.pinNumber=="number"?[`pin${e.pinNumber}`,e.pinNumber.toString()]:[],...this.externallyAddedAliases??[]]))}isMatchingPort(e){return this.isMatchingAnyOf(e.getNameAndAliases())}getPortSelector(){var e;return`.${(e=this.parent)==null?void 0:e.props.name} > port.${this.props.name}`}getAvailablePcbLayers(){return Array.from(new Set(this.matchedComponents.flatMap(e=>e.getAvailablePcbLayers())))}_getDirectlyConnectedTraces(){return this.getSubcircuit().selectAll("trace").filter(r=>r._isExplicitlyConnectedToPort(this))}doInitialSourceRender(){var a,o;const{db:e}=this.root,{_parsedProps:t}=this,r=this.getNameAndAliases(),i=e.source_port.insert({name:t.name,pin_number:t.pinNumber,port_hints:r,source_component_id:(a=this.parent)==null?void 0:a.source_component_id,subcircuit_id:(o=this.getSubcircuit())==null?void 0:o.subcircuit_id});this.source_port_id=i.source_port_id}doInitialSourceParentAttachment(){var t,r,i,a,o;const{db:e}=this.root;if(!((t=this.parent)!=null&&t.source_component_id))throw new Error(`${this.getString()} has no parent source component (parent: ${(r=this.parent)==null?void 0:r.getString()})`);e.source_port.update(this.source_port_id,{source_component_id:(i=this.parent)==null?void 0:i.source_component_id,subcircuit_id:(a=this.getSubcircuit())==null?void 0:a.subcircuit_id}),this.source_component_id=(o=this.parent)==null?void 0:o.source_component_id}doInitialPcbPortRender(){var a,o,s,l,c;if((a=this.root)!=null&&a.pcbDisabled)return;const{db:e}=this.root,{matchedComponents:t}=this;if(!((o=this.parent)!=null&&o.pcb_component_id))throw new Error(`${this.getString()} has no parent pcb component, cannot render pcb_port (parent: ${(s=this.parent)==null?void 0:s.getString()})`);const r=t.filter(u=>u.isPcbPrimitive);if(r.length===0)return;let i=null;if(r.length===1&&(i=r[0]._getPcbCircuitJsonBounds().center),r.length>1){if(!b4n(r))throw new Error(`${this.getString()} has multiple non-overlapping pcb matches, unclear how to place pcb_port: ${r.map(u=>u.getString()).join(", ")}. (Note: tscircuit core does not currently allow you to specify internally connected pcb primitives with the same port hints, try giving them different port hints and specifying they are connected externally- or file an issue)`);i=S4n(r)}if(i){const u=this.getSubcircuit(),f=e.pcb_port.insert({pcb_component_id:(l=this.parent)==null?void 0:l.pcb_component_id,layers:this.getAvailablePcbLayers(),subcircuit_id:(u==null?void 0:u.subcircuit_id)??void 0,pcb_group_id:((c=this.getGroup())==null?void 0:c.pcb_group_id)??void 0,...i,source_port_id:this.source_port_id});this.pcb_port_id=f.pcb_port_id}else{const u=r[0];throw new Error(`${u.getString()} does not have a center or _getGlobalPcbPositionBeforeLayout method (needed for pcb_port placement)`)}}doInitialSchematicPortRender(){var f;const{db:e}=this.root,{_parsedProps:t}=this,r=this.getPrimitiveContainer();if(!r||!this._hasSchematicPort())return;const i=r._getGlobalSchematicPositionBeforeLayout(),a=this._getGlobalSchematicPositionBeforeLayout();let o=null;const s=r._getSchematicBoxDimensions();s&&t.pinNumber!==void 0&&(o=s.getPortPositionByPinNumber(t.pinNumber)),this.getSubcircuit().props._schDebugObjectsEnabled&&e.schematic_debug_object.insert({shape:"rect",center:a,size:{width:.1,height:.1},label:"obstacle"}),o!=null&&o.side?this.facingDirection={left:"left",right:"right",top:"up",bottom:"down"}[o.side]:this.facingDirection=x4n(i,a);const l=e.source_port.get(this.source_port_id);let c;for(const d of(l==null?void 0:l.port_hints)??[])d.match(/^(pin)?\d+$/)||(c=d);const u=e.schematic_port.insert({schematic_component_id:(f=this.parent)==null?void 0:f.schematic_component_id,center:a,source_port_id:this.source_port_id,facing_direction:this.facingDirection,distance_from_component_edge:.4,side_of_component:o==null?void 0:o.side,pin_number:t.pinNumber,true_ccw_index:o==null?void 0:o.trueIndex,display_pin_label:c});this.schematic_port_id=u.schematic_port_id}_setPositionFromLayout(e){const{db:t}=this.root;this.pcb_port_id&&t.pcb_port.update(this.pcb_port_id,{x:e.x,y:e.y})}_hasMatchedPcbPrimitive(){return this.matchedComponents.some(e=>e.isPcbPrimitive)}},cet=n=>{const e=n.find(t=>/^(pin)?\d+$/.test(t));return e?Number.parseInt(e.replace(/^pin/,"")):null};function HP(n,e){var a;const t=cet(n);if(!t)return null;const i=[...n.filter(o=>o.toString()!==t.toString()&&o!==`pin${t}`),...((a=e==null?void 0:e.additionalAliases)==null?void 0:a[`pin${t}`])??[]];return new U6({pinNumber:t,aliases:i})}var E4n=n=>{for(const e of["leftSide","rightSide","topSide","bottomSide"])if(e in n&&typeof n[e]=="number")throw new Error(`A number was specified for "${e}", you probably meant to use "size" not "side"`);return"leftSide"in n||"rightSide"in n||"topSide"in n||"bottomSide"in n},T4n=n=>{var a,o,s,l;if(E4n(n))return{leftSize:((a=n.leftSide)==null?void 0:a.pins.length)??0,rightSize:((o=n.rightSide)==null?void 0:o.pins.length)??0,topSize:((s=n.topSide)==null?void 0:s.pins.length)??0,bottomSize:((l=n.bottomSide)==null?void 0:l.pins.length)??0};const{leftSize:e=0,rightSize:t=0,topSize:r=0,bottomSize:i=0}=n;return{leftSize:e,rightSize:t,topSize:r,bottomSize:i}};function uet(n){return n.leftSide!==void 0}var M4n=n=>{var w,S,M,N,k,V,Y,W;const e=n.portDistanceFromEdge??.4;let t=n.schPortArrangement?T4n(n.schPortArrangement):null;const r={left:0,right:0,top:0,bottom:0};let i=n.pinCount??null;if(i===null)if(t)i=t.leftSize+t.rightSize+t.topSize;else throw new Error("Could not determine pin count for the schematic box");if(i&&!t){const q=Math.floor(i/2);t={leftSize:i-q,rightSize:q,topSize:0,bottomSize:0}}t||(t={leftSize:0,rightSize:0,topSize:0,bottomSize:0});const a=({side:q,sideIndex:ee,truePinIndex:X})=>{var he,_e,Te,be;if(!n.schPortArrangement||!uet(n.schPortArrangement))return X+1;const ue={left:"top-to-bottom",bottom:"left-to-right",right:"bottom-to-top",top:"right-to-left"}[q],pe=((_e=(he=n.schPortArrangement)==null?void 0:he[`${q}Side`])==null?void 0:_e.direction)??ue,ce=(be=(Te=n.schPortArrangement)==null?void 0:Te[`${q}Side`])==null?void 0:be.pins;let Se=ee;return pe!==ue&&(Se=ce.length-ee-1),jP(ce[Se],n.pinLabels)},o=[];let s=0,l=0;for(let q=0;q<t.leftSize;q++){const ee=a({side:"left",sideIndex:q,truePinIndex:l}),X=((w=n.numericSchPinStyle)==null?void 0:w[`pin${ee}`])??((S=n.numericSchPinStyle)==null?void 0:S[ee]);X!=null&&X.topMargin&&(s+=X.topMargin),o.push({trueIndex:l,pinNumber:ee,side:"left",distanceFromOrthogonalEdge:s}),X!=null&&X.bottomMargin&&(s+=X.bottomMargin),q===t.leftSize-1?r.left=s:s+=n.schPinSpacing,l++}s=0;for(let q=0;q<t.bottomSize;q++){const ee=a({side:"bottom",sideIndex:q,truePinIndex:l}),X=((M=n.numericSchPinStyle)==null?void 0:M[`pin${ee}`])??((N=n.numericSchPinStyle)==null?void 0:N[ee]);X!=null&&X.leftMargin&&(s+=X.leftMargin),o.push({trueIndex:l,pinNumber:ee,side:"bottom",distanceFromOrthogonalEdge:s}),X!=null&&X.rightMargin&&(s+=X.rightMargin),q===t.bottomSize-1?r.bottom=s:s+=n.schPinSpacing,l++}s=0;for(let q=0;q<t.rightSize;q++){const ee=a({side:"right",sideIndex:q,truePinIndex:l}),X=((k=n.numericSchPinStyle)==null?void 0:k[`pin${ee}`])??((V=n.numericSchPinStyle)==null?void 0:V[ee]);X!=null&&X.bottomMargin&&(s+=X.bottomMargin),o.push({trueIndex:l,pinNumber:ee,side:"right",distanceFromOrthogonalEdge:s}),X!=null&&X.topMargin&&(s+=X.topMargin),q===t.rightSize-1?r.right=s:s+=n.schPinSpacing,l++}s=0;for(let q=0;q<t.topSize;q++){const ee=a({side:"top",sideIndex:q,truePinIndex:l}),X=((Y=n.numericSchPinStyle)==null?void 0:Y[`pin${ee}`])??((W=n.numericSchPinStyle)==null?void 0:W[ee]);X!=null&&X.rightMargin&&(s+=X.rightMargin),o.push({trueIndex:l,pinNumber:ee,side:"top",distanceFromOrthogonalEdge:s}),X!=null&&X.leftMargin&&(s+=X.leftMargin),q===t.topSize-1?r.top=s:s+=n.schPinSpacing,l++}let c=n.schWidth;c||(c=Math.max(r.top+n.schPinSpacing*2,r.bottom+n.schPinSpacing*2));const u=n.pinLabels?Math.max(...Object.values(n.pinLabels).map(q=>q.length*.1)):0,f=u>0?1.1:0;c=Math.max(c,u+f);let d=n.schHeight;d||(d=Math.max(r.left+n.schPinSpacing*2,r.right+n.schPinSpacing*2));const m={left:{x:-c/2-e,y:r.left/2},bottom:{x:-r.bottom/2,y:-d/2-e},right:{x:c/2+e,y:-r.right/2},top:{x:r.top/2,y:d/2+e}},g={left:{x:0,y:-1},right:{x:0,y:1},top:{x:-1,y:0},bottom:{x:1,y:0}},E=o.map(q=>{const{distanceFromOrthogonalEdge:ee,side:X}=q,ue=m[X],pe=g[X];return{x:ue.x+ee*pe.x,y:ue.y+ee*pe.y,...q}});return{getPortPositionByPinNumber(q){const ee=E.find(X=>X.pinNumber.toString()===q.toString());return ee||null},getSize(){return{width:c,height:d}},getSizeIncludingPins(){return{width:c+(t.leftSize||t.rightSize?.4:0),height:d+(t.topSize||t.bottomSize?.4:0)}},pinCount:i}},C4n=c9("tscircuit:core:footprint"),R4n=class extends yx{get config(){return{componentName:"Footprint",zodProps:L3n}}doInitialPcbFootprintLayout(){var f,d,m,g,E;if((f=this.root)!=null&&f.pcbDisabled)return;const n=this.children.filter(w=>w.componentName==="Constraint");if(n.length===0)return;const{isFlipped:e}=this._getPcbPrimitiveFlippedHelpers(),t=w=>e&&"left"in w&&"right"in w?{...w,left:w.right,right:w.left}:w,r=n.flatMap(w=>w._getAllReferencedComponents().componentsWithSelectors).map(({component:w,selector:S,componentSelector:M,edge:N})=>({component:w,selector:S,componentSelector:M,edge:N,bounds:w._getPcbCircuitJsonBounds()}));if(r.some(w=>w.edge))throw new Error("edge constraints not implemented yet for footprint layout, contributions welcome!");function i(w){return r.find(({selector:S})=>S===w)}const a=new ZY,o={};function s(w){return w in o||(o[w]=new AC(w),a.addEditVariable(o[w],hy.weak)),o[w]}for(const{selector:w,bounds:S}of r){const M=s(`${w}_x`),N=s(`${w}_y`);a.suggestValue(M,S.center.x),a.suggestValue(N,S.center.y)}for(const w of n){const S=w._parsedProps;if("xDist"in S){const{xDist:M,left:N,right:k,edgeToEdge:V,centerToCenter:Y}=t(S),W=s(`${N}_x`),q=s(`${k}_x`),ee=(d=i(N))==null?void 0:d.bounds,X=(m=i(k))==null?void 0:m.bounds;if(Y){const ue=new B1(q,[-1,W]);a.addConstraint(new Bx(ue,Rg.Eq,S.xDist,hy.required))}else if(V){const ue=new B1(q,-X.width/2,[-1,W],-ee.width/2);a.addConstraint(new Bx(ue,Rg.Eq,S.xDist,hy.required))}}else if("yDist"in S){const{yDist:M,top:N,bottom:k,edgeToEdge:V,centerToCenter:Y}=S,W=s(`${N}_y`),q=s(`${k}_y`),ee=(g=i(N))==null?void 0:g.bounds,X=(E=i(k))==null?void 0:E.bounds;if(Y){const ue=new B1(W,[-1,q]);a.addConstraint(new Bx(ue,Rg.Eq,S.yDist,hy.required))}else if(V){const ue=new B1(W,ee.height/2,[-1,q],-X.height/2);a.addConstraint(new Bx(ue,Rg.Eq,S.yDist,hy.required))}}else if("sameY"in S){const{for:M}=S;if(M.length<2)continue;const N=M.map(V=>s(`${V}_y`)),k=new B1(...N.slice(1));a.addConstraint(new Bx(k,Rg.Eq,N[0],hy.required))}else if("sameX"in S){const{for:M}=S;if(M.length<2)continue;const N=M.map(V=>s(`${V}_x`)),k=new B1(...N.slice(1));a.addConstraint(new Bx(k,Rg.Eq,N[0],hy.required))}}a.updateVariables(),C4n.enabled&&(console.log("Solution to layout constraints:"),console.table(Object.entries(o).map(([w,S])=>({var:w,val:S.value()}))));const l={left:1/0,right:-1/0,top:-1/0,bottom:1/0};for(const{selector:w,bounds:{width:S,height:M}}of r){const N=s(`${w}_x`),k=s(`${w}_y`),V=N.value()-S/2,Y=N.value()+S/2,W=k.value()+M/2,q=k.value()-M/2;l.left=Math.min(l.left,V),l.right=Math.max(l.right,Y),l.top=Math.max(l.top,W),l.bottom=Math.min(l.bottom,q)}const c={x:-(l.right+l.left)/2,y:-(l.top+l.bottom)/2},u=this.getPrimitiveContainer()._getGlobalPcbPositionBeforeLayout();c.x+=u.x,c.y+=u.y;for(const{component:w,selector:S}of r){const M=s(`${S}_x`),N=s(`${S}_y`);w._setPositionFromLayout({x:M.value()+c.x,y:N.value()+c.y})}}},A4n=(n,e)=>{if(!n)return;const t={};for(const[r,i]of Object.entries(n)){const a=jP(r,e),o={leftMargin:i.marginLeft??i.leftMargin,rightMargin:i.marginRight??i.rightMargin,topMargin:i.marginTop??i.topMargin,bottomMargin:i.marginBottom??i.bottomMargin};t[`pin${a}`]={...t[`pin${a}`],...o}}return t},fet=class{constructor({input:n}){nt(this,"input");this.input=n}solveAndMapToTraces(){const n=[];for(const e of this.input.connections){if(e.pointsToConnect.length!==2)continue;const[t,r]=e.pointsToConnect,i={type:"pcb_trace",pcb_trace_id:"",connection_name:e.name,route:[{route_type:"wire",x:t.x,y:t.y,layer:"top",width:.1},{route_type:"wire",x:r.x,y:r.y,layer:"top",width:.1}]};n.push(i)}return n}},P4n=n=>{const e=Math.min(...n.map(a=>a.center.x)),t=Math.max(...n.map(a=>a.center.x)),r=Math.min(...n.map(a=>a.center.y)),i=Math.max(...n.map(a=>a.center.y));return{minX:e,maxX:t,minY:r,maxY:i}},det=["top","bottom","inner1","inner2"],wH=(n,e=[])=>{var s;const t=[];if(e.length===0){const l=n[0].layers;for(const c of l)t.push(...wH(n.slice(1),[c]));return t}if(n.length===0)return[];const r=n[0],i=r.via||r.optional_via,a=e[e.length-1];if(n.length===1){const l=r;return l.layers&&i?l.layers.map(c=>({layer_path:[...e,c]})):(s=l.layers)!=null&&s.includes(a)?[{layer_path:[...e,a]}]:[]}if(!i)return r.layers&&!r.layers.includes(a)?[]:wH(n.slice(1),e.concat([a]));const o=(r.optional_via?det:det.filter(l=>l!==a)).filter(l=>{var c;return!r.layers||((c=r.layers)==null?void 0:c.includes(l))});for(const l of o)t.push(...wH(n.slice(1),e.concat(l)));return t};function pet(n){const e={x:n.to.x-n.from.x,y:n.to.y-n.from.y},t=Math.abs(e.x),r=Math.abs(e.y);return t>r?e.x>0?"right":"left":e.y>0?"down":"up"}function hM(n,e){return Math.hypot(n.x-e.x,n.y-e.y)}var N4n=n=>{if(n.length===1)return n[0];if(n.some(l=>l.length===0))throw new Error("Cannot merge routes with zero length");const e=[],t=n[0][0],r=n[0][n[0].length-1],i=n[1][0],a=n[1][n[1].length-1],o=Math.min(hM(t,i),hM(t,a)),s=Math.min(hM(r,i),hM(r,a));o<s?e.push(...n[0].reverse()):e.push(...n[0]);for(let l=1;l<n.length;l++){const c=e[e.length-1],u=n[l],f=u[0],d=u[u.length-1],m=hM(c,f),g=hM(c,d);m<g?e.push(...u):e.push(...u.reverse())}for(let l=1;l<e.length-1;l++){const c=e[l-1],u=e[l];c.route_type==="wire"&&u.route_type==="wire"&&c.layer!==u.layer&&e.splice(l,0,{x:c.x,y:c.y,from_layer:c.layer,to_layer:u.layer,route_type:"via"})}return e},D4n=(n,e)=>{const t="_getGlobalPcbPositionBeforeLayout"in n?n._getGlobalPcbPositionBeforeLayout():n,r="_getGlobalPcbPositionBeforeLayout"in e?e._getGlobalPcbPositionBeforeLayout():e;return Math.sqrt((t.x-r.x)**2+(t.y-r.y)**2)};function L4n(n,e){if(e.length===0)throw new Error("No candidates given to getClosest method");let t=e[0],r=1/0;for(const i of e){const a=D4n(n,i);a<r&&(t=i,r=a)}return t}var O4n=(n,e)=>{let t=0;t+=n.length??0,t+=e.filter(r=>r.is_crossing).length;for(let r=1;r<e.length;r++){const i=e[r-1],a=e[r],o=Math.abs(i.from.x-i.to.x)<.01,s=Math.abs(a.from.x-a.to.x)<.01;o!==s&&t++}return t},mhe=n=>({up:"bottom",down:"top",left:"right",right:"left"})[n]??null,yhe=({firstEdge:n,firstEdgePort:e,firstDominantDirection:t,lastEdge:r,lastEdgePort:i,lastDominantDirection:a})=>{if(n&&e)return yhe({lastEdge:{from:n.to,to:n.from},lastEdgePort:e,lastDominantDirection:t}).reverse().map(s=>({from:s.to,to:s.from}));let o=[];if(r&&i){const s={x:r.to.x,y:r.to.y};a==="left"||a==="right"?(s.x=i.position.x,o.push({from:r.to,to:{...s}}),o.push({from:s,to:{...i.position}})):(s.y=i.position.y,o.push({from:r.to,to:{...s}}),o.push({from:s,to:{...i.position}}))}return o=o.filter(s=>BP(s.from,s.to)>.01),o};function z4n(n){try{return[n(),null]}catch(e){return[null,e]}}function U4n(n){let e=0;for(let t=0;t<n.length;t++){const r=n[t];if(r.route_type==="wire"){const i=n[t+1];if(i){const a=i.x-r.x,o=i.y-r.y;e+=Math.sqrt(a*a+o*o)}}else r.route_type==="via"&&(e+=1.6)}return e}var k4n=n=>{var s,l;const e={left:{x:-.5,y:0},up:{x:.5,y:.5},right:{x:.5,y:0},down:{x:0,y:-.5}}[n.facingDirection],t=(s=n.parent)!=null&&s.config.shouldRenderAsSchematicBox?3:1,r=(l=n.parent)!=null&&l.config.shouldRenderAsSchematicBox&&(n.facingDirection==="left"||n.facingDirection==="right")?3:1,i=e.x,a=e.y,o=n.facingDirection==="up"?.5:0;return{schBoxVertOffset:t,schBoxHorzOffset:r,horzPortDirection:i,vertPortDirectionOffset:a,handleUp:o}},EH=({port:n,anchorPos:e,schDisplayLabel:t,source_trace_id:r},{db:i})=>{const a=k4n(n);i.schematic_net_label.insert({anchor_side:"top",center:{x:e.x+a.horzPortDirection*a.schBoxHorzOffset,y:e.y+a.vertPortDirectionOffset*a.schBoxVertOffset},source_net_id:n.source_port_id,text:t,anchor_position:{x:e.x+a.horzPortDirection*a.schBoxHorzOffset,y:e.y+a.vertPortDirectionOffset*a.schBoxVertOffset},symbol_name:"ground_horz"}),i.schematic_trace.insert({edges:[{from:{x:e.x,y:e.y},to:{x:e.x,y:e.y+a.handleUp*a.schBoxVertOffset}},{from:{x:e.x,y:e.y},to:{x:e.x+a.horzPortDirection*a.schBoxHorzOffset,y:e.y+a.vertPortDirectionOffset*a.schBoxVertOffset}}],junctions:[{x:e.x+a.horzPortDirection*a.schBoxHorzOffset,y:e.y+a.vertPortDirectionOffset*a.schBoxVertOffset}],source_trace_id:r})},vhe=({db:n,source_trace_id:e,sameNetOnly:t,differentNetOnly:r})=>{!t&&!r&&(r=!0);const i=n.source_trace.get(e),a=[];for(const o of n.schematic_trace.list()){if(o.source_trace_id===e)continue;const s=n.source_trace.get(o.source_trace_id),l=(s==null?void 0:s.subcircuit_connectivity_map_key)===i.subcircuit_connectivity_map_key;r&&l||t&&!l||a.push(o)}return a},I4n=({edges:n,otherEdges:e})=>{const t=[...n];for(let r=0;r<t.length;r++){if(r>2e3)throw new Error("Over 2000 iterations spent inside createSchematicTraceCrossingSegments, you have triggered an infinite loop, please report this!");const i=t[r],a=Math.abs(i.from.x-i.to.x)<.01?"vertical":i.from.y===i.to.y?"horizontal":"not-orthogonal";if(a==="not-orthogonal")continue;const o=[];for(const E of e){const w=E.from.x===E.to.x?"vertical":E.from.y===E.to.y?"horizontal":"not-orthogonal";if(w==="not-orthogonal"||a===w)continue;if(qJe([i.from,i.to],[E.from,E.to],{lineThickness:.01})){const M=a==="vertical"?i.from.x:E.from.x,N=a==="vertical"?E.from.y:i.from.y,k={x:M,y:N};o.push({otherEdge:E,crossingPoint:k,distanceFromEdgeFrom:BP(i.from,k)})}}if(o.length===0)continue;let s=o[0];for(const E of o)E.distanceFromEdgeFrom<s.distanceFromEdgeFrom&&(s=E);const l=s.crossingPoint,c=.075;if(l.x===i.from.x&&l.y===i.from.y)continue;const u=a4n(i.from,l),f={x:l.x-u.x*c/2,y:l.y-u.y*c/2},d={x:l.x+u.x*c/2,y:l.y+u.y*c/2},m=BP(d,i.to)<c,g=[{from:i.from,to:f},{from:f,to:d,is_crossing:!0},{from:d,to:i.to}];t.splice(r,1,...g),r+=g.length-2,m&&r++}return t},F4n=(n,e)=>{if(n.from.x===n.to.x&&e.from.x===e.to.x)return null;if(n.from.x===n.to.x){const u=n.from.x,f=(e.to.y-e.from.y)/(e.to.x-e.from.x),d=e.from.y-f*e.from.x,m=f*u+d;return u>=Math.min(e.from.x,e.to.x)&&u<=Math.max(e.from.x,e.to.x)&&m>=Math.min(e.from.y,e.to.y)&&m<=Math.max(e.from.y,e.to.y)?{x:u,y:m}:null}if(e.from.x===e.to.x){const u=e.from.x,f=(n.to.y-n.from.y)/(n.to.x-n.from.x),d=n.from.y-f*n.from.x,m=f*u+d;return u>=Math.min(n.from.x,n.to.x)&&u<=Math.max(n.from.x,n.to.x)&&m>=Math.min(n.from.y,n.to.y)&&m<=Math.max(n.from.y,n.to.y)?{x:u,y:m}:null}const t=(n.to.y-n.from.y)/(n.to.x-n.from.x),r=n.from.y-t*n.from.x,i=(e.to.y-e.from.y)/(e.to.x-e.from.x),a=e.from.y-i*e.from.x;if(t===i)return null;const o=(a-r)/(t-i),s=t*o+r,l=o>=Math.min(n.from.x,n.to.x)&&o<=Math.max(n.from.x,n.to.x)&&s>=Math.min(n.from.y,n.to.y)&&s<=Math.max(n.from.y,n.to.y),c=o>=Math.min(e.from.x,e.to.x)&&o<=Math.max(e.from.x,e.to.x)&&s>=Math.min(e.from.y,e.to.y)&&s<=Math.max(e.from.y,e.to.y);return l&&c?{x:o,y:s}:null},B4n=({edges:n,db:e,source_trace_id:t})=>{const r=vhe({db:e,source_trace_id:t,sameNetOnly:!0}).flatMap(i=>i.edges);for(const i of n)for(const a of r){const o=F4n(i,a);if(o)return`${o.x}${o.y}`,[{x:o.x,y:o.y}]}return[]},j4n=(n,{db:e})=>{const t=n.map(r=>{const i=e.source_port.get(r.source_port_id);if(!(i!=null&&i.source_component_id))return null;const a=e.source_component.get(i.source_component_id);return(a==null?void 0:a.ftype)==="simple_capacitor"?a.max_decoupling_trace_length:null}).filter(r=>r!==null);if(t.length!==0)return Math.min(...t)},H4n=n=>{var a;const e=n.root.db,t=n._findConnectedPorts().ports??[],r=new Set(t.map(o=>o.schematic_port_id)),i=[];for(const o of e.toArray()){if(o.type==="schematic_component"){const s=!!o.symbol_name,l=o.size.width>o.size.height?"horz":"vert";i.push({type:"rect",layers:["top"],center:o.center,width:o.size.width+(s&&l==="horz"?-.5:0),height:o.size.height+(s&&l==="vert"?-.5:0),connectedTo:[]})}if(o.type==="schematic_port"){if(r.has(o.schematic_port_id))continue;const s=o.facing_direction?o4n(o.facing_direction):{x:0,y:0};i.push({type:"rect",layers:["top"],center:{x:o.center.x-s.x*.1,y:o.center.y-s.y*.1},width:.1+Math.abs(s.x)*.3,height:.1+Math.abs(s.y)*.3,connectedTo:[]})}o.type==="schematic_text"&&i.push({type:"rect",layers:["top"],center:o.position,width:(((a=o.text)==null?void 0:a.length)??0)*.1,height:.2,connectedTo:[]}),o.type==="schematic_box"&&i.push({type:"rect",layers:["top"],center:{x:o.x,y:o.y},width:o.width,height:o.height,connectedTo:[]})}return i};function V4n({ports:n,nets:e}){var t,r,i;if(n.length>=2)return`${(t=n[0])==null?void 0:t.selector} to ${(r=n[1])==null?void 0:r.selector}`;if(n.length===1&&e.length===1)return`${(i=n[0])==null?void 0:i.selector} to net.${e[0]._parsedProps.name}`}var $4n=({edges:n,db:e,source_trace_id:t})=>{e.source_trace.get(t);const r=vhe({db:e,source_trace_id:t,differentNetOnly:!0}).flatMap(a=>a.edges),i=a=>{const{from:o,to:s}=a;return o.x===s.x?"vertical":"horizontal"};for(const a of n){const o=i(a),s=()=>r.find(c=>i(c)===o&&qJe([a.from,a.to],[c.from,c.to],{lineThickness:.05}));let l=s();for(;l;)o==="horizontal"?(a.from.y+=.1,a.to.y+=.1):(a.from.x+=.1,a.to.x+=.1),l=s()}},G4n=(n,{db:e})=>{const t=e.pcb_board.list()[0];if(t.outline){const l=t.outline,c=(u,f)=>{let d=!1;for(let m=0,g=f.length-1;m<f.length;g=m++){const E=f[m].x,w=f[m].y,S=f[g].x,M=f[g].y;w>u.y!=M>u.y&&u.x<(S-E)*(u.y-w)/(M-w)+E&&(d=!d)}return d};return n.some(u=>!c(u,l))}const r=t.width,i=t.height,a=t.center.x,o=t.center.y;return n.some(l=>l.x<a-r/2||l.y<o-i/2||l.x>a+r/2||l.y>o+i/2)},TH=n=>({...n._getGlobalPcbPositionAfterLayout(),layers:n.getAvailablePcbLayers()}),Bw=class extends yx{constructor(e){super(e);nt(this,"source_trace_id",null);nt(this,"pcb_trace_id",null);nt(this,"schematic_trace_id",null);nt(this,"_portsRoutedOnPcb");nt(this,"subcircuit_connectivity_map_key",null);this._portsRoutedOnPcb=[]}get config(){return{zodProps:D3n,componentName:"Trace"}}_getTracePortOrNetSelectorListFromProps(){return"from"in this.props&&"to"in this.props?[typeof this.props.from=="string"?this.props.from:this.props.from.getPortSelector(),typeof this.props.to=="string"?this.props.to:this.props.to.getPortSelector()]:"path"in this.props?this.props.path.map(e=>typeof e=="string"?e:e.getPortSelector()):[]}getTracePortPathSelectors(){return this._getTracePortOrNetSelectorListFromProps().filter(e=>!e.includes("net."))}getTracePathNetSelectors(){return this._getTracePortOrNetSelectorListFromProps().filter(e=>e.includes("net."))}_findConnectedPorts(){const{db:e}=this.root,{_parsedProps:t,parent:r}=this;if(!r)throw new Error("Trace has no parent");const a=this.getTracePortPathSelectors().map(o=>({selector:o,port:this.getSubcircuit().selectOne(o,{type:"port"})??null}));for(const{selector:o,port:s}of a)if(!s){const l=o.replace(/(\> )?[^ ]+$/,""),c=this.getSubcircuit().selectOne(l);c?this.renderError(`Could not find port for selector "${o}" (did you forget to include the pin name?)
13284
13284
  searched component ${c.getString()}, which has ports: ${c.children.filter(u=>u.componentName==="Port").map(u=>`${u.getString()}(${u.getNameAndAliases().join(",")})`).join(" & ")}`):this.renderError(`Could not find port for selector "${o}"`)}return a.some(o=>!o.port)?{allPortsFound:!1}:{allPortsFound:!0,portsWithSelectors:a,ports:a.map(({port:o})=>o)}}_findConnectedNets(){const e=this.getTracePathNetSelectors().map(r=>({selector:r,net:this.getSubcircuit().selectOne(r,{type:"net"})})),t=e.filter(r=>!r.net);return t.length>0&&this.renderError(`Could not find net for selector "${t[0].selector}" inside ${this}`),{netsWithSelectors:e,nets:e.map(r=>r.net)}}_getAllTracesConnectedToSameNet(){const e=this.getSubcircuit().selectAll("trace"),t=this._findConnectedNets().nets,r=this._findConnectedPorts().ports??[];return e.filter(i=>{if(i===this)return!1;const a=i._findConnectedNets().nets,o=i._findConnectedPorts().ports??[];return a.some(s=>t.includes(s))||o.some(s=>r.includes(s))})}_isExplicitlyConnectedToPort(e){const{allPortsFound:t,portsWithSelectors:r}=this._findConnectedPorts();return t?r.map(a=>a.port).includes(e):!1}_isExplicitlyConnectedToNet(e){return this._findConnectedNets().nets.includes(e)}doInitialCreateNetsFromProps(){net(this,this.getTracePathNetSelectors())}doInitialSourceTraceRender(){var c;const{db:e}=this.root,{_parsedProps:t,parent:r}=this;if(!r){this.renderError("Trace has no parent");return}const{allPortsFound:i,portsWithSelectors:a}=this._findConnectedPorts();if(!i)return;const o=this._findConnectedNets().nets,s=V4n({ports:a,nets:o}),l=e.source_trace.insert({connected_source_port_ids:a.map(u=>u.port.source_port_id),connected_source_net_ids:o.map(u=>u.source_net_id),subcircuit_id:(c=this.getSubcircuit())==null?void 0:c.subcircuit_id,max_length:j4n(a.map(u=>u.port),{db:e})??t.maxLength,display_name:s,min_trace_thickness:t.thickness});this.source_trace_id=l.source_trace_id}_insertErrorIfTraceIsOutsideBoard(e,t){const{db:r}=this.root;G4n(e,{db:r})&&r.pcb_trace_error.insert({error_type:"pcb_trace_error",source_trace_id:this.source_trace_id,message:`Trace ${this.getString()} routed outside the board boundaries.`,pcb_trace_id:this.pcb_trace_id,pcb_component_ids:[],pcb_port_ids:t.map(a=>a.pcb_port_id)})}doInitialPcbTraceRender(){var q,ee,X,ue;if((q=this.root)!=null&&q.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t,parent:r}=this,i=this.getSubcircuit();if(!r)throw new Error("Trace has no parent");if(i._parsedProps.routingDisabled)return;const a=(ee=i._parsedProps.pcbRouteCache)==null?void 0:ee.pcbTraces;if(a){const pe=e.pcb_trace.insert({route:a.flatMap(ce=>ce.route),source_trace_id:this.source_trace_id,subcircuit_id:(i==null?void 0:i.subcircuit_id)??void 0,pcb_group_id:((X=this.getGroup())==null?void 0:X.pcb_group_id)??void 0});this.pcb_trace_id=pe.pcb_trace_id;return}if(!i._shouldUseTraceByTraceRouting())return;const{allPortsFound:o,ports:s}=this._findConnectedPorts();if(!o)return;const l=[];for(const pe of s)pe._hasMatchedPcbPrimitive()||l.push(pe);if(l.length>0){e.pcb_trace_error.insert({error_type:"pcb_trace_error",source_trace_id:this.source_trace_id,message:`Some ports did not have a matching PCB primitive (e.g. a pad or plated hole), this can happen if a footprint is missing. As a result, ${this} wasn't routed. Missing ports: ${l.map(pe=>pe.getString()).join(", ")}`,pcb_trace_id:this.pcb_trace_id,pcb_component_ids:[],pcb_port_ids:l.map(pe=>pe.pcb_port_id).filter(Boolean)});return}const c=this._findConnectedNets().netsWithSelectors;if(s.length===0&&c.length===2){this.renderError("Trace connects two nets, we haven't implemented a way to route this yet");return}else if(s.length===1&&c.length===1){const pe=s[0],Se=c[0].net.getAllConnectedPorts().filter(_e=>_e!==pe);if(Se.length===0){console.log("Nothing to connect this port to, the net is empty. TODO should emit a warning!");return}const he=L4n(pe,Se);s.push(he)}else if(s.length>1&&c.length>=1){this.renderError("Trace has more than one port and one or more nets, we don't currently support this type of complex trace routing");return}const u=s.flatMap(pe=>pe.matchedComponents.filter(ce=>ce.componentName==="TraceHint")),f=(this._parsedProps.pcbRouteHints??[]).concat(u.flatMap(pe=>pe.getPcbRouteHints()));if(s.length>2){this.renderError(`Trace has more than two ports (${s.map(pe=>pe.getString()).join(", ")}), routing between more than two ports for a single trace is not implemented`);return}if(this.getSubcircuit().selectAll("trace").filter(pe=>pe.renderPhaseStates.PcbTraceRender.initialized).some(pe=>pe._portsRoutedOnPcb.length===s.length&&pe._portsRoutedOnPcb.every(ce=>s.includes(ce))))return;let g=[];f.length===0?g=[TH(s[0]),TH(s[1])]:g=[TH(s[0]),...f,TH(s[1])];const E=wH(g),w=n8(this.root.db.toArray()),[S,M]=z4n(()=>RE(this.root.db.toArray()));if(M){this.renderError({type:"pcb_trace_error",error_type:"pcb_trace_error",pcb_trace_error_id:this.pcb_trace_id,message:`Error getting obstacles for autorouting: ${M.message}`,source_trace_id:this.source_trace_id,center:{x:0,y:0},pcb_port_ids:s.map(pe=>pe.pcb_port_id),pcb_trace_id:this.pcb_trace_id,pcb_component_ids:[]});return}for(const pe of S)if(pe.connectedTo.length>0){const Se=w.getNetConnectedToId(pe.connectedTo[0]);Se&&pe.connectedTo.push(Se)}let N=[];if(E.length===0)N=g;else{const pe=E[0].layer_path;N=g.map((ce,Se)=>ce.via?{...ce,via_to_layer:pe[Se]}:{...ce,layers:[pe[Se]]})}N[0].pcb_port_id=s[0].pcb_port_id,N[N.length-1].pcb_port_id=s[1].pcb_port_id;const k=[];for(const[pe,ce]of eet(N)){const Se="via_to_layer"in pe?pe.via_to_layer:null,he=2,_e="layers"in pe&&pe.layers.length===1?pe.layers[0]:Se??"top",Te="layers"in ce&&ce.layers.length===1?ce.layers[0]:Se??"top",be="pcb_port_id"in pe?pe.pcb_port_id:null,Pe="pcb_port_id"in ce?ce.pcb_port_id:null,De=this.getSubcircuit()._parsedProps.minTraceWidth??.16,ze=new CE({OBSTACLE_MARGIN:De*2,isRemovePathLoopsEnabled:!0,optimizeWithGoalBoxes:!!(be&&Pe),connMap:w,input:{obstacles:S,minTraceWidth:De,connections:[{name:this.source_trace_id,pointsToConnect:[{...pe,layer:_e,pcb_port_id:be},{...ce,layer:Te,pcb_port_id:Pe}]}],layerCount:2,bounds:{minX:Math.min(pe.x,ce.x)-he,maxX:Math.max(pe.x,ce.x)+he,minY:Math.min(pe.y,ce.y)-he,maxY:Math.max(pe.y,ce.y)+he}}});let Re=null;try{Re=ze.solveAndMapToTraces()}catch(ut){this.renderError({type:"pcb_trace_error",pcb_trace_error_id:this.source_trace_id,error_type:"pcb_trace_error",message:`error solving route: ${ut.message}`,source_trace_id:this.pcb_trace_id,center:{x:(pe.x+ce.x)/2,y:(pe.y+ce.y)/2},pcb_port_ids:s.map(pt=>pt.pcb_port_id),pcb_trace_id:this.pcb_trace_id,pcb_component_ids:s.map(pt=>pt.pcb_component_id)})}if(!Re)return;if(Re.length===0){this.renderError({type:"pcb_trace_error",error_type:"pcb_trace_error",pcb_trace_error_id:this.pcb_trace_id,message:`Could not find a route for ${this}`,source_trace_id:this.source_trace_id,center:{x:(pe.x+ce.x)/2,y:(pe.y+ce.y)/2},pcb_port_ids:s.map(ut=>ut.pcb_port_id),pcb_trace_id:this.pcb_trace_id,pcb_component_ids:s.map(ut=>ut.pcb_component_id)});return}const[qe]=Re;Se&&(qe.route=qe.route.map(ut=>(ut.route_type==="wire"&&!ut.layer&&(ut.layer=Se),ut))),be&&qe.route[0].route_type==="wire"&&(qe.route[0].start_pcb_port_id=be);const Ke=qe.route[qe.route.length-1];Pe&&Ke.route_type==="wire"&&(Ke.end_pcb_port_id=Pe),k.push(qe.route)}const V=N4n(k),Y=U4n(V),W=e.pcb_trace.insert({route:V,source_trace_id:this.source_trace_id,subcircuit_id:(ue=this.getSubcircuit())==null?void 0:ue.subcircuit_id,trace_length:Y});this._portsRoutedOnPcb=s,this.pcb_trace_id=W.pcb_trace_id;for(const pe of V)pe.route_type==="via"&&e.pcb_via.insert({pcb_trace_id:W.pcb_trace_id,x:pe.x,y:pe.y,hole_diameter:.3,outer_diameter:.6,layers:[pe.from_layer,pe.to_layer],from_layer:pe.from_layer,to_layer:pe.to_layer});this._insertErrorIfTraceIsOutsideBoard(V,s)}_doInitialSchematicTraceRenderWithDisplayLabel(){var k,V,Y,W;if((k=this.root)!=null&&k.schematicDisabled)return;const{db:e}=this.root,{_parsedProps:t,parent:r}=this;if(!r)throw new Error("Trace has no parent");const{allPortsFound:i,portsWithSelectors:a}=this._findConnectedPorts();if(!i)return;const o=a.map(({port:q})=>({port:q,position:q._getGlobalSchematicPositionAfterLayout(),schematic_port_id:q.schematic_port_id,facingDirection:q.facingDirection}));if(o.length<2)throw new Error("Expected at least two ports in portsWithPosition.");let s,l;const c=o[0].position,u=o[0].port;if("path"in this.props){if(this.props.path.length!==2)throw new Error("Invalid 'path': Must contain exactly two elements.");[s,l]=this.props.path}else{if(!("from"in this.props&&"to"in this.props))throw new Error("Missing 'from' or 'to' properties in props.");s=this.props.from,l=this.props.to}if(!u.source_port_id)throw new Error(`Missing source_port_id for the 'from' port (${s}).`);const f=o[1].position,d=o[1].port;if(!d.source_port_id)throw new Error(`Missing source_port_id for the 'to' port (${l}).`);const m=e.schematic_net_label.list().find(q=>q.source_net_id===u.source_port_id),g=e.schematic_net_label.list().find(q=>q.source_net_id===d.source_port_id),[E,w]=a.map(({port:q})=>q),M=((V=E.parent)==null?void 0:V.config.shouldRenderAsSchematicBox)?`${(Y=E==null?void 0:E.parent)==null?void 0:Y.props.name}_${E==null?void 0:E.props.name}`:`${(W=w==null?void 0:w.parent)==null?void 0:W.props.name}_${w==null?void 0:w.props.name}`,N=this.props.schDisplayLabel??M;if(m&&m.text!==N&&(m.text=`${N} / ${m.text}`),g&&(g==null?void 0:g.text)!==N&&(g.text=`${N} / ${g.text}`),N!=null&&N.toLocaleLowerCase().includes("gnd")||N!=null&&N.toLocaleLowerCase().includes("ground")){!m&&!g?(EH({port:u,anchorPos:c,schDisplayLabel:this.props.schDisplayLabel,source_trace_id:this.source_trace_id},{db:e}),EH({port:d,anchorPos:f,schDisplayLabel:this.props.schDisplayLabel,source_trace_id:this.source_trace_id},{db:e})):m?g||EH({port:d,anchorPos:f,schDisplayLabel:this.props.schDisplayLabel,source_trace_id:this.source_trace_id},{db:e}):EH({port:u,anchorPos:c,schDisplayLabel:this.props.schDisplayLabel,source_trace_id:this.source_trace_id},{db:e});return}g||e.schematic_net_label.insert({text:this.props.schDisplayLabel??M,source_net_id:d.source_port_id,anchor_position:f,center:f,anchor_side:mhe(d.facingDirection)??"bottom"}),m||e.schematic_net_label.insert({text:this.props.schDisplayLabel??M,source_net_id:u.source_port_id,anchor_position:c,center:c,anchor_side:mhe(u.facingDirection)??"bottom"})}_isSymbolToChipConnection(){const{allPortsFound:e,ports:t}=this._findConnectedPorts();if(!e||t.length!==2)return!1;const[r,i]=t;if(!(r!=null&&r.parent)||!(i!=null&&i.parent))return!1;const a=r.parent.config.shouldRenderAsSchematicBox,o=i.parent.config.shouldRenderAsSchematicBox;return a&&!o||!a&&o}_isSymbolToSymbolConnection(){const{allPortsFound:e,ports:t}=this._findConnectedPorts();if(!e||t.length!==2)return!1;const[r,i]=t;if(!(r!=null&&r.parent)||!(i!=null&&i.parent))return!1;const a=!r.parent.config.shouldRenderAsSchematicBox,o=!i.parent.config.shouldRenderAsSchematicBox;return a&&o}_isChipToChipConnection(){const{allPortsFound:e,ports:t}=this._findConnectedPorts();if(!e||t.length!==2)return!1;const[r,i]=t;if(!(r!=null&&r.parent)||!(i!=null&&i.parent))return!1;const a=r.parent.config.shouldRenderAsSchematicBox,o=i.parent.config.shouldRenderAsSchematicBox;return a&&o}doInitialSchematicTraceRender(){var ce;if((ce=this.root)!=null&&ce.schematicDisabled)return;const{db:e}=this.root,{_parsedProps:t,parent:r}=this;if(!r)throw new Error("Trace has no parent");const{allPortsFound:i,portsWithSelectors:a}=this._findConnectedPorts(),{netsWithSelectors:o}=this._findConnectedNets();if(!i)return;if(this.props.schDisplayLabel&&("from"in this.props&&"to"in this.props||"path"in this.props)){this._doInitialSchematicTraceRenderWithDisplayLabel();return}const s={name:this.source_trace_id,pointsToConnect:[]},l=H4n(this),c=a.map(({port:Se})=>({port:Se,position:Se._getGlobalSchematicPositionAfterLayout(),schematic_port_id:Se.schematic_port_id??void 0,facingDirection:Se.facingDirection}));if(c.length===1&&o.length===1){const Se=o[0].net,{port:he,position:_e}=c[0];e.schematic_net_label.insert({text:Se._parsedProps.name,source_net_id:Se.source_net_id,anchor_position:_e,center:_e,anchor_side:mhe(he.facingDirection)??"bottom"});return}if(c.length<2)return;s.pointsToConnect=c.map(({position:Se})=>({...Se,layer:"top"}));const f=P4n(l),d=2,m={minTraceWidth:.1,obstacles:l,connections:[s],bounds:{minX:f.minX-d,maxX:f.maxX+d,minY:f.minY-d,maxY:f.maxY+d},layerCount:1};let g=CE,E=!1;this.getSubcircuit().props._schDirectLineRoutingEnabled&&(g=fet,E=!0);let S=new g({input:m,MAX_ITERATIONS:100,OBSTACLE_MARGIN:.1,isRemovePathLoopsEnabled:!0,isShortenPathWithShortcutsEnabled:!0,marginsWithCosts:[{margin:1,enterCost:0,travelCostFactor:1},{margin:.3,enterCost:0,travelCostFactor:1},{margin:.2,enterCost:0,travelCostFactor:2},{margin:.1,enterCost:0,travelCostFactor:3}]}).solveAndMapToTraces();if(S.length===0){if(this._isSymbolToChipConnection()||this._isSymbolToSymbolConnection()||this._isChipToChipConnection()){this._doInitialSchematicTraceRenderWithDisplayLabel();return}S=new fet({input:m}).solveAndMapToTraces(),E=!0}const[{route:M}]=S;let N=[];for(let Se=0;Se<M.length-1;Se++)N.push({from:M[Se],to:M[Se+1]});const k=this.source_trace_id;let V=[];if(!E){$4n({edges:N,db:e,source_trace_id:k});const Se=vhe({db:e,source_trace_id:k,differentNetOnly:!0}).flatMap(he=>he.edges);N=I4n({edges:N,otherEdges:Se}),V=B4n({edges:N,db:e,source_trace_id:this.source_trace_id})}const Y=N[N.length-1],W=c[c.length-1],q=pet(Y);N.push(...yhe({lastEdge:Y,lastEdgePort:W,lastDominantDirection:q}));const ee=N[0],X=c[0],ue=pet(ee);if(N.unshift(...yhe({firstEdge:ee,firstEdgePort:X,firstDominantDirection:ue})),!this.source_trace_id)throw new Error("Missing source_trace_id for schematic trace insertion.");if(this.getSubcircuit()._parsedProps.schTraceAutoLabelEnabled&&O4n(V,N)>=5&&(this._isSymbolToChipConnection()||this._isSymbolToSymbolConnection()||this._isChipToChipConnection())){this._doInitialSchematicTraceRenderWithDisplayLabel();return}const pe=e.schematic_trace.insert({source_trace_id:this.source_trace_id,edges:N,junctions:V});this.schematic_trace_id=pe.schematic_trace_id}},q4n=c9("tscircuit:core"),Y4n=v.object({x:z6,y:z6,z:z6}),M2=class extends yx{constructor(e){super(e);nt(this,"reactSubtrees",[]);nt(this,"_impliedFootprint");nt(this,"isPrimitiveContainer",!0);nt(this,"_asyncSupplierPartNumbers");nt(this,"pcb_missing_footprint_error_id");this._addChildrenFromStringFootprint(),this.initPorts()}get defaultInternallyConnectedPinNames(){return[]}get internallyConnectedPinNames(){return this._parsedProps.internallyConnectedPins??this.defaultInternallyConnectedPinNames}initPorts(e={}){var o,s,l,c,u,f,d,m,g,E;if((o=this.root)!=null&&o.schematicDisabled)return;const{config:t}=this,r=[],i=this._getSchematicPortArrangement();if(i&&!this._parsedProps.pinLabels){for(const M in i){const N=i[M].pins;if(Array.isArray(N))for(const k of N){const V=jP(k,this._parsedProps.pinLabels);r.push(new U6({pinNumber:V,aliases:((s=e.additionalAliases)==null?void 0:s[`pin${V}`])??[]},{originDescription:`schPortArrangement:${M}`}))}}const w=["left","right","top","bottom"];let S=1;for(const M of w){const N=i[`${M}Size`];for(let k=0;k<N;k++)r.push(new U6({pinNumber:S++,aliases:((l=e.additionalAliases)==null?void 0:l[`pin${S}`])??[]},{originDescription:`schPortArrangement:${M}`}))}}const a=this._parsedProps.pinLabels;if(a)for(let[w,S]of Object.entries(a)){w=w.replace("pin","");let M=r.find(V=>V._parsedProps.pinNumber===Number(w));const N=Array.isArray(S)?S[0]:S,k=Array.isArray(S)?S.slice(1):[];M?(M.externallyAddedAliases.push(N,...k),M.props.name=N):(M=new U6({pinNumber:parseInt(w),name:N,aliases:[...k,...((c=e.additionalAliases)==null?void 0:c[`pin${parseInt(w)}`])??[]]},{originDescription:`pinLabels:pin${w}`}),r.push(M))}if(t.schematicSymbolName){const w=ob[this._getSchematicSymbolNameOrThrow()];if(!w)return;for(const S of w.ports){const M=cet(S.labels);if(!M)continue;const N=r.find(k=>k._parsedProps.pinNumber===Number(M));if(N)N.schematicSymbolPortDef=S;else{const k=HP(S.labels.concat(((u=e.additionalAliases)==null?void 0:u[`pin${M}`])??[]));k&&(k.originDescription=`schematicSymbol:labels[0]:${S.labels[0]}`,k.schematicSymbolPortDef=S,r.push(k))}}this.addAll(r)}if(!this._getSchematicPortArrangement()){const w=this.getPortsFromFootprint(e);for(const S of w)r.some(M=>M.isMatchingAnyOf(S.getNameAndAliases()))||r.push(S)}for(let w=1;w<=(e.pinCount??this._getPinCount());w++){if(!i||r.find(M=>M._parsedProps.pinNumber===w))continue;let S=[...((f=i.leftSide)==null?void 0:f.pins)??[],...((d=i.rightSide)==null?void 0:d.pins)??[],...((m=i.topSide)==null?void 0:m.pins)??[],...((g=i.bottomSide)==null?void 0:g.pins)??[]].map(M=>jP(M,this._parsedProps.pinLabels));["leftSize","rightSize","topSize","bottomSize","leftPinCount","rightPinCount","topPinCount","bottomPinCount"].some(M=>M in i)&&(S=Array.from({length:this._getPinCount()},(M,N)=>N+1)),S.includes(w)&&r.push(new U6({pinNumber:w,aliases:((E=e.additionalAliases)==null?void 0:E[`pin${w}`])??[]},{originDescription:`notOtherwiseAddedButDeducedFromPinCount:${w}`}))}r.length>0&&this.addAll(r)}_getImpliedFootprintString(){return null}_addChildrenFromStringFootprint(){var i;const{name:e,pcbRotation:t}=this.props;let{footprint:r}=this.props;if(r??(r=(i=this._getImpliedFootprintString)==null?void 0:i.call(this)),!!r&&typeof r=="string"){const a=_E.string(r).soup(),o=_4n({componentName:e,componentRotation:t},a);this.addAll(o)}}get portMap(){return new Proxy({},{get:(e,t)=>{const r=this.children.find(i=>i.componentName==="Port"&&i.isMatchingNameOrAlias(t));if(!r)throw new Error(`There was an issue finding the port "${t.toString()}" inside of a ${this.componentName} component with name: "${this.props.name}". This is a bug in @tscircuit/core`);return r}})}getInstanceForReactElement(e){for(const t of this.reactSubtrees)if(t.element===e)return t.component;return null}doInitialSourceRender(){const e=this.config.sourceFtype;if(!e)return;const{db:t}=this.root,{_parsedProps:r}=this,i=t.source_component.insert({ftype:e,name:r.name,manufacturer_part_number:r.manufacturerPartNumber??r.mfn,supplier_part_numbers:r.supplierPartNumbers});this.source_component_id=i.source_component_id}doInitialSchematicComponentRender(){var i,a,o;if((i=this.root)!=null&&i.schematicDisabled)return;const{db:e}=this.root,{schematicSymbolName:t}=this.config;t?this._doInitialSchematicComponentRenderWithSymbol():this._getSchematicBoxDimensions()&&this._doInitialSchematicComponentRenderWithSchematicBoxDimensions();const r=(a=this.getSubcircuit())==null?void 0:a._getSchematicManualPlacementForComponent(this);if(this.schematic_component_id&&(this.props.schX!==void 0||this.props.schY!==void 0)&&r){if(!this.schematic_component_id)return;const s=NZe.parse({type:"schematic_manual_edit_conflict_warning",schematic_manual_edit_conflict_warning_id:`schematic_manual_edit_conflict_${this.source_component_id}`,message:`${this.getString()} has both manual placement and prop coordinates. schX and schY will be used. Remove schX/schY or clear the manual placement.`,schematic_component_id:this.schematic_component_id,source_component_id:this.source_component_id,subcircuit_id:(o=this.getSubcircuit())==null?void 0:o.subcircuit_id});e.schematic_manual_edit_conflict_warning.insert(s)}}_getSchematicSymbolDisplayValue(){}_getInternallyConnectedPins(){if(this.internallyConnectedPinNames.length===0)return[];const e=[];for(const t of this.internallyConnectedPinNames){const r=[];for(const i of t)r.push(this.portMap[i]);e.push(r)}return e}_doInitialSchematicComponentRenderWithSymbol(){var o;if((o=this.root)!=null&&o.schematicDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r=this._getSchematicSymbolNameOrThrow(),i=ob[r],a=this._getGlobalSchematicPositionBeforeLayout();if(i){const s=e.schematic_component.insert({center:a,size:i.size,source_component_id:this.source_component_id,symbol_name:r,symbol_display_value:this._getSchematicSymbolDisplayValue()});this.schematic_component_id=s.schematic_component_id}}_doInitialSchematicComponentRenderWithSchematicBoxDimensions(){var f;if((f=this.root)!=null&&f.schematicDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r=this._getSchematicBoxDimensions(),i={};if(Array.isArray(t.pinLabels))t.pinLabels.forEach((d,m)=>{i[String(m+1)]=d});else for(const[d,m]of Object.entries(t.pinLabels??{}))i[d]=Array.isArray(m)?m[0]:m;const a=this._getGlobalSchematicPositionBeforeLayout(),o=this._getSchematicPortArrangement(),s=e.schematic_component.insert({center:a,rotation:t.schRotation??0,size:r.getSize(),port_arrangement:m4n(o),pin_spacing:t.schPinSpacing??.2,pin_styles:h4n(t.schPinStyle,t.pinLabels),port_labels:i,source_component_id:this.source_component_id}),l=(o==null?void 0:o.topSide)!==void 0||(o==null?void 0:o.bottomSide)!==void 0,c=r==null?void 0:r.getSize().width,u=r==null?void 0:r.getSize().height;e.schematic_text.insert({text:t.manufacturerPartNumber??"",schematic_component_id:s.schematic_component_id,anchor:"left",rotation:0,position:{x:l?a.x+(c??0)/2+.1:a.x-(c??0)/2,y:l?a.y+(u??0)/2+.35:a.y-(u??0)/2-.13},color:"#006464"}),e.schematic_text.insert({text:t.name??"",schematic_component_id:s.schematic_component_id,anchor:"left",rotation:0,position:{x:l?a.x+(c??0)/2+.1:a.x-(c??0)/2,y:l?a.y+(u??0)/2+.55:a.y+(u??0)/2+.13},color:"#006464"}),this.schematic_component_id=s.schematic_component_id}doInitialPcbComponentRender(){var o;if((o=this.root)!=null&&o.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r=this.getSubcircuit(),i=e.pcb_component.insert({center:this._getGlobalPcbPositionBeforeLayout(),width:0,height:0,layer:t.layer??"top",rotation:t.pcbRotation??0,source_component_id:this.source_component_id,subcircuit_id:r.subcircuit_id??void 0});if(!t.footprint&&!this.isGroup){const s=e.pcb_missing_footprint_error.insert({message:`No footprint found for component: ${this.getString()}`,source_component_id:`${this.source_component_id}`,error_type:"pcb_missing_footprint_error"});this.pcb_missing_footprint_error_id=s.pcb_missing_footprint_error_id}this.pcb_component_id=i.pcb_component_id;const a=this.getSubcircuit()._getPcbManualPlacementForComponent(this);if((this.props.pcbX!==void 0||this.props.pcbY!==void 0)&&a){const s=zZe.parse({type:"pcb_manual_edit_conflict_warning",pcb_manual_edit_conflict_warning_id:`pcb_manual_edit_conflict_${this.source_component_id}`,message:`${this.getString()} has both manual placement and prop coordinates. pcbX and pcbY will be used. Remove pcbX/pcbY or clear the manual placement.`,pcb_component_id:this.pcb_component_id,source_component_id:this.source_component_id,subcircuit_id:r.subcircuit_id??void 0});e.pcb_manual_edit_conflict_warning.insert(s)}}doInitialPcbComponentSizeCalculation(){var a;if((a=this.root)!=null&&a.pcbDisabled||!this.pcb_component_id)return;const{db:e}=this.root,{_parsedProps:t}=this,r=set(this.children);if(r.width===0||r.height===0)return;const i={x:(r.minX+r.maxX)/2,y:(r.minY+r.maxY)/2};e.pcb_component.update(this.pcb_component_id,{center:i,width:r.width,height:r.height})}_renderReactSubtree(e){return{element:e,component:p4n(e)}}doInitialInitializePortsFromChildren(){this.initPorts()}doInitialReactSubtreesRender(){if(rt.isValidElement(this.props.footprint)){if(this.reactSubtrees.some(t=>t.element===this.props.footprint))return;const e=this._renderReactSubtree(this.props.footprint);this.reactSubtrees.push(e),this.add(e.component)}}_hasExistingPortExactly(e){return this.children.filter(r=>r.componentName==="Port").some(r=>{const i=e.getNameAndAliases(),a=r.getNameAndAliases();return i.length===a.length&&i.every(o=>a.includes(o))})}add(e){let t;if(rt.isValidElement(e)){const r=this._renderReactSubtree(e);this.reactSubtrees.push(r),t=r.component}else t=e;if(t.componentName==="Port"){if(this._hasExistingPortExactly(t))return;const i=this.children.filter(a=>a.componentName==="Port").find(a=>a.isMatchingAnyOf(t.getNameAndAliases()));i&&q4n(`Similar ports added. Port 1: ${i}, Port 2: ${t}`)}super.add(t)}getPortsFromFootprint(e){let{footprint:t}=this.props;if((!t||rt.isValidElement(t))&&(t=this.children.find(i=>i.componentName==="Footprint")),typeof t=="string"){const i=_E.string(t).soup(),a=[];for(const o of i)if("port_hints"in o&&o.port_hints){const s=HP(o.port_hints,e);if(!s)continue;s.originDescription=`footprint:string:${t}:port_hints[0]:${o.port_hints[0]}`,a.push(s)}return a}if(!rt.isValidElement(t)&&t&&t.componentName==="Footprint"){const i=t;let a=1;const o=[];for(const s of i.children){if(!s.props.portHints)continue;let l=s.props.portHints;l.some(f=>f.startsWith("pin"))||(l=[...l,`pin${a}`]),a++;const u=HP(l);u&&(u.originDescription=`footprint:${t}`,o.push(u))}return o}const r=[];if(!t){for(const i of this.children)if(i.props.portHints&&i.isPcbPrimitive){const a=HP(i.props.portHints);a&&r.push(a)}}return r}getPortsFromSchematicSymbol(){var i;if((i=this.root)!=null&&i.schematicDisabled)return[];const{config:e}=this;if(!e.schematicSymbolName)return[];const t=ob[e.schematicSymbolName];if(!t)return[];const r=[];for(const a of t.ports){const o=HP(a.labels);o&&(o.schematicSymbolPortDef=a,r.push(o))}return r}doInitialCreateNetsFromProps(){this._createNetsFromProps(this._getNetsFromConnectionsProp())}_getNetsFromConnectionsProp(){const{_parsedProps:e}=this,t=[];if(e.connections)for(const[r,i]of Object.entries(e.connections)){const a=Array.isArray(i)?i:[i];for(const o of a)t.push(o)}return t}_createNetsFromProps(e){net(this,e)}_getPcbCircuitJsonBounds(){const{db:e}=this.root;if(!this.pcb_component_id)return super._getPcbCircuitJsonBounds();const t=e.pcb_component.get(this.pcb_component_id);return{center:{x:t.center.x,y:t.center.y},bounds:{left:t.center.x-t.width/2,top:t.center.y-t.height/2,right:t.center.x+t.width/2,bottom:t.center.y+t.height/2},width:t.width,height:t.height}}_getPinCountFromSchematicPortArrangement(){const e=this._getSchematicPortArrangement();if(!e)return 0;if(!uet(e))return(e.leftSize??e.leftPinCount??0)+(e.rightSize??e.rightPinCount??0)+(e.topSize??e.topPinCount??0)+(e.bottomSize??e.bottomPinCount??0);const{leftSide:r,rightSide:i,topSide:a,bottomSide:o}=e;return Math.max(...(r==null?void 0:r.pins)??[],...(i==null?void 0:i.pins)??[],...(a==null?void 0:a.pins)??[],...(o==null?void 0:o.pins)??[])}_getPinCount(){return this._getSchematicPortArrangement()?this._getPinCountFromSchematicPortArrangement():this.getPortsFromFootprint().length}_getSchematicPortArrangement(){return this._parsedProps.schPinArrangement??this._parsedProps.schPortArrangement}_getSchematicBoxDimensions(){if(this.getSchematicSymbol()||!this.config.shouldRenderAsSchematicBox)return null;const{_parsedProps:e}=this,t=this._getPinCount(),r=e.schPinSpacing??.2;return M4n({schWidth:e.schWidth,schHeight:e.schHeight,schPinSpacing:r,numericSchPinStyle:A4n(e.schPinStyle,e.pinLabels),pinCount:t,schPortArrangement:this._getSchematicPortArrangement(),pinLabels:e.pinLabels})}doInitialCadModelRender(){var c;const{db:e}=this.root,{boardThickness:t=0}=((c=this.root)==null?void 0:c._getBoard())??{},r=this._parsedProps.cadModel;if(!this.pcb_component_id||!r&&!this.props.footprint)return;const i=this._getPcbCircuitJsonBounds(),a=e.pcb_component.get(this.pcb_component_id);if(typeof r=="string")throw new Error("String cadModel not yet implemented");const o=Y4n.parse({x:0,y:0,z:typeof(r==null?void 0:r.rotationOffset)=="number"?r.rotationOffset:0,...typeof(r==null?void 0:r.rotationOffset)=="object"?r.rotationOffset??{}:{}}),s=dj.parse({x:0,y:0,z:0,...typeof(r==null?void 0:r.positionOffset)=="object"?r.positionOffset:{}}),l=this.props.layer==="bottom"?"bottom":"top";e.cad_component.insert({position:{x:i.center.x+s.x,y:i.center.y+s.y,z:(l==="bottom"?-t/2:t/2)+s.z},rotation:{x:o.x,y:(l==="top"?0:180)+o.y,z:((a==null?void 0:a.rotation)??0)+(l==="bottom"?180:0)+o.z},pcb_component_id:this.pcb_component_id,source_component_id:this.source_component_id,model_stl_url:"stlUrl"in(r??{})?this._addCachebustToModelUrl(r.stlUrl):void 0,model_obj_url:"objUrl"in(r??{})?this._addCachebustToModelUrl(r.objUrl):void 0,model_jscad:"jscad"in(r??{})?r.jscad:void 0,footprinter_string:typeof this.props.footprint=="string"&&!r?this.props.footprint:void 0})}_addCachebustToModelUrl(e){var r;if(!e||!e.includes("modelcdn.tscircuit.com"))return e;const t=((r=this.root)==null?void 0:r.getClientOrigin())??"";return`${e}${e.includes("?")?"&":"?"}cachebust_origin=${encodeURIComponent(t)}`}doInitialPartsEngineRender(){const e=this.getInheritedProperty("partsEngine");if(!e)return;const{db:t}=this.root,r=t.source_component.get(this.source_component_id);if(!r||r.supplier_part_numbers)return;let i;this.props.footprint&&typeof this.props.footprint=="string"&&(i=this.props.footprint);const a=e.findPart({sourceComponent:r,footprinterString:i});if(!(a instanceof Promise)){t.source_component.update(this.source_component_id,{supplier_part_numbers:a});return}this._queueAsyncEffect("get-supplier-part-numbers",async()=>{this._asyncSupplierPartNumbers=await a,this._markDirty("PartsEngineRender")})}updatePartsEngineRender(){const{db:e}=this.root,t=e.source_component.get(this.source_component_id);if(t&&!t.supplier_part_numbers&&this._asyncSupplierPartNumbers){e.source_component.update(this.source_component_id,{supplier_part_numbers:this._asyncSupplierPartNumbers});return}}doInitialCreateTracesFromProps(){this._createTracesFromConnectionsProp()}_createTracesFromConnectionsProp(){const{_parsedProps:e}=this;if(e.connections)for(const[t,r]of Object.entries(e.connections)){const i=Array.isArray(r)?r:[r];for(const a of i)this.add(new Bw({from:`${this.getSubcircuitSelector()} > port.${t}`,to:a}))}}},X4n=class{constructor(n,e={}){nt(this,"input");nt(this,"isRouting",!1);nt(this,"solver");nt(this,"eventHandlers",{complete:[],error:[],progress:[]});nt(this,"cycleCount",0);nt(this,"stepDelay");nt(this,"timeoutId");this.input=n;const{capacityDepth:t,targetMinCapacity:r,stepDelay:i=0}=e;this.solver=new fX(n,{capacityDepth:t,targetMinCapacity:r}),this.stepDelay=i}start(){this.isRouting||(this.isRouting=!0,this.cycleCount=0,this.runCycleAndQueueNextCycle())}runCycleAndQueueNextCycle(){var n;if(this.isRouting)try{if(this.solver.solved||this.solver.failed){this.solver.failed?this.emitEvent({type:"error",error:new Error(this.solver.error||"Routing failed")}):this.emitEvent({type:"complete",traces:this.solver.getOutputSimpleRouteJson().traces||[]}),this.isRouting=!1;return}const e=Date.now(),t=this.solver.iterations;for(;Date.now()-e<250&&!this.solver.failed&&!this.solver.solved;)this.solver.step();const r=(this.solver.iterations-t)/(Date.now()-e)*1e3;this.cycleCount++;const i=((n=this.solver)==null?void 0:n.preview())||void 0,a=this.solver.progress;this.emitEvent({type:"progress",steps:this.cycleCount,iterationsPerSecond:r,progress:a,phase:this.solver.getCurrentPhase(),debugGraphics:i}),this.stepDelay>0?this.timeoutId=setTimeout(()=>this.runCycleAndQueueNextCycle(),this.stepDelay):this.timeoutId=setTimeout(()=>this.runCycleAndQueueNextCycle(),0)}catch(e){this.emitEvent({type:"error",error:e instanceof Error?e:new Error(String(e))}),this.isRouting=!1}}stop(){this.isRouting&&(this.isRouting=!1,this.timeoutId!==void 0&&(clearTimeout(this.timeoutId),this.timeoutId=void 0))}on(n,e){n==="complete"?this.eventHandlers.complete.push(e):n==="error"?this.eventHandlers.error.push(e):n==="progress"&&this.eventHandlers.progress.push(e)}emitEvent(n){if(n.type==="complete")for(const e of this.eventHandlers.complete)e(n);else if(n.type==="error")for(const e of this.eventHandlers.error)e(n);else if(n.type==="progress")for(const e of this.eventHandlers.progress)e(n)}solveSync(){if(this.solver.solve(),this.solver.failed)throw new Error(this.solver.error||"Routing failed");return this.solver.getOutputSimpleRouteJson().traces||[]}},het=class extends yx{constructor(){super(...arguments);nt(this,"matchedPort",null)}get config(){return{componentName:"TraceHint",zodProps:i4n}}doInitialPortMatching(){const{db:e}=this.root,{_parsedProps:t,parent:r}=this;if(!r)return;if(r.componentName==="Trace"){this.renderError(`Port inference inside trace is not yet supported (${this})`);return}if(!r)throw new Error("TraceHint has no parent");if(!t.for){this.renderError(`TraceHint has no for property (${this})`);return}const i=r.selectOne(t.for,{type:"port"});i||this.renderError(`${this} could not find port for selector "${t.for}"`),this.matchedPort=i,i.registerMatch(this)}getPcbRouteHints(){const{_parsedProps:e}=this,t=e.offset?[e.offset]:e.offsets;if(!t)return[];const r=this._computePcbGlobalTransformBeforeLayout();return t.map(i=>({...gr(r,i),via:i.via,to_layer:i.to_layer,trace_width:i.trace_width}))}doInitialPcbTraceHintRender(){var r,i,a;if((r=this.root)!=null&&r.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this;e.pcb_trace_hint.insert({pcb_component_id:(i=this.matchedPort)==null?void 0:i.pcb_component_id,pcb_port_id:(a=this.matchedPort)==null?void 0:a.pcb_port_id,route:this.getPcbRouteHints()})}},W4n=(n,e)=>{if(b4(n).pcb_trace_hint.get(e.pcb_trace_hint_id))n=n.map(r=>r.pcb_trace_hint_id===e.pcb_trace_hint_id?{...r,route:e.route}:r);else{const r=b4(n).pcb_port.get(e.pcb_port_id);n=n.filter(i=>!(i.type==="pcb_trace_hint"&&i.pcb_port_id===e.pcb_port_id)).concat([{type:"pcb_trace_hint",pcb_trace_hint_id:e.pcb_trace_hint_id,route:e.route,pcb_port_id:e.pcb_port_id,pcb_component_id:r==null?void 0:r.pcb_component_id}])}return n},Z4n=({circuitJson:n,editEvents:e})=>{n=JSON.parse(JSON.stringify(n));for(const t of e)if(t.edit_event_type==="edit_pcb_component_location"){const r=n.find(a=>a.type==="pcb_component"&&a.pcb_component_id===t.pcb_component_id);if((!r||r.center.x!==t.new_center.x||r.center.y!==t.new_center.y)&&t.original_center){const a=k0(t.new_center.x-t.original_center.x,t.new_center.y-t.original_center.y);n=n.map(o=>o.pcb_component_id!==t.pcb_component_id?o:c4t(o,a))}}else t.edit_event_type==="edit_schematic_component_location"?n=n.map(r=>r.type==="schematic_component"&&r.schematic_component_id===t.schematic_component_id?{...r,center:t.new_center}:r):t.edit_event_type==="edit_pcb_trace_hint"&&(n=W4n(n,t));return n},Q4n=(n,e)=>{const t=n.source_group.list(),r=[],i=a=>{const o=t.filter(s=>s.parent_subcircuit_id===a);for(const s of o)s.subcircuit_id&&(r.push(s.subcircuit_id),i(s.subcircuit_id))};return i(e),r},met=({db:n,circuitJson:e,subcircuit_id:t,minTraceWidth:r=.1})=>{if(!n&&e&&(n=b4(e)),!n)throw new Error("db or circuitJson is required");const i=t?new Set([t]):null;if(t){const g=Q4n(n,t);for(const E of g)i.add(E)}const a=(e??n.toArray()).filter(g=>!t||"subcircuit_id"in g&&i.has(g.subcircuit_id)),o=n.pcb_board.list()[0];n=b4(a);const s=n8(a),l=RE([...n.pcb_component.list(),...n.pcb_smtpad.list(),...n.pcb_plated_hole.list(),...n.pcb_hole.list(),...n.pcb_via.list()].filter(g=>!t||(i==null?void 0:i.has(g.subcircuit_id))),s);for(const g of l){const E=g.connectedTo.flatMap(w=>s.getIdsConnectedToNet(w));g.connectedTo.push(...E)}const c=l.flatMap(g=>[{x:g.center.x-g.width/2,y:g.center.y-g.height/2},{x:g.center.x+g.width/2,y:g.center.y+g.height/2}]);let u;o?u={minX:o.center.x-o.width/2,maxX:o.center.x+o.width/2,minY:o.center.y-o.height/2,maxY:o.center.y+o.height/2}:u={minX:Math.min(...c.map(g=>g.x))-1,maxX:Math.max(...c.map(g=>g.x))+1,minY:Math.min(...c.map(g=>g.y))-1,maxY:Math.max(...c.map(g=>g.y))+1};const f=n.source_trace.list().map(g=>{const E=g.connected_source_port_ids.map(w=>{const S=n.source_port.get(w),M=n.pcb_port.getWhere({source_port_id:w});return{...S,...M}});return E.length<2?null:{name:g.source_trace_id??s.getNetConnectedToId(g.source_trace_id)??"",source_trace_id:g.source_trace_id,pointsToConnect:E.map(w=>{var S;return{x:w.x,y:w.y,layer:((S=w.layers)==null?void 0:S[0])??"top"}})}}).filter(g=>g!==null),d=n.source_net.list().filter(g=>!t||(i==null?void 0:i.has(g.subcircuit_id))),m=[];for(const g of d){const E=n.source_trace.list().filter(w=>{var S;return(S=w.connected_source_net_ids)==null?void 0:S.includes(g.source_net_id)});m.push({name:g.source_net_id??s.getNetConnectedToId(g.source_net_id),pointsToConnect:E.flatMap(w=>n.pcb_port.list().filter(M=>w.connected_source_port_ids.includes(M.source_port_id)).map(M=>{var N;return{x:M.x,y:M.y,layer:((N=M.layers)==null?void 0:N[0])??"top",pcb_port_id:M.pcb_port_id}}))})}return{simpleRouteJson:{bounds:u,obstacles:l,connections:[...f,...m],layerCount:2,minTraceWidth:r},connMap:s}},ghe=class extends M2{constructor(){super(...arguments);nt(this,"pcb_group_id",null);nt(this,"subcircuit_id",null);nt(this,"_hasStartedAsyncAutorouting",!1);nt(this,"_asyncAutoroutingResult",null)}get config(){return{zodProps:a3n,componentName:"Group"}}doInitialSourceRender(){const{db:e}=this.root,t=e.source_group.insert({name:this._parsedProps.name,is_subcircuit:this.isSubcircuit});this.subcircuit_id=`subcircuit_${t.source_group_id}`,this.source_group_id=t.source_group_id,e.source_group.update(t.source_group_id,{subcircuit_id:this.subcircuit_id})}doInitialSourceParentAttachment(){var r,i,a;const{db:e}=this.root;if(!this.isSubcircuit)return;const t=(a=(i=(r=this.parent)==null?void 0:r.getSubcircuit)==null?void 0:i.call(r))==null?void 0:a.subcircuit_id;t&&e.source_group.update(this.source_group_id,{parent_subcircuit_id:t})}doInitialPcbComponentRender(){var i;if((i=this.root)!=null&&i.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r=e.pcb_group.insert({is_subcircuit:this.isSubcircuit,subcircuit_id:this.subcircuit_id,name:this._parsedProps.name,center:this._getGlobalPcbPositionBeforeLayout(),width:0,height:0,pcb_component_ids:[],source_group_id:this.source_group_id});this.pcb_group_id=r.pcb_group_id}doInitialCreateTraceHintsFromProps(){var a;const{_parsedProps:e}=this,{db:t}=this.root,r=e;if(!this.isSubcircuit)return;const i=(a=r.layout)==null?void 0:a.manual_trace_hints;if(i)for(const o of i)this.add(new het({for:o.pcb_port_selector,offsets:o.offsets}))}doInitialSourceAddConnectivityMapKey(){if(!this.isSubcircuit)return;const{db:e}=this.root,t=this.selectAll("trace"),r=new ME({});r.addConnections(t.map(i=>{const a=e.source_trace.get(i.source_trace_id);return a?[a.source_trace_id,...a.connected_source_port_ids,...a.connected_source_net_ids]:null}).filter(i=>i!==null));for(const i of t){if(!i.source_trace_id)continue;const a=r.getNetConnectedToId(i.source_trace_id);if(!a)continue;const{name:o}=this._parsedProps;i.subcircuit_connectivity_map_key=`${o??`unnamedsubcircuit${this._renderId}`}_${a}`,e.source_trace.update(i.source_trace_id,{subcircuit_connectivity_map_key:i.subcircuit_connectivity_map_key})}}_areChildSubcircuitsRouted(){const e=this.selectAll("group").filter(t=>t.isSubcircuit);for(const t of e)if(t._shouldRouteAsync()&&!t._asyncAutoroutingResult)return!1;return!0}_shouldRouteAsync(){const e=this._getAutorouterConfig();return e.groupMode==="sequential-trace"?!1:!!(e.local&&e.groupMode==="subcircuit"||!e.local)}_hasTracesToRoute(){const e=c9("tscircuit:core:_hasTracesToRoute"),t=this.selectAll("trace");return e(`[${this.getString()}] has ${t.length} traces to route`),t.length>0}async _runEffectMakeHttpAutoroutingRequest(){var c,u,f,d;const{db:e}=this.root,t=c9("tscircuit:core:_runEffectMakeHttpAutoroutingRequest");this._parsedProps;const r=this._getAutorouterConfig(),i=r.serverUrl,a=r.serverMode,o=(m,g)=>{var E;return t("fetching",m),g.headers&&(g.headers["Tscircuit-Core-Version"]=(E=this.root)==null?void 0:E.getCoreVersion()),fetch(m,g)},s=this.root.db.toArray().filter(m=>m.type.startsWith("source_")||m.type.startsWith("pcb_"));if(a==="solve-endpoint"){if(((c=this.props.autorouter)==null?void 0:c.inputFormat)==="simplified"){const{autorouting_result:g}=await o(`${i}/autorouting/solve`,{method:"POST",body:JSON.stringify({input_simple_route_json:met({db:e,minTraceWidth:((u=this.props.autorouter)==null?void 0:u.minTraceWidth)??.15,subcircuit_id:this.subcircuit_id}).simpleRouteJson,subcircuit_id:this.subcircuit_id}),headers:{"Content-Type":"application/json"}}).then(E=>E.json());this._asyncAutoroutingResult=g,this._markDirty("PcbTraceRender");return}const{autorouting_result:m}=await o(`${i}/autorouting/solve`,{method:"POST",body:JSON.stringify({input_circuit_json:s,subcircuit_id:this.subcircuit_id}),headers:{"Content-Type":"application/json"}}).then(g=>g.json());this._asyncAutoroutingResult=m,this._markDirty("PcbTraceRender");return}const{autorouting_job:l}=await o(`${i}/autorouting/jobs/create`,{method:"POST",body:JSON.stringify({input_circuit_json:s,provider:"freerouting",autostart:!0,display_name:(f=this.root)==null?void 0:f.name,subcircuit_id:this.subcircuit_id,server_cache_enabled:r.serverCacheEnabled}),headers:{"Content-Type":"application/json"}}).then(m=>m.json());for(;;){const{autorouting_job:m}=await o(`${i}/autorouting/jobs/get`,{method:"POST",body:JSON.stringify({autorouting_job_id:l.autorouting_job_id}),headers:{"Content-Type":"application/json"}}).then(g=>g.json());if(m.is_finished){const{autorouting_job_output:g}=await o(`${i}/autorouting/jobs/get_output`,{method:"POST",body:JSON.stringify({autorouting_job_id:l.autorouting_job_id}),headers:{"Content-Type":"application/json"}}).then(E=>E.json());this._asyncAutoroutingResult={output_pcb_traces:g.output_pcb_traces},this._markDirty("PcbTraceRender");break}if(m.has_error)throw e.pcb_autorouting_error.insert({pcb_error_id:l.autorouting_job_id,message:((d=m.error)==null?void 0:d.message)??JSON.stringify(m.error)}),new Error(`Autorouting job failed: ${JSON.stringify(m.error)}`);await new Promise(g=>setTimeout(g,100))}}async _runLocalAutorouting(){var s,l,c,u,f;const{db:e}=this.root;this._parsedProps;const t=c9("tscircuit:core:_runLocalAutorouting");t(`[${this.getString()}] starting local autorouting`);const r=this._getAutorouterConfig(),{simpleRouteJson:i}=met({db:e,minTraceWidth:((s=this.props.autorouter)==null?void 0:s.minTraceWidth)??.15,subcircuit_id:this.subcircuit_id});(l=this.root)==null||l.emit("autorouting:start",{subcircuit_id:this.subcircuit_id,componentDisplayName:this.getString(),simpleRouteJson:i});let a;r.algorithmFn?a=await r.algorithmFn(i):a=new X4n(i,{capacityDepth:(c=this.props.autorouter)==null?void 0:c.capacityDepth,targetMinCapacity:(u=this.props.autorouter)==null?void 0:u.targetMinCapacity});const o=new Promise((d,m)=>{a.on("complete",g=>{t(`[${this.getString()}] local autorouting complete`),d(g.traces)}),a.on("error",g=>{t(`[${this.getString()}] local autorouting error: ${g.error.message}`),m(g.error)})});a.on("progress",d=>{var m;(m=this.root)==null||m.emit("autorouting:progress",{subcircuit_id:this.subcircuit_id,componentDisplayName:this.getString(),...d})}),a.start();try{const d=await o;this._asyncAutoroutingResult={output_pcb_traces:d},this._markDirty("PcbTraceRender")}catch(d){const{db:m}=this.root;throw m.pcb_autorouting_error.insert({pcb_error_id:`pcb_autorouter_error_subcircuit_${this.subcircuit_id}`,message:d instanceof Error?d.message:String(d)}),(f=this.root)==null||f.emit("autorouting:error",{subcircuit_id:this.subcircuit_id,componentDisplayName:this.getString(),error:{message:d instanceof Error?d.message:String(d)},simpleRouteJson:i}),d}finally{a.stop()}}_startAsyncAutorouting(){this._hasStartedAsyncAutorouting||(this._hasStartedAsyncAutorouting=!0,this._getAutorouterConfig().local?this._queueAsyncEffect("capacity-mesh-autorouting",async()=>this._runLocalAutorouting()):this._queueAsyncEffect("make-http-autorouting-request",async()=>this._runEffectMakeHttpAutoroutingRequest()))}doInitialPcbTraceRender(){var t;const e=c9("tscircuit:core:doInitialPcbTraceRender");if(this.isSubcircuit&&!((t=this.root)!=null&&t.pcbDisabled)&&!this.getInheritedProperty("routingDisabled")&&!this._shouldUseTraceByTraceRouting()){if(!this._areChildSubcircuitsRouted()){e(`[${this.getString()}] child subcircuits are not routed, skipping async autorouting until subcircuits routed`);return}e(`[${this.getString()}] no child subcircuits to wait for, initiating async routing`),this._hasTracesToRoute()&&this._startAsyncAutorouting()}}updatePcbTraceRender(){var r;const e=c9("tscircuit:core:updatePcbTraceRender");if(e(`[${this.getString()}] updating...`),!this.isSubcircuit)return;if(this._shouldRouteAsync()&&this._hasTracesToRoute()&&!this._hasStartedAsyncAutorouting){this._areChildSubcircuitsRouted()&&(e(`[${this.getString()}] child subcircuits are now routed, starting async autorouting`),this._startAsyncAutorouting());return}if(!this._asyncAutoroutingResult||this._shouldUseTraceByTraceRouting())return;const{db:t}=this.root;if(this._asyncAutoroutingResult.output_simple_route_json){e(`[${this.getString()}] updating PCB traces from simple route json (${(r=this._asyncAutoroutingResult.output_simple_route_json.traces)==null?void 0:r.length} traces)`),this._updatePcbTraceRenderFromSimpleRouteJson();return}if(this._asyncAutoroutingResult.output_pcb_traces){e(`[${this.getString()}] updating PCB traces from ${this._asyncAutoroutingResult.output_pcb_traces.length} traces`),this._updatePcbTraceRenderFromPcbTraces();return}}_updatePcbTraceRenderFromSimpleRouteJson(){const{db:e}=this.root,{traces:t}=this._asyncAutoroutingResult.output_simple_route_json;if(t)for(const r of t)e.pcb_trace.insert({subcircuit_id:this.subcircuit_id,route:r.route})}_updatePcbTraceRenderFromPcbTraces(){const{output_pcb_traces:e}=this._asyncAutoroutingResult;if(!e)return;const{db:t}=this.root;for(const r of e)if(r.type==="pcb_trace"){if(r.subcircuit_id=this.subcircuit_id,r.connection_name){const i=r.connection_name;r.source_trace_id=i}t.pcb_trace.insert(r)}for(const r of e)if(r.type!=="pcb_via"&&r.type==="pcb_trace")for(const i of r.route)i.route_type==="via"&&t.pcb_via.insert({pcb_trace_id:r.pcb_trace_id,x:i.x,y:i.y,hole_diameter:.3,outer_diameter:.6,layers:[i.from_layer,i.to_layer],from_layer:i.from_layer,to_layer:i.to_layer})}doInitialSchematicLayout(){if(!this.isSubcircuit||!this._parsedProps.schAutoLayoutEnabled)return;const{db:t}=this.root,r=this.getDescendants(),i=[];for(const s of r)if("schematic_component_id"in s){const l=t.schematic_component.get(s.schematic_component_id);if(l){const c=t.schematic_port.list().filter(u=>u.schematic_component_id===l.schematic_component_id);i.push(...c)}}const a=KY(t.toArray()),o=JY(a);QY(t.toArray(),o)}_getAutorouterConfig(){const e={serverUrl:"https://registry-api.tscircuit.com",serverMode:"job",serverCacheEnabled:!0},t=this._parsedProps.autorouter??this.getInheritedProperty("autorouter");return typeof t=="object"?{local:!(t.serverUrl||t.serverMode||t.serverCacheEnabled),...e,...t}:t==="auto-local"?{local:!0,groupMode:"subcircuit"}:t==="sequential-trace"?{local:!0,groupMode:"sequential-trace"}:t==="subcircuit"?{local:!0,groupMode:"subcircuit"}:t==="auto-cloud"?{local:!1,groupMode:"subcircuit",serverUrl:e.serverUrl,serverMode:e.serverMode,serverCacheEnabled:!0}:{local:!0,groupMode:"subcircuit"}}_shouldUseTraceByTraceRouting(){return this._getAutorouterConfig().groupMode==="sequential-trace"}doInitialPcbDesignRuleChecks(){var t;if((t=this.root)!=null&&t.pcbDisabled||this.getInheritedProperty("routingDisabled"))return;const{db:e}=this.root;if(this.isSubcircuit){const r=new Map;for(const i of this.children)if(!i.isSubcircuit&&i._parsedProps.name){const a=r.get(i._parsedProps.name)||[];a.push(i),r.set(i._parsedProps.name,a)}for(const[i,a]of r.entries())a.length>1&&e.pcb_trace_error.insert({error_type:"pcb_trace_error",message:`Multiple components found with name "${i}" in subcircuit "${this._parsedProps.name||"unnamed"}". Component names must be unique within a subcircuit.`,source_trace_id:"",pcb_trace_id:"",pcb_component_ids:a.map(o=>o.pcb_component_id).filter(Boolean),pcb_port_ids:[]})}}},K4n=class extends ghe{constructor(){super(...arguments);nt(this,"pcb_board_id",null);nt(this,"_drcChecksComplete",!1)}get isSubcircuit(){return!0}get config(){return{componentName:"Board",zodProps:jJe}}get boardThickness(){const{_parsedProps:e}=this;return 1.4}get allLayers(){return["top","bottom","inner1","inner2"]}doInitialPcbBoardAutoSize(){var m;if((m=this.root)!=null&&m.pcbDisabled||!this.pcb_board_id)return;const{db:e}=this.root,{_parsedProps:t}=this;if(t.width&&t.height)return;let r=1/0,i=1/0,a=-1/0,o=-1/0;const s=e.pcb_component.list();let l=!1;for(const g of s){const{width:E,height:w,center:S}=g;E===0||w===0||(l=!0,r=Math.min(r,S.x-E/2),i=Math.min(i,S.y-w/2),a=Math.max(a,S.x+E/2),o=Math.max(o,S.y+w/2))}const c=2,u=l?a-r+c*2:0,f=l?o-i+c*2:0,d={x:l?(r+a)/2+(t.outlineOffsetX??0):t.outlineOffsetX??0,y:l?(i+o)/2+(t.outlineOffsetY??0):t.outlineOffsetY??0};e.pcb_board.update(this.pcb_board_id,{width:u,height:f,center:d})}doInitialPcbComponentRender(){var o,s;if((o=this.root)!=null&&o.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this;let r=t.width??0,i=t.height??0;if(t.outline){const l=t.outline.map(g=>g.x),c=t.outline.map(g=>g.y),u=Math.min(...l),f=Math.max(...l),d=Math.min(...c),m=Math.max(...c);r=f-u,i=m-d}const a=e.pcb_board.insert({center:{x:(t.pcbX??0)+(t.outlineOffsetX??0),y:(t.pcbY??0)+(t.outlineOffsetY??0)},thickness:this.boardThickness,num_layers:this.allLayers.length,width:r,height:i,outline:(s=t.outline)==null?void 0:s.map(l=>({x:l.x+(t.outlineOffsetX??0),y:l.y+(t.outlineOffsetY??0)})),material:t.material});this.pcb_board_id=a.pcb_board_id}removePcbComponentRender(){const{db:e}=this.root;this.pcb_board_id&&(e.pcb_board.delete(this.pcb_board_id),this.pcb_board_id=null)}_computePcbGlobalTransformBeforeLayout(){return u9()}doInitialPcbDesignRuleChecks(){var e;(e=this.root)!=null&&e.pcbDisabled||this.getInheritedProperty("routingDisabled")||super.doInitialPcbDesignRuleChecks()}updatePcbDesignRuleChecks(){var r;if((r=this.root)!=null&&r.pcbDisabled||this.getInheritedProperty("routingDisabled"))return;const{db:e}=this.root;if(!this._areChildSubcircuitsRouted()||this._drcChecksComplete)return;this._drcChecksComplete=!0;const t=vX(e.toArray());for(const i of t)e.pcb_trace_error.insert(i)}},J4n=new Proxy({},{get:(n,e)=>e}),VP=J4n,ebn=class extends M2{get config(){return{componentName:"Capacitor",schematicSymbolName:this.props.polarized?"capacitor_polarized":this.props.symbolName??"capacitor",zodProps:g3n,sourceFtype:VP.simple_capacitor}}initPorts(){super.initPorts({additionalAliases:{pin1:["anode","pos","left"],pin2:["cathode","neg","right"]}})}_getSchematicSymbolDisplayValue(){const n=`${Y4(this._parsedProps.capacitance)}F`;return this._parsedProps.schShowRatings&&this._parsedProps.maxVoltageRating?`${n}/${Y4(this._parsedProps.maxVoltageRating)}V`:n}doInitialCreateNetsFromProps(){this._createNetsFromProps([this.props.decouplingFor,this.props.decouplingTo,...this._getNetsFromConnectionsProp()])}doInitialCreateTracesFromProps(){this.props.decouplingFor&&this.props.decouplingTo&&(this.add(new Bw({from:`${this.getSubcircuitSelector()} > port.1`,to:this.props.decouplingFor})),this.add(new Bw({from:`${this.getSubcircuitSelector()} > port.2`,to:this.props.decouplingTo}))),this._createTracesFromConnectionsProp()}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({ftype:"simple_capacitor",name:e.name,manufacturer_part_number:e.manufacturerPartNumber??e.mfn,supplier_part_numbers:e.supplierPartNumbers,capacitance:e.capacitance,max_voltage_rating:e.maxVoltageRating,max_decoupling_trace_length:e.maxDecouplingTraceLength,display_capacitance:this._getSchematicSymbolDisplayValue()});this.source_component_id=t.source_component_id}},yet=class extends M2{constructor(){super(...arguments);nt(this,"schematicBoxDimensions",null)}get config(){return{componentName:"Chip",zodProps:HJe,shouldRenderAsSchematicBox:!0}}doInitialSchematicComponentRender(){const{_parsedProps:e}=this;(e==null?void 0:e.noSchematicRepresentation)!==!0&&super.doInitialSchematicComponentRender()}doInitialSourceRender(){const{db:e}=this.root,{_parsedProps:t}=this,r=e.source_component.insert({ftype:"simple_chip",name:t.name,manufacturer_part_number:t.manufacturerPartNumber,supplier_part_numbers:t.supplierPartNumbers});this.source_component_id=r.source_component_id}doInitialPcbComponentRender(){var i;if((i=this.root)!=null&&i.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r=e.pcb_component.insert({center:{x:t.pcbX??0,y:t.pcbY??0},width:2,height:3,layer:t.layer??"top",rotation:t.pcbRotation??0,source_component_id:this.source_component_id,subcircuit_id:this.getSubcircuit().subcircuit_id??void 0});this.pcb_component_id=r.pcb_component_id}doInitialCreateTracesFromProps(){const{_parsedProps:e}=this;if(e.externallyConnectedPins)for(const[t,r]of e.externallyConnectedPins)this.add(new Bw({from:`${this.getSubcircuitSelector()} > port.${t}`,to:`${this.getSubcircuitSelector()} > port.${r}`}));this._createTracesFromConnectionsProp()}},tbn=class extends M2{constructor(){super(...arguments);nt(this,"pos",this.portMap.pin1);nt(this,"anode",this.portMap.pin1);nt(this,"neg",this.portMap.pin2);nt(this,"cathode",this.portMap.pin2)}get config(){return{schematicSymbolName:this.props.symbolName??"diode",componentName:"Diode",zodProps:G3n,sourceFtype:"simple_diode"}}initPorts(){super.initPorts({additionalAliases:{pin1:["anode","pos","left"],pin2:["cathode","neg","right"]}})}},nbn=class extends M2{constructor(){super(...arguments);nt(this,"schematicDimensions",null)}get config(){return{componentName:"Jumper",zodProps:c3n,shouldRenderAsSchematicBox:!0}}doInitialSourceRender(){const{db:e}=this.root,{_parsedProps:t}=this,r=e.source_component.insert({ftype:"simple_chip",name:t.name,manufacturer_part_number:t.manufacturerPartNumber,supplier_part_numbers:t.supplierPartNumbers});this.source_component_id=r.source_component_id}doInitialPcbComponentRender(){var i;if((i=this.root)!=null&&i.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r=e.pcb_component.insert({center:{x:t.pcbX??0,y:t.pcbY??0},width:2,height:3,layer:t.layer??"top",rotation:t.pcbRotation??0,source_component_id:this.source_component_id,subcircuit_id:this.getSubcircuit().subcircuit_id??void 0});this.pcb_component_id=r.pcb_component_id}},rbn=class extends M2{constructor(){super(...arguments);nt(this,"pos",this.portMap.pin1);nt(this,"anode",this.portMap.pin1);nt(this,"neg",this.portMap.pin2);nt(this,"cathode",this.portMap.pin2)}get config(){return{componentName:"Led",schematicSymbolName:this.props.symbolName??"led",zodProps:q3n,sourceFtype:"simple_diode"}}initPorts(){super.initPorts({additionalAliases:{pin1:["anode","pos","left"],pin2:["cathode","neg","right"]}})}},ibn=class extends M2{constructor(){super(...arguments);nt(this,"pos",this.portMap.pin1);nt(this,"positive",this.portMap.pin1);nt(this,"neg",this.portMap.pin2);nt(this,"negative",this.portMap.pin2)}get config(){return{schematicSymbolName:this.props.symbolName??"power_factor_meter_horz",componentName:"PowerSource",zodProps:K3n,sourceFtype:"simple_power_source"}}initPorts(){this.add(new U6({name:"pin1",pinNumber:1,aliases:["positive","pos"]})),this.add(new U6({name:"pin2",pinNumber:2,aliases:["negative","neg"]}))}},abn=class extends M2{get config(){return{componentName:"Resistor",schematicSymbolName:this.props.symbolName??"boxresistor",zodProps:p3n,sourceFtype:"simple_resistor"}}initPorts(){super.initPorts({additionalAliases:{pin1:["anode","pos","left"],pin2:["cathode","neg","right"]}})}_getSchematicSymbolDisplayValue(){return`${Y4(this._parsedProps.resistance)}Ω`}doInitialCreateNetsFromProps(){this._createNetsFromProps([this.props.pullupFor,this.props.pullupTo,...this._getNetsFromConnectionsProp()])}doInitialCreateTracesFromProps(){this.props.pullupFor&&this.props.pullupTo&&(this.add(new Bw({from:`${this.getSubcircuitSelector()} > port.1`,to:this.props.pullupFor})),this.add(new Bw({from:`${this.getSubcircuitSelector()} > port.2`,to:this.props.pullupTo}))),this._createTracesFromConnectionsProp()}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({ftype:"simple_resistor",name:e.name,manufacturer_part_number:e.manufacturerPartNumber??e.mfn,supplier_part_numbers:e.supplierPartNumbers,resistance:e.resistance,display_resistance:this._getSchematicSymbolDisplayValue()});this.source_component_id=t.source_component_id}},obn=["leftedge","rightedge","topedge","bottomedge","center"],sbn=class extends yx{get config(){return{componentName:"Constraint",zodProps:w3n}}constructor(n){if(super(n),("xdist"in n||"ydist"in n)&&!("edgeToEdge"in n)&&!("centerToCenter"in n))throw new Error(`edgeToEdge, centerToCenter must be set for xDist or yDist for ${this}`);if("for"in n&&n.for.length<2)throw new Error(`"for" must have at least two selectors for ${this}`)}_getAllReferencedComponents(){const n=[],e=this.getPrimitiveContainer();function t(r){const i=r.split(" ").pop(),a=obn.includes(i)?i:void 0,o=a?r.replace(` ${a}`,""):r,s=e.selectOne(o,{pcbPrimitive:!0});s&&n.push({selector:r,component:s,componentSelector:o,edge:a})}for(const r of["left","right","top","bottom"])r in this._parsedProps&&t(this._parsedProps[r]);if("for"in this._parsedProps)for(const r of this._parsedProps.for)t(r);return{componentsWithSelectors:n}}},lbn=class extends yx{constructor(){super(...arguments);nt(this,"fabrication_note_path_id",null)}get config(){return{componentName:"FabricationNotePath",zodProps:W3n}}doInitialPcbPrimitiveRender(){var s,l;if((s=this.root)!=null&&s.pcbDisabled)return;const{db:e}=this.root,t=this.getSubcircuit(),{_parsedProps:r}=this,i=r.layer??"top";if(i!=="top"&&i!=="bottom")throw new Error(`Invalid layer "${i}" for SilkscreenPath. Must be "top" or "bottom".`);const a=this._computePcbGlobalTransformBeforeLayout(),o=e.pcb_fabrication_note_path.insert({pcb_component_id:(l=this.parent)==null?void 0:l.pcb_component_id,layer:i,color:r.color,route:r.route.map(c=>{const u=gr(a,{x:c.x,y:c.y});return{...c,x:u.x,y:u.y}}),stroke_width:r.strokeWidth??.1,subcircuit_id:(t==null?void 0:t.subcircuit_id)??void 0});this.fabrication_note_path_id=o.pcb_fabrication_note_path_id}},cbn=class extends yx{get config(){return{componentName:"FabricationNoteText",zodProps:X3n}}doInitialPcbPrimitiveRender(){var i,a;if((i=this.root)!=null&&i.pcbDisabled)return;const{db:n}=this.root,{_parsedProps:e}=this,t=this.getPrimitiveContainer(),r=this.getSubcircuit();n.pcb_fabrication_note_text.insert({anchor_alignment:e.anchorAlignment,anchor_position:{x:e.pcbX??0,y:e.pcbY??0},font:e.font??"tscircuit2024",font_size:e.fontSize??1,layer:"top",color:e.color,text:e.text??"",pcb_component_id:t.pcb_component_id,subcircuit_id:(r==null?void 0:r.subcircuit_id)??void 0,pcb_group_id:((a=this.getGroup())==null?void 0:a.pcb_group_id)??void 0})}},ubn=class extends ghe{constructor(n){super({...n,subcircuit:!0})}},fbn=class extends yx{constructor(){super(...arguments);nt(this,"source_net_alias_id")}get config(){return{componentName:"NetAlias",zodProps:k3n}}doInitialSchematicComponentRender(){var a;if((a=this.root)!=null&&a.schematicDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r={x:t.schX??0,y:t.schY??0},i=e.schematic_net_label.insert({text:t.net,source_net_id:t.net,anchor_position:r,center:r,anchor_side:"bottom"});this.source_net_alias_id=i.source_net_id}},dbn=class extends yx{constructor(){super(...arguments);nt(this,"pcb_silkscreen_circle_id",null);nt(this,"isPcbPrimitive",!0)}get config(){return{componentName:"SilkscreenCircle",zodProps:r4n}}doInitialPcbPrimitiveRender(){var s,l,c;if((s=this.root)!=null&&s.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,{maybeFlipLayer:r}=this._getPcbPrimitiveFlippedHelpers(),i=r(t.layer??"top");if(i!=="top"&&i!=="bottom")throw new Error(`Invalid layer "${i}" for SilkscreenCircle. Must be "top" or "bottom".`);this._computePcbGlobalTransformBeforeLayout();const a=this.getSubcircuit(),o=e.pcb_silkscreen_circle.insert({pcb_component_id:(l=this.parent)==null?void 0:l.pcb_component_id,layer:i,center:{x:t.pcbX??0,y:t.pcbY??0},radius:t.radius,subcircuit_id:(a==null?void 0:a.subcircuit_id)??void 0,pcb_group_id:((c=this.getGroup())==null?void 0:c.pcb_group_id)??void 0,stroke_width:t.strokeWidth??.1});this.pcb_silkscreen_circle_id=o.pcb_silkscreen_circle_id}getPcbSize(){const{_parsedProps:e}=this,t=e.radius*2;return{width:t,height:t}}},pbn=class extends yx{constructor(){super(...arguments);nt(this,"pcb_silkscreen_rect_id",null);nt(this,"isPcbPrimitive",!0)}get config(){return{componentName:"SilkscreenRect",zodProps:n4n}}doInitialPcbPrimitiveRender(){var s,l,c;if((s=this.root)!=null&&s.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,{maybeFlipLayer:r}=this._getPcbPrimitiveFlippedHelpers(),i=r(t.layer??"top");if(i!=="top"&&i!=="bottom")throw new Error(`Invalid layer "${i}" for SilkscreenRect. Must be "top" or "bottom".`);const a=this.getSubcircuit(),o=e.pcb_silkscreen_rect.insert({pcb_component_id:(l=this.parent)==null?void 0:l.pcb_component_id,layer:i,center:{x:t.pcbX??0,y:t.pcbY??0},width:t.width,height:t.height,subcircuit_id:(a==null?void 0:a.subcircuit_id)??void 0,pcb_group_id:((c=this==null?void 0:this.getGroup())==null?void 0:c.pcb_group_id)??void 0,stroke_width:t.strokeWidth??.1});this.pcb_silkscreen_rect_id=o.pcb_silkscreen_rect_id}getPcbSize(){const{_parsedProps:e}=this;return{width:e.width,height:e.height}}},hbn=class extends yx{constructor(){super(...arguments);nt(this,"pcb_silkscreen_line_id",null);nt(this,"isPcbPrimitive",!0)}get config(){return{componentName:"SilkscreenLine",zodProps:t4n}}doInitialPcbPrimitiveRender(){var s,l,c;if((s=this.root)!=null&&s.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,{maybeFlipLayer:r}=this._getPcbPrimitiveFlippedHelpers(),i=r(t.layer??"top");if(i!=="top"&&i!=="bottom")throw new Error(`Invalid layer "${i}" for SilkscreenLine. Must be "top" or "bottom".`);const a=this.getSubcircuit(),o=e.pcb_silkscreen_line.insert({pcb_component_id:(l=this.parent)==null?void 0:l.pcb_component_id,layer:i,x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,stroke_width:t.strokeWidth??.1,subcircuit_id:(a==null?void 0:a.subcircuit_id)??void 0,pcb_group_id:((c=a==null?void 0:a.getGroup())==null?void 0:c.pcb_group_id)??void 0});this.pcb_silkscreen_line_id=o.pcb_silkscreen_line_id}getPcbSize(){const{_parsedProps:e}=this,t=Math.abs(e.x2-e.x1),r=Math.abs(e.y2-e.y1);return{width:t,height:r}}},mbn=class extends yx{constructor(){super(...arguments);nt(this,"pcb_via_id",null);nt(this,"matchedPort",null);nt(this,"isPcbPrimitive",!0)}get config(){return{componentName:"Via",zodProps:Z3n}}getAvailablePcbLayers(){return["top","inner1","inner2","bottom"]}getPcbSize(){const{_parsedProps:e}=this;return{width:e.outerDiameter,height:e.outerDiameter}}_getPcbCircuitJsonBounds(){const{db:e}=this.root,t=e.pcb_via.get(this.pcb_via_id),r=this.getPcbSize();return{center:{x:t.x,y:t.y},bounds:{left:t.x-r.width/2,top:t.y-r.height/2,right:t.x+r.width/2,bottom:t.y+r.height/2},width:r.width,height:r.height}}_setPositionFromLayout(e){const{db:t}=this.root;t.pcb_via.update(this.pcb_via_id,{x:e.x,y:e.y})}doInitialPcbPrimitiveRender(){var o,s;if((o=this.root)!=null&&o.pcbDisabled)return;const{db:e}=this.root,{_parsedProps:t}=this,r=this._getGlobalPcbPositionBeforeLayout(),i=this.getSubcircuit(),a=e.pcb_via.insert({x:r.x,y:r.y,hole_diameter:t.holeDiameter,outer_diameter:t.outerDiameter,layers:["bottom","top"],from_layer:t.fromLayer||"bottom",to_layer:t.toLayer||"top",subcircuit_id:(i==null?void 0:i.subcircuit_id)??void 0,pcb_group_id:((s=this.getGroup())==null?void 0:s.pcb_group_id)??void 0});this.pcb_via_id=a.pcb_via_id}},ybn=class extends M2{get config(){return{componentName:"Battery",schematicSymbolName:this.props.symbolName??"battery",zodProps:z3n,sourceFtype:"simple_power_source"}}initPorts(){super.initPorts({additionalAliases:{pin1:["anode","pos","left"],pin2:["cathode","neg","right"]}})}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({name:e.name,ftype:"simple_power_source",capacity:e.capacity,supplier_part_numbers:e.supplierPartNumbers});this.source_component_id=t.source_component_id}},vbn=class extends M2{get config(){return{componentName:"PinHeader",zodProps:U3n,shouldRenderAsSchematicBox:!0}}_getImpliedFootprintString(){var i;const n=this._parsedProps.pinCount??((i=this._parsedProps.pinLabels)==null?void 0:i.length)??0,e=this._parsedProps.holeDiameter,t=this._parsedProps.platedDiameter,r=this._parsedProps.pitch;return n>0&&r?!e&&!t?`pinrow${n}_p${r}`:`pinrow${n}_p${r}_id${e}_od${t}`:null}initPorts(){var e,t;const n=this._parsedProps.pinCount??((e=this._parsedProps.pinLabels)==null?void 0:e.length)??1;for(let r=1;r<=n;r++)this.add(new U6({name:`pin${r}`,pinNumber:r,aliases:[(t=this._parsedProps.pinLabels)==null?void 0:t[r-1]].filter(Boolean)}))}_getSchematicPortArrangement(){const n=this._parsedProps.pinCount??1,e=this._parsedProps.facingDirection??"right";return{leftSize:e==="left"?n:0,rightSize:e==="right"?n:0}}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({ftype:"simple_pin_header",name:e.name,supplier_part_numbers:e.supplierPartNumbers,pin_count:e.pinCount,gender:e.gender});this.source_component_id=t.source_component_id}};function gbn(n){switch(n){case"two_ground_pins":return"crystal_4pin";case"ground_pin":return"resonator";case"no_ground":return"crystal";default:return"crystal"}}var _bn=class extends M2{get config(){return{componentName:"Resonator",schematicSymbolName:this.props.symbolName??gbn(this.props.pinVariant),zodProps:y3n,shouldRenderAsSchematicBox:!1}}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({ftype:"simple_resonator",name:e.name,frequency:e.frequency,load_capacitance:e.loadCapacitance,supplier_part_numbers:e.supplierPartNumbers,pin_variant:e.pinVariant||"no_ground"});this.source_component_id=t.source_component_id}},xbn=class extends M2{get config(){return{componentName:"Inductor",schematicSymbolName:this.props.symbolName??"inductor",zodProps:j3n,sourceFtype:VP.simple_inductor}}initPorts(){super.initPorts({additionalAliases:{pin1:["anode","pos","left"],pin2:["cathode","neg","right"]}})}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({name:e.name,ftype:VP.simple_inductor,inductance:e.inductance,supplier_part_numbers:e.supplierPartNumbers});this.source_component_id=t.source_component_id}};function bbn(n){switch(n){case"three_pin":return"potentiometer3";case"two_pin":return"potentiometer2";default:return"potentiometer2"}}var Sbn=class extends M2{get config(){return{componentName:"Potentiometer",schematicSymbolName:this.props.symbolName??bbn(this.props.pinVariant),zodProps:h3n,shouldRenderAsSchematicBox:!1}}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({ftype:"simple_potentiometer",name:e.name,max_resistance:e.maxResistance,pin_variant:e.pinVariant||"two_pin"});this.source_component_id=t.source_component_id}},wbn=class extends M2{get config(){return{componentName:"PushButton",schematicSymbolName:this.props.symbolName??"push_button_normally_open_momentary",zodProps:I3n,sourceFtype:VP.simple_push_button}}get defaultInternallyConnectedPinNames(){return[["pin1","pin4"],["pin2","pin3"]]}initPorts(){super.initPorts({pinCount:4,additionalAliases:{pin1:["side1"],pin3:["side2"]}})}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({name:e.name,ftype:VP.simple_push_button,supplier_part_numbers:e.supplierPartNumbers});this.source_component_id=t.source_component_id}},Ebn=class extends M2{get config(){return{schematicSymbolName:this.props.symbolName??(this.props.pinVariant==="four_pin"?"crystal_4pin":"crystal"),componentName:"Crystal",zodProps:m3n,sourceFtype:"simple_crystal"}}initPorts(){const n=this.props.pinVariant==="four_pin"?{pin1:["left1","1"],pin2:["top1","2","gnd1"],pin3:["right1","3"],pin4:["bottom1","4","gnd2"]}:{pin1:["pos","left"],pin2:["neg","right"]};super.initPorts({additionalAliases:n})}_getSchematicSymbolDisplayValue(){return`${Y4(this._parsedProps.frequency)}Hz`}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({name:e.name,ftype:"simple_crystal",frequency:e.frequency,load_capacitance:e.loadCapacitance,pin_variant:e.pinVariant||"two_pin"});this.source_component_id=t.source_component_id}},Tbn=class extends M2{constructor(){super(...arguments);nt(this,"emitter",this.portMap.pin1);nt(this,"collector",this.portMap.pin2);nt(this,"base",this.portMap.pin3)}get config(){return{componentName:"Transistor",schematicSymbolName:this.props.type==="npn"?"npn_bipolar_transistor":"pnp_bipolar_transistor",zodProps:F3n,sourceFtype:"simple_transistor",shouldRenderAsSchematicBox:!1}}initPorts(){super.initPorts({pinCount:3,additionalAliases:{pin1:["emitter","e"],pin2:["collector","c"],pin3:["base","b"]}})}doInitialSourceRender(){const{db:e}=this.root,{_parsedProps:t}=this,r=e.source_component.insert({ftype:"simple_transistor",name:t.name,transistor_type:t.type});this.source_component_id=r.source_component_id}},Mbn=class extends M2{get config(){const n=this.props.mosfetMode==="depletion"?"d":"e";return{componentName:"Mosfet",schematicSymbolName:`${this.props.channelType}_channel_${n}_mosfet_transistor`,zodProps:B3n,shouldRenderAsSchematicBox:!1}}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({ftype:"simple_mosfet",name:e.name,mosfet_mode:e.mosfetMode,channel_type:e.channelType});this.source_component_id=t.source_component_id}},Cbn=class extends M2{_getSwitchType(){const{spst:n,spdt:e,dpst:t,dpdt:r,type:i}=this._parsedProps??{};return r?"dpdt":n?"spst":e?"spdt":t?"dpst":i??"spst"}get config(){const n=this._getSwitchType(),{isNormallyClosed:e}=this._parsedProps??{};return{componentName:"Switch",schematicSymbolName:{spst:e?"spst_normally_closed_switch":"SPST_switch",spdt:e?"spdt_normally_closed_switch":"SPDT_switch",dpst:e?"dpst_normally_closed_switch":"dpst_switch",dpdt:e?"dpdt_normally_closed_switch":"dpdt_switch"}[n]??"SPST_switch",zodProps:Y3n,shouldRenderAsSchematicBox:!1}}doInitialSourceRender(){const{db:n}=this.root,{_parsedProps:e}=this,t=n.source_component.insert({ftype:"simple_switch",name:e.name,switch_type:e.type,is_normally_closed:e.isNormallyClosed??!1});this.source_component_id=t.source_component_id}};new Proxy({},{get:(n,e)=>{const t=(...r)=>(r[0],new Proxy({},{get:(i,a)=>`.${e} > .${a}`}));return new Proxy(t,{get:(r,i)=>e==="net"?`net.${i}`:e==="subcircuit"?new Proxy({},{get:(a,o)=>new Proxy({},{get:(s,l)=>`subcircuit.${i} > .${o} > .${l}`})}):`.${e} > .${i}`,apply:(r,i,a)=>new Proxy({},{get:(o,s)=>{const l=`.${e} > .${s}`;return e.startsWith("U")?l:new Proxy(new String(l),{get:(c,u)=>typeof u=="symbol"||u==="toString"?()=>l:`.${e} > .${s} > .${u}`})}})})}}),ZJe(XJe),ZJe({Bug:yet});const $P=n=>typeof n=="number"&&!isNaN(n),jw=n=>typeof n=="string",O4=n=>typeof n=="function",MH=n=>jw(n)||O4(n)?n:null,_he=n=>rt.isValidElement(n)||jw(n)||O4(n)||$P(n);function Rbn(n,e,t){t===void 0&&(t=300);const{scrollHeight:r,style:i}=n;requestAnimationFrame(()=>{i.minHeight="initial",i.height=r+"px",i.transition=`all ${t}ms`,requestAnimationFrame(()=>{i.height="0",i.padding="0",i.margin="0",setTimeout(e,t)})})}function CH(n){let{enter:e,exit:t,appendPosition:r=!1,collapse:i=!0,collapseDuration:a=300}=n;return function(o){let{children:s,position:l,preventExitTransition:c,done:u,nodeRef:f,isIn:d,playToast:m}=o;const g=r?`${e}--${l}`:e,E=r?`${t}--${l}`:t,w=rt.useRef(0);return rt.useLayoutEffect(()=>{const S=f.current,M=g.split(" "),N=k=>{k.target===f.current&&(m(),S.removeEventListener("animationend",N),S.removeEventListener("animationcancel",N),w.current===0&&k.type!=="animationcancel"&&S.classList.remove(...M))};S.classList.add(...M),S.addEventListener("animationend",N),S.addEventListener("animationcancel",N)},[]),rt.useEffect(()=>{const S=f.current,M=()=>{S.removeEventListener("animationend",M),i?Rbn(S,u,a):u()};d||(c?M():(w.current=1,S.className+=` ${E}`,S.addEventListener("animationend",M)))},[d]),Jc.createElement(Jc.Fragment,null,s)}}function vet(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 N3=new Map;let GP=[];const xhe=new Set,Abn=n=>xhe.forEach(e=>e(n)),get=()=>N3.size>0;function _et(n,e){var t;if(e)return!((t=N3.get(e))==null||!t.isToastActive(n));let r=!1;return N3.forEach(i=>{i.isToastActive(n)&&(r=!0)}),r}function xet(n,e){_he(n)&&(get()||GP.push({content:n,options:e}),N3.forEach(t=>{t.buildToast(n,e)}))}function bet(n,e){N3.forEach(t=>{e!=null&&e!=null&&e.containerId?(e==null?void 0:e.containerId)===t.id&&t.toggle(n,e==null?void 0:e.id):t.toggle(n,e==null?void 0:e.id)})}function Pbn(n){const{subscribe:e,getSnapshot:t,setProps:r}=rt.useRef(function(a){const o=a.containerId||1;return{subscribe(s){const l=function(u,f,d){let m=1,g=0,E=[],w=[],S=[],M=f;const N=new Map,k=new Set,V=()=>{S=Array.from(N.values()),k.forEach(q=>q())},Y=q=>{w=q==null?[]:w.filter(ee=>ee!==q),V()},W=q=>{const{toastId:ee,onOpen:X,updateId:ue,children:pe}=q.props,ce=ue==null;q.staleId&&N.delete(q.staleId),N.set(ee,q),w=[...w,q.props.toastId].filter(Se=>Se!==q.staleId),V(),d(vet(q,ce?"added":"updated")),ce&&O4(X)&&X(rt.isValidElement(pe)&&pe.props)};return{id:u,props:M,observe:q=>(k.add(q),()=>k.delete(q)),toggle:(q,ee)=>{N.forEach(X=>{ee!=null&&ee!==X.props.toastId||O4(X.toggle)&&X.toggle(q)})},removeToast:Y,toasts:N,clearQueue:()=>{g-=E.length,E=[]},buildToast:(q,ee)=>{if((Re=>{let{containerId:qe,toastId:Ke,updateId:ut}=Re;const pt=qe?qe!==u:u!==1,At=N.has(Ke)&&ut==null;return pt||At})(ee))return;const{toastId:X,updateId:ue,data:pe,staleId:ce,delay:Se}=ee,he=()=>{Y(X)},_e=ue==null;_e&&g++;const Te={...M,style:M.toastStyle,key:m++,...Object.fromEntries(Object.entries(ee).filter(Re=>{let[qe,Ke]=Re;return Ke!=null})),toastId:X,updateId:ue,data:pe,closeToast:he,isIn:!1,className:MH(ee.className||M.toastClassName),bodyClassName:MH(ee.bodyClassName||M.bodyClassName),progressClassName:MH(ee.progressClassName||M.progressClassName),autoClose:!ee.isLoading&&(be=ee.autoClose,Pe=M.autoClose,be===!1||$P(be)&&be>0?be:Pe),deleteToast(){const Re=N.get(X),{onClose:qe,children:Ke}=Re.props;O4(qe)&&qe(rt.isValidElement(Ke)&&Ke.props),d(vet(Re,"removed")),N.delete(X),g--,g<0&&(g=0),E.length>0?W(E.shift()):V()}};var be,Pe;Te.closeButton=M.closeButton,ee.closeButton===!1||_he(ee.closeButton)?Te.closeButton=ee.closeButton:ee.closeButton===!0&&(Te.closeButton=!_he(M.closeButton)||M.closeButton);let De=q;rt.isValidElement(q)&&!jw(q.type)?De=rt.cloneElement(q,{closeToast:he,toastProps:Te,data:pe}):O4(q)&&(De=q({closeToast:he,toastProps:Te,data:pe}));const ze={content:De,props:Te,staleId:ce};M.limit&&M.limit>0&&g>M.limit&&_e?E.push(ze):$P(Se)?setTimeout(()=>{W(ze)},Se):W(ze)},setProps(q){M=q},setToggle:(q,ee)=>{N.get(q).toggle=ee},isToastActive:q=>w.some(ee=>ee===q),getSnapshot:()=>S}}(o,a,Abn);N3.set(o,l);const c=l.observe(s);return GP.forEach(u=>xet(u.content,u.options)),GP=[],()=>{c(),N3.delete(o)}},setProps(s){var l;(l=N3.get(o))==null||l.setProps(s)},getSnapshot(){var s;return(s=N3.get(o))==null?void 0:s.getSnapshot()}}}(n)).current;r(n);const i=rt.useSyncExternalStore(e,t,t);return{getToastToRender:function(a){if(!i)return[];const o=new Map;return n.newestOnTop&&i.reverse(),i.forEach(s=>{const{position:l}=s.props;o.has(l)||o.set(l,[]),o.get(l).push(s)}),Array.from(o,s=>a(s[0],s[1]))},isToastActive:_et,count:i==null?void 0:i.length}}function Nbn(n){const[e,t]=rt.useState(!1),[r,i]=rt.useState(!1),a=rt.useRef(null),o=rt.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:s,pauseOnHover:l,closeToast:c,onClick:u,closeOnClick:f}=n;var d,m;function g(){t(!0)}function E(){t(!1)}function w(N){const k=a.current;o.canDrag&&k&&(o.didMove=!0,e&&E(),o.delta=n.draggableDirection==="x"?N.clientX-o.start:N.clientY-o.start,o.start!==N.clientX&&(o.canCloseOnClick=!1),k.style.transform=`translate3d(${n.draggableDirection==="x"?`${o.delta}px, var(--y)`:`0, calc(${o.delta}px + var(--y))`},0)`,k.style.opacity=""+(1-Math.abs(o.delta/o.removalDistance)))}function S(){document.removeEventListener("pointermove",w),document.removeEventListener("pointerup",S);const N=a.current;if(o.canDrag&&o.didMove&&N){if(o.canDrag=!1,Math.abs(o.delta)>o.removalDistance)return i(!0),n.closeToast(),void n.collapseAll();N.style.transition="transform 0.2s, opacity 0.2s",N.style.removeProperty("transform"),N.style.removeProperty("opacity")}}(m=N3.get((d={id:n.toastId,containerId:n.containerId,fn:t}).containerId||1))==null||m.setToggle(d.id,d.fn),rt.useEffect(()=>{if(n.pauseOnFocusLoss)return document.hasFocus()||E(),window.addEventListener("focus",g),window.addEventListener("blur",E),()=>{window.removeEventListener("focus",g),window.removeEventListener("blur",E)}},[n.pauseOnFocusLoss]);const M={onPointerDown:function(N){if(n.draggable===!0||n.draggable===N.pointerType){o.didMove=!1,document.addEventListener("pointermove",w),document.addEventListener("pointerup",S);const k=a.current;o.canCloseOnClick=!0,o.canDrag=!0,k.style.transition="none",n.draggableDirection==="x"?(o.start=N.clientX,o.removalDistance=k.offsetWidth*(n.draggablePercent/100)):(o.start=N.clientY,o.removalDistance=k.offsetHeight*(n.draggablePercent===80?1.5*n.draggablePercent:n.draggablePercent)/100)}},onPointerUp:function(N){const{top:k,bottom:V,left:Y,right:W}=a.current.getBoundingClientRect();N.nativeEvent.type!=="touchend"&&n.pauseOnHover&&N.clientX>=Y&&N.clientX<=W&&N.clientY>=k&&N.clientY<=V?E():g()}};return s&&l&&(M.onMouseEnter=E,n.stacked||(M.onMouseLeave=g)),f&&(M.onClick=N=>{u&&u(N),o.canCloseOnClick&&c()}),{playToast:g,pauseToast:E,isRunning:e,preventExitTransition:r,toastRef:a,eventHandlers:M}}function Dbn(n){let{delay:e,isRunning:t,closeToast:r,type:i="default",hide:a,className:o,style:s,controlledProgress:l,progress:c,rtl:u,isIn:f,theme:d}=n;const m=a||l&&c===0,g={...s,animationDuration:`${e}ms`,animationPlayState:t?"running":"paused"};l&&(g.transform=`scaleX(${c})`);const E=l8("Toastify__progress-bar",l?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${d}`,`Toastify__progress-bar--${i}`,{"Toastify__progress-bar--rtl":u}),w=O4(o)?o({rtl:u,type:i,defaultClassName:E}):l8(E,o),S={[l&&c>=1?"onTransitionEnd":"onAnimationEnd"]:l&&c<1?null:()=>{f&&r()}};return Jc.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":m},Jc.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${d} Toastify__progress-bar--${i}`}),Jc.createElement("div",{role:"progressbar","aria-hidden":m?"true":"false","aria-label":"notification timer",className:w,style:g,...S}))}let Lbn=1;const wet=()=>""+Lbn++;function Obn(n){return n&&(jw(n.toastId)||$P(n.toastId))?n.toastId:wet()}function qP(n,e){return xet(n,e),e.toastId}function RH(n,e){return{...e,type:e&&e.type||n,toastId:Obn(e)}}function AH(n){return(e,t)=>qP(e,RH(n,t))}function _v(n,e){return qP(n,RH("default",e))}_v.loading=(n,e)=>qP(n,RH("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...e})),_v.promise=function(n,e,t){let r,{pending:i,error:a,success:o}=e;i&&(r=jw(i)?_v.loading(i,t):_v.loading(i.render,{...t,...i}));const s={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},l=(u,f,d)=>{if(f==null)return void _v.dismiss(r);const m={type:u,...s,...t,data:d},g=jw(f)?{render:f}:f;return r?_v.update(r,{...m,...g}):_v(g.render,{...m,...g}),d},c=O4(n)?n():n;return c.then(u=>l("success",o,u)).catch(u=>l("error",a,u)),c},_v.success=AH("success"),_v.info=AH("info"),_v.error=AH("error"),_v.warning=AH("warning"),_v.warn=_v.warning,_v.dark=(n,e)=>qP(n,RH("default",{theme:"dark",...e})),_v.dismiss=function(n){(function(e){var t;if(get()){if(e==null||jw(t=e)||$P(t))N3.forEach(r=>{r.removeToast(e)});else if(e&&("containerId"in e||"id"in e)){const r=N3.get(e.containerId);r?r.removeToast(e.id):N3.forEach(i=>{i.removeToast(e.id)})}}else GP=GP.filter(r=>e!=null&&r.options.toastId!==e)})(n)},_v.clearWaitingQueue=function(n){n===void 0&&(n={}),N3.forEach(e=>{!e.props.limit||n.containerId&&e.id!==n.containerId||e.clearQueue()})},_v.isActive=_et,_v.update=function(n,e){e===void 0&&(e={});const t=((r,i)=>{var a;let{containerId:o}=i;return(a=N3.get(o||1))==null?void 0:a.toasts.get(r)})(n,e);if(t){const{props:r,content:i}=t,a={delay:100,...r,...e,toastId:e.toastId||n,updateId:wet()};a.toastId!==n&&(a.staleId=n);const o=a.render||i;delete a.render,qP(o,a)}},_v.done=n=>{_v.update(n,{progress:1})},_v.onChange=function(n){return xhe.add(n),()=>{xhe.delete(n)}},_v.play=n=>bet(!0,n),_v.pause=n=>bet(!1,n);const zbn=typeof window<"u"?rt.useLayoutEffect:rt.useEffect,PH=n=>{let{theme:e,type:t,isLoading:r,...i}=n;return Jc.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:e==="colored"?"currentColor":`var(--toastify-icon-color-${t})`,...i})},bhe={info:function(n){return Jc.createElement(PH,{...n},Jc.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 Jc.createElement(PH,{...n},Jc.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 Jc.createElement(PH,{...n},Jc.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 Jc.createElement(PH,{...n},Jc.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 Jc.createElement("div",{className:"Toastify__spinner"})}},Ubn=n=>{const{isRunning:e,preventExitTransition:t,toastRef:r,eventHandlers:i,playToast:a}=Nbn(n),{closeButton:o,children:s,autoClose:l,onClick:c,type:u,hideProgressBar:f,closeToast:d,transition:m,position:g,className:E,style:w,bodyClassName:S,bodyStyle:M,progressClassName:N,progressStyle:k,updateId:V,role:Y,progress:W,rtl:q,toastId:ee,deleteToast:X,isIn:ue,isLoading:pe,closeOnClick:ce,theme:Se}=n,he=l8("Toastify__toast",`Toastify__toast-theme--${Se}`,`Toastify__toast--${u}`,{"Toastify__toast--rtl":q},{"Toastify__toast--close-on-click":ce}),_e=O4(E)?E({rtl:q,position:g,type:u,defaultClassName:he}):l8(he,E),Te=function(ze){let{theme:Re,type:qe,isLoading:Ke,icon:ut}=ze,pt=null;const At={theme:Re,type:qe};return ut===!1||(O4(ut)?pt=ut({...At,isLoading:Ke}):rt.isValidElement(ut)?pt=rt.cloneElement(ut,At):Ke?pt=bhe.spinner():(Bt=>Bt in bhe)(qe)&&(pt=bhe[qe](At))),pt}(n),be=!!W||!l,Pe={closeToast:d,type:u,theme:Se};let De=null;return o===!1||(De=O4(o)?o(Pe):rt.isValidElement(o)?rt.cloneElement(o,Pe):function(ze){let{closeToast:Re,theme:qe,ariaLabel:Ke="close"}=ze;return Jc.createElement("button",{className:`Toastify__close-button Toastify__close-button--${qe}`,type:"button",onClick:ut=>{ut.stopPropagation(),Re(ut)},"aria-label":Ke},Jc.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},Jc.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"})))}(Pe)),Jc.createElement(m,{isIn:ue,done:X,position:g,preventExitTransition:t,nodeRef:r,playToast:a},Jc.createElement("div",{id:ee,onClick:c,"data-in":ue,className:_e,...i,style:w,ref:r},Jc.createElement("div",{...ue&&{role:Y},className:O4(S)?S({type:u}):l8("Toastify__toast-body",S),style:M},Te!=null&&Jc.createElement("div",{className:l8("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!pe})},Te),Jc.createElement("div",null,s)),De,Jc.createElement(Dbn,{...V&&!be?{key:`pb-${V}`}:{},rtl:q,theme:Se,delay:l,isRunning:e,isIn:ue,closeToast:d,hide:f,type:u,style:k,className:N,controlledProgress:be,progress:W||0})))},NH=function(n,e){return e===void 0&&(e=!1),{enter:`Toastify--animate Toastify__${n}-enter`,exit:`Toastify--animate Toastify__${n}-exit`,appendPosition:e}},kbn=CH(NH("bounce",!0));CH(NH("slide",!0)),CH(NH("zoom")),CH(NH("flip"));const Ibn={position:"top-right",transition:kbn,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};function Fbn(n){let e={...Ibn,...n};const t=n.stacked,[r,i]=rt.useState(!0),a=rt.useRef(null),{getToastToRender:o,isToastActive:s,count:l}=Pbn(e),{className:c,style:u,rtl:f,containerId:d}=e;function m(E){const w=l8("Toastify__toast-container",`Toastify__toast-container--${E}`,{"Toastify__toast-container--rtl":f});return O4(c)?c({position:E,rtl:f,defaultClassName:w}):l8(w,MH(c))}function g(){t&&(i(!0),_v.play())}return zbn(()=>{if(t){var E;const w=a.current.querySelectorAll('[data-in="true"]'),S=12,M=(E=e.position)==null?void 0:E.includes("top");let N=0,k=0;Array.from(w).reverse().forEach((V,Y)=>{const W=V;W.classList.add("Toastify__toast--stacked"),Y>0&&(W.dataset.collapsed=`${r}`),W.dataset.pos||(W.dataset.pos=M?"top":"bot");const q=N*(r?.2:1)+(r?0:S*Y);W.style.setProperty("--y",`${M?q:-1*q}px`),W.style.setProperty("--g",`${S}`),W.style.setProperty("--s",""+(1-(r?k:0))),N+=W.offsetHeight,k+=.025})}},[r,l,t]),Jc.createElement("div",{ref:a,className:"Toastify",id:d,onMouseEnter:()=>{t&&(i(!1),_v.pause())},onMouseLeave:g},o((E,w)=>{const S=w.length?{...u}:{...u,pointerEvents:"none"};return Jc.createElement("div",{className:m(E),style:S,key:`container-${E}`},w.map(M=>{let{content:N,props:k}=M;return Jc.createElement(Ubn,{...k,stacked:t,collapseAll:g,isIn:s(k.toastId,k.containerId),style:k.style,key:`toast-${k.key}`},N)}))}))}function Bbn(){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 jbn=sE(Hht);var She,Eet;function Hbn(){if(Eet)return She;Eet=1;var n=Object.defineProperty,e=Object.getOwnPropertyDescriptor,t=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,i=(w,S)=>{for(var M in S)n(w,M,{get:S[M],enumerable:!0})},a=(w,S,M,N)=>{if(S&&typeof S=="object"||typeof S=="function")for(let k of t(S))!r.call(w,k)&&k!==M&&n(w,k,{get:()=>S[k],enumerable:!(N=e(S,k))||N.enumerable});return w},o=w=>a(n({},"__esModule",{value:!0}),w),s={};i(s,{SuperGrid:()=>E,toMMSI:()=>g,toMeterSI:()=>m}),She=o(s);var l=r5(),c=jbn,u=iye(),f=(w,S,M)=>{const N=[];if(S<w)for(let k=w;k>=S;k-=Math.abs(M))N.push(k);else for(let k=w;k<=S;k+=Math.abs(M))N.push(k);return N};function d(w,S){return{x:Math.round(S.x/w)*w,y:Math.round(S.y/w)*w}}function m(w,S=1){return w<0?"-"+m(-w):w<1e-6?"0m":w>1e3?Math.floor(w/1e3)+"km":w>1&&S>1?Math.round(w)+"m":w>1&&S<=1?w.toFixed(Math.ceil(-Math.log10(S)))+"m":w<1&&S>=1/1e3?Math.round(w*1e3)+"mm":w<1&&S<1/1e3?(w*1e3).toFixed(Math.ceil(-Math.log10(S*1e3)))+"mm":""}function g(w,S=1){return m(w/1e3,S/1e3)}var E=w=>{var S;const M=(0,l.useRef)(null),[N,k]=(0,l.useState)({x:0,y:0}),{majorColor:V="rgba(0,0,0,0.2)",minorColor:Y="rgba(0,0,0,0.1)",textColor:W=(S=w.majorColor)!=null?S:"rgba(0,0,0,0.5)",width:q,height:ee,screenSpaceCellSize:X=200,stringifyCoord:ue=(he,_e,Te)=>`${m(he,Te)}, ${m(_e,Te)}`}=w,pe=Math.ceil(q/X)+2,ce=Math.ceil(ee/X)+2;(0,l.useEffect)(()=>{if(!M.current)return;const he=M.current.getContext("2d");if(!he)return;const _e=X/10**Math.floor(Math.log10(w.transform.a)),Te=w.transform.d<0?-1:1,Pe=X/10**Math.log10(w.transform.a)/_e;function De(Sn,cn,un){const xn=Sn;let Wt,at,rn;for(Wt=cn.x;Wt<=un.x;Wt+=xn)at=(0,c.applyToPoint)(w.transform,{x:Wt,y:cn.y}),rn=(0,c.applyToPoint)(w.transform,{x:Wt,y:un.y}),he.beginPath(),he.moveTo(at.x,at.y),he.lineTo(rn.x,rn.y),he.stroke();const Ot=f(cn.y,un.y,xn*Te);for(const Tt of Ot)at=(0,c.applyToPoint)(w.transform,{x:cn.x,y:Tt}),rn=(0,c.applyToPoint)(w.transform,{x:un.x,y:Tt}),he.beginPath(),he.moveTo(at.x,at.y),he.lineTo(rn.x,rn.y),he.stroke()}function ze(Sn,cn,un){const xn=Sn;let Wt;for(Wt=cn.x;Wt<=un.x;Wt+=xn)for(const at of f(cn.y,un.y,xn*Te)){const rn=(0,c.applyToPoint)(w.transform,{x:Wt,y:at});he.fillStyle=W,he.font="12px sans-serif",he.fillText(ue(Wt,at,Sn),rn.x+2,rn.y-2)}}he.clearRect(0,0,q,ee);const Re=(0,c.applyToPoint)((0,c.inverse)(w.transform),{x:0,y:0}),qe={x:Math.floor((Re.x-_e)/_e)*_e,y:Math.floor((Re.y-_e)/_e+(Te==-1?2:0))*_e},Ke={x:qe.x+_e*pe,y:qe.y+_e*ce*Te},pt=_e*5,At={x:Math.floor((Re.x-pt)/pt)*pt,y:Math.floor((Re.y-pt)/pt+(Te==-1?2:0))*pt},Bt={x:At.x+pt*pe,y:At.y+pt*ce*Te};he.globalAlpha=1,he.strokeStyle=V,De(_e,qe,Ke),ze(pt,At,Bt),he.globalAlpha=1-Pe,De(pt/10,At,Bt),he.globalAlpha=1-Pe,he.strokeStyle=Y,De(_e/10,qe,Ke),he.globalAlpha=Math.max(((1-Pe)*10-5)/5,0),ze(pt/10,At,Bt),he.globalAlpha=1;const Qt=(0,c.applyToPoint)(w.transform,N);he.font="12px sans-serif",he.fillStyle=W,he.fillText(ue(N.x,N.y,_e),Qt.x+2,Qt.y-2),he.strokeStyle=V,he.strokeRect(Qt.x-5,Qt.y-5,10,10)},[M,w.transform,N,q,ee]);const Se=he=>{if(!M.current)return;const _e=X/10/10**Math.floor(Math.log10(w.transform.a)),Te=M.current.getBoundingClientRect(),be=(0,c.applyToPoint)((0,c.inverse)(w.transform),{x:he.clientX-Te.left,y:he.clientY-Te.top}),Pe=d(_e,be);k(Pe)};return(0,u.jsx)("canvas",{onMouseUp:he=>{he.button===1&&Se(he)},onDoubleClick:Se,ref:M,width:w.width,height:w.height})};return She}var whe=Hbn(),Ehe={exports:{}},YP={},DH={exports:{}},The={},Mhe={},Tet;function Che(){if(Tet)return Mhe;Tet=1;function n(r){this.__parent=r,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=[]}n.prototype.clone_empty=function(){var r=new n(this.__parent);return r.set_indent(this.__indent_count,this.__alignment_count),r},n.prototype.item=function(r){return r<0?this.__items[this.__items.length+r]:this.__items[r]},n.prototype.has_match=function(r){for(var i=this.__items.length-1;i>=0;i--)if(this.__items[i].match(r))return!0;return!1},n.prototype.set_indent=function(r,i){this.is_empty()&&(this.__indent_count=r||0,this.__alignment_count=i||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},n.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)},n.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},n.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var r=this.__parent.current_line;return r.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),r.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),r.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,r.__items[0]===" "&&(r.__items.splice(0,1),r.__character_count-=1),!0}return!1},n.prototype.is_empty=function(){return this.__items.length===0},n.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},n.prototype.push=function(r){this.__items.push(r);var i=r.lastIndexOf(`
13285
13285
  `);i!==-1?this.__character_count=r.length-i:this.__character_count+=r.length},n.prototype.pop=function(){var r=null;return this.is_empty()||(r=this.__items.pop(),this.__character_count-=r.length),r},n.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},n.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},n.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},n.prototype.toString=function(){var r="";return this.is_empty()?this.__parent.indent_empty_lines&&(r=this.__parent.get_indent_string(this.__indent_count)):(r=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),r+=this.__items.join("")),r};function e(r,i){this.__cache=[""],this.__indent_size=r.indent_size,this.__indent_string=r.indent_char,r.indent_with_tabs||(this.__indent_string=new Array(r.indent_size+1).join(r.indent_char)),i=i||"",r.indent_level>0&&(i=new Array(r.indent_level+1).join(this.__indent_string)),this.__base_string=i,this.__base_string_length=i.length}e.prototype.get_indent_size=function(r,i){var a=this.__base_string_length;return i=i||0,r<0&&(a=0),a+=r*this.__indent_size,a+=i,a},e.prototype.get_indent_string=function(r,i){var a=this.__base_string;return i=i||0,r<0&&(r=0,a=""),i+=r*this.__indent_size,this.__ensure_cache(i),a+=this.__cache[i],a},e.prototype.__ensure_cache=function(r){for(;r>=this.__cache.length;)this.__add_column()},e.prototype.__add_column=function(){var r=this.__cache.length,i=0,a="";this.__indent_size&&r>=this.__indent_size&&(i=Math.floor(r/this.__indent_size),r-=i*this.__indent_size,a=new Array(i+1).join(this.__indent_string)),r&&(a+=new Array(r+1).join(" ")),this.__cache.push(a)};function t(r,i){this.__indent_cache=new e(r,i),this.raw=!1,this._end_with_newline=r.end_with_newline,this.indent_size=r.indent_size,this.wrap_line_length=r.wrap_line_length,this.indent_empty_lines=r.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new n(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}return t.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},t.prototype.get_line_number=function(){return this.__lines.length},t.prototype.get_indent_string=function(r,i){return this.__indent_cache.get_indent_string(r,i)},t.prototype.get_indent_size=function(r,i){return this.__indent_cache.get_indent_size(r,i)},t.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},t.prototype.add_new_line=function(r){return this.is_empty()||!r&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},t.prototype.get_code=function(r){this.trim(!0);var i=this.current_line.pop();i&&(i[i.length-1]===`
@@ -13451,7 +13451,7 @@ $1`).replace(/>(\s*)(?=<!--\s*\/)/g,"> ")}return Xhe}n8n();function ltt(n,e,t,r=
13451
13451
  &:hover {
13452
13452
  background-color: rgba(255, 255, 255, 0.1);
13453
13453
  }
13454
- `,onClick:r=>{r.stopPropagation(),t()},children:[Ge.jsx("input",{type:"checkbox",checked:e}),Ge.jsx("span",{style:{color:"#eee"},children:n})]}),M7n=({children:n,elements:e})=>{const[t,r]=Xx(q=>[q.is_mouse_over_container,q.setIsMouseOverContainer]),[i,a]=rt.useState(!1),[o,s]=rt.useState(!1),[l,c]=rt.useState(!1),[u,f]=Xx(q=>[q.selected_layer,q.selectLayer]),[d,m,g,E,w,S]=Xx(q=>[q.in_move_footprint_mode,q.in_draw_trace_mode,q.is_showing_rats_nest,q.is_showing_multiple_traces_length,q.is_showing_autorouting,q.is_showing_drc_errors]),M=Xx(q=>q.setEditMode),N=Xx(q=>q.setIsShowingRatsNest),k=Xx(q=>q.setIsShowingMultipleTracesLength),V=Xx(q=>q.setIsShowingAutorouting),Y=Xx(q=>q.setIsShowingDrcErrors);JS("1",()=>f("top")),JS("2",()=>f("bottom")),JS("3",()=>f("inner1")),JS("4",()=>f("inner2")),JS("5",()=>f("inner3")),JS("6",()=>f("inner4")),JS("7",()=>f("inner5")),JS("8",()=>f("inner6"));const W=(e==null?void 0:e.filter(q=>q.type.includes("error")).length)??0;return Ge.jsxs("div",{style:{position:"relative"},onMouseEnter:()=>{r(!0)},onMouseLeave:q=>{r(!1),s(!1)},children:[n,Ge.jsxs("div",{style:{position:"absolute",bottom:4,right:8,pointerEvents:"none",color:"white",fontSize:11,opacity:t?.5:0,transition:"opacity 1s",transitionDelay:"2s",fontFamily:"sans-serif"},children:["@tscircuit/pcb-viewer@",E7n.version]}),Ge.jsxs("div",{style:{position:"absolute",opacity:t?1:0,top:16,left:16,transition:t?"opacity 100ms linear":"opacity 1s linear",zIndex:L3.toolbarOverlay,color:"red",display:"flex",fontSize:12,height:100,fontFamily:"sans-serif"},children:[Ge.jsxs(CM,{onClick:()=>{s(!o)},onMouseLeave:()=>{o&&s(!1)},children:[Ge.jsxs("div",{children:["layer:"," ",Ge.jsx("span",{style:{marginLeft:2,fontWeight:500,color:MM[u]},children:u})]}),o&&Ge.jsx("div",{style:{marginTop:4,minWidth:120},children:Ame.map(q=>q.replace(/-/g,"")).map(q=>Ge.jsx(T7n,{name:q,selected:q===u,onClick:()=>{f(q.replace(/-/,""))}},q))})]}),Ge.jsxs(CM,{style:W>0?{color:"red"}:{},onClick:()=>c(!l),onMouseLeave:()=>c(!1),children:[Ge.jsxs("div",{children:[W," errors"]}),l&&Ge.jsx("div",{style:{display:"grid",gridTemplateColumns:"100px 300px"},children:e==null?void 0:e.filter(q=>q.type.includes("error")).map((q,ee)=>Ge.jsxs(rt.Fragment,{children:[Ge.jsx("div",{children:q.error_type}),Ge.jsx("div",{children:q.message})]},ee))})]}),Ge.jsx(CM,{style:{},onClick:()=>{M(m?"off":"draw_trace")},children:Ge.jsxs("div",{children:[m?"✖ ":"","Edit Traces"]})}),Ge.jsx(CM,{style:{},onClick:()=>{M(d?"off":"move_footprint")},children:Ge.jsxs("div",{children:[d?"✖ ":"","Move Components"]})}),Ge.jsx(CM,{style:{},onClick:()=>{N(!g)},children:Ge.jsxs("div",{children:[g?"✖ ":"","Rats Nest"]})}),Ge.jsx(CM,{onClick:()=>{a(!i)},children:Ge.jsxs("div",{children:[Ge.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:["View"," ",Ge.jsx("span",{style:{fontSize:"8px",transform:i?"rotate(180deg)":"rotate(0)",transition:"transform 0.1s ease",display:"inline-block"},children:"▼"})]}),i&&Ge.jsxs("div",{style:{marginTop:4,minWidth:120},children:[Ge.jsx(Ome,{label:"Show All Trace Lengths",checked:E,onClick:()=>{k(!E)}}),Ge.jsx(Ome,{label:"Show Autorouting Animation",checked:w,onClick:()=>{V(!w)}}),Ge.jsx(Ome,{label:"Show DRC Errors",checked:S,onClick:()=>{Y(!S)}})]})]})})]})]})},C7n=n=>{const{transform:e,elements:t}=n,[r,i]=rt.useMemo(()=>{const c=n.elements.flatMap(f=>ISn(f,n.elements)),u=n8(n.elements);return[c,u]},[n.elements]),[a,o]=rt.useState({drawingObjectIdsWithMouseOver:new Set,primitiveIdsInMousedOverNet:[]}),s=rt.useMemo(()=>zSn({primitivesWithoutInteractionMetadata:r,drawingObjectIdsWithMouseOver:a.drawingObjectIdsWithMouseOver,primitiveIdsInMousedOverNet:a.primitiveIdsInMousedOverNet}),[r,a]),l=rt.useCallback(c=>{var d,m;const u=[];for(const g of c)if(g._element){const E=i.getNetConnectedToId("pcb_port_id"in g._element?(d=g._element)==null?void 0:d.pcb_port_id:"pcb_trace_id"in g._element?(m=g._element)==null?void 0:m.pcb_trace_id:"");u.push(...i.getIdsConnectedToNet(E))}const f=new Set(c.map(g=>g._pcb_drawing_object_id));o({drawingObjectIdsWithMouseOver:f,primitiveIdsInMousedOverNet:u})},[i]);return Ge.jsx(S7n,{elements:t,transform:e,primitives:r,onMouseHoverOverPrimitives:l,children:Ge.jsx(a7n,{disabled:!n.allowEditing,transform:e,soup:t,cancelPanDrag:n.cancelPanDrag,onCreateEditEvent:n.onCreateEditEvent,onModifyEditEvent:n.onModifyEditEvent,children:Ge.jsx(c7n,{disabled:!n.allowEditing,transform:e,soup:t,cancelPanDrag:n.cancelPanDrag,onCreateEditEvent:n.onCreateEditEvent,onModifyEditEvent:n.onModifyEditEvent,children:Ge.jsx(r7n,{transform:e,focusOnHover:n.focusOnHover,children:Ge.jsx(M7n,{elements:t,children:Ge.jsx(d7n,{transform:e,elements:t,children:Ge.jsx(w7n,{transform:e,soup:t,children:Ge.jsx(t7n,{transform:e,debugGraphics:n.debugGraphics,children:Ge.jsx(n7n,{transform:e,elements:t,children:Ge.jsx(e7n,{transform:e,primitives:s,width:n.width,height:n.height,grid:n.grid})})})})})})})})})})},R7n=Mc(k0(400,300),f2(40,-40)),A7n=({circuitJson:n,debugGraphics:e,height:t=600,initialState:r,allowEditing:i=!0,editEvents:a,onEditEventsChanged:o,focusOnHover:s=!1,clickToInteractEnabled:l=!1})=>{const[c,u]=rt.useState(!l),[f,d]=Dme(),[m,g]=rt.useState(R7n),{ref:E,setTransform:w,cancelDrag:S}=OSn({transform:m,onSetTransform:g,enabled:c});let[M,N]=rt.useState([]);M=a??M;const k=rt.useRef(!1),V=`${(n==null?void 0:n.length)||0}_${(n==null?void 0:n.editCount)||0}`,Y=()=>{const ue=(d==null?void 0:d.width)>0?d:{width:500,height:500},{center:pe,width:ce,height:Se}=q.some(Te=>Te.type.startsWith("pcb_"))?ESn(q.filter(Te=>Te.type.startsWith("pcb_"))):{center:{x:0,y:0},width:.001,height:.001},he=Math.min((ue.width??0)/ce,(ue.height??0)/Se,100)*.75,_e=Mc(k0((ue.width??0)/2,(ue.height??0)/2),f2(he,-he,0,0),k0(-pe.x,-pe.y));w(_e)};rt.useEffect(()=>{d!=null&&d.width&&n&&n.length!==0&&(k.current||(Y(),k.current=!0))},[n,d]);const W=rt.useMemo(()=>(n==null?void 0:n.filter(ue=>ue.type.startsWith("pcb_")||ue.type.startsWith("source_")))??[],[V]),q=rt.useMemo(()=>Z4n({circuitJson:W,editEvents:M}),[W,M]),ee=ue=>{N([...M,ue]),o==null||o([...M,ue])},X=ue=>{const pe=M.map(ce=>ce.edit_event_id===ue.edit_event_id?{...ce,...ue}:ce);N(pe),o==null||o(pe)};return Ge.jsxs("div",{ref:E,style:{position:"relative"},children:[Ge.jsx("div",{ref:f,children:Ge.jsxs(MSn,{initialState:r,children:[Ge.jsx(C7n,{transform:m,height:t,width:d.width,allowEditing:i,focusOnHover:s,cancelPanDrag:S,onCreateEditEvent:ee,onModifyEditEvent:X,grid:{spacing:1,view_window:{left:0,right:d.width||500,top:t,bottom:0}},elements:q,debugGraphics:e},d.width),Ge.jsx(RSn,{})]})}),l&&!c&&Ge.jsx("div",{onClick:()=>{u(!0),Y()},style:{position:"absolute",inset:0,cursor:"pointer",zIndex:10,display:"flex",alignItems:"center",justifyContent:"center"},children:Ge.jsx("div",{style:{backgroundColor:"rgba(0, 0, 0, 0.8)",color:"white",padding:"12px 24px",borderRadius:"8px",fontSize:"16px",pointerEvents:"none"},children:"Click to Interact"})})]})};const P7n=({containerClassName:n,...e})=>{const t=rt.useRef(null),[r,i]=rt.useState(620);return rt.useLayoutEffect(()=>{const a=()=>{if(t.current){const s=t.current.clientHeight,l=window.innerHeight;i(Math.min(Math.max(s,620),l))}};a();const o=new ResizeObserver(a);return t.current&&o.observe(t.current),window.addEventListener("resize",a),()=>{o.disconnect(),window.removeEventListener("resize",a)}},[]),Ge.jsx("div",{ref:t,className:n||"rf-w-full rf-h-full",children:Ge.jsx(A7n,{...e,height:r})})},N7n='*,: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-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-50{z-index:50}.rf-z-\\[100\\]{z-index:100}.-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-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{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-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-8{height:2rem}.rf-h-9{height:2.25rem}.rf-h-\\[620px\\]{height:620px}.rf-h-\\[calc\\(100vh-52px\\)\\]{height:calc(100vh - 52px)}.rf-h-\\[calc\\(100vh-96px\\)\\]{height:calc(100vh - 96px)}.rf-h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.rf-h-fit{height:-moz-fit-content;height:fit-content}.rf-h-full{height:100%}.rf-h-px{height:1px}.\\!rf-max-h-\\[40vh\\]{max-height:40vh!important}.\\!rf-max-h-\\[70\\%\\]{max-height:70%!important}.rf-max-h-32{max-height:8rem}.rf-max-h-96{max-height:24rem}.rf-max-h-\\[500px\\]{max-height:500px}.rf-max-h-\\[90vh\\]{max-height:90vh}.rf-min-h-0{min-height:0}.rf-min-h-\\[200px\\]{min-height:200px}.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-3{width:.75rem}.rf-w-3\\.5{width:.875rem}.rf-w-32{width:8rem}.rf-w-4{width:1rem}.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-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-\\[60vw\\]{max-width:60vw!important}.\\!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-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-xl{max-width:36rem}.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-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-\\[-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-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-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-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!important}.rf-overflow-x-hidden{overflow-x:hidden}.rf-overflow-x-clip{overflow-x:clip}.rf-truncate{overflow:hidden;text-overflow:ellipsis}.rf-truncate,.rf-whitespace-nowrap{white-space:nowrap}.rf-whitespace-pre-wrap{white-space:pre-wrap}.rf-break-words{overflow-wrap:break-word}.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-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-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-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-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-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-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-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-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-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-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-bold{font-weight:700}.rf-font-medium{font-weight:500}.rf-font-semibold{font-weight:600}.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-tight{line-height:1.25}.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-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-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-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,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-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\\]\\: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-\\[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-\\[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\\]\\: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-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-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\\: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-\\[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-\\[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-mt-0{margin-top:0}.sm\\:rf-flex-row{flex-direction:row}.sm\\:rf-justify-end{justify-content:flex-end}.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-text-left{text-align:left}}@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))}.\\[\\&_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}',D7n=()=>{rt.useEffect(()=>{if(document.querySelector('style[data-styles="tscircuit-runframe"]'))return;const e=document.createElement("style");e.setAttribute("data-styles","tscircuit-runframe"),e.textContent=N7n,document.head.appendChild(e)},[])},hrt=n=>`hsl(${S4.indexOf(n)*137.5%360}, 70%, 50%)`,L7n=({phaseTimings:n})=>{if(!n)return null;const e=Object.values(n).reduce((t,r)=>t+r,0);return Ge.jsxs("div",{className:"rf-space-y-2 rf-w-full rf-px-4",children:[Ge.jsx("div",{className:"rf-relative rf-h-8 rf-flex rf-rounded-sm",children:S4.map(t=>{const r=n[t]||0,i=r/e*100;return Ge.jsx("div",{className:"rf-group/bar rf-relative rf-overflow-visible",style:{width:`${i}%`,backgroundColor:hrt(t)},children:Ge.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,": ",r.toFixed(1),"ms"]})},t)})}),Ge.jsxs("div",{className:"rf-text-xs rf-text-gray-500",children:["Total: ",e.toFixed(2),"ms"]})]})},O7n=({renderLog:n})=>{const[e,t]=rt.useState("chronological");if(!n)return Ge.jsx("div",{className:"rf-p-4 rf-bg-gray-100 rf-rounded-md",children:"No render log, make sure this tab is open when you render (TODO add a rerender button here)"});const r=Object.entries((n==null?void 0:n.phaseTimings)??{});e==="chronological"?r.sort((a,o)=>S4.indexOf(a[0])-S4.indexOf(o[0])):r.sort((a,o)=>o[1]-a[1]);const i=r.reduce((a,[o,s])=>a+s,0);return Ge.jsxs("div",{className:"rf-bg-white",children:[Ge.jsxs("div",{className:"rf-flex rf-justify-between rf-items-center",children:[Ge.jsx("div",{children:"Render Logs"}),Ge.jsxs("div",{className:"rf-mb-4 rf-pr-2 rf-flex rf-text-xs rf-items-center",children:[Ge.jsx("div",{className:"rf-mr-2",children:"Sort by:"}),Ge.jsxs("select",{value:e,onChange:a=>t(a.target.value),className:"rf-px-2 rf-py-1 rf-border rf-rounded rf-text-xs",children:[Ge.jsx("option",{value:"chronological",children:"Phase Order"}),Ge.jsx("option",{value:"longest",children:"Duration"})]})]})]}),Ge.jsx(L7n,{phaseTimings:n.phaseTimings}),Ge.jsxs("table",{className:"rf-w-full rf-text-xs",children:[Ge.jsx("thead",{children:Ge.jsxs("tr",{children:[Ge.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase Order"}),Ge.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase"}),Ge.jsx("th",{className:"rf-text-left rf-p-2",children:"Duration (ms)"})]})}),Ge.jsx("tbody",{children:r.map(([a,o])=>Ge.jsxs("tr",{children:[Ge.jsx("td",{className:"rf-p-2",children:S4.indexOf(a)}),Ge.jsx("td",{className:"rf-p-2",children:a}),Ge.jsx("td",{className:"rf-p-2",children:Ge.jsx("div",{className:"rf-w-8",children:Ge.jsx("div",{className:"rf-h-2 rf-rounded-sm",style:{backgroundColor:hrt(a),width:`${o/i*100}%`}})})}),Ge.jsx("td",{className:"rf-p-2",children:Ge.jsxs("div",{className:"rf-flex w-full",children:[Ge.jsxs("span",{className:"rf-flex-grow",children:[o,"ms"]}),Ge.jsxs("span",{className:"rf-text-gray-500 rf-pr-2",children:[(o/i*100).toFixed(1),"%"]})]})})]},a))})]})]})},z7n="0.0.432",U7n=["assembly","bom","circuit_json","errors","render_log"],k7n=({code:n,onRunClicked:e=void 0,errorMessage:t,circuitJson:r,autoroutingGraphics:i,showRightHeaderContent:a=!0,showCodeTab:o=!1,codeTabContent:s,showJsonTab:l=!0,showRenderLogTab:c=!0,onActiveTabChange:u,renderLog:f,showImportAndFormatButtons:d=!0,className:m,headerClassName:g,leftHeaderContent:E,readOnly:w,isStreaming:S,autoroutingLog:M,onReportAutoroutingLog:N,isRunningCode:k,hasCodeChangedSinceLastRun:V,onEditEvent:Y,editEvents:W,defaultActiveTab:q,autoRotate3dViewerDisabled:ee,showSchematicDebugGrid:X=!1,showToggleFullScreen:ue=!0,defaultToFullScreen:pe=!1})=>{var De;D7n();const ce=rt.useMemo(()=>r?r.filter(ze=>ze&&"error_type"in ze):null,[r]),[Se,he]=rt.useState(q??"pcb"),[_e,Te]=rt.useState(pe),be=rt.useCallback(ze=>{he(ze),u==null||u(ze)},[u]),Pe=()=>{Te(!_e)};return rt.useEffect(()=>{t&&be("errors")},[t]),rt.useEffect(()=>{(Se==="code"||Se==="errors")&&r&&!t&&be(q??"pcb")},[r]),Ge.jsx("div",{className:Sh("flex flex-col relative rf-overflow-x-hidden",m),children:Ge.jsx("div",{className:Sh("rf-md:sticky rf-md:top-2",_e&&"rf-fixed rf-top-0 rf-left-0 rf-w-full rf-bg-white"),children:Ge.jsxs(lbe,{value:Se,onValueChange:be,className:"rf-flex-grow rf-flex rf-flex-col",children:[Ge.jsxs("div",{className:Sh("rf-flex rf-items-center rf-gap-2 rf-p-2 rf-pb-0",g),children:[E,E&&Ge.jsx("div",{className:"rf-flex-grow"}),!E&&k&&Ge.jsx(nM,{className:"rf-w-4 rf-h-4 rf-animate-spin"}),!E&&Ge.jsx("div",{className:"rf-flex-grow"}),f&&f.progress!==1&&Ge.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[f.lastRenderEvent&&Ge.jsx("div",{className:"rf-text-xs rf-text-gray-500",children:(De=f.lastRenderEvent)==null?void 0:De.type.split("renderable:renderLifecycle:")[1].split(":")[0]}),Ge.jsx("div",{className:"rf-w-4 rf-h-4 rf-bg-blue-500 rf-opacity-50 rf-rounded-full rf-text-white",children:Ge.jsx(nM,{className:"rf-w-4 rf-h-4 rf-animate-spin"})}),Ge.jsxs("div",{className:"rf-text-xs rf-font-bold rf-text-gray-700 rf-tabular-nums",children:[((f.progress??0)*100).toFixed(1),"%"]})]}),a&&Ge.jsxs(GX,{children:[o&&Ge.jsx(hS,{value:"code",children:"Code"}),Ge.jsxs(hS,{value:"pcb",className:"rf-whitespace-nowrap",children:[r&&Ge.jsx("span",{className:Sh("rf-inline-flex rf-items-center rf-justify-center rf-w-2 rf-h-2 rf-mr-1 rf-text-xs rf-font-bold rf-text-white rf-rounded-full",V?"rf-bg-gray-500":"rf-bg-blue-500")}),"PCB"]}),Ge.jsxs(hS,{value:"schematic",className:"rf-whitespace-nowrap",children:[r&&Ge.jsx("span",{className:Sh("rf-inline-flex rf-items-center rf-justify-center rf-w-2 rf-h-2 rf-mr-1 rf-text-xs rf-font-bold rf-text-white rf-rounded-full",V?"rf-bg-gray-500":"rf-bg-blue-500")}),"Schematic"]}),Ge.jsxs(hS,{value:"cad",children:[r&&Ge.jsx("span",{className:Sh("inline-flex items-center justify-center w-2 h-2 mr-1 text-xs font-bold text-white rounded-full",V?"rf-bg-gray-500":"rf-bg-blue-500")}),"3D"]}),!["pcb","cad","schematic"].includes(Se)&&Ge.jsx(hS,{value:Se,children:sbe(Se)}),Ge.jsxs(p0e,{children:[Ge.jsx(h0e,{asChild:!0,children:Ge.jsxs("div",{className:"rf-whitespace-nowrap rf-p-2 rf-mr-1 rf-cursor-pointer rf-relative",children:[Ge.jsx(aln,{className:"rf-w-4 rf-h-4"}),(ce&&ce.length>0||t)&&Ge.jsx("span",{className:"rf-inline-flex rf-absolute rf-top-[6px] rf-right-[4px] rf-items-center rf-justify-center rf-w-1 rf-h-1 rf-ml-2 rf-text-[8px] rf-font-bold rf-text-white rf-bg-red-500 rf-rounded-full"})]})}),Ge.jsxs(aB,{className:"rf-*:text-xs",children:[U7n.map(ze=>Ge.jsxs(zb,{onSelect:()=>be(ze),children:[Se!==ze&&Ge.jsx(g$e,{className:"rf-w-3 rf-h-3 rf-opacity-30"}),Se===ze&&Ge.jsx(bue,{className:"rf-w-3 rf-h-3"}),Ge.jsx("div",{className:"rf-pr-2",children:sbe(ze)}),ze==="errors"&&(ce&&ce.length>0||t)&&Ge.jsx("span",{className:"rf-inline-flex rf-items-center rf-justify-center rf-w-3 rf-h-3 rf-ml-2 rf-text-[8px] rf-font-bold rf-text-white rf-bg-red-500 rf-rounded-full",children:t?1:ce==null?void 0:ce.length})]},ze)),Ge.jsx(zb,{disabled:!0,className:"rf-opacity-60 rf-cursor-default rf-select-none",children:Ge.jsxs("div",{className:"rf-pr-2 rf-text-xs rf-text-gray-500",children:["@tscircuit/runframe@",z7n.split(".").map((ze,Re)=>Re===2?parseInt(ze)+1:ze).join(".")]})})]})]})]}),ue&&Ge.jsx(m3,{onClick:Pe,variant:"ghost",children:_e?Ge.jsx(cln,{size:16}):Ge.jsx(sln,{size:16})})]}),o&&Ge.jsx(c8,{value:"code",className:"rf-flex-grow rf-overflow-hidden",children:Ge.jsx("div",{className:"rf-h-full",children:s})}),Ge.jsx(c8,{value:"pcb",children:Ge.jsx("div",{className:Sh("rf-overflow-hidden",_e?"rf-h-[calc(100vh-52px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{fallbackRender:({error:ze})=>Ge.jsx("div",{className:"rf-mt-4 rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200",children:Ge.jsxs("div",{className:"rf-p-4",children:[Ge.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-3",children:"Error loading PCB viewer"}),Ge.jsx("p",{className:"rf-text-xs rf-font-mono rf-whitespace-pre-wrap rf-text-red-600 rf-mt-2",children:(ze==null?void 0:ze.message)||"An unknown error occurred"})]})}),children:r?Ge.jsx(P7n,{focusOnHover:!1,circuitJson:r,debugGraphics:i,containerClassName:Sh("rf-h-full rf-w-full",_e?"rf-min-h-[calc(100vh-240px)]":"rf-min-h-[620px]"),onEditEventsChanged:ze=>{Y&&ze.forEach(Re=>Y(Re))}}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"assembly",children:Ge.jsx("div",{className:Sh("rf-overflow-auto",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{fallback:Ge.jsx("div",{children:"Error loading Assembly"}),children:r?Ge.jsx(U1n,{circuitJson:r,containerStyle:{height:"100%"},editingEnabled:!0,debugGrid:!0}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"schematic",children:Ge.jsx("div",{className:Sh("rf-overflow-auto rf-bg-white",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{fallbackRender:({error:ze})=>Ge.jsx("div",{className:"rf-mt-4 rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200",children:Ge.jsxs("div",{className:"rf-p-4",children:[Ge.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-3",children:"Error loading Schematic"}),Ge.jsx("p",{className:"rf-text-xs rf-font-mono rf-whitespace-pre-wrap rf-text-red-600 rf-mt-2",children:(ze==null?void 0:ze.message)||"An unknown error occurred"})]})}),children:r?Ge.jsx(L1n,{circuitJson:r,containerStyle:{height:"100%"},editingEnabled:!0,onEditEvent:ze=>{Y==null||Y(ze)},debugGrid:X,colorOverrides:{schematic:{background:"transparent"}}}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"cad",children:Ge.jsx("div",{className:Sh("rf-overflow-auto",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{FallbackComponent:Gsn,children:r?Ge.jsx(Vsn,{soup:r,autoRotateDisabled:ee}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"bom",children:Ge.jsx("div",{className:Sh("rf-overflow-auto",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{fallbackRender:({error:ze})=>Ge.jsx("div",{className:"rf-mt-4 rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200",children:Ge.jsxs("div",{className:"rf-p-4",children:[Ge.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-3",children:"Error loading Bill of Materials"}),Ge.jsx("p",{className:"rf-text-xs rf-font-mono rf-whitespace-pre-wrap rf-text-red-600 rf-mt-2",children:(ze==null?void 0:ze.message)||"An unknown error occurred"})]})}),children:r?Ge.jsx(j1n,{circuitJson:r}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"circuit_json",children:Ge.jsx("div",{className:Sh("rf-overflow-auto",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{fallback:Ge.jsx("div",{children:"Error loading JSON viewer"}),children:r?Ge.jsx(F1n,{elements:r}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"errors",children:Ge.jsx("div",{className:Sh("rf-overflow-auto",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Array.isArray(ce)&&ce.length>0||t?Ge.jsx(rfn,{code:n,circuitJsonErrors:ce,errorMessage:t,autoroutingLog:M,onReportAutoroutingLog:N}):Ge.jsx(kw,{onRunClicked:e})})}),c&&Ge.jsx(c8,{value:"render_log",children:Ge.jsx(O7n,{renderLog:f})})]})})})};var sV="Dialog",[mrt,yrt]=t6(sV),[I7n,Bb]=mrt(sV),vrt=n=>{const{__scopeDialog:e,children:t,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=n,s=rt.useRef(null),l=rt.useRef(null),[c,u]=IE({prop:r,defaultProp:i??!1,onChange:a,caller:sV});return Ge.jsx(I7n,{scope:e,triggerRef:s,contentRef:l,contentId:n6(),titleId:n6(),descriptionId:n6(),open:c,onOpenChange:u,onOpenToggle:rt.useCallback(()=>u(f=>!f),[u]),modal:o,children:t})};vrt.displayName=sV;var grt="DialogTrigger",_rt=rt.forwardRef((n,e)=>{const{__scopeDialog:t,...r}=n,i=Bb(grt,t),a=fx(e,i.triggerRef);return Ge.jsx(Uv.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":kme(i.open),...r,ref:a,onClick:Lp(n.onClick,i.onOpenToggle)})});_rt.displayName=grt;var zme="DialogPortal",[F7n,xrt]=mrt(zme,{forceMount:void 0}),brt=n=>{const{__scopeDialog:e,forceMount:t,children:r,container:i}=n,a=Bb(zme,e);return Ge.jsx(F7n,{scope:e,forceMount:t,children:rt.Children.map(r,o=>Ge.jsx(s8,{present:t||a.open,children:Ge.jsx(Que,{asChild:!0,container:i,children:o})}))})};brt.displayName=zme;var lV="DialogOverlay",Srt=rt.forwardRef((n,e)=>{const t=xrt(lV,n.__scopeDialog),{forceMount:r=t.forceMount,...i}=n,a=Bb(lV,n.__scopeDialog);return a.modal?Ge.jsx(s8,{present:r||a.open,children:Ge.jsx(j7n,{...i,ref:e})}):null});Srt.displayName=lV;var B7n=kE("DialogOverlay.RemoveScroll"),j7n=rt.forwardRef((n,e)=>{const{__scopeDialog:t,...r}=n,i=Bb(lV,t);return Ge.jsx(r0e,{as:B7n,allowPinchZoom:!0,shards:[i.contentRef],children:Ge.jsx(Uv.div,{"data-state":kme(i.open),...r,ref:e,style:{pointerEvents:"auto",...r.style}})})}),Yw="DialogContent",wrt=rt.forwardRef((n,e)=>{const t=xrt(Yw,n.__scopeDialog),{forceMount:r=t.forceMount,...i}=n,a=Bb(Yw,n.__scopeDialog);return Ge.jsx(s8,{present:r||a.open,children:a.modal?Ge.jsx(H7n,{...i,ref:e}):Ge.jsx(V7n,{...i,ref:e})})});wrt.displayName=Yw;var H7n=rt.forwardRef((n,e)=>{const t=Bb(Yw,n.__scopeDialog),r=rt.useRef(null),i=fx(e,t.contentRef,r);return rt.useEffect(()=>{const a=r.current;if(a)return wGe(a)},[]),Ge.jsx(Ert,{...n,ref:i,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Lp(n.onCloseAutoFocus,a=>{var o;a.preventDefault(),(o=t.triggerRef.current)==null||o.focus()}),onPointerDownOutside:Lp(n.onPointerDownOutside,a=>{const o=a.detail.originalEvent,s=o.button===0&&o.ctrlKey===!0;(o.button===2||s)&&a.preventDefault()}),onFocusOutside:Lp(n.onFocusOutside,a=>a.preventDefault())})}),V7n=rt.forwardRef((n,e)=>{const t=Bb(Yw,n.__scopeDialog),r=rt.useRef(!1),i=rt.useRef(!1);return Ge.jsx(Ert,{...n,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var o,s;(o=n.onCloseAutoFocus)==null||o.call(n,a),a.defaultPrevented||(r.current||(s=t.triggerRef.current)==null||s.focus(),a.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:a=>{var l,c;(l=n.onInteractOutside)==null||l.call(n,a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const o=a.target;((c=t.triggerRef.current)==null?void 0:c.contains(o))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&i.current&&a.preventDefault()}})}),Ert=rt.forwardRef((n,e)=>{const{__scopeDialog:t,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=n,s=Bb(Yw,t),l=rt.useRef(null),c=fx(e,l);return I$e(),Ge.jsxs(Ge.Fragment,{children:[Ge.jsx(Uue,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:Ge.jsx(Due,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":kme(s.open),...o,ref:c,onDismiss:()=>s.onOpenChange(!1)})}),Ge.jsxs(Ge.Fragment,{children:[Ge.jsx(G7n,{titleId:s.titleId}),Ge.jsx(Y7n,{contentRef:l,descriptionId:s.descriptionId})]})]})}),Ume="DialogTitle",Trt=rt.forwardRef((n,e)=>{const{__scopeDialog:t,...r}=n,i=Bb(Ume,t);return Ge.jsx(Uv.h2,{id:i.titleId,...r,ref:e})});Trt.displayName=Ume;var Mrt="DialogDescription",Crt=rt.forwardRef((n,e)=>{const{__scopeDialog:t,...r}=n,i=Bb(Mrt,t);return Ge.jsx(Uv.p,{id:i.descriptionId,...r,ref:e})});Crt.displayName=Mrt;var Rrt="DialogClose",Art=rt.forwardRef((n,e)=>{const{__scopeDialog:t,...r}=n,i=Bb(Rrt,t);return Ge.jsx(Uv.button,{type:"button",...r,ref:e,onClick:Lp(n.onClick,()=>i.onOpenChange(!1))})});Art.displayName=Rrt;function kme(n){return n?"open":"closed"}var Prt="DialogTitleWarning",[$7n,Nrt]=c8t(Prt,{contentName:Yw,titleName:Ume,docsSlug:"dialog"}),G7n=({titleId:n})=>{const e=Nrt(Prt),t=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
13454
+ `,onClick:r=>{r.stopPropagation(),t()},children:[Ge.jsx("input",{type:"checkbox",checked:e}),Ge.jsx("span",{style:{color:"#eee"},children:n})]}),M7n=({children:n,elements:e})=>{const[t,r]=Xx(q=>[q.is_mouse_over_container,q.setIsMouseOverContainer]),[i,a]=rt.useState(!1),[o,s]=rt.useState(!1),[l,c]=rt.useState(!1),[u,f]=Xx(q=>[q.selected_layer,q.selectLayer]),[d,m,g,E,w,S]=Xx(q=>[q.in_move_footprint_mode,q.in_draw_trace_mode,q.is_showing_rats_nest,q.is_showing_multiple_traces_length,q.is_showing_autorouting,q.is_showing_drc_errors]),M=Xx(q=>q.setEditMode),N=Xx(q=>q.setIsShowingRatsNest),k=Xx(q=>q.setIsShowingMultipleTracesLength),V=Xx(q=>q.setIsShowingAutorouting),Y=Xx(q=>q.setIsShowingDrcErrors);JS("1",()=>f("top")),JS("2",()=>f("bottom")),JS("3",()=>f("inner1")),JS("4",()=>f("inner2")),JS("5",()=>f("inner3")),JS("6",()=>f("inner4")),JS("7",()=>f("inner5")),JS("8",()=>f("inner6"));const W=(e==null?void 0:e.filter(q=>q.type.includes("error")).length)??0;return Ge.jsxs("div",{style:{position:"relative"},onMouseEnter:()=>{r(!0)},onMouseLeave:q=>{r(!1),s(!1)},children:[n,Ge.jsxs("div",{style:{position:"absolute",bottom:4,right:8,pointerEvents:"none",color:"white",fontSize:11,opacity:t?.5:0,transition:"opacity 1s",transitionDelay:"2s",fontFamily:"sans-serif"},children:["@tscircuit/pcb-viewer@",E7n.version]}),Ge.jsxs("div",{style:{position:"absolute",opacity:t?1:0,top:16,left:16,transition:t?"opacity 100ms linear":"opacity 1s linear",zIndex:L3.toolbarOverlay,color:"red",display:"flex",fontSize:12,height:100,fontFamily:"sans-serif"},children:[Ge.jsxs(CM,{onClick:()=>{s(!o)},onMouseLeave:()=>{o&&s(!1)},children:[Ge.jsxs("div",{children:["layer:"," ",Ge.jsx("span",{style:{marginLeft:2,fontWeight:500,color:MM[u]},children:u})]}),o&&Ge.jsx("div",{style:{marginTop:4,minWidth:120},children:Ame.map(q=>q.replace(/-/g,"")).map(q=>Ge.jsx(T7n,{name:q,selected:q===u,onClick:()=>{f(q.replace(/-/,""))}},q))})]}),Ge.jsxs(CM,{style:W>0?{color:"red"}:{},onClick:()=>c(!l),onMouseLeave:()=>c(!1),children:[Ge.jsxs("div",{children:[W," errors"]}),l&&Ge.jsx("div",{style:{display:"grid",gridTemplateColumns:"100px 300px"},children:e==null?void 0:e.filter(q=>q.type.includes("error")).map((q,ee)=>Ge.jsxs(rt.Fragment,{children:[Ge.jsx("div",{children:q.error_type}),Ge.jsx("div",{children:q.message})]},ee))})]}),Ge.jsx(CM,{style:{},onClick:()=>{M(m?"off":"draw_trace")},children:Ge.jsxs("div",{children:[m?"✖ ":"","Edit Traces"]})}),Ge.jsx(CM,{style:{},onClick:()=>{M(d?"off":"move_footprint")},children:Ge.jsxs("div",{children:[d?"✖ ":"","Move Components"]})}),Ge.jsx(CM,{style:{},onClick:()=>{N(!g)},children:Ge.jsxs("div",{children:[g?"✖ ":"","Rats Nest"]})}),Ge.jsx(CM,{onClick:()=>{a(!i)},children:Ge.jsxs("div",{children:[Ge.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:["View"," ",Ge.jsx("span",{style:{fontSize:"8px",transform:i?"rotate(180deg)":"rotate(0)",transition:"transform 0.1s ease",display:"inline-block"},children:"▼"})]}),i&&Ge.jsxs("div",{style:{marginTop:4,minWidth:120},children:[Ge.jsx(Ome,{label:"Show All Trace Lengths",checked:E,onClick:()=>{k(!E)}}),Ge.jsx(Ome,{label:"Show Autorouting Animation",checked:w,onClick:()=>{V(!w)}}),Ge.jsx(Ome,{label:"Show DRC Errors",checked:S,onClick:()=>{Y(!S)}})]})]})})]})]})},C7n=n=>{const{transform:e,elements:t}=n,[r,i]=rt.useMemo(()=>{const c=n.elements.flatMap(f=>ISn(f,n.elements)),u=n8(n.elements);return[c,u]},[n.elements]),[a,o]=rt.useState({drawingObjectIdsWithMouseOver:new Set,primitiveIdsInMousedOverNet:[]}),s=rt.useMemo(()=>zSn({primitivesWithoutInteractionMetadata:r,drawingObjectIdsWithMouseOver:a.drawingObjectIdsWithMouseOver,primitiveIdsInMousedOverNet:a.primitiveIdsInMousedOverNet}),[r,a]),l=rt.useCallback(c=>{var d,m;const u=[];for(const g of c)if(g._element){const E=i.getNetConnectedToId("pcb_port_id"in g._element?(d=g._element)==null?void 0:d.pcb_port_id:"pcb_trace_id"in g._element?(m=g._element)==null?void 0:m.pcb_trace_id:"");u.push(...i.getIdsConnectedToNet(E))}const f=new Set(c.map(g=>g._pcb_drawing_object_id));o({drawingObjectIdsWithMouseOver:f,primitiveIdsInMousedOverNet:u})},[i]);return Ge.jsx(S7n,{elements:t,transform:e,primitives:r,onMouseHoverOverPrimitives:l,children:Ge.jsx(a7n,{disabled:!n.allowEditing,transform:e,soup:t,cancelPanDrag:n.cancelPanDrag,onCreateEditEvent:n.onCreateEditEvent,onModifyEditEvent:n.onModifyEditEvent,children:Ge.jsx(c7n,{disabled:!n.allowEditing,transform:e,soup:t,cancelPanDrag:n.cancelPanDrag,onCreateEditEvent:n.onCreateEditEvent,onModifyEditEvent:n.onModifyEditEvent,children:Ge.jsx(r7n,{transform:e,focusOnHover:n.focusOnHover,children:Ge.jsx(M7n,{elements:t,children:Ge.jsx(d7n,{transform:e,elements:t,children:Ge.jsx(w7n,{transform:e,soup:t,children:Ge.jsx(t7n,{transform:e,debugGraphics:n.debugGraphics,children:Ge.jsx(n7n,{transform:e,elements:t,children:Ge.jsx(e7n,{transform:e,primitives:s,width:n.width,height:n.height,grid:n.grid})})})})})})})})})})},R7n=Mc(k0(400,300),f2(40,-40)),A7n=({circuitJson:n,debugGraphics:e,height:t=600,initialState:r,allowEditing:i=!0,editEvents:a,onEditEventsChanged:o,focusOnHover:s=!1,clickToInteractEnabled:l=!1})=>{const[c,u]=rt.useState(!l),[f,d]=Dme(),[m,g]=rt.useState(R7n),{ref:E,setTransform:w,cancelDrag:S}=OSn({transform:m,onSetTransform:g,enabled:c});let[M,N]=rt.useState([]);M=a??M;const k=rt.useRef(!1),V=`${(n==null?void 0:n.length)||0}_${(n==null?void 0:n.editCount)||0}`,Y=()=>{const ue=(d==null?void 0:d.width)>0?d:{width:500,height:500},{center:pe,width:ce,height:Se}=q.some(Te=>Te.type.startsWith("pcb_"))?ESn(q.filter(Te=>Te.type.startsWith("pcb_"))):{center:{x:0,y:0},width:.001,height:.001},he=Math.min((ue.width??0)/ce,(ue.height??0)/Se,100)*.75,_e=Mc(k0((ue.width??0)/2,(ue.height??0)/2),f2(he,-he,0,0),k0(-pe.x,-pe.y));w(_e)};rt.useEffect(()=>{d!=null&&d.width&&n&&n.length!==0&&(k.current||(Y(),k.current=!0))},[n,d]);const W=rt.useMemo(()=>(n==null?void 0:n.filter(ue=>ue.type.startsWith("pcb_")||ue.type.startsWith("source_")))??[],[V]),q=rt.useMemo(()=>Z4n({circuitJson:W,editEvents:M}),[W,M]),ee=ue=>{N([...M,ue]),o==null||o([...M,ue])},X=ue=>{const pe=M.map(ce=>ce.edit_event_id===ue.edit_event_id?{...ce,...ue}:ce);N(pe),o==null||o(pe)};return Ge.jsxs("div",{ref:E,style:{position:"relative"},children:[Ge.jsx("div",{ref:f,children:Ge.jsxs(MSn,{initialState:r,children:[Ge.jsx(C7n,{transform:m,height:t,width:d.width,allowEditing:i,focusOnHover:s,cancelPanDrag:S,onCreateEditEvent:ee,onModifyEditEvent:X,grid:{spacing:1,view_window:{left:0,right:d.width||500,top:t,bottom:0}},elements:q,debugGraphics:e},d.width),Ge.jsx(RSn,{})]})}),l&&!c&&Ge.jsx("div",{onClick:()=>{u(!0),Y()},style:{position:"absolute",inset:0,cursor:"pointer",zIndex:10,display:"flex",alignItems:"center",justifyContent:"center"},children:Ge.jsx("div",{style:{backgroundColor:"rgba(0, 0, 0, 0.8)",color:"white",padding:"12px 24px",borderRadius:"8px",fontSize:"16px",pointerEvents:"none"},children:"Click to Interact"})})]})};const P7n=({containerClassName:n,...e})=>{const t=rt.useRef(null),[r,i]=rt.useState(620);return rt.useLayoutEffect(()=>{const a=()=>{if(t.current){const s=t.current.clientHeight,l=window.innerHeight;i(Math.min(Math.max(s,620),l))}};a();const o=new ResizeObserver(a);return t.current&&o.observe(t.current),window.addEventListener("resize",a),()=>{o.disconnect(),window.removeEventListener("resize",a)}},[]),Ge.jsx("div",{ref:t,className:n||"rf-w-full rf-h-full",children:Ge.jsx(A7n,{...e,height:r})})},N7n='*,: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-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-50{z-index:50}.rf-z-\\[100\\]{z-index:100}.-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-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{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-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-8{height:2rem}.rf-h-9{height:2.25rem}.rf-h-\\[620px\\]{height:620px}.rf-h-\\[calc\\(100vh-52px\\)\\]{height:calc(100vh - 52px)}.rf-h-\\[calc\\(100vh-96px\\)\\]{height:calc(100vh - 96px)}.rf-h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.rf-h-fit{height:-moz-fit-content;height:fit-content}.rf-h-full{height:100%}.rf-h-px{height:1px}.\\!rf-max-h-\\[40vh\\]{max-height:40vh!important}.\\!rf-max-h-\\[70\\%\\]{max-height:70%!important}.rf-max-h-32{max-height:8rem}.rf-max-h-96{max-height:24rem}.rf-max-h-\\[500px\\]{max-height:500px}.rf-max-h-\\[90vh\\]{max-height:90vh}.rf-min-h-0{min-height:0}.rf-min-h-\\[200px\\]{min-height:200px}.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-3{width:.75rem}.rf-w-3\\.5{width:.875rem}.rf-w-32{width:8rem}.rf-w-4{width:1rem}.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-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-\\[60vw\\]{max-width:60vw!important}.\\!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-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-xl{max-width:36rem}.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-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-\\[-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-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-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-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!important}.rf-overflow-x-hidden{overflow-x:hidden}.rf-overflow-x-clip{overflow-x:clip}.rf-truncate{overflow:hidden;text-overflow:ellipsis}.rf-truncate,.rf-whitespace-nowrap{white-space:nowrap}.rf-whitespace-pre-wrap{white-space:pre-wrap}.rf-break-words{overflow-wrap:break-word}.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-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-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-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-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-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-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-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-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-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-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-bold{font-weight:700}.rf-font-medium{font-weight:500}.rf-font-semibold{font-weight:600}.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-tight{line-height:1.25}.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-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-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-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,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-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\\]\\: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-\\[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-\\[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\\]\\: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-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-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\\: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-\\[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-\\[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-mt-0{margin-top:0}.sm\\:rf-flex-row{flex-direction:row}.sm\\:rf-justify-end{justify-content:flex-end}.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-text-left{text-align:left}}@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))}.\\[\\&_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}',D7n=()=>{rt.useEffect(()=>{if(document.querySelector('style[data-styles="tscircuit-runframe"]'))return;const e=document.createElement("style");e.setAttribute("data-styles","tscircuit-runframe"),e.textContent=N7n,document.head.appendChild(e)},[])},hrt=n=>`hsl(${S4.indexOf(n)*137.5%360}, 70%, 50%)`,L7n=({phaseTimings:n})=>{if(!n)return null;const e=Object.values(n).reduce((t,r)=>t+r,0);return Ge.jsxs("div",{className:"rf-space-y-2 rf-w-full rf-px-4",children:[Ge.jsx("div",{className:"rf-relative rf-h-8 rf-flex rf-rounded-sm",children:S4.map(t=>{const r=n[t]||0,i=r/e*100;return Ge.jsx("div",{className:"rf-group/bar rf-relative rf-overflow-visible",style:{width:`${i}%`,backgroundColor:hrt(t)},children:Ge.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,": ",r.toFixed(1),"ms"]})},t)})}),Ge.jsxs("div",{className:"rf-text-xs rf-text-gray-500",children:["Total: ",e.toFixed(2),"ms"]})]})},O7n=({renderLog:n})=>{const[e,t]=rt.useState("chronological");if(!n)return Ge.jsx("div",{className:"rf-p-4 rf-bg-gray-100 rf-rounded-md",children:"No render log, make sure this tab is open when you render (TODO add a rerender button here)"});const r=Object.entries((n==null?void 0:n.phaseTimings)??{});e==="chronological"?r.sort((a,o)=>S4.indexOf(a[0])-S4.indexOf(o[0])):r.sort((a,o)=>o[1]-a[1]);const i=r.reduce((a,[o,s])=>a+s,0);return Ge.jsxs("div",{className:"rf-bg-white",children:[Ge.jsxs("div",{className:"rf-flex rf-justify-between rf-items-center",children:[Ge.jsx("div",{children:"Render Logs"}),Ge.jsxs("div",{className:"rf-mb-4 rf-pr-2 rf-flex rf-text-xs rf-items-center",children:[Ge.jsx("div",{className:"rf-mr-2",children:"Sort by:"}),Ge.jsxs("select",{value:e,onChange:a=>t(a.target.value),className:"rf-px-2 rf-py-1 rf-border rf-rounded rf-text-xs",children:[Ge.jsx("option",{value:"chronological",children:"Phase Order"}),Ge.jsx("option",{value:"longest",children:"Duration"})]})]})]}),Ge.jsx(L7n,{phaseTimings:n.phaseTimings}),Ge.jsxs("table",{className:"rf-w-full rf-text-xs",children:[Ge.jsx("thead",{children:Ge.jsxs("tr",{children:[Ge.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase Order"}),Ge.jsx("th",{className:"rf-text-left rf-p-2",children:"Phase"}),Ge.jsx("th",{className:"rf-text-left rf-p-2",children:"Duration (ms)"})]})}),Ge.jsx("tbody",{children:r.map(([a,o])=>Ge.jsxs("tr",{children:[Ge.jsx("td",{className:"rf-p-2",children:S4.indexOf(a)}),Ge.jsx("td",{className:"rf-p-2",children:a}),Ge.jsx("td",{className:"rf-p-2",children:Ge.jsx("div",{className:"rf-w-8",children:Ge.jsx("div",{className:"rf-h-2 rf-rounded-sm",style:{backgroundColor:hrt(a),width:`${o/i*100}%`}})})}),Ge.jsx("td",{className:"rf-p-2",children:Ge.jsxs("div",{className:"rf-flex w-full",children:[Ge.jsxs("span",{className:"rf-flex-grow",children:[o,"ms"]}),Ge.jsxs("span",{className:"rf-text-gray-500 rf-pr-2",children:[(o/i*100).toFixed(1),"%"]})]})})]},a))})]})]})},z7n="0.0.434",U7n=["assembly","bom","circuit_json","errors","render_log"],k7n=({code:n,onRunClicked:e=void 0,errorMessage:t,circuitJson:r,autoroutingGraphics:i,showRightHeaderContent:a=!0,showCodeTab:o=!1,codeTabContent:s,showJsonTab:l=!0,showRenderLogTab:c=!0,onActiveTabChange:u,renderLog:f,showImportAndFormatButtons:d=!0,className:m,headerClassName:g,leftHeaderContent:E,readOnly:w,isStreaming:S,autoroutingLog:M,onReportAutoroutingLog:N,isRunningCode:k,hasCodeChangedSinceLastRun:V,onEditEvent:Y,editEvents:W,defaultActiveTab:q,autoRotate3dViewerDisabled:ee,showSchematicDebugGrid:X=!1,showToggleFullScreen:ue=!0,defaultToFullScreen:pe=!1})=>{var De;D7n();const ce=rt.useMemo(()=>r?r.filter(ze=>ze&&"error_type"in ze):null,[r]),[Se,he]=rt.useState(q??"pcb"),[_e,Te]=rt.useState(pe),be=rt.useCallback(ze=>{he(ze),u==null||u(ze)},[u]),Pe=()=>{Te(!_e)};return rt.useEffect(()=>{t&&be("errors")},[t]),rt.useEffect(()=>{(Se==="code"||Se==="errors")&&r&&!t&&be(q??"pcb")},[r]),Ge.jsx("div",{className:Sh("flex flex-col relative rf-overflow-x-hidden",m),children:Ge.jsx("div",{className:Sh("rf-md:sticky rf-md:top-2",_e&&"rf-fixed rf-top-0 rf-left-0 rf-w-full rf-bg-white"),children:Ge.jsxs(lbe,{value:Se,onValueChange:be,className:"rf-flex-grow rf-flex rf-flex-col",children:[Ge.jsxs("div",{className:Sh("rf-flex rf-items-center rf-gap-2 rf-p-2 rf-pb-0",g),children:[E,E&&Ge.jsx("div",{className:"rf-flex-grow"}),!E&&k&&Ge.jsx(nM,{className:"rf-w-4 rf-h-4 rf-animate-spin"}),!E&&Ge.jsx("div",{className:"rf-flex-grow"}),f&&f.progress!==1&&Ge.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[f.lastRenderEvent&&Ge.jsx("div",{className:"rf-text-xs rf-text-gray-500",children:(De=f.lastRenderEvent)==null?void 0:De.type.split("renderable:renderLifecycle:")[1].split(":")[0]}),Ge.jsx("div",{className:"rf-w-4 rf-h-4 rf-bg-blue-500 rf-opacity-50 rf-rounded-full rf-text-white",children:Ge.jsx(nM,{className:"rf-w-4 rf-h-4 rf-animate-spin"})}),Ge.jsxs("div",{className:"rf-text-xs rf-font-bold rf-text-gray-700 rf-tabular-nums",children:[((f.progress??0)*100).toFixed(1),"%"]})]}),a&&Ge.jsxs(GX,{children:[o&&Ge.jsx(hS,{value:"code",children:"Code"}),Ge.jsxs(hS,{value:"pcb",className:"rf-whitespace-nowrap",children:[r&&Ge.jsx("span",{className:Sh("rf-inline-flex rf-items-center rf-justify-center rf-w-2 rf-h-2 rf-mr-1 rf-text-xs rf-font-bold rf-text-white rf-rounded-full",V?"rf-bg-gray-500":"rf-bg-blue-500")}),"PCB"]}),Ge.jsxs(hS,{value:"schematic",className:"rf-whitespace-nowrap",children:[r&&Ge.jsx("span",{className:Sh("rf-inline-flex rf-items-center rf-justify-center rf-w-2 rf-h-2 rf-mr-1 rf-text-xs rf-font-bold rf-text-white rf-rounded-full",V?"rf-bg-gray-500":"rf-bg-blue-500")}),"Schematic"]}),Ge.jsxs(hS,{value:"cad",children:[r&&Ge.jsx("span",{className:Sh("inline-flex items-center justify-center w-2 h-2 mr-1 text-xs font-bold text-white rounded-full",V?"rf-bg-gray-500":"rf-bg-blue-500")}),"3D"]}),!["pcb","cad","schematic"].includes(Se)&&Ge.jsx(hS,{value:Se,children:sbe(Se)}),Ge.jsxs(p0e,{children:[Ge.jsx(h0e,{asChild:!0,children:Ge.jsxs("div",{className:"rf-whitespace-nowrap rf-p-2 rf-mr-1 rf-cursor-pointer rf-relative",children:[Ge.jsx(aln,{className:"rf-w-4 rf-h-4"}),(ce&&ce.length>0||t)&&Ge.jsx("span",{className:"rf-inline-flex rf-absolute rf-top-[6px] rf-right-[4px] rf-items-center rf-justify-center rf-w-1 rf-h-1 rf-ml-2 rf-text-[8px] rf-font-bold rf-text-white rf-bg-red-500 rf-rounded-full"})]})}),Ge.jsxs(aB,{className:"rf-*:text-xs",children:[U7n.map(ze=>Ge.jsxs(zb,{onSelect:()=>be(ze),children:[Se!==ze&&Ge.jsx(g$e,{className:"rf-w-3 rf-h-3 rf-opacity-30"}),Se===ze&&Ge.jsx(bue,{className:"rf-w-3 rf-h-3"}),Ge.jsx("div",{className:"rf-pr-2",children:sbe(ze)}),ze==="errors"&&(ce&&ce.length>0||t)&&Ge.jsx("span",{className:"rf-inline-flex rf-items-center rf-justify-center rf-w-3 rf-h-3 rf-ml-2 rf-text-[8px] rf-font-bold rf-text-white rf-bg-red-500 rf-rounded-full",children:t?1:ce==null?void 0:ce.length})]},ze)),Ge.jsx(zb,{disabled:!0,className:"rf-opacity-60 rf-cursor-default rf-select-none",children:Ge.jsxs("div",{className:"rf-pr-2 rf-text-xs rf-text-gray-500",children:["@tscircuit/runframe@",z7n.split(".").map((ze,Re)=>Re===2?parseInt(ze)+1:ze).join(".")]})})]})]})]}),ue&&Ge.jsx(m3,{onClick:Pe,variant:"ghost",children:_e?Ge.jsx(cln,{size:16}):Ge.jsx(sln,{size:16})})]}),o&&Ge.jsx(c8,{value:"code",className:"rf-flex-grow rf-overflow-hidden",children:Ge.jsx("div",{className:"rf-h-full",children:s})}),Ge.jsx(c8,{value:"pcb",children:Ge.jsx("div",{className:Sh("rf-overflow-hidden",_e?"rf-h-[calc(100vh-52px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{fallbackRender:({error:ze})=>Ge.jsx("div",{className:"rf-mt-4 rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200",children:Ge.jsxs("div",{className:"rf-p-4",children:[Ge.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-3",children:"Error loading PCB viewer"}),Ge.jsx("p",{className:"rf-text-xs rf-font-mono rf-whitespace-pre-wrap rf-text-red-600 rf-mt-2",children:(ze==null?void 0:ze.message)||"An unknown error occurred"})]})}),children:r?Ge.jsx(P7n,{focusOnHover:!1,circuitJson:r,debugGraphics:i,containerClassName:Sh("rf-h-full rf-w-full",_e?"rf-min-h-[calc(100vh-240px)]":"rf-min-h-[620px]"),onEditEventsChanged:ze=>{Y&&ze.forEach(Re=>Y(Re))}}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"assembly",children:Ge.jsx("div",{className:Sh("rf-overflow-auto",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{fallback:Ge.jsx("div",{children:"Error loading Assembly"}),children:r?Ge.jsx(U1n,{circuitJson:r,containerStyle:{height:"100%"},editingEnabled:!0,debugGrid:!0}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"schematic",children:Ge.jsx("div",{className:Sh("rf-overflow-auto rf-bg-white",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{fallbackRender:({error:ze})=>Ge.jsx("div",{className:"rf-mt-4 rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200",children:Ge.jsxs("div",{className:"rf-p-4",children:[Ge.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-3",children:"Error loading Schematic"}),Ge.jsx("p",{className:"rf-text-xs rf-font-mono rf-whitespace-pre-wrap rf-text-red-600 rf-mt-2",children:(ze==null?void 0:ze.message)||"An unknown error occurred"})]})}),children:r?Ge.jsx(L1n,{circuitJson:r,containerStyle:{height:"100%"},editingEnabled:!0,onEditEvent:ze=>{Y==null||Y(ze)},debugGrid:X,colorOverrides:{schematic:{background:"transparent"}}}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"cad",children:Ge.jsx("div",{className:Sh("rf-overflow-auto",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{FallbackComponent:Gsn,children:r?Ge.jsx(Vsn,{soup:r,autoRotateDisabled:ee}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"bom",children:Ge.jsx("div",{className:Sh("rf-overflow-auto",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{fallbackRender:({error:ze})=>Ge.jsx("div",{className:"rf-mt-4 rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200",children:Ge.jsxs("div",{className:"rf-p-4",children:[Ge.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-3",children:"Error loading Bill of Materials"}),Ge.jsx("p",{className:"rf-text-xs rf-font-mono rf-whitespace-pre-wrap rf-text-red-600 rf-mt-2",children:(ze==null?void 0:ze.message)||"An unknown error occurred"})]})}),children:r?Ge.jsx(j1n,{circuitJson:r}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"circuit_json",children:Ge.jsx("div",{className:Sh("rf-overflow-auto",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Ge.jsx(tM,{fallback:Ge.jsx("div",{children:"Error loading JSON viewer"}),children:r?Ge.jsx(F1n,{elements:r}):Ge.jsx(kw,{onRunClicked:e})})})}),Ge.jsx(c8,{value:"errors",children:Ge.jsx("div",{className:Sh("rf-overflow-auto",_e?"rf-h-[calc(100vh-96px)]":"rf-h-[620px]"),children:Array.isArray(ce)&&ce.length>0||t?Ge.jsx(rfn,{code:n,circuitJsonErrors:ce,errorMessage:t,autoroutingLog:M,onReportAutoroutingLog:N}):Ge.jsx(kw,{onRunClicked:e})})}),c&&Ge.jsx(c8,{value:"render_log",children:Ge.jsx(O7n,{renderLog:f})})]})})})};var sV="Dialog",[mrt,yrt]=t6(sV),[I7n,Bb]=mrt(sV),vrt=n=>{const{__scopeDialog:e,children:t,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=n,s=rt.useRef(null),l=rt.useRef(null),[c,u]=IE({prop:r,defaultProp:i??!1,onChange:a,caller:sV});return Ge.jsx(I7n,{scope:e,triggerRef:s,contentRef:l,contentId:n6(),titleId:n6(),descriptionId:n6(),open:c,onOpenChange:u,onOpenToggle:rt.useCallback(()=>u(f=>!f),[u]),modal:o,children:t})};vrt.displayName=sV;var grt="DialogTrigger",_rt=rt.forwardRef((n,e)=>{const{__scopeDialog:t,...r}=n,i=Bb(grt,t),a=fx(e,i.triggerRef);return Ge.jsx(Uv.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":kme(i.open),...r,ref:a,onClick:Lp(n.onClick,i.onOpenToggle)})});_rt.displayName=grt;var zme="DialogPortal",[F7n,xrt]=mrt(zme,{forceMount:void 0}),brt=n=>{const{__scopeDialog:e,forceMount:t,children:r,container:i}=n,a=Bb(zme,e);return Ge.jsx(F7n,{scope:e,forceMount:t,children:rt.Children.map(r,o=>Ge.jsx(s8,{present:t||a.open,children:Ge.jsx(Que,{asChild:!0,container:i,children:o})}))})};brt.displayName=zme;var lV="DialogOverlay",Srt=rt.forwardRef((n,e)=>{const t=xrt(lV,n.__scopeDialog),{forceMount:r=t.forceMount,...i}=n,a=Bb(lV,n.__scopeDialog);return a.modal?Ge.jsx(s8,{present:r||a.open,children:Ge.jsx(j7n,{...i,ref:e})}):null});Srt.displayName=lV;var B7n=kE("DialogOverlay.RemoveScroll"),j7n=rt.forwardRef((n,e)=>{const{__scopeDialog:t,...r}=n,i=Bb(lV,t);return Ge.jsx(r0e,{as:B7n,allowPinchZoom:!0,shards:[i.contentRef],children:Ge.jsx(Uv.div,{"data-state":kme(i.open),...r,ref:e,style:{pointerEvents:"auto",...r.style}})})}),Yw="DialogContent",wrt=rt.forwardRef((n,e)=>{const t=xrt(Yw,n.__scopeDialog),{forceMount:r=t.forceMount,...i}=n,a=Bb(Yw,n.__scopeDialog);return Ge.jsx(s8,{present:r||a.open,children:a.modal?Ge.jsx(H7n,{...i,ref:e}):Ge.jsx(V7n,{...i,ref:e})})});wrt.displayName=Yw;var H7n=rt.forwardRef((n,e)=>{const t=Bb(Yw,n.__scopeDialog),r=rt.useRef(null),i=fx(e,t.contentRef,r);return rt.useEffect(()=>{const a=r.current;if(a)return wGe(a)},[]),Ge.jsx(Ert,{...n,ref:i,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Lp(n.onCloseAutoFocus,a=>{var o;a.preventDefault(),(o=t.triggerRef.current)==null||o.focus()}),onPointerDownOutside:Lp(n.onPointerDownOutside,a=>{const o=a.detail.originalEvent,s=o.button===0&&o.ctrlKey===!0;(o.button===2||s)&&a.preventDefault()}),onFocusOutside:Lp(n.onFocusOutside,a=>a.preventDefault())})}),V7n=rt.forwardRef((n,e)=>{const t=Bb(Yw,n.__scopeDialog),r=rt.useRef(!1),i=rt.useRef(!1);return Ge.jsx(Ert,{...n,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var o,s;(o=n.onCloseAutoFocus)==null||o.call(n,a),a.defaultPrevented||(r.current||(s=t.triggerRef.current)==null||s.focus(),a.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:a=>{var l,c;(l=n.onInteractOutside)==null||l.call(n,a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const o=a.target;((c=t.triggerRef.current)==null?void 0:c.contains(o))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&i.current&&a.preventDefault()}})}),Ert=rt.forwardRef((n,e)=>{const{__scopeDialog:t,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=n,s=Bb(Yw,t),l=rt.useRef(null),c=fx(e,l);return I$e(),Ge.jsxs(Ge.Fragment,{children:[Ge.jsx(Uue,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:Ge.jsx(Due,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":kme(s.open),...o,ref:c,onDismiss:()=>s.onOpenChange(!1)})}),Ge.jsxs(Ge.Fragment,{children:[Ge.jsx(G7n,{titleId:s.titleId}),Ge.jsx(Y7n,{contentRef:l,descriptionId:s.descriptionId})]})]})}),Ume="DialogTitle",Trt=rt.forwardRef((n,e)=>{const{__scopeDialog:t,...r}=n,i=Bb(Ume,t);return Ge.jsx(Uv.h2,{id:i.titleId,...r,ref:e})});Trt.displayName=Ume;var Mrt="DialogDescription",Crt=rt.forwardRef((n,e)=>{const{__scopeDialog:t,...r}=n,i=Bb(Mrt,t);return Ge.jsx(Uv.p,{id:i.descriptionId,...r,ref:e})});Crt.displayName=Mrt;var Rrt="DialogClose",Art=rt.forwardRef((n,e)=>{const{__scopeDialog:t,...r}=n,i=Bb(Rrt,t);return Ge.jsx(Uv.button,{type:"button",...r,ref:e,onClick:Lp(n.onClick,()=>i.onOpenChange(!1))})});Art.displayName=Rrt;function kme(n){return n?"open":"closed"}var Prt="DialogTitleWarning",[$7n,Nrt]=c8t(Prt,{contentName:Yw,titleName:Ume,docsSlug:"dialog"}),G7n=({titleId:n})=>{const e=Nrt(Prt),t=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
13455
13455
 
13456
13456
  If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component.
13457
13457