@agent-workshop/adoc-webapp 0.1.0
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.
- package/LICENSE +5 -0
- package/THIRD_PARTY_NOTICES.md +49 -0
- package/dist/assets/app.css +406 -0
- package/dist/assets/app.js +201 -0
- package/dist/assets/chunks/abnfDiagram-YUKMZFIV-UTBMKFXS.js +1 -0
- package/dist/assets/chunks/architecture-WOLXFQ4H-S6WNHT5H.js +1 -0
- package/dist/assets/chunks/architectureDiagram-47P4ROYG-SQCOEPXG.js +36 -0
- package/dist/assets/chunks/blockDiagram-E7TT5TSB-F5DSMBHI.js +140 -0
- package/dist/assets/chunks/c4Diagram-CRA5TL53-G4W35RYC.js +38 -0
- package/dist/assets/chunks/chunk-2TCGAX73.js +1 -0
- package/dist/assets/chunks/chunk-35SWHG2Z.js +1 -0
- package/dist/assets/chunks/chunk-4UKVVSLZ.js +2 -0
- package/dist/assets/chunks/chunk-56PLA4MI.js +1 -0
- package/dist/assets/chunks/chunk-6QSLXF4I.js +1 -0
- package/dist/assets/chunks/chunk-7DQROAU7.js +1 -0
- package/dist/assets/chunks/chunk-7FXP6RHI.js +1 -0
- package/dist/assets/chunks/chunk-7ITQOSYJ.js +15 -0
- package/dist/assets/chunks/chunk-7W3KTJUJ.js +1 -0
- package/dist/assets/chunks/chunk-ABLFMIK7.js +1 -0
- package/dist/assets/chunks/chunk-AVITUR4K.js +1 -0
- package/dist/assets/chunks/chunk-AVJJGJEF.js +1 -0
- package/dist/assets/chunks/chunk-BYKZQKZN.js +1 -0
- package/dist/assets/chunks/chunk-CBAFHIQV.js +213 -0
- package/dist/assets/chunks/chunk-CMFTFM5L.js +1 -0
- package/dist/assets/chunks/chunk-E2AIA637.js +14 -0
- package/dist/assets/chunks/chunk-ENUKY65A.js +72 -0
- package/dist/assets/chunks/chunk-EPS7YYLR.js +2 -0
- package/dist/assets/chunks/chunk-FDHLSHAZ.js +1 -0
- package/dist/assets/chunks/chunk-GBOXGTKU.js +1 -0
- package/dist/assets/chunks/chunk-GDF64WIG.js +1 -0
- package/dist/assets/chunks/chunk-GTJDAHEV.js +2 -0
- package/dist/assets/chunks/chunk-H57PPMTP.js +1 -0
- package/dist/assets/chunks/chunk-HHYS5L3R.js +1 -0
- package/dist/assets/chunks/chunk-INV6BDXO.js +2 -0
- package/dist/assets/chunks/chunk-IR3NHMOO.js +1 -0
- package/dist/assets/chunks/chunk-KLF2A562.js +1 -0
- package/dist/assets/chunks/chunk-LZTAJOGZ.js +1 -0
- package/dist/assets/chunks/chunk-M3XBBO6R.js +135 -0
- package/dist/assets/chunks/chunk-NBZPV65B.js +62 -0
- package/dist/assets/chunks/chunk-NCTJNXDF.js +1 -0
- package/dist/assets/chunks/chunk-O4U2B2FP.js +339 -0
- package/dist/assets/chunks/chunk-OB665XPY.js +1 -0
- package/dist/assets/chunks/chunk-OFD4YTIR.js +10 -0
- package/dist/assets/chunks/chunk-PHKIAKHS.js +1 -0
- package/dist/assets/chunks/chunk-R4OZRASH.js +32 -0
- package/dist/assets/chunks/chunk-UAGOPMXU.js +1 -0
- package/dist/assets/chunks/chunk-UAQETDSH.js +3 -0
- package/dist/assets/chunks/chunk-UORYZEAD.js +1 -0
- package/dist/assets/chunks/chunk-W4ELJFHG.js +1 -0
- package/dist/assets/chunks/chunk-WBPRABWA.js +136 -0
- package/dist/assets/chunks/chunk-XISCFCXG.js +88 -0
- package/dist/assets/chunks/chunk-XLJVPE6C.js +1 -0
- package/dist/assets/chunks/chunk-XQHNSJKC.js +1 -0
- package/dist/assets/chunks/chunk-XYDA52BE.js +1 -0
- package/dist/assets/chunks/chunk-YAHQK6MQ.js +1 -0
- package/dist/assets/chunks/chunk-ZGUCZDEK.js +1 -0
- package/dist/assets/chunks/chunk-ZRBDUQXP.js +1 -0
- package/dist/assets/chunks/classDiagram-v2-K4WV4PDN-EMBTPOHC.js +217 -0
- package/dist/assets/chunks/cose-bilkent-JH36ORCC-CNYFETCT.js +1 -0
- package/dist/assets/chunks/cynefin-EF2NZ3EQ-2AP5N5QY.js +1 -0
- package/dist/assets/chunks/cynefinDiagram-3GCD6N5R-WVTLESK3.js +62 -0
- package/dist/assets/chunks/dagre-W4DXFKR2-FPRZGQVB.js +4 -0
- package/dist/assets/chunks/diagram-2UJZ2QOL-VPSSQLZN.js +200 -0
- package/dist/assets/chunks/diagram-OVF4WLC6-PZ2RN37Y.js +24 -0
- package/dist/assets/chunks/diagram-PFPMY2P6-5GPN6RRZ.js +30 -0
- package/dist/assets/chunks/diagram-UMYRVEAY-OHFOPEFR.js +24 -0
- package/dist/assets/chunks/diagram-YEKJPTXX-PFA7KRZC.js +41 -0
- package/dist/assets/chunks/diagram-ZIFT7M5P-XOPZR7XN.js +3 -0
- package/dist/assets/chunks/ebnfDiagram-VR2GEFS7-MAGCN3HN.js +1 -0
- package/dist/assets/chunks/elk-IJKZMXRS-FZ2NQWIX.js +27 -0
- package/dist/assets/chunks/erDiagram-O2IAPWRE-746JHX2P.js +99 -0
- package/dist/assets/chunks/eventmodeling-K75KTNOO-FKRVI4N2.js +1 -0
- package/dist/assets/chunks/flowDiagram-OXPTDLAJ-XYHRK7XD.js +1 -0
- package/dist/assets/chunks/ganttDiagram-R7TSEDQI-DN5XENJA.js +292 -0
- package/dist/assets/chunks/gitGraph-VSP46ZUC-YT36MSRW.js +1 -0
- package/dist/assets/chunks/gitGraphDiagram-XJZIOB7I-NXP267LJ.js +106 -0
- package/dist/assets/chunks/info-OHQRW6UA-BRTC44VB.js +1 -0
- package/dist/assets/chunks/infoDiagram-5W2HQ5XZ-RT6YEU7N.js +2 -0
- package/dist/assets/chunks/ishikawaDiagram-K3B6WC7H-EJP5H2KV.js +70 -0
- package/dist/assets/chunks/journeyDiagram-COXZFDF6-M6MBFVND.js +139 -0
- package/dist/assets/chunks/kanban-definition-P3RFRI5V-WBYRNWVT.js +89 -0
- package/dist/assets/chunks/katex-42FXWECD.js +257 -0
- package/dist/assets/chunks/mermaid.core-SMXJOLYJ.js +18 -0
- package/dist/assets/chunks/mindmap-definition-LZFPQGKD-KVJVOCR5.js +96 -0
- package/dist/assets/chunks/packet-JDAUHWVQ-SGFXPYMB.js +1 -0
- package/dist/assets/chunks/pegDiagram-BGZESJAR-ECEGDREM.js +1 -0
- package/dist/assets/chunks/pie-XZMESJXO-LSQBPXPC.js +1 -0
- package/dist/assets/chunks/pieDiagram-CAPJLFHJ-D75MPXOK.js +39 -0
- package/dist/assets/chunks/quadrantDiagram-GDMTTRAM-HMUXMSEH.js +7 -0
- package/dist/assets/chunks/radar-ABXABTNO-TPYHBLNO.js +1 -0
- package/dist/assets/chunks/railroad-I3PHUGI6-WWIXL3LY.js +1 -0
- package/dist/assets/chunks/railroad-abnf-LNEFI6M7-DHJUY4R6.js +1 -0
- package/dist/assets/chunks/railroad-ebnf-DWYD2UWJ-4OJ4ECXX.js +1 -0
- package/dist/assets/chunks/railroad-peg-JR7BVNR7-VUOBDVLQ.js +1 -0
- package/dist/assets/chunks/railroadDiagram-SM67HX2B-Z757I54E.js +1 -0
- package/dist/assets/chunks/requirementDiagram-X7JNWC4A-7BW46JLY.js +84 -0
- package/dist/assets/chunks/sankeyDiagram-UM26HJRW-273BIID3.js +40 -0
- package/dist/assets/chunks/sequenceDiagram-ZO4K6R2Y-KG23HXTI.js +169 -0
- package/dist/assets/chunks/sizeCapture-INFHLROL-5N3POCQZ.js +1 -0
- package/dist/assets/chunks/stateDiagram-v2-TBUQTH76-AIML3PSW.js +291 -0
- package/dist/assets/chunks/swimlanes-N4OXWK64-TBFQZWAR.js +1 -0
- package/dist/assets/chunks/swimlanesDiagram-K3J5GTZL-TREAP6RB.js +8 -0
- package/dist/assets/chunks/timeline-definition-YOQAKGHF-QHTD5EBR.js +120 -0
- package/dist/assets/chunks/treeView-D4JQ5SDB-JJEYBPMW.js +1 -0
- package/dist/assets/chunks/treemap-SAJKECNS-I3YRCM2B.js +1 -0
- package/dist/assets/chunks/usecaseDiagram-VIAY4XPW-GNNFV4RS.js +370 -0
- package/dist/assets/chunks/vennDiagram-BLWOH2XV-YE23JXYX.js +34 -0
- package/dist/assets/chunks/wardley-7MLQ67FV-AKOGXXNF.js +1 -0
- package/dist/assets/chunks/wardleyDiagram-YMQ3BMBF-D7XYLZCZ.js +78 -0
- package/dist/assets/chunks/xychartDiagram-TAQBALBS-AT4Y7JWY.js +7 -0
- package/dist/assets/fonts/D2Coding-Bold.woff2 +0 -0
- package/dist/assets/fonts/D2Coding-OFL.txt +97 -0
- package/dist/assets/fonts/D2Coding.woff2 +0 -0
- package/dist/assets/fonts/Pretendard-LICENSE.txt +94 -0
- package/dist/assets/fonts/PretendardVariable.woff2 +0 -0
- package/dist/assets/fonts/SymbolsNerdFont-LICENSE.txt +21 -0
- package/dist/assets/fonts/SymbolsNerdFontMono.woff2 +0 -0
- package/dist/assets/xterm.css +285 -0
- package/dist/index.html +14 -0
- package/dist/licenses/@braintree__sanitize-url@7.1.2/LICENSE +21 -0
- package/dist/licenses/@chevrotain__cst-dts-gen@13.2.0/LICENSE.txt +202 -0
- package/dist/licenses/@chevrotain__gast@13.2.0/LICENSE.txt +202 -0
- package/dist/licenses/@chevrotain__regexp-to-ast@13.2.0/LICENSE.txt +202 -0
- package/dist/licenses/@chevrotain__utils@13.2.0/LICENSE.txt +202 -0
- package/dist/licenses/@iconify__utils@3.1.7/license.txt +21 -0
- package/dist/licenses/@mermaid-js__parser@2.0.1/LICENSE +21 -0
- package/dist/licenses/@remix-run__route-pattern@0.22.1/LICENSE +21 -0
- package/dist/licenses/@upsetjs__venn.js@2.0.0/LICENSE +22 -0
- package/dist/licenses/@xterm__addon-fit@0.11.0/LICENSE +19 -0
- package/dist/licenses/@xterm__xterm@6.0.0/LICENSE +21 -0
- package/dist/licenses/chevrotain@13.2.0/LICENSE.txt +202 -0
- package/dist/licenses/cookie-es@3.1.1/LICENSE +28 -0
- package/dist/licenses/cose-base@1.0.3/LICENSE +21 -0
- package/dist/licenses/cose-base@2.2.0/LICENSE +21 -0
- package/dist/licenses/cytoscape-cose-bilkent@4.1.0/LICENSE +21 -0
- package/dist/licenses/cytoscape-fcose@2.2.0/LICENSE +19 -0
- package/dist/licenses/cytoscape@3.34.3/LICENSE +19 -0
- package/dist/licenses/cytoscape@3.34.3/license-update.mjs +32 -0
- package/dist/licenses/d3-array@2.12.1/LICENSE +27 -0
- package/dist/licenses/d3-array@3.2.4/LICENSE +13 -0
- package/dist/licenses/d3-axis@3.0.0/LICENSE +13 -0
- package/dist/licenses/d3-brush@3.0.0/LICENSE +13 -0
- package/dist/licenses/d3-chord@3.0.1/LICENSE +13 -0
- package/dist/licenses/d3-color@3.1.0/LICENSE +13 -0
- package/dist/licenses/d3-contour@4.0.2/LICENSE +13 -0
- package/dist/licenses/d3-delaunay@6.0.4/LICENSE +14 -0
- package/dist/licenses/d3-dispatch@3.0.1/LICENSE +13 -0
- package/dist/licenses/d3-drag@3.0.0/LICENSE +13 -0
- package/dist/licenses/d3-dsv@3.0.1/LICENSE +13 -0
- package/dist/licenses/d3-ease@3.0.1/LICENSE +28 -0
- package/dist/licenses/d3-fetch@3.0.1/LICENSE +13 -0
- package/dist/licenses/d3-force@3.0.0/LICENSE +13 -0
- package/dist/licenses/d3-format@3.1.2/LICENSE +13 -0
- package/dist/licenses/d3-geo@3.1.1/LICENSE +34 -0
- package/dist/licenses/d3-hierarchy@3.1.2/LICENSE +13 -0
- package/dist/licenses/d3-interpolate@3.0.1/LICENSE +13 -0
- package/dist/licenses/d3-path@1.0.9/LICENSE +27 -0
- package/dist/licenses/d3-path@3.1.0/LICENSE +13 -0
- package/dist/licenses/d3-polygon@3.0.1/LICENSE +13 -0
- package/dist/licenses/d3-quadtree@3.0.1/LICENSE +13 -0
- package/dist/licenses/d3-random@3.0.1/LICENSE +13 -0
- package/dist/licenses/d3-sankey@0.12.3/LICENSE +27 -0
- package/dist/licenses/d3-scale-chromatic@3.1.0/LICENSE +28 -0
- package/dist/licenses/d3-scale@4.0.2/LICENSE +13 -0
- package/dist/licenses/d3-selection@3.0.0/LICENSE +13 -0
- package/dist/licenses/d3-shape@1.3.7/LICENSE +27 -0
- package/dist/licenses/d3-shape@3.2.0/LICENSE +13 -0
- package/dist/licenses/d3-time-format@4.1.0/LICENSE +13 -0
- package/dist/licenses/d3-time@3.1.0/LICENSE +13 -0
- package/dist/licenses/d3-timer@3.0.1/LICENSE +13 -0
- package/dist/licenses/d3-transition@3.0.1/LICENSE +13 -0
- package/dist/licenses/d3-zoom@3.0.0/LICENSE +13 -0
- package/dist/licenses/d3@7.9.0/LICENSE +13 -0
- package/dist/licenses/dagre-d3-es@7.0.14/LICENSE.md +23 -0
- package/dist/licenses/dayjs@1.11.23/LICENSE +21 -0
- package/dist/licenses/delaunator@5.1.0/LICENSE +15 -0
- package/dist/licenses/dompurify@3.4.16/LICENSE +202 -0
- package/dist/licenses/dompurify@3.4.16/LICENSE-MPL +373 -0
- package/dist/licenses/elkjs@0.9.3/LICENSE.md +264 -0
- package/dist/licenses/es-toolkit@1.52.0/LICENSE +21 -0
- package/dist/licenses/es-toolkit@1.52.0/NOTICE +39 -0
- package/dist/licenses/internmap@1.0.1/LICENSE +13 -0
- package/dist/licenses/internmap@2.0.3/LICENSE +13 -0
- package/dist/licenses/katex@0.16.47/LICENSE +21 -0
- package/dist/licenses/khroma@2.1.0/license +21 -0
- package/dist/licenses/layout-base@1.0.2/LICENSE +21 -0
- package/dist/licenses/layout-base@2.0.1/LICENSE +21 -0
- package/dist/licenses/lodash-es@4.18.1/LICENSE +47 -0
- package/dist/licenses/lucide-react@1.50.0/LICENSE +43 -0
- package/dist/licenses/lucide-react@1.50.0/copyright.mjs +22 -0
- package/dist/licenses/marked@16.4.2/LICENSE.md +44 -0
- package/dist/licenses/mermaid@12.1.0/LICENSE +21 -0
- package/dist/licenses/packages.json +945 -0
- package/dist/licenses/pretendard@1.3.9/LICENSE.txt +94 -0
- package/dist/licenses/react-dom@19.3.0/LICENSE +21 -0
- package/dist/licenses/react-router@8.4.0/LICENSE.md +23 -0
- package/dist/licenses/react@19.3.0/LICENSE +21 -0
- package/dist/licenses/robust-predicates@3.0.3/LICENSE +24 -0
- package/dist/licenses/roughjs@4.6.6/LICENSE +21 -0
- package/dist/licenses/scheduler@0.28.0/LICENSE +21 -0
- package/dist/licenses/stylis@4.4.0/LICENSE +21 -0
- package/dist/licenses/ts-dedent@2.3.0/LICENSE +21 -0
- package/dist/licenses/uuid@14.0.2/LICENSE.md +9 -0
- package/package.json +44 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import{a as v}from"./chunk-NCTJNXDF.js";import{a as le,b as vt,d as W,e as R}from"./chunk-ZGUCZDEK.js";import{c as Rt,e as pt}from"./chunk-ENUKY65A.js";import{c as ne,d as kt}from"./chunk-HHYS5L3R.js";import{g as wt}from"./chunk-KLF2A562.js";import{k as At,o as ce,s as Mt,u as Q}from"./chunk-GTJDAHEV.js";import{$ as z,C as $t,G as xt,I as Lt,K as Tt,L as ie,ca as _t,r as re,v as mt}from"./chunk-M3XBBO6R.js";import{b as J,h as Z}from"./chunk-W4ELJFHG.js";import{a as b}from"./chunk-UAGOPMXU.js";var fs=1,ps=3;async function Jt(n){let t=n.getElementsByTagName("img");if(!t||t.length===0)return;let s=!Kt(n);await Promise.all([...t].map(l=>new Promise(o=>{function c(){if(l.style.display="flex",l.style.flexDirection="column",s){let f=z().fontSize?z().fontSize:window.getComputedStyle(document.body).fontSize,r=5,[h=re.fontSize]=ce(f),i=h*r+"px";l.style.minWidth=i,l.style.maxWidth=i}else l.style.width="100%";o(l)}b(c,"setupImage"),setTimeout(()=>{l.complete&&c()}),l.addEventListener("error",c),l.addEventListener("load",c)})))}b(Jt,"configureLabelImages");function Kt(n){return n.nodeType===ps?n.textContent?.trim()!=="":n.nodeType!==fs||n.tagName.toLowerCase()==="img"?!1:[...n.childNodes].some(Kt)}b(Kt,"hasTextBesidesImages");var oe=3,us=32,ds=b(async(n,t,s)=>{let l=z(),o=n.insert("g").attr("class",s??"node default").attr("id",t.domId||t.id),c=o.insert("g").attr("class","label").attr("style",Q(t.labelStyle)),r=[{text:typeof t.label=="string"?t.label:t.label?.[0]??"",cssClass:"c4-name"},{text:t.stereotype,cssClass:"c4-type"},...(t.description??[]).map(d=>({text:d,cssClass:"c4-descr"}))].filter(d=>d.text),h=t.width?Math.max(t.width-2*(t.padding??0),us):z().flowchart?.wrappingWidth??200,e=l.c4?.wrap??!0?h:Number.POSITIVE_INFINITY,a=await Promise.all(r.map(async d=>{let x=c.append("g").attr("class",d.cssClass),w=await pt(x,Lt(Mt(d.text??""),l),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:e,style:t.labelStyle},l);return Z(w).selectAll("tspan.text-outer-tspan").attr("text-anchor","middle"),Z(w).selectAll("tspan.text-inner-tspan").attr("font-weight",null).attr("font-style",null),{el:x,box:x.node().getBBox()}})),g=Math.max(...a.map(({box:d})=>d.width),0),y=0;for(let{el:d,box:x}of a)d.attr("transform",`translate(${g/2-x.x-x.width/2}, ${y-x.y})`),y+=x.height+oe;let p=a.length>0?y-oe:0;c.insert("rect",":first-child"),c.attr("transform",`translate(${-g/2}, ${-p/2})`);let u=c.node().getBBox(),m=(t.padding??0)/2;return{shapeSvg:o,bbox:u,halfPadding:m,label:c}},"c4LabelHelper"),he=b((n,t)=>{let{x:s,y:l,width:o,height:c}=n;return o>=t?n:"left"in n?{x:s,y:l,width:t,height:c,top:l,left:s,bottom:l+c,right:s+t,toJSON:b(()=>({}),"toJSON")}:{x:s-(t-o)/2,y:l,width:t,height:c}},"withMinWidth"),X=b(async(n,t,s)=>{if(t.stereotype!==void 0)return ds(n,t,s);let l,o=t.useHtmlLabels||mt(z()?.htmlLabels);s?l=s:l="node default";let c=n.insert("g").attr("class",l).attr("id",t.domId||t.id),f=c.insert("g").attr("class","label").attr("style",Q(t.labelStyle)),r;t.label===void 0?r="":r=typeof t.label=="string"?t.label:t.label[0];let h=!!t.icon||!!t.img,i=t.labelType==="markdown",e=r&&!t.width?t.minWidth??0:0,a=await pt(f,Lt(Mt(r),z()),{useHtmlLabels:o,width:t.width||t.wrappingWidth||z().flowchart?.wrappingWidth,minWidth:e,classes:i?"markdown-node-label":"",style:t.labelStyle,addSvgBackground:h,markdown:i},z()),g=(t?.padding??0)/2,y;if(o){let p=a.children[0],u=Z(a);await Jt(p),y=await Rt.measure(()=>p.getBoundingClientRect()),y=he(y,e),u.attr("width",y.width),u.attr("height",y.height)}else y=await Rt.measure(()=>a.getBBox()),y=he(y,e);return o?f.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):f.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&f.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),f.insert("rect",":first-child"),{shapeSvg:c,bbox:y,halfPadding:g,label:f}},"labelHelper"),St=b(async(n,t,s)=>{let l=s.useHtmlLabels??xt(z()),o=n.insert("g").attr("class","label").attr("style",s.labelStyle||""),c=await pt(o,Lt(Mt(t),z()),{useHtmlLabels:l,width:s.width||z()?.flowchart?.wrappingWidth,style:s.labelStyle,addSvgBackground:!!s.icon||!!s.img}),f=s.padding/2,r;if(xt(z())){let h=c.children[0],i=Z(c);r=await Rt.measure(()=>h.getBoundingClientRect()),i.attr("width",r.width),i.attr("height",r.height)}else r=await Rt.measure(()=>c.getBBox());return l?o.attr("transform","translate("+-r.width/2+", "+-r.height/2+")"):o.attr("transform","translate(0, "+-r.height/2+")"),s.centerLabel&&o.attr("transform","translate("+-r.width/2+", "+-r.height/2+")"),o.insert("rect",":first-child"),{shapeSvg:n,bbox:r,halfPadding:f,label:o}},"insertLabel"),H=b((n,t,s)=>{if(s){n.width=s.width,n.height=s.height;return}let l=t.node().getBBox();n.width=l.width,n.height=l.height},"updateNodeBounds"),Y=b((n,t)=>(n.look==="handDrawn"?"rough-node":"node")+" "+n.cssClasses+" "+(t||""),"getNodeClasses");function F(n){let t=n.map((s,l)=>`${l===0?"M":"L"}${s.x},${s.y}`);return t.push("Z"),t.join(" ")}b(F,"createPathFromPoints");function ut(n,t,s,l,o,c){let f=[],h=s-n,i=l-t,e=h/c,a=2*Math.PI/e,g=t+i/2;for(let y=0;y<=50;y++){let p=y/50,u=n+p*h,m=g+o*Math.sin(a*(u-n));f.push({x:u,y:m})}return f}b(ut,"generateFullSineWavePoints");function lt(n,t,s,l,o,c){let f=[],r=o*Math.PI/180,e=(c*Math.PI/180-r)/(l-1);for(let a=0;a<l;a++){let g=r+a*e,y=n+s*Math.cos(g),p=t+s*Math.sin(g);f.push({x:-y,y:-p})}return f}b(lt,"generateCirclePoints");function zt(n){let t=Array.from(n.childNodes).filter(h=>h.tagName==="path"),s=document.createElementNS("http://www.w3.org/2000/svg","path"),l=t.map(h=>h.getAttribute("d")).filter(h=>h!==null).join(" ");s.setAttribute("d",l);let o=t.find(h=>h.getAttribute("fill")!=="none"),c=t.find(h=>h.getAttribute("stroke")!=="none"),f=b((h,i)=>h?.getAttribute(i)??void 0,"getAttr");if(o){let h={fill:f(o,"fill"),"fill-opacity":f(o,"fill-opacity")??"1"};Object.entries(h).forEach(([i,e])=>{e&&s.setAttribute(i,e)})}if(c){let h={stroke:f(c,"stroke"),"stroke-width":f(c,"stroke-width")??"1","stroke-opacity":f(c,"stroke-opacity")??"1"};Object.entries(h).forEach(([i,e])=>{e&&s.setAttribute(i,e)})}let r=document.createElementNS("http://www.w3.org/2000/svg","g");return r.appendChild(s),r}b(zt,"mergePaths");var ms=b((n,t)=>{var s=n.x,l=n.y,o=t.x-s,c=t.y-l,f=n.width/2,r=n.height/2,h,i;return Math.abs(c)*f>Math.abs(o)*r?(c<0&&(r=-r),h=c===0?0:r*o/c,i=r):(o<0&&(f=-f),h=f,i=o===0?0:f*c/o),{x:s+h,y:l+i}},"intersectRect"),xs=ms;function He(n,t){return n.intersect(t)}b(He,"intersectNode");var ws=He;function Ie(n,t,s,l){var o=n.x,c=n.y,f=o-l.x,r=c-l.y,h=Math.sqrt(t*t*r*r+s*s*f*f),i=Math.abs(t*s*f/h);l.x<o&&(i=-i);var e=Math.abs(t*s*r/h);return l.y<c&&(e=-e),{x:o+i,y:c+e}}b(Ie,"intersectEllipse");var Le=Ie;function Ee(n,t,s){return Le(n,t,t,s)}b(Ee,"intersectCircle");var bs=Ee;function We(n,t,s,l){{let o=t.y-n.y,c=n.x-t.x,f=t.x*n.y-n.x*t.y,r=o*s.x+c*s.y+f,h=o*l.x+c*l.y+f,i=1e-6;if(r!==0&&h!==0&&Vt(r,h))return;let e=l.y-s.y,a=s.x-l.x,g=l.x*s.y-s.x*l.y,y=e*n.x+a*n.y+g,p=e*t.x+a*t.y+g;if(Math.abs(y)<i&&Math.abs(p)<i&&Vt(y,p))return;let u=o*a-e*c;if(u===0)return;let m=(c*g-a*f)/u,d=(e*f-o*g)/u;return{x:m,y:d}}}b(We,"intersectLine");function Vt(n,t){return n*t>0}b(Vt,"sameSign");var Ss=We;function Te(n,t,s){let l=n.x,o=n.y,c=[],f=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(e){f=Math.min(f,e.x),r=Math.min(r,e.y)}):(f=Math.min(f,t.x),r=Math.min(r,t.y));let h=l-n.width/2-f,i=o-n.height/2-r;for(let e=0;e<t.length;e++){let a=t[e],g=t[e<t.length-1?e+1:0],y=Ss(n,s,{x:h+a.x,y:i+a.y},{x:h+g.x,y:i+g.y});y&&c.push(y)}return c.length?(c.length>1&&c.sort(function(e,a){let g=e.x-s.x,y=e.y-s.y,p=Math.sqrt(g*g+y*y),u=a.x-s.x,m=a.y-s.y,d=Math.sqrt(u*u+m*m);return p<d?-1:p===d?0:1}),c[0]):n}b(Te,"intersectPolygon");var $s=Te,N={node:ws,circle:bs,ellipse:Le,polygon:$s,rect:xs},gt=b((n,t,s,l,o)=>["M",n+o,t,"H",n+s-o,"A",o,o,0,0,1,n+s,t+o,"V",t+l-o,"A",o,o,0,0,1,n+s-o,t+l,"H",n+o,"A",o,o,0,0,1,n,t+l-o,"V",t+o,"A",o,o,0,0,1,n+o,t,"Z"].join(" "),"createRoundedRectPathD"),vs=b(async(n,t,s,l=!1,o=!1)=>{let c=t||"";typeof c=="object"&&(c=c[0]);let f=z(),r=xt(f);return await pt(n,c,{style:s,isTitle:l,useHtmlLabels:r,markdown:!1,isNode:o,width:Number.POSITIVE_INFINITY},f)},"createLabel"),ge=vs;function _e(n,t){let{labelStyles:s}=W(t);t.labelStyle=s;let l=Y(t),o=l;l||(o="anchor");let c=n.insert("g").attr("class",o).attr("id",t.domId||t.id),f=1,{cssStyles:r}=t,h=v.svg(c),i=R(t,{fill:"black",stroke:"none",fillStyle:"solid"});t.look!=="handDrawn"&&(i.roughness=0);let e=h.circle(0,0,f*2,i),a=c.insert(()=>e,":first-child");return a.attr("class","anchor").attr("style",Q(r)),H(t,a),t.intersect=function(g){return J.info("Circle intersect",t,f,g),N.circle(t,f,g)},c}b(_e,"anchor");function Zt(n,t,s,l,o,c,f){let h=(n+s)/2,i=(t+l)/2,e=Math.atan2(l-t,s-n),a=(s-n)/2,g=(l-t)/2,y=a/o,p=g/c,u=Math.sqrt(y**2+p**2);if(u>1)throw new Error("The given radii are too small to create an arc between the points.");let m=Math.sqrt(1-u**2),d=h+m*c*Math.sin(e)*(f?-1:1),x=i-m*o*Math.cos(e)*(f?-1:1),w=Math.atan2((t-x)/c,(n-d)/o),$=Math.atan2((l-x)/c,(s-d)/o)-w;f&&$<0&&($+=2*Math.PI),!f&&$>0&&($-=2*Math.PI);let M=[];for(let k=0;k<20;k++){let P=k/19,_=w+P*$,B=d+o*Math.cos(_),C=x+c*Math.sin(_);M.push({x:B,y:C})}return M}b(Zt,"generateArcPoints");function Ye(n,t,s){let[l,o]=[t,s].sort((c,f)=>f-c);return o*(1-Math.sqrt(1-(n/l/2)**2))}b(Ye,"calculateArcSagitta");async function Oe(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?16:o,f=t.look==="neo"?12:o,r=b(_=>_+f,"calcTotalHeight"),h=b(_=>{let B=_/2;return[B/(2.5+_/50),B]},"calcEllipseRadius"),{shapeSvg:i,bbox:e}=await X(n,t,Y(t)),a=r(t?.height?t?.height:e.height),[g,y]=h(a),p=Ye(a,g,y),m=(t?.width?t?.width:e.width)+c*2+p-p,d=a,{cssStyles:x}=t,w=[{x:m/2,y:-d/2},{x:-m/2,y:-d/2},...Zt(-m/2,-d/2,-m/2,d/2,g,y,!1),{x:m/2,y:d/2},...Zt(m/2,d/2,m/2,-d/2,g,y,!0)],S=v.svg(i),$=R(t,{});t.look!=="handDrawn"&&($.roughness=0,$.fillStyle="solid");let M=F(w),k=S.path(M,$),P=i.insert(()=>k,":first-child");return P.attr("class","basic label-container outer-path"),x&&t.look!=="handDrawn"&&P.selectAll("path").attr("style",x),l&&t.look!=="handDrawn"&&P.selectAll("path").attr("style",l),P.attr("transform",`translate(${g/2}, 0)`),H(t,P),t.intersect=function(_){return N.polygon(t,w,_)},i}b(Oe,"bowTieRect");async function Xe(n,t,{config:{themeVariables:s}}){let{labelStyles:l,nodeStyles:o}=W(t);t.labelStyle=l;let{shapeSvg:c,bbox:f,label:r}=await X(n,t,Y(t)),h=s?.nodeBorder??s?.lineColor??"currentColor",i=t.padding??12,e=Math.max(f.width+i*2,t.width??0,80),a=Math.max(Math.min(e*.08,12),5),g=Math.max(f.height+i*2+a,t.height??0),y=-g/2+a,p=g/2,u=e*.72,m=[`M${-e/2},${y}`,`L${-u/2},${p}`,`A${u/2},${a} 0 0 0 ${u/2},${p}`,`L${e/2},${y}`,`A${e/2},${a} 0 0 0 ${-e/2},${y}`,"Z"].join(" "),{cssStyles:d}=t,x=c.insert("g",":first-child").attr("class","basic label-container");if(t.look==="handDrawn"){let P=v.svg(c).path(m,R(t,{}));x.node()?.appendChild(P),d&&x.attr("style",d)}else x.append("path").attr("d",m).attr("style",o);x.append("ellipse").attr("cx",0).attr("cy",y).attr("rx",e/2).attr("ry",a).attr("style",`fill:none;stroke:${h};stroke-width:1px`),H(t,x);let w=y+(p-y)/2;r.attr("transform",`translate(${-(f.width/2)-(f.x-(f.left??0))}, ${w-f.height/2-(f.y-(f.top??0))})`);let S=12,$=b((k,P,_)=>Array.from({length:S+1},(B,C)=>{let I=Math.PI-C*Math.PI/S;return{x:k*Math.cos(I),y:P+_*a*Math.sin(I)}}),"arc"),M=[...$(e/2,y,-1),...$(u/2,p,1).reverse()];return t.intersect=function(k){return N.polygon(t,M,k)},c}b(Xe,"bucket");var Yt=20,Ot=8,ks=80,Ms=8;function je(n){let{themeVariables:t}=z(),s=t.clusterBkg,l=t.clusterBorder;return n==="flow"?{rx:10,fill:"none",stroke:t.flowContainerStroke||t.secondaryBorderColor,strokeWidth:.75,cssClass:"flow-collapsed"}:{rx:Ms,fill:s,stroke:l,cssClass:"collapsed-group"}}b(je,"getCollapsedStyle");async function Ge(n,t){let s=je(t.metadata?.containerType),{fill:l,stroke:o}=s,{nodeStyles:c}=W(t),{shapeSvg:f,bbox:r}=await X(n,t,Y(t)),{theme:h,themeVariables:i}=z();wt(f,t.colorIndex,h,i.borderColorArray);let e=t.padding??8,a=r.height,g=Math.max(r.width+e*2,ks,t?.width??0),y=Math.max(a+Ot+Yt+e*2,t?.height??0),p=-g/2,u=-y/2,m=-(Ot+Yt)/2,d=f.select(".label");d&&(t.useHtmlLabels??xt(z())?d.attr("transform",`translate(${-r.width/2}, ${-r.height/2+m})`):d.attr("transform",`translate(0, ${-r.height/2+m})`));let x;if(t.look==="handDrawn"){let k=v.svg(f),P=R(t,{fill:l,stroke:o,...s.strokeWidth===void 0?{}:{strokeWidth:s.strokeWidth},...l==="none"?{fillWeight:0}:{fillStyle:"solid"}}),_=k.path(gt(p,u,g,y,s.rx),P);x=f.insert(()=>_,":first-child"),x.attr("class","basic label-container "+s.cssClass).attr("style",Q(t.cssStyles))}else x=f.insert("rect",":first-child"),x.attr("class","basic label-container "+s.cssClass).attr("style",c).attr("rx",s.rx).attr("ry",s.rx).attr("x",p).attr("y",u).attr("width",g).attr("height",y).attr("fill",l).attr("stroke",o),s.strokeWidth!==void 0&&x.attr("stroke-width",s.strokeWidth+"px");let w=u+e+a+Ot;f.append("line").attr("class","collapsed-separator").attr("x1",p+8).attr("y1",w).attr("x2",p+g-8).attr("y2",w).attr("stroke",o).attr("stroke-dasharray","3, 3");let S=w+Yt/2,$=2.5,M=10;for(let k=-1;k<=1;k++)f.append("circle").attr("class","collapsed-indicator").attr("cx",k*M).attr("cy",S).attr("r",$).attr("fill",o);return H(t,x),t.calcIntersect=function(k,P){return N.rect(k,P)},t.intersect=function(k){return N.rect(t,k)},f}b(Ge,"collapsedGroup");function nt(n,t,s,l){return n.insert("polygon",":first-child").attr("points",l.map(function(o){return o.x+","+o.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+s/2+")")}b(nt,"insertPolygonShape");var Ps=["right","left","up","down"],Qt="point",Ds=b(n=>{let t=new Set;for(let s of n)switch(s){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(s);break}return t},"expandAndDeduplicateDirections"),Cs=b(n=>Ps.filter(t=>n.has(t)).join("|")||Qt,"getDirectionKey"),ye={"right|left|up|down":b(({height:n,midpoint:t,padding:s,width:l})=>[{x:0,y:0},{x:t,y:0},{x:l/2,y:2*s},{x:l-t,y:0},{x:l,y:0},{x:l,y:-n/3},{x:l+2*s,y:-n/2},{x:l,y:-2*n/3},{x:l,y:-n},{x:l-t,y:-n},{x:l/2,y:-n-2*s},{x:t,y:-n},{x:0,y:-n},{x:0,y:-2*n/3},{x:-2*s,y:-n/2},{x:0,y:-n/3}],"right|left|up|down"),"right|left|up":b(({height:n,midpoint:t,width:s})=>[{x:t,y:0},{x:s-t,y:0},{x:s,y:-n/2},{x:s-t,y:-n},{x:t,y:-n},{x:0,y:-n/2}],"right|left|up"),"right|left|down":b(({height:n,midpoint:t,width:s})=>[{x:0,y:0},{x:t,y:-n},{x:s-t,y:-n},{x:s,y:0}],"right|left|down"),"right|up|down":b(({height:n,midpoint:t,width:s})=>[{x:0,y:0},{x:s,y:-t},{x:s,y:-n+t},{x:0,y:-n}],"right|up|down"),"left|up|down":b(({height:n,midpoint:t,width:s})=>[{x:s,y:0},{x:0,y:-t},{x:0,y:-n+t},{x:s,y:-n}],"left|up|down"),"right|left":b(({height:n,midpoint:t,padding:s,width:l})=>[{x:t,y:0},{x:t,y:-s},{x:l-t,y:-s},{x:l-t,y:0},{x:l,y:-n/2},{x:l-t,y:-n},{x:l-t,y:-n+s},{x:t,y:-n+s},{x:t,y:-n},{x:0,y:-n/2}],"right|left"),"up|down":b(({height:n,midpoint:t,padding:s,width:l})=>[{x:l/2,y:0},{x:0,y:-s},{x:t,y:-s},{x:t,y:-n+s},{x:0,y:-n+s},{x:l/2,y:-n},{x:l,y:-n+s},{x:l-t,y:-n+s},{x:l-t,y:-s},{x:l,y:-s}],"up|down"),"right|up":b(({height:n,midpoint:t,width:s})=>[{x:0,y:0},{x:s,y:-t},{x:0,y:-n}],"right|up"),"right|down":b(({height:n,width:t})=>[{x:0,y:0},{x:t,y:0},{x:0,y:-n}],"right|down"),"left|up":b(({height:n,midpoint:t,width:s})=>[{x:s,y:0},{x:0,y:-t},{x:s,y:-n}],"left|up"),"left|down":b(({height:n,width:t})=>[{x:t,y:0},{x:0,y:0},{x:t,y:-n}],"left|down"),right:b(({height:n,midpoint:t,padding:s,width:l})=>[{x:t,y:-s},{x:t,y:-s},{x:l-t,y:-s},{x:l-t,y:0},{x:l,y:-n/2},{x:l-t,y:-n},{x:l-t,y:-n+s},{x:t,y:-n+s},{x:t,y:-n+s}],"right"),left:b(({height:n,midpoint:t,padding:s,width:l})=>[{x:t,y:0},{x:t,y:-s},{x:l-t,y:-s},{x:l-t,y:-n+s},{x:t,y:-n+s},{x:t,y:-n},{x:0,y:-n/2}],"left"),up:b(({height:n,midpoint:t,padding:s,width:l})=>[{x:t,y:-s},{x:t,y:-n+s},{x:0,y:-n+s},{x:l/2,y:-n},{x:l,y:-n+s},{x:l-t,y:-n+s},{x:l-t,y:-s}],"up"),down:b(({height:n,midpoint:t,padding:s,width:l})=>[{x:l/2,y:0},{x:0,y:-s},{x:t,y:-s},{x:t,y:-n+s},{x:l-t,y:-n+s},{x:l-t,y:-s},{x:l,y:-s}],"down"),[Qt]:()=>[{x:0,y:0}]},Bs=b((n,t,s,l)=>{let o=Ds(n),c=(s.padding??0)/2,f=t.height+4*c,r=f/2,h=l??t.width+2*r+2*c,i=Cs(o);return(ye[i]??ye[Qt])({height:f,midpoint:r,padding:c,width:h})},"getArrowPoints");async function Fe(n,t){let s=t,{shapeSvg:l,bbox:o}=await X(n,s,Y(s)),c=s.padding??0,f=o.height+2*c,r=f/2,h=o.width+2*r+c,i=s.width??0,a=s.positioned&&(s.widthInColumns??1)>1&&i>h?i:h,g=Bs(s.directions??[],o,s,a),y=nt(l,a,f,g);return y.attr("style",s.style??null),H(s,y),s.intersect=function(p){return N.polygon(s,g,p)},l}b(Fe,"block_arrow");async function qe(n,t,{config:{themeVariables:s}}){let{labelStyles:l,nodeStyles:o}=W(t);t.labelStyle=l;let{shapeSvg:c,bbox:f,label:r}=await X(n,t,Y(t)),h=s?.nodeBorder??s?.lineColor??"currentColor",i=t.padding??12,e=18,a=12,g=Math.max(f.width+i*2,t.width??0,90),y=Math.max(f.height+i*2+e,t.height??0),p=-y/2,{cssStyles:u}=t,m=c.insert("g",":first-child").attr("class","basic label-container");if(t.look==="handDrawn"){let w=v.svg(c).path(gt(-g/2,p,g,y,a),R(t,{}));m.node()?.appendChild(w),u&&m.attr("style",u)}else m.append("rect").attr("x",-g/2).attr("y",p).attr("width",g).attr("height",y).attr("rx",a).attr("ry",a).attr("style",o);m.append("line").attr("x1",-g/2).attr("y1",p+e).attr("x2",g/2).attr("y2",p+e).attr("style",`stroke:${h};stroke-width:1px`);for(let x=0;x<3;x++)m.append("circle").attr("cx",-g/2+12+x*9).attr("cy",p+e/2).attr("r",2.5).attr("style",`fill:${h};stroke:none`);m.append("rect").attr("class","browser-address-bar").attr("x",-g/2+44).attr("y",p+4).attr("width",Math.max(g-56,10)).attr("height",e-8).attr("rx",3).attr("ry",3).attr("style",`fill:none;stroke:${h};stroke-width:1px;opacity:0.6`),H(t,m);let d=p+e+(y-e)/2;return r.attr("transform",`translate(${-(f.width/2)-(f.x-(f.left??0))}, ${d-f.height/2-(f.y-(f.top??0))})`),t.intersect=function(x){return N.rect(t,x)},c}b(qe,"browser");var Et=12;async function ze(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?28:o,f=t.look==="neo"?24:o,{shapeSvg:r,bbox:h}=await X(n,t,Y(t)),i=(t?.width??h.width)+(t.look==="neo"?c*2:c+Et),e=(t?.height??h.height)+(t.look==="neo"?f*2:f),a=0,g=i,y=-e,p=0,u=[{x:a+Et,y},{x:g,y},{x:g,y:p},{x:a,y:p},{x:a,y:y+Et},{x:a+Et,y}],m,{cssStyles:d}=t;if(t.look==="handDrawn"){let x=v.svg(r),w=R(t,{}),S=F(u),$=x.path(S,w);m=r.insert(()=>$,":first-child").attr("transform",`translate(${-i/2}, ${e/2})`),d&&m.attr("style",d)}else m=nt(r,i,e,u);return l&&m.attr("style",l),H(t,m),t.intersect=function(x){return N.polygon(t,u,x)},r}b(ze,"card");function Ve(n,t){let{nodeStyles:s}=W(t);t.label="";let l=n.insert("g").attr("class",Y(t)).attr("id",t.domId??t.id),{cssStyles:o}=t,c=Math.max(28,t.width??0),f=[{x:0,y:c/2},{x:c/2,y:0},{x:0,y:-c/2},{x:-c/2,y:0}],r=v.svg(l),h=R(t,{});t.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");let i=F(f),e=r.path(i,h),a=l.insert(()=>e,":first-child");return o&&t.look!=="handDrawn"&&a.selectAll("path").attr("style",o),s&&t.look!=="handDrawn"&&a.selectAll("path").attr("style",s),t.width=28,t.height=28,t.intersect=function(g){return N.polygon(t,f,g)},l}b(Ve,"choice");async function te(n,t,s){let{labelStyles:l,nodeStyles:o}=W(t);t.labelStyle=l;let{shapeSvg:c,bbox:f,halfPadding:r}=await X(n,t,Y(t)),h=16,i=s?.padding??r,e=Math.sqrt(f.width**2+f.height**2)/2,a=t.look==="neo"?e+h*2:e+i,g,{cssStyles:y}=t;if(t.look==="handDrawn"){let p=v.svg(c),u=R(t,{}),m=p.circle(0,0,a*2,u);g=c.insert(()=>m,":first-child"),g.attr("class","basic label-container").attr("style",Q(y))}else g=c.insert("circle",":first-child").attr("class","basic label-container").attr("style",o).attr("r",a).attr("cx",0).attr("cy",0);return H(t,g),t.calcIntersect=function(p,u){let m=p.width/2;return N.circle(p,m,u)},t.intersect=function(p){return J.info("Circle intersect",t,a,p),N.circle(t,a,p)},c}b(te,"circle");async function Ze(n,t){let s=t,l=["node",s.cssClasses,s.class].filter(Boolean).join(" "),{shapeSvg:o,bbox:c,halfPadding:f}=await X(n,s,l),r=o.insert("rect",":first-child"),h=s.padding??0,i=s.positioned?s.width??0:c.width+h,e=s.positioned?s.height??0:c.height+h,a=s.positioned?-i/2:-c.width/2-f,g=s.positioned?-e/2:-c.height/2-f;return r.attr("class","basic cluster composite label-container").attr("style",s.style??null).attr("rx",s.rx??null).attr("ry",s.ry??null).attr("x",a).attr("y",g).attr("width",i).attr("height",e),H(s,r),s.intersect=function(y){return N.rect(s,y)},o}b(Ze,"composite");async function Ue(n,t,{config:{themeVariables:s}}){let{labelStyles:l,nodeStyles:o}=W(t);t.labelStyle=l;let{shapeSvg:c,bbox:f,label:r}=await X(n,t,Y(t)),h=s?.nodeBorder??s?.lineColor??"currentColor",i=t.padding??12,e=20,a=12,g=Math.max(f.width+i*2,t.width??0,90),y=Math.max(f.height+i*2+e,t.height??0),p=-y/2,{cssStyles:u}=t,m=c.insert("g",":first-child").attr("class","basic label-container");if(t.look==="handDrawn"){let w=v.svg(c).path(gt(-g/2,p,g,y,a),R(t,{}));m.node()?.appendChild(w),u&&m.attr("style",u)}else m.append("rect").attr("x",-g/2).attr("y",p).attr("width",g).attr("height",y).attr("rx",a).attr("ry",a).attr("style",o);m.append("text").attr("x",-g/2+12).attr("y",p+16).attr("class","console-glyph").attr("style",`font-family:monospace;font-weight:bold;font-size:14px;fill:${h}`).text(">_"),H(t,m);let d=p+e+(y-e)/2;return r.attr("transform",`translate(${-(f.width/2)-(f.x-(f.left??0))}, ${d-f.height/2-(f.y-(f.top??0))})`),t.intersect=function(x){return N.rect(t,x)},c}b(Ue,"consoleWindow");function Je(n){let t=Math.cos(Math.PI/4),s=Math.sin(Math.PI/4),l=n*2,o={x:l/2*t,y:l/2*s},c={x:-(l/2)*t,y:l/2*s},f={x:-(l/2)*t,y:-(l/2)*s},r={x:l/2*t,y:-(l/2)*s};return`M ${c.x},${c.y} L ${r.x},${r.y}
|
|
2
|
+
M ${o.x},${o.y} L ${f.x},${f.y}`}b(Je,"createLine");function Ke(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s,t.label="";let o=n.insert("g").attr("class",Y(t)).attr("id",t.domId??t.id),c=Math.max(30,t?.width??0),{cssStyles:f}=t,r=v.svg(o),h=R(t,{});t.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");let i=r.circle(0,0,c*2,h),e=Je(c),a=r.path(e,h),g=o.insert(()=>i,":first-child");return g.insert(()=>a),g.attr("class","outer-path"),f&&t.look!=="handDrawn"&&g.selectAll("path").attr("style",f),l&&t.look!=="handDrawn"&&g.selectAll("path").attr("style",l),H(t,g),t.intersect=function(y){return J.info("crossedCircle intersect",t,{radius:c,point:y}),N.circle(t,c,y)},o}b(Ke,"crossedCircle");function ot(n,t,s,l=100,o=0,c=180){let f=[],r=o*Math.PI/180,e=(c*Math.PI/180-r)/(l-1);for(let a=0;a<l;a++){let g=r+a*e,y=n+s*Math.cos(g),p=t+s*Math.sin(g);f.push({x:-y,y:-p})}return f}b(ot,"generateCirclePoints");async function Qe(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,label:f}=await X(n,t,Y(t)),r=t.look==="neo"?18:t.padding??0,h=t.look==="neo"?12:t.padding??0,i=c.width+r,e=c.height+h,a=Math.max(5,e*.1),{cssStyles:g}=t,y=[...ot(i/2,-e/2,a,30,-90,0),{x:-i/2-a,y:a},...ot(i/2+a*2,-a,a,20,-180,-270),...ot(i/2+a*2,a,a,20,-90,-180),{x:-i/2-a,y:-e/2},...ot(i/2,e/2,a,20,0,90)],p=[{x:i/2,y:-e/2-a},{x:-i/2,y:-e/2-a},...ot(i/2,-e/2,a,20,-90,0),{x:-i/2-a,y:-a},...ot(i/2+i*.1,-a,a,20,-180,-270),...ot(i/2+i*.1,a,a,20,-90,-180),{x:-i/2-a,y:e/2},...ot(i/2,e/2,a,20,0,90),{x:-i/2,y:e/2+a},{x:i/2,y:e/2+a}],u=v.svg(o),m=R(t,{fill:"none"});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let x=F(y).replace("Z",""),w=u.path(x,m),S=F(p),$=u.path(S,{...m}),M=o.insert("g",":first-child");return M.insert(()=>$,":first-child").attr("stroke-opacity",0),M.insert(()=>w,":first-child"),M.attr("class","text"),g&&t.look!=="handDrawn"&&M.selectAll("path").attr("style",g),l&&t.look!=="handDrawn"&&M.selectAll("path").attr("style",l),M.attr("transform",`translate(${a}, 0)`),f.attr("transform",`translate(${-i/2+a-(c.x-(c.left??0))},${-e/2+(t.padding??0)/2-(c.y-(c.top??0))})`),H(t,M),t.intersect=function(k){return N.polygon(t,p,k)},o}b(Qe,"curlyBraceLeft");function ht(n,t,s,l=100,o=0,c=180){let f=[],r=o*Math.PI/180,e=(c*Math.PI/180-r)/(l-1);for(let a=0;a<l;a++){let g=r+a*e,y=n+s*Math.cos(g),p=t+s*Math.sin(g);f.push({x:y,y:p})}return f}b(ht,"generateCirclePoints");async function ta(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,label:f}=await X(n,t,Y(t)),r=t.look==="neo"?18:t.padding??0,h=t.look==="neo"?12:t.padding??0,i=c.width+(t.look==="neo"?r*2:r),e=c.height+(t.look==="neo"?h*2:h),a=Math.max(5,e*.1),{cssStyles:g}=t,y=[...ht(i/2,-e/2,a,20,-90,0),{x:i/2+a,y:-a},...ht(i/2+a*2,-a,a,20,-180,-270),...ht(i/2+a*2,a,a,20,-90,-180),{x:i/2+a,y:e/2},...ht(i/2,e/2,a,20,0,90)],p=[{x:-i/2,y:-e/2-a},{x:i/2,y:-e/2-a},...ht(i/2,-e/2,a,20,-90,0),{x:i/2+a,y:-a},...ht(i/2+a*2,-a,a,20,-180,-270),...ht(i/2+a*2,a,a,20,-90,-180),{x:i/2+a,y:e/2},...ht(i/2,e/2,a,20,0,90),{x:i/2,y:e/2+a},{x:-i/2,y:e/2+a}],u=v.svg(o),m=R(t,{fill:"none"});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let x=F(y).replace("Z",""),w=u.path(x,m),S=F(p),$=u.path(S,{...m}),M=o.insert("g",":first-child");return M.insert(()=>$,":first-child").attr("stroke-opacity",0),M.insert(()=>w,":first-child"),M.attr("class","text"),g&&t.look!=="handDrawn"&&M.selectAll("path").attr("style",g),l&&t.look!=="handDrawn"&&M.selectAll("path").attr("style",l),M.attr("transform",`translate(${-a}, 0)`),f.attr("transform",`translate(${-i/2+(t.padding??0)/2-(c.x-(c.left??0))},${-e/2+(t.padding??0)/2-(c.y-(c.top??0))})`),H(t,M),t.intersect=function(k){return N.polygon(t,p,k)},o}b(ta,"curlyBraceRight");function tt(n,t,s,l=100,o=0,c=180){let f=[],r=o*Math.PI/180,e=(c*Math.PI/180-r)/(l-1);for(let a=0;a<l;a++){let g=r+a*e,y=n+s*Math.cos(g),p=t+s*Math.sin(g);f.push({x:-y,y:-p})}return f}b(tt,"generateCirclePoints");async function ea(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,label:f}=await X(n,t,Y(t)),r=t.look==="neo"?18:t.padding??0,h=t.look==="neo"?12:t.padding??0,i=c.width+(t.look==="neo"?r*2:r),e=c.height+(t.look==="neo"?h*2:h),a=Math.max(5,e*.1),{cssStyles:g}=t,y=[...tt(i/2,-e/2,a,30,-90,0),{x:-i/2-a,y:a},...tt(i/2+a*2,-a,a,20,-180,-270),...tt(i/2+a*2,a,a,20,-90,-180),{x:-i/2-a,y:-e/2},...tt(i/2,e/2,a,20,0,90)],p=[...tt(-i/2+a+a/2,-e/2,a,20,-90,-180),{x:i/2-a/2,y:a},...tt(-i/2-a/2,-a,a,20,0,90),...tt(-i/2-a/2,a,a,20,-90,0),{x:i/2-a/2,y:-a},...tt(-i/2+a+a/2,e/2,a,30,-180,-270)],u=[{x:i/2,y:-e/2-a},{x:-i/2,y:-e/2-a},...tt(i/2,-e/2,a,20,-90,0),{x:-i/2-a,y:-a},...tt(i/2+a*2,-a,a,20,-180,-270),...tt(i/2+a*2,a,a,20,-90,-180),{x:-i/2-a,y:e/2},...tt(i/2,e/2,a,20,0,90),{x:-i/2,y:e/2+a},{x:i/2-a-a/2,y:e/2+a},...tt(-i/2+a+a/2,-e/2,a,20,-90,-180),{x:i/2-a/2,y:a},...tt(-i/2-a/2,-a,a,20,0,90),...tt(-i/2-a/2,a,a,20,-90,0),{x:i/2-a/2,y:-a},...tt(-i/2+a+a/2,e/2,a,30,-180,-270)],m=v.svg(o),d=R(t,{fill:"none"});t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let w=F(y).replace("Z",""),S=m.path(w,d),M=F(p).replace("Z",""),k=m.path(M,d),P=F(u),_=m.path(P,{...d}),B=o.insert("g",":first-child");return B.insert(()=>_,":first-child").attr("stroke-opacity",0),B.insert(()=>S,":first-child"),B.insert(()=>k,":first-child"),B.attr("class","text"),g&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",g),l&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",l),B.attr("transform",`translate(${a-a/4}, 0)`),f.attr("transform",`translate(${-i/2+(t.padding??0)/2-(c.x-(c.left??0))},${-e/2+(t.padding??0)/2-(c.y-(c.top??0))})`),H(t,B),t.intersect=function(C){return N.polygon(t,u,C)},o}b(ea,"curlyBraces");async function aa(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?16:o,f=t.look==="neo"?12:o,r=20,h=5,{shapeSvg:i,bbox:e}=await X(n,t,Y(t)),a=Math.max(h,e.height+f*2,t?.height??0),g=a/2,y=g-Math.sqrt(Math.max(0,g**2-(e.height/2)**2)),p=Math.max(a/4,y),u=Math.max(r,e.width+c*2+p*2,(e.width+c*2)*1.25,t?.width??0),{cssStyles:m}=t,d=v.svg(i),x=R(t,{});t.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let w=u,S=a,$=w-g,M=S/4,k=[{x:$,y:0},{x:M,y:0},{x:0,y:S/2},{x:M,y:S},{x:$,y:S},...lt(-$,-S/2,g,50,270,90)],P=F(k),_=d.path(P,x),B=i.insert(()=>_,":first-child");return B.attr("class","basic label-container outer-path"),m&&t.look!=="handDrawn"&&B.selectChildren("path").attr("style",m),l&&t.look!=="handDrawn"&&B.selectChildren("path").attr("style",l),B.attr("transform",`translate(${-u/2}, ${-a/2})`),H(t,B),t.intersect=function(C){return N.polygon(t,k,C)},i}b(aa,"curvedTrapezoid");async function sa(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,label:f}=await X(n,t,Y(t)),r=t.padding??20,h=Math.max(c.width+r*2,t.width??0,100),i=Math.min(Math.max(h*.23,16),56),e=i*.27,a=Math.max(c.height+r*2,t.height?t.height-(2*i-e):0),g=Math.min(h*.177,a*.45),y=a+2*i-e,p=-y/2,u=p+2*i-e,m=o.insert("g",":first-child").attr("class","basic label-container"),{cssStyles:d}=t;if(t.look==="handDrawn"){let P=v.svg(o),_=R(t,{}),B=P.path(gt(-h/2,u,h,a,g),_),C=P.circle(0,p+i,i*2,_);m.insert(()=>C,":first-child"),m.insert(()=>B,":first-child"),d&&m.attr("style",d)}else m.append("rect").attr("x",-h/2).attr("y",u).attr("width",h).attr("height",a).attr("rx",g).attr("ry",g).attr("style",l),m.append("circle").attr("cx",0).attr("cy",p+i).attr("r",i).attr("style",l);H(t,m);let x=u+a/2;f.attr("transform",`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${x-c.height/2-(c.y-(c.top??0))})`);let w=p+i,S=Math.asin(Math.min(1,(u-w)/i))*180/Math.PI,k=[...lt(0,-w,i,24,180+S,-S),...lt(-(-h/2+g),-(u+g),g,12,90,0),...lt(-(-h/2+g),-(y/2-g),g,12,360,270),...lt(-(h/2-g),-(y/2-g),g,12,270,180),...lt(-(h/2-g),-(u+g),g,12,180,90)];return t.intersect=function(P){return N.polygon(t,k,P)},o}b(sa,"person");var Ns=b((n,t,s,l,o,c)=>[`M${n},${t+c}`,`a${o},${c} 0,0,0 ${s},0`,`a${o},${c} 0,0,0 ${-s},0`,`l0,${l}`,`a${o},${c} 0,0,0 ${s},0`,`l0,${-l}`].join(" "),"createCylinderPathD"),As=b((n,t,s,l,o,c)=>[`M${n},${t+c}`,`M${n+s},${t+c}`,`a${o},${c} 0,0,0 ${-s},0`,`l0,${l}`,`a${o},${c} 0,0,0 ${s},0`,`l0,${-l}`].join(" "),"createOuterCylinderPathD"),Rs=b((n,t,s,l,o,c)=>[`M${n-s/2},${-l/2}`,`a${o},${c} 0,0,0 ${s},0`].join(" "),"createInnerCylinderPathD"),fe=8,pe=8;async function ra(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?24:o,f=t.look==="neo"?24:o,r=t.width??0;if(t.width&&(t.width=t.width-f,t.width<pe&&(t.width=pe)),t.height){let x=r/2/(2.5+r/50);t.height=t.height-c-x*3,t.height<fe&&(t.height=fe)}let{shapeSvg:h,bbox:i,label:e}=await X(n,t,Y(t)),a=Math.max(t.width??0,i.width)+f,g=a/2,y=g/(2.5+a/50),p=Math.max(t.height??0,i.height)+c+y,u,{cssStyles:m}=t;if(t.look==="handDrawn"){let d=v.svg(h),x=As(0,0,a,p,g,y),w=Rs(0,y,a,p,g,y),S=R(t,{}),$=d.path(x,S),M=d.path(w,R(t,{fill:"none"}));u=h.insert(()=>M,":first-child"),u=h.insert(()=>$,":first-child"),u.attr("class","basic label-container"),m&&u.attr("style",m)}else{let d=Ns(0,0,a,p,g,y);u=h.insert("path",":first-child").attr("d",d).attr("class","basic label-container outer-path").attr("style",Q(m)).attr("style",l)}return u.attr("label-offset-y",y),u.attr("transform",`translate(${-a/2}, ${-(p/2+y)})`),H(t,u),e.attr("transform",`translate(${-(i.width/2)-(i.x-(i.left??0))}, ${-(i.height/2)+(t.padding??0)/1.5-(i.y-(i.top??0))})`),t.intersect=function(d){let x=N.rect(t,d),w=x.x-(t.x??0);if(g!=0&&(Math.abs(w)<(t.width??0)/2||Math.abs(w)==(t.width??0)/2&&Math.abs(x.y-(t.y??0))>(t.height??0)/2-y)){let S=y*y*(1-w*w/(g*g));S>0&&(S=Math.sqrt(S)),S=y-S,d.y-(t.y??0)>0&&(S=-S),x.y+=S}return x},h}b(ra,"cylinder");async function Nt(n,t,s){let{labelStyles:l,nodeStyles:o}=W(t);t.labelStyle=l;let{shapeSvg:c,bbox:f}=await X(n,t,Y(t)),r=Math.max(f.width+s.labelPaddingX*2,t?.width||0),h=Math.max(f.height+s.labelPaddingY*2,t?.height||0),i=-r/2,e=-h/2,a,{rx:g,ry:y}=t,{cssStyles:p}=t;if(s?.rx&&s.ry&&(g=s.rx,y=s.ry),t.look==="handDrawn"){let u=v.svg(c),m=R(t,{}),d=g||y?u.path(gt(i,e,r,h,g||0),m):u.rectangle(i,e,r,h,m);a=c.insert(()=>d,":first-child"),a.attr("class","basic label-container").attr("style",Q(p))}else a=c.insert("rect",":first-child"),a.attr("class","basic label-container").attr("style",o).attr("rx",Q(g)).attr("ry",Q(y)).attr("x",i).attr("y",e).attr("width",r).attr("height",h);return H(t,a,t.look==="handDrawn"?void 0:{width:r,height:h}),t.calcIntersect=function(u,m){return N.rect(u,m)},t.intersect=function(u){return N.rect(t,u)},c}b(Nt,"drawRect");async function ia(n,t){let{cssClasses:s,labelPaddingX:l,labelPaddingY:o,padding:c,width:f,height:r}=t,h={rx:0,ry:0,classes:s??"",labelPaddingX:l??(c??0)*2,labelPaddingY:o??c??0},i=await Nt(n,t,h);if(t.look==="handDrawn"){let y=v.svg(i),p=R(t,{}),u=i.select(".basic.label-container > path:nth-child(2)"),m=u.node();if(!m)return i;let d=null;if(m instanceof SVGGraphicsElement)d=m.getBBox();else return i;return i.insert(()=>y.line(d.x,d.y,d.x+d.width,d.y,p),".basic.label-container g.label"),i.insert(()=>y.line(d.x,d.y+d.height,d.x+d.width,d.y+d.height,p),".basic.label-container g.label"),u.remove(),i}let e=i.select(".basic.label-container"),a=(Number(e.attr("width"))||f)??0,g=(Number(e.attr("height"))||r)??0;return a>0&&g>0&&e.attr("stroke-dasharray",`${a} ${g}`),i}b(ia,"datastore");async function la(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.look==="neo"?16:t.padding??0,c=t.look==="neo"?16:t.padding??0,{shapeSvg:f,bbox:r,label:h}=await X(n,t,Y(t)),i=r.width+o,e=r.height+c,a=e*.2,g=-i/2,y=-e/2-a/2,{cssStyles:p}=t,u=v.svg(f),m=R(t,{});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let d=[{x:g,y:y+a},{x:-g,y:y+a},{x:-g,y:-y},{x:g,y:-y},{x:g,y},{x:-g,y},{x:-g,y:y+a}],x=u.polygon(d.map(S=>[S.x,S.y]),m),w=f.insert(()=>x,":first-child");return w.attr("class","basic label-container outer-path"),p&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",p),l&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",l),h.attr("transform",`translate(${g+(t.padding??0)/2-(r.x-(r.left??0))}, ${y+a+(t.padding??0)/2-(r.y-(r.top??0))})`),H(t,w),t.intersect=function(S){return N.rect(t,S)},f}b(la,"dividedRectangle");async function na(n,t){let{labelStyles:s,nodeStyles:l}=W(t),o=t.look==="neo"?12:5;t.labelStyle=s;let c=t.padding??0,f=t.look==="neo"?16:c,{shapeSvg:r,bbox:h}=await X(n,t,Y(t)),i=Math.sqrt(h.width**2+h.height**2)/2,e=(t?.width?t?.width/2:i)+(f??0),a=e+o,g,{cssStyles:y}=t;if(t.look==="handDrawn"){let p=v.svg(r),u=R(t,{roughness:.2,strokeWidth:2.5}),m=R(t,{roughness:.2,strokeWidth:1.5}),d=p.circle(0,0,a*2,u),x=p.circle(0,0,e*2,m);g=r.insert("g",":first-child"),g.attr("class",Q(t.cssClasses)).attr("style",Q(y)),g.node()?.appendChild(d),g.node()?.appendChild(x)}else{g=r.insert("g",":first-child");let p=g.insert("circle",":first-child"),u=g.insert("circle");g.attr("class","basic label-container").attr("style",l),p.attr("class","outer-circle").attr("style",l).attr("r",a).attr("cx",0).attr("cy",0),u.attr("class","inner-circle").attr("style",l).attr("r",e).attr("cx",0).attr("cy",0)}return H(t,g),t.intersect=function(p){return J.info("DoubleCircle intersect",t,a,p),N.circle(t,a,p)},r}b(na,"doublecircle");async function ca(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,halfPadding:f}=await X(n,t,Y(t)),{theme:r,themeVariables:h}=z();wt(o,t.colorIndex,r,h.borderColorArray);let i=f??10,e=c.width/2+i*2,a=c.height/2+i*2,g,{cssStyles:y}=t;if(t.look==="handDrawn"){let p=v.svg(o),u=R(t,{}),m=p.ellipse(0,0,e*2,a*2,u);g=o.insert(()=>m,":first-child"),g.attr("class","basic label-container"),y&&g.attr("style",y)}else g=o.insert("ellipse",":first-child").attr("class","basic label-container").attr("style",l).attr("rx",e).attr("ry",a).attr("cx",0).attr("cy",0);return t.width=e*2,t.height=a*2,H(t,g),t.calcIntersect=function(p,u){let m=p.width/2,d=p.height/2;return N.ellipse(p,m,d,u)},t.intersect=function(p){return N.ellipse(t,e,a,p)},o}b(ca,"usecaseEllipse");function oa(n,t,{config:{themeVariables:s}}){let{labelStyles:l,nodeStyles:o}=W(t);t.label="",t.labelStyle=l;let c=n.insert("g").attr("class",Y(t)).attr("id",t.domId??t.id),f=7,{cssStyles:r}=t,h=v.svg(c),{nodeBorder:i}=s,e=R(t,{fillStyle:"solid"});t.look!=="handDrawn"&&(e.roughness=0);let a=h.circle(0,0,f*2,e),g=c.insert(()=>a,":first-child");return g.selectAll("path").attr("style",`fill: ${i} !important;`),r&&r.length>0&&t.look!=="handDrawn"&&g.selectAll("path").attr("style",r),o&&t.look!=="handDrawn"&&g.selectAll("path").attr("style",o),H(t,g),t.intersect=function(y){return J.info("filledCircle intersect",t,{radius:f,point:y}),N.circle(t,f,y)},c}b(oa,"filledCircle");var ue=10,de=10;async function ha(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?o*2:o;(t.width||t.height)&&(t.height=t?.height??0,t.height<ue&&(t.height=ue),t.width=(t?.width??0)-c-c/2,t.width<de&&(t.width=de));let{shapeSvg:f,bbox:r,label:h}=await X(n,t,Y(t)),i=(t?.width?t?.width:r.width)+(c??0),e=t?.height?t?.height:i+r.height,a=e,g=[{x:0,y:-e},{x:a,y:-e},{x:a/2,y:0}],{cssStyles:y}=t,p=v.svg(f),u=R(t,{});t.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let m=F(g),d=p.path(m,u),x=f.insert(()=>d,":first-child").attr("transform",`translate(${-e/2}, ${e/2})`).attr("class","outer-path");return y&&t.look!=="handDrawn"&&x.selectChildren("path").attr("style",y),l&&t.look!=="handDrawn"&&x.selectChildren("path").attr("style",l),t.width=i,t.height=e,H(t,x),h.attr("transform",`translate(${-r.width/2-(r.x-(r.left??0))}, ${-e/2+(t.padding??0)/2+(r.y-(r.top??0))})`),t.intersect=function(w){return J.info("Triangle intersect",t,g,w),N.polygon(t,g,w)},f}b(ha,"flippedTriangle");async function ga(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,label:f}=await X(n,t,Y(t)),r=t.padding??12,h=Math.max(c.width+r*2,t.width??0,90),i=c.height+r*2,e=Math.max(Math.min(i*.16,14),8),a=Math.max(i+e,t.height??0),g=a-e,y=Math.max(h*.38,28),p=-a/2,u=[{x:-h/2,y:p},{x:-h/2+y,y:p},{x:-h/2+y,y:p+e},{x:h/2,y:p+e},{x:h/2,y:a/2},{x:-h/2,y:a/2}],m=[`M${u[0].x},${u[0].y}`,...u.slice(1).map(S=>`L${S.x},${S.y}`),"Z"].join(" "),{cssStyles:d}=t,x;if(t.look==="handDrawn"){let $=v.svg(o).path(m,R(t,{}));x=o.insert(()=>$,":first-child").attr("class","basic label-container"),d&&x.attr("style",d)}else x=o.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",l);t.look==="handDrawn"?H(t,x):H(t,x,{width:h,height:a});let w=p+e+g/2;return f.attr("transform",`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${w-c.height/2-(c.y-(c.top??0))})`),t.intersect=function(S){return N.polygon(t,u,S)},o}b(ga,"folder");function ya(n,t,{dir:s,config:{state:l,themeVariables:o}}){let{nodeStyles:c}=W(t);t.label="";let f=n.insert("g").attr("class",Y(t)).attr("id",t.domId??t.id),{cssStyles:r}=t,h=Math.max(70,t?.width??0),i=Math.max(10,t?.height??0);(s==="LR"||s==="RL")&&(h=Math.max(10,t?.width??0),i=Math.max(70,t?.height??0));let e=-1*h/2,a=-1*i/2,g=v.svg(f),y=R(t,{stroke:o.lineColor,fill:o.lineColor});t.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let p=g.rectangle(e,a,h,i,y),u=f.insert(()=>p,":first-child");r&&t.look!=="handDrawn"&&u.selectAll("path").attr("style",r),c&&t.look!=="handDrawn"&&u.selectAll("path").attr("style",c),H(t,u);let m=l?.padding??0;return t.width&&t.height&&(t.width+=m/2||0,t.height+=m/2||0),t.intersect=function(d){return N.rect(t,d)},f}b(ya,"forkJoin");async function fa(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=15,c=10,f=t.look==="neo"?16:t.padding??0,r=t.look==="neo"?12:t.padding??0;(t.width||t.height)&&(t.height=(t?.height??0)-r*2,t.height<c&&(t.height=c),t.width=(t?.width??0)-f*2,t.width<o&&(t.width=o));let{shapeSvg:h,bbox:i}=await X(n,t,Y(t)),e=(t?.height?t?.height:Math.max(c,i.height))+r*2,a=e/2,g=a-Math.sqrt(Math.max(0,a**2-(i.height/2)**2)),y=(t?.width?t?.width:Math.max(o,i.width)+g*2)+f*2,{cssStyles:p}=t,u=v.svg(h),m=R(t,{});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let d=[{x:-y/2,y:-e/2},{x:y/2-a,y:-e/2},...lt(-y/2+a,0,a,50,90,270),{x:y/2-a,y:e/2},{x:-y/2,y:e/2}],x=F(d),w=u.path(x,m),S=h.insert(()=>w,":first-child");return S.attr("class","basic label-container outer-path"),p&&t.look!=="handDrawn"&&S.selectChildren("path").attr("style",p),l&&t.look!=="handDrawn"&&S.selectChildren("path").attr("style",l),H(t,S),t.intersect=function($){return J.info("Pill intersect",t,{radius:a,point:$}),N.polygon(t,d,$)},h}b(fa,"halfRoundedRectangle");var Hs=b((n,t,s,l,o)=>[`M${n+o},${t}`,`L${n+s-o},${t}`,`L${n+s},${t-l/2}`,`L${n+s-o},${t-l}`,`L${n+o},${t-l}`,`L${n},${t-l/2}`,"Z"].join(" "),"createHexagonPathD");async function pa(n,t){let{labelStyles:s,nodeStyles:l}=W(t),o=t.look==="neo"?3.5:4;t.labelStyle=s;let c=t.padding??0,f=70,r=32,h=t.look==="neo"?f:c,i=t.look==="neo"?r:c;if(t.width||t.height){let w=(t.height??0)/o;t.width=(t?.width??0)-2*w-i,t.height=(t.height??0)-h}let{shapeSvg:e,bbox:a}=await X(n,t,Y(t)),g=(t?.height?t?.height:a.height)+h,y=g/o,p=(t?.width?t?.width:a.width)+2*y+i,u=[{x:y,y:0},{x:p-y,y:0},{x:p,y:-g/2},{x:p-y,y:-g},{x:y,y:-g},{x:0,y:-g/2}],m,{cssStyles:d}=t;if(t.look==="handDrawn"){let x=v.svg(e),w=R(t,{}),S=Hs(0,0,p,g,y),$=x.path(S,w);m=e.insert(()=>$,":first-child").attr("transform",`translate(${-p/2}, ${g/2})`),d&&m.attr("style",d)}else m=nt(e,p,g,u);return l&&m.attr("style",l),t.width=p,t.height=g,H(t,m),t.intersect=function(x){return N.polygon(t,u,x)},e}b(pa,"hexagon");async function ua(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.label="",t.labelStyle=s;let{shapeSvg:o}=await X(n,t,Y(t)),c=Math.max(30,t?.width??0),f=Math.max(30,t?.height??0),{cssStyles:r}=t,h=v.svg(o),i=R(t,{});t.look!=="handDrawn"&&(i.roughness=0,i.fillStyle="solid");let e=[{x:0,y:0},{x:c,y:0},{x:0,y:f},{x:c,y:f}],a=F(e),g=h.path(a,i),y=o.insert(()=>g,":first-child");return y.attr("class","basic label-container outer-path"),r&&t.look!=="handDrawn"&&y.selectChildren("path").attr("style",r),l&&t.look!=="handDrawn"&&y.selectChildren("path").attr("style",l),y.attr("transform",`translate(${-c/2}, ${-f/2})`),H(t,y),t.intersect=function(p){return J.info("Pill intersect",t,{points:e}),N.polygon(t,e,p)},o}b(ua,"hourglass");async function da(n,t,{config:{themeVariables:s,flowchart:l}}){let{labelStyles:o}=W(t);t.labelStyle=o;let c=t.assetHeight??48,f=t.assetWidth??48,r=Math.max(c,f),h=l?.wrappingWidth;t.width=Math.max(r,h??0);let{shapeSvg:i,bbox:e,label:a}=await X(n,t,"icon-shape default"),g=t.pos==="t",y=r,p=r,{nodeBorder:u}=s,{stylesMap:m}=vt(t),d=-p/2,x=-y/2,w=t.label?8:0,S=v.svg(i),$=R(t,{stroke:"none",fill:"none"});t.look!=="handDrawn"&&($.roughness=0,$.fillStyle="solid");let M=S.rectangle(d,x,p,y,$),k=Math.max(p,e.width),P=y+e.height+w,_=S.rectangle(-k/2,-P/2,k,P,{...$,fill:"transparent",stroke:"none"}),B=i.insert(()=>M,":first-child"),C=i.insert(()=>_);if(t.icon){let I=i.append("g");I.html(`<g>${await kt(t.icon,{height:r,width:r,fallbackPrefix:""})}</g>`);let D=I.node().getBBox(),L=D.width,E=D.height,A=D.x,T=D.y;I.attr("transform",`translate(${-L/2-A},${g?e.height/2+w/2-E/2-T:-e.height/2-w/2-E/2-T})`),I.attr("style",`color: ${m.get("stroke")??u};`)}return a.attr("transform",`translate(${-e.width/2-(e.x-(e.left??0))},${g?-P/2:P/2-e.height})`),B.attr("transform",`translate(0,${g?e.height/2+w/2:-e.height/2-w/2})`),H(t,C),t.intersect=function(I){if(J.info("iconSquare intersect",t,I),!t.label)return N.rect(t,I);let D=t.x??0,L=t.y??0,E=t.height??0,A=[];return g?A=[{x:D-e.width/2,y:L-E/2},{x:D+e.width/2,y:L-E/2},{x:D+e.width/2,y:L-E/2+e.height+w},{x:D+p/2,y:L-E/2+e.height+w},{x:D+p/2,y:L+E/2},{x:D-p/2,y:L+E/2},{x:D-p/2,y:L-E/2+e.height+w},{x:D-e.width/2,y:L-E/2+e.height+w}]:A=[{x:D-p/2,y:L-E/2},{x:D+p/2,y:L-E/2},{x:D+p/2,y:L-E/2+y},{x:D+e.width/2,y:L-E/2+y},{x:D+e.width/2/2,y:L+E/2},{x:D-e.width/2,y:L+E/2},{x:D-e.width/2,y:L-E/2+y},{x:D-p/2,y:L-E/2+y}],N.polygon(t,A,I)},i}b(da,"icon");async function ma(n,t,{config:{themeVariables:s,flowchart:l}}){let{labelStyles:o}=W(t);t.labelStyle=o;let c=t.assetHeight??48,f=t.assetWidth??48,r=Math.max(c,f),h=l?.wrappingWidth;t.width=Math.max(r,h??0);let{shapeSvg:i,bbox:e,label:a}=await X(n,t,"icon-shape default"),g=20,y=t.label?8:0,p=t.pos==="t",{nodeBorder:u,mainBkg:m}=s,{stylesMap:d}=vt(t),x=v.svg(i),w=R(t,{});t.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let S=d.get("fill");w.stroke=S??m;let $=i.append("g");t.icon&&$.html(`<g>${await kt(t.icon,{height:r,width:r,fallbackPrefix:""})}</g>`);let M=$.node().getBBox(),k=M.width,P=M.height,_=M.x,B=M.y,C=Math.max(k,P)*Math.SQRT2+g*2,I=x.circle(0,0,C,w),D=Math.max(C,e.width),L=C+e.height+y,E=x.rectangle(-D/2,-L/2,D,L,{...w,fill:"transparent",stroke:"none"}),A=i.insert(()=>I,":first-child"),T=i.insert(()=>E);return $.attr("transform",`translate(${-k/2-_},${p?e.height/2+y/2-P/2-B:-e.height/2-y/2-P/2-B})`),$.attr("style",`color: ${d.get("stroke")??u};`),a.attr("transform",`translate(${-e.width/2-(e.x-(e.left??0))},${p?-L/2:L/2-e.height})`),A.attr("transform",`translate(0,${p?e.height/2+y/2:-e.height/2-y/2})`),H(t,T),t.intersect=function(O){return J.info("iconSquare intersect",t,O),N.rect(t,O)},i}b(ma,"iconCircle");async function xa(n,t,{config:{themeVariables:s,flowchart:l}}){let{labelStyles:o}=W(t);t.labelStyle=o;let c=t.assetHeight??48,f=t.assetWidth??48,r=Math.max(c,f),h=l?.wrappingWidth;t.width=Math.max(r,h??0);let{shapeSvg:i,bbox:e,halfPadding:a,label:g}=await X(n,t,"icon-shape default"),y=t.pos==="t",p=r+a*2,u=r+a*2,{nodeBorder:m,mainBkg:d}=s,{stylesMap:x}=vt(t),w=-u/2,S=-p/2,$=t.label?8:0,M=v.svg(i),k=R(t,{});t.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");let P=x.get("fill");k.stroke=P??d;let _=M.path(gt(w,S,u,p,5),k),B=Math.max(u,e.width),C=p+e.height+$,I=M.rectangle(-B/2,-C/2,B,C,{...k,fill:"transparent",stroke:"none"}),D=i.insert(()=>_,":first-child").attr("class","icon-shape2"),L=i.insert(()=>I);if(t.icon){let E=i.append("g");E.html(`<g>${await kt(t.icon,{height:r,width:r,fallbackPrefix:""})}</g>`);let A=E.node().getBBox(),T=A.width,O=A.height,G=A.x,V=A.y;E.attr("transform",`translate(${-T/2-G},${y?e.height/2+$/2-O/2-V:-e.height/2-$/2-O/2-V})`),E.attr("style",`color: ${x.get("stroke")??m};`)}return g.attr("transform",`translate(${-e.width/2-(e.x-(e.left??0))},${y?-C/2:C/2-e.height})`),D.attr("transform",`translate(0,${y?e.height/2+$/2:-e.height/2-$/2})`),H(t,L),t.intersect=function(E){if(J.info("iconSquare intersect",t,E),!t.label)return N.rect(t,E);let A=t.x??0,T=t.y??0,O=t.height??0,G=[];return y?G=[{x:A-e.width/2,y:T-O/2},{x:A+e.width/2,y:T-O/2},{x:A+e.width/2,y:T-O/2+e.height+$},{x:A+u/2,y:T-O/2+e.height+$},{x:A+u/2,y:T+O/2},{x:A-u/2,y:T+O/2},{x:A-u/2,y:T-O/2+e.height+$},{x:A-e.width/2,y:T-O/2+e.height+$}]:G=[{x:A-u/2,y:T-O/2},{x:A+u/2,y:T-O/2},{x:A+u/2,y:T-O/2+p},{x:A+e.width/2,y:T-O/2+p},{x:A+e.width/2/2,y:T+O/2},{x:A-e.width/2,y:T+O/2},{x:A-e.width/2,y:T-O/2+p},{x:A-u/2,y:T-O/2+p}],N.polygon(t,G,E)},i}b(xa,"iconRounded");async function wa(n,t,{config:{themeVariables:s,flowchart:l}}){let{labelStyles:o}=W(t);t.labelStyle=o;let c=t.assetHeight??48,f=t.assetWidth??48,r=Math.max(c,f),h=l?.wrappingWidth;t.width=Math.max(r,h??0);let{shapeSvg:i,bbox:e,halfPadding:a,label:g}=await X(n,t,"icon-shape default"),y=t.pos==="t",p=r+a*2,u=r+a*2,{nodeBorder:m,mainBkg:d}=s,{stylesMap:x}=vt(t),w=-u/2,S=-p/2,$=t.label?8:0,M=v.svg(i),k=R(t,{});t.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");let P=x.get("fill");k.stroke=P??d;let _=M.path(gt(w,S,u,p,.1),k),B=Math.max(u,e.width),C=p+e.height+$,I=M.rectangle(-B/2,-C/2,B,C,{...k,fill:"transparent",stroke:"none"}),D=i.insert(()=>_,":first-child"),L=i.insert(()=>I);if(t.icon){let E=i.append("g");E.html(`<g>${await kt(t.icon,{height:r,width:r,fallbackPrefix:""})}</g>`);let A=E.node().getBBox(),T=A.width,O=A.height,G=A.x,V=A.y;E.attr("transform",`translate(${-T/2-G},${y?e.height/2+$/2-O/2-V:-e.height/2-$/2-O/2-V})`),E.attr("style",`color: ${x.get("stroke")??m};`)}return g.attr("transform",`translate(${-e.width/2-(e.x-(e.left??0))},${y?-C/2:C/2-e.height})`),D.attr("transform",`translate(0,${y?e.height/2+$/2:-e.height/2-$/2})`),H(t,L),t.intersect=function(E){if(J.info("iconSquare intersect",t,E),!t.label)return N.rect(t,E);let A=t.x??0,T=t.y??0,O=t.height??0,G=[];return y?G=[{x:A-e.width/2,y:T-O/2},{x:A+e.width/2,y:T-O/2},{x:A+e.width/2,y:T-O/2+e.height+$},{x:A+u/2,y:T-O/2+e.height+$},{x:A+u/2,y:T+O/2},{x:A-u/2,y:T+O/2},{x:A-u/2,y:T-O/2+e.height+$},{x:A-e.width/2,y:T-O/2+e.height+$}]:G=[{x:A-u/2,y:T-O/2},{x:A+u/2,y:T-O/2},{x:A+u/2,y:T-O/2+p},{x:A+e.width/2,y:T-O/2+p},{x:A+e.width/2/2,y:T+O/2},{x:A-e.width/2,y:T+O/2},{x:A-e.width/2,y:T-O/2+p},{x:A-u/2,y:T-O/2+p}],N.polygon(t,G,E)},i}b(wa,"iconSquare");async function ba(n,t,{config:{flowchart:s}}){let l=new Image;l.src=t?.img??"",await l.decode();let o=Number(l.naturalWidth.toString().replace("px","")),c=Number(l.naturalHeight.toString().replace("px",""));t.imageAspectRatio=o/c;let{labelStyles:f}=W(t);t.labelStyle=f;let r=s?.wrappingWidth;t.defaultWidth=s?.wrappingWidth;let h=Math.max(t.label?r??0:0,t?.assetWidth??o),i=t.constraint==="on"&&t?.assetHeight?t.assetHeight*t.imageAspectRatio:h,e=t.constraint==="on"?i/t.imageAspectRatio:t?.assetHeight??c;t.width=Math.max(i,r??0);let{shapeSvg:a,bbox:g,label:y}=await X(n,t,"image-shape default"),p=t.pos==="t",u=-i/2,m=-e/2,d=t.label?8:0,x=v.svg(a),w=R(t,{});t.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let S=x.rectangle(u,m,i,e,w),$=Math.max(i,g.width),M=e+g.height+d,k=x.rectangle(-$/2,-M/2,$,M,{...w,fill:"none",stroke:"none"}),P=a.insert(()=>S,":first-child"),_=a.insert(()=>k);if(t.img){let B=a.append("image");B.attr("href",t.img),B.attr("width",i),B.attr("height",e),B.attr("preserveAspectRatio","none"),B.attr("transform",`translate(${-i/2},${p?M/2-e:-M/2})`)}return y.attr("transform",`translate(${-g.width/2-(g.x-(g.left??0))},${p?-e/2-g.height/2-d/2:e/2-g.height/2+d/2})`),P.attr("transform",`translate(0,${p?g.height/2+d/2:-g.height/2-d/2})`),H(t,_),t.intersect=function(B){if(J.info("iconSquare intersect",t,B),!t.label)return N.rect(t,B);let C=t.x??0,I=t.y??0,D=t.height??0,L=[];return p?L=[{x:C-g.width/2,y:I-D/2},{x:C+g.width/2,y:I-D/2},{x:C+g.width/2,y:I-D/2+g.height+d},{x:C+i/2,y:I-D/2+g.height+d},{x:C+i/2,y:I+D/2},{x:C-i/2,y:I+D/2},{x:C-i/2,y:I-D/2+g.height+d},{x:C-g.width/2,y:I-D/2+g.height+d}]:L=[{x:C-i/2,y:I-D/2},{x:C+i/2,y:I-D/2},{x:C+i/2,y:I-D/2+e},{x:C+g.width/2,y:I-D/2+e},{x:C+g.width/2/2,y:I+D/2},{x:C-g.width/2,y:I+D/2},{x:C-g.width/2,y:I-D/2+e},{x:C-i/2,y:I-D/2+e}],N.polygon(t,L,B)},a}b(ba,"imageSquare");async function Sa(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=o,f=t.look==="neo"?o*2:o,{shapeSvg:r,bbox:h}=await X(n,t,Y(t)),i=Math.max(h.height+c*2,t.height??0),e=Math.max(h.width+f*2,(t.width??0)-i),a=[{x:0,y:0},{x:e,y:0},{x:e+3*i/6,y:-i},{x:-3*i/6,y:-i}],g,{cssStyles:y}=t;if(t.look==="handDrawn"){let p=v.svg(r),u=R(t,{}),m=F(a),d=p.path(m,u);g=r.insert(()=>d,":first-child").attr("transform",`translate(${-e/2}, ${i/2})`),y&&g.attr("style",y)}else g=nt(r,e,i,a);return l&&g.attr("style",l),t.width=e,t.height=i,H(t,g),t.intersect=function(p){return N.polygon(t,a,p)},r}b(Sa,"inv_trapezoid");async function $a(n,t){let{shapeSvg:s,bbox:l,label:o}=await X(n,t,"label"),c=s.insert("rect",":first-child");return c.attr("width",.1).attr("height",.1),s.attr("class","label edgeLabel"),o.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),H(t,c),t.intersect=function(h){return N.rect(t,h)},s}b($a,"labelRect");async function va(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=o,f=t.look==="neo"?o*2:o,{shapeSvg:r,bbox:h}=await X(n,t,Y(t)),i=Math.max(h.height+c,t.height??0),e=Math.max(h.width+f,(t.width??0)-i),a=[{x:0,y:0},{x:e+3*i/6,y:0},{x:e,y:-i},{x:-(3*i)/6,y:-i}],g,{cssStyles:y}=t;if(t.look==="handDrawn"){let p=v.svg(r),u=R(t,{}),m=F(a),d=p.path(m,u);g=r.insert(()=>d,":first-child").attr("transform",`translate(${-e/2}, ${i/2})`),y&&g.attr("style",y)}else g=nt(r,e,i,a);return l&&g.attr("style",l),t.width=e,t.height=i,H(t,g),t.intersect=function(p){return N.polygon(t,a,p)},r}b(va,"lean_left");async function ka(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=o,f=t.look==="neo"?o*2:o,{shapeSvg:r,bbox:h}=await X(n,t,Y(t)),i=Math.max(h.height+c,t.height??0),e=Math.max(h.width+f,(t.width??0)-i),a=[{x:-3*i/6,y:0},{x:e,y:0},{x:e+3*i/6,y:-i},{x:0,y:-i}],g,{cssStyles:y}=t;if(t.look==="handDrawn"){let p=v.svg(r),u=R(t,{}),m=F(a),d=p.path(m,u);g=r.insert(()=>d,":first-child").attr("transform",`translate(${-e/2}, ${i/2})`),y&&g.attr("style",y)}else g=nt(r,e,i,a);return l&&g.attr("style",l),t.width=e,t.height=i,H(t,g),t.intersect=function(p){return N.polygon(t,a,p)},r}b(ka,"lean_right");function Ma(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.label="",t.labelStyle=s;let o=n.insert("g").attr("class",Y(t)).attr("id",t.domId??t.id),{cssStyles:c}=t,f=Math.max(35,t?.width??0),r=Math.max(35,t?.height??0),h=7,i=[{x:f,y:0},{x:0,y:r+h/2},{x:f-2*h,y:r+h/2},{x:0,y:2*r},{x:f,y:r-h/2},{x:2*h,y:r-h/2}],e=v.svg(o),a=R(t,{});t.look!=="handDrawn"&&(a.roughness=0,a.fillStyle="solid");let g=F(i),y=e.path(g,a),p=o.insert(()=>y,":first-child");return p.attr("class","outer-path"),c&&t.look!=="handDrawn"&&p.selectAll("path").attr("style",c),l&&t.look!=="handDrawn"&&p.selectAll("path").attr("style",l),p.attr("transform",`translate(-${f/2},${-r})`),H(t,p),t.intersect=function(u){return J.info("lightningBolt intersect",t,u),N.polygon(t,i,u)},o}b(Ma,"lightningBolt");var Is=b((n,t,s,l,o,c,f)=>[`M${n},${t+c}`,`a${o},${c} 0,0,0 ${s},0`,`a${o},${c} 0,0,0 ${-s},0`,`l0,${l}`,`a${o},${c} 0,0,0 ${s},0`,`l0,${-l}`,`M${n},${t+c+f}`,`a${o},${c} 0,0,0 ${s},0`].join(" "),"createCylinderPathD"),Ls=b((n,t,s,l,o,c,f)=>[`M${n},${t+c}`,`M${n+s},${t+c}`,`a${o},${c} 0,0,0 ${-s},0`,`l0,${l}`,`a${o},${c} 0,0,0 ${s},0`,`l0,${-l}`,`M${n},${t+c+f}`,`a${o},${c} 0,0,0 ${s},0`].join(" "),"createOuterCylinderPathD"),Es=b((n,t,s,l,o,c)=>[`M${n-s/2},${-l/2}`,`a${o},${c} 0,0,0 ${s},0`].join(" "),"createInnerCylinderPathD"),me=10,xe=10;async function Pa(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?16:o,f=t.look==="neo"?24:o;if(t.width||t.height){let d=t.width??0;t.width=(t.width??0)-c,t.width<xe&&(t.width=xe);let w=d/2/(2.5+d/50);t.height=(t.height??0)-f-w*3,t.height<me&&(t.height=me)}let{shapeSvg:r,bbox:h,label:i}=await X(n,t,Y(t)),e=(t?.width?t?.width:h.width)+c*2,a=e/2,g=a/(2.5+e/50),y=(t?.height?t?.height:h.height)+g+f*2,p=y*.1,u,{cssStyles:m}=t;if(t.look==="handDrawn"){let d=v.svg(r),x=Ls(0,0,e,y,a,g,p),w=Es(0,g,e,y,a,g),S=R(t,{}),$=d.path(x,S),M=d.path(w,S);r.insert(()=>M,":first-child").attr("class","line"),u=r.insert(()=>$,":first-child"),u.attr("class","basic label-container"),m&&u.attr("style",m)}else{let d=Is(0,0,e,y,a,g,p);u=r.insert("path",":first-child").attr("d",d).attr("class","basic label-container outer-path").attr("style",Q(m)).attr("style",l)}return u.attr("label-offset-y",g),u.attr("transform",`translate(${-e/2}, ${-(y/2+g)})`),H(t,u),i.attr("transform",`translate(${-(h.width/2)-(h.x-(h.left??0))}, ${-(h.height/2)+g-(h.y-(h.top??0))})`),t.intersect=function(d){let x=N.rect(t,d),w=x.x-(t.x??0);if(a!=0&&(Math.abs(w)<(t.width??0)/2||Math.abs(w)==(t.width??0)/2&&Math.abs(x.y-(t.y??0))>(t.height??0)/2-g)){let S=g*g*(1-w*w/(a*a));S>0&&(S=Math.sqrt(S)),S=g-S,d.y-(t.y??0)>0&&(S=-S),x.y+=S}return x},r}b(Pa,"linedCylinder");async function Da(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?16:o,f=t.look==="neo"?12:o;if(t.width||t.height){let S=t.width;t.width=(S??0)*10/11-c*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-f*2,t.height<10&&(t.height=10)}let{shapeSvg:r,bbox:h,label:i}=await X(n,t,Y(t)),e=(t?.width?t?.width:h.width)+(c??0)*2,a=(t?.height?t?.height:h.height)+(f??0)*2,g=t.look==="neo"?a/4:a/8,y=a+g,{cssStyles:p}=t,u=v.svg(r),m=R(t,{});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let d=[{x:-e/2-e/2*.1,y:-y/2},{x:-e/2-e/2*.1,y:y/2},...ut(-e/2-e/2*.1,y/2,e/2+e/2*.1,y/2,g,.8),{x:e/2+e/2*.1,y:-y/2},{x:-e/2-e/2*.1,y:-y/2},{x:-e/2,y:-y/2},{x:-e/2,y:y/2*1.1},{x:-e/2,y:-y/2}],x=u.polygon(d.map(S=>[S.x,S.y]),m),w=r.insert(()=>x,":first-child");return w.attr("class","basic label-container outer-path"),p&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",p),l&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",l),w.attr("transform",`translate(0,${-g/2})`),i.attr("transform",`translate(${-e/2+(t.padding??0)+e/2*.1/2-(h.x-(h.left??0))},${-a/2+(t.padding??0)-g-(h.y-(h.top??0))})`),H(t,w),t.intersect=function(S){return N.polygon(t,d,S)},r}b(Da,"linedWaveEdgedRect");var Ws=56,Xt=72,we=8,be=2,Ts=8,_s={normal:"usecase-actor-shape usecase-actor-normal",hollow:"usecase-actor-hollow",awesome:"usecase-actor-awesome",icon:"usecase-actor-icon"},Se=Math.PI/3,$e=.6,jt=b((n,t)=>{let s=t*$e,l=t*Math.sqrt(1-$e**2),o=Math.cos(Se),c=-Math.sin(Se),f=s*-c,r=n+s*o,h=l*o,i=l*c;return`M ${f-h} ${r-i} L ${f+h} ${r+i}`},"businessMarkerPathForCircle"),Ys={normal:jt(-24,12),hollow:jt(-23,9),awesome:jt(-21,13),icon:"M 12 -8 L 26 -26"},ve=b((n,t,s)=>{let l=(t.x??0)-(t.left??0),o=(t.y??0)-(t.top??0);n.attr("transform",`translate(${-t.width/2-l},${s-t.height/2-o})`)},"positionLabel"),ee=b((n,t,s,l,o=!1)=>{if(t.look==="handDrawn"){let r=v.svg(n).path(s,R(t,o?{fill:"none"}:{}));return n.insert(()=>r,":first-child").attr("class",l)}let c=n.append("path").attr("class",l).attr("d",s);return o&&c.attr("fill","none"),c},"appendActorPath"),Os=b((n,t,s,l,o,c,f=!1)=>{if(t.look==="handDrawn"){let i=v.svg(n).circle(s,l,o*2,R(t,f?{fill:"none"}:{}));return n.insert(()=>i,":first-child").attr("class",c)}let r=n.append("circle").attr("class",c).attr("cx",s).attr("cy",l).attr("r",o);return f&&r.attr("fill","none"),r},"appendActorCircle"),Xs=b((n,t,s)=>{t.business&&n.append("path").attr("class","usecase-business-marker usecase-actor-business-marker").attr("d",Ys[s]).attr("fill","none").attr("style","stroke: inherit !important; stroke-width: inherit !important")},"appendBusinessActorMarker");async function It(n,t,s,l){let{labelStyles:o,nodeStyles:c}=W(t);t.labelStyle=o;let f=s==="icon"||t.stereotype!==void 0?{...t,icon:s==="icon"?void 0:t.icon,stereotype:void 0}:t,{shapeSvg:r,bbox:h,label:i}=await X(n,f,Y(t,`usecase-actor-variant usecase-actor-${s}`)),e=t.accessibleName??t.label;e&&r.attr("role","img").attr("aria-label",e),i.attr("class","label actor-label usecase-actor-label");let{theme:a,themeVariables:g}=z();wt(r,t.colorIndex,a,g.borderColorArray);let y,p;if(t.stereotype){let P=await St(r,`\xAB${t.stereotype}\xBB`,{labelStyle:o,useHtmlLabels:t.useHtmlLabels,padding:0,centerLabel:!0,width:t.wrappingWidth});y=P.label.attr("class","label usecase-stereotype"),p=P.bbox}let u=r.append("g").attr("class",`usecase-actor-glyph ${_s[s]}`).attr("style",c||null);await l(u,t),Xs(u,t,s);let m=t.padding??Ts,d=p?.height??0,x=Xt+we+h.height+(p?d+be:0),w=Math.max(Ws,h.width,p?.width??0)+m*2,S=x+m*2,$=-x/2;u.attr("transform",`translate(0,${$+Xt/2})`);let M=$+Xt+we;y&&p&&(M+=d/2,ve(y,p,M),M+=d/2+be),ve(i,h,M+h.height/2);let k=r.insert("rect",":first-child").attr("class","usecase-actor-outline").attr("x",-w/2).attr("y",-S/2).attr("width",w).attr("height",S).attr("opacity",0).attr("aria-hidden","true");return H(t,k),t.intersect=P=>N.rect(t,P),r}b(It,"renderUsecaseActor");var js=["M 0 -12","C 6.627 -12 12 -17.373 12 -24","C 12 -30.627 6.627 -36 0 -36","C -6.627 -36 -12 -30.627 -12 -24","C -12 -17.373 -6.627 -12 0 -12 Z","M 0 -12 V 8","M -17 -5 H 17","M 0 8 L -15 28","M 0 8 L 15 28"].join(" ");async function Ca(n,t){return It(n,t,"normal",(s,l)=>{ee(s,l,js,"usecase-actor-stick")})}b(Ca,"usecaseActor");var Gs=["M 0 -34","C 7.18 -34 13 -28.18 13 -21","C 13 -13.82 7.18 -8 0 -8","C -7.18 -8 -13 -13.82 -13 -21","C -13 -28.18 -7.18 -34 0 -34 Z","M -24 25","C -24 7 -14 -3 0 -3","C 14 -3 24 7 24 25","C 24 28 21 30 18 30","H -18","C -21 30 -24 28 -24 25 Z"].join(" ");async function Ba(n,t){return It(n,t,"awesome",(s,l)=>{ee(s,l,Gs,"usecase-actor-awesome-silhouette")})}b(Ba,"usecaseActorAwesome");var Fs=["M -22 -10","H 22","V 0","H 6","L 22 17","L 13 28","L 0 13","L -13 28","L -22 17","L -6 0","H -22","Z"].join(" ");async function Na(n,t){return It(n,t,"hollow",(s,l)=>{Os(s,l,0,-23,9,"usecase-actor-hollow-head",!0),ee(s,l,Fs,"usecase-actor-hollow-body",!0)})}b(Na,"usecaseActorHollow");var Pt=52,ke=42,Me=-2,qs=b(async(n,t)=>{let s=-Pt/2,l=Me-Pt/2;if(t.look==="handDrawn"){let e=v.svg(n).rectangle(s,l,Pt,Pt,R(t,{}));n.insert(()=>e,":first-child").attr("class","usecase-actor-icon-frame")}else n.append("rect").attr("class","usecase-actor-icon-frame").attr("x",s).attr("y",l).attr("width",Pt).attr("height",Pt).attr("rx",4).attr("ry",4);let o=t.icon??"",c=await ne(o.includes(":")?o:`fa:${o}`),f=await kt(o,{height:ke,width:ke,fallbackPrefix:"fa"}),r=n.append("g").attr("class",`usecase-actor-icon-symbol${c?"":" usecase-actor-icon-fallback"}`).attr("aria-hidden","true").html(`<g>${f}</g>`),h=r.node()?.getBBox();h&&r.attr("transform",`translate(${-h.width/2-h.x},${Me-h.height/2-h.y})`)},"drawIconActor");async function Aa(n,t){return It(n,t,"icon",qs)}b(Aa,"usecaseActorIcon");var Pe=b((n,t,s)=>{let l=(t.x??0)-(t.left??0),o=(t.y??0)-(t.top??0);n.attr("transform",`translate(${-t.width/2-l},${s-t.height/2-o})`)},"positionLabel");async function Ra(n,t){let s=t,{labelStyles:l,nodeStyles:o}=W(t);t.labelStyle=l;let c=s.stereotype?{...t,stereotype:void 0}:t,{shapeSvg:f,bbox:r,halfPadding:h,label:i}=await X(n,c,Y(t,"usecase-business-shape"));i.attr("class","label usecase-label");let{theme:e,themeVariables:a}=z();wt(f,t.colorIndex,e,a.borderColorArray);let g,y;if(s.stereotype){let D=await St(f,`\xAB${s.stereotype}\xBB`,{labelStyle:l,useHtmlLabels:t.useHtmlLabels,padding:0,centerLabel:!0,width:t.wrappingWidth});g=D.label.attr("class","label usecase-stereotype"),y=D.bbox}let p=y?2:0,u=r.height+(y?.height??0)+p,m=Math.max(r.width,y?.width??0),d=h??10,x=m/2+d*2,w=u/2+d*2,S=Math.min(Math.max(d/5,1),d/2),$=m/2+S,M=x-S,k=$/x,P=M/x,_=w*Math.sqrt(Math.max(0,1-k*k)),B=-w*Math.sqrt(Math.max(0,1-P*P));g&&y&&Pe(g,y,-u/2+y.height/2),Pe(i,r,u/2-r.height/2);let C;if(t.look==="handDrawn"){let L=v.svg(f).ellipse(0,0,x*2,w*2,R(t,{}));C=f.insert(()=>L,":first-child").attr("class","basic label-container usecase-business-ellipse")}else C=f.insert("ellipse",":first-child").attr("class","basic label-container usecase-business-ellipse").attr("style",o).attr("rx",x).attr("ry",w).attr("cx",0).attr("cy",0);f.append("path").attr("class","usecase-business-marker").attr("d",`M ${$} ${_} L ${M} ${B}`).attr("fill","none").attr("style",o||null);let I=s.accessibleName??s.label;return I&&f.attr("role","img").attr("aria-label",I),H(t,C),t.calcIntersect=(D,L)=>N.ellipse(D,D.width/2,D.height/2,L),t.intersect=D=>N.ellipse(t,x,w,D),f}b(Ra,"usecaseBusiness");var Gt=8,De=4,zs=1,Ft=b((n,t,s,l)=>{let o=(t.x??0)-(t.left??0),c=(t.y??0)-(t.top??0);n.attr("transform",`translate(${s-t.width/2-o},${l-t.height/2-c})`)},"positionLabel"),Vs=b(n=>{let t=Number.parseFloat(n??"");return Number.isFinite(t)&&t>=0?t:zs},"numericStrokeWidth");async function Ha(n,t){let s=t,{labelStyles:l,nodeStyles:o}=W(t),{stylesMap:c}=vt(t);t.labelStyle=l;let{shapeSvg:f,bbox:r,label:h}=await X(n,t,Y(t,"usecase-json-table"));f.attr("role","img"),s.accessibleName&&f.attr("aria-label",s.accessibleName),h.attr("class","label usecase-json-title");let i=f.append("g").attr("class","usecase-json-table-grid"),e=[];for(let D of s.jsonRows??[]){let L=await St(i,D.key,{labelStyle:l,useHtmlLabels:t.useHtmlLabels,padding:0,centerLabel:!0}),E=await St(i,D.value,{labelStyle:l,useHtmlLabels:t.useHtmlLabels,padding:0,centerLabel:!0});e.push({key:{label:L.label.attr("class","label usecase-json-key"),bbox:L.bbox},value:{label:E.label.attr("class","label usecase-json-value"),bbox:E.bbox}})}let a=Math.max(0,...e.map(({key:D})=>D.bbox.width))+Gt*2,g=Math.max(0,...e.map(({value:D})=>D.bbox.width))+Gt*2,y=r.width+Gt*2,p=Math.max(y,a+g),u=g+Math.max(0,p-a-g),m=r.height+De*2,d=e.map(({key:D,value:L})=>Math.max(D.bbox.height,L.bbox.height)+De*2),x=m+d.reduce((D,L)=>D+L,0),w=Vs(c.get("stroke-width")),S=p+w*2,$=x+w*2,M=-p/2,k=-x/2,P=t.look==="handDrawn"?v.svg(f):void 0,_=P?R(t,{}):void 0,B=b((D,L,E,A,T,O)=>{if(P&&_){let G=P.rectangle(E,A,T,O,_);return D.insert(()=>G,":first-child").attr("class",L)}return D.insert("rect",":first-child").attr("class",L).attr("x",E).attr("y",A).attr("width",T).attr("height",O).attr("style",o)},"insertCell"),C=B(f,"label-container usecase-json-border",-S/2,-$/2,S,$);B(i,"usecase-json-cell usecase-json-title-cell",M,k,p,m),i.node()?.append(h.node()),Ft(h,r,0,k+m/2);let I=k+m;return e.forEach(({key:D,value:L},E)=>{let A=d[E],T=i.append("g").attr("class","usecase-json-row").attr("data-row-index",E).attr("transform",`translate(0,${I})`);B(T,"usecase-json-cell usecase-json-key-cell",M,0,a,A),B(T,"usecase-json-cell usecase-json-value-cell",M+a,0,u,A),T.node()?.append(D.label.node(),L.label.node()),Ft(D.label,D.bbox,M+a/2,A/2),Ft(L.label,L.bbox,M+a+u/2,A/2),I+=A}),H(t,C),t.intersect=D=>N.rect(t,D),f}b(Ha,"usecaseJsonTable");async function Ia(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?16:o,f=t.look==="neo"?12:o,r=t.look==="neo"?10:5;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-c*2-2*r,10),t.height=Math.max((t?.height??0)-f*2-2*r,10));let{shapeSvg:h,bbox:i,label:e}=await X(n,t,Y(t)),a=(t?.width?t?.width:i.width)+c*2+2*r,g=(t?.height?t?.height:i.height)+f*2+2*r,y=a-2*r,p=g-2*r,u=-y/2,m=-p/2,{cssStyles:d}=t,x=v.svg(h),w=R(t,{}),S=[{x:u-r,y:m+r},{x:u-r,y:m+p+r},{x:u+y-r,y:m+p+r},{x:u+y-r,y:m+p},{x:u+y,y:m+p},{x:u+y,y:m+p-r},{x:u+y+r,y:m+p-r},{x:u+y+r,y:m-r},{x:u+r,y:m-r},{x:u+r,y:m},{x:u,y:m},{x:u,y:m+r}],$=[{x:u,y:m+r},{x:u+y-r,y:m+r},{x:u+y-r,y:m+p},{x:u+y,y:m+p},{x:u+y,y:m},{x:u,y:m}];t.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let M=F(S),k=x.path(M,w),P=F($),_=x.path(P,w);t.look!=="handDrawn"&&(k=zt(k),_=zt(_));let B=h.insert("g",":first-child");return B.insert(()=>k),B.insert(()=>_),B.attr("class","basic label-container outer-path"),d&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",d),l&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",l),e.attr("transform",`translate(${-(i.width/2)-r-(i.x-(i.left??0))}, ${-(i.height/2)+r-(i.y-(i.top??0))})`),H(t,B),t.intersect=function(C){return N.polygon(t,S,C)},h}b(Ia,"multiRect");async function La(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,label:f}=await X(n,t,Y(t)),r=t.padding??0,h=t.look==="neo"?16:r,i=t.look==="neo"?12:r,e=!0;(t.width||t.height)&&(e=!1,t.width=(t?.width??0)-h*2,t.height=(t?.height??0)-i*3);let a=Math.max(c.width,t?.width??0)+h*2,g=Math.max(c.height,t?.height??0)+i*3,y=t.look==="neo"?g/4:g/8,p=g+(e?y/2:-y/2),u=-a/2,m=-p/2,d=10,{cssStyles:x}=t,w=ut(u-d,m+p+d,u+a-d,m+p+d,y,.8),S=w?.[w.length-1],$=[{x:u-d,y:m+d},{x:u-d,y:m+p+d},...w,{x:u+a-d,y:S.y-d},{x:u+a,y:S.y-d},{x:u+a,y:S.y-2*d},{x:u+a+d,y:S.y-2*d},{x:u+a+d,y:m-d},{x:u+d,y:m-d},{x:u+d,y:m},{x:u,y:m},{x:u,y:m+d}],M=[{x:u,y:m+d},{x:u+a-d,y:m+d},{x:u+a-d,y:S.y-d},{x:u+a,y:S.y-d},{x:u+a,y:m},{x:u,y:m}],k=v.svg(o),P=R(t,{});t.look!=="handDrawn"&&(P.roughness=0,P.fillStyle="solid");let _=F($),B=k.path(_,P),C=F(M),I=k.path(C,P),D=o.insert(()=>B,":first-child");return D.insert(()=>I),D.attr("class","basic label-container outer-path"),x&&t.look!=="handDrawn"&&D.selectAll("path").attr("style",x),l&&t.look!=="handDrawn"&&D.selectAll("path").attr("style",l),D.attr("transform",`translate(0,${-y/2})`),f.attr("transform",`translate(${-(c.width/2)-d-(c.x-(c.left??0))}, ${-(c.height/2)+d-y-(c.y-(c.top??0))})`),H(t,D),t.intersect=function(L){return N.polygon(t,$,L)},o}b(La,"multiWaveEdgedRectangle");async function Ea(n,t,{config:{themeVariables:s}}){let{labelStyles:l,nodeStyles:o}=W(t);t.labelStyle=l,t.useHtmlLabels||xt($t())||(t.centerLabel=!0);let{shapeSvg:f,bbox:r,label:h}=await X(n,t,Y(t)),i=Math.max(r.width+(t.padding??0)*2,t?.width??0),e=Math.max(r.height+(t.padding??0)*2,t?.height??0),a=-i/2,g=-e/2,{cssStyles:y}=t,p=v.svg(f),u=R(t,{fill:s.noteBkgColor,stroke:s.noteBorderColor});t.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let m=p.rectangle(a,g,i,e,u),d=f.insert(()=>m,":first-child");return d.attr("class","basic label-container outer-path"),h.attr("class","label noteLabel"),y&&t.look!=="handDrawn"&&d.selectAll("path").attr("style",y),o&&t.look!=="handDrawn"&&d.selectAll("path").attr("style",o),h.attr("transform",`translate(${-r.width/2-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),H(t,d),t.intersect=function(x){return N.rect(t,x)},f}b(Ea,"note");var Zs=b((n,t,s)=>[`M${n+s/2},${t}`,`L${n+s},${t-s/2}`,`L${n+s/2},${t-s}`,`L${n},${t-s/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function Wa(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c}=await X(n,t,Y(t)),f=c.width+(t.padding??0),r=c.height+(t.padding??0),h=f+r,i=.5,e=[{x:h/2,y:0},{x:h,y:-h/2},{x:h/2,y:-h},{x:0,y:-h/2}],a,{cssStyles:g}=t;if(t.look==="handDrawn"){let y=v.svg(o),p=R(t,{}),u=Zs(0,0,h),m=y.path(u,p);a=o.insert(()=>m,":first-child").attr("transform",`translate(${-h/2+i}, ${h/2})`),g&&a.attr("style",g)}else a=nt(o,h,h,e),a.attr("transform",`translate(${-h/2+i}, ${h/2})`);return l&&a.attr("style",l),H(t,a),t.calcIntersect=function(y,p){let u=y.width,m=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}];return N.polygon(y,m,p)},t.intersect=function(y){return this.calcIntersect(t,y)},o}b(Wa,"question");async function Ta(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?21:o??0,f=t.look==="neo"?12:o??0,{shapeSvg:r,bbox:h,label:i}=await X(n,t,Y(t)),e=h.width+(t.look==="neo"?c*2:c),a=Math.max(h.height+(t.look==="neo"?f*2:f),t.height??0),g=a/4,p=-Math.max(e,(t.width??0)-g)/2,u=-a/2,m=u/2,d=[{x:p+m,y:u},{x:p,y:0},{x:p+m,y:-u},{x:-p,y:-u},{x:-p,y:u}],{cssStyles:x}=t,w=v.svg(r),S=R(t,{});t.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");let $=F(d),M=w.path($,S),k=r.insert(()=>M,":first-child");return k.attr("class","basic label-container outer-path"),x&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",x),l&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",l),k.attr("transform",`translate(${-m/2},0)`),i.attr("transform",`translate(${-m/2-h.width/2-(h.x-(h.left??0))}, ${-(h.height/2)-(h.y-(h.top??0))})`),H(t,k),t.intersect=function(P){return N.polygon(t,d,P)},r}b(Ta,"rect_left_inv_arrow");async function _a(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o;t.cssClasses?o="node "+t.cssClasses:o="node default";let c=n.insert("g").attr("class",o).attr("id",t.domId||t.id),f=c.insert("g"),r=c.insert("g").attr("class","label").attr("style",l),h=t.description,i=t.label,e=await ge(r,i,t.labelStyle,!0,!0),a={width:0,height:0};if(xt(z())){let P=e.children[0],_=Z(e);a=P.getBoundingClientRect(),_.attr("width",a.width),_.attr("height",a.height)}J.info("Text 2",h);let g=h||[],y=e.getBBox(),p=await ge(r,Array.isArray(g)?g.join("<br/>"):g,t.labelStyle,!0,!0),u=p.children[0],m=Z(p);a=u.getBoundingClientRect(),m.attr("width",a.width),m.attr("height",a.height);let d=(t.padding||0)/2;Z(p).attr("transform","translate( "+(a.width>y.width?0:(y.width-a.width)/2)+", "+(y.height+d+5)+")"),Z(e).attr("transform","translate( "+(a.width<y.width?0:-(y.width-a.width)/2)+", 0)"),a=r.node().getBBox(),r.attr("transform","translate("+-a.width/2+", "+(-a.height/2-d+3)+")");let x=a.width+(t.padding||0),w=a.height+(t.padding||0),S=-a.width/2-d,$=-a.height/2-d,M,k;if(t.look==="handDrawn"){let P=v.svg(c),_=R(t,{}),B=P.path(gt(S,$,x,w,t.rx||0),_),C=P.line(-a.width/2-d,-a.height/2-d+y.height+d,a.width/2+d,-a.height/2-d+y.height+d,_);k=c.insert(()=>(J.debug("Rough node insert CXC",B),C),":first-child"),M=c.insert(()=>(J.debug("Rough node insert CXC",B),B),":first-child")}else M=f.insert("rect",":first-child"),k=f.insert("line"),M.attr("class","outer title-state").attr("style",l).attr("x",-a.width/2-d).attr("y",-a.height/2-d).attr("width",a.width+(t.padding||0)).attr("height",a.height+(t.padding||0)),k.attr("class","divider").attr("x1",-a.width/2-d).attr("x2",a.width/2+d).attr("y1",-a.height/2-d+y.height+d).attr("y2",-a.height/2-d+y.height+d);return H(t,M),t.intersect=function(P){return N.rect(t,P)},c}b(_a,"rectWithTitle");async function Ya(n,t,{config:{themeVariables:s}}){let l=s?.radius??5,o={rx:l,ry:l,classes:"",labelPaddingX:(t?.padding??0)*1,labelPaddingY:(t?.padding??0)*1};return Nt(n,t,o)}b(Ya,"roundedRect");var bt=8;async function Oa(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.look==="neo"?16:t.padding??0,c=t.look==="neo"?12:t.padding??0,{shapeSvg:f,bbox:r,label:h}=await X(n,t,Y(t)),i=(t?.width??r.width)+o*2+(t.look==="neo"?bt:bt*2),e=(t?.height??r.height)+c*2,a=i-bt,g=e,y=bt-i/2,p=-e/2,{cssStyles:u}=t,m=v.svg(f),d=R(t,{});t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let x=[{x:y,y:p},{x:y+a,y:p},{x:y+a,y:p+g},{x:y-bt,y:p+g},{x:y-bt,y:p},{x:y,y:p},{x:y,y:p+g}],w=m.polygon(x.map($=>[$.x,$.y]),d),S=f.insert(()=>w,":first-child");return S.attr("class","basic label-container outer-path").attr("style",Q(u)),l&&t.look!=="handDrawn"&&S.selectAll("path").attr("style",l),u&&t.look!=="handDrawn"&&S.selectAll("path").attr("style",l),h.attr("transform",`translate(${bt/2-r.width/2-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),H(t,S),t.intersect=function($){return N.rect(t,$)},f}b(Oa,"shadedProcess");async function Xa(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?16:o,f=t.look==="neo"?12:o;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-c*2,10),t.height=Math.max((t?.height??0)/1.5-f*2,10));let{shapeSvg:r,bbox:h,label:i}=await X(n,t,Y(t)),e=(t?.width?t?.width:h.width)+c*2,a=((t?.height?t?.height:h.height)+f*2)*1.5,g=e,y=a/1.5,p=-g/2,u=-y/2,{cssStyles:m}=t,d=v.svg(r),x=R(t,{});t.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let w=[{x:p,y:u},{x:p,y:u+y},{x:p+g,y:u+y},{x:p+g,y:u-y/2}],S=F(w),$=d.path(S,x),M=r.insert(()=>$,":first-child");return M.attr("class","basic label-container outer-path"),m&&t.look!=="handDrawn"&&M.selectChildren("path").attr("style",m),l&&t.look!=="handDrawn"&&M.selectChildren("path").attr("style",l),M.attr("transform",`translate(0, ${y/4})`),i.attr("transform",`translate(${-g/2+(t.padding??0)-(h.x-(h.left??0))}, ${-y/4+(t.padding??0)-(h.y-(h.top??0))})`),H(t,M),t.intersect=function(k){return N.polygon(t,w,k)},r}b(Xa,"slopedRect");async function ja(n,t){let s=t.padding??0,l=t.look==="neo"?16:s*2,o=t.look==="neo"?12:s,c={rx:0,ry:0,classes:"",labelPaddingX:t.labelPaddingX??l,labelPaddingY:o},f=await Nt(n,t,c);if(t.colorIndex!==void 0){let{theme:r,themeVariables:h}=z();wt(f,t.colorIndex,r,h.borderColorArray)}return f}b(ja,"squareRect");var Ut=50,Us=b((n,t,s)=>{let l=n.height+s,o=l*Math.cos(Math.PI/(2*(Ut-1))),c=Math.sqrt(Math.max(0,o**2-n.height**2));return{w:Math.max(n.width+l/4+t,1.5*l+(l-o),n.width+t+l-c),h:l}},"stadiumDimensions");async function Ga(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?40:o,f=t.look==="neo"?24:o,{shapeSvg:r,bbox:h}=await X(n,t,Y(t)),{w:i,h:e}=Us(h,c,f),a=e/2,{cssStyles:g}=t,y=v.svg(r),p=R(t,{});t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");let u=[{x:-i/2+a,y:-e/2},{x:i/2-a,y:-e/2},...lt(-i/2+a,0,a,Ut,90,270),{x:i/2-a,y:e/2},...lt(i/2-a,0,a,Ut,270,450)],m=F(u),d=y.path(m,p),x=r.insert(()=>d,":first-child");return x.attr("class","basic label-container outer-path"),g&&t.look!=="handDrawn"&&x.selectChildren("path").attr("style",g),l&&t.look!=="handDrawn"&&x.selectChildren("path").attr("style",l),H(t,x),t.intersect=function(w){return N.polygon(t,u,w)},r}b(Ga,"stadium");async function Fa(n,t){let s={rx:t.look==="neo"?3:5,ry:t.look==="neo"?3:5,classes:"flowchart-node"};return Nt(n,t,s)}b(Fa,"state");function qa(n,t,{config:{themeVariables:s}}){let{labelStyles:l,nodeStyles:o}=W(t);t.labelStyle=l;let{cssStyles:c}=t,{lineColor:f,stateBorder:r,nodeBorder:h,nodeShadow:i}=s;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||(t.width=14),t.height||(t.height=14);let e=n.insert("g").attr("class","node default").attr("id",t.domId??t.id),a=v.svg(e),g=R(t,{});t.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=a.circle(0,0,t.width,{...g,stroke:f,strokeWidth:2}),p=r??h,u=(t.width??0)*5/14,m=a.circle(0,0,u,{...g,fill:p,stroke:p,strokeWidth:2,fillStyle:"solid"}),d=e.insert(()=>y,":first-child");if(d.insert(()=>m),t.look!=="handDrawn"&&d.attr("class","outer-path"),c&&d.selectAll("path").attr("style",c),o&&d.selectAll("path").attr("style",o),t.width<25&&i&&t.look!=="handDrawn"){let x=n.node()?.ownerSVGElement?.id??"",w=x?`${x}-drop-shadow-small`:"drop-shadow-small";d.attr("style",`filter:url(#${w})`)}return H(t,d),t.intersect=function(x){return N.circle(t,(t.width??0)/2,x)},e}b(qa,"stateEnd");function za(n,t,{config:{themeVariables:s}}){let{lineColor:l,nodeShadow:o}=s;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||(t.width=14),t.height||(t.height=14);let c=n.insert("g").attr("class","node default").attr("id",t.domId||t.id),f;if(t.look==="handDrawn"){let h=v.svg(c).circle(0,0,t.width,le(l));f=c.insert(()=>h),f.attr("class","state-start").attr("r",(t.width??7)/2).attr("width",t.width??14).attr("height",t.height??14)}else f=c.insert("circle",":first-child"),f.attr("class","state-start").attr("r",(t.width??7)/2).attr("width",t.width??14).attr("height",t.height??14);if(t.width<25&&o&&t.look!=="handDrawn"){let r=n.node()?.ownerSVGElement?.id??"",h=r?`${r}-drop-shadow-small`:"drop-shadow-small";f.attr("style",`filter:url(#${h})`)}return H(t,f),t.intersect=function(r){return N.circle(t,(t.width??7)/2,r)},c}b(za,"stateStart");var Dt=8;async function Va(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t?.padding??8,c=t.look==="neo"?28:o,f=t.look==="neo"?12:o,{shapeSvg:r,bbox:h}=await X(n,t,Y(t)),i=Math.max(h.width+2*Dt+c,t.width??0),e=Math.max(h.height+f,t.height??0),a=i-2*Dt,g=e,y=-i/2,p=-e/2,u=[{x:0,y:0},{x:a,y:0},{x:a,y:-g},{x:0,y:-g},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-g},{x:-8,y:-g},{x:-8,y:0}];if(t.look==="handDrawn"){let m=v.svg(r),d=R(t,{}),x=m.rectangle(y,p,a+16,g,d),w=m.line(y+Dt,p,y+Dt,p+g,d),S=m.line(y+Dt+a,p,y+Dt+a,p+g,d);r.insert(()=>w,":first-child"),r.insert(()=>S,":first-child");let $=r.insert(()=>x,":first-child"),{cssStyles:M}=t;$.attr("class","basic label-container").attr("style",Q(M)),H(t,$)}else{let m=nt(r,a,g,u);l&&m.attr("style",l),H(t,m)}return t.intersect=function(m){return N.polygon(t,u,m)},r}b(Va,"subroutine");var qt=.2;async function Za(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?16:o,f=t.look==="neo"?12:o;(t.width||t.height)&&(t.height=Math.max((t?.height??0)-f*2,10),t.width=Math.max((t?.width??0)-c*2-qt*(t.height+f*2),10));let{shapeSvg:r,bbox:h}=await X(n,t,Y(t)),i=(t?.height?t?.height:h.height)+f*2,e=qt*i,a=qt*i,y=(t?.width?t?.width:h.width)+c*2+e-e,p=i,u=-y/2,m=-p/2,{cssStyles:d}=t,x=v.svg(r),w=R(t,{}),S=[{x:u-e/2,y:m},{x:u+y+e/2,y:m},{x:u+y+e/2,y:m+p},{x:u-e/2,y:m+p}],$=[{x:u+y-e/2,y:m+p},{x:u+y+e/2,y:m+p},{x:u+y+e/2,y:m+p-a}];t.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let M=F(S),k=x.path(M,w),P=F($),_=x.path(P,{...w,fillStyle:"solid"}),B=r.insert(()=>_,":first-child");return B.insert(()=>k,":first-child"),B.attr("class","basic label-container outer-path"),d&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",d),l&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",l),H(t,B),t.intersect=function(C){return N.polygon(t,S,C)},r}b(Za,"taggedRect");async function Ua(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,label:f}=await X(n,t,Y(t)),r=Math.max(c.width+(t.padding??0)*2,t?.width??0),h=Math.max(c.height+(t.padding??0)*2,t?.height??0),i=h/8,e=.2*r,a=.2*h,g=h+i,{cssStyles:y}=t,p=v.svg(o),u=R(t,{});t.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let m=[{x:-r/2-r/2*.1,y:g/2},...ut(-r/2-r/2*.1,g/2,r/2+r/2*.1,g/2,i,.8),{x:r/2+r/2*.1,y:-g/2},{x:-r/2-r/2*.1,y:-g/2}],d=-r/2+r/2*.1,x=-g/2-a*.4,w=[{x:d+r-e,y:(x+h)*1.3},{x:d+r,y:x+h-a},{x:d+r,y:(x+h)*.9},...ut(d+r,(x+h)*1.25,d+r-e,(x+h)*1.3,-h*.02,.5)],S=F(m),$=p.path(S,u),M=F(w),k=p.path(M,{...u,fillStyle:"solid"}),P=o.insert(()=>k,":first-child");return P.insert(()=>$,":first-child"),P.attr("class","basic label-container outer-path"),y&&t.look!=="handDrawn"&&P.selectAll("path").attr("style",y),l&&t.look!=="handDrawn"&&P.selectAll("path").attr("style",l),P.attr("transform",`translate(0,${-i/2})`),f.attr("transform",`translate(${-r/2+(t.padding??0)-(c.x-(c.left??0))},${-h/2+(t.padding??0)-i/2-(c.y-(c.top??0))})`),H(t,P),t.intersect=function(_){return N.polygon(t,m,_)},o}b(Ua,"taggedWaveEdgedRectangle");async function Ja(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c}=await X(n,t,Y(t)),f=Math.max(c.width+(t.padding??0),t?.width||0),r=Math.max(c.height+(t.padding??0),t?.height||0),h=-f/2,i=-r/2,e=o.insert("rect",":first-child");return e.attr("class","text").attr("style",l).attr("rx",0).attr("ry",0).attr("x",h).attr("y",i).attr("width",f).attr("height",r),H(t,e),t.intersect=function(a){return N.rect(t,a)},o}b(Ja,"text");var Js=b((n,t,s,l,o,c)=>`M${n},${t}
|
|
3
|
+
a${o},${c} 0,0,1 0,${-l}
|
|
4
|
+
l${s},0
|
|
5
|
+
a${o},${c} 0,0,1 0,${l}
|
|
6
|
+
M${s},${-l}
|
|
7
|
+
a${o},${c} 0,0,0 0,${l}
|
|
8
|
+
l${-s},0`,"createCylinderPathD"),Ks=b((n,t,s,l,o,c)=>[`M${n},${t}`,`M${n+s},${t}`,`a${o},${c} 0,0,0 0,${-l}`,`l${-s},0`,`a${o},${c} 0,0,0 0,${l}`,`l${s},0`].join(" "),"createOuterCylinderPathD"),Qs=b((n,t,s,l,o,c)=>[`M${n+s/2},${-l/2}`,`a${o},${c} 0,0,0 0,${l}`].join(" "),"createInnerCylinderPathD"),Ce=5,Be=10;async function Ka(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?12:o/2,f=t.height??0;if(t.height&&(t.height=t.height-c,t.height<Ce&&(t.height=Ce)),t.width){let d=f/2/(2.5+f/50);t.width=t.width-c-d*3,t.width<Be&&(t.width=Be)}let{shapeSvg:r,bbox:h,label:i}=await X(n,t,Y(t)),e=Math.max(t.height??0,h.height)+c,a=e/2,g=a/(2.5+e/50),y=Math.max(t.width??0,h.width)+g+c,{cssStyles:p}=t,u;if(t.look==="handDrawn"){let m=v.svg(r),d=Ks(0,0,y,e,g,a),x=Qs(0,0,y,e,g,a),w=m.path(d,R(t,{})),S=m.path(x,R(t,{fill:"none"}));u=r.insert(()=>S,":first-child"),u=r.insert(()=>w,":first-child"),u.attr("class","basic label-container"),p&&u.attr("style",p)}else{let m=Js(0,0,y,e,g,a);u=r.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",Q(p)).attr("style",l),u.attr("class","basic label-container outer-path"),p&&u.selectAll("path").attr("style",p),l&&u.selectAll("path").attr("style",l)}return u.attr("label-offset-x",g),u.attr("transform",`translate(${-y/2}, ${e/2} )`),i.attr("transform",`translate(${-(h.width/2)-g-(h.x-(h.left??0))}, ${-(h.height/2)-(h.y-(h.top??0))})`),H(t,u),t.intersect=function(m){let d=N.rect(t,m),x=d.y-(t.y??0);if(a!=0&&(Math.abs(x)<(t.height??0)/2||Math.abs(x)==(t.height??0)/2&&Math.abs(d.x-(t.x??0))>(t.width??0)/2-g)){let w=g*g*(1-x*x/(a*a));w!=0&&(w=Math.sqrt(Math.abs(w))),w=g-w,m.x-(t.x??0)>0&&(w=-w),d.x+=w}return d},r}b(Ka,"tiltedCylinder");async function Qa(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=(t.look==="neo",o),f=t.look==="neo"?o*2:o,{shapeSvg:r,bbox:h}=await X(n,t,Y(t)),i=Math.max(h.height+c,t.height??0),e=Math.max(h.width+f,(t.width??0)-i),a=[{x:-3*i/6,y:0},{x:e+3*i/6,y:0},{x:e,y:-i},{x:0,y:-i}],g,{cssStyles:y}=t;if(t.look==="handDrawn"){let p=v.svg(r),u=R(t,{}),m=F(a),d=p.path(m,u);g=r.insert(()=>d,":first-child").attr("transform",`translate(${-e/2}, ${i/2})`),y&&g.attr("style",y)}else g=nt(r,e,i,a);return l&&g.attr("style",l),t.width=e,t.height=i,H(t,g),t.intersect=function(p){return N.polygon(t,a,p)},r}b(Qa,"trapezoid");async function ts(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?16:o,f=t.look==="neo"?12:o,r=15,h=5;(t.width||t.height)&&(t.height=(t.height??0)-f*2,t.height<h&&(t.height=h),t.width=(t.width??0)-c*2,t.width<r&&(t.width=r));let{shapeSvg:i,bbox:e}=await X(n,t,Y(t)),a=(t?.width?t?.width:e.width)+c*2,g=(t?.height?t?.height:e.height)+f*2,{cssStyles:y}=t,p=v.svg(i),u=R(t,{});t.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let m=[{x:-a/2*.8,y:-g/2},{x:a/2*.8,y:-g/2},{x:a/2,y:-g/2*.6},{x:a/2,y:g/2},{x:-a/2,y:g/2},{x:-a/2,y:-g/2*.6}],d=F(m),x=p.path(d,u),w=i.insert(()=>x,":first-child");return w.attr("class","basic label-container outer-path"),y&&t.look!=="handDrawn"&&w.selectChildren("path").attr("style",y),l&&t.look!=="handDrawn"&&w.selectChildren("path").attr("style",l),H(t,w),t.intersect=function(S){return N.polygon(t,m,S)},i}b(ts,"trapezoidalPentagon");var Ne=10,Ae=10;async function es(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?o*2:o;(t.width||t.height)&&(t.width=((t?.width??0)-c)/2,t.width<Ae&&(t.width=Ae),t.height=t?.height??0,t.height<Ne&&(t.height=Ne));let{shapeSvg:f,bbox:r,label:h}=await X(n,t,Y(t)),i=mt(z().flowchart?.htmlLabels),e=(t?.width?t?.width:r.width)+c,a=t?.height?t?.height:e+r.height,g=a,y=[{x:0,y:0},{x:g,y:0},{x:g/2,y:-a}],{cssStyles:p}=t,u=v.svg(f),m=R(t,{});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let d=F(y),x=u.path(d,m),w=f.insert(()=>x,":first-child").attr("transform",`translate(${-a/2}, ${a/2})`).attr("class","outer-path");return p&&t.look!=="handDrawn"&&w.selectChildren("path").attr("style",p),l&&t.look!=="handDrawn"&&w.selectChildren("path").attr("style",l),t.width=e,t.height=a,H(t,w),h.attr("transform",`translate(${-r.width/2-(r.x-(r.left??0))}, ${a/2-(r.height+(t.padding??0)/(i?2:1)-(r.y-(r.top??0)))})`),t.intersect=function(S){return J.info("Triangle intersect",t,y,S),N.polygon(t,y,S)},f}b(es,"triangle");async function as(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?16:o,f=t.look==="neo"?12:o,r=!0;(t.width||t.height)&&(r=!1,t.width=(t?.width??0)-c*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-f*2,t.height<10&&(t.height=10));let{shapeSvg:h,bbox:i,label:e}=await X(n,t,Y(t)),a=(t?.width?t?.width:i.width)+(c??0)*2,g=(t?.height?t?.height:i.height)+(f??0)*2,y=t.look==="neo"?g/4:g/8,p=g+(r?y:-y),{cssStyles:u}=t,d=14-a,x=d>0?d/2:0,w=v.svg(h),S=R(t,{});t.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");let $=[{x:-a/2-x,y:p/2},...ut(-a/2-x,p/2,a/2+x,p/2,y,.8),{x:a/2+x,y:-p/2},{x:-a/2-x,y:-p/2}],M=F($),k=w.path(M,S),P=h.insert(()=>k,":first-child");return P.attr("class","basic label-container outer-path"),u&&t.look!=="handDrawn"&&P.selectAll("path").attr("style",u),l&&t.look!=="handDrawn"&&P.selectAll("path").attr("style",l),P.attr("transform",`translate(0,${-y/2})`),e.attr("transform",`translate(${-a/2+(t.padding??0)-(i.x-(i.left??0))},${-g/2+(t.padding??0)-y-(i.y-(i.top??0))})`),H(t,P),t.intersect=function(_){return N.polygon(t,$,_)},h}b(as,"waveEdgedRectangle");async function ss(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.padding??0,c=t.look==="neo"?16:o,f=t.look==="neo"?20:o;if(t.width||t.height){t.width=t?.width??0,t.width<20&&(t.width=20),t.height=t?.height??0,t.height<10&&(t.height=10);let S=Math.min(t.height*.2,t.height/4);t.height=Math.ceil(t.height-f-S*(20/9)),t.width=t.width-c*2}let{shapeSvg:r,bbox:h}=await X(n,t,Y(t)),i=(t?.width?t?.width:h.width)+c*2,e=(t?.height?t?.height:h.height)+f,a=e/8,g=e+a*2,{cssStyles:y}=t,p=v.svg(r),u=R(t,{});t.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let m=[{x:-i/2,y:g/2},...ut(-i/2,g/2,i/2,g/2,a,1),{x:i/2,y:-g/2},...ut(i/2,-g/2,-i/2,-g/2,a,-1)],d=F(m),x=p.path(d,u),w=r.insert(()=>x,":first-child");return w.attr("class","basic label-container"),y&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",y),l&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",l),H(t,w),t.intersect=function(S){return N.polygon(t,m,S)},r}b(ss,"waveRectangle");var U=10;async function rs(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t.look==="neo"?16:t.padding??0,c=t.look==="neo"?12:t.padding??0;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-o*2-U,10),t.height=Math.max((t?.height??0)-c*2-U,10));let{shapeSvg:f,bbox:r,label:h}=await X(n,t,Y(t)),i=(t?.width?t?.width:r.width)+o*2+U,e=(t?.height?t?.height:r.height)+c*2+U,a=i-U,g=e-U,y=-a/2,p=-g/2,{cssStyles:u}=t,m=v.svg(f),d=R(t,{}),x=[{x:y-U,y:p-U},{x:y-U,y:p+g},{x:y+a,y:p+g},{x:y+a,y:p-U}],w=`M${y-U},${p-U} L${y+a},${p-U} L${y+a},${p+g} L${y-U},${p+g} L${y-U},${p-U}
|
|
9
|
+
M${y-U},${p} L${y+a},${p}
|
|
10
|
+
M${y},${p-U} L${y},${p+g}`;t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let S=m.path(w,d),$=f.insert(()=>S,":first-child");return $.attr("transform",`translate(${U/2}, ${U/2})`),$.attr("class","basic label-container outer-path"),u&&t.look!=="handDrawn"&&$.selectAll("path").attr("style",u),l&&t.look!=="handDrawn"&&$.selectAll("path").attr("style",l),h.attr("transform",`translate(${-(r.width/2)+U/2-(r.x-(r.left??0))}, ${-(r.height/2)+U/2-(r.y-(r.top??0))})`),H(t,$),t.intersect=function(M){return N.polygon(t,x,M)},f}b(rs,"windowPane");var Re=new Set(["redux-color","redux-dark-color"]),tr=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function ae(n,t){let s=t;s.alias&&(t.label=s.alias);let{theme:l,themeVariables:o}=$t(),{rowEven:c,rowOdd:f,nodeBorder:r,borderColorArray:h}=o;if(t.look==="handDrawn"){let{themeVariables:j}=$t(),{background:q}=j,K={...t,id:t.id+"-background",domId:(t.domId||t.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${q}`]};await ae(n,K)}let i=$t();t.useHtmlLabels=i.htmlLabels;let e=i.er?.diagramPadding??10,a=i.er?.entityPadding??6,{cssStyles:g}=t,{labelStyles:y,nodeStyles:p}=W(t);if(s.attributes.length===0&&t.label){let j={rx:0,ry:0,labelPaddingX:e,labelPaddingY:e*1.5,classes:""};At(t.label,i)+j.labelPaddingX*2<i.er.minEntityWidth&&(t.width=i.er.minEntityWidth);let q=await Nt(n,t,j);if(l!=null&&Re.has(l)){let K=s.colorIndex??0;q.attr("data-color-id",`color-${K%h.length}`)}if(!mt(i.htmlLabels)){let K=q.select("text"),st=K.node()?.getBBox();K.attr("transform",`translate(${-st.width/2}, 0)`)}return q}i.htmlLabels||(e*=1.25,a*=1.25);let u=Y(t);u||(u="node default");let m=n.insert("g").attr("class",u).attr("id",t.domId||t.id),d=await Ct(m,t.label??"",i,0,0,["name"],y);d.height+=a;let x=0,w=[],S=[],$=0,M=0,k=0,P=0,_=!0,B=!0;for(let j of s.attributes){let q=await Ct(m,j.type,i,0,x,["attribute-type"],y);$=Math.max($,q.width+e);let K=await Ct(m,j.name,i,0,x,["attribute-name"],y);M=Math.max(M,K.width+e);let st=await Ct(m,j.keys.join(),i,0,x,["attribute-keys"],y);k=Math.max(k,st.width+e);let dt=await Ct(m,j.comment,i,0,x,["attribute-comment"],y);P=Math.max(P,dt.width+e);let ft=Math.max(q.height,K.height,st.height,dt.height)+a;S.push({yOffset:x,rowHeight:ft}),x+=ft}let C=4;k<=e&&(_=!1,k=0,C--),P<=e&&(B=!1,P=0,C--);let I=m.node().getBBox();if(d.width+e*2-($+M+k+P)>0){let j=d.width+e*2-($+M+k+P);$+=j/C,M+=j/C,k>0&&(k+=j/C),P>0&&(P+=j/C)}let D=$+M+k+P,L=v.svg(m),E=R(t,{});t.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");let A=0;S.length>0&&(A=S.reduce((j,q)=>j+(q?.rowHeight??0),0));let T=Math.max(I.width+e*2,t?.width||0,D),O=Math.max((A??0)+d.height,t?.height||0),G=-T/2,V=-O/2;if(m.selectAll("g:not(:first-child)").each((j,q,K)=>{let st=Z(K[q]),dt=st.attr("transform"),ft=0,se=0;if(dt){let Wt=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(dt);Wt&&(ft=parseFloat(Wt[1]),se=parseFloat(Wt[2]),st.attr("class").includes("attribute-name")?ft+=$:st.attr("class").includes("attribute-keys")?ft+=$+M:st.attr("class").includes("attribute-comment")&&(ft+=$+M+k))}st.attr("transform",`translate(${G+e/2+ft}, ${se+V+d.height+a/2})`)}),m.select(".name").attr("transform","translate("+-d.width/2+", "+(V+a/2)+")"),l!=null&&Re.has(l)){let j=s.colorIndex??0;m.attr("data-color-id",`color-${j%h.length}`)}let rt=L.rectangle(G,V,T,O,E),yt=m.insert(()=>rt,":first-child").attr("class","outer-path").attr("style",g.join(""));w.push(0);for(let[j,q]of S.entries()){let st=(j+1)%2===0&&q.yOffset!==0,dt=L.rectangle(G,d.height+V+q?.yOffset,T,q?.rowHeight,{...E,fill:st?c:f,stroke:r});m.insert(()=>dt,"g.label").attr("style",g.join("")).attr("class",`row-rect-${st?"even":"odd"}`)}let ct=1e-4,et=Bt(G,d.height+V,T+G,d.height+V,ct),at=L.polygon(et.map(j=>[j.x,j.y]),E);if(m.insert(()=>at).attr("class","divider"),et=Bt($+G,d.height+V,$+G,O+V,ct),at=L.polygon(et.map(j=>[j.x,j.y]),E),m.insert(()=>at).attr("class","divider"),_){let j=$+M+G;et=Bt(j,d.height+V,j,O+V,ct),at=L.polygon(et.map(q=>[q.x,q.y]),E),m.insert(()=>at).attr("class","divider")}if(B){let j=$+M+k+G;et=Bt(j,d.height+V,j,O+V,ct),at=L.polygon(et.map(q=>[q.x,q.y]),E),m.insert(()=>at).attr("class","divider")}for(let j of w){let q=d.height+V+j;et=Bt(G,q,T+G,q,ct),at=L.polygon(et.map(K=>[K.x,K.y]),E),m.insert(()=>at).attr("class","divider")}if(H(t,yt),p&&t.look!=="handDrawn")if(l!=null&&tr.has(l))m.selectAll("path").attr("style",p);else{let q=p.split(";")?.filter(K=>K.includes("stroke"))?.map(K=>`${K}`).join("; ");m.selectAll("path").attr("style",q??""),m.selectAll(".row-rect-even path").attr("style",p)}return t.intersect=function(j){return N.rect(t,j)},m}b(ae,"erBox");async function Ct(n,t,s,l=0,o=0,c=[],f=""){let r=n.insert("g").attr("class",`label ${c.join(" ")}`).attr("transform",`translate(${l}, ${o})`).attr("style",f);t!==Tt(t)&&(t=Tt(t),t=t.replaceAll("<","<").replaceAll(">",">"));let h=r.node().appendChild(await pt(r,t,{width:At(t,s)+100,style:f,useHtmlLabels:s.htmlLabels},s));if(t.includes("<")||t.includes(">")){let e=h.children[0];for(e.textContent=e.textContent.replaceAll("<","<").replaceAll(">",">");e.childNodes[0];)e=e.childNodes[0],e.textContent=e.textContent.replaceAll("<","<").replaceAll(">",">")}let i=h.getBBox();if(mt(s.htmlLabels)){let e=h.children[0];e.style.textAlign="start";let a=Z(h);i=e.getBoundingClientRect(),a.attr("width",i.width),a.attr("height",i.height)}return i}b(Ct,"addText");function Bt(n,t,s,l,o){return n===s?[{x:n-o/2,y:t},{x:n+o/2,y:t},{x:s+o/2,y:l},{x:s-o/2,y:l}]:[{x:n,y:t-o/2},{x:n,y:t+o/2},{x:s,y:l+o/2},{x:s,y:l-o/2}]}b(Bt,"lineToPolygon");async function is(n,t,s,l,o=s.class.padding??12){let c=l?0:3,f=n.insert("g").attr("class",Y(t)).attr("id",t.domId||t.id),r=null,h=null,i=null,e=null,a=0,g=0,y=0;if(r=f.insert("g").attr("class","annotation-group text"),t.annotations.length>0){let x=t.annotations[0];await Ht(r,{text:`\xAB${x}\xBB`},0),a=r.node().getBBox().height}h=f.insert("g").attr("class","label-group text"),await Ht(h,t,0,["font-weight: bolder"]);let p=h.node().getBBox();g=p.height,i=f.insert("g").attr("class","members-group text");let u=0;for(let x of t.members){let w=await Ht(i,x,u,[x.parseClassifier()]);u+=w+c}y=i.node().getBBox().height,y<=0&&(y=o/2),e=f.insert("g").attr("class","methods-group text");let m=0;for(let x of t.methods){let w=await Ht(e,x,m,[x.parseClassifier()]);m+=w+c}let d=f.node().getBBox();if(r!==null){let x=r.node().getBBox();r.attr("transform",`translate(${-x.width/2})`)}return h.attr("transform",`translate(${-p.width/2}, ${a})`),d=f.node().getBBox(),i.attr("transform",`translate(0, ${a+g+o*2})`),d=f.node().getBBox(),e.attr("transform",`translate(0, ${a+g+(y?y+o*4:o*2)})`),d=f.node().getBBox(),{shapeSvg:f,bbox:d}}b(is,"textHelper");async function Ht(n,t,s,l=[]){let o=n.insert("g").attr("class","label").attr("style",l.join("; ")),c=$t(),f="useHtmlLabels"in t?t.useHtmlLabels:mt(c.htmlLabels)??!0,r="";"text"in t?r=t.text:r=t.label,!f&&r.startsWith("\\")&&(r=r.substring(1)),ie(r)&&(f=!0);let h=await pt(o,_t(Mt(r)),{width:At(r,c)+50,classes:"markdown-node-label",useHtmlLabels:f},c),i,e=1;if(f){let a=h.children[0],g=Z(h);e=a.innerHTML.split("<br>").length,a.innerHTML.includes("</math>")&&(e+=a.innerHTML.split("<mrow>").length-1),await Jt(a),i=a.getBoundingClientRect(),g.attr("width",i.width),g.attr("height",i.height)}else{l.includes("font-weight: bolder")&&Z(h).selectAll("tspan").attr("font-weight",""),e=h.children.length;let a=h.children[0];(h.textContent===""||h.textContent.includes(">"))&&(a.textContent=r[0]+r.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),r[1]===" "&&(a.textContent=a.textContent[0]+" "+a.textContent.substring(1))),a.textContent==="undefined"&&(a.textContent=""),i=h.getBBox()}return o.attr("transform","translate(0,"+(-i.height/(2*e)+s)+")"),i.height}b(Ht,"addText");async function ls(n,t){let s=z(),{theme:l,themeVariables:o}=s,{useGradient:c,borderColorArray:f}=o,r=s.class.padding??12,h=r,i=t.useHtmlLabels??mt(s.htmlLabels)??!0,e=t;e.annotations=e.annotations??[],e.members=e.members??[],e.methods=e.methods??[];let{shapeSvg:a,bbox:g}=await is(n,t,s,i,h);wt(a,t.colorIndex,l,f);let{labelStyles:y,nodeStyles:p}=W(t);t.labelStyle=y,t.cssStyles=e.styles||"";let u=e.styles?.join(";")||p||"";t.cssStyles||(t.cssStyles=u.replaceAll("!important","").split(";"));let m=e.members.length===0&&e.methods.length===0&&!s.class?.hideEmptyMembersBox,d=v.svg(a),x=R(t,{});t.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let w=Math.max(t.width??0,g.width),S=Math.max(t.height??0,g.height),$=(t.height??0)>g.height;e.members.length===0&&e.methods.length===0?S+=h:e.members.length>0&&e.methods.length===0&&(S+=h*2);let M=-w/2,k=-S/2,P=m?r*2:e.members.length===0&&e.methods.length===0?-r:0;$&&(P=r*2);let _=d.rectangle(M-r,k-r-(m?r:e.members.length===0&&e.methods.length===0?-r/2:0),w+2*r,S+2*r+P,x),B=a.insert(()=>_,":first-child");B.attr("class","basic label-container outer-path");let C=B.node().getBBox(),I=a.select(".annotation-group").node().getBBox().height-(m?r/2:0)||0,D=a.select(".label-group").node().getBBox().height-(m?r/2:0)||0,L=a.select(".members-group").node().getBBox().height-(m?r/2:0)||0,E=(I+D+k+r-(k-r-(m?r:e.members.length===0&&e.methods.length===0?-r/2:0)))/2;if(a.selectAll(".text").each((A,T,O)=>{let G=Z(O[T]),V=G.attr("transform"),rt=0;if(V){let at=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(V);at&&(rt=parseFloat(at[2]))}let yt=rt+k+r-(m?r:e.members.length===0&&e.methods.length===0?-r/2:0);if(G.attr("class").includes("methods-group")){let et=Math.max(L,h/2);$?yt=Math.max(E,I+D+et+k+h*2+r)+h*2:yt=I+D+et+k+h*4+r}e.members.length===0&&e.methods.length===0&&s.class?.hideEmptyMembersBox&&(e.annotations.length>0?yt=rt-h:yt=rt),i||(yt-=4);let ct=M;(G.attr("class").includes("label-group")||G.attr("class").includes("annotation-group"))&&(ct=-G.node()?.getBBox().width/2||0,a.selectAll("text").each(function(et,at,j){window.getComputedStyle(j[at]).textAnchor==="middle"&&(ct=0)})),G.attr("transform",`translate(${ct}, ${yt})`)}),e.members.length>0||e.methods.length>0||m){let A=I+D+k+r,T=d.line(C.x,A,C.x+C.width,A+.001,x);a.insert(()=>T).attr("class",`divider${t.look==="neo"&&!c?" neo-line":""}`).attr("style",u)}if(m||e.members.length>0||e.methods.length>0){let A=I+D+L+k+h*2+r,T=d.line(C.x,$?Math.max(E,A):A,C.x+C.width,($?Math.max(E,A):A)+.001,x);a.insert(()=>T).attr("class",`divider${t.look==="neo"&&!c?" neo-line":""}`).attr("style",u)}if(e.look!=="handDrawn"&&a.selectAll("path").attr("style",u),B.select(":nth-child(2)").attr("style",u),a.selectAll(".divider").select("path").attr("style",u),t.labelStyle?a.selectAll("span").attr("style",t.labelStyle):a.selectAll("span").attr("style",u),!i){let A=RegExp(/color\s*:\s*([^;]*)/),T=A.exec(u);if(T){let O=T[0].replace("color","fill");a.selectAll("tspan").attr("style",O)}else if(y){let O=A.exec(y);if(O){let G=O[0].replace("color","fill");a.selectAll("tspan").attr("style",G)}}}return H(t,B),t.intersect=function(A){return N.rect(t,A)},a}b(ls,"classBox");async function ns(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let o=t,c=t,f=20,r=20,h="verifyMethod"in t,i=Y(t),e=z(),{themeVariables:a}=e,{borderColorArray:g,requirementEdgeLabelBackground:y}=a,p=e.layout==="elk"?"start":"center",u=n.insert("g").attr("class",i).attr("id",t.domId??t.id),m;h?m=await it(u,`<<${o.type}>>`,0,t.labelStyle):m=await it(u,"<<Element>>",0,t.labelStyle);let d=m,x=await it(u,o.name,d,t.labelStyle+"; font-weight: bold;");if(d+=x+r,h){let C=await it(u,`${o.requirementId?`ID: ${o.requirementId}`:""}`,d,t.labelStyle,p);d+=C;let I=await it(u,`${o.text?`Text: ${o.text}`:""}`,d,t.labelStyle,p);d+=I;let D=await it(u,`${o.risk?`Risk: ${o.risk}`:""}`,d,t.labelStyle,p);d+=D,await it(u,`${o.verifyMethod?`Verification: ${o.verifyMethod}`:""}`,d,t.labelStyle,p)}else{let C=await it(u,`${c.type?`Type: ${c.type}`:""}`,d,t.labelStyle,p);d+=C,await it(u,`${c.docRef?`Doc Ref: ${c.docRef}`:""}`,d,t.labelStyle,p)}let w=(u.node()?.getBBox().width??200)+f,S=(u.node()?.getBBox().height??200)+f,$=-w/2,M=-S/2,k=v.svg(u),P=R(t,{});t.look!=="handDrawn"&&(P.roughness=0,P.fillStyle="solid");let _=k.rectangle($,M,w,S,P),B=u.insert(()=>_,":first-child");if(B.attr("class","basic label-container outer-path").attr("style",l),g?.length){let C=t.colorIndex??0;u.attr("data-color-id",`color-${C%g.length}`)}if(u.selectAll(".label").each((C,I,D)=>{let L=Z(D[I]),E=L.attr("transform"),A=0,T=0;if(E){let rt=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(E);rt&&(A=parseFloat(rt[1]),T=parseFloat(rt[2]))}let O=T-S/2,G=$+f/2;(I===0||I===1)&&(G=A),L.attr("transform",`translate(${G}, ${O+f})`)}),d>m+x+r){let C=M+m+x+r,I;if(t.look==="neo"){let E=[[$,C],[$+w,C],[$+w,C+.001],[$,C+.001]];I=k.polygon(E,P)}else I=k.line($,C,$+w,C,P);u.insert(()=>I).attr("class","divider")}return H(t,B),t.intersect=function(C){return N.rect(t,C)},l&&t.look!=="handDrawn"&&(y||g?.length)&&u.selectAll("path").attr("style",l),u}b(ns,"requirementBox");async function it(n,t,s,l="",o="center"){if(t==="")return 0;let c=n.insert("g").attr("class","label").attr("style",l),f=z(),r=f.htmlLabels??!0,h=await pt(c,_t(Mt(t)),{width:At(t,f)+50,classes:"markdown-node-label",useHtmlLabels:r,style:l},f),i;if(r){let e=h.children[0],a=Z(h);o==="start"&&Z(e).style("text-align","left"),i=e.getBoundingClientRect(),a.attr("width",i.width),a.attr("height",i.height)}else{let e=h.children[0];for(let a of e.children)l&&a.setAttribute("style",l);if(o==="start"){e.setAttribute("text-anchor","start");for(let a of e.children)a.setAttribute("text-anchor","start")}i=h.getBBox(),i.height+=6}return c.attr("transform",`translate(${-i.width/2},${-i.height/2+s})`),i.height}b(it,"addText");var er=b(n=>{switch(n){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function cs(n,t,{config:s}){let{labelStyles:l,nodeStyles:o}=W(t);t.labelStyle=l||"";let c=10,f=t.width;t.width=(t.width??200)-10;let{shapeSvg:r,bbox:h,label:i}=await X(n,t,Y(t)),e=t.padding||10,a="",g;"ticket"in t&&t.ticket&&s?.kanban?.ticketBaseUrl&&(a=s?.kanban?.ticketBaseUrl.replace("#TICKET#",t.ticket),g=r.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",a).attr("target","_blank"));let y={useHtmlLabels:t.useHtmlLabels,labelStyle:t.labelStyle||"",width:t.width,img:t.img,padding:t.padding||8,centerLabel:!1},p,u;g?{label:p,bbox:u}=await St(g,"ticket"in t&&t.ticket||"",y):{label:p,bbox:u}=await St(r,"ticket"in t&&t.ticket||"",y);let{label:m,bbox:d}=await St(r,"assigned"in t&&t.assigned||"",y);t.width=f;let x=10,w=t?.width||0,S=Math.max(u.height,d.height)/2,$=Math.max(h.height+x*2,t?.height||0)+S,M=-w/2,k=-$/2;i.attr("transform","translate("+(e-w/2)+", "+(-S-h.height/2)+")"),p.attr("transform","translate("+(e-w/2)+", "+(-S+h.height/2)+")"),m.attr("transform","translate("+(e+w/2-d.width-2*c)+", "+(-S+h.height/2)+")");let P,{rx:_,ry:B}=t,{cssStyles:C}=t;if(t.look==="handDrawn"){let I=v.svg(r),D=R(t,{}),L=_||B?I.path(gt(M,k,w,$,_||0),D):I.rectangle(M,k,w,$,D);P=r.insert(()=>L,":first-child"),P.attr("class","basic label-container").attr("style",C||null)}else{P=r.insert("rect",":first-child"),P.attr("class","basic label-container __APA__").attr("style",o).attr("rx",_??5).attr("ry",B??5).attr("x",M).attr("y",k).attr("width",w).attr("height",$);let I="priority"in t&&t.priority;if(I){let D=r.append("line"),L=M+2,E=k+Math.floor((_??0)/2),A=k+$-Math.floor((_??0)/2);D.attr("x1",L).attr("y1",E).attr("x2",L).attr("y2",A).attr("stroke-width","4").attr("stroke",er(I))}}return H(t,P),t.height=$,t.intersect=function(I){return N.rect(t,I)},r}b(cs,"kanbanItem");async function os(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,halfPadding:f,label:r}=await X(n,t,Y(t)),h=c.width+10*f,i=c.height+8*f,e=.15*h,{cssStyles:a}=t,g=c.width+20,y=c.height+20,p=Math.max(h,g),u=Math.max(i,y);r.attr("transform",`translate(${-c.width/2}, ${-c.height/2})`);let m,d=`M0 0
|
|
11
|
+
a${e},${e} 1 0,0 ${p*.25},${-1*u*.1}
|
|
12
|
+
a${e},${e} 1 0,0 ${p*.25},0
|
|
13
|
+
a${e},${e} 1 0,0 ${p*.25},0
|
|
14
|
+
a${e},${e} 1 0,0 ${p*.25},${u*.1}
|
|
15
|
+
|
|
16
|
+
a${e},${e} 1 0,0 ${p*.15},${u*.33}
|
|
17
|
+
a${e*.8},${e*.8} 1 0,0 0,${u*.34}
|
|
18
|
+
a${e},${e} 1 0,0 ${-1*p*.15},${u*.33}
|
|
19
|
+
|
|
20
|
+
a${e},${e} 1 0,0 ${-1*p*.25},${u*.15}
|
|
21
|
+
a${e},${e} 1 0,0 ${-1*p*.25},0
|
|
22
|
+
a${e},${e} 1 0,0 ${-1*p*.25},0
|
|
23
|
+
a${e},${e} 1 0,0 ${-1*p*.25},${-1*u*.15}
|
|
24
|
+
|
|
25
|
+
a${e},${e} 1 0,0 ${-1*p*.1},${-1*u*.33}
|
|
26
|
+
a${e*.8},${e*.8} 1 0,0 0,${-1*u*.34}
|
|
27
|
+
a${e},${e} 1 0,0 ${p*.1},${-1*u*.33}
|
|
28
|
+
H0 V0 Z`;if(t.look==="handDrawn"){let x=v.svg(o),w=R(t,{}),S=x.path(d,w);m=o.insert(()=>S,":first-child"),m.attr("class","basic label-container").attr("style",Q(a))}else m=o.insert("path",":first-child").attr("class","basic label-container").attr("style",l).attr("d",d);return m.attr("transform",`translate(${-p/2}, ${-u/2})`),H(t,m),t.calcIntersect=function(x,w){return N.rect(x,w)},t.intersect=function(x){return J.info("Bang intersect",t,x),N.rect(t,x)},o}b(os,"bang");async function hs(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,halfPadding:f,label:r}=await X(n,t,Y(t)),h=c.width+2*f,i=c.height+2*f,e=.15*h,a=.25*h,g=.35*h,y=.2*h,{cssStyles:p}=t,u,m=`M0 0
|
|
29
|
+
a${e},${e} 0 0,1 ${h*.25},${-1*h*.1}
|
|
30
|
+
a${g},${g} 1 0,1 ${h*.4},${-1*h*.1}
|
|
31
|
+
a${a},${a} 1 0,1 ${h*.35},${h*.2}
|
|
32
|
+
|
|
33
|
+
a${e},${e} 1 0,1 ${h*.15},${i*.35}
|
|
34
|
+
a${y},${y} 1 0,1 ${-1*h*.15},${i*.65}
|
|
35
|
+
|
|
36
|
+
a${a},${e} 1 0,1 ${-1*h*.25},${h*.15}
|
|
37
|
+
a${g},${g} 1 0,1 ${-1*h*.5},0
|
|
38
|
+
a${e},${e} 1 0,1 ${-1*h*.25},${-1*h*.15}
|
|
39
|
+
|
|
40
|
+
a${e},${e} 1 0,1 ${-1*h*.1},${-1*i*.35}
|
|
41
|
+
a${y},${y} 1 0,1 ${h*.1},${-1*i*.65}
|
|
42
|
+
H0 V0 Z`;if(t.look==="handDrawn"){let d=v.svg(o),x=R(t,{}),w=d.path(m,x);u=o.insert(()=>w,":first-child"),u.attr("class","basic label-container").attr("style",Q(p))}else u=o.insert("path",":first-child").attr("class","basic label-container").attr("style",l).attr("d",m);return r.attr("transform",`translate(${-c.width/2}, ${-c.height/2})`),u.attr("transform",`translate(${-h/2}, ${-i/2})`),H(t,u),t.calcIntersect=function(d,x){return N.rect(d,x)},t.intersect=function(d){return J.info("Cloud intersect",t,d),N.rect(t,d)},o}b(hs,"cloud");async function gs(n,t){let{labelStyles:s,nodeStyles:l}=W(t);t.labelStyle=s;let{shapeSvg:o,bbox:c,halfPadding:f,label:r}=await X(n,t,Y(t)),h=c.width+8*f,i=c.height+2*f,e=5,a=t.look==="neo"?`
|
|
43
|
+
M${-h/2} ${i/2-e}
|
|
44
|
+
v${-i+2*e}
|
|
45
|
+
q0,-${e} ${e},-${e}
|
|
46
|
+
h${h-2*e}
|
|
47
|
+
q${e},0 ${e},${e}
|
|
48
|
+
v${i-e}
|
|
49
|
+
H${-h/2}
|
|
50
|
+
Z
|
|
51
|
+
`:`
|
|
52
|
+
M${-h/2} ${i/2-e}
|
|
53
|
+
v${-i+2*e}
|
|
54
|
+
q0,-${e} ${e},-${e}
|
|
55
|
+
h${h-2*e}
|
|
56
|
+
q${e},0 ${e},${e}
|
|
57
|
+
v${i-2*e}
|
|
58
|
+
q0,${e} ${-e},${e}
|
|
59
|
+
h${-(h-2*e)}
|
|
60
|
+
q${-e},0 ${-e},${-e}
|
|
61
|
+
Z
|
|
62
|
+
`;if(!t.domId)throw new Error(`defaultMindmapNode: node "${t.id}" is missing a domId \u2014 was render.ts domId prefixing skipped?`);let g=o.append("path").attr("id",t.domId).attr("class","node-bkg node-"+t.type).attr("style",l).attr("d",a);return o.append("line").attr("class","node-line-").attr("x1",-h/2).attr("y1",i/2).attr("x2",h/2).attr("y2",i/2),r.attr("transform",`translate(${-c.width/2}, ${-c.height/2})`),o.append(()=>r.node()),H(t,g),t.calcIntersect=function(y,p){return N.rect(y,p)},t.intersect=function(y){return N.rect(t,y)},o}b(gs,"defaultMindmapNode");async function ys(n,t){let s={padding:t.padding??0};return te(n,t,s)}b(ys,"mindmapCircle");var ar=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:ja},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:Ya},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:Ga},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:Va},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:ra},{semanticName:"Data Store",name:"Data Store",shortName:"datastore",description:"Data flow diagram data store",aliases:["data-store"],handler:ia},{semanticName:"Folder",name:"Folder",shortName:"folder",description:"Folder or directory",aliases:["directory"],handler:ga},{semanticName:"Bucket",name:"Bucket",shortName:"bucket",description:"Object storage bucket",handler:Xe},{semanticName:"Console",name:"Console (terminal window)",shortName:"console",description:"Terminal or console window",handler:Ue},{semanticName:"Browser",name:"Browser",shortName:"browser",description:"Browser window",handler:qe},{semanticName:"Person",name:"Person",shortName:"person",description:"Person (circular head above a rounded body)",handler:sa},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:te},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:os},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:hs},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:Wa},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:pa},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:ka},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:va},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:Qa},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:Sa},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:na},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:Ja},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:ze},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:Oa},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:za},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:qa},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:ya},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:ua},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:Qe},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:ta},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:ea},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:Ma},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:as},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:fa},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:Ka},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:Pa},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:aa},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:la},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:es},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:rs},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:oa},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:ts},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:ha},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:Xa},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:La},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:Ia},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:Oe},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:Ke},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:Ua},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:Za},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:ss},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:Ta},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:Da}],sr=b(()=>{let t=[...Object.entries({state:Fa,choice:Ve,note:Ea,composite:Ze,rectWithTitle:_a,labelRect:$a,block_arrow:Fe,collapsedGroup:Ge,iconSquare:wa,iconCircle:ma,icon:da,iconRounded:xa,imageSquare:ba,anchor:_e,kanbanItem:cs,mindmapCircle:ys,defaultMindmapNode:gs,classBox:ls,erBox:ae,requirementBox:ns,usecaseActor:Ca,usecaseActorHollow:Na,usecaseActorAwesome:Ba,usecaseActorIcon:Aa,usecaseBusiness:Ra,usecaseEllipse:ca,usecaseJsonTable:Ha}),...ar.flatMap(s=>[s.shortName,..."aliases"in s?s.aliases:[],..."internalAliases"in s?s.internalAliases:[]].map(o=>[o,s.handler]))];return Object.fromEntries(t)},"generateShapeMap"),rr=sr();function ir(n){return n in rr}b(ir,"isValidShape");export{X as a,H as b,xs as c,N as d,gt as e,ge as f,rr as g,ir as h};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function Y(a,t,s){if(a&&a.length){let[e,n]=t,o=Math.PI/180*s,r=Math.cos(o),h=Math.sin(o);for(let i of a){let[l,c]=i;i[0]=(l-e)*r-(c-n)*h+e,i[1]=(l-e)*h+(c-n)*r+n}}}function zt(a,t){return a[0]===t[0]&&a[1]===t[1]}function Wt(a,t,s,e=1){let n=s,o=Math.max(t,.1),r=a[0]&&a[0][0]&&typeof a[0][0]=="number"?[a]:a,h=[0,0];if(n)for(let l of r)Y(l,h,n);let i=(function(l,c,d){let p=[];for(let M of l){let m=[...M];zt(m[0],m[m.length-1])||m.push([m[0][0],m[0][1]]),m.length>2&&p.push(m)}let u=[];c=Math.max(c,.1);let f=[];for(let M of p)for(let m=0;m<M.length-1;m++){let P=M[m],x=M[m+1];if(P[1]!==x[1]){let w=Math.min(P[1],x[1]);f.push({ymin:w,ymax:Math.max(P[1],x[1]),x:w===P[1]?P[0]:x[0],islope:(x[0]-P[0])/(x[1]-P[1])})}}if(f.sort(((M,m)=>M.ymin<m.ymin?-1:M.ymin>m.ymin?1:M.x<m.x?-1:M.x>m.x?1:M.ymax===m.ymax?0:(M.ymax-m.ymax)/Math.abs(M.ymax-m.ymax))),!f.length)return u;let g=[],k=f[0].ymin,b=0;for(;g.length||f.length;){if(f.length){let M=-1;for(let m=0;m<f.length&&!(f[m].ymin>k);m++)M=m;f.splice(0,M+1).forEach((m=>{g.push({s:k,edge:m})}))}if(g=g.filter((M=>!(M.edge.ymax<=k))),g.sort(((M,m)=>M.edge.x===m.edge.x?0:(M.edge.x-m.edge.x)/Math.abs(M.edge.x-m.edge.x))),(d!==1||b%c==0)&&g.length>1)for(let M=0;M<g.length;M+=2){let m=M+1;if(m>=g.length)break;let P=g[M].edge,x=g[m].edge;u.push([[Math.round(P.x),k],[Math.round(x.x),k]])}k+=d,g.forEach((M=>{M.edge.x=M.edge.x+d*M.edge.islope})),b++}return u})(r,o,e);if(n){for(let l of r)Y(l,h,-n);(function(l,c,d){let p=[];l.forEach((u=>p.push(...u))),Y(p,c,d)})(i,h,-n)}return i}function F(a,t){var s;let e=t.hachureAngle+90,n=t.hachureGap;n<0&&(n=4*t.strokeWidth),n=Math.round(Math.max(n,.1));let o=1;return t.roughness>=1&&(((s=t.randomizer)===null||s===void 0?void 0:s.next())||Math.random())>.7&&(o=n),Wt(a,n,e,o||1)}var q=class{constructor(t){this.helper=t}fillPolygons(t,s){return this._fillPolygons(t,s)}_fillPolygons(t,s){let e=F(t,s);return{type:"fillSketch",ops:this.renderLines(e,s)}}renderLines(t,s){let e=[];for(let n of t)e.push(...this.helper.doubleLineOps(n[0][0],n[0][1],n[1][0],n[1][1],s));return e}};function X(a){let t=a[0],s=a[1];return Math.sqrt(Math.pow(t[0]-s[0],2)+Math.pow(t[1]-s[1],2))}var at=class extends q{fillPolygons(t,s){let e=s.hachureGap;e<0&&(e=4*s.strokeWidth),e=Math.max(e,.1);let n=F(t,Object.assign({},s,{hachureGap:e})),o=Math.PI/180*s.hachureAngle,r=[],h=.5*e*Math.cos(o),i=.5*e*Math.sin(o);for(let[l,c]of n)X([l,c])&&r.push([[l[0]-h,l[1]+i],[...c]],[[l[0]+h,l[1]-i],[...c]]);return{type:"fillSketch",ops:this.renderLines(r,s)}}},ot=class extends q{fillPolygons(t,s){let e=this._fillPolygons(t,s),n=Object.assign({},s,{hachureAngle:s.hachureAngle+90}),o=this._fillPolygons(t,n);return e.ops=e.ops.concat(o.ops),e}},ht=class{constructor(t){this.helper=t}fillPolygons(t,s){let e=F(t,s=Object.assign({},s,{hachureAngle:0}));return this.dotsOnLines(e,s)}dotsOnLines(t,s){let e=[],n=s.hachureGap;n<0&&(n=4*s.strokeWidth),n=Math.max(n,.1);let o=s.fillWeight;o<0&&(o=s.strokeWidth/2);let r=n/4;for(let h of t){let i=X(h),l=i/n,c=Math.ceil(l)-1,d=i-c*n,p=(h[0][0]+h[1][0])/2-n/4,u=Math.min(h[0][1],h[1][1]);for(let f=0;f<c;f++){let g=u+d+f*n,k=p-r+2*Math.random()*r,b=g-r+2*Math.random()*r,M=this.helper.ellipse(k,b,o,o,s);e.push(...M.ops)}}return{type:"fillSketch",ops:e}}},rt=class{constructor(t){this.helper=t}fillPolygons(t,s){let e=F(t,s);return{type:"fillSketch",ops:this.dashedLine(e,s)}}dashedLine(t,s){let e=s.dashOffset<0?s.hachureGap<0?4*s.strokeWidth:s.hachureGap:s.dashOffset,n=s.dashGap<0?s.hachureGap<0?4*s.strokeWidth:s.hachureGap:s.dashGap,o=[];return t.forEach((r=>{let h=X(r),i=Math.floor(h/(e+n)),l=(h+n-i*(e+n))/2,c=r[0],d=r[1];c[0]>d[0]&&(c=r[1],d=r[0]);let p=Math.atan((d[1]-c[1])/(d[0]-c[0]));for(let u=0;u<i;u++){let f=u*(e+n),g=f+e,k=[c[0]+f*Math.cos(p)+l*Math.cos(p),c[1]+f*Math.sin(p)+l*Math.sin(p)],b=[c[0]+g*Math.cos(p)+l*Math.cos(p),c[1]+g*Math.sin(p)+l*Math.sin(p)];o.push(...this.helper.doubleLineOps(k[0],k[1],b[0],b[1],s))}})),o}},it=class{constructor(t){this.helper=t}fillPolygons(t,s){let e=s.hachureGap<0?4*s.strokeWidth:s.hachureGap,n=s.zigzagOffset<0?e:s.zigzagOffset,o=F(t,s=Object.assign({},s,{hachureGap:e+n}));return{type:"fillSketch",ops:this.zigzagLines(o,n,s)}}zigzagLines(t,s,e){let n=[];return t.forEach((o=>{let r=X(o),h=Math.round(r/(2*s)),i=o[0],l=o[1];i[0]>l[0]&&(i=o[1],l=o[0]);let c=Math.atan((l[1]-i[1])/(l[0]-i[0]));for(let d=0;d<h;d++){let p=2*d*s,u=2*(d+1)*s,f=Math.sqrt(2*Math.pow(s,2)),g=[i[0]+p*Math.cos(c),i[1]+p*Math.sin(c)],k=[i[0]+u*Math.cos(c),i[1]+u*Math.sin(c)],b=[g[0]+f*Math.cos(c+Math.PI/4),g[1]+f*Math.sin(c+Math.PI/4)];n.push(...this.helper.doubleLineOps(g[0],g[1],b[0],b[1],e),...this.helper.doubleLineOps(b[0],b[1],k[0],k[1],e))}})),n}},S={},ct=class{constructor(t){this.seed=t}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}},Et=0,tt=1,bt=2,Z={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function et(a,t){return a.type===t}function gt(a){let t=[],s=(function(r){let h=new Array;for(;r!=="";)if(r.match(/^([ \t\r\n,]+)/))r=r.substr(RegExp.$1.length);else if(r.match(/^([aAcChHlLmMqQsStTvVzZ])/))h[h.length]={type:Et,text:RegExp.$1},r=r.substr(RegExp.$1.length);else{if(!r.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];h[h.length]={type:tt,text:`${parseFloat(RegExp.$1)}`},r=r.substr(RegExp.$1.length)}return h[h.length]={type:bt,text:""},h})(a),e="BOD",n=0,o=s[n];for(;!et(o,bt);){let r=0,h=[];if(e==="BOD"){if(o.text!=="M"&&o.text!=="m")return gt("M0,0"+a);n++,r=Z[o.text],e=o.text}else et(o,tt)?r=Z[e]:(n++,r=Z[o.text],e=o.text);if(!(n+r<s.length))throw new Error("Path data ended short");for(let i=n;i<n+r;i++){let l=s[i];if(!et(l,tt))throw new Error("Param not a number: "+e+","+l.text);h[h.length]=+l.text}if(typeof Z[e]!="number")throw new Error("Bad segment: "+e);{let i={key:e,data:h};t.push(i),n+=r,o=s[n],e==="M"&&(e="L"),e==="m"&&(e="l")}}return t}function Ot(a){let t=0,s=0,e=0,n=0,o=[];for(let{key:r,data:h}of a)switch(r){case"M":o.push({key:"M",data:[...h]}),[t,s]=h,[e,n]=h;break;case"m":t+=h[0],s+=h[1],o.push({key:"M",data:[t,s]}),e=t,n=s;break;case"L":o.push({key:"L",data:[...h]}),[t,s]=h;break;case"l":t+=h[0],s+=h[1],o.push({key:"L",data:[t,s]});break;case"C":o.push({key:"C",data:[...h]}),t=h[4],s=h[5];break;case"c":{let i=h.map(((l,c)=>c%2?l+s:l+t));o.push({key:"C",data:i}),t=i[4],s=i[5];break}case"Q":o.push({key:"Q",data:[...h]}),t=h[2],s=h[3];break;case"q":{let i=h.map(((l,c)=>c%2?l+s:l+t));o.push({key:"Q",data:i}),t=i[2],s=i[3];break}case"A":o.push({key:"A",data:[...h]}),t=h[5],s=h[6];break;case"a":t+=h[5],s+=h[6],o.push({key:"A",data:[h[0],h[1],h[2],h[3],h[4],t,s]});break;case"H":o.push({key:"H",data:[...h]}),t=h[0];break;case"h":t+=h[0],o.push({key:"H",data:[t]});break;case"V":o.push({key:"V",data:[...h]}),s=h[0];break;case"v":s+=h[0],o.push({key:"V",data:[s]});break;case"S":o.push({key:"S",data:[...h]}),t=h[2],s=h[3];break;case"s":{let i=h.map(((l,c)=>c%2?l+s:l+t));o.push({key:"S",data:i}),t=i[2],s=i[3];break}case"T":o.push({key:"T",data:[...h]}),t=h[0],s=h[1];break;case"t":t+=h[0],s+=h[1],o.push({key:"T",data:[t,s]});break;case"Z":case"z":o.push({key:"Z",data:[]}),t=e,s=n}return o}function Lt(a){let t=[],s="",e=0,n=0,o=0,r=0,h=0,i=0;for(let{key:l,data:c}of a){switch(l){case"M":t.push({key:"M",data:[...c]}),[e,n]=c,[o,r]=c;break;case"C":t.push({key:"C",data:[...c]}),e=c[4],n=c[5],h=c[2],i=c[3];break;case"L":t.push({key:"L",data:[...c]}),[e,n]=c;break;case"H":e=c[0],t.push({key:"L",data:[e,n]});break;case"V":n=c[0],t.push({key:"L",data:[e,n]});break;case"S":{let d=0,p=0;s==="C"||s==="S"?(d=e+(e-h),p=n+(n-i)):(d=e,p=n),t.push({key:"C",data:[d,p,...c]}),h=c[0],i=c[1],e=c[2],n=c[3];break}case"T":{let[d,p]=c,u=0,f=0;s==="Q"||s==="T"?(u=e+(e-h),f=n+(n-i)):(u=e,f=n);let g=e+2*(u-e)/3,k=n+2*(f-n)/3,b=d+2*(u-d)/3,M=p+2*(f-p)/3;t.push({key:"C",data:[g,k,b,M,d,p]}),h=u,i=f,e=d,n=p;break}case"Q":{let[d,p,u,f]=c,g=e+2*(d-e)/3,k=n+2*(p-n)/3,b=u+2*(d-u)/3,M=f+2*(p-f)/3;t.push({key:"C",data:[g,k,b,M,u,f]}),h=d,i=p,e=u,n=f;break}case"A":{let d=Math.abs(c[0]),p=Math.abs(c[1]),u=c[2],f=c[3],g=c[4],k=c[5],b=c[6];d===0||p===0?(t.push({key:"C",data:[e,n,k,b,k,b]}),e=k,n=b):(e!==k||n!==b)&&(Tt(e,n,k,b,d,p,u,f,g).forEach((function(M){t.push({key:"C",data:M})})),e=k,n=b);break}case"Z":t.push({key:"Z",data:[]}),e=o,n=r}s=l}return t}function R(a,t,s){return[a*Math.cos(s)-t*Math.sin(s),a*Math.sin(s)+t*Math.cos(s)]}function Tt(a,t,s,e,n,o,r,h,i,l){let c=(d=r,Math.PI*d/180);var d;let p=[],u=0,f=0,g=0,k=0;if(l)[u,f,g,k]=l;else{[a,t]=R(a,t,-c),[s,e]=R(s,e,-c);let T=(a-s)/2,v=(t-e)/2,_=T*T/(n*n)+v*v/(o*o);_>1&&(_=Math.sqrt(_),n*=_,o*=_);let W=n*n,E=o*o,It=W*E-W*v*v-E*T*T,Ct=W*v*v+E*T*T,kt=(h===i?-1:1)*Math.sqrt(Math.abs(It/Ct));g=kt*n*v/o+(a+s)/2,k=kt*-o*T/n+(t+e)/2,u=Math.asin(parseFloat(((t-k)/o).toFixed(9))),f=Math.asin(parseFloat(((e-k)/o).toFixed(9))),a<g&&(u=Math.PI-u),s<g&&(f=Math.PI-f),u<0&&(u=2*Math.PI+u),f<0&&(f=2*Math.PI+f),i&&u>f&&(u-=2*Math.PI),!i&&f>u&&(f-=2*Math.PI)}let b=f-u;if(Math.abs(b)>120*Math.PI/180){let T=f,v=s,_=e;f=i&&f>u?u+120*Math.PI/180*1:u+120*Math.PI/180*-1,p=Tt(s=g+n*Math.cos(f),e=k+o*Math.sin(f),v,_,n,o,r,0,i,[f,T,g,k])}b=f-u;let M=Math.cos(u),m=Math.sin(u),P=Math.cos(f),x=Math.sin(f),w=Math.tan(b/4),L=4/3*n*w,A=4/3*o*w,V=[a,t],D=[a+L*m,t-A*M],C=[s+L*x,e-A*P],Mt=[s,e];if(D[0]=2*V[0]-D[0],D[1]=2*V[1]-D[1],l)return[D,C,Mt].concat(p);{p=[D,C,Mt].concat(p);let T=[];for(let v=0;v<p.length;v+=3){let _=R(p[v][0],p[v][1],c),W=R(p[v+1][0],p[v+1][1],c),E=R(p[v+2][0],p[v+2][1],c);T.push([_[0],_[1],W[0],W[1],E[0],E[1]])}return T}}var Gt={randOffset:function(a,t){return y(a,t)},randOffsetWithRange:function(a,t,s){return J(a,t,s)},ellipse:function(a,t,s,e,n){let o=At(s,e,n);return lt(a,t,n,o).opset},doubleLineOps:function(a,t,s,e,n){return I(a,t,s,e,n,!0)}};function Dt(a,t,s,e,n){return{type:"path",ops:I(a,t,s,e,n)}}function N(a,t,s){let e=(a||[]).length;if(e>2){let n=[];for(let o=0;o<e-1;o++)n.push(...I(a[o][0],a[o][1],a[o+1][0],a[o+1][1],s));return t&&n.push(...I(a[e-1][0],a[e-1][1],a[0][0],a[0][1],s)),{type:"path",ops:n}}return e===2?Dt(a[0][0],a[0][1],a[1][0],a[1][1],s):{type:"path",ops:[]}}function $t(a,t,s,e,n){return(function(o,r){return N(o,!0,r)})([[a,t],[a+s,t],[a+s,t+e],[a,t+e]],n)}function yt(a,t){if(a.length){let s=typeof a[0][0]=="number"?[a]:a,e=Q(s[0],1*(1+.2*t.roughness),t),n=t.disableMultiStroke?[]:Q(s[0],1.5*(1+.22*t.roughness),xt(t));for(let o=1;o<s.length;o++){let r=s[o];if(r.length){let h=Q(r,1*(1+.2*t.roughness),t),i=t.disableMultiStroke?[]:Q(r,1.5*(1+.22*t.roughness),xt(t));for(let l of h)l.op!=="move"&&e.push(l);for(let l of i)l.op!=="move"&&n.push(l)}}return{type:"path",ops:e.concat(n)}}return{type:"path",ops:[]}}function At(a,t,s){let e=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(a/2,2)+Math.pow(t/2,2))/2)),n=Math.ceil(Math.max(s.curveStepCount,s.curveStepCount/Math.sqrt(200)*e)),o=2*Math.PI/n,r=Math.abs(a/2),h=Math.abs(t/2),i=1-s.curveFitting;return r+=y(r*i,s),h+=y(h*i,s),{increment:o,rx:r,ry:h}}function lt(a,t,s,e){let[n,o]=Pt(e.increment,a,t,e.rx,e.ry,1,e.increment*J(.1,J(.4,1,s),s),s),r=K(n,null,s);if(!s.disableMultiStroke&&s.roughness!==0){let[h]=Pt(e.increment,a,t,e.rx,e.ry,1.5,0,s),i=K(h,null,s);r=r.concat(i)}return{estimatedPoints:o,opset:{type:"path",ops:r}}}function mt(a,t,s,e,n,o,r,h,i){let l=a,c=t,d=Math.abs(s/2),p=Math.abs(e/2);d+=y(.01*d,i),p+=y(.01*p,i);let u=n,f=o;for(;u<0;)u+=2*Math.PI,f+=2*Math.PI;f-u>2*Math.PI&&(u=0,f=2*Math.PI);let g=2*Math.PI/i.curveStepCount,k=Math.min(g/2,(f-u)/2),b=vt(k,l,c,d,p,u,f,1,i);if(!i.disableMultiStroke){let M=vt(k,l,c,d,p,u,f,1.5,i);b.push(...M)}return r&&(h?b.push(...I(l,c,l+d*Math.cos(u),c+p*Math.sin(u),i),...I(l,c,l+d*Math.cos(f),c+p*Math.sin(f),i)):b.push({op:"lineTo",data:[l,c]},{op:"lineTo",data:[l+d*Math.cos(u),c+p*Math.sin(u)]})),{type:"path",ops:b}}function wt(a,t){let s=Lt(Ot(gt(a))),e=[],n=[0,0],o=[0,0];for(let{key:r,data:h}of s)switch(r){case"M":o=[h[0],h[1]],n=[h[0],h[1]];break;case"L":e.push(...I(o[0],o[1],h[0],h[1],t)),o=[h[0],h[1]];break;case"C":{let[i,l,c,d,p,u]=h;e.push(...Rt(i,l,c,d,p,u,o,t)),o=[p,u];break}case"Z":e.push(...I(o[0],o[1],n[0],n[1],t)),o=[n[0],n[1]]}return{type:"path",ops:e}}function st(a,t){let s=[];for(let e of a)if(e.length){let n=t.maxRandomnessOffset||0,o=e.length;if(o>2){s.push({op:"move",data:[e[0][0]+y(n,t),e[0][1]+y(n,t)]});for(let r=1;r<o;r++)s.push({op:"lineTo",data:[e[r][0]+y(n,t),e[r][1]+y(n,t)]})}}return{type:"fillPath",ops:s}}function G(a,t){return(function(s,e){let n=s.fillStyle||"hachure";if(!S[n])switch(n){case"zigzag":S[n]||(S[n]=new at(e));break;case"cross-hatch":S[n]||(S[n]=new ot(e));break;case"dots":S[n]||(S[n]=new ht(e));break;case"dashed":S[n]||(S[n]=new rt(e));break;case"zigzag-line":S[n]||(S[n]=new it(e));break;default:n="hachure",S[n]||(S[n]=new q(e))}return S[n]})(t,Gt).fillPolygons(a,t)}function xt(a){let t=Object.assign({},a);return t.randomizer=void 0,a.seed&&(t.seed=a.seed+1),t}function _t(a){return a.randomizer||(a.randomizer=new ct(a.seed||0)),a.randomizer.next()}function J(a,t,s,e=1){return s.roughness*e*(_t(s)*(t-a)+a)}function y(a,t,s=1){return J(-a,a,t,s)}function I(a,t,s,e,n,o=!1){let r=o?n.disableMultiStrokeFill:n.disableMultiStroke,h=ut(a,t,s,e,n,!0,!1);if(r)return h;let i=ut(a,t,s,e,n,!0,!0);return h.concat(i)}function ut(a,t,s,e,n,o,r){let h=Math.pow(a-s,2)+Math.pow(t-e,2),i=Math.sqrt(h),l=1;l=i<200?1:i>500?.4:-.0016668*i+1.233334;let c=n.maxRandomnessOffset||0;c*c*100>h&&(c=i/10);let d=c/2,p=.2+.2*_t(n),u=n.bowing*n.maxRandomnessOffset*(e-t)/200,f=n.bowing*n.maxRandomnessOffset*(a-s)/200;u=y(u,n,l),f=y(f,n,l);let g=[],k=()=>y(d,n,l),b=()=>y(c,n,l),M=n.preserveVertices;return o&&(r?g.push({op:"move",data:[a+(M?0:k()),t+(M?0:k())]}):g.push({op:"move",data:[a+(M?0:y(c,n,l)),t+(M?0:y(c,n,l))]})),r?g.push({op:"bcurveTo",data:[u+a+(s-a)*p+k(),f+t+(e-t)*p+k(),u+a+2*(s-a)*p+k(),f+t+2*(e-t)*p+k(),s+(M?0:k()),e+(M?0:k())]}):g.push({op:"bcurveTo",data:[u+a+(s-a)*p+b(),f+t+(e-t)*p+b(),u+a+2*(s-a)*p+b(),f+t+2*(e-t)*p+b(),s+(M?0:b()),e+(M?0:b())]}),g}function Q(a,t,s){if(!a.length)return[];let e=[];e.push([a[0][0]+y(t,s),a[0][1]+y(t,s)]),e.push([a[0][0]+y(t,s),a[0][1]+y(t,s)]);for(let n=1;n<a.length;n++)e.push([a[n][0]+y(t,s),a[n][1]+y(t,s)]),n===a.length-1&&e.push([a[n][0]+y(t,s),a[n][1]+y(t,s)]);return K(e,null,s)}function K(a,t,s){let e=a.length,n=[];if(e>3){let o=[],r=1-s.curveTightness;n.push({op:"move",data:[a[1][0],a[1][1]]});for(let h=1;h+2<e;h++){let i=a[h];o[0]=[i[0],i[1]],o[1]=[i[0]+(r*a[h+1][0]-r*a[h-1][0])/6,i[1]+(r*a[h+1][1]-r*a[h-1][1])/6],o[2]=[a[h+1][0]+(r*a[h][0]-r*a[h+2][0])/6,a[h+1][1]+(r*a[h][1]-r*a[h+2][1])/6],o[3]=[a[h+1][0],a[h+1][1]],n.push({op:"bcurveTo",data:[o[1][0],o[1][1],o[2][0],o[2][1],o[3][0],o[3][1]]})}if(t&&t.length===2){let h=s.maxRandomnessOffset;n.push({op:"lineTo",data:[t[0]+y(h,s),t[1]+y(h,s)]})}}else e===3?(n.push({op:"move",data:[a[1][0],a[1][1]]}),n.push({op:"bcurveTo",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[2][0],a[2][1]]})):e===2&&n.push(...ut(a[0][0],a[0][1],a[1][0],a[1][1],s,!0,!0));return n}function Pt(a,t,s,e,n,o,r,h){let i=[],l=[];if(h.roughness===0){a/=4,l.push([t+e*Math.cos(-a),s+n*Math.sin(-a)]);for(let c=0;c<=2*Math.PI;c+=a){let d=[t+e*Math.cos(c),s+n*Math.sin(c)];i.push(d),l.push(d)}l.push([t+e*Math.cos(0),s+n*Math.sin(0)]),l.push([t+e*Math.cos(a),s+n*Math.sin(a)])}else{let c=y(.5,h)-Math.PI/2;l.push([y(o,h)+t+.9*e*Math.cos(c-a),y(o,h)+s+.9*n*Math.sin(c-a)]);let d=2*Math.PI+c-.01;for(let p=c;p<d;p+=a){let u=[y(o,h)+t+e*Math.cos(p),y(o,h)+s+n*Math.sin(p)];i.push(u),l.push(u)}l.push([y(o,h)+t+e*Math.cos(c+2*Math.PI+.5*r),y(o,h)+s+n*Math.sin(c+2*Math.PI+.5*r)]),l.push([y(o,h)+t+.98*e*Math.cos(c+r),y(o,h)+s+.98*n*Math.sin(c+r)]),l.push([y(o,h)+t+.9*e*Math.cos(c+.5*r),y(o,h)+s+.9*n*Math.sin(c+.5*r)])}return[l,i]}function vt(a,t,s,e,n,o,r,h,i){let l=o+y(.1,i),c=[];c.push([y(h,i)+t+.9*e*Math.cos(l-a),y(h,i)+s+.9*n*Math.sin(l-a)]);for(let d=l;d<=r;d+=a)c.push([y(h,i)+t+e*Math.cos(d),y(h,i)+s+n*Math.sin(d)]);return c.push([t+e*Math.cos(r),s+n*Math.sin(r)]),c.push([t+e*Math.cos(r),s+n*Math.sin(r)]),K(c,null,i)}function Rt(a,t,s,e,n,o,r,h){let i=[],l=[h.maxRandomnessOffset||1,(h.maxRandomnessOffset||1)+.3],c=[0,0],d=h.disableMultiStroke?1:2,p=h.preserveVertices;for(let u=0;u<d;u++)u===0?i.push({op:"move",data:[r[0],r[1]]}):i.push({op:"move",data:[r[0]+(p?0:y(l[0],h)),r[1]+(p?0:y(l[0],h))]}),c=p?[n,o]:[n+y(l[u],h),o+y(l[u],h)],i.push({op:"bcurveTo",data:[a+y(l[u],h),t+y(l[u],h),s+y(l[u],h),e+y(l[u],h),c[0],c[1]]});return i}function j(a){return[...a]}function St(a,t=0){let s=a.length;if(s<3)throw new Error("A curve must have at least three points.");let e=[];if(s===3)e.push(j(a[0]),j(a[1]),j(a[2]),j(a[2]));else{let n=[];n.push(a[0],a[0]);for(let h=1;h<a.length;h++)n.push(a[h]),h===a.length-1&&n.push(a[h]);let o=[],r=1-t;e.push(j(n[0]));for(let h=1;h+2<n.length;h++){let i=n[h];o[0]=[i[0],i[1]],o[1]=[i[0]+(r*n[h+1][0]-r*n[h-1][0])/6,i[1]+(r*n[h+1][1]-r*n[h-1][1])/6],o[2]=[n[h+1][0]+(r*n[h][0]-r*n[h+2][0])/6,n[h+1][1]+(r*n[h][1]-r*n[h+2][1])/6],o[3]=[n[h+1][0],n[h+1][1]],e.push(o[1],o[2],o[3])}}return e}function B(a,t){return Math.pow(a[0]-t[0],2)+Math.pow(a[1]-t[1],2)}function jt(a,t,s){let e=B(t,s);if(e===0)return B(a,t);let n=((a[0]-t[0])*(s[0]-t[0])+(a[1]-t[1])*(s[1]-t[1]))/e;return n=Math.max(0,Math.min(1,n)),B(a,z(t,s,n))}function z(a,t,s){return[a[0]+(t[0]-a[0])*s,a[1]+(t[1]-a[1])*s]}function pt(a,t,s,e){let n=e||[];if((function(h,i){let l=h[i+0],c=h[i+1],d=h[i+2],p=h[i+3],u=3*c[0]-2*l[0]-p[0];u*=u;let f=3*c[1]-2*l[1]-p[1];f*=f;let g=3*d[0]-2*p[0]-l[0];g*=g;let k=3*d[1]-2*p[1]-l[1];return k*=k,u<g&&(u=g),f<k&&(f=k),u+f})(a,t)<s){let h=a[t+0];n.length?(o=n[n.length-1],r=h,Math.sqrt(B(o,r))>1&&n.push(h)):n.push(h),n.push(a[t+3])}else{let i=a[t+0],l=a[t+1],c=a[t+2],d=a[t+3],p=z(i,l,.5),u=z(l,c,.5),f=z(c,d,.5),g=z(p,u,.5),k=z(u,f,.5),b=z(g,k,.5);pt([i,p,g,b],0,s,n),pt([b,k,f,d],0,s,n)}var o,r;return n}function qt(a,t){return U(a,0,a.length,t)}function U(a,t,s,e,n){let o=n||[],r=a[t],h=a[s-1],i=0,l=1;for(let c=t+1;c<s-1;++c){let d=jt(a[c],r,h);d>i&&(i=d,l=c)}return Math.sqrt(i)>e?(U(a,t,l+1,e,o),U(a,l,s,e,o)):(o.length||o.push(r),o.push(h)),o}function nt(a,t=.15,s){let e=[],n=(a.length-1)/3;for(let o=0;o<n;o++)pt(a,3*o,t,e);return s&&s>0?U(e,0,e.length,s):e}var O="none",$=class{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,s,e){return{shape:t,sets:s||[],options:e||this.defaultOptions}}line(t,s,e,n,o){let r=this._o(o);return this._d("line",[Dt(t,s,e,n,r)],r)}rectangle(t,s,e,n,o){let r=this._o(o),h=[],i=$t(t,s,e,n,r);if(r.fill){let l=[[t,s],[t+e,s],[t+e,s+n],[t,s+n]];r.fillStyle==="solid"?h.push(st([l],r)):h.push(G([l],r))}return r.stroke!==O&&h.push(i),this._d("rectangle",h,r)}ellipse(t,s,e,n,o){let r=this._o(o),h=[],i=At(e,n,r),l=lt(t,s,r,i);if(r.fill)if(r.fillStyle==="solid"){let c=lt(t,s,r,i).opset;c.type="fillPath",h.push(c)}else h.push(G([l.estimatedPoints],r));return r.stroke!==O&&h.push(l.opset),this._d("ellipse",h,r)}circle(t,s,e,n){let o=this.ellipse(t,s,e,e,n);return o.shape="circle",o}linearPath(t,s){let e=this._o(s);return this._d("linearPath",[N(t,!1,e)],e)}arc(t,s,e,n,o,r,h=!1,i){let l=this._o(i),c=[],d=mt(t,s,e,n,o,r,h,!0,l);if(h&&l.fill)if(l.fillStyle==="solid"){let p=Object.assign({},l);p.disableMultiStroke=!0;let u=mt(t,s,e,n,o,r,!0,!1,p);u.type="fillPath",c.push(u)}else c.push((function(p,u,f,g,k,b,M){let m=p,P=u,x=Math.abs(f/2),w=Math.abs(g/2);x+=y(.01*x,M),w+=y(.01*w,M);let L=k,A=b;for(;L<0;)L+=2*Math.PI,A+=2*Math.PI;A-L>2*Math.PI&&(L=0,A=2*Math.PI);let V=(A-L)/M.curveStepCount,D=[];for(let C=L;C<=A;C+=V)D.push([m+x*Math.cos(C),P+w*Math.sin(C)]);return D.push([m+x*Math.cos(A),P+w*Math.sin(A)]),D.push([m,P]),G([D],M)})(t,s,e,n,o,r,l));return l.stroke!==O&&c.push(d),this._d("arc",c,l)}curve(t,s){let e=this._o(s),n=[],o=yt(t,e);if(e.fill&&e.fill!==O)if(e.fillStyle==="solid"){let r=yt(t,Object.assign(Object.assign({},e),{disableMultiStroke:!0,roughness:e.roughness?e.roughness+e.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(r.ops)})}else{let r=[],h=t;if(h.length){let i=typeof h[0][0]=="number"?[h]:h;for(let l of i)l.length<3?r.push(...l):l.length===3?r.push(...nt(St([l[0],l[0],l[1],l[2]]),10,(1+e.roughness)/2)):r.push(...nt(St(l),10,(1+e.roughness)/2))}r.length&&n.push(G([r],e))}return e.stroke!==O&&n.push(o),this._d("curve",n,e)}polygon(t,s){let e=this._o(s),n=[],o=N(t,!0,e);return e.fill&&(e.fillStyle==="solid"?n.push(st([t],e)):n.push(G([t],e))),e.stroke!==O&&n.push(o),this._d("polygon",n,e)}path(t,s){let e=this._o(s),n=[];if(!t)return this._d("path",n,e);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let o=e.fill&&e.fill!=="transparent"&&e.fill!==O,r=e.stroke!==O,h=!!(e.simplification&&e.simplification<1),i=(function(c,d,p){let u=Lt(Ot(gt(c))),f=[],g=[],k=[0,0],b=[],M=()=>{b.length>=4&&g.push(...nt(b,d)),b=[]},m=()=>{M(),g.length&&(f.push(g),g=[])};for(let{key:x,data:w}of u)switch(x){case"M":m(),k=[w[0],w[1]],g.push(k);break;case"L":M(),g.push([w[0],w[1]]);break;case"C":if(!b.length){let L=g.length?g[g.length-1]:k;b.push([L[0],L[1]])}b.push([w[0],w[1]]),b.push([w[2],w[3]]),b.push([w[4],w[5]]);break;case"Z":M(),g.push([k[0],k[1]])}if(m(),!p)return f;let P=[];for(let x of f){let w=qt(x,p);w.length&&P.push(w)}return P})(t,1,h?4-4*(e.simplification||1):(1+e.roughness)/2),l=wt(t,e);if(o)if(e.fillStyle==="solid")if(i.length===1){let c=wt(t,Object.assign(Object.assign({},e),{disableMultiStroke:!0,roughness:e.roughness?e.roughness+e.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(c.ops)})}else n.push(st(i,e));else n.push(G(i,e));return r&&(h?i.forEach((c=>{n.push(N(c,!1,e))})):n.push(l)),this._d("path",n,e)}opsToPath(t,s){let e="";for(let n of t.ops){let o=typeof s=="number"&&s>=0?n.data.map((r=>+r.toFixed(s))):n.data;switch(n.op){case"move":e+=`M${o[0]} ${o[1]} `;break;case"bcurveTo":e+=`C${o[0]} ${o[1]}, ${o[2]} ${o[3]}, ${o[4]} ${o[5]} `;break;case"lineTo":e+=`L${o[0]} ${o[1]} `}}return e.trim()}toPaths(t){let s=t.sets||[],e=t.options||this.defaultOptions,n=[];for(let o of s){let r=null;switch(o.type){case"path":r={d:this.opsToPath(o),stroke:e.stroke,strokeWidth:e.strokeWidth,fill:O};break;case"fillPath":r={d:this.opsToPath(o),stroke:O,strokeWidth:0,fill:e.fill||O};break;case"fillSketch":r=this.fillSketch(o,e)}r&&n.push(r)}return n}fillSketch(t,s){let e=s.fillWeight;return e<0&&(e=s.strokeWidth/2),{d:this.opsToPath(t),stroke:s.fill||O,strokeWidth:e,fill:O}}_mergedShape(t){return t.filter(((s,e)=>e===0||s.op!=="move"))}},ft=class{constructor(t,s){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new $(s)}draw(t){let s=t.sets||[],e=t.options||this.getDefaultOptions(),n=this.ctx,o=t.options.fixedDecimalPlaceDigits;for(let r of s)switch(r.type){case"path":n.save(),n.strokeStyle=e.stroke==="none"?"transparent":e.stroke,n.lineWidth=e.strokeWidth,e.strokeLineDash&&n.setLineDash(e.strokeLineDash),e.strokeLineDashOffset&&(n.lineDashOffset=e.strokeLineDashOffset),this._drawToContext(n,r,o),n.restore();break;case"fillPath":{n.save(),n.fillStyle=e.fill||"";let h=t.shape==="curve"||t.shape==="polygon"||t.shape==="path"?"evenodd":"nonzero";this._drawToContext(n,r,o,h),n.restore();break}case"fillSketch":this.fillSketch(n,r,e)}}fillSketch(t,s,e){let n=e.fillWeight;n<0&&(n=e.strokeWidth/2),t.save(),e.fillLineDash&&t.setLineDash(e.fillLineDash),e.fillLineDashOffset&&(t.lineDashOffset=e.fillLineDashOffset),t.strokeStyle=e.fill||"",t.lineWidth=n,this._drawToContext(t,s,e.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,s,e,n="nonzero"){t.beginPath();for(let o of s.ops){let r=typeof e=="number"&&e>=0?o.data.map((h=>+h.toFixed(e))):o.data;switch(o.op){case"move":t.moveTo(r[0],r[1]);break;case"bcurveTo":t.bezierCurveTo(r[0],r[1],r[2],r[3],r[4],r[5]);break;case"lineTo":t.lineTo(r[0],r[1])}}s.type==="fillPath"?t.fill(n):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,s,e,n,o){let r=this.gen.line(t,s,e,n,o);return this.draw(r),r}rectangle(t,s,e,n,o){let r=this.gen.rectangle(t,s,e,n,o);return this.draw(r),r}ellipse(t,s,e,n,o){let r=this.gen.ellipse(t,s,e,n,o);return this.draw(r),r}circle(t,s,e,n){let o=this.gen.circle(t,s,e,n);return this.draw(o),o}linearPath(t,s){let e=this.gen.linearPath(t,s);return this.draw(e),e}polygon(t,s){let e=this.gen.polygon(t,s);return this.draw(e),e}arc(t,s,e,n,o,r,h=!1,i){let l=this.gen.arc(t,s,e,n,o,r,h,i);return this.draw(l),l}curve(t,s){let e=this.gen.curve(t,s);return this.draw(e),e}path(t,s){let e=this.gen.path(t,s);return this.draw(e),e}},H="http://www.w3.org/2000/svg",dt=class{constructor(t,s){this.svg=t,this.gen=new $(s)}draw(t){let s=t.sets||[],e=t.options||this.getDefaultOptions(),n=this.svg.ownerDocument||window.document,o=n.createElementNS(H,"g"),r=t.options.fixedDecimalPlaceDigits;for(let h of s){let i=null;switch(h.type){case"path":i=n.createElementNS(H,"path"),i.setAttribute("d",this.opsToPath(h,r)),i.setAttribute("stroke",e.stroke),i.setAttribute("stroke-width",e.strokeWidth+""),i.setAttribute("fill","none"),e.strokeLineDash&&i.setAttribute("stroke-dasharray",e.strokeLineDash.join(" ").trim()),e.strokeLineDashOffset&&i.setAttribute("stroke-dashoffset",`${e.strokeLineDashOffset}`);break;case"fillPath":i=n.createElementNS(H,"path"),i.setAttribute("d",this.opsToPath(h,r)),i.setAttribute("stroke","none"),i.setAttribute("stroke-width","0"),i.setAttribute("fill",e.fill||""),t.shape!=="curve"&&t.shape!=="polygon"||i.setAttribute("fill-rule","evenodd");break;case"fillSketch":i=this.fillSketch(n,h,e)}i&&o.appendChild(i)}return o}fillSketch(t,s,e){let n=e.fillWeight;n<0&&(n=e.strokeWidth/2);let o=t.createElementNS(H,"path");return o.setAttribute("d",this.opsToPath(s,e.fixedDecimalPlaceDigits)),o.setAttribute("stroke",e.fill||""),o.setAttribute("stroke-width",n+""),o.setAttribute("fill","none"),e.fillLineDash&&o.setAttribute("stroke-dasharray",e.fillLineDash.join(" ").trim()),e.fillLineDashOffset&&o.setAttribute("stroke-dashoffset",`${e.fillLineDashOffset}`),o}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,s){return this.gen.opsToPath(t,s)}line(t,s,e,n,o){let r=this.gen.line(t,s,e,n,o);return this.draw(r)}rectangle(t,s,e,n,o){let r=this.gen.rectangle(t,s,e,n,o);return this.draw(r)}ellipse(t,s,e,n,o){let r=this.gen.ellipse(t,s,e,n,o);return this.draw(r)}circle(t,s,e,n){let o=this.gen.circle(t,s,e,n);return this.draw(o)}linearPath(t,s){let e=this.gen.linearPath(t,s);return this.draw(e)}polygon(t,s){let e=this.gen.polygon(t,s);return this.draw(e)}arc(t,s,e,n,o,r,h=!1,i){let l=this.gen.arc(t,s,e,n,o,r,h,i);return this.draw(l)}curve(t,s){let e=this.gen.curve(t,s);return this.draw(e)}path(t,s){let e=this.gen.path(t,s);return this.draw(e)}},Ft={canvas:(a,t)=>new ft(a,t),svg:(a,t)=>new dt(a,t),generator:a=>new $(a),newSeed:()=>$.newSeed()};export{Ft as a};
|