1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2997],{9802:(e,t,n)=>{n.r(t),n.d(t,{Background:()=>t1,BackgroundVariant:()=>r,BaseEdge:()=>eW,BezierEdge:()=>e8,ConnectionLineType:()=>s.Do,ConnectionMode:()=>s.WZ,ControlButton:()=>t7,Controls:()=>ne,EdgeLabelRenderer:()=>tP,EdgeText:()=>eX,EdgeToolbar:()=>nS,Handle:()=>ek,MarkerType:()=>s.TG,MiniMap:()=>nd,MiniMapNode:()=>nt,NodeResizeControl:()=>nu,NodeResizer:()=>ng,NodeToolbar:()=>nx,PanOnScrollMode:()=>s.ny,Panel:()=>N,Position:()=>s.yX,ReactFlow:()=>tk,ReactFlowProvider:()=>tC,ResizeControlVariant:()=>s.xN,SelectionMode:()=>s.Qc,SimpleBezierEdge:()=>eU,SmoothStepEdge:()=>eJ,StepEdge:()=>e3,StraightEdge:()=>e5,ViewportPortal:()=>tR,addEdge:()=>G,applyEdgeChanges:()=>W,applyNodeChanges:()=>X,experimental_useOnEdgesChangeMiddleware:()=>tQ,experimental_useOnNodesChangeMiddleware:()=>tY,getBezierEdgeCenter:()=>s.e_,getBezierPath:()=>s.Fp,getConnectedEdges:()=>s.AX,getEdgeCenter:()=>s.DC,getIncomers:()=>s.FB,getNodesBounds:()=>s.Jo,getOutgoers:()=>s.RM,getSimpleBezierPath:()=>eY,getSmoothStepPath:()=>s.oN,getStraightPath:()=>s.ah,getViewportForBounds:()=>s.R4,isEdge:()=>et,isNode:()=>ee,reconnectEdge:()=>J,useConnection:()=>tf,useEdges:()=>tz,useEdgesState:()=>tB,useHandleConnections:()=>tT,useInternalNode:()=>tK,useKeyPress:()=>H,useNodeConnections:()=>tX,useNodeId:()=>eE,useNodes:()=>tD,useNodesData:()=>tW,useNodesInitialized:()=>tF,useNodesState:()=>t$,useOnSelectionChange:()=>tH,useOnViewportChange:()=>tV,useReactFlow:()=>es,useStore:()=>h,useStoreApi:()=>m,useUpdateNodeInternals:()=>t_,useViewport:()=>tL});var o,r,a=n(1462),i=n(3510),l=n(8323),s=n(4825),d=n(7161),c=n(4749),u=n(1923);let g=(0,i.createContext)(null),f=g.Provider,p=s.xc.error001("react");function h(e,t){let n=(0,i.useContext)(g);if(null===n)throw Error(p);return(0,d.n)(n,e,t)}function m(){let e=(0,i.useContext)(g);if(null===e)throw Error(p);return(0,i.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let y={display:"none"},x={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},b="react-flow__node-desc",S="react-flow__edge-desc",w=e=>e.ariaLiveMessage,v=e=>e.ariaLabelConfig;function C({rfId:e}){let t=h(w);return(0,a.jsx)("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:x,children:t})}function E({rfId:e,disableKeyboardA11y:t}){let n=h(v);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{id:`${b}-${e}`,style:y,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,a.jsx)("div",{id:`${S}-${e}`,style:y,children:n["edge.a11yDescription.default"]}),!t&&(0,a.jsx)(C,{rfId:e})]})}let N=(0,i.forwardRef)(({position:e="top-left",children:t,className:n,style:o,...r},i)=>{let s=`${e}`.split("-");return(0,a.jsx)("div",{className:(0,l.A)(["react-flow__panel",n,...s]),style:o,ref:i,...r,children:t})});function k({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:(0,a.jsx)(N,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,a.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}N.displayName="Panel";let M=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},P=e=>e.id;function A(e,t){return(0,c.x)(e.selectedNodes.map(P),t.selectedNodes.map(P))&&(0,c.x)(e.selectedEdges.map(P),t.selectedEdges.map(P))}function R({onSelectionChange:e}){let t=m(),{selectedNodes:n,selectedEdges:o}=h(M,A);return(0,i.useEffect)(()=>{let r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChangeHandlers.forEach(e=>e(r))},[n,o,e]),null}let _=e=>!!e.onSelectionChangeHandlers;function j({onSelectionChange:e}){let t=h(_);return e||t?(0,a.jsx)(R,{onSelectionChange:e}):null}let D=[0,0],I={x:0,y:0,zoom:1},z=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGri
1d","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],O=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),L={translateExtent:s.ZO,nodeOrigin:D,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function $(e){let{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:r,setTranslateExtent:a,setNodeExtent:l,reset:d,setDefaultNodesAndEdges:u}=h(O,c.x),g=m();(0,i.useEffect)(()=>(u(e.defaultNodes,e.defaultEdges),()=>{f.current=L,d()}),[]);let f=(0,i.useRef)(L);return(0,i.useEffect)(()=>{for(let i of z){let d=e[i];d!==f.current[i]&&void 0!==e[i]&&("nodes"===i?t(d):"edges"===i?n(d):"minZoom"===i?o(d):"maxZoom"===i?r(d):"translateExtent"===i?a(d):"nodeExtent"===i?l(d):"ariaLabelConfig"===i?g.setState({ariaLabelConfig:(0,s.Q6)(d)}):"fitView"===i?g.setState({fitViewQueued:d}):"fitViewOptions"===i?g.setState({fitViewOptions:d}):g.setState({[i]:d}))}f.current=e},z.map(t=>e[t])),null}function B(){return"u"<typeof window||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}let V="u">typeof document?document:null;function H(e=null,t={target:V,actInsideInputWithModifier:!0}){let[n,o]=(0,i.useState)(!1),r=(0,i.useRef)(!1),a=(0,i.useRef)(new Set([])),[l,d]=(0,i.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,i.useEffect)(()=>{let n=t?.target??V,i=t?.actInsideInputWithModifier??!0;if(null!==e){let e=e=>{if(r.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!r.current||r.current&&!i)&&(0,s.v5)(e))return!1;let n=T(e.code,d);if(a.current.add(e[n]),F(l,a.current,!1)){let n=e.composedPath?.()?.[0]||e.target,a=n?.nodeName==="BUTTON"||n?.nodeName==="A";!1!==t.preventDefault&&(r.current||!a)&&e.preventDefault(),o(!0)}},c=e=>{let t=T(e.code,d);F(l,a.current,!0)?(o(!1),a.current.clear()):a.current.delete(e[t]),"Meta"===e.key&&a.current.clear(),r.current=!1},u=()=>{a.current.clear(),o(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",c),window.addEventListener("blur",u),window.addEventListener("contextmenu",u),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",c),window.removeEventListener("blur",u),window.removeEventListener("contextmenu",u)}}},[e,o]),n}function F(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function T(e,t){return t.includes(e)?"code":"key"}function Z(e,t){let n=[],o=new Map,r=[];for(let t of e)if("add"===t.type){r.push(t);continue}else if("remove"===t.type||"replace"===t.type)o.set(t.id,[t]);else{let e=o.get(t.id);e?e.push(t):o.set(t.id,[t])}for(let e of t){let t=o.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let r={...e};for(let e of t){var a=e,i=r;switch(a.type){case"select":i.selected=a.selected;break;case"position":void 0!==a.position&&(i.position=a.position),void 0!==a.dragging&&(i.dragging=a.dragging);break;case"dimensions":void 0!==a.dimensions&&(i.measured={...a.dimensions},a.setAttributes&&((!0===a.setAttributes||"width"===a.setAttributes)&&(i.width=a.dimensions.width),(!0===a.setAttributes||"height"===a.setAttributes)&&(i.height=a.dimensions.height))),"boolean"==typeof a.resizing&&(i.resizing=a.resizing)}}n.push(r)}return r.length&&r.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function X(e,t){return Z(e,t)}function W(e,t){return Z(e,t)}function K(e,t){return{id:e,type:"select",selected:t}}function Y(e,t=new Set,n=!1){let o=[];for(let[r,a]of e){let e=t.has(r);(void 0!==a.selected||e)&&a.selected!==e&&(n&&(a.selected=e),o.push(K(a.id,e)))}return o}function Q({items:e=[],lookup:t}){let n=[],o=new Map(e.map(e=>[e.id,e]));for(let[o,r]of e.entries()){let e=t.get(r.id),a=e?.internals?.userNode??e;void 0!==a&&a!==r&&n.push({id:r.id,item:r,type:"replace"}),void 0===a&&n.push({item:r,type:"add",index:o})}for(let[e]of t)void 0===o.get(e)&&n.push({id:e,type:"remove"});return n}function U(e){return{id:e.id,type:"remove"}}let q=(0,s.kr)("React Flow","https://reactflow.dev/");function G(e,t,n={}){return(0,s.rN)(e,t,{...n,onError:n.onError??q})}function J(e,t,n,o={shouldReplaceId:!0}){return(0,s.p1)(e,t,n,{...o,onError:o.onError??q})}let ee=e=>(0,s.oB)(e),et=e=>(0,s.b$)(e);function en(e){return(0,i.forwardRef)(e)}let eo="u">typeof window?i.useLayoutEffect:i.useEffect;function er(e){let[t,n]=(0,i.useState)(BigInt(0)),[o]=(0,i.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return eo(()=>
1{let t=o.get();t.length&&(e(t),o.reset())},[t]),o}let ea=(0,i.createContext)(null);function ei({children:e}){let t=m(),n=er((0,i.useCallback)(e=>{let{nodes:n=[],setNodes:o,hasDefaultNodes:r,onNodesChange:a,nodeLookup:i,fitViewQueued:l,onNodesChangeMiddlewareMap:s}=t.getState(),d=n;for(let t of e)d="function"==typeof t?t(d):t;let c=Q({items:d,lookup:i});for(let e of s.values())c=e(c);r&&o(d),c.length>0?a?.(c):l&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:o}=t.getState();e&&o(n)})},[])),o=er((0,i.useCallback)(e=>{let{edges:n=[],setEdges:o,hasDefaultEdges:r,onEdgesChange:a,edgeLookup:i}=t.getState(),l=n;for(let t of e)l="function"==typeof t?t(l):t;r?o(l):a&&a(Q({items:l,lookup:i}))},[])),r=(0,i.useMemo)(()=>({nodeQueue:n,edgeQueue:o}),[]);return(0,a.jsx)(ea.Provider,{value:r,children:e})}let el=e=>!!e.panZoom;function es(){let e,t=(e=m(),(0,i.useMemo)(()=>({zoomIn:async t=>{let{panZoom:n}=e.getState();return!!n&&n.scaleBy(1.2,t)},zoomOut:async t=>{let{panZoom:n}=e.getState();return!!n&&n.scaleBy(1/1.2,t)},zoomTo:async(t,n)=>{let{panZoom:o}=e.getState();return!!o&&o.scaleTo(t,n)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[o,r,a],panZoom:i}=e.getState();return!!i&&(await i.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??a},n),!0)},getViewport:()=>{let[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{let{width:o,height:r,minZoom:a,maxZoom:i,panZoom:l}=e.getState(),d=(0,s.R4)(t,o,r,a,i,n?.padding??.1);return!!l&&(await l.setViewport(d,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0)},screenToFlowPosition:(t,n={})=>{let{transform:o,snapGrid:r,snapToGrid:a,domNode:i}=e.getState();if(!i)return t;let{x:l,y:d}=i.getBoundingClientRect(),c={x:t.x-l,y:t.y-d}
1,u=n.snapGrid??r,g=n.snapToGrid??a;return(0,s.Ff)(c,o,g,u)},flowToScreenPosition:t=>{let{transform:n,domNode:o}=e.getState();if(!o)return t;let{x:r,y:a}=o.getBoundingClientRect(),i=(0,s.zj)(t,n);return{x:i.x+r,y:i.y+a}}}),[])),n=m(),o=function(){let e=(0,i.useContext)(ea);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),r=h(el),a=(0,i.useMemo)(()=>{let e=e=>n.getState().nodeLookup.get(e),t=e=>{o.nodeQueue.push(e)},r=e=>{o.edgeQueue.push(e)},a=e=>{let{nodeLookup:t,nodeOrigin:o}=n.getState(),r=ee(e)?e:t.get(e.id),a=r.parentId?(0,s.us)(r.position,r.measured,r.parentId,t,o):r.position,i={...r,position:a,width:r.measured?.width??r.width,height:r.measured?.height??r.height};return(0,s.kM)(i)},i=(e,n,o={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){let e="function"==typeof n?n(t):n;return o.replace&&ee(e)?e:{...t,...e}}return t}))},l=(e,t,n={replace:!1})=>{r(o=>o.map(o=>{if(o.id===e){let e="function"==typeof t?t(o):t;return n.replace&&et(e)?e:{...o,...e}}return o}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:r,addNodes:e=>{let t=Array.isArray(e)?e:[e];o.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];o.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:t=[],transform:o}=n.getState(),[r,a,i]=o;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:r,y:a,zoom:i}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{let{nodes:o,edges:r,onNodesDelete:a,onEdgesDelete:i,triggerNodeChanges:l,triggerEdgeChanges:d,onDelete:c,onBeforeDelete:u}=n.getState(),{nodes:g,edges:f}=await (0,s.Tq)({nodesToRemove:e,edgesToRemove:t,nodes:o,edges:r,onBeforeDelete:u}),p=f.length>0,h=g.length>0;if(p){let e=f.map(U);i?.(f),d(e)}if(h){let e=g.map(U);a?.(g),l(e)}return(h||p)&&c?.({nodes:g,edges:f}),{deletedNodes:g,deletedEdges:f}},getIntersectingNodes:(e,t=!0,o)=>{let r=(0,s.mW)(e),i=r?e:a(e),l=void 0!==o;return i?(o||n.getState().nodes).filter(o=>{let a=n.getState().nodeLookup.get(o.id);if(a&&!r&&(o.id===e.id||!a.internals.positionAbsolute))return!1;let d=(0,s.kM)(l?o:a),c=(0,s.X6)(d,i);return t&&c>0||c>=d.width*d.height||c>=i.width*i.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let o=(0,s.mW)(e)?e:a(e);if(!o)return!1;let r=(0,s.X6)(o,t);return n&&r>0||r>=t.width*t.height||r>=o.width*o.height},updateNode:i,updateNodeData:(e,t,n={replace:!1})=>{i(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},updateEdge:l,updateEdgeData:(e,t,n={replace:!1})=>{l(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},getNodesBounds:e=>{let{nodeLookup:t,nodeOrigin:o}=n.getState();return(0,s.Jo)(e,{nodeLookup:t,nodeOrigin:o})},getHandleConnections:({type:e,id:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{let t=n.getState().fitViewResolver??(0,s.YN)();return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:t}),o.nodeQueue.push(e=>[...e]),t.promise}}},[]);return(0,i.useMemo)(()=>({...a,...t,viewportInitialized:r}),[r])}let ed=e=>e.selected,ec="u">typeof window?window:void 0,eu={position:"absolute",width:"100%",height:"100%",top:0,left:0},eg=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function ef({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:l=s.ny.Free,zoomOnDoubleClick:d=!0,panOnDrag:u=!0,defaultViewport:g,translateExtent:f,minZoom:p,maxZoom:y,zoomActivationKeyCode:x,preventScrolling:b=!0,children:S,noWheelClassName:w,noPanClassName:v,onViewportChange:C,isControlledViewport:E,paneClickDistance:N,selectionOnDrag:k}){let M,P=m(),A=(0,i.useRef)(null),{userSelectionActive:R,lib:_,connectionInProgress:j}=h(eg,c.x),D=H(x),I=(0,i.useRef)();M=m(),(0,i.useEffect)(()=>{let e=()=>{if(!A.current||!(A.current.checkVisibility?.()??!0))return!1;let e=(0,s.Eo)(A.current);(0===e.height||0===e.width)&&M.getState().onError?.("004",s.xc.error004()),M.setState({width:e.width||500,height:e.height||500})};if(A.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(A.current),()=>{window.removeEventListener("resize",e),t&&A.current&&t.unobserve(A.current)}}},[]);let z=(0,i.useCallback)(e=>{C?.({x:e[0],y:e[1],zoom:e[2]}),E||P.setState({transform:e})},[C,E]);return(0,i.useEffect)(()=>
1{if(A.current){I.current=(0,s.kO)({domNode:A.current,minZoom:p,maxZoom:y,translateExtent:f,viewport:g,onDraggingChange:e=>P.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:o}=P.getState();o?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:o}=P.getState();o?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:o}=P.getState();o?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=I.current.getViewport();return P.setState({panZoom:I.current,transform:[e,t,n],domNode:A.current.closest(".react-flow")}),()=>{I.current?.destroy()}}},[]),(0,i.useEffect)(()=>{I.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:l,zoomOnDoubleClick:d,panOnDrag:u,zoomActivationKeyPressed:D,preventScrolling:b,noPanClassName:v,userSelectionActive:R,noWheelClassName:w,lib:_,onTransformChange:z,connectionInProgress:j,selectionOnDrag:k,paneClickDistance:N})},[e,t,n,o,r,l,d,u,D,b,v,R,w,_,z,j,k,N]),(0,a.jsx)("div",{className:"react-flow__renderer",ref:A,style:eu,children:S})}let ep=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function eh(){let{userSelectionActive:e,userSelectionRect:t}=h(ep,c.x);return e&&t?(0,a.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}let em=(e,t)=>n=>{n.target===t.current&&e?.(n)},ey=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function ex({isSelecting:e,selectionKeyPressed:t,selectionMode:n=s.Qc.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:d,selectionOnDrag:u,onSelectionStart:g,onSelectionEnd:f,onPaneClick:p,onPaneContextMenu:y,onPaneScroll:x,onPaneMouseEnter:b,onPaneMouseMove:S,onPaneMouseLeave:w,children:v}){let C=(0,i.useRef)(0),E=m(),{userSelectionActive:N,elementsSelectable:k,dragging:M,connectionInProgress:P,panBy:A,autoPanSpeed:R}=h(ey,c.x),_=k&&(e||N),j=(0,i.useRef)(null),D=(0,i.useRef)(),I=(0,i.useRef)(new Set),z=(0,i.useRef)(new Set),O=(0,i.useRef)(!1),L=(0,i.useRef)({x:0,y:0}),$=(0,i.useRef)(!1),B=e=>{if(O.current||P){O.current=!1;return}p?.(e),E.getState().resetSelectedElements(),E.setState({nodesSelectionActive:!1})};function V(e,t){let{userSelectionRect:o}=E.getState();if(!o)return;let{transform:r,nodeLookup:a,edgeLookup:i,connectionLookup:l,triggerNodeChanges:d,triggerEdgeChanges:c,defaultEdgeOptions:u}=E.getState(),g={x:o.startX,y:o.startY},{x:f,y:p}=(0,s.zj)(g,r),h={startX:g.x,startY:g.y,x:e<f?e:f,y:t<p?t:p,width:Math.abs(e-f),height:Math.abs(t-p)},m=I.current,y=z.current;I.current=new Set((0,s.U$)(a,h,r,n===s.Qc.Partial,!0).map(e=>e.id)),z.current=new Set;let x=u?.selectable??!0;for(let e of I.current){let t=l.get(e);if(t)for(let{edgeId:e}of t.values()){let t=i.get(e);t&&(t.selectable??x)&&z.current.add(e)}}(0,s._s)(m,I.current)||d(Y(a,I.current,!0)),(0,s._s)(y,z.current)||c(Y(i,z.current)),E.setState({userSelectionRect:h,userSelectionActive:!0,nodesSelectionActive:!1})}let H=()=>{cancelAnimationFrame(C.current),C.current=0,$.current=!1};(0,i.useEffect)(()=>()=>H(),[]);let F=!0===o||Array.isArray(o)&&o.includes(0);return(0,a.jsxs)("div",{className:(0,l.A)(["react-flow__pane",{draggable:F,dragging:M,selection:e}]),onClick:_?void 0:em(B,j),onContextMenu:em(e=>{Array.isArray(o)&&o?.includes(2)?e.preventDefault():y?.(e)},j),onWheel:em(x?e=>x(e):void 0,j),onPointerEnter:_?void 0:b,onPointerMove:_?e=>{let{userSelectionRect:n,transform:o,resetSelectedElements:a}=E.getState();if(!D.current||!n)return;let{x:i,y:l}=(0,s.q1)(e.nativeEvent,D.current);L.current={x:i,y:l};let c=(0,s.zj)({x:n.startX,y:n.startY},o);if(!O.current){if(Math.hypot(i-c.x,l-c.y)<=(t?0:d))return;a(),g?.(e)}O.current=!0,$.current||(!function e(){if(!r||!D.current)return;let[t,n]=(0,s._7)(L.current,D.current,R);A({x:t,y:n}).then(t=>{if(!O.current||!t){C.current=requestAnimationFrame(e);return}let{x:n,y:o}=L.current;V(n,o),C.current=requestAnimationFrame(e)})}(),$.current=!0),V(i,l)}:S,onPointerUp:_?e=>{0===e.button&&(e.target?.releasePointerCapture?.(e.pointerId),!N&&e.target===j.current&&E.getState().userSelectionRect&&B?.(e),E.setState({userSelectionActive:!1,userSelectionRect:null}),O.current&&(f?.(e),E.setState({nodesSelectionActive:I.current.size>0})),H())}:void 0,onPointerCancel:_?e=>{e.target?.releasePointerCapture?.(e.pointerId),H()}:void 0,onPointerDownCapture:_?n=>
1{let{domNode:o,transform:r}=E.getState();if(D.current=o?.getBoundingClientRect(),!D.current)return;let a=n.target===j.current;if(!a&&n.target.closest(".nokey")||!e||!(u&&a||t)||0!==n.button||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),O.current=!1;let{x:i,y:l}=(0,s.q1)(n.nativeEvent,D.current),d=(0,s.Ff)({x:i,y:l},r);E.setState({userSelectionRect:{width:0,height:0,startX:d.x,startY:d.y,x:i,y:l}}),a||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:_?e=>{O.current&&(e.stopPropagation(),O.current=!1)}:void 0,onPointerLeave:w,ref:j,style:eu,children:[v,(0,a.jsx)(eh,{})]})}function eb({id:e,store:t,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:a,multiSelectionActive:i,nodeLookup:l,onError:d}=t.getState(),c=l.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&i)&&(a({nodes:[c],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([e])):d?.("012",s.xc.error012(e))}function eS({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:r,isSelectable:a,nodeClickDistance:l}){let d=m(),[c,u]=(0,i.useState)(!1),g=(0,i.useRef)();return(0,i.useEffect)(()=>{g.current=(0,s.I$)({getStoreItems:()=>d.getState(),onNodeMouseDown:t=>{eb({id:t,store:d,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),(0,i.useEffect)(()=>{if(!t&&e.current&&g.current)return g.current.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:a,nodeId:r,nodeClickDistance:l}),()=>{g.current?.destroy()}},[n,o,t,a,e,r,l]),c}function ew(){let e=m();return(0,i.useCallback)(t=>{let{nodeExtent:n,snapToGrid:o,snapGrid:r,nodesDraggable:a,onError:i,updateNodePositions:l,nodeLookup:d,nodeOrigin:c}=e.getState(),u=new Map,g=e=>e.selected&&(e.draggable||a&&void 0===e.draggable),f=o?r[0]:5,p=o?r[1]:5,h=t.direction.x*f*t.factor,m=t.direction.y*p*t.factor;for(let[,e]of d){if(!g(e))continue;let t={x:e.internals.positionAbsolute.x+h,y:e.internals.positionAbsolute.y+m};o&&(t=(0,s.s_)(t,r));let{position:a,positionAbsolute:l}=(0,s.aE)({nodeId:e.id,nextPosition:t,nodeLookup:d,nodeExtent:n,nodeOrigin:c,onError:i});e.position=a,e.internals.positionAbsolute=l,u.set(e.id,e)}l(u)},[])}let ev=(0,i.createContext)(null),eC=ev.Provider;ev.Consumer;let eE=()=>(0,i.useContext)(ev),eN=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),ek=(0,i.memo)(en(function({type:e="source",position:t=s.yX.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:i=!0,id:d,onConnect:u,children:g,className:f,onMouseDown:p,onTouchStart:y,...x},b){let S=d||null,w="target"===e,v=m(),C=eE(),{connectOnClick:E,noPanClassName:N,rfId:k}=h(eN,c.x),{connectingFrom:M,connectingTo:P,clickConnecting:A,isPossibleEndHandle:R,connectionInProcess:_,clickConnectionInProcess:j,valid:D}=h(t=>{let{connectionClickStartHandle:n,connectionMode:o,connection:r}=t,{fromHandle:a,toHandle:i,isValid:l}=r,d=i?.nodeId===C&&i?.id===S&&i?.type===e;return{connectingFrom:a?.nodeId===C&&a?.id===S&&a?.type===e,connectingTo:d,clickConnecting:n?.nodeId===C&&n?.id===S&&n?.type===e,isPossibleEndHandle:o===s.WZ.Strict?a?.type!==e:C!==a?.nodeId||S!==a?.id,connectionInProcess:!!a,clickConnectionInProcess:!!n,valid:d&&l}},c.x);C||v.getState().onError?.("010",s.xc.error010());let I=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=v.getState(),r={...t,...e};if(o){let{edges:e,setEdges:t,onError:n}=v.getState();t(G(r,e,{onError:n}))}n?.(r),u?.(r)},z=e=>{if(!C)return;let t=(0,s.Er)(e.nativeEvent);if(r&&(t&&0===e.button||!t)){let t=v.getState();s.aQ.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:w,handleId:S,nodeId:C,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>v.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:I,isValidConnection:n||((...e)=>v.getState().isValidConnection?.(...e)??!0),getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?p?.(e):y?.(e)};return(0,a.jsx)("div",{"data-handleid":S,"data-nodeid":C,"data-handlepos":t,"data-id":`${k}-${C}-${S}-${e}`,className:(0,l.A)(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",N,f,{source:!w,target:w,connectable:o,connectablestart:r,connectableend:i,clickconnecting:A,connectingfrom:M,connectingto:P,valid:D,connectionindicator:o&&(!_||R)&&(_||j?i:r)}]),onMouseDown:z,onTouchStart:z,onClick:E?t=>{let{onClickConnectStart:o,onClickConnectEnd:a,connectionClickStartHandle:i,connectionMode:l,isValidConnection:d,lib:c,rfId:u,nodeLookup:g,connection:f}=v.getState();if(!C||!i&&!r)return;if(!i){o?.(t.nativeEvent,{nodeId:C,handleId:S,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:C,type:e,id:S}});return}let p=(0,s.oj)(t.target),h=n||d,{connection:m,isValid:y}=s.aQ.isValid(t.nativeEvent,{handle:{nodeId:C,id:S,type:e},connectionMode:l,fromNodeId:i.nodeId,fromHandleId:i.id||null,fromType:i.type,isValidConnection:h,flowId:u,doc:p,lib:c,nodeLookup:g});y&&m&&I(m);let x=structuredClone(f);delete x.inProgress,x.toPosition=x.toHandle?x.toHandle.position:null,a?.(t,x),v.setState({connectionClickStartHandle:null})}:void 0,ref:b,...x,children:g})})),eM={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},eP={input:function({data:e,isConnectable:t,sourcePosition:n=s.yX.Bottom}){return(0,a.jsxs)(a.Fragment,{children:[e?.label,(0,a.jsx)(ek,{type:"source",position:n,isConnectable:t})]})},default:function({data:e,isConnectable:t,targetPosition:n=s.yX.Top,sourcePosition:o=s.yX.Bottom}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ek,{type:"target",position:n,isConnectable:t}),e?.label,(0,a.jsx)(ek,{type:"source",position:o,isConnectable:t})]})},output:function({data:e,isConnectable:t,targetPosition:n=s.yX.Top}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ek,{type:"target",position:n,isConnectable:t}),e?.label]})},group:function(){return null}},eA=e=>{let{width:t,height:n,x:o,y:r}=(0,s.aZ)(e.nodeLookup,{filter:e=>!!e.selected});return{width:(0,s.kf)(t)?t:null,height:(0,s.kf)(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${r}px)`}};function eR({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let o=m(),{width:r,height:s,transformString:d,userSelectionActive:u}=h(eA,c.x),g=ew(),f=(0,i.useRef)(null);(0,i.useEffect)(()=>{n||f.current?.focus({preventScroll:!0})},[n]);let p=!u&&null!==r&&null!==s;if(eS({nodeRef:f,disabled:!p}),!p)return null;let y=e?t=>{e(t,o.getState().nodes.filter(e=>e.selected))}:void 0;return(0,a.jsx)("div",{className:(0,l.A)(["react-flow__nodesselection","react-flow__container",t]),style:{transform:d},children:(0,a.jsx)("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:y,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(eM,e.key)&&(e.preventDefault(),g({direction:eM[e.key],factor:e.shiftKey?4:1}))},style:{width:r,height:s}})})}let e_="u">typeof window?window:void 0,ej=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function eD({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:l,onPaneScroll:s,paneClickDistance:d,deleteKeyCode:u,selectionKeyCode:g,selectionOnDrag:f,selectionMode:p,onSelectionStart:y,onSelectionEnd:x,multiSelectionKeyCode:b,panActivationKeyCode:S,zoomActivationKeyCode:w,elementsSelectable:v,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:N,panOnScrollSpeed:k,panOnScrollMode:M,zoomOnDoubleClick:P,panOnDrag:A,autoPanOnSelection:R,defaultViewport:_,translateExtent:j,minZoom:D,maxZoom:I,preventScrolling:z,onSelectionContextMenu:O,noWheelClassName:L,noPanClassName:$,disableKeyboardA11y:B,onViewportChange:V,isControlledViewport:F}){let{nodesSelectionActive:T,userSelectionActive:Z}=h(ej,c.x),X=H(g,{target:e_}),W=H(S,{target:e_}),K=W||A,Y=W||N,Q=f&&!0!==K,U=X||Z||Q;return!function({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=m(),{deleteElements:o}=es(),r=H(e,{actInsideInputWithModifier:!1}),a=H(t,{target:ec});(0,i.useEffect)(()=>
1{if(r){let{edges:e,nodes:t}=n.getState();o({nodes:t.filter(ed),edges:e.filter(ed)}),n.setState({nodesSelectionActive:!1})}},[r]),(0,i.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])}({deleteKeyCode:u,multiSelectionKeyCode:b}),(0,a.jsx)(ef,{onPaneContextMenu:l,elementsSelectable:v,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:Y,panOnScrollSpeed:k,panOnScrollMode:M,zoomOnDoubleClick:P,panOnDrag:!X&&K,defaultViewport:_,translateExtent:j,minZoom:D,maxZoom:I,zoomActivationKeyCode:w,preventScrolling:z,noWheelClassName:L,noPanClassName:$,onViewportChange:V,isControlledViewport:F,paneClickDistance:d,selectionOnDrag:Q,children:(0,a.jsxs)(ex,{onSelectionStart:y,onSelectionEnd:x,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:l,onPaneScroll:s,panOnDrag:K,autoPanOnSelection:R,isSelecting:!!U,selectionMode:p,selectionKeyPressed:X,paneClickDistance:d,selectionOnDrag:Q,children:[e,T&&(0,a.jsx)(eR,{onSelectionContextMenu:O,noPanClassName:$,disableKeyboardA11y:B})]})})}eD.displayName="FlowRenderer";let eI=(0,i.memo)(eD),ez=e=>e.updateNodeInternals;var eO=(0,i.memo)(function({id:e,onClick:t,onMouseEnter:n,onMouseMove:o,onMouseLeave:r,onContextMenu:d,onDoubleClick:u,nodesDraggable:g,elementsSelectable:f,nodesConnectable:p,nodesFocusable:y,resizeObserver:x,noDragClassName:S,noPanClassName:w,disableKeyboardA11y:v,rfId:C,nodeTypes:E,nodeClickDistance:N,onError:k}){let{node:M,internals:P,isParent:A}=h(t=>{let n=t.nodeLookup.get(e),o=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:o}},c.x),R=M.type||"default",_=E?.[R]||eP[R];void 0===_&&(k?.("003",s.xc.error003(R)),R="default",_=E?.default||eP.default);let j=!!(M.draggable||g&&void 0===M.draggable),D=!!(M.selectable||f&&void 0===M.selectable),I=!!(M.connectable||p&&void 0===M.connectable),z=!!(M.focusable||y&&void 0===M.focusable),O=m(),L=(0,s.QE)(M),$=function({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){let r=m(),a=(0,i.useRef)(null),l=(0,i.useRef)(null),s=(0,i.useRef)(e.sourcePosition),d=(0,i.useRef)(e.targetPosition),c=(0,i.useRef)(t),u=n&&!!e.internals.handleBounds;return(0,i.useEffect)(()=>{!a.current||e.hidden||u&&l.current===a.current||(l.current&&o?.unobserve(l.current),o?.observe(a.current),l.current=a.current)},[u,e.hidden]),(0,i.useEffect)(()=>()=>{l.current&&(o?.unobserve(l.current),l.current=null)},[]),(0,i.useEffect)(()=>{if(a.current){let n=c.current!==t,o=s.current!==e.sourcePosition,i=d.current!==e.targetPosition;(n||o||i)&&(c.current=t,s.current=e.sourcePosition,d.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}({node:M,nodeType:R,hasDimensions:L,resizeObserver:x}),B=eS({nodeRef:$,disabled:M.hidden||!j,noDragClassName:S,handleSelector:M.dragHandle,nodeId:e,isSelectable:D,nodeClickDistance:N}),V=ew();if(M.hidden)return null;let H=(0,s.uD)(M),F=void 0===M.internals.handleBounds?{width:M.width??M.initialWidth??M.style?.width,height:M.height??M.initialHeight??M.style?.height}:{width:M.width??M.style?.width,height:M.height??M.style?.height},T=D||j||t||n||o||r,Z=n?e=>n(e,{...P.userNode}):void 0,X=o?e=>o(e,{...P.userNode}):void 0,W=r?e=>r(e,{...P.userNode}):void 0,K=d?e=>d(e,{...P.userNode}):void 0,Y=u?e=>u(e,{...P.userNode}):void 0;return(0,a.jsx)("div",{className:(0,l.A)(["react-flow__node",`react-flow__node-${R}`,{[w]:j},M.className,{selected:M.selected,selectable:D,parent:A,draggable:j,dragging:B}]),ref:$,style:{zIndex:P.z,transform:`translate(${P.positionAbsolute.x}px,${P.positionAbsolute.y}px)`,pointerEvents:T?"all":"none",visibility:L?"visible":"hidden",...M.style,...F},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:Z,onMouseMove:X,onMouseLeave:W,onContextMenu:K,onClick:n=>{let{selectNodesOnDrag:o,nodeDragThreshold:r}=O.getState();D&&(!o||!j||r>0)&&eb({id:e,store:O,nodeRef:$}),t&&t(n,{...P.userNode})},onDoubleClick:Y,onKeyDown:z?t=>{if(!(0,s.v5)(t.nativeEvent)&&!v){if(s.tn.includes(t.key)&&D)eb({id:e,store:O,unselect:"Escape"===t.key,nodeRef:$});else if(j&&M.selected&&Object.prototype.hasOwnProperty.call(eM,t.key)){t.preventDefault();let{ariaLabelConfig:e}=O.getState();
1O.setState({ariaLiveMessage:e["node.a11yDescription.ariaLiveMessage"]({direction:t.key.replace("Arrow","").toLowerCase(),x:~~P.positionAbsolute.x,y:~~P.positionAbsolute.y})}),V({direction:eM[t.key],factor:t.shiftKey?4:1})}}}:void 0,tabIndex:z?0:void 0,onFocus:z?()=>{if(v||!$.current?.matches(":focus-visible"))return;let{transform:t,width:n,height:o,autoPanOnNodeFocus:r,setCenter:a}=O.getState();!r||(0,s.U$)(new Map([[e,M]]),{x:0,y:0,width:n,height:o},t,!0).length>0||a(M.position.x+H.width/2,M.position.y+H.height/2,{zoom:t[2]})}:void 0,role:M.ariaRole??(z?"group":void 0),"aria-roledescription":"node","aria-describedby":v?void 0:`${b}-${C}`,"aria-label":M.ariaLabel,...M.domAttributes,children:(0,a.jsx)(eC,{value:e,children:(0,a.jsx)(_,{id:e,data:M.data,type:R,positionAbsoluteX:P.positionAbsolute.x,positionAbsoluteY:P.positionAbsolute.y,selected:M.selected??!1,selectable:D,draggable:j,deletable:M.deletable??!0,isConnectable:I,sourcePosition:M.sourcePosition,targetPosition:M.targetPosition,dragging:B,dragHandle:M.dragHandle,zIndex:P.z,parentId:M.parentId,...H})})})});let eL=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function e$(e){var t;let{nodesDraggable:n,nodesConnectable:o,nodesFocusable:r,elementsSelectable:l,onError:d}=h(eL,c.x),u=(t=e.onlyRenderVisibleElements,h((0,i.useCallback)(e=>t?(0,s.U$)(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),c.x)),g=function(){let e=h(ez),[t]=(0,i.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,i.useEffect)(()=>()=>{t?.disconnect()},[t]),t}();return(0,a.jsx)("div",{className:"react-flow__nodes",style:eu,children:u.map(t=>(0,a.jsx)(eO,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:g,nodesDraggable:n,nodesConnectable:o,nodesFocusable:r,elementsSelectable:l,nodeClickDistance:e.nodeClickDistance,onError:d},t))})}e$.displayName="NodeRenderer";let eB=(0,i.memo)(e$),eV={[s.TG.Arrow]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,a.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[s.TG.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,a.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},eH=({id:e,type:t,color:n,width:o=12.5,height:r=12.5,markerUnits:l="strokeWidth",strokeWidth:d,orient:c="auto-start-reverse"})=>{let u,g=(u=m(),(0,i.useMemo)(()=>Object.prototype.hasOwnProperty.call(eV,t)?eV[t]:(u.getState().onError?.("009",s.xc.error009(t)),null),[t]));return g?(0,a.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:c,refX:"0",refY:"0",children:(0,a.jsx)(g,{color:n,strokeWidth:d})}):null},eF=({defaultColor:e,rfId:t})=>{let n=h(e=>e.edges),o=h(e=>e.defaultEdgeOptions),r=(0,i.useMemo)(()=>(0,s.Hm)(n,{id:t,defaultColor:e,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[n,o,t,e]);return r.length?(0,a.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,a.jsx)("defs",{children:r.map(e=>(0,a.jsx)(eH,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};eF.displayName="MarkerDefinitions";var eT=(0,i.memo)(eF);function eZ({x:e,y:t,label:n,labelStyle:o,labelShowBg:r=!0,labelBgStyle:s,labelBgPadding:d=[2,4],labelBgBorderRadius:c=2,children:u,className:g,...f}){let[p,h]=(0,i.useState)({x:1,y:0,width:0,height:0}),m=(0,l.A)(["react-flow__edge-textwrapper",g]),y=(0,i.useRef)(null);return((0,i.useEffect)(()=>
1{if(y.current){let e=y.current.getBBox();h({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n)?(0,a.jsxs)("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...f,children:[r&&(0,a.jsx)("rect",{width:p.width+2*d[0],x:-d[0],y:-d[1],height:p.height+2*d[1],className:"react-flow__edge-textbg",style:s,rx:c,ry:c}),(0,a.jsx)("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:y,style:o,children:n}),u]}):null}eZ.displayName="EdgeText";let eX=(0,i.memo)(eZ);function eW({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:d,labelBgPadding:c,labelBgBorderRadius:u,interactionWidth:g=20,...f}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{...f,d:e,fill:"none",className:(0,l.A)(["react-flow__edge-path",f.className])}),g?(0,a.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}):null,o&&(0,s.kf)(t)&&(0,s.kf)(n)?(0,a.jsx)(eX,{x:t,y:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:d,labelBgPadding:c,labelBgBorderRadius:u}):null]})}function eK({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===s.yX.Left||e===s.yX.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function eY({sourceX:e,sourceY:t,sourcePosition:n=s.yX.Bottom,targetX:o,targetY:r,targetPosition:a=s.yX.Top}){let[i,l]=eK({pos:n,x1:e,y1:t,x2:o,y2:r}),[d,c]=eK({pos:a,x1:o,y1:r,x2:e,y2:t}),[u,g,f,p]=(0,s.e_)({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:i,sourceControlY:l,targetControlX:d,targetControlY:c});return[`M${e},${t} C${i},${l} ${d},${c} ${o},${r}`,u,g,f,p]}function eQ(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:l,targetPosition:s,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:y,interactionWidth:x})=>{let[b,S,w]=eY({sourceX:n,sourceY:o,sourcePosition:l,targetX:r,targetY:i,targetPosition:s}),v=e.isInternal?void 0:t;return(0,a.jsx)(eW,{id:v,path:b,labelX:S,labelY:w,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:y,interactionWidth:x})})}let eU=eQ({isInternal:!1}),eq=eQ({isInternal:!0});function eG(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,sourcePosition:h=s.yX.Bottom,targetPosition:m=s.yX.Top,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:S})=>{let[w,v,C]=(0,s.oN)({sourceX:n,sourceY:o,sourcePosition:h,targetX:r,targetY:i,targetPosition:m,borderRadius:b?.borderRadius,offset:b?.offset,stepPosition:b?.stepPosition}),E=e.isInternal?void 0:t;return(0,a.jsx)(eW,{id:E,path:w,labelX:v,labelY:C,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:y,markerStart:x,interactionWidth:S})})}eU.displayName="SimpleBezierEdge",eq.displayName="SimpleBezierEdgeInternal";let eJ=eG({isInternal:!1}),e0=eG({isInternal:!0});function e1(e){return(0,i.memo)(({id:t,...n})=>{let o=e.isInternal?void 0:t;return(0,a.jsx)(eJ,{...n,id:o,pathOptions:(0,i.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}eJ.displayName="SmoothStepEdge",e0.displayName="SmoothStepEdgeInternal";let e3=e1({isInternal:!1}),e2=e1({isInternal:!0});function e4(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:h,markerStart:m,interactionWidth:y})=>{let[x,b,S]=(0,s.ah)({sourceX:n,sourceY:o,targetX:r,targetY:i}),w=e.isInternal?void 0:t;return(0,a.jsx)(eW,{id:w,path:x,labelX:b,labelY:S,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:h,markerStart:m,interactionWidth:y})})}e3.displayName="StepEdge",e2.displayName="StepEdgeInternal";let e5=e4({isInternal:!1}),e6=e4({isInternal:!0});function e7(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:l=s.yX.Bottom,targetPosition:d=s.yX.Top,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:h,style:m,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:S})=>
1{let[w,v,C]=(0,s.Fp)({sourceX:n,sourceY:o,sourcePosition:l,targetX:r,targetY:i,targetPosition:d,curvature:b?.curvature}),E=e.isInternal?void 0:t;return(0,a.jsx)(eW,{id:E,path:w,labelX:v,labelY:C,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:h,style:m,markerEnd:y,markerStart:x,interactionWidth:S})})}e5.displayName="StraightEdge",e6.displayName="StraightEdgeInternal";let e8=e7({isInternal:!1}),e9=e7({isInternal:!0});e8.displayName="BezierEdge",e9.displayName="BezierEdgeInternal";let te={default:e9,straight:e6,step:e2,smoothstep:e0,simplebezier:eq},tt={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},tn="react-flow__edgeupdater";function to({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:i,onMouseOut:d,type:c}){return(0,a.jsx)("circle",{onMouseDown:r,onMouseEnter:i,onMouseOut:d,className:(0,l.A)([tn,`${tn}-${c}`]),cx:e===s.yX.Left?t-o:e===s.yX.Right?t+o:t,cy:e===s.yX.Top?n-o:e===s.yX.Bottom?n+o:n,r:o,stroke:"transparent",fill:"transparent"})}function tr({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:o,sourceY:r,targetX:i,targetY:l,sourcePosition:d,targetPosition:c,onReconnect:u,onReconnectStart:g,onReconnectEnd:f,setReconnecting:p,setUpdateHover:h}){let y=m(),x=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:o,domNode:r,connectionMode:a,connectionRadius:i,lib:l,onConnectStart:d,cancelConnection:c,nodeLookup:h,rfId:m,panBy:x,updateConnection:b}=y.getState(),S="target"===t.type;s.aQ.onPointerDown(e.nativeEvent,{autoPanOnConnect:o,connectionMode:a,connectionRadius:i,domNode:r,handleId:t.id,nodeId:t.nodeId,nodeLookup:h,isTarget:S,edgeUpdaterType:t.type,lib:l,flowId:m,cancelConnection:c,panBy:x,isValidConnection:(...e)=>y.getState().isValidConnection?.(...e)??!0,onConnect:e=>u?.(n,e),onConnectStart:(o,r)=>{p(!0),g?.(e,n,t.type),d?.(o,r)},onConnectEnd:(...e)=>y.getState().onConnectEnd?.(...e),onReconnectEnd:(e,o)=>{p(!1),f?.(e,n,t.type,o)},updateConnection:b,getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,dragThreshold:y.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},b=()=>h(!0),S=()=>h(!1);return(0,a.jsxs)(a.Fragment,{children:[(!0===e||"source"===e)&&(0,a.jsx)(to,{position:d,centerX:o,centerY:r,radius:t,onMouseDown:e=>x(e,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),onMouseEnter:b,onMouseOut:S,type:"source"}),(!0===e||"target"===e)&&(0,a.jsx)(to,{position:c,centerX:i,centerY:l,radius:t,onMouseDown:e=>x(e,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),onMouseEnter:b,onMouseOut:S,type:"target"})]})}var ta=(0,i.memo)(function({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:o,onClick:r,onDoubleClick:d,onContextMenu:u,onMouseEnter:g,onMouseMove:f,onMouseLeave:p,reconnectRadius:y,onReconnect:x,onReconnectStart:b,onReconnectEnd:w,rfId:v,edgeTypes:C,noPanClassName:E,onError:N,disableKeyboardA11y:k}){let M=h(t=>t.edgeLookup.get(e)),P=h(e=>e.defaultEdgeOptions),A=(M=P?{...P,...M}:M).type||"default",R=C?.[A]||te[A];void 0===R&&(N?.("011",s.xc.error011(A)),A="default",R=C?.default||te.default);let _=!!(M.focusable||t&&void 0===M.focusable),j=void 0!==x&&(M.reconnectable||n&&void 0===M.reconnectable),D=!!(M.selectable||o&&void 0===M.selectable),I=(0,i.useRef)(null),[z,O]=(0,i.useState)(!1),[L,$]=(0,i.useState)(!1),B=m(),{zIndex:V,sourceX:H,sourceY:F,targetX:T,targetY:Z,sourcePosition:X,targetPosition:W}=h((0,i.useCallback)(t=>{let n=t.nodeLookup.get(M.source),o=t.nodeLookup.get(M.target);if(!n||!o)return{zIndex:M.zIndex,...tt};let r=(0,s.b5)({id:e,sourceNode:n,targetNode:o,sourceHandle:M.sourceHandle||null,targetHandle:M.targetHandle||null,connectionMode:t.connectionMode,onError:N});return{zIndex:(0,s.qX)({selected:M.selected,zIndex:M.zIndex,sourceNode:n,targetNode:o,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode}),...r||tt}},[M.source,M.target,M.sourceHandle,M.targetHandle,M.selected,M.zIndex]),c.x),K=(0,i.useMemo)(()=>M.markerStart?`url('#${(0,s.aW)(M.markerStart,v)}')`:void 0,[M.markerStart,v]),Y=(0,i.useMemo)(()=>M.markerEnd?`url('#${(0,s.aW)(M.markerEnd,v)}')`:void 0,[M.markerEnd,v]);if(M.hidden||null===H||null===F||null===T||null===Z)return null;let Q=d?e=>{d(e,{...M})}:void 0,U=u?e=>{u(e,{...M})}:void 0,q=g?e=>{g(e,{...M})}:void 0,G=f?e=>{f(e,{...M})}:void 0,J=p?e=>{p(e,{...M})}:void 0;return(0,a.jsx)("svg",{style:{zIndex:V},children:(0,a.jsxs)("g",{className:(0,l.A)(["react-flow__edge",`react-flow__edge-${A}`,M.className,E,{selected:M.selected,animated:M.animated,inactive:!D&&!r,updating:z,selectable:D}]),onClick:t=>{let{addSelectedEdges:n,unselectNodesAndEdges:o,multiSelectionActive:a}=B.getState();D&&(B.setState({nodesSelectionActive:!1}),M.selected&&a?(o({nodes:[],edges:[M]}),I.current?.blur()):n([e])),r&&r(t,M)},onDoubleClick:Q,onContextMenu:U,onMouseEnter:q,onMouseMove:G,onMouseLeave:J,onKeyDown:_?t=>{if(!k&&s.tn.includes(t.key)&&D){let{unselectNodesAndEdges:n,addSelectedEdges:o}=B.getState();"Escape"===t.key?(I.current?.blur(),n({edges:[M]})):o([e])}}:void 0,tabIndex:_?0:void 0,role:M.ariaRole??(_?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":null===M.ariaLabel?void 0:M.ariaLabel||`Edge from ${M.source} to ${M.target}`,"aria-describedby":_?`${S}-${v}`:void 0,ref:I,...M.domAttributes,children:[!L&&(0,a.jsx)(R,{id:e,source:M.source,target:M.target,type:M.type,selected:M.selected,animated:M.animated,selectable:D,deletable:M.deletable??!0,label:M.label,labelStyle:M.labelStyle,labelShowBg:M.labelShowBg,labelBgStyle:M.labelBgStyle,labelBgPadding:M.labelBgPadding,labelBgBorderRadius:M.labelBgBorderRadius,sourceX:H,sourceY:F,targetX:T,targetY:Z,sourcePosition:X,targetPosition:W,data:M.data,style:M.style,sourceHandleId:M.sourceHandle,targetHandleId:M.targetHandle,markerStart:K,markerEnd:Y,pathOptions:"pathOptions"in M?M.pathOptions:void 0,interactionWidth:M.interactionWidth}),j&&(0,a.jsx)(tr,{edge:M,isReconnectable:j,reconnectRadius:y,onReconnect:x,onReconnectStart:b,onReconnectEnd:w,sourceX:H,sourceY:F,targetX:T,targetY:Z,sourcePosition:X,targetPosition:W,setUpdateHover:O,setReconnecting:$})]})})});let ti=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function tl({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:o,noPanClassName:r,onReconnect:l,onEdgeContextMenu:d,onEdgeMouseEnter:u,onEdgeMouseMove:g,onEdgeMouseLeave:f,onEdgeClick:p,reconnectRadius:m,onEdgeDoubleClick:y,onReconnectStart:x,onReconnectEnd:b,disableKeyboardA11y:S}){let{edgesFocusable:w,edgesReconnectable:v,elementsSelectable:C,onError:E}=h(ti,c.x),N=h((0,i.useCallback)(e=>{if(!t)return e.edges.map(e=>e.id);let n=[];if(e.width&&e.height)for(let t of e.edges){let o=e.nodeLookup.get(t.source),r=e.nodeLookup.get(t.target);o&&r&&(0,s.uj)({sourceNode:o,targetNode:r,width:e.width,height:e.height,transform:e.transform})&&n.push(t.id)}return n},[t]),c.x);return(0,a.jsxs)("div",{className:"react-flow__edges",children:[(0,a.jsx)(eT,{defaultColor:e,rfId:n}),N.map(e=>(0,a.jsx)(ta,{id:e,edgesFocusable:w,edgesReconnectable:v,elementsSelectable:C,noPanClassName:r,onReconnect:l,onContextMenu:d,onMouseEnter:u,onMouseMove:g,onMouseLeave:f,onClick:p,reconnectRadius:m,onDoubleClick:y,onReconnectStart:x,onReconnectEnd:b,rfId:n,onError:E,edgeTypes:o,disableKeyboardA11y:S},e))]})}tl.displayName="EdgeRenderer";let ts=(0,i.memo)(tl),td=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function tc({children:e}){let t=h(td);return(0,a.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}let tu=e=>e.panZoom?.syncViewport;function tg(e){return e.connection.inProgress?{...e.connection,to:(0,s.Ff)(e.connection.to,e.transform)}:{...e.connection}}function tf(e){return h(e?t=>e(tg(t)):tg,c.x)}let tp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function th({containerStyle:e,style:t,type:n,component:o}){let{nodesConnectable:r,width:i,height:d,isValid:u,inProgress:g}=h(tp,c.x);return i&&r&&g?(0,a.jsx)("svg",{style:e,width:i,height:d,className:"react-flow__connectionline react-flow__container",children:(0,a.jsx)("g",{className:(0,l.A)(["react-flow__connection",(0,s.HF)(u)]),children:(0,a.jsx)(tm,{style:t,type:n,CustomComponent:o,isValid:u})})}):null}let tm=({style:e,type:t=s.Do.Bezier,CustomComponent:n,isValid:o})=>{let{inProgress:r,from:i,fromNode:l,fromHandle:d,fromPosition:c,to:u,toNode:g,toHandle:f,toPosition:p,pointer:h}=tf();if(!r)return;if(n)return(0,a.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:l,fromHandle:d,fromX:i.x,fromY:i.y,toX:u.x,toY:u.y,fromPosition:c,toPosition:p,connectionStatus:(0,s.HF)(o),toNode:g,toHandle:f,pointer:h});let m="",y={sourceX:i.x,sourceY:i.y,sourcePosition:c,targetX:u.x,targetY:u.y,targetPosition:p};switch(t){case s.Do.Bezier:[m]=(0,s.Fp)(y);break;case s.Do.SimpleBezier:[m]=eY(y);break;case s.Do.Step:[m]=(0,s.oN)({...y,borderRadius:0});break;case s.Do.SmoothStep:[m]=(0,s.oN)(y);break;default:[m]=(0,s.ah)(y)}return(0,a.jsx)("path",{d:m,fill:"none",className:"react-flow__connection-path",style:e})};tm.displayName="ConnectionLine";let ty={};function tx(e=ty){(0,i.useRef)(e),m(),(0,i.useEffect)(()=>{},[e])}function tb({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:l,onEdgeDoubleClick:s,onNodeMouseEnter:d,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:g,onSelectionContextMenu:f,onSelectionStart:p,onSelectionEnd:y,connectionLineType:x,connectionLineStyle:b,connectionLineComponent:S,connectionLineContainerStyle:w,selectionKeyCode:v,selectionOnDrag:C,selectionMode:E,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:M,deleteKeyCode:P,onlyRenderVisibleElements:A,elementsSelectable:R,defaultViewport:_,translateExtent:j,minZoom:D,maxZoom:I,preventScrolling:z,defaultMarkerColor:O,zoomOnScroll:L,zoomOnPinch:$,panOnScroll:B,panOnScrollSpeed:V,panOnScrollMode:H,zoomOnDoubleClick:F,panOnDrag:T,autoPanOnSelection:Z,onPaneClick:X,onPaneMouseEnter:W,onPaneMouseMove:K,onPaneMouseLeave:Y,onPaneScroll:Q,onPaneContextMenu:U,paneClickDistance:q,nodeClickDistance:G,onEdgeContextMenu:J,onEdgeMouseEnter:ee,onEdgeMouseMove:et,onEdgeMouseLeave:en,reconnectRadius:eo,onReconnect:er,onReconnectStart:ea,onReconnectEnd:ei,noDragClassName:el,noWheelClassName:ed,noPanClassName:ec,disableKeyboardA11y:eu,nodeExtent:eg,rfId:ef,viewport:ep,onViewportChange:eh}){let em,ey,ex,eb;return tx(e),tx(t),m(),(0,i.useRef)(!1),(0,i.useEffect)(()=>{},[]),em=es(),ey=(0,i.useRef)(!1),(0,i.useEffect)(()=>{!ey.current&&em.viewportInitialized&&n&&(setTimeout(()=>n(em),1),ey.current=!0)}
1,[n,em.viewportInitialized]),ex=h(tu),eb=m(),(0,i.useEffect)(()=>{ep&&(ex?.(ep),eb.setState({transform:[ep.x,ep.y,ep.zoom]}))},[ep,ex]),(0,a.jsx)(eI,{onPaneClick:X,onPaneMouseEnter:W,onPaneMouseMove:K,onPaneMouseLeave:Y,onPaneContextMenu:U,onPaneScroll:Q,paneClickDistance:q,deleteKeyCode:P,selectionKeyCode:v,selectionOnDrag:C,selectionMode:E,onSelectionStart:p,onSelectionEnd:y,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:M,elementsSelectable:R,zoomOnScroll:L,zoomOnPinch:$,zoomOnDoubleClick:F,panOnScroll:B,panOnScrollSpeed:V,panOnScrollMode:H,panOnDrag:T,autoPanOnSelection:Z,defaultViewport:_,translateExtent:j,minZoom:D,maxZoom:I,onSelectionContextMenu:f,preventScrolling:z,noDragClassName:el,noWheelClassName:ed,noPanClassName:ec,disableKeyboardA11y:eu,onViewportChange:eh,isControlledViewport:!!ep,children:(0,a.jsxs)(tc,{children:[(0,a.jsx)(ts,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:er,onReconnectStart:ea,onReconnectEnd:ei,onlyRenderVisibleElements:A,onEdgeContextMenu:J,onEdgeMouseEnter:ee,onEdgeMouseMove:et,onEdgeMouseLeave:en,reconnectRadius:eo,defaultMarkerColor:O,noPanClassName:ec,disableKeyboardA11y:eu,rfId:ef}),(0,a.jsx)(th,{style:b,type:x,component:S,containerStyle:w}),(0,a.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,a.jsx)(eB,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:g,nodeClickDistance:G,onlyRenderVisibleElements:A,noPanClassName:ec,noDragClassName:el,disableKeyboardA11y:eu,nodeExtent:eg,rfId:ef}),(0,a.jsx)("div",{className:"react-flow__viewport-portal"})]})})}tb.displayName="GraphView";let tS=(0,i.memo)(tb),tw=(0,s.kr)("React Flow","https://reactflow.dev/"),tv=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:a,fitView:i,fitViewOptions:l,minZoom:d=.5,maxZoom:c=2,nodeOrigin:u,nodeExtent:g,zIndexMode:f="basic"}={})=>{let p=new Map,h=new Map,m=new Map,y=new Map,x=o??t??[],b=n??e??[],S=u??[0,0],w=g??s.ZO;(0,s.qn)(m,y,x);let{nodesInitialized:v}=(0,s.bi)(b,p,h,{nodeOrigin:S,nodeExtent:w,zIndexMode:f}),C=[0,0,1];if(i&&r&&a){let e=(0,s.aZ)(p,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),{x:t,y:n,zoom:o}=(0,s.R4)(e,r,a,d,c,l?.padding??.1);C=[t,n,o]}return{rfId:"1",width:r??0,height:a??0,transform:C,nodes:b,nodesInitialized:v,nodeLookup:p,parentLookup:h,edges:x,edgeLookup:y,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==o,panZoom:null,minZoom:d,maxZoom:c,translateExtent:s.ZO,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:s.WZ.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:S,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:i??!1,fitViewOptions:l,fitViewResolver:null,connection:{...s.bK},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:tw,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:s.tM,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function tC({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:o,initialWidth:r,initialHeight:l,initialMinZoom:c,initialMaxZoom:u,initialFitViewOptions:g,fitView:p,nodeOrigin:h,nodeExtent:m,zIndexMode:y,children:x}){let[b]=(0,i.useState)(()=>(({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:a,fitView:i,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:g,nodeExtent:f,zIndexMode:p})=>(0,d.h)((d,h)=>{async function m(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:o,width:r,height:a,minZoom:i,maxZoom:l}=h();t&&(await (0,s.IO)({nodes:e,width:r,height:a,panZoom:t,minZoom:i,maxZoom:l},n),o?.resolve(!0),d({fitViewResolver:null}))}return{...tv({nodes:e,edges:t,width:r,height:a,fitView:i,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:g,nodeExtent:f,defaultNodes:n,defaultEdges:o,zIndexMode:p}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:o,elevateNodesOnSelect:r,fitViewQueued:a,zIndexMode:i,nodesSelectionActive:l}=h(),{nodesInitialized:c,hasSelectedNodes:u}=(0,s.bi)(e,t,n,{nodeOrigin:o,nodeExtent:f,elevateNodesOnSelect:r,checkEquality:!0,zIndexMode:i}),g=l&&u;
1a&&c?(m(),d({nodes:e,nodesInitialized:c,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:g})):d({nodes:e,nodesInitialized:c,nodesSelectionActive:g})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=h();(0,s.qn)(t,n,e),d({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=h();t(e),d({hasDefaultNodes:!0})}if(t){let{setEdges:e}=h();e(t),d({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:o,domNode:r,nodeOrigin:a,nodeExtent:i,debug:l,fitViewQueued:c,zIndexMode:u}=h(),{changes:g,updatedInternals:f}=(0,s.uL)(e,n,o,r,a,i,u);f&&((0,s.vS)(n,o,{nodeOrigin:a,nodeExtent:i,zIndexMode:u}),c?(m(),d({fitViewQueued:!1,fitViewOptions:void 0})):d({}),g?.length>0&&(l&&console.log("React Flow: trigger node changes",g),t?.(g)))},updateNodePositions:(e,t=!1)=>{let n=[],o=[],{nodeLookup:r,triggerNodeChanges:a,connection:i,updateConnection:l,onNodesChangeMiddlewareMap:d}=h();for(let[a,d]of e){let e=r.get(a),c=!!(e?.expandParent&&e?.parentId&&d?.position),u={id:a,type:"position",position:c?{x:Math.max(0,d.position.x),y:Math.max(0,d.position.y)}:d.position,dragging:t};if(e&&i.inProgress&&i.fromNode.id===e.id){let t=(0,s.M_)(e,i.fromHandle,s.yX.Left,!0);l({...i,from:t})}c&&e.parentId&&n.push({id:a,parentId:e.parentId,rect:{...d.internals.positionAbsolute,width:d.measured.width??0,height:d.measured.height??0}}),o.push(u)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=h(),a=(0,s.r8)(n,r,e,t);o.push(...a)}for(let e of d.values())o=e(o);a(o)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:o,hasDefaultNodes:r,debug:a}=h();e?.length&&(r&&n(Z(e,o)),a&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:o,hasDefaultEdges:r,debug:a}=h();e?.length&&(r&&n(Z(e,o)),a&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:a}=h();t?r(e.map(e=>K(e,!0))):(r(Y(o,new Set([...e]),!0)),a(Y(n)))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:a}=h();t?a(e.map(e=>K(e,!0))):(a(Y(n,new Set([...e]))),r(Y(o,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:o,nodeLookup:r,triggerNodeChanges:a,triggerEdgeChanges:i}=h(),l=[];for(let t of e||o){if(!t.selected)continue;let e=r.get(t.id);e&&(e.selected=!1),l.push(K(t.id,!1))}let s=[];for(let e of t||n)e.selected&&s.push(K(e.id,!1));a(l),i(s)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=h();t?.setScaleExtent([e,n]),d({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=h();t?.setScaleExtent([n,e]),d({maxZoom:e})},setTranslateExtent:e=>{h().panZoom?.setTranslateExtent(e),d({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:o,elementsSelectable:r}=h();if(!r)return;let a=t.reduce((e,t)=>t.selected?[...e,K(t.id,!1)]:e,[]),i=e.reduce((e,t)=>t.selected?[...e,K(t.id,!1)]:e,[]);n(a),o(i)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:o,nodeOrigin:r,elevateNodesOnSelect:a,nodeExtent:i,zIndexMode:l}=h();(e[0][0]!==i[0][0]||e[0][1]!==i[0][1]||e[1][0]!==i[1][0]||e[1][1]!==i[1][1])&&((0,s.bi)(t,n,o,{nodeOrigin:r,nodeExtent:e,elevateNodesOnSelect:a,checkEquality:!1,zIndexMode:l}),d({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:o,panZoom:r,translateExtent:a}=h();return(0,s.No)({delta:e,panZoom:r,transform:t,translateExtent:a,width:n,height:o})},setCenter:async(e,t,n)=>{let{width:o,height:r,maxZoom:a,panZoom:i}=h();if(!i)return!1;let l=void 0!==n?.zoom?n.zoom:a;return await i.setViewport({x:o/2-e*l,y:r/2-t*l,zoom:l},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0},cancelConnection:()=>{d({connection:{...s.bK}})},updateConnection:e=>{d({connection:e})},reset:()=>d({...tv()})}},Object.is))({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:l,fitView:p,minZoom:c,maxZoom:u,fitViewOptions:g,nodeOrigin:h,nodeExtent:m,zIndexMode:y}));return(0,a.jsx)(f,{value:b,children:(0,a.jsx)(ei,{children:x})})}function tE({children:e,nodes:t,edges:n,defaultNodes:o,defaultEdges:r,width:l,height:s,fitView:d,fitViewOptions:c,minZoom:u,maxZoom:f,nodeOrigin:p,nodeExtent:h,zIndexMode:m}){return(0,i.useContext)(g)?(0,a.jsx)(a.Fragment,{children:e}):(0,a.jsx)(tC,{initialNodes:t,initialEdges:n,defaultNodes:o,defaultEdges:r,initialWidth:l,initialHeight:s,fitView:d,initialFitViewOptions:c,initialMinZoom:u,initialMaxZoom:f,nodeOrigin:p,nodeExtent:h,zIndexMode:m,children:e})}let tN={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var tk=en(function({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:r,no
1deTypes:d,edgeTypes:c,onNodeClick:u,onEdgeClick:g,onInit:f,onMove:p,onMoveStart:h,onMoveEnd:m,onConnect:y,onConnectStart:x,onConnectEnd:b,onClickConnectStart:S,onClickConnectEnd:w,onNodeMouseEnter:v,onNodeMouseMove:C,onNodeMouseLeave:N,onNodeContextMenu:M,onNodeDoubleClick:P,onNodeDragStart:A,onNodeDrag:R,onNodeDragStop:_,onNodesDelete:z,onEdgesDelete:O,onDelete:L,onSelectionChange:V,onSelectionDragStart:H,onSelectionDrag:F,onSelectionDragStop:T,onSelectionContextMenu:Z,onSelectionStart:X,onSelectionEnd:W,onBeforeDelete:K,connectionMode:Y,connectionLineType:Q=s.Do.Bezier,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:G,deleteKeyCode:J="Backspace",selectionKeyCode:ee="Shift",selectionOnDrag:et=!1,selectionMode:en=s.Qc.Full,panActivationKeyCode:eo="Space",multiSelectionKeyCode:er=(0,s.Ue)()?"Meta":"Control",zoomActivationKeyCode:ea=(0,s.Ue)()?"Meta":"Control",snapToGrid:ei,snapGrid:el,onlyRenderVisibleElements:es=!1,selectNodesOnDrag:ed,nodesDraggable:ec,autoPanOnNodeFocus:eu,nodesConnectable:eg,nodesFocusable:ef,nodeOrigin:ep=D,edgesFocusable:eh,edgesReconnectable:em,elementsSelectable:ey=!0,defaultViewport:ex=I,minZoom:eb=.5,maxZoom:eS=2,translateExtent:ew=s.ZO,preventScrolling:ev=!0,nodeExtent:eC,defaultMarkerColor:eE="#b1b1b7",zoomOnScroll:eN=!0,zoomOnPinch:ek=!0,panOnScroll:eM=!1,panOnScrollSpeed:eP=.5,panOnScrollMode:eA=s.ny.Free,zoomOnDoubleClick:eR=!0,panOnDrag:e_=!0,onPaneClick:ej,onPaneMouseEnter:eD,onPaneMouseMove:eI,onPaneMouseLeave:ez,onPaneScroll:eO,onPaneContextMenu:eL,paneClickDistance:e$=1,nodeClickDistance:eB=0,children:eV,onReconnect:eH,onReconnectStart:eF,onReconnectEnd:eT,onEdgeContextMenu:eZ,onEdgeDoubleClick:eX,onEdgeMouseEnter:eW,onEdgeMouseMove:eK,onEdgeMouseLeave:eY,reconnectRadius:eQ=10,onNodesChange:eU,onEdgesChange:eq,noDragClassName:eG="nodrag",noWheelClassName:eJ="nowheel",noPanClassName:e0="nopan",fitView:e1,fitViewOptions:e3,connectOnClick:e2,attributionPosition:e4,proOptions:e5,defaultEdgeOptions:e6,elevateNodesOnSelect:e7=!0,elevateEdgesOnSelect:e8=!1,disableKeyboardA11y:e9=!1,autoPanOnConnect:te,autoPanOnNodeDrag:tt,autoPanOnSelection:tn=!0,autoPanSpeed:to,connectionRadius:tr,isValidConnection:ta,onError:ti,style:tl,id:ts,nodeDragThreshold:td,connectionDragThreshold:tc,viewport:tu,onViewportChange:tg,width:tf,height:tp,colorMode:th="light",debug:tm,onScroll:ty,ariaLabelConfig:tx,zIndexMode:tb="basic",...tw},tv){let tC=ts||"1",tk=function(e){let[t,n]=(0,i.useState)("system"===e?null:e);return(0,i.useEffect)(()=>{if("system"!==e)return void n(e);let t=B(),o=()=>n(t?.matches?"dark":"light");return o(),t?.addEventListener("change",o),()=>{t?.removeEventListener("change",o)}},[e]),null!==t?t:B()?.matches?"dark":"light"}(th),tM=(0,i.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),ty?.(e)},[ty]);return(0,a.jsx)("div",{"data-testid":"rf__wrapper",...tw,onScroll:tM,style:{...tl,...tN},ref:tv,className:(0,l.A)(["react-flow",r,tk]),id:ts,role:"application",children:(0,a.jsxs)(tE,{nodes:e,edges:t,width:tf,height:tp,fitView:e1,fitViewOptions:e3,minZoom:eb,maxZoom:eS,nodeOrigin:ep,nodeExtent:eC,zIndexMode:tb,children:[(0,a.jsx)($,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:y,onConnectStart:x,onConnectEnd:b,onClickConnectStart:S,onClickConnectEnd:w,nodesDraggable:ec,autoPanOnNodeFocus:eu,nodesConnectable:eg,nodesFocusable:ef,edgesFocusable:eh,edgesReconnectable:em,elementsSelectable:ey,elevateNodesOnSelect:e7,elevateEdgesOnSelect:e8,minZoom:eb,maxZoom:eS,nodeExtent:eC,onNodesChange:eU,onEdgesChange:eq,snapToGrid:ei,snapGrid:el,connectionMode:Y,translateExtent:ew,connectOnClick:e2,defaultEdgeOptions:e6,fitView:e1,fitViewOptions:e3,onNodesDelete:z,onEdgesDelete:O,onDelete:L,onNodeDragStart:A,onNodeDrag:R,onNodeDragStop:_,onSelectionDrag:F,onSelectionDragStart:H,onSelectionDragStop:T,onMove:p,onMoveStart:h,onMoveEnd:m,noPanClassName:e0,nodeOrigin:ep,rfId:tC,autoPanOnConnect:te,autoPanOnNodeDrag:tt,autoPanSpeed:to,onError:ti,connectionRadius:tr,isValidConnection:ta,selectNodesOnDrag:ed,nodeDragThreshold:td,connectionDragThreshold:tc,onBeforeDelete:K,debug:tm,ariaLabelConfig:tx,zIndexMode:tb}),(0,a.jsx)(tS,{onInit:f,onNodeClick:u,onEdgeClick:g,onNodeMouseEnter:v,onNodeMouseMove:C,onNodeMouseLeave:N,onNodeContextMenu:M,onNodeDoubleClick:P,nodeTypes:d,edgeTypes:c,connectionLineType:Q,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:G,selectionKeyCode:ee,selectionOnDrag:et,selectionMode:en,deleteKeyCode:J,multiSelectionKeyCode:er,panActivationKeyCode:eo,zoomActivationKeyCode:ea,onlyRenderVisibleElements:es,defaultViewport:ex,translateExtent:ew,minZ
1oom:eb,maxZoom:eS,preventScrolling:ev,zoomOnScroll:eN,zoomOnPinch:ek,zoomOnDoubleClick:eR,panOnScroll:eM,panOnScrollSpeed:eP,panOnScrollMode:eA,panOnDrag:e_,autoPanOnSelection:tn,onPaneClick:ej,onPaneMouseEnter:eD,onPaneMouseMove:eI,onPaneMouseLeave:ez,onPaneScroll:eO,onPaneContextMenu:eL,paneClickDistance:e$,nodeClickDistance:eB,onSelectionContextMenu:Z,onSelectionStart:X,onSelectionEnd:W,onReconnect:eH,onReconnectStart:eF,onReconnectEnd:eT,onEdgeContextMenu:eZ,onEdgeDoubleClick:eX,onEdgeMouseEnter:eW,onEdgeMouseMove:eK,onEdgeMouseLeave:eY,reconnectRadius:eQ,defaultMarkerColor:eE,noDragClassName:eG,noWheelClassName:eJ,noPanClassName:e0,rfId:tC,disableKeyboardA11y:e9,nodeExtent:eC,viewport:tu,onViewportChange:tg}),(0,a.jsx)(j,{onSelectionChange:V}),eV,(0,a.jsx)(k,{proOptions:e5,position:e4}),(0,a.jsx)(E,{rfId:tC,disableKeyboardA11y:e9})]})})});let tM=e=>e.domNode?.querySelector(".react-flow__edgelabel-renderer");function tP({children:e}){let t=h(tM);return t?(0,u.createPortal)(e,t):null}let tA=e=>e.domNode?.querySelector(".react-flow__viewport-portal");function tR({children:e}){let t=h(tA);return t?(0,u.createPortal)(e,t):null}function t_(){let e=m();return(0,i.useCallback)(t=>{let{domNode:n,updateNodeInternals:o}=e.getState(),r=Array.isArray(t)?t:[t],a=new Map;r.forEach(e=>{let t=n?.querySelector(`.react-flow__node[data-id="${e}"]`);t&&a.set(e,{id:e,nodeElement:t,force:!0})}),requestAnimationFrame(()=>o(a,{triggerFitView:!1}))},[])}let tj=e=>e.nodes;function tD(){return h(tj,c.x)}let tI=e=>e.edges;function tz(){return h(tI,c.x)}let tO=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2]});function tL(){return h(tO,c.x)}function t$(e){let[t,n]=(0,i.useState)(e),o=(0,i.useCallback)(e=>n(t=>Z(e,t)),[]);return[t,n,o]}function tB(e){let[t,n]=(0,i.useState)(e),o=(0,i.useCallback)(e=>n(t=>Z(e,t)),[]);return[t,n,o]}function tV({onStart:e,onChange:t,onEnd:n}){let o=m();(0,i.useEffect)(()=>{o.setState({onViewportChangeStart:e})},[e]),(0,i.useEffect)(()=>{o.setState({onViewportChange:t})},[t]),(0,i.useEffect)(()=>{o.setState({onViewportChangeEnd:n})},[n])}function tH({onChange:e}){let t=m();(0,i.useEffect)(()=>{let n=[...t.getState().onSelectionChangeHandlers,e];return t.setState({onSelectionChangeHandlers:n}),()=>{let n=t.getState().onSelectionChangeHandlers.filter(t=>t!==e);t.setState({onSelectionChangeHandlers:n})}},[e])}function tF(e={includeHiddenNodes:!1}){return h(t=>{if(!e.includeHiddenNodes)return t.nodesInitialized;if(0===t.nodeLookup.size)return!1;for(let[,{internals:e}]of t.nodeLookup)if(void 0===e.handleBounds||!(0,s.QE)(e.userNode))return!1;return!0})}function tT({type:e,id:t,nodeId:n,onConnect:o,onDisconnect:r}){console.warn("[DEPRECATED] `useHandleConnections` is deprecated. Instead use `useNodeConnections` https://reactflow.dev/api-reference/hooks/useNodeConnections");let a=eE(),l=n??a,d=(0,i.useRef)(null),c=h(n=>n.connectionLookup.get(`${l}-${e}${t?`-${t}`:""}`),s.Y0);return(0,i.useEffect)(()=>{if(d.current&&d.current!==c){let e=c??new Map;(0,s.ZZ)(d.current,e,r),(0,s.ZZ)(e,d.current,o)}d.current=c??new Map},[c,o,r]),(0,i.useMemo)(()=>Array.from(c?.values()??[]),[c])}let tZ=s.xc.error014();function tX({id:e,handleType:t,handleId:n,onConnect:o,onDisconnect:r}={}){let a=eE(),l=e??a;if(!l)throw Error(tZ);let d=(0,i.useRef)(null),c=h(e=>e.connectionLookup.get(`${l}${t?n?`-${t}-${n}`:`-${t}`:""}`),s.Y0);return(0,i.useEffect)(()=>{if(d.current&&d.current!==c){let e=c??new Map;(0,s.ZZ)(d.current,e,r),(0,s.ZZ)(e,d.current,o)}d.current=c??new Map},[c,o,r]),(0,i.useMemo)(()=>Array.from(c?.values()??[]),[c])}function tW(e){return h((0,i.useCallback)(t=>{let n=[],o=Array.isArray(e);for(let r of o?e:[e]){let e=t.nodeLookup.get(r);e&&n.push({id:e.id,type:e.type,data:e.data})}return o?n:n[0]??null},[e]),s.R5)}function tK(e){return h((0,i.useCallback)(t=>t.nodeLookup.get(e),[e]),c.x)}function tY(e){let t=m(),[n]=(0,i.useState)(()=>Symbol());(0,i.useEffect)(()=>{let{onNodesChangeMiddlewareMap:o}=t.getState();o.set(n,e)},[e]),(0,i.useEffect)(()=>{let{onNodesChangeMiddlewareMap:e}=t.getState();return()=>{e.delete(n)}},[])}function tQ(e){let t=m(),[n]=(0,i.useState)(()=>Symbol());(0,i.useEffect)(()=>{let{onEdgesChangeMiddlewareMap:o}=t.getState();o.set(n,e)},[e]),(0,i.useEffect)(()=>{let{onEdgesChangeMiddlewareMap:e}=t.getState();return()=>{e.delete(n)}},[])}function tU({dimensions:e,lineWidth:t,variant:n,className:o}){return(0,a.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:(0,l.A)(["react-flow__background-pattern",n,o])})}function tq({radius:e,className:t}){return(0,a.jsx)("circle",{cx:e,cy:e,r:e,className:(0,l.A)(["react-flow__background-pattern","dots",t])})}(o=r||(r={})).Lines="lines",o.Dots="dots",o.Cross="cross";let tG={[r.Dots]:1,[r.Lines]:1,[r.Cross]:6},tJ=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function t0({id:e,variant:t=r.Dots,gap:n=20,size:o,lineWidth:s=1,offset:d=0,color:u,bgColor:g,style:f,className:p,patternClassName:m}){let y=(0,i.useRef)(null),{transform:x,patternId:b}=h(tJ,c.x),S=o||tG[t],w=t===r.Dots,v=t===r.Cross,C=Array.isArray(n)?n:[n,n],E=[C[0]*x[2]||1,C[1]*x[2]||1],N=S*x[2],k=Array.isArray(d)?d:[d,d],M=v?[N,N]:E,P=[k[0]*x[2]||1+M[0]/2,k[1]*x[2]||1+M[1]/2],A=`${b}${e||""}`;return(0,a.jsxs)("svg",{className:(0,l.A)(["react-flow__background",p]),style:{...f,...eu,"--xy-background-color-props":g,"--xy-background-pattern-color-props":u},ref:y,"data-testid":"rf__background",children:[(0,a.jsx)("pattern",{id:A,x:x[0]%E[0],y:x[1]%E[1],width:E[0],height:E[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${P[0]},-${P[1]})`,children:w?(0,a.jsx)(tq,{radius:N/2,className:m}):(0,a.jsx)(tU,{dimensions:M,lineWidth:s,variant:t,className:m})}),(0,a.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${A})`})]})}
1t0.displayName="Background";let t1=(0,i.memo)(t0);function t3(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,a.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function t2(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,a.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function t4(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,a.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function t5(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,a.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function t6(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,a.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function t7({children:e,className:t,...n}){return(0,a.jsx)("button",{type:"button",className:(0,l.A)(["react-flow__controls-button",t]),...n,children:e})}let t8=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function t9({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:i,onZoomOut:s,onFitView:d,onInteractiveChange:u,className:g,children:f,position:p="bottom-left",orientation:y="vertical","aria-label":x}){let b=m(),{isInteractive:S,minZoomReached:w,maxZoomReached:v,ariaLabelConfig:C}=h(t8,c.x),{zoomIn:E,zoomOut:k,fitView:M}=es();return(0,a.jsxs)(N,{className:(0,l.A)(["react-flow__controls","horizontal"===y?"horizontal":"vertical",g]),position:p,style:e,"data-testid":"rf__controls","aria-label":x??C["controls.ariaLabel"],children:[t&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t7,{onClick:()=>{E(),i?.()},className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:v,children:(0,a.jsx)(t3,{})}),(0,a.jsx)(t7,{onClick:()=>{k(),s?.()},className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:w,children:(0,a.jsx)(t2,{})})]}),n&&(0,a.jsx)(t7,{className:"react-flow__controls-fitview",onClick:()=>{M(r),d?.()},title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:(0,a.jsx)(t4,{})}),o&&(0,a.jsx)(t7,{className:"react-flow__controls-interactive",onClick:()=>{b.setState({nodesDraggable:!S,nodesConnectable:!S,elementsSelectable:!S}),u?.(!S)},title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:S?(0,a.jsx)(t6,{}):(0,a.jsx)(t5,{})}),f]})}t9.displayName="Controls";let ne=(0,i.memo)(t9),nt=(0,i.memo)(function({id:e,x:t,y:n,width:o,height:r,style:i,color:s,strokeColor:d,strokeWidth:c,className:u,borderRadius:g,shapeRendering:f,selected:p,onClick:h}){let{background:m,backgroundColor:y}=i||{};return(0,a.jsx)("rect",{className:(0,l.A)(["react-flow__minimap-node",{selected:p},u]),x:t,y:n,rx:g,ry:g,width:o,height:r,style:{fill:s||m||y,stroke:d,strokeWidth:c},shapeRendering:f,onClick:h?t=>h(t,e):void 0})}),nn=e=>e.nodes.map(e=>e.id),no=e=>e instanceof Function?e:()=>e,nr=(0,i.memo)(function({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:i,shapeRendering:l,NodeComponent:d,onClick:u}){let{node:g,x:f,y:p,width:m,height:y}=h(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let o=n.internals.userNode,{x:r,y:a}=n.internals.positionAbsolute,{width:i,height:l}=(0,s.uD)(o);return{node:o,x:r,y:a,width:i,height:l}},c.x);return g&&!g.hidden&&(0,s.QE)(g)?(0,a.jsx)(d,{x:f,y:p,width:m,height:y,style:g.style,selected:!!g.selected,className:o(g),color:t(g),borderRadius:r,strokeColor:n(g),strokeWidth:i,shapeRendering:l,onClick:u,id:g.id}):null});var na=(0,i.memo)(function({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:i=nt,onClick:l}){let s=h(nn,c.x),d=no(t),u=no(e),g=no(n),f="u"<typeof window||window.chrome?"crispEdges":"geometricPrecision";return(0,a.jsx)(a.Fragment,{children:s.map(e=>(0,a.jsx)(nr,{id:e,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:g,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:i,onClick:l,shapeRendering:f},e))})});let ni=e=>!e.hidden,nl=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};
1return{viewBB:t,boundingRect:e.nodeLookup.size>0?(0,s.Mi)((0,s.aZ)(e.nodeLookup,{filter:ni}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}};function ns({style:e,className:t,nodeStrokeColor:n,nodeColor:o,nodeClassName:r="",nodeBorderRadius:d=5,nodeStrokeWidth:u,nodeComponent:g,bgColor:f,maskColor:p,maskStrokeColor:y,maskStrokeWidth:x,position:b="bottom-right",onClick:S,onNodeClick:w,pannable:v=!1,zoomable:C=!1,ariaLabel:E,inversePan:k,zoomStep:M=1,offsetScale:P=5}){let A=m(),R=(0,i.useRef)(null),{boundingRect:_,viewBB:j,rfId:D,panZoom:I,translateExtent:z,flowWidth:O,flowHeight:L,ariaLabelConfig:$}=h(nl,c.x),B=e?.width??200,V=e?.height??150,H=Math.max(_.width/B,_.height/V),F=H*B,T=H*V,Z=P*H,X=_.x-(F-_.width)/2-Z,W=_.y-(T-_.height)/2-Z,K=F+2*Z,Y=T+2*Z,Q=`react-flow__minimap-desc-${D}`,U=(0,i.useRef)(0),q=(0,i.useRef)();U.current=H,(0,i.useEffect)(()=>{if(R.current&&I)return q.current=(0,s.di)({domNode:R.current,panZoom:I,getTransform:()=>A.getState().transform,getViewScale:()=>U.current}),()=>{q.current?.destroy()}},[I]),(0,i.useEffect)(()=>{q.current?.update({translateExtent:z,width:O,height:L,inversePan:k,pannable:v,zoomStep:M,zoomable:C})},[v,C,k,M,z,O,L]);let G=S?e=>{let[t,n]=q.current?.pointer(e)||[0,0];S(e,{x:t,y:n})}:void 0,J=w?(0,i.useCallback)((e,t)=>{w(e,A.getState().nodeLookup.get(t).internals.userNode)},[]):void 0,ee=E??$["minimap.ariaLabel"];return(0,a.jsx)(N,{position:b,style:{...e,"--xy-minimap-background-color-props":"string"==typeof f?f:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof p?p:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof y?y:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof x?x*H:void 0,"--xy-minimap-node-background-color-props":"string"==typeof o?o:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof n?n:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof u?u:void 0},className:(0,l.A)(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,a.jsxs)("svg",{width:B,height:V,viewBox:`${X} ${W} ${K} ${Y}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":Q,ref:R,onClick:G,children:[ee&&(0,a.jsx)("title",{id:Q,children:ee}),(0,a.jsx)(na,{onClick:J,nodeColor:o,nodeStrokeColor:n,nodeBorderRadius:d,nodeClassName:r,nodeStrokeWidth:u,nodeComponent:g}),(0,a.jsx)("path",{className:"react-flow__minimap-mask",d:`M${X-Z},${W-Z}h${K+2*Z}v${Y+2*Z}h${-K-2*Z}z 2 M${j.x},${j.y}h${j.width}v${j.height}h${-j.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}ns.displayName="MiniMap";let nd=(0,i.memo)(ns),nc={[s.xN.Line]:"right",[s.xN.Handle]:"bottom-right"},nu=(0,i.memo)(function({nodeId:e,position:t,variant:n=s.xN.Handle,className:o,style:r,children:d,color:u,minWidth:g=10,minHeight:f=10,maxWidth:p=Number.MAX_VALUE,maxHeight:y=Number.MAX_VALUE,keepAspectRatio:x=!1,resizeDirection:b,autoScale:S=!0,shouldResize:w,onResizeStart:v,onResize:C,onResizeEnd:E}){let N,k=eE(),M="string"==typeof e?e:k,P=m(),A=(0,i.useRef)(null),R=n===s.xN.Handle,_=h((0,i.useCallback)((N=R&&S,e=>N?`${Math.max(1/e.transform[2],1)}`:void 0),[R,S]),c.x),j=(0,i.useRef)(null),D=t??nc[n];(0,i.useEffect)(()=>{if(A.current&&M)return j.current||(j.current=(0,s.ET)({domNode:A.current,nodeId:M,getStoreItems:()=>
2{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:r,domNode:a}=P.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:r,paneDomNode:a}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:o,parentLookup:r,nodeOrigin:a}=P.getState(),i=[],l={x:e.x,y:e.y},d=o.get(M);if(d&&d.expandParent&&d.parentId){let t=d.origin??a,n=e.width??d.measured.width??0,c=e.height??d.measured.height??0,u={id:d.id,parentId:d.parentId,rect:{width:n,height:c,...(0,s.us)({x:e.x??d.position.x,y:e.y??d.position.y},{width:n,height:c},d.parentId,o,t)}},g=(0,s.r8)([u],o,r,a);i.push(...g),l.x=e.x?Math.max(t[0]*n,e.x):void 0,l.y=e.y?Math.max(t[1]*c,e.y):void 0}if(void 0!==l.x&&void 0!==l.y){let e={id:M,type:"position",position:{...l}};i.push(e)}if(void 0!==e.width&&void 0!==e.height){let t={id:M,type:"dimensions",resizing:!0,setAttributes:!b||("horizontal"===b?"width":"height"),dimensions:{width:e.width,height:e.height}};i.push(t)}for(let e of t){let t={...e,type:"position"};i.push(t)}n(i)},onEnd:({width:e,height:t})=>{P.getState().triggerNodeChanges([{id:M,type:"dimensions",resizing:!1,dimensions:{width:e,height:t}}])}})),j.current.update({controlPosition:D,boundaries:{minWidth:g,minHeight:f,maxWidth:p,maxHeight:y},keepAspectRatio:x,resizeDirection:b,onResizeStart:v,onResize:C,onResizeEnd:E,shouldResize:w}),()=>{j.current?.destroy()}},[D,g,f,p,y,x,v,C,E,w]);let I=D.split("-");return(0,a.jsx)("div",{className:(0,l.A)(["react-flow__resize-control","nodrag",...I,n,o]),ref:A,style:{...r,scale:_,...u&&{[R?"backgroundColor":"borderColor"]:u}},children:d})});function ng({nodeId:e,isVisible:t=!0,handleClassName:n,handleStyle:o,lineClassName:r,lineStyle:i,color:l,minWidth:d=10,minHeight:c=10,maxWidth:u=Number.MAX_VALUE,maxHeight:g=Number.MAX_VALUE,keepAspectRatio:f=!1,autoScale:p=!0,shouldResize:h,onResizeStart:m,onResize:y,onResizeEnd:x}){return t?(0,a.jsxs)(a.Fragment,{children:[s.V8.map(t=>(0,a.jsx)(nu,{className:r,style:i,nodeId:e,position:t,variant:s.xN.Line,color:l,minWidth:d,minHeight:c,maxWidth:u,maxHeight:g,onResizeStart:m,keepAspectRatio:f,autoScale:p,shouldResize:h,onResize:y,onResizeEnd:x},t)),s.zh.map(t=>(0,a.jsx)(nu,{className:n,style:o,nodeId:e,position:t,color:l,minWidth:d,minHeight:c,maxWidth:u,maxHeight:g,onResizeStart:m,keepAspectRatio:f,autoScale:p,shouldResize:h,onResize:y,onResizeEnd:x},t))]}):null}let nf=e=>e.domNode?.querySelector(".react-flow__renderer");function np({children:e}){let t=h(nf);return t?(0,u.createPortal)(e,t):null}let nh=(e,t)=>e?.internals.positionAbsolute.x!==t?.internals.positionAbsolute.x||e?.internals.positionAbsolute.y!==t?.internals.positionAbsolute.y||e?.measured.width!==t?.measured.width||e?.measured.height!==t?.measured.height||e?.selected!==t?.selected||e?.internals.z!==t?.internals.z,nm=(e,t)=>{if(e.size!==t.size)return!1;for(let[n,o]of e)if(nh(o,t.get(n)))return!1;return!0},ny=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2],selectedNodesCount:e.nodes.filter(e=>e.selected).length});function nx({nodeId:e,children:t,className:n,style:o,isVisible:r,position:d=s.yX.Top,offset:u=10,align:g="center",...f}){let p=eE(),m=h((0,i.useCallback)(t=>(Array.isArray(e)?e:[e||p||""]).reduce((e,n)=>{let o=t.nodeLookup.get(n);return o&&e.set(o.id,o),e},new Map),[e,p]),nm),{x:y,y:x,zoom:b,selectedNodesCount:S}=h(ny,c.x);if(!("boolean"==typeof r?r:1===m.size&&m.values().next().value?.selected&&1===S)||!m.size)return null;let w=(0,s.aZ)(m),v=Array.from(m.values()),C=Math.max(...v.map(e=>e.internals.z+1)),E={position:"absolute",transform:(0,s.ih)(w,{x:y,y:x,zoom:b},d,u,g),zIndex:C,...o};return(0,a.jsx)(np,{children:(0,a.jsx)("div",{style:E,className:(0,l.A)(["react-flow__node-toolbar",n]),...f,"data-id":v.reduce((e,t)=>`${e}${t.id} `,"").trim(),children:t})})}let nb=e=>e.transform[2];function nS({edgeId:e,x:t,y:n,children:o,className:r,style:d,isVisible:u,alignX:g="center",alignY:f="center",...p}){let m=h((0,i.useCallback)(t=>t.edgeLookup.get(e),[e]),c.x),y="boolean"==typeof u?u:m?.selected,x=h(nb);if(!y)return null;let b=(m?.zIndex??0)+1,S=(0,s.th)(t,n,x,g,f);return(0,a.jsx)(tP,{children:(0,a.jsx)("div",{style:{position:"absolute",transform:S,zIndex:b,pointerEvents:"all",transformOrigin:"0 0",...d},className:(0,l.A)(["react-flow__edge-toolbar",r]),"data-id":m?.id??"",...p,children:o})})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.