@squeed/flow-sdk 0.1.12 → 0.1.14

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/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var JO=Object.create;var F1=Object.defineProperty;var eq=Object.getOwnPropertyDescriptor;var rq=Object.getOwnPropertyNames;var tq=Object.getPrototypeOf,nq=Object.prototype.hasOwnProperty;var aq=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of rq(e))!nq.call(r,a)&&a!==t&&F1(r,a,{get:()=>e[a],enumerable:!(n=eq(e,a))||n.enumerable});return r};var Rr=(r,e,t)=>(t=r!=null?JO(tq(r)):{},aq(e||!r||!r.__esModule?F1(t,"default",{value:r,enumerable:!0}):t,r));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ue=require("react/jsx-runtime"),De=require("@chakra-ui/react"),Te=require("react"),Hr=require("react-icons/pi"),iq=require("react-icons/hi2"),oq=require("react-icons/gr"),fc=require("react-icons/vsc"),sq=require("react-icons/tb"),z1=require("react-icons/io5"),j2=Te.createContext(null);function Mn(){const r=Te.useContext(j2);if(!r)throw new Error("useFlowDiagramContext must be used within FlowDiagram");return r}function uq({config:r,callbacks:e,children:t}){const n=Te.useRef(null),[a,i]=Te.useState([]),[o,s]=Te.useState(null),[l,u]=Te.useState(!0),[c,d]=Te.useState(!1),[h,g]=Te.useState(!0),[p,E]=Te.useState(r.edgeHandles===!0),[m,b]=Te.useState(!1),[w,x]=Te.useState(!0),[C,T]=Te.useState(!1),S=Te.useRef(e);S.current=e;const _=Te.useMemo(()=>{const Y=K=>(...ee)=>{var le,G;return(G=(le=S.current)==null?void 0:le[K])==null?void 0:G.call(le,...ee)};return{onNodeSelect:Y("onNodeSelect"),onNodeDeselect:Y("onNodeDeselect"),onNodeDoubleClick:Y("onNodeDoubleClick"),onNodeCreate:Y("onNodeCreate"),onNodeDelete:Y("onNodeDelete"),onNodeLabelChange:Y("onNodeLabelChange"),onNodeCollapse:Y("onNodeCollapse"),onNodeColorChange:Y("onNodeColorChange"),onNodeIconChange:Y("onNodeIconChange"),onNodeHoverAction:Y("onNodeHoverAction"),onEdgeCreate:Y("onEdgeCreate"),onEdgeSelect:Y("onEdgeSelect"),onEdgeDeselect:Y("onEdgeDeselect"),onEdgeRemove:Y("onEdgeRemove"),onEdgeColorChange:Y("onEdgeColorChange"),onEdgeLabelChange:Y("onEdgeLabelChange"),onEdgeStyleChange:Y("onEdgeStyleChange"),onViewportChange:Y("onViewportChange"),onDirectionChange:Y("onDirectionChange"),onArrayModeChange:Y("onArrayModeChange"),onCyInit:Y("onCyInit")}},[]),A=r.themeColor||"blue.500",P=r.edgeColor||"",D=r.colorMode||"light",I=r.direction||"LR",M=r.readOnly??!1,k=r.isZoomMode!==void 0?r.isZoomMode:l,N=r.isMultiSelectMode!==void 0?r.isMultiSelectMode:c,z=r.isEdgeHandlesEnabled!==void 0?r.isEdgeHandlesEnabled:p,W=r.isDragMode!==void 0?r.isDragMode:h,q=Te.useRef(r);q.current=r;const $=Te.useMemo(()=>({get direction(){return q.current.direction},get themeColor(){return q.current.themeColor},get colorMode(){return q.current.colorMode},get readOnly(){return q.current.readOnly},get editable(){return q.current.editable},get minZoom(){return q.current.minZoom},get maxZoom(){return q.current.maxZoom},get backgroundPattern(){return q.current.backgroundPattern},get edgeColor(){return q.current.edgeColor},get backgroundColor(){return q.current.backgroundColor},get edgeHandles(){return q.current.edgeHandles},get initialViewport(){return q.current.initialViewport},get nodeOverlayActions(){return q.current.nodeOverlayActions},get renderNodeOverlay(){return q.current.renderNodeOverlay},get renderSelectedNodeToolbar(){return q.current.renderSelectedNodeToolbar},get renderSelectedEdgeToolbar(){return q.current.renderSelectedEdgeToolbar},get renderBottomBar(){return q.current.renderBottomBar},get customViews(){return q.current.customViews},get disableKeyboardShortcuts(){return q.current.disableKeyboardShortcuts},get isZoomMode(){return q.current.isZoomMode},get isMultiSelectMode(){return q.current.isMultiSelectMode},get isEdgeHandlesEnabled(){return q.current.isEdgeHandlesEnabled},get isDragMode(){return q.current.isDragMode}}),[]),X=Te.useMemo(()=>({themeColor:A,edgeColor:P,colorMode:D,direction:I,selectedNodeIds:a,setSelectedNodeIds:i,selectedEdgeId:o,setSelectedEdgeId:s,isZoomMode:k,setIsZoomMode:u,isMultiSelectMode:N,setIsMultiSelectMode:d,isDragMode:W,setIsDragMode:g,isEdgeHandlesEnabled:z,setIsEdgeHandlesEnabled:E,isArrayNodeMode:m,setIsArrayNodeMode:b,isPinned:w,setIsPinned:x,isPerformanceMode:C,setIsPerformanceMode:T,cyRef:n,callbacks:_,config:$,readOnly:M}),[A,P,D,I,a,o,k,N,W,z,m,w,C,M,_,$]);return ue.jsx(j2.Provider,{value:X,children:t})}const lq=({children:r,pattern:e="dot",backgroundColor:t})=>{const{colorMode:n}=Mn(),a=n==="dark",i=a?"--chakra-colors-gray-700":"--chakra-colors-gray-500",o=a?"--chakra-colors-gray-700":"--chakra-colors-gray-800";return e==="none"?ue.jsx(De.Box,{width:"100%",height:"100%",padding:0,bg:t,children:r}):ue.jsxs(De.Box,{position:"relative",width:"100%",height:"100%",padding:0,bg:t,children:[ue.jsx(De.Box,{position:"absolute",top:0,left:0,right:0,bottom:0,width:"100%",height:"100%",zIndex:0,pointerEvents:"none",style:{backgroundImage:e==="dot"?`radial-gradient(var(${i}) 8%, transparent 8%)`:e==="steel"?`repeating-linear-gradient(45deg, var(${o}) 0, var(${o}) 1px, transparent 1px, transparent 20px)`:`linear-gradient(var(${o}) 1px, transparent 1px), linear-gradient(90deg, var(${o}) 1px, transparent 1px)`,backgroundSize:"20px 20px",opacity:.3}}),ue.jsx(De.Box,{position:"relative",width:"100%",height:"100%",zIndex:1,padding:0,children:r})]})};function Uu(r,e=.2){const t=r.replace(/^#/,""),n=parseInt(t,16);let a=n>>16&255,i=n>>8&255,o=n&255;return a=Math.max(0,Math.floor(a*(1-e))),i=Math.max(0,Math.floor(i*(1-e))),o=Math.max(0,Math.floor(o*(1-e))),"#"+((1<<24)+(a<<16)+(i<<8)+o).toString(16).slice(1).toUpperCase()}const In=r=>r!=null&&r.startsWith("#")?{background:r,highlight:Uu(r,.1),border:Uu(r,.5),property:"gray.900",boolean:"green.200",string:"gray.900",number:"orange.800"}:r==="gray"?{background:"gray.950",highlight:"gray.800",border:"gray.700",property:"gray.200",boolean:"green.400",string:"gray.200",number:"orange.600"}:r==="white"?{background:"white",highlight:"gray.200",border:"gray.400",property:"gray.900",boolean:"green.400",string:"gray.900",number:"orange.600"}:{background:r+".100",highlight:r+".200",border:r+".700",property:"gray.900",boolean:"green.800",string:"gray.900",number:"orange.800"},Y2=r=>{let e=r;if(e!=null&&e.startsWith("#"))return{secondary:Uu(r)};let t=String(Number(r.slice(-3))+200);t=r.slice(0,-3).concat(t);let n=String(Number(r.slice(-3))-100);return n=r.slice(0,-3).concat(n),{primary:e,secondary:t,light:n}},$1={red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#EBF8FF",100:"#BEE3F8",200:"#90CDF4",300:"#63B3ED",400:"#4299E1",500:"#3182CE",600:"#2B6CB0",700:"#2C5282",800:"#2A4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923",950:"#0d1117"}},ht=(r,e)=>{var i;if(r!=null&&r.startsWith("#"))return r;if(!r)return"whitesmoke";const t=r.replace(/\./g,"-");try{const s=getComputedStyle(document.documentElement).getPropertyValue(`--chakra-colors-${t}`).trim();if(s&&s!=="")return s}catch{}const[n,a]=r.split(".");return n&&a&&((i=$1[n])!=null&&i[Number(a)])?$1[n][Number(a)]:`var(--chakra-colors-${t})`};function Et(r,e,t){return r?t:e}function cs(r){const[e]=(r==null?void 0:r.split("."))||[],{secondary:t}=Y2(r),n=In(e).background,a=In(e).highlight,i=In(e).border,o=In(e).property,s=In(e).property;let l=In(e).background,u=In(e).highlight;return l=ht(l)+50,u=ht(u)+20,{bgColor:n,highlightColor:a,borderColor:i,textColor:o,propertyColor:s,secondary:t,bgColorFaint:l,highlightColorFaint:u}}function ds(r=null){const{colorMode:e}=Mn(),t=r==null?void 0:r.includes("gray"),n=e==="dark",a=Et(n,"gray.100","gray.900"),i=Et(n,"gray.200","blackAlpha.400"),o=Et(n,"gray.200","blackAlpha.600"),s=Et(n,"gray.500","gray.800"),l=Et(n,"gray.700","gray.700"),u=Et(n,"gray.900","gray.900"),c=Et(n,"gray.400","gray.500"),d=Et(n,"gray.400","gray.700"),h=Et(n,"gray.900","gray.200"),g=Et(n,t?"gray.900":"gray.200",t?"gray.200":"gray.900"),p=Et(n,"gray.900","gray.200"),E=Et(n,r&&"#000000",r||"#ffffff"),m=Et(n,r||"#ffffff",r?"#000000":"#ffffff"),b=l,w=Et(n,"gray.300","gray.800"),x=Et(n,"white","blackAlpha.400"),C=Et(n,"green.100","green.700");return{background:a,backgroundSecondary:i,darkBackgroundSecondary:o,border:s,darkColor:u,backgroundWhiteColor:x,borderSecondary:l,colorActive:c,colorInactive:d,iconColor:p,moreIconColor:b,colorText:h,themedColorText:g,logoColor:E,logoColorSecondary:m,darkColorActive:w,greenColor:C}}const V1=({icon:r,label:e,onClick:t,color:n,boxSize:a=6,...i})=>{const{background:o,border:s,colorText:l}=ds();return ue.jsxs(De.Tooltip.Root,{positioning:{placement:i.placement||"top"},children:[ue.jsx(De.Tooltip.Trigger,{asChild:!0,children:ue.jsx(De.Flex,{children:ue.jsx(De.Icon,{as:r,boxSize:a,color:n,cursor:t?"pointer":void 0,onClick:t})})}),ue.jsx(De.Tooltip.Positioner,{children:ue.jsx(De.Tooltip.Content,{bgColor:i.bgColor||o,borderColor:i.borderColor||s,borderWidth:1,color:i.textColor||l,borderRadius:15,fontWeight:300,fontSize:"sm",p:2,px:4,shadow:"none",children:e})})]})},fq=({data:r,children:e,isInverted:t,isParent:n})=>{var z,W;const{selectedNodeIds:a,setSelectedNodeIds:i,isMultiSelectMode:o,isPerformanceMode:s,cyRef:l,callbacks:u,config:c,themeColor:d,direction:h}=Mn(),{background:g,border:p,colorText:E}=ds(),m=Te.useRef(null),b=Te.useRef(null),[w,x]=Te.useState(!1),[C,T]=Te.useState(!1),S=r==null?void 0:r.id,_=a.includes(S),A=c.nodeOverlayActions,P=c.renderNodeOverlay,D=(()=>{var q;try{const $=(q=l.current)==null?void 0:q.zoom();return $!==void 0&&$<.08}catch{return!1}})(),I=Te.useCallback(()=>{var q,$,X;if(!C)if(o){const Y=a.includes(S),K=Y?a.filter(ee=>ee!==S):[...a,S];i(K),Y?(q=u.onNodeDeselect)==null||q.call(u):($=u.onNodeSelect)==null||$.call(u,S,r)}else i([S]),(X=u.onNodeSelect)==null||X.call(u,S,r)},[S,r,a,o,C,i,u]),M=Te.useCallback(()=>{var q;C||(q=u.onNodeDoubleClick)==null||q.call(u,S,r)},[S,r,C,u]),k=Te.useCallback(()=>{b.current&&clearTimeout(b.current),b.current=setTimeout(()=>x(!0),100)},[]),N=Te.useCallback(()=>{b.current&&clearTimeout(b.current),x(!1)},[]);return n?ue.jsxs(De.Box,{ref:m,onClick:I,onDoubleClick:M,onMouseEnter:k,onMouseLeave:N,cursor:"pointer",position:"relative",children:[!s&&(P||A&&A.length>0)&&w&&!D&&ue.jsxs(ue.Fragment,{children:[ue.jsx(De.Box,{position:"absolute",top:-150,left:"0",right:"0",height:"150px",pointerEvents:"auto",onMouseEnter:()=>x(!0),onMouseLeave:N}),P?ue.jsx(De.Box,{position:"absolute",zIndex:1e3,top:"-100px",left:"50%",pointerEvents:"auto",transform:"translateX(-50%) scale3d(3, 3, 1)",onMouseEnter:()=>x(!0),onMouseLeave:N,willChange:"transform",children:P({nodeId:S,nodeData:r,isRoot:S==="root",isParent:!0,isHovered:w,setIsHovered:x})}):ue.jsx(De.Box,{position:"absolute",zIndex:1e3,top:"-100px",left:"50%",bg:g,p:3,borderColor:p,borderWidth:1,borderRadius:15,pointerEvents:"auto",transform:"translateX(-50%) scale3d(3, 3, 1)",boxShadow:"lg",onMouseEnter:()=>x(!0),onMouseLeave:N,willChange:"transform",children:ue.jsx(De.HStack,{px:2,gap:2,children:A.map((q,$)=>ue.jsxs(De.Box,{display:"contents",children:[$>0&&ue.jsx(De.Box,{borderColor:p,height:5,borderRightWidth:1}),ue.jsx(V1,{icon:q.icon,label:q.label,color:E,bgColor:g,borderColor:p,textColor:E,boxSize:5,onClick:X=>{var Y;X.stopPropagation(),(Y=u.onNodeHoverAction)==null||Y.call(u,q.id,S,r)}})]},q.id))})})]}),e({id:S,data:r,isActive:_,isLowZoom:D,isEditing:C,onEditStart:()=>T(!0),onEditEnd:()=>T(!1)}),((z=r==null?void 0:r.config)==null?void 0:z.collapsed)!==void 0&&(()=>{var X;const q=h==="TB"||h==="BT",$=t||h==="RL";return ue.jsx(De.IconButton,{position:"absolute",...q?{[h==="BT"?"top":"bottom"]:"-75px",left:"50%",transform:"translateX(-50%)"}:{right:$?void 0:"-75px",left:$?"-75px":void 0,top:"50%",transform:"translateY(-50%)"},"aria-label":r.config.collapsed?"Expand":"Collapse",onClick:Y=>{var K;Y.stopPropagation(),(K=u.onNodeCollapse)==null||K.call(u,S,!r.config.collapsed)},bgColor:ht(((X=r==null?void 0:r.viewProps)==null?void 0:X.bgColor)||d),size:"md",color:"gray.100",rounded:"full",mr:2,px:2,py:4,children:r.config.collapsed?ue.jsx(Hr.PiPlusBold,{size:30,color:"gray.800"}):ue.jsx(Hr.PiMinusBold,{size:30,color:"gray.800"})})})()]}):ue.jsxs(De.Box,{ref:m,onClick:I,onDoubleClick:M,onMouseEnter:k,onMouseLeave:N,cursor:"pointer",transition:"transform 0.1s ease",position:"relative",children:[!s&&(P||A&&A.length>0)&&w&&!D&&ue.jsxs(ue.Fragment,{children:[ue.jsx(De.Box,{position:"absolute",top:-150,left:"0",right:"0",height:"150px",pointerEvents:"auto",onMouseEnter:()=>x(!0),onMouseLeave:N}),P?ue.jsx(De.Box,{position:"absolute",zIndex:1e3,top:"-100px",left:"50%",pointerEvents:"auto",transform:"translateX(-50%) scale3d(3, 3, 1)",onMouseEnter:()=>x(!0),onMouseLeave:N,willChange:"transform",children:P({nodeId:S,nodeData:r,isRoot:S==="root",isParent:!!n,isHovered:w,setIsHovered:x})}):ue.jsx(De.Box,{position:"absolute",zIndex:1e3,top:"-100px",left:"50%",bg:g,p:3,borderColor:p,borderWidth:1,borderRadius:15,pointerEvents:"auto",transform:"translateX(-50%) scale3d(3, 3, 1)",boxShadow:"lg",onMouseEnter:()=>x(!0),onMouseLeave:N,willChange:"transform",children:ue.jsx(De.HStack,{px:2,gap:2,children:A.map((q,$)=>ue.jsxs(De.Box,{display:"contents",children:[$>0&&ue.jsx(De.Box,{borderColor:p,height:5,borderRightWidth:1}),ue.jsx(V1,{icon:q.icon,label:q.label,color:E,bgColor:g,borderColor:p,textColor:E,boxSize:5,onClick:X=>{var Y;X.stopPropagation(),(Y=u.onNodeHoverAction)==null||Y.call(u,q.id,S,r)}})]},q.id))})})]}),ue.jsxs(De.Box,{position:"relative",display:"flex",h:"100%",w:"100%",children:[((W=r==null?void 0:r.config)==null?void 0:W.collapsed)!==void 0&&!n&&(()=>{var X;const q=h==="TB"||h==="BT",$=t||h==="RL";return ue.jsx(De.IconButton,{position:"absolute",...q?{[h==="BT"?"top":"bottom"]:"-75px",left:"50%",transform:"translateX(-50%)"}:{right:$?void 0:"-75px",left:$?"-75px":void 0,alignSelf:"center"},"aria-label":r.config.collapsed?"Expand":"Collapse",onClick:Y=>{var K;Y.stopPropagation(),(K=u.onNodeCollapse)==null||K.call(u,S,!r.config.collapsed)},bgColor:ht(((X=r==null?void 0:r.viewProps)==null?void 0:X.bgColor)||d),size:"md",color:"gray.100",rounded:"full",mr:2,px:2,py:4,children:r.config.collapsed?ue.jsx(Hr.PiPlusBold,{size:30,color:"gray.800"}):ue.jsx(Hr.PiMinusBold,{size:30,color:"gray.800"})})})(),e({id:S,data:r,isActive:_,isLowZoom:D,isEditing:C,onEditStart:()=>T(!0),onEditEnd:()=>T(!1)})]})]})},ul=Te.memo(fq);function Z2(r=!0){const e=Te.useRef(null);return Te.useEffect(()=>{if(!r||!e.current)return;const t=i=>{i.stopPropagation(),i.stopImmediatePropagation()},n=e.current,a=["mousedown","mouseup","click","pointerdown","pointerup","keydown","keyup","keypress","input","focus"];return a.forEach(i=>n.addEventListener(i,t,!0)),()=>{a.forEach(i=>n.removeEventListener(i,t,!0))}},[r]),e}const X2=({nodeId:r,label:e,color:t,fontWeight:n="bold",fontSize:a="5xl",isEditing:i,onEditStart:o,onEditEnd:s})=>{const{callbacks:l,config:u,readOnly:c}=Mn(),d=u.editable&&!c,[h,g]=Te.useState(e),p=Te.useRef(null),E=Te.useRef(!1),m=Z2(i);Te.useEffect(()=>{i&&(E.current=!1,p.current&&(p.current.focus(),p.current.select()))},[i]);const b=()=>{var x;if(E.current)return;E.current=!0;const w=h.trim();w&&w!==e&&((x=l.onNodeLabelChange)==null||x.call(l,r,w)),s()};return!d||!i?ue.jsx(De.Text,{color:t,fontWeight:n,fontSize:a,onDoubleClick:d?w=>{w.stopPropagation(),g(e),o()}:void 0,cursor:d?"text":void 0,children:e}):ue.jsx("div",{ref:m,children:ue.jsx(De.Input,{ref:p,value:h,onChange:w=>g(w.target.value),onBlur:b,onKeyDown:w=>{w.key==="Enter"&&b(),w.key==="Escape"&&s()},color:t,fontWeight:n,fontSize:a,bg:"transparent",borderWidth:0,p:0,h:"auto",lineHeight:"normal"})})},cq=({id:r,data:e,isActive:t,isEditing:n,onEditStart:a,onEditEnd:i})=>{var d,h,g;const{themeColor:o}=Mn(),{bgColor:s,borderColor:l,textColor:u}=cs(((d=e==null?void 0:e.viewProps)==null?void 0:d.bgColor)||o),c=ht(((h=e==null?void 0:e.viewProps)==null?void 0:h.textColor)||u);return ue.jsx(De.Box,{borderRadius:(g=e==null?void 0:e.viewProps)==null?void 0:g.borderRadius,bgColor:s,borderColor:t?"white":l,_hover:{borderColor:"white"},borderWidth:2,py:14,px:20,whiteSpace:"normal",children:ue.jsx(De.Flex,{justifyContent:"start",w:900,fontSize:"5xl",lineHeight:"normal",children:ue.jsx(X2,{nodeId:r,label:(e==null?void 0:e.label)||(e==null?void 0:e.text)||"",color:c,isEditing:n,onEditStart:a,onEditEnd:i})})})},dq=({id:r,isActive:e,data:t,isEditing:n,onEditStart:a,onEditEnd:i})=>{var p,E,m,b;const{themeColor:o}=Mn(),s=((p=t==null?void 0:t.viewProps)==null?void 0:p.bgColor)||o,{borderColor:l,highlightColor:u,textColor:c}=cs(s),d=ht(((E=t==null?void 0:t.viewProps)==null?void 0:E.textColor)||c),h=ht(((m=t==null?void 0:t.viewProps)==null?void 0:m.borderColor)||l),g=s!=null&&s.startsWith("#")?s:ht(u);return ue.jsx(De.Flex,{align:"center",borderRadius:(b=t==null?void 0:t.viewProps)==null?void 0:b.borderRadius,bgColor:g,style:{backgroundColor:g},textTransform:"capitalize",borderColor:e?"white":h,_hover:{borderColor:"white"},borderWidth:2,px:50,whiteSpace:"nowrap",children:ue.jsx(De.Flex,{justifyContent:"start",py:14,fontSize:"5xl",lineHeight:"normal",w:900,children:ue.jsx(X2,{nodeId:r,label:(t==null?void 0:t.label)||(t==null?void 0:t.text)||"",color:d,isEditing:n,onEditStart:a,onEditEnd:i})})})},Pm=({name:r,...e})=>{const[t,n]=Te.useState(null),[a,i]=Te.useState(!0),[o,s]=Te.useState(!1);return Te.useEffect(()=>{if(!r||r.length<2){n(null),i(!1);return}i(!0),s(!1),(async()=>{try{let u;if(r.startsWith("Md"))u="md";else if(r.startsWith("Fa"))u="fa6";else if(r.startsWith("Io5"))u="io5";else if(r.startsWith("Io"))u="io";else if(r.startsWith("Ti"))u="ti";else if(r.startsWith("Go"))u="go";else if(r.startsWith("Fi"))u="fi";else if(r.startsWith("Di"))u="di";else if(r.startsWith("Ai"))u="ai";else if(r.startsWith("Bs"))u="bs";else if(r.startsWith("Ri"))u="ri";else if(r.startsWith("Fc"))u="fc";else if(r.startsWith("Gi"))u="gi";else if(r.startsWith("Hi2"))u="hi2";else if(r.startsWith("Hi"))u="hi";else if(r.startsWith("Si"))u="si";else if(r.startsWith("Sl"))u="sl";else if(r.startsWith("Im"))u="im";else if(r.startsWith("Bi"))u="bi";else if(r.startsWith("Pi"))u="pi";else if(r.startsWith("Vsc"))u="vsc";else if(r.startsWith("Tb"))u="tb";else if(r.startsWith("Tfi"))u="tfi";else if(r.startsWith("Cg"))u="cg";else if(r.startsWith("Lia"))u="lia";else if(r.startsWith("Lu"))u="lu";else throw new Error(`Unknown library prefix for icon: ${r}`);let c;switch(u){case"md":c=await import("react-icons/md");break;case"fa6":c=await import("react-icons/fa6");break;case"io5":c=await import("react-icons/io5");break;case"io":c=await import("react-icons/io");break;case"ti":c=await import("react-icons/ti");break;case"go":c=await import("react-icons/go");break;case"fi":c=await import("react-icons/fi");break;case"di":c=await import("react-icons/di");break;case"ai":c=await import("react-icons/ai");break;case"bs":c=await import("react-icons/bs");break;case"ri":c=await import("react-icons/ri");break;case"fc":c=await import("react-icons/fc");break;case"gi":c=await import("react-icons/gi");break;case"hi2":c=await import("react-icons/hi2");break;case"hi":c=await import("react-icons/hi");break;case"si":c=await import("react-icons/si");break;case"sl":c=await import("react-icons/sl");break;case"im":c=await import("react-icons/im");break;case"bi":c=await import("react-icons/bi");break;case"pi":c=await import("react-icons/pi");break;case"vsc":c=await import("react-icons/vsc");break;case"tb":c=await import("react-icons/tb");break;case"tfi":c=await import("react-icons/tfi");break;case"cg":c=await import("react-icons/cg");break;case"lia":c=await import("react-icons/lia");break;case"lu":c=await import("react-icons/lu");break;default:throw new Error(`Unsupported library: ${u}`)}const d=c[r];if(!d)throw new Error(`Icon ${r} not found in library ${u}`);n(()=>d)}catch(u){console.warn(`Failed to load icon ${r}:`,u.message),s(!0),n(null)}finally{i(!1)}})()},[r]),a||!t?null:ue.jsx(t,{...e})},Q2=(r,e)=>{var l,u,c;const t=((l=r==null?void 0:r.viewProps)==null?void 0:l.bgColor)||e,[n]=t.split("."),a=cs(t),i=t!=null&&t.startsWith("#")?ht(t):ht(a.bgColor),o=ht(((u=r==null?void 0:r.viewProps)==null?void 0:u.textColor)||a.textColor),s=ht(((c=r==null?void 0:r.viewProps)==null?void 0:c.borderColor)||a.borderColor);return{...a,bg:t,wordBeforeDot:n,hexbgColor:i,hextextColor:o,hexborderColor:s}},vq=(r,e=350)=>`${String(r).substring(0,e)}${String(r).length>e?"...":""}`,J2=r=>r!=null&&r.includes("root")?r.replace("root","untitled"):r,hq=r=>{const e=Math.max(...Object.keys(r||{}).map(n=>n.length),0);return Math.max(e*28+30,200)},eR=r=>ue.jsx(ul,{...r,children:e=>ue.jsx(cq,{...e})}),rR=r=>ue.jsx(ul,{...r,children:e=>ue.jsx(dq,{...e})}),tR=r=>{const{themeColor:e}=Mn(),[t,n]=Te.useState(!1);return ue.jsx(ul,{...r,children:({data:a,isActive:i,isLowZoom:o})=>{var h,g,p,E,m,b,w,x;const s=Q2(a,e),l=Object.entries(a.description||{}).length>0,u=hq(a.description),c=(g=(h=r.data)==null?void 0:h.config)==null?void 0:g.icon,d=(E=(p=r.data)==null?void 0:p.config)==null?void 0:E.content;return ue.jsx(De.Flex,{justifyContent:"space-between",...a==null?void 0:a.viewProps,direction:"column",p:0,borderRadius:(m=a==null?void 0:a.viewProps)==null?void 0:m.borderRadius,overflow:"hidden",alignItems:"center",style:{backgroundColor:s.hexbgColor,transition:"border-color 0.2s ease-in-out"},width:"100%",borderColor:i?"white":s.hexborderColor,_hover:{borderColor:"white"},borderWidth:3,children:ue.jsxs(De.Flex,{width:"100%",direction:"column",borderRadius:(b=a==null?void 0:a.viewProps)==null?void 0:b.borderRadius,borderColor:s.hexborderColor,borderWidth:0,overflow:"hidden",children:[a.headerTitle&&ue.jsxs(De.Flex,{justify:"flex-start",direction:"row",p:Object.entries(a.description||{}).length?8:20,borderBottomWidth:1,minWidth:"max-content !important",width:"100%",textTransform:"capitalize",align:d?"left":"center",textOverflow:"ellipsis",alignItems:"center",fontWeight:"bold",color:s.propertyColor,bgColor:s.highlightColor,borderBottomColor:!l&&!d?"transparent":s.hexborderColor,children:[!!c&&ue.jsx(De.Box,{mr:8,justifyContent:"flex-start",height:"100%",w:50,alignItems:"center",rounded:"full",children:ue.jsx(Pm,{name:c,size:80,color:s.hextextColor},s.hextextColor)}),ue.jsx(De.Text,{fontSize:"5xl",lineClamp:2,textOverflow:"ellipsis",whiteSpace:"nowrap",color:(w=a==null?void 0:a.viewProps)==null?void 0:w.textColor,children:J2(a.headerTitle)}),!!d&&ue.jsx(De.Box,{ml:10,onClick:()=>n(!t),children:t?ue.jsx(Hr.PiGear,{size:30,style:{cursor:"pointer"}}):ue.jsx(Hr.PiNotepad,{size:30,style:{cursor:"pointer"}})})]}),d&&!t?ue.jsx(De.Flex,{w:"100%",overflow:"auto",justifyContent:"start",background:s.highlightColor,p:10,fontSize:"5xl",lineHeight:"normal",cursor:"text",children:ue.jsx(De.Text,{whiteSpace:"pre-wrap",overflow:"hidden",textOverflow:"ellipsis",color:(x=a==null?void 0:a.viewProps)==null?void 0:x.textColor,children:d})}):ue.jsx(De.Box,{children:Object.entries(a.description||{}).map(([C,T],S)=>{var P,D;const _=In(s.wordBeforeDot)[typeof T],A=In(s.wordBeforeDot).property;return ue.jsxs(De.Box,{children:[ue.jsxs(De.Flex,{flexWrap:"nowrap",overflow:"hidden",children:[ue.jsx(De.Flex,{justifyContent:"start",align:"center",background:s.highlightColor,width:`${u}px`,minWidth:`${u}px`,borderRightColor:s.hexborderColor,borderRightWidth:1,children:ue.jsx(De.Text,{py:5,px:10,w:"100%",whiteSpace:"nowrap",fontWeight:"bold",fontSize:"4xl",color:((P=a==null?void 0:a.viewProps)==null?void 0:P.textColor)||A,children:C})}),ue.jsx(De.Flex,{flex:1,justifyContent:"start",overflow:"hidden",p:4,background:s.hexbgColor,w:600,maxH:200,children:ue.jsx(De.Text,{overflow:"hidden",py:3,px:4,whiteSpace:"normal",textOverflow:"ellipsis",fontSize:"4xl",color:((D=a==null?void 0:a.viewProps)==null?void 0:D.textColor)||_,fontWeight:400,children:vq(T)})})]}),S!==Object.entries(a.description||{}).length-1&&ue.jsx(De.Separator,{borderWidth:1,orientation:"horizontal",my:0,borderColor:s.hexborderColor})]},S)})})]})})}})},nR=r=>{const{themeColor:e}=Mn();return ue.jsx(ul,{...r,children:({data:t,isActive:n})=>{var o,s,l,u;const a=Q2(t,e),i=(s=(o=r.data)==null?void 0:o.config)==null?void 0:s.icon;return ue.jsx(De.Flex,{justifyContent:"space-between",...t==null?void 0:t.viewProps,direction:"column",p:0,borderRadius:((l=t==null?void 0:t.viewProps)==null?void 0:l.borderRadius)||15,overflow:"hidden",bgColor:a.bgColor,position:"absolute",top:0,left:0,right:0,bottom:0,alignItems:"center",style:{backgroundColor:a.hexbgColor,transition:"border-color 0.2s ease-in-out"},borderColor:n?"white":a.hexborderColor,_hover:{borderColor:"white"},borderWidth:3,children:t.headerTitle&&ue.jsxs(De.Flex,{justify:"flex-start",direction:"row",p:20,borderBottomWidth:1,minWidth:"max-content !important",width:"100%",textTransform:"capitalize",align:"center",alignItems:"center",fontWeight:"bold",color:a.propertyColor,bgColor:a.highlightColor,borderBottomColor:a.hexborderColor,children:[!!i&&ue.jsx(De.Box,{mr:8,justifyContent:"flex-start",height:"100%",w:50,alignItems:"center",rounded:"full",children:ue.jsx(Pm,{name:i,size:80,color:a.hextextColor},a.hextextColor)}),ue.jsx(De.Text,{fontSize:"5xl",lineClamp:2,textOverflow:"ellipsis",whiteSpace:"nowrap",color:(u=t==null?void 0:t.viewProps)==null?void 0:u.textColor,children:J2(t.headerTitle)})]})})}})};eR.displayName="text";rR.displayName="arrayView";tR.displayName="NodeJsonObjectView";nR.displayName="ParentContainerView";const gq={objectView:tR,arrayView:rR,text:eR,parentContainer:nR},pq=r=>[{selector:"node",style:{"outline-opacity":0,"background-opacity":0,"background-color":"transparent","border-color":"transparent",color:"transparent","border-opacity":0,"text-valign":"center","text-halign":"center","border-width":0,"outline-width":0,width:60,height:60}},{selector:"node:selected",style:{"overlay-opacity":0,"overlay-color":"transparent"}},{selector:"node:active",style:{"overlay-opacity":0,"overlay-color":"transparent"}},{selector:":parent",style:{shape:"round-rectangle","background-opacity":.4,"corner-radius":50,"line-color":r("light"),"background-color":r(),"border-color":r(),"border-width":6,"border-style":"solid","border-opacity":1,padding:"120px","text-valign":"top","font-size":"70px","font-weight":"bold","text-margin-y":90,"text-background-opacity":0,"text-background-padding":"45px","z-index":1e3,"compound-sizing-wrt-labels":"include",label:"data(label)"}},{selector:"edge",style:{width:6,label:"data(label)","z-index":-100,"control-point-step-size":10,"taxi-direction":"horizontal","curve-style":"round-taxi","edge-distances":"intersection","line-color":r("light"),color:r("light"),"text-rotation":"autorotate","target-arrow-color":r("light"),"source-arrow-color":r("light"),"target-arrow-shape":"triangle","arrow-scale":"3","text-background-color":r("dark"),"text-background-opacity":1,"text-background-padding":"15px","taxi-radius":500,"source-arrow-fill":"filled","target-arrow-fill":"filled","text-max-width":"200px","font-size":"45px","text-wrap":"wrap","text-margin-x":50,"transition-duration":"0.5s","source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","source-distance-from-node":80,"target-distance-from-node":80}}],cc=(r,e,t,n)=>{if(!r)return{controlPointDistances:[0],controlPointWeights:[.5]};const a=r.edges().filter(u=>{const c=u.data();return c.source===e&&c.target===t||c.source===t&&c.target===e});if(a.length<=1)return{controlPointDistances:[0],controlPointWeights:[.5]};let i=0;a.forEach((u,c)=>{u.data().id===n&&(i=c)});const o=a.length;return{controlPointDistances:[(i-(o-1)/2)*60],controlPointWeights:[.5]}},yq=r=>{const n=1/(Math.cbrt(r)*.8);let a=Math.round(650*n),i=Math.round(350*n);return a=Math.max(40,Math.min(450,a)),i=Math.max(30,Math.min(300,i)),{edgeSep:a,rankSep:i}};function mq({cytoInstance:r,id:e,source:t,type:n,target:a,label:i,children:o,layout:s,styleCallback:l,isPerformanceMode:u}){const c=Te.useRef(null),d=Te.useRef(null),[h,g]=Te.useState(2);let p,E;function m(S){if(l){const _=l(S,t,a);p=_.hasOwnProperty("line-style"),E=_.hasOwnProperty("source-arrow-shape"),S.style(_)}}const b=Te.useCallback(()=>{if(!p||u)return;const S=r.getElementById(e);if(S.length===0)return;const D=Date.now()*.1%(20*50),I=E?D:-D;S.style("line-dash-offset",I),d.current=requestAnimationFrame(b)},[p,r,e,E,u]);function w(S){const _=cc(r,t,a,e),A=r.add({data:{...S,controlPointDistances:_.controlPointDistances,controlPointWeights:_.controlPointWeights}});m(A),p&&(d.current=requestAnimationFrame(b))}function x(S,_){let A=2;return r.getElementById(S).length===1&&(A-=1),r.getElementById(_).length===1&&(A-=1),A}if(Te.useEffect(()=>{if(x(t,a)===0){const _=r.getElementById(e);if(_.length===0){const A=cc(r,t,a,e),P=r.add({data:{id:e,source:t,target:a,label:i,type:n,controlPointDistances:A.controlPointDistances,controlPointWeights:A.controlPointWeights}});m(P),p&&(d.current=requestAnimationFrame(b))}else{const A=cc(r,t,a,e);_.data({source:t,target:a,label:i,type:n,controlPointDistances:A.controlPointDistances,controlPointWeights:A.controlPointWeights}),m(_)}}},[t,a,e,i,n,r,p,b]),Te.useEffect(()=>{function S(A){const P=A.target.id();if(P===t||P===a){const D=x(t,a);D!==h&&g(D),D===0&&w({id:e,source:t,target:a,label:i,type:n})}}function _(A){const P=A.target.id();if(P===t||P===a){const D=x(t,a);D!==h&&g(D),D>0&&(r.getElementById(e).remove(),d.current&&cancelAnimationFrame(d.current))}}return r.on("add","node",S),r.on("remove","node",_),p&&h===0&&(d.current=requestAnimationFrame(b)),()=>{r.getElementById(e).remove(),r.off("add","node",S),r.off("remove","node",_),d.current&&cancelAnimationFrame(d.current)}},[]),Te.useEffect(()=>(p&&h===0?d.current||(d.current=requestAnimationFrame(b)):!p&&d.current&&(cancelAnimationFrame(d.current),d.current=null),()=>{d.current&&cancelAnimationFrame(d.current)}),[p,h,b]),Te.useEffect(()=>{s()},[e,o]),Te.useEffect(()=>{if(!h){const S=r.getElementById(e);m(S)}},[l,h]),h>0)return null;function C(S){return Te.cloneElement(S,{cytoInstance:r,layout:s})}const T=Te.Children.map(o,C);return ue.jsx("div",{ref:c,className:"cytoscape-react-edge",children:T})}function lm(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function bq(r){if(Array.isArray(r))return r}function wq(r){if(Array.isArray(r))return lm(r)}function La(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function xq(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,iR(n.key),n)}}function Oa(r,e,t){return e&&xq(r.prototype,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function $t(r,e){var t=typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=Dm(r))||e){t&&(r=t);var n=0,a=function(){};return{s:a,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(l){throw l},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1
+ "use strict";var JO=Object.create;var F1=Object.defineProperty;var eq=Object.getOwnPropertyDescriptor;var rq=Object.getOwnPropertyNames;var tq=Object.getPrototypeOf,nq=Object.prototype.hasOwnProperty;var aq=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of rq(e))!nq.call(r,a)&&a!==t&&F1(r,a,{get:()=>e[a],enumerable:!(n=eq(e,a))||n.enumerable});return r};var Rr=(r,e,t)=>(t=r!=null?JO(tq(r)):{},aq(e||!r||!r.__esModule?F1(t,"default",{value:r,enumerable:!0}):t,r));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ue=require("react/jsx-runtime"),De=require("@chakra-ui/react"),Te=require("react"),Hr=require("react-icons/pi"),iq=require("react-icons/hi2"),oq=require("react-icons/gr"),fc=require("react-icons/vsc"),sq=require("react-icons/tb"),z1=require("react-icons/io5"),j2=Te.createContext(null);function Mn(){const r=Te.useContext(j2);if(!r)throw new Error("useFlowDiagramContext must be used within FlowDiagram");return r}function uq({config:r,callbacks:e,children:t}){const n=Te.useRef(null),[a,i]=Te.useState([]),[o,s]=Te.useState(null),[l,u]=Te.useState(!0),[c,d]=Te.useState(!1),[h,g]=Te.useState(!0),[p,E]=Te.useState(r.edgeHandles===!0),[m,b]=Te.useState(!1),[w,x]=Te.useState(!0),[C,T]=Te.useState(!1),S=Te.useRef(e);S.current=e;const _=Te.useMemo(()=>{const Y=K=>(...ee)=>{var le,G;return(G=(le=S.current)==null?void 0:le[K])==null?void 0:G.call(le,...ee)};return{onNodeSelect:Y("onNodeSelect"),onNodeDeselect:Y("onNodeDeselect"),onNodeDoubleClick:Y("onNodeDoubleClick"),onNodeCreate:Y("onNodeCreate"),onNodeDelete:Y("onNodeDelete"),onNodeLabelChange:Y("onNodeLabelChange"),onNodeCollapse:Y("onNodeCollapse"),onNodeColorChange:Y("onNodeColorChange"),onNodeIconChange:Y("onNodeIconChange"),onNodeHoverAction:Y("onNodeHoverAction"),onEdgeCreate:Y("onEdgeCreate"),onEdgeSelect:Y("onEdgeSelect"),onEdgeDeselect:Y("onEdgeDeselect"),onEdgeRemove:Y("onEdgeRemove"),onEdgeColorChange:Y("onEdgeColorChange"),onEdgeLabelChange:Y("onEdgeLabelChange"),onEdgeStyleChange:Y("onEdgeStyleChange"),onViewportChange:Y("onViewportChange"),onDirectionChange:Y("onDirectionChange"),onArrayModeChange:Y("onArrayModeChange"),onCyInit:Y("onCyInit")}},[]),A=r.themeColor||"blue.500",P=r.edgeColor||"",D=r.colorMode||"light",I=r.direction||"LR",M=r.readOnly??!1,k=r.isZoomMode!==void 0?r.isZoomMode:l,N=r.isMultiSelectMode!==void 0?r.isMultiSelectMode:c,z=r.isEdgeHandlesEnabled!==void 0?r.isEdgeHandlesEnabled:p,W=r.isDragMode!==void 0?r.isDragMode:h,q=Te.useRef(r);q.current=r;const $=Te.useMemo(()=>({get direction(){return q.current.direction},get themeColor(){return q.current.themeColor},get colorMode(){return q.current.colorMode},get readOnly(){return q.current.readOnly},get editable(){return q.current.editable},get minZoom(){return q.current.minZoom},get maxZoom(){return q.current.maxZoom},get backgroundPattern(){return q.current.backgroundPattern},get edgeColor(){return q.current.edgeColor},get backgroundColor(){return q.current.backgroundColor},get edgeHandles(){return q.current.edgeHandles},get initialViewport(){return q.current.initialViewport},get nodeOverlayActions(){return q.current.nodeOverlayActions},get renderNodeOverlay(){return q.current.renderNodeOverlay},get renderSelectedNodeToolbar(){return q.current.renderSelectedNodeToolbar},get renderSelectedEdgeToolbar(){return q.current.renderSelectedEdgeToolbar},get renderBottomBar(){return q.current.renderBottomBar},get customViews(){return q.current.customViews},get disableKeyboardShortcuts(){return q.current.disableKeyboardShortcuts},get isZoomMode(){return q.current.isZoomMode},get isMultiSelectMode(){return q.current.isMultiSelectMode},get isEdgeHandlesEnabled(){return q.current.isEdgeHandlesEnabled},get isDragMode(){return q.current.isDragMode}}),[]),X=Te.useMemo(()=>({themeColor:A,edgeColor:P,colorMode:D,direction:I,selectedNodeIds:a,setSelectedNodeIds:i,selectedEdgeId:o,setSelectedEdgeId:s,isZoomMode:k,setIsZoomMode:u,isMultiSelectMode:N,setIsMultiSelectMode:d,isDragMode:W,setIsDragMode:g,isEdgeHandlesEnabled:z,setIsEdgeHandlesEnabled:E,isArrayNodeMode:m,setIsArrayNodeMode:b,isPinned:w,setIsPinned:x,isPerformanceMode:C,setIsPerformanceMode:T,cyRef:n,callbacks:_,config:$,readOnly:M}),[A,P,D,I,a,o,k,N,W,z,m,w,C,M,_,$]);return ue.jsx(j2.Provider,{value:X,children:t})}const lq=({children:r,pattern:e="dot",backgroundColor:t})=>{const{colorMode:n}=Mn(),a=n==="dark",i=a?"--chakra-colors-gray-700":"--chakra-colors-gray-500",o=a?"--chakra-colors-gray-700":"--chakra-colors-gray-800";return e==="none"?ue.jsx(De.Box,{width:"100%",height:"100%",padding:0,bg:t,children:r}):ue.jsxs(De.Box,{position:"relative",width:"100%",height:"100%",padding:0,bg:t,children:[ue.jsx(De.Box,{position:"absolute",top:0,left:0,right:0,bottom:0,width:"100%",height:"100%",zIndex:0,pointerEvents:"none",style:{backgroundImage:e==="dot"?`radial-gradient(var(${i}) 8%, transparent 8%)`:e==="steel"?`repeating-linear-gradient(45deg, var(${o}) 0, var(${o}) 1px, transparent 1px, transparent 20px)`:`linear-gradient(var(${o}) 1px, transparent 1px), linear-gradient(90deg, var(${o}) 1px, transparent 1px)`,backgroundSize:"20px 20px",opacity:.3}}),ue.jsx(De.Box,{position:"relative",width:"100%",height:"100%",zIndex:1,padding:0,children:r})]})};function Uu(r,e=.2){const t=r.replace(/^#/,""),n=parseInt(t,16);let a=n>>16&255,i=n>>8&255,o=n&255;return a=Math.max(0,Math.floor(a*(1-e))),i=Math.max(0,Math.floor(i*(1-e))),o=Math.max(0,Math.floor(o*(1-e))),"#"+((1<<24)+(a<<16)+(i<<8)+o).toString(16).slice(1).toUpperCase()}const In=r=>r!=null&&r.startsWith("#")?{background:r,highlight:Uu(r,.1),border:Uu(r,.5),property:"gray.900",boolean:"green.200",string:"gray.900",number:"orange.800"}:r==="gray"?{background:"gray.950",highlight:"gray.800",border:"gray.700",property:"gray.200",boolean:"green.400",string:"gray.200",number:"orange.600"}:r==="white"?{background:"white",highlight:"gray.200",border:"gray.400",property:"gray.900",boolean:"green.400",string:"gray.900",number:"orange.600"}:{background:r+".100",highlight:r+".200",border:r+".700",property:"gray.900",boolean:"green.800",string:"gray.900",number:"orange.800"},Y2=r=>{let e=r;if(e!=null&&e.startsWith("#"))return{secondary:Uu(r)};let t=String(Number(r.slice(-3))+200);t=r.slice(0,-3).concat(t);let n=String(Number(r.slice(-3))-100);return n=r.slice(0,-3).concat(n),{primary:e,secondary:t,light:n}},$1={red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#EBF8FF",100:"#BEE3F8",200:"#90CDF4",300:"#63B3ED",400:"#4299E1",500:"#3182CE",600:"#2B6CB0",700:"#2C5282",800:"#2A4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923",950:"#0d1117"}},ht=(r,e)=>{var i;if(r!=null&&r.startsWith("#"))return r;if(!r)return"whitesmoke";const t=r.replace(/\./g,"-");try{const s=getComputedStyle(document.documentElement).getPropertyValue(`--chakra-colors-${t}`).trim();if(s&&s!=="")return s}catch{}const[n,a]=r.split(".");return n&&a&&((i=$1[n])!=null&&i[Number(a)])?$1[n][Number(a)]:`var(--chakra-colors-${t})`};function Et(r,e,t){return r?t:e}function cs(r){const[e]=(r==null?void 0:r.split("."))||[],{secondary:t}=Y2(r),n=In(e).background,a=In(e).highlight,i=In(e).border,o=In(e).property,s=In(e).property;let l=In(e).background,u=In(e).highlight;return l=ht(l)+50,u=ht(u)+20,{bgColor:n,highlightColor:a,borderColor:i,textColor:o,propertyColor:s,secondary:t,bgColorFaint:l,highlightColorFaint:u}}function ds(r=null){const{colorMode:e}=Mn(),t=r==null?void 0:r.includes("gray"),n=e==="dark",a=Et(n,"gray.100","gray.900"),i=Et(n,"gray.200","blackAlpha.400"),o=Et(n,"gray.200","blackAlpha.600"),s=Et(n,"gray.500","gray.800"),l=Et(n,"gray.700","gray.700"),u=Et(n,"gray.900","gray.900"),c=Et(n,"gray.400","gray.500"),d=Et(n,"gray.400","gray.700"),h=Et(n,"gray.900","gray.200"),g=Et(n,t?"gray.900":"gray.200",t?"gray.200":"gray.900"),p=Et(n,"gray.900","gray.200"),E=Et(n,r&&"#000000",r||"#ffffff"),m=Et(n,r||"#ffffff",r?"#000000":"#ffffff"),b=l,w=Et(n,"gray.300","gray.800"),x=Et(n,"white","blackAlpha.400"),C=Et(n,"green.100","green.700");return{background:a,backgroundSecondary:i,darkBackgroundSecondary:o,border:s,darkColor:u,backgroundWhiteColor:x,borderSecondary:l,colorActive:c,colorInactive:d,iconColor:p,moreIconColor:b,colorText:h,themedColorText:g,logoColor:E,logoColorSecondary:m,darkColorActive:w,greenColor:C}}const V1=({icon:r,label:e,onClick:t,color:n,boxSize:a=6,...i})=>{const{background:o,border:s,colorText:l}=ds();return ue.jsxs(De.Tooltip.Root,{positioning:{placement:i.placement||"top"},children:[ue.jsx(De.Tooltip.Trigger,{asChild:!0,children:ue.jsx(De.Flex,{children:ue.jsx(De.Icon,{as:r,boxSize:a,color:n,cursor:t?"pointer":void 0,onClick:t})})}),ue.jsx(De.Tooltip.Positioner,{children:ue.jsx(De.Tooltip.Content,{bgColor:i.bgColor||o,borderColor:i.borderColor||s,borderWidth:1,color:i.textColor||l,borderRadius:15,fontWeight:300,fontSize:"sm",p:2,px:4,shadow:"none",children:e})})]})},fq=({data:r,children:e,isInverted:t,isParent:n})=>{var z,W;const{selectedNodeIds:a,setSelectedNodeIds:i,isMultiSelectMode:o,isPerformanceMode:s,cyRef:l,callbacks:u,config:c,themeColor:d,direction:h}=Mn(),{background:g,border:p,colorText:E}=ds(),m=Te.useRef(null),b=Te.useRef(null),[w,x]=Te.useState(!1),[C,T]=Te.useState(!1),S=r==null?void 0:r.id,_=a.includes(S),A=c.nodeOverlayActions,P=c.renderNodeOverlay,D=(()=>{var q;try{const $=(q=l.current)==null?void 0:q.zoom();return $!==void 0&&$<.08}catch{return!1}})(),I=Te.useCallback(()=>{var q,$,X;if(!C)if(o){const Y=a.includes(S),K=Y?a.filter(ee=>ee!==S):[...a,S];i(K),Y?(q=u.onNodeDeselect)==null||q.call(u):($=u.onNodeSelect)==null||$.call(u,S,r)}else i([S]),(X=u.onNodeSelect)==null||X.call(u,S,r)},[S,r,a,o,C,i,u]),M=Te.useCallback(()=>{var q;C||(q=u.onNodeDoubleClick)==null||q.call(u,S,r)},[S,r,C,u]),k=Te.useCallback(()=>{b.current&&clearTimeout(b.current),b.current=setTimeout(()=>x(!0),100)},[]),N=Te.useCallback(()=>{b.current&&clearTimeout(b.current),x(!1)},[]);return n?ue.jsxs(De.Box,{ref:m,onClick:I,onDoubleClick:M,onMouseEnter:k,onMouseLeave:N,cursor:"pointer",position:"relative",children:[!s&&(P||A&&A.length>0)&&w&&!D&&ue.jsxs(ue.Fragment,{children:[ue.jsx(De.Box,{position:"absolute",top:-150,left:"0",right:"0",height:"150px",pointerEvents:"auto",onMouseEnter:()=>x(!0),onMouseLeave:N}),P?ue.jsx(De.Box,{position:"absolute",zIndex:1e3,top:"-100px",left:"50%",pointerEvents:"auto",transform:"translateX(-50%) scale3d(3, 3, 1)",onMouseEnter:()=>x(!0),onMouseLeave:N,willChange:"transform",children:P({nodeId:S,nodeData:r,isRoot:S==="root",isParent:!0,isHovered:w,setIsHovered:x})}):ue.jsx(De.Box,{position:"absolute",zIndex:1e3,top:"-100px",left:"50%",bg:g,p:3,borderColor:p,borderWidth:1,borderRadius:15,pointerEvents:"auto",transform:"translateX(-50%) scale3d(3, 3, 1)",boxShadow:"lg",onMouseEnter:()=>x(!0),onMouseLeave:N,willChange:"transform",children:ue.jsx(De.HStack,{px:2,gap:2,children:A.map((q,$)=>ue.jsxs(De.Box,{display:"contents",children:[$>0&&ue.jsx(De.Box,{borderColor:p,height:5,borderRightWidth:1}),ue.jsx(V1,{icon:q.icon,label:q.label,color:E,bgColor:g,borderColor:p,textColor:E,boxSize:5,onClick:X=>{var Y;X.stopPropagation(),(Y=u.onNodeHoverAction)==null||Y.call(u,q.id,S,r)}})]},q.id))})})]}),e({id:S,data:r,isActive:_,isLowZoom:D,isEditing:C,onEditStart:()=>T(!0),onEditEnd:()=>T(!1)}),((z=r==null?void 0:r.config)==null?void 0:z.collapsed)!==void 0&&(()=>{var X;const q=h==="TB"||h==="BT",$=t||h==="RL";return ue.jsx(De.IconButton,{position:"absolute",...q?{[h==="BT"?"top":"bottom"]:"-75px",left:"50%",transform:"translateX(-50%)"}:{right:$?void 0:"-75px",left:$?"-75px":void 0,top:"50%",transform:"translateY(-50%)"},"aria-label":r.config.collapsed?"Expand":"Collapse",onClick:Y=>{var K;Y.stopPropagation(),(K=u.onNodeCollapse)==null||K.call(u,S,!r.config.collapsed)},bgColor:ht(((X=r==null?void 0:r.viewProps)==null?void 0:X.bgColor)||d),size:"md",color:"gray.100",rounded:"full",mr:2,px:2,py:4,children:r.config.collapsed?ue.jsx(Hr.PiPlusBold,{size:30,color:"gray.800"}):ue.jsx(Hr.PiMinusBold,{size:30,color:"gray.800"})})})()]}):ue.jsxs(De.Box,{ref:m,onClick:I,onDoubleClick:M,onMouseEnter:k,onMouseLeave:N,cursor:"pointer",transition:"transform 0.1s ease",position:"relative",children:[!s&&(P||A&&A.length>0)&&w&&!D&&ue.jsxs(ue.Fragment,{children:[ue.jsx(De.Box,{position:"absolute",top:-150,left:"0",right:"0",height:"150px",pointerEvents:"auto",onMouseEnter:()=>x(!0),onMouseLeave:N}),P?ue.jsx(De.Box,{position:"absolute",zIndex:1e3,top:"-100px",left:"50%",pointerEvents:"auto",transform:"translateX(-50%) scale3d(3, 3, 1)",onMouseEnter:()=>x(!0),onMouseLeave:N,willChange:"transform",children:P({nodeId:S,nodeData:r,isRoot:S==="root",isParent:!!n,isHovered:w,setIsHovered:x})}):ue.jsx(De.Box,{position:"absolute",zIndex:1e3,top:"-100px",left:"50%",bg:g,p:3,borderColor:p,borderWidth:1,borderRadius:15,pointerEvents:"auto",transform:"translateX(-50%) scale3d(3, 3, 1)",boxShadow:"lg",onMouseEnter:()=>x(!0),onMouseLeave:N,willChange:"transform",children:ue.jsx(De.HStack,{px:2,gap:2,children:A.map((q,$)=>ue.jsxs(De.Box,{display:"contents",children:[$>0&&ue.jsx(De.Box,{borderColor:p,height:5,borderRightWidth:1}),ue.jsx(V1,{icon:q.icon,label:q.label,color:E,bgColor:g,borderColor:p,textColor:E,boxSize:5,onClick:X=>{var Y;X.stopPropagation(),(Y=u.onNodeHoverAction)==null||Y.call(u,q.id,S,r)}})]},q.id))})})]}),ue.jsxs(De.Box,{position:"relative",display:"flex",h:"100%",w:"100%",children:[((W=r==null?void 0:r.config)==null?void 0:W.collapsed)!==void 0&&!n&&(()=>{var X;const q=h==="TB"||h==="BT",$=t||h==="RL";return ue.jsx(De.IconButton,{position:"absolute",...q?{[h==="BT"?"top":"bottom"]:"-75px",left:"50%",transform:"translateX(-50%)"}:{right:$?void 0:"-75px",left:$?"-75px":void 0,alignSelf:"center"},"aria-label":r.config.collapsed?"Expand":"Collapse",onClick:Y=>{var K;Y.stopPropagation(),(K=u.onNodeCollapse)==null||K.call(u,S,!r.config.collapsed)},bgColor:ht(((X=r==null?void 0:r.viewProps)==null?void 0:X.bgColor)||d),size:"md",color:"gray.100",rounded:"full",mr:2,px:2,py:4,children:r.config.collapsed?ue.jsx(Hr.PiPlusBold,{size:30,color:"gray.800"}):ue.jsx(Hr.PiMinusBold,{size:30,color:"gray.800"})})})(),e({id:S,data:r,isActive:_,isLowZoom:D,isEditing:C,onEditStart:()=>T(!0),onEditEnd:()=>T(!1)})]})]})},ul=Te.memo(fq);function Z2(r=!0){const e=Te.useRef(null);return Te.useEffect(()=>{if(!r||!e.current)return;const t=i=>{i.stopPropagation(),i.stopImmediatePropagation()},n=e.current,a=["mousedown","mouseup","click","pointerdown","pointerup","keydown","keyup","keypress","input","focus"];return a.forEach(i=>n.addEventListener(i,t,!0)),()=>{a.forEach(i=>n.removeEventListener(i,t,!0))}},[r]),e}const X2=({nodeId:r,label:e,color:t,fontWeight:n="bold",fontSize:a="5xl",isEditing:i,onEditStart:o,onEditEnd:s})=>{const{callbacks:l,config:u,readOnly:c}=Mn(),d=u.editable&&!c,[h,g]=Te.useState(e),p=Te.useRef(null),E=Te.useRef(!1),m=Z2(i);Te.useEffect(()=>{i&&(E.current=!1,p.current&&(p.current.focus(),p.current.select()))},[i]);const b=()=>{var x;if(E.current)return;E.current=!0;const w=h.trim();w&&w!==e&&((x=l.onNodeLabelChange)==null||x.call(l,r,w)),s()};return!d||!i?ue.jsx(De.Text,{color:t,fontWeight:n,fontSize:a,onDoubleClick:d?w=>{w.stopPropagation(),g(e),o()}:void 0,cursor:d?"text":void 0,children:e}):ue.jsx("div",{ref:m,children:ue.jsx(De.Input,{ref:p,value:h,onChange:w=>g(w.target.value),onBlur:b,onKeyDown:w=>{w.key==="Enter"&&b(),w.key==="Escape"&&s()},color:t,fontWeight:n,fontSize:a,bg:"transparent",borderWidth:0,p:0,h:"auto",lineHeight:"normal"})})},cq=({id:r,data:e,isActive:t,isEditing:n,onEditStart:a,onEditEnd:i})=>{var d,h,g;const{themeColor:o}=Mn(),{bgColor:s,borderColor:l,textColor:u}=cs(((d=e==null?void 0:e.viewProps)==null?void 0:d.bgColor)||o),c=ht(((h=e==null?void 0:e.viewProps)==null?void 0:h.textColor)||u);return ue.jsx(De.Box,{borderRadius:(g=e==null?void 0:e.viewProps)==null?void 0:g.borderRadius,bgColor:s,borderColor:t?"white":l,_hover:{borderColor:"white"},borderWidth:2,py:14,px:20,whiteSpace:"normal",children:ue.jsx(De.Flex,{justifyContent:"start",w:900,fontSize:"5xl",lineHeight:"normal",children:ue.jsx(X2,{nodeId:r,label:(e==null?void 0:e.label)||(e==null?void 0:e.text)||"",color:c,isEditing:n,onEditStart:a,onEditEnd:i})})})},dq=({id:r,isActive:e,data:t,isEditing:n,onEditStart:a,onEditEnd:i})=>{var p,E,m,b;const{themeColor:o}=Mn(),s=((p=t==null?void 0:t.viewProps)==null?void 0:p.bgColor)||o,{borderColor:l,highlightColor:u,textColor:c}=cs(s),d=ht(((E=t==null?void 0:t.viewProps)==null?void 0:E.textColor)||c),h=ht(((m=t==null?void 0:t.viewProps)==null?void 0:m.borderColor)||l),g=s!=null&&s.startsWith("#")?s:ht(u);return ue.jsx(De.Flex,{align:"center",borderRadius:(b=t==null?void 0:t.viewProps)==null?void 0:b.borderRadius,bgColor:g,style:{backgroundColor:g},textTransform:"capitalize",borderColor:e?"white":h,_hover:{borderColor:"white"},borderWidth:2,px:50,whiteSpace:"nowrap",children:ue.jsx(De.Flex,{justifyContent:"start",py:14,fontSize:"5xl",lineHeight:"normal",w:900,children:ue.jsx(X2,{nodeId:r,label:(t==null?void 0:t.label)||(t==null?void 0:t.text)||"",color:d,isEditing:n,onEditStart:a,onEditEnd:i})})})},Pm=({name:r,...e})=>{const[t,n]=Te.useState(null),[a,i]=Te.useState(!0),[o,s]=Te.useState(!1);return Te.useEffect(()=>{if(!r||r.length<2){n(null),i(!1);return}i(!0),s(!1),(async()=>{try{let u;if(r.startsWith("Md"))u="md";else if(r.startsWith("Fa"))u="fa6";else if(r.startsWith("Io5"))u="io5";else if(r.startsWith("Io"))u="io";else if(r.startsWith("Ti"))u="ti";else if(r.startsWith("Go"))u="go";else if(r.startsWith("Fi"))u="fi";else if(r.startsWith("Di"))u="di";else if(r.startsWith("Ai"))u="ai";else if(r.startsWith("Bs"))u="bs";else if(r.startsWith("Ri"))u="ri";else if(r.startsWith("Fc"))u="fc";else if(r.startsWith("Gi"))u="gi";else if(r.startsWith("Hi2"))u="hi2";else if(r.startsWith("Hi"))u="hi";else if(r.startsWith("Si"))u="si";else if(r.startsWith("Sl"))u="sl";else if(r.startsWith("Im"))u="im";else if(r.startsWith("Bi"))u="bi";else if(r.startsWith("Pi"))u="pi";else if(r.startsWith("Vsc"))u="vsc";else if(r.startsWith("Tb"))u="tb";else if(r.startsWith("Tfi"))u="tfi";else if(r.startsWith("Cg"))u="cg";else if(r.startsWith("Lia"))u="lia";else if(r.startsWith("Lu"))u="lu";else throw new Error(`Unknown library prefix for icon: ${r}`);let c;switch(u){case"md":c=await import("react-icons/md");break;case"fa6":c=await import("react-icons/fa6");break;case"io5":c=await import("react-icons/io5");break;case"io":c=await import("react-icons/io");break;case"ti":c=await import("react-icons/ti");break;case"go":c=await import("react-icons/go");break;case"fi":c=await import("react-icons/fi");break;case"di":c=await import("react-icons/di");break;case"ai":c=await import("react-icons/ai");break;case"bs":c=await import("react-icons/bs");break;case"ri":c=await import("react-icons/ri");break;case"fc":c=await import("react-icons/fc");break;case"gi":c=await import("react-icons/gi");break;case"hi2":c=await import("react-icons/hi2");break;case"hi":c=await import("react-icons/hi");break;case"si":c=await import("react-icons/si");break;case"sl":c=await import("react-icons/sl");break;case"im":c=await import("react-icons/im");break;case"bi":c=await import("react-icons/bi");break;case"pi":c=await import("react-icons/pi");break;case"vsc":c=await import("react-icons/vsc");break;case"tb":c=await import("react-icons/tb");break;case"tfi":c=await import("react-icons/tfi");break;case"cg":c=await import("react-icons/cg");break;case"lia":c=await import("react-icons/lia");break;case"lu":c=await import("react-icons/lu");break;default:throw new Error(`Unsupported library: ${u}`)}const d=c[r];if(!d)throw new Error(`Icon ${r} not found in library ${u}`);n(()=>d)}catch(u){console.warn(`Failed to load icon ${r}:`,u.message),s(!0),n(null)}finally{i(!1)}})()},[r]),a||!t?null:ue.jsx(t,{...e})},Q2=(r,e)=>{var l,u,c;const t=((l=r==null?void 0:r.viewProps)==null?void 0:l.bgColor)||e,[n]=t.split("."),a=cs(t),i=t!=null&&t.startsWith("#")?ht(t):ht(a.bgColor),o=ht(((u=r==null?void 0:r.viewProps)==null?void 0:u.textColor)||a.textColor),s=ht(((c=r==null?void 0:r.viewProps)==null?void 0:c.borderColor)||a.borderColor);return{...a,bg:t,wordBeforeDot:n,hexbgColor:i,hextextColor:o,hexborderColor:s}},vq=(r,e=350)=>`${String(r).substring(0,e)}${String(r).length>e?"...":""}`,J2=r=>r!=null&&r.includes("root")?r.replace("root","untitled"):r,hq=r=>{const e=Math.max(...Object.keys(r||{}).map(n=>n.length),0);return Math.max(e*28+30,200)},eR=r=>ue.jsx(ul,{...r,children:e=>ue.jsx(cq,{...e})}),rR=r=>ue.jsx(ul,{...r,children:e=>ue.jsx(dq,{...e})}),tR=r=>{const{themeColor:e}=Mn(),[t,n]=Te.useState(!1);return ue.jsx(ul,{...r,children:({data:a,isActive:i,isLowZoom:o})=>{var h,g,p,E,m,b,w,x;const s=Q2(a,e),l=Object.entries(a.description||{}).length>0,u=hq(a.description),c=(g=(h=r.data)==null?void 0:h.config)==null?void 0:g.icon,d=(E=(p=r.data)==null?void 0:p.config)==null?void 0:E.content;return ue.jsx(De.Flex,{justifyContent:"space-between",...a==null?void 0:a.viewProps,direction:"column",p:0,borderRadius:(m=a==null?void 0:a.viewProps)==null?void 0:m.borderRadius,overflow:"hidden",alignItems:"center",style:{backgroundColor:s.hexbgColor,transition:"border-color 0.2s ease-in-out"},width:"100%",borderColor:i?"white":s.hexborderColor,_hover:{borderColor:"white"},borderWidth:3,children:ue.jsxs(De.Flex,{width:"100%",direction:"column",borderRadius:(b=a==null?void 0:a.viewProps)==null?void 0:b.borderRadius,borderColor:s.hexborderColor,borderWidth:0,overflow:"hidden",children:[a.headerTitle&&ue.jsxs(De.Flex,{justify:"flex-start",direction:"row",p:Object.entries(a.description||{}).length?8:20,borderBottomWidth:1,minWidth:"max-content !important",width:"100%",textTransform:"capitalize",align:d?"left":"center",textOverflow:"ellipsis",alignItems:"center",fontWeight:"bold",color:s.propertyColor,bgColor:s.highlightColor,borderBottomColor:!l&&!d?"transparent":s.hexborderColor,children:[!!c&&ue.jsx(De.Box,{mr:8,justifyContent:"flex-start",height:"100%",w:50,alignItems:"center",rounded:"full",children:ue.jsx(Pm,{name:c,size:80,color:s.hextextColor},s.hextextColor)}),ue.jsx(De.Text,{fontSize:"5xl",lineClamp:2,textOverflow:"ellipsis",whiteSpace:"nowrap",color:(w=a==null?void 0:a.viewProps)==null?void 0:w.textColor,children:J2(a.headerTitle)}),!!d&&ue.jsx(De.Box,{ml:10,onClick:()=>n(!t),children:t?ue.jsx(Hr.PiGear,{size:30,style:{cursor:"pointer"}}):ue.jsx(Hr.PiNotepad,{size:30,style:{cursor:"pointer"}})})]}),d&&!t?ue.jsx(De.Flex,{w:"100%",overflow:"auto",justifyContent:"start",background:s.highlightColor,p:10,fontSize:"5xl",lineHeight:"normal",cursor:"text",children:ue.jsx(De.Text,{whiteSpace:"pre-wrap",overflow:"hidden",textOverflow:"ellipsis",color:(x=a==null?void 0:a.viewProps)==null?void 0:x.textColor,children:d})}):ue.jsx(De.Box,{children:Object.entries(a.description||{}).map(([C,T],S)=>{var P,D;const _=In(s.wordBeforeDot)[typeof T],A=In(s.wordBeforeDot).property;return ue.jsxs(De.Box,{children:[ue.jsxs(De.Flex,{flexWrap:"nowrap",overflow:"hidden",children:[ue.jsx(De.Flex,{justifyContent:"start",align:"center",background:s.highlightColor,width:`${u}px`,minWidth:`${u}px`,borderRightColor:s.hexborderColor,borderRightWidth:1,children:ue.jsx(De.Text,{py:5,px:10,w:"100%",whiteSpace:"nowrap",fontWeight:"bold",fontSize:"4xl",color:((P=a==null?void 0:a.viewProps)==null?void 0:P.textColor)||A,children:C})}),ue.jsx(De.Flex,{flex:1,justifyContent:"start",overflow:"hidden",p:4,background:s.hexbgColor,w:600,maxH:200,children:ue.jsx(De.Text,{overflow:"hidden",py:3,px:4,whiteSpace:"normal",textOverflow:"ellipsis",fontSize:"4xl",color:((D=a==null?void 0:a.viewProps)==null?void 0:D.textColor)||_,fontWeight:400,children:vq(T)})})]}),S!==Object.entries(a.description||{}).length-1&&ue.jsx(De.Box,{borderTopWidth:1,my:0,borderColor:s.hexborderColor})]},S)})})]})})}})},nR=r=>{const{themeColor:e}=Mn();return ue.jsx(ul,{...r,children:({data:t,isActive:n})=>{var o,s,l,u;const a=Q2(t,e),i=(s=(o=r.data)==null?void 0:o.config)==null?void 0:s.icon;return ue.jsx(De.Flex,{justifyContent:"space-between",...t==null?void 0:t.viewProps,direction:"column",p:0,borderRadius:((l=t==null?void 0:t.viewProps)==null?void 0:l.borderRadius)||15,overflow:"hidden",bgColor:a.bgColor,position:"absolute",top:0,left:0,right:0,bottom:0,alignItems:"center",style:{backgroundColor:a.hexbgColor,transition:"border-color 0.2s ease-in-out"},borderColor:n?"white":a.hexborderColor,_hover:{borderColor:"white"},borderWidth:3,children:t.headerTitle&&ue.jsxs(De.Flex,{justify:"flex-start",direction:"row",p:20,borderBottomWidth:1,minWidth:"max-content !important",width:"100%",textTransform:"capitalize",align:"center",alignItems:"center",fontWeight:"bold",color:a.propertyColor,bgColor:a.highlightColor,borderBottomColor:a.hexborderColor,children:[!!i&&ue.jsx(De.Box,{mr:8,justifyContent:"flex-start",height:"100%",w:50,alignItems:"center",rounded:"full",children:ue.jsx(Pm,{name:i,size:80,color:a.hextextColor},a.hextextColor)}),ue.jsx(De.Text,{fontSize:"5xl",lineClamp:2,textOverflow:"ellipsis",whiteSpace:"nowrap",color:(u=t==null?void 0:t.viewProps)==null?void 0:u.textColor,children:J2(t.headerTitle)})]})})}})};eR.displayName="text";rR.displayName="arrayView";tR.displayName="NodeJsonObjectView";nR.displayName="ParentContainerView";const gq={objectView:tR,arrayView:rR,text:eR,parentContainer:nR},pq=r=>[{selector:"node",style:{"outline-opacity":0,"background-opacity":0,"background-color":"transparent","border-color":"transparent",color:"transparent","border-opacity":0,"text-valign":"center","text-halign":"center","border-width":0,"outline-width":0,width:60,height:60}},{selector:"node:selected",style:{"overlay-opacity":0,"overlay-color":"transparent"}},{selector:"node:active",style:{"overlay-opacity":0,"overlay-color":"transparent"}},{selector:":parent",style:{shape:"round-rectangle","background-opacity":.4,"corner-radius":50,"line-color":r("light"),"background-color":r(),"border-color":r(),"border-width":6,"border-style":"solid","border-opacity":1,padding:"120px","text-valign":"top","font-size":"70px","font-weight":"bold","text-margin-y":90,"text-background-opacity":0,"text-background-padding":"45px","z-index":1e3,"compound-sizing-wrt-labels":"include",label:"data(label)"}},{selector:"edge",style:{width:6,label:"data(label)","z-index":-100,"control-point-step-size":10,"taxi-direction":"horizontal","curve-style":"round-taxi","edge-distances":"intersection","line-color":r("light"),color:r("light"),"text-rotation":"autorotate","target-arrow-color":r("light"),"source-arrow-color":r("light"),"target-arrow-shape":"triangle","arrow-scale":"3","text-background-color":r("dark"),"text-background-opacity":1,"text-background-padding":"15px","taxi-radius":500,"source-arrow-fill":"filled","target-arrow-fill":"filled","text-max-width":"200px","font-size":"45px","text-wrap":"wrap","text-margin-x":50,"transition-duration":"0.5s","source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","source-distance-from-node":80,"target-distance-from-node":80}}],cc=(r,e,t,n)=>{if(!r)return{controlPointDistances:[0],controlPointWeights:[.5]};const a=r.edges().filter(u=>{const c=u.data();return c.source===e&&c.target===t||c.source===t&&c.target===e});if(a.length<=1)return{controlPointDistances:[0],controlPointWeights:[.5]};let i=0;a.forEach((u,c)=>{u.data().id===n&&(i=c)});const o=a.length;return{controlPointDistances:[(i-(o-1)/2)*60],controlPointWeights:[.5]}},yq=r=>{const n=1/(Math.cbrt(r)*.8);let a=Math.round(650*n),i=Math.round(350*n);return a=Math.max(40,Math.min(450,a)),i=Math.max(30,Math.min(300,i)),{edgeSep:a,rankSep:i}};function mq({cytoInstance:r,id:e,source:t,type:n,target:a,label:i,children:o,layout:s,styleCallback:l,isPerformanceMode:u}){const c=Te.useRef(null),d=Te.useRef(null),[h,g]=Te.useState(2);let p,E;function m(S){if(l){const _=l(S,t,a);p=_.hasOwnProperty("line-style"),E=_.hasOwnProperty("source-arrow-shape"),S.style(_)}}const b=Te.useCallback(()=>{if(!p||u)return;const S=r.getElementById(e);if(S.length===0)return;const D=Date.now()*.1%(20*50),I=E?D:-D;S.style("line-dash-offset",I),d.current=requestAnimationFrame(b)},[p,r,e,E,u]);function w(S){const _=cc(r,t,a,e),A=r.add({data:{...S,controlPointDistances:_.controlPointDistances,controlPointWeights:_.controlPointWeights}});m(A),p&&(d.current=requestAnimationFrame(b))}function x(S,_){let A=2;return r.getElementById(S).length===1&&(A-=1),r.getElementById(_).length===1&&(A-=1),A}if(Te.useEffect(()=>{if(x(t,a)===0){const _=r.getElementById(e);if(_.length===0){const A=cc(r,t,a,e),P=r.add({data:{id:e,source:t,target:a,label:i,type:n,controlPointDistances:A.controlPointDistances,controlPointWeights:A.controlPointWeights}});m(P),p&&(d.current=requestAnimationFrame(b))}else{const A=cc(r,t,a,e);_.data({source:t,target:a,label:i,type:n,controlPointDistances:A.controlPointDistances,controlPointWeights:A.controlPointWeights}),m(_)}}},[t,a,e,i,n,r,p,b]),Te.useEffect(()=>{function S(A){const P=A.target.id();if(P===t||P===a){const D=x(t,a);D!==h&&g(D),D===0&&w({id:e,source:t,target:a,label:i,type:n})}}function _(A){const P=A.target.id();if(P===t||P===a){const D=x(t,a);D!==h&&g(D),D>0&&(r.getElementById(e).remove(),d.current&&cancelAnimationFrame(d.current))}}return r.on("add","node",S),r.on("remove","node",_),p&&h===0&&(d.current=requestAnimationFrame(b)),()=>{r.getElementById(e).remove(),r.off("add","node",S),r.off("remove","node",_),d.current&&cancelAnimationFrame(d.current)}},[]),Te.useEffect(()=>(p&&h===0?d.current||(d.current=requestAnimationFrame(b)):!p&&d.current&&(cancelAnimationFrame(d.current),d.current=null),()=>{d.current&&cancelAnimationFrame(d.current)}),[p,h,b]),Te.useEffect(()=>{s()},[e,o]),Te.useEffect(()=>{if(!h){const S=r.getElementById(e);m(S)}},[l,h]),h>0)return null;function C(S){return Te.cloneElement(S,{cytoInstance:r,layout:s})}const T=Te.Children.map(o,C);return ue.jsx("div",{ref:c,className:"cytoscape-react-edge",children:T})}function lm(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function bq(r){if(Array.isArray(r))return r}function wq(r){if(Array.isArray(r))return lm(r)}function La(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function xq(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,iR(n.key),n)}}function Oa(r,e,t){return e&&xq(r.prototype,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function $t(r,e){var t=typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=Dm(r))||e){t&&(r=t);var n=0,a=function(){};return{s:a,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(l){throw l},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,o=!0,s=!1;return{s:function(){t=t.call(r)},n:function(){var l=t.next();return o=l.done,l},e:function(l){s=!0,i=l},f:function(){try{o||t.return==null||t.return()}finally{if(s)throw i}}}}function aR(r,e,t){return(e=iR(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Eq(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Cq(r,e){var t=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,a,i,o,s=[],l=!0,u=!1;try{if(i=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=i.call(t)).done)&&(s.push(n.value),s.length!==e);l=!0);}catch(c){u=!0,a=c}finally{try{if(!l&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}function _q(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sq(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
4
4
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Yr(r,e){return bq(r)||Cq(r,e)||Dm(r,e)||_q()}function Hu(r){return wq(r)||Eq(r)||Dm(r)||Sq()}function Tq(r,e){if(typeof r!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function iR(r){var e=Tq(r,"string");return typeof e=="symbol"?e:e+""}function tt(r){"@babel/helpers - typeof";return tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tt(r)}function Dm(r,e){if(r){if(typeof r=="string")return lm(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?lm(r,e):void 0}}var et=typeof window>"u"?null:window,G1=et?et.navigator:null;et&&et.document;var Rq=tt(""),oR=tt({}),Aq=tt(function(){}),Pq=typeof HTMLElement>"u"?"undefined":tt(HTMLElement),vs=function(e){return e&&e.instanceString&&Fr(e.instanceString)?e.instanceString():null},Ke=function(e){return e!=null&&tt(e)==Rq},Fr=function(e){return e!=null&&tt(e)===Aq},Sr=function(e){return!Zt(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},pr=function(e){return e!=null&&tt(e)===oR&&!Sr(e)&&e.constructor===Object},Dq=function(e){return e!=null&&tt(e)===oR},ke=function(e){return e!=null&&tt(e)===tt(1)&&!isNaN(e)},Iq=function(e){return ke(e)&&Math.floor(e)===e},Ku=function(e){if(Pq!=="undefined")return e!=null&&e instanceof HTMLElement},Zt=function(e){return hs(e)||sR(e)},hs=function(e){return vs(e)==="collection"&&e._private.single},sR=function(e){return vs(e)==="collection"&&!e._private.single},Im=function(e){return vs(e)==="core"},uR=function(e){return vs(e)==="stylesheet"},Bq=function(e){return vs(e)==="event"},Ta=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},kq=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},Mq=function(e){return pr(e)&&ke(e.x1)&&ke(e.x2)&&ke(e.y1)&&ke(e.y2)},Lq=function(e){return Dq(e)&&Fr(e.then)},Oq=function(){return G1&&G1.userAgent.match(/msie|trident|edge/i)},to=function(e,t){t||(t=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);return i.join("$")});var n=function(){var i=this,o=arguments,s,l=t.apply(i,o),u=n.cache;return(s=u[l])||(s=u[l]=e.apply(i,o)),s};return n.cache={},n},Bm=to(function(r){return r.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),ll=to(function(r){return r.replace(/(-\w)/g,function(e){return e[1].toUpperCase()})}),lR=to(function(r,e){return r+e[0].toUpperCase()+e.substring(1)},function(r,e){return r+"$"+e}),W1=function(e){return Ta(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},wa=function(e,t){return e.slice(-1*t.length)===t},rt="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",qq="rgb[a]?\\(("+rt+"[%]?)\\s*,\\s*("+rt+"[%]?)\\s*,\\s*("+rt+"[%]?)(?:\\s*,\\s*("+rt+"))?\\)",Nq="rgb[a]?\\((?:"+rt+"[%]?)\\s*,\\s*(?:"+rt+"[%]?)\\s*,\\s*(?:"+rt+"[%]?)(?:\\s*,\\s*(?:"+rt+"))?\\)",Fq="hsl[a]?\\(("+rt+")\\s*,\\s*("+rt+"[%])\\s*,\\s*("+rt+"[%])(?:\\s*,\\s*("+rt+"))?\\)",zq="hsl[a]?\\((?:"+rt+")\\s*,\\s*(?:"+rt+"[%])\\s*,\\s*(?:"+rt+"[%])(?:\\s*,\\s*(?:"+rt+"))?\\)",$q="\\#[0-9a-fA-F]{3}",Vq="\\#[0-9a-fA-F]{6}",fR=function(e,t){return e<t?-1:e>t?1:0},Gq=function(e,t){return-1*fR(e,t)},Ye=Object.assign!=null?Object.assign.bind(Object):function(r){for(var e=arguments,t=1;t<e.length;t++){var n=e[t];if(n!=null)for(var a=Object.keys(n),i=0;i<a.length;i++){var o=a[i];r[o]=n[o]}}return r},Wq=function(e){if(!(!(e.length===4||e.length===7)||e[0]!=="#")){var t=e.length===4,n,a,i,o=16;return t?(n=parseInt(e[1]+e[1],o),a=parseInt(e[2]+e[2],o),i=parseInt(e[3]+e[3],o)):(n=parseInt(e[1]+e[2],o),a=parseInt(e[3]+e[4],o),i=parseInt(e[5]+e[6],o)),[n,a,i]}},Uq=function(e){var t,n,a,i,o,s,l,u;function c(p,E,m){return m<0&&(m+=1),m>1&&(m-=1),m<1/6?p+(E-p)*6*m:m<1/2?E:m<2/3?p+(E-p)*(2/3-m)*6:p}var d=new RegExp("^"+Fq+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,a=parseFloat(d[2]),a<0||a>100||(a=a/100,i=parseFloat(d[3]),i<0||i>100)||(i=i/100,o=d[4],o!==void 0&&(o=parseFloat(o),o<0||o>1)))return;if(a===0)s=l=u=Math.round(i*255);else{var h=i<.5?i*(1+a):i+a-i*a,g=2*i-h;s=Math.round(255*c(g,h,n+1/3)),l=Math.round(255*c(g,h,n)),u=Math.round(255*c(g,h,n-1/3))}t=[s,l,u,o]}return t},Hq=function(e){var t,n=new RegExp("^"+qq+"$").exec(e);if(n){t=[];for(var a=[],i=1;i<=3;i++){var o=n[i];if(o[o.length-1]==="%"&&(a[i]=!0),o=parseFloat(o),a[i]&&(o=o/100*255),o<0||o>255)return;t.push(Math.floor(o))}var s=a[1]||a[2]||a[3],l=a[1]&&a[2]&&a[3];if(s&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;t.push(u)}}return t},Kq=function(e){return jq[e.toLowerCase()]},cR=function(e){return(Sr(e)?e:null)||Kq(e)||Wq(e)||Hq(e)||Uq(e)},jq={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},dR=function(e){for(var t=e.map,n=e.keys,a=n.length,i=0;i<a;i++){var o=n[i];if(pr(o))throw Error("Tried to set map with object key");i<n.length-1?(t[o]==null&&(t[o]={}),t=t[o]):t[o]=e.value}},vR=function(e){for(var t=e.map,n=e.keys,a=n.length,i=0;i<a;i++){var o=n[i];if(pr(o))throw Error("Tried to get map with object key");if(t=t[o],t==null)return t}return t},mu=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function gs(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var dc,U1;function ps(){if(U1)return dc;U1=1;function r(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}return dc=r,dc}var vc,H1;function Yq(){if(H1)return vc;H1=1;var r=typeof mu=="object"&&mu&&mu.Object===Object&&mu;return vc=r,vc}var hc,K1;function fl(){if(K1)return hc;K1=1;var r=Yq(),e=typeof self=="object"&&self&&self.Object===Object&&self,t=r||e||Function("return this")();return hc=t,hc}var gc,j1;function Zq(){if(j1)return gc;j1=1;var r=fl(),e=function(){return r.Date.now()};return gc=e,gc}var pc,Y1;function Xq(){if(Y1)return pc;Y1=1;var r=/\s/;function e(t){for(var n=t.length;n--&&r.test(t.charAt(n)););return n}return pc=e,pc}var yc,Z1;function Qq(){if(Z1)return yc;Z1=1;var r=Xq(),e=/^\s+/;function t(n){return n&&n.slice(0,r(n)+1).replace(e,"")}return yc=t,yc}var mc,X1;function km(){if(X1)return mc;X1=1;var r=fl(),e=r.Symbol;return mc=e,mc}var bc,Q1;function Jq(){if(Q1)return bc;Q1=1;var r=km(),e=Object.prototype,t=e.hasOwnProperty,n=e.toString,a=r?r.toStringTag:void 0;function i(o){var s=t.call(o,a),l=o[a];try{o[a]=void 0;var u=!0}catch{}var c=n.call(o);return u&&(s?o[a]=l:delete o[a]),c}return bc=i,bc}var wc,J1;function eN(){if(J1)return wc;J1=1;var r=Object.prototype,e=r.toString;function t(n){return e.call(n)}return wc=t,wc}var xc,ew;function hR(){if(ew)return xc;ew=1;var r=km(),e=Jq(),t=eN(),n="[object Null]",a="[object Undefined]",i=r?r.toStringTag:void 0;function o(s){return s==null?s===void 0?a:n:i&&i in Object(s)?e(s):t(s)}return xc=o,xc}var Ec,rw;function rN(){if(rw)return Ec;rw=1;function r(e){return e!=null&&typeof e=="object"}return Ec=r,Ec}var Cc,tw;function ys(){if(tw)return Cc;tw=1;var r=hR(),e=rN(),t="[object Symbol]";function n(a){return typeof a=="symbol"||e(a)&&r(a)==t}return Cc=n,Cc}var _c,nw;function tN(){if(nw)return _c;nw=1;var r=Qq(),e=ps(),t=ys(),n=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,s=parseInt;function l(u){if(typeof u=="number")return u;if(t(u))return n;if(e(u)){var c=typeof u.valueOf=="function"?u.valueOf():u;u=e(c)?c+"":c}if(typeof u!="string")return u===0?u:+u;u=r(u);var d=i.test(u);return d||o.test(u)?s(u.slice(2),d?2:8):a.test(u)?n:+u}return _c=l,_c}var Sc,aw;function nN(){if(aw)return Sc;aw=1;var r=ps(),e=Zq(),t=tN(),n="Expected a function",a=Math.max,i=Math.min;function o(s,l,u){var c,d,h,g,p,E,m=0,b=!1,w=!1,x=!0;if(typeof s!="function")throw new TypeError(n);l=t(l)||0,r(u)&&(b=!!u.leading,w="maxWait"in u,h=w?a(t(u.maxWait)||0,l):h,x="trailing"in u?!!u.trailing:x);function C(k){var N=c,z=d;return c=d=void 0,m=k,g=s.apply(z,N),g}function T(k){return m=k,p=setTimeout(A,l),b?C(k):g}function S(k){var N=k-E,z=k-m,W=l-N;return w?i(W,h-z):W}function _(k){var N=k-E,z=k-m;return E===void 0||N>=l||N<0||w&&z>=h}function A(){var k=e();if(_(k))return P(k);p=setTimeout(A,S(k))}function P(k){return p=void 0,x&&c?C(k):(c=d=void 0,g)}function D(){p!==void 0&&clearTimeout(p),m=0,c=E=d=p=void 0}function I(){return p===void 0?g:P(e())}function M(){var k=e(),N=_(k);if(c=arguments,d=this,E=k,N){if(p===void 0)return T(E);if(w)return clearTimeout(p),p=setTimeout(A,l),C(E)}return p===void 0&&(p=setTimeout(A,l)),g}return M.cancel=D,M.flush=I,M}return Sc=o,Sc}var aN=nN(),ms=gs(aN),Tc=et?et.performance:null,gR=Tc&&Tc.now?function(){return Tc.now()}:function(){return Date.now()},iN=(function(){if(et){if(et.requestAnimationFrame)return function(r){et.requestAnimationFrame(r)};if(et.mozRequestAnimationFrame)return function(r){et.mozRequestAnimationFrame(r)};if(et.webkitRequestAnimationFrame)return function(r){et.webkitRequestAnimationFrame(r)};if(et.msRequestAnimationFrame)return function(r){et.msRequestAnimationFrame(r)}}return function(r){r&&setTimeout(function(){r(gR())},1e3/60)}})(),ju=function(e){return iN(e)},Qn=gR,ti=9261,pR=65599,Ui=5381,yR=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ti,n=t,a;a=e.next(),!a.done;)n=n*pR+a.value|0;return n},es=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ti;return t*pR+e|0},rs=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ui;return(t<<5)+t+e|0},oN=function(e,t){return e*2097152+t},pa=function(e){return e[0]*2097152+e[1]},bu=function(e,t){return[es(e[0],t[0]),rs(e[1],t[1])]},iw=function(e,t){var n={value:0,done:!1},a=0,i=e.length,o={next:function(){return a<i?n.value=e[a++]:n.done=!0,n}};return yR(o,t)},oi=function(e,t){var n={value:0,done:!1},a=0,i=e.length,o={next:function(){return a<i?n.value=e.charCodeAt(a++):n.done=!0,n}};return yR(o,t)},mR=function(){return sN(arguments)},sN=function(e){for(var t,n=0;n<e.length;n++){var a=e[n];n===0?t=oi(a):t=oi(a,t)}return t};function uN(r,e,t,n,a){var i=a*Math.PI/180,o=Math.cos(i)*(r-t)-Math.sin(i)*(e-n)+t,s=Math.sin(i)*(r-t)+Math.cos(i)*(e-n)+n;return{x:o,y:s}}var lN=function(e,t,n,a,i,o){return{x:(e-n)*i+n,y:(t-a)*o+a}};function fN(r,e,t){if(t===0)return r;var n=(e.x1+e.x2)/2,a=(e.y1+e.y2)/2,i=e.w/e.h,o=1/i,s=uN(r.x,r.y,n,a,t),l=lN(s.x,s.y,n,a,i,o);return{x:l.x,y:l.y}}var ow=!0,cN=console.warn!=null,dN=console.trace!=null,Mm=Number.MAX_SAFE_INTEGER||9007199254740991,bR=function(){return!0},Yu=function(){return!1},sw=function(){return 0},Lm=function(){},Lr=function(e){throw new Error(e)},wR=function(e){if(e!==void 0)ow=!!e;else return ow},Er=function(e){wR()&&(cN?console.warn(e):(console.log(e),dN&&console.trace()))},vN=function(e){return Ye({},e)},Bn=function(e){return e==null?e:Sr(e)?e.slice():pr(e)?vN(e):e},hN=function(e){return e.slice()},xR=function(e,t){for(t=e="";e++<36;t+=e*51&52?(e^15?8^Math.random()*(e^20?16:4):4).toString(16):"-");return t},gN={},ER=function(){return gN},yt=function(e){var t=Object.keys(e);return function(n){for(var a={},i=0;i<t.length;i++){var o=t[i],s=n==null?void 0:n[o];a[o]=s===void 0?e[o]:s}return a}},Ra=function(e,t,n){for(var a=e.length-1;a>=0;a--)e[a]===t&&e.splice(a,1)},Om=function(e){e.splice(0,e.length)},pN=function(e,t){for(var n=0;n<t.length;n++){var a=t[n];e.push(a)}},Ft=function(e,t,n){return n&&(t=lR(n,t)),e[t]},Zn=function(e,t,n,a){n&&(t=lR(n,t)),e[t]=a},yN=(function(){function r(){La(this,r),this._obj={}}return Oa(r,[{key:"set",value:function(t,n){return this._obj[t]=n,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return this._obj[t]!==void 0}},{key:"get",value:function(t){return this._obj[t]}}])})(),Xn=typeof Map<"u"?Map:yN,mN="undefined",bN=(function(){function r(e){if(La(this,r),this._obj=Object.create(null),this.size=0,e!=null){var t;e.instanceString!=null&&e.instanceString()===this.instanceString()?t=e.toArray():t=e;for(var n=0;n<t.length;n++)this.add(t[n])}}return Oa(r,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(t){var n=this._obj;n[t]!==1&&(n[t]=1,this.size++)}},{key:"delete",value:function(t){var n=this._obj;n[t]===1&&(n[t]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(t){return this._obj[t]===1}},{key:"toArray",value:function(){var t=this;return Object.keys(this._obj).filter(function(n){return t.has(n)})}},{key:"forEach",value:function(t,n){return this.toArray().forEach(t,n)}}])})(),io=(typeof Set>"u"?"undefined":tt(Set))!==mN?Set:bN,cl=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||t===void 0||!Im(e)){Lr("An element must have a core reference and parameters set");return}var a=t.group;if(a==null&&(t.data&&t.data.source!=null&&t.data.target!=null?a="edges":a="nodes"),a!=="nodes"&&a!=="edges"){Lr("An element must be of type `nodes` or `edges`; you specified `"+a+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:a,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:t.selectable===void 0?!0:!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:t.grabbable===void 0?!0:!!t.grabbable,pannable:t.pannable===void 0?a==="edges":!!t.pannable,active:!1,classes:new io,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),t.renderedPosition){var o=t.renderedPosition,s=e.pan(),l=e.zoom();i.position={x:(o.x-s.x)/l,y:(o.y-s.y)/l}}var u=[];Sr(t.classes)?u=t.classes:Ke(t.classes)&&(u=t.classes.split(/\s+/));for(var c=0,d=u.length;c<d;c++){var h=u[c];!h||h===""||i.classes.add(h)}this.createEmitter(),(n===void 0||n)&&this.restore();var g=t.style||t.css;g&&(Er("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(g))},uw=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(n,a,i){var o;pr(n)&&!Zt(n)&&(o=n,n=o.roots||o.root,a=o.visit,i=o.directed),i=arguments.length===2&&!Fr(a)?a:i,a=Fr(a)?a:function(){};for(var s=this._private.cy,l=n=Ke(n)?this.filter(n):n,u=[],c=[],d={},h={},g={},p=0,E,m=this.byGroup(),b=m.nodes,w=m.edges,x=0;x<l.length;x++){var C=l[x],T=C.id();C.isNode()&&(u.unshift(C),e.bfs&&(g[T]=!0,c.push(C)),h[T]=0)}for(var S=function(){var k=e.bfs?u.shift():u.pop(),N=k.id();if(e.dfs){if(g[N])return 0;g[N]=!0,c.push(k)}var z=h[N],W=d[N],q=W!=null?W.source():null,$=W!=null?W.target():null,X=W==null?void 0:k.same(q)?$[0]:q[0],Y;if(Y=a(k,W,X,p++,z),Y===!0)return E=k,1;if(Y===!1)return 1;for(var K=k.connectedEdges().filter(function(j){return(!i||j.source().same(k))&&w.has(j)}),ee=0;ee<K.length;ee++){var le=K[ee],G=le.connectedNodes().filter(function(j){return!j.same(k)&&b.has(j)}),V=G.id();G.length!==0&&!g[V]&&(G=G[0],u.push(G),e.bfs&&(g[V]=!0,c.push(G)),d[V]=le,h[V]=h[N]+1)}},_;u.length!==0&&(_=S(),!(_!==0&&_===1)););for(var A=s.collection(),P=0;P<c.length;P++){var D=c[P],I=d[D.id()];I!=null&&A.push(I),A.push(D)}return{path:s.collection(A),found:s.collection(E)}}},ts={breadthFirstSearch:uw({bfs:!0}),depthFirstSearch:uw({dfs:!0})};ts.bfs=ts.breadthFirstSearch;ts.dfs=ts.depthFirstSearch;var Bu={exports:{}},wN=Bu.exports,lw;function xN(){return lw||(lw=1,(function(r,e){(function(){var t,n,a,i,o,s,l,u,c,d,h,g,p,E,m;a=Math.floor,d=Math.min,n=function(b,w){return b<w?-1:b>w?1:0},c=function(b,w,x,C,T){var S;if(x==null&&(x=0),T==null&&(T=n),x<0)throw new Error("lo must be non-negative");for(C==null&&(C=b.length);x<C;)S=a((x+C)/2),T(w,b[S])<0?C=S:x=S+1;return[].splice.apply(b,[x,x-x].concat(w)),w},s=function(b,w,x){return x==null&&(x=n),b.push(w),E(b,0,b.length-1,x)},o=function(b,w){var x,C;return w==null&&(w=n),x=b.pop(),b.length?(C=b[0],b[0]=x,m(b,0,w)):C=x,C},u=function(b,w,x){var C;return x==null&&(x=n),C=b[0],b[0]=w,m(b,0,x),C},l=function(b,w,x){var C;return x==null&&(x=n),b.length&&x(b[0],w)<0&&(C=[b[0],w],w=C[0],b[0]=C[1],m(b,0,x)),w},i=function(b,w){var x,C,T,S,_,A;for(w==null&&(w=n),S=(function(){A=[];for(var P=0,D=a(b.length/2);0<=D?P<D:P>D;0<=D?P++:P--)A.push(P);return A}).apply(this).reverse(),_=[],C=0,T=S.length;C<T;C++)x=S[C],_.push(m(b,x,w));return _},p=function(b,w,x){var C;if(x==null&&(x=n),C=b.indexOf(w),C!==-1)return E(b,0,C,x),m(b,C,x)},h=function(b,w,x){var C,T,S,_,A;if(x==null&&(x=n),T=b.slice(0,w),!T.length)return T;for(i(T,x),A=b.slice(w),S=0,_=A.length;S<_;S++)C=A[S],l(T,C,x);return T.sort(x).reverse()},g=function(b,w,x){var C,T,S,_,A,P,D,I,M;if(x==null&&(x=n),w*10<=b.length){if(S=b.slice(0,w).sort(x),!S.length)return S;for(T=S[S.length-1],D=b.slice(w),_=0,P=D.length;_<P;_++)C=D[_],x(C,T)<0&&(c(S,C,0,null,x),S.pop(),T=S[S.length-1]);return S}for(i(b,x),M=[],A=0,I=d(w,b.length);0<=I?A<I:A>I;0<=I?++A:--A)M.push(o(b,x));return M},E=function(b,w,x,C){var T,S,_;for(C==null&&(C=n),T=b[x];x>w;){if(_=x-1>>1,S=b[_],C(T,S)<0){b[x]=S,x=_;continue}break}return b[x]=T},m=function(b,w,x){var C,T,S,_,A;for(x==null&&(x=n),T=b.length,A=w,S=b[w],C=2*w+1;C<T;)_=C+1,_<T&&!(x(b[C],b[_])<0)&&(C=_),b[w]=b[C],w=C,C=2*w+1;return b[w]=S,E(b,A,w,x)},t=(function(){b.push=s,b.pop=o,b.replace=u,b.pushpop=l,b.heapify=i,b.updateItem=p,b.nlargest=h,b.nsmallest=g;function b(w){this.cmp=w??n,this.nodes=[]}return b.prototype.push=function(w){return s(this.nodes,w,this.cmp)},b.prototype.pop=function(){return o(this.nodes,this.cmp)},b.prototype.peek=function(){return this.nodes[0]},b.prototype.contains=function(w){return this.nodes.indexOf(w)!==-1},b.prototype.replace=function(w){return u(this.nodes,w,this.cmp)},b.prototype.pushpop=function(w){return l(this.nodes,w,this.cmp)},b.prototype.heapify=function(){return i(this.nodes,this.cmp)},b.prototype.updateItem=function(w){return p(this.nodes,w,this.cmp)},b.prototype.clear=function(){return this.nodes=[]},b.prototype.empty=function(){return this.nodes.length===0},b.prototype.size=function(){return this.nodes.length},b.prototype.clone=function(){var w;return w=new b,w.nodes=this.nodes.slice(0),w},b.prototype.toArray=function(){return this.nodes.slice(0)},b.prototype.insert=b.prototype.push,b.prototype.top=b.prototype.peek,b.prototype.front=b.prototype.peek,b.prototype.has=b.prototype.contains,b.prototype.copy=b.prototype.clone,b})(),(function(b,w){return r.exports=w()})(this,function(){return t})}).call(wN)})(Bu)),Bu.exports}var Rc,fw;function EN(){return fw||(fw=1,Rc=xN()),Rc}var CN=EN(),bs=gs(CN),_N=yt({root:null,weight:function(e){return 1},directed:!1}),SN={dijkstra:function(e){if(!pr(e)){var t=arguments;e={root:t[0],weight:t[1],directed:t[2]}}var n=_N(e),a=n.root,i=n.weight,o=n.directed,s=this,l=i,u=Ke(a)?this.filter(a)[0]:a[0],c={},d={},h={},g=this.byGroup(),p=g.nodes,E=g.edges;E.unmergeBy(function(z){return z.isLoop()});for(var m=function(W){return c[W.id()]},b=function(W,q){c[W.id()]=q,w.updateItem(W)},w=new bs(function(z,W){return m(z)-m(W)}),x=0;x<p.length;x++){var C=p[x];c[C.id()]=C.same(u)?0:1/0,w.push(C)}for(var T=function(W,q){for(var $=(o?W.edgesTo(q):W.edgesWith(q)).intersect(E),X=1/0,Y,K=0;K<$.length;K++){var ee=$[K],le=l(ee);(le<X||!Y)&&(X=le,Y=ee)}return{edge:Y,dist:X}};w.size()>0;){var S=w.pop(),_=m(S),A=S.id();if(h[A]=_,_!==1/0)for(var P=S.neighborhood().intersect(p),D=0;D<P.length;D++){var I=P[D],M=I.id(),k=T(S,I),N=_+k.dist;N<m(I)&&(b(I,N),d[M]={node:S,edge:k.edge})}}return{distanceTo:function(W){var q=Ke(W)?p.filter(W)[0]:W[0];return h[q.id()]},pathTo:function(W){var q=Ke(W)?p.filter(W)[0]:W[0],$=[],X=q,Y=X.id();if(q.length>0)for($.unshift(q);d[Y];){var K=d[Y];$.unshift(K.edge),$.unshift(K.node),X=K.node,Y=X.id()}return s.spawn($)}}}},TN={kruskal:function(e){e=e||function(x){return 1};for(var t=this.byGroup(),n=t.nodes,a=t.edges,i=n.length,o=new Array(i),s=n,l=function(C){for(var T=0;T<o.length;T++){var S=o[T];if(S.has(C))return T}},u=0;u<i;u++)o[u]=this.spawn(n[u]);for(var c=a.sort(function(x,C){return e(x)-e(C)}),d=0;d<c.length;d++){var h=c[d],g=h.source()[0],p=h.target()[0],E=l(g),m=l(p),b=o[E],w=o[m];E!==m&&(s.merge(h),b.merge(w),o.splice(m,1))}return s}},RN=yt({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),AN={aStar:function(e){var t=this.cy(),n=RN(e),a=n.root,i=n.goal,o=n.heuristic,s=n.directed,l=n.weight;a=t.collection(a)[0],i=t.collection(i)[0];var u=a.id(),c=i.id(),d={},h={},g={},p=new bs(function(Y,K){return h[Y.id()]-h[K.id()]}),E=new io,m={},b={},w=function(K,ee){p.push(K),E.add(ee)},x,C,T=function(){x=p.pop(),C=x.id(),E.delete(C)},S=function(K){return E.has(K)};w(a,u),d[u]=0,h[u]=o(a);for(var _=0;p.size()>0;){if(T(),_++,C===c){for(var A=[],P=i,D=c,I=b[D];A.unshift(P),I!=null&&A.unshift(I),P=m[D],P!=null;)D=P.id(),I=b[D];return{found:!0,distance:d[C],path:this.spawn(A),steps:_}}g[C]=!0;for(var M=x._private.edges,k=0;k<M.length;k++){var N=M[k];if(this.hasElementWithId(N.id())&&!(s&&N.data("source")!==C)){var z=N.source(),W=N.target(),q=z.id()!==C?z:W,$=q.id();if(this.hasElementWithId($)&&!g[$]){var X=d[C]+l(N);if(!S($)){d[$]=X,h[$]=X+o(q),w(q,$),m[$]=x,b[$]=N;continue}X<d[$]&&(d[$]=X,h[$]=X+o(q),m[$]=x,b[$]=N)}}}}return{found:!1,distance:void 0,path:void 0,steps:_}}},PN=yt({weight:function(e){return 1},directed:!1}),DN={floydWarshall:function(e){for(var t=this.cy(),n=PN(e),a=n.weight,i=n.directed,o=a,s=this.byGroup(),l=s.nodes,u=s.edges,c=l.length,d=c*c,h=function(le){return l.indexOf(le)},g=function(le){return l[le]},p=new Array(d),E=0;E<d;E++){var m=E%c,b=(E-m)/c;b===m?p[E]=0:p[E]=1/0}for(var w=new Array(d),x=new Array(d),C=0;C<u.length;C++){var T=u[C],S=T.source()[0],_=T.target()[0];if(S!==_){var A=h(S),P=h(_),D=A*c+P,I=o(T);if(p[D]>I&&(p[D]=I,w[D]=P,x[D]=T),!i){var M=P*c+A;!i&&p[M]>I&&(p[M]=I,w[M]=A,x[M]=T)}}}for(var k=0;k<c;k++)for(var N=0;N<c;N++)for(var z=N*c+k,W=0;W<c;W++){var q=N*c+W,$=k*c+W;p[z]+p[$]<p[q]&&(p[q]=p[z]+p[$],w[q]=w[z])}var X=function(le){return(Ke(le)?t.filter(le):le)[0]},Y=function(le){return h(X(le))},K={distance:function(le,G){var V=Y(le),j=Y(G);return p[V*c+j]},path:function(le,G){var V=Y(le),j=Y(G),re=g(V);if(V===j)return re.collection();if(w[V*c+j]==null)return t.collection();var ce=t.collection(),se=V,Z;for(ce.merge(re);V!==j;)se=V,V=w[V*c+j],Z=x[se*c+V],ce.merge(Z),ce.merge(g(V));return ce}};return K}},IN=yt({weight:function(e){return 1},directed:!1,root:null}),BN={bellmanFord:function(e){var t=this,n=IN(e),a=n.weight,i=n.directed,o=n.root,s=a,l=this,u=this.cy(),c=this.byGroup(),d=c.edges,h=c.nodes,g=h.length,p=new Xn,E=!1,m=[];o=u.collection(o)[0],d.unmergeBy(function(U){return U.isLoop()});for(var b=d.length,w=function(fe){var we=p.get(fe.id());return we||(we={},p.set(fe.id(),we)),we},x=function(fe){return(Ke(fe)?u.$(fe):fe)[0]},C=function(fe){return w(x(fe)).dist},T=function(fe){for(var we=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o,ge=x(fe),me=[],Re=ge;;){if(Re==null)return t.spawn();var Ie=w(Re),Be=Ie.edge,Oe=Ie.pred;if(me.unshift(Re[0]),Re.same(we)&&me.length>0)break;Be!=null&&me.unshift(Be),Re=Oe}return l.spawn(me)},S=0;S<g;S++){var _=h[S],A=w(_);_.same(o)?A.dist=0:A.dist=1/0,A.pred=null,A.edge=null}for(var P=!1,D=function(fe,we,ge,me,Re,Ie){var Be=me.dist+Ie;Be<Re.dist&&!ge.same(me.edge)&&(Re.dist=Be,Re.pred=fe,Re.edge=ge,P=!0)},I=1;I<g;I++){P=!1;for(var M=0;M<b;M++){var k=d[M],N=k.source(),z=k.target(),W=s(k),q=w(N),$=w(z);D(N,z,k,q,$,W),i||D(z,N,k,$,q,W)}if(!P)break}if(P)for(var X=[],Y=0;Y<b;Y++){var K=d[Y],ee=K.source(),le=K.target(),G=s(K),V=w(ee).dist,j=w(le).dist;if(V+G<j||!i&&j+G<V)if(E||(Er("Graph contains a negative weight cycle for Bellman-Ford"),E=!0),e.findNegativeWeightCycles!==!1){var re=[];V+G<j&&re.push(ee),!i&&j+G<V&&re.push(le);for(var ce=re.length,se=0;se<ce;se++){var Z=re[se],Q=[Z];Q.push(w(Z).edge);for(var ae=w(Z).pred;Q.indexOf(ae)===-1;)Q.push(ae),Q.push(w(ae).edge),ae=w(ae).pred;Q=Q.slice(Q.indexOf(ae));for(var ne=Q[0].id(),de=0,Ce=2;Ce<Q.length;Ce+=2)Q[Ce].id()<ne&&(ne=Q[Ce].id(),de=Ce);Q=Q.slice(de).concat(Q.slice(0,de)),Q.push(Q[0]);var ve=Q.map(function(U){return U.id()}).join(",");X.indexOf(ve)===-1&&(m.push(l.spawn(Q)),X.push(ve))}}else break}return{distanceTo:C,pathTo:T,hasNegativeWeightCycle:E,negativeWeightCycles:m}}},kN=Math.sqrt(2),MN=function(e,t,n){n.length===0&&Lr("Karger-Stein must be run on a connected (sub)graph");for(var a=n[e],i=a[1],o=a[2],s=t[i],l=t[o],u=n,c=u.length-1;c>=0;c--){var d=u[c],h=d[1],g=d[2];(t[h]===s&&t[g]===l||t[h]===l&&t[g]===s)&&u.splice(c,1)}for(var p=0;p<u.length;p++){var E=u[p];E[1]===l?(u[p]=E.slice(),u[p][1]=s):E[2]===l&&(u[p]=E.slice(),u[p][2]=s)}for(var m=0;m<t.length;m++)t[m]===l&&(t[m]=s);return u},Ac=function(e,t,n,a){for(;n>a;){var i=Math.floor(Math.random()*t.length);t=MN(i,e,t),n--}return t},LN={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,a=t.edges;a.unmergeBy(function($){return $.isLoop()});var i=n.length,o=a.length,s=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),l=Math.floor(i/kN);if(i<2){Lr("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],c=0;c<o;c++){var d=a[c];u.push([c,n.indexOf(d.source()),n.indexOf(d.target())])}for(var h=1/0,g=[],p=new Array(i),E=new Array(i),m=new Array(i),b=function(X,Y){for(var K=0;K<i;K++)Y[K]=X[K]},w=0;w<=s;w++){for(var x=0;x<i;x++)E[x]=x;var C=Ac(E,u.slice(),i,l),T=C.slice();b(E,m);var S=Ac(E,C,l,2),_=Ac(m,T,l,2);S.length<=_.length&&S.length<h?(h=S.length,g=S,b(E,p)):_.length<=S.length&&_.length<h&&(h=_.length,g=_,b(m,p))}for(var A=this.spawn(g.map(function($){return a[$[0]]})),P=this.spawn(),D=this.spawn(),I=p[0],M=0;M<p.length;M++){var k=p[M],N=n[M];k===I?P.merge(N):D.merge(N)}var z=function(X){var Y=e.spawn();return X.forEach(function(K){Y.merge(K),K.connectedEdges().forEach(function(ee){e.contains(ee)&&!A.contains(ee)&&Y.merge(ee)})}),Y},W=[z(P),z(D)],q={cut:A,components:W,partition1:P,partition2:D};return q}},Pc,ON=function(e){return{x:e.x,y:e.y}},dl=function(e,t,n){return{x:e.x*t+n.x,y:e.y*t+n.y}},CR=function(e,t,n){return{x:(e.x-n.x)/t,y:(e.y-n.y)/t}},Hi=function(e){return{x:e[0],y:e[1]}},qN=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=1/0,i=t;i<n;i++){var o=e[i];isFinite(o)&&(a=Math.min(o,a))}return a},NN=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=-1/0,i=t;i<n;i++){var o=e[i];isFinite(o)&&(a=Math.max(o,a))}return a},FN=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=0,i=0,o=t;o<n;o++){var s=e[o];isFinite(s)&&(a+=s,i++)}return a/i},zN=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;a?e=e.slice(t,n):(n<e.length&&e.splice(n,e.length-n),t>0&&e.splice(0,t));for(var s=0,l=e.length-1;l>=0;l--){var u=e[l];o?isFinite(u)||(e[l]=-1/0,s++):e.splice(l,1)}i&&e.sort(function(h,g){return h-g});var c=e.length,d=Math.floor(c/2);return c%2!==0?e[d+1+s]:(e[d-1+s]+e[d+s])/2},$N=function(e){return Math.PI*e/180},wu=function(e,t){return Math.atan2(t,e)-Math.PI/2},qm=Math.log2||function(r){return Math.log(r)/Math.log(2)},Nm=function(e){return e>0?1:e<0?-1:0},si=function(e,t){return Math.sqrt(ei(e,t))},ei=function(e,t){var n=t.x-e.x,a=t.y-e.y;return n*n+a*a},VN=function(e){for(var t=e.length,n=0,a=0;a<t;a++)n+=e[a];for(var i=0;i<t;i++)e[i]=e[i]/n;return e},ot=function(e,t,n,a){return(1-a)*(1-a)*e+2*(1-a)*a*t+a*a*n},Zi=function(e,t,n,a){return{x:ot(e.x,t.x,n.x,a),y:ot(e.y,t.y,n.y,a)}},GN=function(e,t,n,a){var i={x:t.x-e.x,y:t.y-e.y},o=si(e,t),s={x:i.x/o,y:i.y/o};return n=n??0,a=a??n*o,{x:e.x+s.x*a,y:e.y+s.y*a}},ns=function(e,t,n){return Math.max(e,Math.min(n,t))},Bt=function(e){if(e==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(e.x1!=null&&e.y1!=null){if(e.x2!=null&&e.y2!=null&&e.x2>=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},WN=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},UN=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},HN=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},_R=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},ku=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Mu=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,a,i,o;if(t.length===1)n=a=i=o=t[0];else if(t.length===2)n=i=t[0],o=a=t[1];else if(t.length===4){var s=Yr(t,4);n=s[0],a=s[1],i=s[2],o=s[3]}return e.x1-=o,e.x2+=a,e.y1-=n,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},cw=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},Fm=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2<t.x1||t.x2<e.x1||e.y2<t.y1||t.y2<e.y1||e.y1>t.y2||t.y1>e.y2)},xa=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},dw=function(e,t){return xa(e,t.x,t.y)},SR=function(e,t){return xa(e,t.x1,t.y1)&&xa(e,t.x2,t.y2)},KN=(Pc=Math.hypot)!==null&&Pc!==void 0?Pc:function(r,e){return Math.sqrt(r*r+e*e)};function jN(r,e){if(r.length<3)throw new Error("Need at least 3 vertices");var t=function(A,P){return{x:A.x+P.x,y:A.y+P.y}},n=function(A,P){return{x:A.x-P.x,y:A.y-P.y}},a=function(A,P){return{x:A.x*P,y:A.y*P}},i=function(A,P){return A.x*P.y-A.y*P.x},o=function(A){var P=KN(A.x,A.y);return P===0?{x:0,y:0}:{x:A.x/P,y:A.y/P}},s=function(A){for(var P=0,D=0;D<A.length;D++){var I=A[D],M=A[(D+1)%A.length];P+=I.x*M.y-M.x*I.y}return P/2},l=function(A,P,D,I){var M=n(P,A),k=n(I,D),N=i(M,k);if(Math.abs(N)<1e-9)return t(A,a(M,.5));var z=i(n(D,A),k)/N;return t(A,a(M,z))},u=r.map(function(_){return{x:_.x,y:_.y}});s(u)<0&&u.reverse();for(var c=u.length,d=[],h=0;h<c;h++){var g=u[h],p=u[(h+1)%c],E=n(p,g),m=o({x:E.y,y:-E.x});d.push(m)}for(var b=d.map(function(_,A){var P=t(u[A],a(_,e)),D=t(u[(A+1)%c],a(_,e));return{p1:P,p2:D}}),w=[],x=0;x<c;x++){var C=b[(x-1+c)%c],T=b[x],S=l(C.p1,C.p2,T.p1,T.p2);w.push(S)}return w}function YN(r,e,t,n,a,i){var o=aF(r,e,t,n,a),s=jN(o,i),l=Bt();return s.forEach(function(u){return _R(l,u.x,u.y)}),l}var TR=function(e,t,n,a,i,o,s){var l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?Aa(i,o):l,c=i/2,d=o/2;u=Math.min(u,c,d);var h=u!==c,g=u!==d,p;if(h){var E=n-c+u-s,m=a-d-s,b=n+c-u+s,w=m;if(p=Ea(e,t,n,a,E,m,b,w,!1),p.length>0)return p}if(g){var x=n+c+s,C=a-d+u-s,T=x,S=a+d-u+s;if(p=Ea(e,t,n,a,x,C,T,S,!1),p.length>0)return p}if(h){var _=n-c+u-s,A=a+d+s,P=n+c-u+s,D=A;if(p=Ea(e,t,n,a,_,A,P,D,!1),p.length>0)return p}if(g){var I=n-c-s,M=a-d+u-s,k=I,N=a+d-u+s;if(p=Ea(e,t,n,a,I,M,k,N,!1),p.length>0)return p}var z;{var W=n-c+u,q=a-d+u;if(z=zo(e,t,n,a,W,q,u+s),z.length>0&&z[0]<=W&&z[1]<=q)return[z[0],z[1]]}{var $=n+c-u,X=a-d+u;if(z=zo(e,t,n,a,$,X,u+s),z.length>0&&z[0]>=$&&z[1]<=X)return[z[0],z[1]]}{var Y=n+c-u,K=a+d-u;if(z=zo(e,t,n,a,Y,K,u+s),z.length>0&&z[0]>=Y&&z[1]>=K)return[z[0],z[1]]}{var ee=n-c+u,le=a+d-u;if(z=zo(e,t,n,a,ee,le,u+s),z.length>0&&z[0]<=ee&&z[1]>=le)return[z[0],z[1]]}return[]},ZN=function(e,t,n,a,i,o,s){var l=s,u=Math.min(n,i),c=Math.max(n,i),d=Math.min(a,o),h=Math.max(a,o);return u-l<=e&&e<=c+l&&d-l<=t&&t<=h+l},XN=function(e,t,n,a,i,o,s,l,u){var c={x1:Math.min(n,s,i)-u,x2:Math.max(n,s,i)+u,y1:Math.min(a,l,o)-u,y2:Math.max(a,l,o)+u};return!(e<c.x1||e>c.x2||t<c.y1||t>c.y2)},QN=function(e,t,n,a){n-=a;var i=t*t-4*e*n;if(i<0)return[];var o=Math.sqrt(i),s=2*e,l=(-t+o)/s,u=(-t-o)/s;return[l,u]},JN=function(e,t,n,a,i){var o=1e-5;e===0&&(e=o),t/=e,n/=e,a/=e;var s,l,u,c,d,h,g,p;if(l=(3*n-t*t)/9,u=-(27*a)+t*(9*n-2*(t*t)),u/=54,s=l*l*l+u*u,i[1]=0,g=t/3,s>0){d=u+Math.sqrt(s),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),h=u-Math.sqrt(s),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),i[0]=-g+d+h,g+=(d+h)/2,i[4]=i[2]=-g,g=Math.sqrt(3)*(-h+d)/2,i[3]=g,i[5]=-g;return}if(i[5]=i[3]=0,s===0){p=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),i[0]=-g+2*p,i[4]=i[2]=-(p+g);return}l=-l,c=l*l*l,c=Math.acos(u/Math.sqrt(c)),p=2*Math.sqrt(l),i[0]=-g+p*Math.cos(c/3),i[2]=-g+p*Math.cos((c+2*Math.PI)/3),i[4]=-g+p*Math.cos((c+4*Math.PI)/3)},eF=function(e,t,n,a,i,o,s,l){var u=1*n*n-4*n*i+2*n*s+4*i*i-4*i*s+s*s+a*a-4*a*o+2*a*l+4*o*o-4*o*l+l*l,c=9*n*i-3*n*n-3*n*s-6*i*i+3*i*s+9*a*o-3*a*a-3*a*l-6*o*o+3*o*l,d=3*n*n-6*n*i+n*s-n*e+2*i*i+2*i*e-s*e+3*a*a-6*a*o+a*l-a*t+2*o*o+2*o*t-l*t,h=1*n*i-n*n+n*e-i*e+a*o-a*a+a*t-o*t,g=[];JN(u,c,d,h,g);for(var p=1e-7,E=[],m=0;m<6;m+=2)Math.abs(g[m+1])<p&&g[m]>=0&&g[m]<=1&&E.push(g[m]);E.push(1),E.push(0);for(var b=-1,w,x,C,T=0;T<E.length;T++)w=Math.pow(1-E[T],2)*n+2*(1-E[T])*E[T]*i+E[T]*E[T]*s,x=Math.pow(1-E[T],2)*a+2*(1-E[T])*E[T]*o+E[T]*E[T]*l,C=Math.pow(w-e,2)+Math.pow(x-t,2),b>=0?C<b&&(b=C):b=C;return b},rF=function(e,t,n,a,i,o){var s=[e-n,t-a],l=[i-n,o-a],u=l[0]*l[0]+l[1]*l[1],c=s[0]*s[0]+s[1]*s[1],d=s[0]*l[0]+s[1]*l[1],h=d*d/u;return d<0?c:h>u?(e-i)*(e-i)+(t-o)*(t-o):c-h},zt=function(e,t,n){for(var a,i,o,s,l,u=0,c=0;c<n.length/2;c++)if(a=n[c*2],i=n[c*2+1],c+1<n.length/2?(o=n[(c+1)*2],s=n[(c+1)*2+1]):(o=n[(c+1-n.length/2)*2],s=n[(c+1-n.length/2)*2+1]),!(a==e&&o==e))if(a>=e&&e>=o||a<=e&&e<=o)l=(e-a)/(o-a)*(s-i)+i,l>t&&u++;else continue;return u%2!==0},Jn=function(e,t,n,a,i,o,s,l,u){var c=new Array(n.length),d;l[0]!=null?(d=Math.atan(l[1]/l[0]),l[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=l;for(var h=Math.cos(-d),g=Math.sin(-d),p=0;p<c.length/2;p++)c[p*2]=o/2*(n[p*2]*h-n[p*2+1]*g),c[p*2+1]=s/2*(n[p*2+1]*h+n[p*2]*g),c[p*2]+=a,c[p*2+1]+=i;var E;if(u>0){var m=Xu(c,-u);E=Zu(m)}else E=c;return zt(e,t,E)},tF=function(e,t,n,a,i,o,s,l){for(var u=new Array(n.length*2),c=0;c<l.length;c++){var d=l[c];u[c*4+0]=d.startX,u[c*4+1]=d.startY,u[c*4+2]=d.stopX,u[c*4+3]=d.stopY;var h=Math.pow(d.cx-e,2)+Math.pow(d.cy-t,2);if(h<=Math.pow(d.radius,2))return!0}return zt(e,t,u)},Zu=function(e){for(var t=new Array(e.length/2),n,a,i,o,s,l,u,c,d=0;d<e.length/4;d++){n=e[d*4],a=e[d*4+1],i=e[d*4+2],o=e[d*4+3],d<e.length/4-1?(s=e[(d+1)*4],l=e[(d+1)*4+1],u=e[(d+1)*4+2],c=e[(d+1)*4+3]):(s=e[0],l=e[1],u=e[2],c=e[3]);var h=Ea(n,a,i,o,s,l,u,c,!0);t[d*2]=h[0],t[d*2+1]=h[1]}return t},Xu=function(e,t){for(var n=new Array(e.length*2),a,i,o,s,l=0;l<e.length/2;l++){a=e[l*2],i=e[l*2+1],l<e.length/2-1?(o=e[(l+1)*2],s=e[(l+1)*2+1]):(o=e[0],s=e[1]);var u=s-i,c=-(o-a),d=Math.sqrt(u*u+c*c),h=u/d,g=c/d;n[l*4]=a+h*t,n[l*4+1]=i+g*t,n[l*4+2]=o+h*t,n[l*4+3]=s+g*t}return n},nF=function(e,t,n,a,i,o){var s=n-e,l=a-t;s/=i,l/=o;var u=Math.sqrt(s*s+l*l),c=u-1;if(c<0)return[];var d=c/u;return[(n-e)*d+e,(a-t)*d+t]},ii=function(e,t,n,a,i,o,s){return e-=i,t-=o,e/=n/2+s,t/=a/2+s,e*e+t*t<=1},zo=function(e,t,n,a,i,o,s){var l=[n-e,a-t],u=[e-i,t-o],c=l[0]*l[0]+l[1]*l[1],d=2*(u[0]*l[0]+u[1]*l[1]),h=u[0]*u[0]+u[1]*u[1]-s*s,g=d*d-4*c*h;if(g<0)return[];var p=(-d+Math.sqrt(g))/(2*c),E=(-d-Math.sqrt(g))/(2*c),m=Math.min(p,E),b=Math.max(p,E),w=[];if(m>=0&&m<=1&&w.push(m),b>=0&&b<=1&&w.push(b),w.length===0)return[];var x=w[0]*l[0]+e,C=w[0]*l[1]+t;if(w.length>1){if(w[0]==w[1])return[x,C];var T=w[1]*l[0]+e,S=w[1]*l[1]+t;return[x,C,T,S]}else return[x,C]},Dc=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},Ea=function(e,t,n,a,i,o,s,l,u){var c=e-i,d=n-e,h=s-i,g=t-o,p=a-t,E=l-o,m=h*g-E*c,b=d*g-p*c,w=E*d-h*p;if(w!==0){var x=m/w,C=b/w,T=.001,S=0-T,_=1+T;return S<=x&&x<=_&&S<=C&&C<=_?[e+x*d,t+x*p]:u?[e+x*d,t+x*p]:[]}else return m===0||b===0?Dc(e,n,s)===s?[s,l]:Dc(e,n,i)===i?[i,o]:Dc(i,s,n)===n?[n,a]:[]:[]},aF=function(e,t,n,a,i){var o=[],s=a/2,l=i/2,u=t,c=n;o.push({x:u+s*e[0],y:c+l*e[1]});for(var d=1;d<e.length/2;d++)o.push({x:u+s*e[d*2],y:c+l*e[d*2+1]});return o},as=function(e,t,n,a,i,o,s,l){var u=[],c,d=new Array(n.length),h=!0;o==null&&(h=!1);var g;if(h){for(var p=0;p<d.length/2;p++)d[p*2]=n[p*2]*o+a,d[p*2+1]=n[p*2+1]*s+i;if(l>0){var E=Xu(d,-l);g=Zu(E)}else g=d}else g=n;for(var m,b,w,x,C=0;C<g.length/2;C++)m=g[C*2],b=g[C*2+1],C<g.length/2-1?(w=g[(C+1)*2],x=g[(C+1)*2+1]):(w=g[0],x=g[1]),c=Ea(e,t,a,i,m,b,w,x),c.length!==0&&u.push(c[0],c[1]);return u},iF=function(e,t,n,a,i,o,s,l,u){var c=[],d,h=new Array(n.length*2);u.forEach(function(w,x){x===0?(h[h.length-2]=w.startX,h[h.length-1]=w.startY):(h[x*4-2]=w.startX,h[x*4-1]=w.startY),h[x*4]=w.stopX,h[x*4+1]=w.stopY,d=zo(e,t,a,i,w.cx,w.cy,w.radius),d.length!==0&&c.push(d[0],d[1])});for(var g=0;g<h.length/4;g++)d=Ea(e,t,a,i,h[g*4],h[g*4+1],h[g*4+2],h[g*4+3],!1),d.length!==0&&c.push(d[0],d[1]);if(c.length>2){for(var p=[c[0],c[1]],E=Math.pow(p[0]-e,2)+Math.pow(p[1]-t,2),m=1;m<c.length/2;m++){var b=Math.pow(c[m*2]-e,2)+Math.pow(c[m*2+1]-t,2);b<=E&&(p[0]=c[m*2],p[1]=c[m*2+1],E=b)}return p}return c},xu=function(e,t,n){var a=[e[0]-t[0],e[1]-t[1]],i=Math.sqrt(a[0]*a[0]+a[1]*a[1]),o=(i-n)/i;return o<0&&(o=1e-5),[t[0]+o*a[0],t[1]+o*a[1]]},It=function(e,t){var n=fm(e,t);return n=RR(n),n},RR=function(e){for(var t,n,a=e.length/2,i=1/0,o=1/0,s=-1/0,l=-1/0,u=0;u<a;u++)t=e[2*u],n=e[2*u+1],i=Math.min(i,t),s=Math.max(s,t),o=Math.min(o,n),l=Math.max(l,n);for(var c=2/(s-i),d=2/(l-o),h=0;h<a;h++)t=e[2*h]=e[2*h]*c,n=e[2*h+1]=e[2*h+1]*d,i=Math.min(i,t),s=Math.max(s,t),o=Math.min(o,n),l=Math.max(l,n);if(o<-1)for(var g=0;g<a;g++)n=e[2*g+1]=e[2*g+1]+(-1-o);return e},fm=function(e,t){var n=1/e*2*Math.PI,a=e%2===0?Math.PI/2+n/2:Math.PI/2;a+=t;for(var i=new Array(e*2),o,s=0;s<e;s++)o=s*n+a,i[2*s]=Math.cos(o),i[2*s+1]=Math.sin(-o);return i},Aa=function(e,t){return Math.min(e/4,t/4,8)},AR=function(e,t){return Math.min(e/10,t/10,8)},zm=function(){return 8},oF=function(e,t,n){return[e-2*t+n,2*(t-e),e]},cm=function(e,t){return{heightOffset:Math.min(15,.05*t),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}};function Ic(r,e){function t(d){for(var h=[],g=0;g<d.length;g++){var p=d[g],E=d[(g+1)%d.length],m={x:E.x-p.x,y:E.y-p.y},b={x:-m.y,y:m.x},w=Math.sqrt(b.x*b.x+b.y*b.y);h.push({x:b.x/w,y:b.y/w})}return h}function n(d,h){var g=1/0,p=-1/0,E=$t(d),m;try{for(E.s();!(m=E.n()).done;){var b=m.value,w=b.x*h.x+b.y*h.y;g=Math.min(g,w),p=Math.max(p,w)}}catch(x){E.e(x)}finally{E.f()}return{min:g,max:p}}function a(d,h){return!(d.max<h.min||h.max<d.min)}var i=[].concat(Hu(t(r)),Hu(t(e))),o=$t(i),s;try{for(o.s();!(s=o.n()).done;){var l=s.value,u=n(r,l),c=n(e,l);if(!a(u,c))return!1}}catch(d){o.e(d)}finally{o.f()}return!0}var sF=yt({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(e){return 1}}),uF={pageRank:function(e){for(var t=sF(e),n=t.dampingFactor,a=t.precision,i=t.iterations,o=t.weight,s=this._private.cy,l=this.byGroup(),u=l.nodes,c=l.edges,d=u.length,h=d*d,g=c.length,p=new Array(h),E=new Array(d),m=(1-n)/d,b=0;b<d;b++){for(var w=0;w<d;w++){var x=b*d+w;p[x]=0}E[b]=0}for(var C=0;C<g;C++){var T=c[C],S=T.data("source"),_=T.data("target");if(S!==_){var A=u.indexOfId(S),P=u.indexOfId(_),D=o(T),I=P*d+A;p[I]+=D,E[A]+=D}}for(var M=1/d+m,k=0;k<d;k++)if(E[k]===0)for(var N=0;N<d;N++){var z=N*d+k;p[z]=M}else for(var W=0;W<d;W++){var q=W*d+k;p[q]=p[q]/E[k]+m}for(var $=new Array(d),X=new Array(d),Y,K=0;K<d;K++)$[K]=1;for(var ee=0;ee<i;ee++){for(var le=0;le<d;le++)X[le]=0;for(var G=0;G<d;G++)for(var V=0;V<d;V++){var j=G*d+V;X[G]+=p[j]*$[V]}VN(X),Y=$,$=X,X=Y;for(var re=0,ce=0;ce<d;ce++){var se=Y[ce]-$[ce];re+=se*se}if(re<a)break}var Z={rank:function(ae){return ae=s.collection(ae)[0],$[u.indexOf(ae)]}};return Z}},vw=yt({root:null,weight:function(e){return 1},directed:!1,alpha:0}),Xi={degreeCentralityNormalized:function(e){e=vw(e);var t=this.cy(),n=this.nodes(),a=n.length;if(e.directed){for(var c={},d={},h=0,g=0,p=0;p<a;p++){var E=n[p],m=E.id();e.root=E;var b=this.degreeCentrality(e);h<b.indegree&&(h=b.indegree),g<b.outdegree&&(g=b.outdegree),c[m]=b.indegree,d[m]=b.outdegree}return{indegree:function(x){return h==0?0:(Ke(x)&&(x=t.filter(x)),c[x.id()]/h)},outdegree:function(x){return g===0?0:(Ke(x)&&(x=t.filter(x)),d[x.id()]/g)}}}else{for(var i={},o=0,s=0;s<a;s++){var l=n[s];e.root=l;var u=this.degreeCentrality(e);o<u.degree&&(o=u.degree),i[l.id()]=u.degree}return{degree:function(x){return o===0?0:(Ke(x)&&(x=t.filter(x)),i[x.id()]/o)}}}},degreeCentrality:function(e){e=vw(e);var t=this.cy(),n=this,a=e,i=a.root,o=a.weight,s=a.directed,l=a.alpha;if(i=t.collection(i)[0],s){for(var g=i.connectedEdges(),p=g.filter(function(S){return S.target().same(i)&&n.has(S)}),E=g.filter(function(S){return S.source().same(i)&&n.has(S)}),m=p.length,b=E.length,w=0,x=0,C=0;C<p.length;C++)w+=o(p[C]);for(var T=0;T<E.length;T++)x+=o(E[T]);return{indegree:Math.pow(m,1-l)*Math.pow(w,l),outdegree:Math.pow(b,1-l)*Math.pow(x,l)}}else{for(var u=i.connectedEdges().intersection(n),c=u.length,d=0,h=0;h<u.length;h++)d+=o(u[h]);return{degree:Math.pow(c,1-l)*Math.pow(d,l)}}}};Xi.dc=Xi.degreeCentrality;Xi.dcn=Xi.degreeCentralityNormalised=Xi.degreeCentralityNormalized;var hw=yt({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),Qi={closenessCentralityNormalized:function(e){for(var t=hw(e),n=t.harmonic,a=t.weight,i=t.directed,o=this.cy(),s={},l=0,u=this.nodes(),c=this.floydWarshall({weight:a,directed:i}),d=0;d<u.length;d++){for(var h=0,g=u[d],p=0;p<u.length;p++)if(d!==p){var E=c.distance(g,u[p]);n?h+=1/E:h+=E}n||(h=1/h),l<h&&(l=h),s[g.id()]=h}return{closeness:function(b){return l==0?0:(Ke(b)?b=o.filter(b)[0].id():b=b.id(),s[b]/l)}}},closenessCentrality:function(e){var t=hw(e),n=t.root,a=t.weight,i=t.directed,o=t.harmonic;n=this.filter(n)[0];for(var s=this.dijkstra({root:n,weight:a,directed:i}),l=0,u=this.nodes(),c=0;c<u.length;c++){var d=u[c];if(!d.same(n)){var h=s.distanceTo(d);o?l+=1/h:l+=h}}return o?l:1/l}};Qi.cc=Qi.closenessCentrality;Qi.ccn=Qi.closenessCentralityNormalised=Qi.closenessCentralityNormalized;var lF=yt({weight:null,directed:!1}),dm={betweennessCentrality:function(e){for(var t=lF(e),n=t.directed,a=t.weight,i=a!=null,o=this.cy(),s=this.nodes(),l={},u={},c=0,d={set:function(x,C){u[x]=C,C>c&&(c=C)},get:function(x){return u[x]}},h=0;h<s.length;h++){var g=s[h],p=g.id();n?l[p]=g.outgoers().nodes():l[p]=g.openNeighborhood().nodes(),d.set(p,0)}for(var E=function(){for(var x=s[m].id(),C=[],T={},S={},_={},A=new bs(function(G,V){return _[G]-_[V]}),P=0;P<s.length;P++){var D=s[P].id();T[D]=[],S[D]=0,_[D]=1/0}for(S[x]=1,_[x]=0,A.push(x);!A.empty();){var I=A.pop();if(C.push(I),i)for(var M=0;M<l[I].length;M++){var k=l[I][M],N=o.getElementById(I),z=void 0;N.edgesTo(k).length>0?z=N.edgesTo(k)[0]:z=k.edgesTo(N)[0];var W=a(z);k=k.id(),_[k]>_[I]+W&&(_[k]=_[I]+W,A.nodes.indexOf(k)<0?A.push(k):A.updateItem(k),S[k]=0,T[k]=[]),_[k]==_[I]+W&&(S[k]=S[k]+S[I],T[k].push(I))}else for(var q=0;q<l[I].length;q++){var $=l[I][q].id();_[$]==1/0&&(A.push($),_[$]=_[I]+1),_[$]==_[I]+1&&(S[$]=S[$]+S[I],T[$].push(I))}}for(var X={},Y=0;Y<s.length;Y++)X[s[Y].id()]=0;for(;C.length>0;){for(var K=C.pop(),ee=0;ee<T[K].length;ee++){var le=T[K][ee];X[le]=X[le]+S[le]/S[K]*(1+X[K])}K!=s[m].id()&&d.set(K,d.get(K)+X[K])}},m=0;m<s.length;m++)E();var b={betweenness:function(x){var C=o.collection(x).id();return d.get(C)},betweennessNormalized:function(x){if(c==0)return 0;var C=o.collection(x).id();return d.get(C)/c}};return b.betweennessNormalised=b.betweennessNormalized,b}};dm.bc=dm.betweennessCentrality;var fF=yt({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(r){return 1}]}),cF=function(e){return fF(e)},dF=function(e,t){for(var n=0,a=0;a<t.length;a++)n+=t[a](e);return n},vF=function(e,t,n){for(var a=0;a<t;a++)e[a*t+a]=n},PR=function(e,t){for(var n,a=0;a<t;a++){n=0;for(var i=0;i<t;i++)n+=e[i*t+a];for(var o=0;o<t;o++)e[o*t+a]=e[o*t+a]/n}},hF=function(e,t,n){for(var a=new Array(n*n),i=0;i<n;i++){for(var o=0;o<n;o++)a[i*n+o]=0;for(var s=0;s<n;s++)for(var l=0;l<n;l++)a[i*n+l]+=e[i*n+s]*t[s*n+l]}return a},gF=function(e,t,n){for(var a=e.slice(0),i=1;i<n;i++)e=hF(e,a,t);return e},pF=function(e,t,n){for(var a=new Array(t*t),i=0;i<t*t;i++)a[i]=Math.pow(e[i],n);return PR(a,t),a},yF=function(e,t,n,a){for(var i=0;i<n;i++){var o=Math.round(e[i]*Math.pow(10,a))/Math.pow(10,a),s=Math.round(t[i]*Math.pow(10,a))/Math.pow(10,a);if(o!==s)return!1}return!0},mF=function(e,t,n,a){for(var i=[],o=0;o<t;o++){for(var s=[],l=0;l<t;l++)Math.round(e[o*t+l]*1e3)/1e3>0&&s.push(n[l]);s.length!==0&&i.push(a.collection(s))}return i},bF=function(e,t){for(var n=0;n<e.length;n++)if(!t[n]||e[n].id()!==t[n].id())return!1;return!0},wF=function(e){for(var t=0;t<e.length;t++)for(var n=0;n<e.length;n++)t!=n&&bF(e[t],e[n])&&e.splice(n,1);return e},gw=function(e){for(var t=this.nodes(),n=this.edges(),a=this.cy(),i=cF(e),o={},s=0;s<t.length;s++)o[t[s].id()]=s;for(var l=t.length,u=l*l,c=new Array(u),d,h=0;h<u;h++)c[h]=0;for(var g=0;g<n.length;g++){var p=n[g],E=o[p.source().id()],m=o[p.target().id()],b=dF(p,i.attributes);c[E*l+m]+=b,c[m*l+E]+=b}vF(c,l,i.multFactor),PR(c,l);for(var w=!0,x=0;w&&x<i.maxIterations;)w=!1,d=gF(c,l,i.expandFactor),c=pF(d,l,i.inflateFactor),yF(c,d,u,4)||(w=!0),x++;var C=mF(c,l,t,a);return C=wF(C),C},xF={markovClustering:gw,mcl:gw},EF=function(e){return e},DR=function(e,t){return Math.abs(t-e)},pw=function(e,t,n){return e+DR(t,n)},yw=function(e,t,n){return e+Math.pow(n-t,2)},CF=function(e){return Math.sqrt(e)},_F=function(e,t,n){return Math.max(e,DR(t,n))},ko=function(e,t,n,a,i){for(var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:EF,s=a,l,u,c=0;c<e;c++)l=t(c),u=n(c),s=i(s,l,u);return o(s)},no={euclidean:function(e,t,n){return e>=2?ko(e,t,n,0,yw,CF):ko(e,t,n,0,pw)},squaredEuclidean:function(e,t,n){return ko(e,t,n,0,yw)},manhattan:function(e,t,n){return ko(e,t,n,0,pw)},max:function(e,t,n){return ko(e,t,n,-1/0,_F)}};no["squared-euclidean"]=no.squaredEuclidean;no.squaredeuclidean=no.squaredEuclidean;function vl(r,e,t,n,a,i){var o;return Fr(r)?o=r:o=no[r]||no.euclidean,e===0&&Fr(r)?o(a,i):o(e,t,n,a,i)}var SF=yt({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),$m=function(e){return SF(e)},Qu=function(e,t,n,a,i){var o=i!=="kMedoids",s=o?function(d){return n[d]}:function(d){return a[d](n)},l=function(h){return a[h](t)},u=n,c=t;return vl(e,a.length,s,l,u,c)},Bc=function(e,t,n){for(var a=n.length,i=new Array(a),o=new Array(a),s=new Array(t),l=null,u=0;u<a;u++)i[u]=e.min(n[u]).value,o[u]=e.max(n[u]).value;for(var c=0;c<t;c++){l=[];for(var d=0;d<a;d++)l[d]=Math.random()*(o[d]-i[d])+i[d];s[c]=l}return s},IR=function(e,t,n,a,i){for(var o=1/0,s=0,l=0;l<t.length;l++){var u=Qu(n,e,t[l],a,i);u<o&&(o=u,s=l)}return s},BR=function(e,t,n){for(var a=[],i=null,o=0;o<t.length;o++)i=t[o],n[i.id()]===e&&a.push(i);return a},TF=function(e,t,n){return Math.abs(t-e)<=n},RF=function(e,t,n){for(var a=0;a<e.length;a++)for(var i=0;i<e[a].length;i++){var o=Math.abs(e[a][i]-t[a][i]);if(o>n)return!1}return!0},AF=function(e,t,n){for(var a=0;a<n;a++)if(e===t[a])return!0;return!1},mw=function(e,t){var n=new Array(t);if(e.length<50)for(var a=0;a<t;a++){for(var i=e[Math.floor(Math.random()*e.length)];AF(i,n,a);)i=e[Math.floor(Math.random()*e.length)];n[a]=i}else for(var o=0;o<t;o++)n[o]=e[Math.floor(Math.random()*e.length)];return n},bw=function(e,t,n){for(var a=0,i=0;i<t.length;i++)a+=Qu("manhattan",t[i],e,n,"kMedoids");return a},PF=function(e){var t=this.cy(),n=this.nodes(),a=null,i=$m(e),o=new Array(i.k),s={},l;i.testMode?typeof i.testCentroids=="number"?(i.testCentroids,l=Bc(n,i.k,i.attributes)):tt(i.testCentroids)==="object"?l=i.testCentroids:l=Bc(n,i.k,i.attributes):l=Bc(n,i.k,i.attributes);for(var u=!0,c=0;u&&c<i.maxIterations;){for(var d=0;d<n.length;d++)a=n[d],s[a.id()]=IR(a,l,i.distance,i.attributes,"kMeans");u=!1;for(var h=0;h<i.k;h++){var g=BR(h,n,s);if(g.length!==0){for(var p=i.attributes.length,E=l[h],m=new Array(p),b=new Array(p),w=0;w<p;w++){b[w]=0;for(var x=0;x<g.length;x++)a=g[x],b[w]+=i.attributes[w](a);m[w]=b[w]/g.length,TF(m[w],E[w],i.sensitivityThreshold)||(u=!0)}l[h]=m,o[h]=t.collection(g)}}c++}return o},DF=function(e){var t=this.cy(),n=this.nodes(),a=null,i=$m(e),o=new Array(i.k),s,l={},u,c=new Array(i.k);i.testMode?typeof i.testCentroids=="number"||(tt(i.testCentroids)==="object"?s=i.testCentroids:s=mw(n,i.k)):s=mw(n,i.k);for(var d=!0,h=0;d&&h<i.maxIterations;){for(var g=0;g<n.length;g++)a=n[g],l[a.id()]=IR(a,s,i.distance,i.attributes,"kMedoids");d=!1;for(var p=0;p<s.length;p++){var E=BR(p,n,l);if(E.length!==0){c[p]=bw(s[p],E,i.attributes);for(var m=0;m<E.length;m++)u=bw(E[m],E,i.attributes),u<c[p]&&(c[p]=u,s[p]=E[m],d=!0);o[p]=t.collection(E)}}h++}return o},IF=function(e,t,n,a,i){for(var o,s,l=0;l<t.length;l++)for(var u=0;u<e.length;u++)a[l][u]=Math.pow(n[l][u],i.m);for(var c=0;c<e.length;c++)for(var d=0;d<i.attributes.length;d++){o=0,s=0;for(var h=0;h<t.length;h++)o+=a[h][c]*i.attributes[d](t[h]),s+=a[h][c];e[c][d]=o/s}},BF=function(e,t,n,a,i){for(var o=0;o<e.length;o++)t[o]=e[o].slice();for(var s,l,u,c=2/(i.m-1),d=0;d<n.length;d++)for(var h=0;h<a.length;h++){s=0;for(var g=0;g<n.length;g++)l=Qu(i.distance,a[h],n[d],i.attributes,"cmeans"),u=Qu(i.distance,a[h],n[g],i.attributes,"cmeans"),s+=Math.pow(l/u,c);e[h][d]=1/s}},kF=function(e,t,n,a){for(var i=new Array(n.k),o=0;o<i.length;o++)i[o]=[];for(var s,l,u=0;u<t.length;u++){s=-1/0,l=-1;for(var c=0;c<t[0].length;c++)t[u][c]>s&&(s=t[u][c],l=c);i[l].push(e[u])}for(var d=0;d<i.length;d++)i[d]=a.collection(i[d]);return i},ww=function(e){var t=this.cy(),n=this.nodes(),a=$m(e),i,o,s,l,u;l=new Array(n.length);for(var c=0;c<n.length;c++)l[c]=new Array(a.k);s=new Array(n.length);for(var d=0;d<n.length;d++)s[d]=new Array(a.k);for(var h=0;h<n.length;h++){for(var g=0,p=0;p<a.k;p++)s[h][p]=Math.random(),g+=s[h][p];for(var E=0;E<a.k;E++)s[h][E]=s[h][E]/g}o=new Array(a.k);for(var m=0;m<a.k;m++)o[m]=new Array(a.attributes.length);u=new Array(n.length);for(var b=0;b<n.length;b++)u[b]=new Array(a.k);for(var w=!0,x=0;w&&x<a.maxIterations;)w=!1,IF(o,n,s,u,a),BF(s,l,o,n,a),RF(s,l,a.sensitivityThreshold)||(w=!0),x++;return i=kF(n,s,a,t),{clusters:i,degreeOfMembership:s}},MF={kMeans:PF,kMedoids:DF,fuzzyCMeans:ww,fcm:ww},LF=yt({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),OF={single:"min",complete:"max"},qF=function(e){var t=LF(e),n=OF[t.linkage];return n!=null&&(t.linkage=n),t},xw=function(e,t,n,a,i){for(var o=0,s=1/0,l,u=i.attributes,c=function(P,D){return vl(i.distance,u.length,function(I){return u[I](P)},function(I){return u[I](D)},P,D)},d=0;d<e.length;d++){var h=e[d].key,g=n[h][a[h]];g<s&&(o=h,s=g)}if(i.mode==="threshold"&&s>=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var p=t[o],E=t[a[o]],m;i.mode==="dendrogram"?m={left:p,right:E,key:p.key}:m={value:p.value.concat(E.value),key:p.key},e[p.index]=m,e.splice(E.index,1),t[p.key]=m;for(var b=0;b<e.length;b++){var w=e[b];p.key===w.key?l=1/0:i.linkage==="min"?(l=n[p.key][w.key],n[p.key][w.key]>n[E.key][w.key]&&(l=n[E.key][w.key])):i.linkage==="max"?(l=n[p.key][w.key],n[p.key][w.key]<n[E.key][w.key]&&(l=n[E.key][w.key])):i.linkage==="mean"?l=(n[p.key][w.key]*p.size+n[E.key][w.key]*E.size)/(p.size+E.size):i.mode==="dendrogram"?l=c(w.value,p.value):l=c(w.value[0],p.value[0]),n[p.key][w.key]=n[w.key][p.key]=l}for(var x=0;x<e.length;x++){var C=e[x].key;if(a[C]===p.key||a[C]===E.key){for(var T=C,S=0;S<e.length;S++){var _=e[S].key;n[C][_]<n[C][T]&&(T=_)}a[C]=T}e[x].index=x}return p.key=E.key=p.index=E.index=null,!0},Ki=function(e,t,n){e&&(e.value?t.push(e.value):(e.left&&Ki(e.left,t),e.right&&Ki(e.right,t)))},vm=function(e,t){if(!e)return"";if(e.left&&e.right){var n=vm(e.left,t),a=vm(e.right,t),i=t.add({group:"nodes",data:{id:n+","+a}});return t.add({group:"edges",data:{source:n,target:i.id()}}),t.add({group:"edges",data:{source:a,target:i.id()}}),i.id()}else if(e.value)return e.value.id()},hm=function(e,t,n){if(!e)return[];var a=[],i=[],o=[];return t===0?(e.left&&Ki(e.left,a),e.right&&Ki(e.right,i),o=a.concat(i),[n.collection(o)]):t===1?e.value?[n.collection(e.value)]:(e.left&&Ki(e.left,a),e.right&&Ki(e.right,i),[n.collection(a),n.collection(i)]):e.value?[n.collection(e.value)]:(e.left&&(a=hm(e.left,t-1,n)),e.right&&(i=hm(e.right,t-1,n)),a.concat(i))},Ew=function(e){for(var t=this.cy(),n=this.nodes(),a=qF(e),i=a.attributes,o=function(x,C){return vl(a.distance,i.length,function(T){return i[T](x)},function(T){return i[T](C)},x,C)},s=[],l=[],u=[],c=[],d=0;d<n.length;d++){var h={value:a.mode==="dendrogram"?n[d]:[n[d]],key:d,index:d};s[d]=h,c[d]=h,l[d]=[],u[d]=0}for(var g=0;g<s.length;g++)for(var p=0;p<=g;p++){var E=void 0;a.mode==="dendrogram"?E=g===p?1/0:o(s[g].value,s[p].value):E=g===p?1/0:o(s[g].value[0],s[p].value[0]),l[g][p]=E,l[p][g]=E,E<l[g][u[g]]&&(u[g]=p)}for(var m=xw(s,c,l,u,a);m;)m=xw(s,c,l,u,a);var b;return a.mode==="dendrogram"?(b=hm(s[0],a.dendrogramDepth,t),a.addDendrogram&&vm(s[0],t)):(b=new Array(s.length),s.forEach(function(w,x){w.key=w.index=null,b[x]=t.collection(w.value)})),b},NF={hierarchicalClustering:Ew,hca:Ew},FF=yt({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),zF=function(e){var t=e.damping,n=e.preference;.5<=t&&t<1||Lr("Damping must range on [0.5, 1). Got: ".concat(t));var a=["median","mean","min","max"];return a.some(function(i){return i===n})||ke(n)||Lr("Preference must be one of [".concat(a.map(function(i){return"'".concat(i,"'")}).join(", "),"] or a number. Got: ").concat(n)),FF(e)},$F=function(e,t,n,a){var i=function(s,l){return a[l](s)};return-vl(e,a.length,function(o){return i(t,o)},function(o){return i(n,o)},t,n)},VF=function(e,t){var n=null;return t==="median"?n=zN(e):t==="mean"?n=FN(e):t==="min"?n=qN(e):t==="max"?n=NN(e):n=t,n},GF=function(e,t,n){for(var a=[],i=0;i<e;i++)t[i*e+i]+n[i*e+i]>0&&a.push(i);return a},Cw=function(e,t,n){for(var a=[],i=0;i<e;i++){for(var o=-1,s=-1/0,l=0;l<n.length;l++){var u=n[l];t[i*e+u]>s&&(o=u,s=t[i*e+u])}o>0&&a.push(o)}for(var c=0;c<n.length;c++)a[n[c]]=n[c];return a},WF=function(e,t,n){for(var a=Cw(e,t,n),i=0;i<n.length;i++){for(var o=[],s=0;s<a.length;s++)a[s]===n[i]&&o.push(s);for(var l=-1,u=-1/0,c=0;c<o.length;c++){for(var d=0,h=0;h<o.length;h++)d+=t[o[h]*e+o[c]];d>u&&(l=c,u=d)}n[i]=o[l]}return a=Cw(e,t,n),a},_w=function(e){for(var t=this.cy(),n=this.nodes(),a=zF(e),i={},o=0;o<n.length;o++)i[n[o].id()]=o;var s,l,u,c,d,h;s=n.length,l=s*s,u=new Array(l);for(var g=0;g<l;g++)u[g]=-1/0;for(var p=0;p<s;p++)for(var E=0;E<s;E++)p!==E&&(u[p*s+E]=$F(a.distance,n[p],n[E],a.attributes));c=VF(u,a.preference);for(var m=0;m<s;m++)u[m*s+m]=c;d=new Array(l);for(var b=0;b<l;b++)d[b]=0;h=new Array(l);for(var w=0;w<l;w++)h[w]=0;for(var x=new Array(s),C=new Array(s),T=new Array(s),S=0;S<s;S++)x[S]=0,C[S]=0,T[S]=0;for(var _=new Array(s*a.minIterations),A=0;A<_.length;A++)_[A]=0;var P;for(P=0;P<a.maxIterations;P++){for(var D=0;D<s;D++){for(var I=-1/0,M=-1/0,k=-1,N=0,z=0;z<s;z++)x[z]=d[D*s+z],N=h[D*s+z]+u[D*s+z],N>=I?(M=I,I=N,k=z):N>M&&(M=N);for(var W=0;W<s;W++)d[D*s+W]=(1-a.damping)*(u[D*s+W]-I)+a.damping*x[W];d[D*s+k]=(1-a.damping)*(u[D*s+k]-M)+a.damping*x[k]}for(var q=0;q<s;q++){for(var $=0,X=0;X<s;X++)x[X]=h[X*s+q],C[X]=Math.max(0,d[X*s+q]),$+=C[X];$-=C[q],C[q]=d[q*s+q],$+=C[q];for(var Y=0;Y<s;Y++)h[Y*s+q]=(1-a.damping)*Math.min(0,$-C[Y])+a.damping*x[Y];h[q*s+q]=(1-a.damping)*($-C[q])+a.damping*x[q]}for(var K=0,ee=0;ee<s;ee++){var le=h[ee*s+ee]+d[ee*s+ee]>0?1:0;_[P%a.minIterations*s+ee]=le,K+=le}if(K>0&&(P>=a.minIterations-1||P==a.maxIterations-1)){for(var G=0,V=0;V<s;V++){T[V]=0;for(var j=0;j<a.minIterations;j++)T[V]+=_[j*s+V];(T[V]===0||T[V]===a.minIterations)&&G++}if(G===s)break}}for(var re=GF(s,d,h),ce=WF(s,u,re),se={},Z=0;Z<re.length;Z++)se[re[Z]]=[];for(var Q=0;Q<n.length;Q++){var ae=i[n[Q].id()],ne=ce[ae];ne!=null&&se[ne].push(n[Q])}for(var de=new Array(re.length),Ce=0;Ce<re.length;Ce++)de[Ce]=t.collection(se[re[Ce]]);return de},UF={affinityPropagation:_w,ap:_w},HF=yt({root:void 0,directed:!1}),KF={hierholzer:function(e){if(!pr(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n=HF(e),a=n.root,i=n.directed,o=this,s=!1,l,u,c;a&&(c=Ke(a)?this.filter(a)[0].id():a[0].id());var d={},h={};i?o.forEach(function(w){var x=w.id();if(w.isNode()){var C=w.indegree(!0),T=w.outdegree(!0),S=C-T,_=T-C;S==1?l?s=!0:l=x:_==1?u?s=!0:u=x:(_>1||S>1)&&(s=!0),d[x]=[],w.outgoers().forEach(function(A){A.isEdge()&&d[x].push(A.id())})}else h[x]=[void 0,w.target().id()]}):o.forEach(function(w){var x=w.id();if(w.isNode()){var C=w.degree(!0);C%2&&(l?u?s=!0:u=x:l=x),d[x]=[],w.connectedEdges().forEach(function(T){return d[x].push(T.id())})}else h[x]=[w.source().id(),w.target().id()]});var g={found:!1,trail:void 0};if(s)return g;if(u&&l)if(i){if(c&&u!=c)return g;c=u}else{if(c&&u!=c&&l!=c)return g;c||(c=u)}else c||(c=o[0].id());var p=function(x){for(var C=x,T=[x],S,_,A;d[C].length;)S=d[C].shift(),_=h[S][0],A=h[S][1],C!=A?(d[A]=d[A].filter(function(P){return P!=S}),C=A):!i&&C!=_&&(d[_]=d[_].filter(function(P){return P!=S}),C=_),T.unshift(S),T.unshift(C);return T},E=[],m=[];for(m=p(c);m.length!=1;)d[m[0]].length==0?(E.unshift(o.getElementById(m.shift())),E.unshift(o.getElementById(m.shift()))):m=p(m.shift()).concat(m);E.unshift(o.getElementById(m.shift()));for(var b in d)if(d[b].length)return g;return g.found=!0,g.trail=this.spawn(E,!0),g}},Eu=function(){var e=this,t={},n=0,a=0,i=[],o=[],s={},l=function(h,g){for(var p=o.length-1,E=[],m=e.spawn();o[p].x!=h||o[p].y!=g;)E.push(o.pop().edge),p--;E.push(o.pop().edge),E.forEach(function(b){var w=b.connectedNodes().intersection(e);m.merge(b),w.forEach(function(x){var C=x.id(),T=x.connectedEdges().intersection(e);m.merge(x),t[C].cutVertex?m.merge(T.filter(function(S){return S.isLoop()})):m.merge(T)})}),i.push(m)},u=function(h,g,p){h===p&&(a+=1),t[g]={id:n,low:n++,cutVertex:!1};var E=e.getElementById(g).connectedEdges().intersection(e);if(E.size()===0)i.push(e.spawn(e.getElementById(g)));else{var m,b,w,x;E.forEach(function(C){m=C.source().id(),b=C.target().id(),w=m===g?b:m,w!==p&&(x=C.id(),s[x]||(s[x]=!0,o.push({x:g,y:w,edge:C})),w in t?t[g].low=Math.min(t[g].low,t[w].id):(u(h,w,g),t[g].low=Math.min(t[g].low,t[w].low),t[g].id<=t[w].low&&(t[g].cutVertex=!0,l(g,w))))})}};e.forEach(function(d){if(d.isNode()){var h=d.id();h in t||(a=0,u(h,h),t[h].cutVertex=a>1)}});var c=Object.keys(t).filter(function(d){return t[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(c),components:i}},jF={hopcroftTarjanBiconnected:Eu,htbc:Eu,htb:Eu,hopcroftTarjanBiconnectedComponents:Eu},Cu=function(){var e=this,t={},n=0,a=[],i=[],o=e.spawn(e),s=function(u){i.push(u),t[u]={index:n,low:n++,explored:!1};var c=e.getElementById(u).connectedEdges().intersection(e);if(c.forEach(function(E){var m=E.target().id();m!==u&&(m in t||s(m),t[m].explored||(t[u].low=Math.min(t[u].low,t[m].low)))}),t[u].index===t[u].low){for(var d=e.spawn();;){var h=i.pop();if(d.merge(e.getElementById(h)),t[h].low=t[u].index,t[h].explored=!0,h===u)break}var g=d.edgesWith(d),p=d.merge(g);a.push(p),o=o.difference(p)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in t||s(u)}}),{cut:o,components:a}},YF={tarjanStronglyConnected:Cu,tsc:Cu,tscc:Cu,tarjanStronglyConnectedComponents:Cu},kR={};[ts,SN,TN,AN,DN,BN,LN,uF,Xi,Qi,dm,xF,MF,NF,UF,KF,jF,YF].forEach(function(r){Ye(kR,r)});/*!