@tscircuit/runframe 0.0.3059 → 0.0.3060

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.
@@ -5401,7 +5401,7 @@ ${Q.join(`
5401
5401
  `+Q+" | "+stg("",t.column-1," ")+stg("",n,"^")}else A+=`
5402
5402
  at `+B}return A},HuA.buildMessage=function(g,A){var I={literal:function(i){return'"'+t(i.text)+'"'},class:function(i){var E=i.parts.map(function(n){return Array.isArray(n)?o(n[0])+"-"+o(n[1]):o(n)});return"["+(i.inverted?"^":"")+E.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(i){return i.description}};function e(i){return i.charCodeAt(0).toString(16).toUpperCase()}function t(i){return i.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+e(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+e(E)})}function o(i){return i.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+e(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+e(E)})}function B(i){return I[i.type](i)}function C(i){var E=i.map(B),n,s;if(E.sort(),E.length>0){for(n=1,s=1;n<E.length;n++)E[n-1]!==E[n]&&(E[s]=E[n],s++);E.length=s}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function Q(i){return i?'"'+t(i)+'"':"end of input"}return"Expected "+C(g)+" but "+Q(A)+" found."};function IfI(g,A=!1,I=!1){A?I?g=zw(g,jJ(-1,-1)):g=zw(g,jJ(1,-1)):I&&(g=zw(g,jJ(-1,1)));const e=g.a,t=g.b,o=g.c,B=g.d;let C,Q,i;if(e!==0||o!==0){const E=Math.hypot(e,o);C=E,Q=(e*B-t*o)/E;const n=Math.acos(e/E);i=o>0?-n:n}else if(t!==0||B!==0){const E=Math.hypot(t,B);C=(e*B-t*o)/E,Q=E;const n=Math.acos(t/E);i=Math.PI/2+(B>0?-n:n)}else C=0,Q=0,i=0;return I&&(C=-C),A&&(Q=-Q),{translate:{tx:g.e,ty:g.f},scale:{sx:C,sy:Q},rotation:{angle:i}}}const WeA=g=>typeof g=="number"&&!isNaN(g),hb=g=>typeof g=="string",wS=g=>typeof g=="function",vuA=g=>hb(g)||wS(g)?g:null,atg=g=>z.isValidElement(g)||hb(g)||wS(g)||WeA(g);function Yoo(g,A,I){I===void 0&&(I=300);const{scrollHeight:e,style:t}=g;requestAnimationFrame(()=>{t.minHeight="initial",t.height=e+"px",t.transition=`all ${I}ms`,requestAnimationFrame(()=>{t.height="0",t.padding="0",t.margin="0",setTimeout(A,I)})})}function TuA(g){let{enter:A,exit:I,appendPosition:e=!1,collapse:t=!0,collapseDuration:o=300}=g;return function(B){let{children:C,position:Q,preventExitTransition:i,done:E,nodeRef:n,isIn:s,playToast:r}=B;const a=e?`${A}--${Q}`:A,c=e?`${I}--${Q}`:I,h=z.useRef(0);return z.useLayoutEffect(()=>{const l=n.current,D=a.split(" "),d=y=>{y.target===n.current&&(r(),l.removeEventListener("animationend",d),l.removeEventListener("animationcancel",d),h.current===0&&y.type!=="animationcancel"&&l.classList.remove(...D))};l.classList.add(...D),l.addEventListener("animationend",d),l.addEventListener("animationcancel",d)},[]),z.useEffect(()=>{const l=n.current,D=()=>{l.removeEventListener("animationend",D),t?Yoo(l,E,o):E()};s||(i?D():(h.current=1,l.className+=` ${c}`,l.addEventListener("animationend",D)))},[s]),rC.createElement(rC.Fragment,null,C)}}function efI(g,A){return g!=null?{content:g.content,containerId:g.props.containerId,id:g.props.toastId,theme:g.props.theme,type:g.props.type,data:g.props.data||{},isLoading:g.props.isLoading,icon:g.props.icon,status:A}:{}}const Tm=new Map;let VeA=[];const rtg=new Set,_oo=g=>rtg.forEach(A=>A(g)),tfI=()=>Tm.size>0;function ofI(g,A){var I;if(A)return!((I=Tm.get(A))==null||!I.isToastActive(g));let e=!1;return Tm.forEach(t=>{t.isToastActive(g)&&(e=!0)}),e}function BfI(g,A){atg(g)&&(tfI()||VeA.push({content:g,options:A}),Tm.forEach(I=>{I.buildToast(g,A)}))}function CfI(g,A){Tm.forEach(I=>{A!=null&&A!=null&&A.containerId?A?.containerId===I.id&&I.toggle(g,A?.id):I.toggle(g,A?.id)})}function boo(g){const{subscribe:A,getSnapshot:I,setProps:e}=z.useRef((function(o){const B=o.containerId||1;return{subscribe(C){const Q=(function(E,n,s){let r=1,a=0,c=[],h=[],l=[],D=n;const d=new Map,y=new Set,w=()=>{l=Array.from(d.values()),y.forEach(m=>m())},u=m=>{h=m==null?[]:h.filter(p=>p!==m),w()},G=m=>{const{toastId:p,onOpen:k,updateId:S,children:R}=m.props,x=S==null;m.staleId&&d.delete(m.staleId),d.set(p,m),h=[...h,m.props.toastId].filter(N=>N!==m.staleId),w(),s(efI(m,x?"added":"updated")),x&&wS(k)&&k(z.isValidElement(R)&&R.props)};return{id:E,props:D,observe:m=>(y.add(m),()=>y.delete(m)),toggle:(m,p)=>{d.forEach(k=>{p!=null&&p!==k.props.toastId||wS(k.toggle)&&k.toggle(m)})},removeToast:u,toasts:d,clearQueue:()=>{a-=c.length,c=[]},buildToast:(m,p)=>{if((Z=>{let{containerId:gA,toastId:tA,updateId:IA}=Z;const QA=gA?gA!==E:E!==1,nA=d.has(tA)&&IA==null;return QA||nA})(p))return;const{toastId:k,updateId:S,data:R,staleId:x,delay:N}=p,U=()=>{u(k)},K=S==null;K&&a++;const Y={...D,style:D.toastStyle,key:r++,...Object.fromEntries(Object.entries(p).filter(Z=>{let[gA,tA]=Z;return tA!=null})),toastId:k,updateId:S,data:R,closeToast:U,isIn:!1,className:vuA(p.className||D.toastClassName),bodyClassName:vuA(p.bodyClassName||D.bodyClassName),progressClassName:vuA(p.progressClassName||D.progressClassName),autoClose:!p.isLoading&&(b=p.autoClose,q=D.autoClose,b===!1||WeA(b)&&b>0?b:q),deleteToast(){const Z=d.get(k),{onClose:gA,children:tA}=Z.props;wS(gA)&&gA(z.isValidElement(tA)&&tA.props),s(efI(Z,"removed")),d.delete(k),a--,a<0&&(a=0),c.length>0?G(c.shift()):w()}};var b,q;Y.closeButton=D.closeButton,p.closeButton===!1||atg(p.closeButton)?Y.closeButton=p.closeButton:p.closeButton===!0&&(Y.closeButton=!atg(D.closeButton)||D.closeButton);let j=m;z.isValidElement(m)&&!hb(m.type)?j=z.cloneElement(m,{closeToast:U,toastProps:Y,data:R}):wS(m)&&(j=m({closeToast:U,toastProps:Y,data:R}));const W={content:j,props:Y,staleId:x};D.limit&&D.limit>0&&a>D.limit&&K?c.push(W):WeA(N)?setTimeout(()=>{G(W)},N):G(W)},setProps(m){D=m},setToggle:(m,p)=>{d.get(m).toggle=p},isToastActive:m=>h.some(p=>p===m),getSnapshot:()=>l}})(B,o,_oo);Tm.set(B,Q);const i=Q.observe(C);return VeA.forEach(E=>BfI(E.content,E.options)),VeA=[],()=>{i(),Tm.delete(B)}},setProps(C){var Q;(Q=Tm.get(B))==null||Q.setProps(C)},getSnapshot(){var C;return(C=Tm.get(B))==null?void 0:C.getSnapshot()}}})(g)).current;e(g);const t=z.useSyncExternalStore(A,I,I);return{getToastToRender:function(o){if(!t)return[];const B=new Map;return g.newestOnTop&&t.reverse(),t.forEach(C=>{const{position:Q}=C.props;B.has(Q)||B.set(Q,[]),B.get(Q).push(C)}),Array.from(B,C=>o(C[0],C[1]))},isToastActive:ofI,count:t?.length}}function Hoo(g){const[A,I]=z.useState(!1),[e,t]=z.useState(!1),o=z.useRef(null),B=z.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:C,pauseOnHover:Q,closeToast:i,onClick:E,closeOnClick:n}=g;var s,r;function a(){I(!0)}function c(){I(!1)}function h(d){const y=o.current;B.canDrag&&y&&(B.didMove=!0,A&&c(),B.delta=g.draggableDirection==="x"?d.clientX-B.start:d.clientY-B.start,B.start!==d.clientX&&(B.canCloseOnClick=!1),y.style.transform=`translate3d(${g.draggableDirection==="x"?`${B.delta}px, var(--y)`:`0, calc(${B.delta}px + var(--y))`},0)`,y.style.opacity=""+(1-Math.abs(B.delta/B.removalDistance)))}function l(){document.removeEventListener("pointermove",h),document.removeEventListener("pointerup",l);const d=o.current;if(B.canDrag&&B.didMove&&d){if(B.canDrag=!1,Math.abs(B.delta)>B.removalDistance)return t(!0),g.closeToast(),void g.collapseAll();d.style.transition="transform 0.2s, opacity 0.2s",d.style.removeProperty("transform"),d.style.removeProperty("opacity")}}(r=Tm.get((s={id:g.toastId,containerId:g.containerId,fn:I}).containerId||1))==null||r.setToggle(s.id,s.fn),z.useEffect(()=>{if(g.pauseOnFocusLoss)return document.hasFocus()||c(),window.addEventListener("focus",a),window.addEventListener("blur",c),()=>{window.removeEventListener("focus",a),window.removeEventListener("blur",c)}},[g.pauseOnFocusLoss]);const D={onPointerDown:function(d){if(g.draggable===!0||g.draggable===d.pointerType){B.didMove=!1,document.addEventListener("pointermove",h),document.addEventListener("pointerup",l);const y=o.current;B.canCloseOnClick=!0,B.canDrag=!0,y.style.transition="none",g.draggableDirection==="x"?(B.start=d.clientX,B.removalDistance=y.offsetWidth*(g.draggablePercent/100)):(B.start=d.clientY,B.removalDistance=y.offsetHeight*(g.draggablePercent===80?1.5*g.draggablePercent:g.draggablePercent)/100)}},onPointerUp:function(d){const{top:y,bottom:w,left:u,right:G}=o.current.getBoundingClientRect();d.nativeEvent.type!=="touchend"&&g.pauseOnHover&&d.clientX>=u&&d.clientX<=G&&d.clientY>=y&&d.clientY<=w?c():a()}};return C&&Q&&(D.onMouseEnter=c,g.stacked||(D.onMouseLeave=a)),n&&(D.onClick=d=>{E&&E(d),B.canCloseOnClick&&i()}),{playToast:a,pauseToast:c,isRunning:A,preventExitTransition:e,toastRef:o,eventHandlers:D}}function voo(g){let{delay:A,isRunning:I,closeToast:e,type:t="default",hide:o,className:B,style:C,controlledProgress:Q,progress:i,rtl:E,isIn:n,theme:s}=g;const r=o||Q&&i===0,a={...C,animationDuration:`${A}ms`,animationPlayState:I?"running":"paused"};Q&&(a.transform=`scaleX(${i})`);const c=NR("Toastify__progress-bar",Q?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${s}`,`Toastify__progress-bar--${t}`,{"Toastify__progress-bar--rtl":E}),h=wS(B)?B({rtl:E,type:t,defaultClassName:c}):NR(c,B),l={[Q&&i>=1?"onTransitionEnd":"onAnimationEnd"]:Q&&i<1?null:()=>{n&&e()}};return rC.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":r},rC.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${s} Toastify__progress-bar--${t}`}),rC.createElement("div",{role:"progressbar","aria-hidden":r?"true":"false","aria-label":"notification timer",className:h,style:a,...l}))}let Too=1;const QfI=()=>""+Too++;function qoo(g){return g&&(hb(g.toastId)||WeA(g.toastId))?g.toastId:QfI()}function jeA(g,A){return BfI(g,A),A.toastId}function quA(g,A){return{...A,type:A&&A.type||g,toastId:qoo(A)}}function ZuA(g){return(A,I)=>jeA(A,quA(g,I))}function Tc(g,A){return jeA(g,quA("default",A))}Tc.loading=(g,A)=>jeA(g,quA("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...A})),Tc.promise=function(g,A,I){let e,{pending:t,error:o,success:B}=A;t&&(e=hb(t)?Tc.loading(t,I):Tc.loading(t.render,{...I,...t}));const C={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},Q=(E,n,s)=>{if(n==null)return void Tc.dismiss(e);const r={type:E,...C,...I,data:s},a=hb(n)?{render:n}:n;return e?Tc.update(e,{...r,...a}):Tc(a.render,{...r,...a}),s},i=wS(g)?g():g;return i.then(E=>Q("success",B,E)).catch(E=>Q("error",o,E)),i},Tc.success=ZuA("success"),Tc.info=ZuA("info"),Tc.error=ZuA("error"),Tc.warning=ZuA("warning"),Tc.warn=Tc.warning,Tc.dark=(g,A)=>jeA(g,quA("default",{theme:"dark",...A})),Tc.dismiss=function(g){(function(A){var I;if(tfI()){if(A==null||hb(I=A)||WeA(I))Tm.forEach(e=>{e.removeToast(A)});else if(A&&("containerId"in A||"id"in A)){const e=Tm.get(A.containerId);e?e.removeToast(A.id):Tm.forEach(t=>{t.removeToast(A.id)})}}else VeA=VeA.filter(e=>A!=null&&e.options.toastId!==A)})(g)},Tc.clearWaitingQueue=function(g){g===void 0&&(g={}),Tm.forEach(A=>{!A.props.limit||g.containerId&&A.id!==g.containerId||A.clearQueue()})},Tc.isActive=ofI,Tc.update=function(g,A){A===void 0&&(A={});const I=((e,t)=>{var o;let{containerId:B}=t;return(o=Tm.get(B||1))==null?void 0:o.toasts.get(e)})(g,A);if(I){const{props:e,content:t}=I,o={delay:100,...e,...A,toastId:A.toastId||g,updateId:QfI()};o.toastId!==g&&(o.staleId=g);const B=o.render||t;delete o.render,jeA(B,o)}},Tc.done=g=>{Tc.update(g,{progress:1})},Tc.onChange=function(g){return rtg.add(g),()=>{rtg.delete(g)}},Tc.play=g=>CfI(!0,g),Tc.pause=g=>CfI(!1,g);const Zoo=typeof window<"u"?z.useLayoutEffect:z.useEffect,OuA=g=>{let{theme:A,type:I,isLoading:e,...t}=g;return rC.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:A==="colored"?"currentColor":`var(--toastify-icon-color-${I})`,...t})},ctg={info:function(g){return rC.createElement(OuA,{...g},rC.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(g){return rC.createElement(OuA,{...g},rC.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(g){return rC.createElement(OuA,{...g},rC.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(g){return rC.createElement(OuA,{...g},rC.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 rC.createElement("div",{className:"Toastify__spinner"})}},Ooo=g=>{const{isRunning:A,preventExitTransition:I,toastRef:e,eventHandlers:t,playToast:o}=Hoo(g),{closeButton:B,children:C,autoClose:Q,onClick:i,type:E,hideProgressBar:n,closeToast:s,transition:r,position:a,className:c,style:h,bodyClassName:l,bodyStyle:D,progressClassName:d,progressStyle:y,updateId:w,role:u,progress:G,rtl:m,toastId:p,deleteToast:k,isIn:S,isLoading:R,closeOnClick:x,theme:N}=g,U=NR("Toastify__toast",`Toastify__toast-theme--${N}`,`Toastify__toast--${E}`,{"Toastify__toast--rtl":m},{"Toastify__toast--close-on-click":x}),K=wS(c)?c({rtl:m,position:a,type:E,defaultClassName:U}):NR(U,c),Y=(function(W){let{theme:Z,type:gA,isLoading:tA,icon:IA}=W,QA=null;const nA={theme:Z,type:gA};return IA===!1||(wS(IA)?QA=IA({...nA,isLoading:tA}):z.isValidElement(IA)?QA=z.cloneElement(IA,nA):tA?QA=ctg.spinner():(DA=>DA in ctg)(gA)&&(QA=ctg[gA](nA))),QA})(g),b=!!G||!Q,q={closeToast:s,type:E,theme:N};let j=null;return B===!1||(j=wS(B)?B(q):z.isValidElement(B)?z.cloneElement(B,q):(function(W){let{closeToast:Z,theme:gA,ariaLabel:tA="close"}=W;return rC.createElement("button",{className:`Toastify__close-button Toastify__close-button--${gA}`,type:"button",onClick:IA=>{IA.stopPropagation(),Z(IA)},"aria-label":tA},rC.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},rC.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"})))})(q)),rC.createElement(r,{isIn:S,done:k,position:a,preventExitTransition:I,nodeRef:e,playToast:o},rC.createElement("div",{id:p,onClick:i,"data-in":S,className:K,...t,style:h,ref:e},rC.createElement("div",{...S&&{role:u},className:wS(l)?l({type:E}):NR("Toastify__toast-body",l),style:D},Y!=null&&rC.createElement("div",{className:NR("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!R})},Y),rC.createElement("div",null,C)),j,rC.createElement(voo,{...w&&!b?{key:`pb-${w}`}:{},rtl:m,theme:N,delay:Q,isRunning:A,isIn:S,closeToast:s,hide:n,type:E,style:y,className:d,controlledProgress:b,progress:G||0})))},WuA=function(g,A){return A===void 0&&(A=!1),{enter:`Toastify--animate Toastify__${g}-enter`,exit:`Toastify--animate Toastify__${g}-exit`,appendPosition:A}},Woo=TuA(WuA("bounce",!0));TuA(WuA("slide",!0)),TuA(WuA("zoom")),TuA(WuA("flip"));const Voo={position:"top-right",transition:Woo,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};function joo(g){let A={...Voo,...g};const I=g.stacked,[e,t]=z.useState(!0),o=z.useRef(null),{getToastToRender:B,isToastActive:C,count:Q}=boo(A),{className:i,style:E,rtl:n,containerId:s}=A;function r(c){const h=NR("Toastify__toast-container",`Toastify__toast-container--${c}`,{"Toastify__toast-container--rtl":n});return wS(i)?i({position:c,rtl:n,defaultClassName:h}):NR(h,vuA(i))}function a(){I&&(t(!0),Tc.play())}return Zoo(()=>{if(I){var c;const h=o.current.querySelectorAll('[data-in="true"]'),l=12,D=(c=A.position)==null?void 0:c.includes("top");let d=0,y=0;Array.from(h).reverse().forEach((w,u)=>{const G=w;G.classList.add("Toastify__toast--stacked"),u>0&&(G.dataset.collapsed=`${e}`),G.dataset.pos||(G.dataset.pos=D?"top":"bot");const m=d*(e?.2:1)+(e?0:l*u);G.style.setProperty("--y",`${D?m:-1*m}px`),G.style.setProperty("--g",`${l}`),G.style.setProperty("--s",""+(1-(e?y:0))),d+=G.offsetHeight,y+=.025})}},[e,Q,I]),rC.createElement("div",{ref:o,className:"Toastify",id:s,onMouseEnter:()=>{I&&(t(!1),Tc.pause())},onMouseLeave:a},B((c,h)=>{const l=h.length?{...E}:{...E,pointerEvents:"none"};return rC.createElement("div",{className:r(c),style:l,key:`container-${c}`},h.map(D=>{let{content:d,props:y}=D;return rC.createElement(Ooo,{...y,stacked:I,collapseAll:a,isIn:C(y.toastId,y.containerId),style:y.style,key:`toast-${y.key}`},d)}))}))}function zoo(){var g=':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)}}',A=document.createElement("style");A.innerText=g,document.head.appendChild(A)}function lt(g,A){return Array.isArray(A)?[g.a*A[0]+g.c*A[1]+g.e,g.b*A[0]+g.d*A[1]+g.f]:{x:g.a*A.x+g.c*A.y+g.e,y:g.b*A.x+g.d*A.y+g.f}}function Xoo(){return{a:1,c:0,e:0,b:0,d:1,f:0}}function zeA(g){return typeof g>"u"}function gF(g,A=0){return{a:1,c:0,e:g,b:0,d:1,f:A}}function VuA(...g){g=Array.isArray(g[0])?g[0]:g;const A=(I,e)=>({a:I.a*e.a+I.c*e.b,c:I.a*e.c+I.c*e.d,e:I.a*e.e+I.c*e.f+I.e,b:I.b*e.a+I.d*e.b,d:I.b*e.c+I.d*e.d,f:I.b*e.e+I.d*e.f+I.f});switch(g.length){case 0:throw new Error("no matrices provided");case 1:return g[0];case 2:return A(g[0],g[1]);default:{const[I,e,...t]=g,o=A(I,e);return VuA(o,...t)}}}function juA(...g){return VuA(...g)}const{cos:$oo,sin:ABo}=Math;function XeA(g,A,I){const e=$oo(g),t=ABo(g),o={a:e,c:-t,e:0,b:t,d:e,f:0};return zeA(A)||zeA(I)?o:VuA([gF(A,I),o,gF(-A,-I)])}function gBo(g,A=void 0,I=void 0,e=void 0){zeA(A)&&(A=g);const t={a:g,c:0,e:0,b:0,d:A,f:0};return zeA(I)||zeA(e)?t:VuA([gF(I,e),t,gF(-I,-e)])}function zuA(g){const{ctx:A,points:I,fill:e,stroke:t,strokeWidth:o=1,minStrokePx:B,realToCanvasMat:C,closePath:Q=!1}=g;if(I.length<2)return;A.beginPath();const i=I.map(r=>lt(C,[r.x,r.y])),E=i[0];if(!E)return;const[n,s]=E;A.moveTo(n,s);for(let r=1;r<i.length;r++){const a=i[r];if(!a)continue;const[c,h]=a;A.lineTo(c,h)}if(Q&&A.closePath(),e&&(A.fillStyle=e,A.fill()),t){const r=o*Math.abs(C.a),a=B===void 0?r:Math.max(r,B);A.strokeStyle=t,A.lineWidth=a,A.stroke()}}function T0(g){const{ctx:A,center:I,width:e,height:t,fill:o,realToCanvasMat:B,borderRadius:C=0,ccwRotationDegrees:Q=0,stroke:i,strokeWidth:E,isStrokeDashed:n=!1,lineJoin:s}=g,[r,a]=lt(B,[I.x,I.y]),c=e*Math.abs(B.a),h=t*Math.abs(B.a),l=C*Math.abs(B.a),D=E?E*Math.abs(B.a):void 0;if(A.save(),A.translate(r,a),Q!==0&&A.rotate(-Q*(Math.PI/180)),A.beginPath(),l>0){const d=-c/2,y=-h/2,w=Math.min(l,c/2,h/2);A.moveTo(d+w,y),A.lineTo(d+c-w,y),A.arcTo(d+c,y,d+c,y+w,w),A.lineTo(d+c,y+h-w),A.arcTo(d+c,y+h,d+c-w,y+h,w),A.lineTo(d+w,y+h),A.arcTo(d,y+h,d,y+h-w,w),A.lineTo(d,y+w),A.arcTo(d,y,d+w,y,w)}else A.rect(-c/2,-h/2,c,h);o&&(A.fillStyle=o,A.fill()),i&&D&&(n?A.setLineDash([D*3,D*2]):A.setLineDash([]),s&&(A.lineJoin=s),A.strokeStyle=i,A.lineWidth=D,A.stroke()),A.restore()}function IBo(g){const{ctx:A,board:I,realToCanvasMat:e,colorMap:t,drawBoardMaterial:o,minBoardOutlineStrokePx:B}=g,{width:C,height:Q,center:i,outline:E}=I;if(E&&Array.isArray(E)&&E.length>=3){o&&zuA({ctx:A,points:E.map(n=>({x:n.x,y:n.y})),fill:t.substrate,realToCanvasMat:e,closePath:!0}),zuA({ctx:A,points:E.map(n=>({x:n.x,y:n.y})),stroke:t.boardOutline,strokeWidth:.1,realToCanvasMat:e,closePath:!0,minStrokePx:B});return}if(C!==void 0&&Q!==void 0&&i){o&&T0({ctx:A,center:i,width:C,height:Q,fill:t.substrate,realToCanvasMat:e});const n=C/2,s=Q/2,r=[{x:i.x-n,y:i.y-s},{x:i.x+n,y:i.y-s},{x:i.x+n,y:i.y+s},{x:i.x-n,y:i.y+s}];zuA({ctx:A,points:r,stroke:t.boardOutline,strokeWidth:.1,realToCanvasMat:e,closePath:!0,minStrokePx:B})}}function eBo({startX:g,startY:A,endX:I,endY:e,bulge:t}){if(Math.abs(t)<1e-10)return null;const o=I-g,B=e-A,C=Math.hypot(o,B);if(C<1e-10)return null;const Q=Math.abs(t)*(C/2),i=C/2,E=(Q*Q+i*i)/(2*Q),n=E-Q,s=(g+I)/2,r=(A+e)/2,a=-B/C,c=o/C,h=t>0?-1:1;return{centerX:s+h*a*n,centerY:r+h*c*n,radius:E}}function htg({ctx:g,realStartX:A,realStartY:I,realEndX:e,realEndY:t,bulge:o,realToCanvasMat:B}){if(Math.abs(o)<1e-10){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const C=eBo({startX:A,startY:I,endX:e,endY:t,bulge:o});if(!C){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const[Q,i]=lt(B,[A,I]),[E,n]=lt(B,[e,t]),[s,r]=lt(B,[C.centerX,C.centerY]),a=Math.hypot(Q-s,i-r),c=Math.atan2(i-r,Q-s),h=Math.atan2(n-r,E-s),D=B.a*B.d-B.b*B.c<0,d=o>0?!D:D;g.arc(s,r,a,c,h,d)}function ifI({ctx:g,ring:A,realToCanvasMat:I}){if(A.vertices.length<2)return;if(A.vertices.length===2){const[B,C]=A.vertices;if(B&&C&&Math.abs((B.bulge??0)-1)<1e-10&&Math.abs((C.bulge??0)-1)<1e-10){const[Q,i]=lt(I,[B.x,B.y]);g.moveTo(Q,i),htg({ctx:g,realStartX:B.x,realStartY:B.y,realEndX:C.x,realEndY:C.y,bulge:1,realToCanvasMat:I}),htg({ctx:g,realStartX:C.x,realStartY:C.y,realEndX:B.x,realEndY:B.y,bulge:1,realToCanvasMat:I});return}}const e=A.vertices[0];if(!e)return;const[t,o]=lt(I,[e.x,e.y]);g.moveTo(t,o);for(let B=0;B<A.vertices.length;B++){const C=A.vertices[B],Q=A.vertices[(B+1)%A.vertices.length];!C||!Q||htg({ctx:g,realStartX:C.x,realStartY:C.y,realEndX:Q.x,realEndY:Q.y,bulge:C.bulge??0,realToCanvasMat:I})}}function EfI({ctx:g,shape:A,realToCanvasMat:I}){ifI({ctx:g,ring:A.outer_ring,realToCanvasMat:I});for(const e of A.inner_rings??[])ifI({ctx:g,ring:e,realToCanvasMat:I})}function tBo(g,A){return A.copper[g]??A.copper.top}function ltg(g){const{ctx:A,pour:I,realToCanvasMat:e}=g;if(I.shape==="rect"){const t=I.width/2,o=I.height/2,B=(I.rotation??0)*Math.PI/180,C=Math.cos(B),Q=Math.sin(B),i=[{x:-t,y:-o},{x:t,y:-o},{x:t,y:o},{x:-t,y:o}].map(n=>lt(e,[I.center.x+n.x*C-n.y*Q,I.center.y+n.x*Q+n.y*C])),E=i[0];if(!E)return;A.moveTo(E[0],E[1]);for(let n=1;n<i.length;n++){const s=i[n];s&&A.lineTo(s[0],s[1])}A.closePath();return}if(I.shape==="polygon"){const t=I.points[0];if(!t)return;const[o,B]=lt(e,[t.x,t.y]);A.moveTo(o,B);for(let C=1;C<I.points.length;C++){const Q=I.points[C];if(!Q)continue;const[i,E]=lt(e,[Q.x,Q.y]);A.lineTo(i,E)}A.closePath();return}I.shape==="brep"&&EfI({ctx:A,shape:I.brep_shape,realToCanvasMat:e})}function nfI(g){const{ctx:A,pour:I,realToCanvasMat:e,colorMap:t}=g,o=tBo(I.layer,t),B=.5;A.save(),A.globalAlpha=B,A.beginPath(),ltg({ctx:A,pour:I,realToCanvasMat:e}),A.fillStyle=o,A.fill(I.shape==="brep"?"evenodd":"nonzero"),A.restore()}function oBo(g,A){if(A.length<3)return;const I=A[0];if(I){g.moveTo(I.x,I.y);for(let e=1;e<A.length;e++){const t=A[e];t&&g.lineTo(t.x,t.y)}g.closePath()}}var BBo=g=>_8A[g]??(g===" "?Lw.spaceWidthRatio:Lw.glyphWidthRatio);function Dtg(g,A,I){const e=BBo(g),t=A?Lw.letterSpacingRatio:0,o=A?o9g[g]?.[A]??0:0;return I*(e+t+o)}function CBo(g,A){const I=A*Lw.glyphWidthRatio,e=A*Lw.letterSpacingRatio,t=A*Lw.spaceWidthRatio,o=A*Lw.strokeWidthRatio,B=A*Lw.lineHeightRatio,C=g.replace(/\\n/g,`
5403
5403
  `).split(`
5404
- `),Q=C.map(n=>{const s=Array.from(n);return s.reduce((r,a,c)=>r+Dtg(a,s[c+1],A),0)}),i=Q.reduce((n,s)=>Math.max(n,s),0),E=C.length>1?A+(C.length-1)*B:A;return{width:i,height:E,glyphWidth:I,letterSpacing:e,spaceWidth:t,strokeWidth:o,lineHeight:B,lines:C,lineWidths:Q}}function QBo(g){const{line:A,fontSize:I,startX:e,startY:t}=g,o=I,B=I,C=Array.from(A),Q=[];let i=e+g.layout.strokeWidth/2;return C.forEach((E,n)=>{const s=NwI[E];if(s?.length){const r=[];for(const a of s){const c=a.map(h=>({x:i+h.x*B,y:t+(1-h.y)*o}));c.length>=3&&r.push(c)}r.length>0&&Q.push(r)}i+=Dtg(E,C[n+1],I)}),Q}function iBo(g){let A=Number.POSITIVE_INFINITY,I=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY,t=Number.NEGATIVE_INFINITY;for(const o of g)for(const B of o)A=Math.min(A,B.x),I=Math.min(I,B.y),e=Math.max(e,B.x),t=Math.max(t,B.y);return A===Number.POSITIVE_INFINITY||I===Number.POSITIVE_INFINITY||e===Number.NEGATIVE_INFINITY||t===Number.NEGATIVE_INFINITY?null:{minX:A,minY:I,maxX:e,maxY:t}}function EBo(g,A,I){const e=sBo(g,A),t=aBo(e,A,I),o=iBo(t.flat()),B=rBo(g,A,o);return{bounds:o?DBo(o,B):null,glyphGroups:lBo(t,B),linePlacements:e.map(({line:C,startX:Q,startY:i})=>({line:C,startX:Q+B.x,startY:i+B.y})),startOffset:B}}function nBo(g,A){const I=A.width+A.strokeWidth,e=A.height+A.strokeWidth;let t=0,o=0;return g==="center"||g==="top_center"||g==="bottom_center"?t=-I/2:g==="top_left"||g==="bottom_left"||g==="center_left"?t=0:g==="top_right"||g==="bottom_right"||g==="center_right"?t=-I:(g==="top_center"||g==="bottom_center")&&(t=-I/2),g==="center"||g==="center_left"||g==="center_right"?o=-e/2:g==="top_left"||g==="top_right"||g==="top_center"?o=0:(g==="bottom_left"||g==="bottom_right"||g==="bottom_center")&&(o=-e),{x:t,y:o}}function sBo(g,A){return A.lines.map((I,e)=>({line:I,startX:dBo({alignment:g,lineWidth:A.lineWidths[e],maxWidth:A.width,strokeWidth:A.strokeWidth}),startY:e*A.lineHeight}))}function aBo(g,A,I){return g.flatMap(({line:e,startX:t,startY:o})=>QBo({line:e,fontSize:I,startX:t,startY:o,layout:A}))}function rBo(g,A,I){return I?{x:-cBo(g,I),y:-hBo(g,I)}:nBo(g,A)}function cBo(g,A){return g==="top_left"||g==="bottom_left"||g==="center_left"?A.minX:g==="top_right"||g==="bottom_right"||g==="center_right"?A.maxX:(A.minX+A.maxX)/2}function hBo(g,A){return g==="top_left"||g==="top_right"||g==="top_center"?A.minY:g==="bottom_left"||g==="bottom_right"||g==="bottom_center"?A.maxY:(A.minY+A.maxY)/2}function lBo(g,A){return A.x===0&&A.y===0?g:g.map(I=>I.map(e=>e.map(t=>({x:t.x+A.x,y:t.y+A.y}))))}function DBo(g,A){return{minX:g.minX+A.x,minY:g.minY+A.y,maxX:g.maxX+A.x,maxY:g.maxY+A.y}}function dBo(g){const{alignment:A,lineWidth:I,maxWidth:e,strokeWidth:t}=g,o=I+t,B=e+t;return A==="top_left"||A==="bottom_left"||A==="center_left"?0:A==="top_right"||A==="bottom_right"||A==="center_right"?B-o:(B-o)/2}var yBo=g=>t9g[g];function wBo(g){const{ctx:A,line:I,fontSize:e,startX:t,startY:o,layout:B}=g,{strokeWidth:C}=B,Q=e,i=e,E=o,n=Array.from(I);let s=t+C/2;n.forEach((r,a)=>{const c=yBo(r);if(c?.length){A.beginPath();for(const h of c){const l=s+h.x1*i,D=E+(1-h.y1)*Q,d=s+h.x2*i,y=E+(1-h.y2)*Q;A.moveTo(l,D),A.lineTo(d,y)}A.stroke()}s+=Dtg(r,n[a+1],e)})}var uBo={left:.2,right:.2,top:.2,bottom:.2};function bZ(g){const{ctx:A,text:I,x:e,y:t,fontSize:o,color:B,realToCanvasMat:C,anchorAlignment:Q,rotation:i=0,mirrorX:E=!1,knockout:n=!1,knockoutPadding:s={}}=g;if(!I)return;const[r,a]=lt(C,[e,t]),c=Math.abs(C.a),h=o*c,l=CBo(I,h),D=EBo(Q,l,h);if(A.save(),A.translate(r,a),i!==0&&A.rotate(-i*(Math.PI/180)),E&&A.scale(-1,1),n){const d={...uBo,...s},y=d.left*c,w=d.right*c,u=d.top*c,G=d.bottom*c,m=D.bounds;if(!m){A.restore();return}const p=m.minX-y,k=m.minY-u,S=m.maxX-m.minX+y+w,R=m.maxY-m.minY+u+G;A.fillStyle=B,A.beginPath(),A.rect(p,k,S,R);for(const x of D.glyphGroups)for(const N of x)oBo(A,N);A.fill("evenodd")}else A.strokeStyle=B;A.lineWidth=l.strokeWidth,A.lineCap="round",A.lineJoin="round",n||D.linePlacements.forEach(({line:d,startX:y,startY:w})=>{wBo({ctx:A,line:d,fontSize:h,startX:y,startY:w,layout:l})}),A.restore()}function GBo(g){return g||"center"}function mBo(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=I.text??"";o&&bZ({ctx:A,text:o,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:I.font_size??1,color:t.copper[I.layer]??t.copper.top,realToCanvasMat:e,anchorAlignment:GBo(I.anchor_alignment),rotation:I.ccw_rotation??0,mirrorX:I.is_mirrored??I.layer==="bottom",knockout:I.is_knockout,knockoutPadding:I.is_knockout?I.knockout_padding:void 0})}function Yl(g){const{ctx:A,center:I,radius:e,fill:t,realToCanvasMat:o,stroke:B,strokeWidth:C,isStrokeDashed:Q=!1}=g,[i,E]=lt(o,[I.x,I.y]),n=e*Math.abs(o.a),s=C?C*Math.abs(o.a):void 0;A.beginPath(),A.arc(i,E,n,0,Math.PI*2),t&&(A.fillStyle=t,A.fill()),B&&s&&(Q?A.setLineDash([s*3,s*2]):A.setLineDash([]),A.strokeStyle=B,A.lineWidth=s,A.stroke())}function pBo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function kBo(g){const{ctx:A,circle:I,realToCanvasMat:e,colorMap:t}=g;Yl({ctx:A,center:I.center,radius:I.radius,stroke:pBo(I.layer,t),strokeWidth:.05,realToCanvasMat:e})}function MBo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function SBo(g){const{ctx:A,outline:I,realToCanvasMat:e,colorMap:t}=g;if(!I.outline||I.outline.length<2)return;A.beginPath();const o=lt(e,I.outline[0]);A.moveTo(o.x,o.y);for(let B=1;B<I.outline.length;B++){const C=lt(e,I.outline[B]);A.lineTo(C.x,C.y)}A.closePath(),A.lineWidth=.05*Math.abs(e.a),A.strokeStyle=MBo(I.layer,t),A.lineJoin="round",A.stroke()}function fBo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function RBo(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g;T0({ctx:A,center:I.center,width:I.width,height:I.height,stroke:fBo(I.layer,t),strokeWidth:.05,realToCanvasMat:e,ccwRotationDegrees:I.ccw_rotation??0,lineJoin:"round"})}function HZ(g){const{ctx:A,points:I,cx:e=0,cy:t=0,ccwRotationDegrees:o=0}=g,B=I[0];if(I.length<3||!B)return;const C=juA(gF(e,t),XeA(-o*Math.PI/180),gF(-e,-t)),Q=lt(C,B);A.moveTo(Q.x,Q.y);for(let i=1;i<I.length;i++){const E=I[i];if(!E)continue;const n=lt(C,E);A.lineTo(n.x,n.y)}A.closePath()}function IF(g){const{ctx:A,points:I,fill:e,realToCanvasMat:t,center:o={x:0,y:0},rotation:B=0}=g;if(I.length<3)return;const[C,Q]=lt(t,[o.x,o.y]),i=I.map(E=>{const[n,s]=lt(t,[E.x,E.y]);return{x:n-C,y:s-Q}});i[0]&&(A.save(),A.translate(C,Q),B!==0&&A.rotate(-B*(Math.PI/180)),A.beginPath(),HZ({ctx:A,points:i}),A.fillStyle=e,A.fill(),A.restore())}function NBo(g){const{ctx:A,cutout:I,realToCanvasMat:e,colorMap:t}=g;if(I.shape==="rect"){T0({ctx:A,center:I.center,width:I.width,height:I.height,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:I.rotation??0,borderRadius:I.corner_radius??0});return}if(I.shape==="circle"){Yl({ctx:A,center:I.center,radius:I.radius,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="polygon"){I.points&&I.points.length>=3&&IF({ctx:A,points:I.points,fill:t.drill,realToCanvasMat:e});return}}var sfI="#ff4d4d",xBo={a:1,b:0,c:0,d:1,e:0,f:0};function FBo(g){const A=Math.min(g.canvas.width,g.canvas.height),I=Math.max(1,Math.min(2,A*.002)),e=Math.max(10,Math.min(18,A*.02));return{fontSize:e,strokeWidth:I,dashLength:I*4,labelGap:e*.35,pointRadius:I*3}}function dtg({ctx:g,label:A,x:I,y:e,style:t,align:o="left"}){A&&(g.setLineDash([]),bZ({ctx:g,text:A,x:I,y:e,fontSize:t.fontSize,color:sfI,realToCanvasMat:xBo,anchorAlignment:o==="center"?"bottom_center":"bottom_left"}))}function UBo({ctx:g,debugObject:A,realToCanvasMat:I,labelStackIndex:e=0}){const t=FBo(g);if(g.save(),g.strokeStyle=sfI,g.lineWidth=t.strokeWidth,g.setLineDash([t.dashLength,t.dashLength]),A.shape==="rect"){const C=lt(I,[A.center.x-A.size.width/2,A.center.y-A.size.height/2]),Q=lt(I,[A.center.x+A.size.width/2,A.center.y+A.size.height/2]),i=Math.min(C[0],Q[0]),E=Math.min(C[1],Q[1]),n=Math.abs(Q[0]-C[0]),s=Math.abs(Q[1]-C[1]);g.beginPath(),g.rect(i,E,n,s),g.stroke(),dtg({ctx:g,label:A.label,x:i,y:E-t.labelGap-e*(t.fontSize+t.labelGap),style:t}),g.restore();return}if(A.shape==="line"){const[C,Q]=lt(I,[A.start.x,A.start.y]),[i,E]=lt(I,[A.end.x,A.end.y]);g.beginPath(),g.moveTo(C,Q),g.lineTo(i,E),g.stroke(),dtg({ctx:g,label:A.label,x:(C+i)/2,y:(Q+E)/2-t.labelGap,style:t,align:"center"}),g.restore();return}const[o,B]=lt(I,[A.center.x,A.center.y]);g.beginPath(),g.arc(o,B,t.pointRadius,0,Math.PI*2),g.stroke(),dtg({ctx:g,label:A.label,x:o+t.pointRadius+t.labelGap,y:B-t.pointRadius,style:t}),g.restore()}var JBo=1.5,PBo=.6,KBo=.3;function ytg(g){const A=Math.hypot(g.x,g.y)||1;return{x:g.x/A,y:g.y/A}}function afI(g){const{ctx:A,from:I,to:e,realToCanvasMat:t,color:o,fontSize:B,arrowSize:C=1,strokeWidth:Q,text:i,textRotation:E,offset:n}=g,s=ytg({x:e.x-I.x,y:e.y-I.y}),r={x:-s.y,y:s.x},a=n?.direction&&typeof n.direction.x=="number"&&typeof n.direction.y=="number",c=a?ytg(n.direction):{x:0,y:0},h=n?.distance??0,l={x:c.x*h,y:c.y*h},D={x:I.x+l.x,y:I.y+l.y},d={x:e.x+l.x,y:e.y+l.y},y={x:D.x+s.x*C,y:D.y+s.y*C},w={x:d.x-s.x*C,y:d.y-s.y*C};Math.abs(t.a);const u=Q??C/5,G=o||"rgba(255,255,255,0.5)",m=a&&(Math.abs(c.x)>Number.EPSILON||Math.abs(c.y)>Number.EPSILON)?c:r,p=h+.5,k=[],S=N=>{const U={x:N.x+m.x*p,y:N.y+m.y*p},K=u/2,Y={x:-m.y,y:m.x};return[{x:N.x+Y.x*K,y:N.y+Y.y*K},{x:N.x-Y.x*K,y:N.y-Y.y*K},{x:U.x-Y.x*K,y:U.y-Y.y*K},{x:U.x+Y.x*K,y:U.y+Y.y*K}]};k.push(D),k.push({x:y.x+r.x*(C/2),y:y.y+r.y*(C/2)}),k.push({x:y.x+r.x*(u/2),y:y.y+r.y*(u/2)}),k.push({x:w.x+r.x*(u/2),y:w.y+r.y*(u/2)}),k.push({x:w.x+r.x*(C/2),y:w.y+r.y*(C/2)}),k.push(d),k.push({x:w.x-r.x*(C/2),y:w.y-r.y*(C/2)}),k.push({x:w.x-r.x*(u/2),y:w.y-r.y*(u/2)}),k.push({x:y.x-r.x*(u/2),y:y.y-r.y*(u/2)}),k.push({x:y.x-r.x*(C/2),y:y.y-r.y*(C/2)}),k.push(D);const R=k[0],x=N=>{const U=S(N);k.push(R),k.push(U[0]),k.push(...U),k.push(U[0]),k.push(R)};if(x(I),x(e),IF({ctx:A,points:k,fill:G,realToCanvasMat:t}),i){const N={x:(I.x+e.x)/2+l.x,y:(I.y+e.y)/2+l.y},[U,K]=lt(t,[D.x,D.y]),[Y,b]=lt(t,[d.x,d.y]),q=ytg({x:Y-U,y:b-K});let j=Math.atan2(q.y,q.x)*180/Math.PI;(j>90||j<-90)&&(j+=180);const W=typeof E=="number"&&Number.isFinite(E)?j-E:j;let Z=0;if(i&&typeof E=="number"&&Number.isFinite(E)){const IA=i.length*B*PBo,QA=B,nA=E*Math.PI/180,DA=Math.abs(Math.sin(nA)),CA=Math.abs(Math.cos(nA)),hA=IA/2,sA=QA/2;Z=hA*DA+sA*CA+B*KBo}const gA=C*JBo+Z,tA={x:N.x+r.x*gA,y:N.y+r.y*gA};bZ({ctx:A,text:i,x:tA.x,y:tA.y,fontSize:B,color:G,realToCanvasMat:t,anchorAlignment:"center",rotation:-W})}}function LBo(g){const{ctx:A,pcbFabricationNoteDimension:I,realToCanvasMat:e,colorMap:t}=g,o=I.color??t.fabricationNote;afI({ctx:A,from:I.from,to:I.to,realToCanvasMat:e,color:o,fontSize:I.font_size??1,arrowSize:I.arrow_size??1,text:I.text,textRotation:I.text_ccw_rotation,offset:I.offset_distance&&I.offset_direction?{distance:I.offset_distance,direction:I.offset_direction}:void 0})}function YBo(g){const{ctx:A,path:I,realToCanvasMat:e,colorMap:t}=g;if(!I.route||I.route.length<2)return;const o=I.route.map(C=>lt(e,C)),B=I.stroke_width*Math.abs(e.a)/2;if(A.beginPath(),I.is_filled){const Q=o.reduce((i,E,n)=>{const s=o[(n+1)%o.length];return i+E.x*s.y-s.x*E.y},0)<0?[...o].reverse():o;A.moveTo(Q[0].x,Q[0].y);for(const i of Q.slice(1))A.lineTo(i.x,i.y);A.closePath()}if(I.has_stroke!==!1&&B>0){const C=I.is_filled?[...o,o[0]]:o;for(let Q=1;Q<C.length;Q++){const i=C[Q-1],E=C[Q],n=Math.atan2(E.y-i.y,E.x-i.x);A.moveTo(i.x+B*Math.cos(n+Math.PI/2),i.y+B*Math.sin(n+Math.PI/2)),A.arc(i.x,i.y,B,n+Math.PI/2,n+3*Math.PI/2),A.lineTo(E.x+B*Math.cos(n-Math.PI/2),E.y+B*Math.sin(n-Math.PI/2)),A.arc(E.x,E.y,B,n-Math.PI/2,n+Math.PI/2),A.closePath()}}A.fillStyle=I.color??t.fabricationNote,A.fill()}function _Bo(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g,o=t.fabricationNote,B=I.color??o,C=I.is_filled??!1,Q=I.has_stroke??!0,i=I.is_stroke_dashed??!1;T0({ctx:A,center:I.center,width:I.width,height:I.height,fill:C?B:void 0,stroke:Q?B:void 0,strokeWidth:Q?I.stroke_width:void 0,borderRadius:I.corner_radius,realToCanvasMat:e,isStrokeDashed:i})}function bBo(g,A){return A.fabricationNote}function HBo(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=bBo(I.layer,t),B=I.color??o,C=I.font_size;bZ({ctx:A,text:I.text,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:C,color:B,realToCanvasMat:e,anchorAlignment:I.anchor_alignment})}function tN(g){const{ctx:A,center:I,radius_x:e,radius_y:t,fill:o,stroke:B,strokeWidth:C=.1,realToCanvasMat:Q,rotation:i=0}=g,[E,n]=lt(Q,[I.x,I.y]),s=e*Math.abs(Q.a),r=t*Math.abs(Q.a),a=C*Math.abs(Q.a);A.save(),A.translate(E,n),i!==0&&A.rotate(-i*(Math.PI/180)),A.beginPath(),A.ellipse(0,0,s,r,0,0,Math.PI*2),o&&(A.fillStyle=o,A.fill()),B&&(A.strokeStyle=B,A.lineWidth=a,A.stroke()),A.restore()}function by(g){const{ctx:A,center:I,width:e,height:t,fill:o,realToCanvasMat:B,rotation:C=0,stroke:Q,strokeWidth:i}=g,[E,n]=lt(B,[I.x,I.y]),s=e*Math.abs(B.a),r=t*Math.abs(B.a),a=i?i*Math.abs(B.a):void 0;if(A.save(),A.translate(E,n),C!==0&&A.rotate(-C*(Math.PI/180)),A.beginPath(),s>r){const c=r/2,h=s-r;A.moveTo(-h/2,-c),A.lineTo(h/2,-c),A.arc(h/2,0,c,-Math.PI/2,Math.PI/2),A.lineTo(-h/2,c),A.arc(-h/2,0,c,Math.PI/2,-Math.PI/2)}else if(r>s){const c=s/2,h=r-s;A.moveTo(c,-h/2),A.lineTo(c,h/2),A.arc(0,h/2,c,0,Math.PI),A.lineTo(-c,-h/2),A.arc(0,-h/2,c,Math.PI,0)}else A.arc(0,0,s/2,0,Math.PI*2);A.closePath(),o&&(A.fillStyle=o,A.fill()),Q&&a&&(A.strokeStyle=Q,A.lineWidth=a,A.stroke()),A.restore()}function XuA(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function rfI(g){const{ctx:A,hole:I,realToCanvasMat:e,colorMap:t,soldermaskMargin:o=0,drawSoldermask:B=!1}=g,C=B&&I.is_covered_with_solder_mask===!0&&o<0?Math.abs(o):0;if(!(("hole_diameter"in I?I.hole_diameter:Math.min(I.hole_width,I.hole_height))<=C*2)){if(I.hole_shape==="circle"){Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2-C,fill:t.drill,realToCanvasMat:e});return}if(I.hole_shape==="square"){const i=XuA(I);T0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_diameter-C*2,height:I.hole_diameter-C*2,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:i});return}if(I.hole_shape==="oval"){const i=XuA(I);tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2-C,radius_y:I.hole_height/2-C,fill:t.drill,realToCanvasMat:e,rotation:i});return}if(I.hole_shape==="rect"){const i=XuA(I);T0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width-C*2,height:I.hole_height-C*2,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:i});return}if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const i=XuA(I);by({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width-C*2,height:I.hole_height-C*2,fill:t.drill,realToCanvasMat:e,rotation:i});return}}}function vBo(g){const{ctx:A,cx:I,cy:e,radius:t}=g;A.beginPath(),A.arc(I,e,t,0,Math.PI*2)}function TBo(g){const{ctx:A,cx:I,cy:e,width:t,height:o}=g;A.beginPath(),A.rect(I-t/2,e-o/2,t,o)}function CL(g){const{ctx:A,cx:I,cy:e,width:t,height:o,ccwRotationDegrees:B=0}=g,C=B*Math.PI/180,Q=juA(gF(I,e),XeA(-C));if(t>o){const i=o/2,E=(t-o)/2,n=lt(Q,{x:-E,y:0}),s=lt(Q,{x:E,y:0}),r=lt(Q,{x:E,y:-i});A.moveTo(r.x,r.y),A.arc(s.x,s.y,i,-C-Math.PI/2,-C+Math.PI/2),A.arc(n.x,n.y,i,-C+Math.PI/2,-C-Math.PI/2)}else if(o>t){const i=t/2,E=(o-t)/2,n=lt(Q,{x:0,y:-E}),s=lt(Q,{x:0,y:E}),r=lt(Q,{x:i,y:E});A.moveTo(r.x,r.y),A.arc(s.x,s.y,i,-C,-C+Math.PI),A.arc(n.x,n.y,i,-C+Math.PI,-C)}else{const i=t/2;A.moveTo(I+i,e),A.arc(I,e,i,0,Math.PI*2)}A.closePath()}function oN(g){const{ctx:A,cx:I,cy:e,width:t,height:o,radius:B,ccwRotationDegrees:C=0}=g,Q=C*Math.PI/180,i=juA(gF(I,e),XeA(-Q)),E=t/2,n=o/2,s=Math.min(B,E,n);if(s>0){const r=lt(i,{x:-E,y:-n}),a=lt(i,{x:E,y:-n}),c=lt(i,{x:E,y:n}),h=lt(i,{x:-E,y:n}),l=lt(i,{x:-E,y:0});A.moveTo(l.x,l.y),A.arcTo(r.x,r.y,a.x,a.y,s),A.arcTo(a.x,a.y,c.x,c.y,s),A.arcTo(c.x,c.y,h.x,h.y,s),A.arcTo(h.x,h.y,r.x,r.y,s)}else{const r=lt(i,{x:-E,y:-n}),a=lt(i,{x:E,y:-n}),c=lt(i,{x:E,y:n}),h=lt(i,{x:-E,y:n});A.moveTo(r.x,r.y),A.lineTo(a.x,a.y),A.lineTo(c.x,c.y),A.lineTo(h.x,h.y)}A.closePath()}function qBo(g){const{ctx:A,pad:I,realToCanvasMat:e,color:t,drillCutouts:o}=g;if(A.save(),A.beginPath(),!cfI(A,I,e)){A.restore();return}A.clip(),A.beginPath(),cfI(A,I,e);for(const B of o)OBo(A,B,e);A.fillStyle=t,A.fill("evenodd"),A.restore()}function ZBo(g){const{pad:A,holes:I=[],platedHoles:e=[],vias:t=[],cutouts:o=[]}=g,B=VBo(A);if(!B)return[];const C=[],Q=i=>{i&&XBo(B,jBo(i))&&C.push(i)};for(const i of o)Q(zBo(i));for(const i of I)Q($Bo(i));for(const i of e)ufI(i.layers,A.layer)&&Q(wfI(i));for(const i of t){if(!ufI(i.layers,A.layer))continue;const E=i.hole_diameter/2;if(E<=0)continue;const n={shape:"circle",x:i.x,y:i.y,radius:E};Q(n)}return C}function cfI(g,A,I){return A.shape==="rect"||A.shape==="rotated_rect"?(lfI(g,{x:A.x,y:A.y,width:A.width,height:A.height,radius:ACo(A),rotation:A.shape==="rotated_rect"?A.ccw_rotation??0:0,realToCanvasMat:I}),!0):A.shape==="circle"?(hfI(g,{x:A.x,y:A.y,radius:A.radius,realToCanvasMat:I}),!0):A.shape==="pill"||A.shape==="rotated_pill"?(DfI(g,{x:A.x,y:A.y,width:A.width,height:A.height,rotation:A.shape==="rotated_pill"?A.ccw_rotation??0:0,realToCanvasMat:I}),!0):A.shape==="polygon"&&A.points&&A.points.length>=3?(dfI(g,A.points,I),!0):!1}function OBo(g,A,I){if(A.shape==="circle"){hfI(g,{x:A.x,y:A.y,radius:A.radius,realToCanvasMat:I});return}if(A.shape==="oval"){WBo(g,{x:A.x,y:A.y,radiusX:A.radiusX,radiusY:A.radiusY,rotation:A.rotation,realToCanvasMat:I});return}if(A.shape==="pill"){DfI(g,{x:A.x,y:A.y,width:A.width,height:A.height,rotation:A.rotation,realToCanvasMat:I});return}if(A.shape==="polygon"){dfI(g,A.points,I);return}lfI(g,{x:A.x,y:A.y,width:A.width,height:A.height,radius:A.radius,rotation:A.rotation,realToCanvasMat:I})}function hfI(g,A){const{x:I,y:e,radius:t,realToCanvasMat:o}=A,[B,C]=lt(o,[I,e]),Q=t*Math.abs(o.a);g.moveTo(B+Q,C),g.arc(B,C,Q,0,Math.PI*2),g.closePath()}function WBo(g,A){const{x:I,y:e,radiusX:t,radiusY:o,rotation:B=0,realToCanvasMat:C}=A,[Q,i]=lt(C,[I,e]),E=t*Math.abs(C.a),n=o*Math.abs(C.a),s=-B*Math.PI/180;g.moveTo(Q+E*Math.cos(s),i+E*Math.sin(s)),g.ellipse(Q,i,E,n,s,0,Math.PI*2),g.closePath()}function lfI(g,A){const{x:I,y:e,width:t,height:o,radius:B=0,rotation:C=0,realToCanvasMat:Q}=A,[i,E]=lt(Q,[I,e]),n=t*Math.abs(Q.a),s=o*Math.abs(Q.a),r=B*Math.abs(Q.a);if(g.save(),g.translate(i,E),C!==0&&g.rotate(-C*(Math.PI/180)),r>0){const a=-n/2,c=-s/2,h=Math.min(r,n/2,s/2);g.moveTo(a+h,c),g.lineTo(a+n-h,c),g.arcTo(a+n,c,a+n,c+h,h),g.lineTo(a+n,c+s-h),g.arcTo(a+n,c+s,a+n-h,c+s,h),g.lineTo(a+h,c+s),g.arcTo(a,c+s,a,c+s-h,h),g.lineTo(a,c+h),g.arcTo(a,c,a+h,c,h),g.closePath()}else g.rect(-n/2,-s/2,n,s);g.restore()}function DfI(g,A){const{x:I,y:e,width:t,height:o,rotation:B=0,realToCanvasMat:C}=A,[Q,i]=lt(C,[I,e]),E=t*Math.abs(C.a),n=o*Math.abs(C.a);CL({ctx:g,cx:Q,cy:i,width:E,height:n,ccwRotationDegrees:B})}function dfI(g,A,I){const e=A[0];if(!e)return;const[t,o]=lt(I,[e.x,e.y]);g.moveTo(t,o);for(let B=1;B<A.length;B++){const C=A[B];if(!C)continue;const[Q,i]=lt(I,[C.x,C.y]);g.lineTo(Q,i)}g.closePath()}function VBo(g){if(g.shape==="circle")return QL(g.x,g.y,g.radius,g.radius);if(g.shape==="rect"||g.shape==="rotated_rect"||g.shape==="pill"||g.shape==="rotated_pill"){const A=Math.hypot(g.width/2,g.height/2);return(g.shape==="rotated_rect"||g.shape==="rotated_pill")&&(g.ccw_rotation??0)!==0?QL(g.x,g.y,A,A):QL(g.x,g.y,g.width/2,g.height/2)}if(g.shape==="polygon"&&g.points&&g.points.length>=3)return yfI(g.points)}function jBo(g){if(g.shape==="polygon")return yfI(g.points);if(g.shape==="circle")return QL(g.x,g.y,g.radius,g.radius);if(g.shape==="oval"){if((g.rotation??0)!==0){const e=Math.hypot(g.radiusX,g.radiusY);return QL(g.x,g.y,e,e)}return QL(g.x,g.y,g.radiusX,g.radiusY)}const A=g.width/2,I=g.height/2;if((g.rotation??0)!==0){const e=Math.hypot(A,I);return QL(g.x,g.y,e,e)}return QL(g.x,g.y,A,I)}function zBo(g){if(g.shape==="circle")return g.radius<=0?void 0:{shape:"circle",x:g.center.x,y:g.center.y,radius:g.radius};if(g.shape==="rect")return g.width<=0||g.height<=0?void 0:{shape:"rect",x:g.center.x,y:g.center.y,width:g.width,height:g.height,radius:g.corner_radius,rotation:g.rotation};if(g.shape==="polygon"&&g.points.length>=3)return{shape:"polygon",points:g.points}}function yfI(g){let A=1/0,I=-1/0,e=1/0,t=-1/0;for(const o of g)A=Math.min(A,o.x),I=Math.max(I,o.x),e=Math.min(e,o.y),t=Math.max(t,o.y);return{minX:A,maxX:I,minY:e,maxY:t}}function QL(g,A,I,e){return{minX:g-I,maxX:g+I,minY:A-e,maxY:A+e}}function XBo(g,A){return g.minX<=A.maxX&&g.maxX>=A.minX&&g.minY<=A.maxY&&g.maxY>=A.minY}function $Bo(g){if(g.hole_shape==="circle"){const A=g.hole_diameter/2;return A<=0?void 0:{shape:"circle",x:g.x,y:g.y,radius:A}}if(g.hole_shape==="square")return g.hole_diameter<=0?void 0:{shape:"rect",x:g.x,y:g.y,width:g.hole_diameter,height:g.hole_diameter,rotation:$uA(g)};if(g.hole_shape==="oval")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"oval",x:g.x,y:g.y,radiusX:g.hole_width/2,radiusY:g.hole_height/2,rotation:$uA(g)};if(g.hole_shape==="rect")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"rect",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:$uA(g)};if(g.hole_shape==="pill"||g.hole_shape==="rotated_pill")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:$uA(g)}}function wfI(g){if(g.shape==="circle"){const o=g.hole_diameter/2;return o<=0?void 0:{shape:"circle",x:g.x,y:g.y,radius:o}}if(g.shape==="oval"){const o=g.hole_width/2,B=g.hole_height/2;return o<=0||B<=0?void 0:{shape:"oval",x:g.x,y:g.y,radiusX:o,radiusY:B,rotation:g.ccw_rotation}}if(g.shape==="pill")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:g.ccw_rotation};if(g.shape==="circular_hole_with_rect_pad"){const o=g.hole_diameter/2;return o<=0?void 0:{shape:"circle",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),radius:o}}if(g.shape==="pill_hole_with_rect_pad")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),width:g.hole_width,height:g.hole_height};if(g.shape==="rotated_pill_hole_with_rect_pad")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),width:g.hole_width,height:g.hole_height,rotation:g.hole_ccw_rotation};if(g.shape!=="hole_with_polygon_pad")return;const A=lt(XeA((g.ccw_rotation??0)*Math.PI/180),{x:g.hole_offset_x??0,y:g.hole_offset_y??0}),I=g.x+A.x,e=g.y+A.y,t=g.hole_shape;if(t==="circle"){const o=(g.hole_diameter??0)/2;return o<=0?void 0:{shape:"circle",x:I,y:e,radius:o}}if(t==="oval"){const o=(g.hole_width??0)/2,B=(g.hole_height??0)/2;return o<=0||B<=0?void 0:{shape:"oval",x:I,y:e,radiusX:o,radiusY:B,rotation:g.ccw_rotation}}if(t==="pill"||t==="rotated_pill"){const o=g.hole_width??0,B=g.hole_height??0;return o<=0||B<=0?void 0:{shape:"pill",x:I,y:e,width:o,height:B,rotation:g.ccw_rotation}}}function $uA(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function ACo(g){return g.shape==="rect"||g.shape==="rotated_rect"?g.corner_radius??g.rect_border_radius??0:0}function ufI(g,A){if(!g||g.length===0)return!0;const I=GfI(A);return g.some(e=>GfI(e)===I)}function GfI(g){if(typeof g=="string")return g;if(g&&typeof g=="object"&&"name"in g&&typeof g.name=="string")return g.name}function gCo(g,A){const I=parseInt(g.slice(1,3),16),e=parseInt(g.slice(3,5),16),t=parseInt(g.slice(5,7),16);return`rgba(${I}, ${e}, ${t}, ${A})`}function ICo(g,A){return g.layers.includes("bottom")&&!g.layers.includes("top")?A.keepout.bottom:A.keepout.top}function mfI(g){const{ctx:A,strokeColor:I,hatchWidth:e,hatchSpacing:t,diagonal:o,getLineEndpoints:B}=g;A.strokeStyle=I,A.lineWidth=e,A.setLineDash([]);for(let C=-o;C<o*2;C+=t){const{startX:Q,startY:i,endX:E,endY:n}=B(C);A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.stroke()}}function pfI(g){const{ctx:A,fillColor:I,drawPath:e,drawHatch:t}=g;e(),A.fillStyle=I,A.fill(),e(),A.clip(),t()}function eCo(g){const{ctx:A,keepout:I,realToCanvasMat:e,colorMap:t}=g,o=Math.abs(e.a),B=ICo(I,t),C=gCo(B,.2),Q=1*o,i=.15*o;if(I.shape==="rect"){const[E,n]=lt(e,[I.center.x,I.center.y]),s=I.width*o,r=I.height*o,a=I.rotation??0,c=Math.sqrt(s*s+r*r),h=s/2,l=r/2;A.save(),A.translate(E,n),a!==0&&A.rotate(-a*(Math.PI/180)),pfI({ctx:A,fillColor:C,drawPath:()=>TBo({ctx:A,cx:0,cy:0,width:s,height:r}),drawHatch:()=>mfI({ctx:A,strokeColor:B,hatchWidth:i,hatchSpacing:Q,diagonal:c,getLineEndpoints:D=>({startX:-h+D,startY:-l,endX:-h+D+c,endY:-l+c})})}),A.restore();return}if(I.shape==="circle"){const[E,n]=lt(e,[I.center.x,I.center.y]),s=I.radius*o,r=s*2;A.save(),A.translate(E,n),pfI({ctx:A,fillColor:C,drawPath:()=>vBo({ctx:A,cx:0,cy:0,radius:s}),drawHatch:()=>mfI({ctx:A,strokeColor:B,hatchWidth:i,hatchSpacing:Q,diagonal:r,getLineEndpoints:a=>({startX:a-r,startY:-r,endX:a+r,endY:r})})}),A.restore()}}var tCo="rgba(255,255,255,0.5)";function oCo(g){const{ctx:A,pcbNoteDimension:I,realToCanvasMat:e}=g,t=I.color??tCo;afI({ctx:A,from:I.from,to:I.to,realToCanvasMat:e,color:t,fontSize:I.font_size,arrowSize:I.arrow_size,text:I.text,textRotation:I.text_ccw_rotation,offset:I.offset_distance&&I.offset_direction?{distance:I.offset_distance,direction:I.offset_direction}:void 0})}function BCo(g){const{ctx:A,line:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)",B=I.stroke_width??.1,C=I.is_dashed??!1,[Q,i]=lt(e,[I.x1,I.y1]),[E,n]=lt(e,[I.x2,I.y2]),s=B*Math.abs(e.a);A.save(),C?A.setLineDash([s*2,s*2]):A.setLineDash([]),A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.lineWidth=s,A.strokeStyle=o,A.lineCap="round",A.stroke(),A.restore()}function $eA(g){const{ctx:A,start:I,end:e,strokeWidth:t,stroke:o,realToCanvasMat:B,lineCap:C="round"}=g,[Q,i]=lt(B,[I.x,I.y]),[E,n]=lt(B,[e.x,e.y]),s=t*Math.abs(B.a);A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.lineWidth=s,A.strokeStyle=o,A.lineCap=C,A.stroke()}function CCo(g){const{ctx:A,path:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)";if(!(!I.route||I.route.length<2))for(let B=0;B<I.route.length-1;B++){const C=I.route[B],Q=I.route[B+1];!C||!Q||$eA({ctx:A,start:{x:C.x,y:C.y},end:{x:Q.x,y:Q.y},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}}function QCo(g){const{ctx:A,rect:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)",B=I.is_filled??!1,C=I.has_stroke??!0,Q=I.is_stroke_dashed??!1;T0({ctx:A,center:I.center,width:I.width,height:I.height,fill:B?o:void 0,stroke:C?o:void 0,strokeWidth:C?I.stroke_width:void 0,borderRadius:I.corner_radius,realToCanvasMat:e,isStrokeDashed:Q})}var iCo="rgb(89, 148, 220)";function ECo(g){const{ctx:A,text:I,realToCanvasMat:e}=g,t=iCo,o=I.color??t,B=I.font_size??1;bZ({ctx:A,text:I.text??"",x:I.anchor_position.x,y:I.anchor_position.y,fontSize:B,color:o,realToCanvasMat:e,anchorAlignment:I.anchor_alignment??"center",mirrorX:I.is_mirrored_from_top_view??I.layer==="bottom"})}function nCo(g){const{ctx:A,panel:I,realToCanvasMat:e,colorMap:t}=g,{width:o,height:B,center:C}=I;if(o!==void 0&&B!==void 0&&C){const Q=o/2,i=B/2,E=[{x:C.x-Q,y:C.y-i},{x:C.x+Q,y:C.y-i},{x:C.x+Q,y:C.y+i},{x:C.x-Q,y:C.y+i}];zuA({ctx:A,points:E,stroke:t.boardOutline,strokeWidth:.5,realToCanvasMat:e,closePath:!0})}}function AGA(g,A){if(g.length<3||A===0)return g;let I=0,e=0;for(const o of g)I+=o.x,e+=o.y;I/=g.length,e/=g.length;const t=[];for(const o of g){const B=o.x-I,C=o.y-e,Q=Math.sqrt(B*B+C*C);if(Q>0){const i=B/Q,E=C/Q;t.push({x:o.x+i*A,y:o.y+E*A})}else t.push({x:o.x+A,y:o.y})}return t}function kfI(g,A){return g.shape==="circle"?g.outer_diameter+A*2<=0:g.shape==="oval"||g.shape==="pill"?Math.min(g.outer_width,g.outer_height)+A*2<=0:"rect_pad_width"in g?Math.min(g.rect_pad_width,g.rect_pad_height)+A*2<=0:!1}function MfI(g){const{ctx:A,hole:I,realToCanvasMat:e,colorMap:t,soldermaskMargin:o=0,drawSoldermask:B}=g,C=t.copper[g.layer??"top"],Q=B&&I.is_covered_with_solder_mask===!0&&o<0?Math.abs(o):0,i=!kfI(I,-Q);if(I.shape==="circle"){i&&Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2-Q,fill:C,realToCanvasMat:e}),zJ(A,()=>{Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e})}),Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="oval"){i&&tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.outer_width/2-Q,radius_y:I.outer_height/2-Q,fill:C,realToCanvasMat:e,rotation:I.ccw_rotation}),zJ(A,()=>{tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,fill:"#000",realToCanvasMat:e,rotation:I.ccw_rotation})}),tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,fill:t.drill,realToCanvasMat:e,rotation:I.ccw_rotation});return}if(I.shape==="pill"){i&&by({ctx:A,center:{x:I.x,y:I.y},width:I.outer_width-Q*2,height:I.outer_height-Q*2,fill:C,realToCanvasMat:e,rotation:I.ccw_rotation}),zJ(A,()=>{by({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e,rotation:I.ccw_rotation})}),by({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e,rotation:I.ccw_rotation});return}if(I.shape==="circular_hole_with_rect_pad"){i&&T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0,ccwRotationDegrees:I.rect_ccw_rotation});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);zJ(A,()=>{Yl({ctx:A,center:{x:E,y:n},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e})}),Yl({ctx:A,center:{x:E,y:n},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="pill_hole_with_rect_pad"){i&&T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);zJ(A,()=>{by({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e})}),by({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="rotated_pill_hole_with_rect_pad"){i&&T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0,ccwRotationDegrees:I.rect_ccw_rotation});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);zJ(A,()=>{by({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e,rotation:I.hole_ccw_rotation})}),by({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e,rotation:I.hole_ccw_rotation});return}if(I.shape==="hole_with_polygon_pad"){const E=I.pad_outline;if(E&&E.length>=3){const a=E.map(h=>({x:I.x+h.x,y:I.y+h.y})),c=Q>0?AGA(a,-Q):a;c.length>=3&&IF({ctx:A,points:c,fill:C,realToCanvasMat:e,center:{x:I.x,y:I.y},rotation:I.ccw_rotation})}const n=lt(XeA((I.ccw_rotation??0)*Math.PI/180),{x:I.hole_offset_x??0,y:I.hole_offset_y??0}),s={x:I.x+n.x,y:I.y+n.y},r=I.hole_shape;r==="circle"?(zJ(A,()=>{Yl({ctx:A,center:s,radius:(I.hole_diameter??0)/2,fill:"#000",realToCanvasMat:e})}),Yl({ctx:A,center:s,radius:(I.hole_diameter??0)/2,fill:t.drill,realToCanvasMat:e})):r==="oval"?(zJ(A,()=>{tN({ctx:A,center:s,radius_x:(I.hole_width??0)/2,radius_y:(I.hole_height??0)/2,rotation:I.ccw_rotation,fill:"#000",realToCanvasMat:e})}),tN({ctx:A,center:s,radius_x:(I.hole_width??0)/2,radius_y:(I.hole_height??0)/2,rotation:I.ccw_rotation,fill:t.drill,realToCanvasMat:e})):(r==="pill"||r==="rotated_pill")&&(zJ(A,()=>{by({ctx:A,center:s,width:I.hole_width??0,height:I.hole_height??0,rotation:I.ccw_rotation,fill:"#000",realToCanvasMat:e})}),by({ctx:A,center:s,width:I.hole_width??0,height:I.hole_height??0,rotation:I.ccw_rotation,fill:t.drill,realToCanvasMat:e}));return}}function zJ(g,A){g.save(),g.globalCompositeOperation="destination-out",A(),g.restore()}function sCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function aCo(g){const{ctx:A,circle:I,realToCanvasMat:e,colorMap:t}=g,o=sCo(I.layer,t);Yl({ctx:A,center:I.center,radius:I.radius,stroke:o,strokeWidth:I.stroke_width,realToCanvasMat:e})}function rCo(g){const{ctx:A,graphic:I,realToCanvasMat:e,colorMap:t}=g,o=I.layer==="bottom"?t.silkscreen.bottom:t.silkscreen.top;A.beginPath(),EfI({ctx:A,shape:I.brep_shape,realToCanvasMat:e}),A.fillStyle=o,A.fill("evenodd")}function cCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function hCo(g){const{ctx:A,line:I,realToCanvasMat:e,colorMap:t}=g,o=cCo(I.layer,t);$eA({ctx:A,start:{x:I.x1,y:I.y1},end:{x:I.x2,y:I.y2},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}function lCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function DCo(g){const{ctx:A,oval:I,realToCanvasMat:e,colorMap:t}=g,o=lCo(I.layer,t);tN({ctx:A,center:I.center,radius_x:I.radius_x,radius_y:I.radius_y,stroke:o,strokeWidth:.1,realToCanvasMat:e,rotation:I.ccw_rotation??0})}function dCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function yCo(g){const{ctx:A,path:I,realToCanvasMat:e,colorMap:t}=g,o=dCo(I.layer,t);if(!(!I.route||I.route.length<2))for(let B=0;B<I.route.length-1;B++){const C=I.route[B],Q=I.route[B+1];!C||!Q||$eA({ctx:A,start:{x:C.x,y:C.y},end:{x:Q.x,y:Q.y},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}}function wCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function uCo(g){const{ctx:A,pill:I,realToCanvasMat:e,colorMap:t}=g,o=wCo(I.layer,t);by({ctx:A,center:I.center,width:I.width,height:I.height,stroke:o,strokeWidth:.2,realToCanvasMat:e})}function GCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function mCo(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g,o=GCo(I.layer,t);T0({ctx:A,center:I.center,width:I.width,height:I.height,borderRadius:I.corner_radius,fill:I.is_filled?o:"transparent",stroke:o,strokeWidth:I.stroke_width,realToCanvasMat:e})}function pCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function kCo(g){return g||"center"}function MCo(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=I.text??"";if(!o)return;const B=pCo(I.layer,t),C=kCo(I.anchor_alignment),Q=I.font_size??1;bZ({ctx:A,text:o,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:Q,color:B,realToCanvasMat:e,anchorAlignment:C,rotation:I.ccw_rotation??0,mirrorX:I.layer==="bottom",knockout:I.is_knockout,knockoutPadding:I.is_knockout?I.knockout_padding:void 0})}function SCo(g,A){return A.copper[g]??A.copper.top}function SfI(g){return g.shape==="rect"||g.shape==="rotated_rect"?g.corner_radius??g.rect_border_radius??0:0}function fCo(g){const{ctx:A,pad:I,realToCanvasMat:e,colorMap:t}=g,o=SCo(I.layer,t),B=ZBo(g);if(B.length>0){qBo({ctx:A,pad:I,realToCanvasMat:e,color:o,drillCutouts:B});return}if(I.shape==="rect"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,borderRadius:SfI(I)});return}if(I.shape==="rotated_rect"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,borderRadius:SfI(I),ccwRotationDegrees:I.ccw_rotation??0});return}if(I.shape==="circle"){Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.radius,fill:o,realToCanvasMat:e});return}if(I.shape==="pill"){by({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e});return}if(I.shape==="rotated_pill"){by({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,rotation:I.ccw_rotation??0});return}if(I.shape==="polygon"){I.points&&I.points.length>=3&&IF({ctx:A,points:I.points,fill:o,realToCanvasMat:e});return}}var AtA="rgb(105, 105, 105)";function ffI(g){const{ctx:A,solderPaste:I,realToCanvasMat:e}=g;if(I.shape==="polygon")return;const t={x:I.x,y:I.y};if(I.shape==="rect"){T0({ctx:A,center:t,width:I.width,height:I.height,fill:AtA,realToCanvasMat:e});return}if(I.shape==="rotated_rect"){T0({ctx:A,center:t,width:I.width,height:I.height,fill:AtA,realToCanvasMat:e,ccwRotationDegrees:I.ccw_rotation});return}if(I.shape==="pill"){by({ctx:A,center:t,width:I.width,height:I.height,fill:AtA,realToCanvasMat:e});return}if(I.shape==="oval"){tN({ctx:A,center:t,radius_x:I.width/2,radius_y:I.height/2,fill:AtA,realToCanvasMat:e});return}I.shape==="circle"&&Yl({ctx:A,center:t,radius:I.radius,fill:AtA,realToCanvasMat:e})}function RCo(g){return typeof g=="function"}function RfI(g,A,I){if(A<=0||I<=0)return null;const e=globalThis;let t=null;if("OffscreenCanvas"in e&&typeof e.OffscreenCanvas=="function")t=new e.OffscreenCanvas(A,I);else if("document"in e&&e.document&&typeof e.document.createElement=="function"){const B=e.document.createElement("canvas");B.width=A,B.height=I,t=B}else{const B=g.canvas.constructor;if(RCo(B))try{t=new B(A,I)}catch{return null}}if(!t)return null;const o=t.getContext("2d");return o&&(o.boardOwnerMap=g.boardOwnerMap),o}function NCo(g){return"createPattern"in g&&typeof Reflect.get(g,"createPattern")=="function"}function NfI(g,A){if(g===A||A.canvas.width<=0||A.canvas.height<=0||!NCo(g))return!1;let I=null;try{I=g.createPattern(A.canvas,"no-repeat")}catch{return!1}return I?(g.save(),g.globalCompositeOperation="source-over",g.fillStyle=I,g.fillRect(0,0,A.canvas.width,A.canvas.height),g.restore(),!0):!1}function xfI(g){const{ctx:A,board:I,realToCanvasMat:e,soldermaskColor:t}=g,{width:o,height:B,center:C,outline:Q}=I;if(Q&&Array.isArray(Q)&&Q.length>=3){const i=Q.map(E=>{const[n,s]=lt(e,[E.x,E.y]);return{x:n,y:s}});A.beginPath(),HZ({ctx:A,points:i}),A.fillStyle=t,A.fill()}else if(o!==void 0&&B!==void 0&&C){const[i,E]=lt(e,[C.x,C.y]),n=o*Math.abs(e.a),s=B*Math.abs(e.a);A.fillStyle=t,A.fillRect(i-n/2,E-s/2,n,s)}}function xCo(g){const{ctx:A,panel:I,realToCanvasMat:e,soldermaskColor:t}=g,{width:o,height:B,center:C}=I;if(o===void 0||B===void 0||!C)return;const[Q,i]=lt(e,[C.x,C.y]),E=o*Math.abs(e.a),n=B*Math.abs(e.a);A.fillStyle=t,A.fillRect(Q-E/2,i-n/2,E,n)}function XJ(g){g.save(),g.globalCompositeOperation="destination-out",g.fill(),g.restore()}function FCo(g){const{ctx:A,cutout:I,realToCanvasMat:e}=g;if(I.shape==="rect"){const[t,o]=lt(e,[I.center?.x??0,I.center?.y??0]),B=I.width*Math.abs(e.a),C=I.height*Math.abs(e.a),Q=(I.corner_radius??0)*Math.abs(e.a);A.save(),A.translate(t,o),I.rotation&&A.rotate(-I.rotation*Math.PI/180),A.beginPath(),oN({ctx:A,cx:0,cy:0,width:B,height:C,radius:Q}),A.restore(),XJ(A)}else if(I.shape==="circle"){const[t,o]=lt(e,[I.center?.x??0,I.center?.y??0]),B=I.radius*Math.abs(e.a);A.beginPath(),A.arc(t,o,B,0,Math.PI*2),A.closePath(),XJ(A)}else if(I.shape==="polygon"&&I.points&&I.points.length>=3){const t=I.points.map(o=>{const[B,C]=lt(e,[o.x,o.y]);return{x:B,y:C}});A.beginPath(),HZ({ctx:A,points:t}),XJ(A)}}var Hy="rgba(255, 255, 255, 1)";function wtg(g){const{ctx:A,elements:I,layer:e,realToCanvasMat:t}=g;A.save(),A.globalCompositeOperation="destination-out";for(const o of I){if(o.type==="pcb_smtpad"){if(o.layer!==e||o.is_covered_with_solder_mask===!0)continue;UCo({ctx:A,pad:o,realToCanvasMat:t});continue}if(o.type==="pcb_plated_hole"){if(o.layers&&!o.layers.includes(e)||o.is_covered_with_solder_mask===!0)continue;JCo({ctx:A,hole:o,realToCanvasMat:t});continue}if(o.type==="pcb_via"){if(o.layers&&!o.layers.includes(e))continue;Yl({ctx:A,center:{x:o.x,y:o.y},radius:o.outer_diameter/2,fill:Hy,realToCanvasMat:t});continue}if(o.type==="pcb_hole"){if(o.is_covered_with_solder_mask===!0)continue;PCo({ctx:A,hole:o,realToCanvasMat:t})}}A.restore()}function UCo(g){const{ctx:A,pad:I,realToCanvasMat:e}=g;if(I.shape==="rect"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,borderRadius:I.corner_radius??I.rect_border_radius??0,fill:Hy,realToCanvasMat:e});return}if(I.shape==="rotated_rect"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,borderRadius:I.corner_radius??I.rect_border_radius??0,ccwRotationDegrees:I.ccw_rotation??0,fill:Hy,realToCanvasMat:e});return}if(I.shape==="circle"){Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.radius,fill:Hy,realToCanvasMat:e});return}if(I.shape==="pill"||I.shape==="rotated_pill"){by({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,rotation:I.shape==="rotated_pill"?I.ccw_rotation??0:0,fill:Hy,realToCanvasMat:e});return}I.shape==="polygon"&&I.points&&I.points.length>=3&&IF({ctx:A,points:I.points,fill:Hy,realToCanvasMat:e})}function JCo(g){const{ctx:A,hole:I,realToCanvasMat:e}=g;if(I.shape==="circle"){Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2,fill:Hy,realToCanvasMat:e});return}if(I.shape==="oval"){tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.outer_width/2,radius_y:I.outer_height/2,rotation:I.ccw_rotation,fill:Hy,realToCanvasMat:e});return}if(I.shape==="pill"){by({ctx:A,center:{x:I.x,y:I.y},width:I.outer_width,height:I.outer_height,rotation:I.ccw_rotation,fill:Hy,realToCanvasMat:e});return}if(I.shape==="circular_hole_with_rect_pad"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,ccwRotationDegrees:I.rect_ccw_rotation,fill:Hy,realToCanvasMat:e});return}if(I.shape==="pill_hole_with_rect_pad"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,fill:Hy,realToCanvasMat:e});return}if(I.shape==="rotated_pill_hole_with_rect_pad"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,ccwRotationDegrees:I.rect_ccw_rotation,fill:Hy,realToCanvasMat:e});return}I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3&&IF({ctx:A,points:I.pad_outline.map(t=>({x:I.x+t.x,y:I.y+t.y})),fill:Hy,realToCanvasMat:e,center:{x:I.x,y:I.y},rotation:I.ccw_rotation})}function PCo(g){const{ctx:A,hole:I,realToCanvasMat:e}=g,t="ccw_rotation"in I&&typeof I.ccw_rotation=="number"?I.ccw_rotation:0;if(I.hole_shape==="circle"){Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:Hy,realToCanvasMat:e});return}if(I.hole_shape==="square"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_diameter,height:I.hole_diameter,ccwRotationDegrees:t,fill:Hy,realToCanvasMat:e});return}if(I.hole_shape==="oval"){tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,rotation:t,fill:Hy,realToCanvasMat:e});return}if(I.hole_shape==="rect"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,ccwRotationDegrees:t,fill:Hy,realToCanvasMat:e});return}(I.hole_shape==="pill"||I.hole_shape==="rotated_pill")&&by({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,rotation:t,fill:Hy,realToCanvasMat:e})}function KCo(g,A,I,e,t){if(Math.abs(t)<1e-10)return null;const o=I-g,B=e-A,C=Math.hypot(o,B);if(C<1e-10)return null;const Q=Math.abs(t)*(C/2),i=C/2,E=(Q*Q+i*i)/(2*Q),n=E-Q,s=(g+I)/2,r=(A+e)/2,a=-B/C,c=o/C,h=t>0?-1:1;return{centerX:s+h*a*n,centerY:r+h*c*n,radius:E}}function utg(g,A,I,e,t,o,B){if(Math.abs(o)<1e-10){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const C=KCo(A,I,e,t,o);if(!C){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const[Q,i]=lt(B,[A,I]),[E,n]=lt(B,[e,t]),[s,r]=lt(B,[C.centerX,C.centerY]),a=Math.hypot(Q-s,i-r),c=Math.atan2(i-r,Q-s),h=Math.atan2(n-r,E-s),D=B.a*B.d-B.b*B.c<0,d=o>0?!D:D;g.arc(s,r,a,c,h,d)}function FfI(g,A,I){if(A.vertices.length<2)return;if(A.vertices.length===2){const B=A.vertices[0],C=A.vertices[1];if(B&&C&&Math.abs((B.bulge??0)-1)<1e-10&&Math.abs((C.bulge??0)-1)<1e-10){const[Q,i]=lt(I,[B.x,B.y]);g.moveTo(Q,i),utg(g,B.x,B.y,C.x,C.y,1,I),utg(g,C.x,C.y,B.x,B.y,1,I);return}}const e=A.vertices[0];if(!e)return;const[t,o]=lt(I,[e.x,e.y]);g.moveTo(t,o);for(let B=0;B<A.vertices.length;B++){const C=A.vertices[B],Q=A.vertices[(B+1)%A.vertices.length];if(!C||!Q)continue;const i=C.bulge??0;if(Math.abs(i)<1e-10){const[E,n]=lt(I,[Q.x,Q.y]);g.lineTo(E,n)}else utg(g,C.x,C.y,Q.x,Q.y,i,I)}}function LCo(g){const{ctx:A,pour:I,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:o,elements:B}=g;if(I.layer===o&&I.covered_with_solder_mask===!0){if(A.save(),A.fillStyle=t,I.shape==="rect"){const[C,Q]=lt(e,[I.center.x,I.center.y]),i=I.width*Math.abs(e.a),E=I.height*Math.abs(e.a);A.translate(C,Q),I.rotation&&A.rotate(-I.rotation*(Math.PI/180)),A.beginPath(),A.rect(-i/2,-E/2,i,E),A.fill(),A.restore(),wtg({ctx:A,elements:B,layer:o,realToCanvasMat:e});return}if(I.shape==="polygon"){if(I.points&&I.points.length>=3){const C=I.points.map(i=>lt(e,[i.x,i.y])),Q=C[0];if(Q){A.beginPath();const[i,E]=Q;A.moveTo(i,E);for(let n=1;n<C.length;n++){const s=C[n];if(!s)continue;const[r,a]=s;A.lineTo(r,a)}A.closePath(),A.fill(),wtg({ctx:A,elements:B,layer:o,realToCanvasMat:e})}}A.restore();return}if(I.shape==="brep"){if(A.beginPath(),FfI(A,I.brep_shape.outer_ring,e),I.brep_shape.inner_rings)for(const C of I.brep_shape.inner_rings)FfI(A,C,e);A.fill("evenodd"),wtg({ctx:A,elements:B,layer:o,realToCanvasMat:e}),A.restore();return}A.restore()}}function YCo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,substrateColor:o,phase:B}=g,Q=I.is_covered_with_solder_mask===!0?I.soldermask_margin??0:0;if(B==="substrate"){Q>0&&(A.fillStyle=o,Gtg({ctx:A,hole:I,realToCanvasMat:e,margin:Q}),A.fill());return}Q<0?(Gtg({ctx:A,hole:I,realToCanvasMat:e,margin:Q}),XJ(A),_Co({ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:Q})):(Gtg({ctx:A,hole:I,realToCanvasMat:e,margin:0}),XJ(A))}function UfI(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function Gtg(g){const{ctx:A,hole:I,realToCanvasMat:e,margin:t}=g,o=UfI(I);if(A.beginPath(),!(("hole_diameter"in I?I.hole_diameter:Math.min(I.hole_width,I.hole_height))+t*2<=0)){if(I.hole_shape==="circle"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_diameter/2+t)*Math.abs(e.a);A.beginPath(),A.arc(C,Q,i,0,Math.PI*2),A.closePath()}else if(I.hole_shape==="square"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_diameter+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.rect(-i/2,-i/2,i,i),A.closePath(),A.restore()}else if(I.hole_shape==="oval"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width/2+t)*Math.abs(e.a),E=(I.hole_height/2+t)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.ellipse(0,0,i,E,0,0,Math.PI*2),A.closePath(),A.restore()}else if(I.hole_shape==="rect"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width+t*2)*Math.abs(e.a),E=(I.hole_height+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.rect(-i/2,-E/2,i,E),A.closePath(),A.restore()}else if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width+t*2)*Math.abs(e.a),E=(I.hole_height+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),CL({ctx:A,cx:0,cy:0,width:i,height:E}),A.restore()}}}function _Co(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:o}=g,B=Math.abs(o),C=UfI(I);if(A.fillStyle=t,I.hole_shape==="circle"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_diameter/2*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,E-n);A.save(),A.beginPath(),A.arc(Q,i,E,0,Math.PI*2),s>0&&A.arc(Q,i,s,0,Math.PI*2,!0),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="square"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_diameter*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,E-n*2);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.rect(-E/2,-E/2,E,E),s>0&&A.rect(-s/2,-s/2,s,s),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="oval"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width/2*Math.abs(e.a),n=I.hole_height/2*Math.abs(e.a),s=B*Math.abs(e.a),r=Math.max(0,E-s),a=Math.max(0,n-s);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.ellipse(0,0,E,n,0,0,Math.PI*2),r>0&&a>0&&(A.moveTo(r,0),A.ellipse(0,0,r,a,0,0,Math.PI*2)),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="rect"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width*Math.abs(e.a),n=I.hole_height*Math.abs(e.a),s=B*Math.abs(e.a),r=Math.max(0,E-s*2),a=Math.max(0,n-s*2);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.rect(-E/2,-n/2,E,n),r>0&&a>0&&A.rect(-r/2,-a/2,r,a),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width*Math.abs(e.a),n=I.hole_height*Math.abs(e.a),s=B*Math.abs(e.a);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),CL({ctx:A,cx:0,cy:0,width:E,height:n});const r=E-s*2,a=n-s*2;r>0&&a>0&&CL({ctx:A,cx:0,cy:0,width:r,height:a}),A.fill("evenodd"),A.restore()}}function bCo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,substrateColor:o,layer:B,phase:C}=g;if(I.layers&&!I.layers.includes(B))return;const i=I.is_covered_with_solder_mask===!0?I.soldermask_margin??0:0;if(C==="substrate"){i>0&&(A.fillStyle=o,mtg({ctx:A,hole:I,realToCanvasMat:e,margin:i}),A.fill());return}i<0?(mtg({ctx:A,hole:I,realToCanvasMat:e,margin:i}),XJ(A),HCo({ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:i})):(mtg({ctx:A,hole:I,realToCanvasMat:e,margin:0}),XJ(A))}function mtg(g){const{ctx:A,hole:I,realToCanvasMat:e,margin:t}=g;if(A.beginPath(),!kfI(I,t)){if(I.shape==="circle"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_diameter/2+t)*Math.abs(e.a);A.beginPath(),A.arc(o,B,C,0,Math.PI*2),A.closePath()}else if(I.shape==="oval"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_width/2+t)*Math.abs(e.a),Q=(I.outer_height/2+t)*Math.abs(e.a);A.beginPath(),A.ellipse(o,B,C,Q,-((I.ccw_rotation??0)*Math.PI)/180,0,Math.PI*2),A.closePath()}else if(I.shape==="pill"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_width+t*2)*Math.abs(e.a),Q=(I.outer_height+t*2)*Math.abs(e.a);A.beginPath(),CL({ctx:A,cx:o,cy:B,width:C,height:Q,ccwRotationDegrees:I.ccw_rotation})}else if(I.shape==="circular_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),oN({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i,ccwRotationDegrees:I.rect_ccw_rotation})}else if(I.shape==="pill_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),oN({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i})}else if(I.shape==="rotated_pill_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),oN({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i,ccwRotationDegrees:I.rect_ccw_rotation})}else if(I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3){const[o,B]=lt(e,[I.x,I.y]),C=I.pad_outline.map(E=>({x:I.x+E.x,y:I.y+E.y})),i=(t!==0?AGA(C,t):C).map(E=>lt(e,E));A.beginPath(),HZ({ctx:A,points:i,cx:o,cy:B,ccwRotationDegrees:I.ccw_rotation})}}}function HCo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:o}=g,B=Math.abs(o);if(A.fillStyle=t,I.shape==="circle"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_diameter/2*Math.abs(e.a),E=B*Math.abs(e.a),n=Math.max(0,i-E);A.beginPath(),A.arc(C,Q,i,0,Math.PI*2),n>0&&A.arc(C,Q,n,0,Math.PI*2,!0),A.fill("evenodd")}else if(I.shape==="oval"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_width/2*Math.abs(e.a),E=I.outer_height/2*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,i-n),r=Math.max(0,E-n),a=-((I.ccw_rotation??0)*Math.PI)/180;if(A.beginPath(),A.ellipse(C,Q,i,E,a,0,Math.PI*2),s>0&&r>0){const c=C+s*Math.cos(a),h=Q+s*Math.sin(a);A.moveTo(c,h),A.ellipse(C,Q,s,r,a,0,Math.PI*2)}A.fill("evenodd")}else if(I.shape==="pill"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_width*Math.abs(e.a),E=I.outer_height*Math.abs(e.a),n=B*Math.abs(e.a);A.beginPath(),CL({ctx:A,cx:C,cy:Q,width:i,height:E,ccwRotationDegrees:I.ccw_rotation});const s=i-n*2,r=E-n*2;s>0&&r>0&&CL({ctx:A,cx:C,cy:Q,width:s,height:r,ccwRotationDegrees:I.ccw_rotation}),A.fill("evenodd")}else if(I.shape==="circular_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),oN({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s,ccwRotationDegrees:I.rect_ccw_rotation});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);oN({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c,ccwRotationDegrees:I.rect_ccw_rotation})}A.fill("evenodd")}else if(I.shape==="pill_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),oN({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);oN({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c})}A.fill("evenodd")}else if(I.shape==="rotated_pill_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),oN({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s,ccwRotationDegrees:I.rect_ccw_rotation});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);oN({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c,ccwRotationDegrees:I.rect_ccw_rotation})}A.fill("evenodd")}else if(I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3){const[C,Q]=lt(e,[I.x,I.y]),i=I.pad_outline.map(n=>({x:I.x+n.x,y:I.y+n.y})),E=AGA(i,-B);A.beginPath();for(const n of[i,E])n.length<3||HZ({ctx:A,points:n.map(s=>lt(e,s)),cx:C,cy:Q,ccwRotationDegrees:I.ccw_rotation});A.fill("evenodd")}}function JfI(g){const{ctx:A,pad:I,realToCanvasMat:e,soldermaskOverCopperColor:t,copperColor:o,substrateColor:B,layer:C,phase:Q}=g;if(I.layer!==C)return;const i=I.is_covered_with_solder_mask===!0,E=i?I.soldermask_margin??0:0;let n=E,s=E,r=E,a=E;if(i&&(I.shape==="rect"||I.shape==="rotated_rect")&&(n=I.soldermask_margin_left??E,s=I.soldermask_margin_right??E,r=I.soldermask_margin_top??E,a=I.soldermask_margin_bottom??E),Q==="substrate"){n>=0&&s>=0&&r>=0&&a>=0&&(n>0||s>0||r>0||a>0)&&(A.fillStyle=B,gtA({ctx:A,pad:I,realToCanvasMat:e,ml:n,mr:s,mt:r,mb:a}),A.fill());return}i&&n===0&&s===0&&r===0&&a===0?(A.fillStyle=t,gtA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),A.fill()):n<0||s<0||r<0||a<0?(A.fillStyle=t,gtA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),A.fill(),A.fillStyle=o,gtA({ctx:A,pad:I,realToCanvasMat:e,ml:n,mr:s,mt:r,mb:a}),A.fill()):(gtA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),XJ(A))}function gtA(g){const{ctx:A,pad:I,realToCanvasMat:e,ml:t,mr:o,mt:B,mb:C}=g;A.beginPath();const Q=I.shape==="rotated_rect"||I.shape==="rotated_pill"?I.ccw_rotation??0:0;if(I.shape==="rect"||I.shape==="rotated_rect"){const i=I.corner_radius??I.rect_border_radius??0,E=Q*Math.PI/180,n=(o-t)/2,s=(B-C)/2,r=n*Math.cos(E)-s*Math.sin(E),a=n*Math.sin(E)+s*Math.cos(E),[c,h]=lt(e,[I.x+r,I.y+a]),l=(I.width+t+o)*Math.abs(e.a),D=(I.height+B+C)*Math.abs(e.a),d=t||o||B||C?I.soldermask_margin??0:0,y=Math.max(0,i?i+d:0)*Math.abs(e.a);if(l<=0||D<=0)return;A.save(),A.translate(c,h),Q!==0&&A.rotate(-Q*Math.PI/180),A.beginPath(),oN({ctx:A,cx:0,cy:0,width:l,height:D,radius:y}),A.restore()}else if(I.shape==="circle"){const i=(t+o+B+C)/4,[E,n]=lt(e,[I.x,I.y]),s=Math.max(0,I.radius+i)*Math.abs(e.a);A.beginPath(),A.arc(E,n,s,0,Math.PI*2),A.closePath()}else if(I.shape==="pill"||I.shape==="rotated_pill"){const i=(t+o)/2,[E,n]=lt(e,[I.x,I.y]),s=(I.width+i*2)*Math.abs(e.a),r=(I.height+i*2)*Math.abs(e.a);if(s<=0||r<=0)return;A.save(),A.translate(E,n),Q!==0&&A.rotate(-Q*Math.PI/180),A.beginPath(),CL({ctx:A,cx:0,cy:0,width:s,height:r}),A.restore()}else if(I.shape==="polygon"&&I.points&&I.points.length>=3){const i=(t+o+B+C)/4,n=(i!==0?AGA(I.points,i):I.points).map(s=>{const[r,a]=lt(e,[s.x,s.y]);return{x:r,y:a}});A.beginPath(),HZ({ctx:A,points:n})}}function PfI(g){return!g||typeof g!="object"?!1:"route_type"in g&&g.route_type==="wire"&&("start_width"in g||"end_width"in g||"width_interpolation_mode"in g)}function ptg(g){const A=[];for(let I=0;I<g.length-1;I++){const e=g[I];if(!PfI(e))continue;const t=g[I+1];if(!t)continue;const o=t.route_type==="through_pad"?t.start:{x:t.x,y:t.y},B=t.route_type==="via"?t.from_layer:t.route_type==="through_pad"?t.start_layer:t.layer;if(!o||B!==e.layer||e.width!==e.start_width)continue;const C={start:{x:e.x,y:e.y},end:o,start_width:e.start_width,end_width:e.end_width,width_interpolation_mode:e.width_interpolation_mode,layer:e.layer,is_inside_copper_pour:!!(e.is_inside_copper_pour&&t.is_inside_copper_pour)};LfI(C)&&A.push(C)}return A}function KfI(g){const{start:A,end:I,start_width:e,end_width:t}=g,o=I.x-A.x,B=I.y-A.y,C=Math.hypot(o,B);if(!LfI(g))return[];const Q=Math.abs(t-e),i=g.width_interpolation_mode==="linear"?1:Math.max(1,Math.ceil(Math.sqrt(Q/(.001+Q*1e-6)*(3/8)))),E=-B/C,n=o/C,s=[],r=[];for(let a=0;a<=i;a++){const c=a/i,h=e<=t?c:1-c,D=(g.width_interpolation_mode==="quadratic"?Math.min(e,t)+Q*h*h:e+(t-e)*c)/2,d=A.x+o*c,y=A.y+B*c;s.push({x:d+E*D,y:y+n*D}),r.push({x:d-E*D,y:y-n*D})}return[...s,...r.reverse()]}function LfI(g){const{start:A,end:I,start_width:e,end_width:t}=g,o=Math.hypot(I.x-A.x,I.y-A.y);return!(![A.x,A.y,I.x,I.y,o,e,t].every(Number.isFinite)||o<=0||e<=0||t<=0||g.width_interpolation_mode!=="linear"&&g.width_interpolation_mode!=="quadratic")}function vZ(g,A){const I=Math.hypot(g,A);return I<=Number.EPSILON?{x:0,y:0}:{x:g/I,y:A/I}}function vCo(g,A){const I=g.length;if(I<2)return{x:1,y:0};if(A<=0){const i=g[1],E=g[0];if(!i||!E)return{x:1,y:0};const n=vZ(i.x-E.x,i.y-E.y);return n.x===0&&n.y===0?{x:1,y:0}:n}if(A>=I-1){const i=g[I-2],E=g[I-1];if(!i||!E)return{x:1,y:0};const n=vZ(E.x-i.x,E.y-i.y);return n.x===0&&n.y===0?{x:1,y:0}:n}const e=g[A-1],t=g[A],o=g[A+1];if(!e||!t||!o)return{x:1,y:0};const B=vZ(t.x-e.x,t.y-e.y),C=vZ(o.x-t.x,o.y-t.y),Q=vZ(B.x+C.x,B.y+C.y);return Q.x===0&&Q.y===0?B.x!==0||B.y!==0?B:C.x!==0||C.y!==0?C:{x:1,y:0}:Q}function YfI(g){const A=[],I=[];for(let e=0;e<g.length;e++){const t=g[e];if(!t)continue;const o=vCo(g,e),B=vZ(-o.y,o.x),C=t.width/2;A.push({x:t.x+B.x*C,y:t.y+B.y*C}),I.push({x:t.x-B.x*C,y:t.y-B.y*C})}return A.concat(I.reverse())}function ktg(g){const A=[];let I=[],e=null;for(const t of g??[]){if(!t||t.route_type!=="wire"){I.length>=2&&A.push(I),I=[],e=null;continue}const o=t.layer??e;if(!o)continue;const B=t.x,C=t.y;typeof B!="number"||typeof C!="number"||typeof t.width=="number"&&(t.width,e&&o!==e&&(I.length>=2&&A.push(I),I=[]),e=o,I.push(t),PfI(t)&&(I.length>=2&&A.push(I),I=[],e=null))}return I.length>=2&&A.push(I),A}var _fI=1e-6;function bfI(g){const{ctx:A,trace:I,realToCanvasMat:e,vias:t,platedHoles:o,layer:B}=g;if(!I.route||I.route.length===0)return;const C=ktg(I.route);for(const i of ptg(I.route))for(const E of[i.start,i.end])C.push([{route_type:"wire",...E,layer:i.layer,width:i.end_width}]);if(C.length===0)return;const Q=new Map;for(const i of C){const E=i[0]?.layer,n=i[i.length-1];if(!(!E||!n)&&!(B&&E!==B)){for(const s of t){if(s.layers&&Array.isArray(s.layers)&&!s.layers.includes(E)||!HfI(n.x,n.y,s.x,s.y))continue;const r=s.hole_diameter/2;if(r<=0)continue;const a={shape:"circle",x:s.x,y:s.y,radius:r};Q.set(vfI(a),a)}for(const s of o){if(s.layers&&Array.isArray(s.layers)&&!s.layers.includes(E))continue;const r=wfI(s);r&&HfI(n.x,n.y,r.x,r.y)&&Q.set(vfI(r),r)}}}if(Q.size!==0){A.save(),A.globalCompositeOperation="destination-out";for(const i of Q.values()){if(i.shape==="circle"){Yl({ctx:A,center:{x:i.x,y:i.y},radius:i.radius,fill:"#000",realToCanvasMat:e});continue}if(i.shape==="oval"){tN({ctx:A,center:{x:i.x,y:i.y},radius_x:i.radiusX,radius_y:i.radiusY,fill:"#000",realToCanvasMat:e,rotation:i.rotation});continue}by({ctx:A,center:{x:i.x,y:i.y},width:i.width,height:i.height,fill:"#000",realToCanvasMat:e,rotation:i.rotation})}A.restore()}}function HfI(g,A,I,e){return Math.abs(g-I)<=_fI&&Math.abs(A-e)<=_fI}function vfI(g){return g.shape==="circle"?`circle:${g.x}:${g.y}:${g.radius}`:g.shape==="oval"?`oval:${g.x}:${g.y}:${g.radiusX}:${g.radiusY}:${g.rotation??0}`:`pill:${g.x}:${g.y}:${g.width}:${g.height}:${g.rotation??0}`}function TCo(g){const{ctx:A,trace:I,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:o}=g;if(!I.route||!Array.isArray(I.route)||I.route.length===0)return;for(const C of ptg(I.route))o&&C.layer!==o||C.is_inside_copper_pour||IF({ctx:A,points:KfI(C),fill:t,realToCanvasMat:e});const B=ktg(I.route);for(const C of B)if(C[0]?.layer===o){if(I.route_thickness_mode==="interpolated"){IF({ctx:A,points:YfI(C),fill:t,realToCanvasMat:e});continue}for(let i=0;i<C.length-1;i++){const E=C[i],n=C[i+1];!E||!n||$eA({ctx:A,start:{x:E.x,y:E.y},end:{x:n.x,y:n.y},strokeWidth:E.width,stroke:t,realToCanvasMat:e,lineCap:"round"})}}bfI({ctx:A,trace:I,realToCanvasMat:e,layer:o,vias:g.vias,platedHoles:g.platedHoles})}function TfI(g){const{ctx:A,via:I,realToCanvasMat:e,layer:t,soldermaskOverCopperColor:o,soldermaskOverHoleColor:B}=g;if(!I.layers.includes(t))return;const C=Mtg(I,t,A),[Q,i]=lt(e,[I.x,I.y]),E=I.outer_diameter/2*Math.abs(e.a);if(A.beginPath(),A.arc(Q,i,E,0,Math.PI*2),A.closePath(),C){const n=I.hole_diameter/2*Math.abs(e.a);A.moveTo(Q+n,i),A.arc(Q,i,n,0,Math.PI*2),A.closePath(),A.fillStyle=o,A.fill("evenodd"),A.fillStyle=B,A.beginPath(),A.arc(Q,i,n,0,Math.PI*2),A.fill()}else XJ(A)}function Mtg(g,A,I){let e=I.boardOwnerMap?.get(g.pcb_via_id);!I.boardOwnerMap?.has(g.pcb_via_id)&&g.pcb_trace_id&&(e=I.boardOwnerMap?.get(g.pcb_trace_id));const t=g,o=A==="top"?t.tented_on_top:t.tented_on_bottom,B=A==="top"?e?.default_via_tented_on_top:e?.default_via_tented_on_bottom;return o??t.is_tented??B??!1}function qfI(g){const{ctx:A,realToCanvasMat:I,colorMap:e,layer:t,drawSoldermask:o}=g;let{elements:B}=g;if(!o||A.canvas.width<=0||A.canvas.height<=0)return;const C=B.filter(c=>c.type==="pcb_board"),Q=B.find(c=>c.type==="pcb_panel");C.length===0&&!Q&&(B=B.filter(c=>c.type==="pcb_via"));const i=e.soldermask[t]??e.soldermask.top,E=e.soldermaskOverCopper[t]??e.soldermaskOverCopper.top,n=e.soldermaskOverHole[t]??e.soldermaskOverHole.top,s=B.filter(c=>c.type==="pcb_via"),r=B.filter(c=>c.type==="pcb_plated_hole"),a=RfI(A,A.canvas.width,A.canvas.height)??A;if(Q&&xCo({ctx:a,panel:Q,realToCanvasMat:I,soldermaskColor:i}),Q&&C.length>0){a.save(),a.globalCompositeOperation="destination-out";for(const c of C)xfI({ctx:a,board:c,realToCanvasMat:I,soldermaskColor:"#000"});a.restore()}for(const c of C)xfI({ctx:a,board:c,realToCanvasMat:I,soldermaskColor:i});for(const c of B)c.type==="pcb_trace"?TCo({ctx:a,trace:c,realToCanvasMat:I,soldermaskOverCopperColor:E,layer:t,vias:s,platedHoles:r}):c.type==="pcb_copper_pour"&&LCo({ctx:a,pour:c,realToCanvasMat:I,soldermaskOverCopperColor:E,layer:t,elements:B});for(const c of s)Mtg(c,t,a)&&TfI({ctx:a,via:c,realToCanvasMat:I,layer:t,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n});for(const c of B)ZfI({ctx:a,element:c,realToCanvasMat:I,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"substrate"});for(const c of B)c.type==="pcb_smtpad"&&JfI({ctx:a,pad:c,realToCanvasMat:I,soldermaskOverCopperColor:E,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"openings"});for(const c of B)c.type!=="pcb_smtpad"&&ZfI({ctx:a,element:c,realToCanvasMat:I,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"openings"});NfI(A,a)}function ZfI(g){const{ctx:A,element:I,realToCanvasMat:e,soldermaskOverCopperColor:t,soldermaskOverHoleColor:o,copperColor:B,substrateColor:C,layer:Q,phase:i}=g;if(I.type==="pcb_smtpad")JfI({ctx:A,pad:I,realToCanvasMat:e,soldermaskOverCopperColor:t,copperColor:B,substrateColor:C,layer:Q,phase:i});else if(I.type==="pcb_plated_hole")bCo({ctx:A,hole:I,substrateColor:C,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:Q,phase:i});else if(I.type==="pcb_hole")YCo({ctx:A,hole:I,substrateColor:C,realToCanvasMat:e,soldermaskOverCopperColor:t,phase:i});else{if(i==="substrate")return;if(I.type==="pcb_via"){if(Mtg(I,Q,A))return;TfI({ctx:A,via:I,realToCanvasMat:e,layer:Q,soldermaskOverCopperColor:t,soldermaskOverHoleColor:o})}else if(I.type==="pcb_cutout")FCo({ctx:A,cutout:I,realToCanvasMat:e});else{if(I.type==="pcb_copper_pour")return;if(I.type==="pcb_trace")return}}}function OfI(g,A){return A.copper[g]??A.copper.top}function qCo(g){const{ctx:A,trace:I,realToCanvasMat:e,colorMap:t,layer:o}=g;if(!I.route||!Array.isArray(I.route)||I.route.length===0)return;for(const C of ptg(I.route))o&&C.layer!==o||C.is_inside_copper_pour||IF({ctx:A,points:KfI(C),fill:OfI(C.layer,t),realToCanvasMat:e});const B=ktg(I.route);for(const C of B){const Q=C[0]?.layer;if(!Q||o&&Q!==o)continue;const i=OfI(Q,t);if(I.route_thickness_mode==="interpolated"){IF({ctx:A,points:YfI(C),fill:i,realToCanvasMat:e});continue}for(let E=0;E<C.length-1;E++){const n=C[E],s=C[E+1];!n||!s||n.is_inside_copper_pour&&s.is_inside_copper_pour||$eA({ctx:A,start:{x:n.x,y:n.y},end:{x:s.x,y:s.y},strokeWidth:n.width,stroke:i,realToCanvasMat:e,lineCap:"round"})}}bfI({ctx:A,trace:I,realToCanvasMat:e,vias:g.vias??[],platedHoles:g.platedHoles??[],layer:o})}function WfI(g){const{ctx:A,traces:I,copperPours:e,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C,renderLayers:Q}=g;for(const i of OCo(I,Q)){const E=e.filter(s=>s.layer===i);if(E.length===0){Stg({ctx:A,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C});continue}const n=RfI(A,A.canvas.width,A.canvas.height);n&&(Stg({ctx:n,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}),ZCo({ctx:n,copperPours:E,realToCanvasMat:t}),NfI(A,n))||(A.save(),WCo({ctx:A,copperPours:E,realToCanvasMat:t}),Stg({ctx:A,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}),A.restore())}}function Stg(g){const{ctx:A,traces:I,layer:e,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}=g;for(const Q of I)qCo({ctx:A,trace:Q,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C,layer:e})}function ZCo(g){const{ctx:A,copperPours:I,realToCanvasMat:e}=g;if(I.length!==0){A.save(),A.globalCompositeOperation="destination-out",A.fillStyle="#000";for(const t of I)A.beginPath(),ltg({ctx:A,pour:t,realToCanvasMat:e}),A.fill(t.shape==="brep"?"evenodd":"nonzero");A.restore()}}function OCo(g,A){const I=new Set;for(const e of g)for(const t of e.route??[])t.route_type!=="wire"||!t.layer||A?.length&&!A.includes(`${t.layer}_copper`)||I.add(t.layer);return[...I]}function WCo(g){const{ctx:A,copperPours:I,realToCanvasMat:e}=g;if(I.length!==0){A.beginPath(),A.rect(0,0,A.canvas.width,A.canvas.height);for(const t of I)ltg({ctx:A,pour:t,realToCanvasMat:e});A.clip("evenodd")}}function VCo(g,A,I=[]){const e=[...g,...I].filter(C=>C.type==="pcb_via"),t=new Map;for(const C of e){const i=`${A.boardOwnerMap?.get(C.pcb_via_id)?.pcb_board_id??""}:${C.x}:${C.y}`,E=t.get(i)??[];E.push(C),t.set(i,E)}const o=g.filter(C=>C.type==="pcb_trace"),B=[];for(const C of o){const Q=A.boardOwnerMap?.get(C.pcb_trace_id);for(const[i,E]of C.route.entries()){if(E.route_type!=="via")continue;const n=`${Q?.pcb_board_id??""}:${E.x}:${E.y}`,s=t.get(n)??[];if(s.some(c=>c.layers.includes(E.from_layer)&&c.layers.includes(E.to_layer)))continue;const a={type:"pcb_via",pcb_via_id:`${C.pcb_trace_id}_route_via_${i}`,pcb_trace_id:C.pcb_trace_id,subcircuit_id:C.subcircuit_id,pcb_group_id:C.pcb_group_id,x:E.x,y:E.y,layers:[E.from_layer,E.to_layer],hole_diameter:E.hole_diameter??Q?.min_via_hole_diameter??.25,outer_diameter:E.outer_diameter??Q?.min_via_pad_diameter??.6,tented_on_top:E.tented_on_top,tented_on_bottom:E.tented_on_bottom};B.push(a),s.push(a),t.set(n,s)}}return B}function VfI(g){const{ctx:A,via:I,realToCanvasMat:e,colorMap:t,layer:o}=g;o&&!I.layers.includes(o)||(Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2,fill:t.copper[o??"top"],realToCanvasMat:e}),A.save(),A.globalCompositeOperation="destination-out",Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e}),A.restore(),Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e}))}function Nk(g,A){if(!A.layers||A.layers.length===0)return!0;if(g.type==="pcb_silkscreen_graphic")return A.layers.some(e=>e===`${g.layer}_silkscreen`);const I=VPA(g);return I.length===0?!0:I.some(e=>A.layers.includes(e))}var Xw={copper:{top:"rgb(200, 52, 52)",inner1:"rgb(127, 200, 127)",inner2:"rgb(206, 125, 44)",inner3:"rgb(79, 203, 203)",inner4:"rgb(219, 98, 139)",inner5:"rgb(167, 165, 198)",inner6:"rgb(40, 204, 217)",inner7:"rgb(232, 178, 167)",inner8:"rgb(242, 237, 161)",bottom:"rgb(77, 127, 196)"},copperPour:{top:"rgb(230, 95, 95)",bottom:"rgb(122, 162, 222)"},soldermaskWithCopperUnderneath:{top:"rgb(18, 82, 50)",bottom:"rgb(77, 127, 196)"},soldermask:{top:"rgb(12, 55, 33)",bottom:"rgb(12, 55, 33)"},soldermaskOverCopper:{top:"rgb(52, 135, 73)",bottom:"rgb(52, 135, 73)"},soldermaskOverHole:{top:"rgb(26, 68, 37)",bottom:"rgb(26, 68, 37)"},substrate:"rgb(201, 162, 110)",drill:"#FF26E2",silkscreen:{top:"#f2eda1",bottom:"#5da9e9"},boardOutline:"rgba(255, 255, 255, 0.5)",courtyard:{top:"#FF00FF",bottom:"rgb(38, 233, 255)"},keepout:{top:"#FF6B6B",bottom:"#5da9e9"},fabricationNote:"rgba(255, 255, 255, 0.5)"};function jCo(g){return!g||g.length===0?"top":(g.find(I=>I.endsWith("_copper"))??g[0]??"top_copper").split("_")[0]}var gGA=(g,A)=>g.layers?.includes(A)??!0,q0=class EOI{ctx;colorMap;realToCanvasMat;constructor(A){if("getContext"in A&&typeof A.getContext=="function"){const I=A.getContext("2d");if(!I)throw new Error("Failed to get 2D rendering context from canvas");this.ctx=I}else this.ctx=A;this.colorMap={...Xw},this.realToCanvasMat=Xoo()}configure(A){A.colorOverrides&&(this.colorMap={...this.colorMap,...A.colorOverrides,copper:{...this.colorMap.copper,...A.colorOverrides.copper},copperPour:{...this.colorMap.copperPour,...A.colorOverrides.copperPour},silkscreen:{...this.colorMap.silkscreen,...A.colorOverrides.silkscreen},soldermask:{...this.colorMap.soldermask,...A.colorOverrides.soldermask},soldermaskWithCopperUnderneath:{...this.colorMap.soldermaskWithCopperUnderneath,...A.colorOverrides.soldermaskWithCopperUnderneath},soldermaskOverCopper:{...this.colorMap.soldermaskOverCopper,...A.colorOverrides.soldermaskOverCopper},soldermaskOverHole:{...this.colorMap.soldermaskOverHole,...A.colorOverrides.soldermaskOverHole}})}setCameraBounds(A){const I=this.ctx.canvas,e=I.width,t=I.height,o=A.maxX-A.minX,B=A.maxY-A.minY,C=e/o,Q=t/B,i=Math.min(C,Q),E=(e-o*i)/2,n=(t-B*i)/2;this.realToCanvasMat=juA(gF(E,n),gBo(i,-i),gF(-A.minX,-A.maxY))}drawElements(A,I={}){this.ctx.boardOwnerMap=WPA([...I.clipContextElements??[],...A]),A=[...A,...VCo(A,this.ctx,I.clipContextElements)];const e=jCo(I.layers),t=A.find(m=>m.type==="pcb_board"),o=A.find(m=>m.type==="pcb_panel");o&&nCo({ctx:this.ctx,panel:o,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});const B=I.drawBoardMaterial??!1,C=I.drawSoldermask??!1,Q=I.drawSolderPaste??!1,i=I.drawSoldermaskTop!==void 0||I.drawSoldermaskBottom!==void 0,E=I.drawSolderPasteTop!==void 0||I.drawSolderPasteBottom!==void 0,n=C&&(I.drawSoldermaskTop??!i),s=C&&(I.drawSoldermaskBottom??!1),r=Q&&(I.drawSolderPasteTop??!E)&&A.some(m=>m.type==="pcb_solder_paste"&&m.layer==="top"),a=Q&&(I.drawSolderPasteBottom??!1)&&A.some(m=>m.type==="pcb_solder_paste"&&m.layer==="bottom"),c=n||r,h=I.layers?.length?e:void 0,l=m=>!h||gGA(m,h),D=A.filter(m=>Nk(m,I)&&m.type==="pcb_via"&&l(m)),d=A.filter(m=>Nk(m,I)&&m.type==="pcb_hole"),y=A.filter(m=>Nk(m,I)&&m.type==="pcb_plated_hole"&&gGA(m,e)),w=A.filter(m=>Nk(m,I)&&m.type==="pcb_cutout"),u=(I.clipContextElements??A).filter(m=>Nk(m,I)&&m.type==="pcb_copper_pour"),G=A.filter(m=>Nk(m,I)&&m.type==="pcb_trace");t&&IBo({ctx:this.ctx,board:t,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,drawBoardMaterial:B,minBoardOutlineStrokePx:I.minBoardOutlineStrokePx});for(const m of A)Nk(m,I)&&m.type==="pcb_copper_pour"&&nfI({ctx:this.ctx,pour:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});for(const m of A)Nk(m,I)&&(m.type==="pcb_smtpad"&&fCo({ctx:this.ctx,pad:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,holes:d,platedHoles:y,vias:D,cutouts:w}),m.type==="pcb_copper_text"&&mBo({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}));if(c){WfI({ctx:this.ctx,traces:G,copperPours:u,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,vias:D,platedHoles:y,renderLayers:I.layers});for(const m of A)Nk(m,I)&&(m.type==="pcb_hole"&&rfI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n}),m.type==="pcb_plated_hole"&&gGA(m,e)&&MfI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n,layer:e}),m.type==="pcb_via"&&l(m)&&VfI({ctx:this.ctx,via:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:h}))}if(n&&qfI({ctx:this.ctx,elements:A,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:"top",drawSoldermask:!0}),r)for(const m of A)m.type!=="pcb_solder_paste"||m.layer!=="top"||ffI({ctx:this.ctx,solderPaste:m,realToCanvasMat:this.realToCanvasMat});for(const m of A)Nk(m,I)&&(m.type==="pcb_silkscreen_text"&&MCo({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_rect"&&mCo({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_circle"&&aCo({ctx:this.ctx,circle:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_line"&&hCo({ctx:this.ctx,line:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_path"&&yCo({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_pill"&&uCo({ctx:this.ctx,pill:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_oval"&&DCo({ctx:this.ctx,oval:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_graphic"&&rCo({ctx:this.ctx,graphic:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}));c||WfI({ctx:this.ctx,traces:G,copperPours:u,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,vias:D,platedHoles:y,renderLayers:I.layers});for(const m of A)Nk(m,I)&&m.type==="pcb_hole"&&!c&&rfI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n});for(const m of A)Nk(m,I)&&(m.type==="pcb_plated_hole"&&!c&&gGA(m,e)&&MfI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n,layer:e}),m.type==="pcb_via"&&!c&&l(m)&&VfI({ctx:this.ctx,via:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:h}));if(s&&qfI({ctx:this.ctx,elements:A,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:"bottom",drawSoldermask:!0}),a)for(const m of A)m.type!=="pcb_solder_paste"||m.layer!=="bottom"||ffI({ctx:this.ctx,solderPaste:m,realToCanvasMat:this.realToCanvasMat});for(const m of A)Nk(m,I)&&m.type==="pcb_cutout"&&NBo({ctx:this.ctx,cutout:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});for(const m of A){if(!Nk(m,I))continue;m.type==="pcb_keepout"&&eCo({ctx:this.ctx,keepout:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_text"&&HBo({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_rect"&&_Bo({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});const p=I.showPcbNotes??!0;p&&m.type==="pcb_note_rect"&&QCo({realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,ctx:this.ctx,rect:m}),m.type==="pcb_fabrication_note_path"&&YBo({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_path"&&CCo({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_text"&&ECo({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_line"&&BCo({ctx:this.ctx,line:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_dimension"&&oCo({ctx:this.ctx,pcbNoteDimension:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_dimension"&&LBo({ctx:this.ctx,pcbFabricationNoteDimension:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_circle"&&kBo({ctx:this.ctx,circle:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_rect"&&RBo({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_outline"&&SBo({ctx:this.ctx,outline:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap})}if(I.clearDrillHoles&&this.clearDrillHoles(A,e),I.showDebugObjects){const m=new Map;for(const p of A){if(p.type!=="pcb_debug_object")continue;const k=p.shape==="rect"?`${p.center.x}:${p.center.y}:${p.size.width}:${p.size.height}`:void 0,S=k?m.get(k)??0:0;UBo({ctx:this.ctx,debugObject:p,realToCanvasMat:this.realToCanvasMat,labelStackIndex:S}),k&&m.set(k,S+1)}}}clearDrillHoles(A,I){const e=A.filter(C=>C.type==="pcb_hole"||C.type==="pcb_plated_hole"||C.type==="pcb_via"||C.type==="pcb_cutout");if(e.length===0)return;const t="rgba(0,0,0,0)",o=new EOI(this.ctx);o.realToCanvasMat=this.realToCanvasMat,o.configure({colorOverrides:{copper:{top:t,bottom:t,inner1:t,inner2:t,inner3:t,inner4:t,inner5:t,inner6:t,inner7:t,inner8:t},drill:"#000"}}),this.ctx.save(),this.ctx.globalCompositeOperation="destination-out";const B=this.ctx.boardOwnerMap;o.drawElements(e,{layers:[`${I}_copper`],showPcbNotes:!1}),this.ctx.boardOwnerMap=B,this.ctx.restore()}},ftg={exports:{}},Rtg,jfI;function zCo(){return jfI||(jfI=1,Rtg={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),Rtg}var Ntg={exports:{}},xtg,zfI;function XCo(){return zfI||(zfI=1,xtg=function(A){return!A||typeof A=="string"?!1:A instanceof Array||Array.isArray(A)||A.length>=0&&(A.splice instanceof Function||Object.getOwnPropertyDescriptor(A,A.length-1)&&A.constructor.name!=="String")}),xtg}var XfI;function $Co(){if(XfI)return Ntg.exports;XfI=1;var g=XCo(),A=Array.prototype.concat,I=Array.prototype.slice,e=Ntg.exports=function(o){for(var B=[],C=0,Q=o.length;C<Q;C++){var i=o[C];g(i)?B=A.call(B,I.call(i)):B.push(i)}return B};return e.wrap=function(t){return function(){return t(e(arguments))}},Ntg.exports}var $fI;function AQo(){if($fI)return ftg.exports;$fI=1;var g=zCo(),A=$Co(),I=Object.hasOwnProperty,e=Object.create(null);for(var t in g)I.call(g,t)&&(e[g[t]]=t);var o=ftg.exports={to:{},get:{}};o.get=function(Q){var i=Q.substring(0,3).toLowerCase(),E,n;switch(i){case"hsl":E=o.get.hsl(Q),n="hsl";break;case"hwb":E=o.get.hwb(Q),n="hwb";break;default:E=o.get.rgb(Q),n="rgb";break}return E?{model:n,value:E}:null},o.get.rgb=function(Q){if(!Q)return null;var i=/^#([a-f0-9]{3,4})$/i,E=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,n=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,s=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,r=/^(\w+)$/,a=[0,0,0,1],c,h,l;if(c=Q.match(E)){for(l=c[2],c=c[1],h=0;h<3;h++){var D=h*2;a[h]=parseInt(c.slice(D,D+2),16)}l&&(a[3]=parseInt(l,16)/255)}else if(c=Q.match(i)){for(c=c[1],l=c[3],h=0;h<3;h++)a[h]=parseInt(c[h]+c[h],16);l&&(a[3]=parseInt(l+l,16)/255)}else if(c=Q.match(n)){for(h=0;h<3;h++)a[h]=parseInt(c[h+1],0);c[4]&&(c[5]?a[3]=parseFloat(c[4])*.01:a[3]=parseFloat(c[4]))}else if(c=Q.match(s)){for(h=0;h<3;h++)a[h]=Math.round(parseFloat(c[h+1])*2.55);c[4]&&(c[5]?a[3]=parseFloat(c[4])*.01:a[3]=parseFloat(c[4]))}else return(c=Q.match(r))?c[1]==="transparent"?[0,0,0,0]:I.call(g,c[1])?(a=g[c[1]],a[3]=1,a):null:null;for(h=0;h<3;h++)a[h]=B(a[h],0,255);return a[3]=B(a[3],0,1),a},o.get.hsl=function(Q){if(!Q)return null;var i=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,E=Q.match(i);if(E){var n=parseFloat(E[4]),s=(parseFloat(E[1])%360+360)%360,r=B(parseFloat(E[2]),0,100),a=B(parseFloat(E[3]),0,100),c=B(isNaN(n)?1:n,0,1);return[s,r,a,c]}return null},o.get.hwb=function(Q){if(!Q)return null;var i=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,E=Q.match(i);if(E){var n=parseFloat(E[4]),s=(parseFloat(E[1])%360+360)%360,r=B(parseFloat(E[2]),0,100),a=B(parseFloat(E[3]),0,100),c=B(isNaN(n)?1:n,0,1);return[s,r,a,c]}return null},o.to.hex=function(){var Q=A(arguments);return"#"+C(Q[0])+C(Q[1])+C(Q[2])+(Q[3]<1?C(Math.round(Q[3]*255)):"")},o.to.rgb=function(){var Q=A(arguments);return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"},o.to.rgb.percent=function(){var Q=A(arguments),i=Math.round(Q[0]/255*100),E=Math.round(Q[1]/255*100),n=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+i+"%, "+E+"%, "+n+"%)":"rgba("+i+"%, "+E+"%, "+n+"%, "+Q[3]+")"},o.to.hsl=function(){var Q=A(arguments);return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"},o.to.hwb=function(){var Q=A(arguments),i="";return Q.length>=4&&Q[3]!==1&&(i=", "+Q[3]),"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+i+")"},o.to.keyword=function(Q){return e[Q.slice(0,3)]};function B(Q,i,E){return Math.min(Math.max(i,Q),E)}function C(Q){var i=Math.round(Q).toString(16).toUpperCase();return i.length<2?"0"+i:i}return ftg.exports}var Ftg,ARI;function gQo(){return ARI||(ARI=1,Ftg={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),Ftg}var Utg,gRI;function IRI(){if(gRI)return Utg;gRI=1;const g=gQo(),A={};for(const t of Object.keys(g))A[g[t]]=t;const I={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};Utg=I;for(const t of Object.keys(I)){if(!("channels"in I[t]))throw new Error("missing channels property: "+t);if(!("labels"in I[t]))throw new Error("missing channel labels property: "+t);if(I[t].labels.length!==I[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:o,labels:B}=I[t];delete I[t].channels,delete I[t].labels,Object.defineProperty(I[t],"channels",{value:o}),Object.defineProperty(I[t],"labels",{value:B})}I.rgb.hsl=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.min(o,B,C),i=Math.max(o,B,C),E=i-Q;let n,s;i===Q?n=0:o===i?n=(B-C)/E:B===i?n=2+(C-o)/E:C===i&&(n=4+(o-B)/E),n=Math.min(n*60,360),n<0&&(n+=360);const r=(Q+i)/2;return i===Q?s=0:r<=.5?s=E/(i+Q):s=E/(2-i-Q),[n,s*100,r*100]},I.rgb.hsv=function(t){let o,B,C,Q,i;const E=t[0]/255,n=t[1]/255,s=t[2]/255,r=Math.max(E,n,s),a=r-Math.min(E,n,s),c=function(h){return(r-h)/6/a+1/2};return a===0?(Q=0,i=0):(i=a/r,o=c(E),B=c(n),C=c(s),E===r?Q=C-B:n===r?Q=1/3+o-C:s===r&&(Q=2/3+B-o),Q<0?Q+=1:Q>1&&(Q-=1)),[Q*360,i*100,r*100]},I.rgb.hwb=function(t){const o=t[0],B=t[1];let C=t[2];const Q=I.rgb.hsl(t)[0],i=1/255*Math.min(o,Math.min(B,C));return C=1-1/255*Math.max(o,Math.max(B,C)),[Q,i*100,C*100]},I.rgb.cmyk=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.min(1-o,1-B,1-C),i=(1-o-Q)/(1-Q)||0,E=(1-B-Q)/(1-Q)||0,n=(1-C-Q)/(1-Q)||0;return[i*100,E*100,n*100,Q*100]};function e(t,o){return(t[0]-o[0])**2+(t[1]-o[1])**2+(t[2]-o[2])**2}return I.rgb.keyword=function(t){const o=A[t];if(o)return o;let B=1/0,C;for(const Q of Object.keys(g)){const i=g[Q],E=e(t,i);E<B&&(B=E,C=Q)}return C},I.keyword.rgb=function(t){return g[t]},I.rgb.xyz=function(t){let o=t[0]/255,B=t[1]/255,C=t[2]/255;o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,B=B>.04045?((B+.055)/1.055)**2.4:B/12.92,C=C>.04045?((C+.055)/1.055)**2.4:C/12.92;const Q=o*.4124+B*.3576+C*.1805,i=o*.2126+B*.7152+C*.0722,E=o*.0193+B*.1192+C*.9505;return[Q*100,i*100,E*100]},I.rgb.lab=function(t){const o=I.rgb.xyz(t);let B=o[0],C=o[1],Q=o[2];B/=95.047,C/=100,Q/=108.883,B=B>.008856?B**(1/3):7.787*B+16/116,C=C>.008856?C**(1/3):7.787*C+16/116,Q=Q>.008856?Q**(1/3):7.787*Q+16/116;const i=116*C-16,E=500*(B-C),n=200*(C-Q);return[i,E,n]},I.hsl.rgb=function(t){const o=t[0]/360,B=t[1]/100,C=t[2]/100;let Q,i,E;if(B===0)return E=C*255,[E,E,E];C<.5?Q=C*(1+B):Q=C+B-C*B;const n=2*C-Q,s=[0,0,0];for(let r=0;r<3;r++)i=o+1/3*-(r-1),i<0&&i++,i>1&&i--,6*i<1?E=n+(Q-n)*6*i:2*i<1?E=Q:3*i<2?E=n+(Q-n)*(2/3-i)*6:E=n,s[r]=E*255;return s},I.hsl.hsv=function(t){const o=t[0];let B=t[1]/100,C=t[2]/100,Q=B;const i=Math.max(C,.01);C*=2,B*=C<=1?C:2-C,Q*=i<=1?i:2-i;const E=(C+B)/2,n=C===0?2*Q/(i+Q):2*B/(C+B);return[o,n*100,E*100]},I.hsv.rgb=function(t){const o=t[0]/60,B=t[1]/100;let C=t[2]/100;const Q=Math.floor(o)%6,i=o-Math.floor(o),E=255*C*(1-B),n=255*C*(1-B*i),s=255*C*(1-B*(1-i));switch(C*=255,Q){case 0:return[C,s,E];case 1:return[n,C,E];case 2:return[E,C,s];case 3:return[E,n,C];case 4:return[s,E,C];case 5:return[C,E,n]}},I.hsv.hsl=function(t){const o=t[0],B=t[1]/100,C=t[2]/100,Q=Math.max(C,.01);let i,E;E=(2-B)*C;const n=(2-B)*Q;return i=B*Q,i/=n<=1?n:2-n,i=i||0,E/=2,[o,i*100,E*100]},I.hwb.rgb=function(t){const o=t[0]/360;let B=t[1]/100,C=t[2]/100;const Q=B+C;let i;Q>1&&(B/=Q,C/=Q);const E=Math.floor(6*o),n=1-C;i=6*o-E,(E&1)!==0&&(i=1-i);const s=B+i*(n-B);let r,a,c;switch(E){default:case 6:case 0:r=n,a=s,c=B;break;case 1:r=s,a=n,c=B;break;case 2:r=B,a=n,c=s;break;case 3:r=B,a=s,c=n;break;case 4:r=s,a=B,c=n;break;case 5:r=n,a=B,c=s;break}return[r*255,a*255,c*255]},I.cmyk.rgb=function(t){const o=t[0]/100,B=t[1]/100,C=t[2]/100,Q=t[3]/100,i=1-Math.min(1,o*(1-Q)+Q),E=1-Math.min(1,B*(1-Q)+Q),n=1-Math.min(1,C*(1-Q)+Q);return[i*255,E*255,n*255]},I.xyz.rgb=function(t){const o=t[0]/100,B=t[1]/100,C=t[2]/100;let Q,i,E;return Q=o*3.2406+B*-1.5372+C*-.4986,i=o*-.9689+B*1.8758+C*.0415,E=o*.0557+B*-.204+C*1.057,Q=Q>.0031308?1.055*Q**(1/2.4)-.055:Q*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,E=E>.0031308?1.055*E**(1/2.4)-.055:E*12.92,Q=Math.min(Math.max(0,Q),1),i=Math.min(Math.max(0,i),1),E=Math.min(Math.max(0,E),1),[Q*255,i*255,E*255]},I.xyz.lab=function(t){let o=t[0],B=t[1],C=t[2];o/=95.047,B/=100,C/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,B=B>.008856?B**(1/3):7.787*B+16/116,C=C>.008856?C**(1/3):7.787*C+16/116;const Q=116*B-16,i=500*(o-B),E=200*(B-C);return[Q,i,E]},I.lab.xyz=function(t){const o=t[0],B=t[1],C=t[2];let Q,i,E;i=(o+16)/116,Q=B/500+i,E=i-C/200;const n=i**3,s=Q**3,r=E**3;return i=n>.008856?n:(i-16/116)/7.787,Q=s>.008856?s:(Q-16/116)/7.787,E=r>.008856?r:(E-16/116)/7.787,Q*=95.047,i*=100,E*=108.883,[Q,i,E]},I.lab.lch=function(t){const o=t[0],B=t[1],C=t[2];let Q;Q=Math.atan2(C,B)*360/2/Math.PI,Q<0&&(Q+=360);const E=Math.sqrt(B*B+C*C);return[o,E,Q]},I.lch.lab=function(t){const o=t[0],B=t[1],Q=t[2]/360*2*Math.PI,i=B*Math.cos(Q),E=B*Math.sin(Q);return[o,i,E]},I.rgb.ansi16=function(t,o=null){const[B,C,Q]=t;let i=o===null?I.rgb.hsv(t)[2]:o;if(i=Math.round(i/50),i===0)return 30;let E=30+(Math.round(Q/255)<<2|Math.round(C/255)<<1|Math.round(B/255));return i===2&&(E+=60),E},I.hsv.ansi16=function(t){return I.rgb.ansi16(I.hsv.rgb(t),t[2])},I.rgb.ansi256=function(t){const o=t[0],B=t[1],C=t[2];return o===B&&B===C?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(B/255*5)+Math.round(C/255*5)},I.ansi16.rgb=function(t){let o=t%10;if(o===0||o===7)return t>50&&(o+=3.5),o=o/10.5*255,[o,o,o];const B=(~~(t>50)+1)*.5,C=(o&1)*B*255,Q=(o>>1&1)*B*255,i=(o>>2&1)*B*255;return[C,Q,i]},I.ansi256.rgb=function(t){if(t>=232){const i=(t-232)*10+8;return[i,i,i]}t-=16;let o;const B=Math.floor(t/36)/5*255,C=Math.floor((o=t%36)/6)/5*255,Q=o%6/5*255;return[B,C,Q]},I.rgb.hex=function(t){const B=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(B.length)+B},I.hex.rgb=function(t){const o=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let B=o[0];o[0].length===3&&(B=B.split("").map(n=>n+n).join(""));const C=parseInt(B,16),Q=C>>16&255,i=C>>8&255,E=C&255;return[Q,i,E]},I.rgb.hcg=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.max(Math.max(o,B),C),i=Math.min(Math.min(o,B),C),E=Q-i;let n,s;return E<1?n=i/(1-E):n=0,E<=0?s=0:Q===o?s=(B-C)/E%6:Q===B?s=2+(C-o)/E:s=4+(o-B)/E,s/=6,s%=1,[s*360,E*100,n*100]},I.hsl.hcg=function(t){const o=t[1]/100,B=t[2]/100,C=B<.5?2*o*B:2*o*(1-B);let Q=0;return C<1&&(Q=(B-.5*C)/(1-C)),[t[0],C*100,Q*100]},I.hsv.hcg=function(t){const o=t[1]/100,B=t[2]/100,C=o*B;let Q=0;return C<1&&(Q=(B-C)/(1-C)),[t[0],C*100,Q*100]},I.hcg.rgb=function(t){const o=t[0]/360,B=t[1]/100,C=t[2]/100;if(B===0)return[C*255,C*255,C*255];const Q=[0,0,0],i=o%1*6,E=i%1,n=1-E;let s=0;switch(Math.floor(i)){case 0:Q[0]=1,Q[1]=E,Q[2]=0;break;case 1:Q[0]=n,Q[1]=1,Q[2]=0;break;case 2:Q[0]=0,Q[1]=1,Q[2]=E;break;case 3:Q[0]=0,Q[1]=n,Q[2]=1;break;case 4:Q[0]=E,Q[1]=0,Q[2]=1;break;default:Q[0]=1,Q[1]=0,Q[2]=n}return s=(1-B)*C,[(B*Q[0]+s)*255,(B*Q[1]+s)*255,(B*Q[2]+s)*255]},I.hcg.hsv=function(t){const o=t[1]/100,B=t[2]/100,C=o+B*(1-o);let Q=0;return C>0&&(Q=o/C),[t[0],Q*100,C*100]},I.hcg.hsl=function(t){const o=t[1]/100,C=t[2]/100*(1-o)+.5*o;let Q=0;return C>0&&C<.5?Q=o/(2*C):C>=.5&&C<1&&(Q=o/(2*(1-C))),[t[0],Q*100,C*100]},I.hcg.hwb=function(t){const o=t[1]/100,B=t[2]/100,C=o+B*(1-o);return[t[0],(C-o)*100,(1-C)*100]},I.hwb.hcg=function(t){const o=t[1]/100,C=1-t[2]/100,Q=C-o;let i=0;return Q<1&&(i=(C-Q)/(1-Q)),[t[0],Q*100,i*100]},I.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},I.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},I.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},I.gray.hsl=function(t){return[0,0,t[0]]},I.gray.hsv=I.gray.hsl,I.gray.hwb=function(t){return[0,100,t[0]]},I.gray.cmyk=function(t){return[0,0,0,t[0]]},I.gray.lab=function(t){return[t[0],0,0]},I.gray.hex=function(t){const o=Math.round(t[0]/100*255)&255,C=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(C.length)+C},I.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]},Utg}var Jtg,eRI;function IQo(){if(eRI)return Jtg;eRI=1;const g=IRI();function A(){const o={},B=Object.keys(g);for(let C=B.length,Q=0;Q<C;Q++)o[B[Q]]={distance:-1,parent:null};return o}function I(o){const B=A(),C=[o];for(B[o].distance=0;C.length;){const Q=C.pop(),i=Object.keys(g[Q]);for(let E=i.length,n=0;n<E;n++){const s=i[n],r=B[s];r.distance===-1&&(r.distance=B[Q].distance+1,r.parent=Q,C.unshift(s))}}return B}function e(o,B){return function(C){return B(o(C))}}function t(o,B){const C=[B[o].parent,o];let Q=g[B[o].parent][o],i=B[o].parent;for(;B[i].parent;)C.unshift(B[i].parent),Q=e(g[B[i].parent][i],Q),i=B[i].parent;return Q.conversion=C,Q}return Jtg=function(o){const B=I(o),C={},Q=Object.keys(B);for(let i=Q.length,E=0;E<i;E++){const n=Q[E];B[n].parent!==null&&(C[n]=t(n,B))}return C},Jtg}var Ptg,tRI;function eQo(){if(tRI)return Ptg;tRI=1;const g=IRI(),A=IQo(),I={},e=Object.keys(g);function t(B){const C=function(...Q){const i=Q[0];return i==null?i:(i.length>1&&(Q=i),B(Q))};return"conversion"in B&&(C.conversion=B.conversion),C}function o(B){const C=function(...Q){const i=Q[0];if(i==null)return i;i.length>1&&(Q=i);const E=B(Q);if(typeof E=="object")for(let n=E.length,s=0;s<n;s++)E[s]=Math.round(E[s]);return E};return"conversion"in B&&(C.conversion=B.conversion),C}return e.forEach(B=>{I[B]={},Object.defineProperty(I[B],"channels",{value:g[B].channels}),Object.defineProperty(I[B],"labels",{value:g[B].labels});const C=A(B);Object.keys(C).forEach(i=>{const E=C[i];I[B][i]=o(E),I[B][i].raw=t(E)})}),Ptg=I,Ptg}var Ktg,oRI;function tQo(){if(oRI)return Ktg;oRI=1;const g=AQo(),A=eQo(),I=["keyword","gray","hex"],e={};for(const s of Object.keys(A))e[[...A[s].labels].sort().join("")]=s;const t={};function o(s,r){if(!(this instanceof o))return new o(s,r);if(r&&r in I&&(r=null),r&&!(r in A))throw new Error("Unknown model: "+r);let a,c;if(s==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(s instanceof o)this.model=s.model,this.color=[...s.color],this.valpha=s.valpha;else if(typeof s=="string"){const h=g.get(s);if(h===null)throw new Error("Unable to parse color from string: "+s);this.model=h.model,c=A[this.model].channels,this.color=h.value.slice(0,c),this.valpha=typeof h.value[c]=="number"?h.value[c]:1}else if(s.length>0){this.model=r||"rgb",c=A[this.model].channels;const h=Array.prototype.slice.call(s,0,c);this.color=n(h,c),this.valpha=typeof s[c]=="number"?s[c]:1}else if(typeof s=="number")this.model="rgb",this.color=[s>>16&255,s>>8&255,s&255],this.valpha=1;else{this.valpha=1;const h=Object.keys(s);"alpha"in s&&(h.splice(h.indexOf("alpha"),1),this.valpha=typeof s.alpha=="number"?s.alpha:0);const l=h.sort().join("");if(!(l in e))throw new Error("Unable to parse color from object: "+JSON.stringify(s));this.model=e[l];const{labels:D}=A[this.model],d=[];for(a=0;a<D.length;a++)d.push(s[D[a]]);this.color=n(d)}if(t[this.model])for(c=A[this.model].channels,a=0;a<c;a++){const h=t[this.model][a];h&&(this.color[a]=h(this.color[a]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}o.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(s){let r=this.model in g.to?this:this.rgb();r=r.round(typeof s=="number"?s:1);const a=r.valpha===1?r.color:[...r.color,this.valpha];return g.to[r.model](a)},percentString(s){const r=this.rgb().round(typeof s=="number"?s:1),a=r.valpha===1?r.color:[...r.color,this.valpha];return g.to.rgb.percent(a)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){const s={},{channels:r}=A[this.model],{labels:a}=A[this.model];for(let c=0;c<r;c++)s[a[c]]=this.color[c];return this.valpha!==1&&(s.alpha=this.valpha),s},unitArray(){const s=this.rgb().color;return s[0]/=255,s[1]/=255,s[2]/=255,this.valpha!==1&&s.push(this.valpha),s},unitObject(){const s=this.rgb().object();return s.r/=255,s.g/=255,s.b/=255,this.valpha!==1&&(s.alpha=this.valpha),s},round(s){return s=Math.max(s||0,0),new o([...this.color.map(C(s)),this.valpha],this.model)},alpha(s){return s!==void 0?new o([...this.color,Math.max(0,Math.min(1,s))],this.model):this.valpha},red:Q("rgb",0,i(255)),green:Q("rgb",1,i(255)),blue:Q("rgb",2,i(255)),hue:Q(["hsl","hsv","hsl","hwb","hcg"],0,s=>(s%360+360)%360),saturationl:Q("hsl",1,i(100)),lightness:Q("hsl",2,i(100)),saturationv:Q("hsv",1,i(100)),value:Q("hsv",2,i(100)),chroma:Q("hcg",1,i(100)),gray:Q("hcg",2,i(100)),white:Q("hwb",1,i(100)),wblack:Q("hwb",2,i(100)),cyan:Q("cmyk",0,i(100)),magenta:Q("cmyk",1,i(100)),yellow:Q("cmyk",2,i(100)),black:Q("cmyk",3,i(100)),x:Q("xyz",0,i(95.047)),y:Q("xyz",1,i(100)),z:Q("xyz",2,i(108.833)),l:Q("lab",0,i(100)),a:Q("lab",1),b:Q("lab",2),keyword(s){return s!==void 0?new o(s):A[this.model].keyword(this.color)},hex(s){return s!==void 0?new o(s):g.to.hex(this.rgb().round().color)},hexa(s){if(s!==void 0)return new o(s);const r=this.rgb().round().color;let a=Math.round(this.valpha*255).toString(16).toUpperCase();return a.length===1&&(a="0"+a),g.to.hex(r)+a},rgbNumber(){const s=this.rgb().color;return(s[0]&255)<<16|(s[1]&255)<<8|s[2]&255},luminosity(){const s=this.rgb().color,r=[];for(const[a,c]of s.entries()){const h=c/255;r[a]=h<=.04045?h/12.92:((h+.055)/1.055)**2.4}return .2126*r[0]+.7152*r[1]+.0722*r[2]},contrast(s){const r=this.luminosity(),a=s.luminosity();return r>a?(r+.05)/(a+.05):(a+.05)/(r+.05)},level(s){const r=this.contrast(s);return r>=7?"AAA":r>=4.5?"AA":""},isDark(){const s=this.rgb().color;return(s[0]*2126+s[1]*7152+s[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){const s=this.rgb();for(let r=0;r<3;r++)s.color[r]=255-s.color[r];return s},lighten(s){const r=this.hsl();return r.color[2]+=r.color[2]*s,r},darken(s){const r=this.hsl();return r.color[2]-=r.color[2]*s,r},saturate(s){const r=this.hsl();return r.color[1]+=r.color[1]*s,r},desaturate(s){const r=this.hsl();return r.color[1]-=r.color[1]*s,r},whiten(s){const r=this.hwb();return r.color[1]+=r.color[1]*s,r},blacken(s){const r=this.hwb();return r.color[2]+=r.color[2]*s,r},grayscale(){const s=this.rgb().color,r=s[0]*.3+s[1]*.59+s[2]*.11;return o.rgb(r,r,r)},fade(s){return this.alpha(this.valpha-this.valpha*s)},opaquer(s){return this.alpha(this.valpha+this.valpha*s)},rotate(s){const r=this.hsl();let a=r.color[0];return a=(a+s)%360,a=a<0?360+a:a,r.color[0]=a,r},mix(s,r){if(!s||!s.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof s);const a=s.rgb(),c=this.rgb(),h=r===void 0?.5:r,l=2*h-1,D=a.alpha()-c.alpha(),d=((l*D===-1?l:(l+D)/(1+l*D))+1)/2,y=1-d;return o.rgb(d*a.red()+y*c.red(),d*a.green()+y*c.green(),d*a.blue()+y*c.blue(),a.alpha()*h+c.alpha()*(1-h))}};for(const s of Object.keys(A)){if(I.includes(s))continue;const{channels:r}=A[s];o.prototype[s]=function(...a){return this.model===s?new o(this):a.length>0?new o(a,s):new o([...E(A[this.model][s].raw(this.color)),this.valpha],s)},o[s]=function(...a){let c=a[0];return typeof c=="number"&&(c=n(a,r)),new o(c,s)}}function B(s,r){return Number(s.toFixed(r))}function C(s){return function(r){return B(r,s)}}function Q(s,r,a){s=Array.isArray(s)?s:[s];for(const c of s)(t[c]||(t[c]=[]))[r]=a;return s=s[0],function(c){let h;return c!==void 0?(a&&(c=a(c)),h=this[s](),h.color[r]=c,h):(h=this[s]().color[r],a&&(h=a(h)),h)}}function i(s){return function(r){return Math.max(0,Math.min(s,r))}}function E(s){return Array.isArray(s)?s:[s]}function n(s,r){for(let a=0;a<r;a++)typeof s[a]!="number"&&(s[a]=0);return s}return Ktg=o,Ktg}var oQo=tQo();const GQ=Lp(oQo),BQo=llg(See);var Ltg,BRI;function CQo(){if(BRI)return Ltg;BRI=1;var g=Object.defineProperty,A=Object.getOwnPropertyDescriptor,I=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,t=(h,l)=>{for(var D in l)g(h,D,{get:l[D],enumerable:!0})},o=(h,l,D,d)=>{if(l&&typeof l=="object"||typeof l=="function")for(let y of I(l))!e.call(h,y)&&y!==D&&g(h,y,{get:()=>l[y],enumerable:!(d=A(l,y))||d.enumerable});return h},B=h=>o(g({},"__esModule",{value:!0}),h),C={};t(C,{SuperGrid:()=>c,toMMSI:()=>a,toMeterSI:()=>r}),Ltg=B(C);var Q=mM(),i=BQo,E=mlg(),n=(h,l,D)=>{const d=[];if(l<h)for(let y=h;y>=l;y-=Math.abs(D))d.push(y);else for(let y=h;y<=l;y+=Math.abs(D))d.push(y);return d};function s(h,l){return{x:Math.round(l.x/h)*h,y:Math.round(l.y/h)*h}}function r(h,l=1){return h<0?"-"+r(-h):h<1e-6?"0m":h>1e3?Math.floor(h/1e3)+"km":h>1&&l>1?Math.round(h)+"m":h>1&&l<=1?h.toFixed(Math.ceil(-Math.log10(l)))+"m":h<1&&l>=1/1e3?Math.round(h*1e3)+"mm":h<1&&l<1/1e3?(h*1e3).toFixed(Math.ceil(-Math.log10(l*1e3)))+"mm":""}function a(h,l=1){return r(h/1e3,l/1e3)}var c=h=>{var l;const D=(0,Q.useRef)(null),[d,y]=(0,Q.useState)({x:0,y:0}),{majorColor:w="rgba(0,0,0,0.2)",minorColor:u="rgba(0,0,0,0.1)",textColor:G=(l=h.majorColor)!=null?l:"rgba(0,0,0,0.5)",width:m,height:p,screenSpaceCellSize:k=200,stringifyCoord:S=(U,K,Y)=>`${r(U,Y)}, ${r(K,Y)}`}=h,R=Math.ceil(m/k)+2,x=Math.ceil(p/k)+2;(0,Q.useEffect)(()=>{if(!D.current)return;const U=D.current.getContext("2d");if(!U)return;const K=k/10**Math.floor(Math.log10(h.transform.a)),Y=h.transform.d<0?-1:1,q=k/10**Math.log10(h.transform.a)/K;function j(hA,sA,cA){const SA=hA;let FA,aA,xA;for(FA=sA.x;FA<=cA.x;FA+=SA)aA=(0,i.applyToPoint)(h.transform,{x:FA,y:sA.y}),xA=(0,i.applyToPoint)(h.transform,{x:FA,y:cA.y}),U.beginPath(),U.moveTo(aA.x,aA.y),U.lineTo(xA.x,xA.y),U.stroke();const RA=n(sA.y,cA.y,SA*Y);for(const NA of RA)aA=(0,i.applyToPoint)(h.transform,{x:sA.x,y:NA}),xA=(0,i.applyToPoint)(h.transform,{x:cA.x,y:NA}),U.beginPath(),U.moveTo(aA.x,aA.y),U.lineTo(xA.x,xA.y),U.stroke()}function W(hA,sA,cA){const SA=hA;let FA;for(FA=sA.x;FA<=cA.x;FA+=SA)for(const aA of n(sA.y,cA.y,SA*Y)){const xA=(0,i.applyToPoint)(h.transform,{x:FA,y:aA});U.fillStyle=G,U.font="12px sans-serif",U.fillText(S(FA,aA,hA),xA.x+2,xA.y-2)}}U.clearRect(0,0,m,p);const Z=(0,i.applyToPoint)((0,i.inverse)(h.transform),{x:0,y:0}),gA={x:Math.floor((Z.x-K)/K)*K,y:Math.floor((Z.y-K)/K+(Y==-1?2:0))*K},tA={x:gA.x+K*R,y:gA.y+K*x*Y},QA=K*5,nA={x:Math.floor((Z.x-QA)/QA)*QA,y:Math.floor((Z.y-QA)/QA+(Y==-1?2:0))*QA},DA={x:nA.x+QA*R,y:nA.y+QA*x*Y};U.globalAlpha=1,U.strokeStyle=w,j(K,gA,tA),W(QA,nA,DA),U.globalAlpha=1-q,j(QA/10,nA,DA),U.globalAlpha=1-q,U.strokeStyle=u,j(K/10,gA,tA),U.globalAlpha=Math.max(((1-q)*10-5)/5,0),W(QA/10,nA,DA),U.globalAlpha=1;const CA=(0,i.applyToPoint)(h.transform,d);U.font="12px sans-serif",U.fillStyle=G,U.fillText(S(d.x,d.y,K),CA.x+2,CA.y-2),U.strokeStyle=w,U.strokeRect(CA.x-5,CA.y-5,10,10)},[D,h.transform,d,m,p]);const N=U=>{if(!D.current)return;const K=k/10/10**Math.floor(Math.log10(h.transform.a)),Y=D.current.getBoundingClientRect(),b=(0,i.applyToPoint)((0,i.inverse)(h.transform),{x:U.clientX-Y.left,y:U.clientY-Y.top}),q=s(K,b);y(q)};return(0,E.jsx)("canvas",{onMouseUp:U=>{U.button===1&&N(U)},onDoubleClick:N,ref:D,width:h.width,height:h.height})};return Ltg}var lb=CQo();function QQo(g){if(g.sheet)return g.sheet;for(var A=0;A<document.styleSheets.length;A++)if(document.styleSheets[A].ownerNode===g)return document.styleSheets[A]}function iQo(g){var A=document.createElement("style");return A.setAttribute("data-emotion",g.key),g.nonce!==void 0&&A.setAttribute("nonce",g.nonce),A.appendChild(document.createTextNode("")),A.setAttribute("data-s",""),A}var EQo=(function(){function g(I){var e=this;this._insertTag=function(t){var o;e.tags.length===0?e.insertionPoint?o=e.insertionPoint.nextSibling:e.prepend?o=e.container.firstChild:o=e.before:o=e.tags[e.tags.length-1].nextSibling,e.container.insertBefore(t,o),e.tags.push(t)},this.isSpeedy=I.speedy===void 0?!0:I.speedy,this.tags=[],this.ctr=0,this.nonce=I.nonce,this.key=I.key,this.container=I.container,this.prepend=I.prepend,this.insertionPoint=I.insertionPoint,this.before=null}var A=g.prototype;return A.hydrate=function(e){e.forEach(this._insertTag)},A.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(iQo(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var o=QQo(t);try{o.insertRule(e,o.cssRules.length)}catch{}}else t.appendChild(document.createTextNode(e));this.ctr++},A.flush=function(){this.tags.forEach(function(e){var t;return(t=e.parentNode)==null?void 0:t.removeChild(e)}),this.tags=[],this.ctr=0},g})(),lG="-ms-",IGA="-moz-",ks="-webkit-",CRI="comm",Ytg="rule",_tg="decl",nQo="@import",QRI="@keyframes",sQo="@layer",aQo=Math.abs,eGA=String.fromCharCode,rQo=Object.assign;function cQo(g,A){return $w(g,0)^45?(((A<<2^$w(g,0))<<2^$w(g,1))<<2^$w(g,2))<<2^$w(g,3):0}function iRI(g){return g.trim()}function hQo(g,A){return(g=A.exec(g))?g[0]:g}function Ms(g,A,I){return g.replace(A,I)}function btg(g,A){return g.indexOf(A)}function $w(g,A){return g.charCodeAt(A)|0}function ItA(g,A,I){return g.slice(A,I)}function eF(g){return g.length}function Htg(g){return g.length}function tGA(g,A){return A.push(g),g}function lQo(g,A){return g.map(A).join("")}var oGA=1,TZ=1,ERI=0,xk=0,YD=0,qZ="";function BGA(g,A,I,e,t,o,B){return{value:g,root:A,parent:I,type:e,props:t,children:o,line:oGA,column:TZ,length:B,return:""}}function etA(g,A){return rQo(BGA("",null,null,"",null,null,0),g,{length:-g.length},A)}function DQo(){return YD}function dQo(){return YD=xk>0?$w(qZ,--xk):0,TZ--,YD===10&&(TZ=1,oGA--),YD}function uS(){return YD=xk<ERI?$w(qZ,xk++):0,TZ++,YD===10&&(TZ=1,oGA++),YD}function tF(){return $w(qZ,xk)}function CGA(){return xk}function ttA(g,A){return ItA(qZ,g,A)}function otA(g){switch(g){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function nRI(g){return oGA=TZ=1,ERI=eF(qZ=g),xk=0,[]}function sRI(g){return qZ="",g}function QGA(g){return iRI(ttA(xk-1,vtg(g===91?g+2:g===40?g+1:g)))}function yQo(g){for(;(YD=tF())&&YD<33;)uS();return otA(g)>2||otA(YD)>3?"":" "}function wQo(g,A){for(;--A&&uS()&&!(YD<48||YD>102||YD>57&&YD<65||YD>70&&YD<97););return ttA(g,CGA()+(A<6&&tF()==32&&uS()==32))}function vtg(g){for(;uS();)switch(YD){case g:return xk;case 34:case 39:g!==34&&g!==39&&vtg(YD);break;case 40:g===41&&vtg(g);break;case 92:uS();break}return xk}function uQo(g,A){for(;uS()&&g+YD!==57;)if(g+YD===84&&tF()===47)break;return"/*"+ttA(A,xk-1)+"*"+eGA(g===47?g:uS())}function GQo(g){for(;!otA(tF());)uS();return ttA(g,xk)}function mQo(g){return sRI(iGA("",null,null,null,[""],g=nRI(g),0,[0],g))}function iGA(g,A,I,e,t,o,B,C,Q){for(var i=0,E=0,n=B,s=0,r=0,a=0,c=1,h=1,l=1,D=0,d="",y=t,w=o,u=e,G=d;h;)switch(a=D,D=uS()){case 40:if(a!=108&&$w(G,n-1)==58){btg(G+=Ms(QGA(D),"&","&\f"),"&\f")!=-1&&(l=-1);break}case 34:case 39:case 91:G+=QGA(D);break;case 9:case 10:case 13:case 32:G+=yQo(a);break;case 92:G+=wQo(CGA()-1,7);continue;case 47:switch(tF()){case 42:case 47:tGA(pQo(uQo(uS(),CGA()),A,I),Q);break;default:G+="/"}break;case 123*c:C[i++]=eF(G)*l;case 125*c:case 59:case 0:switch(D){case 0:case 125:h=0;case 59+E:l==-1&&(G=Ms(G,/\f/g,"")),r>0&&eF(G)-n&&tGA(r>32?rRI(G+";",e,I,n-1):rRI(Ms(G," ","")+";",e,I,n-2),Q);break;case 59:G+=";";default:if(tGA(u=aRI(G,A,I,i,E,t,C,d,y=[],w=[],n),o),D===123)if(E===0)iGA(G,A,u,u,y,o,n,C,w);else switch(s===99&&$w(G,3)===110?100:s){case 100:case 108:case 109:case 115:iGA(g,u,u,e&&tGA(aRI(g,u,u,0,0,t,C,d,t,y=[],n),w),t,w,n,C,e?y:w);break;default:iGA(G,u,u,u,[""],w,0,C,w)}}i=E=r=0,c=l=1,d=G="",n=B;break;case 58:n=1+eF(G),r=a;default:if(c<1){if(D==123)--c;else if(D==125&&c++==0&&dQo()==125)continue}switch(G+=eGA(D),D*c){case 38:l=E>0?1:(G+="\f",-1);break;case 44:C[i++]=(eF(G)-1)*l,l=1;break;case 64:tF()===45&&(G+=QGA(uS())),s=tF(),E=n=eF(d=G+=GQo(CGA())),D++;break;case 45:a===45&&eF(G)==2&&(c=0)}}return o}function aRI(g,A,I,e,t,o,B,C,Q,i,E){for(var n=t-1,s=t===0?o:[""],r=Htg(s),a=0,c=0,h=0;a<e;++a)for(var l=0,D=ItA(g,n+1,n=aQo(c=B[a])),d=g;l<r;++l)(d=iRI(c>0?s[l]+" "+D:Ms(D,/&\f/g,s[l])))&&(Q[h++]=d);return BGA(g,A,I,t===0?Ytg:C,Q,i,E)}function pQo(g,A,I){return BGA(g,A,I,CRI,eGA(DQo()),ItA(g,2,-2),0)}function rRI(g,A,I,e){return BGA(g,A,I,_tg,ItA(g,0,e),ItA(g,e+1,-1),e)}function ZZ(g,A){for(var I="",e=Htg(g),t=0;t<e;t++)I+=A(g[t],t,g,A)||"";return I}function kQo(g,A,I,e){switch(g.type){case sQo:if(g.children.length)break;case nQo:case _tg:return g.return=g.return||g.value;case CRI:return"";case QRI:return g.return=g.value+"{"+ZZ(g.children,e)+"}";case Ytg:g.value=g.props.join(",")}return eF(I=ZZ(g.children,e))?g.return=g.value+"{"+I+"}":""}function MQo(g){var A=Htg(g);return function(I,e,t,o){for(var B="",C=0;C<A;C++)B+=g[C](I,e,t,o)||"";return B}}function SQo(g){return function(A){A.root||(A=A.return)&&g(A)}}function fQo(g){var A=Object.create(null);return function(I){return A[I]===void 0&&(A[I]=g(I)),A[I]}}var RQo=function(A,I,e){for(var t=0,o=0;t=o,o=tF(),t===38&&o===12&&(I[e]=1),!otA(o);)uS();return ttA(A,xk)},NQo=function(A,I){var e=-1,t=44;do switch(otA(t)){case 0:t===38&&tF()===12&&(I[e]=1),A[e]+=RQo(xk-1,I,e);break;case 2:A[e]+=QGA(t);break;case 4:if(t===44){A[++e]=tF()===58?"&\f":"",I[e]=A[e].length;break}default:A[e]+=eGA(t)}while(t=uS());return A},xQo=function(A,I){return sRI(NQo(nRI(A),I))},cRI=new WeakMap,FQo=function(A){if(!(A.type!=="rule"||!A.parent||A.length<1)){for(var I=A.value,e=A.parent,t=A.column===e.column&&A.line===e.line;e.type!=="rule";)if(e=e.parent,!e)return;if(!(A.props.length===1&&I.charCodeAt(0)!==58&&!cRI.get(e))&&!t){cRI.set(A,!0);for(var o=[],B=xQo(I,o),C=e.props,Q=0,i=0;Q<B.length;Q++)for(var E=0;E<C.length;E++,i++)A.props[i]=o[Q]?B[Q].replace(/&\f/g,C[E]):C[E]+" "+B[Q]}}},UQo=function(A){if(A.type==="decl"){var I=A.value;I.charCodeAt(0)===108&&I.charCodeAt(2)===98&&(A.return="",A.value="")}};function hRI(g,A){switch(cQo(g,A)){case 5103:return ks+"print-"+g+g;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return ks+g+g;case 5349:case 4246:case 4810:case 6968:case 2756:return ks+g+IGA+g+lG+g+g;case 6828:case 4268:return ks+g+lG+g+g;case 6165:return ks+g+lG+"flex-"+g+g;case 5187:return ks+g+Ms(g,/(\w+).+(:[^]+)/,ks+"box-$1$2"+lG+"flex-$1$2")+g;case 5443:return ks+g+lG+"flex-item-"+Ms(g,/flex-|-self/,"")+g;case 4675:return ks+g+lG+"flex-line-pack"+Ms(g,/align-content|flex-|-self/,"")+g;case 5548:return ks+g+lG+Ms(g,"shrink","negative")+g;case 5292:return ks+g+lG+Ms(g,"basis","preferred-size")+g;case 6060:return ks+"box-"+Ms(g,"-grow","")+ks+g+lG+Ms(g,"grow","positive")+g;case 4554:return ks+Ms(g,/([^-])(transform)/g,"$1"+ks+"$2")+g;case 6187:return Ms(Ms(Ms(g,/(zoom-|grab)/,ks+"$1"),/(image-set)/,ks+"$1"),g,"")+g;case 5495:case 3959:return Ms(g,/(image-set\([^]*)/,ks+"$1$`$1");case 4968:return Ms(Ms(g,/(.+:)(flex-)?(.*)/,ks+"box-pack:$3"+lG+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+ks+g+g;case 4095:case 3583:case 4068:case 2532:return Ms(g,/(.+)-inline(.+)/,ks+"$1$2")+g;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(eF(g)-1-A>6)switch($w(g,A+1)){case 109:if($w(g,A+4)!==45)break;case 102:return Ms(g,/(.+:)(.+)-([^]+)/,"$1"+ks+"$2-$3$1"+IGA+($w(g,A+3)==108?"$3":"$2-$3"))+g;case 115:return~btg(g,"stretch")?hRI(Ms(g,"stretch","fill-available"),A)+g:g}break;case 4949:if($w(g,A+1)!==115)break;case 6444:switch($w(g,eF(g)-3-(~btg(g,"!important")&&10))){case 107:return Ms(g,":",":"+ks)+g;case 101:return Ms(g,/(.+:)([^;!]+)(;|!.+)?/,"$1"+ks+($w(g,14)===45?"inline-":"")+"box$3$1"+ks+"$2$3$1"+lG+"$2box$3")+g}break;case 5936:switch($w(g,A+11)){case 114:return ks+g+lG+Ms(g,/[svh]\w+-[tblr]{2}/,"tb")+g;case 108:return ks+g+lG+Ms(g,/[svh]\w+-[tblr]{2}/,"tb-rl")+g;case 45:return ks+g+lG+Ms(g,/[svh]\w+-[tblr]{2}/,"lr")+g}return ks+g+lG+g+g}return g}var JQo=function(A,I,e,t){if(A.length>-1&&!A.return)switch(A.type){case _tg:A.return=hRI(A.value,A.length);break;case QRI:return ZZ([etA(A,{value:Ms(A.value,"@","@"+ks)})],t);case Ytg:if(A.length)return lQo(A.props,function(o){switch(hQo(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return ZZ([etA(A,{props:[Ms(o,/:(read-\w+)/,":"+IGA+"$1")]})],t);case"::placeholder":return ZZ([etA(A,{props:[Ms(o,/:(plac\w+)/,":"+ks+"input-$1")]}),etA(A,{props:[Ms(o,/:(plac\w+)/,":"+IGA+"$1")]}),etA(A,{props:[Ms(o,/:(plac\w+)/,lG+"input-$1")]})],t)}return""})}},PQo=[JQo],KQo=function(A){var I=A.key;if(I==="css"){var e=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(e,function(c){var h=c.getAttribute("data-emotion");h.indexOf(" ")!==-1&&(document.head.appendChild(c),c.setAttribute("data-s",""))})}var t=A.stylisPlugins||PQo,o={},B,C=[];B=A.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+I+' "]'),function(c){for(var h=c.getAttribute("data-emotion").split(" "),l=1;l<h.length;l++)o[h[l]]=!0;C.push(c)});var Q,i=[FQo,UQo];{var E,n=[kQo,SQo(function(c){E.insert(c)})],s=MQo(i.concat(t,n)),r=function(h){return ZZ(mQo(h),s)};Q=function(h,l,D,d){E=D,r(h?h+"{"+l.styles+"}":l.styles),d&&(a.inserted[l.name]=!0)}}var a={key:I,sheet:new EQo({key:I,container:B,nonce:A.nonce,speedy:A.speedy,prepend:A.prepend,insertionPoint:A.insertionPoint}),nonce:A.nonce,inserted:o,registered:{},insert:Q};return a.sheet.hydrate(C),a};function LQo(g){for(var A=0,I,e=0,t=g.length;t>=4;++e,t-=4)I=g.charCodeAt(e)&255|(g.charCodeAt(++e)&255)<<8|(g.charCodeAt(++e)&255)<<16|(g.charCodeAt(++e)&255)<<24,I=(I&65535)*1540483477+((I>>>16)*59797<<16),I^=I>>>24,A=(I&65535)*1540483477+((I>>>16)*59797<<16)^(A&65535)*1540483477+((A>>>16)*59797<<16);switch(t){case 3:A^=(g.charCodeAt(e+2)&255)<<16;case 2:A^=(g.charCodeAt(e+1)&255)<<8;case 1:A^=g.charCodeAt(e)&255,A=(A&65535)*1540483477+((A>>>16)*59797<<16)}return A^=A>>>13,A=(A&65535)*1540483477+((A>>>16)*59797<<16),((A^A>>>15)>>>0).toString(36)}var YQo={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},_Qo=/[A-Z]|^ms/g,bQo=/_EMO_([^_]+?)_([^]*?)_EMO_/g,lRI=function(A){return A.charCodeAt(1)===45},DRI=function(A){return A!=null&&typeof A!="boolean"},Ttg=fQo(function(g){return lRI(g)?g:g.replace(_Qo,"-$&").toLowerCase()}),dRI=function(A,I){switch(A){case"animation":case"animationName":if(typeof I=="string")return I.replace(bQo,function(e,t,o){return iL={name:t,styles:o,next:iL},t})}return YQo[A]!==1&&!lRI(A)&&typeof I=="number"&&I!==0?I+"px":I};function EGA(g,A,I){if(I==null)return"";var e=I;if(e.__emotion_styles!==void 0)return e;switch(typeof I){case"boolean":return"";case"object":{var t=I;if(t.anim===1)return iL={name:t.name,styles:t.styles,next:iL},t.name;var o=I;if(o.styles!==void 0){var B=o.next;if(B!==void 0)for(;B!==void 0;)iL={name:B.name,styles:B.styles,next:iL},B=B.next;var C=o.styles+";";return C}return HQo(g,A,I)}}var Q=I;if(A==null)return Q;var i=A[Q];return i!==void 0?i:Q}function HQo(g,A,I){var e="";if(Array.isArray(I))for(var t=0;t<I.length;t++)e+=EGA(g,A,I[t])+";";else for(var o in I){var B=I[o];if(typeof B!="object"){var C=B;A!=null&&A[C]!==void 0?e+=o+"{"+A[C]+"}":DRI(C)&&(e+=Ttg(o)+":"+dRI(o,C)+";")}else if(Array.isArray(B)&&typeof B[0]=="string"&&(A==null||A[B[0]]===void 0))for(var Q=0;Q<B.length;Q++)DRI(B[Q])&&(e+=Ttg(o)+":"+dRI(o,B[Q])+";");else{var i=EGA(g,A,B);switch(o){case"animation":case"animationName":{e+=Ttg(o)+":"+i+";";break}default:e+=o+"{"+i+"}"}}}return e}var yRI=/label:\s*([^\s;{]+)\s*(;|$)/g,iL;function qtg(g,A,I){if(g.length===1&&typeof g[0]=="object"&&g[0]!==null&&g[0].styles!==void 0)return g[0];var e=!0,t="";iL=void 0;var o=g[0];if(o==null||o.raw===void 0)e=!1,t+=EGA(I,A,o);else{var B=o;t+=B[0]}for(var C=1;C<g.length;C++)if(t+=EGA(I,A,g[C]),e){var Q=o;t+=Q[C]}yRI.lastIndex=0;for(var i="",E;(E=yRI.exec(t))!==null;)i+="-"+E[1];var n=LQo(t)+i;return{name:n,styles:t,next:iL}}function wRI(g,A,I){var e="";return I.split(" ").forEach(function(t){g[t]!==void 0?A.push(g[t]+";"):t&&(e+=t+" ")}),e}var vQo=function(A,I,e){var t=A.key+"-"+I.name;A.registered[t]===void 0&&(A.registered[t]=I.styles)},TQo=function(A,I,e){vQo(A,I);var t=A.key+"-"+I.name;if(A.inserted[I.name]===void 0){var o=I;do A.insert(I===o?"."+t:"",o,A.sheet,!0),o=o.next;while(o!==void 0)}};function uRI(g,A){if(g.inserted[A.name]===void 0)return g.insert("",A,g.sheet,!0)}function GRI(g,A,I){var e=[],t=wRI(g,e,I);return e.length<2?I:t+A(e)}var qQo=function(A){var I=KQo(A);I.sheet.speedy=function(C){this.isSpeedy=C},I.compat=!0;var e=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=qtg(i,I.registered,void 0);return TQo(I,n),I.key+"-"+n.name},t=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=qtg(i,I.registered),s="animation-"+n.name;return uRI(I,{name:n.name,styles:"@keyframes "+s+"{"+n.styles+"}"}),s},o=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=qtg(i,I.registered);uRI(I,n)},B=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];return GRI(I.registered,e,ZQo(i))};return{css:e,cx:B,injectGlobal:o,keyframes:t,hydrate:function(Q){Q.forEach(function(i){I.inserted[i]=!0})},flush:function(){I.registered={},I.inserted={},I.sheet.flush()},sheet:I.sheet,cache:I,getRegisteredStyles:wRI.bind(null,I.registered),merge:GRI.bind(null,I.registered,e)}},ZQo=function g(A){for(var I="",e=0;e<A.length;e++){var t=A[e];if(t!=null){var o=void 0;switch(typeof t){case"boolean":break;case"object":{if(Array.isArray(t))o=g(t);else{o="";for(var B in t)t[B]&&B&&(o&&(o+=" "),o+=B)}break}default:o=t}o&&(I&&(I+=" "),I+=o)}}return I},OQo=qQo({key:"css"}),OZ=OQo.css,WQo=Object.create,Ztg=Object.defineProperty,VQo=Object.getOwnPropertyDescriptor,Otg=Object.getOwnPropertyNames,jQo=Object.getPrototypeOf,zQo=Object.prototype.hasOwnProperty,XQo=(g,A)=>function(){return g&&(A=(0,g[Otg(g)[0]])(g=0)),A},Wtg=(g,A)=>function(){return A||(0,g[Otg(g)[0]])((A={exports:{}}).exports,A),A.exports},$Qo=(g,A)=>{for(var I in A)Ztg(g,I,{get:A[I],enumerable:!0})},Aio=(g,A,I,e)=>{if(A&&typeof A=="object"||typeof A=="function")for(let t of Otg(A))!zQo.call(g,t)&&t!==I&&Ztg(g,t,{get:()=>A[t],enumerable:!(e=VQo(A,t))||e.enumerable});return g},mRI=(g,A,I)=>(I=g!=null?WQo(jQo(g)):{},Aio(A||!g||!g.__esModule?Ztg(I,"default",{value:g,enumerable:!0}):I,g)),gio=Wtg({"node_modules/toggle-selection/index.js"(g,A){A.exports=function(){var I=document.getSelection();if(!I.rangeCount)return function(){};for(var e=document.activeElement,t=[],o=0;o<I.rangeCount;o++)t.push(I.getRangeAt(o));switch(e.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":e.blur();break;default:e=null;break}return I.removeAllRanges(),function(){I.type==="Caret"&&I.removeAllRanges(),I.rangeCount||t.forEach(function(B){I.addRange(B)}),e&&e.focus()}}}}),Iio=Wtg({"node_modules/copy-to-clipboard/index.js"(g,A){var I=gio(),e={"text/plain":"Text","text/html":"Url",default:"Text"},t="Copy to clipboard: #{key}, Enter";function o(C){var Q=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return C.replace(/#{\s*key\s*}/g,Q)}function B(C,Q){var i,E,n,s,r,a,c=!1;Q||(Q={}),i=Q.debug||!1;try{n=I(),s=document.createRange(),r=document.getSelection(),a=document.createElement("span"),a.textContent=C,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(l){if(l.stopPropagation(),Q.format)if(l.preventDefault(),typeof l.clipboardData>"u"){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var D=e[Q.format]||e.default;window.clipboardData.setData(D,C)}else l.clipboardData.clearData(),l.clipboardData.setData(Q.format,C);Q.onCopy&&(l.preventDefault(),Q.onCopy(l.clipboardData))}),document.body.appendChild(a),s.selectNodeContents(a),r.addRange(s);var h=document.execCommand("copy");if(!h)throw new Error("copy command was unsuccessful");c=!0}catch(l){i&&console.error("unable to copy using execCommand: ",l),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(Q.format||"text",C),Q.onCopy&&Q.onCopy(window.clipboardData),c=!0}catch(D){i&&console.error("unable to copy using clipboardData: ",D),i&&console.error("falling back to prompt"),E=o("message"in Q?Q.message:t),window.prompt(E,C)}}finally{r&&(typeof r.removeRange=="function"?r.removeRange(s):r.removeAllRanges()),a&&document.body.removeChild(a),n()}return c}A.exports=B}}),eio=Wtg({"node_modules/svgson/dist/svgson.umd.js"(g,A){(function(I,e){typeof g=="object"&&typeof A<"u"?A.exports=e():typeof define=="function"&&define.amd?define(e):(I=typeof globalThis<"u"?globalThis:I||self,I.svgson=e())})(g,function(){var I=function(W){return W!=null&&(e(W)||t(W)||!!W._isBuffer)};function e(W){return!!W.constructor&&typeof W.constructor.isBuffer=="function"&&W.constructor.isBuffer(W)}function t(W){return typeof W.readFloatLE=="function"&&typeof W.slice=="function"&&e(W.slice(0,0))}var o=Object.prototype.toString,B=function(Z){if(typeof Z>"u")return"undefined";if(Z===null)return"null";if(Z===!0||Z===!1||Z instanceof Boolean)return"boolean";if(typeof Z=="string"||Z instanceof String)return"string";if(typeof Z=="number"||Z instanceof Number)return"number";if(typeof Z=="function"||Z instanceof Function)return"function";if(typeof Array.isArray<"u"&&Array.isArray(Z))return"array";if(Z instanceof RegExp)return"regexp";if(Z instanceof Date)return"date";var gA=o.call(Z);return gA==="[object RegExp]"?"regexp":gA==="[object Date]"?"date":gA==="[object Arguments]"?"arguments":gA==="[object Error]"?"error":I(Z)?"buffer":gA==="[object Set]"?"set":gA==="[object WeakSet]"?"weakset":gA==="[object Map]"?"map":gA==="[object WeakMap]"?"weakmap":gA==="[object Symbol]"?"symbol":gA==="[object Int8Array]"?"int8array":gA==="[object Uint8Array]"?"uint8array":gA==="[object Uint8ClampedArray]"?"uint8clampedarray":gA==="[object Int16Array]"?"int16array":gA==="[object Uint16Array]"?"uint16array":gA==="[object Int32Array]"?"int32array":gA==="[object Uint32Array]"?"uint32array":gA==="[object Float32Array]"?"float32array":gA==="[object Float64Array]"?"float64array":"object"};function C(W,Z){return Z={exports:{}},W(Z,Z.exports),Z.exports}var Q=C(function(W){(function(){function Z(gA,tA){if(typeof tA!="function")return gA;var IA={};for(var QA in gA)Object.prototype.hasOwnProperty.call(gA,QA)&&(IA[tA(QA,gA[QA])||QA]=gA[QA]);return IA}W.exports?W.exports=Z:window.rename=Z})()}),i=function W(Z,gA){var tA=B(Z);if(tA!=="object"&&tA!=="array")throw new Error("expected an object");var IA=[];tA==="object"&&(Z=Q(Z,gA),IA={});for(var QA in Z)if(Z.hasOwnProperty(QA)){var nA=Z[QA];B(nA)==="object"||B(nA)==="array"?IA[QA]=W(nA,gA):IA[QA]=nA}return IA},E=C(function(W){var Z=Object.prototype.hasOwnProperty,gA="~";function tA(){}Object.create&&(tA.prototype=Object.create(null),new tA().__proto__||(gA=!1));function IA(nA,DA,CA){this.fn=nA,this.context=DA,this.once=CA||!1}function QA(){this._events=new tA,this._eventsCount=0}QA.prototype.eventNames=function(){var DA=[],CA,hA;if(this._eventsCount===0)return DA;for(hA in CA=this._events)Z.call(CA,hA)&&DA.push(gA?hA.slice(1):hA);return Object.getOwnPropertySymbols?DA.concat(Object.getOwnPropertySymbols(CA)):DA},QA.prototype.listeners=function(DA,CA){var hA=gA?gA+DA:DA,sA=this._events[hA];if(CA)return!!sA;if(!sA)return[];if(sA.fn)return[sA.fn];for(var cA=0,SA=sA.length,FA=new Array(SA);cA<SA;cA++)FA[cA]=sA[cA].fn;return FA},QA.prototype.emit=function(DA,CA,hA,sA,cA,SA){var FA=gA?gA+DA:DA;if(!this._events[FA])return!1;var aA=this._events[FA],xA=arguments.length,RA,NA;if(aA.fn){switch(aA.once&&this.removeListener(DA,aA.fn,void 0,!0),xA){case 1:return aA.fn.call(aA.context),!0;case 2:return aA.fn.call(aA.context,CA),!0;case 3:return aA.fn.call(aA.context,CA,hA),!0;case 4:return aA.fn.call(aA.context,CA,hA,sA),!0;case 5:return aA.fn.call(aA.context,CA,hA,sA,cA),!0;case 6:return aA.fn.call(aA.context,CA,hA,sA,cA,SA),!0}for(NA=1,RA=new Array(xA-1);NA<xA;NA++)RA[NA-1]=arguments[NA];aA.fn.apply(aA.context,RA)}else{var HA=aA.length,PA;for(NA=0;NA<HA;NA++)switch(aA[NA].once&&this.removeListener(DA,aA[NA].fn,void 0,!0),xA){case 1:aA[NA].fn.call(aA[NA].context);break;case 2:aA[NA].fn.call(aA[NA].context,CA);break;case 3:aA[NA].fn.call(aA[NA].context,CA,hA);break;case 4:aA[NA].fn.call(aA[NA].context,CA,hA,sA);break;default:if(!RA)for(PA=1,RA=new Array(xA-1);PA<xA;PA++)RA[PA-1]=arguments[PA];aA[NA].fn.apply(aA[NA].context,RA)}}return!0},QA.prototype.on=function(DA,CA,hA){var sA=new IA(CA,hA||this),cA=gA?gA+DA:DA;return this._events[cA]?this._events[cA].fn?this._events[cA]=[this._events[cA],sA]:this._events[cA].push(sA):(this._events[cA]=sA,this._eventsCount++),this},QA.prototype.once=function(DA,CA,hA){var sA=new IA(CA,hA||this,!0),cA=gA?gA+DA:DA;return this._events[cA]?this._events[cA].fn?this._events[cA]=[this._events[cA],sA]:this._events[cA].push(sA):(this._events[cA]=sA,this._eventsCount++),this},QA.prototype.removeListener=function(DA,CA,hA,sA){var cA=gA?gA+DA:DA;if(!this._events[cA])return this;if(!CA)return--this._eventsCount===0?this._events=new tA:delete this._events[cA],this;var SA=this._events[cA];if(SA.fn)SA.fn===CA&&(!sA||SA.once)&&(!hA||SA.context===hA)&&(--this._eventsCount===0?this._events=new tA:delete this._events[cA]);else{for(var FA=0,aA=[],xA=SA.length;FA<xA;FA++)(SA[FA].fn!==CA||sA&&!SA[FA].once||hA&&SA[FA].context!==hA)&&aA.push(SA[FA]);aA.length?this._events[cA]=aA.length===1?aA[0]:aA:--this._eventsCount===0?this._events=new tA:delete this._events[cA]}return this},QA.prototype.removeAllListeners=function(DA){var CA;return DA?(CA=gA?gA+DA:DA,this._events[CA]&&(--this._eventsCount===0?this._events=new tA:delete this._events[CA])):(this._events=new tA,this._eventsCount=0),this},QA.prototype.off=QA.prototype.removeListener,QA.prototype.addListener=QA.prototype.on,QA.prototype.setMaxListeners=function(){return this},QA.prefixed=gA,QA.EventEmitter=QA,W.exports=QA});function n(W,Z,gA){return Z in W?Object.defineProperty(W,Z,{value:gA,enumerable:!0,configurable:!0,writable:!0}):W[Z]=gA,W}var s=function(){},r={data:"state-data",cdata:"state-cdata",tagBegin:"state-tag-begin",tagName:"state-tag-name",tagEnd:"state-tag-end",attributeNameStart:"state-attribute-name-start",attributeName:"state-attribute-name",attributeNameEnd:"state-attribute-name-end",attributeValueBegin:"state-attribute-value-begin",attributeValue:"state-attribute-value"},a={lt:"action-lt",gt:"action-gt",space:"action-space",equal:"action-equal",quote:"action-quote",slash:"action-slash",char:"action-char",error:"action-error"},c={text:"text",openTag:"open-tag",closeTag:"close-tag",attributeName:"attribute-name",attributeValue:"attribute-value"},h={" ":a.space," ":a.space,"\n":a.space,"\r":a.space,"<":a.lt,">":a.gt,'"':a.quote,"'":a.quote,"=":a.equal,"/":a.slash},l=function(Z){return h[Z]||a.char},D=function(Z){var gA,tA,IA,QA,nA,DA,CA,hA,sA,cA;Z=Object.assign({debug:!1},Z);var SA=new E,FA=r.data,aA="",xA="",RA="",NA="",HA="",PA="",GA=function(bA,WA){if(!(xA[0]==="?"||xA[0]==="!")){var Qg={type:bA,value:WA};Z.debug&&console.log("emit:",Qg),SA.emit("data",Qg)}};SA.stateMachine=(cA={},n(cA,r.data,(gA={},n(gA,a.lt,function(){aA.trim()&&GA(c.text,aA),xA="",HA=!1,FA=r.tagBegin}),n(gA,a.char,function(dA){aA+=dA}),gA)),n(cA,r.cdata,n({},a.char,function(dA){aA+=dA,aA.substr(-3)==="]]>"&&(GA(c.text,aA.slice(0,-3)),aA="",FA=r.data)})),n(cA,r.tagBegin,(tA={},n(tA,a.space,s),n(tA,a.char,function(dA){xA=dA,FA=r.tagName}),n(tA,a.slash,function(){xA="",HA=!0}),tA)),n(cA,r.tagName,(IA={},n(IA,a.space,function(){HA?FA=r.tagEnd:(FA=r.attributeNameStart,GA(c.openTag,xA))}),n(IA,a.gt,function(){GA(HA?c.closeTag:c.openTag,xA),aA="",FA=r.data}),n(IA,a.slash,function(){FA=r.tagEnd,GA(c.openTag,xA)}),n(IA,a.char,function(dA){xA+=dA,xA==="![CDATA["&&(FA=r.cdata,aA="",xA="")}),IA)),n(cA,r.tagEnd,(QA={},n(QA,a.gt,function(){GA(c.closeTag,xA),aA="",FA=r.data}),n(QA,a.char,s),QA)),n(cA,r.attributeNameStart,(nA={},n(nA,a.char,function(dA){RA=dA,FA=r.attributeName}),n(nA,a.gt,function(){aA="",FA=r.data}),n(nA,a.space,s),n(nA,a.slash,function(){HA=!0,FA=r.tagEnd}),nA)),n(cA,r.attributeName,(DA={},n(DA,a.space,function(){FA=r.attributeNameEnd}),n(DA,a.equal,function(){GA(c.attributeName,RA),FA=r.attributeValueBegin}),n(DA,a.gt,function(){NA="",GA(c.attributeName,RA),GA(c.attributeValue,NA),aA="",FA=r.data}),n(DA,a.slash,function(){HA=!0,NA="",GA(c.attributeName,RA),GA(c.attributeValue,NA),FA=r.tagEnd}),n(DA,a.char,function(dA){RA+=dA}),DA)),n(cA,r.attributeNameEnd,(CA={},n(CA,a.space,s),n(CA,a.equal,function(){GA(c.attributeName,RA),FA=r.attributeValueBegin}),n(CA,a.gt,function(){NA="",GA(c.attributeName,RA),GA(c.attributeValue,NA),aA="",FA=r.data}),n(CA,a.char,function(dA){NA="",GA(c.attributeName,RA),GA(c.attributeValue,NA),RA=dA,FA=r.attributeName}),CA)),n(cA,r.attributeValueBegin,(hA={},n(hA,a.space,s),n(hA,a.quote,function(dA){PA=dA,NA="",FA=r.attributeValue}),n(hA,a.gt,function(){NA="",GA(c.attributeValue,NA),aA="",FA=r.data}),n(hA,a.char,function(dA){PA="",NA=dA,FA=r.attributeValue}),hA)),n(cA,r.attributeValue,(sA={},n(sA,a.space,function(dA){PA?NA+=dA:(GA(c.attributeValue,NA),FA=r.attributeNameStart)}),n(sA,a.quote,function(dA){PA===dA?(GA(c.attributeValue,NA),FA=r.attributeNameStart):NA+=dA}),n(sA,a.gt,function(dA){PA?NA+=dA:(GA(c.attributeValue,NA),aA="",FA=r.data)}),n(sA,a.slash,function(dA){PA?NA+=dA:(GA(c.attributeValue,NA),HA=!0,FA=r.tagEnd)}),n(sA,a.char,function(dA){NA+=dA}),sA)),cA);var LA=function(bA){Z.debug&&console.log(FA,bA);var WA=SA.stateMachine[FA],Qg=WA[l(bA)]||WA[a.error]||WA[a.char];Qg(bA)};return SA.write=function(dA){for(var bA=dA.length,WA=0;WA<bA;WA++)LA(dA[WA])},SA},d={State:r,Action:a,Type:c,create:D},y=d.Type,w={element:"element",text:"text"},u=function(Z){return Object.assign({name:"",type:w.element,value:"",parent:null,attributes:{},children:[]},Z)},G=function(Z){Z=Object.assign({stream:!1,parentNodes:!0,doneEvent:"done",tagPrefix:"tag:",emitTopLevelOnly:!1,debug:!1},Z);var gA=void 0,tA=void 0,IA=void 0,QA=void 0,nA=new E,DA=function(hA){switch(hA.type){case y.openTag:if(IA===null)IA=tA,IA.name=hA.value;else{var sA=u({name:hA.value,parent:IA});IA.children.push(sA),IA=sA}break;case y.closeTag:var cA=IA.parent;if(Z.parentNodes||(IA.parent=null),IA.name!==hA.value)break;Z.stream&&cA===tA&&(tA.children=[],IA.parent=null),(!Z.emitTopLevelOnly||cA===tA)&&(nA.emit(Z.tagPrefix+IA.name,IA),nA.emit("tag",IA.name,IA)),IA===tA&&(gA.removeAllListeners("data"),nA.emit(Z.doneEvent,IA),tA=null),IA=cA;break;case y.text:IA&&IA.children.push(u({type:w.text,value:hA.value,parent:Z.parentNodes?IA:null}));break;case y.attributeName:QA=hA.value,IA.attributes[QA]="";break;case y.attributeValue:IA.attributes[QA]=hA.value;break}};return nA.reset=function(){gA=d.create({debug:Z.debug}),gA.on("data",DA),tA=u(),IA=null,QA="",nA.parse=gA.write},nA.reset(),nA},m=function(Z,gA){gA=Object.assign({},gA,{stream:!1,tagPrefix:":"});var tA=G(gA),IA=void 0;return tA.on("done",function(QA){IA=QA}),tA.parse(Z),IA},p={parseSync:m},k=p.parseSync,S=function(Z){var gA=k("<root>".concat(Z,"</root>"),{parentNodes:!1}),tA=gA.children&&gA.children.length>0&&gA.children.every(function(IA){return IA.name==="svg"});if(tA)return gA.children.length===1?gA.children[0]:gA.children;throw Error("nothing to parse")},R=function(Z){return i(Z,function(gA){return N(gA)?gA:x(gA)})},x=function(Z){return Z.replace(/[-|:]([a-z])/gi,function(gA,tA){return tA.toUpperCase()})},N=function(Z){return/^(data|aria)(-\w+)/.test(Z)},U=function(Z){if(Z){var gA=String(Z);return/[&<>]/.test(gA)?"<![CDATA[".concat(gA.replace(/]]>/,"]]]]><![CDATA[>"),"]]>"):gA}return""},K=function(Z){return String(Z).replace(/&/g,"&amp;").replace(/'/g,"&apos;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},Y=function(Z){var gA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tA=gA.transformNode,IA=tA===void 0?function(CA){return CA}:tA,QA=gA.camelcase,nA=QA===void 0?!1:QA,DA=function(hA){var sA;return sA=IA(hA),nA&&(sA=R(sA)),sA};return DA(S(Z))};function b(){for(var W=arguments.length,Z=new Array(W),gA=0;gA<W;gA++)Z[gA]=arguments[gA];return new Promise(function(tA,IA){try{var QA=Y.apply(void 0,Z);tA(QA)}catch(nA){IA(nA)}})}var q=function W(Z){var gA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tA=gA.transformAttr,IA=tA===void 0?function(FA,aA,xA){return"".concat(FA,'="').concat(xA(aA),'"')}:tA,QA=gA.transformNode,nA=QA===void 0?function(FA){return FA}:QA,DA=gA.selfClose,CA=DA===void 0?!0:DA;if(Array.isArray(Z))return Z.map(function(FA){return W(FA,{transformAttr:IA,selfClose:CA,transformNode:nA})}).join("");var hA=nA(Z);if(hA.type==="text")return U(hA.value);var sA="";for(var cA in hA.attributes){var SA=IA(cA,hA.attributes[cA],K,hA.name);sA+=SA?" ".concat(SA):""}return hA.children&&hA.children.length>0||!CA?"<".concat(hA.name).concat(sA,">").concat(W(hA.children,{transformAttr:IA,transformNode:nA,selfClose:CA}),"</").concat(hA.name,">"):"<".concat(hA.name).concat(sA,"/>")},j=Object.assign({},{parse:b,parseSync:Y,stringify:q});return j})}}),pRI={};$Qo(pRI,{default:()=>tio});function tio(){const g=URL.createObjectURL(new Blob(['"use strict";(()=>{var n4=Object.create;var W0=Object.defineProperty;var r4=Object.getOwnPropertyDescriptor;var i4=Object.getOwnPropertyNames;var o4=Object.getPrototypeOf,s4=Object.prototype.hasOwnProperty;var l4=(y,x,e)=>x in y?W0(y,x,{enumerable:!0,configurable:!0,writable:!0,value:e}):y[x]=e;var a4=(y,x)=>()=>(x||y((x={exports:{}}).exports,x),x.exports);var c4=(y,x,e,r)=>{if(x&&typeof x=="object"||typeof x=="function")for(let o of i4(x))!s4.call(y,o)&&o!==e&&W0(y,o,{get:()=>x[o],enumerable:!(r=r4(x,o))||r.enumerable});return y};var u4=(y,x,e)=>(e=y!=null?n4(o4(y)):{},c4(x||!y||!y.__esModule?W0(e,"default",{value:y,enumerable:!0}):e,y));var U=(y,x,e)=>l4(y,typeof x!="symbol"?x+"":x,e);var L5=a4((V0,X0)=>{"use strict";(function(y,x){typeof V0=="object"&&typeof X0<"u"?X0.exports=x():typeof define=="function"&&define.amd?define(x):(y=typeof globalThis<"u"?globalThis:y||self,y.polygonClipping=x())})(V0,function(){"use strict";function y(u,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,l,s,g;return g={next:h(0),throw:h(1),return:h(2)},typeof Symbol=="function"&&(g[Symbol.iterator]=function(){return this}),g;function h(d){return function(A){return m([d,A])}}function m(d){if(i)throw new TypeError("Generator is already executing.");for(;n;)try{if(i=1,l&&(s=d[0]&2?l.return:d[0]?l.throw||((s=l.return)&&s.call(l),0):l.next)&&!(s=s.call(l,d[1])).done)return s;switch(l=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return n.label++,{value:d[1],done:!1};case 5:n.label++,l=d[1],d=[0];continue;case 7:d=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){n.label=d[1];break}if(d[0]===6&&n.label<s[1]){n.label=s[1],s=d;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(d);break}s[2]&&n.ops.pop(),n.trys.pop();continue}d=t.call(u,n)}catch(A){d=[6,A],l=0}finally{i=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}var x=function(){function u(t,n){this.next=null,this.key=t,this.data=n,this.left=null,this.right=null}return u}();function e(u,t){return u>t?1:u<t?-1:0}function r(u,t,n){for(var i=new x(null,null),l=i,s=i;;){var g=n(u,t.key);if(g<0){if(t.left===null)break;if(n(u,t.left.key)<0){var h=t.left;if(t.left=h.right,h.right=t,t=h,t.left===null)break}s.left=t,s=t,t=t.left}else if(g>0){if(t.right===null)break;if(n(u,t.right.key)>0){var h=t.right;if(t.right=h.left,h.left=t,t=h,t.right===null)break}l.right=t,l=t,t=t.right}else break}return l.right=t.left,s.left=t.right,t.left=i.right,t.right=i.left,t}function o(u,t,n,i){var l=new x(u,t);if(n===null)return l.left=l.right=null,l;n=r(u,n,i);var s=i(u,n.key);return s<0?(l.left=n.left,l.right=n,n.left=null):s>=0&&(l.right=n.right,l.left=n,n.right=null),l}function a(u,t,n){var i=null,l=null;if(t){t=r(u,t,n);var s=n(t.key,u);s===0?(i=t.left,l=t.right):s<0?(l=t.right,t.right=null,i=t):(i=t.left,t.left=null,l=t)}return{left:i,right:l}}function c(u,t,n){return t===null?u:(u===null||(t=r(u.key,t,n),t.left=u),t)}function p(u,t,n,i,l){if(u){i(""+t+(n?"\\u2514\\u2500\\u2500 ":"\\u251C\\u2500\\u2500 ")+l(u)+`\n`);var s=t+(n?" ":"\\u2502 ");u.left&&p(u.left,s,!1,i,l),u.right&&p(u.right,s,!0,i,l)}}var L=function(){function u(t){t===void 0&&(t=e),this._root=null,this._size=0,this._comparator=t}return u.prototype.insert=function(t,n){return this._size++,this._root=o(t,n,this._root,this._comparator)},u.prototype.add=function(t,n){var i=new x(t,n);this._root===null&&(i.left=i.right=null,this._size++,this._root=i);var l=this._comparator,s=r(t,this._root,l),g=l(t,s.key);return g===0?this._root=s:(g<0?(i.left=s.left,i.right=s,s.left=null):g>0&&(i.right=s.right,i.left=s,s.right=null),this._size++,this._root=i),this._root},u.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator)},u.prototype._remove=function(t,n,i){var l;if(n===null)return null;n=r(t,n,i);var s=i(t,n.key);return s===0?(n.left===null?l=n.right:(l=r(t,n.left,i),l.right=n.right),this._size--,l):n},u.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=r(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},u.prototype.findStatic=function(t){for(var n=this._root,i=this._comparator;n;){var l=i(t,n.key);if(l===0)return n;l<0?n=n.left:n=n.right}return null},u.prototype.find=function(t){return this._root&&(this._root=r(t,this._root,this._comparator),this._comparator(t,this._root.key)!==0)?null:this._root},u.prototype.contains=function(t){for(var n=this._root,i=this._comparator;n;){var l=i(t,n.key);if(l===0)return!0;l<0?n=n.left:n=n.right}return!1},u.prototype.forEach=function(t,n){for(var i=this._root,l=[],s=!1;!s;)i!==null?(l.push(i),i=i.left):l.length!==0?(i=l.pop(),t.call(n,i),i=i.right):s=!0;return this},u.prototype.range=function(t,n,i,l){for(var s=[],g=this._comparator,h=this._root,m;s.length!==0||h;)if(h)s.push(h),h=h.left;else{if(h=s.pop(),m=g(h.key,n),m>0)break;if(g(h.key,t)>=0&&i.call(l,h))return this;h=h.right}return this},u.prototype.keys=function(){var t=[];return this.forEach(function(n){var i=n.key;return t.push(i)}),t},u.prototype.values=function(){var t=[];return this.forEach(function(n){var i=n.data;return t.push(i)}),t},u.prototype.min=function(){return this._root?this.minNode(this._root).key:null},u.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},u.prototype.minNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.left;)t=t.left;return t},u.prototype.maxNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.right;)t=t.right;return t},u.prototype.at=function(t){for(var n=this._root,i=!1,l=0,s=[];!i;)if(n)s.push(n),n=n.left;else if(s.length>0){if(n=s.pop(),l===t)return n;l++,n=n.right}else i=!0;return null},u.prototype.next=function(t){var n=this._root,i=null;if(t.right){for(i=t.right;i.left;)i=i.left;return i}for(var l=this._comparator;n;){var s=l(t.key,n.key);if(s===0)break;s<0?(i=n,n=n.left):n=n.right}return i},u.prototype.prev=function(t){var n=this._root,i=null;if(t.left!==null){for(i=t.left;i.right;)i=i.right;return i}for(var l=this._comparator;n;){var s=l(t.key,n.key);if(s===0)break;s<0?n=n.left:(i=n,n=n.right)}return i},u.prototype.clear=function(){return this._root=null,this._size=0,this},u.prototype.toList=function(){return I(this._root)},u.prototype.load=function(t,n,i){n===void 0&&(n=[]),i===void 0&&(i=!1);var l=t.length,s=this._comparator;if(i&&w(t,n,0,l-1,s),this._root===null)this._root=b(t,n,0,l),this._size=l;else{var g=M(this.toList(),T(t,n),s);l=this._size+l,this._root=C({head:g},0,l)}return this},u.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(u.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),u.prototype.toString=function(t){t===void 0&&(t=function(i){return String(i.key)});var n=[];return p(this._root,"",!0,function(i){return n.push(i)},t),n.join("")},u.prototype.update=function(t,n,i){var l=this._comparator,s=a(t,this._root,l),g=s.left,h=s.right;l(t,n)<0?h=o(n,i,h,l):g=o(n,i,g,l),this._root=c(g,h,l)},u.prototype.split=function(t){return a(t,this._root,this._comparator)},u.prototype[Symbol.iterator]=function(){var t,n,i;return y(this,function(l){switch(l.label){case 0:t=this._root,n=[],i=!1,l.label=1;case 1:return i?[3,6]:t===null?[3,2]:(n.push(t),t=t.left,[3,5]);case 2:return n.length===0?[3,4]:(t=n.pop(),[4,t]);case 3:return l.sent(),t=t.right,[3,5];case 4:i=!0,l.label=5;case 5:return[3,1];case 6:return[2]}})},u}();function b(u,t,n,i){var l=i-n;if(l>0){var s=n+Math.floor(l/2),g=u[s],h=t[s],m=new x(g,h);return m.left=b(u,t,n,s),m.right=b(u,t,s+1,i),m}return null}function T(u,t){for(var n=new x(null,null),i=n,l=0;l<u.length;l++)i=i.next=new x(u[l],t[l]);return i.next=null,n.next}function I(u){for(var t=u,n=[],i=!1,l=new x(null,null),s=l;!i;)t?(n.push(t),t=t.left):n.length>0?(t=s=s.next=n.pop(),t=t.right):i=!0;return s.next=null,l.next}function C(u,t,n){var i=n-t;if(i>0){var l=t+Math.floor(i/2),s=C(u,t,l),g=u.head;return g.left=s,u.head=u.head.next,g.right=C(u,l+1,n),g}return null}function M(u,t,n){for(var i=new x(null,null),l=i,s=u,g=t;s!==null&&g!==null;)n(s.key,g.key)<0?(l.next=s,s=s.next):(l.next=g,g=g.next),l=l.next;return s!==null?l.next=s:g!==null&&(l.next=g),i.next}function w(u,t,n,i,l){if(!(n>=i)){for(var s=u[n+i>>1],g=n-1,h=i+1;;){do g++;while(l(u[g],s)<0);do h--;while(l(u[h],s)>0);if(g>=h)break;var m=u[g];u[g]=u[h],u[h]=m,m=t[g],t[g]=t[h],t[h]=m}w(u,t,n,h,l),w(u,t,h+1,i,l)}}let _=(u,t)=>u.ll.x<=t.x&&t.x<=u.ur.x&&u.ll.y<=t.y&&t.y<=u.ur.y,k=(u,t)=>{if(t.ur.x<u.ll.x||u.ur.x<t.ll.x||t.ur.y<u.ll.y||u.ur.y<t.ll.y)return null;let n=u.ll.x<t.ll.x?t.ll.x:u.ll.x,i=u.ur.x<t.ur.x?u.ur.x:t.ur.x,l=u.ll.y<t.ll.y?t.ll.y:u.ll.y,s=u.ur.y<t.ur.y?u.ur.y:t.ur.y;return{ll:{x:n,y:l},ur:{x:i,y:s}}},N=Number.EPSILON;N===void 0&&(N=Math.pow(2,-52));let R=N*N,P=(u,t)=>{if(-N<u&&u<N&&-N<t&&t<N)return 0;let n=u-t;return n*n<R*u*t?0:u<t?-1:1};class E{constructor(){this.reset()}reset(){this.xRounder=new X,this.yRounder=new X}round(t,n){return{x:this.xRounder.round(t),y:this.yRounder.round(n)}}}class X{constructor(){this.tree=new L,this.round(0)}round(t){let n=this.tree.add(t),i=this.tree.prev(n);if(i!==null&&P(n.key,i.key)===0)return this.tree.remove(t),i.key;let l=this.tree.next(n);return l!==null&&P(n.key,l.key)===0?(this.tree.remove(t),l.key):t}}let q=new E,J=11102230246251565e-32,V=134217729,U5=(3+8*J)*J;function F0(u,t,n,i,l){let s,g,h,m,d=t[0],A=i[0],f=0,v=0;A>d==A>-d?(s=d,d=t[++f]):(s=A,A=i[++v]);let S=0;if(f<u&&v<n)for(A>d==A>-d?(g=d+s,h=s-(g-d),d=t[++f]):(g=A+s,h=s-(g-A),A=i[++v]),s=g,h!==0&&(l[S++]=h);f<u&&v<n;)A>d==A>-d?(g=s+d,m=g-s,h=s-(g-m)+(d-m),d=t[++f]):(g=s+A,m=g-s,h=s-(g-m)+(A-m),A=i[++v]),s=g,h!==0&&(l[S++]=h);for(;f<u;)g=s+d,m=g-s,h=s-(g-m)+(d-m),d=t[++f],s=g,h!==0&&(l[S++]=h);for(;v<n;)g=s+A,m=g-s,h=s-(g-m)+(A-m),A=i[++v],s=g,h!==0&&(l[S++]=h);return(s!==0||S===0)&&(l[S++]=s),S}function F5(u,t){let n=t[0];for(let i=1;i<u;i++)n+=t[i];return n}function w0(u){return new Float64Array(u)}let W5=(3+16*J)*J,z5=(2+12*J)*J,$5=(9+64*J)*J*J,p0=w0(4),x5=w0(8),t5=w0(12),e5=w0(16),Q=w0(4);function Y5(u,t,n,i,l,s,g){let h,m,d,A,f,v,S,G,O,F,B,W,D,Y,Z,j,t0,H,r0=u-l,i0=n-l,o0=t-s,s0=i-s;Y=r0*s0,v=V*r0,S=v-(v-r0),G=r0-S,v=V*s0,O=v-(v-s0),F=s0-O,Z=G*F-(Y-S*O-G*O-S*F),j=o0*i0,v=V*o0,S=v-(v-o0),G=o0-S,v=V*i0,O=v-(v-i0),F=i0-O,t0=G*F-(j-S*O-G*O-S*F),B=Z-t0,f=Z-B,p0[0]=Z-(B+f)+(f-t0),W=Y+B,f=W-Y,D=Y-(W-f)+(B-f),B=D-j,f=D-B,p0[1]=D-(B+f)+(f-j),H=W+B,f=H-W,p0[2]=W-(H-f)+(B-f),p0[3]=H;let l0=F5(4,p0),b0=z5*g;if(l0>=b0||-l0>=b0||(f=u-r0,h=u-(r0+f)+(f-l),f=n-i0,d=n-(i0+f)+(f-l),f=t-o0,m=t-(o0+f)+(f-s),f=i-s0,A=i-(s0+f)+(f-s),h===0&&m===0&&d===0&&A===0)||(b0=$5*g+U5*Math.abs(l0),l0+=r0*A+s0*h-(o0*d+i0*m),l0>=b0||-l0>=b0))return l0;Y=h*s0,v=V*h,S=v-(v-h),G=h-S,v=V*s0,O=v-(v-s0),F=s0-O,Z=G*F-(Y-S*O-G*O-S*F),j=m*i0,v=V*m,S=v-(v-m),G=m-S,v=V*i0,O=v-(v-i0),F=i0-O,t0=G*F-(j-S*O-G*O-S*F),B=Z-t0,f=Z-B,Q[0]=Z-(B+f)+(f-t0),W=Y+B,f=W-Y,D=Y-(W-f)+(B-f),B=D-j,f=D-B,Q[1]=D-(B+f)+(f-j),H=W+B,f=H-W,Q[2]=W-(H-f)+(B-f),Q[3]=H;let x4=F0(4,p0,4,Q,x5);Y=r0*A,v=V*r0,S=v-(v-r0),G=r0-S,v=V*A,O=v-(v-A),F=A-O,Z=G*F-(Y-S*O-G*O-S*F),j=o0*d,v=V*o0,S=v-(v-o0),G=o0-S,v=V*d,O=v-(v-d),F=d-O,t0=G*F-(j-S*O-G*O-S*F),B=Z-t0,f=Z-B,Q[0]=Z-(B+f)+(f-t0),W=Y+B,f=W-Y,D=Y-(W-f)+(B-f),B=D-j,f=D-B,Q[1]=D-(B+f)+(f-j),H=W+B,f=H-W,Q[2]=W-(H-f)+(B-f),Q[3]=H;let t4=F0(x4,x5,4,Q,t5);Y=h*A,v=V*h,S=v-(v-h),G=h-S,v=V*A,O=v-(v-A),F=A-O,Z=G*F-(Y-S*O-G*O-S*F),j=m*d,v=V*m,S=v-(v-m),G=m-S,v=V*d,O=v-(v-d),F=d-O,t0=G*F-(j-S*O-G*O-S*F),B=Z-t0,f=Z-B,Q[0]=Z-(B+f)+(f-t0),W=Y+B,f=W-Y,D=Y-(W-f)+(B-f),B=D-j,f=D-B,Q[1]=D-(B+f)+(f-j),H=W+B,f=H-W,Q[2]=W-(H-f)+(B-f),Q[3]=H;let e4=F0(t4,t5,4,Q,e5);return e5[e4-1]}function V5(u,t,n,i,l,s){let g=(t-s)*(n-l),h=(u-l)*(i-s),m=g-h,d=Math.abs(g+h);return Math.abs(m)>=W5*d?m:-Y5(u,t,n,i,l,s,d)}let A0=(u,t)=>u.x*t.y-u.y*t.x,n5=(u,t)=>u.x*t.x+u.y*t.y,r5=(u,t,n)=>{let i=V5(u.x,u.y,t.x,t.y,n.x,n.y);return i>0?-1:i<0?1:0},k0=u=>Math.sqrt(n5(u,u)),X5=(u,t,n)=>{let i={x:t.x-u.x,y:t.y-u.y},l={x:n.x-u.x,y:n.y-u.y};return A0(l,i)/k0(l)/k0(i)},D5=(u,t,n)=>{let i={x:t.x-u.x,y:t.y-u.y},l={x:n.x-u.x,y:n.y-u.y};return n5(l,i)/k0(l)/k0(i)},i5=(u,t,n)=>t.y===0?null:{x:u.x+t.x/t.y*(n-u.y),y:n},o5=(u,t,n)=>t.x===0?null:{x:n,y:u.y+t.y/t.x*(n-u.x)},Z5=(u,t,n,i)=>{if(t.x===0)return o5(n,i,u.x);if(i.x===0)return o5(u,t,n.x);if(t.y===0)return i5(n,i,u.y);if(i.y===0)return i5(u,t,n.y);let l=A0(t,i);if(l==0)return null;let s={x:n.x-u.x,y:n.y-u.y},g=A0(s,t)/l,h=A0(s,i)/l,m=u.x+h*t.x,d=n.x+g*i.x,A=u.y+h*t.y,f=n.y+g*i.y,v=(m+d)/2,S=(A+f)/2;return{x:v,y:S}};class x0{static compare(t,n){let i=x0.comparePoints(t.point,n.point);return i!==0?i:(t.point!==n.point&&t.link(n),t.isLeft!==n.isLeft?t.isLeft?1:-1:c0.compare(t.segment,n.segment))}static comparePoints(t,n){return t.x<n.x?-1:t.x>n.x?1:t.y<n.y?-1:t.y>n.y?1:0}constructor(t,n){t.events===void 0?t.events=[this]:t.events.push(this),this.point=t,this.isLeft=n}link(t){if(t.point===this.point)throw new Error("Tried to link already linked events");let n=t.point.events;for(let i=0,l=n.length;i<l;i++){let s=n[i];this.point.events.push(s),s.point=this.point}this.checkForConsuming()}checkForConsuming(){let t=this.point.events.length;for(let n=0;n<t;n++){let i=this.point.events[n];if(i.segment.consumedBy===void 0)for(let l=n+1;l<t;l++){let s=this.point.events[l];s.consumedBy===void 0&&i.otherSE.point.events===s.otherSE.point.events&&i.segment.consume(s.segment)}}}getAvailableLinkedEvents(){let t=[];for(let n=0,i=this.point.events.length;n<i;n++){let l=this.point.events[n];l!==this&&!l.segment.ringOut&&l.segment.isInResult()&&t.push(l)}return t}getLeftmostComparator(t){let n=new Map,i=l=>{let s=l.otherSE;n.set(l,{sine:X5(this.point,t.point,s.point),cosine:D5(this.point,t.point,s.point)})};return(l,s)=>{n.has(l)||i(l),n.has(s)||i(s);let{sine:g,cosine:h}=n.get(l),{sine:m,cosine:d}=n.get(s);return g>=0&&m>=0?h<d?1:h>d?-1:0:g<0&&m<0?h<d?-1:h>d?1:0:m<g?-1:m>g?1:0}}}let j5=0;class c0{static compare(t,n){let i=t.leftSE.point.x,l=n.leftSE.point.x,s=t.rightSE.point.x,g=n.rightSE.point.x;if(g<i)return 1;if(s<l)return-1;let h=t.leftSE.point.y,m=n.leftSE.point.y,d=t.rightSE.point.y,A=n.rightSE.point.y;if(i<l){if(m<h&&m<d)return 1;if(m>h&&m>d)return-1;let f=t.comparePoint(n.leftSE.point);if(f<0)return 1;if(f>0)return-1;let v=n.comparePoint(t.rightSE.point);return v!==0?v:-1}if(i>l){if(h<m&&h<A)return-1;if(h>m&&h>A)return 1;let f=n.comparePoint(t.leftSE.point);if(f!==0)return f;let v=t.comparePoint(n.rightSE.point);return v<0?1:v>0?-1:1}if(h<m)return-1;if(h>m)return 1;if(s<g){let f=n.comparePoint(t.rightSE.point);if(f!==0)return f}if(s>g){let f=t.comparePoint(n.rightSE.point);if(f<0)return 1;if(f>0)return-1}if(s!==g){let f=d-h,v=s-i,S=A-m,G=g-l;if(f>v&&S<G)return 1;if(f<v&&S>G)return-1}return s>g?1:s<g||d<A?-1:d>A?1:t.id<n.id?-1:t.id>n.id?1:0}constructor(t,n,i,l){this.id=++j5,this.leftSE=t,t.segment=this,t.otherSE=n,this.rightSE=n,n.segment=this,n.otherSE=t,this.rings=i,this.windings=l}static fromRing(t,n,i){let l,s,g,h=x0.comparePoints(t,n);if(h<0)l=t,s=n,g=1;else if(h>0)l=n,s=t,g=-1;else throw new Error(`Tried to create degenerate segment at [${t.x}, ${t.y}]`);let m=new x0(l,!0),d=new x0(s,!1);return new c0(m,d,[i],[g])}replaceRightSE(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){let t=this.leftSE.point.y,n=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:t<n?t:n},ur:{x:this.rightSE.point.x,y:t>n?t:n}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}comparePoint(t){if(this.isAnEndpoint(t))return 0;let n=this.leftSE.point,i=this.rightSE.point,l=this.vector();if(n.x===i.x)return t.x===n.x?0:t.x<n.x?1:-1;let s=(t.y-n.y)/l.y,g=n.x+s*l.x;if(t.x===g)return 0;let h=(t.x-n.x)/l.x,m=n.y+h*l.y;return t.y===m?0:t.y<m?-1:1}getIntersection(t){let n=this.bbox(),i=t.bbox(),l=k(n,i);if(l===null)return null;let s=this.leftSE.point,g=this.rightSE.point,h=t.leftSE.point,m=t.rightSE.point,d=_(n,h)&&this.comparePoint(h)===0,A=_(i,s)&&t.comparePoint(s)===0,f=_(n,m)&&this.comparePoint(m)===0,v=_(i,g)&&t.comparePoint(g)===0;if(A&&d)return v&&!f?g:!v&&f?m:null;if(A)return f&&s.x===m.x&&s.y===m.y?null:s;if(d)return v&&g.x===h.x&&g.y===h.y?null:h;if(v&&f)return null;if(v)return g;if(f)return m;let S=Z5(s,this.vector(),h,t.vector());return S===null||!_(l,S)?null:q.round(S.x,S.y)}split(t){let n=[],i=t.events!==void 0,l=new x0(t,!0),s=new x0(t,!1),g=this.rightSE;this.replaceRightSE(s),n.push(s),n.push(l);let h=new c0(l,g,this.rings.slice(),this.windings.slice());return x0.comparePoints(h.leftSE.point,h.rightSE.point)>0&&h.swapEvents(),x0.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),i&&(l.checkForConsuming(),s.checkForConsuming()),n}swapEvents(){let t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let n=0,i=this.windings.length;n<i;n++)this.windings[n]*=-1}consume(t){let n=this,i=t;for(;n.consumedBy;)n=n.consumedBy;for(;i.consumedBy;)i=i.consumedBy;let l=c0.compare(n,i);if(l!==0){if(l>0){let s=n;n=i,i=s}if(n.prev===i){let s=n;n=i,i=s}for(let s=0,g=i.rings.length;s<g;s++){let h=i.rings[s],m=i.windings[s],d=n.rings.indexOf(h);d===-1?(n.rings.push(h),n.windings.push(m)):n.windings[d]+=m}i.rings=null,i.windings=null,i.consumedBy=n,i.leftSE.consumedBy=n.leftSE,i.rightSE.consumedBy=n.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{let t=this.prev.consumedBy||this.prev;this._beforeState=t.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;let t=this.beforeState();this._afterState={rings:t.rings.slice(0),windings:t.windings.slice(0),multiPolys:[]};let n=this._afterState.rings,i=this._afterState.windings,l=this._afterState.multiPolys;for(let h=0,m=this.rings.length;h<m;h++){let d=this.rings[h],A=this.windings[h],f=n.indexOf(d);f===-1?(n.push(d),i.push(A)):i[f]+=A}let s=[],g=[];for(let h=0,m=n.length;h<m;h++){if(i[h]===0)continue;let d=n[h],A=d.poly;if(g.indexOf(A)===-1)if(d.isExterior)s.push(A);else{g.indexOf(A)===-1&&g.push(A);let f=s.indexOf(d.poly);f!==-1&&s.splice(f,1)}}for(let h=0,m=s.length;h<m;h++){let d=s[h].multiPoly;l.indexOf(d)===-1&&l.push(d)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;let t=this.beforeState().multiPolys,n=this.afterState().multiPolys;switch(n0.type){case"union":{let i=t.length===0,l=n.length===0;this._isInResult=i!==l;break}case"intersection":{let i,l;t.length<n.length?(i=t.length,l=n.length):(i=n.length,l=t.length),this._isInResult=l===n0.numMultiPolys&&i<l;break}case"xor":{let i=Math.abs(t.length-n.length);this._isInResult=i%2===1;break}case"difference":{let i=l=>l.length===1&&l[0].isSubject;this._isInResult=i(t)!==i(n);break}default:throw new Error(`Unrecognized operation type found ${n0.type}`)}return this._isInResult}}class s5{constructor(t,n,i){if(!Array.isArray(t)||t.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=n,this.isExterior=i,this.segments=[],typeof t[0][0]!="number"||typeof t[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let l=q.round(t[0][0],t[0][1]);this.bbox={ll:{x:l.x,y:l.y},ur:{x:l.x,y:l.y}};let s=l;for(let g=1,h=t.length;g<h;g++){if(typeof t[g][0]!="number"||typeof t[g][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let m=q.round(t[g][0],t[g][1]);m.x===s.x&&m.y===s.y||(this.segments.push(c0.fromRing(s,m,this)),m.x<this.bbox.ll.x&&(this.bbox.ll.x=m.x),m.y<this.bbox.ll.y&&(this.bbox.ll.y=m.y),m.x>this.bbox.ur.x&&(this.bbox.ur.x=m.x),m.y>this.bbox.ur.y&&(this.bbox.ur.y=m.y),s=m)}(l.x!==s.x||l.y!==s.y)&&this.segments.push(c0.fromRing(s,l,this))}getSweepEvents(){let t=[];for(let n=0,i=this.segments.length;n<i;n++){let l=this.segments[n];t.push(l.leftSE),t.push(l.rightSE)}return t}}class H5{constructor(t,n){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new s5(t[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let i=1,l=t.length;i<l;i++){let s=new s5(t[i],this,!1);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=n}getSweepEvents(){let t=this.exteriorRing.getSweepEvents();for(let n=0,i=this.interiorRings.length;n<i;n++){let l=this.interiorRings[n].getSweepEvents();for(let s=0,g=l.length;s<g;s++)t.push(l[s])}return t}}class l5{constructor(t,n){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof t[0][0][0]=="number"&&(t=[t])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let i=0,l=t.length;i<l;i++){let s=new H5(t[i],this);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=n}getSweepEvents(){let t=[];for(let n=0,i=this.polys.length;n<i;n++){let l=this.polys[n].getSweepEvents();for(let s=0,g=l.length;s<g;s++)t.push(l[s])}return t}}class T0{static factory(t){let n=[];for(let i=0,l=t.length;i<l;i++){let s=t[i];if(!s.isInResult()||s.ringOut)continue;let g=null,h=s.leftSE,m=s.rightSE,d=[h],A=h.point,f=[];for(;g=h,h=m,d.push(h),h.point!==A;)for(;;){let v=h.getAvailableLinkedEvents();if(v.length===0){let O=d[0].point,F=d[d.length-1].point;throw new Error(`Unable to complete output ring starting at [${O.x}, ${O.y}]. Last matching segment found ends at [${F.x}, ${F.y}].`)}if(v.length===1){m=v[0].otherSE;break}let S=null;for(let O=0,F=f.length;O<F;O++)if(f[O].point===h.point){S=O;break}if(S!==null){let O=f.splice(S)[0],F=d.splice(O.index);F.unshift(F[0].otherSE),n.push(new T0(F.reverse()));continue}f.push({index:d.length,point:h.point});let G=h.getLeftmostComparator(g);m=v.sort(G)[0].otherSE;break}n.push(new T0(d))}return n}constructor(t){this.events=t;for(let n=0,i=t.length;n<i;n++)t[n].segment.ringOut=this;this.poly=null}getGeom(){let t=this.events[0].point,n=[t];for(let d=1,A=this.events.length-1;d<A;d++){let f=this.events[d].point,v=this.events[d+1].point;r5(f,t,v)!==0&&(n.push(f),t=f)}if(n.length===1)return null;let i=n[0],l=n[1];r5(i,t,l)===0&&n.shift(),n.push(n[0]);let s=this.isExteriorRing()?1:-1,g=this.isExteriorRing()?0:n.length-1,h=this.isExteriorRing()?n.length:-1,m=[];for(let d=g;d!=h;d+=s)m.push([n[d].x,n[d].y]);return m}isExteriorRing(){if(this._isExteriorRing===void 0){let t=this.enclosingRing();this._isExteriorRing=t?!t.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let t=this.events[0];for(let l=1,s=this.events.length;l<s;l++){let g=this.events[l];x0.compare(t,g)>0&&(t=g)}let n=t.segment.prevInResult(),i=n?n.prevInResult():null;for(;;){if(!n)return null;if(!i)return n.ringOut;if(i.ringOut!==n.ringOut)return i.ringOut.enclosingRing()!==n.ringOut?n.ringOut:n.ringOut.enclosingRing();n=i.prevInResult(),i=n?n.prevInResult():null}}}class a5{constructor(t){this.exteriorRing=t,t.poly=this,this.interiorRings=[]}addInterior(t){this.interiorRings.push(t),t.poly=this}getGeom(){let t=[this.exteriorRing.getGeom()];if(t[0]===null)return null;for(let n=0,i=this.interiorRings.length;n<i;n++){let l=this.interiorRings[n].getGeom();l!==null&&t.push(l)}return t}}class q5{constructor(t){this.rings=t,this.polys=this._composePolys(t)}getGeom(){let t=[];for(let n=0,i=this.polys.length;n<i;n++){let l=this.polys[n].getGeom();l!==null&&t.push(l)}return t}_composePolys(t){let n=[];for(let i=0,l=t.length;i<l;i++){let s=t[i];if(!s.poly)if(s.isExteriorRing())n.push(new a5(s));else{let g=s.enclosingRing();g.poly||n.push(new a5(g)),g.poly.addInterior(s)}}return n}}class Q5{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c0.compare;this.queue=t,this.tree=new L(n),this.segments=[]}process(t){let n=t.segment,i=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(n),i;let l=t.isLeft?this.tree.add(n):this.tree.find(n);if(!l)throw new Error(`Unable to find segment #${n.id} [${n.leftSE.point.x}, ${n.leftSE.point.y}] -> [${n.rightSE.point.x}, ${n.rightSE.point.y}] in SweepLine tree.`);let s=l,g=l,h,m;for(;h===void 0;)s=this.tree.prev(s),s===null?h=null:s.key.consumedBy===void 0&&(h=s.key);for(;m===void 0;)g=this.tree.next(g),g===null?m=null:g.key.consumedBy===void 0&&(m=g.key);if(t.isLeft){let d=null;if(h){let f=h.getIntersection(n);if(f!==null&&(n.isAnEndpoint(f)||(d=f),!h.isAnEndpoint(f))){let v=this._splitSafely(h,f);for(let S=0,G=v.length;S<G;S++)i.push(v[S])}}let A=null;if(m){let f=m.getIntersection(n);if(f!==null&&(n.isAnEndpoint(f)||(A=f),!m.isAnEndpoint(f))){let v=this._splitSafely(m,f);for(let S=0,G=v.length;S<G;S++)i.push(v[S])}}if(d!==null||A!==null){let f=null;d===null?f=A:A===null?f=d:f=x0.comparePoints(d,A)<=0?d:A,this.queue.remove(n.rightSE),i.push(n.rightSE);let v=n.split(f);for(let S=0,G=v.length;S<G;S++)i.push(v[S])}i.length>0?(this.tree.remove(n),i.push(t)):(this.segments.push(n),n.prev=h)}else{if(h&&m){let d=h.getIntersection(m);if(d!==null){if(!h.isAnEndpoint(d)){let A=this._splitSafely(h,d);for(let f=0,v=A.length;f<v;f++)i.push(A[f])}if(!m.isAnEndpoint(d)){let A=this._splitSafely(m,d);for(let f=0,v=A.length;f<v;f++)i.push(A[f])}}}this.tree.remove(n)}return i}_splitSafely(t,n){this.tree.remove(t);let i=t.rightSE;this.queue.remove(i);let l=t.split(n);return l.push(i),t.consumedBy===void 0&&this.tree.add(t),l}}let c5=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,J5=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class K5{run(t,n,i){n0.type=t,q.reset();let l=[new l5(n,!0)];for(let f=0,v=i.length;f<v;f++)l.push(new l5(i[f],!1));if(n0.numMultiPolys=l.length,n0.type==="difference"){let f=l[0],v=1;for(;v<l.length;)k(l[v].bbox,f.bbox)!==null?v++:l.splice(v,1)}if(n0.type==="intersection")for(let f=0,v=l.length;f<v;f++){let S=l[f];for(let G=f+1,O=l.length;G<O;G++)if(k(S.bbox,l[G].bbox)===null)return[]}let s=new L(x0.compare);for(let f=0,v=l.length;f<v;f++){let S=l[f].getSweepEvents();for(let G=0,O=S.length;G<O;G++)if(s.insert(S[G]),s.size>c5)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}let g=new Q5(s),h=s.size,m=s.pop();for(;m;){let f=m.key;if(s.size===h){let S=f.segment;throw new Error(`Unable to pop() ${f.isLeft?"left":"right"} SweepEvent [${f.point.x}, ${f.point.y}] from segment #${S.id} [${S.leftSE.point.x}, ${S.leftSE.point.y}] -> [${S.rightSE.point.x}, ${S.rightSE.point.y}] from queue.`)}if(s.size>c5)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(g.segments.length>J5)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");let v=g.process(f);for(let S=0,G=v.length;S<G;S++){let O=v[S];O.consumedBy===void 0&&s.insert(O)}h=s.size,m=s.pop()}q.reset();let d=T0.factory(g.segments);return new q5(d).getGeom()}}let n0=new K5;var y4={union:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("union",u,n)},intersection:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("intersection",u,n)},xor:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("xor",u,n)},difference:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("difference",u,n)}};return y4})});function Y0(y,x,e=2){let r=x&&x.length,o=r?x[0]*e:y.length,a=f5(y,0,o,e,!0),c=[];if(!a||a.next===a.prev)return c;let p,L,b;if(r&&(a=L4(y,x,a,e)),y.length>80*e){p=y[0],L=y[1];let T=p,I=L;for(let C=e;C<o;C+=e){let M=y[C],w=y[C+1];M<p&&(p=M),w<L&&(L=w),M>T&&(T=M),w>I&&(I=w)}b=Math.max(T-p,I-L),b=b!==0?32767/b:0}return E0(a,c,e,p,L,b,0),c}function f5(y,x,e,r,o){let a;if(o===R4(y,x,e,r)>0)for(let c=x;c<e;c+=r)a=u5(c/r|0,y[c],y[c+1],a);else for(let c=e-r;c>=x;c-=r)a=u5(c/r|0,y[c],y[c+1],a);return a&&g0(a,a.next)&&(P0(a),a=a.next),a}function u0(y,x){if(!y)return y;x||(x=y);let e=y,r;do if(r=!1,!e.steiner&&(g0(e,e.next)||z(e.prev,e,e.next)===0)){if(P0(e),e=x=e.prev,e===e.next)break;r=!0}else e=e.next;while(r||e!==x);return x}function E0(y,x,e,r,o,a,c){if(!y)return;!c&&a&&w4(y,r,o,a);let p=y;for(;y.prev!==y.next;){let L=y.prev,b=y.next;if(a?h4(y,r,o,a):f4(y)){x.push(L.i,y.i,b.i),P0(y),y=b.next,p=b.next;continue}if(y=b,y===p){c?c===1?(y=p4(u0(y),x),E0(y,x,e,r,o,a,2)):c===2&&g4(y,x,e,r,o,a):E0(u0(y),x,e,r,o,a,1);break}}}function f4(y){let x=y.prev,e=y,r=y.next;if(z(x,e,r)>=0)return!1;let o=x.x,a=e.x,c=r.x,p=x.y,L=e.y,b=r.y,T=Math.min(o,a,c),I=Math.min(p,L,b),C=Math.max(o,a,c),M=Math.max(p,L,b),w=r.next;for(;w!==x;){if(w.x>=T&&w.x<=C&&w.y>=I&&w.y<=M&&M0(o,p,a,L,c,b,w.x,w.y)&&z(w.prev,w,w.next)>=0)return!1;w=w.next}return!0}function h4(y,x,e,r){let o=y.prev,a=y,c=y.next;if(z(o,a,c)>=0)return!1;let p=o.x,L=a.x,b=c.x,T=o.y,I=a.y,C=c.y,M=Math.min(p,L,b),w=Math.min(T,I,C),_=Math.max(p,L,b),k=Math.max(T,I,C),N=z0(M,w,x,e,r),R=z0(_,k,x,e,r),P=y.prevZ,E=y.nextZ;for(;P&&P.z>=N&&E&&E.z<=R;){if(P.x>=M&&P.x<=_&&P.y>=w&&P.y<=k&&P!==o&&P!==c&&M0(p,T,L,I,b,C,P.x,P.y)&&z(P.prev,P,P.next)>=0||(P=P.prevZ,E.x>=M&&E.x<=_&&E.y>=w&&E.y<=k&&E!==o&&E!==c&&M0(p,T,L,I,b,C,E.x,E.y)&&z(E.prev,E,E.next)>=0))return!1;E=E.nextZ}for(;P&&P.z>=N;){if(P.x>=M&&P.x<=_&&P.y>=w&&P.y<=k&&P!==o&&P!==c&&M0(p,T,L,I,b,C,P.x,P.y)&&z(P.prev,P,P.next)>=0)return!1;P=P.prevZ}for(;E&&E.z<=R;){if(E.x>=M&&E.x<=_&&E.y>=w&&E.y<=k&&E!==o&&E!==c&&M0(p,T,L,I,b,C,E.x,E.y)&&z(E.prev,E,E.next)>=0)return!1;E=E.nextZ}return!0}function p4(y,x){let e=y;do{let r=e.prev,o=e.next.next;!g0(r,o)&&p5(r,e,e.next,o)&&S0(r,o)&&S0(o,r)&&(x.push(r.i,e.i,o.i),P0(e),P0(e.next),e=y=o),e=e.next}while(e!==y);return u0(e)}function g4(y,x,e,r,o,a){let c=y;do{let p=c.next.next;for(;p!==c.prev;){if(c.i!==p.i&&E4(c,p)){let L=g5(c,p);c=u0(c,c.next),L=u0(L,L.next),E0(c,x,e,r,o,a,0),E0(L,x,e,r,o,a,0);return}p=p.next}c=c.next}while(c!==y)}function L4(y,x,e,r){let o=[];for(let a=0,c=x.length;a<c;a++){let p=x[a]*r,L=a<c-1?x[a+1]*r:y.length,b=f5(y,p,L,r,!1);b===b.next&&(b.steiner=!0),o.push(M4(b))}o.sort(d4);for(let a=0;a<o.length;a++)e=m4(o[a],e);return e}function d4(y,x){let e=y.x-x.x;if(e===0&&(e=y.y-x.y,e===0)){let r=(y.next.y-y.y)/(y.next.x-y.x),o=(x.next.y-x.y)/(x.next.x-x.x);e=r-o}return e}function m4(y,x){let e=_4(y,x);if(!e)return x;let r=g5(e,y);return u0(r,r.next),u0(e,e.next)}function _4(y,x){let e=x,r=y.x,o=y.y,a=-1/0,c;if(g0(y,e))return e;do{if(g0(y,e.next))return e.next;if(o<=e.y&&o>=e.next.y&&e.next.y!==e.y){let I=e.x+(o-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(I<=r&&I>a&&(a=I,c=e.x<e.next.x?e:e.next,I===r))return c}e=e.next}while(e!==x);if(!c)return null;let p=c,L=c.x,b=c.y,T=1/0;e=c;do{if(r>=e.x&&e.x>=L&&r!==e.x&&h5(o<b?r:a,o,L,b,o<b?a:r,o,e.x,e.y)){let I=Math.abs(o-e.y)/(r-e.x);S0(e,y)&&(I<T||I===T&&(e.x>c.x||e.x===c.x&&v4(c,e)))&&(c=e,T=I)}e=e.next}while(e!==p);return c}function v4(y,x){return z(y.prev,y,x.prev)<0&&z(x.next,y,y.next)<0}function w4(y,x,e,r){let o=y;do o.z===0&&(o.z=z0(o.x,o.y,x,e,r)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==y);o.prevZ.nextZ=null,o.prevZ=null,b4(o)}function b4(y){let x,e=1;do{let r=y,o;y=null;let a=null;for(x=0;r;){x++;let c=r,p=0;for(let b=0;b<e&&(p++,c=c.nextZ,!!c);b++);let L=e;for(;p>0||L>0&&c;)p!==0&&(L===0||!c||r.z<=c.z)?(o=r,r=r.nextZ,p--):(o=c,c=c.nextZ,L--),a?a.nextZ=o:y=o,o.prevZ=a,a=o;r=c}a.nextZ=null,e*=2}while(x>1);return y}function z0(y,x,e,r,o){return y=(y-e)*o|0,x=(x-r)*o|0,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,x=(x|x<<8)&16711935,x=(x|x<<4)&252645135,x=(x|x<<2)&858993459,x=(x|x<<1)&1431655765,y|x<<1}function M4(y){let x=y,e=y;do(x.x<e.x||x.x===e.x&&x.y<e.y)&&(e=x),x=x.next;while(x!==y);return e}function h5(y,x,e,r,o,a,c,p){return(o-c)*(x-p)>=(y-c)*(a-p)&&(y-c)*(r-p)>=(e-c)*(x-p)&&(e-c)*(a-p)>=(o-c)*(r-p)}function M0(y,x,e,r,o,a,c,p){return!(y===c&&x===p)&&h5(y,x,e,r,o,a,c,p)}function E4(y,x){return y.next.i!==x.i&&y.prev.i!==x.i&&!S4(y,x)&&(S0(y,x)&&S0(x,y)&&P4(y,x)&&(z(y.prev,y,x.prev)||z(y,x.prev,x))||g0(y,x)&&z(y.prev,y,y.next)>0&&z(x.prev,x,x.next)>0)}function z(y,x,e){return(x.y-y.y)*(e.x-x.x)-(x.x-y.x)*(e.y-x.y)}function g0(y,x){return y.x===x.x&&y.y===x.y}function p5(y,x,e,r){let o=O0(z(y,x,e)),a=O0(z(y,x,r)),c=O0(z(e,r,y)),p=O0(z(e,r,x));return!!(o!==a&&c!==p||o===0&&N0(y,e,x)||a===0&&N0(y,r,x)||c===0&&N0(e,y,r)||p===0&&N0(e,x,r))}function N0(y,x,e){return x.x<=Math.max(y.x,e.x)&&x.x>=Math.min(y.x,e.x)&&x.y<=Math.max(y.y,e.y)&&x.y>=Math.min(y.y,e.y)}function O0(y){return y>0?1:y<0?-1:0}function S4(y,x){let e=y;do{if(e.i!==y.i&&e.next.i!==y.i&&e.i!==x.i&&e.next.i!==x.i&&p5(e,e.next,y,x))return!0;e=e.next}while(e!==y);return!1}function S0(y,x){return z(y.prev,y,y.next)<0?z(y,x,y.next)>=0&&z(y,y.prev,x)>=0:z(y,x,y.prev)<0||z(y,y.next,x)<0}function P4(y,x){let e=y,r=!1,o=(y.x+x.x)/2,a=(y.y+x.y)/2;do e.y>a!=e.next.y>a&&e.next.y!==e.y&&o<(e.next.x-e.x)*(a-e.y)/(e.next.y-e.y)+e.x&&(r=!r),e=e.next;while(e!==y);return r}function g5(y,x){let e=$0(y.i,y.x,y.y),r=$0(x.i,x.x,x.y),o=y.next,a=x.prev;return y.next=x,x.prev=y,e.next=o,o.prev=e,r.next=e,e.prev=r,a.next=r,r.prev=a,r}function u5(y,x,e,r){let o=$0(y,x,e);return r?(o.next=r.next,o.prev=r,r.next.prev=o,r.next=o):(o.prev=o,o.next=o),o}function P0(y){y.next.prev=y.prev,y.prev.next=y.next,y.prevZ&&(y.prevZ.nextZ=y.nextZ),y.nextZ&&(y.nextZ.prevZ=y.prevZ)}function $0(y,x,e){return{i:y,x,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function R4(y,x,e,r){let o=0;for(let a=x,c=e-r;a<e;a+=r)o+=(y[c]-y[a])*(y[a+1]+y[c+1]),c=a;return o}var k5=u4(L5(),1);var d5={0:"M0.301025 0.257813 L0.206593 0.283385 L0.122042 0.361307 L0.075923 0.474441 L0.064942 0.642221 L0.091296 0.78289 L0.159376 0.899463 L0.257104 0.961214 L0.344948 0.961214 L0.442678 0.899463 L0.510757 0.78289 L0.537111 0.642221 L0.526131 0.474441 L0.480012 0.361307 L0.39546 0.283385 L0.301025 0.257813",1:"M0.220426 0.40845 L0.381626 0.270996 L0.381626 0.948966",2:"M0.110409 0.39212 L0.125621 0.342293 L0.170571 0.295823 L0.244237 0.26431 L0.291518 0.257813 L0.373319 0.263799 L0.434683 0.290705 L0.468239 0.331966 L0.480292 0.379913 L0.479492 0.411806 L0.465088 0.465192 L0.402571 0.568988 L0.245134 0.766438 L0.07959 0.948045 L0.522462 0.948045",3:"M0.081606 0.345073 L0.119154 0.315633 L0.178996 0.284091 L0.255265 0.257813 L0.349133 0.263062 L0.43127 0.289348 L0.48994 0.336662 L0.525141 0.394491 L0.513407 0.457577 L0.466472 0.504892 L0.384334 0.541692 L0.290464 0.56272 L0.20833 0.573235 L0.290464 0.583749 L0.384334 0.610035 L0.466472 0.652092 L0.519274 0.709922 L0.531007 0.773007 L0.50754 0.841351 L0.454738 0.899179 L0.3726 0.946494 L0.310412 0.961214 L0.209503 0.959111 L0.127367 0.946494 L0.071046 0.929671",4:"M0.418494 0.270996 L0.048828 0.724199 L0.553224 0.724199 M0.414181 0.578167 L0.414181 0.94897",5:"M0.074951 0.270996 L0.074951 0.614701 L0.267655 0.5695 L0.405247 0.586502 L0.460002 0.617189 L0.498028 0.660731 L0.527101 0.779401 L0.513352 0.841049 L0.477274 0.889568 L0.406378 0.93463 L0.324445 0.958337 L0.247399 0.962139 L0.182516 0.949767 L0.130068 0.925508 L0.074951 0.875607 M0.074951 0.270996 L0.527101 0.270996",6:"M0.428549 0.257813 L0.341433 0.285053 L0.26073 0.312099 L0.192188 0.360182 L0.138902 0.410969 L0.098219 0.500422 L0.070249 0.584267 L0.067264 0.670716 L0.065164 0.756863 L0.087163 0.820973 L0.108168 0.861042 L0.157916 0.913131 L0.210981 0.948192 L0.29279 0.961214 L0.384548 0.956206 L0.456409 0.924151 L0.507262 0.881077 L0.5349 0.821975 L0.537111 0.771889 L0.521634 0.718798 L0.498418 0.67372 L0.463042 0.636657 L0.414398 0.613617 L0.34696 0.598591 L0.28284 0.595587 L0.215403 0.605604 L0.145756 0.641665 L0.109274 0.678729 L0.064942 0.724006",7:"M0.071534 0.270996 L0.530519 0.270996 L0.495935 0.291702 L0.477752 0.305407 L0.435186 0.346112 L0.412067 0.374136 L0.388565 0.40796 L0.365315 0.448098 L0.342943 0.495062 L0.322081 0.549366 L0.303364 0.611524 L0.287416 0.68205 L0.270077 0.80465 L0.26253 0.94897",8:"M0.286761 0.257813 L0.210684 0.27162 L0.1414 0.305622 L0.092494 0.382125 L0.111513 0.450128 L0.16857 0.502193 L0.228345 0.539382 L0.377781 0.594635 L0.470161 0.645637 L0.52586 0.706203 L0.538087 0.792269 L0.506841 0.87621 L0.438915 0.927212 L0.339743 0.961214 L0.263666 0.959089 L0.174004 0.929337 L0.102003 0.881523 L0.063965 0.811395 L0.066682 0.741266 L0.102003 0.671139 L0.180797 0.608448 L0.259591 0.580822 L0.358762 0.548945 L0.456576 0.49688 L0.486463 0.446941 L0.487822 0.362999 L0.453859 0.302434 L0.384574 0.265245 L0.286761 0.257813",9:"M0.511026 0.437812 L0.491026 0.347812 L0.451026 0.297812 L0.391026 0.267812 L0.311026 0.257813 L0.231026 0.267812 L0.161026 0.297812 L0.111026 0.347812 L0.091026 0.417812 L0.111026 0.487812 L0.161026 0.537812 L0.231026 0.567812 L0.311026 0.577812 L0.391026 0.557812 L0.451026 0.517812 L0.491026 0.477812 L0.511026 0.437812 M0.510026 0.438812 L0.434026 0.636812 L0.381026 0.777812 L0.337026 0.879812 L0.301026 0.957812","!":"M0.301026 0.270996 L0.301026 0.749566 M0.251466 0.94897 L0.350587 0.94897",\'"\':"M0.16504 0.270996 L0.16504 0.523022 M0.437013 0.270996 L0.437013 0.523022","#":"M0.20958 0.282227 L0.146515 0.949754 M0.461844 0.282227 L0.398779 0.949754 M0.032999 0.526969 L0.600587 0.452796 M0.001465 0.82366 L0.569055 0.749486",$:"M0.307121 0.240234 L0.307121 1.083502 M0.490031 0.415915 L0.404676 0.328075 L0.23396 0.310507 L0.136407 0.398347 L0.099828 0.521324 L0.124213 0.591596 L0.197379 0.644299 L0.429061 0.697003 L0.502224 0.749708 L0.526613 0.837547 L0.477836 0.960526 L0.355897 1.013228 L0.197379 0.99566 L0.112021 0.942957 L0.07544 0.837547","\'":"M0.301026 0.270996 L0.301026 0.523022","(":"M0.413087 0.241211 L0.372337 0.28347 L0.331589 0.334184 L0.290838 0.393349 L0.25009 0.460965 L0.219528 0.528584 L0.199153 0.5962 L0.188966 0.655364 L0.199153 0.714529 L0.219528 0.782146 L0.25009 0.849764 L0.290838 0.91738 L0.331589 0.976544 L0.372337 1.027258 L0.413087 1.069491",")":"M0.188966 0.241211 L0.229716 0.28347 L0.270466 0.334184 L0.311213 0.393349 L0.351964 0.460965 L0.382526 0.528584 L0.4029 0.5962 L0.413087 0.655364 L0.4029 0.714529 L0.382526 0.782146 L0.351964 0.849764 L0.311213 0.91738 L0.270466 0.976544 L0.229716 1.027258 L0.188966 1.069491","*":"M0.301026 0.458702 L0.301026 0.681942 M0.301026 0.458702 L0.520997 0.536834 M0.301026 0.458702 L0.439954 0.257813 M0.301026 0.458702 L0.162098 0.257813 M0.301026 0.458702 L0.081055 0.536834","+":"M0.042969 0.66845 L0.559083 0.66845 M0.301023 0.428223 L0.301023 0.908661",",":"M0.38672 0.852051 L0.215333 1.030661 L0.301025 1.119971","-":"M0.173829 0.686035 L0.428224 0.686035",".":"M0.362549 0.851074 L0.239503 0.851074","/":"M0.062501 1.035249 L0.539551 0.270996","<":"M0.559083 0.441895 L0.042969 0.66939 L0.042969 0.66939 L0.559083 0.896902","=":"M0.042969 0.545898 L0.559083 0.545898 M0.042969 0.80837 L0.559083 0.80837",">":"M0.042969 0.441895 L0.559083 0.66939 L0.559083 0.66939 L0.042969 0.896902",A:"M0.018067 0.94897 L0.290179 0.270996 L0.583986 0.94897 M0.155303 0.684521 L0.433548 0.684521",B:"M0.063965 0.94897 L0.063965 0.278953 L0.209356 0.270996 L0.342486 0.294394 L0.432179 0.37292 L0.418224 0.48773 L0.312686 0.549166 L0.084728 0.575531 L0.306377 0.589434 L0.468877 0.647456 L0.538087 0.736658 L0.5324 0.85202 L0.501247 0.902983 L0.42355 0.944398 L0.063965 0.94897",C:"M0.529054 0.419847 L0.498425 0.345196 L0.442238 0.292341 L0.33583 0.257813 L0.257199 0.268357 L0.187906 0.303748 L0.120243 0.385432 L0.072998 0.599844 L0.110073 0.815385 L0.165381 0.902183 L0.222883 0.942801 L0.334904 0.961214 L0.43253 0.937679 L0.504816 0.868999 L0.529054 0.772065",D:"M0.064454 0.94897 L0.071838 0.285078 L0.171217 0.270996 L0.247348 0.272633 L0.37101 0.306078 L0.462461 0.378304 L0.514748 0.475555 L0.535591 0.576392 L0.537599 0.652313 L0.528065 0.717381 L0.508562 0.772419 L0.445948 0.855695 L0.362356 0.90871 L0.225203 0.945862 L0.064454 0.94897",E:"M0.080078 0.270996 L0.080078 0.94897 M0.080078 0.270996 L0.521974 0.270996 M0.080078 0.609981 L0.389405 0.609981 M0.080078 0.94897 L0.521974 0.94897",F:"M0.086426 0.270996 L0.086426 0.94897 M0.091304 0.275607 L0.515626 0.275607 M0.091304 0.607677 L0.447344 0.607677",G:"M0.498034 0.284943 L0.374621 0.257813 L0.244219 0.268648 L0.160577 0.311997 L0.094556 0.398116 L0.056397 0.58404 L0.076752 0.785532 L0.120865 0.858197 L0.188947 0.916734 L0.271008 0.953591 L0.357069 0.961214 L0.43715 0.932047 L0.501262 0.858539 L0.545656 0.648611 L0.329595 0.648131",H:"M0.066895 0.270996 L0.066895 0.94897 M0.066895 0.595658 L0.530009 0.595658 M0.535157 0.270996 L0.535157 0.94897",I:"M0.301026 0.270996 L0.301026 0.94897",J:"M0.506839 0.270996 L0.507814 0.782193 L0.498468 0.846168 L0.480733 0.880789 L0.455864 0.90832 L0.426095 0.929408 L0.360746 0.954812 L0.302508 0.962139 L0.223573 0.953638 L0.16538 0.930312 L0.137072 0.907715 L0.116428 0.880312 L0.102822 0.848819 L0.095633 0.813947 L0.094239 0.776413",K:"M0.035401 0.270996 L0.035401 0.94897 M0.502258 0.316194 L0.035401 0.687823 M0.212484 0.582361 L0.566652 0.933903",L:"M0.07544 0.270996 L0.07544 0.94897 L0.526613 0.94897",M:"M0.042481 0.94897 L0.042481 0.270996 L0.301027 0.712492 L0.559571 0.270996 L0.559571 0.94897",N:"M0.067871 0.94897 L0.067871 0.270996 L0.534181 0.94897 L0.525031 0.270996",O:"M0.287293 0.961214 L0.19843 0.933567 L0.1172 0.849451 L0.057129 0.563945 L0.114348 0.350255 L0.18455 0.289392 L0.306101 0.257813 L0.42054 0.29572 L0.487543 0.365003 L0.544923 0.625294 L0.516366 0.789624 L0.465476 0.884596 L0.375084 0.949287 L0.287293 0.961214",P:"M0.070557 0.94897 L0.070557 0.28379 L0.20704 0.270996 L0.329134 0.278993 L0.408525 0.300514 L0.444022 0.317908 L0.500637 0.368929 L0.525796 0.423728 L0.531496 0.50384 L0.508934 0.554205 L0.473724 0.582043 L0.417577 0.604365 L0.336375 0.620372 L0.226014 0.629268 L0.082368 0.630258",Q:"M0.282435 1.050813 L0.195447 1.019646 L0.115933 0.924817 L0.057129 0.602943 L0.113139 0.362034 L0.18186 0.293418 L0.300844 0.257813 L0.412868 0.300553 L0.478457 0.37866 L0.534625 0.672103 L0.506671 0.857367 L0.456855 0.964437 L0.368371 1.037368 L0.282435 1.050813 M0.341225 0.815559 L0.544923 1.070653",R:"M0.034912 0.944112 L0.034912 0.288556 L0.227127 0.270996 L0.362038 0.276867 L0.443423 0.294907 L0.477644 0.309614 L0.505809 0.328757 L0.526616 0.352817 L0.544963 0.418061 L0.543241 0.475921 L0.524463 0.517817 L0.49076 0.546518 L0.444265 0.564799 L0.355195 0.578739 L0.047653 0.589627 M0.303054 0.617306 L0.56714 0.94897",S:"M0.483037 0.364333 L0.407613 0.267477 L0.22883 0.257813 L0.128623 0.327565 L0.087712 0.455539 L0.104656 0.518727 L0.168054 0.573307 L0.41928 0.617318 L0.503796 0.669342 L0.535157 0.759324 L0.493846 0.900055 L0.367668 0.961214 L0.205436 0.956661 L0.116711 0.907038 L0.066895 0.790334",T:"M0.022949 0.270996 L0.579103 0.270996 M0.309284 0.270996 L0.309284 0.94897",U:"M0.072022 0.270996 L0.07308 0.648875 L0.080372 0.75167 L0.099024 0.827813 L0.134786 0.885729 L0.181571 0.924023 L0.251464 0.95168 L0.339655 0.962139 L0.401553 0.951668 L0.45232 0.924086 L0.482701 0.891771 L0.495745 0.870529 L0.515699 0.81637 L0.525014 0.744626 L0.530031 0.272017",V:"M0.027832 0.270996 L0.320083 0.94897 L0.57422 0.270996",W:"M0 0.270996 L0.079799 0.940377 L0.285198 0.472884 L0.505255 0.94897 L0.602052 0.270996",X:"M0.009034 0.270996 L0.586805 0.94897 M0.593019 0.270996 L0.015246 0.94897",Y:"M0.018067 0.270996 L0.293132 0.574135 M0.583986 0.271959 L0.294954 0.57606 L0.305277 0.94897",Z:"M0.053711 0.270996 L0.548341 0.270996 L0.053711 0.94897 L0.548341 0.94897","[":"M0.404542 0.240234 L0.197511 0.240234 L0.197511 1.069424 L0.404542 1.069424","\\\\":"M0.062501 0.270996 L0.539551 1.035249","]":"M0.19751 0.240234 L0.404542 0.240234 L0.404542 1.069424 L0.19751 1.069424","^":"M0.035156 0.523931 L0.301024 0.270996 L0.566896 0.523931",_:"M0 1.160601 L0.602052 1.160601",a:"M0.527101 0.439941 L0.527101 0.973965 M0.527101 0.553824 L0.451366 0.477535 L0.376759 0.439941 L0.263722 0.439941 L0.187989 0.477535 L0.112255 0.553824 L0.074951 0.66881 L0.074951 0.745099 L0.112255 0.85898 L0.187989 0.93527 L0.263722 0.973965 L0.376759 0.973965 L0.451366 0.93527 L0.527101 0.85898",b:"M0.07666 0.240234 L0.07666 0.959985 M0.07666 0.582737 L0.151822 0.514237 L0.225865 0.480483 L0.338045 0.480483 L0.413211 0.514237 L0.488374 0.582737 L0.525392 0.685983 L0.525392 0.754485 L0.488374 0.856739 L0.413211 0.92524 L0.338045 0.959985 L0.225865 0.959985 L0.151822 0.92524 L0.07666 0.856739",c:"M0.512452 0.553823 L0.441624 0.477535 L0.371854 0.439941 L0.26614 0.439941 L0.195312 0.477535 L0.124486 0.553823 L0.0896 0.668808 L0.0896 0.745099 L0.124486 0.858979 L0.195312 0.93527 L0.26614 0.973965 L0.371854 0.973965 L0.441624 0.93527 L0.512452 0.858979",d:"M0.525392 0.240234 L0.525392 0.959985 M0.525392 0.582737 L0.450232 0.514237 L0.376189 0.480483 L0.264006 0.480483 L0.188844 0.514237 L0.11368 0.582737 L0.076661 0.685983 L0.076661 0.754485 L0.11368 0.856739 L0.188844 0.92524 L0.264006 0.959985 L0.376189 0.959985 L0.450232 0.92524 L0.525392 0.856739",e:"M0.059571 0.668808 L0.542482 0.668808 M0.542482 0.592521 L0.502641 0.516231 L0.461594 0.477535 L0.381914 0.439941 L0.261186 0.439941 L0.180299 0.477535 L0.099412 0.553823 L0.059571 0.668808 L0.059571 0.745099 L0.099412 0.858979 L0.180299 0.93527 L0.261186 0.973965 L0.381914 0.973965 L0.461594 0.93527 L0.542482 0.858979",f:"M0.512941 0.240234 L0.406984 0.240234 L0.301026 0.274346 L0.248047 0.374731 L0.248047 0.946817 M0.089112 0.476088 L0.459965 0.476088",g:"M0.525392 0.439941 L0.525392 0.989395 L0.488373 1.091918 L0.45023 1.126757 L0.376189 1.160601 L0.264004 1.160601 L0.188844 1.126757 L0.113681 1.058075 L0.076661 0.954555 M0.525392 0.542467 L0.45023 0.473786 L0.376189 0.439941 L0.264004 0.439941 L0.188844 0.473786 L0.113681 0.542467 L0.076661 0.645988 L0.076661 0.714669 L0.113681 0.817193 L0.188844 0.885875 L0.264004 0.920713 L0.376189 0.920713 L0.45023 0.885875 L0.525392 0.817193",h:"M0.092041 0.240234 L0.092041 0.946817 M0.092041 0.61058 L0.205937 0.509225 L0.282214 0.476086 L0.396109 0.476086 L0.47187 0.509225 L0.510011 0.61058 L0.510011 0.946817",i:"M0.261026 0.240234 L0.341026 0.240234 M0.300978 0.476089 L0.300978 0.946817",j:"M0.3853 0.240234 L0.447023 0.240234 M0.416159 0.465708 L0.416159 1.011689 L0.383887 1.108586 L0.252832 1.140264 L0.15503 1.108586",k:"M0.065186 0.240234 L0.065186 0.946817 M0.493824 0.476086 L0.065186 0.812323 M0.236758 0.677829 L0.536867 0.946817",l:"M0.301026 0.234863 L0.301026 0.946441",m:"M0.050538 0.439941 L0.050538 0.960796 M0.050538 0.588758 L0.114405 0.476607 L0.157178 0.439941 L0.236864 0.439941 L0.279637 0.476607 L0.32241 0.588758 L0.32241 0.960796 M0.32241 0.588758 L0.386281 0.476607 L0.428467 0.439941 L0.50874 0.439941 L0.551515 0.476607 L0.551515 0.960796",n:"M0.092041 0.439941 L0.092041 0.960796 M0.092041 0.588758 L0.205936 0.476607 L0.282216 0.439941 L0.396113 0.439941 L0.471871 0.476607 L0.510011 0.588758 L0.510011 0.960796",o:"M0.247175 0.439941 L0.175178 0.477535 L0.103186 0.553823 L0.066895 0.668808 L0.066895 0.745099 L0.103186 0.858979 L0.175178 0.93527 L0.247175 0.973965 L0.354874 0.973965 L0.426872 0.93527 L0.498866 0.858979 L0.535157 0.745099 L0.535157 0.668808 L0.498866 0.553823 L0.426872 0.477535 L0.354874 0.439941 L0.247175 0.439941",p:"M0.076904 0.439941 L0.076904 1.154244 M0.076904 0.541563 L0.151986 0.473487 L0.225944 0.439941 L0.338005 0.439941 L0.413087 0.473487 L0.488166 0.541563 L0.525148 0.644169 L0.525148 0.712246 L0.488166 0.813866 L0.413087 0.881942 L0.338005 0.916471 L0.225944 0.916471 L0.151986 0.881942 L0.076904 0.813866",q:"M0.525148 0.441895 L0.525148 1.156195 M0.525148 0.5435 L0.450067 0.47544 L0.376106 0.441895 L0.264042 0.441895 L0.188966 0.47544 L0.113885 0.5435 L0.076905 0.646108 L0.076905 0.714187 L0.113885 0.815809 L0.188966 0.883886 L0.264042 0.918418 L0.376106 0.918418 L0.450067 0.883886 L0.525148 0.815809",r:"M0.107422 0.439941 L0.107422 0.960796 M0.107422 0.663164 L0.155824 0.551014 L0.252626 0.476607 L0.349428 0.439941 L0.49463 0.439941",s:"M0.475556 0.477535 L0.400757 0.439941 L0.276092 0.439941 L0.176361 0.477535 L0.101563 0.553823 L0.101563 0.630112 L0.176361 0.668808 L0.301024 0.668808 L0.425688 0.745099 L0.50049 0.821387 L0.50049 0.897677 L0.425688 0.93527 L0.325956 0.973965 L0.201295 0.973965 L0.126496 0.93527 L0.101563 0.858979",t:"M0.246032 0.297852 L0.246032 0.826549 L0.301023 0.919323 L0.411011 0.950848 L0.520997 0.950848 M0.081055 0.515799 L0.466004 0.515799",u:"M0.092041 0.454102 L0.092041 0.826134 L0.13018 0.937211 L0.205936 0.974954 L0.319832 0.974954 L0.396113 0.937211 L0.510011 0.826134 M0.510011 0.454102 L0.510011 0.974954",v:"M0.048828 0.453125 L0.301026 0.961719 M0.553224 0.453125 L0.301026 0.961719",w:"M0 0.453125 L0.150512 0.961719 M0.301024 0.453125 L0.150512 0.961719 M0.301024 0.453125 L0.451539 0.961719 M0.602052 0.453125 L0.451539 0.961719",x:"M0.03711 0.453125 L0.564943 0.961719 M0.564943 0.453125 L0.03711 0.961719",y:"M0.084618 0.453125 L0.320232 0.921476 M0.55713 0.453125 L0.320232 0.921476 L0.242119 1.055289 L0.163369 1.122196 L0.084618 1.155166 L0.044922 1.155166",z:"M0.505373 0.452148 L0.09668 0.961651 M0.09668 0.452148 L0.505373 0.452148 M0.09668 0.961651 L0.505373 0.961651"},m5={};for(let y in d5){m5[y]=[];let x=d5[y].split("M").slice(1).map(e=>e.split("L").map(r=>r.trim().split(" ").map(parseFloat)));for(let e of x)for(let r=0;r<e.length-1;r++)m5[y].push({x1:e[r][0],y1:1-e[r][1],x2:e[r+1][0],y2:1-e[r+1][1]})}var I4=.09,A4=.692052,k4=.692052,T4=1.152,N4=0;var _5={0:.692052,1:.692052,2:.692052,3:.692052,4:.692052,5:.692052,6:.692052,7:.692052,8:.692052,9:.692052,"!":.692052,\'"\':.692052,"#":.692052,$:.692052,"\'":.692052,"(":.692052,")":.692052,"*":.692052,"+":.692052,",":.692052,"-":.692052,".":.692052,"/":.692052,"<":.692052,"=":.692052,">":.692052,A:.692052,B:.692052,C:.692052,D:.692052,E:.692052,F:.692052,G:.692052,H:.692052,I:.692052,J:.692052,K:.692052,L:.692052,M:.692052,N:.692052,O:.692052,P:.692052,Q:.692052,R:.692052,S:.692052,T:.692052,U:.692052,V:.692052,W:.692052,X:.692052,Y:.692052,Z:.692052,"[":.692052,"\\\\":.692052,"]":.692052,"^":.692052,_:.692052,a:.692052,b:.692052,c:.692052,d:.692052,e:.692052,f:.692052,g:.692052,h:.692052,i:.692052,j:.692052,k:.692052,l:.692052,m:.692052,n:.692052,o:.692052,p:.692052,q:.692052,r:.692052,s:.692052,t:.692052,u:.692052,v:.692052,w:.692052,x:.692052,y:.692052,z:.692052," ":.692052},v5={},a0={glyphWidthRatio:A4,spaceWidthRatio:k4,lineHeightRatio:T4,strokeWidthRatio:I4,letterSpacingRatio:N4};var O4={0:[[{x:.019944796633211075,y:.35828068632415006},{x:.020222641007547733,y:.3550960892473839},{x:.020327535068617307,y:.3519011161217302},{x:.02060526835904108,y:.3507104904820116},{x:.02071153113201321,y:.34949252766745387},{x:.047065531132013214,y:.20882352766745393},{x:.047989939967683706,y:.20564918300405605},{x:.04875673163473768,y:.20243312543665407},{x:.04922094308839032,y:.20142201853303832},{x:.04953201774467938,y:.20035381349539033},{x:.05105794824635218,y:.1974208061920286},{x:.05243742793298141,y:.1944161379022362},{x:.1205174279329814,y:.07784313790223615},{x:.1216536619223176,y:.07627409360623287},{x:.12261018498510404,y:.07458945972562232},{x:.1242345189777056,y:.07271014544101197},{x:.12569143736362237,y:.07069826276137084},{x:.12711194429242206,y:.06938103546641537},{x:.12837874379901673,y:.06791537974577894},{x:.130338502698373,y:.06638906779986004},{x:.132159925645859,y:.06470007355882942},{x:.13381011622947792,y:.06368528357115737},{x:.13533850978527173,y:.062494930337889824},{x:.2330665097852717,y:.000743930337889824},{x:.2364974226485404,y:-.000978818921256936},{x:.23988324554357096,y:-.0027885789630079164},{x:.24043487144166406,y:-.0029559128497863825},{x:.24095002304009888,y:-.0032145836671228292},{x:.2446511035824589,y:-.0042348928870151745},{x:.24832493550927423,y:-.005349337618145378},{x:.24889860729226898,y:-.005405839357118937},{x:.2494543245702404,y:-.005559038796006631},{x:.2532833423420387,y:-.0058376980655201055},{x:.257104,y:-.006214000000000011},{x:.344948,y:-.006214000000000011},{x:.34876845169289644,y:-.005837718351308385},{x:.352597265623821,y:-.005559109487024962},{x:.35315318526669126,y:-.00540585978827806},{x:.3537270644907258,y:-.005349337618145378},{x:.3574006983675983,y:-.004234952964808514},{x:.36110158881940224,y:-.0032147329490055873},{x:.36161692908913895,y:-.0029559733581057666},{x:.36216875445642904,y:-.0027885789630079164},{x:.36555439482758706,y:-.000978916482299381},{x:.3689851386556908,y:.0007437082019616584},{x:.4667151386556908,y:.06249470820196166},{x:.46824382031514195,y:.0636852631221029},{x:.4698943035897058,y:.06470024765114774},{x:.4717154585013725,y:.06638901501054441},{x:.47367495473362387,y:.0679150932923645},{x:.4749419974608878,y:.0693810030307532},{x:.47636275350351887,y:.0706984782301942},{x:.4778194532662604,y:.07271008609647399},{x:.47944357522443626,y:.07458911996296573},{x:.4804002872780698,y:.07627405043044727},{x:.48153671723081914,y:.07784338646721853},{x:.5496157172308191,y:.19441638646721857},{x:.5509951179002539,y:.19742093333312605},{x:.5525209822553206,y:.20035381349539033},{x:.5528320971760705,y:.20142215679791795},{x:.5532963622471587,y:.2024333975455826},{x:.5540631001039363,y:.20564932060673602},{x:.5549874688679868,y:.20882352766745393},{x:.5813414688679868,y:.34949252766745387},{x:.5814477200321959,y:.3507103574246747},{x:.581725430046729,y:.351900851345405},{x:.5818303474337426,y:.35509595676374855},{x:.5821082033667889,y:.35828068632415006},{x:.5819748261451739,y:.3594958443979094},{x:.5820149461972951,y:.36071764184793353},{x:.5710349461972951,y:.5284976418479336},{x:.5705756858728281,y:.5312810757499365},{x:.5703149436633981,y:.5340900680661724},{x:.5698592272920282,y:.5356233082419208},{x:.5695988288779222,y:.5372015019922555},{x:.5686053720955593,y:.5398418557477263},{x:.5678016327590553,y:.5425460057826548},{x:.5216826327590552,y:.6556800057826547},{x:.5211943471023096,y:.656605995281004},{x:.5208498728309648,y:.6575945381025444},{x:.5191405880551111,y:.6605007631972294},{x:.5175679428069421,y:.6634831423933323},{x:.5169083878327574,y:.664296079457111},{x:.5163776774005638,y:.665198424109003},{x:.5141342596628157,y:.6677153419860701},{x:.5120099990343735,y:.6703336077343061},{x:.511204521070525,y:.6710022516480534},{x:.510507969381766,y:.6717837215313657},{x:.425955969381766,y:.7497057215313657},{x:.4243831978740034,y:.750892537075826},{x:.42294870744900304,y:.7522432326643229},{x:.4208707687817478,y:.7535430209032156},{x:.4189143183619635,y:.7550193610827685},{x:.4171402309909699,y:.7558765397994217},{x:.4154697962599445,y:.7569214269519826},{x:.41317820849544135,y:.7577908544006052},{x:.41097133104084405,y:.7588571425751742},{x:.40906410498936707,y:.7593517435666508},{x:.4072219198222394,y:.7600506678559823},{x:.3127869198222394,y:.7856226678559822},{x:.3097655669518694,y:.7861297177594856},{x:.3067801557646532,y:.7868174624905968},{x:.3054245519856559,y:.7868582361795984},{x:.30408703940192616,y:.7870827004032797},{x:.3010248204508113,y:.7869905707806608},{x:.2979626007613803,y:.7870826758597451},{x:.29662508997676323,y:.7868582009159747},{x:.29526948652460844,y:.786817416361878},{x:.2922840808497275,y:.7861296477028675},{x:.28926273204343433,y:.7856225735833884},{x:.19483073204343437,y:.7600505735833885},{x:.19298859701529922,y:.7593516514268194},{x:.1910814199885863,y:.7588570511522524},{x:.1888745059729717,y:.757790729268721},{x:.18658288068670334,y:.7569212665731724},{x:.18491249471518256,y:.7558763912940257},{x:.18313845528709377,y:.7550192228447639},{x:.18118197558509466,y:.7535428424712565},{x:.17910400699337814,y:.7522430123425641},{x:.17766956207459372,y:.7508923379118444},{x:.17609683558545802,y:.7497055417906873},{x:.09154583558545802,y:.6717835417906872},{x:.09084937681091164,y:.6710021668773223},{x:.09004400096562647,y:.6703336077343061},{x:.087919657143162,y:.6677152394449524},{x:.08567616637982708,y:.6651982097729843},{x:.0851455285488078,y:.6642959763928821},{x:.08448605719305789,y:.6634831423933323},{x:.08291335035419628,y:.6605006463960624},{x:.08120401576602496,y:.6575942974079984},{x:.08085959099279398,y:.6566058778839782},{x:.08037136724094471,y:.6556800057826547},{x:.03425236724094472,y:.5425460057826548},{x:.03344866581310472,y:.5398419832899659},{x:.03245524021837327,y:.537201759963462},{x:.0321948107181119,y:.5356234361255728},{x:.03173905633660196,y:.5340900680661724},{x:.03147832642517492,y:.5312812082371015},{x:.031019071243648687,y:.5284979083423142},{x:.020038071243648682,y:.36071790834231426},{x:.020078188427320915,y:.3594959771633442},{x:.019944796633211075,y:.35828068632415006}],[{x:.11021604810185967,y:.3604951889884744},{x:.12035004420691338,y:.5153337161267963},{x:.1599220965290545,y:.612407472440097},{x:.22898846858521874,y:.6760588762479813},{x:.301025186831377,y:.6955662779655215},{x:.373064807645506,y:.6760587099720985},{x:.44213195602343713,y:.6124073435241713},{x:.48170390405887986,y:.5153338430353971},{x:.49183697687726113,y:.3604953223188204},{x:.4679633532090146,y:.23306575687188358},{x:.4093572783633461,y:.13271343144136735},{x:.3319224534250481,y:.08378599999999999},{x:.27012977192577264,y:.08378599999999999},{x:.19269670382412518,y:.13271332265415062},{x:.13408961949133952,y:.23306590258843124},{x:.11021604810185967,y:.3604951889884744}]],1:[[{x:.17556757075794932,y:.5951166967821685},{x:.17573368487361973,y:.586296718297643},{x:.17761729959585784,y:.5776786204828649},{x:.18114602866723137,y:.5695935920037709},{x:.1861842650084615,y:.5623523359706766},{x:.19253839202243023,y:.5562331297919906},{x:.19996422417142623,y:.5514711311294693},{x:.20817639089041826,y:.548249340921154},{x:.21685930321783156,y:.5466915707579493},{x:.225679281702357,y:.5468576848736197},{x:.2342973795171352,y:.5487412995958578},{x:.24238240799622912,y:.5522700286672314},{x:.24962366402932343,y:.5573082650084615},{x:.33662600000000004,y:.6314944876419193},{x:.33662600000000004,y:.051034000000000024},{x:.33749066238185466,y:.042254935509274234},{x:.3400514210369921,y:.033813245543570986},{x:.3442098674463855,y:.026033339514117928},{x:.34980619484660536,y:.019214194846605387},{x:.35662533951411796,y:.013617867446385483},{x:.364405245543571,y:.00945942103699212},{x:.3728469355092743,y:.006898662381854659},{x:.381626,y:.0060340000000000255},{x:.3904050644907258,y:.006898662381854659},{x:.3988467544564291,y:.00945942103699212},{x:.40662666048588214,y:.01361786744638549},{x:.4134458051533947,y:.019214194846605387},{x:.41904213255361455,y:.026033339514117928},{x:.42320057896300795,y:.033813245543570986},{x:.4257613376181454,y:.042254935509274255},{x:.426626,y:.051034000000000024},{x:.426626,y:.729004},{x:.42636789988195944,y:.7316245344755278},{x:.4263183151263803,y:.7342572817023569},{x:.42593657376816557,y:.7360038620015019},{x:.4257613376181454,y:.7377830644907257},{x:.42499695590681574,y:.7403028932959718},{x:.4244347004041422,y:.7428753795171351},{x:.42371955318609683,y:.744513925721078},{x:.42320057896300795,y:.746224754456429},{x:.4219592904188853,y:.7485470419835442},{x:.42090597133276864,y:.7509604079962291},{x:.419884900961423,y:.7524279516932593},{x:.41904213255361455,y:.7540046604858821},{x:.41737163919932724,y:.7560401625275525},{x:.41586773499153856,y:.7582016640293234},{x:.4145799806286405,y:.7594418083381722},{x:.4134458051533947,y:.7608238051533946},{x:.41141030311172405,y:.7624942985076821},{x:.4095136079775698,y:.7643208702080094},{x:.40800865730110464,y:.7652859570783687},{x:.40662666048588214,y:.7664201325536145},{x:.40430437295876726,y:.767661421097737},{x:.4020877758285738,y:.7690828688705307},{x:.4004234632490515,y:.7697358105551997},{x:.3988467544564291,y:.7705785789630079},{x:.39632692565118355,y:.7713429606743374},{x:.3938756091095818,y:.772304659078846},{x:.39211589322607654,y:.7726203633950566},{x:.3904050644907258,y:.7731393376181454},{x:.3877845300151986,y:.7733974377361859},{x:.3851926967821685,y:.7738624292420507},{x:.38340520248922366,y:.7738287638499798},{x:.381626,y:.774004},{x:.37900546552447173,y:.7737458998819594},{x:.376372718297643,y:.7736963151263803},{x:.37462613799849803,y:.7733145737681656},{x:.3728469355092743,y:.7731393376181454},{x:.3703271067040287,y:.7723749559068158},{x:.36775462048286484,y:.7718127004041422},{x:.3661160742789217,y:.7710975531860966},{x:.364405245543571,y:.7705785789630079},{x:.3620829580164563,y:.7693372904188854},{x:.3596695920037709,y:.7682839713327686},{x:.35820204830674063,y:.7672629009614229},{x:.35662533951411796,y:.7664201325536145},{x:.3545898374724472,y:.7647496391993269},{x:.35242833597067663,y:.7632457349915385},{x:.1912283359706766,y:.6257917349915385},{x:.18510912979199054,y:.6194376079775697},{x:.18034713112946932,y:.6120117758285738},{x:.17712534092115398,y:.6037996091095817},{x:.17556757075794932,y:.5951166967821685}]],2:[[{x:.034589999999999996,y:.05195499999999997},{x:.034692251306008066,y:.05091682506774448},{x:.03463809526377374,y:.04987503351343359},{x:.03512383076438082,y:.04653492529109402},{x:.03545466238185463,y:.043175935509274184},{x:.03575748683953214,y:.042177657057450094},{x:.03590761484026801,y:.04114531791601493},{x:.0370356398580977,y:.03796415123181852},{x:.03801542103699209,y:.034734245543570935},{x:.03850718127225641,y:.0338142268532408},{x:.03885582398108696,y:.03283101233894428},{x:.040582789147307716,y:.02993103764454602},{x:.04217386744638545,y:.02695433951411788},{x:.04283566538917773,y:.026147936387598623},{x:.04336942466232366,y:.025251630882832152},{x:.04562896367409083,y:.022744292579413156},{x:.04777019484660536,y:.020135194846605337},{x:.04857659797312457,y:.019473396903813094},{x:.04927496174105457,y:.01869844492647086},{x:.0519802417813102,y:.01668009861889986},{x:.05458933951411791,y:.014538867446385433},{x:.055509358204447995,y:.01404710721112114},{x:.05634548873920743,y:.013423289731094336},{x:.05939254741314285,y:.011971499336069797},{x:.062369245543570956,y:.01038042103699207},{x:.0633675239953951,y:.010077596579314544},{x:.06430928926944049,y:.00962888655251979},{x:.06758102982102647,y:.008799443560749052},{x:.07081093550927423,y:.007819662381854608},{x:.0718491104415297,y:.007717411075846537},{x:.07286031894352762,y:.007461052176974015},{x:.07623101021818018,y:.0072858316174737835},{x:.07959,y:.006954999999999975},{x:.522462,y:.006954999999999975},{x:.5312410644907257,y:.007819662381854608},{x:.539682754456429,y:.01038042103699207},{x:.5474626604858821,y:.014538867446385433},{x:.5542818051533946,y:.020135194846605337},{x:.5598781325536145,y:.02695433951411788},{x:.5640365789630079,y:.034734245543570935},{x:.5665973376181453,y:.043175935509274205},{x:.567462,y:.05195499999999997},{x:.5665973376181453,y:.06073406449072574},{x:.5640365789630079,y:.06917575445642901},{x:.5598781325536145,y:.07695566048588207},{x:.5542818051533946,y:.08377480515339461},{x:.5474626604858821,y:.08937113255361451},{x:.539682754456429,y:.09352957896300787},{x:.5312410644907257,y:.09609033761814534},{x:.522462,y:.09695499999999997},{x:.1815000359059797,y:.09695499999999997},{x:.2783905550735291,y:.2032469617410546},{x:.2792807818102756,y:.20444017254595384},{x:.28031851181367967,y:.20550758629318672},{x:.43775551181367967,y:.4029575862931866},{x:.4393581707982963,y:.4054309283363016},{x:.4411189018513206,y:.4077943501865292},{x:.5036359018513206,y:.5115903501865292},{x:.5044316302389797,y:.5132634494776924},{x:.5054127007337849,y:.5148350555317778},{x:.5063216043693862,y:.5172373109446714},{x:.5074247535047713,y:.5195567934026113},{x:.5078787867151084,y:.5213529834674229},{x:.5085344010842773,y:.5230857889106145},{x:.5229384010842772,y:.5764717889106146},{x:.5230947969602031,y:.5774089507908463},{x:.5233933154704733,y:.5783109589719573},{x:.5238196553887738,y:.5817524776504878},{x:.5243904806061233,y:.5851730002877248},{x:.5243610401661515,y:.586122666187007},{x:.5244778496604383,y:.5870655806061408},{x:.5252778496604383,y:.6189585806061408},{x:.525154398698275,y:.6206444560860672},{x:.5252359209411441,y:.6223328785443973},{x:.5248330095087286,y:.6250334227224941},{x:.5246336028763079,y:.6277565667648055},{x:.5241836259995084,y:.6293859645321488},{x:.5239341869342451,y:.6310578486269935},{x:.5118811869342451,y:.6790048486269935},{x:.5115474759395316,y:.6799350391147754},{x:.5113589931552627,y:.6809051378786065},{x:.5100605296725933,y:.6840797730170447},{x:.5089023081582834,y:.6873082151493771},{x:.5083935381649621,y:.6881554285023456},{x:.5080194201443183,y:.6890701159233712},{x:.5061265656819337,y:.6919304336788418},{x:.5043607612540449,y:.6948708843926746},{x:.5036964840076373,y:.6956025626767983},{x:.5031511078963445,y:.6964266878303904},{x:.4695951078963445,y:.7376876878303904},{x:.46829294792790443,y:.7390014838193654},{x:.46714904955699066,y:.7404551608815331},{x:.46519525859727806,y:.7421268539092958},{x:.4633851429208498,y:.7439531446668906},{x:.4618516947085211,y:.7449876576267703},{x:.4604461776978856,y:.7461902391902692},{x:.4582037971525157,y:.7474486453977692},{x:.45607217068925404,y:.7488867084403534},{x:.4543663637878686,y:.7496021826182516},{x:.45275324136800726,y:.7505074541480116},{x:.3913892413680073,y:.7774134541480116},{x:.3883140702117422,y:.7784156528007931},{x:.3852957573995619,y:.7795779210778271},{x:.3841283231887951,y:.779779788263216},{x:.3830018757962646,y:.7801468976050565},{x:.3797902739335826,y:.7805299031606142},{x:.3766032098633093,y:.781080995160135},{x:.2948022098633093,y:.7870669951601349},{x:.29450281220893076,y:.7870594704966325},{x:.2942070489499988,y:.7871065838776864},{x:.29009611613079095,y:.7869487184427649},{x:.2859834519838158,y:.7868453561974301},{x:.28569127516043946,y:.7867795665334233},{x:.28539200354491423,y:.7867680740946454},{x:.2381110035449142,y:.7802710740946455},{x:.2365476307297285,y:.7798972084805876},{x:.2349498387179436,y:.7797212234138579},{x:.23226739693423346,y:.7788736316211718},{x:.2295313767481002,y:.7782193386355017},{x:.22807098126622102,y:.7775476578384392},{x:.22653822336325463,y:.7770633405173258},{x:.15287222336325462,y:.7455503405173259},{x:.15277120515837472,y:.7454948388638573},{x:.15266147866932564,y:.7454595513468599},{x:.14890641990559073,y:.7433714396994592},{x:.14514076206912752,y:.7413025033471496},{x:.1450525127361761,y:.7412283604682699},{x:.14495177886390068,y:.7411723444149347},{x:.14167624287507044,y:.7383917796239132},{x:.1383865705572421,y:.7356279539035645},{x:.138314481468594,y:.7355380190685297},{x:.13822661135931125,y:.7354634271443719},{x:.09327661135931127,y:.6889934271443718},{x:.09215967204365061,y:.6875853345117547},{x:.09088652507606766,y:.6863167230283468},{x:.0894249598835053,y:.6841377631074377},{x:.0877944205712414,y:.6820821900242812},{x:.08697364817646357,y:.6804832494460014},{x:.08597245819367963,y:.6789906353246448},{x:.0849640705590952,y:.6765684062835642},{x:.08376588401722862,y:.6742342280213215},{x:.08327282036617045,y:.6725058858871059},{x:.08258206253775009,y:.6708466294514168},{x:.06737006253775008,y:.6210196294514168},{x:.06563362911198059,y:.61237067498716},{x:.06561788807912042,y:.6035491464015462},{x:.0673234443582347,y:.5948940500909503},{x:.07068475437800403,y:.5867379965527546},{x:.07557264487941309,y:.5793944183504645},{x:.08179927697165325,y:.5731455250760676},{x:.08912536467535526,y:.5682314581936796},{x:.09726937054858317,y:.56484106253775},{x:.10591832501283995,y:.5631046291119806},{x:.11473985359845373,y:.5630888880791204},{x:.12339494990904962,y:.5647944443582347},{x:.13155100344724535,y:.568155754378004},{x:.13889458164953555,y:.5730436448794131},{x:.14514347492393234,y:.5792702769716532},{x:.15005754180632036,y:.5865963646753553},{x:.1534479374622499,y:.5947403705485832},{x:.16549687462406137,y:.6342067386764809},{x:.19660916323298405,y:.666371100226128},{x:.2563653288901179,y:.6919337213587163},{x:.29295461470925055,y:.696961546277117},{x:.3623268316838737,y:.6918850546595318},{x:.40664087103378327,y:.672454875030618},{x:.4270299373286165,y:.6473841495451277},{x:.4351521014718352,y:.6150740687208592},{x:.4346413299816387,y:.5947115247998124},{x:.4232850296720603,y:.5526213103922067},{x:.3655461500158852,y:.45675834907300783},{x:.21087613207581168,y:.2627785664153893},{x:.04633344492647088,y:.0822700382589454},{x:.04431509861889995,y:.07956475821868986},{x:.04217386744638545,y:.07695566048588207},{x:.04168210721112112,y:.0760356417955519},{x:.04105828973109435,y:.07519951126079251},{x:.03960649933606985,y:.07215245258685718},{x:.03801542103699209,y:.06917575445642901},{x:.037712596579314576,y:.0681774760046049},{x:.037263886552519804,y:.06723571073055948},{x:.036434443560749034,y:.06396397017897336},{x:.03545466238185463,y:.06073406449072574},{x:.03535241107584656,y:.059695889558470286},{x:.035096052176974035,y:.05868468105647236},{x:.03492083161747381,y:.05531398978181981},{x:.034589999999999996,y:.05195499999999997}]],3:[[{x:.02624429558875499,y:.07454886751538828},{x:.02628189246403191,y:.06572740500388341},{x:.028039748887915363,y:.057082779207475086},{x:.03145031142385274,y:.04894719824755728},{x:.036382514066253493,y:.04163330793793327},{x:.042646815033581253,y:.035422176981524986},{x:.05000248075272204,y:.030552495657744837},{x:.05816683711519421,y:.027211403088916904},{x:.11448783711519421,y:.010388403088916982},{x:.11753114712885143,y:.009796523380387901},{x:.12053464064709668,y:.009027703431080128},{x:.20267064064709667,y:-.0035892965689199724},{x:.20562630159751,y:-.003749783589053152},{x:.20856537842676282,y:-.004101230781641964},{x:.30947437842676284,y:-.00620423078164193},{x:.31075400531193675,y:-.006105070212514369},{x:.31203499449415534,y:-.0061847225744922005},{x:.3151428517207607,y:-.005764970678224511},{x:.3182695531731509,y:-.005522677007230838},{x:.31950524711917533,y:-.005175778959545043},{x:.3207771618583987,y:-.005003992231664048},{x:.3829651618583987,y:.009716007768336019},{x:.3849642059743718,y:.010402067561162992},{x:.38702295869345676,y:.010879972006216251},{x:.389126076828856,y:.011830396347599064},{x:.3913090018652735,y:.012579562954916447},{x:.3931357912831918,y:.013642434461507345},{x:.39506175111398195,y:.014512798837572657},{x:.47719975111398194,y:.06182779883757265},{x:.47924722409526294,y:.06329195880211928},{x:.48141099047099317,y:.06457804786673271},{x:.4828265323572166,y:.06585154318044145},{x:.484375351035892,y:.06695911252196202},{x:.4860978389589892,y:.06879458122658251},{x:.48796912564078,y:.07047808832945178},{x:.54077112564078,y:.12830608832945176},{x:.5409949120745448,y:.12860551518367325},{x:.5412686389329152,y:.1288600940829806},{x:.5436334835107667,y:.13213593090859313},{x:.5460522072884215,y:.13537218987116906},{x:.5462132784472015,y:.1357095218897727},{x:.546432079841298,y:.13601261058785885},{x:.5481124005325159,y:.13968686141763526},{x:.5498532864078638,y:.14333280617235186},{x:.5499454524173568,y:.14369507987504085},{x:.5501009199323095,y:.14403503084321223},{x:.5735679199323094,y:.2123790308432122},{x:.5742003382158373,y:.21504899342087444},{x:.5750294951185407,y:.21766455299430504},{x:.5752146521018063,y:.21933125436759},{x:.575601167738761,y:.22096305773765262},{x:.575700550423256,y:.22370509641963415},{x:.5760035049491392,y:.22643215923642232},{x:.5758599468852712,y:.22810295774565637},{x:.5759206866877095,y:.2297788119316045},{x:.5754832145523405,y:.2324875517091097},{x:.575248324328873,y:.23522131827456078},{x:.563515324328873,y:.2983063182745607},{x:.5624930457986839,y:.30183400865706583},{x:.561587550163308,y:.3053934651440046},{x:.5612670272694029,y:.3060647673464004},{x:.5610599744254687,y:.30677926765590185},{x:.5593691204378909,y:.31003973780923805},{x:.5577866081350055,y:.3133541469027738},{x:.5573412794357957,y:.31395001930700017},{x:.5569988129587381,y:.31461039668740554},{x:.5547043620842722,y:.317478348572073},{x:.5525056481741942,y:.32042033938948294},{x:.4997036481741942,y:.378250339389483},{x:.4970091109540712,y:.38067456957783247},{x:.49440132723244246,y:.38319188697894757},{x:.4937347452782226,y:.3836204617554604},{x:.49314561461057166,y:.3841504927896343},{x:.49002990831948917,y:.38600246394071897},{x:.48698112816844114,y:.387962658427834},{x:.4171684643874312,y:.4237087345514058},{x:.48487098803351525,y:.4540412587201935},{x:.4882241875669253,y:.4559584413246188},{x:.4916233115558361,y:.4577929691542233},{x:.4920492459188098,y:.45814540790983926},{x:.4925291804180174,y:.45841980913886743},{x:.49544392539098053,y:.4609543303938907},{x:.49841983754054403,y:.46341674447922576},{x:.545354837540544,y:.5107317444792258},{x:.5454749496657809,y:.5108793107625336},{x:.5456205162109946,y:.5110018387655073},{x:.548258239278959,y:.5142987798858712},{x:.5509236260451226,y:.5175733969812307},{x:.5510126414958236,y:.5177415605329735},{x:.5511315069931322,y:.5178901328189077},{x:.5530753456471339,y:.5216383183828395},{x:.5550506716503533,y:.525370005791429},{x:.5551051696126684,y:.5255523041806199},{x:.555192766127671,y:.525721211199887},{x:.5563680197383496,y:.5297766005381628},{x:.5575773743081012,y:.5338219516056334},{x:.5575952604559016,y:.5340113792074108},{x:.557648221703651,y:.5341941299579837},{x:.569382221703651,y:.5972801299579837},{x:.5696549699390315,y:.6004540423597167},{x:.5701008412017201,y:.6036082951002054},{x:.5700318821169291,y:.6048400880993865},{x:.5701375119403227,y:.6060692795769916},{x:.5697858198023349,y:.6092354166829699},{x:.5696077595908724,y:.6124160465097288},{x:.5692998146426919,y:.6136107177017713},{x:.5691636114574624,y:.614836897966064},{x:.5682009942777376,y:.6178735869028962},{x:.5674058453461934,y:.6209583639953996},{x:.5668707486862845,y:.622070002836373},{x:.5664979467044567,y:.623246050467446},{x:.5649613973213707,y:.6260365929822823},{x:.5635797167972587,y:.6289069710868302},{x:.5283787167972587,y:.6867359710868302},{x:.526364685994031,y:.6894131274243959},{x:.524479650893362,y:.6921826271628648},{x:.5237177195860089,y:.6929316152663909},{x:.5230754099184859,y:.6937854072711274},{x:.5205777908604191,y:.6960182048823972},{x:.5181886735848373,y:.6983667373551676},{x:.4595186735848373,y:.7456807373551677},{x:.45627545779875317,y:.7478078267647688},{x:.4530837115337172,y:.7500113951823929},{x:.4525909707504246,y:.7502243275150239},{x:.4521421155924859,y:.7505187128152536},{x:.44854624273044896,y:.7519722107862162},{x:.4449859301027389,y:.7535107594479447},{x:.362848930102739,y:.7797967594479446},{x:.36158078031831586,y:.7800691142952486},{x:.3603625229719573,y:.7805143446587972},{x:.35727696699365546,y:.7809934249999153},{x:.35422405316989464,y:.781649085623381},{x:.352927136733123,y:.7816688034988555},{x:.3516454277250751,y:.7818678086678129},{x:.2577774277250751,y:.7871168086678129},{x:.2534831925795917,y:.7869349938938289},{x:.24918809681378723,y:.7867747925856998},{x:.2490774333618657,y:.786748457272228},{x:.24896378128970398,y:.7867436453266514},{x:.24478752897123962,y:.7857275603552258},{x:.2406062159909945,y:.7847325056542677},{x:.16433721599099446,y:.7584545056542678},{x:.1612047546311144,y:.7570179671101032},{x:.15801334200327716,y:.7557176430739929},{x:.09817134200327716,y:.7241756430739928},{x:.09479788711775466,y:.721949723610623},{x:.09138819905405325,y:.7197797137879894},{x:.05384019905405325,y:.6903397137879895},{x:.04746503339724546,y:.6842424293748122},{x:.0424018859405069,y:.677018569451043},{x:.0388453306011542,y:.6689457429023652},{x:.036932043806339465,y:.6603341839257509},{x:.036735552094603836,y:.6515148299032538},{x:.03826340653223549,y:.6428266036640077},{x:.041456892530026886,y:.6346033888699733},{x:.046193286212010486,y:.6271611990540533},{x:.05229057062518783,y:.6207860333972455},{x:.05951443054895701,y:.615722885940507},{x:.06758725709763488,y:.6121663306011542},{x:.07619881607424907,y:.6102530438063395},{x:.08501817009674617,y:.6100565520946039},{x:.09370639633599236,y:.6115844065322356},{x:.1019296111300268,y:.6147778925300269},{x:.10937180094594674,y:.6195142862120105},{x:.14372643260130716,y:.6464504840370294},{x:.1969218011618275,y:.6744891243755197},{x:.2615721948597163,y:.6967640072977177},{x:.3408866683163358,y:.6923288252210377},{x:.40955721054777616,y:.6703524458415177},{x:.4555820596629536,y:.6332360369266462},{x:.477752059875079,y:.596814658492312},{x:.4716998550115053,y:.5642759337587675},{x:.44042564505409965,y:.532748518309004},{x:.3700728058889163,y:.5012285825754976},{x:.28267158635688694,y:.4816496665818946},{x:.2026156257994338,y:.47140070238604853},{x:.19958923290487823,y:.4707064281346213},{x:.19652752938874105,y:.4701896668089735},{x:.19529880233776667,y:.46972217540403877},{x:.1940174323454584,y:.4694282207777866},{x:.19118463692903986,y:.4681568668470777},{x:.18828257832087977,y:.4670527262205195},{x:.18716866396437967,y:.46635450477580015},{x:.18596926283986664,y:.4658162155208443},{x:.1834389276407875,y:.4640166393294268},{x:.18080803842542348,y:.46236755090702814},{x:.17985174386742717,y:.4614654316810775},{x:.17878040392329292,y:.4607034939516098},{x:.17664976830422657,y:.45844485220330683},{x:.1743911520787843,y:.45631418952832026},{x:.17362922718285934,y:.45524284045707714},{x:.17272711941234267,y:.45428653509274164},{x:.17107806250525512,y:.45165562612327925},{x:.16927851662463225,y:.44912526936741537},{x:.1687402417372368,y:.44792586179486843},{x:.1680420336360506,y:.4468119390745141},{x:.1669379277730794,y:.44390986724015796},{x:.1656666077762714,y:.4410770565945043},{x:.16537266849946,y:.43979568308103084},{x:.16490519181337332,y:.438566950430106},{x:.16438846716364272,y:.4355052407239498},{x:.16369422916516244,y:.43247883951296023},{x:.16365592142049992,y:.43116474252408066},{x:.16343714101639506,y:.42986841944927895},{x:.1635276550184117,y:.4267647316583033},{x:.16343717819520762,y:.42366104278329114},{x:.1636559741278381,y:.4223647223293339},{x:.1636942976139514,y:.42105062579943375},{x:.1643885718653787,y:.41802423290487795},{x:.16490533319102646,y:.414962529388741},{x:.1653728245959611,y:.41373380233776696},{x:.1656667792222133,y:.41245243234545836},{x:.1669381331529224,y:.40961963692903947},{x:.16804227377948042,y:.40671757832087974},{x:.16874049522419982,y:.4056036639643795},{x:.16927878447915568,y:.4044042628398666},{x:.17107836067057278,y:.40187392764078794},{x:.1727274490929718,y:.3992430384254234},{x:.17362956831892262,y:.3982867438674269},{x:.17439150604839013,y:.3972154039232929},{x:.1766501477966929,y:.39508476830422673},{x:.1787808104716797,y:.39282615207878424},{x:.17985215954292283,y:.39206422718285927},{x:.18080846490725827,y:.39116211941234263},{x:.18343937387672077,y:.38951306250525497},{x:.18596973063258454,y:.3877135166246322},{x:.18716913820513145,y:.3871752417372368},{x:.1882830609254858,y:.38647703363605057},{x:.19118513275984234,y:.3853729277730792},{x:.19401794340549564,y:.3841016077762714},{x:.19529931691896882,y:.38380766849946},{x:.19652804956989395,y:.38334019181337325},{x:.19958975927605035,y:.38282346716364263},{x:.20261616048703973,y:.3821292291651624},{x:.28149235433605535,y:.37203226198800626},{x:.3678476199052635,y:.34785057975990136},{x:.4387239808422848,y:.31155986033736477},{x:.4773813812672204,y:.26922136053481893},{x:.48460036747312013,y:.2304069273293995},{x:.4680118822440525,y:.1820955353962423},{x:.4262197745588727,y:.1363254129914362},{x:.35583608100487274,y:.09578139608686695},{x:.3056218275014876,y:.083895601213743},{x:.2134048551529998,y:.08581745449589688},{x:.13726972612583144,y:.09751265420048184},{x:.0839251628848058,y:.11344659691108305},{x:.0752658675153883,y:.11513070441124498},{x:.06644440500388343,y:.11509310753596806},{x:.05779977920747511,y:.11333525111208462},{x:.0496641982475573,y:.10992468857614723},{x:.04235030793793329,y:.10499248593374648},{x:.036139176981525016,y:.09872818496641873},{x:.03126949565774486,y:.09137251924727793},{x:.027928403088916927,y:.08320816288480577},{x:.02624429558875499,y:.07454886751538828}]],4:[[{x:.003828000000000005,y:.27580099999999996},{x:.0040512821902059844,y:.2735339778783202},{x:.004058111165048277,y:.2712559968420181},{x:.004482570943879651,y:.26915502967601196},{x:.004692662381854638,y:.26702193550927417},{x:.005353928343121064,y:.26484203377636983},{x:.005805038155045426,y:.26260915577382815},{x:.0066312204192078995,y:.26063136609773396},{x:.0072534210369921,y:.25858024554357095},{x:.008327258689269697,y:.2565712366005347},{x:.009205313441189196,y:.2544692698811785},{x:.010401468469599332,y:.25269066304309135},{x:.011411867446385462,y:.25080033951411784},{x:.01285700981091242,y:.2490394284479652},{x:.014128266351129452,y:.24714915041402313},{x:.01564842657685691,y:.24563807727727646},{x:.017008194846605366,y:.24398119484660533},{x:.018769105912757822,y:.24253605248207852},{x:.020384710565360974,y:.24093010545831445},{x:.022170457083446928,y:.23974463571613375},{x:.023827339514117918,y:.23838486744638543},{x:.025836348457154004,y:.2373110297941079},{x:.027734214441385185,y:.2360511294240198},{x:.029716922014597604,y:.23523682001377813},{x:.031607245543570965,y:.23422642103699207},{x:.03378714727647517,y:.23356515507572567},{x:.03589434066689576,y:.23269971862397582},{x:.03799781495511128,y:.23228786299963877},{x:.040048935509274235,y:.2316656623818546},{x:.04231595763095386,y:.23144238019164864},{x:.0445515001672978,y:.23100466589573537},{x:.046694905833262405,y:.23101109143797494},{x:.048828,y:.23080099999999998},{x:.36918100000000004,y:.23080099999999998},{x:.36918100000000004,y:.05103000000000002},{x:.37004566238185466,y:.04225093550927423},{x:.3726064210369921,y:.03380924554357098},{x:.3767648674463855,y:.026029339514117924},{x:.38236119484660536,y:.019210194846605383},{x:.38918033951411796,y:.013613867446385479},{x:.396960245543571,y:.009455421036992116},{x:.4054019355092743,y:.006894662381854655},{x:.414181,y:.0060300000000000215},{x:.4229600644907258,y:.006894662381854655},{x:.4314017544564291,y:.009455421036992116},{x:.43918166048588214,y:.013613867446385486},{x:.4460008051533947,y:.019210194846605383},{x:.45159713255361456,y:.026029339514117924},{x:.45575557896300795,y:.03380924554357098},{x:.4583163376181454,y:.04225093550927425},{x:.459181,y:.05103000000000002},{x:.459181,y:.23080099999999998},{x:.553224,y:.23080099999999998},{x:.5620030644907258,y:.2316656623818546},{x:.5704447544564291,y:.23422642103699207},{x:.5782246604858822,y:.23838486744638543},{x:.5850438051533947,y:.24398119484660533},{x:.5906401325536146,y:.25080033951411784},{x:.5947985789630079,y:.25858024554357095},{x:.5973593376181454,y:.26702193550927417},{x:.5982240000000001,y:.27580099999999996},{x:.5973593376181454,y:.28458006449072576},{x:.5947985789630079,y:.293021754456429},{x:.5906401325536146,y:.3008016604858821},{x:.5850438051533947,y:.3076208051533946},{x:.5782246604858822,y:.3132171325536145},{x:.5704447544564291,y:.3173755789630079},{x:.5620030644907258,y:.31993633761814533},{x:.553224,y:.32080099999999995},{x:.459181,y:.32080099999999995},{x:.459181,y:.421833},{x:.4583163376181454,y:.4306120644907258},{x:.45575557896300795,y:.439053754456429},{x:.45159713255361456,y:.4468336604858821},{x:.4460008051533947,y:.4536528051533947},{x:.43918166048588214,y:.45924913255361455},{x:.4314017544564291,y:.4634075789630079},{x:.4229600644907258,y:.4659683376181454},{x:.414181,y:.466833},{x:.4054019355092743,y:.4659683376181454},{x:.396960245543571,y:.4634075789630079},{x:.38918033951411796,y:.45924913255361455},{x:.38236119484660536,y:.4536528051533947},{x:.3767648674463855,y:.4468336604858821},{x:.3726064210369921,y:.439053754456429},{x:.37004566238185466,y:.4306120644907258},{x:.36918100000000004,y:.421833},{x:.36918100000000004,y:.32080099999999995},{x:.1436046917940101,y:.32080099999999995},{x:.4533648945416855,y:.700560710565361},{x:.45824387057598015,y:.7079102144413851},{x:.4615952813760241,y:.7160703406668958},{x:.46329033410426457,y:.7247275001672978},{x:.46326388883495173,y:.7335490031579818},{x:.46151696184495455,y:.7421958442261718},{x:.45811668655881077,y:.7503357301188214},{x:.4531937336488705,y:.7576558495859769},{x:.446937289434639,y:.7638748945416856},{x:.4395877855586148,y:.7687538705759801},{x:.43142765933310423,y:.7721052813760241},{x:.42277049983270215,y:.7738003341042645},{x:.41394899684201814,y:.7737738888349517},{x:.40530215577382817,y:.7720269618449546},{x:.39716226988117853,y:.7686266865588108},{x:.38984215041402315,y:.7637037336488706},{x:.38362310545831446,y:.757447289434639},{x:.013957105458314502,y:.304244289434639},{x:.012771635716133971,y:.30245854291655333},{x:.011411867446385462,y:.3008016604858821},{x:.010338029794107799,y:.29879265154284573},{x:.009078129424019837,y:.29689478555861476},{x:.008263820013778204,y:.2949120779854024},{x:.0072534210369921,y:.293021754456429},{x:.006592155075725704,y:.29084185272352475},{x:.005726718623975863,y:.2887346593331042},{x:.0053148629996388475,y:.28663118504488877},{x:.004692662381854638,y:.28458006449072576},{x:.00446938019164866,y:.282313042369046},{x:.00403166589573542,y:.2800774998327022},{x:.00403809143797499,y:.27793409416673776},{x:.003828000000000005,y:.27580099999999996}]],5:[[{x:.029951000000000005,y:.38529899999999995},{x:.030026331329377584,y:.3845341481773043},{x:.029977079633894697,y:.38376717530271315},{x:.030458063889865227,y:.38015069392879464},{x:.03081566238185464,y:.37651993550927415},{x:.03103876142924568,y:.3757844765131909},{x:.03114008507636279,y:.3750226322781917},{x:.0323173678705276,y:.3715694759531816},{x:.0333764210369921,y:.36807824554357094},{x:.033738714231120716,y:.3674004426508694},{x:.033986719409902104,y:.366673004302166},{x:.03581505842470893,y:.3635158758870829},{x:.03753486744638546,y:.3602983395141178},{x:.03802243206297786,y:.35970424030984804},{x:.03840758807348568,y:.3590391628952293},{x:.04081672126593952,y:.35629938906452685},{x:.04313119484660537,y:.3534791948466053},{x:.04372529405087513,y:.3529916302300129},{x:.04423279956362368,y:.3524144723015426},{x:.04713014529619686,y:.3501973410270508},{x:.04995033951411792,y:.3478828674463854},{x:.05062814240681941,y:.3475205742522568},{x:.05123849426956635,y:.347053515665452},{x:.054512709170605814,y:.34544423005866864},{x:.057730245543570965,y:.343724421036992},{x:.05846570453965444,y:.3435013219896009},{x:.05915544727260316,y:.34316231154402344},{x:.06268070509966306,y:.34222271554831923},{x:.06617193550927424,y:.3411636623818546},{x:.0669367873319697,y:.34108833105247705},{x:.06767941450870582,y:.34089039672943083},{x:.07132024158048059,y:.34065659849198926},{x:.074951,y:.34029899999999996},{x:.0757158518226955,y:.3403743313293775},{x:.07648282469728679,y:.34032507963389463},{x:.08009930607120508,y:.3408060638898651},{x:.08373006449072577,y:.3411636623818546},{x:.0844655234868091,y:.3413867614292456},{x:.08522736772180821,y:.34148808507636275},{x:.2701097088502776,y:.3848544225750548},{x:.39095673206080095,y:.3699215697302287},{x:.4312208460684155,y:.34735587040502247},{x:.4569274445394237,y:.3179203076157562},{x:.4808881134259603,y:.2201177906149206},{x:.47151862074291284,y:.1781066999956386},{x:.4461217481742335,y:.14395206669668215},{x:.3876788357927069,y:.10680533743499816},{x:.3169820044514503,y:.08634947983662909},{x:.2505487358362677,y:.08307118781270932},{x:.19638270317906092,y:.09339965838335124},{x:.15518503458472022,y:.11245499400015477},{x:.1051531598037562,y:.15775209985578706},{x:.09806479623887651,y:.16300326318775482},{x:.09008818244690309,y:.16677065575830224},{x:.0815298552225249,y:.16890949878372125},{x:.07271870628140957,y:.16933759772602197},{x:.06399334313601493,y:.16803850098293246},{x:.05568907659877849,y:.16506213211374782},{x:.04812503497563989,y:.16052287130494386},{x:.041591900144212934,y:.15459515980375618},{x:.03634073681224515,y:.1475067962388765},{x:.03257334424169774,y:.13953018244690307},{x:.03043450121627874,y:.13097185522252489},{x:.03000640227397801,y:.12216070628140954},{x:.031305499017067515,y:.1134353431360149},{x:.034281867886252176,y:.10513107659877846},{x:.03882112869505611,y:.09756703497563987},{x:.044748840196243804,y:.09103390014421289},{x:.09986584019624378,y:.041132900144212926},{x:.10178680031290575,y:.03970982481314967},{x:.10357183338498165,y:.03811957700249835},{x:.10532248536915285,y:.037090537646117014},{x:.10695420376112348,y:.035881736812245144},{x:.10911588139237749,y:.0348607662023731},{x:.11117685751196796,y:.03364931723433351},{x:.16362485751196798,y:.009390317234333478},{x:.1646572774363771,y:.009030847933342759},{x:.16562545909873666,y:.008523173483185618},{x:.16881529925253239,y:.0075831025339957205},{x:.1719558576504946,y:.006489618860012841},{x:.17303856889723523,y:.006338471796353147},{x:.17408718959239433,y:.0060294350406820685},{x:.23897018959239436,y:-.00634256495931787},{x:.2399001168767359,y:-.006426714843400178},{x:.24080591100583193,y:-.006653392925378379},{x:.24428588214420577,y:-.0068235863462415185},{x:.247755834543085,y:-.007137585190079683},{x:.24868431036339586,y:-.007038698344381461},{x:.24961692261229596,y:-.007084309202250054},{x:.32666292261229596,y:-.003282309202250082},{x:.32746661284147915,y:-.0031629125067284265},{x:.32827905619988357,y:-.00317336931171093},{x:.3318231917274382,y:-.002515696572186591},{x:.33538870069659477,y:-.001986002452099067},{x:.33615365510360457,y:-.0017121077449900682},{x:.3369525276121403,y:-.0015638637889859724},{x:.4188855276121403,y:.02214313621101406},{x:.4207304127428032,y:.02287964098341223},{x:.42264402370761556,y:.023412682727046455},{x:.4248170355152836,y:.024511079778651145},{x:.4270783417525648,y:.02541382586724525},{x:.42874409297954025,y:.02649609814118395},{x:.43051694316083267,y:.027392224616519634},{x:.5014129431608326,y:.07245422461651957},{x:.5044011686844615,y:.0747943741105689},{x:.5074525565132345,y:.07705154573740032},{x:.5078697672823866,y:.07751071502587484},{x:.5083582165656543,y:.07789323111579813},{x:.5108324836553944,y:.0807713891731658},{x:.5133848875831327,y:.08358048611421783},{x:.5494628875831328,y:.1320994861142178},{x:.5497798823390716,y:.1326268676033582},{x:.5501811109693575,y:.13309337858567127},{x:.5520495631508493,y:.13640291633591076},{x:.5540074974944301,y:.13966031511116345},{x:.5542155142604781,y:.14023940572188273},{x:.5545180216173755,y:.1407752286491667},{x:.5557049132287019,y:.14438569149730107},{x:.5569897394368822,y:.14796247431004633},{x:.5570807842453774,y:.1485710199149322},{x:.5572729451408087,y:.14915556341258465},{x:.5710219451408087,y:.2108035634125847},{x:.5712046210163666,y:.21230267395853206},{x:.5715791512667351,y:.2137656948046034},{x:.571736996194895,y:.21667155541097086},{x:.5720890113736304,y:.2195603313107129},{x:.5719757152243157,y:.2210662751632623},{x:.5720576277729665,y:.2225742517011615},{x:.5716455344736617,y:.2254550710286549},{x:.5714272135589309,y:.2283570146640783},{x:.5710222992922247,y:.22981191924551903},{x:.5708084462858501,y:.23130690078257787},{x:.5417354462858501,y:.3499769007825779},{x:.5411002871662289,y:.3517814599872898},{x:.540669734049328,y:.3536454570484658},{x:.5396393400617131,y:.355932176655931},{x:.5388066121493867,y:.3582980512419798},{x:.5378316053978042,y:.3599440229503987},{x:.537045677451414,y:.361688207084494},{x:.5355889653307644,y:.36372996812105773},{x:.5343106788169316,y:.36588792593376723},{x:.5330332933960605,y:.36731205637621067},{x:.5319221933904076,y:.36886939956510134},{x:.49389619339040763,y:.4124113995651013},{x:.49150876583293945,y:.41465677330496736},{x:.4892379705562563,y:.41702003426923534},{x:.48830169237996507,y:.41767302336482964},{x:.48747017448549057,y:.4184550652905171},{x:.4846905699931398,y:.420191530792605},{x:.4820023580684325,y:.4220663721783498},{x:.4272473580684325,y:.4527533721783498},{x:.42330567688981036,y:.45447898255061825},{x:.4193723578126433,y:.45622356923745777},{x:.4192660752068488,y:.4562474610875831},{x:.4191662841579818,y:.4562911481493166},{x:.41496369139475175,y:.45721461755172516},{x:.4107655979622113,y:.4581583300092093},{x:.27317359796221125,y:.47516033000920926},{x:.26964530070808584,y:.4752477446385603},{x:.2661231753027132,y:.4754739203661053},{x:.26524270860794985,y:.4753568201865933},{x:.26435476148695686,y:.47537881934450843},{x:.2608772057270339,y:.4747762176787918},{x:.2573786322781918,y:.4743109149236372},{x:.119951,y:.44207564006371447},{x:.119951,y:.684004},{x:.527101,y:.684004},{x:.5358800644907258,y:.6848686623818546},{x:.544321754456429,y:.6874294210369921},{x:.5521016604858822,y:.6915878674463855},{x:.5589208051533947,y:.6971841948466053},{x:.5645171325536146,y:.7040033395141179},{x:.5686755789630079,y:.711783245543571},{x:.5712363376181454,y:.7202249355092742},{x:.5721010000000001,y:.729004},{x:.5712363376181454,y:.7377830644907257},{x:.5686755789630079,y:.746224754456429},{x:.5645171325536146,y:.7540046604858821},{x:.5589208051533947,y:.7608238051533946},{x:.5521016604858822,y:.7664201325536145},{x:.544321754456429,y:.7705785789630079},{x:.5358800644907258,y:.7731393376181454},{x:.527101,y:.774004},{x:.074951,y:.774004},{x:.06617193550927424,y:.7731393376181454},{x:.05773024554357094,y:.7705785789630079},{x:.04995033951411792,y:.7664201325536145},{x:.04313119484660537,y:.7608238051533946},{x:.03753486744638546,y:.7540046604858821},{x:.0333764210369921,y:.746224754456429},{x:.03081566238185464,y:.7377830644907257},{x:.029951000000000005,y:.729004},{x:.029951000000000005,y:.38529899999999995}]],6:[[{x:.01994450211145162,y:.2755194646798348},{x:.020758274672659796,y:.26806396163938684},{x:.0201773643330274,y:.24423363638780976},{x:.020440223451033163,y:.2406784570189078},{x:.020568639264984916,y:.237115887070161},{x:.02076496657089406,y:.23628629421823594},{x:.02082782677693791,y:.23543610758842642},{x:.021779216218601925,y:.23200052126419074},{x:.022600187477202785,y:.22853145778054884},{x:.04459918747720279,y:.16442145778054884},{x:.04602253566469808,y:.16130748249724527},{x:.047307319174730654,y:.15813382633120915},{x:.06831231917473066,y:.11806482633120913},{x:.06934150993632018,y:.11649740482650416},{x:.07018719324152095,y:.11482382676006757},{x:.07175673818837072,y:.11281909673987861},{x:.07315419088510985,y:.11069082519836773},{x:.0744693948008918,y:.10935430641546007},{x:.07562532742241568,y:.1078778703106287},{x:.1253733274224157,y:.055788870310628645},{x:.12585541612958862,y:.055374327647901005},{x:.12626130847256478,y:.0548849335871293},{x:.1291958120945167,y:.0525019586891126},{x:.1320620582603259,y:.05003730581521479},{x:.13261575702973094,y:.04972477931463493},{x:.1331093263100589,y:.049323974491408525},{x:.1861743263100589,y:.014262974491408516},{x:.18683955107784095,y:.013911818906951787},{x:.187438960697758,y:.013457349607970202},{x:.1907349034619545,y:.011855559414887177},{x:.19397565070571454,y:.010144849670490022},{x:.19469660042216425,y:.009930220356283175},{x:.19537315511619574,y:.009601422573216056},{x:.19891826102894206,y:.008673416864759805},{x:.2024304811380398,y:.007627816351770726},{x:.20317945010986724,y:.007557961391993223},{x:.20390715026053782,y:.0073674706392518954},{x:.2857161502605378,y:-.005654529360748083},{x:.2860775594607644,y:-.005676122674759226},{x:.28642923596273784,y:-.0057621838110407525},{x:.2904772893795591,y:-.005938995755027237},{x:.2945219894833068,y:-.006180656673914681},{x:.2948806669536751,y:-.006131327641200151},{x:.2952423757850646,y:-.006147126454864343},{x:.38700037578506463,y:-.001139126454864331},{x:.39074801870473747,y:-.000562375362895672},{x:.3945101708776463,y:-8942684208443352e-20},{x:.395102371884912,y:.00010774663253235539},{x:.3957192721812796,y:.00020268575218489876},{x:.39928238663684656,y:.0014994835976446027},{x:.4028799824314506,y:.002697304024131271},{x:.47474098243145063,y:.03475230402413133},{x:.4764407459001163,y:.03572046389197228},{x:.4782361407270164,y:.03649705052245801},{x:.48026428101539703,y:.03789829234877595},{x:.4824063061811086,y:.03911835786940705},{x:.4838845305509628,y:.04039952221931584},{x:.48549392283388365,y:.041511451110380196},{x:.5363469228338836,y:.08458545111038014},{x:.5369424578291695,y:.08519979361043255},{x:.5376274627831791,y:.08571247952886965},{x:.5400078699953618,y:.08836201411598918},{x:.5424869876672573,y:.09091942444541115},{x:.5429512273484354,y:.09163814564059086},{x:.5435230500634102,y:.09227461827992436},{x:.5453408198626901,y:.09533763721244376},{x:.5472733759789791,y:.0983295594844189},{x:.5475884798754501,y:.09912503932225875},{x:.5480251455251356,y:.09986083939589693},{x:.5756631455251356,y:.15896283939589692},{x:.5756676990332947,y:.1589757429605767},{x:.575674675284325,y:.15898751446598428},{x:.5771354507402345,y:.1631350040011944},{x:.5785987361645655,y:.16728160865370237},{x:.5786006848177536,y:.16729515262537814},{x:.5786052305152959,y:.16730805894366996},{x:.5792288025114348,y:.17166083878445604},{x:.5798550088797246,y:.1760132404159827},{x:.5798542777922926,y:.17602690430741857},{x:.5798562182477396,y:.17604044945602063},{x:.5820672182477395,y:.2261264494560206},{x:.5819074721227447,y:.22907858468741052},{x:.5819395990078049,y:.232034864293962},{x:.5816696541741431,y:.23347350033714379},{x:.5815905637246603,y:.23493510513282764},{x:.580857954063737,y:.2377993509905685},{x:.5803127220992973,y:.2407050941577823},{x:.5648357220992973,y:.2937960941577823},{x:.5632290277642941,y:.2977974374258546},{x:.5616400226499054,y:.30180583827676916},{x:.5384240226499054,y:.3468838382767692},{x:.5373215489467563,y:.3485896803397862},{x:.5364060617863755,y:.35040275195151915},{x:.5349331318310961,y:.3522852445680167},{x:.5336357086983223,y:.35429272914301846},{x:.5322216254408594,y:.35575071197935654},{x:.5309700163849885,y:.3573503432435408},{x:.49559401638498846,y:.39441334324354077},{x:.4926979475395651,y:.39690515537305066},{x:.48986855873600776,y:.3994724304741097},{x:.48935820160472765,y:.3997787125549045},{x:.48890701524930746,y:.4001669186691625},{x:.48558046512393155,y:.4020458563236817},{x:.4823045917066957,y:.404011815580751},{x:.4336605917066957,y:.42705181558075106},{x:.43309173356321873,y:.4272557130907893},{x:.4325654489917744,y:.42755269513041455},{x:.42894434743018467,y:.4287422729922158},{x:.4253563740806812,y:.43002832091195864},{x:.42475866795602985,y:.4301173218701226},{x:.42418455747331046,y:.430305924456616},{x:.35674655747331047,y:.44533192445661596},{x:.3529000911149492,y:.4457998510145922},{x:.3490659246900917,y:.4463596961147396},{x:.28494592469009167,y:.4493636961147396},{x:.2805873413475358,y:.449139645094856},{x:.27622830276644406,y:.44892463285807194},{x:.20879130276644411,y:.4389076328580719},{x:.2058686377582091,y:.4381749274884603},{x:.2029059705898912,y:.4376259000221244},{x:.2015992206546876,y:.4371045944779896},{x:.20023455588710068,y:.4367624761715421},{x:.19751099279397463,y:.4354736658725529},{x:.19471236238975773,y:.4343572001231398},{x:.1250653623897577,y:.39829620012313977},{x:.12281565387932818,y:.3968352958512946},{x:.12046004217050754,y:.3955521266688945},{x:.11912493361112,y:.39443863469229795},{x:.1176668837895426,y:.39349181371392206},{x:.11574541108214431,y:.3916200839502759},{x:.11440461043594556,y:.3905018447245139},{x:.11499744675527566,y:.4076710597897629},{x:.14015918883207887,y:.48309781218266834},{x:.17625691985197756,y:.5624688107059582},{x:.22079283681825793,y:.6049160879451294},{x:.2812243215554422,y:.6473094683632384},{x:.35529887985725983,y:.6721340784004237},{x:.44197867319461825,y:.699237682451455},{x:.450099621980826,y:.7026829408131323},{x:.45739239245003865,y:.7076463180152294},{x:.4635767275229571,y:.7139370742553635},{x:.4684149666709443,y:.7213134592991232},{x:.47172117907685873,y:.729492002806001},{x:.4733683088520865,y:.7381584079356077},{x:.4732930577230865,y:.7469796295989887},{x:.471498317548545,y:.7556166731946181},{x:.4680530591868676,y:.7637376219808258},{x:.4630896819847706,y:.7710303924500386},{x:.4567989257446365,y:.7772147275229571},{x:.4494225407008768,y:.7820529666709441},{x:.4412439971939989,y:.7853591790768587},{x:.43257759206439217,y:.7870063088520864},{x:.4237563704010112,y:.7869310577230865},{x:.41511932680538177,y:.7851363175485448},{x:.32800332680538175,y:.7578963175485449},{x:.32758097645219697,y:.7577171382279785},{x:.32713377373466446,y:.7576146941984534},{x:.2464307737346645,y:.7305686941984535},{x:.24453959681011464,y:.7297206474805041},{x:.2425703892464572,y:.7290741531131611},{x:.24052462272791658,y:.727920241844807},{x:.2383814751569417,y:.7269592057619036},{x:.2366920823739949,y:.725758503708645},{x:.23488683737580707,y:.7247402582115807},{x:.16634483737580705,y:.6766572582115807},{x:.16379281785599412,y:.6744641039532857},{x:.16114120086592887,y:.6723924725748345},{x:.10785520086592887,y:.6216054725748346},{x:.10512406158167997,y:.61843588774195},{x:.10236095541706475,y:.6152941312068447},{x:.10224621895073822,y:.6150960484276141},{x:.1020967920615373,y:.6149226331776604},{x:.10003648617852028,y:.6112811321861437},{x:.09793939861820375,y:.6076606883504815},{x:.057256398618203745,y:.5182076883504814},{x:.05649445644348035,y:.515973451082899},{x:.055531562043165734,y:.5138181769891187},{x:.02756156204316574,y:.4299731769891187},{x:.02710606704062858,y:.4279720709807987},{x:.026442901166776424,y:.42602987841114226},{x:.0261294707087366,y:.42368163359604843},{x:.025603668479436986,y:.4213716499642221},{x:.02554732210120287,y:.4193201319800137},{x:.025275801747494525,y:.4172858808521062},{x:.022290801747494524,y:.3308368808521062},{x:.022305383523873214,y:.330608131273329},{x:.022277364333027405,y:.33038063638780973},{x:.021194122115214913,y:.2859434614650037},{x:.02071653916751727,y:.2843071590959475},{x:.01994450211145162,y:.2755194646798348}],[{x:.11034731747482908,y:.25010871966048204},{x:.11054573733688708,y:.2582483748303443},{x:.14138614929871246,y:.28974619429248377},{x:.17280436841728808,y:.32166563054627706},{x:.2294333737827033,y:.3509863272379111},{x:.2851142784460479,y:.35925709287120927},{x:.3409693478959939,y:.3566403020317264},{x:.39969116147327427,y:.34355637352239615},{x:.43624565447916347,y:.3262425111990739},{x:.46138408324665353,y:.29990528863548604},{x:.47964461062187336,y:.2644492215688011},{x:.49182659739178797,y:.22266115801633354},{x:.4903391577658353,y:.18896604218391924},{x:.47066764412974615,y:.14689983627465894},{x:.4322187986209955,y:.11433252320671945},{x:.3738017517723872,y:.08827446060346957},{x:.29512698962943984,y:.08398052210424463},{x:.22766698305582697,y:.09471851188045},{x:.18695506157646963,y:.1216176107024183},{x:.1450838647757246,y:.1654591474507099},{x:.12861258258928074,y:.1968796571354811},{x:.11034731747482908,y:.25010871966048204}]],7:[[{x:.026534000000000002,y:.729004},{x:.027398662381854635,y:.7202249355092742},{x:.029959421036992097,y:.711783245543571},{x:.03411786744638546,y:.7040033395141179},{x:.039714194846605363,y:.6971841948466053},{x:.046533339514117915,y:.6915878674463855},{x:.05431324554357096,y:.6874294210369921},{x:.06275493550927423,y:.6848686623818546},{x:.071534,y:.684004},{x:.4019606654607806,y:.684004},{x:.4004737160341744,y:.6825246433416329},{x:.3773547160341744,y:.6545006433416328},{x:.37631768094411194,y:.6529571778549935},{x:.37511206403824765,y:.6515414747212956},{x:.3516100640382476,y:.6177174747212957},{x:.35070717908442606,y:.6160998190359583},{x:.34962595461558005,y:.6145955036421288},{x:.32637595461558006,y:.5744575036421288},{x:.32562538351875275,y:.5728072168885044},{x:.3246890272988689,y:.5712547864166106},{x:.3023170272988689,y:.5242907864166106},{x:.3017220252289498,y:.5226423026482856},{x:.3009361907094137,y:.5210757809262708},{x:.2800741907094137,y:.4667717809262708},{x:.2796297795277362,y:.4651572895546526},{x:.27899211910181604,y:.46360891205912846},{x:.26027511910181605,y:.40145091205912853},{x:.2599700482242006,y:.399900691568321},{x:.2594722021762355,y:.3984012246220316},{x:.2435242021762355,y:.3278752246220315},{x:.24329560198997774,y:.32604433113097486},{x:.24285939794168837,y:.32425152465814894},{x:.22552039794168838,y:.201651524658149},{x:.22543629437721757,y:.19966542745190077},{x:.2251384028560513,y:.1976999971774209},{x:.21759140285605127,y:.0533799971774209},{x:.2179964236931644,y:.04456775725283754},{x:.22011284489303193,y:.03600385769296016},{x:.22385933357584556,y:.028017404355184638},{x:.22909191428257988,y:.020915312162427036},{x:.23560950187114016,y:.014970510534755857},{x:.24316162910560324,y:.010411454864839347},{x:.25145807197163045,y:.007413347105324521},{x:.2601800028225791,y:.006091402856051323},{x:.26899224274716244,y:.0064964236931644576},{x:.27755614230703984,y:.008612844893031955},{x:.2855425956448154,y:.0123593335758456},{x:.29264468783757297,y:.017591914282579925},{x:.29858948946524416,y:.02410950187114019},{x:.30314854513516065,y:.03166162910560326},{x:.30614665289467546,y:.03995807197163046},{x:.3074685971439487,y:.04868000282257914},{x:.3149118365119932,y:.19101580586964154},{x:.33171443080019297,y:.3098230069615897},{x:.3469078029209317,y:.3770118558572018},{x:.3646876244488305,y:.43605754408347375},{x:.3843219343355222,y:.48716585412502805},{x:.40516196826036527,y:.5309139031705462},{x:.42657620329737017,y:.5678827017045378},{x:.4479617026009278,y:.5986606409626235},{x:.4682073320853445,y:.6232016470905397},{x:.5069453480603512,y:.6602460238293135},{x:.5211069187127709,y:.670919967941474},{x:.553634852004927,y:.6903949675582732},{x:.5545334052571363,y:.6910607030437311},{x:.5555196604858821,y:.6915878674463855},{x:.5580709875097788,y:.6936816874233654},{x:.5607229359621996,y:.6956465083018619},{x:.5614743452153894,y:.6964747509099635},{x:.5623388051533946,y:.6971841948466053},{x:.5644326251303754,y:.699735521870503},{x:.5666502995990071,y:.7021799587443133},{x:.5672256886169725,y:.7031388795761127},{x:.5679351325536145,y:.7040033395141179},{x:.5694909811561905,y:.7069141275182039},{x:.5711891576548912,y:.709744242049125},{x:.5715664145603537,y:.7107969903148255},{x:.5720935789630078,y:.711783245543571},{x:.5730516658019124,y:.7149416345772374},{x:.5741650843601849,y:.7180486670509921},{x:.5743297113818354,y:.7191547862251302},{x:.5746543376181453,y:.7202249355092742},{x:.574977843953461,y:.7235095504532041},{x:.5754637165205229,y:.7267740993542682},{x:.5754093871342436,y:.7278910818973009},{x:.575519,y:.729004},{x:.5751954936646845,y:.7322886149439295},{x:.5750351484302645,y:.735585225488817},{x:.5747639504839017,y:.7366701463880269},{x:.5746543376181453,y:.7377830644907257},{x:.5736962507792408,y:.7409414535243923},{x:.5728958497207748,y:.7441434388186243},{x:.5724182051993175,y:.7451546051722857},{x:.5720935789630078,y:.746224754456429},{x:.570537730360432,y:.749135542460515},{x:.5691280324417267,y:.752119852004927},{x:.5684622969562688,y:.7530184052571364},{x:.5679351325536145,y:.7540046604858821},{x:.5658413125766343,y:.756555987509779},{x:.563876491698138,y:.7592079359621996},{x:.5630482490900365,y:.7599593452153895},{x:.5623388051533946,y:.7608238051533946},{x:.5597874781294971,y:.7629176251303754},{x:.5573430412556867,y:.7651352995990072},{x:.5563841204238874,y:.7657106886169726},{x:.5555196604858821,y:.7664201325536145},{x:.5526088724817957,y:.7679759811561907},{x:.5497787579508749,y:.7696741576548912},{x:.5487260096851745,y:.7700514145603538},{x:.547739754456429,y:.7705785789630079},{x:.5445813654227618,y:.7715366658019126},{x:.5414743329490078,y:.7726500843601849},{x:.5403682137748697,y:.7728147113818356},{x:.5392980644907257,y:.7731393376181454},{x:.5360134495467959,y:.773462843953461},{x:.5327489006457318,y:.7739487165205229},{x:.531631918102699,y:.7738943871342436},{x:.530519,y:.774004},{x:.071534,y:.774004},{x:.06275493550927423,y:.7731393376181454},{x:.054313245543570934,y:.7705785789630079},{x:.046533339514117915,y:.7664201325536145},{x:.039714194846605363,y:.7608238051533946},{x:.03411786744638546,y:.7540046604858821},{x:.029959421036992097,y:.746224754456429},{x:.027398662381854635,y:.7377830644907257},{x:.026534000000000002,y:.729004}]],8:[[{x:.018998734783549534,y:.19034712298183487},{x:.01918983868826437,y:.187136446932327},{x:.01920952916989005,y:.18392014879903562},{x:.019451409422642358,y:.18274188004279768},{x:.019522877627479743,y:.18154116541629586},{x:.0203366813486396,y:.1784294641291047},{x:.020983462121705806,y:.17527880768498513},{x:.021450563544301488,y:.17417036752890672},{x:.021754906310756543,y:.17300666705236456},{x:.02316013582774355,y:.17011352146289485},{x:.024409151469860245,y:.16714958466818597},{x:.06244715146986025,y:.097021584668186},{x:.06364531823888224,y:.0952519506947441},{x:.06465809579443724,y:.09337006609963419},{x:.0661122558858275,y:.09160840391706095},{x:.06739294989385258,y:.08971688123025286},{x:.06891333268610705,y:.08821500101819715},{x:.07027378747657535,y:.08656685940733966},{x:.07204368953204261,y:.0851227396301211},{x:.07366879313388441,y:.08351741302778071},{x:.0754529644913056,y:.08234100299139627},{x:.07710881500204132,y:.08098994152260804},{x:.14910981500204132,y:.03317594152260801},{x:.1504928100364302,y:.03244176283843531},{x:.15177178054792087,y:.031538475488709236},{x:.15438005907773164,y:.030378172358910993},{x:.15690151209615905,y:.029039630272177964},{x:.1584011644246711,y:.028589367572161194},{x:.15983178249634203,y:.027952951404511282},{x:.24949378249634205,y:-.0017990485954887184},{x:.251605077566582,y:-.002276091838878668},{x:.25365804064979064,y:-.002962007073194259},{x:.2558970148670134,y:-.0032458471890824472},{x:.2580984148155577,y:-.003743249464233246},{x:.2602622084630055,y:-.003799233220341744},{x:.26240953986016613,y:-.0040714555567724145},{x:.33848653986016614,y:-.006196455556772458},{x:.34211630259529946,y:-.0059410451417675775},{x:.3457527120689106,y:-.005810898556388326},{x:.34651004211407876,y:-.005631877045722989},{x:.3472863241290845,y:-.005577253499755554},{x:.35079651389094996,y:-.004618619143417753},{x:.3543376604369356,y:-.0037815449929937683},{x:.4535096604369356,y:.03022045500700621},{x:.45591274590665615,y:.03131812424947078},{x:.4583949217344816,y:.03222283453480715},{x:.45991547545056405,y:.03314647083206772},{x:.461533744189149,y:.033885655452327273},{x:.46367651039942226,y:.035431052006208004},{x:.4659344916938285,y:.03680262701864639},{x:.5338604916938285,y:.08780462701864639},{x:.5368034713408607,y:.09050382186837246},{x:.5397962541268131,y:.09314768896709699},{x:.5400513850489728,y:.09348269124727963},{x:.5403617177400871,y:.09376731720532937},{x:.5427215620660051,y:.09698879462990716},{x:.5451410464862535,y:.10016572352111452},{x:.5453259194365666,y:.1005440624001799},{x:.5455747614022292,y:.10088376225489704},{x:.547260782913003,y:.10450372268352329},{x:.5490139895381407,y:.10809162577156875},{x:.5802599895381407,y:.1920326257715688},{x:.5808621946470703,y:.19431314395649216},{x:.5816704362178704,y:.19652903198349428},{x:.5819856183913868,y:.19856748893015458},{x:.5825122482529622,y:.20056180773987195},{x:.5826579751325236,y:.20291599079595712},{x:.5830183882594349,y:.20524698126417715},{x:.5829298310737253,y:.20730775882392333},{x:.5830572695913885,y:.20936649774620245},{x:.5827409180393249,y:.21170387573884492},{x:.582639652248002,y:.21406038999182395},{x:.570412652248002,y:.30012638999182395},{x:.5703409363500996,y:.30042034316527866},{x:.5703238989157716,y:.30072243812390526},{x:.5692961437829783,y:.3047027979582916},{x:.5683217827960937,y:.30869656381164773},{x:.5681940974797931,y:.30897087767968473},{x:.5681184516122305,y:.3092638441298401},{x:.5663339148242972,y:.3129672173863048},{x:.5645991308441736,y:.31669415574996157},{x:.5644203829845738,y:.31693828858446854},{x:.5642890357120441,y:.31721086798977133},{x:.5618162960169492,y:.32049493611094637},{x:.5593877558190667,y:.3238118228336772},{x:.5591648145961691,y:.32401639274673566},{x:.5589828135206953,y:.3242581100335041},{x:.5032838135206953,y:.3848241100335041},{x:.5011622073766187,y:.38671918495638496},{x:.4991781602202921,y:.38875783119234486},{x:.4978799327840818,y:.3896509997457094},{x:.496704700181234,y:.39070074870143656},{x:.4942541493273608,y:.39214550546522026},{x:.4919105049301597,y:.39375791128677606},{x:.42072451102124153,y:.4330589294870645},{x:.4777200661568854,y:.4633968522602595},{x:.4805213378044988,y:.46526159042857346},{x:.48340658539474834,y:.46699355971902134},{x:.4841865730327025,y:.4677014480666941},{x:.48506339053858555,y:.46828512408085676},{x:.487447044167244,y:.4706605328159332},{x:.4899389620874836,y:.4729221066835925},{x:.4905658603159866,y:.4737685611946159},{x:.49131196047780046,y:.47451208064740324},{x:.493186393615322,y:.4773068743236967},{x:.4951892188573616,y:.48001114175313947},{x:.5250762188573616,y:.5299501417531395},{x:.5263287500632193,y:.5326029758232522},{x:.5277533683388757,y:.5351675080991},{x:.5282078804872482,y:.5365829335183069},{x:.5288425912810938,y:.5379272372855163},{x:.5295535131980511,y:.5407734546091212},{x:.5304504424054924,y:.5435666393545394},{x:.5306200854295579,y:.5450435386925929},{x:.5309803397786421,y:.5464858379730204},{x:.5311223320761199,y:.5494160600145488},{x:.5314571037289079,y:.5523305567062068},{x:.5328161037289079,y:.6362725567062067},{x:.5325682225912138,y:.6392892202473488},{x:.5325070847315841,y:.6423154334158161},{x:.5322077563487247,y:.6436760218476847},{x:.5320936668790056,y:.6450644677251389},{x:.5312620268462096,y:.647974807711247},{x:.530611678831884,y:.6509309456375182},{x:.530052664324664,y:.6522069946735811},{x:.5296698946987799,y:.6535465042014387},{x:.5282864552309536,y:.656238677898982},{x:.5270718895714029,y:.659011137860374},{x:.493108889571403,y:.7195761378603741},{x:.49086599866607616,y:.7227903647520136},{x:.4886941713149356,y:.7260530293196586},{x:.4883443495413535,y:.7264040725827037},{x:.48806074906628455,y:.7268104928286833},{x:.4852338901214668,y:.7295253929429124},{x:.4824672795427586,y:.7323016638284542},{x:.4820556943532359,y:.7325777150511769},{x:.48169825452511067,y:.7329209983380867},{x:.4783960621447291,y:.7350322395860499},{x:.4751409876314614,y:.737215426256307},{x:.4058559876314614,y:.774404426256307},{x:.40535390944732597,y:.7746134197603937},{x:.4048950878292554,y:.7749053846735706},{x:.40128606998249994,y:.7763066859700772},{x:.39771184087056327,y:.7777944834687843},{x:.3971786373679402,y:.7779015106266721},{x:.3966716723496766,y:.778098353858693},{x:.39285862044769176,y:.7787686450898307},{x:.3890628142527955,y:.7795305574683767},{x:.38851897614326597,y:.7795315052864096},{x:.3879833501061526,y:.7796256622622586},{x:.29017035010615255,y:.7870576622622585},{x:.28883979914978264,y:.7870279344512828},{x:.28751770557027906,y:.7871806372910648},{x:.2844390802539456,y:.7869296114679608},{x:.28135100845003463,y:.7868606162788429},{x:.2800518232654171,y:.7865718820648824},{x:.2787253424971381,y:.7864637231002555},{x:.20264834249713812,y:.7726567231002556},{x:.20090732012312768,y:.7721604024311715},{x:.19912055356042774,y:.7718689262507037},{x:.1966754417776232,y:.7709540028332816},{x:.19416478523538352,y:.7702382792713757},{x:.19255404347725652,y:.7694118386491953},{x:.19085847331495095,y:.7687773822377194},{x:.12157447331495094,y:.7347753822377193},{x:.11864840230662128,y:.7329636093328938},{x:.1156466869822177,y:.7312801255296781},{x:.11490452792065226,y:.7306454666247165},{x:.11407427694169714,y:.7301313894804525},{x:.11155788892673538,y:.7277835811487093},{x:.10894228211787771,y:.7255468394054793},{x:.1083381992447159,y:.7247795872431081},{x:.10762419278113186,y:.7241134140161837},{x:.10561419113974596,y:.7213197952150451},{x:.1034852091492498,y:.7186157522626143},{x:.05457920914924981,y:.6421127522626143},{x:.05400544809690788,y:.6409849569633866},{x:.05327967340990527,y:.639948436299892},{x:.05200937551205521,y:.6370614399018406},{x:.05057918033015655,y:.6342502218929852},{x:.050236465883645505,y:.633032161635733},{x:.04972685190376166,y:.6318739658087451},{x:.04904418748077848,y:.6287946194110116},{x:.04818991452487371,y:.6257584009293389},{x:.04809141700817653,y:.6244968850866522},{x:.047817547914863534,y:.6232615229122788},{x:.04774875137767971,y:.6201081640700103},{x:.04750322987838258,y:.6169636252890404},{x:.04765273449582791,y:.6157071332072875},{x:.04762513492475421,y:.6144420789610904},{x:.04817285008571219,y:.6113358894861711},{x:.048545515296550656,y:.608203873267779},{x:.04893727666953319,y:.607000691233013},{x:.04915700725673716,y:.6057545602402229},{x:.06817600725673716,y:.537751560240223},{x:.0695259178796919,y:.5342803033966695},{x:.07076883034011841,y:.5307693133112962},{x:.07112252784165454,y:.530174666206544},{x:.07137329591617819,y:.5295298232221028},{x:.07337447700044117,y:.5263886201035727},{x:.07527846743280868,y:.5231875729003385},{x:.0757413786311829,y:.522673354732434},{x:.07611313089295507,y:.5220898246495332},{x:.07868867817173447,y:.5193993899302627},{x:.08118057729149615,y:.5166313000580217},{x:.13823757729149616,y:.46456630005802163},{x:.1415344063491032,y:.46210392848613274},{x:.14479841194755694,y:.45959821041612353},{x:.17870395742216458,y:.4385038845164132},{x:.16590813892329467,y:.43401753680148847},{x:.1630836262780146,y:.43270367241359486},{x:.16018787852971583,y:.4315553012665589},{x:.15909238677042803,y:.43084708753997614},{x:.15790960896480868,y:.43029690071741367},{x:.15539569076452509,y:.4284572467838155},{x:.15277962009410193,y:.4267660089056696},{x:.07398562009410191,y:.3640750089056696},{x:.07334669706368892,y:.36345515994886657},{x:.07261876409580822,y:.3629427646304707},{x:.07018582297292754,y:.3603886489381779},{x:.067654053855944,y:.3579324619307791},{x:.06714833408498834,y:.3571998754981266},{x:.06653435151263618,y:.35655531303498644},{x:.06464644192410274,y:.3535756306924294},{x:.06264249835499126,y:.3506727149773525},{x:.06228941637067996,y:.3498555439546183},{x:.061812979199786275,y:.3491035845207174},{x:.026491979199786284,y:.27897658452071744},{x:.026206182636496978,y:.2782362375154344},{x:.02580526951533789,y:.27755135647970497},{x:.024619992088609113,y:.2741272608068926},{x:.023315086847465263,y:.27074694483548933},{x:.02317921632066564,y:.26996506724675395},{x:.022919620294515476,y:.2692151317381758},{x:.022425125568608657,y:.2656255929487299},{x:.02180476064715109,y:.2620556544171705},{x:.02182403758498896,y:.26126229336223583},{x:.021715734783549545,y:.26047612298183487},{x:.018998734783549534,y:.19034712298183487}],[{x:.10940940002433477,y:.19920410482166873},{x:.1112697837122767,y:.2472228194523932},{x:.137749803196691,y:.2997967648781603},{x:.20286290613296581,y:.3516028102138205},{x:.27392321813344717,y:.3765172983642545},{x:.30180455045059645,y:.38547932587505673},{x:.3589974388819276,y:.364332623176267},{x:.44199758150171664,y:.31850914110336725},{x:.48327372240847105,y:.27362627516037924},{x:.4919267227459848,y:.21271770175329152},{x:.46927072007314496,y:.15185335046477932},{x:.41758736799183827,y:.11304708595854013},{x:.33285528741119674,y:.08399594043457195},{x:.2715476841223936,y:.0857083982994813},{x:.19388634557978268,y:.1114782912788902},{x:.13622191473335832,y:.14977174687660325},{x:.10940940002433477,y:.19920410482166873}],[{x:.1412545940070051,y:.610603192179028},{x:.17253143522148345,y:.6595291354872365},{x:.22488466829434647,y:.6852221473073319},{x:.28911227954018853,y:.6968786351876549},{x:.37167628924266627,y:.6906052797020977},{x:.4210229734590171,y:.664118250196117},{x:.4426312796779887,y:.6255849325813003},{x:.4416638895166663,y:.5658316839266069},{x:.4243877259953326,y:.5369644730960824},{x:.3411654121752423,y:.49266641996418925},{x:.3038587353431559,y:.48067475972705925},{x:.2482367446999157,y:.5012406330709052},{x:.1958501022844071,y:.5338329684082593},{x:.1513751879049268,y:.5744167077770947},{x:.1412545940070051,y:.610603192179028}]],9:[[{x:.04617702144416433,y:.5785043710151274},{x:.046308257010348054,y:.5777836867379841},{x:.04632014162646953,y:.5770512474182771},{x:.047097404355444614,y:.5734500590446777},{x:.04775742235616295,y:.5698255492446179},{x:.06775742235616294,y:.499825549244618},{x:.06870401207934061,y:.497431122678351},{x:.06945142103699212,y:.4949672455435709},{x:.07032179921115676,y:.4933388825112154},{x:.07100061044171635,y:.4916218095236955},{x:.07239614115864691,y:.4894580616864063},{x:.07360986744638548,y:.48718733951411786},{x:.07478119941633177,y:.4857600673791044},{x:.07578195180149752,y:.48420841696912487},{x:.07757279404935197,y:.4823584994767568},{x:.07920619484660538,y:.4803681948466053},{x:.1292061948466054,y:.43036819484660543},{x:.1324047212320044,y:.4277432320802026},{x:.1355710052680468,y:.42507946670648067},{x:.13581237417673697,y:.4249466435819557},{x:.13602533951411794,y:.4247718674463855},{x:.13967451194327588,y:.422821344145996},{x:.14329963156393744,y:.42082647364918746},{x:.21329963156393744,y:.39082647364918743},{x:.21510775104315333,y:.39025382151681987},{x:.2168404136401385,y:.3894823898342746},{x:.21930272871556003,y:.3889252240779052},{x:.22170947225776405,y:.3881629808537447},{x:.22359456811709633,y:.38795407868297094},{x:.22544443694348562,y:.38753549554788497},{x:.30544443694348566,y:.37753549554788496},{x:.30933066171136914,y:.37743373006124875},{x:.3132134481214367,y:.3772411973248817},{x:.31373545479679327,y:.3773183852372503},{x:.314262956584918,y:.37730457196617717},{x:.3180943620951528,y:.37796292671622445},{x:.321940103126635,y:.37853158749346005},{x:.39912055139763536,y:.39782669956121014},{x:.3920145202755848,y:.3793136184800785},{x:.3919728818872528,y:.3791621799808353},{x:.39190347676812315,y:.3790212888743934},{x:.33928123709710245,y:.23902627390054626},{x:.29593066247424293,y:.13853176000209894},{x:.2601678276974797,y:.06104561798577861},{x:.25727396725620644,y:.05271224015242973},{x:.25606147289685455,y:.04397442167208486},{x:.2565769400976792,y:.035167952008718584},{x:.2588005597432301,y:.02663125885276897},{x:.2626468793775489,y:.018692402534786497},{x:.2679680870941297,y:.011656468850909336},{x:.274559691864592,y:.005793844786811796},{x:.2821683820142214,y:.0013298276974796769},{x:.29050175984757026,y:-.0015640327437935753},{x:.29923957832791515,y:-.002776527103145486},{x:.30804604799128144,y:-.002261059902320825},{x:.31658274114723106,y:-3744025676995222e-20},{x:.32452159746521353,y:.003808879377548882},{x:.3315575311490907,y:.009130087094129706},{x:.33742015521318824,y:.015721691864591977},{x:.34188417230252033,y:.023330382014221395},{x:.3778841723025203,y:.10133038201422136},{x:.3780704961344211,y:.10186693411204945},{x:.37834550457920557,y:.10236389998544072},{x:.42234550457920556,y:.2043638999854408},{x:.4226728981736059,y:.20538920106595157},{x:.42314852323187685,y:.20635471112560658},{x:.47609350933819694,y:.3472083534084579},{x:.5496013805841499,y:.5387157021808093},{x:.5512752235949963,y:.542063388202502},{x:.5520259437659378,y:.5440252139743784},{x:.5529745491659372,y:.5458993775022888},{x:.553598518494472,y:.5481347580495968},{x:.5544279630456541,y:.5503023109672317},{x:.5547815251174404,y:.5523728990468965},{x:.5553462721645,y:.554396114781092},{x:.555522150986547,y:.5567102734952235},{x:.5559127893965689,y:.5589979940959194},{x:.5558556061770612,y:.5610977729446709},{x:.5560147919588762,y:.5631922898391183},{x:.5557358213499382,y:.5654962948984841},{x:.5556726416037749,y:.5678162673625252},{x:.5552069106120301,y:.5698645436567753},{x:.5549544177082778,y:.5719498706018395},{x:.5349544177082779,y:.6619498706018395},{x:.5345092452033302,y:.663307558548854},{x:.5342480120020212,y:.6647122835522489},{x:.5331378863550271,y:.6674899313564284},{x:.5322058990004909,y:.6703323081518522},{x:.5315044085816177,y:.6715770596583215},{x:.5309741466497647,y:.6729038291953012},{x:.5293434595512297,y:.6754115305058349},{x:.5278748598680685,y:.6780174701150343},{x:.5269440094186665,y:.6791014500786302},{x:.5261650964249364,y:.6802992771399491},{x:.4861650964249363,y:.7302992771399491},{x:.4855393928217795,y:.7309407996522789},{x:.48502142797480674,y:.7316720783612058},{x:.48246447922773295,y:.7340934525762789},{x:.48000567043073006,y:.7366144244690945},{x:.4792668347133476,y:.7371215515888083},{x:.4786161570168623,y:.7377377290536072},{x:.47563595264764597,y:.7396137412876539},{x:.4727325719538572,y:.7416065836124539},{x:.4719089971645242,y:.7419598267287414},{x:.4711506117974981,y:.7424372235949962},{x:.4111506117974981,y:.7724372235949962},{x:.40814803697660645,y:.7735862009991664},{x:.4052110607504687,y:.7748937847545917},{x:.4040364518244048,y:.77515955677446},{x:.40291168903276836,y:.7755899630456542},{x:.39974265347336024,y:.7761310898824948},{x:.39660701348596056,y:.7768405731449995},{x:.3166070134859606,y:.7868395731449994},{x:.31542693671630134,y:.7868704603456931},{x:.31426350899694466,y:.7870703881908964},{x:.3110259999999998,y:.7869856499834279},{x:.3077884910030554,y:.7870703881908964},{x:.3066250632836987,y:.7868704603456931},{x:.30544498651403945,y:.7868395731449994},{x:.22544498651403946,y:.7768405731449995},{x:.22359484289355938,y:.7764219517671516},{x:.22170947225776405,y:.7762130191462554},{x:.21930299190993624,y:.775450859278766},{x:.2168409392495313,y:.7748937847545917},{x:.21510801459933976,y:.7741222619544408},{x:.21329963156393744,y:.7735495263508126},{x:.14329963156393744,y:.7435495263508126},{x:.1396745119432796,y:.741554655854006},{x:.13602533951411788,y:.7396041325536146},{x:.13581237417673678,y:.7394293564180442},{x:.1355710052680468,y:.7392965332935194},{x:.13240472123200803,y:.7366327679198006},{x:.12920619484660534,y:.7340078051533947},{x:.07920619484660535,y:.6840078051533947},{x:.07757279404935197,y:.6820175005232432},{x:.0757819518014975,y:.6801675830308751},{x:.07478119941633177,y:.6786159326208956},{x:.07360986744638545,y:.6771886604858821},{x:.07239614115864686,y:.6749179383135936},{x:.07100061044171635,y:.6727541904763045},{x:.07032179921115676,y:.6710371174887846},{x:.06945142103699209,y:.669408754456429},{x:.06870401207934061,y:.666944877321649},{x:.06775742235616294,y:.664550450755382},{x:.04775742235616295,y:.5945504507553819},{x:.0470974043554446,y:.590925940955322},{x:.04632014162646953,y:.5873247525817227},{x:.046308257010348054,y:.5865923132620157},{x:.04617702144416433,y:.5858716289848723},{x:.0462367922883029,y:.5821879999999999},{x:.04617702144416433,y:.5785043710151274}],[{x:.13782670643108905,y:.5821879999999999},{x:.15109114488080894,y:.6286135345740196},{x:.18671787059591238,y:.6642402602891231},{x:.24291204200407931,y:.688323476606909},{x:.311026,y:.696836869931924},{x:.377796042530131,y:.6884914492411893},{x:.4220611757635009,y:.6663588826245044},{x:.4493630453483168,y:.6322315456434845},{x:.46363172164975686,y:.5680225022870041},{x:.4540425513192988,y:.5488441616260881},{x:.42235697647551157,y:.5171585867823008},{x:.37255000597497323,y:.48395393978194207},{x:.30826669745594837,y:.4678831126521858},{x:.24291230161158606,y:.4760524121327311},{x:.1867178705959123,y:.500135739710877},{x:.15109114488080894,y:.5357624654259804},{x:.13782670643108905,y:.5821879999999999}]],"!":[[{x:.20646600000000004,y:.05103000000000002},{x:.20733066238185466,y:.04225093550927423},{x:.20989142103699213,y:.03380924554357098},{x:.2140498674463855,y:.026029339514117927},{x:.21964619484660539,y:.019210194846605383},{x:.22646533951411793,y:.013613867446385479},{x:.23424524554357098,y:.009455421036992116},{x:.24268693550927425,y:.006894662381854655},{x:.251466,y:.0060300000000000215},{x:.350587,y:.0060300000000000215},{x:.3593660644907258,y:.006894662381854655},{x:.36780775445642905,y:.009455421036992116},{x:.3755876604858821,y:.013613867446385479},{x:.38240680515339465,y:.019210194846605383},{x:.3880031325536145,y:.026029339514117927},{x:.3921615789630079,y:.03380924554357098},{x:.39472233761814535,y:.04225093550927425},{x:.39558699999999997,y:.05103000000000002},{x:.39472233761814535,y:.05980906449072579},{x:.3921615789630079,y:.06825075445642906},{x:.3880031325536145,y:.07603066048588211},{x:.38240680515339465,y:.08284980515339466},{x:.3755876604858821,y:.08844613255361455},{x:.36780775445642905,y:.09260457896300792},{x:.3593660644907258,y:.09516533761814538},{x:.350587,y:.09603000000000002},{x:.251466,y:.09603000000000002},{x:.24268693550927425,y:.09516533761814538},{x:.23424524554357098,y:.09260457896300792},{x:.22646533951411793,y:.08844613255361455},{x:.21964619484660539,y:.08284980515339466},{x:.2140498674463855,y:.07603066048588211},{x:.20989142103699213,y:.06825075445642906},{x:.20733066238185466,y:.05980906449072579},{x:.20646600000000004,y:.05103000000000002}],[{x:.25602600000000003,y:.25043400000000005},{x:.25689066238185465,y:.24165493550927428},{x:.2594514210369921,y:.233213245543571},{x:.2636098674463855,y:.22543333951411795},{x:.26920619484660535,y:.2186141948466054},{x:.27602533951411795,y:.2130178674463855},{x:.283805245543571,y:.20885942103699215},{x:.2922469355092743,y:.20629866238185468},{x:.301026,y:.20543400000000006},{x:.3098050644907258,y:.20629866238185468},{x:.3182467544564291,y:.20885942103699215},{x:.32602666048588214,y:.2130178674463855},{x:.3328458051533947,y:.2186141948466054},{x:.33844213255361455,y:.22543333951411795},{x:.34260057896300794,y:.233213245543571},{x:.3451613376181454,y:.24165493550927428},{x:.346026,y:.25043400000000005},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.25043400000000005}]],\'"\':[[{x:.12004,y:.476978},{x:.12090466238185463,y:.4681989355092742},{x:.1234654210369921,y:.459757245543571},{x:.12762386744638546,y:.4519773395141179},{x:.13322019484660536,y:.44515819484660535},{x:.1400393395141179,y:.4395618674463855},{x:.14781924554357095,y:.4354034210369921},{x:.15626093550927422,y:.43284266238185465},{x:.16504,y:.43197800000000003},{x:.17381906449072576,y:.43284266238185465},{x:.18226075445642903,y:.4354034210369921},{x:.19004066048588208,y:.4395618674463855},{x:.19685980515339463,y:.44515819484660535},{x:.20245613255361453,y:.4519773395141179},{x:.2066145789630079,y:.459757245543571},{x:.20917533761814536,y:.4681989355092742},{x:.21004,y:.476978},{x:.21004,y:.729004},{x:.20917533761814536,y:.7377830644907257},{x:.2066145789630079,y:.746224754456429},{x:.20245613255361453,y:.7540046604858821},{x:.19685980515339463,y:.7608238051533946},{x:.19004066048588208,y:.7664201325536145},{x:.18226075445642903,y:.7705785789630079},{x:.17381906449072576,y:.7731393376181454},{x:.16504,y:.774004},{x:.15626093550927422,y:.7731393376181454},{x:.14781924554357095,y:.7705785789630079},{x:.1400393395141179,y:.7664201325536145},{x:.13322019484660536,y:.7608238051533946},{x:.12762386744638546,y:.7540046604858821},{x:.1234654210369921,y:.746224754456429},{x:.12090466238185463,y:.7377830644907257},{x:.12004,y:.729004},{x:.12004,y:.476978}],[{x:.392013,y:.476978},{x:.3928776623818546,y:.4681989355092742},{x:.39543842103699206,y:.459757245543571},{x:.39959686744638545,y:.4519773395141179},{x:.4051931948466053,y:.44515819484660535},{x:.4120123395141179,y:.4395618674463855},{x:.419792245543571,y:.4354034210369921},{x:.42823393550927424,y:.43284266238185465},{x:.437013,y:.43197800000000003},{x:.4457920644907258,y:.43284266238185465},{x:.45423375445642905,y:.4354034210369921},{x:.4620136604858821,y:.4395618674463855},{x:.46883280515339465,y:.44515819484660535},{x:.4744291325536145,y:.4519773395141179},{x:.4785875789630079,y:.459757245543571},{x:.48114833761814535,y:.4681989355092742},{x:.48201299999999997,y:.476978},{x:.48201299999999997,y:.729004},{x:.48114833761814535,y:.7377830644907257},{x:.4785875789630079,y:.746224754456429},{x:.4744291325536145,y:.7540046604858821},{x:.46883280515339465,y:.7608238051533946},{x:.4620136604858821,y:.7664201325536145},{x:.45423375445642905,y:.7705785789630079},{x:.4457920644907258,y:.7731393376181454},{x:.437013,y:.774004},{x:.42823393550927424,y:.7731393376181454},{x:.419792245543571,y:.7705785789630079},{x:.4120123395141179,y:.7664201325536145},{x:.4051931948466053,y:.7608238051533946},{x:.39959686744638545,y:.7540046604858821},{x:.39543842103699206,y:.746224754456429},{x:.3928776623818546,y:.7377830644907257},{x:.392013,y:.729004},{x:.392013,y:.476978}]],"#":[[{x:-.04343582416242281,y:.17932596542766122},{x:-.043155600373289436,y:.1705088746946064},{x:-.04116063193533153,y:.16191587083690517},{x:-.037527584366828626,y:.15387717817379684},{x:-.03239607364840174,y:.1467017191561739},{x:-.025963300859175642,y:.14066524265003977},{x:-.01847647384989975,y:.13599972706223024},{x:-.010223307183879607,y:.1328844655403335},{x:-.0015209654276611437,y:.13143917583757725},{x:.007296125305393629,y:.13171939962671061},{x:.11028337660265361,y:.14517801654688708},{x:.10171449233133083,y:.05447855391336175},{x:.10174959121806887,y:.04565708110917159},{x:.10350499965956604,y:.03701195788446062},{x:.10691325829386003,y:.02887541147651351},{x:.11184338965300836,y:.02156012480075985},{x:.11810593155372849,y:.015347220221688843},{x:.1254602180228497,y:.01047545617803717},{x:.13362362795569505,y:.007132051829885598},{x:.14228244608663826,y:.005445492331330834},{x:.15110391889082841,y:.0054805912180688685},{x:.1597490421155394,y:.0072359996595660475},{x:.1678855885234865,y:.010644258293860037},{x:.17520087519924016,y:.015574389653008364},{x:.18141377977831116,y:.02183693155372849},{x:.18628554382196283,y:.029191218022849703},{x:.18962894817011441,y:.03735462795569504},{x:.19131550766866917,y:.04601344608663827},{x:.2018142041879224,y:.1571394809935999},{x:.36570083500909,y:.17855657247605955},{x:.35397849233133083,y:.05447855391336175},{x:.35401359121806886,y:.04565708110917159},{x:.35576899965956604,y:.03701195788446062},{x:.35917725829386,y:.02887541147651351},{x:.3641073896530084,y:.02156012480075985},{x:.3703699315537285,y:.015347220221688843},{x:.37772421802284967,y:.01047545617803717},{x:.38588762795569503,y:.007132051829885598},{x:.39454644608663825,y:.005445492331330834},{x:.4033679188908284,y:.0054805912180688685},{x:.4120130421155394,y:.0072359996595660475},{x:.4201495885234865,y:.010644258293860037},{x:.42746487519924015,y:.015574389653008364},{x:.4336777797783111,y:.02183693155372849},{x:.4385495438219628,y:.029191218022849703},{x:.44189294817011443,y:.03735462795569504},{x:.44357950766866916,y:.04601344608663827},{x:.45723166259435877,y:.19051803692277236},{x:.5748861253053936,y:.20589339962671058},{x:.5834791291630949,y:.20788836806466848},{x:.5915178218262032,y:.2115214156331714},{x:.5986932808438261,y:.21665292635159827},{x:.6047297573499603,y:.22308569914082438},{x:.6093952729377698,y:.23057252615010027},{x:.6125105344596665,y:.2388256928161204},{x:.6139558241624228,y:.24752803457233888},{x:.6136756003732894,y:.25634512530539366},{x:.6116806319353315,y:.2649381291630949},{x:.6080475843668286,y:.2729768218262032},{x:.6029160736484017,y:.2801522808438262},{x:.5964833008591757,y:.2861887573499603},{x:.5889964738498997,y:.29085427293776983},{x:.5807433071838796,y:.29396953445966656},{x:.5720409654276611,y:.2954148241624228},{x:.5632238746946063,y:.2951346003732895},{x:.4659139564059225,y:.28241791072205386},{x:.48521785958998953,y:.48674482074743597},{x:.6064180682130128,y:.5025833921657807},{x:.6150110746232834,y:.5045783496089273},{x:.6230497719348954,y:.5082113868918628},{x:.6302252375183169,y:.5133428884292346},{x:.6362617222552247,y:.5197756534947408},{x:.640927247422479,y:.5272624745344501},{x:.6440425195043586,y:.5355156372144642},{x:.645487820341822,y:.544217977121417},{x:.6452076078342193,y:.5530350682130128},{x:.6432126503910727,y:.5616280746232835},{x:.6395796131081373,y:.5696667719348955},{x:.6344481115707654,y:.576842237518317},{x:.6280153465052593,y:.5828787222552247},{x:.6205285254655499,y:.587544247422479},{x:.6122753627855358,y:.5906595195043587},{x:.603573022878583,y:.592104820341822},{x:.5947559317869872,y:.5918246078342193},{x:.493900150869001,y:.5786446677402959},{x:.5066445076686692,y:.7135404460866382},{x:.5066094087819312,y:.7223619188908285},{x:.5048540003404339,y:.7310070421155394},{x:.50144574170614,y:.7391435885234865},{x:.4965156103469916,y:.7464588751992401},{x:.4902530684462715,y:.7526717797783111},{x:.4828987819771503,y:.7575435438219629},{x:.47473537204430494,y:.7608869481701144},{x:.4660765539133617,y:.7625735076686692},{x:.45725508110917157,y:.7625384087819311},{x:.44860995788446056,y:.760783000340434},{x:.4404734114765135,y:.7573747417061399},{x:.43315812480075977,y:.7524446103469916},{x:.4269452202216888,y:.7461820684462716},{x:.42207345617803715,y:.7388277819771503},{x:.41873005182988554,y:.730664372044305},{x:.4170434923313308,y:.7220055539133617},{x:.40236933467780645,y:.5666833238969633},{x:.23848272425781383,y:.5452664483557571},{x:.25438050766866915,y:.7135404460866382},{x:.2543454087819311,y:.7223619188908285},{x:.25259000034043394,y:.7310070421155394},{x:.24918174170614,y:.7391435885234865},{x:.2442516103469916,y:.7464588751992401},{x:.23798906844627152,y:.7526717797783111},{x:.2306347819771503,y:.7575435438219629},{x:.22247137204430495,y:.7608869481701144},{x:.21381255391336174,y:.7625735076686692},{x:.20499108110917158,y:.7625384087819311},{x:.1963459578844606,y:.760783000340434},{x:.18820941147651346,y:.7573747417061399},{x:.1808941248007598,y:.7524446103469916},{x:.17468122022168883,y:.7461820684462716},{x:.16980945617803714,y:.7388277819771503},{x:.16646605182988555,y:.730664372044305},{x:.16477949233133082,y:.7220055539133617},{x:.14695190806661926,y:.5333051045124245},{x:.02716793178698713,y:.5176516078342193},{x:.01857492537671658,y:.5156566503910727},{x:.01053622806510461,y:.5120236131081373},{x:.0033607624816830023,y:.5068921115707654},{x:-.0026757222552247634,y:.5004593465052593},{x:-.0073412474224789775,y:.4929725254655499},{x:-.010456519504358698,y:.48471936278553585},{x:-.011901820341822023,y:.476017022878583},{x:-.011621607834219276,y:.4671999317869871},{x:-.00962665039107264,y:.45860692537671655},{x:-.005993613108137223,y:.45056822806510455},{x:-.0008621115707654614,y:.44339276248168297},{x:.005570653494740684,y:.4373562777447752},{x:.013057474534450029,y:.432690752577521},{x:.02131063721446411,y:.42957548049564126},{x:.03001297712141698,y:.42813017965817796},{x:.03883006821301287,y:.4284103921657807},{x:.13826961678760774,y:.4414052575195645},{x:.1189656704142173,y:.23707789034616855},{x:-.004366125305393629,y:.2209606003732895},{x:-.012959129163094893,y:.21896563193533158},{x:-.0209978218262032,y:.2153325843668287},{x:-.028173280843826164,y:.2102010736484018},{x:-.034209757349960276,y:.2037683008591757},{x:-.03887527293776982,y:.1962814738498998},{x:-.041990534459666565,y:.18802830718387967},{x:-.04343582416242281,y:.17932596542766122}],[{x:.2104964979994861,y:.24903935479288136},{x:.22980043297880234,y:.4533666013628972},{x:.39368704339879496,y:.4747834769041034},{x:.3743831288206537,y:.27045644627534104},{x:.2104964979994861,y:.24903935479288136}]],$:[[{x:.030517420733400163,y:.165091535964518},{x:.03086584266660257,y:.1562768767808978},{x:.032927224468652025,y:.14769956254897784},{x:.06950822446865203,y:.04228956254897785},{x:.0704003940010533,y:.04035550336969822},{x:.07109145007989037,y:.03834080913001754},{x:.07224350295250744,y:.03635998272422403},{x:.073203348392932,y:.034279214644477654},{x:.0744556913660193,y:.03255637151138059},{x:.07552651634405921,y:.03071520740954014},{x:.07704287290513265,y:.02899719639360223},{x:.07839021289928177,y:.02714366624511229},{x:.07995460247492134,y:.0256982470536212},{x:.08136404514878363,y:.02410136799351792},{x:.08318643266605391,y:.022712194567306505},{x:.08486948969354943,y:.02115713247420773},{x:.0866858072576693,y:.0200446838732511},{x:.08837970353582197,y:.01875345702162473},{x:.17373770353582196,y:-.03394954297837521},{x:.17475219432147746,y:-.03444582628601368},{x:.17568351020275566,y:-.03508468417701866},{x:.17870701554383397,y:-.03638050305696308},{x:.18166188368778688,y:-.037826008286632525},{x:.18275370138776084,y:-.03811483831561822},{x:.18379175728720304,y:-.038559730016208084},{x:.18700996854351615,y:-.03924079346911771},{x:.19019006380536974,y:-.04008205754340442},{x:.19131725047775072,y:-.0401523347177012},{x:.19242215448928965,y:-.04038616328932037},{x:.262121,y:-.048110644533924524},{x:.262121,y:-.08350199999999997},{x:.2629856623818546,y:-.09228106449072573},{x:.26554642103699205,y:-.100722754456429},{x:.26970486744638544,y:-.10850266048588206},{x:.2753011948466053,y:-.1153218051533946},{x:.2821203395141179,y:-.1209181325536145},{x:.28990024554357097,y:-.12507657896300786},{x:.29834193550927424,y:-.12763733761814533},{x:.307121,y:-.12850199999999995},{x:.3159000644907258,y:-.12763733761814533},{x:.32434175445642904,y:-.12507657896300786},{x:.3321216604858821,y:-.1209181325536145},{x:.33894080515339464,y:-.1153218051533946},{x:.3445371325536145,y:-.10850266048588206},{x:.3486955789630079,y:-.100722754456429},{x:.35125633761814534,y:-.09228106449072573},{x:.35212099999999996,y:-.08350199999999997},{x:.35212099999999996,y:-.05796857189257534},{x:.3537665284657676,y:-.05798865052825875},{x:.3565834008023822,y:-.05822276473922817},{x:.35816715833059226,y:-.05804234673933715},{x:.35976104048452195,y:-.05806179518994546},{x:.3625398346041163,y:-.05754422155704884},{x:.36534825494544937,y:-.05722429279787242},{x:.3668663832111493,y:-.05673836571308556},{x:.3684334335709129,y:-.056446489484502926},{x:.37105786033397337,y:-.05539674504422484},{x:.37374990266128777,y:-.05453506799769968},{x:.49568890266128773,y:-.0018330679976996528},{x:.4995437197067623,y:.0003036028478311586},{x:.5033988605511543,y:.0024396894158641644},{x:.5034014762743246,y:.0024419030290919073},{x:.503404473339876,y:.00244356426035406},{x:.5067683773534712,y:.005291217073469004},{x:.510132712931077,y:.008138360005776092},{x:.5101348465393426,y:.008141041387321917},{x:.510137461926978,y:.00814325539697476},{x:.5128811799638975,y:.011592456477016289},{x:.5156254207452635,y:.015041241667436683},{x:.5156269902452553,y:.015044287773311453},{x:.5156291234470946,y:.015046969478205698},{x:.5176472159618929,y:.018965167962033513},{x:.519665902312761,y:.02288306052976895},{x:.5684429023127611,y:.1458620605297689},{x:.5688122064775901,y:.14714915498994666},{x:.5693537919217377,y:.14837377040805427},{x:.5700262192706007,y:.15138021786244946},{x:.5708758841928585,y:.15434145989163614},{x:.5709869926090132,y:.15567587086110493},{x:.5712792610244494,y:.1569826137160382},{x:.5713522390683521,y:.16006247719363653},{x:.5716078682563359,y:.16313258119086366},{x:.5714565110896938,y:.16446302800441426},{x:.5714882307651191,y:.1658016809010868},{x:.5709589549987614,y:.16883660297565092},{x:.5706107247661352,y:.1718975865660398},{x:.570202718587728,y:.17317294089875004},{x:.5699726705538047,y:.1744920601570685},{x:.5455836705538047,y:.26233106015706853},{x:.5448796820390573,y:.26415145628779163},{x:.5443792359109676,y:.2660379863232085},{x:.5432925447356423,y:.2682555269445408},{x:.5424018225194911,y:.2705587850827968},{x:.5413562192793141,y:.27220686146627543},{x:.5404973453311464,y:.27395951015977},{x:.5389989139081434,y:.2759224384285429},{x:.5376759632977357,y:.2780076688235372},{x:.5363289272782685,y:.2794200908086057},{x:.5351446315541886,y:.28097150485378414},{x:.5332920437627642,y:.28260438653745124},{x:.5315877050081386,y:.28439145495451523},{x:.529991002048182,y:.2855139439563835},{x:.528526796368706,y:.2868045033815319},{x:.4553637963687061,y:.3395095033815319},{x:.4552094954443409,y:.33959910378534747},{x:.4550747122553104,y:.3397160246969866},{x:.45139660000367776,y:.341813199213456},{x:.44773515946955245,y:.3439393468807752},{x:.44756634322254935,y:.3439971230209339},{x:.4474113397164003,y:.34408550243429054},{x:.4433947629085852,y:.34542481622689836},{x:.43938888509457313,y:.34679579895012297},{x:.43921204103863115,y:.34681953052195974},{x:.439042773913178,y:.34687597206574233},{x:.35212099999999996,y:.3666493043587998},{x:.35212099999999996,y:.6320956693586206},{x:.3838005126074005,y:.6288356018928482},{x:.4577579663937751,y:.5527249728659002},{x:.46449612147708186,y:.5470313904751531},{x:.47221556762189953,y:.5427617575185425},{x:.48061965084199804,y:.5400801535961528},{x:.48938540693229315,y:.5390896312428609},{x:.49817597280212744,y:.5398282556772123},{x:.5066535319349293,y:.5422676419764202},{x:.5144922964874953,y:.5463140458930298},{x:.5213910271340998,y:.551811966393775},{x:.5270846095248467,y:.5585501214770818},{x:.5313542424814575,y:.5662695676218995},{x:.534035846403847,y:.5746736508419981},{x:.535026368757139,y:.5834394069322931},{x:.5342877443227877,y:.5922299728021274},{x:.5318483580235798,y:.6007075319349293},{x:.5278019541069703,y:.6085462964874953},{x:.5223040336062249,y:.6154450271340998},{x:.4369490336062249,y:.7032850271340998},{x:.435089451582588,y:.7048563301588934},{x:.43337550685970433,y:.706585327551969},{x:.43172842132509603,y:.7076963215886295},{x:.4302108785229181,y:.7089786095248467},{x:.4280804818333404,y:.7101569339468108},{x:.4260621594195314,y:.7115183351118896},{x:.4242299779872524,y:.7122866512623272},{x:.42249143237810044,y:.7132482424814575},{x:.4201720909726226,y:.7139883059538676},{x:.4179269538663623,y:.7149297930076584},{x:.4159800862413552,y:.7153259053130885},{x:.41408734915800194,y:.715929846403847},{x:.4116681940261354,y:.716203208702491},{x:.4092825215873294,y:.7166886008255086},{x:.35212099999999996,y:.7225709645831306},{x:.35212099999999996,y:.7597659999999999},{x:.35125633761814534,y:.7685450644907257},{x:.3486955789630079,y:.776986754456429},{x:.3445371325536145,y:.7847666604858821},{x:.33894080515339464,y:.7915858051533946},{x:.3321216604858821,y:.7971821325536145},{x:.32434175445642904,y:.8013405789630078},{x:.3159000644907258,y:.8039013376181453},{x:.307121,y:.804766},{x:.29834193550927424,y:.8039013376181453},{x:.28990024554357097,y:.8013405789630078},{x:.2821203395141179,y:.7971821325536145},{x:.2753011948466053,y:.7915858051533946},{x:.26970486744638544,y:.7847666604858821},{x:.26554642103699205,y:.776986754456429},{x:.2629856623818546,y:.7685450644907257},{x:.262121,y:.7597659999999999},{x:.262121,y:.7318326623736131},{x:.23856652158732947,y:.7342566008255086},{x:.23743405616423266,y:.7342615520061975},{x:.23631438427367413,y:.7344313675125375},{x:.2330314335362298,y:.7342808004350606},{x:.22974506326706257,y:.734295168567351},{x:.22863339192208898,y:.7340790915684273},{x:.22750210485113245,y:.7340272069677483},{x:.2243116092711877,y:.7332390610779145},{x:.22108558260167874,y:.7326120140964958},{x:.22003742624118275,y:.7321832126358507},{x:.21893799871753236,y:.7319116218242595},{x:.21596256725097532,y:.7305161851266182},{x:.21292085857685591,y:.729271820095334},{x:.21197649726195836,y:.7286467727726252},{x:.21095117966878213,y:.7281659128327016},{x:.2083051564782311,y:.7262168111769735},{x:.20556465695803808,y:.7244029483461277},{x:.204760381964467,y:.7236056753794367},{x:.20384857668186554,y:.7229340254890024},{x:.10629557668186554,y:.6350940254890024},{x:.10393291169686979,y:.6325042238563513},{x:.10146752815288923,y:.6300120075116347},{x:.10096488682836192,y:.6292508655939548},{x:.10035013880638408,y:.6285770182897039},{x:.09853811700104832,y:.6255760458964971},{x:.09660631239978806,y:.6226507443205297},{x:.09626182060918942,y:.6218061670735107},{x:.09579034588565258,y:.6210253361666956},{x:.09459860224176168,y:.6177285186990383},{x:.0932746147506803,y:.6144825495908574},{x:.056695614750680294,y:.49150554959085735},{x:.05654965816703397,y:.490750439567249},{x:.05628361804350595,y:.49002883224693095},{x:.05571374572525952,y:.48642582571377374},{x:.055021470477783566,y:.4828443224653027},{x:.055025633066628665,y:.4820752469521588},{x:.05490548343396577,y:.4813156032607913},{x:.055049472757300266,y:.47767065091379934},{x:.05506921600663437,y:.4740229090450286},{x:.05522333780201598,y:.4732694231830167},{x:.05525369594322076,y:.472500935801646},{x:.05610601347919053,y:.46895411111540136},{x:.056837016503334954,y:.46538031130067065},{x:.05713517469108906,y:.46467137112890816},{x:.05731487395982006,y:.46392357259662753},{x:.08169987395982006,y:.39365157259662753},{x:.08192222202041206,y:.3931695328553223},{x:.08205835369770847,y:.3926564352635495},{x:.08376780756696771,y:.3891683934837906},{x:.08539480756850773,y:.3856411369034641},{x:.08570692456181836,y:.38521173737536313},{x:.08594054088151196,y:.3847350567827023},{x:.08829763126802886,y:.38164753465350854},{x:.09058150254284453,y:.37850546527353984},{x:.0909713939878581,y:.378145207541698},{x:.09129351720579659,y:.37772326251599964},{x:.09420766244788897,y:.3751549117812935},{x:.09706063710369874,y:.372518777565862},{x:.09751331969083687,y:.37224150613287915},{x:.09791157079240381,y:.3718905117848512},{x:.17107757079240382,y:.3191875117848513},{x:.17123114354048857,y:.3190983419119289},{x:.17136528774468962,y:.3189819753030134},{x:.17504412834709762,y:.3168843854977816},{x:.17870637355344754,y:.314757953928811},{x:.1788743916234626,y:.3147004579868701},{x:.17902866028359976,y:.31461249756570947},{x:.183046032465951,y:.31327291855818423},{x:.1870527548771027,y:.3119018143721617},{x:.18722876142884332,y:.31187820189800686},{x:.18739722608682208,y:.3118220279342577},{x:.262121,y:.2948235482063542},{x:.262121,y:.04244038202745839},{x:.212402420161311,y:.04795051974434915},{x:.14928483997433578,y:.08692151049617265},{x:.11795277553134796,y:.17720643745102208},{x:.114257651607068,y:.18521678535552225},{x:.10907078710071823,y:.1923523337548876},{x:.10259151030645056,y:.1983388675257922},{x:.09506881619784838,y:.20294632753270694},{x:.08679179769072982,y:.20599765167145945},{x:.07807853596451803,y:.20737557926659977},{x:.06926387678089782,y:.20702715733339738},{x:.0606865625489779,y:.20496577553134793},{x:.052676214644477706,y:.20127065160706795},{x:.04554066624511235,y:.1960837871007182},{x:.039554132474207776,y:.18960451030645054},{x:.034946672467293015,y:.18208181619784836},{x:.03189534832854049,y:.1738047976907298},{x:.030517420733400163,y:.165091535964518}],[{x:.14709211773983194,y:.4797371545422716},{x:.17592903295677773,y:.5766856037244347},{x:.24922570721126042,y:.6426843927572041},{x:.262121,y:.6413573671491031},{x:.262121,y:.3871228845247169},{x:.21626819752335621,y:.3975536737173561},{x:.16206100150816494,y:.4366002507010456},{x:.14709211773983194,y:.4797371545422716}],[{x:.35212099999999996,y:.034163101195078524},{x:.35212099999999996,y:.2743499680404371},{x:.4101709471377665,y:.26114452085874473},{x:.4630938273127818,y:.2230200535785049},{x:.47920731446793274,y:.1649859973145621},{x:.44287681685863156,y:.07338773859643172},{x:.35212099999999996,y:.034163101195078524}]],"\'":[[{x:.25602600000000003,y:.476978},{x:.25689066238185465,y:.4681989355092742},{x:.2594514210369921,y:.459757245543571},{x:.2636098674463855,y:.4519773395141179},{x:.26920619484660535,y:.44515819484660535},{x:.27602533951411795,y:.4395618674463855},{x:.283805245543571,y:.4354034210369921},{x:.2922469355092743,y:.43284266238185465},{x:.301026,y:.43197800000000003},{x:.3098050644907258,y:.43284266238185465},{x:.3182467544564291,y:.4354034210369921},{x:.32602666048588214,y:.4395618674463855},{x:.3328458051533947,y:.44515819484660535},{x:.33844213255361455,y:.4519773395141179},{x:.34260057896300794,y:.459757245543571},{x:.3451613376181454,y:.4681989355092742},{x:.346026,y:.476978},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.476978}]],"(":[[{x:.14398102142772873,y:.343473372436119},{x:.14438344127795402,y:.34024506484177663},{x:.14461855620935057,y:.33700027938992067},{x:.15480555620935058,y:.27783527938992064},{x:.15553530200183258,y:.27518493680242373},{x:.1560666158259812,y:.2724877993619115},{x:.1764416158259812,y:.20487079936191147},{x:.17757136816824137,y:.2021290142392397},{x:.17852197521392682,y:.19932008699588913},{x:.2090839752139268,y:.13170208699588917},{x:.21040800505224358,y:.12940389577393302},{x:.21154775445201235,y:.12700896170152925},{x:.25229575445201236,y:.05939296170152925},{x:.2531150427152032,y:.05829379345186112},{x:.2537782786760274,y:.05709399256856861},{x:.29452927867602746,y:-.0020700074314313824},{x:.29560111146026063,y:-.0033391000809501682},{x:.29650963843516415,y:-.004729783512322571},{x:.3372576384351641,y:-.05544378351232261},{x:.3386866074193021,y:-.05690267270426387},{x:.3399537097957662,y:-.05850416001284604},{x:.38070370979576623,y:-.10073716001284601},{x:.38742176905533504,y:-.10645444032360908},{x:.3951261287468799,y:-.11075123635207199},{x:.40352071464810957,y:-.11346242463653189},{x:.41228292753057777,y:-.11448381573166892},{x:.42107604046711683,y:-.11377615815049966},{x:.4295621390588101,y:-.11136664677700951},{x:.4374151072958377,y:-.10734787778201216},{x:.444333160012846,y:-.10187429020423372},{x:.4500504403236091,y:-.09515623094466494},{x:.45434723635207197,y:-.08745187125312004},{x:.4570584246365319,y:-.07905728535189037},{x:.45807981573166895,y:-.07029507246942218},{x:.4573721581504997,y:-.06150195953288313},{x:.45496264677700954,y:-.053015860941189874},{x:.45094387778201217,y:-.04516289270416226},{x:.44547029020423373,y:-.03824483998715393},{x:.4061377413616867,y:.0025191240684850026},{x:.3677075745656829,y:.050348403515145926},{x:.3286739379437331,y:.10701906379590062},{x:.2900025757951927,y:.1711891536907596},{x:.2617573982317254,y:.23368121626802973},{x:.24303344075060918,y:.2958190240226623},{x:.23462816944303005,y:.34463593546989096},{x:.24303340667749923,y:.39345182392970596},{x:.26175739639474455,y:.45558881969516635},{x:.2900026404789191,y:.5180819536434618},{x:.328674029726828,y:.5822520885061939},{x:.36770768599197223,y:.6389237351633864},{x:.4061420841180472,y:.6867582808236831},{x:.4454798975405431,y:.7275528000242046},{x:.45095135740921277,y:.7344725356602282},{x:.45496771125722263,y:.7423267393839987},{x:.45737461285859093,y:.7508135785511003},{x:.458079566334583,y:.759606908691815},{x:.4570554807184589,y:.768368807060192},{x:.4543417110461325,y:.7767625588156633},{x:.4500425459642118,y:.7844655967855365},{x:.4443231999757953,y:.791181897540543},{x:.4374034643397718,y:.7966533574092127},{x:.4295492606160011,y:.8006697112572226},{x:.42106242144889966,y:.8030766128585909},{x:.41226909130818484,y:.803781566334583},{x:.403507192939808,y:.8027574807184589},{x:.39511344118433667,y:.8000437110461325},{x:.3874104032144634,y:.7957445459642117},{x:.38069410245945684,y:.7900251999757952},{x:.33994410245945683,y:.7477661999757953},{x:.338681775527778,y:.7461697396410558},{x:.3372576384351641,y:.7447157835123226},{x:.29650963843516415,y:.6940017835123226},{x:.2956010143988682,y:.6926109515089496},{x:.29452907712829884,y:.6913417148135671},{x:.2537780771282988,y:.6321767148135672},{x:.25311493656839296,y:.6309770641401381},{x:.25229575445201236,y:.6298780382984708},{x:.21154775445201235,y:.5622620382984707},{x:.21040795156345282,y:.5598669918310725},{x:.2090838723444427,y:.5575686854051248},{x:.17852187234444272,y:.48994968540512485},{x:.17757135012625538,y:.48714095747585867},{x:.17644166886939822,y:.4843993766680373},{x:.1560666688693982,y:.4167833766680374},{x:.15553533856931018,y:.4140862136984408},{x:.15480557779123924,y:.4114358459543075},{x:.14461857779123924,y:.3522718459543075},{x:.14438345368873493,y:.3490270611669966},{x:.14398102471397584,y:.3457987547100726},{x:.14406527252602844,y:.3446360634540339},{x:.14398102142772873,y:.343473372436119}]],")":[[{x:.14397318426833106,y:-.07029507246942218},{x:.14499457536346808,y:-.07905728535189037},{x:.14770576364792798,y:-.08745187125312004},{x:.1520025596763909,y:-.09515623094466495},{x:.15771983998715397,y:-.10187429020423372},{x:.16463789270416226,y:-.10734787778201214},{x:.1724908609411899,y:-.11136664677700951},{x:.18097695953288315,y:-.11377615815049966},{x:.1897700724694222,y:-.11448381573166892},{x:.19853228535189038,y:-.11346242463653189},{x:.20692687125312006,y:-.11075123635207199},{x:.21463123094466496,y:-.10645444032360907},{x:.22134929020423375,y:-.10073716001284601},{x:.2620992902042337,y:-.05850416001284604},{x:.2633660586938147,y:-.05690309470300352},{x:.26479468609075496,y:-.05544462417080616},{x:.30554468609075497,y:-.004730624170806122},{x:.3064541047100432,y:-.003338648753719708},{x:.307526891803669,y:-.002068307996824087},{x:.348273891803669,y:.05709569200317591},{x:.3489362195699084,y:.058293979727073175},{x:.3497544895549002,y:.059391707275619196},{x:.39050548955490016,y:.12700770727561922},{x:.39164563057902163,y:.12940326331913213},{x:.3929700247860732,y:.13170208699588917},{x:.42353202478607316,y:.19932008699588913},{x:.4244827292530259,y:.20212930210713742},{x:.4256125601984483,y:.2048713835354543},{x:.4459865601984483,y:.27248838353545435},{x:.4465177787005257,y:.27518522990297933},{x:.4472474437906494,y:.27783527938992064},{x:.4574344437906494,y:.33700027938992067},{x:.45766955872204595,y:.3402450648417768},{x:.4580719785722712,y:.34347337243611903},{x:.45798772747397154,y:.3446360634540339},{x:.4580719752860241,y:.3457987547100726},{x:.45766954631126505,y:.34902706116699656},{x:.45743442220876074,y:.3522718459543075},{x:.44724742220876074,y:.4114358459543075},{x:.4465177421348676,y:.414085920594514},{x:.44598650715958776,y:.4167827924880124},{x:.42561250715958776,y:.4843987924880123},{x:.42448274729464536,y:.48714066960378194},{x:.42353212765555726,y:.48994968540512485},{x:.3929701276555573,y:.5575686854051248},{x:.39164568407140216,y:.5598676242877579},{x:.39050548955490016,y:.5622632927243807},{x:.3497544895549002,y:.6298792927243808},{x:.3489363257182038,y:.6309768778726063},{x:.34827409333092635,y:.6321750153799588},{x:.3075270933309263,y:.6913400153799587},{x:.3064542017711834,y:.692610500189881},{x:.30554468609075497,y:.6940026241708062},{x:.26479468609075496,y:.7447166241708062},{x:.26337089070969094,y:.7461701617493295},{x:.2621088975405431,y:.7477661999757953},{x:.2213588975405431,y:.7900251999757952},{x:.21464259678553657,y:.7957445459642117},{x:.20693955881566328,y:.8000437110461325},{x:.19854580706019195,y:.8027574807184589},{x:.1897839086918151,y:.803781566334583},{x:.1809905785511003,y:.8030766128585909},{x:.17250373938399882,y:.8006697112572226},{x:.16464953566022822,y:.7966533574092127},{x:.15772980002420467,y:.791181897540543},{x:.15201045403578817,y:.7844655967855365},{x:.14771128895386743,y:.7767625588156633},{x:.14499751928154103,y:.7683688070601918},{x:.14397343366541698,y:.759606908691815},{x:.14467838714140904,y:.7508135785511002},{x:.14708528874277732,y:.7423267393839987},{x:.1511016425907872,y:.7344725356602282},{x:.15657310245945688,y:.7275528000242046},{x:.19591129092993145,y:.6867578918874246},{x:.23434697314436972,y:.6389240958672278},{x:.27337685298529213,y:.5822523693404118},{x:.3120516621801016,y:.518081284004684},{x:.34029647741491703,y:.4555890988936643},{x:.35901954136421654,y:.39345212569273014},{x:.36742483055696995,y:.344635935469891},{x:.359019507292604,y:.29581872226323463},{x:.3402964755778617,y:.23368093707349602},{x:.3120517268674457,y:.17118982332763816},{x:.27337694476991303,y:.10701878295300266},{x:.23434708457036935,y:.05034804280413771},{x:.1959156338111051,y:.0025195128948044543},{x:.15658270979576625,y:-.03824483998715393},{x:.1511091222179878,y:-.045162892704162266},{x:.14709035322299047,y:-.053015860941189874},{x:.1446808418495003,y:-.06150195953288312},{x:.14397318426833106,y:-.07029507246942218}]],"*":[[{x:.03611444520266741,y:.4654782574484574},{x:.03652686631141767,y:.45666636076295464},{x:.038650478626155074,y:.4481042415682919},{x:.04240367291655979,y:.4401209373034283},{x:.04764221603086716,y:.4330232418741738},{x:.05416479369500318,y:.42708391573544136},{x:.06172074690723879,y:.42253120385992987},{x:.07001970462305517,y:.4195400644118251},{x:.0787427425515426,y:.41822544520266736},{x:.08755463923704532,y:.41863786631141764},{x:.09611675843170807,y:.42076147862615504},{x:.25602600000000003,y:.47756000598755177},{x:.25602600000000003,y:.31805799999999995},{x:.25689066238185465,y:.30927893550927416},{x:.2594514210369921,y:.30083724554357094},{x:.2636098674463855,y:.29305733951411783},{x:.26920619484660535,y:.2862381948466053},{x:.27602533951411795,y:.2806418674463854},{x:.283805245543571,y:.276483421036992},{x:.2922469355092743,y:.2739226623818546},{x:.301026,y:.27305799999999997},{x:.3098050644907258,y:.2739226623818546},{x:.3182467544564291,y:.276483421036992},{x:.32602666048588214,y:.2806418674463854},{x:.3328458051533947,y:.2862381948466053},{x:.33844213255361455,y:.29305733951411783},{x:.34260057896300794,y:.30083724554357094},{x:.3451613376181454,y:.30927893550927416},{x:.346026,y:.31805799999999995},{x:.346026,y:.47756000598755177},{x:.505935241568292,y:.42076147862615504},{x:.5144973607629547,y:.41863786631141764},{x:.5233092574484575,y:.41822544520266736},{x:.5320322953769449,y:.4195400644118251},{x:.5403312530927612,y:.42253120385992987},{x:.5478872063049969,y:.42708391573544136},{x:.5544097839691329,y:.4330232418741738},{x:.5596483270834403,y:.4401209373034283},{x:.5634015213738449,y:.4481042415682919},{x:.5655251336885824,y:.45666636076295464},{x:.5659375547973327,y:.4654782574484574},{x:.5646229355881749,y:.4742012953769448},{x:.5616317961400701,y:.4825002530927612},{x:.5570790842645587,y:.4900562063049968},{x:.5511397581258262,y:.4965787839691328},{x:.5440420626965717,y:.5018173270834402},{x:.5360587584317081,y:.5055705213738448},{x:.37146215609131306,y:.5640339630732496},{x:.47696549129035026,y:.7165911114148321},{x:.48124783600971727,y:.7243035129909579},{x:.48394328176908086,y:.732703166943666},{x:.4849482440995321,y:.7414672792821342},{x:.48422410286230105,y:.7502590500841659},{x:.48179868639903156,y:.758740616528321},{x:.47776520210421775,y:.7665860367726678},{x:.4722786545173053,y:.7734938157169785},{x:.4655498885851679,y:.7791984912903502},{x:.45783748700904214,y:.7834808360097172},{x:.449437833056334,y:.7861762817690807},{x:.4406737207178658,y:.7871812440995319},{x:.431881949915834,y:.786457102862301},{x:.4234003834716789,y:.7840316863990314},{x:.4155549632273321,y:.7799982021042177},{x:.40864718428302144,y:.7745116545173052},{x:.40294250870964976,y:.7677828885851677},{x:.301026,y:.6204122684209616},{x:.19910949129035027,y:.7677828885851677},{x:.19340481571697854,y:.7745116545173052},{x:.18649703677266788,y:.7799982021042177},{x:.17865161652832107,y:.7840316863990314},{x:.17017005008416597,y:.786457102862301},{x:.1613782792821342,y:.7871812440995319},{x:.15261416694366597,y:.7861762817690807},{x:.14421451299095783,y:.7834808360097172},{x:.13650211141483212,y:.7791984912903502},{x:.12977334548269473,y:.7734938157169785},{x:.12428679789578226,y:.7665860367726678},{x:.12025331360096844,y:.758740616528321},{x:.11782789713769894,y:.7502590500841659},{x:.11710375590046794,y:.7414672792821342},{x:.11810871823091917,y:.732703166943666},{x:.12080416399028275,y:.7243035129909579},{x:.1250865087096497,y:.7165911114148321},{x:.23058984390868703,y:.5640339630732496},{x:.06599324156829194,y:.5055705213738448},{x:.058009937303428294,y:.5018173270834402},{x:.05091224187417384,y:.4965787839691328},{x:.04497291573544139,y:.4900562063049968},{x:.04042020385992993,y:.4825002530927612},{x:.03742906441182516,y:.4742012953769448},{x:.03611444520266741,y:.4654782574484574}]],"+":[[{x:-.002030999999999998,y:.33155},{x:-.0011663376181453647,y:.3227709355092742},{x:.0013944210369920967,y:.314329245543571},{x:.005552867446385459,y:.3065493395141179},{x:.011149194846605363,y:.29973019484660535},{x:.017968339514117915,y:.2941338674463855},{x:.025748245543570962,y:.2899754210369921},{x:.03418993550927423,y:.28741466238185465},{x:.042969,y:.28655},{x:.256023,y:.28655},{x:.256023,y:.09133899999999995},{x:.2568876623818546,y:.08255993550927418},{x:.25944842103699206,y:.07411824554357091},{x:.26360686744638545,y:.06633833951411786},{x:.2692031948466054,y:.05951919484660531},{x:.2760223395141179,y:.053922867446385414},{x:.2838022455435709,y:.049764421036992045},{x:.2922439355092742,y:.04720366238185458},{x:.301023,y:.04633899999999995},{x:.3098020644907258,y:.04720366238185458},{x:.31824375445642905,y:.049764421036992045},{x:.3260236604858821,y:.053922867446385414},{x:.3328428051533946,y:.05951919484660531},{x:.3384391325536145,y:.06633833951411786},{x:.3425975789630079,y:.07411824554357091},{x:.34515833761814535,y:.08255993550927418},{x:.34602299999999997,y:.09133899999999995},{x:.34602299999999997,y:.28655},{x:.559083,y:.28655},{x:.5678620644907257,y:.28741466238185465},{x:.576303754456429,y:.2899754210369921},{x:.5840836604858821,y:.2941338674463855},{x:.5909028051533947,y:.29973019484660535},{x:.5964991325536145,y:.3065493395141179},{x:.6006575789630079,y:.314329245543571},{x:.6032183376181454,y:.3227709355092742},{x:.604083,y:.33155},{x:.6032183376181454,y:.3403290644907258},{x:.6006575789630079,y:.348770754456429},{x:.5964991325536145,y:.35655066048588213},{x:.5909028051533947,y:.3633698051533947},{x:.5840836604858821,y:.36896613255361455},{x:.576303754456429,y:.37312457896300794},{x:.5678620644907257,y:.3756853376181454},{x:.559083,y:.37655},{x:.34602299999999997,y:.37655},{x:.34602299999999997,y:.571777},{x:.34515833761814535,y:.5805560644907257},{x:.3425975789630079,y:.588997754456429},{x:.3384391325536145,y:.5967776604858821},{x:.3328428051533946,y:.6035968051533946},{x:.3260236604858821,y:.6091931325536145},{x:.31824375445642905,y:.6133515789630078},{x:.3098020644907258,y:.6159123376181453},{x:.301023,y:.616777},{x:.2922439355092742,y:.6159123376181453},{x:.2838022455435709,y:.6133515789630078},{x:.2760223395141179,y:.6091931325536145},{x:.2692031948466054,y:.6035968051533946},{x:.26360686744638545,y:.5967776604858821},{x:.25944842103699206,y:.588997754456429},{x:.2568876623818546,y:.5805560644907257},{x:.256023,y:.571777},{x:.256023,y:.37655},{x:.042969,y:.37655},{x:.03418993550927421,y:.3756853376181454},{x:.025748245543570934,y:.37312457896300794},{x:.017968339514117904,y:.36896613255361455},{x:.011149194846605356,y:.3633698051533947},{x:.005552867446385459,y:.35655066048588213},{x:.0013944210369920967,y:.348770754456429},{x:-.0011663376181453647,y:.3403290644907258},{x:-.002030999999999998,y:.33155}]],",":[[{x:.1703425796668749,y:-.03158948169003215},{x:.1707557440557006,y:-.035050650253961146},{x:.17102563140319493,y:-.03852592771911176},{x:.17127771326913271,y:-.039423300660751795},{x:.17138819577001116,y:-.0403488367651378},{x:.1724686618106471,y:-.0436628955719719},{x:.1734113563482083,y:-.04701874414557815},{x:.1738336633079298,y:-.04784969558537063},{x:.17412258605517572,y:-.048735893706360625},{x:.1758288320436127,y:-.05177548533469908},{x:.17740810654883146,y:-.054882941638058576},{x:.177984409582707,y:-.05561553857817519},{x:.17844066943717352,y:-.05642834261896521},{x:.18070712529694977,y:-.05907665726715373},{x:.18286228913625774,y:-.06181630349720979},{x:.26855428913625773,y:-.1511263034972098},{x:.27525630293239317,y:-.15686238451505874},{x:.2829485933055849,y:-.16118075031492074},{x:.2913355498506774,y:-.16391544852087458},{x:.3000948665311021,y:-.16496138621450188},{x:.3088899277191117,y:-.1642783685968051},{x:.3173827441455781,y:-.16189264365179173},{x:.3252469416380585,y:-.15789589345116858},{x:.33218030349720973,y:-.1524417108637423},{x:.3379163845150587,y:-.14573969706760687},{x:.3422347503149207,y:-.13804740669441512},{x:.3449694485208745,y:-.12966045014932262},{x:.3460153862145018,y:-.12090113346889794},{x:.34533236859680505,y:-.11210607228088836},{x:.34294664365179167,y:-.10361325585442197},{x:.33894989345116855,y:-.09574905836194152},{x:.33349571086374225,y:-.08881569650279031},{x:.277697993368333,y:-.03066214483501502},{x:.41918956700521515,y:.11679250439324337},{x:.42464400414059766,y:.12372566600271688},{x:.42864104306488354,y:.1315897167531037},{x:.43102707981377775,y:.14008244558427704},{x:.4317104203331251,y:.14887748169003212},{x:.4306648042299889,y:.15763683676513773},{x:.4279304139448243,y:.1660238937063606},{x:.4236123305628265,y:.17371634261896518},{x:.41787649560675666,y:.1804185670052151},{x:.41094333399728317,y:.18587300414059763},{x:.4030792832468963,y:.18987004306488353},{x:.39458655441572293,y:.19225607981377774},{x:.3857915183099679,y:.19293942033312508},{x:.37703216323486227,y:.19189380422998883},{x:.36864510629363945,y:.18915941394482427},{x:.3609526573810348,y:.18484133056282648},{x:.35425043299478487,y:.17910549560675662},{x:.18286343299478489,y:.000495495606756581},{x:.18070816857348473,y:-.0022440714967103576},{x:.1784416154849413,y:-.004892302932393237},{x:.17798532578947307,y:-.005705090221499034},{x:.17740899585940237,y:-.006437666002716908},{x:.1758296072680145,y:-.009545064322455634},{x:.1741232496850793,y:-.012584593305585},{x:.17383429440212667,y:-.013470780818460306},{x:.1734119569351165,y:-.014301716753103766},{x:.1724691391914766,y:-.01765753071433596},{x:.17138855147912546,y:-.02097154985067746},{x:.17127803499816427,y:-.02189708189818214},{x:.17102592018622226,y:-.022794445584277102},{x:.17075590524748027,y:-.02626971313843455},{x:.17034261378549817,y:-.029730866531102167},{x:.17041478319291342,y:-.03066017543569507},{x:.1703425796668749,y:-.03158948169003215}]],"-":[[{x:.12882900000000003,y:.31396500000000005},{x:.12969366238185465,y:.30518593550927425},{x:.13225442103699211,y:.29674424554357104},{x:.13641286744638548,y:.28896433951411793},{x:.14200919484660537,y:.2821451948466054},{x:.14882833951411792,y:.2765488674463855},{x:.15660824554357097,y:.2723904210369921},{x:.16504993550927424,y:.2698296623818547},{x:.173829,y:.26896500000000007},{x:.428224,y:.26896500000000007},{x:.4370030644907258,y:.2698296623818547},{x:.44544475445642906,y:.2723904210369921},{x:.4532246604858821,y:.2765488674463855},{x:.4600438051533946,y:.2821451948466054},{x:.4656401325536145,y:.28896433951411793},{x:.4697985789630079,y:.29674424554357104},{x:.47235933761814536,y:.30518593550927425},{x:.473224,y:.31396500000000005},{x:.47235933761814536,y:.32274406449072585},{x:.4697985789630079,y:.33118575445642906},{x:.4656401325536145,y:.33896566048588217},{x:.4600438051533946,y:.3457848051533947},{x:.4532246604858821,y:.3513811325536146},{x:.44544475445642906,y:.355539578963008},{x:.4370030644907258,y:.3581003376181454},{x:.428224,y:.35896500000000003},{x:.173829,y:.35896500000000003},{x:.16504993550927424,y:.3581003376181454},{x:.15660824554357097,y:.355539578963008},{x:.14882833951411792,y:.3513811325536146},{x:.14200919484660537,y:.3457848051533947},{x:.13641286744638548,y:.33896566048588217},{x:.13225442103699211,y:.33118575445642906},{x:.12969366238185465,y:.32274406449072585},{x:.12882900000000003,y:.31396500000000005}]],".":[[{x:.19450299999999998,y:.148926},{x:.19536766238185463,y:.14014693550927423},{x:.1979284210369921,y:.13170524554357096},{x:.20208686744638546,y:.12392533951411791},{x:.20768319484660536,y:.11710619484660537},{x:.2145023395141179,y:.11150986744638547},{x:.22228224554357093,y:.1073514210369921},{x:.2307239355092742,y:.10479066238185464},{x:.239503,y:.103926},{x:.362549,y:.103926},{x:.3713280644907258,y:.10479066238185464},{x:.3797697544564291,y:.1073514210369921},{x:.38754966048588213,y:.11150986744638547},{x:.3943688051533947,y:.11710619484660537},{x:.39996513255361454,y:.12392533951411791},{x:.40412357896300793,y:.13170524554357096},{x:.4066843376181454,y:.14014693550927423},{x:.407549,y:.148926},{x:.4066843376181454,y:.1577050644907258},{x:.40412357896300793,y:.16614675445642904},{x:.39996513255361454,y:.1739266604858821},{x:.3943688051533947,y:.18074580515339464},{x:.38754966048588213,y:.18634213255361454},{x:.3797697544564291,y:.1905005789630079},{x:.3713280644907258,y:.19306133761814537},{x:.362549,y:.193926},{x:.239503,y:.193926},{x:.2307239355092742,y:.19306133761814537},{x:.22228224554357093,y:.1905005789630079},{x:.2145023395141179,y:.18634213255361454},{x:.20768319484660536,y:.18074580515339464},{x:.20208686744638546,y:.1739266604858821},{x:.1979284210369921,y:.16614675445642904},{x:.19536766238185463,y:.1577050644907258},{x:.19450299999999998,y:.148926}]],"/":[[{x:.017522651058219416,y:-.036644753012328966},{x:.01865919532569161,y:-.04539277458837648},{x:.02148055556003016,y:-.053750976595687026},{x:.02587830846966649,y:-.06139815801845333},{x:.031683450876571484,y:-.06804044196318723},{x:.038672894413609195,y:-.07342256918292836},{x:.04657803868537635,y:-.0773377075469538},{x:.0550950934307649,y:-.07963540048356893},{x:.0638967530123289,y:-.08022734894178067},{x:.07264477458837641,y:-.07909080467430848},{x:.08100297659568695,y:-.07626944443996993},{x:.08865015801845323,y:-.0718716915303336},{x:.09529244196318715,y:-.0660665491234286},{x:.10067456918292828,y:-.059077105586390885},{x:.5777245691829282,y:.7051758944136092},{x:.5816397075469537,y:.7130810386853763},{x:.5839374004835688,y:.7215980934307649},{x:.5845293489417805,y:.7303997530123288},{x:.5833928046743084,y:.7391477745883763},{x:.5805714444399699,y:.747505976595687},{x:.5761736915303335,y:.7551531580184532},{x:.5703685491234285,y:.7617954419631872},{x:.5633791055863908,y:.7671775691829282},{x:.5554739613146237,y:.7710927075469537},{x:.5469569065692351,y:.7733904004835688},{x:.5381552469876711,y:.7739823489417805},{x:.5294072254116237,y:.7728458046743084},{x:.521049023404313,y:.7700244444399699},{x:.5134018419815468,y:.7656266915303335},{x:.5067595580368128,y:.7598215491234285},{x:.5013774308170718,y:.7528321055863908},{x:.024327430817071727,y:-.011420894413609283},{x:.020412292453046287,y:-.019326038685376436},{x:.018114599516431164,y:-.027843093430764996},{x:.017522651058219416,y:-.036644753012328966}]],"<":[[{x:-.002019645490236678,y:.32959917016575135},{x:-.0016099914284145765,y:.3262199732716625},{x:-.0013526191024594778,y:.3228257800560043},{x:-.001080072865731869,y:.3218487260950263},{x:-.0009579981642362373,y:.3208417436418168},{x:.00010303311987996846,y:.3176073966113462},{x:.0010176343561875828,y:.3143286327165328},{x:.0014755574652736251,y:.31342352370653337},{x:.001791739066671412,y:.3124597057316259},{x:.003463372735866293,y:.309494502707312},{x:.00500005526992945,y:.3064571691910689},{x:.005625757523098081,y:.30565878796371126},{x:.0061238953427729045,y:.3047751734513664},{x:.008341891452602095,y:.3021930655225286},{x:.010441601436418424,y:.2995138854085287},{x:.011211037446978121,y:.298852913306643},{x:.011871988327878901,y:.29808345906703315},{x:.014551110531708777,y:.29598367519331337},{x:.017133157288130564,y:.2937656078708368},{x:.01801675806170013,y:.2932674456816211},{x:.018815122032139454,y:.29264172140965955},{x:.021852413166145952,y:.29110495510775264},{x:.024817570086352318,y:.28943323966009543},{x:.5409315700863523,y:.06192123966009548},{x:.5493135321567164,y:.059171271257023414},{x:.5580709293975171,y:.05810938240515066},{x:.5668672199439956,y:.058776380897540545},{x:.5753643672834672,y:.061146634356187606},{x:.583235830808931,y:.06512905526992949},{x:.5901791145914712,y:.07057060143641844},{x:.5959273921291632,y:.07726215728813057},{x:.6002597603399046,y:.08494657008635234},{x:.6030097287429766,y:.09332853215671641},{x:.6040716175948494,y:.10208592939751719},{x:.6034046191024595,y:.11088221994399564},{x:.6010343656438124,y:.11937936728346718},{x:.5970519447300705,y:.12725083080893104},{x:.5916103985635816,y:.13419411459147126},{x:.5849188427118694,y:.1399423921291632},{x:.5772344299136477,y:.14427476033990455},{x:.15453394878652635,y:.33060846154195217},{x:.577233294268374,y:.5169277390666714},{x:.5849178265486336,y:.521259895342773},{x:.5916095409329668,y:.527007988327879},{x:.5970512785903404,y:.5339511220321395},{x:.6010339165943431,y:.5418224757210541},{x:.6034044043999703,y:.5503195576866639},{x:.6040716454902366,y:.5591158298342486},{x:.6030099981642363,y:.5678732563581832},{x:.6002602609333286,y:.5762552942683741},{x:.5959281046572271,y:.5839398265486336},{x:.5901800116721211,y:.5906315409329669},{x:.5832368779678606,y:.5960732785903404},{x:.5753655242789459,y:.6000559165943432},{x:.5668684423133362,y:.6024264043999704},{x:.5580721701657515,y:.6030936454902367},{x:.5493147436418169,y:.6020319981642364},{x:.540932705731626,y:.5992822609333287},{x:.024818705731625975,y:.37178726093332853},{x:.02185350270731245,y:.3701156272641339},{x:.018816169191068974,y:.3685789447300705},{x:.01801778796371134,y:.36795324247690187},{x:.01713417345136639,y:.367455104657227},{x:.01455206552252819,y:.3652371085473975},{x:.011872885408528756,y:.3631373985635815},{x:.011211913306643135,y:.3623679625530219},{x:.010442459067033207,y:.36170701167212105},{x:.008342675193313383,y:.3590278894682912},{x:.006124607870836803,y:.3564458427118694},{x:.005626445681621026,y:.3555622419382997},{x:.005000721409659611,y:.3547638779678605},{x:.0034639551077528313,y:.3517265868338544},{x:.0017922396600954515,y:.3487614299136476},{x:.0014760314771086122,y:.3477976206592673},{x:.0010180834056568513,y:.3468925242789459},{x:.00010339174271701993,y:.34361378560971106},{x:-.0009577287429766018,y:.3403794678432836},{x:-.0010798312165939596,y:.33937248875722786},{x:-.0013524043999703778,y:.33839544231333624},{x:-.001609870336301571,y:.33500125619719334},{x:-.0020196175948493655,y:.3316220706024828},{x:-.001942922029511974,y:.3306106193263084},{x:-.002019645490236678,y:.32959917016575135}]],"=":[[{x:-.002030999999999998,y:.19162999999999997},{x:-.0011663376181453647,y:.1828509355092742},{x:.0013944210369920967,y:.17440924554357093},{x:.005552867446385459,y:.16662933951411787},{x:.011149194846605363,y:.15981019484660533},{x:.017968339514117915,y:.15421386744638543},{x:.025748245543570962,y:.15005542103699207},{x:.03418993550927423,y:.1474946623818546},{x:.042969,y:.14662999999999998},{x:.559083,y:.14662999999999998},{x:.5678620644907257,y:.1474946623818546},{x:.576303754456429,y:.15005542103699207},{x:.5840836604858821,y:.15421386744638543},{x:.5909028051533947,y:.15981019484660533},{x:.5964991325536145,y:.16662933951411787},{x:.6006575789630079,y:.17440924554357093},{x:.6032183376181454,y:.1828509355092742},{x:.604083,y:.19162999999999997},{x:.6032183376181454,y:.20040906449072574},{x:.6006575789630079,y:.208850754456429},{x:.5964991325536145,y:.21663066048588206},{x:.5909028051533947,y:.2234498051533946},{x:.5840836604858821,y:.2290461325536145},{x:.576303754456429,y:.23320457896300786},{x:.5678620644907257,y:.23576533761814533},{x:.559083,y:.23662999999999995},{x:.042969,y:.23662999999999995},{x:.03418993550927421,y:.23576533761814533},{x:.025748245543570934,y:.23320457896300786},{x:.017968339514117904,y:.2290461325536145},{x:.011149194846605356,y:.2234498051533946},{x:.005552867446385459,y:.21663066048588206},{x:.0013944210369920967,y:.208850754456429},{x:-.0011663376181453647,y:.20040906449072574},{x:-.002030999999999998,y:.19162999999999997}],[{x:-.002030999999999998,y:.454102},{x:-.0011663376181453647,y:.4453229355092742},{x:.0013944210369920967,y:.436881245543571},{x:.005552867446385459,y:.4291013395141179},{x:.011149194846605363,y:.42228219484660534},{x:.017968339514117915,y:.41668586744638547},{x:.025748245543570962,y:.4125274210369921},{x:.03418993550927423,y:.40996666238185464},{x:.042969,y:.409102},{x:.559083,y:.409102},{x:.5678620644907257,y:.40996666238185464},{x:.576303754456429,y:.4125274210369921},{x:.5840836604858821,y:.41668586744638547},{x:.5909028051533947,y:.42228219484660534},{x:.5964991325536145,y:.4291013395141179},{x:.6006575789630079,y:.436881245543571},{x:.6032183376181454,y:.4453229355092742},{x:.604083,y:.454102},{x:.6032183376181454,y:.4628810644907258},{x:.6006575789630079,y:.471322754456429},{x:.5964991325536145,y:.4791026604858821},{x:.5909028051533947,y:.48592180515339467},{x:.5840836604858821,y:.49151813255361454},{x:.576303754456429,y:.49567657896300793},{x:.5678620644907257,y:.49823733761814537},{x:.559083,y:.499102},{x:.042969,y:.499102},{x:.03418993550927421,y:.49823733761814537},{x:.025748245543570934,y:.49567657896300793},{x:.017968339514117904,y:.49151813255361454},{x:.011149194846605356,y:.48592180515339467},{x:.005552867446385459,y:.4791026604858821},{x:.0013944210369920967,y:.471322754456429},{x:-.0011663376181453647,y:.4628810644907258},{x:-.002030999999999998,y:.454102}]],">":[[{x:-.002019645490236678,y:.5591158298342487},{x:-.0013524043999703708,y:.5503195576866637},{x:.0010180834056568513,y:.5418224757210541},{x:.005000721409659611,y:.5339511220321396},{x:.01044245906703322,y:.527007988327879},{x:.01713417345136643,y:.521259895342773},{x:.024818705731625975,y:.5169277390666714},{x:.44751805121347366,y:.33060846154195217},{x:.024817570086352318,y:.14427476033990455},{x:.017133157288130554,y:.1399423921291632},{x:.01044160143641841,y:.13419411459147126},{x:.00500005526992945,y:.12725083080893107},{x:.0010176343561875828,y:.11937936728346718},{x:-.0013526191024594778,y:.11088221994399562},{x:-.0020196175948493655,y:.10208592939751718},{x:-.0009577287429766018,y:.0933285321567164},{x:.0017922396600954585,y:.08494657008635234},{x:.00612460787083681,y:.07726215728813059},{x:.011872885408528759,y:.07057060143641844},{x:.018816169191068984,y:.06512905526992947},{x:.02668763271653284,y:.061146634356187606},{x:.03518478005600438,y:.058776380897540545},{x:.04398107060248284,y:.05810938240515066},{x:.052738467843283614,y:.05917127125702342},{x:.06112042991364768,y:.06192123966009548},{x:.5772344299136477,y:.28943323966009543},{x:.5801995868338548,y:.29110495510775297},{x:.5832368779678606,y:.2926417214096596},{x:.5840352419382998,y:.29326744568162105},{x:.5849188427118694,y:.2937656078708368},{x:.5875008894682915,y:.29598367519331353},{x:.5901800116721211,y:.29808345906703315},{x:.5908409625530218,y:.2988529133066429},{x:.5916103985635817,y:.29951388540852875},{x:.5937101085473976,y:.3021930655225282},{x:.5959281046572271,y:.3047751734513664},{x:.5964262424769022,y:.30565878796371176},{x:.5970519447300705,y:.30645716919106897},{x:.5985886272641329,y:.3094945027073105},{x:.6002602609333286,y:.31245970573162596},{x:.6005764425347265,y:.31342352370653376},{x:.6010343656438124,y:.31432863271653283},{x:.6019489668801197,y:.31760739661134507},{x:.6030099981642363,y:.32084174364181683},{x:.6031320728657319,y:.3218487260950267},{x:.6034046191024595,y:.3228257800560044},{x:.6036619914284146,y:.3262199732716634},{x:.6040716454902366,y:.32959917016575135},{x:.603994922029512,y:.330610619326308},{x:.6040716175948494,y:.33162207060248283},{x:.6036618703363014,y:.3350012561971954},{x:.6034044043999703,y:.33839544231333624},{x:.6031318312165941,y:.33937248875722736},{x:.6030097287429766,y:.3403794678432836},{x:.6019486082572825,y:.3436137856097129},{x:.6010339165943431,y:.3468925242789459},{x:.6005759685228916,y:.3477976206592668},{x:.6002597603399046,y:.34876142991364767},{x:.5985880448922466,y:.3517265868338553},{x:.5970512785903404,y:.3547638779678605},{x:.596425554318379,y:.35556224193829966},{x:.5959273921291631,y:.35644584271186947},{x:.5937093248066866,y:.3590278894682911},{x:.5916095409329668,y:.36170701167212105},{x:.5908400866933569,y:.3623679625530219},{x:.5901791145914712,y:.36313739856358157},{x:.5874999344774714,y:.3652371085473978},{x:.5849178265486336,y:.367455104657227},{x:.5840342120362888,y:.36795324247690175},{x:.583235830808931,y:.3685789447300705},{x:.5801984972926872,y:.37011562726413405},{x:.577233294268374,y:.37178726093332853},{x:.06111929426837402,y:.5992822609333287},{x:.05273725635818315,y:.6020319981642364},{x:.04397982983424857,y:.6030936454902367},{x:.035183557686663716,y:.6024264043999704},{x:.02668647572105406,y:.6000559165943432},{x:.018815122032139416,y:.5960732785903404},{x:.011871988327878898,y:.5906315409329669},{x:.006123895342772898,y:.5839398265486336},{x:.001791739066671405,y:.5762552942683741},{x:-.0009579981642362442,y:.5678732563581832},{x:-.002019645490236678,y:.5591158298342487}]],A:[[{x:-.026930267425517032,y:.05053409251215203},{x:-.025968910797820398,y:.041765089843587025},{x:-.02331527881378681,y:.03335213247651147},{x:-.019071349062388714,y:.025618525644501258},{x:-.013400213383949137,y:.018861467521053887},{x:-.006519810342180955,y:.013340628060451547},{x:.0013054500325951415,y:.009268170027042777},{x:.009774847372633092,y:.006800595699190677},{x:.018562907487847988,y:.006032732574482988},{x:.02733191015641301,y:.006994089202179622},{x:.035744867523488544,y:.00964772118621321},{x:.043478474355498745,y:.013891650937611293},{x:.05023553247894613,y:.019562786616050876},{x:.055756371939548466,y:.02644318965781906},{x:.05982882997295724,y:.03426845003259516},{x:.15465984441872488,y:.2705423452957767},{x:.155303,y:.27047899999999997},{x:.433548,y:.27047899999999997},{x:.439584057854266,y:.2710734998088117},{x:.5426964027293978,y:.03313672871631684},{x:.5469805748198717,y:.025425342079263714},{x:.5526868446471364,y:.018697928086846893},{x:.559595923461843,y:.013213017486017727},{x:.5674422992397985,y:.009181392315192764},{x:.5759244401601543,y:.006757985668725375},{x:.5847163823041805,y:.006035927704977205},{x:.5934802562658602,y:.007042966706560308},{x:.6018792712836831,y:.009740402729397836},{x:.6095906579207363,y:.01402457481987169},{x:.6163180719131531,y:.019730844647136342},{x:.6218029825139822,y:.026639923461843008},{x:.6258346076848073,y:.03448629923979854},{x:.6282580143312746,y:.042968440160154345},{x:.6289800722950228,y:.05176038230418057},{x:.6279730332934397,y:.060524256265860256},{x:.6252755972706022,y:.0689232712836832},{x:.3314685972706022,y:.7468972712836831},{x:.3293831787279993,y:.7506509647260751},{x:.32731734906238874,y:.7544154743554987},{x:.32724162770964893,y:.7545056950115825},{x:.32718442518012836,y:.7546086579207363},{x:.324406768107635,y:.7578833802211685},{x:.32164621338394916,y:.7611725324789461},{x:.3215543458189217,y:.761246247067332},{x:.32147815535286367,y:.7613360719131531},{x:.3181150035540548,y:.764005977330098},{x:.314765810342181,y:.7666933719395485},{x:.31466132698386995,y:.7667477476499444},{x:.314569076538157,y:.7668209825139822},{x:.31074967405057474,y:.7687834680795742},{x:.3069405499674049,y:.7707658299729572},{x:.30682746605267575,y:.7707987771773066},{x:.30672270076020147,y:.7708526076848072},{x:.3025938250794972,y:.7720322561793334},{x:.29847115262736695,y:.7732334043008093},{x:.2983538139076442,y:.7732436568565263},{x:.29824055983984565,y:.7732760143312747},{x:.29396088134293,y:.7736274925246428},{x:.289683092512152,y:.774001267425517},{x:.28956600824863027,y:.7739884313326351},{x:.2894486176958195,y:.7739980722950228},{x:.2851826020272766,y:.773507873077374},{x:.280914089843587,y:.7730399107978204},{x:.2808017595188513,y:.7730044793401902},{x:.28068474373413976,y:.7729910332934397},{x:.2765963314836881,y:.7716779947458032},{x:.2725011324765115,y:.7703862788137869},{x:.27239787288194656,y:.7703296136024552},{x:.27228572871631684,y:.7702935972706022},{x:.26853203527393116,y:.7682081787280027},{x:.2647675256445013,y:.7661423490623888},{x:.26467730498841713,y:.7660666277096486},{x:.2645743420792637,y:.7660094251801283},{x:.2612996197788366,y:.7632317681076393},{x:.2580104675210539,y:.7604712133839491},{x:.2579367529326681,y:.7603793458189217},{x:.2578469280868469,y:.7603031553528636},{x:.25517702266989234,y:.7569400035540427},{x:.25248962806045155,y:.7535908103421809},{x:.2524352523500559,y:.7534863269838704},{x:.2523620174860177,y:.753394076538157},{x:.2503995319204231,y:.7495746740505695},{x:.24841717002704278,y:.7457655499674049},{x:-.023694829972957243,y:.06779154996740488},{x:-.026162404300809343,y:.05932215262736691},{x:-.026930267425517032,y:.05053409251215203}],[{x:.19075686729109992,y:.36047899999999994},{x:.2917712201653896,y:.6121588409316518},{x:.4008392655839541,y:.36047899999999994},{x:.19075686729109992,y:.36047899999999994}]],B:[[{x:.018964999999999996,y:.05103000000000002},{x:.018993157630992935,y:.05074411077481729},{x:.01896863696544404,y:.050457886669927884},{x:.019425235762019696,y:.046357147889743},{x:.01982966238185463,y:.04225093550927423},{x:.019913053192865363,y:.04197603284668677},{x:.019944843237820968,y:.04169052471317667},{x:.02119268306568244,y:.037757658485048945},{x:.02239042103699209,y:.03380924554357098},{x:.0225258403659196,y:.03355589379873479},{x:.022612719447780122,y:.03328207355405998},{x:.02460384652213923,y:.029668217721559587},{x:.026548867446385453,y:.026029339514117924},{x:.02673111120436309,y:.02580727485250577},{x:.026869740608734982,y:.025555665255108946},{x:.029527637032761178,y:.022399698271204867},{x:.03214519484660536,y:.019210194846605383},{x:.03236725950821749,y:.019027951088627763},{x:.03255231178483501,y:.01880822135423258},{x:.03577483608951879,y:.016231425260229353},{x:.03896433951411791,y:.013613867446385479},{x:.03921769125895406,y:.013478448117457993},{x:.03944205495260531,y:.013299042336531411},{x:.04310536733612953,y:.011400441961238211},{x:.046744245543570956,y:.009455421036992116},{x:.04701914820615845,y:.009372030225981372},{x:.047274201145921,y:.009239842862072495},{x:.051237522567796415,y:.008092400353164256},{x:.055185935509274225,y:.006894662381854655},{x:.05547182473445692,y:.006866504750861718},{x:.05574776537889109,y:.006786615690234012},{x:.05985878761953148,y:.006434426619834929},{x:.063965,y:.0060300000000000215},{x:.06425088922518268,y:.006058157630992957},{x:.06453711333007213,y:.00603363696544406},{x:.4241221133300721,y:.01060563696544408},{x:.4260098351414485,y:.010815826288282449},{x:.4279092214657345,y:.010813640036582327},{x:.43038314701987823,y:.011302774871886453},{x:.43288947528682337,y:.011581843237821021},{x:.43469991915024053,y:.012156270087817089},{x:.43656323581544765,y:.012524677733968342},{x:.4388942001112364,y:.013487052913568918},{x:.44129792644594007,y:.014249719447780182},{x:.4429615180190356,y:.01516630892323094},{x:.4447171588106798,y:.015891152767997317},{x:.5224141588106799,y:.0573061527679973},{x:.525028554951968,y:.05904868699814221},{x:.5277374225537912,y:.06064039332865708},{x:.5286915199232336,y:.06149010807639827},{x:.529754639763497,y:.06219869339105244},{x:.5319788494519322,y:.06441778869965879},{x:.5343251404217865,y:.06650738469209135},{x:.5350951339540482,y:.06752690757225652},{x:.5359995881074716,y:.06842928201075814},{x:.5377481362120787,y:.07103965980959966},{x:.5396416839038074,y:.07354684346181917},{x:.5707946839038074,y:.12450984346181915},{x:.5718407730360667,y:.12667263757185424},{x:.573076251912317,y:.12873311634664666},{x:.5737567016649755,y:.13063382885667474},{x:.5746357412153917,y:.13245124718509382},{x:.57523978983892,y:.1347765656784282},{x:.576049549867314,y:.13703848290314058},{x:.576346114353134,y:.13903542291661675},{x:.5768537026781452,y:.1409894121704204},{x:.5769924975430949,y:.14338789436140983},{x:.5773454200998597,y:.14576432582559334},{x:.5830324200998597,y:.2611263258255933},{x:.5829003037879823,y:.26382496142481277},{x:.5829742287592172,y:.2665258175697889},{x:.5826851199428378,y:.2682203519457296},{x:.5826010630436497,y:.26993731586400416},{x:.5819450076216034,y:.2725583233230625},{x:.5814906012502021,y:.27522170532098544},{x:.5808764603215925,y:.2768272773619606},{x:.5804590555084463,y:.278494851612457},{x:.5793042728181804,y:.28093750708458076},{x:.5783389976861617,y:.283461062658912},{x:.5774234257367941,y:.284915971131802},{x:.5766887136425759,y:.2864700717712602},{x:.575079581335268,y:.2886405053765124},{x:.5736405324246225,y:.2909272557017569},{x:.5044305324246225,y:.38012925570175693},{x:.5017223718437749,y:.38298983800955333},{x:.499075053174031,y:.3859068173944946},{x:.49869279401231464,y:.38618992769627897},{x:.4983657648506557,y:.38653536283797296},{x:.49515156889241035,y:.38881264393905274},{x:.49198604326106643,y:.39115710813128307},{x:.4915558970220145,y:.39136020348505085},{x:.4911677605809681,y:.39163520096290155},{x:.48757104899345777,y:.3932416662216644},{x:.4840089657752798,y:.3949235187770668},{x:.3737297002329455,y:.43429966367120415},{x:.4408630401939032,y:.4733794631163462},{x:.44336631106573315,y:.475186847643908},{x:.4459719275146733,y:.476843279595192},{x:.4469351296354233,y:.4777635673817196},{x:.4480152047486495,y:.4785433915190981},{x:.45011777274311354,y:.48080441158023823},{x:.45235016915983667,y:.4829373462081214},{x:.4531153243813002,y:.4840278623347861},{x:.4540225100120052,y:.48500341457167107},{x:.4556435746202097,y:.4876311804334344},{x:.4574169612623637,y:.4901586502563309},{x:.45795466509848404,y:.4913774867999537},{x:.45865409861163536,y:.4925112772109775},{x:.4597313632297904,y:.4954048053049642},{x:.460977589843244,y:.49822968107500176},{x:.46126717863714684,y:.4995299988307428},{x:.46173198119508085,y:.5007784564862466},{x:.46222404714804793,y:.5038265501505143},{x:.4628952219429378,y:.5068402734760588},{x:.4768502219429378,y:.6216502734760588},{x:.47694604753136066,y:.6258560133977795},{x:.4770801736029929,y:.6300607061367898},{x:.47704647561686464,y:.6302637547476413},{x:.47705116403527437,y:.6304695272224051},{x:.47632464920624185,y:.6346131496757303},{x:.47563590322258376,y:.6387632171212809},{x:.475563239914934,y:.6389557900590453},{x:.4755276940283349,y:.6391585233384632},{x:.47400675833929046,y:.6430807912362932},{x:.4725216084222428,y:.647016748623825},{x:.4724127722032346,y:.6471914454185},{x:.4723383580201142,y:.6473833485763381},{x:.4700814501766401,y:.6509335313629835},{x:.46785696980463054,y:.6545041220574128},{x:.46771614318912413,y:.6546542292091504},{x:.46760572040480797,y:.6548279275146733},{x:.4646995721096373,y:.6578695936566139},{x:.4618212468158623,y:.6609376018599591},{x:.3721282468158623,y:.739463601859959},{x:.3693406873548985,y:.7414576112446344},{x:.36664335021940475,y:.7435720694617842},{x:.36575927454484214,y:.7440194833243711},{x:.36495338890552403,y:.7445959530105889},{x:.3618303796850022,y:.746007822191186},{x:.35877236079175173,y:.7475554273162446},{x:.35781798626885214,y:.7478217696388809},{x:.3569151218394033,y:.7482299421328396},{x:.35357667835226414,y:.7490054137685334},{x:.3502754956523681,y:.7499266922044516},{x:.21714549565236804,y:.7733246922044517},{x:.2164184100494338,y:.7733799121498203},{x:.21571010443589486,y:.773553134187072},{x:.21202614434596675,y:.7737134914026773},{x:.20834928456346336,y:.7739927377465721},{x:.20762539682958886,y:.7739050492917646},{x:.20689690716677497,y:.7739367593459113},{x:.061505907166774995,y:.7659797593459113},{x:.05835682356136361,y:.7654946428322841},{x:.055185935509274225,y:.7651823376181454},{x:.05400593378019863,y:.7648243880069794},{x:.05278721145616079,y:.7646366437616691},{x:.0497932781460736,y:.7635464928911877},{x:.046744245543570956,y:.7626215789630079},{x:.045656749721751114,y:.7620403003359452},{x:.0444980718907103,y:.7616184026130197},{x:.04177434405403643,y:.7599651112722733},{x:.03896433951411791,y:.7584631325536145},{x:.03801114145411163,y:.7576808631223083},{x:.03695703545532078,y:.7570410252146568},{x:.03460818442533898,y:.7548881284626934},{x:.03214519484660536,y:.7528668051533947},{x:.03136292541529926,y:.7519136070933885},{x:.03045389995114224,y:.7510804176129765},{x:.02857019075568381,y:.7485106500646154},{x:.026548867446385453,y:.7460476604858821},{x:.025967588819322866,y:.7449601646640625},{x:.025238577228599887,y:.7439656426153641},{x:.023892399755650346,y:.7410777589963466},{x:.02239042103699209,y:.738267754456429},{x:.022032471425826126,y:.7370877527273536},{x:.021511489215134356,y:.7359701170349662},{x:.02075457631003429,y:.7328750970932278},{x:.01982966238185463,y:.7298260644907257},{x:.019708797589401895,y:.7285989036590902},{x:.01941586581292807,y:.7274011044358949},{x:.019277305214138767,y:.7242178880520896},{x:.018964999999999996,y:.721047},{x:.018964999999999996,y:.05103000000000002}],[{x:.10896499999999999,y:.09660579683225357},{x:.10896499999999999,y:.37786028838708235},{x:.29722384626437015,y:.36605169579422814},{x:.44137514989764515,y:.3145812530901673},{x:.49232133133007555,y:.24891875813083103},{x:.48801965008125897,y:.1616582425292873},{x:.46925190911582665,y:.130956211173677},{x:.41203782454012283,y:.1004592638951106},{x:.10896499999999999,y:.09660579683225357}],[{x:.10896499999999999,y:.47257215902605326},{x:.10896499999999999,y:.6784424315209651},{x:.20665565807681563,y:.6837888736412973},{x:.32230778354311135,y:.6634626629325134},{x:.3846372425734713,y:.608893375476212},{x:.3762519660226853,y:.5399063743443061},{x:.2981741908903496,y:.4944555775409729},{x:.10896499999999999,y:.47257215902605326}]],C:[[{x:.028007484408327545,y:.4010798543150725},{x:.028340096336253087,y:.39680461654123217},{x:.028649292669517497,y:.39252762152779447},{x:.06572429266951751,y:.1769866215277945},{x:.0657499934516808,y:.17689321918606288},{x:.06575739253020782,y:.1767966283931179},{x:.06691993730130205,y:.17264138379230456},{x:.0680646634579554,y:.1684811950870131},{x:.0681080922997215,y:.16839460141895576},{x:.06813419313592875,y:.16830131007962543},{x:.07008504794245551,y:.16445270857242494},{x:.07201939106115751,y:.16059578172109576},{x:.07207887901649253,y:.16051932447281397},{x:.0721226785698821,y:.1604329177209502},{x:.1274306785698821,y:.07363491772095027},{x:.13009575906138268,y:.07023973030268985},{x:.13274648275581225,y:.06683332229320074},{x:.13281865262016482,y:.06677089175108791},{x:.13287757357360944,y:.06669582922279092},{x:.1361538134974972,y:.06388581079003605},{x:.13941816151489866,y:.0610619864944041},{x:.19692016151489866,y:.020443986494404057},{x:.19808425112310213,y:.019782383965415776},{x:.19914710087537263,y:.01896802966513257},{x:.20191114759162085,y:.01760739299916557},{x:.20458957759683996,y:.01608512525217841},{x:.2058603718000633,y:.015663337846789194},{x:.20706167183504787,y:.015071982836463577},{x:.21003805521400143,y:.014276729186446702},{x:.2129619996426652,y:.013306247159584957},{x:.21429066253234816,y:.013140483931242813},{x:.21558424756339917,y:.01279485365228588},{x:.32760524756339915,y:-.005618146347714133},{x:.32775803960473765,y:-.005628051859015257},{x:.32790622767465843,y:-.005666572281957827},{x:.3321581535063009,y:-.005913311337168391},{x:.3364083102547015,y:-.006188849089881349},{x:.3365600989091985,y:-.006168756021014132},{x:.33671295454862427,y:-.006177626226551311},{x:.34093131721939995,y:-.005590114680318674},{x:.3451535631465426,y:-.005031193603710363},{x:.34529851526132993,y:-.004981874120043047},{x:.3454501643137599,y:-.004960753231150514},{x:.44307616431375996,y:.01857424676884946},{x:.4458503498549469,y:.019539172468847843},{x:.4486819664572553,y:.020319643122350156},{x:.45000735163266253,y:.02098507354168687},{x:.45140809089867484,y:.021472282957461515},{x:.45394072357704407,y:.022959884631265325},{x:.4565656691892177,y:.024277779754777677},{x:.4577357684253341,y:.0251889939358613},{x:.459014543037309,y:.025940112433793877},{x:.4612082951993476,y:.027893222383335445},{x:.4635256946335971,y:.029697896006345384},{x:.5358116946335971,y:.09837789600634546},{x:.5383578959705028,y:.10132350300922108},{x:.5409714489909738,y:.10420951799057969},{x:.5412394420583803,y:.10465705806338507},{x:.5415805729157932,y:.10505169984914184},{x:.5435031902892489,y:.10843744707814906},{x:.545503491029224,y:.11177788699125937},{x:.5456790239480676,y:.11226911056087577},{x:.5459366092786453,y:.11272272074420048},{x:.5471617575812067,y:.11641849583208026},{x:.548471935605029,y:.12008498944441898},{x:.572709935605029,y:.21701898944441894},{x:.5740007070580636,y:.2257455880614603},{x:.5735642017652605,y:.23455632455146336},{x:.571417194380227,y:.24311260725223527},{x:.5676421931927146,y:.25108562301800397},{x:.5623842693813143,y:.2581689733242098},{x:.5558454820094204,y:.2640904489909738},{x:.5482771130087407,y:.26862249102922403},{x:.539970010555581,y:.27159093560502906},{x:.5312434119385397,y:.2728817070580635},{x:.5224326754485367,y:.2724452017652604},{x:.5138763927477648,y:.270298194380227},{x:.5059033769819961,y:.26652319319271456},{x:.49882002667579023,y:.2612652693813142},{x:.49289855100902624,y:.25472648200942033},{x:.488366508970776,y:.24715811300874066},{x:.48539806439497096,y:.23885101055558106},{x:.46433420621000654,y:.15461122058523102},{x:.4102697826671089,y:.10324381045150927},{x:.3332137540403124,y:.08466767669890593},{x:.24039332695070226,y:.09992465997883551},{x:.1985742470214596,y:.12946463056361485},{x:.15288732813236672,y:.2011637190451272},{x:.11884238546013813,y:.39908903228895243},{x:.16184523767713488,y:.5942488915238071},{x:.2166399992296726,y:.6603981208316636},{x:.2708106585112101,y:.6880654725502051},{x:.33167151101531583,y:.6962265900331734},{x:.41875307675349,y:.6679697644015699},{x:.4604926982936834,y:.628705384802963},{x:.487421989657252,y:.5630715564186946},{x:.49155436139101494,y:.5552777692634718},{x:.49712782320648147,y:.5484399232752638},{x:.5039281900917167,y:.5428207930406891},{x:.5116941277610109,y:.5386363185834178},{x:.5201271955849208,y:.5360473069101626},{x:.5289033154962927,y:.5351532522875923},{x:.5376852261286371,y:.5359885127334604},{x:.5461354435813054,y:.5385209896572519},{x:.5539292307365281,y:.5426533613910148},{x:.5607670767247361,y:.5482268232064814},{x:.5663862069593109,y:.5550271900917166},{x:.5705706814165822,y:.5627931277610108},{x:.5731596930898373,y:.5712261955849207},{x:.5740537477124077,y:.5800023154962926},{x:.5732184872665396,y:.588784226128637},{x:.570686010342748,y:.5972344435813053},{x:.540057010342748,y:.6718854435813053},{x:.5396985836895672,y:.6725614478775368},{x:.539454213118803,y:.6732865233897278},{x:.5376352487491008,y:.6764529645154376},{x:.5359246386089851,y:.679679230736528},{x:.5354412171276051,y:.6802723202285732},{x:.5350600868536766,y:.680935789284769},{x:.5326583313554347,y:.6836865257875079},{x:.5303511767935185,y:.686517076724736},{x:.5297613381003629,y:.6870044593160238},{x:.5292580947459566,y:.687580825172473},{x:.47307109474595666,y:.7404358251724731},{x:.4722065860115991,y:.7411021817697292},{x:.4714497622811152,y:.7418887085063782},{x:.4687194058651613,y:.7437900730587934},{x:.46608420409854834,y:.7458212660502541},{x:.46510630693397415,y:.746306161504971},{x:.46421058160492856,y:.7469299263656303},{x:.4611617503991064,y:.748262090618912},{x:.45818091720073817,y:.7497401524453693},{x:.45712721164557074,y:.7500249524971546},{x:.4561270069400303,y:.7504619845480405},{x:.3497190069400303,y:.7849899845480404},{x:.34852117258500637,y:.7852523061157466},{x:.34737251112679673,y:.7856814874310271},{x:.34422084285321763,y:.7861940634064482},{x:.3411016855274714,y:.7868771480384597},{x:.33987569082458696,y:.7869007432807547},{x:.3386653714532072,y:.7870975852636362},{x:.3354742629896646,y:.786985452257037},{x:.33228177619648713,y:.7870468942022847},{x:.3310747354346284,y:.7868308563672394},{x:.32984927004476555,y:.7867877944907101},{x:.25121827004476555,y:.7762437944907102},{x:.24809780050166644,y:.7755083028870222},{x:.24494229970605153,y:.7749416523797719},{x:.24381291428322105,y:.7744983594176508},{x:.24263200473447152,y:.7742200201979198},{x:.2397149814324578,y:.772889887451158},{x:.2367306607297473,y:.771718517308175},{x:.16743766072974728,y:.7363275173081749},{x:.16716950847174827,y:.7361554960544541},{x:.16687461978467572,y:.7360349240533984},{x:.16345937419922074,y:.733775423054901},{x:.16001260855282193,y:.7315643025810339},{x:.15978316844705134,y:.7313432727571054},{x:.15951746839392553,y:.7311674875843215},{x:.15660865257214304,y:.7282851209029094},{x:.15365948376641753,y:.7254440558690711},{x:.15347757306746915,y:.725182511527114},{x:.15325127235232486,y:.7249582685082102},{x:.08558827235232488,y:.6432742685082102},{x:.0845522070982367,y:.6417389136031936},{x:.0833480194008015,y:.6403315480201149},{x:.08209078724421986,y:.6380913122274521},{x:.0806538380596292,y:.6359618836319892},{x:.07993721339171088,y:.6342539038369039},{x:.07903072722802115,y:.632638655023214},{x:.07823470075697891,y:.6301961909068614},{x:.07724079305844417,y:.627827343805619},{x:.07687114846079628,y:.6260123758261444},{x:.07629719958575912,y:.6242513168879111},{x:.02905219958575911,y:.40983931688791114},{x:.028544362954760993,y:.4055813372409792},{x:.028013217832748447,y:.4013262022752188},{x:.028022142274708197,y:.401202753871557},{x:.028007484408327545,y:.4010798543150725}]],D:[[{x:.019456783112310236,y:.0515304721392918},{x:.019516560837245702,y:.0508455251733057},{x:.019462408649259272,y:.05016011050819538},{x:.01989956114396584,y:.04645701928180655},{x:.020223754746627687,y:.042742334175020345},{x:.02041601038349858,y:.04208221032853139},{x:.020496616482350807,y:.04139940114622653},{x:.021647806474261868,y:.03785274800035644},{x:.022690469901424933,y:.03427268656062632},{x:.023007815173924504,y:.033662754022853354},{x:.023220081912440925,y:.03300879029730612},{x:.025041069815762075,y:.029754871123364675},{x:.026762134096652887,y:.026447013104097812},{x:.027192373603928278,y:.025910711240413317},{x:.027528143690388265,y:.025310724430849408},{x:.029948949961216734,y:.02247458551787214},{x:.03228227556070457,y:.019566050047680916},{x:.03280887543977226,y:.01912398863794477},{x:.03325524541805519,y:.01860103590097925},{x:.03618283982900684,y:.01629166847686688},{x:.03903875835284746,y:.013894228942745224},{x:.03964148166567549,y:.013563396159022682},{x:.0401812977878431,y:.013137574275061882},{x:.04350317452751879,y:.011443726034814963},{x:.04677193462845869,y:.0096495146935595},{x:.04742761905614622,y:.009442624254195854},{x:.048040136491355995,y:.009130297319436702},{x:.05162863769958001,y:.008117061901006828},{x:.05518462276008175,y:.0069950292882567724},{x:.05586807071778482,y:.006920031876811272},{x:.05652975076450537,y:.006733202440201605},{x:.060246972352300414,y:.0064395179124900545},{x:.06395352786070822,y:.006032783112310258},{x:.06463847482669428,y:.006092560837245719},{x:.06532388949180462,y:.006038408649259287},{x:.22607288949180462,y:.009146408649259287},{x:.22716730592225892,y:.009275605270020776},{x:.2282688262216939,y:.009242558031150067},{x:.23153975417198444,y:.00979177582685766},{x:.23483359885377353,y:.010180616482350843},{x:.23588178136904675,y:.010520840680108605},{x:.23696858346127098,y:.010703324384590318},{x:.374121583461271,y:.04785532438459028},{x:.3763172878682137,y:.048688585594252994},{x:.37858028056243914,y:.049316523610364836},{x:.3804311803743379,y:.05024979166335608},{x:.3823691959266467,y:.050985260963484026},{x:.38436014929137596,y:.0522308719724549},{x:.38645715458576285,y:.05328823230909956},{x:.47004915458576285,y:.1063032323090996},{x:.47296331256678825,y:.10858070495130694},{x:.47594842000778254,y:.11076435600861785},{x:.476434095048061,y:.11129319075325024},{x:.4769998347544389,y:.11173532762855881},{x:.47941368513584726,y:.11453756329148114},{x:.48191542538645477,y:.11726162167794474},{x:.5445294253864548,y:.20053762167794476},{x:.5457907389554543,y:.20261097926106453},{x:.5472304508598836,y:.2045646816997861},{x:.5480776582474705,y:.2063702359380903},{x:.54911422277829,y:.20807414921008693},{x:.5499468085621922,y:.21035373787896267},{x:.5509777083681839,y:.21255077433219424},{x:.570480708368184,y:.26758877433219413},{x:.5715324066676154,y:.27184261440989077},{x:.5725895850614416,y:.2760950958693092},{x:.5821235850614417,y:.3411630958693092},{x:.5823063349967632,y:.3450227385412275},{x:.5825832689280143,y:.34887676846995497},{x:.5805752689280143,y:.424797768469955},{x:.5800798101377765,y:.42875301375722},{x:.5796594372976747,y:.43271694253692033},{x:.5588164372976746,y:.5335539425369203},{x:.5581925601051908,y:.535556542700639},{x:.5577783377379867,y:.5376127649642906},{x:.5568838034059929,y:.5397575559956548},{x:.5561926080991778,y:.5419762423834013},{x:.555190030621201,y:.5438186507441294},{x:.5543826183570809,y:.5457545524985521},{x:.5020956183570809,y:.6430055524985521},{x:.5018901867095668,y:.6433113858234256},{x:.5017428412228655,y:.6436490624319612},{x:.4994325691935421,y:.6469701275279692},{x:.4971767628200625,y:.6503284258808291},{x:.4969156133622187,y:.650588304977856},{x:.4967052216394318,y:.6508907475465959},{x:.49379143318032753,y:.6536972875938759},{x:.49092379998669317,y:.6565509711937552},{x:.49061696854573045,y:.6567549090549786},{x:.49035161582277553,y:.657010494885618},{x:.39890061582277553,y:.7292364948856179},{x:.3986791836579038,y:.7293785203585265},{x:.39848760231040037,y:.7295587979940886},{x:.39496847203231433,y:.7317585520660096},{x:.39147518928128755,y:.7339991259907827},{x:.39123030407812903,y:.7340952232117042},{x:.391007233490524,y:.7342346611962726},{x:.3871265715837099,y:.7357055993513507},{x:.38326329699273004,y:.7372216156196327},{x:.3830043695523095,y:.737268091626259},{x:.38275838220218455,y:.7373613314362847},{x:.25909638220218456,y:.7708063314362847},{x:.2580664240588666,y:.7709788511982676},{x:.2570738325025125,y:.7713034106651087},{x:.2537238261308602,y:.7717062438265866},{x:.2503960471743838,y:.7722636525302581},{x:.2493522224520667,y:.7722319225075465},{x:.24831538485324267,y:.7723566006488801},{x:.17218438485324267,y:.7739936006488801},{x:.16854768223369815,y:.7737142062783378},{x:.16490357022768087,y:.7735589167265521},{x:.06552457022768086,y:.7594769167265522},{x:.06454980411013514,y:.759239472501363},{x:.06355033417502035,y:.7591522452533723},{x:.06027159361314519,y:.7581973390517399},{x:.056953647958865025,y:.7573891174476861},{x:.056043934769293216,y:.7569660682109414},{x:.05508068656062633,y:.7566855300985751},{x:.05205123903764884,y:.7551093215998242},{x:.04895472299174925,y:.7536693306611393},{x:.04814502249785432,y:.7530769339577588},{x:.0472550131040978,y:.7526138659033472},{x:.04459127858939255,y:.7504769279161366},{x:.04183518952697092,y:.7484605056870383},{x:.041156618064647085,y:.7477215269901124},{x:.040374050047680896,y:.7470937244392954},{x:.03817839436480973,y:.744478178292066},{x:.035868647242901154,y:.7419628147479951},{x:.03534728193289863,y:.7411056525944231},{x:.03470222894274521,y:.7403372416471526},{x:.03305902990826266,y:.7373436013115269},{x:.03128438701344127,y:.73442596046285},{x:.030940263632238257,y:.7334835551134912},{x:.030457514693559486,y:.7326040653715413},{x:.029429919524844063,y:.7293473747667649},{x:.028258579388326675,y:.7261395799150647},{x:.028104922404476318,y:.7251481474789881},{x:.02780302928825676,y:.7241913772399183},{x:.02743052789135989,y:.7207967891595589},{x:.026907504457698045,y:.7174221140620348},{x:.02695021882291786,y:.7164197547317572},{x:.026840783112310238,y:.7154224721392919},{x:.019456783112310236,y:.0515304721392918}],[{x:.1099671672449683,y:.09691838411671685},{x:.1164055200593884,y:.675787686211921},{x:.17390769441284104,y:.6839357418297609},{x:.2408956143230629,y:.6824953400894312},{x:.35035782392371695,y:.652890743688808},{x:.42724604872976657,y:.5921661050862587},{x:.4720072878873445,y:.5089126143655517},{x:.4907125333997566,y:.41841792349882906},{x:.4925121994894803,y:.35037387509349616},{x:.4841787199640398,y:.2934992321564965},{x:.4684498534661817,y:.24911194023683725},{x:.41491413338319044,y:.1779099626338861},{x:.34401115658372555,y:.1329424859013802},{x:.21878934362335548,y:.0990224054430332},{x:.1099671672449683,y:.09691838411671685}]],E:[[{x:.035078,y:.05103000000000002},{x:.03594266238185463,y:.04225093550927423},{x:.03850342103699209,y:.03380924554357098},{x:.042661867446385456,y:.026029339514117924},{x:.04825819484660536,y:.019210194846605383},{x:.05507733951411791,y:.013613867446385479},{x:.06285724554357096,y:.009455421036992116},{x:.07129893550927423,y:.006894662381854655},{x:.080078,y:.0060300000000000215},{x:.521974,y:.0060300000000000215},{x:.5307530644907258,y:.006894662381854655},{x:.5391947544564291,y:.009455421036992116},{x:.5469746604858822,y:.013613867446385479},{x:.5537938051533947,y:.019210194846605383},{x:.5593901325536146,y:.026029339514117924},{x:.5635485789630079,y:.03380924554357098},{x:.5661093376181454,y:.04225093550927425},{x:.5669740000000001,y:.05103000000000002},{x:.5661093376181454,y:.05980906449072579},{x:.5635485789630079,y:.06825075445642906},{x:.5593901325536146,y:.07603066048588211},{x:.5537938051533947,y:.08284980515339466},{x:.5469746604858822,y:.08844613255361455},{x:.5391947544564291,y:.09260457896300792},{x:.5307530644907258,y:.09516533761814538},{x:.521974,y:.09603000000000002},{x:.125078,y:.09603000000000002},{x:.125078,y:.345019},{x:.389405,y:.345019},{x:.3981840644907258,y:.34588366238185464},{x:.40662575445642907,y:.3484444210369921},{x:.4144056604858821,y:.35260286744638547},{x:.42122480515339467,y:.35819919484660534},{x:.42682113255361454,y:.3650183395141179},{x:.4309795789630079,y:.372798245543571},{x:.43354033761814537,y:.3812399355092742},{x:.434405,y:.390019},{x:.43354033761814537,y:.3987980644907258},{x:.4309795789630079,y:.407239754456429},{x:.42682113255361454,y:.4150196604858821},{x:.42122480515339467,y:.42183880515339467},{x:.4144056604858821,y:.42743513255361454},{x:.40662575445642907,y:.43159357896300793},{x:.3981840644907258,y:.43415433761814537},{x:.389405,y:.435019},{x:.125078,y:.435019},{x:.125078,y:.684004},{x:.521974,y:.684004},{x:.5307530644907258,y:.6848686623818546},{x:.5391947544564291,y:.6874294210369921},{x:.5469746604858822,y:.6915878674463855},{x:.5537938051533947,y:.6971841948466053},{x:.5593901325536146,y:.7040033395141179},{x:.5635485789630079,y:.711783245543571},{x:.5661093376181454,y:.7202249355092742},{x:.5669740000000001,y:.729004},{x:.5661093376181454,y:.7377830644907257},{x:.5635485789630079,y:.746224754456429},{x:.5593901325536146,y:.7540046604858821},{x:.5537938051533947,y:.7608238051533946},{x:.5469746604858822,y:.7664201325536145},{x:.5391947544564291,y:.7705785789630079},{x:.5307530644907258,y:.7731393376181454},{x:.521974,y:.774004},{x:.080078,y:.774004},{x:.07129893550927423,y:.7731393376181454},{x:.06285724554357093,y:.7705785789630079},{x:.05507733951411791,y:.7664201325536145},{x:.04825819484660536,y:.7608238051533946},{x:.042661867446385456,y:.7540046604858821},{x:.03850342103699209,y:.746224754456429},{x:.03594266238185463,y:.7377830644907257},{x:.035078,y:.729004},{x:.035078,y:.05103000000000002}]],F:[[{x:.041426000000000004,y:.05103000000000002},{x:.04229066238185464,y:.04225093550927423},{x:.0448514210369921,y:.03380924554357098},{x:.04900986744638546,y:.026029339514117924},{x:.054606194846605366,y:.019210194846605383},{x:.06142533951411792,y:.013613867446385479},{x:.06920524554357096,y:.009455421036992116},{x:.07764693550927423,y:.006894662381854655},{x:.086426,y:.0060300000000000215},{x:.09520506449072577,y:.006894662381854655},{x:.10364675445642904,y:.009455421036992116},{x:.11142666048588211,y:.013613867446385486},{x:.11824580515339464,y:.019210194846605383},{x:.12384213255361454,y:.026029339514117924},{x:.1280005789630079,y:.03380924554357098},{x:.13056133761814537,y:.04225093550927425},{x:.131426,y:.05103000000000002},{x:.131426,y:.347323},{x:.447344,y:.347323},{x:.4561230644907258,y:.3481876623818546},{x:.4645647544564291,y:.35074842103699205},{x:.47234466048588214,y:.35490686744638544},{x:.47916380515339463,y:.3605031948466053},{x:.48476013255361455,y:.36732233951411786},{x:.48891857896300794,y:.37510224554357097},{x:.4914793376181454,y:.3835439355092742},{x:.492344,y:.392323},{x:.4914793376181454,y:.4011020644907258},{x:.48891857896300794,y:.409543754456429},{x:.48476013255361455,y:.4173236604858821},{x:.47916380515339463,y:.42414280515339464},{x:.47234466048588214,y:.4297391325536145},{x:.4645647544564291,y:.4338975789630079},{x:.4561230644907258,y:.43645833761814534},{x:.447344,y:.43732299999999996},{x:.131426,y:.43732299999999996},{x:.131426,y:.679393},{x:.515626,y:.679393},{x:.5244050644907258,y:.6802576623818547},{x:.532846754456429,y:.6828184210369922},{x:.5406266604858821,y:.6869768674463855},{x:.5474458051533947,y:.6925731948466054},{x:.5530421325536146,y:.6993923395141179},{x:.5572005789630079,y:.707172245543571},{x:.5597613376181454,y:.7156139355092743},{x:.5606260000000001,y:.7243930000000001},{x:.5597613376181454,y:.7331720644907258},{x:.5572005789630079,y:.7416137544564291},{x:.5530421325536146,y:.7493936604858822},{x:.5474458051533947,y:.7562128051533947},{x:.5406266604858821,y:.7618091325536146},{x:.532846754456429,y:.7659675789630079},{x:.5244050644907258,y:.7685283376181454},{x:.515626,y:.7693930000000001},{x:.10586481668800227,y:.7693930000000001},{x:.10364675445642904,y:.7705785789630079},{x:.09520506449072577,y:.7731393376181454},{x:.086426,y:.774004},{x:.0776469355092742,y:.7731393376181454},{x:.06920524554357094,y:.7705785789630079},{x:.06142533951411792,y:.7664201325536145},{x:.054606194846605366,y:.7608238051533946},{x:.04900986744638546,y:.7540046604858821},{x:.0448514210369921,y:.746224754456429},{x:.04229066238185464,y:.7377830644907257},{x:.041426000000000004,y:.729004},{x:.041426000000000004,y:.05103000000000002}]],G:[[{x:.011397831509003739,y:.41623356008285023},{x:.011618856500496228,y:.4138403978921803},{x:.011624876992355357,y:.4114370583257866},{x:.031979876992355355,y:.20994505832578658},{x:.0322125865037964,y:.20879027461506633},{x:.03227702681480045,y:.2076140405475535},{x:.033082276634523504,y:.2044745765152392},{x:.033722542929381774,y:.20129735748690203},{x:.034176068118796386,y:.2002101619949014},{x:.03446874211029117,y:.19906910061620064},{x:.03587099832954512,y:.19614705695158466},{x:.03711880677043453,y:.1931557970536144},{x:.03777571891913337,y:.19217797009338475},{x:.03828537929375919,y:.19111593175236494},{x:.08239837929375919,y:.11845093175236496},{x:.08400149586436068,y:.11631468084865614},{x:.08543403702225794,y:.1140604899753128},{x:.08664282877724949,y:.11279494315419919},{x:.08769326713863865,y:.11139516977529508},{x:.08968234215056696,y:.10961271886167734},{x:.09152712825517066,y:.10768131654967852},{x:.15960912825517065,y:.049144316549678456},{x:.16129904644183068,y:.0479582081853546},{x:.16285577619764602,y:.04660201166682107},{x:.1649006360722032,y:.045430348778213794},{x:.16682965744636918,y:.04407642028337947},{x:.16871850259167306,y:.043242789341903884},{x:.17050990103726027,y:.04221635466854622},{x:.25257090103726026,y:.005359354668546305},{x:.2555014876285109,y:.004375276469579791},{x:.2583690572759664,y:.003220377345201267},{x:.25967433471463813,y:.0029740526131209386},{x:.2609335532503684,y:.0025512125194529015},{x:.2639998135747395,y:.0021577721889240492},{x:.26703759331756605,y:.0015844992133087973},{x:.35309859331756605,y:-.006038500786691249},{x:.3541123404679588,y:-.006028536718703998},{x:.3551159915981175,y:-.006171599559831674},{x:.3585153812714738,y:-.005985259459774228},{x:.361919709861342,y:-.005951798491220829},{x:.36291203425126567,y:-.00574425362199294},{x:.3639243106821295,y:-.005688764928569123},{x:.3672220288859873,y:-.004842817275250554},{x:.37055441634545594,y:-.004145847688979236},{x:.3714871835051078,y:-.003748697851442632},{x:.37246918402112983,y:-.003496790022837183},{x:.4525501840211298,y:.02567020997716287},{x:.4548144879103283,y:.026756908839544704},{x:.45716266717941917,y:.02764799841997529},{x:.45878159595452606,y:.02866082810547922},{x:.4605032369247208,y:.02948708879101062},{x:.4625120284186098,y:.03099465081435172},{x:.46464124512829075,y:.032326725408117304},{x:.4660314733714444,y:.03363593119127184},{x:.46755883802994086,y:.034782191000688294},{x:.46923492039795345,y:.03665268142188218},{x:.47106334994415,y:.038374550149380404},{x:.53517534994415,y:.11188255014938031},{x:.5366918789074028,y:.11401106513419482},{x:.5383741006891446,y:.11601120663268963},{x:.5392453250303639,y:.11759493887966013},{x:.5402941837404813,y:.11906705813061697},{x:.5413663203511413,y:.12145053442062861},{x:.5426260104640281,y:.12374042895017842},{x:.5431715236397763,y:.1254636976633839},{x:.5439130326051668,y:.12711215273922669},{x:.5444995752545472,y:.12965899467727895},{x:.5452883245139833,y:.13215064287530112},{x:.5896823245139834,y:.3420786428753011},{x:.5897067631627176,y:.34229945557802055},{x:.5897717252277992,y:.3425119065778641},{x:.5901917436343531,y:.346681442891342},{x:.5906527316031134,y:.3508466486034176},{x:.590633622248786,y:.3510679861958218},{x:.5906558889520306,y:.35128902847947113},{x:.590254400640623,y:.3554603898480228},{x:.5898939395311937,y:.3596354965915505},{x:.5898320165355749,y:.3598488531940917},{x:.589810732180064,y:.3600699922305474},{x:.5886031661213459,y:.3640828755761044},{x:.5874351082520124,y:.3681074363403587},{x:.5873327512810971,y:.3683046127784522},{x:.5872687338126765,y:.3685173503185603},{x:.5853014960930706,y:.3722175427846122},{x:.5833707292727002,y:.37593689595641405},{x:.5832318718474782,y:.3761103148501221},{x:.583127581421558,y:.3763064755095204},{x:.5804762718833937,y:.37955178077467916},{x:.577856994398102,y:.38282299369748307},{x:.5776869727315521,y:.38296599065597503},{x:.5775464171707139,y:.38313803609053093},{x:.5743129241526703,y:.3858037388934479},{x:.5711057933673104,y:.38850110068914456},{x:.5709111412967293,y:.38860818041949885},{x:.5707397220723512,y:.3887494990196469},{x:.5670483068977423,y:.3907331578965531},{x:.5633765710498215,y:.39275301046402805},{x:.5631647689451196,y:.3928200579522583},{x:.5629690736018615,y:.39292521892344706},{x:.5589615952856832,y:.39415060297614785},{x:.5549663571246989,y:.39541532451398326},{x:.5547455444219794,y:.39543976316271745},{x:.5545330934221359,y:.39550472522779906},{x:.5503635571086607,y:.3959247436343527},{x:.5461983513965825,y:.39638573160311336},{x:.5459770138041778,y:.396366622248786},{x:.5457559715205288,y:.3963888889520305},{x:.32969497152052885,y:.39686888895203054},{x:.32091400776945256,y:.3960237321800639},{x:.31246664968143967,y:.39348173381267654},{x:.3046775244904796,y:.389340581421558},{x:.29784596390946905,y:.3837594171707138},{x:.2922345009803531,y:.3769527220723512},{x:.2880587810765529,y:.3691820736018615},{x:.2854792747722009,y:.3607460934221358},{x:.2845951110479695,y:.3519689715205288},{x:.2854402678199361,y:.3431880077694525},{x:.2879822661873235,y:.33474064968143963},{x:.29212341857844204,y:.32695152449047954},{x:.29770458282928614,y:.320119963909469},{x:.3045112779276488,y:.31450850098035305},{x:.31228192639813845,y:.3103327810765529},{x:.3207179065778642,y:.3077532747722009},{x:.3294950284794712,y:.30686911104796943},{x:.49017057214072013,y:.30651215509128404},{x:.45965681956734333,y:.16222033524572274},{x:.4108567628008364,y:.10626833604444391},{x:.35107150330533127,y:.0844934248457151},{x:.2825297162303303,y:.09056463065174497},{x:.21333680545064249,y:.12164203785622632},{x:.15562253329738823,y:.17126485077351794},{x:.1205010051965362,y:.2291186770707186},{x:.10185989085514695,y:.41364510354456796},{x:.13655871914038514,y:.5827099362211221},{x:.190187982415082,y:.6526649281775241},{x:.2569251189377254,y:.6872526727450867},{x:.3715857772516941,y:.6967797369989467},{x:.4883723057362636,y:.6711064406866752},{x:.49713228125159653,y:.6700660353148682},{x:.5059269093127409,y:.6707546074846872},{x:.5144182172953911,y:.6731456957538017},{x:.5222798889957544,y:.6771474119409674},{x:.529209804779262,y:.6826059723372997},{x:.5349416518686954,y:.6893116075279637},{x:.5392551585948644,y:.6970066237131456},{x:.5419845593133248,y:.7053953057362636},{x:.5430249646851317,y:.7141552812515966},{x:.5423363925153128,y:.722949909312741},{x:.5399453042461984,y:.7314412172953911},{x:.5359435880590326,y:.7393028889957545},{x:.5304850276627003,y:.7462328047792621},{x:.5237793924720363,y:.7519646518686954},{x:.5160843762868544,y:.7562781585948645},{x:.5076956942637364,y:.7590075593133249},{x:.38428269426373635,y:.7861375593133247},{x:.3819812519937546,y:.7864108971664274},{x:.3797153389243004,y:.7868977113667894},{x:.37761181025895013,y:.7869298473215656},{x:.37552271874840343,y:.7871779646851318},{x:.3732121724765259,y:.7869970613144796},{x:.370894825552222,y:.7870324638061055},{x:.24049282555222196,y:.7761974638061055},{x:.24043595887820252,y:.7761870527203061},{x:.24037815170992255,y:.776187787986971},{x:.2360978388350013,y:.7753928346522221},{x:.2318155069745089,y:.7746088302209789},{x:.231761764079766,y:.7745875250435272},{x:.2317049242166051,y:.7745769685631748},{x:.227661944055434,y:.7729622424167508},{x:.22361484767780643,y:.7713578609091699},{x:.22356629387164592,y:.7713264803860874},{x:.22351260563766895,y:.7713050378383375},{x:.13987060563766895,y:.7279560378383374},{x:.13900257424615298,y:.727391873258006},{x:.13805978359276902,y:.7269641982011581},{x:.13531067905832161,y:.7249923788161832},{x:.13247402218179744,y:.7231487342752945},{x:.13173273281971745,y:.7224260654354895},{x:.1308914928889356,y:.7218226787027751},{x:.128579894506033,y:.7193524235854973},{x:.12615742040314795,y:.7169907998540069},{x:.12557136040496888,y:.7161373985129647},{x:.12486399957555622,y:.7153814879181388},{x:.05884299957555622,y:.6292624879181389},{x:.05814177883495547,y:.6281337214080167},{x:.057292540659828396,y:.62711165542026},{x:.05581896837632758,y:.6243946553718145},{x:.05418793684040681,y:.6217691571968414},{x:.05372040128165289,y:.6205252782386133},{x:.05308687616260495,y:.6193571728131668},{x:.052171678571706244,y:.6164048994674943},{x:.051084196133809955,y:.613511651036194},{x:.05086831288622884,y:.6122004612006492},{x:.05047484683830003,y:.6109312059739318},{x:.012315846838300032,y:.4250072059739319},{x:.012065742114142504,y:.42261690788694145},{x:.011602778634016861,y:.4202585732767163},{x:.011607833784388823,y:.41824059149262255},{x:.011397831509003739,y:.41623356008285023}]],H:[[{x:.021894999999999998,y:.05103000000000002},{x:.02275966238185463,y:.04225093550927423},{x:.025320421036992093,y:.03380924554357098},{x:.029478867446385455,y:.026029339514117924},{x:.03507519484660536,y:.019210194846605383},{x:.04189433951411791,y:.013613867446385479},{x:.04967424554357096,y:.009455421036992116},{x:.05811593550927423,y:.006894662381854655},{x:.066895,y:.0060300000000000215},{x:.07567406449072576,y:.006894662381854655},{x:.08411575445642903,y:.009455421036992116},{x:.0918956604858821,y:.013613867446385486},{x:.09871480515339463,y:.019210194846605383},{x:.10431113255361453,y:.026029339514117924},{x:.1084695789630079,y:.03380924554357098},{x:.11103033761814536,y:.04225093550927425},{x:.111895,y:.05103000000000002},{x:.111895,y:.359342},{x:.490157,y:.359342},{x:.490157,y:.05103000000000002},{x:.49102166238185463,y:.04225093550927423},{x:.49358242103699207,y:.03380924554357098},{x:.49774086744638546,y:.026029339514117924},{x:.5033371948466053,y:.019210194846605383},{x:.5101563395141179,y:.013613867446385479},{x:.517936245543571,y:.009455421036992116},{x:.5263779355092743,y:.006894662381854655},{x:.535157,y:.0060300000000000215},{x:.5439360644907257,y:.006894662381854655},{x:.552377754456429,y:.009455421036992116},{x:.5601576604858821,y:.013613867446385486},{x:.5669768051533947,y:.019210194846605383},{x:.5725731325536145,y:.026029339514117924},{x:.5767315789630079,y:.03380924554357098},{x:.5792923376181454,y:.04225093550927425},{x:.580157,y:.05103000000000002},{x:.580157,y:.729004},{x:.5792923376181454,y:.7377830644907257},{x:.5767315789630079,y:.746224754456429},{x:.5725731325536145,y:.7540046604858821},{x:.5669768051533947,y:.7608238051533946},{x:.5601576604858821,y:.7664201325536145},{x:.552377754456429,y:.7705785789630079},{x:.5439360644907257,y:.7731393376181454},{x:.535157,y:.774004},{x:.5263779355092743,y:.7731393376181454},{x:.517936245543571,y:.7705785789630079},{x:.5101563395141179,y:.7664201325536145},{x:.5033371948466053,y:.7608238051533946},{x:.49774086744638546,y:.7540046604858821},{x:.49358242103699207,y:.746224754456429},{x:.49102166238185463,y:.7377830644907257},{x:.490157,y:.729004},{x:.490157,y:.44934199999999996},{x:.111895,y:.44934199999999996},{x:.111895,y:.729004},{x:.11103033761814536,y:.7377830644907257},{x:.10846957896300788,y:.746224754456429},{x:.10431113255361453,y:.7540046604858821},{x:.09871480515339463,y:.7608238051533946},{x:.09189566048588207,y:.7664201325536145},{x:.08411575445642903,y:.7705785789630079},{x:.07567406449072576,y:.7731393376181454},{x:.066895,y:.774004},{x:.05811593550927421,y:.7731393376181454},{x:.04967424554357093,y:.7705785789630079},{x:.04189433951411791,y:.7664201325536145},{x:.03507519484660536,y:.7608238051533946},{x:.029478867446385455,y:.7540046604858821},{x:.025320421036992093,y:.746224754456429},{x:.02275966238185463,y:.7377830644907257},{x:.021894999999999998,y:.729004},{x:.021894999999999998,y:.05103000000000002}]],I:[[{x:.25602600000000003,y:.05103000000000002},{x:.25689066238185465,y:.04225093550927423},{x:.2594514210369921,y:.03380924554357098},{x:.2636098674463855,y:.026029339514117924},{x:.26920619484660535,y:.019210194846605383},{x:.27602533951411795,y:.013613867446385479},{x:.283805245543571,y:.009455421036992116},{x:.2922469355092743,y:.006894662381854655},{x:.301026,y:.0060300000000000215},{x:.3098050644907258,y:.006894662381854655},{x:.3182467544564291,y:.009455421036992116},{x:.32602666048588214,y:.013613867446385486},{x:.3328458051533947,y:.019210194846605383},{x:.33844213255361455,y:.026029339514117924},{x:.34260057896300794,y:.03380924554357098},{x:.3451613376181454,y:.04225093550927425},{x:.346026,y:.05103000000000002},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.05103000000000002}]],J:[[{x:.0492700034030052,y:.22191686675397743},{x:.05066400340300519,y:.18438286675397747},{x:.05116783173382979,y:.18068175768771486},{x:.05155979864248331,y:.17696713613904605},{x:.05874879864248331,y:.14209513613904604},{x:.05880353678004782,y:.1419191061579158},{x:.05882437610196882,y:.14173594355086241},{x:.060112741823836933,y:.13770889095133898},{x:.06136821695472819,y:.13367146342030908},{x:.0614562450600313,y:.133509494686791},{x:.06151241721221637,y:.13333391704789688},{x:.07511841721221638,y:.10184091704789687},{x:.07557207470549994,y:.10102219111224012},{x:.07589401217340325,y:.10014328637013822},{x:.07770640675364808,y:.09717031380613761},{x:.07939396242231754,y:.09412474393402119},{x:.07999862852050488,y:.09341025377409445},{x:.08048584585939292,y:.09261104382444658},{x:.10112984585939291,y:.06520804382444652},{x:.10197173470408774,y:.06429305686105671},{x:.10267645797068833,y:.06326868237508665},{x:.10495244591663212,y:.06105354143298789},{x:.10710291637241387,y:.058716353519649434},{x:.10810713366035453,y:.05798319214000915},{x:.10899816141532707,y:.05711598541156246},{x:.1373061614153271,y:.03451898541156248},{x:.13912164740426522,y:.03334117545586675},{x:.1408101373903697,y:.03198757757075004},{x:.14281300361792376,y:.03094638082514127},{x:.14470672673278473,y:.029717813955661344},{x:.1467171079910441,y:.028916819034200267},{x:.14863722796281134,y:.027918638208003034},{x:.20683022796281134,y:.004592638208003076},{x:.20850921914024034,y:.004104279923540699},{x:.2101185278310492,y:.0034204446176558795},{x:.21273469892125257,y:.0028752394826936905},{x:.21530073387518742,y:.0021288719943945503},{x:.21704273768291169,y:.0019774523068977427},{x:.21875453360851305,y:.0016207172553791283},{x:.2976895336085131,y:-.0068802827446208525},{x:.29850402526559744,y:-.006887701289741747},{x:.2993068957135494,y:-.007024999279811796},{x:.30290822222422875,y:-.006927815554356645},{x:.3065107103471747,y:-.0069606277022222565},{x:.30731099906181086,y:-.006809004262418785},{x:.30812522808832776,y:-.0067870318558802545},{x:.3663632280883278,y:.0005399681441197179},{x:.367446910459264,y:.0007860908462292888},{x:.3685549625674647,y:.000870733572342984},{x:.37174033606180384,y:.0017612008405818037},{x:.37496569353784953,y:.0024937343933679954},{x:.37598053709868623,y:.002946543859479297},{x:.3770507853196353,y:.0032457304419443098},{x:.4423997853196353,y:.028649730441944292},{x:.44339023767510893,y:.0291515261148112},{x:.4444435524779453,y:.029502699422305954},{x:.4473177196266577,y:.03114131738307233},{x:.45026902431580135,y:.03263654520916596},{x:.4511425499275847,y:.03332192668785485},{x:.4521071150681948,y:.03387184382278591},{x:.4818761150681948,y:.0549598438227859},{x:.482276572000261,y:.05530719927286456},{x:.48273081061614365,y:.05558049186877649},{x:.48560514894853896,y:.05819439949693127},{x:.48854004666413575,y:.060740123232255375},{x:.48886504324193186,y:.061158929616590856},{x:.48925723704963914,y:.06151558852974905},{x:.5141262370496392,y:.08904658852974903},{x:.5149956342421861,y:.09022293690705172},{x:.5160117353213701,y:.09127516577002369},{x:.5176116053111659,y:.0937625081737249},{x:.5193693801104602,y:.0961408866071265},{x:.519992577896003,y:.09746424275846524},{x:.5207838752101566,y:.09869448482562238},{x:.5385188752101566,y:.1333154848256224},{x:.5396070973995049,y:.13607819549886616},{x:.5408707323766272,y:.1387652058155645},{x:.5412201620380835,y:.14017334347255597},{x:.5417518824254063,y:.14152324205357814},{x:.5422802166156467,y:.1444451696332536},{x:.5429953614930656,y:.1473270727547606},{x:.5523413614930656,y:.2113020727547606},{x:.5524962602601196,y:.21460328519222147},{x:.5528139181508881,y:.2178928278123641},{x:.5518389181508881,y:.7290898278123641},{x:.5509575131661891,y:.7378672271777721},{x:.5483806584624608,y:.7463040176932935},{x:.5442073811208505,y:.7540759782308231},{x:.5385980578491955,y:.7608844367054697},{x:.5317682517950807,y:.7664677478762799},{x:.5239804285749665,y:.7706113482261165},{x:.5155338698677402,y:.7731560015172932},{x:.5067531721876358,y:.7740039181508881},{x:.4979757728222279,y:.7731225131661891},{x:.4895389823067066,y:.7705456584624607},{x:.48176702176917696,y:.7663723811208505},{x:.4749585632945304,y:.7607630578491954},{x:.46937525212372017,y:.7539332517950806},{x:.4652316517738835,y:.7461454285749665},{x:.46268699848270683,y:.7376988698677401},{x:.461839081849112,y:.7289181721876359},{x:.462807763438783,y:.22103394388498027},{x:.45501827222953295,y:.16771351802238937},{x:.44337725180090903,y:.14498874958374325},{x:.42579959063650114,y:.12552955984883984},{x:.4046143325842134,y:.11052217895574154},{x:.34961801160788414,y:.08914271579513207},{x:.3021031758959219,y:.08316481131246532},{x:.2345584384824393,y:.09043912324952764},{x:.18827433696976265,y:.10899157718530504},{x:.16959144206995366,y:.1239052897771866},{x:.155605251275173,y:.14247066404328695},{x:.14596289111822178,y:.16478926233983734},{x:.14046290234137151,y:.19146830095804884},{x:.13920799659699482,y:.22525713324602253},{x:.1380181031040591,y:.23399805813086086},{x:.13514580323043823,y:.24233889189031887},{x:.13070147784947123,y:.24995910096061402},{x:.12485591989314217,y:.25656584498063745},{x:.11783377087548613,y:.26190523048280423},{x:.10990488804518514,y:.26577206787662816},{x:.10137397392283892,y:.2680177567696118},{x:.09256886675397746,y:.2685559965969948},{x:.08382794186913914,y:.26736610310405906},{x:.07548710810968112,y:.26449380323043825},{x:.06786689903938595,y:.2600494778494712},{x:.06126015501936256,y:.2542039198931421},{x:.055920769517195726,y:.24718177087548612},{x:.052053932123371845,y:.23925288804518513},{x:.04980824323038816,y:.2307219739228389},{x:.0492700034030052,y:.22191686675397743}]],K:[[{x:-.009598999999999996,y:.05103000000000002},{x:-.008734337618145363,y:.04225093550927423},{x:-.006173578963007902,y:.03380924554357098},{x:-.002015132553614539,y:.026029339514117924},{x:.003581194846605365,y:.019210194846605383},{x:.010400339514117916,y:.013613867446385479},{x:.018180245543570964,y:.009455421036992116},{x:.026621935509274233,y:.006894662381854655},{x:.035401,y:.0060300000000000215},{x:.04418006449072578,y:.006894662381854655},{x:.05262175445642904,y:.009455421036992116},{x:.06040166048588211,y:.013613867446385486},{x:.06722080515339464,y:.019210194846605383},{x:.07281713255361454,y:.026029339514117924},{x:.07697557896300791,y:.03380924554357098},{x:.07953633761814537,y:.04225093550927425},{x:.080401,y:.05103000000000002},{x:.080401,y:.29048154892126793},{x:.18934433769134518,y:.3772029724897202},{x:.5349508182082354,y:.03415901207017739},{x:.5417907398770268,y:.02858809778868676},{x:.5495860658299886,y:.024458629583942203},{x:.5580372260624178,y:.02192930060321959},{x:.5668194472260474,y:.021097311540784057},{x:.5755952334866855,y:.021994635269720175},{x:.5840273362998535,y:.024586788142349852},{x:.5917917146832189,y:.028774155177474024},{x:.5985899879298227,y:.03439581820823536},{x:.6041609022113132,y:.04123573987702663},{x:.6082903704160578,y:.04903106582998847},{x:.6108196993967804,y:.05748222606241771},{x:.6116516884592159,y:.06626444722604735},{x:.6107543647302798,y:.07504023348668547},{x:.6081622118576502,y:.08347233629985339},{x:.603974844822526,y:.0912367146832188},{x:.5983531817917647,y:.09803498792982254},{x:.26024203797571366,y:.43363918627462555},{x:.5302838206406747,y:.648598708462355},{x:.5366139141989896,y:.654742773070568},{x:.5416237292416561,y:.6620037211908337},{x:.545120741386121,y:.6701025186588768},{x:.5469705624168195,y:.6787279332298585},{x:.5471021047489336,y:.6875484950590041},{x:.5455103132844098,y:.6962252349018474},{x:.542256359676543,y:.7044247105121999},{x:.537465291537645,y:.7118318206406747},{x:.531321226929432,y:.7181619141989897},{x:.5240602788091663,y:.7231717292416562},{x:.5159614813411232,y:.726668741386121},{x:.5073360667701415,y:.7285185624168196},{x:.498515504940996,y:.7286501047489337},{x:.48983876509815266,y:.7270583132844098},{x:.48163928948780005,y:.723804359676543},{x:.47423217935932527,y:.719013291537645},{x:.080401,y:.4055145384845117},{x:.080401,y:.729004},{x:.07953633761814537,y:.7377830644907257},{x:.07697557896300788,y:.746224754456429},{x:.07281713255361454,y:.7540046604858821},{x:.06722080515339464,y:.7608238051533946},{x:.06040166048588208,y:.7664201325536145},{x:.052621754456429054,y:.7705785789630079},{x:.04418006449072578,y:.7731393376181454},{x:.035401,y:.774004},{x:.026621935509274212,y:.7731393376181454},{x:.018180245543570936,y:.7705785789630079},{x:.010400339514117906,y:.7664201325536145},{x:.003581194846605358,y:.7608238051533946},{x:-.002015132553614539,y:.7540046604858821},{x:-.006173578963007902,y:.746224754456429},{x:-.008734337618145363,y:.7377830644907257},{x:-.009598999999999996,y:.729004},{x:-.009598999999999996,y:.05103000000000002}]],L:[[{x:.030439999999999995,y:.05103000000000002},{x:.03130466238185463,y:.04225093550927423},{x:.03386542103699209,y:.03380924554357098},{x:.03802386744638545,y:.026029339514117924},{x:.043620194846605356,y:.019210194846605383},{x:.05043933951411791,y:.013613867446385479},{x:.058219245543570955,y:.009455421036992116},{x:.06666093550927422,y:.006894662381854655},{x:.07544,y:.0060300000000000215},{x:.526613,y:.0060300000000000215},{x:.5353920644907257,y:.006894662381854655},{x:.543833754456429,y:.009455421036992116},{x:.5516136604858821,y:.013613867446385479},{x:.5584328051533947,y:.019210194846605383},{x:.5640291325536145,y:.026029339514117924},{x:.5681875789630079,y:.03380924554357098},{x:.5707483376181454,y:.04225093550927425},{x:.571613,y:.05103000000000002},{x:.5707483376181454,y:.05980906449072579},{x:.5681875789630079,y:.06825075445642906},{x:.5640291325536145,y:.07603066048588211},{x:.5584328051533947,y:.08284980515339466},{x:.5516136604858821,y:.08844613255361455},{x:.543833754456429,y:.09260457896300792},{x:.5353920644907257,y:.09516533761814538},{x:.526613,y:.09603000000000002},{x:.12043999999999999,y:.09603000000000002},{x:.12043999999999999,y:.729004},{x:.11957533761814536,y:.7377830644907257},{x:.11701457896300788,y:.746224754456429},{x:.11285613255361453,y:.7540046604858821},{x:.10725980515339463,y:.7608238051533946},{x:.10044066048588207,y:.7664201325536145},{x:.09266075445642903,y:.7705785789630079},{x:.08421906449072576,y:.7731393376181454},{x:.07544,y:.774004},{x:.06666093550927422,y:.7731393376181454},{x:.05821924554357093,y:.7705785789630079},{x:.05043933951411791,y:.7664201325536145},{x:.043620194846605356,y:.7608238051533946},{x:.03802386744638545,y:.7540046604858821},{x:.03386542103699209,y:.746224754456429},{x:.03130466238185463,y:.7377830644907257},{x:.030439999999999995,y:.729004},{x:.030439999999999995,y:.05103000000000002}]],M:[[{x:-.0025190000000000004,y:.05103000000000002},{x:-.001654337618145367,y:.04225093550927423},{x:.0009064210369920944,y:.03380924554357098},{x:.005064867446385457,y:.026029339514117924},{x:.010661194846605361,y:.019210194846605383},{x:.017480339514117912,y:.013613867446385479},{x:.02526024554357096,y:.009455421036992116},{x:.03370193550927423,y:.006894662381854655},{x:.042481,y:.0060300000000000215},{x:.051260064490725774,y:.006894662381854655},{x:.05970175445642904,y:.009455421036992116},{x:.06748166048588208,y:.013613867446385486},{x:.07430080515339463,y:.019210194846605383},{x:.07989713255361454,y:.026029339514117924},{x:.0840555789630079,y:.03380924554357098},{x:.08661633761814536,y:.04225093550927425},{x:.087481,y:.05103000000000002},{x:.087481,y:.5631122522964573},{x:.26219554141599577,y:.26476777519375044},{x:.26376288989624813,y:.2626088267569117},{x:.2651577075441738,y:.2603345964826191},{x:.26634817172230724,y:.2590477232579252},{x:.26737807478439135,y:.2576290804774607},{x:.2693364970488442,y:.25581739014918375},{x:.271148193983327,y:.2538589739959976},{x:.27256684023788735,y:.25282907571933333},{x:.27385371747828813,y:.25163861588213104},{x:.27612795245761435,y:.25024380590572387},{x:.27828690618147356,y:.24867646470811877},{x:.2798792167324836,y:.24794311979268302},{x:.28137361418054185,y:.2470265916026687},{x:.2838762642998919,y:.24610226374330602},{x:.28629950743227456,y:.24498622954453103},{x:.28800429067823724,y:.24457762002415934},{x:.28964877947809164,y:.24397024514568044},{x:.29228366929688115,y:.24355192080462856},{x:.2948780779631802,y:.2429300821730634},{x:.29662982004000654,y:.24286191068247276},{x:.29836120340931876,y:.24258703019148947},{x:.3010270755894747,y:.24269078533857608},{x:.3036929481196057,y:.24258703918410057},{x:.30542433056167173,y:.24286192551544342},{x:.30717607240852984,y:.24293010291506947},{x:.3097704789772072,y:.24355195029817853},{x:.3124053673848756,y:.24397028352732772},{x:.31404985413590314,y:.24457766395304856},{x:.3157546360035206,y:.24498627922405064},{x:.3181778753712451,y:.24610232159698525},{x:.32068052237260675,y:.24702665789836697},{x:.32217491672899246,y:.24794319112932822},{x:.32376722480624953,y:.2486765414159958},{x:.3259261732430879,y:.2502438898962479},{x:.3282004035173809,y:.2516387075441738},{x:.329487276742075,y:.2528291717223074},{x:.3309059195225393,y:.2538590747843914},{x:.3327176098508159,y:.2558174970488439},{x:.33467602600400237,y:.257629193983327},{x:.3357059242806667,y:.2590478402378874},{x:.33689638411786893,y:.2603347174782881},{x:.3382911940942761,y:.2626089524576143},{x:.3398585352918812,y:.26476790618147356},{x:.514571,y:.5631111449291359},{x:.514571,y:.05103000000000002},{x:.5154356623818547,y:.04225093550927423},{x:.5179964210369922,y:.03380924554357098},{x:.5221548674463855,y:.026029339514117924},{x:.5277511948466054,y:.019210194846605383},{x:.5345703395141179,y:.013613867446385479},{x:.542350245543571,y:.009455421036992116},{x:.5507919355092743,y:.006894662381854655},{x:.559571,y:.0060300000000000215},{x:.5683500644907258,y:.006894662381854655},{x:.576791754456429,y:.009455421036992116},{x:.5845716604858822,y:.013613867446385486},{x:.5913908051533947,y:.019210194846605383},{x:.5969871325536146,y:.026029339514117924},{x:.6011455789630079,y:.03380924554357098},{x:.6037063376181454,y:.04225093550927425},{x:.6045710000000001,y:.05103000000000002},{x:.6045710000000001,y:.729004},{x:.6044399806971988,y:.7303342613054065},{x:.6044919608158994,y:.7316699481196056},{x:.6040085293496043,y:.7347148603514975},{x:.6037063376181454,y:.7377830644907257},{x:.6033183147080721,y:.7390622046001841},{x:.6031087164726723,y:.7403823673848756},{x:.6020405410986152,y:.7432744596816038},{x:.6011455789630079,y:.746224754456429},{x:.6005154639484909,y:.7474036167328832},{x:.600052342101633,y:.7486575223726067},{x:.5984404722003996,y:.7512856532491108},{x:.5969871325536146,y:.7540046604858821},{x:.596139140401289,y:.7550379419131618},{x:.5954402924558263,y:.7561774035173808},{x:.5933466712837743,y:.758440575377949},{x:.5913908051533947,y:.7608238051533946},{x:.5903575237261146,y:.7616717973057207},{x:.589449806016673,y:.7626530260040023},{x:.5869548902613284,y:.7644642664232344},{x:.5845716604858822,y:.7664201325536145},{x:.5833927982094276,y:.7670502475681318},{x:.5823110938185264,y:.7678355352918812},{x:.579510761693201,y:.7691252393162225},{x:.576791754456429,y:.7705785789630079},{x:.5755126143469705,y:.7709666018730812},{x:.5742984925677255,y:.7715257704554689},{x:.5713003592655512,y:.772244375482538},{x:.5683500644907258,y:.7731393376181454},{x:.5670198031853202,y:.7732703569209465},{x:.5657199220368199,y:.7735819178269366},{x:.5626392041392276,y:.7737018082685412},{x:.559571,y:.774004},{x:.5582407386945936,y:.7738729806971988},{x:.5569050518803944,y:.7739249608158993},{x:.5538601396485026,y:.7734415293496042},{x:.5507919355092743,y:.7731393376181454},{x:.5495127953998159,y:.772751314708072},{x:.5481926326151244,y:.7725417164726722},{x:.5453005403183963,y:.7714735410986151},{x:.542350245543571,y:.7705785789630079},{x:.5411713832671168,y:.7699484639484908},{x:.5399174776273933,y:.769485342101633},{x:.5372893467508892,y:.7678734722003996},{x:.5345703395141179,y:.7664201325536145},{x:.5335370580868383,y:.765572140401289},{x:.5323975964826192,y:.7648732924558262},{x:.5301344246220511,y:.7627796712837742},{x:.5277511948466054,y:.7608238051533946},{x:.5269032026942794,y:.7597905237261146},{x:.5259219739959977,y:.7588828060166729},{x:.5241107335767656,y:.7563878902613284},{x:.5221548674463855,y:.7540046604858821},{x:.5215247524318682,y:.7528257982094275},{x:.5207394647081188,y:.7517440938185264},{x:.30102684980758887,y:.3765575080608823},{x:.08131245858400418,y:.7517442248062496},{x:.0805272117946797,y:.752825865136849},{x:.07989713255361454,y:.7540046604858821},{x:.07794121846393844,y:.7563879486998997},{x:.0761299252156086,y:.7588829195225393},{x:.07514874916275306,y:.7597905823884902},{x:.07430080515339463,y:.7608238051533946},{x:.0719175169393771,y:.7627797192430708},{x:.06965428252171184,y:.764873384117869},{x:.06851488325078628,y:.7655721885442563},{x:.06748166048588208,y:.7664201325536145},{x:.06476258657702469,y:.7678735078373721},{x:.06213438581945812,y:.7694854083973313},{x:.06088054980546198,y:.7699484997219428},{x:.05970175445642904,y:.7705785789630079},{x:.056751387338174995,y:.7714735630437544},{x:.05385922052190834,y:.7725417548543195},{x:.05253913197970031,y:.7727513367372549},{x:.051260064490725774,y:.7731393376181454},{x:.04819178511684276,y:.773441536759571},{x:.0451467965906812,y:.7739249698085104},{x:.04381118578262464,y:.7738729881355436},{x:.042481,y:.774004},{x:.039412720626117295,y:.7737018008585744},{x:.03633192759147018,y:.7735818970849305},{x:.035032121291898165,y:.7732703494826018},{x:.03370193550927423,y:.7731393376181454},{x:.030751568391020223,y:.7722443535373988},{x:.02775336399647938,y:.7715257207759494},{x:.026539313032545114,y:.7709665798438982},{x:.02526024554357096,y:.7705785789630079},{x:.02254117163471342,y:.7691252036792503},{x:.01974077519375046,y:.7678354585840041},{x:.01865913486315115,y:.7670502117946798},{x:.017480339514117912,y:.7664201325536145},{x:.015097051300099952,y:.7644642184639381},{x:.012602080477460715,y:.7626529252156086},{x:.011694417611510011,y:.7616717491627533},{x:.010661194846605361,y:.7608238051533946},{x:.008705280756928618,y:.7584405169393763},{x:.006611615882131057,y:.7561772825217118},{x:.005912811455744052,y:.7550378832507868},{x:.005064867446385457,y:.7540046604858821},{x:.0036114921626275165,y:.7512855865770239},{x:.0019995916026687363,y:.7486573858194581},{x:.0015365002780573323,y:.7474035498054622},{x:.0009064210369920944,y:.746224754456429},{x:11436956245516774e-21,y:.7432743873381747},{x:-.0010567548543195318,y:.7403822205219084},{x:-.0012663367372549837,y:.7390621319797002},{x:-.001654337618145367,y:.7377830644907257},{x:-.0019565367595708303,y:.7347147851168438},{x:-.0024399698085105087,y:.7316697965906812},{x:-.0023879881355436095,y:.730334185782624},{x:-.0025190000000000004,y:.729004},{x:-.0025190000000000004,y:.05103000000000002}]],N:[[{x:.022871000000000002,y:.05103000000000002},{x:.023735662381854636,y:.04225093550927423},{x:.026296421036992097,y:.03380924554357098},{x:.03045486744638546,y:.026029339514117924},{x:.036051194846605364,y:.019210194846605383},{x:.042870339514117915,y:.013613867446385479},{x:.05065024554357096,y:.009455421036992116},{x:.05909193550927423,y:.006894662381854655},{x:.067871,y:.0060300000000000215},{x:.07665006449072577,y:.006894662381854655},{x:.08509175445642904,y:.009455421036992116},{x:.0928716604858821,y:.013613867446385486},{x:.09969080515339464,y:.019210194846605383},{x:.10528713255361455,y:.026029339514117924},{x:.10944557896300791,y:.03380924554357098},{x:.11200633761814537,y:.04225093550927425},{x:.112871,y:.05103000000000002},{x:.112871,y:.5841703094604355},{x:.49710429367778214,y:.025528669675955993},{x:.4971050718109503,y:.02552774709009411},{x:.49710565506134197,y:.025526690456344234},{x:.49994880496714983,y:.022156103119426583},{x:.5027917749380927,y:.01878536401177818},{x:.5027927181072235,y:.018784610959395015},{x:.5027934962896407,y:.018783688415073364},{x:.5062395848358414,y:.016032536999645196},{x:.5096855265142521,y:.01328120162562755},{x:.5096865984738844,y:.013280647046104224},{x:.5096875416832135,y:.013279894044071351},{x:.5136041376200112,y:.011253903755746949},{x:.5175206253992491,y:.009227704391234041},{x:.5175217849545753,y:.009227369596750634},{x:.5175228569438108,y:.00922681507445236},{x:.5217594476858983,y:.008003843583871996},{x:.5259959731369073,y:.006780645934087934},{x:.5259971757268666,y:.006780543790608634},{x:.5259983353000632,y:.006780209058025982},{x:.5303921110410749,y:.006407254473822295},{x:.5347858668666982,y:.00603406533837119},{x:.5347870662764328,y:.00603419977121261},{x:.5347882688718429,y:.006034097691931008},{x:.5391703792739257,y:.006525492449663053},{x:.5435525159020149,y:.007016653277689966},{x:.5435536660388816,y:.007017019120673398},{x:.543554865441438,y:.007017153617542397},{x:.547756908459233,y:.008354013692199154},{x:.5519590228368241,y:.009690649448577907},{x:.5519600795017079,y:.0096912326425627},{x:.551961229619043,y:.009691598546943021},{x:.555821723096155,y:.01182254915564361},{x:.559682330324044,y:.013953293677782128},{x:.5596832529099061,y:.01395407181095043},{x:.5596843095436558,y:.013954655061341997},{x:.5630548968806759,y:.016797804967236304},{x:.5664256359882218,y:.01964077493809272},{x:.5664263890406048,y:.019641718107223288},{x:.5664273115849267,y:.019642496289640633},{x:.5691784630004857,y:.02308858483600535},{x:.5719297983743725,y:.026534526514252196},{x:.5719303529538958,y:.0265355984738845},{x:.5719311059559287,y:.0265365416832135},{x:.5739570962443242,y:.03045313762014873},{x:.575983295608766,y:.03436962539924916},{x:.5759836304032494,y:.03437078495457533},{x:.5759841849255477,y:.0343718569438108},{x:.5772071564160691,y:.03860844768569421},{x:.5784303540659121,y:.04284497313690728},{x:.5784304562093915,y:.04284617572686688},{x:.578430790941974,y:.042847335300063204},{x:.5788037455260991,y:.04724111104014873},{x:.5791769346616289,y:.05163486686669809},{x:.5791768002287875,y:.05163606627643281},{x:.5791769023080691,y:.05163726887184294},{x:.5700269023080691,y:.7296112688718429},{x:.5690438463824576,y:.738377865441438},{x:.566369401453057,y:.746784229619043},{x:.5621063449386581,y:.7545073095436557},{x:.5564185037103594,y:.7612503115849266},{x:.5495244583167865,y:.7667541059559286},{x:.5416891430561892,y:.7708071849255477},{x:.5332136646999368,y:.773253790941974},{x:.5244237311281571,y:.773999902308069},{x:.515657134558562,y:.7730168463824576},{x:.507250770380957,y:.770342401453057},{x:.49952769045634426,y:.766079344938658},{x:.4927846884150734,y:.7603915037103594},{x:.4872808940440714,y:.7534974583167865},{x:.4832278150744524,y:.7456621430561892},{x:.480781209058026,y:.7371866646999369},{x:.48003509769193103,y:.7283967311281571},{x:.48718300813543913,y:.19876859615253395},{x:.10494770632221789,y:.754505330324044},{x:.1022980223560627,y:.75764690179997},{x:.09969080515339464,y:.7608238051533946},{x:.09945603456444842,y:.7610164763964532},{x:.09926022506190729,y:.7612486359882218},{x:.09604856383930557,y:.7638129153509474},{x:.0928716604858821,y:.7664201325536145},{x:.09260381265312083,y:.7665633002029657},{x:.09236647348574781,y:.7667527983743725},{x:.08871625734636118,y:.7686412418060533},{x:.08509175445642904,y:.7705785789630079},{x:.08480112262185491,y:.7706667411661766},{x:.08453137460075086,y:.770806295608766},{x:.08058287930375276,y:.7719463312873718},{x:.07665006449072577,y:.7731393376181454},{x:.07634781747275289,y:.773169106351106},{x:.07605602686309273,y:.7732533540659121},{x:.07196099086840901,y:.7736011710596524},{x:.067871,y:.774004},{x:.06756875298202693,y:.7739742312670393},{x:.06726613313330192,y:.7739999346616289},{x:.06318192637768459,y:.7735421665584931},{x:.05909193550927423,y:.7731393376181454},{x:.05880130367469977,y:.7730511754149765},{x:.05849948409798508,y:.77301734672231},{x:.054583060356599135,y:.7717715852937818},{x:.05065024554357096,y:.7705785789630079},{x:.0503823977108098,y:.7704354113136568},{x:.050092977163175983,y:.7703433505514221},{x:.04649484240404986,y:.768357469710569},{x:.042870339514117915,y:.7664201325536145},{x:.04263556892517204,y:.7662274613105563},{x:.04236966967595597,y:.7660807063222179},{x:.03922809820002561,y:.7634310223560591},{x:.036051194846605364,y:.7608238051533946},{x:.03585852360354703,y:.7605890345644487},{x:.035626364011778155,y:.7603932250619073},{x:.033062084649052234,y:.7571815638393052},{x:.03045486744638546,y:.7540046604858821},{x:.030311699797034096,y:.7537368126531205},{x:.03012220162562753,y:.7534994734857478},{x:.028233758193948882,y:.7498492573463653},{x:.026296421036992097,y:.746224754456429},{x:.026208258833823234,y:.7459341226218545},{x:.026068704391234022,y:.7456643746007509},{x:.02492866871262922,y:.741715879303756},{x:.023735662381854636,y:.7377830644907257},{x:.023705893648893955,y:.7374808174727527},{x:.023621645934087915,y:.7371890268630927},{x:.023273828940347806,y:.7330939908684111},{x:.022871000000000002,y:.729004},{x:.022871000000000002,y:.05103000000000002}]],O:[[{x:.012131736117046842,y:.4355587711738732},{x:.012426138979982786,y:.43287355609157196},{x:.012514983726773468,y:.43017371170811375},{x:.012905745911416293,y:.42849911573111366},{x:.01309315536666239,y:.42678977537085305},{x:.07316415536666239,y:.1412837753708531},{x:.07429915106219231,y:.13768552483470178},{x:.07533122192175289,y:.13405641311271962},{x:.07562440736087628,y:.1334840955199844},{x:.07581784742995093,y:.1328708369543332},{x:.07763301835724021,y:.12956315246900071},{x:.0793532628391043,y:.12620512014747703},{x:.07975246842568721,y:.12570099711853563},{x:.0800618324091279,y:.12513726042963025},{x:.08248742256740031,y:.1222472544549173},{x:.0848297326408542,y:.1192893488327618},{x:.1660597326408542,y:.03517334883276172},{x:.16792084009780786,y:.033590824390739155},{x:.16963596886504836,y:.031851158363102774},{x:.17127304088861567,y:.03074040344046043},{x:.172780173663761,y:.0294588683817891},{x:.1749142556657825,y:.0282698357562587},{x:.17693582072022015,y:.026898201947035502},{x:.17875813439943417,y:.026128166777013812},{x:.18048632312818114,y:.025165283073572443},{x:.1828113681007397,y:.02441543612151622},{x:.18506168183103927,y:.023464545648773483},{x:.2739246818310393,y:-.0041824543512264944},{x:.2748960678404206,y:-.004382857312604547},{x:.27582577451608603,y:-.004728396924478621},{x:.2792086173377598,y:-.005272563034129881},{x:.28256427991205235,y:-.0059648570457577},{x:.28355609768991147,y:-.005971901311054349},{x:.2845353517466465,y:-.006129424701440567},{x:.287959355733624,y:-.0060031749164705245},{x:.2913856000541485,y:-.006027509400590186},{x:.29235973459950004,y:-.005840924262640544},{x:.29335090385307644,y:-.005804377895986514},{x:.3811419038530764,y:.006122622104013507},{x:.38318930529213563,y:.00660893405691686},{x:.3852758334501729,y:.006882342567970358},{x:.387470347489584,y:.0076257947232155985},{x:.38972465411174423,y:.008161252125438313},{x:.3916378405507577,y:.009037647936572414},{x:.39363093730084414,y:.009712864429997858},{x:.3956382440479665,y:.010870159811164118},{x:.3977447722434711,y:.011835121954387393},{x:.39945022100051475,y:.01306792222421872},{x:.4012732927522862,y:.01411899850883961},{x:.4916652927522862,y:.07880999850883955},{x:.49276799959381884,y:.07977586317754862},{x:.49398769122063274,y:.08058901093294302},{x:.4960788615418114,y:.08267585840574071},{x:.4983012083703825,y:.08462241954283417},{x:.4991942961599152,y:.08578485282556958},{x:.5002319144966787,y:.08682032620708877},{x:.5018757798210403,y:.08927504258220473},{x:.5036756696393939,y:.09161775945128844},{x:.5043248175140242,y:.09293208968889465},{x:.5051404874699588,y:.09415009603518716},{x:.5560304874699588,y:.18912209603518723},{x:.5570965448702581,y:.19168827319789875},{x:.5583465570022521,y:.1941700494329812},{x:.5587848767756364,y:.19575236841213633},{x:.559414776433869,y:.19726864147332673},{x:.5599597135111237,y:.1999934877429328},{x:.5607015364856348,y:.20267144261291137},{x:.5892585364856349,y:.36700144261291134},{x:.5895780755292599,y:.371318367211785},{x:.589913428370686,y:.37563409214099147},{x:.5899036127276142,y:.3757163259822715},{x:.58990972616553,y:.3757989176124618},{x:.5893809351459178,y:.38009523269056544},{x:.5888678881103582,y:.38439345626922305},{x:.5314878881103581,y:.6446844562692231},{x:.5303800126922803,y:.6480826863142071},{x:.5293998170293023,y:.651519919480997},{x:.5290148883003433,y:.6522699863013032},{x:.5287535704445262,y:.6530715368858165},{x:.5270040207481954,y:.6561883351212919},{x:.5253720883446767,y:.6593682961290664},{x:.5248482251358019,y:.6600288547560561},{x:.5244355536676654,y:.6607640231862051},{x:.522111563906752,y:.6634796128039058},{x:.5198906090097624,y:.6662800975344761},{x:.4528876090097624,y:.7355630975344761},{x:.4513498405668143,y:.7368687638478525},{x:.44995999895015265,y:.7383308981052339},{x:.44799560298794544,y:.7397167316507253},{x:.4461630292013509,y:.741272707045399},{x:.44440008568631667,y:.7422532816059559},{x:.4427517012434998,y:.743416176715023},{x:.4405546878862334,y:.7443921472166956},{x:.43845377075029196,y:.7455607075703166},{x:.43653340109378364,y:.7461785074476045},{x:.43468982031452474,y:.7469974740014746},{x:.32025082031452473,y:.7849044740014746},{x:.3162756641960007,y:.785800462676764},{x:.3123143949565378,y:.7867559771378485},{x:.3119757732525013,y:.7867696456410259},{x:.3116451697261732,y:.786844162718285},{x:.30757159639863574,y:.7869474207351895},{x:.30350003021295163,y:.7871117699623142},{x:.30316524843732107,y:.7870591140117537},{x:.302826459804451,y:.7870677017158569},{x:.29881101440639224,y:.7863742609266953},{x:.29478561927964103,y:.7857411290712295},{x:.173234619279641,y:.7541621290712296},{x:.17180894449846637,y:.7536379076298808},{x:.17032768986057922,y:.753301394035824},{x:.16767817066393412,y:.7521190197025511},{x:.16495505208167519,y:.7511177274253745},{x:.16365904177145735,y:.7503254433998781},{x:.16227189957151614,y:.7497064173758784},{x:.15990395993272244,y:.7480298664806163},{x:.1574285077432372,y:.7465165596726792},{x:.15631196685338702,y:.745486660093817},{x:.15507224418821702,y:.7446089104628228},{x:.08487024418821705,y:.6837459104628228},{x:.08477922863788438,y:.6836498346778195},{x:.08467166808724909,y:.6835727301071804},{x:.08174665618590948,y:.6804486588585436},{x:.07880340242944883,y:.6773417676286113},{x:.07873287917322891,y:.6772297816598538},{x:.07864242772392874,y:.6771331746094597},{x:.07638309517198695,y:.6734984900001298},{x:.07410251962167697,y:.6698770964908778},{x:.07405519882875666,y:.6697535038963435},{x:.0739853324792622,y:.6696411069209627},{x:.07247850415964274,y:.6656354878421232},{x:.07094824805491862,y:.6616387601752097},{x:.07092594823683183,y:.6615083105489945},{x:.0708793519117729,y:.6613844430013583},{x:.013660351911772894,y:.4476944430013583},{x:.013380528959940628,y:.4459977798389246},{x:.012899536483696877,y:.44434683677239306},{x:.012664423003084308,y:.4416557821956227},{x:.012224847112815455,y:.43899048181468664},{x:.012281403443251489,y:.4372718288093888},{x:.012131736117046842,y:.4355587711738732}],[{x:.10337829031332789,y:.4348001396911351},{x:.15424861715004387,y:.6247803934833692},{x:.2060651876410252,y:.6697037849792326},{x:.3045603004668897,y:.6952928559694175},{x:.3958853477721772,y:.6650421672339206},{x:.4463402797077116,y:.6128703383711886},{x:.499069598507425,y:.373676069990286},{x:.47327322171072966,y:.22523195474705573},{x:.4307624349909165,y:.1458974207255564},{x:.35796896612556683,y:.09380119213930618},{x:.2911281310221294,y:.08472041346861442},{x:.22279798440939425,y:.10597924519162948},{x:.15856873728877424,y:.17249047688925445},{x:.10337829031332789,y:.4348001396911351}]],P:[[{x:.025556999999999996,y:.05103000000000002},{x:.02642166238185463,y:.04225093550927423},{x:.02898242103699209,y:.03380924554357098},{x:.033140867446385454,y:.026029339514117924},{x:.03873719484660536,y:.019210194846605383},{x:.04555633951411791,y:.013613867446385479},{x:.053336245543570956,y:.009455421036992116},{x:.061777935509274226,y:.006894662381854655},{x:.070557,y:.0060300000000000215},{x:.07933606449072576,y:.006894662381854655},{x:.08777775445642903,y:.009455421036992116},{x:.09555766048588209,y:.013613867446385486},{x:.10237680515339463,y:.019210194846605383},{x:.10797313255361454,y:.026029339514117924},{x:.1121315789630079,y:.03380924554357098},{x:.11469233761814536,y:.04225093550927425},{x:.11555699999999999,y:.05103000000000002},{x:.11555699999999999,y:.3249696679740436},{x:.22632413005583354,y:.32573306868659574},{x:.22797244585475993,y:.3259068917113995},{x:.2296296407459454,y:.32587748916779646},{x:.3399906407459454,y:.3347734891677965},{x:.3425199358315593,y:.3352301100895628},{x:.3450781711944775,y:.33547763407671893},{x:.4262801711944775,y:.3514846340767189},{x:.43023360415359113,y:.35267647626036297},{x:.4342017122431381,y:.35381850872164355},{x:.49034871224313803,y:.3761405087216436},{x:.49223471805815816,y:.37711419756221787},{x:.49421014578428074,y:.3778905822551455},{x:.4961445509948513,y:.379132728294546},{x:.49818726580808836,y:.3801873213410173},{x:.49984707528076383,y:.38151024250532195},{x:.5016330805772936,y:.3826570960152846},{x:.5368430805772937,y:.4104950960152846},{x:.538268982488492,y:.41186995272090265},{x:.539835277869678,y:.41308244849417974},{x:.5414366048100854,y:.41492417879038607},{x:.5431934850553138,y:.4166181652891421},{x:.5443237674236908,y:.41824478417169497},{x:.5456234206874699,y:.41973955124896434},{x:.546834674823181,y:.4218582966024136},{x:.5482273167355989,y:.4238624839583804},{x:.5490185434436073,y:.4256783549664296},{x:.5500016096439067,y:.4273979502871872},{x:.5725636096439066,y:.4777629502871872},{x:.5732747072201834,y:.47988746499756846},{x:.5741879174558705,y:.48193325814034926},{x:.5746713208988057,y:.4840600657825243},{x:.5753635933927087,y:.4861283376286891},{x:.5756465551694752,y:.4883507586397718},{x:.5761431038835471,y:.49053540091990977},{x:.5762022992770958,y:.49271564988294925},{x:.5764777701286589,y:.49487923612929946},{x:.5763217220435205,y:.4971141570479765},{x:.5763825271473633,y:.4993536938878067},{x:.5706825271473633,y:.5794656938878067},{x:.5700654182420953,y:.5830779192715516},{x:.5695689975224034,y:.5867086990904052},{x:.5693236589408173,y:.5874197813867033},{x:.5691969863455608,y:.5881612549906394},{x:.5678870248015591,y:.5915836805014664},{x:.5666918126627678,y:.5950478490261242},{x:.5415328126627678,y:.6498468490261241},{x:.5413708296623262,y:.6501242105110185},{x:.5412617638147841,y:.650426323944409},{x:.5391478795722351,y:.653930540410781},{x:.5370840246571379,y:.6574644536133865},{x:.536871043573226,y:.6577048843594048},{x:.5367051339883567,y:.6579799150765678},{x:.5339482287199508,y:.661004400648547},{x:.5312345979336611,y:.6640677725799057},{x:.5309788035098929,y:.664262032968313},{x:.5307624259999995,y:.6644994116930277},{x:.47414742599999943,y:.7155204116930277},{x:.47266946719886654,y:.7166100541651699},{x:.4713261182021025,y:.7178618913781634},{x:.46912758296129603,y:.7192213498885075},{x:.46704701478499566,y:.7207552731949938},{x:.4653848758470294,y:.7215356430341334},{x:.4638231175995642,y:.7225013521577397},{x:.4283261175995643,y:.7398953521577398},{x:.4243082080780145,y:.7413960258251278},{x:.4202985181688539,y:.7429185254841078},{x:.34090751816885384,y:.7644395254841077},{x:.3408415384597873,y:.7644506164558663},{x:.3407789202555512,y:.7644741810938074},{x:.33649241770984384,y:.7651816893280429},{x:.33220802793590354,y:.7659018811363755},{x:.33214115226719376,y:.7658998869955335},{x:.33207514002138977,y:.7659107826399355},{x:.2099811400213898,y:.7739077826399355},{x:.20641155146718015,y:.773790767187745},{x:.20284008504333162,y:.7738075792583221},{x:.0663570850433316,y:.7610135792583221},{x:.06408313636872824,y:.7605723800858132},{x:.061777935509274226,y:.7603453376181454},{x:.05976354040438703,y:.759734277543603},{x:.05769704052657306,y:.7593333282846051},{x:.05555285882676713,y:.7584569812513055},{x:.053336245543570956,y:.7577845789630079},{x:.05147976838249502,y:.7567922712467745},{x:.04953119704042999,y:.7559958719887517},{x:.04759918201567506,y:.7547180546196904},{x:.04555633951411791,y:.7536261325536145},{x:.043929123673028744,y:.7522907110247322},{x:.04217336337061703,y:.7511294669445447},{x:.04052776127482757,y:.7494992850446065},{x:.03873719484660536,y:.7480298051533947},{x:.037401773317722896,y:.7464025893123053},{x:.03590629693874444,y:.7449211263687215},{x:.034610347337597366,y:.7430012269141045},{x:.033140867446385454,y:.7412106604858821},{x:.032148559730151835,y:.7393541833248057},{x:.030970837593177758,y:.7376094333079335},{x:.030074343103068113,y:.7354735969579864},{x:.02898242103699209,y:.733430754456429},{x:.028371360962449563,y:.7314163593515414},{x:.027556652268729623,y:.729475372026062},{x:.027094064670152376,y:.7272056777739226},{x:.02642166238185463,y:.7249890644907258},{x:.02621533264498147,y:.722894163516222},{x:.025794946192721373,y:.7208315299365354},{x:.02578404246766777,y:.7185152008594541},{x:.025556999999999996,y:.71621},{x:.025556999999999996,y:.05103000000000002}],[{x:.11555699999999999,y:.414971805397996},{x:.11555699999999999,y:.6752310456989574},{x:.20767337575712835,y:.6838660911730216},{x:.3217031184787672,y:.6763972896549704},{x:.3925929523867085,y:.6571807523203506},{x:.4185706758911827,y:.6444513238436673},{x:.46361487793542,y:.6038578374443203},{x:.4814895996448674,y:.5649247767123354},{x:.48580725170954087,y:.5042413131675768},{x:.4723746184159119,y:.474255736718963},{x:.45098032059796866,y:.45734081304228297},{x:.40480552914494095,y:.4389833995595593},{x:.3301954695220376,y:.42427584033215343},{x:.22404845814303564,y:.41571952231013837},{x:.11555699999999999,y:.414971805397996}]],Q:[[{x:.012134510452571898,y:.39776120903599943},{x:.012467756958298536,y:.3937322544040442},{x:.012734737801221134,y:.38969836671479857},{x:.012831073490929856,y:.38933975275179394},{x:.012861682585025715,y:.38896968840207613},{x:.0716656825850257,y:.06709568840207614},{x:.07243605319674906,y:.06440524795975149},{x:.07301096718930201,y:.06166637692330789},{x:.07364750148994079,y:.06017438890024393},{x:.07409402290033937,y:.05861495861744442},{x:.07537446994903126,y:.05612650608452361},{x:.07647266436288541,y:.053552421842995857},{x:.07738804025928744,y:.05221328363312273},{x:.0781302116420243,y:.05077092937167972},{x:.07987152826568633,y:.04858009458346291},{x:.08145080010539194,y:.04626971775068952},{x:.16096480010539196,y:-.04855928224931053},{x:.16315500529851779,y:-.05070373085173594},{x:.16521251383898505,y:-.052975804178533654},{x:.1663001767861927,y:-.05378319510572523},{x:.1672680674520078,y:-.05473086511953138},{x:.1698345496348827,y:-.056406820906963286},{x:.172295783242646,y:-.058233836978172464},{x:.17352006120728586,y:-.058813521600477286},{x:.17465423537351554,y:-.059554156299027654},{x:.17749836607515132,y:-.06069721323044178},{x:.18026874092294012,y:-.06200896084304842},{x:.2672567409229401,y:-.09317596084304836},{x:.2695830047845554,y:-.09375972267138269},{x:.2718475349769373,y:-.09454977610873284},{x:.2738508793967248,y:-.09483071995927067},{x:.27581299058749986,y:-.09532309988014809},{x:.2782084422243766,y:-.09544181332278269},{x:.28058359188359605,y:-.09577489818042065},{x:.2826032520283714,y:-.0956596106656824},{x:.28462372036011635,y:-.09575974074040533},{x:.28699630390923414,y:-.09540884370631499},{x:.2893907973658866,y:-.09527215971995788},{x:.3753267973658866,y:-.08182715971995795},{x:.37840631600914065,y:-.08102976437129623},{x:.38152495221950905,y:-.08040256216817918},{x:.38266795913198753,y:-.07992627554804835},{x:.3838666954562622,y:-.07961588068444121},{x:.38673147789694834,y:-.07823302278004476},{x:.38966782930723504,y:-.07700945634885908},{x:.3906959547522998,y:-.07631933185595965},{x:.3918111026603398,y:-.07578103928710583},{x:.3943510569158511,y:-.07386586128072498},{x:.3969922811880835,y:-.07209295159323717},{x:.45217017177581864,y:-.026613783173476364},{x:.5097585536672307,y:-.09873256043298734},{x:.5159122791302333,y:-.10505326271144577},{x:.5231808703268614,y:-.11005198218579294},{x:.5312849993737013,y:-.11353662086994384},{x:.5399132291363312,y:-.11537326605347448},{x:.5487339815837399,y:-.1154913364919842},{x:.5574082801461085,y:-.11388629480473579},{x:.5656027763942881,y:-.11061982184365243},{x:.5730025604329874,y:-.10581744633276943},{x:.5793232627114457,y:-.0996637208697668},{x:.5843219821857929,y:-.09239512967313873},{x:.5878066208699438,y:-.08429100062629874},{x:.5896432660534744,y:-.07566277086366895},{x:.5897613364919841,y:-.06684201841626024},{x:.5881562948047357,y:-.058167719853891554},{x:.5848898218436525,y:-.04997322360571205},{x:.5800874463327694,y:-.042573439567012816},{x:.5106129498444961,y:.04443049374200151},{x:.5474711182959175,y:.12365010382899572},{x:.5481373073434039,y:.1255496832776173},{x:.5490025186311253,y:.12736726941208848},{x:.5495935209593992,y:.1297019482663393},{x:.5503905347901464,y:.13197456307270286},{x:.5506733336355601,y:.13396760967066554},{x:.5511673266667299,y:.13591906574595297},{x:.5791213266667299,y:.32118306574595296},{x:.5792865967797204,y:.3243841932678159},{x:.5796238248970751,y:.32757179562983435},{x:.579513579388425,y:.3287806341158348},{x:.5795761658223595,y:.3299928748079828},{x:.5791137513174164,y:.3331647361616822},{x:.5788226293197903,y:.33635687958013644},{x:.5226546293197903,y:.6297998795801365},{x:.5219105438778229,y:.6323181740447382},{x:.521369234544533,y:.6348876981954499},{x:.5206636104444891,y:.6365383151545928},{x:.5201549436340621,y:.6382598551025291},{x:.5189338607071872,y:.6405845973766512},{x:.5179016631869613,y:.6429991446291672},{x:.5168875780620563,y:.6444803850133782},{x:.5160528293589531,y:.6460696100820955},{x:.5144016744792594,y:.6481114616238732},{x:.5129182555439367,y:.6502782422813739},{x:.4473292555439367,y:.7283852422813738},{x:.4454767413796947,y:.7301964293264013},{x:.4437773055972873,y:.732151966404103},{x:.44233025961343425,y:.7332727172827731},{x:.4410215211764534,y:.7345522595114605},{x:.4388512574885805,y:.735967237520439},{x:.4368029695300015,y:.737553656027496},{x:.4351650804791521,y:.7383705673253327},{x:.43363186277883553,y:.7393702013057781},{x:.431227251583759,y:.7403345934673514},{x:.4289088260065632,y:.7414909282302113},{x:.3168848260065632,y:.7842309282302113},{x:.31544522398579106,y:.7846236280557255},{x:.31406876767085296,y:.7851998529634103},{x:.3111991137964475,y:.7857818972901452},{x:.30837424253549156,y:.7865524758495462},{x:.30688569012846406,y:.7866567776362199},{x:.305423266132861,y:.7869533972381565},{x:.30249520063786056,y:.7869644160479279},{x:.2995742760667897,y:.7871690831124285},{x:.29809397750772,y:.7869809786010931},{x:.2966017859654652,y:.7869865939723252},{x:.2937278327647654,y:.7864261638184524},{x:.2908231043767717,y:.786057054147543},{x:.2894079467091229,y:.7855837720890787},{x:.28794333170435554,y:.785298167434039},{x:.16895933170435556,y:.7496931674340391},{x:.16685145995859063,y:.7488293371508981},{x:.16467103610787698,y:.748169732810473},{x:.1627799564873854,y:.7471607878174731},{x:.16079664289106937,y:.7463480029082842},{x:.1588977982379503,y:.7450895455041626},{x:.15688795304330724,y:.7440172356850165},{x:.15523004539103946,y:.7426587459550258},{x:.15344340707901263,y:.7414746531917952},{x:.15182656105367498,y:.739869930478983},{x:.1500645317387979,y:.7384261234461069},{x:.08134353173879794,y:.6698101234461069},{x:.07898814712174665,y:.6669445493412297},{x:.07654417665723892,y:.6641541443502993},{x:.0761910053095167,y:.6635415309608049},{x:.07574199244846258,y:.6629952594015535},{x:.07399091166125166,y:.6597252337561722},{x:.07213828241215867,y:.6565116506297859},{x:.07191141209628055,y:.6558419081228384},{x:.07157759918584938,y:.6552185349547689},{x:.07049811528111428,y:.6516697230205841},{x:.06930802275051184,y:.6481564579560907},{x:.013298022750511833,y:.4072474579560906},{x:.013249789700227431,y:.40687927578320093},{x:.013136451320225305,y:.40652566731159423},{x:.012677284531251238,y:.4025091147450468},{x:.012152162963867598,y:.3985006516980174},{x:.01217668547678935,y:.39813013424102855},{x:.012134510452571898,y:.39776120903599943}],[{x:.1030741934540208,y:.3959601630333355},{x:.15405220468618464,y:.6152256818322884},{x:.20562817178182732,y:.6667228451191239},{x:.2990925609035841,y:.6946913078929434},{x:.38591644511804135,y:.6615657918309754},{x:.4364618489221904,y:.6013735361946543},{x:.4889800495366121,y:.3269984766785998},{x:.4631403994395801,y:.1557472448128009},{x:.4478929247459949,y:.12297570323093639},{x:.3763894463327694,y:.21252056043298723},{x:.3702357208697667,y:.2188412627114457},{x:.36296712967313866,y:.22383998218579282},{x:.35486300062629866,y:.22732462086994373},{x:.34623477086366883,y:.22916126605347437},{x:.3374140184162602,y:.2292793364919841},{x:.3287397198538915,y:.22767429480473567},{x:.32054522360571197,y:.22440782184365232},{x:.31314543956701274,y:.21960544633276935},{x:.3068247372885543,y:.2134517208697667},{x:.30182601781420715,y:.20618312967313862},{x:.2983413791300562,y:.19807900062629863},{x:.2965047339465256,y:.18945077086366885},{x:.29638666350801585,y:.18063001841626014},{x:.2979917051952643,y:.17195571985389144},{x:.30125817815634764,y:.16376122360571194},{x:.3060605536672306,y:.1563614395670127},{x:.3960043024488616,y:.04372356068896105},{x:.3492507773512258,y:.005187991106938553},{x:.28681342879982186,y:-.004580559340762309},{x:.22209853619564562,y:.018606191220169738},{x:.15806156000107346,y:.09497717514193305},{x:.1030741934540208,y:.3959601630333355}]],R:[[{x:-.010088,y:.05588800000000005},{x:-.009223337618145366,y:.04710893550927426},{x:-.006662578963007905,y:.03866724554357101},{x:-.0025041325536145423,y:.030887339514117953},{x:.0030921948466053617,y:.024068194846605412},{x:.009911339514117913,y:.018471867446385508},{x:.01769124554357096,y:.014313421036992145},{x:.02613293550927423,y:.011752662381854684},{x:.034912,y:.01088800000000005},{x:.043691064490725774,y:.011752662381854684},{x:.05213275445642904,y:.014313421036992145},{x:.059912660485882105,y:.018471867446385515},{x:.06673180515339464,y:.024068194846605412},{x:.07232813255361453,y:.030887339514117953},{x:.0764865789630079,y:.03866724554357101},{x:.07904733761814536,y:.04710893550927428},{x:.079912,y:.05588800000000005},{x:.079912,y:.36648688236049143},{x:.25933152798675563,y:.3728389247505383},{x:.2598033776805002,y:.3702688775066002},{x:.2630584474090824,y:.36206984491555727},{x:.26785052379396923,y:.35466338703825},{x:.5319365237939692,y:.022999387038250052},{x:.5380814500271169,y:.016670129897313986},{x:.5453430800394999,y:.011661303295187019},{x:.5534423534621115,y:.008165393629206541},{x:.5620680197594453,y:.00631674674730745},{x:.5708885994130244,y:.006186405112428031},{x:.5795651224933998,y:.00777937768050025},{x:.5877641550844427,y:.011034447409082423},{x:.59517061296175,y:.015826523793969254},{x:.601499870102686,y:.021971450027116944},{x:.606508696704813,y:.02923308003949996},{x:.6100046063707935,y:.03733235346211146},{x:.6118532532526926,y:.04595801975944533},{x:.6119835948875719,y:.05477859941302443},{x:.6103906223194997,y:.06345512249339977},{x:.6071355525909176,y:.07165415508444274},{x:.6023434762060308,y:.07906061296174999},{x:.36492288462028066,y:.3772356888373974},{x:.45122307475864126,y:.3907421966461853},{x:.4517263325772421,y:.3908725352482557},{x:.4522445282141884,y:.3909141268943158},{x:.4559919550269364,y:.3919772876167318},{x:.459762859565968,y:.3929539131315124},{x:.46023101962685037,y:.3931799280437793},{x:.4607311441523136,y:.39332181547170203},{x:.5072261441523136,y:.41160281547170213},{x:.5099186672764574,y:.4129799887569096},{x:.5126912264123276,y:.4141879634543456},{x:.5138373975854011,y:.41498434320238026},{x:.5150799754049854,y:.4156198976243936},{x:.5174520892726079,y:.41749589411441484},{x:.5199357102894067,y:.4192215573713852},{x:.5536387102894067,y:.4479225573713852},{x:.5544422891842978,y:.4487559165260936},{x:.5553578681885658,y:.44946439490120116},{x:.5574982196806069,y:.4519250983842071},{x:.5597619879819907,y:.4542727608851649},{x:.5603875460278954,y:.4552468777427617},{x:.5611473151639865,y:.4561203635073251},{x:.5627664809673836,y:.45895134712470415},{x:.5645287453623273,y:.46169553923588524},{x:.5649522427143585,y:.46277297903182424},{x:.5655270044804562,y:.4637779046177677},{x:.5843050044804562,y:.5056739046177676},{x:.5856980535944053,y:.5098331481877504},{x:.5870956418010017,y:.5139908687307394},{x:.5870987900445207,y:.5140153439302019},{x:.587106627133701,y:.514038743222053},{x:.5876614810321307,y:.5183898384933372},{x:.5882210839336397,y:.522740325535193},{x:.5899430839336397,y:.580600325535193},{x:.589777587866933,y:.5830153029012521},{x:.5898269599494498,y:.5854354407122341},{x:.5894767504310368,y:.5874052295805413},{x:.5893399666658296,y:.589401226848592},{x:.5887065118476329,y:.5917375144207835},{x:.5882827897945603,y:.5941207819778186},{x:.5699357897945603,y:.6593647819778187},{x:.5695566600666073,y:.6603356321127045},{x:.5693270257483343,y:.6613522723710545},{x:.5679549854437747,y:.6644370937206254},{x:.5667268644118839,y:.6675819841936177},{x:.5661656160899001,y:.668460215174679},{x:.5657420574552864,y:.6694125215424361},{x:.5637945617300048,y:.6721703971299327},{x:.5619765010042908,y:.6750152648867381},{x:.5612547025465381,y:.6757671267898905},{x:.5606534967163777,y:.6766185026674012},{x:.5398464967163776,y:.7006785026674012},{x:.5387925287989109,y:.70167944573824},{x:.5378793324857355,y:.7028102896247742},{x:.535601038014175,y:.7047103734673366},{x:.5334498940671065,y:.7067532939324781},{x:.5322209035416287,y:.707529385222465},{x:.5311046373415733,y:.7084603444980107},{x:.5029396373415734,y:.7276033444980106},{x:.49917038563569516,y:.7296565217962586},{x:.49541206095977475,y:.7317296332429761},{x:.4611910609597748,y:.7464366332429762},{x:.457170688924302,y:.7477143925092122},{x:.45316143447737084,y:.7490266191763204},{x:.37177643447737085,y:.7670666191763205},{x:.36787988134157384,y:.7675363076101905},{x:.36399443936523473,y:.7680904503837813},{x:.2290834393652347,y:.7739614503837813},{x:.2260604581328276,y:.7737959747883908},{x:.2230330269857825,y:.7738173839936113},{x:.030818026985782503,y:.7562573839936113},{x:.028490934977474184,y:.7558115802948838},{x:.02613293550927423,y:.7555793376181453},{x:.024169339379190496,y:.7549836872441402},{x:.022154034015341384,y:.7545976128723226},{x:.01995862841458906,y:.7537063820373993},{x:.01769124554357096,y:.7530185789630078},{x:.01588158498580211,y:.7520512952425895},{x:.013980322522940947,y:.7512794726091756},{x:.012000971535783972,y:.7499770641392344},{x:.009911339514117913,y:.7488601325536145},{x:.008325158769029223,y:.7475583876576994},{x:.006611003657363959,y:.7464304774736483},{x:.004923772632206568,y:.7447669421957904},{x:.0030921948466053617,y:.7432638051533946},{x:.0017904499506900475,y:.7416776244083056},{x:.0003292762098528329,y:.7402369716294513},{x:-.001000995511218774,y:.7382762382714833},{x:-.0025041325536145423,y:.7364446604858821},{x:-.0034714162740331275,y:.7346349999281129},{x:-.004623456556617868,y:.732936968032819},{x:-.005545647377387794,y:.7307543864780955},{x:-.006662578963007905,y:.728664754456429},{x:-.007258229337013042,y:.7267011583263452},{x:-.008056863899357211,y:.7248110017280808},{x:-.008535534543753812,y:.7224904473617442},{x:-.009223337618145366,y:.7202230644907257},{x:-.009424464135908606,y:.7181809926864091},{x:-.009839001899660749,y:.7161713490432334},{x:-.009855757323261527,y:.7138019994682},{x:-.010088,y:.711444},{x:-.010088,y:.05588800000000005}],[{x:.079912,y:.45654326739466394},{x:.079912,y:.6703676283824797},{x:.22820062174801237,y:.6839146886946046},{x:.3561457472749752,y:.6783468266821017},{x:.42954781695254723,y:.662076342723345},{x:.4559144639404158,y:.6507448714849071},{x:.47563211893454127,y:.6373433067928232},{x:.48601322722124407,y:.6253391992627579},{x:.4997779385388953,y:.5763903343143285},{x:.4985264355495565,y:.5343392524542002},{x:.48755361344964526,y:.5098575528750181},{x:.467303195590932,y:.4926125823096997},{x:.43241084881177044,y:.4788935374345549},{x:.3509044963348569,y:.4661372945522357},{x:.079912,y:.45654326739466394}]],S:[[{x:.021897597226735628,y:.20918252956592975},{x:.022856530106274857,y:.20041326151782815},{x:.025507836686771486,y:.19199957102060095},{x:.07532383668677148,y:.0752955710206009},{x:.07606476437254353,y:.07394451179196875},{x:.07662717764446286,y:.07250992955787258},{x:.07818101321859919,y:.07008559601860773},{x:.07956562874320691,y:.06756079148160443},{x:.08055589829123208,y:.06638024029801701},{x:.0813873780598424,y:.06508294454561242},{x:.08338432112997196,y:.06300833217803187},{x:.0852348965856767,y:.0608021661408081},{x:.08643645249257384,y:.05983749092219001},{x:.08750504545666679,y:.05872733599970995},{x:.08986835462050304,y:.05708217099364391},{x:.09211377343035676,y:.05527942517977789},{x:.09348044057646428,y:.05456769785378441},{x:.09474508130770348,y:.05368734639231786},{x:.18347008130770348,y:.00406434639231789},{x:.18531117162778632,y:.0032602675504258996},{x:.18705570252460849,y:.0022638899609980986},{x:.18934358471290644,y:.0014991491478438968},{x:.19155425509545604,y:.0005336596975895336},{x:.19351683738147718,y:.0001042099085839361},{x:.19542223123106015,y:-.0005326814704223887},{x:.1978153459361366,y:-.0008363843304376121},{x:.20017189655491793,y:-.0013520417748285815},{x:.2021805498702545,y:-.0013903589963945293},{x:.20417358345551592,y:-.0016432887864569548},{x:.36640558345551594,y:-.006196288786456984},{x:.3683537351453612,y:-.006059465175549666},{x:.37030515940756886,y:-.006136660097762148},{x:.3727431942064551,y:-.005751182385354602},{x:.3752054496398049,y:-.005578251970786187},{x:.37708947517888647,y:-.005063991846688501},{x:.37901846335331396,y:-.004758999502412188},{x:.3813344490261288,y:-.00390529164215812},{x:.3837156558614866,y:-.003255321831637216},{x:.38546315320491126,y:-.002383387922517842},{x:.38729557535780434,y:-.001707928996501587},{x:.5134735753578044,y:.059451071003498376},{x:.5144073364238021,y:.06002293670994077},{x:.5154151369003129,y:.060451046875811966},{x:.5181619939873726,y:.06232241135953579},{x:.5209964106485654,y:.06405830049148753},{x:.5218006642926897,y:.06480134570578519},{x:.5227055800155168,y:.06541784197435321},{x:.5250345719141375,y:.06778913394790613},{x:.5274758708842278,y:.07004463571609586},{x:.5281197100899656,y:.07093030562736781},{x:.5288869656553633,y:.07171149639276676},{x:.5307085905129939,y:.07449158843544039},{x:.5326629540416582,y:.07718002517181716},{x:.5331216364294024,y:.07817428398206286},{x:.5337217466362741,y:.07909014852127505},{x:.5349660004312154,y:.08217220325496363},{x:.5363583234240663,y:.08519025984344057},{x:.5366142220868877,y:.08625489874416871},{x:.5370241250365293,y:.08727024089657527},{x:.5783351250365293,y:.22800124089657534},{x:.5784689928995229,y:.22870739358153944},{x:.5787167010683089,y:.22938208824013706},{x:.5792894483007394,y:.23303529403132756},{x:.5799781923062021,y:.23666841715613338},{x:.579971724381043,y:.23738711763976203},{x:.5800830465086156,y:.23809717369609615},{x:.5799320834693805,y:.24179192160438975},{x:.5798988062915618,y:.2454896025769029},{x:.5797522511369868,y:.24619323160266243},{x:.5797229091764134,y:.2469113620006918},{x:.5788540372904492,y:.2505056649360105},{x:.5781000177526308,y:.2541258039501414},{x:.5778190074010411,y:.2547873214491718},{x:.5776501289474114,y:.2554859288404322},{x:.5462891289474114,y:.3454679288404322},{x:.5453940585085517,y:.34740151578805634},{x:.5446999978282894,y:.3494160105998292},{x:.5435456407901493,y:.3513945829466735},{x:.5425833616033817,y:.3534733584203385},{x:.5413282655917657,y:.35519517245680393},{x:.5402545326513293,y:.3570355547940282},{x:.5387363559437135,y:.3587509055417339},{x:.537387017705137,y:.36060200657115166},{x:.5358201287566253,y:.36204587934864135},{x:.5344079865107593,y:.36364142435019586},{x:.5325843328131388,y:.3650276335315076},{x:.5308997898345437,y:.36657992334222783},{x:.5290813226127058,y:.36769036763963614},{x:.5273850388959807,y:.368979759405903},{x:.44286903889598056,y:.42100375940590296},{x:.4391930936098881,y:.42279580082266366},{x:.4355432374645799,y:.42464039733796655},{x:.4352309585303121,y:.42472736117212373},{x:.4349395777453148,y:.4248694107387315},{x:.430984654780085,y:.42590987723258605},{x:.42704506666901776,y:.42700697873237736},{x:.18802361397643091,y:.46887992641475673},{x:.1445277950559712,y:.506325930968192},{x:.1345999941059918,y:.5433489412625321},{x:.1668438673565076,y:.6442112383308392},{x:.2418447705661005,y:.6964178007533797},{x:.3847076342900009,y:.6886954406015322},{x:.4475324208368403,y:.608018765726417},{x:.4536085342974724,y:.6016234190133417},{x:.4608155671913789,y:.5965363480257236},{x:.46887655728619765,y:.5929530460487544},{x:.47748172525324006,y:.5910112173678703},{x:.48630037931336645,y:.5907854853702875},{x:.49499362353660437,y:.5922845248100812},{x:.5032273814226823,y:.5954507284422511},{x:.5106852342735829,y:.6001624208368403},{x:.5170805809866582,y:.6062385342974724},{x:.5221676519742764,y:.6134455671913789},{x:.5257509539512455,y:.6215065572861976},{x:.5276927826321296,y:.63011172525324},{x:.5279185146297124,y:.6389303793133664},{x:.5264194751899187,y:.6476236235366044},{x:.5232532715577489,y:.6558573814226824},{x:.5185415791631597,y:.663315234273583},{x:.4431175791631597,y:.760171234273583},{x:.4420344490669973,y:.7613112710002186},{x:.44110391182703096,y:.7625789282836855},{x:.4390031114098716,y:.7645018722698176},{x:.4370414657025276,y:.7665665809866583},{x:.43575673751534005,y:.767473404028016},{x:.4345967726198766,y:.768535164822443},{x:.4321611907321885,y:.7700113141492059},{x:.4298344328086211,y:.7716536519742764},{x:.42839747791415833,y:.7722924126294288},{x:.42705266216361437,y:.7731074740629288},{x:.4243758968514515,y:.7740801011395291},{x:.42177344271380235,y:.7752369539512456},{x:.4202394824828045,y:.7755831050064366},{x:.4187614963922926,y:.7761201447252115},{x:.4159464142454535,y:.7765518720385514},{x:.41316827474676,y:.7771787826321297},{x:.4115962584106506,y:.7772190216964318},{x:.4100419001567639,y:.7774574015652649},{x:.23125890015676387,y:.7871214015652648},{x:.22961427991333744,y:.7870487065186679},{x:.22797320559841586,y:.7871788426312305},{x:.22521775007366066,y:.7868543723294609},{x:.22244596265035355,y:.7867318545526676},{x:.22084712542379714,y:.7863397068281228},{x:.21921219559556868,y:.7861471846952227},{x:.21657298639174055,y:.7852913862936938},{x:.21387836011908076,y:.7846304737606538},{x:.21238674832737245,y:.7839339433752962},{x:.2108207924222569,y:.7834261615145331},{x:.2083992528689725,y:.782071922865878},{x:.2058853407234555,y:.7808980140745921},{x:.20455827617124617,y:.7799238683005129},{x:.20312147299647784,y:.7791203404840283},{x:.10291447299647782,y:.7093683404840284},{x:.10181255131472464,y:.7084283417469311},{x:.10059641238964509,y:.7076416809983432},{x:.09846400643554813,y:.7055718520256913},{x:.09620311784593605,y:.7036431918911783},{x:.09530575393663021,y:.7025062807105057},{x:.09426645267874648,y:.7014974784931097},{x:.09257882390791694,y:.6990514089395268},{x:.09073764058529563,y:.6967187299857058},{x:.09007931964022471,y:.6954285972205445},{x:.08925679581402991,y:.6942364212378118},{x:.08807879885369768,y:.6915081121844703},{x:.08672807644060793,y:.6888610579553555},{x:.08633409736450004,y:.6874672826843552},{x:.08575996009935855,y:.6861375475907227},{x:.04484896009935855,y:.5581635475907226},{x:.04400698871411546,y:.5542371548008082},{x:.04309586967447821,y:.5503262293029391},{x:.04308290316808571,y:.5499278363503387},{x:.04299932697019912,y:.5495380927241992},{x:.04293953506277818,y:.5455228840020936},{x:.042808906634767226,y:.5415093553341928},{x:.04287391188557095,y:.5411160877505585},{x:.04286797679041901,y:.5407175280315513},{x:.04359266213029085,y:.5367678055966908},{x:.04424754429113727,y:.532805911414652},{x:.06119154429113727,y:.4696179114146519},{x:.06126294463056804,y:.4694283141856516},{x:.06129777501412092,y:.46922873472253734},{x:.06281676603792068,y:.46530228011432895},{x:.0643004966052513,y:.46136236601319713},{x:.0644075135916399,y:.46119034135699993},{x:.06448061074086608,y:.46100139182805006},{x:.06673642807197144,y:.45744672339211917},{x:.06896028828319853,y:.453871975109843},{x:.06909880931377366,y:.45372413383751425},{x:.06920736414622189,y:.4535530754671619},{x:.07211331798967527,y:.4505067971180214},{x:.07499184614403663,y:.4474345902263458},{x:.07515654793327702,y:.4473166137950705},{x:.07529638874761438,y:.44717002026055797},{x:.1386943887476144,y:.392590020260558},{x:.14135607757337018,y:.39071931904916735},{x:.1439175788350931,y:.3887136217356019},{x:.14495796828078528,y:.38818782053421796},{x:.14591168674437638,y:.38751752344016943},{x:.1488871876674173,y:.38620203695812855},{x:.15179076253542007,y:.38473460266203335},{x:.15291373991533655,y:.3844218744952798},{x:.15397990142199966,y:.3839505182141148},{x:.15715486761053352,y:.383240799869195},{x:.1602889333309822,y:.3823680212676226},{x:.4030282434963717,y:.3398437611206276},{x:.46657219784598525,y:.30072914754350266},{x:.487912612564808,y:.23949853636308405},{x:.45628203537627,y:.13174508671722343},{x:.35793695341674575,y:.08407681754539842},{x:.21775140382412592,y:.0880110894972649},{x:.15207256592030022,y:.12474460286217379},{x:.10828216331322851,y:.2273324289793991},{x:.10404037125679308,y:.23506720851839558},{x:.09837110341432329,y:.2418258338591919},{x:.09149222656964323,y:.24734857482022213},{x:.08366809210217534,y:.25142319556354265},{x:.07519937711167927,y:.2538931106990613},{x:.06641152956592972,y:.2546634027732644},{x:.05764226151782814,y:.2537044698937252},{x:.04922857102060091,y:.2510531633132285},{x:.04149379148160447,y:.24681137125679312},{x:.034735166140808106,y:.24114210341432332},{x:.029212425179777887,y:.23426322656964324},{x:.025137804436457384,y:.22643909210217536},{x:.022667889300938757,y:.21797037711167933},{x:.021897597226735628,y:.20918252956592975}]],T:[[{x:-.022050999999999998,y:.729004},{x:-.021186337618145364,y:.7202249355092742},{x:-.018625578963007903,y:.711783245543571},{x:-.01446713255361454,y:.7040033395141179},{x:-.008870805153394636,y:.6971841948466053},{x:-.002051660485882085,y:.6915878674463855},{x:.005728245543570962,y:.6874294210369921},{x:.014169935509274232,y:.6848686623818546},{x:.022949,y:.684004},{x:.264284,y:.684004},{x:.264284,y:.05103000000000002},{x:.26514866238185464,y:.04225093550927423},{x:.2677094210369921,y:.03380924554357098},{x:.27186786744638547,y:.026029339514117924},{x:.27746419484660534,y:.019210194846605383},{x:.28428333951411794,y:.013613867446385479},{x:.292063245543571,y:.009455421036992116},{x:.30050493550927426,y:.006894662381854655},{x:.309284,y:.0060300000000000215},{x:.3180630644907258,y:.006894662381854655},{x:.32650475445642907,y:.009455421036992116},{x:.3342846604858821,y:.013613867446385486},{x:.34110380515339467,y:.019210194846605383},{x:.34670013255361454,y:.026029339514117924},{x:.3508585789630079,y:.03380924554357098},{x:.35341933761814537,y:.04225093550927425},{x:.354284,y:.05103000000000002},{x:.354284,y:.684004},{x:.579103,y:.684004},{x:.5878820644907258,y:.6848686623818546},{x:.596323754456429,y:.6874294210369921},{x:.6041036604858822,y:.6915878674463855},{x:.6109228051533947,y:.6971841948466053},{x:.6165191325536146,y:.7040033395141179},{x:.6206775789630079,y:.711783245543571},{x:.6232383376181454,y:.7202249355092742},{x:.6241030000000001,y:.729004},{x:.6232383376181454,y:.7377830644907257},{x:.6206775789630079,y:.746224754456429},{x:.6165191325536146,y:.7540046604858821},{x:.6109228051533947,y:.7608238051533946},{x:.6041036604858822,y:.7664201325536145},{x:.596323754456429,y:.7705785789630079},{x:.5878820644907258,y:.7731393376181454},{x:.579103,y:.774004},{x:.022949,y:.774004},{x:.014169935509274211,y:.7731393376181454},{x:.005728245543570935,y:.7705785789630079},{x:-.0020516604858820953,y:.7664201325536145},{x:-.008870805153394643,y:.7608238051533946},{x:-.01446713255361454,y:.7540046604858821},{x:-.018625578963007903,y:.746224754456429},{x:-.021186337618145364,y:.7377830644907257},{x:-.022050999999999998,y:.729004}]],U:[[{x:.027022176378557076,y:.7288780077818786},{x:.02808017637855708,y:.35099900778187865},{x:.02823473618726791,y:.3494735334648019},{x:.028192796744230073,y:.34794082288884604},{x:.035484796744230065,y:.24514582288884607},{x:.03612518708694976,y:.24139252668431194},{x:.03666424897987138,y:.2376233431565944},{x:.055316248979871384,y:.16148034315659432},{x:.05618736340037885,y:.15900518320818077},{x:.05685851158014249,y:.15646848905542057},{x:.057648252259250334,y:.15485425480263812},{x:.058244846291224776,y:.15315910934454152},{x:.0595821022437829,y:.15090145489330362},{x:.06073523897858293,y:.14854443712190207},{x:.09649723897858292,y:.0906284371219021},{x:.09834293286415725,y:.08820732921922435},{x:.10003759110096133,y:.08567820232322114},{x:.10101147458130413,y:.08470684222595504},{x:.10184538199049184,y:.08361295562088691},{x:.10412794610596264,y:.08159844564215248},{x:.10628345014049506,y:.07944852663140606},{x:.15306845014049508,y:.041154526631406},{x:.15518086878702558,y:.03974701384514513},{x:.15716842451696925,y:.03816808161035298},{x:.15884280372557036,y:.03730705230772802},{x:.16040964618671547,y:.03626305906247794},{x:.1627560674239954,y:.03529470367371844},{x:.16501346722603244,y:.034133863066459845},{x:.23490646722603245,y:.006476863066459913},{x:.23625924682734178,y:.006089880823813601},{x:.23754823013535448,y:.005525708919597472},{x:.24049103862888763,y:.004879315347967098},{x:.24338780663402787,y:.004050652809021178},{x:.24479008944495417,y:.003935020529692536},{x:.24616436977860445,y:.0036331571990539033},{x:.3343553697786044,y:-.006825842800946093},{x:.3363658265006992,y:-.006865793301669296},{x:.3383604992721398,y:-.007120376900508131},{x:.34076517153289726,y:-.0069532142518240045},{x:.3431751712391958,y:-.00700110421331946},{x:.3451547915551648,y:-.0066480664270605625},{x:.3471608040448924,y:-.0065086169201366215},{x:.4090588040448924,y:.003962383079863387},{x:.4119620232343868,y:.004752615784895447},{x:.4149089852784979,y:.005359710588792872},{x:.4162090298953196,y:.005908616535408058},{x:.4175706649775032,y:.0062792425557079215},{x:.42026393287145114,y:.0076206811274584655},{x:.4230358315454356,y:.008791034549085273},{x:.4738028315454356,y:.03637303454908527},{x:.4760785863358737,y:.0379161826666043},{x:.4784624107710392,y:.03928649177082543},{x:.47972093897980134,y:.04038599604431689},{x:.48110410464379305,y:.04132389563682743},{x:.48303507818089647,y:.043281370330868374},{x:.4851057640535682,y:.045090410406577325},{x:.5154867640535682,y:.07740541040657731},{x:.5155903820373309,y:.07753992155387555},{x:.5157174079857786,y:.07765259073212467},{x:.5182811318880063,y:.08103290449336144},{x:.5208701788099869,y:.08439386230433626},{x:.5209455639802052,y:.08454600372347547},{x:.521048168494406,y:.08468128952824439},{x:.5340921684944061,y:.10592328952824437},{x:.5341054861393935,y:.10595068243490303},{x:.5341238592672674,y:.10597497562685786},{x:.5360339092314592,y:.10991723311331511},{x:.5379492688231333,y:.11385691363208547},{x:.5379569864823256,y:.11388637833537296},{x:.5379702672090579,y:.11391378915988949},{x:.557924267209058,y:.16807278915988946},{x:.5580810067186996,y:.16867450001810444},{x:.5583366124011981,y:.1692413235937006},{x:.5591915686944892,y:.17293786157308777},{x:.5601479818122073,y:.1766094575809222},{x:.5601843216510317,y:.17723018509512725},{x:.5603244341481242,y:.17783598350956487},{x:.5696394341481241,y:.2495799835095649},{x:.569721927352796,y:.25224539988339456},{x:.5700114646960025,y:.2548963275892337},{x:.5750284646960026,y:.7275053275892338},{x:.5742570402937379,y:.7362930758081182},{x:.5717860339652341,y:.7447614724740409},{x:.5677104050979391,y:.752585081852262},{x:.5621867778235843,y:.7594632470219072},{x:.5554274220406369,y:.7651316439528263},{x:.5476920960011455,y:.7693724393298378},{x:.5392780639467868,y:.7720226617648687},{x:.5305086724107663,y:.7729804646960026},{x:.5217209241918819,y:.7722090402937379},{x:.5132525275259592,y:.7697380339652341},{x:.505428918147738,y:.7656624050979391},{x:.4985507529780929,y:.7601387778235843},{x:.49288235604717384,y:.753379422040637},{x:.48864156067016223,y:.7456440960011456},{x:.48599133823513135,y:.7372300639467868},{x:.4850335353039975,y:.7284606724107663},{x:.48004487037154997,y:.258520878697574},{x:.4717248917269394,y:.19444051929027983},{x:.4550625667192203,y:.14921575933773623},{x:.4467624246683876,y:.135699076001046},{x:.42448554918380393,y:.11200409455592171},{x:.3866565267646711,y:.09145137140181527},{x:.33852910612300163,y:.08330987698295},{x:.2625775703514966,y:.09231733933890664},{x:.20464797458906397,y:.11524036210229632},{x:.16911733402594603,y:.14432255403825953},{x:.14104265103985364,y:.1897890642955865},{x:.12498883901236212,y:.25532548983758135},{x:.11807553704626646,y:.35278200048003916},{x:.11702182362144292,y:.7291299922181214},{x:.11613258476624799,y:.737906601393955},{x:.11354820087598706,y:.7463410885908555},{x:.10936798837422372,y:.7541093211959605},{x:.10375259048311052,y:.7609127703867312},{x:.09691780379445152,y:.7664899834261845},{x:.0891262853276994,y:.770626631144951},{x:.08067745876799748,y:.7731637444910576},{x:.07189600778187862,y:.7740038236214429},{x:.06311939860604492,y:.773114584766248},{x:.05468491140914452,y:.770530200875987},{x:.04691667880403945,y:.7663499883742237},{x:.04011322961326877,y:.7607345904831105},{x:.03453601657381558,y:.7538998037944515},{x:.030399368855048972,y:.7461082853276993},{x:.027862255508942363,y:.7376594587679974},{x:.027022176378557076,y:.7288780077818786}]],V:[[{x:-.017163400590915968,y:.72836062945125},{x:-.016173311217885875,y:.7195948244454146},{x:-.01349212241321528,y:.7111906087794154},{x:.27875887758678475,y:.033216608779415485},{x:.2789749302503264,y:.03282594254600198},{x:.27911899522766415,y:.032403397706182537},{x:.2811076886540147,y:.028969490703698003},{x:.2830281292409603,y:.025496951748158487},{x:.28331624571443165,y:.0251559418405784},{x:.28353997693249255,y:.024769621764193565},{x:.2861603801951793,y:.021789671162821947},{x:.2887213787977949,y:.018758515442121357},{x:.2890704869266977,y:.018480266679882864},{x:.2893652865202418,y:.018145017430816868},{x:.2925166989914198,y:.015733541060992128},{x:.2956198378696305,y:.013260254189586457},{x:.29601652162435305,y:.013055459516578674},{x:.296371060610326,y:.012784164535463174},{x:.29993237527606087,y:.011033834081706148},{x:.30345840254303674,y:.009213463087028258},{x:.303887417589348,y:.00908999264768462},{x:.3042880712333465,y:.00889307764850001},{x:.3081224287682413,y:.00787115732855266},{x:.3119358411735324,y:.006773658047051503},{x:.31238070070379703,y:.0067362567411129665},{x:.3128120721109714,y:.0066212890568466964},{x:.3167721203052928,y:.006367050695504971},{x:.32072637054875,y:.006034599409084053},{x:.3211699788607,y:.006084704547762943},{x:.3216154906697884,y:.006056102322046737},{x:.325549047092249,y:.006579316156958459},{x:.3294921755545854,y:.0070246887821141385},{x:.32991748502957097,y:.007160374853030322},{x:.330360016471596,y:.007219237253358143},{x:.3341159167548444,y:.008499796470269213},{x:.33789639122058457,y:.00970587758678474},{x:.33828705745399834,y:.009921930250326543},{x:.33870960229381747,y:.01006599522766418},{x:.3421435092963017,y:.012054688654014527},{x:.34561604825184156,y:.013975129240960359},{x:.3459570581594215,y:.014263245714431577},{x:.34634337823580646,y:.014486976932492547},{x:.34932332883717915,y:.01710738019518028},{x:.35235448455787866,y:.01966837879779494},{x:.3526327333201171,y:.020017486926697612},{x:.35296798256918316,y:.020312286520241793},{x:.3553794589390082,y:.023463698991420194},{x:.3578527458104136,y:.026566837869630475},{x:.3580575404834214,y:.026963521624353053},{x:.35832883546453687,y:.02731806061032596},{x:.3600791659182934,y:.03087937527605991},{x:.3618995369129718,y:.03440540254303673},{x:.3620230073523154,y:.034834417589348},{x:.3622199223515,y:.0352350712333465},{x:.6163569223515,y:.7132090712333464},{x:.6186287109431533,y:.7217330721109714},{x:.6191938976779532,y:.7305364906697883},{x:.6180307627466418,y:.7392810164715959},{x:.6151840047723358,y:.7476306022938175},{x:.6107630230675074,y:.7552643782358064},{x:.6049377134797582,y:.7618889825691831},{x:.597931939389674,y:.7672498354645368},{x:.5900149287666535,y:.7711409223515},{x:.5814909278890286,y:.7734127109431533},{x:.5726875093302116,y:.7739778976779532},{x:.5639429835284039,y:.7728147627466418},{x:.5555933977061824,y:.7699680047723358},{x:.5479596217641935,y:.7655470230675074},{x:.5413350174308168,y:.7597217134797583},{x:.5359741645354631,y:.7527159393896741},{x:.5320830776484999,y:.7447989287666535},{x:.3171703309688009,y:.17146543337864517},{x:.06915612241321528,y:.7468173912205845},{x:.06488687075903964,y:.7545370482518415},{x:.059193621202205074,y:.7612754845578786},{x:.05229516213036956,y:.7667737458104136},{x:.04445659745696326,y:.7708205369129717},{x:.0359791588264676,y:.7732603419529485},{x:.027188629451250054,y:.773999400590916},{x:.01842282444541461,y:.7730093112178859},{x:.010018608779415478,y:.7703281224132152},{x:.0022989517481584835,y:.7660588707590397},{x:-.004439484557878664,y:.7603656212022051},{x:-.009937745810413578,y:.7534671621303695},{x:-.013984536912971763,y:.7456285974569633},{x:-.016424341952948517,y:.7371511588264675},{x:-.017163400590915968,y:.72836062945125}]],W:[[{x:-.04486424190193638,y:.7324968210037928},{x:-.04468360364824366,y:.7236771280279449},{x:.03511539635175633,y:.05429612802794491},{x:.03538914303981033,y:.053053468981350556},{x:.035486899606724354,y:.05178477579191172},{x:.03633616861564037,y:.04875449496443272},{x:.037013200434797444,y:.04568114375463893},{x:.03752411791055629,y:.04451576738270255},{x:.03786750587531561,y:.043290523137271594},{x:.039291634880795206,y:.040484152470619886},{x:.040555238800576446,y:.03760193719815913},{x:.041283692791972554,y:.036558628261303676},{x:.041859515947665654,y:.035423918409107566},{x:.04380377647068911,y:.032949305154171604},{x:.045605392901094464,y:.030368987735599786},{x:.046523389329760155,y:.02948784001117424},{x:.047309519115439125,y:.028487270815480248},{x:.049699194314460494,y:.02643951297186818},{x:.05196958814642765,y:.024260253558522238},{x:.05304184892442764,y:.02357512905942291},{x:.054008074813295476,y:.022747151833295932},{x:.056751330810561565,y:.021204943586542027},{x:.059403252082379655,y:.019510489895534},{x:.060588570829346225,y:.019047717572039012},{x:.06169776130235942,y:.01842415101594414},{x:.06468917630833097,y:.01744675856409077},{x:.06762071317273859,y:.01630222750050557},{x:.06887353875396018,y:.016079591433481148},{x:.07008306824328207,y:.01568439886046892},{x:.07320768385688461,y:.015309382847312772},{x:.07630617899620724,y:.014758758098063603},{x:.07757836602719018,y:.014784814066709744},{x:.07884175299285809,y:.014633182505734484},{x:.08197949198836539,y:.014874954586349768},{x:.08512587197205507,y:.014939396351756326},{x:.08636853101864941,y:.015213143039810315},{x:.08763722420808827,y:.015310899606724347},{x:.09066750503556728,y:.016160168615640357},{x:.09374085624536103,y:.01683720043479743},{x:.09490623261729739,y:.017348117910556266},{x:.09613147686272838,y:.017691505875315594},{x:.09893784752938008,y:.01911563488079519},{x:.10182006280184085,y:.020379238800576432},{x:.10286337173869634,y:.02110769279197256},{x:.1039980815908924,y:.02168351594766564},{x:.10647269484582828,y:.023627776470689026},{x:.1090530122644002,y:.025429392901094458},{x:.10993415998882576,y:.026347389329760156},{x:.11093472918451973,y:.02713351911543911},{x:.11298248702813177,y:.02952319431446044},{x:.11516174644147774,y:.03179358814642764},{x:.11584687094057705,y:.032865848924427614},{x:.11667484816670405,y:.03383207481329547},{x:.118217056413458,y:.03657533081056164},{x:.11991151010446596,y:.039227252082379635},{x:.12037428242796094,y:.040412570829346184},{x:.12099784898405583,y:.041521761302359406},{x:.2862381791186236,y:.4176126753554925},{x:.4644074439049092,y:.03214939722735514},{x:.46457066699968924,y:.031871550040082325},{x:.46468087848244366,y:.03156873942729889},{x:.4668033610072479,y:.028070937443703255},{x:.4688757411162635,y:.024543219843286366},{x:.46909003322228215,y:.024302554657928657},{x:.4692572024422568,y:.02402706365982141},{x:.47202128937582516,y:.021010546759784428},{x:.47474207284479647,y:.017954914566682648},{x:.47499919883659564,y:.017760680011347015},{x:.4752169015744166,y:.01752309559247584},{x:.47851637060601154,y:.015103786828781735},{x:.4817809992520572,y:.012637666274559728},{x:.4820710779219699,y:.012497326674279732},{x:.48233094798351184,y:.012306779070622963},{x:.4860390023686124,y:.010577651122297159},{x:.4897220183436901,y:.008795813836836655},{x:.4900339021311097,y:.008714762363747632},{x:.4903259528556443,y:.008578574212853553},{x:.49430009414373083,y:.007606076497244536},{x:.4982599612093785,y:.006576997488159493},{x:.4985816645952609,y:.006558348904918078},{x:.4988946726372282,y:.006481753841050326},{x:.5029821768073245,y:.006303258899985619},{x:.5070667194929276,y:.00606648509648134},{x:.5073858795965667,y:.006110956057683261},{x:.5077078162324508,y:.006096897586191266},{x:.5117516027915979,y:.006719264880154805},{x:.5158038544123874,y:.0072838953667157535},{x:.5161082060899873,y:.007389776878261636},{x:.5164266994754154,y:.007438795258320738},{x:.5202713679739276,y:.008838107561233023},{x:.5241356027726449,y:.01018244390490916},{x:.524413449959918,y:.010345666999689355},{x:.5247162605727012,y:.010455878482443691},{x:.5282140625562944,y:.012578361007246536},{x:.5317417801567137,y:.014650741116263542},{x:.5319824453420714,y:.01486503322228222},{x:.5322579363401786,y:.01503220244225683},{x:.535274453240215,y:.01779628937582467},{x:.5383300854333174,y:.020517072844796484},{x:.5385243199886531,y:.020774198836595797},{x:.5387619044075241,y:.0209919015744166},{x:.5411812131712181,y:.024291370606011366},{x:.5436473337254403,y:.027555999252057217},{x:.5437876733257202,y:.027846077921969747},{x:.5439782209293771,y:.028105947983511865},{x:.5457073488777034,y:.03181400236861376},{x:.5474891861631633,y:.0354970183436901},{x:.5475702376362523,y:.03580890213110964},{x:.5477064257871465,y:.03610095285564429},{x:.548678923502756,y:.040075094143733274},{x:.5497080025118405,y:.04403496120937851},{x:.5497266510950819,y:.04435666459526063},{x:.5498032461589497,y:.04466967263722821},{x:.6466002461589497,y:.7226436726372282},{x:.6469851024138088,y:.7314568162324507},{x:.6456432047416794,y:.7401756994754154},{x:.6426261215175564,y:.7484652605727011},{x:.6380497975577433,y:.7560069363401786},{x:.6320900984255835,y:.7625109044075241},{x:.6249760520164882,y:.7677272209293771},{x:.6169810471443558,y:.7714554257871464},{x:.6084123273627718,y:.7735522461589497},{x:.5995991837675493,y:.7739371024138088},{x:.5908803005245846,y:.7725952047416793},{x:.5825907394272989,y:.7695781215175563},{x:.5750490636598214,y:.7650017975577432},{x:.5685450955924759,y:.7590420984255835},{x:.563328779070623,y:.7519280520164882},{x:.5596005742128536,y:.7439330471443557},{x:.5575037538410503,y:.7353643273627718},{x:.4822251865940539,y:.2081071670095049},{x:.3260455560950909,y:.5459966027726448},{x:.3245096626856286,y:.5486110836728201},{x:.32313748405233433,y:.5513150815908924},{x:.32228015650766817,y:.5524062697730983},{x:.32157725888373645,y:.5536027801567136},{x:.3195608173147473,y:.5558673865996665},{x:.3176874808845609,y:.5582517291845196},{x:.31663374639442166,y:.5591546941850146},{x:.31571092715520355,y:.5601910854333173},{x:.3132914281453504,y:.5620187898634509},{x:.3109889251867045,y:.563991848166704},{x:.30977927817660644,y:.5646718895469083},{x:.3086720007479428,y:.5655083337254402},{x:.3059424242873038,y:.566828898486493},{x:.3032992386976406,y:.5683148489840557},{x:.30198016522380455,y:.5687458331350992},{x:.3007309816563099,y:.5693501861631632},{x:.29779622383750376,y:.570112862691949},{x:.29491393175671793,y:.571054601139531},{x:.29353612307299787,y:.5712199655821879},{x:.29219303879062153,y:.5715690025118404},{x:.28916588071079274,y:.5717444815770724},{x:.2861552470071419,y:.5721058174942654},{x:.2847716515285703,y:.5719992073657418},{x:.2833862805070725,y:.5720795149035186},{x:.28038305415357795,y:.5716610529431293},{x:.27735977579191173,y:.5714281003932755},{x:.27602356431680025,y:.5710536126610233},{x:.27464914558761266,y:.5708621046332842},{x:.27178526326499086,y:.5698657829057354},{x:.26886552313727163,y:.5690474941246844},{x:.26762804552325165,y:.5684195201422382},{x:.26631739722735515,y:.5679635560950907},{x:.26370291632718046,y:.5664276626856288},{x:.2609989184091076,y:.5650554840523343},{x:.25990773022690183,y:.5641981565076682},{x:.2587112198432863,y:.5634952588837364},{x:.25644661340033337,y:.5614788173147471},{x:.2540622708154803,y:.5596054808845607},{x:.2531593058149851,y:.5585517463944213},{x:.2521229145666826,y:.5576289271552034},{x:.2502952101365493,y:.5552094281453507},{x:.24832215183329598,y:.5529069251867045},{x:.2476421104530918,y:.5516972781766065},{x:.24680566627455972,y:.5505900007479427},{x:.245485101513507,y:.5478604242873037},{x:.24399915101594416,y:.5452172386976405},{x:.10495542809967917,y:.22875042455884986},{x:.04468360364824366,y:.734330871972055},{x:.04278579956520255,y:.742945856245361},{x:.03924376119942353,y:.7510250628018409},{x:.034193607098905524,y:.7582580122644001},{x:.02782941185357234,y:.7643667464414777},{x:.020395747917620333,y:.7691165101044659},{x:.012178286827261426,y:.7723247724994944},{x:.003492821003792758,y:.7738682419019364},{x:-.00532687197205508,y:.7736876036482436},{x:-.013941856245361059,y:.7717897995652026},{x:-.022021062801840872,y:.7682477611994235},{x:-.029254012264400202,y:.7631976070989055},{x:-.035362746441477744,y:.7568334118535723},{x:-.04011251010446598,y:.7493997479176203},{x:-.04332077249949441,y:.7411822868272614},{x:-.04486424190193638,y:.7324968210037928}]],X:[[{x:-.03582341524240513,y:.7325834270170574},{x:-.035659804156077404,y:.7237634017461555},{x:-.03377863524060577,y:.7151447697271875},{x:-.030252200762440104,y:.7070587401552579},{x:-.02521601962092907,y:.6998160546121182},{x:.24190189785100796,y:.3863717955888736},{x:-.0190039697420246,y:.08021800391719859},{x:-.024040163260448045,y:.07297532698032597},{x:-.027566611556706647,y:.06488930343468059},{x:-.029447795200430175,y:.056270674630427356},{x:-.029611421359170286,y:.047450649639130975},{x:-.028051201971409197,y:.03876817707487998},{x:-.024827095393237467,y:.030556919489131844},{x:-.02006300223235442,y:.02313243090598055},{x:-.013942003917198569,y:.016780030257975413},{x:-.006699326980325947,y:.011743836739551976},{x:.0013866965653194212,y:.00821738844329338},{x:.010005325369572668,y:.006336204799569846},{x:.018825350360869044,y:.0061725786408297345},{x:.02750782292512003,y:.007732798028590823},{x:.03571908051086817,y:.010956904606762553},{x:.04314356909401947,y:.0157209977676456},{x:.049495969742024595,y:.021841996082801452},{x:.3010259353438819,y:.31699385831754345},{x:.5525549803790709,y:.021842054612118165},{x:.558907370566982,y:.01572104544144637},{x:.5663318510088331,y:.010956939592969957},{x:.5745431030849405,y:.007732818982704524},{x:.5832255729829426,y:.006172584757594898},{x:.5920455982538445,y:.006336195843922615},{x:.6006642302728125,y:.008217364759394247},{x:.6087502598447422,y:.011743799237559922},{x:.6159929453878819,y:.016779980379070948},{x:.6221139545585537,y:.023132370566981995},{x:.6268780604070301,y:.03055685100883309},{x:.6301021810172955,y:.0387681030849405},{x:.6316624152424052,y:.04745057298294264},{x:.6314988041560774,y:.05627059825384449},{x:.6296176352406058,y:.06488923027281246},{x:.6260912007624402,y:.07297525984474214},{x:.6210550196209291,y:.08021794538788188},{x:.36015009139561527,y:.3863716945525663},{x:.6272689697420246,y:.6998159960828014},{x:.632305163260448,y:.7070586730196741},{x:.6358316115567066,y:.7151446965653194},{x:.6377127952004301,y:.7237633253695727},{x:.6378764213591702,y:.7325833503608691},{x:.6363162019714091,y:.74126582292512},{x:.6330920953932374,y:.7494770805108681},{x:.6283280022323544,y:.7569015690940195},{x:.6222070039171985,y:.7632539697420246},{x:.6149643269803259,y:.7682901632604481},{x:.6068783034346805,y:.7718166115567067},{x:.5982596746304273,y:.7736977952004301},{x:.5894396496391309,y:.7738614213591702},{x:.58075717707488,y:.7723012019714092},{x:.5725459194891318,y:.7690770953932374},{x:.5651214309059804,y:.7643130022323544},{x:.5587690302579753,y:.7581920039171985},{x:.30102605390274134,y:.4557496318238965},{x:.04328401962092907,y:.7581919453878818},{x:.03693162943301802,y:.7643129545585536},{x:.029507148991166913,y:.76907706040703},{x:.021295896915059523,y:.7723011810172955},{x:.012613427017057378,y:.7738614152424051},{x:.003793401746155514,y:.7736978041560774},{x:-.004825230272812429,y:.7718166352406057},{x:-.012911259844742107,y:.7682902007624401},{x:-.02015394538788185,y:.7632540196209291},{x:-.02627495455855365,y:.756901629433018},{x:-.031039060407030063,y:.7494771489911669},{x:-.034263181017295495,y:.7412658969150595},{x:-.03582341524240513,y:.7325834270170574}]],Y:[[{x:-.02688005049839745,y:.731186349993587},{x:-.02644216088936969,y:.7223756821949907},{x:-.024293809188388457,y:.7138197369324374},{x:-.020517555346512936,y:.7058473143841377},{x:-.015258518681138845,y:.6987647902776368},{x:.25043465103960333,y:.4059541390643743},{x:.26029423204414154,y:.04978477430584237},{x:.26140149479875585,y:.04103299828270508},{x:.26419486861258723,y:.03266540142918031},{x:.26856700569651215,y:.025003545799746604},{x:.27434988727431814,y:.01834187220942495},{x:.28132128045004745,y:.012936385038381841},{x:.28921327849355916,y:.008994814127168342},{x:.2977225963459245,y:.006668631835443931},{x:.30652222569415766,y:.00604723204414153},{x:.3152740017172949,y:.007154494798755871},{x:.32364159857081976,y:.009947868612587236},{x:.3313034542002534,y:.014320005696512164},{x:.3379651277905751,y:.020102887274318144},{x:.3433706149616182,y:.027074280450047443},{x:.3473121858728317,y:.03496627849355913},{x:.3496383681645561,y:.04347559634592452},{x:.3502597679558585,y:.05227522569415767},{x:.34045421751128274,y:.4064927803087797},{x:.6166036868780955,y:.6970396048261934},{x:.6220250193382449,y:.7039986829780357},{x:.6259845336177533,y:.7118816938899454},{x:.6283300678033804,y:.7203856978734211},{x:.6289714843317633,y:.7291838908244783},{x:.6278841339254269,y:.7379381631220915},{x:.6251098028506934,y:.7463120929913156},{x:.620755107094902,y:.7539838750034306},{x:.6149873951738065,y:.7606586868780956},{x:.6080283170219642,y:.7660800193382449},{x:.6001453061100546,y:.7700395336177532},{x:.5916413021265788,y:.7723850678033803},{x:.5828431091755216,y:.7730264843317632},{x:.5740888368779085,y:.7719391339254268},{x:.5657149070086843,y:.7691648028506933},{x:.5580431249965694,y:.7648101070949019},{x:.5513683131219045,y:.7590423951738065},{x:.29567976193894085,y:.4900232412279098},{x:.051392518681138845,y:.7592432097223631},{x:.04485280102201476,y:.765163657957578},{x:.03728372005126494,y:.7696945108160528},{x:.028976151305805796,y:.7726616501633681},{x:.02024934999358704,y:.7739510504983974},{x:.011438682194990706,y:.7735131608893697},{x:.002882736932437466,y:.7713648091883885},{x:-.0050896856158622154,y:.7675885553465129},{x:-.012172209722363214,y:.7623295186811389},{x:-.01809265795757798,y:.7557898010220148},{x:-.022623510816052815,y:.7482207200512649},{x:-.025590650163368103,y:.7399131513058058},{x:-.02688005049839745,y:.731186349993587}]],Z:[[{x:.008711000000000003,y:.05103000000000002},{x:.00905278632815029,y:.04755978517413498},{x:.009251179439517476,y:.04407842782316871},{x:.009484424544736794,y:.043177288815328604},{x:.009575662381854637,y:.04225093550927423},{x:.01058788670939069,y:.038914079093048184},{x:.01146164687940622,y:.0355383196233794},{x:.011866213744552238,y:.0346999996115786},{x:.012136421036992098,y:.03380924554357098},{x:.013780184150668652,y:.030733981057728944},{x:.015295733266009179,y:.0275935480126292},{x:.015856074613338045,y:.026850263164785913},{x:.01629486744638546,y:.026029339514117927},{x:.01850700045157689,y:.023333847648222647},{x:.020606096809669634,y:.02054942610843994},{x:.02130067903544657,y:.01992974044441782},{x:.021891194846605365,y:.019210194846605383},{x:.024586686712500538,y:.016998061841414044},{x:.027188663217490867,y:.014676655565200585},{x:.02799079391630549,y:.014204383257544266},{x:.028710339514117916,y:.013613867446385479},{x:.03178560399995988,y:.01197010433270896},{x:.03479046815396611,y:.010200923661400137},{x:.035669321892902964,y:.00989421387003954},{x:.036490245543570964,y:.009455421036992116},{x:.03982710195979704,y:.008443196709456058},{x:.04311937851852794,y:.007294230264082269},{x:.04404118144126662,y:.007164869674294513},{x:.04493193550927423,y:.006894662381854655},{x:.048402150335139275,y:.006552876053704368},{x:.05185531895677298,y:.006068277970413476},{x:.052784646693945655,y:.006121237837117864},{x:.053711,y:.0060300000000000215},{x:.548341,y:.0060300000000000215},{x:.5571200644907257,y:.006894662381854655},{x:.565561754456429,y:.009455421036992116},{x:.5733416604858821,y:.013613867446385479},{x:.5801608051533946,y:.019210194846605383},{x:.5857571325536145,y:.026029339514117927},{x:.5899155789630078,y:.03380924554357098},{x:.5924763376181453,y:.04225093550927425},{x:.593341,y:.05103000000000002},{x:.5924763376181453,y:.05980906449072579},{x:.5899155789630078,y:.06825075445642906},{x:.5857571325536145,y:.07603066048588211},{x:.5801608051533946,y:.08284980515339466},{x:.5733416604858821,y:.08844613255361455},{x:.565561754456429,y:.09260457896300792},{x:.5571200644907257,y:.09516533761814538},{x:.548341,y:.09603000000000002},{x:.14224494935878249,y:.09603000000000002},{x:.5846943444347994,y:.7024816632174908},{x:.5851666167424556,y:.7032837939163054},{x:.5857571325536145,y:.7040033395141179},{x:.5874008956672913,y:.7070786039999603},{x:.5891700763385999,y:.7100834681539662},{x:.5894767861299605,y:.7109623218929031},{x:.5899155789630078,y:.711783245543571},{x:.5909278032905438,y:.7151201019597967},{x:.5920767697359177,y:.7184123785185279},{x:.5922061303257055,y:.7193341814412667},{x:.5924763376181453,y:.7202249355092742},{x:.5928181239462956,y:.7236951503351391},{x:.5933027220295866,y:.7271483189567729},{x:.5932497621628822,y:.7280776466939456},{x:.593341,y:.729004},{x:.5929992136718496,y:.7324742148258655},{x:.5928008205604824,y:.7359555721768313},{x:.5925675754552632,y:.7368567111846711},{x:.5924763376181453,y:.7377830644907257},{x:.5914641132906093,y:.7411199209069517},{x:.5905903531205937,y:.7444956803766206},{x:.5901857862554476,y:.7453340003884216},{x:.5899155789630078,y:.746224754456429},{x:.5882718158493319,y:.74930001894227},{x:.5867562667339908,y:.7524404519873709},{x:.5861959253866618,y:.7531837368352144},{x:.5857571325536145,y:.7540046604858821},{x:.5835449995484229,y:.7567001523517777},{x:.5814459031903303,y:.7594845738915601},{x:.5807513209645536,y:.760104259555582},{x:.5801608051533946,y:.7608238051533946},{x:.5774653132874991,y:.7630359381585863},{x:.5748633367825091,y:.7653573444347994},{x:.5740612060836946,y:.7658296167424556},{x:.5733416604858821,y:.7664201325536145},{x:.5702663960000408,y:.7680638956672906},{x:.5672615318460339,y:.7698330763385999},{x:.5663826781070966,y:.7701397861299606},{x:.565561754456429,y:.7705785789630079},{x:.5622248980402041,y:.7715908032905435},{x:.558932621481472,y:.7727397697359177},{x:.5580108185587332,y:.7728691303257055},{x:.5571200644907257,y:.7731393376181454},{x:.553649849664861,y:.7734811239462956},{x:.5501966810432269,y:.7739657220295866},{x:.5492673533060543,y:.7739127621628822},{x:.548341,y:.774004},{x:.053711,y:.774004},{x:.04493193550927421,y:.7731393376181454},{x:.036490245543570936,y:.7705785789630079},{x:.028710339514117906,y:.7664201325536145},{x:.021891194846605358,y:.7608238051533946},{x:.01629486744638546,y:.7540046604858821},{x:.012136421036992098,y:.746224754456429},{x:.009575662381854637,y:.7377830644907257},{x:.008711000000000003,y:.729004},{x:.009575662381854637,y:.7202249355092742},{x:.012136421036992098,y:.711783245543571},{x:.01629486744638546,y:.7040033395141179},{x:.021891194846605365,y:.6971841948466053},{x:.028710339514117916,y:.6915878674463855},{x:.036490245543570964,y:.6874294210369921},{x:.04493193550927423,y:.6848686623818546},{x:.053711,y:.684004},{x:.4598070506412174,y:.684004},{x:.017357655565200567,y:.07755233678250915},{x:.016885383257544267,y:.07675020608369457},{x:.01629486744638546,y:.07603066048588211},{x:.014651104332708876,y:.07295539600004002},{x:.012881923661400112,y:.06995053184603389},{x:.012575213870039523,y:.06907167810709706},{x:.012136421036992098,y:.06825075445642906},{x:.011124196709456038,y:.06491389804020298},{x:.00997523026408225,y:.06162162148147208},{x:.009845869674294495,y:.0606998185587334},{x:.009575662381854637,y:.05980906449072579},{x:.009233876053704348,y:.056338849664860746},{x:.008749277970413458,y:.05288568104322705},{x:.008802237837117845,y:.05195635330605437},{x:.008711000000000003,y:.05103000000000002}]],"[":[[{x:.152511,y:-.06942399999999993},{x:.15337566238185463,y:-.0782030644907257},{x:.1559364210369921,y:-.08664475445642897},{x:.16009486744638546,y:-.09442466048588202},{x:.16569119484660536,y:-.10124380515339457},{x:.1725103395141179,y:-.10684013255361446},{x:.18029024554357093,y:-.11099857896300783},{x:.1887319355092742,y:-.1135593376181453},{x:.197511,y:-.11442399999999993},{x:.404542,y:-.11442399999999993},{x:.4133210644907258,y:-.1135593376181453},{x:.4217627544564291,y:-.11099857896300783},{x:.42954266048588213,y:-.10684013255361446},{x:.4363618051533946,y:-.10124380515339457},{x:.44195813255361455,y:-.09442466048588202},{x:.44611657896300794,y:-.08664475445642897},{x:.4486773376181454,y:-.0782030644907257},{x:.449542,y:-.06942399999999993},{x:.4486773376181454,y:-.06064493550927416},{x:.44611657896300794,y:-.05220324554357089},{x:.44195813255361455,y:-.04442333951411784},{x:.4363618051533946,y:-.03760419484660529},{x:.42954266048588213,y:-.032007867446385396},{x:.4217627544564291,y:-.027849421036992027},{x:.4133210644907258,y:-.025288662381854565},{x:.404542,y:-.024423999999999932},{x:.24251099999999998,y:-.024423999999999932},{x:.24251099999999998,y:.7147659999999999},{x:.404542,y:.7147659999999999},{x:.4133210644907258,y:.7156306623818546},{x:.4217627544564291,y:.7181914210369921},{x:.42954266048588213,y:.7223498674463854},{x:.4363618051533946,y:.7279461948466053},{x:.44195813255361455,y:.7347653395141178},{x:.44611657896300794,y:.7425452455435709},{x:.4486773376181454,y:.7509869355092742},{x:.449542,y:.7597659999999999},{x:.4486773376181454,y:.7685450644907257},{x:.44611657896300794,y:.776986754456429},{x:.44195813255361455,y:.7847666604858821},{x:.4363618051533946,y:.7915858051533946},{x:.42954266048588213,y:.7971821325536145},{x:.4217627544564291,y:.8013405789630078},{x:.4133210644907258,y:.8039013376181453},{x:.404542,y:.804766},{x:.197511,y:.804766},{x:.1887319355092742,y:.8039013376181453},{x:.18029024554357093,y:.8013405789630078},{x:.1725103395141179,y:.7971821325536145},{x:.16569119484660536,y:.7915858051533946},{x:.16009486744638546,y:.7847666604858821},{x:.1559364210369921,y:.776986754456429},{x:.15337566238185463,y:.7685450644907257},{x:.152511,y:.7597659999999999},{x:.152511,y:-.06942399999999993}]],"\\\\":[[{x:.017522651058219416,y:.7303997530123288},{x:.018114599516431164,y:.7215980934307649},{x:.020412292453046287,y:.7130810386853763},{x:.024327430817071727,y:.7051758944136092},{x:.5013774308170718,y:-.059077105586390885},{x:.5067595580368128,y:-.06606654912342862},{x:.5134018419815468,y:-.0718716915303336},{x:.521049023404313,y:-.07626944443996993},{x:.5294072254116235,y:-.07909080467430848},{x:.5381552469876711,y:-.08022734894178067},{x:.5469569065692351,y:-.07963540048356893},{x:.5554739613146237,y:-.0773377075469538},{x:.5633791055863908,y:-.07342256918292836},{x:.5703685491234285,y:-.06804044196318723},{x:.5761736915303335,y:-.06139815801845332},{x:.5805714444399699,y:-.05375097659568702},{x:.5833928046743084,y:-.04539277458837649},{x:.5845293489417805,y:-.03664475301232898},{x:.5839374004835688,y:-.02784309343076498},{x:.5816397075469537,y:-.01932603868537643},{x:.5777245691829282,y:-.011420894413609283},{x:.10067456918292828,y:.7528321055863908},{x:.09529244196318712,y:.7598215491234285},{x:.0886501580184532,y:.7656266915303336},{x:.08100297659568693,y:.7700244444399699},{x:.07264477458837638,y:.7728458046743084},{x:.06389675301232887,y:.7739823489417805},{x:.055095093430764894,y:.7733904004835688},{x:.04657803868537634,y:.7710927075469537},{x:.03867289441360919,y:.7671775691829282},{x:.03168345087657147,y:.7617954419631872},{x:.025878308469666468,y:.7551531580184532},{x:.021480555560030153,y:.747505976595687},{x:.01865919532569161,y:.7391477745883763},{x:.017522651058219416,y:.7303997530123288}]],"]":[[{x:.15250999999999998,y:-.06942399999999993},{x:.15337466238185463,y:-.0782030644907257},{x:.1559354210369921,y:-.08664475445642897},{x:.16009386744638546,y:-.09442466048588202},{x:.16569019484660535,y:-.10124380515339457},{x:.1725093395141179,y:-.10684013255361446},{x:.18028924554357095,y:-.11099857896300783},{x:.18873093550927422,y:-.1135593376181453},{x:.19751,y:-.11442399999999993},{x:.404542,y:-.11442399999999993},{x:.4133210644907258,y:-.1135593376181453},{x:.4217627544564291,y:-.11099857896300783},{x:.42954266048588213,y:-.10684013255361446},{x:.4363618051533946,y:-.10124380515339457},{x:.44195813255361455,y:-.09442466048588202},{x:.44611657896300794,y:-.08664475445642897},{x:.4486773376181454,y:-.0782030644907257},{x:.449542,y:-.06942399999999993},{x:.449542,y:.7597659999999999},{x:.4486773376181454,y:.7685450644907257},{x:.44611657896300794,y:.776986754456429},{x:.44195813255361455,y:.7847666604858821},{x:.4363618051533946,y:.7915858051533946},{x:.42954266048588213,y:.7971821325536145},{x:.4217627544564291,y:.8013405789630078},{x:.4133210644907258,y:.8039013376181453},{x:.404542,y:.804766},{x:.19751,y:.804766},{x:.18873093550927422,y:.8039013376181453},{x:.18028924554357095,y:.8013405789630078},{x:.1725093395141179,y:.7971821325536145},{x:.16569019484660535,y:.7915858051533946},{x:.16009386744638546,y:.7847666604858821},{x:.1559354210369921,y:.776986754456429},{x:.15337466238185463,y:.7685450644907257},{x:.15250999999999998,y:.7597659999999999},{x:.15337466238185463,y:.7509869355092742},{x:.1559354210369921,y:.7425452455435709},{x:.16009386744638546,y:.7347653395141178},{x:.16569019484660535,y:.7279461948466053},{x:.1725093395141179,y:.7223498674463854},{x:.18028924554357095,y:.7181914210369921},{x:.18873093550927422,y:.7156306623818546},{x:.19751,y:.7147659999999999},{x:.35954200000000003,y:.7147659999999999},{x:.35954200000000003,y:-.024423999999999932},{x:.19751,y:-.024423999999999932},{x:.18873093550927422,y:-.025288662381854565},{x:.18028924554357095,y:-.027849421036992027},{x:.1725093395141179,y:-.03200786744638539},{x:.16569019484660535,y:-.03760419484660529},{x:.16009386744638546,y:-.04442333951411784},{x:.1559354210369921,y:-.052203245543570885},{x:.15337466238185463,y:-.06064493550927414},{x:.15250999999999998,y:-.06942399999999993}]],"^":[[{x:-.009830024293871129,y:.4771904357900641},{x:-.009184411720694952,y:.46839254975009553},{x:-.006834821991481832,y:.4598896653882279},{x:-.002871548521860348,y:.4520085437820153},{x:.002553102311361327,y:.44505205201500053},{x:.009230664218841726,y:.43928752416454453},{x:.016904522241296224,y:.4349364878031557},{x:.02527977431847106,y:.43216615081811305},{x:.034034564209935884,y:.43108297570612886},{x:.04283245024990444,y:.431728588279305},{x:.05133533461177206,y:.4340781780085181},{x:.05921645621798466,y:.4380414514781396},{x:.06617294798499941,y:.4434661023113613},{x:.30102423332324457,y:.6668931783680099},{x:.5358792969655858,y:.44346586927801307},{x:.5428358294884947,y:.4380412707099504},{x:.5507169808710617,y:.43407805645230807},{x:.5592198828854552,y:.4317285306064111},{x:.5680177737757447,y:.431082984132888},{x:.5767725555289304,y:.4321662250206897},{x:.5851477867919753,y:.43493662492998636},{x:.5928216121243246,y:.439287718945922},{x:.5994991307219868,y:.44505229696558585},{x:.6049237292900496,y:.45200882948849475},{x:.6088869435476919,y:.4598899808710617},{x:.6112364693935889,y:.4683928828854553},{x:.6118820158671119,y:.47719077377574476},{x:.6107987749793102,y:.4859455555289303},{x:.6080283750700135,y:.4943207867919753},{x:.6036772810540779,y:.5019946121243246},{x:.5979127030344141,y:.5086721307219868},{x:.33204070303441413,y:.7616071307219868},{x:.3294429315385385,y:.7636328335402047},{x:.3269493357811583,y:.7657854758354554},{x:.3259710287822201,y:.7663401706594313},{x:.32508417051150523,y:.7670317292900496},{x:.3221411194513825,y:.7685117087189752},{x:.3192754777587038,y:.7701365121968442},{x:.31820775306259985,y:.7704896904878621},{x:.3172030191289383,y:.7709949435476919},{x:.31402778830632944,y:.7718723248078522},{x:.310900225681529,y:.7729068491818869},{x:.30978411534954325,y:.7730449384962876},{x:.3087001171145447,y:.7733444693935889},{x:.30541472886927135,y:.7735855352151975},{x:.30214543579006414,y:.7739900242938711},{x:.3010238313163334,y:.7739077179367437},{x:.2999022262242552,y:.773990015867112},{x:.29663293618411596,y:.7735855022258356},{x:.2933475497500956,y:.7733444117206949},{x:.29226355376554153,y:.7730448726791859},{x:.29114744447106966,y:.7729067749793103},{x:.2880198896188706,y:.7718722271075298},{x:.28484466538822795,y:.7709948219914818},{x:.28383993525062523,y:.7704895613829726},{x:.2827722132080247,y:.7701363750700135},{x:.27990658372278143,y:.7685115500622604},{x:.2769635437820154,y:.7670315485218604},{x:.2760766907070934,y:.7663399832281829},{x:.2750983878756754,y:.765785281054078},{x:.27260480829144085,y:.7636326200241867},{x:.2700070520150006,y:.7616068976886387},{x:.004139052015000585,y:.5086718976886386},{x:-.001625475835455463,y:.5019943357811583},{x:-.0059765121968442594,y:.49432047775870375},{x:-.00874684918188691,y:.4859452256815289},{x:-.009830024293871129,y:.4771904357900641}]],_:[[{x:-.045,y:-.160601},{x:-.044135337618145365,y:-.16938006449072576},{x:-.041574578963007904,y:-.17782175445642903},{x:-.03741613255361454,y:-.1856016604858821},{x:-.03181980515339464,y:-.19242080515339463},{x:-.025000660485882086,y:-.19801713255361453},{x:-.017220754456429038,y:-.2021755789630079},{x:-.008779064490725769,y:-.20473633761814536},{x:0,y:-.20560099999999998},{x:.602052,y:-.20560099999999998},{x:.6108310644907258,y:-.20473633761814536},{x:.619272754456429,y:-.2021755789630079},{x:.6270526604858822,y:-.19801713255361453},{x:.6338718051533947,y:-.19242080515339463},{x:.6394681325536146,y:-.1856016604858821},{x:.6436265789630079,y:-.17782175445642903},{x:.6461873376181454,y:-.16938006449072576},{x:.6470520000000001,y:-.160601},{x:.6461873376181454,y:-.15182193550927423},{x:.6436265789630079,y:-.14338024554357096},{x:.6394681325536146,y:-.1356003395141179},{x:.6338718051533947,y:-.12878119484660536},{x:.6270526604858822,y:-.12318486744638546},{x:.619272754456429,y:-.1190264210369921},{x:.6108310644907258,y:-.11646566238185463},{x:.602052,y:-.115601},{x:0,y:-.115601},{x:-.00877906449072579,y:-.11646566238185463},{x:-.017220754456429066,y:-.1190264210369921},{x:-.025000660485882096,y:-.12318486744638546},{x:-.03181980515339464,y:-.12878119484660536},{x:-.03741613255361454,y:-.1356003395141179},{x:-.041574578963007904,y:-.14338024554357096},{x:-.044135337618145365,y:-.15182193550927423},{x:-.045,y:-.160601}]],a:[[{x:.029951000000000005,y:.25490100000000004},{x:.030216131121475042,y:.2522090785486062},{x:.03027571711850824,y:.2495047884160563},{x:.03064747136410999,y:.24782960757010103},{x:.03081566238185464,y:.24612193550927428},{x:.0316008669059687,y:.24353346308961055},{x:.0321868888075612,y:.2408927597850148},{x:.06949088880756119,y:.12701175978501478},{x:.07014919013856018,y:.12551652306247207},{x:.07061771774296957,y:.1239514111231075},{x:.07192248021942128,y:.12148874987750752},{x:.07304546130734973,y:.1189380599695235},{x:.0739828197765546,y:.11759998201998349},{x:.07474768294666384,y:.11615634846888903},{x:.07650781615341086,y:.11399555310027064},{x:.07810683439013419,y:.11171295672570881},{x:.07928722783725009,y:.11058345913436952},{x:.08031903331037206,y:.10931678199931477},{x:.15605303331037207,y:.033026781999314685},{x:.1581401110567553,y:.03130114899494214},{x:.16009013354595797,y:.02942202284781055},{x:.16153164054777758,y:.028496972085311937},{x:.16285166496406625,y:.027405552418137233},{x:.16523529439528092,y:.026120245637685162},{x:.16751444707429886,y:.024657656887915},{x:.24324744707429888,y:-.014037343112084925},{x:.24491821916217926,y:-.014693433733650136},{x:.24650124554357095,y:-.015539578963007873},{x:.24901423193062222,y:-.016301885049470277},{x:.2514585861893129,y:-.017261751399011975},{x:.25322525179064753,y:-.017579283958613606},{x:.2549429355092742,y:-.018100337618145335},{x:.2575563541074305,y:-.01835773688343746},{x:.2601410014196699,y:-.018822289810772906},{x:.26193566856615697,y:-.018789061710219754},{x:.263722,y:-.018964999999999968},{x:.376759,y:-.018964999999999968},{x:.3786816094876915,y:-.018775639493449434},{x:.3806133727303473,y:-.01879962736385296},{x:.3830607170270406,y:-.018344335046447002},{x:.3855380644907258,y:-.018100337618145335},{x:.3873867891740171,y:-.01753953311656589},{x:.3892861139289994,y:-.017186191753697247},{x:.3915976100664607,y:-.016262194563578608},{x:.3939797544564291,y:-.015539578963007873},{x:.3956835488825182,y:-.014628881868892333},{x:.3974774451646465,y:-.013911789983170525},{x:.4720844451646465,y:.0247832100168294},{x:.4742399118062311,y:.026185049737888398},{x:.4765030886255536,y:.02740538646642049},{x:.47792879308654873,y:.028584168427667152},{x:.47947957817165415,y:.02959274452399146},{x:.48132014276352414,y:.0313881589690925},{x:.48210100000000006,y:.032033776942416534},{x:.48210100000000006,y:.02603500000000003},{x:.4829656623818547,y:.01725593550927424},{x:.4855264210369921,y:.008814245543570985},{x:.4896848674463855,y:.0010343395141179344},{x:.4952811948466054,y:-.0057848051533946065},{x:.5021003395141179,y:-.01138113255361451},{x:.509880245543571,y:-.015539578963007873},{x:.5183219355092743,y:-.018100337618145335},{x:.527101,y:-.018964999999999968},{x:.5358800644907258,y:-.018100337618145335},{x:.544321754456429,y:-.015539578963007873},{x:.5521016604858822,y:-.011381132553614504},{x:.5589208051533947,y:-.0057848051533946065},{x:.5645171325536146,y:.0010343395141179344},{x:.5686755789630079,y:.008814245543570992},{x:.5712363376181454,y:.01725593550927426},{x:.5721010000000001,y:.02603500000000003},{x:.5721010000000001,y:.560059},{x:.5712363376181454,y:.5688380644907257},{x:.5686755789630079,y:.577279754456429},{x:.5645171325536146,y:.5850596604858821},{x:.5589208051533947,y:.5918788051533946},{x:.5521016604858822,y:.5974751325536145},{x:.544321754456429,y:.6016335789630078},{x:.5358800644907258,y:.6041943376181453},{x:.527101,y:.605059},{x:.5183219355092743,y:.6041943376181453},{x:.509880245543571,y:.6016335789630078},{x:.5021003395141179,y:.5974751325536145},{x:.4952811948466054,y:.5918788051533946},{x:.4896848674463855,y:.5850596604858821},{x:.4855264210369921,y:.577279754456429},{x:.4829656623818547,y:.5688380644907257},{x:.48210100000000006,y:.560059},{x:.48210100000000006,y:.5551612473179106},{x:.48111784979070266,y:.5559741116228759},{x:.47906658786156825,y:.5579287481398052},{x:.4777260461549398,y:.558778440075324},{x:.476502844006682,y:.5597897782764175},{x:.474008872962507,y:.5611345413953497},{x:.47161569478864906,y:.5626514387693977},{x:.3970086947886491,y:.6002454387693977},{x:.39545173243232984,y:.6008467903430146},{x:.3939797544564291,y:.6016335789630078},{x:.39134652561635536,y:.6024323601988234},{x:.3887796173011618,y:.6034237870938969},{x:.38713525366780027,y:.6037098355781862},{x:.3855380644907258,y:.6041943376181453},{x:.3827995979159321,y:.6044640530341434},{x:.3800885942320307,y:.6049356509696303},{x:.37842002129388747,y:.6048954036817589},{x:.376759,y:.605059},{x:.263722,y:.605059},{x:.26219504701733515,y:.604908608257877},{x:.26066140118579323,y:.6049547986330399},{x:.25781511370268967,y:.6044772224791067},{x:.2549429355092742,y:.6041943376181453},{x:.2534746624734083,y:.6037489418620853},{x:.2519614739213154,y:.6034950452430072},{x:.24926304753974865,y:.6024713624393285},{x:.24650124554357095,y:.6016335789630078},{x:.24514807736385555,y:.6009102955021357},{x:.24371349707866236,y:.6003660689935006},{x:.16798049707866233,y:.5627720689935006},{x:.1654642487594581,y:.5611982224645521},{x:.16285190958182658,y:.5597896123262998},{x:.16173267757498783,y:.5588642237445607},{x:.16050143578237863,y:.5580941146870384},{x:.15834057869520102,y:.5560596134829665},{x:.15605324108782545,y:.5541684273021619},{x:.08031924108782545,y:.47787942730216193},{x:.07924694249287094,y:.47656305714472025},{x:.07802357952480113,y:.4753857561141845},{x:.07646760484406812,y:.47315109973327435},{x:.07474784589903924,y:.4710398973462887},{x:.07395296229881854,y:.46953962579412084},{x:.07298278594430238,y:.4681462799973844},{x:.07189266871370663,y:.46565100631071576},{x:.07061782960809859,y:.46324486175923196},{x:.0701309079335922,y:.4616183434067253},{x:.06945120152585271,y:.46006249834135976},{x:.032147201525852716,y:.3450764983413597},{x:.031582343425880205,y:.34249647318004567},{x:.03081566238185464,y:.3399690644907258},{x:.030641204072877935,y:.33819775955415116},{x:.03026054307811779,y:.33645906634171463},{x:.03020987650767869,y:.3338184172918108},{x:.029951000000000005,y:.33119},{x:.029951000000000005,y:.25490100000000004}],[{x:.119951,y:.2620835578942187},{x:.119951,y:.3240730820964405},{x:.15174843963453788,y:.42208563822492473},{x:.21467365091165175,y:.4854719831046318},{x:.2742766075147511,y:.5150589999999999},{x:.3660620360389177,y:.5150589999999999},{x:.4245839309326211,y:.4855701837142105},{x:.48210100000000006,y:.4276323784447675},{x:.48210100000000006,y:.15956344905445352},{x:.4243936225653894,y:.10143318135145685},{x:.36578354074375496,y:.07103500000000003},{x:.2745522516182332,y:.07103500000000003},{x:.21486246778999646,y:.10153288315838035},{x:.15170083487400915,y:.1651582162341545},{x:.119951,y:.2620835578942187}]],b:[[{x:.03166000000000001,y:.04001500000000002},{x:.03252466238185464,y:.031235935509274233},{x:.0350854210369921,y:.022794245543570978},{x:.039243867446385465,y:.015014339514117927},{x:.04484019484660537,y:.008195194846605386},{x:.05165933951411792,y:.002598867446385482},{x:.05943924554357097,y:-.0015595789630078807},{x:.06788093550927424,y:-.004120337618145342},{x:.07666,y:-.0049849999999999756},{x:.08543906449072577,y:-.004120337618145342},{x:.09388075445642904,y:-.0015595789630078807},{x:.10166066048588211,y:.002598867446385489},{x:.10847980515339464,y:.008195194846605386},{x:.11407613255361454,y:.015014339514117927},{x:.1182345789630079,y:.022794245543570985},{x:.12079533761814537,y:.031235935509274254},{x:.12166,y:.04001500000000002},{x:.12166,y:.041388769861289504},{x:.12338630711141785,y:.04010106584896898},{x:.12512540667363178,y:.03853443023544684},{x:.12691331624345048,y:.03747016444054036},{x:.12858112311649333,y:.036226097502515},{x:.13069431360107225,y:.035219499067818724},{x:.13270563229917137,y:.034022247411931134},{x:.20674863229917137,y:-.0007227525880688923},{x:.20772794171481185,y:-.0010698043626217635},{x:.20864424554357097,y:-.0015595789630078669},{x:.21187816153300185,y:-.0025405766534664824},{x:.21506348921487128,y:-.003669406425619949},{x:.21609168791714548,y:-.0038187359083884913},{x:.21708593550927424,y:-.004120337618145342},{x:.22044909586509742,y:-.004451580001305548},{x:.22379344213248661,y:-.004937293022731791},{x:.22483101702188665,y:-.00488316156543817},{x:.225865,y:-.0049849999999999756},{x:.338045,y:-.0049849999999999756},{x:.33894984805462636,y:-.004895880245274822},{x:.33985755144997865,y:-.004948481373678995},{x:.343332465401001,y:-.004464230112452937},{x:.3468240644907258,y:-.004120337618145342},{x:.3476941397420575,y:-.003856403176165039},{x:.34859466384226984,y:-.0037309094409420443},{x:.351908335561611,y:-.0025780408502315546},{x:.35526575445642905,y:-.0015595789630078807},{x:.35606762040050133,y:-.0011309726863615623},{x:.35692635856942223,y:-.0008322067413783357},{x:.43209235856942224,y:.03391279325862169},{x:.4342218624454842,y:.03516383683568551},{x:.43645162164562873,y:.03622594356254809},{x:.4380158580934015,y:.037392738102356306},{x:.4396984532755396,y:.03838123120587913},{x:.4415429728374372,y:.04002368192832182},{x:.4435226810964235,y:.04150038501262054},{x:.5186856810964235,y:.11000138501262047},{x:.5200684051728882,y:.11153543836568303},{x:.5216038163727121,y:.1129166544997947},{x:.5230144082918019,y:.11480386048953693},{x:.5245918796416693,y:.11655397481445093},{x:.5256487561000858,y:.11832830784782436},{x:.5268852029038621,y:.11998252816661786},{x:.5279005150705119,y:.12210866485417524},{x:.5291062453835067,y:.12413290061668979},{x:.5297966590542814,y:.12607932670695898},{x:.530686625504748,y:.12794298045128052},{x:.567704625504748,y:.2301969804512806},{x:.5685418230641662,y:.23348712941632632},{x:.5695273376181453,y:.23673593550927427},{x:.5696276430094915,y:.2377543532384077},{x:.5698799976366801,y:.23874609563675617},{x:.5700592324586751,y:.24213635445346285},{x:.570392,y:.24551500000000004},{x:.570392,y:.314017},{x:.570065993218988,y:.3173270023951309},{x:.5699006262411136,y:.32064890697528625},{x:.569634437926433,y:.3217086568121163},{x:.5695273376181453,y:.3227960644907258},{x:.5685618455328773,y:.32597886535008125},{x:.5677515846008636,y:.32920467896823863},{x:.5307335846008636,y:.4324506789682387},{x:.5298196963817511,y:.43437967657309706},{x:.5291061063615623,y:.4363913954201699},{x:.5279358002551,y:.43835612690926706},{x:.5269566878799311,y:.4404227969757902},{x:.5256840310027916,y:.4421364386856148},{x:.5245916855370664,y:.44397028841230757},{x:.523060566435399,y:.4456689527415915},{x:.5216970801011935,y:.44750489697372575},{x:.5201145620561008,y:.4489373284986299},{x:.5186854393684929,y:.45052283528838016},{x:.44352243936849295,y:.5190228352883801},{x:.44134657552661755,y:.5206458300432604},{x:.43929971954126384,y:.5224287703137037},{x:.4378191137317927,y:.523276992839783},{x:.43645134158383936,y:.5242972253466508},{x:.43400065578620683,y:.5254645447348341},{x:.43164529517316985,y:.52681390451462},{x:.35647929517316984,y:.56056790451462},{x:.3558506134628383,y:.560778965311121},{x:.35526575445642905,y:.5610915789630079},{x:.351674330744245,y:.5621810254355277},{x:.34811645117964274,y:.5633754754766519},{x:.34745867349333664,y:.563459831081816},{x:.3468240644907258,y:.5636523376181454},{x:.3430891085149791,y:.5640201986736739},{x:.3393665669654169,y:.5644975898222324},{x:.3387049713307353,y:.5644519984974604},{x:.338045,y:.564517},{x:.225865,y:.564517},{x:.22507819619617456,y:.5644395065891945},{x:.22428916125732748,y:.5644893996719887},{x:.22069487882474298,y:.5640077875099223},{x:.21708593550927424,y:.5636523376181454},{x:.21632936813438544,y:.5634228354140474},{x:.21554576062305134,y:.5633178367349442},{x:.2121144991913443,y:.5621442688983362},{x:.20864424554357097,y:.5610915789630079},{x:.20794698905754733,y:.5607188876066144},{x:.20719892257093525,y:.5604630322059678},{x:.13315592257093525,y:.5267090322059678},{x:.13091775246116674,y:.5254099486077729},{x:.12858140317750869,y:.5242970714087468},{x:.1271119341080524,y:.5232009671819817},{x:.12552641140636125,y:.5222806946221156},{x:.12358468574515913,y:.5205699272235509},{x:.12166,y:.5191342684374534},{x:.12166,y:.7597659999999999},{x:.12079533761814537,y:.7685450644907257},{x:.1182345789630079,y:.776986754456429},{x:.11407613255361454,y:.7847666604858821},{x:.10847980515339464,y:.7915858051533946},{x:.10166066048588208,y:.7971821325536145},{x:.09388075445642904,y:.8013405789630078},{x:.08543906449072577,y:.8039013376181453},{x:.07666,y:.804766},{x:.06788093550927421,y:.8039013376181453},{x:.05943924554357094,y:.8013405789630078},{x:.05165933951411792,y:.7971821325536145},{x:.04484019484660537,y:.7915858051533946},{x:.039243867446385465,y:.7847666604858821},{x:.0350854210369921,y:.776986754456429},{x:.03252466238185464,y:.7685450644907257},{x:.03166000000000001,y:.7597659999999999},{x:.03166000000000001,y:.04001500000000002}],[{x:.12166,y:.16313400296117606},{x:.12166,y:.39738980161800674},{x:.17691400696537596,y:.447746357818324},{x:.23563826658076475,y:.474517},{x:.3284048540018634,y:.474517},{x:.3882155063572531,y:.44765846343288423},{x:.44979135555302596,y:.39154114946310603},{x:.480392,y:.30619363915535625},{x:.480392,y:.2534097446111891},{x:.44984564070758065,y:.16903221413717517},{x:.38802932067077023,y:.11269492399652684},{x:.3281476350434013,y:.08501500000000002},{x:.2358983461114888,y:.08501500000000002},{x:.1771018588393058,y:.11260550754658781},{x:.12166,y:.16313400296117606}]],c:[[{x:.0446,y:.25490100000000004},{x:.044822712444716174,y:.2526397626013558},{x:.04482893549381362,y:.2503675925637664},{x:.045254001037800355,y:.24826081602954003},{x:.045464662381854634,y:.24612193550927428},{x:.04612424100165128,y:.2439475961957434},{x:.04657362286091401,y:.24172029932495478},{x:.08145962286091402,y:.1278402993249547},{x:.08196610920465827,y:.1266269431042867},{x:.08230081253195312,y:.125355433994083},{x:.08366176737769918,y:.12256476567779218},{x:.08485778977199918,y:.11969953302126297},{x:.0855912581784792,y:.11860830168404396},{x:.08616758939694805,y:.11742652164475936},{x:.08804682625741464,y:.11495498435675963},{x:.08977884657839008,y:.1123781387363477},{x:.09071111026807865,y:.11145096769089737},{x:.09150692129220603,y:.11040433186669174},{x:.16233292129220603,y:.03411333186669174},{x:.16445877247754231,y:.03223237849112975},{x:.1664474797904295,y:.03020697184383589},{x:.16775479669311927,y:.029316055882572942},{x:.16893962068732413,y:.02826772347496185},{x:.17139158003796548,y:.02683764508339147},{x:.17373721213250964,y:.02523913360696181},{x:.24456521213250962,y:-.013455866393038113},{x:.2467886390083486,y:-.014400746043602006},{x:.24891924554357092,y:-.015539578963007873},{x:.25083834630720225,y:-.016121731815163746},{x:.25268405147305695,y:-.01690609278116076},{x:.2550490927002279,y:-.01739904776899966},{x:.2573609355092742,y:-.018100337618145335},{x:.259356733677244,y:-.018296906580526337},{x:.26131999536931183,y:-.018706117055345653},{x:.26373576373978486,y:-.0187282033967292},{x:.26614,y:-.018964999999999968},{x:.371854,y:-.018964999999999968},{x:.3744001776009888,y:-.018714223394882004},{x:.3769583677219744,y:-.018674567546095353},{x:.3787793796063011,y:-.01828290964379429},{x:.3806330644907258,y:-.018100337618145335},{x:.3830813939144215,y:-.01735764500708899},{x:.3855826926572475,y:-.01681967299983559},{x:.38729230564255435,y:-.01608027889939661},{x:.3890747544564291,y:-.015539578963007873},{x:.391331147776118,y:-.014333511606549179},{x:.393679431632842,y:-.013317897403369645},{x:.463449431632842,y:.02537710259663028},{x:.46566730315778443,y:.026909287408228903},{x:.46799586592077425,y:.028267352155161442},{x:.4692879686356918,y:.029410572352257962},{x:.47070743151062955,y:.03039118797094862},{x:.4725837728278355,y:.03232661755101331},{x:.4746026476214732,y:.03411286752390576},{x:.5454306476214732,y:.11040386752390575},{x:.5507700783887176,y:.11742598212342069},{x:.5546369668925095,y:.12535484002769406},{x:.5568827107762242,y:.13388573967401945},{x:.5574210073618384,y:.14269084337317217},{x:.5562311702134469,y:.15143177592795284},{x:.5533589241053942,y:.15977262820225266},{x:.5489146478448386,y:.16739286592077418},{x:.5430691324760942,y:.17399964762147313},{x:.5360470178765793,y:.17933907838871752},{x:.5281181599723059,y:.18320596689250943},{x:.5195872603259806,y:.1854517107762242},{x:.5107821566268278,y:.1859900073618383},{x:.5020412240720471,y:.18480017021344686},{x:.4937003717977473,y:.18192792410539416},{x:.4860801340792258,y:.17748364784483847},{x:.47947335237852684,y:.17163813247609414},{x:.41352572033101553,y:.10060392571412592},{x:.36021071976053953,y:.07103500000000003},{x:.27763077403847125,y:.07103500000000003},{x:.2233107097601157,y:.10071132697875086},{x:.16448866962379677,y:.16407213041308155},{x:.1346,y:.2616391113440561},{x:.1346,y:.3245158400933278},{x:.1645319520417492,y:.4231721923699009},{x:.2231207776861973,y:.4862793045993598},{x:.27734241586879393,y:.5150589999999999},{x:.3605019191882548,y:.5150589999999999},{x:.41371701660545657,y:.4863852380349392},{x:.47947395272027693,y:.4155592208902026},{x:.48608084903755494,y:.4097138350672089},{x:.4937011738972078,y:.40526970822380387},{x:.5020420824884065,y:.4023976256622846},{x:.5107830383716269,y:.4012079599048077},{x:.5195881315142611,y:.40174642913926084},{x:.5281189871247909,y:.40399234029494097},{x:.5360477692062626,y:.4078593842656568},{x:.5430697791097975,y:.41319895272027696},{x:.5489151649327911,y:.41980584903755497},{x:.5533592917761961,y:.42742617389720783},{x:.5562313743377155,y:.4357670824884066},{x:.5574210400951923,y:.4445080383716269},{x:.5568825708607392,y:.4533131315142611},{x:.5546366597050592,y:.4618439871247909},{x:.5507696157343432,y:.46977276920626265},{x:.5454300472797231,y:.4767947791097975},{x:.4746020472797231,y:.5530827791097974},{x:.47237947035514305,y:.5550491819442839},{x:.4702881116089302,y:.5571546051529963},{x:.469083054274185,y:.5579656532949738},{x:.4679951509624451,y:.5589281649327911},{x:.46543165406806053,y:.5604231806402761},{x:.46296973250196366,y:.5620801448811513},{x:.39319973250196366,y:.5996741448811513},{x:.39109075852725916,y:.6005560023370271},{x:.3890747544564291,y:.6016335789630078},{x:.38703122642603144,y:.6022534764138876},{x:.38506104886577136,y:.6030772968079529},{x:.3828205563795885,y:.6035307692082409},{x:.3806330644907258,y:.6041943376181453},{x:.3785078662851109,y:.6044036513718285},{x:.37641482574826585,y:.6048272797133635},{x:.3741289156203665,y:.604834940368031},{x:.371854,y:.605059},{x:.26614,y:.605059},{x:.26400488750824663,y:.6048487097743618},{x:.26185945318827825,y:.6048549475733314},{x:.2596259398913868,y:.6044174210783497},{x:.2573609355092742,y:.6041943376181453},{x:.2553078741931944,y:.60357154827667},{x:.25320244685788745,y:.6031591127457343},{x:.2510972070775077,y:.6022942563713519},{x:.24891924554357092,y:.6016335789630078},{x:.24702713339817148,y:.6006222239508241},{x:.24504262343928468,y:.5998069647561404},{x:.1742146234392847,y:.5622129647561404},{x:.17162525666515238,y:.5604936738034747},{x:.16894033563687538,y:.5589277936219744},{x:.16795812189104978,y:.5580587651214349},{x:.16686556037036515,y:.5573333247718834},{x:.16466136457832586,y:.5551419091149951},{x:.16233352162359432,y:.5530823147741101},{x:.09150752162359431,y:.47679431477411016},{x:.09067474586023959,y:.4756991081857825},{x:.08970182133886938,y:.4747262717047309},{x:.08801053269383365,y:.4721953272870651},{x:.08616805203977476,y:.4697722296898647},{x:.08556494203519081,y:.46853560069719197},{x:.08480050296804506,y:.467391648838166},{x:.08363547472152838,y:.4645793817614187},{x:.08230111970711389,y:.461843393160995},{x:.08195085264054901,y:.4605128647226562},{x:.08142427599227564,y:.4592417589140625},{x:.046538275992275634,y:.3442567589140625},{x:.04610669192420131,y:.34208755224892967},{x:.045464662381854634,y:.33997106449072584},{x:.04524807462900009,y:.3377720121321243},{x:.04481688692083,y:.3356047976316928},{x:.044816786846426454,y:.33339307378956023},{x:.0446,y:.33119200000000004},{x:.0446,y:.25490100000000004}]],d:[[{x:.03166100000000001,y:.24551500000000004},{x:.03199378652782141,y:.24213616168032864},{x:.032173060891358886,y:.2387457109778176},{x:.032425376075824915,y:.237754159461938},{x:.03252566238185464,y:.23673593550927427},{x:.03351123316568353,y:.23348694405135337},{x:.034348506941927405,y:.23019661460170962},{x:.0713675069419274,y:.12794261460170955},{x:.07225746993456125,y:.1260790095358921},{x:.0729478813145148,y:.12413263082247869},{x:.07415364826248581,y:.12210836405190925},{x:.07516899837159816,y:.11998219518580837},{x:.07640543228727825,y:.1183280219355851},{x:.07746229725612473,y:.11655373492181778},{x:.07903981058640837,y:.11480359733178996},{x:.08045044599662987,y:.11291636718401242},{x:.08198583537337678,y:.11153519469971836},{x:.08336853920306012,y:.1100011842405046},{x:.15853253920306012,y:.04150018424050468},{x:.16051177365736521,y:.04002385498013544},{x:.16235580937568672,y:.038381768082408986},{x:.16403890527939927,y:.03739293492543645},{x:.16560363358955885,y:.03622578962650935},{x:.16783285515961555,y:.03516395710594637},{x:.16996181351033893,y:.03391317596960988},{x:.24512381351033893,y:-.0008318240303901436},{x:.24598297689097734,y:-.0011307574341723537},{x:.24678524554357095,y:-.0015595789630078807},{x:.25014222995258023,y:-.0025779090504023904},{x:.2534554494825366,y:-.0037306956028641883},{x:.25435642329373365,y:-.003856270624521421},{x:.2552269355092742,y:-.004120337618145342},{x:.2587180827488419,y:-.0044641856090968535},{x:.2621925371943035,y:-.004948444626188875},{x:.2631006975177666,y:-.004895835488062085},{x:.264006,y:-.0049849999999999756},{x:.376189,y:-.0049849999999999756},{x:.37722298297811335,y:-.004883161565438171},{x:.3782605578675134,y:-.004937293022731791},{x:.3816049041349026,y:-.004451580001305548},{x:.3849680644907258,y:-.004120337618145342},{x:.3859623120828546,y:-.003818735908388489},{x:.38699051078512875,y:-.003669406425619949},{x:.39017583846699794,y:-.0025405766534665605},{x:.39340975445642906,y:-.0015595789630078807},{x:.39432605828518835,y:-.0010698043626217065},{x:.39530536770082864,y:-.0007227525880688923},{x:.46934836770082866,y:.034022247411931134},{x:.4713599418403825,y:.035219651121148166},{x:.4734733873673339,y:.03622640539423388},{x:.4751409393435705,y:.037470316580519136},{x:.4769285933263682,y:.03853443023544684},{x:.47866791375766776,y:.04010126481479184},{x:.480392,y:.041387347763641016},{x:.480392,y:.04001500000000002},{x:.4812566623818546,y:.031235935509274233},{x:.48381742103699205,y:.022794245543570978},{x:.48797586744638544,y:.015014339514117927},{x:.4935721948466053,y:.008195194846605386},{x:.5003913395141178,y:.002598867446385482},{x:.508171245543571,y:-.0015595789630078807},{x:.5166129355092742,y:-.004120337618145342},{x:.525392,y:-.0049849999999999756},{x:.5341710644907257,y:-.004120337618145342},{x:.542612754456429,y:-.0015595789630078807},{x:.5503926604858821,y:.002598867446385489},{x:.5572118051533946,y:.008195194846605386},{x:.5628081325536145,y:.015014339514117927},{x:.5669665789630078,y:.022794245543570985},{x:.5695273376181453,y:.031235935509274254},{x:.570392,y:.04001500000000002},{x:.570392,y:.7597659999999999},{x:.5695273376181453,y:.7685450644907257},{x:.5669665789630078,y:.776986754456429},{x:.5628081325536145,y:.7847666604858821},{x:.5572118051533946,y:.7915858051533946},{x:.5503926604858821,y:.7971821325536145},{x:.542612754456429,y:.8013405789630078},{x:.5341710644907257,y:.8039013376181453},{x:.525392,y:.804766},{x:.5166129355092742,y:.8039013376181453},{x:.508171245543571,y:.8013405789630078},{x:.5003913395141178,y:.7971821325536145},{x:.4935721948466053,y:.7915858051533946},{x:.48797586744638544,y:.7847666604858821},{x:.48381742103699205,y:.776986754456429},{x:.4812566623818546,y:.7685450644907257},{x:.480392,y:.7597659999999999},{x:.480392,y:.5191356905079497},{x:.47846953719699326,y:.5205697307992189},{x:.47652758859363875,y:.5222806946221157},{x:.47494232329576636,y:.5232008177790934},{x:.47347310730786674,y:.524296763521154},{x:.4711365045177018,y:.5254097994515352},{x:.46889807742906475,y:.5267090322059679},{x:.3948550774290648,y:.5604630322059679},{x:.3941070109424522,y:.5607188876066146},{x:.39340975445642906,y:.5610915789630079},{x:.389939500808656,y:.5621442688983361},{x:.38650823937694867,y:.5633178367349442},{x:.38572463186561456,y:.5634228354140474},{x:.3849680644907258,y:.5636523376181454},{x:.38135912117525683,y:.5640077875099224},{x:.3777648387426725,y:.5644893996719887},{x:.3769758038038255,y:.5644395065891945},{x:.376189,y:.564517},{x:.264006,y:.564517},{x:.26334558239453953,y:.5644519545432365},{x:.2626835384795895,y:.5644975635305632},{x:.2589614482177297,y:.5640201550156564},{x:.2552269355092742,y:.5636523376181454},{x:.25459189738202526,y:.5634597009082802},{x:.2539336765832372,y:.5633752751711479},{x:.2503762430229788,y:.5621808961392286},{x:.24678524554357095,y:.5610915789630079},{x:.24619999105363047,y:.5607787539207695},{x:.24557088842716707,y:.5605675378929096},{x:.17040888842716706,y:.5268135378929095},{x:.16805407047382528,y:.5254644267942322},{x:.16560391365212207,y:.5242973792806265},{x:.16423565717286473,y:.5232767996121171},{x:.1627545512703112,y:.5224282514648534},{x:.16070817900232118,y:.5206456609648356},{x:.15853278093215223,y:.5190230360586235},{x:.08336878093215222,y:.45052303605862365},{x:.08193967718325436,y:.44893757139643337},{x:.08035717944512263,y:.44750518296134467},{x:.07899365114577664,y:.44566921514174185},{x:.07746249136223225,y:.4439705283033309},{x:.07637015625263606,y:.44213672358948825},{x:.0750975108858587,y:.44042312810321155},{x:.07411836195358443,y:.43835642671545355},{x:.07294802033824888,y:.4363916652130956},{x:.07223443169362759,y:.4343799925343442},{x:.07132054574594202,y:.4324510425104215},{x:.034301545745942026,y:.32920504251042143},{x:.033491210284420626,y:.32597904935505284},{x:.03252566238185464,y:.3227960644907258},{x:.03241858101312289,y:.3217088491086539},{x:.03215243067755317,y:.32064928896150824},{x:.031987025628206905,y:.31732719375391183},{x:.03166100000000001,y:.314017},{x:.03166100000000001,y:.24551500000000004}],[{x:.121661,y:.25340994514221},{x:.121661,y:.3061934402169761},{x:.15226243948714763,y:.39154086238640384},{x:.21383969339611897,y:.4476587099299689},{x:.27364661400534074,y:.474517},{x:.3664157334192352,y:.474517},{x:.42513971513426946,y:.4477464845048247},{x:.480392,y:.3973901578243758},{x:.480392,y:.1631336467554691},{x:.4249518651426514,y:.1126053780239199},{x:.3661556538885112,y:.08501500000000002},{x:.2739038430667855,y:.08501500000000002},{x:.21402588591940364,y:.11269467351967463},{x:.15220815290195538,y:.1690325018607451},{x:.121661,y:.25340994514221}]],e:[[{x:.014571,y:.25490100000000004},{x:.014880046743786594,y:.2517631957525991},{x:.01501248842711947,y:.2486129918567585},{x:.015311525398480692,y:.24738231945287367},{x:.015435662381854634,y:.24612193550927428},{x:.016350926120166094,y:.24310471531940006},{x:.01709539726614681,y:.24004087979874045},{x:.05693639726614681,y:.12616087979874036},{x:.057746546207777846,y:.12441615547982068},{x:.05835851556287996,y:.12259245107255745},{x:.05959975008908581,y:.12042512406141898},{x:.06065161969764369,y:.11815983382640528},{x:.06178658068373706,y:.11660668611395116},{x:.06274257829935428,y:.11493741297405176},{x:.06438278737670251,y:.11305388338712186},{x:.06585638180708843,y:.11103732964943176},{x:.06727253892344205,y:.10973544513901749},{x:.06853582634733585,y:.1082847524971091},{x:.14942282634733584,y:.031993752497109104},{x:.15144602889400902,y:.03043003785468449},{x:.15333307828862142,y:.02870446646813117},{x:.1549277151407192,y:.027739074573098352},{x:.15640262843323158,y:.02659912765300345},{x:.15869202130341495,y:.025460166585296706},{x:.1608794538505091,y:.024135896643135493},{x:.2417664538505091,y:-.01455910335686443},{x:.24290092295632487,y:-.014970686687880902},{x:.2439652455435709,y:-.015539578963007873},{x:.24703931387581265,y:-.016472087396775758},{x:.2500591116803148,y:-.017567664555291233},{x:.2512520782049556,y:-.01775001548484057},{x:.2524069355092742,y:-.018100337618145335},{x:.25560385985111694,y:-.01841520718300011},{x:.2587793695882151,y:-.01890059980751419},{x:.2599849884971624,y:-.018846710691637396},{x:.261186,y:-.018964999999999968},{x:.381914,y:-.018964999999999968},{x:.3832466926412995,y:-.01883374123151461},{x:.3845848263549422,y:-.018885671038862982},{x:.3876272824249201,y:-.01840229079619376},{x:.39069306449072577,y:-.018100337618145335},{x:.3919745425012029,y:-.017711605513551366},{x:.39329709535359264,y:-.017501480567117658},{x:.39618678867610163,y:-.016433834605858122},{x:.39913475445642904,y:-.015539578963007873},{x:.4003157713548023,y:-.014908312279081314},{x:.40157191838151796,y:-.014444207562717595},{x:.48125191838151804,y:.02425079243728233},{x:.4833189661071789,y:.02551885102394819},{x:.4854901362659954,y:.026598980192539007},{x:.48706966813422276,y:.027819770278194},{x:.48877129863032925,y:.028863658687316496},{x:.4905512426555404,y:.030510612890229178},{x:.492469971641239,y:.03199356196515255},{x:.573357971641239,y:.10828456196515254},{x:.5791512607417543,y:.11493718669263933},{x:.5835353707163221,y:.12259219773755695},{x:.5863418226772573,y:.13095541731842886},{x:.5874627662495775,y:.13970545159690978},{x:.5868551242004307,y:.1485060416627534},{x:.584542247872996,y:.15701898577515713},{x:.5806130198074609,y:.16491713626599536},{x:.5752184380348474,y:.17189697164123896},{x:.5685658133073607,y:.17769026074175415},{x:.560910802262443,y:.1820743707163221},{x:.5525475826815711,y:.18488082267725728},{x:.5437975484030901,y:.18600176624957743},{x:.5349969583372466,y:.1853941242004306},{x:.5264840142248428,y:.183081247872996},{x:.5185858637340046,y:.17915201980746093},{x:.511606028358761,y:.17375743803484736},{x:.43573388395098006,y:.1021972341849065},{x:.3715652104827451,y:.07103500000000003},{x:.2713955768569904,y:.07103500000000003},{x:.2060606884620834,y:.10229012760321096},{x:.13826613078700495,y:.16623259795801962},{x:.104571,y:.2625454790108076},{x:.104571,y:.28619200000000006},{x:.542482,y:.28619200000000006},{x:.5512610644907258,y:.2870566623818547},{x:.559702754456429,y:.2896174210369921},{x:.5674826604858821,y:.2937758674463855},{x:.5743018051533947,y:.2993721948466054},{x:.5798981325536146,y:.3061913395141179},{x:.5840565789630079,y:.31397124554357103},{x:.5866173376181454,y:.32241293550927425},{x:.5874820000000001,y:.33119200000000004},{x:.5866173376181454,y:.33997106449072584},{x:.5840565789630079,y:.34841275445642905},{x:.5798981325536146,y:.35619266048588216},{x:.5743018051533947,y:.3630118051533947},{x:.5674826604858821,y:.3686081325536146},{x:.5660433240263831,y:.3693774739195968},{x:.5706944449992851,y:.3724210772554575},{x:.5769918122169339,y:.3785986803904119},{x:.5819629867044116,y:.38588613801169297},{x:.5854169290140312,y:.3940033972097681},{x:.5872209060798271,y:.40263851626586683},{x:.5873055920748429,y:.4114596523972937},{x:.5856677325637826,y:.4201278142894682},{x:.5823702695691338,y:.4283098893420352},{x:.5425292695691338,y:.5045998893420351},{x:.54083893518448,y:.5071829952333479},{x:.5393041274419548,y:.5098614335042745},{x:.5384286685906833,y:.5108662746451583},{x:.5376989227445426,y:.5119814449992851},{x:.5355371287009763,y:.5141851493557908},{x:.5335092744740836,y:.5165126960496618},{x:.49246227447408364,y:.5552086960496617},{x:.4903478252727746,y:.5568421196453192},{x:.48836639942178184,y:.5586345815458318},{x:.486865329057947,y:.5595323670561179},{x:.4854811710293013,y:.5606016367187369},{x:.48308868524123094,y:.5617911659624512},{x:.4807956399629947,y:.5631626292028359},{x:.40111563996299465,y:.6007566292028359},{x:.40009264564938235,y:.6011215754533451},{x:.39913475445642904,y:.6016335789630078},{x:.3959457374462889,y:.6026009566970012},{x:.3928069722488333,y:.6037206897930685},{x:.3917324370025758,y:.603879047413643},{x:.39069306449072577,y:.6041943376181453},{x:.38737659751458814,y:.6045209811048129},{x:.38407969371999856,y:.6050068561303112},{x:.38299491132800306,y:.6049525395264004},{x:.381914,y:.605059},{x:.261186,y:.605059},{x:.26023449599616577,y:.6049652850353624},{x:.2592798763752433,y:.6050186117946668},{x:.25585213857488087,y:.6045336605029273},{x:.2524069355092742,y:.6041943376181453},{x:.2514919972706982,y:.6039167941377678},{x:.2505453168634681,y:.6037828591890964},{x:.24727805138745723,y:.6026385076291858},{x:.2439652455435709,y:.6016335789630078},{x:.24312203363365809,y:.6011828728071931},{x:.24221967283726598,y:.6008668231955117},{x:.161332672837266,y:.5632728231955116},{x:.15891596978001063,y:.5618462817840929},{x:.15640337688314435,y:.5605963413854953},{x:.1551260781006526,y:.5596091689500753},{x:.15373589412748892,y:.5587885654418143},{x:.1516439317651508,y:.5569179592459522},{x:.1494234689111216,y:.555201853544281},{x:.06853646891112161,y:.47891385354428107},{x:.06722863655802509,y:.4774120673763562},{x:.06576662511800205,y:.47605991734502884},{x:.06433886916992998,y:.4740937424536807},{x:.06274309028364713,y:.4722613067803989},{x:.06175337150959475,y:.4705332315776763},{x:.06058324359446483,y:.4689218384474283},{x:.05956650326928079,y:.4667149016876259},{x:.05835887729241062,y:.4646063547351938},{x:.05772530643484857,y:.4627183994585984},{x:.05689202940417486,y:.4609096881637455},{x:.017051029404174856,y:.3459246881637455},{x:.016331419439147486,y:.342923979771159},{x:.015435662381854634,y:.33997106449072584},{x:.015304912520774374,y:.33864353887302173},{x:.014993833838408223,y:.33734636893611664},{x:.014873460143664087,y:.33426292937408214},{x:.014571,y:.33119200000000004},{x:.014571,y:.25490100000000004}],[{x:.12278767041868709,y:.376192},{x:.13831799224413532,y:.421014018902617},{x:.20587340146207272,y:.4847284236699839},{x:.27113246747276615,y:.5150589999999999},{x:.37183117966561724,y:.5150589999999999},{x:.4359272756482788,y:.48481767680255794},{x:.4662598881310508,y:.45622238914125884},{x:.5025937304308662,y:.3866481106579649},{x:.5074240772554575,y:.379266555000715},{x:.5104401600015575,y:.376192},{x:.12278767041868709,y:.376192}]],f:[[{x:.044112,y:.5239119999999999},{x:.04497666238185463,y:.5151329355092742},{x:.04753742103699209,y:.5066912455435709},{x:.051695867446385456,y:.4989113395141178},{x:.05729219484660536,y:.49209219484660527},{x:.0641113395141179,y:.4864958674463854},{x:.07189124554357096,y:.482337421036992},{x:.08033293550927423,y:.47977666238185457},{x:.089112,y:.47891199999999995},{x:.20304699999999998,y:.47891199999999995},{x:.20304699999999998,y:.05318299999999998},{x:.20391166238185462,y:.04440393550927419},{x:.2064724210369921,y:.03596224554357094},{x:.21063086744638546,y:.028182339514117884},{x:.21622719484660535,y:.021363194846605343},{x:.2230463395141179,y:.01576686744638544},{x:.23082624554357095,y:.011608421036992077},{x:.23926793550927422,y:.009047662381854615},{x:.248047,y:.008182999999999982},{x:.25682606449072576,y:.009047662381854615},{x:.26526775445642903,y:.011608421036992077},{x:.2730476604858821,y:.015766867446385446},{x:.2798668051533946,y:.021363194846605343},{x:.28546313255361455,y:.028182339514117884},{x:.2896215789630079,y:.03596224554357094},{x:.2921823376181454,y:.04440393550927421},{x:.293047,y:.05318299999999998},{x:.293047,y:.47891199999999995},{x:.459965,y:.47891199999999995},{x:.4687440644907258,y:.47977666238185457},{x:.4771857544564291,y:.482337421036992},{x:.48496566048588213,y:.4864958674463854},{x:.4917848051533946,y:.49209219484660527},{x:.49738113255361455,y:.4989113395141178},{x:.5015395789630079,y:.5066912455435709},{x:.5041003376181454,y:.5151329355092742},{x:.504965,y:.5239119999999999},{x:.5041003376181454,y:.5326910644907257},{x:.5015395789630079,y:.5411327544564289},{x:.49738113255361455,y:.548912660485882},{x:.4917848051533946,y:.5557318051533946},{x:.48496566048588213,y:.5613281325536145},{x:.4771857544564291,y:.5654865789630078},{x:.4687440644907258,y:.5680473376181453},{x:.459965,y:.568912},{x:.293047,y:.568912},{x:.293047,y:.6141229501499061},{x:.3322669208002554,y:.6884371453882767},{x:.4140490730325775,y:.7147659999999999},{x:.512941,y:.7147659999999999},{x:.5217200644907257,y:.7156306623818546},{x:.530161754456429,y:.7181914210369921},{x:.5379416604858821,y:.7223498674463854},{x:.5447608051533946,y:.7279461948466053},{x:.5503571325536145,y:.7347653395141178},{x:.5545155789630078,y:.7425452455435709},{x:.5570763376181453,y:.7509869355092742},{x:.557941,y:.7597659999999999},{x:.5570763376181453,y:.7685450644907257},{x:.5545155789630078,y:.776986754456429},{x:.5503571325536145,y:.7847666604858821},{x:.5447608051533946,y:.7915858051533946},{x:.5379416604858821,y:.7971821325536145},{x:.530161754456429,y:.8013405789630078},{x:.5217200644907257,y:.8039013376181453},{x:.512941,y:.804766},{x:.406984,y:.804766},{x:.40440576588043703,y:.8045120661033809},{x:.40181542834229744,y:.8044681908525655},{x:.400026512750784,y:.8040807473169851},{x:.3982049355092742,y:.8039013376181453},{x:.39572578148103565,y:.8031492944655273},{x:.39319377618916257,y:.8026009124809075},{x:.2872357761891626,y:.7684889124809076},{x:.28342960508890525,y:.7668362808879404},{x:.2796044085190959,y:.7652281761559891},{x:.27938594032962494,y:.7650805300410848},{x:.27914407460343155,y:.764975512444704},{x:.2757334504432472,y:.7626120885587936},{x:.27229547962292316,y:.7602886242777711},{x:.2721100135665551,y:.7601011941121303},{x:.27189328313916555,y:.7599510087370087},{x:.2690092742928275,y:.7569676176126634},{x:.26609064851257996,y:.7540180832118794},{x:.26594531194585036,y:.7537980718316557},{x:.26576204564604555,y:.7536084902175343},{x:.26351548295615396,y:.7501197819025626},{x:.26122836336792754,y:.7466575263349163},{x:.2082493633679275,y:.6462725263349164},{x:.20745880379789322,y:.6443351468057326},{x:.2064724210369921,y:.6424897544564291},{x:.20579637196662365,y:.6402611193438609},{x:.20491647908027386,y:.6381048157198157},{x:.20451907388691828,y:.636050431873947},{x:.20391166238185462,y:.6340480644907258},{x:.20368338854657433,y:.6317303613460921},{x:.20324107652369047,y:.6294438319050109},{x:.20325209776572678,y:.6273513925615422},{x:.20304699999999998,y:.6252690000000001},{x:.20304699999999998,y:.568912},{x:.089112,y:.568912},{x:.0803329355092742,y:.5680473376181453},{x:.07189124554357093,y:.5654865789630078},{x:.0641113395141179,y:.5613281325536145},{x:.05729219484660536,y:.5557318051533946},{x:.051695867446385456,y:.548912660485882},{x:.04753742103699209,y:.5411327544564289},{x:.04497666238185463,y:.5326910644907257},{x:.044112,y:.5239119999999999}]],g:[[{x:.03166100000000001,y:.285331},{x:.03199195389402992,y:.28197076872347165},{x:.03216742697517915,y:.27859884139484714},{x:.032423533978450624,y:.2775888625904497},{x:.03252566238185464,y:.2765519355092742},{x:.03350580569139788,y:.2733208360362635},{x:.034335737494852386,y:.2700479324456657},{x:.07135573749485238,y:.1675239324456658},{x:.07223945098422414,y:.16566943556296815},{x:.07292365731738822,y:.16373243532732273},{x:.07413231799188957,y:.16169720247238553},{x:.07515058411631778,y:.15956034321175439},{x:.07637911169281072,y:.15791388391586245},{x:.07742806119285411,y:.15614758463046624},{x:.07901055202445481,y:.15438725620434748},{x:.0804261330120869,y:.15249010996133996},{x:.08195226304990277,y:.15111496075964967},{x:.08332564517579637,y:.14958724031548856},{x:.1584886451757964,y:.08090524031548854},{x:.16047116284778873,y:.07942238349974136},{x:.16231838489394151,y:.07777404756068641},{x:.16399482319868336,y:.07678680357956279},{x:.16555276842115366,y:.07562151273533077},{x:.16778648358567103,y:.07455391860853194},{x:.1699197861673149,y:.07329763012616651},{x:.2450797861673149,y:.038459630126166475},{x:.2459605302529857,y:.0381521715215269},{x:.24678324554357095,y:.03771242103699209},{x:.2501181687545519,y:.03670078314085588},{x:.253408434365457,y:.03555218561964517},{x:.254332237398671,y:.03542245939316866},{x:.2552249355092742,y:.03515166238185463},{x:.2586931398688001,y:.03481007406735549},{x:.26214426420887293,y:.034325445502994434},{x:.2630756249571383,y:.03437843696081321},{x:.264004,y:.034287},{x:.376189,y:.034287},{x:.37724627227682206,y:.03439113223027483},{x:.37830727432005307,y:.03433688416138392},{x:.3816280756224084,y:.03482270219101675},{x:.3849680644907258,y:.03515166238185463},{x:.38598470638687477,y:.035460057329467706},{x:.38703590484658207,y:.03561384285228289},{x:.39019811948723343,y:.036738182220129235},{x:.39340975445642906,y:.03771242103699209},{x:.39434669699397534,y:.038213227257056566},{x:.39534769490287125,y:.03856913648017993},{x:.4693886949028713,y:.07340713648017996},{x:.47140406041677185,y:.07460963544760885},{x:.47352148667564636,y:.07562166704766733},{x:.4751827197672129,y:.0768642309221422},{x:.47696422705836306,y:.07792719476830276},{x:.47870627197824944,y:.0794997663623443},{x:.480392,y:.08076065187723735},{x:.480392,y:.018480463023952315},{x:.44982106300216956,y:-.06618482166306154},{x:.42509763890365326,y:-.0887666681923909},{x:.3663917896728536,y:-.115601},{x:.27366828971008494,y:-.115601},{x:.21388478385740822,y:-.08868092320279419},{x:.15228882603575622,y:-.032396134475538775},{x:.11903308523020223,y:.0605977685009861},{x:.11526275900748023,y:.06857299605517989},{x:.11000898883421664,y:.07565942769130271},{x:.1034736741518217,y:.08158473581569503},{x:.09590796343849313,y:.08612121416008753},{x:.08760260271404471,y:.08909452840579157},{x:.07887676233341709,y:.09039041575379858},{x:.07006577144893004,y:.08995907598006667},{x:.061508231499013855,y:.08781708523020218},{x:.05353300394482007,y:.08404675900748018},{x:.046446572308697254,y:.07879298883421659},{x:.04052126418430494,y:.07225767415182165},{x:.035984785839912437,y:.06469196343849308},{x:.03301147159420839,y:.05638660271404467},{x:.03171558424620138,y:.04766076233341703},{x:.0321469240199333,y:.038849771448930016},{x:.03428891476979778,y:.030292231499013812},{x:.07130891476979778,y:-.07322776850098624},{x:.07221644299685706,y:-.07514742841768875},{x:.07292365731738822,y:-.07714956467267746},{x:.07409706350042253,y:-.07912543338941479},{x:.07507924099251978,y:-.08120299605518004},{x:.07634383839048098,y:-.08290872027080634},{x:.07742806119285414,y:-.08473441536953392},{x:.07896439356931816,y:-.08644339813281518},{x:.08033301116578337,y:-.08828942769130284},{x:.0819060799658371,y:-.08971566618082738},{x:.08332564517579637,y:-.09129475968451163},{x:.1584886451757964,y:-.15997675968451153},{x:.16066766565506738,y:-.1616065940183929},{x:.16271768036753925,y:-.16339598773796155},{x:.16419165994754753,y:-.1642424237156923},{x:.16555276842115366,y:-.1652604872646693},{x:.16800788453794988,y:-.16643389898185532},{x:.17036760218951646,y:-.1677889719724602},{x:.24552760218951647,y:-.2016329719724602},{x:.24617798725770038,y:-.20185206166908357},{x:.24678324554357095,y:-.2021755789630079},{x:.2503526828238078,y:-.20325835592431216},{x:.25388756161766735,y:-.20444912053505218},{x:.25456819199860076,y:-.20453711665220192},{x:.2552249355092742,y:-.20473633761814536},{x:.25893702635910487,y:-.20510194665533446},{x:.2626362900994872,y:-.20558021041579141},{x:.263321009549333,y:-.20553373131203426},{x:.264004,y:-.20560099999999998},{x:.376189,y:-.20560099999999998},{x:.3769985938815523,y:-.20552126196245651},{x:.37781053527049396,y:-.2055717752142049},{x:.38138177137190815,y:-.20508955666026785},{x:.3849680644907258,y:-.20473633761814536},{x:.3857465461334356,y:-.20450018779358015},{x:.38655274094280934,y:-.2043913285403334},{x:.3899612805709507,y:-.2032216620796743},{x:.39340975445642906,y:-.2021755789630079},{x:.39412720724734457,y:-.20179209245674457},{x:.39489667386274535,y:-.20152804409855607},{x:.4689376738627454,y:-.16768404409855608},{x:.471176129388074,y:-.16638175223486265},{x:.4735129313995788,y:-.16526550692304898},{x:.47497970384913024,y:-.16416890323360386},{x:.4765626813675205,y:-.163247956304222},{x:.47850406105855325,y:-.16153398660426738},{x:.480578193417323,y:-.15998330217620907},{x:.5187211934173229,y:-.125144302176209},{x:.5200982241105119,y:-.12361318710120846},{x:.5216280341275545,y:-.12223470670068204},{x:.5230406381933351,y:-.12034152832018923},{x:.5246201913815024,y:-.1185852292702623},{x:.52567205708302,y:-.11681488878073784},{x:.5269035440443172,y:-.11516444436572898},{x:.5279196645391884,y:-.1130320574948894},{x:.5291262301085498,y:-.11100134969861394},{x:.5298125082093796,y:-.10905981698676002},{x:.5306983467616347,y:-.10720083421055714},{x:.5677173467616347,y:-.0046778342105572215},{x:.5685472301626403,y:-.001405045768812418},{x:.5695273376181453,y:.0018259355092742052},{x:.5696294781899907,y:.002862986138707272},{x:.5698856101392306,y:.003873086692614168},{x:.5700610582123972,y:.007244891642088324},{x:.570392,y:.010604999999999976},{x:.570392,y:.560059},{x:.5695273376181453,y:.5688380644907257},{x:.5669665789630078,y:.577279754456429},{x:.5628081325536145,y:.5850596604858821},{x:.5572118051533946,y:.5918788051533946},{x:.5503926604858821,y:.5974751325536145},{x:.542612754456429,y:.6016335789630078},{x:.5341710644907257,y:.6041943376181453},{x:.525392,y:.605059},{x:.5166129355092742,y:.6041943376181453},{x:.508171245543571,y:.6016335789630078},{x:.5003913395141178,y:.5974751325536145},{x:.4935721948466053,y:.5918788051533946},{x:.48797586744638544,y:.5850596604858821},{x:.48381742103699205,y:.577279754456429},{x:.4812566623818546,y:.5688380644907257},{x:.480392,y:.560059},{x:.480392,y:.5595783858718113},{x:.47850787544975776,y:.5609876460911735},{x:.47656308903374583,y:.5627046621197919},{x:.47498407852937236,y:.5636233247252487},{x:.47352120750708176,y:.5647175018259646},{x:.47118052218859596,y:.5658362200595997},{x:.46893813108831367,y:.5671408350985324},{x:.39489713108831365,y:.6009858350985324},{x:.39412742928685096,y:.6012499737741558},{x:.39340975445642906,y:.6016335789630078},{x:.38996152003118717,y:.6026795894402057},{x:.3865532301567984,y:.60384921275647},{x:.38574678706033977,y:.6039581147092028},{x:.3849680644907258,y:.6041943376181453},{x:.38138202040224084,y:.6045475321329209},{x:.37781103767268465,y:.6050297570960106},{x:.3769988444371686,y:.6049792372848822},{x:.376189,y:.605059},{x:.264004,y:.605059},{x:.2633207613423033,y:.6049917068657756},{x:.2626357925427961,y:.6050381952835313},{x:.25893677979996554,y:.6045599223713788},{x:.2552249355092742,y:.6041943376181453},{x:.25456795333002863,y:.6039950442528821},{x:.2538870765735461,y:.6039070086250592},{x:.2503524457397967,y:.6027162840056636},{x:.24678324554357095,y:.6016335789630078},{x:.24617776729948443,y:.6013099440989677},{x:.24552714829793862,y:.6010907675853725},{x:.17036714829793861,y:.5672457675853725},{x:.16800780172583518,y:.5658908729822889},{x:.16555304759050302,y:.5647176561362495},{x:.1641916021742222,y:.563699355958929},{x:.16271727507130354,y:.5628526987282604},{x:.16066758950642807,y:.5610635523625588},{x:.15848888603577402,y:.5594339797745099},{x:.08332588603577401,y:.49075297977450993},{x:.08190615458499984,y:.48917372437901785},{x:.08033291862515302,y:.48774732555289924},{x:.07896444452212992,y:.48590147772545017},{x:.07742825448734617,y:.4841926782200152},{x:.07634390022195357,y:.48236679190821125},{x:.07507917015624571,y:.48066087782555583},{x:.0740970979464375,y:.4785835213931001},{x:.07292379561819572,y:.47660786018244516},{x:.07221648966449083,y:.47460551074132296},{x:.0713088683600783,y:.4726856387236396},{x:.034288868360078294,y:.36916463872363964},{x:.03348577523186824,y:.3659561323879453},{x:.03252566238185464,y:.3627910644907258},{x:.0324167369020588,y:.3616851255348066},{x:.032146903820267865,y:.36060709221327164},{x:.03198519043554786,y:.35730356073015046},{x:.03166100000000001,y:.354012},{x:.03166100000000001,y:.285331}],[{x:.121661,y:.29320659086815803},{x:.121661,y:.34620780969623244},{x:.15228882172599023,y:.4318540207415116},{x:.21388481974037543,y:.48813802669691503},{x:.2736685500834057,y:.5150589999999999},{x:.3663915263934284,y:.5150589999999999},{x:.4250929420729598,y:.48822590193711934},{x:.480392,y:.4376951204586189},{x:.480392,y:.20264468470162808},{x:.4249051037436742,y:.15194152341431572},{x:.3661311050032371,y:.124287},{x:.2739261218560311,y:.124287},{x:.21407100266628776,y:.15203091487935444},{x:.15223458736534265,y:.208535427414771},{x:.121661,y:.29320659086815803}]],h:[[{x:.047041,y:.05318299999999998},{x:.04790566238185463,y:.04440393550927419},{x:.050466421036992094,y:.03596224554357094},{x:.05462486744638546,y:.028182339514117884},{x:.06022119484660536,y:.021363194846605343},{x:.06704033951411792,y:.01576686744638544},{x:.07482024554357096,y:.011608421036992077},{x:.08326193550927423,y:.009047662381854615},{x:.092041,y:.008182999999999982},{x:.10082006449072577,y:.009047662381854615},{x:.10926175445642904,y:.011608421036992077},{x:.1170416604858821,y:.015766867446385446},{x:.12386080515339463,y:.021363194846605343},{x:.12945713255361452,y:.028182339514117884},{x:.1336155789630079,y:.03596224554357094},{x:.13617633761814535,y:.04440393550927421},{x:.137041,y:.05318299999999998},{x:.137041,y:.3692271498339558},{x:.23047284680205596,y:.45237128863270537},{x:.2915669774325256,y:.478914},{x:.38669764440631527,y:.478914},{x:.43644054132690624,y:.4571557093088599},{x:.465011,y:.38123324165433015},{x:.465011,y:.05318299999999998},{x:.4658756623818546,y:.04440393550927419},{x:.46843642103699207,y:.03596224554357094},{x:.47259486744638546,y:.028182339514117884},{x:.4781911948466053,y:.021363194846605343},{x:.4850103395141179,y:.01576686744638544},{x:.492790245543571,y:.011608421036992077},{x:.5012319355092743,y:.009047662381854615},{x:.510011,y:.008182999999999982},{x:.5187900644907257,y:.009047662381854615},{x:.527231754456429,y:.011608421036992077},{x:.5350116604858821,y:.015766867446385446},{x:.5418308051533947,y:.021363194846605343},{x:.5474271325536145,y:.028182339514117884},{x:.5515855789630079,y:.03596224554357094},{x:.5541463376181454,y:.04440393550927421},{x:.555011,y:.05318299999999998},{x:.555011,y:.38942},{x:.5546506186962206,y:.39307901278178137},{x:.554410350301749,y:.3967478709583736},{x:.5542188683658584,y:.3974626474508545},{x:.5541463376181454,y:.3981990644907258},{x:.5530790429582076,y:.40171746346329923},{x:.5521276325304605,y:.40526895152034226},{x:.5139866325304605,y:.5066239515203422},{x:.5138553396770835,y:.5068902237569821},{x:.5137747554395128,y:.50717595947055},{x:.511905898744729,y:.5108438433478746},{x:.5100853961903059,y:.5145359657635786},{x:.5099046789559015,y:.5147715076888114},{x:.5097698988494882,y:.5150360318659072},{x:.5072213830653152,y:.5182688425286295},{x:.504715563605999,y:.5215348594178236},{x:.5044923668525381,y:.521730619287556},{x:.5043085704011859,y:.5219637664124008},{x:.5011783335599848,y:.5246372687597332},{x:.4980834944323178,y:.5273516689249697},{x:.497826395485866,y:.5275001237971909},{x:.49760064588412606,y:.5276929341565276},{x:.49400898123224624,y:.5297043869925788},{x:.49044405536829966,y:.5317628575577613},{x:.490162934397186,y:.5318583023949868},{x:.48990390707565157,y:.532003366394835},{x:.41414290707565155,y:.5651423663948351},{x:.41372099607879415,y:.5652794559590063},{x:.41332975445642905,y:.5654885789630079},{x:.40952975949805703,y:.5666412948313546},{x:.4057531353317914,y:.5678684156337233},{x:.40531258638921414,y:.5679205603081202},{x:.4048880644907258,y:.5680493376181454},{x:.4009362016599996,y:.5684385621342186},{x:.39699274487562397,y:.5689053213297277},{x:.39655048803612764,y:.5688705172237564},{x:.396109,y:.568914},{x:.282214,y:.568914},{x:.28182836168040026,y:.5688760179407144},{x:.2814421286004882,y:.5689073796745989},{x:.27744221175957573,y:.5684440198796774},{x:.2734349355092742,y:.5680493376181454},{x:.2730641170540284,y:.5679368510695262},{x:.2726791869636831,y:.5678922598605547},{x:.26884652441488044,y:.5666574583296339},{x:.26499324554357095,y:.5654885789630079},{x:.2646514972979566,y:.5653059107200353},{x:.264282662844679,y:.5651870801833616},{x:.18800566284467896,y:.5320480801833616},{x:.1856267698486466,y:.5307235797343987},{x:.1831549202301779,y:.529581917442145},{x:.18178185218619736,y:.5285828381463435},{x:.18029822995654404,y:.527756799180932},{x:.17822344394147954,y:.5259936496360635},{x:.17602181748454487,y:.5243916901265875},{x:.137041,y:.4897030201456747},{x:.137041,y:.7597659999999999},{x:.13617633761814535,y:.7685450644907257},{x:.1336155789630079,y:.776986754456429},{x:.12945713255361452,y:.7847666604858821},{x:.12386080515339463,y:.7915858051533946},{x:.11704166048588208,y:.7971821325536145},{x:.10926175445642904,y:.8013405789630078},{x:.10082006449072577,y:.8039013376181453},{x:.092041,y:.804766},{x:.08326193550927423,y:.8039013376181453},{x:.07482024554357093,y:.8013405789630078},{x:.06704033951411792,y:.7971821325536145},{x:.06022119484660536,y:.7915858051533946},{x:.05462486744638546,y:.7847666604858821},{x:.050466421036992094,y:.776986754456429},{x:.04790566238185463,y:.7685450644907257},{x:.047041,y:.7597659999999999},{x:.047041,y:.05318299999999998}]],i:[[{x:.216026,y:.7597659999999999},{x:.21689066238185462,y:.7509869355092742},{x:.21945142103699208,y:.7425452455435709},{x:.22360986744638545,y:.7347653395141178},{x:.22920619484660534,y:.7279461948466053},{x:.2360253395141179,y:.7223498674463854},{x:.24380524554357094,y:.7181914210369921},{x:.25224693550927424,y:.7156306623818546},{x:.261026,y:.7147659999999999},{x:.341026,y:.7147659999999999},{x:.3498050644907258,y:.7156306623818546},{x:.35824675445642906,y:.7181914210369921},{x:.3660266604858821,y:.7223498674463854},{x:.3728458051533946,y:.7279461948466053},{x:.37844213255361453,y:.7347653395141178},{x:.3826005789630079,y:.7425452455435709},{x:.38516133761814536,y:.7509869355092742},{x:.386026,y:.7597659999999999},{x:.38516133761814536,y:.7685450644907257},{x:.3826005789630079,y:.776986754456429},{x:.37844213255361453,y:.7847666604858821},{x:.3728458051533946,y:.7915858051533946},{x:.3660266604858821,y:.7971821325536145},{x:.35824675445642906,y:.8013405789630078},{x:.3498050644907258,y:.8039013376181453},{x:.341026,y:.804766},{x:.261026,y:.804766},{x:.25224693550927424,y:.8039013376181453},{x:.24380524554357094,y:.8013405789630078},{x:.2360253395141179,y:.7971821325536145},{x:.22920619484660534,y:.7915858051533946},{x:.22360986744638545,y:.7847666604858821},{x:.21945142103699208,y:.776986754456429},{x:.21689066238185462,y:.7685450644907257},{x:.216026,y:.7597659999999999}],[{x:.25597800000000004,y:.05318299999999998},{x:.25684266238185466,y:.04440393550927419},{x:.2594034210369921,y:.03596224554357094},{x:.2635618674463855,y:.028182339514117884},{x:.2691581948466054,y:.021363194846605343},{x:.27597733951411796,y:.01576686744638544},{x:.28375724554357096,y:.011608421036992077},{x:.2921989355092742,y:.009047662381854615},{x:.300978,y:.008182999999999982},{x:.3097570644907258,y:.009047662381854615},{x:.3181987544564291,y:.011608421036992077},{x:.32597866048588214,y:.015766867446385446},{x:.33279780515339463,y:.021363194846605343},{x:.33839413255361456,y:.028182339514117884},{x:.34255257896300795,y:.03596224554357094},{x:.3451133376181454,y:.04440393550927421},{x:.345978,y:.05318299999999998},{x:.345978,y:.523911},{x:.3451133376181454,y:.5326900644907258},{x:.34255257896300795,y:.541131754456429},{x:.33839413255361456,y:.5489116604858821},{x:.33279780515339463,y:.5557308051533947},{x:.32597866048588214,y:.5613271325536145},{x:.3181987544564291,y:.5654855789630079},{x:.3097570644907258,y:.5680463376181454},{x:.300978,y:.5689110000000001},{x:.2921989355092742,y:.5680463376181454},{x:.28375724554357096,y:.5654855789630079},{x:.27597733951411796,y:.5613271325536145},{x:.2691581948466054,y:.5557308051533947},{x:.2635618674463855,y:.5489116604858821},{x:.2594034210369921,y:.541131754456429},{x:.25684266238185466,y:.5326900644907258},{x:.25597800000000004,y:.523911},{x:.25597800000000004,y:.05318299999999998}]],j:[[{x:.11017199870220953,y:-.1121580749666587},{x:.11173080987432929,y:-.12084080046598154},{x:.114953584640513,y:-.12905258085596802},{x:.11971647357384912,y:-.1364778420214504},{x:.12583644152368842,y:-.14283123533997366},{x:.1330783015538362,y:-.147868603469331},{x:.14116375304461573,y:-.15139636317729976},{x:.23896575304461573,y:-.18307436317729964},{x:.2424293887998465,y:-.18383095770413346},{x:.24586120600074532,y:-.1847208108507566},{x:.24673197042105502,y:-.1847708110651418},{x:.2475840766296098,y:-.18495694463669302},{x:.2511287638648936,y:-.18502327959701073},{x:.25466824139749206,y:-.18522652014211538},{x:.25553202888155596,y:-.18510568190524296},{x:.2564040749666586,y:-.1851220012977904},{x:.25989359333942796,y:-.1844955274762681},{x:.2634047110671092,y:-.18400434499968443},{x:.3944597110671092,y:-.15232634499968456},{x:.39510744613291976,y:-.15210060706564532},{x:.39578357398914765,y:-.1519849807175323},{x:.3992672661785621,y:-.15065089524264363},{x:.4027898773796621,y:-.14942325292878383},{x:.40338112711156726,y:-.1490754856432793},{x:.40402170577913904,y:-.1488301750218278},{x:.4071781926350792,y:-.14684208899421944},{x:.4103936167153703,y:-.14495080812962524},{x:.41090565971774945,y:-.14449437599440731},{x:.41148607211771127,y:-.14412880824922783},{x:.41419405162048195,y:-.14156312270000898},{x:.41697872163578864,y:-.1390808841476645},{x:.4173918803832174,y:-.13853332759371953},{x:.41788982159253774,y:-.13806155128824654},{x:.42004522760849955,y:-.13501686407422092},{x:.422292130251795,y:-.13203905886963707},{x:.4225905272853119,y:-.13142142018825975},{x:.42298686170256505,y:-.13086156542133753},{x:.4245068631872901,y:-.12745488216466036},{x:.4261296512500701,y:-.1240959456918764},{x:.4263018193390199,y:-.1234319603912164},{x:.42658131605481786,y:-.12280554206756752},{x:.4588533160548179,y:-.025908542067567514},{x:.4594769463166796,y:-.023162642495487502},{x:.46029433761814537,y:-.02046806449072583},{x:.46045163429328767,y:-.01887100454660151},{x:.46080705178433234,y:-.017306069686551954},{x:.4608830007338393,y:-.01449126757618431},{x:.461159,y:-.01168900000000006},{x:.461159,y:.534292},{x:.46029433761814537,y:.5430710644907257},{x:.4577335789630079,y:.551512754456429},{x:.45357513255361454,y:.5592926604858821},{x:.4479788051533946,y:.5661118051533947},{x:.4411596604858821,y:.5717081325536145},{x:.43337975445642907,y:.5758665789630079},{x:.4249380644907258,y:.5784273376181454},{x:.416159,y:.579292},{x:.4073799355092742,y:.5784273376181454},{x:.39893824554357094,y:.5758665789630079},{x:.39115833951411794,y:.5717081325536145},{x:.3843391948466054,y:.5661118051533947},{x:.37874286744638547,y:.5592926604858821},{x:.3745844210369921,y:.551512754456429},{x:.37202366238185464,y:.5430710644907257},{x:.371159,y:.534292},{x:.371159,y:-.004392296840350002},{x:.3490732119536395,y:-.07070509444595838},{x:.254610065464387,y:-.09353828321774525},{x:.16889624695538427,y:-.06577563682270039},{x:.16027792337039018,y:-.063893055363307},{x:.15145792503334138,y:-.0637279987022096},{x:.14277519953401854,y:-.06528680987432936},{x:.13456341914403205,y:-.06850958464051307},{x:.12713815797854966,y:-.0732724735738492},{x:.12078476466002638,y:-.07939244152368852},{x:.11574739653066908,y:-.08663430155383627},{x:.11221963682270032,y:-.0947197530446158},{x:.11033705536330693,y:-.10333807662960988},{x:.11017199870220953,y:-.1121580749666587}],[{x:.3403,y:.7597659999999999},{x:.3411646623818546,y:.7509869355092742},{x:.34372542103699205,y:.7425452455435709},{x:.34788386744638544,y:.7347653395141178},{x:.3534801948466053,y:.7279461948466053},{x:.3602993395141179,y:.7223498674463854},{x:.36807924554357097,y:.7181914210369921},{x:.37652093550927423,y:.7156306623818546},{x:.3853,y:.7147659999999999},{x:.447023,y:.7147659999999999},{x:.4558020644907258,y:.7156306623818546},{x:.46424375445642907,y:.7181914210369921},{x:.4720236604858821,y:.7223498674463854},{x:.4788428051533946,y:.7279461948466053},{x:.48443913255361454,y:.7347653395141178},{x:.48859757896300793,y:.7425452455435709},{x:.49115833761814537,y:.7509869355092742},{x:.492023,y:.7597659999999999},{x:.49115833761814537,y:.7685450644907257},{x:.48859757896300793,y:.776986754456429},{x:.48443913255361454,y:.7847666604858821},{x:.4788428051533946,y:.7915858051533946},{x:.4720236604858821,y:.7971821325536145},{x:.46424375445642907,y:.8013405789630078},{x:.4558020644907258,y:.8039013376181453},{x:.447023,y:.804766},{x:.3853,y:.804766},{x:.37652093550927423,y:.8039013376181453},{x:.36807924554357097,y:.8013405789630078},{x:.3602993395141179,y:.7971821325536145},{x:.3534801948466053,y:.7915858051533946},{x:.34788386744638544,y:.7847666604858821},{x:.34372542103699205,y:.776986754456429},{x:.3411646623818546,y:.7685450644907257},{x:.3403,y:.7597659999999999}]],k:[[{x:.020185999999999996,y:.05318299999999998},{x:.02105066238185463,y:.04440393550927419},{x:.02361142103699209,y:.03596224554357094},{x:.027769867446385453,y:.028182339514117884},{x:.03336619484660536,y:.021363194846605343},{x:.04018533951411791,y:.01576686744638544},{x:.047965245543570956,y:.011608421036992077},{x:.056406935509274225,y:.009047662381854615},{x:.065186,y:.008182999999999982},{x:.07396506449072576,y:.009047662381854615},{x:.08240675445642903,y:.011608421036992077},{x:.0901866604858821,y:.015766867446385446},{x:.09700580515339463,y:.021363194846605343},{x:.10260213255361453,y:.028182339514117884},{x:.10676057896300789,y:.03596224554357094},{x:.10932133761814536,y:.04440393550927421},{x:.11018599999999999,y:.05318299999999998},{x:.11018599999999999,y:.16578332733911408},{x:.23477705990096162,y:.26351643594805596},{x:.5068321321577423,y:.019673199736523116},{x:.5139466814455551,y:.014457569113271652},{x:.5219420457215526,y:.010730135081525344},{x:.5305109676204599,y:.008634140840755075},{x:.539324148279209,y:.008250134274186548},{x:.5480429021075728,y:.009592872538819623},{x:.5563321722854605,y:.012610754956160736},{x:.5638734068086124,y:.017187805997359452},{x:.5703768002634768,y:.02314813215774228},{x:.5755924308867283,y:.030262681445555134},{x:.5793198649184746,y:.03825804572155257},{x:.5814158591592449,y:.04682696762045996},{x:.5817998657258134,y:.05564014827920904},{x:.5804571274611804,y:.06435890210757275},{x:.5774392450438393,y:.07264817228546054},{x:.5728621940026405,y:.08018940680861247},{x:.5669018678422577,y:.08669280026347684},{x:.3066862956724008,y:.3199242805817128},{x:.5215978711622948,y:.4885076152557163},{x:.5279716470169837,y:.49460635247919954},{x:.533033147947031,y:.5018313661609891},{x:.5365878633102175,y:.5099050030771282},{x:.5384991873886431,y:.5185169978886772},{x:.5386936690698568,y:.5273363964646907},{x:.5371638345319164,y:.5360242742638681},{x:.5339684744581735,y:.5442467610146052},{x:.5292303847442837,y:.5516878711622948},{x:.5231316475208004,y:.5580616470169838},{x:.5159066338390108,y:.5631231479470311},{x:.5078329969228718,y:.5666778633102175},{x:.4992210021113228,y:.5685891873886431},{x:.49040160353530926,y:.5687836690698569},{x:.4817137257361318,y:.5672538345319164},{x:.47349123898539475,y:.5640584744581736},{x:.46605012883770514,y:.5593203847442837},{x:.11018599999999999,y:.28016947631338524},{x:.11018599999999999,y:.7597659999999999},{x:.10932133761814536,y:.7685450644907257},{x:.10676057896300789,y:.776986754456429},{x:.10260213255361453,y:.7847666604858821},{x:.09700580515339463,y:.7915858051533946},{x:.09018666048588207,y:.7971821325536145},{x:.08240675445642903,y:.8013405789630078},{x:.07396506449072576,y:.8039013376181453},{x:.065186,y:.804766},{x:.056406935509274204,y:.8039013376181453},{x:.04796524554357093,y:.8013405789630078},{x:.04018533951411791,y:.7971821325536145},{x:.03336619484660536,y:.7915858051533946},{x:.027769867446385453,y:.7847666604858821},{x:.02361142103699209,y:.776986754456429},{x:.02105066238185463,y:.7685450644907257},{x:.020185999999999996,y:.7597659999999999},{x:.020185999999999996,y:.05318299999999998}]],l:[[{x:.25602600000000003,y:.05355900000000002},{x:.25689066238185465,y:.044779935509274234},{x:.2594514210369921,y:.036338245543570985},{x:.2636098674463855,y:.028558339514117927},{x:.26920619484660535,y:.021739194846605386},{x:.27602533951411795,y:.016142867446385482},{x:.283805245543571,y:.01198442103699212},{x:.2922469355092743,y:.009423662381854658},{x:.301026,y:.008559000000000025},{x:.3098050644907258,y:.009423662381854658},{x:.3182467544564291,y:.01198442103699212},{x:.32602666048588214,y:.01614286744638549},{x:.3328458051533947,y:.021739194846605386},{x:.33844213255361455,y:.028558339514117927},{x:.34260057896300794,y:.036338245543570985},{x:.3451613376181454,y:.044779935509274255},{x:.346026,y:.05355900000000002},{x:.346026,y:.765137},{x:.3451613376181454,y:.7739160644907257},{x:.34260057896300794,y:.782357754456429},{x:.33844213255361455,y:.7901376604858821},{x:.3328458051533947,y:.7969568051533946},{x:.32602666048588214,y:.8025531325536145},{x:.3182467544564291,y:.8067115789630078},{x:.3098050644907258,y:.8092723376181453},{x:.301026,y:.810137},{x:.2922469355092743,y:.8092723376181453},{x:.283805245543571,y:.8067115789630078},{x:.27602533951411795,y:.8025531325536145},{x:.26920619484660535,y:.7969568051533946},{x:.2636098674463855,y:.7901376604858821},{x:.2594514210369921,y:.782357754456429},{x:.25689066238185465,y:.7739160644907257},{x:.25602600000000003,y:.765137},{x:.25602600000000003,y:.05355900000000002}]],m:[[{x:.005538000000000001,y:.03920400000000002},{x:.006402662381854635,y:.030424935509274227},{x:.008963421036992096,y:.02198324554357097},{x:.013121867446385459,y:.01420333951411792},{x:.018718194846605363,y:.00738419484660538},{x:.025537339514117914,y:.0017878674463854757},{x:.03331724554357096,y:-.002370578963007887},{x:.04175893550927423,y:-.004931337618145348},{x:.050538,y:-.005795999999999982},{x:.059317064490725775,y:-.004931337618145348},{x:.06775875445642904,y:-.002370578963007887},{x:.0755386604858821,y:.0017878674463854827},{x:.08235780515339464,y:.00738419484660538},{x:.08795413255361453,y:.01420333951411792},{x:.0921125789630079,y:.02198324554357098},{x:.09467333761814536,y:.030424935509274248},{x:.095538,y:.03920400000000002},{x:.095538,y:.3993271266071161},{x:.14963521853994496,y:.4943223065353007},{x:.1738257653562211,y:.5150589999999999},{x:.22021623464377893,y:.5150589999999999},{x:.2416666625786254,y:.49667119950297894},{x:.27741,y:.4029520066676719},{x:.27741,y:.03920400000000002},{x:.2782746623818546,y:.030424935509274227},{x:.28083542103699205,y:.02198324554357097},{x:.28499386744638544,y:.01420333951411792},{x:.2905901948466053,y:.00738419484660538},{x:.2974093395141179,y:.0017878674463854757},{x:.30518924554357096,y:-.002370578963007887},{x:.31363093550927423,y:-.004931337618145348},{x:.32241,y:-.005795999999999982},{x:.33118906449072577,y:-.004931337618145348},{x:.33963075445642904,y:-.002370578963007887},{x:.3474106604858821,y:.0017878674463854827},{x:.35422980515339464,y:.00738419484660538},{x:.3598261325536145,y:.01420333951411792},{x:.3639845789630079,y:.02198324554357098},{x:.36654533761814534,y:.030424935509274248},{x:.36740999999999996,y:.03920400000000002},{x:.36740999999999996,y:.3993264781598986},{x:.4215891088917321,y:.494459500052724},{x:.445289826307752,y:.5150589999999999},{x:.4920928256254945,y:.5150589999999999},{x:.5065149999999999,y:.5026965582556255},{x:.5065149999999999,y:.03920400000000002},{x:.5073796623818546,y:.030424935509274227},{x:.5099404210369921,y:.02198324554357097},{x:.5140988674463854,y:.01420333951411792},{x:.5196951948466053,y:.00738419484660538},{x:.5265143395141179,y:.0017878674463854757},{x:.534294245543571,y:-.002370578963007887},{x:.5427359355092742,y:-.004931337618145348},{x:.551515,y:-.005795999999999982},{x:.5602940644907257,y:-.004931337618145348},{x:.568735754456429,y:-.002370578963007887},{x:.5765156604858821,y:.0017878674463854827},{x:.5833348051533946,y:.00738419484660538},{x:.5889311325536145,y:.01420333951411792},{x:.5930895789630078,y:.02198324554357098},{x:.5956503376181453,y:.030424935509274248},{x:.596515,y:.03920400000000002},{x:.596515,y:.523393},{x:.5963454778388272,y:.5251141873868636},{x:.5963825315707437,y:.5268433058919912},{x:.5959141404350922,y:.5294936295415332},{x:.5956503376181453,y:.5321720644907257},{x:.5951482857762117,y:.5338271076115645},{x:.59484729324509,y:.5355302304139588},{x:.5938708496195351,y:.5380382502602514},{x:.5930895789630078,y:.540613754456429},{x:.592274291011045,y:.5421390509322689},{x:.5916468191910574,y:.543750727977755},{x:.5901998472565338,y:.5460200622246176},{x:.5889311325536145,y:.5483936604858821},{x:.5878339395503975,y:.5497305940285525},{x:.5869041018316961,y:.5511888894721116},{x:.5850422079081763,y:.5531323288770946},{x:.5833348051533946,y:.5552128051533947},{x:.581997871610724,y:.5563099981566119},{x:.5808014011353795,y:.5575588705221693},{x:.5380264011353795,y:.5942248705221693},{x:.5358211367621821,y:.5957677297988329},{x:.5337406604858821,y:.5974751325536145},{x:.5322153640100423,y:.5982904205055773},{x:.5307982404674333,y:.599281876328501},{x:.5283343527176928,y:.600364864260089},{x:.525960754456429,y:.6016335789630078},{x:.5243057113355902,y:.6021356308049415},{x:.5227223939887274,y:.6028315689939708},{x:.5200945686869033,y:.6034130669616181},{x:.5175190644907257,y:.6041943376181453},{x:.5157978771038628,y:.6043638597793182},{x:.5141092119504517,y:.6047375358201355},{x:.5114184349491921,y:.6047951971830532},{x:.50874,y:.605059},{x:.428467,y:.605059},{x:.42563553135621585,y:.6047801246797119},{x:.42279150043448566,y:.6046996620098968},{x:.4212557149999115,y:.6043487504203328},{x:.4196879355092742,y:.6041943376181453},{x:.41696527861756566,y:.6033684286794448},{x:.4141915924406847,y:.6027346691689239},{x:.4127537761476033,y:.6020908833721776},{x:.4112462455435709,y:.6016335789630078},{x:.40873703058140176,y:.6002923756232341},{x:.4061402803536474,y:.5991296742945802},{x:.40485568767586616,y:.5982177546177817},{x:.4034663395141179,y:.5974751325536145},{x:.4012669942053008,y:.5956701765049598},{x:.3989469715816508,y:.5940232153181825},{x:.3567609715816508,y:.5573572153181825},{x:.3545792701559384,y:.5550484712393128},{x:.3522737143614353,y:.552863400803129},{x:.35155574109793963,y:.5518488790642903},{x:.35070210094674875,y:.5509455305944583},{x:.3490127339279754,y:.5482555195520005},{x:.34717776483660073,y:.5456626430091704},{x:.33048446785976626,y:.5163509060824124},{x:.3216828574856715,y:.5394287684036221},{x:.32062739498214626,y:.5415455848316745},{x:.31976928952310246,y:.5437498007710907},{x:.3186639603788477,y:.5454834136126945},{x:.31774653490223986,y:.5473233854865517},{x:.3162983824161672,y:.5491936173608123},{x:.31502674401548947,y:.5511880718386934},{x:.3136044423732838,y:.5526727347769701},{x:.3123456842645886,y:.5542983712755478},{x:.3105604934838748,y:.5558501466339272},{x:.30892419049215825,y:.5575581938831911},{x:.2661511904921582,y:.594224193883191},{x:.26394553725639397,y:.5957674011217274},{x:.2618646604858821,y:.5974751325536145},{x:.26033982189406285,y:.5982901757614695},{x:.258923146662659,y:.5992813666868191},{x:.25645880963824363,y:.6003646200309664},{x:.25408475445642903,y:.6016335789630078},{x:.25243020816870526,y:.6021354800922637},{x:.25084738219782576,y:.6028312459348294},{x:.24821906447459133,y:.6034129165660671},{x:.24564306449072576,y:.6041943376181453},{x:.24392239379305308,y:.6043638088898747},{x:.2422342441971012,y:.6047374117585159},{x:.2395429505511757,y:.6047951464006902},{x:.236864,y:.605059},{x:.157178,y:.605059},{x:.1544990494488241,y:.6047951464006902},{x:.1518077558028988,y:.6047374117585159},{x:.15011960620694695,y:.6043638088898747},{x:.14839893550927424,y:.6041943376181453},{x:.14582293552540848,y:.6034129165660671},{x:.1431946178021742,y:.6028312459348294},{x:.1416117918312948,y:.6021354800922637},{x:.13995724554357097,y:.6016335789630078},{x:.13758319036175665,y:.6003646200309664},{x:.135118853337341,y:.5992813666868191},{x:.13370217810593676,y:.5982901757614691},{x:.13217733951411792,y:.5974751325536145},{x:.13009646274360603,y:.5957674011217274},{x:.1278908095078418,y:.594224193883191},{x:.09495385911112918,y:.5659898819750746},{x:.09467333761814536,y:.5688380644907257},{x:.0921125789630079,y:.577279754456429},{x:.08795413255361453,y:.5850596604858821},{x:.08235780515339464,y:.5918788051533946},{x:.07553866048588208,y:.5974751325536145},{x:.06775875445642904,y:.6016335789630078},{x:.059317064490725775,y:.6041943376181453},{x:.050538,y:.605059},{x:.04175893550927421,y:.6041943376181453},{x:.033317245543570934,y:.6016335789630078},{x:.025537339514117904,y:.5974751325536145},{x:.018718194846605356,y:.5918788051533946},{x:.013121867446385459,y:.5850596604858821},{x:.008963421036992096,y:.577279754456429},{x:.006402662381854635,y:.5688380644907257},{x:.005538000000000001,y:.560059},{x:.005538000000000001,y:.03920400000000002}]],n:[[{x:.047041,y:.03920400000000002},{x:.04790566238185463,y:.030424935509274227},{x:.050466421036992094,y:.02198324554357097},{x:.05462486744638546,y:.01420333951411792},{x:.06022119484660536,y:.00738419484660538},{x:.06704033951411792,y:.0017878674463854757},{x:.07482024554357096,y:-.002370578963007887},{x:.08326193550927423,y:-.004931337618145348},{x:.092041,y:-.005795999999999982},{x:.10082006449072577,y:-.004931337618145348},{x:.10926175445642904,y:-.002370578963007887},{x:.1170416604858821,y:.0017878674463854827},{x:.12386080515339463,y:.00738419484660538},{x:.12945713255361452,y:.01420333951411792},{x:.1336155789630079,y:.02198324554357098},{x:.13617633761814535,y:.030424935509274248},{x:.137041,y:.03920400000000002},{x:.137041,y:.3923986904044417},{x:.23217657812189968,y:.4860775193429304},{x:.29246969284729285,y:.5150589999999999},{x:.3857956927587408,y:.5150589999999999},{x:.4353266752666751,y:.4910865745843881},{x:.465011,y:.4037995608673687},{x:.465011,y:.03920400000000002},{x:.4658756623818546,y:.030424935509274227},{x:.46843642103699207,y:.02198324554357097},{x:.47259486744638546,y:.01420333951411792},{x:.4781911948466053,y:.00738419484660538},{x:.4850103395141179,y:.0017878674463854757},{x:.492790245543571,y:-.002370578963007887},{x:.5012319355092743,y:-.004931337618145348},{x:.510011,y:-.005795999999999982},{x:.5187900644907257,y:-.004931337618145348},{x:.527231754456429,y:-.002370578963007887},{x:.5350116604858821,y:.0017878674463854827},{x:.5418308051533947,y:.00738419484660538},{x:.5474271325536145,y:.01420333951411792},{x:.5515855789630079,y:.02198324554357098},{x:.5541463376181454,y:.030424935509274248},{x:.555011,y:.03920400000000002},{x:.555011,y:.411242},{x:.5547211401667089,y:.41418499627592825},{x:.5546227314347089,y:.4171405946120584},{x:.5542897326303223,y:.4185651504993601},{x:.5541463376181454,y:.4200210644907258},{x:.5532878972691104,y:.42285096307022063},{x:.5526147708021555,y:.4257305718218671},{x:.5144747708021555,y:.537881571821867},{x:.5144109474804813,y:.5380222238814931},{x:.5143747633675698,y:.5381723808934484},{x:.5125889395552703,y:.5420375142269895},{x:.5108295711501452,y:.5459147613418461},{x:.5107395343200961,y:.546040259499208},{x:.5106747512949527,y:.5461804721160435},{x:.5081691914797779,y:.5496229410537735},{x:.5056872154570532,y:.5530824522038071},{x:.5055744251835149,y:.5531879736350976},{x:.505483532821465,y:.5533128535645805},{x:.5023545242619802,y:.5562003659557777},{x:.4992453215682988,y:.5591091940676126},{x:.49911411231822944,y:.5591906836434047},{x:.49900060356177384,y:.559295431819878},{x:.49536839230215873,y:.5615170221826804},{x:.49175144785337105,y:.5637633826232722},{x:.4916068619246677,y:.563817708744868},{x:.49147509885166074,y:.5638982997546532},{x:.41571709885166075,y:.6005642997546532},{x:.4144883994140345,y:.6010164083750983},{x:.41333375445642906,y:.6016335789630078},{x:.41035728417594536,y:.6025364813514484},{x:.4074382196167836,y:.6036105717354909},{x:.4061449272779714,y:.6038142858466193},{x:.4048920644907258,y:.6041943376181453},{x:.4017966387343604,y:.6044992104448776},{x:.3987241185432898,y:.6049831812385367},{x:.3974159338025849,y:.6049306722213019},{x:.396113,y:.605059},{x:.282216,y:.605059},{x:.28097323419788345,y:.6049365982521052},{x:.2797255990169867,y:.6049900349640848},{x:.2765922846246742,y:.6045051123806029},{x:.2734369355092743,y:.6041943376181453},{x:.2722419284999821,y:.603831836204989},{x:.27100784129389754,y:.6036408445963318},{x:.26802933636200627,y:.6025539603505436},{x:.264995245543571,y:.6016335789630078},{x:.2638939207763026,y:.6010449086106044},{x:.2627208068242762,y:.6006168283817219},{x:.18644080682427616,y:.563950828381722},{x:.18387931815291048,y:.5623935720684188},{x:.18122474955630472,y:.5610008994562176},{x:.18011833133270075,y:.5601070811947741},{x:.17890296169536754,y:.5593681975674947},{x:.17669449694619624,y:.5573411418478543},{x:.17436263208920222,y:.5554573484070612},{x:.137041,y:.5187071981771466},{x:.137041,y:.560059},{x:.13617633761814535,y:.5688380644907257},{x:.1336155789630079,y:.577279754456429},{x:.12945713255361452,y:.5850596604858821},{x:.12386080515339463,y:.5918788051533946},{x:.11704166048588208,y:.5974751325536145},{x:.10926175445642904,y:.6016335789630078},{x:.10082006449072577,y:.6041943376181453},{x:.092041,y:.605059},{x:.08326193550927423,y:.6041943376181453},{x:.07482024554357093,y:.6016335789630078},{x:.06704033951411792,y:.5974751325536145},{x:.06022119484660536,y:.5918788051533946},{x:.05462486744638546,y:.5850596604858821},{x:.050466421036992094,y:.577279754456429},{x:.04790566238185463,y:.5688380644907257},{x:.047041,y:.560059},{x:.047041,y:.03920400000000002}]],o:[[{x:.021894999999999998,y:.25490100000000004},{x:.022142430975592695,y:.2523887911456351},{x:.02217771682540861,y:.24986467341374632},{x:.02257373987793045,y:.24800963837050735},{x:.02275966238185463,y:.24612193550927428},{x:.023492446675001572,y:.24370626943231966},{x:.02401948545822835,y:.2412375358426815},{x:.060310485458228355,y:.12735753584268142},{x:.06080304558444478,y:.12621387418764726},{x:.061129830312657105,y:.12501229639135567},{x:.06254436541764224,y:.12217075210694647},{x:.06379993607002282,y:.11925547753662338},{x:.06450614911208748,y:.11822988473324028},{x:.0650610709625847,y:.11711514745523491},{x:.06700278396163635,y:.114604164756607},{x:.06880297103068717,y:.11198985605258731},{x:.06969569761744246,y:.11112174505713},{x:.07045743125471368,y:.1101366870258529},{x:.14244943125471368,y:.0338456870258529},{x:.144568728324263,y:.03200109409682955},{x:.1465508815997487,y:.0300098604251366},{x:.14788834203377002,y:.029111770054614114},{x:.1491035320893312,y:.02805409342394511},{x:.1515419696884587,y:.026658398178569347},{x:.15387450686277807,y:.025092124424329433},{x:.22587150686277807,y:-.01360287557567049},{x:.22795933917571506,y:-.014473279294209745},{x:.22995424554357097,y:-.015539578963007873},{x:.23202067225559728,y:-.016166422653018674},{x:.2340138134199343,y:-.01699735024728135},{x:.23623133596214702,y:-.01744371352418634},{x:.23839593550927424,y:-.018100337618145335},{x:.2405449475487996,y:-.01831199682974963},{x:.24266189699648397,y:-.01873811583170923},{x:.2449238916202761,y:-.018743285176571887},{x:.247175,y:-.018964999999999968},{x:.354874,y:-.018964999999999968},{x:.35712497901801044,y:-.018743297917588594},{x:.3593868436844028,y:-.018738141970160445},{x:.36150392306047363,y:-.018312009573623896},{x:.3636530644907258,y:-.018100337618145335},{x:.36581753964743763,y:-.017443751257606326},{x:.36803493734305537,y:-.016997426474138877},{x:.370028203326089,y:-.016166460394901543},{x:.3720947544564291,y:-.015539578963007873},{x:.3740895461854217,y:-.014473340569958804},{x:.376177263560353,y:-.01360299896157894},{x:.448175263560353,y:.025092001038420984},{x:.4505076595021602,y:.026658160356610353},{x:.4529459593263057,y:.028053731854915283},{x:.45416130097157975,y:.029111510806286087},{x:.45549891730603415,y:.030009694621828502},{x:.4574809543881169,y:.03200078850323144},{x:.4596001404718476,y:.03384523318438343},{x:.5315941404718476,y:.11013623318438343},{x:.5323560786638525,y:.11112152750713142},{x:.5332490289693128,y:.11198985605258731},{x:.5350490398057314,y:.11460390882403626},{x:.5369905975332091,y:.11711461878219896},{x:.5375456739097991,y:.11822962771804991},{x:.5382520639299772,y:.11925547753662338},{x:.5395075116659538,y:.12217046671076734},{x:.5409219476918898,y:.12501171320336152},{x:.5412488309792026,y:.126213587584214},{x:.5417415145417717,y:.12735753584268142},{x:.5780325145417716,y:.2412375358426815},{x:.5785595533249983,y:.2437062694323195},{x:.5792923376181454,y:.24612193550927428},{x:.5794782601220696,y:.2480096383705079},{x:.5798742831745913,y:.24986467341374632},{x:.5799095690244073,y:.25238879114563434},{x:.580157,y:.25490100000000004},{x:.580157,y:.33119200000000004},{x:.5799156873690254,y:.3336420882589673},{x:.5798881240960263,y:.3361038771468651},{x:.5794843860383102,y:.3380211641581212},{x:.5792923376181454,y:.33997106449072584},{x:.5785776732343003,y:.3423269972319261},{x:.5780703683949873,y:.3447361062088315},{x:.5417793683949873,y:.4597211062088315},{x:.5412650895934552,y:.4609244011905288},{x:.540921633437906,y:.46218711230867804},{x:.5395351283421765,y:.46497211555478546},{x:.5383124760126231,y:.46783284286481475},{x:.5375733277285976,y:.46891268605384906},{x:.5369901282681178,y:.47008412955994733},{x:.5350869372989228,y:.47254512602400234},{x:.5333296776789325,y:.47511235762423976},{x:.5323940649664491,y:.4760272512524403},{x:.5315935342292432,y:.47706240922950055},{x:.45959953422924316,y:.5533504092295005},{x:.4572787448447235,y:.5553702403350376},{x:.45508230823461715,y:.5575246421731296},{x:.45395838697349994,y:.5582600166131206},{x:.4529452394037514,y:.5591417799431011},{x:.45027499383570063,y:.5606700370119551},{x:.44770045819082444,y:.5623545390972755},{x:.3757024581908245,y:.5999485390972755},{x:.37385313535723513,y:.6006937047902838},{x:.3720947544564291,y:.6016335789630078},{x:.36977177563531344,y:.6023382468844833},{x:.3675201821794923,y:.6032455034042244},{x:.36556101895058973,y:.6036155659602718},{x:.3636530644907258,y:.6041943376181453},{x:.36123724716457173,y:.6044322748568528},{x:.35885192047906295,y:.6048828346046191},{x:.35685820639902277,y:.60486357272721},{x:.354874,y:.605059},{x:.247175,y:.605059},{x:.24519066624232813,y:.6048635601834779},{x:.24319682408363533,y:.6048828119349353},{x:.24081162559758007,y:.6044322623250186},{x:.23839593550927424,y:.6041943376181453},{x:.23648785858508298,y:.6036155288111242},{x:.234528571713998,y:.6032454313367869},{x:.23227710201651716,y:.602338209770572},{x:.22995424554357097,y:.6016335789630078},{x:.2281957517789948,y:.6006936444633418},{x:.22634631449119302,y:.5999484204015954},{x:.15434931449119302,y:.5623544204015953},{x:.15177463525955168,y:.5606698034147719},{x:.14910425200363037,y:.5591414183832311},{x:.14809125527340347,y:.55825976164439},{x:.1469674919716301,y:.5575244814106152},{x:.14477093694990967,y:.5553699388664325},{x:.14245003748743465,y:.5533499553954043},{x:.07045803748743465,y:.4770619553954044},{x:.06965771196430402,y:.47602703312304784},{x:.06872232232106745,y:.47511235762423976},{x:.06696488716695402,y:.4725448695811053},{x:.06506154021654398,y:.4700836008922148},{x:.0644784960433022,y:.46891242859710086},{x:.06373952398737684,y:.46783284286481475},{x:.06251674952606694,y:.46497182979435886},{x:.06113014455468816,y:.46218652912371366},{x:.06078678779193787,y:.46092411430034236},{x:.06027263160501272,y:.4597211062088315},{x:.023981631605012717,y:.3447361062088315},{x:.0234743267656997,y:.3423269972319261},{x:.02275966238185463,y:.33997106449072584},{x:.0225676139616898,y:.3380211641581212},{x:.022163875903973694,y:.3361038771468651},{x:.022136312630974576,y:.33364208825896713},{x:.021894999999999998,y:.33119200000000004},{x:.021894999999999998,y:.25490100000000004}],[{x:.111895,y:.2618978965790472},{x:.111895,y:.324259211613835},{x:.14299436878278687,y:.42279496206129447},{x:.20271328316555492,y:.48607750096051383},{x:.25821631520114247,y:.5150589999999999},{x:.3438328207386419,y:.5150589999999999},{x:.3993370917152178,y:.4860772565752743},{x:.4590577300605173,y:.42279464888454726},{x:.490157,y:.324259211613835},{x:.490157,y:.2618978965790472},{x:.4591028039244665,y:.16445082019422033},{x:.39914727445977055,y:.10091681321598435},{x:.3435475642149213,y:.07103500000000003},{x:.2585015743575747,y:.07103500000000003},{x:.20290309936793577,y:.10091656436690524},{x:.14294929572583875,y:.164450507494742},{x:.111895,y:.2618978965790472}]],p:[[{x:.031904,y:-.15424400000000005},{x:.032768662381854635,y:-.16302306449072582},{x:.0353294210369921,y:-.17146475445642909},{x:.03948786744638546,y:-.17924466048588214},{x:.04508419484660536,y:-.18606380515339468},{x:.051903339514117915,y:-.19166013255361458},{x:.05968324554357096,y:-.19581857896300794},{x:.06812493550927423,y:-.1983793376181454},{x:.076904,y:-.19924400000000003},{x:.08568306449072577,y:-.1983793376181454},{x:.09412475445642904,y:-.19581857896300794},{x:.1019046604858821,y:-.19166013255361458},{x:.10872380515339464,y:-.18606380515339468},{x:.11432013255361453,y:-.17924466048588214},{x:.1184785789630079,y:-.17146475445642909},{x:.12103933761814537,y:-.16302306449072582},{x:.121904,y:-.15424400000000005},{x:.121904,y:.08461372659928788},{x:.12362832174470662,y:.08333438131496537},{x:.12536021772829115,y:.08178035235824195},{x:.1271620685101291,y:.08071254912256186},{x:.12884414120453105,y:.07946455014784792},{x:.13094744853162613,y:.07846927732892851},{x:.13294924262910485,y:.07728298474798974},{x:.20690724262910487,y:.04275398474798971},{x:.20784573679964677,y:.04242345923251374},{x:.20872324554357097,y:.041954421036992075},{x:.21199903754957586,y:.040960720395783044},{x:.21522783943974558,y:.03982357810698025},{x:.21621278303720604,y:.03968249467654502},{x:.21716493550927424,y:.0393936623818546},{x:.22057164546850772,y:.03905813073713887},{x:.2239602522910248,y:.038572746319036566},{x:.22495379448531613,y:.03862652673075318},{x:.225944,y:.038528999999999966},{x:.338005,y:.038528999999999966},{x:.33886621477794643,y:.03861382225207184},{x:.3397300481447032,y:.038562076501738984},{x:.34324908380057223,y:.0390454971728409},{x:.3467840644907258,y:.0393936623818546},{x:.3476121832677305,y:.039644869466491955},{x:.3484695134136621,y:.03976264352593092},{x:.35182662109175783,y:.04092330520367998},{x:.35522575445642907,y:.04195442103699206},{x:.3559889530923063,y:.042362359206810904},{x:.35680683330070073,y:.04264512708496585},{x:.4318888333007007,y:.07717412708496588},{x:.43400924312431544,y:.07841428389434572},{x:.43622962614931016,y:.07946501028796468},{x:.4378075563324746,y:.08063579029221077},{x:.43950360927818305,y:.0816277549521855},{x:.44134133343031445,y:.08325775393151234},{x:.4433140658676044,y:.08472146615145025},{x:.5183930658676044,y:.1527974661514503},{x:.519792625068414,y:.15434228537837358},{x:.5213447099268285,y:.1557337827706549},{x:.522746916505161,y:.1576032022519019},{x:.5243158963961404,y:.15933502631539204},{x:.52538718417891,y:.1611232027292085},{x:.5266379784876352,y:.1627907596241023},{x:.5276485364111687,y:.16489781566710873},{x:.5288495066792682,y:.16690245600899573},{x:.5295513540552914,y:.16886527099294393},{x:.530452790490496,y:.17074480411415546},{x:.5674347904904959,y:.2723648041141554},{x:.5682868803844835,y:.2756900562357905},{x:.5692833376181453,y:.27897493550927416},{x:.5693799285821196,y:.2799556400244087},{x:.5696245448495124,y:.2809102467717411},{x:.5698115375679212,y:.2843378395980749},{x:.570148,y:.28775399999999995},{x:.570148,y:.355831},{x:.5698183264321395,y:.3591782319067787},{x:.5696454905753794,y:.362537215959393},{x:.5693867528695432,y:.3635600718226051},{x:.5692833376181453,y:.3646100644907258},{x:.5683069860848939,y:.3678286641524751},{x:.567482165940186,y:.37108938766543825},{x:.530500165940186,y:.47369538766543823},{x:.5295747233109523,y:.4756403735939819},{x:.5288495066792682,y:.4776685439910043},{x:.5276841925618525,y:.47961366765708685},{x:.5267099630491849,y:.4816611880905031},{x:.5254228546094585,y:.48338825675926556},{x:.5243158963961404,y:.48523597368460797},{x:.5227934986603558,y:.48691638083844907},{x:.5214385372739072,y:.48873449599152474},{x:.5198392258792078,y:.49017727712011666},{x:.5183930658676044,y:.4917735338485497},{x:.4433140658676044,y:.5598495338485497},{x:.44114571117720175,y:.5614583923016819},{x:.43910641435493325,y:.5632279843609703},{x:.43761161896162687,y:.5640805897495177},{x:.43622962614931016,y:.5651059897120353},{x:.43378906307257026,y:.5662609093863238},{x:.43144372048223223,y:.5675986521566495},{x:.35636172048223225,y:.6011446521566495},{x:.355773047491519,y:.6013410447411239},{x:.35522575445642907,y:.6016335789630078},{x:.3515938477815883,y:.6027353058079922},{x:.3479935881359665,y:.6039364213810477},{x:.34737791203915763,y:.6040141959337602},{x:.3467840644907258,y:.6041943376181453},{x:.34300700763927916,y:.6045663452480041},{x:.3392415999493003,y:.6050420059085138},{x:.33862258083352115,y:.60499817359702},{x:.338005,y:.605059},{x:.225944,y:.605059},{x:.2251997336627212,y:.6049856961639699},{x:.22445344765540867,y:.6050343071552383},{x:.22081614914993766,y:.6045539507735711},{x:.21716493550927424,y:.6041943376181453},{x:.21644927090994795,y:.6039772431353645},{x:.21570784104506457,y:.6038793269025836},{x:.2122341450916469,y:.6026985986973952},{x:.20872324554357097,y:.6016335789630078},{x:.20806368527139987,y:.6012810366527016},{x:.20735560428285457,y:.6010403560617851},{x:.13339760428285458,y:.5674943560617851},{x:.13116986982932302,y:.566206971138138},{x:.12884414120453105,y:.5651064498521521},{x:.1273598902040749,y:.5640052229355318},{x:.12575970914356202,y:.5630804946901414},{x:.12382593632220404,y:.5613832370749092},{x:.121904,y:.5599572734007121},{x:.121904,y:.560059},{x:.12103933761814537,y:.5688380644907257},{x:.1184785789630079,y:.577279754456429},{x:.11432013255361453,y:.5850596604858821},{x:.10872380515339464,y:.5918788051533946},{x:.10190466048588208,y:.5974751325536145},{x:.09412475445642904,y:.6016335789630078},{x:.08568306449072577,y:.6041943376181453},{x:.076904,y:.605059},{x:.0681249355092742,y:.6041943376181453},{x:.059683245543570934,y:.6016335789630078},{x:.051903339514117915,y:.5974751325536145},{x:.04508419484660536,y:.5918788051533946},{x:.03948786744638546,y:.5850596604858821},{x:.0353294210369921,y:.577279754456429},{x:.032768662381854635,y:.5688380644907257},{x:.031904,y:.560059},{x:.031904,y:-.15424400000000005}],[{x:.121904,y:.20607608160839302},{x:.121904,y:.438494918391607},{x:.17699192809119763,y:.48844251958412144},{x:.23567259519301437,y:.5150589999999999},{x:.3284092961747297,y:.5150589999999999},{x:.38817711429028284,y:.4883552464171925},{x:.4496333594179428,y:.43263133769024387},{x:.48014799999999996,y:.3479689286382035},{x:.48014799999999996,y:.29568777567179994},{x:.44968806913177495,y:.21198926897045803},{x:.3879916447872207,y:.1560475837631447},{x:.32815352882369925,y:.12852899999999995},{x:.2359312215606538,y:.12852899999999995},{x:.17717907548697515,y:.15595879598931894},{x:.121904,y:.20607608160839302}]],q:[[{x:.031905,y:.285813},{x:.03224141038262204,y:.2823973680650777},{x:.0324282929389951,y:.2789703010434802},{x:.03267301908894614,y:.2780151713289937},{x:.032769662381854636,y:.2770339355092742},{x:.03376596546737772,y:.2737495643941025},{x:.03461784473664685,y:.27042480648246636},{x:.07159784473664685,y:.1688028064824664},{x:.0724995244823713,y:.166922651750872},{x:.0732016076706368,y:.1649592141085361},{x:.07440224792307432,y:.1629551516523985},{x:.07541246819615938,y:.16084867156853302},{x:.07666362241043057,y:.15918055247485355},{x:.0777352629490018,y:.15739181137154173},{x:.07930380642556048,y:.15566048970702676},{x:.08070556947724908,y:.15379156924569237},{x:.08225811700526783,y:.15239959067120604},{x:.08365813234923056,y:.15085428642438087},{x:.15873913234923054,y:.08277728642438094},{x:.16071062555900373,y:.0813145118522212},{x:.16254708404197357,y:.07968542770293169},{x:.16424441690754124,y:.07869257021816739},{x:.16582360332185575,y:.07752087268448676},{x:.16804258800473576,y:.07647082416071167},{x:.17016157800418052,y:.07523131768336211},{x:.24523757800418056,y:.0406993176833621},{x:.24605678866737324,y:.04041603175027397},{x:.24682124554357093,y:.04000742103699214},{x:.2502190216384501,y:.03897671692697023},{x:.2535747153580455,y:.03781630621794852},{x:.25443345146196317,y:.037698283616711674},{x:.2552629355092742,y:.03744666238185468},{x:.25879650468596477,y:.037098636194782805},{x:.2623141045905799,y:.03661518582049534},{x:.2631793653883337,y:.03666696209348752},{x:.264042,y:.036582000000000045},{x:.376106,y:.036582000000000045},{x:.3770966034546813,y:.036679565924422064},{x:.37809054588497415,y:.03662578154659327},{x:.38147875036256007,y:.037111169723096304},{x:.3848850644907258,y:.03744666238185468},{x:.3858375996101805,y:.03773561075136079},{x:.38682293652697,y:.03787676837406198},{x:.39005134306992567,y:.03901383585544661},{x:.39332675445642906,y:.04000742103699214},{x:.39420461585020444,y:.04047664772778637},{x:.3951434813083616,y:.04080732274273922},{x:.4691044813083616,y:.07533932274273922},{x:.47110618065167786,y:.07652560719175487},{x:.47320939667814427,y:.07752087268448679},{x:.4748915208069018,y:.0787689461703934},{x:.4766934263594154,y:.07983682509171056},{x:.47842523099597173,y:.08139082758714347},{x:.48014799999999996,y:.08266905805748193},{x:.48014799999999996,y:-.15619500000000008},{x:.4810126623818546,y:-.16497406449072585},{x:.483573421036992,y:-.17341575445642912},{x:.4877318674463854,y:-.18119566048588218},{x:.4933281948466053,y:-.18801480515339472},{x:.5001473395141178,y:-.19361113255361462},{x:.5079272455435709,y:-.19776957896300798},{x:.5163689355092742,y:-.20033033761814545},{x:.525148,y:-.20119500000000007},{x:.5339270644907257,y:-.20033033761814545},{x:.542368754456429,y:-.19776957896300798},{x:.5501486604858821,y:-.19361113255361462},{x:.5569678051533946,y:-.18801480515339472},{x:.5625641325536145,y:-.18119566048588218},{x:.5667225789630078,y:-.17341575445642912},{x:.5692833376181453,y:-.16497406449072585},{x:.570148,y:-.15619500000000008},{x:.570148,y:.5581050000000001},{x:.5692833376181453,y:.5668840644907258},{x:.5667225789630078,y:.5753257544564291},{x:.5625641325536145,y:.5831056604858822},{x:.5569678051533946,y:.5899248051533947},{x:.5501486604858821,y:.5955211325536146},{x:.542368754456429,y:.5996795789630079},{x:.5339270644907257,y:.6022403376181454},{x:.525148,y:.6031050000000001},{x:.5163689355092742,y:.6022403376181454},{x:.5079272455435709,y:.5996795789630079},{x:.5001473395141178,y:.5955211325536146},{x:.4933281948466053,y:.5899248051533947},{x:.4877318674463854,y:.5831056604858822},{x:.483573421036992,y:.5753257544564291},{x:.4810126623818546,y:.5668840644907258},{x:.48014799999999996,y:.5581050000000001},{x:.48014799999999996,y:.558005596763998},{x:.4782247267606458,y:.559432223348863},{x:.47629232280480055,y:.5611281889595863},{x:.4746904859851039,y:.5620538174856352},{x:.4732046002880372,y:.5631560030691136},{x:.4708804506539088,y:.5642554633364756},{x:.4686543108210992,y:.5655418481335316},{x:.3946933108210992,y:.5990868481335316},{x:.3939857884552202,y:.5993273179516839},{x:.39332675445642906,y:.5996795789630079},{x:.3898152875083263,y:.6007447708163117},{x:.38634099890642704,y:.6019255978665906},{x:.3856001580501581,y:.6020234163584227},{x:.3848850644907258,y:.6022403376181454},{x:.38123326077373504,y:.6026000088910167},{x:.3775953617236344,y:.6030803465985108},{x:.3768496724756141,y:.6030317546542387},{x:.376106,y:.6031050000000001},{x:.264042,y:.6031050000000001},{x:.26342400033164626,y:.6030441323453897},{x:.26280456058717394,y:.6030879828235033},{x:.25903957642572706,y:.602612304281983},{x:.2552629355092742,y:.6022403376181454},{x:.254668685221597,y:.6020600737641458},{x:.25405259303422617,y:.6019822349683996},{x:.25045275226756825,y:.6007811844842303},{x:.24682124554357093,y:.5996795789630079},{x:.24627358134186672,y:.5993868463484354},{x:.24568451278884912,y:.5991903095800973},{x:.17060851278884911,y:.5656453095800973},{x:.16826609518471405,y:.5643091772352096},{x:.16582839971196278,y:.5631560030691136},{x:.1644435861855132,y:.5621287897998347},{x:.16294590048199914,y:.5612744987855388},{x:.1609091582647261,y:.559507056844315},{x:.15874327554635076,y:.5579004698017108},{x:.08366227554635075,y:.4898404698017108},{x:.0822135909199537,y:.48824184486316324},{x:.08061175169940471,y:.4867967151276658},{x:.07925889408089541,y:.48498133393711457},{x:.07773859373239328,y:.48330368097737925},{x:.0766296214289207,y:.4814531488185024},{x:.0753404919252871,y:.4797232835162987},{x:.07436779238761855,y:.4776788549378484},{x:.07320399804016177,y:.47573684172476444},{x:.07247735524331753,y:.47370551725863386},{x:.07155047598047157,y:.4717573941431678},{x:.034570475980471575,y:.3691493941431678},{x:.03374586128764337,y:.36588916100716024},{x:.032769662381854636,y:.3626710644907258},{x:.032666195333495754,y:.36162054591923504},{x:.032407352052251925,y:.36059717166956007},{x:.03223462203187315,y:.35723870865311785},{x:.031905,y:.353892},{x:.031905,y:.285813}],[{x:.121905,y:.2937462257558374},{x:.121905,y:.3460304727958324},{x:.1524170009298456,y:.4306917867874386},{x:.21387346155335435,y:.48640130996954867},{x:.2736381428091649,y:.513105},{x:.36637802828147564,y:.513105},{x:.4250638403772601,y:.4864880590885319},{x:.48014799999999996,y:.4365549481293854},{x:.48014799999999996,y:.20413270643748072},{x:.4248733312055972,y:.15401438585682045},{x:.36611835928516706,y:.12658200000000003},{x:.27389496414813935,y:.12658200000000003},{x:.2140623112166411,y:.15410266134357853},{x:.15236330162501277,y:.21004602219345103},{x:.121905,y:.2937462257558374}]],r:[[{x:.062422000000000005,y:.03920400000000002},{x:.06328666238185464,y:.030424935509274227},{x:.0658474210369921,y:.02198324554357097},{x:.07000586744638546,y:.01420333951411792},{x:.07560219484660537,y:.00738419484660538},{x:.08242133951411793,y:.0017878674463854757},{x:.09020124554357097,y:-.002370578963007887},{x:.09864293550927423,y:-.004931337618145348},{x:.107422,y:-.005795999999999982},{x:.11620106449072577,y:-.004931337618145348},{x:.12464275445642904,y:-.002370578963007887},{x:.1324226604858821,y:.0017878674463854827},{x:.13924180515339463,y:.00738419484660538},{x:.14483813255361455,y:.01420333951411792},{x:.14899657896300791,y:.02198324554357098},{x:.15155733761814538,y:.030424935509274248},{x:.152422,y:.03920400000000002},{x:.152422,y:.3275398012121413},{x:.1925108808296549,y:.4204278633799401},{x:.27478075869941443,y:.4836647262821032},{x:.3576648607132649,y:.5150589999999999},{x:.49463,y:.5150589999999999},{x:.5034090644907258,y:.5159236623818546},{x:.511850754456429,y:.5184844210369921},{x:.5196306604858821,y:.5226428674463854},{x:.5264498051533947,y:.5282391948466053},{x:.5320461325536145,y:.5350583395141179},{x:.5362045789630079,y:.542838245543571},{x:.5387653376181454,y:.5512799355092742},{x:.53963,y:.560059},{x:.5387653376181454,y:.5688380644907257},{x:.5362045789630079,y:.577279754456429},{x:.5320461325536145,y:.5850596604858821},{x:.5264498051533947,y:.5918788051533946},{x:.5196306604858821,y:.5974751325536145},{x:.511850754456429,y:.6016335789630078},{x:.5034090644907258,y:.6041943376181453},{x:.49463,y:.605059},{x:.349428,y:.605059},{x:.34572095329292224,y:.6046938877675093},{x:.3420044651532413,y:.6044424555930356},{x:.34133700376168824,y:.6042621064259311},{x:.3406489355092742,y:.6041943376181453},{x:.33708434852821606,y:.6031130319790114},{x:.33348832364990477,y:.6021413801353276},{x:.23668632364990477,y:.5654753801353276},{x:.2347311434313091,y:.5645060813254815},{x:.23268939209293205,y:.5637356779621759},{x:.23078888495220712,y:.562551669954317},{x:.22878273496962892,y:.5615571024090896},{x:.2270542238076375,y:.5602249916656349},{x:.22520200238894322,y:.5590710654608507},{x:.152422,y:.5031286093364514},{x:.152422,y:.560059},{x:.15155733761814538,y:.5688380644907257},{x:.14899657896300791,y:.577279754456429},{x:.14483813255361455,y:.5850596604858821},{x:.13924180515339463,y:.5918788051533946},{x:.1324226604858821,y:.5974751325536145},{x:.12464275445642904,y:.6016335789630078},{x:.11620106449072577,y:.6041943376181453},{x:.107422,y:.605059},{x:.09864293550927423,y:.6041943376181453},{x:.09020124554357094,y:.6016335789630078},{x:.08242133951411793,y:.5974751325536145},{x:.07560219484660537,y:.5918788051533946},{x:.07000586744638546,y:.5850596604858821},{x:.0658474210369921,y:.577279754456429},{x:.06328666238185464,y:.5688380644907257},{x:.062422000000000005,y:.560059},{x:.062422000000000005,y:.03920400000000002}]],s:[[{x:.056563,y:.369888},{x:.056809270227573656,y:.3673875764180495},{x:.05684306423764694,y:.36487528163458033},{x:.05724057756471223,y:.36300843953465567},{x:.057427662381854636,y:.3611089355092742},{x:.05815700903783985,y:.3587046018033244},{x:.05868027810379197,y:.35624717294397146},{x:.05943435615016931,y:.3544937526945111},{x:.0599884210369921,y:.352667245543571},{x:.06117281573842168,y:.3504513989095756},{x:.06216545092350078,y:.34814327358726177},{x:.06324711489275962,y:.3465706581451233},{x:.06414686744638545,y:.3448873395141179},{x:.06574079456909979,y:.3429451336955602},{x:.0671646494598194,y:.3408750118720105},{x:.06853233161222538,y:.3395436359667022},{x:.06974319484660536,y:.33806819484660533},{x:.07168540066516299,y:.33647426772389105},{x:.07348575731657993,y:.3347217030198468},{x:.07508689839402109,y:.33368273068076537},{x:.07656233951411792,y:.33247186744638546},{x:.07877818614811302,y:.331287472744956},{x:.08088585786376518,y:.3299198152391437},{x:.15568385786376518,y:.29122381523914376},{x:.1574569269125657,y:.29051717359061785},{x:.15914024554357095,y:.2896174210369921},{x:.16154457924952065,y:.28888807438100694},{x:.16387856938737105,y:.2879578823843842},{x:.16575542835833412,y:.2876107272686775},{x:.16758193550927422,y:.2870566623818547},{x:.17008235909122482,y:.286810392154281},{x:.17255297371919248,y:.2863534124236203},{x:.17446149597461844,y:.28637908481714247},{x:.176361,y:.28619200000000006},{x:.288347309340128,y:.28619200000000006},{x:.3974525128623667,y:.21942256309828728},{x:.45549,y:.1602321160680505},{x:.45549,y:.13007078589845048},{x:.407404042616179,y:.10590438131127383},{x:.31753214348357883,y:.07103500000000003},{x:.21224543978224936,y:.07103500000000003},{x:.16354378174687056,y:.09622932957230687},{x:.14433666195924297,y:.15500005013212306},{x:.1407876006468136,y:.16307617408904287},{x:.13573115992893667,y:.17030473007440486},{x:.12936165598671553,y:.1764079287355125},{x:.12192386528459082,y:.18115122757053267},{x:.11370361794808405,y:.18435234426530817},{x:.10501681347236942,y:.18588826170046568},{x:.09619728088183255,y:.18569995543032455},{x:.08758394986787689,y:.1837946619592429},{x:.07950782591095708,y:.18024560064681355},{x:.07227926992559508,y:.1751891599289366},{x:.06617607126448745,y:.1688196559867155},{x:.06143277242946728,y:.16138186528459075},{x:.05823165573469179,y:.153161617948084},{x:.05669573829953427,y:.14447481347236937},{x:.0568840445696754,y:.1356552808818325},{x:.05878933804075704,y:.12704194986787684},{x:.08372233804075704,y:.050750949867876836},{x:.08542587043333498,y:.04687444913825993},{x:.08709879890390285,y:.042984643121031924},{x:.08719974017890864,y:.04283789110571456},{x:.0872713993531864,y:.04267482591095703},{x:.0896984666241539,y:.03920515373890898},{x:.0920981137517354,y:.03571646140762123},{x:.09222574536637099,y:.03559222185697407},{x:.09232784007106334,y:.035446269925595034},{x:.09538517138631239,y:.032516763866873036},{x:.0984193200775319,y:.02956325371133576},{x:.09856873722042347,y:.029466301081615798},{x:.09869734401328446,y:.029343071264487396},{x:.10226744784494098,y:.027066310594042624},{x:.10581949746716537,y:.024761484353185106},{x:.18061849746716538,y:-.013933515646814817},{x:.1823912439162618,y:-.014639995851387814},{x:.18407424554357094,y:-.01553957896300786},{x:.18647892276401756,y:-.016269029822976466},{x:.18881326125361947,y:-.017199317363260178},{x:.19068977232738848,y:-.017546377073194466},{x:.1925159355092742,y:-.018100337618145335},{x:.19501671633437545,y:-.018346643031098245},{x:.19748769126025723,y:-.018803648509519946},{x:.19939585369049342,y:-.018777950414796084},{x:.201295,y:-.018964999999999968},{x:.325956,y:-.018964999999999968},{x:.3298421413721484,y:-.018582248482612737},{x:.33373593654739714,y:-.01828737118339306},{x:.334227355251249,y:-.018150342613638803},{x:.3347350644907258,y:-.018100337618145335},{x:.33847186362931597,y:-.016966791992147238},{x:.34223331291484477,y:-.015917938922943478},{x:.44196531291484475,y:.022777061077056446},{x:.44388622686678575,y:.02374867869889352},{x:.4458951331158935,y:.02452214291663178},{x:.5206971331158935,y:.06211514291663188},{x:.5230429253028388,y:.06359852573319036},{x:.5254906604858821,y:.06490686744638552},{x:.526762463529903,y:.06595060923072474},{x:.5281530225051898,y:.06682994172267823},{x:.5301643473216751,y:.06874246310749585},{x:.5323098051533947,y:.07050319484660542},{x:.5333535469377338,y:.07177499789062616},{x:.5345458374532134,y:.07290871885358566},{x:.536145400814505,y:.07517688168239829},{x:.5379061325536145,y:.07732233951411796},{x:.538681702666837,y:.0787733291400739},{x:.5396299056666436,y:.08011787031323085},{x:.5407562372498129,y:.08265451036052812},{x:.5420645789630079,y:.08510224554357101},{x:.5425421726806072,y:.08667666103386074},{x:.5432098492552168,y:.08818035245395842},{x:.5438196647691762,y:.09088798806528645},{x:.5446253376181454,y:.09354393550927428},{x:.5447866012813922,y:.09518127295954937},{x:.5451480929944793,y:.09678632860859225},{x:.545217957571016,y:.09956090686586556},{x:.54549,y:.10232300000000005},{x:.54549,y:.17861300000000002},{x:.5450792542455133,y:.1827833716312913},{x:.5447095428008049,y:.18695758114513777},{x:.5446471218945653,y:.18717088502046353},{x:.5446253376181454,y:.1873920644907258},{x:.5434088850836819,y:.19140217107899518},{x:.5422319296624953,y:.19542404720269643},{x:.5421290946347417,y:.1956210747891699},{x:.5420645789630079,y:.19583375445642906},{x:.5400891672372728,y:.199529489854385},{x:.5381501975764,y:.20324447414399938},{x:.5380109003195782,y:.20341765378196683},{x:.5379061325536145,y:.20361366048588211},{x:.5352476756014034,y:.20685299965477524},{x:.5326212052175259,y:.21011832734743824},{x:.45781920521752584,y:.28640632734743826},{x:.45695946559173245,y:.28712616331644525},{x:.45621413415776596,y:.2879638966272176},{x:.45358375241990234,y:.28995255364350675},{x:.45105542866152953,y:.29206944848930627},{x:.4500717756605794,y:.29260772613156716},{x:.4491773318997613,y:.2932839556822147},{x:.3245133318997613,y:.3695749556822147},{x:.3213472249094816,y:.3711082739568931},{x:.3182447544564291,y:.37276657896300797},{x:.31738368821196916,y:.37302778055263114},{x:.3165738477898179,y:.3734199792757539},{x:.31316944110160955,y:.3743061584374605},{x:.3098030644907258,y:.3753273376181454},{x:.3089075854904768,y:.3754155346015568},{x:.3080367917497669,y:.3756422053074494},{x:.30452491480344407,y:.37584718998797495},{x:.301024,y:.376192},{x:.18731182116617404,y:.376192},{x:.146563,y:.397272996602132},{x:.146563,y:.42779681790574337},{x:.20153437253410483,y:.48386323770148376},{x:.2842918489876165,y:.5150589999999999},{x:.39008456648169626,y:.5150589999999999},{x:.4553477907191711,y:.4822576837794137},{x:.4635801440629335,y:.47908783003036465},{x:.47227272283422006,y:.4775849365970516},{x:.4810914761057044,y:.47780675883128426},{x:.48969750413477736,y:.47974477222900047},{x:.4977600820905977,y:.48332450002217653},{x:.5049693696238691,y:.488408375279255},{x:.5110483178577028,y:.4948010275251766},{x:.5157633162205862,y:.5022567907191711},{x:.5189331699696352,y:.5104891440629334},{x:.5204360634029483,y:.51918172283422},{x:.5202142411687157,y:.5280004761057044},{x:.5182762277709995,y:.5366065041347774},{x:.5146964999778234,y:.5446690820905977},{x:.509612624720745,y:.551878369623869},{x:.5032199724748234,y:.5579573178577029},{x:.49576420928082887,y:.5626723162205862},{x:.42096520928082887,y:.6002663162205862},{x:.41942927464851043,y:.6008577252562829},{x:.41797775445642904,y:.6016335789630078},{x:.4153223812886681,y:.6024390776071881},{x:.41273285593706643,y:.6034361699696352},{x:.41111105567880996,y:.6037165692645292},{x:.40953606449072577,y:.6041943376181453},{x:.40677456858393113,y:.6044663212253706},{x:.4040402771657799,y:.6049390634029483},{x:.4023949361559939,y:.6048976773693867},{x:.400757,y:.605059},{x:.276092,y:.605059},{x:.2724204350331364,y:.6046973824138966},{x:.26873912724910987,y:.6044542166602351},{x:.2680367190736708,y:.6042656240771296},{x:.2673129355092742,y:.6041943376181453},{x:.2637824667250502,y:.6031233816208718},{x:.26021933352302795,y:.6021667007079561},{x:.1604883335230279,y:.5645727007079561},{x:.15963695838633216,y:.5641523105976027},{x:.15873109713512196,y:.563867735718488},{x:.15568848233041307,y:.5622026409240001},{x:.1525785174681621,y:.5606670094317409},{x:.15182551530799093,y:.5600886019499048},{x:.15099257773152036,y:.559632770334096},{x:.14833326979676884,y:.5574060851671644},{x:.1455826488796249,y:.5552932363569977},{x:.14495695714670492,y:.554579039378831},{x:.14422895256892138,y:.5539694683796904},{x:.06943095256892137,y:.47768146837969044},{x:.06680494464711424,y:.4744165369262552},{x:.06414686744638545,y:.4711776604858821},{x:.0640418150384659,y:.470981121254323},{x:.0639021439692389,y:.47080746737336276},{x:.06196355058191934,y:.4670929619312254},{x:.0599884210369921,y:.46339775445642906},{x:.05992373008360734,y:.46318449696300446},{x:.05982062094636722,y:.462986931318802},{x:.05864394115023422,y:.4589655982489849},{x:.057427662381854636,y:.45495606449072584},{x:.05740581892006417,y:.454734284101312},{x:.05734323414113077,y:.4545203990307778},{x:.05697368708086039,y:.4503467759079653},{x:.056563,y:.44617700000000005},{x:.056563,y:.369888}]],t:[[{x:.036055000000000004,y:.484201},{x:.03691966238185464,y:.4754219355092742},{x:.0394804210369921,y:.466980245543571},{x:.04363886744638546,y:.4592003395141179},{x:.049235194846605365,y:.45238119484660533},{x:.05605433951411792,y:.44678486744638546},{x:.06383424554357096,y:.44262642103699207},{x:.07227593550927423,y:.4400656623818546},{x:.081055,y:.439201},{x:.201032,y:.439201},{x:.201032,y:.17345100000000002},{x:.2013458215844704,y:.17026471598156256},{x:.20148726326025637,y:.1670661406603643},{x:.20177732050748418,y:.165883633894134},{x:.20189666238185464,y:.16467193550927425},{x:.20282606714776777,y:.16160809859877695},{x:.20358880215081968,y:.15849857690755997},{x:.20410398165518515,y:.15739537903902878},{x:.2044574210369921,y:.15623024554357098},{x:.20596669248041014,y:.15340659727526443},{x:.20732140933230742,y:.15050562638878262},{x:.2623124093323074,y:.05773162638878261},{x:.2645408071528226,y:.05469603003381387},{x:.2666808493837164,y:.051597510818645845},{x:.2671477670132535,y:.051144744093296994},{x:.26753264280400524,y:.05062045370997057},{x:.2703104380556505,y:.04807792433615628},{x:.27301385108661325,y:.04545644382682572},{x:.2735601274310704,y:.04510346799784869},{x:.2740398919211364,y:.04466433724917905},{x:.27726033549019774,y:.04271258283448707},{x:.28042322867453984,y:.040668883056825214},{x:.28102787064035484,y:.04042926278737637},{x:.28158408674943697,y:.04009216722176761},{x:.28512341879560005,y:.038806192593798694},{x:.288624243922019,y:.03741881178414046},{x:.39861224392201905,y:.005893811784140432},{x:.4004470188387682,y:.005558110934368086},{x:.4022319355092743,y:.0050166623818546086},{x:.4047755505163489,y:.004766138170207483},{x:.4072897364122725,y:.0043061284251197166},{x:.4091547486303562,y:.0043348248023798485},{x:.411011,y:.004151999999999975},{x:.520997,y:.004151999999999975},{x:.5297760644907258,y:.0050166623818546086},{x:.538217754456429,y:.00757742103699207},{x:.5459976604858822,y:.011735867446385433},{x:.5528168051533947,y:.017332194846605337},{x:.5584131325536146,y:.02415133951411788},{x:.5625715789630079,y:.031931245543570935},{x:.5651323376181454,y:.040372935509274205},{x:.5659970000000001,y:.049151999999999973},{x:.5651323376181454,y:.05793106449072574},{x:.5625715789630079,y:.06637275445642901},{x:.5584131325536146,y:.07415266048588207},{x:.5528168051533947,y:.08097180515339461},{x:.5459976604858822,y:.08656813255361451},{x:.538217754456429,y:.09072657896300787},{x:.5297760644907258,y:.09328733761814534},{x:.520997,y:.09415199999999997},{x:.41733272532416527,y:.09415199999999997},{x:.33061421916568134,y:.11900744701827656},{x:.291032,y:.1857856616511605},{x:.291032,y:.439201},{x:.466004,y:.439201},{x:.47478306449072577,y:.4400656623818546},{x:.48322475445642904,y:.44262642103699207},{x:.4910046604858821,y:.44678486744638546},{x:.49782380515339464,y:.45238119484660533},{x:.5034201325536145,y:.4592003395141179},{x:.5075785789630078,y:.466980245543571},{x:.5101393376181453,y:.4754219355092742},{x:.511004,y:.484201},{x:.5101393376181453,y:.4929800644907258},{x:.5075785789630078,y:.501421754456429},{x:.5034201325536145,y:.5092016604858821},{x:.49782380515339464,y:.5160208051533947},{x:.4910046604858821,y:.5216171325536145},{x:.48322475445642904,y:.5257755789630079},{x:.47478306449072577,y:.5283363376181454},{x:.466004,y:.529201},{x:.291032,y:.529201},{x:.291032,y:.702148},{x:.2901673376181454,y:.7109270644907257},{x:.2876065789630079,y:.719368754456429},{x:.28344813255361456,y:.7271486604858821},{x:.27785180515339464,y:.7339678051533947},{x:.2710326604858821,y:.7395641325536145},{x:.26325275445642904,y:.7437225789630079},{x:.25481106449072577,y:.7462833376181454},{x:.246032,y:.747148},{x:.23725293550927423,y:.7462833376181454},{x:.22881124554357096,y:.7437225789630079},{x:.2210313395141179,y:.7395641325536145},{x:.21421219484660536,y:.7339678051533947},{x:.20861586744638547,y:.7271486604858821},{x:.2044574210369921,y:.719368754456429},{x:.20189666238185464,y:.7109270644907257},{x:.201032,y:.702148},{x:.201032,y:.529201},{x:.081055,y:.529201},{x:.07227593550927423,y:.5283363376181454},{x:.06383424554357094,y:.5257755789630079},{x:.05605433951411792,y:.5216171325536145},{x:.049235194846605365,y:.5160208051533947},{x:.04363886744638546,y:.5092016604858821},{x:.0394804210369921,y:.501421754456429},{x:.03691966238185464,y:.4929800644907258},{x:.036055000000000004,y:.484201}]],u:[[{x:.047041,y:.17386599999999997},{x:.04733731084809023,y:.17085750547164297},{x:.04744678100255899,y:.1678364368310572},{x:.0477687404511641,y:.16647712720137547},{x:.04790566238185463,y:.1650869355092742},{x:.048783207866406234,y:.16219405573845885},{x:.04947995583647738,y:.15925239265237093},{x:.08761895583647737,y:.04817539265237096},{x:.08938287590080696,y:.04431825367483454},{x:.09111755940033861,y:.04044787795123246},{x:.0912166047918106,y:.04030846472648272},{x:.0912877277290914,y:.04015294120864865},{x:.09377024504918263,y:.03671403980837168},{x:.09622666993792225,y:.03325645223155292},{x:.09635101037087945,y:.03313904059014135},{x:.09645110783403886,y:.03300038080982997},{x:.09955682066149267,y:.030111872039067004},{x:.10264058790854466,y:.027199945760571206},{x:.10278544504987946,y:.027109047766032002},{x:.10291067034954356,y:.026992580340839414},{x:.10652022788210418,y:.024765467971757132},{x:.11011283004156149,y:.02251110668543916},{x:.1858688300415615,y:-.015231893314560811},{x:.1873332068933575,y:-.0157898639141544},{x:.18871524554357097,y:-.01652857896300789},{x:.19144581156206075,y:-.017356887109087667},{x:.19411224226228255,y:-.018372875537717062},{x:.1956573361874375,y:-.018634439137126358},{x:.19715693550927424,y:-.019089337618145352},{x:.1999966293703256,y:-.019369023051625026},{x:.20281003486202434,y:-.01984529472354478},{x:.2043764687674932,y:-.01980039958033106},{x:.205936,y:-.019953999999999986},{x:.319832,y:-.019953999999999986},{x:.32132997950952447,y:-.01980646189590665},{x:.3228344649392302,y:-.019853723877644197},{x:.3257100002545037,y:-.019375067506000147},{x:.3286110644907258,y:-.019089337618145352},{x:.3300514774877758,y:-.018652393112465325},{x:.33153627500704863,y:-.018405236421526333},{x:.3342631764918695,y:-.017374788187221168},{x:.33705275445642907,y:-.01652857896300789},{x:.3383802466773209,y:-.015819019588053155},{x:.3397882963501792,y:-.015286942317463331},{x:.4160692963501792,y:.02245605768253664},{x:.4183042276197719,y:.02384992521458428},{x:.42064256487504254,y:.025062345668598177},{x:.4220380841989542,y:.02617863282445781},{x:.4235544084161923,y:.027124324140885128},{x:.42547446604244665,y:.028927422360218155},{x:.42753134130624215,y:.03057273346328787},{x:.465011,y:.06712410441560081},{x:.465011,y:.025046000000000013},{x:.4658756623818546,y:.016266935509274223},{x:.46843642103699207,y:.007825245543570968},{x:.47259486744638546,y:45339514117916785e-21},{x:.4781911948466053,y:-.006773805153394624},{x:.4850103395141179,y:-.012370132553614528},{x:.492790245543571,y:-.01652857896300789},{x:.5012319355092743,y:-.019089337618145352},{x:.510011,y:-.019953999999999986},{x:.5187900644907257,y:-.019089337618145352},{x:.527231754456429,y:-.01652857896300789},{x:.5350116604858821,y:-.012370132553614521},{x:.5418308051533947,y:-.006773805153394624},{x:.5474271325536145,y:45339514117916785e-21},{x:.5515855789630079,y:.007825245543570974},{x:.5541463376181454,y:.016266935509274244},{x:.555011,y:.025046000000000013},{x:.555011,y:.545898},{x:.5541463376181454,y:.5546770644907257},{x:.5515855789630079,y:.563118754456429},{x:.5474271325536145,y:.5708986604858821},{x:.5418308051533947,y:.5777178051533947},{x:.5350116604858821,y:.5833141325536145},{x:.527231754456429,y:.5874725789630079},{x:.5187900644907257,y:.5900333376181454},{x:.510011,y:.590898},{x:.5012319355092743,y:.5900333376181454},{x:.492790245543571,y:.5874725789630079},{x:.4850103395141179,y:.5833141325536145},{x:.4781911948466053,y:.5777178051533947},{x:.47259486744638546,y:.5708986604858821},{x:.46843642103699207,y:.563118754456429},{x:.4658756623818546,y:.5546770644907257},{x:.465011,y:.545898},{x:.465011,y:.19283699530520199},{x:.36978450462305706,y:.099969048308901},{x:.30930812362389754,y:.07004600000000001},{x:.2165251763155874,y:.07004600000000001},{x:.16675256431883717,y:.09484360935890679},{x:.137041,y:.18137632992954258},{x:.137041,y:.545898},{x:.13617633761814535,y:.5546770644907257},{x:.1336155789630079,y:.563118754456429},{x:.12945713255361452,y:.5708986604858821},{x:.12386080515339463,y:.5777178051533947},{x:.11704166048588208,y:.5833141325536145},{x:.10926175445642904,y:.5874725789630079},{x:.10082006449072577,y:.5900333376181454},{x:.092041,y:.590898},{x:.08326193550927423,y:.5900333376181454},{x:.07482024554357093,y:.5874725789630079},{x:.06704033951411792,y:.5833141325536145},{x:.06022119484660536,y:.5777178051533947},{x:.05462486744638546,y:.5708986604858821},{x:.050466421036992094,y:.563118754456429},{x:.04790566238185463,y:.5546770644907257},{x:.047041,y:.545898},{x:.047041,y:.17386599999999997}]],v:[[{x:.003930906419490336,y:.5438334563092145},{x:.005386967221411215,y:.5351329102741644},{x:.00851244255100142,y:.5268836061622384},{x:.26071044255100145,y:.018289606162238365},{x:.26144011887972296,y:.017121905714788027},{x:.2620056398700735,y:.01586646241095203},{x:.26377267234206975,y:.013389122267562115},{x:.26538522214413157,y:.010808560104194675},{x:.26632868500311185,y:.009805649483352854},{x:.267128264504625,y:.008684656842684199},{x:.2693446490294707,y:.006599649029470163},{x:.2714296568426842,y:.00438326450462502},{x:.27255064948335267,y:.0035836850031119977},{x:.2735535601041947,y:.0026402221441315446},{x:.27613412226756273,y:.0010276723420693272},{x:.278611462410952,y:-.0007393601299264599},{x:.2798669057147878,y:-.0013048811202769175},{x:.28103460616223835,y:-.0020345574489985807},{x:.28388017640738666,y:-.0031126798553442526},{x:.2866546460885495,y:-.00436245420755494},{x:.28799629407344673,y:-.00467218403223142},{x:.2892839102741644,y:-.005160032778588779},{x:.2922851349323858,y:-.00566229614975999},{x:.29525011283741587,y:-.006346784254711718},{x:.2966264067237199,y:-.006388820170250395},{x:.2979844563092145,y:-.006616093580509658},{x:.301026,y:-.00652319621682493},{x:.30406754369078554,y:-.006616093580509658},{x:.3054255932762801,y:-.006388820170250395},{x:.30680188716258416,y:-.006346784254711718},{x:.30976686506761425,y:-.005662296149759988},{x:.31276808972583564,y:-.005160032778588779},{x:.3140557059265533,y:-.00467218403223142},{x:.3153973539114505,y:-.00436245420755494},{x:.3181718235926135,y:-.0031126798553442175},{x:.3210173938377617,y:-.0020345574489985807},{x:.32218509428521225,y:-.0013048811202769192},{x:.323440537589048,y:-.0007393601299264599},{x:.32591787773243747,y:.0010276723420694187},{x:.32849843989580535,y:.0026402221441315446},{x:.32950135051664736,y:.0035836850031119635},{x:.3306223431573158,y:.00438326450462502},{x:.3327073509705293,y:.006599649029470129},{x:.334923735495375,y:.008684656842684203},{x:.33572331499688823,y:.009805649483352899},{x:.33666677785586846,y:.01080856010419469},{x:.3382793276579303,y:.013389122267562135},{x:.3400463601299265,y:.01586646241095204},{x:.34061188112027707,y:.017121905714788034},{x:.3413415574489986,y:.018289606162238365},{x:.5935395574489987,y:.5268836061622384},{x:.5966650327785888,y:.5351329102741644},{x:.5981210935805097,y:.5438334563092145},{x:.5978517842547117,y:.5526508871625841},{x:.595867454207555,y:.5612463539114505},{x:.5922443601299265,y:.569289537589048},{x:.587121735495375,y:.5764713431573159},{x:.5806964398958053,y:.5825157778558685},{x:.5732153938377617,y:.5871905574489986},{x:.5649660897258356,y:.5903160327785888},{x:.5562655436907855,y:.5917720935805096},{x:.5474481128374159,y:.5915027842547117},{x:.5388526460885495,y:.589518454207555},{x:.5308094624109521,y:.5858953601299265},{x:.5236276568426842,y:.580772735495375},{x:.5175832221441315,y:.5743474398958054},{x:.5129084425510014,y:.5668663938377616},{x:.301026,y:.13957458745236595},{x:.08914355744899859,y:.5668663938377616},{x:.08446877785586845,y:.5743474398958054},{x:.07842434315731579,y:.580772735495375},{x:.07124253758904797,y:.5858953601299265},{x:.06319935391145051,y:.589518454207555},{x:.054603887162584124,y:.5915027842547117},{x:.04578645630921451,y:.5917720935805096},{x:.037085910274164385,y:.5903160327785888},{x:.028836606162238352,y:.5871905574489986},{x:.02135556010419467,y:.5825157778558685},{x:.014930264504625007,y:.5764713431573159},{x:.009807639870073534,y:.569289537589048},{x:.006184545792445054,y:.5612463539114505},{x:.004200215745288276,y:.5526508871625841},{x:.003930906419490336,y:.5438334563092145}]],w:[[{x:-.04481226541001698,y:.5427688011711321},{x:-.0431501306438814,y:.534105261341125},{x:.1073618693561186,y:.025511261341124997},{x:.10747750697825527,y:.02522662926113043},{x:.10753949092041715,y:.02492572151525217},{x:.1091366577408943,y:.021142772088450095},{x:.11068223944402648,y:.01733845540642648},{x:.11085118408582124,y:.017081852232977028},{x:.1109706812129555,y:.01679881881229654},{x:.11327517574267339,y:.0134001494872997},{x:.11553324489331337,y:.009970459715744673},{x:.11574900410692728,y:.009751746564891355},{x:.11592142221145292,y:.009497464285038355},{x:.11884468401801046,y:.006613684018010047},{x:.12172846428503836,y:.0036904222114529234},{x:.12198274656489135,y:.0035180041069272803},{x:.12220145971574467,y:.0033022448933133844},{x:.1256311494872997,y:.001044175742673395},{x:.12902981881229655,y:-.0012603187870445023},{x:.12931285223297703,y:-.0013798159141787526},{x:.12956945540642648,y:-.0015487605559735135},{x:.1333737720884501,y:-.0030943422591057004},{x:.13715672151525218,y:-.004691509079582858},{x:.13745762926113045,y:-.004753493021744735},{x:.137742261341125,y:-.004869130643881392},{x:.14177500717701197,y:-.005642829061426576},{x:.14579686008065018,y:-.006471289947453558},{x:.1461040784358031,y:-.006473378696506754},{x:.14640580117113214,y:-.006531265410016966},{x:.150512,y:-.006503347745684165},{x:.15461819882886788,y:-.006531265410016966},{x:.15491992156419693,y:-.006473378696506754},{x:.15522713991934983,y:-.006471289947453558},{x:.159248992822988,y:-.005642829061426585},{x:.16328173865887502,y:-.004869130643881392},{x:.16356637073886957,y:-.004753493021744732},{x:.16386727848474786,y:-.004691509079582851},{x:.1676502279115502,y:-.0030943422591055763},{x:.17145454459357354,y:-.0015487605559735135},{x:.17171114776702298,y:-.0013798159141787517},{x:.17199418118770346,y:-.0012603187870445023},{x:.17539285051270065,y:.001044175742673613},{x:.17882254028425534,y:.0033022448933133844},{x:.17904125343510863,y:.0035180041069272374},{x:.17929553571496165,y:.0036904222114529095},{x:.18217931598198978,y:.006613684018010279},{x:.1851025777885471,y:.009497464285038375},{x:.18527499589307275,y:.009751746564891386},{x:.18549075510668664,y:.009970459715744683},{x:.1877488242573266,y:.013400149487299715},{x:.1900533187870445,y:.016798818812296553},{x:.19017281591417878,y:.01708185223297707},{x:.19034176055597352,y:.01733845540642648},{x:.19188734225910553,y:.02114277208844964},{x:.19348450907958287,y:.02492572151525217},{x:.19354649302174473,y:.02522662926113043},{x:.1936621306438814,y:.025511261341124997},{x:.30102443002882817,y:.38829842311817664},{x:.4083889386148475,y:.025511027311792445},{x:.40850451632069196,y:.025226547135196155},{x:.40856646677585007,y:.0249257992040805},{x:.410163689741502,y:.021142697708463984},{x:.41170935302882616,y:.01733823938560964},{x:.41187820927072055,y:.017081773507688556},{x:.41199764237598097,y:.016798890297984457},{x:.41430222163921304,y:.013400082779514221},{x:.4165603984391837,y:.009970270005002412},{x:.41677604416644776,y:.009751674265617277},{x:.4169483701745541,y:.009497526820430955},{x:.41987174204670485,y:.006613627545966159},{x:.42275565189129766,y:.0036902661012626486},{x:.42300979995956794,y:.0035179410120882958},{x:.4232283964786704,y:.003302296075210584},{x:.4266582174181369,y:.0010441316765615349},{x:.4300570332693414,y:-.001260435297455717},{x:.43033991691088264,y:-.001379867379883588},{x:.4305963833993421,y:-.0015487226944633017},{x:.43440084731088763,y:-.0030943722258508074},{x:.43818395458161874,y:-.004691581512785238},{x:.43848470273672896,y:-.004753530880516994},{x:.4387691833312223,y:-.0048691075577547704},{x:.44280208680029426,y:-.005642843777199688},{x:.4468241027997286,y:-.0064713155198797695},{x:.44713115788546864,y:-.006473401493455157},{x:.44743272015628793,y:-.006531257986460835},{x:.45153908096424766,y:-.006503346644966049},{x:.45564544187310013,y:-.00653124313893301},{x:.4559470039347234,y:-.006473385555557348},{x:.4562540590129192,y:-.0064712984717510205},{x:.4602760720167908,y:-.005642812186517322},{x:.4643089726882076,y:-.004869061385152536},{x:.46459345286480397,y:-.004753483679308031},{x:.46489420079591953,y:-.0046915332241499325},{x:.46867730229153426,y:-.003094310258498727},{x:.4724817606143904,y:-.0015486469711738574},{x:.4727382264923116,y:-.0013797907292793573},{x:.47302110970201555,y:-.0012603576240190345},{x:.4764199172204845,y:.0010442216392121837},{x:.47984972999499764,y:.0033023984391836667},{x:.4800683257343829,y:.003518044166447842},{x:.48032247317956905,y:.003690370174554085},{x:.483206372454032,y:.0066137420467029156},{x:.48612973389873737,y:.009497651891297622},{x:.4863020589879118,y:.009751799959568049},{x:.48651770392478944,y:.009970396478670394},{x:.4887758683234383,y:.01340021741813658},{x:.49108043529745576,y:.016799033269341422},{x:.49119986737988364,y:.017081916910882677},{x:.4913687226944633,y:.017338383399342037},{x:.4929143722258502,y:.021142847310886045},{x:.4945115815127853,y:.024925954581618698},{x:.4945735308805171,y:.025226702736729056},{x:.4946891075577548,y:.025511183331222268},{x:.6452021075577549,y:.5341051833312223},{x:.6468642579864609,y:.542768720156288},{x:.646804298471751,y:.5515900590129192},{x:.64502453322415,y:.5602302007959196},{x:.641593357624019,y:.5683571097020156},{x:.636642629825446,y:.5756584731795691},{x:.6303626035213297,y:.5818537039247894},{x:.622994616600658,y:.5867047226944633},{x:.6148218166687778,y:.5900251075577548},{x:.6061582798437121,y:.5916872579864608},{x:.5973369409870808,y:.591627298471751},{x:.5886967992040805,y:.58984753322415},{x:.5805698902979844,y:.5864163576240191},{x:.573268526820431,y:.5814656298254459},{x:.5670732960752106,y:.5751856035213296},{x:.5622222773055368,y:.567817616600658},{x:.5589018924422452,y:.5596448166687777},{x:.4515387133151436,y:.1968570925189096},{x:.34417406138515255,y:.5596449726882076},{x:.3440584683142858,y:.559929490683899},{x:.34399650907958285,y:.5602302784847478},{x:.3423992950207163,y:.5640133397974443},{x:.3408536469711739,y:.5678177606143904},{x:.3406847682813525,y:.5680742605871558},{x:.34056531878704455,y:.5683571811877035},{x:.33826075609875456,y:.5717559510329858},{x:.33600260156081635,y:.5751857299949976},{x:.33578692716538155,y:.5754043547947312},{x:.3356145777885471,y:.5756585357149616},{x:.33269122952253233,y:.5785424012737268},{x:.32980734810870244,y:.5814657338987373},{x:.3295531662537196,y:.581638081896991},{x:.3293345402842553,y:.5818537551066867},{x:.3259047490749403,y:.5841118910428063},{x:.32250596673065857,y:.5864164352974557},{x:.322223045482268,y:.5865358832573104},{x:.32196654459357354,y:.5867047605559735},{x:.318162115393689,y:.5882503879717952},{x:.31437904541838135,y:.5898475815127853},{x:.31407825728149374,y:.5899095391161314},{x:.313793738658875,y:.5900251306438814},{x:.30976087354902626,y:.5907988519446131},{x:.3057388972002714,y:.5916273155198798},{x:.3054318012943039,y:.5916294017707667},{x:.3051301988288679,y:.5916872654100169},{x:.30102387855356455,y:.5916593469199811},{x:.29691755812689985,y:.5916872431389331},{x:.2966159559752979,y:.5916293778639092},{x:.2963088600806502,y:.5916272899474536},{x:.29228688822522214,y:.5907988045585649},{x:.28825402731179245,y:.5900250613851525},{x:.2879695093161011,y:.5899094683142858},{x:.2876687215152522,y:.5898475090795828},{x:.2838856602025565,y:.5882502950207166},{x:.28008123938560964,y:.5867046469711739},{x:.27982473941284386,y:.5865357682813523},{x:.27954181881229656,y:.5864163187870445},{x:.276143048967013,y:.5841117560987538},{x:.2727132700050024,y:.5818536015608163},{x:.2724946452052691,y:.5816379271653819},{x:.27224046428503834,y:.5814655777885471},{x:.2693565987262721,y:.5785422295225312},{x:.2664332661012626,y:.5756583481087024},{x:.2662609181030087,y:.5754041662537193},{x:.2660452448933134,y:.5751855402842553},{x:.26378710895719626,y:.5717557490749442},{x:.2614825647025443,y:.5683569667306586},{x:.2613631167426894,y:.5680740454822678},{x:.2611942394440265,y:.5678175445935736},{x:.2596486120282045,y:.5640131153936881},{x:.2580514184872148,y:.5602300454183813},{x:.25798946088386876,y:.5599292572814941},{x:.2578738693561186,y:.559644738658875},{x:.150512,y:.196859029989096},{x:.0431501306438814,y:.559644738658875},{x:.039829760555973516,y:.5678175445935736},{x:.034978755106686646,y:.5751855402842553},{x:.028783535714961644,y:.5814655777885471},{x:.021482181187703456,y:.5864163187870445},{x:.01335527848474783,y:.5898475090795828},{x:.0047151399193498065,y:.5916272899474536},{x:-.004106198828867862,y:.5916872654100169},{x:-.01276973865887501,y:.5900251306438814},{x:-.020942544593573535,y:.5867047605559735},{x:-.028310540284255312,y:.5818537551066867},{x:-.034590577788547086,y:.5756585357149616},{x:-.03954131878704451,y:.5683571811877035},{x:-.04297250907958286,y:.5602302784847478},{x:-.04475228994745356,y:.5515901399193498},{x:-.04481226541001698,y:.5427688011711321}]],x:[[{x:-.007882248997940308,y:.03911618267902263},{x:-.007180671607209664,y:.030322582532795114},{x:-.0047770285451087455,y:.021834819906700376},{x:-.0007636904665355299,y:.013979074758467071},{x:.004705112296856322,y:.007057238968589209},{x:.011419216721809594,y:.001335314804661543},{x:.019120603540586492,y:-.0029668073965882433},{x:.02751331277672888,y:-.0056837994916240225},{x:.036274817320977384,y:-.006711248997940296},{x:.04506841746720488,y:-.006009671607209652},{x:.05355618009329963,y:-.003606028545108733},{x:.061411925241532925,y:.0004073095334644686},{x:.0683337610314108,y:.005876112296856327},{x:.3010265,y:.23008742701759316},{x:.5337192389685892,y:.005876112296856327},{x:.540641074758467,y:.0004073095334644686},{x:.5484968199067003,y:-.003606028545108733},{x:.556984582532795,y:-.006009671607209652},{x:.5657781826790226,y:-.006711248997940296},{x:.5745396872232711,y:-.0056837994916240225},{x:.5829323964594135,y:-.0029668073965882433},{x:.5906337832781904,y:.001335314804661536},{x:.5973478877031436,y:.007057238968589213},{x:.6028166904665355,y:.013979074758467089},{x:.6068300285451087,y:.021834819906700383},{x:.6092336716072096,y:.030322582532795128},{x:.6099352489979403,y:.03911618267902263},{x:.608907799491624,y:.047877687223271126},{x:.6061908073965883,y:.05627039645941352},{x:.6018886851953384,y:.0639717832781904},{x:.5961667610314108,y:.07068588770314368},{x:.36588095484811606,y:.292578},{x:.5961667610314108,y:.5144701122968564},{x:.6018886851953384,y:.5211842167218096},{x:.6061908073965883,y:.5288856035405864},{x:.608907799491624,y:.5372783127767289},{x:.6099352489979403,y:.5460398173209774},{x:.6092336716072096,y:.5548334174672048},{x:.6068300285451087,y:.5633211800932996},{x:.6028166904665355,y:.571176925241533},{x:.5973478877031436,y:.5780987610314108},{x:.5906337832781904,y:.5838206851953385},{x:.5829323964594135,y:.5881228073965883},{x:.5745396872232711,y:.590839799491624},{x:.5657781826790226,y:.5918672489979403},{x:.556984582532795,y:.5911656716072097},{x:.5484968199067003,y:.5887620285451087},{x:.540641074758467,y:.5847486904665355},{x:.5337192389685892,y:.5792798877031436},{x:.3010265,y:.35506857298240685},{x:.0683337610314108,y:.5792798877031436},{x:.06141192524153289,y:.5847486904665355},{x:.05355618009329961,y:.5887620285451087},{x:.0450684174672049,y:.5911656716072097},{x:.03627481732097735,y:.5918672489979403},{x:.02751331277672888,y:.590839799491624},{x:.01912060354058648,y:.5881228073965883},{x:.011419216721809584,y:.5838206851953385},{x:.004705112296856315,y:.5780987610314108},{x:-.0007636904665355368,y:.571176925241533},{x:-.004777028545108752,y:.5633211800932996},{x:-.007180671607209664,y:.5548334174672048},{x:-.007882248997940308,y:.5460398173209774},{x:-.006854799491624035,y:.5372783127767289},{x:-.004137807396588256,y:.5288856035405864},{x:.0001643148046615306,y:.5211842167218096},{x:.005886238968589197,y:.5144701122968564},{x:.23617204515188386,y:.292578},{x:.005886238968589197,y:.07068588770314368},{x:.00016431480466150977,y:.0639717832781904},{x:-.004137807396588256,y:.05627039645941351},{x:-.006854799491624035,y:.047877687223271126},{x:-.007882248997940308,y:.03911618267902263}]],y:[[{x:-7800000000000168e-20,y:-.15516599999999992},{x:.0007866623818546317,y:-.16394506449072568},{x:.003347421036992093,y:-.17238675445642895},{x:.007505867446385456,y:-.180166660485882},{x:.013102194846605353,y:-.18698580515339455},{x:.0199213395141179,y:-.19258213255361445},{x:.02770124554357093,y:-.1967405789630078},{x:.03614293550927421,y:-.19930133761814528},{x:.044922,y:-.2001659999999999},{x:.084618,y:-.2001659999999999},{x:.08470326921416556,y:-.20015760171543356},{x:.08478856964894584,y:-.200165676732115},{x:.08909199801123496,y:-.19972534965725622},{x:.09339706449072577,y:-.19930133761814528},{x:.0934790568568106,y:-.19927646550581232},{x:.09356429362525961,y:-.1992677440740231},{x:.09769912926743524,y:-.1979963205354665},{x:.10183875445642904,y:-.1967405789630078},{x:.1019143190537861,y:-.19670018884423682},{x:.10199621655469396,y:-.19667500612370953},{x:.18074721655469395,y:-.16370500612370958},{x:.18295470197399702,y:-.16251430076809983},{x:.18525522528778574,y:-.16151511930158513},{x:.18682754729843723,y:-.16042530954354395},{x:.18851130436774752,y:-.15951710034658062},{x:.19044407848245243,y:-.15791861501920362},{x:.19250546725178602,y:-.1564898227103016},{x:.27125546725178606,y:-.08958282271030155},{x:.27347158712358693,y:-.0872898341236823},{x:.27580944257935097,y:-.08512109812948883},{x:.27653091968085064,y:-.08412438503144627},{x:.2773860111192193,y:-.08323963374445845},{x:.2791122089873479,y:-.0805583607511536},{x:.2809820438025964,y:-.07797520343727593},{x:.35909504380259644,y:.055837796562724036},{x:.35921507445013207,y:.05609937330868571},{x:.35938084670619436,y:.05633463764830328},{x:.359814044874128,y:.05731131476590327},{x:.3603874218559792,y:.0582128676935936},{x:.5972854218559792,y:.5265638676935935},{x:.6004763520268956,y:.5347880745861305},{x:.6020015061983327,y:.5434767752438966},{x:.6018022735507984,y:.5522960677732933},{x:.5998863104832066,y:.5609070317083322},{x:.5963272463817603,y:.568978752534074},{x:.591261854083932,y:.5762010385458585},{x:.5848847937750224,y:.5822963413425576},{x:.5774411323064065,y:.5870304218559792},{x:.5692169254138695,y:.5902213520268956},{x:.5605282247561034,y:.5917465061983327},{x:.5517089322267067,y:.5915472735507984},{x:.5430979682916678,y:.5896313104832066},{x:.5350262474659261,y:.5860722463817603},{x:.5278039614541415,y:.5810068540839319},{x:.5217086586574424,y:.5746297937750224},{x:.5169745781440208,y:.5671861323064065},{x:.3203411783046204,y:.17843886787959407},{x:.12481771439881506,y:.5670983271806026},{x:.12009991274687032,y:.5745523168465348},{x:.11401856108654926,y:.5809426827476728},{x:.10680736235169674,y:.5860238467061943},{x:.09874343886560628,y:.5896005424407229},{x:.09013668268554793,y:.5915353195400148},{x:.08131784662479694,y:.5917538256051798},{x:.0726258336075076,y:.5902476635706729},{x:.06439467281939737,y:.5870747143988151},{x:.05694068315346515,y:.5823569127468703},{x:.05055031725232718,y:.5762755610865493},{x:.04546915329380567,y:.5690643623516968},{x:.041892457559277035,y:.5610004388656062},{x:.039957680459985136,y:.5523936826855479},{x:.039739174394820276,y:.5435748466247969},{x:.0412453364293271,y:.5348828336075077},{x:.04441828560118493,y:.5266516728193974},{x:.26905653043412125,y:.0801181620528446},{x:.20712852539925722,y:-.025968816269973185},{x:.1395520619925953,y:-.08338263769409424},{x:.07557825049874085,y:-.11016599999999992},{x:.044922,y:-.11016599999999992},{x:.03614293550927422,y:-.11103066238185455},{x:.02770124554357096,y:-.11359142103699202},{x:.01992133951411791,y:-.11774986744638538},{x:.01310219484660536,y:-.12334619484660528},{x:.007505867446385456,y:-.13016533951411782},{x:.003347421036992093,y:-.13794524554357088},{x:.0007866623818546317,y:-.14638693550927412},{x:-7800000000000168e-20,y:-.15516599999999992}]],z:[[{x:.051680000000000004,y:.038348999999999966},{x:.05192127447228559,y:.035899299172703986},{x:.05194879067317478,y:.033437899088824954},{x:.05235257576103353,y:.03152022369965088},{x:.05254466238185464,y:.029569935509274177},{x:.053259213756049764,y:.02721437531096308},{x:.05376639657582897,y:.024805638484003446},{x:.054536542955643516,y:.023003585252525667},{x:.0551054210369921,y:.02112824554357092},{x:.05626578950451143,y:.018957348831652537},{x:.05723314819184797,y:.01669384166703705},{x:.05834005957014514,y:.015076662488338128},{x:.05926386744638546,y:.01334833951411787},{x:.060825460697764414,y:.011445532631778232},{x:.062215820200804926,y:.009414240440453706},{x:.0636169585940798,y:.00804408260344652},{x:.06486019484660537,y:.0065291948466053296},{x:.06676300172894496,y:.004967601595226417},{x:.06852293131171022,y:.0032465857969436324},{x:.07016445175727676,y:.0021761036989109733},{x:.07167933951411792,y:.0009328674463854256},{x:.07385023622603624,y:-.00022750102113387976},{x:.07591210278164046,y:-.0015721027544036703},{x:.07773092256935071,y:-.0023017710867676167},{x:.07945924554357096,y:-.003225578963007937},{x:.08181480574188199,y:-.003940130337203038},{x:.08409937289490133,y:-.004856645714911602},{x:.08602559580031956,y:-.00521745953679684},{x:.08790093550927423,y:-.0057863376181453985},{x:.09035063633657014,y:-.00602761209043098},{x:.09277010945251417,y:-.006480819940600742},{x:.09472971180962335,y:-.006458913379178931},{x:.09668,y:-.006651000000000032},{x:.505373,y:-.006651000000000032},{x:.5141520644907257,y:-.0057863376181453985},{x:.522593754456429,y:-.003225578963007937},{x:.5303736604858821,y:.0009328674463854256},{x:.5371928051533946,y:.0065291948466053296},{x:.5427891325536145,y:.013348339514117874},{x:.5469475789630078,y:.021128245543570928},{x:.5495083376181453,y:.029569935509274198},{x:.550373,y:.038348999999999966},{x:.5495083376181453,y:.047128064490725735},{x:.5469475789630078,y:.055569754456429005},{x:.5427891325536145,y:.06334966048588206},{x:.5371928051533946,y:.0701688051533946},{x:.5303736604858821,y:.0757651325536145},{x:.522593754456429,y:.07992357896300786},{x:.5141520644907257,y:.08248433761814533},{x:.505373,y:.08334899999999996},{x:.190464663126857,y:.08334899999999996},{x:.5404754142030563,y:.5196949313117102},{x:.5415458963010891,y:.5213364517572769},{x:.5427891325536145,y:.5228513395141179},{x:.5439495010211337,y:.525022236226036},{x:.5452941027544036,y:.5270841027816404},{x:.5460237710867677,y:.5289029225693511},{x:.5469475789630078,y:.530631245543571},{x:.5476621303372028,y:.5329868057418816},{x:.5485786457149116,y:.5352713728949013},{x:.5489394595367969,y:.53719759580032},{x:.5495083376181453,y:.5390729355092743},{x:.5497496120904308,y:.5415226363365697},{x:.5502028199406007,y:.5439421094525142},{x:.5501809133791788,y:.5459017118096235},{x:.550373,y:.547852},{x:.5501317255277144,y:.5503017008272966},{x:.5501042093268251,y:.552763100911175},{x:.5497004242389665,y:.5546807763003486},{x:.5495083376181453,y:.5566310644907257},{x:.5487937862439503,y:.5589866246890365},{x:.548286603424171,y:.5613953615159966},{x:.5475164570443563,y:.5631974147474748},{x:.5469475789630078,y:.565072754456429},{x:.5457872104954887,y:.567243651168347},{x:.544819851808152,y:.569507158332963},{x:.5437129404298549,y:.5711243375116617},{x:.5427891325536145,y:.5728526604858821},{x:.5412275393022352,y:.5747554673682221},{x:.539837179799195,y:.5767867595595463},{x:.5384360414059206,y:.578156917396553},{x:.5371928051533946,y:.5796718051533947},{x:.5352899982710546,y:.5812333984047738},{x:.5335300686882897,y:.5829544142030564},{x:.5318885482427235,y:.5840248963010888},{x:.5303736604858821,y:.5852681325536145},{x:.5282027637739638,y:.5864285010211338},{x:.5261408972183595,y:.5877731027544036},{x:.5243220774306487,y:.5885027710867679},{x:.522593754456429,y:.5894265789630079},{x:.5202381942581186,y:.5901411303372028},{x:.5179536271050986,y:.5910576457149116},{x:.5160274041996802,y:.5914184595367968},{x:.5141520644907257,y:.5919873376181454},{x:.5117023636634302,y:.5922286120904309},{x:.5092828905474858,y:.5926818199406008},{x:.5073232881903766,y:.5926599133791789},{x:.505373,y:.592852},{x:.09668,y:.592852},{x:.08790093550927423,y:.5919873376181454},{x:.07945924554357094,y:.5894265789630079},{x:.07167933951411792,y:.5852681325536145},{x:.06486019484660537,y:.5796718051533947},{x:.05926386744638546,y:.5728526604858821},{x:.0551054210369921,y:.565072754456429},{x:.05254466238185464,y:.5566310644907257},{x:.051680000000000004,y:.547852},{x:.05254466238185464,y:.5390729355092743},{x:.0551054210369921,y:.530631245543571},{x:.05926386744638546,y:.5228513395141179},{x:.06486019484660537,y:.5160321948466053},{x:.07167933951411792,y:.5104358674463855},{x:.07945924554357096,y:.5062774210369921},{x:.08790093550927423,y:.5037166623818546},{x:.09668,y:.502852},{x:.41158833687314295,y:.502852},{x:.06157758579694366,y:.06650606868828973},{x:.06050710369891106,y:.06486454824272328},{x:.05926386744638546,y:.06334966048588206},{x:.05810349897886612,y:.06117876377396365},{x:.05675889724559635,y:.059116897218359485},{x:.05602922891323242,y:.05729807743064926},{x:.0551054210369921,y:.055569754456429005},{x:.054390869662797,y:.05321419425811798},{x:.053474354285088434,y:.050929627105098636},{x:.0531135404632032,y:.04900340419968042},{x:.05254466238185464,y:.047128064490725735},{x:.05230338790956906,y:.04467836366342984},{x:.051850180059399294,y:.04225889054748581},{x:.05187208662082111,y:.04029928819037662},{x:.051680000000000004,y:.038348999999999966}]]},w5=O4;function D0(y){return!y||typeof y!="object"?!1:"route_type"in y&&y.route_type==="wire"&&("start_width"in y||"end_width"in y||"width_interpolation_mode"in y)}function C4(y){let x=[];for(let e=0;e<y.length-1;e++){let r=y[e];if(!D0(r))continue;let o=y[e+1];if(!o)continue;let a=o.route_type==="through_pad"?o.start:{x:o.x,y:o.y},c=o.route_type==="via"?o.from_layer:o.route_type==="through_pad"?o.start_layer:o.layer;if(!a||c!==r.layer||r.width!==r.start_width)continue;let p={start:{x:r.x,y:r.y},end:a,start_width:r.start_width,end_width:r.end_width,width_interpolation_mode:r.width_interpolation_mode,layer:r.layer,is_inside_copper_pour:!!(r.is_inside_copper_pour&&o.is_inside_copper_pour)};A5(p)&&x.push(p)}return x}function G4(y){let{start:x,end:e,start_width:r,end_width:o}=y,a=e.x-x.x,c=e.y-x.y,p=Math.hypot(a,c);if(!A5(y))return[];let L=Math.abs(o-r),b=y.width_interpolation_mode==="linear"?1:Math.max(1,Math.ceil(Math.sqrt(L/(.001+L*1e-6)*(3/8)))),T=-c/p,I=a/p,C=[],M=[];for(let w=0;w<=b;w++){let _=w/b,k=r<=o?_:1-_,R=(y.width_interpolation_mode==="quadratic"?Math.min(r,o)+L*k*k:r+(o-r)*_)/2,P=x.x+a*_,E=x.y+c*_;C.push({x:P+T*R,y:E+I*R}),M.push({x:P-T*R,y:E-I*R})}return[...C,...M.reverse()]}function A5(y){let{start:x,end:e,start_width:r,end_width:o}=y,a=Math.hypot(e.x-x.x,e.y-x.y);return!(![x.x,x.y,e.x,e.y,a,r,o].every(Number.isFinite)||a<=0||r<=0||o<=0||y.width_interpolation_mode!=="linear"&&y.width_interpolation_mode!=="quadratic")}var B4=.0025,b5=12,U4=96;function F4(y){if(!(y>0))return b5;let x=Math.acos(Math.max(-1,1-B4/y)),e=Math.ceil(Math.PI/x);return Math.max(b5,Math.min(U4,e))}var Z0=class{constructor(y=[1,1,1,1],x=0,e=0){U(this,"color");U(this,"element");U(this,"category");U(this,"vertices",[]);U(this,"indices",[]);this.color=y,this.element=x,this.category=e}polygon(y){if(!y[0]||y[0].length<3)return;let x=[],e=[];for(let[a,c]of y.entries()){a&&e.push(x.length/2);for(let p of c){if(!Number.isFinite(p.x)||!Number.isFinite(p.y))throw new Error("Non-finite polygon vertex");x.push(p.x,p.y)}}let r=Y0(x,e,2),o=this.vertices.length/8;for(let a=0;a<x.length;a+=2)this.vertices.push(x[a],x[a+1],...this.color,this.element,this.category);for(let a of r)this.indices.push(o+a)}line(y,x,e){if(!(e>0))return;let r=M5(y,x,e);this.polygon([r])}path(y,x,e=!1){for(let r=1;r<y.length;r++)this.line(y[r-1],y[r],x);e&&y.length>2&&this.line(y.at(-1),y[0],x)}fabricationPath(y,x,e){if(y.length<2)return;let r=[];if(e&&y.length>=3&&r.push([y.map(a=>[a.x,a.y])]),x>0){let a=e?[...y,y[0]]:y;for(let c=1;c<a.length;c++)r.push([M5(a[c-1],a[c],x).map(p=>[p.x,p.y])])}if(!r.length)return;let o=r.map(a=>a.map(c=>c.map(([p,L])=>[Math.round(p*1e9)/1e9,Math.round(L*1e9)/1e9])));for(let a of k5.default.union(o[0],...o.slice(1)))this.polygon(a.map(c=>c.map(([p,L])=>({x:p,y:L}))))}build(){return{vertices:new Float32Array(this.vertices),indices:new Uint32Array(this.indices)}}};function M5(y,x,e){let r=Math.atan2(x.y-y.y,x.x-y.x),o=e/2,a=[];for(let c=0;c<=12;c++){let p=r+Math.PI/2+c*Math.PI/12;a.push({x:y.x+o*Math.cos(p),y:y.y+o*Math.sin(p)})}for(let c=0;c<=12;c++){let p=r-Math.PI/2+c*Math.PI/12;a.push({x:x.x+o*Math.cos(p),y:x.y+o*Math.sin(p)})}return a}function G0(y,x,e=0){let r=e*Math.PI/180,o=y.x-x.x,a=y.y-x.y;return{x:x.x+o*Math.cos(r)-a*Math.sin(r),y:x.y+o*Math.sin(r)+a*Math.cos(r)}}function j0(y,x,e=x,r=0){return x>0&&e>0?Array.from({length:96},(o,a)=>{let c=a*2*Math.PI/96;return G0({x:y.x+Math.cos(c)*x/2,y:y.y+Math.sin(c)*e/2},y,r)}):[]}function W4({center:y,diameterMm:x}){if(!(x>0))return[];let e=x/2,r=F4(e);return Array.from({length:r},(o,a)=>{let c=a*2*Math.PI/r;return{x:y.x+Math.cos(c)*e,y:y.y+Math.sin(c)*e}})}function H0(y,x,e,r=0,o=0){if(!(x>0&&e>0))return[];r=Math.max(0,Math.min(r,x/2,e/2));let a=[];for(let c=0;c<4;c++){let p=c===0||c===3?1:-1,L=c<2?1:-1,b=r?24:1;for(let T=0;T<b;T++){let I=(c+T/(b-1||1))*Math.PI/2;a.push(G0({x:y.x+p*(x/2-r)+r*Math.cos(I),y:y.y+L*(e/2-r)+r*Math.sin(I)},y,o))}}return a}function z4(y){let x=[];for(let e=0;e<y.length;e++){let r=y[e],o=y[(e+1)%y.length];x.push({x:r.x,y:r.y});let a=r.bulge??0,c=o.x-r.x,p=o.y-r.y;if(!a||!c&&!p)continue;let L=4*Math.atan(a),b={x:(r.x+o.x)/2-p*(1-a*a)/(4*a),y:(r.y+o.y)/2+c*(1-a*a)/(4*a)},T=Math.atan2(r.y-b.y,r.x-b.x),I=Math.hypot(r.x-b.x,r.y-b.y),C=Math.max(2,Math.ceil(Math.abs(L)/(Math.PI/48)));for(let M=1;M<C;M++)x.push({x:b.x+I*Math.cos(T+L*M/C),y:b.y+I*Math.sin(T+L*M/C)})}return x}function E5(y,x,e){let r=[];for(let o=0;o<y.length;o++){let a=y[o],c=y[(o+1)%y.length],p=a.x+a.y-x,L=c.x+c.y-x,b=e?p>=0:p<=0,T=e?L>=0:L<=0;if(b&&r.push(a),b!==T){let I=p/(p-L);r.push({x:a.x+I*(c.x-a.x),y:a.y+I*(c.y-a.y)})}}return r}function $4(y,x){let e=y.color,r=[e[0]+(1-e[0])*.4,e[1]+(1-e[1])*.4,e[2]+(1-e[2])*.4,e[3]];y.color=[r[0],r[1],r[2],r[3]*.2],y.polygon(x),y.color=r;let o=new Z0;o.polygon(x);let a=.15*Math.SQRT2/2;for(let c=0;c<o.indices.length;c+=3){let p=o.indices.slice(c,c+3).map(I=>({x:o.vertices[I*8],y:o.vertices[I*8+1]})),L=p.map(I=>I.x+I.y),b=Math.ceil(Math.min(...L)-a),T=Math.floor(Math.max(...L)+a);for(let I=b;I<=T;I++)y.polygon([E5(E5(p,I-a,!0),I+a,!1)])}y.color=e}var $=(y,x,e)=>[y/255,x/255,e/255,1],Y4={board:$(70,72,72),top:$(200,52,52),bottom:$(77,127,196),inner1:$(127,200,127),inner2:$(206,125,44),inner3:$(79,203,203),inner4:$(219,98,139),inner5:$(167,165,198),inner6:$(40,204,217),inner7:$(232,178,167),inner8:$(242,237,161),drill:$(255,38,226),top_silkscreen:$(242,237,161),bottom_silkscreen:$(242,237,161),soldermask_top:$(12,55,33),soldermask_bottom:$(12,55,33),top_fabrication:[1,1,1,.5],bottom_fabrication:[1,1,1,.5],top_notes:$(89,148,220),bottom_notes:$(89,148,220),top_courtyard:$(255,0,245),bottom_courtyard:$(38,233,255),edge_cuts:$(208,210,205)},q0=y=>y.replace(/_copper$/,"");function C0(y){let x=y.match(/^#([0-9a-f]{3,8})$/i)?.[1];if(x){let r=x.length<=4?[...x].map(o=>o+o).join(""):x;if(r.length!==6&&r.length!==8)throw new Error(`Unsupported color: ${y}`);return[parseInt(r.slice(0,2),16)/255,parseInt(r.slice(2,4),16)/255,parseInt(r.slice(4,6),16)/255,r.length===8?parseInt(r.slice(6),16)/255:1]}let e=y.match(/^rgba?\\(([^)]+)\\)$/);if(e){let r=e[1].split(",").map(o=>Number(o.trim()));if((r.length===3||r.length===4)&&r.every(Number.isFinite))return[r[0]/255,r[1]/255,r[2]/255,r[3]??1]}throw new Error(`Unsupported color: ${y}`)}function V4(y,x){let e=!1;for(let r=0,o=y.length-1;r<y.length;o=r++){let a=y[r],c=y[o];a.y>x.y!=c.y>x.y&&x.x<(c.x-a.x)*(x.y-a.y)/(c.y-a.y)+a.x&&(e=!e)}return e}function S5(y,x){let e=x.filter(r=>r.length>=3).map(r=>({ring:r,parents:[]}));for(let[r,o]of e.entries())o.parents=e.flatMap((a,c)=>r!==c&&V4(a.ring,o.ring[0])?[c]:[]);for(let[r,o]of e.entries())if(o.parents.length%2===0){let a=e.filter(c=>c.parents.length===o.parents.length+1&&c.parents.includes(r));y.polygon([o.ring,...a.map(c=>c.ring)])}}var X4=y=>_5[y]??(y===" "?a0.spaceWidthRatio:a0.glyphWidthRatio);function T5(y,x,e){let r=X4(y),o=x?a0.letterSpacingRatio:0,a=x?v5[y]?.[x]??0:0;return e*(r+o+a)}function D4(y,x){let e=x*a0.glyphWidthRatio,r=x*a0.letterSpacingRatio,o=x*a0.spaceWidthRatio,a=x*a0.strokeWidthRatio,c=x*a0.lineHeightRatio,p=y.replace(/\\\\n/g,`\n`).split(`\n`),L=p.map(I=>{let C=Array.from(I);return C.reduce((M,w,_)=>M+T5(w,C[_+1],x),0)}),b=L.reduce((I,C)=>Math.max(I,C),0),T=p.length>1?x+(p.length-1)*c:x;return{width:b,height:T,glyphWidth:e,letterSpacing:r,spaceWidth:o,strokeWidth:a,lineHeight:c,lines:p,lineWidths:L}}function Z4(y){let{line:x,fontSize:e,startX:r,startY:o}=y,a=e,c=e,p=Array.from(x),L=[],b=r+y.layout.strokeWidth/2;return p.forEach((T,I)=>{let C=w5[T];if(C?.length){let M=[];for(let w of C){let _=w.map(k=>({x:b+k.x*c,y:o+(1-k.y)*a}));_.length>=3&&M.push(_)}M.length>0&&L.push(M)}b+=T5(T,p[I+1],e)}),L}function j4(y){let x=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let a of y)for(let c of a)x=Math.min(x,c.x),e=Math.min(e,c.y),r=Math.max(r,c.x),o=Math.max(o,c.y);return x===Number.POSITIVE_INFINITY||e===Number.POSITIVE_INFINITY||r===Number.NEGATIVE_INFINITY||o===Number.NEGATIVE_INFINITY?null:{minX:x,minY:e,maxX:r,maxY:o}}function H4(y,x,e){let r=Q4(y,x),o=J4(r,x,e),a=j4(o.flat()),c=K4(y,x,a);return{bounds:a?e3(a,c):null,glyphGroups:t3(o,c),linePlacements:r.map(({line:p,startX:L,startY:b})=>({line:p,startX:L+c.x,startY:b+c.y})),startOffset:c}}function q4(y,x){let e=x.width+x.strokeWidth,r=x.height+x.strokeWidth,o=0,a=0;return y==="center"||y==="top_center"||y==="bottom_center"?o=-e/2:y==="top_left"||y==="bottom_left"||y==="center_left"?o=0:y==="top_right"||y==="bottom_right"||y==="center_right"?o=-e:(y==="top_center"||y==="bottom_center")&&(o=-e/2),y==="center"||y==="center_left"||y==="center_right"?a=-r/2:y==="top_left"||y==="top_right"||y==="top_center"?a=0:(y==="bottom_left"||y==="bottom_right"||y==="bottom_center")&&(a=-r),{x:o,y:a}}function Q4(y,x){return x.lines.map((e,r)=>({line:e,startX:n3({alignment:y,lineWidth:x.lineWidths[r],maxWidth:x.width,strokeWidth:x.strokeWidth}),startY:r*x.lineHeight}))}function J4(y,x,e){return y.flatMap(({line:r,startX:o,startY:a})=>Z4({line:r,fontSize:e,startX:o,startY:a,layout:x}))}function K4(y,x,e){return e?{x:-y3(y,e),y:-x3(y,e)}:q4(y,x)}function y3(y,x){return y==="top_left"||y==="bottom_left"||y==="center_left"?x.minX:y==="top_right"||y==="bottom_right"||y==="center_right"?x.maxX:(x.minX+x.maxX)/2}function x3(y,x){return y==="top_left"||y==="top_right"||y==="top_center"?x.minY:y==="bottom_left"||y==="bottom_right"||y==="bottom_center"?x.maxY:(x.minY+x.maxY)/2}function t3(y,x){return x.x===0&&x.y===0?y:y.map(e=>e.map(r=>r.map(o=>({x:o.x+x.x,y:o.y+x.y}))))}function e3(y,x){return{minX:y.minX+x.x,minY:y.minY+x.y,maxX:y.maxX+x.x,maxY:y.maxY+x.y}}function n3(y){let{alignment:x,lineWidth:e,maxWidth:r,strokeWidth:o}=y,a=e+o,c=r+o;return x==="top_left"||x==="bottom_left"||x==="center_left"?0:x==="top_right"||x==="bottom_right"||x==="center_right"?c-a:(c-a)/2}function Q0(y,x,e="up"){let r=String(x.text??"");if(!r)return;let o=x.anchor_position??x.center??{x:x.x??0,y:x.y??0},a=x.font_size??1,c=D4(r,a),p=H4(x.anchor_alignment??"center",c,a),L=x.type==="pcb_note_text",b=x.type==="pcb_fabrication_note_text",T=b?!1:L?x.is_mirrored_from_top_view??x.layer==="bottom":x.type==="pcb_silkscreen_text"?x.layer==="bottom":x.is_mirrored??x.layer==="bottom",I=L||b?0:x.ccw_rotation??0,C=e==="up"?-1:1,M=w=>G0({x:o.x+(T?-w.x:w.x),y:o.y+C*w.y},o,-C*I);if(x.is_knockout&&!L&&!b){let w=p.bounds;if(!w)return;let _={left:.2,right:.2,top:.2,bottom:.2,...x.knockout_padding},k=[{x:w.minX-_.left,y:w.minY-_.top},{x:w.maxX+_.right,y:w.minY-_.top},{x:w.maxX+_.right,y:w.maxY+_.bottom},{x:w.minX-_.left,y:w.maxY+_.bottom}];S5(y,[k.map(M),...p.glyphGroups.flatMap(N=>N.map(R=>R.map(M)))]);return}for(let w of p.glyphGroups)S5(y,w.map(_=>_.map(M)))}function r3(y,x){return{x:(y.x+x.x)/2,y:(y.y+x.y)/2}}function d0(y,x){return Array.isArray(x)?[y.a*x[0]+y.c*x[1]+y.e,y.b*x[0]+y.d*x[1]+y.f]:{x:y.a*x.x+y.c*x.y+y.e,y:y.b*x.x+y.d*x.y+y.f}}function R0(y){return typeof y>"u"}function I0(y,x=0){return{a:1,c:0,e:y,b:0,d:1,f:x}}function J0(...y){y=Array.isArray(y[0])?y[0]:y;let x=(e,r)=>({a:e.a*r.a+e.c*r.b,c:e.a*r.c+e.c*r.d,e:e.a*r.e+e.c*r.f+e.e,b:e.b*r.a+e.d*r.b,d:e.b*r.c+e.d*r.d,f:e.b*r.e+e.d*r.f+e.f});switch(y.length){case 0:throw new Error("no matrices provided");case 1:return y[0];case 2:return x(y[0],y[1]);default:{let[e,r,...o]=y,a=x(e,r);return J0(a,...o)}}}var{cos:i3,sin:o3,PI:s3}=Math;function l3(y,x,e){let r=i3(y),o=o3(y),a={a:r,c:-o,e:0,b:o,d:r,f:0};return R0(x)||R0(e)?a:J0([I0(x,e),a,I0(-x,-e)])}function N5(y,x=void 0,e=void 0){return l3(y*s3/180,x,e)}function O5(y,x=void 0,e=void 0,r=void 0){R0(x)&&(x=y);let o={a:y,c:0,e:0,b:0,d:x,f:0};return R0(e)||R0(r)?o:J0([I0(e,r),o,I0(-e,-r)])}var{tan:O3}=Math,a3=1.5,c3=.6,u3=.3;function f3({pcbDimension:y}){let x=P5({x:y.to.x-y.from.x,y:y.to.y-y.from.y}),e=d0(N5(90),x),r=P5(y.offset_direction??{x:0,y:0}),o=y.offset_distance??0,a=f0(r,o),c=e0(y.from,a),p=e0(y.to,a),L=y.arrow_size??1,b=e0(c,f0(x,L)),T=e0(p,f0(x,-L)),I=f0(e,L/2),C=f0(e,-L/2),M=g3(r)?r:e,w=f0(M,o+L),_=e0(r3(y.from,y.to),a),k=y.font_size??1,N=L*a3+p3({fontSize:k,text:y.text??"",textCcwRotationDegrees:y.text_ccw_rotation});return{arrowPolygons:[[c,e0(b,I),e0(b,C)],[p,e0(T,I),e0(T,C)]],dimensionLine:{start:b,end:T,width:L/5},extensionLines:[{start:y.from,end:e0(y.from,w)},{start:y.to,end:e0(y.to,w)}],label:y.text?{anchorPosition:e0(_,f0(e,N)),ccwRotationDegrees:h3({dimensionDirection:x,requestedCcwRotationDegrees:y.text_ccw_rotation}),fontSize:k,text:y.text}:void 0}}function h3({dimensionDirection:y,requestedCcwRotationDegrees:x}){let e=Math.atan2(y.y,y.x)*180/Math.PI;return(e>90||e<-90)&&(e+=180),e+(x??0)}function p3({fontSize:y,text:x,textCcwRotationDegrees:e}){if(e===void 0||!Number.isFinite(e))return 0;let r=x.length*y*c3/2,o=y/2,a=N5(e),c=d0(a,{x:r,y:0}),p=d0(a,{x:0,y:o});return Math.abs(c.y)+Math.abs(p.y)+y*u3}function P5(y){let x=Math.hypot(y.x,y.y)||1;return d0(O5(1/x),y)}function f0(y,x){return d0(O5(x),y)}function e0(y,x){return d0(I0(x.x,x.y),y)}function g3(y){return Math.abs(y.x)>Number.EPSILON||Math.abs(y.y)>Number.EPSILON}function L3({mesh:y,pcbDimension:x,textYAxis:e}){x.color&&(y.color=C0(x.color));let{arrowPolygons:r,dimensionLine:o,extensionLines:a,label:c}=f3({pcbDimension:x});for(let p of r)y.polygon([p]);y.line(o.start,o.end,o.width);for(let p of a)y.line(p.start,p.end,o.width);c&&Q0(y,{anchor_alignment:"center",anchor_position:c.anchorPosition,ccw_rotation:c.ccwRotationDegrees,font_size:c.fontSize,text:c.text,type:"pcb_dimension_text"},e)}function d3(y,x=0){return y[`${y.type}_id`]??`${y.type}:${x}`}function L0(y){return y.center??y.anchor_position??{x:y.x??0,y:y.y??0}}function K(y,x=!1){if(y.brep_shape)return[y.brep_shape.outer_ring,...y.brep_shape.inner_rings??[]].map(L=>z4(L.vertices));if(y.outline?.length)return[y.outline];if(y.shape==="hole_with_polygon_pad"&&!x){let L=L0(y);return[y.pad_outline.map(b=>({x:L.x+b.x,y:L.y+b.y}))]}if(y.shape==="rotated_pill_hole_with_rect_pad"){let L=L0(y),b=x?{x:L.x+(y.hole_offset_x??0),y:L.y+(y.hole_offset_y??0)}:L,T=x?y.hole_width:y.rect_pad_width,I=x?y.hole_height:y.rect_pad_height;return[H0(b,T,I,x?Math.min(T,I)/2:y.rect_border_radius??0,(x?y.hole_ccw_rotation:y.rect_ccw_rotation)??0)]}let e=x?y.hole_shape??y.shape:y.shape;if(e==="polygon")return[y.points??y.vertices??[]];let r=L0(y),o=y.rect_ccw_rotation??y.ccw_rotation??y.rotation??0,a=x?G0({x:r.x+(y.hole_offset_x??0),y:r.y+(y.hole_offset_y??0)},r,y.shape==="hole_with_polygon_pad"?0:o):r;if(e==="circle"||e==="circular_hole_with_rect_pad"&&x||y.type==="pcb_via"){let b=(x?y.hole_diameter:y.outer_diameter??(y.radius!=null?y.radius*2:y.diameter))||y.diameter||y.hole_diameter||y.radius*2;return[j0(a,b)]}let c=x?y.hole_width??y.hole_diameter:y.rect_pad_width??y.outer_width??y.width??y.hole_diameter,p=x?y.hole_height??y.hole_diameter:y.rect_pad_height??y.outer_height??y.height??y.hole_diameter;if(e==="oval")return[j0(a,c,p,o)];if(["rect","square","rotated_rect","roundrect","rounded_rect","pill","rotated_pill","circular_hole_with_rect_pad","pill_hole_with_rect_pad",void 0].includes(e)){let b=e?.includes("pill")&&!(e==="pill_hole_with_rect_pad"&&!x)?Math.min(c,p)/2:y.corner_radius??y.rect_border_radius??0;return[H0(a,c,p,b,o)]}throw new Error(`Unsupported shape: ${e}`)}function m3(y,x={}){let e=new Map,r=[],o=y.map(d3),a=x.renderViasInHighDetail===!1,c=y.find(M=>M.type==="pcb_board"),p=["top",...Array.from({length:Math.max(0,Math.min(8,(c?.num_layers??2)-2))},(M,w)=>`inner${w+1}`),"bottom"],L=(M,w,_=!1,k=0)=>{M=q0(M),e.has(M)||e.set(M,{paint:new Z0,erase:new Z0});let N=e.get(M)[_?"erase":"paint"];return N.color=x.layerColors?.[M]??Y4[M]??[.75,.75,.75,1],N.element=w,N.category=k,N},b=[],T=[],I=[];for(let[M,w]of y.entries()){let _=w,k=_.type;try{if(k==="pcb_board"||k==="pcb_panel"){let N=K(_);L("board",M).polygon(N);for(let R of N)L("edge_cuts",M).path(R,.1,!0);for(let R of["top","bottom"])L(`soldermask_${R}`,M).polygon(N)}else if(k==="pcb_cutout")I.push({rings:K(_),index:M}),L("edge_cuts",M).path(K(_)[0],.05,!0);else if(w.type==="pcb_soldermask_opening")L(`soldermask_${w.layer}`,M,!0).polygon(K(w));else if(k==="pcb_smtpad")L(_.layer,M).polygon(K(_)),_.is_covered_with_solder_mask||L(`soldermask_${_.layer}`,M,!0).polygon(K(_));else if(k==="pcb_via"||k==="pcb_plated_hole"){let N=_.layers??p;if(k==="pcb_via"&&!_.layers&&_.from_layer&&_.to_layer){let E=p.indexOf(_.from_layer),X=p.indexOf(_.to_layer);N=p.slice(Math.min(E,X),Math.max(E,X)+1)}let R=k==="pcb_via"&&a?R5({element:_}):K(_);for(let E of N)L(E,M).polygon(R);let P=k==="pcb_via"&&a?R5({element:_,hole:!0}):K(_,!0);b.push({rings:P,index:M,layers:N});for(let E of["top","bottom"])N.includes(E)&&!_.is_covered_with_solder_mask&&L(`soldermask_${E}`,M,!0).polygon(K(_))}else if(k==="pcb_hole")b.push({rings:K({..._,shape:_.hole_shape},!0),index:M,layers:p});else if(w.type==="pcb_trace"){let N=w.route;if(w.route_thickness_mode==="interpolated"&&N.some((R,P)=>R.route_type==="wire"&&!D0(R)&&N[P+1]?.route_type==="wire"))throw new Error("Interpolated/through-pad traces are not supported yet");for(let R of C4(N)){let P=G4(R);if(!P.length)throw new Error("Invalid teardrop geometry or interpolation mode");L(R.layer,M).polygon([P])}for(let R of N)if(R.route_type==="through_pad")for(let P of new Set([R.start_layer,R.end_layer]))L(P,M).line(R.start,R.end,R.width);for(let R=1;R<N.length;R++){let P=N[R-1],E=N[R];D0(P)||(P.route_type==="through_pad"&&(P={route_type:"wire",...P.end,layer:P.end_layer,width:P.width}),E.route_type==="through_pad"&&(E={route_type:"wire",...E.start,layer:E.start_layer,width:E.width}),P.route_type==="wire"&&E.route_type==="wire"&&P.layer===E.layer||P.route_type==="wire"&&E.route_type==="via"&&[E.from_layer,E.to_layer].includes(P.layer)?L(P.layer,M).line(P,E,P.width):P.route_type==="via"&&E.route_type==="wire"&&[P.from_layer,P.to_layer].includes(E.layer)&&L(E.layer,M).line(P,E,E.width))}}else if(k==="pcb_copper_pour")L(_.layer,M,!1,1).polygon(K(_));else if(k==="pcb_copper_text")Q0(L(_.layer,M),_,x.textYAxis);else if(/^pcb_(silkscreen|fabrication_note|courtyard|note|user_note)_/.test(k)){let N=k.match(/^pcb_(silkscreen|fabrication_note|courtyard|note|user_note)_/)[1],R={silkscreen:"silkscreen",fabrication_note:"fabrication",courtyard:"courtyard",note:"notes",user_note:"notes"}[N],P=`${_.layer??"top"}_${R}`,E=L(P,M);if(w.type==="pcb_note_dimension"||w.type==="pcb_fabrication_note_dimension")L3({mesh:E,pcbDimension:w,textYAxis:x.textYAxis});else if(k.endsWith("_text"))_.color&&(N==="note"||N==="fabrication_note")&&(E.color=C0(_.color)),Q0(E,_,x.textYAxis);else if(w.type==="pcb_note_line"||w.type==="pcb_silkscreen_line")w.type==="pcb_note_line"&&w.color&&(E.color=C0(w.color)),E.line({x:w.x1,y:w.y1},{x:w.x2,y:w.y2},w.stroke_width??.1);else if(k.endsWith("_path")||k.endsWith("_line")||k.endsWith("_outline")){let X=_.route??_.points??_.outline??[_.start,_.end].filter(Boolean),q=k==="pcb_fabrication_note_path";q&&_.color&&(E.color=C0(_.color)),q?E.fabricationPath(X,_.has_stroke===!1?0:_.stroke_width??.05,!!_.is_filled):E.path(X,_.stroke_width??_.width??.05,k.endsWith("_outline"))}else if(k==="pcb_silkscreen_graphic"&&_.shape==="brep")E.polygon(K(_));else if(k.endsWith("_rect")){let X=H0(L0(_),_.width,_.height,_.corner_radius??0,_.ccw_rotation??0);_.is_filled?E.polygon([X]):E.path(X,_.stroke_width??.05,!0)}else if(k.endsWith("_circle")){let X=j0(L0(_),(_.radius??0)*2);_.is_filled?E.polygon([X]):E.path(X,_.stroke_width??.05,!0)}else throw new Error("Unsupported annotation geometry")}else if(k==="pcb_keepout")T.push({rings:K(_),index:M,layers:_.layers??[_.layer??"top"]});else if(k.startsWith("pcb_")&&!["pcb_component","pcb_port","pcb_group","pcb_solder_paste","pcb_debug_object","pcb_trace_hint","pcb_anchor","pcb_breakout_point","pcb_bend","pcb_stiffener"].includes(k)&&!/_(error|warning)$/.test(k))throw new Error("Unsupported PCB element")}catch(N){r.push({elementId:o[M],type:k,message:String(N)})}}for(let{rings:M,index:w,layers:_}of T)try{for(let k of _)$4(L(k,w),M)}catch(k){r.push({elementId:o[w],type:"pcb_keepout",message:String(k)})}for(let{rings:M,index:w,layers:_}of b){for(let N of _)L(N,w,!0).polygon(M);_.includes("top")&&_.includes("bottom")&&(L("board",w,!0).polygon(M),L("drill",w).polygon(M));for(let N of["top","bottom"])_.includes(N)&&L(`soldermask_${N}`,w,!0).polygon(M)}for(let{rings:M,index:w}of I){L("drill",w).polygon(M);for(let _ of e.keys())_!=="edge_cuts"&&_!=="drill"&&L(_,w,!0).polygon(M)}let C=[...e].map(([M,w])=>({name:M,paint:w.paint.build(),erase:w.erase.build()}));return{layers:C,elementIds:o,diagnostics:r,triangleCount:C.reduce((M,w)=>M+(w.paint.indices.length+w.erase.indices.length)/3,0)}}function R5({element:y,hole:x=!1}){let e=x?y.hole_diameter:y.outer_diameter;return[W4({center:L0(y),diameterMm:e})]}var _3=`\nstruct Camera { rowX: vec4f, rowY: vec4f, viewport: vec4f }\n@group(0) @binding(0) var<uniform> camera: Camera;\n@group(0) @binding(1) var<storage, read> highlights: array<u32>;\nstruct VertexOut {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n @location(1) @interpolate(flat) category: u32,\n @location(2) @interpolate(flat) selected: u32,\n}\n@vertex fn vertexMain(@location(0) p: vec2f, @location(1) color: vec4f,\n @location(2) element: f32, @location(3) category: f32) -> VertexOut {\n let pixel = vec2f(dot(camera.rowX.xyz, vec3f(p, 1)), dot(camera.rowY.xyz, vec3f(p, 1)));\n var out: VertexOut;\n out.position = vec4f(pixel.x / camera.viewport.x * 2 - 1, 1 - pixel.y / camera.viewport.y * 2, 0, 1);\n let highlight = select(0.0, 1.0, (highlights[u32(element)] & 1u) != 0u);\n out.color = vec4f(mix(color.rgb, min(vec3f(1), color.rgb * 1.5), highlight), color.a);\n out.category = u32(category);\n out.selected = highlights[u32(element)] & 2u;\n return out;\n}\n@fragment fn fragmentMain(in: VertexOut) -> @location(0) vec4f {\n if (in.category == 1u && camera.viewport.z == 0) { discard; }\n if (camera.viewport.w == 1) {\n if (in.selected == 0u) { discard; }\n return vec4f(in.color.rgb, 1);\n }\n let alpha = in.color.a * select(1.0, camera.viewport.z, in.category == 1u);\n return vec4f(in.color.rgb * alpha, alpha);\n}\n`,v3=`\n@group(0) @binding(0) var image: texture_2d<f32>;\n@group(0) @binding(1) var imageSampler: sampler;\n@group(0) @binding(2) var<uniform> fade: vec4f;\nstruct Out { @builtin(position) position: vec4f, @location(0) uv: vec2f }\n@vertex fn vertexMain(@builtin(vertex_index) index: u32) -> Out {\n let points = array<vec2f, 6>(vec2f(0,0),vec2f(1,0),vec2f(0,1),vec2f(0,1),vec2f(1,0),vec2f(1,1));\n var out: Out;\n out.uv = points[index];\n out.position = vec4f(out.uv.x * 2 - 1, 1 - out.uv.y * 2, 0, 1);\n return out;\n}\n@fragment fn fragmentMain(in: Out) -> @location(0) vec4f {\n return textureSample(image, imageSampler, in.uv) * fade.x;\n}\n`,w3=.5,I5={color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}},h0,B0=(h0=class{constructor(x,e,r,o,a){U(this,"canvas");U(this,"device");U(this,"context");U(this,"config");U(this,"realToCanvasMat",{a:1,b:0,c:0,d:-1,e:0,f:0});U(this,"stats",{geometryUploads:0,frames:0,triangleCount:0,compileMs:0,vertexBytes:0});U(this,"circuit");U(this,"scene");U(this,"layers",[]);U(this,"xRayLayers",[]);U(this,"xRayUniform");U(this,"xRayCameraGroup");U(this,"uniform");U(this,"highlights");U(this,"cameraGroup");U(this,"highlightKey","");U(this,"highlightIndices",new Map);U(this,"sample");U(this,"size","");U(this,"disposed",!1);U(this,"adapterInfo");U(this,"lost",!1);U(this,"paintPipeline");U(this,"erasePipeline");U(this,"compositePipeline");U(this,"sampler");U(this,"options",{});this.canvas=x,this.device=e,this.context=r,this.config=a,this.uniform=e.createBuffer({size:48,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.xRayUniform=e.createBuffer({size:48,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.highlights=e.createBuffer({size:4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});let c=e.createShaderModule({code:_3}),p=e.createPipelineLayout({bindGroupLayouts:[e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:1,visibility:GPUShaderStage.VERTEX,buffer:{type:"read-only-storage"}}]})]}),L=T=>({layout:p,vertex:{module:c,entryPoint:"vertexMain",buffers:[{arrayStride:32,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x4"},{shaderLocation:2,offset:24,format:"float32"},{shaderLocation:3,offset:28,format:"float32"}]}]},fragment:{module:c,entryPoint:"fragmentMain",targets:[{format:"rgba8unorm",blend:T}]},primitive:{topology:"triangle-list"},multisample:{count:a.sampleCount??4}});this.paintPipeline=e.createRenderPipeline(L(I5)),this.erasePipeline=e.createRenderPipeline(L({color:{srcFactor:"zero",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"zero",dstFactor:"one-minus-src-alpha"}}));let b=e.createShaderModule({code:v3});this.compositePipeline=e.createRenderPipeline({layout:"auto",vertex:{module:b,entryPoint:"vertexMain"},fragment:{module:b,entryPoint:"fragmentMain",targets:[{format:o,blend:I5}]},primitive:{topology:"triangle-list"}}),this.sampler=e.createSampler({minFilter:"linear",magFilter:"linear"}),e.lost.then(T=>{this.lost=!0,this.disposed||a.onDeviceLost?.(T.message||T.reason)})}static async create(x,e={}){if(!globalThis.navigator?.gpu)throw new Error("WebGPU is unavailable");let r=await navigator.gpu.requestAdapter({powerPreference:"high-performance"});if(!r)throw new Error("No WebGPU adapter available");let o=await r.requestDevice(),a=x.getContext("webgpu");if(!a)throw o.destroy(),new Error("WebGPU canvas context is unavailable");let c=navigator.gpu.getPreferredCanvasFormat();a.configure({device:o,format:c,alphaMode:"premultiplied"}),o.pushErrorScope("validation");try{let p=new h0(x,o,a,c,e),L=await o.popErrorScope();if(L)throw p.dispose(),new Error(L.message);return o.addEventListener("uncapturederror",b=>e.onDeviceLost?.(b.error.message)),p.adapterInfo=r.info,p}catch(p){throw a.unconfigure(),o.destroy(),p}}get diagnostics(){return this.scene?.diagnostics??[]}setCircuitJson(x){if(this.assertLive(),this.circuit===x)return;let e=performance.now(),r=m3(x,this.config);this.releaseLayers(),this.highlights.destroy(),this.highlights=this.device.createBuffer({size:Math.max(4,r.elementIds.length*4),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.highlightIndices=new Map(r.elementIds.map((a,c)=>[a,c])),this.highlightKey="!",this.cameraGroup=this.device.createBindGroup({layout:this.paintPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.uniform}},{binding:1,resource:{buffer:this.highlights}}]}),this.xRayCameraGroup=this.device.createBindGroup({layout:this.paintPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.xRayUniform}},{binding:1,resource:{buffer:this.highlights}}]}),this.stats.vertexBytes=0;let o=a=>{let c=(p,L)=>{let b=this.device.createBuffer({size:Math.max(4,p.byteLength),usage:L|GPUBufferUsage.COPY_DST});return p.byteLength&&this.device.queue.writeBuffer(b,0,p.buffer,p.byteOffset,p.byteLength),this.stats.vertexBytes+=p.byteLength,b};return{vertices:c(a.vertices,GPUBufferUsage.VERTEX),indices:c(a.indices,GPUBufferUsage.INDEX),count:a.indices.length}};this.layers=r.layers.map(a=>({name:a.name,paint:o(a.paint),erase:o(a.erase),opacity:this.device.createBuffer({size:16,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})})),this.xRayLayers=this.layers.filter(a=>this.isCopper(a.name)||a.name==="drill").map(a=>({...a,opacity:this.device.createBuffer({size:16,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})})),this.scene=r,this.circuit=x,this.size="",this.stats.geometryUploads++,this.stats.triangleCount=r.triangleCount,this.stats.compileMs=performance.now()-e}drawElements(x,e={}){this.setCircuitJson(x),this.options={},this.render(e)}render(x={}){this.assertLive(),this.options={...this.options,...x};let e=this.options;e.transform&&(this.realToCanvasMat=e.transform);let r=this.realToCanvasMat,o=this.canvas.width,a=this.canvas.height;if(!o||!a)return;if(![...Object.values(r),o,a].every(Number.isFinite))throw new Error("Invalid camera or canvas dimensions");if(o>this.device.limits.maxTextureDimension2D||a>this.device.limits.maxTextureDimension2D)throw new Error("Canvas exceeds GPU texture limits");let c=e.showCopperPours===!1?0:Number.isFinite(e.copperPourOpacity)?Math.max(0,Math.min(1,e.copperPourOpacity)):w3;this.resize(o,a),this.device.queue.writeBuffer(this.uniform,0,new Float32Array([r.a,r.c,r.e,0,r.b,r.d,r.f,0,o,a,c,0]));let p=e.xRayElementIds??[],L=p.length>0;L&&this.device.queue.writeBuffer(this.xRayUniform,0,new Float32Array([r.a,r.c,r.e,0,r.b,r.d,r.f,0,o,a,c,1]));let b=L?[]:e.highlightedElementIds??[],T=JSON.stringify([b,p]);if(T!==this.highlightKey){let R=new Uint32Array(Math.max(1,this.scene?.elementIds.length??0));for(let P of b){let E=this.highlightIndices.get(P);E!==void 0&&(R[E]=1)}for(let P of p){let E=this.highlightIndices.get(P);E!==void 0&&(R[E]|=2)}this.device.queue.writeBuffer(this.highlights,0,R),this.highlightKey=T}let I=q0(e.selectedLayer??"top"),C=e.layers?new Set(e.layers.map(q0)):void 0,M=this.layers.filter(R=>C&&!C.has(R.name)||L&&!this.isCopper(R.name)||R.name==="board"&&!e.showBoardMaterial||R.name.startsWith("soldermask_")&&(!e.showSolderMask||R.name!==`soldermask_${I}`)||R.name.includes("silkscreen")&&e.showSilkscreen===!1||R.name.includes("fabrication")&&!e.showFabricationNotes||R.name.includes("notes")&&e.showPcbNotes===!1||R.name.includes("courtyard")&&!e.showCourtyards?!1:L&&this.isCopper(R.name)||this.opacity(R.name,I,e.hiddenLayerOpacity??.4)>0).sort((R,P)=>this.order(R.name,I)-this.order(P.name,I)),w=L?this.xRayLayers.filter(R=>!C||C.has(R.name)).sort((R,P)=>this.xRayOrder(R.name,I)-this.xRayOrder(P.name,I)):[],_=[...M.map(R=>({layer:R,xRay:!1})),...w.map(R=>({layer:R,xRay:!0}))],k=this.device.createCommandEncoder();for(let{layer:R,xRay:P}of _){this.ensureTexture(R,o,a);let E=R.texture.createView(),X=(this.config.sampleCount??4)>1,q=k.beginRenderPass({colorAttachments:[{view:X?this.sample.createView():E,...X?{resolveTarget:E}:{},clearValue:[0,0,0,0],loadOp:"clear",storeOp:X?"discard":"store"}]});for(let[J,V]of[[R.paint,this.paintPipeline],[R.erase,this.erasePipeline]])J.count&&(q.setBindGroup(0,P&&V===this.paintPipeline?this.xRayCameraGroup:this.cameraGroup),q.setPipeline(V),q.setVertexBuffer(0,J.vertices),q.setIndexBuffer(J.indices,"uint32"),q.drawIndexed(J.count));q.end(),this.device.queue.writeBuffer(R.opacity,0,new Float32Array([P?1:L&&this.isCopper(R.name)?Math.max(0,Math.min(1,e.hiddenLayerOpacity??.4)):this.opacity(R.name,I,e.hiddenLayerOpacity??.4),0,0,0]))}let N=k.beginRenderPass({colorAttachments:[{view:this.context.getCurrentTexture().createView(),clearValue:e.background??[0,0,0,0],loadOp:"clear",storeOp:"store"}]});N.setPipeline(this.compositePipeline);for(let{layer:R}of _)N.setBindGroup(0,R.composite),N.draw(6);N.end(),this.device.queue.submit([k.finish()]),this.stats.frames++}async flush(){this.assertLive(),await this.device.queue.onSubmittedWorkDone()}isCopper(x){return/^(top|bottom|inner\\d+)$/.test(x)}opacity(x,e,r){return["board","drill","edge_cuts"].includes(x)||x===e||x.startsWith(`${e}_`)||x.endsWith(`_${e}`)?1:Math.max(0,Math.min(1,r))}xRayOrder(x,e){return x==="drill"?200:x===e?100:x==="bottom"?0:x.startsWith("inner")?20-Number(x.slice(5)):40}order(x,e){if(x==="board")return-100;if(x==="drill")return 200;if(x==="edge_cuts")return 150;let r=x===e?100:x.startsWith("inner")?20-Number(x.slice(5)):x==="bottom"?30:40;return x.includes("soldermask")?110:x.startsWith(`${e}_`)?120:r}resize(x,e){let r=`${x}:${e}`;if(r!==this.size){this.sample?.destroy(),this.sample=(this.config.sampleCount??4)>1?this.device.createTexture({size:[x,e],format:"rgba8unorm",sampleCount:this.config.sampleCount??4,usage:GPUTextureUsage.RENDER_ATTACHMENT}):void 0;for(let o of[...this.layers,...this.xRayLayers])o.texture?.destroy(),o.texture=void 0,o.composite=void 0;this.size=r}}ensureTexture(x,e,r){x.texture||(x.texture=this.device.createTexture({size:[e,r],format:"rgba8unorm",usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING}),x.composite=this.device.createBindGroup({layout:this.compositePipeline.getBindGroupLayout(0),entries:[{binding:0,resource:x.texture.createView()},{binding:1,resource:this.sampler},{binding:2,resource:{buffer:x.opacity}}]}))}assertLive(){if(this.disposed||this.lost)throw new Error(this.lost?"WebGPU device lost":"Renderer disposed")}releaseLayers(){for(let x of this.xRayLayers)x.opacity.destroy(),x.texture?.destroy();this.xRayLayers=[];for(let x of this.layers){for(let e of[x.paint,x.erase])e.vertices.destroy(),e.indices.destroy();x.opacity.destroy(),x.texture?.destroy()}this.layers=[]}dispose(){if(this.disposed)return;this.disposed=!0,this.releaseLayers(),this.sample?.destroy(),this.uniform.destroy(),this.xRayUniform.destroy(),this.highlights.destroy(),this.context.unconfigure();let x=()=>this.device.destroy();this.device.queue.onSubmittedWorkDone().then(x,x),this.circuit=void 0,this.scene=void 0}},U(h0,"supportsXRayNet",!0),h0);var _0=self,G5="supportsXRayNet"in B0&&B0.supportsXRayNet===!0,y0,m0,U0,B5=0,K0=!1,v0=!1,y5=y=>{v0||(v0=!0,y0?.dispose(),_0.postMessage({type:"error",message:y instanceof Error?y.message:String(y)}))};function C5(){if(K0||v0||!y0||!U0)return;K0=!0;let y=()=>{if(K0=!1,!(v0||!y0||!U0))try{let x=U0,e=B5;m0.width!==x.width&&(m0.width=x.width),m0.height!==x.height&&(m0.height=x.height),y0.render({...x.options,transform:x.transform}),_0.postMessage({type:"rendered",xRayActive:G5&&!!x.options.xRayElementIds?.length,geometryUploads:y0.stats.geometryUploads,frames:y0.stats.frames,compileMs:y0.stats.compileMs,sceneGeneration:e})}catch(x){y5(x)}};_0.requestAnimationFrame?_0.requestAnimationFrame(y):setTimeout(y,16)}_0.onmessage=async y=>{let x=y.data;try{if(x.type==="init"){if(m0=x.canvas,y0=await B0.create(m0,{onDeviceLost:y5,renderViasInHighDetail:!1}),v0){y0.dispose();return}_0.postMessage({type:"ready",supportsXRayNet:G5})}else if(x.type==="scene"){if(y0.setCircuitJson(x.elements),y0.diagnostics.length)throw new Error(`Unsupported WebGPU geometry: ${y0.diagnostics.map(e=>`${e.type}: ${e.message}`).join("; ")}`);B5=x.sceneGeneration,C5()}else x.type==="view"?(U0=x,C5()):(v0=!0,y0?.dispose())}catch(e){y5(e)}};})();\n/*! Bundled license information:\n\npolygon-clipping/dist/polygon-clipping.umd.js:\n (**\n * splaytree v3.1.2\n * Fast Splay tree for Node and browser\n *\n * @author Alexander Milevski <info@w8r.name>\n * @license MIT\n * @preserve\n *)\n (*! *****************************************************************************\n Copyright (c) Microsoft Corporation. All rights reserved.\n Licensed under the Apache License, Version 2.0 (the "License"); you may not use\n this file except in compliance with the License. You may obtain a copy of the\n License at http://www.apache.org/licenses/LICENSE-2.0\n \n THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n MERCHANTABLITY OR NON-INFRINGEMENT.\n \n See the Apache Version 2.0 License for specific language governing permissions\n and limitations under the License.\n ***************************************************************************** *)\n*/\n'],{type:"text/javascript"}));try{return new Worker(g)}finally{URL.revokeObjectURL(g)}}var oio=XQo({"inline-worker:/home/runner/work/pcb-viewer/pcb-viewer/src/lib/webgpu/pcb-webgpu.worker.ts"(){}}),kRI=!0,Bio=!1,BtA={CCW:-1,CW:1,NOT_ORIENTABLE:0},Cio=2*Math.PI,nGA=1,MRI=0,oF=2,Qio=3,iio=4,Eio=1,nio=2,Vtg=0,CtA=1,WZ=2,sGA=Object.freeze({__proto__:null,BOUNDARY:oF,CCW:kRI,CONTAINS:Qio,CW:Bio,END_VERTEX:WZ,INSIDE:nGA,INTERLACE:iio,NOT_VERTEX:Vtg,ORIENTATION:BtA,OUTSIDE:MRI,OVERLAP_OPPOSITE:nio,OVERLAP_SAME:Eio,PIx2:Cio,START_VERTEX:CtA}),BF=1e-6;function SRI(g){BF=g}function fRI(){return BF}var sio=3;function jtg(g){return g<BF&&g>-BF}function Db(g,A){return g-A<BF&&g-A>-BF}function RRI(g,A){return g-A>BF}function aio(g,A){return g-A>-BF}function NRI(g,A){return g-A<-BF}function rio(g,A){return g-A<BF}var cio=Object.freeze({__proto__:null,DECIMALS:sio,EQ:Db,EQ_0:jtg,GE:aio,GT:RRI,LE:rio,LT:NRI,getTolerance:fRI,setTolerance:SRI}),jA={Utils:cio,Errors:void 0,Matrix:void 0,Planar_set:void 0,Point:void 0,Vector:void 0,Line:void 0,Circle:void 0,Segment:void 0,Arc:void 0,Box:void 0,Edge:void 0,Face:void 0,Ray:void 0,Ray_shooting:void 0,Multiline:void 0,Polygon:void 0,Distance:void 0,Inversion:void 0};for(let g in sGA)jA[g]=sGA[g];Object.defineProperty(jA,"DP_TOL",{get:function(){return fRI()},set:function(g){SRI(g)}});var qc=class{static get ILLEGAL_PARAMETERS(){return new ReferenceError("Illegal Parameters")}static get ZERO_DIVISION(){return new Error("Zero division")}static get UNRESOLVED_BOUNDARY_CONFLICT(){return new Error("Unresolved boundary conflict in boolean operation")}static get INFINITE_LOOP(){return new Error("Infinite loop")}static get CANNOT_COMPLETE_BOOLEAN_OPERATION(){return new Error("Cannot complete boolean operation")}static get CANNOT_INVOKE_ABSTRACT_METHOD(){return new Error("Abstract method cannot be invoked")}static get OPERATION_IS_NOT_SUPPORTED(){return new Error("Operation is not supported")}static get UNSUPPORTED_SHAPE_TYPE(){return new Error("Unsupported shape type")}};jA.Errors=qc;var ztg=class{constructor(g,A){this.first=g,this.last=A||this.first}[Symbol.iterator](){let g;return{next:()=>(g=g?g.next:this.first,{value:g,done:g===void 0})}}get size(){let g=0;for(let A of this)g++;return g}toArray(g=void 0,A=void 0){let I=[],e=g||this.first,t=A||this.last,o=e;if(o===void 0)return I;do I.push(o),o=o.next;while(o!==t.next);return I}append(g){return this.isEmpty()?this.first=g:(g.prev=this.last,this.last.next=g),this.last=g,this.last.next=void 0,this.first.prev=void 0,this}insert(g,A){if(this.isEmpty())this.first=g,this.last=g;else if(A==null)g.next=this.first,this.first.prev=g,this.first=g;else{let I=A.next;A.next=g,I&&(I.prev=g),g.prev=A,g.next=I,this.last===A&&(this.last=g)}return this.last.next=void 0,this.first.prev=void 0,this}remove(g){return g===this.first&&g===this.last?(this.first=void 0,this.last=void 0):(g.prev&&(g.prev.next=g.next),g.next&&(g.next.prev=g.prev),g===this.first&&(this.first=g.next),g===this.last&&(this.last=g.prev)),this}isEmpty(){return this.first===void 0}static testInfiniteLoop(g){let A=g,I=g;do{if(A!=g&&A===I)throw qc.INFINITE_LOOP;A=A.next,I=I.next.next}while(A!=g)}},xRI={stroke:"black"},hio=class{constructor(g=xRI){for(const A in g)this[A]=g[A];this.stroke=g.stroke??xRI.stroke}toAttributesString(){return Object.keys(this).reduce((g,A)=>g+(this[A]!==void 0?this.toAttrString(A,this[A]):""),"")}toAttrString(g,A){const I=g==="className"?"class":this.convertCamelToKebabCase(g);return A===null?`${I} `:`${I}="${A.toString()}" `}convertCamelToKebabCase(g){return g.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g).join("-").toLowerCase()}};function db(g){return new hio(g).toAttributesString()}function VZ(g,A){let I=[],[e,t,o]=g.standard,[B,C,Q]=A.standard,i=e*C-t*B,E=o*C-t*Q,n=e*Q-o*B;if(!jA.Utils.EQ_0(i)){let s,r;t===0?(s=o/e,r=n/i):C===0?(s=Q/B,r=n/i):e===0?(s=E/i,r=o/t):B===0?(s=E/i,r=Q/C):(s=E/i,r=n/i),I.push(new jA.Point(s,r))}return I}function yb(g,A){let I=[],e=A.pc.projectionOn(g),t=A.pc.distanceTo(e)[0];if(jA.Utils.EQ(t,A.r))I.push(e);else if(jA.Utils.LT(t,A.r)){let o=Math.sqrt(A.r*A.r-t*t),B,C;B=g.norm.rotate90CCW().multiply(o),C=e.translate(B),I.push(C),B=g.norm.rotate90CW().multiply(o),C=e.translate(B),I.push(C)}return I}function jZ(g,A){let I=[];for(let e of A.toSegments()){let t=QtA(e,g);for(let o of t)vRI(o,I)||I.push(o)}return I}function aGA(g,A){let I=[];if(jZ(g,A.box).length===0)return I;let e=new jA.Circle(A.pc,A.r),t=yb(g,e);for(let o of t)o.on(A)&&I.push(o);return I}function QtA(g,A){let I=[];if(g.ps.on(A)&&I.push(g.ps),g.pe.on(A)&&!g.isZeroLength()&&I.push(g.pe),I.length>0||g.isZeroLength()||g.ps.leftTo(A)&&g.pe.leftTo(A)||!g.ps.leftTo(A)&&!g.pe.leftTo(A))return I;let e=new jA.Line(g.ps,g.pe);return VZ(e,A)}function rGA(g,A){let I=[];if(g.isZeroLength())return g.ps.on(A)&&I.push(g.ps),I;if(A.isZeroLength())return A.ps.on(g)&&I.push(A.ps),I;let e=new jA.Line(g.ps,g.pe),t=new jA.Line(A.ps,A.pe);if(e.incidentTo(t))g.ps.on(A)&&I.push(g.ps),g.pe.on(A)&&I.push(g.pe),A.ps.on(g)&&!A.ps.equalTo(g.ps)&&!A.ps.equalTo(g.pe)&&I.push(A.ps),A.pe.on(g)&&!A.pe.equalTo(g.ps)&&!A.pe.equalTo(g.pe)&&I.push(A.pe);else if(e.parallelTo(t)){const o=new jA.Vector(g.ps,g.pe),B=new jA.Vector(A.ps,A.pe),C=new jA.Vector(g.ps,A.ps),Q=o.cross(B);if(!jA.Utils.EQ_0(Q)){const i=C.cross(B)/Q,E=C.cross(o)/Q;jA.Utils.GE(i,0)&&jA.Utils.LE(i,1)&&jA.Utils.GE(E,0)&&jA.Utils.LE(E,1)&&I.push(FRI(g.ps.translate(o.multiply(i)),g,A))}}else{let o=VZ(e,t);o.length>0&&URI(o[0],g)&&URI(o[0],A)&&I.push(FRI(o[0],g,A))}return I}function FRI(g,A,I){for(const e of[A.ps,A.pe,I.ps,I.pe])if(g.equalTo(e))return e;return g}function URI(g,A){const I=A.box;return jA.Utils.LE(g.x,I.xmax)&&jA.Utils.GE(g.x,I.xmin)&&jA.Utils.LE(g.y,I.ymax)&&jA.Utils.GE(g.y,I.ymin)}function cGA(g,A){let I=[];if(g.isZeroLength()){let[o,B]=g.ps.distanceTo(A.pc);return jA.Utils.EQ(o,A.r)&&I.push(g.ps),I}let e=new jA.Line(g.ps,g.pe),t=yb(e,A);for(let o of t)o.on(g)&&I.push(o);return I}function zZ(g,A){let I=[];if(g.isZeroLength())return g.ps.on(A)&&I.push(g.ps),I;let e=new jA.Line(g.ps,g.pe),t=new jA.Circle(A.pc,A.r),o=yb(e,t);for(let B of o)B.on(g)&&B.on(A)&&I.push(B);return I}function lio(g,A){let I=[];for(let e of A.toSegments()){let t=rGA(e,g);for(let o of t)I.push(o)}return I}function JRI(g,A){let I=[],e=new jA.Vector(g.pc,A.pc),t=g.r,o=A.r;if(jA.Utils.EQ_0(t)||jA.Utils.EQ_0(o))return I;if(jA.Utils.EQ_0(e.x)&&jA.Utils.EQ_0(e.y)&&jA.Utils.EQ(t,o))return I.push(g.pc.translate(-t,0)),I;let B=g.pc.distanceTo(A.pc)[0];if(jA.Utils.GT(B,t+o)||jA.Utils.LT(B,Math.abs(t-o)))return I;e.x/=B,e.y/=B;let C;if(jA.Utils.EQ(B,t+o)||jA.Utils.EQ(B,Math.abs(t-o)))return C=g.pc.translate(t*e.x,t*e.y),I.push(C),I;let Q=t*t/(2*B)-o*o/(2*B)+B/2,i=g.pc.translate(Q*e.x,Q*e.y),E=Math.sqrt(t*t-Q*Q);return C=i.translate(e.rotate90CCW().multiply(E)),I.push(C),C=i.translate(e.rotate90CW().multiply(E)),I.push(C),I}function Dio(g,A){let I=[];for(let e of A.toSegments()){let t=cGA(e,g);for(let o of t)I.push(o)}return I}function PRI(g,A){let I=[];if(g.pc.equalTo(A.pc)&&jA.Utils.EQ(g.r,A.r)){let B;return B=g.start,B.on(A)&&I.push(B),B=g.end,B.on(A)&&I.push(B),B=A.start,B.on(g)&&I.push(B),B=A.end,B.on(g)&&I.push(B),I}let e=new jA.Circle(g.pc,g.r),t=new jA.Circle(A.pc,A.r),o=e.intersect(t);for(let B of o)B.on(g)&&B.on(A)&&I.push(B);return I}function Xtg(g,A){let I=[];if(A.pc.equalTo(g.pc)&&jA.Utils.EQ(A.r,g.r))return I.push(g.start),I.push(g.end),I;let e=A,t=new jA.Circle(g.pc,g.r),o=JRI(e,t);for(let B of o)B.on(g)&&I.push(B);return I}function dio(g,A){let I=[];for(let e of A.toSegments()){let t=zZ(e,g);for(let o of t)I.push(o)}return I}function KRI(g,A){return g.isSegment?rGA(g.shape,A):zZ(A,g.shape)}function LRI(g,A){return g.isSegment?zZ(g.shape,A):PRI(g.shape,A)}function YRI(g,A){return g.isSegment?QtA(g.shape,A):aGA(A,g.shape)}function yio(g,A){return g.isSegment?gog(A,g.shape):Iog(A,g.shape)}function wio(g,A){return g.isSegment?cGA(g.shape,A):Xtg(g.shape,A)}function $tg(g,A){let I=[];for(let e of A.edges)for(let t of KRI(e,g))I.push(t);return I}function Aog(g,A){let I=[];for(let e of A.edges)for(let t of LRI(e,g))I.push(t);return I}function itA(g,A){let I=[];if(A.isEmpty())return I;for(let e of A.edges)for(let t of YRI(e,g))vRI(t,I)||I.push(t);return g.sortPoints(I)}function _RI(g,A){let I=[];if(A.isEmpty())return I;for(let e of A.edges)for(let t of wio(e,g))I.push(t);return I}function bRI(g,A){return g.isSegment?KRI(A,g.shape):g.isArc?LRI(A,g.shape):g.isLine?YRI(A,g.shape):g.isRay?yio(A,g.shape):[]}function HRI(g,A){let I=[];if(A.isEmpty()||g.shape.box.not_intersect(A.box))return I;let e=A.edges.search(g.shape.box);for(let t of e)I=[...I,...bRI(g,t)];return I}function uio(g,A){let I=[];if(A.isEmpty()||g.size===0)return I;for(let e of g)I=[...I,...HRI(e,A)];return I}function Gio(g,A){let I=[];if(g.isEmpty()||A.isEmpty()||g.box.not_intersect(A.box))return I;for(let e of g.edges)I=[...I,...HRI(e,A)];return I}function mio(g,A){return g instanceof jA.Line?itA(g,A):g instanceof jA.Segment?$tg(g,A):g instanceof jA.Arc?Aog(g,A):[]}function vRI(g,A){return A.some(I=>I.equalTo(g))}function EL(g){return new jA.Line(g.start,g.norm)}function gog(g,A){return QtA(A,EL(g)).filter(I=>g.contains(I))}function Iog(g,A){return aGA(EL(g),A).filter(I=>g.contains(I))}function TRI(g,A){return yb(EL(g),A).filter(I=>g.contains(I))}function pio(g,A){return jZ(EL(g),A).filter(I=>g.contains(I))}function qRI(g,A){return VZ(EL(g),A).filter(I=>g.contains(I))}function kio(g,A){return VZ(EL(g),EL(A)).filter(I=>g.contains(I)).filter(I=>A.contains(I))}function ZRI(g,A){return itA(EL(g),A).filter(I=>g.contains(I))}function ORI(g,A){if(g.intersect&&g.intersect instanceof Function)return g.intersect(A);throw qc.UNSUPPORTED_SHAPE_TYPE}function XZ(g,A){let I=[];for(let e of A)I=[...I,...ORI(g,e.shape)];return I}function Mio(g,A){let I=[];for(let e of g)for(let t of A)I=[...I,...ORI(e.shape,t.shape)];return I}var wb=class RCA extends ztg{constructor(...A){if(super(),this.isInfinite=!1,A.length===1&&A[0]instanceof Array&&A[0].length>0){const I=A[0],e=I.length,t=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc||Q instanceof jA.Ray||Q instanceof jA.Line,o=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc||Q instanceof jA.Ray,B=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc;if(e===1&&t(I[0])||e>1&&o(I[0])&&o(I[e-1])&&I.slice(1,e-1).every(B)){this.isInfinite=I.some(Q=>Q instanceof jA.Ray||Q instanceof jA.Line);for(let Q of I){let i=new jA.Edge(Q);this.append(i)}this.setArcLength()}else throw jA.Errors.ILLEGAL_PARAMETERS}}get edges(){return[...this]}get box(){return this.edges.reduce((A,I)=>A.merge(I.box),new jA.Box)}get vertices(){let A=this.edges.map(I=>I.start);return A.push(this.last.end),A}get length(){if(this.isEmpty())return 0;if(this.isInfinite)return Number.POSITIVE_INFINITY;let A=0;for(let I of this)A+=I.length;return A}clone(){return new RCA(this.toShapes())}setArcLength(){for(let A of this)this.setOneEdgeArcLength(A)}setOneEdgeArcLength(A){A===this.first?A.arc_length=0:A.arc_length=A.prev.arc_length+A.prev.length}pointAtLength(A){if(A>this.length||A<0||this.isInfinite)return null;let I=null;for(let e of this)if(A>=e.arc_length&&(e===this.last||A<e.next.arc_length)){I=e.pointAtLength(A-e.arc_length);break}return I}addVertex(A,I){let e=I.shape.split(A);if(e[0]===null)return I.prev;if(e[1]===null)return I;let t=new jA.Edge(e[0]),o=I.prev;return this.insert(t,o),I.shape=e[1],t}getChain(A,I){let e=[];for(let t=A;t!==I.next;t=t.next)e.push(t);return e}split(A){for(let I of A){let e=this.findEdgeByPoint(I);this.addVertex(I,e)}return this}findEdgeByPoint(A){let I;for(let e of this)if(e.shape.contains(A)){I=e;break}return I}distanceTo(A){if(A instanceof jA.Point){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Line){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Circle){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Segment){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Arc){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Box){const[I,e]=jA.Distance.shape2multiline(new jA.Polygon(A),this);return[I,e.reverse()]}if(A instanceof jA.Multiline)return jA.Distance.multiline2multiline(this,A);throw jA.Errors.UNSUPPORTED_SHAPE_TYPE}intersect(A){return A instanceof jA.Multiline?Mio(this,A):XZ(A,this)}contains(A){if(A instanceof jA.Point)return this.edges.some(I=>I.shape.contains(A));throw jA.Errors.UNSUPPORTED_SHAPE_TYPE}translate(A){return new RCA(this.edges.map(I=>I.shape.translate(A)))}rotate(A=0,I=new jA.Point){return new RCA(this.edges.map(e=>e.shape.rotate(A,I)))}transform(A=new jA.Matrix){return new RCA(this.edges.map(I=>I.shape.transform(A)))}toShapes(){return this.edges.map(A=>A.shape.clone())}toJSON(){return this.edges.map(A=>A.toJSON())}svgPoints(){return this.vertices.map(A=>`${A.x},${A.y}`).join(" ")}dpath(){let A=`M${this.first.start.x},${this.first.start.y}`;for(let I of this)A+=I.svg();return A}svg(A={}){let I=`
5404
+ `),Q=C.map(n=>{const s=Array.from(n);return s.reduce((r,a,c)=>r+Dtg(a,s[c+1],A),0)}),i=Q.reduce((n,s)=>Math.max(n,s),0),E=C.length>1?A+(C.length-1)*B:A;return{width:i,height:E,glyphWidth:I,letterSpacing:e,spaceWidth:t,strokeWidth:o,lineHeight:B,lines:C,lineWidths:Q}}function QBo(g){const{line:A,fontSize:I,startX:e,startY:t}=g,o=I,B=I,C=Array.from(A),Q=[];let i=e+g.layout.strokeWidth/2;return C.forEach((E,n)=>{const s=NwI[E];if(s?.length){const r=[];for(const a of s){const c=a.map(h=>({x:i+h.x*B,y:t+(1-h.y)*o}));c.length>=3&&r.push(c)}r.length>0&&Q.push(r)}i+=Dtg(E,C[n+1],I)}),Q}function iBo(g){let A=Number.POSITIVE_INFINITY,I=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY,t=Number.NEGATIVE_INFINITY;for(const o of g)for(const B of o)A=Math.min(A,B.x),I=Math.min(I,B.y),e=Math.max(e,B.x),t=Math.max(t,B.y);return A===Number.POSITIVE_INFINITY||I===Number.POSITIVE_INFINITY||e===Number.NEGATIVE_INFINITY||t===Number.NEGATIVE_INFINITY?null:{minX:A,minY:I,maxX:e,maxY:t}}function EBo(g,A,I){const e=sBo(g,A),t=aBo(e,A,I),o=iBo(t.flat()),B=rBo(g,A,o);return{bounds:o?DBo(o,B):null,glyphGroups:lBo(t,B),linePlacements:e.map(({line:C,startX:Q,startY:i})=>({line:C,startX:Q+B.x,startY:i+B.y})),startOffset:B}}function nBo(g,A){const I=A.width+A.strokeWidth,e=A.height+A.strokeWidth;let t=0,o=0;return g==="center"||g==="top_center"||g==="bottom_center"?t=-I/2:g==="top_left"||g==="bottom_left"||g==="center_left"?t=0:g==="top_right"||g==="bottom_right"||g==="center_right"?t=-I:(g==="top_center"||g==="bottom_center")&&(t=-I/2),g==="center"||g==="center_left"||g==="center_right"?o=-e/2:g==="top_left"||g==="top_right"||g==="top_center"?o=0:(g==="bottom_left"||g==="bottom_right"||g==="bottom_center")&&(o=-e),{x:t,y:o}}function sBo(g,A){return A.lines.map((I,e)=>({line:I,startX:dBo({alignment:g,lineWidth:A.lineWidths[e],maxWidth:A.width,strokeWidth:A.strokeWidth}),startY:e*A.lineHeight}))}function aBo(g,A,I){return g.flatMap(({line:e,startX:t,startY:o})=>QBo({line:e,fontSize:I,startX:t,startY:o,layout:A}))}function rBo(g,A,I){return I?{x:-cBo(g,I),y:-hBo(g,I)}:nBo(g,A)}function cBo(g,A){return g==="top_left"||g==="bottom_left"||g==="center_left"?A.minX:g==="top_right"||g==="bottom_right"||g==="center_right"?A.maxX:(A.minX+A.maxX)/2}function hBo(g,A){return g==="top_left"||g==="top_right"||g==="top_center"?A.minY:g==="bottom_left"||g==="bottom_right"||g==="bottom_center"?A.maxY:(A.minY+A.maxY)/2}function lBo(g,A){return A.x===0&&A.y===0?g:g.map(I=>I.map(e=>e.map(t=>({x:t.x+A.x,y:t.y+A.y}))))}function DBo(g,A){return{minX:g.minX+A.x,minY:g.minY+A.y,maxX:g.maxX+A.x,maxY:g.maxY+A.y}}function dBo(g){const{alignment:A,lineWidth:I,maxWidth:e,strokeWidth:t}=g,o=I+t,B=e+t;return A==="top_left"||A==="bottom_left"||A==="center_left"?0:A==="top_right"||A==="bottom_right"||A==="center_right"?B-o:(B-o)/2}var yBo=g=>t9g[g];function wBo(g){const{ctx:A,line:I,fontSize:e,startX:t,startY:o,layout:B}=g,{strokeWidth:C}=B,Q=e,i=e,E=o,n=Array.from(I);let s=t+C/2;n.forEach((r,a)=>{const c=yBo(r);if(c?.length){A.beginPath();for(const h of c){const l=s+h.x1*i,D=E+(1-h.y1)*Q,d=s+h.x2*i,y=E+(1-h.y2)*Q;A.moveTo(l,D),A.lineTo(d,y)}A.stroke()}s+=Dtg(r,n[a+1],e)})}var uBo={left:.2,right:.2,top:.2,bottom:.2};function bZ(g){const{ctx:A,text:I,x:e,y:t,fontSize:o,color:B,realToCanvasMat:C,anchorAlignment:Q,rotation:i=0,mirrorX:E=!1,knockout:n=!1,knockoutPadding:s={}}=g;if(!I)return;const[r,a]=lt(C,[e,t]),c=Math.abs(C.a),h=o*c,l=CBo(I,h),D=EBo(Q,l,h);if(A.save(),A.translate(r,a),i!==0&&A.rotate(-i*(Math.PI/180)),E&&A.scale(-1,1),n){const d={...uBo,...s},y=d.left*c,w=d.right*c,u=d.top*c,G=d.bottom*c,m=D.bounds;if(!m){A.restore();return}const p=m.minX-y,k=m.minY-u,S=m.maxX-m.minX+y+w,R=m.maxY-m.minY+u+G;A.fillStyle=B,A.beginPath(),A.rect(p,k,S,R);for(const x of D.glyphGroups)for(const N of x)oBo(A,N);A.fill("evenodd")}else A.strokeStyle=B;A.lineWidth=l.strokeWidth,A.lineCap="round",A.lineJoin="round",n||D.linePlacements.forEach(({line:d,startX:y,startY:w})=>{wBo({ctx:A,line:d,fontSize:h,startX:y,startY:w,layout:l})}),A.restore()}function GBo(g){return g||"center"}function mBo(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=I.text??"";o&&bZ({ctx:A,text:o,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:I.font_size??1,color:t.copper[I.layer]??t.copper.top,realToCanvasMat:e,anchorAlignment:GBo(I.anchor_alignment),rotation:I.ccw_rotation??0,mirrorX:I.is_mirrored??I.layer==="bottom",knockout:I.is_knockout,knockoutPadding:I.is_knockout?I.knockout_padding:void 0})}function Yl(g){const{ctx:A,center:I,radius:e,fill:t,realToCanvasMat:o,stroke:B,strokeWidth:C,isStrokeDashed:Q=!1}=g,[i,E]=lt(o,[I.x,I.y]),n=e*Math.abs(o.a),s=C?C*Math.abs(o.a):void 0;A.beginPath(),A.arc(i,E,n,0,Math.PI*2),t&&(A.fillStyle=t,A.fill()),B&&s&&(Q?A.setLineDash([s*3,s*2]):A.setLineDash([]),A.strokeStyle=B,A.lineWidth=s,A.stroke())}function pBo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function kBo(g){const{ctx:A,circle:I,realToCanvasMat:e,colorMap:t}=g;Yl({ctx:A,center:I.center,radius:I.radius,stroke:pBo(I.layer,t),strokeWidth:.05,realToCanvasMat:e})}function MBo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function SBo(g){const{ctx:A,outline:I,realToCanvasMat:e,colorMap:t}=g;if(!I.outline||I.outline.length<2)return;A.beginPath();const o=lt(e,I.outline[0]);A.moveTo(o.x,o.y);for(let B=1;B<I.outline.length;B++){const C=lt(e,I.outline[B]);A.lineTo(C.x,C.y)}A.closePath(),A.lineWidth=.05*Math.abs(e.a),A.strokeStyle=MBo(I.layer,t),A.lineJoin="round",A.stroke()}function fBo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function RBo(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g;T0({ctx:A,center:I.center,width:I.width,height:I.height,stroke:fBo(I.layer,t),strokeWidth:.05,realToCanvasMat:e,ccwRotationDegrees:I.ccw_rotation??0,lineJoin:"round"})}function HZ(g){const{ctx:A,points:I,cx:e=0,cy:t=0,ccwRotationDegrees:o=0}=g,B=I[0];if(I.length<3||!B)return;const C=juA(gF(e,t),XeA(-o*Math.PI/180),gF(-e,-t)),Q=lt(C,B);A.moveTo(Q.x,Q.y);for(let i=1;i<I.length;i++){const E=I[i];if(!E)continue;const n=lt(C,E);A.lineTo(n.x,n.y)}A.closePath()}function IF(g){const{ctx:A,points:I,fill:e,realToCanvasMat:t,center:o={x:0,y:0},rotation:B=0}=g;if(I.length<3)return;const[C,Q]=lt(t,[o.x,o.y]),i=I.map(E=>{const[n,s]=lt(t,[E.x,E.y]);return{x:n-C,y:s-Q}});i[0]&&(A.save(),A.translate(C,Q),B!==0&&A.rotate(-B*(Math.PI/180)),A.beginPath(),HZ({ctx:A,points:i}),A.fillStyle=e,A.fill(),A.restore())}function NBo(g){const{ctx:A,cutout:I,realToCanvasMat:e,colorMap:t}=g;if(I.shape==="rect"){T0({ctx:A,center:I.center,width:I.width,height:I.height,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:I.rotation??0,borderRadius:I.corner_radius??0});return}if(I.shape==="circle"){Yl({ctx:A,center:I.center,radius:I.radius,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="polygon"){I.points&&I.points.length>=3&&IF({ctx:A,points:I.points,fill:t.drill,realToCanvasMat:e});return}}var sfI="#ff4d4d",xBo={a:1,b:0,c:0,d:1,e:0,f:0};function FBo(g){const A=Math.min(g.canvas.width,g.canvas.height),I=Math.max(1,Math.min(2,A*.002)),e=Math.max(10,Math.min(18,A*.02));return{fontSize:e,strokeWidth:I,dashLength:I*4,labelGap:e*.35,pointRadius:I*3}}function dtg({ctx:g,label:A,x:I,y:e,style:t,align:o="left"}){A&&(g.setLineDash([]),bZ({ctx:g,text:A,x:I,y:e,fontSize:t.fontSize,color:sfI,realToCanvasMat:xBo,anchorAlignment:o==="center"?"bottom_center":"bottom_left"}))}function UBo({ctx:g,debugObject:A,realToCanvasMat:I,labelStackIndex:e=0}){const t=FBo(g);if(g.save(),g.strokeStyle=sfI,g.lineWidth=t.strokeWidth,g.setLineDash([t.dashLength,t.dashLength]),A.shape==="rect"){const C=lt(I,[A.center.x-A.size.width/2,A.center.y-A.size.height/2]),Q=lt(I,[A.center.x+A.size.width/2,A.center.y+A.size.height/2]),i=Math.min(C[0],Q[0]),E=Math.min(C[1],Q[1]),n=Math.abs(Q[0]-C[0]),s=Math.abs(Q[1]-C[1]);g.beginPath(),g.rect(i,E,n,s),g.stroke(),dtg({ctx:g,label:A.label,x:i,y:E-t.labelGap-e*(t.fontSize+t.labelGap),style:t}),g.restore();return}if(A.shape==="line"){const[C,Q]=lt(I,[A.start.x,A.start.y]),[i,E]=lt(I,[A.end.x,A.end.y]);g.beginPath(),g.moveTo(C,Q),g.lineTo(i,E),g.stroke(),dtg({ctx:g,label:A.label,x:(C+i)/2,y:(Q+E)/2-t.labelGap,style:t,align:"center"}),g.restore();return}const[o,B]=lt(I,[A.center.x,A.center.y]);g.beginPath(),g.arc(o,B,t.pointRadius,0,Math.PI*2),g.stroke(),dtg({ctx:g,label:A.label,x:o+t.pointRadius+t.labelGap,y:B-t.pointRadius,style:t}),g.restore()}var JBo=1.5,PBo=.6,KBo=.3;function ytg(g){const A=Math.hypot(g.x,g.y)||1;return{x:g.x/A,y:g.y/A}}function afI(g){const{ctx:A,from:I,to:e,realToCanvasMat:t,color:o,fontSize:B,arrowSize:C=1,strokeWidth:Q,text:i,textRotation:E,offset:n}=g,s=ytg({x:e.x-I.x,y:e.y-I.y}),r={x:-s.y,y:s.x},a=n?.direction&&typeof n.direction.x=="number"&&typeof n.direction.y=="number",c=a?ytg(n.direction):{x:0,y:0},h=n?.distance??0,l={x:c.x*h,y:c.y*h},D={x:I.x+l.x,y:I.y+l.y},d={x:e.x+l.x,y:e.y+l.y},y={x:D.x+s.x*C,y:D.y+s.y*C},w={x:d.x-s.x*C,y:d.y-s.y*C};Math.abs(t.a);const u=Q??C/5,G=o||"rgba(255,255,255,0.5)",m=a&&(Math.abs(c.x)>Number.EPSILON||Math.abs(c.y)>Number.EPSILON)?c:r,p=h+.5,k=[],S=N=>{const U={x:N.x+m.x*p,y:N.y+m.y*p},K=u/2,Y={x:-m.y,y:m.x};return[{x:N.x+Y.x*K,y:N.y+Y.y*K},{x:N.x-Y.x*K,y:N.y-Y.y*K},{x:U.x-Y.x*K,y:U.y-Y.y*K},{x:U.x+Y.x*K,y:U.y+Y.y*K}]};k.push(D),k.push({x:y.x+r.x*(C/2),y:y.y+r.y*(C/2)}),k.push({x:y.x+r.x*(u/2),y:y.y+r.y*(u/2)}),k.push({x:w.x+r.x*(u/2),y:w.y+r.y*(u/2)}),k.push({x:w.x+r.x*(C/2),y:w.y+r.y*(C/2)}),k.push(d),k.push({x:w.x-r.x*(C/2),y:w.y-r.y*(C/2)}),k.push({x:w.x-r.x*(u/2),y:w.y-r.y*(u/2)}),k.push({x:y.x-r.x*(u/2),y:y.y-r.y*(u/2)}),k.push({x:y.x-r.x*(C/2),y:y.y-r.y*(C/2)}),k.push(D);const R=k[0],x=N=>{const U=S(N);k.push(R),k.push(U[0]),k.push(...U),k.push(U[0]),k.push(R)};if(x(I),x(e),IF({ctx:A,points:k,fill:G,realToCanvasMat:t}),i){const N={x:(I.x+e.x)/2+l.x,y:(I.y+e.y)/2+l.y},[U,K]=lt(t,[D.x,D.y]),[Y,b]=lt(t,[d.x,d.y]),q=ytg({x:Y-U,y:b-K});let j=Math.atan2(q.y,q.x)*180/Math.PI;(j>90||j<-90)&&(j+=180);const W=typeof E=="number"&&Number.isFinite(E)?j-E:j;let Z=0;if(i&&typeof E=="number"&&Number.isFinite(E)){const IA=i.length*B*PBo,QA=B,nA=E*Math.PI/180,DA=Math.abs(Math.sin(nA)),CA=Math.abs(Math.cos(nA)),hA=IA/2,sA=QA/2;Z=hA*DA+sA*CA+B*KBo}const gA=C*JBo+Z,tA={x:N.x+r.x*gA,y:N.y+r.y*gA};bZ({ctx:A,text:i,x:tA.x,y:tA.y,fontSize:B,color:G,realToCanvasMat:t,anchorAlignment:"center",rotation:-W})}}function LBo(g){const{ctx:A,pcbFabricationNoteDimension:I,realToCanvasMat:e,colorMap:t}=g,o=I.color??t.fabricationNote;afI({ctx:A,from:I.from,to:I.to,realToCanvasMat:e,color:o,fontSize:I.font_size??1,arrowSize:I.arrow_size??1,text:I.text,textRotation:I.text_ccw_rotation,offset:I.offset_distance&&I.offset_direction?{distance:I.offset_distance,direction:I.offset_direction}:void 0})}function YBo(g){const{ctx:A,path:I,realToCanvasMat:e,colorMap:t}=g;if(!I.route||I.route.length<2)return;const o=I.route.map(C=>lt(e,C)),B=I.stroke_width*Math.abs(e.a)/2;if(A.beginPath(),I.is_filled){const Q=o.reduce((i,E,n)=>{const s=o[(n+1)%o.length];return i+E.x*s.y-s.x*E.y},0)<0?[...o].reverse():o;A.moveTo(Q[0].x,Q[0].y);for(const i of Q.slice(1))A.lineTo(i.x,i.y);A.closePath()}if(I.has_stroke!==!1&&B>0){const C=I.is_filled?[...o,o[0]]:o;for(let Q=1;Q<C.length;Q++){const i=C[Q-1],E=C[Q],n=Math.atan2(E.y-i.y,E.x-i.x);A.moveTo(i.x+B*Math.cos(n+Math.PI/2),i.y+B*Math.sin(n+Math.PI/2)),A.arc(i.x,i.y,B,n+Math.PI/2,n+3*Math.PI/2),A.lineTo(E.x+B*Math.cos(n-Math.PI/2),E.y+B*Math.sin(n-Math.PI/2)),A.arc(E.x,E.y,B,n-Math.PI/2,n+Math.PI/2),A.closePath()}}A.fillStyle=I.color??t.fabricationNote,A.fill()}function _Bo(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g,o=t.fabricationNote,B=I.color??o,C=I.is_filled??!1,Q=I.has_stroke??!0,i=I.is_stroke_dashed??!1;T0({ctx:A,center:I.center,width:I.width,height:I.height,fill:C?B:void 0,stroke:Q?B:void 0,strokeWidth:Q?I.stroke_width:void 0,borderRadius:I.corner_radius,realToCanvasMat:e,isStrokeDashed:i})}function bBo(g,A){return A.fabricationNote}function HBo(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=bBo(I.layer,t),B=I.color??o,C=I.font_size;bZ({ctx:A,text:I.text,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:C,color:B,realToCanvasMat:e,anchorAlignment:I.anchor_alignment})}function tN(g){const{ctx:A,center:I,radius_x:e,radius_y:t,fill:o,stroke:B,strokeWidth:C=.1,realToCanvasMat:Q,rotation:i=0}=g,[E,n]=lt(Q,[I.x,I.y]),s=e*Math.abs(Q.a),r=t*Math.abs(Q.a),a=C*Math.abs(Q.a);A.save(),A.translate(E,n),i!==0&&A.rotate(-i*(Math.PI/180)),A.beginPath(),A.ellipse(0,0,s,r,0,0,Math.PI*2),o&&(A.fillStyle=o,A.fill()),B&&(A.strokeStyle=B,A.lineWidth=a,A.stroke()),A.restore()}function by(g){const{ctx:A,center:I,width:e,height:t,fill:o,realToCanvasMat:B,rotation:C=0,stroke:Q,strokeWidth:i}=g,[E,n]=lt(B,[I.x,I.y]),s=e*Math.abs(B.a),r=t*Math.abs(B.a),a=i?i*Math.abs(B.a):void 0;if(A.save(),A.translate(E,n),C!==0&&A.rotate(-C*(Math.PI/180)),A.beginPath(),s>r){const c=r/2,h=s-r;A.moveTo(-h/2,-c),A.lineTo(h/2,-c),A.arc(h/2,0,c,-Math.PI/2,Math.PI/2),A.lineTo(-h/2,c),A.arc(-h/2,0,c,Math.PI/2,-Math.PI/2)}else if(r>s){const c=s/2,h=r-s;A.moveTo(c,-h/2),A.lineTo(c,h/2),A.arc(0,h/2,c,0,Math.PI),A.lineTo(-c,-h/2),A.arc(0,-h/2,c,Math.PI,0)}else A.arc(0,0,s/2,0,Math.PI*2);A.closePath(),o&&(A.fillStyle=o,A.fill()),Q&&a&&(A.strokeStyle=Q,A.lineWidth=a,A.stroke()),A.restore()}function XuA(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function rfI(g){const{ctx:A,hole:I,realToCanvasMat:e,colorMap:t,soldermaskMargin:o=0,drawSoldermask:B=!1}=g,C=B&&I.is_covered_with_solder_mask===!0&&o<0?Math.abs(o):0;if(!(("hole_diameter"in I?I.hole_diameter:Math.min(I.hole_width,I.hole_height))<=C*2)){if(I.hole_shape==="circle"){Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2-C,fill:t.drill,realToCanvasMat:e});return}if(I.hole_shape==="square"){const i=XuA(I);T0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_diameter-C*2,height:I.hole_diameter-C*2,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:i});return}if(I.hole_shape==="oval"){const i=XuA(I);tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2-C,radius_y:I.hole_height/2-C,fill:t.drill,realToCanvasMat:e,rotation:i});return}if(I.hole_shape==="rect"){const i=XuA(I);T0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width-C*2,height:I.hole_height-C*2,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:i});return}if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const i=XuA(I);by({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width-C*2,height:I.hole_height-C*2,fill:t.drill,realToCanvasMat:e,rotation:i});return}}}function vBo(g){const{ctx:A,cx:I,cy:e,radius:t}=g;A.beginPath(),A.arc(I,e,t,0,Math.PI*2)}function TBo(g){const{ctx:A,cx:I,cy:e,width:t,height:o}=g;A.beginPath(),A.rect(I-t/2,e-o/2,t,o)}function CL(g){const{ctx:A,cx:I,cy:e,width:t,height:o,ccwRotationDegrees:B=0}=g,C=B*Math.PI/180,Q=juA(gF(I,e),XeA(-C));if(t>o){const i=o/2,E=(t-o)/2,n=lt(Q,{x:-E,y:0}),s=lt(Q,{x:E,y:0}),r=lt(Q,{x:E,y:-i});A.moveTo(r.x,r.y),A.arc(s.x,s.y,i,-C-Math.PI/2,-C+Math.PI/2),A.arc(n.x,n.y,i,-C+Math.PI/2,-C-Math.PI/2)}else if(o>t){const i=t/2,E=(o-t)/2,n=lt(Q,{x:0,y:-E}),s=lt(Q,{x:0,y:E}),r=lt(Q,{x:i,y:E});A.moveTo(r.x,r.y),A.arc(s.x,s.y,i,-C,-C+Math.PI),A.arc(n.x,n.y,i,-C+Math.PI,-C)}else{const i=t/2;A.moveTo(I+i,e),A.arc(I,e,i,0,Math.PI*2)}A.closePath()}function oN(g){const{ctx:A,cx:I,cy:e,width:t,height:o,radius:B,ccwRotationDegrees:C=0}=g,Q=C*Math.PI/180,i=juA(gF(I,e),XeA(-Q)),E=t/2,n=o/2,s=Math.min(B,E,n);if(s>0){const r=lt(i,{x:-E,y:-n}),a=lt(i,{x:E,y:-n}),c=lt(i,{x:E,y:n}),h=lt(i,{x:-E,y:n}),l=lt(i,{x:-E,y:0});A.moveTo(l.x,l.y),A.arcTo(r.x,r.y,a.x,a.y,s),A.arcTo(a.x,a.y,c.x,c.y,s),A.arcTo(c.x,c.y,h.x,h.y,s),A.arcTo(h.x,h.y,r.x,r.y,s)}else{const r=lt(i,{x:-E,y:-n}),a=lt(i,{x:E,y:-n}),c=lt(i,{x:E,y:n}),h=lt(i,{x:-E,y:n});A.moveTo(r.x,r.y),A.lineTo(a.x,a.y),A.lineTo(c.x,c.y),A.lineTo(h.x,h.y)}A.closePath()}function qBo(g){const{ctx:A,pad:I,realToCanvasMat:e,color:t,drillCutouts:o}=g;if(A.save(),A.beginPath(),!cfI(A,I,e)){A.restore();return}A.clip(),A.beginPath(),cfI(A,I,e);for(const B of o)OBo(A,B,e);A.fillStyle=t,A.fill("evenodd"),A.restore()}function ZBo(g){const{pad:A,holes:I=[],platedHoles:e=[],vias:t=[],cutouts:o=[]}=g,B=VBo(A);if(!B)return[];const C=[],Q=i=>{i&&XBo(B,jBo(i))&&C.push(i)};for(const i of o)Q(zBo(i));for(const i of I)Q($Bo(i));for(const i of e)ufI(i.layers,A.layer)&&Q(wfI(i));for(const i of t){if(!ufI(i.layers,A.layer))continue;const E=i.hole_diameter/2;if(E<=0)continue;const n={shape:"circle",x:i.x,y:i.y,radius:E};Q(n)}return C}function cfI(g,A,I){return A.shape==="rect"||A.shape==="rotated_rect"?(lfI(g,{x:A.x,y:A.y,width:A.width,height:A.height,radius:ACo(A),rotation:A.shape==="rotated_rect"?A.ccw_rotation??0:0,realToCanvasMat:I}),!0):A.shape==="circle"?(hfI(g,{x:A.x,y:A.y,radius:A.radius,realToCanvasMat:I}),!0):A.shape==="pill"||A.shape==="rotated_pill"?(DfI(g,{x:A.x,y:A.y,width:A.width,height:A.height,rotation:A.shape==="rotated_pill"?A.ccw_rotation??0:0,realToCanvasMat:I}),!0):A.shape==="polygon"&&A.points&&A.points.length>=3?(dfI(g,A.points,I),!0):!1}function OBo(g,A,I){if(A.shape==="circle"){hfI(g,{x:A.x,y:A.y,radius:A.radius,realToCanvasMat:I});return}if(A.shape==="oval"){WBo(g,{x:A.x,y:A.y,radiusX:A.radiusX,radiusY:A.radiusY,rotation:A.rotation,realToCanvasMat:I});return}if(A.shape==="pill"){DfI(g,{x:A.x,y:A.y,width:A.width,height:A.height,rotation:A.rotation,realToCanvasMat:I});return}if(A.shape==="polygon"){dfI(g,A.points,I);return}lfI(g,{x:A.x,y:A.y,width:A.width,height:A.height,radius:A.radius,rotation:A.rotation,realToCanvasMat:I})}function hfI(g,A){const{x:I,y:e,radius:t,realToCanvasMat:o}=A,[B,C]=lt(o,[I,e]),Q=t*Math.abs(o.a);g.moveTo(B+Q,C),g.arc(B,C,Q,0,Math.PI*2),g.closePath()}function WBo(g,A){const{x:I,y:e,radiusX:t,radiusY:o,rotation:B=0,realToCanvasMat:C}=A,[Q,i]=lt(C,[I,e]),E=t*Math.abs(C.a),n=o*Math.abs(C.a),s=-B*Math.PI/180;g.moveTo(Q+E*Math.cos(s),i+E*Math.sin(s)),g.ellipse(Q,i,E,n,s,0,Math.PI*2),g.closePath()}function lfI(g,A){const{x:I,y:e,width:t,height:o,radius:B=0,rotation:C=0,realToCanvasMat:Q}=A,[i,E]=lt(Q,[I,e]),n=t*Math.abs(Q.a),s=o*Math.abs(Q.a),r=B*Math.abs(Q.a);if(g.save(),g.translate(i,E),C!==0&&g.rotate(-C*(Math.PI/180)),r>0){const a=-n/2,c=-s/2,h=Math.min(r,n/2,s/2);g.moveTo(a+h,c),g.lineTo(a+n-h,c),g.arcTo(a+n,c,a+n,c+h,h),g.lineTo(a+n,c+s-h),g.arcTo(a+n,c+s,a+n-h,c+s,h),g.lineTo(a+h,c+s),g.arcTo(a,c+s,a,c+s-h,h),g.lineTo(a,c+h),g.arcTo(a,c,a+h,c,h),g.closePath()}else g.rect(-n/2,-s/2,n,s);g.restore()}function DfI(g,A){const{x:I,y:e,width:t,height:o,rotation:B=0,realToCanvasMat:C}=A,[Q,i]=lt(C,[I,e]),E=t*Math.abs(C.a),n=o*Math.abs(C.a);CL({ctx:g,cx:Q,cy:i,width:E,height:n,ccwRotationDegrees:B})}function dfI(g,A,I){const e=A[0];if(!e)return;const[t,o]=lt(I,[e.x,e.y]);g.moveTo(t,o);for(let B=1;B<A.length;B++){const C=A[B];if(!C)continue;const[Q,i]=lt(I,[C.x,C.y]);g.lineTo(Q,i)}g.closePath()}function VBo(g){if(g.shape==="circle")return QL(g.x,g.y,g.radius,g.radius);if(g.shape==="rect"||g.shape==="rotated_rect"||g.shape==="pill"||g.shape==="rotated_pill"){const A=Math.hypot(g.width/2,g.height/2);return(g.shape==="rotated_rect"||g.shape==="rotated_pill")&&(g.ccw_rotation??0)!==0?QL(g.x,g.y,A,A):QL(g.x,g.y,g.width/2,g.height/2)}if(g.shape==="polygon"&&g.points&&g.points.length>=3)return yfI(g.points)}function jBo(g){if(g.shape==="polygon")return yfI(g.points);if(g.shape==="circle")return QL(g.x,g.y,g.radius,g.radius);if(g.shape==="oval"){if((g.rotation??0)!==0){const e=Math.hypot(g.radiusX,g.radiusY);return QL(g.x,g.y,e,e)}return QL(g.x,g.y,g.radiusX,g.radiusY)}const A=g.width/2,I=g.height/2;if((g.rotation??0)!==0){const e=Math.hypot(A,I);return QL(g.x,g.y,e,e)}return QL(g.x,g.y,A,I)}function zBo(g){if(g.shape==="circle")return g.radius<=0?void 0:{shape:"circle",x:g.center.x,y:g.center.y,radius:g.radius};if(g.shape==="rect")return g.width<=0||g.height<=0?void 0:{shape:"rect",x:g.center.x,y:g.center.y,width:g.width,height:g.height,radius:g.corner_radius,rotation:g.rotation};if(g.shape==="polygon"&&g.points.length>=3)return{shape:"polygon",points:g.points}}function yfI(g){let A=1/0,I=-1/0,e=1/0,t=-1/0;for(const o of g)A=Math.min(A,o.x),I=Math.max(I,o.x),e=Math.min(e,o.y),t=Math.max(t,o.y);return{minX:A,maxX:I,minY:e,maxY:t}}function QL(g,A,I,e){return{minX:g-I,maxX:g+I,minY:A-e,maxY:A+e}}function XBo(g,A){return g.minX<=A.maxX&&g.maxX>=A.minX&&g.minY<=A.maxY&&g.maxY>=A.minY}function $Bo(g){if(g.hole_shape==="circle"){const A=g.hole_diameter/2;return A<=0?void 0:{shape:"circle",x:g.x,y:g.y,radius:A}}if(g.hole_shape==="square")return g.hole_diameter<=0?void 0:{shape:"rect",x:g.x,y:g.y,width:g.hole_diameter,height:g.hole_diameter,rotation:$uA(g)};if(g.hole_shape==="oval")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"oval",x:g.x,y:g.y,radiusX:g.hole_width/2,radiusY:g.hole_height/2,rotation:$uA(g)};if(g.hole_shape==="rect")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"rect",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:$uA(g)};if(g.hole_shape==="pill"||g.hole_shape==="rotated_pill")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:$uA(g)}}function wfI(g){if(g.shape==="circle"){const o=g.hole_diameter/2;return o<=0?void 0:{shape:"circle",x:g.x,y:g.y,radius:o}}if(g.shape==="oval"){const o=g.hole_width/2,B=g.hole_height/2;return o<=0||B<=0?void 0:{shape:"oval",x:g.x,y:g.y,radiusX:o,radiusY:B,rotation:g.ccw_rotation}}if(g.shape==="pill")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:g.ccw_rotation};if(g.shape==="circular_hole_with_rect_pad"){const o=g.hole_diameter/2;return o<=0?void 0:{shape:"circle",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),radius:o}}if(g.shape==="pill_hole_with_rect_pad")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),width:g.hole_width,height:g.hole_height};if(g.shape==="rotated_pill_hole_with_rect_pad")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),width:g.hole_width,height:g.hole_height,rotation:g.hole_ccw_rotation};if(g.shape!=="hole_with_polygon_pad")return;const A=lt(XeA((g.ccw_rotation??0)*Math.PI/180),{x:g.hole_offset_x??0,y:g.hole_offset_y??0}),I=g.x+A.x,e=g.y+A.y,t=g.hole_shape;if(t==="circle"){const o=(g.hole_diameter??0)/2;return o<=0?void 0:{shape:"circle",x:I,y:e,radius:o}}if(t==="oval"){const o=(g.hole_width??0)/2,B=(g.hole_height??0)/2;return o<=0||B<=0?void 0:{shape:"oval",x:I,y:e,radiusX:o,radiusY:B,rotation:g.ccw_rotation}}if(t==="pill"||t==="rotated_pill"){const o=g.hole_width??0,B=g.hole_height??0;return o<=0||B<=0?void 0:{shape:"pill",x:I,y:e,width:o,height:B,rotation:g.ccw_rotation}}}function $uA(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function ACo(g){return g.shape==="rect"||g.shape==="rotated_rect"?g.corner_radius??g.rect_border_radius??0:0}function ufI(g,A){if(!g||g.length===0)return!0;const I=GfI(A);return g.some(e=>GfI(e)===I)}function GfI(g){if(typeof g=="string")return g;if(g&&typeof g=="object"&&"name"in g&&typeof g.name=="string")return g.name}function gCo(g,A){const I=parseInt(g.slice(1,3),16),e=parseInt(g.slice(3,5),16),t=parseInt(g.slice(5,7),16);return`rgba(${I}, ${e}, ${t}, ${A})`}function ICo(g,A){return g.layers.includes("bottom")&&!g.layers.includes("top")?A.keepout.bottom:A.keepout.top}function mfI(g){const{ctx:A,strokeColor:I,hatchWidth:e,hatchSpacing:t,diagonal:o,getLineEndpoints:B}=g;A.strokeStyle=I,A.lineWidth=e,A.setLineDash([]);for(let C=-o;C<o*2;C+=t){const{startX:Q,startY:i,endX:E,endY:n}=B(C);A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.stroke()}}function pfI(g){const{ctx:A,fillColor:I,drawPath:e,drawHatch:t}=g;e(),A.fillStyle=I,A.fill(),e(),A.clip(),t()}function eCo(g){const{ctx:A,keepout:I,realToCanvasMat:e,colorMap:t}=g,o=Math.abs(e.a),B=ICo(I,t),C=gCo(B,.2),Q=1*o,i=.15*o;if(I.shape==="rect"){const[E,n]=lt(e,[I.center.x,I.center.y]),s=I.width*o,r=I.height*o,a=I.rotation??0,c=Math.sqrt(s*s+r*r),h=s/2,l=r/2;A.save(),A.translate(E,n),a!==0&&A.rotate(-a*(Math.PI/180)),pfI({ctx:A,fillColor:C,drawPath:()=>TBo({ctx:A,cx:0,cy:0,width:s,height:r}),drawHatch:()=>mfI({ctx:A,strokeColor:B,hatchWidth:i,hatchSpacing:Q,diagonal:c,getLineEndpoints:D=>({startX:-h+D,startY:-l,endX:-h+D+c,endY:-l+c})})}),A.restore();return}if(I.shape==="circle"){const[E,n]=lt(e,[I.center.x,I.center.y]),s=I.radius*o,r=s*2;A.save(),A.translate(E,n),pfI({ctx:A,fillColor:C,drawPath:()=>vBo({ctx:A,cx:0,cy:0,radius:s}),drawHatch:()=>mfI({ctx:A,strokeColor:B,hatchWidth:i,hatchSpacing:Q,diagonal:r,getLineEndpoints:a=>({startX:a-r,startY:-r,endX:a+r,endY:r})})}),A.restore()}}var tCo="rgba(255,255,255,0.5)";function oCo(g){const{ctx:A,pcbNoteDimension:I,realToCanvasMat:e}=g,t=I.color??tCo;afI({ctx:A,from:I.from,to:I.to,realToCanvasMat:e,color:t,fontSize:I.font_size,arrowSize:I.arrow_size,text:I.text,textRotation:I.text_ccw_rotation,offset:I.offset_distance&&I.offset_direction?{distance:I.offset_distance,direction:I.offset_direction}:void 0})}function BCo(g){const{ctx:A,line:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)",B=I.stroke_width??.1,C=I.is_dashed??!1,[Q,i]=lt(e,[I.x1,I.y1]),[E,n]=lt(e,[I.x2,I.y2]),s=B*Math.abs(e.a);A.save(),C?A.setLineDash([s*2,s*2]):A.setLineDash([]),A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.lineWidth=s,A.strokeStyle=o,A.lineCap="round",A.stroke(),A.restore()}function $eA(g){const{ctx:A,start:I,end:e,strokeWidth:t,stroke:o,realToCanvasMat:B,lineCap:C="round"}=g,[Q,i]=lt(B,[I.x,I.y]),[E,n]=lt(B,[e.x,e.y]),s=t*Math.abs(B.a);A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.lineWidth=s,A.strokeStyle=o,A.lineCap=C,A.stroke()}function CCo(g){const{ctx:A,path:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)";if(!(!I.route||I.route.length<2))for(let B=0;B<I.route.length-1;B++){const C=I.route[B],Q=I.route[B+1];!C||!Q||$eA({ctx:A,start:{x:C.x,y:C.y},end:{x:Q.x,y:Q.y},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}}function QCo(g){const{ctx:A,rect:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)",B=I.is_filled??!1,C=I.has_stroke??!0,Q=I.is_stroke_dashed??!1;T0({ctx:A,center:I.center,width:I.width,height:I.height,fill:B?o:void 0,stroke:C?o:void 0,strokeWidth:C?I.stroke_width:void 0,borderRadius:I.corner_radius,realToCanvasMat:e,isStrokeDashed:Q})}var iCo="rgb(89, 148, 220)";function ECo(g){const{ctx:A,text:I,realToCanvasMat:e}=g,t=iCo,o=I.color??t,B=I.font_size??1;bZ({ctx:A,text:I.text??"",x:I.anchor_position.x,y:I.anchor_position.y,fontSize:B,color:o,realToCanvasMat:e,anchorAlignment:I.anchor_alignment??"center",mirrorX:I.is_mirrored_from_top_view??I.layer==="bottom"})}function nCo(g){const{ctx:A,panel:I,realToCanvasMat:e,colorMap:t}=g,{width:o,height:B,center:C}=I;if(o!==void 0&&B!==void 0&&C){const Q=o/2,i=B/2,E=[{x:C.x-Q,y:C.y-i},{x:C.x+Q,y:C.y-i},{x:C.x+Q,y:C.y+i},{x:C.x-Q,y:C.y+i}];zuA({ctx:A,points:E,stroke:t.boardOutline,strokeWidth:.5,realToCanvasMat:e,closePath:!0})}}function AGA(g,A){if(g.length<3||A===0)return g;let I=0,e=0;for(const o of g)I+=o.x,e+=o.y;I/=g.length,e/=g.length;const t=[];for(const o of g){const B=o.x-I,C=o.y-e,Q=Math.sqrt(B*B+C*C);if(Q>0){const i=B/Q,E=C/Q;t.push({x:o.x+i*A,y:o.y+E*A})}else t.push({x:o.x+A,y:o.y})}return t}function kfI(g,A){return g.shape==="circle"?g.outer_diameter+A*2<=0:g.shape==="oval"||g.shape==="pill"?Math.min(g.outer_width,g.outer_height)+A*2<=0:"rect_pad_width"in g?Math.min(g.rect_pad_width,g.rect_pad_height)+A*2<=0:!1}function MfI(g){const{ctx:A,hole:I,realToCanvasMat:e,colorMap:t,soldermaskMargin:o=0,drawSoldermask:B}=g,C=t.copper[g.layer??"top"],Q=B&&I.is_covered_with_solder_mask===!0&&o<0?Math.abs(o):0,i=!kfI(I,-Q);if(I.shape==="circle"){i&&Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2-Q,fill:C,realToCanvasMat:e}),zJ(A,()=>{Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e})}),Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="oval"){i&&tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.outer_width/2-Q,radius_y:I.outer_height/2-Q,fill:C,realToCanvasMat:e,rotation:I.ccw_rotation}),zJ(A,()=>{tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,fill:"#000",realToCanvasMat:e,rotation:I.ccw_rotation})}),tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,fill:t.drill,realToCanvasMat:e,rotation:I.ccw_rotation});return}if(I.shape==="pill"){i&&by({ctx:A,center:{x:I.x,y:I.y},width:I.outer_width-Q*2,height:I.outer_height-Q*2,fill:C,realToCanvasMat:e,rotation:I.ccw_rotation}),zJ(A,()=>{by({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e,rotation:I.ccw_rotation})}),by({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e,rotation:I.ccw_rotation});return}if(I.shape==="circular_hole_with_rect_pad"){i&&T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0,ccwRotationDegrees:I.rect_ccw_rotation});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);zJ(A,()=>{Yl({ctx:A,center:{x:E,y:n},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e})}),Yl({ctx:A,center:{x:E,y:n},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="pill_hole_with_rect_pad"){i&&T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);zJ(A,()=>{by({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e})}),by({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="rotated_pill_hole_with_rect_pad"){i&&T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0,ccwRotationDegrees:I.rect_ccw_rotation});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);zJ(A,()=>{by({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e,rotation:I.hole_ccw_rotation})}),by({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e,rotation:I.hole_ccw_rotation});return}if(I.shape==="hole_with_polygon_pad"){const E=I.pad_outline;if(E&&E.length>=3){const a=E.map(h=>({x:I.x+h.x,y:I.y+h.y})),c=Q>0?AGA(a,-Q):a;c.length>=3&&IF({ctx:A,points:c,fill:C,realToCanvasMat:e,center:{x:I.x,y:I.y},rotation:I.ccw_rotation})}const n=lt(XeA((I.ccw_rotation??0)*Math.PI/180),{x:I.hole_offset_x??0,y:I.hole_offset_y??0}),s={x:I.x+n.x,y:I.y+n.y},r=I.hole_shape;r==="circle"?(zJ(A,()=>{Yl({ctx:A,center:s,radius:(I.hole_diameter??0)/2,fill:"#000",realToCanvasMat:e})}),Yl({ctx:A,center:s,radius:(I.hole_diameter??0)/2,fill:t.drill,realToCanvasMat:e})):r==="oval"?(zJ(A,()=>{tN({ctx:A,center:s,radius_x:(I.hole_width??0)/2,radius_y:(I.hole_height??0)/2,rotation:I.ccw_rotation,fill:"#000",realToCanvasMat:e})}),tN({ctx:A,center:s,radius_x:(I.hole_width??0)/2,radius_y:(I.hole_height??0)/2,rotation:I.ccw_rotation,fill:t.drill,realToCanvasMat:e})):(r==="pill"||r==="rotated_pill")&&(zJ(A,()=>{by({ctx:A,center:s,width:I.hole_width??0,height:I.hole_height??0,rotation:I.ccw_rotation,fill:"#000",realToCanvasMat:e})}),by({ctx:A,center:s,width:I.hole_width??0,height:I.hole_height??0,rotation:I.ccw_rotation,fill:t.drill,realToCanvasMat:e}));return}}function zJ(g,A){g.save(),g.globalCompositeOperation="destination-out",A(),g.restore()}function sCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function aCo(g){const{ctx:A,circle:I,realToCanvasMat:e,colorMap:t}=g,o=sCo(I.layer,t);Yl({ctx:A,center:I.center,radius:I.radius,stroke:o,strokeWidth:I.stroke_width,realToCanvasMat:e})}function rCo(g){const{ctx:A,graphic:I,realToCanvasMat:e,colorMap:t}=g,o=I.layer==="bottom"?t.silkscreen.bottom:t.silkscreen.top;A.beginPath(),EfI({ctx:A,shape:I.brep_shape,realToCanvasMat:e}),A.fillStyle=o,A.fill("evenodd")}function cCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function hCo(g){const{ctx:A,line:I,realToCanvasMat:e,colorMap:t}=g,o=cCo(I.layer,t);$eA({ctx:A,start:{x:I.x1,y:I.y1},end:{x:I.x2,y:I.y2},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}function lCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function DCo(g){const{ctx:A,oval:I,realToCanvasMat:e,colorMap:t}=g,o=lCo(I.layer,t);tN({ctx:A,center:I.center,radius_x:I.radius_x,radius_y:I.radius_y,stroke:o,strokeWidth:.1,realToCanvasMat:e,rotation:I.ccw_rotation??0})}function dCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function yCo(g){const{ctx:A,path:I,realToCanvasMat:e,colorMap:t}=g,o=dCo(I.layer,t);if(!(!I.route||I.route.length<2))for(let B=0;B<I.route.length-1;B++){const C=I.route[B],Q=I.route[B+1];!C||!Q||$eA({ctx:A,start:{x:C.x,y:C.y},end:{x:Q.x,y:Q.y},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}}function wCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function uCo(g){const{ctx:A,pill:I,realToCanvasMat:e,colorMap:t}=g,o=wCo(I.layer,t);by({ctx:A,center:I.center,width:I.width,height:I.height,stroke:o,strokeWidth:.2,realToCanvasMat:e})}function GCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function mCo(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g,o=GCo(I.layer,t);T0({ctx:A,center:I.center,width:I.width,height:I.height,borderRadius:I.corner_radius,fill:I.is_filled?o:"transparent",stroke:o,strokeWidth:I.stroke_width,realToCanvasMat:e})}function pCo(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function kCo(g){return g||"center"}function MCo(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=I.text??"";if(!o)return;const B=pCo(I.layer,t),C=kCo(I.anchor_alignment),Q=I.font_size??1;bZ({ctx:A,text:o,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:Q,color:B,realToCanvasMat:e,anchorAlignment:C,rotation:I.ccw_rotation??0,mirrorX:I.layer==="bottom",knockout:I.is_knockout,knockoutPadding:I.is_knockout?I.knockout_padding:void 0})}function SCo(g,A){return A.copper[g]??A.copper.top}function SfI(g){return g.shape==="rect"||g.shape==="rotated_rect"?g.corner_radius??g.rect_border_radius??0:0}function fCo(g){const{ctx:A,pad:I,realToCanvasMat:e,colorMap:t}=g,o=SCo(I.layer,t),B=ZBo(g);if(B.length>0){qBo({ctx:A,pad:I,realToCanvasMat:e,color:o,drillCutouts:B});return}if(I.shape==="rect"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,borderRadius:SfI(I)});return}if(I.shape==="rotated_rect"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,borderRadius:SfI(I),ccwRotationDegrees:I.ccw_rotation??0});return}if(I.shape==="circle"){Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.radius,fill:o,realToCanvasMat:e});return}if(I.shape==="pill"){by({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e});return}if(I.shape==="rotated_pill"){by({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,rotation:I.ccw_rotation??0});return}if(I.shape==="polygon"){I.points&&I.points.length>=3&&IF({ctx:A,points:I.points,fill:o,realToCanvasMat:e});return}}var AtA="rgb(105, 105, 105)";function ffI(g){const{ctx:A,solderPaste:I,realToCanvasMat:e}=g;if(I.shape==="polygon")return;const t={x:I.x,y:I.y};if(I.shape==="rect"){T0({ctx:A,center:t,width:I.width,height:I.height,fill:AtA,realToCanvasMat:e});return}if(I.shape==="rotated_rect"){T0({ctx:A,center:t,width:I.width,height:I.height,fill:AtA,realToCanvasMat:e,ccwRotationDegrees:I.ccw_rotation});return}if(I.shape==="pill"){by({ctx:A,center:t,width:I.width,height:I.height,fill:AtA,realToCanvasMat:e});return}if(I.shape==="oval"){tN({ctx:A,center:t,radius_x:I.width/2,radius_y:I.height/2,fill:AtA,realToCanvasMat:e});return}I.shape==="circle"&&Yl({ctx:A,center:t,radius:I.radius,fill:AtA,realToCanvasMat:e})}function RCo(g){return typeof g=="function"}function RfI(g,A,I){if(A<=0||I<=0)return null;const e=globalThis;let t=null;if("OffscreenCanvas"in e&&typeof e.OffscreenCanvas=="function")t=new e.OffscreenCanvas(A,I);else if("document"in e&&e.document&&typeof e.document.createElement=="function"){const B=e.document.createElement("canvas");B.width=A,B.height=I,t=B}else{const B=g.canvas.constructor;if(RCo(B))try{t=new B(A,I)}catch{return null}}if(!t)return null;const o=t.getContext("2d");return o&&(o.boardOwnerMap=g.boardOwnerMap),o}function NCo(g){return"createPattern"in g&&typeof Reflect.get(g,"createPattern")=="function"}function NfI(g,A){if(g===A||A.canvas.width<=0||A.canvas.height<=0||!NCo(g))return!1;let I=null;try{I=g.createPattern(A.canvas,"no-repeat")}catch{return!1}return I?(g.save(),g.globalCompositeOperation="source-over",g.fillStyle=I,g.fillRect(0,0,A.canvas.width,A.canvas.height),g.restore(),!0):!1}function xfI(g){const{ctx:A,board:I,realToCanvasMat:e,soldermaskColor:t}=g,{width:o,height:B,center:C,outline:Q}=I;if(Q&&Array.isArray(Q)&&Q.length>=3){const i=Q.map(E=>{const[n,s]=lt(e,[E.x,E.y]);return{x:n,y:s}});A.beginPath(),HZ({ctx:A,points:i}),A.fillStyle=t,A.fill()}else if(o!==void 0&&B!==void 0&&C){const[i,E]=lt(e,[C.x,C.y]),n=o*Math.abs(e.a),s=B*Math.abs(e.a);A.fillStyle=t,A.fillRect(i-n/2,E-s/2,n,s)}}function xCo(g){const{ctx:A,panel:I,realToCanvasMat:e,soldermaskColor:t}=g,{width:o,height:B,center:C}=I;if(o===void 0||B===void 0||!C)return;const[Q,i]=lt(e,[C.x,C.y]),E=o*Math.abs(e.a),n=B*Math.abs(e.a);A.fillStyle=t,A.fillRect(Q-E/2,i-n/2,E,n)}function XJ(g){g.save(),g.globalCompositeOperation="destination-out",g.fill(),g.restore()}function FCo(g){const{ctx:A,cutout:I,realToCanvasMat:e}=g;if(I.shape==="rect"){const[t,o]=lt(e,[I.center?.x??0,I.center?.y??0]),B=I.width*Math.abs(e.a),C=I.height*Math.abs(e.a),Q=(I.corner_radius??0)*Math.abs(e.a);A.save(),A.translate(t,o),I.rotation&&A.rotate(-I.rotation*Math.PI/180),A.beginPath(),oN({ctx:A,cx:0,cy:0,width:B,height:C,radius:Q}),A.restore(),XJ(A)}else if(I.shape==="circle"){const[t,o]=lt(e,[I.center?.x??0,I.center?.y??0]),B=I.radius*Math.abs(e.a);A.beginPath(),A.arc(t,o,B,0,Math.PI*2),A.closePath(),XJ(A)}else if(I.shape==="polygon"&&I.points&&I.points.length>=3){const t=I.points.map(o=>{const[B,C]=lt(e,[o.x,o.y]);return{x:B,y:C}});A.beginPath(),HZ({ctx:A,points:t}),XJ(A)}}var Hy="rgba(255, 255, 255, 1)";function wtg(g){const{ctx:A,elements:I,layer:e,realToCanvasMat:t}=g;A.save(),A.globalCompositeOperation="destination-out";for(const o of I){if(o.type==="pcb_smtpad"){if(o.layer!==e||o.is_covered_with_solder_mask===!0)continue;UCo({ctx:A,pad:o,realToCanvasMat:t});continue}if(o.type==="pcb_plated_hole"){if(o.layers&&!o.layers.includes(e)||o.is_covered_with_solder_mask===!0)continue;JCo({ctx:A,hole:o,realToCanvasMat:t});continue}if(o.type==="pcb_via"){if(o.layers&&!o.layers.includes(e))continue;Yl({ctx:A,center:{x:o.x,y:o.y},radius:o.outer_diameter/2,fill:Hy,realToCanvasMat:t});continue}if(o.type==="pcb_hole"){if(o.is_covered_with_solder_mask===!0)continue;PCo({ctx:A,hole:o,realToCanvasMat:t})}}A.restore()}function UCo(g){const{ctx:A,pad:I,realToCanvasMat:e}=g;if(I.shape==="rect"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,borderRadius:I.corner_radius??I.rect_border_radius??0,fill:Hy,realToCanvasMat:e});return}if(I.shape==="rotated_rect"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,borderRadius:I.corner_radius??I.rect_border_radius??0,ccwRotationDegrees:I.ccw_rotation??0,fill:Hy,realToCanvasMat:e});return}if(I.shape==="circle"){Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.radius,fill:Hy,realToCanvasMat:e});return}if(I.shape==="pill"||I.shape==="rotated_pill"){by({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,rotation:I.shape==="rotated_pill"?I.ccw_rotation??0:0,fill:Hy,realToCanvasMat:e});return}I.shape==="polygon"&&I.points&&I.points.length>=3&&IF({ctx:A,points:I.points,fill:Hy,realToCanvasMat:e})}function JCo(g){const{ctx:A,hole:I,realToCanvasMat:e}=g;if(I.shape==="circle"){Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2,fill:Hy,realToCanvasMat:e});return}if(I.shape==="oval"){tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.outer_width/2,radius_y:I.outer_height/2,rotation:I.ccw_rotation,fill:Hy,realToCanvasMat:e});return}if(I.shape==="pill"){by({ctx:A,center:{x:I.x,y:I.y},width:I.outer_width,height:I.outer_height,rotation:I.ccw_rotation,fill:Hy,realToCanvasMat:e});return}if(I.shape==="circular_hole_with_rect_pad"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,ccwRotationDegrees:I.rect_ccw_rotation,fill:Hy,realToCanvasMat:e});return}if(I.shape==="pill_hole_with_rect_pad"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,fill:Hy,realToCanvasMat:e});return}if(I.shape==="rotated_pill_hole_with_rect_pad"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,ccwRotationDegrees:I.rect_ccw_rotation,fill:Hy,realToCanvasMat:e});return}I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3&&IF({ctx:A,points:I.pad_outline.map(t=>({x:I.x+t.x,y:I.y+t.y})),fill:Hy,realToCanvasMat:e,center:{x:I.x,y:I.y},rotation:I.ccw_rotation})}function PCo(g){const{ctx:A,hole:I,realToCanvasMat:e}=g,t="ccw_rotation"in I&&typeof I.ccw_rotation=="number"?I.ccw_rotation:0;if(I.hole_shape==="circle"){Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:Hy,realToCanvasMat:e});return}if(I.hole_shape==="square"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_diameter,height:I.hole_diameter,ccwRotationDegrees:t,fill:Hy,realToCanvasMat:e});return}if(I.hole_shape==="oval"){tN({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,rotation:t,fill:Hy,realToCanvasMat:e});return}if(I.hole_shape==="rect"){T0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,ccwRotationDegrees:t,fill:Hy,realToCanvasMat:e});return}(I.hole_shape==="pill"||I.hole_shape==="rotated_pill")&&by({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,rotation:t,fill:Hy,realToCanvasMat:e})}function KCo(g,A,I,e,t){if(Math.abs(t)<1e-10)return null;const o=I-g,B=e-A,C=Math.hypot(o,B);if(C<1e-10)return null;const Q=Math.abs(t)*(C/2),i=C/2,E=(Q*Q+i*i)/(2*Q),n=E-Q,s=(g+I)/2,r=(A+e)/2,a=-B/C,c=o/C,h=t>0?-1:1;return{centerX:s+h*a*n,centerY:r+h*c*n,radius:E}}function utg(g,A,I,e,t,o,B){if(Math.abs(o)<1e-10){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const C=KCo(A,I,e,t,o);if(!C){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const[Q,i]=lt(B,[A,I]),[E,n]=lt(B,[e,t]),[s,r]=lt(B,[C.centerX,C.centerY]),a=Math.hypot(Q-s,i-r),c=Math.atan2(i-r,Q-s),h=Math.atan2(n-r,E-s),D=B.a*B.d-B.b*B.c<0,d=o>0?!D:D;g.arc(s,r,a,c,h,d)}function FfI(g,A,I){if(A.vertices.length<2)return;if(A.vertices.length===2){const B=A.vertices[0],C=A.vertices[1];if(B&&C&&Math.abs((B.bulge??0)-1)<1e-10&&Math.abs((C.bulge??0)-1)<1e-10){const[Q,i]=lt(I,[B.x,B.y]);g.moveTo(Q,i),utg(g,B.x,B.y,C.x,C.y,1,I),utg(g,C.x,C.y,B.x,B.y,1,I);return}}const e=A.vertices[0];if(!e)return;const[t,o]=lt(I,[e.x,e.y]);g.moveTo(t,o);for(let B=0;B<A.vertices.length;B++){const C=A.vertices[B],Q=A.vertices[(B+1)%A.vertices.length];if(!C||!Q)continue;const i=C.bulge??0;if(Math.abs(i)<1e-10){const[E,n]=lt(I,[Q.x,Q.y]);g.lineTo(E,n)}else utg(g,C.x,C.y,Q.x,Q.y,i,I)}}function LCo(g){const{ctx:A,pour:I,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:o,elements:B}=g;if(I.layer===o&&I.covered_with_solder_mask===!0){if(A.save(),A.fillStyle=t,I.shape==="rect"){const[C,Q]=lt(e,[I.center.x,I.center.y]),i=I.width*Math.abs(e.a),E=I.height*Math.abs(e.a);A.translate(C,Q),I.rotation&&A.rotate(-I.rotation*(Math.PI/180)),A.beginPath(),A.rect(-i/2,-E/2,i,E),A.fill(),A.restore(),wtg({ctx:A,elements:B,layer:o,realToCanvasMat:e});return}if(I.shape==="polygon"){if(I.points&&I.points.length>=3){const C=I.points.map(i=>lt(e,[i.x,i.y])),Q=C[0];if(Q){A.beginPath();const[i,E]=Q;A.moveTo(i,E);for(let n=1;n<C.length;n++){const s=C[n];if(!s)continue;const[r,a]=s;A.lineTo(r,a)}A.closePath(),A.fill(),wtg({ctx:A,elements:B,layer:o,realToCanvasMat:e})}}A.restore();return}if(I.shape==="brep"){if(A.beginPath(),FfI(A,I.brep_shape.outer_ring,e),I.brep_shape.inner_rings)for(const C of I.brep_shape.inner_rings)FfI(A,C,e);A.fill("evenodd"),wtg({ctx:A,elements:B,layer:o,realToCanvasMat:e}),A.restore();return}A.restore()}}function YCo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,substrateColor:o,phase:B}=g,Q=I.is_covered_with_solder_mask===!0?I.soldermask_margin??0:0;if(B==="substrate"){Q>0&&(A.fillStyle=o,Gtg({ctx:A,hole:I,realToCanvasMat:e,margin:Q}),A.fill());return}Q<0?(Gtg({ctx:A,hole:I,realToCanvasMat:e,margin:Q}),XJ(A),_Co({ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:Q})):(Gtg({ctx:A,hole:I,realToCanvasMat:e,margin:0}),XJ(A))}function UfI(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function Gtg(g){const{ctx:A,hole:I,realToCanvasMat:e,margin:t}=g,o=UfI(I);if(A.beginPath(),!(("hole_diameter"in I?I.hole_diameter:Math.min(I.hole_width,I.hole_height))+t*2<=0)){if(I.hole_shape==="circle"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_diameter/2+t)*Math.abs(e.a);A.beginPath(),A.arc(C,Q,i,0,Math.PI*2),A.closePath()}else if(I.hole_shape==="square"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_diameter+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.rect(-i/2,-i/2,i,i),A.closePath(),A.restore()}else if(I.hole_shape==="oval"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width/2+t)*Math.abs(e.a),E=(I.hole_height/2+t)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.ellipse(0,0,i,E,0,0,Math.PI*2),A.closePath(),A.restore()}else if(I.hole_shape==="rect"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width+t*2)*Math.abs(e.a),E=(I.hole_height+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.rect(-i/2,-E/2,i,E),A.closePath(),A.restore()}else if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width+t*2)*Math.abs(e.a),E=(I.hole_height+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),CL({ctx:A,cx:0,cy:0,width:i,height:E}),A.restore()}}}function _Co(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:o}=g,B=Math.abs(o),C=UfI(I);if(A.fillStyle=t,I.hole_shape==="circle"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_diameter/2*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,E-n);A.save(),A.beginPath(),A.arc(Q,i,E,0,Math.PI*2),s>0&&A.arc(Q,i,s,0,Math.PI*2,!0),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="square"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_diameter*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,E-n*2);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.rect(-E/2,-E/2,E,E),s>0&&A.rect(-s/2,-s/2,s,s),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="oval"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width/2*Math.abs(e.a),n=I.hole_height/2*Math.abs(e.a),s=B*Math.abs(e.a),r=Math.max(0,E-s),a=Math.max(0,n-s);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.ellipse(0,0,E,n,0,0,Math.PI*2),r>0&&a>0&&(A.moveTo(r,0),A.ellipse(0,0,r,a,0,0,Math.PI*2)),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="rect"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width*Math.abs(e.a),n=I.hole_height*Math.abs(e.a),s=B*Math.abs(e.a),r=Math.max(0,E-s*2),a=Math.max(0,n-s*2);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.rect(-E/2,-n/2,E,n),r>0&&a>0&&A.rect(-r/2,-a/2,r,a),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width*Math.abs(e.a),n=I.hole_height*Math.abs(e.a),s=B*Math.abs(e.a);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),CL({ctx:A,cx:0,cy:0,width:E,height:n});const r=E-s*2,a=n-s*2;r>0&&a>0&&CL({ctx:A,cx:0,cy:0,width:r,height:a}),A.fill("evenodd"),A.restore()}}function bCo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,substrateColor:o,layer:B,phase:C}=g;if(I.layers&&!I.layers.includes(B))return;const i=I.is_covered_with_solder_mask===!0?I.soldermask_margin??0:0;if(C==="substrate"){i>0&&(A.fillStyle=o,mtg({ctx:A,hole:I,realToCanvasMat:e,margin:i}),A.fill());return}i<0?(mtg({ctx:A,hole:I,realToCanvasMat:e,margin:i}),XJ(A),HCo({ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:i})):(mtg({ctx:A,hole:I,realToCanvasMat:e,margin:0}),XJ(A))}function mtg(g){const{ctx:A,hole:I,realToCanvasMat:e,margin:t}=g;if(A.beginPath(),!kfI(I,t)){if(I.shape==="circle"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_diameter/2+t)*Math.abs(e.a);A.beginPath(),A.arc(o,B,C,0,Math.PI*2),A.closePath()}else if(I.shape==="oval"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_width/2+t)*Math.abs(e.a),Q=(I.outer_height/2+t)*Math.abs(e.a);A.beginPath(),A.ellipse(o,B,C,Q,-((I.ccw_rotation??0)*Math.PI)/180,0,Math.PI*2),A.closePath()}else if(I.shape==="pill"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_width+t*2)*Math.abs(e.a),Q=(I.outer_height+t*2)*Math.abs(e.a);A.beginPath(),CL({ctx:A,cx:o,cy:B,width:C,height:Q,ccwRotationDegrees:I.ccw_rotation})}else if(I.shape==="circular_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),oN({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i,ccwRotationDegrees:I.rect_ccw_rotation})}else if(I.shape==="pill_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),oN({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i})}else if(I.shape==="rotated_pill_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),oN({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i,ccwRotationDegrees:I.rect_ccw_rotation})}else if(I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3){const[o,B]=lt(e,[I.x,I.y]),C=I.pad_outline.map(E=>({x:I.x+E.x,y:I.y+E.y})),i=(t!==0?AGA(C,t):C).map(E=>lt(e,E));A.beginPath(),HZ({ctx:A,points:i,cx:o,cy:B,ccwRotationDegrees:I.ccw_rotation})}}}function HCo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:o}=g,B=Math.abs(o);if(A.fillStyle=t,I.shape==="circle"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_diameter/2*Math.abs(e.a),E=B*Math.abs(e.a),n=Math.max(0,i-E);A.beginPath(),A.arc(C,Q,i,0,Math.PI*2),n>0&&A.arc(C,Q,n,0,Math.PI*2,!0),A.fill("evenodd")}else if(I.shape==="oval"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_width/2*Math.abs(e.a),E=I.outer_height/2*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,i-n),r=Math.max(0,E-n),a=-((I.ccw_rotation??0)*Math.PI)/180;if(A.beginPath(),A.ellipse(C,Q,i,E,a,0,Math.PI*2),s>0&&r>0){const c=C+s*Math.cos(a),h=Q+s*Math.sin(a);A.moveTo(c,h),A.ellipse(C,Q,s,r,a,0,Math.PI*2)}A.fill("evenodd")}else if(I.shape==="pill"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_width*Math.abs(e.a),E=I.outer_height*Math.abs(e.a),n=B*Math.abs(e.a);A.beginPath(),CL({ctx:A,cx:C,cy:Q,width:i,height:E,ccwRotationDegrees:I.ccw_rotation});const s=i-n*2,r=E-n*2;s>0&&r>0&&CL({ctx:A,cx:C,cy:Q,width:s,height:r,ccwRotationDegrees:I.ccw_rotation}),A.fill("evenodd")}else if(I.shape==="circular_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),oN({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s,ccwRotationDegrees:I.rect_ccw_rotation});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);oN({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c,ccwRotationDegrees:I.rect_ccw_rotation})}A.fill("evenodd")}else if(I.shape==="pill_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),oN({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);oN({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c})}A.fill("evenodd")}else if(I.shape==="rotated_pill_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),oN({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s,ccwRotationDegrees:I.rect_ccw_rotation});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);oN({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c,ccwRotationDegrees:I.rect_ccw_rotation})}A.fill("evenodd")}else if(I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3){const[C,Q]=lt(e,[I.x,I.y]),i=I.pad_outline.map(n=>({x:I.x+n.x,y:I.y+n.y})),E=AGA(i,-B);A.beginPath();for(const n of[i,E])n.length<3||HZ({ctx:A,points:n.map(s=>lt(e,s)),cx:C,cy:Q,ccwRotationDegrees:I.ccw_rotation});A.fill("evenodd")}}function JfI(g){const{ctx:A,pad:I,realToCanvasMat:e,soldermaskOverCopperColor:t,copperColor:o,substrateColor:B,layer:C,phase:Q}=g;if(I.layer!==C)return;const i=I.is_covered_with_solder_mask===!0,E=i?I.soldermask_margin??0:0;let n=E,s=E,r=E,a=E;if(i&&(I.shape==="rect"||I.shape==="rotated_rect")&&(n=I.soldermask_margin_left??E,s=I.soldermask_margin_right??E,r=I.soldermask_margin_top??E,a=I.soldermask_margin_bottom??E),Q==="substrate"){n>=0&&s>=0&&r>=0&&a>=0&&(n>0||s>0||r>0||a>0)&&(A.fillStyle=B,gtA({ctx:A,pad:I,realToCanvasMat:e,ml:n,mr:s,mt:r,mb:a}),A.fill());return}i&&n===0&&s===0&&r===0&&a===0?(A.fillStyle=t,gtA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),A.fill()):n<0||s<0||r<0||a<0?(A.fillStyle=t,gtA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),A.fill(),A.fillStyle=o,gtA({ctx:A,pad:I,realToCanvasMat:e,ml:n,mr:s,mt:r,mb:a}),A.fill()):(gtA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),XJ(A))}function gtA(g){const{ctx:A,pad:I,realToCanvasMat:e,ml:t,mr:o,mt:B,mb:C}=g;A.beginPath();const Q=I.shape==="rotated_rect"||I.shape==="rotated_pill"?I.ccw_rotation??0:0;if(I.shape==="rect"||I.shape==="rotated_rect"){const i=I.corner_radius??I.rect_border_radius??0,E=Q*Math.PI/180,n=(o-t)/2,s=(B-C)/2,r=n*Math.cos(E)-s*Math.sin(E),a=n*Math.sin(E)+s*Math.cos(E),[c,h]=lt(e,[I.x+r,I.y+a]),l=(I.width+t+o)*Math.abs(e.a),D=(I.height+B+C)*Math.abs(e.a),d=t||o||B||C?I.soldermask_margin??0:0,y=Math.max(0,i?i+d:0)*Math.abs(e.a);if(l<=0||D<=0)return;A.save(),A.translate(c,h),Q!==0&&A.rotate(-Q*Math.PI/180),A.beginPath(),oN({ctx:A,cx:0,cy:0,width:l,height:D,radius:y}),A.restore()}else if(I.shape==="circle"){const i=(t+o+B+C)/4,[E,n]=lt(e,[I.x,I.y]),s=Math.max(0,I.radius+i)*Math.abs(e.a);A.beginPath(),A.arc(E,n,s,0,Math.PI*2),A.closePath()}else if(I.shape==="pill"||I.shape==="rotated_pill"){const i=(t+o)/2,[E,n]=lt(e,[I.x,I.y]),s=(I.width+i*2)*Math.abs(e.a),r=(I.height+i*2)*Math.abs(e.a);if(s<=0||r<=0)return;A.save(),A.translate(E,n),Q!==0&&A.rotate(-Q*Math.PI/180),A.beginPath(),CL({ctx:A,cx:0,cy:0,width:s,height:r}),A.restore()}else if(I.shape==="polygon"&&I.points&&I.points.length>=3){const i=(t+o+B+C)/4,n=(i!==0?AGA(I.points,i):I.points).map(s=>{const[r,a]=lt(e,[s.x,s.y]);return{x:r,y:a}});A.beginPath(),HZ({ctx:A,points:n})}}function PfI(g){return!g||typeof g!="object"?!1:"route_type"in g&&g.route_type==="wire"&&("start_width"in g||"end_width"in g||"width_interpolation_mode"in g)}function ptg(g){const A=[];for(let I=0;I<g.length-1;I++){const e=g[I];if(!PfI(e))continue;const t=g[I+1];if(!t)continue;const o=t.route_type==="through_pad"?t.start:{x:t.x,y:t.y},B=t.route_type==="via"?t.from_layer:t.route_type==="through_pad"?t.start_layer:t.layer;if(!o||B!==e.layer||e.width!==e.start_width)continue;const C={start:{x:e.x,y:e.y},end:o,start_width:e.start_width,end_width:e.end_width,width_interpolation_mode:e.width_interpolation_mode,layer:e.layer,is_inside_copper_pour:!!(e.is_inside_copper_pour&&t.is_inside_copper_pour)};LfI(C)&&A.push(C)}return A}function KfI(g){const{start:A,end:I,start_width:e,end_width:t}=g,o=I.x-A.x,B=I.y-A.y,C=Math.hypot(o,B);if(!LfI(g))return[];const Q=Math.abs(t-e),i=g.width_interpolation_mode==="linear"?1:Math.max(1,Math.ceil(Math.sqrt(Q/(.001+Q*1e-6)*(3/8)))),E=-B/C,n=o/C,s=[],r=[];for(let a=0;a<=i;a++){const c=a/i,h=e<=t?c:1-c,D=(g.width_interpolation_mode==="quadratic"?Math.min(e,t)+Q*h*h:e+(t-e)*c)/2,d=A.x+o*c,y=A.y+B*c;s.push({x:d+E*D,y:y+n*D}),r.push({x:d-E*D,y:y-n*D})}return[...s,...r.reverse()]}function LfI(g){const{start:A,end:I,start_width:e,end_width:t}=g,o=Math.hypot(I.x-A.x,I.y-A.y);return!(![A.x,A.y,I.x,I.y,o,e,t].every(Number.isFinite)||o<=0||e<=0||t<=0||g.width_interpolation_mode!=="linear"&&g.width_interpolation_mode!=="quadratic")}function vZ(g,A){const I=Math.hypot(g,A);return I<=Number.EPSILON?{x:0,y:0}:{x:g/I,y:A/I}}function vCo(g,A){const I=g.length;if(I<2)return{x:1,y:0};if(A<=0){const i=g[1],E=g[0];if(!i||!E)return{x:1,y:0};const n=vZ(i.x-E.x,i.y-E.y);return n.x===0&&n.y===0?{x:1,y:0}:n}if(A>=I-1){const i=g[I-2],E=g[I-1];if(!i||!E)return{x:1,y:0};const n=vZ(E.x-i.x,E.y-i.y);return n.x===0&&n.y===0?{x:1,y:0}:n}const e=g[A-1],t=g[A],o=g[A+1];if(!e||!t||!o)return{x:1,y:0};const B=vZ(t.x-e.x,t.y-e.y),C=vZ(o.x-t.x,o.y-t.y),Q=vZ(B.x+C.x,B.y+C.y);return Q.x===0&&Q.y===0?B.x!==0||B.y!==0?B:C.x!==0||C.y!==0?C:{x:1,y:0}:Q}function YfI(g){const A=[],I=[];for(let e=0;e<g.length;e++){const t=g[e];if(!t)continue;const o=vCo(g,e),B=vZ(-o.y,o.x),C=t.width/2;A.push({x:t.x+B.x*C,y:t.y+B.y*C}),I.push({x:t.x-B.x*C,y:t.y-B.y*C})}return A.concat(I.reverse())}function ktg(g){const A=[];let I=[],e=null;for(const t of g??[]){if(!t||t.route_type!=="wire"){I.length>=2&&A.push(I),I=[],e=null;continue}const o=t.layer??e;if(!o)continue;const B=t.x,C=t.y;typeof B!="number"||typeof C!="number"||typeof t.width=="number"&&(t.width,e&&o!==e&&(I.length>=2&&A.push(I),I=[]),e=o,I.push(t),PfI(t)&&(I.length>=2&&A.push(I),I=[],e=null))}return I.length>=2&&A.push(I),A}var _fI=1e-6;function bfI(g){const{ctx:A,trace:I,realToCanvasMat:e,vias:t,platedHoles:o,layer:B}=g;if(!I.route||I.route.length===0)return;const C=ktg(I.route);for(const i of ptg(I.route))for(const E of[i.start,i.end])C.push([{route_type:"wire",...E,layer:i.layer,width:i.end_width}]);if(C.length===0)return;const Q=new Map;for(const i of C){const E=i[0]?.layer,n=i[i.length-1];if(!(!E||!n)&&!(B&&E!==B)){for(const s of t){if(s.layers&&Array.isArray(s.layers)&&!s.layers.includes(E)||!HfI(n.x,n.y,s.x,s.y))continue;const r=s.hole_diameter/2;if(r<=0)continue;const a={shape:"circle",x:s.x,y:s.y,radius:r};Q.set(vfI(a),a)}for(const s of o){if(s.layers&&Array.isArray(s.layers)&&!s.layers.includes(E))continue;const r=wfI(s);r&&HfI(n.x,n.y,r.x,r.y)&&Q.set(vfI(r),r)}}}if(Q.size!==0){A.save(),A.globalCompositeOperation="destination-out";for(const i of Q.values()){if(i.shape==="circle"){Yl({ctx:A,center:{x:i.x,y:i.y},radius:i.radius,fill:"#000",realToCanvasMat:e});continue}if(i.shape==="oval"){tN({ctx:A,center:{x:i.x,y:i.y},radius_x:i.radiusX,radius_y:i.radiusY,fill:"#000",realToCanvasMat:e,rotation:i.rotation});continue}by({ctx:A,center:{x:i.x,y:i.y},width:i.width,height:i.height,fill:"#000",realToCanvasMat:e,rotation:i.rotation})}A.restore()}}function HfI(g,A,I,e){return Math.abs(g-I)<=_fI&&Math.abs(A-e)<=_fI}function vfI(g){return g.shape==="circle"?`circle:${g.x}:${g.y}:${g.radius}`:g.shape==="oval"?`oval:${g.x}:${g.y}:${g.radiusX}:${g.radiusY}:${g.rotation??0}`:`pill:${g.x}:${g.y}:${g.width}:${g.height}:${g.rotation??0}`}function TCo(g){const{ctx:A,trace:I,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:o}=g;if(!I.route||!Array.isArray(I.route)||I.route.length===0)return;for(const C of ptg(I.route))o&&C.layer!==o||C.is_inside_copper_pour||IF({ctx:A,points:KfI(C),fill:t,realToCanvasMat:e});const B=ktg(I.route);for(const C of B)if(C[0]?.layer===o){if(I.route_thickness_mode==="interpolated"){IF({ctx:A,points:YfI(C),fill:t,realToCanvasMat:e});continue}for(let i=0;i<C.length-1;i++){const E=C[i],n=C[i+1];!E||!n||$eA({ctx:A,start:{x:E.x,y:E.y},end:{x:n.x,y:n.y},strokeWidth:E.width,stroke:t,realToCanvasMat:e,lineCap:"round"})}}bfI({ctx:A,trace:I,realToCanvasMat:e,layer:o,vias:g.vias,platedHoles:g.platedHoles})}function TfI(g){const{ctx:A,via:I,realToCanvasMat:e,layer:t,soldermaskOverCopperColor:o,soldermaskOverHoleColor:B}=g;if(!I.layers.includes(t))return;const C=Mtg(I,t,A),[Q,i]=lt(e,[I.x,I.y]),E=I.outer_diameter/2*Math.abs(e.a);if(A.beginPath(),A.arc(Q,i,E,0,Math.PI*2),A.closePath(),C){const n=I.hole_diameter/2*Math.abs(e.a);A.moveTo(Q+n,i),A.arc(Q,i,n,0,Math.PI*2),A.closePath(),A.fillStyle=o,A.fill("evenodd"),A.fillStyle=B,A.beginPath(),A.arc(Q,i,n,0,Math.PI*2),A.fill()}else XJ(A)}function Mtg(g,A,I){let e=I.boardOwnerMap?.get(g.pcb_via_id);!I.boardOwnerMap?.has(g.pcb_via_id)&&g.pcb_trace_id&&(e=I.boardOwnerMap?.get(g.pcb_trace_id));const t=g,o=A==="top"?t.tented_on_top:t.tented_on_bottom,B=A==="top"?e?.default_via_tented_on_top:e?.default_via_tented_on_bottom;return o??t.is_tented??B??!1}function qfI(g){const{ctx:A,realToCanvasMat:I,colorMap:e,layer:t,drawSoldermask:o}=g;let{elements:B}=g;if(!o||A.canvas.width<=0||A.canvas.height<=0)return;const C=B.filter(c=>c.type==="pcb_board"),Q=B.find(c=>c.type==="pcb_panel");C.length===0&&!Q&&(B=B.filter(c=>c.type==="pcb_via"));const i=e.soldermask[t]??e.soldermask.top,E=e.soldermaskOverCopper[t]??e.soldermaskOverCopper.top,n=e.soldermaskOverHole[t]??e.soldermaskOverHole.top,s=B.filter(c=>c.type==="pcb_via"),r=B.filter(c=>c.type==="pcb_plated_hole"),a=RfI(A,A.canvas.width,A.canvas.height)??A;if(Q&&xCo({ctx:a,panel:Q,realToCanvasMat:I,soldermaskColor:i}),Q&&C.length>0){a.save(),a.globalCompositeOperation="destination-out";for(const c of C)xfI({ctx:a,board:c,realToCanvasMat:I,soldermaskColor:"#000"});a.restore()}for(const c of C)xfI({ctx:a,board:c,realToCanvasMat:I,soldermaskColor:i});for(const c of B)c.type==="pcb_trace"?TCo({ctx:a,trace:c,realToCanvasMat:I,soldermaskOverCopperColor:E,layer:t,vias:s,platedHoles:r}):c.type==="pcb_copper_pour"&&LCo({ctx:a,pour:c,realToCanvasMat:I,soldermaskOverCopperColor:E,layer:t,elements:B});for(const c of s)Mtg(c,t,a)&&TfI({ctx:a,via:c,realToCanvasMat:I,layer:t,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n});for(const c of B)ZfI({ctx:a,element:c,realToCanvasMat:I,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"substrate"});for(const c of B)c.type==="pcb_smtpad"&&JfI({ctx:a,pad:c,realToCanvasMat:I,soldermaskOverCopperColor:E,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"openings"});for(const c of B)c.type!=="pcb_smtpad"&&ZfI({ctx:a,element:c,realToCanvasMat:I,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"openings"});NfI(A,a)}function ZfI(g){const{ctx:A,element:I,realToCanvasMat:e,soldermaskOverCopperColor:t,soldermaskOverHoleColor:o,copperColor:B,substrateColor:C,layer:Q,phase:i}=g;if(I.type==="pcb_smtpad")JfI({ctx:A,pad:I,realToCanvasMat:e,soldermaskOverCopperColor:t,copperColor:B,substrateColor:C,layer:Q,phase:i});else if(I.type==="pcb_plated_hole")bCo({ctx:A,hole:I,substrateColor:C,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:Q,phase:i});else if(I.type==="pcb_hole")YCo({ctx:A,hole:I,substrateColor:C,realToCanvasMat:e,soldermaskOverCopperColor:t,phase:i});else{if(i==="substrate")return;if(I.type==="pcb_via"){if(Mtg(I,Q,A))return;TfI({ctx:A,via:I,realToCanvasMat:e,layer:Q,soldermaskOverCopperColor:t,soldermaskOverHoleColor:o})}else if(I.type==="pcb_cutout")FCo({ctx:A,cutout:I,realToCanvasMat:e});else{if(I.type==="pcb_copper_pour")return;if(I.type==="pcb_trace")return}}}function OfI(g,A){return A.copper[g]??A.copper.top}function qCo(g){const{ctx:A,trace:I,realToCanvasMat:e,colorMap:t,layer:o}=g;if(!I.route||!Array.isArray(I.route)||I.route.length===0)return;for(const C of ptg(I.route))o&&C.layer!==o||C.is_inside_copper_pour||IF({ctx:A,points:KfI(C),fill:OfI(C.layer,t),realToCanvasMat:e});const B=ktg(I.route);for(const C of B){const Q=C[0]?.layer;if(!Q||o&&Q!==o)continue;const i=OfI(Q,t);if(I.route_thickness_mode==="interpolated"){IF({ctx:A,points:YfI(C),fill:i,realToCanvasMat:e});continue}for(let E=0;E<C.length-1;E++){const n=C[E],s=C[E+1];!n||!s||n.is_inside_copper_pour&&s.is_inside_copper_pour||$eA({ctx:A,start:{x:n.x,y:n.y},end:{x:s.x,y:s.y},strokeWidth:n.width,stroke:i,realToCanvasMat:e,lineCap:"round"})}}bfI({ctx:A,trace:I,realToCanvasMat:e,vias:g.vias??[],platedHoles:g.platedHoles??[],layer:o})}function WfI(g){const{ctx:A,traces:I,copperPours:e,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C,renderLayers:Q}=g;for(const i of OCo(I,Q)){const E=e.filter(s=>s.layer===i);if(E.length===0){Stg({ctx:A,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C});continue}const n=RfI(A,A.canvas.width,A.canvas.height);n&&(Stg({ctx:n,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}),ZCo({ctx:n,copperPours:E,realToCanvasMat:t}),NfI(A,n))||(A.save(),WCo({ctx:A,copperPours:E,realToCanvasMat:t}),Stg({ctx:A,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}),A.restore())}}function Stg(g){const{ctx:A,traces:I,layer:e,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}=g;for(const Q of I)qCo({ctx:A,trace:Q,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C,layer:e})}function ZCo(g){const{ctx:A,copperPours:I,realToCanvasMat:e}=g;if(I.length!==0){A.save(),A.globalCompositeOperation="destination-out",A.fillStyle="#000";for(const t of I)A.beginPath(),ltg({ctx:A,pour:t,realToCanvasMat:e}),A.fill(t.shape==="brep"?"evenodd":"nonzero");A.restore()}}function OCo(g,A){const I=new Set;for(const e of g)for(const t of e.route??[])t.route_type!=="wire"||!t.layer||A?.length&&!A.includes(`${t.layer}_copper`)||I.add(t.layer);return[...I]}function WCo(g){const{ctx:A,copperPours:I,realToCanvasMat:e}=g;if(I.length!==0){A.beginPath(),A.rect(0,0,A.canvas.width,A.canvas.height);for(const t of I)ltg({ctx:A,pour:t,realToCanvasMat:e});A.clip("evenodd")}}function VCo(g,A,I=[]){const e=[...g,...I].filter(C=>C.type==="pcb_via"),t=new Map;for(const C of e){const i=`${A.boardOwnerMap?.get(C.pcb_via_id)?.pcb_board_id??""}:${C.x}:${C.y}`,E=t.get(i)??[];E.push(C),t.set(i,E)}const o=g.filter(C=>C.type==="pcb_trace"),B=[];for(const C of o){const Q=A.boardOwnerMap?.get(C.pcb_trace_id);for(const[i,E]of C.route.entries()){if(E.route_type!=="via")continue;const n=`${Q?.pcb_board_id??""}:${E.x}:${E.y}`,s=t.get(n)??[];if(s.some(c=>c.layers.includes(E.from_layer)&&c.layers.includes(E.to_layer)))continue;const a={type:"pcb_via",pcb_via_id:`${C.pcb_trace_id}_route_via_${i}`,pcb_trace_id:C.pcb_trace_id,subcircuit_id:C.subcircuit_id,pcb_group_id:C.pcb_group_id,x:E.x,y:E.y,layers:[E.from_layer,E.to_layer],hole_diameter:E.hole_diameter??Q?.min_via_hole_diameter??.25,outer_diameter:E.outer_diameter??Q?.min_via_pad_diameter??.6,tented_on_top:E.tented_on_top,tented_on_bottom:E.tented_on_bottom};B.push(a),s.push(a),t.set(n,s)}}return B}function VfI(g){const{ctx:A,via:I,realToCanvasMat:e,colorMap:t,layer:o}=g;o&&!I.layers.includes(o)||(Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2,fill:t.copper[o??"top"],realToCanvasMat:e}),A.save(),A.globalCompositeOperation="destination-out",Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e}),A.restore(),Yl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e}))}function Nk(g,A){if(!A.layers||A.layers.length===0)return!0;if(g.type==="pcb_silkscreen_graphic")return A.layers.some(e=>e===`${g.layer}_silkscreen`);const I=VPA(g);return I.length===0?!0:I.some(e=>A.layers.includes(e))}var Xw={copper:{top:"rgb(200, 52, 52)",inner1:"rgb(127, 200, 127)",inner2:"rgb(206, 125, 44)",inner3:"rgb(79, 203, 203)",inner4:"rgb(219, 98, 139)",inner5:"rgb(167, 165, 198)",inner6:"rgb(40, 204, 217)",inner7:"rgb(232, 178, 167)",inner8:"rgb(242, 237, 161)",bottom:"rgb(77, 127, 196)"},copperPour:{top:"rgb(230, 95, 95)",bottom:"rgb(122, 162, 222)"},soldermaskWithCopperUnderneath:{top:"rgb(18, 82, 50)",bottom:"rgb(77, 127, 196)"},soldermask:{top:"rgb(12, 55, 33)",bottom:"rgb(12, 55, 33)"},soldermaskOverCopper:{top:"rgb(52, 135, 73)",bottom:"rgb(52, 135, 73)"},soldermaskOverHole:{top:"rgb(26, 68, 37)",bottom:"rgb(26, 68, 37)"},substrate:"rgb(201, 162, 110)",drill:"#FF26E2",silkscreen:{top:"#f2eda1",bottom:"#5da9e9"},boardOutline:"rgba(255, 255, 255, 0.5)",courtyard:{top:"#FF00FF",bottom:"rgb(38, 233, 255)"},keepout:{top:"#FF6B6B",bottom:"#5da9e9"},fabricationNote:"rgba(255, 255, 255, 0.5)"};function jCo(g){return!g||g.length===0?"top":(g.find(I=>I.endsWith("_copper"))??g[0]??"top_copper").split("_")[0]}var gGA=(g,A)=>g.layers?.includes(A)??!0,q0=class EOI{ctx;colorMap;realToCanvasMat;constructor(A){if("getContext"in A&&typeof A.getContext=="function"){const I=A.getContext("2d");if(!I)throw new Error("Failed to get 2D rendering context from canvas");this.ctx=I}else this.ctx=A;this.colorMap={...Xw},this.realToCanvasMat=Xoo()}configure(A){A.colorOverrides&&(this.colorMap={...this.colorMap,...A.colorOverrides,copper:{...this.colorMap.copper,...A.colorOverrides.copper},copperPour:{...this.colorMap.copperPour,...A.colorOverrides.copperPour},silkscreen:{...this.colorMap.silkscreen,...A.colorOverrides.silkscreen},soldermask:{...this.colorMap.soldermask,...A.colorOverrides.soldermask},soldermaskWithCopperUnderneath:{...this.colorMap.soldermaskWithCopperUnderneath,...A.colorOverrides.soldermaskWithCopperUnderneath},soldermaskOverCopper:{...this.colorMap.soldermaskOverCopper,...A.colorOverrides.soldermaskOverCopper},soldermaskOverHole:{...this.colorMap.soldermaskOverHole,...A.colorOverrides.soldermaskOverHole}})}setCameraBounds(A){const I=this.ctx.canvas,e=I.width,t=I.height,o=A.maxX-A.minX,B=A.maxY-A.minY,C=e/o,Q=t/B,i=Math.min(C,Q),E=(e-o*i)/2,n=(t-B*i)/2;this.realToCanvasMat=juA(gF(E,n),gBo(i,-i),gF(-A.minX,-A.maxY))}drawElements(A,I={}){this.ctx.boardOwnerMap=WPA([...I.clipContextElements??[],...A]),A=[...A,...VCo(A,this.ctx,I.clipContextElements)];const e=jCo(I.layers),t=A.find(m=>m.type==="pcb_board"),o=A.find(m=>m.type==="pcb_panel");o&&nCo({ctx:this.ctx,panel:o,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});const B=I.drawBoardMaterial??!1,C=I.drawSoldermask??!1,Q=I.drawSolderPaste??!1,i=I.drawSoldermaskTop!==void 0||I.drawSoldermaskBottom!==void 0,E=I.drawSolderPasteTop!==void 0||I.drawSolderPasteBottom!==void 0,n=C&&(I.drawSoldermaskTop??!i),s=C&&(I.drawSoldermaskBottom??!1),r=Q&&(I.drawSolderPasteTop??!E)&&A.some(m=>m.type==="pcb_solder_paste"&&m.layer==="top"),a=Q&&(I.drawSolderPasteBottom??!1)&&A.some(m=>m.type==="pcb_solder_paste"&&m.layer==="bottom"),c=n||r,h=I.layers?.length?e:void 0,l=m=>!h||gGA(m,h),D=A.filter(m=>Nk(m,I)&&m.type==="pcb_via"&&l(m)),d=A.filter(m=>Nk(m,I)&&m.type==="pcb_hole"),y=A.filter(m=>Nk(m,I)&&m.type==="pcb_plated_hole"&&gGA(m,e)),w=A.filter(m=>Nk(m,I)&&m.type==="pcb_cutout"),u=(I.clipContextElements??A).filter(m=>Nk(m,I)&&m.type==="pcb_copper_pour"),G=A.filter(m=>Nk(m,I)&&m.type==="pcb_trace");t&&IBo({ctx:this.ctx,board:t,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,drawBoardMaterial:B,minBoardOutlineStrokePx:I.minBoardOutlineStrokePx});for(const m of A)Nk(m,I)&&m.type==="pcb_copper_pour"&&nfI({ctx:this.ctx,pour:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});for(const m of A)Nk(m,I)&&(m.type==="pcb_smtpad"&&fCo({ctx:this.ctx,pad:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,holes:d,platedHoles:y,vias:D,cutouts:w}),m.type==="pcb_copper_text"&&mBo({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}));if(c){WfI({ctx:this.ctx,traces:G,copperPours:u,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,vias:D,platedHoles:y,renderLayers:I.layers});for(const m of A)Nk(m,I)&&(m.type==="pcb_hole"&&rfI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n}),m.type==="pcb_plated_hole"&&gGA(m,e)&&MfI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n,layer:e}),m.type==="pcb_via"&&l(m)&&VfI({ctx:this.ctx,via:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:h}))}if(n&&qfI({ctx:this.ctx,elements:A,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:"top",drawSoldermask:!0}),r)for(const m of A)m.type!=="pcb_solder_paste"||m.layer!=="top"||ffI({ctx:this.ctx,solderPaste:m,realToCanvasMat:this.realToCanvasMat});for(const m of A)Nk(m,I)&&(m.type==="pcb_silkscreen_text"&&MCo({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_rect"&&mCo({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_circle"&&aCo({ctx:this.ctx,circle:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_line"&&hCo({ctx:this.ctx,line:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_path"&&yCo({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_pill"&&uCo({ctx:this.ctx,pill:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_oval"&&DCo({ctx:this.ctx,oval:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_graphic"&&rCo({ctx:this.ctx,graphic:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}));c||WfI({ctx:this.ctx,traces:G,copperPours:u,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,vias:D,platedHoles:y,renderLayers:I.layers});for(const m of A)Nk(m,I)&&m.type==="pcb_hole"&&!c&&rfI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n});for(const m of A)Nk(m,I)&&(m.type==="pcb_plated_hole"&&!c&&gGA(m,e)&&MfI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n,layer:e}),m.type==="pcb_via"&&!c&&l(m)&&VfI({ctx:this.ctx,via:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:h}));if(s&&qfI({ctx:this.ctx,elements:A,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:"bottom",drawSoldermask:!0}),a)for(const m of A)m.type!=="pcb_solder_paste"||m.layer!=="bottom"||ffI({ctx:this.ctx,solderPaste:m,realToCanvasMat:this.realToCanvasMat});for(const m of A)Nk(m,I)&&m.type==="pcb_cutout"&&NBo({ctx:this.ctx,cutout:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});for(const m of A){if(!Nk(m,I))continue;m.type==="pcb_keepout"&&eCo({ctx:this.ctx,keepout:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_text"&&HBo({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_rect"&&_Bo({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});const p=I.showPcbNotes??!0;p&&m.type==="pcb_note_rect"&&QCo({realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,ctx:this.ctx,rect:m}),m.type==="pcb_fabrication_note_path"&&YBo({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_path"&&CCo({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_text"&&ECo({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_line"&&BCo({ctx:this.ctx,line:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_dimension"&&oCo({ctx:this.ctx,pcbNoteDimension:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_dimension"&&LBo({ctx:this.ctx,pcbFabricationNoteDimension:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_circle"&&kBo({ctx:this.ctx,circle:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_rect"&&RBo({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_outline"&&SBo({ctx:this.ctx,outline:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap})}if(I.clearDrillHoles&&this.clearDrillHoles(A,e),I.showDebugObjects){const m=new Map;for(const p of A){if(p.type!=="pcb_debug_object")continue;const k=p.shape==="rect"?`${p.center.x}:${p.center.y}:${p.size.width}:${p.size.height}`:void 0,S=k?m.get(k)??0:0;UBo({ctx:this.ctx,debugObject:p,realToCanvasMat:this.realToCanvasMat,labelStackIndex:S}),k&&m.set(k,S+1)}}}clearDrillHoles(A,I){const e=A.filter(C=>C.type==="pcb_hole"||C.type==="pcb_plated_hole"||C.type==="pcb_via"||C.type==="pcb_cutout");if(e.length===0)return;const t="rgba(0,0,0,0)",o=new EOI(this.ctx);o.realToCanvasMat=this.realToCanvasMat,o.configure({colorOverrides:{copper:{top:t,bottom:t,inner1:t,inner2:t,inner3:t,inner4:t,inner5:t,inner6:t,inner7:t,inner8:t},drill:"#000"}}),this.ctx.save(),this.ctx.globalCompositeOperation="destination-out";const B=this.ctx.boardOwnerMap;o.drawElements(e,{layers:[`${I}_copper`],showPcbNotes:!1}),this.ctx.boardOwnerMap=B,this.ctx.restore()}},ftg={exports:{}},Rtg,jfI;function zCo(){return jfI||(jfI=1,Rtg={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),Rtg}var Ntg={exports:{}},xtg,zfI;function XCo(){return zfI||(zfI=1,xtg=function(A){return!A||typeof A=="string"?!1:A instanceof Array||Array.isArray(A)||A.length>=0&&(A.splice instanceof Function||Object.getOwnPropertyDescriptor(A,A.length-1)&&A.constructor.name!=="String")}),xtg}var XfI;function $Co(){if(XfI)return Ntg.exports;XfI=1;var g=XCo(),A=Array.prototype.concat,I=Array.prototype.slice,e=Ntg.exports=function(o){for(var B=[],C=0,Q=o.length;C<Q;C++){var i=o[C];g(i)?B=A.call(B,I.call(i)):B.push(i)}return B};return e.wrap=function(t){return function(){return t(e(arguments))}},Ntg.exports}var $fI;function AQo(){if($fI)return ftg.exports;$fI=1;var g=zCo(),A=$Co(),I=Object.hasOwnProperty,e=Object.create(null);for(var t in g)I.call(g,t)&&(e[g[t]]=t);var o=ftg.exports={to:{},get:{}};o.get=function(Q){var i=Q.substring(0,3).toLowerCase(),E,n;switch(i){case"hsl":E=o.get.hsl(Q),n="hsl";break;case"hwb":E=o.get.hwb(Q),n="hwb";break;default:E=o.get.rgb(Q),n="rgb";break}return E?{model:n,value:E}:null},o.get.rgb=function(Q){if(!Q)return null;var i=/^#([a-f0-9]{3,4})$/i,E=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,n=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,s=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,r=/^(\w+)$/,a=[0,0,0,1],c,h,l;if(c=Q.match(E)){for(l=c[2],c=c[1],h=0;h<3;h++){var D=h*2;a[h]=parseInt(c.slice(D,D+2),16)}l&&(a[3]=parseInt(l,16)/255)}else if(c=Q.match(i)){for(c=c[1],l=c[3],h=0;h<3;h++)a[h]=parseInt(c[h]+c[h],16);l&&(a[3]=parseInt(l+l,16)/255)}else if(c=Q.match(n)){for(h=0;h<3;h++)a[h]=parseInt(c[h+1],0);c[4]&&(c[5]?a[3]=parseFloat(c[4])*.01:a[3]=parseFloat(c[4]))}else if(c=Q.match(s)){for(h=0;h<3;h++)a[h]=Math.round(parseFloat(c[h+1])*2.55);c[4]&&(c[5]?a[3]=parseFloat(c[4])*.01:a[3]=parseFloat(c[4]))}else return(c=Q.match(r))?c[1]==="transparent"?[0,0,0,0]:I.call(g,c[1])?(a=g[c[1]],a[3]=1,a):null:null;for(h=0;h<3;h++)a[h]=B(a[h],0,255);return a[3]=B(a[3],0,1),a},o.get.hsl=function(Q){if(!Q)return null;var i=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,E=Q.match(i);if(E){var n=parseFloat(E[4]),s=(parseFloat(E[1])%360+360)%360,r=B(parseFloat(E[2]),0,100),a=B(parseFloat(E[3]),0,100),c=B(isNaN(n)?1:n,0,1);return[s,r,a,c]}return null},o.get.hwb=function(Q){if(!Q)return null;var i=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,E=Q.match(i);if(E){var n=parseFloat(E[4]),s=(parseFloat(E[1])%360+360)%360,r=B(parseFloat(E[2]),0,100),a=B(parseFloat(E[3]),0,100),c=B(isNaN(n)?1:n,0,1);return[s,r,a,c]}return null},o.to.hex=function(){var Q=A(arguments);return"#"+C(Q[0])+C(Q[1])+C(Q[2])+(Q[3]<1?C(Math.round(Q[3]*255)):"")},o.to.rgb=function(){var Q=A(arguments);return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"},o.to.rgb.percent=function(){var Q=A(arguments),i=Math.round(Q[0]/255*100),E=Math.round(Q[1]/255*100),n=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+i+"%, "+E+"%, "+n+"%)":"rgba("+i+"%, "+E+"%, "+n+"%, "+Q[3]+")"},o.to.hsl=function(){var Q=A(arguments);return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"},o.to.hwb=function(){var Q=A(arguments),i="";return Q.length>=4&&Q[3]!==1&&(i=", "+Q[3]),"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+i+")"},o.to.keyword=function(Q){return e[Q.slice(0,3)]};function B(Q,i,E){return Math.min(Math.max(i,Q),E)}function C(Q){var i=Math.round(Q).toString(16).toUpperCase();return i.length<2?"0"+i:i}return ftg.exports}var Ftg,ARI;function gQo(){return ARI||(ARI=1,Ftg={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),Ftg}var Utg,gRI;function IRI(){if(gRI)return Utg;gRI=1;const g=gQo(),A={};for(const t of Object.keys(g))A[g[t]]=t;const I={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};Utg=I;for(const t of Object.keys(I)){if(!("channels"in I[t]))throw new Error("missing channels property: "+t);if(!("labels"in I[t]))throw new Error("missing channel labels property: "+t);if(I[t].labels.length!==I[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:o,labels:B}=I[t];delete I[t].channels,delete I[t].labels,Object.defineProperty(I[t],"channels",{value:o}),Object.defineProperty(I[t],"labels",{value:B})}I.rgb.hsl=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.min(o,B,C),i=Math.max(o,B,C),E=i-Q;let n,s;i===Q?n=0:o===i?n=(B-C)/E:B===i?n=2+(C-o)/E:C===i&&(n=4+(o-B)/E),n=Math.min(n*60,360),n<0&&(n+=360);const r=(Q+i)/2;return i===Q?s=0:r<=.5?s=E/(i+Q):s=E/(2-i-Q),[n,s*100,r*100]},I.rgb.hsv=function(t){let o,B,C,Q,i;const E=t[0]/255,n=t[1]/255,s=t[2]/255,r=Math.max(E,n,s),a=r-Math.min(E,n,s),c=function(h){return(r-h)/6/a+1/2};return a===0?(Q=0,i=0):(i=a/r,o=c(E),B=c(n),C=c(s),E===r?Q=C-B:n===r?Q=1/3+o-C:s===r&&(Q=2/3+B-o),Q<0?Q+=1:Q>1&&(Q-=1)),[Q*360,i*100,r*100]},I.rgb.hwb=function(t){const o=t[0],B=t[1];let C=t[2];const Q=I.rgb.hsl(t)[0],i=1/255*Math.min(o,Math.min(B,C));return C=1-1/255*Math.max(o,Math.max(B,C)),[Q,i*100,C*100]},I.rgb.cmyk=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.min(1-o,1-B,1-C),i=(1-o-Q)/(1-Q)||0,E=(1-B-Q)/(1-Q)||0,n=(1-C-Q)/(1-Q)||0;return[i*100,E*100,n*100,Q*100]};function e(t,o){return(t[0]-o[0])**2+(t[1]-o[1])**2+(t[2]-o[2])**2}return I.rgb.keyword=function(t){const o=A[t];if(o)return o;let B=1/0,C;for(const Q of Object.keys(g)){const i=g[Q],E=e(t,i);E<B&&(B=E,C=Q)}return C},I.keyword.rgb=function(t){return g[t]},I.rgb.xyz=function(t){let o=t[0]/255,B=t[1]/255,C=t[2]/255;o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,B=B>.04045?((B+.055)/1.055)**2.4:B/12.92,C=C>.04045?((C+.055)/1.055)**2.4:C/12.92;const Q=o*.4124+B*.3576+C*.1805,i=o*.2126+B*.7152+C*.0722,E=o*.0193+B*.1192+C*.9505;return[Q*100,i*100,E*100]},I.rgb.lab=function(t){const o=I.rgb.xyz(t);let B=o[0],C=o[1],Q=o[2];B/=95.047,C/=100,Q/=108.883,B=B>.008856?B**(1/3):7.787*B+16/116,C=C>.008856?C**(1/3):7.787*C+16/116,Q=Q>.008856?Q**(1/3):7.787*Q+16/116;const i=116*C-16,E=500*(B-C),n=200*(C-Q);return[i,E,n]},I.hsl.rgb=function(t){const o=t[0]/360,B=t[1]/100,C=t[2]/100;let Q,i,E;if(B===0)return E=C*255,[E,E,E];C<.5?Q=C*(1+B):Q=C+B-C*B;const n=2*C-Q,s=[0,0,0];for(let r=0;r<3;r++)i=o+1/3*-(r-1),i<0&&i++,i>1&&i--,6*i<1?E=n+(Q-n)*6*i:2*i<1?E=Q:3*i<2?E=n+(Q-n)*(2/3-i)*6:E=n,s[r]=E*255;return s},I.hsl.hsv=function(t){const o=t[0];let B=t[1]/100,C=t[2]/100,Q=B;const i=Math.max(C,.01);C*=2,B*=C<=1?C:2-C,Q*=i<=1?i:2-i;const E=(C+B)/2,n=C===0?2*Q/(i+Q):2*B/(C+B);return[o,n*100,E*100]},I.hsv.rgb=function(t){const o=t[0]/60,B=t[1]/100;let C=t[2]/100;const Q=Math.floor(o)%6,i=o-Math.floor(o),E=255*C*(1-B),n=255*C*(1-B*i),s=255*C*(1-B*(1-i));switch(C*=255,Q){case 0:return[C,s,E];case 1:return[n,C,E];case 2:return[E,C,s];case 3:return[E,n,C];case 4:return[s,E,C];case 5:return[C,E,n]}},I.hsv.hsl=function(t){const o=t[0],B=t[1]/100,C=t[2]/100,Q=Math.max(C,.01);let i,E;E=(2-B)*C;const n=(2-B)*Q;return i=B*Q,i/=n<=1?n:2-n,i=i||0,E/=2,[o,i*100,E*100]},I.hwb.rgb=function(t){const o=t[0]/360;let B=t[1]/100,C=t[2]/100;const Q=B+C;let i;Q>1&&(B/=Q,C/=Q);const E=Math.floor(6*o),n=1-C;i=6*o-E,(E&1)!==0&&(i=1-i);const s=B+i*(n-B);let r,a,c;switch(E){default:case 6:case 0:r=n,a=s,c=B;break;case 1:r=s,a=n,c=B;break;case 2:r=B,a=n,c=s;break;case 3:r=B,a=s,c=n;break;case 4:r=s,a=B,c=n;break;case 5:r=n,a=B,c=s;break}return[r*255,a*255,c*255]},I.cmyk.rgb=function(t){const o=t[0]/100,B=t[1]/100,C=t[2]/100,Q=t[3]/100,i=1-Math.min(1,o*(1-Q)+Q),E=1-Math.min(1,B*(1-Q)+Q),n=1-Math.min(1,C*(1-Q)+Q);return[i*255,E*255,n*255]},I.xyz.rgb=function(t){const o=t[0]/100,B=t[1]/100,C=t[2]/100;let Q,i,E;return Q=o*3.2406+B*-1.5372+C*-.4986,i=o*-.9689+B*1.8758+C*.0415,E=o*.0557+B*-.204+C*1.057,Q=Q>.0031308?1.055*Q**(1/2.4)-.055:Q*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,E=E>.0031308?1.055*E**(1/2.4)-.055:E*12.92,Q=Math.min(Math.max(0,Q),1),i=Math.min(Math.max(0,i),1),E=Math.min(Math.max(0,E),1),[Q*255,i*255,E*255]},I.xyz.lab=function(t){let o=t[0],B=t[1],C=t[2];o/=95.047,B/=100,C/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,B=B>.008856?B**(1/3):7.787*B+16/116,C=C>.008856?C**(1/3):7.787*C+16/116;const Q=116*B-16,i=500*(o-B),E=200*(B-C);return[Q,i,E]},I.lab.xyz=function(t){const o=t[0],B=t[1],C=t[2];let Q,i,E;i=(o+16)/116,Q=B/500+i,E=i-C/200;const n=i**3,s=Q**3,r=E**3;return i=n>.008856?n:(i-16/116)/7.787,Q=s>.008856?s:(Q-16/116)/7.787,E=r>.008856?r:(E-16/116)/7.787,Q*=95.047,i*=100,E*=108.883,[Q,i,E]},I.lab.lch=function(t){const o=t[0],B=t[1],C=t[2];let Q;Q=Math.atan2(C,B)*360/2/Math.PI,Q<0&&(Q+=360);const E=Math.sqrt(B*B+C*C);return[o,E,Q]},I.lch.lab=function(t){const o=t[0],B=t[1],Q=t[2]/360*2*Math.PI,i=B*Math.cos(Q),E=B*Math.sin(Q);return[o,i,E]},I.rgb.ansi16=function(t,o=null){const[B,C,Q]=t;let i=o===null?I.rgb.hsv(t)[2]:o;if(i=Math.round(i/50),i===0)return 30;let E=30+(Math.round(Q/255)<<2|Math.round(C/255)<<1|Math.round(B/255));return i===2&&(E+=60),E},I.hsv.ansi16=function(t){return I.rgb.ansi16(I.hsv.rgb(t),t[2])},I.rgb.ansi256=function(t){const o=t[0],B=t[1],C=t[2];return o===B&&B===C?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(B/255*5)+Math.round(C/255*5)},I.ansi16.rgb=function(t){let o=t%10;if(o===0||o===7)return t>50&&(o+=3.5),o=o/10.5*255,[o,o,o];const B=(~~(t>50)+1)*.5,C=(o&1)*B*255,Q=(o>>1&1)*B*255,i=(o>>2&1)*B*255;return[C,Q,i]},I.ansi256.rgb=function(t){if(t>=232){const i=(t-232)*10+8;return[i,i,i]}t-=16;let o;const B=Math.floor(t/36)/5*255,C=Math.floor((o=t%36)/6)/5*255,Q=o%6/5*255;return[B,C,Q]},I.rgb.hex=function(t){const B=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(B.length)+B},I.hex.rgb=function(t){const o=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let B=o[0];o[0].length===3&&(B=B.split("").map(n=>n+n).join(""));const C=parseInt(B,16),Q=C>>16&255,i=C>>8&255,E=C&255;return[Q,i,E]},I.rgb.hcg=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.max(Math.max(o,B),C),i=Math.min(Math.min(o,B),C),E=Q-i;let n,s;return E<1?n=i/(1-E):n=0,E<=0?s=0:Q===o?s=(B-C)/E%6:Q===B?s=2+(C-o)/E:s=4+(o-B)/E,s/=6,s%=1,[s*360,E*100,n*100]},I.hsl.hcg=function(t){const o=t[1]/100,B=t[2]/100,C=B<.5?2*o*B:2*o*(1-B);let Q=0;return C<1&&(Q=(B-.5*C)/(1-C)),[t[0],C*100,Q*100]},I.hsv.hcg=function(t){const o=t[1]/100,B=t[2]/100,C=o*B;let Q=0;return C<1&&(Q=(B-C)/(1-C)),[t[0],C*100,Q*100]},I.hcg.rgb=function(t){const o=t[0]/360,B=t[1]/100,C=t[2]/100;if(B===0)return[C*255,C*255,C*255];const Q=[0,0,0],i=o%1*6,E=i%1,n=1-E;let s=0;switch(Math.floor(i)){case 0:Q[0]=1,Q[1]=E,Q[2]=0;break;case 1:Q[0]=n,Q[1]=1,Q[2]=0;break;case 2:Q[0]=0,Q[1]=1,Q[2]=E;break;case 3:Q[0]=0,Q[1]=n,Q[2]=1;break;case 4:Q[0]=E,Q[1]=0,Q[2]=1;break;default:Q[0]=1,Q[1]=0,Q[2]=n}return s=(1-B)*C,[(B*Q[0]+s)*255,(B*Q[1]+s)*255,(B*Q[2]+s)*255]},I.hcg.hsv=function(t){const o=t[1]/100,B=t[2]/100,C=o+B*(1-o);let Q=0;return C>0&&(Q=o/C),[t[0],Q*100,C*100]},I.hcg.hsl=function(t){const o=t[1]/100,C=t[2]/100*(1-o)+.5*o;let Q=0;return C>0&&C<.5?Q=o/(2*C):C>=.5&&C<1&&(Q=o/(2*(1-C))),[t[0],Q*100,C*100]},I.hcg.hwb=function(t){const o=t[1]/100,B=t[2]/100,C=o+B*(1-o);return[t[0],(C-o)*100,(1-C)*100]},I.hwb.hcg=function(t){const o=t[1]/100,C=1-t[2]/100,Q=C-o;let i=0;return Q<1&&(i=(C-Q)/(1-Q)),[t[0],Q*100,i*100]},I.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},I.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},I.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},I.gray.hsl=function(t){return[0,0,t[0]]},I.gray.hsv=I.gray.hsl,I.gray.hwb=function(t){return[0,100,t[0]]},I.gray.cmyk=function(t){return[0,0,0,t[0]]},I.gray.lab=function(t){return[t[0],0,0]},I.gray.hex=function(t){const o=Math.round(t[0]/100*255)&255,C=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(C.length)+C},I.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]},Utg}var Jtg,eRI;function IQo(){if(eRI)return Jtg;eRI=1;const g=IRI();function A(){const o={},B=Object.keys(g);for(let C=B.length,Q=0;Q<C;Q++)o[B[Q]]={distance:-1,parent:null};return o}function I(o){const B=A(),C=[o];for(B[o].distance=0;C.length;){const Q=C.pop(),i=Object.keys(g[Q]);for(let E=i.length,n=0;n<E;n++){const s=i[n],r=B[s];r.distance===-1&&(r.distance=B[Q].distance+1,r.parent=Q,C.unshift(s))}}return B}function e(o,B){return function(C){return B(o(C))}}function t(o,B){const C=[B[o].parent,o];let Q=g[B[o].parent][o],i=B[o].parent;for(;B[i].parent;)C.unshift(B[i].parent),Q=e(g[B[i].parent][i],Q),i=B[i].parent;return Q.conversion=C,Q}return Jtg=function(o){const B=I(o),C={},Q=Object.keys(B);for(let i=Q.length,E=0;E<i;E++){const n=Q[E];B[n].parent!==null&&(C[n]=t(n,B))}return C},Jtg}var Ptg,tRI;function eQo(){if(tRI)return Ptg;tRI=1;const g=IRI(),A=IQo(),I={},e=Object.keys(g);function t(B){const C=function(...Q){const i=Q[0];return i==null?i:(i.length>1&&(Q=i),B(Q))};return"conversion"in B&&(C.conversion=B.conversion),C}function o(B){const C=function(...Q){const i=Q[0];if(i==null)return i;i.length>1&&(Q=i);const E=B(Q);if(typeof E=="object")for(let n=E.length,s=0;s<n;s++)E[s]=Math.round(E[s]);return E};return"conversion"in B&&(C.conversion=B.conversion),C}return e.forEach(B=>{I[B]={},Object.defineProperty(I[B],"channels",{value:g[B].channels}),Object.defineProperty(I[B],"labels",{value:g[B].labels});const C=A(B);Object.keys(C).forEach(i=>{const E=C[i];I[B][i]=o(E),I[B][i].raw=t(E)})}),Ptg=I,Ptg}var Ktg,oRI;function tQo(){if(oRI)return Ktg;oRI=1;const g=AQo(),A=eQo(),I=["keyword","gray","hex"],e={};for(const s of Object.keys(A))e[[...A[s].labels].sort().join("")]=s;const t={};function o(s,r){if(!(this instanceof o))return new o(s,r);if(r&&r in I&&(r=null),r&&!(r in A))throw new Error("Unknown model: "+r);let a,c;if(s==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(s instanceof o)this.model=s.model,this.color=[...s.color],this.valpha=s.valpha;else if(typeof s=="string"){const h=g.get(s);if(h===null)throw new Error("Unable to parse color from string: "+s);this.model=h.model,c=A[this.model].channels,this.color=h.value.slice(0,c),this.valpha=typeof h.value[c]=="number"?h.value[c]:1}else if(s.length>0){this.model=r||"rgb",c=A[this.model].channels;const h=Array.prototype.slice.call(s,0,c);this.color=n(h,c),this.valpha=typeof s[c]=="number"?s[c]:1}else if(typeof s=="number")this.model="rgb",this.color=[s>>16&255,s>>8&255,s&255],this.valpha=1;else{this.valpha=1;const h=Object.keys(s);"alpha"in s&&(h.splice(h.indexOf("alpha"),1),this.valpha=typeof s.alpha=="number"?s.alpha:0);const l=h.sort().join("");if(!(l in e))throw new Error("Unable to parse color from object: "+JSON.stringify(s));this.model=e[l];const{labels:D}=A[this.model],d=[];for(a=0;a<D.length;a++)d.push(s[D[a]]);this.color=n(d)}if(t[this.model])for(c=A[this.model].channels,a=0;a<c;a++){const h=t[this.model][a];h&&(this.color[a]=h(this.color[a]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}o.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(s){let r=this.model in g.to?this:this.rgb();r=r.round(typeof s=="number"?s:1);const a=r.valpha===1?r.color:[...r.color,this.valpha];return g.to[r.model](a)},percentString(s){const r=this.rgb().round(typeof s=="number"?s:1),a=r.valpha===1?r.color:[...r.color,this.valpha];return g.to.rgb.percent(a)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){const s={},{channels:r}=A[this.model],{labels:a}=A[this.model];for(let c=0;c<r;c++)s[a[c]]=this.color[c];return this.valpha!==1&&(s.alpha=this.valpha),s},unitArray(){const s=this.rgb().color;return s[0]/=255,s[1]/=255,s[2]/=255,this.valpha!==1&&s.push(this.valpha),s},unitObject(){const s=this.rgb().object();return s.r/=255,s.g/=255,s.b/=255,this.valpha!==1&&(s.alpha=this.valpha),s},round(s){return s=Math.max(s||0,0),new o([...this.color.map(C(s)),this.valpha],this.model)},alpha(s){return s!==void 0?new o([...this.color,Math.max(0,Math.min(1,s))],this.model):this.valpha},red:Q("rgb",0,i(255)),green:Q("rgb",1,i(255)),blue:Q("rgb",2,i(255)),hue:Q(["hsl","hsv","hsl","hwb","hcg"],0,s=>(s%360+360)%360),saturationl:Q("hsl",1,i(100)),lightness:Q("hsl",2,i(100)),saturationv:Q("hsv",1,i(100)),value:Q("hsv",2,i(100)),chroma:Q("hcg",1,i(100)),gray:Q("hcg",2,i(100)),white:Q("hwb",1,i(100)),wblack:Q("hwb",2,i(100)),cyan:Q("cmyk",0,i(100)),magenta:Q("cmyk",1,i(100)),yellow:Q("cmyk",2,i(100)),black:Q("cmyk",3,i(100)),x:Q("xyz",0,i(95.047)),y:Q("xyz",1,i(100)),z:Q("xyz",2,i(108.833)),l:Q("lab",0,i(100)),a:Q("lab",1),b:Q("lab",2),keyword(s){return s!==void 0?new o(s):A[this.model].keyword(this.color)},hex(s){return s!==void 0?new o(s):g.to.hex(this.rgb().round().color)},hexa(s){if(s!==void 0)return new o(s);const r=this.rgb().round().color;let a=Math.round(this.valpha*255).toString(16).toUpperCase();return a.length===1&&(a="0"+a),g.to.hex(r)+a},rgbNumber(){const s=this.rgb().color;return(s[0]&255)<<16|(s[1]&255)<<8|s[2]&255},luminosity(){const s=this.rgb().color,r=[];for(const[a,c]of s.entries()){const h=c/255;r[a]=h<=.04045?h/12.92:((h+.055)/1.055)**2.4}return .2126*r[0]+.7152*r[1]+.0722*r[2]},contrast(s){const r=this.luminosity(),a=s.luminosity();return r>a?(r+.05)/(a+.05):(a+.05)/(r+.05)},level(s){const r=this.contrast(s);return r>=7?"AAA":r>=4.5?"AA":""},isDark(){const s=this.rgb().color;return(s[0]*2126+s[1]*7152+s[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){const s=this.rgb();for(let r=0;r<3;r++)s.color[r]=255-s.color[r];return s},lighten(s){const r=this.hsl();return r.color[2]+=r.color[2]*s,r},darken(s){const r=this.hsl();return r.color[2]-=r.color[2]*s,r},saturate(s){const r=this.hsl();return r.color[1]+=r.color[1]*s,r},desaturate(s){const r=this.hsl();return r.color[1]-=r.color[1]*s,r},whiten(s){const r=this.hwb();return r.color[1]+=r.color[1]*s,r},blacken(s){const r=this.hwb();return r.color[2]+=r.color[2]*s,r},grayscale(){const s=this.rgb().color,r=s[0]*.3+s[1]*.59+s[2]*.11;return o.rgb(r,r,r)},fade(s){return this.alpha(this.valpha-this.valpha*s)},opaquer(s){return this.alpha(this.valpha+this.valpha*s)},rotate(s){const r=this.hsl();let a=r.color[0];return a=(a+s)%360,a=a<0?360+a:a,r.color[0]=a,r},mix(s,r){if(!s||!s.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof s);const a=s.rgb(),c=this.rgb(),h=r===void 0?.5:r,l=2*h-1,D=a.alpha()-c.alpha(),d=((l*D===-1?l:(l+D)/(1+l*D))+1)/2,y=1-d;return o.rgb(d*a.red()+y*c.red(),d*a.green()+y*c.green(),d*a.blue()+y*c.blue(),a.alpha()*h+c.alpha()*(1-h))}};for(const s of Object.keys(A)){if(I.includes(s))continue;const{channels:r}=A[s];o.prototype[s]=function(...a){return this.model===s?new o(this):a.length>0?new o(a,s):new o([...E(A[this.model][s].raw(this.color)),this.valpha],s)},o[s]=function(...a){let c=a[0];return typeof c=="number"&&(c=n(a,r)),new o(c,s)}}function B(s,r){return Number(s.toFixed(r))}function C(s){return function(r){return B(r,s)}}function Q(s,r,a){s=Array.isArray(s)?s:[s];for(const c of s)(t[c]||(t[c]=[]))[r]=a;return s=s[0],function(c){let h;return c!==void 0?(a&&(c=a(c)),h=this[s](),h.color[r]=c,h):(h=this[s]().color[r],a&&(h=a(h)),h)}}function i(s){return function(r){return Math.max(0,Math.min(s,r))}}function E(s){return Array.isArray(s)?s:[s]}function n(s,r){for(let a=0;a<r;a++)typeof s[a]!="number"&&(s[a]=0);return s}return Ktg=o,Ktg}var oQo=tQo();const GQ=Lp(oQo),BQo=llg(See);var Ltg,BRI;function CQo(){if(BRI)return Ltg;BRI=1;var g=Object.defineProperty,A=Object.getOwnPropertyDescriptor,I=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,t=(h,l)=>{for(var D in l)g(h,D,{get:l[D],enumerable:!0})},o=(h,l,D,d)=>{if(l&&typeof l=="object"||typeof l=="function")for(let y of I(l))!e.call(h,y)&&y!==D&&g(h,y,{get:()=>l[y],enumerable:!(d=A(l,y))||d.enumerable});return h},B=h=>o(g({},"__esModule",{value:!0}),h),C={};t(C,{SuperGrid:()=>c,toMMSI:()=>a,toMeterSI:()=>r}),Ltg=B(C);var Q=mM(),i=BQo,E=mlg(),n=(h,l,D)=>{const d=[];if(l<h)for(let y=h;y>=l;y-=Math.abs(D))d.push(y);else for(let y=h;y<=l;y+=Math.abs(D))d.push(y);return d};function s(h,l){return{x:Math.round(l.x/h)*h,y:Math.round(l.y/h)*h}}function r(h,l=1){return h<0?"-"+r(-h):h<1e-6?"0m":h>1e3?Math.floor(h/1e3)+"km":h>1&&l>1?Math.round(h)+"m":h>1&&l<=1?h.toFixed(Math.ceil(-Math.log10(l)))+"m":h<1&&l>=1/1e3?Math.round(h*1e3)+"mm":h<1&&l<1/1e3?(h*1e3).toFixed(Math.ceil(-Math.log10(l*1e3)))+"mm":""}function a(h,l=1){return r(h/1e3,l/1e3)}var c=h=>{var l;const D=(0,Q.useRef)(null),[d,y]=(0,Q.useState)({x:0,y:0}),{majorColor:w="rgba(0,0,0,0.2)",minorColor:u="rgba(0,0,0,0.1)",textColor:G=(l=h.majorColor)!=null?l:"rgba(0,0,0,0.5)",width:m,height:p,screenSpaceCellSize:k=200,stringifyCoord:S=(U,K,Y)=>`${r(U,Y)}, ${r(K,Y)}`}=h,R=Math.ceil(m/k)+2,x=Math.ceil(p/k)+2;(0,Q.useEffect)(()=>{if(!D.current)return;const U=D.current.getContext("2d");if(!U)return;const K=k/10**Math.floor(Math.log10(h.transform.a)),Y=h.transform.d<0?-1:1,q=k/10**Math.log10(h.transform.a)/K;function j(hA,sA,cA){const SA=hA;let FA,aA,xA;for(FA=sA.x;FA<=cA.x;FA+=SA)aA=(0,i.applyToPoint)(h.transform,{x:FA,y:sA.y}),xA=(0,i.applyToPoint)(h.transform,{x:FA,y:cA.y}),U.beginPath(),U.moveTo(aA.x,aA.y),U.lineTo(xA.x,xA.y),U.stroke();const RA=n(sA.y,cA.y,SA*Y);for(const NA of RA)aA=(0,i.applyToPoint)(h.transform,{x:sA.x,y:NA}),xA=(0,i.applyToPoint)(h.transform,{x:cA.x,y:NA}),U.beginPath(),U.moveTo(aA.x,aA.y),U.lineTo(xA.x,xA.y),U.stroke()}function W(hA,sA,cA){const SA=hA;let FA;for(FA=sA.x;FA<=cA.x;FA+=SA)for(const aA of n(sA.y,cA.y,SA*Y)){const xA=(0,i.applyToPoint)(h.transform,{x:FA,y:aA});U.fillStyle=G,U.font="12px sans-serif",U.fillText(S(FA,aA,hA),xA.x+2,xA.y-2)}}U.clearRect(0,0,m,p);const Z=(0,i.applyToPoint)((0,i.inverse)(h.transform),{x:0,y:0}),gA={x:Math.floor((Z.x-K)/K)*K,y:Math.floor((Z.y-K)/K+(Y==-1?2:0))*K},tA={x:gA.x+K*R,y:gA.y+K*x*Y},QA=K*5,nA={x:Math.floor((Z.x-QA)/QA)*QA,y:Math.floor((Z.y-QA)/QA+(Y==-1?2:0))*QA},DA={x:nA.x+QA*R,y:nA.y+QA*x*Y};U.globalAlpha=1,U.strokeStyle=w,j(K,gA,tA),W(QA,nA,DA),U.globalAlpha=1-q,j(QA/10,nA,DA),U.globalAlpha=1-q,U.strokeStyle=u,j(K/10,gA,tA),U.globalAlpha=Math.max(((1-q)*10-5)/5,0),W(QA/10,nA,DA),U.globalAlpha=1;const CA=(0,i.applyToPoint)(h.transform,d);U.font="12px sans-serif",U.fillStyle=G,U.fillText(S(d.x,d.y,K),CA.x+2,CA.y-2),U.strokeStyle=w,U.strokeRect(CA.x-5,CA.y-5,10,10)},[D,h.transform,d,m,p]);const N=U=>{if(!D.current)return;const K=k/10/10**Math.floor(Math.log10(h.transform.a)),Y=D.current.getBoundingClientRect(),b=(0,i.applyToPoint)((0,i.inverse)(h.transform),{x:U.clientX-Y.left,y:U.clientY-Y.top}),q=s(K,b);y(q)};return(0,E.jsx)("canvas",{onMouseUp:U=>{U.button===1&&N(U)},onDoubleClick:N,ref:D,width:h.width,height:h.height})};return Ltg}var lb=CQo();function QQo(g){if(g.sheet)return g.sheet;for(var A=0;A<document.styleSheets.length;A++)if(document.styleSheets[A].ownerNode===g)return document.styleSheets[A]}function iQo(g){var A=document.createElement("style");return A.setAttribute("data-emotion",g.key),g.nonce!==void 0&&A.setAttribute("nonce",g.nonce),A.appendChild(document.createTextNode("")),A.setAttribute("data-s",""),A}var EQo=(function(){function g(I){var e=this;this._insertTag=function(t){var o;e.tags.length===0?e.insertionPoint?o=e.insertionPoint.nextSibling:e.prepend?o=e.container.firstChild:o=e.before:o=e.tags[e.tags.length-1].nextSibling,e.container.insertBefore(t,o),e.tags.push(t)},this.isSpeedy=I.speedy===void 0?!0:I.speedy,this.tags=[],this.ctr=0,this.nonce=I.nonce,this.key=I.key,this.container=I.container,this.prepend=I.prepend,this.insertionPoint=I.insertionPoint,this.before=null}var A=g.prototype;return A.hydrate=function(e){e.forEach(this._insertTag)},A.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(iQo(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var o=QQo(t);try{o.insertRule(e,o.cssRules.length)}catch{}}else t.appendChild(document.createTextNode(e));this.ctr++},A.flush=function(){this.tags.forEach(function(e){var t;return(t=e.parentNode)==null?void 0:t.removeChild(e)}),this.tags=[],this.ctr=0},g})(),lG="-ms-",IGA="-moz-",ks="-webkit-",CRI="comm",Ytg="rule",_tg="decl",nQo="@import",QRI="@keyframes",sQo="@layer",aQo=Math.abs,eGA=String.fromCharCode,rQo=Object.assign;function cQo(g,A){return $w(g,0)^45?(((A<<2^$w(g,0))<<2^$w(g,1))<<2^$w(g,2))<<2^$w(g,3):0}function iRI(g){return g.trim()}function hQo(g,A){return(g=A.exec(g))?g[0]:g}function Ms(g,A,I){return g.replace(A,I)}function btg(g,A){return g.indexOf(A)}function $w(g,A){return g.charCodeAt(A)|0}function ItA(g,A,I){return g.slice(A,I)}function eF(g){return g.length}function Htg(g){return g.length}function tGA(g,A){return A.push(g),g}function lQo(g,A){return g.map(A).join("")}var oGA=1,TZ=1,ERI=0,xk=0,YD=0,qZ="";function BGA(g,A,I,e,t,o,B){return{value:g,root:A,parent:I,type:e,props:t,children:o,line:oGA,column:TZ,length:B,return:""}}function etA(g,A){return rQo(BGA("",null,null,"",null,null,0),g,{length:-g.length},A)}function DQo(){return YD}function dQo(){return YD=xk>0?$w(qZ,--xk):0,TZ--,YD===10&&(TZ=1,oGA--),YD}function uS(){return YD=xk<ERI?$w(qZ,xk++):0,TZ++,YD===10&&(TZ=1,oGA++),YD}function tF(){return $w(qZ,xk)}function CGA(){return xk}function ttA(g,A){return ItA(qZ,g,A)}function otA(g){switch(g){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function nRI(g){return oGA=TZ=1,ERI=eF(qZ=g),xk=0,[]}function sRI(g){return qZ="",g}function QGA(g){return iRI(ttA(xk-1,vtg(g===91?g+2:g===40?g+1:g)))}function yQo(g){for(;(YD=tF())&&YD<33;)uS();return otA(g)>2||otA(YD)>3?"":" "}function wQo(g,A){for(;--A&&uS()&&!(YD<48||YD>102||YD>57&&YD<65||YD>70&&YD<97););return ttA(g,CGA()+(A<6&&tF()==32&&uS()==32))}function vtg(g){for(;uS();)switch(YD){case g:return xk;case 34:case 39:g!==34&&g!==39&&vtg(YD);break;case 40:g===41&&vtg(g);break;case 92:uS();break}return xk}function uQo(g,A){for(;uS()&&g+YD!==57;)if(g+YD===84&&tF()===47)break;return"/*"+ttA(A,xk-1)+"*"+eGA(g===47?g:uS())}function GQo(g){for(;!otA(tF());)uS();return ttA(g,xk)}function mQo(g){return sRI(iGA("",null,null,null,[""],g=nRI(g),0,[0],g))}function iGA(g,A,I,e,t,o,B,C,Q){for(var i=0,E=0,n=B,s=0,r=0,a=0,c=1,h=1,l=1,D=0,d="",y=t,w=o,u=e,G=d;h;)switch(a=D,D=uS()){case 40:if(a!=108&&$w(G,n-1)==58){btg(G+=Ms(QGA(D),"&","&\f"),"&\f")!=-1&&(l=-1);break}case 34:case 39:case 91:G+=QGA(D);break;case 9:case 10:case 13:case 32:G+=yQo(a);break;case 92:G+=wQo(CGA()-1,7);continue;case 47:switch(tF()){case 42:case 47:tGA(pQo(uQo(uS(),CGA()),A,I),Q);break;default:G+="/"}break;case 123*c:C[i++]=eF(G)*l;case 125*c:case 59:case 0:switch(D){case 0:case 125:h=0;case 59+E:l==-1&&(G=Ms(G,/\f/g,"")),r>0&&eF(G)-n&&tGA(r>32?rRI(G+";",e,I,n-1):rRI(Ms(G," ","")+";",e,I,n-2),Q);break;case 59:G+=";";default:if(tGA(u=aRI(G,A,I,i,E,t,C,d,y=[],w=[],n),o),D===123)if(E===0)iGA(G,A,u,u,y,o,n,C,w);else switch(s===99&&$w(G,3)===110?100:s){case 100:case 108:case 109:case 115:iGA(g,u,u,e&&tGA(aRI(g,u,u,0,0,t,C,d,t,y=[],n),w),t,w,n,C,e?y:w);break;default:iGA(G,u,u,u,[""],w,0,C,w)}}i=E=r=0,c=l=1,d=G="",n=B;break;case 58:n=1+eF(G),r=a;default:if(c<1){if(D==123)--c;else if(D==125&&c++==0&&dQo()==125)continue}switch(G+=eGA(D),D*c){case 38:l=E>0?1:(G+="\f",-1);break;case 44:C[i++]=(eF(G)-1)*l,l=1;break;case 64:tF()===45&&(G+=QGA(uS())),s=tF(),E=n=eF(d=G+=GQo(CGA())),D++;break;case 45:a===45&&eF(G)==2&&(c=0)}}return o}function aRI(g,A,I,e,t,o,B,C,Q,i,E){for(var n=t-1,s=t===0?o:[""],r=Htg(s),a=0,c=0,h=0;a<e;++a)for(var l=0,D=ItA(g,n+1,n=aQo(c=B[a])),d=g;l<r;++l)(d=iRI(c>0?s[l]+" "+D:Ms(D,/&\f/g,s[l])))&&(Q[h++]=d);return BGA(g,A,I,t===0?Ytg:C,Q,i,E)}function pQo(g,A,I){return BGA(g,A,I,CRI,eGA(DQo()),ItA(g,2,-2),0)}function rRI(g,A,I,e){return BGA(g,A,I,_tg,ItA(g,0,e),ItA(g,e+1,-1),e)}function ZZ(g,A){for(var I="",e=Htg(g),t=0;t<e;t++)I+=A(g[t],t,g,A)||"";return I}function kQo(g,A,I,e){switch(g.type){case sQo:if(g.children.length)break;case nQo:case _tg:return g.return=g.return||g.value;case CRI:return"";case QRI:return g.return=g.value+"{"+ZZ(g.children,e)+"}";case Ytg:g.value=g.props.join(",")}return eF(I=ZZ(g.children,e))?g.return=g.value+"{"+I+"}":""}function MQo(g){var A=Htg(g);return function(I,e,t,o){for(var B="",C=0;C<A;C++)B+=g[C](I,e,t,o)||"";return B}}function SQo(g){return function(A){A.root||(A=A.return)&&g(A)}}function fQo(g){var A=Object.create(null);return function(I){return A[I]===void 0&&(A[I]=g(I)),A[I]}}var RQo=function(A,I,e){for(var t=0,o=0;t=o,o=tF(),t===38&&o===12&&(I[e]=1),!otA(o);)uS();return ttA(A,xk)},NQo=function(A,I){var e=-1,t=44;do switch(otA(t)){case 0:t===38&&tF()===12&&(I[e]=1),A[e]+=RQo(xk-1,I,e);break;case 2:A[e]+=QGA(t);break;case 4:if(t===44){A[++e]=tF()===58?"&\f":"",I[e]=A[e].length;break}default:A[e]+=eGA(t)}while(t=uS());return A},xQo=function(A,I){return sRI(NQo(nRI(A),I))},cRI=new WeakMap,FQo=function(A){if(!(A.type!=="rule"||!A.parent||A.length<1)){for(var I=A.value,e=A.parent,t=A.column===e.column&&A.line===e.line;e.type!=="rule";)if(e=e.parent,!e)return;if(!(A.props.length===1&&I.charCodeAt(0)!==58&&!cRI.get(e))&&!t){cRI.set(A,!0);for(var o=[],B=xQo(I,o),C=e.props,Q=0,i=0;Q<B.length;Q++)for(var E=0;E<C.length;E++,i++)A.props[i]=o[Q]?B[Q].replace(/&\f/g,C[E]):C[E]+" "+B[Q]}}},UQo=function(A){if(A.type==="decl"){var I=A.value;I.charCodeAt(0)===108&&I.charCodeAt(2)===98&&(A.return="",A.value="")}};function hRI(g,A){switch(cQo(g,A)){case 5103:return ks+"print-"+g+g;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return ks+g+g;case 5349:case 4246:case 4810:case 6968:case 2756:return ks+g+IGA+g+lG+g+g;case 6828:case 4268:return ks+g+lG+g+g;case 6165:return ks+g+lG+"flex-"+g+g;case 5187:return ks+g+Ms(g,/(\w+).+(:[^]+)/,ks+"box-$1$2"+lG+"flex-$1$2")+g;case 5443:return ks+g+lG+"flex-item-"+Ms(g,/flex-|-self/,"")+g;case 4675:return ks+g+lG+"flex-line-pack"+Ms(g,/align-content|flex-|-self/,"")+g;case 5548:return ks+g+lG+Ms(g,"shrink","negative")+g;case 5292:return ks+g+lG+Ms(g,"basis","preferred-size")+g;case 6060:return ks+"box-"+Ms(g,"-grow","")+ks+g+lG+Ms(g,"grow","positive")+g;case 4554:return ks+Ms(g,/([^-])(transform)/g,"$1"+ks+"$2")+g;case 6187:return Ms(Ms(Ms(g,/(zoom-|grab)/,ks+"$1"),/(image-set)/,ks+"$1"),g,"")+g;case 5495:case 3959:return Ms(g,/(image-set\([^]*)/,ks+"$1$`$1");case 4968:return Ms(Ms(g,/(.+:)(flex-)?(.*)/,ks+"box-pack:$3"+lG+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+ks+g+g;case 4095:case 3583:case 4068:case 2532:return Ms(g,/(.+)-inline(.+)/,ks+"$1$2")+g;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(eF(g)-1-A>6)switch($w(g,A+1)){case 109:if($w(g,A+4)!==45)break;case 102:return Ms(g,/(.+:)(.+)-([^]+)/,"$1"+ks+"$2-$3$1"+IGA+($w(g,A+3)==108?"$3":"$2-$3"))+g;case 115:return~btg(g,"stretch")?hRI(Ms(g,"stretch","fill-available"),A)+g:g}break;case 4949:if($w(g,A+1)!==115)break;case 6444:switch($w(g,eF(g)-3-(~btg(g,"!important")&&10))){case 107:return Ms(g,":",":"+ks)+g;case 101:return Ms(g,/(.+:)([^;!]+)(;|!.+)?/,"$1"+ks+($w(g,14)===45?"inline-":"")+"box$3$1"+ks+"$2$3$1"+lG+"$2box$3")+g}break;case 5936:switch($w(g,A+11)){case 114:return ks+g+lG+Ms(g,/[svh]\w+-[tblr]{2}/,"tb")+g;case 108:return ks+g+lG+Ms(g,/[svh]\w+-[tblr]{2}/,"tb-rl")+g;case 45:return ks+g+lG+Ms(g,/[svh]\w+-[tblr]{2}/,"lr")+g}return ks+g+lG+g+g}return g}var JQo=function(A,I,e,t){if(A.length>-1&&!A.return)switch(A.type){case _tg:A.return=hRI(A.value,A.length);break;case QRI:return ZZ([etA(A,{value:Ms(A.value,"@","@"+ks)})],t);case Ytg:if(A.length)return lQo(A.props,function(o){switch(hQo(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return ZZ([etA(A,{props:[Ms(o,/:(read-\w+)/,":"+IGA+"$1")]})],t);case"::placeholder":return ZZ([etA(A,{props:[Ms(o,/:(plac\w+)/,":"+ks+"input-$1")]}),etA(A,{props:[Ms(o,/:(plac\w+)/,":"+IGA+"$1")]}),etA(A,{props:[Ms(o,/:(plac\w+)/,lG+"input-$1")]})],t)}return""})}},PQo=[JQo],KQo=function(A){var I=A.key;if(I==="css"){var e=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(e,function(c){var h=c.getAttribute("data-emotion");h.indexOf(" ")!==-1&&(document.head.appendChild(c),c.setAttribute("data-s",""))})}var t=A.stylisPlugins||PQo,o={},B,C=[];B=A.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+I+' "]'),function(c){for(var h=c.getAttribute("data-emotion").split(" "),l=1;l<h.length;l++)o[h[l]]=!0;C.push(c)});var Q,i=[FQo,UQo];{var E,n=[kQo,SQo(function(c){E.insert(c)})],s=MQo(i.concat(t,n)),r=function(h){return ZZ(mQo(h),s)};Q=function(h,l,D,d){E=D,r(h?h+"{"+l.styles+"}":l.styles),d&&(a.inserted[l.name]=!0)}}var a={key:I,sheet:new EQo({key:I,container:B,nonce:A.nonce,speedy:A.speedy,prepend:A.prepend,insertionPoint:A.insertionPoint}),nonce:A.nonce,inserted:o,registered:{},insert:Q};return a.sheet.hydrate(C),a};function LQo(g){for(var A=0,I,e=0,t=g.length;t>=4;++e,t-=4)I=g.charCodeAt(e)&255|(g.charCodeAt(++e)&255)<<8|(g.charCodeAt(++e)&255)<<16|(g.charCodeAt(++e)&255)<<24,I=(I&65535)*1540483477+((I>>>16)*59797<<16),I^=I>>>24,A=(I&65535)*1540483477+((I>>>16)*59797<<16)^(A&65535)*1540483477+((A>>>16)*59797<<16);switch(t){case 3:A^=(g.charCodeAt(e+2)&255)<<16;case 2:A^=(g.charCodeAt(e+1)&255)<<8;case 1:A^=g.charCodeAt(e)&255,A=(A&65535)*1540483477+((A>>>16)*59797<<16)}return A^=A>>>13,A=(A&65535)*1540483477+((A>>>16)*59797<<16),((A^A>>>15)>>>0).toString(36)}var YQo={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},_Qo=/[A-Z]|^ms/g,bQo=/_EMO_([^_]+?)_([^]*?)_EMO_/g,lRI=function(A){return A.charCodeAt(1)===45},DRI=function(A){return A!=null&&typeof A!="boolean"},Ttg=fQo(function(g){return lRI(g)?g:g.replace(_Qo,"-$&").toLowerCase()}),dRI=function(A,I){switch(A){case"animation":case"animationName":if(typeof I=="string")return I.replace(bQo,function(e,t,o){return iL={name:t,styles:o,next:iL},t})}return YQo[A]!==1&&!lRI(A)&&typeof I=="number"&&I!==0?I+"px":I};function EGA(g,A,I){if(I==null)return"";var e=I;if(e.__emotion_styles!==void 0)return e;switch(typeof I){case"boolean":return"";case"object":{var t=I;if(t.anim===1)return iL={name:t.name,styles:t.styles,next:iL},t.name;var o=I;if(o.styles!==void 0){var B=o.next;if(B!==void 0)for(;B!==void 0;)iL={name:B.name,styles:B.styles,next:iL},B=B.next;var C=o.styles+";";return C}return HQo(g,A,I)}}var Q=I;if(A==null)return Q;var i=A[Q];return i!==void 0?i:Q}function HQo(g,A,I){var e="";if(Array.isArray(I))for(var t=0;t<I.length;t++)e+=EGA(g,A,I[t])+";";else for(var o in I){var B=I[o];if(typeof B!="object"){var C=B;A!=null&&A[C]!==void 0?e+=o+"{"+A[C]+"}":DRI(C)&&(e+=Ttg(o)+":"+dRI(o,C)+";")}else if(Array.isArray(B)&&typeof B[0]=="string"&&(A==null||A[B[0]]===void 0))for(var Q=0;Q<B.length;Q++)DRI(B[Q])&&(e+=Ttg(o)+":"+dRI(o,B[Q])+";");else{var i=EGA(g,A,B);switch(o){case"animation":case"animationName":{e+=Ttg(o)+":"+i+";";break}default:e+=o+"{"+i+"}"}}}return e}var yRI=/label:\s*([^\s;{]+)\s*(;|$)/g,iL;function qtg(g,A,I){if(g.length===1&&typeof g[0]=="object"&&g[0]!==null&&g[0].styles!==void 0)return g[0];var e=!0,t="";iL=void 0;var o=g[0];if(o==null||o.raw===void 0)e=!1,t+=EGA(I,A,o);else{var B=o;t+=B[0]}for(var C=1;C<g.length;C++)if(t+=EGA(I,A,g[C]),e){var Q=o;t+=Q[C]}yRI.lastIndex=0;for(var i="",E;(E=yRI.exec(t))!==null;)i+="-"+E[1];var n=LQo(t)+i;return{name:n,styles:t,next:iL}}function wRI(g,A,I){var e="";return I.split(" ").forEach(function(t){g[t]!==void 0?A.push(g[t]+";"):t&&(e+=t+" ")}),e}var vQo=function(A,I,e){var t=A.key+"-"+I.name;A.registered[t]===void 0&&(A.registered[t]=I.styles)},TQo=function(A,I,e){vQo(A,I);var t=A.key+"-"+I.name;if(A.inserted[I.name]===void 0){var o=I;do A.insert(I===o?"."+t:"",o,A.sheet,!0),o=o.next;while(o!==void 0)}};function uRI(g,A){if(g.inserted[A.name]===void 0)return g.insert("",A,g.sheet,!0)}function GRI(g,A,I){var e=[],t=wRI(g,e,I);return e.length<2?I:t+A(e)}var qQo=function(A){var I=KQo(A);I.sheet.speedy=function(C){this.isSpeedy=C},I.compat=!0;var e=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=qtg(i,I.registered,void 0);return TQo(I,n),I.key+"-"+n.name},t=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=qtg(i,I.registered),s="animation-"+n.name;return uRI(I,{name:n.name,styles:"@keyframes "+s+"{"+n.styles+"}"}),s},o=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=qtg(i,I.registered);uRI(I,n)},B=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];return GRI(I.registered,e,ZQo(i))};return{css:e,cx:B,injectGlobal:o,keyframes:t,hydrate:function(Q){Q.forEach(function(i){I.inserted[i]=!0})},flush:function(){I.registered={},I.inserted={},I.sheet.flush()},sheet:I.sheet,cache:I,getRegisteredStyles:wRI.bind(null,I.registered),merge:GRI.bind(null,I.registered,e)}},ZQo=function g(A){for(var I="",e=0;e<A.length;e++){var t=A[e];if(t!=null){var o=void 0;switch(typeof t){case"boolean":break;case"object":{if(Array.isArray(t))o=g(t);else{o="";for(var B in t)t[B]&&B&&(o&&(o+=" "),o+=B)}break}default:o=t}o&&(I&&(I+=" "),I+=o)}}return I},OQo=qQo({key:"css"}),OZ=OQo.css,WQo=Object.create,Ztg=Object.defineProperty,VQo=Object.getOwnPropertyDescriptor,Otg=Object.getOwnPropertyNames,jQo=Object.getPrototypeOf,zQo=Object.prototype.hasOwnProperty,XQo=(g,A)=>function(){return g&&(A=(0,g[Otg(g)[0]])(g=0)),A},Wtg=(g,A)=>function(){return A||(0,g[Otg(g)[0]])((A={exports:{}}).exports,A),A.exports},$Qo=(g,A)=>{for(var I in A)Ztg(g,I,{get:A[I],enumerable:!0})},Aio=(g,A,I,e)=>{if(A&&typeof A=="object"||typeof A=="function")for(let t of Otg(A))!zQo.call(g,t)&&t!==I&&Ztg(g,t,{get:()=>A[t],enumerable:!(e=VQo(A,t))||e.enumerable});return g},mRI=(g,A,I)=>(I=g!=null?WQo(jQo(g)):{},Aio(A||!g||!g.__esModule?Ztg(I,"default",{value:g,enumerable:!0}):I,g)),gio=Wtg({"node_modules/toggle-selection/index.js"(g,A){A.exports=function(){var I=document.getSelection();if(!I.rangeCount)return function(){};for(var e=document.activeElement,t=[],o=0;o<I.rangeCount;o++)t.push(I.getRangeAt(o));switch(e.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":e.blur();break;default:e=null;break}return I.removeAllRanges(),function(){I.type==="Caret"&&I.removeAllRanges(),I.rangeCount||t.forEach(function(B){I.addRange(B)}),e&&e.focus()}}}}),Iio=Wtg({"node_modules/copy-to-clipboard/index.js"(g,A){var I=gio(),e={"text/plain":"Text","text/html":"Url",default:"Text"},t="Copy to clipboard: #{key}, Enter";function o(C){var Q=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return C.replace(/#{\s*key\s*}/g,Q)}function B(C,Q){var i,E,n,s,r,a,c=!1;Q||(Q={}),i=Q.debug||!1;try{n=I(),s=document.createRange(),r=document.getSelection(),a=document.createElement("span"),a.textContent=C,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(l){if(l.stopPropagation(),Q.format)if(l.preventDefault(),typeof l.clipboardData>"u"){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var D=e[Q.format]||e.default;window.clipboardData.setData(D,C)}else l.clipboardData.clearData(),l.clipboardData.setData(Q.format,C);Q.onCopy&&(l.preventDefault(),Q.onCopy(l.clipboardData))}),document.body.appendChild(a),s.selectNodeContents(a),r.addRange(s);var h=document.execCommand("copy");if(!h)throw new Error("copy command was unsuccessful");c=!0}catch(l){i&&console.error("unable to copy using execCommand: ",l),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(Q.format||"text",C),Q.onCopy&&Q.onCopy(window.clipboardData),c=!0}catch(D){i&&console.error("unable to copy using clipboardData: ",D),i&&console.error("falling back to prompt"),E=o("message"in Q?Q.message:t),window.prompt(E,C)}}finally{r&&(typeof r.removeRange=="function"?r.removeRange(s):r.removeAllRanges()),a&&document.body.removeChild(a),n()}return c}A.exports=B}}),eio=Wtg({"node_modules/svgson/dist/svgson.umd.js"(g,A){(function(I,e){typeof g=="object"&&typeof A<"u"?A.exports=e():typeof define=="function"&&define.amd?define(e):(I=typeof globalThis<"u"?globalThis:I||self,I.svgson=e())})(g,function(){var I=function(W){return W!=null&&(e(W)||t(W)||!!W._isBuffer)};function e(W){return!!W.constructor&&typeof W.constructor.isBuffer=="function"&&W.constructor.isBuffer(W)}function t(W){return typeof W.readFloatLE=="function"&&typeof W.slice=="function"&&e(W.slice(0,0))}var o=Object.prototype.toString,B=function(Z){if(typeof Z>"u")return"undefined";if(Z===null)return"null";if(Z===!0||Z===!1||Z instanceof Boolean)return"boolean";if(typeof Z=="string"||Z instanceof String)return"string";if(typeof Z=="number"||Z instanceof Number)return"number";if(typeof Z=="function"||Z instanceof Function)return"function";if(typeof Array.isArray<"u"&&Array.isArray(Z))return"array";if(Z instanceof RegExp)return"regexp";if(Z instanceof Date)return"date";var gA=o.call(Z);return gA==="[object RegExp]"?"regexp":gA==="[object Date]"?"date":gA==="[object Arguments]"?"arguments":gA==="[object Error]"?"error":I(Z)?"buffer":gA==="[object Set]"?"set":gA==="[object WeakSet]"?"weakset":gA==="[object Map]"?"map":gA==="[object WeakMap]"?"weakmap":gA==="[object Symbol]"?"symbol":gA==="[object Int8Array]"?"int8array":gA==="[object Uint8Array]"?"uint8array":gA==="[object Uint8ClampedArray]"?"uint8clampedarray":gA==="[object Int16Array]"?"int16array":gA==="[object Uint16Array]"?"uint16array":gA==="[object Int32Array]"?"int32array":gA==="[object Uint32Array]"?"uint32array":gA==="[object Float32Array]"?"float32array":gA==="[object Float64Array]"?"float64array":"object"};function C(W,Z){return Z={exports:{}},W(Z,Z.exports),Z.exports}var Q=C(function(W){(function(){function Z(gA,tA){if(typeof tA!="function")return gA;var IA={};for(var QA in gA)Object.prototype.hasOwnProperty.call(gA,QA)&&(IA[tA(QA,gA[QA])||QA]=gA[QA]);return IA}W.exports?W.exports=Z:window.rename=Z})()}),i=function W(Z,gA){var tA=B(Z);if(tA!=="object"&&tA!=="array")throw new Error("expected an object");var IA=[];tA==="object"&&(Z=Q(Z,gA),IA={});for(var QA in Z)if(Z.hasOwnProperty(QA)){var nA=Z[QA];B(nA)==="object"||B(nA)==="array"?IA[QA]=W(nA,gA):IA[QA]=nA}return IA},E=C(function(W){var Z=Object.prototype.hasOwnProperty,gA="~";function tA(){}Object.create&&(tA.prototype=Object.create(null),new tA().__proto__||(gA=!1));function IA(nA,DA,CA){this.fn=nA,this.context=DA,this.once=CA||!1}function QA(){this._events=new tA,this._eventsCount=0}QA.prototype.eventNames=function(){var DA=[],CA,hA;if(this._eventsCount===0)return DA;for(hA in CA=this._events)Z.call(CA,hA)&&DA.push(gA?hA.slice(1):hA);return Object.getOwnPropertySymbols?DA.concat(Object.getOwnPropertySymbols(CA)):DA},QA.prototype.listeners=function(DA,CA){var hA=gA?gA+DA:DA,sA=this._events[hA];if(CA)return!!sA;if(!sA)return[];if(sA.fn)return[sA.fn];for(var cA=0,SA=sA.length,FA=new Array(SA);cA<SA;cA++)FA[cA]=sA[cA].fn;return FA},QA.prototype.emit=function(DA,CA,hA,sA,cA,SA){var FA=gA?gA+DA:DA;if(!this._events[FA])return!1;var aA=this._events[FA],xA=arguments.length,RA,NA;if(aA.fn){switch(aA.once&&this.removeListener(DA,aA.fn,void 0,!0),xA){case 1:return aA.fn.call(aA.context),!0;case 2:return aA.fn.call(aA.context,CA),!0;case 3:return aA.fn.call(aA.context,CA,hA),!0;case 4:return aA.fn.call(aA.context,CA,hA,sA),!0;case 5:return aA.fn.call(aA.context,CA,hA,sA,cA),!0;case 6:return aA.fn.call(aA.context,CA,hA,sA,cA,SA),!0}for(NA=1,RA=new Array(xA-1);NA<xA;NA++)RA[NA-1]=arguments[NA];aA.fn.apply(aA.context,RA)}else{var HA=aA.length,PA;for(NA=0;NA<HA;NA++)switch(aA[NA].once&&this.removeListener(DA,aA[NA].fn,void 0,!0),xA){case 1:aA[NA].fn.call(aA[NA].context);break;case 2:aA[NA].fn.call(aA[NA].context,CA);break;case 3:aA[NA].fn.call(aA[NA].context,CA,hA);break;case 4:aA[NA].fn.call(aA[NA].context,CA,hA,sA);break;default:if(!RA)for(PA=1,RA=new Array(xA-1);PA<xA;PA++)RA[PA-1]=arguments[PA];aA[NA].fn.apply(aA[NA].context,RA)}}return!0},QA.prototype.on=function(DA,CA,hA){var sA=new IA(CA,hA||this),cA=gA?gA+DA:DA;return this._events[cA]?this._events[cA].fn?this._events[cA]=[this._events[cA],sA]:this._events[cA].push(sA):(this._events[cA]=sA,this._eventsCount++),this},QA.prototype.once=function(DA,CA,hA){var sA=new IA(CA,hA||this,!0),cA=gA?gA+DA:DA;return this._events[cA]?this._events[cA].fn?this._events[cA]=[this._events[cA],sA]:this._events[cA].push(sA):(this._events[cA]=sA,this._eventsCount++),this},QA.prototype.removeListener=function(DA,CA,hA,sA){var cA=gA?gA+DA:DA;if(!this._events[cA])return this;if(!CA)return--this._eventsCount===0?this._events=new tA:delete this._events[cA],this;var SA=this._events[cA];if(SA.fn)SA.fn===CA&&(!sA||SA.once)&&(!hA||SA.context===hA)&&(--this._eventsCount===0?this._events=new tA:delete this._events[cA]);else{for(var FA=0,aA=[],xA=SA.length;FA<xA;FA++)(SA[FA].fn!==CA||sA&&!SA[FA].once||hA&&SA[FA].context!==hA)&&aA.push(SA[FA]);aA.length?this._events[cA]=aA.length===1?aA[0]:aA:--this._eventsCount===0?this._events=new tA:delete this._events[cA]}return this},QA.prototype.removeAllListeners=function(DA){var CA;return DA?(CA=gA?gA+DA:DA,this._events[CA]&&(--this._eventsCount===0?this._events=new tA:delete this._events[CA])):(this._events=new tA,this._eventsCount=0),this},QA.prototype.off=QA.prototype.removeListener,QA.prototype.addListener=QA.prototype.on,QA.prototype.setMaxListeners=function(){return this},QA.prefixed=gA,QA.EventEmitter=QA,W.exports=QA});function n(W,Z,gA){return Z in W?Object.defineProperty(W,Z,{value:gA,enumerable:!0,configurable:!0,writable:!0}):W[Z]=gA,W}var s=function(){},r={data:"state-data",cdata:"state-cdata",tagBegin:"state-tag-begin",tagName:"state-tag-name",tagEnd:"state-tag-end",attributeNameStart:"state-attribute-name-start",attributeName:"state-attribute-name",attributeNameEnd:"state-attribute-name-end",attributeValueBegin:"state-attribute-value-begin",attributeValue:"state-attribute-value"},a={lt:"action-lt",gt:"action-gt",space:"action-space",equal:"action-equal",quote:"action-quote",slash:"action-slash",char:"action-char",error:"action-error"},c={text:"text",openTag:"open-tag",closeTag:"close-tag",attributeName:"attribute-name",attributeValue:"attribute-value"},h={" ":a.space," ":a.space,"\n":a.space,"\r":a.space,"<":a.lt,">":a.gt,'"':a.quote,"'":a.quote,"=":a.equal,"/":a.slash},l=function(Z){return h[Z]||a.char},D=function(Z){var gA,tA,IA,QA,nA,DA,CA,hA,sA,cA;Z=Object.assign({debug:!1},Z);var SA=new E,FA=r.data,aA="",xA="",RA="",NA="",HA="",PA="",GA=function(bA,WA){if(!(xA[0]==="?"||xA[0]==="!")){var Qg={type:bA,value:WA};Z.debug&&console.log("emit:",Qg),SA.emit("data",Qg)}};SA.stateMachine=(cA={},n(cA,r.data,(gA={},n(gA,a.lt,function(){aA.trim()&&GA(c.text,aA),xA="",HA=!1,FA=r.tagBegin}),n(gA,a.char,function(dA){aA+=dA}),gA)),n(cA,r.cdata,n({},a.char,function(dA){aA+=dA,aA.substr(-3)==="]]>"&&(GA(c.text,aA.slice(0,-3)),aA="",FA=r.data)})),n(cA,r.tagBegin,(tA={},n(tA,a.space,s),n(tA,a.char,function(dA){xA=dA,FA=r.tagName}),n(tA,a.slash,function(){xA="",HA=!0}),tA)),n(cA,r.tagName,(IA={},n(IA,a.space,function(){HA?FA=r.tagEnd:(FA=r.attributeNameStart,GA(c.openTag,xA))}),n(IA,a.gt,function(){GA(HA?c.closeTag:c.openTag,xA),aA="",FA=r.data}),n(IA,a.slash,function(){FA=r.tagEnd,GA(c.openTag,xA)}),n(IA,a.char,function(dA){xA+=dA,xA==="![CDATA["&&(FA=r.cdata,aA="",xA="")}),IA)),n(cA,r.tagEnd,(QA={},n(QA,a.gt,function(){GA(c.closeTag,xA),aA="",FA=r.data}),n(QA,a.char,s),QA)),n(cA,r.attributeNameStart,(nA={},n(nA,a.char,function(dA){RA=dA,FA=r.attributeName}),n(nA,a.gt,function(){aA="",FA=r.data}),n(nA,a.space,s),n(nA,a.slash,function(){HA=!0,FA=r.tagEnd}),nA)),n(cA,r.attributeName,(DA={},n(DA,a.space,function(){FA=r.attributeNameEnd}),n(DA,a.equal,function(){GA(c.attributeName,RA),FA=r.attributeValueBegin}),n(DA,a.gt,function(){NA="",GA(c.attributeName,RA),GA(c.attributeValue,NA),aA="",FA=r.data}),n(DA,a.slash,function(){HA=!0,NA="",GA(c.attributeName,RA),GA(c.attributeValue,NA),FA=r.tagEnd}),n(DA,a.char,function(dA){RA+=dA}),DA)),n(cA,r.attributeNameEnd,(CA={},n(CA,a.space,s),n(CA,a.equal,function(){GA(c.attributeName,RA),FA=r.attributeValueBegin}),n(CA,a.gt,function(){NA="",GA(c.attributeName,RA),GA(c.attributeValue,NA),aA="",FA=r.data}),n(CA,a.char,function(dA){NA="",GA(c.attributeName,RA),GA(c.attributeValue,NA),RA=dA,FA=r.attributeName}),CA)),n(cA,r.attributeValueBegin,(hA={},n(hA,a.space,s),n(hA,a.quote,function(dA){PA=dA,NA="",FA=r.attributeValue}),n(hA,a.gt,function(){NA="",GA(c.attributeValue,NA),aA="",FA=r.data}),n(hA,a.char,function(dA){PA="",NA=dA,FA=r.attributeValue}),hA)),n(cA,r.attributeValue,(sA={},n(sA,a.space,function(dA){PA?NA+=dA:(GA(c.attributeValue,NA),FA=r.attributeNameStart)}),n(sA,a.quote,function(dA){PA===dA?(GA(c.attributeValue,NA),FA=r.attributeNameStart):NA+=dA}),n(sA,a.gt,function(dA){PA?NA+=dA:(GA(c.attributeValue,NA),aA="",FA=r.data)}),n(sA,a.slash,function(dA){PA?NA+=dA:(GA(c.attributeValue,NA),HA=!0,FA=r.tagEnd)}),n(sA,a.char,function(dA){NA+=dA}),sA)),cA);var LA=function(bA){Z.debug&&console.log(FA,bA);var WA=SA.stateMachine[FA],Qg=WA[l(bA)]||WA[a.error]||WA[a.char];Qg(bA)};return SA.write=function(dA){for(var bA=dA.length,WA=0;WA<bA;WA++)LA(dA[WA])},SA},d={State:r,Action:a,Type:c,create:D},y=d.Type,w={element:"element",text:"text"},u=function(Z){return Object.assign({name:"",type:w.element,value:"",parent:null,attributes:{},children:[]},Z)},G=function(Z){Z=Object.assign({stream:!1,parentNodes:!0,doneEvent:"done",tagPrefix:"tag:",emitTopLevelOnly:!1,debug:!1},Z);var gA=void 0,tA=void 0,IA=void 0,QA=void 0,nA=new E,DA=function(hA){switch(hA.type){case y.openTag:if(IA===null)IA=tA,IA.name=hA.value;else{var sA=u({name:hA.value,parent:IA});IA.children.push(sA),IA=sA}break;case y.closeTag:var cA=IA.parent;if(Z.parentNodes||(IA.parent=null),IA.name!==hA.value)break;Z.stream&&cA===tA&&(tA.children=[],IA.parent=null),(!Z.emitTopLevelOnly||cA===tA)&&(nA.emit(Z.tagPrefix+IA.name,IA),nA.emit("tag",IA.name,IA)),IA===tA&&(gA.removeAllListeners("data"),nA.emit(Z.doneEvent,IA),tA=null),IA=cA;break;case y.text:IA&&IA.children.push(u({type:w.text,value:hA.value,parent:Z.parentNodes?IA:null}));break;case y.attributeName:QA=hA.value,IA.attributes[QA]="";break;case y.attributeValue:IA.attributes[QA]=hA.value;break}};return nA.reset=function(){gA=d.create({debug:Z.debug}),gA.on("data",DA),tA=u(),IA=null,QA="",nA.parse=gA.write},nA.reset(),nA},m=function(Z,gA){gA=Object.assign({},gA,{stream:!1,tagPrefix:":"});var tA=G(gA),IA=void 0;return tA.on("done",function(QA){IA=QA}),tA.parse(Z),IA},p={parseSync:m},k=p.parseSync,S=function(Z){var gA=k("<root>".concat(Z,"</root>"),{parentNodes:!1}),tA=gA.children&&gA.children.length>0&&gA.children.every(function(IA){return IA.name==="svg"});if(tA)return gA.children.length===1?gA.children[0]:gA.children;throw Error("nothing to parse")},R=function(Z){return i(Z,function(gA){return N(gA)?gA:x(gA)})},x=function(Z){return Z.replace(/[-|:]([a-z])/gi,function(gA,tA){return tA.toUpperCase()})},N=function(Z){return/^(data|aria)(-\w+)/.test(Z)},U=function(Z){if(Z){var gA=String(Z);return/[&<>]/.test(gA)?"<![CDATA[".concat(gA.replace(/]]>/,"]]]]><![CDATA[>"),"]]>"):gA}return""},K=function(Z){return String(Z).replace(/&/g,"&amp;").replace(/'/g,"&apos;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},Y=function(Z){var gA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tA=gA.transformNode,IA=tA===void 0?function(CA){return CA}:tA,QA=gA.camelcase,nA=QA===void 0?!1:QA,DA=function(hA){var sA;return sA=IA(hA),nA&&(sA=R(sA)),sA};return DA(S(Z))};function b(){for(var W=arguments.length,Z=new Array(W),gA=0;gA<W;gA++)Z[gA]=arguments[gA];return new Promise(function(tA,IA){try{var QA=Y.apply(void 0,Z);tA(QA)}catch(nA){IA(nA)}})}var q=function W(Z){var gA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tA=gA.transformAttr,IA=tA===void 0?function(FA,aA,xA){return"".concat(FA,'="').concat(xA(aA),'"')}:tA,QA=gA.transformNode,nA=QA===void 0?function(FA){return FA}:QA,DA=gA.selfClose,CA=DA===void 0?!0:DA;if(Array.isArray(Z))return Z.map(function(FA){return W(FA,{transformAttr:IA,selfClose:CA,transformNode:nA})}).join("");var hA=nA(Z);if(hA.type==="text")return U(hA.value);var sA="";for(var cA in hA.attributes){var SA=IA(cA,hA.attributes[cA],K,hA.name);sA+=SA?" ".concat(SA):""}return hA.children&&hA.children.length>0||!CA?"<".concat(hA.name).concat(sA,">").concat(W(hA.children,{transformAttr:IA,transformNode:nA,selfClose:CA}),"</").concat(hA.name,">"):"<".concat(hA.name).concat(sA,"/>")},j=Object.assign({},{parse:b,parseSync:Y,stringify:q});return j})}}),pRI={};$Qo(pRI,{default:()=>tio});function tio(){const g=URL.createObjectURL(new Blob(['"use strict";(()=>{var n4=Object.create;var z0=Object.defineProperty;var r4=Object.getOwnPropertyDescriptor;var i4=Object.getOwnPropertyNames;var o4=Object.getPrototypeOf,s4=Object.prototype.hasOwnProperty;var l4=(y,x,e)=>x in y?z0(y,x,{enumerable:!0,configurable:!0,writable:!0,value:e}):y[x]=e;var a4=(y,x)=>()=>(x||y((x={exports:{}}).exports,x),x.exports);var c4=(y,x,e,r)=>{if(x&&typeof x=="object"||typeof x=="function")for(let o of i4(x))!s4.call(y,o)&&o!==e&&z0(y,o,{get:()=>x[o],enumerable:!(r=r4(x,o))||r.enumerable});return y};var u4=(y,x,e)=>(e=y!=null?n4(o4(y)):{},c4(x||!y||!y.__esModule?z0(e,"default",{value:y,enumerable:!0}):e,y));var U=(y,x,e)=>l4(y,typeof x!="symbol"?x+"":x,e);var d5=a4((X0,D0)=>{"use strict";(function(y,x){typeof X0=="object"&&typeof D0<"u"?D0.exports=x():typeof define=="function"&&define.amd?define(x):(y=typeof globalThis<"u"?globalThis:y||self,y.polygonClipping=x())})(X0,function(){"use strict";function y(u,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,l,s,g;return g={next:h(0),throw:h(1),return:h(2)},typeof Symbol=="function"&&(g[Symbol.iterator]=function(){return this}),g;function h(d){return function(I){return m([d,I])}}function m(d){if(i)throw new TypeError("Generator is already executing.");for(;n;)try{if(i=1,l&&(s=d[0]&2?l.return:d[0]?l.throw||((s=l.return)&&s.call(l),0):l.next)&&!(s=s.call(l,d[1])).done)return s;switch(l=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return n.label++,{value:d[1],done:!1};case 5:n.label++,l=d[1],d=[0];continue;case 7:d=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){n.label=d[1];break}if(d[0]===6&&n.label<s[1]){n.label=s[1],s=d;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(d);break}s[2]&&n.ops.pop(),n.trys.pop();continue}d=t.call(u,n)}catch(I){d=[6,I],l=0}finally{i=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}var x=function(){function u(t,n){this.next=null,this.key=t,this.data=n,this.left=null,this.right=null}return u}();function e(u,t){return u>t?1:u<t?-1:0}function r(u,t,n){for(var i=new x(null,null),l=i,s=i;;){var g=n(u,t.key);if(g<0){if(t.left===null)break;if(n(u,t.left.key)<0){var h=t.left;if(t.left=h.right,h.right=t,t=h,t.left===null)break}s.left=t,s=t,t=t.left}else if(g>0){if(t.right===null)break;if(n(u,t.right.key)>0){var h=t.right;if(t.right=h.left,h.left=t,t=h,t.right===null)break}l.right=t,l=t,t=t.right}else break}return l.right=t.left,s.left=t.right,t.left=i.right,t.right=i.left,t}function o(u,t,n,i){var l=new x(u,t);if(n===null)return l.left=l.right=null,l;n=r(u,n,i);var s=i(u,n.key);return s<0?(l.left=n.left,l.right=n,n.left=null):s>=0&&(l.right=n.right,l.left=n,n.right=null),l}function a(u,t,n){var i=null,l=null;if(t){t=r(u,t,n);var s=n(t.key,u);s===0?(i=t.left,l=t.right):s<0?(l=t.right,t.right=null,i=t):(i=t.left,t.left=null,l=t)}return{left:i,right:l}}function c(u,t,n){return t===null?u:(u===null||(t=r(u.key,t,n),t.left=u),t)}function p(u,t,n,i,l){if(u){i(""+t+(n?"\\u2514\\u2500\\u2500 ":"\\u251C\\u2500\\u2500 ")+l(u)+`\n`);var s=t+(n?" ":"\\u2502 ");u.left&&p(u.left,s,!1,i,l),u.right&&p(u.right,s,!0,i,l)}}var L=function(){function u(t){t===void 0&&(t=e),this._root=null,this._size=0,this._comparator=t}return u.prototype.insert=function(t,n){return this._size++,this._root=o(t,n,this._root,this._comparator)},u.prototype.add=function(t,n){var i=new x(t,n);this._root===null&&(i.left=i.right=null,this._size++,this._root=i);var l=this._comparator,s=r(t,this._root,l),g=l(t,s.key);return g===0?this._root=s:(g<0?(i.left=s.left,i.right=s,s.left=null):g>0&&(i.right=s.right,i.left=s,s.right=null),this._size++,this._root=i),this._root},u.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator)},u.prototype._remove=function(t,n,i){var l;if(n===null)return null;n=r(t,n,i);var s=i(t,n.key);return s===0?(n.left===null?l=n.right:(l=r(t,n.left,i),l.right=n.right),this._size--,l):n},u.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=r(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},u.prototype.findStatic=function(t){for(var n=this._root,i=this._comparator;n;){var l=i(t,n.key);if(l===0)return n;l<0?n=n.left:n=n.right}return null},u.prototype.find=function(t){return this._root&&(this._root=r(t,this._root,this._comparator),this._comparator(t,this._root.key)!==0)?null:this._root},u.prototype.contains=function(t){for(var n=this._root,i=this._comparator;n;){var l=i(t,n.key);if(l===0)return!0;l<0?n=n.left:n=n.right}return!1},u.prototype.forEach=function(t,n){for(var i=this._root,l=[],s=!1;!s;)i!==null?(l.push(i),i=i.left):l.length!==0?(i=l.pop(),t.call(n,i),i=i.right):s=!0;return this},u.prototype.range=function(t,n,i,l){for(var s=[],g=this._comparator,h=this._root,m;s.length!==0||h;)if(h)s.push(h),h=h.left;else{if(h=s.pop(),m=g(h.key,n),m>0)break;if(g(h.key,t)>=0&&i.call(l,h))return this;h=h.right}return this},u.prototype.keys=function(){var t=[];return this.forEach(function(n){var i=n.key;return t.push(i)}),t},u.prototype.values=function(){var t=[];return this.forEach(function(n){var i=n.data;return t.push(i)}),t},u.prototype.min=function(){return this._root?this.minNode(this._root).key:null},u.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},u.prototype.minNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.left;)t=t.left;return t},u.prototype.maxNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.right;)t=t.right;return t},u.prototype.at=function(t){for(var n=this._root,i=!1,l=0,s=[];!i;)if(n)s.push(n),n=n.left;else if(s.length>0){if(n=s.pop(),l===t)return n;l++,n=n.right}else i=!0;return null},u.prototype.next=function(t){var n=this._root,i=null;if(t.right){for(i=t.right;i.left;)i=i.left;return i}for(var l=this._comparator;n;){var s=l(t.key,n.key);if(s===0)break;s<0?(i=n,n=n.left):n=n.right}return i},u.prototype.prev=function(t){var n=this._root,i=null;if(t.left!==null){for(i=t.left;i.right;)i=i.right;return i}for(var l=this._comparator;n;){var s=l(t.key,n.key);if(s===0)break;s<0?n=n.left:(i=n,n=n.right)}return i},u.prototype.clear=function(){return this._root=null,this._size=0,this},u.prototype.toList=function(){return R(this._root)},u.prototype.load=function(t,n,i){n===void 0&&(n=[]),i===void 0&&(i=!1);var l=t.length,s=this._comparator;if(i&&b(t,n,0,l-1,s),this._root===null)this._root=M(t,n,0,l),this._size=l;else{var g=S(this.toList(),A(t,n),s);l=this._size+l,this._root=O({head:g},0,l)}return this},u.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(u.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),u.prototype.toString=function(t){t===void 0&&(t=function(i){return String(i.key)});var n=[];return p(this._root,"",!0,function(i){return n.push(i)},t),n.join("")},u.prototype.update=function(t,n,i){var l=this._comparator,s=a(t,this._root,l),g=s.left,h=s.right;l(t,n)<0?h=o(n,i,h,l):g=o(n,i,g,l),this._root=c(g,h,l)},u.prototype.split=function(t){return a(t,this._root,this._comparator)},u.prototype[Symbol.iterator]=function(){var t,n,i;return y(this,function(l){switch(l.label){case 0:t=this._root,n=[],i=!1,l.label=1;case 1:return i?[3,6]:t===null?[3,2]:(n.push(t),t=t.left,[3,5]);case 2:return n.length===0?[3,4]:(t=n.pop(),[4,t]);case 3:return l.sent(),t=t.right,[3,5];case 4:i=!0,l.label=5;case 5:return[3,1];case 6:return[2]}})},u}();function M(u,t,n,i){var l=i-n;if(l>0){var s=n+Math.floor(l/2),g=u[s],h=t[s],m=new x(g,h);return m.left=M(u,t,n,s),m.right=M(u,t,s+1,i),m}return null}function A(u,t){for(var n=new x(null,null),i=n,l=0;l<u.length;l++)i=i.next=new x(u[l],t[l]);return i.next=null,n.next}function R(u){for(var t=u,n=[],i=!1,l=new x(null,null),s=l;!i;)t?(n.push(t),t=t.left):n.length>0?(t=s=s.next=n.pop(),t=t.right):i=!0;return s.next=null,l.next}function O(u,t,n){var i=n-t;if(i>0){var l=t+Math.floor(i/2),s=O(u,t,l),g=u.head;return g.left=s,u.head=u.head.next,g.right=O(u,l+1,n),g}return null}function S(u,t,n){for(var i=new x(null,null),l=i,s=u,g=t;s!==null&&g!==null;)n(s.key,g.key)<0?(l.next=s,s=s.next):(l.next=g,g=g.next),l=l.next;return s!==null?l.next=s:g!==null&&(l.next=g),i.next}function b(u,t,n,i,l){if(!(n>=i)){for(var s=u[n+i>>1],g=n-1,h=i+1;;){do g++;while(l(u[g],s)<0);do h--;while(l(u[h],s)>0);if(g>=h)break;var m=u[g];u[g]=u[h],u[h]=m,m=t[g],t[g]=t[h],t[h]=m}b(u,t,n,h,l),b(u,t,h+1,i,l)}}let _=(u,t)=>u.ll.x<=t.x&&t.x<=u.ur.x&&u.ll.y<=t.y&&t.y<=u.ur.y,k=(u,t)=>{if(t.ur.x<u.ll.x||u.ur.x<t.ll.x||t.ur.y<u.ll.y||u.ur.y<t.ll.y)return null;let n=u.ll.x<t.ll.x?t.ll.x:u.ll.x,i=u.ur.x<t.ur.x?u.ur.x:t.ur.x,l=u.ll.y<t.ll.y?t.ll.y:u.ll.y,s=u.ur.y<t.ur.y?u.ur.y:t.ur.y;return{ll:{x:n,y:l},ur:{x:i,y:s}}},T=Number.EPSILON;T===void 0&&(T=Math.pow(2,-52));let C=T*T,v=(u,t)=>{if(-T<u&&u<T&&-T<t&&t<T)return 0;let n=u-t;return n*n<C*u*t?0:u<t?-1:1};class E{constructor(){this.reset()}reset(){this.xRounder=new z,this.yRounder=new z}round(t,n){return{x:this.xRounder.round(t),y:this.yRounder.round(n)}}}class z{constructor(){this.tree=new L,this.round(0)}round(t){let n=this.tree.add(t),i=this.tree.prev(n);if(i!==null&&v(n.key,i.key)===0)return this.tree.remove(t),i.key;let l=this.tree.next(n);return l!==null&&v(n.key,l.key)===0?(this.tree.remove(t),l.key):t}}let y0=new E,D=11102230246251565e-32,$=134217729,p0=(3+8*D)*D;function g0(u,t,n,i,l){let s,g,h,m,d=t[0],I=i[0],f=0,w=0;I>d==I>-d?(s=d,d=t[++f]):(s=I,I=i[++w]);let P=0;if(f<u&&w<n)for(I>d==I>-d?(g=d+s,h=s-(g-d),d=t[++f]):(g=I+s,h=s-(g-I),I=i[++w]),s=g,h!==0&&(l[P++]=h);f<u&&w<n;)I>d==I>-d?(g=s+d,m=g-s,h=s-(g-m)+(d-m),d=t[++f]):(g=s+I,m=g-s,h=s-(g-m)+(I-m),I=i[++w]),s=g,h!==0&&(l[P++]=h);for(;f<u;)g=s+d,m=g-s,h=s-(g-m)+(d-m),d=t[++f],s=g,h!==0&&(l[P++]=h);for(;w<n;)g=s+I,m=g-s,h=s-(g-m)+(I-m),I=i[++w],s=g,h!==0&&(l[P++]=h);return(s!==0||P===0)&&(l[P++]=s),P}function F5(u,t){let n=t[0];for(let i=1;i<u;i++)n+=t[i];return n}function M0(u){return new Float64Array(u)}let W5=(3+16*D)*D,z5=(2+12*D)*D,$5=(9+64*D)*D*D,L0=M0(4),t5=M0(8),e5=M0(12),n5=M0(16),Q=M0(4);function Y5(u,t,n,i,l,s,g){let h,m,d,I,f,w,P,G,N,F,B,W,Z,X,j,H,t0,q,r0=u-l,i0=n-l,o0=t-s,s0=i-s;X=r0*s0,w=$*r0,P=w-(w-r0),G=r0-P,w=$*s0,N=w-(w-s0),F=s0-N,j=G*F-(X-P*N-G*N-P*F),H=o0*i0,w=$*o0,P=w-(w-o0),G=o0-P,w=$*i0,N=w-(w-i0),F=i0-N,t0=G*F-(H-P*N-G*N-P*F),B=j-t0,f=j-B,L0[0]=j-(B+f)+(f-t0),W=X+B,f=W-X,Z=X-(W-f)+(B-f),B=Z-H,f=Z-B,L0[1]=Z-(B+f)+(f-H),q=W+B,f=q-W,L0[2]=W-(q-f)+(B-f),L0[3]=q;let l0=F5(4,L0),E0=z5*g;if(l0>=E0||-l0>=E0||(f=u-r0,h=u-(r0+f)+(f-l),f=n-i0,d=n-(i0+f)+(f-l),f=t-o0,m=t-(o0+f)+(f-s),f=i-s0,I=i-(s0+f)+(f-s),h===0&&m===0&&d===0&&I===0)||(E0=$5*g+p0*Math.abs(l0),l0+=r0*I+s0*h-(o0*d+i0*m),l0>=E0||-l0>=E0))return l0;X=h*s0,w=$*h,P=w-(w-h),G=h-P,w=$*s0,N=w-(w-s0),F=s0-N,j=G*F-(X-P*N-G*N-P*F),H=m*i0,w=$*m,P=w-(w-m),G=m-P,w=$*i0,N=w-(w-i0),F=i0-N,t0=G*F-(H-P*N-G*N-P*F),B=j-t0,f=j-B,Q[0]=j-(B+f)+(f-t0),W=X+B,f=W-X,Z=X-(W-f)+(B-f),B=Z-H,f=Z-B,Q[1]=Z-(B+f)+(f-H),q=W+B,f=q-W,Q[2]=W-(q-f)+(B-f),Q[3]=q;let x4=g0(4,L0,4,Q,t5);X=r0*I,w=$*r0,P=w-(w-r0),G=r0-P,w=$*I,N=w-(w-I),F=I-N,j=G*F-(X-P*N-G*N-P*F),H=o0*d,w=$*o0,P=w-(w-o0),G=o0-P,w=$*d,N=w-(w-d),F=d-N,t0=G*F-(H-P*N-G*N-P*F),B=j-t0,f=j-B,Q[0]=j-(B+f)+(f-t0),W=X+B,f=W-X,Z=X-(W-f)+(B-f),B=Z-H,f=Z-B,Q[1]=Z-(B+f)+(f-H),q=W+B,f=q-W,Q[2]=W-(q-f)+(B-f),Q[3]=q;let t4=g0(x4,t5,4,Q,e5);X=h*I,w=$*h,P=w-(w-h),G=h-P,w=$*I,N=w-(w-I),F=I-N,j=G*F-(X-P*N-G*N-P*F),H=m*d,w=$*m,P=w-(w-m),G=m-P,w=$*d,N=w-(w-d),F=d-N,t0=G*F-(H-P*N-G*N-P*F),B=j-t0,f=j-B,Q[0]=j-(B+f)+(f-t0),W=X+B,f=W-X,Z=X-(W-f)+(B-f),B=Z-H,f=Z-B,Q[1]=Z-(B+f)+(f-H),q=W+B,f=q-W,Q[2]=W-(q-f)+(B-f),Q[3]=q;let e4=g0(t4,e5,4,Q,n5);return n5[e4-1]}function V5(u,t,n,i,l,s){let g=(t-s)*(n-l),h=(u-l)*(i-s),m=g-h,d=Math.abs(g+h);return Math.abs(m)>=W5*d?m:-Y5(u,t,n,i,l,s,d)}let N0=(u,t)=>u.x*t.y-u.y*t.x,r5=(u,t)=>u.x*t.x+u.y*t.y,i5=(u,t,n)=>{let i=V5(u.x,u.y,t.x,t.y,n.x,n.y);return i>0?-1:i<0?1:0},O0=u=>Math.sqrt(r5(u,u)),X5=(u,t,n)=>{let i={x:t.x-u.x,y:t.y-u.y},l={x:n.x-u.x,y:n.y-u.y};return N0(l,i)/O0(l)/O0(i)},D5=(u,t,n)=>{let i={x:t.x-u.x,y:t.y-u.y},l={x:n.x-u.x,y:n.y-u.y};return r5(l,i)/O0(l)/O0(i)},o5=(u,t,n)=>t.y===0?null:{x:u.x+t.x/t.y*(n-u.y),y:n},s5=(u,t,n)=>t.x===0?null:{x:n,y:u.y+t.y/t.x*(n-u.x)},Z5=(u,t,n,i)=>{if(t.x===0)return s5(n,i,u.x);if(i.x===0)return s5(u,t,n.x);if(t.y===0)return o5(n,i,u.y);if(i.y===0)return o5(u,t,n.y);let l=N0(t,i);if(l==0)return null;let s={x:n.x-u.x,y:n.y-u.y},g=N0(s,t)/l,h=N0(s,i)/l,m=u.x+h*t.x,d=n.x+g*i.x,I=u.y+h*t.y,f=n.y+g*i.y,w=(m+d)/2,P=(I+f)/2;return{x:w,y:P}};class x0{static compare(t,n){let i=x0.comparePoints(t.point,n.point);return i!==0?i:(t.point!==n.point&&t.link(n),t.isLeft!==n.isLeft?t.isLeft?1:-1:c0.compare(t.segment,n.segment))}static comparePoints(t,n){return t.x<n.x?-1:t.x>n.x?1:t.y<n.y?-1:t.y>n.y?1:0}constructor(t,n){t.events===void 0?t.events=[this]:t.events.push(this),this.point=t,this.isLeft=n}link(t){if(t.point===this.point)throw new Error("Tried to link already linked events");let n=t.point.events;for(let i=0,l=n.length;i<l;i++){let s=n[i];this.point.events.push(s),s.point=this.point}this.checkForConsuming()}checkForConsuming(){let t=this.point.events.length;for(let n=0;n<t;n++){let i=this.point.events[n];if(i.segment.consumedBy===void 0)for(let l=n+1;l<t;l++){let s=this.point.events[l];s.consumedBy===void 0&&i.otherSE.point.events===s.otherSE.point.events&&i.segment.consume(s.segment)}}}getAvailableLinkedEvents(){let t=[];for(let n=0,i=this.point.events.length;n<i;n++){let l=this.point.events[n];l!==this&&!l.segment.ringOut&&l.segment.isInResult()&&t.push(l)}return t}getLeftmostComparator(t){let n=new Map,i=l=>{let s=l.otherSE;n.set(l,{sine:X5(this.point,t.point,s.point),cosine:D5(this.point,t.point,s.point)})};return(l,s)=>{n.has(l)||i(l),n.has(s)||i(s);let{sine:g,cosine:h}=n.get(l),{sine:m,cosine:d}=n.get(s);return g>=0&&m>=0?h<d?1:h>d?-1:0:g<0&&m<0?h<d?-1:h>d?1:0:m<g?-1:m>g?1:0}}}let j5=0;class c0{static compare(t,n){let i=t.leftSE.point.x,l=n.leftSE.point.x,s=t.rightSE.point.x,g=n.rightSE.point.x;if(g<i)return 1;if(s<l)return-1;let h=t.leftSE.point.y,m=n.leftSE.point.y,d=t.rightSE.point.y,I=n.rightSE.point.y;if(i<l){if(m<h&&m<d)return 1;if(m>h&&m>d)return-1;let f=t.comparePoint(n.leftSE.point);if(f<0)return 1;if(f>0)return-1;let w=n.comparePoint(t.rightSE.point);return w!==0?w:-1}if(i>l){if(h<m&&h<I)return-1;if(h>m&&h>I)return 1;let f=n.comparePoint(t.leftSE.point);if(f!==0)return f;let w=t.comparePoint(n.rightSE.point);return w<0?1:w>0?-1:1}if(h<m)return-1;if(h>m)return 1;if(s<g){let f=n.comparePoint(t.rightSE.point);if(f!==0)return f}if(s>g){let f=t.comparePoint(n.rightSE.point);if(f<0)return 1;if(f>0)return-1}if(s!==g){let f=d-h,w=s-i,P=I-m,G=g-l;if(f>w&&P<G)return 1;if(f<w&&P>G)return-1}return s>g?1:s<g||d<I?-1:d>I?1:t.id<n.id?-1:t.id>n.id?1:0}constructor(t,n,i,l){this.id=++j5,this.leftSE=t,t.segment=this,t.otherSE=n,this.rightSE=n,n.segment=this,n.otherSE=t,this.rings=i,this.windings=l}static fromRing(t,n,i){let l,s,g,h=x0.comparePoints(t,n);if(h<0)l=t,s=n,g=1;else if(h>0)l=n,s=t,g=-1;else throw new Error(`Tried to create degenerate segment at [${t.x}, ${t.y}]`);let m=new x0(l,!0),d=new x0(s,!1);return new c0(m,d,[i],[g])}replaceRightSE(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){let t=this.leftSE.point.y,n=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:t<n?t:n},ur:{x:this.rightSE.point.x,y:t>n?t:n}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}comparePoint(t){if(this.isAnEndpoint(t))return 0;let n=this.leftSE.point,i=this.rightSE.point,l=this.vector();if(n.x===i.x)return t.x===n.x?0:t.x<n.x?1:-1;let s=(t.y-n.y)/l.y,g=n.x+s*l.x;if(t.x===g)return 0;let h=(t.x-n.x)/l.x,m=n.y+h*l.y;return t.y===m?0:t.y<m?-1:1}getIntersection(t){let n=this.bbox(),i=t.bbox(),l=k(n,i);if(l===null)return null;let s=this.leftSE.point,g=this.rightSE.point,h=t.leftSE.point,m=t.rightSE.point,d=_(n,h)&&this.comparePoint(h)===0,I=_(i,s)&&t.comparePoint(s)===0,f=_(n,m)&&this.comparePoint(m)===0,w=_(i,g)&&t.comparePoint(g)===0;if(I&&d)return w&&!f?g:!w&&f?m:null;if(I)return f&&s.x===m.x&&s.y===m.y?null:s;if(d)return w&&g.x===h.x&&g.y===h.y?null:h;if(w&&f)return null;if(w)return g;if(f)return m;let P=Z5(s,this.vector(),h,t.vector());return P===null||!_(l,P)?null:y0.round(P.x,P.y)}split(t){let n=[],i=t.events!==void 0,l=new x0(t,!0),s=new x0(t,!1),g=this.rightSE;this.replaceRightSE(s),n.push(s),n.push(l);let h=new c0(l,g,this.rings.slice(),this.windings.slice());return x0.comparePoints(h.leftSE.point,h.rightSE.point)>0&&h.swapEvents(),x0.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),i&&(l.checkForConsuming(),s.checkForConsuming()),n}swapEvents(){let t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let n=0,i=this.windings.length;n<i;n++)this.windings[n]*=-1}consume(t){let n=this,i=t;for(;n.consumedBy;)n=n.consumedBy;for(;i.consumedBy;)i=i.consumedBy;let l=c0.compare(n,i);if(l!==0){if(l>0){let s=n;n=i,i=s}if(n.prev===i){let s=n;n=i,i=s}for(let s=0,g=i.rings.length;s<g;s++){let h=i.rings[s],m=i.windings[s],d=n.rings.indexOf(h);d===-1?(n.rings.push(h),n.windings.push(m)):n.windings[d]+=m}i.rings=null,i.windings=null,i.consumedBy=n,i.leftSE.consumedBy=n.leftSE,i.rightSE.consumedBy=n.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{let t=this.prev.consumedBy||this.prev;this._beforeState=t.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;let t=this.beforeState();this._afterState={rings:t.rings.slice(0),windings:t.windings.slice(0),multiPolys:[]};let n=this._afterState.rings,i=this._afterState.windings,l=this._afterState.multiPolys;for(let h=0,m=this.rings.length;h<m;h++){let d=this.rings[h],I=this.windings[h],f=n.indexOf(d);f===-1?(n.push(d),i.push(I)):i[f]+=I}let s=[],g=[];for(let h=0,m=n.length;h<m;h++){if(i[h]===0)continue;let d=n[h],I=d.poly;if(g.indexOf(I)===-1)if(d.isExterior)s.push(I);else{g.indexOf(I)===-1&&g.push(I);let f=s.indexOf(d.poly);f!==-1&&s.splice(f,1)}}for(let h=0,m=s.length;h<m;h++){let d=s[h].multiPoly;l.indexOf(d)===-1&&l.push(d)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;let t=this.beforeState().multiPolys,n=this.afterState().multiPolys;switch(n0.type){case"union":{let i=t.length===0,l=n.length===0;this._isInResult=i!==l;break}case"intersection":{let i,l;t.length<n.length?(i=t.length,l=n.length):(i=n.length,l=t.length),this._isInResult=l===n0.numMultiPolys&&i<l;break}case"xor":{let i=Math.abs(t.length-n.length);this._isInResult=i%2===1;break}case"difference":{let i=l=>l.length===1&&l[0].isSubject;this._isInResult=i(t)!==i(n);break}default:throw new Error(`Unrecognized operation type found ${n0.type}`)}return this._isInResult}}class l5{constructor(t,n,i){if(!Array.isArray(t)||t.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=n,this.isExterior=i,this.segments=[],typeof t[0][0]!="number"||typeof t[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let l=y0.round(t[0][0],t[0][1]);this.bbox={ll:{x:l.x,y:l.y},ur:{x:l.x,y:l.y}};let s=l;for(let g=1,h=t.length;g<h;g++){if(typeof t[g][0]!="number"||typeof t[g][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let m=y0.round(t[g][0],t[g][1]);m.x===s.x&&m.y===s.y||(this.segments.push(c0.fromRing(s,m,this)),m.x<this.bbox.ll.x&&(this.bbox.ll.x=m.x),m.y<this.bbox.ll.y&&(this.bbox.ll.y=m.y),m.x>this.bbox.ur.x&&(this.bbox.ur.x=m.x),m.y>this.bbox.ur.y&&(this.bbox.ur.y=m.y),s=m)}(l.x!==s.x||l.y!==s.y)&&this.segments.push(c0.fromRing(s,l,this))}getSweepEvents(){let t=[];for(let n=0,i=this.segments.length;n<i;n++){let l=this.segments[n];t.push(l.leftSE),t.push(l.rightSE)}return t}}class H5{constructor(t,n){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new l5(t[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let i=1,l=t.length;i<l;i++){let s=new l5(t[i],this,!1);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=n}getSweepEvents(){let t=this.exteriorRing.getSweepEvents();for(let n=0,i=this.interiorRings.length;n<i;n++){let l=this.interiorRings[n].getSweepEvents();for(let s=0,g=l.length;s<g;s++)t.push(l[s])}return t}}class a5{constructor(t,n){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof t[0][0][0]=="number"&&(t=[t])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let i=0,l=t.length;i<l;i++){let s=new H5(t[i],this);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=n}getSweepEvents(){let t=[];for(let n=0,i=this.polys.length;n<i;n++){let l=this.polys[n].getSweepEvents();for(let s=0,g=l.length;s<g;s++)t.push(l[s])}return t}}class C0{static factory(t){let n=[];for(let i=0,l=t.length;i<l;i++){let s=t[i];if(!s.isInResult()||s.ringOut)continue;let g=null,h=s.leftSE,m=s.rightSE,d=[h],I=h.point,f=[];for(;g=h,h=m,d.push(h),h.point!==I;)for(;;){let w=h.getAvailableLinkedEvents();if(w.length===0){let N=d[0].point,F=d[d.length-1].point;throw new Error(`Unable to complete output ring starting at [${N.x}, ${N.y}]. Last matching segment found ends at [${F.x}, ${F.y}].`)}if(w.length===1){m=w[0].otherSE;break}let P=null;for(let N=0,F=f.length;N<F;N++)if(f[N].point===h.point){P=N;break}if(P!==null){let N=f.splice(P)[0],F=d.splice(N.index);F.unshift(F[0].otherSE),n.push(new C0(F.reverse()));continue}f.push({index:d.length,point:h.point});let G=h.getLeftmostComparator(g);m=w.sort(G)[0].otherSE;break}n.push(new C0(d))}return n}constructor(t){this.events=t;for(let n=0,i=t.length;n<i;n++)t[n].segment.ringOut=this;this.poly=null}getGeom(){let t=this.events[0].point,n=[t];for(let d=1,I=this.events.length-1;d<I;d++){let f=this.events[d].point,w=this.events[d+1].point;i5(f,t,w)!==0&&(n.push(f),t=f)}if(n.length===1)return null;let i=n[0],l=n[1];i5(i,t,l)===0&&n.shift(),n.push(n[0]);let s=this.isExteriorRing()?1:-1,g=this.isExteriorRing()?0:n.length-1,h=this.isExteriorRing()?n.length:-1,m=[];for(let d=g;d!=h;d+=s)m.push([n[d].x,n[d].y]);return m}isExteriorRing(){if(this._isExteriorRing===void 0){let t=this.enclosingRing();this._isExteriorRing=t?!t.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let t=this.events[0];for(let l=1,s=this.events.length;l<s;l++){let g=this.events[l];x0.compare(t,g)>0&&(t=g)}let n=t.segment.prevInResult(),i=n?n.prevInResult():null;for(;;){if(!n)return null;if(!i)return n.ringOut;if(i.ringOut!==n.ringOut)return i.ringOut.enclosingRing()!==n.ringOut?n.ringOut:n.ringOut.enclosingRing();n=i.prevInResult(),i=n?n.prevInResult():null}}}class c5{constructor(t){this.exteriorRing=t,t.poly=this,this.interiorRings=[]}addInterior(t){this.interiorRings.push(t),t.poly=this}getGeom(){let t=[this.exteriorRing.getGeom()];if(t[0]===null)return null;for(let n=0,i=this.interiorRings.length;n<i;n++){let l=this.interiorRings[n].getGeom();l!==null&&t.push(l)}return t}}class q5{constructor(t){this.rings=t,this.polys=this._composePolys(t)}getGeom(){let t=[];for(let n=0,i=this.polys.length;n<i;n++){let l=this.polys[n].getGeom();l!==null&&t.push(l)}return t}_composePolys(t){let n=[];for(let i=0,l=t.length;i<l;i++){let s=t[i];if(!s.poly)if(s.isExteriorRing())n.push(new c5(s));else{let g=s.enclosingRing();g.poly||n.push(new c5(g)),g.poly.addInterior(s)}}return n}}class Q5{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c0.compare;this.queue=t,this.tree=new L(n),this.segments=[]}process(t){let n=t.segment,i=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(n),i;let l=t.isLeft?this.tree.add(n):this.tree.find(n);if(!l)throw new Error(`Unable to find segment #${n.id} [${n.leftSE.point.x}, ${n.leftSE.point.y}] -> [${n.rightSE.point.x}, ${n.rightSE.point.y}] in SweepLine tree.`);let s=l,g=l,h,m;for(;h===void 0;)s=this.tree.prev(s),s===null?h=null:s.key.consumedBy===void 0&&(h=s.key);for(;m===void 0;)g=this.tree.next(g),g===null?m=null:g.key.consumedBy===void 0&&(m=g.key);if(t.isLeft){let d=null;if(h){let f=h.getIntersection(n);if(f!==null&&(n.isAnEndpoint(f)||(d=f),!h.isAnEndpoint(f))){let w=this._splitSafely(h,f);for(let P=0,G=w.length;P<G;P++)i.push(w[P])}}let I=null;if(m){let f=m.getIntersection(n);if(f!==null&&(n.isAnEndpoint(f)||(I=f),!m.isAnEndpoint(f))){let w=this._splitSafely(m,f);for(let P=0,G=w.length;P<G;P++)i.push(w[P])}}if(d!==null||I!==null){let f=null;d===null?f=I:I===null?f=d:f=x0.comparePoints(d,I)<=0?d:I,this.queue.remove(n.rightSE),i.push(n.rightSE);let w=n.split(f);for(let P=0,G=w.length;P<G;P++)i.push(w[P])}i.length>0?(this.tree.remove(n),i.push(t)):(this.segments.push(n),n.prev=h)}else{if(h&&m){let d=h.getIntersection(m);if(d!==null){if(!h.isAnEndpoint(d)){let I=this._splitSafely(h,d);for(let f=0,w=I.length;f<w;f++)i.push(I[f])}if(!m.isAnEndpoint(d)){let I=this._splitSafely(m,d);for(let f=0,w=I.length;f<w;f++)i.push(I[f])}}}this.tree.remove(n)}return i}_splitSafely(t,n){this.tree.remove(t);let i=t.rightSE;this.queue.remove(i);let l=t.split(n);return l.push(i),t.consumedBy===void 0&&this.tree.add(t),l}}let u5=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,J5=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class K5{run(t,n,i){n0.type=t,y0.reset();let l=[new a5(n,!0)];for(let f=0,w=i.length;f<w;f++)l.push(new a5(i[f],!1));if(n0.numMultiPolys=l.length,n0.type==="difference"){let f=l[0],w=1;for(;w<l.length;)k(l[w].bbox,f.bbox)!==null?w++:l.splice(w,1)}if(n0.type==="intersection")for(let f=0,w=l.length;f<w;f++){let P=l[f];for(let G=f+1,N=l.length;G<N;G++)if(k(P.bbox,l[G].bbox)===null)return[]}let s=new L(x0.compare);for(let f=0,w=l.length;f<w;f++){let P=l[f].getSweepEvents();for(let G=0,N=P.length;G<N;G++)if(s.insert(P[G]),s.size>u5)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}let g=new Q5(s),h=s.size,m=s.pop();for(;m;){let f=m.key;if(s.size===h){let P=f.segment;throw new Error(`Unable to pop() ${f.isLeft?"left":"right"} SweepEvent [${f.point.x}, ${f.point.y}] from segment #${P.id} [${P.leftSE.point.x}, ${P.leftSE.point.y}] -> [${P.rightSE.point.x}, ${P.rightSE.point.y}] from queue.`)}if(s.size>u5)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(g.segments.length>J5)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");let w=g.process(f);for(let P=0,G=w.length;P<G;P++){let N=w[P];N.consumedBy===void 0&&s.insert(N)}h=s.size,m=s.pop()}y0.reset();let d=C0.factory(g.segments);return new q5(d).getGeom()}}let n0=new K5;var y4={union:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("union",u,n)},intersection:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("intersection",u,n)},xor:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("xor",u,n)},difference:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("difference",u,n)}};return y4})});function V0(y,x,e=2){let r=x&&x.length,o=r?x[0]*e:y.length,a=h5(y,0,o,e,!0),c=[];if(!a||a.next===a.prev)return c;let p,L,M;if(r&&(a=L4(y,x,a,e)),y.length>80*e){p=y[0],L=y[1];let A=p,R=L;for(let O=e;O<o;O+=e){let S=y[O],b=y[O+1];S<p&&(p=S),b<L&&(L=b),S>A&&(A=S),b>R&&(R=b)}M=Math.max(A-p,R-L),M=M!==0?32767/M:0}return P0(a,c,e,p,L,M,0),c}function h5(y,x,e,r,o){let a;if(o===R4(y,x,e,r)>0)for(let c=x;c<e;c+=r)a=f5(c/r|0,y[c],y[c+1],a);else for(let c=e-r;c>=x;c-=r)a=f5(c/r|0,y[c],y[c+1],a);return a&&d0(a,a.next)&&(I0(a),a=a.next),a}function u0(y,x){if(!y)return y;x||(x=y);let e=y,r;do if(r=!1,!e.steiner&&(d0(e,e.next)||Y(e.prev,e,e.next)===0)){if(I0(e),e=x=e.prev,e===e.next)break;r=!0}else e=e.next;while(r||e!==x);return x}function P0(y,x,e,r,o,a,c){if(!y)return;!c&&a&&w4(y,r,o,a);let p=y;for(;y.prev!==y.next;){let L=y.prev,M=y.next;if(a?h4(y,r,o,a):f4(y)){x.push(L.i,y.i,M.i),I0(y),y=M.next,p=M.next;continue}if(y=M,y===p){c?c===1?(y=p4(u0(y),x),P0(y,x,e,r,o,a,2)):c===2&&g4(y,x,e,r,o,a):P0(u0(y),x,e,r,o,a,1);break}}}function f4(y){let x=y.prev,e=y,r=y.next;if(Y(x,e,r)>=0)return!1;let o=x.x,a=e.x,c=r.x,p=x.y,L=e.y,M=r.y,A=Math.min(o,a,c),R=Math.min(p,L,M),O=Math.max(o,a,c),S=Math.max(p,L,M),b=r.next;for(;b!==x;){if(b.x>=A&&b.x<=O&&b.y>=R&&b.y<=S&&S0(o,p,a,L,c,M,b.x,b.y)&&Y(b.prev,b,b.next)>=0)return!1;b=b.next}return!0}function h4(y,x,e,r){let o=y.prev,a=y,c=y.next;if(Y(o,a,c)>=0)return!1;let p=o.x,L=a.x,M=c.x,A=o.y,R=a.y,O=c.y,S=Math.min(p,L,M),b=Math.min(A,R,O),_=Math.max(p,L,M),k=Math.max(A,R,O),T=$0(S,b,x,e,r),C=$0(_,k,x,e,r),v=y.prevZ,E=y.nextZ;for(;v&&v.z>=T&&E&&E.z<=C;){if(v.x>=S&&v.x<=_&&v.y>=b&&v.y<=k&&v!==o&&v!==c&&S0(p,A,L,R,M,O,v.x,v.y)&&Y(v.prev,v,v.next)>=0||(v=v.prevZ,E.x>=S&&E.x<=_&&E.y>=b&&E.y<=k&&E!==o&&E!==c&&S0(p,A,L,R,M,O,E.x,E.y)&&Y(E.prev,E,E.next)>=0))return!1;E=E.nextZ}for(;v&&v.z>=T;){if(v.x>=S&&v.x<=_&&v.y>=b&&v.y<=k&&v!==o&&v!==c&&S0(p,A,L,R,M,O,v.x,v.y)&&Y(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;E&&E.z<=C;){if(E.x>=S&&E.x<=_&&E.y>=b&&E.y<=k&&E!==o&&E!==c&&S0(p,A,L,R,M,O,E.x,E.y)&&Y(E.prev,E,E.next)>=0)return!1;E=E.nextZ}return!0}function p4(y,x){let e=y;do{let r=e.prev,o=e.next.next;!d0(r,o)&&g5(r,e,e.next,o)&&R0(r,o)&&R0(o,r)&&(x.push(r.i,e.i,o.i),I0(e),I0(e.next),e=y=o),e=e.next}while(e!==y);return u0(e)}function g4(y,x,e,r,o,a){let c=y;do{let p=c.next.next;for(;p!==c.prev;){if(c.i!==p.i&&E4(c,p)){let L=L5(c,p);c=u0(c,c.next),L=u0(L,L.next),P0(c,x,e,r,o,a,0),P0(L,x,e,r,o,a,0);return}p=p.next}c=c.next}while(c!==y)}function L4(y,x,e,r){let o=[];for(let a=0,c=x.length;a<c;a++){let p=x[a]*r,L=a<c-1?x[a+1]*r:y.length,M=h5(y,p,L,r,!1);M===M.next&&(M.steiner=!0),o.push(M4(M))}o.sort(d4);for(let a=0;a<o.length;a++)e=m4(o[a],e);return e}function d4(y,x){let e=y.x-x.x;if(e===0&&(e=y.y-x.y,e===0)){let r=(y.next.y-y.y)/(y.next.x-y.x),o=(x.next.y-x.y)/(x.next.x-x.x);e=r-o}return e}function m4(y,x){let e=_4(y,x);if(!e)return x;let r=L5(e,y);return u0(r,r.next),u0(e,e.next)}function _4(y,x){let e=x,r=y.x,o=y.y,a=-1/0,c;if(d0(y,e))return e;do{if(d0(y,e.next))return e.next;if(o<=e.y&&o>=e.next.y&&e.next.y!==e.y){let R=e.x+(o-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(R<=r&&R>a&&(a=R,c=e.x<e.next.x?e:e.next,R===r))return c}e=e.next}while(e!==x);if(!c)return null;let p=c,L=c.x,M=c.y,A=1/0;e=c;do{if(r>=e.x&&e.x>=L&&r!==e.x&&p5(o<M?r:a,o,L,M,o<M?a:r,o,e.x,e.y)){let R=Math.abs(o-e.y)/(r-e.x);R0(e,y)&&(R<A||R===A&&(e.x>c.x||e.x===c.x&&v4(c,e)))&&(c=e,A=R)}e=e.next}while(e!==p);return c}function v4(y,x){return Y(y.prev,y,x.prev)<0&&Y(x.next,y,y.next)<0}function w4(y,x,e,r){let o=y;do o.z===0&&(o.z=$0(o.x,o.y,x,e,r)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==y);o.prevZ.nextZ=null,o.prevZ=null,b4(o)}function b4(y){let x,e=1;do{let r=y,o;y=null;let a=null;for(x=0;r;){x++;let c=r,p=0;for(let M=0;M<e&&(p++,c=c.nextZ,!!c);M++);let L=e;for(;p>0||L>0&&c;)p!==0&&(L===0||!c||r.z<=c.z)?(o=r,r=r.nextZ,p--):(o=c,c=c.nextZ,L--),a?a.nextZ=o:y=o,o.prevZ=a,a=o;r=c}a.nextZ=null,e*=2}while(x>1);return y}function $0(y,x,e,r,o){return y=(y-e)*o|0,x=(x-r)*o|0,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,x=(x|x<<8)&16711935,x=(x|x<<4)&252645135,x=(x|x<<2)&858993459,x=(x|x<<1)&1431655765,y|x<<1}function M4(y){let x=y,e=y;do(x.x<e.x||x.x===e.x&&x.y<e.y)&&(e=x),x=x.next;while(x!==y);return e}function p5(y,x,e,r,o,a,c,p){return(o-c)*(x-p)>=(y-c)*(a-p)&&(y-c)*(r-p)>=(e-c)*(x-p)&&(e-c)*(a-p)>=(o-c)*(r-p)}function S0(y,x,e,r,o,a,c,p){return!(y===c&&x===p)&&p5(y,x,e,r,o,a,c,p)}function E4(y,x){return y.next.i!==x.i&&y.prev.i!==x.i&&!S4(y,x)&&(R0(y,x)&&R0(x,y)&&P4(y,x)&&(Y(y.prev,y,x.prev)||Y(y,x.prev,x))||d0(y,x)&&Y(y.prev,y,y.next)>0&&Y(x.prev,x,x.next)>0)}function Y(y,x,e){return(x.y-y.y)*(e.x-x.x)-(x.x-y.x)*(e.y-x.y)}function d0(y,x){return y.x===x.x&&y.y===x.y}function g5(y,x,e,r){let o=B0(Y(y,x,e)),a=B0(Y(y,x,r)),c=B0(Y(e,r,y)),p=B0(Y(e,r,x));return!!(o!==a&&c!==p||o===0&&G0(y,e,x)||a===0&&G0(y,r,x)||c===0&&G0(e,y,r)||p===0&&G0(e,x,r))}function G0(y,x,e){return x.x<=Math.max(y.x,e.x)&&x.x>=Math.min(y.x,e.x)&&x.y<=Math.max(y.y,e.y)&&x.y>=Math.min(y.y,e.y)}function B0(y){return y>0?1:y<0?-1:0}function S4(y,x){let e=y;do{if(e.i!==y.i&&e.next.i!==y.i&&e.i!==x.i&&e.next.i!==x.i&&g5(e,e.next,y,x))return!0;e=e.next}while(e!==y);return!1}function R0(y,x){return Y(y.prev,y,y.next)<0?Y(y,x,y.next)>=0&&Y(y,y.prev,x)>=0:Y(y,x,y.prev)<0||Y(y,y.next,x)<0}function P4(y,x){let e=y,r=!1,o=(y.x+x.x)/2,a=(y.y+x.y)/2;do e.y>a!=e.next.y>a&&e.next.y!==e.y&&o<(e.next.x-e.x)*(a-e.y)/(e.next.y-e.y)+e.x&&(r=!r),e=e.next;while(e!==y);return r}function L5(y,x){let e=Y0(y.i,y.x,y.y),r=Y0(x.i,x.x,x.y),o=y.next,a=x.prev;return y.next=x,x.prev=y,e.next=o,o.prev=e,r.next=e,e.prev=r,a.next=r,r.prev=a,r}function f5(y,x,e,r){let o=Y0(y,x,e);return r?(o.next=r.next,o.prev=r,r.next.prev=o,r.next=o):(o.prev=o,o.next=o),o}function I0(y){y.next.prev=y.prev,y.prev.next=y.next,y.prevZ&&(y.prevZ.nextZ=y.nextZ),y.nextZ&&(y.nextZ.prevZ=y.prevZ)}function Y0(y,x,e){return{i:y,x,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function R4(y,x,e,r){let o=0;for(let a=x,c=e-r;a<e;a+=r)o+=(y[c]-y[a])*(y[a+1]+y[c+1]),c=a;return o}var T5=u4(d5(),1);var m5={0:"M0.301025 0.257813 L0.206593 0.283385 L0.122042 0.361307 L0.075923 0.474441 L0.064942 0.642221 L0.091296 0.78289 L0.159376 0.899463 L0.257104 0.961214 L0.344948 0.961214 L0.442678 0.899463 L0.510757 0.78289 L0.537111 0.642221 L0.526131 0.474441 L0.480012 0.361307 L0.39546 0.283385 L0.301025 0.257813",1:"M0.220426 0.40845 L0.381626 0.270996 L0.381626 0.948966",2:"M0.110409 0.39212 L0.125621 0.342293 L0.170571 0.295823 L0.244237 0.26431 L0.291518 0.257813 L0.373319 0.263799 L0.434683 0.290705 L0.468239 0.331966 L0.480292 0.379913 L0.479492 0.411806 L0.465088 0.465192 L0.402571 0.568988 L0.245134 0.766438 L0.07959 0.948045 L0.522462 0.948045",3:"M0.081606 0.345073 L0.119154 0.315633 L0.178996 0.284091 L0.255265 0.257813 L0.349133 0.263062 L0.43127 0.289348 L0.48994 0.336662 L0.525141 0.394491 L0.513407 0.457577 L0.466472 0.504892 L0.384334 0.541692 L0.290464 0.56272 L0.20833 0.573235 L0.290464 0.583749 L0.384334 0.610035 L0.466472 0.652092 L0.519274 0.709922 L0.531007 0.773007 L0.50754 0.841351 L0.454738 0.899179 L0.3726 0.946494 L0.310412 0.961214 L0.209503 0.959111 L0.127367 0.946494 L0.071046 0.929671",4:"M0.418494 0.270996 L0.048828 0.724199 L0.553224 0.724199 M0.414181 0.578167 L0.414181 0.94897",5:"M0.074951 0.270996 L0.074951 0.614701 L0.267655 0.5695 L0.405247 0.586502 L0.460002 0.617189 L0.498028 0.660731 L0.527101 0.779401 L0.513352 0.841049 L0.477274 0.889568 L0.406378 0.93463 L0.324445 0.958337 L0.247399 0.962139 L0.182516 0.949767 L0.130068 0.925508 L0.074951 0.875607 M0.074951 0.270996 L0.527101 0.270996",6:"M0.428549 0.257813 L0.341433 0.285053 L0.26073 0.312099 L0.192188 0.360182 L0.138902 0.410969 L0.098219 0.500422 L0.070249 0.584267 L0.067264 0.670716 L0.065164 0.756863 L0.087163 0.820973 L0.108168 0.861042 L0.157916 0.913131 L0.210981 0.948192 L0.29279 0.961214 L0.384548 0.956206 L0.456409 0.924151 L0.507262 0.881077 L0.5349 0.821975 L0.537111 0.771889 L0.521634 0.718798 L0.498418 0.67372 L0.463042 0.636657 L0.414398 0.613617 L0.34696 0.598591 L0.28284 0.595587 L0.215403 0.605604 L0.145756 0.641665 L0.109274 0.678729 L0.064942 0.724006",7:"M0.071534 0.270996 L0.530519 0.270996 L0.495935 0.291702 L0.477752 0.305407 L0.435186 0.346112 L0.412067 0.374136 L0.388565 0.40796 L0.365315 0.448098 L0.342943 0.495062 L0.322081 0.549366 L0.303364 0.611524 L0.287416 0.68205 L0.270077 0.80465 L0.26253 0.94897",8:"M0.286761 0.257813 L0.210684 0.27162 L0.1414 0.305622 L0.092494 0.382125 L0.111513 0.450128 L0.16857 0.502193 L0.228345 0.539382 L0.377781 0.594635 L0.470161 0.645637 L0.52586 0.706203 L0.538087 0.792269 L0.506841 0.87621 L0.438915 0.927212 L0.339743 0.961214 L0.263666 0.959089 L0.174004 0.929337 L0.102003 0.881523 L0.063965 0.811395 L0.066682 0.741266 L0.102003 0.671139 L0.180797 0.608448 L0.259591 0.580822 L0.358762 0.548945 L0.456576 0.49688 L0.486463 0.446941 L0.487822 0.362999 L0.453859 0.302434 L0.384574 0.265245 L0.286761 0.257813",9:"M0.511026 0.437812 L0.491026 0.347812 L0.451026 0.297812 L0.391026 0.267812 L0.311026 0.257813 L0.231026 0.267812 L0.161026 0.297812 L0.111026 0.347812 L0.091026 0.417812 L0.111026 0.487812 L0.161026 0.537812 L0.231026 0.567812 L0.311026 0.577812 L0.391026 0.557812 L0.451026 0.517812 L0.491026 0.477812 L0.511026 0.437812 M0.510026 0.438812 L0.434026 0.636812 L0.381026 0.777812 L0.337026 0.879812 L0.301026 0.957812","!":"M0.301026 0.270996 L0.301026 0.749566 M0.251466 0.94897 L0.350587 0.94897",\'"\':"M0.16504 0.270996 L0.16504 0.523022 M0.437013 0.270996 L0.437013 0.523022","#":"M0.20958 0.282227 L0.146515 0.949754 M0.461844 0.282227 L0.398779 0.949754 M0.032999 0.526969 L0.600587 0.452796 M0.001465 0.82366 L0.569055 0.749486",$:"M0.307121 0.240234 L0.307121 1.083502 M0.490031 0.415915 L0.404676 0.328075 L0.23396 0.310507 L0.136407 0.398347 L0.099828 0.521324 L0.124213 0.591596 L0.197379 0.644299 L0.429061 0.697003 L0.502224 0.749708 L0.526613 0.837547 L0.477836 0.960526 L0.355897 1.013228 L0.197379 0.99566 L0.112021 0.942957 L0.07544 0.837547","\'":"M0.301026 0.270996 L0.301026 0.523022","(":"M0.413087 0.241211 L0.372337 0.28347 L0.331589 0.334184 L0.290838 0.393349 L0.25009 0.460965 L0.219528 0.528584 L0.199153 0.5962 L0.188966 0.655364 L0.199153 0.714529 L0.219528 0.782146 L0.25009 0.849764 L0.290838 0.91738 L0.331589 0.976544 L0.372337 1.027258 L0.413087 1.069491",")":"M0.188966 0.241211 L0.229716 0.28347 L0.270466 0.334184 L0.311213 0.393349 L0.351964 0.460965 L0.382526 0.528584 L0.4029 0.5962 L0.413087 0.655364 L0.4029 0.714529 L0.382526 0.782146 L0.351964 0.849764 L0.311213 0.91738 L0.270466 0.976544 L0.229716 1.027258 L0.188966 1.069491","*":"M0.301026 0.458702 L0.301026 0.681942 M0.301026 0.458702 L0.520997 0.536834 M0.301026 0.458702 L0.439954 0.257813 M0.301026 0.458702 L0.162098 0.257813 M0.301026 0.458702 L0.081055 0.536834","+":"M0.042969 0.66845 L0.559083 0.66845 M0.301023 0.428223 L0.301023 0.908661",",":"M0.38672 0.852051 L0.215333 1.030661 L0.301025 1.119971","-":"M0.173829 0.686035 L0.428224 0.686035",".":"M0.362549 0.851074 L0.239503 0.851074","/":"M0.062501 1.035249 L0.539551 0.270996","<":"M0.559083 0.441895 L0.042969 0.66939 L0.042969 0.66939 L0.559083 0.896902","=":"M0.042969 0.545898 L0.559083 0.545898 M0.042969 0.80837 L0.559083 0.80837",">":"M0.042969 0.441895 L0.559083 0.66939 L0.559083 0.66939 L0.042969 0.896902",A:"M0.018067 0.94897 L0.290179 0.270996 L0.583986 0.94897 M0.155303 0.684521 L0.433548 0.684521",B:"M0.063965 0.94897 L0.063965 0.278953 L0.209356 0.270996 L0.342486 0.294394 L0.432179 0.37292 L0.418224 0.48773 L0.312686 0.549166 L0.084728 0.575531 L0.306377 0.589434 L0.468877 0.647456 L0.538087 0.736658 L0.5324 0.85202 L0.501247 0.902983 L0.42355 0.944398 L0.063965 0.94897",C:"M0.529054 0.419847 L0.498425 0.345196 L0.442238 0.292341 L0.33583 0.257813 L0.257199 0.268357 L0.187906 0.303748 L0.120243 0.385432 L0.072998 0.599844 L0.110073 0.815385 L0.165381 0.902183 L0.222883 0.942801 L0.334904 0.961214 L0.43253 0.937679 L0.504816 0.868999 L0.529054 0.772065",D:"M0.064454 0.94897 L0.071838 0.285078 L0.171217 0.270996 L0.247348 0.272633 L0.37101 0.306078 L0.462461 0.378304 L0.514748 0.475555 L0.535591 0.576392 L0.537599 0.652313 L0.528065 0.717381 L0.508562 0.772419 L0.445948 0.855695 L0.362356 0.90871 L0.225203 0.945862 L0.064454 0.94897",E:"M0.080078 0.270996 L0.080078 0.94897 M0.080078 0.270996 L0.521974 0.270996 M0.080078 0.609981 L0.389405 0.609981 M0.080078 0.94897 L0.521974 0.94897",F:"M0.086426 0.270996 L0.086426 0.94897 M0.091304 0.275607 L0.515626 0.275607 M0.091304 0.607677 L0.447344 0.607677",G:"M0.498034 0.284943 L0.374621 0.257813 L0.244219 0.268648 L0.160577 0.311997 L0.094556 0.398116 L0.056397 0.58404 L0.076752 0.785532 L0.120865 0.858197 L0.188947 0.916734 L0.271008 0.953591 L0.357069 0.961214 L0.43715 0.932047 L0.501262 0.858539 L0.545656 0.648611 L0.329595 0.648131",H:"M0.066895 0.270996 L0.066895 0.94897 M0.066895 0.595658 L0.530009 0.595658 M0.535157 0.270996 L0.535157 0.94897",I:"M0.301026 0.270996 L0.301026 0.94897",J:"M0.506839 0.270996 L0.507814 0.782193 L0.498468 0.846168 L0.480733 0.880789 L0.455864 0.90832 L0.426095 0.929408 L0.360746 0.954812 L0.302508 0.962139 L0.223573 0.953638 L0.16538 0.930312 L0.137072 0.907715 L0.116428 0.880312 L0.102822 0.848819 L0.095633 0.813947 L0.094239 0.776413",K:"M0.035401 0.270996 L0.035401 0.94897 M0.502258 0.316194 L0.035401 0.687823 M0.212484 0.582361 L0.566652 0.933903",L:"M0.07544 0.270996 L0.07544 0.94897 L0.526613 0.94897",M:"M0.042481 0.94897 L0.042481 0.270996 L0.301027 0.712492 L0.559571 0.270996 L0.559571 0.94897",N:"M0.067871 0.94897 L0.067871 0.270996 L0.534181 0.94897 L0.525031 0.270996",O:"M0.287293 0.961214 L0.19843 0.933567 L0.1172 0.849451 L0.057129 0.563945 L0.114348 0.350255 L0.18455 0.289392 L0.306101 0.257813 L0.42054 0.29572 L0.487543 0.365003 L0.544923 0.625294 L0.516366 0.789624 L0.465476 0.884596 L0.375084 0.949287 L0.287293 0.961214",P:"M0.070557 0.94897 L0.070557 0.28379 L0.20704 0.270996 L0.329134 0.278993 L0.408525 0.300514 L0.444022 0.317908 L0.500637 0.368929 L0.525796 0.423728 L0.531496 0.50384 L0.508934 0.554205 L0.473724 0.582043 L0.417577 0.604365 L0.336375 0.620372 L0.226014 0.629268 L0.082368 0.630258",Q:"M0.282435 1.050813 L0.195447 1.019646 L0.115933 0.924817 L0.057129 0.602943 L0.113139 0.362034 L0.18186 0.293418 L0.300844 0.257813 L0.412868 0.300553 L0.478457 0.37866 L0.534625 0.672103 L0.506671 0.857367 L0.456855 0.964437 L0.368371 1.037368 L0.282435 1.050813 M0.341225 0.815559 L0.544923 1.070653",R:"M0.034912 0.944112 L0.034912 0.288556 L0.227127 0.270996 L0.362038 0.276867 L0.443423 0.294907 L0.477644 0.309614 L0.505809 0.328757 L0.526616 0.352817 L0.544963 0.418061 L0.543241 0.475921 L0.524463 0.517817 L0.49076 0.546518 L0.444265 0.564799 L0.355195 0.578739 L0.047653 0.589627 M0.303054 0.617306 L0.56714 0.94897",S:"M0.483037 0.364333 L0.407613 0.267477 L0.22883 0.257813 L0.128623 0.327565 L0.087712 0.455539 L0.104656 0.518727 L0.168054 0.573307 L0.41928 0.617318 L0.503796 0.669342 L0.535157 0.759324 L0.493846 0.900055 L0.367668 0.961214 L0.205436 0.956661 L0.116711 0.907038 L0.066895 0.790334",T:"M0.022949 0.270996 L0.579103 0.270996 M0.309284 0.270996 L0.309284 0.94897",U:"M0.072022 0.270996 L0.07308 0.648875 L0.080372 0.75167 L0.099024 0.827813 L0.134786 0.885729 L0.181571 0.924023 L0.251464 0.95168 L0.339655 0.962139 L0.401553 0.951668 L0.45232 0.924086 L0.482701 0.891771 L0.495745 0.870529 L0.515699 0.81637 L0.525014 0.744626 L0.530031 0.272017",V:"M0.027832 0.270996 L0.320083 0.94897 L0.57422 0.270996",W:"M0 0.270996 L0.079799 0.940377 L0.285198 0.472884 L0.505255 0.94897 L0.602052 0.270996",X:"M0.009034 0.270996 L0.586805 0.94897 M0.593019 0.270996 L0.015246 0.94897",Y:"M0.018067 0.270996 L0.293132 0.574135 M0.583986 0.271959 L0.294954 0.57606 L0.305277 0.94897",Z:"M0.053711 0.270996 L0.548341 0.270996 L0.053711 0.94897 L0.548341 0.94897","[":"M0.404542 0.240234 L0.197511 0.240234 L0.197511 1.069424 L0.404542 1.069424","\\\\":"M0.062501 0.270996 L0.539551 1.035249","]":"M0.19751 0.240234 L0.404542 0.240234 L0.404542 1.069424 L0.19751 1.069424","^":"M0.035156 0.523931 L0.301024 0.270996 L0.566896 0.523931",_:"M0 1.160601 L0.602052 1.160601",a:"M0.527101 0.439941 L0.527101 0.973965 M0.527101 0.553824 L0.451366 0.477535 L0.376759 0.439941 L0.263722 0.439941 L0.187989 0.477535 L0.112255 0.553824 L0.074951 0.66881 L0.074951 0.745099 L0.112255 0.85898 L0.187989 0.93527 L0.263722 0.973965 L0.376759 0.973965 L0.451366 0.93527 L0.527101 0.85898",b:"M0.07666 0.240234 L0.07666 0.959985 M0.07666 0.582737 L0.151822 0.514237 L0.225865 0.480483 L0.338045 0.480483 L0.413211 0.514237 L0.488374 0.582737 L0.525392 0.685983 L0.525392 0.754485 L0.488374 0.856739 L0.413211 0.92524 L0.338045 0.959985 L0.225865 0.959985 L0.151822 0.92524 L0.07666 0.856739",c:"M0.512452 0.553823 L0.441624 0.477535 L0.371854 0.439941 L0.26614 0.439941 L0.195312 0.477535 L0.124486 0.553823 L0.0896 0.668808 L0.0896 0.745099 L0.124486 0.858979 L0.195312 0.93527 L0.26614 0.973965 L0.371854 0.973965 L0.441624 0.93527 L0.512452 0.858979",d:"M0.525392 0.240234 L0.525392 0.959985 M0.525392 0.582737 L0.450232 0.514237 L0.376189 0.480483 L0.264006 0.480483 L0.188844 0.514237 L0.11368 0.582737 L0.076661 0.685983 L0.076661 0.754485 L0.11368 0.856739 L0.188844 0.92524 L0.264006 0.959985 L0.376189 0.959985 L0.450232 0.92524 L0.525392 0.856739",e:"M0.059571 0.668808 L0.542482 0.668808 M0.542482 0.592521 L0.502641 0.516231 L0.461594 0.477535 L0.381914 0.439941 L0.261186 0.439941 L0.180299 0.477535 L0.099412 0.553823 L0.059571 0.668808 L0.059571 0.745099 L0.099412 0.858979 L0.180299 0.93527 L0.261186 0.973965 L0.381914 0.973965 L0.461594 0.93527 L0.542482 0.858979",f:"M0.512941 0.240234 L0.406984 0.240234 L0.301026 0.274346 L0.248047 0.374731 L0.248047 0.946817 M0.089112 0.476088 L0.459965 0.476088",g:"M0.525392 0.439941 L0.525392 0.989395 L0.488373 1.091918 L0.45023 1.126757 L0.376189 1.160601 L0.264004 1.160601 L0.188844 1.126757 L0.113681 1.058075 L0.076661 0.954555 M0.525392 0.542467 L0.45023 0.473786 L0.376189 0.439941 L0.264004 0.439941 L0.188844 0.473786 L0.113681 0.542467 L0.076661 0.645988 L0.076661 0.714669 L0.113681 0.817193 L0.188844 0.885875 L0.264004 0.920713 L0.376189 0.920713 L0.45023 0.885875 L0.525392 0.817193",h:"M0.092041 0.240234 L0.092041 0.946817 M0.092041 0.61058 L0.205937 0.509225 L0.282214 0.476086 L0.396109 0.476086 L0.47187 0.509225 L0.510011 0.61058 L0.510011 0.946817",i:"M0.261026 0.240234 L0.341026 0.240234 M0.300978 0.476089 L0.300978 0.946817",j:"M0.3853 0.240234 L0.447023 0.240234 M0.416159 0.465708 L0.416159 1.011689 L0.383887 1.108586 L0.252832 1.140264 L0.15503 1.108586",k:"M0.065186 0.240234 L0.065186 0.946817 M0.493824 0.476086 L0.065186 0.812323 M0.236758 0.677829 L0.536867 0.946817",l:"M0.301026 0.234863 L0.301026 0.946441",m:"M0.050538 0.439941 L0.050538 0.960796 M0.050538 0.588758 L0.114405 0.476607 L0.157178 0.439941 L0.236864 0.439941 L0.279637 0.476607 L0.32241 0.588758 L0.32241 0.960796 M0.32241 0.588758 L0.386281 0.476607 L0.428467 0.439941 L0.50874 0.439941 L0.551515 0.476607 L0.551515 0.960796",n:"M0.092041 0.439941 L0.092041 0.960796 M0.092041 0.588758 L0.205936 0.476607 L0.282216 0.439941 L0.396113 0.439941 L0.471871 0.476607 L0.510011 0.588758 L0.510011 0.960796",o:"M0.247175 0.439941 L0.175178 0.477535 L0.103186 0.553823 L0.066895 0.668808 L0.066895 0.745099 L0.103186 0.858979 L0.175178 0.93527 L0.247175 0.973965 L0.354874 0.973965 L0.426872 0.93527 L0.498866 0.858979 L0.535157 0.745099 L0.535157 0.668808 L0.498866 0.553823 L0.426872 0.477535 L0.354874 0.439941 L0.247175 0.439941",p:"M0.076904 0.439941 L0.076904 1.154244 M0.076904 0.541563 L0.151986 0.473487 L0.225944 0.439941 L0.338005 0.439941 L0.413087 0.473487 L0.488166 0.541563 L0.525148 0.644169 L0.525148 0.712246 L0.488166 0.813866 L0.413087 0.881942 L0.338005 0.916471 L0.225944 0.916471 L0.151986 0.881942 L0.076904 0.813866",q:"M0.525148 0.441895 L0.525148 1.156195 M0.525148 0.5435 L0.450067 0.47544 L0.376106 0.441895 L0.264042 0.441895 L0.188966 0.47544 L0.113885 0.5435 L0.076905 0.646108 L0.076905 0.714187 L0.113885 0.815809 L0.188966 0.883886 L0.264042 0.918418 L0.376106 0.918418 L0.450067 0.883886 L0.525148 0.815809",r:"M0.107422 0.439941 L0.107422 0.960796 M0.107422 0.663164 L0.155824 0.551014 L0.252626 0.476607 L0.349428 0.439941 L0.49463 0.439941",s:"M0.475556 0.477535 L0.400757 0.439941 L0.276092 0.439941 L0.176361 0.477535 L0.101563 0.553823 L0.101563 0.630112 L0.176361 0.668808 L0.301024 0.668808 L0.425688 0.745099 L0.50049 0.821387 L0.50049 0.897677 L0.425688 0.93527 L0.325956 0.973965 L0.201295 0.973965 L0.126496 0.93527 L0.101563 0.858979",t:"M0.246032 0.297852 L0.246032 0.826549 L0.301023 0.919323 L0.411011 0.950848 L0.520997 0.950848 M0.081055 0.515799 L0.466004 0.515799",u:"M0.092041 0.454102 L0.092041 0.826134 L0.13018 0.937211 L0.205936 0.974954 L0.319832 0.974954 L0.396113 0.937211 L0.510011 0.826134 M0.510011 0.454102 L0.510011 0.974954",v:"M0.048828 0.453125 L0.301026 0.961719 M0.553224 0.453125 L0.301026 0.961719",w:"M0 0.453125 L0.150512 0.961719 M0.301024 0.453125 L0.150512 0.961719 M0.301024 0.453125 L0.451539 0.961719 M0.602052 0.453125 L0.451539 0.961719",x:"M0.03711 0.453125 L0.564943 0.961719 M0.564943 0.453125 L0.03711 0.961719",y:"M0.084618 0.453125 L0.320232 0.921476 M0.55713 0.453125 L0.320232 0.921476 L0.242119 1.055289 L0.163369 1.122196 L0.084618 1.155166 L0.044922 1.155166",z:"M0.505373 0.452148 L0.09668 0.961651 M0.09668 0.452148 L0.505373 0.452148 M0.09668 0.961651 L0.505373 0.961651"},_5={};for(let y in m5){_5[y]=[];let x=m5[y].split("M").slice(1).map(e=>e.split("L").map(r=>r.trim().split(" ").map(parseFloat)));for(let e of x)for(let r=0;r<e.length-1;r++)_5[y].push({x1:e[r][0],y1:1-e[r][1],x2:e[r+1][0],y2:1-e[r+1][1]})}var I4=.09,k4=.692052,A4=.692052,T4=1.152,N4=0;var v5={0:.692052,1:.692052,2:.692052,3:.692052,4:.692052,5:.692052,6:.692052,7:.692052,8:.692052,9:.692052,"!":.692052,\'"\':.692052,"#":.692052,$:.692052,"\'":.692052,"(":.692052,")":.692052,"*":.692052,"+":.692052,",":.692052,"-":.692052,".":.692052,"/":.692052,"<":.692052,"=":.692052,">":.692052,A:.692052,B:.692052,C:.692052,D:.692052,E:.692052,F:.692052,G:.692052,H:.692052,I:.692052,J:.692052,K:.692052,L:.692052,M:.692052,N:.692052,O:.692052,P:.692052,Q:.692052,R:.692052,S:.692052,T:.692052,U:.692052,V:.692052,W:.692052,X:.692052,Y:.692052,Z:.692052,"[":.692052,"\\\\":.692052,"]":.692052,"^":.692052,_:.692052,a:.692052,b:.692052,c:.692052,d:.692052,e:.692052,f:.692052,g:.692052,h:.692052,i:.692052,j:.692052,k:.692052,l:.692052,m:.692052,n:.692052,o:.692052,p:.692052,q:.692052,r:.692052,s:.692052,t:.692052,u:.692052,v:.692052,w:.692052,x:.692052,y:.692052,z:.692052," ":.692052},w5={},a0={glyphWidthRatio:k4,spaceWidthRatio:A4,lineHeightRatio:T4,strokeWidthRatio:I4,letterSpacingRatio:N4};var O4={0:[[{x:.019944796633211075,y:.35828068632415006},{x:.020222641007547733,y:.3550960892473839},{x:.020327535068617307,y:.3519011161217302},{x:.02060526835904108,y:.3507104904820116},{x:.02071153113201321,y:.34949252766745387},{x:.047065531132013214,y:.20882352766745393},{x:.047989939967683706,y:.20564918300405605},{x:.04875673163473768,y:.20243312543665407},{x:.04922094308839032,y:.20142201853303832},{x:.04953201774467938,y:.20035381349539033},{x:.05105794824635218,y:.1974208061920286},{x:.05243742793298141,y:.1944161379022362},{x:.1205174279329814,y:.07784313790223615},{x:.1216536619223176,y:.07627409360623287},{x:.12261018498510404,y:.07458945972562232},{x:.1242345189777056,y:.07271014544101197},{x:.12569143736362237,y:.07069826276137084},{x:.12711194429242206,y:.06938103546641537},{x:.12837874379901673,y:.06791537974577894},{x:.130338502698373,y:.06638906779986004},{x:.132159925645859,y:.06470007355882942},{x:.13381011622947792,y:.06368528357115737},{x:.13533850978527173,y:.062494930337889824},{x:.2330665097852717,y:.000743930337889824},{x:.2364974226485404,y:-.000978818921256936},{x:.23988324554357096,y:-.0027885789630079164},{x:.24043487144166406,y:-.0029559128497863825},{x:.24095002304009888,y:-.0032145836671228292},{x:.2446511035824589,y:-.0042348928870151745},{x:.24832493550927423,y:-.005349337618145378},{x:.24889860729226898,y:-.005405839357118937},{x:.2494543245702404,y:-.005559038796006631},{x:.2532833423420387,y:-.0058376980655201055},{x:.257104,y:-.006214000000000011},{x:.344948,y:-.006214000000000011},{x:.34876845169289644,y:-.005837718351308385},{x:.352597265623821,y:-.005559109487024962},{x:.35315318526669126,y:-.00540585978827806},{x:.3537270644907258,y:-.005349337618145378},{x:.3574006983675983,y:-.004234952964808514},{x:.36110158881940224,y:-.0032147329490055873},{x:.36161692908913895,y:-.0029559733581057666},{x:.36216875445642904,y:-.0027885789630079164},{x:.36555439482758706,y:-.000978916482299381},{x:.3689851386556908,y:.0007437082019616584},{x:.4667151386556908,y:.06249470820196166},{x:.46824382031514195,y:.0636852631221029},{x:.4698943035897058,y:.06470024765114774},{x:.4717154585013725,y:.06638901501054441},{x:.47367495473362387,y:.0679150932923645},{x:.4749419974608878,y:.0693810030307532},{x:.47636275350351887,y:.0706984782301942},{x:.4778194532662604,y:.07271008609647399},{x:.47944357522443626,y:.07458911996296573},{x:.4804002872780698,y:.07627405043044727},{x:.48153671723081914,y:.07784338646721853},{x:.5496157172308191,y:.19441638646721857},{x:.5509951179002539,y:.19742093333312605},{x:.5525209822553206,y:.20035381349539033},{x:.5528320971760705,y:.20142215679791795},{x:.5532963622471587,y:.2024333975455826},{x:.5540631001039363,y:.20564932060673602},{x:.5549874688679868,y:.20882352766745393},{x:.5813414688679868,y:.34949252766745387},{x:.5814477200321959,y:.3507103574246747},{x:.581725430046729,y:.351900851345405},{x:.5818303474337426,y:.35509595676374855},{x:.5821082033667889,y:.35828068632415006},{x:.5819748261451739,y:.3594958443979094},{x:.5820149461972951,y:.36071764184793353},{x:.5710349461972951,y:.5284976418479336},{x:.5705756858728281,y:.5312810757499365},{x:.5703149436633981,y:.5340900680661724},{x:.5698592272920282,y:.5356233082419208},{x:.5695988288779222,y:.5372015019922555},{x:.5686053720955593,y:.5398418557477263},{x:.5678016327590553,y:.5425460057826548},{x:.5216826327590552,y:.6556800057826547},{x:.5211943471023096,y:.656605995281004},{x:.5208498728309648,y:.6575945381025444},{x:.5191405880551111,y:.6605007631972294},{x:.5175679428069421,y:.6634831423933323},{x:.5169083878327574,y:.664296079457111},{x:.5163776774005638,y:.665198424109003},{x:.5141342596628157,y:.6677153419860701},{x:.5120099990343735,y:.6703336077343061},{x:.511204521070525,y:.6710022516480534},{x:.510507969381766,y:.6717837215313657},{x:.425955969381766,y:.7497057215313657},{x:.4243831978740034,y:.750892537075826},{x:.42294870744900304,y:.7522432326643229},{x:.4208707687817478,y:.7535430209032156},{x:.4189143183619635,y:.7550193610827685},{x:.4171402309909699,y:.7558765397994217},{x:.4154697962599445,y:.7569214269519826},{x:.41317820849544135,y:.7577908544006052},{x:.41097133104084405,y:.7588571425751742},{x:.40906410498936707,y:.7593517435666508},{x:.4072219198222394,y:.7600506678559823},{x:.3127869198222394,y:.7856226678559822},{x:.3097655669518694,y:.7861297177594856},{x:.3067801557646532,y:.7868174624905968},{x:.3054245519856559,y:.7868582361795984},{x:.30408703940192616,y:.7870827004032797},{x:.3010248204508113,y:.7869905707806608},{x:.2979626007613803,y:.7870826758597451},{x:.29662508997676323,y:.7868582009159747},{x:.29526948652460844,y:.786817416361878},{x:.2922840808497275,y:.7861296477028675},{x:.28926273204343433,y:.7856225735833884},{x:.19483073204343437,y:.7600505735833885},{x:.19298859701529922,y:.7593516514268194},{x:.1910814199885863,y:.7588570511522524},{x:.1888745059729717,y:.757790729268721},{x:.18658288068670334,y:.7569212665731724},{x:.18491249471518256,y:.7558763912940257},{x:.18313845528709377,y:.7550192228447639},{x:.18118197558509466,y:.7535428424712565},{x:.17910400699337814,y:.7522430123425641},{x:.17766956207459372,y:.7508923379118444},{x:.17609683558545802,y:.7497055417906873},{x:.09154583558545802,y:.6717835417906872},{x:.09084937681091164,y:.6710021668773223},{x:.09004400096562647,y:.6703336077343061},{x:.087919657143162,y:.6677152394449524},{x:.08567616637982708,y:.6651982097729843},{x:.0851455285488078,y:.6642959763928821},{x:.08448605719305789,y:.6634831423933323},{x:.08291335035419628,y:.6605006463960624},{x:.08120401576602496,y:.6575942974079984},{x:.08085959099279398,y:.6566058778839782},{x:.08037136724094471,y:.6556800057826547},{x:.03425236724094472,y:.5425460057826548},{x:.03344866581310472,y:.5398419832899659},{x:.03245524021837327,y:.537201759963462},{x:.0321948107181119,y:.5356234361255728},{x:.03173905633660196,y:.5340900680661724},{x:.03147832642517492,y:.5312812082371015},{x:.031019071243648687,y:.5284979083423142},{x:.020038071243648682,y:.36071790834231426},{x:.020078188427320915,y:.3594959771633442},{x:.019944796633211075,y:.35828068632415006}],[{x:.11021604810185967,y:.3604951889884744},{x:.12035004420691338,y:.5153337161267963},{x:.1599220965290545,y:.612407472440097},{x:.22898846858521874,y:.6760588762479813},{x:.301025186831377,y:.6955662779655215},{x:.373064807645506,y:.6760587099720985},{x:.44213195602343713,y:.6124073435241713},{x:.48170390405887986,y:.5153338430353971},{x:.49183697687726113,y:.3604953223188204},{x:.4679633532090146,y:.23306575687188358},{x:.4093572783633461,y:.13271343144136735},{x:.3319224534250481,y:.08378599999999999},{x:.27012977192577264,y:.08378599999999999},{x:.19269670382412518,y:.13271332265415062},{x:.13408961949133952,y:.23306590258843124},{x:.11021604810185967,y:.3604951889884744}]],1:[[{x:.17556757075794932,y:.5951166967821685},{x:.17573368487361973,y:.586296718297643},{x:.17761729959585784,y:.5776786204828649},{x:.18114602866723137,y:.5695935920037709},{x:.1861842650084615,y:.5623523359706766},{x:.19253839202243023,y:.5562331297919906},{x:.19996422417142623,y:.5514711311294693},{x:.20817639089041826,y:.548249340921154},{x:.21685930321783156,y:.5466915707579493},{x:.225679281702357,y:.5468576848736197},{x:.2342973795171352,y:.5487412995958578},{x:.24238240799622912,y:.5522700286672314},{x:.24962366402932343,y:.5573082650084615},{x:.33662600000000004,y:.6314944876419193},{x:.33662600000000004,y:.051034000000000024},{x:.33749066238185466,y:.042254935509274234},{x:.3400514210369921,y:.033813245543570986},{x:.3442098674463855,y:.026033339514117928},{x:.34980619484660536,y:.019214194846605387},{x:.35662533951411796,y:.013617867446385483},{x:.364405245543571,y:.00945942103699212},{x:.3728469355092743,y:.006898662381854659},{x:.381626,y:.0060340000000000255},{x:.3904050644907258,y:.006898662381854659},{x:.3988467544564291,y:.00945942103699212},{x:.40662666048588214,y:.01361786744638549},{x:.4134458051533947,y:.019214194846605387},{x:.41904213255361455,y:.026033339514117928},{x:.42320057896300795,y:.033813245543570986},{x:.4257613376181454,y:.042254935509274255},{x:.426626,y:.051034000000000024},{x:.426626,y:.729004},{x:.42636789988195944,y:.7316245344755278},{x:.4263183151263803,y:.7342572817023569},{x:.42593657376816557,y:.7360038620015019},{x:.4257613376181454,y:.7377830644907257},{x:.42499695590681574,y:.7403028932959718},{x:.4244347004041422,y:.7428753795171351},{x:.42371955318609683,y:.744513925721078},{x:.42320057896300795,y:.746224754456429},{x:.4219592904188853,y:.7485470419835442},{x:.42090597133276864,y:.7509604079962291},{x:.419884900961423,y:.7524279516932593},{x:.41904213255361455,y:.7540046604858821},{x:.41737163919932724,y:.7560401625275525},{x:.41586773499153856,y:.7582016640293234},{x:.4145799806286405,y:.7594418083381722},{x:.4134458051533947,y:.7608238051533946},{x:.41141030311172405,y:.7624942985076821},{x:.4095136079775698,y:.7643208702080094},{x:.40800865730110464,y:.7652859570783687},{x:.40662666048588214,y:.7664201325536145},{x:.40430437295876726,y:.767661421097737},{x:.4020877758285738,y:.7690828688705307},{x:.4004234632490515,y:.7697358105551997},{x:.3988467544564291,y:.7705785789630079},{x:.39632692565118355,y:.7713429606743374},{x:.3938756091095818,y:.772304659078846},{x:.39211589322607654,y:.7726203633950566},{x:.3904050644907258,y:.7731393376181454},{x:.3877845300151986,y:.7733974377361859},{x:.3851926967821685,y:.7738624292420507},{x:.38340520248922366,y:.7738287638499798},{x:.381626,y:.774004},{x:.37900546552447173,y:.7737458998819594},{x:.376372718297643,y:.7736963151263803},{x:.37462613799849803,y:.7733145737681656},{x:.3728469355092743,y:.7731393376181454},{x:.3703271067040287,y:.7723749559068158},{x:.36775462048286484,y:.7718127004041422},{x:.3661160742789217,y:.7710975531860966},{x:.364405245543571,y:.7705785789630079},{x:.3620829580164563,y:.7693372904188854},{x:.3596695920037709,y:.7682839713327686},{x:.35820204830674063,y:.7672629009614229},{x:.35662533951411796,y:.7664201325536145},{x:.3545898374724472,y:.7647496391993269},{x:.35242833597067663,y:.7632457349915385},{x:.1912283359706766,y:.6257917349915385},{x:.18510912979199054,y:.6194376079775697},{x:.18034713112946932,y:.6120117758285738},{x:.17712534092115398,y:.6037996091095817},{x:.17556757075794932,y:.5951166967821685}]],2:[[{x:.034589999999999996,y:.05195499999999997},{x:.034692251306008066,y:.05091682506774448},{x:.03463809526377374,y:.04987503351343359},{x:.03512383076438082,y:.04653492529109402},{x:.03545466238185463,y:.043175935509274184},{x:.03575748683953214,y:.042177657057450094},{x:.03590761484026801,y:.04114531791601493},{x:.0370356398580977,y:.03796415123181852},{x:.03801542103699209,y:.034734245543570935},{x:.03850718127225641,y:.0338142268532408},{x:.03885582398108696,y:.03283101233894428},{x:.040582789147307716,y:.02993103764454602},{x:.04217386744638545,y:.02695433951411788},{x:.04283566538917773,y:.026147936387598623},{x:.04336942466232366,y:.025251630882832152},{x:.04562896367409083,y:.022744292579413156},{x:.04777019484660536,y:.020135194846605337},{x:.04857659797312457,y:.019473396903813094},{x:.04927496174105457,y:.01869844492647086},{x:.0519802417813102,y:.01668009861889986},{x:.05458933951411791,y:.014538867446385433},{x:.055509358204447995,y:.01404710721112114},{x:.05634548873920743,y:.013423289731094336},{x:.05939254741314285,y:.011971499336069797},{x:.062369245543570956,y:.01038042103699207},{x:.0633675239953951,y:.010077596579314544},{x:.06430928926944049,y:.00962888655251979},{x:.06758102982102647,y:.008799443560749052},{x:.07081093550927423,y:.007819662381854608},{x:.0718491104415297,y:.007717411075846537},{x:.07286031894352762,y:.007461052176974015},{x:.07623101021818018,y:.0072858316174737835},{x:.07959,y:.006954999999999975},{x:.522462,y:.006954999999999975},{x:.5312410644907257,y:.007819662381854608},{x:.539682754456429,y:.01038042103699207},{x:.5474626604858821,y:.014538867446385433},{x:.5542818051533946,y:.020135194846605337},{x:.5598781325536145,y:.02695433951411788},{x:.5640365789630079,y:.034734245543570935},{x:.5665973376181453,y:.043175935509274205},{x:.567462,y:.05195499999999997},{x:.5665973376181453,y:.06073406449072574},{x:.5640365789630079,y:.06917575445642901},{x:.5598781325536145,y:.07695566048588207},{x:.5542818051533946,y:.08377480515339461},{x:.5474626604858821,y:.08937113255361451},{x:.539682754456429,y:.09352957896300787},{x:.5312410644907257,y:.09609033761814534},{x:.522462,y:.09695499999999997},{x:.1815000359059797,y:.09695499999999997},{x:.2783905550735291,y:.2032469617410546},{x:.2792807818102756,y:.20444017254595384},{x:.28031851181367967,y:.20550758629318672},{x:.43775551181367967,y:.4029575862931866},{x:.4393581707982963,y:.4054309283363016},{x:.4411189018513206,y:.4077943501865292},{x:.5036359018513206,y:.5115903501865292},{x:.5044316302389797,y:.5132634494776924},{x:.5054127007337849,y:.5148350555317778},{x:.5063216043693862,y:.5172373109446714},{x:.5074247535047713,y:.5195567934026113},{x:.5078787867151084,y:.5213529834674229},{x:.5085344010842773,y:.5230857889106145},{x:.5229384010842772,y:.5764717889106146},{x:.5230947969602031,y:.5774089507908463},{x:.5233933154704733,y:.5783109589719573},{x:.5238196553887738,y:.5817524776504878},{x:.5243904806061233,y:.5851730002877248},{x:.5243610401661515,y:.586122666187007},{x:.5244778496604383,y:.5870655806061408},{x:.5252778496604383,y:.6189585806061408},{x:.525154398698275,y:.6206444560860672},{x:.5252359209411441,y:.6223328785443973},{x:.5248330095087286,y:.6250334227224941},{x:.5246336028763079,y:.6277565667648055},{x:.5241836259995084,y:.6293859645321488},{x:.5239341869342451,y:.6310578486269935},{x:.5118811869342451,y:.6790048486269935},{x:.5115474759395316,y:.6799350391147754},{x:.5113589931552627,y:.6809051378786065},{x:.5100605296725933,y:.6840797730170447},{x:.5089023081582834,y:.6873082151493771},{x:.5083935381649621,y:.6881554285023456},{x:.5080194201443183,y:.6890701159233712},{x:.5061265656819337,y:.6919304336788418},{x:.5043607612540449,y:.6948708843926746},{x:.5036964840076373,y:.6956025626767983},{x:.5031511078963445,y:.6964266878303904},{x:.4695951078963445,y:.7376876878303904},{x:.46829294792790443,y:.7390014838193654},{x:.46714904955699066,y:.7404551608815331},{x:.46519525859727806,y:.7421268539092958},{x:.4633851429208498,y:.7439531446668906},{x:.4618516947085211,y:.7449876576267703},{x:.4604461776978856,y:.7461902391902692},{x:.4582037971525157,y:.7474486453977692},{x:.45607217068925404,y:.7488867084403534},{x:.4543663637878686,y:.7496021826182516},{x:.45275324136800726,y:.7505074541480116},{x:.3913892413680073,y:.7774134541480116},{x:.3883140702117422,y:.7784156528007931},{x:.3852957573995619,y:.7795779210778271},{x:.3841283231887951,y:.779779788263216},{x:.3830018757962646,y:.7801468976050565},{x:.3797902739335826,y:.7805299031606142},{x:.3766032098633093,y:.781080995160135},{x:.2948022098633093,y:.7870669951601349},{x:.29450281220893076,y:.7870594704966325},{x:.2942070489499988,y:.7871065838776864},{x:.29009611613079095,y:.7869487184427649},{x:.2859834519838158,y:.7868453561974301},{x:.28569127516043946,y:.7867795665334233},{x:.28539200354491423,y:.7867680740946454},{x:.2381110035449142,y:.7802710740946455},{x:.2365476307297285,y:.7798972084805876},{x:.2349498387179436,y:.7797212234138579},{x:.23226739693423346,y:.7788736316211718},{x:.2295313767481002,y:.7782193386355017},{x:.22807098126622102,y:.7775476578384392},{x:.22653822336325463,y:.7770633405173258},{x:.15287222336325462,y:.7455503405173259},{x:.15277120515837472,y:.7454948388638573},{x:.15266147866932564,y:.7454595513468599},{x:.14890641990559073,y:.7433714396994592},{x:.14514076206912752,y:.7413025033471496},{x:.1450525127361761,y:.7412283604682699},{x:.14495177886390068,y:.7411723444149347},{x:.14167624287507044,y:.7383917796239132},{x:.1383865705572421,y:.7356279539035645},{x:.138314481468594,y:.7355380190685297},{x:.13822661135931125,y:.7354634271443719},{x:.09327661135931127,y:.6889934271443718},{x:.09215967204365061,y:.6875853345117547},{x:.09088652507606766,y:.6863167230283468},{x:.0894249598835053,y:.6841377631074377},{x:.0877944205712414,y:.6820821900242812},{x:.08697364817646357,y:.6804832494460014},{x:.08597245819367963,y:.6789906353246448},{x:.0849640705590952,y:.6765684062835642},{x:.08376588401722862,y:.6742342280213215},{x:.08327282036617045,y:.6725058858871059},{x:.08258206253775009,y:.6708466294514168},{x:.06737006253775008,y:.6210196294514168},{x:.06563362911198059,y:.61237067498716},{x:.06561788807912042,y:.6035491464015462},{x:.0673234443582347,y:.5948940500909503},{x:.07068475437800403,y:.5867379965527546},{x:.07557264487941309,y:.5793944183504645},{x:.08179927697165325,y:.5731455250760676},{x:.08912536467535526,y:.5682314581936796},{x:.09726937054858317,y:.56484106253775},{x:.10591832501283995,y:.5631046291119806},{x:.11473985359845373,y:.5630888880791204},{x:.12339494990904962,y:.5647944443582347},{x:.13155100344724535,y:.568155754378004},{x:.13889458164953555,y:.5730436448794131},{x:.14514347492393234,y:.5792702769716532},{x:.15005754180632036,y:.5865963646753553},{x:.1534479374622499,y:.5947403705485832},{x:.16549687462406137,y:.6342067386764809},{x:.19660916323298405,y:.666371100226128},{x:.2563653288901179,y:.6919337213587163},{x:.29295461470925055,y:.696961546277117},{x:.3623268316838737,y:.6918850546595318},{x:.40664087103378327,y:.672454875030618},{x:.4270299373286165,y:.6473841495451277},{x:.4351521014718352,y:.6150740687208592},{x:.4346413299816387,y:.5947115247998124},{x:.4232850296720603,y:.5526213103922067},{x:.3655461500158852,y:.45675834907300783},{x:.21087613207581168,y:.2627785664153893},{x:.04633344492647088,y:.0822700382589454},{x:.04431509861889995,y:.07956475821868986},{x:.04217386744638545,y:.07695566048588207},{x:.04168210721112112,y:.0760356417955519},{x:.04105828973109435,y:.07519951126079251},{x:.03960649933606985,y:.07215245258685718},{x:.03801542103699209,y:.06917575445642901},{x:.037712596579314576,y:.0681774760046049},{x:.037263886552519804,y:.06723571073055948},{x:.036434443560749034,y:.06396397017897336},{x:.03545466238185463,y:.06073406449072574},{x:.03535241107584656,y:.059695889558470286},{x:.035096052176974035,y:.05868468105647236},{x:.03492083161747381,y:.05531398978181981},{x:.034589999999999996,y:.05195499999999997}]],3:[[{x:.02624429558875499,y:.07454886751538828},{x:.02628189246403191,y:.06572740500388341},{x:.028039748887915363,y:.057082779207475086},{x:.03145031142385274,y:.04894719824755728},{x:.036382514066253493,y:.04163330793793327},{x:.042646815033581253,y:.035422176981524986},{x:.05000248075272204,y:.030552495657744837},{x:.05816683711519421,y:.027211403088916904},{x:.11448783711519421,y:.010388403088916982},{x:.11753114712885143,y:.009796523380387901},{x:.12053464064709668,y:.009027703431080128},{x:.20267064064709667,y:-.0035892965689199724},{x:.20562630159751,y:-.003749783589053152},{x:.20856537842676282,y:-.004101230781641964},{x:.30947437842676284,y:-.00620423078164193},{x:.31075400531193675,y:-.006105070212514369},{x:.31203499449415534,y:-.0061847225744922005},{x:.3151428517207607,y:-.005764970678224511},{x:.3182695531731509,y:-.005522677007230838},{x:.31950524711917533,y:-.005175778959545043},{x:.3207771618583987,y:-.005003992231664048},{x:.3829651618583987,y:.009716007768336019},{x:.3849642059743718,y:.010402067561162992},{x:.38702295869345676,y:.010879972006216251},{x:.389126076828856,y:.011830396347599064},{x:.3913090018652735,y:.012579562954916447},{x:.3931357912831918,y:.013642434461507345},{x:.39506175111398195,y:.014512798837572657},{x:.47719975111398194,y:.06182779883757265},{x:.47924722409526294,y:.06329195880211928},{x:.48141099047099317,y:.06457804786673271},{x:.4828265323572166,y:.06585154318044145},{x:.484375351035892,y:.06695911252196202},{x:.4860978389589892,y:.06879458122658251},{x:.48796912564078,y:.07047808832945178},{x:.54077112564078,y:.12830608832945176},{x:.5409949120745448,y:.12860551518367325},{x:.5412686389329152,y:.1288600940829806},{x:.5436334835107667,y:.13213593090859313},{x:.5460522072884215,y:.13537218987116906},{x:.5462132784472015,y:.1357095218897727},{x:.546432079841298,y:.13601261058785885},{x:.5481124005325159,y:.13968686141763526},{x:.5498532864078638,y:.14333280617235186},{x:.5499454524173568,y:.14369507987504085},{x:.5501009199323095,y:.14403503084321223},{x:.5735679199323094,y:.2123790308432122},{x:.5742003382158373,y:.21504899342087444},{x:.5750294951185407,y:.21766455299430504},{x:.5752146521018063,y:.21933125436759},{x:.575601167738761,y:.22096305773765262},{x:.575700550423256,y:.22370509641963415},{x:.5760035049491392,y:.22643215923642232},{x:.5758599468852712,y:.22810295774565637},{x:.5759206866877095,y:.2297788119316045},{x:.5754832145523405,y:.2324875517091097},{x:.575248324328873,y:.23522131827456078},{x:.563515324328873,y:.2983063182745607},{x:.5624930457986839,y:.30183400865706583},{x:.561587550163308,y:.3053934651440046},{x:.5612670272694029,y:.3060647673464004},{x:.5610599744254687,y:.30677926765590185},{x:.5593691204378909,y:.31003973780923805},{x:.5577866081350055,y:.3133541469027738},{x:.5573412794357957,y:.31395001930700017},{x:.5569988129587381,y:.31461039668740554},{x:.5547043620842722,y:.317478348572073},{x:.5525056481741942,y:.32042033938948294},{x:.4997036481741942,y:.378250339389483},{x:.4970091109540712,y:.38067456957783247},{x:.49440132723244246,y:.38319188697894757},{x:.4937347452782226,y:.3836204617554604},{x:.49314561461057166,y:.3841504927896343},{x:.49002990831948917,y:.38600246394071897},{x:.48698112816844114,y:.387962658427834},{x:.4171684643874312,y:.4237087345514058},{x:.48487098803351525,y:.4540412587201935},{x:.4882241875669253,y:.4559584413246188},{x:.4916233115558361,y:.4577929691542233},{x:.4920492459188098,y:.45814540790983926},{x:.4925291804180174,y:.45841980913886743},{x:.49544392539098053,y:.4609543303938907},{x:.49841983754054403,y:.46341674447922576},{x:.545354837540544,y:.5107317444792258},{x:.5454749496657809,y:.5108793107625336},{x:.5456205162109946,y:.5110018387655073},{x:.548258239278959,y:.5142987798858712},{x:.5509236260451226,y:.5175733969812307},{x:.5510126414958236,y:.5177415605329735},{x:.5511315069931322,y:.5178901328189077},{x:.5530753456471339,y:.5216383183828395},{x:.5550506716503533,y:.525370005791429},{x:.5551051696126684,y:.5255523041806199},{x:.555192766127671,y:.525721211199887},{x:.5563680197383496,y:.5297766005381628},{x:.5575773743081012,y:.5338219516056334},{x:.5575952604559016,y:.5340113792074108},{x:.557648221703651,y:.5341941299579837},{x:.569382221703651,y:.5972801299579837},{x:.5696549699390315,y:.6004540423597167},{x:.5701008412017201,y:.6036082951002054},{x:.5700318821169291,y:.6048400880993865},{x:.5701375119403227,y:.6060692795769916},{x:.5697858198023349,y:.6092354166829699},{x:.5696077595908724,y:.6124160465097288},{x:.5692998146426919,y:.6136107177017713},{x:.5691636114574624,y:.614836897966064},{x:.5682009942777376,y:.6178735869028962},{x:.5674058453461934,y:.6209583639953996},{x:.5668707486862845,y:.622070002836373},{x:.5664979467044567,y:.623246050467446},{x:.5649613973213707,y:.6260365929822823},{x:.5635797167972587,y:.6289069710868302},{x:.5283787167972587,y:.6867359710868302},{x:.526364685994031,y:.6894131274243959},{x:.524479650893362,y:.6921826271628648},{x:.5237177195860089,y:.6929316152663909},{x:.5230754099184859,y:.6937854072711274},{x:.5205777908604191,y:.6960182048823972},{x:.5181886735848373,y:.6983667373551676},{x:.4595186735848373,y:.7456807373551677},{x:.45627545779875317,y:.7478078267647688},{x:.4530837115337172,y:.7500113951823929},{x:.4525909707504246,y:.7502243275150239},{x:.4521421155924859,y:.7505187128152536},{x:.44854624273044896,y:.7519722107862162},{x:.4449859301027389,y:.7535107594479447},{x:.362848930102739,y:.7797967594479446},{x:.36158078031831586,y:.7800691142952486},{x:.3603625229719573,y:.7805143446587972},{x:.35727696699365546,y:.7809934249999153},{x:.35422405316989464,y:.781649085623381},{x:.352927136733123,y:.7816688034988555},{x:.3516454277250751,y:.7818678086678129},{x:.2577774277250751,y:.7871168086678129},{x:.2534831925795917,y:.7869349938938289},{x:.24918809681378723,y:.7867747925856998},{x:.2490774333618657,y:.786748457272228},{x:.24896378128970398,y:.7867436453266514},{x:.24478752897123962,y:.7857275603552258},{x:.2406062159909945,y:.7847325056542677},{x:.16433721599099446,y:.7584545056542678},{x:.1612047546311144,y:.7570179671101032},{x:.15801334200327716,y:.7557176430739929},{x:.09817134200327716,y:.7241756430739928},{x:.09479788711775466,y:.721949723610623},{x:.09138819905405325,y:.7197797137879894},{x:.05384019905405325,y:.6903397137879895},{x:.04746503339724546,y:.6842424293748122},{x:.0424018859405069,y:.677018569451043},{x:.0388453306011542,y:.6689457429023652},{x:.036932043806339465,y:.6603341839257509},{x:.036735552094603836,y:.6515148299032538},{x:.03826340653223549,y:.6428266036640077},{x:.041456892530026886,y:.6346033888699733},{x:.046193286212010486,y:.6271611990540533},{x:.05229057062518783,y:.6207860333972455},{x:.05951443054895701,y:.615722885940507},{x:.06758725709763488,y:.6121663306011542},{x:.07619881607424907,y:.6102530438063395},{x:.08501817009674617,y:.6100565520946039},{x:.09370639633599236,y:.6115844065322356},{x:.1019296111300268,y:.6147778925300269},{x:.10937180094594674,y:.6195142862120105},{x:.14372643260130716,y:.6464504840370294},{x:.1969218011618275,y:.6744891243755197},{x:.2615721948597163,y:.6967640072977177},{x:.3408866683163358,y:.6923288252210377},{x:.40955721054777616,y:.6703524458415177},{x:.4555820596629536,y:.6332360369266462},{x:.477752059875079,y:.596814658492312},{x:.4716998550115053,y:.5642759337587675},{x:.44042564505409965,y:.532748518309004},{x:.3700728058889163,y:.5012285825754976},{x:.28267158635688694,y:.4816496665818946},{x:.2026156257994338,y:.47140070238604853},{x:.19958923290487823,y:.4707064281346213},{x:.19652752938874105,y:.4701896668089735},{x:.19529880233776667,y:.46972217540403877},{x:.1940174323454584,y:.4694282207777866},{x:.19118463692903986,y:.4681568668470777},{x:.18828257832087977,y:.4670527262205195},{x:.18716866396437967,y:.46635450477580015},{x:.18596926283986664,y:.4658162155208443},{x:.1834389276407875,y:.4640166393294268},{x:.18080803842542348,y:.46236755090702814},{x:.17985174386742717,y:.4614654316810775},{x:.17878040392329292,y:.4607034939516098},{x:.17664976830422657,y:.45844485220330683},{x:.1743911520787843,y:.45631418952832026},{x:.17362922718285934,y:.45524284045707714},{x:.17272711941234267,y:.45428653509274164},{x:.17107806250525512,y:.45165562612327925},{x:.16927851662463225,y:.44912526936741537},{x:.1687402417372368,y:.44792586179486843},{x:.1680420336360506,y:.4468119390745141},{x:.1669379277730794,y:.44390986724015796},{x:.1656666077762714,y:.4410770565945043},{x:.16537266849946,y:.43979568308103084},{x:.16490519181337332,y:.438566950430106},{x:.16438846716364272,y:.4355052407239498},{x:.16369422916516244,y:.43247883951296023},{x:.16365592142049992,y:.43116474252408066},{x:.16343714101639506,y:.42986841944927895},{x:.1635276550184117,y:.4267647316583033},{x:.16343717819520762,y:.42366104278329114},{x:.1636559741278381,y:.4223647223293339},{x:.1636942976139514,y:.42105062579943375},{x:.1643885718653787,y:.41802423290487795},{x:.16490533319102646,y:.414962529388741},{x:.1653728245959611,y:.41373380233776696},{x:.1656667792222133,y:.41245243234545836},{x:.1669381331529224,y:.40961963692903947},{x:.16804227377948042,y:.40671757832087974},{x:.16874049522419982,y:.4056036639643795},{x:.16927878447915568,y:.4044042628398666},{x:.17107836067057278,y:.40187392764078794},{x:.1727274490929718,y:.3992430384254234},{x:.17362956831892262,y:.3982867438674269},{x:.17439150604839013,y:.3972154039232929},{x:.1766501477966929,y:.39508476830422673},{x:.1787808104716797,y:.39282615207878424},{x:.17985215954292283,y:.39206422718285927},{x:.18080846490725827,y:.39116211941234263},{x:.18343937387672077,y:.38951306250525497},{x:.18596973063258454,y:.3877135166246322},{x:.18716913820513145,y:.3871752417372368},{x:.1882830609254858,y:.38647703363605057},{x:.19118513275984234,y:.3853729277730792},{x:.19401794340549564,y:.3841016077762714},{x:.19529931691896882,y:.38380766849946},{x:.19652804956989395,y:.38334019181337325},{x:.19958975927605035,y:.38282346716364263},{x:.20261616048703973,y:.3821292291651624},{x:.28149235433605535,y:.37203226198800626},{x:.3678476199052635,y:.34785057975990136},{x:.4387239808422848,y:.31155986033736477},{x:.4773813812672204,y:.26922136053481893},{x:.48460036747312013,y:.2304069273293995},{x:.4680118822440525,y:.1820955353962423},{x:.4262197745588727,y:.1363254129914362},{x:.35583608100487274,y:.09578139608686695},{x:.3056218275014876,y:.083895601213743},{x:.2134048551529998,y:.08581745449589688},{x:.13726972612583144,y:.09751265420048184},{x:.0839251628848058,y:.11344659691108305},{x:.0752658675153883,y:.11513070441124498},{x:.06644440500388343,y:.11509310753596806},{x:.05779977920747511,y:.11333525111208462},{x:.0496641982475573,y:.10992468857614723},{x:.04235030793793329,y:.10499248593374648},{x:.036139176981525016,y:.09872818496641873},{x:.03126949565774486,y:.09137251924727793},{x:.027928403088916927,y:.08320816288480577},{x:.02624429558875499,y:.07454886751538828}]],4:[[{x:.003828000000000005,y:.27580099999999996},{x:.0040512821902059844,y:.2735339778783202},{x:.004058111165048277,y:.2712559968420181},{x:.004482570943879651,y:.26915502967601196},{x:.004692662381854638,y:.26702193550927417},{x:.005353928343121064,y:.26484203377636983},{x:.005805038155045426,y:.26260915577382815},{x:.0066312204192078995,y:.26063136609773396},{x:.0072534210369921,y:.25858024554357095},{x:.008327258689269697,y:.2565712366005347},{x:.009205313441189196,y:.2544692698811785},{x:.010401468469599332,y:.25269066304309135},{x:.011411867446385462,y:.25080033951411784},{x:.01285700981091242,y:.2490394284479652},{x:.014128266351129452,y:.24714915041402313},{x:.01564842657685691,y:.24563807727727646},{x:.017008194846605366,y:.24398119484660533},{x:.018769105912757822,y:.24253605248207852},{x:.020384710565360974,y:.24093010545831445},{x:.022170457083446928,y:.23974463571613375},{x:.023827339514117918,y:.23838486744638543},{x:.025836348457154004,y:.2373110297941079},{x:.027734214441385185,y:.2360511294240198},{x:.029716922014597604,y:.23523682001377813},{x:.031607245543570965,y:.23422642103699207},{x:.03378714727647517,y:.23356515507572567},{x:.03589434066689576,y:.23269971862397582},{x:.03799781495511128,y:.23228786299963877},{x:.040048935509274235,y:.2316656623818546},{x:.04231595763095386,y:.23144238019164864},{x:.0445515001672978,y:.23100466589573537},{x:.046694905833262405,y:.23101109143797494},{x:.048828,y:.23080099999999998},{x:.36918100000000004,y:.23080099999999998},{x:.36918100000000004,y:.05103000000000002},{x:.37004566238185466,y:.04225093550927423},{x:.3726064210369921,y:.03380924554357098},{x:.3767648674463855,y:.026029339514117924},{x:.38236119484660536,y:.019210194846605383},{x:.38918033951411796,y:.013613867446385479},{x:.396960245543571,y:.009455421036992116},{x:.4054019355092743,y:.006894662381854655},{x:.414181,y:.0060300000000000215},{x:.4229600644907258,y:.006894662381854655},{x:.4314017544564291,y:.009455421036992116},{x:.43918166048588214,y:.013613867446385486},{x:.4460008051533947,y:.019210194846605383},{x:.45159713255361456,y:.026029339514117924},{x:.45575557896300795,y:.03380924554357098},{x:.4583163376181454,y:.04225093550927425},{x:.459181,y:.05103000000000002},{x:.459181,y:.23080099999999998},{x:.553224,y:.23080099999999998},{x:.5620030644907258,y:.2316656623818546},{x:.5704447544564291,y:.23422642103699207},{x:.5782246604858822,y:.23838486744638543},{x:.5850438051533947,y:.24398119484660533},{x:.5906401325536146,y:.25080033951411784},{x:.5947985789630079,y:.25858024554357095},{x:.5973593376181454,y:.26702193550927417},{x:.5982240000000001,y:.27580099999999996},{x:.5973593376181454,y:.28458006449072576},{x:.5947985789630079,y:.293021754456429},{x:.5906401325536146,y:.3008016604858821},{x:.5850438051533947,y:.3076208051533946},{x:.5782246604858822,y:.3132171325536145},{x:.5704447544564291,y:.3173755789630079},{x:.5620030644907258,y:.31993633761814533},{x:.553224,y:.32080099999999995},{x:.459181,y:.32080099999999995},{x:.459181,y:.421833},{x:.4583163376181454,y:.4306120644907258},{x:.45575557896300795,y:.439053754456429},{x:.45159713255361456,y:.4468336604858821},{x:.4460008051533947,y:.4536528051533947},{x:.43918166048588214,y:.45924913255361455},{x:.4314017544564291,y:.4634075789630079},{x:.4229600644907258,y:.4659683376181454},{x:.414181,y:.466833},{x:.4054019355092743,y:.4659683376181454},{x:.396960245543571,y:.4634075789630079},{x:.38918033951411796,y:.45924913255361455},{x:.38236119484660536,y:.4536528051533947},{x:.3767648674463855,y:.4468336604858821},{x:.3726064210369921,y:.439053754456429},{x:.37004566238185466,y:.4306120644907258},{x:.36918100000000004,y:.421833},{x:.36918100000000004,y:.32080099999999995},{x:.1436046917940101,y:.32080099999999995},{x:.4533648945416855,y:.700560710565361},{x:.45824387057598015,y:.7079102144413851},{x:.4615952813760241,y:.7160703406668958},{x:.46329033410426457,y:.7247275001672978},{x:.46326388883495173,y:.7335490031579818},{x:.46151696184495455,y:.7421958442261718},{x:.45811668655881077,y:.7503357301188214},{x:.4531937336488705,y:.7576558495859769},{x:.446937289434639,y:.7638748945416856},{x:.4395877855586148,y:.7687538705759801},{x:.43142765933310423,y:.7721052813760241},{x:.42277049983270215,y:.7738003341042645},{x:.41394899684201814,y:.7737738888349517},{x:.40530215577382817,y:.7720269618449546},{x:.39716226988117853,y:.7686266865588108},{x:.38984215041402315,y:.7637037336488706},{x:.38362310545831446,y:.757447289434639},{x:.013957105458314502,y:.304244289434639},{x:.012771635716133971,y:.30245854291655333},{x:.011411867446385462,y:.3008016604858821},{x:.010338029794107799,y:.29879265154284573},{x:.009078129424019837,y:.29689478555861476},{x:.008263820013778204,y:.2949120779854024},{x:.0072534210369921,y:.293021754456429},{x:.006592155075725704,y:.29084185272352475},{x:.005726718623975863,y:.2887346593331042},{x:.0053148629996388475,y:.28663118504488877},{x:.004692662381854638,y:.28458006449072576},{x:.00446938019164866,y:.282313042369046},{x:.00403166589573542,y:.2800774998327022},{x:.00403809143797499,y:.27793409416673776},{x:.003828000000000005,y:.27580099999999996}]],5:[[{x:.029951000000000005,y:.38529899999999995},{x:.030026331329377584,y:.3845341481773043},{x:.029977079633894697,y:.38376717530271315},{x:.030458063889865227,y:.38015069392879464},{x:.03081566238185464,y:.37651993550927415},{x:.03103876142924568,y:.3757844765131909},{x:.03114008507636279,y:.3750226322781917},{x:.0323173678705276,y:.3715694759531816},{x:.0333764210369921,y:.36807824554357094},{x:.033738714231120716,y:.3674004426508694},{x:.033986719409902104,y:.366673004302166},{x:.03581505842470893,y:.3635158758870829},{x:.03753486744638546,y:.3602983395141178},{x:.03802243206297786,y:.35970424030984804},{x:.03840758807348568,y:.3590391628952293},{x:.04081672126593952,y:.35629938906452685},{x:.04313119484660537,y:.3534791948466053},{x:.04372529405087513,y:.3529916302300129},{x:.04423279956362368,y:.3524144723015426},{x:.04713014529619686,y:.3501973410270508},{x:.04995033951411792,y:.3478828674463854},{x:.05062814240681941,y:.3475205742522568},{x:.05123849426956635,y:.347053515665452},{x:.054512709170605814,y:.34544423005866864},{x:.057730245543570965,y:.343724421036992},{x:.05846570453965444,y:.3435013219896009},{x:.05915544727260316,y:.34316231154402344},{x:.06268070509966306,y:.34222271554831923},{x:.06617193550927424,y:.3411636623818546},{x:.0669367873319697,y:.34108833105247705},{x:.06767941450870582,y:.34089039672943083},{x:.07132024158048059,y:.34065659849198926},{x:.074951,y:.34029899999999996},{x:.0757158518226955,y:.3403743313293775},{x:.07648282469728679,y:.34032507963389463},{x:.08009930607120508,y:.3408060638898651},{x:.08373006449072577,y:.3411636623818546},{x:.0844655234868091,y:.3413867614292456},{x:.08522736772180821,y:.34148808507636275},{x:.2701097088502776,y:.3848544225750548},{x:.39095673206080095,y:.3699215697302287},{x:.4312208460684155,y:.34735587040502247},{x:.4569274445394237,y:.3179203076157562},{x:.4808881134259603,y:.2201177906149206},{x:.47151862074291284,y:.1781066999956386},{x:.4461217481742335,y:.14395206669668215},{x:.3876788357927069,y:.10680533743499816},{x:.3169820044514503,y:.08634947983662909},{x:.2505487358362677,y:.08307118781270932},{x:.19638270317906092,y:.09339965838335124},{x:.15518503458472022,y:.11245499400015477},{x:.1051531598037562,y:.15775209985578706},{x:.09806479623887651,y:.16300326318775482},{x:.09008818244690309,y:.16677065575830224},{x:.0815298552225249,y:.16890949878372125},{x:.07271870628140957,y:.16933759772602197},{x:.06399334313601493,y:.16803850098293246},{x:.05568907659877849,y:.16506213211374782},{x:.04812503497563989,y:.16052287130494386},{x:.041591900144212934,y:.15459515980375618},{x:.03634073681224515,y:.1475067962388765},{x:.03257334424169774,y:.13953018244690307},{x:.03043450121627874,y:.13097185522252489},{x:.03000640227397801,y:.12216070628140954},{x:.031305499017067515,y:.1134353431360149},{x:.034281867886252176,y:.10513107659877846},{x:.03882112869505611,y:.09756703497563987},{x:.044748840196243804,y:.09103390014421289},{x:.09986584019624378,y:.041132900144212926},{x:.10178680031290575,y:.03970982481314967},{x:.10357183338498165,y:.03811957700249835},{x:.10532248536915285,y:.037090537646117014},{x:.10695420376112348,y:.035881736812245144},{x:.10911588139237749,y:.0348607662023731},{x:.11117685751196796,y:.03364931723433351},{x:.16362485751196798,y:.009390317234333478},{x:.1646572774363771,y:.009030847933342759},{x:.16562545909873666,y:.008523173483185618},{x:.16881529925253239,y:.0075831025339957205},{x:.1719558576504946,y:.006489618860012841},{x:.17303856889723523,y:.006338471796353147},{x:.17408718959239433,y:.0060294350406820685},{x:.23897018959239436,y:-.00634256495931787},{x:.2399001168767359,y:-.006426714843400178},{x:.24080591100583193,y:-.006653392925378379},{x:.24428588214420577,y:-.0068235863462415185},{x:.247755834543085,y:-.007137585190079683},{x:.24868431036339586,y:-.007038698344381461},{x:.24961692261229596,y:-.007084309202250054},{x:.32666292261229596,y:-.003282309202250082},{x:.32746661284147915,y:-.0031629125067284265},{x:.32827905619988357,y:-.00317336931171093},{x:.3318231917274382,y:-.002515696572186591},{x:.33538870069659477,y:-.001986002452099067},{x:.33615365510360457,y:-.0017121077449900682},{x:.3369525276121403,y:-.0015638637889859724},{x:.4188855276121403,y:.02214313621101406},{x:.4207304127428032,y:.02287964098341223},{x:.42264402370761556,y:.023412682727046455},{x:.4248170355152836,y:.024511079778651145},{x:.4270783417525648,y:.02541382586724525},{x:.42874409297954025,y:.02649609814118395},{x:.43051694316083267,y:.027392224616519634},{x:.5014129431608326,y:.07245422461651957},{x:.5044011686844615,y:.0747943741105689},{x:.5074525565132345,y:.07705154573740032},{x:.5078697672823866,y:.07751071502587484},{x:.5083582165656543,y:.07789323111579813},{x:.5108324836553944,y:.0807713891731658},{x:.5133848875831327,y:.08358048611421783},{x:.5494628875831328,y:.1320994861142178},{x:.5497798823390716,y:.1326268676033582},{x:.5501811109693575,y:.13309337858567127},{x:.5520495631508493,y:.13640291633591076},{x:.5540074974944301,y:.13966031511116345},{x:.5542155142604781,y:.14023940572188273},{x:.5545180216173755,y:.1407752286491667},{x:.5557049132287019,y:.14438569149730107},{x:.5569897394368822,y:.14796247431004633},{x:.5570807842453774,y:.1485710199149322},{x:.5572729451408087,y:.14915556341258465},{x:.5710219451408087,y:.2108035634125847},{x:.5712046210163666,y:.21230267395853206},{x:.5715791512667351,y:.2137656948046034},{x:.571736996194895,y:.21667155541097086},{x:.5720890113736304,y:.2195603313107129},{x:.5719757152243157,y:.2210662751632623},{x:.5720576277729665,y:.2225742517011615},{x:.5716455344736617,y:.2254550710286549},{x:.5714272135589309,y:.2283570146640783},{x:.5710222992922247,y:.22981191924551903},{x:.5708084462858501,y:.23130690078257787},{x:.5417354462858501,y:.3499769007825779},{x:.5411002871662289,y:.3517814599872898},{x:.540669734049328,y:.3536454570484658},{x:.5396393400617131,y:.355932176655931},{x:.5388066121493867,y:.3582980512419798},{x:.5378316053978042,y:.3599440229503987},{x:.537045677451414,y:.361688207084494},{x:.5355889653307644,y:.36372996812105773},{x:.5343106788169316,y:.36588792593376723},{x:.5330332933960605,y:.36731205637621067},{x:.5319221933904076,y:.36886939956510134},{x:.49389619339040763,y:.4124113995651013},{x:.49150876583293945,y:.41465677330496736},{x:.4892379705562563,y:.41702003426923534},{x:.48830169237996507,y:.41767302336482964},{x:.48747017448549057,y:.4184550652905171},{x:.4846905699931398,y:.420191530792605},{x:.4820023580684325,y:.4220663721783498},{x:.4272473580684325,y:.4527533721783498},{x:.42330567688981036,y:.45447898255061825},{x:.4193723578126433,y:.45622356923745777},{x:.4192660752068488,y:.4562474610875831},{x:.4191662841579818,y:.4562911481493166},{x:.41496369139475175,y:.45721461755172516},{x:.4107655979622113,y:.4581583300092093},{x:.27317359796221125,y:.47516033000920926},{x:.26964530070808584,y:.4752477446385603},{x:.2661231753027132,y:.4754739203661053},{x:.26524270860794985,y:.4753568201865933},{x:.26435476148695686,y:.47537881934450843},{x:.2608772057270339,y:.4747762176787918},{x:.2573786322781918,y:.4743109149236372},{x:.119951,y:.44207564006371447},{x:.119951,y:.684004},{x:.527101,y:.684004},{x:.5358800644907258,y:.6848686623818546},{x:.544321754456429,y:.6874294210369921},{x:.5521016604858822,y:.6915878674463855},{x:.5589208051533947,y:.6971841948466053},{x:.5645171325536146,y:.7040033395141179},{x:.5686755789630079,y:.711783245543571},{x:.5712363376181454,y:.7202249355092742},{x:.5721010000000001,y:.729004},{x:.5712363376181454,y:.7377830644907257},{x:.5686755789630079,y:.746224754456429},{x:.5645171325536146,y:.7540046604858821},{x:.5589208051533947,y:.7608238051533946},{x:.5521016604858822,y:.7664201325536145},{x:.544321754456429,y:.7705785789630079},{x:.5358800644907258,y:.7731393376181454},{x:.527101,y:.774004},{x:.074951,y:.774004},{x:.06617193550927424,y:.7731393376181454},{x:.05773024554357094,y:.7705785789630079},{x:.04995033951411792,y:.7664201325536145},{x:.04313119484660537,y:.7608238051533946},{x:.03753486744638546,y:.7540046604858821},{x:.0333764210369921,y:.746224754456429},{x:.03081566238185464,y:.7377830644907257},{x:.029951000000000005,y:.729004},{x:.029951000000000005,y:.38529899999999995}]],6:[[{x:.01994450211145162,y:.2755194646798348},{x:.020758274672659796,y:.26806396163938684},{x:.0201773643330274,y:.24423363638780976},{x:.020440223451033163,y:.2406784570189078},{x:.020568639264984916,y:.237115887070161},{x:.02076496657089406,y:.23628629421823594},{x:.02082782677693791,y:.23543610758842642},{x:.021779216218601925,y:.23200052126419074},{x:.022600187477202785,y:.22853145778054884},{x:.04459918747720279,y:.16442145778054884},{x:.04602253566469808,y:.16130748249724527},{x:.047307319174730654,y:.15813382633120915},{x:.06831231917473066,y:.11806482633120913},{x:.06934150993632018,y:.11649740482650416},{x:.07018719324152095,y:.11482382676006757},{x:.07175673818837072,y:.11281909673987861},{x:.07315419088510985,y:.11069082519836773},{x:.0744693948008918,y:.10935430641546007},{x:.07562532742241568,y:.1078778703106287},{x:.1253733274224157,y:.055788870310628645},{x:.12585541612958862,y:.055374327647901005},{x:.12626130847256478,y:.0548849335871293},{x:.1291958120945167,y:.0525019586891126},{x:.1320620582603259,y:.05003730581521479},{x:.13261575702973094,y:.04972477931463493},{x:.1331093263100589,y:.049323974491408525},{x:.1861743263100589,y:.014262974491408516},{x:.18683955107784095,y:.013911818906951787},{x:.187438960697758,y:.013457349607970202},{x:.1907349034619545,y:.011855559414887177},{x:.19397565070571454,y:.010144849670490022},{x:.19469660042216425,y:.009930220356283175},{x:.19537315511619574,y:.009601422573216056},{x:.19891826102894206,y:.008673416864759805},{x:.2024304811380398,y:.007627816351770726},{x:.20317945010986724,y:.007557961391993223},{x:.20390715026053782,y:.0073674706392518954},{x:.2857161502605378,y:-.005654529360748083},{x:.2860775594607644,y:-.005676122674759226},{x:.28642923596273784,y:-.0057621838110407525},{x:.2904772893795591,y:-.005938995755027237},{x:.2945219894833068,y:-.006180656673914681},{x:.2948806669536751,y:-.006131327641200151},{x:.2952423757850646,y:-.006147126454864343},{x:.38700037578506463,y:-.001139126454864331},{x:.39074801870473747,y:-.000562375362895672},{x:.3945101708776463,y:-8942684208443352e-20},{x:.395102371884912,y:.00010774663253235539},{x:.3957192721812796,y:.00020268575218489876},{x:.39928238663684656,y:.0014994835976446027},{x:.4028799824314506,y:.002697304024131271},{x:.47474098243145063,y:.03475230402413133},{x:.4764407459001163,y:.03572046389197228},{x:.4782361407270164,y:.03649705052245801},{x:.48026428101539703,y:.03789829234877595},{x:.4824063061811086,y:.03911835786940705},{x:.4838845305509628,y:.04039952221931584},{x:.48549392283388365,y:.041511451110380196},{x:.5363469228338836,y:.08458545111038014},{x:.5369424578291695,y:.08519979361043255},{x:.5376274627831791,y:.08571247952886965},{x:.5400078699953618,y:.08836201411598918},{x:.5424869876672573,y:.09091942444541115},{x:.5429512273484354,y:.09163814564059086},{x:.5435230500634102,y:.09227461827992436},{x:.5453408198626901,y:.09533763721244376},{x:.5472733759789791,y:.0983295594844189},{x:.5475884798754501,y:.09912503932225875},{x:.5480251455251356,y:.09986083939589693},{x:.5756631455251356,y:.15896283939589692},{x:.5756676990332947,y:.1589757429605767},{x:.575674675284325,y:.15898751446598428},{x:.5771354507402345,y:.1631350040011944},{x:.5785987361645655,y:.16728160865370237},{x:.5786006848177536,y:.16729515262537814},{x:.5786052305152959,y:.16730805894366996},{x:.5792288025114348,y:.17166083878445604},{x:.5798550088797246,y:.1760132404159827},{x:.5798542777922926,y:.17602690430741857},{x:.5798562182477396,y:.17604044945602063},{x:.5820672182477395,y:.2261264494560206},{x:.5819074721227447,y:.22907858468741052},{x:.5819395990078049,y:.232034864293962},{x:.5816696541741431,y:.23347350033714379},{x:.5815905637246603,y:.23493510513282764},{x:.580857954063737,y:.2377993509905685},{x:.5803127220992973,y:.2407050941577823},{x:.5648357220992973,y:.2937960941577823},{x:.5632290277642941,y:.2977974374258546},{x:.5616400226499054,y:.30180583827676916},{x:.5384240226499054,y:.3468838382767692},{x:.5373215489467563,y:.3485896803397862},{x:.5364060617863755,y:.35040275195151915},{x:.5349331318310961,y:.3522852445680167},{x:.5336357086983223,y:.35429272914301846},{x:.5322216254408594,y:.35575071197935654},{x:.5309700163849885,y:.3573503432435408},{x:.49559401638498846,y:.39441334324354077},{x:.4926979475395651,y:.39690515537305066},{x:.48986855873600776,y:.3994724304741097},{x:.48935820160472765,y:.3997787125549045},{x:.48890701524930746,y:.4001669186691625},{x:.48558046512393155,y:.4020458563236817},{x:.4823045917066957,y:.404011815580751},{x:.4336605917066957,y:.42705181558075106},{x:.43309173356321873,y:.4272557130907893},{x:.4325654489917744,y:.42755269513041455},{x:.42894434743018467,y:.4287422729922158},{x:.4253563740806812,y:.43002832091195864},{x:.42475866795602985,y:.4301173218701226},{x:.42418455747331046,y:.430305924456616},{x:.35674655747331047,y:.44533192445661596},{x:.3529000911149492,y:.4457998510145922},{x:.3490659246900917,y:.4463596961147396},{x:.28494592469009167,y:.4493636961147396},{x:.2805873413475358,y:.449139645094856},{x:.27622830276644406,y:.44892463285807194},{x:.20879130276644411,y:.4389076328580719},{x:.2058686377582091,y:.4381749274884603},{x:.2029059705898912,y:.4376259000221244},{x:.2015992206546876,y:.4371045944779896},{x:.20023455588710068,y:.4367624761715421},{x:.19751099279397463,y:.4354736658725529},{x:.19471236238975773,y:.4343572001231398},{x:.1250653623897577,y:.39829620012313977},{x:.12281565387932818,y:.3968352958512946},{x:.12046004217050754,y:.3955521266688945},{x:.11912493361112,y:.39443863469229795},{x:.1176668837895426,y:.39349181371392206},{x:.11574541108214431,y:.3916200839502759},{x:.11440461043594556,y:.3905018447245139},{x:.11499744675527566,y:.4076710597897629},{x:.14015918883207887,y:.48309781218266834},{x:.17625691985197756,y:.5624688107059582},{x:.22079283681825793,y:.6049160879451294},{x:.2812243215554422,y:.6473094683632384},{x:.35529887985725983,y:.6721340784004237},{x:.44197867319461825,y:.699237682451455},{x:.450099621980826,y:.7026829408131323},{x:.45739239245003865,y:.7076463180152294},{x:.4635767275229571,y:.7139370742553635},{x:.4684149666709443,y:.7213134592991232},{x:.47172117907685873,y:.729492002806001},{x:.4733683088520865,y:.7381584079356077},{x:.4732930577230865,y:.7469796295989887},{x:.471498317548545,y:.7556166731946181},{x:.4680530591868676,y:.7637376219808258},{x:.4630896819847706,y:.7710303924500386},{x:.4567989257446365,y:.7772147275229571},{x:.4494225407008768,y:.7820529666709441},{x:.4412439971939989,y:.7853591790768587},{x:.43257759206439217,y:.7870063088520864},{x:.4237563704010112,y:.7869310577230865},{x:.41511932680538177,y:.7851363175485448},{x:.32800332680538175,y:.7578963175485449},{x:.32758097645219697,y:.7577171382279785},{x:.32713377373466446,y:.7576146941984534},{x:.2464307737346645,y:.7305686941984535},{x:.24453959681011464,y:.7297206474805041},{x:.2425703892464572,y:.7290741531131611},{x:.24052462272791658,y:.727920241844807},{x:.2383814751569417,y:.7269592057619036},{x:.2366920823739949,y:.725758503708645},{x:.23488683737580707,y:.7247402582115807},{x:.16634483737580705,y:.6766572582115807},{x:.16379281785599412,y:.6744641039532857},{x:.16114120086592887,y:.6723924725748345},{x:.10785520086592887,y:.6216054725748346},{x:.10512406158167997,y:.61843588774195},{x:.10236095541706475,y:.6152941312068447},{x:.10224621895073822,y:.6150960484276141},{x:.1020967920615373,y:.6149226331776604},{x:.10003648617852028,y:.6112811321861437},{x:.09793939861820375,y:.6076606883504815},{x:.057256398618203745,y:.5182076883504814},{x:.05649445644348035,y:.515973451082899},{x:.055531562043165734,y:.5138181769891187},{x:.02756156204316574,y:.4299731769891187},{x:.02710606704062858,y:.4279720709807987},{x:.026442901166776424,y:.42602987841114226},{x:.0261294707087366,y:.42368163359604843},{x:.025603668479436986,y:.4213716499642221},{x:.02554732210120287,y:.4193201319800137},{x:.025275801747494525,y:.4172858808521062},{x:.022290801747494524,y:.3308368808521062},{x:.022305383523873214,y:.330608131273329},{x:.022277364333027405,y:.33038063638780973},{x:.021194122115214913,y:.2859434614650037},{x:.02071653916751727,y:.2843071590959475},{x:.01994450211145162,y:.2755194646798348}],[{x:.11034731747482908,y:.25010871966048204},{x:.11054573733688708,y:.2582483748303443},{x:.14138614929871246,y:.28974619429248377},{x:.17280436841728808,y:.32166563054627706},{x:.2294333737827033,y:.3509863272379111},{x:.2851142784460479,y:.35925709287120927},{x:.3409693478959939,y:.3566403020317264},{x:.39969116147327427,y:.34355637352239615},{x:.43624565447916347,y:.3262425111990739},{x:.46138408324665353,y:.29990528863548604},{x:.47964461062187336,y:.2644492215688011},{x:.49182659739178797,y:.22266115801633354},{x:.4903391577658353,y:.18896604218391924},{x:.47066764412974615,y:.14689983627465894},{x:.4322187986209955,y:.11433252320671945},{x:.3738017517723872,y:.08827446060346957},{x:.29512698962943984,y:.08398052210424463},{x:.22766698305582697,y:.09471851188045},{x:.18695506157646963,y:.1216176107024183},{x:.1450838647757246,y:.1654591474507099},{x:.12861258258928074,y:.1968796571354811},{x:.11034731747482908,y:.25010871966048204}]],7:[[{x:.026534000000000002,y:.729004},{x:.027398662381854635,y:.7202249355092742},{x:.029959421036992097,y:.711783245543571},{x:.03411786744638546,y:.7040033395141179},{x:.039714194846605363,y:.6971841948466053},{x:.046533339514117915,y:.6915878674463855},{x:.05431324554357096,y:.6874294210369921},{x:.06275493550927423,y:.6848686623818546},{x:.071534,y:.684004},{x:.4019606654607806,y:.684004},{x:.4004737160341744,y:.6825246433416329},{x:.3773547160341744,y:.6545006433416328},{x:.37631768094411194,y:.6529571778549935},{x:.37511206403824765,y:.6515414747212956},{x:.3516100640382476,y:.6177174747212957},{x:.35070717908442606,y:.6160998190359583},{x:.34962595461558005,y:.6145955036421288},{x:.32637595461558006,y:.5744575036421288},{x:.32562538351875275,y:.5728072168885044},{x:.3246890272988689,y:.5712547864166106},{x:.3023170272988689,y:.5242907864166106},{x:.3017220252289498,y:.5226423026482856},{x:.3009361907094137,y:.5210757809262708},{x:.2800741907094137,y:.4667717809262708},{x:.2796297795277362,y:.4651572895546526},{x:.27899211910181604,y:.46360891205912846},{x:.26027511910181605,y:.40145091205912853},{x:.2599700482242006,y:.399900691568321},{x:.2594722021762355,y:.3984012246220316},{x:.2435242021762355,y:.3278752246220315},{x:.24329560198997774,y:.32604433113097486},{x:.24285939794168837,y:.32425152465814894},{x:.22552039794168838,y:.201651524658149},{x:.22543629437721757,y:.19966542745190077},{x:.2251384028560513,y:.1976999971774209},{x:.21759140285605127,y:.0533799971774209},{x:.2179964236931644,y:.04456775725283754},{x:.22011284489303193,y:.03600385769296016},{x:.22385933357584556,y:.028017404355184638},{x:.22909191428257988,y:.020915312162427036},{x:.23560950187114016,y:.014970510534755857},{x:.24316162910560324,y:.010411454864839347},{x:.25145807197163045,y:.007413347105324521},{x:.2601800028225791,y:.006091402856051323},{x:.26899224274716244,y:.0064964236931644576},{x:.27755614230703984,y:.008612844893031955},{x:.2855425956448154,y:.0123593335758456},{x:.29264468783757297,y:.017591914282579925},{x:.29858948946524416,y:.02410950187114019},{x:.30314854513516065,y:.03166162910560326},{x:.30614665289467546,y:.03995807197163046},{x:.3074685971439487,y:.04868000282257914},{x:.3149118365119932,y:.19101580586964154},{x:.33171443080019297,y:.3098230069615897},{x:.3469078029209317,y:.3770118558572018},{x:.3646876244488305,y:.43605754408347375},{x:.3843219343355222,y:.48716585412502805},{x:.40516196826036527,y:.5309139031705462},{x:.42657620329737017,y:.5678827017045378},{x:.4479617026009278,y:.5986606409626235},{x:.4682073320853445,y:.6232016470905397},{x:.5069453480603512,y:.6602460238293135},{x:.5211069187127709,y:.670919967941474},{x:.553634852004927,y:.6903949675582732},{x:.5545334052571363,y:.6910607030437311},{x:.5555196604858821,y:.6915878674463855},{x:.5580709875097788,y:.6936816874233654},{x:.5607229359621996,y:.6956465083018619},{x:.5614743452153894,y:.6964747509099635},{x:.5623388051533946,y:.6971841948466053},{x:.5644326251303754,y:.699735521870503},{x:.5666502995990071,y:.7021799587443133},{x:.5672256886169725,y:.7031388795761127},{x:.5679351325536145,y:.7040033395141179},{x:.5694909811561905,y:.7069141275182039},{x:.5711891576548912,y:.709744242049125},{x:.5715664145603537,y:.7107969903148255},{x:.5720935789630078,y:.711783245543571},{x:.5730516658019124,y:.7149416345772374},{x:.5741650843601849,y:.7180486670509921},{x:.5743297113818354,y:.7191547862251302},{x:.5746543376181453,y:.7202249355092742},{x:.574977843953461,y:.7235095504532041},{x:.5754637165205229,y:.7267740993542682},{x:.5754093871342436,y:.7278910818973009},{x:.575519,y:.729004},{x:.5751954936646845,y:.7322886149439295},{x:.5750351484302645,y:.735585225488817},{x:.5747639504839017,y:.7366701463880269},{x:.5746543376181453,y:.7377830644907257},{x:.5736962507792408,y:.7409414535243923},{x:.5728958497207748,y:.7441434388186243},{x:.5724182051993175,y:.7451546051722857},{x:.5720935789630078,y:.746224754456429},{x:.570537730360432,y:.749135542460515},{x:.5691280324417267,y:.752119852004927},{x:.5684622969562688,y:.7530184052571364},{x:.5679351325536145,y:.7540046604858821},{x:.5658413125766343,y:.756555987509779},{x:.563876491698138,y:.7592079359621996},{x:.5630482490900365,y:.7599593452153895},{x:.5623388051533946,y:.7608238051533946},{x:.5597874781294971,y:.7629176251303754},{x:.5573430412556867,y:.7651352995990072},{x:.5563841204238874,y:.7657106886169726},{x:.5555196604858821,y:.7664201325536145},{x:.5526088724817957,y:.7679759811561907},{x:.5497787579508749,y:.7696741576548912},{x:.5487260096851745,y:.7700514145603538},{x:.547739754456429,y:.7705785789630079},{x:.5445813654227618,y:.7715366658019126},{x:.5414743329490078,y:.7726500843601849},{x:.5403682137748697,y:.7728147113818356},{x:.5392980644907257,y:.7731393376181454},{x:.5360134495467959,y:.773462843953461},{x:.5327489006457318,y:.7739487165205229},{x:.531631918102699,y:.7738943871342436},{x:.530519,y:.774004},{x:.071534,y:.774004},{x:.06275493550927423,y:.7731393376181454},{x:.054313245543570934,y:.7705785789630079},{x:.046533339514117915,y:.7664201325536145},{x:.039714194846605363,y:.7608238051533946},{x:.03411786744638546,y:.7540046604858821},{x:.029959421036992097,y:.746224754456429},{x:.027398662381854635,y:.7377830644907257},{x:.026534000000000002,y:.729004}]],8:[[{x:.018998734783549534,y:.19034712298183487},{x:.01918983868826437,y:.187136446932327},{x:.01920952916989005,y:.18392014879903562},{x:.019451409422642358,y:.18274188004279768},{x:.019522877627479743,y:.18154116541629586},{x:.0203366813486396,y:.1784294641291047},{x:.020983462121705806,y:.17527880768498513},{x:.021450563544301488,y:.17417036752890672},{x:.021754906310756543,y:.17300666705236456},{x:.02316013582774355,y:.17011352146289485},{x:.024409151469860245,y:.16714958466818597},{x:.06244715146986025,y:.097021584668186},{x:.06364531823888224,y:.0952519506947441},{x:.06465809579443724,y:.09337006609963419},{x:.0661122558858275,y:.09160840391706095},{x:.06739294989385258,y:.08971688123025286},{x:.06891333268610705,y:.08821500101819715},{x:.07027378747657535,y:.08656685940733966},{x:.07204368953204261,y:.0851227396301211},{x:.07366879313388441,y:.08351741302778071},{x:.0754529644913056,y:.08234100299139627},{x:.07710881500204132,y:.08098994152260804},{x:.14910981500204132,y:.03317594152260801},{x:.1504928100364302,y:.03244176283843531},{x:.15177178054792087,y:.031538475488709236},{x:.15438005907773164,y:.030378172358910993},{x:.15690151209615905,y:.029039630272177964},{x:.1584011644246711,y:.028589367572161194},{x:.15983178249634203,y:.027952951404511282},{x:.24949378249634205,y:-.0017990485954887184},{x:.251605077566582,y:-.002276091838878668},{x:.25365804064979064,y:-.002962007073194259},{x:.2558970148670134,y:-.0032458471890824472},{x:.2580984148155577,y:-.003743249464233246},{x:.2602622084630055,y:-.003799233220341744},{x:.26240953986016613,y:-.0040714555567724145},{x:.33848653986016614,y:-.006196455556772458},{x:.34211630259529946,y:-.0059410451417675775},{x:.3457527120689106,y:-.005810898556388326},{x:.34651004211407876,y:-.005631877045722989},{x:.3472863241290845,y:-.005577253499755554},{x:.35079651389094996,y:-.004618619143417753},{x:.3543376604369356,y:-.0037815449929937683},{x:.4535096604369356,y:.03022045500700621},{x:.45591274590665615,y:.03131812424947078},{x:.4583949217344816,y:.03222283453480715},{x:.45991547545056405,y:.03314647083206772},{x:.461533744189149,y:.033885655452327273},{x:.46367651039942226,y:.035431052006208004},{x:.4659344916938285,y:.03680262701864639},{x:.5338604916938285,y:.08780462701864639},{x:.5368034713408607,y:.09050382186837246},{x:.5397962541268131,y:.09314768896709699},{x:.5400513850489728,y:.09348269124727963},{x:.5403617177400871,y:.09376731720532937},{x:.5427215620660051,y:.09698879462990716},{x:.5451410464862535,y:.10016572352111452},{x:.5453259194365666,y:.1005440624001799},{x:.5455747614022292,y:.10088376225489704},{x:.547260782913003,y:.10450372268352329},{x:.5490139895381407,y:.10809162577156875},{x:.5802599895381407,y:.1920326257715688},{x:.5808621946470703,y:.19431314395649216},{x:.5816704362178704,y:.19652903198349428},{x:.5819856183913868,y:.19856748893015458},{x:.5825122482529622,y:.20056180773987195},{x:.5826579751325236,y:.20291599079595712},{x:.5830183882594349,y:.20524698126417715},{x:.5829298310737253,y:.20730775882392333},{x:.5830572695913885,y:.20936649774620245},{x:.5827409180393249,y:.21170387573884492},{x:.582639652248002,y:.21406038999182395},{x:.570412652248002,y:.30012638999182395},{x:.5703409363500996,y:.30042034316527866},{x:.5703238989157716,y:.30072243812390526},{x:.5692961437829783,y:.3047027979582916},{x:.5683217827960937,y:.30869656381164773},{x:.5681940974797931,y:.30897087767968473},{x:.5681184516122305,y:.3092638441298401},{x:.5663339148242972,y:.3129672173863048},{x:.5645991308441736,y:.31669415574996157},{x:.5644203829845738,y:.31693828858446854},{x:.5642890357120441,y:.31721086798977133},{x:.5618162960169492,y:.32049493611094637},{x:.5593877558190667,y:.3238118228336772},{x:.5591648145961691,y:.32401639274673566},{x:.5589828135206953,y:.3242581100335041},{x:.5032838135206953,y:.3848241100335041},{x:.5011622073766187,y:.38671918495638496},{x:.4991781602202921,y:.38875783119234486},{x:.4978799327840818,y:.3896509997457094},{x:.496704700181234,y:.39070074870143656},{x:.4942541493273608,y:.39214550546522026},{x:.4919105049301597,y:.39375791128677606},{x:.42072451102124153,y:.4330589294870645},{x:.4777200661568854,y:.4633968522602595},{x:.4805213378044988,y:.46526159042857346},{x:.48340658539474834,y:.46699355971902134},{x:.4841865730327025,y:.4677014480666941},{x:.48506339053858555,y:.46828512408085676},{x:.487447044167244,y:.4706605328159332},{x:.4899389620874836,y:.4729221066835925},{x:.4905658603159866,y:.4737685611946159},{x:.49131196047780046,y:.47451208064740324},{x:.493186393615322,y:.4773068743236967},{x:.4951892188573616,y:.48001114175313947},{x:.5250762188573616,y:.5299501417531395},{x:.5263287500632193,y:.5326029758232522},{x:.5277533683388757,y:.5351675080991},{x:.5282078804872482,y:.5365829335183069},{x:.5288425912810938,y:.5379272372855163},{x:.5295535131980511,y:.5407734546091212},{x:.5304504424054924,y:.5435666393545394},{x:.5306200854295579,y:.5450435386925929},{x:.5309803397786421,y:.5464858379730204},{x:.5311223320761199,y:.5494160600145488},{x:.5314571037289079,y:.5523305567062068},{x:.5328161037289079,y:.6362725567062067},{x:.5325682225912138,y:.6392892202473488},{x:.5325070847315841,y:.6423154334158161},{x:.5322077563487247,y:.6436760218476847},{x:.5320936668790056,y:.6450644677251389},{x:.5312620268462096,y:.647974807711247},{x:.530611678831884,y:.6509309456375182},{x:.530052664324664,y:.6522069946735811},{x:.5296698946987799,y:.6535465042014387},{x:.5282864552309536,y:.656238677898982},{x:.5270718895714029,y:.659011137860374},{x:.493108889571403,y:.7195761378603741},{x:.49086599866607616,y:.7227903647520136},{x:.4886941713149356,y:.7260530293196586},{x:.4883443495413535,y:.7264040725827037},{x:.48806074906628455,y:.7268104928286833},{x:.4852338901214668,y:.7295253929429124},{x:.4824672795427586,y:.7323016638284542},{x:.4820556943532359,y:.7325777150511769},{x:.48169825452511067,y:.7329209983380867},{x:.4783960621447291,y:.7350322395860499},{x:.4751409876314614,y:.737215426256307},{x:.4058559876314614,y:.774404426256307},{x:.40535390944732597,y:.7746134197603937},{x:.4048950878292554,y:.7749053846735706},{x:.40128606998249994,y:.7763066859700772},{x:.39771184087056327,y:.7777944834687843},{x:.3971786373679402,y:.7779015106266721},{x:.3966716723496766,y:.778098353858693},{x:.39285862044769176,y:.7787686450898307},{x:.3890628142527955,y:.7795305574683767},{x:.38851897614326597,y:.7795315052864096},{x:.3879833501061526,y:.7796256622622586},{x:.29017035010615255,y:.7870576622622585},{x:.28883979914978264,y:.7870279344512828},{x:.28751770557027906,y:.7871806372910648},{x:.2844390802539456,y:.7869296114679608},{x:.28135100845003463,y:.7868606162788429},{x:.2800518232654171,y:.7865718820648824},{x:.2787253424971381,y:.7864637231002555},{x:.20264834249713812,y:.7726567231002556},{x:.20090732012312768,y:.7721604024311715},{x:.19912055356042774,y:.7718689262507037},{x:.1966754417776232,y:.7709540028332816},{x:.19416478523538352,y:.7702382792713757},{x:.19255404347725652,y:.7694118386491953},{x:.19085847331495095,y:.7687773822377194},{x:.12157447331495094,y:.7347753822377193},{x:.11864840230662128,y:.7329636093328938},{x:.1156466869822177,y:.7312801255296781},{x:.11490452792065226,y:.7306454666247165},{x:.11407427694169714,y:.7301313894804525},{x:.11155788892673538,y:.7277835811487093},{x:.10894228211787771,y:.7255468394054793},{x:.1083381992447159,y:.7247795872431081},{x:.10762419278113186,y:.7241134140161837},{x:.10561419113974596,y:.7213197952150451},{x:.1034852091492498,y:.7186157522626143},{x:.05457920914924981,y:.6421127522626143},{x:.05400544809690788,y:.6409849569633866},{x:.05327967340990527,y:.639948436299892},{x:.05200937551205521,y:.6370614399018406},{x:.05057918033015655,y:.6342502218929852},{x:.050236465883645505,y:.633032161635733},{x:.04972685190376166,y:.6318739658087451},{x:.04904418748077848,y:.6287946194110116},{x:.04818991452487371,y:.6257584009293389},{x:.04809141700817653,y:.6244968850866522},{x:.047817547914863534,y:.6232615229122788},{x:.04774875137767971,y:.6201081640700103},{x:.04750322987838258,y:.6169636252890404},{x:.04765273449582791,y:.6157071332072875},{x:.04762513492475421,y:.6144420789610904},{x:.04817285008571219,y:.6113358894861711},{x:.048545515296550656,y:.608203873267779},{x:.04893727666953319,y:.607000691233013},{x:.04915700725673716,y:.6057545602402229},{x:.06817600725673716,y:.537751560240223},{x:.0695259178796919,y:.5342803033966695},{x:.07076883034011841,y:.5307693133112962},{x:.07112252784165454,y:.530174666206544},{x:.07137329591617819,y:.5295298232221028},{x:.07337447700044117,y:.5263886201035727},{x:.07527846743280868,y:.5231875729003385},{x:.0757413786311829,y:.522673354732434},{x:.07611313089295507,y:.5220898246495332},{x:.07868867817173447,y:.5193993899302627},{x:.08118057729149615,y:.5166313000580217},{x:.13823757729149616,y:.46456630005802163},{x:.1415344063491032,y:.46210392848613274},{x:.14479841194755694,y:.45959821041612353},{x:.17870395742216458,y:.4385038845164132},{x:.16590813892329467,y:.43401753680148847},{x:.1630836262780146,y:.43270367241359486},{x:.16018787852971583,y:.4315553012665589},{x:.15909238677042803,y:.43084708753997614},{x:.15790960896480868,y:.43029690071741367},{x:.15539569076452509,y:.4284572467838155},{x:.15277962009410193,y:.4267660089056696},{x:.07398562009410191,y:.3640750089056696},{x:.07334669706368892,y:.36345515994886657},{x:.07261876409580822,y:.3629427646304707},{x:.07018582297292754,y:.3603886489381779},{x:.067654053855944,y:.3579324619307791},{x:.06714833408498834,y:.3571998754981266},{x:.06653435151263618,y:.35655531303498644},{x:.06464644192410274,y:.3535756306924294},{x:.06264249835499126,y:.3506727149773525},{x:.06228941637067996,y:.3498555439546183},{x:.061812979199786275,y:.3491035845207174},{x:.026491979199786284,y:.27897658452071744},{x:.026206182636496978,y:.2782362375154344},{x:.02580526951533789,y:.27755135647970497},{x:.024619992088609113,y:.2741272608068926},{x:.023315086847465263,y:.27074694483548933},{x:.02317921632066564,y:.26996506724675395},{x:.022919620294515476,y:.2692151317381758},{x:.022425125568608657,y:.2656255929487299},{x:.02180476064715109,y:.2620556544171705},{x:.02182403758498896,y:.26126229336223583},{x:.021715734783549545,y:.26047612298183487},{x:.018998734783549534,y:.19034712298183487}],[{x:.10940940002433477,y:.19920410482166873},{x:.1112697837122767,y:.2472228194523932},{x:.137749803196691,y:.2997967648781603},{x:.20286290613296581,y:.3516028102138205},{x:.27392321813344717,y:.3765172983642545},{x:.30180455045059645,y:.38547932587505673},{x:.3589974388819276,y:.364332623176267},{x:.44199758150171664,y:.31850914110336725},{x:.48327372240847105,y:.27362627516037924},{x:.4919267227459848,y:.21271770175329152},{x:.46927072007314496,y:.15185335046477932},{x:.41758736799183827,y:.11304708595854013},{x:.33285528741119674,y:.08399594043457195},{x:.2715476841223936,y:.0857083982994813},{x:.19388634557978268,y:.1114782912788902},{x:.13622191473335832,y:.14977174687660325},{x:.10940940002433477,y:.19920410482166873}],[{x:.1412545940070051,y:.610603192179028},{x:.17253143522148345,y:.6595291354872365},{x:.22488466829434647,y:.6852221473073319},{x:.28911227954018853,y:.6968786351876549},{x:.37167628924266627,y:.6906052797020977},{x:.4210229734590171,y:.664118250196117},{x:.4426312796779887,y:.6255849325813003},{x:.4416638895166663,y:.5658316839266069},{x:.4243877259953326,y:.5369644730960824},{x:.3411654121752423,y:.49266641996418925},{x:.3038587353431559,y:.48067475972705925},{x:.2482367446999157,y:.5012406330709052},{x:.1958501022844071,y:.5338329684082593},{x:.1513751879049268,y:.5744167077770947},{x:.1412545940070051,y:.610603192179028}]],9:[[{x:.04617702144416433,y:.5785043710151274},{x:.046308257010348054,y:.5777836867379841},{x:.04632014162646953,y:.5770512474182771},{x:.047097404355444614,y:.5734500590446777},{x:.04775742235616295,y:.5698255492446179},{x:.06775742235616294,y:.499825549244618},{x:.06870401207934061,y:.497431122678351},{x:.06945142103699212,y:.4949672455435709},{x:.07032179921115676,y:.4933388825112154},{x:.07100061044171635,y:.4916218095236955},{x:.07239614115864691,y:.4894580616864063},{x:.07360986744638548,y:.48718733951411786},{x:.07478119941633177,y:.4857600673791044},{x:.07578195180149752,y:.48420841696912487},{x:.07757279404935197,y:.4823584994767568},{x:.07920619484660538,y:.4803681948466053},{x:.1292061948466054,y:.43036819484660543},{x:.1324047212320044,y:.4277432320802026},{x:.1355710052680468,y:.42507946670648067},{x:.13581237417673697,y:.4249466435819557},{x:.13602533951411794,y:.4247718674463855},{x:.13967451194327588,y:.422821344145996},{x:.14329963156393744,y:.42082647364918746},{x:.21329963156393744,y:.39082647364918743},{x:.21510775104315333,y:.39025382151681987},{x:.2168404136401385,y:.3894823898342746},{x:.21930272871556003,y:.3889252240779052},{x:.22170947225776405,y:.3881629808537447},{x:.22359456811709633,y:.38795407868297094},{x:.22544443694348562,y:.38753549554788497},{x:.30544443694348566,y:.37753549554788496},{x:.30933066171136914,y:.37743373006124875},{x:.3132134481214367,y:.3772411973248817},{x:.31373545479679327,y:.3773183852372503},{x:.314262956584918,y:.37730457196617717},{x:.3180943620951528,y:.37796292671622445},{x:.321940103126635,y:.37853158749346005},{x:.39912055139763536,y:.39782669956121014},{x:.3920145202755848,y:.3793136184800785},{x:.3919728818872528,y:.3791621799808353},{x:.39190347676812315,y:.3790212888743934},{x:.33928123709710245,y:.23902627390054626},{x:.29593066247424293,y:.13853176000209894},{x:.2601678276974797,y:.06104561798577861},{x:.25727396725620644,y:.05271224015242973},{x:.25606147289685455,y:.04397442167208486},{x:.2565769400976792,y:.035167952008718584},{x:.2588005597432301,y:.02663125885276897},{x:.2626468793775489,y:.018692402534786497},{x:.2679680870941297,y:.011656468850909336},{x:.274559691864592,y:.005793844786811796},{x:.2821683820142214,y:.0013298276974796769},{x:.29050175984757026,y:-.0015640327437935753},{x:.29923957832791515,y:-.002776527103145486},{x:.30804604799128144,y:-.002261059902320825},{x:.31658274114723106,y:-3744025676995222e-20},{x:.32452159746521353,y:.003808879377548882},{x:.3315575311490907,y:.009130087094129706},{x:.33742015521318824,y:.015721691864591977},{x:.34188417230252033,y:.023330382014221395},{x:.3778841723025203,y:.10133038201422136},{x:.3780704961344211,y:.10186693411204945},{x:.37834550457920557,y:.10236389998544072},{x:.42234550457920556,y:.2043638999854408},{x:.4226728981736059,y:.20538920106595157},{x:.42314852323187685,y:.20635471112560658},{x:.47609350933819694,y:.3472083534084579},{x:.5496013805841499,y:.5387157021808093},{x:.5512752235949963,y:.542063388202502},{x:.5520259437659378,y:.5440252139743784},{x:.5529745491659372,y:.5458993775022888},{x:.553598518494472,y:.5481347580495968},{x:.5544279630456541,y:.5503023109672317},{x:.5547815251174404,y:.5523728990468965},{x:.5553462721645,y:.554396114781092},{x:.555522150986547,y:.5567102734952235},{x:.5559127893965689,y:.5589979940959194},{x:.5558556061770612,y:.5610977729446709},{x:.5560147919588762,y:.5631922898391183},{x:.5557358213499382,y:.5654962948984841},{x:.5556726416037749,y:.5678162673625252},{x:.5552069106120301,y:.5698645436567753},{x:.5549544177082778,y:.5719498706018395},{x:.5349544177082779,y:.6619498706018395},{x:.5345092452033302,y:.663307558548854},{x:.5342480120020212,y:.6647122835522489},{x:.5331378863550271,y:.6674899313564284},{x:.5322058990004909,y:.6703323081518522},{x:.5315044085816177,y:.6715770596583215},{x:.5309741466497647,y:.6729038291953012},{x:.5293434595512297,y:.6754115305058349},{x:.5278748598680685,y:.6780174701150343},{x:.5269440094186665,y:.6791014500786302},{x:.5261650964249364,y:.6802992771399491},{x:.4861650964249363,y:.7302992771399491},{x:.4855393928217795,y:.7309407996522789},{x:.48502142797480674,y:.7316720783612058},{x:.48246447922773295,y:.7340934525762789},{x:.48000567043073006,y:.7366144244690945},{x:.4792668347133476,y:.7371215515888083},{x:.4786161570168623,y:.7377377290536072},{x:.47563595264764597,y:.7396137412876539},{x:.4727325719538572,y:.7416065836124539},{x:.4719089971645242,y:.7419598267287414},{x:.4711506117974981,y:.7424372235949962},{x:.4111506117974981,y:.7724372235949962},{x:.40814803697660645,y:.7735862009991664},{x:.4052110607504687,y:.7748937847545917},{x:.4040364518244048,y:.77515955677446},{x:.40291168903276836,y:.7755899630456542},{x:.39974265347336024,y:.7761310898824948},{x:.39660701348596056,y:.7768405731449995},{x:.3166070134859606,y:.7868395731449994},{x:.31542693671630134,y:.7868704603456931},{x:.31426350899694466,y:.7870703881908964},{x:.3110259999999998,y:.7869856499834279},{x:.3077884910030554,y:.7870703881908964},{x:.3066250632836987,y:.7868704603456931},{x:.30544498651403945,y:.7868395731449994},{x:.22544498651403946,y:.7768405731449995},{x:.22359484289355938,y:.7764219517671516},{x:.22170947225776405,y:.7762130191462554},{x:.21930299190993624,y:.775450859278766},{x:.2168409392495313,y:.7748937847545917},{x:.21510801459933976,y:.7741222619544408},{x:.21329963156393744,y:.7735495263508126},{x:.14329963156393744,y:.7435495263508126},{x:.1396745119432796,y:.741554655854006},{x:.13602533951411788,y:.7396041325536146},{x:.13581237417673678,y:.7394293564180442},{x:.1355710052680468,y:.7392965332935194},{x:.13240472123200803,y:.7366327679198006},{x:.12920619484660534,y:.7340078051533947},{x:.07920619484660535,y:.6840078051533947},{x:.07757279404935197,y:.6820175005232432},{x:.0757819518014975,y:.6801675830308751},{x:.07478119941633177,y:.6786159326208956},{x:.07360986744638545,y:.6771886604858821},{x:.07239614115864686,y:.6749179383135936},{x:.07100061044171635,y:.6727541904763045},{x:.07032179921115676,y:.6710371174887846},{x:.06945142103699209,y:.669408754456429},{x:.06870401207934061,y:.666944877321649},{x:.06775742235616294,y:.664550450755382},{x:.04775742235616295,y:.5945504507553819},{x:.0470974043554446,y:.590925940955322},{x:.04632014162646953,y:.5873247525817227},{x:.046308257010348054,y:.5865923132620157},{x:.04617702144416433,y:.5858716289848723},{x:.0462367922883029,y:.5821879999999999},{x:.04617702144416433,y:.5785043710151274}],[{x:.13782670643108905,y:.5821879999999999},{x:.15109114488080894,y:.6286135345740196},{x:.18671787059591238,y:.6642402602891231},{x:.24291204200407931,y:.688323476606909},{x:.311026,y:.696836869931924},{x:.377796042530131,y:.6884914492411893},{x:.4220611757635009,y:.6663588826245044},{x:.4493630453483168,y:.6322315456434845},{x:.46363172164975686,y:.5680225022870041},{x:.4540425513192988,y:.5488441616260881},{x:.42235697647551157,y:.5171585867823008},{x:.37255000597497323,y:.48395393978194207},{x:.30826669745594837,y:.4678831126521858},{x:.24291230161158606,y:.4760524121327311},{x:.1867178705959123,y:.500135739710877},{x:.15109114488080894,y:.5357624654259804},{x:.13782670643108905,y:.5821879999999999}]],"!":[[{x:.20646600000000004,y:.05103000000000002},{x:.20733066238185466,y:.04225093550927423},{x:.20989142103699213,y:.03380924554357098},{x:.2140498674463855,y:.026029339514117927},{x:.21964619484660539,y:.019210194846605383},{x:.22646533951411793,y:.013613867446385479},{x:.23424524554357098,y:.009455421036992116},{x:.24268693550927425,y:.006894662381854655},{x:.251466,y:.0060300000000000215},{x:.350587,y:.0060300000000000215},{x:.3593660644907258,y:.006894662381854655},{x:.36780775445642905,y:.009455421036992116},{x:.3755876604858821,y:.013613867446385479},{x:.38240680515339465,y:.019210194846605383},{x:.3880031325536145,y:.026029339514117927},{x:.3921615789630079,y:.03380924554357098},{x:.39472233761814535,y:.04225093550927425},{x:.39558699999999997,y:.05103000000000002},{x:.39472233761814535,y:.05980906449072579},{x:.3921615789630079,y:.06825075445642906},{x:.3880031325536145,y:.07603066048588211},{x:.38240680515339465,y:.08284980515339466},{x:.3755876604858821,y:.08844613255361455},{x:.36780775445642905,y:.09260457896300792},{x:.3593660644907258,y:.09516533761814538},{x:.350587,y:.09603000000000002},{x:.251466,y:.09603000000000002},{x:.24268693550927425,y:.09516533761814538},{x:.23424524554357098,y:.09260457896300792},{x:.22646533951411793,y:.08844613255361455},{x:.21964619484660539,y:.08284980515339466},{x:.2140498674463855,y:.07603066048588211},{x:.20989142103699213,y:.06825075445642906},{x:.20733066238185466,y:.05980906449072579},{x:.20646600000000004,y:.05103000000000002}],[{x:.25602600000000003,y:.25043400000000005},{x:.25689066238185465,y:.24165493550927428},{x:.2594514210369921,y:.233213245543571},{x:.2636098674463855,y:.22543333951411795},{x:.26920619484660535,y:.2186141948466054},{x:.27602533951411795,y:.2130178674463855},{x:.283805245543571,y:.20885942103699215},{x:.2922469355092743,y:.20629866238185468},{x:.301026,y:.20543400000000006},{x:.3098050644907258,y:.20629866238185468},{x:.3182467544564291,y:.20885942103699215},{x:.32602666048588214,y:.2130178674463855},{x:.3328458051533947,y:.2186141948466054},{x:.33844213255361455,y:.22543333951411795},{x:.34260057896300794,y:.233213245543571},{x:.3451613376181454,y:.24165493550927428},{x:.346026,y:.25043400000000005},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.25043400000000005}]],\'"\':[[{x:.12004,y:.476978},{x:.12090466238185463,y:.4681989355092742},{x:.1234654210369921,y:.459757245543571},{x:.12762386744638546,y:.4519773395141179},{x:.13322019484660536,y:.44515819484660535},{x:.1400393395141179,y:.4395618674463855},{x:.14781924554357095,y:.4354034210369921},{x:.15626093550927422,y:.43284266238185465},{x:.16504,y:.43197800000000003},{x:.17381906449072576,y:.43284266238185465},{x:.18226075445642903,y:.4354034210369921},{x:.19004066048588208,y:.4395618674463855},{x:.19685980515339463,y:.44515819484660535},{x:.20245613255361453,y:.4519773395141179},{x:.2066145789630079,y:.459757245543571},{x:.20917533761814536,y:.4681989355092742},{x:.21004,y:.476978},{x:.21004,y:.729004},{x:.20917533761814536,y:.7377830644907257},{x:.2066145789630079,y:.746224754456429},{x:.20245613255361453,y:.7540046604858821},{x:.19685980515339463,y:.7608238051533946},{x:.19004066048588208,y:.7664201325536145},{x:.18226075445642903,y:.7705785789630079},{x:.17381906449072576,y:.7731393376181454},{x:.16504,y:.774004},{x:.15626093550927422,y:.7731393376181454},{x:.14781924554357095,y:.7705785789630079},{x:.1400393395141179,y:.7664201325536145},{x:.13322019484660536,y:.7608238051533946},{x:.12762386744638546,y:.7540046604858821},{x:.1234654210369921,y:.746224754456429},{x:.12090466238185463,y:.7377830644907257},{x:.12004,y:.729004},{x:.12004,y:.476978}],[{x:.392013,y:.476978},{x:.3928776623818546,y:.4681989355092742},{x:.39543842103699206,y:.459757245543571},{x:.39959686744638545,y:.4519773395141179},{x:.4051931948466053,y:.44515819484660535},{x:.4120123395141179,y:.4395618674463855},{x:.419792245543571,y:.4354034210369921},{x:.42823393550927424,y:.43284266238185465},{x:.437013,y:.43197800000000003},{x:.4457920644907258,y:.43284266238185465},{x:.45423375445642905,y:.4354034210369921},{x:.4620136604858821,y:.4395618674463855},{x:.46883280515339465,y:.44515819484660535},{x:.4744291325536145,y:.4519773395141179},{x:.4785875789630079,y:.459757245543571},{x:.48114833761814535,y:.4681989355092742},{x:.48201299999999997,y:.476978},{x:.48201299999999997,y:.729004},{x:.48114833761814535,y:.7377830644907257},{x:.4785875789630079,y:.746224754456429},{x:.4744291325536145,y:.7540046604858821},{x:.46883280515339465,y:.7608238051533946},{x:.4620136604858821,y:.7664201325536145},{x:.45423375445642905,y:.7705785789630079},{x:.4457920644907258,y:.7731393376181454},{x:.437013,y:.774004},{x:.42823393550927424,y:.7731393376181454},{x:.419792245543571,y:.7705785789630079},{x:.4120123395141179,y:.7664201325536145},{x:.4051931948466053,y:.7608238051533946},{x:.39959686744638545,y:.7540046604858821},{x:.39543842103699206,y:.746224754456429},{x:.3928776623818546,y:.7377830644907257},{x:.392013,y:.729004},{x:.392013,y:.476978}]],"#":[[{x:-.04343582416242281,y:.17932596542766122},{x:-.043155600373289436,y:.1705088746946064},{x:-.04116063193533153,y:.16191587083690517},{x:-.037527584366828626,y:.15387717817379684},{x:-.03239607364840174,y:.1467017191561739},{x:-.025963300859175642,y:.14066524265003977},{x:-.01847647384989975,y:.13599972706223024},{x:-.010223307183879607,y:.1328844655403335},{x:-.0015209654276611437,y:.13143917583757725},{x:.007296125305393629,y:.13171939962671061},{x:.11028337660265361,y:.14517801654688708},{x:.10171449233133083,y:.05447855391336175},{x:.10174959121806887,y:.04565708110917159},{x:.10350499965956604,y:.03701195788446062},{x:.10691325829386003,y:.02887541147651351},{x:.11184338965300836,y:.02156012480075985},{x:.11810593155372849,y:.015347220221688843},{x:.1254602180228497,y:.01047545617803717},{x:.13362362795569505,y:.007132051829885598},{x:.14228244608663826,y:.005445492331330834},{x:.15110391889082841,y:.0054805912180688685},{x:.1597490421155394,y:.0072359996595660475},{x:.1678855885234865,y:.010644258293860037},{x:.17520087519924016,y:.015574389653008364},{x:.18141377977831116,y:.02183693155372849},{x:.18628554382196283,y:.029191218022849703},{x:.18962894817011441,y:.03735462795569504},{x:.19131550766866917,y:.04601344608663827},{x:.2018142041879224,y:.1571394809935999},{x:.36570083500909,y:.17855657247605955},{x:.35397849233133083,y:.05447855391336175},{x:.35401359121806886,y:.04565708110917159},{x:.35576899965956604,y:.03701195788446062},{x:.35917725829386,y:.02887541147651351},{x:.3641073896530084,y:.02156012480075985},{x:.3703699315537285,y:.015347220221688843},{x:.37772421802284967,y:.01047545617803717},{x:.38588762795569503,y:.007132051829885598},{x:.39454644608663825,y:.005445492331330834},{x:.4033679188908284,y:.0054805912180688685},{x:.4120130421155394,y:.0072359996595660475},{x:.4201495885234865,y:.010644258293860037},{x:.42746487519924015,y:.015574389653008364},{x:.4336777797783111,y:.02183693155372849},{x:.4385495438219628,y:.029191218022849703},{x:.44189294817011443,y:.03735462795569504},{x:.44357950766866916,y:.04601344608663827},{x:.45723166259435877,y:.19051803692277236},{x:.5748861253053936,y:.20589339962671058},{x:.5834791291630949,y:.20788836806466848},{x:.5915178218262032,y:.2115214156331714},{x:.5986932808438261,y:.21665292635159827},{x:.6047297573499603,y:.22308569914082438},{x:.6093952729377698,y:.23057252615010027},{x:.6125105344596665,y:.2388256928161204},{x:.6139558241624228,y:.24752803457233888},{x:.6136756003732894,y:.25634512530539366},{x:.6116806319353315,y:.2649381291630949},{x:.6080475843668286,y:.2729768218262032},{x:.6029160736484017,y:.2801522808438262},{x:.5964833008591757,y:.2861887573499603},{x:.5889964738498997,y:.29085427293776983},{x:.5807433071838796,y:.29396953445966656},{x:.5720409654276611,y:.2954148241624228},{x:.5632238746946063,y:.2951346003732895},{x:.4659139564059225,y:.28241791072205386},{x:.48521785958998953,y:.48674482074743597},{x:.6064180682130128,y:.5025833921657807},{x:.6150110746232834,y:.5045783496089273},{x:.6230497719348954,y:.5082113868918628},{x:.6302252375183169,y:.5133428884292346},{x:.6362617222552247,y:.5197756534947408},{x:.640927247422479,y:.5272624745344501},{x:.6440425195043586,y:.5355156372144642},{x:.645487820341822,y:.544217977121417},{x:.6452076078342193,y:.5530350682130128},{x:.6432126503910727,y:.5616280746232835},{x:.6395796131081373,y:.5696667719348955},{x:.6344481115707654,y:.576842237518317},{x:.6280153465052593,y:.5828787222552247},{x:.6205285254655499,y:.587544247422479},{x:.6122753627855358,y:.5906595195043587},{x:.603573022878583,y:.592104820341822},{x:.5947559317869872,y:.5918246078342193},{x:.493900150869001,y:.5786446677402959},{x:.5066445076686692,y:.7135404460866382},{x:.5066094087819312,y:.7223619188908285},{x:.5048540003404339,y:.7310070421155394},{x:.50144574170614,y:.7391435885234865},{x:.4965156103469916,y:.7464588751992401},{x:.4902530684462715,y:.7526717797783111},{x:.4828987819771503,y:.7575435438219629},{x:.47473537204430494,y:.7608869481701144},{x:.4660765539133617,y:.7625735076686692},{x:.45725508110917157,y:.7625384087819311},{x:.44860995788446056,y:.760783000340434},{x:.4404734114765135,y:.7573747417061399},{x:.43315812480075977,y:.7524446103469916},{x:.4269452202216888,y:.7461820684462716},{x:.42207345617803715,y:.7388277819771503},{x:.41873005182988554,y:.730664372044305},{x:.4170434923313308,y:.7220055539133617},{x:.40236933467780645,y:.5666833238969633},{x:.23848272425781383,y:.5452664483557571},{x:.25438050766866915,y:.7135404460866382},{x:.2543454087819311,y:.7223619188908285},{x:.25259000034043394,y:.7310070421155394},{x:.24918174170614,y:.7391435885234865},{x:.2442516103469916,y:.7464588751992401},{x:.23798906844627152,y:.7526717797783111},{x:.2306347819771503,y:.7575435438219629},{x:.22247137204430495,y:.7608869481701144},{x:.21381255391336174,y:.7625735076686692},{x:.20499108110917158,y:.7625384087819311},{x:.1963459578844606,y:.760783000340434},{x:.18820941147651346,y:.7573747417061399},{x:.1808941248007598,y:.7524446103469916},{x:.17468122022168883,y:.7461820684462716},{x:.16980945617803714,y:.7388277819771503},{x:.16646605182988555,y:.730664372044305},{x:.16477949233133082,y:.7220055539133617},{x:.14695190806661926,y:.5333051045124245},{x:.02716793178698713,y:.5176516078342193},{x:.01857492537671658,y:.5156566503910727},{x:.01053622806510461,y:.5120236131081373},{x:.0033607624816830023,y:.5068921115707654},{x:-.0026757222552247634,y:.5004593465052593},{x:-.0073412474224789775,y:.4929725254655499},{x:-.010456519504358698,y:.48471936278553585},{x:-.011901820341822023,y:.476017022878583},{x:-.011621607834219276,y:.4671999317869871},{x:-.00962665039107264,y:.45860692537671655},{x:-.005993613108137223,y:.45056822806510455},{x:-.0008621115707654614,y:.44339276248168297},{x:.005570653494740684,y:.4373562777447752},{x:.013057474534450029,y:.432690752577521},{x:.02131063721446411,y:.42957548049564126},{x:.03001297712141698,y:.42813017965817796},{x:.03883006821301287,y:.4284103921657807},{x:.13826961678760774,y:.4414052575195645},{x:.1189656704142173,y:.23707789034616855},{x:-.004366125305393629,y:.2209606003732895},{x:-.012959129163094893,y:.21896563193533158},{x:-.0209978218262032,y:.2153325843668287},{x:-.028173280843826164,y:.2102010736484018},{x:-.034209757349960276,y:.2037683008591757},{x:-.03887527293776982,y:.1962814738498998},{x:-.041990534459666565,y:.18802830718387967},{x:-.04343582416242281,y:.17932596542766122}],[{x:.2104964979994861,y:.24903935479288136},{x:.22980043297880234,y:.4533666013628972},{x:.39368704339879496,y:.4747834769041034},{x:.3743831288206537,y:.27045644627534104},{x:.2104964979994861,y:.24903935479288136}]],$:[[{x:.030517420733400163,y:.165091535964518},{x:.03086584266660257,y:.1562768767808978},{x:.032927224468652025,y:.14769956254897784},{x:.06950822446865203,y:.04228956254897785},{x:.0704003940010533,y:.04035550336969822},{x:.07109145007989037,y:.03834080913001754},{x:.07224350295250744,y:.03635998272422403},{x:.073203348392932,y:.034279214644477654},{x:.0744556913660193,y:.03255637151138059},{x:.07552651634405921,y:.03071520740954014},{x:.07704287290513265,y:.02899719639360223},{x:.07839021289928177,y:.02714366624511229},{x:.07995460247492134,y:.0256982470536212},{x:.08136404514878363,y:.02410136799351792},{x:.08318643266605391,y:.022712194567306505},{x:.08486948969354943,y:.02115713247420773},{x:.0866858072576693,y:.0200446838732511},{x:.08837970353582197,y:.01875345702162473},{x:.17373770353582196,y:-.03394954297837521},{x:.17475219432147746,y:-.03444582628601368},{x:.17568351020275566,y:-.03508468417701866},{x:.17870701554383397,y:-.03638050305696308},{x:.18166188368778688,y:-.037826008286632525},{x:.18275370138776084,y:-.03811483831561822},{x:.18379175728720304,y:-.038559730016208084},{x:.18700996854351615,y:-.03924079346911771},{x:.19019006380536974,y:-.04008205754340442},{x:.19131725047775072,y:-.0401523347177012},{x:.19242215448928965,y:-.04038616328932037},{x:.262121,y:-.048110644533924524},{x:.262121,y:-.08350199999999997},{x:.2629856623818546,y:-.09228106449072573},{x:.26554642103699205,y:-.100722754456429},{x:.26970486744638544,y:-.10850266048588206},{x:.2753011948466053,y:-.1153218051533946},{x:.2821203395141179,y:-.1209181325536145},{x:.28990024554357097,y:-.12507657896300786},{x:.29834193550927424,y:-.12763733761814533},{x:.307121,y:-.12850199999999995},{x:.3159000644907258,y:-.12763733761814533},{x:.32434175445642904,y:-.12507657896300786},{x:.3321216604858821,y:-.1209181325536145},{x:.33894080515339464,y:-.1153218051533946},{x:.3445371325536145,y:-.10850266048588206},{x:.3486955789630079,y:-.100722754456429},{x:.35125633761814534,y:-.09228106449072573},{x:.35212099999999996,y:-.08350199999999997},{x:.35212099999999996,y:-.05796857189257534},{x:.3537665284657676,y:-.05798865052825875},{x:.3565834008023822,y:-.05822276473922817},{x:.35816715833059226,y:-.05804234673933715},{x:.35976104048452195,y:-.05806179518994546},{x:.3625398346041163,y:-.05754422155704884},{x:.36534825494544937,y:-.05722429279787242},{x:.3668663832111493,y:-.05673836571308556},{x:.3684334335709129,y:-.056446489484502926},{x:.37105786033397337,y:-.05539674504422484},{x:.37374990266128777,y:-.05453506799769968},{x:.49568890266128773,y:-.0018330679976996528},{x:.4995437197067623,y:.0003036028478311586},{x:.5033988605511543,y:.0024396894158641644},{x:.5034014762743246,y:.0024419030290919073},{x:.503404473339876,y:.00244356426035406},{x:.5067683773534712,y:.005291217073469004},{x:.510132712931077,y:.008138360005776092},{x:.5101348465393426,y:.008141041387321917},{x:.510137461926978,y:.00814325539697476},{x:.5128811799638975,y:.011592456477016289},{x:.5156254207452635,y:.015041241667436683},{x:.5156269902452553,y:.015044287773311453},{x:.5156291234470946,y:.015046969478205698},{x:.5176472159618929,y:.018965167962033513},{x:.519665902312761,y:.02288306052976895},{x:.5684429023127611,y:.1458620605297689},{x:.5688122064775901,y:.14714915498994666},{x:.5693537919217377,y:.14837377040805427},{x:.5700262192706007,y:.15138021786244946},{x:.5708758841928585,y:.15434145989163614},{x:.5709869926090132,y:.15567587086110493},{x:.5712792610244494,y:.1569826137160382},{x:.5713522390683521,y:.16006247719363653},{x:.5716078682563359,y:.16313258119086366},{x:.5714565110896938,y:.16446302800441426},{x:.5714882307651191,y:.1658016809010868},{x:.5709589549987614,y:.16883660297565092},{x:.5706107247661352,y:.1718975865660398},{x:.570202718587728,y:.17317294089875004},{x:.5699726705538047,y:.1744920601570685},{x:.5455836705538047,y:.26233106015706853},{x:.5448796820390573,y:.26415145628779163},{x:.5443792359109676,y:.2660379863232085},{x:.5432925447356423,y:.2682555269445408},{x:.5424018225194911,y:.2705587850827968},{x:.5413562192793141,y:.27220686146627543},{x:.5404973453311464,y:.27395951015977},{x:.5389989139081434,y:.2759224384285429},{x:.5376759632977357,y:.2780076688235372},{x:.5363289272782685,y:.2794200908086057},{x:.5351446315541886,y:.28097150485378414},{x:.5332920437627642,y:.28260438653745124},{x:.5315877050081386,y:.28439145495451523},{x:.529991002048182,y:.2855139439563835},{x:.528526796368706,y:.2868045033815319},{x:.4553637963687061,y:.3395095033815319},{x:.4552094954443409,y:.33959910378534747},{x:.4550747122553104,y:.3397160246969866},{x:.45139660000367776,y:.341813199213456},{x:.44773515946955245,y:.3439393468807752},{x:.44756634322254935,y:.3439971230209339},{x:.4474113397164003,y:.34408550243429054},{x:.4433947629085852,y:.34542481622689836},{x:.43938888509457313,y:.34679579895012297},{x:.43921204103863115,y:.34681953052195974},{x:.439042773913178,y:.34687597206574233},{x:.35212099999999996,y:.3666493043587998},{x:.35212099999999996,y:.6320956693586206},{x:.3838005126074005,y:.6288356018928482},{x:.4577579663937751,y:.5527249728659002},{x:.46449612147708186,y:.5470313904751531},{x:.47221556762189953,y:.5427617575185425},{x:.48061965084199804,y:.5400801535961528},{x:.48938540693229315,y:.5390896312428609},{x:.49817597280212744,y:.5398282556772123},{x:.5066535319349293,y:.5422676419764202},{x:.5144922964874953,y:.5463140458930298},{x:.5213910271340998,y:.551811966393775},{x:.5270846095248467,y:.5585501214770818},{x:.5313542424814575,y:.5662695676218995},{x:.534035846403847,y:.5746736508419981},{x:.535026368757139,y:.5834394069322931},{x:.5342877443227877,y:.5922299728021274},{x:.5318483580235798,y:.6007075319349293},{x:.5278019541069703,y:.6085462964874953},{x:.5223040336062249,y:.6154450271340998},{x:.4369490336062249,y:.7032850271340998},{x:.435089451582588,y:.7048563301588934},{x:.43337550685970433,y:.706585327551969},{x:.43172842132509603,y:.7076963215886295},{x:.4302108785229181,y:.7089786095248467},{x:.4280804818333404,y:.7101569339468108},{x:.4260621594195314,y:.7115183351118896},{x:.4242299779872524,y:.7122866512623272},{x:.42249143237810044,y:.7132482424814575},{x:.4201720909726226,y:.7139883059538676},{x:.4179269538663623,y:.7149297930076584},{x:.4159800862413552,y:.7153259053130885},{x:.41408734915800194,y:.715929846403847},{x:.4116681940261354,y:.716203208702491},{x:.4092825215873294,y:.7166886008255086},{x:.35212099999999996,y:.7225709645831306},{x:.35212099999999996,y:.7597659999999999},{x:.35125633761814534,y:.7685450644907257},{x:.3486955789630079,y:.776986754456429},{x:.3445371325536145,y:.7847666604858821},{x:.33894080515339464,y:.7915858051533946},{x:.3321216604858821,y:.7971821325536145},{x:.32434175445642904,y:.8013405789630078},{x:.3159000644907258,y:.8039013376181453},{x:.307121,y:.804766},{x:.29834193550927424,y:.8039013376181453},{x:.28990024554357097,y:.8013405789630078},{x:.2821203395141179,y:.7971821325536145},{x:.2753011948466053,y:.7915858051533946},{x:.26970486744638544,y:.7847666604858821},{x:.26554642103699205,y:.776986754456429},{x:.2629856623818546,y:.7685450644907257},{x:.262121,y:.7597659999999999},{x:.262121,y:.7318326623736131},{x:.23856652158732947,y:.7342566008255086},{x:.23743405616423266,y:.7342615520061975},{x:.23631438427367413,y:.7344313675125375},{x:.2330314335362298,y:.7342808004350606},{x:.22974506326706257,y:.734295168567351},{x:.22863339192208898,y:.7340790915684273},{x:.22750210485113245,y:.7340272069677483},{x:.2243116092711877,y:.7332390610779145},{x:.22108558260167874,y:.7326120140964958},{x:.22003742624118275,y:.7321832126358507},{x:.21893799871753236,y:.7319116218242595},{x:.21596256725097532,y:.7305161851266182},{x:.21292085857685591,y:.729271820095334},{x:.21197649726195836,y:.7286467727726252},{x:.21095117966878213,y:.7281659128327016},{x:.2083051564782311,y:.7262168111769735},{x:.20556465695803808,y:.7244029483461277},{x:.204760381964467,y:.7236056753794367},{x:.20384857668186554,y:.7229340254890024},{x:.10629557668186554,y:.6350940254890024},{x:.10393291169686979,y:.6325042238563513},{x:.10146752815288923,y:.6300120075116347},{x:.10096488682836192,y:.6292508655939548},{x:.10035013880638408,y:.6285770182897039},{x:.09853811700104832,y:.6255760458964971},{x:.09660631239978806,y:.6226507443205297},{x:.09626182060918942,y:.6218061670735107},{x:.09579034588565258,y:.6210253361666956},{x:.09459860224176168,y:.6177285186990383},{x:.0932746147506803,y:.6144825495908574},{x:.056695614750680294,y:.49150554959085735},{x:.05654965816703397,y:.490750439567249},{x:.05628361804350595,y:.49002883224693095},{x:.05571374572525952,y:.48642582571377374},{x:.055021470477783566,y:.4828443224653027},{x:.055025633066628665,y:.4820752469521588},{x:.05490548343396577,y:.4813156032607913},{x:.055049472757300266,y:.47767065091379934},{x:.05506921600663437,y:.4740229090450286},{x:.05522333780201598,y:.4732694231830167},{x:.05525369594322076,y:.472500935801646},{x:.05610601347919053,y:.46895411111540136},{x:.056837016503334954,y:.46538031130067065},{x:.05713517469108906,y:.46467137112890816},{x:.05731487395982006,y:.46392357259662753},{x:.08169987395982006,y:.39365157259662753},{x:.08192222202041206,y:.3931695328553223},{x:.08205835369770847,y:.3926564352635495},{x:.08376780756696771,y:.3891683934837906},{x:.08539480756850773,y:.3856411369034641},{x:.08570692456181836,y:.38521173737536313},{x:.08594054088151196,y:.3847350567827023},{x:.08829763126802886,y:.38164753465350854},{x:.09058150254284453,y:.37850546527353984},{x:.0909713939878581,y:.378145207541698},{x:.09129351720579659,y:.37772326251599964},{x:.09420766244788897,y:.3751549117812935},{x:.09706063710369874,y:.372518777565862},{x:.09751331969083687,y:.37224150613287915},{x:.09791157079240381,y:.3718905117848512},{x:.17107757079240382,y:.3191875117848513},{x:.17123114354048857,y:.3190983419119289},{x:.17136528774468962,y:.3189819753030134},{x:.17504412834709762,y:.3168843854977816},{x:.17870637355344754,y:.314757953928811},{x:.1788743916234626,y:.3147004579868701},{x:.17902866028359976,y:.31461249756570947},{x:.183046032465951,y:.31327291855818423},{x:.1870527548771027,y:.3119018143721617},{x:.18722876142884332,y:.31187820189800686},{x:.18739722608682208,y:.3118220279342577},{x:.262121,y:.2948235482063542},{x:.262121,y:.04244038202745839},{x:.212402420161311,y:.04795051974434915},{x:.14928483997433578,y:.08692151049617265},{x:.11795277553134796,y:.17720643745102208},{x:.114257651607068,y:.18521678535552225},{x:.10907078710071823,y:.1923523337548876},{x:.10259151030645056,y:.1983388675257922},{x:.09506881619784838,y:.20294632753270694},{x:.08679179769072982,y:.20599765167145945},{x:.07807853596451803,y:.20737557926659977},{x:.06926387678089782,y:.20702715733339738},{x:.0606865625489779,y:.20496577553134793},{x:.052676214644477706,y:.20127065160706795},{x:.04554066624511235,y:.1960837871007182},{x:.039554132474207776,y:.18960451030645054},{x:.034946672467293015,y:.18208181619784836},{x:.03189534832854049,y:.1738047976907298},{x:.030517420733400163,y:.165091535964518}],[{x:.14709211773983194,y:.4797371545422716},{x:.17592903295677773,y:.5766856037244347},{x:.24922570721126042,y:.6426843927572041},{x:.262121,y:.6413573671491031},{x:.262121,y:.3871228845247169},{x:.21626819752335621,y:.3975536737173561},{x:.16206100150816494,y:.4366002507010456},{x:.14709211773983194,y:.4797371545422716}],[{x:.35212099999999996,y:.034163101195078524},{x:.35212099999999996,y:.2743499680404371},{x:.4101709471377665,y:.26114452085874473},{x:.4630938273127818,y:.2230200535785049},{x:.47920731446793274,y:.1649859973145621},{x:.44287681685863156,y:.07338773859643172},{x:.35212099999999996,y:.034163101195078524}]],"\'":[[{x:.25602600000000003,y:.476978},{x:.25689066238185465,y:.4681989355092742},{x:.2594514210369921,y:.459757245543571},{x:.2636098674463855,y:.4519773395141179},{x:.26920619484660535,y:.44515819484660535},{x:.27602533951411795,y:.4395618674463855},{x:.283805245543571,y:.4354034210369921},{x:.2922469355092743,y:.43284266238185465},{x:.301026,y:.43197800000000003},{x:.3098050644907258,y:.43284266238185465},{x:.3182467544564291,y:.4354034210369921},{x:.32602666048588214,y:.4395618674463855},{x:.3328458051533947,y:.44515819484660535},{x:.33844213255361455,y:.4519773395141179},{x:.34260057896300794,y:.459757245543571},{x:.3451613376181454,y:.4681989355092742},{x:.346026,y:.476978},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.476978}]],"(":[[{x:.14398102142772873,y:.343473372436119},{x:.14438344127795402,y:.34024506484177663},{x:.14461855620935057,y:.33700027938992067},{x:.15480555620935058,y:.27783527938992064},{x:.15553530200183258,y:.27518493680242373},{x:.1560666158259812,y:.2724877993619115},{x:.1764416158259812,y:.20487079936191147},{x:.17757136816824137,y:.2021290142392397},{x:.17852197521392682,y:.19932008699588913},{x:.2090839752139268,y:.13170208699588917},{x:.21040800505224358,y:.12940389577393302},{x:.21154775445201235,y:.12700896170152925},{x:.25229575445201236,y:.05939296170152925},{x:.2531150427152032,y:.05829379345186112},{x:.2537782786760274,y:.05709399256856861},{x:.29452927867602746,y:-.0020700074314313824},{x:.29560111146026063,y:-.0033391000809501682},{x:.29650963843516415,y:-.004729783512322571},{x:.3372576384351641,y:-.05544378351232261},{x:.3386866074193021,y:-.05690267270426387},{x:.3399537097957662,y:-.05850416001284604},{x:.38070370979576623,y:-.10073716001284601},{x:.38742176905533504,y:-.10645444032360908},{x:.3951261287468799,y:-.11075123635207199},{x:.40352071464810957,y:-.11346242463653189},{x:.41228292753057777,y:-.11448381573166892},{x:.42107604046711683,y:-.11377615815049966},{x:.4295621390588101,y:-.11136664677700951},{x:.4374151072958377,y:-.10734787778201216},{x:.444333160012846,y:-.10187429020423372},{x:.4500504403236091,y:-.09515623094466494},{x:.45434723635207197,y:-.08745187125312004},{x:.4570584246365319,y:-.07905728535189037},{x:.45807981573166895,y:-.07029507246942218},{x:.4573721581504997,y:-.06150195953288313},{x:.45496264677700954,y:-.053015860941189874},{x:.45094387778201217,y:-.04516289270416226},{x:.44547029020423373,y:-.03824483998715393},{x:.4061377413616867,y:.0025191240684850026},{x:.3677075745656829,y:.050348403515145926},{x:.3286739379437331,y:.10701906379590062},{x:.2900025757951927,y:.1711891536907596},{x:.2617573982317254,y:.23368121626802973},{x:.24303344075060918,y:.2958190240226623},{x:.23462816944303005,y:.34463593546989096},{x:.24303340667749923,y:.39345182392970596},{x:.26175739639474455,y:.45558881969516635},{x:.2900026404789191,y:.5180819536434618},{x:.328674029726828,y:.5822520885061939},{x:.36770768599197223,y:.6389237351633864},{x:.4061420841180472,y:.6867582808236831},{x:.4454798975405431,y:.7275528000242046},{x:.45095135740921277,y:.7344725356602282},{x:.45496771125722263,y:.7423267393839987},{x:.45737461285859093,y:.7508135785511003},{x:.458079566334583,y:.759606908691815},{x:.4570554807184589,y:.768368807060192},{x:.4543417110461325,y:.7767625588156633},{x:.4500425459642118,y:.7844655967855365},{x:.4443231999757953,y:.791181897540543},{x:.4374034643397718,y:.7966533574092127},{x:.4295492606160011,y:.8006697112572226},{x:.42106242144889966,y:.8030766128585909},{x:.41226909130818484,y:.803781566334583},{x:.403507192939808,y:.8027574807184589},{x:.39511344118433667,y:.8000437110461325},{x:.3874104032144634,y:.7957445459642117},{x:.38069410245945684,y:.7900251999757952},{x:.33994410245945683,y:.7477661999757953},{x:.338681775527778,y:.7461697396410558},{x:.3372576384351641,y:.7447157835123226},{x:.29650963843516415,y:.6940017835123226},{x:.2956010143988682,y:.6926109515089496},{x:.29452907712829884,y:.6913417148135671},{x:.2537780771282988,y:.6321767148135672},{x:.25311493656839296,y:.6309770641401381},{x:.25229575445201236,y:.6298780382984708},{x:.21154775445201235,y:.5622620382984707},{x:.21040795156345282,y:.5598669918310725},{x:.2090838723444427,y:.5575686854051248},{x:.17852187234444272,y:.48994968540512485},{x:.17757135012625538,y:.48714095747585867},{x:.17644166886939822,y:.4843993766680373},{x:.1560666688693982,y:.4167833766680374},{x:.15553533856931018,y:.4140862136984408},{x:.15480557779123924,y:.4114358459543075},{x:.14461857779123924,y:.3522718459543075},{x:.14438345368873493,y:.3490270611669966},{x:.14398102471397584,y:.3457987547100726},{x:.14406527252602844,y:.3446360634540339},{x:.14398102142772873,y:.343473372436119}]],")":[[{x:.14397318426833106,y:-.07029507246942218},{x:.14499457536346808,y:-.07905728535189037},{x:.14770576364792798,y:-.08745187125312004},{x:.1520025596763909,y:-.09515623094466495},{x:.15771983998715397,y:-.10187429020423372},{x:.16463789270416226,y:-.10734787778201214},{x:.1724908609411899,y:-.11136664677700951},{x:.18097695953288315,y:-.11377615815049966},{x:.1897700724694222,y:-.11448381573166892},{x:.19853228535189038,y:-.11346242463653189},{x:.20692687125312006,y:-.11075123635207199},{x:.21463123094466496,y:-.10645444032360907},{x:.22134929020423375,y:-.10073716001284601},{x:.2620992902042337,y:-.05850416001284604},{x:.2633660586938147,y:-.05690309470300352},{x:.26479468609075496,y:-.05544462417080616},{x:.30554468609075497,y:-.004730624170806122},{x:.3064541047100432,y:-.003338648753719708},{x:.307526891803669,y:-.002068307996824087},{x:.348273891803669,y:.05709569200317591},{x:.3489362195699084,y:.058293979727073175},{x:.3497544895549002,y:.059391707275619196},{x:.39050548955490016,y:.12700770727561922},{x:.39164563057902163,y:.12940326331913213},{x:.3929700247860732,y:.13170208699588917},{x:.42353202478607316,y:.19932008699588913},{x:.4244827292530259,y:.20212930210713742},{x:.4256125601984483,y:.2048713835354543},{x:.4459865601984483,y:.27248838353545435},{x:.4465177787005257,y:.27518522990297933},{x:.4472474437906494,y:.27783527938992064},{x:.4574344437906494,y:.33700027938992067},{x:.45766955872204595,y:.3402450648417768},{x:.4580719785722712,y:.34347337243611903},{x:.45798772747397154,y:.3446360634540339},{x:.4580719752860241,y:.3457987547100726},{x:.45766954631126505,y:.34902706116699656},{x:.45743442220876074,y:.3522718459543075},{x:.44724742220876074,y:.4114358459543075},{x:.4465177421348676,y:.414085920594514},{x:.44598650715958776,y:.4167827924880124},{x:.42561250715958776,y:.4843987924880123},{x:.42448274729464536,y:.48714066960378194},{x:.42353212765555726,y:.48994968540512485},{x:.3929701276555573,y:.5575686854051248},{x:.39164568407140216,y:.5598676242877579},{x:.39050548955490016,y:.5622632927243807},{x:.3497544895549002,y:.6298792927243808},{x:.3489363257182038,y:.6309768778726063},{x:.34827409333092635,y:.6321750153799588},{x:.3075270933309263,y:.6913400153799587},{x:.3064542017711834,y:.692610500189881},{x:.30554468609075497,y:.6940026241708062},{x:.26479468609075496,y:.7447166241708062},{x:.26337089070969094,y:.7461701617493295},{x:.2621088975405431,y:.7477661999757953},{x:.2213588975405431,y:.7900251999757952},{x:.21464259678553657,y:.7957445459642117},{x:.20693955881566328,y:.8000437110461325},{x:.19854580706019195,y:.8027574807184589},{x:.1897839086918151,y:.803781566334583},{x:.1809905785511003,y:.8030766128585909},{x:.17250373938399882,y:.8006697112572226},{x:.16464953566022822,y:.7966533574092127},{x:.15772980002420467,y:.791181897540543},{x:.15201045403578817,y:.7844655967855365},{x:.14771128895386743,y:.7767625588156633},{x:.14499751928154103,y:.7683688070601918},{x:.14397343366541698,y:.759606908691815},{x:.14467838714140904,y:.7508135785511002},{x:.14708528874277732,y:.7423267393839987},{x:.1511016425907872,y:.7344725356602282},{x:.15657310245945688,y:.7275528000242046},{x:.19591129092993145,y:.6867578918874246},{x:.23434697314436972,y:.6389240958672278},{x:.27337685298529213,y:.5822523693404118},{x:.3120516621801016,y:.518081284004684},{x:.34029647741491703,y:.4555890988936643},{x:.35901954136421654,y:.39345212569273014},{x:.36742483055696995,y:.344635935469891},{x:.359019507292604,y:.29581872226323463},{x:.3402964755778617,y:.23368093707349602},{x:.3120517268674457,y:.17118982332763816},{x:.27337694476991303,y:.10701878295300266},{x:.23434708457036935,y:.05034804280413771},{x:.1959156338111051,y:.0025195128948044543},{x:.15658270979576625,y:-.03824483998715393},{x:.1511091222179878,y:-.045162892704162266},{x:.14709035322299047,y:-.053015860941189874},{x:.1446808418495003,y:-.06150195953288312},{x:.14397318426833106,y:-.07029507246942218}]],"*":[[{x:.03611444520266741,y:.4654782574484574},{x:.03652686631141767,y:.45666636076295464},{x:.038650478626155074,y:.4481042415682919},{x:.04240367291655979,y:.4401209373034283},{x:.04764221603086716,y:.4330232418741738},{x:.05416479369500318,y:.42708391573544136},{x:.06172074690723879,y:.42253120385992987},{x:.07001970462305517,y:.4195400644118251},{x:.0787427425515426,y:.41822544520266736},{x:.08755463923704532,y:.41863786631141764},{x:.09611675843170807,y:.42076147862615504},{x:.25602600000000003,y:.47756000598755177},{x:.25602600000000003,y:.31805799999999995},{x:.25689066238185465,y:.30927893550927416},{x:.2594514210369921,y:.30083724554357094},{x:.2636098674463855,y:.29305733951411783},{x:.26920619484660535,y:.2862381948466053},{x:.27602533951411795,y:.2806418674463854},{x:.283805245543571,y:.276483421036992},{x:.2922469355092743,y:.2739226623818546},{x:.301026,y:.27305799999999997},{x:.3098050644907258,y:.2739226623818546},{x:.3182467544564291,y:.276483421036992},{x:.32602666048588214,y:.2806418674463854},{x:.3328458051533947,y:.2862381948466053},{x:.33844213255361455,y:.29305733951411783},{x:.34260057896300794,y:.30083724554357094},{x:.3451613376181454,y:.30927893550927416},{x:.346026,y:.31805799999999995},{x:.346026,y:.47756000598755177},{x:.505935241568292,y:.42076147862615504},{x:.5144973607629547,y:.41863786631141764},{x:.5233092574484575,y:.41822544520266736},{x:.5320322953769449,y:.4195400644118251},{x:.5403312530927612,y:.42253120385992987},{x:.5478872063049969,y:.42708391573544136},{x:.5544097839691329,y:.4330232418741738},{x:.5596483270834403,y:.4401209373034283},{x:.5634015213738449,y:.4481042415682919},{x:.5655251336885824,y:.45666636076295464},{x:.5659375547973327,y:.4654782574484574},{x:.5646229355881749,y:.4742012953769448},{x:.5616317961400701,y:.4825002530927612},{x:.5570790842645587,y:.4900562063049968},{x:.5511397581258262,y:.4965787839691328},{x:.5440420626965717,y:.5018173270834402},{x:.5360587584317081,y:.5055705213738448},{x:.37146215609131306,y:.5640339630732496},{x:.47696549129035026,y:.7165911114148321},{x:.48124783600971727,y:.7243035129909579},{x:.48394328176908086,y:.732703166943666},{x:.4849482440995321,y:.7414672792821342},{x:.48422410286230105,y:.7502590500841659},{x:.48179868639903156,y:.758740616528321},{x:.47776520210421775,y:.7665860367726678},{x:.4722786545173053,y:.7734938157169785},{x:.4655498885851679,y:.7791984912903502},{x:.45783748700904214,y:.7834808360097172},{x:.449437833056334,y:.7861762817690807},{x:.4406737207178658,y:.7871812440995319},{x:.431881949915834,y:.786457102862301},{x:.4234003834716789,y:.7840316863990314},{x:.4155549632273321,y:.7799982021042177},{x:.40864718428302144,y:.7745116545173052},{x:.40294250870964976,y:.7677828885851677},{x:.301026,y:.6204122684209616},{x:.19910949129035027,y:.7677828885851677},{x:.19340481571697854,y:.7745116545173052},{x:.18649703677266788,y:.7799982021042177},{x:.17865161652832107,y:.7840316863990314},{x:.17017005008416597,y:.786457102862301},{x:.1613782792821342,y:.7871812440995319},{x:.15261416694366597,y:.7861762817690807},{x:.14421451299095783,y:.7834808360097172},{x:.13650211141483212,y:.7791984912903502},{x:.12977334548269473,y:.7734938157169785},{x:.12428679789578226,y:.7665860367726678},{x:.12025331360096844,y:.758740616528321},{x:.11782789713769894,y:.7502590500841659},{x:.11710375590046794,y:.7414672792821342},{x:.11810871823091917,y:.732703166943666},{x:.12080416399028275,y:.7243035129909579},{x:.1250865087096497,y:.7165911114148321},{x:.23058984390868703,y:.5640339630732496},{x:.06599324156829194,y:.5055705213738448},{x:.058009937303428294,y:.5018173270834402},{x:.05091224187417384,y:.4965787839691328},{x:.04497291573544139,y:.4900562063049968},{x:.04042020385992993,y:.4825002530927612},{x:.03742906441182516,y:.4742012953769448},{x:.03611444520266741,y:.4654782574484574}]],"+":[[{x:-.002030999999999998,y:.33155},{x:-.0011663376181453647,y:.3227709355092742},{x:.0013944210369920967,y:.314329245543571},{x:.005552867446385459,y:.3065493395141179},{x:.011149194846605363,y:.29973019484660535},{x:.017968339514117915,y:.2941338674463855},{x:.025748245543570962,y:.2899754210369921},{x:.03418993550927423,y:.28741466238185465},{x:.042969,y:.28655},{x:.256023,y:.28655},{x:.256023,y:.09133899999999995},{x:.2568876623818546,y:.08255993550927418},{x:.25944842103699206,y:.07411824554357091},{x:.26360686744638545,y:.06633833951411786},{x:.2692031948466054,y:.05951919484660531},{x:.2760223395141179,y:.053922867446385414},{x:.2838022455435709,y:.049764421036992045},{x:.2922439355092742,y:.04720366238185458},{x:.301023,y:.04633899999999995},{x:.3098020644907258,y:.04720366238185458},{x:.31824375445642905,y:.049764421036992045},{x:.3260236604858821,y:.053922867446385414},{x:.3328428051533946,y:.05951919484660531},{x:.3384391325536145,y:.06633833951411786},{x:.3425975789630079,y:.07411824554357091},{x:.34515833761814535,y:.08255993550927418},{x:.34602299999999997,y:.09133899999999995},{x:.34602299999999997,y:.28655},{x:.559083,y:.28655},{x:.5678620644907257,y:.28741466238185465},{x:.576303754456429,y:.2899754210369921},{x:.5840836604858821,y:.2941338674463855},{x:.5909028051533947,y:.29973019484660535},{x:.5964991325536145,y:.3065493395141179},{x:.6006575789630079,y:.314329245543571},{x:.6032183376181454,y:.3227709355092742},{x:.604083,y:.33155},{x:.6032183376181454,y:.3403290644907258},{x:.6006575789630079,y:.348770754456429},{x:.5964991325536145,y:.35655066048588213},{x:.5909028051533947,y:.3633698051533947},{x:.5840836604858821,y:.36896613255361455},{x:.576303754456429,y:.37312457896300794},{x:.5678620644907257,y:.3756853376181454},{x:.559083,y:.37655},{x:.34602299999999997,y:.37655},{x:.34602299999999997,y:.571777},{x:.34515833761814535,y:.5805560644907257},{x:.3425975789630079,y:.588997754456429},{x:.3384391325536145,y:.5967776604858821},{x:.3328428051533946,y:.6035968051533946},{x:.3260236604858821,y:.6091931325536145},{x:.31824375445642905,y:.6133515789630078},{x:.3098020644907258,y:.6159123376181453},{x:.301023,y:.616777},{x:.2922439355092742,y:.6159123376181453},{x:.2838022455435709,y:.6133515789630078},{x:.2760223395141179,y:.6091931325536145},{x:.2692031948466054,y:.6035968051533946},{x:.26360686744638545,y:.5967776604858821},{x:.25944842103699206,y:.588997754456429},{x:.2568876623818546,y:.5805560644907257},{x:.256023,y:.571777},{x:.256023,y:.37655},{x:.042969,y:.37655},{x:.03418993550927421,y:.3756853376181454},{x:.025748245543570934,y:.37312457896300794},{x:.017968339514117904,y:.36896613255361455},{x:.011149194846605356,y:.3633698051533947},{x:.005552867446385459,y:.35655066048588213},{x:.0013944210369920967,y:.348770754456429},{x:-.0011663376181453647,y:.3403290644907258},{x:-.002030999999999998,y:.33155}]],",":[[{x:.1703425796668749,y:-.03158948169003215},{x:.1707557440557006,y:-.035050650253961146},{x:.17102563140319493,y:-.03852592771911176},{x:.17127771326913271,y:-.039423300660751795},{x:.17138819577001116,y:-.0403488367651378},{x:.1724686618106471,y:-.0436628955719719},{x:.1734113563482083,y:-.04701874414557815},{x:.1738336633079298,y:-.04784969558537063},{x:.17412258605517572,y:-.048735893706360625},{x:.1758288320436127,y:-.05177548533469908},{x:.17740810654883146,y:-.054882941638058576},{x:.177984409582707,y:-.05561553857817519},{x:.17844066943717352,y:-.05642834261896521},{x:.18070712529694977,y:-.05907665726715373},{x:.18286228913625774,y:-.06181630349720979},{x:.26855428913625773,y:-.1511263034972098},{x:.27525630293239317,y:-.15686238451505874},{x:.2829485933055849,y:-.16118075031492074},{x:.2913355498506774,y:-.16391544852087458},{x:.3000948665311021,y:-.16496138621450188},{x:.3088899277191117,y:-.1642783685968051},{x:.3173827441455781,y:-.16189264365179173},{x:.3252469416380585,y:-.15789589345116858},{x:.33218030349720973,y:-.1524417108637423},{x:.3379163845150587,y:-.14573969706760687},{x:.3422347503149207,y:-.13804740669441512},{x:.3449694485208745,y:-.12966045014932262},{x:.3460153862145018,y:-.12090113346889794},{x:.34533236859680505,y:-.11210607228088836},{x:.34294664365179167,y:-.10361325585442197},{x:.33894989345116855,y:-.09574905836194152},{x:.33349571086374225,y:-.08881569650279031},{x:.277697993368333,y:-.03066214483501502},{x:.41918956700521515,y:.11679250439324337},{x:.42464400414059766,y:.12372566600271688},{x:.42864104306488354,y:.1315897167531037},{x:.43102707981377775,y:.14008244558427704},{x:.4317104203331251,y:.14887748169003212},{x:.4306648042299889,y:.15763683676513773},{x:.4279304139448243,y:.1660238937063606},{x:.4236123305628265,y:.17371634261896518},{x:.41787649560675666,y:.1804185670052151},{x:.41094333399728317,y:.18587300414059763},{x:.4030792832468963,y:.18987004306488353},{x:.39458655441572293,y:.19225607981377774},{x:.3857915183099679,y:.19293942033312508},{x:.37703216323486227,y:.19189380422998883},{x:.36864510629363945,y:.18915941394482427},{x:.3609526573810348,y:.18484133056282648},{x:.35425043299478487,y:.17910549560675662},{x:.18286343299478489,y:.000495495606756581},{x:.18070816857348473,y:-.0022440714967103576},{x:.1784416154849413,y:-.004892302932393237},{x:.17798532578947307,y:-.005705090221499034},{x:.17740899585940237,y:-.006437666002716908},{x:.1758296072680145,y:-.009545064322455634},{x:.1741232496850793,y:-.012584593305585},{x:.17383429440212667,y:-.013470780818460306},{x:.1734119569351165,y:-.014301716753103766},{x:.1724691391914766,y:-.01765753071433596},{x:.17138855147912546,y:-.02097154985067746},{x:.17127803499816427,y:-.02189708189818214},{x:.17102592018622226,y:-.022794445584277102},{x:.17075590524748027,y:-.02626971313843455},{x:.17034261378549817,y:-.029730866531102167},{x:.17041478319291342,y:-.03066017543569507},{x:.1703425796668749,y:-.03158948169003215}]],"-":[[{x:.12882900000000003,y:.31396500000000005},{x:.12969366238185465,y:.30518593550927425},{x:.13225442103699211,y:.29674424554357104},{x:.13641286744638548,y:.28896433951411793},{x:.14200919484660537,y:.2821451948466054},{x:.14882833951411792,y:.2765488674463855},{x:.15660824554357097,y:.2723904210369921},{x:.16504993550927424,y:.2698296623818547},{x:.173829,y:.26896500000000007},{x:.428224,y:.26896500000000007},{x:.4370030644907258,y:.2698296623818547},{x:.44544475445642906,y:.2723904210369921},{x:.4532246604858821,y:.2765488674463855},{x:.4600438051533946,y:.2821451948466054},{x:.4656401325536145,y:.28896433951411793},{x:.4697985789630079,y:.29674424554357104},{x:.47235933761814536,y:.30518593550927425},{x:.473224,y:.31396500000000005},{x:.47235933761814536,y:.32274406449072585},{x:.4697985789630079,y:.33118575445642906},{x:.4656401325536145,y:.33896566048588217},{x:.4600438051533946,y:.3457848051533947},{x:.4532246604858821,y:.3513811325536146},{x:.44544475445642906,y:.355539578963008},{x:.4370030644907258,y:.3581003376181454},{x:.428224,y:.35896500000000003},{x:.173829,y:.35896500000000003},{x:.16504993550927424,y:.3581003376181454},{x:.15660824554357097,y:.355539578963008},{x:.14882833951411792,y:.3513811325536146},{x:.14200919484660537,y:.3457848051533947},{x:.13641286744638548,y:.33896566048588217},{x:.13225442103699211,y:.33118575445642906},{x:.12969366238185465,y:.32274406449072585},{x:.12882900000000003,y:.31396500000000005}]],".":[[{x:.19450299999999998,y:.148926},{x:.19536766238185463,y:.14014693550927423},{x:.1979284210369921,y:.13170524554357096},{x:.20208686744638546,y:.12392533951411791},{x:.20768319484660536,y:.11710619484660537},{x:.2145023395141179,y:.11150986744638547},{x:.22228224554357093,y:.1073514210369921},{x:.2307239355092742,y:.10479066238185464},{x:.239503,y:.103926},{x:.362549,y:.103926},{x:.3713280644907258,y:.10479066238185464},{x:.3797697544564291,y:.1073514210369921},{x:.38754966048588213,y:.11150986744638547},{x:.3943688051533947,y:.11710619484660537},{x:.39996513255361454,y:.12392533951411791},{x:.40412357896300793,y:.13170524554357096},{x:.4066843376181454,y:.14014693550927423},{x:.407549,y:.148926},{x:.4066843376181454,y:.1577050644907258},{x:.40412357896300793,y:.16614675445642904},{x:.39996513255361454,y:.1739266604858821},{x:.3943688051533947,y:.18074580515339464},{x:.38754966048588213,y:.18634213255361454},{x:.3797697544564291,y:.1905005789630079},{x:.3713280644907258,y:.19306133761814537},{x:.362549,y:.193926},{x:.239503,y:.193926},{x:.2307239355092742,y:.19306133761814537},{x:.22228224554357093,y:.1905005789630079},{x:.2145023395141179,y:.18634213255361454},{x:.20768319484660536,y:.18074580515339464},{x:.20208686744638546,y:.1739266604858821},{x:.1979284210369921,y:.16614675445642904},{x:.19536766238185463,y:.1577050644907258},{x:.19450299999999998,y:.148926}]],"/":[[{x:.017522651058219416,y:-.036644753012328966},{x:.01865919532569161,y:-.04539277458837648},{x:.02148055556003016,y:-.053750976595687026},{x:.02587830846966649,y:-.06139815801845333},{x:.031683450876571484,y:-.06804044196318723},{x:.038672894413609195,y:-.07342256918292836},{x:.04657803868537635,y:-.0773377075469538},{x:.0550950934307649,y:-.07963540048356893},{x:.0638967530123289,y:-.08022734894178067},{x:.07264477458837641,y:-.07909080467430848},{x:.08100297659568695,y:-.07626944443996993},{x:.08865015801845323,y:-.0718716915303336},{x:.09529244196318715,y:-.0660665491234286},{x:.10067456918292828,y:-.059077105586390885},{x:.5777245691829282,y:.7051758944136092},{x:.5816397075469537,y:.7130810386853763},{x:.5839374004835688,y:.7215980934307649},{x:.5845293489417805,y:.7303997530123288},{x:.5833928046743084,y:.7391477745883763},{x:.5805714444399699,y:.747505976595687},{x:.5761736915303335,y:.7551531580184532},{x:.5703685491234285,y:.7617954419631872},{x:.5633791055863908,y:.7671775691829282},{x:.5554739613146237,y:.7710927075469537},{x:.5469569065692351,y:.7733904004835688},{x:.5381552469876711,y:.7739823489417805},{x:.5294072254116237,y:.7728458046743084},{x:.521049023404313,y:.7700244444399699},{x:.5134018419815468,y:.7656266915303335},{x:.5067595580368128,y:.7598215491234285},{x:.5013774308170718,y:.7528321055863908},{x:.024327430817071727,y:-.011420894413609283},{x:.020412292453046287,y:-.019326038685376436},{x:.018114599516431164,y:-.027843093430764996},{x:.017522651058219416,y:-.036644753012328966}]],"<":[[{x:-.002019645490236678,y:.32959917016575135},{x:-.0016099914284145765,y:.3262199732716625},{x:-.0013526191024594778,y:.3228257800560043},{x:-.001080072865731869,y:.3218487260950263},{x:-.0009579981642362373,y:.3208417436418168},{x:.00010303311987996846,y:.3176073966113462},{x:.0010176343561875828,y:.3143286327165328},{x:.0014755574652736251,y:.31342352370653337},{x:.001791739066671412,y:.3124597057316259},{x:.003463372735866293,y:.309494502707312},{x:.00500005526992945,y:.3064571691910689},{x:.005625757523098081,y:.30565878796371126},{x:.0061238953427729045,y:.3047751734513664},{x:.008341891452602095,y:.3021930655225286},{x:.010441601436418424,y:.2995138854085287},{x:.011211037446978121,y:.298852913306643},{x:.011871988327878901,y:.29808345906703315},{x:.014551110531708777,y:.29598367519331337},{x:.017133157288130564,y:.2937656078708368},{x:.01801675806170013,y:.2932674456816211},{x:.018815122032139454,y:.29264172140965955},{x:.021852413166145952,y:.29110495510775264},{x:.024817570086352318,y:.28943323966009543},{x:.5409315700863523,y:.06192123966009548},{x:.5493135321567164,y:.059171271257023414},{x:.5580709293975171,y:.05810938240515066},{x:.5668672199439956,y:.058776380897540545},{x:.5753643672834672,y:.061146634356187606},{x:.583235830808931,y:.06512905526992949},{x:.5901791145914712,y:.07057060143641844},{x:.5959273921291632,y:.07726215728813057},{x:.6002597603399046,y:.08494657008635234},{x:.6030097287429766,y:.09332853215671641},{x:.6040716175948494,y:.10208592939751719},{x:.6034046191024595,y:.11088221994399564},{x:.6010343656438124,y:.11937936728346718},{x:.5970519447300705,y:.12725083080893104},{x:.5916103985635816,y:.13419411459147126},{x:.5849188427118694,y:.1399423921291632},{x:.5772344299136477,y:.14427476033990455},{x:.15453394878652635,y:.33060846154195217},{x:.577233294268374,y:.5169277390666714},{x:.5849178265486336,y:.521259895342773},{x:.5916095409329668,y:.527007988327879},{x:.5970512785903404,y:.5339511220321395},{x:.6010339165943431,y:.5418224757210541},{x:.6034044043999703,y:.5503195576866639},{x:.6040716454902366,y:.5591158298342486},{x:.6030099981642363,y:.5678732563581832},{x:.6002602609333286,y:.5762552942683741},{x:.5959281046572271,y:.5839398265486336},{x:.5901800116721211,y:.5906315409329669},{x:.5832368779678606,y:.5960732785903404},{x:.5753655242789459,y:.6000559165943432},{x:.5668684423133362,y:.6024264043999704},{x:.5580721701657515,y:.6030936454902367},{x:.5493147436418169,y:.6020319981642364},{x:.540932705731626,y:.5992822609333287},{x:.024818705731625975,y:.37178726093332853},{x:.02185350270731245,y:.3701156272641339},{x:.018816169191068974,y:.3685789447300705},{x:.01801778796371134,y:.36795324247690187},{x:.01713417345136639,y:.367455104657227},{x:.01455206552252819,y:.3652371085473975},{x:.011872885408528756,y:.3631373985635815},{x:.011211913306643135,y:.3623679625530219},{x:.010442459067033207,y:.36170701167212105},{x:.008342675193313383,y:.3590278894682912},{x:.006124607870836803,y:.3564458427118694},{x:.005626445681621026,y:.3555622419382997},{x:.005000721409659611,y:.3547638779678605},{x:.0034639551077528313,y:.3517265868338544},{x:.0017922396600954515,y:.3487614299136476},{x:.0014760314771086122,y:.3477976206592673},{x:.0010180834056568513,y:.3468925242789459},{x:.00010339174271701993,y:.34361378560971106},{x:-.0009577287429766018,y:.3403794678432836},{x:-.0010798312165939596,y:.33937248875722786},{x:-.0013524043999703778,y:.33839544231333624},{x:-.001609870336301571,y:.33500125619719334},{x:-.0020196175948493655,y:.3316220706024828},{x:-.001942922029511974,y:.3306106193263084},{x:-.002019645490236678,y:.32959917016575135}]],"=":[[{x:-.002030999999999998,y:.19162999999999997},{x:-.0011663376181453647,y:.1828509355092742},{x:.0013944210369920967,y:.17440924554357093},{x:.005552867446385459,y:.16662933951411787},{x:.011149194846605363,y:.15981019484660533},{x:.017968339514117915,y:.15421386744638543},{x:.025748245543570962,y:.15005542103699207},{x:.03418993550927423,y:.1474946623818546},{x:.042969,y:.14662999999999998},{x:.559083,y:.14662999999999998},{x:.5678620644907257,y:.1474946623818546},{x:.576303754456429,y:.15005542103699207},{x:.5840836604858821,y:.15421386744638543},{x:.5909028051533947,y:.15981019484660533},{x:.5964991325536145,y:.16662933951411787},{x:.6006575789630079,y:.17440924554357093},{x:.6032183376181454,y:.1828509355092742},{x:.604083,y:.19162999999999997},{x:.6032183376181454,y:.20040906449072574},{x:.6006575789630079,y:.208850754456429},{x:.5964991325536145,y:.21663066048588206},{x:.5909028051533947,y:.2234498051533946},{x:.5840836604858821,y:.2290461325536145},{x:.576303754456429,y:.23320457896300786},{x:.5678620644907257,y:.23576533761814533},{x:.559083,y:.23662999999999995},{x:.042969,y:.23662999999999995},{x:.03418993550927421,y:.23576533761814533},{x:.025748245543570934,y:.23320457896300786},{x:.017968339514117904,y:.2290461325536145},{x:.011149194846605356,y:.2234498051533946},{x:.005552867446385459,y:.21663066048588206},{x:.0013944210369920967,y:.208850754456429},{x:-.0011663376181453647,y:.20040906449072574},{x:-.002030999999999998,y:.19162999999999997}],[{x:-.002030999999999998,y:.454102},{x:-.0011663376181453647,y:.4453229355092742},{x:.0013944210369920967,y:.436881245543571},{x:.005552867446385459,y:.4291013395141179},{x:.011149194846605363,y:.42228219484660534},{x:.017968339514117915,y:.41668586744638547},{x:.025748245543570962,y:.4125274210369921},{x:.03418993550927423,y:.40996666238185464},{x:.042969,y:.409102},{x:.559083,y:.409102},{x:.5678620644907257,y:.40996666238185464},{x:.576303754456429,y:.4125274210369921},{x:.5840836604858821,y:.41668586744638547},{x:.5909028051533947,y:.42228219484660534},{x:.5964991325536145,y:.4291013395141179},{x:.6006575789630079,y:.436881245543571},{x:.6032183376181454,y:.4453229355092742},{x:.604083,y:.454102},{x:.6032183376181454,y:.4628810644907258},{x:.6006575789630079,y:.471322754456429},{x:.5964991325536145,y:.4791026604858821},{x:.5909028051533947,y:.48592180515339467},{x:.5840836604858821,y:.49151813255361454},{x:.576303754456429,y:.49567657896300793},{x:.5678620644907257,y:.49823733761814537},{x:.559083,y:.499102},{x:.042969,y:.499102},{x:.03418993550927421,y:.49823733761814537},{x:.025748245543570934,y:.49567657896300793},{x:.017968339514117904,y:.49151813255361454},{x:.011149194846605356,y:.48592180515339467},{x:.005552867446385459,y:.4791026604858821},{x:.0013944210369920967,y:.471322754456429},{x:-.0011663376181453647,y:.4628810644907258},{x:-.002030999999999998,y:.454102}]],">":[[{x:-.002019645490236678,y:.5591158298342487},{x:-.0013524043999703708,y:.5503195576866637},{x:.0010180834056568513,y:.5418224757210541},{x:.005000721409659611,y:.5339511220321396},{x:.01044245906703322,y:.527007988327879},{x:.01713417345136643,y:.521259895342773},{x:.024818705731625975,y:.5169277390666714},{x:.44751805121347366,y:.33060846154195217},{x:.024817570086352318,y:.14427476033990455},{x:.017133157288130554,y:.1399423921291632},{x:.01044160143641841,y:.13419411459147126},{x:.00500005526992945,y:.12725083080893107},{x:.0010176343561875828,y:.11937936728346718},{x:-.0013526191024594778,y:.11088221994399562},{x:-.0020196175948493655,y:.10208592939751718},{x:-.0009577287429766018,y:.0933285321567164},{x:.0017922396600954585,y:.08494657008635234},{x:.00612460787083681,y:.07726215728813059},{x:.011872885408528759,y:.07057060143641844},{x:.018816169191068984,y:.06512905526992947},{x:.02668763271653284,y:.061146634356187606},{x:.03518478005600438,y:.058776380897540545},{x:.04398107060248284,y:.05810938240515066},{x:.052738467843283614,y:.05917127125702342},{x:.06112042991364768,y:.06192123966009548},{x:.5772344299136477,y:.28943323966009543},{x:.5801995868338548,y:.29110495510775297},{x:.5832368779678606,y:.2926417214096596},{x:.5840352419382998,y:.29326744568162105},{x:.5849188427118694,y:.2937656078708368},{x:.5875008894682915,y:.29598367519331353},{x:.5901800116721211,y:.29808345906703315},{x:.5908409625530218,y:.2988529133066429},{x:.5916103985635817,y:.29951388540852875},{x:.5937101085473976,y:.3021930655225282},{x:.5959281046572271,y:.3047751734513664},{x:.5964262424769022,y:.30565878796371176},{x:.5970519447300705,y:.30645716919106897},{x:.5985886272641329,y:.3094945027073105},{x:.6002602609333286,y:.31245970573162596},{x:.6005764425347265,y:.31342352370653376},{x:.6010343656438124,y:.31432863271653283},{x:.6019489668801197,y:.31760739661134507},{x:.6030099981642363,y:.32084174364181683},{x:.6031320728657319,y:.3218487260950267},{x:.6034046191024595,y:.3228257800560044},{x:.6036619914284146,y:.3262199732716634},{x:.6040716454902366,y:.32959917016575135},{x:.603994922029512,y:.330610619326308},{x:.6040716175948494,y:.33162207060248283},{x:.6036618703363014,y:.3350012561971954},{x:.6034044043999703,y:.33839544231333624},{x:.6031318312165941,y:.33937248875722736},{x:.6030097287429766,y:.3403794678432836},{x:.6019486082572825,y:.3436137856097129},{x:.6010339165943431,y:.3468925242789459},{x:.6005759685228916,y:.3477976206592668},{x:.6002597603399046,y:.34876142991364767},{x:.5985880448922466,y:.3517265868338553},{x:.5970512785903404,y:.3547638779678605},{x:.596425554318379,y:.35556224193829966},{x:.5959273921291631,y:.35644584271186947},{x:.5937093248066866,y:.3590278894682911},{x:.5916095409329668,y:.36170701167212105},{x:.5908400866933569,y:.3623679625530219},{x:.5901791145914712,y:.36313739856358157},{x:.5874999344774714,y:.3652371085473978},{x:.5849178265486336,y:.367455104657227},{x:.5840342120362888,y:.36795324247690175},{x:.583235830808931,y:.3685789447300705},{x:.5801984972926872,y:.37011562726413405},{x:.577233294268374,y:.37178726093332853},{x:.06111929426837402,y:.5992822609333287},{x:.05273725635818315,y:.6020319981642364},{x:.04397982983424857,y:.6030936454902367},{x:.035183557686663716,y:.6024264043999704},{x:.02668647572105406,y:.6000559165943432},{x:.018815122032139416,y:.5960732785903404},{x:.011871988327878898,y:.5906315409329669},{x:.006123895342772898,y:.5839398265486336},{x:.001791739066671405,y:.5762552942683741},{x:-.0009579981642362442,y:.5678732563581832},{x:-.002019645490236678,y:.5591158298342487}]],A:[[{x:-.026930267425517032,y:.05053409251215203},{x:-.025968910797820398,y:.041765089843587025},{x:-.02331527881378681,y:.03335213247651147},{x:-.019071349062388714,y:.025618525644501258},{x:-.013400213383949137,y:.018861467521053887},{x:-.006519810342180955,y:.013340628060451547},{x:.0013054500325951415,y:.009268170027042777},{x:.009774847372633092,y:.006800595699190677},{x:.018562907487847988,y:.006032732574482988},{x:.02733191015641301,y:.006994089202179622},{x:.035744867523488544,y:.00964772118621321},{x:.043478474355498745,y:.013891650937611293},{x:.05023553247894613,y:.019562786616050876},{x:.055756371939548466,y:.02644318965781906},{x:.05982882997295724,y:.03426845003259516},{x:.15465984441872488,y:.2705423452957767},{x:.155303,y:.27047899999999997},{x:.433548,y:.27047899999999997},{x:.439584057854266,y:.2710734998088117},{x:.5426964027293978,y:.03313672871631684},{x:.5469805748198717,y:.025425342079263714},{x:.5526868446471364,y:.018697928086846893},{x:.559595923461843,y:.013213017486017727},{x:.5674422992397985,y:.009181392315192764},{x:.5759244401601543,y:.006757985668725375},{x:.5847163823041805,y:.006035927704977205},{x:.5934802562658602,y:.007042966706560308},{x:.6018792712836831,y:.009740402729397836},{x:.6095906579207363,y:.01402457481987169},{x:.6163180719131531,y:.019730844647136342},{x:.6218029825139822,y:.026639923461843008},{x:.6258346076848073,y:.03448629923979854},{x:.6282580143312746,y:.042968440160154345},{x:.6289800722950228,y:.05176038230418057},{x:.6279730332934397,y:.060524256265860256},{x:.6252755972706022,y:.0689232712836832},{x:.3314685972706022,y:.7468972712836831},{x:.3293831787279993,y:.7506509647260751},{x:.32731734906238874,y:.7544154743554987},{x:.32724162770964893,y:.7545056950115825},{x:.32718442518012836,y:.7546086579207363},{x:.324406768107635,y:.7578833802211685},{x:.32164621338394916,y:.7611725324789461},{x:.3215543458189217,y:.761246247067332},{x:.32147815535286367,y:.7613360719131531},{x:.3181150035540548,y:.764005977330098},{x:.314765810342181,y:.7666933719395485},{x:.31466132698386995,y:.7667477476499444},{x:.314569076538157,y:.7668209825139822},{x:.31074967405057474,y:.7687834680795742},{x:.3069405499674049,y:.7707658299729572},{x:.30682746605267575,y:.7707987771773066},{x:.30672270076020147,y:.7708526076848072},{x:.3025938250794972,y:.7720322561793334},{x:.29847115262736695,y:.7732334043008093},{x:.2983538139076442,y:.7732436568565263},{x:.29824055983984565,y:.7732760143312747},{x:.29396088134293,y:.7736274925246428},{x:.289683092512152,y:.774001267425517},{x:.28956600824863027,y:.7739884313326351},{x:.2894486176958195,y:.7739980722950228},{x:.2851826020272766,y:.773507873077374},{x:.280914089843587,y:.7730399107978204},{x:.2808017595188513,y:.7730044793401902},{x:.28068474373413976,y:.7729910332934397},{x:.2765963314836881,y:.7716779947458032},{x:.2725011324765115,y:.7703862788137869},{x:.27239787288194656,y:.7703296136024552},{x:.27228572871631684,y:.7702935972706022},{x:.26853203527393116,y:.7682081787280027},{x:.2647675256445013,y:.7661423490623888},{x:.26467730498841713,y:.7660666277096486},{x:.2645743420792637,y:.7660094251801283},{x:.2612996197788366,y:.7632317681076393},{x:.2580104675210539,y:.7604712133839491},{x:.2579367529326681,y:.7603793458189217},{x:.2578469280868469,y:.7603031553528636},{x:.25517702266989234,y:.7569400035540427},{x:.25248962806045155,y:.7535908103421809},{x:.2524352523500559,y:.7534863269838704},{x:.2523620174860177,y:.753394076538157},{x:.2503995319204231,y:.7495746740505695},{x:.24841717002704278,y:.7457655499674049},{x:-.023694829972957243,y:.06779154996740488},{x:-.026162404300809343,y:.05932215262736691},{x:-.026930267425517032,y:.05053409251215203}],[{x:.19075686729109992,y:.36047899999999994},{x:.2917712201653896,y:.6121588409316518},{x:.4008392655839541,y:.36047899999999994},{x:.19075686729109992,y:.36047899999999994}]],B:[[{x:.018964999999999996,y:.05103000000000002},{x:.018993157630992935,y:.05074411077481729},{x:.01896863696544404,y:.050457886669927884},{x:.019425235762019696,y:.046357147889743},{x:.01982966238185463,y:.04225093550927423},{x:.019913053192865363,y:.04197603284668677},{x:.019944843237820968,y:.04169052471317667},{x:.02119268306568244,y:.037757658485048945},{x:.02239042103699209,y:.03380924554357098},{x:.0225258403659196,y:.03355589379873479},{x:.022612719447780122,y:.03328207355405998},{x:.02460384652213923,y:.029668217721559587},{x:.026548867446385453,y:.026029339514117924},{x:.02673111120436309,y:.02580727485250577},{x:.026869740608734982,y:.025555665255108946},{x:.029527637032761178,y:.022399698271204867},{x:.03214519484660536,y:.019210194846605383},{x:.03236725950821749,y:.019027951088627763},{x:.03255231178483501,y:.01880822135423258},{x:.03577483608951879,y:.016231425260229353},{x:.03896433951411791,y:.013613867446385479},{x:.03921769125895406,y:.013478448117457993},{x:.03944205495260531,y:.013299042336531411},{x:.04310536733612953,y:.011400441961238211},{x:.046744245543570956,y:.009455421036992116},{x:.04701914820615845,y:.009372030225981372},{x:.047274201145921,y:.009239842862072495},{x:.051237522567796415,y:.008092400353164256},{x:.055185935509274225,y:.006894662381854655},{x:.05547182473445692,y:.006866504750861718},{x:.05574776537889109,y:.006786615690234012},{x:.05985878761953148,y:.006434426619834929},{x:.063965,y:.0060300000000000215},{x:.06425088922518268,y:.006058157630992957},{x:.06453711333007213,y:.00603363696544406},{x:.4241221133300721,y:.01060563696544408},{x:.4260098351414485,y:.010815826288282449},{x:.4279092214657345,y:.010813640036582327},{x:.43038314701987823,y:.011302774871886453},{x:.43288947528682337,y:.011581843237821021},{x:.43469991915024053,y:.012156270087817089},{x:.43656323581544765,y:.012524677733968342},{x:.4388942001112364,y:.013487052913568918},{x:.44129792644594007,y:.014249719447780182},{x:.4429615180190356,y:.01516630892323094},{x:.4447171588106798,y:.015891152767997317},{x:.5224141588106799,y:.0573061527679973},{x:.525028554951968,y:.05904868699814221},{x:.5277374225537912,y:.06064039332865708},{x:.5286915199232336,y:.06149010807639827},{x:.529754639763497,y:.06219869339105244},{x:.5319788494519322,y:.06441778869965879},{x:.5343251404217865,y:.06650738469209135},{x:.5350951339540482,y:.06752690757225652},{x:.5359995881074716,y:.06842928201075814},{x:.5377481362120787,y:.07103965980959966},{x:.5396416839038074,y:.07354684346181917},{x:.5707946839038074,y:.12450984346181915},{x:.5718407730360667,y:.12667263757185424},{x:.573076251912317,y:.12873311634664666},{x:.5737567016649755,y:.13063382885667474},{x:.5746357412153917,y:.13245124718509382},{x:.57523978983892,y:.1347765656784282},{x:.576049549867314,y:.13703848290314058},{x:.576346114353134,y:.13903542291661675},{x:.5768537026781452,y:.1409894121704204},{x:.5769924975430949,y:.14338789436140983},{x:.5773454200998597,y:.14576432582559334},{x:.5830324200998597,y:.2611263258255933},{x:.5829003037879823,y:.26382496142481277},{x:.5829742287592172,y:.2665258175697889},{x:.5826851199428378,y:.2682203519457296},{x:.5826010630436497,y:.26993731586400416},{x:.5819450076216034,y:.2725583233230625},{x:.5814906012502021,y:.27522170532098544},{x:.5808764603215925,y:.2768272773619606},{x:.5804590555084463,y:.278494851612457},{x:.5793042728181804,y:.28093750708458076},{x:.5783389976861617,y:.283461062658912},{x:.5774234257367941,y:.284915971131802},{x:.5766887136425759,y:.2864700717712602},{x:.575079581335268,y:.2886405053765124},{x:.5736405324246225,y:.2909272557017569},{x:.5044305324246225,y:.38012925570175693},{x:.5017223718437749,y:.38298983800955333},{x:.499075053174031,y:.3859068173944946},{x:.49869279401231464,y:.38618992769627897},{x:.4983657648506557,y:.38653536283797296},{x:.49515156889241035,y:.38881264393905274},{x:.49198604326106643,y:.39115710813128307},{x:.4915558970220145,y:.39136020348505085},{x:.4911677605809681,y:.39163520096290155},{x:.48757104899345777,y:.3932416662216644},{x:.4840089657752798,y:.3949235187770668},{x:.3737297002329455,y:.43429966367120415},{x:.4408630401939032,y:.4733794631163462},{x:.44336631106573315,y:.475186847643908},{x:.4459719275146733,y:.476843279595192},{x:.4469351296354233,y:.4777635673817196},{x:.4480152047486495,y:.4785433915190981},{x:.45011777274311354,y:.48080441158023823},{x:.45235016915983667,y:.4829373462081214},{x:.4531153243813002,y:.4840278623347861},{x:.4540225100120052,y:.48500341457167107},{x:.4556435746202097,y:.4876311804334344},{x:.4574169612623637,y:.4901586502563309},{x:.45795466509848404,y:.4913774867999537},{x:.45865409861163536,y:.4925112772109775},{x:.4597313632297904,y:.4954048053049642},{x:.460977589843244,y:.49822968107500176},{x:.46126717863714684,y:.4995299988307428},{x:.46173198119508085,y:.5007784564862466},{x:.46222404714804793,y:.5038265501505143},{x:.4628952219429378,y:.5068402734760588},{x:.4768502219429378,y:.6216502734760588},{x:.47694604753136066,y:.6258560133977795},{x:.4770801736029929,y:.6300607061367898},{x:.47704647561686464,y:.6302637547476413},{x:.47705116403527437,y:.6304695272224051},{x:.47632464920624185,y:.6346131496757303},{x:.47563590322258376,y:.6387632171212809},{x:.475563239914934,y:.6389557900590453},{x:.4755276940283349,y:.6391585233384632},{x:.47400675833929046,y:.6430807912362932},{x:.4725216084222428,y:.647016748623825},{x:.4724127722032346,y:.6471914454185},{x:.4723383580201142,y:.6473833485763381},{x:.4700814501766401,y:.6509335313629835},{x:.46785696980463054,y:.6545041220574128},{x:.46771614318912413,y:.6546542292091504},{x:.46760572040480797,y:.6548279275146733},{x:.4646995721096373,y:.6578695936566139},{x:.4618212468158623,y:.6609376018599591},{x:.3721282468158623,y:.739463601859959},{x:.3693406873548985,y:.7414576112446344},{x:.36664335021940475,y:.7435720694617842},{x:.36575927454484214,y:.7440194833243711},{x:.36495338890552403,y:.7445959530105889},{x:.3618303796850022,y:.746007822191186},{x:.35877236079175173,y:.7475554273162446},{x:.35781798626885214,y:.7478217696388809},{x:.3569151218394033,y:.7482299421328396},{x:.35357667835226414,y:.7490054137685334},{x:.3502754956523681,y:.7499266922044516},{x:.21714549565236804,y:.7733246922044517},{x:.2164184100494338,y:.7733799121498203},{x:.21571010443589486,y:.773553134187072},{x:.21202614434596675,y:.7737134914026773},{x:.20834928456346336,y:.7739927377465721},{x:.20762539682958886,y:.7739050492917646},{x:.20689690716677497,y:.7739367593459113},{x:.061505907166774995,y:.7659797593459113},{x:.05835682356136361,y:.7654946428322841},{x:.055185935509274225,y:.7651823376181454},{x:.05400593378019863,y:.7648243880069794},{x:.05278721145616079,y:.7646366437616691},{x:.0497932781460736,y:.7635464928911877},{x:.046744245543570956,y:.7626215789630079},{x:.045656749721751114,y:.7620403003359452},{x:.0444980718907103,y:.7616184026130197},{x:.04177434405403643,y:.7599651112722733},{x:.03896433951411791,y:.7584631325536145},{x:.03801114145411163,y:.7576808631223083},{x:.03695703545532078,y:.7570410252146568},{x:.03460818442533898,y:.7548881284626934},{x:.03214519484660536,y:.7528668051533947},{x:.03136292541529926,y:.7519136070933885},{x:.03045389995114224,y:.7510804176129765},{x:.02857019075568381,y:.7485106500646154},{x:.026548867446385453,y:.7460476604858821},{x:.025967588819322866,y:.7449601646640625},{x:.025238577228599887,y:.7439656426153641},{x:.023892399755650346,y:.7410777589963466},{x:.02239042103699209,y:.738267754456429},{x:.022032471425826126,y:.7370877527273536},{x:.021511489215134356,y:.7359701170349662},{x:.02075457631003429,y:.7328750970932278},{x:.01982966238185463,y:.7298260644907257},{x:.019708797589401895,y:.7285989036590902},{x:.01941586581292807,y:.7274011044358949},{x:.019277305214138767,y:.7242178880520896},{x:.018964999999999996,y:.721047},{x:.018964999999999996,y:.05103000000000002}],[{x:.10896499999999999,y:.09660579683225357},{x:.10896499999999999,y:.37786028838708235},{x:.29722384626437015,y:.36605169579422814},{x:.44137514989764515,y:.3145812530901673},{x:.49232133133007555,y:.24891875813083103},{x:.48801965008125897,y:.1616582425292873},{x:.46925190911582665,y:.130956211173677},{x:.41203782454012283,y:.1004592638951106},{x:.10896499999999999,y:.09660579683225357}],[{x:.10896499999999999,y:.47257215902605326},{x:.10896499999999999,y:.6784424315209651},{x:.20665565807681563,y:.6837888736412973},{x:.32230778354311135,y:.6634626629325134},{x:.3846372425734713,y:.608893375476212},{x:.3762519660226853,y:.5399063743443061},{x:.2981741908903496,y:.4944555775409729},{x:.10896499999999999,y:.47257215902605326}]],C:[[{x:.028007484408327545,y:.4010798543150725},{x:.028340096336253087,y:.39680461654123217},{x:.028649292669517497,y:.39252762152779447},{x:.06572429266951751,y:.1769866215277945},{x:.0657499934516808,y:.17689321918606288},{x:.06575739253020782,y:.1767966283931179},{x:.06691993730130205,y:.17264138379230456},{x:.0680646634579554,y:.1684811950870131},{x:.0681080922997215,y:.16839460141895576},{x:.06813419313592875,y:.16830131007962543},{x:.07008504794245551,y:.16445270857242494},{x:.07201939106115751,y:.16059578172109576},{x:.07207887901649253,y:.16051932447281397},{x:.0721226785698821,y:.1604329177209502},{x:.1274306785698821,y:.07363491772095027},{x:.13009575906138268,y:.07023973030268985},{x:.13274648275581225,y:.06683332229320074},{x:.13281865262016482,y:.06677089175108791},{x:.13287757357360944,y:.06669582922279092},{x:.1361538134974972,y:.06388581079003605},{x:.13941816151489866,y:.0610619864944041},{x:.19692016151489866,y:.020443986494404057},{x:.19808425112310213,y:.019782383965415776},{x:.19914710087537263,y:.01896802966513257},{x:.20191114759162085,y:.01760739299916557},{x:.20458957759683996,y:.01608512525217841},{x:.2058603718000633,y:.015663337846789194},{x:.20706167183504787,y:.015071982836463577},{x:.21003805521400143,y:.014276729186446702},{x:.2129619996426652,y:.013306247159584957},{x:.21429066253234816,y:.013140483931242813},{x:.21558424756339917,y:.01279485365228588},{x:.32760524756339915,y:-.005618146347714133},{x:.32775803960473765,y:-.005628051859015257},{x:.32790622767465843,y:-.005666572281957827},{x:.3321581535063009,y:-.005913311337168391},{x:.3364083102547015,y:-.006188849089881349},{x:.3365600989091985,y:-.006168756021014132},{x:.33671295454862427,y:-.006177626226551311},{x:.34093131721939995,y:-.005590114680318674},{x:.3451535631465426,y:-.005031193603710363},{x:.34529851526132993,y:-.004981874120043047},{x:.3454501643137599,y:-.004960753231150514},{x:.44307616431375996,y:.01857424676884946},{x:.4458503498549469,y:.019539172468847843},{x:.4486819664572553,y:.020319643122350156},{x:.45000735163266253,y:.02098507354168687},{x:.45140809089867484,y:.021472282957461515},{x:.45394072357704407,y:.022959884631265325},{x:.4565656691892177,y:.024277779754777677},{x:.4577357684253341,y:.0251889939358613},{x:.459014543037309,y:.025940112433793877},{x:.4612082951993476,y:.027893222383335445},{x:.4635256946335971,y:.029697896006345384},{x:.5358116946335971,y:.09837789600634546},{x:.5383578959705028,y:.10132350300922108},{x:.5409714489909738,y:.10420951799057969},{x:.5412394420583803,y:.10465705806338507},{x:.5415805729157932,y:.10505169984914184},{x:.5435031902892489,y:.10843744707814906},{x:.545503491029224,y:.11177788699125937},{x:.5456790239480676,y:.11226911056087577},{x:.5459366092786453,y:.11272272074420048},{x:.5471617575812067,y:.11641849583208026},{x:.548471935605029,y:.12008498944441898},{x:.572709935605029,y:.21701898944441894},{x:.5740007070580636,y:.2257455880614603},{x:.5735642017652605,y:.23455632455146336},{x:.571417194380227,y:.24311260725223527},{x:.5676421931927146,y:.25108562301800397},{x:.5623842693813143,y:.2581689733242098},{x:.5558454820094204,y:.2640904489909738},{x:.5482771130087407,y:.26862249102922403},{x:.539970010555581,y:.27159093560502906},{x:.5312434119385397,y:.2728817070580635},{x:.5224326754485367,y:.2724452017652604},{x:.5138763927477648,y:.270298194380227},{x:.5059033769819961,y:.26652319319271456},{x:.49882002667579023,y:.2612652693813142},{x:.49289855100902624,y:.25472648200942033},{x:.488366508970776,y:.24715811300874066},{x:.48539806439497096,y:.23885101055558106},{x:.46433420621000654,y:.15461122058523102},{x:.4102697826671089,y:.10324381045150927},{x:.3332137540403124,y:.08466767669890593},{x:.24039332695070226,y:.09992465997883551},{x:.1985742470214596,y:.12946463056361485},{x:.15288732813236672,y:.2011637190451272},{x:.11884238546013813,y:.39908903228895243},{x:.16184523767713488,y:.5942488915238071},{x:.2166399992296726,y:.6603981208316636},{x:.2708106585112101,y:.6880654725502051},{x:.33167151101531583,y:.6962265900331734},{x:.41875307675349,y:.6679697644015699},{x:.4604926982936834,y:.628705384802963},{x:.487421989657252,y:.5630715564186946},{x:.49155436139101494,y:.5552777692634718},{x:.49712782320648147,y:.5484399232752638},{x:.5039281900917167,y:.5428207930406891},{x:.5116941277610109,y:.5386363185834178},{x:.5201271955849208,y:.5360473069101626},{x:.5289033154962927,y:.5351532522875923},{x:.5376852261286371,y:.5359885127334604},{x:.5461354435813054,y:.5385209896572519},{x:.5539292307365281,y:.5426533613910148},{x:.5607670767247361,y:.5482268232064814},{x:.5663862069593109,y:.5550271900917166},{x:.5705706814165822,y:.5627931277610108},{x:.5731596930898373,y:.5712261955849207},{x:.5740537477124077,y:.5800023154962926},{x:.5732184872665396,y:.588784226128637},{x:.570686010342748,y:.5972344435813053},{x:.540057010342748,y:.6718854435813053},{x:.5396985836895672,y:.6725614478775368},{x:.539454213118803,y:.6732865233897278},{x:.5376352487491008,y:.6764529645154376},{x:.5359246386089851,y:.679679230736528},{x:.5354412171276051,y:.6802723202285732},{x:.5350600868536766,y:.680935789284769},{x:.5326583313554347,y:.6836865257875079},{x:.5303511767935185,y:.686517076724736},{x:.5297613381003629,y:.6870044593160238},{x:.5292580947459566,y:.687580825172473},{x:.47307109474595666,y:.7404358251724731},{x:.4722065860115991,y:.7411021817697292},{x:.4714497622811152,y:.7418887085063782},{x:.4687194058651613,y:.7437900730587934},{x:.46608420409854834,y:.7458212660502541},{x:.46510630693397415,y:.746306161504971},{x:.46421058160492856,y:.7469299263656303},{x:.4611617503991064,y:.748262090618912},{x:.45818091720073817,y:.7497401524453693},{x:.45712721164557074,y:.7500249524971546},{x:.4561270069400303,y:.7504619845480405},{x:.3497190069400303,y:.7849899845480404},{x:.34852117258500637,y:.7852523061157466},{x:.34737251112679673,y:.7856814874310271},{x:.34422084285321763,y:.7861940634064482},{x:.3411016855274714,y:.7868771480384597},{x:.33987569082458696,y:.7869007432807547},{x:.3386653714532072,y:.7870975852636362},{x:.3354742629896646,y:.786985452257037},{x:.33228177619648713,y:.7870468942022847},{x:.3310747354346284,y:.7868308563672394},{x:.32984927004476555,y:.7867877944907101},{x:.25121827004476555,y:.7762437944907102},{x:.24809780050166644,y:.7755083028870222},{x:.24494229970605153,y:.7749416523797719},{x:.24381291428322105,y:.7744983594176508},{x:.24263200473447152,y:.7742200201979198},{x:.2397149814324578,y:.772889887451158},{x:.2367306607297473,y:.771718517308175},{x:.16743766072974728,y:.7363275173081749},{x:.16716950847174827,y:.7361554960544541},{x:.16687461978467572,y:.7360349240533984},{x:.16345937419922074,y:.733775423054901},{x:.16001260855282193,y:.7315643025810339},{x:.15978316844705134,y:.7313432727571054},{x:.15951746839392553,y:.7311674875843215},{x:.15660865257214304,y:.7282851209029094},{x:.15365948376641753,y:.7254440558690711},{x:.15347757306746915,y:.725182511527114},{x:.15325127235232486,y:.7249582685082102},{x:.08558827235232488,y:.6432742685082102},{x:.0845522070982367,y:.6417389136031936},{x:.0833480194008015,y:.6403315480201149},{x:.08209078724421986,y:.6380913122274521},{x:.0806538380596292,y:.6359618836319892},{x:.07993721339171088,y:.6342539038369039},{x:.07903072722802115,y:.632638655023214},{x:.07823470075697891,y:.6301961909068614},{x:.07724079305844417,y:.627827343805619},{x:.07687114846079628,y:.6260123758261444},{x:.07629719958575912,y:.6242513168879111},{x:.02905219958575911,y:.40983931688791114},{x:.028544362954760993,y:.4055813372409792},{x:.028013217832748447,y:.4013262022752188},{x:.028022142274708197,y:.401202753871557},{x:.028007484408327545,y:.4010798543150725}]],D:[[{x:.019456783112310236,y:.0515304721392918},{x:.019516560837245702,y:.0508455251733057},{x:.019462408649259272,y:.05016011050819538},{x:.01989956114396584,y:.04645701928180655},{x:.020223754746627687,y:.042742334175020345},{x:.02041601038349858,y:.04208221032853139},{x:.020496616482350807,y:.04139940114622653},{x:.021647806474261868,y:.03785274800035644},{x:.022690469901424933,y:.03427268656062632},{x:.023007815173924504,y:.033662754022853354},{x:.023220081912440925,y:.03300879029730612},{x:.025041069815762075,y:.029754871123364675},{x:.026762134096652887,y:.026447013104097812},{x:.027192373603928278,y:.025910711240413317},{x:.027528143690388265,y:.025310724430849408},{x:.029948949961216734,y:.02247458551787214},{x:.03228227556070457,y:.019566050047680916},{x:.03280887543977226,y:.01912398863794477},{x:.03325524541805519,y:.01860103590097925},{x:.03618283982900684,y:.01629166847686688},{x:.03903875835284746,y:.013894228942745224},{x:.03964148166567549,y:.013563396159022682},{x:.0401812977878431,y:.013137574275061882},{x:.04350317452751879,y:.011443726034814963},{x:.04677193462845869,y:.0096495146935595},{x:.04742761905614622,y:.009442624254195854},{x:.048040136491355995,y:.009130297319436702},{x:.05162863769958001,y:.008117061901006828},{x:.05518462276008175,y:.0069950292882567724},{x:.05586807071778482,y:.006920031876811272},{x:.05652975076450537,y:.006733202440201605},{x:.060246972352300414,y:.0064395179124900545},{x:.06395352786070822,y:.006032783112310258},{x:.06463847482669428,y:.006092560837245719},{x:.06532388949180462,y:.006038408649259287},{x:.22607288949180462,y:.009146408649259287},{x:.22716730592225892,y:.009275605270020776},{x:.2282688262216939,y:.009242558031150067},{x:.23153975417198444,y:.00979177582685766},{x:.23483359885377353,y:.010180616482350843},{x:.23588178136904675,y:.010520840680108605},{x:.23696858346127098,y:.010703324384590318},{x:.374121583461271,y:.04785532438459028},{x:.3763172878682137,y:.048688585594252994},{x:.37858028056243914,y:.049316523610364836},{x:.3804311803743379,y:.05024979166335608},{x:.3823691959266467,y:.050985260963484026},{x:.38436014929137596,y:.0522308719724549},{x:.38645715458576285,y:.05328823230909956},{x:.47004915458576285,y:.1063032323090996},{x:.47296331256678825,y:.10858070495130694},{x:.47594842000778254,y:.11076435600861785},{x:.476434095048061,y:.11129319075325024},{x:.4769998347544389,y:.11173532762855881},{x:.47941368513584726,y:.11453756329148114},{x:.48191542538645477,y:.11726162167794474},{x:.5445294253864548,y:.20053762167794476},{x:.5457907389554543,y:.20261097926106453},{x:.5472304508598836,y:.2045646816997861},{x:.5480776582474705,y:.2063702359380903},{x:.54911422277829,y:.20807414921008693},{x:.5499468085621922,y:.21035373787896267},{x:.5509777083681839,y:.21255077433219424},{x:.570480708368184,y:.26758877433219413},{x:.5715324066676154,y:.27184261440989077},{x:.5725895850614416,y:.2760950958693092},{x:.5821235850614417,y:.3411630958693092},{x:.5823063349967632,y:.3450227385412275},{x:.5825832689280143,y:.34887676846995497},{x:.5805752689280143,y:.424797768469955},{x:.5800798101377765,y:.42875301375722},{x:.5796594372976747,y:.43271694253692033},{x:.5588164372976746,y:.5335539425369203},{x:.5581925601051908,y:.535556542700639},{x:.5577783377379867,y:.5376127649642906},{x:.5568838034059929,y:.5397575559956548},{x:.5561926080991778,y:.5419762423834013},{x:.555190030621201,y:.5438186507441294},{x:.5543826183570809,y:.5457545524985521},{x:.5020956183570809,y:.6430055524985521},{x:.5018901867095668,y:.6433113858234256},{x:.5017428412228655,y:.6436490624319612},{x:.4994325691935421,y:.6469701275279692},{x:.4971767628200625,y:.6503284258808291},{x:.4969156133622187,y:.650588304977856},{x:.4967052216394318,y:.6508907475465959},{x:.49379143318032753,y:.6536972875938759},{x:.49092379998669317,y:.6565509711937552},{x:.49061696854573045,y:.6567549090549786},{x:.49035161582277553,y:.657010494885618},{x:.39890061582277553,y:.7292364948856179},{x:.3986791836579038,y:.7293785203585265},{x:.39848760231040037,y:.7295587979940886},{x:.39496847203231433,y:.7317585520660096},{x:.39147518928128755,y:.7339991259907827},{x:.39123030407812903,y:.7340952232117042},{x:.391007233490524,y:.7342346611962726},{x:.3871265715837099,y:.7357055993513507},{x:.38326329699273004,y:.7372216156196327},{x:.3830043695523095,y:.737268091626259},{x:.38275838220218455,y:.7373613314362847},{x:.25909638220218456,y:.7708063314362847},{x:.2580664240588666,y:.7709788511982676},{x:.2570738325025125,y:.7713034106651087},{x:.2537238261308602,y:.7717062438265866},{x:.2503960471743838,y:.7722636525302581},{x:.2493522224520667,y:.7722319225075465},{x:.24831538485324267,y:.7723566006488801},{x:.17218438485324267,y:.7739936006488801},{x:.16854768223369815,y:.7737142062783378},{x:.16490357022768087,y:.7735589167265521},{x:.06552457022768086,y:.7594769167265522},{x:.06454980411013514,y:.759239472501363},{x:.06355033417502035,y:.7591522452533723},{x:.06027159361314519,y:.7581973390517399},{x:.056953647958865025,y:.7573891174476861},{x:.056043934769293216,y:.7569660682109414},{x:.05508068656062633,y:.7566855300985751},{x:.05205123903764884,y:.7551093215998242},{x:.04895472299174925,y:.7536693306611393},{x:.04814502249785432,y:.7530769339577588},{x:.0472550131040978,y:.7526138659033472},{x:.04459127858939255,y:.7504769279161366},{x:.04183518952697092,y:.7484605056870383},{x:.041156618064647085,y:.7477215269901124},{x:.040374050047680896,y:.7470937244392954},{x:.03817839436480973,y:.744478178292066},{x:.035868647242901154,y:.7419628147479951},{x:.03534728193289863,y:.7411056525944231},{x:.03470222894274521,y:.7403372416471526},{x:.03305902990826266,y:.7373436013115269},{x:.03128438701344127,y:.73442596046285},{x:.030940263632238257,y:.7334835551134912},{x:.030457514693559486,y:.7326040653715413},{x:.029429919524844063,y:.7293473747667649},{x:.028258579388326675,y:.7261395799150647},{x:.028104922404476318,y:.7251481474789881},{x:.02780302928825676,y:.7241913772399183},{x:.02743052789135989,y:.7207967891595589},{x:.026907504457698045,y:.7174221140620348},{x:.02695021882291786,y:.7164197547317572},{x:.026840783112310238,y:.7154224721392919},{x:.019456783112310236,y:.0515304721392918}],[{x:.1099671672449683,y:.09691838411671685},{x:.1164055200593884,y:.675787686211921},{x:.17390769441284104,y:.6839357418297609},{x:.2408956143230629,y:.6824953400894312},{x:.35035782392371695,y:.652890743688808},{x:.42724604872976657,y:.5921661050862587},{x:.4720072878873445,y:.5089126143655517},{x:.4907125333997566,y:.41841792349882906},{x:.4925121994894803,y:.35037387509349616},{x:.4841787199640398,y:.2934992321564965},{x:.4684498534661817,y:.24911194023683725},{x:.41491413338319044,y:.1779099626338861},{x:.34401115658372555,y:.1329424859013802},{x:.21878934362335548,y:.0990224054430332},{x:.1099671672449683,y:.09691838411671685}]],E:[[{x:.035078,y:.05103000000000002},{x:.03594266238185463,y:.04225093550927423},{x:.03850342103699209,y:.03380924554357098},{x:.042661867446385456,y:.026029339514117924},{x:.04825819484660536,y:.019210194846605383},{x:.05507733951411791,y:.013613867446385479},{x:.06285724554357096,y:.009455421036992116},{x:.07129893550927423,y:.006894662381854655},{x:.080078,y:.0060300000000000215},{x:.521974,y:.0060300000000000215},{x:.5307530644907258,y:.006894662381854655},{x:.5391947544564291,y:.009455421036992116},{x:.5469746604858822,y:.013613867446385479},{x:.5537938051533947,y:.019210194846605383},{x:.5593901325536146,y:.026029339514117924},{x:.5635485789630079,y:.03380924554357098},{x:.5661093376181454,y:.04225093550927425},{x:.5669740000000001,y:.05103000000000002},{x:.5661093376181454,y:.05980906449072579},{x:.5635485789630079,y:.06825075445642906},{x:.5593901325536146,y:.07603066048588211},{x:.5537938051533947,y:.08284980515339466},{x:.5469746604858822,y:.08844613255361455},{x:.5391947544564291,y:.09260457896300792},{x:.5307530644907258,y:.09516533761814538},{x:.521974,y:.09603000000000002},{x:.125078,y:.09603000000000002},{x:.125078,y:.345019},{x:.389405,y:.345019},{x:.3981840644907258,y:.34588366238185464},{x:.40662575445642907,y:.3484444210369921},{x:.4144056604858821,y:.35260286744638547},{x:.42122480515339467,y:.35819919484660534},{x:.42682113255361454,y:.3650183395141179},{x:.4309795789630079,y:.372798245543571},{x:.43354033761814537,y:.3812399355092742},{x:.434405,y:.390019},{x:.43354033761814537,y:.3987980644907258},{x:.4309795789630079,y:.407239754456429},{x:.42682113255361454,y:.4150196604858821},{x:.42122480515339467,y:.42183880515339467},{x:.4144056604858821,y:.42743513255361454},{x:.40662575445642907,y:.43159357896300793},{x:.3981840644907258,y:.43415433761814537},{x:.389405,y:.435019},{x:.125078,y:.435019},{x:.125078,y:.684004},{x:.521974,y:.684004},{x:.5307530644907258,y:.6848686623818546},{x:.5391947544564291,y:.6874294210369921},{x:.5469746604858822,y:.6915878674463855},{x:.5537938051533947,y:.6971841948466053},{x:.5593901325536146,y:.7040033395141179},{x:.5635485789630079,y:.711783245543571},{x:.5661093376181454,y:.7202249355092742},{x:.5669740000000001,y:.729004},{x:.5661093376181454,y:.7377830644907257},{x:.5635485789630079,y:.746224754456429},{x:.5593901325536146,y:.7540046604858821},{x:.5537938051533947,y:.7608238051533946},{x:.5469746604858822,y:.7664201325536145},{x:.5391947544564291,y:.7705785789630079},{x:.5307530644907258,y:.7731393376181454},{x:.521974,y:.774004},{x:.080078,y:.774004},{x:.07129893550927423,y:.7731393376181454},{x:.06285724554357093,y:.7705785789630079},{x:.05507733951411791,y:.7664201325536145},{x:.04825819484660536,y:.7608238051533946},{x:.042661867446385456,y:.7540046604858821},{x:.03850342103699209,y:.746224754456429},{x:.03594266238185463,y:.7377830644907257},{x:.035078,y:.729004},{x:.035078,y:.05103000000000002}]],F:[[{x:.041426000000000004,y:.05103000000000002},{x:.04229066238185464,y:.04225093550927423},{x:.0448514210369921,y:.03380924554357098},{x:.04900986744638546,y:.026029339514117924},{x:.054606194846605366,y:.019210194846605383},{x:.06142533951411792,y:.013613867446385479},{x:.06920524554357096,y:.009455421036992116},{x:.07764693550927423,y:.006894662381854655},{x:.086426,y:.0060300000000000215},{x:.09520506449072577,y:.006894662381854655},{x:.10364675445642904,y:.009455421036992116},{x:.11142666048588211,y:.013613867446385486},{x:.11824580515339464,y:.019210194846605383},{x:.12384213255361454,y:.026029339514117924},{x:.1280005789630079,y:.03380924554357098},{x:.13056133761814537,y:.04225093550927425},{x:.131426,y:.05103000000000002},{x:.131426,y:.347323},{x:.447344,y:.347323},{x:.4561230644907258,y:.3481876623818546},{x:.4645647544564291,y:.35074842103699205},{x:.47234466048588214,y:.35490686744638544},{x:.47916380515339463,y:.3605031948466053},{x:.48476013255361455,y:.36732233951411786},{x:.48891857896300794,y:.37510224554357097},{x:.4914793376181454,y:.3835439355092742},{x:.492344,y:.392323},{x:.4914793376181454,y:.4011020644907258},{x:.48891857896300794,y:.409543754456429},{x:.48476013255361455,y:.4173236604858821},{x:.47916380515339463,y:.42414280515339464},{x:.47234466048588214,y:.4297391325536145},{x:.4645647544564291,y:.4338975789630079},{x:.4561230644907258,y:.43645833761814534},{x:.447344,y:.43732299999999996},{x:.131426,y:.43732299999999996},{x:.131426,y:.679393},{x:.515626,y:.679393},{x:.5244050644907258,y:.6802576623818547},{x:.532846754456429,y:.6828184210369922},{x:.5406266604858821,y:.6869768674463855},{x:.5474458051533947,y:.6925731948466054},{x:.5530421325536146,y:.6993923395141179},{x:.5572005789630079,y:.707172245543571},{x:.5597613376181454,y:.7156139355092743},{x:.5606260000000001,y:.7243930000000001},{x:.5597613376181454,y:.7331720644907258},{x:.5572005789630079,y:.7416137544564291},{x:.5530421325536146,y:.7493936604858822},{x:.5474458051533947,y:.7562128051533947},{x:.5406266604858821,y:.7618091325536146},{x:.532846754456429,y:.7659675789630079},{x:.5244050644907258,y:.7685283376181454},{x:.515626,y:.7693930000000001},{x:.10586481668800227,y:.7693930000000001},{x:.10364675445642904,y:.7705785789630079},{x:.09520506449072577,y:.7731393376181454},{x:.086426,y:.774004},{x:.0776469355092742,y:.7731393376181454},{x:.06920524554357094,y:.7705785789630079},{x:.06142533951411792,y:.7664201325536145},{x:.054606194846605366,y:.7608238051533946},{x:.04900986744638546,y:.7540046604858821},{x:.0448514210369921,y:.746224754456429},{x:.04229066238185464,y:.7377830644907257},{x:.041426000000000004,y:.729004},{x:.041426000000000004,y:.05103000000000002}]],G:[[{x:.011397831509003739,y:.41623356008285023},{x:.011618856500496228,y:.4138403978921803},{x:.011624876992355357,y:.4114370583257866},{x:.031979876992355355,y:.20994505832578658},{x:.0322125865037964,y:.20879027461506633},{x:.03227702681480045,y:.2076140405475535},{x:.033082276634523504,y:.2044745765152392},{x:.033722542929381774,y:.20129735748690203},{x:.034176068118796386,y:.2002101619949014},{x:.03446874211029117,y:.19906910061620064},{x:.03587099832954512,y:.19614705695158466},{x:.03711880677043453,y:.1931557970536144},{x:.03777571891913337,y:.19217797009338475},{x:.03828537929375919,y:.19111593175236494},{x:.08239837929375919,y:.11845093175236496},{x:.08400149586436068,y:.11631468084865614},{x:.08543403702225794,y:.1140604899753128},{x:.08664282877724949,y:.11279494315419919},{x:.08769326713863865,y:.11139516977529508},{x:.08968234215056696,y:.10961271886167734},{x:.09152712825517066,y:.10768131654967852},{x:.15960912825517065,y:.049144316549678456},{x:.16129904644183068,y:.0479582081853546},{x:.16285577619764602,y:.04660201166682107},{x:.1649006360722032,y:.045430348778213794},{x:.16682965744636918,y:.04407642028337947},{x:.16871850259167306,y:.043242789341903884},{x:.17050990103726027,y:.04221635466854622},{x:.25257090103726026,y:.005359354668546305},{x:.2555014876285109,y:.004375276469579791},{x:.2583690572759664,y:.003220377345201267},{x:.25967433471463813,y:.0029740526131209386},{x:.2609335532503684,y:.0025512125194529015},{x:.2639998135747395,y:.0021577721889240492},{x:.26703759331756605,y:.0015844992133087973},{x:.35309859331756605,y:-.006038500786691249},{x:.3541123404679588,y:-.006028536718703998},{x:.3551159915981175,y:-.006171599559831674},{x:.3585153812714738,y:-.005985259459774228},{x:.361919709861342,y:-.005951798491220829},{x:.36291203425126567,y:-.00574425362199294},{x:.3639243106821295,y:-.005688764928569123},{x:.3672220288859873,y:-.004842817275250554},{x:.37055441634545594,y:-.004145847688979236},{x:.3714871835051078,y:-.003748697851442632},{x:.37246918402112983,y:-.003496790022837183},{x:.4525501840211298,y:.02567020997716287},{x:.4548144879103283,y:.026756908839544704},{x:.45716266717941917,y:.02764799841997529},{x:.45878159595452606,y:.02866082810547922},{x:.4605032369247208,y:.02948708879101062},{x:.4625120284186098,y:.03099465081435172},{x:.46464124512829075,y:.032326725408117304},{x:.4660314733714444,y:.03363593119127184},{x:.46755883802994086,y:.034782191000688294},{x:.46923492039795345,y:.03665268142188218},{x:.47106334994415,y:.038374550149380404},{x:.53517534994415,y:.11188255014938031},{x:.5366918789074028,y:.11401106513419482},{x:.5383741006891446,y:.11601120663268963},{x:.5392453250303639,y:.11759493887966013},{x:.5402941837404813,y:.11906705813061697},{x:.5413663203511413,y:.12145053442062861},{x:.5426260104640281,y:.12374042895017842},{x:.5431715236397763,y:.1254636976633839},{x:.5439130326051668,y:.12711215273922669},{x:.5444995752545472,y:.12965899467727895},{x:.5452883245139833,y:.13215064287530112},{x:.5896823245139834,y:.3420786428753011},{x:.5897067631627176,y:.34229945557802055},{x:.5897717252277992,y:.3425119065778641},{x:.5901917436343531,y:.346681442891342},{x:.5906527316031134,y:.3508466486034176},{x:.590633622248786,y:.3510679861958218},{x:.5906558889520306,y:.35128902847947113},{x:.590254400640623,y:.3554603898480228},{x:.5898939395311937,y:.3596354965915505},{x:.5898320165355749,y:.3598488531940917},{x:.589810732180064,y:.3600699922305474},{x:.5886031661213459,y:.3640828755761044},{x:.5874351082520124,y:.3681074363403587},{x:.5873327512810971,y:.3683046127784522},{x:.5872687338126765,y:.3685173503185603},{x:.5853014960930706,y:.3722175427846122},{x:.5833707292727002,y:.37593689595641405},{x:.5832318718474782,y:.3761103148501221},{x:.583127581421558,y:.3763064755095204},{x:.5804762718833937,y:.37955178077467916},{x:.577856994398102,y:.38282299369748307},{x:.5776869727315521,y:.38296599065597503},{x:.5775464171707139,y:.38313803609053093},{x:.5743129241526703,y:.3858037388934479},{x:.5711057933673104,y:.38850110068914456},{x:.5709111412967293,y:.38860818041949885},{x:.5707397220723512,y:.3887494990196469},{x:.5670483068977423,y:.3907331578965531},{x:.5633765710498215,y:.39275301046402805},{x:.5631647689451196,y:.3928200579522583},{x:.5629690736018615,y:.39292521892344706},{x:.5589615952856832,y:.39415060297614785},{x:.5549663571246989,y:.39541532451398326},{x:.5547455444219794,y:.39543976316271745},{x:.5545330934221359,y:.39550472522779906},{x:.5503635571086607,y:.3959247436343527},{x:.5461983513965825,y:.39638573160311336},{x:.5459770138041778,y:.396366622248786},{x:.5457559715205288,y:.3963888889520305},{x:.32969497152052885,y:.39686888895203054},{x:.32091400776945256,y:.3960237321800639},{x:.31246664968143967,y:.39348173381267654},{x:.3046775244904796,y:.389340581421558},{x:.29784596390946905,y:.3837594171707138},{x:.2922345009803531,y:.3769527220723512},{x:.2880587810765529,y:.3691820736018615},{x:.2854792747722009,y:.3607460934221358},{x:.2845951110479695,y:.3519689715205288},{x:.2854402678199361,y:.3431880077694525},{x:.2879822661873235,y:.33474064968143963},{x:.29212341857844204,y:.32695152449047954},{x:.29770458282928614,y:.320119963909469},{x:.3045112779276488,y:.31450850098035305},{x:.31228192639813845,y:.3103327810765529},{x:.3207179065778642,y:.3077532747722009},{x:.3294950284794712,y:.30686911104796943},{x:.49017057214072013,y:.30651215509128404},{x:.45965681956734333,y:.16222033524572274},{x:.4108567628008364,y:.10626833604444391},{x:.35107150330533127,y:.0844934248457151},{x:.2825297162303303,y:.09056463065174497},{x:.21333680545064249,y:.12164203785622632},{x:.15562253329738823,y:.17126485077351794},{x:.1205010051965362,y:.2291186770707186},{x:.10185989085514695,y:.41364510354456796},{x:.13655871914038514,y:.5827099362211221},{x:.190187982415082,y:.6526649281775241},{x:.2569251189377254,y:.6872526727450867},{x:.3715857772516941,y:.6967797369989467},{x:.4883723057362636,y:.6711064406866752},{x:.49713228125159653,y:.6700660353148682},{x:.5059269093127409,y:.6707546074846872},{x:.5144182172953911,y:.6731456957538017},{x:.5222798889957544,y:.6771474119409674},{x:.529209804779262,y:.6826059723372997},{x:.5349416518686954,y:.6893116075279637},{x:.5392551585948644,y:.6970066237131456},{x:.5419845593133248,y:.7053953057362636},{x:.5430249646851317,y:.7141552812515966},{x:.5423363925153128,y:.722949909312741},{x:.5399453042461984,y:.7314412172953911},{x:.5359435880590326,y:.7393028889957545},{x:.5304850276627003,y:.7462328047792621},{x:.5237793924720363,y:.7519646518686954},{x:.5160843762868544,y:.7562781585948645},{x:.5076956942637364,y:.7590075593133249},{x:.38428269426373635,y:.7861375593133247},{x:.3819812519937546,y:.7864108971664274},{x:.3797153389243004,y:.7868977113667894},{x:.37761181025895013,y:.7869298473215656},{x:.37552271874840343,y:.7871779646851318},{x:.3732121724765259,y:.7869970613144796},{x:.370894825552222,y:.7870324638061055},{x:.24049282555222196,y:.7761974638061055},{x:.24043595887820252,y:.7761870527203061},{x:.24037815170992255,y:.776187787986971},{x:.2360978388350013,y:.7753928346522221},{x:.2318155069745089,y:.7746088302209789},{x:.231761764079766,y:.7745875250435272},{x:.2317049242166051,y:.7745769685631748},{x:.227661944055434,y:.7729622424167508},{x:.22361484767780643,y:.7713578609091699},{x:.22356629387164592,y:.7713264803860874},{x:.22351260563766895,y:.7713050378383375},{x:.13987060563766895,y:.7279560378383374},{x:.13900257424615298,y:.727391873258006},{x:.13805978359276902,y:.7269641982011581},{x:.13531067905832161,y:.7249923788161832},{x:.13247402218179744,y:.7231487342752945},{x:.13173273281971745,y:.7224260654354895},{x:.1308914928889356,y:.7218226787027751},{x:.128579894506033,y:.7193524235854973},{x:.12615742040314795,y:.7169907998540069},{x:.12557136040496888,y:.7161373985129647},{x:.12486399957555622,y:.7153814879181388},{x:.05884299957555622,y:.6292624879181389},{x:.05814177883495547,y:.6281337214080167},{x:.057292540659828396,y:.62711165542026},{x:.05581896837632758,y:.6243946553718145},{x:.05418793684040681,y:.6217691571968414},{x:.05372040128165289,y:.6205252782386133},{x:.05308687616260495,y:.6193571728131668},{x:.052171678571706244,y:.6164048994674943},{x:.051084196133809955,y:.613511651036194},{x:.05086831288622884,y:.6122004612006492},{x:.05047484683830003,y:.6109312059739318},{x:.012315846838300032,y:.4250072059739319},{x:.012065742114142504,y:.42261690788694145},{x:.011602778634016861,y:.4202585732767163},{x:.011607833784388823,y:.41824059149262255},{x:.011397831509003739,y:.41623356008285023}]],H:[[{x:.021894999999999998,y:.05103000000000002},{x:.02275966238185463,y:.04225093550927423},{x:.025320421036992093,y:.03380924554357098},{x:.029478867446385455,y:.026029339514117924},{x:.03507519484660536,y:.019210194846605383},{x:.04189433951411791,y:.013613867446385479},{x:.04967424554357096,y:.009455421036992116},{x:.05811593550927423,y:.006894662381854655},{x:.066895,y:.0060300000000000215},{x:.07567406449072576,y:.006894662381854655},{x:.08411575445642903,y:.009455421036992116},{x:.0918956604858821,y:.013613867446385486},{x:.09871480515339463,y:.019210194846605383},{x:.10431113255361453,y:.026029339514117924},{x:.1084695789630079,y:.03380924554357098},{x:.11103033761814536,y:.04225093550927425},{x:.111895,y:.05103000000000002},{x:.111895,y:.359342},{x:.490157,y:.359342},{x:.490157,y:.05103000000000002},{x:.49102166238185463,y:.04225093550927423},{x:.49358242103699207,y:.03380924554357098},{x:.49774086744638546,y:.026029339514117924},{x:.5033371948466053,y:.019210194846605383},{x:.5101563395141179,y:.013613867446385479},{x:.517936245543571,y:.009455421036992116},{x:.5263779355092743,y:.006894662381854655},{x:.535157,y:.0060300000000000215},{x:.5439360644907257,y:.006894662381854655},{x:.552377754456429,y:.009455421036992116},{x:.5601576604858821,y:.013613867446385486},{x:.5669768051533947,y:.019210194846605383},{x:.5725731325536145,y:.026029339514117924},{x:.5767315789630079,y:.03380924554357098},{x:.5792923376181454,y:.04225093550927425},{x:.580157,y:.05103000000000002},{x:.580157,y:.729004},{x:.5792923376181454,y:.7377830644907257},{x:.5767315789630079,y:.746224754456429},{x:.5725731325536145,y:.7540046604858821},{x:.5669768051533947,y:.7608238051533946},{x:.5601576604858821,y:.7664201325536145},{x:.552377754456429,y:.7705785789630079},{x:.5439360644907257,y:.7731393376181454},{x:.535157,y:.774004},{x:.5263779355092743,y:.7731393376181454},{x:.517936245543571,y:.7705785789630079},{x:.5101563395141179,y:.7664201325536145},{x:.5033371948466053,y:.7608238051533946},{x:.49774086744638546,y:.7540046604858821},{x:.49358242103699207,y:.746224754456429},{x:.49102166238185463,y:.7377830644907257},{x:.490157,y:.729004},{x:.490157,y:.44934199999999996},{x:.111895,y:.44934199999999996},{x:.111895,y:.729004},{x:.11103033761814536,y:.7377830644907257},{x:.10846957896300788,y:.746224754456429},{x:.10431113255361453,y:.7540046604858821},{x:.09871480515339463,y:.7608238051533946},{x:.09189566048588207,y:.7664201325536145},{x:.08411575445642903,y:.7705785789630079},{x:.07567406449072576,y:.7731393376181454},{x:.066895,y:.774004},{x:.05811593550927421,y:.7731393376181454},{x:.04967424554357093,y:.7705785789630079},{x:.04189433951411791,y:.7664201325536145},{x:.03507519484660536,y:.7608238051533946},{x:.029478867446385455,y:.7540046604858821},{x:.025320421036992093,y:.746224754456429},{x:.02275966238185463,y:.7377830644907257},{x:.021894999999999998,y:.729004},{x:.021894999999999998,y:.05103000000000002}]],I:[[{x:.25602600000000003,y:.05103000000000002},{x:.25689066238185465,y:.04225093550927423},{x:.2594514210369921,y:.03380924554357098},{x:.2636098674463855,y:.026029339514117924},{x:.26920619484660535,y:.019210194846605383},{x:.27602533951411795,y:.013613867446385479},{x:.283805245543571,y:.009455421036992116},{x:.2922469355092743,y:.006894662381854655},{x:.301026,y:.0060300000000000215},{x:.3098050644907258,y:.006894662381854655},{x:.3182467544564291,y:.009455421036992116},{x:.32602666048588214,y:.013613867446385486},{x:.3328458051533947,y:.019210194846605383},{x:.33844213255361455,y:.026029339514117924},{x:.34260057896300794,y:.03380924554357098},{x:.3451613376181454,y:.04225093550927425},{x:.346026,y:.05103000000000002},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.05103000000000002}]],J:[[{x:.0492700034030052,y:.22191686675397743},{x:.05066400340300519,y:.18438286675397747},{x:.05116783173382979,y:.18068175768771486},{x:.05155979864248331,y:.17696713613904605},{x:.05874879864248331,y:.14209513613904604},{x:.05880353678004782,y:.1419191061579158},{x:.05882437610196882,y:.14173594355086241},{x:.060112741823836933,y:.13770889095133898},{x:.06136821695472819,y:.13367146342030908},{x:.0614562450600313,y:.133509494686791},{x:.06151241721221637,y:.13333391704789688},{x:.07511841721221638,y:.10184091704789687},{x:.07557207470549994,y:.10102219111224012},{x:.07589401217340325,y:.10014328637013822},{x:.07770640675364808,y:.09717031380613761},{x:.07939396242231754,y:.09412474393402119},{x:.07999862852050488,y:.09341025377409445},{x:.08048584585939292,y:.09261104382444658},{x:.10112984585939291,y:.06520804382444652},{x:.10197173470408774,y:.06429305686105671},{x:.10267645797068833,y:.06326868237508665},{x:.10495244591663212,y:.06105354143298789},{x:.10710291637241387,y:.058716353519649434},{x:.10810713366035453,y:.05798319214000915},{x:.10899816141532707,y:.05711598541156246},{x:.1373061614153271,y:.03451898541156248},{x:.13912164740426522,y:.03334117545586675},{x:.1408101373903697,y:.03198757757075004},{x:.14281300361792376,y:.03094638082514127},{x:.14470672673278473,y:.029717813955661344},{x:.1467171079910441,y:.028916819034200267},{x:.14863722796281134,y:.027918638208003034},{x:.20683022796281134,y:.004592638208003076},{x:.20850921914024034,y:.004104279923540699},{x:.2101185278310492,y:.0034204446176558795},{x:.21273469892125257,y:.0028752394826936905},{x:.21530073387518742,y:.0021288719943945503},{x:.21704273768291169,y:.0019774523068977427},{x:.21875453360851305,y:.0016207172553791283},{x:.2976895336085131,y:-.0068802827446208525},{x:.29850402526559744,y:-.006887701289741747},{x:.2993068957135494,y:-.007024999279811796},{x:.30290822222422875,y:-.006927815554356645},{x:.3065107103471747,y:-.0069606277022222565},{x:.30731099906181086,y:-.006809004262418785},{x:.30812522808832776,y:-.0067870318558802545},{x:.3663632280883278,y:.0005399681441197179},{x:.367446910459264,y:.0007860908462292888},{x:.3685549625674647,y:.000870733572342984},{x:.37174033606180384,y:.0017612008405818037},{x:.37496569353784953,y:.0024937343933679954},{x:.37598053709868623,y:.002946543859479297},{x:.3770507853196353,y:.0032457304419443098},{x:.4423997853196353,y:.028649730441944292},{x:.44339023767510893,y:.0291515261148112},{x:.4444435524779453,y:.029502699422305954},{x:.4473177196266577,y:.03114131738307233},{x:.45026902431580135,y:.03263654520916596},{x:.4511425499275847,y:.03332192668785485},{x:.4521071150681948,y:.03387184382278591},{x:.4818761150681948,y:.0549598438227859},{x:.482276572000261,y:.05530719927286456},{x:.48273081061614365,y:.05558049186877649},{x:.48560514894853896,y:.05819439949693127},{x:.48854004666413575,y:.060740123232255375},{x:.48886504324193186,y:.061158929616590856},{x:.48925723704963914,y:.06151558852974905},{x:.5141262370496392,y:.08904658852974903},{x:.5149956342421861,y:.09022293690705172},{x:.5160117353213701,y:.09127516577002369},{x:.5176116053111659,y:.0937625081737249},{x:.5193693801104602,y:.0961408866071265},{x:.519992577896003,y:.09746424275846524},{x:.5207838752101566,y:.09869448482562238},{x:.5385188752101566,y:.1333154848256224},{x:.5396070973995049,y:.13607819549886616},{x:.5408707323766272,y:.1387652058155645},{x:.5412201620380835,y:.14017334347255597},{x:.5417518824254063,y:.14152324205357814},{x:.5422802166156467,y:.1444451696332536},{x:.5429953614930656,y:.1473270727547606},{x:.5523413614930656,y:.2113020727547606},{x:.5524962602601196,y:.21460328519222147},{x:.5528139181508881,y:.2178928278123641},{x:.5518389181508881,y:.7290898278123641},{x:.5509575131661891,y:.7378672271777721},{x:.5483806584624608,y:.7463040176932935},{x:.5442073811208505,y:.7540759782308231},{x:.5385980578491955,y:.7608844367054697},{x:.5317682517950807,y:.7664677478762799},{x:.5239804285749665,y:.7706113482261165},{x:.5155338698677402,y:.7731560015172932},{x:.5067531721876358,y:.7740039181508881},{x:.4979757728222279,y:.7731225131661891},{x:.4895389823067066,y:.7705456584624607},{x:.48176702176917696,y:.7663723811208505},{x:.4749585632945304,y:.7607630578491954},{x:.46937525212372017,y:.7539332517950806},{x:.4652316517738835,y:.7461454285749665},{x:.46268699848270683,y:.7376988698677401},{x:.461839081849112,y:.7289181721876359},{x:.462807763438783,y:.22103394388498027},{x:.45501827222953295,y:.16771351802238937},{x:.44337725180090903,y:.14498874958374325},{x:.42579959063650114,y:.12552955984883984},{x:.4046143325842134,y:.11052217895574154},{x:.34961801160788414,y:.08914271579513207},{x:.3021031758959219,y:.08316481131246532},{x:.2345584384824393,y:.09043912324952764},{x:.18827433696976265,y:.10899157718530504},{x:.16959144206995366,y:.1239052897771866},{x:.155605251275173,y:.14247066404328695},{x:.14596289111822178,y:.16478926233983734},{x:.14046290234137151,y:.19146830095804884},{x:.13920799659699482,y:.22525713324602253},{x:.1380181031040591,y:.23399805813086086},{x:.13514580323043823,y:.24233889189031887},{x:.13070147784947123,y:.24995910096061402},{x:.12485591989314217,y:.25656584498063745},{x:.11783377087548613,y:.26190523048280423},{x:.10990488804518514,y:.26577206787662816},{x:.10137397392283892,y:.2680177567696118},{x:.09256886675397746,y:.2685559965969948},{x:.08382794186913914,y:.26736610310405906},{x:.07548710810968112,y:.26449380323043825},{x:.06786689903938595,y:.2600494778494712},{x:.06126015501936256,y:.2542039198931421},{x:.055920769517195726,y:.24718177087548612},{x:.052053932123371845,y:.23925288804518513},{x:.04980824323038816,y:.2307219739228389},{x:.0492700034030052,y:.22191686675397743}]],K:[[{x:-.009598999999999996,y:.05103000000000002},{x:-.008734337618145363,y:.04225093550927423},{x:-.006173578963007902,y:.03380924554357098},{x:-.002015132553614539,y:.026029339514117924},{x:.003581194846605365,y:.019210194846605383},{x:.010400339514117916,y:.013613867446385479},{x:.018180245543570964,y:.009455421036992116},{x:.026621935509274233,y:.006894662381854655},{x:.035401,y:.0060300000000000215},{x:.04418006449072578,y:.006894662381854655},{x:.05262175445642904,y:.009455421036992116},{x:.06040166048588211,y:.013613867446385486},{x:.06722080515339464,y:.019210194846605383},{x:.07281713255361454,y:.026029339514117924},{x:.07697557896300791,y:.03380924554357098},{x:.07953633761814537,y:.04225093550927425},{x:.080401,y:.05103000000000002},{x:.080401,y:.29048154892126793},{x:.18934433769134518,y:.3772029724897202},{x:.5349508182082354,y:.03415901207017739},{x:.5417907398770268,y:.02858809778868676},{x:.5495860658299886,y:.024458629583942203},{x:.5580372260624178,y:.02192930060321959},{x:.5668194472260474,y:.021097311540784057},{x:.5755952334866855,y:.021994635269720175},{x:.5840273362998535,y:.024586788142349852},{x:.5917917146832189,y:.028774155177474024},{x:.5985899879298227,y:.03439581820823536},{x:.6041609022113132,y:.04123573987702663},{x:.6082903704160578,y:.04903106582998847},{x:.6108196993967804,y:.05748222606241771},{x:.6116516884592159,y:.06626444722604735},{x:.6107543647302798,y:.07504023348668547},{x:.6081622118576502,y:.08347233629985339},{x:.603974844822526,y:.0912367146832188},{x:.5983531817917647,y:.09803498792982254},{x:.26024203797571366,y:.43363918627462555},{x:.5302838206406747,y:.648598708462355},{x:.5366139141989896,y:.654742773070568},{x:.5416237292416561,y:.6620037211908337},{x:.545120741386121,y:.6701025186588768},{x:.5469705624168195,y:.6787279332298585},{x:.5471021047489336,y:.6875484950590041},{x:.5455103132844098,y:.6962252349018474},{x:.542256359676543,y:.7044247105121999},{x:.537465291537645,y:.7118318206406747},{x:.531321226929432,y:.7181619141989897},{x:.5240602788091663,y:.7231717292416562},{x:.5159614813411232,y:.726668741386121},{x:.5073360667701415,y:.7285185624168196},{x:.498515504940996,y:.7286501047489337},{x:.48983876509815266,y:.7270583132844098},{x:.48163928948780005,y:.723804359676543},{x:.47423217935932527,y:.719013291537645},{x:.080401,y:.4055145384845117},{x:.080401,y:.729004},{x:.07953633761814537,y:.7377830644907257},{x:.07697557896300788,y:.746224754456429},{x:.07281713255361454,y:.7540046604858821},{x:.06722080515339464,y:.7608238051533946},{x:.06040166048588208,y:.7664201325536145},{x:.052621754456429054,y:.7705785789630079},{x:.04418006449072578,y:.7731393376181454},{x:.035401,y:.774004},{x:.026621935509274212,y:.7731393376181454},{x:.018180245543570936,y:.7705785789630079},{x:.010400339514117906,y:.7664201325536145},{x:.003581194846605358,y:.7608238051533946},{x:-.002015132553614539,y:.7540046604858821},{x:-.006173578963007902,y:.746224754456429},{x:-.008734337618145363,y:.7377830644907257},{x:-.009598999999999996,y:.729004},{x:-.009598999999999996,y:.05103000000000002}]],L:[[{x:.030439999999999995,y:.05103000000000002},{x:.03130466238185463,y:.04225093550927423},{x:.03386542103699209,y:.03380924554357098},{x:.03802386744638545,y:.026029339514117924},{x:.043620194846605356,y:.019210194846605383},{x:.05043933951411791,y:.013613867446385479},{x:.058219245543570955,y:.009455421036992116},{x:.06666093550927422,y:.006894662381854655},{x:.07544,y:.0060300000000000215},{x:.526613,y:.0060300000000000215},{x:.5353920644907257,y:.006894662381854655},{x:.543833754456429,y:.009455421036992116},{x:.5516136604858821,y:.013613867446385479},{x:.5584328051533947,y:.019210194846605383},{x:.5640291325536145,y:.026029339514117924},{x:.5681875789630079,y:.03380924554357098},{x:.5707483376181454,y:.04225093550927425},{x:.571613,y:.05103000000000002},{x:.5707483376181454,y:.05980906449072579},{x:.5681875789630079,y:.06825075445642906},{x:.5640291325536145,y:.07603066048588211},{x:.5584328051533947,y:.08284980515339466},{x:.5516136604858821,y:.08844613255361455},{x:.543833754456429,y:.09260457896300792},{x:.5353920644907257,y:.09516533761814538},{x:.526613,y:.09603000000000002},{x:.12043999999999999,y:.09603000000000002},{x:.12043999999999999,y:.729004},{x:.11957533761814536,y:.7377830644907257},{x:.11701457896300788,y:.746224754456429},{x:.11285613255361453,y:.7540046604858821},{x:.10725980515339463,y:.7608238051533946},{x:.10044066048588207,y:.7664201325536145},{x:.09266075445642903,y:.7705785789630079},{x:.08421906449072576,y:.7731393376181454},{x:.07544,y:.774004},{x:.06666093550927422,y:.7731393376181454},{x:.05821924554357093,y:.7705785789630079},{x:.05043933951411791,y:.7664201325536145},{x:.043620194846605356,y:.7608238051533946},{x:.03802386744638545,y:.7540046604858821},{x:.03386542103699209,y:.746224754456429},{x:.03130466238185463,y:.7377830644907257},{x:.030439999999999995,y:.729004},{x:.030439999999999995,y:.05103000000000002}]],M:[[{x:-.0025190000000000004,y:.05103000000000002},{x:-.001654337618145367,y:.04225093550927423},{x:.0009064210369920944,y:.03380924554357098},{x:.005064867446385457,y:.026029339514117924},{x:.010661194846605361,y:.019210194846605383},{x:.017480339514117912,y:.013613867446385479},{x:.02526024554357096,y:.009455421036992116},{x:.03370193550927423,y:.006894662381854655},{x:.042481,y:.0060300000000000215},{x:.051260064490725774,y:.006894662381854655},{x:.05970175445642904,y:.009455421036992116},{x:.06748166048588208,y:.013613867446385486},{x:.07430080515339463,y:.019210194846605383},{x:.07989713255361454,y:.026029339514117924},{x:.0840555789630079,y:.03380924554357098},{x:.08661633761814536,y:.04225093550927425},{x:.087481,y:.05103000000000002},{x:.087481,y:.5631122522964573},{x:.26219554141599577,y:.26476777519375044},{x:.26376288989624813,y:.2626088267569117},{x:.2651577075441738,y:.2603345964826191},{x:.26634817172230724,y:.2590477232579252},{x:.26737807478439135,y:.2576290804774607},{x:.2693364970488442,y:.25581739014918375},{x:.271148193983327,y:.2538589739959976},{x:.27256684023788735,y:.25282907571933333},{x:.27385371747828813,y:.25163861588213104},{x:.27612795245761435,y:.25024380590572387},{x:.27828690618147356,y:.24867646470811877},{x:.2798792167324836,y:.24794311979268302},{x:.28137361418054185,y:.2470265916026687},{x:.2838762642998919,y:.24610226374330602},{x:.28629950743227456,y:.24498622954453103},{x:.28800429067823724,y:.24457762002415934},{x:.28964877947809164,y:.24397024514568044},{x:.29228366929688115,y:.24355192080462856},{x:.2948780779631802,y:.2429300821730634},{x:.29662982004000654,y:.24286191068247276},{x:.29836120340931876,y:.24258703019148947},{x:.3010270755894747,y:.24269078533857608},{x:.3036929481196057,y:.24258703918410057},{x:.30542433056167173,y:.24286192551544342},{x:.30717607240852984,y:.24293010291506947},{x:.3097704789772072,y:.24355195029817853},{x:.3124053673848756,y:.24397028352732772},{x:.31404985413590314,y:.24457766395304856},{x:.3157546360035206,y:.24498627922405064},{x:.3181778753712451,y:.24610232159698525},{x:.32068052237260675,y:.24702665789836697},{x:.32217491672899246,y:.24794319112932822},{x:.32376722480624953,y:.2486765414159958},{x:.3259261732430879,y:.2502438898962479},{x:.3282004035173809,y:.2516387075441738},{x:.329487276742075,y:.2528291717223074},{x:.3309059195225393,y:.2538590747843914},{x:.3327176098508159,y:.2558174970488439},{x:.33467602600400237,y:.257629193983327},{x:.3357059242806667,y:.2590478402378874},{x:.33689638411786893,y:.2603347174782881},{x:.3382911940942761,y:.2626089524576143},{x:.3398585352918812,y:.26476790618147356},{x:.514571,y:.5631111449291359},{x:.514571,y:.05103000000000002},{x:.5154356623818547,y:.04225093550927423},{x:.5179964210369922,y:.03380924554357098},{x:.5221548674463855,y:.026029339514117924},{x:.5277511948466054,y:.019210194846605383},{x:.5345703395141179,y:.013613867446385479},{x:.542350245543571,y:.009455421036992116},{x:.5507919355092743,y:.006894662381854655},{x:.559571,y:.0060300000000000215},{x:.5683500644907258,y:.006894662381854655},{x:.576791754456429,y:.009455421036992116},{x:.5845716604858822,y:.013613867446385486},{x:.5913908051533947,y:.019210194846605383},{x:.5969871325536146,y:.026029339514117924},{x:.6011455789630079,y:.03380924554357098},{x:.6037063376181454,y:.04225093550927425},{x:.6045710000000001,y:.05103000000000002},{x:.6045710000000001,y:.729004},{x:.6044399806971988,y:.7303342613054065},{x:.6044919608158994,y:.7316699481196056},{x:.6040085293496043,y:.7347148603514975},{x:.6037063376181454,y:.7377830644907257},{x:.6033183147080721,y:.7390622046001841},{x:.6031087164726723,y:.7403823673848756},{x:.6020405410986152,y:.7432744596816038},{x:.6011455789630079,y:.746224754456429},{x:.6005154639484909,y:.7474036167328832},{x:.600052342101633,y:.7486575223726067},{x:.5984404722003996,y:.7512856532491108},{x:.5969871325536146,y:.7540046604858821},{x:.596139140401289,y:.7550379419131618},{x:.5954402924558263,y:.7561774035173808},{x:.5933466712837743,y:.758440575377949},{x:.5913908051533947,y:.7608238051533946},{x:.5903575237261146,y:.7616717973057207},{x:.589449806016673,y:.7626530260040023},{x:.5869548902613284,y:.7644642664232344},{x:.5845716604858822,y:.7664201325536145},{x:.5833927982094276,y:.7670502475681318},{x:.5823110938185264,y:.7678355352918812},{x:.579510761693201,y:.7691252393162225},{x:.576791754456429,y:.7705785789630079},{x:.5755126143469705,y:.7709666018730812},{x:.5742984925677255,y:.7715257704554689},{x:.5713003592655512,y:.772244375482538},{x:.5683500644907258,y:.7731393376181454},{x:.5670198031853202,y:.7732703569209465},{x:.5657199220368199,y:.7735819178269366},{x:.5626392041392276,y:.7737018082685412},{x:.559571,y:.774004},{x:.5582407386945936,y:.7738729806971988},{x:.5569050518803944,y:.7739249608158993},{x:.5538601396485026,y:.7734415293496042},{x:.5507919355092743,y:.7731393376181454},{x:.5495127953998159,y:.772751314708072},{x:.5481926326151244,y:.7725417164726722},{x:.5453005403183963,y:.7714735410986151},{x:.542350245543571,y:.7705785789630079},{x:.5411713832671168,y:.7699484639484908},{x:.5399174776273933,y:.769485342101633},{x:.5372893467508892,y:.7678734722003996},{x:.5345703395141179,y:.7664201325536145},{x:.5335370580868383,y:.765572140401289},{x:.5323975964826192,y:.7648732924558262},{x:.5301344246220511,y:.7627796712837742},{x:.5277511948466054,y:.7608238051533946},{x:.5269032026942794,y:.7597905237261146},{x:.5259219739959977,y:.7588828060166729},{x:.5241107335767656,y:.7563878902613284},{x:.5221548674463855,y:.7540046604858821},{x:.5215247524318682,y:.7528257982094275},{x:.5207394647081188,y:.7517440938185264},{x:.30102684980758887,y:.3765575080608823},{x:.08131245858400418,y:.7517442248062496},{x:.0805272117946797,y:.752825865136849},{x:.07989713255361454,y:.7540046604858821},{x:.07794121846393844,y:.7563879486998997},{x:.0761299252156086,y:.7588829195225393},{x:.07514874916275306,y:.7597905823884902},{x:.07430080515339463,y:.7608238051533946},{x:.0719175169393771,y:.7627797192430708},{x:.06965428252171184,y:.764873384117869},{x:.06851488325078628,y:.7655721885442563},{x:.06748166048588208,y:.7664201325536145},{x:.06476258657702469,y:.7678735078373721},{x:.06213438581945812,y:.7694854083973313},{x:.06088054980546198,y:.7699484997219428},{x:.05970175445642904,y:.7705785789630079},{x:.056751387338174995,y:.7714735630437544},{x:.05385922052190834,y:.7725417548543195},{x:.05253913197970031,y:.7727513367372549},{x:.051260064490725774,y:.7731393376181454},{x:.04819178511684276,y:.773441536759571},{x:.0451467965906812,y:.7739249698085104},{x:.04381118578262464,y:.7738729881355436},{x:.042481,y:.774004},{x:.039412720626117295,y:.7737018008585744},{x:.03633192759147018,y:.7735818970849305},{x:.035032121291898165,y:.7732703494826018},{x:.03370193550927423,y:.7731393376181454},{x:.030751568391020223,y:.7722443535373988},{x:.02775336399647938,y:.7715257207759494},{x:.026539313032545114,y:.7709665798438982},{x:.02526024554357096,y:.7705785789630079},{x:.02254117163471342,y:.7691252036792503},{x:.01974077519375046,y:.7678354585840041},{x:.01865913486315115,y:.7670502117946798},{x:.017480339514117912,y:.7664201325536145},{x:.015097051300099952,y:.7644642184639381},{x:.012602080477460715,y:.7626529252156086},{x:.011694417611510011,y:.7616717491627533},{x:.010661194846605361,y:.7608238051533946},{x:.008705280756928618,y:.7584405169393763},{x:.006611615882131057,y:.7561772825217118},{x:.005912811455744052,y:.7550378832507868},{x:.005064867446385457,y:.7540046604858821},{x:.0036114921626275165,y:.7512855865770239},{x:.0019995916026687363,y:.7486573858194581},{x:.0015365002780573323,y:.7474035498054622},{x:.0009064210369920944,y:.746224754456429},{x:11436956245516774e-21,y:.7432743873381747},{x:-.0010567548543195318,y:.7403822205219084},{x:-.0012663367372549837,y:.7390621319797002},{x:-.001654337618145367,y:.7377830644907257},{x:-.0019565367595708303,y:.7347147851168438},{x:-.0024399698085105087,y:.7316697965906812},{x:-.0023879881355436095,y:.730334185782624},{x:-.0025190000000000004,y:.729004},{x:-.0025190000000000004,y:.05103000000000002}]],N:[[{x:.022871000000000002,y:.05103000000000002},{x:.023735662381854636,y:.04225093550927423},{x:.026296421036992097,y:.03380924554357098},{x:.03045486744638546,y:.026029339514117924},{x:.036051194846605364,y:.019210194846605383},{x:.042870339514117915,y:.013613867446385479},{x:.05065024554357096,y:.009455421036992116},{x:.05909193550927423,y:.006894662381854655},{x:.067871,y:.0060300000000000215},{x:.07665006449072577,y:.006894662381854655},{x:.08509175445642904,y:.009455421036992116},{x:.0928716604858821,y:.013613867446385486},{x:.09969080515339464,y:.019210194846605383},{x:.10528713255361455,y:.026029339514117924},{x:.10944557896300791,y:.03380924554357098},{x:.11200633761814537,y:.04225093550927425},{x:.112871,y:.05103000000000002},{x:.112871,y:.5841703094604355},{x:.49710429367778214,y:.025528669675955993},{x:.4971050718109503,y:.02552774709009411},{x:.49710565506134197,y:.025526690456344234},{x:.49994880496714983,y:.022156103119426583},{x:.5027917749380927,y:.01878536401177818},{x:.5027927181072235,y:.018784610959395015},{x:.5027934962896407,y:.018783688415073364},{x:.5062395848358414,y:.016032536999645196},{x:.5096855265142521,y:.01328120162562755},{x:.5096865984738844,y:.013280647046104224},{x:.5096875416832135,y:.013279894044071351},{x:.5136041376200112,y:.011253903755746949},{x:.5175206253992491,y:.009227704391234041},{x:.5175217849545753,y:.009227369596750634},{x:.5175228569438108,y:.00922681507445236},{x:.5217594476858983,y:.008003843583871996},{x:.5259959731369073,y:.006780645934087934},{x:.5259971757268666,y:.006780543790608634},{x:.5259983353000632,y:.006780209058025982},{x:.5303921110410749,y:.006407254473822295},{x:.5347858668666982,y:.00603406533837119},{x:.5347870662764328,y:.00603419977121261},{x:.5347882688718429,y:.006034097691931008},{x:.5391703792739257,y:.006525492449663053},{x:.5435525159020149,y:.007016653277689966},{x:.5435536660388816,y:.007017019120673398},{x:.543554865441438,y:.007017153617542397},{x:.547756908459233,y:.008354013692199154},{x:.5519590228368241,y:.009690649448577907},{x:.5519600795017079,y:.0096912326425627},{x:.551961229619043,y:.009691598546943021},{x:.555821723096155,y:.01182254915564361},{x:.559682330324044,y:.013953293677782128},{x:.5596832529099061,y:.01395407181095043},{x:.5596843095436558,y:.013954655061341997},{x:.5630548968806759,y:.016797804967236304},{x:.5664256359882218,y:.01964077493809272},{x:.5664263890406048,y:.019641718107223288},{x:.5664273115849267,y:.019642496289640633},{x:.5691784630004857,y:.02308858483600535},{x:.5719297983743725,y:.026534526514252196},{x:.5719303529538958,y:.0265355984738845},{x:.5719311059559287,y:.0265365416832135},{x:.5739570962443242,y:.03045313762014873},{x:.575983295608766,y:.03436962539924916},{x:.5759836304032494,y:.03437078495457533},{x:.5759841849255477,y:.0343718569438108},{x:.5772071564160691,y:.03860844768569421},{x:.5784303540659121,y:.04284497313690728},{x:.5784304562093915,y:.04284617572686688},{x:.578430790941974,y:.042847335300063204},{x:.5788037455260991,y:.04724111104014873},{x:.5791769346616289,y:.05163486686669809},{x:.5791768002287875,y:.05163606627643281},{x:.5791769023080691,y:.05163726887184294},{x:.5700269023080691,y:.7296112688718429},{x:.5690438463824576,y:.738377865441438},{x:.566369401453057,y:.746784229619043},{x:.5621063449386581,y:.7545073095436557},{x:.5564185037103594,y:.7612503115849266},{x:.5495244583167865,y:.7667541059559286},{x:.5416891430561892,y:.7708071849255477},{x:.5332136646999368,y:.773253790941974},{x:.5244237311281571,y:.773999902308069},{x:.515657134558562,y:.7730168463824576},{x:.507250770380957,y:.770342401453057},{x:.49952769045634426,y:.766079344938658},{x:.4927846884150734,y:.7603915037103594},{x:.4872808940440714,y:.7534974583167865},{x:.4832278150744524,y:.7456621430561892},{x:.480781209058026,y:.7371866646999369},{x:.48003509769193103,y:.7283967311281571},{x:.48718300813543913,y:.19876859615253395},{x:.10494770632221789,y:.754505330324044},{x:.1022980223560627,y:.75764690179997},{x:.09969080515339464,y:.7608238051533946},{x:.09945603456444842,y:.7610164763964532},{x:.09926022506190729,y:.7612486359882218},{x:.09604856383930557,y:.7638129153509474},{x:.0928716604858821,y:.7664201325536145},{x:.09260381265312083,y:.7665633002029657},{x:.09236647348574781,y:.7667527983743725},{x:.08871625734636118,y:.7686412418060533},{x:.08509175445642904,y:.7705785789630079},{x:.08480112262185491,y:.7706667411661766},{x:.08453137460075086,y:.770806295608766},{x:.08058287930375276,y:.7719463312873718},{x:.07665006449072577,y:.7731393376181454},{x:.07634781747275289,y:.773169106351106},{x:.07605602686309273,y:.7732533540659121},{x:.07196099086840901,y:.7736011710596524},{x:.067871,y:.774004},{x:.06756875298202693,y:.7739742312670393},{x:.06726613313330192,y:.7739999346616289},{x:.06318192637768459,y:.7735421665584931},{x:.05909193550927423,y:.7731393376181454},{x:.05880130367469977,y:.7730511754149765},{x:.05849948409798508,y:.77301734672231},{x:.054583060356599135,y:.7717715852937818},{x:.05065024554357096,y:.7705785789630079},{x:.0503823977108098,y:.7704354113136568},{x:.050092977163175983,y:.7703433505514221},{x:.04649484240404986,y:.768357469710569},{x:.042870339514117915,y:.7664201325536145},{x:.04263556892517204,y:.7662274613105563},{x:.04236966967595597,y:.7660807063222179},{x:.03922809820002561,y:.7634310223560591},{x:.036051194846605364,y:.7608238051533946},{x:.03585852360354703,y:.7605890345644487},{x:.035626364011778155,y:.7603932250619073},{x:.033062084649052234,y:.7571815638393052},{x:.03045486744638546,y:.7540046604858821},{x:.030311699797034096,y:.7537368126531205},{x:.03012220162562753,y:.7534994734857478},{x:.028233758193948882,y:.7498492573463653},{x:.026296421036992097,y:.746224754456429},{x:.026208258833823234,y:.7459341226218545},{x:.026068704391234022,y:.7456643746007509},{x:.02492866871262922,y:.741715879303756},{x:.023735662381854636,y:.7377830644907257},{x:.023705893648893955,y:.7374808174727527},{x:.023621645934087915,y:.7371890268630927},{x:.023273828940347806,y:.7330939908684111},{x:.022871000000000002,y:.729004},{x:.022871000000000002,y:.05103000000000002}]],O:[[{x:.012131736117046842,y:.4355587711738732},{x:.012426138979982786,y:.43287355609157196},{x:.012514983726773468,y:.43017371170811375},{x:.012905745911416293,y:.42849911573111366},{x:.01309315536666239,y:.42678977537085305},{x:.07316415536666239,y:.1412837753708531},{x:.07429915106219231,y:.13768552483470178},{x:.07533122192175289,y:.13405641311271962},{x:.07562440736087628,y:.1334840955199844},{x:.07581784742995093,y:.1328708369543332},{x:.07763301835724021,y:.12956315246900071},{x:.0793532628391043,y:.12620512014747703},{x:.07975246842568721,y:.12570099711853563},{x:.0800618324091279,y:.12513726042963025},{x:.08248742256740031,y:.1222472544549173},{x:.0848297326408542,y:.1192893488327618},{x:.1660597326408542,y:.03517334883276172},{x:.16792084009780786,y:.033590824390739155},{x:.16963596886504836,y:.031851158363102774},{x:.17127304088861567,y:.03074040344046043},{x:.172780173663761,y:.0294588683817891},{x:.1749142556657825,y:.0282698357562587},{x:.17693582072022015,y:.026898201947035502},{x:.17875813439943417,y:.026128166777013812},{x:.18048632312818114,y:.025165283073572443},{x:.1828113681007397,y:.02441543612151622},{x:.18506168183103927,y:.023464545648773483},{x:.2739246818310393,y:-.0041824543512264944},{x:.2748960678404206,y:-.004382857312604547},{x:.27582577451608603,y:-.004728396924478621},{x:.2792086173377598,y:-.005272563034129881},{x:.28256427991205235,y:-.0059648570457577},{x:.28355609768991147,y:-.005971901311054349},{x:.2845353517466465,y:-.006129424701440567},{x:.287959355733624,y:-.0060031749164705245},{x:.2913856000541485,y:-.006027509400590186},{x:.29235973459950004,y:-.005840924262640544},{x:.29335090385307644,y:-.005804377895986514},{x:.3811419038530764,y:.006122622104013507},{x:.38318930529213563,y:.00660893405691686},{x:.3852758334501729,y:.006882342567970358},{x:.387470347489584,y:.0076257947232155985},{x:.38972465411174423,y:.008161252125438313},{x:.3916378405507577,y:.009037647936572414},{x:.39363093730084414,y:.009712864429997858},{x:.3956382440479665,y:.010870159811164118},{x:.3977447722434711,y:.011835121954387393},{x:.39945022100051475,y:.01306792222421872},{x:.4012732927522862,y:.01411899850883961},{x:.4916652927522862,y:.07880999850883955},{x:.49276799959381884,y:.07977586317754862},{x:.49398769122063274,y:.08058901093294302},{x:.4960788615418114,y:.08267585840574071},{x:.4983012083703825,y:.08462241954283417},{x:.4991942961599152,y:.08578485282556958},{x:.5002319144966787,y:.08682032620708877},{x:.5018757798210403,y:.08927504258220473},{x:.5036756696393939,y:.09161775945128844},{x:.5043248175140242,y:.09293208968889465},{x:.5051404874699588,y:.09415009603518716},{x:.5560304874699588,y:.18912209603518723},{x:.5570965448702581,y:.19168827319789875},{x:.5583465570022521,y:.1941700494329812},{x:.5587848767756364,y:.19575236841213633},{x:.559414776433869,y:.19726864147332673},{x:.5599597135111237,y:.1999934877429328},{x:.5607015364856348,y:.20267144261291137},{x:.5892585364856349,y:.36700144261291134},{x:.5895780755292599,y:.371318367211785},{x:.589913428370686,y:.37563409214099147},{x:.5899036127276142,y:.3757163259822715},{x:.58990972616553,y:.3757989176124618},{x:.5893809351459178,y:.38009523269056544},{x:.5888678881103582,y:.38439345626922305},{x:.5314878881103581,y:.6446844562692231},{x:.5303800126922803,y:.6480826863142071},{x:.5293998170293023,y:.651519919480997},{x:.5290148883003433,y:.6522699863013032},{x:.5287535704445262,y:.6530715368858165},{x:.5270040207481954,y:.6561883351212919},{x:.5253720883446767,y:.6593682961290664},{x:.5248482251358019,y:.6600288547560561},{x:.5244355536676654,y:.6607640231862051},{x:.522111563906752,y:.6634796128039058},{x:.5198906090097624,y:.6662800975344761},{x:.4528876090097624,y:.7355630975344761},{x:.4513498405668143,y:.7368687638478525},{x:.44995999895015265,y:.7383308981052339},{x:.44799560298794544,y:.7397167316507253},{x:.4461630292013509,y:.741272707045399},{x:.44440008568631667,y:.7422532816059559},{x:.4427517012434998,y:.743416176715023},{x:.4405546878862334,y:.7443921472166956},{x:.43845377075029196,y:.7455607075703166},{x:.43653340109378364,y:.7461785074476045},{x:.43468982031452474,y:.7469974740014746},{x:.32025082031452473,y:.7849044740014746},{x:.3162756641960007,y:.785800462676764},{x:.3123143949565378,y:.7867559771378485},{x:.3119757732525013,y:.7867696456410259},{x:.3116451697261732,y:.786844162718285},{x:.30757159639863574,y:.7869474207351895},{x:.30350003021295163,y:.7871117699623142},{x:.30316524843732107,y:.7870591140117537},{x:.302826459804451,y:.7870677017158569},{x:.29881101440639224,y:.7863742609266953},{x:.29478561927964103,y:.7857411290712295},{x:.173234619279641,y:.7541621290712296},{x:.17180894449846637,y:.7536379076298808},{x:.17032768986057922,y:.753301394035824},{x:.16767817066393412,y:.7521190197025511},{x:.16495505208167519,y:.7511177274253745},{x:.16365904177145735,y:.7503254433998781},{x:.16227189957151614,y:.7497064173758784},{x:.15990395993272244,y:.7480298664806163},{x:.1574285077432372,y:.7465165596726792},{x:.15631196685338702,y:.745486660093817},{x:.15507224418821702,y:.7446089104628228},{x:.08487024418821705,y:.6837459104628228},{x:.08477922863788438,y:.6836498346778195},{x:.08467166808724909,y:.6835727301071804},{x:.08174665618590948,y:.6804486588585436},{x:.07880340242944883,y:.6773417676286113},{x:.07873287917322891,y:.6772297816598538},{x:.07864242772392874,y:.6771331746094597},{x:.07638309517198695,y:.6734984900001298},{x:.07410251962167697,y:.6698770964908778},{x:.07405519882875666,y:.6697535038963435},{x:.0739853324792622,y:.6696411069209627},{x:.07247850415964274,y:.6656354878421232},{x:.07094824805491862,y:.6616387601752097},{x:.07092594823683183,y:.6615083105489945},{x:.0708793519117729,y:.6613844430013583},{x:.013660351911772894,y:.4476944430013583},{x:.013380528959940628,y:.4459977798389246},{x:.012899536483696877,y:.44434683677239306},{x:.012664423003084308,y:.4416557821956227},{x:.012224847112815455,y:.43899048181468664},{x:.012281403443251489,y:.4372718288093888},{x:.012131736117046842,y:.4355587711738732}],[{x:.10337829031332789,y:.4348001396911351},{x:.15424861715004387,y:.6247803934833692},{x:.2060651876410252,y:.6697037849792326},{x:.3045603004668897,y:.6952928559694175},{x:.3958853477721772,y:.6650421672339206},{x:.4463402797077116,y:.6128703383711886},{x:.499069598507425,y:.373676069990286},{x:.47327322171072966,y:.22523195474705573},{x:.4307624349909165,y:.1458974207255564},{x:.35796896612556683,y:.09380119213930618},{x:.2911281310221294,y:.08472041346861442},{x:.22279798440939425,y:.10597924519162948},{x:.15856873728877424,y:.17249047688925445},{x:.10337829031332789,y:.4348001396911351}]],P:[[{x:.025556999999999996,y:.05103000000000002},{x:.02642166238185463,y:.04225093550927423},{x:.02898242103699209,y:.03380924554357098},{x:.033140867446385454,y:.026029339514117924},{x:.03873719484660536,y:.019210194846605383},{x:.04555633951411791,y:.013613867446385479},{x:.053336245543570956,y:.009455421036992116},{x:.061777935509274226,y:.006894662381854655},{x:.070557,y:.0060300000000000215},{x:.07933606449072576,y:.006894662381854655},{x:.08777775445642903,y:.009455421036992116},{x:.09555766048588209,y:.013613867446385486},{x:.10237680515339463,y:.019210194846605383},{x:.10797313255361454,y:.026029339514117924},{x:.1121315789630079,y:.03380924554357098},{x:.11469233761814536,y:.04225093550927425},{x:.11555699999999999,y:.05103000000000002},{x:.11555699999999999,y:.3249696679740436},{x:.22632413005583354,y:.32573306868659574},{x:.22797244585475993,y:.3259068917113995},{x:.2296296407459454,y:.32587748916779646},{x:.3399906407459454,y:.3347734891677965},{x:.3425199358315593,y:.3352301100895628},{x:.3450781711944775,y:.33547763407671893},{x:.4262801711944775,y:.3514846340767189},{x:.43023360415359113,y:.35267647626036297},{x:.4342017122431381,y:.35381850872164355},{x:.49034871224313803,y:.3761405087216436},{x:.49223471805815816,y:.37711419756221787},{x:.49421014578428074,y:.3778905822551455},{x:.4961445509948513,y:.379132728294546},{x:.49818726580808836,y:.3801873213410173},{x:.49984707528076383,y:.38151024250532195},{x:.5016330805772936,y:.3826570960152846},{x:.5368430805772937,y:.4104950960152846},{x:.538268982488492,y:.41186995272090265},{x:.539835277869678,y:.41308244849417974},{x:.5414366048100854,y:.41492417879038607},{x:.5431934850553138,y:.4166181652891421},{x:.5443237674236908,y:.41824478417169497},{x:.5456234206874699,y:.41973955124896434},{x:.546834674823181,y:.4218582966024136},{x:.5482273167355989,y:.4238624839583804},{x:.5490185434436073,y:.4256783549664296},{x:.5500016096439067,y:.4273979502871872},{x:.5725636096439066,y:.4777629502871872},{x:.5732747072201834,y:.47988746499756846},{x:.5741879174558705,y:.48193325814034926},{x:.5746713208988057,y:.4840600657825243},{x:.5753635933927087,y:.4861283376286891},{x:.5756465551694752,y:.4883507586397718},{x:.5761431038835471,y:.49053540091990977},{x:.5762022992770958,y:.49271564988294925},{x:.5764777701286589,y:.49487923612929946},{x:.5763217220435205,y:.4971141570479765},{x:.5763825271473633,y:.4993536938878067},{x:.5706825271473633,y:.5794656938878067},{x:.5700654182420953,y:.5830779192715516},{x:.5695689975224034,y:.5867086990904052},{x:.5693236589408173,y:.5874197813867033},{x:.5691969863455608,y:.5881612549906394},{x:.5678870248015591,y:.5915836805014664},{x:.5666918126627678,y:.5950478490261242},{x:.5415328126627678,y:.6498468490261241},{x:.5413708296623262,y:.6501242105110185},{x:.5412617638147841,y:.650426323944409},{x:.5391478795722351,y:.653930540410781},{x:.5370840246571379,y:.6574644536133865},{x:.536871043573226,y:.6577048843594048},{x:.5367051339883567,y:.6579799150765678},{x:.5339482287199508,y:.661004400648547},{x:.5312345979336611,y:.6640677725799057},{x:.5309788035098929,y:.664262032968313},{x:.5307624259999995,y:.6644994116930277},{x:.47414742599999943,y:.7155204116930277},{x:.47266946719886654,y:.7166100541651699},{x:.4713261182021025,y:.7178618913781634},{x:.46912758296129603,y:.7192213498885075},{x:.46704701478499566,y:.7207552731949938},{x:.4653848758470294,y:.7215356430341334},{x:.4638231175995642,y:.7225013521577397},{x:.4283261175995643,y:.7398953521577398},{x:.4243082080780145,y:.7413960258251278},{x:.4202985181688539,y:.7429185254841078},{x:.34090751816885384,y:.7644395254841077},{x:.3408415384597873,y:.7644506164558663},{x:.3407789202555512,y:.7644741810938074},{x:.33649241770984384,y:.7651816893280429},{x:.33220802793590354,y:.7659018811363755},{x:.33214115226719376,y:.7658998869955335},{x:.33207514002138977,y:.7659107826399355},{x:.2099811400213898,y:.7739077826399355},{x:.20641155146718015,y:.773790767187745},{x:.20284008504333162,y:.7738075792583221},{x:.0663570850433316,y:.7610135792583221},{x:.06408313636872824,y:.7605723800858132},{x:.061777935509274226,y:.7603453376181454},{x:.05976354040438703,y:.759734277543603},{x:.05769704052657306,y:.7593333282846051},{x:.05555285882676713,y:.7584569812513055},{x:.053336245543570956,y:.7577845789630079},{x:.05147976838249502,y:.7567922712467745},{x:.04953119704042999,y:.7559958719887517},{x:.04759918201567506,y:.7547180546196904},{x:.04555633951411791,y:.7536261325536145},{x:.043929123673028744,y:.7522907110247322},{x:.04217336337061703,y:.7511294669445447},{x:.04052776127482757,y:.7494992850446065},{x:.03873719484660536,y:.7480298051533947},{x:.037401773317722896,y:.7464025893123053},{x:.03590629693874444,y:.7449211263687215},{x:.034610347337597366,y:.7430012269141045},{x:.033140867446385454,y:.7412106604858821},{x:.032148559730151835,y:.7393541833248057},{x:.030970837593177758,y:.7376094333079335},{x:.030074343103068113,y:.7354735969579864},{x:.02898242103699209,y:.733430754456429},{x:.028371360962449563,y:.7314163593515414},{x:.027556652268729623,y:.729475372026062},{x:.027094064670152376,y:.7272056777739226},{x:.02642166238185463,y:.7249890644907258},{x:.02621533264498147,y:.722894163516222},{x:.025794946192721373,y:.7208315299365354},{x:.02578404246766777,y:.7185152008594541},{x:.025556999999999996,y:.71621},{x:.025556999999999996,y:.05103000000000002}],[{x:.11555699999999999,y:.414971805397996},{x:.11555699999999999,y:.6752310456989574},{x:.20767337575712835,y:.6838660911730216},{x:.3217031184787672,y:.6763972896549704},{x:.3925929523867085,y:.6571807523203506},{x:.4185706758911827,y:.6444513238436673},{x:.46361487793542,y:.6038578374443203},{x:.4814895996448674,y:.5649247767123354},{x:.48580725170954087,y:.5042413131675768},{x:.4723746184159119,y:.474255736718963},{x:.45098032059796866,y:.45734081304228297},{x:.40480552914494095,y:.4389833995595593},{x:.3301954695220376,y:.42427584033215343},{x:.22404845814303564,y:.41571952231013837},{x:.11555699999999999,y:.414971805397996}]],Q:[[{x:.012134510452571898,y:.39776120903599943},{x:.012467756958298536,y:.3937322544040442},{x:.012734737801221134,y:.38969836671479857},{x:.012831073490929856,y:.38933975275179394},{x:.012861682585025715,y:.38896968840207613},{x:.0716656825850257,y:.06709568840207614},{x:.07243605319674906,y:.06440524795975149},{x:.07301096718930201,y:.06166637692330789},{x:.07364750148994079,y:.06017438890024393},{x:.07409402290033937,y:.05861495861744442},{x:.07537446994903126,y:.05612650608452361},{x:.07647266436288541,y:.053552421842995857},{x:.07738804025928744,y:.05221328363312273},{x:.0781302116420243,y:.05077092937167972},{x:.07987152826568633,y:.04858009458346291},{x:.08145080010539194,y:.04626971775068952},{x:.16096480010539196,y:-.04855928224931053},{x:.16315500529851779,y:-.05070373085173594},{x:.16521251383898505,y:-.052975804178533654},{x:.1663001767861927,y:-.05378319510572523},{x:.1672680674520078,y:-.05473086511953138},{x:.1698345496348827,y:-.056406820906963286},{x:.172295783242646,y:-.058233836978172464},{x:.17352006120728586,y:-.058813521600477286},{x:.17465423537351554,y:-.059554156299027654},{x:.17749836607515132,y:-.06069721323044178},{x:.18026874092294012,y:-.06200896084304842},{x:.2672567409229401,y:-.09317596084304836},{x:.2695830047845554,y:-.09375972267138269},{x:.2718475349769373,y:-.09454977610873284},{x:.2738508793967248,y:-.09483071995927067},{x:.27581299058749986,y:-.09532309988014809},{x:.2782084422243766,y:-.09544181332278269},{x:.28058359188359605,y:-.09577489818042065},{x:.2826032520283714,y:-.0956596106656824},{x:.28462372036011635,y:-.09575974074040533},{x:.28699630390923414,y:-.09540884370631499},{x:.2893907973658866,y:-.09527215971995788},{x:.3753267973658866,y:-.08182715971995795},{x:.37840631600914065,y:-.08102976437129623},{x:.38152495221950905,y:-.08040256216817918},{x:.38266795913198753,y:-.07992627554804835},{x:.3838666954562622,y:-.07961588068444121},{x:.38673147789694834,y:-.07823302278004476},{x:.38966782930723504,y:-.07700945634885908},{x:.3906959547522998,y:-.07631933185595965},{x:.3918111026603398,y:-.07578103928710583},{x:.3943510569158511,y:-.07386586128072498},{x:.3969922811880835,y:-.07209295159323717},{x:.45217017177581864,y:-.026613783173476364},{x:.5097585536672307,y:-.09873256043298734},{x:.5159122791302333,y:-.10505326271144577},{x:.5231808703268614,y:-.11005198218579294},{x:.5312849993737013,y:-.11353662086994384},{x:.5399132291363312,y:-.11537326605347448},{x:.5487339815837399,y:-.1154913364919842},{x:.5574082801461085,y:-.11388629480473579},{x:.5656027763942881,y:-.11061982184365243},{x:.5730025604329874,y:-.10581744633276943},{x:.5793232627114457,y:-.0996637208697668},{x:.5843219821857929,y:-.09239512967313873},{x:.5878066208699438,y:-.08429100062629874},{x:.5896432660534744,y:-.07566277086366895},{x:.5897613364919841,y:-.06684201841626024},{x:.5881562948047357,y:-.058167719853891554},{x:.5848898218436525,y:-.04997322360571205},{x:.5800874463327694,y:-.042573439567012816},{x:.5106129498444961,y:.04443049374200151},{x:.5474711182959175,y:.12365010382899572},{x:.5481373073434039,y:.1255496832776173},{x:.5490025186311253,y:.12736726941208848},{x:.5495935209593992,y:.1297019482663393},{x:.5503905347901464,y:.13197456307270286},{x:.5506733336355601,y:.13396760967066554},{x:.5511673266667299,y:.13591906574595297},{x:.5791213266667299,y:.32118306574595296},{x:.5792865967797204,y:.3243841932678159},{x:.5796238248970751,y:.32757179562983435},{x:.579513579388425,y:.3287806341158348},{x:.5795761658223595,y:.3299928748079828},{x:.5791137513174164,y:.3331647361616822},{x:.5788226293197903,y:.33635687958013644},{x:.5226546293197903,y:.6297998795801365},{x:.5219105438778229,y:.6323181740447382},{x:.521369234544533,y:.6348876981954499},{x:.5206636104444891,y:.6365383151545928},{x:.5201549436340621,y:.6382598551025291},{x:.5189338607071872,y:.6405845973766512},{x:.5179016631869613,y:.6429991446291672},{x:.5168875780620563,y:.6444803850133782},{x:.5160528293589531,y:.6460696100820955},{x:.5144016744792594,y:.6481114616238732},{x:.5129182555439367,y:.6502782422813739},{x:.4473292555439367,y:.7283852422813738},{x:.4454767413796947,y:.7301964293264013},{x:.4437773055972873,y:.732151966404103},{x:.44233025961343425,y:.7332727172827731},{x:.4410215211764534,y:.7345522595114605},{x:.4388512574885805,y:.735967237520439},{x:.4368029695300015,y:.737553656027496},{x:.4351650804791521,y:.7383705673253327},{x:.43363186277883553,y:.7393702013057781},{x:.431227251583759,y:.7403345934673514},{x:.4289088260065632,y:.7414909282302113},{x:.3168848260065632,y:.7842309282302113},{x:.31544522398579106,y:.7846236280557255},{x:.31406876767085296,y:.7851998529634103},{x:.3111991137964475,y:.7857818972901452},{x:.30837424253549156,y:.7865524758495462},{x:.30688569012846406,y:.7866567776362199},{x:.305423266132861,y:.7869533972381565},{x:.30249520063786056,y:.7869644160479279},{x:.2995742760667897,y:.7871690831124285},{x:.29809397750772,y:.7869809786010931},{x:.2966017859654652,y:.7869865939723252},{x:.2937278327647654,y:.7864261638184524},{x:.2908231043767717,y:.786057054147543},{x:.2894079467091229,y:.7855837720890787},{x:.28794333170435554,y:.785298167434039},{x:.16895933170435556,y:.7496931674340391},{x:.16685145995859063,y:.7488293371508981},{x:.16467103610787698,y:.748169732810473},{x:.1627799564873854,y:.7471607878174731},{x:.16079664289106937,y:.7463480029082842},{x:.1588977982379503,y:.7450895455041626},{x:.15688795304330724,y:.7440172356850165},{x:.15523004539103946,y:.7426587459550258},{x:.15344340707901263,y:.7414746531917952},{x:.15182656105367498,y:.739869930478983},{x:.1500645317387979,y:.7384261234461069},{x:.08134353173879794,y:.6698101234461069},{x:.07898814712174665,y:.6669445493412297},{x:.07654417665723892,y:.6641541443502993},{x:.0761910053095167,y:.6635415309608049},{x:.07574199244846258,y:.6629952594015535},{x:.07399091166125166,y:.6597252337561722},{x:.07213828241215867,y:.6565116506297859},{x:.07191141209628055,y:.6558419081228384},{x:.07157759918584938,y:.6552185349547689},{x:.07049811528111428,y:.6516697230205841},{x:.06930802275051184,y:.6481564579560907},{x:.013298022750511833,y:.4072474579560906},{x:.013249789700227431,y:.40687927578320093},{x:.013136451320225305,y:.40652566731159423},{x:.012677284531251238,y:.4025091147450468},{x:.012152162963867598,y:.3985006516980174},{x:.01217668547678935,y:.39813013424102855},{x:.012134510452571898,y:.39776120903599943}],[{x:.1030741934540208,y:.3959601630333355},{x:.15405220468618464,y:.6152256818322884},{x:.20562817178182732,y:.6667228451191239},{x:.2990925609035841,y:.6946913078929434},{x:.38591644511804135,y:.6615657918309754},{x:.4364618489221904,y:.6013735361946543},{x:.4889800495366121,y:.3269984766785998},{x:.4631403994395801,y:.1557472448128009},{x:.4478929247459949,y:.12297570323093639},{x:.3763894463327694,y:.21252056043298723},{x:.3702357208697667,y:.2188412627114457},{x:.36296712967313866,y:.22383998218579282},{x:.35486300062629866,y:.22732462086994373},{x:.34623477086366883,y:.22916126605347437},{x:.3374140184162602,y:.2292793364919841},{x:.3287397198538915,y:.22767429480473567},{x:.32054522360571197,y:.22440782184365232},{x:.31314543956701274,y:.21960544633276935},{x:.3068247372885543,y:.2134517208697667},{x:.30182601781420715,y:.20618312967313862},{x:.2983413791300562,y:.19807900062629863},{x:.2965047339465256,y:.18945077086366885},{x:.29638666350801585,y:.18063001841626014},{x:.2979917051952643,y:.17195571985389144},{x:.30125817815634764,y:.16376122360571194},{x:.3060605536672306,y:.1563614395670127},{x:.3960043024488616,y:.04372356068896105},{x:.3492507773512258,y:.005187991106938553},{x:.28681342879982186,y:-.004580559340762309},{x:.22209853619564562,y:.018606191220169738},{x:.15806156000107346,y:.09497717514193305},{x:.1030741934540208,y:.3959601630333355}]],R:[[{x:-.010088,y:.05588800000000005},{x:-.009223337618145366,y:.04710893550927426},{x:-.006662578963007905,y:.03866724554357101},{x:-.0025041325536145423,y:.030887339514117953},{x:.0030921948466053617,y:.024068194846605412},{x:.009911339514117913,y:.018471867446385508},{x:.01769124554357096,y:.014313421036992145},{x:.02613293550927423,y:.011752662381854684},{x:.034912,y:.01088800000000005},{x:.043691064490725774,y:.011752662381854684},{x:.05213275445642904,y:.014313421036992145},{x:.059912660485882105,y:.018471867446385515},{x:.06673180515339464,y:.024068194846605412},{x:.07232813255361453,y:.030887339514117953},{x:.0764865789630079,y:.03866724554357101},{x:.07904733761814536,y:.04710893550927428},{x:.079912,y:.05588800000000005},{x:.079912,y:.36648688236049143},{x:.25933152798675563,y:.3728389247505383},{x:.2598033776805002,y:.3702688775066002},{x:.2630584474090824,y:.36206984491555727},{x:.26785052379396923,y:.35466338703825},{x:.5319365237939692,y:.022999387038250052},{x:.5380814500271169,y:.016670129897313986},{x:.5453430800394999,y:.011661303295187019},{x:.5534423534621115,y:.008165393629206541},{x:.5620680197594453,y:.00631674674730745},{x:.5708885994130244,y:.006186405112428031},{x:.5795651224933998,y:.00777937768050025},{x:.5877641550844427,y:.011034447409082423},{x:.59517061296175,y:.015826523793969254},{x:.601499870102686,y:.021971450027116944},{x:.606508696704813,y:.02923308003949996},{x:.6100046063707935,y:.03733235346211146},{x:.6118532532526926,y:.04595801975944533},{x:.6119835948875719,y:.05477859941302443},{x:.6103906223194997,y:.06345512249339977},{x:.6071355525909176,y:.07165415508444274},{x:.6023434762060308,y:.07906061296174999},{x:.36492288462028066,y:.3772356888373974},{x:.45122307475864126,y:.3907421966461853},{x:.4517263325772421,y:.3908725352482557},{x:.4522445282141884,y:.3909141268943158},{x:.4559919550269364,y:.3919772876167318},{x:.459762859565968,y:.3929539131315124},{x:.46023101962685037,y:.3931799280437793},{x:.4607311441523136,y:.39332181547170203},{x:.5072261441523136,y:.41160281547170213},{x:.5099186672764574,y:.4129799887569096},{x:.5126912264123276,y:.4141879634543456},{x:.5138373975854011,y:.41498434320238026},{x:.5150799754049854,y:.4156198976243936},{x:.5174520892726079,y:.41749589411441484},{x:.5199357102894067,y:.4192215573713852},{x:.5536387102894067,y:.4479225573713852},{x:.5544422891842978,y:.4487559165260936},{x:.5553578681885658,y:.44946439490120116},{x:.5574982196806069,y:.4519250983842071},{x:.5597619879819907,y:.4542727608851649},{x:.5603875460278954,y:.4552468777427617},{x:.5611473151639865,y:.4561203635073251},{x:.5627664809673836,y:.45895134712470415},{x:.5645287453623273,y:.46169553923588524},{x:.5649522427143585,y:.46277297903182424},{x:.5655270044804562,y:.4637779046177677},{x:.5843050044804562,y:.5056739046177676},{x:.5856980535944053,y:.5098331481877504},{x:.5870956418010017,y:.5139908687307394},{x:.5870987900445207,y:.5140153439302019},{x:.587106627133701,y:.514038743222053},{x:.5876614810321307,y:.5183898384933372},{x:.5882210839336397,y:.522740325535193},{x:.5899430839336397,y:.580600325535193},{x:.589777587866933,y:.5830153029012521},{x:.5898269599494498,y:.5854354407122341},{x:.5894767504310368,y:.5874052295805413},{x:.5893399666658296,y:.589401226848592},{x:.5887065118476329,y:.5917375144207835},{x:.5882827897945603,y:.5941207819778186},{x:.5699357897945603,y:.6593647819778187},{x:.5695566600666073,y:.6603356321127045},{x:.5693270257483343,y:.6613522723710545},{x:.5679549854437747,y:.6644370937206254},{x:.5667268644118839,y:.6675819841936177},{x:.5661656160899001,y:.668460215174679},{x:.5657420574552864,y:.6694125215424361},{x:.5637945617300048,y:.6721703971299327},{x:.5619765010042908,y:.6750152648867381},{x:.5612547025465381,y:.6757671267898905},{x:.5606534967163777,y:.6766185026674012},{x:.5398464967163776,y:.7006785026674012},{x:.5387925287989109,y:.70167944573824},{x:.5378793324857355,y:.7028102896247742},{x:.535601038014175,y:.7047103734673366},{x:.5334498940671065,y:.7067532939324781},{x:.5322209035416287,y:.707529385222465},{x:.5311046373415733,y:.7084603444980107},{x:.5029396373415734,y:.7276033444980106},{x:.49917038563569516,y:.7296565217962586},{x:.49541206095977475,y:.7317296332429761},{x:.4611910609597748,y:.7464366332429762},{x:.457170688924302,y:.7477143925092122},{x:.45316143447737084,y:.7490266191763204},{x:.37177643447737085,y:.7670666191763205},{x:.36787988134157384,y:.7675363076101905},{x:.36399443936523473,y:.7680904503837813},{x:.2290834393652347,y:.7739614503837813},{x:.2260604581328276,y:.7737959747883908},{x:.2230330269857825,y:.7738173839936113},{x:.030818026985782503,y:.7562573839936113},{x:.028490934977474184,y:.7558115802948838},{x:.02613293550927423,y:.7555793376181453},{x:.024169339379190496,y:.7549836872441402},{x:.022154034015341384,y:.7545976128723226},{x:.01995862841458906,y:.7537063820373993},{x:.01769124554357096,y:.7530185789630078},{x:.01588158498580211,y:.7520512952425895},{x:.013980322522940947,y:.7512794726091756},{x:.012000971535783972,y:.7499770641392344},{x:.009911339514117913,y:.7488601325536145},{x:.008325158769029223,y:.7475583876576994},{x:.006611003657363959,y:.7464304774736483},{x:.004923772632206568,y:.7447669421957904},{x:.0030921948466053617,y:.7432638051533946},{x:.0017904499506900475,y:.7416776244083056},{x:.0003292762098528329,y:.7402369716294513},{x:-.001000995511218774,y:.7382762382714833},{x:-.0025041325536145423,y:.7364446604858821},{x:-.0034714162740331275,y:.7346349999281129},{x:-.004623456556617868,y:.732936968032819},{x:-.005545647377387794,y:.7307543864780955},{x:-.006662578963007905,y:.728664754456429},{x:-.007258229337013042,y:.7267011583263452},{x:-.008056863899357211,y:.7248110017280808},{x:-.008535534543753812,y:.7224904473617442},{x:-.009223337618145366,y:.7202230644907257},{x:-.009424464135908606,y:.7181809926864091},{x:-.009839001899660749,y:.7161713490432334},{x:-.009855757323261527,y:.7138019994682},{x:-.010088,y:.711444},{x:-.010088,y:.05588800000000005}],[{x:.079912,y:.45654326739466394},{x:.079912,y:.6703676283824797},{x:.22820062174801237,y:.6839146886946046},{x:.3561457472749752,y:.6783468266821017},{x:.42954781695254723,y:.662076342723345},{x:.4559144639404158,y:.6507448714849071},{x:.47563211893454127,y:.6373433067928232},{x:.48601322722124407,y:.6253391992627579},{x:.4997779385388953,y:.5763903343143285},{x:.4985264355495565,y:.5343392524542002},{x:.48755361344964526,y:.5098575528750181},{x:.467303195590932,y:.4926125823096997},{x:.43241084881177044,y:.4788935374345549},{x:.3509044963348569,y:.4661372945522357},{x:.079912,y:.45654326739466394}]],S:[[{x:.021897597226735628,y:.20918252956592975},{x:.022856530106274857,y:.20041326151782815},{x:.025507836686771486,y:.19199957102060095},{x:.07532383668677148,y:.0752955710206009},{x:.07606476437254353,y:.07394451179196875},{x:.07662717764446286,y:.07250992955787258},{x:.07818101321859919,y:.07008559601860773},{x:.07956562874320691,y:.06756079148160443},{x:.08055589829123208,y:.06638024029801701},{x:.0813873780598424,y:.06508294454561242},{x:.08338432112997196,y:.06300833217803187},{x:.0852348965856767,y:.0608021661408081},{x:.08643645249257384,y:.05983749092219001},{x:.08750504545666679,y:.05872733599970995},{x:.08986835462050304,y:.05708217099364391},{x:.09211377343035676,y:.05527942517977789},{x:.09348044057646428,y:.05456769785378441},{x:.09474508130770348,y:.05368734639231786},{x:.18347008130770348,y:.00406434639231789},{x:.18531117162778632,y:.0032602675504258996},{x:.18705570252460849,y:.0022638899609980986},{x:.18934358471290644,y:.0014991491478438968},{x:.19155425509545604,y:.0005336596975895336},{x:.19351683738147718,y:.0001042099085839361},{x:.19542223123106015,y:-.0005326814704223887},{x:.1978153459361366,y:-.0008363843304376121},{x:.20017189655491793,y:-.0013520417748285815},{x:.2021805498702545,y:-.0013903589963945293},{x:.20417358345551592,y:-.0016432887864569548},{x:.36640558345551594,y:-.006196288786456984},{x:.3683537351453612,y:-.006059465175549666},{x:.37030515940756886,y:-.006136660097762148},{x:.3727431942064551,y:-.005751182385354602},{x:.3752054496398049,y:-.005578251970786187},{x:.37708947517888647,y:-.005063991846688501},{x:.37901846335331396,y:-.004758999502412188},{x:.3813344490261288,y:-.00390529164215812},{x:.3837156558614866,y:-.003255321831637216},{x:.38546315320491126,y:-.002383387922517842},{x:.38729557535780434,y:-.001707928996501587},{x:.5134735753578044,y:.059451071003498376},{x:.5144073364238021,y:.06002293670994077},{x:.5154151369003129,y:.060451046875811966},{x:.5181619939873726,y:.06232241135953579},{x:.5209964106485654,y:.06405830049148753},{x:.5218006642926897,y:.06480134570578519},{x:.5227055800155168,y:.06541784197435321},{x:.5250345719141375,y:.06778913394790613},{x:.5274758708842278,y:.07004463571609586},{x:.5281197100899656,y:.07093030562736781},{x:.5288869656553633,y:.07171149639276676},{x:.5307085905129939,y:.07449158843544039},{x:.5326629540416582,y:.07718002517181716},{x:.5331216364294024,y:.07817428398206286},{x:.5337217466362741,y:.07909014852127505},{x:.5349660004312154,y:.08217220325496363},{x:.5363583234240663,y:.08519025984344057},{x:.5366142220868877,y:.08625489874416871},{x:.5370241250365293,y:.08727024089657527},{x:.5783351250365293,y:.22800124089657534},{x:.5784689928995229,y:.22870739358153944},{x:.5787167010683089,y:.22938208824013706},{x:.5792894483007394,y:.23303529403132756},{x:.5799781923062021,y:.23666841715613338},{x:.579971724381043,y:.23738711763976203},{x:.5800830465086156,y:.23809717369609615},{x:.5799320834693805,y:.24179192160438975},{x:.5798988062915618,y:.2454896025769029},{x:.5797522511369868,y:.24619323160266243},{x:.5797229091764134,y:.2469113620006918},{x:.5788540372904492,y:.2505056649360105},{x:.5781000177526308,y:.2541258039501414},{x:.5778190074010411,y:.2547873214491718},{x:.5776501289474114,y:.2554859288404322},{x:.5462891289474114,y:.3454679288404322},{x:.5453940585085517,y:.34740151578805634},{x:.5446999978282894,y:.3494160105998292},{x:.5435456407901493,y:.3513945829466735},{x:.5425833616033817,y:.3534733584203385},{x:.5413282655917657,y:.35519517245680393},{x:.5402545326513293,y:.3570355547940282},{x:.5387363559437135,y:.3587509055417339},{x:.537387017705137,y:.36060200657115166},{x:.5358201287566253,y:.36204587934864135},{x:.5344079865107593,y:.36364142435019586},{x:.5325843328131388,y:.3650276335315076},{x:.5308997898345437,y:.36657992334222783},{x:.5290813226127058,y:.36769036763963614},{x:.5273850388959807,y:.368979759405903},{x:.44286903889598056,y:.42100375940590296},{x:.4391930936098881,y:.42279580082266366},{x:.4355432374645799,y:.42464039733796655},{x:.4352309585303121,y:.42472736117212373},{x:.4349395777453148,y:.4248694107387315},{x:.430984654780085,y:.42590987723258605},{x:.42704506666901776,y:.42700697873237736},{x:.18802361397643091,y:.46887992641475673},{x:.1445277950559712,y:.506325930968192},{x:.1345999941059918,y:.5433489412625321},{x:.1668438673565076,y:.6442112383308392},{x:.2418447705661005,y:.6964178007533797},{x:.3847076342900009,y:.6886954406015322},{x:.4475324208368403,y:.608018765726417},{x:.4536085342974724,y:.6016234190133417},{x:.4608155671913789,y:.5965363480257236},{x:.46887655728619765,y:.5929530460487544},{x:.47748172525324006,y:.5910112173678703},{x:.48630037931336645,y:.5907854853702875},{x:.49499362353660437,y:.5922845248100812},{x:.5032273814226823,y:.5954507284422511},{x:.5106852342735829,y:.6001624208368403},{x:.5170805809866582,y:.6062385342974724},{x:.5221676519742764,y:.6134455671913789},{x:.5257509539512455,y:.6215065572861976},{x:.5276927826321296,y:.63011172525324},{x:.5279185146297124,y:.6389303793133664},{x:.5264194751899187,y:.6476236235366044},{x:.5232532715577489,y:.6558573814226824},{x:.5185415791631597,y:.663315234273583},{x:.4431175791631597,y:.760171234273583},{x:.4420344490669973,y:.7613112710002186},{x:.44110391182703096,y:.7625789282836855},{x:.4390031114098716,y:.7645018722698176},{x:.4370414657025276,y:.7665665809866583},{x:.43575673751534005,y:.767473404028016},{x:.4345967726198766,y:.768535164822443},{x:.4321611907321885,y:.7700113141492059},{x:.4298344328086211,y:.7716536519742764},{x:.42839747791415833,y:.7722924126294288},{x:.42705266216361437,y:.7731074740629288},{x:.4243758968514515,y:.7740801011395291},{x:.42177344271380235,y:.7752369539512456},{x:.4202394824828045,y:.7755831050064366},{x:.4187614963922926,y:.7761201447252115},{x:.4159464142454535,y:.7765518720385514},{x:.41316827474676,y:.7771787826321297},{x:.4115962584106506,y:.7772190216964318},{x:.4100419001567639,y:.7774574015652649},{x:.23125890015676387,y:.7871214015652648},{x:.22961427991333744,y:.7870487065186679},{x:.22797320559841586,y:.7871788426312305},{x:.22521775007366066,y:.7868543723294609},{x:.22244596265035355,y:.7867318545526676},{x:.22084712542379714,y:.7863397068281228},{x:.21921219559556868,y:.7861471846952227},{x:.21657298639174055,y:.7852913862936938},{x:.21387836011908076,y:.7846304737606538},{x:.21238674832737245,y:.7839339433752962},{x:.2108207924222569,y:.7834261615145331},{x:.2083992528689725,y:.782071922865878},{x:.2058853407234555,y:.7808980140745921},{x:.20455827617124617,y:.7799238683005129},{x:.20312147299647784,y:.7791203404840283},{x:.10291447299647782,y:.7093683404840284},{x:.10181255131472464,y:.7084283417469311},{x:.10059641238964509,y:.7076416809983432},{x:.09846400643554813,y:.7055718520256913},{x:.09620311784593605,y:.7036431918911783},{x:.09530575393663021,y:.7025062807105057},{x:.09426645267874648,y:.7014974784931097},{x:.09257882390791694,y:.6990514089395268},{x:.09073764058529563,y:.6967187299857058},{x:.09007931964022471,y:.6954285972205445},{x:.08925679581402991,y:.6942364212378118},{x:.08807879885369768,y:.6915081121844703},{x:.08672807644060793,y:.6888610579553555},{x:.08633409736450004,y:.6874672826843552},{x:.08575996009935855,y:.6861375475907227},{x:.04484896009935855,y:.5581635475907226},{x:.04400698871411546,y:.5542371548008082},{x:.04309586967447821,y:.5503262293029391},{x:.04308290316808571,y:.5499278363503387},{x:.04299932697019912,y:.5495380927241992},{x:.04293953506277818,y:.5455228840020936},{x:.042808906634767226,y:.5415093553341928},{x:.04287391188557095,y:.5411160877505585},{x:.04286797679041901,y:.5407175280315513},{x:.04359266213029085,y:.5367678055966908},{x:.04424754429113727,y:.532805911414652},{x:.06119154429113727,y:.4696179114146519},{x:.06126294463056804,y:.4694283141856516},{x:.06129777501412092,y:.46922873472253734},{x:.06281676603792068,y:.46530228011432895},{x:.0643004966052513,y:.46136236601319713},{x:.0644075135916399,y:.46119034135699993},{x:.06448061074086608,y:.46100139182805006},{x:.06673642807197144,y:.45744672339211917},{x:.06896028828319853,y:.453871975109843},{x:.06909880931377366,y:.45372413383751425},{x:.06920736414622189,y:.4535530754671619},{x:.07211331798967527,y:.4505067971180214},{x:.07499184614403663,y:.4474345902263458},{x:.07515654793327702,y:.4473166137950705},{x:.07529638874761438,y:.44717002026055797},{x:.1386943887476144,y:.392590020260558},{x:.14135607757337018,y:.39071931904916735},{x:.1439175788350931,y:.3887136217356019},{x:.14495796828078528,y:.38818782053421796},{x:.14591168674437638,y:.38751752344016943},{x:.1488871876674173,y:.38620203695812855},{x:.15179076253542007,y:.38473460266203335},{x:.15291373991533655,y:.3844218744952798},{x:.15397990142199966,y:.3839505182141148},{x:.15715486761053352,y:.383240799869195},{x:.1602889333309822,y:.3823680212676226},{x:.4030282434963717,y:.3398437611206276},{x:.46657219784598525,y:.30072914754350266},{x:.487912612564808,y:.23949853636308405},{x:.45628203537627,y:.13174508671722343},{x:.35793695341674575,y:.08407681754539842},{x:.21775140382412592,y:.0880110894972649},{x:.15207256592030022,y:.12474460286217379},{x:.10828216331322851,y:.2273324289793991},{x:.10404037125679308,y:.23506720851839558},{x:.09837110341432329,y:.2418258338591919},{x:.09149222656964323,y:.24734857482022213},{x:.08366809210217534,y:.25142319556354265},{x:.07519937711167927,y:.2538931106990613},{x:.06641152956592972,y:.2546634027732644},{x:.05764226151782814,y:.2537044698937252},{x:.04922857102060091,y:.2510531633132285},{x:.04149379148160447,y:.24681137125679312},{x:.034735166140808106,y:.24114210341432332},{x:.029212425179777887,y:.23426322656964324},{x:.025137804436457384,y:.22643909210217536},{x:.022667889300938757,y:.21797037711167933},{x:.021897597226735628,y:.20918252956592975}]],T:[[{x:-.022050999999999998,y:.729004},{x:-.021186337618145364,y:.7202249355092742},{x:-.018625578963007903,y:.711783245543571},{x:-.01446713255361454,y:.7040033395141179},{x:-.008870805153394636,y:.6971841948466053},{x:-.002051660485882085,y:.6915878674463855},{x:.005728245543570962,y:.6874294210369921},{x:.014169935509274232,y:.6848686623818546},{x:.022949,y:.684004},{x:.264284,y:.684004},{x:.264284,y:.05103000000000002},{x:.26514866238185464,y:.04225093550927423},{x:.2677094210369921,y:.03380924554357098},{x:.27186786744638547,y:.026029339514117924},{x:.27746419484660534,y:.019210194846605383},{x:.28428333951411794,y:.013613867446385479},{x:.292063245543571,y:.009455421036992116},{x:.30050493550927426,y:.006894662381854655},{x:.309284,y:.0060300000000000215},{x:.3180630644907258,y:.006894662381854655},{x:.32650475445642907,y:.009455421036992116},{x:.3342846604858821,y:.013613867446385486},{x:.34110380515339467,y:.019210194846605383},{x:.34670013255361454,y:.026029339514117924},{x:.3508585789630079,y:.03380924554357098},{x:.35341933761814537,y:.04225093550927425},{x:.354284,y:.05103000000000002},{x:.354284,y:.684004},{x:.579103,y:.684004},{x:.5878820644907258,y:.6848686623818546},{x:.596323754456429,y:.6874294210369921},{x:.6041036604858822,y:.6915878674463855},{x:.6109228051533947,y:.6971841948466053},{x:.6165191325536146,y:.7040033395141179},{x:.6206775789630079,y:.711783245543571},{x:.6232383376181454,y:.7202249355092742},{x:.6241030000000001,y:.729004},{x:.6232383376181454,y:.7377830644907257},{x:.6206775789630079,y:.746224754456429},{x:.6165191325536146,y:.7540046604858821},{x:.6109228051533947,y:.7608238051533946},{x:.6041036604858822,y:.7664201325536145},{x:.596323754456429,y:.7705785789630079},{x:.5878820644907258,y:.7731393376181454},{x:.579103,y:.774004},{x:.022949,y:.774004},{x:.014169935509274211,y:.7731393376181454},{x:.005728245543570935,y:.7705785789630079},{x:-.0020516604858820953,y:.7664201325536145},{x:-.008870805153394643,y:.7608238051533946},{x:-.01446713255361454,y:.7540046604858821},{x:-.018625578963007903,y:.746224754456429},{x:-.021186337618145364,y:.7377830644907257},{x:-.022050999999999998,y:.729004}]],U:[[{x:.027022176378557076,y:.7288780077818786},{x:.02808017637855708,y:.35099900778187865},{x:.02823473618726791,y:.3494735334648019},{x:.028192796744230073,y:.34794082288884604},{x:.035484796744230065,y:.24514582288884607},{x:.03612518708694976,y:.24139252668431194},{x:.03666424897987138,y:.2376233431565944},{x:.055316248979871384,y:.16148034315659432},{x:.05618736340037885,y:.15900518320818077},{x:.05685851158014249,y:.15646848905542057},{x:.057648252259250334,y:.15485425480263812},{x:.058244846291224776,y:.15315910934454152},{x:.0595821022437829,y:.15090145489330362},{x:.06073523897858293,y:.14854443712190207},{x:.09649723897858292,y:.0906284371219021},{x:.09834293286415725,y:.08820732921922435},{x:.10003759110096133,y:.08567820232322114},{x:.10101147458130413,y:.08470684222595504},{x:.10184538199049184,y:.08361295562088691},{x:.10412794610596264,y:.08159844564215248},{x:.10628345014049506,y:.07944852663140606},{x:.15306845014049508,y:.041154526631406},{x:.15518086878702558,y:.03974701384514513},{x:.15716842451696925,y:.03816808161035298},{x:.15884280372557036,y:.03730705230772802},{x:.16040964618671547,y:.03626305906247794},{x:.1627560674239954,y:.03529470367371844},{x:.16501346722603244,y:.034133863066459845},{x:.23490646722603245,y:.006476863066459913},{x:.23625924682734178,y:.006089880823813601},{x:.23754823013535448,y:.005525708919597472},{x:.24049103862888763,y:.004879315347967098},{x:.24338780663402787,y:.004050652809021178},{x:.24479008944495417,y:.003935020529692536},{x:.24616436977860445,y:.0036331571990539033},{x:.3343553697786044,y:-.006825842800946093},{x:.3363658265006992,y:-.006865793301669296},{x:.3383604992721398,y:-.007120376900508131},{x:.34076517153289726,y:-.0069532142518240045},{x:.3431751712391958,y:-.00700110421331946},{x:.3451547915551648,y:-.0066480664270605625},{x:.3471608040448924,y:-.0065086169201366215},{x:.4090588040448924,y:.003962383079863387},{x:.4119620232343868,y:.004752615784895447},{x:.4149089852784979,y:.005359710588792872},{x:.4162090298953196,y:.005908616535408058},{x:.4175706649775032,y:.0062792425557079215},{x:.42026393287145114,y:.0076206811274584655},{x:.4230358315454356,y:.008791034549085273},{x:.4738028315454356,y:.03637303454908527},{x:.4760785863358737,y:.0379161826666043},{x:.4784624107710392,y:.03928649177082543},{x:.47972093897980134,y:.04038599604431689},{x:.48110410464379305,y:.04132389563682743},{x:.48303507818089647,y:.043281370330868374},{x:.4851057640535682,y:.045090410406577325},{x:.5154867640535682,y:.07740541040657731},{x:.5155903820373309,y:.07753992155387555},{x:.5157174079857786,y:.07765259073212467},{x:.5182811318880063,y:.08103290449336144},{x:.5208701788099869,y:.08439386230433626},{x:.5209455639802052,y:.08454600372347547},{x:.521048168494406,y:.08468128952824439},{x:.5340921684944061,y:.10592328952824437},{x:.5341054861393935,y:.10595068243490303},{x:.5341238592672674,y:.10597497562685786},{x:.5360339092314592,y:.10991723311331511},{x:.5379492688231333,y:.11385691363208547},{x:.5379569864823256,y:.11388637833537296},{x:.5379702672090579,y:.11391378915988949},{x:.557924267209058,y:.16807278915988946},{x:.5580810067186996,y:.16867450001810444},{x:.5583366124011981,y:.1692413235937006},{x:.5591915686944892,y:.17293786157308777},{x:.5601479818122073,y:.1766094575809222},{x:.5601843216510317,y:.17723018509512725},{x:.5603244341481242,y:.17783598350956487},{x:.5696394341481241,y:.2495799835095649},{x:.569721927352796,y:.25224539988339456},{x:.5700114646960025,y:.2548963275892337},{x:.5750284646960026,y:.7275053275892338},{x:.5742570402937379,y:.7362930758081182},{x:.5717860339652341,y:.7447614724740409},{x:.5677104050979391,y:.752585081852262},{x:.5621867778235843,y:.7594632470219072},{x:.5554274220406369,y:.7651316439528263},{x:.5476920960011455,y:.7693724393298378},{x:.5392780639467868,y:.7720226617648687},{x:.5305086724107663,y:.7729804646960026},{x:.5217209241918819,y:.7722090402937379},{x:.5132525275259592,y:.7697380339652341},{x:.505428918147738,y:.7656624050979391},{x:.4985507529780929,y:.7601387778235843},{x:.49288235604717384,y:.753379422040637},{x:.48864156067016223,y:.7456440960011456},{x:.48599133823513135,y:.7372300639467868},{x:.4850335353039975,y:.7284606724107663},{x:.48004487037154997,y:.258520878697574},{x:.4717248917269394,y:.19444051929027983},{x:.4550625667192203,y:.14921575933773623},{x:.4467624246683876,y:.135699076001046},{x:.42448554918380393,y:.11200409455592171},{x:.3866565267646711,y:.09145137140181527},{x:.33852910612300163,y:.08330987698295},{x:.2625775703514966,y:.09231733933890664},{x:.20464797458906397,y:.11524036210229632},{x:.16911733402594603,y:.14432255403825953},{x:.14104265103985364,y:.1897890642955865},{x:.12498883901236212,y:.25532548983758135},{x:.11807553704626646,y:.35278200048003916},{x:.11702182362144292,y:.7291299922181214},{x:.11613258476624799,y:.737906601393955},{x:.11354820087598706,y:.7463410885908555},{x:.10936798837422372,y:.7541093211959605},{x:.10375259048311052,y:.7609127703867312},{x:.09691780379445152,y:.7664899834261845},{x:.0891262853276994,y:.770626631144951},{x:.08067745876799748,y:.7731637444910576},{x:.07189600778187862,y:.7740038236214429},{x:.06311939860604492,y:.773114584766248},{x:.05468491140914452,y:.770530200875987},{x:.04691667880403945,y:.7663499883742237},{x:.04011322961326877,y:.7607345904831105},{x:.03453601657381558,y:.7538998037944515},{x:.030399368855048972,y:.7461082853276993},{x:.027862255508942363,y:.7376594587679974},{x:.027022176378557076,y:.7288780077818786}]],V:[[{x:-.017163400590915968,y:.72836062945125},{x:-.016173311217885875,y:.7195948244454146},{x:-.01349212241321528,y:.7111906087794154},{x:.27875887758678475,y:.033216608779415485},{x:.2789749302503264,y:.03282594254600198},{x:.27911899522766415,y:.032403397706182537},{x:.2811076886540147,y:.028969490703698003},{x:.2830281292409603,y:.025496951748158487},{x:.28331624571443165,y:.0251559418405784},{x:.28353997693249255,y:.024769621764193565},{x:.2861603801951793,y:.021789671162821947},{x:.2887213787977949,y:.018758515442121357},{x:.2890704869266977,y:.018480266679882864},{x:.2893652865202418,y:.018145017430816868},{x:.2925166989914198,y:.015733541060992128},{x:.2956198378696305,y:.013260254189586457},{x:.29601652162435305,y:.013055459516578674},{x:.296371060610326,y:.012784164535463174},{x:.29993237527606087,y:.011033834081706148},{x:.30345840254303674,y:.009213463087028258},{x:.303887417589348,y:.00908999264768462},{x:.3042880712333465,y:.00889307764850001},{x:.3081224287682413,y:.00787115732855266},{x:.3119358411735324,y:.006773658047051503},{x:.31238070070379703,y:.0067362567411129665},{x:.3128120721109714,y:.0066212890568466964},{x:.3167721203052928,y:.006367050695504971},{x:.32072637054875,y:.006034599409084053},{x:.3211699788607,y:.006084704547762943},{x:.3216154906697884,y:.006056102322046737},{x:.325549047092249,y:.006579316156958459},{x:.3294921755545854,y:.0070246887821141385},{x:.32991748502957097,y:.007160374853030322},{x:.330360016471596,y:.007219237253358143},{x:.3341159167548444,y:.008499796470269213},{x:.33789639122058457,y:.00970587758678474},{x:.33828705745399834,y:.009921930250326543},{x:.33870960229381747,y:.01006599522766418},{x:.3421435092963017,y:.012054688654014527},{x:.34561604825184156,y:.013975129240960359},{x:.3459570581594215,y:.014263245714431577},{x:.34634337823580646,y:.014486976932492547},{x:.34932332883717915,y:.01710738019518028},{x:.35235448455787866,y:.01966837879779494},{x:.3526327333201171,y:.020017486926697612},{x:.35296798256918316,y:.020312286520241793},{x:.3553794589390082,y:.023463698991420194},{x:.3578527458104136,y:.026566837869630475},{x:.3580575404834214,y:.026963521624353053},{x:.35832883546453687,y:.02731806061032596},{x:.3600791659182934,y:.03087937527605991},{x:.3618995369129718,y:.03440540254303673},{x:.3620230073523154,y:.034834417589348},{x:.3622199223515,y:.0352350712333465},{x:.6163569223515,y:.7132090712333464},{x:.6186287109431533,y:.7217330721109714},{x:.6191938976779532,y:.7305364906697883},{x:.6180307627466418,y:.7392810164715959},{x:.6151840047723358,y:.7476306022938175},{x:.6107630230675074,y:.7552643782358064},{x:.6049377134797582,y:.7618889825691831},{x:.597931939389674,y:.7672498354645368},{x:.5900149287666535,y:.7711409223515},{x:.5814909278890286,y:.7734127109431533},{x:.5726875093302116,y:.7739778976779532},{x:.5639429835284039,y:.7728147627466418},{x:.5555933977061824,y:.7699680047723358},{x:.5479596217641935,y:.7655470230675074},{x:.5413350174308168,y:.7597217134797583},{x:.5359741645354631,y:.7527159393896741},{x:.5320830776484999,y:.7447989287666535},{x:.3171703309688009,y:.17146543337864517},{x:.06915612241321528,y:.7468173912205845},{x:.06488687075903964,y:.7545370482518415},{x:.059193621202205074,y:.7612754845578786},{x:.05229516213036956,y:.7667737458104136},{x:.04445659745696326,y:.7708205369129717},{x:.0359791588264676,y:.7732603419529485},{x:.027188629451250054,y:.773999400590916},{x:.01842282444541461,y:.7730093112178859},{x:.010018608779415478,y:.7703281224132152},{x:.0022989517481584835,y:.7660588707590397},{x:-.004439484557878664,y:.7603656212022051},{x:-.009937745810413578,y:.7534671621303695},{x:-.013984536912971763,y:.7456285974569633},{x:-.016424341952948517,y:.7371511588264675},{x:-.017163400590915968,y:.72836062945125}]],W:[[{x:-.04486424190193638,y:.7324968210037928},{x:-.04468360364824366,y:.7236771280279449},{x:.03511539635175633,y:.05429612802794491},{x:.03538914303981033,y:.053053468981350556},{x:.035486899606724354,y:.05178477579191172},{x:.03633616861564037,y:.04875449496443272},{x:.037013200434797444,y:.04568114375463893},{x:.03752411791055629,y:.04451576738270255},{x:.03786750587531561,y:.043290523137271594},{x:.039291634880795206,y:.040484152470619886},{x:.040555238800576446,y:.03760193719815913},{x:.041283692791972554,y:.036558628261303676},{x:.041859515947665654,y:.035423918409107566},{x:.04380377647068911,y:.032949305154171604},{x:.045605392901094464,y:.030368987735599786},{x:.046523389329760155,y:.02948784001117424},{x:.047309519115439125,y:.028487270815480248},{x:.049699194314460494,y:.02643951297186818},{x:.05196958814642765,y:.024260253558522238},{x:.05304184892442764,y:.02357512905942291},{x:.054008074813295476,y:.022747151833295932},{x:.056751330810561565,y:.021204943586542027},{x:.059403252082379655,y:.019510489895534},{x:.060588570829346225,y:.019047717572039012},{x:.06169776130235942,y:.01842415101594414},{x:.06468917630833097,y:.01744675856409077},{x:.06762071317273859,y:.01630222750050557},{x:.06887353875396018,y:.016079591433481148},{x:.07008306824328207,y:.01568439886046892},{x:.07320768385688461,y:.015309382847312772},{x:.07630617899620724,y:.014758758098063603},{x:.07757836602719018,y:.014784814066709744},{x:.07884175299285809,y:.014633182505734484},{x:.08197949198836539,y:.014874954586349768},{x:.08512587197205507,y:.014939396351756326},{x:.08636853101864941,y:.015213143039810315},{x:.08763722420808827,y:.015310899606724347},{x:.09066750503556728,y:.016160168615640357},{x:.09374085624536103,y:.01683720043479743},{x:.09490623261729739,y:.017348117910556266},{x:.09613147686272838,y:.017691505875315594},{x:.09893784752938008,y:.01911563488079519},{x:.10182006280184085,y:.020379238800576432},{x:.10286337173869634,y:.02110769279197256},{x:.1039980815908924,y:.02168351594766564},{x:.10647269484582828,y:.023627776470689026},{x:.1090530122644002,y:.025429392901094458},{x:.10993415998882576,y:.026347389329760156},{x:.11093472918451973,y:.02713351911543911},{x:.11298248702813177,y:.02952319431446044},{x:.11516174644147774,y:.03179358814642764},{x:.11584687094057705,y:.032865848924427614},{x:.11667484816670405,y:.03383207481329547},{x:.118217056413458,y:.03657533081056164},{x:.11991151010446596,y:.039227252082379635},{x:.12037428242796094,y:.040412570829346184},{x:.12099784898405583,y:.041521761302359406},{x:.2862381791186236,y:.4176126753554925},{x:.4644074439049092,y:.03214939722735514},{x:.46457066699968924,y:.031871550040082325},{x:.46468087848244366,y:.03156873942729889},{x:.4668033610072479,y:.028070937443703255},{x:.4688757411162635,y:.024543219843286366},{x:.46909003322228215,y:.024302554657928657},{x:.4692572024422568,y:.02402706365982141},{x:.47202128937582516,y:.021010546759784428},{x:.47474207284479647,y:.017954914566682648},{x:.47499919883659564,y:.017760680011347015},{x:.4752169015744166,y:.01752309559247584},{x:.47851637060601154,y:.015103786828781735},{x:.4817809992520572,y:.012637666274559728},{x:.4820710779219699,y:.012497326674279732},{x:.48233094798351184,y:.012306779070622963},{x:.4860390023686124,y:.010577651122297159},{x:.4897220183436901,y:.008795813836836655},{x:.4900339021311097,y:.008714762363747632},{x:.4903259528556443,y:.008578574212853553},{x:.49430009414373083,y:.007606076497244536},{x:.4982599612093785,y:.006576997488159493},{x:.4985816645952609,y:.006558348904918078},{x:.4988946726372282,y:.006481753841050326},{x:.5029821768073245,y:.006303258899985619},{x:.5070667194929276,y:.00606648509648134},{x:.5073858795965667,y:.006110956057683261},{x:.5077078162324508,y:.006096897586191266},{x:.5117516027915979,y:.006719264880154805},{x:.5158038544123874,y:.0072838953667157535},{x:.5161082060899873,y:.007389776878261636},{x:.5164266994754154,y:.007438795258320738},{x:.5202713679739276,y:.008838107561233023},{x:.5241356027726449,y:.01018244390490916},{x:.524413449959918,y:.010345666999689355},{x:.5247162605727012,y:.010455878482443691},{x:.5282140625562944,y:.012578361007246536},{x:.5317417801567137,y:.014650741116263542},{x:.5319824453420714,y:.01486503322228222},{x:.5322579363401786,y:.01503220244225683},{x:.535274453240215,y:.01779628937582467},{x:.5383300854333174,y:.020517072844796484},{x:.5385243199886531,y:.020774198836595797},{x:.5387619044075241,y:.0209919015744166},{x:.5411812131712181,y:.024291370606011366},{x:.5436473337254403,y:.027555999252057217},{x:.5437876733257202,y:.027846077921969747},{x:.5439782209293771,y:.028105947983511865},{x:.5457073488777034,y:.03181400236861376},{x:.5474891861631633,y:.0354970183436901},{x:.5475702376362523,y:.03580890213110964},{x:.5477064257871465,y:.03610095285564429},{x:.548678923502756,y:.040075094143733274},{x:.5497080025118405,y:.04403496120937851},{x:.5497266510950819,y:.04435666459526063},{x:.5498032461589497,y:.04466967263722821},{x:.6466002461589497,y:.7226436726372282},{x:.6469851024138088,y:.7314568162324507},{x:.6456432047416794,y:.7401756994754154},{x:.6426261215175564,y:.7484652605727011},{x:.6380497975577433,y:.7560069363401786},{x:.6320900984255835,y:.7625109044075241},{x:.6249760520164882,y:.7677272209293771},{x:.6169810471443558,y:.7714554257871464},{x:.6084123273627718,y:.7735522461589497},{x:.5995991837675493,y:.7739371024138088},{x:.5908803005245846,y:.7725952047416793},{x:.5825907394272989,y:.7695781215175563},{x:.5750490636598214,y:.7650017975577432},{x:.5685450955924759,y:.7590420984255835},{x:.563328779070623,y:.7519280520164882},{x:.5596005742128536,y:.7439330471443557},{x:.5575037538410503,y:.7353643273627718},{x:.4822251865940539,y:.2081071670095049},{x:.3260455560950909,y:.5459966027726448},{x:.3245096626856286,y:.5486110836728201},{x:.32313748405233433,y:.5513150815908924},{x:.32228015650766817,y:.5524062697730983},{x:.32157725888373645,y:.5536027801567136},{x:.3195608173147473,y:.5558673865996665},{x:.3176874808845609,y:.5582517291845196},{x:.31663374639442166,y:.5591546941850146},{x:.31571092715520355,y:.5601910854333173},{x:.3132914281453504,y:.5620187898634509},{x:.3109889251867045,y:.563991848166704},{x:.30977927817660644,y:.5646718895469083},{x:.3086720007479428,y:.5655083337254402},{x:.3059424242873038,y:.566828898486493},{x:.3032992386976406,y:.5683148489840557},{x:.30198016522380455,y:.5687458331350992},{x:.3007309816563099,y:.5693501861631632},{x:.29779622383750376,y:.570112862691949},{x:.29491393175671793,y:.571054601139531},{x:.29353612307299787,y:.5712199655821879},{x:.29219303879062153,y:.5715690025118404},{x:.28916588071079274,y:.5717444815770724},{x:.2861552470071419,y:.5721058174942654},{x:.2847716515285703,y:.5719992073657418},{x:.2833862805070725,y:.5720795149035186},{x:.28038305415357795,y:.5716610529431293},{x:.27735977579191173,y:.5714281003932755},{x:.27602356431680025,y:.5710536126610233},{x:.27464914558761266,y:.5708621046332842},{x:.27178526326499086,y:.5698657829057354},{x:.26886552313727163,y:.5690474941246844},{x:.26762804552325165,y:.5684195201422382},{x:.26631739722735515,y:.5679635560950907},{x:.26370291632718046,y:.5664276626856288},{x:.2609989184091076,y:.5650554840523343},{x:.25990773022690183,y:.5641981565076682},{x:.2587112198432863,y:.5634952588837364},{x:.25644661340033337,y:.5614788173147471},{x:.2540622708154803,y:.5596054808845607},{x:.2531593058149851,y:.5585517463944213},{x:.2521229145666826,y:.5576289271552034},{x:.2502952101365493,y:.5552094281453507},{x:.24832215183329598,y:.5529069251867045},{x:.2476421104530918,y:.5516972781766065},{x:.24680566627455972,y:.5505900007479427},{x:.245485101513507,y:.5478604242873037},{x:.24399915101594416,y:.5452172386976405},{x:.10495542809967917,y:.22875042455884986},{x:.04468360364824366,y:.734330871972055},{x:.04278579956520255,y:.742945856245361},{x:.03924376119942353,y:.7510250628018409},{x:.034193607098905524,y:.7582580122644001},{x:.02782941185357234,y:.7643667464414777},{x:.020395747917620333,y:.7691165101044659},{x:.012178286827261426,y:.7723247724994944},{x:.003492821003792758,y:.7738682419019364},{x:-.00532687197205508,y:.7736876036482436},{x:-.013941856245361059,y:.7717897995652026},{x:-.022021062801840872,y:.7682477611994235},{x:-.029254012264400202,y:.7631976070989055},{x:-.035362746441477744,y:.7568334118535723},{x:-.04011251010446598,y:.7493997479176203},{x:-.04332077249949441,y:.7411822868272614},{x:-.04486424190193638,y:.7324968210037928}]],X:[[{x:-.03582341524240513,y:.7325834270170574},{x:-.035659804156077404,y:.7237634017461555},{x:-.03377863524060577,y:.7151447697271875},{x:-.030252200762440104,y:.7070587401552579},{x:-.02521601962092907,y:.6998160546121182},{x:.24190189785100796,y:.3863717955888736},{x:-.0190039697420246,y:.08021800391719859},{x:-.024040163260448045,y:.07297532698032597},{x:-.027566611556706647,y:.06488930343468059},{x:-.029447795200430175,y:.056270674630427356},{x:-.029611421359170286,y:.047450649639130975},{x:-.028051201971409197,y:.03876817707487998},{x:-.024827095393237467,y:.030556919489131844},{x:-.02006300223235442,y:.02313243090598055},{x:-.013942003917198569,y:.016780030257975413},{x:-.006699326980325947,y:.011743836739551976},{x:.0013866965653194212,y:.00821738844329338},{x:.010005325369572668,y:.006336204799569846},{x:.018825350360869044,y:.0061725786408297345},{x:.02750782292512003,y:.007732798028590823},{x:.03571908051086817,y:.010956904606762553},{x:.04314356909401947,y:.0157209977676456},{x:.049495969742024595,y:.021841996082801452},{x:.3010259353438819,y:.31699385831754345},{x:.5525549803790709,y:.021842054612118165},{x:.558907370566982,y:.01572104544144637},{x:.5663318510088331,y:.010956939592969957},{x:.5745431030849405,y:.007732818982704524},{x:.5832255729829426,y:.006172584757594898},{x:.5920455982538445,y:.006336195843922615},{x:.6006642302728125,y:.008217364759394247},{x:.6087502598447422,y:.011743799237559922},{x:.6159929453878819,y:.016779980379070948},{x:.6221139545585537,y:.023132370566981995},{x:.6268780604070301,y:.03055685100883309},{x:.6301021810172955,y:.0387681030849405},{x:.6316624152424052,y:.04745057298294264},{x:.6314988041560774,y:.05627059825384449},{x:.6296176352406058,y:.06488923027281246},{x:.6260912007624402,y:.07297525984474214},{x:.6210550196209291,y:.08021794538788188},{x:.36015009139561527,y:.3863716945525663},{x:.6272689697420246,y:.6998159960828014},{x:.632305163260448,y:.7070586730196741},{x:.6358316115567066,y:.7151446965653194},{x:.6377127952004301,y:.7237633253695727},{x:.6378764213591702,y:.7325833503608691},{x:.6363162019714091,y:.74126582292512},{x:.6330920953932374,y:.7494770805108681},{x:.6283280022323544,y:.7569015690940195},{x:.6222070039171985,y:.7632539697420246},{x:.6149643269803259,y:.7682901632604481},{x:.6068783034346805,y:.7718166115567067},{x:.5982596746304273,y:.7736977952004301},{x:.5894396496391309,y:.7738614213591702},{x:.58075717707488,y:.7723012019714092},{x:.5725459194891318,y:.7690770953932374},{x:.5651214309059804,y:.7643130022323544},{x:.5587690302579753,y:.7581920039171985},{x:.30102605390274134,y:.4557496318238965},{x:.04328401962092907,y:.7581919453878818},{x:.03693162943301802,y:.7643129545585536},{x:.029507148991166913,y:.76907706040703},{x:.021295896915059523,y:.7723011810172955},{x:.012613427017057378,y:.7738614152424051},{x:.003793401746155514,y:.7736978041560774},{x:-.004825230272812429,y:.7718166352406057},{x:-.012911259844742107,y:.7682902007624401},{x:-.02015394538788185,y:.7632540196209291},{x:-.02627495455855365,y:.756901629433018},{x:-.031039060407030063,y:.7494771489911669},{x:-.034263181017295495,y:.7412658969150595},{x:-.03582341524240513,y:.7325834270170574}]],Y:[[{x:-.02688005049839745,y:.731186349993587},{x:-.02644216088936969,y:.7223756821949907},{x:-.024293809188388457,y:.7138197369324374},{x:-.020517555346512936,y:.7058473143841377},{x:-.015258518681138845,y:.6987647902776368},{x:.25043465103960333,y:.4059541390643743},{x:.26029423204414154,y:.04978477430584237},{x:.26140149479875585,y:.04103299828270508},{x:.26419486861258723,y:.03266540142918031},{x:.26856700569651215,y:.025003545799746604},{x:.27434988727431814,y:.01834187220942495},{x:.28132128045004745,y:.012936385038381841},{x:.28921327849355916,y:.008994814127168342},{x:.2977225963459245,y:.006668631835443931},{x:.30652222569415766,y:.00604723204414153},{x:.3152740017172949,y:.007154494798755871},{x:.32364159857081976,y:.009947868612587236},{x:.3313034542002534,y:.014320005696512164},{x:.3379651277905751,y:.020102887274318144},{x:.3433706149616182,y:.027074280450047443},{x:.3473121858728317,y:.03496627849355913},{x:.3496383681645561,y:.04347559634592452},{x:.3502597679558585,y:.05227522569415767},{x:.34045421751128274,y:.4064927803087797},{x:.6166036868780955,y:.6970396048261934},{x:.6220250193382449,y:.7039986829780357},{x:.6259845336177533,y:.7118816938899454},{x:.6283300678033804,y:.7203856978734211},{x:.6289714843317633,y:.7291838908244783},{x:.6278841339254269,y:.7379381631220915},{x:.6251098028506934,y:.7463120929913156},{x:.620755107094902,y:.7539838750034306},{x:.6149873951738065,y:.7606586868780956},{x:.6080283170219642,y:.7660800193382449},{x:.6001453061100546,y:.7700395336177532},{x:.5916413021265788,y:.7723850678033803},{x:.5828431091755216,y:.7730264843317632},{x:.5740888368779085,y:.7719391339254268},{x:.5657149070086843,y:.7691648028506933},{x:.5580431249965694,y:.7648101070949019},{x:.5513683131219045,y:.7590423951738065},{x:.29567976193894085,y:.4900232412279098},{x:.051392518681138845,y:.7592432097223631},{x:.04485280102201476,y:.765163657957578},{x:.03728372005126494,y:.7696945108160528},{x:.028976151305805796,y:.7726616501633681},{x:.02024934999358704,y:.7739510504983974},{x:.011438682194990706,y:.7735131608893697},{x:.002882736932437466,y:.7713648091883885},{x:-.0050896856158622154,y:.7675885553465129},{x:-.012172209722363214,y:.7623295186811389},{x:-.01809265795757798,y:.7557898010220148},{x:-.022623510816052815,y:.7482207200512649},{x:-.025590650163368103,y:.7399131513058058},{x:-.02688005049839745,y:.731186349993587}]],Z:[[{x:.008711000000000003,y:.05103000000000002},{x:.00905278632815029,y:.04755978517413498},{x:.009251179439517476,y:.04407842782316871},{x:.009484424544736794,y:.043177288815328604},{x:.009575662381854637,y:.04225093550927423},{x:.01058788670939069,y:.038914079093048184},{x:.01146164687940622,y:.0355383196233794},{x:.011866213744552238,y:.0346999996115786},{x:.012136421036992098,y:.03380924554357098},{x:.013780184150668652,y:.030733981057728944},{x:.015295733266009179,y:.0275935480126292},{x:.015856074613338045,y:.026850263164785913},{x:.01629486744638546,y:.026029339514117927},{x:.01850700045157689,y:.023333847648222647},{x:.020606096809669634,y:.02054942610843994},{x:.02130067903544657,y:.01992974044441782},{x:.021891194846605365,y:.019210194846605383},{x:.024586686712500538,y:.016998061841414044},{x:.027188663217490867,y:.014676655565200585},{x:.02799079391630549,y:.014204383257544266},{x:.028710339514117916,y:.013613867446385479},{x:.03178560399995988,y:.01197010433270896},{x:.03479046815396611,y:.010200923661400137},{x:.035669321892902964,y:.00989421387003954},{x:.036490245543570964,y:.009455421036992116},{x:.03982710195979704,y:.008443196709456058},{x:.04311937851852794,y:.007294230264082269},{x:.04404118144126662,y:.007164869674294513},{x:.04493193550927423,y:.006894662381854655},{x:.048402150335139275,y:.006552876053704368},{x:.05185531895677298,y:.006068277970413476},{x:.052784646693945655,y:.006121237837117864},{x:.053711,y:.0060300000000000215},{x:.548341,y:.0060300000000000215},{x:.5571200644907257,y:.006894662381854655},{x:.565561754456429,y:.009455421036992116},{x:.5733416604858821,y:.013613867446385479},{x:.5801608051533946,y:.019210194846605383},{x:.5857571325536145,y:.026029339514117927},{x:.5899155789630078,y:.03380924554357098},{x:.5924763376181453,y:.04225093550927425},{x:.593341,y:.05103000000000002},{x:.5924763376181453,y:.05980906449072579},{x:.5899155789630078,y:.06825075445642906},{x:.5857571325536145,y:.07603066048588211},{x:.5801608051533946,y:.08284980515339466},{x:.5733416604858821,y:.08844613255361455},{x:.565561754456429,y:.09260457896300792},{x:.5571200644907257,y:.09516533761814538},{x:.548341,y:.09603000000000002},{x:.14224494935878249,y:.09603000000000002},{x:.5846943444347994,y:.7024816632174908},{x:.5851666167424556,y:.7032837939163054},{x:.5857571325536145,y:.7040033395141179},{x:.5874008956672913,y:.7070786039999603},{x:.5891700763385999,y:.7100834681539662},{x:.5894767861299605,y:.7109623218929031},{x:.5899155789630078,y:.711783245543571},{x:.5909278032905438,y:.7151201019597967},{x:.5920767697359177,y:.7184123785185279},{x:.5922061303257055,y:.7193341814412667},{x:.5924763376181453,y:.7202249355092742},{x:.5928181239462956,y:.7236951503351391},{x:.5933027220295866,y:.7271483189567729},{x:.5932497621628822,y:.7280776466939456},{x:.593341,y:.729004},{x:.5929992136718496,y:.7324742148258655},{x:.5928008205604824,y:.7359555721768313},{x:.5925675754552632,y:.7368567111846711},{x:.5924763376181453,y:.7377830644907257},{x:.5914641132906093,y:.7411199209069517},{x:.5905903531205937,y:.7444956803766206},{x:.5901857862554476,y:.7453340003884216},{x:.5899155789630078,y:.746224754456429},{x:.5882718158493319,y:.74930001894227},{x:.5867562667339908,y:.7524404519873709},{x:.5861959253866618,y:.7531837368352144},{x:.5857571325536145,y:.7540046604858821},{x:.5835449995484229,y:.7567001523517777},{x:.5814459031903303,y:.7594845738915601},{x:.5807513209645536,y:.760104259555582},{x:.5801608051533946,y:.7608238051533946},{x:.5774653132874991,y:.7630359381585863},{x:.5748633367825091,y:.7653573444347994},{x:.5740612060836946,y:.7658296167424556},{x:.5733416604858821,y:.7664201325536145},{x:.5702663960000408,y:.7680638956672906},{x:.5672615318460339,y:.7698330763385999},{x:.5663826781070966,y:.7701397861299606},{x:.565561754456429,y:.7705785789630079},{x:.5622248980402041,y:.7715908032905435},{x:.558932621481472,y:.7727397697359177},{x:.5580108185587332,y:.7728691303257055},{x:.5571200644907257,y:.7731393376181454},{x:.553649849664861,y:.7734811239462956},{x:.5501966810432269,y:.7739657220295866},{x:.5492673533060543,y:.7739127621628822},{x:.548341,y:.774004},{x:.053711,y:.774004},{x:.04493193550927421,y:.7731393376181454},{x:.036490245543570936,y:.7705785789630079},{x:.028710339514117906,y:.7664201325536145},{x:.021891194846605358,y:.7608238051533946},{x:.01629486744638546,y:.7540046604858821},{x:.012136421036992098,y:.746224754456429},{x:.009575662381854637,y:.7377830644907257},{x:.008711000000000003,y:.729004},{x:.009575662381854637,y:.7202249355092742},{x:.012136421036992098,y:.711783245543571},{x:.01629486744638546,y:.7040033395141179},{x:.021891194846605365,y:.6971841948466053},{x:.028710339514117916,y:.6915878674463855},{x:.036490245543570964,y:.6874294210369921},{x:.04493193550927423,y:.6848686623818546},{x:.053711,y:.684004},{x:.4598070506412174,y:.684004},{x:.017357655565200567,y:.07755233678250915},{x:.016885383257544267,y:.07675020608369457},{x:.01629486744638546,y:.07603066048588211},{x:.014651104332708876,y:.07295539600004002},{x:.012881923661400112,y:.06995053184603389},{x:.012575213870039523,y:.06907167810709706},{x:.012136421036992098,y:.06825075445642906},{x:.011124196709456038,y:.06491389804020298},{x:.00997523026408225,y:.06162162148147208},{x:.009845869674294495,y:.0606998185587334},{x:.009575662381854637,y:.05980906449072579},{x:.009233876053704348,y:.056338849664860746},{x:.008749277970413458,y:.05288568104322705},{x:.008802237837117845,y:.05195635330605437},{x:.008711000000000003,y:.05103000000000002}]],"[":[[{x:.152511,y:-.06942399999999993},{x:.15337566238185463,y:-.0782030644907257},{x:.1559364210369921,y:-.08664475445642897},{x:.16009486744638546,y:-.09442466048588202},{x:.16569119484660536,y:-.10124380515339457},{x:.1725103395141179,y:-.10684013255361446},{x:.18029024554357093,y:-.11099857896300783},{x:.1887319355092742,y:-.1135593376181453},{x:.197511,y:-.11442399999999993},{x:.404542,y:-.11442399999999993},{x:.4133210644907258,y:-.1135593376181453},{x:.4217627544564291,y:-.11099857896300783},{x:.42954266048588213,y:-.10684013255361446},{x:.4363618051533946,y:-.10124380515339457},{x:.44195813255361455,y:-.09442466048588202},{x:.44611657896300794,y:-.08664475445642897},{x:.4486773376181454,y:-.0782030644907257},{x:.449542,y:-.06942399999999993},{x:.4486773376181454,y:-.06064493550927416},{x:.44611657896300794,y:-.05220324554357089},{x:.44195813255361455,y:-.04442333951411784},{x:.4363618051533946,y:-.03760419484660529},{x:.42954266048588213,y:-.032007867446385396},{x:.4217627544564291,y:-.027849421036992027},{x:.4133210644907258,y:-.025288662381854565},{x:.404542,y:-.024423999999999932},{x:.24251099999999998,y:-.024423999999999932},{x:.24251099999999998,y:.7147659999999999},{x:.404542,y:.7147659999999999},{x:.4133210644907258,y:.7156306623818546},{x:.4217627544564291,y:.7181914210369921},{x:.42954266048588213,y:.7223498674463854},{x:.4363618051533946,y:.7279461948466053},{x:.44195813255361455,y:.7347653395141178},{x:.44611657896300794,y:.7425452455435709},{x:.4486773376181454,y:.7509869355092742},{x:.449542,y:.7597659999999999},{x:.4486773376181454,y:.7685450644907257},{x:.44611657896300794,y:.776986754456429},{x:.44195813255361455,y:.7847666604858821},{x:.4363618051533946,y:.7915858051533946},{x:.42954266048588213,y:.7971821325536145},{x:.4217627544564291,y:.8013405789630078},{x:.4133210644907258,y:.8039013376181453},{x:.404542,y:.804766},{x:.197511,y:.804766},{x:.1887319355092742,y:.8039013376181453},{x:.18029024554357093,y:.8013405789630078},{x:.1725103395141179,y:.7971821325536145},{x:.16569119484660536,y:.7915858051533946},{x:.16009486744638546,y:.7847666604858821},{x:.1559364210369921,y:.776986754456429},{x:.15337566238185463,y:.7685450644907257},{x:.152511,y:.7597659999999999},{x:.152511,y:-.06942399999999993}]],"\\\\":[[{x:.017522651058219416,y:.7303997530123288},{x:.018114599516431164,y:.7215980934307649},{x:.020412292453046287,y:.7130810386853763},{x:.024327430817071727,y:.7051758944136092},{x:.5013774308170718,y:-.059077105586390885},{x:.5067595580368128,y:-.06606654912342862},{x:.5134018419815468,y:-.0718716915303336},{x:.521049023404313,y:-.07626944443996993},{x:.5294072254116235,y:-.07909080467430848},{x:.5381552469876711,y:-.08022734894178067},{x:.5469569065692351,y:-.07963540048356893},{x:.5554739613146237,y:-.0773377075469538},{x:.5633791055863908,y:-.07342256918292836},{x:.5703685491234285,y:-.06804044196318723},{x:.5761736915303335,y:-.06139815801845332},{x:.5805714444399699,y:-.05375097659568702},{x:.5833928046743084,y:-.04539277458837649},{x:.5845293489417805,y:-.03664475301232898},{x:.5839374004835688,y:-.02784309343076498},{x:.5816397075469537,y:-.01932603868537643},{x:.5777245691829282,y:-.011420894413609283},{x:.10067456918292828,y:.7528321055863908},{x:.09529244196318712,y:.7598215491234285},{x:.0886501580184532,y:.7656266915303336},{x:.08100297659568693,y:.7700244444399699},{x:.07264477458837638,y:.7728458046743084},{x:.06389675301232887,y:.7739823489417805},{x:.055095093430764894,y:.7733904004835688},{x:.04657803868537634,y:.7710927075469537},{x:.03867289441360919,y:.7671775691829282},{x:.03168345087657147,y:.7617954419631872},{x:.025878308469666468,y:.7551531580184532},{x:.021480555560030153,y:.747505976595687},{x:.01865919532569161,y:.7391477745883763},{x:.017522651058219416,y:.7303997530123288}]],"]":[[{x:.15250999999999998,y:-.06942399999999993},{x:.15337466238185463,y:-.0782030644907257},{x:.1559354210369921,y:-.08664475445642897},{x:.16009386744638546,y:-.09442466048588202},{x:.16569019484660535,y:-.10124380515339457},{x:.1725093395141179,y:-.10684013255361446},{x:.18028924554357095,y:-.11099857896300783},{x:.18873093550927422,y:-.1135593376181453},{x:.19751,y:-.11442399999999993},{x:.404542,y:-.11442399999999993},{x:.4133210644907258,y:-.1135593376181453},{x:.4217627544564291,y:-.11099857896300783},{x:.42954266048588213,y:-.10684013255361446},{x:.4363618051533946,y:-.10124380515339457},{x:.44195813255361455,y:-.09442466048588202},{x:.44611657896300794,y:-.08664475445642897},{x:.4486773376181454,y:-.0782030644907257},{x:.449542,y:-.06942399999999993},{x:.449542,y:.7597659999999999},{x:.4486773376181454,y:.7685450644907257},{x:.44611657896300794,y:.776986754456429},{x:.44195813255361455,y:.7847666604858821},{x:.4363618051533946,y:.7915858051533946},{x:.42954266048588213,y:.7971821325536145},{x:.4217627544564291,y:.8013405789630078},{x:.4133210644907258,y:.8039013376181453},{x:.404542,y:.804766},{x:.19751,y:.804766},{x:.18873093550927422,y:.8039013376181453},{x:.18028924554357095,y:.8013405789630078},{x:.1725093395141179,y:.7971821325536145},{x:.16569019484660535,y:.7915858051533946},{x:.16009386744638546,y:.7847666604858821},{x:.1559354210369921,y:.776986754456429},{x:.15337466238185463,y:.7685450644907257},{x:.15250999999999998,y:.7597659999999999},{x:.15337466238185463,y:.7509869355092742},{x:.1559354210369921,y:.7425452455435709},{x:.16009386744638546,y:.7347653395141178},{x:.16569019484660535,y:.7279461948466053},{x:.1725093395141179,y:.7223498674463854},{x:.18028924554357095,y:.7181914210369921},{x:.18873093550927422,y:.7156306623818546},{x:.19751,y:.7147659999999999},{x:.35954200000000003,y:.7147659999999999},{x:.35954200000000003,y:-.024423999999999932},{x:.19751,y:-.024423999999999932},{x:.18873093550927422,y:-.025288662381854565},{x:.18028924554357095,y:-.027849421036992027},{x:.1725093395141179,y:-.03200786744638539},{x:.16569019484660535,y:-.03760419484660529},{x:.16009386744638546,y:-.04442333951411784},{x:.1559354210369921,y:-.052203245543570885},{x:.15337466238185463,y:-.06064493550927414},{x:.15250999999999998,y:-.06942399999999993}]],"^":[[{x:-.009830024293871129,y:.4771904357900641},{x:-.009184411720694952,y:.46839254975009553},{x:-.006834821991481832,y:.4598896653882279},{x:-.002871548521860348,y:.4520085437820153},{x:.002553102311361327,y:.44505205201500053},{x:.009230664218841726,y:.43928752416454453},{x:.016904522241296224,y:.4349364878031557},{x:.02527977431847106,y:.43216615081811305},{x:.034034564209935884,y:.43108297570612886},{x:.04283245024990444,y:.431728588279305},{x:.05133533461177206,y:.4340781780085181},{x:.05921645621798466,y:.4380414514781396},{x:.06617294798499941,y:.4434661023113613},{x:.30102423332324457,y:.6668931783680099},{x:.5358792969655858,y:.44346586927801307},{x:.5428358294884947,y:.4380412707099504},{x:.5507169808710617,y:.43407805645230807},{x:.5592198828854552,y:.4317285306064111},{x:.5680177737757447,y:.431082984132888},{x:.5767725555289304,y:.4321662250206897},{x:.5851477867919753,y:.43493662492998636},{x:.5928216121243246,y:.439287718945922},{x:.5994991307219868,y:.44505229696558585},{x:.6049237292900496,y:.45200882948849475},{x:.6088869435476919,y:.4598899808710617},{x:.6112364693935889,y:.4683928828854553},{x:.6118820158671119,y:.47719077377574476},{x:.6107987749793102,y:.4859455555289303},{x:.6080283750700135,y:.4943207867919753},{x:.6036772810540779,y:.5019946121243246},{x:.5979127030344141,y:.5086721307219868},{x:.33204070303441413,y:.7616071307219868},{x:.3294429315385385,y:.7636328335402047},{x:.3269493357811583,y:.7657854758354554},{x:.3259710287822201,y:.7663401706594313},{x:.32508417051150523,y:.7670317292900496},{x:.3221411194513825,y:.7685117087189752},{x:.3192754777587038,y:.7701365121968442},{x:.31820775306259985,y:.7704896904878621},{x:.3172030191289383,y:.7709949435476919},{x:.31402778830632944,y:.7718723248078522},{x:.310900225681529,y:.7729068491818869},{x:.30978411534954325,y:.7730449384962876},{x:.3087001171145447,y:.7733444693935889},{x:.30541472886927135,y:.7735855352151975},{x:.30214543579006414,y:.7739900242938711},{x:.3010238313163334,y:.7739077179367437},{x:.2999022262242552,y:.773990015867112},{x:.29663293618411596,y:.7735855022258356},{x:.2933475497500956,y:.7733444117206949},{x:.29226355376554153,y:.7730448726791859},{x:.29114744447106966,y:.7729067749793103},{x:.2880198896188706,y:.7718722271075298},{x:.28484466538822795,y:.7709948219914818},{x:.28383993525062523,y:.7704895613829726},{x:.2827722132080247,y:.7701363750700135},{x:.27990658372278143,y:.7685115500622604},{x:.2769635437820154,y:.7670315485218604},{x:.2760766907070934,y:.7663399832281829},{x:.2750983878756754,y:.765785281054078},{x:.27260480829144085,y:.7636326200241867},{x:.2700070520150006,y:.7616068976886387},{x:.004139052015000585,y:.5086718976886386},{x:-.001625475835455463,y:.5019943357811583},{x:-.0059765121968442594,y:.49432047775870375},{x:-.00874684918188691,y:.4859452256815289},{x:-.009830024293871129,y:.4771904357900641}]],_:[[{x:-.045,y:-.160601},{x:-.044135337618145365,y:-.16938006449072576},{x:-.041574578963007904,y:-.17782175445642903},{x:-.03741613255361454,y:-.1856016604858821},{x:-.03181980515339464,y:-.19242080515339463},{x:-.025000660485882086,y:-.19801713255361453},{x:-.017220754456429038,y:-.2021755789630079},{x:-.008779064490725769,y:-.20473633761814536},{x:0,y:-.20560099999999998},{x:.602052,y:-.20560099999999998},{x:.6108310644907258,y:-.20473633761814536},{x:.619272754456429,y:-.2021755789630079},{x:.6270526604858822,y:-.19801713255361453},{x:.6338718051533947,y:-.19242080515339463},{x:.6394681325536146,y:-.1856016604858821},{x:.6436265789630079,y:-.17782175445642903},{x:.6461873376181454,y:-.16938006449072576},{x:.6470520000000001,y:-.160601},{x:.6461873376181454,y:-.15182193550927423},{x:.6436265789630079,y:-.14338024554357096},{x:.6394681325536146,y:-.1356003395141179},{x:.6338718051533947,y:-.12878119484660536},{x:.6270526604858822,y:-.12318486744638546},{x:.619272754456429,y:-.1190264210369921},{x:.6108310644907258,y:-.11646566238185463},{x:.602052,y:-.115601},{x:0,y:-.115601},{x:-.00877906449072579,y:-.11646566238185463},{x:-.017220754456429066,y:-.1190264210369921},{x:-.025000660485882096,y:-.12318486744638546},{x:-.03181980515339464,y:-.12878119484660536},{x:-.03741613255361454,y:-.1356003395141179},{x:-.041574578963007904,y:-.14338024554357096},{x:-.044135337618145365,y:-.15182193550927423},{x:-.045,y:-.160601}]],a:[[{x:.029951000000000005,y:.25490100000000004},{x:.030216131121475042,y:.2522090785486062},{x:.03027571711850824,y:.2495047884160563},{x:.03064747136410999,y:.24782960757010103},{x:.03081566238185464,y:.24612193550927428},{x:.0316008669059687,y:.24353346308961055},{x:.0321868888075612,y:.2408927597850148},{x:.06949088880756119,y:.12701175978501478},{x:.07014919013856018,y:.12551652306247207},{x:.07061771774296957,y:.1239514111231075},{x:.07192248021942128,y:.12148874987750752},{x:.07304546130734973,y:.1189380599695235},{x:.0739828197765546,y:.11759998201998349},{x:.07474768294666384,y:.11615634846888903},{x:.07650781615341086,y:.11399555310027064},{x:.07810683439013419,y:.11171295672570881},{x:.07928722783725009,y:.11058345913436952},{x:.08031903331037206,y:.10931678199931477},{x:.15605303331037207,y:.033026781999314685},{x:.1581401110567553,y:.03130114899494214},{x:.16009013354595797,y:.02942202284781055},{x:.16153164054777758,y:.028496972085311937},{x:.16285166496406625,y:.027405552418137233},{x:.16523529439528092,y:.026120245637685162},{x:.16751444707429886,y:.024657656887915},{x:.24324744707429888,y:-.014037343112084925},{x:.24491821916217926,y:-.014693433733650136},{x:.24650124554357095,y:-.015539578963007873},{x:.24901423193062222,y:-.016301885049470277},{x:.2514585861893129,y:-.017261751399011975},{x:.25322525179064753,y:-.017579283958613606},{x:.2549429355092742,y:-.018100337618145335},{x:.2575563541074305,y:-.01835773688343746},{x:.2601410014196699,y:-.018822289810772906},{x:.26193566856615697,y:-.018789061710219754},{x:.263722,y:-.018964999999999968},{x:.376759,y:-.018964999999999968},{x:.3786816094876915,y:-.018775639493449434},{x:.3806133727303473,y:-.01879962736385296},{x:.3830607170270406,y:-.018344335046447002},{x:.3855380644907258,y:-.018100337618145335},{x:.3873867891740171,y:-.01753953311656589},{x:.3892861139289994,y:-.017186191753697247},{x:.3915976100664607,y:-.016262194563578608},{x:.3939797544564291,y:-.015539578963007873},{x:.3956835488825182,y:-.014628881868892333},{x:.3974774451646465,y:-.013911789983170525},{x:.4720844451646465,y:.0247832100168294},{x:.4742399118062311,y:.026185049737888398},{x:.4765030886255536,y:.02740538646642049},{x:.47792879308654873,y:.028584168427667152},{x:.47947957817165415,y:.02959274452399146},{x:.48132014276352414,y:.0313881589690925},{x:.48210100000000006,y:.032033776942416534},{x:.48210100000000006,y:.02603500000000003},{x:.4829656623818547,y:.01725593550927424},{x:.4855264210369921,y:.008814245543570985},{x:.4896848674463855,y:.0010343395141179344},{x:.4952811948466054,y:-.0057848051533946065},{x:.5021003395141179,y:-.01138113255361451},{x:.509880245543571,y:-.015539578963007873},{x:.5183219355092743,y:-.018100337618145335},{x:.527101,y:-.018964999999999968},{x:.5358800644907258,y:-.018100337618145335},{x:.544321754456429,y:-.015539578963007873},{x:.5521016604858822,y:-.011381132553614504},{x:.5589208051533947,y:-.0057848051533946065},{x:.5645171325536146,y:.0010343395141179344},{x:.5686755789630079,y:.008814245543570992},{x:.5712363376181454,y:.01725593550927426},{x:.5721010000000001,y:.02603500000000003},{x:.5721010000000001,y:.560059},{x:.5712363376181454,y:.5688380644907257},{x:.5686755789630079,y:.577279754456429},{x:.5645171325536146,y:.5850596604858821},{x:.5589208051533947,y:.5918788051533946},{x:.5521016604858822,y:.5974751325536145},{x:.544321754456429,y:.6016335789630078},{x:.5358800644907258,y:.6041943376181453},{x:.527101,y:.605059},{x:.5183219355092743,y:.6041943376181453},{x:.509880245543571,y:.6016335789630078},{x:.5021003395141179,y:.5974751325536145},{x:.4952811948466054,y:.5918788051533946},{x:.4896848674463855,y:.5850596604858821},{x:.4855264210369921,y:.577279754456429},{x:.4829656623818547,y:.5688380644907257},{x:.48210100000000006,y:.560059},{x:.48210100000000006,y:.5551612473179106},{x:.48111784979070266,y:.5559741116228759},{x:.47906658786156825,y:.5579287481398052},{x:.4777260461549398,y:.558778440075324},{x:.476502844006682,y:.5597897782764175},{x:.474008872962507,y:.5611345413953497},{x:.47161569478864906,y:.5626514387693977},{x:.3970086947886491,y:.6002454387693977},{x:.39545173243232984,y:.6008467903430146},{x:.3939797544564291,y:.6016335789630078},{x:.39134652561635536,y:.6024323601988234},{x:.3887796173011618,y:.6034237870938969},{x:.38713525366780027,y:.6037098355781862},{x:.3855380644907258,y:.6041943376181453},{x:.3827995979159321,y:.6044640530341434},{x:.3800885942320307,y:.6049356509696303},{x:.37842002129388747,y:.6048954036817589},{x:.376759,y:.605059},{x:.263722,y:.605059},{x:.26219504701733515,y:.604908608257877},{x:.26066140118579323,y:.6049547986330399},{x:.25781511370268967,y:.6044772224791067},{x:.2549429355092742,y:.6041943376181453},{x:.2534746624734083,y:.6037489418620853},{x:.2519614739213154,y:.6034950452430072},{x:.24926304753974865,y:.6024713624393285},{x:.24650124554357095,y:.6016335789630078},{x:.24514807736385555,y:.6009102955021357},{x:.24371349707866236,y:.6003660689935006},{x:.16798049707866233,y:.5627720689935006},{x:.1654642487594581,y:.5611982224645521},{x:.16285190958182658,y:.5597896123262998},{x:.16173267757498783,y:.5588642237445607},{x:.16050143578237863,y:.5580941146870384},{x:.15834057869520102,y:.5560596134829665},{x:.15605324108782545,y:.5541684273021619},{x:.08031924108782545,y:.47787942730216193},{x:.07924694249287094,y:.47656305714472025},{x:.07802357952480113,y:.4753857561141845},{x:.07646760484406812,y:.47315109973327435},{x:.07474784589903924,y:.4710398973462887},{x:.07395296229881854,y:.46953962579412084},{x:.07298278594430238,y:.4681462799973844},{x:.07189266871370663,y:.46565100631071576},{x:.07061782960809859,y:.46324486175923196},{x:.0701309079335922,y:.4616183434067253},{x:.06945120152585271,y:.46006249834135976},{x:.032147201525852716,y:.3450764983413597},{x:.031582343425880205,y:.34249647318004567},{x:.03081566238185464,y:.3399690644907258},{x:.030641204072877935,y:.33819775955415116},{x:.03026054307811779,y:.33645906634171463},{x:.03020987650767869,y:.3338184172918108},{x:.029951000000000005,y:.33119},{x:.029951000000000005,y:.25490100000000004}],[{x:.119951,y:.2620835578942187},{x:.119951,y:.3240730820964405},{x:.15174843963453788,y:.42208563822492473},{x:.21467365091165175,y:.4854719831046318},{x:.2742766075147511,y:.5150589999999999},{x:.3660620360389177,y:.5150589999999999},{x:.4245839309326211,y:.4855701837142105},{x:.48210100000000006,y:.4276323784447675},{x:.48210100000000006,y:.15956344905445352},{x:.4243936225653894,y:.10143318135145685},{x:.36578354074375496,y:.07103500000000003},{x:.2745522516182332,y:.07103500000000003},{x:.21486246778999646,y:.10153288315838035},{x:.15170083487400915,y:.1651582162341545},{x:.119951,y:.2620835578942187}]],b:[[{x:.03166000000000001,y:.04001500000000002},{x:.03252466238185464,y:.031235935509274233},{x:.0350854210369921,y:.022794245543570978},{x:.039243867446385465,y:.015014339514117927},{x:.04484019484660537,y:.008195194846605386},{x:.05165933951411792,y:.002598867446385482},{x:.05943924554357097,y:-.0015595789630078807},{x:.06788093550927424,y:-.004120337618145342},{x:.07666,y:-.0049849999999999756},{x:.08543906449072577,y:-.004120337618145342},{x:.09388075445642904,y:-.0015595789630078807},{x:.10166066048588211,y:.002598867446385489},{x:.10847980515339464,y:.008195194846605386},{x:.11407613255361454,y:.015014339514117927},{x:.1182345789630079,y:.022794245543570985},{x:.12079533761814537,y:.031235935509274254},{x:.12166,y:.04001500000000002},{x:.12166,y:.041388769861289504},{x:.12338630711141785,y:.04010106584896898},{x:.12512540667363178,y:.03853443023544684},{x:.12691331624345048,y:.03747016444054036},{x:.12858112311649333,y:.036226097502515},{x:.13069431360107225,y:.035219499067818724},{x:.13270563229917137,y:.034022247411931134},{x:.20674863229917137,y:-.0007227525880688923},{x:.20772794171481185,y:-.0010698043626217635},{x:.20864424554357097,y:-.0015595789630078669},{x:.21187816153300185,y:-.0025405766534664824},{x:.21506348921487128,y:-.003669406425619949},{x:.21609168791714548,y:-.0038187359083884913},{x:.21708593550927424,y:-.004120337618145342},{x:.22044909586509742,y:-.004451580001305548},{x:.22379344213248661,y:-.004937293022731791},{x:.22483101702188665,y:-.00488316156543817},{x:.225865,y:-.0049849999999999756},{x:.338045,y:-.0049849999999999756},{x:.33894984805462636,y:-.004895880245274822},{x:.33985755144997865,y:-.004948481373678995},{x:.343332465401001,y:-.004464230112452937},{x:.3468240644907258,y:-.004120337618145342},{x:.3476941397420575,y:-.003856403176165039},{x:.34859466384226984,y:-.0037309094409420443},{x:.351908335561611,y:-.0025780408502315546},{x:.35526575445642905,y:-.0015595789630078807},{x:.35606762040050133,y:-.0011309726863615623},{x:.35692635856942223,y:-.0008322067413783357},{x:.43209235856942224,y:.03391279325862169},{x:.4342218624454842,y:.03516383683568551},{x:.43645162164562873,y:.03622594356254809},{x:.4380158580934015,y:.037392738102356306},{x:.4396984532755396,y:.03838123120587913},{x:.4415429728374372,y:.04002368192832182},{x:.4435226810964235,y:.04150038501262054},{x:.5186856810964235,y:.11000138501262047},{x:.5200684051728882,y:.11153543836568303},{x:.5216038163727121,y:.1129166544997947},{x:.5230144082918019,y:.11480386048953693},{x:.5245918796416693,y:.11655397481445093},{x:.5256487561000858,y:.11832830784782436},{x:.5268852029038621,y:.11998252816661786},{x:.5279005150705119,y:.12210866485417524},{x:.5291062453835067,y:.12413290061668979},{x:.5297966590542814,y:.12607932670695898},{x:.530686625504748,y:.12794298045128052},{x:.567704625504748,y:.2301969804512806},{x:.5685418230641662,y:.23348712941632632},{x:.5695273376181453,y:.23673593550927427},{x:.5696276430094915,y:.2377543532384077},{x:.5698799976366801,y:.23874609563675617},{x:.5700592324586751,y:.24213635445346285},{x:.570392,y:.24551500000000004},{x:.570392,y:.314017},{x:.570065993218988,y:.3173270023951309},{x:.5699006262411136,y:.32064890697528625},{x:.569634437926433,y:.3217086568121163},{x:.5695273376181453,y:.3227960644907258},{x:.5685618455328773,y:.32597886535008125},{x:.5677515846008636,y:.32920467896823863},{x:.5307335846008636,y:.4324506789682387},{x:.5298196963817511,y:.43437967657309706},{x:.5291061063615623,y:.4363913954201699},{x:.5279358002551,y:.43835612690926706},{x:.5269566878799311,y:.4404227969757902},{x:.5256840310027916,y:.4421364386856148},{x:.5245916855370664,y:.44397028841230757},{x:.523060566435399,y:.4456689527415915},{x:.5216970801011935,y:.44750489697372575},{x:.5201145620561008,y:.4489373284986299},{x:.5186854393684929,y:.45052283528838016},{x:.44352243936849295,y:.5190228352883801},{x:.44134657552661755,y:.5206458300432604},{x:.43929971954126384,y:.5224287703137037},{x:.4378191137317927,y:.523276992839783},{x:.43645134158383936,y:.5242972253466508},{x:.43400065578620683,y:.5254645447348341},{x:.43164529517316985,y:.52681390451462},{x:.35647929517316984,y:.56056790451462},{x:.3558506134628383,y:.560778965311121},{x:.35526575445642905,y:.5610915789630079},{x:.351674330744245,y:.5621810254355277},{x:.34811645117964274,y:.5633754754766519},{x:.34745867349333664,y:.563459831081816},{x:.3468240644907258,y:.5636523376181454},{x:.3430891085149791,y:.5640201986736739},{x:.3393665669654169,y:.5644975898222324},{x:.3387049713307353,y:.5644519984974604},{x:.338045,y:.564517},{x:.225865,y:.564517},{x:.22507819619617456,y:.5644395065891945},{x:.22428916125732748,y:.5644893996719887},{x:.22069487882474298,y:.5640077875099223},{x:.21708593550927424,y:.5636523376181454},{x:.21632936813438544,y:.5634228354140474},{x:.21554576062305134,y:.5633178367349442},{x:.2121144991913443,y:.5621442688983362},{x:.20864424554357097,y:.5610915789630079},{x:.20794698905754733,y:.5607188876066144},{x:.20719892257093525,y:.5604630322059678},{x:.13315592257093525,y:.5267090322059678},{x:.13091775246116674,y:.5254099486077729},{x:.12858140317750869,y:.5242970714087468},{x:.1271119341080524,y:.5232009671819817},{x:.12552641140636125,y:.5222806946221156},{x:.12358468574515913,y:.5205699272235509},{x:.12166,y:.5191342684374534},{x:.12166,y:.7597659999999999},{x:.12079533761814537,y:.7685450644907257},{x:.1182345789630079,y:.776986754456429},{x:.11407613255361454,y:.7847666604858821},{x:.10847980515339464,y:.7915858051533946},{x:.10166066048588208,y:.7971821325536145},{x:.09388075445642904,y:.8013405789630078},{x:.08543906449072577,y:.8039013376181453},{x:.07666,y:.804766},{x:.06788093550927421,y:.8039013376181453},{x:.05943924554357094,y:.8013405789630078},{x:.05165933951411792,y:.7971821325536145},{x:.04484019484660537,y:.7915858051533946},{x:.039243867446385465,y:.7847666604858821},{x:.0350854210369921,y:.776986754456429},{x:.03252466238185464,y:.7685450644907257},{x:.03166000000000001,y:.7597659999999999},{x:.03166000000000001,y:.04001500000000002}],[{x:.12166,y:.16313400296117606},{x:.12166,y:.39738980161800674},{x:.17691400696537596,y:.447746357818324},{x:.23563826658076475,y:.474517},{x:.3284048540018634,y:.474517},{x:.3882155063572531,y:.44765846343288423},{x:.44979135555302596,y:.39154114946310603},{x:.480392,y:.30619363915535625},{x:.480392,y:.2534097446111891},{x:.44984564070758065,y:.16903221413717517},{x:.38802932067077023,y:.11269492399652684},{x:.3281476350434013,y:.08501500000000002},{x:.2358983461114888,y:.08501500000000002},{x:.1771018588393058,y:.11260550754658781},{x:.12166,y:.16313400296117606}]],c:[[{x:.0446,y:.25490100000000004},{x:.044822712444716174,y:.2526397626013558},{x:.04482893549381362,y:.2503675925637664},{x:.045254001037800355,y:.24826081602954003},{x:.045464662381854634,y:.24612193550927428},{x:.04612424100165128,y:.2439475961957434},{x:.04657362286091401,y:.24172029932495478},{x:.08145962286091402,y:.1278402993249547},{x:.08196610920465827,y:.1266269431042867},{x:.08230081253195312,y:.125355433994083},{x:.08366176737769918,y:.12256476567779218},{x:.08485778977199918,y:.11969953302126297},{x:.0855912581784792,y:.11860830168404396},{x:.08616758939694805,y:.11742652164475936},{x:.08804682625741464,y:.11495498435675963},{x:.08977884657839008,y:.1123781387363477},{x:.09071111026807865,y:.11145096769089737},{x:.09150692129220603,y:.11040433186669174},{x:.16233292129220603,y:.03411333186669174},{x:.16445877247754231,y:.03223237849112975},{x:.1664474797904295,y:.03020697184383589},{x:.16775479669311927,y:.029316055882572942},{x:.16893962068732413,y:.02826772347496185},{x:.17139158003796548,y:.02683764508339147},{x:.17373721213250964,y:.02523913360696181},{x:.24456521213250962,y:-.013455866393038113},{x:.2467886390083486,y:-.014400746043602006},{x:.24891924554357092,y:-.015539578963007873},{x:.25083834630720225,y:-.016121731815163746},{x:.25268405147305695,y:-.01690609278116076},{x:.2550490927002279,y:-.01739904776899966},{x:.2573609355092742,y:-.018100337618145335},{x:.259356733677244,y:-.018296906580526337},{x:.26131999536931183,y:-.018706117055345653},{x:.26373576373978486,y:-.0187282033967292},{x:.26614,y:-.018964999999999968},{x:.371854,y:-.018964999999999968},{x:.3744001776009888,y:-.018714223394882004},{x:.3769583677219744,y:-.018674567546095353},{x:.3787793796063011,y:-.01828290964379429},{x:.3806330644907258,y:-.018100337618145335},{x:.3830813939144215,y:-.01735764500708899},{x:.3855826926572475,y:-.01681967299983559},{x:.38729230564255435,y:-.01608027889939661},{x:.3890747544564291,y:-.015539578963007873},{x:.391331147776118,y:-.014333511606549179},{x:.393679431632842,y:-.013317897403369645},{x:.463449431632842,y:.02537710259663028},{x:.46566730315778443,y:.026909287408228903},{x:.46799586592077425,y:.028267352155161442},{x:.4692879686356918,y:.029410572352257962},{x:.47070743151062955,y:.03039118797094862},{x:.4725837728278355,y:.03232661755101331},{x:.4746026476214732,y:.03411286752390576},{x:.5454306476214732,y:.11040386752390575},{x:.5507700783887176,y:.11742598212342069},{x:.5546369668925095,y:.12535484002769406},{x:.5568827107762242,y:.13388573967401945},{x:.5574210073618384,y:.14269084337317217},{x:.5562311702134469,y:.15143177592795284},{x:.5533589241053942,y:.15977262820225266},{x:.5489146478448386,y:.16739286592077418},{x:.5430691324760942,y:.17399964762147313},{x:.5360470178765793,y:.17933907838871752},{x:.5281181599723059,y:.18320596689250943},{x:.5195872603259806,y:.1854517107762242},{x:.5107821566268278,y:.1859900073618383},{x:.5020412240720471,y:.18480017021344686},{x:.4937003717977473,y:.18192792410539416},{x:.4860801340792258,y:.17748364784483847},{x:.47947335237852684,y:.17163813247609414},{x:.41352572033101553,y:.10060392571412592},{x:.36021071976053953,y:.07103500000000003},{x:.27763077403847125,y:.07103500000000003},{x:.2233107097601157,y:.10071132697875086},{x:.16448866962379677,y:.16407213041308155},{x:.1346,y:.2616391113440561},{x:.1346,y:.3245158400933278},{x:.1645319520417492,y:.4231721923699009},{x:.2231207776861973,y:.4862793045993598},{x:.27734241586879393,y:.5150589999999999},{x:.3605019191882548,y:.5150589999999999},{x:.41371701660545657,y:.4863852380349392},{x:.47947395272027693,y:.4155592208902026},{x:.48608084903755494,y:.4097138350672089},{x:.4937011738972078,y:.40526970822380387},{x:.5020420824884065,y:.4023976256622846},{x:.5107830383716269,y:.4012079599048077},{x:.5195881315142611,y:.40174642913926084},{x:.5281189871247909,y:.40399234029494097},{x:.5360477692062626,y:.4078593842656568},{x:.5430697791097975,y:.41319895272027696},{x:.5489151649327911,y:.41980584903755497},{x:.5533592917761961,y:.42742617389720783},{x:.5562313743377155,y:.4357670824884066},{x:.5574210400951923,y:.4445080383716269},{x:.5568825708607392,y:.4533131315142611},{x:.5546366597050592,y:.4618439871247909},{x:.5507696157343432,y:.46977276920626265},{x:.5454300472797231,y:.4767947791097975},{x:.4746020472797231,y:.5530827791097974},{x:.47237947035514305,y:.5550491819442839},{x:.4702881116089302,y:.5571546051529963},{x:.469083054274185,y:.5579656532949738},{x:.4679951509624451,y:.5589281649327911},{x:.46543165406806053,y:.5604231806402761},{x:.46296973250196366,y:.5620801448811513},{x:.39319973250196366,y:.5996741448811513},{x:.39109075852725916,y:.6005560023370271},{x:.3890747544564291,y:.6016335789630078},{x:.38703122642603144,y:.6022534764138876},{x:.38506104886577136,y:.6030772968079529},{x:.3828205563795885,y:.6035307692082409},{x:.3806330644907258,y:.6041943376181453},{x:.3785078662851109,y:.6044036513718285},{x:.37641482574826585,y:.6048272797133635},{x:.3741289156203665,y:.604834940368031},{x:.371854,y:.605059},{x:.26614,y:.605059},{x:.26400488750824663,y:.6048487097743618},{x:.26185945318827825,y:.6048549475733314},{x:.2596259398913868,y:.6044174210783497},{x:.2573609355092742,y:.6041943376181453},{x:.2553078741931944,y:.60357154827667},{x:.25320244685788745,y:.6031591127457343},{x:.2510972070775077,y:.6022942563713519},{x:.24891924554357092,y:.6016335789630078},{x:.24702713339817148,y:.6006222239508241},{x:.24504262343928468,y:.5998069647561404},{x:.1742146234392847,y:.5622129647561404},{x:.17162525666515238,y:.5604936738034747},{x:.16894033563687538,y:.5589277936219744},{x:.16795812189104978,y:.5580587651214349},{x:.16686556037036515,y:.5573333247718834},{x:.16466136457832586,y:.5551419091149951},{x:.16233352162359432,y:.5530823147741101},{x:.09150752162359431,y:.47679431477411016},{x:.09067474586023959,y:.4756991081857825},{x:.08970182133886938,y:.4747262717047309},{x:.08801053269383365,y:.4721953272870651},{x:.08616805203977476,y:.4697722296898647},{x:.08556494203519081,y:.46853560069719197},{x:.08480050296804506,y:.467391648838166},{x:.08363547472152838,y:.4645793817614187},{x:.08230111970711389,y:.461843393160995},{x:.08195085264054901,y:.4605128647226562},{x:.08142427599227564,y:.4592417589140625},{x:.046538275992275634,y:.3442567589140625},{x:.04610669192420131,y:.34208755224892967},{x:.045464662381854634,y:.33997106449072584},{x:.04524807462900009,y:.3377720121321243},{x:.04481688692083,y:.3356047976316928},{x:.044816786846426454,y:.33339307378956023},{x:.0446,y:.33119200000000004},{x:.0446,y:.25490100000000004}]],d:[[{x:.03166100000000001,y:.24551500000000004},{x:.03199378652782141,y:.24213616168032864},{x:.032173060891358886,y:.2387457109778176},{x:.032425376075824915,y:.237754159461938},{x:.03252566238185464,y:.23673593550927427},{x:.03351123316568353,y:.23348694405135337},{x:.034348506941927405,y:.23019661460170962},{x:.0713675069419274,y:.12794261460170955},{x:.07225746993456125,y:.1260790095358921},{x:.0729478813145148,y:.12413263082247869},{x:.07415364826248581,y:.12210836405190925},{x:.07516899837159816,y:.11998219518580837},{x:.07640543228727825,y:.1183280219355851},{x:.07746229725612473,y:.11655373492181778},{x:.07903981058640837,y:.11480359733178996},{x:.08045044599662987,y:.11291636718401242},{x:.08198583537337678,y:.11153519469971836},{x:.08336853920306012,y:.1100011842405046},{x:.15853253920306012,y:.04150018424050468},{x:.16051177365736521,y:.04002385498013544},{x:.16235580937568672,y:.038381768082408986},{x:.16403890527939927,y:.03739293492543645},{x:.16560363358955885,y:.03622578962650935},{x:.16783285515961555,y:.03516395710594637},{x:.16996181351033893,y:.03391317596960988},{x:.24512381351033893,y:-.0008318240303901436},{x:.24598297689097734,y:-.0011307574341723537},{x:.24678524554357095,y:-.0015595789630078807},{x:.25014222995258023,y:-.0025779090504023904},{x:.2534554494825366,y:-.0037306956028641883},{x:.25435642329373365,y:-.003856270624521421},{x:.2552269355092742,y:-.004120337618145342},{x:.2587180827488419,y:-.0044641856090968535},{x:.2621925371943035,y:-.004948444626188875},{x:.2631006975177666,y:-.004895835488062085},{x:.264006,y:-.0049849999999999756},{x:.376189,y:-.0049849999999999756},{x:.37722298297811335,y:-.004883161565438171},{x:.3782605578675134,y:-.004937293022731791},{x:.3816049041349026,y:-.004451580001305548},{x:.3849680644907258,y:-.004120337618145342},{x:.3859623120828546,y:-.003818735908388489},{x:.38699051078512875,y:-.003669406425619949},{x:.39017583846699794,y:-.0025405766534665605},{x:.39340975445642906,y:-.0015595789630078807},{x:.39432605828518835,y:-.0010698043626217065},{x:.39530536770082864,y:-.0007227525880688923},{x:.46934836770082866,y:.034022247411931134},{x:.4713599418403825,y:.035219651121148166},{x:.4734733873673339,y:.03622640539423388},{x:.4751409393435705,y:.037470316580519136},{x:.4769285933263682,y:.03853443023544684},{x:.47866791375766776,y:.04010126481479184},{x:.480392,y:.041387347763641016},{x:.480392,y:.04001500000000002},{x:.4812566623818546,y:.031235935509274233},{x:.48381742103699205,y:.022794245543570978},{x:.48797586744638544,y:.015014339514117927},{x:.4935721948466053,y:.008195194846605386},{x:.5003913395141178,y:.002598867446385482},{x:.508171245543571,y:-.0015595789630078807},{x:.5166129355092742,y:-.004120337618145342},{x:.525392,y:-.0049849999999999756},{x:.5341710644907257,y:-.004120337618145342},{x:.542612754456429,y:-.0015595789630078807},{x:.5503926604858821,y:.002598867446385489},{x:.5572118051533946,y:.008195194846605386},{x:.5628081325536145,y:.015014339514117927},{x:.5669665789630078,y:.022794245543570985},{x:.5695273376181453,y:.031235935509274254},{x:.570392,y:.04001500000000002},{x:.570392,y:.7597659999999999},{x:.5695273376181453,y:.7685450644907257},{x:.5669665789630078,y:.776986754456429},{x:.5628081325536145,y:.7847666604858821},{x:.5572118051533946,y:.7915858051533946},{x:.5503926604858821,y:.7971821325536145},{x:.542612754456429,y:.8013405789630078},{x:.5341710644907257,y:.8039013376181453},{x:.525392,y:.804766},{x:.5166129355092742,y:.8039013376181453},{x:.508171245543571,y:.8013405789630078},{x:.5003913395141178,y:.7971821325536145},{x:.4935721948466053,y:.7915858051533946},{x:.48797586744638544,y:.7847666604858821},{x:.48381742103699205,y:.776986754456429},{x:.4812566623818546,y:.7685450644907257},{x:.480392,y:.7597659999999999},{x:.480392,y:.5191356905079497},{x:.47846953719699326,y:.5205697307992189},{x:.47652758859363875,y:.5222806946221157},{x:.47494232329576636,y:.5232008177790934},{x:.47347310730786674,y:.524296763521154},{x:.4711365045177018,y:.5254097994515352},{x:.46889807742906475,y:.5267090322059679},{x:.3948550774290648,y:.5604630322059679},{x:.3941070109424522,y:.5607188876066146},{x:.39340975445642906,y:.5610915789630079},{x:.389939500808656,y:.5621442688983361},{x:.38650823937694867,y:.5633178367349442},{x:.38572463186561456,y:.5634228354140474},{x:.3849680644907258,y:.5636523376181454},{x:.38135912117525683,y:.5640077875099224},{x:.3777648387426725,y:.5644893996719887},{x:.3769758038038255,y:.5644395065891945},{x:.376189,y:.564517},{x:.264006,y:.564517},{x:.26334558239453953,y:.5644519545432365},{x:.2626835384795895,y:.5644975635305632},{x:.2589614482177297,y:.5640201550156564},{x:.2552269355092742,y:.5636523376181454},{x:.25459189738202526,y:.5634597009082802},{x:.2539336765832372,y:.5633752751711479},{x:.2503762430229788,y:.5621808961392286},{x:.24678524554357095,y:.5610915789630079},{x:.24619999105363047,y:.5607787539207695},{x:.24557088842716707,y:.5605675378929096},{x:.17040888842716706,y:.5268135378929095},{x:.16805407047382528,y:.5254644267942322},{x:.16560391365212207,y:.5242973792806265},{x:.16423565717286473,y:.5232767996121171},{x:.1627545512703112,y:.5224282514648534},{x:.16070817900232118,y:.5206456609648356},{x:.15853278093215223,y:.5190230360586235},{x:.08336878093215222,y:.45052303605862365},{x:.08193967718325436,y:.44893757139643337},{x:.08035717944512263,y:.44750518296134467},{x:.07899365114577664,y:.44566921514174185},{x:.07746249136223225,y:.4439705283033309},{x:.07637015625263606,y:.44213672358948825},{x:.0750975108858587,y:.44042312810321155},{x:.07411836195358443,y:.43835642671545355},{x:.07294802033824888,y:.4363916652130956},{x:.07223443169362759,y:.4343799925343442},{x:.07132054574594202,y:.4324510425104215},{x:.034301545745942026,y:.32920504251042143},{x:.033491210284420626,y:.32597904935505284},{x:.03252566238185464,y:.3227960644907258},{x:.03241858101312289,y:.3217088491086539},{x:.03215243067755317,y:.32064928896150824},{x:.031987025628206905,y:.31732719375391183},{x:.03166100000000001,y:.314017},{x:.03166100000000001,y:.24551500000000004}],[{x:.121661,y:.25340994514221},{x:.121661,y:.3061934402169761},{x:.15226243948714763,y:.39154086238640384},{x:.21383969339611897,y:.4476587099299689},{x:.27364661400534074,y:.474517},{x:.3664157334192352,y:.474517},{x:.42513971513426946,y:.4477464845048247},{x:.480392,y:.3973901578243758},{x:.480392,y:.1631336467554691},{x:.4249518651426514,y:.1126053780239199},{x:.3661556538885112,y:.08501500000000002},{x:.2739038430667855,y:.08501500000000002},{x:.21402588591940364,y:.11269467351967463},{x:.15220815290195538,y:.1690325018607451},{x:.121661,y:.25340994514221}]],e:[[{x:.014571,y:.25490100000000004},{x:.014880046743786594,y:.2517631957525991},{x:.01501248842711947,y:.2486129918567585},{x:.015311525398480692,y:.24738231945287367},{x:.015435662381854634,y:.24612193550927428},{x:.016350926120166094,y:.24310471531940006},{x:.01709539726614681,y:.24004087979874045},{x:.05693639726614681,y:.12616087979874036},{x:.057746546207777846,y:.12441615547982068},{x:.05835851556287996,y:.12259245107255745},{x:.05959975008908581,y:.12042512406141898},{x:.06065161969764369,y:.11815983382640528},{x:.06178658068373706,y:.11660668611395116},{x:.06274257829935428,y:.11493741297405176},{x:.06438278737670251,y:.11305388338712186},{x:.06585638180708843,y:.11103732964943176},{x:.06727253892344205,y:.10973544513901749},{x:.06853582634733585,y:.1082847524971091},{x:.14942282634733584,y:.031993752497109104},{x:.15144602889400902,y:.03043003785468449},{x:.15333307828862142,y:.02870446646813117},{x:.1549277151407192,y:.027739074573098352},{x:.15640262843323158,y:.02659912765300345},{x:.15869202130341495,y:.025460166585296706},{x:.1608794538505091,y:.024135896643135493},{x:.2417664538505091,y:-.01455910335686443},{x:.24290092295632487,y:-.014970686687880902},{x:.2439652455435709,y:-.015539578963007873},{x:.24703931387581265,y:-.016472087396775758},{x:.2500591116803148,y:-.017567664555291233},{x:.2512520782049556,y:-.01775001548484057},{x:.2524069355092742,y:-.018100337618145335},{x:.25560385985111694,y:-.01841520718300011},{x:.2587793695882151,y:-.01890059980751419},{x:.2599849884971624,y:-.018846710691637396},{x:.261186,y:-.018964999999999968},{x:.381914,y:-.018964999999999968},{x:.3832466926412995,y:-.01883374123151461},{x:.3845848263549422,y:-.018885671038862982},{x:.3876272824249201,y:-.01840229079619376},{x:.39069306449072577,y:-.018100337618145335},{x:.3919745425012029,y:-.017711605513551366},{x:.39329709535359264,y:-.017501480567117658},{x:.39618678867610163,y:-.016433834605858122},{x:.39913475445642904,y:-.015539578963007873},{x:.4003157713548023,y:-.014908312279081314},{x:.40157191838151796,y:-.014444207562717595},{x:.48125191838151804,y:.02425079243728233},{x:.4833189661071789,y:.02551885102394819},{x:.4854901362659954,y:.026598980192539007},{x:.48706966813422276,y:.027819770278194},{x:.48877129863032925,y:.028863658687316496},{x:.4905512426555404,y:.030510612890229178},{x:.492469971641239,y:.03199356196515255},{x:.573357971641239,y:.10828456196515254},{x:.5791512607417543,y:.11493718669263933},{x:.5835353707163221,y:.12259219773755695},{x:.5863418226772573,y:.13095541731842886},{x:.5874627662495775,y:.13970545159690978},{x:.5868551242004307,y:.1485060416627534},{x:.584542247872996,y:.15701898577515713},{x:.5806130198074609,y:.16491713626599536},{x:.5752184380348474,y:.17189697164123896},{x:.5685658133073607,y:.17769026074175415},{x:.560910802262443,y:.1820743707163221},{x:.5525475826815711,y:.18488082267725728},{x:.5437975484030901,y:.18600176624957743},{x:.5349969583372466,y:.1853941242004306},{x:.5264840142248428,y:.183081247872996},{x:.5185858637340046,y:.17915201980746093},{x:.511606028358761,y:.17375743803484736},{x:.43573388395098006,y:.1021972341849065},{x:.3715652104827451,y:.07103500000000003},{x:.2713955768569904,y:.07103500000000003},{x:.2060606884620834,y:.10229012760321096},{x:.13826613078700495,y:.16623259795801962},{x:.104571,y:.2625454790108076},{x:.104571,y:.28619200000000006},{x:.542482,y:.28619200000000006},{x:.5512610644907258,y:.2870566623818547},{x:.559702754456429,y:.2896174210369921},{x:.5674826604858821,y:.2937758674463855},{x:.5743018051533947,y:.2993721948466054},{x:.5798981325536146,y:.3061913395141179},{x:.5840565789630079,y:.31397124554357103},{x:.5866173376181454,y:.32241293550927425},{x:.5874820000000001,y:.33119200000000004},{x:.5866173376181454,y:.33997106449072584},{x:.5840565789630079,y:.34841275445642905},{x:.5798981325536146,y:.35619266048588216},{x:.5743018051533947,y:.3630118051533947},{x:.5674826604858821,y:.3686081325536146},{x:.5660433240263831,y:.3693774739195968},{x:.5706944449992851,y:.3724210772554575},{x:.5769918122169339,y:.3785986803904119},{x:.5819629867044116,y:.38588613801169297},{x:.5854169290140312,y:.3940033972097681},{x:.5872209060798271,y:.40263851626586683},{x:.5873055920748429,y:.4114596523972937},{x:.5856677325637826,y:.4201278142894682},{x:.5823702695691338,y:.4283098893420352},{x:.5425292695691338,y:.5045998893420351},{x:.54083893518448,y:.5071829952333479},{x:.5393041274419548,y:.5098614335042745},{x:.5384286685906833,y:.5108662746451583},{x:.5376989227445426,y:.5119814449992851},{x:.5355371287009763,y:.5141851493557908},{x:.5335092744740836,y:.5165126960496618},{x:.49246227447408364,y:.5552086960496617},{x:.4903478252727746,y:.5568421196453192},{x:.48836639942178184,y:.5586345815458318},{x:.486865329057947,y:.5595323670561179},{x:.4854811710293013,y:.5606016367187369},{x:.48308868524123094,y:.5617911659624512},{x:.4807956399629947,y:.5631626292028359},{x:.40111563996299465,y:.6007566292028359},{x:.40009264564938235,y:.6011215754533451},{x:.39913475445642904,y:.6016335789630078},{x:.3959457374462889,y:.6026009566970012},{x:.3928069722488333,y:.6037206897930685},{x:.3917324370025758,y:.603879047413643},{x:.39069306449072577,y:.6041943376181453},{x:.38737659751458814,y:.6045209811048129},{x:.38407969371999856,y:.6050068561303112},{x:.38299491132800306,y:.6049525395264004},{x:.381914,y:.605059},{x:.261186,y:.605059},{x:.26023449599616577,y:.6049652850353624},{x:.2592798763752433,y:.6050186117946668},{x:.25585213857488087,y:.6045336605029273},{x:.2524069355092742,y:.6041943376181453},{x:.2514919972706982,y:.6039167941377678},{x:.2505453168634681,y:.6037828591890964},{x:.24727805138745723,y:.6026385076291858},{x:.2439652455435709,y:.6016335789630078},{x:.24312203363365809,y:.6011828728071931},{x:.24221967283726598,y:.6008668231955117},{x:.161332672837266,y:.5632728231955116},{x:.15891596978001063,y:.5618462817840929},{x:.15640337688314435,y:.5605963413854953},{x:.1551260781006526,y:.5596091689500753},{x:.15373589412748892,y:.5587885654418143},{x:.1516439317651508,y:.5569179592459522},{x:.1494234689111216,y:.555201853544281},{x:.06853646891112161,y:.47891385354428107},{x:.06722863655802509,y:.4774120673763562},{x:.06576662511800205,y:.47605991734502884},{x:.06433886916992998,y:.4740937424536807},{x:.06274309028364713,y:.4722613067803989},{x:.06175337150959475,y:.4705332315776763},{x:.06058324359446483,y:.4689218384474283},{x:.05956650326928079,y:.4667149016876259},{x:.05835887729241062,y:.4646063547351938},{x:.05772530643484857,y:.4627183994585984},{x:.05689202940417486,y:.4609096881637455},{x:.017051029404174856,y:.3459246881637455},{x:.016331419439147486,y:.342923979771159},{x:.015435662381854634,y:.33997106449072584},{x:.015304912520774374,y:.33864353887302173},{x:.014993833838408223,y:.33734636893611664},{x:.014873460143664087,y:.33426292937408214},{x:.014571,y:.33119200000000004},{x:.014571,y:.25490100000000004}],[{x:.12278767041868709,y:.376192},{x:.13831799224413532,y:.421014018902617},{x:.20587340146207272,y:.4847284236699839},{x:.27113246747276615,y:.5150589999999999},{x:.37183117966561724,y:.5150589999999999},{x:.4359272756482788,y:.48481767680255794},{x:.4662598881310508,y:.45622238914125884},{x:.5025937304308662,y:.3866481106579649},{x:.5074240772554575,y:.379266555000715},{x:.5104401600015575,y:.376192},{x:.12278767041868709,y:.376192}]],f:[[{x:.044112,y:.5239119999999999},{x:.04497666238185463,y:.5151329355092742},{x:.04753742103699209,y:.5066912455435709},{x:.051695867446385456,y:.4989113395141178},{x:.05729219484660536,y:.49209219484660527},{x:.0641113395141179,y:.4864958674463854},{x:.07189124554357096,y:.482337421036992},{x:.08033293550927423,y:.47977666238185457},{x:.089112,y:.47891199999999995},{x:.20304699999999998,y:.47891199999999995},{x:.20304699999999998,y:.05318299999999998},{x:.20391166238185462,y:.04440393550927419},{x:.2064724210369921,y:.03596224554357094},{x:.21063086744638546,y:.028182339514117884},{x:.21622719484660535,y:.021363194846605343},{x:.2230463395141179,y:.01576686744638544},{x:.23082624554357095,y:.011608421036992077},{x:.23926793550927422,y:.009047662381854615},{x:.248047,y:.008182999999999982},{x:.25682606449072576,y:.009047662381854615},{x:.26526775445642903,y:.011608421036992077},{x:.2730476604858821,y:.015766867446385446},{x:.2798668051533946,y:.021363194846605343},{x:.28546313255361455,y:.028182339514117884},{x:.2896215789630079,y:.03596224554357094},{x:.2921823376181454,y:.04440393550927421},{x:.293047,y:.05318299999999998},{x:.293047,y:.47891199999999995},{x:.459965,y:.47891199999999995},{x:.4687440644907258,y:.47977666238185457},{x:.4771857544564291,y:.482337421036992},{x:.48496566048588213,y:.4864958674463854},{x:.4917848051533946,y:.49209219484660527},{x:.49738113255361455,y:.4989113395141178},{x:.5015395789630079,y:.5066912455435709},{x:.5041003376181454,y:.5151329355092742},{x:.504965,y:.5239119999999999},{x:.5041003376181454,y:.5326910644907257},{x:.5015395789630079,y:.5411327544564289},{x:.49738113255361455,y:.548912660485882},{x:.4917848051533946,y:.5557318051533946},{x:.48496566048588213,y:.5613281325536145},{x:.4771857544564291,y:.5654865789630078},{x:.4687440644907258,y:.5680473376181453},{x:.459965,y:.568912},{x:.293047,y:.568912},{x:.293047,y:.6141229501499061},{x:.3322669208002554,y:.6884371453882767},{x:.4140490730325775,y:.7147659999999999},{x:.512941,y:.7147659999999999},{x:.5217200644907257,y:.7156306623818546},{x:.530161754456429,y:.7181914210369921},{x:.5379416604858821,y:.7223498674463854},{x:.5447608051533946,y:.7279461948466053},{x:.5503571325536145,y:.7347653395141178},{x:.5545155789630078,y:.7425452455435709},{x:.5570763376181453,y:.7509869355092742},{x:.557941,y:.7597659999999999},{x:.5570763376181453,y:.7685450644907257},{x:.5545155789630078,y:.776986754456429},{x:.5503571325536145,y:.7847666604858821},{x:.5447608051533946,y:.7915858051533946},{x:.5379416604858821,y:.7971821325536145},{x:.530161754456429,y:.8013405789630078},{x:.5217200644907257,y:.8039013376181453},{x:.512941,y:.804766},{x:.406984,y:.804766},{x:.40440576588043703,y:.8045120661033809},{x:.40181542834229744,y:.8044681908525655},{x:.400026512750784,y:.8040807473169851},{x:.3982049355092742,y:.8039013376181453},{x:.39572578148103565,y:.8031492944655273},{x:.39319377618916257,y:.8026009124809075},{x:.2872357761891626,y:.7684889124809076},{x:.28342960508890525,y:.7668362808879404},{x:.2796044085190959,y:.7652281761559891},{x:.27938594032962494,y:.7650805300410848},{x:.27914407460343155,y:.764975512444704},{x:.2757334504432472,y:.7626120885587936},{x:.27229547962292316,y:.7602886242777711},{x:.2721100135665551,y:.7601011941121303},{x:.27189328313916555,y:.7599510087370087},{x:.2690092742928275,y:.7569676176126634},{x:.26609064851257996,y:.7540180832118794},{x:.26594531194585036,y:.7537980718316557},{x:.26576204564604555,y:.7536084902175343},{x:.26351548295615396,y:.7501197819025626},{x:.26122836336792754,y:.7466575263349163},{x:.2082493633679275,y:.6462725263349164},{x:.20745880379789322,y:.6443351468057326},{x:.2064724210369921,y:.6424897544564291},{x:.20579637196662365,y:.6402611193438609},{x:.20491647908027386,y:.6381048157198157},{x:.20451907388691828,y:.636050431873947},{x:.20391166238185462,y:.6340480644907258},{x:.20368338854657433,y:.6317303613460921},{x:.20324107652369047,y:.6294438319050109},{x:.20325209776572678,y:.6273513925615422},{x:.20304699999999998,y:.6252690000000001},{x:.20304699999999998,y:.568912},{x:.089112,y:.568912},{x:.0803329355092742,y:.5680473376181453},{x:.07189124554357093,y:.5654865789630078},{x:.0641113395141179,y:.5613281325536145},{x:.05729219484660536,y:.5557318051533946},{x:.051695867446385456,y:.548912660485882},{x:.04753742103699209,y:.5411327544564289},{x:.04497666238185463,y:.5326910644907257},{x:.044112,y:.5239119999999999}]],g:[[{x:.03166100000000001,y:.285331},{x:.03199195389402992,y:.28197076872347165},{x:.03216742697517915,y:.27859884139484714},{x:.032423533978450624,y:.2775888625904497},{x:.03252566238185464,y:.2765519355092742},{x:.03350580569139788,y:.2733208360362635},{x:.034335737494852386,y:.2700479324456657},{x:.07135573749485238,y:.1675239324456658},{x:.07223945098422414,y:.16566943556296815},{x:.07292365731738822,y:.16373243532732273},{x:.07413231799188957,y:.16169720247238553},{x:.07515058411631778,y:.15956034321175439},{x:.07637911169281072,y:.15791388391586245},{x:.07742806119285411,y:.15614758463046624},{x:.07901055202445481,y:.15438725620434748},{x:.0804261330120869,y:.15249010996133996},{x:.08195226304990277,y:.15111496075964967},{x:.08332564517579637,y:.14958724031548856},{x:.1584886451757964,y:.08090524031548854},{x:.16047116284778873,y:.07942238349974136},{x:.16231838489394151,y:.07777404756068641},{x:.16399482319868336,y:.07678680357956279},{x:.16555276842115366,y:.07562151273533077},{x:.16778648358567103,y:.07455391860853194},{x:.1699197861673149,y:.07329763012616651},{x:.2450797861673149,y:.038459630126166475},{x:.2459605302529857,y:.0381521715215269},{x:.24678324554357095,y:.03771242103699209},{x:.2501181687545519,y:.03670078314085588},{x:.253408434365457,y:.03555218561964517},{x:.254332237398671,y:.03542245939316866},{x:.2552249355092742,y:.03515166238185463},{x:.2586931398688001,y:.03481007406735549},{x:.26214426420887293,y:.034325445502994434},{x:.2630756249571383,y:.03437843696081321},{x:.264004,y:.034287},{x:.376189,y:.034287},{x:.37724627227682206,y:.03439113223027483},{x:.37830727432005307,y:.03433688416138392},{x:.3816280756224084,y:.03482270219101675},{x:.3849680644907258,y:.03515166238185463},{x:.38598470638687477,y:.035460057329467706},{x:.38703590484658207,y:.03561384285228289},{x:.39019811948723343,y:.036738182220129235},{x:.39340975445642906,y:.03771242103699209},{x:.39434669699397534,y:.038213227257056566},{x:.39534769490287125,y:.03856913648017993},{x:.4693886949028713,y:.07340713648017996},{x:.47140406041677185,y:.07460963544760885},{x:.47352148667564636,y:.07562166704766733},{x:.4751827197672129,y:.0768642309221422},{x:.47696422705836306,y:.07792719476830276},{x:.47870627197824944,y:.0794997663623443},{x:.480392,y:.08076065187723735},{x:.480392,y:.018480463023952315},{x:.44982106300216956,y:-.06618482166306154},{x:.42509763890365326,y:-.0887666681923909},{x:.3663917896728536,y:-.115601},{x:.27366828971008494,y:-.115601},{x:.21388478385740822,y:-.08868092320279419},{x:.15228882603575622,y:-.032396134475538775},{x:.11903308523020223,y:.0605977685009861},{x:.11526275900748023,y:.06857299605517989},{x:.11000898883421664,y:.07565942769130271},{x:.1034736741518217,y:.08158473581569503},{x:.09590796343849313,y:.08612121416008753},{x:.08760260271404471,y:.08909452840579157},{x:.07887676233341709,y:.09039041575379858},{x:.07006577144893004,y:.08995907598006667},{x:.061508231499013855,y:.08781708523020218},{x:.05353300394482007,y:.08404675900748018},{x:.046446572308697254,y:.07879298883421659},{x:.04052126418430494,y:.07225767415182165},{x:.035984785839912437,y:.06469196343849308},{x:.03301147159420839,y:.05638660271404467},{x:.03171558424620138,y:.04766076233341703},{x:.0321469240199333,y:.038849771448930016},{x:.03428891476979778,y:.030292231499013812},{x:.07130891476979778,y:-.07322776850098624},{x:.07221644299685706,y:-.07514742841768875},{x:.07292365731738822,y:-.07714956467267746},{x:.07409706350042253,y:-.07912543338941479},{x:.07507924099251978,y:-.08120299605518004},{x:.07634383839048098,y:-.08290872027080634},{x:.07742806119285414,y:-.08473441536953392},{x:.07896439356931816,y:-.08644339813281518},{x:.08033301116578337,y:-.08828942769130284},{x:.0819060799658371,y:-.08971566618082738},{x:.08332564517579637,y:-.09129475968451163},{x:.1584886451757964,y:-.15997675968451153},{x:.16066766565506738,y:-.1616065940183929},{x:.16271768036753925,y:-.16339598773796155},{x:.16419165994754753,y:-.1642424237156923},{x:.16555276842115366,y:-.1652604872646693},{x:.16800788453794988,y:-.16643389898185532},{x:.17036760218951646,y:-.1677889719724602},{x:.24552760218951647,y:-.2016329719724602},{x:.24617798725770038,y:-.20185206166908357},{x:.24678324554357095,y:-.2021755789630079},{x:.2503526828238078,y:-.20325835592431216},{x:.25388756161766735,y:-.20444912053505218},{x:.25456819199860076,y:-.20453711665220192},{x:.2552249355092742,y:-.20473633761814536},{x:.25893702635910487,y:-.20510194665533446},{x:.2626362900994872,y:-.20558021041579141},{x:.263321009549333,y:-.20553373131203426},{x:.264004,y:-.20560099999999998},{x:.376189,y:-.20560099999999998},{x:.3769985938815523,y:-.20552126196245651},{x:.37781053527049396,y:-.2055717752142049},{x:.38138177137190815,y:-.20508955666026785},{x:.3849680644907258,y:-.20473633761814536},{x:.3857465461334356,y:-.20450018779358015},{x:.38655274094280934,y:-.2043913285403334},{x:.3899612805709507,y:-.2032216620796743},{x:.39340975445642906,y:-.2021755789630079},{x:.39412720724734457,y:-.20179209245674457},{x:.39489667386274535,y:-.20152804409855607},{x:.4689376738627454,y:-.16768404409855608},{x:.471176129388074,y:-.16638175223486265},{x:.4735129313995788,y:-.16526550692304898},{x:.47497970384913024,y:-.16416890323360386},{x:.4765626813675205,y:-.163247956304222},{x:.47850406105855325,y:-.16153398660426738},{x:.480578193417323,y:-.15998330217620907},{x:.5187211934173229,y:-.125144302176209},{x:.5200982241105119,y:-.12361318710120846},{x:.5216280341275545,y:-.12223470670068204},{x:.5230406381933351,y:-.12034152832018923},{x:.5246201913815024,y:-.1185852292702623},{x:.52567205708302,y:-.11681488878073784},{x:.5269035440443172,y:-.11516444436572898},{x:.5279196645391884,y:-.1130320574948894},{x:.5291262301085498,y:-.11100134969861394},{x:.5298125082093796,y:-.10905981698676002},{x:.5306983467616347,y:-.10720083421055714},{x:.5677173467616347,y:-.0046778342105572215},{x:.5685472301626403,y:-.001405045768812418},{x:.5695273376181453,y:.0018259355092742052},{x:.5696294781899907,y:.002862986138707272},{x:.5698856101392306,y:.003873086692614168},{x:.5700610582123972,y:.007244891642088324},{x:.570392,y:.010604999999999976},{x:.570392,y:.560059},{x:.5695273376181453,y:.5688380644907257},{x:.5669665789630078,y:.577279754456429},{x:.5628081325536145,y:.5850596604858821},{x:.5572118051533946,y:.5918788051533946},{x:.5503926604858821,y:.5974751325536145},{x:.542612754456429,y:.6016335789630078},{x:.5341710644907257,y:.6041943376181453},{x:.525392,y:.605059},{x:.5166129355092742,y:.6041943376181453},{x:.508171245543571,y:.6016335789630078},{x:.5003913395141178,y:.5974751325536145},{x:.4935721948466053,y:.5918788051533946},{x:.48797586744638544,y:.5850596604858821},{x:.48381742103699205,y:.577279754456429},{x:.4812566623818546,y:.5688380644907257},{x:.480392,y:.560059},{x:.480392,y:.5595783858718113},{x:.47850787544975776,y:.5609876460911735},{x:.47656308903374583,y:.5627046621197919},{x:.47498407852937236,y:.5636233247252487},{x:.47352120750708176,y:.5647175018259646},{x:.47118052218859596,y:.5658362200595997},{x:.46893813108831367,y:.5671408350985324},{x:.39489713108831365,y:.6009858350985324},{x:.39412742928685096,y:.6012499737741558},{x:.39340975445642906,y:.6016335789630078},{x:.38996152003118717,y:.6026795894402057},{x:.3865532301567984,y:.60384921275647},{x:.38574678706033977,y:.6039581147092028},{x:.3849680644907258,y:.6041943376181453},{x:.38138202040224084,y:.6045475321329209},{x:.37781103767268465,y:.6050297570960106},{x:.3769988444371686,y:.6049792372848822},{x:.376189,y:.605059},{x:.264004,y:.605059},{x:.2633207613423033,y:.6049917068657756},{x:.2626357925427961,y:.6050381952835313},{x:.25893677979996554,y:.6045599223713788},{x:.2552249355092742,y:.6041943376181453},{x:.25456795333002863,y:.6039950442528821},{x:.2538870765735461,y:.6039070086250592},{x:.2503524457397967,y:.6027162840056636},{x:.24678324554357095,y:.6016335789630078},{x:.24617776729948443,y:.6013099440989677},{x:.24552714829793862,y:.6010907675853725},{x:.17036714829793861,y:.5672457675853725},{x:.16800780172583518,y:.5658908729822889},{x:.16555304759050302,y:.5647176561362495},{x:.1641916021742222,y:.563699355958929},{x:.16271727507130354,y:.5628526987282604},{x:.16066758950642807,y:.5610635523625588},{x:.15848888603577402,y:.5594339797745099},{x:.08332588603577401,y:.49075297977450993},{x:.08190615458499984,y:.48917372437901785},{x:.08033291862515302,y:.48774732555289924},{x:.07896444452212992,y:.48590147772545017},{x:.07742825448734617,y:.4841926782200152},{x:.07634390022195357,y:.48236679190821125},{x:.07507917015624571,y:.48066087782555583},{x:.0740970979464375,y:.4785835213931001},{x:.07292379561819572,y:.47660786018244516},{x:.07221648966449083,y:.47460551074132296},{x:.0713088683600783,y:.4726856387236396},{x:.034288868360078294,y:.36916463872363964},{x:.03348577523186824,y:.3659561323879453},{x:.03252566238185464,y:.3627910644907258},{x:.0324167369020588,y:.3616851255348066},{x:.032146903820267865,y:.36060709221327164},{x:.03198519043554786,y:.35730356073015046},{x:.03166100000000001,y:.354012},{x:.03166100000000001,y:.285331}],[{x:.121661,y:.29320659086815803},{x:.121661,y:.34620780969623244},{x:.15228882172599023,y:.4318540207415116},{x:.21388481974037543,y:.48813802669691503},{x:.2736685500834057,y:.5150589999999999},{x:.3663915263934284,y:.5150589999999999},{x:.4250929420729598,y:.48822590193711934},{x:.480392,y:.4376951204586189},{x:.480392,y:.20264468470162808},{x:.4249051037436742,y:.15194152341431572},{x:.3661311050032371,y:.124287},{x:.2739261218560311,y:.124287},{x:.21407100266628776,y:.15203091487935444},{x:.15223458736534265,y:.208535427414771},{x:.121661,y:.29320659086815803}]],h:[[{x:.047041,y:.05318299999999998},{x:.04790566238185463,y:.04440393550927419},{x:.050466421036992094,y:.03596224554357094},{x:.05462486744638546,y:.028182339514117884},{x:.06022119484660536,y:.021363194846605343},{x:.06704033951411792,y:.01576686744638544},{x:.07482024554357096,y:.011608421036992077},{x:.08326193550927423,y:.009047662381854615},{x:.092041,y:.008182999999999982},{x:.10082006449072577,y:.009047662381854615},{x:.10926175445642904,y:.011608421036992077},{x:.1170416604858821,y:.015766867446385446},{x:.12386080515339463,y:.021363194846605343},{x:.12945713255361452,y:.028182339514117884},{x:.1336155789630079,y:.03596224554357094},{x:.13617633761814535,y:.04440393550927421},{x:.137041,y:.05318299999999998},{x:.137041,y:.3692271498339558},{x:.23047284680205596,y:.45237128863270537},{x:.2915669774325256,y:.478914},{x:.38669764440631527,y:.478914},{x:.43644054132690624,y:.4571557093088599},{x:.465011,y:.38123324165433015},{x:.465011,y:.05318299999999998},{x:.4658756623818546,y:.04440393550927419},{x:.46843642103699207,y:.03596224554357094},{x:.47259486744638546,y:.028182339514117884},{x:.4781911948466053,y:.021363194846605343},{x:.4850103395141179,y:.01576686744638544},{x:.492790245543571,y:.011608421036992077},{x:.5012319355092743,y:.009047662381854615},{x:.510011,y:.008182999999999982},{x:.5187900644907257,y:.009047662381854615},{x:.527231754456429,y:.011608421036992077},{x:.5350116604858821,y:.015766867446385446},{x:.5418308051533947,y:.021363194846605343},{x:.5474271325536145,y:.028182339514117884},{x:.5515855789630079,y:.03596224554357094},{x:.5541463376181454,y:.04440393550927421},{x:.555011,y:.05318299999999998},{x:.555011,y:.38942},{x:.5546506186962206,y:.39307901278178137},{x:.554410350301749,y:.3967478709583736},{x:.5542188683658584,y:.3974626474508545},{x:.5541463376181454,y:.3981990644907258},{x:.5530790429582076,y:.40171746346329923},{x:.5521276325304605,y:.40526895152034226},{x:.5139866325304605,y:.5066239515203422},{x:.5138553396770835,y:.5068902237569821},{x:.5137747554395128,y:.50717595947055},{x:.511905898744729,y:.5108438433478746},{x:.5100853961903059,y:.5145359657635786},{x:.5099046789559015,y:.5147715076888114},{x:.5097698988494882,y:.5150360318659072},{x:.5072213830653152,y:.5182688425286295},{x:.504715563605999,y:.5215348594178236},{x:.5044923668525381,y:.521730619287556},{x:.5043085704011859,y:.5219637664124008},{x:.5011783335599848,y:.5246372687597332},{x:.4980834944323178,y:.5273516689249697},{x:.497826395485866,y:.5275001237971909},{x:.49760064588412606,y:.5276929341565276},{x:.49400898123224624,y:.5297043869925788},{x:.49044405536829966,y:.5317628575577613},{x:.490162934397186,y:.5318583023949868},{x:.48990390707565157,y:.532003366394835},{x:.41414290707565155,y:.5651423663948351},{x:.41372099607879415,y:.5652794559590063},{x:.41332975445642905,y:.5654885789630079},{x:.40952975949805703,y:.5666412948313546},{x:.4057531353317914,y:.5678684156337233},{x:.40531258638921414,y:.5679205603081202},{x:.4048880644907258,y:.5680493376181454},{x:.4009362016599996,y:.5684385621342186},{x:.39699274487562397,y:.5689053213297277},{x:.39655048803612764,y:.5688705172237564},{x:.396109,y:.568914},{x:.282214,y:.568914},{x:.28182836168040026,y:.5688760179407144},{x:.2814421286004882,y:.5689073796745989},{x:.27744221175957573,y:.5684440198796774},{x:.2734349355092742,y:.5680493376181454},{x:.2730641170540284,y:.5679368510695262},{x:.2726791869636831,y:.5678922598605547},{x:.26884652441488044,y:.5666574583296339},{x:.26499324554357095,y:.5654885789630079},{x:.2646514972979566,y:.5653059107200353},{x:.264282662844679,y:.5651870801833616},{x:.18800566284467896,y:.5320480801833616},{x:.1856267698486466,y:.5307235797343987},{x:.1831549202301779,y:.529581917442145},{x:.18178185218619736,y:.5285828381463435},{x:.18029822995654404,y:.527756799180932},{x:.17822344394147954,y:.5259936496360635},{x:.17602181748454487,y:.5243916901265875},{x:.137041,y:.4897030201456747},{x:.137041,y:.7597659999999999},{x:.13617633761814535,y:.7685450644907257},{x:.1336155789630079,y:.776986754456429},{x:.12945713255361452,y:.7847666604858821},{x:.12386080515339463,y:.7915858051533946},{x:.11704166048588208,y:.7971821325536145},{x:.10926175445642904,y:.8013405789630078},{x:.10082006449072577,y:.8039013376181453},{x:.092041,y:.804766},{x:.08326193550927423,y:.8039013376181453},{x:.07482024554357093,y:.8013405789630078},{x:.06704033951411792,y:.7971821325536145},{x:.06022119484660536,y:.7915858051533946},{x:.05462486744638546,y:.7847666604858821},{x:.050466421036992094,y:.776986754456429},{x:.04790566238185463,y:.7685450644907257},{x:.047041,y:.7597659999999999},{x:.047041,y:.05318299999999998}]],i:[[{x:.216026,y:.7597659999999999},{x:.21689066238185462,y:.7509869355092742},{x:.21945142103699208,y:.7425452455435709},{x:.22360986744638545,y:.7347653395141178},{x:.22920619484660534,y:.7279461948466053},{x:.2360253395141179,y:.7223498674463854},{x:.24380524554357094,y:.7181914210369921},{x:.25224693550927424,y:.7156306623818546},{x:.261026,y:.7147659999999999},{x:.341026,y:.7147659999999999},{x:.3498050644907258,y:.7156306623818546},{x:.35824675445642906,y:.7181914210369921},{x:.3660266604858821,y:.7223498674463854},{x:.3728458051533946,y:.7279461948466053},{x:.37844213255361453,y:.7347653395141178},{x:.3826005789630079,y:.7425452455435709},{x:.38516133761814536,y:.7509869355092742},{x:.386026,y:.7597659999999999},{x:.38516133761814536,y:.7685450644907257},{x:.3826005789630079,y:.776986754456429},{x:.37844213255361453,y:.7847666604858821},{x:.3728458051533946,y:.7915858051533946},{x:.3660266604858821,y:.7971821325536145},{x:.35824675445642906,y:.8013405789630078},{x:.3498050644907258,y:.8039013376181453},{x:.341026,y:.804766},{x:.261026,y:.804766},{x:.25224693550927424,y:.8039013376181453},{x:.24380524554357094,y:.8013405789630078},{x:.2360253395141179,y:.7971821325536145},{x:.22920619484660534,y:.7915858051533946},{x:.22360986744638545,y:.7847666604858821},{x:.21945142103699208,y:.776986754456429},{x:.21689066238185462,y:.7685450644907257},{x:.216026,y:.7597659999999999}],[{x:.25597800000000004,y:.05318299999999998},{x:.25684266238185466,y:.04440393550927419},{x:.2594034210369921,y:.03596224554357094},{x:.2635618674463855,y:.028182339514117884},{x:.2691581948466054,y:.021363194846605343},{x:.27597733951411796,y:.01576686744638544},{x:.28375724554357096,y:.011608421036992077},{x:.2921989355092742,y:.009047662381854615},{x:.300978,y:.008182999999999982},{x:.3097570644907258,y:.009047662381854615},{x:.3181987544564291,y:.011608421036992077},{x:.32597866048588214,y:.015766867446385446},{x:.33279780515339463,y:.021363194846605343},{x:.33839413255361456,y:.028182339514117884},{x:.34255257896300795,y:.03596224554357094},{x:.3451133376181454,y:.04440393550927421},{x:.345978,y:.05318299999999998},{x:.345978,y:.523911},{x:.3451133376181454,y:.5326900644907258},{x:.34255257896300795,y:.541131754456429},{x:.33839413255361456,y:.5489116604858821},{x:.33279780515339463,y:.5557308051533947},{x:.32597866048588214,y:.5613271325536145},{x:.3181987544564291,y:.5654855789630079},{x:.3097570644907258,y:.5680463376181454},{x:.300978,y:.5689110000000001},{x:.2921989355092742,y:.5680463376181454},{x:.28375724554357096,y:.5654855789630079},{x:.27597733951411796,y:.5613271325536145},{x:.2691581948466054,y:.5557308051533947},{x:.2635618674463855,y:.5489116604858821},{x:.2594034210369921,y:.541131754456429},{x:.25684266238185466,y:.5326900644907258},{x:.25597800000000004,y:.523911},{x:.25597800000000004,y:.05318299999999998}]],j:[[{x:.11017199870220953,y:-.1121580749666587},{x:.11173080987432929,y:-.12084080046598154},{x:.114953584640513,y:-.12905258085596802},{x:.11971647357384912,y:-.1364778420214504},{x:.12583644152368842,y:-.14283123533997366},{x:.1330783015538362,y:-.147868603469331},{x:.14116375304461573,y:-.15139636317729976},{x:.23896575304461573,y:-.18307436317729964},{x:.2424293887998465,y:-.18383095770413346},{x:.24586120600074532,y:-.1847208108507566},{x:.24673197042105502,y:-.1847708110651418},{x:.2475840766296098,y:-.18495694463669302},{x:.2511287638648936,y:-.18502327959701073},{x:.25466824139749206,y:-.18522652014211538},{x:.25553202888155596,y:-.18510568190524296},{x:.2564040749666586,y:-.1851220012977904},{x:.25989359333942796,y:-.1844955274762681},{x:.2634047110671092,y:-.18400434499968443},{x:.3944597110671092,y:-.15232634499968456},{x:.39510744613291976,y:-.15210060706564532},{x:.39578357398914765,y:-.1519849807175323},{x:.3992672661785621,y:-.15065089524264363},{x:.4027898773796621,y:-.14942325292878383},{x:.40338112711156726,y:-.1490754856432793},{x:.40402170577913904,y:-.1488301750218278},{x:.4071781926350792,y:-.14684208899421944},{x:.4103936167153703,y:-.14495080812962524},{x:.41090565971774945,y:-.14449437599440731},{x:.41148607211771127,y:-.14412880824922783},{x:.41419405162048195,y:-.14156312270000898},{x:.41697872163578864,y:-.1390808841476645},{x:.4173918803832174,y:-.13853332759371953},{x:.41788982159253774,y:-.13806155128824654},{x:.42004522760849955,y:-.13501686407422092},{x:.422292130251795,y:-.13203905886963707},{x:.4225905272853119,y:-.13142142018825975},{x:.42298686170256505,y:-.13086156542133753},{x:.4245068631872901,y:-.12745488216466036},{x:.4261296512500701,y:-.1240959456918764},{x:.4263018193390199,y:-.1234319603912164},{x:.42658131605481786,y:-.12280554206756752},{x:.4588533160548179,y:-.025908542067567514},{x:.4594769463166796,y:-.023162642495487502},{x:.46029433761814537,y:-.02046806449072583},{x:.46045163429328767,y:-.01887100454660151},{x:.46080705178433234,y:-.017306069686551954},{x:.4608830007338393,y:-.01449126757618431},{x:.461159,y:-.01168900000000006},{x:.461159,y:.534292},{x:.46029433761814537,y:.5430710644907257},{x:.4577335789630079,y:.551512754456429},{x:.45357513255361454,y:.5592926604858821},{x:.4479788051533946,y:.5661118051533947},{x:.4411596604858821,y:.5717081325536145},{x:.43337975445642907,y:.5758665789630079},{x:.4249380644907258,y:.5784273376181454},{x:.416159,y:.579292},{x:.4073799355092742,y:.5784273376181454},{x:.39893824554357094,y:.5758665789630079},{x:.39115833951411794,y:.5717081325536145},{x:.3843391948466054,y:.5661118051533947},{x:.37874286744638547,y:.5592926604858821},{x:.3745844210369921,y:.551512754456429},{x:.37202366238185464,y:.5430710644907257},{x:.371159,y:.534292},{x:.371159,y:-.004392296840350002},{x:.3490732119536395,y:-.07070509444595838},{x:.254610065464387,y:-.09353828321774525},{x:.16889624695538427,y:-.06577563682270039},{x:.16027792337039018,y:-.063893055363307},{x:.15145792503334138,y:-.0637279987022096},{x:.14277519953401854,y:-.06528680987432936},{x:.13456341914403205,y:-.06850958464051307},{x:.12713815797854966,y:-.0732724735738492},{x:.12078476466002638,y:-.07939244152368852},{x:.11574739653066908,y:-.08663430155383627},{x:.11221963682270032,y:-.0947197530446158},{x:.11033705536330693,y:-.10333807662960988},{x:.11017199870220953,y:-.1121580749666587}],[{x:.3403,y:.7597659999999999},{x:.3411646623818546,y:.7509869355092742},{x:.34372542103699205,y:.7425452455435709},{x:.34788386744638544,y:.7347653395141178},{x:.3534801948466053,y:.7279461948466053},{x:.3602993395141179,y:.7223498674463854},{x:.36807924554357097,y:.7181914210369921},{x:.37652093550927423,y:.7156306623818546},{x:.3853,y:.7147659999999999},{x:.447023,y:.7147659999999999},{x:.4558020644907258,y:.7156306623818546},{x:.46424375445642907,y:.7181914210369921},{x:.4720236604858821,y:.7223498674463854},{x:.4788428051533946,y:.7279461948466053},{x:.48443913255361454,y:.7347653395141178},{x:.48859757896300793,y:.7425452455435709},{x:.49115833761814537,y:.7509869355092742},{x:.492023,y:.7597659999999999},{x:.49115833761814537,y:.7685450644907257},{x:.48859757896300793,y:.776986754456429},{x:.48443913255361454,y:.7847666604858821},{x:.4788428051533946,y:.7915858051533946},{x:.4720236604858821,y:.7971821325536145},{x:.46424375445642907,y:.8013405789630078},{x:.4558020644907258,y:.8039013376181453},{x:.447023,y:.804766},{x:.3853,y:.804766},{x:.37652093550927423,y:.8039013376181453},{x:.36807924554357097,y:.8013405789630078},{x:.3602993395141179,y:.7971821325536145},{x:.3534801948466053,y:.7915858051533946},{x:.34788386744638544,y:.7847666604858821},{x:.34372542103699205,y:.776986754456429},{x:.3411646623818546,y:.7685450644907257},{x:.3403,y:.7597659999999999}]],k:[[{x:.020185999999999996,y:.05318299999999998},{x:.02105066238185463,y:.04440393550927419},{x:.02361142103699209,y:.03596224554357094},{x:.027769867446385453,y:.028182339514117884},{x:.03336619484660536,y:.021363194846605343},{x:.04018533951411791,y:.01576686744638544},{x:.047965245543570956,y:.011608421036992077},{x:.056406935509274225,y:.009047662381854615},{x:.065186,y:.008182999999999982},{x:.07396506449072576,y:.009047662381854615},{x:.08240675445642903,y:.011608421036992077},{x:.0901866604858821,y:.015766867446385446},{x:.09700580515339463,y:.021363194846605343},{x:.10260213255361453,y:.028182339514117884},{x:.10676057896300789,y:.03596224554357094},{x:.10932133761814536,y:.04440393550927421},{x:.11018599999999999,y:.05318299999999998},{x:.11018599999999999,y:.16578332733911408},{x:.23477705990096162,y:.26351643594805596},{x:.5068321321577423,y:.019673199736523116},{x:.5139466814455551,y:.014457569113271652},{x:.5219420457215526,y:.010730135081525344},{x:.5305109676204599,y:.008634140840755075},{x:.539324148279209,y:.008250134274186548},{x:.5480429021075728,y:.009592872538819623},{x:.5563321722854605,y:.012610754956160736},{x:.5638734068086124,y:.017187805997359452},{x:.5703768002634768,y:.02314813215774228},{x:.5755924308867283,y:.030262681445555134},{x:.5793198649184746,y:.03825804572155257},{x:.5814158591592449,y:.04682696762045996},{x:.5817998657258134,y:.05564014827920904},{x:.5804571274611804,y:.06435890210757275},{x:.5774392450438393,y:.07264817228546054},{x:.5728621940026405,y:.08018940680861247},{x:.5669018678422577,y:.08669280026347684},{x:.3066862956724008,y:.3199242805817128},{x:.5215978711622948,y:.4885076152557163},{x:.5279716470169837,y:.49460635247919954},{x:.533033147947031,y:.5018313661609891},{x:.5365878633102175,y:.5099050030771282},{x:.5384991873886431,y:.5185169978886772},{x:.5386936690698568,y:.5273363964646907},{x:.5371638345319164,y:.5360242742638681},{x:.5339684744581735,y:.5442467610146052},{x:.5292303847442837,y:.5516878711622948},{x:.5231316475208004,y:.5580616470169838},{x:.5159066338390108,y:.5631231479470311},{x:.5078329969228718,y:.5666778633102175},{x:.4992210021113228,y:.5685891873886431},{x:.49040160353530926,y:.5687836690698569},{x:.4817137257361318,y:.5672538345319164},{x:.47349123898539475,y:.5640584744581736},{x:.46605012883770514,y:.5593203847442837},{x:.11018599999999999,y:.28016947631338524},{x:.11018599999999999,y:.7597659999999999},{x:.10932133761814536,y:.7685450644907257},{x:.10676057896300789,y:.776986754456429},{x:.10260213255361453,y:.7847666604858821},{x:.09700580515339463,y:.7915858051533946},{x:.09018666048588207,y:.7971821325536145},{x:.08240675445642903,y:.8013405789630078},{x:.07396506449072576,y:.8039013376181453},{x:.065186,y:.804766},{x:.056406935509274204,y:.8039013376181453},{x:.04796524554357093,y:.8013405789630078},{x:.04018533951411791,y:.7971821325536145},{x:.03336619484660536,y:.7915858051533946},{x:.027769867446385453,y:.7847666604858821},{x:.02361142103699209,y:.776986754456429},{x:.02105066238185463,y:.7685450644907257},{x:.020185999999999996,y:.7597659999999999},{x:.020185999999999996,y:.05318299999999998}]],l:[[{x:.25602600000000003,y:.05355900000000002},{x:.25689066238185465,y:.044779935509274234},{x:.2594514210369921,y:.036338245543570985},{x:.2636098674463855,y:.028558339514117927},{x:.26920619484660535,y:.021739194846605386},{x:.27602533951411795,y:.016142867446385482},{x:.283805245543571,y:.01198442103699212},{x:.2922469355092743,y:.009423662381854658},{x:.301026,y:.008559000000000025},{x:.3098050644907258,y:.009423662381854658},{x:.3182467544564291,y:.01198442103699212},{x:.32602666048588214,y:.01614286744638549},{x:.3328458051533947,y:.021739194846605386},{x:.33844213255361455,y:.028558339514117927},{x:.34260057896300794,y:.036338245543570985},{x:.3451613376181454,y:.044779935509274255},{x:.346026,y:.05355900000000002},{x:.346026,y:.765137},{x:.3451613376181454,y:.7739160644907257},{x:.34260057896300794,y:.782357754456429},{x:.33844213255361455,y:.7901376604858821},{x:.3328458051533947,y:.7969568051533946},{x:.32602666048588214,y:.8025531325536145},{x:.3182467544564291,y:.8067115789630078},{x:.3098050644907258,y:.8092723376181453},{x:.301026,y:.810137},{x:.2922469355092743,y:.8092723376181453},{x:.283805245543571,y:.8067115789630078},{x:.27602533951411795,y:.8025531325536145},{x:.26920619484660535,y:.7969568051533946},{x:.2636098674463855,y:.7901376604858821},{x:.2594514210369921,y:.782357754456429},{x:.25689066238185465,y:.7739160644907257},{x:.25602600000000003,y:.765137},{x:.25602600000000003,y:.05355900000000002}]],m:[[{x:.005538000000000001,y:.03920400000000002},{x:.006402662381854635,y:.030424935509274227},{x:.008963421036992096,y:.02198324554357097},{x:.013121867446385459,y:.01420333951411792},{x:.018718194846605363,y:.00738419484660538},{x:.025537339514117914,y:.0017878674463854757},{x:.03331724554357096,y:-.002370578963007887},{x:.04175893550927423,y:-.004931337618145348},{x:.050538,y:-.005795999999999982},{x:.059317064490725775,y:-.004931337618145348},{x:.06775875445642904,y:-.002370578963007887},{x:.0755386604858821,y:.0017878674463854827},{x:.08235780515339464,y:.00738419484660538},{x:.08795413255361453,y:.01420333951411792},{x:.0921125789630079,y:.02198324554357098},{x:.09467333761814536,y:.030424935509274248},{x:.095538,y:.03920400000000002},{x:.095538,y:.3993271266071161},{x:.14963521853994496,y:.4943223065353007},{x:.1738257653562211,y:.5150589999999999},{x:.22021623464377893,y:.5150589999999999},{x:.2416666625786254,y:.49667119950297894},{x:.27741,y:.4029520066676719},{x:.27741,y:.03920400000000002},{x:.2782746623818546,y:.030424935509274227},{x:.28083542103699205,y:.02198324554357097},{x:.28499386744638544,y:.01420333951411792},{x:.2905901948466053,y:.00738419484660538},{x:.2974093395141179,y:.0017878674463854757},{x:.30518924554357096,y:-.002370578963007887},{x:.31363093550927423,y:-.004931337618145348},{x:.32241,y:-.005795999999999982},{x:.33118906449072577,y:-.004931337618145348},{x:.33963075445642904,y:-.002370578963007887},{x:.3474106604858821,y:.0017878674463854827},{x:.35422980515339464,y:.00738419484660538},{x:.3598261325536145,y:.01420333951411792},{x:.3639845789630079,y:.02198324554357098},{x:.36654533761814534,y:.030424935509274248},{x:.36740999999999996,y:.03920400000000002},{x:.36740999999999996,y:.3993264781598986},{x:.4215891088917321,y:.494459500052724},{x:.445289826307752,y:.5150589999999999},{x:.4920928256254945,y:.5150589999999999},{x:.5065149999999999,y:.5026965582556255},{x:.5065149999999999,y:.03920400000000002},{x:.5073796623818546,y:.030424935509274227},{x:.5099404210369921,y:.02198324554357097},{x:.5140988674463854,y:.01420333951411792},{x:.5196951948466053,y:.00738419484660538},{x:.5265143395141179,y:.0017878674463854757},{x:.534294245543571,y:-.002370578963007887},{x:.5427359355092742,y:-.004931337618145348},{x:.551515,y:-.005795999999999982},{x:.5602940644907257,y:-.004931337618145348},{x:.568735754456429,y:-.002370578963007887},{x:.5765156604858821,y:.0017878674463854827},{x:.5833348051533946,y:.00738419484660538},{x:.5889311325536145,y:.01420333951411792},{x:.5930895789630078,y:.02198324554357098},{x:.5956503376181453,y:.030424935509274248},{x:.596515,y:.03920400000000002},{x:.596515,y:.523393},{x:.5963454778388272,y:.5251141873868636},{x:.5963825315707437,y:.5268433058919912},{x:.5959141404350922,y:.5294936295415332},{x:.5956503376181453,y:.5321720644907257},{x:.5951482857762117,y:.5338271076115645},{x:.59484729324509,y:.5355302304139588},{x:.5938708496195351,y:.5380382502602514},{x:.5930895789630078,y:.540613754456429},{x:.592274291011045,y:.5421390509322689},{x:.5916468191910574,y:.543750727977755},{x:.5901998472565338,y:.5460200622246176},{x:.5889311325536145,y:.5483936604858821},{x:.5878339395503975,y:.5497305940285525},{x:.5869041018316961,y:.5511888894721116},{x:.5850422079081763,y:.5531323288770946},{x:.5833348051533946,y:.5552128051533947},{x:.581997871610724,y:.5563099981566119},{x:.5808014011353795,y:.5575588705221693},{x:.5380264011353795,y:.5942248705221693},{x:.5358211367621821,y:.5957677297988329},{x:.5337406604858821,y:.5974751325536145},{x:.5322153640100423,y:.5982904205055773},{x:.5307982404674333,y:.599281876328501},{x:.5283343527176928,y:.600364864260089},{x:.525960754456429,y:.6016335789630078},{x:.5243057113355902,y:.6021356308049415},{x:.5227223939887274,y:.6028315689939708},{x:.5200945686869033,y:.6034130669616181},{x:.5175190644907257,y:.6041943376181453},{x:.5157978771038628,y:.6043638597793182},{x:.5141092119504517,y:.6047375358201355},{x:.5114184349491921,y:.6047951971830532},{x:.50874,y:.605059},{x:.428467,y:.605059},{x:.42563553135621585,y:.6047801246797119},{x:.42279150043448566,y:.6046996620098968},{x:.4212557149999115,y:.6043487504203328},{x:.4196879355092742,y:.6041943376181453},{x:.41696527861756566,y:.6033684286794448},{x:.4141915924406847,y:.6027346691689239},{x:.4127537761476033,y:.6020908833721776},{x:.4112462455435709,y:.6016335789630078},{x:.40873703058140176,y:.6002923756232341},{x:.4061402803536474,y:.5991296742945802},{x:.40485568767586616,y:.5982177546177817},{x:.4034663395141179,y:.5974751325536145},{x:.4012669942053008,y:.5956701765049598},{x:.3989469715816508,y:.5940232153181825},{x:.3567609715816508,y:.5573572153181825},{x:.3545792701559384,y:.5550484712393128},{x:.3522737143614353,y:.552863400803129},{x:.35155574109793963,y:.5518488790642903},{x:.35070210094674875,y:.5509455305944583},{x:.3490127339279754,y:.5482555195520005},{x:.34717776483660073,y:.5456626430091704},{x:.33048446785976626,y:.5163509060824124},{x:.3216828574856715,y:.5394287684036221},{x:.32062739498214626,y:.5415455848316745},{x:.31976928952310246,y:.5437498007710907},{x:.3186639603788477,y:.5454834136126945},{x:.31774653490223986,y:.5473233854865517},{x:.3162983824161672,y:.5491936173608123},{x:.31502674401548947,y:.5511880718386934},{x:.3136044423732838,y:.5526727347769701},{x:.3123456842645886,y:.5542983712755478},{x:.3105604934838748,y:.5558501466339272},{x:.30892419049215825,y:.5575581938831911},{x:.2661511904921582,y:.594224193883191},{x:.26394553725639397,y:.5957674011217274},{x:.2618646604858821,y:.5974751325536145},{x:.26033982189406285,y:.5982901757614695},{x:.258923146662659,y:.5992813666868191},{x:.25645880963824363,y:.6003646200309664},{x:.25408475445642903,y:.6016335789630078},{x:.25243020816870526,y:.6021354800922637},{x:.25084738219782576,y:.6028312459348294},{x:.24821906447459133,y:.6034129165660671},{x:.24564306449072576,y:.6041943376181453},{x:.24392239379305308,y:.6043638088898747},{x:.2422342441971012,y:.6047374117585159},{x:.2395429505511757,y:.6047951464006902},{x:.236864,y:.605059},{x:.157178,y:.605059},{x:.1544990494488241,y:.6047951464006902},{x:.1518077558028988,y:.6047374117585159},{x:.15011960620694695,y:.6043638088898747},{x:.14839893550927424,y:.6041943376181453},{x:.14582293552540848,y:.6034129165660671},{x:.1431946178021742,y:.6028312459348294},{x:.1416117918312948,y:.6021354800922637},{x:.13995724554357097,y:.6016335789630078},{x:.13758319036175665,y:.6003646200309664},{x:.135118853337341,y:.5992813666868191},{x:.13370217810593676,y:.5982901757614691},{x:.13217733951411792,y:.5974751325536145},{x:.13009646274360603,y:.5957674011217274},{x:.1278908095078418,y:.594224193883191},{x:.09495385911112918,y:.5659898819750746},{x:.09467333761814536,y:.5688380644907257},{x:.0921125789630079,y:.577279754456429},{x:.08795413255361453,y:.5850596604858821},{x:.08235780515339464,y:.5918788051533946},{x:.07553866048588208,y:.5974751325536145},{x:.06775875445642904,y:.6016335789630078},{x:.059317064490725775,y:.6041943376181453},{x:.050538,y:.605059},{x:.04175893550927421,y:.6041943376181453},{x:.033317245543570934,y:.6016335789630078},{x:.025537339514117904,y:.5974751325536145},{x:.018718194846605356,y:.5918788051533946},{x:.013121867446385459,y:.5850596604858821},{x:.008963421036992096,y:.577279754456429},{x:.006402662381854635,y:.5688380644907257},{x:.005538000000000001,y:.560059},{x:.005538000000000001,y:.03920400000000002}]],n:[[{x:.047041,y:.03920400000000002},{x:.04790566238185463,y:.030424935509274227},{x:.050466421036992094,y:.02198324554357097},{x:.05462486744638546,y:.01420333951411792},{x:.06022119484660536,y:.00738419484660538},{x:.06704033951411792,y:.0017878674463854757},{x:.07482024554357096,y:-.002370578963007887},{x:.08326193550927423,y:-.004931337618145348},{x:.092041,y:-.005795999999999982},{x:.10082006449072577,y:-.004931337618145348},{x:.10926175445642904,y:-.002370578963007887},{x:.1170416604858821,y:.0017878674463854827},{x:.12386080515339463,y:.00738419484660538},{x:.12945713255361452,y:.01420333951411792},{x:.1336155789630079,y:.02198324554357098},{x:.13617633761814535,y:.030424935509274248},{x:.137041,y:.03920400000000002},{x:.137041,y:.3923986904044417},{x:.23217657812189968,y:.4860775193429304},{x:.29246969284729285,y:.5150589999999999},{x:.3857956927587408,y:.5150589999999999},{x:.4353266752666751,y:.4910865745843881},{x:.465011,y:.4037995608673687},{x:.465011,y:.03920400000000002},{x:.4658756623818546,y:.030424935509274227},{x:.46843642103699207,y:.02198324554357097},{x:.47259486744638546,y:.01420333951411792},{x:.4781911948466053,y:.00738419484660538},{x:.4850103395141179,y:.0017878674463854757},{x:.492790245543571,y:-.002370578963007887},{x:.5012319355092743,y:-.004931337618145348},{x:.510011,y:-.005795999999999982},{x:.5187900644907257,y:-.004931337618145348},{x:.527231754456429,y:-.002370578963007887},{x:.5350116604858821,y:.0017878674463854827},{x:.5418308051533947,y:.00738419484660538},{x:.5474271325536145,y:.01420333951411792},{x:.5515855789630079,y:.02198324554357098},{x:.5541463376181454,y:.030424935509274248},{x:.555011,y:.03920400000000002},{x:.555011,y:.411242},{x:.5547211401667089,y:.41418499627592825},{x:.5546227314347089,y:.4171405946120584},{x:.5542897326303223,y:.4185651504993601},{x:.5541463376181454,y:.4200210644907258},{x:.5532878972691104,y:.42285096307022063},{x:.5526147708021555,y:.4257305718218671},{x:.5144747708021555,y:.537881571821867},{x:.5144109474804813,y:.5380222238814931},{x:.5143747633675698,y:.5381723808934484},{x:.5125889395552703,y:.5420375142269895},{x:.5108295711501452,y:.5459147613418461},{x:.5107395343200961,y:.546040259499208},{x:.5106747512949527,y:.5461804721160435},{x:.5081691914797779,y:.5496229410537735},{x:.5056872154570532,y:.5530824522038071},{x:.5055744251835149,y:.5531879736350976},{x:.505483532821465,y:.5533128535645805},{x:.5023545242619802,y:.5562003659557777},{x:.4992453215682988,y:.5591091940676126},{x:.49911411231822944,y:.5591906836434047},{x:.49900060356177384,y:.559295431819878},{x:.49536839230215873,y:.5615170221826804},{x:.49175144785337105,y:.5637633826232722},{x:.4916068619246677,y:.563817708744868},{x:.49147509885166074,y:.5638982997546532},{x:.41571709885166075,y:.6005642997546532},{x:.4144883994140345,y:.6010164083750983},{x:.41333375445642906,y:.6016335789630078},{x:.41035728417594536,y:.6025364813514484},{x:.4074382196167836,y:.6036105717354909},{x:.4061449272779714,y:.6038142858466193},{x:.4048920644907258,y:.6041943376181453},{x:.4017966387343604,y:.6044992104448776},{x:.3987241185432898,y:.6049831812385367},{x:.3974159338025849,y:.6049306722213019},{x:.396113,y:.605059},{x:.282216,y:.605059},{x:.28097323419788345,y:.6049365982521052},{x:.2797255990169867,y:.6049900349640848},{x:.2765922846246742,y:.6045051123806029},{x:.2734369355092743,y:.6041943376181453},{x:.2722419284999821,y:.603831836204989},{x:.27100784129389754,y:.6036408445963318},{x:.26802933636200627,y:.6025539603505436},{x:.264995245543571,y:.6016335789630078},{x:.2638939207763026,y:.6010449086106044},{x:.2627208068242762,y:.6006168283817219},{x:.18644080682427616,y:.563950828381722},{x:.18387931815291048,y:.5623935720684188},{x:.18122474955630472,y:.5610008994562176},{x:.18011833133270075,y:.5601070811947741},{x:.17890296169536754,y:.5593681975674947},{x:.17669449694619624,y:.5573411418478543},{x:.17436263208920222,y:.5554573484070612},{x:.137041,y:.5187071981771466},{x:.137041,y:.560059},{x:.13617633761814535,y:.5688380644907257},{x:.1336155789630079,y:.577279754456429},{x:.12945713255361452,y:.5850596604858821},{x:.12386080515339463,y:.5918788051533946},{x:.11704166048588208,y:.5974751325536145},{x:.10926175445642904,y:.6016335789630078},{x:.10082006449072577,y:.6041943376181453},{x:.092041,y:.605059},{x:.08326193550927423,y:.6041943376181453},{x:.07482024554357093,y:.6016335789630078},{x:.06704033951411792,y:.5974751325536145},{x:.06022119484660536,y:.5918788051533946},{x:.05462486744638546,y:.5850596604858821},{x:.050466421036992094,y:.577279754456429},{x:.04790566238185463,y:.5688380644907257},{x:.047041,y:.560059},{x:.047041,y:.03920400000000002}]],o:[[{x:.021894999999999998,y:.25490100000000004},{x:.022142430975592695,y:.2523887911456351},{x:.02217771682540861,y:.24986467341374632},{x:.02257373987793045,y:.24800963837050735},{x:.02275966238185463,y:.24612193550927428},{x:.023492446675001572,y:.24370626943231966},{x:.02401948545822835,y:.2412375358426815},{x:.060310485458228355,y:.12735753584268142},{x:.06080304558444478,y:.12621387418764726},{x:.061129830312657105,y:.12501229639135567},{x:.06254436541764224,y:.12217075210694647},{x:.06379993607002282,y:.11925547753662338},{x:.06450614911208748,y:.11822988473324028},{x:.0650610709625847,y:.11711514745523491},{x:.06700278396163635,y:.114604164756607},{x:.06880297103068717,y:.11198985605258731},{x:.06969569761744246,y:.11112174505713},{x:.07045743125471368,y:.1101366870258529},{x:.14244943125471368,y:.0338456870258529},{x:.144568728324263,y:.03200109409682955},{x:.1465508815997487,y:.0300098604251366},{x:.14788834203377002,y:.029111770054614114},{x:.1491035320893312,y:.02805409342394511},{x:.1515419696884587,y:.026658398178569347},{x:.15387450686277807,y:.025092124424329433},{x:.22587150686277807,y:-.01360287557567049},{x:.22795933917571506,y:-.014473279294209745},{x:.22995424554357097,y:-.015539578963007873},{x:.23202067225559728,y:-.016166422653018674},{x:.2340138134199343,y:-.01699735024728135},{x:.23623133596214702,y:-.01744371352418634},{x:.23839593550927424,y:-.018100337618145335},{x:.2405449475487996,y:-.01831199682974963},{x:.24266189699648397,y:-.01873811583170923},{x:.2449238916202761,y:-.018743285176571887},{x:.247175,y:-.018964999999999968},{x:.354874,y:-.018964999999999968},{x:.35712497901801044,y:-.018743297917588594},{x:.3593868436844028,y:-.018738141970160445},{x:.36150392306047363,y:-.018312009573623896},{x:.3636530644907258,y:-.018100337618145335},{x:.36581753964743763,y:-.017443751257606326},{x:.36803493734305537,y:-.016997426474138877},{x:.370028203326089,y:-.016166460394901543},{x:.3720947544564291,y:-.015539578963007873},{x:.3740895461854217,y:-.014473340569958804},{x:.376177263560353,y:-.01360299896157894},{x:.448175263560353,y:.025092001038420984},{x:.4505076595021602,y:.026658160356610353},{x:.4529459593263057,y:.028053731854915283},{x:.45416130097157975,y:.029111510806286087},{x:.45549891730603415,y:.030009694621828502},{x:.4574809543881169,y:.03200078850323144},{x:.4596001404718476,y:.03384523318438343},{x:.5315941404718476,y:.11013623318438343},{x:.5323560786638525,y:.11112152750713142},{x:.5332490289693128,y:.11198985605258731},{x:.5350490398057314,y:.11460390882403626},{x:.5369905975332091,y:.11711461878219896},{x:.5375456739097991,y:.11822962771804991},{x:.5382520639299772,y:.11925547753662338},{x:.5395075116659538,y:.12217046671076734},{x:.5409219476918898,y:.12501171320336152},{x:.5412488309792026,y:.126213587584214},{x:.5417415145417717,y:.12735753584268142},{x:.5780325145417716,y:.2412375358426815},{x:.5785595533249983,y:.2437062694323195},{x:.5792923376181454,y:.24612193550927428},{x:.5794782601220696,y:.2480096383705079},{x:.5798742831745913,y:.24986467341374632},{x:.5799095690244073,y:.25238879114563434},{x:.580157,y:.25490100000000004},{x:.580157,y:.33119200000000004},{x:.5799156873690254,y:.3336420882589673},{x:.5798881240960263,y:.3361038771468651},{x:.5794843860383102,y:.3380211641581212},{x:.5792923376181454,y:.33997106449072584},{x:.5785776732343003,y:.3423269972319261},{x:.5780703683949873,y:.3447361062088315},{x:.5417793683949873,y:.4597211062088315},{x:.5412650895934552,y:.4609244011905288},{x:.540921633437906,y:.46218711230867804},{x:.5395351283421765,y:.46497211555478546},{x:.5383124760126231,y:.46783284286481475},{x:.5375733277285976,y:.46891268605384906},{x:.5369901282681178,y:.47008412955994733},{x:.5350869372989228,y:.47254512602400234},{x:.5333296776789325,y:.47511235762423976},{x:.5323940649664491,y:.4760272512524403},{x:.5315935342292432,y:.47706240922950055},{x:.45959953422924316,y:.5533504092295005},{x:.4572787448447235,y:.5553702403350376},{x:.45508230823461715,y:.5575246421731296},{x:.45395838697349994,y:.5582600166131206},{x:.4529452394037514,y:.5591417799431011},{x:.45027499383570063,y:.5606700370119551},{x:.44770045819082444,y:.5623545390972755},{x:.3757024581908245,y:.5999485390972755},{x:.37385313535723513,y:.6006937047902838},{x:.3720947544564291,y:.6016335789630078},{x:.36977177563531344,y:.6023382468844833},{x:.3675201821794923,y:.6032455034042244},{x:.36556101895058973,y:.6036155659602718},{x:.3636530644907258,y:.6041943376181453},{x:.36123724716457173,y:.6044322748568528},{x:.35885192047906295,y:.6048828346046191},{x:.35685820639902277,y:.60486357272721},{x:.354874,y:.605059},{x:.247175,y:.605059},{x:.24519066624232813,y:.6048635601834779},{x:.24319682408363533,y:.6048828119349353},{x:.24081162559758007,y:.6044322623250186},{x:.23839593550927424,y:.6041943376181453},{x:.23648785858508298,y:.6036155288111242},{x:.234528571713998,y:.6032454313367869},{x:.23227710201651716,y:.602338209770572},{x:.22995424554357097,y:.6016335789630078},{x:.2281957517789948,y:.6006936444633418},{x:.22634631449119302,y:.5999484204015954},{x:.15434931449119302,y:.5623544204015953},{x:.15177463525955168,y:.5606698034147719},{x:.14910425200363037,y:.5591414183832311},{x:.14809125527340347,y:.55825976164439},{x:.1469674919716301,y:.5575244814106152},{x:.14477093694990967,y:.5553699388664325},{x:.14245003748743465,y:.5533499553954043},{x:.07045803748743465,y:.4770619553954044},{x:.06965771196430402,y:.47602703312304784},{x:.06872232232106745,y:.47511235762423976},{x:.06696488716695402,y:.4725448695811053},{x:.06506154021654398,y:.4700836008922148},{x:.0644784960433022,y:.46891242859710086},{x:.06373952398737684,y:.46783284286481475},{x:.06251674952606694,y:.46497182979435886},{x:.06113014455468816,y:.46218652912371366},{x:.06078678779193787,y:.46092411430034236},{x:.06027263160501272,y:.4597211062088315},{x:.023981631605012717,y:.3447361062088315},{x:.0234743267656997,y:.3423269972319261},{x:.02275966238185463,y:.33997106449072584},{x:.0225676139616898,y:.3380211641581212},{x:.022163875903973694,y:.3361038771468651},{x:.022136312630974576,y:.33364208825896713},{x:.021894999999999998,y:.33119200000000004},{x:.021894999999999998,y:.25490100000000004}],[{x:.111895,y:.2618978965790472},{x:.111895,y:.324259211613835},{x:.14299436878278687,y:.42279496206129447},{x:.20271328316555492,y:.48607750096051383},{x:.25821631520114247,y:.5150589999999999},{x:.3438328207386419,y:.5150589999999999},{x:.3993370917152178,y:.4860772565752743},{x:.4590577300605173,y:.42279464888454726},{x:.490157,y:.324259211613835},{x:.490157,y:.2618978965790472},{x:.4591028039244665,y:.16445082019422033},{x:.39914727445977055,y:.10091681321598435},{x:.3435475642149213,y:.07103500000000003},{x:.2585015743575747,y:.07103500000000003},{x:.20290309936793577,y:.10091656436690524},{x:.14294929572583875,y:.164450507494742},{x:.111895,y:.2618978965790472}]],p:[[{x:.031904,y:-.15424400000000005},{x:.032768662381854635,y:-.16302306449072582},{x:.0353294210369921,y:-.17146475445642909},{x:.03948786744638546,y:-.17924466048588214},{x:.04508419484660536,y:-.18606380515339468},{x:.051903339514117915,y:-.19166013255361458},{x:.05968324554357096,y:-.19581857896300794},{x:.06812493550927423,y:-.1983793376181454},{x:.076904,y:-.19924400000000003},{x:.08568306449072577,y:-.1983793376181454},{x:.09412475445642904,y:-.19581857896300794},{x:.1019046604858821,y:-.19166013255361458},{x:.10872380515339464,y:-.18606380515339468},{x:.11432013255361453,y:-.17924466048588214},{x:.1184785789630079,y:-.17146475445642909},{x:.12103933761814537,y:-.16302306449072582},{x:.121904,y:-.15424400000000005},{x:.121904,y:.08461372659928788},{x:.12362832174470662,y:.08333438131496537},{x:.12536021772829115,y:.08178035235824195},{x:.1271620685101291,y:.08071254912256186},{x:.12884414120453105,y:.07946455014784792},{x:.13094744853162613,y:.07846927732892851},{x:.13294924262910485,y:.07728298474798974},{x:.20690724262910487,y:.04275398474798971},{x:.20784573679964677,y:.04242345923251374},{x:.20872324554357097,y:.041954421036992075},{x:.21199903754957586,y:.040960720395783044},{x:.21522783943974558,y:.03982357810698025},{x:.21621278303720604,y:.03968249467654502},{x:.21716493550927424,y:.0393936623818546},{x:.22057164546850772,y:.03905813073713887},{x:.2239602522910248,y:.038572746319036566},{x:.22495379448531613,y:.03862652673075318},{x:.225944,y:.038528999999999966},{x:.338005,y:.038528999999999966},{x:.33886621477794643,y:.03861382225207184},{x:.3397300481447032,y:.038562076501738984},{x:.34324908380057223,y:.0390454971728409},{x:.3467840644907258,y:.0393936623818546},{x:.3476121832677305,y:.039644869466491955},{x:.3484695134136621,y:.03976264352593092},{x:.35182662109175783,y:.04092330520367998},{x:.35522575445642907,y:.04195442103699206},{x:.3559889530923063,y:.042362359206810904},{x:.35680683330070073,y:.04264512708496585},{x:.4318888333007007,y:.07717412708496588},{x:.43400924312431544,y:.07841428389434572},{x:.43622962614931016,y:.07946501028796468},{x:.4378075563324746,y:.08063579029221077},{x:.43950360927818305,y:.0816277549521855},{x:.44134133343031445,y:.08325775393151234},{x:.4433140658676044,y:.08472146615145025},{x:.5183930658676044,y:.1527974661514503},{x:.519792625068414,y:.15434228537837358},{x:.5213447099268285,y:.1557337827706549},{x:.522746916505161,y:.1576032022519019},{x:.5243158963961404,y:.15933502631539204},{x:.52538718417891,y:.1611232027292085},{x:.5266379784876352,y:.1627907596241023},{x:.5276485364111687,y:.16489781566710873},{x:.5288495066792682,y:.16690245600899573},{x:.5295513540552914,y:.16886527099294393},{x:.530452790490496,y:.17074480411415546},{x:.5674347904904959,y:.2723648041141554},{x:.5682868803844835,y:.2756900562357905},{x:.5692833376181453,y:.27897493550927416},{x:.5693799285821196,y:.2799556400244087},{x:.5696245448495124,y:.2809102467717411},{x:.5698115375679212,y:.2843378395980749},{x:.570148,y:.28775399999999995},{x:.570148,y:.355831},{x:.5698183264321395,y:.3591782319067787},{x:.5696454905753794,y:.362537215959393},{x:.5693867528695432,y:.3635600718226051},{x:.5692833376181453,y:.3646100644907258},{x:.5683069860848939,y:.3678286641524751},{x:.567482165940186,y:.37108938766543825},{x:.530500165940186,y:.47369538766543823},{x:.5295747233109523,y:.4756403735939819},{x:.5288495066792682,y:.4776685439910043},{x:.5276841925618525,y:.47961366765708685},{x:.5267099630491849,y:.4816611880905031},{x:.5254228546094585,y:.48338825675926556},{x:.5243158963961404,y:.48523597368460797},{x:.5227934986603558,y:.48691638083844907},{x:.5214385372739072,y:.48873449599152474},{x:.5198392258792078,y:.49017727712011666},{x:.5183930658676044,y:.4917735338485497},{x:.4433140658676044,y:.5598495338485497},{x:.44114571117720175,y:.5614583923016819},{x:.43910641435493325,y:.5632279843609703},{x:.43761161896162687,y:.5640805897495177},{x:.43622962614931016,y:.5651059897120353},{x:.43378906307257026,y:.5662609093863238},{x:.43144372048223223,y:.5675986521566495},{x:.35636172048223225,y:.6011446521566495},{x:.355773047491519,y:.6013410447411239},{x:.35522575445642907,y:.6016335789630078},{x:.3515938477815883,y:.6027353058079922},{x:.3479935881359665,y:.6039364213810477},{x:.34737791203915763,y:.6040141959337602},{x:.3467840644907258,y:.6041943376181453},{x:.34300700763927916,y:.6045663452480041},{x:.3392415999493003,y:.6050420059085138},{x:.33862258083352115,y:.60499817359702},{x:.338005,y:.605059},{x:.225944,y:.605059},{x:.2251997336627212,y:.6049856961639699},{x:.22445344765540867,y:.6050343071552383},{x:.22081614914993766,y:.6045539507735711},{x:.21716493550927424,y:.6041943376181453},{x:.21644927090994795,y:.6039772431353645},{x:.21570784104506457,y:.6038793269025836},{x:.2122341450916469,y:.6026985986973952},{x:.20872324554357097,y:.6016335789630078},{x:.20806368527139987,y:.6012810366527016},{x:.20735560428285457,y:.6010403560617851},{x:.13339760428285458,y:.5674943560617851},{x:.13116986982932302,y:.566206971138138},{x:.12884414120453105,y:.5651064498521521},{x:.1273598902040749,y:.5640052229355318},{x:.12575970914356202,y:.5630804946901414},{x:.12382593632220404,y:.5613832370749092},{x:.121904,y:.5599572734007121},{x:.121904,y:.560059},{x:.12103933761814537,y:.5688380644907257},{x:.1184785789630079,y:.577279754456429},{x:.11432013255361453,y:.5850596604858821},{x:.10872380515339464,y:.5918788051533946},{x:.10190466048588208,y:.5974751325536145},{x:.09412475445642904,y:.6016335789630078},{x:.08568306449072577,y:.6041943376181453},{x:.076904,y:.605059},{x:.0681249355092742,y:.6041943376181453},{x:.059683245543570934,y:.6016335789630078},{x:.051903339514117915,y:.5974751325536145},{x:.04508419484660536,y:.5918788051533946},{x:.03948786744638546,y:.5850596604858821},{x:.0353294210369921,y:.577279754456429},{x:.032768662381854635,y:.5688380644907257},{x:.031904,y:.560059},{x:.031904,y:-.15424400000000005}],[{x:.121904,y:.20607608160839302},{x:.121904,y:.438494918391607},{x:.17699192809119763,y:.48844251958412144},{x:.23567259519301437,y:.5150589999999999},{x:.3284092961747297,y:.5150589999999999},{x:.38817711429028284,y:.4883552464171925},{x:.4496333594179428,y:.43263133769024387},{x:.48014799999999996,y:.3479689286382035},{x:.48014799999999996,y:.29568777567179994},{x:.44968806913177495,y:.21198926897045803},{x:.3879916447872207,y:.1560475837631447},{x:.32815352882369925,y:.12852899999999995},{x:.2359312215606538,y:.12852899999999995},{x:.17717907548697515,y:.15595879598931894},{x:.121904,y:.20607608160839302}]],q:[[{x:.031905,y:.285813},{x:.03224141038262204,y:.2823973680650777},{x:.0324282929389951,y:.2789703010434802},{x:.03267301908894614,y:.2780151713289937},{x:.032769662381854636,y:.2770339355092742},{x:.03376596546737772,y:.2737495643941025},{x:.03461784473664685,y:.27042480648246636},{x:.07159784473664685,y:.1688028064824664},{x:.0724995244823713,y:.166922651750872},{x:.0732016076706368,y:.1649592141085361},{x:.07440224792307432,y:.1629551516523985},{x:.07541246819615938,y:.16084867156853302},{x:.07666362241043057,y:.15918055247485355},{x:.0777352629490018,y:.15739181137154173},{x:.07930380642556048,y:.15566048970702676},{x:.08070556947724908,y:.15379156924569237},{x:.08225811700526783,y:.15239959067120604},{x:.08365813234923056,y:.15085428642438087},{x:.15873913234923054,y:.08277728642438094},{x:.16071062555900373,y:.0813145118522212},{x:.16254708404197357,y:.07968542770293169},{x:.16424441690754124,y:.07869257021816739},{x:.16582360332185575,y:.07752087268448676},{x:.16804258800473576,y:.07647082416071167},{x:.17016157800418052,y:.07523131768336211},{x:.24523757800418056,y:.0406993176833621},{x:.24605678866737324,y:.04041603175027397},{x:.24682124554357093,y:.04000742103699214},{x:.2502190216384501,y:.03897671692697023},{x:.2535747153580455,y:.03781630621794852},{x:.25443345146196317,y:.037698283616711674},{x:.2552629355092742,y:.03744666238185468},{x:.25879650468596477,y:.037098636194782805},{x:.2623141045905799,y:.03661518582049534},{x:.2631793653883337,y:.03666696209348752},{x:.264042,y:.036582000000000045},{x:.376106,y:.036582000000000045},{x:.3770966034546813,y:.036679565924422064},{x:.37809054588497415,y:.03662578154659327},{x:.38147875036256007,y:.037111169723096304},{x:.3848850644907258,y:.03744666238185468},{x:.3858375996101805,y:.03773561075136079},{x:.38682293652697,y:.03787676837406198},{x:.39005134306992567,y:.03901383585544661},{x:.39332675445642906,y:.04000742103699214},{x:.39420461585020444,y:.04047664772778637},{x:.3951434813083616,y:.04080732274273922},{x:.4691044813083616,y:.07533932274273922},{x:.47110618065167786,y:.07652560719175487},{x:.47320939667814427,y:.07752087268448679},{x:.4748915208069018,y:.0787689461703934},{x:.4766934263594154,y:.07983682509171056},{x:.47842523099597173,y:.08139082758714347},{x:.48014799999999996,y:.08266905805748193},{x:.48014799999999996,y:-.15619500000000008},{x:.4810126623818546,y:-.16497406449072585},{x:.483573421036992,y:-.17341575445642912},{x:.4877318674463854,y:-.18119566048588218},{x:.4933281948466053,y:-.18801480515339472},{x:.5001473395141178,y:-.19361113255361462},{x:.5079272455435709,y:-.19776957896300798},{x:.5163689355092742,y:-.20033033761814545},{x:.525148,y:-.20119500000000007},{x:.5339270644907257,y:-.20033033761814545},{x:.542368754456429,y:-.19776957896300798},{x:.5501486604858821,y:-.19361113255361462},{x:.5569678051533946,y:-.18801480515339472},{x:.5625641325536145,y:-.18119566048588218},{x:.5667225789630078,y:-.17341575445642912},{x:.5692833376181453,y:-.16497406449072585},{x:.570148,y:-.15619500000000008},{x:.570148,y:.5581050000000001},{x:.5692833376181453,y:.5668840644907258},{x:.5667225789630078,y:.5753257544564291},{x:.5625641325536145,y:.5831056604858822},{x:.5569678051533946,y:.5899248051533947},{x:.5501486604858821,y:.5955211325536146},{x:.542368754456429,y:.5996795789630079},{x:.5339270644907257,y:.6022403376181454},{x:.525148,y:.6031050000000001},{x:.5163689355092742,y:.6022403376181454},{x:.5079272455435709,y:.5996795789630079},{x:.5001473395141178,y:.5955211325536146},{x:.4933281948466053,y:.5899248051533947},{x:.4877318674463854,y:.5831056604858822},{x:.483573421036992,y:.5753257544564291},{x:.4810126623818546,y:.5668840644907258},{x:.48014799999999996,y:.5581050000000001},{x:.48014799999999996,y:.558005596763998},{x:.4782247267606458,y:.559432223348863},{x:.47629232280480055,y:.5611281889595863},{x:.4746904859851039,y:.5620538174856352},{x:.4732046002880372,y:.5631560030691136},{x:.4708804506539088,y:.5642554633364756},{x:.4686543108210992,y:.5655418481335316},{x:.3946933108210992,y:.5990868481335316},{x:.3939857884552202,y:.5993273179516839},{x:.39332675445642906,y:.5996795789630079},{x:.3898152875083263,y:.6007447708163117},{x:.38634099890642704,y:.6019255978665906},{x:.3856001580501581,y:.6020234163584227},{x:.3848850644907258,y:.6022403376181454},{x:.38123326077373504,y:.6026000088910167},{x:.3775953617236344,y:.6030803465985108},{x:.3768496724756141,y:.6030317546542387},{x:.376106,y:.6031050000000001},{x:.264042,y:.6031050000000001},{x:.26342400033164626,y:.6030441323453897},{x:.26280456058717394,y:.6030879828235033},{x:.25903957642572706,y:.602612304281983},{x:.2552629355092742,y:.6022403376181454},{x:.254668685221597,y:.6020600737641458},{x:.25405259303422617,y:.6019822349683996},{x:.25045275226756825,y:.6007811844842303},{x:.24682124554357093,y:.5996795789630079},{x:.24627358134186672,y:.5993868463484354},{x:.24568451278884912,y:.5991903095800973},{x:.17060851278884911,y:.5656453095800973},{x:.16826609518471405,y:.5643091772352096},{x:.16582839971196278,y:.5631560030691136},{x:.1644435861855132,y:.5621287897998347},{x:.16294590048199914,y:.5612744987855388},{x:.1609091582647261,y:.559507056844315},{x:.15874327554635076,y:.5579004698017108},{x:.08366227554635075,y:.4898404698017108},{x:.0822135909199537,y:.48824184486316324},{x:.08061175169940471,y:.4867967151276658},{x:.07925889408089541,y:.48498133393711457},{x:.07773859373239328,y:.48330368097737925},{x:.0766296214289207,y:.4814531488185024},{x:.0753404919252871,y:.4797232835162987},{x:.07436779238761855,y:.4776788549378484},{x:.07320399804016177,y:.47573684172476444},{x:.07247735524331753,y:.47370551725863386},{x:.07155047598047157,y:.4717573941431678},{x:.034570475980471575,y:.3691493941431678},{x:.03374586128764337,y:.36588916100716024},{x:.032769662381854636,y:.3626710644907258},{x:.032666195333495754,y:.36162054591923504},{x:.032407352052251925,y:.36059717166956007},{x:.03223462203187315,y:.35723870865311785},{x:.031905,y:.353892},{x:.031905,y:.285813}],[{x:.121905,y:.2937462257558374},{x:.121905,y:.3460304727958324},{x:.1524170009298456,y:.4306917867874386},{x:.21387346155335435,y:.48640130996954867},{x:.2736381428091649,y:.513105},{x:.36637802828147564,y:.513105},{x:.4250638403772601,y:.4864880590885319},{x:.48014799999999996,y:.4365549481293854},{x:.48014799999999996,y:.20413270643748072},{x:.4248733312055972,y:.15401438585682045},{x:.36611835928516706,y:.12658200000000003},{x:.27389496414813935,y:.12658200000000003},{x:.2140623112166411,y:.15410266134357853},{x:.15236330162501277,y:.21004602219345103},{x:.121905,y:.2937462257558374}]],r:[[{x:.062422000000000005,y:.03920400000000002},{x:.06328666238185464,y:.030424935509274227},{x:.0658474210369921,y:.02198324554357097},{x:.07000586744638546,y:.01420333951411792},{x:.07560219484660537,y:.00738419484660538},{x:.08242133951411793,y:.0017878674463854757},{x:.09020124554357097,y:-.002370578963007887},{x:.09864293550927423,y:-.004931337618145348},{x:.107422,y:-.005795999999999982},{x:.11620106449072577,y:-.004931337618145348},{x:.12464275445642904,y:-.002370578963007887},{x:.1324226604858821,y:.0017878674463854827},{x:.13924180515339463,y:.00738419484660538},{x:.14483813255361455,y:.01420333951411792},{x:.14899657896300791,y:.02198324554357098},{x:.15155733761814538,y:.030424935509274248},{x:.152422,y:.03920400000000002},{x:.152422,y:.3275398012121413},{x:.1925108808296549,y:.4204278633799401},{x:.27478075869941443,y:.4836647262821032},{x:.3576648607132649,y:.5150589999999999},{x:.49463,y:.5150589999999999},{x:.5034090644907258,y:.5159236623818546},{x:.511850754456429,y:.5184844210369921},{x:.5196306604858821,y:.5226428674463854},{x:.5264498051533947,y:.5282391948466053},{x:.5320461325536145,y:.5350583395141179},{x:.5362045789630079,y:.542838245543571},{x:.5387653376181454,y:.5512799355092742},{x:.53963,y:.560059},{x:.5387653376181454,y:.5688380644907257},{x:.5362045789630079,y:.577279754456429},{x:.5320461325536145,y:.5850596604858821},{x:.5264498051533947,y:.5918788051533946},{x:.5196306604858821,y:.5974751325536145},{x:.511850754456429,y:.6016335789630078},{x:.5034090644907258,y:.6041943376181453},{x:.49463,y:.605059},{x:.349428,y:.605059},{x:.34572095329292224,y:.6046938877675093},{x:.3420044651532413,y:.6044424555930356},{x:.34133700376168824,y:.6042621064259311},{x:.3406489355092742,y:.6041943376181453},{x:.33708434852821606,y:.6031130319790114},{x:.33348832364990477,y:.6021413801353276},{x:.23668632364990477,y:.5654753801353276},{x:.2347311434313091,y:.5645060813254815},{x:.23268939209293205,y:.5637356779621759},{x:.23078888495220712,y:.562551669954317},{x:.22878273496962892,y:.5615571024090896},{x:.2270542238076375,y:.5602249916656349},{x:.22520200238894322,y:.5590710654608507},{x:.152422,y:.5031286093364514},{x:.152422,y:.560059},{x:.15155733761814538,y:.5688380644907257},{x:.14899657896300791,y:.577279754456429},{x:.14483813255361455,y:.5850596604858821},{x:.13924180515339463,y:.5918788051533946},{x:.1324226604858821,y:.5974751325536145},{x:.12464275445642904,y:.6016335789630078},{x:.11620106449072577,y:.6041943376181453},{x:.107422,y:.605059},{x:.09864293550927423,y:.6041943376181453},{x:.09020124554357094,y:.6016335789630078},{x:.08242133951411793,y:.5974751325536145},{x:.07560219484660537,y:.5918788051533946},{x:.07000586744638546,y:.5850596604858821},{x:.0658474210369921,y:.577279754456429},{x:.06328666238185464,y:.5688380644907257},{x:.062422000000000005,y:.560059},{x:.062422000000000005,y:.03920400000000002}]],s:[[{x:.056563,y:.369888},{x:.056809270227573656,y:.3673875764180495},{x:.05684306423764694,y:.36487528163458033},{x:.05724057756471223,y:.36300843953465567},{x:.057427662381854636,y:.3611089355092742},{x:.05815700903783985,y:.3587046018033244},{x:.05868027810379197,y:.35624717294397146},{x:.05943435615016931,y:.3544937526945111},{x:.0599884210369921,y:.352667245543571},{x:.06117281573842168,y:.3504513989095756},{x:.06216545092350078,y:.34814327358726177},{x:.06324711489275962,y:.3465706581451233},{x:.06414686744638545,y:.3448873395141179},{x:.06574079456909979,y:.3429451336955602},{x:.0671646494598194,y:.3408750118720105},{x:.06853233161222538,y:.3395436359667022},{x:.06974319484660536,y:.33806819484660533},{x:.07168540066516299,y:.33647426772389105},{x:.07348575731657993,y:.3347217030198468},{x:.07508689839402109,y:.33368273068076537},{x:.07656233951411792,y:.33247186744638546},{x:.07877818614811302,y:.331287472744956},{x:.08088585786376518,y:.3299198152391437},{x:.15568385786376518,y:.29122381523914376},{x:.1574569269125657,y:.29051717359061785},{x:.15914024554357095,y:.2896174210369921},{x:.16154457924952065,y:.28888807438100694},{x:.16387856938737105,y:.2879578823843842},{x:.16575542835833412,y:.2876107272686775},{x:.16758193550927422,y:.2870566623818547},{x:.17008235909122482,y:.286810392154281},{x:.17255297371919248,y:.2863534124236203},{x:.17446149597461844,y:.28637908481714247},{x:.176361,y:.28619200000000006},{x:.288347309340128,y:.28619200000000006},{x:.3974525128623667,y:.21942256309828728},{x:.45549,y:.1602321160680505},{x:.45549,y:.13007078589845048},{x:.407404042616179,y:.10590438131127383},{x:.31753214348357883,y:.07103500000000003},{x:.21224543978224936,y:.07103500000000003},{x:.16354378174687056,y:.09622932957230687},{x:.14433666195924297,y:.15500005013212306},{x:.1407876006468136,y:.16307617408904287},{x:.13573115992893667,y:.17030473007440486},{x:.12936165598671553,y:.1764079287355125},{x:.12192386528459082,y:.18115122757053267},{x:.11370361794808405,y:.18435234426530817},{x:.10501681347236942,y:.18588826170046568},{x:.09619728088183255,y:.18569995543032455},{x:.08758394986787689,y:.1837946619592429},{x:.07950782591095708,y:.18024560064681355},{x:.07227926992559508,y:.1751891599289366},{x:.06617607126448745,y:.1688196559867155},{x:.06143277242946728,y:.16138186528459075},{x:.05823165573469179,y:.153161617948084},{x:.05669573829953427,y:.14447481347236937},{x:.0568840445696754,y:.1356552808818325},{x:.05878933804075704,y:.12704194986787684},{x:.08372233804075704,y:.050750949867876836},{x:.08542587043333498,y:.04687444913825993},{x:.08709879890390285,y:.042984643121031924},{x:.08719974017890864,y:.04283789110571456},{x:.0872713993531864,y:.04267482591095703},{x:.0896984666241539,y:.03920515373890898},{x:.0920981137517354,y:.03571646140762123},{x:.09222574536637099,y:.03559222185697407},{x:.09232784007106334,y:.035446269925595034},{x:.09538517138631239,y:.032516763866873036},{x:.0984193200775319,y:.02956325371133576},{x:.09856873722042347,y:.029466301081615798},{x:.09869734401328446,y:.029343071264487396},{x:.10226744784494098,y:.027066310594042624},{x:.10581949746716537,y:.024761484353185106},{x:.18061849746716538,y:-.013933515646814817},{x:.1823912439162618,y:-.014639995851387814},{x:.18407424554357094,y:-.01553957896300786},{x:.18647892276401756,y:-.016269029822976466},{x:.18881326125361947,y:-.017199317363260178},{x:.19068977232738848,y:-.017546377073194466},{x:.1925159355092742,y:-.018100337618145335},{x:.19501671633437545,y:-.018346643031098245},{x:.19748769126025723,y:-.018803648509519946},{x:.19939585369049342,y:-.018777950414796084},{x:.201295,y:-.018964999999999968},{x:.325956,y:-.018964999999999968},{x:.3298421413721484,y:-.018582248482612737},{x:.33373593654739714,y:-.01828737118339306},{x:.334227355251249,y:-.018150342613638803},{x:.3347350644907258,y:-.018100337618145335},{x:.33847186362931597,y:-.016966791992147238},{x:.34223331291484477,y:-.015917938922943478},{x:.44196531291484475,y:.022777061077056446},{x:.44388622686678575,y:.02374867869889352},{x:.4458951331158935,y:.02452214291663178},{x:.5206971331158935,y:.06211514291663188},{x:.5230429253028388,y:.06359852573319036},{x:.5254906604858821,y:.06490686744638552},{x:.526762463529903,y:.06595060923072474},{x:.5281530225051898,y:.06682994172267823},{x:.5301643473216751,y:.06874246310749585},{x:.5323098051533947,y:.07050319484660542},{x:.5333535469377338,y:.07177499789062616},{x:.5345458374532134,y:.07290871885358566},{x:.536145400814505,y:.07517688168239829},{x:.5379061325536145,y:.07732233951411796},{x:.538681702666837,y:.0787733291400739},{x:.5396299056666436,y:.08011787031323085},{x:.5407562372498129,y:.08265451036052812},{x:.5420645789630079,y:.08510224554357101},{x:.5425421726806072,y:.08667666103386074},{x:.5432098492552168,y:.08818035245395842},{x:.5438196647691762,y:.09088798806528645},{x:.5446253376181454,y:.09354393550927428},{x:.5447866012813922,y:.09518127295954937},{x:.5451480929944793,y:.09678632860859225},{x:.545217957571016,y:.09956090686586556},{x:.54549,y:.10232300000000005},{x:.54549,y:.17861300000000002},{x:.5450792542455133,y:.1827833716312913},{x:.5447095428008049,y:.18695758114513777},{x:.5446471218945653,y:.18717088502046353},{x:.5446253376181454,y:.1873920644907258},{x:.5434088850836819,y:.19140217107899518},{x:.5422319296624953,y:.19542404720269643},{x:.5421290946347417,y:.1956210747891699},{x:.5420645789630079,y:.19583375445642906},{x:.5400891672372728,y:.199529489854385},{x:.5381501975764,y:.20324447414399938},{x:.5380109003195782,y:.20341765378196683},{x:.5379061325536145,y:.20361366048588211},{x:.5352476756014034,y:.20685299965477524},{x:.5326212052175259,y:.21011832734743824},{x:.45781920521752584,y:.28640632734743826},{x:.45695946559173245,y:.28712616331644525},{x:.45621413415776596,y:.2879638966272176},{x:.45358375241990234,y:.28995255364350675},{x:.45105542866152953,y:.29206944848930627},{x:.4500717756605794,y:.29260772613156716},{x:.4491773318997613,y:.2932839556822147},{x:.3245133318997613,y:.3695749556822147},{x:.3213472249094816,y:.3711082739568931},{x:.3182447544564291,y:.37276657896300797},{x:.31738368821196916,y:.37302778055263114},{x:.3165738477898179,y:.3734199792757539},{x:.31316944110160955,y:.3743061584374605},{x:.3098030644907258,y:.3753273376181454},{x:.3089075854904768,y:.3754155346015568},{x:.3080367917497669,y:.3756422053074494},{x:.30452491480344407,y:.37584718998797495},{x:.301024,y:.376192},{x:.18731182116617404,y:.376192},{x:.146563,y:.397272996602132},{x:.146563,y:.42779681790574337},{x:.20153437253410483,y:.48386323770148376},{x:.2842918489876165,y:.5150589999999999},{x:.39008456648169626,y:.5150589999999999},{x:.4553477907191711,y:.4822576837794137},{x:.4635801440629335,y:.47908783003036465},{x:.47227272283422006,y:.4775849365970516},{x:.4810914761057044,y:.47780675883128426},{x:.48969750413477736,y:.47974477222900047},{x:.4977600820905977,y:.48332450002217653},{x:.5049693696238691,y:.488408375279255},{x:.5110483178577028,y:.4948010275251766},{x:.5157633162205862,y:.5022567907191711},{x:.5189331699696352,y:.5104891440629334},{x:.5204360634029483,y:.51918172283422},{x:.5202142411687157,y:.5280004761057044},{x:.5182762277709995,y:.5366065041347774},{x:.5146964999778234,y:.5446690820905977},{x:.509612624720745,y:.551878369623869},{x:.5032199724748234,y:.5579573178577029},{x:.49576420928082887,y:.5626723162205862},{x:.42096520928082887,y:.6002663162205862},{x:.41942927464851043,y:.6008577252562829},{x:.41797775445642904,y:.6016335789630078},{x:.4153223812886681,y:.6024390776071881},{x:.41273285593706643,y:.6034361699696352},{x:.41111105567880996,y:.6037165692645292},{x:.40953606449072577,y:.6041943376181453},{x:.40677456858393113,y:.6044663212253706},{x:.4040402771657799,y:.6049390634029483},{x:.4023949361559939,y:.6048976773693867},{x:.400757,y:.605059},{x:.276092,y:.605059},{x:.2724204350331364,y:.6046973824138966},{x:.26873912724910987,y:.6044542166602351},{x:.2680367190736708,y:.6042656240771296},{x:.2673129355092742,y:.6041943376181453},{x:.2637824667250502,y:.6031233816208718},{x:.26021933352302795,y:.6021667007079561},{x:.1604883335230279,y:.5645727007079561},{x:.15963695838633216,y:.5641523105976027},{x:.15873109713512196,y:.563867735718488},{x:.15568848233041307,y:.5622026409240001},{x:.1525785174681621,y:.5606670094317409},{x:.15182551530799093,y:.5600886019499048},{x:.15099257773152036,y:.559632770334096},{x:.14833326979676884,y:.5574060851671644},{x:.1455826488796249,y:.5552932363569977},{x:.14495695714670492,y:.554579039378831},{x:.14422895256892138,y:.5539694683796904},{x:.06943095256892137,y:.47768146837969044},{x:.06680494464711424,y:.4744165369262552},{x:.06414686744638545,y:.4711776604858821},{x:.0640418150384659,y:.470981121254323},{x:.0639021439692389,y:.47080746737336276},{x:.06196355058191934,y:.4670929619312254},{x:.0599884210369921,y:.46339775445642906},{x:.05992373008360734,y:.46318449696300446},{x:.05982062094636722,y:.462986931318802},{x:.05864394115023422,y:.4589655982489849},{x:.057427662381854636,y:.45495606449072584},{x:.05740581892006417,y:.454734284101312},{x:.05734323414113077,y:.4545203990307778},{x:.05697368708086039,y:.4503467759079653},{x:.056563,y:.44617700000000005},{x:.056563,y:.369888}]],t:[[{x:.036055000000000004,y:.484201},{x:.03691966238185464,y:.4754219355092742},{x:.0394804210369921,y:.466980245543571},{x:.04363886744638546,y:.4592003395141179},{x:.049235194846605365,y:.45238119484660533},{x:.05605433951411792,y:.44678486744638546},{x:.06383424554357096,y:.44262642103699207},{x:.07227593550927423,y:.4400656623818546},{x:.081055,y:.439201},{x:.201032,y:.439201},{x:.201032,y:.17345100000000002},{x:.2013458215844704,y:.17026471598156256},{x:.20148726326025637,y:.1670661406603643},{x:.20177732050748418,y:.165883633894134},{x:.20189666238185464,y:.16467193550927425},{x:.20282606714776777,y:.16160809859877695},{x:.20358880215081968,y:.15849857690755997},{x:.20410398165518515,y:.15739537903902878},{x:.2044574210369921,y:.15623024554357098},{x:.20596669248041014,y:.15340659727526443},{x:.20732140933230742,y:.15050562638878262},{x:.2623124093323074,y:.05773162638878261},{x:.2645408071528226,y:.05469603003381387},{x:.2666808493837164,y:.051597510818645845},{x:.2671477670132535,y:.051144744093296994},{x:.26753264280400524,y:.05062045370997057},{x:.2703104380556505,y:.04807792433615628},{x:.27301385108661325,y:.04545644382682572},{x:.2735601274310704,y:.04510346799784869},{x:.2740398919211364,y:.04466433724917905},{x:.27726033549019774,y:.04271258283448707},{x:.28042322867453984,y:.040668883056825214},{x:.28102787064035484,y:.04042926278737637},{x:.28158408674943697,y:.04009216722176761},{x:.28512341879560005,y:.038806192593798694},{x:.288624243922019,y:.03741881178414046},{x:.39861224392201905,y:.005893811784140432},{x:.4004470188387682,y:.005558110934368086},{x:.4022319355092743,y:.0050166623818546086},{x:.4047755505163489,y:.004766138170207483},{x:.4072897364122725,y:.0043061284251197166},{x:.4091547486303562,y:.0043348248023798485},{x:.411011,y:.004151999999999975},{x:.520997,y:.004151999999999975},{x:.5297760644907258,y:.0050166623818546086},{x:.538217754456429,y:.00757742103699207},{x:.5459976604858822,y:.011735867446385433},{x:.5528168051533947,y:.017332194846605337},{x:.5584131325536146,y:.02415133951411788},{x:.5625715789630079,y:.031931245543570935},{x:.5651323376181454,y:.040372935509274205},{x:.5659970000000001,y:.049151999999999973},{x:.5651323376181454,y:.05793106449072574},{x:.5625715789630079,y:.06637275445642901},{x:.5584131325536146,y:.07415266048588207},{x:.5528168051533947,y:.08097180515339461},{x:.5459976604858822,y:.08656813255361451},{x:.538217754456429,y:.09072657896300787},{x:.5297760644907258,y:.09328733761814534},{x:.520997,y:.09415199999999997},{x:.41733272532416527,y:.09415199999999997},{x:.33061421916568134,y:.11900744701827656},{x:.291032,y:.1857856616511605},{x:.291032,y:.439201},{x:.466004,y:.439201},{x:.47478306449072577,y:.4400656623818546},{x:.48322475445642904,y:.44262642103699207},{x:.4910046604858821,y:.44678486744638546},{x:.49782380515339464,y:.45238119484660533},{x:.5034201325536145,y:.4592003395141179},{x:.5075785789630078,y:.466980245543571},{x:.5101393376181453,y:.4754219355092742},{x:.511004,y:.484201},{x:.5101393376181453,y:.4929800644907258},{x:.5075785789630078,y:.501421754456429},{x:.5034201325536145,y:.5092016604858821},{x:.49782380515339464,y:.5160208051533947},{x:.4910046604858821,y:.5216171325536145},{x:.48322475445642904,y:.5257755789630079},{x:.47478306449072577,y:.5283363376181454},{x:.466004,y:.529201},{x:.291032,y:.529201},{x:.291032,y:.702148},{x:.2901673376181454,y:.7109270644907257},{x:.2876065789630079,y:.719368754456429},{x:.28344813255361456,y:.7271486604858821},{x:.27785180515339464,y:.7339678051533947},{x:.2710326604858821,y:.7395641325536145},{x:.26325275445642904,y:.7437225789630079},{x:.25481106449072577,y:.7462833376181454},{x:.246032,y:.747148},{x:.23725293550927423,y:.7462833376181454},{x:.22881124554357096,y:.7437225789630079},{x:.2210313395141179,y:.7395641325536145},{x:.21421219484660536,y:.7339678051533947},{x:.20861586744638547,y:.7271486604858821},{x:.2044574210369921,y:.719368754456429},{x:.20189666238185464,y:.7109270644907257},{x:.201032,y:.702148},{x:.201032,y:.529201},{x:.081055,y:.529201},{x:.07227593550927423,y:.5283363376181454},{x:.06383424554357094,y:.5257755789630079},{x:.05605433951411792,y:.5216171325536145},{x:.049235194846605365,y:.5160208051533947},{x:.04363886744638546,y:.5092016604858821},{x:.0394804210369921,y:.501421754456429},{x:.03691966238185464,y:.4929800644907258},{x:.036055000000000004,y:.484201}]],u:[[{x:.047041,y:.17386599999999997},{x:.04733731084809023,y:.17085750547164297},{x:.04744678100255899,y:.1678364368310572},{x:.0477687404511641,y:.16647712720137547},{x:.04790566238185463,y:.1650869355092742},{x:.048783207866406234,y:.16219405573845885},{x:.04947995583647738,y:.15925239265237093},{x:.08761895583647737,y:.04817539265237096},{x:.08938287590080696,y:.04431825367483454},{x:.09111755940033861,y:.04044787795123246},{x:.0912166047918106,y:.04030846472648272},{x:.0912877277290914,y:.04015294120864865},{x:.09377024504918263,y:.03671403980837168},{x:.09622666993792225,y:.03325645223155292},{x:.09635101037087945,y:.03313904059014135},{x:.09645110783403886,y:.03300038080982997},{x:.09955682066149267,y:.030111872039067004},{x:.10264058790854466,y:.027199945760571206},{x:.10278544504987946,y:.027109047766032002},{x:.10291067034954356,y:.026992580340839414},{x:.10652022788210418,y:.024765467971757132},{x:.11011283004156149,y:.02251110668543916},{x:.1858688300415615,y:-.015231893314560811},{x:.1873332068933575,y:-.0157898639141544},{x:.18871524554357097,y:-.01652857896300789},{x:.19144581156206075,y:-.017356887109087667},{x:.19411224226228255,y:-.018372875537717062},{x:.1956573361874375,y:-.018634439137126358},{x:.19715693550927424,y:-.019089337618145352},{x:.1999966293703256,y:-.019369023051625026},{x:.20281003486202434,y:-.01984529472354478},{x:.2043764687674932,y:-.01980039958033106},{x:.205936,y:-.019953999999999986},{x:.319832,y:-.019953999999999986},{x:.32132997950952447,y:-.01980646189590665},{x:.3228344649392302,y:-.019853723877644197},{x:.3257100002545037,y:-.019375067506000147},{x:.3286110644907258,y:-.019089337618145352},{x:.3300514774877758,y:-.018652393112465325},{x:.33153627500704863,y:-.018405236421526333},{x:.3342631764918695,y:-.017374788187221168},{x:.33705275445642907,y:-.01652857896300789},{x:.3383802466773209,y:-.015819019588053155},{x:.3397882963501792,y:-.015286942317463331},{x:.4160692963501792,y:.02245605768253664},{x:.4183042276197719,y:.02384992521458428},{x:.42064256487504254,y:.025062345668598177},{x:.4220380841989542,y:.02617863282445781},{x:.4235544084161923,y:.027124324140885128},{x:.42547446604244665,y:.028927422360218155},{x:.42753134130624215,y:.03057273346328787},{x:.465011,y:.06712410441560081},{x:.465011,y:.025046000000000013},{x:.4658756623818546,y:.016266935509274223},{x:.46843642103699207,y:.007825245543570968},{x:.47259486744638546,y:45339514117916785e-21},{x:.4781911948466053,y:-.006773805153394624},{x:.4850103395141179,y:-.012370132553614528},{x:.492790245543571,y:-.01652857896300789},{x:.5012319355092743,y:-.019089337618145352},{x:.510011,y:-.019953999999999986},{x:.5187900644907257,y:-.019089337618145352},{x:.527231754456429,y:-.01652857896300789},{x:.5350116604858821,y:-.012370132553614521},{x:.5418308051533947,y:-.006773805153394624},{x:.5474271325536145,y:45339514117916785e-21},{x:.5515855789630079,y:.007825245543570974},{x:.5541463376181454,y:.016266935509274244},{x:.555011,y:.025046000000000013},{x:.555011,y:.545898},{x:.5541463376181454,y:.5546770644907257},{x:.5515855789630079,y:.563118754456429},{x:.5474271325536145,y:.5708986604858821},{x:.5418308051533947,y:.5777178051533947},{x:.5350116604858821,y:.5833141325536145},{x:.527231754456429,y:.5874725789630079},{x:.5187900644907257,y:.5900333376181454},{x:.510011,y:.590898},{x:.5012319355092743,y:.5900333376181454},{x:.492790245543571,y:.5874725789630079},{x:.4850103395141179,y:.5833141325536145},{x:.4781911948466053,y:.5777178051533947},{x:.47259486744638546,y:.5708986604858821},{x:.46843642103699207,y:.563118754456429},{x:.4658756623818546,y:.5546770644907257},{x:.465011,y:.545898},{x:.465011,y:.19283699530520199},{x:.36978450462305706,y:.099969048308901},{x:.30930812362389754,y:.07004600000000001},{x:.2165251763155874,y:.07004600000000001},{x:.16675256431883717,y:.09484360935890679},{x:.137041,y:.18137632992954258},{x:.137041,y:.545898},{x:.13617633761814535,y:.5546770644907257},{x:.1336155789630079,y:.563118754456429},{x:.12945713255361452,y:.5708986604858821},{x:.12386080515339463,y:.5777178051533947},{x:.11704166048588208,y:.5833141325536145},{x:.10926175445642904,y:.5874725789630079},{x:.10082006449072577,y:.5900333376181454},{x:.092041,y:.590898},{x:.08326193550927423,y:.5900333376181454},{x:.07482024554357093,y:.5874725789630079},{x:.06704033951411792,y:.5833141325536145},{x:.06022119484660536,y:.5777178051533947},{x:.05462486744638546,y:.5708986604858821},{x:.050466421036992094,y:.563118754456429},{x:.04790566238185463,y:.5546770644907257},{x:.047041,y:.545898},{x:.047041,y:.17386599999999997}]],v:[[{x:.003930906419490336,y:.5438334563092145},{x:.005386967221411215,y:.5351329102741644},{x:.00851244255100142,y:.5268836061622384},{x:.26071044255100145,y:.018289606162238365},{x:.26144011887972296,y:.017121905714788027},{x:.2620056398700735,y:.01586646241095203},{x:.26377267234206975,y:.013389122267562115},{x:.26538522214413157,y:.010808560104194675},{x:.26632868500311185,y:.009805649483352854},{x:.267128264504625,y:.008684656842684199},{x:.2693446490294707,y:.006599649029470163},{x:.2714296568426842,y:.00438326450462502},{x:.27255064948335267,y:.0035836850031119977},{x:.2735535601041947,y:.0026402221441315446},{x:.27613412226756273,y:.0010276723420693272},{x:.278611462410952,y:-.0007393601299264599},{x:.2798669057147878,y:-.0013048811202769175},{x:.28103460616223835,y:-.0020345574489985807},{x:.28388017640738666,y:-.0031126798553442526},{x:.2866546460885495,y:-.00436245420755494},{x:.28799629407344673,y:-.00467218403223142},{x:.2892839102741644,y:-.005160032778588779},{x:.2922851349323858,y:-.00566229614975999},{x:.29525011283741587,y:-.006346784254711718},{x:.2966264067237199,y:-.006388820170250395},{x:.2979844563092145,y:-.006616093580509658},{x:.301026,y:-.00652319621682493},{x:.30406754369078554,y:-.006616093580509658},{x:.3054255932762801,y:-.006388820170250395},{x:.30680188716258416,y:-.006346784254711718},{x:.30976686506761425,y:-.005662296149759988},{x:.31276808972583564,y:-.005160032778588779},{x:.3140557059265533,y:-.00467218403223142},{x:.3153973539114505,y:-.00436245420755494},{x:.3181718235926135,y:-.0031126798553442175},{x:.3210173938377617,y:-.0020345574489985807},{x:.32218509428521225,y:-.0013048811202769192},{x:.323440537589048,y:-.0007393601299264599},{x:.32591787773243747,y:.0010276723420694187},{x:.32849843989580535,y:.0026402221441315446},{x:.32950135051664736,y:.0035836850031119635},{x:.3306223431573158,y:.00438326450462502},{x:.3327073509705293,y:.006599649029470129},{x:.334923735495375,y:.008684656842684203},{x:.33572331499688823,y:.009805649483352899},{x:.33666677785586846,y:.01080856010419469},{x:.3382793276579303,y:.013389122267562135},{x:.3400463601299265,y:.01586646241095204},{x:.34061188112027707,y:.017121905714788034},{x:.3413415574489986,y:.018289606162238365},{x:.5935395574489987,y:.5268836061622384},{x:.5966650327785888,y:.5351329102741644},{x:.5981210935805097,y:.5438334563092145},{x:.5978517842547117,y:.5526508871625841},{x:.595867454207555,y:.5612463539114505},{x:.5922443601299265,y:.569289537589048},{x:.587121735495375,y:.5764713431573159},{x:.5806964398958053,y:.5825157778558685},{x:.5732153938377617,y:.5871905574489986},{x:.5649660897258356,y:.5903160327785888},{x:.5562655436907855,y:.5917720935805096},{x:.5474481128374159,y:.5915027842547117},{x:.5388526460885495,y:.589518454207555},{x:.5308094624109521,y:.5858953601299265},{x:.5236276568426842,y:.580772735495375},{x:.5175832221441315,y:.5743474398958054},{x:.5129084425510014,y:.5668663938377616},{x:.301026,y:.13957458745236595},{x:.08914355744899859,y:.5668663938377616},{x:.08446877785586845,y:.5743474398958054},{x:.07842434315731579,y:.580772735495375},{x:.07124253758904797,y:.5858953601299265},{x:.06319935391145051,y:.589518454207555},{x:.054603887162584124,y:.5915027842547117},{x:.04578645630921451,y:.5917720935805096},{x:.037085910274164385,y:.5903160327785888},{x:.028836606162238352,y:.5871905574489986},{x:.02135556010419467,y:.5825157778558685},{x:.014930264504625007,y:.5764713431573159},{x:.009807639870073534,y:.569289537589048},{x:.006184545792445054,y:.5612463539114505},{x:.004200215745288276,y:.5526508871625841},{x:.003930906419490336,y:.5438334563092145}]],w:[[{x:-.04481226541001698,y:.5427688011711321},{x:-.0431501306438814,y:.534105261341125},{x:.1073618693561186,y:.025511261341124997},{x:.10747750697825527,y:.02522662926113043},{x:.10753949092041715,y:.02492572151525217},{x:.1091366577408943,y:.021142772088450095},{x:.11068223944402648,y:.01733845540642648},{x:.11085118408582124,y:.017081852232977028},{x:.1109706812129555,y:.01679881881229654},{x:.11327517574267339,y:.0134001494872997},{x:.11553324489331337,y:.009970459715744673},{x:.11574900410692728,y:.009751746564891355},{x:.11592142221145292,y:.009497464285038355},{x:.11884468401801046,y:.006613684018010047},{x:.12172846428503836,y:.0036904222114529234},{x:.12198274656489135,y:.0035180041069272803},{x:.12220145971574467,y:.0033022448933133844},{x:.1256311494872997,y:.001044175742673395},{x:.12902981881229655,y:-.0012603187870445023},{x:.12931285223297703,y:-.0013798159141787526},{x:.12956945540642648,y:-.0015487605559735135},{x:.1333737720884501,y:-.0030943422591057004},{x:.13715672151525218,y:-.004691509079582858},{x:.13745762926113045,y:-.004753493021744735},{x:.137742261341125,y:-.004869130643881392},{x:.14177500717701197,y:-.005642829061426576},{x:.14579686008065018,y:-.006471289947453558},{x:.1461040784358031,y:-.006473378696506754},{x:.14640580117113214,y:-.006531265410016966},{x:.150512,y:-.006503347745684165},{x:.15461819882886788,y:-.006531265410016966},{x:.15491992156419693,y:-.006473378696506754},{x:.15522713991934983,y:-.006471289947453558},{x:.159248992822988,y:-.005642829061426585},{x:.16328173865887502,y:-.004869130643881392},{x:.16356637073886957,y:-.004753493021744732},{x:.16386727848474786,y:-.004691509079582851},{x:.1676502279115502,y:-.0030943422591055763},{x:.17145454459357354,y:-.0015487605559735135},{x:.17171114776702298,y:-.0013798159141787517},{x:.17199418118770346,y:-.0012603187870445023},{x:.17539285051270065,y:.001044175742673613},{x:.17882254028425534,y:.0033022448933133844},{x:.17904125343510863,y:.0035180041069272374},{x:.17929553571496165,y:.0036904222114529095},{x:.18217931598198978,y:.006613684018010279},{x:.1851025777885471,y:.009497464285038375},{x:.18527499589307275,y:.009751746564891386},{x:.18549075510668664,y:.009970459715744683},{x:.1877488242573266,y:.013400149487299715},{x:.1900533187870445,y:.016798818812296553},{x:.19017281591417878,y:.01708185223297707},{x:.19034176055597352,y:.01733845540642648},{x:.19188734225910553,y:.02114277208844964},{x:.19348450907958287,y:.02492572151525217},{x:.19354649302174473,y:.02522662926113043},{x:.1936621306438814,y:.025511261341124997},{x:.30102443002882817,y:.38829842311817664},{x:.4083889386148475,y:.025511027311792445},{x:.40850451632069196,y:.025226547135196155},{x:.40856646677585007,y:.0249257992040805},{x:.410163689741502,y:.021142697708463984},{x:.41170935302882616,y:.01733823938560964},{x:.41187820927072055,y:.017081773507688556},{x:.41199764237598097,y:.016798890297984457},{x:.41430222163921304,y:.013400082779514221},{x:.4165603984391837,y:.009970270005002412},{x:.41677604416644776,y:.009751674265617277},{x:.4169483701745541,y:.009497526820430955},{x:.41987174204670485,y:.006613627545966159},{x:.42275565189129766,y:.0036902661012626486},{x:.42300979995956794,y:.0035179410120882958},{x:.4232283964786704,y:.003302296075210584},{x:.4266582174181369,y:.0010441316765615349},{x:.4300570332693414,y:-.001260435297455717},{x:.43033991691088264,y:-.001379867379883588},{x:.4305963833993421,y:-.0015487226944633017},{x:.43440084731088763,y:-.0030943722258508074},{x:.43818395458161874,y:-.004691581512785238},{x:.43848470273672896,y:-.004753530880516994},{x:.4387691833312223,y:-.0048691075577547704},{x:.44280208680029426,y:-.005642843777199688},{x:.4468241027997286,y:-.0064713155198797695},{x:.44713115788546864,y:-.006473401493455157},{x:.44743272015628793,y:-.006531257986460835},{x:.45153908096424766,y:-.006503346644966049},{x:.45564544187310013,y:-.00653124313893301},{x:.4559470039347234,y:-.006473385555557348},{x:.4562540590129192,y:-.0064712984717510205},{x:.4602760720167908,y:-.005642812186517322},{x:.4643089726882076,y:-.004869061385152536},{x:.46459345286480397,y:-.004753483679308031},{x:.46489420079591953,y:-.0046915332241499325},{x:.46867730229153426,y:-.003094310258498727},{x:.4724817606143904,y:-.0015486469711738574},{x:.4727382264923116,y:-.0013797907292793573},{x:.47302110970201555,y:-.0012603576240190345},{x:.4764199172204845,y:.0010442216392121837},{x:.47984972999499764,y:.0033023984391836667},{x:.4800683257343829,y:.003518044166447842},{x:.48032247317956905,y:.003690370174554085},{x:.483206372454032,y:.0066137420467029156},{x:.48612973389873737,y:.009497651891297622},{x:.4863020589879118,y:.009751799959568049},{x:.48651770392478944,y:.009970396478670394},{x:.4887758683234383,y:.01340021741813658},{x:.49108043529745576,y:.016799033269341422},{x:.49119986737988364,y:.017081916910882677},{x:.4913687226944633,y:.017338383399342037},{x:.4929143722258502,y:.021142847310886045},{x:.4945115815127853,y:.024925954581618698},{x:.4945735308805171,y:.025226702736729056},{x:.4946891075577548,y:.025511183331222268},{x:.6452021075577549,y:.5341051833312223},{x:.6468642579864609,y:.542768720156288},{x:.646804298471751,y:.5515900590129192},{x:.64502453322415,y:.5602302007959196},{x:.641593357624019,y:.5683571097020156},{x:.636642629825446,y:.5756584731795691},{x:.6303626035213297,y:.5818537039247894},{x:.622994616600658,y:.5867047226944633},{x:.6148218166687778,y:.5900251075577548},{x:.6061582798437121,y:.5916872579864608},{x:.5973369409870808,y:.591627298471751},{x:.5886967992040805,y:.58984753322415},{x:.5805698902979844,y:.5864163576240191},{x:.573268526820431,y:.5814656298254459},{x:.5670732960752106,y:.5751856035213296},{x:.5622222773055368,y:.567817616600658},{x:.5589018924422452,y:.5596448166687777},{x:.4515387133151436,y:.1968570925189096},{x:.34417406138515255,y:.5596449726882076},{x:.3440584683142858,y:.559929490683899},{x:.34399650907958285,y:.5602302784847478},{x:.3423992950207163,y:.5640133397974443},{x:.3408536469711739,y:.5678177606143904},{x:.3406847682813525,y:.5680742605871558},{x:.34056531878704455,y:.5683571811877035},{x:.33826075609875456,y:.5717559510329858},{x:.33600260156081635,y:.5751857299949976},{x:.33578692716538155,y:.5754043547947312},{x:.3356145777885471,y:.5756585357149616},{x:.33269122952253233,y:.5785424012737268},{x:.32980734810870244,y:.5814657338987373},{x:.3295531662537196,y:.581638081896991},{x:.3293345402842553,y:.5818537551066867},{x:.3259047490749403,y:.5841118910428063},{x:.32250596673065857,y:.5864164352974557},{x:.322223045482268,y:.5865358832573104},{x:.32196654459357354,y:.5867047605559735},{x:.318162115393689,y:.5882503879717952},{x:.31437904541838135,y:.5898475815127853},{x:.31407825728149374,y:.5899095391161314},{x:.313793738658875,y:.5900251306438814},{x:.30976087354902626,y:.5907988519446131},{x:.3057388972002714,y:.5916273155198798},{x:.3054318012943039,y:.5916294017707667},{x:.3051301988288679,y:.5916872654100169},{x:.30102387855356455,y:.5916593469199811},{x:.29691755812689985,y:.5916872431389331},{x:.2966159559752979,y:.5916293778639092},{x:.2963088600806502,y:.5916272899474536},{x:.29228688822522214,y:.5907988045585649},{x:.28825402731179245,y:.5900250613851525},{x:.2879695093161011,y:.5899094683142858},{x:.2876687215152522,y:.5898475090795828},{x:.2838856602025565,y:.5882502950207166},{x:.28008123938560964,y:.5867046469711739},{x:.27982473941284386,y:.5865357682813523},{x:.27954181881229656,y:.5864163187870445},{x:.276143048967013,y:.5841117560987538},{x:.2727132700050024,y:.5818536015608163},{x:.2724946452052691,y:.5816379271653819},{x:.27224046428503834,y:.5814655777885471},{x:.2693565987262721,y:.5785422295225312},{x:.2664332661012626,y:.5756583481087024},{x:.2662609181030087,y:.5754041662537193},{x:.2660452448933134,y:.5751855402842553},{x:.26378710895719626,y:.5717557490749442},{x:.2614825647025443,y:.5683569667306586},{x:.2613631167426894,y:.5680740454822678},{x:.2611942394440265,y:.5678175445935736},{x:.2596486120282045,y:.5640131153936881},{x:.2580514184872148,y:.5602300454183813},{x:.25798946088386876,y:.5599292572814941},{x:.2578738693561186,y:.559644738658875},{x:.150512,y:.196859029989096},{x:.0431501306438814,y:.559644738658875},{x:.039829760555973516,y:.5678175445935736},{x:.034978755106686646,y:.5751855402842553},{x:.028783535714961644,y:.5814655777885471},{x:.021482181187703456,y:.5864163187870445},{x:.01335527848474783,y:.5898475090795828},{x:.0047151399193498065,y:.5916272899474536},{x:-.004106198828867862,y:.5916872654100169},{x:-.01276973865887501,y:.5900251306438814},{x:-.020942544593573535,y:.5867047605559735},{x:-.028310540284255312,y:.5818537551066867},{x:-.034590577788547086,y:.5756585357149616},{x:-.03954131878704451,y:.5683571811877035},{x:-.04297250907958286,y:.5602302784847478},{x:-.04475228994745356,y:.5515901399193498},{x:-.04481226541001698,y:.5427688011711321}]],x:[[{x:-.007882248997940308,y:.03911618267902263},{x:-.007180671607209664,y:.030322582532795114},{x:-.0047770285451087455,y:.021834819906700376},{x:-.0007636904665355299,y:.013979074758467071},{x:.004705112296856322,y:.007057238968589209},{x:.011419216721809594,y:.001335314804661543},{x:.019120603540586492,y:-.0029668073965882433},{x:.02751331277672888,y:-.0056837994916240225},{x:.036274817320977384,y:-.006711248997940296},{x:.04506841746720488,y:-.006009671607209652},{x:.05355618009329963,y:-.003606028545108733},{x:.061411925241532925,y:.0004073095334644686},{x:.0683337610314108,y:.005876112296856327},{x:.3010265,y:.23008742701759316},{x:.5337192389685892,y:.005876112296856327},{x:.540641074758467,y:.0004073095334644686},{x:.5484968199067003,y:-.003606028545108733},{x:.556984582532795,y:-.006009671607209652},{x:.5657781826790226,y:-.006711248997940296},{x:.5745396872232711,y:-.0056837994916240225},{x:.5829323964594135,y:-.0029668073965882433},{x:.5906337832781904,y:.001335314804661536},{x:.5973478877031436,y:.007057238968589213},{x:.6028166904665355,y:.013979074758467089},{x:.6068300285451087,y:.021834819906700383},{x:.6092336716072096,y:.030322582532795128},{x:.6099352489979403,y:.03911618267902263},{x:.608907799491624,y:.047877687223271126},{x:.6061908073965883,y:.05627039645941352},{x:.6018886851953384,y:.0639717832781904},{x:.5961667610314108,y:.07068588770314368},{x:.36588095484811606,y:.292578},{x:.5961667610314108,y:.5144701122968564},{x:.6018886851953384,y:.5211842167218096},{x:.6061908073965883,y:.5288856035405864},{x:.608907799491624,y:.5372783127767289},{x:.6099352489979403,y:.5460398173209774},{x:.6092336716072096,y:.5548334174672048},{x:.6068300285451087,y:.5633211800932996},{x:.6028166904665355,y:.571176925241533},{x:.5973478877031436,y:.5780987610314108},{x:.5906337832781904,y:.5838206851953385},{x:.5829323964594135,y:.5881228073965883},{x:.5745396872232711,y:.590839799491624},{x:.5657781826790226,y:.5918672489979403},{x:.556984582532795,y:.5911656716072097},{x:.5484968199067003,y:.5887620285451087},{x:.540641074758467,y:.5847486904665355},{x:.5337192389685892,y:.5792798877031436},{x:.3010265,y:.35506857298240685},{x:.0683337610314108,y:.5792798877031436},{x:.06141192524153289,y:.5847486904665355},{x:.05355618009329961,y:.5887620285451087},{x:.0450684174672049,y:.5911656716072097},{x:.03627481732097735,y:.5918672489979403},{x:.02751331277672888,y:.590839799491624},{x:.01912060354058648,y:.5881228073965883},{x:.011419216721809584,y:.5838206851953385},{x:.004705112296856315,y:.5780987610314108},{x:-.0007636904665355368,y:.571176925241533},{x:-.004777028545108752,y:.5633211800932996},{x:-.007180671607209664,y:.5548334174672048},{x:-.007882248997940308,y:.5460398173209774},{x:-.006854799491624035,y:.5372783127767289},{x:-.004137807396588256,y:.5288856035405864},{x:.0001643148046615306,y:.5211842167218096},{x:.005886238968589197,y:.5144701122968564},{x:.23617204515188386,y:.292578},{x:.005886238968589197,y:.07068588770314368},{x:.00016431480466150977,y:.0639717832781904},{x:-.004137807396588256,y:.05627039645941351},{x:-.006854799491624035,y:.047877687223271126},{x:-.007882248997940308,y:.03911618267902263}]],y:[[{x:-7800000000000168e-20,y:-.15516599999999992},{x:.0007866623818546317,y:-.16394506449072568},{x:.003347421036992093,y:-.17238675445642895},{x:.007505867446385456,y:-.180166660485882},{x:.013102194846605353,y:-.18698580515339455},{x:.0199213395141179,y:-.19258213255361445},{x:.02770124554357093,y:-.1967405789630078},{x:.03614293550927421,y:-.19930133761814528},{x:.044922,y:-.2001659999999999},{x:.084618,y:-.2001659999999999},{x:.08470326921416556,y:-.20015760171543356},{x:.08478856964894584,y:-.200165676732115},{x:.08909199801123496,y:-.19972534965725622},{x:.09339706449072577,y:-.19930133761814528},{x:.0934790568568106,y:-.19927646550581232},{x:.09356429362525961,y:-.1992677440740231},{x:.09769912926743524,y:-.1979963205354665},{x:.10183875445642904,y:-.1967405789630078},{x:.1019143190537861,y:-.19670018884423682},{x:.10199621655469396,y:-.19667500612370953},{x:.18074721655469395,y:-.16370500612370958},{x:.18295470197399702,y:-.16251430076809983},{x:.18525522528778574,y:-.16151511930158513},{x:.18682754729843723,y:-.16042530954354395},{x:.18851130436774752,y:-.15951710034658062},{x:.19044407848245243,y:-.15791861501920362},{x:.19250546725178602,y:-.1564898227103016},{x:.27125546725178606,y:-.08958282271030155},{x:.27347158712358693,y:-.0872898341236823},{x:.27580944257935097,y:-.08512109812948883},{x:.27653091968085064,y:-.08412438503144627},{x:.2773860111192193,y:-.08323963374445845},{x:.2791122089873479,y:-.0805583607511536},{x:.2809820438025964,y:-.07797520343727593},{x:.35909504380259644,y:.055837796562724036},{x:.35921507445013207,y:.05609937330868571},{x:.35938084670619436,y:.05633463764830328},{x:.359814044874128,y:.05731131476590327},{x:.3603874218559792,y:.0582128676935936},{x:.5972854218559792,y:.5265638676935935},{x:.6004763520268956,y:.5347880745861305},{x:.6020015061983327,y:.5434767752438966},{x:.6018022735507984,y:.5522960677732933},{x:.5998863104832066,y:.5609070317083322},{x:.5963272463817603,y:.568978752534074},{x:.591261854083932,y:.5762010385458585},{x:.5848847937750224,y:.5822963413425576},{x:.5774411323064065,y:.5870304218559792},{x:.5692169254138695,y:.5902213520268956},{x:.5605282247561034,y:.5917465061983327},{x:.5517089322267067,y:.5915472735507984},{x:.5430979682916678,y:.5896313104832066},{x:.5350262474659261,y:.5860722463817603},{x:.5278039614541415,y:.5810068540839319},{x:.5217086586574424,y:.5746297937750224},{x:.5169745781440208,y:.5671861323064065},{x:.3203411783046204,y:.17843886787959407},{x:.12481771439881506,y:.5670983271806026},{x:.12009991274687032,y:.5745523168465348},{x:.11401856108654926,y:.5809426827476728},{x:.10680736235169674,y:.5860238467061943},{x:.09874343886560628,y:.5896005424407229},{x:.09013668268554793,y:.5915353195400148},{x:.08131784662479694,y:.5917538256051798},{x:.0726258336075076,y:.5902476635706729},{x:.06439467281939737,y:.5870747143988151},{x:.05694068315346515,y:.5823569127468703},{x:.05055031725232718,y:.5762755610865493},{x:.04546915329380567,y:.5690643623516968},{x:.041892457559277035,y:.5610004388656062},{x:.039957680459985136,y:.5523936826855479},{x:.039739174394820276,y:.5435748466247969},{x:.0412453364293271,y:.5348828336075077},{x:.04441828560118493,y:.5266516728193974},{x:.26905653043412125,y:.0801181620528446},{x:.20712852539925722,y:-.025968816269973185},{x:.1395520619925953,y:-.08338263769409424},{x:.07557825049874085,y:-.11016599999999992},{x:.044922,y:-.11016599999999992},{x:.03614293550927422,y:-.11103066238185455},{x:.02770124554357096,y:-.11359142103699202},{x:.01992133951411791,y:-.11774986744638538},{x:.01310219484660536,y:-.12334619484660528},{x:.007505867446385456,y:-.13016533951411782},{x:.003347421036992093,y:-.13794524554357088},{x:.0007866623818546317,y:-.14638693550927412},{x:-7800000000000168e-20,y:-.15516599999999992}]],z:[[{x:.051680000000000004,y:.038348999999999966},{x:.05192127447228559,y:.035899299172703986},{x:.05194879067317478,y:.033437899088824954},{x:.05235257576103353,y:.03152022369965088},{x:.05254466238185464,y:.029569935509274177},{x:.053259213756049764,y:.02721437531096308},{x:.05376639657582897,y:.024805638484003446},{x:.054536542955643516,y:.023003585252525667},{x:.0551054210369921,y:.02112824554357092},{x:.05626578950451143,y:.018957348831652537},{x:.05723314819184797,y:.01669384166703705},{x:.05834005957014514,y:.015076662488338128},{x:.05926386744638546,y:.01334833951411787},{x:.060825460697764414,y:.011445532631778232},{x:.062215820200804926,y:.009414240440453706},{x:.0636169585940798,y:.00804408260344652},{x:.06486019484660537,y:.0065291948466053296},{x:.06676300172894496,y:.004967601595226417},{x:.06852293131171022,y:.0032465857969436324},{x:.07016445175727676,y:.0021761036989109733},{x:.07167933951411792,y:.0009328674463854256},{x:.07385023622603624,y:-.00022750102113387976},{x:.07591210278164046,y:-.0015721027544036703},{x:.07773092256935071,y:-.0023017710867676167},{x:.07945924554357096,y:-.003225578963007937},{x:.08181480574188199,y:-.003940130337203038},{x:.08409937289490133,y:-.004856645714911602},{x:.08602559580031956,y:-.00521745953679684},{x:.08790093550927423,y:-.0057863376181453985},{x:.09035063633657014,y:-.00602761209043098},{x:.09277010945251417,y:-.006480819940600742},{x:.09472971180962335,y:-.006458913379178931},{x:.09668,y:-.006651000000000032},{x:.505373,y:-.006651000000000032},{x:.5141520644907257,y:-.0057863376181453985},{x:.522593754456429,y:-.003225578963007937},{x:.5303736604858821,y:.0009328674463854256},{x:.5371928051533946,y:.0065291948466053296},{x:.5427891325536145,y:.013348339514117874},{x:.5469475789630078,y:.021128245543570928},{x:.5495083376181453,y:.029569935509274198},{x:.550373,y:.038348999999999966},{x:.5495083376181453,y:.047128064490725735},{x:.5469475789630078,y:.055569754456429005},{x:.5427891325536145,y:.06334966048588206},{x:.5371928051533946,y:.0701688051533946},{x:.5303736604858821,y:.0757651325536145},{x:.522593754456429,y:.07992357896300786},{x:.5141520644907257,y:.08248433761814533},{x:.505373,y:.08334899999999996},{x:.190464663126857,y:.08334899999999996},{x:.5404754142030563,y:.5196949313117102},{x:.5415458963010891,y:.5213364517572769},{x:.5427891325536145,y:.5228513395141179},{x:.5439495010211337,y:.525022236226036},{x:.5452941027544036,y:.5270841027816404},{x:.5460237710867677,y:.5289029225693511},{x:.5469475789630078,y:.530631245543571},{x:.5476621303372028,y:.5329868057418816},{x:.5485786457149116,y:.5352713728949013},{x:.5489394595367969,y:.53719759580032},{x:.5495083376181453,y:.5390729355092743},{x:.5497496120904308,y:.5415226363365697},{x:.5502028199406007,y:.5439421094525142},{x:.5501809133791788,y:.5459017118096235},{x:.550373,y:.547852},{x:.5501317255277144,y:.5503017008272966},{x:.5501042093268251,y:.552763100911175},{x:.5497004242389665,y:.5546807763003486},{x:.5495083376181453,y:.5566310644907257},{x:.5487937862439503,y:.5589866246890365},{x:.548286603424171,y:.5613953615159966},{x:.5475164570443563,y:.5631974147474748},{x:.5469475789630078,y:.565072754456429},{x:.5457872104954887,y:.567243651168347},{x:.544819851808152,y:.569507158332963},{x:.5437129404298549,y:.5711243375116617},{x:.5427891325536145,y:.5728526604858821},{x:.5412275393022352,y:.5747554673682221},{x:.539837179799195,y:.5767867595595463},{x:.5384360414059206,y:.578156917396553},{x:.5371928051533946,y:.5796718051533947},{x:.5352899982710546,y:.5812333984047738},{x:.5335300686882897,y:.5829544142030564},{x:.5318885482427235,y:.5840248963010888},{x:.5303736604858821,y:.5852681325536145},{x:.5282027637739638,y:.5864285010211338},{x:.5261408972183595,y:.5877731027544036},{x:.5243220774306487,y:.5885027710867679},{x:.522593754456429,y:.5894265789630079},{x:.5202381942581186,y:.5901411303372028},{x:.5179536271050986,y:.5910576457149116},{x:.5160274041996802,y:.5914184595367968},{x:.5141520644907257,y:.5919873376181454},{x:.5117023636634302,y:.5922286120904309},{x:.5092828905474858,y:.5926818199406008},{x:.5073232881903766,y:.5926599133791789},{x:.505373,y:.592852},{x:.09668,y:.592852},{x:.08790093550927423,y:.5919873376181454},{x:.07945924554357094,y:.5894265789630079},{x:.07167933951411792,y:.5852681325536145},{x:.06486019484660537,y:.5796718051533947},{x:.05926386744638546,y:.5728526604858821},{x:.0551054210369921,y:.565072754456429},{x:.05254466238185464,y:.5566310644907257},{x:.051680000000000004,y:.547852},{x:.05254466238185464,y:.5390729355092743},{x:.0551054210369921,y:.530631245543571},{x:.05926386744638546,y:.5228513395141179},{x:.06486019484660537,y:.5160321948466053},{x:.07167933951411792,y:.5104358674463855},{x:.07945924554357096,y:.5062774210369921},{x:.08790093550927423,y:.5037166623818546},{x:.09668,y:.502852},{x:.41158833687314295,y:.502852},{x:.06157758579694366,y:.06650606868828973},{x:.06050710369891106,y:.06486454824272328},{x:.05926386744638546,y:.06334966048588206},{x:.05810349897886612,y:.06117876377396365},{x:.05675889724559635,y:.059116897218359485},{x:.05602922891323242,y:.05729807743064926},{x:.0551054210369921,y:.055569754456429005},{x:.054390869662797,y:.05321419425811798},{x:.053474354285088434,y:.050929627105098636},{x:.0531135404632032,y:.04900340419968042},{x:.05254466238185464,y:.047128064490725735},{x:.05230338790956906,y:.04467836366342984},{x:.051850180059399294,y:.04225889054748581},{x:.05187208662082111,y:.04029928819037662},{x:.051680000000000004,y:.038348999999999966}]]},b5=O4;function Z0(y){return!y||typeof y!="object"?!1:"route_type"in y&&y.route_type==="wire"&&("start_width"in y||"end_width"in y||"width_interpolation_mode"in y)}function C4(y){let x=[];for(let e=0;e<y.length-1;e++){let r=y[e];if(!Z0(r))continue;let o=y[e+1];if(!o)continue;let a=o.route_type==="through_pad"?o.start:{x:o.x,y:o.y},c=o.route_type==="via"?o.from_layer:o.route_type==="through_pad"?o.start_layer:o.layer;if(!a||c!==r.layer||r.width!==r.start_width)continue;let p={start:{x:r.x,y:r.y},end:a,start_width:r.start_width,end_width:r.end_width,width_interpolation_mode:r.width_interpolation_mode,layer:r.layer,is_inside_copper_pour:!!(r.is_inside_copper_pour&&o.is_inside_copper_pour)};A5(p)&&x.push(p)}return x}function G4(y){let{start:x,end:e,start_width:r,end_width:o}=y,a=e.x-x.x,c=e.y-x.y,p=Math.hypot(a,c);if(!A5(y))return[];let L=Math.abs(o-r),M=y.width_interpolation_mode==="linear"?1:Math.max(1,Math.ceil(Math.sqrt(L/(.001+L*1e-6)*(3/8)))),A=-c/p,R=a/p,O=[],S=[];for(let b=0;b<=M;b++){let _=b/M,k=r<=o?_:1-_,C=(y.width_interpolation_mode==="quadratic"?Math.min(r,o)+L*k*k:r+(o-r)*_)/2,v=x.x+a*_,E=x.y+c*_;O.push({x:v+A*C,y:E+R*C}),S.push({x:v-A*C,y:E-R*C})}return[...O,...S.reverse()]}function A5(y){let{start:x,end:e,start_width:r,end_width:o}=y,a=Math.hypot(e.x-x.x,e.y-x.y);return!(![x.x,x.y,e.x,e.y,a,r,o].every(Number.isFinite)||a<=0||r<=0||o<=0||y.width_interpolation_mode!=="linear"&&y.width_interpolation_mode!=="quadratic")}var B4=.0025,M5=12,U4=96;function F4(y){if(!(y>0))return M5;let x=Math.acos(Math.max(-1,1-B4/y)),e=Math.ceil(Math.PI/x);return Math.max(M5,Math.min(U4,e))}var j0=class{constructor(y=[1,1,1,1],x=0,e=0){U(this,"color");U(this,"element");U(this,"category");U(this,"vertices",[]);U(this,"indices",[]);this.color=y,this.element=x,this.category=e}polygon(y){if(!y[0]||y[0].length<3)return;let x=[],e=[];for(let[a,c]of y.entries()){a&&e.push(x.length/2);for(let p of c){if(!Number.isFinite(p.x)||!Number.isFinite(p.y))throw new Error("Non-finite polygon vertex");x.push(p.x,p.y)}}let r=V0(x,e,2),o=this.vertices.length/8;for(let a=0;a<x.length;a+=2)this.vertices.push(x[a],x[a+1],...this.color,this.element,this.category);for(let a of r)this.indices.push(o+a)}line(y,x,e){if(!(e>0))return;let r=E5(y,x,e);this.polygon([r])}path(y,x,e=!1){for(let r=1;r<y.length;r++)this.line(y[r-1],y[r],x);e&&y.length>2&&this.line(y.at(-1),y[0],x)}fabricationPath(y,x,e){if(y.length<2)return;let r=[];if(e&&y.length>=3&&r.push([y.map(a=>[a.x,a.y])]),x>0){let a=e?[...y,y[0]]:y;for(let c=1;c<a.length;c++)r.push([E5(a[c-1],a[c],x).map(p=>[p.x,p.y])])}if(!r.length)return;let o=r.map(a=>a.map(c=>c.map(([p,L])=>[Math.round(p*1e9)/1e9,Math.round(L*1e9)/1e9])));for(let a of T5.default.union(o[0],...o.slice(1)))this.polygon(a.map(c=>c.map(([p,L])=>({x:p,y:L}))))}build(){return{vertices:new Float32Array(this.vertices),indices:new Uint32Array(this.indices)}}};function E5(y,x,e){let r=Math.atan2(x.y-y.y,x.x-y.x),o=e/2,a=[];for(let c=0;c<=12;c++){let p=r+Math.PI/2+c*Math.PI/12;a.push({x:y.x+o*Math.cos(p),y:y.y+o*Math.sin(p)})}for(let c=0;c<=12;c++){let p=r-Math.PI/2+c*Math.PI/12;a.push({x:x.x+o*Math.cos(p),y:x.y+o*Math.sin(p)})}return a}function A0(y,x,e=0){let r=e*Math.PI/180,o=y.x-x.x,a=y.y-x.y;return{x:x.x+o*Math.cos(r)-a*Math.sin(r),y:x.y+o*Math.sin(r)+a*Math.cos(r)}}function H0(y,x,e=x,r=0){return x>0&&e>0?Array.from({length:96},(o,a)=>{let c=a*2*Math.PI/96;return A0({x:y.x+Math.cos(c)*x/2,y:y.y+Math.sin(c)*e/2},y,r)}):[]}function W4({center:y,diameterMm:x}){if(!(x>0))return[];let e=x/2,r=F4(e);return Array.from({length:r},(o,a)=>{let c=a*2*Math.PI/r;return{x:y.x+Math.cos(c)*e,y:y.y+Math.sin(c)*e}})}function q0(y,x,e,r=0,o=0){if(!(x>0&&e>0))return[];r=Math.max(0,Math.min(r,x/2,e/2));let a=[];for(let c=0;c<4;c++){let p=c===0||c===3?1:-1,L=c<2?1:-1,M=r?24:1;for(let A=0;A<M;A++){let R=(c+A/(M-1||1))*Math.PI/2;a.push(A0({x:y.x+p*(x/2-r)+r*Math.cos(R),y:y.y+L*(e/2-r)+r*Math.sin(R)},y,o))}}return a}function z4(y){let x=[];for(let e=0;e<y.length;e++){let r=y[e],o=y[(e+1)%y.length];x.push({x:r.x,y:r.y});let a=r.bulge??0,c=o.x-r.x,p=o.y-r.y;if(!a||!c&&!p)continue;let L=4*Math.atan(a),M={x:(r.x+o.x)/2-p*(1-a*a)/(4*a),y:(r.y+o.y)/2+c*(1-a*a)/(4*a)},A=Math.atan2(r.y-M.y,r.x-M.x),R=Math.hypot(r.x-M.x,r.y-M.y),O=Math.max(2,Math.ceil(Math.abs(L)/(Math.PI/48)));for(let S=1;S<O;S++)x.push({x:M.x+R*Math.cos(A+L*S/O),y:M.y+R*Math.sin(A+L*S/O)})}return x}function S5(y,x,e){let r=[];for(let o=0;o<y.length;o++){let a=y[o],c=y[(o+1)%y.length],p=a.x+a.y-x,L=c.x+c.y-x,M=e?p>=0:p<=0,A=e?L>=0:L<=0;if(M&&r.push(a),M!==A){let R=p/(p-L);r.push({x:a.x+R*(c.x-a.x),y:a.y+R*(c.y-a.y)})}}return r}function $4(y,x){let e=y.color,r=[e[0]+(1-e[0])*.4,e[1]+(1-e[1])*.4,e[2]+(1-e[2])*.4,e[3]];y.color=[r[0],r[1],r[2],r[3]*.2],y.polygon(x),y.color=r;let o=new j0;o.polygon(x);let a=.15*Math.SQRT2/2;for(let c=0;c<o.indices.length;c+=3){let p=o.indices.slice(c,c+3).map(R=>({x:o.vertices[R*8],y:o.vertices[R*8+1]})),L=p.map(R=>R.x+R.y),M=Math.ceil(Math.min(...L)-a),A=Math.floor(Math.max(...L)+a);for(let R=M;R<=A;R++)y.polygon([S5(S5(p,R-a,!0),R+a,!1)])}y.color=e}var V=(y,x,e)=>[y/255,x/255,e/255,1],Y4={board:V(70,72,72),top:V(200,52,52),bottom:V(77,127,196),inner1:V(127,200,127),inner2:V(206,125,44),inner3:V(79,203,203),inner4:V(219,98,139),inner5:V(167,165,198),inner6:V(40,204,217),inner7:V(232,178,167),inner8:V(242,237,161),drill:V(255,38,226),top_silkscreen:V(242,237,161),bottom_silkscreen:V(242,237,161),soldermask_top:V(12,55,33),soldermask_bottom:V(12,55,33),top_fabrication:[1,1,1,.5],bottom_fabrication:[1,1,1,.5],top_notes:V(89,148,220),bottom_notes:V(89,148,220),top_courtyard:V(255,0,245),bottom_courtyard:V(38,233,255),edge_cuts:V(208,210,205)},Q0=y=>y.replace(/_copper$/,"");function U0(y){let x=y.match(/^#([0-9a-f]{3,8})$/i)?.[1];if(x){let r=x.length<=4?[...x].map(o=>o+o).join(""):x;if(r.length!==6&&r.length!==8)throw new Error(`Unsupported color: ${y}`);return[parseInt(r.slice(0,2),16)/255,parseInt(r.slice(2,4),16)/255,parseInt(r.slice(4,6),16)/255,r.length===8?parseInt(r.slice(6),16)/255:1]}let e=y.match(/^rgba?\\(([^)]+)\\)$/);if(e){let r=e[1].split(",").map(o=>Number(o.trim()));if((r.length===3||r.length===4)&&r.every(Number.isFinite))return[r[0]/255,r[1]/255,r[2]/255,r[3]??1]}throw new Error(`Unsupported color: ${y}`)}function V4(y,x){let e=!1;for(let r=0,o=y.length-1;r<y.length;o=r++){let a=y[r],c=y[o];a.y>x.y!=c.y>x.y&&x.x<(c.x-a.x)*(x.y-a.y)/(c.y-a.y)+a.x&&(e=!e)}return e}function P5(y,x){let e=x.filter(r=>r.length>=3).map(r=>({ring:r,parents:[]}));for(let[r,o]of e.entries())o.parents=e.flatMap((a,c)=>r!==c&&V4(a.ring,o.ring[0])?[c]:[]);for(let[r,o]of e.entries())if(o.parents.length%2===0){let a=e.filter(c=>c.parents.length===o.parents.length+1&&c.parents.includes(r));y.polygon([o.ring,...a.map(c=>c.ring)])}}var X4=y=>v5[y]??(y===" "?a0.spaceWidthRatio:a0.glyphWidthRatio);function N5(y,x,e){let r=X4(y),o=x?a0.letterSpacingRatio:0,a=x?w5[y]?.[x]??0:0;return e*(r+o+a)}function D4(y,x){let e=x*a0.glyphWidthRatio,r=x*a0.letterSpacingRatio,o=x*a0.spaceWidthRatio,a=x*a0.strokeWidthRatio,c=x*a0.lineHeightRatio,p=y.replace(/\\\\n/g,`\n`).split(`\n`),L=p.map(R=>{let O=Array.from(R);return O.reduce((S,b,_)=>S+N5(b,O[_+1],x),0)}),M=L.reduce((R,O)=>Math.max(R,O),0),A=p.length>1?x+(p.length-1)*c:x;return{width:M,height:A,glyphWidth:e,letterSpacing:r,spaceWidth:o,strokeWidth:a,lineHeight:c,lines:p,lineWidths:L}}function Z4(y){let{line:x,fontSize:e,startX:r,startY:o}=y,a=e,c=e,p=Array.from(x),L=[],M=r+y.layout.strokeWidth/2;return p.forEach((A,R)=>{let O=b5[A];if(O?.length){let S=[];for(let b of O){let _=b.map(k=>({x:M+k.x*c,y:o+(1-k.y)*a}));_.length>=3&&S.push(_)}S.length>0&&L.push(S)}M+=N5(A,p[R+1],e)}),L}function j4(y){let x=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let a of y)for(let c of a)x=Math.min(x,c.x),e=Math.min(e,c.y),r=Math.max(r,c.x),o=Math.max(o,c.y);return x===Number.POSITIVE_INFINITY||e===Number.POSITIVE_INFINITY||r===Number.NEGATIVE_INFINITY||o===Number.NEGATIVE_INFINITY?null:{minX:x,minY:e,maxX:r,maxY:o}}function H4(y,x,e){let r=Q4(y,x),o=J4(r,x,e),a=j4(o.flat()),c=K4(y,x,a);return{bounds:a?e3(a,c):null,glyphGroups:t3(o,c),linePlacements:r.map(({line:p,startX:L,startY:M})=>({line:p,startX:L+c.x,startY:M+c.y})),startOffset:c}}function q4(y,x){let e=x.width+x.strokeWidth,r=x.height+x.strokeWidth,o=0,a=0;return y==="center"||y==="top_center"||y==="bottom_center"?o=-e/2:y==="top_left"||y==="bottom_left"||y==="center_left"?o=0:y==="top_right"||y==="bottom_right"||y==="center_right"?o=-e:(y==="top_center"||y==="bottom_center")&&(o=-e/2),y==="center"||y==="center_left"||y==="center_right"?a=-r/2:y==="top_left"||y==="top_right"||y==="top_center"?a=0:(y==="bottom_left"||y==="bottom_right"||y==="bottom_center")&&(a=-r),{x:o,y:a}}function Q4(y,x){return x.lines.map((e,r)=>({line:e,startX:n3({alignment:y,lineWidth:x.lineWidths[r],maxWidth:x.width,strokeWidth:x.strokeWidth}),startY:r*x.lineHeight}))}function J4(y,x,e){return y.flatMap(({line:r,startX:o,startY:a})=>Z4({line:r,fontSize:e,startX:o,startY:a,layout:x}))}function K4(y,x,e){return e?{x:-y3(y,e),y:-x3(y,e)}:q4(y,x)}function y3(y,x){return y==="top_left"||y==="bottom_left"||y==="center_left"?x.minX:y==="top_right"||y==="bottom_right"||y==="center_right"?x.maxX:(x.minX+x.maxX)/2}function x3(y,x){return y==="top_left"||y==="top_right"||y==="top_center"?x.minY:y==="bottom_left"||y==="bottom_right"||y==="bottom_center"?x.maxY:(x.minY+x.maxY)/2}function t3(y,x){return x.x===0&&x.y===0?y:y.map(e=>e.map(r=>r.map(o=>({x:o.x+x.x,y:o.y+x.y}))))}function e3(y,x){return{minX:y.minX+x.x,minY:y.minY+x.y,maxX:y.maxX+x.x,maxY:y.maxY+x.y}}function n3(y){let{alignment:x,lineWidth:e,maxWidth:r,strokeWidth:o}=y,a=e+o,c=r+o;return x==="top_left"||x==="bottom_left"||x==="center_left"?0:x==="top_right"||x==="bottom_right"||x==="center_right"?c-a:(c-a)/2}function J0(y,x,e="up"){let r=String(x.text??"");if(!r)return;let o=x.anchor_position??x.center??{x:x.x??0,y:x.y??0},a=x.font_size??1,c=D4(r,a),p=H4(x.anchor_alignment??"center",c,a),L=x.type==="pcb_note_text",M=x.type==="pcb_fabrication_note_text",A=M?!1:L?x.is_mirrored_from_top_view??x.layer==="bottom":x.type==="pcb_silkscreen_text"?x.layer==="bottom":x.is_mirrored??x.layer==="bottom",R=L||M?0:x.ccw_rotation??0,O=e==="up"?-1:1,S=b=>A0({x:o.x+(A?-b.x:b.x),y:o.y+O*b.y},o,-O*R);if(x.is_knockout&&!L&&!M){let b=p.bounds;if(!b)return;let _={left:.2,right:.2,top:.2,bottom:.2,...x.knockout_padding},k=[{x:b.minX-_.left,y:b.minY-_.top},{x:b.maxX+_.right,y:b.minY-_.top},{x:b.maxX+_.right,y:b.maxY+_.bottom},{x:b.minX-_.left,y:b.maxY+_.bottom}];P5(y,[k.map(S),...p.glyphGroups.flatMap(T=>T.map(C=>C.map(S)))]);return}for(let b of p.glyphGroups)P5(y,b.map(_=>_.map(S)))}function r3(y,x){return{x:(y.x+x.x)/2,y:(y.y+x.y)/2}}function _0(y,x){return Array.isArray(x)?[y.a*x[0]+y.c*x[1]+y.e,y.b*x[0]+y.d*x[1]+y.f]:{x:y.a*x.x+y.c*x.y+y.e,y:y.b*x.x+y.d*x.y+y.f}}function k0(y){return typeof y>"u"}function T0(y,x=0){return{a:1,c:0,e:y,b:0,d:1,f:x}}function K0(...y){y=Array.isArray(y[0])?y[0]:y;let x=(e,r)=>({a:e.a*r.a+e.c*r.b,c:e.a*r.c+e.c*r.d,e:e.a*r.e+e.c*r.f+e.e,b:e.b*r.a+e.d*r.b,d:e.b*r.c+e.d*r.d,f:e.b*r.e+e.d*r.f+e.f});switch(y.length){case 0:throw new Error("no matrices provided");case 1:return y[0];case 2:return x(y[0],y[1]);default:{let[e,r,...o]=y,a=x(e,r);return K0(a,...o)}}}var{cos:i3,sin:o3,PI:s3}=Math;function l3(y,x,e){let r=i3(y),o=o3(y),a={a:r,c:-o,e:0,b:o,d:r,f:0};return k0(x)||k0(e)?a:K0([T0(x,e),a,T0(-x,-e)])}function O5(y,x=void 0,e=void 0){return l3(y*s3/180,x,e)}function C5(y,x=void 0,e=void 0,r=void 0){k0(x)&&(x=y);let o={a:y,c:0,e:0,b:0,d:x,f:0};return k0(e)||k0(r)?o:K0([T0(e,r),o,T0(-e,-r)])}var{tan:O3}=Math,a3=1.5,c3=.6,u3=.3;function f3({pcbDimension:y}){let x=R5({x:y.to.x-y.from.x,y:y.to.y-y.from.y}),e=_0(O5(90),x),r=R5(y.offset_direction??{x:0,y:0}),o=y.offset_distance??0,a=f0(r,o),c=e0(y.from,a),p=e0(y.to,a),L=y.arrow_size??1,M=e0(c,f0(x,L)),A=e0(p,f0(x,-L)),R=f0(e,L/2),O=f0(e,-L/2),S=g3(r)?r:e,b=f0(S,o+L),_=e0(r3(y.from,y.to),a),k=y.font_size??1,T=L*a3+p3({fontSize:k,text:y.text??"",textCcwRotationDegrees:y.text_ccw_rotation});return{arrowPolygons:[[c,e0(M,R),e0(M,O)],[p,e0(A,R),e0(A,O)]],dimensionLine:{start:M,end:A,width:L/5},extensionLines:[{start:y.from,end:e0(y.from,b)},{start:y.to,end:e0(y.to,b)}],label:y.text?{anchorPosition:e0(_,f0(e,T)),ccwRotationDegrees:h3({dimensionDirection:x,requestedCcwRotationDegrees:y.text_ccw_rotation}),fontSize:k,text:y.text}:void 0}}function h3({dimensionDirection:y,requestedCcwRotationDegrees:x}){let e=Math.atan2(y.y,y.x)*180/Math.PI;return(e>90||e<-90)&&(e+=180),e+(x??0)}function p3({fontSize:y,text:x,textCcwRotationDegrees:e}){if(e===void 0||!Number.isFinite(e))return 0;let r=x.length*y*c3/2,o=y/2,a=O5(e),c=_0(a,{x:r,y:0}),p=_0(a,{x:0,y:o});return Math.abs(c.y)+Math.abs(p.y)+y*u3}function R5(y){let x=Math.hypot(y.x,y.y)||1;return _0(C5(1/x),y)}function f0(y,x){return _0(C5(x),y)}function e0(y,x){return _0(T0(x.x,x.y),y)}function g3(y){return Math.abs(y.x)>Number.EPSILON||Math.abs(y.y)>Number.EPSILON}function L3({mesh:y,pcbDimension:x,textYAxis:e}){x.color&&(y.color=U0(x.color));let{arrowPolygons:r,dimensionLine:o,extensionLines:a,label:c}=f3({pcbDimension:x});for(let p of r)y.polygon([p]);y.line(o.start,o.end,o.width);for(let p of a)y.line(p.start,p.end,o.width);c&&J0(y,{anchor_alignment:"center",anchor_position:c.anchorPosition,ccw_rotation:c.ccwRotationDegrees,font_size:c.fontSize,text:c.text,type:"pcb_dimension_text"},e)}function d3(y,x=0){return y[`${y.type}_id`]??`${y.type}:${x}`}function m0(y){return y.center??y.anchor_position??{x:y.x??0,y:y.y??0}}function J(y,x=!1){if(y.brep_shape)return[y.brep_shape.outer_ring,...y.brep_shape.inner_rings??[]].map(L=>z4(L.vertices));if(y.outline?.length)return[y.outline];if(y.shape==="hole_with_polygon_pad"&&!x){let L=m0(y);return[y.pad_outline.map(M=>A0({x:L.x+M.x,y:L.y+M.y},L,y.ccw_rotation))]}if(y.shape==="rotated_pill_hole_with_rect_pad"){let L=m0(y),M=x?{x:L.x+(y.hole_offset_x??0),y:L.y+(y.hole_offset_y??0)}:L,A=x?y.hole_width:y.rect_pad_width,R=x?y.hole_height:y.rect_pad_height;return[q0(M,A,R,x?Math.min(A,R)/2:y.rect_border_radius??0,(x?y.hole_ccw_rotation:y.rect_ccw_rotation)??0)]}let e=x?y.hole_shape??y.shape:y.shape;if(e==="polygon")return[y.points??y.vertices??[]];let r=m0(y),o=y.rect_ccw_rotation??y.ccw_rotation??y.rotation??0,a=x?A0({x:r.x+(y.hole_offset_x??0),y:r.y+(y.hole_offset_y??0)},r,o):r;if(e==="circle"||e==="circular_hole_with_rect_pad"&&x||y.type==="pcb_via"){let M=(x?y.hole_diameter:y.outer_diameter??(y.radius!=null?y.radius*2:y.diameter))||y.diameter||y.hole_diameter||y.radius*2;return[H0(a,M)]}let c=x?y.hole_width??y.hole_diameter:y.rect_pad_width??y.outer_width??y.width??y.hole_diameter,p=x?y.hole_height??y.hole_diameter:y.rect_pad_height??y.outer_height??y.height??y.hole_diameter;if(e==="oval")return[H0(a,c,p,o)];if(["rect","square","rotated_rect","roundrect","rounded_rect","pill","rotated_pill","circular_hole_with_rect_pad","pill_hole_with_rect_pad",void 0].includes(e)){let M=e?.includes("pill")&&!(e==="pill_hole_with_rect_pad"&&!x)?Math.min(c,p)/2:y.corner_radius??y.rect_border_radius??0;return[q0(a,c,p,M,o)]}throw new Error(`Unsupported shape: ${e}`)}function m3(y,x={}){let e=new Map,r=[],o=y.map(d3),a=x.renderViasInHighDetail===!1,c=y.find(S=>S.type==="pcb_board"),p=["top",...Array.from({length:Math.max(0,Math.min(8,(c?.num_layers??2)-2))},(S,b)=>`inner${b+1}`),"bottom"],L=(S,b,_=!1,k=0)=>{S=Q0(S),e.has(S)||e.set(S,{paint:new j0,erase:new j0});let T=e.get(S)[_?"erase":"paint"],C=S.replace(/_silkscreen_text$/,"_silkscreen");return T.color=x.layerColors?.[C]??Y4[C]??[.75,.75,.75,1],T.element=b,T.category=k,T},M=[],A=[],R=[];for(let[S,b]of y.entries()){let _=b,k=_.type;try{if(k==="pcb_board"||k==="pcb_panel"){let T=J(_);L("board",S).polygon(T);for(let C of T)L("edge_cuts",S).path(C,.1,!0);for(let C of["top","bottom"])L(`soldermask_${C}`,S).polygon(T)}else if(k==="pcb_cutout")R.push({rings:J(_),index:S}),L("edge_cuts",S).path(J(_)[0],.05,!0);else if(b.type==="pcb_soldermask_opening")L(`soldermask_${b.layer}`,S,!0).polygon(J(b));else if(k==="pcb_smtpad")L(_.layer,S).polygon(J(_)),_.is_covered_with_solder_mask||L(`soldermask_${_.layer}`,S,!0).polygon(J(_));else if(k==="pcb_via"||k==="pcb_plated_hole"){let T=_.layers??p;if(k==="pcb_via"&&!_.layers&&_.from_layer&&_.to_layer){let E=p.indexOf(_.from_layer),z=p.indexOf(_.to_layer);T=p.slice(Math.min(E,z),Math.max(E,z)+1)}let C=k==="pcb_via"&&a?I5({element:_}):J(_);for(let E of T)L(E,S).polygon(C);let v=k==="pcb_via"&&a?I5({element:_,hole:!0}):J(_,!0);M.push({rings:v,index:S,layers:T});for(let E of["top","bottom"])T.includes(E)&&!_.is_covered_with_solder_mask&&L(`soldermask_${E}`,S,!0).polygon(J(_))}else if(k==="pcb_hole")M.push({rings:J({..._,shape:_.hole_shape},!0),index:S,layers:p});else if(b.type==="pcb_trace"){let T=b.route;if(b.route_thickness_mode==="interpolated"&&T.some((C,v)=>C.route_type==="wire"&&!Z0(C)&&T[v+1]?.route_type==="wire"))throw new Error("Interpolated/through-pad traces are not supported yet");for(let C of C4(T)){let v=G4(C);if(!v.length)throw new Error("Invalid teardrop geometry or interpolation mode");L(C.layer,S).polygon([v])}for(let C of T)if(C.route_type==="through_pad")for(let v of new Set([C.start_layer,C.end_layer]))L(v,S).line(C.start,C.end,C.width);for(let C=1;C<T.length;C++){let v=T[C-1],E=T[C];Z0(v)||(v.route_type==="through_pad"&&(v={route_type:"wire",...v.end,layer:v.end_layer,width:v.width}),E.route_type==="through_pad"&&(E={route_type:"wire",...E.start,layer:E.start_layer,width:E.width}),v.route_type==="wire"&&E.route_type==="wire"&&v.layer===E.layer||v.route_type==="wire"&&E.route_type==="via"&&[E.from_layer,E.to_layer].includes(v.layer)?L(v.layer,S).line(v,E,v.width):v.route_type==="via"&&E.route_type==="wire"&&[v.from_layer,v.to_layer].includes(E.layer)&&L(E.layer,S).line(v,E,E.width))}}else if(k==="pcb_copper_pour")L(_.layer,S,!1,1).polygon(J(_));else if(k==="pcb_copper_text")J0(L(_.layer,S),_,x.textYAxis);else if(/^pcb_(silkscreen|fabrication_note|courtyard|note|user_note)_/.test(k)){let T=k.match(/^pcb_(silkscreen|fabrication_note|courtyard|note|user_note)_/)[1],C={silkscreen:"silkscreen",fabrication_note:"fabrication",courtyard:"courtyard",note:"notes",user_note:"notes"}[T],v=`${_.layer??"top"}_${C}`,E=L(k==="pcb_silkscreen_text"?`${v}_text`:v,S);if(b.type==="pcb_note_dimension"||b.type==="pcb_fabrication_note_dimension")L3({mesh:E,pcbDimension:b,textYAxis:x.textYAxis});else if(k.endsWith("_text"))_.color&&(T==="note"||T==="fabrication_note")&&(E.color=U0(_.color)),J0(E,_,x.textYAxis);else if(b.type==="pcb_note_line"||b.type==="pcb_silkscreen_line")b.type==="pcb_note_line"&&b.color&&(E.color=U0(b.color)),E.line({x:b.x1,y:b.y1},{x:b.x2,y:b.y2},b.stroke_width??.1);else if(k.endsWith("_path")||k.endsWith("_line")||k.endsWith("_outline")){let z=_.route??_.points??_.outline??[_.start,_.end].filter(Boolean),y0=k==="pcb_fabrication_note_path";y0&&_.color&&(E.color=U0(_.color)),y0?E.fabricationPath(z,_.has_stroke===!1?0:_.stroke_width??.05,!!_.is_filled):E.path(z,_.stroke_width??_.width??.05,k.endsWith("_outline"))}else if(k==="pcb_silkscreen_graphic"&&_.shape==="brep")E.polygon(J(_));else if(k.endsWith("_rect")){let z=q0(m0(_),_.width,_.height,_.corner_radius??0,_.ccw_rotation??0);_.is_filled?E.polygon([z]):E.path(z,_.stroke_width??.05,!0)}else if(k.endsWith("_circle")){let z=H0(m0(_),(_.radius??0)*2);_.is_filled?E.polygon([z]):E.path(z,_.stroke_width??.05,!0)}else throw new Error("Unsupported annotation geometry")}else if(k==="pcb_keepout")A.push({rings:J(_),index:S,layers:_.layers??[_.layer??"top"]});else if(k.startsWith("pcb_")&&!["pcb_component","pcb_port","pcb_group","pcb_solder_paste","pcb_debug_object","pcb_trace_hint","pcb_anchor","pcb_breakout_point","pcb_bend","pcb_stiffener"].includes(k)&&!/_(error|warning)$/.test(k))throw new Error("Unsupported PCB element")}catch(T){r.push({elementId:o[S],type:k,message:String(T)})}}for(let{rings:S,index:b,layers:_}of A)try{for(let k of _)$4(L(k,b),S)}catch(k){r.push({elementId:o[b],type:"pcb_keepout",message:String(k)})}for(let{rings:S,index:b,layers:_}of M){for(let T of _)L(T,b,!0).polygon(S);_.includes("top")&&_.includes("bottom")&&(L("board",b,!0).polygon(S),L("drill",b).polygon(S));for(let T of["top","bottom"])_.includes(T)&&L(`soldermask_${T}`,b,!0).polygon(S)}for(let{rings:S,index:b}of R){L("drill",b).polygon(S);for(let _ of e.keys())_!=="edge_cuts"&&_!=="drill"&&L(_,b,!0).polygon(S)}let O=[...e].map(([S,b])=>({name:S,paint:b.paint.build(),erase:b.erase.build()}));return{layers:O,elementIds:o,diagnostics:r,triangleCount:O.reduce((S,b)=>S+(b.paint.indices.length+b.erase.indices.length)/3,0)}}function I5({element:y,hole:x=!1}){let e=x?y.hole_diameter:y.outer_diameter;return[W4({center:m0(y),diameterMm:e})]}var _3=`\nstruct Camera { rowX: vec4f, rowY: vec4f, viewport: vec4f }\n@group(0) @binding(0) var<uniform> camera: Camera;\n@group(0) @binding(1) var<storage, read> highlights: array<u32>;\nstruct VertexOut {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n @location(1) @interpolate(flat) category: u32,\n @location(2) @interpolate(flat) selected: u32,\n}\n@vertex fn vertexMain(@location(0) p: vec2f, @location(1) color: vec4f,\n @location(2) element: f32, @location(3) category: f32) -> VertexOut {\n let pixel = vec2f(dot(camera.rowX.xyz, vec3f(p, 1)), dot(camera.rowY.xyz, vec3f(p, 1)));\n var out: VertexOut;\n out.position = vec4f(pixel.x / camera.viewport.x * 2 - 1, 1 - pixel.y / camera.viewport.y * 2, 0, 1);\n let highlight = select(0.0, 1.0, (highlights[u32(element)] & 1u) != 0u);\n out.color = vec4f(mix(color.rgb, min(vec3f(1), color.rgb * 1.5), highlight), color.a);\n out.category = u32(category);\n out.selected = highlights[u32(element)] & 2u;\n return out;\n}\n@fragment fn fragmentMain(in: VertexOut) -> @location(0) vec4f {\n if (in.category == 1u && camera.viewport.z == 0) { discard; }\n if (camera.viewport.w == 1) {\n if (in.selected == 0u) { discard; }\n return vec4f(in.color.rgb, 1);\n }\n let alpha = in.color.a * select(1.0, camera.viewport.z, in.category == 1u);\n return vec4f(in.color.rgb * alpha, alpha);\n}\n`,v3=`\n@group(0) @binding(0) var image: texture_2d<f32>;\n@group(0) @binding(1) var imageSampler: sampler;\n@group(0) @binding(2) var<uniform> fade: vec4f;\n@group(0) @binding(3) var firstText: texture_2d<f32>;\n@group(0) @binding(4) var secondText: texture_2d<f32>;\nstruct Out { @builtin(position) position: vec4f, @location(0) uv: vec2f }\n@vertex fn vertexMain(@builtin(vertex_index) index: u32) -> Out {\n let points = array<vec2f, 6>(vec2f(0,0),vec2f(1,0),vec2f(0,1),vec2f(0,1),vec2f(1,0),vec2f(1,1));\n var out: Out;\n out.uv = points[index];\n out.position = vec4f(out.uv.x * 2 - 1, 1 - out.uv.y * 2, 0, 1);\n return out;\n}\n@fragment fn fragmentMain(in: Out) -> @location(0) vec4f {\n var color = textureSample(image, imageSampler, in.uv);\n if (fade.w == 1) {\n let first = textureSample(firstText, imageSampler, in.uv) * fade.y;\n let second = textureSample(secondText, imageSampler, in.uv) * fade.z;\n let text = second + first * (1 - second.a);\n // Replace drill color beneath text without changing coverage or other layers.\n color = vec4f(color.rgb * (1 - text.a) + text.rgb * color.a, color.a);\n }\n return color * fade.x;\n}\n`,w3=.5,k5={color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}},h0,F0=(h0=class{constructor(x,e,r,o,a){U(this,"canvas");U(this,"device");U(this,"context");U(this,"config");U(this,"realToCanvasMat",{a:1,b:0,c:0,d:-1,e:0,f:0});U(this,"stats",{geometryUploads:0,frames:0,triangleCount:0,compileMs:0,vertexBytes:0});U(this,"circuit");U(this,"scene");U(this,"layers",[]);U(this,"xRayLayers",[]);U(this,"xRayUniform");U(this,"xRayCameraGroup");U(this,"uniform");U(this,"highlights");U(this,"cameraGroup");U(this,"highlightKey","");U(this,"highlightIndices",new Map);U(this,"sample");U(this,"size","");U(this,"disposed",!1);U(this,"adapterInfo");U(this,"lost",!1);U(this,"paintPipeline");U(this,"erasePipeline");U(this,"compositePipeline");U(this,"sampler");U(this,"options",{});this.canvas=x,this.device=e,this.context=r,this.config=a,this.uniform=e.createBuffer({size:48,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.xRayUniform=e.createBuffer({size:48,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.highlights=e.createBuffer({size:4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});let c=e.createShaderModule({code:_3}),p=e.createPipelineLayout({bindGroupLayouts:[e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:1,visibility:GPUShaderStage.VERTEX,buffer:{type:"read-only-storage"}}]})]}),L=A=>({layout:p,vertex:{module:c,entryPoint:"vertexMain",buffers:[{arrayStride:32,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x4"},{shaderLocation:2,offset:24,format:"float32"},{shaderLocation:3,offset:28,format:"float32"}]}]},fragment:{module:c,entryPoint:"fragmentMain",targets:[{format:"rgba8unorm",blend:A}]},primitive:{topology:"triangle-list"},multisample:{count:a.sampleCount??4}});this.paintPipeline=e.createRenderPipeline(L(k5)),this.erasePipeline=e.createRenderPipeline(L({color:{srcFactor:"zero",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"zero",dstFactor:"one-minus-src-alpha"}}));let M=e.createShaderModule({code:v3});this.compositePipeline=e.createRenderPipeline({layout:"auto",vertex:{module:M,entryPoint:"vertexMain"},fragment:{module:M,entryPoint:"fragmentMain",targets:[{format:o,blend:k5}]},primitive:{topology:"triangle-list"}}),this.sampler=e.createSampler({minFilter:"linear",magFilter:"linear"}),e.lost.then(A=>{this.lost=!0,this.disposed||a.onDeviceLost?.(A.message||A.reason)})}static async create(x,e={}){if(!globalThis.navigator?.gpu)throw new Error("WebGPU is unavailable");let r=await navigator.gpu.requestAdapter({powerPreference:"high-performance"});if(!r)throw new Error("No WebGPU adapter available");let o=await r.requestDevice(),a=x.getContext("webgpu");if(!a)throw o.destroy(),new Error("WebGPU canvas context is unavailable");let c=navigator.gpu.getPreferredCanvasFormat();a.configure({device:o,format:c,alphaMode:"premultiplied"}),o.pushErrorScope("validation");try{let p=new h0(x,o,a,c,e),L=await o.popErrorScope();if(L)throw p.dispose(),new Error(L.message);return o.addEventListener("uncapturederror",M=>e.onDeviceLost?.(M.error.message)),p.adapterInfo=r.info,p}catch(p){throw a.unconfigure(),o.destroy(),p}}get diagnostics(){return this.scene?.diagnostics??[]}setCircuitJson(x){if(this.assertLive(),this.circuit===x)return;let e=performance.now(),r=m3(x,this.config);this.releaseLayers(),this.highlights.destroy(),this.highlights=this.device.createBuffer({size:Math.max(4,r.elementIds.length*4),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.highlightIndices=new Map(r.elementIds.map((a,c)=>[a,c])),this.highlightKey="!",this.cameraGroup=this.device.createBindGroup({layout:this.paintPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.uniform}},{binding:1,resource:{buffer:this.highlights}}]}),this.xRayCameraGroup=this.device.createBindGroup({layout:this.paintPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.xRayUniform}},{binding:1,resource:{buffer:this.highlights}}]}),this.stats.vertexBytes=0;let o=a=>{let c=(p,L)=>{let M=this.device.createBuffer({size:Math.max(4,p.byteLength),usage:L|GPUBufferUsage.COPY_DST});return p.byteLength&&this.device.queue.writeBuffer(M,0,p.buffer,p.byteOffset,p.byteLength),this.stats.vertexBytes+=p.byteLength,M};return{vertices:c(a.vertices,GPUBufferUsage.VERTEX),indices:c(a.indices,GPUBufferUsage.INDEX),count:a.indices.length}};this.layers=r.layers.map(a=>({name:a.name,paint:o(a.paint),erase:o(a.erase),opacity:this.device.createBuffer({size:16,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})})),this.xRayLayers=this.layers.filter(a=>this.isCopper(a.name)||a.name==="drill").map(a=>({...a,opacity:this.device.createBuffer({size:16,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})})),this.scene=r,this.circuit=x,this.size="",this.stats.geometryUploads++,this.stats.triangleCount=r.triangleCount,this.stats.compileMs=performance.now()-e}drawElements(x,e={}){this.setCircuitJson(x),this.options={},this.render(e)}render(x={}){this.assertLive(),this.options={...this.options,...x};let e=this.options;e.transform&&(this.realToCanvasMat=e.transform);let r=this.realToCanvasMat,o=this.canvas.width,a=this.canvas.height;if(!o||!a)return;if(![...Object.values(r),o,a].every(Number.isFinite))throw new Error("Invalid camera or canvas dimensions");if(o>this.device.limits.maxTextureDimension2D||a>this.device.limits.maxTextureDimension2D)throw new Error("Canvas exceeds GPU texture limits");let c=e.showCopperPours===!1?0:Number.isFinite(e.copperPourOpacity)?Math.max(0,Math.min(1,e.copperPourOpacity)):w3;this.resize(o,a),this.device.queue.writeBuffer(this.uniform,0,new Float32Array([r.a,r.c,r.e,0,r.b,r.d,r.f,0,o,a,c,0]));let p=e.xRayElementIds??[],L=p.length>0;L&&this.device.queue.writeBuffer(this.xRayUniform,0,new Float32Array([r.a,r.c,r.e,0,r.b,r.d,r.f,0,o,a,c,1]));let M=L?[]:e.highlightedElementIds??[],A=JSON.stringify([M,p]);if(A!==this.highlightKey){let v=new Uint32Array(Math.max(1,this.scene?.elementIds.length??0));for(let E of M){let z=this.highlightIndices.get(E);z!==void 0&&(v[z]=1)}for(let E of p){let z=this.highlightIndices.get(E);z!==void 0&&(v[z]|=2)}this.device.queue.writeBuffer(this.highlights,0,v),this.highlightKey=A}let R=Q0(e.selectedLayer??"top"),O=e.layers?new Set(e.layers.map(Q0)):void 0,S=this.layers.filter(v=>O&&!O.has(v.name.replace(/_silkscreen_text$/,"_silkscreen"))||L&&!this.isCopper(v.name)||v.name==="board"&&!e.showBoardMaterial||v.name.startsWith("soldermask_")&&(!e.showSolderMask||v.name!==`soldermask_${R}`)||v.name.includes("silkscreen")&&e.showSilkscreen===!1||v.name.includes("fabrication")&&!e.showFabricationNotes||v.name.includes("notes")&&e.showPcbNotes===!1||v.name.includes("courtyard")&&!e.showCourtyards?!1:L&&this.isCopper(v.name)||this.opacity(v.name,R,e.hiddenLayerOpacity??.4)>0).sort((v,E)=>this.order(v.name,R)-this.order(E.name,R)),b=L?this.xRayLayers.filter(v=>!O||O.has(v.name)).sort((v,E)=>this.xRayOrder(v.name,R)-this.xRayOrder(E.name,R)):[],_=[...S.map(v=>({layer:v,xRay:!1})),...b.map(v=>({layer:v,xRay:!0}))],k=this.device.createCommandEncoder(),T=S.filter(v=>v.name.endsWith("_silkscreen_text"));for(let{layer:v,xRay:E}of _){this.ensureTexture(v,o,a);let z=v.texture.createView(),y0=(this.config.sampleCount??4)>1,D=k.beginRenderPass({colorAttachments:[{view:y0?this.sample.createView():z,...y0?{resolveTarget:z}:{},clearValue:[0,0,0,0],loadOp:"clear",storeOp:y0?"discard":"store"}]});for(let[p0,g0]of[[v.paint,this.paintPipeline],[v.erase,this.erasePipeline]])p0.count&&(D.setBindGroup(0,E&&g0===this.paintPipeline?this.xRayCameraGroup:this.cameraGroup),D.setPipeline(g0),D.setVertexBuffer(0,p0.vertices),D.setIndexBuffer(p0.indices,"uint32"),D.drawIndexed(p0.count));D.end();let $=v.name==="drill"&&!E?T:[];v.name==="drill"&&(v.composite=this.createComposite(v,$)),this.device.queue.writeBuffer(v.opacity,0,new Float32Array([E?1:L&&this.isCopper(v.name)?Math.max(0,Math.min(1,e.hiddenLayerOpacity??.4)):this.opacity(v.name,R,e.hiddenLayerOpacity??.4),$[0]?this.opacity($[0].name,R,e.hiddenLayerOpacity??.4):0,$[1]?this.opacity($[1].name,R,e.hiddenLayerOpacity??.4):0,$.length?1:0]))}let C=k.beginRenderPass({colorAttachments:[{view:this.context.getCurrentTexture().createView(),clearValue:e.background??[0,0,0,0],loadOp:"clear",storeOp:"store"}]});C.setPipeline(this.compositePipeline);for(let{layer:v}of _)C.setBindGroup(0,v.composite),C.draw(6);C.end(),this.device.queue.submit([k.finish()]),this.stats.frames++}async flush(){this.assertLive(),await this.device.queue.onSubmittedWorkDone()}isCopper(x){return/^(top|bottom|inner\\d+)$/.test(x)}opacity(x,e,r){return["board","drill","edge_cuts"].includes(x)||x===e||x.startsWith(`${e}_`)||x.endsWith(`_${e}`)?1:Math.max(0,Math.min(1,r))}xRayOrder(x,e){return x==="drill"?200:x===e?100:x==="bottom"?0:x.startsWith("inner")?20-Number(x.slice(5)):40}order(x,e){if(x==="board")return-100;if(x==="drill")return 200;if(x==="edge_cuts")return 150;let r=x===e?100:x.startsWith("inner")?20-Number(x.slice(5)):x==="bottom"?30:40;return x.includes("soldermask")?110:x.startsWith(`${e}_`)?120:r}resize(x,e){let r=`${x}:${e}`;if(r!==this.size){this.sample?.destroy(),this.sample=(this.config.sampleCount??4)>1?this.device.createTexture({size:[x,e],format:"rgba8unorm",sampleCount:this.config.sampleCount??4,usage:GPUTextureUsage.RENDER_ATTACHMENT}):void 0;for(let o of[...this.layers,...this.xRayLayers])o.texture?.destroy(),o.texture=void 0,o.composite=void 0;this.size=r}}ensureTexture(x,e,r){x.texture||(x.texture=this.device.createTexture({size:[e,r],format:"rgba8unorm",usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING}),x.composite=this.createComposite(x))}createComposite(x,e=[]){return this.device.createBindGroup({layout:this.compositePipeline.getBindGroupLayout(0),entries:[{binding:0,resource:x.texture.createView()},{binding:1,resource:this.sampler},{binding:2,resource:{buffer:x.opacity}},{binding:3,resource:(e[0]?.texture??x.texture).createView()},{binding:4,resource:(e[1]?.texture??x.texture).createView()}]})}assertLive(){if(this.disposed||this.lost)throw new Error(this.lost?"WebGPU device lost":"Renderer disposed")}releaseLayers(){for(let x of this.xRayLayers)x.opacity.destroy(),x.texture?.destroy();this.xRayLayers=[];for(let x of this.layers){for(let e of[x.paint,x.erase])e.vertices.destroy(),e.indices.destroy();x.opacity.destroy(),x.texture?.destroy()}this.layers=[]}dispose(){if(this.disposed)return;this.disposed=!0,this.releaseLayers(),this.sample?.destroy(),this.uniform.destroy(),this.xRayUniform.destroy(),this.highlights.destroy(),this.context.unconfigure();let x=()=>this.device.destroy();this.device.queue.onSubmittedWorkDone().then(x,x),this.circuit=void 0,this.scene=void 0}},U(h0,"supportsXRayNet",!0),h0);var w0=self,B5="supportsXRayNet"in F0&&F0.supportsXRayNet===!0,K,v0,W0,U5=0,y5=!1,b0=!1,x5=y=>{b0||(b0=!0,K?.dispose(),w0.postMessage({type:"error",message:y instanceof Error?y.message:String(y)}))};function G5(){if(y5||b0||!K||!W0)return;y5=!0;let y=()=>{if(y5=!1,!(b0||!K||!W0))try{let x=W0,e=U5;v0.width!==x.width&&(v0.width=x.width),v0.height!==x.height&&(v0.height=x.height),K.render({...x.options,transform:x.transform}),w0.postMessage({type:"rendered",xRayActive:B5&&!!x.options.xRayElementIds?.length,geometryUploads:K.stats.geometryUploads,frames:K.stats.frames,compileMs:K.stats.compileMs,sceneGeneration:e})}catch(x){x5(x)}};w0.requestAnimationFrame?w0.requestAnimationFrame(y):setTimeout(y,16)}w0.onmessage=async y=>{let x=y.data;try{if(x.type==="init"){if(v0=x.canvas,K=await F0.create(v0,{onDeviceLost:x5,renderViasInHighDetail:!1}),b0){K.dispose();return}w0.postMessage({type:"ready",supportsXRayNet:B5})}else if(x.type==="scene"){if(K.setCircuitJson(x.elements),K.diagnostics.length)throw new Error(`Unsupported WebGPU geometry: ${K.diagnostics.map(e=>`${e.type}: ${e.message}`).join("; ")}`);U5=x.sceneGeneration,G5()}else x.type==="view"?(W0=x,G5()):(b0=!0,K?.dispose())}catch(e){x5(e)}};})();\n/*! Bundled license information:\n\npolygon-clipping/dist/polygon-clipping.umd.js:\n (**\n * splaytree v3.1.2\n * Fast Splay tree for Node and browser\n *\n * @author Alexander Milevski <info@w8r.name>\n * @license MIT\n * @preserve\n *)\n (*! *****************************************************************************\n Copyright (c) Microsoft Corporation. All rights reserved.\n Licensed under the Apache License, Version 2.0 (the "License"); you may not use\n this file except in compliance with the License. You may obtain a copy of the\n License at http://www.apache.org/licenses/LICENSE-2.0\n \n THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n MERCHANTABLITY OR NON-INFRINGEMENT.\n \n See the Apache Version 2.0 License for specific language governing permissions\n and limitations under the License.\n ***************************************************************************** *)\n*/\n'],{type:"text/javascript"}));try{return new Worker(g)}finally{URL.revokeObjectURL(g)}}var oio=XQo({"inline-worker:/home/runner/work/pcb-viewer/pcb-viewer/src/lib/webgpu/pcb-webgpu.worker.ts"(){}}),kRI=!0,Bio=!1,BtA={CCW:-1,CW:1,NOT_ORIENTABLE:0},Cio=2*Math.PI,nGA=1,MRI=0,oF=2,Qio=3,iio=4,Eio=1,nio=2,Vtg=0,CtA=1,WZ=2,sGA=Object.freeze({__proto__:null,BOUNDARY:oF,CCW:kRI,CONTAINS:Qio,CW:Bio,END_VERTEX:WZ,INSIDE:nGA,INTERLACE:iio,NOT_VERTEX:Vtg,ORIENTATION:BtA,OUTSIDE:MRI,OVERLAP_OPPOSITE:nio,OVERLAP_SAME:Eio,PIx2:Cio,START_VERTEX:CtA}),BF=1e-6;function SRI(g){BF=g}function fRI(){return BF}var sio=3;function jtg(g){return g<BF&&g>-BF}function Db(g,A){return g-A<BF&&g-A>-BF}function RRI(g,A){return g-A>BF}function aio(g,A){return g-A>-BF}function NRI(g,A){return g-A<-BF}function rio(g,A){return g-A<BF}var cio=Object.freeze({__proto__:null,DECIMALS:sio,EQ:Db,EQ_0:jtg,GE:aio,GT:RRI,LE:rio,LT:NRI,getTolerance:fRI,setTolerance:SRI}),jA={Utils:cio,Errors:void 0,Matrix:void 0,Planar_set:void 0,Point:void 0,Vector:void 0,Line:void 0,Circle:void 0,Segment:void 0,Arc:void 0,Box:void 0,Edge:void 0,Face:void 0,Ray:void 0,Ray_shooting:void 0,Multiline:void 0,Polygon:void 0,Distance:void 0,Inversion:void 0};for(let g in sGA)jA[g]=sGA[g];Object.defineProperty(jA,"DP_TOL",{get:function(){return fRI()},set:function(g){SRI(g)}});var qc=class{static get ILLEGAL_PARAMETERS(){return new ReferenceError("Illegal Parameters")}static get ZERO_DIVISION(){return new Error("Zero division")}static get UNRESOLVED_BOUNDARY_CONFLICT(){return new Error("Unresolved boundary conflict in boolean operation")}static get INFINITE_LOOP(){return new Error("Infinite loop")}static get CANNOT_COMPLETE_BOOLEAN_OPERATION(){return new Error("Cannot complete boolean operation")}static get CANNOT_INVOKE_ABSTRACT_METHOD(){return new Error("Abstract method cannot be invoked")}static get OPERATION_IS_NOT_SUPPORTED(){return new Error("Operation is not supported")}static get UNSUPPORTED_SHAPE_TYPE(){return new Error("Unsupported shape type")}};jA.Errors=qc;var ztg=class{constructor(g,A){this.first=g,this.last=A||this.first}[Symbol.iterator](){let g;return{next:()=>(g=g?g.next:this.first,{value:g,done:g===void 0})}}get size(){let g=0;for(let A of this)g++;return g}toArray(g=void 0,A=void 0){let I=[],e=g||this.first,t=A||this.last,o=e;if(o===void 0)return I;do I.push(o),o=o.next;while(o!==t.next);return I}append(g){return this.isEmpty()?this.first=g:(g.prev=this.last,this.last.next=g),this.last=g,this.last.next=void 0,this.first.prev=void 0,this}insert(g,A){if(this.isEmpty())this.first=g,this.last=g;else if(A==null)g.next=this.first,this.first.prev=g,this.first=g;else{let I=A.next;A.next=g,I&&(I.prev=g),g.prev=A,g.next=I,this.last===A&&(this.last=g)}return this.last.next=void 0,this.first.prev=void 0,this}remove(g){return g===this.first&&g===this.last?(this.first=void 0,this.last=void 0):(g.prev&&(g.prev.next=g.next),g.next&&(g.next.prev=g.prev),g===this.first&&(this.first=g.next),g===this.last&&(this.last=g.prev)),this}isEmpty(){return this.first===void 0}static testInfiniteLoop(g){let A=g,I=g;do{if(A!=g&&A===I)throw qc.INFINITE_LOOP;A=A.next,I=I.next.next}while(A!=g)}},xRI={stroke:"black"},hio=class{constructor(g=xRI){for(const A in g)this[A]=g[A];this.stroke=g.stroke??xRI.stroke}toAttributesString(){return Object.keys(this).reduce((g,A)=>g+(this[A]!==void 0?this.toAttrString(A,this[A]):""),"")}toAttrString(g,A){const I=g==="className"?"class":this.convertCamelToKebabCase(g);return A===null?`${I} `:`${I}="${A.toString()}" `}convertCamelToKebabCase(g){return g.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g).join("-").toLowerCase()}};function db(g){return new hio(g).toAttributesString()}function VZ(g,A){let I=[],[e,t,o]=g.standard,[B,C,Q]=A.standard,i=e*C-t*B,E=o*C-t*Q,n=e*Q-o*B;if(!jA.Utils.EQ_0(i)){let s,r;t===0?(s=o/e,r=n/i):C===0?(s=Q/B,r=n/i):e===0?(s=E/i,r=o/t):B===0?(s=E/i,r=Q/C):(s=E/i,r=n/i),I.push(new jA.Point(s,r))}return I}function yb(g,A){let I=[],e=A.pc.projectionOn(g),t=A.pc.distanceTo(e)[0];if(jA.Utils.EQ(t,A.r))I.push(e);else if(jA.Utils.LT(t,A.r)){let o=Math.sqrt(A.r*A.r-t*t),B,C;B=g.norm.rotate90CCW().multiply(o),C=e.translate(B),I.push(C),B=g.norm.rotate90CW().multiply(o),C=e.translate(B),I.push(C)}return I}function jZ(g,A){let I=[];for(let e of A.toSegments()){let t=QtA(e,g);for(let o of t)vRI(o,I)||I.push(o)}return I}function aGA(g,A){let I=[];if(jZ(g,A.box).length===0)return I;let e=new jA.Circle(A.pc,A.r),t=yb(g,e);for(let o of t)o.on(A)&&I.push(o);return I}function QtA(g,A){let I=[];if(g.ps.on(A)&&I.push(g.ps),g.pe.on(A)&&!g.isZeroLength()&&I.push(g.pe),I.length>0||g.isZeroLength()||g.ps.leftTo(A)&&g.pe.leftTo(A)||!g.ps.leftTo(A)&&!g.pe.leftTo(A))return I;let e=new jA.Line(g.ps,g.pe);return VZ(e,A)}function rGA(g,A){let I=[];if(g.isZeroLength())return g.ps.on(A)&&I.push(g.ps),I;if(A.isZeroLength())return A.ps.on(g)&&I.push(A.ps),I;let e=new jA.Line(g.ps,g.pe),t=new jA.Line(A.ps,A.pe);if(e.incidentTo(t))g.ps.on(A)&&I.push(g.ps),g.pe.on(A)&&I.push(g.pe),A.ps.on(g)&&!A.ps.equalTo(g.ps)&&!A.ps.equalTo(g.pe)&&I.push(A.ps),A.pe.on(g)&&!A.pe.equalTo(g.ps)&&!A.pe.equalTo(g.pe)&&I.push(A.pe);else if(e.parallelTo(t)){const o=new jA.Vector(g.ps,g.pe),B=new jA.Vector(A.ps,A.pe),C=new jA.Vector(g.ps,A.ps),Q=o.cross(B);if(!jA.Utils.EQ_0(Q)){const i=C.cross(B)/Q,E=C.cross(o)/Q;jA.Utils.GE(i,0)&&jA.Utils.LE(i,1)&&jA.Utils.GE(E,0)&&jA.Utils.LE(E,1)&&I.push(FRI(g.ps.translate(o.multiply(i)),g,A))}}else{let o=VZ(e,t);o.length>0&&URI(o[0],g)&&URI(o[0],A)&&I.push(FRI(o[0],g,A))}return I}function FRI(g,A,I){for(const e of[A.ps,A.pe,I.ps,I.pe])if(g.equalTo(e))return e;return g}function URI(g,A){const I=A.box;return jA.Utils.LE(g.x,I.xmax)&&jA.Utils.GE(g.x,I.xmin)&&jA.Utils.LE(g.y,I.ymax)&&jA.Utils.GE(g.y,I.ymin)}function cGA(g,A){let I=[];if(g.isZeroLength()){let[o,B]=g.ps.distanceTo(A.pc);return jA.Utils.EQ(o,A.r)&&I.push(g.ps),I}let e=new jA.Line(g.ps,g.pe),t=yb(e,A);for(let o of t)o.on(g)&&I.push(o);return I}function zZ(g,A){let I=[];if(g.isZeroLength())return g.ps.on(A)&&I.push(g.ps),I;let e=new jA.Line(g.ps,g.pe),t=new jA.Circle(A.pc,A.r),o=yb(e,t);for(let B of o)B.on(g)&&B.on(A)&&I.push(B);return I}function lio(g,A){let I=[];for(let e of A.toSegments()){let t=rGA(e,g);for(let o of t)I.push(o)}return I}function JRI(g,A){let I=[],e=new jA.Vector(g.pc,A.pc),t=g.r,o=A.r;if(jA.Utils.EQ_0(t)||jA.Utils.EQ_0(o))return I;if(jA.Utils.EQ_0(e.x)&&jA.Utils.EQ_0(e.y)&&jA.Utils.EQ(t,o))return I.push(g.pc.translate(-t,0)),I;let B=g.pc.distanceTo(A.pc)[0];if(jA.Utils.GT(B,t+o)||jA.Utils.LT(B,Math.abs(t-o)))return I;e.x/=B,e.y/=B;let C;if(jA.Utils.EQ(B,t+o)||jA.Utils.EQ(B,Math.abs(t-o)))return C=g.pc.translate(t*e.x,t*e.y),I.push(C),I;let Q=t*t/(2*B)-o*o/(2*B)+B/2,i=g.pc.translate(Q*e.x,Q*e.y),E=Math.sqrt(t*t-Q*Q);return C=i.translate(e.rotate90CCW().multiply(E)),I.push(C),C=i.translate(e.rotate90CW().multiply(E)),I.push(C),I}function Dio(g,A){let I=[];for(let e of A.toSegments()){let t=cGA(e,g);for(let o of t)I.push(o)}return I}function PRI(g,A){let I=[];if(g.pc.equalTo(A.pc)&&jA.Utils.EQ(g.r,A.r)){let B;return B=g.start,B.on(A)&&I.push(B),B=g.end,B.on(A)&&I.push(B),B=A.start,B.on(g)&&I.push(B),B=A.end,B.on(g)&&I.push(B),I}let e=new jA.Circle(g.pc,g.r),t=new jA.Circle(A.pc,A.r),o=e.intersect(t);for(let B of o)B.on(g)&&B.on(A)&&I.push(B);return I}function Xtg(g,A){let I=[];if(A.pc.equalTo(g.pc)&&jA.Utils.EQ(A.r,g.r))return I.push(g.start),I.push(g.end),I;let e=A,t=new jA.Circle(g.pc,g.r),o=JRI(e,t);for(let B of o)B.on(g)&&I.push(B);return I}function dio(g,A){let I=[];for(let e of A.toSegments()){let t=zZ(e,g);for(let o of t)I.push(o)}return I}function KRI(g,A){return g.isSegment?rGA(g.shape,A):zZ(A,g.shape)}function LRI(g,A){return g.isSegment?zZ(g.shape,A):PRI(g.shape,A)}function YRI(g,A){return g.isSegment?QtA(g.shape,A):aGA(A,g.shape)}function yio(g,A){return g.isSegment?gog(A,g.shape):Iog(A,g.shape)}function wio(g,A){return g.isSegment?cGA(g.shape,A):Xtg(g.shape,A)}function $tg(g,A){let I=[];for(let e of A.edges)for(let t of KRI(e,g))I.push(t);return I}function Aog(g,A){let I=[];for(let e of A.edges)for(let t of LRI(e,g))I.push(t);return I}function itA(g,A){let I=[];if(A.isEmpty())return I;for(let e of A.edges)for(let t of YRI(e,g))vRI(t,I)||I.push(t);return g.sortPoints(I)}function _RI(g,A){let I=[];if(A.isEmpty())return I;for(let e of A.edges)for(let t of wio(e,g))I.push(t);return I}function bRI(g,A){return g.isSegment?KRI(A,g.shape):g.isArc?LRI(A,g.shape):g.isLine?YRI(A,g.shape):g.isRay?yio(A,g.shape):[]}function HRI(g,A){let I=[];if(A.isEmpty()||g.shape.box.not_intersect(A.box))return I;let e=A.edges.search(g.shape.box);for(let t of e)I=[...I,...bRI(g,t)];return I}function uio(g,A){let I=[];if(A.isEmpty()||g.size===0)return I;for(let e of g)I=[...I,...HRI(e,A)];return I}function Gio(g,A){let I=[];if(g.isEmpty()||A.isEmpty()||g.box.not_intersect(A.box))return I;for(let e of g.edges)I=[...I,...HRI(e,A)];return I}function mio(g,A){return g instanceof jA.Line?itA(g,A):g instanceof jA.Segment?$tg(g,A):g instanceof jA.Arc?Aog(g,A):[]}function vRI(g,A){return A.some(I=>I.equalTo(g))}function EL(g){return new jA.Line(g.start,g.norm)}function gog(g,A){return QtA(A,EL(g)).filter(I=>g.contains(I))}function Iog(g,A){return aGA(EL(g),A).filter(I=>g.contains(I))}function TRI(g,A){return yb(EL(g),A).filter(I=>g.contains(I))}function pio(g,A){return jZ(EL(g),A).filter(I=>g.contains(I))}function qRI(g,A){return VZ(EL(g),A).filter(I=>g.contains(I))}function kio(g,A){return VZ(EL(g),EL(A)).filter(I=>g.contains(I)).filter(I=>A.contains(I))}function ZRI(g,A){return itA(EL(g),A).filter(I=>g.contains(I))}function ORI(g,A){if(g.intersect&&g.intersect instanceof Function)return g.intersect(A);throw qc.UNSUPPORTED_SHAPE_TYPE}function XZ(g,A){let I=[];for(let e of A)I=[...I,...ORI(g,e.shape)];return I}function Mio(g,A){let I=[];for(let e of g)for(let t of A)I=[...I,...ORI(e.shape,t.shape)];return I}var wb=class RCA extends ztg{constructor(...A){if(super(),this.isInfinite=!1,A.length===1&&A[0]instanceof Array&&A[0].length>0){const I=A[0],e=I.length,t=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc||Q instanceof jA.Ray||Q instanceof jA.Line,o=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc||Q instanceof jA.Ray,B=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc;if(e===1&&t(I[0])||e>1&&o(I[0])&&o(I[e-1])&&I.slice(1,e-1).every(B)){this.isInfinite=I.some(Q=>Q instanceof jA.Ray||Q instanceof jA.Line);for(let Q of I){let i=new jA.Edge(Q);this.append(i)}this.setArcLength()}else throw jA.Errors.ILLEGAL_PARAMETERS}}get edges(){return[...this]}get box(){return this.edges.reduce((A,I)=>A.merge(I.box),new jA.Box)}get vertices(){let A=this.edges.map(I=>I.start);return A.push(this.last.end),A}get length(){if(this.isEmpty())return 0;if(this.isInfinite)return Number.POSITIVE_INFINITY;let A=0;for(let I of this)A+=I.length;return A}clone(){return new RCA(this.toShapes())}setArcLength(){for(let A of this)this.setOneEdgeArcLength(A)}setOneEdgeArcLength(A){A===this.first?A.arc_length=0:A.arc_length=A.prev.arc_length+A.prev.length}pointAtLength(A){if(A>this.length||A<0||this.isInfinite)return null;let I=null;for(let e of this)if(A>=e.arc_length&&(e===this.last||A<e.next.arc_length)){I=e.pointAtLength(A-e.arc_length);break}return I}addVertex(A,I){let e=I.shape.split(A);if(e[0]===null)return I.prev;if(e[1]===null)return I;let t=new jA.Edge(e[0]),o=I.prev;return this.insert(t,o),I.shape=e[1],t}getChain(A,I){let e=[];for(let t=A;t!==I.next;t=t.next)e.push(t);return e}split(A){for(let I of A){let e=this.findEdgeByPoint(I);this.addVertex(I,e)}return this}findEdgeByPoint(A){let I;for(let e of this)if(e.shape.contains(A)){I=e;break}return I}distanceTo(A){if(A instanceof jA.Point){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Line){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Circle){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Segment){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Arc){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Box){const[I,e]=jA.Distance.shape2multiline(new jA.Polygon(A),this);return[I,e.reverse()]}if(A instanceof jA.Multiline)return jA.Distance.multiline2multiline(this,A);throw jA.Errors.UNSUPPORTED_SHAPE_TYPE}intersect(A){return A instanceof jA.Multiline?Mio(this,A):XZ(A,this)}contains(A){if(A instanceof jA.Point)return this.edges.some(I=>I.shape.contains(A));throw jA.Errors.UNSUPPORTED_SHAPE_TYPE}translate(A){return new RCA(this.edges.map(I=>I.shape.translate(A)))}rotate(A=0,I=new jA.Point){return new RCA(this.edges.map(e=>e.shape.rotate(A,I)))}transform(A=new jA.Matrix){return new RCA(this.edges.map(I=>I.shape.transform(A)))}toShapes(){return this.edges.map(A=>A.shape.clone())}toJSON(){return this.edges.map(A=>A.toJSON())}svgPoints(){return this.vertices.map(A=>`${A.x},${A.y}`).join(" ")}dpath(){let A=`M${this.first.start.x},${this.first.start.y}`;for(let I of this)A+=I.svg();return A}svg(A={}){let I=`
5405
5405
  <path ${db({fill:"none",...A})} d="`;I+=`
5406
5406
  M${this.first.start.x},${this.first.start.y}`;for(let e of this)I+=e.svg();return I+=`" >
5407
5407
  </path>`,I}};jA.Multiline=wb;var Sio=(...g)=>new jA.Multiline(...g);jA.multiline=Sio;function $Z(g,A,I){let e=I.length,t=g.shape.split(A);if(t.length===0)return;let o=0;t[0]===null?o=0:t[1]===null?o=g.shape.length:o=t[0].length;let B=Vtg;Db(o,0)&&(B|=CtA),Db(o,g.shape.length)&&(B|=WZ);let C;o===1/0?C=t[0].coord(A):C=B&WZ&&g.next&&g.next.arc_length===0?0:g.arc_length+o,I.push({id:e,pt:A,arc_length:C,edge_before:g,edge_after:void 0,face:g.face,is_vertex:B})}function EtA(g){g.int_points1_sorted=nL(g.int_points1),g.int_points2_sorted=nL(g.int_points2)}function nL(g){let A=new Map,I=0;for(let t of g)A.has(t.face)||(A.set(t.face,I),I++);for(let t of g)t.faceId=A.get(t.face);return g.slice().sort(fio)}function fio(g,A){return g.faceId<A.faceId?-1:g.faceId>A.faceId?1:g.arc_length<A.arc_length?-1:g.arc_length>A.arc_length?1:0}function eog(g){if(g.int_points1.length<2)return;let A=!1,I,e,t,o;for(let B=0;B<g.int_points1_sorted.length;B++)if(g.int_points1_sorted[B].id!==-1){I=g.int_points1_sorted[B],e=g.int_points2[I.id];for(let C=B+1;C<g.int_points1_sorted.length&&(t=g.int_points1_sorted[C],!!Db(t.arc_length,I.arc_length));C++)t.id!==-1&&(o=g.int_points2[t.id],o.id!==-1&&t.edge_before===I.edge_before&&t.edge_after===I.edge_after&&o.edge_before===e.edge_before&&o.edge_after===e.edge_after&&(t.id=-1,o.id=-1,A=!0))}e=g.int_points2_sorted[0],I=g.int_points1[e.id];for(let B=1;B<g.int_points2_sorted.length;B++){let C=g.int_points2_sorted[B];if(C.id===-1)continue;if(e.id===-1||!Db(C.arc_length,e.arc_length)){e=C,I=g.int_points1[e.id];continue}let Q=g.int_points1[C.id];Q.edge_before===I.edge_before&&Q.edge_after===I.edge_after&&C.edge_before===e.edge_before&&C.edge_after===e.edge_after&&(Q.id=-1,C.id=-1,A=!0)}A&&(g.int_points1=g.int_points1.filter(B=>B.id>=0),g.int_points2=g.int_points2.filter(B=>B.id>=0),g.int_points1.forEach((B,C)=>B.id=C),g.int_points2.forEach((B,C)=>B.id=C))}function tog(g){for(let A of g)A.edge_before&&(A.edge_before.bvStart=void 0,A.edge_before.bvEnd=void 0,A.edge_before.bv=void 0,A.edge_before.overlap=void 0),A.edge_after&&(A.edge_after.bvStart=void 0,A.edge_after.bvEnd=void 0,A.edge_after.bv=void 0,A.edge_after.overlap=void 0);for(let A of g)A.edge_before&&(A.edge_before.bvEnd=oF),A.edge_after&&(A.edge_after.bvStart=oF)}function oog(g,A){for(let I of g)I.edge_before&&I.edge_before.setInclusion(A),I.edge_after&&I.edge_after.setInclusion(A)}function Rio(g){let A,I,e,t=g.int_points1.length;for(let o=0;o<t;o++){let B=g.int_points1_sorted[o];B.face!==A&&(I=o,A=B.face);let C=o,Q=AO(g.int_points1_sorted,o,A),i;C+Q<t&&g.int_points1_sorted[C+Q].face===A?i=C+Q:i=I;let E=AO(g.int_points1_sorted,i,A);e=null;for(let l=i;l<i+E;l++){let D=g.int_points1_sorted[l];if(D.face===A&&g.int_points2[D.id].face===g.int_points2[B.id].face){e=D;break}}if(e===null)continue;let n=B.edge_after,s=e.edge_before;if(!(n.bv===oF&&s.bv===oF)||n!==s)continue;let r=g.int_points2[B.id],a=g.int_points2[e.id],c=r.edge_after,h=a.edge_before;c.bv===oF&&h.bv===oF&&c===h||(r=g.int_points2[e.id],a=g.int_points2[B.id],c=r.edge_after,h=a.edge_before),c.bv===oF&&h.bv===oF&&c===h&&n.setOverlap(c)}}function AO(g,A,I){let e,t,o=1;if(g.length===1)return 1;e=g[A];for(let B=A+1;B<g.length&&!(e.face!==I||(t=g[B],!(t.pt.equalTo(e.pt)&&t.edge_before===e.edge_before&&t.edge_after===e.edge_after)));B++)o++;return o}function gO(g,A){if(A){for(let I of A){let e=I.edge_before;if(I.is_vertex=Vtg,e.shape.start&&e.shape.start.equalTo(I.pt)&&(I.is_vertex|=CtA),e.shape.end&&e.shape.end.equalTo(I.pt)&&(I.is_vertex|=WZ),I.is_vertex&CtA){I.edge_before=e.prev,e.prev&&(I.is_vertex=WZ);continue}if(I.is_vertex&WZ)continue;let t=g.addVertex(I.pt,e);I.edge_before=t}for(let I of A)I.edge_before?I.edge_after=I.edge_before.next:g instanceof wb&&I.is_vertex&CtA&&(I.edge_after=g.first)}}function WRI(g,A,I){const e=g.edge_before,t=A.edge_after,o=I.length;e.next=I[0],I[0].prev=e,I[o-1].next=t,t.prev=I[o-1]}var{INSIDE:CF,OUTSIDE:QF,BOUNDARY:vy,OVERLAP_SAME:Nio,OVERLAP_OPPOSITE:xio}=sGA,{NOT_VERTEX:cBB,START_VERTEX:VRI,END_VERTEX:jRI}=sGA,hGA=1,ntA=2,ub=3;function Fio(g,A){let[I]=stA(g,A,hGA,!0);return I}function Bog(g,A){let e=A.clone().reverse(),[t]=stA(g,e,ub,!0);return t}function zRI(g,A){let[I]=stA(g,A,ntA,!0);return I}function XRI(g,A){let[I,e]=stA(g,A,ntA,!1),t=[];for(let B of I.faces)t=[...t,...[...B.edges].map(C=>C.shape)];let o=[];for(let B of e.faces)o=[...o,...[...B.edges].map(C=>C.shape)];return[t,o]}function Cog(g,A){let[I]=stA(g,A,ub,!1),e=[];for(let t of I.faces)e=[...e,...[...t.edges].map(o=>o.shape)];return e}function $RI(g,A){let I=g.clone(),e=A.clone(),t=ANI(I,e);EtA(t),gO(I,t.int_points1_sorted),gO(e,t.int_points2_sorted),eog(t),EtA(t);let o=t.int_points1_sorted.map(C=>C.pt),B=t.int_points2_sorted.map(C=>C.pt);return[o,B]}function Uio(g,A,I,e){let t=gNI(g,I.int_points1),o=gNI(A,I.int_points2);for(INI(t,A),INI(o,g),tog(I.int_points1),tog(I.int_points2),oog(I.int_points1,A),oog(I.int_points2,g);Pio(g,A,I.int_points1,I.int_points1_sorted,I.int_points2,I););Rio(I),Qog(g,e,I.int_points1_sorted,!0),Qog(A,e,I.int_points2_sorted,!1),eNI(g,t,e,!0),eNI(A,o,e,!1)}function Jio(g,A,I,e){Kio(g,A,e,I.int_points2),Lio(g,A,I),iog(g,I.int_points1),iog(A,I.int_points2),Eog(g,I.int_points1,I.int_points2),Eog(g,I.int_points2,I.int_points1),tNI(g),tNI(A)}function stA(g,A,I,e){let t=g.clone(),o=A.clone(),B=ANI(t,o);return EtA(B),gO(t,B.int_points1_sorted),gO(o,B.int_points2_sorted),eog(B),EtA(B),Uio(t,o,B,I),e&&Jio(t,o,B,I),[t,o]}function ANI(g,A){let I={int_points1:[],int_points2:[]};for(let e of g.edges){let t=A.edges.search(e.box);for(let o of t){let B=e.shape.intersect(o.shape);for(let C of B)$Z(e,C,I.int_points1),$Z(o,C,I.int_points2)}}return I}function gNI(g,A){let I=[];for(let e of g.faces)A.find(t=>t.face===e)||I.push(e);return I}function INI(g,A){for(let I of g)I.first.bv=I.first.bvStart=I.first.bvEnd=void 0,I.first.setInclusion(A)}function Pio(g,A,I,e,t,o){let B,C,Q,i=e.length,E=!1;for(let n=0;n<i;n++){let s=e[n];s.face!==B&&(C=n,B=s.face);let r=n,a=AO(e,n,B),c;r+a<i&&e[r+a].face===B?c=r+a:c=C;let h=AO(e,c,B);Q=null;for(let d=c;d<c+h;d++){let y=e[d];if(y.face===B&&t[y.id].face===t[s.id].face){Q=y;break}}if(Q===null)continue;let l=s.edge_after,D=Q.edge_before;if(l.bv===vy&&D.bv!=vy){l.bv=D.bv;continue}if(l.bv!=vy&&D.bv===vy){D.bv=l.bv;continue}if(l.bv===vy&&D.bv===vy&&l!=D||l.bv===CF&&D.bv===QF||l.bv===QF&&D.bv===CF){let d=l.next;for(;d!=D;)d.bvStart=void 0,d.bvEnd=void 0,d.bv=void 0,d.setInclusion(A),d=d.next}if(l.bv===vy&&D.bv===vy&&l!=D){let d=l.next,y;for(;d!=D;){if(d.bv!=vy){if(y===void 0)y=d.bv;else if(d.bv!=y)throw qc.UNRESOLVED_BOUNDARY_CONFLICT}d=d.next}y!=null&&(l.bv=y,D.bv=y);continue}if(l.bv===CF&&D.bv===QF||l.bv===QF&&D.bv===CF){let d=l;for(;d!=D;){if(d.bvStart===l.bv&&d.bvEnd===D.bv){let[y,w]=d.shape.distanceTo(A);if(y<10*jA.DP_TOL){$Z(d,w.ps,I);let u=I[I.length-1];if(u.is_vertex&VRI)u.edge_after=d,u.edge_before=d.prev,d.bvStart=vy,d.bv=void 0,d.setInclusion(A);else if(u.is_vertex&jRI)u.edge_after=d.next,d.bvEnd=vy,d.bv=void 0,d.setInclusion(A);else{let p=A.addVertex(u.pt,d);u.edge_before=p,u.edge_after=p.next,p.setInclusion(A),p.next.bvStart=vy,p.next.bvEnd=void 0,p.next.bv=void 0,p.next.setInclusion(A)}let G=A.findEdgeByPoint(w.pe);$Z(G,w.pe,t);let m=t[t.length-1];if(m.is_vertex&VRI)m.edge_after=G,m.edge_before=G.prev;else if(m.is_vertex&jRI)m.edge_after=G.next;else{let p=t.find(S=>S.edge_after===G),k=A.addVertex(m.pt,G);m.edge_before=k,m.edge_after=k.next,p&&(p.edge_after=k),k.bvStart=void 0,k.bvEnd=vy,k.bv=void 0,k.setInclusion(g),k.next.bvStart=vy,k.next.bvEnd=void 0,k.next.bv=void 0,k.next.setInclusion(g)}EtA(o),E=!0;break}}d=d.next}if(E)break;throw qc.UNRESOLVED_BOUNDARY_CONFLICT}}return E}function Qog(g,A,I,e){if(!I)return;let t,o,B,C;for(let Q=0;Q<I.length;Q++){if(B=I[Q],B.face!==t&&(o=Q,t=B.face),t.isEmpty())continue;let i=Q,E=AO(I,Q,t),n;i+E<I.length&&I[i+E].face===B.face?n=i+E:n=o,C=I[n];let s=n,r=AO(I,s,t),a=B.edge_after,c=C.edge_before;if(a.bv===CF&&c.bv===CF&&A===hGA||a.bv===QF&&c.bv===QF&&A===ntA||(a.bv===QF||c.bv===QF)&&A===ub&&!e||(a.bv===CF||c.bv===CF)&&A===ub&&e||a.bv===vy&&c.bv===vy&&a.overlap&Nio&&e||a.bv===vy&&c.bv===vy&&a.overlap&xio){g.removeChain(t,a,c);for(let h=i;h<i+E;h++)I[h].edge_after=void 0;for(let h=s;h<s+r;h++)I[h].edge_before=void 0}Q+=E-1}}function Kio(g,A,I,e){for(let t of A.faces){for(let o of t)g.edges.add(o);e.find(o=>o.face===t)===void 0&&g.addFace(t.first,t.last)}}function Lio(g,A,I){if(I.int_points1.length!==0)for(let e=0;e<I.int_points1.length;e++){let t=I.int_points1[e],o=I.int_points2[e];if(t.edge_before!==void 0&&t.edge_after===void 0&&o.edge_before===void 0&&o.edge_after!==void 0&&(t.edge_before.next=o.edge_after,o.edge_after.prev=t.edge_before,t.edge_after=o.edge_after,o.edge_before=t.edge_before),o.edge_before!==void 0&&o.edge_after===void 0&&t.edge_before===void 0&&t.edge_after!==void 0&&(o.edge_before.next=t.edge_after,t.edge_after.prev=o.edge_before,o.edge_after=t.edge_after,t.edge_before=o.edge_before),t.edge_before!==void 0&&t.edge_after===void 0)for(let B of I.int_points1_sorted)B!==t&&B.edge_before===void 0&&B.edge_after!==void 0&&B.pt.equalTo(t.pt)&&(t.edge_before.next=B.edge_after,B.edge_after.prev=t.edge_before,t.edge_after=B.edge_after,B.edge_before=t.edge_before);if(o.edge_before!==void 0&&o.edge_after===void 0)for(let B of I.int_points2_sorted)B!==o&&B.edge_before===void 0&&B.edge_after!==void 0&&B.pt.equalTo(o.pt)&&(o.edge_before.next=B.edge_after,B.edge_after.prev=o.edge_before,o.edge_after=B.edge_after,B.edge_before=o.edge_before)}}function iog(g,A){for(let I of A)g.faces.delete(I.face),I.face=void 0,I.edge_before&&(I.edge_before.face=void 0),I.edge_after&&(I.edge_after.face=void 0)}function Eog(g,A,I){for(let e of A){if(e.edge_before===void 0||e.edge_after===void 0||e.face||e.edge_after.face||e.edge_before.face)continue;let t=e.edge_after,o=e.edge_before;try{ztg.testInfiniteLoop(t)}catch{throw qc.CANNOT_COMPLETE_BOOLEAN_OPERATION}let B=g.addFace(t,o);for(let C of A)C.edge_before&&C.edge_after&&C.edge_before.face===B&&C.edge_after.face===B&&(C.face=B);for(let C of I)C.edge_before&&C.edge_after&&C.edge_before.face===B&&C.edge_after.face===B&&(C.face=B)}}function eNI(g,A,I,e){for(let t of A){let o=t.first.bv;(I===hGA&&o===CF||I===ub&&o===CF&&e||I===ub&&o===QF&&!e||I===ntA&&o===QF)&&g.deleteFace(t)}}function tNI(g){const A=[];for(const I of g.edges)(!I.face||!g.faces.has(I.face))&&A.push(I);for(const I of A)g.edges.delete(I)}var Yio=Object.freeze({__proto__:null,BOOLEAN_INTERSECT:ntA,BOOLEAN_SUBTRACT:ub,BOOLEAN_UNION:hGA,calculateIntersections:$RI,innerClip:XRI,intersect:zRI,outerClip:Cog,removeNotRelevantChains:Qog,removeOldFaces:iog,restoreFaces:Eog,subtract:Bog,unify:Fio}),_io=RegExp("T.F..FFF.|T.F...F.."),bio=RegExp("T........|.T.......|...T.....|....T...."),Hio=RegExp("FT.......|F..T.....|F...T...."),vio=RegExp("T.F..F..."),Tio=RegExp("T.F..F...|.TF..F...|..FT.F...|..F.TF..."),IO=class{constructor(){this.m=new Array(9).fill(void 0)}get I2I(){return this.m[0]}set I2I(g){this.m[0]=g}get I2B(){return this.m[1]}set I2B(g){this.m[1]=g}get I2E(){return this.m[2]}set I2E(g){this.m[2]=g}get B2I(){return this.m[3]}set B2I(g){this.m[3]=g}get B2B(){return this.m[4]}set B2B(g){this.m[4]=g}get B2E(){return this.m[5]}set B2E(g){this.m[5]=g}get E2I(){return this.m[6]}set E2I(g){this.m[6]=g}get E2B(){return this.m[7]}set E2B(g){this.m[7]=g}get E2E(){return this.m[8]}set E2E(g){this.m[8]=g}toString(){return this.m.map(g=>g instanceof Array&&g.length>0?"T":g instanceof Array&&g.length===0?"F":"*").join("")}equal(){return _io.test(this.toString())}intersect(){return bio.test(this.toString())}touch(){return Hio.test(this.toString())}inside(){return vio.test(this.toString())}covered(){return Tio.test(this.toString())}};function atA(g,A){let I,e=new jA.Ray(A),t=new jA.Line(e.pt,e.norm);const o=new jA.Box(e.box.xmin-jA.DP_TOL,e.box.ymin-jA.DP_TOL,e.box.xmax+jA.DP_TOL,e.box.ymax+jA.DP_TOL);if(g.box.not_intersect(o))return jA.OUTSIDE;let B=g.edges.search(o);if(B.length===0)return jA.OUTSIDE;for(let E of B)if(E.shape.contains(A))return jA.BOUNDARY;let C=[...g.faces],Q=[];for(let E of B)for(let n of e.intersect(E.shape)){if(n.equalTo(A))return jA.BOUNDARY;Q.push({pt:n,edge:E,face_index:C.indexOf(E.face)})}Q.sort((E,n)=>NRI(E.pt.x,n.pt.x)?-1:RRI(E.pt.x,n.pt.x)?1:E.face_index<n.face_index?-1:E.face_index>n.face_index?1:E.edge.arc_length<n.edge.arc_length?-1:E.edge.arc_length>n.edge.arc_length?1:0);let i=0;for(let E=0;E<Q.length;E++){let n=Q[E];if(n.pt.equalTo(n.edge.shape.start)){if(E>0&&n.pt.equalTo(Q[E-1].pt)&&n.face_index===Q[E-1].face_index&&n.edge.prev===Q[E-1].edge)continue;let s=n.edge.prev;for(;jtg(s.length);)s=s.prev;let r=s.shape.tangentInEnd(),a=n.pt.translate(r),c=n.edge.shape.tangentInStart(),h=n.pt.translate(c),l=a.leftTo(t),D=h.leftTo(t);(l&&!D||!l&&D)&&i++}else if(n.pt.equalTo(n.edge.shape.end)){if(E>0&&n.pt.equalTo(Q[E-1].pt)&&n.face_index===Q[E-1].face_index&&n.edge.next===Q[E-1].edge)continue;let s=n.edge.next;for(;jtg(s.length);)s=s.next;let r=s.shape.tangentInStart(),a=n.pt.translate(r),c=n.edge.shape.tangentInEnd(),h=n.pt.translate(c),l=a.leftTo(t),D=h.leftTo(t);(l&&!D||!l&&D)&&i++}else if(n.edge.shape instanceof jA.Segment)i++;else{let s=n.edge.shape.box;Db(n.pt.y,s.ymin)||Db(n.pt.y,s.ymax)||i++}}return I=i%2===1?nGA:MRI,I}function qio(g,A){return eO(g,A).equal()}function oNI(g,A){return eO(g,A).intersect()}function Zio(g,A){return eO(g,A).touch()}function Oio(g,A){return!oNI(g,A)}function BNI(g,A){return eO(g,A).inside()}function CNI(g,A){return eO(g,A).covered()}function Wio(g,A){return BNI(A,g)}function QNI(g,A){return CNI(A,g)}function eO(g,A){if(g instanceof jA.Line&&A instanceof jA.Line)return Vio(g,A);if(g instanceof jA.Line&&A instanceof jA.Circle)return jio(g,A);if(g instanceof jA.Line&&A instanceof jA.Box)return zio(g,A);if(g instanceof jA.Line&&A instanceof jA.Polygon)return Xio(g,A);if((g instanceof jA.Segment||g instanceof jA.Arc)&&A instanceof jA.Polygon)return iNI(g,A);if((g instanceof jA.Segment||g instanceof jA.Arc)&&(A instanceof jA.Circle||A instanceof jA.Box))return iNI(g,new jA.Polygon(A));if(g instanceof jA.Polygon&&A instanceof jA.Polygon)return lGA(g,A);if((g instanceof jA.Circle||g instanceof jA.Box)&&(A instanceof jA.Circle||A instanceof jA.Box))return lGA(new jA.Polygon(g),new jA.Polygon(A));if((g instanceof jA.Circle||g instanceof jA.Box)&&A instanceof jA.Polygon)return lGA(new jA.Polygon(g),A);if(g instanceof jA.Polygon&&(A instanceof jA.Circle||A instanceof jA.Box))return lGA(g,new jA.Polygon(A))}function Vio(g,A){let I=new IO,e=VZ(g,A);return e.length===0?g.contains(A.pt)&&A.contains(g.pt)?(I.I2I=[g],I.I2E=[],I.E2I=[]):(I.I2I=[],I.I2E=[g],I.E2I=[A]):(I.I2I=e,I.I2E=g.split(e),I.E2I=A.split(e)),I}function jio(g,A){let I=new IO,e=yb(g,A);if(e.length===0)I.I2I=[],I.I2B=[],I.I2E=[g],I.E2I=[A];else if(e.length===1)I.I2I=[],I.I2B=e,I.I2E=g.split(e),I.E2I=[A];else{let t=new wb([g]),o=g.sortPoints(e);t.split(o);let B=t.toShapes();I.I2I=[B[1]],I.I2B=o,I.I2E=[B[0],B[2]],I.E2I=new jA.Polygon([A.toArc()]).cutWithLine(g)}return I}function zio(g,A){let I=new IO,e=jZ(g,A);if(e.length===0)I.I2I=[],I.I2B=[],I.I2E=[g],I.E2I=[A];else if(e.length===1)I.I2I=[],I.I2B=e,I.I2E=g.split(e),I.E2I=[A];else{let t=new wb([g]),o=g.sortPoints(e);t.split(o);let B=t.toShapes();A.toSegments().some(C=>C.contains(e[0])&&C.contains(e[1]))?(I.I2I=[],I.I2B=[B[1]],I.I2E=[B[0],B[2]],I.E2I=[A]):(I.I2I=[B[1]],I.I2B=o,I.I2E=[B[0],B[2]],I.E2I=new jA.Polygon(A.toSegments()).cutWithLine(g))}return I}function Xio(g,A){let I=new IO,e=itA(g,A),t=new wb([g]),o=e.length>0?e.slice():g.sortPoints(e);return t.split(o),[...t].forEach(B=>B.setInclusion(A)),I.I2I=[...t].filter(B=>B.bv===jA.INSIDE).map(B=>B.shape),I.I2B=[...t].slice(1).map(B=>B.bv===jA.BOUNDARY?B.shape:B.shape.start),I.I2E=[...t].filter(B=>B.bv===jA.OUTSIDE).map(B=>B.shape),I.E2I=A.cutWithLine(g),I}function iNI(g,A){let I=new IO,e=mio(g,A),t=e.length>0?e.slice():g.sortPoints(e),o=new wb([g]);o.split(t),[...o].forEach(B=>B.setInclusion(A)),I.I2I=[...o].filter(B=>B.bv===jA.INSIDE).map(B=>B.shape),I.I2B=[...o].slice(1).map(B=>B.bv===jA.BOUNDARY?B.shape:B.shape.start),I.I2E=[...o].filter(B=>B.bv===jA.OUTSIDE).map(B=>B.shape),I.B2I=[],I.B2B=[],I.B2E=[];for(let B of[g.start,g.end])switch(atA(A,B)){case jA.INSIDE:I.B2I.push(B);break;case jA.BOUNDARY:I.B2B.push(B);break;case jA.OUTSIDE:I.B2E.push(B);break}return I}function lGA(g,A){let I=new IO,[e,t]=$RI(g,A),o=zRI(g,A),B=Bog(g,A),C=Bog(A,g),[Q,i]=XRI(g,A),E=Cog(g,A),n=Cog(A,g);return I.I2I=o.isEmpty()?[]:[o],I.I2B=i,I.I2E=B.isEmpty()?[]:[B],I.B2I=Q,I.B2B=e,I.B2E=E,I.E2I=C.isEmpty()?[]:[C],I.E2B=n,I}var $io=Object.freeze({__proto__:null,contain:Wio,cover:QNI,covered:CNI,disjoint:Oio,equal:qio,inside:BNI,intersect:oNI,relate:eO,touch:Zio}),rtA=class L9{constructor(A=1,I=0,e=0,t=1,o=0,B=0){this.a=A,this.b=I,this.c=e,this.d=t,this.tx=o,this.ty=B}fromMatrix3x3(A){const[I,e,t]=A[0],[o,B,C]=A[1];return new L9(I,o,e,B,t,C)}toMatrix3x3(){return[[this.a,this.c,this.tx],[this.b,this.d,this.ty],[0,0,1]]}clone(){return new L9(this.a,this.b,this.c,this.d,this.tx,this.ty)}transform(A){return[A[0]*this.a+A[1]*this.c+this.tx,A[0]*this.b+A[1]*this.d+this.ty]}multiply(A){return new L9(this.a*A.a+this.c*A.b,this.b*A.a+this.d*A.b,this.a*A.c+this.c*A.d,this.b*A.c+this.d*A.d,this.a*A.tx+this.c*A.ty+this.tx,this.b*A.tx+this.d*A.ty+this.ty)}translate(...A){let I,e;if(A.length==1&&!isNaN(A[0].x)&&!isNaN(A[0].y))I=A[0].x,e=A[0].y;else if(A.length===2&&typeof A[0]=="number"&&typeof A[1]=="number")I=A[0],e=A[1];else throw qc.ILLEGAL_PARAMETERS;return this.multiply(new L9(1,0,0,1,I,e))}rotate(A,I=0,e=0){let t=Math.cos(A),o=Math.sin(A);return this.translate(I,e).multiply(new L9(t,o,-o,t,0,0)).translate(-I,-e)}scale(A,I){return this.multiply(new L9(A,0,0,I,0,0))}equalTo(A){return!(!jA.Utils.EQ(this.tx,A.tx)||!jA.Utils.EQ(this.ty,A.ty)||!jA.Utils.EQ(this.a,A.a)||!jA.Utils.EQ(this.b,A.b)||!jA.Utils.EQ(this.c,A.c)||!jA.Utils.EQ(this.d,A.d))}};jA.Matrix=rtA;var AEo=(...g)=>new jA.Matrix(...g);jA.matrix=AEo;var gEo=class{constructor(g,A){this.low=g,this.high=A}get max(){return this.clone()}less_than(g){return this.low<g.low||this.low===g.low&&this.high<g.high}equal_to(g){return this.low===g.low&&this.high===g.high}intersect(g){return!this.not_intersect(g)}not_intersect(g){return this.high<g.low||g.high<this.low}merge(g){const A=this.low===void 0?g.low:this.low<g.low?this.low:g.low,I=this.high===void 0?g.high:this.high>g.high?this.high:g.high,e=this.clone();return e.low=A,e.high=I,e}output(){return[this.low,this.high]}comparable_less_than(g,A){return g<A}},IEo=class nOI extends gEo{clone(){return new nOI(this.low,this.high)}},Au=1,la=0,sL=class{constructor(A,I,e=null,t=null,o=null,B=la){if(this.left=e,this.right=t,this.parent=o,this.color=B,this.item={key:void 0,values:[]},I!==void 0&&this.item.values.push(I),A!==void 0)if(Array.isArray(A)){const[C,Q]=A;if(!Number.isNaN(C)&&!Number.isNaN(Q)){let i=C,E=Q;i>E&&([i,E]=[E,i]),this.item.key=new IEo(i,E)}}else this.item.key=A;this.max=this.item.key?this.item.key.max:void 0}isNil(){return this.item.key===void 0&&this.item.values.length===0&&this.left===null&&this.right===null&&this.color===la}requireKey(){if(!this.item.key)throw new Error("Node key is undefined (nil/sentinel). Operation is not applicable.");return this.item.key}less_than(A){const I=this.requireKey(),e=A.requireKey();return I.less_than(e)}_value_equal(A){const I=this.item.values[0],e=A.item.values[0];return I&&e&&I.equal_to?I.equal_to(e):I===e}equal_to(A){const I=this.requireKey(),e=A.requireKey();return I.equal_to(e)}intersect(A){const I=this.requireKey(),e=A.requireKey();return I.intersect(e)}copy_data(A){this.item.key=A.item.key,this.item.values=A.item.values.slice()}update_max(){this.max=this.item.key?this.item.key.max:void 0,this.right&&this.right.max&&(this.max=this.max?this.max.merge(this.right.max):this.right.max),this.left&&this.left.max&&(this.max=this.max?this.max.merge(this.left.max):this.left.max)}not_intersect_left_subtree(A){if(!this.left)return!0;const I=this.left.max?this.left.max.high:this.left.item.key.high,e=this.requireKey(),t=A.requireKey();return e.comparable_less_than(I,t.low)}not_intersect_right_subtree(A){if(!this.right)return!0;const I=this.right.max?this.right.max.low:this.right.item.key.low,e=this.requireKey(),t=A.requireKey();return e.comparable_less_than(t.high,I)}},nog=class sOI{constructor(){this.root=null,this.nil_node=new sL}get size(){let A=0;return this.tree_walk(this.root,I=>A+=I.item.values.length),A}get keys(){const A=[];return this.tree_walk(this.root,I=>A.push(I.item.key.output())),A}get values(){const A=[];return this.tree_walk(this.root,I=>{for(const e of I.item.values)A.push(e)}),A}get items(){const A=[];return this.tree_walk(this.root,I=>{const e=I.item.key.output();for(const t of I.item.values)A.push({key:e,value:t})}),A}isEmpty(){return this.root==null||this.root===this.nil_node}clear(){this.root=null}insert(A,I=A){if(A===void 0)return;const e=this.tree_search(this.root,new sL(A));if(e)return e.item.values.push(I),e;const t=new sL(A,I,this.nil_node,this.nil_node,null,Au);return this.tree_insert(t),this.recalc_max(t),t}exist(A,I=A){const e=this.tree_search(this.root,new sL(A));return e?arguments.length<2||I===A?!0:e.item.values.some(t=>t&&t.equal_to?t.equal_to(I):t===I):!1}remove(A,I=A){const e=this.tree_search(this.root,new sL(A));if(!e)return;if(arguments.length<2)return this.tree_delete(e),e;const t=e.item.values.findIndex(o=>o&&o.equal_to?o.equal_to(I):o===I);if(t>=0)return e.item.values.splice(t,1),e.item.values.length===0&&this.tree_delete(e),e}search(A,I=(e,t)=>e===t?t.output():e){const e=new sL(A),t=[];this.tree_search_interval(this.root,e,t);const o=[];for(const B of t)for(const C of B.item.values)o.push(I(C,B.item.key));return o}intersect_any(A){const I=new sL(A);return this.tree_find_any_interval(this.root,I)}forEach(A){this.tree_walk(this.root,I=>{for(const e of I.item.values)A(I.item.key,e)})}map(A){const I=new sOI;return this.tree_walk(this.root,e=>{for(const t of e.item.values)I.insert(e.item.key,A(t,e.item.key))}),I}*iterate(A,I=(e,t)=>e===t?t.output():e){let e=null;for(A?e=this.tree_search_nearest_forward(this.root,new sL(A)):this.root&&(e=this.local_minimum(this.root));e;){for(const t of e.item.values)yield I(t,e.item.key);e=this.tree_successor(e)}}recalc_max(A){let I=A;for(;I.parent!=null;)I.parent.update_max(),I=I.parent}tree_insert(A){let I=this.root,e=null;if(this.root==null||this.root===this.nil_node)this.root=A;else{for(;I!==this.nil_node;)e=I,A.less_than(I)?I=I.left:I=I.right;A.parent=e,A.less_than(e)?e.left=A:e.right=A}this.insert_fixup(A)}insert_fixup(A){let I,e;for(I=A;I!==this.root&&I.parent.color===Au;)I.parent===I.parent.parent.left?(e=I.parent.parent.right,e.color===Au?(I.parent.color=la,e.color=la,I.parent.parent.color=Au,I=I.parent.parent):(I===I.parent.right&&(I=I.parent,this.rotate_left(I)),I.parent.color=la,I.parent.parent.color=Au,this.rotate_right(I.parent.parent))):(e=I.parent.parent.left,e.color===Au?(I.parent.color=la,e.color=la,I.parent.parent.color=Au,I=I.parent.parent):(I===I.parent.left&&(I=I.parent,this.rotate_right(I)),I.parent.color=la,I.parent.parent.color=Au,this.rotate_left(I.parent.parent)));this.root.color=la}tree_delete(A){let I,e;A.left===this.nil_node||A.right===this.nil_node?I=A:I=this.tree_successor(A),I.left!==this.nil_node?e=I.left:e=I.right,e.parent=I.parent,I===this.root?this.root=e:(I===I.parent.left?I.parent.left=e:I.parent.right=e,I.parent.update_max()),this.recalc_max(e),I!==A&&(A.copy_data(I),A.update_max(),this.recalc_max(A)),I.color===la&&this.delete_fixup(e)}delete_fixup(A){let I=A,e;for(;I!==this.root&&I.parent!=null&&I.color===la;)I===I.parent.left?(e=I.parent.right,e.color===Au&&(e.color=la,I.parent.color=Au,this.rotate_left(I.parent),e=I.parent.right),e.left.color===la&&e.right.color===la?(e.color=Au,I=I.parent):(e.right.color===la&&(e.color=Au,e.left.color=la,this.rotate_right(e),e=I.parent.right),e.color=I.parent.color,I.parent.color=la,e.right.color=la,this.rotate_left(I.parent),I=this.root)):(e=I.parent.left,e.color===Au&&(e.color=la,I.parent.color=Au,this.rotate_right(I.parent),e=I.parent.left),e.left.color===la&&e.right.color===la?(e.color=Au,I=I.parent):(e.left.color===la&&(e.color=Au,e.right.color=la,this.rotate_left(e),e=I.parent.left),e.color=I.parent.color,I.parent.color=la,e.left.color=la,this.rotate_right(I.parent),I=this.root));I.color=la}tree_search(A,I){if(!(A==null||A===this.nil_node))return I.equal_to(A)?A:I.less_than(A)?this.tree_search(A.left,I):this.tree_search(A.right,I)}tree_search_nearest_forward(A,I){let e=null,t=A;for(;t&&t!==this.nil_node;)t.less_than(I)?t.intersect(I)?(e=t,t=t.left):t=t.right:((!e||t.less_than(e))&&(e=t),t=t.left);return e||null}tree_search_interval(A,I,e){A!=null&&A!==this.nil_node&&(A.left!==this.nil_node&&!A.not_intersect_left_subtree(I)&&this.tree_search_interval(A.left,I,e),A.intersect(I)&&e.push(A),A.right!==this.nil_node&&!A.not_intersect_right_subtree(I)&&this.tree_search_interval(A.right,I,e))}tree_find_any_interval(A,I){let e=!1;return A!=null&&A!==this.nil_node&&(A.left!==this.nil_node&&!A.not_intersect_left_subtree(I)&&(e=this.tree_find_any_interval(A.left,I)),e||(e=A.intersect(I)),!e&&A.right!==this.nil_node&&!A.not_intersect_right_subtree(I)&&(e=this.tree_find_any_interval(A.right,I))),e}local_minimum(A){let I=A;for(;I.left!=null&&I.left!==this.nil_node;)I=I.left;return I}local_maximum(A){let I=A;for(;I.right!=null&&I.right!==this.nil_node;)I=I.right;return I}tree_successor(A){let I,e,t;if(A.right!==this.nil_node)I=this.local_minimum(A.right);else{for(e=A,t=A.parent;t!=null&&t.right===e;)e=t,t=t.parent;I=t}return I}rotate_left(A){const I=A.right;A.right=I.left,I.left!==this.nil_node&&(I.left.parent=A),I.parent=A.parent,A===this.root?this.root=I:A===A.parent.left?A.parent.left=I:A.parent.right=I,I.left=A,A.parent=I,A!==null&&A!==this.nil_node&&A.update_max(),I!=null&&I!==this.nil_node&&I.update_max()}rotate_right(A){const I=A.left;A.left=I.right,I.right!==this.nil_node&&(I.right.parent=A),I.parent=A.parent,A===this.root?this.root=I:A===A.parent.left?A.parent.left=I:A.parent.right=I,I.right=A,A.parent=I,A!==null&&A!==this.nil_node&&A.update_max(),I!=null&&I!==this.nil_node&&I.update_max()}tree_walk(A,I){A!=null&&A!==this.nil_node&&(this.tree_walk(A.left,I),I(A),this.tree_walk(A.right,I))}testRedBlackProperty(){let A=!0;return this.tree_walk(this.root,function(I){I.color===Au&&(I.left.color===la&&I.right.color===la||(A=!1))}),A}testBlackHeightProperty(A){let I=0,e=0,t=0;if(A.color===la&&I++,A.left!==this.nil_node?e=this.testBlackHeightProperty(A.left):e=1,A.right!==this.nil_node?t=this.testBlackHeightProperty(A.right):t=1,e!==t)throw new Error("Red-black height property violated");return I+=e,I}},eEo=class extends Set{constructor(g){super(g),this.index=new nog,this.forEach(A=>this.index.insert(A))}add(g){let A=this.size;const{key:I,value:e}=g,t=I||g.box,o=e||g;return super.add(o),this.size>A&&this.index.insert(t,o),this}delete(g){const{key:A,value:I}=g,e=A||g.box,t=I||g;let o=super.delete(t);return o&&this.index.remove(e,t),o}clear(){super.clear(),this.index=new nog}search(g){return this.index.search(g)}hit(g){let A=new jA.Box(g.x-1,g.y-1,g.x+1,g.y+1);return this.index.search(A).filter(e=>g.on(e))}svg(){return[...this].reduce((A,I)=>A+I.svg(),"")}};jA.PlanarSet=eEo;var aL=class{get name(){throw qc.CANNOT_INVOKE_ABSTRACT_METHOD}get box(){throw qc.CANNOT_INVOKE_ABSTRACT_METHOD}clone(){throw qc.CANNOT_INVOKE_ABSTRACT_METHOD}translate(...g){return this.transform(new rtA().translate(...g))}rotate(g,A=new jA.Point){return this.transform(new rtA().rotate(g,A.x,A.y))}scale(g,A){return this.transform(new rtA().scale(g,A))}transform(...g){throw qc.CANNOT_INVOKE_ABSTRACT_METHOD}toJSON(){return Object.assign({},this,{name:this.name})}svg(g={}){throw qc.CANNOT_INVOKE_ABSTRACT_METHOD}},tEo=class aOI extends aL{constructor(...A){if(super(),this.x=0,this.y=0,A.length!==0){if(A.length===1&&A[0]instanceof Array&&A[0].length===2){let I=A[0];if(typeof I[0]=="number"&&typeof I[1]=="number"){this.x=I[0],this.y=I[1];return}}if(A.length===1&&A[0]instanceof Object&&A[0].name==="point"){let{x:I,y:e}=A[0];this.x=I,this.y=e;return}if(A.length===2&&typeof A[0]=="number"&&typeof A[1]=="number"){this.x=A[0],this.y=A[1];return}throw qc.ILLEGAL_PARAMETERS}}get box(){return new jA.Box(this.x,this.y,this.x,this.y)}clone(){return new jA.Point(this.x,this.y)}get vertices(){return[this.clone()]}equalTo(A){return jA.Utils.EQ(this.x,A.x)&&jA.Utils.EQ(this.y,A.y)}lessThan(A){return!!(jA.Utils.LT(this.y,A.y)||jA.Utils.EQ(this.y,A.y)&&jA.Utils.LT(this.x,A.x))}transform(A){return new jA.Point(A.transform([this.x,this.y]))}projectionOn(A){if(this.equalTo(A.pt))return this.clone();let I=new jA.Vector(this,A.pt);if(jA.Utils.EQ_0(I.cross(A.norm)))return A.pt.clone();let e=I.dot(A.norm),t=A.norm.multiply(e);return this.translate(t)}leftTo(A){let I=new jA.Vector(A.pt,this);return jA.Utils.GT(I.dot(A.norm),0)}distanceTo(A){if(A instanceof aOI){let I=A.x-this.x,e=A.y-this.y;return[Math.sqrt(I*I+e*e),new jA.Segment(this,A)]}if(A instanceof jA.Line)return jA.Distance.point2line(this,A);if(A instanceof jA.Circle)return jA.Distance.point2circle(this,A);if(A instanceof jA.Segment)return jA.Distance.point2segment(this,A);if(A instanceof jA.Arc)return jA.Distance.point2arc(this,A);if(A instanceof jA.Box)return jA.Distance.point2polygon(this,new jA.Polygon(A));if(A instanceof jA.Polygon)return jA.Distance.point2polygon(this,A);if(A instanceof jA.PlanarSet)return jA.Distance.shape2planarSet(this,A);if(A instanceof jA.Multiline)return jA.Distance.shape2multiline(this,A)}on(A){if(A instanceof jA.Point)return this.equalTo(A);if(A.contains&&A.contains instanceof Function)return A.contains(this);throw jA.Errors.UNSUPPORTED_SHAPE_TYPE}get name(){return"point"}svg(A={}){const I=A.r??3;return`
@@ -5435,7 +5435,7 @@ ${e.svg()}`;return I+=`" >
5435
5435
  transition: opacity 0.2s;
5436
5436
  margin-bottom: 10px;
5437
5437
  color: red;
5438
- `,Nao=[];function xao(g){return g.type==="source_component"?g.source_component_id:g.type==="pcb_component"?g.pcb_component_id:"component"}var Fao=({children:g,transform:A=VJ(),elements:I})=>{const e=z.useRef(null),{isShowingDRCErrors:t,hoveredErrorId:o,focusedErrorId:B}=ni(l=>({isShowingDRCErrors:l.is_showing_drc_errors,hoveredErrorId:l.hovered_error_id,focusedErrorId:l.focused_error_id})),C=B??o,Q=I??Nao,i=z.useMemo(()=>Q.filter(l=>l.type==="pcb_trace_error"&&!l.message?.includes("Multiple components found with name")),[Q]),E=z.useMemo(()=>Q.filter(l=>l.type==="pcb_via_clearance_error"),[Q]),n=z.useMemo(()=>Q.filter(l=>l.type==="pcb_trace_error"&&!!l.message?.includes("Multiple components found with name")),[Q]),s=z.useMemo(()=>YNI(Q),[Q]),r=z.useMemo(()=>TNI(Q,C),[C,Q]),a=z.useMemo(()=>n.map((l,D)=>{const d=("component_name"in l&&typeof l.component_name=="string"?l.component_name:void 0)??l.message?.match(/name "([^"]+)"/)?.[1];return d?{components:Q.filter(w=>w.type==="source_component"&&w.name===d||w.type==="pcb_component"&&Q.some(u=>u.type==="source_component"&&u.source_component_id===w.source_component_id&&u.name===d)),error:l,errorIndex:D}:{components:[],error:l,errorIndex:D}}),[n,Q]);if(!I)return T.jsx("div",{style:{position:"relative"},ref:e,children:g});const c=l=>{const D=Hno({error:l,indexes:s});if(!D||typeof D.x!="number"||typeof D.y!="number")return null;const d=Mt(A,D);return Number.isNaN(d.x)||Number.isNaN(d.y)?null:d};let h=null;return r&&(h=c(r)),T.jsxs("div",{style:{position:"relative"},ref:e,children:[g,i.map((l,D)=>{const d=tO(l,D),y=C===d;if(!y&&!t)return null;const w=c(l);if(!w)return null;const u=pog(w,e);return T.jsxs(z.Fragment,{children:[T.jsx(k1I,{errorCenter:w,isHighlighted:y}),T.jsx("div",{style:{position:"absolute",left:w.x-15,top:w.y-15,width:30,height:30,zIndex:Da.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:G=>{const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="1")}},onMouseLeave:G=>{if(!y){const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="0")}}}}),T.jsx("div",{style:{position:"absolute",zIndex:y?200:100,left:u.left,top:u.top,color:y?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:t||y?"flex":"none",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:u.transform},children:T.jsx("div",{className:`error-message ${kog}`,style:{opacity:y?1:0,border:`1px solid ${y?"#ff4444":"red"}`},children:l.message})})]},d)}),E.map((l,D)=>{const d=tO(l,D),y=C===d;if(!y&&!t)return null;const w=c(l);if(!w)return null;const u=pog({x:w.x,y:w.y},e);return T.jsxs(z.Fragment,{children:[T.jsx(k1I,{errorCenter:w,isHighlighted:y}),T.jsx("div",{style:{position:"absolute",left:w.x-15,top:w.y-15,width:30,height:30,zIndex:Da.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:G=>{const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="1")}},onMouseLeave:G=>{if(!y){const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="0")}}}}),T.jsx("div",{style:{position:"absolute",zIndex:y?Da.errorOverlay+10:Da.errorOverlay+1,left:u.left,top:u.top,color:y?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:"flex",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:u.transform},children:T.jsx("div",{className:`error-message ${kog}`,style:{opacity:y?1:0,border:`1px solid ${y?"#ff4444":"red"}`},children:l.message})})]},d)}),a.map(({components:l,error:D,errorIndex:d})=>{const y=tO(D,d),w=C===y;return!w&&!t?null:l.map(u=>{let G={x:0,y:0};if(u.type==="pcb_component")G=u.center||{x:0,y:0};else if(u.type==="source_component"){const U=I?.find(K=>K.type==="pcb_component"&&K.source_component_id===u.source_component_id);U&&U.type==="pcb_component"&&(G=U.center||{x:0,y:0})}const m=Mt(A,G);if(Number.isNaN(m.x)||Number.isNaN(m.y))return null;const p=Math.abs(A.a),x=Math.max(8,Math.min(30,.5*p)),N=pog(m,e);return T.jsxs(z.Fragment,{children:[T.jsx("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none",mixBlendMode:"difference",zIndex:Da.errorOverlay},width:"100%",height:"100%",children:w?T.jsx("polygon",{points:`${m.x},${m.y-x*1.25} ${m.x+x},${m.y} ${m.x},${m.y+x*1.25} ${m.x-x},${m.y}`,fill:"#ff4444"}):T.jsx("circle",{cx:m.x,cy:m.y,r:x,fill:"none",stroke:w?"#ff4444":"red",strokeWidth:w?Math.max(2,x*.15):Math.max(1,x*.1),opacity:1})}),T.jsx("div",{style:{position:"absolute",left:m.x-(x+10),top:m.y-(x+10),width:(x+10)*2,height:(x+10)*2,zIndex:Da.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:U=>{const K=U.currentTarget.nextElementSibling;if(K){const Y=K.querySelector(".error-message");Y&&(Y.style.opacity="1")}},onMouseLeave:U=>{if(!w){const K=U.currentTarget.nextElementSibling;if(K){const Y=K.querySelector(".error-message");Y&&(Y.style.opacity="0")}}}}),T.jsx("div",{style:{position:"absolute",zIndex:w?Da.errorOverlay+20:Da.errorOverlay+10,left:N.left,top:N.top,color:w?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:t||w?"flex":"none",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:N.transform},children:T.jsx("div",{className:`error-message ${kog}`,style:{opacity:w?1:0,border:`1px solid ${w?"#ff4444":"red"}`},children:D.message})})]},`${y}_${u.type}_${xao(u)}`)})}),h&&T.jsx(Rao,{center:h})]})},M1I=(g,A,I,e)=>{if(I<=0||e<=0)return;const t=g.find(B=>B.type==="pcb_component"&&B.pcb_component_id===A);if(t?.type!=="pcb_component")return;const o=GNI(t);if(o)return{component:t,bounds:o,transform:vNI({bounds:o,width:I,height:e})}},Uao=({focusRequest:g,elements:A,transform:I})=>{const e=g?.pcbComponentId,t=ni(E=>E.selectLayer),o=e?M1I(A,e,1,1):void 0,B=o?.component.layer;if(z.useEffect(()=>{B&&t(B)},[g,B,t]),!o||!I)return null;const{bounds:C}=o,Q=Mt(I,{x:C.minX,y:C.minY}),i=Mt(I,{x:C.maxX,y:C.maxY});return T.jsx("div",{"data-focused-pcb-component-id":e,style:{position:"absolute",left:Math.min(Q.x,i.x)-4,top:Math.min(Q.y,i.y)-4,width:Math.abs(i.x-Q.x)+8,height:Math.abs(i.y-Q.y)+8,border:"2px solid #3399ff",borderRadius:4,boxSizing:"border-box",pointerEvents:"none",zIndex:Da.elementOverlay}})};function Jao(g,A){return g.size!==A.size?!1:Array.from(g).every(I=>A.has(I))}var ec={MIN_LINE_LENGTH_FOR_LABEL:40,LABEL_OFFSET_ABOVE:2,LABEL_OFFSET_BELOW:-18,LABEL_OFFSET_RIGHT:8,LABEL_OFFSET_LEFT:-120,Y_LABEL_MIN_WIDTH:110,LINE_STROKE_WIDTH:1.5,LINE_DASH_PATTERN:"4,4",COMPONENT_MARKER_RADIUS:3,LABEL_FONT_SIZE:11,ANCHOR_MARKER_SIZE:6,ANCHOR_MARKER_STROKE_WIDTH:1.5},GS={OFFSET_LINE:"white",COMPONENT_MARKER_FILL:"#66ccff",COMPONENT_MARKER_STROKE:"white",LABEL_TEXT:"white"},Mog=({targets:g,transform:A,containerWidth:I,containerHeight:e})=>{if(g.length===0)return null;const t={color:GS.LABEL_TEXT,mixBlendMode:"difference",pointerEvents:"none",fontSize:ec.LABEL_FONT_SIZE,fontFamily:"monospace",fontWeight:"bold"},o=new Map;return g.forEach(B=>{if(!o.has(B.anchor_id)){const C=Mt(A,B.anchor);o.set(B.anchor_id,C)}}),T.jsx("div",{style:{position:"absolute",left:0,top:0,width:I,height:e,overflow:"hidden",pointerEvents:"none",zIndex:Da.dimensionOverlay},children:T.jsxs("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none"},width:I,height:e,children:[g.map(B=>{const C=B.anchor,Q=B.anchor_id,i=B.target,E=o.get(Q),n=Mt(A,i),s=i.x-C.x,r=i.y-C.y,a=Math.abs(n.x-E.x),c=Math.abs(n.y-E.y),h=n.y<E.y,l=n.x>E.x,D=h?ec.LABEL_OFFSET_ABOVE:ec.LABEL_OFFSET_BELOW,d=l?ec.LABEL_OFFSET_RIGHT:ec.LABEL_OFFSET_LEFT,y=a>ec.MIN_LINE_LENGTH_FOR_LABEL,w=c>ec.MIN_LINE_LENGTH_FOR_LABEL,u=`${B.display_offset_x??s.toFixed(2)}mm`,G=`${B.display_offset_y??r.toFixed(2)}mm`;return T.jsxs("g",{children:[T.jsx("line",{x1:E.x,y1:E.y,x2:n.x,y2:E.y,stroke:GS.OFFSET_LINE,strokeWidth:ec.LINE_STROKE_WIDTH,strokeDasharray:ec.LINE_DASH_PATTERN}),T.jsx("line",{x1:n.x,y1:E.y,x2:n.x,y2:n.y,stroke:GS.OFFSET_LINE,strokeWidth:ec.LINE_STROKE_WIDTH,strokeDasharray:ec.LINE_DASH_PATTERN}),B.type==="component"||B.type==="board"?T.jsx("circle",{cx:n.x,cy:n.y,r:ec.COMPONENT_MARKER_RADIUS,fill:GS.COMPONENT_MARKER_FILL,stroke:GS.COMPONENT_MARKER_STROKE,strokeWidth:1}):T.jsxs(T.Fragment,{children:[T.jsx("line",{x1:n.x-ec.ANCHOR_MARKER_SIZE,y1:n.y,x2:n.x+ec.ANCHOR_MARKER_SIZE,y2:n.y,stroke:GS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH}),T.jsx("line",{x1:n.x,y1:n.y-ec.ANCHOR_MARKER_SIZE,x2:n.x,y2:n.y+ec.ANCHOR_MARKER_SIZE,stroke:GS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH})]}),y&&T.jsx("foreignObject",{x:Math.min(E.x,n.x),y:E.y+D,width:Math.abs(n.x-E.x),height:20,style:{overflow:"visible"},children:T.jsx("div",{style:{...t,textAlign:"center"},children:u})}),w&&T.jsx("foreignObject",{x:n.x+d,y:Math.min(E.y,n.y),width:ec.Y_LABEL_MIN_WIDTH,height:Math.abs(n.y-E.y),style:{overflow:"visible"},children:T.jsx("div",{style:{...t,display:"flex",alignItems:"center",justifyContent:l?"flex-start":"flex-end",whiteSpace:"nowrap",padding:"0 4px",height:"100%"},children:G})})]},B.id)}),Array.from(o.entries()).map(([B,C])=>T.jsxs("g",{children:[T.jsx("line",{x1:C.x-ec.ANCHOR_MARKER_SIZE,y1:C.y,x2:C.x+ec.ANCHOR_MARKER_SIZE,y2:C.y,stroke:GS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH}),T.jsx("line",{x1:C.x,y1:C.y-ec.ANCHOR_MARKER_SIZE,x2:C.x,y2:C.y+ec.ANCHOR_MARKER_SIZE,stroke:GS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH})]},`anchor-${B}`))]})})},DL=g=>g?.type==="pcb_component",S1I=g=>g?.type==="pcb_group",Pao=g=>g?.type==="pcb_panel",Sog=g=>g?.type==="pcb_board",Kao=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=ni(l=>l.is_showing_group_anchor_offsets),B=A.map(l=>DL(l._parent_pcb_component)?l._parent_pcb_component.pcb_component_id:DL(l._element)?l._element.pcb_component_id:null).filter(l=>!!l);if(!o&&B.length===0)return null;const C=g.filter(l=>Sog(l)),Q=g.filter(l=>DL(l)),i=g.filter(l=>S1I(l)),E=new Set;B.forEach(l=>{const D=Q.find(d=>d.pcb_component_id===l);D?.pcb_group_id&&E.add(D.pcb_group_id)});const n=Q.map(l=>{const D=l.positioned_relative_to_pcb_board_id;if(!D)return null;const d=C.find(y=>y.pcb_board_id===D);return d?{component:l,board:d,type:"component"}:null}).filter(l=>!!l),s=i.map(l=>{const D=l.positioned_relative_to_pcb_board_id;if(!D||!l.center)return null;const d=C.find(y=>y.pcb_board_id===D);return d?{group:l,board:d,type:"group"}:null}).filter(l=>!!l),r=[...n,...s];if(r.length===0)return null;const a=B.length===0,c=r.filter(l=>l.type==="component"?a||B.includes(l.component.pcb_component_id):a||E.has(l.group.pcb_group_id));if(c.length===0)return null;const h=c.map(l=>l.type==="component"?{id:`${l.board.pcb_board_id}-${l.component.pcb_component_id}-${l.type}`,anchor:l.board.center,anchor_id:l.board.pcb_board_id,target:l.component.center,type:"component",display_offset_x:l.component.display_offset_x,display_offset_y:l.component.display_offset_y}:{id:`${l.board.pcb_board_id}-${l.group.pcb_group_id}-${l.type}`,anchor:l.board.center,anchor_id:l.board.pcb_board_id,target:{x:l.group.anchor_position?.x??l.group.center.x,y:l.group.anchor_position?.y??l.group.center.y},type:"group",display_offset_x:l.group.display_offset_x,display_offset_y:l.group.display_offset_y}).filter(l=>!!l);return T.jsx(Mog,{targets:h,transform:I,containerWidth:e,containerHeight:t})},Lao=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=ni(l=>l.is_showing_group_anchor_offsets),B=A.map(l=>DL(l._parent_pcb_component)?l._parent_pcb_component.pcb_component_id:DL(l._element)?l._element.pcb_component_id:null).filter(l=>!!l);if(!o&&B.length===0)return null;const C=g.filter(l=>S1I(l)),Q=g.filter(l=>DL(l)),i=(l,D)=>{if(D.has(l))return;D.add(l);const d=C.find(y=>y.pcb_group_id===l);d?.position_mode==="relative_to_group_anchor"&&d.positioned_relative_to_pcb_group_id&&i(d.positioned_relative_to_pcb_group_id,D)},E=new Set;B.forEach(l=>{const D=Q.find(d=>d.pcb_component_id===l);D&&(D.position_mode==="relative_to_group_anchor"&&D.positioned_relative_to_pcb_group_id&&i(D.positioned_relative_to_pcb_group_id,E),D.pcb_group_id&&i(D.pcb_group_id,E))});const n=Q.map(l=>{if(l.position_mode==="relative_to_group_anchor"&&l.positioned_relative_to_pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.positioned_relative_to_pcb_group_id);return D?.anchor_position?{component:l,parentGroup:D,type:"component"}:null}if(l.pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.pcb_group_id);return D?.anchor_position?{component:l,parentGroup:D,type:"component"}:null}return null}).filter(l=>!!l),s=C.map(l=>{if(l.position_mode==="relative_to_group_anchor"&&l.positioned_relative_to_pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.positioned_relative_to_pcb_group_id);if(D?.anchor_position&&l.anchor_position)return{group:l,parentGroup:D,type:"group"}}return null}).filter(l=>!!l),r=[...n,...s];if(r.length===0)return null;const a=B.length===0,c=r.filter(l=>l.type==="component"?a||B.includes(l.component.pcb_component_id):a||E.has(l.group.pcb_group_id)||E.has(l.parentGroup.pcb_group_id));if(c.length===0)return null;const h=c.map(l=>{const D=l.parentGroup.anchor_position;return D?l.type==="component"?l.component.center?{id:`${l.parentGroup.pcb_group_id}-${l.component.pcb_component_id}-${l.type}`,anchor:D,anchor_id:l.parentGroup.pcb_group_id,target:l.component.center,type:"component",display_offset_x:l.component.display_offset_x,display_offset_y:l.component.display_offset_y}:null:l.group.anchor_position?{id:`${l.parentGroup.pcb_group_id}-${l.group.pcb_group_id}-${l.type}`,anchor:D,anchor_id:l.parentGroup.pcb_group_id,target:l.group.anchor_position,type:"group",display_offset_x:l.group.display_offset_x,display_offset_y:l.group.display_offset_y}:null:null}).filter(l=>!!l);return T.jsx(Mog,{targets:h,transform:I,containerWidth:e,containerHeight:t})},Yao=(g,A)=>{const I=g.pcb_component_id,e=A.filter(t=>(t.type==="pcb_smtpad"||t.type==="pcb_plated_hole")&&t.pcb_component_id===I||t.type==="pcb_hole"&&t.pcb_component_id===I);return e.length===0?yog([g]):yog(e)},_ao=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=new Map;for(const C of A)DL(C._parent_pcb_component)&&o.set(C._parent_pcb_component.pcb_component_id,C._parent_pcb_component),DL(C._element)&&o.set(C._element.pcb_component_id,C._element);if(o.size===0)return null;const B=[];for(const C of o.values()){const Q=Yao(C,g);if(!Q)continue;const i=C.positioned_relative_to_pcb_group_id??C.pcb_group_id,E=i?Gb(g).pcb_group.get(i):null;B.push({component:C,bbox:Q,group:E})}return B.length===0?null:T.jsx("div",{style:{position:"absolute",left:0,top:0,width:e,height:t,overflow:"hidden",pointerEvents:"none",zIndex:Da.dimensionOverlay},children:T.jsx("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none"},width:e,height:t,children:B.map(({component:C,bbox:Q,group:i})=>{const E=Mt(I,{x:Q.minX,y:Q.maxY}),n=Mt(I,{x:Q.maxX,y:Q.minY}),s={x:Math.min(E.x,n.x),y:Math.min(E.y,n.y),width:Math.abs(n.x-E.x),height:Math.abs(n.y-E.y)},r=C.center??{x:(Q.minX+Q.maxX)/2,y:(Q.minY+Q.maxY)/2},a=Mt(I,r);return T.jsxs("g",{children:[T.jsx("rect",{x:s.x,y:s.y,width:s.width,height:s.height,fill:"none",stroke:"white",strokeWidth:1.5,strokeDasharray:"4,4"}),T.jsx("line",{x1:a.x-6,y1:a.y,x2:a.x+6,y2:a.y,stroke:GS.COMPONENT_MARKER_STROKE,strokeWidth:1.5}),T.jsx("line",{x1:a.x,y1:a.y-6,x2:a.x,y2:a.y+6,stroke:GS.COMPONENT_MARKER_STROKE,strokeWidth:1.5}),T.jsx("circle",{cx:a.x,cy:a.y,r:ec.COMPONENT_MARKER_RADIUS,fill:GS.COMPONENT_MARKER_FILL,stroke:GS.COMPONENT_MARKER_STROKE,strokeWidth:1})]},C.pcb_component_id)})})})},bao=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=ni(r=>r.is_showing_group_anchor_offsets),B=A.map(r=>Sog(r._element)?r._element.pcb_board_id:null).filter(r=>!!r);if(!o&&B.length===0)return null;const C=g.filter(r=>Pao(r)),i=g.filter(r=>Sog(r)).map(r=>{const a=r.pcb_panel_id,c=r.position_mode;if(!a||c!=="relative_to_panel_anchor")return null;const h=C.find(l=>l.pcb_panel_id===a);return h?{board:r,panel:h,type:"board"}:null}).filter(r=>!!r);if(i.length===0)return null;const E=B.length===0,n=i.filter(r=>E||B.includes(r.board.pcb_board_id));if(n.length===0)return null;const s=n.map(r=>r.board.center?{id:`${r.panel.pcb_panel_id}-${r.board.pcb_board_id}-${r.type}`,anchor:r.panel.center,anchor_id:r.panel.pcb_panel_id,target:r.board.center,type:"board",display_offset_x:r.board.display_offset_x,display_offset_y:r.board.display_offset_y}:null).filter(r=>!!r);return T.jsx(Mog,{targets:s,transform:I,containerWidth:e,containerHeight:t})};function Hao(g){const{primitives:A,is_showing_multiple_traces_length:I,traceOverlayElementIndex:e}=g,t=A.filter(C=>C._element.type==="pcb_trace"),o=A.filter(C=>C._element.type!=="pcb_trace"),B=t.filter(C=>(C._element.source_trace_id?e.sourceTraceById.get(C._element.source_trace_id):void 0)?.max_length!==void 0||Gog({primitiveElement:C._element,traceOverlayElementIndex:e})!==null);if(!I)return[...o,...B];if(t.length>1){const C=t.reduce((Q,i)=>{const E=Q._element.trace_length;return i._element.trace_length<E?i:Q},t[0]);return[...o,C]}return A}var vao={position:"absolute",left:0,top:0,pointerEvents:"none",color:"red",fontFamily:"sans-serif",fontSize:12,textShadow:"0 0 2px black"},Tao=g=>{const{_element:A,_parent_pcb_component:I,_parent_source_component:e,_source_port:t}=g;switch(A.type){case"pcb_trace":return A.trace_length?`${A.trace_length.toFixed(3)}`:"";case"pcb_smtpad":case"pcb_plated_hole":{const o=[],B=Array.from(new Set((A.port_hints??[]).concat(t?.port_hints??[]))).filter(Q=>!/^[0-9]+$/.test(Q)).filter(Q=>!Q.includes("unnamed_")).sort((Q,i)=>i.localeCompare(Q)),C=e&&"name"in e&&e.name&&!e.name.includes("unnamed_")?e.name:null;return B.length>0?C?o.push(...B.map(Q=>`${C}.${Q}`)):o.push(...B):C&&o.push(C),o.join(", ")}default:return""}},qao={top:"red",bottom:"aqua"},Zao=({primitive:g,mousePos:A,traceOverlayElementIndex:I})=>{const[e,t]=z.useState(!1),o=g._element;z.useEffect(()=>{setTimeout(()=>{t(!0)},100)},[]);const[B,C,Q,i]=[g.screen_x,g.screen_y,g.screen_w,g.screen_h],E=g.same_space_index??0,n=26,s=qao[g?._element?.layer]??"red";let r=0;if(o.type==="pcb_smtpad"&&o?.shape==="rotated_rect"?r=o?.ccw_rotation??0:(o.type==="pcb_smtpad"&&(o?.shape==="pill"||o?.shape==="rotated_pill")&&"ccw_rotation"in g||o.type==="pcb_plated_hole"&&(o?.shape==="pill"||o?.shape==="oval")&&"ccw_rotation"in g)&&(r=o.ccw_rotation??0),o.type==="pcb_trace"){const h=ONI({primitiveElement:o,traceOverlayElementIndex:I});return h?T.jsx("div",{style:{zIndex:Da.elementOverlay,position:"absolute",left:A.x+12,top:A.y+12,color:s,pointerEvents:"none"},children:T.jsxs("div",{style:{backgroundColor:"#f2efcc",color:h.isOverLength?"red":"black",textShadow:"none",WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",padding:"4px 6px",borderRadius:"4px",fontSize:"11px",lineHeight:1.2,textAlign:"left",whiteSpace:"nowrap"},children:[h.text&&T.jsx("div",{children:h.text}),h.name&&T.jsx("div",{style:{marginTop:h.text?"2px":0},children:h.name})]})}):null}const a=Tao(g);return a.trim().length===0?null:T.jsx("div",{style:{zIndex:Da.elementOverlay,position:"absolute",left:B-Q/2-8,top:C-i/2-8,width:Q+16,height:i+16,color:s,transform:`rotate(${-r}deg)`,transformOrigin:"center center"},children:T.jsx("div",{style:{width:e?`calc(100% + ${n*2*E}px)`:"100%",height:e?`calc(100% + ${n*2*E}px)`:"100%",marginLeft:e?`${-n*E}px`:0,marginTop:e?`${-n*E}px`:0,border:`1px solid ${s}`,opacity:e||E===0?1:0,transition:"width 0.2s, height 0.2s, margin-left 0.2s, margin-top 0.2s, opacity 0.2s"},children:T.jsx("div",{style:{position:"absolute",bottom:i+20+n*E,marginRight:e?`${-n*E}px`:0,marginBottom:e?0:-n*E,transition:"margin-right 0.2s, margin-bottom 0.2s",backgroundColor:"#f2efcc",color:"black",textShadow:"none",WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",padding:"6px 6px",borderRadius:"6px",fontSize:"14px",transform:`rotate(${r}deg)`,minWidth:"45px",textAlign:"center"},children:a})})})},Oao=({highlightedPrimitives:g,mousePos:A,elements:I})=>{const[e,t]=ni(Q=>[Q.is_moving_component,Q.is_showing_multiple_traces_length]),o=z.useMemo(()=>ZNI(I),[I]),B=g.some(Q=>Q._element.type==="pcb_smtpad")&&g.some(Q=>Q._element.type==="pcb_trace");let C=g;return B&&(C=C.filter(Q=>Q._element.type==="pcb_smtpad")),C=Hao({primitives:C,is_showing_multiple_traces_length:t,traceOverlayElementIndex:o}),T.jsx("div",{style:vao,children:!e&&C.map(Q=>T.jsx(Zao,{primitive:Q,mousePos:A,traceOverlayElementIndex:o},Q._pcb_drawing_object_id))})},MGA=g=>{if(g.length===0)return null;let A=g[0].x,I=g[0].y,e=g[0].x,t=g[0].y;for(const o of g)o.x<A&&(A=o.x),o.y<I&&(I=o.y),o.x>e&&(e=o.x),o.y>t&&(t=o.y);return{center:{x:(A+e)/2,y:(I+t)/2},width:e-A,height:t-I}},f1I=(g,A)=>{if(A.length<3)return!1;let I=!1;for(let e=0,t=A.length-1;e<A.length;t=e++){const o=A[e].x,B=A[e].y,C=A[t].x,Q=A[t].y;B>g.y!=Q>g.y&&g.x<(C-o)*(g.y-B)/(Q-B||Number.EPSILON)+o&&(I=!I)}return I},fog=({includeHiddenTraces:g=!1,primitives:A,rwPoint:I,selectedLayer:e,transform:t})=>{const o=[];for(const B of A){if(!B._element||!g&&B._element.type==="pcb_trace"&&B.layer!==e)continue;if("x1"in B&&B._element?.type==="pcb_trace"){const i=ah({x:I.x,y:I.y},{x:B.x1,y:B.y1},{x:B.x2,y:B.y2}),E=B.width||.5,n=Math.max(E*25,2)/t.a;i<n&&o.push(B);continue}if(B.pcb_drawing_type==="polygon"){const i=B.points.map(n=>({x:sg.parse(n.x),y:sg.parse(n.y)})),E=MGA(i);if(!E||I.x<E.center.x-E.width/2||I.x>E.center.x+E.width/2||I.y<E.center.y-E.height/2||I.y>E.center.y+E.height/2)continue;f1I(I,i)&&o.push(B);continue}if(B.pcb_drawing_type==="polygon_with_arcs"){const i=B.brep_shape.outer_ring.vertices.map(n=>({x:sg.parse(n.x),y:sg.parse(n.y)})),E=MGA(i);if(!E||I.x<E.center.x-E.width/2||I.x>E.center.x+E.width/2||I.y<E.center.y-E.height/2||I.y>E.center.y+E.height/2)continue;f1I(I,i)&&o.push(B);continue}if(!("x"in B&&"y"in B))continue;let C=0,Q=0;if("w"in B&&"h"in B)C=B.w,Q=B.h;else if("r"in B)C=B.r*2,Q=B.r*2;else if("rX"in B&&"rY"in B)C=B.rX*2,Q=B.rY*2;else continue;Math.abs(B.x-I.x)<C/2&&Math.abs(B.y-I.y)<Q/2&&o.push(B)}return o},Wao=({elements:g,children:A,transform:I,primitives:e,selectedLayer:t,onMouseHoverOverPrimitives:o})=>{const[B,C]=z.useState([]),[Q,i]=z.useState({x:0,y:0}),[E,{width:n,height:s}]=ltA(),r=z.useMemo(()=>KNI(e),[e]);z.useEffect(()=>{C([]),o([])},[t,e,o]);const a=z.useMemo(()=>{const h=[];for(const l of B){if(l._element?.type==="pcb_via"||l._element?.type==="pcb_component"||l?.layer==="drill"||l?.is_hoverable===!1)continue;let D=null,d=0,y=0;if(l.pcb_drawing_type==="polygon"){const m=MGA(l.points);if(!m)continue;D=m.center,d=m.width,y=m.height}else if(l.pcb_drawing_type==="polygon_with_arcs"){const m=l.brep_shape.outer_ring.vertices.map(k=>({x:k.x,y:k.y})),p=MGA(m);if(!p)continue;D=p.center,d=p.width,y=p.height}else l.pcb_drawing_type==="line"?(D={x:(l.x1+l.x2)/2,y:(l.y1+l.y2)/2},d=Math.abs(l.x2-l.x1),y=Math.abs(l.y2-l.y1)):"x"in l&&"y"in l&&(D={x:l.x,y:l.y},d="w"in l?l.w:"r"in l?l.r*2:"rX"in l&&"rY"in l?l.rX*2:0,y="h"in l?l.h:"r"in l?l.r*2:"rX"in l&&"rY"in l?l.rY*2:0);if(!D)continue;const w=Mt(I,D),u={w:d*I.a,h:y*I.a},G=h.filter(m=>w.x===m.screen_x&&w.y===m.screen_y&&u.w===m.screen_w&&u.h===m.screen_h).length;h.push({...l,x:D.x,y:D.y,w:d,h:y,screen_x:w.x,screen_y:w.y,screen_w:u.w,screen_h:u.h,same_space_index:G})}return h},[B,I]),c=({screenPoint:h,transform:l})=>{const{x:D,y:d}=h;i({x:D,y:d});const y=Mt(AF(l),{x:D,y:d}),w=LNI({point:y,realToScreenScale:l.a,spatialIndex:r}),u=fog({primitives:w,rwPoint:y,selectedLayer:t,transform:l});Jao(new Set(u.map(G=>G._pcb_drawing_object_id)),new Set(B.map(G=>G._pcb_drawing_object_id)))||(C(u),o(u))};return T.jsxs("div",{ref:E,style:{position:"relative",width:"100%",height:"100%"},onMouseMove:h=>{if(h.buttons===0&&I){const l=h.currentTarget.getBoundingClientRect(),D=h.clientX-l.left,d=h.clientY-l.top;c({screenPoint:{x:D,y:d},transform:I})}},onTouchStart:h=>{if(I){const l=h.touches[0],D=h.currentTarget.getBoundingClientRect(),d=l.clientX-D.left,y=l.clientY-D.top;c({screenPoint:{x:d,y},transform:I})}},children:[A,T.jsx(Oao,{elements:g,mousePos:Q,highlightedPrimitives:a}),I&&T.jsxs(T.Fragment,{children:[T.jsx(Kao,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),T.jsx(Lao,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),T.jsx(_ao,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),T.jsx(bao,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s})]})]})},R1I=["rgb(255, 100, 100)","rgb(100, 255, 100)","rgb(100, 100, 255)","rgb(255, 255, 100)","rgb(255, 100, 255)","rgb(100, 255, 255)","rgb(255, 150, 100)","rgb(150, 100, 255)","rgb(100, 255, 150)","rgb(255, 100, 150)"];function N1I(g){if("parent_source_group_id"in g)return typeof g.parent_source_group_id=="string"?g.parent_source_group_id:void 0}function Rog(g,A){const I=[],e=A.get(g)??[];for(const t of e)I.push(t),I.push(...Rog(t,A));return I}function x1I(g,A){const I=A.get(g);if(!I)return 0;const e=N1I(I);return e?1+x1I(e,A):0}var Vao=({children:g,transform:A=VJ(),elements:I=[],hoveredComponentIds:e=[]})=>{const[t,{width:o,height:B}]=ltA(),C=z.useRef(null),{is_showing_pcb_groups:Q,pcb_group_view_mode:i,is_showing_group_anchor_offsets:E}=ni(a=>({is_showing_pcb_groups:a.is_showing_pcb_groups,pcb_group_view_mode:a.pcb_group_view_mode,is_showing_group_anchor_offsets:a.is_showing_group_anchor_offsets})),{pcbComponents:n,pcbGroups:s,sourceGroups:r}=z.useMemo(()=>{const a=[],c=[],h=[];for(const l of I)l.type==="pcb_component"?a.push(l):l.type==="pcb_group"?c.push(l):l.type==="source_group"&&h.push(l);return{pcbComponents:a,pcbGroups:c,sourceGroups:h}},[I]);return z.useEffect(()=>{const a=C.current;if(!a||!o||!B)return;a.width=o,a.height=B;const c=a.getContext("2d");if(!c||(c.clearRect(0,0,o,B),!Q))return;const h=new Map(r.map(y=>[y.source_group_id,y])),l=s.filter(y=>{if(y.name?.toLowerCase().includes("subpanel"))return!1;if(i==="all")return!0;if(!y.source_group_id)return!1;const w=h.get(y.source_group_id);return w?w.was_automatically_named!==!0:!1}),D=new Map;r.forEach(y=>{const w=N1I(y);if(w){const u=D.get(w)??[];u.push(y.source_group_id),D.set(w,u)}});const d=new Set;if(e.length>0)for(const y of n){if(!e.includes(y.pcb_component_id))continue;const w=y.positioned_relative_to_pcb_group_id??y.pcb_group_id;w&&d.add(w)}l.forEach((y,w)=>{let u=n.filter(xA=>xA.pcb_group_id===y.pcb_group_id);if(y.source_group_id){const xA=Rog(y.source_group_id,D),RA=s.filter(NA=>NA.source_group_id&&xA.includes(NA.source_group_id));for(const NA of RA){const HA=n.filter(PA=>PA.pcb_group_id===NA.pcb_group_id);u=[...u,...HA]}}let G,m,p,k,S=!1;if(y.center&&y.width&&y.height){S=!0;const xA=y.width/2,RA=y.height/2;G=y.center.x-xA,p=y.center.x+xA,m=y.center.y-RA,k=y.center.y+RA}else if(u.length===0||(G=1/0,m=1/0,p=-1/0,k=-1/0,u.forEach(xA=>{if(xA.center&&typeof xA.width=="number"&&typeof xA.height=="number"){const RA=xA.center.x-xA.width/2,NA=xA.center.x+xA.width/2,HA=xA.center.y+xA.height/2,PA=xA.center.y-xA.height/2;G=Math.min(G,RA),p=Math.max(p,NA),m=Math.min(m,PA),k=Math.max(k,HA)}}),G===1/0||p===-1/0))return;const R=y.source_group_id?x1I(y.source_group_id,h):0,x=y.source_group_id?Rog(y.source_group_id,D).length>0:!1;if(!S){const NA=1+(x?.5:0);G-=NA,p+=NA,m-=NA,k+=NA}const N=Mt(A,{x:G,y:k}),U=Mt(A,{x:p,y:k}),K=Mt(A,{x:G,y:m}),Y=Mt(A,{x:p,y:m}),b=R1I[w%R1I.length];c.strokeStyle=b,c.lineWidth=2;const q=Math.max(4,Math.min(12,8*Math.abs(A.a))),j=Math.max(2,Math.min(6,4*Math.abs(A.a))),Z=q*(x?1.3:1),gA=j;c.setLineDash([Z,gA]),c.beginPath(),c.moveTo(N.x,N.y),c.lineTo(U.x,U.y),c.lineTo(Y.x,Y.y),c.lineTo(K.x,K.y),c.closePath(),c.stroke();const tA=Math.max(8,Math.min(12,10*Math.abs(A.a))),IA=R===0||R===1?0:R*.11,QA=tA*(1-IA),nA=4,DA=y.name||`Group ${w+1}`;c.font=`${QA}px sans-serif`,c.setLineDash([]);const hA=c.measureText(DA).width+nA*2,sA=QA+nA*2,cA=N.x-5,SA=N.y-5,FA=3;if(c.fillStyle="rgba(0, 0, 0, 0.8)",c.beginPath(),c.roundRect(cA,SA-sA,hA,sA,FA),c.fill(),c.fillStyle=b,c.textAlign="left",c.textBaseline="middle",c.fillText(DA,cA+nA,SA-sA/2),E&&d.has(y.pcb_group_id)&&!!y.anchor_position&&y.anchor_position){const xA=Array.isArray(y.anchor_position)?{x:y.anchor_position[0]??0,y:y.anchor_position[1]??0}:{x:y.anchor_position.x,y:y.anchor_position.y},RA=Mt(A,xA);c.strokeStyle="white",c.lineWidth=1.5,c.setLineDash([]);const NA=Math.max(4,Math.min(8,6*Math.abs(A.a)));c.beginPath(),c.moveTo(RA.x-NA,RA.y),c.lineTo(RA.x+NA,RA.y),c.stroke(),c.beginPath(),c.moveTo(RA.x,RA.y-NA),c.lineTo(RA.x,RA.y+NA),c.stroke()}})},[B,Q,E,e,n,s,i,r,A,o]),T.jsxs("div",{ref:t,style:{position:"relative",width:"100%",height:"100%"},children:[g,T.jsx("canvas",{ref:C,style:{position:"absolute",top:0,left:0,pointerEvents:"none",zIndex:Da.pcbGroupOverlay,display:Q?"block":"none"}})]})},jao=({transform:g,soup:A,connectivityMap:I,children:e})=>{const t=ni(Q=>Q.is_showing_rats_nest),{netMap:o,idToNetMap:B}=I,C=z.useMemo(()=>{if(!A||!t)return[];const Q=r=>{const a=Gb(A)[r.replace(/_\d+$/,"")].get(r);return a&&"x"in a&&"y"in a?{x:a.x,y:a.y}:null},i=(r,a)=>{const c=o[a]||[];let h=null,l=1/0;return c.forEach(D=>{const d=Q(D);if(d){const y=Math.sqrt((r.x-d.x)**2+(r.y-d.y)**2);y<l&&y>0&&(l=y,h=d)}}),h},E=Gb(A).pcb_port.list(),n=Gb(A).source_trace.list(),s=[];return E.forEach((r,a)=>{const c=B[r.pcb_port_id];let h=!1;for(const d of n)d.connected_source_port_ids.includes(r.source_port_id)&&d.connected_source_net_ids.length>0&&(h=!0);if(!c)return;const l={x:r.x,y:r.y},D=i(l,c);D&&s.push({key:`${r.pcb_port_id}-${a}`,startPoint:l,endPoint:D,isInNet:h})}),s},[A,o,B,t]);return!A||!t?e:(g||(g=VJ()),T.jsxs("div",{style:{position:"relative"},children:[e,T.jsx("svg",{style:{position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",opacity:.5,zIndex:Da.ratsNestOverlay},children:C.map(({key:Q,startPoint:i,endPoint:E,isInNet:n})=>{const s=Mt(g,i),r=Mt(g,E);return T.jsx("line",{x1:s.x,y1:s.y,x2:r.x,y2:r.y,stroke:"white",strokeWidth:"1",strokeDasharray:n?"6,6":void 0},Q)})})]}))},EF=(g,A,I)=>{const e=ni(B=>B.is_mouse_over_container),t=z.useRef(e),o=z.useRef(A);z.useEffect(()=>{t.current=e},[e]),z.useEffect(()=>{o.current=A},[A]),z.useEffect(()=>{if(!g)return;const B=C=>{const Q=C.target;if(Q.tagName==="INPUT"||Q.tagName==="TEXTAREA"||Q.isContentEditable)return;const i=g.split("+"),E=i.includes("ctrl"),n=i.includes("shift"),s=i.includes("alt"),r=i.includes("meta"),a=i[i.length-1],c=I?.current?I.current.contains(document.activeElement)||document.activeElement===I.current:!1;(t.current||c)&&(!E||C.ctrlKey)&&(!n||C.shiftKey)&&(!s||C.altKey)&&(!r||C.metaKey)&&C.key.toLowerCase()===a.toLowerCase()&&(C.preventDefault(),o.current())};return window.addEventListener("keydown",B),()=>{window.removeEventListener("keydown",B)}},[g])},zao=()=>{const[g,A]=z.useState(!1);return z.useEffect(()=>{const I=()=>{A(window.innerWidth<=768)};return I(),window.addEventListener("resize",I),()=>window.removeEventListener("resize",I)},[]),g},ytA=(g,A={stopPropagation:!0})=>{const I=z.useRef(0),e=z.useCallback(B=>{A.stopPropagation&&B.stopPropagation();const C=Date.now();C-I.current<300||(I.current=C,g?.(B))},[g,A.stopPropagation]),t=z.useCallback(B=>{B.preventDefault(),e(B)},[e]);return{onClick:e,onTouchEnd:t,style:{touchAction:"manipulation"}}},Xao={version:"1.11.432"},BO=({children:g,isSmallScreen:A,onClick:I,...e})=>{const{style:t,...o}=ytA(I);return T.jsx("div",{...e,...o,style:{backgroundColor:"#1F1F1F",border:"1px solid #666",margin:0,padding:4,paddingLeft:A?8:6,paddingRight:A?8:6,borderRadius:2,color:"#eee",cursor:"pointer",fontSize:12,height:"fit-content",userSelect:"none",whiteSpace:"nowrap",...t,...e.style},children:g})},$ao=g=>{const A=new Map;return g.forEach((I,e)=>{const t=I.error_type||"unknown_error",o=A.get(t)||[];o.push({error:I,index:e,errorId:tO(I,e)}),A.set(t,o)}),Array.from(A.entries()).map(([I,e])=>({errorType:I,errors:e}))},Aro=({onClose:g,setHoveredErrorId:A,setFocusedErrorId:I,highlightDurationMs:e=3e3})=>{const t=z.useRef(null),o=z.useRef(null),B=z.useRef(null),C=z.useCallback(()=>{t.current!==null&&(window.clearTimeout(t.current),t.current=null),o.current!==null&&(window.cancelAnimationFrame(o.current),o.current=null)},[]);z.useEffect(()=>C,[C]);const Q=z.useCallback(E=>{C(),B.current=E,A(E),I(null),o.current=window.requestAnimationFrame(()=>{I(E),o.current=null}),g(),t.current=window.setTimeout(()=>{B.current=null,A(null),I(null),t.current=null},e)},[C,e,g,I,A]),i=z.useCallback(E=>B.current===E,[]);return{handleErrorSelect:Q,isSelectedError:i}},gro=({errorId:g,errorMessage:A,copiedErrorId:I,onCopy:e})=>{const{style:t,...o}=ytA(()=>e(A,g));return T.jsx("button",{type:"button","aria-label":I===g?"Error message copied":"Copy error message",style:{position:"absolute",top:12,right:16,cursor:"pointer",color:"#888",fontSize:16,background:"none",border:"none",padding:0,display:"flex",alignItems:"center",...t},...o,children:I===g?T.jsx("span",{style:{color:"#4caf50",fontSize:12},children:"Copied!"}):T.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:T.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})})},Iro=({elements:g,isOpen:A,isSmallScreen:I,onToggle:e,onClose:t,setHoveredErrorId:o,setFocusedErrorId:B})=>{const[C,Q]=z.useState(null),[i,E]=z.useState(new Set),[n,s]=z.useState(new Set),[,r]=Qno(),{handleErrorSelect:a,isSelectedError:c}=Aro({onClose:t,setHoveredErrorId:o,setFocusedErrorId:B}),h=z.useMemo(()=>g?.filter(w=>w.type.includes("error"))??[],[g]),l=h.length,D=z.useMemo(()=>$ao(h),[h]),d=z.useCallback(w=>{E(u=>{const G=new Set(u);return G.has(w)?G.delete(w):G.add(w),G})},[]),y=z.useCallback(w=>{s(u=>{const G=new Set(u);return G.has(w)?G.delete(w):G.add(w),G})},[]);return T.jsxs("div",{style:{position:"relative"},children:[T.jsx(BO,{isSmallScreen:I,style:l>0?{color:"red"}:void 0,onClick:e,children:T.jsxs("div",{children:[l," errors"]})}),A&&l>0&&T.jsx("div",{style:{position:"absolute",top:"100%",left:0,backgroundColor:"#2a2a2a",border:"1px solid #666",borderRadius:4,marginTop:4,zIndex:1e3,minWidth:I?"280px":"400px",maxWidth:I?"90vw":"600px",maxHeight:"400px",overflow:"auto",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.3)"},children:D.map(({errorType:w,errors:u},G)=>{const m=i.has(w);return T.jsxs("div",{style:{borderBottom:G<D.length-1?"1px solid #444":"none"},children:[T.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 16px",cursor:"pointer",backgroundColor:"#232323",transition:"background-color 0.2s ease",touchAction:"manipulation",position:"sticky",top:0,zIndex:1},onMouseEnter:p=>{p.currentTarget.style.backgroundColor="#303030"},onMouseLeave:p=>{p.currentTarget.style.backgroundColor="#232323"},onTouchStart:p=>{p.stopPropagation(),p.currentTarget.style.backgroundColor="#303030"},onTouchEnd:p=>{p.stopPropagation(),p.preventDefault(),p.currentTarget.style.backgroundColor="#232323",d(w)},onClick:p=>{p.stopPropagation(),d(w)},children:[T.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,color:"#ff6b6b"},children:[T.jsx("div",{style:{color:"#888",fontSize:"16px",transform:m?"rotate(90deg)":"rotate(0deg)",transition:"transform 0.2s ease",flexShrink:0},children:"›"}),T.jsx("div",{style:{fontWeight:"bold",fontSize:I?"12px":"13px"},children:w})]}),T.jsx("div",{style:{fontSize:I?"12px":"13px",color:"#aaa",whiteSpace:"nowrap",marginLeft:12},children:u.length})]}),!m&&u.map(({error:p,index:k,errorId:S})=>{const R=n.has(S),x=p.message??"No error message";return T.jsxs("div",{style:{borderTop:"1px solid #3a3a3a"},children:[T.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 16px 12px 24px",cursor:"pointer",backgroundColor:"#2a2a2a",transition:"background-color 0.2s ease",touchAction:"manipulation"},onMouseEnter:N=>{N.currentTarget.style.backgroundColor="#333",o(S)},onMouseLeave:N=>{N.currentTarget.style.backgroundColor="#2a2a2a",c(S)||o(null)},onTouchStart:N=>{N.stopPropagation(),N.currentTarget.style.backgroundColor="#333",o(S)},onTouchEnd:N=>{N.stopPropagation(),N.preventDefault(),N.currentTarget.style.backgroundColor="#2a2a2a",a(S)},onClick:N=>{N.stopPropagation(),a(S)},children:[T.jsx("div",{style:{flex:1,fontSize:I?"12px":"13px",color:"#ddd",lineHeight:1.4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",userSelect:"text"},children:x}),T.jsx("button",{type:"button","aria-label":R?"Collapse error details":"Expand error details",style:{color:"#888",fontSize:"16px",transform:R?"rotate(0deg)":"rotate(90deg)",transition:"transform 0.2s ease",flexShrink:0,background:"none",border:"none",padding:0,cursor:"pointer"},onMouseDown:N=>N.stopPropagation(),onClick:N=>{N.stopPropagation(),y(S)},onTouchEnd:N=>{N.stopPropagation(),N.preventDefault(),y(S)},children:"›"})]}),R&&T.jsxs("div",{"data-error-id":k,style:{display:"block",padding:"12px 16px 12px 24px",backgroundColor:"#1a1a1a",borderTop:"1px solid #444",position:"relative"},children:[T.jsx("div",{style:{fontSize:I?"11px":"12px",color:"#ccc",lineHeight:1.5,wordWrap:"break-word",overflowWrap:"break-word",hyphens:"auto",userSelect:"text",paddingRight:30},onMouseDown:N=>N.stopPropagation(),onClick:N=>N.stopPropagation(),children:x}),T.jsx(gro,{errorId:S,errorMessage:x,copiedErrorId:C,onCopy:(N,U)=>{r(N),Q(U),setTimeout(()=>Q(null),2e3)}})]})]},S)})]},w)})})]})},F1I=z.createContext(null),ero=()=>z.useContext(F1I),wtA=OZ`
5438
+ `,Nao=[];function xao(g){return g.type==="source_component"?g.source_component_id:g.type==="pcb_component"?g.pcb_component_id:"component"}var Fao=({children:g,transform:A=VJ(),elements:I})=>{const e=z.useRef(null),{isShowingDRCErrors:t,hoveredErrorId:o,focusedErrorId:B}=ni(l=>({isShowingDRCErrors:l.is_showing_drc_errors,hoveredErrorId:l.hovered_error_id,focusedErrorId:l.focused_error_id})),C=B??o,Q=I??Nao,i=z.useMemo(()=>Q.filter(l=>l.type==="pcb_trace_error"&&!l.message?.includes("Multiple components found with name")),[Q]),E=z.useMemo(()=>Q.filter(l=>l.type==="pcb_via_clearance_error"),[Q]),n=z.useMemo(()=>Q.filter(l=>l.type==="pcb_trace_error"&&!!l.message?.includes("Multiple components found with name")),[Q]),s=z.useMemo(()=>YNI(Q),[Q]),r=z.useMemo(()=>TNI(Q,C),[C,Q]),a=z.useMemo(()=>n.map((l,D)=>{const d=("component_name"in l&&typeof l.component_name=="string"?l.component_name:void 0)??l.message?.match(/name "([^"]+)"/)?.[1];return d?{components:Q.filter(w=>w.type==="source_component"&&w.name===d||w.type==="pcb_component"&&Q.some(u=>u.type==="source_component"&&u.source_component_id===w.source_component_id&&u.name===d)),error:l,errorIndex:D}:{components:[],error:l,errorIndex:D}}),[n,Q]);if(!I)return T.jsx("div",{style:{position:"relative"},ref:e,children:g});const c=l=>{const D=Hno({error:l,indexes:s});if(!D||typeof D.x!="number"||typeof D.y!="number")return null;const d=Mt(A,D);return Number.isNaN(d.x)||Number.isNaN(d.y)?null:d};let h=null;return r&&(h=c(r)),T.jsxs("div",{style:{position:"relative"},ref:e,children:[g,i.map((l,D)=>{const d=tO(l,D),y=C===d;if(!y&&!t)return null;const w=c(l);if(!w)return null;const u=pog(w,e);return T.jsxs(z.Fragment,{children:[T.jsx(k1I,{errorCenter:w,isHighlighted:y}),T.jsx("div",{style:{position:"absolute",left:w.x-15,top:w.y-15,width:30,height:30,zIndex:Da.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:G=>{const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="1")}},onMouseLeave:G=>{if(!y){const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="0")}}}}),T.jsx("div",{style:{position:"absolute",zIndex:y?200:100,left:u.left,top:u.top,color:y?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:t||y?"flex":"none",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:u.transform},children:T.jsx("div",{className:`error-message ${kog}`,style:{opacity:y?1:0,border:`1px solid ${y?"#ff4444":"red"}`},children:l.message})})]},d)}),E.map((l,D)=>{const d=tO(l,D),y=C===d;if(!y&&!t)return null;const w=c(l);if(!w)return null;const u=pog({x:w.x,y:w.y},e);return T.jsxs(z.Fragment,{children:[T.jsx(k1I,{errorCenter:w,isHighlighted:y}),T.jsx("div",{style:{position:"absolute",left:w.x-15,top:w.y-15,width:30,height:30,zIndex:Da.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:G=>{const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="1")}},onMouseLeave:G=>{if(!y){const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="0")}}}}),T.jsx("div",{style:{position:"absolute",zIndex:y?Da.errorOverlay+10:Da.errorOverlay+1,left:u.left,top:u.top,color:y?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:"flex",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:u.transform},children:T.jsx("div",{className:`error-message ${kog}`,style:{opacity:y?1:0,border:`1px solid ${y?"#ff4444":"red"}`},children:l.message})})]},d)}),a.map(({components:l,error:D,errorIndex:d})=>{const y=tO(D,d),w=C===y;return!w&&!t?null:l.map(u=>{let G={x:0,y:0};if(u.type==="pcb_component")G=u.center||{x:0,y:0};else if(u.type==="source_component"){const U=I?.find(K=>K.type==="pcb_component"&&K.source_component_id===u.source_component_id);U&&U.type==="pcb_component"&&(G=U.center||{x:0,y:0})}const m=Mt(A,G);if(Number.isNaN(m.x)||Number.isNaN(m.y))return null;const p=Math.abs(A.a),x=Math.max(8,Math.min(30,.5*p)),N=pog(m,e);return T.jsxs(z.Fragment,{children:[T.jsx("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none",mixBlendMode:"difference",zIndex:Da.errorOverlay},width:"100%",height:"100%",children:w?T.jsx("polygon",{points:`${m.x},${m.y-x*1.25} ${m.x+x},${m.y} ${m.x},${m.y+x*1.25} ${m.x-x},${m.y}`,fill:"#ff4444"}):T.jsx("circle",{cx:m.x,cy:m.y,r:x,fill:"none",stroke:w?"#ff4444":"red",strokeWidth:w?Math.max(2,x*.15):Math.max(1,x*.1),opacity:1})}),T.jsx("div",{style:{position:"absolute",left:m.x-(x+10),top:m.y-(x+10),width:(x+10)*2,height:(x+10)*2,zIndex:Da.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:U=>{const K=U.currentTarget.nextElementSibling;if(K){const Y=K.querySelector(".error-message");Y&&(Y.style.opacity="1")}},onMouseLeave:U=>{if(!w){const K=U.currentTarget.nextElementSibling;if(K){const Y=K.querySelector(".error-message");Y&&(Y.style.opacity="0")}}}}),T.jsx("div",{style:{position:"absolute",zIndex:w?Da.errorOverlay+20:Da.errorOverlay+10,left:N.left,top:N.top,color:w?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:t||w?"flex":"none",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:N.transform},children:T.jsx("div",{className:`error-message ${kog}`,style:{opacity:w?1:0,border:`1px solid ${w?"#ff4444":"red"}`},children:D.message})})]},`${y}_${u.type}_${xao(u)}`)})}),h&&T.jsx(Rao,{center:h})]})},M1I=(g,A,I,e)=>{if(I<=0||e<=0)return;const t=g.find(B=>B.type==="pcb_component"&&B.pcb_component_id===A);if(t?.type!=="pcb_component")return;const o=GNI(t);if(o)return{component:t,bounds:o,transform:vNI({bounds:o,width:I,height:e})}},Uao=({focusRequest:g,elements:A,transform:I})=>{const e=g?.pcbComponentId,t=ni(E=>E.selectLayer),o=e?M1I(A,e,1,1):void 0,B=o?.component.layer;if(z.useEffect(()=>{B&&t(B)},[g,B,t]),!o||!I)return null;const{bounds:C}=o,Q=Mt(I,{x:C.minX,y:C.minY}),i=Mt(I,{x:C.maxX,y:C.maxY});return T.jsx("div",{"data-focused-pcb-component-id":e,style:{position:"absolute",left:Math.min(Q.x,i.x)-4,top:Math.min(Q.y,i.y)-4,width:Math.abs(i.x-Q.x)+8,height:Math.abs(i.y-Q.y)+8,border:"2px solid #3399ff",borderRadius:4,boxSizing:"border-box",pointerEvents:"none",zIndex:Da.elementOverlay}})};function Jao(g,A){return g.size!==A.size?!1:Array.from(g).every(I=>A.has(I))}var ec={MIN_LINE_LENGTH_FOR_LABEL:40,LABEL_OFFSET_ABOVE:2,LABEL_OFFSET_BELOW:-18,LABEL_OFFSET_RIGHT:8,LABEL_OFFSET_LEFT:-120,Y_LABEL_MIN_WIDTH:110,LINE_STROKE_WIDTH:1.5,LINE_DASH_PATTERN:"4,4",COMPONENT_MARKER_RADIUS:3,LABEL_FONT_SIZE:11,ANCHOR_MARKER_SIZE:6,ANCHOR_MARKER_STROKE_WIDTH:1.5},GS={OFFSET_LINE:"white",COMPONENT_MARKER_FILL:"#66ccff",COMPONENT_MARKER_STROKE:"white",LABEL_TEXT:"white"},Mog=({targets:g,transform:A,containerWidth:I,containerHeight:e})=>{if(g.length===0)return null;const t={color:GS.LABEL_TEXT,mixBlendMode:"difference",pointerEvents:"none",fontSize:ec.LABEL_FONT_SIZE,fontFamily:"monospace",fontWeight:"bold"},o=new Map;return g.forEach(B=>{if(!o.has(B.anchor_id)){const C=Mt(A,B.anchor);o.set(B.anchor_id,C)}}),T.jsx("div",{style:{position:"absolute",left:0,top:0,width:I,height:e,overflow:"hidden",pointerEvents:"none",zIndex:Da.dimensionOverlay},children:T.jsxs("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none"},width:I,height:e,children:[g.map(B=>{const C=B.anchor,Q=B.anchor_id,i=B.target,E=o.get(Q),n=Mt(A,i),s=i.x-C.x,r=i.y-C.y,a=Math.abs(n.x-E.x),c=Math.abs(n.y-E.y),h=n.y<E.y,l=n.x>E.x,D=h?ec.LABEL_OFFSET_ABOVE:ec.LABEL_OFFSET_BELOW,d=l?ec.LABEL_OFFSET_RIGHT:ec.LABEL_OFFSET_LEFT,y=a>ec.MIN_LINE_LENGTH_FOR_LABEL,w=c>ec.MIN_LINE_LENGTH_FOR_LABEL,u=`${B.display_offset_x??s.toFixed(2)}mm`,G=`${B.display_offset_y??r.toFixed(2)}mm`;return T.jsxs("g",{children:[T.jsx("line",{x1:E.x,y1:E.y,x2:n.x,y2:E.y,stroke:GS.OFFSET_LINE,strokeWidth:ec.LINE_STROKE_WIDTH,strokeDasharray:ec.LINE_DASH_PATTERN}),T.jsx("line",{x1:n.x,y1:E.y,x2:n.x,y2:n.y,stroke:GS.OFFSET_LINE,strokeWidth:ec.LINE_STROKE_WIDTH,strokeDasharray:ec.LINE_DASH_PATTERN}),B.type==="component"||B.type==="board"?T.jsx("circle",{cx:n.x,cy:n.y,r:ec.COMPONENT_MARKER_RADIUS,fill:GS.COMPONENT_MARKER_FILL,stroke:GS.COMPONENT_MARKER_STROKE,strokeWidth:1}):T.jsxs(T.Fragment,{children:[T.jsx("line",{x1:n.x-ec.ANCHOR_MARKER_SIZE,y1:n.y,x2:n.x+ec.ANCHOR_MARKER_SIZE,y2:n.y,stroke:GS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH}),T.jsx("line",{x1:n.x,y1:n.y-ec.ANCHOR_MARKER_SIZE,x2:n.x,y2:n.y+ec.ANCHOR_MARKER_SIZE,stroke:GS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH})]}),y&&T.jsx("foreignObject",{x:Math.min(E.x,n.x),y:E.y+D,width:Math.abs(n.x-E.x),height:20,style:{overflow:"visible"},children:T.jsx("div",{style:{...t,textAlign:"center"},children:u})}),w&&T.jsx("foreignObject",{x:n.x+d,y:Math.min(E.y,n.y),width:ec.Y_LABEL_MIN_WIDTH,height:Math.abs(n.y-E.y),style:{overflow:"visible"},children:T.jsx("div",{style:{...t,display:"flex",alignItems:"center",justifyContent:l?"flex-start":"flex-end",whiteSpace:"nowrap",padding:"0 4px",height:"100%"},children:G})})]},B.id)}),Array.from(o.entries()).map(([B,C])=>T.jsxs("g",{children:[T.jsx("line",{x1:C.x-ec.ANCHOR_MARKER_SIZE,y1:C.y,x2:C.x+ec.ANCHOR_MARKER_SIZE,y2:C.y,stroke:GS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH}),T.jsx("line",{x1:C.x,y1:C.y-ec.ANCHOR_MARKER_SIZE,x2:C.x,y2:C.y+ec.ANCHOR_MARKER_SIZE,stroke:GS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH})]},`anchor-${B}`))]})})},DL=g=>g?.type==="pcb_component",S1I=g=>g?.type==="pcb_group",Pao=g=>g?.type==="pcb_panel",Sog=g=>g?.type==="pcb_board",Kao=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=ni(l=>l.is_showing_group_anchor_offsets),B=A.map(l=>DL(l._parent_pcb_component)?l._parent_pcb_component.pcb_component_id:DL(l._element)?l._element.pcb_component_id:null).filter(l=>!!l);if(!o&&B.length===0)return null;const C=g.filter(l=>Sog(l)),Q=g.filter(l=>DL(l)),i=g.filter(l=>S1I(l)),E=new Set;B.forEach(l=>{const D=Q.find(d=>d.pcb_component_id===l);D?.pcb_group_id&&E.add(D.pcb_group_id)});const n=Q.map(l=>{const D=l.positioned_relative_to_pcb_board_id;if(!D)return null;const d=C.find(y=>y.pcb_board_id===D);return d?{component:l,board:d,type:"component"}:null}).filter(l=>!!l),s=i.map(l=>{const D=l.positioned_relative_to_pcb_board_id;if(!D||!l.center)return null;const d=C.find(y=>y.pcb_board_id===D);return d?{group:l,board:d,type:"group"}:null}).filter(l=>!!l),r=[...n,...s];if(r.length===0)return null;const a=B.length===0,c=r.filter(l=>l.type==="component"?a||B.includes(l.component.pcb_component_id):a||E.has(l.group.pcb_group_id));if(c.length===0)return null;const h=c.map(l=>l.type==="component"?{id:`${l.board.pcb_board_id}-${l.component.pcb_component_id}-${l.type}`,anchor:l.board.center,anchor_id:l.board.pcb_board_id,target:l.component.center,type:"component",display_offset_x:l.component.display_offset_x,display_offset_y:l.component.display_offset_y}:{id:`${l.board.pcb_board_id}-${l.group.pcb_group_id}-${l.type}`,anchor:l.board.center,anchor_id:l.board.pcb_board_id,target:{x:l.group.anchor_position?.x??l.group.center.x,y:l.group.anchor_position?.y??l.group.center.y},type:"group",display_offset_x:l.group.display_offset_x,display_offset_y:l.group.display_offset_y}).filter(l=>!!l);return T.jsx(Mog,{targets:h,transform:I,containerWidth:e,containerHeight:t})},Lao=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=ni(l=>l.is_showing_group_anchor_offsets),B=A.map(l=>DL(l._parent_pcb_component)?l._parent_pcb_component.pcb_component_id:DL(l._element)?l._element.pcb_component_id:null).filter(l=>!!l);if(!o&&B.length===0)return null;const C=g.filter(l=>S1I(l)),Q=g.filter(l=>DL(l)),i=(l,D)=>{if(D.has(l))return;D.add(l);const d=C.find(y=>y.pcb_group_id===l);d?.position_mode==="relative_to_group_anchor"&&d.positioned_relative_to_pcb_group_id&&i(d.positioned_relative_to_pcb_group_id,D)},E=new Set;B.forEach(l=>{const D=Q.find(d=>d.pcb_component_id===l);D&&(D.position_mode==="relative_to_group_anchor"&&D.positioned_relative_to_pcb_group_id&&i(D.positioned_relative_to_pcb_group_id,E),D.pcb_group_id&&i(D.pcb_group_id,E))});const n=Q.map(l=>{if(l.position_mode==="relative_to_group_anchor"&&l.positioned_relative_to_pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.positioned_relative_to_pcb_group_id);return D?.anchor_position?{component:l,parentGroup:D,type:"component"}:null}if(l.pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.pcb_group_id);return D?.anchor_position?{component:l,parentGroup:D,type:"component"}:null}return null}).filter(l=>!!l),s=C.map(l=>{if(l.position_mode==="relative_to_group_anchor"&&l.positioned_relative_to_pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.positioned_relative_to_pcb_group_id);if(D?.anchor_position&&l.anchor_position)return{group:l,parentGroup:D,type:"group"}}return null}).filter(l=>!!l),r=[...n,...s];if(r.length===0)return null;const a=B.length===0,c=r.filter(l=>l.type==="component"?a||B.includes(l.component.pcb_component_id):a||E.has(l.group.pcb_group_id)||E.has(l.parentGroup.pcb_group_id));if(c.length===0)return null;const h=c.map(l=>{const D=l.parentGroup.anchor_position;return D?l.type==="component"?l.component.center?{id:`${l.parentGroup.pcb_group_id}-${l.component.pcb_component_id}-${l.type}`,anchor:D,anchor_id:l.parentGroup.pcb_group_id,target:l.component.center,type:"component",display_offset_x:l.component.display_offset_x,display_offset_y:l.component.display_offset_y}:null:l.group.anchor_position?{id:`${l.parentGroup.pcb_group_id}-${l.group.pcb_group_id}-${l.type}`,anchor:D,anchor_id:l.parentGroup.pcb_group_id,target:l.group.anchor_position,type:"group",display_offset_x:l.group.display_offset_x,display_offset_y:l.group.display_offset_y}:null:null}).filter(l=>!!l);return T.jsx(Mog,{targets:h,transform:I,containerWidth:e,containerHeight:t})},Yao=(g,A)=>{const I=g.pcb_component_id,e=A.filter(t=>(t.type==="pcb_smtpad"||t.type==="pcb_plated_hole")&&t.pcb_component_id===I||t.type==="pcb_hole"&&t.pcb_component_id===I);return e.length===0?yog([g]):yog(e)},_ao=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=new Map;for(const C of A)DL(C._parent_pcb_component)&&o.set(C._parent_pcb_component.pcb_component_id,C._parent_pcb_component),DL(C._element)&&o.set(C._element.pcb_component_id,C._element);if(o.size===0)return null;const B=[];for(const C of o.values()){const Q=Yao(C,g);if(!Q)continue;const i=C.positioned_relative_to_pcb_group_id??C.pcb_group_id,E=i?Gb(g).pcb_group.get(i):null;B.push({component:C,bbox:Q,group:E})}return B.length===0?null:T.jsx("div",{style:{position:"absolute",left:0,top:0,width:e,height:t,overflow:"hidden",pointerEvents:"none",zIndex:Da.dimensionOverlay},children:T.jsx("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none"},width:e,height:t,children:B.map(({component:C,bbox:Q,group:i})=>{const E=Mt(I,{x:Q.minX,y:Q.maxY}),n=Mt(I,{x:Q.maxX,y:Q.minY}),s={x:Math.min(E.x,n.x),y:Math.min(E.y,n.y),width:Math.abs(n.x-E.x),height:Math.abs(n.y-E.y)},r=C.center??{x:(Q.minX+Q.maxX)/2,y:(Q.minY+Q.maxY)/2},a=Mt(I,r);return T.jsxs("g",{children:[T.jsx("rect",{x:s.x,y:s.y,width:s.width,height:s.height,fill:"none",stroke:"white",strokeWidth:1.5,strokeDasharray:"4,4"}),T.jsx("line",{x1:a.x-6,y1:a.y,x2:a.x+6,y2:a.y,stroke:GS.COMPONENT_MARKER_STROKE,strokeWidth:1.5}),T.jsx("line",{x1:a.x,y1:a.y-6,x2:a.x,y2:a.y+6,stroke:GS.COMPONENT_MARKER_STROKE,strokeWidth:1.5}),T.jsx("circle",{cx:a.x,cy:a.y,r:ec.COMPONENT_MARKER_RADIUS,fill:GS.COMPONENT_MARKER_FILL,stroke:GS.COMPONENT_MARKER_STROKE,strokeWidth:1})]},C.pcb_component_id)})})})},bao=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=ni(r=>r.is_showing_group_anchor_offsets),B=A.map(r=>Sog(r._element)?r._element.pcb_board_id:null).filter(r=>!!r);if(!o&&B.length===0)return null;const C=g.filter(r=>Pao(r)),i=g.filter(r=>Sog(r)).map(r=>{const a=r.pcb_panel_id,c=r.position_mode;if(!a||c!=="relative_to_panel_anchor")return null;const h=C.find(l=>l.pcb_panel_id===a);return h?{board:r,panel:h,type:"board"}:null}).filter(r=>!!r);if(i.length===0)return null;const E=B.length===0,n=i.filter(r=>E||B.includes(r.board.pcb_board_id));if(n.length===0)return null;const s=n.map(r=>r.board.center?{id:`${r.panel.pcb_panel_id}-${r.board.pcb_board_id}-${r.type}`,anchor:r.panel.center,anchor_id:r.panel.pcb_panel_id,target:r.board.center,type:"board",display_offset_x:r.board.display_offset_x,display_offset_y:r.board.display_offset_y}:null).filter(r=>!!r);return T.jsx(Mog,{targets:s,transform:I,containerWidth:e,containerHeight:t})};function Hao(g){const{primitives:A,is_showing_multiple_traces_length:I,traceOverlayElementIndex:e}=g,t=A.filter(C=>C._element.type==="pcb_trace"),o=A.filter(C=>C._element.type!=="pcb_trace"),B=t.filter(C=>(C._element.source_trace_id?e.sourceTraceById.get(C._element.source_trace_id):void 0)?.max_length!==void 0||Gog({primitiveElement:C._element,traceOverlayElementIndex:e})!==null);if(!I)return[...o,...B];if(t.length>1){const C=t.reduce((Q,i)=>{const E=Q._element.trace_length;return i._element.trace_length<E?i:Q},t[0]);return[...o,C]}return A}var vao={position:"absolute",left:0,top:0,pointerEvents:"none",color:"red",fontFamily:"sans-serif",fontSize:12,textShadow:"0 0 2px black"},Tao=g=>{const{_element:A,_parent_pcb_component:I,_parent_source_component:e,_source_port:t}=g;switch(A.type){case"pcb_trace":return A.trace_length?`${A.trace_length.toFixed(3)}`:"";case"pcb_smtpad":case"pcb_plated_hole":{const o=[],B=Array.from(new Set((A.port_hints??[]).concat(t?.port_hints??[]))).filter(Q=>!/^[0-9]+$/.test(Q)).filter(Q=>!Q.includes("unnamed_")).sort((Q,i)=>i.localeCompare(Q)),C=e&&"name"in e&&e.name&&!e.name.includes("unnamed_")?e.name:null;return B.length>0?C?o.push(...B.map(Q=>`${C}.${Q}`)):o.push(...B):C&&o.push(C),o.join(", ")}default:return""}},qao={top:"red",bottom:"aqua"},Zao=({primitive:g,mousePos:A,traceOverlayElementIndex:I})=>{const[e,t]=z.useState(!1),o=g._element;z.useEffect(()=>{setTimeout(()=>{t(!0)},100)},[]);const[B,C,Q,i]=[g.screen_x,g.screen_y,g.screen_w,g.screen_h],E=g.same_space_index??0,n=26,s=qao[g?._element?.layer]??"red";let r=0;if(o.type==="pcb_smtpad"&&o?.shape==="rotated_rect"?r=o?.ccw_rotation??0:(o.type==="pcb_smtpad"&&(o?.shape==="pill"||o?.shape==="rotated_pill")&&"ccw_rotation"in g||o.type==="pcb_plated_hole"&&(o?.shape==="pill"||o?.shape==="oval")&&"ccw_rotation"in g)&&(r=o.ccw_rotation??0),o.type==="pcb_trace"){const h=ONI({primitiveElement:o,traceOverlayElementIndex:I});return h?T.jsx("div",{style:{zIndex:Da.elementOverlay,position:"absolute",left:A.x+12,top:A.y+12,color:s,pointerEvents:"none"},children:T.jsxs("div",{style:{backgroundColor:"#f2efcc",color:h.isOverLength?"red":"black",textShadow:"none",WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",padding:"4px 6px",borderRadius:"4px",fontSize:"11px",lineHeight:1.2,textAlign:"left",whiteSpace:"nowrap"},children:[h.text&&T.jsx("div",{children:h.text}),h.name&&T.jsx("div",{style:{marginTop:h.text?"2px":0},children:h.name})]})}):null}const a=Tao(g);return a.trim().length===0?null:T.jsx("div",{style:{zIndex:Da.elementOverlay,position:"absolute",left:B-Q/2-8,top:C-i/2-8,width:Q+16,height:i+16,color:s,transform:`rotate(${-r}deg)`,transformOrigin:"center center"},children:T.jsx("div",{style:{width:e?`calc(100% + ${n*2*E}px)`:"100%",height:e?`calc(100% + ${n*2*E}px)`:"100%",marginLeft:e?`${-n*E}px`:0,marginTop:e?`${-n*E}px`:0,border:`1px solid ${s}`,opacity:e||E===0?1:0,transition:"width 0.2s, height 0.2s, margin-left 0.2s, margin-top 0.2s, opacity 0.2s"},children:T.jsx("div",{style:{position:"absolute",bottom:i+20+n*E,marginRight:e?`${-n*E}px`:0,marginBottom:e?0:-n*E,transition:"margin-right 0.2s, margin-bottom 0.2s",backgroundColor:"#f2efcc",color:"black",textShadow:"none",WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",padding:"6px 6px",borderRadius:"6px",fontSize:"14px",transform:`rotate(${r}deg)`,minWidth:"45px",textAlign:"center"},children:a})})})},Oao=({highlightedPrimitives:g,mousePos:A,elements:I})=>{const[e,t]=ni(Q=>[Q.is_moving_component,Q.is_showing_multiple_traces_length]),o=z.useMemo(()=>ZNI(I),[I]),B=g.some(Q=>Q._element.type==="pcb_smtpad")&&g.some(Q=>Q._element.type==="pcb_trace");let C=g;return B&&(C=C.filter(Q=>Q._element.type==="pcb_smtpad")),C=Hao({primitives:C,is_showing_multiple_traces_length:t,traceOverlayElementIndex:o}),T.jsx("div",{style:vao,children:!e&&C.map(Q=>T.jsx(Zao,{primitive:Q,mousePos:A,traceOverlayElementIndex:o},Q._pcb_drawing_object_id))})},MGA=g=>{if(g.length===0)return null;let A=g[0].x,I=g[0].y,e=g[0].x,t=g[0].y;for(const o of g)o.x<A&&(A=o.x),o.y<I&&(I=o.y),o.x>e&&(e=o.x),o.y>t&&(t=o.y);return{center:{x:(A+e)/2,y:(I+t)/2},width:e-A,height:t-I}},f1I=(g,A)=>{if(A.length<3)return!1;let I=!1;for(let e=0,t=A.length-1;e<A.length;t=e++){const o=A[e].x,B=A[e].y,C=A[t].x,Q=A[t].y;B>g.y!=Q>g.y&&g.x<(C-o)*(g.y-B)/(Q-B||Number.EPSILON)+o&&(I=!I)}return I},fog=({includeHiddenTraces:g=!1,primitives:A,rwPoint:I,selectedLayer:e,transform:t})=>{const o=[];for(const B of A){if(!B._element||!g&&B._element.type==="pcb_trace"&&B.layer!==e)continue;if("x1"in B&&B._element?.type==="pcb_trace"){const i=ah({x:I.x,y:I.y},{x:B.x1,y:B.y1},{x:B.x2,y:B.y2}),E=B.width||.5,n=Math.max(E*25,2)/t.a;i<n&&o.push(B);continue}if(B.pcb_drawing_type==="polygon"){const i=B.points.map(n=>({x:sg.parse(n.x),y:sg.parse(n.y)})),E=MGA(i);if(!E||I.x<E.center.x-E.width/2||I.x>E.center.x+E.width/2||I.y<E.center.y-E.height/2||I.y>E.center.y+E.height/2)continue;f1I(I,i)&&o.push(B);continue}if(B.pcb_drawing_type==="polygon_with_arcs"){const i=B.brep_shape.outer_ring.vertices.map(n=>({x:sg.parse(n.x),y:sg.parse(n.y)})),E=MGA(i);if(!E||I.x<E.center.x-E.width/2||I.x>E.center.x+E.width/2||I.y<E.center.y-E.height/2||I.y>E.center.y+E.height/2)continue;f1I(I,i)&&o.push(B);continue}if(!("x"in B&&"y"in B))continue;let C=0,Q=0;if("w"in B&&"h"in B)C=B.w,Q=B.h;else if("r"in B)C=B.r*2,Q=B.r*2;else if("rX"in B&&"rY"in B)C=B.rX*2,Q=B.rY*2;else continue;Math.abs(B.x-I.x)<C/2&&Math.abs(B.y-I.y)<Q/2&&o.push(B)}return o},Wao=({elements:g,children:A,transform:I,primitives:e,selectedLayer:t,onMouseHoverOverPrimitives:o})=>{const[B,C]=z.useState([]),[Q,i]=z.useState({x:0,y:0}),[E,{width:n,height:s}]=ltA(),r=z.useMemo(()=>KNI(e),[e]);z.useEffect(()=>{C([]),o([])},[t,e,o]);const a=z.useMemo(()=>{const h=[];for(const l of B){if(l._element?.type==="pcb_via"||l._element?.type==="pcb_component"||l?.layer==="drill"||l?.is_hoverable===!1)continue;let D=null,d=0,y=0;if(l.pcb_drawing_type==="polygon"){const m=MGA(l.points);if(!m)continue;D=m.center,d=m.width,y=m.height}else if(l.pcb_drawing_type==="polygon_with_arcs"){const m=l.brep_shape.outer_ring.vertices.map(k=>({x:k.x,y:k.y})),p=MGA(m);if(!p)continue;D=p.center,d=p.width,y=p.height}else l.pcb_drawing_type==="line"?(D={x:(l.x1+l.x2)/2,y:(l.y1+l.y2)/2},d=Math.abs(l.x2-l.x1),y=Math.abs(l.y2-l.y1)):"x"in l&&"y"in l&&(D={x:l.x,y:l.y},d="w"in l?l.w:"r"in l?l.r*2:"rX"in l&&"rY"in l?l.rX*2:0,y="h"in l?l.h:"r"in l?l.r*2:"rX"in l&&"rY"in l?l.rY*2:0);if(!D)continue;const w=Mt(I,D),u={w:d*I.a,h:y*I.a},G=h.filter(m=>w.x===m.screen_x&&w.y===m.screen_y&&u.w===m.screen_w&&u.h===m.screen_h).length;h.push({...l,x:D.x,y:D.y,w:d,h:y,screen_x:w.x,screen_y:w.y,screen_w:u.w,screen_h:u.h,same_space_index:G})}return h},[B,I]),c=({screenPoint:h,transform:l})=>{const{x:D,y:d}=h;i({x:D,y:d});const y=Mt(AF(l),{x:D,y:d}),w=LNI({point:y,realToScreenScale:l.a,spatialIndex:r}),u=fog({primitives:w,rwPoint:y,selectedLayer:t,transform:l});Jao(new Set(u.map(G=>G._pcb_drawing_object_id)),new Set(B.map(G=>G._pcb_drawing_object_id)))||(C(u),o(u))};return T.jsxs("div",{ref:E,style:{position:"relative",width:"100%",height:"100%"},onMouseMove:h=>{if(h.buttons===0&&I){const l=h.currentTarget.getBoundingClientRect(),D=h.clientX-l.left,d=h.clientY-l.top;c({screenPoint:{x:D,y:d},transform:I})}},onTouchStart:h=>{if(I){const l=h.touches[0],D=h.currentTarget.getBoundingClientRect(),d=l.clientX-D.left,y=l.clientY-D.top;c({screenPoint:{x:d,y},transform:I})}},children:[A,T.jsx(Oao,{elements:g,mousePos:Q,highlightedPrimitives:a}),I&&T.jsxs(T.Fragment,{children:[T.jsx(Kao,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),T.jsx(Lao,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),T.jsx(_ao,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),T.jsx(bao,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s})]})]})},R1I=["rgb(255, 100, 100)","rgb(100, 255, 100)","rgb(100, 100, 255)","rgb(255, 255, 100)","rgb(255, 100, 255)","rgb(100, 255, 255)","rgb(255, 150, 100)","rgb(150, 100, 255)","rgb(100, 255, 150)","rgb(255, 100, 150)"];function N1I(g){if("parent_source_group_id"in g)return typeof g.parent_source_group_id=="string"?g.parent_source_group_id:void 0}function Rog(g,A){const I=[],e=A.get(g)??[];for(const t of e)I.push(t),I.push(...Rog(t,A));return I}function x1I(g,A){const I=A.get(g);if(!I)return 0;const e=N1I(I);return e?1+x1I(e,A):0}var Vao=({children:g,transform:A=VJ(),elements:I=[],hoveredComponentIds:e=[]})=>{const[t,{width:o,height:B}]=ltA(),C=z.useRef(null),{is_showing_pcb_groups:Q,pcb_group_view_mode:i,is_showing_group_anchor_offsets:E}=ni(a=>({is_showing_pcb_groups:a.is_showing_pcb_groups,pcb_group_view_mode:a.pcb_group_view_mode,is_showing_group_anchor_offsets:a.is_showing_group_anchor_offsets})),{pcbComponents:n,pcbGroups:s,sourceGroups:r}=z.useMemo(()=>{const a=[],c=[],h=[];for(const l of I)l.type==="pcb_component"?a.push(l):l.type==="pcb_group"?c.push(l):l.type==="source_group"&&h.push(l);return{pcbComponents:a,pcbGroups:c,sourceGroups:h}},[I]);return z.useEffect(()=>{const a=C.current;if(!a||!o||!B)return;a.width=o,a.height=B;const c=a.getContext("2d");if(!c||(c.clearRect(0,0,o,B),!Q))return;const h=new Map(r.map(y=>[y.source_group_id,y])),l=s.filter(y=>{if(y.name?.toLowerCase().includes("subpanel"))return!1;if(i==="all")return!0;if(!y.source_group_id)return!1;const w=h.get(y.source_group_id);return w?w.was_automatically_named!==!0:!1}),D=new Map;r.forEach(y=>{const w=N1I(y);if(w){const u=D.get(w)??[];u.push(y.source_group_id),D.set(w,u)}});const d=new Set;if(e.length>0)for(const y of n){if(!e.includes(y.pcb_component_id))continue;const w=y.positioned_relative_to_pcb_group_id??y.pcb_group_id;w&&d.add(w)}l.forEach((y,w)=>{let u=n.filter(xA=>xA.pcb_group_id===y.pcb_group_id);if(y.source_group_id){const xA=Rog(y.source_group_id,D),RA=s.filter(NA=>NA.source_group_id&&xA.includes(NA.source_group_id));for(const NA of RA){const HA=n.filter(PA=>PA.pcb_group_id===NA.pcb_group_id);u=[...u,...HA]}}let G,m,p,k,S=!1;if(y.center&&y.width&&y.height){S=!0;const xA=y.width/2,RA=y.height/2;G=y.center.x-xA,p=y.center.x+xA,m=y.center.y-RA,k=y.center.y+RA}else if(u.length===0||(G=1/0,m=1/0,p=-1/0,k=-1/0,u.forEach(xA=>{if(xA.center&&typeof xA.width=="number"&&typeof xA.height=="number"){const RA=xA.center.x-xA.width/2,NA=xA.center.x+xA.width/2,HA=xA.center.y+xA.height/2,PA=xA.center.y-xA.height/2;G=Math.min(G,RA),p=Math.max(p,NA),m=Math.min(m,PA),k=Math.max(k,HA)}}),G===1/0||p===-1/0))return;const R=y.source_group_id?x1I(y.source_group_id,h):0,x=y.source_group_id?Rog(y.source_group_id,D).length>0:!1;if(!S){const NA=1+(x?.5:0);G-=NA,p+=NA,m-=NA,k+=NA}const N=Mt(A,{x:G,y:k}),U=Mt(A,{x:p,y:k}),K=Mt(A,{x:G,y:m}),Y=Mt(A,{x:p,y:m}),b=R1I[w%R1I.length];c.strokeStyle=b,c.lineWidth=2;const q=Math.max(4,Math.min(12,8*Math.abs(A.a))),j=Math.max(2,Math.min(6,4*Math.abs(A.a))),Z=q*(x?1.3:1),gA=j;c.setLineDash([Z,gA]),c.beginPath(),c.moveTo(N.x,N.y),c.lineTo(U.x,U.y),c.lineTo(Y.x,Y.y),c.lineTo(K.x,K.y),c.closePath(),c.stroke();const tA=Math.max(8,Math.min(12,10*Math.abs(A.a))),IA=R===0||R===1?0:R*.11,QA=tA*(1-IA),nA=4,DA=y.name||`Group ${w+1}`;c.font=`${QA}px sans-serif`,c.setLineDash([]);const hA=c.measureText(DA).width+nA*2,sA=QA+nA*2,cA=N.x-5,SA=N.y-5,FA=3;if(c.fillStyle="rgba(0, 0, 0, 0.8)",c.beginPath(),c.roundRect(cA,SA-sA,hA,sA,FA),c.fill(),c.fillStyle=b,c.textAlign="left",c.textBaseline="middle",c.fillText(DA,cA+nA,SA-sA/2),E&&d.has(y.pcb_group_id)&&!!y.anchor_position&&y.anchor_position){const xA=Array.isArray(y.anchor_position)?{x:y.anchor_position[0]??0,y:y.anchor_position[1]??0}:{x:y.anchor_position.x,y:y.anchor_position.y},RA=Mt(A,xA);c.strokeStyle="white",c.lineWidth=1.5,c.setLineDash([]);const NA=Math.max(4,Math.min(8,6*Math.abs(A.a)));c.beginPath(),c.moveTo(RA.x-NA,RA.y),c.lineTo(RA.x+NA,RA.y),c.stroke(),c.beginPath(),c.moveTo(RA.x,RA.y-NA),c.lineTo(RA.x,RA.y+NA),c.stroke()}})},[B,Q,E,e,n,s,i,r,A,o]),T.jsxs("div",{ref:t,style:{position:"relative",width:"100%",height:"100%"},children:[g,T.jsx("canvas",{ref:C,style:{position:"absolute",top:0,left:0,pointerEvents:"none",zIndex:Da.pcbGroupOverlay,display:Q?"block":"none"}})]})},jao=({transform:g,soup:A,connectivityMap:I,children:e})=>{const t=ni(Q=>Q.is_showing_rats_nest),{netMap:o,idToNetMap:B}=I,C=z.useMemo(()=>{if(!A||!t)return[];const Q=r=>{const a=Gb(A)[r.replace(/_\d+$/,"")].get(r);return a&&"x"in a&&"y"in a?{x:a.x,y:a.y}:null},i=(r,a)=>{const c=o[a]||[];let h=null,l=1/0;return c.forEach(D=>{const d=Q(D);if(d){const y=Math.sqrt((r.x-d.x)**2+(r.y-d.y)**2);y<l&&y>0&&(l=y,h=d)}}),h},E=Gb(A).pcb_port.list(),n=Gb(A).source_trace.list(),s=[];return E.forEach((r,a)=>{const c=B[r.pcb_port_id];let h=!1;for(const d of n)d.connected_source_port_ids.includes(r.source_port_id)&&d.connected_source_net_ids.length>0&&(h=!0);if(!c)return;const l={x:r.x,y:r.y},D=i(l,c);D&&s.push({key:`${r.pcb_port_id}-${a}`,startPoint:l,endPoint:D,isInNet:h})}),s},[A,o,B,t]);return!A||!t?e:(g||(g=VJ()),T.jsxs("div",{style:{position:"relative"},children:[e,T.jsx("svg",{style:{position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",opacity:.5,zIndex:Da.ratsNestOverlay},children:C.map(({key:Q,startPoint:i,endPoint:E,isInNet:n})=>{const s=Mt(g,i),r=Mt(g,E);return T.jsx("line",{x1:s.x,y1:s.y,x2:r.x,y2:r.y,stroke:"white",strokeWidth:"1",strokeDasharray:n?"6,6":void 0},Q)})})]}))},EF=(g,A,I)=>{const e=ni(B=>B.is_mouse_over_container),t=z.useRef(e),o=z.useRef(A);z.useEffect(()=>{t.current=e},[e]),z.useEffect(()=>{o.current=A},[A]),z.useEffect(()=>{if(!g)return;const B=C=>{const Q=C.target;if(Q.tagName==="INPUT"||Q.tagName==="TEXTAREA"||Q.isContentEditable)return;const i=g.split("+"),E=i.includes("ctrl"),n=i.includes("shift"),s=i.includes("alt"),r=i.includes("meta"),a=i[i.length-1],c=I?.current?I.current.contains(document.activeElement)||document.activeElement===I.current:!1;(t.current||c)&&(!E||C.ctrlKey)&&(!n||C.shiftKey)&&(!s||C.altKey)&&(!r||C.metaKey)&&C.key.toLowerCase()===a.toLowerCase()&&(C.preventDefault(),o.current())};return window.addEventListener("keydown",B),()=>{window.removeEventListener("keydown",B)}},[g])},zao=()=>{const[g,A]=z.useState(!1);return z.useEffect(()=>{const I=()=>{A(window.innerWidth<=768)};return I(),window.addEventListener("resize",I),()=>window.removeEventListener("resize",I)},[]),g},ytA=(g,A={stopPropagation:!0})=>{const I=z.useRef(0),e=z.useCallback(B=>{A.stopPropagation&&B.stopPropagation();const C=Date.now();C-I.current<300||(I.current=C,g?.(B))},[g,A.stopPropagation]),t=z.useCallback(B=>{B.preventDefault(),e(B)},[e]);return{onClick:e,onTouchEnd:t,style:{touchAction:"manipulation"}}},Xao={version:"1.11.433"},BO=({children:g,isSmallScreen:A,onClick:I,...e})=>{const{style:t,...o}=ytA(I);return T.jsx("div",{...e,...o,style:{backgroundColor:"#1F1F1F",border:"1px solid #666",margin:0,padding:4,paddingLeft:A?8:6,paddingRight:A?8:6,borderRadius:2,color:"#eee",cursor:"pointer",fontSize:12,height:"fit-content",userSelect:"none",whiteSpace:"nowrap",...t,...e.style},children:g})},$ao=g=>{const A=new Map;return g.forEach((I,e)=>{const t=I.error_type||"unknown_error",o=A.get(t)||[];o.push({error:I,index:e,errorId:tO(I,e)}),A.set(t,o)}),Array.from(A.entries()).map(([I,e])=>({errorType:I,errors:e}))},Aro=({onClose:g,setHoveredErrorId:A,setFocusedErrorId:I,highlightDurationMs:e=3e3})=>{const t=z.useRef(null),o=z.useRef(null),B=z.useRef(null),C=z.useCallback(()=>{t.current!==null&&(window.clearTimeout(t.current),t.current=null),o.current!==null&&(window.cancelAnimationFrame(o.current),o.current=null)},[]);z.useEffect(()=>C,[C]);const Q=z.useCallback(E=>{C(),B.current=E,A(E),I(null),o.current=window.requestAnimationFrame(()=>{I(E),o.current=null}),g(),t.current=window.setTimeout(()=>{B.current=null,A(null),I(null),t.current=null},e)},[C,e,g,I,A]),i=z.useCallback(E=>B.current===E,[]);return{handleErrorSelect:Q,isSelectedError:i}},gro=({errorId:g,errorMessage:A,copiedErrorId:I,onCopy:e})=>{const{style:t,...o}=ytA(()=>e(A,g));return T.jsx("button",{type:"button","aria-label":I===g?"Error message copied":"Copy error message",style:{position:"absolute",top:12,right:16,cursor:"pointer",color:"#888",fontSize:16,background:"none",border:"none",padding:0,display:"flex",alignItems:"center",...t},...o,children:I===g?T.jsx("span",{style:{color:"#4caf50",fontSize:12},children:"Copied!"}):T.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:T.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})})},Iro=({elements:g,isOpen:A,isSmallScreen:I,onToggle:e,onClose:t,setHoveredErrorId:o,setFocusedErrorId:B})=>{const[C,Q]=z.useState(null),[i,E]=z.useState(new Set),[n,s]=z.useState(new Set),[,r]=Qno(),{handleErrorSelect:a,isSelectedError:c}=Aro({onClose:t,setHoveredErrorId:o,setFocusedErrorId:B}),h=z.useMemo(()=>g?.filter(w=>w.type.includes("error"))??[],[g]),l=h.length,D=z.useMemo(()=>$ao(h),[h]),d=z.useCallback(w=>{E(u=>{const G=new Set(u);return G.has(w)?G.delete(w):G.add(w),G})},[]),y=z.useCallback(w=>{s(u=>{const G=new Set(u);return G.has(w)?G.delete(w):G.add(w),G})},[]);return T.jsxs("div",{style:{position:"relative"},children:[T.jsx(BO,{isSmallScreen:I,style:l>0?{color:"red"}:void 0,onClick:e,children:T.jsxs("div",{children:[l," errors"]})}),A&&l>0&&T.jsx("div",{style:{position:"absolute",top:"100%",left:0,backgroundColor:"#2a2a2a",border:"1px solid #666",borderRadius:4,marginTop:4,zIndex:1e3,minWidth:I?"280px":"400px",maxWidth:I?"90vw":"600px",maxHeight:"400px",overflow:"auto",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.3)"},children:D.map(({errorType:w,errors:u},G)=>{const m=i.has(w);return T.jsxs("div",{style:{borderBottom:G<D.length-1?"1px solid #444":"none"},children:[T.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 16px",cursor:"pointer",backgroundColor:"#232323",transition:"background-color 0.2s ease",touchAction:"manipulation",position:"sticky",top:0,zIndex:1},onMouseEnter:p=>{p.currentTarget.style.backgroundColor="#303030"},onMouseLeave:p=>{p.currentTarget.style.backgroundColor="#232323"},onTouchStart:p=>{p.stopPropagation(),p.currentTarget.style.backgroundColor="#303030"},onTouchEnd:p=>{p.stopPropagation(),p.preventDefault(),p.currentTarget.style.backgroundColor="#232323",d(w)},onClick:p=>{p.stopPropagation(),d(w)},children:[T.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,color:"#ff6b6b"},children:[T.jsx("div",{style:{color:"#888",fontSize:"16px",transform:m?"rotate(90deg)":"rotate(0deg)",transition:"transform 0.2s ease",flexShrink:0},children:"›"}),T.jsx("div",{style:{fontWeight:"bold",fontSize:I?"12px":"13px"},children:w})]}),T.jsx("div",{style:{fontSize:I?"12px":"13px",color:"#aaa",whiteSpace:"nowrap",marginLeft:12},children:u.length})]}),!m&&u.map(({error:p,index:k,errorId:S})=>{const R=n.has(S),x=p.message??"No error message";return T.jsxs("div",{style:{borderTop:"1px solid #3a3a3a"},children:[T.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 16px 12px 24px",cursor:"pointer",backgroundColor:"#2a2a2a",transition:"background-color 0.2s ease",touchAction:"manipulation"},onMouseEnter:N=>{N.currentTarget.style.backgroundColor="#333",o(S)},onMouseLeave:N=>{N.currentTarget.style.backgroundColor="#2a2a2a",c(S)||o(null)},onTouchStart:N=>{N.stopPropagation(),N.currentTarget.style.backgroundColor="#333",o(S)},onTouchEnd:N=>{N.stopPropagation(),N.preventDefault(),N.currentTarget.style.backgroundColor="#2a2a2a",a(S)},onClick:N=>{N.stopPropagation(),a(S)},children:[T.jsx("div",{style:{flex:1,fontSize:I?"12px":"13px",color:"#ddd",lineHeight:1.4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",userSelect:"text"},children:x}),T.jsx("button",{type:"button","aria-label":R?"Collapse error details":"Expand error details",style:{color:"#888",fontSize:"16px",transform:R?"rotate(0deg)":"rotate(90deg)",transition:"transform 0.2s ease",flexShrink:0,background:"none",border:"none",padding:0,cursor:"pointer"},onMouseDown:N=>N.stopPropagation(),onClick:N=>{N.stopPropagation(),y(S)},onTouchEnd:N=>{N.stopPropagation(),N.preventDefault(),y(S)},children:"›"})]}),R&&T.jsxs("div",{"data-error-id":k,style:{display:"block",padding:"12px 16px 12px 24px",backgroundColor:"#1a1a1a",borderTop:"1px solid #444",position:"relative"},children:[T.jsx("div",{style:{fontSize:I?"11px":"12px",color:"#ccc",lineHeight:1.5,wordWrap:"break-word",overflowWrap:"break-word",hyphens:"auto",userSelect:"text",paddingRight:30},onMouseDown:N=>N.stopPropagation(),onClick:N=>N.stopPropagation(),children:x}),T.jsx(gro,{errorId:S,errorMessage:x,copiedErrorId:C,onCopy:(N,U)=>{r(N),Q(U),setTimeout(()=>Q(null),2e3)}})]})]},S)})]},w)})})]})},F1I=z.createContext(null),ero=()=>z.useContext(F1I),wtA=OZ`
5439
5439
  background: #222;
5440
5440
  color: #eee;
5441
5441
  border: 1px solid #555;
@@ -5667,7 +5667,7 @@ test("${i} should solve problem correctly", () => {
5667
5667
  // Add more specific assertions based on expected output
5668
5668
  // expect(solver.netLabelPlacementSolver!.netLabelPlacements).toMatchInlineSnapshot()
5669
5669
  })
5670
- `,n=new Blob([E],{type:"text/plain"}),s=URL.createObjectURL(n),r=document.createElement("a");r.href=s,r.download=`${i}.test.ts`,r.click(),URL.revokeObjectURL(s)}catch(Q){alert(`Error generating test.ts for ${g.getSolverName()}: ${Q instanceof Error?Q.message:String(Q)}`)}e(!1)};return T.jsxs("div",{className:`relative ${A}`,ref:t,children:[T.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>e(!I),title:`Download options for ${g.getSolverName()}`,children:g.getSolverName()}),I&&T.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:o,children:"Download JSON"}),T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:B,children:"Download page.tsx"}),T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:C,children:"Download test.ts"})]})]})},VJI=g=>g.activeSubSolver?[g,...VJI(g.activeSubSolver)]:[g],npo=({solver:g})=>{const A=VJI(g);return T.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:A.map((I,e)=>T.jsxs("div",{className:"flex items-center",children:[e>0&&T.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),T.jsx(Epo,{solver:I})]},I.getSolverName()))})},spo=({solver:g,triggerRender:A,animationSpeed:I=25,renderer:e,onRendererChange:t,onAnimationSpeedChange:o,onDownloadVisualization:B,onSolverStarted:C,onSolverCompleted:Q})=>{const[i,E]=z.useReducer(m=>!m,!1),n=z.useRef(void 0),s=z.useRef(null),r="solver-debugger-last-iteration",[a,c]=z.useState(null),h=z.useRef(null),l=z.useMemo(()=>[{label:"Slow",value:250,description:"250ms"},{label:"Normal",value:100,description:"100ms"},{label:"Fast",value:10,description:"10ms"},{label:"Fast (2x)",value:5,description:"5ms"},{label:"Fast (10x)",value:1,description:"1ms"},{label:"Fast 20x",value:.5,description:"2 steps / 1ms"},{label:"Fast 100x",value:.1,description:"10 steps / 1ms"}],[]),D=()=>{const m=Math.max(1,I),p=I<1?Math.round(1/I):1;n.current=setInterval(()=>{if(g.solved||g.failed){n.current&&(clearInterval(n.current),n.current=void 0),E(),A(),Q&&g.solved&&Q(g);return}for(let k=0;k<p&&!(g.solved||g.failed);k++)g.step();A()},m)},d=()=>{n.current&&(clearInterval(n.current),n.current=void 0)},y=()=>{!g.solved&&!g.failed&&(g.step(),A())},w=()=>{!g.solved&&!g.failed&&(C&&C(g),g.solve(),A(),Q&&Q(g))},u=()=>{i?(d(),E()):(E(),D())},G=()=>{if(g.solved||g.failed||i)return;s.current===null&&typeof window<"u"&&(s.current=window.localStorage.getItem(r));const m=window.prompt("Step until which iteration?",s.current??`${g.iterations}`);if(m===null)return;s.current=m,typeof window<"u"&&window.localStorage.setItem(r,m);const p=Number(m);if(!Number.isFinite(p)){window.alert("Please enter a valid number for the iteration");return}for(;g.iterations<p&&!g.solved&&!g.failed;)g.step();A(),g.solved&&Q&&Q(g)};return z.useEffect(()=>()=>{d()},[]),z.useEffect(()=>{(g.solved||g.failed)&&i&&(d(),E())},[g.solved,g.failed,i]),z.useEffect(()=>{i&&(d(),D())},[I,i]),z.useEffect(()=>{if(typeof document>"u")return;const m=p=>{h.current&&!h.current.contains(p.target)&&c(null)};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[]),T.jsxs("div",{className:"space-y-2 p-2 border-b",children:[T.jsx("div",{className:"flex items-center",children:T.jsxs("div",{className:"flex items-center gap-2",ref:h,children:[T.jsxs("div",{className:"flex h-9 items-center space-x-1 rounded-md border border-slate-200 bg-white p-1 shadow-sm",children:[T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="renderer"?null:"renderer"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="renderer"?"open":"closed",children:"Renderer"}),a==="renderer"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[10rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:["vector","canvas"].map(m=>T.jsxs("button",{type:"button",onClick:()=>{t(m),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m==="vector"?"Vector":"Canvas",e===m&&T.jsx("span",{className:"ml-auto text-xs text-slate-500",children:"✓"})]},m))})]}),T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="debug"?null:"debug"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="debug"?"open":"closed",children:"Debug"}),a==="debug"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:T.jsx("button",{type:"button",onClick:()=>{B(),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:"Download Visualization"})})]}),T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="animation"?null:"animation"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="animation"?"open":"closed",children:"Animation"}),a==="animation"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:l.map(m=>T.jsxs("button",{type:"button",onClick:()=>{o(m.value),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m.label,T.jsx("span",{className:"ml-auto text-xs text-slate-500",children:m.description}),I===m.value&&T.jsx("span",{className:"ml-2 text-xs text-slate-500",children:"✓"})]},m.value))})]})]}),T.jsx(npo,{solver:g})]})}),T.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[T.jsx("button",{onClick:y,disabled:g.solved||g.failed||i,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),T.jsx("button",{onClick:w,disabled:g.solved||g.failed||i,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),T.jsx("button",{onClick:u,disabled:g.solved||g.failed,className:`px-3 py-1 rounded text-white text-sm ${i?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:i?"Stop":"Animate"}),T.jsx("button",{onClick:G,disabled:g.solved||g.failed||i,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),T.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",g.iterations]}),g.timeToSolve!==void 0&&T.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(g.timeToSolve/1e3).toFixed(3),"s"]}),g.solved&&T.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),g.failed&&T.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),g.error&&T.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",g.error]})]})},apo=g=>g!==null&&"pipelineDef"in g&&Array.isArray(g.pipelineDef),rpo=(g,A,I)=>{const e=g.currentPipelineStageIndex;return A<e?"Completed":A===e&&g.activeSubSolver?g.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},cpo=(g,A)=>{const e=g.pipelineDef[A].solverName,t=rpo(g,A),o=g[e],B=g.firstIterationOfStage?.[e]??(A===g.currentPipelineStageIndex?g.iterations:null),C=g.iterations;let Q=0;if(t==="Completed"){const s=g.pipelineDef[A+1],r=s?g.firstIterationOfStage?.[s.solverName]:void 0;r!==void 0&&B!==null?Q=r-B:B!==null&&(Q=C-B)}else t==="In Progress"&&B!==null&&(Q=C-B);const i=g.timeSpentOnStage?.[e]??0;let E=0;t==="Completed"?E=1:t==="In Progress"&&o&&(E=o.progress??0);const n=o?.stats??null;return{index:A,name:e,status:t,firstIteration:B,iterations:Q,progress:E,timeSpent:i,stats:n&&Object.keys(n).length>0?n:null,solverInstance:o??null}},hpo=({status:g})=>{const A={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return T.jsx("span",{className:`font-medium ${A[g]}`,children:g})},lpo=({progress:g})=>{if(g===0)return null;const A=Math.round(g*100);return T.jsxs("div",{className:"flex items-center gap-2",children:[T.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:T.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${A}%`}})}),T.jsxs("span",{className:"text-xs text-gray-500",children:[A,"%"]})]})},jJI=g=>{if(typeof g=="string")return g;if(typeof g=="number"||typeof g=="boolean"||typeof g=="bigint"||g==null)return String(g);if(typeof g=="object")try{return JSON.stringify(g)}catch{return String(g)}return String(g)},Dpo=g=>Object.entries(g).map(([A,I])=>`${A}: ${jJI(I)}`).join(", "),dpo=({stats:g})=>{if(!g||Object.keys(g).length===0)return T.jsx("span",{children:"-"});const A=Object.entries(g),I=Dpo(g);return T.jsxs("details",{className:"cursor-pointer",children:[T.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:I}),T.jsx("div",{className:"mt-1 text-xs",children:A.map(([e,t])=>T.jsxs("div",{children:[e,": ",jJI(t)]},e))})]})},rCg=g=>{if(g===null||typeof g!="object")return g;if(Array.isArray(g))return g.map(rCg);const A={};for(const[I,e]of Object.entries(g))I.startsWith("_")||(A[I]=rCg(e));return A},ypo=(g,A)=>{try{if(typeof g.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${A}`);return}const I=rCg(g.getConstructorParams()),e=new Blob([JSON.stringify(I,null,2)],{type:"application/json"}),t=URL.createObjectURL(e),o=document.createElement("a");o.href=t,o.download=`${A}_input.json`,o.click(),URL.revokeObjectURL(t)}catch(I){alert(`Error downloading input for ${A}: ${I instanceof Error?I.message:String(I)}`)}},wpo=({expanded:g})=>T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:`w-4 h-4 transition-transform duration-200 ${g?"rotate-90":""}`,children:T.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})}),zJI=g=>{let A=g;for(;A.activeSubSolver;)A=A.activeSubSolver;return A},XJI=({solver:g,onStepUntilPhase:A,onDownloadInput:I,isNested:e=!1,indentLevel:t=0,triggerRender:o})=>{const[B,C]=z.useState(new Set),Q=g.pipelineDef.map((h,l)=>cpo(g,l)),i=h=>{C(l=>{const D=new Set(l);return D.has(h)?D.delete(h):D.add(h),D})},E=h=>{A?.(h)},n=h=>{h.solverInstance&&(I?I(h.solverInstance,h.name):ypo(h.solverInstance,h.name))},s=h=>`${(h/1e3).toFixed(2)}s`,r=()=>{if(!g.solved&&!g.failed){const h=g.activeSubSolver;for(;!g.solved&&!g.failed&&(g.step(),!(g.activeSubSolver&&g.activeSubSolver!==h)););o?.()}},a=()=>{if(!g.solved&&!g.failed){const h=zJI(g);for(;!g.solved&&!g.failed&&(g.step(),zJI(g)===h););o?.()}},c=t*24;return T.jsxs("div",{className:e?"":"border-t border-gray-200",children:[!e&&T.jsxs("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200 flex items-center justify-between",children:[T.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Stages"}),T.jsxs("div",{className:"flex gap-2",children:[T.jsx("button",{onClick:a,disabled:g.solved||g.failed,className:"bg-indigo-500 hover:bg-indigo-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Solver"}),T.jsx("button",{onClick:r,disabled:g.solved||g.failed,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Stage"})]})]}),T.jsx("div",{className:"overflow-x-auto",children:T.jsxs("table",{className:"w-full text-sm",children:[!e&&T.jsx("thead",{children:T.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stage"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),T.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",T.jsx("sub",{children:"0"})]}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),T.jsx("tbody",{children:Q.map(h=>{const l=apo(h.solverInstance),D=B.has(h.name);return T.jsxs(rC.Fragment,{children:[T.jsxs("tr",{className:`border-b border-gray-100 ${h.status==="In Progress"?"bg-yellow-50":""}`,children:[T.jsx("td",{className:"px-4 py-2",children:T.jsxs("div",{className:"flex items-center gap-2",style:{paddingLeft:c},children:[l?T.jsx("button",{onClick:()=>i(h.name),className:"text-gray-500 hover:text-gray-700",title:D?"Collapse":"Expand",children:T.jsx(wpo,{expanded:D})}):T.jsx("span",{className:"w-4"}),T.jsx("span",{className:"text-gray-400 w-6",children:String(h.index+1).padStart(2,"0")}),T.jsx("button",{onClick:()=>E(h.name),disabled:h.status==="Completed"||g.solved||g.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${h.name} completes`,children:T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:T.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),T.jsx("span",{className:"font-medium text-gray-900",children:h.name})]})}),T.jsx("td",{className:"px-4 py-2",children:T.jsx(hpo,{status:h.status})}),T.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:h.firstIteration!==null?h.firstIteration:""}),T.jsx("td",{className:"px-4 py-2 text-gray-600",children:h.iterations}),T.jsx("td",{className:"px-4 py-2",children:T.jsx(lpo,{progress:h.progress})}),T.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(h.timeSpent)}),T.jsx("td",{className:"px-4 py-2 text-gray-500",children:T.jsx(dpo,{stats:h.stats})}),T.jsx("td",{className:"px-4 py-2",children:h.solverInstance?T.jsxs("button",{onClick:()=>n(h),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${h.name}`,children:[T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:T.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),T.jsx("span",{children:"Input"})]}):null})]}),l&&D&&T.jsx("tr",{children:T.jsx("td",{colSpan:8,className:"p-0",children:T.jsx(XJI,{solver:h.solverInstance,onStepUntilPhase:A,onDownloadInput:I,isNested:!0,indentLevel:t+1,triggerRender:o})})})]},h.name)})})]})})]})};function upo({graphics:g}){const A=g.points??[],I=g.lines??[],e=g.rects??[],t=g.circles??[],o=g.texts??[];let B=Number.POSITIVE_INFINITY,C=Number.POSITIVE_INFINITY,Q=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;const E=(h,l)=>{typeof h=="number"&&(h<B&&(B=h),h>Q&&(Q=h)),typeof l=="number"&&(l<C&&(C=l),l>i&&(i=l))};for(const h of A)E(h.x,h.y);for(const h of I){const l=h.points??[];for(const D of l)E(D.x,D.y)}for(const h of e){const l=h.x??0,D=h.y??0,d=h.width??0,y=h.height??0;E(l,D),E(l+d,D+y)}for(const h of t){const l=h.x??0,D=h.y??0,d=h.radius??1;E(l-d,D-d),E(l+d,D+d)}for(const h of o)E(h.x,h.y);(!isFinite(B)||!isFinite(C)||!isFinite(Q)||!isFinite(i))&&(B=-20,C=-20,Q=20,i=20);const n=10,s=B-n,r=C-n,a=Math.max(1,Q-B+2*n),c=Math.max(1,i-C+2*n);return T.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${s} ${r} ${a} ${c}`,role:"img","aria-label":"Graphics fallback",children:[e.map((h,l)=>T.jsx("rect",{x:h.x??0,y:h.y??0,width:h.width??0,height:h.height??0,fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`rect-${l}`)),I.map((h,l)=>T.jsx("polyline",{fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1,points:(h.points??[]).map(D=>`${D.x??0},${D.y??0}`).join(" ")},`line-${l}`)),t.map((h,l)=>T.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.fillColor??"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`circle-${l}`)),A.map((h,l)=>T.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.color??"black"},`point-${l}`)),o.map((h,l)=>T.jsx("text",{x:h.x??0,y:h.y??0,fontSize:h.fontSize??10,fill:h.color??"black",children:h.text??""},`text-${l}`))]})}var Gpo=class extends rC.Component{constructor(g){super(g),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(g){console.error("InteractiveGraphics render error:",g)}render(){return this.state.hasError?this.props.fallback:this.props.children}},mpo=({solver:g,createSolver:A,animationSpeed:I=25,onSolverStarted:e,onSolverCompleted:t})=>{const[o,B]=z.useReducer(D=>D+1,0),[C]=z.useState(()=>{if(A)return A();if(!g)throw new Error("GenericSolverDebugger requires solver or createSolver");return g}),[Q,i]=z.useState(()=>typeof window>"u"?"vector":window.localStorage.getItem("solver-utils-renderer")==="canvas"?"canvas":"vector"),[E,n]=z.useState(I),s=z.useMemo(()=>{try{return C.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(D){return console.error("Visualization error:",D),{points:[],lines:[],rects:[],circles:[]}}},[C,o]),r=z.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);z.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const D=document.createElement("script");D.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(D)}},[]),z.useEffect(()=>{n(I)},[I]);const a=C.pipelineDef!==void 0,c=D=>{const d=C;if(!C.solved&&!C.failed){for(;!C.solved&&!C.failed&&d.currentPipelineStageIndex<=d.pipelineDef.findIndex(y=>y.solverName===D);)C.step();B()}},h=()=>{const D=JSON.stringify(s,null,2),d=new Blob([D],{type:"application/json"}),y=URL.createObjectURL(d),w=document.createElement("a");w.download="visualization.json",w.href=y,document.body.appendChild(w),w.click(),document.body.removeChild(w),URL.revokeObjectURL(y)},l=D=>{i(D),typeof window<"u"&&window.localStorage.setItem("solver-utils-renderer",D)};return T.jsxs("div",{children:[T.jsx(spo,{solver:C,triggerRender:B,animationSpeed:E,renderer:Q,onRendererChange:l,onAnimationSpeedChange:n,onDownloadVisualization:h,onSolverStarted:e,onSolverCompleted:t}),r?T.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):T.jsx(Gpo,{fallback:T.jsx(upo,{graphics:s}),children:Q==="canvas"?T.jsx(ipo,{graphics:s}):T.jsx(Bpo,{graphics:s})}),a&&T.jsx(XJI,{solver:C,onStepUntilPhase:c,triggerRender:B})]})};const ppo=()=>{z.useEffect(()=>{const g="tailwind-cdn-script";if(document.getElementById(g)||window.tailwind)return;const A=document.createElement("div");A.className="hidden",document.body.appendChild(A);const I=window.getComputedStyle(A).display==="none";if(document.body.removeChild(A),I)return;const e=document.createElement("script");e.id=g,e.src="https://cdn.tailwindcss.com",document.head.appendChild(e)},[])},kpo=1e3,Yk=(g,A)=>{const{fileName:I,mimeType:e="text/plain"}=A,t=g instanceof Blob?g:new Blob([g],{type:e}),o=URL.createObjectURL(t),B=document.createElement("a");B.href=o,B.download=I,B.target="_blank",B.rel="noopener noreferrer",B.style.display="none",document.body.appendChild(B),B.click(),document.body.removeChild(B),setTimeout(()=>{URL.revokeObjectURL(o)},kpo)},cCg=g=>{let A=g.trim().replace(/[\\/:*?"<>|]/g,"_").replace(/[\x00-\x1f]/g,"").replace(/^\.+/,"").replace(/\.+$/,"").replace(/\s+/g," ").replace(/_+/g,"_");return/^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i.test(A)&&(A=`_${A}`),A=A.slice(0,200),A||"untitled"},Mpo=g=>{const A=g.solverConstructorArgs??[g.solverParams];if(g.solverName!=="AutoroutingPipelineSolver7_MultiGraph"||A.length!==1)return A;const[{input:I,options:e}]=A;return[I,e]},DF="https://github.com/tscircuit/tscircuit-autorouter/issues/new",$JI="https://github.com/tscircuit/copper-pour-solver/issues/new",API="https://github.com/tscircuit/calculate-packing/issues/new",Spo="https://github.com/tscircuit/matchpack/issues/new",gPI="https://github.com/tscircuit/schematic-trace-solver/issues/new?template=json-bug-report.yml",fpo={PackSolver2:API,LayoutPipelineSolver:Spo,AutoroutingPipelineSolver:DF,AssignableAutoroutingPipeline2:DF,AssignableAutoroutingPipeline3:DF,AutoroutingPipeline1_OriginalUnravel:DF,AutoroutingPipelineSolver3_HgPortPointPathing:DF,AutoroutingPipelineSolver4:DF,AutoroutingPipelineSolver5:DF,AutoroutingPipelineSolver7_MultiGraph:DF,AutoroutingPipelineSolver8:DF,CopperPourPipelineSolver:$JI,SchematicTracePipelineSolver:gPI},Rpo=g=>g.toLowerCase().includes("pack")?b1I:g.toLowerCase().includes("rout")?v1I:Sro,IPI=g=>{const A=fpo[g];if(A)return A;const I=g.toLowerCase();return I.includes("autorout")?DF:I.includes("schematic")&&I.includes("trace")?gPI:I.includes("copperpour")?$JI:I.includes("pack")?API:null},Npo=g=>`${cCg(`${g.componentName}-${g.solverName}`)}-solver-input.json`,ePI=g=>{Yk(JSON.stringify(g.solverParams,null,2),{fileName:Npo(g),mimeType:"application/json"})},xpo=({solverEvent:g})=>{const A=IPI(g.solverName);return T.jsxs("div",{className:"rf-flex rf-items-center rf-justify-end rf-gap-2 rf-border-b rf-border-gray-200 rf-bg-gray-50 rf-px-4 rf-py-2",children:[T.jsxs(si,{type:"button",variant:"outline",size:"sm",onClick:()=>ePI(g),children:[T.jsx(GtA,{className:"rf-w-4 rf-h-4"}),"Download"]}),A?T.jsx(si,{asChild:!0,variant:"outline",size:"sm",children:T.jsxs("a",{href:A,target:"_blank",rel:"noopener noreferrer",children:[T.jsx(SGA,{className:"rf-w-4 rf-h-4"}),"Report"]})}):T.jsxs(si,{type:"button",variant:"outline",size:"sm",disabled:!0,title:"No report link configured for this solver",children:[T.jsx(SGA,{className:"rf-w-4 rf-h-4"}),"Report"]})]})},Fpo=({solverEvent:g})=>{const A=IPI(g.solverName);return A?T.jsx(si,{asChild:!0,variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",children:T.jsx("a",{href:A,target:"_blank",rel:"noopener noreferrer",title:"Report solver bug","aria-label":"Report solver bug",children:T.jsx(SGA,{className:"rf-w-4 rf-h-4"})})}):T.jsx(si,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",disabled:!0,title:"No report link configured for this solver","aria-label":"Report solver bug",children:T.jsx(SGA,{className:"rf-w-4 rf-h-4"})})},Upo=({solverEvents:g=[]})=>{const[A,I]=z.useState(null);ppo();const e=z.useMemo(()=>{const C=new Map;for(const Q of g){const i=`${Q.componentName}-${Q.solverName}`;C.set(i,Q)}return C},[g]),t=z.useMemo(()=>Array.from(e.keys()),[e]),o=A?e.get(A):null,B=z.useMemo(()=>{if(!o)return{instance:null,error:null,classFound:!1};const C=N9A[o.solverName];if(!C)return{instance:null,error:`Solver class "${o.solverName}" not found in SOLVERS registry. Available: ${Object.keys(N9A).join(", ")}`,classFound:!1};try{return{instance:new C(...Mpo(o)),error:null,classFound:!0}}catch(Q){const i=Q instanceof Error?Q.message:String(Q);return console.error("Failed to reconstruct solver:",Q),{instance:null,error:`Failed to instantiate solver: ${i}`,classFound:!0}}},[o]);return g.length===0?T.jsx("div",{className:"rf-p-4",children:T.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:T.jsxs("div",{className:"rf-p-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),T.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):T.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[T.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[T.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[t.length," ",t.length===1?"Solver":"Solvers"]}),t.map(C=>{const Q=e.get(C),i=A===C;return T.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${i?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>I(C),children:(()=>{const E=Rpo(Q.solverName);return T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[T.jsx(E,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),T.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[T.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:Q.componentName}),T.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:Q.solverName})]})]})})()},C)})]}),T.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:o?B.instance?T.jsxs("div",{className:"rf-flex rf-h-full rf-flex-col rf-overflow-y-auto",children:[T.jsx(xpo,{solverEvent:o}),T.jsx("div",{className:"rf-min-h-0 rf-flex-1",children:T.jsx(mS,{fallback:T.jsx("div",{className:"rf-p-4",children:T.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),T.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",o.solverName]})]})}),children:T.jsx(mpo,{solver:B.instance})})})]}):T.jsxs("div",{className:"rf-p-4",children:[T.jsxs("div",{className:"rf-mb-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:o.solverName}),T.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",o.componentName]})]}),B.error&&T.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${B.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:T.jsx("p",{className:`rf-text-sm ${B.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:B.error})}),T.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[T.jsxs("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50 rf-flex rf-items-center rf-justify-between rf-gap-2",children:[T.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"}),T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx(Fpo,{solverEvent:o}),T.jsx(si,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8","aria-label":"Download solver input JSON",title:"Download solver input JSON",onClick:()=>ePI(o),children:T.jsx(GtA,{className:"rf-w-4 rf-h-4"})})]})]}),T.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:T.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(o.solverParams,null,2)})})]})]}):T.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},Jpo=["subcircuit_id","componentDisplayName","phaseName","routingPhaseIndex","phaseOrdinal","phaseCount","phaseStageIndex","phaseStageCount","connectionCount","obstacleCount","previousTraceCount","isReroutePhase","autorouterName","autorouterVersion","solverName","effort","cacheStatus"],Ppo=["phaseOrdinal","routingPhaseIndex","phaseName","phaseStageIndex"];function Kpo(g,A){let I=-1,e=-1;for(let t=g.length-1;t>=0;t--){const o=g[t];if(o.status!=="running"||o.subcircuit_id!==A.subcircuit_id||o.componentDisplayName!==A.componentDisplayName)continue;let B=0,C=!1;for(const Q of Ppo)if(!(o[Q]===void 0||A[Q]===void 0)){if(o[Q]!==A[Q]){C=!0;break}B++}!C&&B>e&&(I=t,e=B)}return I}function Lpo(g,A){const I=Object.fromEntries(Jpo.filter(B=>A[B]!==void 0).map(B=>[B,A[B]])),e=A.simpleRouteJson?structuredClone(A.simpleRouteJson):void 0,t=A.type==="autorouting:start"?-1:Kpo(g,A),o={...t===-1?{id:`autorouting_phase_${g.length+1}`}:g[t],...I,status:A.type==="autorouting:start"?"running":A.type==="autorouting:end"?"complete":"error",...A.type==="autorouting:start"?{startSimpleRouteJson:e}:A.type==="autorouting:end"?{endSimpleRouteJson:e}:{errorSimpleRouteJson:e,error:A.error?{...A.error}:void 0}};return t===-1?[...g,o]:g.map((B,C)=>C===t?o:B)}const Ypo=new Map([["custom","Custom"],["fanout","Fanout"],["single_layer_fanout","Single layer fanout"],["tscircuit_simplify","Simplify"]]),_po=new Set(["tscircuit","default","auto","auto_local"]);function bpo(g){if(g==="FanoutSolver")return"Fanout";if(g==="AutoroutingPipelineSolver11_Simplification")return"Simplify";const A=g.match(/^AutoroutingPipeline(?:Solver)?(\d+)(?:_|$)/);if(A)return`Pipeline${A[1]}`;const I=g.match(/^AssignableAutoroutingPipeline(\d+)$/);return I?`Assignable${I[1]}`:g}function Hpo(g){const A=g.autorouterName?.trim(),I=A?.replace(/-/g,"_"),e=I&&Ypo.get(I);if(e)return e;if(I&&!_po.has(I))return A;const t=g.solverName?.trim();if(t)return bpo(t);const o=g.autorouterVersion?.trim();if(o){const B=o.match(/^beta[_-]pipeline(\d+)$/);return B?`Pipeline${B[1]}`:o==="latest"?"default":o}return A?"default":"Unknown"}const hCg="#fbbf24";function vpo(g){const A=g.endSimpleRouteJson?.traces??[],I=new Set(A.flatMap(t=>[t.pcb_trace_id,t.__replaces_pcb_trace_id].filter(o=>o!==void 0)));return[...(g.startSimpleRouteJson?.traces??[]).filter(t=>!I.has(t.pcb_trace_id)),...A]}function tPI(g){const A=new Map((g.startSimpleRouteJson?.traces??[]).map(I=>[I.pcb_trace_id,I]));return(g.endSimpleRouteJson?.traces??[]).filter(I=>{const e=A.get(I.pcb_trace_id);return!e||!!I.__replaces_pcb_trace_id&&I.__replaces_pcb_trace_id!==e.__replaces_pcb_trace_id||JSON.stringify(e.route)!==JSON.stringify(I.route)}).map(I=>I.pcb_trace_id)}function Tpo(g,A){return{outer_diameter:g.via_diameter??A.minViaPadDiameter??A.min_via_pad_diameter??A.minViaDiameter??.6,hole_diameter:g.via_hole_diameter??A.minViaHoleDiameter??A.min_via_hole_diameter??.3}}function oPI(g,A){const I=[];for(const C of g.route)C.route_type==="wire"?I.push({...C,layer:C.layer}):C.route_type==="via"?I.push({route_type:"via",x:C.x,y:C.y,from_layer:C.from_layer,to_layer:C.to_layer,...Tpo(C,A)}):C.route_type==="through_obstacle"&&I.push({route_type:"through_pad",start:{...C.start},end:{...C.end},width:C.width,start_layer:C.from_layer,end_layer:C.to_layer,pcb_smtpad_id:C.circuitJsonMetadata?.pcb_smtpad_id,pcb_plated_hole_id:C.circuitJsonMetadata?.pcb_plated_hole_id});const e=C=>{let Q=-1,i=Number.POSITIVE_INFINITY;return I.forEach((E,n)=>{if(E.route_type!=="wire")return;const s=Math.hypot(E.x-C.x,E.y-C.y);s<i&&(i=s,Q=n)}),Q},t=g.route.filter(C=>C.route_type==="jumper").map(C=>[e(C.start),e(C.end)].sort((Q,i)=>Q-i)).filter(([C,Q])=>C>=0&&Q>C).sort(([C],[Q])=>C-Q),o=[];let B=0;for(const[C,Q]of t)C>=B&&o.push(I.slice(B,C+1)),B=Math.max(B,Q);return B<I.length&&o.push(I.slice(B)),o}function qpo(g){const A=[],I=[],e=g.endSimpleRouteJson;if(!e)return{lines:A,circles:I};const t=new Set(tPI(g));for(const o of e.traces??[])if(t.has(o.pcb_trace_id))for(const B of oPI(o,e)){let C;for(const Q of B){if(Q.route_type==="through_pad"){C={...Q.end,layer:Q.end_layer,width:Q.width};continue}const i=Q.route_type==="wire"?Q.layer:Q.from_layer;C&&C.layer===i&&(C.x!==Q.x||C.y!==Q.y)&&A.push({points:[{x:C.x,y:C.y},{x:Q.x,y:Q.y}],strokeWidth:Q.route_type==="wire"?Q.width:C.width,strokeColor:hCg,layer:i}),Q.route_type==="via"&&I.push({center:{x:Q.x,y:Q.y},radius:Q.outer_diameter/2,stroke:hCg,fill:"transparent"}),C={x:Q.x,y:Q.y,layer:Q.route_type==="wire"?Q.layer:Q.to_layer,width:Q.route_type==="wire"?Q.width:C?.width??e.minTraceWidth}}}return{coordinateSystem:"cartesian",lines:A,circles:I}}function Zpo(g){const A=JSON.stringify(g);let I=2166136261;for(let e=0;e<A.length;e++)I=Math.imul(I^A.charCodeAt(e),16777619);return(I>>>0).toString(36)}const Opo=new Set(["pcb_trace","pcb_via","pcb_copper_pour","pcb_ground_plane","pcb_ground_plane_region","pcb_thermal_spoke","pcb_breakout_point"]);function Wpo(g,A,I){const e=I==="input"?A.startSimpleRouteJson??A.errorSimpleRouteJson:A.endSimpleRouteJson,t=g.filter(i=>!Opo.has(i.type)&&!i.type.endsWith("_error")&&!i.type.endsWith("_warning"));if(!e)return t;const o=I==="input"?e.traces??[]:vpo(A),B=new Set(g.filter(i=>i.type==="source_trace").map(i=>i.source_trace_id)),C=["top",...Array.from({length:Math.max(0,e.layerCount-2)},(i,E)=>`inner${E+1}`),...e.layerCount>1?["bottom"]:[]],Q=[];for(const i of o){const n=e.connections.find(r=>r.name===i.connection_name||r.source_trace_id===i.connection_name)?.source_trace_id??i.connection_name??"",s=oPI(i,e);for(const[r,a]of s.entries()){const c={type:"pcb_trace",pcb_trace_id:`${A.id}_${I}_${i.pcb_trace_id}_${r}_${Zpo(a)}`,subcircuit_id:A.subcircuit_id??void 0,source_trace_id:B.has(n)?n:void 0,route:a};Q.push(c);for(const[h,l]of a.entries()){if(l.route_type!=="via")continue;const D=C.indexOf(l.from_layer),d=C.indexOf(l.to_layer),y={type:"pcb_via",pcb_via_id:`${c.pcb_trace_id}_via_${h}`,pcb_trace_id:c.pcb_trace_id,subcircuit_id:A.subcircuit_id??void 0,x:l.x,y:l.y,outer_diameter:l.outer_diameter,hole_diameter:l.hole_diameter,layers:D>=0&&d>=0?C.slice(Math.min(D,d),Math.max(D,d)+1):[l.from_layer,l.to_layer]};Q.push(y)}}}return[...t,...Q]}const lCg=(g,A)=>g.phaseName||`Phase ${g.phaseOrdinal??A+1}`,BPI=g=>g.componentDisplayName?.match(/name="([^"]+)"/)?.[1]?.replace(/^\./,"")||g.componentDisplayName||g.subcircuit_id||"Board",CPI=g=>g.startSimpleRouteJson??g.endSimpleRouteJson??g.errorSimpleRouteJson,Vpo={is_showing_autorouting:!0,is_showing_rats_nest:!1,is_showing_drc_errors:!1,is_showing_drc_warnings:!1,is_showing_pcb_groups:!1},jpo=({circuitJson:g,phases:A=[],isRunning:I=!1})=>{const[e,t]=z.useState(null),[o,B]=z.useState("output"),[C,Q]=z.useState(!0),[i,E]=z.useState(!1),n=z.useRef(null),[s,r]=z.useState(480),a=e?A.findIndex(N=>N.id===e.id&&CPI(N)===CPI(e)):-1,c=a<0?A.length-1:a,h=A[c],l=a<0,D=!!h?.endSimpleRouteJson,d=h?.startSimpleRouteJson??h?.errorSimpleRouteJson,y=!!d,w=o==="output"&&!D?"input":o==="input"&&!y?"output":o,u=w==="input"?d:h?.endSimpleRouteJson,G=z.useMemo(()=>!h||!u?null:Wpo(g??[],h,w),[g,h,u,w]),m=z.useMemo(()=>h&&w==="output"&&C?qpo(h):{lines:[],circles:[]},[h,w,C]);if(z.useLayoutEffect(()=>{const N=n.current;if(!N)return;const U=()=>r(Math.max(360,N.clientHeight));U();const K=new ResizeObserver(U);return K.observe(N),()=>K.disconnect()},[!!h]),!h)return T.jsxs("div",{className:"rf-flex rf-min-h-[400px] rf-flex-col rf-items-center rf-justify-center rf-gap-3 rf-p-8 rf-text-center",children:[T.jsx(v1I,{className:"rf-h-7 rf-w-7 rf-text-blue-500"}),T.jsx("h3",{className:"rf-text-base rf-font-medium",children:I?"Waiting for autorouting":"No autorouting captures"}),T.jsx("p",{className:"rf-max-w-md rf-text-sm rf-text-gray-500",children:I?"Phases appear as the circuit routes. Each capture includes its input and output on the PCB.":"Run a circuit with autorouting enabled to inspect its phases. A circuit JSON file alone does not include routing history."})]});const p=lCg(h,c),k=h.status==="running"&&I,S=!D,R=d?.connections.length,x=G?.filter(N=>N.type==="pcb_trace").length??0;return T.jsxs("div",{className:"rf-flex rf-h-full rf-min-h-[620px] rf-flex-col rf-bg-white md:rf-flex-row","data-testid":"autorouting-explorer",children:[T.jsxs("aside",{className:"rf-flex rf-shrink-0 rf-flex-col rf-border-b rf-border-gray-200 md:rf-w-52 md:rf-border-b-0 md:rf-border-r","aria-label":"Routing phases",children:[T.jsxs("div",{className:"rf-flex rf-items-center rf-justify-between rf-px-3 rf-py-2 rf-text-xs rf-text-gray-500",children:[T.jsx("span",{children:"Routing phases"}),T.jsx("span",{children:A.length})]}),T.jsx("div",{className:"rf-flex rf-gap-1 rf-overflow-x-auto rf-px-1.5 rf-pb-1.5 md:rf-flex-col md:rf-overflow-x-hidden md:rf-overflow-y-auto",children:A.map((N,U)=>{const K=tPI(N).length,Y=N.endSimpleRouteJson?`${K} ${K===1?"trace":"traces"} routed`:N.status==="error"?"Failed":N.status==="running"&&I?"Routing…":"No output";return T.jsxs("button",{type:"button","aria-pressed":U===c,title:`${BPI(N)} · ${Y}`,onClick:()=>t(N),className:oo("rf-flex rf-min-w-[192px] rf-items-start rf-gap-2 rf-rounded-md rf-border rf-px-2 rf-py-2 rf-text-left md:rf-min-w-0",U===c?"rf-border-blue-200 rf-bg-blue-50":"rf-border-transparent hover:rf-bg-gray-50"),children:[T.jsx("span",{className:oo("rf-flex rf-h-5 rf-w-5 rf-shrink-0 rf-items-center rf-justify-center rf-rounded-full rf-text-[11px]",U===c?"rf-bg-blue-600 rf-text-white":"rf-bg-gray-100 rf-text-gray-500"),children:U+1}),T.jsxs("span",{className:"rf-min-w-0 rf-flex-1",children:[T.jsxs("span",{className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx("span",{className:"rf-min-w-0 rf-flex-1 rf-truncate rf-text-xs rf-font-medium rf-leading-5 rf-text-gray-800",title:lCg(N,U),children:lCg(N,U)}),N.status==="complete"?T.jsx(nF,{"aria-label":"Captured",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-green-600"}):N.status==="error"?T.jsx(Uog,{"aria-label":"Failed",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-red-500"}):I?T.jsx(pS,{"aria-label":"Routing",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-animate-spin rf-text-blue-500"}):null]}),T.jsxs("span",{className:"rf-block rf-text-[11px] rf-leading-4 rf-text-gray-500",children:[Hpo(N)," · ",Y]})]})]},N.id)})})]}),T.jsxs("div",{className:"rf-flex rf-min-w-0 rf-flex-1 rf-flex-col",children:[T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-gap-3 rf-border-b rf-border-gray-200 rf-px-4 rf-py-3",children:[T.jsxs("h3",{className:"rf-mr-auto rf-flex rf-items-center rf-gap-2 rf-text-sm rf-font-medium",children:[p,T.jsxs("span",{className:"rf-text-xs rf-font-normal rf-text-gray-500",children:[c+1," of ",A.length]})]}),I&&T.jsx("button",{type:"button",onClick:()=>t(null),disabled:l,className:"rf-text-xs rf-text-blue-600 disabled:rf-text-gray-500",children:l?"Following latest":"Follow latest"}),T.jsx("div",{className:"rf-flex rf-rounded-md rf-bg-gray-100 rf-p-1","aria-label":"Phase snapshot",children:["input","output"].map(N=>T.jsx("button",{type:"button","aria-pressed":w===N,disabled:N==="input"?!y:!D,onClick:()=>B(N),className:oo("rf-rounded rf-px-3 rf-py-1 rf-text-xs disabled:rf-opacity-40",w===N?"rf-bg-white rf-text-gray-900 rf-shadow-sm":"rf-text-gray-500"),children:N==="input"?"Input":"Output"},N))})]}),T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-px-4 rf-py-2 rf-text-xs rf-text-gray-600",children:[T.jsxs("label",{className:"rf-flex rf-items-center rf-gap-2",children:[T.jsx("input",{type:"checkbox",checked:C,disabled:w!=="output",onChange:N=>Q(N.target.checked),className:"rf-accent-blue-600"}),T.jsx("span",{"aria-hidden":"true",className:"rf-inline-block rf-h-0.5 rf-w-3",style:{backgroundColor:hCg}}),"Highlight changes (all layers)"]}),T.jsxs("span",{children:[w==="input"?"Before this phase":"After this phase"," ","· ",x," traces"]})]}),S&&T.jsx("div",{className:oo("rf-border-y rf-px-4 rf-py-2 rf-text-xs",h.status==="error"?"rf-border-red-100 rf-bg-red-50 rf-text-red-700":"rf-border-blue-100 rf-bg-blue-50 rf-text-blue-700"),role:"status",children:h.status==="error"?`Routing failed: ${h.error?.message||"No output was captured."}`:k?"Routing in progress. Showing captured input until output is available.":"No output was captured for this phase. Showing the available input."}),T.jsx("div",{ref:n,className:"rf-relative rf-min-h-[360px] rf-flex-1","data-testid":"autorouting-pcb",children:G?T.jsx(Nog,{circuitJson:G,height:s,allowEditing:!1,clickToInteractEnabled:!1,initialState:Vpo,debugGraphics:m}):T.jsx("div",{className:"rf-p-6 rf-text-sm rf-text-gray-500",children:"No PCB snapshot available for this capture."})}),T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-border-t rf-border-gray-200 rf-px-4 rf-py-3 rf-text-xs rf-text-gray-500",children:[T.jsxs("span",{children:[R===void 0?"Input unavailable":`${R} input connections`,` · ${BPI(h)}`]}),T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-4",children:[T.jsxs("button",{type:"button",disabled:!u,onClick:()=>Yk(JSON.stringify(u,null,2),{fileName:`${h.id}-${w}.srj.json`,mimeType:"application/json"}),className:"rf-flex rf-items-center rf-gap-1 disabled:rf-opacity-40",children:[T.jsx(GtA,{className:"rf-h-3 rf-w-3"}),"Download SRJ"]}),T.jsxs("button",{type:"button","aria-expanded":i,onClick:()=>E(!i),className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx(pb,{className:oo("rf-h-3 rf-w-3",i&&"rf-rotate-90")}),"Inspect SRJ"]})]})]}),i&&T.jsx("pre",{className:"rf-m-0 rf-max-h-64 rf-overflow-auto rf-border-t rf-border-gray-200 rf-bg-gray-50 rf-p-4 rf-text-xs","aria-label":`${p} ${w} SRJ`,children:u?JSON.stringify(u,null,2):"No snapshot captured."})]})]})},QPI=({errorMessage:g,errorStack:A,circuitJsonErrors:I})=>{z.useEffect(()=>{if(yJ("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&g){const e=new Error(g);A&&(e.stack=A);try{pq.captureException(e)}catch{}}},[g,A]),z.useEffect(()=>{if(yJ("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&I&&I.length>0)for(const e of I){const t=new Error(e.message||"Circuit JSON Error");e.stack&&(t.stack=e.stack);try{pq.captureException(t,{error_type:e.type})}catch{}}},[I])},iPI=g=>{z.useEffect(()=>{try{Adt(g)}catch{}},[g.source,g.component,g.isWebEmbedded,g.activeTab])},EPI="0.0.3058",zpo={version:EPI},jmA=CXg()(QXg(g=>({lastRunEvalVersion:void 0,setLastRunEvalVersion:A=>{g({lastRunEvalVersion:A})}}),{name:"runframe-runner-store"})),Xpo=g=>{const[A,I]=z.useState([]),[e,t]=z.useState(null),[o,B]=z.useState(""),[C,Q]=OT("eval-version-selection",null),i=jmA(r=>r.setLastRunEvalVersion),E=jmA(r=>r.lastRunEvalVersion);return z.useEffect(()=>{g&&fetch("https://data.jsdelivr.com/v1/package/npm/@tscircuit/eval").then(r=>r.json()).then(r=>{if(Array.isArray(r?.versions)){let a=[...r.versions];r.tags?.latest&&(t(r.tags.latest),a=a.filter(c=>c!==r.tags.latest)),I(a)}}).catch(()=>{})},[g]),z.useEffect(()=>{g&&(C?(window.TSCIRCUIT_LATEST_EVAL_VERSION=C,i(C)):e&&(window.TSCIRCUIT_LATEST_EVAL_VERSION=e,i(e)))},[g,C,e]),{versions:z.useMemo(()=>A.filter(r=>r.includes(o)).slice(0,50),[A,o]),latestVersion:e,lastRunEvalVersion:E,search:o,setSearch:B,selectVersion:r=>{Q(r),B("")}}},$po=({snippetNames:g,onSelect:A,onCancel:I,isOpen:e})=>{const[t,o]=z.useState(""),[B,C]=z.useState("");if(!e)return null;const Q=g.filter(n=>n.toLowerCase().includes(B.toLowerCase())),i=B&&!g.includes(B),E=n=>{n.key==="Enter"&&(Q.length===1?o(Q[0]):i&&o(B))};return T.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-items-center rf-justify-center rf-z-[100]",children:T.jsxs("div",{className:"rf-bg-white rf-rounded-lg rf-p-6 rf-w-96",children:[T.jsx("h2",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Select Snippet"}),T.jsx("input",{type:"text",className:"rf-w-full rf-px-4 rf-py-2 rf-border rf-rounded rf-mb-4",placeholder:"Search snippets or new snippet name...",value:B,onChange:n=>C(n.target.value),onKeyDown:E}),T.jsxs("div",{className:"rf-h-60 rf-overflow-y-auto",children:[Q.map(n=>T.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${t===n?"bg-blue-50":""}`,onClick:()=>o(n),children:n},n)),i&&T.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${t===B?"bg-blue-50":""}`,onClick:()=>o(B),children:['Create new "',B,'"']})]}),T.jsxs("div",{className:"rf-mt-4 rf-flex rf-justify-end rf-gap-2",children:[T.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-text-gray-600 rf-hover:text-gray-800",onClick:I,children:"Cancel"}),T.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-bg-blue-500 rf-text-white rf-rounded rf-hover:bg-blue-600 rf-disabled:opacity-50",onClick:()=>t&&A(t),disabled:!t,children:t===B?`Create "${t}"`:`Save to ${t}`})]})]})})},Ako=g=>{const A=z.useRef(null),I=Uc(e=>e.recentEvents);z.useEffect(()=>{if(I.length===0)return;const e=I[0];e.event_id!==A.current&&(g(e),A.current=e.event_id)},[I,g])};var gko=Object.defineProperty,CP=(g,A)=>gko(g,"name",{value:A,configurable:!0}),Iko="AlertDialog",[eko,CCB]=nk(Iko,[hFI]),QP=hFI(),tko=CP(g=>{const{__scopeAlertDialog:A,...I}=g,e=QP(A);return T.jsx(smA,{...e,...I,modal:!0})},"AlertDialog");z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=QP(e);return T.jsx($0o,{...o,...t,ref:I})},"AlertDialogTrigger"));var oko=CP(g=>{const{__scopeAlertDialog:A,...I}=g,e=QP(A);return T.jsx(amA,{...e,...I})},"AlertDialogPortal"),nPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=QP(e);return T.jsx(PtA,{...o,...t,ref:I})},"AlertDialogOverlay")),Bko="AlertDialogContent",[Cko,Qko]=eko(Bko),sPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,children:t,...o}=A,B=QP(e),C=z.useRef(null),Q=Gi(I,C),i=z.useRef(null);return T.jsx(Cko,{scope:e,cancelRef:i,children:T.jsx(LtA,{role:"alertdialog",...B,...o,ref:Q,onOpenAutoFocus:So(o.onOpenAutoFocus,E=>{E.preventDefault(),i.current?.focus({preventScroll:!0})}),onPointerDownOutside:E=>E.preventDefault(),onInteractOutside:E=>E.preventDefault(),children:t})})},"AlertDialogContent")),aPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=QP(e);return T.jsx(rmA,{...o,...t,ref:I})},"AlertDialogTitle")),rPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=QP(e);return T.jsx(cmA,{...o,...t,ref:I})},"AlertDialogDescription")),cPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=QP(e);return T.jsx(GBg,{...o,...t,ref:I})},"AlertDialogAction")),iko="AlertDialogCancel",hPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,{cancelRef:o}=Qko(iko,e),B=QP(e),C=Gi(I,o);return T.jsx(GBg,{...B,...t,ref:C})},"AlertDialogCancel"));const lPI=tko,Eko=oko,DPI=z.forwardRef(({className:g,...A},I)=>T.jsx(nPI,{className:oo("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",g),...A,ref:I}));DPI.displayName=nPI.displayName;const DCg=z.forwardRef(({className:g,...A},I)=>T.jsxs(Eko,{children:[T.jsx(DPI,{}),T.jsx(sPI,{ref:I,className:oo("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",g),...A})]}));DCg.displayName=sPI.displayName;const dCg=({className:g,...A})=>T.jsx("div",{className:oo("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",g),...A});dCg.displayName="AlertDialogHeader";const yCg=({className:g,...A})=>T.jsx("div",{className:oo("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",g),...A});yCg.displayName="AlertDialogFooter";const wCg=z.forwardRef(({className:g,...A},I)=>T.jsx(aPI,{ref:I,className:oo("rf-text-lg rf-font-semibold",g),...A}));wCg.displayName=aPI.displayName;const uCg=z.forwardRef(({className:g,...A},I)=>T.jsx(rPI,{ref:I,className:oo("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",g),...A}));uCg.displayName=rPI.displayName;const nko=z.forwardRef(({className:g,...A},I)=>T.jsx(cPI,{ref:I,className:oo(CO(),g),...A}));nko.displayName=cPI.displayName;const GCg=z.forwardRef(({className:g,...A},I)=>T.jsx(hPI,{ref:I,className:oo(CO({variant:"outline"}),"rf-mt-2 sm:rf-mt-0",g),...A}));GCg.displayName=hPI.displayName;var sko=Object.defineProperty,iP=(g,A)=>sko(g,"name",{value:A,configurable:!0}),mCg="Checkbox",[ako,QCB]=nk(mCg),[rko,pCg]=ako(mCg);function dPI(g){const{__scopeCheckbox:A,checked:I,children:e,defaultChecked:t,disabled:o,form:B,name:C,onCheckedChange:Q,required:i,value:E="on",internal_do_not_use_render:n}=g,[s,r]=RR({prop:I,defaultProp:t??!1,onChange:Q,caller:mCg}),[a,c]=z.useState(null),[h,l]=z.useState(null),[D,d]=z.useState(null),y=a?!!B||!!a.closest("form"):!0,w={checked:s,disabled:o,setChecked:r,control:a,setControl:c,name:C,form:B,value:E,userClick:D,onUserClick:d,required:i,defaultChecked:yf(t)?!1:t,isFormControl:y,bubbleInput:h,setBubbleInput:l};return T.jsx(rko,{scope:A,...w,children:wPI(n)?n(w):e})}iP(dPI,"CheckboxProvider");var cko="CheckboxTrigger",hko=z.forwardRef(iP(function({__scopeCheckbox:A,onKeyDown:I,onClick:e,...t},o){const{control:B,value:C,disabled:Q,checked:i,required:E,setControl:n,setChecked:s,onUserClick:r,isFormControl:a,bubbleInput:c}=pCg(cko,A),h=Gi(o,n),l=z.useRef(i);return z.useEffect(()=>{const D=B?.form;if(D){const d=iP(()=>s(l.current),"reset");return D.addEventListener("reset",d),()=>D.removeEventListener("reset",d)}},[B,s]),T.jsx(yQ.button,{type:"button",role:"checkbox","aria-checked":yf(i)?"mixed":i,"aria-required":E,"data-state":kCg(i),"data-disabled":Q?"":void 0,disabled:Q,value:C,...t,ref:h,onKeyDown:So(I,D=>{D.key==="Enter"&&D.preventDefault()}),onClick:So(e,D=>{const d=D.isPropagationStopped();r({requestedChecked:yf(i)?!0:!i,hasConsumerStoppedPropagation:d}),s(y=>yf(y)?!0:!y),c&&a&&(d||D.stopPropagation())})})},"CheckboxTrigger")),yPI=z.forwardRef(iP(function(A,I){const{__scopeCheckbox:e,name:t,checked:o,defaultChecked:B,required:C,disabled:Q,value:i,onCheckedChange:E,form:n,...s}=A;return T.jsx(dPI,{__scopeCheckbox:e,checked:o,defaultChecked:B,disabled:Q,required:C,onCheckedChange:E,name:t,form:n,value:i,internal_do_not_use_render:({isFormControl:r})=>T.jsxs(T.Fragment,{children:[T.jsx(hko,{...s,ref:I,__scopeCheckbox:e}),r&&T.jsx(yko,{__scopeCheckbox:e})]})})},"Checkbox")),lko="CheckboxIndicator",Dko=z.forwardRef(iP(function(A,I){const{__scopeCheckbox:e,forceMount:t,...o}=A,B=pCg(lko,e);return T.jsx(XM,{present:t||yf(B.checked)||B.checked===!0,children:T.jsx(yQ.span,{"data-state":kCg(B.checked),"data-disabled":B.disabled?"":void 0,...o,ref:I,style:{pointerEvents:"none",...A.style}})})},"CheckboxIndicator")),dko="CheckboxBubbleInput",yko=z.forwardRef(iP(function({__scopeCheckbox:A,onClick:I,...e},t){const{control:o,userClick:B,checked:C,defaultChecked:Q,required:i,disabled:E,name:n,value:s,form:r,bubbleInput:a,setBubbleInput:c}=pCg(dko,A),h=Gi(t,c),l=tBg(o),D=z.useRef(!1),d=z.useRef(C),y=z.useRef(B),w=z.useRef(null);z.useEffect(()=>{const G=a;if(!G)return;const m=window.HTMLInputElement.prototype,k=Object.getOwnPropertyDescriptor(m,"checked").set;if(!k)return;const S=d.current!==C;d.current=C;const R=B!==null&&B!==y.current;if(y.current=B,R)w.current=S?null:B,S&&(G.indeterminate=yf(C),k.call(G,yf(C)?!1:C)),G.dispatchEvent(new Event("click",{bubbles:!B.hasConsumerStoppedPropagation}));else if(S){const x=w.current;w.current=null;const N=x?.requestedChecked===C;D.current=!0,G.indeterminate=yf(C),k.call(G,yf(C)?!1:C),G.dispatchEvent(new Event("click",{bubbles:!(N&&x.hasConsumerStoppedPropagation)})),D.current=!1}},[a,C,B]);const u=z.useRef(yf(C)?!1:C);return T.jsx(yQ.input,{type:"checkbox","aria-hidden":!0,defaultChecked:Q??u.current,required:i,disabled:E,name:n,value:s,form:r,...e,tabIndex:-1,ref:h,onClick:So(I,G=>{D.current&&G.stopPropagation()}),style:{...e.style,...l,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function wPI(g){return typeof g=="function"}iP(wPI,"isFunction");function yf(g){return g==="indeterminate"}iP(yf,"isIndeterminate");function kCg(g){return yf(g)?"indeterminate":g?"checked":"unchecked"}iP(kCg,"getState");const BoA=z.forwardRef(({className:g,...A},I)=>T.jsx(yPI,{ref:I,className:oo("rf-peer rf-h-4 rf-w-4 rf-shrink-0 rf-rounded-sm rf-border rf-border-zinc-200 rf-border-zinc-900 rf-shadow focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 data-[state=checked]:rf-bg-zinc-900 data-[state=checked]:rf-text-zinc-50 dark:rf-border-zinc-800 dark:rf-border-zinc-50 dark:focus-visible:rf-ring-zinc-300 dark:data-[state=checked]:rf-bg-zinc-50 dark:data-[state=checked]:rf-text-zinc-900",g),...A,children:T.jsx(Dko,{className:oo("rf-flex rf-items-center rf-justify-center rf-text-current"),children:T.jsx(nF,{className:"rf-h-4 rf-w-4"})})}));BoA.displayName=yPI.displayName;const Ub=smA,wko=amA,uPI=z.forwardRef(({className:g,...A},I)=>T.jsx(PtA,{className:oo("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",g),...A,ref:I}));uPI.displayName=PtA.displayName;const SL=z.forwardRef(({className:g,children:A,showOverlay:I=!0,...e},t)=>T.jsxs(wko,{children:[T.jsx(uPI,{className:oo(I?"":"rf-hidden")}),T.jsx(LtA,{ref:t,className:oo("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",g),...e,children:A})]}));SL.displayName=LtA.displayName;const fL=({className:g,...A})=>T.jsx("div",{className:oo("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",g),...A});fL.displayName="DialogHeader";const JO=({className:g,...A})=>T.jsx("div",{className:oo("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",g),...A});JO.displayName="DialogFooter";const RL=z.forwardRef(({className:g,...A},I)=>T.jsx(rmA,{ref:I,className:oo("rf-text-lg rf-font-semibold",g),...A}));RL.displayName=rmA.displayName;const Jb=z.forwardRef(({className:g,...A},I)=>T.jsx(cmA,{ref:I,className:oo("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",g),...A}));Jb.displayName=cmA.displayName;const zmA={"tscircuit.com":{label:"tscircuit.com",placeholder:"Search tscircuit packages...",emptyMessage:"No packages found"},jlcpcb:{label:"JLCPCB Parts",placeholder:"Search JLCPCB parts (e.g. C14663)...",emptyMessage:"No parts found"},kicad:{label:"KiCad Footprints",placeholder:"Search KiCad footprints...",emptyMessage:"No footprints found"}},uko="https://cdn.jsdelivr.net/npm/easyeda@latest/dist/browser/index.js";let MCg=null;const SCg=async()=>(MCg||(MCg=import(uko)),MCg),Gko=g=>(A,I)=>{const e=new Headers(I?.headers),t={};return e.forEach((o,B)=>{t[B]=o}),fetch(`${g?.apiBase??Nm}/proxy`,{...I,headers:{...t,"X-Target-Url":A.toString(),"X-Sender-Origin":t.origin??"","X-Sender-Host":t.host??"https://easyeda.com","X-Sender-Referer":t.referer??"","X-Sender-User-Agent":t["user-agent"]??"","X-Sender-Cookie":t.cookie??"",authority:t.authority??"","content-type":t["content-type"]??"",...g?.headers}})},mko=async(g,A=10)=>{const I=encodeURIComponent(g),e=await fetch(`https://jlcsearch.tscircuit.com/api/search?limit=${A}&q=${I}`);if(!e.ok)throw new Error(`JLCPCB API error: ${e.status}`);return(await e.json()).components??[]},pko=g=>({lcscId:g.lcsc,manufacturer:g.mfr,description:g.description,partNumber:`C${g.lcsc}`,package:g.package,price:g.price,stock:g.stock,isBasic:g.is_basic}),GPI=async(g,A)=>{const{fetchEasyEDAComponent:I}=await SCg();return I(g,{fetch:Gko(A),includeModelMetadata:A?.includeModelMetadata})},kko=async(g,A)=>{const{convertRawEasyToTsx:I}=await SCg(),e=await GPI(g,A);return I({rawEasy:e})},Mko=async(g,A)=>{const{EasyEdaJsonSchema:I,convertEasyEdaJsonToCircuitJson:e}=await SCg(),t=await GPI(g,{...A,includeModelMetadata:!1}),o=I.parse(t);return e(o,{shouldRecenter:!0,showDesignator:!0,useModelCdn:!1})};function NL(g){return Array.isArray?Array.isArray(g):pPI(g)==="[object Array]"}function Sko(g){if(typeof g=="string")return g;if(typeof g=="bigint")return g.toString();const A=g+"";return A=="0"&&1/g==-1/0?"-0":A}function fCg(g){return g==null?"":Sko(g)}function dG(g){return typeof g=="string"}function XmA(g){return typeof g=="number"}function fko(g){return g===!0||g===!1||Rko(g)&&pPI(g)=="[object Boolean]"}function mPI(g){return typeof g=="object"}function Rko(g){return mPI(g)&&g!==null}function xS(g){return g!=null}function $mA(g){return!g.trim().length}function pPI(g){return g==null?g===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(g)}const Nko="Incorrect 'index' type",RCg="Invalid doc index: must be a non-negative integer within the bounds of the docs array",xko=g=>`Invalid value for key ${g}`,Fko=g=>`Pattern length exceeds max of ${g}.`,Uko=g=>`Missing ${g} property in key`,Jko=g=>`Property 'weight' in key '${g}' must be a positive integer`,Pko="Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.",kPI=Object.prototype.hasOwnProperty;var Kko=class{constructor(g){this._keys=[],this._keyMap={};let A=0;g.forEach(I=>{const e=MPI(I);this._keys.push(e),this._keyMap[e.id]=e,A+=e.weight}),this._keys.forEach(I=>{I.weight/=A})}get(g){return this._keyMap[g]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function MPI(g){let A=null,I=null,e=null,t=1,o=null;if(dG(g)||NL(g))e=g,A=SPI(g),I=ApA(g);else{if(!kPI.call(g,"name"))throw new Error(Uko("name"));const B=g.name;if(e=B,kPI.call(g,"weight")&&g.weight!==void 0&&(t=g.weight,t<=0))throw new Error(Jko(ApA(B)));A=SPI(B),I=ApA(B),o=g.getFn??null}return{path:A,id:I,weight:t,src:e,getFn:o}}function SPI(g){return NL(g)?g:g.split(".")}function ApA(g){return NL(g)?g.join("."):g}function Lko(g,A){const I=[];let e=!1;const t=(o,B,C,Q)=>{if(xS(o))if(!B[C])I.push(Q!==void 0?{v:o,i:Q}:o);else{const i=o[B[C]];if(!xS(i))return;if(C===B.length-1&&(dG(i)||XmA(i)||fko(i)||typeof i=="bigint"))I.push(Q!==void 0?{v:fCg(i),i:Q}:fCg(i));else if(NL(i)){e=!0;for(let E=0,n=i.length;E<n;E+=1)t(i[E],B,C+1,E)}else B.length&&t(i,B,C+1,Q)}};return t(g,dG(A)?A.split("."):A,0),e?I:I[0]}const cQ=Object.freeze({...{isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(g,A)=>g.score===A.score?g.idx<A.idx?-1:1:g.score<A.score?-1:1},...{includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},...{location:0,threshold:.6,distance:100},...{useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:"any",getFn:Lko,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}});function Yko(g){return g>=9&&g<=13||g===32||g===160}function _ko(g=1,A=3){const I=new Map,e=Math.pow(10,A);return{get(t){let o=0,B=!1;for(let Q=0;Q<t.length;Q++)Yko(t.charCodeAt(Q))?B=!1:B||(o++,B=!0);if(o===0&&(o=1),I.has(o))return I.get(o);const C=Math.round(e/Math.pow(o,.5*g))/e;return I.set(o,C),C},clear(){I.clear()}}}var NCg=class{constructor({getFn:g=cQ.getFn,fieldNormWeight:A=cQ.fieldNormWeight}={}){this.norm=_ko(A,3),this.getFn=g,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(g=[]){this.docs=g}setIndexRecords(g=[]){this.records=g}setKeys(g=[]){this.keys=g,this._keysMap={},g.forEach((A,I)=>{this._keysMap[A.id]=I})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;const g=this.docs.length;this.records=new Array(g);let A=0;if(dG(this.docs[0]))for(let I=0;I<g;I++){const e=this._createStringRecord(this.docs[I],I);e&&(this.records[A++]=e)}else for(let I=0;I<g;I++)this.records[A++]=this._createObjectRecord(this.docs[I],I);this.records.length=A,this.norm.clear()}add(g,A){if(!Number.isInteger(A)||A<0)throw new Error(RCg);if(dG(g)){const e=this._createStringRecord(g,A);return e&&this.records.push(e),e}const I=this._createObjectRecord(g,A);return this.records.push(I),I}removeAt(g){if(!Number.isInteger(g)||g<0)throw new Error(RCg);for(let A=0,I=this.records.length;A<I;A+=1)if(this.records[A].i===g){this.records.splice(A,1);break}for(let A=0,I=this.records.length;A<I;A+=1)this.records[A].i>g&&(this.records[A].i-=1)}removeAll(g){const A=new Set;for(const e of g)Number.isInteger(e)&&e>=0&&A.add(e);if(A.size===0)return;this.records=this.records.filter(e=>!A.has(e.i));const I=Array.from(A).sort((e,t)=>e-t);for(const e of this.records){let t=0,o=I.length;for(;t<o;){const B=t+o>>>1;I[B]<e.i?t=B+1:o=B}e.i-=t}}getValueForItemAtKeyId(g,A){return g[this._keysMap[A]]}size(){return this.records.length}_createStringRecord(g,A){return!xS(g)||$mA(g)?null:{v:g,i:A,n:this.norm.get(g)}}_createObjectRecord(g,A){const I={i:A,$:{}};for(let e=0,t=this.keys.length;e<t;e++){const o=this.keys[e],B=o.getFn?o.getFn(g):this.getFn(g,o.path);if(xS(B)){if(NL(B)){const C=[];for(let Q=0,i=B.length;Q<i;Q+=1){const E=B[Q];if(xS(E)){if(dG(E)){if(!$mA(E)){const n={v:E,i:Q,n:this.norm.get(E)};C.push(n)}}else if(xS(E.v)){const n=dG(E.v)?E.v:fCg(E.v);if(!$mA(n)){const s={v:n,i:E.i,n:this.norm.get(n)};C.push(s)}}}}I.$[e]=C}else if(dG(B)&&!$mA(B)){const C={v:B,n:this.norm.get(B)};I.$[e]=C}}}return I}toJSON(){return{keys:this.keys.map(({getFn:g,...A})=>A),records:this.records}}};function fPI(g,A,{getFn:I=cQ.getFn,fieldNormWeight:e=cQ.fieldNormWeight}={}){const t=new NCg({getFn:I,fieldNormWeight:e});return t.setKeys(g.map(MPI)),t.setSources(A),t.create(),t}function bko(g,{getFn:A=cQ.getFn,fieldNormWeight:I=cQ.fieldNormWeight}={}){const{keys:e,records:t}=g,o=new NCg({getFn:A,fieldNormWeight:I});return o.setKeys(e),o.setIndexRecords(t),o}function Hko(g=[],A=cQ.minMatchCharLength){const I=[];let e=-1,t=-1,o=0;for(let B=g.length;o<B;o+=1){const C=g[o];C&&e===-1?e=o:!C&&e!==-1&&(t=o-1,t-e+1>=A&&I.push([e,t]),e=-1)}return g[o-1]&&o-e>=A&&I.push([e,o-1]),I}function vko(g,A,I,{location:e=cQ.location,distance:t=cQ.distance,threshold:o=cQ.threshold,findAllMatches:B=cQ.findAllMatches,minMatchCharLength:C=cQ.minMatchCharLength,includeMatches:Q=cQ.includeMatches,ignoreLocation:i=cQ.ignoreLocation}={}){if(A.length>32)throw new Error(Fko(32));const E=A.length,n=g.length,s=Math.max(0,Math.min(e,n));let r=o,a=s;const c=(p,k)=>{const S=p/E;if(i)return S;const R=Math.abs(s-k);return t?S+R/t:R?1:S},h=C>1||Q,l=h?Array(n):[];let D;for(;(D=g.indexOf(A,a))>-1;){const p=c(0,D);if(r=Math.min(p,r),a=D+E,h){let k=0;for(;k<E;)l[D+k]=1,k+=1}}a=-1;let d=[],y=1,w=0,u=E+n;const G=1<<E-1;for(let p=0;p<E;p+=1){let k=0,S=u;for(;k<S;)c(p,s+S)<=r?k=S:u=S,S=Math.floor((u-k)/2+k);u=S;let R=Math.max(1,s-S+1);const x=B?n:Math.min(s+S,n)+E,N=Array(x+2);N[x+1]=(1<<p)-1;for(let U=x;U>=R;U-=1){const K=U-1,Y=I[g[K]];if(N[U]=(N[U+1]<<1|1)&Y,p&&(N[U]|=(d[U+1]|d[U])<<1|1|d[U+1]),N[U]&G&&(y=c(p,K),y<=r)){if(r=y,a=K,w=p,a<=s)break;R=Math.max(1,2*s-a)}}if(c(p+1,s)>r)break;d=N}if(h&&a>=0){const p=Math.min(n-1,a+E-1+w);for(let k=a;k<=p;k+=1)I[g[k]]&&(l[k]=1)}const m={isMatch:a>=0,score:Math.max(.001,y)};if(h){const p=Hko(l,C);p.length?Q&&(m.indices=p):m.isMatch=!1}return m}function Tko(g){const A={};for(let I=0,e=g.length;I<e;I+=1){const t=g.charAt(I);A[t]=(A[t]||0)|1<<e-I-1}return A}function xCg(g){if(g.length<=1)return g;g.sort((I,e)=>I[0]-e[0]||I[1]-e[1]);const A=[g[0]];for(let I=1,e=g.length;I<e;I+=1){const t=A[A.length-1],o=g[I];o[0]<=t[1]+1?t[1]=Math.max(t[1],o[1]):A.push(o)}return A}const RPI={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},qko=new RegExp("["+Object.keys(RPI).join("")+"]","g"),CoA=typeof String.prototype.normalize=="function"?g=>g.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(qko,A=>RPI[A]):g=>g;var FCg=class{constructor(g,{location:A=cQ.location,threshold:I=cQ.threshold,distance:e=cQ.distance,includeMatches:t=cQ.includeMatches,findAllMatches:o=cQ.findAllMatches,minMatchCharLength:B=cQ.minMatchCharLength,isCaseSensitive:C=cQ.isCaseSensitive,ignoreDiacritics:Q=cQ.ignoreDiacritics,ignoreLocation:i=cQ.ignoreLocation}={}){if(this.options={location:A,threshold:I,distance:e,includeMatches:t,findAllMatches:o,minMatchCharLength:B,isCaseSensitive:C,ignoreDiacritics:Q,ignoreLocation:i},g=C?g:g.toLowerCase(),g=Q?CoA(g):g,this.pattern=g,this.chunks=[],!this.pattern.length)return;const E=(s,r)=>{this.chunks.push({pattern:s,alphabet:Tko(s),startIndex:r})},n=this.pattern.length;if(n>32){let s=0;const r=n%32,a=n-r;for(;s<a;)E(this.pattern.substr(s,32),s),s+=32;if(r){const c=n-32;E(this.pattern.substr(c),c)}}else E(this.pattern,0)}searchIn(g){const{isCaseSensitive:A,ignoreDiacritics:I,includeMatches:e}=this.options;if(g=A?g:g.toLowerCase(),g=I?CoA(g):g,this.pattern===g){if(g.length<this.options.minMatchCharLength)return{isMatch:!1,score:1};const a={isMatch:!0,score:0};return e&&(a.indices=[[0,g.length-1]]),a}const{location:t,distance:o,threshold:B,findAllMatches:C,minMatchCharLength:Q,ignoreLocation:i}=this.options,E=[];let n=0,s=!1;this.chunks.forEach(({pattern:a,alphabet:c,startIndex:h})=>{const{isMatch:l,score:D,indices:d}=vko(g,a,c,{location:t+h,distance:o,threshold:B,findAllMatches:C,minMatchCharLength:Q,includeMatches:e,ignoreLocation:i});l&&(s=!0),n+=D,l&&d&&E.push(...d)});const r={isMatch:s,score:s?n/this.chunks.length:1};return s&&e&&(r.indices=xCg(E)),r}};const Zko=new Set(["fuzzy","include"]);function Oko(g){return g.startsWith("inverse")}const UCg=[{type:"exact",multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:g=>({type:"exact",search(A){const I=A===g;return{isMatch:I,score:I?0:1,indices:[0,g.length-1]}}})},{type:"include",multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:g=>({type:"include",search(A){let I=0,e;const t=[],o=g.length;for(;(e=A.indexOf(g,I))>-1;)I=e+o,t.push([e,I-1]);const B=!!t.length;return{isMatch:B,score:B?0:1,indices:t}}})},{type:"prefix-exact",multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:g=>({type:"prefix-exact",search(A){const I=A.startsWith(g);return{isMatch:I,score:I?0:1,indices:[0,g.length-1]}}})},{type:"inverse-prefix-exact",multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:g=>({type:"inverse-prefix-exact",search(A){const I=!A.startsWith(g);return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"inverse-suffix-exact",multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:g=>({type:"inverse-suffix-exact",search(A){const I=!A.endsWith(g);return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"suffix-exact",multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:g=>({type:"suffix-exact",search(A){const I=A.endsWith(g);return{isMatch:I,score:I?0:1,indices:[A.length-g.length,A.length-1]}}})},{type:"inverse-exact",multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:g=>({type:"inverse-exact",search(A){const I=A.indexOf(g)===-1;return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"fuzzy",multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(g,A={})=>{const I=new FCg(g,{location:A.location??cQ.location,threshold:A.threshold??cQ.threshold,distance:A.distance??cQ.distance,includeMatches:A.includeMatches??cQ.includeMatches,findAllMatches:A.findAllMatches??cQ.findAllMatches,minMatchCharLength:A.minMatchCharLength??cQ.minMatchCharLength,isCaseSensitive:A.isCaseSensitive??cQ.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics??cQ.ignoreDiacritics,ignoreLocation:A.ignoreLocation??cQ.ignoreLocation});return{type:"fuzzy",search(e){return I.searchIn(e)}}}}],NPI=UCg.length,Wko="\0",Vko="|";function jko(g){const A=[],I=g.length;let e=0;for(;e<I;){for(;e<I&&g[e]===" ";)e++;if(e>=I)break;let t=e;for(;t<I&&g[t]!==" "&&g[t]!=='"';)t++;if(t<I&&g[t]==='"'){for(t++;t<I;){if(g[t]==='"'){const o=t+1;if(o>=I||g[o]===" "){t++;break}if(g[o]==="$"&&(o+1>=I||g[o+1]===" ")){t+=2;break}}t++}A.push(g.substring(e,t)),e=t}else{for(;t<I&&g[t]!==" ";)t++;A.push(g.substring(e,t)),e=t}}return A}function xPI(g,A){const I=g.match(A);return I?I[1]:null}function zko(g,A={}){return g.replace(/\\\|/g,Wko).split(Vko).map(I=>{const e=jko(I.replace(/\u0000/g,"|").trim()).filter(o=>o&&!!o.trim()),t=[];for(let o=0,B=e.length;o<B;o+=1){const C=e[o];let Q=!1,i=-1;for(;!Q&&++i<NPI;){const E=UCg[i],n=xPI(C,E.multiRegex);n&&(t.push(E.create(n,A)),Q=!0)}if(!Q)for(i=-1;++i<NPI;){const E=UCg[i],n=xPI(C,E.singleRegex);if(n){t.push(E.create(n,A));break}}}return t})}var Xko=class{constructor(g,{isCaseSensitive:A=cQ.isCaseSensitive,ignoreDiacritics:I=cQ.ignoreDiacritics,includeMatches:e=cQ.includeMatches,minMatchCharLength:t=cQ.minMatchCharLength,ignoreLocation:o=cQ.ignoreLocation,findAllMatches:B=cQ.findAllMatches,location:C=cQ.location,threshold:Q=cQ.threshold,distance:i=cQ.distance}={}){this.query=null,this.options={isCaseSensitive:A,ignoreDiacritics:I,includeMatches:e,minMatchCharLength:t,findAllMatches:B,ignoreLocation:o,location:C,threshold:Q,distance:i},g=A?g:g.toLowerCase(),g=I?CoA(g):g,this.pattern=g,this.query=zko(this.pattern,this.options)}static condition(g,A){return A.useExtendedSearch}searchIn(g){const A=this.query;if(!A)return{isMatch:!1,score:1};const{includeMatches:I,isCaseSensitive:e,ignoreDiacritics:t}=this.options;g=e?g:g.toLowerCase(),g=t?CoA(g):g;let o=0;const B=[];let C=0,Q=!1;for(let i=0,E=A.length;i<E;i+=1){const n=A[i];B.length=0,o=0,Q=!1;for(let s=0,r=n.length;s<r;s+=1){const a=n[s],{isMatch:c,indices:h,score:l}=a.search(g);if(c)o+=1,C+=l,Oko(a.type)&&(Q=!0),I&&(Zko.has(a.type)?B.push(...h):B.push(h));else{C=0,o=0,B.length=0,Q=!1;break}}if(o){const s={isMatch:!0,score:C/o};return Q&&(s.hasInverse=!0),I&&(s.indices=xCg(B)),s}}return{isMatch:!1,score:1}}};const JCg=[];function PCg(...g){JCg.push(...g)}function gpA(g,A){for(let I=0,e=JCg.length;I<e;I+=1){const t=JCg[I];if(t.condition(g,A))return new t(g,A)}return new FCg(g,A)}const IpA={AND:"$and",OR:"$or"},KCg={PATH:"$path",PATTERN:"$val"},LCg=g=>!!(g[IpA.AND]||g[IpA.OR]),$ko=g=>!!g[KCg.PATH],AMo=g=>!NL(g)&&mPI(g)&&!LCg(g),FPI=g=>({[IpA.AND]:Object.keys(g).map(A=>({[A]:g[A]}))});function UPI(g,A,{auto:I=!0}={}){const e=t=>{if(dG(t)){const Q={keyId:null,pattern:t};return I&&(Q.searcher=gpA(t,A)),Q}const o=Object.keys(t),B=$ko(t);if(!B&&o.length>1&&!LCg(t))return e(FPI(t));if(AMo(t)){const Q=B?t[KCg.PATH]:o[0],i=B?t[KCg.PATTERN]:t[Q];if(!dG(i))throw new Error(xko(Q));const E={keyId:ApA(Q),pattern:i};return I&&(E.searcher=gpA(i,A)),E}const C={children:[],operator:o[0]};return o.forEach(Q=>{const i=t[Q];NL(i)&&i.forEach(E=>{C.children.push(e(E))})}),C};return LCg(g)||(g=FPI(g)),e(g)}function YCg(g,{ignoreFieldNorm:A=cQ.ignoreFieldNorm}){let I=1;return g.forEach(({key:e,norm:t,score:o})=>{const B=e?e.weight:null;I*=Math.pow(o===0&&B?Number.EPSILON:o,(B||1)*(A?1:t))}),I}function gMo(g,{ignoreFieldNorm:A=cQ.ignoreFieldNorm}){g.forEach(I=>{I.score=YCg(I.matches,{ignoreFieldNorm:A})})}var IMo=class{constructor(g,A){this.limit=g,this.heap=[],this.comparator=A}get size(){return this.heap.length}insert(g){this.size<this.limit?(this.heap.push(g),this._bubbleUp(this.size-1)):this.comparator(g,this.heap[0])<0&&(this.heap[0]=g,this._sinkDown(0))}extractSorted(){return this.heap.sort(this.comparator)}_bubbleUp(g){const A=this.heap;for(;g>0;){const I=g-1>>1;if(this.comparator(A[g],A[I])<=0)break;const e=A[g];A[g]=A[I],A[I]=e,g=I}}_sinkDown(g){const A=this.heap,I=A.length;let e=g;do{g=e;const t=2*g+1,o=2*g+2;if(t<I&&this.comparator(A[t],A[e])>0&&(e=t),o<I&&this.comparator(A[o],A[e])>0&&(e=o),e!==g){const B=A[g];A[g]=A[e],A[e]=B}}while(e!==g)}};function eMo(g){const A=[];return g.matches.forEach(I=>{if(!xS(I.indices)||!I.indices.length)return;const e={indices:I.indices,value:I.value};I.key&&(e.key=I.key.id),I.idx>-1&&(e.refIndex=I.idx),A.push(e)}),A}function tMo(g,A,{includeMatches:I=cQ.includeMatches,includeScore:e=cQ.includeScore}={}){return g.map(t=>{const{idx:o}=t,B={item:A[o],refIndex:o};return I&&(B.matches=eMo(t)),e&&(B.score=t.score),B})}const oMo=/[\p{L}\p{M}\p{N}_]+/gu,JPI=new WeakSet;function BMo(g){JPI.has(g)||(JPI.add(g),console.warn(`[Fuse] tokenize regex ${g} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function CMo(g){if(typeof g=="function"){let A=!1;return I=>{const e=g(I);if(!A&&(A=!0,!Array.isArray(e)||e.some(t=>typeof t!="string")))throw new Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(e)?"array containing non-strings":typeof e}.`);return e}}return g instanceof RegExp?(g.global||BMo(g),A=>A.match(g)||[]):A=>A.match(oMo)||[]}function _Cg({isCaseSensitive:g=!1,ignoreDiacritics:A=!1,tokenize:I}={}){const e=CMo(I);return{tokenize(t){return g||(t=t.toLowerCase()),A&&(t=CoA(t)),e(t)}}}var QMo=class{static condition(g,A){return A.useTokenSearch}constructor(g,A){this.options=A,this.analyzer=_Cg({isCaseSensitive:A.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics,tokenize:A.tokenize});const I=this.analyzer.tokenize(g),{df:e,fieldCount:t}=A._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(const o of I){this.termSearchers.push(new FCg(o,{location:A.location,threshold:A.threshold,distance:A.distance,includeMatches:A.includeMatches,findAllMatches:A.findAllMatches,minMatchCharLength:A.minMatchCharLength,isCaseSensitive:A.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics,ignoreLocation:!0}));const B=e.get(o)||0,C=Math.log(1+(t-B+.5)/(B+.5));this.idfWeights.push(C)}this.combineAll=A.tokenMatch==="all",this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(g){if(!this.termSearchers.length)return{isMatch:!1,score:1};const A=[];let I=0,e=0,t=0,o=0;const B=this.combineAll&&!this.useMask?new Set:null;for(let i=0;i<this.termSearchers.length;i++){const E=this.termSearchers[i].searchIn(g),n=this.idfWeights[i];e+=n,E.isMatch&&(t++,I+=n*(1-E.score),E.indices&&A.push(...E.indices),this.combineAll&&(this.useMask?o|=1<<i:B.add(i)))}if(t===0)return{isMatch:!1,score:1};const C=e>0?1-I/e:0,Q={isMatch:!0,score:Math.max(.001,C)};return this.options.includeMatches&&A.length&&(Q.indices=xCg(A)),this.combineAll&&(this.useMask?Q.matchedMask=o:Q.matchedTerms=B,Q.termCount=this.numTerms),Q}};function bCg(g,A,I,e){const t=e.tokenize(A);if(!t.length)return;g.fieldCount++,g.docFieldCount.set(I,(g.docFieldCount.get(I)||0)+1);const o=new Set(t);let B=g.docTermFieldHits.get(I);B||(B=new Map,g.docTermFieldHits.set(I,B));for(const C of o)B.set(C,(B.get(C)||0)+1),g.df.set(C,(g.df.get(C)||0)+1)}function PPI(g,A,I,e){const{i:t,v:o,$:B}=A;if(o!==void 0){bCg(g,o,t,e);return}if(B)for(let C=0;C<I;C++){const Q=B[C];if(Q)if(Array.isArray(Q))for(const i of Q)bCg(g,i.v,t,e);else bCg(g,Q.v,t,e)}}function iMo(g,A,I){const e={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(const t of g)PPI(e,t,A,I);return e}function EMo(g,A,I,e){PPI(g,A,I,e)}function nMo(g,A){const I=g.docFieldCount.get(A);if(I===void 0)return;g.fieldCount-=I,g.docFieldCount.delete(A);const e=g.docTermFieldHits.get(A);if(e){for(const[t,o]of e){const B=(g.df.get(t)||0)-o;B<=0?g.df.delete(t):g.df.set(t,B)}g.docTermFieldHits.delete(A)}}function KPI(g,A){if(A.length===0)return;const I=Array.from(new Set(A)).sort((C,Q)=>C-Q);for(const C of I)nMo(g,C);const e=C=>{let Q=0,i=I.length;for(;Q<i;){const E=Q+i>>>1;I[E]<C?Q=E+1:i=E}return C-Q},t=I[0],o=new Map;for(const[C,Q]of g.docFieldCount)o.set(C>t?e(C):C,Q);g.docFieldCount=o;const B=new Map;for(const[C,Q]of g.docTermFieldHits)B.set(C>t?e(C):C,Q);g.docTermFieldHits=B}var xL=class{constructor(g,A,I){this.options={...cQ,...A},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new Kko(this.options.keys),this._docs=g,this._myIndex=null,this._invertedIndex=null,this.setCollection(g,I),this._lastQuery=null,this._lastSearcher=null}_getSearcher(g){if(this._lastQuery===g)return this._lastSearcher;const A=gpA(g,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=g,this._lastSearcher=A,A}setCollection(g,A){if(this._docs=g,A&&!(A instanceof NCg))throw new Error(Nko);if(this._myIndex=A||fPI(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const I=_Cg({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=iMo(this._myIndex.records,this._myIndex.keys.length,I)}this._invalidateSearcherCache()}add(g){if(!xS(g))return;this._docs.push(g);const A=this._myIndex.add(g,this._docs.length-1);if(this._invertedIndex&&A){const I=_Cg({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});EMo(this._invertedIndex,A,this._myIndex.keys.length,I)}this._invalidateSearcherCache()}remove(g=()=>!1){const A=[],I=[];for(let e=0,t=this._docs.length;e<t;e+=1)g(this._docs[e],e)&&(A.push(this._docs[e]),I.push(e));if(I.length){this._invertedIndex&&KPI(this._invertedIndex,I);const e=new Set(I);this._docs=this._docs.filter((t,o)=>!e.has(o)),this._myIndex.removeAll(I),this._invalidateSearcherCache()}return A}removeAt(g){if(!Number.isInteger(g)||g<0||g>=this._docs.length)throw new Error(RCg);this._invertedIndex&&KPI(this._invertedIndex,[g]);const A=this._docs.splice(g,1)[0];return this._myIndex.removeAt(g),this._invalidateSearcherCache(),A}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(g=>this._keyStore.get(g.id)||g)}search(g,A){const{limit:I=-1}=A||{},{includeMatches:e,includeScore:t,shouldSort:o,sortFn:B,ignoreFieldNorm:C}=this.options;if(dG(g)&&!g.trim()){let s=this._docs.map((r,a)=>({item:r,refIndex:a}));return XmA(I)&&I>-1&&(s=s.slice(0,I)),s}const Q=o&&XmA(I)&&I>0&&dG(g),i=B,E=(s,r)=>i(s,r)||s.idx-r.idx;let n;if(Q){const s=new IMo(I,E);dG(this._docs[0])?this._searchStringList(g,{heap:s,ignoreFieldNorm:C}):this._searchObjectList(g,{heap:s,ignoreFieldNorm:C}),n=s.extractSorted()}else n=dG(g)?dG(this._docs[0])?this._searchStringList(g):this._searchObjectList(g):this._searchLogical(g),gMo(n,{ignoreFieldNorm:C}),o&&n.sort(dG(g)?E:i),XmA(I)&&I>-1&&(n=n.slice(0,I));return tMo(n,this._docs,{includeMatches:e,includeScore:t})}_searchStringList(g,{heap:A,ignoreFieldNorm:I}={}){const e=this._getSearcher(g),t=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:o}=this._myIndex,B=A?null:[];return o.forEach(({v:C,i:Q,n:i})=>{if(!xS(C))return;const E=e.searchIn(C);if(E.isMatch){const n={score:E.score,value:C,norm:i,indices:E.indices};t&&(n.matchedMask=E.matchedMask,n.matchedTerms=E.matchedTerms,n.termCount=E.termCount);const s=[n];if(!t||this._coversAllTokens(s)){const r={item:C,idx:Q,matches:s};A?(r.score=YCg(r.matches,{ignoreFieldNorm:I}),A.insert(r)):B.push(r)}}}),B}_searchLogical(g){const A=UPI(g,this.options),I=this._normalizedKeys(),e=(C,Q,i)=>{if(!("children"in C)){const{keyId:r,searcher:a}=C;let c;return r===null?(c=[],I.forEach((h,l)=>{c.push(...this._findMatches({key:h,value:Q[l],searcher:a}))})):c=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(Q,r),searcher:a}),c&&c.length?[{idx:i,item:Q,matches:c}]:[]}const{children:E,operator:n}=C,s=[];for(let r=0,a=E.length;r<a;r+=1){const c=E[r],h=e(c,Q,i);if(h.length)s.push(...h);else if(n===IpA.AND)return[]}return s},t=this._myIndex.records,o=new Map,B=[];return t.forEach(({$:C,i:Q})=>{if(xS(C)){const i=e(A,C,Q);i.length&&(o.has(Q)||(o.set(Q,{idx:Q,item:C,matches:[]}),B.push(o.get(Q))),i.forEach(({matches:E})=>{o.get(Q).matches.push(...E)}))}}),B}_searchObjectList(g,{heap:A,ignoreFieldNorm:I}={}){const e=this._getSearcher(g),t=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:o}=this._myIndex,B=this._normalizedKeys(),C=A?null:[];return o.forEach(({$:Q,i})=>{if(!xS(Q))return;const E=[];let n=!1,s=!1;if(B.forEach((r,a)=>{const c=this._findMatches({key:r,value:Q[a],searcher:e});c.length?(E.push(...c),c[0].hasInverse&&(s=!0)):n=!0}),!(s&&n)&&E.length&&(!t||this._coversAllTokens(E))){const r={idx:i,item:Q,matches:E};A?(r.score=YCg(r.matches,{ignoreFieldNorm:I}),A.insert(r)):C.push(r)}}),C}_findMatches({key:g,value:A,searcher:I}){if(!xS(A))return[];const e=[];if(NL(A))A.forEach(({v:t,i:o,n:B})=>{if(!xS(t))return;const C=I.searchIn(t);if(C.isMatch){const Q={score:C.score,key:g,value:t,idx:o,norm:B,indices:C.indices,hasInverse:C.hasInverse};C.termCount!==void 0&&(Q.matchedMask=C.matchedMask,Q.matchedTerms=C.matchedTerms,Q.termCount=C.termCount),e.push(Q)}});else{const{v:t,n:o}=A,B=I.searchIn(t);if(B.isMatch){const C={score:B.score,key:g,value:t,norm:o,indices:B.indices,hasInverse:B.hasInverse};B.termCount!==void 0&&(C.matchedMask=B.matchedMask,C.matchedTerms=B.matchedTerms,C.termCount=B.termCount),e.push(C)}}return e}_coversAllTokens(g){const A=g.length?g[0].termCount:void 0;if(A===void 0)return!0;if(A<=31){let e=0;for(let t=0;t<g.length;t++)e|=g[t].matchedMask||0;return e===2**A-1}const I=new Set;for(let e=0;e<g.length;e++){const t=g[e].matchedTerms;if(t)for(const o of t)I.add(o)}return I.size===A}};xL.version="7.5.0",xL.createIndex=fPI,xL.parseIndex=bko,xL.config=cQ,xL.match=function(g,A,I){if(I&&I.useTokenSearch)throw new Error(Pko);return gpA(g,{...cQ,...I}).searchIn(A)},xL.parseQuery=UPI,PCg(Xko),PCg(QMo),xL.use=function(...g){g.forEach(A=>PCg(A))};var sMo=xL;const aMo="https://kicad-mod-cache.tscircuit.com";let HCg=null,QoA=null,vCg=null;const rMo=async()=>HCg||QoA||(QoA=fetch("https://kicad-mod-cache.tscircuit.com/kicad_files.json").then(g=>g.json()).then(g=>(HCg=g,QoA=null,g)),QoA),cMo=async(g,A=20)=>{const I=await rMo();return vCg||(vCg=new sMo(I)),vCg.search(g).slice(0,A).map(e=>e.item)},hMo=g=>{const A=g.replace(".pretty/","/").replace(".kicad_mod",""),I=`kicad:${A}`;return{path:g,qualifiedName:I,description:A}},lMo=g=>g.replace(/^\/+/,"").split("/").map(A=>encodeURIComponent(A)).join("/"),DMo=async g=>{const A=await fetch(`${aMo}/${lMo(g)}`);if(!A.ok)throw new Error(`KiCad footprint fetch failed: ${A.status}`);const I=await A.text(),{KicadFootprintToCircuitJsonConverter:e}=await NS("kicad-to-circuit-json"),t=new e;return t.addFile(g.split("/").pop()??"selected-footprint.kicad_mod",I),t.runUntilFinished(),t.getOutput()},LPI=g=>g?.source==="jlcpcb"||g?.source==="kicad",dMo=async(g,A)=>{if(g.source==="jlcpcb")return Mko(g.component.partNumber,A?.jlcpcb);if(g.source==="kicad")return DMo(g.footprint.path);throw new Error("Footprint preview is not available for this source")},yMo=({query:g,placeholder:A,isSearching:I,onQueryChange:e,onSubmit:t})=>{const o=z.useCallback(B=>{B.key==="Enter"&&(B.preventDefault(),t())},[t]);return T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2 rf-mt-4",children:[T.jsxs("div",{className:"rf-relative rf-flex-grow",children:[T.jsx(Pog,{className:"rf-absolute rf-left-2 rf-top-2.5 rf-h-4 rf-w-4 rf-text-muted-foreground"}),T.jsx(QCg,{placeholder:A,className:"rf-pl-8",spellCheck:!1,autoComplete:"off",value:g,onChange:B=>e(B.target.value),onKeyDown:o})]}),T.jsx(si,{onClick:t,disabled:I||g.trim().length<1,className:"sm:rf-px-4 rf-px-3",children:I?T.jsx(pS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):T.jsxs(T.Fragment,{children:[T.jsx(Pog,{className:"rf-h-4 rf-w-4 sm:rf-hidden"}),T.jsx("span",{className:"rf-hidden sm:rf-inline",children:"Search"})]})})]})},wMo=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}),uMo=g=>wMo.format(g),YPI=g=>{switch(g.source){case"tscircuit.com":{const A=g.package;return`tscircuit-${A.package_id??`${A.org_owner_tscircuit_handle??"unknown"}-${A.unscoped_name??A.name??"package"}`}`}case"jlcpcb":return`jlc-${g.component.lcscId}`;case"kicad":return`kicad-${g.footprint.path}`;default:return"unknown"}},GMo=g=>{switch(g.source){case"tscircuit.com":return g.package.unscoped_name;case"jlcpcb":return g.component.isDirectLookup?g.component.partNumber:g.component.manufacturer;case"kicad":return g.footprint.qualifiedName}},mMo=g=>{switch(g.source){case"tscircuit.com":return g.package.description||(g.package.org_owner_tscircuit_handle?`Component by ${g.package.org_owner_tscircuit_handle}`:void 0);case"jlcpcb":return g.component.description;case"kicad":return g.footprint.description}},pMo=g=>{switch(g.source){case"tscircuit.com":return g.package.name;case"jlcpcb":return g.component.isDirectLookup?void 0:g.component.partNumber;case"kicad":return}},kMo=({results:g,selected:A,onSelect:I,onShowDetails:e})=>{const t=A?YPI(A):null;return T.jsx("div",{className:"rf-divide-y rf-w-full rf-overflow-hidden",children:g.map(o=>{const B=YPI(o),C=t===B,Q=GMo(o),i=mMo(o),E=pMo(o),n=o.source==="jlcpcb"?o.component.stock:null,s=o.source==="jlcpcb"?o.component.price:null,r=o.source==="jlcpcb"?o.component.isBasic:null,a=o.source==="jlcpcb"?o.component.isDirectLookup:!1;return T.jsxs("div",{className:`rf-p-3 rf-flex rf-flex-col sm:rf-grid sm:rf-grid-cols-[minmax(0,1fr)_auto] rf-items-start sm:rf-items-center rf-cursor-pointer hover:rf-bg-zinc-100 rf-gap-2 rf-overflow-hidden ${C?"rf-bg-zinc-100":""}`,onClick:()=>I(o),children:[T.jsxs("div",{className:"rf-min-w-0 rf-overflow-hidden rf-w-full",children:[T.jsxs("div",{className:"rf-flex rf-items-start rf-gap-2 rf-min-w-0",children:[T.jsxs("div",{className:"rf-font-medium rf-text-sm rf-truncate rf-flex-1 rf-min-w-0 rf-flex rf-items-center rf-gap-1.5",children:[Q,o.source==="jlcpcb"&&r!=null&&T.jsx("span",{className:`rf-text-xs rf-px-1.5 rf-py-0.5 rf-rounded rf-font-medium rf-flex-shrink-0 ${r?"rf-bg-green-100 rf-text-green-700":"rf-bg-orange-100 rf-text-orange-700"}`,children:r?"Basic":"Extended"}),a&&T.jsx("span",{className:"rf-text-xs rf-px-1.5 rf-py-0.5 rf-rounded rf-font-medium rf-flex-shrink-0 rf-bg-blue-100 rf-text-blue-700",children:"Direct lookup"}),o.source==="tscircuit.com"&&o.package.is_private&&T.jsx(Tro,{className:"rf-ml-1 rf-h-3 rf-w-3 rf-text-zinc-400 rf-flex-shrink-0"})]}),o.source==="jlcpcb"&&n!=null?T.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0 sm:rf-hidden",children:[n.toLocaleString()," in stock"]}):null]}),T.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-truncate rf-w-full",children:[E?T.jsx("span",{className:"rf-mr-2",children:E}):null,i]})]}),T.jsxs("div",{children:[o.source==="tscircuit.com"&&e?T.jsx("div",{className:"rf-flex-shrink-0 rf-w-full sm:rf-w-auto",children:T.jsx(si,{variant:"outline",size:"sm",className:"rf-text-xs rf-w-full sm:rf-w-auto",onClick:c=>{c.stopPropagation(),e(o)},children:"See Details"})}):o.source==="jlcpcb"&&n!=null?T.jsxs("div",{className:"rf-hidden sm:rf-block rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0",children:[n.toLocaleString()," in stock"]}):null,s!=null&&T.jsx("div",{className:"rf-hidden sm:rf-block rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0 rf-text-right",children:uMo(s)})]})]},B)})})},MMo=({circuitJson:g,error:A,isLoading:I,height:e})=>T.jsx("section",{className:"rf-flex rf-min-w-0 rf-items-center rf-justify-center",style:{height:e},children:I?T.jsxs("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-gap-2 rf-bg-zinc-950 rf-text-sm rf-text-zinc-300",style:{height:e},children:[T.jsx(pS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}),"Loading preview..."]}):A?T.jsx("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-bg-zinc-950 rf-p-4",style:{height:e},children:T.jsxs("div",{className:"rf-flex rf-max-w-[320px] rf-items-start rf-gap-2 rf-text-sm rf-text-zinc-300",children:[T.jsx(Uog,{className:"rf-mt-0.5 rf-h-4 rf-w-4 rf-flex-shrink-0"}),T.jsx("span",{children:A})]})}):g?T.jsx("div",{className:"rf-w-full rf-min-w-0 rf-overflow-hidden",children:T.jsx(Nog,{circuitJson:g,height:e,allowEditing:!1,clickToInteractEnabled:!1,focusOnHover:!1,disablePcbGroups:!0})}):T.jsx("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-bg-zinc-950 rf-text-sm rf-text-zinc-300",style:{height:e},children:"No preview"})}),_PI={importComponentDialog:101,importComponentDetailsDialog:102},SMo=({packageResult:g,isOpen:A,onOpenChange:I,isLoading:e,details:t,previewTab:o,onPreviewTabChange:B,isSubmitting:C,onImport:Q})=>{const i=g?.package??null,E=i?.latest_pcb_preview_image_url,n=i?.latest_sch_preview_image_url,s=i?.latest_cad_preview_image_url,r=i?.unscoped_name?.split("/").pop()??i?.unscoped_name,a=i?.org_owner_tscircuit_handle??void 0,c=a?`https://tscircuit.com/${a}`:void 0,h=a&&r?`https://tscircuit.com/${a}/${r}`:void 0;return T.jsx(Ub,{open:A,onOpenChange:I,children:T.jsxs(SL,{showOverlay:!1,style:{width:"calc(100vw - 2rem)",zIndex:_PI.importComponentDetailsDialog},className:"rf-max-w-5xl no-scrollbar !rf-overflow-y-auto rf-max-h-[90vh] rf-overflow-hidden rf-flex rf-flex-col rf-rounded-sm",children:[T.jsx(fL,{className:"rf-pb-4 rf-border-b",children:T.jsx("div",{className:"rf-flex rf-items-start rf-justify-between rf-gap-4",children:T.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[T.jsx(RL,{className:"rf-text-xl rf-font-semibold rf-truncate",children:r}),T.jsx(Jb,{children:i?.description})]})})}),T.jsxs("div",{className:"rf-flex-1 rf-overflow-y-auto rf-py-4 rf-space-y-6",children:[a?T.jsxs("div",{children:[T.jsx("span",{className:"rf-text-xs rf-font-medium rf-text-gray-500 rf-uppercase rf-tracking-wide",children:"Created by"}),T.jsx("div",{className:"rf-mt-1 rf-text-sm rf-font-medium",children:c?T.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"rf-text-black hover:rf-underline",children:a}):a})]}):null,(s||E||n)&&T.jsx(T.Fragment,{children:T.jsxs("div",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Preview"}),T.jsxs(KvA,{value:o,onValueChange:l=>B(l),children:[T.jsxs(FDA,{className:"rf-inline-flex rf-h-9 rf-items-center rf-justify-center rf-rounded-lg rf-bg-zinc-100 rf-p-1 rf-text-zinc-500 dark:rf-bg-zinc-800 dark:rf-text-zinc-400",children:[E&&T.jsx(Gx,{value:"pcb",children:"PCB"}),n&&T.jsx(Gx,{value:"schematic",children:"Schematic"}),s&&T.jsx(Gx,{value:"3d",children:"3D"})]}),T.jsxs("div",{className:"rf-mt-4",children:[T.jsx(Ny,{value:"pcb",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:E?T.jsx("img",{src:E,alt:`${r??"package"} PCB preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),T.jsx(Ny,{value:"schematic",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:n?T.jsx("img",{src:n,alt:`${r??"package"} schematic preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),T.jsx(Ny,{value:"3d",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:s?T.jsx("img",{src:s,alt:`${r??"package"} 3D preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null})]})]})]})}),t?.ai_description?T.jsxs("section",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"AI Description"}),T.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed",children:t.ai_description})})]}):null,t?.ai_usage_instructions?T.jsxs("section",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"Usage Instructions"}),T.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed rf-whitespace-pre-wrap",children:t.ai_usage_instructions})})]}):null,e?T.jsxs("div",{className:"rf-flex rf-justify-center rf-items-center rf-gap-2 rf-text-gray-500",children:[T.jsx(pS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}),T.jsx("span",{className:"rf-text-sm",children:"Loading package details..."})]}):null]}),T.jsxs(JO,{className:"rf-pt-4 rf-border-t rf-flex rf-flex-col sm:rf-flex-row rf-justify-between rf-gap-2",children:[T.jsx("div",{className:"rf-flex-1",children:h?T.jsxs(si,{variant:"outline",size:"sm",className:"rf-gap-2 rf-w-full sm:rf-w-auto",onClick:()=>window.open(h,"_blank"),children:[T.jsx(Kro,{className:"rf-h-4 rf-w-4"}),"View on tscircuit.com"]}):null}),T.jsxs("div",{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[T.jsx(si,{variant:"outline",onClick:()=>I(!1),className:"rf-order-2 sm:rf-order-1",children:"Close"}),T.jsx(si,{onClick:Q,disabled:C,className:"rf-bg-blue-600 hover:rf-bg-blue-700",children:C?T.jsx(pS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import Component"})]})]})]})})},fMo=()=>{const[g,A]=z.useState(null),[I,e]=z.useState(!1),t=z.useCallback(async(B,C)=>{e(!0);try{const Q=await fetch(`https://api.tscircuit.com/packages/get?name=${encodeURIComponent(`${B}/${C}`)}`);if(!Q.ok)throw new Error(`Failed to load package details: ${Q.status}`);const i=await Q.json();A(i.package??null)}catch(Q){console.error("Failed to fetch package details",Q),A(null)}finally{e(!1)}},[]),o=z.useCallback(()=>{A(null),e(!1)},[]);return{details:g,isLoading:I,fetchDetails:t,reset:o}},RMo=(g,A)=>{const[I,e]=z.useState({circuitJson:null,error:null,isLoading:!1});return z.useEffect(()=>{if(!g||!LPI(g)){e({circuitJson:null,error:null,isLoading:!1});return}let t=!1;return e({circuitJson:null,error:null,isLoading:!0}),dMo(g,A).then(o=>{t||e({circuitJson:o,error:null,isLoading:!1})}).catch(o=>{t||e({circuitJson:null,error:o instanceof Error?o.message:"Failed to load footprint preview",isLoading:!1})}),()=>{t=!0}},[g,A]),I},NMo=async(g,A)=>{const I={"Content-Type":"application/json"};A&&(I.Authorization=`Bearer ${A}`);const e=await fetch("https://registry-api.tscircuit.com/packages/search",{method:"POST",headers:I,body:JSON.stringify({query:g})});if(!e.ok)throw new Error(`tscircuit registry error: ${e.status}`);return(await e.json()).packages??[]},xMo=({sessionToken:g})=>{const[A,I]=z.useState([]),[e,t]=z.useState(!1),[o,B]=z.useState(null),[C,Q]=z.useState(!1),i=z.useCallback(async n=>{const s=n.trim();if(!s)return[];t(!0),B(null);try{const a=(await NMo(s,g)).map(c=>({source:"tscircuit.com",package:c}));return I(a),a}catch(r){return console.error("Error searching tscircuit packages",r),I([]),B(r instanceof Error?r.message:"Failed to search tscircuit packages"),[]}finally{t(!1),Q(!0)}},[g]),E=z.useCallback(()=>{I([]),t(!1),B(null),Q(!1)},[]);return{results:A,isSearching:e,error:o,hasSearched:C,search:i,reset:E}},FMo=g=>{const A=/^C(\d+)$/i.exec(g.trim());if(!A)return null;const I=Number(A[1]);if(!Number.isSafeInteger(I))return null;const e=`C${A[1]}`;return{source:"jlcpcb",component:{lcscId:I,manufacturer:e,partNumber:e,description:"Import directly from EasyEDA; stock and availability are unknown",package:"",isDirectLookup:!0}}},bPI=(g,A)=>{const I=FMo(g);return I?A.some(t=>t.component.partNumber.toUpperCase()===I.component.partNumber)?A:[I,...A]:A},UMo=g=>{const A=g.trim();return/^C\d+/i.test(A)?A.replace(/^C/i,""):A},JMo=()=>{const[g,A]=z.useState([]),[I,e]=z.useState(!1),[t,o]=z.useState(null),[B,C]=z.useState(!1),Q=z.useCallback(async E=>{const n=UMo(E);if(!n)return[];e(!0),o(null);try{const s=await mko(n,10),r=bPI(E,s.map(a=>({source:"jlcpcb",component:pko(a)})));return A(r),r}catch(s){console.error("Error searching JLCPCB components",s);const r=bPI(E,[]);return A(r),o(r.length>0?null:s instanceof Error?s.message:"Failed to search JLCPCB components"),r}finally{e(!1),C(!0)}},[]),i=z.useCallback(()=>{A([]),e(!1),o(null),C(!1)},[]);return{results:g,isSearching:I,error:t,hasSearched:B,search:Q,reset:i}},PMo=()=>{const[g,A]=z.useState([]),[I,e]=z.useState(!1),[t,o]=z.useState(null),[B,C]=z.useState(!1),Q=z.useCallback(async E=>{const n=E.trim();if(!n)return[];e(!0),o(null);try{const r=(await cMo(n,20)).map(a=>({source:"kicad",footprint:hMo(a)}));return A(r),r}catch(s){return console.error("Error searching KiCad footprints",s),A([]),o(s instanceof Error?s.message:"Failed to search KiCad footprints"),[]}finally{e(!1),C(!0)}},[]),i=z.useCallback(()=>{A([]),e(!1),o(null),C(!1)},[]);return{results:g,isSearching:I,error:t,hasSearched:B,search:Q,reset:i}},KMo=({onTscircuitPackageSelected:g,onJlcpcbComponentTsxLoaded:A,onKicadStringSelected:I})=>{const e=[];return g&&e.push("tscircuit.com"),A&&e.push("jlcpcb"),I&&e.push("kicad"),e},LMo=({isOpen:g,onClose:A,jlcpcbProxyRequestHeaders:I,onKicadStringSelected:e,onTscircuitPackageSelected:t,onJlcpcbComponentTsxLoaded:o,jlcpcbProxyApiBase:B,tscircuitSessionToken:C})=>{eoA();const Q=z.useMemo(()=>KMo({onKicadStringSelected:e,onTscircuitPackageSelected:t,onJlcpcbComponentTsxLoaded:o}),[e,t,o]),i=Q.length>0,E=Q.length===1,[n,s]=z.useState(Q[0]??"tscircuit.com"),[r,a]=z.useState(""),[c,h]=z.useState(null),{results:l,isSearching:D,error:d,hasSearched:y,search:w,reset:u}=xMo({sessionToken:C}),{results:G,isSearching:m,error:p,hasSearched:k,search:S,reset:R}=JMo(),{results:x,isSearching:N,error:U,hasSearched:K,search:Y,reset:b}=PMo(),{details:q,isLoading:j,fetchDetails:W,reset:Z}=fMo(),[gA,tA]=z.useState(null),[IA,QA]=z.useState(!1),[nA,DA]=z.useState("pcb"),[CA,hA]=z.useState(null),[sA,cA]=z.useState(!1),SA=z.useMemo(()=>({jlcpcb:{headers:I,apiBase:B}}),[B,I]),{circuitJson:FA,error:aA,isLoading:xA}=RMo(c,SA),RA=LPI(c);z.useEffect(()=>{hA(null)},[c]);const NA=z.useCallback(()=>{u(),R(),b(),h(null)},[R,b,u]);z.useEffect(()=>{g||(NA(),a(""),QA(!1),tA(null),hA(null))},[g,NA]),z.useEffect(()=>{a(""),h(null),n==="tscircuit.com"?u():n==="jlcpcb"?R():n==="kicad"&&b()},[n,R,b,u]);const HA=kA=>{h(kA),tA(kA),DA("pcb"),QA(!0),Z();const OA=kA.package.org_owner_tscircuit_handle,$A=kA.package.unscoped_name;if(OA&&$A){const og=$A.split("/").pop()??$A;W(OA,og)}},PA=async()=>{r.trim()&&(h(null),n==="tscircuit.com"?await w(r):n==="jlcpcb"?await S(r):n==="kicad"&&await Y(r))},GA=async kA=>{try{if(hA(null),cA(!0),kA.source==="kicad"){if(!e)throw new Error("KiCad handler not provided");await e({result:kA,footprint:kA.footprint.qualifiedName})}else if(kA.source==="jlcpcb"){if(!o)throw new Error("JLCPCB handler not provided");const OA=await kko(kA.component.partNumber,{headers:I,apiBase:B});await o({result:kA,tsx:OA})}else if(kA.source==="tscircuit.com"){if(!t)throw new Error("tscircuit package handler not provided");const OA=kA.package.org_owner_tscircuit_handle,$A=kA.package.unscoped_name;if(!OA||!$A)throw new Error("Missing package metadata");const og=$A.split("/").pop()??$A,dg=`@tsci/${OA}.${og}`;await t({result:kA,fullPackageName:dg})}return!0}catch(OA){return console.error("Failed to import component",OA),hA(OA instanceof Error?OA.message:"Failed to import component"),!1}finally{cA(!1)}};let LA=[],dA=!1,bA=null,WA=!1;n==="tscircuit.com"?(LA=l,dA=D,bA=d,WA=y):n==="jlcpcb"?(LA=G,dA=m,bA=p,WA=k):n==="kicad"&&(LA=x,dA=N,bA=U,WA=K);const Qg=async()=>{if(!c)return;await GA(c)&&(A(),NA(),a(""))},YA=kA=>{kA||A()},uA=kA=>{QA(kA),kA||tA(null)};return T.jsxs(Ub,{open:g,onOpenChange:YA,children:[T.jsxs(SL,{style:{width:"calc(100vw - 2rem)",maxWidth:RA?"min(1120px, calc(100vw - 2rem))":"min(672px, calc(100vw - 2rem))",zIndex:_PI.importComponentDialog},className:"rf-rounded-sm rf-max-h-[90vh] rf-overflow-y-auto rf-overflow-x-hidden rf-flex rf-flex-col",children:[T.jsxs(fL,{children:[T.jsxs(RL,{className:"rf-text-lg sm:rf-text-xl",children:["Import ",E?zmA[n].label:""," ","Component"]}),T.jsx(Jb,{className:"rf-text-sm",children:i?"Search for components from available sources.":"Import options are disabled because no handlers were provided."})]}),i?T.jsxs(KvA,{value:n,onValueChange:kA=>s(kA),className:"rf-min-w-0 rf-w-full",children:[!E&&T.jsx(FDA,{className:"rf-flex rf-w-full rf-gap-2",children:Q.map(kA=>T.jsx(Gx,{value:kA,className:"rf-flex-1 rf-text-xs sm:rf-text-sm",children:zmA[kA].label},kA))}),T.jsxs("div",{className:"rf-min-w-0",style:RA?{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(360px, 0.95fr)",gap:"1.5rem",alignItems:"start"}:void 0,children:[T.jsxs("div",{className:"rf-min-w-0",children:[T.jsx(yMo,{query:r,placeholder:zmA[n].placeholder,isSearching:dA,onQueryChange:a,onSubmit:PA}),T.jsx("div",{className:"no-scrollbar rf-mt-4 rf-flex-1 rf-min-h-[200px] !rf-max-h-[40vh] !rf-overflow-y-auto rf-overflow-x-hidden rf-border rf-rounded-md rf-min-w-0",children:dA?T.jsxs("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:[T.jsx(pS,{className:"rf-h-8 rf-w-8 rf-animate-spin rf-mx-auto rf-mb-2"}),T.jsx("p",{children:"Searching..."})]}):LA.length>0?T.jsx(kMo,{results:LA,selected:c,onSelect:h,onShowDetails:n==="tscircuit.com"?HA:void 0}):T.jsx("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:bA?`Error: ${bA}`:WA?zmA[n].emptyMessage:"Enter a search term to find components"})})]}),RA?T.jsx("div",{className:"rf-mt-4",children:T.jsx(MMo,{circuitJson:FA,error:aA,isLoading:xA,height:325})}):null]})]}):null,CA?T.jsx("div",{className:"rf-text-sm rf-text-red-600 rf-mt-2",children:CA}):null,T.jsxs(JO,{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[T.jsx(si,{variant:"outline",onClick:A,className:"rf-order-2 sm:rf-order-1",children:"Cancel"}),T.jsx(si,{onClick:Qg,disabled:!c||sA,className:"rf-order-1 sm:rf-order-2",children:sA?T.jsx(pS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import"})]})]}),T.jsx(SMo,{packageResult:gA,isOpen:IA,onOpenChange:uA,isLoading:j,details:q,previewTab:nA,onPreviewTabChange:kA=>DA(kA),isSubmitting:sA,onImport:()=>{gA&&GA(gA).then(kA=>{kA&&(QA(!1),A(),NA(),a(""))})}})]})},YMo=g=>{const A=g.match(/export const (\w+) =/);if(!A)throw new Error("Could not determine component name from TSX contents");return A[1]},HPI=g=>{const A=Uc(B=>B.pushEvent),I=Uc(B=>B.upsertFile),e=async({result:B,fullPackageName:C})=>{const i=B.package.unscoped_name??B.package.name;await KC.promise(A({event_type:"INSTALL_PACKAGE",full_package_name:C}),{loading:`Requesting install for "${i}"`,success:`Install requested for "${i}"`,error:E=>`Failed to request install: ${E instanceof Error?E.message:String(E)}`})},t=async({footprint:B})=>{await KC.promise(navigator.clipboard.writeText(B),{loading:`Copying "${B}"`,success:`Copied "${B}" to clipboard`,error:C=>`Failed to copy footprint: ${C instanceof Error?C.message:String(C)}`})},o=async({result:B,tsx:C})=>{const i=`imports/${YMo(C)}.tsx`;await KC.promise(I(i,C),{loading:`Importing ${B.component.partNumber}`,success:`Imported to "${i}"`,error:E=>`Failed to import component: ${E instanceof Error?E.message:String(E)}`})};return T.jsx(LMo,{...g,onTscircuitPackageSelected:e,onKicadStringSelected:t,onJlcpcbComponentTsxLoaded:o})};HPI.displayName="ImportComponentDialogForCli";const _Mo=async({circuitJson:g,projectName:A})=>{const{convertCircuitJsonToAltiumZip:I}=await Promise.resolve().then(()=>BTo),e=await I(g,A);return new Blob([new Uint8Array(e)],{type:"application/zip"})},bMo=async({circuitJson:g,projectName:A})=>{await KC.promise((async()=>{const I=await _Mo({circuitJson:g,projectName:A});Yk(I,{fileName:`${A}_altium_project.zip`})})(),{loading:"Generating Altium project...",success:"Altium project ZIP ready",error:I=>`Failed to generate Altium project: ${I instanceof Error?I.message:String(I)}`})};var TCg={exports:{}},vPI;function HMo(){return vPI||(vPI=1,(function(g,A){var I={env:{},version:""};(function(e){g.exports=e()})(function(){return(function e(t,o,B){function C(E,n){if(!o[E]){if(!t[E]){var s=typeof sU=="function"&&sU;if(!n&&s)return s(E,!0);if(Q)return Q(E,!0);var r=new Error("Cannot find module '"+E+"'");throw r.code="MODULE_NOT_FOUND",r}var a=o[E]={exports:{}};t[E][0].call(a.exports,function(c){var h=t[E][1][c];return C(h||c)},a,a.exports,e,t,o,B)}return o[E].exports}for(var Q=typeof sU=="function"&&sU,i=0;i<B.length;i++)C(B[i]);return C})({1:[function(e,t,o){var B=e("./utils"),C=e("./support"),Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";o.encode=function(i){for(var E,n,s,r,a,c,h,l=[],D=0,d=i.length,y=d,w=B.getTypeOf(i)!=="string";D<i.length;)y=d-D,s=w?(E=i[D++],n=D<d?i[D++]:0,D<d?i[D++]:0):(E=i.charCodeAt(D++),n=D<d?i.charCodeAt(D++):0,D<d?i.charCodeAt(D++):0),r=E>>2,a=(3&E)<<4|n>>4,c=1<y?(15&n)<<2|s>>6:64,h=2<y?63&s:64,l.push(Q.charAt(r)+Q.charAt(a)+Q.charAt(c)+Q.charAt(h));return l.join("")},o.decode=function(i){var E,n,s,r,a,c,h=0,l=0,D="data:";if(i.substr(0,D.length)===D)throw new Error("Invalid base64 input, it looks like a data url.");var d,y=3*(i=i.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(i.charAt(i.length-1)===Q.charAt(64)&&y--,i.charAt(i.length-2)===Q.charAt(64)&&y--,y%1!=0)throw new Error("Invalid base64 input, bad content length.");for(d=C.uint8array?new Uint8Array(0|y):new Array(0|y);h<i.length;)E=Q.indexOf(i.charAt(h++))<<2|(r=Q.indexOf(i.charAt(h++)))>>4,n=(15&r)<<4|(a=Q.indexOf(i.charAt(h++)))>>2,s=(3&a)<<6|(c=Q.indexOf(i.charAt(h++))),d[l++]=E,a!==64&&(d[l++]=n),c!==64&&(d[l++]=s);return d}},{"./support":30,"./utils":32}],2:[function(e,t,o){var B=e("./external"),C=e("./stream/DataWorker"),Q=e("./stream/Crc32Probe"),i=e("./stream/DataLengthProbe");function E(n,s,r,a,c){this.compressedSize=n,this.uncompressedSize=s,this.crc32=r,this.compression=a,this.compressedContent=c}E.prototype={getContentWorker:function(){var n=new C(B.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new i("data_length")),s=this;return n.on("end",function(){if(this.streamInfo.data_length!==s.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),n},getCompressedWorker:function(){return new C(B.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},E.createWorkerFrom=function(n,s,r){return n.pipe(new Q).pipe(new i("uncompressedSize")).pipe(s.compressWorker(r)).pipe(new i("compressedSize")).withStreamInfo("compression",s)},t.exports=E},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,o){var B=e("./stream/GenericWorker");o.STORE={magic:"\0\0",compressWorker:function(){return new B("STORE compression")},uncompressWorker:function(){return new B("STORE decompression")}},o.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,o){var B=e("./utils"),C=(function(){for(var Q,i=[],E=0;E<256;E++){Q=E;for(var n=0;n<8;n++)Q=1&Q?3988292384^Q>>>1:Q>>>1;i[E]=Q}return i})();t.exports=function(Q,i){return Q!==void 0&&Q.length?B.getTypeOf(Q)!=="string"?(function(E,n,s,r){var a=C,c=r+s;E^=-1;for(var h=r;h<c;h++)E=E>>>8^a[255&(E^n[h])];return-1^E})(0|i,Q,Q.length,0):(function(E,n,s,r){var a=C,c=r+s;E^=-1;for(var h=r;h<c;h++)E=E>>>8^a[255&(E^n.charCodeAt(h))];return-1^E})(0|i,Q,Q.length,0):0}},{"./utils":32}],5:[function(e,t,o){o.base64=!1,o.binary=!1,o.dir=!1,o.createFolders=!0,o.date=null,o.compression=null,o.compressionOptions=null,o.comment=null,o.unixPermissions=null,o.dosPermissions=null},{}],6:[function(e,t,o){var B=null;B=typeof Promise<"u"?Promise:e("lie"),t.exports={Promise:B}},{lie:37}],7:[function(e,t,o){var B=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",C=e("pako"),Q=e("./utils"),i=e("./stream/GenericWorker"),E=B?"uint8array":"array";function n(s,r){i.call(this,"FlateWorker/"+s),this._pako=null,this._pakoAction=s,this._pakoOptions=r,this.meta={}}o.magic="\b\0",Q.inherits(n,i),n.prototype.processChunk=function(s){this.meta=s.meta,this._pako===null&&this._createPako(),this._pako.push(Q.transformTo(E,s.data),!1)},n.prototype.flush=function(){i.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},n.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this._pako=null},n.prototype._createPako=function(){this._pako=new C[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var s=this;this._pako.onData=function(r){s.push({data:r,meta:s.meta})}},o.compressWorker=function(s){return new n("Deflate",s)},o.uncompressWorker=function(){return new n("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,o){function B(a,c){var h,l="";for(h=0;h<c;h++)l+=String.fromCharCode(255&a),a>>>=8;return l}function C(a,c,h,l,D,d){var y,w,u=a.file,G=a.compression,m=d!==E.utf8encode,p=Q.transformTo("string",d(u.name)),k=Q.transformTo("string",E.utf8encode(u.name)),S=u.comment,R=Q.transformTo("string",d(S)),x=Q.transformTo("string",E.utf8encode(S)),N=k.length!==u.name.length,U=x.length!==S.length,K="",Y="",b="",q=u.dir,j=u.date,W={crc32:0,compressedSize:0,uncompressedSize:0};c&&!h||(W.crc32=a.crc32,W.compressedSize=a.compressedSize,W.uncompressedSize=a.uncompressedSize);var Z=0;c&&(Z|=8),m||!N&&!U||(Z|=2048);var gA=0,tA=0;q&&(gA|=16),D==="UNIX"?(tA=798,gA|=(function(QA,nA){var DA=QA;return QA||(DA=nA?16893:33204),(65535&DA)<<16})(u.unixPermissions,q)):(tA=20,gA|=(function(QA){return 63&(QA||0)})(u.dosPermissions)),y=j.getUTCHours(),y<<=6,y|=j.getUTCMinutes(),y<<=5,y|=j.getUTCSeconds()/2,w=j.getUTCFullYear()-1980,w<<=4,w|=j.getUTCMonth()+1,w<<=5,w|=j.getUTCDate(),N&&(Y=B(1,1)+B(n(p),4)+k,K+="up"+B(Y.length,2)+Y),U&&(b=B(1,1)+B(n(R),4)+x,K+="uc"+B(b.length,2)+b);var IA="";return IA+=`
5670
+ `,n=new Blob([E],{type:"text/plain"}),s=URL.createObjectURL(n),r=document.createElement("a");r.href=s,r.download=`${i}.test.ts`,r.click(),URL.revokeObjectURL(s)}catch(Q){alert(`Error generating test.ts for ${g.getSolverName()}: ${Q instanceof Error?Q.message:String(Q)}`)}e(!1)};return T.jsxs("div",{className:`relative ${A}`,ref:t,children:[T.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>e(!I),title:`Download options for ${g.getSolverName()}`,children:g.getSolverName()}),I&&T.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:o,children:"Download JSON"}),T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:B,children:"Download page.tsx"}),T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:C,children:"Download test.ts"})]})]})},VJI=g=>g.activeSubSolver?[g,...VJI(g.activeSubSolver)]:[g],npo=({solver:g})=>{const A=VJI(g);return T.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:A.map((I,e)=>T.jsxs("div",{className:"flex items-center",children:[e>0&&T.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),T.jsx(Epo,{solver:I})]},I.getSolverName()))})},spo=({solver:g,triggerRender:A,animationSpeed:I=25,renderer:e,onRendererChange:t,onAnimationSpeedChange:o,onDownloadVisualization:B,onSolverStarted:C,onSolverCompleted:Q})=>{const[i,E]=z.useReducer(m=>!m,!1),n=z.useRef(void 0),s=z.useRef(null),r="solver-debugger-last-iteration",[a,c]=z.useState(null),h=z.useRef(null),l=z.useMemo(()=>[{label:"Slow",value:250,description:"250ms"},{label:"Normal",value:100,description:"100ms"},{label:"Fast",value:10,description:"10ms"},{label:"Fast (2x)",value:5,description:"5ms"},{label:"Fast (10x)",value:1,description:"1ms"},{label:"Fast 20x",value:.5,description:"2 steps / 1ms"},{label:"Fast 100x",value:.1,description:"10 steps / 1ms"}],[]),D=()=>{const m=Math.max(1,I),p=I<1?Math.round(1/I):1;n.current=setInterval(()=>{if(g.solved||g.failed){n.current&&(clearInterval(n.current),n.current=void 0),E(),A(),Q&&g.solved&&Q(g);return}for(let k=0;k<p&&!(g.solved||g.failed);k++)g.step();A()},m)},d=()=>{n.current&&(clearInterval(n.current),n.current=void 0)},y=()=>{!g.solved&&!g.failed&&(g.step(),A())},w=()=>{!g.solved&&!g.failed&&(C&&C(g),g.solve(),A(),Q&&Q(g))},u=()=>{i?(d(),E()):(E(),D())},G=()=>{if(g.solved||g.failed||i)return;s.current===null&&typeof window<"u"&&(s.current=window.localStorage.getItem(r));const m=window.prompt("Step until which iteration?",s.current??`${g.iterations}`);if(m===null)return;s.current=m,typeof window<"u"&&window.localStorage.setItem(r,m);const p=Number(m);if(!Number.isFinite(p)){window.alert("Please enter a valid number for the iteration");return}for(;g.iterations<p&&!g.solved&&!g.failed;)g.step();A(),g.solved&&Q&&Q(g)};return z.useEffect(()=>()=>{d()},[]),z.useEffect(()=>{(g.solved||g.failed)&&i&&(d(),E())},[g.solved,g.failed,i]),z.useEffect(()=>{i&&(d(),D())},[I,i]),z.useEffect(()=>{if(typeof document>"u")return;const m=p=>{h.current&&!h.current.contains(p.target)&&c(null)};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[]),T.jsxs("div",{className:"space-y-2 p-2 border-b",children:[T.jsx("div",{className:"flex items-center",children:T.jsxs("div",{className:"flex items-center gap-2",ref:h,children:[T.jsxs("div",{className:"flex h-9 items-center space-x-1 rounded-md border border-slate-200 bg-white p-1 shadow-sm",children:[T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="renderer"?null:"renderer"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="renderer"?"open":"closed",children:"Renderer"}),a==="renderer"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[10rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:["vector","canvas"].map(m=>T.jsxs("button",{type:"button",onClick:()=>{t(m),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m==="vector"?"Vector":"Canvas",e===m&&T.jsx("span",{className:"ml-auto text-xs text-slate-500",children:"✓"})]},m))})]}),T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="debug"?null:"debug"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="debug"?"open":"closed",children:"Debug"}),a==="debug"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:T.jsx("button",{type:"button",onClick:()=>{B(),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:"Download Visualization"})})]}),T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="animation"?null:"animation"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="animation"?"open":"closed",children:"Animation"}),a==="animation"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:l.map(m=>T.jsxs("button",{type:"button",onClick:()=>{o(m.value),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m.label,T.jsx("span",{className:"ml-auto text-xs text-slate-500",children:m.description}),I===m.value&&T.jsx("span",{className:"ml-2 text-xs text-slate-500",children:"✓"})]},m.value))})]})]}),T.jsx(npo,{solver:g})]})}),T.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[T.jsx("button",{onClick:y,disabled:g.solved||g.failed||i,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),T.jsx("button",{onClick:w,disabled:g.solved||g.failed||i,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),T.jsx("button",{onClick:u,disabled:g.solved||g.failed,className:`px-3 py-1 rounded text-white text-sm ${i?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:i?"Stop":"Animate"}),T.jsx("button",{onClick:G,disabled:g.solved||g.failed||i,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),T.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",g.iterations]}),g.timeToSolve!==void 0&&T.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(g.timeToSolve/1e3).toFixed(3),"s"]}),g.solved&&T.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),g.failed&&T.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),g.error&&T.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",g.error]})]})},apo=g=>g!==null&&"pipelineDef"in g&&Array.isArray(g.pipelineDef),rpo=(g,A,I)=>{const e=g.currentPipelineStageIndex;return A<e?"Completed":A===e&&g.activeSubSolver?g.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},cpo=(g,A)=>{const e=g.pipelineDef[A].solverName,t=rpo(g,A),o=g[e],B=g.firstIterationOfStage?.[e]??(A===g.currentPipelineStageIndex?g.iterations:null),C=g.iterations;let Q=0;if(t==="Completed"){const s=g.pipelineDef[A+1],r=s?g.firstIterationOfStage?.[s.solverName]:void 0;r!==void 0&&B!==null?Q=r-B:B!==null&&(Q=C-B)}else t==="In Progress"&&B!==null&&(Q=C-B);const i=g.timeSpentOnStage?.[e]??0;let E=0;t==="Completed"?E=1:t==="In Progress"&&o&&(E=o.progress??0);const n=o?.stats??null;return{index:A,name:e,status:t,firstIteration:B,iterations:Q,progress:E,timeSpent:i,stats:n&&Object.keys(n).length>0?n:null,solverInstance:o??null}},hpo=({status:g})=>{const A={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return T.jsx("span",{className:`font-medium ${A[g]}`,children:g})},lpo=({progress:g})=>{if(g===0)return null;const A=Math.round(g*100);return T.jsxs("div",{className:"flex items-center gap-2",children:[T.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:T.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${A}%`}})}),T.jsxs("span",{className:"text-xs text-gray-500",children:[A,"%"]})]})},jJI=g=>{if(typeof g=="string")return g;if(typeof g=="number"||typeof g=="boolean"||typeof g=="bigint"||g==null)return String(g);if(typeof g=="object")try{return JSON.stringify(g)}catch{return String(g)}return String(g)},Dpo=g=>Object.entries(g).map(([A,I])=>`${A}: ${jJI(I)}`).join(", "),dpo=({stats:g})=>{if(!g||Object.keys(g).length===0)return T.jsx("span",{children:"-"});const A=Object.entries(g),I=Dpo(g);return T.jsxs("details",{className:"cursor-pointer",children:[T.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:I}),T.jsx("div",{className:"mt-1 text-xs",children:A.map(([e,t])=>T.jsxs("div",{children:[e,": ",jJI(t)]},e))})]})},rCg=g=>{if(g===null||typeof g!="object")return g;if(Array.isArray(g))return g.map(rCg);const A={};for(const[I,e]of Object.entries(g))I.startsWith("_")||(A[I]=rCg(e));return A},ypo=(g,A)=>{try{if(typeof g.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${A}`);return}const I=rCg(g.getConstructorParams()),e=new Blob([JSON.stringify(I,null,2)],{type:"application/json"}),t=URL.createObjectURL(e),o=document.createElement("a");o.href=t,o.download=`${A}_input.json`,o.click(),URL.revokeObjectURL(t)}catch(I){alert(`Error downloading input for ${A}: ${I instanceof Error?I.message:String(I)}`)}},wpo=({expanded:g})=>T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:`w-4 h-4 transition-transform duration-200 ${g?"rotate-90":""}`,children:T.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})}),zJI=g=>{let A=g;for(;A.activeSubSolver;)A=A.activeSubSolver;return A},XJI=({solver:g,onStepUntilPhase:A,onDownloadInput:I,isNested:e=!1,indentLevel:t=0,triggerRender:o})=>{const[B,C]=z.useState(new Set),Q=g.pipelineDef.map((h,l)=>cpo(g,l)),i=h=>{C(l=>{const D=new Set(l);return D.has(h)?D.delete(h):D.add(h),D})},E=h=>{A?.(h)},n=h=>{h.solverInstance&&(I?I(h.solverInstance,h.name):ypo(h.solverInstance,h.name))},s=h=>`${(h/1e3).toFixed(2)}s`,r=()=>{if(!g.solved&&!g.failed){const h=g.activeSubSolver;for(;!g.solved&&!g.failed&&(g.step(),!(g.activeSubSolver&&g.activeSubSolver!==h)););o?.()}},a=()=>{if(!g.solved&&!g.failed){const h=zJI(g);for(;!g.solved&&!g.failed&&(g.step(),zJI(g)===h););o?.()}},c=t*24;return T.jsxs("div",{className:e?"":"border-t border-gray-200",children:[!e&&T.jsxs("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200 flex items-center justify-between",children:[T.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Stages"}),T.jsxs("div",{className:"flex gap-2",children:[T.jsx("button",{onClick:a,disabled:g.solved||g.failed,className:"bg-indigo-500 hover:bg-indigo-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Solver"}),T.jsx("button",{onClick:r,disabled:g.solved||g.failed,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Stage"})]})]}),T.jsx("div",{className:"overflow-x-auto",children:T.jsxs("table",{className:"w-full text-sm",children:[!e&&T.jsx("thead",{children:T.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stage"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),T.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",T.jsx("sub",{children:"0"})]}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),T.jsx("tbody",{children:Q.map(h=>{const l=apo(h.solverInstance),D=B.has(h.name);return T.jsxs(rC.Fragment,{children:[T.jsxs("tr",{className:`border-b border-gray-100 ${h.status==="In Progress"?"bg-yellow-50":""}`,children:[T.jsx("td",{className:"px-4 py-2",children:T.jsxs("div",{className:"flex items-center gap-2",style:{paddingLeft:c},children:[l?T.jsx("button",{onClick:()=>i(h.name),className:"text-gray-500 hover:text-gray-700",title:D?"Collapse":"Expand",children:T.jsx(wpo,{expanded:D})}):T.jsx("span",{className:"w-4"}),T.jsx("span",{className:"text-gray-400 w-6",children:String(h.index+1).padStart(2,"0")}),T.jsx("button",{onClick:()=>E(h.name),disabled:h.status==="Completed"||g.solved||g.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${h.name} completes`,children:T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:T.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),T.jsx("span",{className:"font-medium text-gray-900",children:h.name})]})}),T.jsx("td",{className:"px-4 py-2",children:T.jsx(hpo,{status:h.status})}),T.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:h.firstIteration!==null?h.firstIteration:""}),T.jsx("td",{className:"px-4 py-2 text-gray-600",children:h.iterations}),T.jsx("td",{className:"px-4 py-2",children:T.jsx(lpo,{progress:h.progress})}),T.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(h.timeSpent)}),T.jsx("td",{className:"px-4 py-2 text-gray-500",children:T.jsx(dpo,{stats:h.stats})}),T.jsx("td",{className:"px-4 py-2",children:h.solverInstance?T.jsxs("button",{onClick:()=>n(h),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${h.name}`,children:[T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:T.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),T.jsx("span",{children:"Input"})]}):null})]}),l&&D&&T.jsx("tr",{children:T.jsx("td",{colSpan:8,className:"p-0",children:T.jsx(XJI,{solver:h.solverInstance,onStepUntilPhase:A,onDownloadInput:I,isNested:!0,indentLevel:t+1,triggerRender:o})})})]},h.name)})})]})})]})};function upo({graphics:g}){const A=g.points??[],I=g.lines??[],e=g.rects??[],t=g.circles??[],o=g.texts??[];let B=Number.POSITIVE_INFINITY,C=Number.POSITIVE_INFINITY,Q=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;const E=(h,l)=>{typeof h=="number"&&(h<B&&(B=h),h>Q&&(Q=h)),typeof l=="number"&&(l<C&&(C=l),l>i&&(i=l))};for(const h of A)E(h.x,h.y);for(const h of I){const l=h.points??[];for(const D of l)E(D.x,D.y)}for(const h of e){const l=h.x??0,D=h.y??0,d=h.width??0,y=h.height??0;E(l,D),E(l+d,D+y)}for(const h of t){const l=h.x??0,D=h.y??0,d=h.radius??1;E(l-d,D-d),E(l+d,D+d)}for(const h of o)E(h.x,h.y);(!isFinite(B)||!isFinite(C)||!isFinite(Q)||!isFinite(i))&&(B=-20,C=-20,Q=20,i=20);const n=10,s=B-n,r=C-n,a=Math.max(1,Q-B+2*n),c=Math.max(1,i-C+2*n);return T.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${s} ${r} ${a} ${c}`,role:"img","aria-label":"Graphics fallback",children:[e.map((h,l)=>T.jsx("rect",{x:h.x??0,y:h.y??0,width:h.width??0,height:h.height??0,fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`rect-${l}`)),I.map((h,l)=>T.jsx("polyline",{fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1,points:(h.points??[]).map(D=>`${D.x??0},${D.y??0}`).join(" ")},`line-${l}`)),t.map((h,l)=>T.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.fillColor??"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`circle-${l}`)),A.map((h,l)=>T.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.color??"black"},`point-${l}`)),o.map((h,l)=>T.jsx("text",{x:h.x??0,y:h.y??0,fontSize:h.fontSize??10,fill:h.color??"black",children:h.text??""},`text-${l}`))]})}var Gpo=class extends rC.Component{constructor(g){super(g),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(g){console.error("InteractiveGraphics render error:",g)}render(){return this.state.hasError?this.props.fallback:this.props.children}},mpo=({solver:g,createSolver:A,animationSpeed:I=25,onSolverStarted:e,onSolverCompleted:t})=>{const[o,B]=z.useReducer(D=>D+1,0),[C]=z.useState(()=>{if(A)return A();if(!g)throw new Error("GenericSolverDebugger requires solver or createSolver");return g}),[Q,i]=z.useState(()=>typeof window>"u"?"vector":window.localStorage.getItem("solver-utils-renderer")==="canvas"?"canvas":"vector"),[E,n]=z.useState(I),s=z.useMemo(()=>{try{return C.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(D){return console.error("Visualization error:",D),{points:[],lines:[],rects:[],circles:[]}}},[C,o]),r=z.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);z.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const D=document.createElement("script");D.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(D)}},[]),z.useEffect(()=>{n(I)},[I]);const a=C.pipelineDef!==void 0,c=D=>{const d=C;if(!C.solved&&!C.failed){for(;!C.solved&&!C.failed&&d.currentPipelineStageIndex<=d.pipelineDef.findIndex(y=>y.solverName===D);)C.step();B()}},h=()=>{const D=JSON.stringify(s,null,2),d=new Blob([D],{type:"application/json"}),y=URL.createObjectURL(d),w=document.createElement("a");w.download="visualization.json",w.href=y,document.body.appendChild(w),w.click(),document.body.removeChild(w),URL.revokeObjectURL(y)},l=D=>{i(D),typeof window<"u"&&window.localStorage.setItem("solver-utils-renderer",D)};return T.jsxs("div",{children:[T.jsx(spo,{solver:C,triggerRender:B,animationSpeed:E,renderer:Q,onRendererChange:l,onAnimationSpeedChange:n,onDownloadVisualization:h,onSolverStarted:e,onSolverCompleted:t}),r?T.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):T.jsx(Gpo,{fallback:T.jsx(upo,{graphics:s}),children:Q==="canvas"?T.jsx(ipo,{graphics:s}):T.jsx(Bpo,{graphics:s})}),a&&T.jsx(XJI,{solver:C,onStepUntilPhase:c,triggerRender:B})]})};const ppo=()=>{z.useEffect(()=>{const g="tailwind-cdn-script";if(document.getElementById(g)||window.tailwind)return;const A=document.createElement("div");A.className="hidden",document.body.appendChild(A);const I=window.getComputedStyle(A).display==="none";if(document.body.removeChild(A),I)return;const e=document.createElement("script");e.id=g,e.src="https://cdn.tailwindcss.com",document.head.appendChild(e)},[])},kpo=1e3,Yk=(g,A)=>{const{fileName:I,mimeType:e="text/plain"}=A,t=g instanceof Blob?g:new Blob([g],{type:e}),o=URL.createObjectURL(t),B=document.createElement("a");B.href=o,B.download=I,B.target="_blank",B.rel="noopener noreferrer",B.style.display="none",document.body.appendChild(B),B.click(),document.body.removeChild(B),setTimeout(()=>{URL.revokeObjectURL(o)},kpo)},cCg=g=>{let A=g.trim().replace(/[\\/:*?"<>|]/g,"_").replace(/[\x00-\x1f]/g,"").replace(/^\.+/,"").replace(/\.+$/,"").replace(/\s+/g," ").replace(/_+/g,"_");return/^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i.test(A)&&(A=`_${A}`),A=A.slice(0,200),A||"untitled"},Mpo=g=>{const A=g.solverConstructorArgs??[g.solverParams];if(g.solverName!=="AutoroutingPipelineSolver7_MultiGraph"||A.length!==1)return A;const[{input:I,options:e}]=A;return[I,e]},DF="https://github.com/tscircuit/tscircuit-autorouter/issues/new",$JI="https://github.com/tscircuit/copper-pour-solver/issues/new",API="https://github.com/tscircuit/calculate-packing/issues/new",Spo="https://github.com/tscircuit/matchpack/issues/new",gPI="https://github.com/tscircuit/schematic-trace-solver/issues/new?template=json-bug-report.yml",fpo={PackSolver2:API,LayoutPipelineSolver:Spo,AutoroutingPipelineSolver:DF,AssignableAutoroutingPipeline2:DF,AssignableAutoroutingPipeline3:DF,AutoroutingPipeline1_OriginalUnravel:DF,AutoroutingPipelineSolver3_HgPortPointPathing:DF,AutoroutingPipelineSolver4:DF,AutoroutingPipelineSolver5:DF,AutoroutingPipelineSolver7_MultiGraph:DF,AutoroutingPipelineSolver8:DF,CopperPourPipelineSolver:$JI,SchematicTracePipelineSolver:gPI},Rpo=g=>g.toLowerCase().includes("pack")?b1I:g.toLowerCase().includes("rout")?v1I:Sro,IPI=g=>{const A=fpo[g];if(A)return A;const I=g.toLowerCase();return I.includes("autorout")?DF:I.includes("schematic")&&I.includes("trace")?gPI:I.includes("copperpour")?$JI:I.includes("pack")?API:null},Npo=g=>`${cCg(`${g.componentName}-${g.solverName}`)}-solver-input.json`,ePI=g=>{Yk(JSON.stringify(g.solverParams,null,2),{fileName:Npo(g),mimeType:"application/json"})},xpo=({solverEvent:g})=>{const A=IPI(g.solverName);return T.jsxs("div",{className:"rf-flex rf-items-center rf-justify-end rf-gap-2 rf-border-b rf-border-gray-200 rf-bg-gray-50 rf-px-4 rf-py-2",children:[T.jsxs(si,{type:"button",variant:"outline",size:"sm",onClick:()=>ePI(g),children:[T.jsx(GtA,{className:"rf-w-4 rf-h-4"}),"Download"]}),A?T.jsx(si,{asChild:!0,variant:"outline",size:"sm",children:T.jsxs("a",{href:A,target:"_blank",rel:"noopener noreferrer",children:[T.jsx(SGA,{className:"rf-w-4 rf-h-4"}),"Report"]})}):T.jsxs(si,{type:"button",variant:"outline",size:"sm",disabled:!0,title:"No report link configured for this solver",children:[T.jsx(SGA,{className:"rf-w-4 rf-h-4"}),"Report"]})]})},Fpo=({solverEvent:g})=>{const A=IPI(g.solverName);return A?T.jsx(si,{asChild:!0,variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",children:T.jsx("a",{href:A,target:"_blank",rel:"noopener noreferrer",title:"Report solver bug","aria-label":"Report solver bug",children:T.jsx(SGA,{className:"rf-w-4 rf-h-4"})})}):T.jsx(si,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",disabled:!0,title:"No report link configured for this solver","aria-label":"Report solver bug",children:T.jsx(SGA,{className:"rf-w-4 rf-h-4"})})},Upo=({solverEvents:g=[]})=>{const[A,I]=z.useState(null);ppo();const e=z.useMemo(()=>{const C=new Map;for(const Q of g){const i=`${Q.componentName}-${Q.solverName}`;C.set(i,Q)}return C},[g]),t=z.useMemo(()=>Array.from(e.keys()),[e]),o=A?e.get(A):null,B=z.useMemo(()=>{if(!o)return{instance:null,error:null,classFound:!1};const C=N9A[o.solverName];if(!C)return{instance:null,error:`Solver class "${o.solverName}" not found in SOLVERS registry. Available: ${Object.keys(N9A).join(", ")}`,classFound:!1};try{return{instance:new C(...Mpo(o)),error:null,classFound:!0}}catch(Q){const i=Q instanceof Error?Q.message:String(Q);return console.error("Failed to reconstruct solver:",Q),{instance:null,error:`Failed to instantiate solver: ${i}`,classFound:!0}}},[o]);return g.length===0?T.jsx("div",{className:"rf-p-4",children:T.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:T.jsxs("div",{className:"rf-p-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),T.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):T.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[T.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[T.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[t.length," ",t.length===1?"Solver":"Solvers"]}),t.map(C=>{const Q=e.get(C),i=A===C;return T.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${i?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>I(C),children:(()=>{const E=Rpo(Q.solverName);return T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[T.jsx(E,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),T.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[T.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:Q.componentName}),T.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:Q.solverName})]})]})})()},C)})]}),T.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:o?B.instance?T.jsxs("div",{className:"rf-flex rf-h-full rf-flex-col rf-overflow-y-auto",children:[T.jsx(xpo,{solverEvent:o}),T.jsx("div",{className:"rf-min-h-0 rf-flex-1",children:T.jsx(mS,{fallback:T.jsx("div",{className:"rf-p-4",children:T.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),T.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",o.solverName]})]})}),children:T.jsx(mpo,{solver:B.instance})})})]}):T.jsxs("div",{className:"rf-p-4",children:[T.jsxs("div",{className:"rf-mb-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:o.solverName}),T.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",o.componentName]})]}),B.error&&T.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${B.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:T.jsx("p",{className:`rf-text-sm ${B.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:B.error})}),T.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[T.jsxs("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50 rf-flex rf-items-center rf-justify-between rf-gap-2",children:[T.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"}),T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx(Fpo,{solverEvent:o}),T.jsx(si,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8","aria-label":"Download solver input JSON",title:"Download solver input JSON",onClick:()=>ePI(o),children:T.jsx(GtA,{className:"rf-w-4 rf-h-4"})})]})]}),T.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:T.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(o.solverParams,null,2)})})]})]}):T.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},Jpo=["subcircuit_id","componentDisplayName","phaseName","routingPhaseIndex","phaseOrdinal","phaseCount","phaseStageIndex","phaseStageCount","connectionCount","obstacleCount","previousTraceCount","isReroutePhase","autorouterName","autorouterVersion","solverName","effort","cacheStatus"],Ppo=["phaseOrdinal","routingPhaseIndex","phaseName","phaseStageIndex"];function Kpo(g,A){let I=-1,e=-1;for(let t=g.length-1;t>=0;t--){const o=g[t];if(o.status!=="running"||o.subcircuit_id!==A.subcircuit_id||o.componentDisplayName!==A.componentDisplayName)continue;let B=0,C=!1;for(const Q of Ppo)if(!(o[Q]===void 0||A[Q]===void 0)){if(o[Q]!==A[Q]){C=!0;break}B++}!C&&B>e&&(I=t,e=B)}return I}function Lpo(g,A){const I=Object.fromEntries(Jpo.filter(B=>A[B]!==void 0).map(B=>[B,A[B]])),e=A.simpleRouteJson?structuredClone(A.simpleRouteJson):void 0,t=A.type==="autorouting:start"?-1:Kpo(g,A),o={...t===-1?{id:`autorouting_phase_${g.length+1}`}:g[t],...I,status:A.type==="autorouting:start"?"running":A.type==="autorouting:end"?"complete":"error",...A.type==="autorouting:start"?{startSimpleRouteJson:e}:A.type==="autorouting:end"?{endSimpleRouteJson:e}:{errorSimpleRouteJson:e,error:A.error?{...A.error}:void 0}};return t===-1?[...g,o]:g.map((B,C)=>C===t?o:B)}const Ypo=new Map([["custom","Custom"],["fanout","Fanout"],["single_layer_fanout","Single layer fanout"],["tscircuit_simplify","Simplify"]]),_po=new Set(["tscircuit","default","auto","auto_local"]);function bpo(g){if(g==="FanoutSolver")return"Fanout";if(g==="AutoroutingPipelineSolver11_Simplification")return"Simplify";const A=g.match(/^AutoroutingPipeline(?:Solver)?(\d+)(?:_|$)/);if(A)return`Pipeline${A[1]}`;const I=g.match(/^AssignableAutoroutingPipeline(\d+)$/);return I?`Assignable${I[1]}`:g}function Hpo(g){const A=g.autorouterName?.trim(),I=A?.replace(/-/g,"_"),e=I&&Ypo.get(I);if(e)return e;if(I&&!_po.has(I))return A;const t=g.solverName?.trim();if(t)return bpo(t);const o=g.autorouterVersion?.trim();if(o){const B=o.match(/^beta[_-]pipeline(\d+)$/);return B?`Pipeline${B[1]}`:o==="latest"?"default":o}return A?"default":"Unknown"}const hCg="#fbbf24";function vpo(g){const A=g.endSimpleRouteJson?.traces??[],I=new Set(A.flatMap(t=>[t.pcb_trace_id,t.__replaces_pcb_trace_id].filter(o=>o!==void 0)));return[...(g.startSimpleRouteJson?.traces??[]).filter(t=>!I.has(t.pcb_trace_id)),...A]}function tPI(g){const A=new Map((g.startSimpleRouteJson?.traces??[]).map(I=>[I.pcb_trace_id,I]));return(g.endSimpleRouteJson?.traces??[]).filter(I=>{const e=A.get(I.pcb_trace_id);return!e||!!I.__replaces_pcb_trace_id&&I.__replaces_pcb_trace_id!==e.__replaces_pcb_trace_id||JSON.stringify(e.route)!==JSON.stringify(I.route)}).map(I=>I.pcb_trace_id)}function Tpo(g,A){return{outer_diameter:g.via_diameter??A.minViaPadDiameter??A.min_via_pad_diameter??A.minViaDiameter??.6,hole_diameter:g.via_hole_diameter??A.minViaHoleDiameter??A.min_via_hole_diameter??.3}}function oPI(g,A){const I=[];for(const C of g.route)C.route_type==="wire"?I.push({...C,layer:C.layer}):C.route_type==="via"?I.push({route_type:"via",x:C.x,y:C.y,from_layer:C.from_layer,to_layer:C.to_layer,...Tpo(C,A)}):C.route_type==="through_obstacle"&&I.push({route_type:"through_pad",start:{...C.start},end:{...C.end},width:C.width,start_layer:C.from_layer,end_layer:C.to_layer,pcb_smtpad_id:C.circuitJsonMetadata?.pcb_smtpad_id,pcb_plated_hole_id:C.circuitJsonMetadata?.pcb_plated_hole_id});const e=C=>{let Q=-1,i=Number.POSITIVE_INFINITY;return I.forEach((E,n)=>{if(E.route_type!=="wire")return;const s=Math.hypot(E.x-C.x,E.y-C.y);s<i&&(i=s,Q=n)}),Q},t=g.route.filter(C=>C.route_type==="jumper").map(C=>[e(C.start),e(C.end)].sort((Q,i)=>Q-i)).filter(([C,Q])=>C>=0&&Q>C).sort(([C],[Q])=>C-Q),o=[];let B=0;for(const[C,Q]of t)C>=B&&o.push(I.slice(B,C+1)),B=Math.max(B,Q);return B<I.length&&o.push(I.slice(B)),o}function qpo(g){const A=[],I=[],e=g.endSimpleRouteJson;if(!e)return{lines:A,circles:I};const t=new Set(tPI(g));for(const o of e.traces??[])if(t.has(o.pcb_trace_id))for(const B of oPI(o,e)){let C;for(const Q of B){if(Q.route_type==="through_pad"){C={...Q.end,layer:Q.end_layer,width:Q.width};continue}const i=Q.route_type==="wire"?Q.layer:Q.from_layer;C&&C.layer===i&&(C.x!==Q.x||C.y!==Q.y)&&A.push({points:[{x:C.x,y:C.y},{x:Q.x,y:Q.y}],strokeWidth:Q.route_type==="wire"?Q.width:C.width,strokeColor:hCg,layer:i}),Q.route_type==="via"&&I.push({center:{x:Q.x,y:Q.y},radius:Q.outer_diameter/2,stroke:hCg,fill:"transparent"}),C={x:Q.x,y:Q.y,layer:Q.route_type==="wire"?Q.layer:Q.to_layer,width:Q.route_type==="wire"?Q.width:C?.width??e.minTraceWidth}}}return{coordinateSystem:"cartesian",lines:A,circles:I}}function Zpo(g){const A=JSON.stringify(g);let I=2166136261;for(let e=0;e<A.length;e++)I=Math.imul(I^A.charCodeAt(e),16777619);return(I>>>0).toString(36)}const Opo=new Set(["pcb_trace","pcb_via","pcb_copper_pour","pcb_ground_plane","pcb_ground_plane_region","pcb_thermal_spoke","pcb_breakout_point"]);function Wpo(g,A,I){const e=I==="input"?A.startSimpleRouteJson??A.errorSimpleRouteJson:A.endSimpleRouteJson,t=g.filter(i=>!Opo.has(i.type)&&!i.type.endsWith("_error")&&!i.type.endsWith("_warning"));if(!e)return t;const o=I==="input"?e.traces??[]:vpo(A),B=new Set(g.filter(i=>i.type==="source_trace").map(i=>i.source_trace_id)),C=["top",...Array.from({length:Math.max(0,e.layerCount-2)},(i,E)=>`inner${E+1}`),...e.layerCount>1?["bottom"]:[]],Q=[];for(const i of o){const n=e.connections.find(r=>r.name===i.connection_name||r.source_trace_id===i.connection_name)?.source_trace_id??i.connection_name??"",s=oPI(i,e);for(const[r,a]of s.entries()){const c={type:"pcb_trace",pcb_trace_id:`${A.id}_${I}_${i.pcb_trace_id}_${r}_${Zpo(a)}`,subcircuit_id:A.subcircuit_id??void 0,source_trace_id:B.has(n)?n:void 0,route:a};Q.push(c);for(const[h,l]of a.entries()){if(l.route_type!=="via")continue;const D=C.indexOf(l.from_layer),d=C.indexOf(l.to_layer),y={type:"pcb_via",pcb_via_id:`${c.pcb_trace_id}_via_${h}`,pcb_trace_id:c.pcb_trace_id,subcircuit_id:A.subcircuit_id??void 0,x:l.x,y:l.y,outer_diameter:l.outer_diameter,hole_diameter:l.hole_diameter,layers:D>=0&&d>=0?C.slice(Math.min(D,d),Math.max(D,d)+1):[l.from_layer,l.to_layer]};Q.push(y)}}}return[...t,...Q]}const lCg=(g,A)=>g.phaseName||`Phase ${g.phaseOrdinal??A+1}`,BPI=g=>g.componentDisplayName?.match(/name="([^"]+)"/)?.[1]?.replace(/^\./,"")||g.componentDisplayName||g.subcircuit_id||"Board",CPI=g=>g.startSimpleRouteJson??g.endSimpleRouteJson??g.errorSimpleRouteJson,Vpo={is_showing_autorouting:!0,is_showing_rats_nest:!1,is_showing_drc_errors:!1,is_showing_drc_warnings:!1,is_showing_pcb_groups:!1},jpo=({circuitJson:g,phases:A=[],isRunning:I=!1})=>{const[e,t]=z.useState(null),[o,B]=z.useState("output"),[C,Q]=z.useState(!0),[i,E]=z.useState(!1),n=z.useRef(null),[s,r]=z.useState(480),a=e?A.findIndex(N=>N.id===e.id&&CPI(N)===CPI(e)):-1,c=a<0?A.length-1:a,h=A[c],l=a<0,D=!!h?.endSimpleRouteJson,d=h?.startSimpleRouteJson??h?.errorSimpleRouteJson,y=!!d,w=o==="output"&&!D?"input":o==="input"&&!y?"output":o,u=w==="input"?d:h?.endSimpleRouteJson,G=z.useMemo(()=>!h||!u?null:Wpo(g??[],h,w),[g,h,u,w]),m=z.useMemo(()=>h&&w==="output"&&C?qpo(h):{lines:[],circles:[]},[h,w,C]);if(z.useLayoutEffect(()=>{const N=n.current;if(!N)return;const U=()=>r(Math.max(360,N.clientHeight));U();const K=new ResizeObserver(U);return K.observe(N),()=>K.disconnect()},[!!h]),!h)return T.jsxs("div",{className:"rf-flex rf-min-h-[400px] rf-flex-col rf-items-center rf-justify-center rf-gap-3 rf-p-8 rf-text-center",children:[T.jsx(v1I,{className:"rf-h-7 rf-w-7 rf-text-blue-500"}),T.jsx("h3",{className:"rf-text-base rf-font-medium",children:I?"Waiting for autorouting":"No autorouting captures"}),T.jsx("p",{className:"rf-max-w-md rf-text-sm rf-text-gray-500",children:I?"Phases appear as the circuit routes. Each capture includes its input and output on the PCB.":"Run a circuit with autorouting enabled to inspect its phases. A circuit JSON file alone does not include routing history."})]});const p=lCg(h,c),k=h.status==="running"&&I,S=!D,R=d?.connections.length,x=G?.filter(N=>N.type==="pcb_trace").length??0;return T.jsxs("div",{className:"rf-flex rf-h-full rf-min-h-[620px] rf-flex-col rf-bg-white md:rf-flex-row","data-testid":"autorouting-explorer",children:[T.jsxs("aside",{className:"rf-flex rf-shrink-0 rf-flex-col rf-border-b rf-border-gray-200 md:rf-w-52 md:rf-border-b-0 md:rf-border-r","aria-label":"Routing phases",children:[T.jsxs("div",{className:"rf-flex rf-items-center rf-justify-between rf-px-3 rf-py-2 rf-text-xs rf-text-gray-500",children:[T.jsx("span",{children:"Routing phases"}),T.jsx("span",{children:A.length})]}),T.jsx("div",{className:"rf-flex rf-gap-1 rf-overflow-x-auto rf-px-1.5 rf-pb-1.5 md:rf-flex-col md:rf-overflow-x-hidden md:rf-overflow-y-auto",children:A.map((N,U)=>{const K=tPI(N).length,Y=N.endSimpleRouteJson?`${K} ${K===1?"trace":"traces"} routed`:N.status==="error"?"Failed":N.status==="running"&&I?"Routing…":"No output";return T.jsxs("button",{type:"button","aria-pressed":U===c,title:`${BPI(N)} · ${Y}`,onClick:()=>t(N),className:oo("rf-flex rf-min-w-[192px] rf-items-start rf-gap-2 rf-rounded-md rf-border rf-px-2 rf-py-2 rf-text-left md:rf-min-w-0",U===c?"rf-border-blue-200 rf-bg-blue-50":"rf-border-transparent hover:rf-bg-gray-50"),children:[T.jsx("span",{className:oo("rf-flex rf-h-5 rf-w-5 rf-shrink-0 rf-items-center rf-justify-center rf-rounded-full rf-text-[11px]",U===c?"rf-bg-blue-600 rf-text-white":"rf-bg-gray-100 rf-text-gray-500"),children:U+1}),T.jsxs("span",{className:"rf-min-w-0 rf-flex-1",children:[T.jsxs("span",{className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx("span",{className:"rf-min-w-0 rf-flex-1 rf-truncate rf-text-xs rf-font-medium rf-leading-5 rf-text-gray-800",title:lCg(N,U),children:lCg(N,U)}),N.status==="complete"?T.jsx(nF,{"aria-label":"Captured",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-green-600"}):N.status==="error"?T.jsx(Uog,{"aria-label":"Failed",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-red-500"}):I?T.jsx(pS,{"aria-label":"Routing",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-animate-spin rf-text-blue-500"}):null]}),T.jsxs("span",{className:"rf-block rf-text-[11px] rf-leading-4 rf-text-gray-500",children:[Hpo(N)," · ",Y]})]})]},N.id)})})]}),T.jsxs("div",{className:"rf-flex rf-min-w-0 rf-flex-1 rf-flex-col",children:[T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-gap-3 rf-border-b rf-border-gray-200 rf-px-4 rf-py-3",children:[T.jsxs("h3",{className:"rf-mr-auto rf-flex rf-items-center rf-gap-2 rf-text-sm rf-font-medium",children:[p,T.jsxs("span",{className:"rf-text-xs rf-font-normal rf-text-gray-500",children:[c+1," of ",A.length]})]}),I&&T.jsx("button",{type:"button",onClick:()=>t(null),disabled:l,className:"rf-text-xs rf-text-blue-600 disabled:rf-text-gray-500",children:l?"Following latest":"Follow latest"}),T.jsx("div",{className:"rf-flex rf-rounded-md rf-bg-gray-100 rf-p-1","aria-label":"Phase snapshot",children:["input","output"].map(N=>T.jsx("button",{type:"button","aria-pressed":w===N,disabled:N==="input"?!y:!D,onClick:()=>B(N),className:oo("rf-rounded rf-px-3 rf-py-1 rf-text-xs disabled:rf-opacity-40",w===N?"rf-bg-white rf-text-gray-900 rf-shadow-sm":"rf-text-gray-500"),children:N==="input"?"Input":"Output"},N))})]}),T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-px-4 rf-py-2 rf-text-xs rf-text-gray-600",children:[T.jsxs("label",{className:"rf-flex rf-items-center rf-gap-2",children:[T.jsx("input",{type:"checkbox",checked:C,disabled:w!=="output",onChange:N=>Q(N.target.checked),className:"rf-accent-blue-600"}),T.jsx("span",{"aria-hidden":"true",className:"rf-inline-block rf-h-0.5 rf-w-3",style:{backgroundColor:hCg}}),"Highlight changes (all layers)"]}),T.jsxs("span",{children:[w==="input"?"Before this phase":"After this phase"," ","· ",x," traces"]})]}),S&&T.jsx("div",{className:oo("rf-border-y rf-px-4 rf-py-2 rf-text-xs",h.status==="error"?"rf-border-red-100 rf-bg-red-50 rf-text-red-700":"rf-border-blue-100 rf-bg-blue-50 rf-text-blue-700"),role:"status",children:h.status==="error"?`Routing failed: ${h.error?.message||"No output was captured."}`:k?"Routing in progress. Showing captured input until output is available.":"No output was captured for this phase. Showing the available input."}),T.jsx("div",{ref:n,className:"rf-relative rf-min-h-[360px] rf-flex-1","data-testid":"autorouting-pcb",children:G?T.jsx(Nog,{circuitJson:G,height:s,allowEditing:!1,clickToInteractEnabled:!1,initialState:Vpo,debugGraphics:m}):T.jsx("div",{className:"rf-p-6 rf-text-sm rf-text-gray-500",children:"No PCB snapshot available for this capture."})}),T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-border-t rf-border-gray-200 rf-px-4 rf-py-3 rf-text-xs rf-text-gray-500",children:[T.jsxs("span",{children:[R===void 0?"Input unavailable":`${R} input connections`,` · ${BPI(h)}`]}),T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-4",children:[T.jsxs("button",{type:"button",disabled:!u,onClick:()=>Yk(JSON.stringify(u,null,2),{fileName:`${h.id}-${w}.srj.json`,mimeType:"application/json"}),className:"rf-flex rf-items-center rf-gap-1 disabled:rf-opacity-40",children:[T.jsx(GtA,{className:"rf-h-3 rf-w-3"}),"Download SRJ"]}),T.jsxs("button",{type:"button","aria-expanded":i,onClick:()=>E(!i),className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx(pb,{className:oo("rf-h-3 rf-w-3",i&&"rf-rotate-90")}),"Inspect SRJ"]})]})]}),i&&T.jsx("pre",{className:"rf-m-0 rf-max-h-64 rf-overflow-auto rf-border-t rf-border-gray-200 rf-bg-gray-50 rf-p-4 rf-text-xs","aria-label":`${p} ${w} SRJ`,children:u?JSON.stringify(u,null,2):"No snapshot captured."})]})]})},QPI=({errorMessage:g,errorStack:A,circuitJsonErrors:I})=>{z.useEffect(()=>{if(yJ("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&g){const e=new Error(g);A&&(e.stack=A);try{pq.captureException(e)}catch{}}},[g,A]),z.useEffect(()=>{if(yJ("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&I&&I.length>0)for(const e of I){const t=new Error(e.message||"Circuit JSON Error");e.stack&&(t.stack=e.stack);try{pq.captureException(t,{error_type:e.type})}catch{}}},[I])},iPI=g=>{z.useEffect(()=>{try{Adt(g)}catch{}},[g.source,g.component,g.isWebEmbedded,g.activeTab])},EPI="0.0.3059",zpo={version:EPI},jmA=CXg()(QXg(g=>({lastRunEvalVersion:void 0,setLastRunEvalVersion:A=>{g({lastRunEvalVersion:A})}}),{name:"runframe-runner-store"})),Xpo=g=>{const[A,I]=z.useState([]),[e,t]=z.useState(null),[o,B]=z.useState(""),[C,Q]=OT("eval-version-selection",null),i=jmA(r=>r.setLastRunEvalVersion),E=jmA(r=>r.lastRunEvalVersion);return z.useEffect(()=>{g&&fetch("https://data.jsdelivr.com/v1/package/npm/@tscircuit/eval").then(r=>r.json()).then(r=>{if(Array.isArray(r?.versions)){let a=[...r.versions];r.tags?.latest&&(t(r.tags.latest),a=a.filter(c=>c!==r.tags.latest)),I(a)}}).catch(()=>{})},[g]),z.useEffect(()=>{g&&(C?(window.TSCIRCUIT_LATEST_EVAL_VERSION=C,i(C)):e&&(window.TSCIRCUIT_LATEST_EVAL_VERSION=e,i(e)))},[g,C,e]),{versions:z.useMemo(()=>A.filter(r=>r.includes(o)).slice(0,50),[A,o]),latestVersion:e,lastRunEvalVersion:E,search:o,setSearch:B,selectVersion:r=>{Q(r),B("")}}},$po=({snippetNames:g,onSelect:A,onCancel:I,isOpen:e})=>{const[t,o]=z.useState(""),[B,C]=z.useState("");if(!e)return null;const Q=g.filter(n=>n.toLowerCase().includes(B.toLowerCase())),i=B&&!g.includes(B),E=n=>{n.key==="Enter"&&(Q.length===1?o(Q[0]):i&&o(B))};return T.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-items-center rf-justify-center rf-z-[100]",children:T.jsxs("div",{className:"rf-bg-white rf-rounded-lg rf-p-6 rf-w-96",children:[T.jsx("h2",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Select Snippet"}),T.jsx("input",{type:"text",className:"rf-w-full rf-px-4 rf-py-2 rf-border rf-rounded rf-mb-4",placeholder:"Search snippets or new snippet name...",value:B,onChange:n=>C(n.target.value),onKeyDown:E}),T.jsxs("div",{className:"rf-h-60 rf-overflow-y-auto",children:[Q.map(n=>T.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${t===n?"bg-blue-50":""}`,onClick:()=>o(n),children:n},n)),i&&T.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${t===B?"bg-blue-50":""}`,onClick:()=>o(B),children:['Create new "',B,'"']})]}),T.jsxs("div",{className:"rf-mt-4 rf-flex rf-justify-end rf-gap-2",children:[T.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-text-gray-600 rf-hover:text-gray-800",onClick:I,children:"Cancel"}),T.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-bg-blue-500 rf-text-white rf-rounded rf-hover:bg-blue-600 rf-disabled:opacity-50",onClick:()=>t&&A(t),disabled:!t,children:t===B?`Create "${t}"`:`Save to ${t}`})]})]})})},Ako=g=>{const A=z.useRef(null),I=Uc(e=>e.recentEvents);z.useEffect(()=>{if(I.length===0)return;const e=I[0];e.event_id!==A.current&&(g(e),A.current=e.event_id)},[I,g])};var gko=Object.defineProperty,CP=(g,A)=>gko(g,"name",{value:A,configurable:!0}),Iko="AlertDialog",[eko,CCB]=nk(Iko,[hFI]),QP=hFI(),tko=CP(g=>{const{__scopeAlertDialog:A,...I}=g,e=QP(A);return T.jsx(smA,{...e,...I,modal:!0})},"AlertDialog");z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=QP(e);return T.jsx($0o,{...o,...t,ref:I})},"AlertDialogTrigger"));var oko=CP(g=>{const{__scopeAlertDialog:A,...I}=g,e=QP(A);return T.jsx(amA,{...e,...I})},"AlertDialogPortal"),nPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=QP(e);return T.jsx(PtA,{...o,...t,ref:I})},"AlertDialogOverlay")),Bko="AlertDialogContent",[Cko,Qko]=eko(Bko),sPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,children:t,...o}=A,B=QP(e),C=z.useRef(null),Q=Gi(I,C),i=z.useRef(null);return T.jsx(Cko,{scope:e,cancelRef:i,children:T.jsx(LtA,{role:"alertdialog",...B,...o,ref:Q,onOpenAutoFocus:So(o.onOpenAutoFocus,E=>{E.preventDefault(),i.current?.focus({preventScroll:!0})}),onPointerDownOutside:E=>E.preventDefault(),onInteractOutside:E=>E.preventDefault(),children:t})})},"AlertDialogContent")),aPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=QP(e);return T.jsx(rmA,{...o,...t,ref:I})},"AlertDialogTitle")),rPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=QP(e);return T.jsx(cmA,{...o,...t,ref:I})},"AlertDialogDescription")),cPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=QP(e);return T.jsx(GBg,{...o,...t,ref:I})},"AlertDialogAction")),iko="AlertDialogCancel",hPI=z.forwardRef(CP(function(A,I){const{__scopeAlertDialog:e,...t}=A,{cancelRef:o}=Qko(iko,e),B=QP(e),C=Gi(I,o);return T.jsx(GBg,{...B,...t,ref:C})},"AlertDialogCancel"));const lPI=tko,Eko=oko,DPI=z.forwardRef(({className:g,...A},I)=>T.jsx(nPI,{className:oo("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",g),...A,ref:I}));DPI.displayName=nPI.displayName;const DCg=z.forwardRef(({className:g,...A},I)=>T.jsxs(Eko,{children:[T.jsx(DPI,{}),T.jsx(sPI,{ref:I,className:oo("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",g),...A})]}));DCg.displayName=sPI.displayName;const dCg=({className:g,...A})=>T.jsx("div",{className:oo("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",g),...A});dCg.displayName="AlertDialogHeader";const yCg=({className:g,...A})=>T.jsx("div",{className:oo("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",g),...A});yCg.displayName="AlertDialogFooter";const wCg=z.forwardRef(({className:g,...A},I)=>T.jsx(aPI,{ref:I,className:oo("rf-text-lg rf-font-semibold",g),...A}));wCg.displayName=aPI.displayName;const uCg=z.forwardRef(({className:g,...A},I)=>T.jsx(rPI,{ref:I,className:oo("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",g),...A}));uCg.displayName=rPI.displayName;const nko=z.forwardRef(({className:g,...A},I)=>T.jsx(cPI,{ref:I,className:oo(CO(),g),...A}));nko.displayName=cPI.displayName;const GCg=z.forwardRef(({className:g,...A},I)=>T.jsx(hPI,{ref:I,className:oo(CO({variant:"outline"}),"rf-mt-2 sm:rf-mt-0",g),...A}));GCg.displayName=hPI.displayName;var sko=Object.defineProperty,iP=(g,A)=>sko(g,"name",{value:A,configurable:!0}),mCg="Checkbox",[ako,QCB]=nk(mCg),[rko,pCg]=ako(mCg);function dPI(g){const{__scopeCheckbox:A,checked:I,children:e,defaultChecked:t,disabled:o,form:B,name:C,onCheckedChange:Q,required:i,value:E="on",internal_do_not_use_render:n}=g,[s,r]=RR({prop:I,defaultProp:t??!1,onChange:Q,caller:mCg}),[a,c]=z.useState(null),[h,l]=z.useState(null),[D,d]=z.useState(null),y=a?!!B||!!a.closest("form"):!0,w={checked:s,disabled:o,setChecked:r,control:a,setControl:c,name:C,form:B,value:E,userClick:D,onUserClick:d,required:i,defaultChecked:yf(t)?!1:t,isFormControl:y,bubbleInput:h,setBubbleInput:l};return T.jsx(rko,{scope:A,...w,children:wPI(n)?n(w):e})}iP(dPI,"CheckboxProvider");var cko="CheckboxTrigger",hko=z.forwardRef(iP(function({__scopeCheckbox:A,onKeyDown:I,onClick:e,...t},o){const{control:B,value:C,disabled:Q,checked:i,required:E,setControl:n,setChecked:s,onUserClick:r,isFormControl:a,bubbleInput:c}=pCg(cko,A),h=Gi(o,n),l=z.useRef(i);return z.useEffect(()=>{const D=B?.form;if(D){const d=iP(()=>s(l.current),"reset");return D.addEventListener("reset",d),()=>D.removeEventListener("reset",d)}},[B,s]),T.jsx(yQ.button,{type:"button",role:"checkbox","aria-checked":yf(i)?"mixed":i,"aria-required":E,"data-state":kCg(i),"data-disabled":Q?"":void 0,disabled:Q,value:C,...t,ref:h,onKeyDown:So(I,D=>{D.key==="Enter"&&D.preventDefault()}),onClick:So(e,D=>{const d=D.isPropagationStopped();r({requestedChecked:yf(i)?!0:!i,hasConsumerStoppedPropagation:d}),s(y=>yf(y)?!0:!y),c&&a&&(d||D.stopPropagation())})})},"CheckboxTrigger")),yPI=z.forwardRef(iP(function(A,I){const{__scopeCheckbox:e,name:t,checked:o,defaultChecked:B,required:C,disabled:Q,value:i,onCheckedChange:E,form:n,...s}=A;return T.jsx(dPI,{__scopeCheckbox:e,checked:o,defaultChecked:B,disabled:Q,required:C,onCheckedChange:E,name:t,form:n,value:i,internal_do_not_use_render:({isFormControl:r})=>T.jsxs(T.Fragment,{children:[T.jsx(hko,{...s,ref:I,__scopeCheckbox:e}),r&&T.jsx(yko,{__scopeCheckbox:e})]})})},"Checkbox")),lko="CheckboxIndicator",Dko=z.forwardRef(iP(function(A,I){const{__scopeCheckbox:e,forceMount:t,...o}=A,B=pCg(lko,e);return T.jsx(XM,{present:t||yf(B.checked)||B.checked===!0,children:T.jsx(yQ.span,{"data-state":kCg(B.checked),"data-disabled":B.disabled?"":void 0,...o,ref:I,style:{pointerEvents:"none",...A.style}})})},"CheckboxIndicator")),dko="CheckboxBubbleInput",yko=z.forwardRef(iP(function({__scopeCheckbox:A,onClick:I,...e},t){const{control:o,userClick:B,checked:C,defaultChecked:Q,required:i,disabled:E,name:n,value:s,form:r,bubbleInput:a,setBubbleInput:c}=pCg(dko,A),h=Gi(t,c),l=tBg(o),D=z.useRef(!1),d=z.useRef(C),y=z.useRef(B),w=z.useRef(null);z.useEffect(()=>{const G=a;if(!G)return;const m=window.HTMLInputElement.prototype,k=Object.getOwnPropertyDescriptor(m,"checked").set;if(!k)return;const S=d.current!==C;d.current=C;const R=B!==null&&B!==y.current;if(y.current=B,R)w.current=S?null:B,S&&(G.indeterminate=yf(C),k.call(G,yf(C)?!1:C)),G.dispatchEvent(new Event("click",{bubbles:!B.hasConsumerStoppedPropagation}));else if(S){const x=w.current;w.current=null;const N=x?.requestedChecked===C;D.current=!0,G.indeterminate=yf(C),k.call(G,yf(C)?!1:C),G.dispatchEvent(new Event("click",{bubbles:!(N&&x.hasConsumerStoppedPropagation)})),D.current=!1}},[a,C,B]);const u=z.useRef(yf(C)?!1:C);return T.jsx(yQ.input,{type:"checkbox","aria-hidden":!0,defaultChecked:Q??u.current,required:i,disabled:E,name:n,value:s,form:r,...e,tabIndex:-1,ref:h,onClick:So(I,G=>{D.current&&G.stopPropagation()}),style:{...e.style,...l,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function wPI(g){return typeof g=="function"}iP(wPI,"isFunction");function yf(g){return g==="indeterminate"}iP(yf,"isIndeterminate");function kCg(g){return yf(g)?"indeterminate":g?"checked":"unchecked"}iP(kCg,"getState");const BoA=z.forwardRef(({className:g,...A},I)=>T.jsx(yPI,{ref:I,className:oo("rf-peer rf-h-4 rf-w-4 rf-shrink-0 rf-rounded-sm rf-border rf-border-zinc-200 rf-border-zinc-900 rf-shadow focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 data-[state=checked]:rf-bg-zinc-900 data-[state=checked]:rf-text-zinc-50 dark:rf-border-zinc-800 dark:rf-border-zinc-50 dark:focus-visible:rf-ring-zinc-300 dark:data-[state=checked]:rf-bg-zinc-50 dark:data-[state=checked]:rf-text-zinc-900",g),...A,children:T.jsx(Dko,{className:oo("rf-flex rf-items-center rf-justify-center rf-text-current"),children:T.jsx(nF,{className:"rf-h-4 rf-w-4"})})}));BoA.displayName=yPI.displayName;const Ub=smA,wko=amA,uPI=z.forwardRef(({className:g,...A},I)=>T.jsx(PtA,{className:oo("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",g),...A,ref:I}));uPI.displayName=PtA.displayName;const SL=z.forwardRef(({className:g,children:A,showOverlay:I=!0,...e},t)=>T.jsxs(wko,{children:[T.jsx(uPI,{className:oo(I?"":"rf-hidden")}),T.jsx(LtA,{ref:t,className:oo("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",g),...e,children:A})]}));SL.displayName=LtA.displayName;const fL=({className:g,...A})=>T.jsx("div",{className:oo("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",g),...A});fL.displayName="DialogHeader";const JO=({className:g,...A})=>T.jsx("div",{className:oo("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",g),...A});JO.displayName="DialogFooter";const RL=z.forwardRef(({className:g,...A},I)=>T.jsx(rmA,{ref:I,className:oo("rf-text-lg rf-font-semibold",g),...A}));RL.displayName=rmA.displayName;const Jb=z.forwardRef(({className:g,...A},I)=>T.jsx(cmA,{ref:I,className:oo("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",g),...A}));Jb.displayName=cmA.displayName;const zmA={"tscircuit.com":{label:"tscircuit.com",placeholder:"Search tscircuit packages...",emptyMessage:"No packages found"},jlcpcb:{label:"JLCPCB Parts",placeholder:"Search JLCPCB parts (e.g. C14663)...",emptyMessage:"No parts found"},kicad:{label:"KiCad Footprints",placeholder:"Search KiCad footprints...",emptyMessage:"No footprints found"}},uko="https://cdn.jsdelivr.net/npm/easyeda@latest/dist/browser/index.js";let MCg=null;const SCg=async()=>(MCg||(MCg=import(uko)),MCg),Gko=g=>(A,I)=>{const e=new Headers(I?.headers),t={};return e.forEach((o,B)=>{t[B]=o}),fetch(`${g?.apiBase??Nm}/proxy`,{...I,headers:{...t,"X-Target-Url":A.toString(),"X-Sender-Origin":t.origin??"","X-Sender-Host":t.host??"https://easyeda.com","X-Sender-Referer":t.referer??"","X-Sender-User-Agent":t["user-agent"]??"","X-Sender-Cookie":t.cookie??"",authority:t.authority??"","content-type":t["content-type"]??"",...g?.headers}})},mko=async(g,A=10)=>{const I=encodeURIComponent(g),e=await fetch(`https://jlcsearch.tscircuit.com/api/search?limit=${A}&q=${I}`);if(!e.ok)throw new Error(`JLCPCB API error: ${e.status}`);return(await e.json()).components??[]},pko=g=>({lcscId:g.lcsc,manufacturer:g.mfr,description:g.description,partNumber:`C${g.lcsc}`,package:g.package,price:g.price,stock:g.stock,isBasic:g.is_basic}),GPI=async(g,A)=>{const{fetchEasyEDAComponent:I}=await SCg();return I(g,{fetch:Gko(A),includeModelMetadata:A?.includeModelMetadata})},kko=async(g,A)=>{const{convertRawEasyToTsx:I}=await SCg(),e=await GPI(g,A);return I({rawEasy:e})},Mko=async(g,A)=>{const{EasyEdaJsonSchema:I,convertEasyEdaJsonToCircuitJson:e}=await SCg(),t=await GPI(g,{...A,includeModelMetadata:!1}),o=I.parse(t);return e(o,{shouldRecenter:!0,showDesignator:!0,useModelCdn:!1})};function NL(g){return Array.isArray?Array.isArray(g):pPI(g)==="[object Array]"}function Sko(g){if(typeof g=="string")return g;if(typeof g=="bigint")return g.toString();const A=g+"";return A=="0"&&1/g==-1/0?"-0":A}function fCg(g){return g==null?"":Sko(g)}function dG(g){return typeof g=="string"}function XmA(g){return typeof g=="number"}function fko(g){return g===!0||g===!1||Rko(g)&&pPI(g)=="[object Boolean]"}function mPI(g){return typeof g=="object"}function Rko(g){return mPI(g)&&g!==null}function xS(g){return g!=null}function $mA(g){return!g.trim().length}function pPI(g){return g==null?g===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(g)}const Nko="Incorrect 'index' type",RCg="Invalid doc index: must be a non-negative integer within the bounds of the docs array",xko=g=>`Invalid value for key ${g}`,Fko=g=>`Pattern length exceeds max of ${g}.`,Uko=g=>`Missing ${g} property in key`,Jko=g=>`Property 'weight' in key '${g}' must be a positive integer`,Pko="Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.",kPI=Object.prototype.hasOwnProperty;var Kko=class{constructor(g){this._keys=[],this._keyMap={};let A=0;g.forEach(I=>{const e=MPI(I);this._keys.push(e),this._keyMap[e.id]=e,A+=e.weight}),this._keys.forEach(I=>{I.weight/=A})}get(g){return this._keyMap[g]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function MPI(g){let A=null,I=null,e=null,t=1,o=null;if(dG(g)||NL(g))e=g,A=SPI(g),I=ApA(g);else{if(!kPI.call(g,"name"))throw new Error(Uko("name"));const B=g.name;if(e=B,kPI.call(g,"weight")&&g.weight!==void 0&&(t=g.weight,t<=0))throw new Error(Jko(ApA(B)));A=SPI(B),I=ApA(B),o=g.getFn??null}return{path:A,id:I,weight:t,src:e,getFn:o}}function SPI(g){return NL(g)?g:g.split(".")}function ApA(g){return NL(g)?g.join("."):g}function Lko(g,A){const I=[];let e=!1;const t=(o,B,C,Q)=>{if(xS(o))if(!B[C])I.push(Q!==void 0?{v:o,i:Q}:o);else{const i=o[B[C]];if(!xS(i))return;if(C===B.length-1&&(dG(i)||XmA(i)||fko(i)||typeof i=="bigint"))I.push(Q!==void 0?{v:fCg(i),i:Q}:fCg(i));else if(NL(i)){e=!0;for(let E=0,n=i.length;E<n;E+=1)t(i[E],B,C+1,E)}else B.length&&t(i,B,C+1,Q)}};return t(g,dG(A)?A.split("."):A,0),e?I:I[0]}const cQ=Object.freeze({...{isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(g,A)=>g.score===A.score?g.idx<A.idx?-1:1:g.score<A.score?-1:1},...{includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},...{location:0,threshold:.6,distance:100},...{useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:"any",getFn:Lko,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}});function Yko(g){return g>=9&&g<=13||g===32||g===160}function _ko(g=1,A=3){const I=new Map,e=Math.pow(10,A);return{get(t){let o=0,B=!1;for(let Q=0;Q<t.length;Q++)Yko(t.charCodeAt(Q))?B=!1:B||(o++,B=!0);if(o===0&&(o=1),I.has(o))return I.get(o);const C=Math.round(e/Math.pow(o,.5*g))/e;return I.set(o,C),C},clear(){I.clear()}}}var NCg=class{constructor({getFn:g=cQ.getFn,fieldNormWeight:A=cQ.fieldNormWeight}={}){this.norm=_ko(A,3),this.getFn=g,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(g=[]){this.docs=g}setIndexRecords(g=[]){this.records=g}setKeys(g=[]){this.keys=g,this._keysMap={},g.forEach((A,I)=>{this._keysMap[A.id]=I})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;const g=this.docs.length;this.records=new Array(g);let A=0;if(dG(this.docs[0]))for(let I=0;I<g;I++){const e=this._createStringRecord(this.docs[I],I);e&&(this.records[A++]=e)}else for(let I=0;I<g;I++)this.records[A++]=this._createObjectRecord(this.docs[I],I);this.records.length=A,this.norm.clear()}add(g,A){if(!Number.isInteger(A)||A<0)throw new Error(RCg);if(dG(g)){const e=this._createStringRecord(g,A);return e&&this.records.push(e),e}const I=this._createObjectRecord(g,A);return this.records.push(I),I}removeAt(g){if(!Number.isInteger(g)||g<0)throw new Error(RCg);for(let A=0,I=this.records.length;A<I;A+=1)if(this.records[A].i===g){this.records.splice(A,1);break}for(let A=0,I=this.records.length;A<I;A+=1)this.records[A].i>g&&(this.records[A].i-=1)}removeAll(g){const A=new Set;for(const e of g)Number.isInteger(e)&&e>=0&&A.add(e);if(A.size===0)return;this.records=this.records.filter(e=>!A.has(e.i));const I=Array.from(A).sort((e,t)=>e-t);for(const e of this.records){let t=0,o=I.length;for(;t<o;){const B=t+o>>>1;I[B]<e.i?t=B+1:o=B}e.i-=t}}getValueForItemAtKeyId(g,A){return g[this._keysMap[A]]}size(){return this.records.length}_createStringRecord(g,A){return!xS(g)||$mA(g)?null:{v:g,i:A,n:this.norm.get(g)}}_createObjectRecord(g,A){const I={i:A,$:{}};for(let e=0,t=this.keys.length;e<t;e++){const o=this.keys[e],B=o.getFn?o.getFn(g):this.getFn(g,o.path);if(xS(B)){if(NL(B)){const C=[];for(let Q=0,i=B.length;Q<i;Q+=1){const E=B[Q];if(xS(E)){if(dG(E)){if(!$mA(E)){const n={v:E,i:Q,n:this.norm.get(E)};C.push(n)}}else if(xS(E.v)){const n=dG(E.v)?E.v:fCg(E.v);if(!$mA(n)){const s={v:n,i:E.i,n:this.norm.get(n)};C.push(s)}}}}I.$[e]=C}else if(dG(B)&&!$mA(B)){const C={v:B,n:this.norm.get(B)};I.$[e]=C}}}return I}toJSON(){return{keys:this.keys.map(({getFn:g,...A})=>A),records:this.records}}};function fPI(g,A,{getFn:I=cQ.getFn,fieldNormWeight:e=cQ.fieldNormWeight}={}){const t=new NCg({getFn:I,fieldNormWeight:e});return t.setKeys(g.map(MPI)),t.setSources(A),t.create(),t}function bko(g,{getFn:A=cQ.getFn,fieldNormWeight:I=cQ.fieldNormWeight}={}){const{keys:e,records:t}=g,o=new NCg({getFn:A,fieldNormWeight:I});return o.setKeys(e),o.setIndexRecords(t),o}function Hko(g=[],A=cQ.minMatchCharLength){const I=[];let e=-1,t=-1,o=0;for(let B=g.length;o<B;o+=1){const C=g[o];C&&e===-1?e=o:!C&&e!==-1&&(t=o-1,t-e+1>=A&&I.push([e,t]),e=-1)}return g[o-1]&&o-e>=A&&I.push([e,o-1]),I}function vko(g,A,I,{location:e=cQ.location,distance:t=cQ.distance,threshold:o=cQ.threshold,findAllMatches:B=cQ.findAllMatches,minMatchCharLength:C=cQ.minMatchCharLength,includeMatches:Q=cQ.includeMatches,ignoreLocation:i=cQ.ignoreLocation}={}){if(A.length>32)throw new Error(Fko(32));const E=A.length,n=g.length,s=Math.max(0,Math.min(e,n));let r=o,a=s;const c=(p,k)=>{const S=p/E;if(i)return S;const R=Math.abs(s-k);return t?S+R/t:R?1:S},h=C>1||Q,l=h?Array(n):[];let D;for(;(D=g.indexOf(A,a))>-1;){const p=c(0,D);if(r=Math.min(p,r),a=D+E,h){let k=0;for(;k<E;)l[D+k]=1,k+=1}}a=-1;let d=[],y=1,w=0,u=E+n;const G=1<<E-1;for(let p=0;p<E;p+=1){let k=0,S=u;for(;k<S;)c(p,s+S)<=r?k=S:u=S,S=Math.floor((u-k)/2+k);u=S;let R=Math.max(1,s-S+1);const x=B?n:Math.min(s+S,n)+E,N=Array(x+2);N[x+1]=(1<<p)-1;for(let U=x;U>=R;U-=1){const K=U-1,Y=I[g[K]];if(N[U]=(N[U+1]<<1|1)&Y,p&&(N[U]|=(d[U+1]|d[U])<<1|1|d[U+1]),N[U]&G&&(y=c(p,K),y<=r)){if(r=y,a=K,w=p,a<=s)break;R=Math.max(1,2*s-a)}}if(c(p+1,s)>r)break;d=N}if(h&&a>=0){const p=Math.min(n-1,a+E-1+w);for(let k=a;k<=p;k+=1)I[g[k]]&&(l[k]=1)}const m={isMatch:a>=0,score:Math.max(.001,y)};if(h){const p=Hko(l,C);p.length?Q&&(m.indices=p):m.isMatch=!1}return m}function Tko(g){const A={};for(let I=0,e=g.length;I<e;I+=1){const t=g.charAt(I);A[t]=(A[t]||0)|1<<e-I-1}return A}function xCg(g){if(g.length<=1)return g;g.sort((I,e)=>I[0]-e[0]||I[1]-e[1]);const A=[g[0]];for(let I=1,e=g.length;I<e;I+=1){const t=A[A.length-1],o=g[I];o[0]<=t[1]+1?t[1]=Math.max(t[1],o[1]):A.push(o)}return A}const RPI={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},qko=new RegExp("["+Object.keys(RPI).join("")+"]","g"),CoA=typeof String.prototype.normalize=="function"?g=>g.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(qko,A=>RPI[A]):g=>g;var FCg=class{constructor(g,{location:A=cQ.location,threshold:I=cQ.threshold,distance:e=cQ.distance,includeMatches:t=cQ.includeMatches,findAllMatches:o=cQ.findAllMatches,minMatchCharLength:B=cQ.minMatchCharLength,isCaseSensitive:C=cQ.isCaseSensitive,ignoreDiacritics:Q=cQ.ignoreDiacritics,ignoreLocation:i=cQ.ignoreLocation}={}){if(this.options={location:A,threshold:I,distance:e,includeMatches:t,findAllMatches:o,minMatchCharLength:B,isCaseSensitive:C,ignoreDiacritics:Q,ignoreLocation:i},g=C?g:g.toLowerCase(),g=Q?CoA(g):g,this.pattern=g,this.chunks=[],!this.pattern.length)return;const E=(s,r)=>{this.chunks.push({pattern:s,alphabet:Tko(s),startIndex:r})},n=this.pattern.length;if(n>32){let s=0;const r=n%32,a=n-r;for(;s<a;)E(this.pattern.substr(s,32),s),s+=32;if(r){const c=n-32;E(this.pattern.substr(c),c)}}else E(this.pattern,0)}searchIn(g){const{isCaseSensitive:A,ignoreDiacritics:I,includeMatches:e}=this.options;if(g=A?g:g.toLowerCase(),g=I?CoA(g):g,this.pattern===g){if(g.length<this.options.minMatchCharLength)return{isMatch:!1,score:1};const a={isMatch:!0,score:0};return e&&(a.indices=[[0,g.length-1]]),a}const{location:t,distance:o,threshold:B,findAllMatches:C,minMatchCharLength:Q,ignoreLocation:i}=this.options,E=[];let n=0,s=!1;this.chunks.forEach(({pattern:a,alphabet:c,startIndex:h})=>{const{isMatch:l,score:D,indices:d}=vko(g,a,c,{location:t+h,distance:o,threshold:B,findAllMatches:C,minMatchCharLength:Q,includeMatches:e,ignoreLocation:i});l&&(s=!0),n+=D,l&&d&&E.push(...d)});const r={isMatch:s,score:s?n/this.chunks.length:1};return s&&e&&(r.indices=xCg(E)),r}};const Zko=new Set(["fuzzy","include"]);function Oko(g){return g.startsWith("inverse")}const UCg=[{type:"exact",multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:g=>({type:"exact",search(A){const I=A===g;return{isMatch:I,score:I?0:1,indices:[0,g.length-1]}}})},{type:"include",multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:g=>({type:"include",search(A){let I=0,e;const t=[],o=g.length;for(;(e=A.indexOf(g,I))>-1;)I=e+o,t.push([e,I-1]);const B=!!t.length;return{isMatch:B,score:B?0:1,indices:t}}})},{type:"prefix-exact",multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:g=>({type:"prefix-exact",search(A){const I=A.startsWith(g);return{isMatch:I,score:I?0:1,indices:[0,g.length-1]}}})},{type:"inverse-prefix-exact",multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:g=>({type:"inverse-prefix-exact",search(A){const I=!A.startsWith(g);return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"inverse-suffix-exact",multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:g=>({type:"inverse-suffix-exact",search(A){const I=!A.endsWith(g);return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"suffix-exact",multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:g=>({type:"suffix-exact",search(A){const I=A.endsWith(g);return{isMatch:I,score:I?0:1,indices:[A.length-g.length,A.length-1]}}})},{type:"inverse-exact",multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:g=>({type:"inverse-exact",search(A){const I=A.indexOf(g)===-1;return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"fuzzy",multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(g,A={})=>{const I=new FCg(g,{location:A.location??cQ.location,threshold:A.threshold??cQ.threshold,distance:A.distance??cQ.distance,includeMatches:A.includeMatches??cQ.includeMatches,findAllMatches:A.findAllMatches??cQ.findAllMatches,minMatchCharLength:A.minMatchCharLength??cQ.minMatchCharLength,isCaseSensitive:A.isCaseSensitive??cQ.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics??cQ.ignoreDiacritics,ignoreLocation:A.ignoreLocation??cQ.ignoreLocation});return{type:"fuzzy",search(e){return I.searchIn(e)}}}}],NPI=UCg.length,Wko="\0",Vko="|";function jko(g){const A=[],I=g.length;let e=0;for(;e<I;){for(;e<I&&g[e]===" ";)e++;if(e>=I)break;let t=e;for(;t<I&&g[t]!==" "&&g[t]!=='"';)t++;if(t<I&&g[t]==='"'){for(t++;t<I;){if(g[t]==='"'){const o=t+1;if(o>=I||g[o]===" "){t++;break}if(g[o]==="$"&&(o+1>=I||g[o+1]===" ")){t+=2;break}}t++}A.push(g.substring(e,t)),e=t}else{for(;t<I&&g[t]!==" ";)t++;A.push(g.substring(e,t)),e=t}}return A}function xPI(g,A){const I=g.match(A);return I?I[1]:null}function zko(g,A={}){return g.replace(/\\\|/g,Wko).split(Vko).map(I=>{const e=jko(I.replace(/\u0000/g,"|").trim()).filter(o=>o&&!!o.trim()),t=[];for(let o=0,B=e.length;o<B;o+=1){const C=e[o];let Q=!1,i=-1;for(;!Q&&++i<NPI;){const E=UCg[i],n=xPI(C,E.multiRegex);n&&(t.push(E.create(n,A)),Q=!0)}if(!Q)for(i=-1;++i<NPI;){const E=UCg[i],n=xPI(C,E.singleRegex);if(n){t.push(E.create(n,A));break}}}return t})}var Xko=class{constructor(g,{isCaseSensitive:A=cQ.isCaseSensitive,ignoreDiacritics:I=cQ.ignoreDiacritics,includeMatches:e=cQ.includeMatches,minMatchCharLength:t=cQ.minMatchCharLength,ignoreLocation:o=cQ.ignoreLocation,findAllMatches:B=cQ.findAllMatches,location:C=cQ.location,threshold:Q=cQ.threshold,distance:i=cQ.distance}={}){this.query=null,this.options={isCaseSensitive:A,ignoreDiacritics:I,includeMatches:e,minMatchCharLength:t,findAllMatches:B,ignoreLocation:o,location:C,threshold:Q,distance:i},g=A?g:g.toLowerCase(),g=I?CoA(g):g,this.pattern=g,this.query=zko(this.pattern,this.options)}static condition(g,A){return A.useExtendedSearch}searchIn(g){const A=this.query;if(!A)return{isMatch:!1,score:1};const{includeMatches:I,isCaseSensitive:e,ignoreDiacritics:t}=this.options;g=e?g:g.toLowerCase(),g=t?CoA(g):g;let o=0;const B=[];let C=0,Q=!1;for(let i=0,E=A.length;i<E;i+=1){const n=A[i];B.length=0,o=0,Q=!1;for(let s=0,r=n.length;s<r;s+=1){const a=n[s],{isMatch:c,indices:h,score:l}=a.search(g);if(c)o+=1,C+=l,Oko(a.type)&&(Q=!0),I&&(Zko.has(a.type)?B.push(...h):B.push(h));else{C=0,o=0,B.length=0,Q=!1;break}}if(o){const s={isMatch:!0,score:C/o};return Q&&(s.hasInverse=!0),I&&(s.indices=xCg(B)),s}}return{isMatch:!1,score:1}}};const JCg=[];function PCg(...g){JCg.push(...g)}function gpA(g,A){for(let I=0,e=JCg.length;I<e;I+=1){const t=JCg[I];if(t.condition(g,A))return new t(g,A)}return new FCg(g,A)}const IpA={AND:"$and",OR:"$or"},KCg={PATH:"$path",PATTERN:"$val"},LCg=g=>!!(g[IpA.AND]||g[IpA.OR]),$ko=g=>!!g[KCg.PATH],AMo=g=>!NL(g)&&mPI(g)&&!LCg(g),FPI=g=>({[IpA.AND]:Object.keys(g).map(A=>({[A]:g[A]}))});function UPI(g,A,{auto:I=!0}={}){const e=t=>{if(dG(t)){const Q={keyId:null,pattern:t};return I&&(Q.searcher=gpA(t,A)),Q}const o=Object.keys(t),B=$ko(t);if(!B&&o.length>1&&!LCg(t))return e(FPI(t));if(AMo(t)){const Q=B?t[KCg.PATH]:o[0],i=B?t[KCg.PATTERN]:t[Q];if(!dG(i))throw new Error(xko(Q));const E={keyId:ApA(Q),pattern:i};return I&&(E.searcher=gpA(i,A)),E}const C={children:[],operator:o[0]};return o.forEach(Q=>{const i=t[Q];NL(i)&&i.forEach(E=>{C.children.push(e(E))})}),C};return LCg(g)||(g=FPI(g)),e(g)}function YCg(g,{ignoreFieldNorm:A=cQ.ignoreFieldNorm}){let I=1;return g.forEach(({key:e,norm:t,score:o})=>{const B=e?e.weight:null;I*=Math.pow(o===0&&B?Number.EPSILON:o,(B||1)*(A?1:t))}),I}function gMo(g,{ignoreFieldNorm:A=cQ.ignoreFieldNorm}){g.forEach(I=>{I.score=YCg(I.matches,{ignoreFieldNorm:A})})}var IMo=class{constructor(g,A){this.limit=g,this.heap=[],this.comparator=A}get size(){return this.heap.length}insert(g){this.size<this.limit?(this.heap.push(g),this._bubbleUp(this.size-1)):this.comparator(g,this.heap[0])<0&&(this.heap[0]=g,this._sinkDown(0))}extractSorted(){return this.heap.sort(this.comparator)}_bubbleUp(g){const A=this.heap;for(;g>0;){const I=g-1>>1;if(this.comparator(A[g],A[I])<=0)break;const e=A[g];A[g]=A[I],A[I]=e,g=I}}_sinkDown(g){const A=this.heap,I=A.length;let e=g;do{g=e;const t=2*g+1,o=2*g+2;if(t<I&&this.comparator(A[t],A[e])>0&&(e=t),o<I&&this.comparator(A[o],A[e])>0&&(e=o),e!==g){const B=A[g];A[g]=A[e],A[e]=B}}while(e!==g)}};function eMo(g){const A=[];return g.matches.forEach(I=>{if(!xS(I.indices)||!I.indices.length)return;const e={indices:I.indices,value:I.value};I.key&&(e.key=I.key.id),I.idx>-1&&(e.refIndex=I.idx),A.push(e)}),A}function tMo(g,A,{includeMatches:I=cQ.includeMatches,includeScore:e=cQ.includeScore}={}){return g.map(t=>{const{idx:o}=t,B={item:A[o],refIndex:o};return I&&(B.matches=eMo(t)),e&&(B.score=t.score),B})}const oMo=/[\p{L}\p{M}\p{N}_]+/gu,JPI=new WeakSet;function BMo(g){JPI.has(g)||(JPI.add(g),console.warn(`[Fuse] tokenize regex ${g} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function CMo(g){if(typeof g=="function"){let A=!1;return I=>{const e=g(I);if(!A&&(A=!0,!Array.isArray(e)||e.some(t=>typeof t!="string")))throw new Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(e)?"array containing non-strings":typeof e}.`);return e}}return g instanceof RegExp?(g.global||BMo(g),A=>A.match(g)||[]):A=>A.match(oMo)||[]}function _Cg({isCaseSensitive:g=!1,ignoreDiacritics:A=!1,tokenize:I}={}){const e=CMo(I);return{tokenize(t){return g||(t=t.toLowerCase()),A&&(t=CoA(t)),e(t)}}}var QMo=class{static condition(g,A){return A.useTokenSearch}constructor(g,A){this.options=A,this.analyzer=_Cg({isCaseSensitive:A.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics,tokenize:A.tokenize});const I=this.analyzer.tokenize(g),{df:e,fieldCount:t}=A._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(const o of I){this.termSearchers.push(new FCg(o,{location:A.location,threshold:A.threshold,distance:A.distance,includeMatches:A.includeMatches,findAllMatches:A.findAllMatches,minMatchCharLength:A.minMatchCharLength,isCaseSensitive:A.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics,ignoreLocation:!0}));const B=e.get(o)||0,C=Math.log(1+(t-B+.5)/(B+.5));this.idfWeights.push(C)}this.combineAll=A.tokenMatch==="all",this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(g){if(!this.termSearchers.length)return{isMatch:!1,score:1};const A=[];let I=0,e=0,t=0,o=0;const B=this.combineAll&&!this.useMask?new Set:null;for(let i=0;i<this.termSearchers.length;i++){const E=this.termSearchers[i].searchIn(g),n=this.idfWeights[i];e+=n,E.isMatch&&(t++,I+=n*(1-E.score),E.indices&&A.push(...E.indices),this.combineAll&&(this.useMask?o|=1<<i:B.add(i)))}if(t===0)return{isMatch:!1,score:1};const C=e>0?1-I/e:0,Q={isMatch:!0,score:Math.max(.001,C)};return this.options.includeMatches&&A.length&&(Q.indices=xCg(A)),this.combineAll&&(this.useMask?Q.matchedMask=o:Q.matchedTerms=B,Q.termCount=this.numTerms),Q}};function bCg(g,A,I,e){const t=e.tokenize(A);if(!t.length)return;g.fieldCount++,g.docFieldCount.set(I,(g.docFieldCount.get(I)||0)+1);const o=new Set(t);let B=g.docTermFieldHits.get(I);B||(B=new Map,g.docTermFieldHits.set(I,B));for(const C of o)B.set(C,(B.get(C)||0)+1),g.df.set(C,(g.df.get(C)||0)+1)}function PPI(g,A,I,e){const{i:t,v:o,$:B}=A;if(o!==void 0){bCg(g,o,t,e);return}if(B)for(let C=0;C<I;C++){const Q=B[C];if(Q)if(Array.isArray(Q))for(const i of Q)bCg(g,i.v,t,e);else bCg(g,Q.v,t,e)}}function iMo(g,A,I){const e={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(const t of g)PPI(e,t,A,I);return e}function EMo(g,A,I,e){PPI(g,A,I,e)}function nMo(g,A){const I=g.docFieldCount.get(A);if(I===void 0)return;g.fieldCount-=I,g.docFieldCount.delete(A);const e=g.docTermFieldHits.get(A);if(e){for(const[t,o]of e){const B=(g.df.get(t)||0)-o;B<=0?g.df.delete(t):g.df.set(t,B)}g.docTermFieldHits.delete(A)}}function KPI(g,A){if(A.length===0)return;const I=Array.from(new Set(A)).sort((C,Q)=>C-Q);for(const C of I)nMo(g,C);const e=C=>{let Q=0,i=I.length;for(;Q<i;){const E=Q+i>>>1;I[E]<C?Q=E+1:i=E}return C-Q},t=I[0],o=new Map;for(const[C,Q]of g.docFieldCount)o.set(C>t?e(C):C,Q);g.docFieldCount=o;const B=new Map;for(const[C,Q]of g.docTermFieldHits)B.set(C>t?e(C):C,Q);g.docTermFieldHits=B}var xL=class{constructor(g,A,I){this.options={...cQ,...A},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new Kko(this.options.keys),this._docs=g,this._myIndex=null,this._invertedIndex=null,this.setCollection(g,I),this._lastQuery=null,this._lastSearcher=null}_getSearcher(g){if(this._lastQuery===g)return this._lastSearcher;const A=gpA(g,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=g,this._lastSearcher=A,A}setCollection(g,A){if(this._docs=g,A&&!(A instanceof NCg))throw new Error(Nko);if(this._myIndex=A||fPI(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const I=_Cg({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=iMo(this._myIndex.records,this._myIndex.keys.length,I)}this._invalidateSearcherCache()}add(g){if(!xS(g))return;this._docs.push(g);const A=this._myIndex.add(g,this._docs.length-1);if(this._invertedIndex&&A){const I=_Cg({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});EMo(this._invertedIndex,A,this._myIndex.keys.length,I)}this._invalidateSearcherCache()}remove(g=()=>!1){const A=[],I=[];for(let e=0,t=this._docs.length;e<t;e+=1)g(this._docs[e],e)&&(A.push(this._docs[e]),I.push(e));if(I.length){this._invertedIndex&&KPI(this._invertedIndex,I);const e=new Set(I);this._docs=this._docs.filter((t,o)=>!e.has(o)),this._myIndex.removeAll(I),this._invalidateSearcherCache()}return A}removeAt(g){if(!Number.isInteger(g)||g<0||g>=this._docs.length)throw new Error(RCg);this._invertedIndex&&KPI(this._invertedIndex,[g]);const A=this._docs.splice(g,1)[0];return this._myIndex.removeAt(g),this._invalidateSearcherCache(),A}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(g=>this._keyStore.get(g.id)||g)}search(g,A){const{limit:I=-1}=A||{},{includeMatches:e,includeScore:t,shouldSort:o,sortFn:B,ignoreFieldNorm:C}=this.options;if(dG(g)&&!g.trim()){let s=this._docs.map((r,a)=>({item:r,refIndex:a}));return XmA(I)&&I>-1&&(s=s.slice(0,I)),s}const Q=o&&XmA(I)&&I>0&&dG(g),i=B,E=(s,r)=>i(s,r)||s.idx-r.idx;let n;if(Q){const s=new IMo(I,E);dG(this._docs[0])?this._searchStringList(g,{heap:s,ignoreFieldNorm:C}):this._searchObjectList(g,{heap:s,ignoreFieldNorm:C}),n=s.extractSorted()}else n=dG(g)?dG(this._docs[0])?this._searchStringList(g):this._searchObjectList(g):this._searchLogical(g),gMo(n,{ignoreFieldNorm:C}),o&&n.sort(dG(g)?E:i),XmA(I)&&I>-1&&(n=n.slice(0,I));return tMo(n,this._docs,{includeMatches:e,includeScore:t})}_searchStringList(g,{heap:A,ignoreFieldNorm:I}={}){const e=this._getSearcher(g),t=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:o}=this._myIndex,B=A?null:[];return o.forEach(({v:C,i:Q,n:i})=>{if(!xS(C))return;const E=e.searchIn(C);if(E.isMatch){const n={score:E.score,value:C,norm:i,indices:E.indices};t&&(n.matchedMask=E.matchedMask,n.matchedTerms=E.matchedTerms,n.termCount=E.termCount);const s=[n];if(!t||this._coversAllTokens(s)){const r={item:C,idx:Q,matches:s};A?(r.score=YCg(r.matches,{ignoreFieldNorm:I}),A.insert(r)):B.push(r)}}}),B}_searchLogical(g){const A=UPI(g,this.options),I=this._normalizedKeys(),e=(C,Q,i)=>{if(!("children"in C)){const{keyId:r,searcher:a}=C;let c;return r===null?(c=[],I.forEach((h,l)=>{c.push(...this._findMatches({key:h,value:Q[l],searcher:a}))})):c=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(Q,r),searcher:a}),c&&c.length?[{idx:i,item:Q,matches:c}]:[]}const{children:E,operator:n}=C,s=[];for(let r=0,a=E.length;r<a;r+=1){const c=E[r],h=e(c,Q,i);if(h.length)s.push(...h);else if(n===IpA.AND)return[]}return s},t=this._myIndex.records,o=new Map,B=[];return t.forEach(({$:C,i:Q})=>{if(xS(C)){const i=e(A,C,Q);i.length&&(o.has(Q)||(o.set(Q,{idx:Q,item:C,matches:[]}),B.push(o.get(Q))),i.forEach(({matches:E})=>{o.get(Q).matches.push(...E)}))}}),B}_searchObjectList(g,{heap:A,ignoreFieldNorm:I}={}){const e=this._getSearcher(g),t=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:o}=this._myIndex,B=this._normalizedKeys(),C=A?null:[];return o.forEach(({$:Q,i})=>{if(!xS(Q))return;const E=[];let n=!1,s=!1;if(B.forEach((r,a)=>{const c=this._findMatches({key:r,value:Q[a],searcher:e});c.length?(E.push(...c),c[0].hasInverse&&(s=!0)):n=!0}),!(s&&n)&&E.length&&(!t||this._coversAllTokens(E))){const r={idx:i,item:Q,matches:E};A?(r.score=YCg(r.matches,{ignoreFieldNorm:I}),A.insert(r)):C.push(r)}}),C}_findMatches({key:g,value:A,searcher:I}){if(!xS(A))return[];const e=[];if(NL(A))A.forEach(({v:t,i:o,n:B})=>{if(!xS(t))return;const C=I.searchIn(t);if(C.isMatch){const Q={score:C.score,key:g,value:t,idx:o,norm:B,indices:C.indices,hasInverse:C.hasInverse};C.termCount!==void 0&&(Q.matchedMask=C.matchedMask,Q.matchedTerms=C.matchedTerms,Q.termCount=C.termCount),e.push(Q)}});else{const{v:t,n:o}=A,B=I.searchIn(t);if(B.isMatch){const C={score:B.score,key:g,value:t,norm:o,indices:B.indices,hasInverse:B.hasInverse};B.termCount!==void 0&&(C.matchedMask=B.matchedMask,C.matchedTerms=B.matchedTerms,C.termCount=B.termCount),e.push(C)}}return e}_coversAllTokens(g){const A=g.length?g[0].termCount:void 0;if(A===void 0)return!0;if(A<=31){let e=0;for(let t=0;t<g.length;t++)e|=g[t].matchedMask||0;return e===2**A-1}const I=new Set;for(let e=0;e<g.length;e++){const t=g[e].matchedTerms;if(t)for(const o of t)I.add(o)}return I.size===A}};xL.version="7.5.0",xL.createIndex=fPI,xL.parseIndex=bko,xL.config=cQ,xL.match=function(g,A,I){if(I&&I.useTokenSearch)throw new Error(Pko);return gpA(g,{...cQ,...I}).searchIn(A)},xL.parseQuery=UPI,PCg(Xko),PCg(QMo),xL.use=function(...g){g.forEach(A=>PCg(A))};var sMo=xL;const aMo="https://kicad-mod-cache.tscircuit.com";let HCg=null,QoA=null,vCg=null;const rMo=async()=>HCg||QoA||(QoA=fetch("https://kicad-mod-cache.tscircuit.com/kicad_files.json").then(g=>g.json()).then(g=>(HCg=g,QoA=null,g)),QoA),cMo=async(g,A=20)=>{const I=await rMo();return vCg||(vCg=new sMo(I)),vCg.search(g).slice(0,A).map(e=>e.item)},hMo=g=>{const A=g.replace(".pretty/","/").replace(".kicad_mod",""),I=`kicad:${A}`;return{path:g,qualifiedName:I,description:A}},lMo=g=>g.replace(/^\/+/,"").split("/").map(A=>encodeURIComponent(A)).join("/"),DMo=async g=>{const A=await fetch(`${aMo}/${lMo(g)}`);if(!A.ok)throw new Error(`KiCad footprint fetch failed: ${A.status}`);const I=await A.text(),{KicadFootprintToCircuitJsonConverter:e}=await NS("kicad-to-circuit-json"),t=new e;return t.addFile(g.split("/").pop()??"selected-footprint.kicad_mod",I),t.runUntilFinished(),t.getOutput()},LPI=g=>g?.source==="jlcpcb"||g?.source==="kicad",dMo=async(g,A)=>{if(g.source==="jlcpcb")return Mko(g.component.partNumber,A?.jlcpcb);if(g.source==="kicad")return DMo(g.footprint.path);throw new Error("Footprint preview is not available for this source")},yMo=({query:g,placeholder:A,isSearching:I,onQueryChange:e,onSubmit:t})=>{const o=z.useCallback(B=>{B.key==="Enter"&&(B.preventDefault(),t())},[t]);return T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2 rf-mt-4",children:[T.jsxs("div",{className:"rf-relative rf-flex-grow",children:[T.jsx(Pog,{className:"rf-absolute rf-left-2 rf-top-2.5 rf-h-4 rf-w-4 rf-text-muted-foreground"}),T.jsx(QCg,{placeholder:A,className:"rf-pl-8",spellCheck:!1,autoComplete:"off",value:g,onChange:B=>e(B.target.value),onKeyDown:o})]}),T.jsx(si,{onClick:t,disabled:I||g.trim().length<1,className:"sm:rf-px-4 rf-px-3",children:I?T.jsx(pS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):T.jsxs(T.Fragment,{children:[T.jsx(Pog,{className:"rf-h-4 rf-w-4 sm:rf-hidden"}),T.jsx("span",{className:"rf-hidden sm:rf-inline",children:"Search"})]})})]})},wMo=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}),uMo=g=>wMo.format(g),YPI=g=>{switch(g.source){case"tscircuit.com":{const A=g.package;return`tscircuit-${A.package_id??`${A.org_owner_tscircuit_handle??"unknown"}-${A.unscoped_name??A.name??"package"}`}`}case"jlcpcb":return`jlc-${g.component.lcscId}`;case"kicad":return`kicad-${g.footprint.path}`;default:return"unknown"}},GMo=g=>{switch(g.source){case"tscircuit.com":return g.package.unscoped_name;case"jlcpcb":return g.component.isDirectLookup?g.component.partNumber:g.component.manufacturer;case"kicad":return g.footprint.qualifiedName}},mMo=g=>{switch(g.source){case"tscircuit.com":return g.package.description||(g.package.org_owner_tscircuit_handle?`Component by ${g.package.org_owner_tscircuit_handle}`:void 0);case"jlcpcb":return g.component.description;case"kicad":return g.footprint.description}},pMo=g=>{switch(g.source){case"tscircuit.com":return g.package.name;case"jlcpcb":return g.component.isDirectLookup?void 0:g.component.partNumber;case"kicad":return}},kMo=({results:g,selected:A,onSelect:I,onShowDetails:e})=>{const t=A?YPI(A):null;return T.jsx("div",{className:"rf-divide-y rf-w-full rf-overflow-hidden",children:g.map(o=>{const B=YPI(o),C=t===B,Q=GMo(o),i=mMo(o),E=pMo(o),n=o.source==="jlcpcb"?o.component.stock:null,s=o.source==="jlcpcb"?o.component.price:null,r=o.source==="jlcpcb"?o.component.isBasic:null,a=o.source==="jlcpcb"?o.component.isDirectLookup:!1;return T.jsxs("div",{className:`rf-p-3 rf-flex rf-flex-col sm:rf-grid sm:rf-grid-cols-[minmax(0,1fr)_auto] rf-items-start sm:rf-items-center rf-cursor-pointer hover:rf-bg-zinc-100 rf-gap-2 rf-overflow-hidden ${C?"rf-bg-zinc-100":""}`,onClick:()=>I(o),children:[T.jsxs("div",{className:"rf-min-w-0 rf-overflow-hidden rf-w-full",children:[T.jsxs("div",{className:"rf-flex rf-items-start rf-gap-2 rf-min-w-0",children:[T.jsxs("div",{className:"rf-font-medium rf-text-sm rf-truncate rf-flex-1 rf-min-w-0 rf-flex rf-items-center rf-gap-1.5",children:[Q,o.source==="jlcpcb"&&r!=null&&T.jsx("span",{className:`rf-text-xs rf-px-1.5 rf-py-0.5 rf-rounded rf-font-medium rf-flex-shrink-0 ${r?"rf-bg-green-100 rf-text-green-700":"rf-bg-orange-100 rf-text-orange-700"}`,children:r?"Basic":"Extended"}),a&&T.jsx("span",{className:"rf-text-xs rf-px-1.5 rf-py-0.5 rf-rounded rf-font-medium rf-flex-shrink-0 rf-bg-blue-100 rf-text-blue-700",children:"Direct lookup"}),o.source==="tscircuit.com"&&o.package.is_private&&T.jsx(Tro,{className:"rf-ml-1 rf-h-3 rf-w-3 rf-text-zinc-400 rf-flex-shrink-0"})]}),o.source==="jlcpcb"&&n!=null?T.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0 sm:rf-hidden",children:[n.toLocaleString()," in stock"]}):null]}),T.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-truncate rf-w-full",children:[E?T.jsx("span",{className:"rf-mr-2",children:E}):null,i]})]}),T.jsxs("div",{children:[o.source==="tscircuit.com"&&e?T.jsx("div",{className:"rf-flex-shrink-0 rf-w-full sm:rf-w-auto",children:T.jsx(si,{variant:"outline",size:"sm",className:"rf-text-xs rf-w-full sm:rf-w-auto",onClick:c=>{c.stopPropagation(),e(o)},children:"See Details"})}):o.source==="jlcpcb"&&n!=null?T.jsxs("div",{className:"rf-hidden sm:rf-block rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0",children:[n.toLocaleString()," in stock"]}):null,s!=null&&T.jsx("div",{className:"rf-hidden sm:rf-block rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0 rf-text-right",children:uMo(s)})]})]},B)})})},MMo=({circuitJson:g,error:A,isLoading:I,height:e})=>T.jsx("section",{className:"rf-flex rf-min-w-0 rf-items-center rf-justify-center",style:{height:e},children:I?T.jsxs("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-gap-2 rf-bg-zinc-950 rf-text-sm rf-text-zinc-300",style:{height:e},children:[T.jsx(pS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}),"Loading preview..."]}):A?T.jsx("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-bg-zinc-950 rf-p-4",style:{height:e},children:T.jsxs("div",{className:"rf-flex rf-max-w-[320px] rf-items-start rf-gap-2 rf-text-sm rf-text-zinc-300",children:[T.jsx(Uog,{className:"rf-mt-0.5 rf-h-4 rf-w-4 rf-flex-shrink-0"}),T.jsx("span",{children:A})]})}):g?T.jsx("div",{className:"rf-w-full rf-min-w-0 rf-overflow-hidden",children:T.jsx(Nog,{circuitJson:g,height:e,allowEditing:!1,clickToInteractEnabled:!1,focusOnHover:!1,disablePcbGroups:!0})}):T.jsx("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-bg-zinc-950 rf-text-sm rf-text-zinc-300",style:{height:e},children:"No preview"})}),_PI={importComponentDialog:101,importComponentDetailsDialog:102},SMo=({packageResult:g,isOpen:A,onOpenChange:I,isLoading:e,details:t,previewTab:o,onPreviewTabChange:B,isSubmitting:C,onImport:Q})=>{const i=g?.package??null,E=i?.latest_pcb_preview_image_url,n=i?.latest_sch_preview_image_url,s=i?.latest_cad_preview_image_url,r=i?.unscoped_name?.split("/").pop()??i?.unscoped_name,a=i?.org_owner_tscircuit_handle??void 0,c=a?`https://tscircuit.com/${a}`:void 0,h=a&&r?`https://tscircuit.com/${a}/${r}`:void 0;return T.jsx(Ub,{open:A,onOpenChange:I,children:T.jsxs(SL,{showOverlay:!1,style:{width:"calc(100vw - 2rem)",zIndex:_PI.importComponentDetailsDialog},className:"rf-max-w-5xl no-scrollbar !rf-overflow-y-auto rf-max-h-[90vh] rf-overflow-hidden rf-flex rf-flex-col rf-rounded-sm",children:[T.jsx(fL,{className:"rf-pb-4 rf-border-b",children:T.jsx("div",{className:"rf-flex rf-items-start rf-justify-between rf-gap-4",children:T.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[T.jsx(RL,{className:"rf-text-xl rf-font-semibold rf-truncate",children:r}),T.jsx(Jb,{children:i?.description})]})})}),T.jsxs("div",{className:"rf-flex-1 rf-overflow-y-auto rf-py-4 rf-space-y-6",children:[a?T.jsxs("div",{children:[T.jsx("span",{className:"rf-text-xs rf-font-medium rf-text-gray-500 rf-uppercase rf-tracking-wide",children:"Created by"}),T.jsx("div",{className:"rf-mt-1 rf-text-sm rf-font-medium",children:c?T.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"rf-text-black hover:rf-underline",children:a}):a})]}):null,(s||E||n)&&T.jsx(T.Fragment,{children:T.jsxs("div",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Preview"}),T.jsxs(KvA,{value:o,onValueChange:l=>B(l),children:[T.jsxs(FDA,{className:"rf-inline-flex rf-h-9 rf-items-center rf-justify-center rf-rounded-lg rf-bg-zinc-100 rf-p-1 rf-text-zinc-500 dark:rf-bg-zinc-800 dark:rf-text-zinc-400",children:[E&&T.jsx(Gx,{value:"pcb",children:"PCB"}),n&&T.jsx(Gx,{value:"schematic",children:"Schematic"}),s&&T.jsx(Gx,{value:"3d",children:"3D"})]}),T.jsxs("div",{className:"rf-mt-4",children:[T.jsx(Ny,{value:"pcb",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:E?T.jsx("img",{src:E,alt:`${r??"package"} PCB preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),T.jsx(Ny,{value:"schematic",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:n?T.jsx("img",{src:n,alt:`${r??"package"} schematic preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),T.jsx(Ny,{value:"3d",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:s?T.jsx("img",{src:s,alt:`${r??"package"} 3D preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null})]})]})]})}),t?.ai_description?T.jsxs("section",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"AI Description"}),T.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed",children:t.ai_description})})]}):null,t?.ai_usage_instructions?T.jsxs("section",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"Usage Instructions"}),T.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed rf-whitespace-pre-wrap",children:t.ai_usage_instructions})})]}):null,e?T.jsxs("div",{className:"rf-flex rf-justify-center rf-items-center rf-gap-2 rf-text-gray-500",children:[T.jsx(pS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}),T.jsx("span",{className:"rf-text-sm",children:"Loading package details..."})]}):null]}),T.jsxs(JO,{className:"rf-pt-4 rf-border-t rf-flex rf-flex-col sm:rf-flex-row rf-justify-between rf-gap-2",children:[T.jsx("div",{className:"rf-flex-1",children:h?T.jsxs(si,{variant:"outline",size:"sm",className:"rf-gap-2 rf-w-full sm:rf-w-auto",onClick:()=>window.open(h,"_blank"),children:[T.jsx(Kro,{className:"rf-h-4 rf-w-4"}),"View on tscircuit.com"]}):null}),T.jsxs("div",{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[T.jsx(si,{variant:"outline",onClick:()=>I(!1),className:"rf-order-2 sm:rf-order-1",children:"Close"}),T.jsx(si,{onClick:Q,disabled:C,className:"rf-bg-blue-600 hover:rf-bg-blue-700",children:C?T.jsx(pS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import Component"})]})]})]})})},fMo=()=>{const[g,A]=z.useState(null),[I,e]=z.useState(!1),t=z.useCallback(async(B,C)=>{e(!0);try{const Q=await fetch(`https://api.tscircuit.com/packages/get?name=${encodeURIComponent(`${B}/${C}`)}`);if(!Q.ok)throw new Error(`Failed to load package details: ${Q.status}`);const i=await Q.json();A(i.package??null)}catch(Q){console.error("Failed to fetch package details",Q),A(null)}finally{e(!1)}},[]),o=z.useCallback(()=>{A(null),e(!1)},[]);return{details:g,isLoading:I,fetchDetails:t,reset:o}},RMo=(g,A)=>{const[I,e]=z.useState({circuitJson:null,error:null,isLoading:!1});return z.useEffect(()=>{if(!g||!LPI(g)){e({circuitJson:null,error:null,isLoading:!1});return}let t=!1;return e({circuitJson:null,error:null,isLoading:!0}),dMo(g,A).then(o=>{t||e({circuitJson:o,error:null,isLoading:!1})}).catch(o=>{t||e({circuitJson:null,error:o instanceof Error?o.message:"Failed to load footprint preview",isLoading:!1})}),()=>{t=!0}},[g,A]),I},NMo=async(g,A)=>{const I={"Content-Type":"application/json"};A&&(I.Authorization=`Bearer ${A}`);const e=await fetch("https://registry-api.tscircuit.com/packages/search",{method:"POST",headers:I,body:JSON.stringify({query:g})});if(!e.ok)throw new Error(`tscircuit registry error: ${e.status}`);return(await e.json()).packages??[]},xMo=({sessionToken:g})=>{const[A,I]=z.useState([]),[e,t]=z.useState(!1),[o,B]=z.useState(null),[C,Q]=z.useState(!1),i=z.useCallback(async n=>{const s=n.trim();if(!s)return[];t(!0),B(null);try{const a=(await NMo(s,g)).map(c=>({source:"tscircuit.com",package:c}));return I(a),a}catch(r){return console.error("Error searching tscircuit packages",r),I([]),B(r instanceof Error?r.message:"Failed to search tscircuit packages"),[]}finally{t(!1),Q(!0)}},[g]),E=z.useCallback(()=>{I([]),t(!1),B(null),Q(!1)},[]);return{results:A,isSearching:e,error:o,hasSearched:C,search:i,reset:E}},FMo=g=>{const A=/^C(\d+)$/i.exec(g.trim());if(!A)return null;const I=Number(A[1]);if(!Number.isSafeInteger(I))return null;const e=`C${A[1]}`;return{source:"jlcpcb",component:{lcscId:I,manufacturer:e,partNumber:e,description:"Import directly from EasyEDA; stock and availability are unknown",package:"",isDirectLookup:!0}}},bPI=(g,A)=>{const I=FMo(g);return I?A.some(t=>t.component.partNumber.toUpperCase()===I.component.partNumber)?A:[I,...A]:A},UMo=g=>{const A=g.trim();return/^C\d+/i.test(A)?A.replace(/^C/i,""):A},JMo=()=>{const[g,A]=z.useState([]),[I,e]=z.useState(!1),[t,o]=z.useState(null),[B,C]=z.useState(!1),Q=z.useCallback(async E=>{const n=UMo(E);if(!n)return[];e(!0),o(null);try{const s=await mko(n,10),r=bPI(E,s.map(a=>({source:"jlcpcb",component:pko(a)})));return A(r),r}catch(s){console.error("Error searching JLCPCB components",s);const r=bPI(E,[]);return A(r),o(r.length>0?null:s instanceof Error?s.message:"Failed to search JLCPCB components"),r}finally{e(!1),C(!0)}},[]),i=z.useCallback(()=>{A([]),e(!1),o(null),C(!1)},[]);return{results:g,isSearching:I,error:t,hasSearched:B,search:Q,reset:i}},PMo=()=>{const[g,A]=z.useState([]),[I,e]=z.useState(!1),[t,o]=z.useState(null),[B,C]=z.useState(!1),Q=z.useCallback(async E=>{const n=E.trim();if(!n)return[];e(!0),o(null);try{const r=(await cMo(n,20)).map(a=>({source:"kicad",footprint:hMo(a)}));return A(r),r}catch(s){return console.error("Error searching KiCad footprints",s),A([]),o(s instanceof Error?s.message:"Failed to search KiCad footprints"),[]}finally{e(!1),C(!0)}},[]),i=z.useCallback(()=>{A([]),e(!1),o(null),C(!1)},[]);return{results:g,isSearching:I,error:t,hasSearched:B,search:Q,reset:i}},KMo=({onTscircuitPackageSelected:g,onJlcpcbComponentTsxLoaded:A,onKicadStringSelected:I})=>{const e=[];return g&&e.push("tscircuit.com"),A&&e.push("jlcpcb"),I&&e.push("kicad"),e},LMo=({isOpen:g,onClose:A,jlcpcbProxyRequestHeaders:I,onKicadStringSelected:e,onTscircuitPackageSelected:t,onJlcpcbComponentTsxLoaded:o,jlcpcbProxyApiBase:B,tscircuitSessionToken:C})=>{eoA();const Q=z.useMemo(()=>KMo({onKicadStringSelected:e,onTscircuitPackageSelected:t,onJlcpcbComponentTsxLoaded:o}),[e,t,o]),i=Q.length>0,E=Q.length===1,[n,s]=z.useState(Q[0]??"tscircuit.com"),[r,a]=z.useState(""),[c,h]=z.useState(null),{results:l,isSearching:D,error:d,hasSearched:y,search:w,reset:u}=xMo({sessionToken:C}),{results:G,isSearching:m,error:p,hasSearched:k,search:S,reset:R}=JMo(),{results:x,isSearching:N,error:U,hasSearched:K,search:Y,reset:b}=PMo(),{details:q,isLoading:j,fetchDetails:W,reset:Z}=fMo(),[gA,tA]=z.useState(null),[IA,QA]=z.useState(!1),[nA,DA]=z.useState("pcb"),[CA,hA]=z.useState(null),[sA,cA]=z.useState(!1),SA=z.useMemo(()=>({jlcpcb:{headers:I,apiBase:B}}),[B,I]),{circuitJson:FA,error:aA,isLoading:xA}=RMo(c,SA),RA=LPI(c);z.useEffect(()=>{hA(null)},[c]);const NA=z.useCallback(()=>{u(),R(),b(),h(null)},[R,b,u]);z.useEffect(()=>{g||(NA(),a(""),QA(!1),tA(null),hA(null))},[g,NA]),z.useEffect(()=>{a(""),h(null),n==="tscircuit.com"?u():n==="jlcpcb"?R():n==="kicad"&&b()},[n,R,b,u]);const HA=kA=>{h(kA),tA(kA),DA("pcb"),QA(!0),Z();const OA=kA.package.org_owner_tscircuit_handle,$A=kA.package.unscoped_name;if(OA&&$A){const og=$A.split("/").pop()??$A;W(OA,og)}},PA=async()=>{r.trim()&&(h(null),n==="tscircuit.com"?await w(r):n==="jlcpcb"?await S(r):n==="kicad"&&await Y(r))},GA=async kA=>{try{if(hA(null),cA(!0),kA.source==="kicad"){if(!e)throw new Error("KiCad handler not provided");await e({result:kA,footprint:kA.footprint.qualifiedName})}else if(kA.source==="jlcpcb"){if(!o)throw new Error("JLCPCB handler not provided");const OA=await kko(kA.component.partNumber,{headers:I,apiBase:B});await o({result:kA,tsx:OA})}else if(kA.source==="tscircuit.com"){if(!t)throw new Error("tscircuit package handler not provided");const OA=kA.package.org_owner_tscircuit_handle,$A=kA.package.unscoped_name;if(!OA||!$A)throw new Error("Missing package metadata");const og=$A.split("/").pop()??$A,dg=`@tsci/${OA}.${og}`;await t({result:kA,fullPackageName:dg})}return!0}catch(OA){return console.error("Failed to import component",OA),hA(OA instanceof Error?OA.message:"Failed to import component"),!1}finally{cA(!1)}};let LA=[],dA=!1,bA=null,WA=!1;n==="tscircuit.com"?(LA=l,dA=D,bA=d,WA=y):n==="jlcpcb"?(LA=G,dA=m,bA=p,WA=k):n==="kicad"&&(LA=x,dA=N,bA=U,WA=K);const Qg=async()=>{if(!c)return;await GA(c)&&(A(),NA(),a(""))},YA=kA=>{kA||A()},uA=kA=>{QA(kA),kA||tA(null)};return T.jsxs(Ub,{open:g,onOpenChange:YA,children:[T.jsxs(SL,{style:{width:"calc(100vw - 2rem)",maxWidth:RA?"min(1120px, calc(100vw - 2rem))":"min(672px, calc(100vw - 2rem))",zIndex:_PI.importComponentDialog},className:"rf-rounded-sm rf-max-h-[90vh] rf-overflow-y-auto rf-overflow-x-hidden rf-flex rf-flex-col",children:[T.jsxs(fL,{children:[T.jsxs(RL,{className:"rf-text-lg sm:rf-text-xl",children:["Import ",E?zmA[n].label:""," ","Component"]}),T.jsx(Jb,{className:"rf-text-sm",children:i?"Search for components from available sources.":"Import options are disabled because no handlers were provided."})]}),i?T.jsxs(KvA,{value:n,onValueChange:kA=>s(kA),className:"rf-min-w-0 rf-w-full",children:[!E&&T.jsx(FDA,{className:"rf-flex rf-w-full rf-gap-2",children:Q.map(kA=>T.jsx(Gx,{value:kA,className:"rf-flex-1 rf-text-xs sm:rf-text-sm",children:zmA[kA].label},kA))}),T.jsxs("div",{className:"rf-min-w-0",style:RA?{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(360px, 0.95fr)",gap:"1.5rem",alignItems:"start"}:void 0,children:[T.jsxs("div",{className:"rf-min-w-0",children:[T.jsx(yMo,{query:r,placeholder:zmA[n].placeholder,isSearching:dA,onQueryChange:a,onSubmit:PA}),T.jsx("div",{className:"no-scrollbar rf-mt-4 rf-flex-1 rf-min-h-[200px] !rf-max-h-[40vh] !rf-overflow-y-auto rf-overflow-x-hidden rf-border rf-rounded-md rf-min-w-0",children:dA?T.jsxs("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:[T.jsx(pS,{className:"rf-h-8 rf-w-8 rf-animate-spin rf-mx-auto rf-mb-2"}),T.jsx("p",{children:"Searching..."})]}):LA.length>0?T.jsx(kMo,{results:LA,selected:c,onSelect:h,onShowDetails:n==="tscircuit.com"?HA:void 0}):T.jsx("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:bA?`Error: ${bA}`:WA?zmA[n].emptyMessage:"Enter a search term to find components"})})]}),RA?T.jsx("div",{className:"rf-mt-4",children:T.jsx(MMo,{circuitJson:FA,error:aA,isLoading:xA,height:325})}):null]})]}):null,CA?T.jsx("div",{className:"rf-text-sm rf-text-red-600 rf-mt-2",children:CA}):null,T.jsxs(JO,{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[T.jsx(si,{variant:"outline",onClick:A,className:"rf-order-2 sm:rf-order-1",children:"Cancel"}),T.jsx(si,{onClick:Qg,disabled:!c||sA,className:"rf-order-1 sm:rf-order-2",children:sA?T.jsx(pS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import"})]})]}),T.jsx(SMo,{packageResult:gA,isOpen:IA,onOpenChange:uA,isLoading:j,details:q,previewTab:nA,onPreviewTabChange:kA=>DA(kA),isSubmitting:sA,onImport:()=>{gA&&GA(gA).then(kA=>{kA&&(QA(!1),A(),NA(),a(""))})}})]})},YMo=g=>{const A=g.match(/export const (\w+) =/);if(!A)throw new Error("Could not determine component name from TSX contents");return A[1]},HPI=g=>{const A=Uc(B=>B.pushEvent),I=Uc(B=>B.upsertFile),e=async({result:B,fullPackageName:C})=>{const i=B.package.unscoped_name??B.package.name;await KC.promise(A({event_type:"INSTALL_PACKAGE",full_package_name:C}),{loading:`Requesting install for "${i}"`,success:`Install requested for "${i}"`,error:E=>`Failed to request install: ${E instanceof Error?E.message:String(E)}`})},t=async({footprint:B})=>{await KC.promise(navigator.clipboard.writeText(B),{loading:`Copying "${B}"`,success:`Copied "${B}" to clipboard`,error:C=>`Failed to copy footprint: ${C instanceof Error?C.message:String(C)}`})},o=async({result:B,tsx:C})=>{const i=`imports/${YMo(C)}.tsx`;await KC.promise(I(i,C),{loading:`Importing ${B.component.partNumber}`,success:`Imported to "${i}"`,error:E=>`Failed to import component: ${E instanceof Error?E.message:String(E)}`})};return T.jsx(LMo,{...g,onTscircuitPackageSelected:e,onKicadStringSelected:t,onJlcpcbComponentTsxLoaded:o})};HPI.displayName="ImportComponentDialogForCli";const _Mo=async({circuitJson:g,projectName:A})=>{const{convertCircuitJsonToAltiumZip:I}=await Promise.resolve().then(()=>BTo),e=await I(g,A);return new Blob([new Uint8Array(e)],{type:"application/zip"})},bMo=async({circuitJson:g,projectName:A})=>{await KC.promise((async()=>{const I=await _Mo({circuitJson:g,projectName:A});Yk(I,{fileName:`${A}_altium_project.zip`})})(),{loading:"Generating Altium project...",success:"Altium project ZIP ready",error:I=>`Failed to generate Altium project: ${I instanceof Error?I.message:String(I)}`})};var TCg={exports:{}},vPI;function HMo(){return vPI||(vPI=1,(function(g,A){var I={env:{},version:""};(function(e){g.exports=e()})(function(){return(function e(t,o,B){function C(E,n){if(!o[E]){if(!t[E]){var s=typeof sU=="function"&&sU;if(!n&&s)return s(E,!0);if(Q)return Q(E,!0);var r=new Error("Cannot find module '"+E+"'");throw r.code="MODULE_NOT_FOUND",r}var a=o[E]={exports:{}};t[E][0].call(a.exports,function(c){var h=t[E][1][c];return C(h||c)},a,a.exports,e,t,o,B)}return o[E].exports}for(var Q=typeof sU=="function"&&sU,i=0;i<B.length;i++)C(B[i]);return C})({1:[function(e,t,o){var B=e("./utils"),C=e("./support"),Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";o.encode=function(i){for(var E,n,s,r,a,c,h,l=[],D=0,d=i.length,y=d,w=B.getTypeOf(i)!=="string";D<i.length;)y=d-D,s=w?(E=i[D++],n=D<d?i[D++]:0,D<d?i[D++]:0):(E=i.charCodeAt(D++),n=D<d?i.charCodeAt(D++):0,D<d?i.charCodeAt(D++):0),r=E>>2,a=(3&E)<<4|n>>4,c=1<y?(15&n)<<2|s>>6:64,h=2<y?63&s:64,l.push(Q.charAt(r)+Q.charAt(a)+Q.charAt(c)+Q.charAt(h));return l.join("")},o.decode=function(i){var E,n,s,r,a,c,h=0,l=0,D="data:";if(i.substr(0,D.length)===D)throw new Error("Invalid base64 input, it looks like a data url.");var d,y=3*(i=i.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(i.charAt(i.length-1)===Q.charAt(64)&&y--,i.charAt(i.length-2)===Q.charAt(64)&&y--,y%1!=0)throw new Error("Invalid base64 input, bad content length.");for(d=C.uint8array?new Uint8Array(0|y):new Array(0|y);h<i.length;)E=Q.indexOf(i.charAt(h++))<<2|(r=Q.indexOf(i.charAt(h++)))>>4,n=(15&r)<<4|(a=Q.indexOf(i.charAt(h++)))>>2,s=(3&a)<<6|(c=Q.indexOf(i.charAt(h++))),d[l++]=E,a!==64&&(d[l++]=n),c!==64&&(d[l++]=s);return d}},{"./support":30,"./utils":32}],2:[function(e,t,o){var B=e("./external"),C=e("./stream/DataWorker"),Q=e("./stream/Crc32Probe"),i=e("./stream/DataLengthProbe");function E(n,s,r,a,c){this.compressedSize=n,this.uncompressedSize=s,this.crc32=r,this.compression=a,this.compressedContent=c}E.prototype={getContentWorker:function(){var n=new C(B.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new i("data_length")),s=this;return n.on("end",function(){if(this.streamInfo.data_length!==s.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),n},getCompressedWorker:function(){return new C(B.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},E.createWorkerFrom=function(n,s,r){return n.pipe(new Q).pipe(new i("uncompressedSize")).pipe(s.compressWorker(r)).pipe(new i("compressedSize")).withStreamInfo("compression",s)},t.exports=E},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,o){var B=e("./stream/GenericWorker");o.STORE={magic:"\0\0",compressWorker:function(){return new B("STORE compression")},uncompressWorker:function(){return new B("STORE decompression")}},o.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,o){var B=e("./utils"),C=(function(){for(var Q,i=[],E=0;E<256;E++){Q=E;for(var n=0;n<8;n++)Q=1&Q?3988292384^Q>>>1:Q>>>1;i[E]=Q}return i})();t.exports=function(Q,i){return Q!==void 0&&Q.length?B.getTypeOf(Q)!=="string"?(function(E,n,s,r){var a=C,c=r+s;E^=-1;for(var h=r;h<c;h++)E=E>>>8^a[255&(E^n[h])];return-1^E})(0|i,Q,Q.length,0):(function(E,n,s,r){var a=C,c=r+s;E^=-1;for(var h=r;h<c;h++)E=E>>>8^a[255&(E^n.charCodeAt(h))];return-1^E})(0|i,Q,Q.length,0):0}},{"./utils":32}],5:[function(e,t,o){o.base64=!1,o.binary=!1,o.dir=!1,o.createFolders=!0,o.date=null,o.compression=null,o.compressionOptions=null,o.comment=null,o.unixPermissions=null,o.dosPermissions=null},{}],6:[function(e,t,o){var B=null;B=typeof Promise<"u"?Promise:e("lie"),t.exports={Promise:B}},{lie:37}],7:[function(e,t,o){var B=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",C=e("pako"),Q=e("./utils"),i=e("./stream/GenericWorker"),E=B?"uint8array":"array";function n(s,r){i.call(this,"FlateWorker/"+s),this._pako=null,this._pakoAction=s,this._pakoOptions=r,this.meta={}}o.magic="\b\0",Q.inherits(n,i),n.prototype.processChunk=function(s){this.meta=s.meta,this._pako===null&&this._createPako(),this._pako.push(Q.transformTo(E,s.data),!1)},n.prototype.flush=function(){i.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},n.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this._pako=null},n.prototype._createPako=function(){this._pako=new C[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var s=this;this._pako.onData=function(r){s.push({data:r,meta:s.meta})}},o.compressWorker=function(s){return new n("Deflate",s)},o.uncompressWorker=function(){return new n("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,o){function B(a,c){var h,l="";for(h=0;h<c;h++)l+=String.fromCharCode(255&a),a>>>=8;return l}function C(a,c,h,l,D,d){var y,w,u=a.file,G=a.compression,m=d!==E.utf8encode,p=Q.transformTo("string",d(u.name)),k=Q.transformTo("string",E.utf8encode(u.name)),S=u.comment,R=Q.transformTo("string",d(S)),x=Q.transformTo("string",E.utf8encode(S)),N=k.length!==u.name.length,U=x.length!==S.length,K="",Y="",b="",q=u.dir,j=u.date,W={crc32:0,compressedSize:0,uncompressedSize:0};c&&!h||(W.crc32=a.crc32,W.compressedSize=a.compressedSize,W.uncompressedSize=a.uncompressedSize);var Z=0;c&&(Z|=8),m||!N&&!U||(Z|=2048);var gA=0,tA=0;q&&(gA|=16),D==="UNIX"?(tA=798,gA|=(function(QA,nA){var DA=QA;return QA||(DA=nA?16893:33204),(65535&DA)<<16})(u.unixPermissions,q)):(tA=20,gA|=(function(QA){return 63&(QA||0)})(u.dosPermissions)),y=j.getUTCHours(),y<<=6,y|=j.getUTCMinutes(),y<<=5,y|=j.getUTCSeconds()/2,w=j.getUTCFullYear()-1980,w<<=4,w|=j.getUTCMonth()+1,w<<=5,w|=j.getUTCDate(),N&&(Y=B(1,1)+B(n(p),4)+k,K+="up"+B(Y.length,2)+Y),U&&(b=B(1,1)+B(n(R),4)+x,K+="uc"+B(b.length,2)+b);var IA="";return IA+=`
5671
5671
  \0`,IA+=B(Z,2),IA+=G.magic,IA+=B(y,2),IA+=B(w,2),IA+=B(W.crc32,4),IA+=B(W.compressedSize,4),IA+=B(W.uncompressedSize,4),IA+=B(p.length,2),IA+=B(K.length,2),{fileRecord:s.LOCAL_FILE_HEADER+IA+p+K,dirRecord:s.CENTRAL_FILE_HEADER+B(tA,2)+IA+B(R.length,2)+"\0\0\0\0"+B(gA,4)+B(l,4)+p+K+R}}var Q=e("../utils"),i=e("../stream/GenericWorker"),E=e("../utf8"),n=e("../crc32"),s=e("../signature");function r(a,c,h,l){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=c,this.zipPlatform=h,this.encodeFileName=l,this.streamFiles=a,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}Q.inherits(r,i),r.prototype.push=function(a){var c=a.meta.percent||0,h=this.entriesCount,l=this._sources.length;this.accumulate?this.contentBuffer.push(a):(this.bytesWritten+=a.data.length,i.prototype.push.call(this,{data:a.data,meta:{currentFile:this.currentFile,percent:h?(c+100*(h-l-1))/h:100}}))},r.prototype.openedSource=function(a){this.currentSourceOffset=this.bytesWritten,this.currentFile=a.file.name;var c=this.streamFiles&&!a.file.dir;if(c){var h=C(a,c,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:h.fileRecord,meta:{percent:0}})}else this.accumulate=!0},r.prototype.closedSource=function(a){this.accumulate=!1;var c=this.streamFiles&&!a.file.dir,h=C(a,c,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(h.dirRecord),c)this.push({data:(function(l){return s.DATA_DESCRIPTOR+B(l.crc32,4)+B(l.compressedSize,4)+B(l.uncompressedSize,4)})(a),meta:{percent:100}});else for(this.push({data:h.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},r.prototype.flush=function(){for(var a=this.bytesWritten,c=0;c<this.dirRecords.length;c++)this.push({data:this.dirRecords[c],meta:{percent:100}});var h=this.bytesWritten-a,l=(function(D,d,y,w,u){var G=Q.transformTo("string",u(w));return s.CENTRAL_DIRECTORY_END+"\0\0\0\0"+B(D,2)+B(D,2)+B(d,4)+B(y,4)+B(G.length,2)+G})(this.dirRecords.length,h,a,this.zipComment,this.encodeFileName);this.push({data:l,meta:{percent:100}})},r.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},r.prototype.registerPrevious=function(a){this._sources.push(a);var c=this;return a.on("data",function(h){c.processChunk(h)}),a.on("end",function(){c.closedSource(c.previous.streamInfo),c._sources.length?c.prepareNextSource():c.end()}),a.on("error",function(h){c.error(h)}),this},r.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},r.prototype.error=function(a){var c=this._sources;if(!i.prototype.error.call(this,a))return!1;for(var h=0;h<c.length;h++)try{c[h].error(a)}catch{}return!0},r.prototype.lock=function(){i.prototype.lock.call(this);for(var a=this._sources,c=0;c<a.length;c++)a[c].lock()},t.exports=r},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,o){var B=e("../compressions"),C=e("./ZipFileWorker");o.generateWorker=function(Q,i,E){var n=new C(i.streamFiles,E,i.platform,i.encodeFileName),s=0;try{Q.forEach(function(r,a){s++;var c=(function(d,y){var w=d||y,u=B[w];if(!u)throw new Error(w+" is not a valid compression method !");return u})(a.options.compression,i.compression),h=a.options.compressionOptions||i.compressionOptions||{},l=a.dir,D=a.date;a._compressWorker(c,h).withStreamInfo("file",{name:r,dir:l,date:D,comment:a.comment||"",unixPermissions:a.unixPermissions,dosPermissions:a.dosPermissions}).pipe(n)}),n.entriesCount=s}catch(r){n.error(r)}return n}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,o){function B(){if(!(this instanceof B))return new B;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var C=new B;for(var Q in this)typeof this[Q]!="function"&&(C[Q]=this[Q]);return C}}(B.prototype=e("./object")).loadAsync=e("./load"),B.support=e("./support"),B.defaults=e("./defaults"),B.version="3.10.2",B.loadAsync=function(C,Q){return new B().loadAsync(C,Q)},B.external=e("./external"),t.exports=B},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,o){var B=e("./utils"),C=e("./external"),Q=e("./utf8"),i=e("./zipEntries"),E=e("./stream/Crc32Probe"),n=e("./nodejsUtils");function s(r){return new C.Promise(function(a,c){var h=r.decompressed.getContentWorker().pipe(new E);h.on("error",function(l){c(l)}).on("end",function(){h.streamInfo.crc32!==r.decompressed.crc32?c(new Error("Corrupted zip : CRC32 mismatch")):a()}).resume()})}t.exports=function(r,a){var c=this;return a=B.extend(a||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:Q.utf8decode}),n.isNode&&n.isStream(r)?C.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):B.prepareContent("the loaded zip file",r,!0,a.optimizedBinaryString,a.base64).then(function(h){var l=new i(a);return l.load(h),l}).then(function(h){var l=[C.Promise.resolve(h)],D=h.files;if(a.checkCRC32)for(var d=0;d<D.length;d++)l.push(s(D[d]));return C.Promise.all(l)}).then(function(h){for(var l=h.shift(),D=l.files,d=0;d<D.length;d++){var y=D[d],w=y.fileNameStr,u=B.resolve(y.fileNameStr);c.file(u,y.decompressed,{binary:!0,optimizedBinaryString:!0,date:y.date,dir:y.dir,comment:y.fileCommentStr.length?y.fileCommentStr:null,unixPermissions:y.unixPermissions,dosPermissions:y.dosPermissions,createFolders:a.createFolders}),y.dir||(c.file(u).unsafeOriginalName=w)}return l.zipComment.length&&(c.comment=l.zipComment),c})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,o){var B=e("../utils"),C=e("../stream/GenericWorker");function Q(i,E){C.call(this,"Nodejs stream input adapter for "+i),this._upstreamEnded=!1,this._bindStream(E)}B.inherits(Q,C),Q.prototype._bindStream=function(i){var E=this;(this._stream=i).pause(),i.on("data",function(n){E.push({data:n,meta:{percent:0}})}).on("error",function(n){E.isPaused?this.generatedError=n:E.error(n)}).on("end",function(){E.isPaused?E._upstreamEnded=!0:E.end()})},Q.prototype.pause=function(){return!!C.prototype.pause.call(this)&&(this._stream.pause(),!0)},Q.prototype.resume=function(){return!!C.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=Q},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,o){var B=e("readable-stream").Readable;function C(Q,i,E){B.call(this,i),this._helper=Q;var n=this;Q.on("data",function(s,r){n.push(s)||n._helper.pause(),E&&E(r)}).on("error",function(s){n.emit("error",s)}).on("end",function(){n.push(null)})}e("../utils").inherits(C,B),C.prototype._read=function(){this._helper.resume()},t.exports=C},{"../utils":32,"readable-stream":16}],14:[function(e,t,o){t.exports={isNode:typeof Buffer<"u",newBufferFrom:function(B,C){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(B,C);if(typeof B=="number")throw new Error('The "data" argument must not be a number');return new Buffer(B,C)},allocBuffer:function(B){if(Buffer.alloc)return Buffer.alloc(B);var C=new Buffer(B);return C.fill(0),C},isBuffer:function(B){return Buffer.isBuffer(B)},isStream:function(B){return B&&typeof B.on=="function"&&typeof B.pause=="function"&&typeof B.resume=="function"}}},{}],15:[function(e,t,o){function B(u,G,m){var p,k=Q.getTypeOf(G),S=Q.extend(m||{},n);S.date=S.date||new Date,S.compression!==null&&(S.compression=S.compression.toUpperCase()),typeof S.unixPermissions=="string"&&(S.unixPermissions=parseInt(S.unixPermissions,8)),S.unixPermissions&&16384&S.unixPermissions&&(S.dir=!0),S.dosPermissions&&16&S.dosPermissions&&(S.dir=!0),S.dir&&(u=D(u)),S.createFolders&&(p=l(u))&&d.call(this,p,!0);var R=k==="string"&&S.binary===!1&&S.base64===!1;m&&m.binary!==void 0||(S.binary=!R),(G instanceof s&&G.uncompressedSize===0||S.dir||!G||G.length===0)&&(S.base64=!1,S.binary=!0,G="",S.compression="STORE",k="string");var x=null;x=G instanceof s||G instanceof i?G:c.isNode&&c.isStream(G)?new h(u,G):Q.prepareContent(u,G,S.binary,S.optimizedBinaryString,S.base64);var N=new r(u,x,S);this.files[u]=N}var C=e("./utf8"),Q=e("./utils"),i=e("./stream/GenericWorker"),E=e("./stream/StreamHelper"),n=e("./defaults"),s=e("./compressedObject"),r=e("./zipObject"),a=e("./generate"),c=e("./nodejsUtils"),h=e("./nodejs/NodejsStreamInputAdapter"),l=function(u){u.slice(-1)==="/"&&(u=u.substring(0,u.length-1));var G=u.lastIndexOf("/");return 0<G?u.substring(0,G):""},D=function(u){return u.slice(-1)!=="/"&&(u+="/"),u},d=function(u,G){return G=G!==void 0?G:n.createFolders,u=D(u),this.files[u]||B.call(this,u,null,{dir:!0,createFolders:G}),this.files[u]};function y(u){return Object.prototype.toString.call(u)==="[object RegExp]"}var w={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(u){var G,m,p;for(G in this.files)p=this.files[G],(m=G.slice(this.root.length,G.length))&&G.slice(0,this.root.length)===this.root&&u(m,p)},filter:function(u){var G=[];return this.forEach(function(m,p){u(m,p)&&G.push(p)}),G},file:function(u,G,m){if(arguments.length!==1)return u=this.root+u,B.call(this,u,G,m),this;if(y(u)){var p=u;return this.filter(function(S,R){return!R.dir&&p.test(S)})}var k=this.files[this.root+u];return k&&!k.dir?k:null},folder:function(u){if(!u)return this;if(y(u))return this.filter(function(k,S){return S.dir&&u.test(k)});var G=this.root+u,m=d.call(this,G),p=this.clone();return p.root=m.name,p},remove:function(u){u=this.root+u;var G=this.files[u];if(G||(u.slice(-1)!=="/"&&(u+="/"),G=this.files[u]),G&&!G.dir)delete this.files[u];else for(var m=this.filter(function(k,S){return S.name.slice(0,u.length)===u}),p=0;p<m.length;p++)delete this.files[m[p].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(u){var G,m={};try{if((m=Q.extend(u||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:C.utf8encode})).type=m.type.toLowerCase(),m.compression=m.compression.toUpperCase(),m.type==="binarystring"&&(m.type="string"),!m.type)throw new Error("No output type specified.");Q.checkSupport(m.type),m.platform!=="darwin"&&m.platform!=="freebsd"&&m.platform!=="linux"&&m.platform!=="sunos"||(m.platform="UNIX"),m.platform==="win32"&&(m.platform="DOS");var p=m.comment||this.comment||"";G=a.generateWorker(this,m,p)}catch(k){(G=new i("error")).error(k)}return new E(G,m.type||"string",m.mimeType)},generateAsync:function(u,G){return this.generateInternalStream(u).accumulate(G)},generateNodeStream:function(u,G){return(u=u||{}).type||(u.type="nodebuffer"),this.generateInternalStream(u).toNodejsStream(G)}};t.exports=w},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,o){t.exports=e("stream")},{stream:void 0}],17:[function(e,t,o){var B=e("./DataReader");function C(Q){B.call(this,Q);for(var i=0;i<this.data.length;i++)Q[i]=255&Q[i]}e("../utils").inherits(C,B),C.prototype.byteAt=function(Q){return this.data[this.zero+Q]},C.prototype.lastIndexOfSignature=function(Q){for(var i=Q.charCodeAt(0),E=Q.charCodeAt(1),n=Q.charCodeAt(2),s=Q.charCodeAt(3),r=this.length-4;0<=r;--r)if(this.data[r]===i&&this.data[r+1]===E&&this.data[r+2]===n&&this.data[r+3]===s)return r-this.zero;return-1},C.prototype.readAndCheckSignature=function(Q){var i=Q.charCodeAt(0),E=Q.charCodeAt(1),n=Q.charCodeAt(2),s=Q.charCodeAt(3),r=this.readData(4);return i===r[0]&&E===r[1]&&n===r[2]&&s===r[3]},C.prototype.readData=function(Q){if(this.checkOffset(Q),Q===0)return[];var i=this.data.slice(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,i},t.exports=C},{"../utils":32,"./DataReader":18}],18:[function(e,t,o){var B=e("../utils");function C(Q){this.data=Q,this.length=Q.length,this.index=0,this.zero=0}C.prototype={checkOffset:function(Q){this.checkIndex(this.index+Q)},checkIndex:function(Q){if(this.length<this.zero+Q||Q<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+Q+"). Corrupted zip ?")},setIndex:function(Q){this.checkIndex(Q),this.index=Q},skip:function(Q){this.setIndex(this.index+Q)},byteAt:function(){},readInt:function(Q){var i,E=0;for(this.checkOffset(Q),i=this.index+Q-1;i>=this.index;i--)E=(E<<8)+this.byteAt(i);return this.index+=Q,E},readString:function(Q){return B.transformTo("string",this.readData(Q))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var Q=this.readInt(4);return new Date(Date.UTC(1980+(Q>>25&127),(Q>>21&15)-1,Q>>16&31,Q>>11&31,Q>>5&63,(31&Q)<<1))}},t.exports=C},{"../utils":32}],19:[function(e,t,o){var B=e("./Uint8ArrayReader");function C(Q){B.call(this,Q)}e("../utils").inherits(C,B),C.prototype.readData=function(Q){this.checkOffset(Q);var i=this.data.slice(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,i},t.exports=C},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,o){var B=e("./DataReader");function C(Q){B.call(this,Q)}e("../utils").inherits(C,B),C.prototype.byteAt=function(Q){return this.data.charCodeAt(this.zero+Q)},C.prototype.lastIndexOfSignature=function(Q){return this.data.lastIndexOf(Q)-this.zero},C.prototype.readAndCheckSignature=function(Q){return Q===this.readData(4)},C.prototype.readData=function(Q){this.checkOffset(Q);var i=this.data.slice(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,i},t.exports=C},{"../utils":32,"./DataReader":18}],21:[function(e,t,o){var B=e("./ArrayReader");function C(Q){B.call(this,Q)}e("../utils").inherits(C,B),C.prototype.readData=function(Q){if(this.checkOffset(Q),Q===0)return new Uint8Array(0);var i=this.data.subarray(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,i},t.exports=C},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,o){var B=e("../utils"),C=e("../support"),Q=e("./ArrayReader"),i=e("./StringReader"),E=e("./NodeBufferReader"),n=e("./Uint8ArrayReader");t.exports=function(s){var r=B.getTypeOf(s);return B.checkSupport(r),r!=="string"||C.uint8array?r==="nodebuffer"?new E(s):C.uint8array?new n(B.transformTo("uint8array",s)):new Q(B.transformTo("array",s)):new i(s)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,o){o.LOCAL_FILE_HEADER="PK",o.CENTRAL_FILE_HEADER="PK",o.CENTRAL_DIRECTORY_END="PK",o.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",o.ZIP64_CENTRAL_DIRECTORY_END="PK",o.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(e,t,o){var B=e("./GenericWorker"),C=e("../utils");function Q(i){B.call(this,"ConvertWorker to "+i),this.destType=i}C.inherits(Q,B),Q.prototype.processChunk=function(i){this.push({data:C.transformTo(this.destType,i.data),meta:i.meta})},t.exports=Q},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,o){var B=e("./GenericWorker"),C=e("../crc32");function Q(){B.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(Q,B),Q.prototype.processChunk=function(i){this.streamInfo.crc32=C(i.data,this.streamInfo.crc32||0),this.push(i)},t.exports=Q},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,o){var B=e("../utils"),C=e("./GenericWorker");function Q(i){C.call(this,"DataLengthProbe for "+i),this.propName=i,this.withStreamInfo(i,0)}B.inherits(Q,C),Q.prototype.processChunk=function(i){if(i){var E=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=E+i.data.length}C.prototype.processChunk.call(this,i)},t.exports=Q},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,o){var B=e("../utils"),C=e("./GenericWorker");function Q(i){C.call(this,"DataWorker");var E=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,i.then(function(n){E.dataIsReady=!0,E.data=n,E.max=n&&n.length||0,E.type=B.getTypeOf(n),E.isPaused||E._tickAndRepeat()},function(n){E.error(n)})}B.inherits(Q,C),Q.prototype.cleanUp=function(){C.prototype.cleanUp.call(this),this.data=null},Q.prototype.resume=function(){return!!C.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,B.delay(this._tickAndRepeat,[],this)),!0)},Q.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(B.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},Q.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var i=null,E=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":i=this.data.substring(this.index,E);break;case"uint8array":i=this.data.subarray(this.index,E);break;case"array":case"nodebuffer":i=this.data.slice(this.index,E)}return this.index=E,this.push({data:i,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=Q},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,o){function B(C){this.name=C||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}B.prototype={push:function(C){this.emit("data",C)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(C){this.emit("error",C)}return!0},error:function(C){return!this.isFinished&&(this.isPaused?this.generatedError=C:(this.isFinished=!0,this.emit("error",C),this.previous&&this.previous.error(C),this.cleanUp()),!0)},on:function(C,Q){return this._listeners[C].push(Q),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(C,Q){if(this._listeners[C])for(var i=0;i<this._listeners[C].length;i++)this._listeners[C][i].call(this,Q)},pipe:function(C){return C.registerPrevious(this)},registerPrevious:function(C){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=C.streamInfo,this.mergeStreamInfo(),this.previous=C;var Q=this;return C.on("data",function(i){Q.processChunk(i)}),C.on("end",function(){Q.end()}),C.on("error",function(i){Q.error(i)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var C=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),C=!0),this.previous&&this.previous.resume(),!C},flush:function(){},processChunk:function(C){this.push(C)},withStreamInfo:function(C,Q){return this.extraStreamInfo[C]=Q,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var C in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,C)&&(this.streamInfo[C]=this.extraStreamInfo[C])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var C="Worker "+this.name;return this.previous?this.previous+" -> "+C:C}},t.exports=B},{}],29:[function(e,t,o){var B=e("../utils"),C=e("./ConvertWorker"),Q=e("./GenericWorker"),i=e("../base64"),E=e("../support"),n=e("../external"),s=null;if(E.nodestream)try{s=e("../nodejs/NodejsStreamOutputAdapter")}catch{}function r(c,h){return new n.Promise(function(l,D){var d=[],y=c._internalType,w=c._outputType,u=c._mimeType;c.on("data",function(G,m){d.push(G),h&&h(m)}).on("error",function(G){d=[],D(G)}).on("end",function(){try{var G=(function(m,p,k){switch(m){case"blob":return B.newBlob(B.transformTo("arraybuffer",p),k);case"base64":return i.encode(p);default:return B.transformTo(m,p)}})(w,(function(m,p){var k,S=0,R=null,x=0;for(k=0;k<p.length;k++)x+=p[k].length;switch(m){case"string":return p.join("");case"array":return Array.prototype.concat.apply([],p);case"uint8array":for(R=new Uint8Array(x),k=0;k<p.length;k++)R.set(p[k],S),S+=p[k].length;return R;case"nodebuffer":return Buffer.concat(p);default:throw new Error("concat : unsupported type '"+m+"'")}})(y,d),u);l(G)}catch(m){D(m)}d=[]}).resume()})}function a(c,h,l){var D=h;switch(h){case"blob":case"arraybuffer":D="uint8array";break;case"base64":D="string"}try{this._internalType=D,this._outputType=h,this._mimeType=l,B.checkSupport(D),this._worker=c.pipe(new C(D)),c.lock()}catch(d){this._worker=new Q("error"),this._worker.error(d)}}a.prototype={accumulate:function(c){return r(this,c)},on:function(c,h){var l=this;return c==="data"?this._worker.on(c,function(D){h.call(l,D.data,D.meta)}):this._worker.on(c,function(){B.delay(h,arguments,l)}),this},resume:function(){return B.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(c){if(B.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new s(this,{objectMode:this._outputType!=="nodebuffer"},c)}},t.exports=a},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,o){if(o.base64=!0,o.array=!0,o.string=!0,o.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",o.nodebuffer=typeof Buffer<"u",o.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")o.blob=!1;else{var B=new ArrayBuffer(0);try{o.blob=new Blob([B],{type:"application/zip"}).size===0}catch{try{var C=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);C.append(B),o.blob=C.getBlob("application/zip").size===0}catch{o.blob=!1}}}try{o.nodestream=!!e("readable-stream").Readable}catch{o.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,o){for(var B=e("./utils"),C=e("./support"),Q=e("./nodejsUtils"),i=e("./stream/GenericWorker"),E=new Array(256),n=0;n<256;n++)E[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;E[254]=E[254]=1;function s(){i.call(this,"utf-8 decode"),this.leftOver=null}function r(){i.call(this,"utf-8 encode")}o.utf8encode=function(a){return C.nodebuffer?Q.newBufferFrom(a,"utf-8"):(function(c){var h,l,D,d,y,w=c.length,u=0;for(d=0;d<w;d++)(64512&(l=c.charCodeAt(d)))==55296&&d+1<w&&(64512&(D=c.charCodeAt(d+1)))==56320&&(l=65536+(l-55296<<10)+(D-56320),d++),u+=l<128?1:l<2048?2:l<65536?3:4;for(h=C.uint8array?new Uint8Array(u):new Array(u),d=y=0;y<u;d++)(64512&(l=c.charCodeAt(d)))==55296&&d+1<w&&(64512&(D=c.charCodeAt(d+1)))==56320&&(l=65536+(l-55296<<10)+(D-56320),d++),l<128?h[y++]=l:(l<2048?h[y++]=192|l>>>6:(l<65536?h[y++]=224|l>>>12:(h[y++]=240|l>>>18,h[y++]=128|l>>>12&63),h[y++]=128|l>>>6&63),h[y++]=128|63&l);return h})(a)},o.utf8decode=function(a){return C.nodebuffer?B.transformTo("nodebuffer",a).toString("utf-8"):(function(c){var h,l,D,d,y=c.length,w=new Array(2*y);for(h=l=0;h<y;)if((D=c[h++])<128)w[l++]=D;else if(4<(d=E[D]))w[l++]=65533,h+=d-1;else{for(D&=d===2?31:d===3?15:7;1<d&&h<y;)D=D<<6|63&c[h++],d--;1<d?w[l++]=65533:D<65536?w[l++]=D:(D-=65536,w[l++]=55296|D>>10&1023,w[l++]=56320|1023&D)}return w.length!==l&&(w.subarray?w=w.subarray(0,l):w.length=l),B.applyFromCharCode(w)})(a=B.transformTo(C.uint8array?"uint8array":"array",a))},B.inherits(s,i),s.prototype.processChunk=function(a){var c=B.transformTo(C.uint8array?"uint8array":"array",a.data);if(this.leftOver&&this.leftOver.length){if(C.uint8array){var h=c;(c=new Uint8Array(h.length+this.leftOver.length)).set(this.leftOver,0),c.set(h,this.leftOver.length)}else c=this.leftOver.concat(c);this.leftOver=null}var l=(function(d,y){var w;for((y=y||d.length)>d.length&&(y=d.length),w=y-1;0<=w&&(192&d[w])==128;)w--;return w<0||w===0?y:w+E[d[w]]>y?w:y})(c),D=c;l!==c.length&&(C.uint8array?(D=c.subarray(0,l),this.leftOver=c.subarray(l,c.length)):(D=c.slice(0,l),this.leftOver=c.slice(l,c.length))),this.push({data:o.utf8decode(D),meta:a.meta})},s.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:o.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},o.Utf8DecodeWorker=s,B.inherits(r,i),r.prototype.processChunk=function(a){this.push({data:o.utf8encode(a.data),meta:a.meta})},o.Utf8EncodeWorker=r},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,o){var B=e("./support"),C=e("./base64"),Q=e("./nodejsUtils"),i=e("./external");function E(h){return h}function n(h,l){for(var D=0;D<h.length;++D)l[D]=255&h.charCodeAt(D);return l}e("setimmediate"),o.newBlob=function(h,l){o.checkSupport("blob");try{return new Blob([h],{type:l})}catch{try{var D=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return D.append(h),D.getBlob(l)}catch{throw new Error("Bug : can't construct the Blob.")}}};var s={stringifyByChunk:function(h,l,D){var d=[],y=0,w=h.length;if(w<=D)return String.fromCharCode.apply(null,h);for(;y<w;)l==="array"||l==="nodebuffer"?d.push(String.fromCharCode.apply(null,h.slice(y,Math.min(y+D,w)))):d.push(String.fromCharCode.apply(null,h.subarray(y,Math.min(y+D,w)))),y+=D;return d.join("")},stringifyByChar:function(h){for(var l="",D=0;D<h.length;D++)l+=String.fromCharCode(h[D]);return l},applyCanBeUsed:{uint8array:(function(){try{return B.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}})(),nodebuffer:(function(){try{return B.nodebuffer&&String.fromCharCode.apply(null,Q.allocBuffer(1)).length===1}catch{return!1}})()}};function r(h){var l=65536,D=o.getTypeOf(h),d=!0;if(D==="uint8array"?d=s.applyCanBeUsed.uint8array:D==="nodebuffer"&&(d=s.applyCanBeUsed.nodebuffer),d)for(;1<l;)try{return s.stringifyByChunk(h,D,l)}catch{l=Math.floor(l/2)}return s.stringifyByChar(h)}function a(h,l){for(var D=0;D<h.length;D++)l[D]=h[D];return l}o.applyFromCharCode=r;var c={};c.string={string:E,array:function(h){return n(h,new Array(h.length))},arraybuffer:function(h){return c.string.uint8array(h).buffer},uint8array:function(h){return n(h,new Uint8Array(h.length))},nodebuffer:function(h){return n(h,Q.allocBuffer(h.length))}},c.array={string:r,array:E,arraybuffer:function(h){return new Uint8Array(h).buffer},uint8array:function(h){return new Uint8Array(h)},nodebuffer:function(h){return Q.newBufferFrom(h)}},c.arraybuffer={string:function(h){return r(new Uint8Array(h))},array:function(h){return a(new Uint8Array(h),new Array(h.byteLength))},arraybuffer:E,uint8array:function(h){return new Uint8Array(h)},nodebuffer:function(h){return Q.newBufferFrom(new Uint8Array(h))}},c.uint8array={string:r,array:function(h){return a(h,new Array(h.length))},arraybuffer:function(h){return h.buffer},uint8array:E,nodebuffer:function(h){return Q.newBufferFrom(h)}},c.nodebuffer={string:r,array:function(h){return a(h,new Array(h.length))},arraybuffer:function(h){return c.nodebuffer.uint8array(h).buffer},uint8array:function(h){return a(h,new Uint8Array(h.length))},nodebuffer:E},o.transformTo=function(h,l){if(l=l||"",!h)return l;o.checkSupport(h);var D=o.getTypeOf(l);return c[D][h](l)},o.resolve=function(h){for(var l=h.split("/"),D=[],d=0;d<l.length;d++){var y=l[d];y==="."||y===""&&d!==0&&d!==l.length-1||(y===".."?D.pop():D.push(y))}return D.join("/")},o.getTypeOf=function(h){if(typeof h=="string")return"string";var l=Object.prototype.toString.call(h);return l==="[object Array]"?"array":B.nodebuffer&&Q.isBuffer(h)?"nodebuffer":B.uint8array&&l==="[object Uint8Array]"?"uint8array":B.arraybuffer&&l==="[object ArrayBuffer]"?"arraybuffer":void 0},o.checkSupport=function(h){if(!B[h.toLowerCase()])throw new Error(h+" is not supported by this platform")},o.MAX_VALUE_16BITS=65535,o.MAX_VALUE_32BITS=-1,o.pretty=function(h){var l,D,d="";for(D=0;D<(h||"").length;D++)d+="\\x"+((l=h.charCodeAt(D))<16?"0":"")+l.toString(16).toUpperCase();return d},o.delay=function(h,l,D){setImmediate(function(){h.apply(D||null,l||[])})},o.inherits=function(h,l){function D(){}D.prototype=l.prototype,h.prototype=new D},o.extend=function(){var h,l,D={};for(h=0;h<arguments.length;h++)for(l in arguments[h])Object.prototype.hasOwnProperty.call(arguments[h],l)&&D[l]===void 0&&(D[l]=arguments[h][l]);return D},o.prepareContent=function(h,l,D,d,y){return i.Promise.resolve(l).then(function(w){return B.blob&&(w instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(w))!==-1)?Blob.prototype.arrayBuffer!==void 0?w.arrayBuffer():typeof FileReader<"u"?new i.Promise(function(u,G){var m=new FileReader;m.onload=function(p){u(p.target.result)},m.onerror=function(p){G(p.target.error)},m.readAsArrayBuffer(w)}):i.Promise.reject(new Error(h+" is a Blob, but we have no way of reading it.")):w}).then(function(w){var u=o.getTypeOf(w);return u?(u==="arraybuffer"?w=o.transformTo("uint8array",w):u==="string"&&(y?w=C.decode(w):D&&d!==!0&&(w=(function(G){return n(G,B.uint8array?new Uint8Array(G.length):new Array(G.length))})(w))),w):i.Promise.reject(new Error("Can't read the data of '"+h+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,o){var B=e("./reader/readerFor"),C=e("./utils"),Q=e("./signature"),i=e("./zipEntry"),E=e("./support");function n(s){this.files=[],this.loadOptions=s}n.prototype={checkSignature:function(s){if(!this.reader.readAndCheckSignature(s)){this.reader.index-=4;var r=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+C.pretty(r)+", expected "+C.pretty(s)+")")}},isSignature:function(s,r){var a=this.reader.index;this.reader.setIndex(s);var c=this.reader.readString(4)===r;return this.reader.setIndex(a),c},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var s=this.reader.readData(this.zipCommentLength),r=E.uint8array?"uint8array":"array",a=C.transformTo(r,s);this.zipComment=this.loadOptions.decodeFileName(a)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var s,r,a,c=this.zip64EndOfCentralSize-44;0<c;)s=this.reader.readInt(2),r=this.reader.readInt(4),a=this.reader.readData(r),this.zip64ExtensibleData[s]={id:s,length:r,value:a}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var s,r;for(s=0;s<this.files.length;s++)r=this.files[s],this.reader.setIndex(r.localHeaderOffset),this.checkSignature(Q.LOCAL_FILE_HEADER),r.readLocalPart(this.reader),r.handleUTF8(),r.processAttributes()},readCentralDir:function(){var s;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(Q.CENTRAL_FILE_HEADER);)(s=new i({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(s);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var s=this.reader.lastIndexOfSignature(Q.CENTRAL_DIRECTORY_END);if(s<0)throw this.isSignature(0,Q.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(s);var r=s;if(this.checkSignature(Q.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===C.MAX_VALUE_16BITS||this.diskWithCentralDirStart===C.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===C.MAX_VALUE_16BITS||this.centralDirRecords===C.MAX_VALUE_16BITS||this.centralDirSize===C.MAX_VALUE_32BITS||this.centralDirOffset===C.MAX_VALUE_32BITS){if(this.zip64=!0,(s=this.reader.lastIndexOfSignature(Q.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(s),this.checkSignature(Q.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,Q.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(Q.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(Q.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var a=this.centralDirOffset+this.centralDirSize;this.zip64&&(a+=20,a+=12+this.zip64EndOfCentralSize);var c=r-a;if(0<c)this.isSignature(r,Q.CENTRAL_FILE_HEADER)||(this.reader.zero=c);else if(c<0)throw new Error("Corrupted zip: missing "+Math.abs(c)+" bytes.")},prepareReader:function(s){this.reader=B(s)},load:function(s){this.prepareReader(s),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=n},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,o){var B=e("./reader/readerFor"),C=e("./utils"),Q=e("./compressedObject"),i=e("./crc32"),E=e("./utf8"),n=e("./compressions"),s=e("./support");function r(a,c){this.options=a,this.loadOptions=c}r.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(a){var c,h;if(a.skip(22),this.fileNameLength=a.readInt(2),h=a.readInt(2),this.fileName=a.readData(this.fileNameLength),a.skip(h),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((c=(function(l){for(var D in n)if(Object.prototype.hasOwnProperty.call(n,D)&&n[D].magic===l)return n[D];return null})(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+C.pretty(this.compressionMethod)+" unknown (inner file : "+C.transformTo("string",this.fileName)+")");this.decompressed=new Q(this.compressedSize,this.uncompressedSize,this.crc32,c,a.readData(this.compressedSize))},readCentralPart:function(a){this.versionMadeBy=a.readInt(2),a.skip(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4);var c=a.readInt(2);if(this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");a.skip(c),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var a=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),a==0&&(this.dosPermissions=63&this.externalFileAttributes),a==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var a=B(this.extraFields[1].value);this.uncompressedSize===C.MAX_VALUE_32BITS&&(this.uncompressedSize=a.readInt(8)),this.compressedSize===C.MAX_VALUE_32BITS&&(this.compressedSize=a.readInt(8)),this.localHeaderOffset===C.MAX_VALUE_32BITS&&(this.localHeaderOffset=a.readInt(8)),this.diskNumberStart===C.MAX_VALUE_32BITS&&(this.diskNumberStart=a.readInt(4))}},readExtraFields:function(a){var c,h,l,D=a.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});a.index+4<D;)c=a.readInt(2),h=a.readInt(2),l=a.readData(h),this.extraFields[c]={id:c,length:h,value:l};a.setIndex(D)},handleUTF8:function(){var a=s.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=E.utf8decode(this.fileName),this.fileCommentStr=E.utf8decode(this.fileComment);else{var c=this.findExtraFieldUnicodePath();if(c!==null)this.fileNameStr=c;else{var h=C.transformTo(a,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(h)}var l=this.findExtraFieldUnicodeComment();if(l!==null)this.fileCommentStr=l;else{var D=C.transformTo(a,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(D)}}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var c=B(a.value);return c.readInt(1)!==1||i(this.fileName)!==c.readInt(4)?null:E.utf8decode(c.readData(a.length-5))}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var c=B(a.value);return c.readInt(1)!==1||i(this.fileComment)!==c.readInt(4)?null:E.utf8decode(c.readData(a.length-5))}return null}},t.exports=r},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,o){function B(c,h,l){this.name=c,this.dir=l.dir,this.date=l.date,this.comment=l.comment,this.unixPermissions=l.unixPermissions,this.dosPermissions=l.dosPermissions,this._data=h,this._dataBinary=l.binary,this.options={compression:l.compression,compressionOptions:l.compressionOptions}}var C=e("./stream/StreamHelper"),Q=e("./stream/DataWorker"),i=e("./utf8"),E=e("./compressedObject"),n=e("./stream/GenericWorker");B.prototype={internalStream:function(c){var h=null,l="string";try{if(!c)throw new Error("No output type specified.");var D=(l=c.toLowerCase())==="string"||l==="text";l!=="binarystring"&&l!=="text"||(l="string"),h=this._decompressWorker();var d=!this._dataBinary;d&&!D&&(h=h.pipe(new i.Utf8EncodeWorker)),!d&&D&&(h=h.pipe(new i.Utf8DecodeWorker))}catch(y){(h=new n("error")).error(y)}return new C(h,l,"")},async:function(c,h){return this.internalStream(c).accumulate(h)},nodeStream:function(c,h){return this.internalStream(c||"nodebuffer").toNodejsStream(h)},_compressWorker:function(c,h){if(this._data instanceof E&&this._data.compression.magic===c.magic)return this._data.getCompressedWorker();var l=this._decompressWorker();return this._dataBinary||(l=l.pipe(new i.Utf8EncodeWorker)),E.createWorkerFrom(l,c,h)},_decompressWorker:function(){return this._data instanceof E?this._data.getContentWorker():this._data instanceof n?this._data:new Q(this._data)}};for(var s=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],r=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},a=0;a<s.length;a++)B.prototype[s[a]]=r;t.exports=B},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,o){(function(B){var C,Q,i=B.MutationObserver||B.WebKitMutationObserver;if(i){var E=0,n=new i(c),s=B.document.createTextNode("");n.observe(s,{characterData:!0}),C=function(){s.data=E=++E%2}}else if(B.setImmediate||B.MessageChannel===void 0)C="document"in B&&"onreadystatechange"in B.document.createElement("script")?function(){var h=B.document.createElement("script");h.onreadystatechange=function(){c(),h.onreadystatechange=null,h.parentNode.removeChild(h),h=null},B.document.documentElement.appendChild(h)}:function(){setTimeout(c,0)};else{var r=new B.MessageChannel;r.port1.onmessage=c,C=function(){r.port2.postMessage(0)}}var a=[];function c(){var h,l;Q=!0;for(var D=a.length;D;){for(l=a,a=[],h=-1;++h<D;)l[h]();D=a.length}Q=!1}t.exports=function(h){a.push(h)!==1||Q||C()}}).call(this,typeof NY<"u"?NY:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(e,t,o){var B=e("immediate");function C(){}var Q={},i=["REJECTED"],E=["FULFILLED"],n=["PENDING"];function s(D){if(typeof D!="function")throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,D!==C&&h(this,D)}function r(D,d,y){this.promise=D,typeof d=="function"&&(this.onFulfilled=d,this.callFulfilled=this.otherCallFulfilled),typeof y=="function"&&(this.onRejected=y,this.callRejected=this.otherCallRejected)}function a(D,d,y){B(function(){var w;try{w=d(y)}catch(u){return Q.reject(D,u)}w===D?Q.reject(D,new TypeError("Cannot resolve promise with itself")):Q.resolve(D,w)})}function c(D){var d=D&&D.then;if(D&&(typeof D=="object"||typeof D=="function")&&typeof d=="function")return function(){d.apply(D,arguments)}}function h(D,d){var y=!1;function w(m){y||(y=!0,Q.reject(D,m))}function u(m){y||(y=!0,Q.resolve(D,m))}var G=l(function(){d(u,w)});G.status==="error"&&w(G.value)}function l(D,d){var y={};try{y.value=D(d),y.status="success"}catch(w){y.status="error",y.value=w}return y}(t.exports=s).prototype.finally=function(D){if(typeof D!="function")return this;var d=this.constructor;return this.then(function(y){return d.resolve(D()).then(function(){return y})},function(y){return d.resolve(D()).then(function(){throw y})})},s.prototype.catch=function(D){return this.then(null,D)},s.prototype.then=function(D,d){if(typeof D!="function"&&this.state===E||typeof d!="function"&&this.state===i)return this;var y=new this.constructor(C);return this.state!==n?a(y,this.state===E?D:d,this.outcome):this.queue.push(new r(y,D,d)),y},r.prototype.callFulfilled=function(D){Q.resolve(this.promise,D)},r.prototype.otherCallFulfilled=function(D){a(this.promise,this.onFulfilled,D)},r.prototype.callRejected=function(D){Q.reject(this.promise,D)},r.prototype.otherCallRejected=function(D){a(this.promise,this.onRejected,D)},Q.resolve=function(D,d){var y=l(c,d);if(y.status==="error")return Q.reject(D,y.value);var w=y.value;if(w)h(D,w);else{D.state=E,D.outcome=d;for(var u=-1,G=D.queue.length;++u<G;)D.queue[u].callFulfilled(d)}return D},Q.reject=function(D,d){D.state=i,D.outcome=d;for(var y=-1,w=D.queue.length;++y<w;)D.queue[y].callRejected(d);return D},s.resolve=function(D){return D instanceof this?D:Q.resolve(new this(C),D)},s.reject=function(D){var d=new this(C);return Q.reject(d,D)},s.all=function(D){var d=this;if(Object.prototype.toString.call(D)!=="[object Array]")return this.reject(new TypeError("must be an array"));var y=D.length,w=!1;if(!y)return this.resolve([]);for(var u=new Array(y),G=0,m=-1,p=new this(C);++m<y;)k(D[m],m);return p;function k(S,R){d.resolve(S).then(function(x){u[R]=x,++G!==y||w||(w=!0,Q.resolve(p,u))},function(x){w||(w=!0,Q.reject(p,x))})}},s.race=function(D){var d=this;if(Object.prototype.toString.call(D)!=="[object Array]")return this.reject(new TypeError("must be an array"));var y=D.length,w=!1;if(!y)return this.resolve([]);for(var u=-1,G=new this(C);++u<y;)m=D[u],d.resolve(m).then(function(p){w||(w=!0,Q.resolve(G,p))},function(p){w||(w=!0,Q.reject(G,p))});var m;return G}},{immediate:36}],38:[function(e,t,o){var B={};(0,e("./lib/utils/common").assign)(B,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=B},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,o){var B=e("./zlib/deflate"),C=e("./utils/common"),Q=e("./utils/strings"),i=e("./zlib/messages"),E=e("./zlib/zstream"),n=Object.prototype.toString,s=0,r=-1,a=0,c=8;function h(D){if(!(this instanceof h))return new h(D);this.options=C.assign({level:r,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:a,to:""},D||{});var d=this.options;d.raw&&0<d.windowBits?d.windowBits=-d.windowBits:d.gzip&&0<d.windowBits&&d.windowBits<16&&(d.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new E,this.strm.avail_out=0;var y=B.deflateInit2(this.strm,d.level,d.method,d.windowBits,d.memLevel,d.strategy);if(y!==s)throw new Error(i[y]);if(d.header&&B.deflateSetHeader(this.strm,d.header),d.dictionary){var w;if(w=typeof d.dictionary=="string"?Q.string2buf(d.dictionary):n.call(d.dictionary)==="[object ArrayBuffer]"?new Uint8Array(d.dictionary):d.dictionary,(y=B.deflateSetDictionary(this.strm,w))!==s)throw new Error(i[y]);this._dict_set=!0}}function l(D,d){var y=new h(d);if(y.push(D,!0),y.err)throw y.msg||i[y.err];return y.result}h.prototype.push=function(D,d){var y,w,u=this.strm,G=this.options.chunkSize;if(this.ended)return!1;w=d===~~d?d:d===!0?4:0,typeof D=="string"?u.input=Q.string2buf(D):n.call(D)==="[object ArrayBuffer]"?u.input=new Uint8Array(D):u.input=D,u.next_in=0,u.avail_in=u.input.length;do{if(u.avail_out===0&&(u.output=new C.Buf8(G),u.next_out=0,u.avail_out=G),(y=B.deflate(u,w))!==1&&y!==s)return this.onEnd(y),!(this.ended=!0);u.avail_out!==0&&(u.avail_in!==0||w!==4&&w!==2)||(this.options.to==="string"?this.onData(Q.buf2binstring(C.shrinkBuf(u.output,u.next_out))):this.onData(C.shrinkBuf(u.output,u.next_out)))}while((0<u.avail_in||u.avail_out===0)&&y!==1);return w===4?(y=B.deflateEnd(this.strm),this.onEnd(y),this.ended=!0,y===s):w!==2||(this.onEnd(s),!(u.avail_out=0))},h.prototype.onData=function(D){this.chunks.push(D)},h.prototype.onEnd=function(D){D===s&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=C.flattenChunks(this.chunks)),this.chunks=[],this.err=D,this.msg=this.strm.msg},o.Deflate=h,o.deflate=l,o.deflateRaw=function(D,d){return(d=d||{}).raw=!0,l(D,d)},o.gzip=function(D,d){return(d=d||{}).gzip=!0,l(D,d)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,o){var B=e("./zlib/inflate"),C=e("./utils/common"),Q=e("./utils/strings"),i=e("./zlib/constants"),E=e("./zlib/messages"),n=e("./zlib/zstream"),s=e("./zlib/gzheader"),r=Object.prototype.toString;function a(h){if(!(this instanceof a))return new a(h);this.options=C.assign({chunkSize:16384,windowBits:0,to:""},h||{});var l=this.options;l.raw&&0<=l.windowBits&&l.windowBits<16&&(l.windowBits=-l.windowBits,l.windowBits===0&&(l.windowBits=-15)),!(0<=l.windowBits&&l.windowBits<16)||h&&h.windowBits||(l.windowBits+=32),15<l.windowBits&&l.windowBits<48&&(15&l.windowBits)==0&&(l.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new n,this.strm.avail_out=0;var D=B.inflateInit2(this.strm,l.windowBits);if(D!==i.Z_OK)throw new Error(E[D]);this.header=new s,B.inflateGetHeader(this.strm,this.header)}function c(h,l){var D=new a(l);if(D.push(h,!0),D.err)throw D.msg||E[D.err];return D.result}a.prototype.push=function(h,l){var D,d,y,w,u,G,m=this.strm,p=this.options.chunkSize,k=this.options.dictionary,S=!1;if(this.ended)return!1;d=l===~~l?l:l===!0?i.Z_FINISH:i.Z_NO_FLUSH,typeof h=="string"?m.input=Q.binstring2buf(h):r.call(h)==="[object ArrayBuffer]"?m.input=new Uint8Array(h):m.input=h,m.next_in=0,m.avail_in=m.input.length;do{if(m.avail_out===0&&(m.output=new C.Buf8(p),m.next_out=0,m.avail_out=p),(D=B.inflate(m,i.Z_NO_FLUSH))===i.Z_NEED_DICT&&k&&(G=typeof k=="string"?Q.string2buf(k):r.call(k)==="[object ArrayBuffer]"?new Uint8Array(k):k,D=B.inflateSetDictionary(this.strm,G)),D===i.Z_BUF_ERROR&&S===!0&&(D=i.Z_OK,S=!1),D!==i.Z_STREAM_END&&D!==i.Z_OK)return this.onEnd(D),!(this.ended=!0);m.next_out&&(m.avail_out!==0&&D!==i.Z_STREAM_END&&(m.avail_in!==0||d!==i.Z_FINISH&&d!==i.Z_SYNC_FLUSH)||(this.options.to==="string"?(y=Q.utf8border(m.output,m.next_out),w=m.next_out-y,u=Q.buf2string(m.output,y),m.next_out=w,m.avail_out=p-w,w&&C.arraySet(m.output,m.output,y,w,0),this.onData(u)):this.onData(C.shrinkBuf(m.output,m.next_out)))),m.avail_in===0&&m.avail_out===0&&(S=!0)}while((0<m.avail_in||m.avail_out===0)&&D!==i.Z_STREAM_END);return D===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(D=B.inflateEnd(this.strm),this.onEnd(D),this.ended=!0,D===i.Z_OK):d!==i.Z_SYNC_FLUSH||(this.onEnd(i.Z_OK),!(m.avail_out=0))},a.prototype.onData=function(h){this.chunks.push(h)},a.prototype.onEnd=function(h){h===i.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=C.flattenChunks(this.chunks)),this.chunks=[],this.err=h,this.msg=this.strm.msg},o.Inflate=a,o.inflate=c,o.inflateRaw=function(h,l){return(l=l||{}).raw=!0,c(h,l)},o.ungzip=c},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,o){var B=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";o.assign=function(i){for(var E=Array.prototype.slice.call(arguments,1);E.length;){var n=E.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s])}}return i},o.shrinkBuf=function(i,E){return i.length===E?i:i.subarray?i.subarray(0,E):(i.length=E,i)};var C={arraySet:function(i,E,n,s,r){if(E.subarray&&i.subarray)i.set(E.subarray(n,n+s),r);else for(var a=0;a<s;a++)i[r+a]=E[n+a]},flattenChunks:function(i){var E,n,s,r,a,c;for(E=s=0,n=i.length;E<n;E++)s+=i[E].length;for(c=new Uint8Array(s),E=r=0,n=i.length;E<n;E++)a=i[E],c.set(a,r),r+=a.length;return c}},Q={arraySet:function(i,E,n,s,r){for(var a=0;a<s;a++)i[r+a]=E[n+a]},flattenChunks:function(i){return[].concat.apply([],i)}};o.setTyped=function(i){i?(o.Buf8=Uint8Array,o.Buf16=Uint16Array,o.Buf32=Int32Array,o.assign(o,C)):(o.Buf8=Array,o.Buf16=Array,o.Buf32=Array,o.assign(o,Q))},o.setTyped(B)},{}],42:[function(e,t,o){var B=e("./common"),C=!0,Q=!0;try{String.fromCharCode.apply(null,[0])}catch{C=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Q=!1}for(var i=new B.Buf8(256),E=0;E<256;E++)i[E]=252<=E?6:248<=E?5:240<=E?4:224<=E?3:192<=E?2:1;function n(s,r){if(r<65537&&(s.subarray&&Q||!s.subarray&&C))return String.fromCharCode.apply(null,B.shrinkBuf(s,r));for(var a="",c=0;c<r;c++)a+=String.fromCharCode(s[c]);return a}i[254]=i[254]=1,o.string2buf=function(s){var r,a,c,h,l,D=s.length,d=0;for(h=0;h<D;h++)(64512&(a=s.charCodeAt(h)))==55296&&h+1<D&&(64512&(c=s.charCodeAt(h+1)))==56320&&(a=65536+(a-55296<<10)+(c-56320),h++),d+=a<128?1:a<2048?2:a<65536?3:4;for(r=new B.Buf8(d),h=l=0;l<d;h++)(64512&(a=s.charCodeAt(h)))==55296&&h+1<D&&(64512&(c=s.charCodeAt(h+1)))==56320&&(a=65536+(a-55296<<10)+(c-56320),h++),a<128?r[l++]=a:(a<2048?r[l++]=192|a>>>6:(a<65536?r[l++]=224|a>>>12:(r[l++]=240|a>>>18,r[l++]=128|a>>>12&63),r[l++]=128|a>>>6&63),r[l++]=128|63&a);return r},o.buf2binstring=function(s){return n(s,s.length)},o.binstring2buf=function(s){for(var r=new B.Buf8(s.length),a=0,c=r.length;a<c;a++)r[a]=s.charCodeAt(a);return r},o.buf2string=function(s,r){var a,c,h,l,D=r||s.length,d=new Array(2*D);for(a=c=0;a<D;)if((h=s[a++])<128)d[c++]=h;else if(4<(l=i[h]))d[c++]=65533,a+=l-1;else{for(h&=l===2?31:l===3?15:7;1<l&&a<D;)h=h<<6|63&s[a++],l--;1<l?d[c++]=65533:h<65536?d[c++]=h:(h-=65536,d[c++]=55296|h>>10&1023,d[c++]=56320|1023&h)}return n(d,c)},o.utf8border=function(s,r){var a;for((r=r||s.length)>s.length&&(r=s.length),a=r-1;0<=a&&(192&s[a])==128;)a--;return a<0||a===0?r:a+i[s[a]]>r?a:r}},{"./common":41}],43:[function(e,t,o){t.exports=function(B,C,Q,i){for(var E=65535&B|0,n=B>>>16&65535|0,s=0;Q!==0;){for(Q-=s=2e3<Q?2e3:Q;n=n+(E=E+C[i++]|0)|0,--s;);E%=65521,n%=65521}return E|n<<16|0}},{}],44:[function(e,t,o){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,o){var B=(function(){for(var C,Q=[],i=0;i<256;i++){C=i;for(var E=0;E<8;E++)C=1&C?3988292384^C>>>1:C>>>1;Q[i]=C}return Q})();t.exports=function(C,Q,i,E){var n=B,s=E+i;C^=-1;for(var r=E;r<s;r++)C=C>>>8^n[255&(C^Q[r])];return-1^C}},{}],46:[function(e,t,o){var B,C=e("../utils/common"),Q=e("./trees"),i=e("./adler32"),E=e("./crc32"),n=e("./messages"),s=0,r=4,a=0,c=-2,h=-1,l=4,D=2,d=8,y=9,w=286,u=30,G=19,m=2*w+1,p=15,k=3,S=258,R=S+k+1,x=42,N=113,U=1,K=2,Y=3,b=4;function q(aA,xA){return aA.msg=n[xA],xA}function j(aA){return(aA<<1)-(4<aA?9:0)}function W(aA){for(var xA=aA.length;0<=--xA;)aA[xA]=0}function Z(aA){var xA=aA.state,RA=xA.pending;RA>aA.avail_out&&(RA=aA.avail_out),RA!==0&&(C.arraySet(aA.output,xA.pending_buf,xA.pending_out,RA,aA.next_out),aA.next_out+=RA,xA.pending_out+=RA,aA.total_out+=RA,aA.avail_out-=RA,xA.pending-=RA,xA.pending===0&&(xA.pending_out=0))}function gA(aA,xA){Q._tr_flush_block(aA,0<=aA.block_start?aA.block_start:-1,aA.strstart-aA.block_start,xA),aA.block_start=aA.strstart,Z(aA.strm)}function tA(aA,xA){aA.pending_buf[aA.pending++]=xA}function IA(aA,xA){aA.pending_buf[aA.pending++]=xA>>>8&255,aA.pending_buf[aA.pending++]=255&xA}function QA(aA,xA){var RA,NA,HA=aA.max_chain_length,PA=aA.strstart,GA=aA.prev_length,LA=aA.nice_match,dA=aA.strstart>aA.w_size-R?aA.strstart-(aA.w_size-R):0,bA=aA.window,WA=aA.w_mask,Qg=aA.prev,YA=aA.strstart+S,uA=bA[PA+GA-1],kA=bA[PA+GA];aA.prev_length>=aA.good_match&&(HA>>=2),LA>aA.lookahead&&(LA=aA.lookahead);do if(bA[(RA=xA)+GA]===kA&&bA[RA+GA-1]===uA&&bA[RA]===bA[PA]&&bA[++RA]===bA[PA+1]){PA+=2,RA++;do;while(bA[++PA]===bA[++RA]&&bA[++PA]===bA[++RA]&&bA[++PA]===bA[++RA]&&bA[++PA]===bA[++RA]&&bA[++PA]===bA[++RA]&&bA[++PA]===bA[++RA]&&bA[++PA]===bA[++RA]&&bA[++PA]===bA[++RA]&&PA<YA);if(NA=S-(YA-PA),PA=YA-S,GA<NA){if(aA.match_start=xA,LA<=(GA=NA))break;uA=bA[PA+GA-1],kA=bA[PA+GA]}}while((xA=Qg[xA&WA])>dA&&--HA!=0);return GA<=aA.lookahead?GA:aA.lookahead}function nA(aA){var xA,RA,NA,HA,PA,GA,LA,dA,bA,WA,Qg=aA.w_size;do{if(HA=aA.window_size-aA.lookahead-aA.strstart,aA.strstart>=Qg+(Qg-R)){for(C.arraySet(aA.window,aA.window,Qg,Qg,0),aA.match_start-=Qg,aA.strstart-=Qg,aA.block_start-=Qg,xA=RA=aA.hash_size;NA=aA.head[--xA],aA.head[xA]=Qg<=NA?NA-Qg:0,--RA;);for(xA=RA=Qg;NA=aA.prev[--xA],aA.prev[xA]=Qg<=NA?NA-Qg:0,--RA;);HA+=Qg}if(aA.strm.avail_in===0)break;if(GA=aA.strm,LA=aA.window,dA=aA.strstart+aA.lookahead,bA=HA,WA=void 0,WA=GA.avail_in,bA<WA&&(WA=bA),RA=WA===0?0:(GA.avail_in-=WA,C.arraySet(LA,GA.input,GA.next_in,WA,dA),GA.state.wrap===1?GA.adler=i(GA.adler,LA,WA,dA):GA.state.wrap===2&&(GA.adler=E(GA.adler,LA,WA,dA)),GA.next_in+=WA,GA.total_in+=WA,WA),aA.lookahead+=RA,aA.lookahead+aA.insert>=k)for(PA=aA.strstart-aA.insert,aA.ins_h=aA.window[PA],aA.ins_h=(aA.ins_h<<aA.hash_shift^aA.window[PA+1])&aA.hash_mask;aA.insert&&(aA.ins_h=(aA.ins_h<<aA.hash_shift^aA.window[PA+k-1])&aA.hash_mask,aA.prev[PA&aA.w_mask]=aA.head[aA.ins_h],aA.head[aA.ins_h]=PA,PA++,aA.insert--,!(aA.lookahead+aA.insert<k)););}while(aA.lookahead<R&&aA.strm.avail_in!==0)}function DA(aA,xA){for(var RA,NA;;){if(aA.lookahead<R){if(nA(aA),aA.lookahead<R&&xA===s)return U;if(aA.lookahead===0)break}if(RA=0,aA.lookahead>=k&&(aA.ins_h=(aA.ins_h<<aA.hash_shift^aA.window[aA.strstart+k-1])&aA.hash_mask,RA=aA.prev[aA.strstart&aA.w_mask]=aA.head[aA.ins_h],aA.head[aA.ins_h]=aA.strstart),RA!==0&&aA.strstart-RA<=aA.w_size-R&&(aA.match_length=QA(aA,RA)),aA.match_length>=k)if(NA=Q._tr_tally(aA,aA.strstart-aA.match_start,aA.match_length-k),aA.lookahead-=aA.match_length,aA.match_length<=aA.max_lazy_match&&aA.lookahead>=k){for(aA.match_length--;aA.strstart++,aA.ins_h=(aA.ins_h<<aA.hash_shift^aA.window[aA.strstart+k-1])&aA.hash_mask,RA=aA.prev[aA.strstart&aA.w_mask]=aA.head[aA.ins_h],aA.head[aA.ins_h]=aA.strstart,--aA.match_length!=0;);aA.strstart++}else aA.strstart+=aA.match_length,aA.match_length=0,aA.ins_h=aA.window[aA.strstart],aA.ins_h=(aA.ins_h<<aA.hash_shift^aA.window[aA.strstart+1])&aA.hash_mask;else NA=Q._tr_tally(aA,0,aA.window[aA.strstart]),aA.lookahead--,aA.strstart++;if(NA&&(gA(aA,!1),aA.strm.avail_out===0))return U}return aA.insert=aA.strstart<k-1?aA.strstart:k-1,xA===r?(gA(aA,!0),aA.strm.avail_out===0?Y:b):aA.last_lit&&(gA(aA,!1),aA.strm.avail_out===0)?U:K}function CA(aA,xA){for(var RA,NA,HA;;){if(aA.lookahead<R){if(nA(aA),aA.lookahead<R&&xA===s)return U;if(aA.lookahead===0)break}if(RA=0,aA.lookahead>=k&&(aA.ins_h=(aA.ins_h<<aA.hash_shift^aA.window[aA.strstart+k-1])&aA.hash_mask,RA=aA.prev[aA.strstart&aA.w_mask]=aA.head[aA.ins_h],aA.head[aA.ins_h]=aA.strstart),aA.prev_length=aA.match_length,aA.prev_match=aA.match_start,aA.match_length=k-1,RA!==0&&aA.prev_length<aA.max_lazy_match&&aA.strstart-RA<=aA.w_size-R&&(aA.match_length=QA(aA,RA),aA.match_length<=5&&(aA.strategy===1||aA.match_length===k&&4096<aA.strstart-aA.match_start)&&(aA.match_length=k-1)),aA.prev_length>=k&&aA.match_length<=aA.prev_length){for(HA=aA.strstart+aA.lookahead-k,NA=Q._tr_tally(aA,aA.strstart-1-aA.prev_match,aA.prev_length-k),aA.lookahead-=aA.prev_length-1,aA.prev_length-=2;++aA.strstart<=HA&&(aA.ins_h=(aA.ins_h<<aA.hash_shift^aA.window[aA.strstart+k-1])&aA.hash_mask,RA=aA.prev[aA.strstart&aA.w_mask]=aA.head[aA.ins_h],aA.head[aA.ins_h]=aA.strstart),--aA.prev_length!=0;);if(aA.match_available=0,aA.match_length=k-1,aA.strstart++,NA&&(gA(aA,!1),aA.strm.avail_out===0))return U}else if(aA.match_available){if((NA=Q._tr_tally(aA,0,aA.window[aA.strstart-1]))&&gA(aA,!1),aA.strstart++,aA.lookahead--,aA.strm.avail_out===0)return U}else aA.match_available=1,aA.strstart++,aA.lookahead--}return aA.match_available&&(NA=Q._tr_tally(aA,0,aA.window[aA.strstart-1]),aA.match_available=0),aA.insert=aA.strstart<k-1?aA.strstart:k-1,xA===r?(gA(aA,!0),aA.strm.avail_out===0?Y:b):aA.last_lit&&(gA(aA,!1),aA.strm.avail_out===0)?U:K}function hA(aA,xA,RA,NA,HA){this.good_length=aA,this.max_lazy=xA,this.nice_length=RA,this.max_chain=NA,this.func=HA}function sA(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=d,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new C.Buf16(2*m),this.dyn_dtree=new C.Buf16(2*(2*u+1)),this.bl_tree=new C.Buf16(2*(2*G+1)),W(this.dyn_ltree),W(this.dyn_dtree),W(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new C.Buf16(p+1),this.heap=new C.Buf16(2*w+1),W(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new C.Buf16(2*w+1),W(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function cA(aA){var xA;return aA&&aA.state?(aA.total_in=aA.total_out=0,aA.data_type=D,(xA=aA.state).pending=0,xA.pending_out=0,xA.wrap<0&&(xA.wrap=-xA.wrap),xA.status=xA.wrap?x:N,aA.adler=xA.wrap===2?0:1,xA.last_flush=s,Q._tr_init(xA),a):q(aA,c)}function SA(aA){var xA=cA(aA);return xA===a&&(function(RA){RA.window_size=2*RA.w_size,W(RA.head),RA.max_lazy_match=B[RA.level].max_lazy,RA.good_match=B[RA.level].good_length,RA.nice_match=B[RA.level].nice_length,RA.max_chain_length=B[RA.level].max_chain,RA.strstart=0,RA.block_start=0,RA.lookahead=0,RA.insert=0,RA.match_length=RA.prev_length=k-1,RA.match_available=0,RA.ins_h=0})(aA.state),xA}function FA(aA,xA,RA,NA,HA,PA){if(!aA)return c;var GA=1;if(xA===h&&(xA=6),NA<0?(GA=0,NA=-NA):15<NA&&(GA=2,NA-=16),HA<1||y<HA||RA!==d||NA<8||15<NA||xA<0||9<xA||PA<0||l<PA)return q(aA,c);NA===8&&(NA=9);var LA=new sA;return(aA.state=LA).strm=aA,LA.wrap=GA,LA.gzhead=null,LA.w_bits=NA,LA.w_size=1<<LA.w_bits,LA.w_mask=LA.w_size-1,LA.hash_bits=HA+7,LA.hash_size=1<<LA.hash_bits,LA.hash_mask=LA.hash_size-1,LA.hash_shift=~~((LA.hash_bits+k-1)/k),LA.window=new C.Buf8(2*LA.w_size),LA.head=new C.Buf16(LA.hash_size),LA.prev=new C.Buf16(LA.w_size),LA.lit_bufsize=1<<HA+6,LA.pending_buf_size=4*LA.lit_bufsize,LA.pending_buf=new C.Buf8(LA.pending_buf_size),LA.d_buf=1*LA.lit_bufsize,LA.l_buf=3*LA.lit_bufsize,LA.level=xA,LA.strategy=PA,LA.method=RA,SA(aA)}B=[new hA(0,0,0,0,function(aA,xA){var RA=65535;for(RA>aA.pending_buf_size-5&&(RA=aA.pending_buf_size-5);;){if(aA.lookahead<=1){if(nA(aA),aA.lookahead===0&&xA===s)return U;if(aA.lookahead===0)break}aA.strstart+=aA.lookahead,aA.lookahead=0;var NA=aA.block_start+RA;if((aA.strstart===0||aA.strstart>=NA)&&(aA.lookahead=aA.strstart-NA,aA.strstart=NA,gA(aA,!1),aA.strm.avail_out===0)||aA.strstart-aA.block_start>=aA.w_size-R&&(gA(aA,!1),aA.strm.avail_out===0))return U}return aA.insert=0,xA===r?(gA(aA,!0),aA.strm.avail_out===0?Y:b):(aA.strstart>aA.block_start&&(gA(aA,!1),aA.strm.avail_out),U)}),new hA(4,4,8,4,DA),new hA(4,5,16,8,DA),new hA(4,6,32,32,DA),new hA(4,4,16,16,CA),new hA(8,16,32,32,CA),new hA(8,16,128,128,CA),new hA(8,32,128,256,CA),new hA(32,128,258,1024,CA),new hA(32,258,258,4096,CA)],o.deflateInit=function(aA,xA){return FA(aA,xA,d,15,8,0)},o.deflateInit2=FA,o.deflateReset=SA,o.deflateResetKeep=cA,o.deflateSetHeader=function(aA,xA){return aA&&aA.state?aA.state.wrap!==2?c:(aA.state.gzhead=xA,a):c},o.deflate=function(aA,xA){var RA,NA,HA,PA;if(!aA||!aA.state||5<xA||xA<0)return aA?q(aA,c):c;if(NA=aA.state,!aA.output||!aA.input&&aA.avail_in!==0||NA.status===666&&xA!==r)return q(aA,aA.avail_out===0?-5:c);if(NA.strm=aA,RA=NA.last_flush,NA.last_flush=xA,NA.status===x)if(NA.wrap===2)aA.adler=0,tA(NA,31),tA(NA,139),tA(NA,8),NA.gzhead?(tA(NA,(NA.gzhead.text?1:0)+(NA.gzhead.hcrc?2:0)+(NA.gzhead.extra?4:0)+(NA.gzhead.name?8:0)+(NA.gzhead.comment?16:0)),tA(NA,255&NA.gzhead.time),tA(NA,NA.gzhead.time>>8&255),tA(NA,NA.gzhead.time>>16&255),tA(NA,NA.gzhead.time>>24&255),tA(NA,NA.level===9?2:2<=NA.strategy||NA.level<2?4:0),tA(NA,255&NA.gzhead.os),NA.gzhead.extra&&NA.gzhead.extra.length&&(tA(NA,255&NA.gzhead.extra.length),tA(NA,NA.gzhead.extra.length>>8&255)),NA.gzhead.hcrc&&(aA.adler=E(aA.adler,NA.pending_buf,NA.pending,0)),NA.gzindex=0,NA.status=69):(tA(NA,0),tA(NA,0),tA(NA,0),tA(NA,0),tA(NA,0),tA(NA,NA.level===9?2:2<=NA.strategy||NA.level<2?4:0),tA(NA,3),NA.status=N);else{var GA=d+(NA.w_bits-8<<4)<<8;GA|=(2<=NA.strategy||NA.level<2?0:NA.level<6?1:NA.level===6?2:3)<<6,NA.strstart!==0&&(GA|=32),GA+=31-GA%31,NA.status=N,IA(NA,GA),NA.strstart!==0&&(IA(NA,aA.adler>>>16),IA(NA,65535&aA.adler)),aA.adler=1}if(NA.status===69)if(NA.gzhead.extra){for(HA=NA.pending;NA.gzindex<(65535&NA.gzhead.extra.length)&&(NA.pending!==NA.pending_buf_size||(NA.gzhead.hcrc&&NA.pending>HA&&(aA.adler=E(aA.adler,NA.pending_buf,NA.pending-HA,HA)),Z(aA),HA=NA.pending,NA.pending!==NA.pending_buf_size));)tA(NA,255&NA.gzhead.extra[NA.gzindex]),NA.gzindex++;NA.gzhead.hcrc&&NA.pending>HA&&(aA.adler=E(aA.adler,NA.pending_buf,NA.pending-HA,HA)),NA.gzindex===NA.gzhead.extra.length&&(NA.gzindex=0,NA.status=73)}else NA.status=73;if(NA.status===73)if(NA.gzhead.name){HA=NA.pending;do{if(NA.pending===NA.pending_buf_size&&(NA.gzhead.hcrc&&NA.pending>HA&&(aA.adler=E(aA.adler,NA.pending_buf,NA.pending-HA,HA)),Z(aA),HA=NA.pending,NA.pending===NA.pending_buf_size)){PA=1;break}PA=NA.gzindex<NA.gzhead.name.length?255&NA.gzhead.name.charCodeAt(NA.gzindex++):0,tA(NA,PA)}while(PA!==0);NA.gzhead.hcrc&&NA.pending>HA&&(aA.adler=E(aA.adler,NA.pending_buf,NA.pending-HA,HA)),PA===0&&(NA.gzindex=0,NA.status=91)}else NA.status=91;if(NA.status===91)if(NA.gzhead.comment){HA=NA.pending;do{if(NA.pending===NA.pending_buf_size&&(NA.gzhead.hcrc&&NA.pending>HA&&(aA.adler=E(aA.adler,NA.pending_buf,NA.pending-HA,HA)),Z(aA),HA=NA.pending,NA.pending===NA.pending_buf_size)){PA=1;break}PA=NA.gzindex<NA.gzhead.comment.length?255&NA.gzhead.comment.charCodeAt(NA.gzindex++):0,tA(NA,PA)}while(PA!==0);NA.gzhead.hcrc&&NA.pending>HA&&(aA.adler=E(aA.adler,NA.pending_buf,NA.pending-HA,HA)),PA===0&&(NA.status=103)}else NA.status=103;if(NA.status===103&&(NA.gzhead.hcrc?(NA.pending+2>NA.pending_buf_size&&Z(aA),NA.pending+2<=NA.pending_buf_size&&(tA(NA,255&aA.adler),tA(NA,aA.adler>>8&255),aA.adler=0,NA.status=N)):NA.status=N),NA.pending!==0){if(Z(aA),aA.avail_out===0)return NA.last_flush=-1,a}else if(aA.avail_in===0&&j(xA)<=j(RA)&&xA!==r)return q(aA,-5);if(NA.status===666&&aA.avail_in!==0)return q(aA,-5);if(aA.avail_in!==0||NA.lookahead!==0||xA!==s&&NA.status!==666){var LA=NA.strategy===2?(function(dA,bA){for(var WA;;){if(dA.lookahead===0&&(nA(dA),dA.lookahead===0)){if(bA===s)return U;break}if(dA.match_length=0,WA=Q._tr_tally(dA,0,dA.window[dA.strstart]),dA.lookahead--,dA.strstart++,WA&&(gA(dA,!1),dA.strm.avail_out===0))return U}return dA.insert=0,bA===r?(gA(dA,!0),dA.strm.avail_out===0?Y:b):dA.last_lit&&(gA(dA,!1),dA.strm.avail_out===0)?U:K})(NA,xA):NA.strategy===3?(function(dA,bA){for(var WA,Qg,YA,uA,kA=dA.window;;){if(dA.lookahead<=S){if(nA(dA),dA.lookahead<=S&&bA===s)return U;if(dA.lookahead===0)break}if(dA.match_length=0,dA.lookahead>=k&&0<dA.strstart&&(Qg=kA[YA=dA.strstart-1])===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]){uA=dA.strstart+S;do;while(Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&YA<uA);dA.match_length=S-(uA-YA),dA.match_length>dA.lookahead&&(dA.match_length=dA.lookahead)}if(dA.match_length>=k?(WA=Q._tr_tally(dA,1,dA.match_length-k),dA.lookahead-=dA.match_length,dA.strstart+=dA.match_length,dA.match_length=0):(WA=Q._tr_tally(dA,0,dA.window[dA.strstart]),dA.lookahead--,dA.strstart++),WA&&(gA(dA,!1),dA.strm.avail_out===0))return U}return dA.insert=0,bA===r?(gA(dA,!0),dA.strm.avail_out===0?Y:b):dA.last_lit&&(gA(dA,!1),dA.strm.avail_out===0)?U:K})(NA,xA):B[NA.level].func(NA,xA);if(LA!==Y&&LA!==b||(NA.status=666),LA===U||LA===Y)return aA.avail_out===0&&(NA.last_flush=-1),a;if(LA===K&&(xA===1?Q._tr_align(NA):xA!==5&&(Q._tr_stored_block(NA,0,0,!1),xA===3&&(W(NA.head),NA.lookahead===0&&(NA.strstart=0,NA.block_start=0,NA.insert=0))),Z(aA),aA.avail_out===0))return NA.last_flush=-1,a}return xA!==r?a:NA.wrap<=0?1:(NA.wrap===2?(tA(NA,255&aA.adler),tA(NA,aA.adler>>8&255),tA(NA,aA.adler>>16&255),tA(NA,aA.adler>>24&255),tA(NA,255&aA.total_in),tA(NA,aA.total_in>>8&255),tA(NA,aA.total_in>>16&255),tA(NA,aA.total_in>>24&255)):(IA(NA,aA.adler>>>16),IA(NA,65535&aA.adler)),Z(aA),0<NA.wrap&&(NA.wrap=-NA.wrap),NA.pending!==0?a:1)},o.deflateEnd=function(aA){var xA;return aA&&aA.state?(xA=aA.state.status)!==x&&xA!==69&&xA!==73&&xA!==91&&xA!==103&&xA!==N&&xA!==666?q(aA,c):(aA.state=null,xA===N?q(aA,-3):a):c},o.deflateSetDictionary=function(aA,xA){var RA,NA,HA,PA,GA,LA,dA,bA,WA=xA.length;if(!aA||!aA.state||(PA=(RA=aA.state).wrap)===2||PA===1&&RA.status!==x||RA.lookahead)return c;for(PA===1&&(aA.adler=i(aA.adler,xA,WA,0)),RA.wrap=0,WA>=RA.w_size&&(PA===0&&(W(RA.head),RA.strstart=0,RA.block_start=0,RA.insert=0),bA=new C.Buf8(RA.w_size),C.arraySet(bA,xA,WA-RA.w_size,RA.w_size,0),xA=bA,WA=RA.w_size),GA=aA.avail_in,LA=aA.next_in,dA=aA.input,aA.avail_in=WA,aA.next_in=0,aA.input=xA,nA(RA);RA.lookahead>=k;){for(NA=RA.strstart,HA=RA.lookahead-(k-1);RA.ins_h=(RA.ins_h<<RA.hash_shift^RA.window[NA+k-1])&RA.hash_mask,RA.prev[NA&RA.w_mask]=RA.head[RA.ins_h],RA.head[RA.ins_h]=NA,NA++,--HA;);RA.strstart=NA,RA.lookahead=k-1,nA(RA)}return RA.strstart+=RA.lookahead,RA.block_start=RA.strstart,RA.insert=RA.lookahead,RA.lookahead=0,RA.match_length=RA.prev_length=k-1,RA.match_available=0,aA.next_in=LA,aA.input=dA,aA.avail_in=GA,RA.wrap=PA,a},o.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,o){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,o){t.exports=function(B,C){var Q,i,E,n,s,r,a,c,h,l,D,d,y,w,u,G,m,p,k,S,R,x,N,U,K;Q=B.state,i=B.next_in,U=B.input,E=i+(B.avail_in-5),n=B.next_out,K=B.output,s=n-(C-B.avail_out),r=n+(B.avail_out-257),a=Q.dmax,c=Q.wsize,h=Q.whave,l=Q.wnext,D=Q.window,d=Q.hold,y=Q.bits,w=Q.lencode,u=Q.distcode,G=(1<<Q.lenbits)-1,m=(1<<Q.distbits)-1;A:do{y<15&&(d+=U[i++]<<y,y+=8,d+=U[i++]<<y,y+=8),p=w[d&G];g:for(;;){if(d>>>=k=p>>>24,y-=k,(k=p>>>16&255)===0)K[n++]=65535&p;else{if(!(16&k)){if((64&k)==0){p=w[(65535&p)+(d&(1<<k)-1)];continue g}if(32&k){Q.mode=12;break A}B.msg="invalid literal/length code",Q.mode=30;break A}S=65535&p,(k&=15)&&(y<k&&(d+=U[i++]<<y,y+=8),S+=d&(1<<k)-1,d>>>=k,y-=k),y<15&&(d+=U[i++]<<y,y+=8,d+=U[i++]<<y,y+=8),p=u[d&m];I:for(;;){if(d>>>=k=p>>>24,y-=k,!(16&(k=p>>>16&255))){if((64&k)==0){p=u[(65535&p)+(d&(1<<k)-1)];continue I}B.msg="invalid distance code",Q.mode=30;break A}if(R=65535&p,y<(k&=15)&&(d+=U[i++]<<y,(y+=8)<k&&(d+=U[i++]<<y,y+=8)),a<(R+=d&(1<<k)-1)){B.msg="invalid distance too far back",Q.mode=30;break A}if(d>>>=k,y-=k,(k=n-s)<R){if(h<(k=R-k)&&Q.sane){B.msg="invalid distance too far back",Q.mode=30;break A}if(N=D,(x=0)===l){if(x+=c-k,k<S){for(S-=k;K[n++]=D[x++],--k;);x=n-R,N=K}}else if(l<k){if(x+=c+l-k,(k-=l)<S){for(S-=k;K[n++]=D[x++],--k;);if(x=0,l<S){for(S-=k=l;K[n++]=D[x++],--k;);x=n-R,N=K}}}else if(x+=l-k,k<S){for(S-=k;K[n++]=D[x++],--k;);x=n-R,N=K}for(;2<S;)K[n++]=N[x++],K[n++]=N[x++],K[n++]=N[x++],S-=3;S&&(K[n++]=N[x++],1<S&&(K[n++]=N[x++]))}else{for(x=n-R;K[n++]=K[x++],K[n++]=K[x++],K[n++]=K[x++],2<(S-=3););S&&(K[n++]=K[x++],1<S&&(K[n++]=K[x++]))}break}}break}}while(i<E&&n<r);i-=S=y>>3,d&=(1<<(y-=S<<3))-1,B.next_in=i,B.next_out=n,B.avail_in=i<E?E-i+5:5-(i-E),B.avail_out=n<r?r-n+257:257-(n-r),Q.hold=d,Q.bits=y}},{}],49:[function(e,t,o){var B=e("../utils/common"),C=e("./adler32"),Q=e("./crc32"),i=e("./inffast"),E=e("./inftrees"),n=1,s=2,r=0,a=-2,c=1,h=852,l=592;function D(x){return(x>>>24&255)+(x>>>8&65280)+((65280&x)<<8)+((255&x)<<24)}function d(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new B.Buf16(320),this.work=new B.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function y(x){var N;return x&&x.state?(N=x.state,x.total_in=x.total_out=N.total=0,x.msg="",N.wrap&&(x.adler=1&N.wrap),N.mode=c,N.last=0,N.havedict=0,N.dmax=32768,N.head=null,N.hold=0,N.bits=0,N.lencode=N.lendyn=new B.Buf32(h),N.distcode=N.distdyn=new B.Buf32(l),N.sane=1,N.back=-1,r):a}function w(x){var N;return x&&x.state?((N=x.state).wsize=0,N.whave=0,N.wnext=0,y(x)):a}function u(x,N){var U,K;return x&&x.state?(K=x.state,N<0?(U=0,N=-N):(U=1+(N>>4),N<48&&(N&=15)),N&&(N<8||15<N)?a:(K.window!==null&&K.wbits!==N&&(K.window=null),K.wrap=U,K.wbits=N,w(x))):a}function G(x,N){var U,K;return x?(K=new d,(x.state=K).window=null,(U=u(x,N))!==r&&(x.state=null),U):a}var m,p,k=!0;function S(x){if(k){var N;for(m=new B.Buf32(512),p=new B.Buf32(32),N=0;N<144;)x.lens[N++]=8;for(;N<256;)x.lens[N++]=9;for(;N<280;)x.lens[N++]=7;for(;N<288;)x.lens[N++]=8;for(E(n,x.lens,0,288,m,0,x.work,{bits:9}),N=0;N<32;)x.lens[N++]=5;E(s,x.lens,0,32,p,0,x.work,{bits:5}),k=!1}x.lencode=m,x.lenbits=9,x.distcode=p,x.distbits=5}function R(x,N,U,K){var Y,b=x.state;return b.window===null&&(b.wsize=1<<b.wbits,b.wnext=0,b.whave=0,b.window=new B.Buf8(b.wsize)),K>=b.wsize?(B.arraySet(b.window,N,U-b.wsize,b.wsize,0),b.wnext=0,b.whave=b.wsize):(K<(Y=b.wsize-b.wnext)&&(Y=K),B.arraySet(b.window,N,U-K,Y,b.wnext),(K-=Y)?(B.arraySet(b.window,N,U-K,K,0),b.wnext=K,b.whave=b.wsize):(b.wnext+=Y,b.wnext===b.wsize&&(b.wnext=0),b.whave<b.wsize&&(b.whave+=Y))),0}o.inflateReset=w,o.inflateReset2=u,o.inflateResetKeep=y,o.inflateInit=function(x){return G(x,15)},o.inflateInit2=G,o.inflate=function(x,N){var U,K,Y,b,q,j,W,Z,gA,tA,IA,QA,nA,DA,CA,hA,sA,cA,SA,FA,aA,xA,RA,NA,HA=0,PA=new B.Buf8(4),GA=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!x||!x.state||!x.output||!x.input&&x.avail_in!==0)return a;(U=x.state).mode===12&&(U.mode=13),q=x.next_out,Y=x.output,W=x.avail_out,b=x.next_in,K=x.input,j=x.avail_in,Z=U.hold,gA=U.bits,tA=j,IA=W,xA=r;A:for(;;)switch(U.mode){case c:if(U.wrap===0){U.mode=13;break}for(;gA<16;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}if(2&U.wrap&&Z===35615){PA[U.check=0]=255&Z,PA[1]=Z>>>8&255,U.check=Q(U.check,PA,2,0),gA=Z=0,U.mode=2;break}if(U.flags=0,U.head&&(U.head.done=!1),!(1&U.wrap)||(((255&Z)<<8)+(Z>>8))%31){x.msg="incorrect header check",U.mode=30;break}if((15&Z)!=8){x.msg="unknown compression method",U.mode=30;break}if(gA-=4,aA=8+(15&(Z>>>=4)),U.wbits===0)U.wbits=aA;else if(aA>U.wbits){x.msg="invalid window size",U.mode=30;break}U.dmax=1<<aA,x.adler=U.check=1,U.mode=512&Z?10:12,gA=Z=0;break;case 2:for(;gA<16;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}if(U.flags=Z,(255&U.flags)!=8){x.msg="unknown compression method",U.mode=30;break}if(57344&U.flags){x.msg="unknown header flags set",U.mode=30;break}U.head&&(U.head.text=Z>>8&1),512&U.flags&&(PA[0]=255&Z,PA[1]=Z>>>8&255,U.check=Q(U.check,PA,2,0)),gA=Z=0,U.mode=3;case 3:for(;gA<32;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}U.head&&(U.head.time=Z),512&U.flags&&(PA[0]=255&Z,PA[1]=Z>>>8&255,PA[2]=Z>>>16&255,PA[3]=Z>>>24&255,U.check=Q(U.check,PA,4,0)),gA=Z=0,U.mode=4;case 4:for(;gA<16;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}U.head&&(U.head.xflags=255&Z,U.head.os=Z>>8),512&U.flags&&(PA[0]=255&Z,PA[1]=Z>>>8&255,U.check=Q(U.check,PA,2,0)),gA=Z=0,U.mode=5;case 5:if(1024&U.flags){for(;gA<16;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}U.length=Z,U.head&&(U.head.extra_len=Z),512&U.flags&&(PA[0]=255&Z,PA[1]=Z>>>8&255,U.check=Q(U.check,PA,2,0)),gA=Z=0}else U.head&&(U.head.extra=null);U.mode=6;case 6:if(1024&U.flags&&(j<(QA=U.length)&&(QA=j),QA&&(U.head&&(aA=U.head.extra_len-U.length,U.head.extra||(U.head.extra=new Array(U.head.extra_len)),B.arraySet(U.head.extra,K,b,QA,aA)),512&U.flags&&(U.check=Q(U.check,K,QA,b)),j-=QA,b+=QA,U.length-=QA),U.length))break A;U.length=0,U.mode=7;case 7:if(2048&U.flags){if(j===0)break A;for(QA=0;aA=K[b+QA++],U.head&&aA&&U.length<65536&&(U.head.name+=String.fromCharCode(aA)),aA&&QA<j;);if(512&U.flags&&(U.check=Q(U.check,K,QA,b)),j-=QA,b+=QA,aA)break A}else U.head&&(U.head.name=null);U.length=0,U.mode=8;case 8:if(4096&U.flags){if(j===0)break A;for(QA=0;aA=K[b+QA++],U.head&&aA&&U.length<65536&&(U.head.comment+=String.fromCharCode(aA)),aA&&QA<j;);if(512&U.flags&&(U.check=Q(U.check,K,QA,b)),j-=QA,b+=QA,aA)break A}else U.head&&(U.head.comment=null);U.mode=9;case 9:if(512&U.flags){for(;gA<16;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}if(Z!==(65535&U.check)){x.msg="header crc mismatch",U.mode=30;break}gA=Z=0}U.head&&(U.head.hcrc=U.flags>>9&1,U.head.done=!0),x.adler=U.check=0,U.mode=12;break;case 10:for(;gA<32;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}x.adler=U.check=D(Z),gA=Z=0,U.mode=11;case 11:if(U.havedict===0)return x.next_out=q,x.avail_out=W,x.next_in=b,x.avail_in=j,U.hold=Z,U.bits=gA,2;x.adler=U.check=1,U.mode=12;case 12:if(N===5||N===6)break A;case 13:if(U.last){Z>>>=7&gA,gA-=7&gA,U.mode=27;break}for(;gA<3;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}switch(U.last=1&Z,gA-=1,3&(Z>>>=1)){case 0:U.mode=14;break;case 1:if(S(U),U.mode=20,N!==6)break;Z>>>=2,gA-=2;break A;case 2:U.mode=17;break;case 3:x.msg="invalid block type",U.mode=30}Z>>>=2,gA-=2;break;case 14:for(Z>>>=7&gA,gA-=7&gA;gA<32;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}if((65535&Z)!=(Z>>>16^65535)){x.msg="invalid stored block lengths",U.mode=30;break}if(U.length=65535&Z,gA=Z=0,U.mode=15,N===6)break A;case 15:U.mode=16;case 16:if(QA=U.length){if(j<QA&&(QA=j),W<QA&&(QA=W),QA===0)break A;B.arraySet(Y,K,b,QA,q),j-=QA,b+=QA,W-=QA,q+=QA,U.length-=QA;break}U.mode=12;break;case 17:for(;gA<14;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}if(U.nlen=257+(31&Z),Z>>>=5,gA-=5,U.ndist=1+(31&Z),Z>>>=5,gA-=5,U.ncode=4+(15&Z),Z>>>=4,gA-=4,286<U.nlen||30<U.ndist){x.msg="too many length or distance symbols",U.mode=30;break}U.have=0,U.mode=18;case 18:for(;U.have<U.ncode;){for(;gA<3;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}U.lens[GA[U.have++]]=7&Z,Z>>>=3,gA-=3}for(;U.have<19;)U.lens[GA[U.have++]]=0;if(U.lencode=U.lendyn,U.lenbits=7,RA={bits:U.lenbits},xA=E(0,U.lens,0,19,U.lencode,0,U.work,RA),U.lenbits=RA.bits,xA){x.msg="invalid code lengths set",U.mode=30;break}U.have=0,U.mode=19;case 19:for(;U.have<U.nlen+U.ndist;){for(;hA=(HA=U.lencode[Z&(1<<U.lenbits)-1])>>>16&255,sA=65535&HA,!((CA=HA>>>24)<=gA);){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}if(sA<16)Z>>>=CA,gA-=CA,U.lens[U.have++]=sA;else{if(sA===16){for(NA=CA+2;gA<NA;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}if(Z>>>=CA,gA-=CA,U.have===0){x.msg="invalid bit length repeat",U.mode=30;break}aA=U.lens[U.have-1],QA=3+(3&Z),Z>>>=2,gA-=2}else if(sA===17){for(NA=CA+3;gA<NA;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}gA-=CA,aA=0,QA=3+(7&(Z>>>=CA)),Z>>>=3,gA-=3}else{for(NA=CA+7;gA<NA;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}gA-=CA,aA=0,QA=11+(127&(Z>>>=CA)),Z>>>=7,gA-=7}if(U.have+QA>U.nlen+U.ndist){x.msg="invalid bit length repeat",U.mode=30;break}for(;QA--;)U.lens[U.have++]=aA}}if(U.mode===30)break;if(U.lens[256]===0){x.msg="invalid code -- missing end-of-block",U.mode=30;break}if(U.lenbits=9,RA={bits:U.lenbits},xA=E(n,U.lens,0,U.nlen,U.lencode,0,U.work,RA),U.lenbits=RA.bits,xA){x.msg="invalid literal/lengths set",U.mode=30;break}if(U.distbits=6,U.distcode=U.distdyn,RA={bits:U.distbits},xA=E(s,U.lens,U.nlen,U.ndist,U.distcode,0,U.work,RA),U.distbits=RA.bits,xA){x.msg="invalid distances set",U.mode=30;break}if(U.mode=20,N===6)break A;case 20:U.mode=21;case 21:if(6<=j&&258<=W){x.next_out=q,x.avail_out=W,x.next_in=b,x.avail_in=j,U.hold=Z,U.bits=gA,i(x,IA),q=x.next_out,Y=x.output,W=x.avail_out,b=x.next_in,K=x.input,j=x.avail_in,Z=U.hold,gA=U.bits,U.mode===12&&(U.back=-1);break}for(U.back=0;hA=(HA=U.lencode[Z&(1<<U.lenbits)-1])>>>16&255,sA=65535&HA,!((CA=HA>>>24)<=gA);){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}if(hA&&(240&hA)==0){for(cA=CA,SA=hA,FA=sA;hA=(HA=U.lencode[FA+((Z&(1<<cA+SA)-1)>>cA)])>>>16&255,sA=65535&HA,!(cA+(CA=HA>>>24)<=gA);){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}Z>>>=cA,gA-=cA,U.back+=cA}if(Z>>>=CA,gA-=CA,U.back+=CA,U.length=sA,hA===0){U.mode=26;break}if(32&hA){U.back=-1,U.mode=12;break}if(64&hA){x.msg="invalid literal/length code",U.mode=30;break}U.extra=15&hA,U.mode=22;case 22:if(U.extra){for(NA=U.extra;gA<NA;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}U.length+=Z&(1<<U.extra)-1,Z>>>=U.extra,gA-=U.extra,U.back+=U.extra}U.was=U.length,U.mode=23;case 23:for(;hA=(HA=U.distcode[Z&(1<<U.distbits)-1])>>>16&255,sA=65535&HA,!((CA=HA>>>24)<=gA);){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}if((240&hA)==0){for(cA=CA,SA=hA,FA=sA;hA=(HA=U.distcode[FA+((Z&(1<<cA+SA)-1)>>cA)])>>>16&255,sA=65535&HA,!(cA+(CA=HA>>>24)<=gA);){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}Z>>>=cA,gA-=cA,U.back+=cA}if(Z>>>=CA,gA-=CA,U.back+=CA,64&hA){x.msg="invalid distance code",U.mode=30;break}U.offset=sA,U.extra=15&hA,U.mode=24;case 24:if(U.extra){for(NA=U.extra;gA<NA;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}U.offset+=Z&(1<<U.extra)-1,Z>>>=U.extra,gA-=U.extra,U.back+=U.extra}if(U.offset>U.dmax){x.msg="invalid distance too far back",U.mode=30;break}U.mode=25;case 25:if(W===0)break A;if(QA=IA-W,U.offset>QA){if((QA=U.offset-QA)>U.whave&&U.sane){x.msg="invalid distance too far back",U.mode=30;break}nA=QA>U.wnext?(QA-=U.wnext,U.wsize-QA):U.wnext-QA,QA>U.length&&(QA=U.length),DA=U.window}else DA=Y,nA=q-U.offset,QA=U.length;for(W<QA&&(QA=W),W-=QA,U.length-=QA;Y[q++]=DA[nA++],--QA;);U.length===0&&(U.mode=21);break;case 26:if(W===0)break A;Y[q++]=U.length,W--,U.mode=21;break;case 27:if(U.wrap){for(;gA<32;){if(j===0)break A;j--,Z|=K[b++]<<gA,gA+=8}if(IA-=W,x.total_out+=IA,U.total+=IA,IA&&(x.adler=U.check=U.flags?Q(U.check,Y,IA,q-IA):C(U.check,Y,IA,q-IA)),IA=W,(U.flags?Z:D(Z))!==U.check){x.msg="incorrect data check",U.mode=30;break}gA=Z=0}U.mode=28;case 28:if(U.wrap&&U.flags){for(;gA<32;){if(j===0)break A;j--,Z+=K[b++]<<gA,gA+=8}if(Z!==(4294967295&U.total)){x.msg="incorrect length check",U.mode=30;break}gA=Z=0}U.mode=29;case 29:xA=1;break A;case 30:xA=-3;break A;case 31:return-4;default:return a}return x.next_out=q,x.avail_out=W,x.next_in=b,x.avail_in=j,U.hold=Z,U.bits=gA,(U.wsize||IA!==x.avail_out&&U.mode<30&&(U.mode<27||N!==4))&&R(x,x.output,x.next_out,IA-x.avail_out)?(U.mode=31,-4):(tA-=x.avail_in,IA-=x.avail_out,x.total_in+=tA,x.total_out+=IA,U.total+=IA,U.wrap&&IA&&(x.adler=U.check=U.flags?Q(U.check,Y,IA,x.next_out-IA):C(U.check,Y,IA,x.next_out-IA)),x.data_type=U.bits+(U.last?64:0)+(U.mode===12?128:0)+(U.mode===20||U.mode===15?256:0),(tA==0&&IA===0||N===4)&&xA===r&&(xA=-5),xA)},o.inflateEnd=function(x){if(!x||!x.state)return a;var N=x.state;return N.window&&(N.window=null),x.state=null,r},o.inflateGetHeader=function(x,N){var U;return x&&x.state?(2&(U=x.state).wrap)==0?a:((U.head=N).done=!1,r):a},o.inflateSetDictionary=function(x,N){var U,K=N.length;return x&&x.state?(U=x.state).wrap!==0&&U.mode!==11?a:U.mode===11&&C(1,N,K,0)!==U.check?-3:R(x,N,K,K)?(U.mode=31,-4):(U.havedict=1,r):a},o.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,o){var B=e("../utils/common"),C=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Q=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],i=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],E=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(n,s,r,a,c,h,l,D){var d,y,w,u,G,m,p,k,S,R=D.bits,x=0,N=0,U=0,K=0,Y=0,b=0,q=0,j=0,W=0,Z=0,gA=null,tA=0,IA=new B.Buf16(16),QA=new B.Buf16(16),nA=null,DA=0;for(x=0;x<=15;x++)IA[x]=0;for(N=0;N<a;N++)IA[s[r+N]]++;for(Y=R,K=15;1<=K&&IA[K]===0;K--);if(K<Y&&(Y=K),K===0)return c[h++]=20971520,c[h++]=20971520,D.bits=1,0;for(U=1;U<K&&IA[U]===0;U++);for(Y<U&&(Y=U),x=j=1;x<=15;x++)if(j<<=1,(j-=IA[x])<0)return-1;if(0<j&&(n===0||K!==1))return-1;for(QA[1]=0,x=1;x<15;x++)QA[x+1]=QA[x]+IA[x];for(N=0;N<a;N++)s[r+N]!==0&&(l[QA[s[r+N]]++]=N);if(m=n===0?(gA=nA=l,19):n===1?(gA=C,tA-=257,nA=Q,DA-=257,256):(gA=i,nA=E,-1),x=U,G=h,q=N=Z=0,w=-1,u=(W=1<<(b=Y))-1,n===1&&852<W||n===2&&592<W)return 1;for(;;){for(p=x-q,S=l[N]<m?(k=0,l[N]):l[N]>m?(k=nA[DA+l[N]],gA[tA+l[N]]):(k=96,0),d=1<<x-q,U=y=1<<b;c[G+(Z>>q)+(y-=d)]=p<<24|k<<16|S|0,y!==0;);for(d=1<<x-1;Z&d;)d>>=1;if(d!==0?(Z&=d-1,Z+=d):Z=0,N++,--IA[x]==0){if(x===K)break;x=s[r+l[N]]}if(Y<x&&(Z&u)!==w){for(q===0&&(q=Y),G+=U,j=1<<(b=x-q);b+q<K&&!((j-=IA[b+q])<=0);)b++,j<<=1;if(W+=1<<b,n===1&&852<W||n===2&&592<W)return 1;c[w=Z&u]=Y<<24|b<<16|G-h|0}}return Z!==0&&(c[G+Z]=x-q<<24|64<<16|0),D.bits=Y,0}},{"../utils/common":41}],51:[function(e,t,o){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,o){var B=e("../utils/common"),C=0,Q=1;function i(HA){for(var PA=HA.length;0<=--PA;)HA[PA]=0}var E=0,n=29,s=256,r=s+1+n,a=30,c=19,h=2*r+1,l=15,D=16,d=7,y=256,w=16,u=17,G=18,m=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],p=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],k=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],R=new Array(2*(r+2));i(R);var x=new Array(2*a);i(x);var N=new Array(512);i(N);var U=new Array(256);i(U);var K=new Array(n);i(K);var Y,b,q,j=new Array(a);function W(HA,PA,GA,LA,dA){this.static_tree=HA,this.extra_bits=PA,this.extra_base=GA,this.elems=LA,this.max_length=dA,this.has_stree=HA&&HA.length}function Z(HA,PA){this.dyn_tree=HA,this.max_code=0,this.stat_desc=PA}function gA(HA){return HA<256?N[HA]:N[256+(HA>>>7)]}function tA(HA,PA){HA.pending_buf[HA.pending++]=255&PA,HA.pending_buf[HA.pending++]=PA>>>8&255}function IA(HA,PA,GA){HA.bi_valid>D-GA?(HA.bi_buf|=PA<<HA.bi_valid&65535,tA(HA,HA.bi_buf),HA.bi_buf=PA>>D-HA.bi_valid,HA.bi_valid+=GA-D):(HA.bi_buf|=PA<<HA.bi_valid&65535,HA.bi_valid+=GA)}function QA(HA,PA,GA){IA(HA,GA[2*PA],GA[2*PA+1])}function nA(HA,PA){for(var GA=0;GA|=1&HA,HA>>>=1,GA<<=1,0<--PA;);return GA>>>1}function DA(HA,PA,GA){var LA,dA,bA=new Array(l+1),WA=0;for(LA=1;LA<=l;LA++)bA[LA]=WA=WA+GA[LA-1]<<1;for(dA=0;dA<=PA;dA++){var Qg=HA[2*dA+1];Qg!==0&&(HA[2*dA]=nA(bA[Qg]++,Qg))}}function CA(HA){var PA;for(PA=0;PA<r;PA++)HA.dyn_ltree[2*PA]=0;for(PA=0;PA<a;PA++)HA.dyn_dtree[2*PA]=0;for(PA=0;PA<c;PA++)HA.bl_tree[2*PA]=0;HA.dyn_ltree[2*y]=1,HA.opt_len=HA.static_len=0,HA.last_lit=HA.matches=0}function hA(HA){8<HA.bi_valid?tA(HA,HA.bi_buf):0<HA.bi_valid&&(HA.pending_buf[HA.pending++]=HA.bi_buf),HA.bi_buf=0,HA.bi_valid=0}function sA(HA,PA,GA,LA){var dA=2*PA,bA=2*GA;return HA[dA]<HA[bA]||HA[dA]===HA[bA]&&LA[PA]<=LA[GA]}function cA(HA,PA,GA){for(var LA=HA.heap[GA],dA=GA<<1;dA<=HA.heap_len&&(dA<HA.heap_len&&sA(PA,HA.heap[dA+1],HA.heap[dA],HA.depth)&&dA++,!sA(PA,LA,HA.heap[dA],HA.depth));)HA.heap[GA]=HA.heap[dA],GA=dA,dA<<=1;HA.heap[GA]=LA}function SA(HA,PA,GA){var LA,dA,bA,WA,Qg=0;if(HA.last_lit!==0)for(;LA=HA.pending_buf[HA.d_buf+2*Qg]<<8|HA.pending_buf[HA.d_buf+2*Qg+1],dA=HA.pending_buf[HA.l_buf+Qg],Qg++,LA===0?QA(HA,dA,PA):(QA(HA,(bA=U[dA])+s+1,PA),(WA=m[bA])!==0&&IA(HA,dA-=K[bA],WA),QA(HA,bA=gA(--LA),GA),(WA=p[bA])!==0&&IA(HA,LA-=j[bA],WA)),Qg<HA.last_lit;);QA(HA,y,PA)}function FA(HA,PA){var GA,LA,dA,bA=PA.dyn_tree,WA=PA.stat_desc.static_tree,Qg=PA.stat_desc.has_stree,YA=PA.stat_desc.elems,uA=-1;for(HA.heap_len=0,HA.heap_max=h,GA=0;GA<YA;GA++)bA[2*GA]!==0?(HA.heap[++HA.heap_len]=uA=GA,HA.depth[GA]=0):bA[2*GA+1]=0;for(;HA.heap_len<2;)bA[2*(dA=HA.heap[++HA.heap_len]=uA<2?++uA:0)]=1,HA.depth[dA]=0,HA.opt_len--,Qg&&(HA.static_len-=WA[2*dA+1]);for(PA.max_code=uA,GA=HA.heap_len>>1;1<=GA;GA--)cA(HA,bA,GA);for(dA=YA;GA=HA.heap[1],HA.heap[1]=HA.heap[HA.heap_len--],cA(HA,bA,1),LA=HA.heap[1],HA.heap[--HA.heap_max]=GA,HA.heap[--HA.heap_max]=LA,bA[2*dA]=bA[2*GA]+bA[2*LA],HA.depth[dA]=(HA.depth[GA]>=HA.depth[LA]?HA.depth[GA]:HA.depth[LA])+1,bA[2*GA+1]=bA[2*LA+1]=dA,HA.heap[1]=dA++,cA(HA,bA,1),2<=HA.heap_len;);HA.heap[--HA.heap_max]=HA.heap[1],(function(kA,OA){var $A,og,dg,Sg,Bg,Yg,iI=OA.dyn_tree,mA=OA.max_code,ng=OA.stat_desc.static_tree,pg=OA.stat_desc.has_stree,Ug=OA.stat_desc.extra_bits,mg=OA.stat_desc.extra_base,Rg=OA.stat_desc.max_length,Jg=0;for(Sg=0;Sg<=l;Sg++)kA.bl_count[Sg]=0;for(iI[2*kA.heap[kA.heap_max]+1]=0,$A=kA.heap_max+1;$A<h;$A++)Rg<(Sg=iI[2*iI[2*(og=kA.heap[$A])+1]+1]+1)&&(Sg=Rg,Jg++),iI[2*og+1]=Sg,mA<og||(kA.bl_count[Sg]++,Bg=0,mg<=og&&(Bg=Ug[og-mg]),Yg=iI[2*og],kA.opt_len+=Yg*(Sg+Bg),pg&&(kA.static_len+=Yg*(ng[2*og+1]+Bg)));if(Jg!==0){do{for(Sg=Rg-1;kA.bl_count[Sg]===0;)Sg--;kA.bl_count[Sg]--,kA.bl_count[Sg+1]+=2,kA.bl_count[Rg]--,Jg-=2}while(0<Jg);for(Sg=Rg;Sg!==0;Sg--)for(og=kA.bl_count[Sg];og!==0;)mA<(dg=kA.heap[--$A])||(iI[2*dg+1]!==Sg&&(kA.opt_len+=(Sg-iI[2*dg+1])*iI[2*dg],iI[2*dg+1]=Sg),og--)}})(HA,PA),DA(bA,uA,HA.bl_count)}function aA(HA,PA,GA){var LA,dA,bA=-1,WA=PA[1],Qg=0,YA=7,uA=4;for(WA===0&&(YA=138,uA=3),PA[2*(GA+1)+1]=65535,LA=0;LA<=GA;LA++)dA=WA,WA=PA[2*(LA+1)+1],++Qg<YA&&dA===WA||(Qg<uA?HA.bl_tree[2*dA]+=Qg:dA!==0?(dA!==bA&&HA.bl_tree[2*dA]++,HA.bl_tree[2*w]++):Qg<=10?HA.bl_tree[2*u]++:HA.bl_tree[2*G]++,bA=dA,uA=(Qg=0)===WA?(YA=138,3):dA===WA?(YA=6,3):(YA=7,4))}function xA(HA,PA,GA){var LA,dA,bA=-1,WA=PA[1],Qg=0,YA=7,uA=4;for(WA===0&&(YA=138,uA=3),LA=0;LA<=GA;LA++)if(dA=WA,WA=PA[2*(LA+1)+1],!(++Qg<YA&&dA===WA)){if(Qg<uA)for(;QA(HA,dA,HA.bl_tree),--Qg!=0;);else dA!==0?(dA!==bA&&(QA(HA,dA,HA.bl_tree),Qg--),QA(HA,w,HA.bl_tree),IA(HA,Qg-3,2)):Qg<=10?(QA(HA,u,HA.bl_tree),IA(HA,Qg-3,3)):(QA(HA,G,HA.bl_tree),IA(HA,Qg-11,7));bA=dA,uA=(Qg=0)===WA?(YA=138,3):dA===WA?(YA=6,3):(YA=7,4)}}i(j);var RA=!1;function NA(HA,PA,GA,LA){IA(HA,(E<<1)+(LA?1:0),3),(function(dA,bA,WA,Qg){hA(dA),tA(dA,WA),tA(dA,~WA),B.arraySet(dA.pending_buf,dA.window,bA,WA,dA.pending),dA.pending+=WA})(HA,PA,GA)}o._tr_init=function(HA){RA||((function(){var PA,GA,LA,dA,bA,WA=new Array(l+1);for(dA=LA=0;dA<n-1;dA++)for(K[dA]=LA,PA=0;PA<1<<m[dA];PA++)U[LA++]=dA;for(U[LA-1]=dA,dA=bA=0;dA<16;dA++)for(j[dA]=bA,PA=0;PA<1<<p[dA];PA++)N[bA++]=dA;for(bA>>=7;dA<a;dA++)for(j[dA]=bA<<7,PA=0;PA<1<<p[dA]-7;PA++)N[256+bA++]=dA;for(GA=0;GA<=l;GA++)WA[GA]=0;for(PA=0;PA<=143;)R[2*PA+1]=8,PA++,WA[8]++;for(;PA<=255;)R[2*PA+1]=9,PA++,WA[9]++;for(;PA<=279;)R[2*PA+1]=7,PA++,WA[7]++;for(;PA<=287;)R[2*PA+1]=8,PA++,WA[8]++;for(DA(R,r+1,WA),PA=0;PA<a;PA++)x[2*PA+1]=5,x[2*PA]=nA(PA,5);Y=new W(R,m,s+1,r,l),b=new W(x,p,0,a,l),q=new W(new Array(0),k,0,c,d)})(),RA=!0),HA.l_desc=new Z(HA.dyn_ltree,Y),HA.d_desc=new Z(HA.dyn_dtree,b),HA.bl_desc=new Z(HA.bl_tree,q),HA.bi_buf=0,HA.bi_valid=0,CA(HA)},o._tr_stored_block=NA,o._tr_flush_block=function(HA,PA,GA,LA){var dA,bA,WA=0;0<HA.level?(HA.strm.data_type===2&&(HA.strm.data_type=(function(Qg){var YA,uA=4093624447;for(YA=0;YA<=31;YA++,uA>>>=1)if(1&uA&&Qg.dyn_ltree[2*YA]!==0)return C;if(Qg.dyn_ltree[18]!==0||Qg.dyn_ltree[20]!==0||Qg.dyn_ltree[26]!==0)return Q;for(YA=32;YA<s;YA++)if(Qg.dyn_ltree[2*YA]!==0)return Q;return C})(HA)),FA(HA,HA.l_desc),FA(HA,HA.d_desc),WA=(function(Qg){var YA;for(aA(Qg,Qg.dyn_ltree,Qg.l_desc.max_code),aA(Qg,Qg.dyn_dtree,Qg.d_desc.max_code),FA(Qg,Qg.bl_desc),YA=c-1;3<=YA&&Qg.bl_tree[2*S[YA]+1]===0;YA--);return Qg.opt_len+=3*(YA+1)+5+5+4,YA})(HA),dA=HA.opt_len+3+7>>>3,(bA=HA.static_len+3+7>>>3)<=dA&&(dA=bA)):dA=bA=GA+5,GA+4<=dA&&PA!==-1?NA(HA,PA,GA,LA):HA.strategy===4||bA===dA?(IA(HA,2+(LA?1:0),3),SA(HA,R,x)):(IA(HA,4+(LA?1:0),3),(function(Qg,YA,uA,kA){var OA;for(IA(Qg,YA-257,5),IA(Qg,uA-1,5),IA(Qg,kA-4,4),OA=0;OA<kA;OA++)IA(Qg,Qg.bl_tree[2*S[OA]+1],3);xA(Qg,Qg.dyn_ltree,YA-1),xA(Qg,Qg.dyn_dtree,uA-1)})(HA,HA.l_desc.max_code+1,HA.d_desc.max_code+1,WA+1),SA(HA,HA.dyn_ltree,HA.dyn_dtree)),CA(HA),LA&&hA(HA)},o._tr_tally=function(HA,PA,GA){return HA.pending_buf[HA.d_buf+2*HA.last_lit]=PA>>>8&255,HA.pending_buf[HA.d_buf+2*HA.last_lit+1]=255&PA,HA.pending_buf[HA.l_buf+HA.last_lit]=255&GA,HA.last_lit++,PA===0?HA.dyn_ltree[2*GA]++:(HA.matches++,PA--,HA.dyn_ltree[2*(U[GA]+s+1)]++,HA.dyn_dtree[2*gA(PA)]++),HA.last_lit===HA.lit_bufsize-1},o._tr_align=function(HA){IA(HA,2,3),QA(HA,y,R),(function(PA){PA.bi_valid===16?(tA(PA,PA.bi_buf),PA.bi_buf=0,PA.bi_valid=0):8<=PA.bi_valid&&(PA.pending_buf[PA.pending++]=255&PA.bi_buf,PA.bi_buf>>=8,PA.bi_valid-=8)})(HA)}},{"../utils/common":41}],53:[function(e,t,o){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,o){(function(B){(function(C,Q){if(!C.setImmediate){var i,E,n,s,r=1,a={},c=!1,h=C.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(C);l=l&&l.setTimeout?l:C,i={}.toString.call(C.process)==="[object process]"?function(w){I.nextTick(function(){d(w)})}:(function(){if(C.postMessage&&!C.importScripts){var w=!0,u=C.onmessage;return C.onmessage=function(){w=!1},C.postMessage("","*"),C.onmessage=u,w}})()?(s="setImmediate$"+Math.random()+"$",C.addEventListener?C.addEventListener("message",y,!1):C.attachEvent("onmessage",y),function(w){C.postMessage(s+w,"*")}):C.MessageChannel?((n=new MessageChannel).port1.onmessage=function(w){d(w.data)},function(w){n.port2.postMessage(w)}):h&&"onreadystatechange"in h.createElement("script")?(E=h.documentElement,function(w){var u=h.createElement("script");u.onreadystatechange=function(){d(w),u.onreadystatechange=null,E.removeChild(u),u=null},E.appendChild(u)}):function(w){setTimeout(d,0,w)},l.setImmediate=function(w){typeof w!="function"&&(w=new Function(""+w));for(var u=new Array(arguments.length-1),G=0;G<u.length;G++)u[G]=arguments[G+1];var m={callback:w,args:u};return a[r]=m,i(r),r++},l.clearImmediate=D}function D(w){delete a[w]}function d(w){if(c)setTimeout(d,0,w);else{var u=a[w];if(u){c=!0;try{(function(G){var m=G.callback,p=G.args;switch(p.length){case 0:m();break;case 1:m(p[0]);break;case 2:m(p[0],p[1]);break;case 3:m(p[0],p[1],p[2]);break;default:m.apply(Q,p)}})(u)}finally{D(w),c=!1}}}}function y(w){w.source===C&&typeof w.data=="string"&&w.data.indexOf(s)===0&&d(+w.data.slice(s.length))}})(typeof self>"u"?B===void 0?this:B:self)}).call(this,typeof NY<"u"?NY:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(TCg)),TCg.exports}var vMo=HMo();const ioA=Lp(vMo),TMo=async()=>await Promise.resolve().then(()=>CVo),qMo=async({circuitJson:g,projectName:A})=>{try{const{circuitJsonToStep:I}=await TMo(),e=await I(g,{exportMode:"assembly"}),t=new ioA;for(const[o,B]of Object.entries(e))t.file(o,B);Yk(await t.generateAsync({type:"blob"}),{fileName:`${A}-assembly.zip`})}catch(I){KC.error(`Failed to export assembly STEP: ${I instanceof Error?I.message:String(I)}`)}},ZMo=async({circuitJson:g,projectName:A})=>{await KC.promise((async()=>{const I=new ioA,[e,{convertCircuitJsonToBomRows:t,convertBomRowsToCsv:o},{convertCircuitJsonToPickAndPlaceCsv:B}]=await Promise.all([NS("circuit-json-to-gerber"),NS("circuit-json-to-bom-csv"),NS("circuit-json-to-pnp-csv")]),C=g.filter(r=>!("error_type"in r)&&!("warning_type"in r)),Q=e.convertCircuitJsonToGerberFiles(C,{flip_y_axis:!1});for(const[r,a]of Object.entries(Q))I.file(`gerber/${r}`,a);const i=await t({circuitJson:g}),E=await o(i);I.file("bom.csv",E);const n=await B(g,{supplier:"jlcpcb"});I.file("pick_and_place.csv",n);const s=await I.generateAsync({type:"blob"});Yk(s,{fileName:`${A}_fabrication_files.zip`})})(),{loading:"Generating fabrication files...",success:"Fabrication ZIP ready",error:I=>`Failed to generate fabrication files: ${I instanceof Error?I.message:String(I)}`})},OMo=async g=>{const{createFdmComponentBox:A,renderFdmComponentBoxPng:I}=await NS("circuit-json-to-fdm-component-box"),[e,t]=await Promise.all([A(g),I(g,{},{width:960,height:640})]);return{...e,previewPng:t}},WMo=async g=>{const{createFdmComponentBox:A}=await NS("circuit-json-to-fdm-component-box");return A(g)},TPI=({generatedBox:g,projectName:A})=>{const I=Uint8Array.from(g.threeMf);Yk(new Blob([I.buffer],{type:"model/3mf"}),{fileName:`${cCg(A)}-component-box.3mf`})},VMo=async({circuitJson:g,projectName:A})=>{await KC.promise((async()=>{const I=await WMo(g);TPI({generatedBox:I,projectName:A})})(),{loading:"Generating component box...",success:"Component box 3MF ready",error:I=>`Failed to generate component box: ${I instanceof Error?I.message:String(I)}`})},jMo=async({circuitJson:g,projectName:A})=>{let I;try{const{convertCircuitJsonToGltf:e}=await NS("circuit-json-to-gltf");console.log("convertCircuitJsonToGltf",e);const t=await e(g,{format:"glb",boardTextureResolution:1024});if(!t||!(t instanceof ArrayBuffer))throw new Error("Invalid GLB data returned from converter");I=new Blob([t],{type:"model/gltf-binary"})}catch(e){console.error("GLB Export Error:",e);return}Yk(I,{fileName:`${A}.glb`})},zMo=async({circuitJson:g,libraryName:A})=>{const{CircuitJsonToKicadLibraryConverter:I}=await NS("circuit-json-to-kicad"),e=new I(g,{libraryName:A,footprintLibraryName:A});e.runUntilFinished();const t=e.getOutput(),o=new ioA;o.file(`${A}.kicad_sym`,t.kicadSymString);for(const B of t.footprints){const C=o.folder(`${A}.pretty`);C&&C.file(`${B.footprintName}.kicad_mod`,`${B.kicadModString}
5672
5672
  `)}if(t.model3dSourcePaths.length>0){const B=o.folder(`${A}.3dshapes`);if(B)for(const C of t.model3dSourcePaths)try{const Q=C.split("/").pop()||C,i=await fetch(C);if(i.ok){const E=await i.arrayBuffer();B.file(Q,E)}}catch{}}return o.file("fp-lib-table",t.fpLibTableString),o.file("sym-lib-table",t.symLibTableString),o},XMo=async({circuitJson:g,projectName:A})=>{await KC.promise((async()=>{const e=await(await zMo({circuitJson:g,libraryName:A})).generateAsync({type:"blob"});Yk(e,{fileName:`${A}_kicad_library.zip`})})(),{loading:"Generating KiCad library...",success:"KiCad library ZIP ready",error:I=>`Failed to generate KiCad library: ${I instanceof Error?I.message:String(I)}`})},$Mo=async({circuitJson:g,projectName:A})=>{const{CircuitJsonToKicadPcbConverter:I,CircuitJsonToKicadSchConverter:e,CircuitJsonToKicadProConverter:t,resolveAndLoadKicad3dModelFiles:o}=await NS("circuit-json-to-kicad"),B=new e(g);B.runUntilFinished();const C=B.getOutputString(),Q=new I(g,{includeBuiltin3dModels:!0,projectName:A});Q.runUntilFinished();const i=Q.getOutputString(),E=new t(g,{projectName:A,schematicFilename:`${A}.kicad_sch`,pcbFilename:`${A}.kicad_pcb`});E.runUntilFinished();const n=E.getOutputString(),s=new ioA;return s.file(`${A}.kicad_sch`,C),s.file(`${A}.kicad_pcb`,i),s.file(`${A}.kicad_pro`,n),await o({projectName:A,model3dSourcePaths:Q.getModel3dSourcePaths(),fetch,onModelFile:({outputPath:r,content:a})=>{s.file(r,a)},onError:({sourcePath:r})=>{console.warn(`Failed to load 3D model from ${r}`)}}),s},ASo=async({circuitJson:g,projectName:A})=>{await KC.promise((async()=>{const e=await(await $Mo({circuitJson:g,projectName:A})).generateAsync({type:"blob"});Yk(e,{fileName:`${A}_kicad_project.zip`})})(),{loading:"Generating KiCad project...",success:"KiCad project ZIP ready",error:I=>`Failed to generate KiCad project: ${I instanceof Error?I.message:String(I)}`})},qPI=async({circuitJson:g,projectName:A,options:I={}})=>{try{const{convertCircuitJsonToLbrn:e}=await NS("circuit-json-to-lbrn"),o=(await e(g,{includeSilkscreen:I.includeSilkscreen??!1,includeOxidationCleaningLayer:I.includeOxidationCleaningLayer??!0})).toXml(),B=new Blob([o],{type:"application/lbrn"});Yk(B,{fileName:`${A}.lbrn2`})}catch(e){const t=e instanceof Error?e.message:"Unknown error";KC.error(`Failed to export to LBRN format: ${t}`)}},gSo=async({circuitJson:g,projectName:A})=>{const{convertCircuitJsonToPinoutSvg:I}=await NS("circuit-to-svg"),e=I(g);Yk(e,{fileName:`${A}-pinout.svg`,mimeType:"image/svg+xml"})},ISo=async({circuitJson:g,projectName:A})=>{const{circuitJsonToStep:I}=await NS("circuit-json-to-step"),e=g.find(i=>i.type==="pcb_board"),t=e&&"width"in e?e.width:void 0,o=e&&"height"in e?e.height:void 0,B=e&&"thickness"in e?e.thickness:void 0;if(t===void 0||o===void 0||B===void 0){KC.error("Board dimensions not found. Please add a pcb_board with width, height, and thickness to your circuit.");return}let C;try{C=await I(g,{boardWidth:t,boardHeight:o,boardThickness:B,productName:A,includeComponents:!0,includeExternalMeshes:!0})}catch(i){const E=i instanceof Error?i.message:"Unknown error";KC.error(`Failed to convert circuit to STEP format: ${E}`);return}const Q=new Blob([C],{type:"application/step"});try{Yk(Q,{fileName:`${A}.step`})}catch(i){const E=i instanceof Error?i.message:"Unknown error";KC.error(`Failed to download STEP file: ${E}`)}},eSo=[{extension:"json",name:"Circuit JSON"},{extension:"json",name:"Simple Route JSON"},{extension:"zip",name:"Fabrication Files"},{extension:"zip",name:"KiCad Project"},{extension:"zip",name:"Altium Project"},{extension:"zip",name:"KiCad Library"},{extension:"glb",name:"GLB (Binary GLTF)"},{extension:"svg",name:"Pinout SVG"},{extension:"step",name:"STEP"},{extension:"zip",name:"Assembly STEP"},{extension:"lbrn2",name:"LightBurn"}],tSo=async({exportName:g,circuitJson:A,simpleRouteJson:I,projectName:e})=>{const t=cCg(e);if(g==="Fabrication Files"){await ZMo({circuitJson:A,projectName:t});return}if(g==="KiCad Project"){await ASo({circuitJson:A,projectName:t});return}if(g==="Altium Project"){await bMo({circuitJson:A,projectName:t});return}if(g==="KiCad Library"){await XMo({circuitJson:A,projectName:t});return}if(g==="Circuit JSON"){Yk(JSON.stringify(A,null,2),{fileName:`${t}.circuit.json`,mimeType:"application/json"});return}if(g==="Simple Route JSON"){if(!I)throw new Error("No Simple Route JSON available to export");Yk(JSON.stringify(I,null,2),{fileName:`${t}.simple-route.json`,mimeType:"application/json"});return}if(g==="GLB (Binary GLTF)"){await jMo({circuitJson:A,projectName:t});return}if(g==="Pinout SVG"){gSo({circuitJson:A,projectName:t});return}if(g==="STEP"){await ISo({circuitJson:A,projectName:t});return}if(g==="Assembly STEP"){await qMo({circuitJson:A,projectName:t});return}if(g==="Component Box (3MF)"){await VMo({circuitJson:A,projectName:t});return}if(g==="LightBurn"){await qPI({circuitJson:A,projectName:t});return}throw new Error(`Unsupported export type: "${g}"`)},oSo=({packageName:g,onSelectReview:A})=>{const I=Uc(n=>n.fsMap),e=Uc(n=>n.circuitJson),[t,o]=z.useState([]),[B,C]=z.useState(!1),[Q,i]=z.useState(!1);z.useEffect(()=>{!g||!xDA()||(C(!0),ugA.get("ai_reviews/list",{searchParams:{package_name:g}}).json().then(n=>o(n.ai_reviews)).catch(n=>{console.error("Failed to load AI reviews",n),KC.error("Failed to load AI reviews")}).finally(()=>C(!1)))},[g]);const E=async()=>{if(!e){KC.error("Need Circuit JSON to Request AI Review");return}if(!xDA()){KC.error("Missing registry token");return}i(!0);try{const{ai_review:n}=await ugA.post("ai_reviews/create",{json:{package_name:g??"unknown",fs_map:Object.fromEntries(I),circuit_json:e}}).json();o(s=>[n,...s]),A(n),KC.success("AI review requested")}catch(n){console.error("Failed to create AI review",n),KC.error("Failed to request AI review")}finally{i(!1)}};return T.jsxs(T.Fragment,{children:[T.jsxs(fL,{children:[T.jsx(RL,{children:"AI Review"}),T.jsx(Jb,{children:"Select an AI review or request a new one."})]}),T.jsx("div",{className:"rf-flex rf-gap-4 rf-mt-4",children:T.jsx("div",{className:"rf-w-48 rf-h-64 rf-overflow-y-auto rf-border rf-rounded rf-p-2 rf-flex-shrink-0",children:B?T.jsx("div",{className:"rf-text-sm",children:"Loading..."}):t.length>0?t.map(n=>T.jsx("div",{className:"rf-text-sm rf-p-2 rf-cursor-pointer rf-rounded hover:rf-bg-zinc-100",onClick:()=>A(n),children:new Date(n.created_at||"").toLocaleString()},n.ai_review_id)):T.jsx("div",{className:"rf-text-sm rf-text-muted-foreground",children:"No AI reviews found."})})}),T.jsx(JO,{className:"rf-mt-4",children:T.jsx(si,{onClick:E,disabled:Q,children:Q?"Requesting...":"Review my Board"})})]})};function qCg(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Pb=qCg();function ZPI(g){Pb=g}var EoA={exec:()=>null};function qs(g,A=""){let I=typeof g=="string"?g:g.source;const e={replace:(t,o)=>{let B=typeof o=="string"?o:o.source;return B=B.replace(qm.caret,"$1"),I=I.replace(t,B),e},getRegex:()=>new RegExp(I,A)};return e}var qm={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:g=>new RegExp(`^( {0,3}${g})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:g=>new RegExp(`^ {0,${Math.min(3,g-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:g=>new RegExp(`^ {0,${Math.min(3,g-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:g=>new RegExp(`^ {0,${Math.min(3,g-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:g=>new RegExp(`^ {0,${Math.min(3,g-1)}}#`),htmlBeginRegex:g=>new RegExp(`^ {0,${Math.min(3,g-1)}}<(?:[a-z].*>|!--)`,"i")},BSo=/^(?:[ \t]*(?:\n|$))+/,CSo=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,QSo=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,noA=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,iSo=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,ZCg=/(?:[*+-]|\d{1,9}[.)])/,OPI=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,WPI=qs(OPI).replace(/bull/g,ZCg).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),ESo=qs(OPI).replace(/bull/g,ZCg).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),OCg=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,nSo=/^[^\n]+/,WCg=/(?!\s*\])(?:\\.|[^\[\]\\])+/,sSo=qs(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",WCg).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),aSo=qs(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,ZCg).getRegex(),epA="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",VCg=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,rSo=qs("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",VCg).replace("tag",epA).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),VPI=qs(OCg).replace("hr",noA).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",epA).getRegex(),cSo=qs(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",VPI).getRegex(),jCg={blockquote:cSo,code:CSo,def:sSo,fences:QSo,heading:iSo,hr:noA,html:rSo,lheading:WPI,list:aSo,newline:BSo,paragraph:VPI,table:EoA,text:nSo},jPI=qs("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",noA).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",epA).getRegex(),hSo={...jCg,lheading:ESo,table:jPI,paragraph:qs(OCg).replace("hr",noA).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",jPI).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",epA).getRegex()},lSo={...jCg,html:qs(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",VCg).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:EoA,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:qs(OCg).replace("hr",noA).replace("heading",` *#{1,6} *[^
5673
5673
  ]`).replace("lheading",WPI).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},DSo=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,dSo=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,zPI=/^( {2,}|\\)\n(?!\s*$)/,ySo=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,tpA=/[\p{P}\p{S}]/u,zCg=/[\s\p{P}\p{S}]/u,XPI=/[^\s\p{P}\p{S}]/u,wSo=qs(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,zCg).getRegex(),$PI=/(?!~)[\p{P}\p{S}]/u,uSo=/(?!~)[\s\p{P}\p{S}]/u,GSo=/(?:[^\s\p{P}\p{S}]|~)/u,mSo=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,A4I=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,pSo=qs(A4I,"u").replace(/punct/g,tpA).getRegex(),kSo=qs(A4I,"u").replace(/punct/g,$PI).getRegex(),g4I="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",MSo=qs(g4I,"gu").replace(/notPunctSpace/g,XPI).replace(/punctSpace/g,zCg).replace(/punct/g,tpA).getRegex(),SSo=qs(g4I,"gu").replace(/notPunctSpace/g,GSo).replace(/punctSpace/g,uSo).replace(/punct/g,$PI).getRegex(),fSo=qs("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,XPI).replace(/punctSpace/g,zCg).replace(/punct/g,tpA).getRegex(),RSo=qs(/\\(punct)/,"gu").replace(/punct/g,tpA).getRegex(),NSo=qs(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),xSo=qs(VCg).replace("(?:-->|$)","-->").getRegex(),FSo=qs("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",xSo).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),opA=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,USo=qs(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",opA).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),I4I=qs(/^!?\[(label)\]\[(ref)\]/).replace("label",opA).replace("ref",WCg).getRegex(),e4I=qs(/^!?\[(ref)\](?:\[\])?/).replace("ref",WCg).getRegex(),JSo=qs("reflink|nolink(?!\\()","g").replace("reflink",I4I).replace("nolink",e4I).getRegex(),XCg={_backpedal:EoA,anyPunctuation:RSo,autolink:NSo,blockSkip:mSo,br:zPI,code:dSo,del:EoA,emStrongLDelim:pSo,emStrongRDelimAst:MSo,emStrongRDelimUnd:fSo,escape:DSo,link:USo,nolink:e4I,punctuation:wSo,reflink:I4I,reflinkSearch:JSo,tag:FSo,text:ySo,url:EoA},PSo={...XCg,link:qs(/^!?\[(label)\]\((.*?)\)/).replace("label",opA).getRegex(),reflink:qs(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",opA).getRegex()},$Cg={...XCg,emStrongRDelimAst:SSo,emStrongLDelim:kSo,url:qs(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},KSo={...$Cg,br:qs(zPI).replace("{2,}","*").getRegex(),text:qs($Cg.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},BpA={normal:jCg,gfm:hSo,pedantic:lSo},soA={normal:XCg,gfm:$Cg,breaks:KSo,pedantic:PSo},LSo={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},t4I=g=>LSo[g];function dF(g,A){if(A){if(qm.escapeTest.test(g))return g.replace(qm.escapeReplace,t4I)}else if(qm.escapeTestNoEncode.test(g))return g.replace(qm.escapeReplaceNoEncode,t4I);return g}function o4I(g){try{g=encodeURI(g).replace(qm.percentDecode,"%")}catch{return null}return g}function B4I(g,A){const I=g.replace(qm.findPipe,(o,B,C)=>{let Q=!1,i=B;for(;--i>=0&&C[i]==="\\";)Q=!Q;return Q?"|":" |"}),e=I.split(qm.splitPipe);let t=0;if(e[0].trim()||e.shift(),e.length>0&&!e.at(-1)?.trim()&&e.pop(),A)if(e.length>A)e.splice(A);else for(;e.length<A;)e.push("");for(;t<e.length;t++)e[t]=e[t].trim().replace(qm.slashPipe,"|");return e}function aoA(g,A,I){const e=g.length;if(e===0)return"";let t=0;for(;t<e&&g.charAt(e-t-1)===A;)t++;return g.slice(0,e-t)}function YSo(g,A){if(g.indexOf(A[1])===-1)return-1;let I=0;for(let e=0;e<g.length;e++)if(g[e]==="\\")e++;else if(g[e]===A[0])I++;else if(g[e]===A[1]&&(I--,I<0))return e;return I>0?-2:-1}function C4I(g,A,I,e,t){const o=A.href,B=A.title||null,C=g[1].replace(t.other.outputLinkReplace,"$1");e.state.inLink=!0;const Q={type:g[0].charAt(0)==="!"?"image":"link",raw:I,href:o,title:B,text:C,tokens:e.inlineTokens(C)};return e.state.inLink=!1,Q}function _So(g,A,I){const e=g.match(I.other.indentCodeCompensation);if(e===null)return A;const t=e[1];return A.split(`