1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[70167],{25714:function(e,t,n){n.d(t,{Aq:function(){return tL},HH:function(){return eE},XQ:function(){return tP},u5:function(){return eX},x$:function(){return tk}});var o,r,i=n(57437),a=n(2265),l=n(27026),s=n(49693),d=n(90687),c=n(95720),u=n(54887);let g=(0,a.createContext)(null),f=g.Provider,p=s.Qj.error001();function m(e,t){let n=(0,a.useContext)(g);if(null===n)throw Error(p);return(0,d.s)(n,e,t)}function h(){let e=(0,a.useContext)(g);if(null===e)throw Error(p);return(0,a.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let y={display:"none"},b={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},v="react-flow__node-desc",w="react-flow__edge-desc",x=e=>e.ariaLiveMessage,S=e=>e.ariaLabelConfig;function C({rfId:e}){let t=m(x);return(0,i.jsx)("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:b,children:t})}function E({rfId:e,disableKeyboardA11y:t}){let n=m(S);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{id:`${v}-${e}`,style:y,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,i.jsx)("div",{id:`${w}-${e}`,style:y,children:n["edge.a11yDescription.default"]}),!t&&(0,i.jsx)(C,{rfId:e})]})}let N=(0,a.forwardRef)(({position:e="top-left",children:t,className:n,style:o,...r},a)=>{let s=`${e}`.split("-");return(0,i.jsx)("div",{className:(0,l.Z)(["react-flow__panel",n,...s]),style:o,ref:a,...r,children:t})});function k({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:(0,i.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,i.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 j(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 _({onSelectionChange:e}){let t=h(),{selectedNodes:n,selectedEdges:o}=m(M,j);return(0,a.useEffect)(()=>{let r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChangeHandlers.forEach(e=>e(r))},[n,o,e]),null}let D=e=>!!e.onSelectionChangeHandlers;function I({onSelectionChange:e}){let t=m(D);return e||t?(0,i.jsx)(_,{onSelectionChange:e}):null}let R=[0,0],L={x:0,y:0,zoom:1},O=["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","snapToGrid","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"],A=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}),$={translateExtent:s.k5,nodeOrigin:R,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function z(e){let{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:r,setTranslateExtent:i,setNodeExtent:l,reset:d,setDefaultNodesAndEdges:u}=m(A,c.X),g=h();(0,a.useEffect)(()=>(u(e.defaultNodes,e.defaultEdges),()=>{f.current=$,d()}),[]);let f=(0,a.useRef)($);return(0,a.useEffect)(()=>{for(let a of O){let d=e[a],c=f.current[a];
1d!==c&&void 0!==e[a]&&("nodes"===a?t(d):"edges"===a?n(d):"minZoom"===a?o(d):"maxZoom"===a?r(d):"translateExtent"===a?i(d):"nodeExtent"===a?l(d):"ariaLabelConfig"===a?g.setState({ariaLabelConfig:(0,s.AL)(d)}):"fitView"===a?g.setState({fitViewQueued:d}):"fitViewOptions"===a?g.setState({fitViewOptions:d}):g.setState({[a]:d}))}f.current=e},O.map(t=>e[t])),null}function B(){return"undefined"!=typeof window&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):null}let V="undefined"!=typeof document?document:null;function Z(e=null,t={target:V,actInsideInputWithModifier:!0}){let[n,o]=(0,a.useState)(!1),r=(0,a.useRef)(!1),i=(0,a.useRef)(new Set([])),[l,d]=(0,a.useMemo)(()=>{if(null!==e){let t=Array.isArray(e)?e:[e],n=t.filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),o=n.reduce((e,t)=>e.concat(...t),[]);return[n,o]}return[[],[]]},[e]);return(0,a.useEffect)(()=>{let n=t?.target??V,a=t?.actInsideInputWithModifier??!0;if(null!==e){let e=e=>{r.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey;let n=(!r.current||r.current&&!a)&&(0,s.s$)(e);if(n)return!1;let c=T(e.code,d);if(i.current.add(e[c]),H(l,i.current,!1)){let n=e.composedPath?.()?.[0]||e.target,i=n?.nodeName==="BUTTON"||n?.nodeName==="A";!1!==t.preventDefault&&(r.current||!i)&&e.preventDefault(),o(!0)}},c=e=>{let t=T(e.code,d);H(l,i.current,!0)?(o(!1),i.current.clear()):i.current.delete(e[t]),"Meta"===e.key&&i.current.clear(),r.current=!1},u=()=>{i.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 H(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"}let F=()=>{let e=h();return(0,a.useMemo)(()=>({zoomIn:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomOut:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{let{panZoom:o}=e.getState();return o?o.scaleTo(t,{duration:n?.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[o,r,i],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??i},n),Promise.resolve(!0)):Promise.resolve(!1)},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:i,maxZoom:a,panZoom:l}=e.getState(),d=(0,s.$i)(t,o,r,i,a,n?.padding??.1);return l?(await l.setViewport(d,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{let{transform:o,snapGrid:r,snapToGrid:i,domNode:a}=e.getState();if(!a)return t;let{x:l,y:d}=a.getBoundingClientRect(),c={x:t.x-l,y:t.y-d}
1,u=n.snapGrid??r,g=n.snapToGrid??i;return(0,s.m)(c,o,g,u)},flowToScreenPosition:t=>{let{transform:n,domNode:o}=e.getState();if(!o)return t;let{x:r,y:i}=o.getBoundingClientRect(),a=(0,s.oj)(t,n);return{x:a.x+r,y:a.y+i}}}),[])};function X(e,t){let n=[],o=new Map,r=[];for(let t of e){if("add"===t.type){r.push(t);continue}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)!function(e,t){switch(e.type){case"select":t.selected=e.selected;break;case"position":void 0!==e.position&&(t.position=e.position),void 0!==e.dragging&&(t.dragging=e.dragging);break;case"dimensions":void 0!==e.dimensions&&(t.measured={...e.dimensions},e.setAttributes&&((!0===e.setAttributes||"width"===e.setAttributes)&&(t.width=e.dimensions.width),(!0===e.setAttributes||"height"===e.setAttributes)&&(t.height=e.dimensions.height))),"boolean"==typeof e.resizing&&(t.resizing=e.resizing)}}(e,r);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 W(e,t){return{id:e,type:"select",selected:t}}function K(e,t=new Set,n=!1){let o=[];for(let[r,i]of e){let e=t.has(r);(void 0!==i.selected||e)&&i.selected!==e&&(n&&(i.selected=e),o.push(W(i.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),i=e?.internals?.userNode??e;void 0!==i&&i!==r&&n.push({id:r.id,item:r,type:"replace"}),void 0===i&&n.push({item:r,type:"add",index:o})}for(let[e]of t){let t=o.get(e);void 0===t&&n.push({id:e,type:"remove"})}return n}function Y(e){return{id:e.id,type:"remove"}}let U=e=>(0,s.Vt)(e),G=e=>(0,s.J3)(e);function q(e){return(0,a.forwardRef)(e)}let J="undefined"!=typeof window?a.useLayoutEffect:a.useEffect;function ee(e){let[t,n]=(0,a.useState)(BigInt(0)),[o]=(0,a.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return J(()=>{let t=o.get();t.length&&(e(t),o.reset())},[t]),o}let et=(0,a.createContext)(null);function en({children:e}){let t=h(),n=(0,a.useCallback)(e=>{let{nodes:n=[],setNodes:o,hasDefaultNodes:r,onNodesChange:i,nodeLookup:a,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:a});for(let e of s.values())c=e(c);r&&o(d),c.length>0?i?.(c):l&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:o}=t.getState();e&&o(n)})},[]),o=ee(n),r=(0,a.useCallback)(e=>{let{edges:n=[],setEdges:o,hasDefaultEdges:r,onEdgesChange:i,edgeLookup:a}=t.getState(),l=n;for(let t of e)l="function"==typeof t?t(l):t;r?o(l):i&&i(Q({items:l,lookup:a}))},[]),l=ee(r),s=(0,a.useMemo)(()=>({nodeQueue:o,edgeQueue:l}),[]);return(0,i.jsx)(et.Provider,{value:s,children:e})}let eo=e=>!!e.panZoom;function er(){let e=F(),t=h(),n=function(){let e=(0,a.useContext)(et);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),o=m(eo),r=(0,a.useMemo)(()=>{let e=e=>t.getState().nodeLookup.get(e),o=e=>{n.nodeQueue.push(e)}
1,r=e=>{n.edgeQueue.push(e)},i=e=>{let{nodeLookup:n,nodeOrigin:o}=t.getState(),r=U(e)?e:n.get(e.id),i=r.parentId?(0,s.ZB)(r.position,r.measured,r.parentId,n,o):r.position,a={...r,position:i,width:r.measured?.width??r.width,height:r.measured?.height??r.height};return(0,s.PS)(a)},a=(e,t,n={replace:!1})=>{o(o=>o.map(o=>{if(o.id===e){let e="function"==typeof t?t(o):t;return n.replace&&U(e)?e:{...o,...e}}return o}))},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&&G(e)?e:{...o,...e}}return o}))};return{getNodes:()=>t.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},getEdge:e=>t.getState().edgeLookup.get(e),setNodes:o,setEdges:r,addNodes:e=>{let t=Array.isArray(e)?e:[e];n.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];n.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:n=[],transform:o}=t.getState(),[r,i,a]=o;return{nodes:e.map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:r,y:i,zoom:a}}},deleteElements:async({nodes:e=[],edges:n=[]})=>{let{nodes:o,edges:r,onNodesDelete:i,onEdgesDelete:a,triggerNodeChanges:l,triggerEdgeChanges:d,onDelete:c,onBeforeDelete:u}=t.getState(),{nodes:g,edges:f}=await (0,s.WD)({nodesToRemove:e,edgesToRemove:n,nodes:o,edges:r,onBeforeDelete:u}),p=f.length>0,m=g.length>0;if(p){let e=f.map(Y);a?.(f),d(e)}if(m){let e=g.map(Y);i?.(g),l(e)}return(m||p)&&c?.({nodes:g,edges:f}),{deletedNodes:g,deletedEdges:f}},getIntersectingNodes:(e,n=!0,o)=>{let r=(0,s.J$)(e),a=r?e:i(e),l=void 0!==o;return a?(o||t.getState().nodes).filter(o=>{let i=t.getState().nodeLookup.get(o.id);if(i&&!r&&(o.id===e.id||!i.internals.positionAbsolute))return!1;let d=(0,s.PS)(l?o:i),c=(0,s.lp)(d,a);return n&&c>0||c>=d.width*d.height||c>=a.width*a.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let o=(0,s.J$)(e),r=o?e:i(e);if(!r)return!1;let a=(0,s.lp)(r,t);return n&&a>0||a>=t.width*t.height||a>=r.width*r.height},updateNode:a,updateNodeData:(e,t,n={replace:!1})=>{a(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:n,nodeOrigin:o}=t.getState();return(0,s.RX)(e,{nodeLookup:n,nodeOrigin:o})},getHandleConnections:({type:e,id:n,nodeId:o})=>Array.from(t.getState().connectionLookup.get(`${o}-${e}${n?`-${n}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:n,nodeId:o})=>Array.from(t.getState().connectionLookup.get(`${o}${e?n?`-${e}-${n}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{let o=t.getState().fitViewResolver??(0,s.nu)();return t.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:o}),n.nodeQueue.push(e=>[...e]),o.promise}}},[]);return(0,a.useMemo)(()=>({...r,...e,viewportInitialized:o}),[o])}let ei=e=>e.selected,ea="undefined"!=typeof window?window:void 0,el={position:"absolute",width:"100%",height:"100%",top:0,left:0},es=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function ed({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:l=s.IY.Free,zoomOnDoubleClick:d=!0,panOnDrag:u=!0,defaultViewport:g,translateExtent:f,minZoom:p,maxZoom:y,zoomActivationKeyCode:b,preventScrolling:v=!0,children:w,noWheelClassName:x,noPanClassName:S,onViewportChange:C,isControlledViewport:E,paneClickDistance:N,selectionOnDrag:k}){let M=h(),P=(0,a.useRef)(null),{userSelectionActive:j,lib:_,connectionInProgress:D}=m(es,c.X),I=Z(b),R=(0,a.useRef)();!function(e){let t=h();(0,a.useEffect)(()=>{let n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;let n=(0,s.t_)(e.current);(0===n.height||0===n.width)&&t.getState().onError?.("004",s.Qj.error004()),t.setState({width:n.width||500,height:n.height||500})};if(e.current){n(),window.addEventListener("resize",n);let t=new ResizeObserver(()=>n());return t.observe(e.current),()=>{window.removeEventListener("resize",n),t&&e.current&&t.unobserve(e.current)}}},[])}(P);let L=(0,a.useCallback)(e=>{C?.({x:e[0],y:e[1],zoom:e[2]}),E||M.setState({transform:e})},[C,E]);return(0,a.useEffect)(()=>
1{if(P.current){R.current=(0,s.X6)({domNode:P.current,minZoom:p,maxZoom:y,translateExtent:f,viewport:g,onDraggingChange:e=>M.setState({paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:o}=M.getState();o?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:o}=M.getState();o?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:o}=M.getState();o?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=R.current.getViewport();return M.setState({panZoom:R.current,transform:[e,t,n],domNode:P.current.closest(".react-flow")}),()=>{R.current?.destroy()}}},[]),(0,a.useEffect)(()=>{R.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:l,zoomOnDoubleClick:d,panOnDrag:u,zoomActivationKeyPressed:I,preventScrolling:v,noPanClassName:S,userSelectionActive:j,noWheelClassName:x,lib:_,onTransformChange:L,connectionInProgress:D,selectionOnDrag:k,paneClickDistance:N})},[e,t,n,o,r,l,d,u,I,v,S,j,x,_,L,D,k,N]),(0,i.jsx)("div",{className:"react-flow__renderer",ref:P,style:el,children:w})}let ec=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function eu(){let{userSelectionActive:e,userSelectionRect:t}=m(ec,c.X);return e&&t?(0,i.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 eg=(e,t)=>n=>{n.target===t.current&&e?.(n)},ef=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function ep({isSelecting:e,selectionKeyPressed:t,selectionMode:n=s.oW.Full,panOnDrag:o,paneClickDistance:r,selectionOnDrag:d,onSelectionStart:u,onSelectionEnd:g,onPaneClick:f,onPaneContextMenu:p,onPaneScroll:y,onPaneMouseEnter:b,onPaneMouseMove:v,onPaneMouseLeave:w,children:x}){let S=h(),{userSelectionActive:C,elementsSelectable:E,dragging:N,connectionInProgress:k}=m(ef,c.X),M=E&&(e||C),P=(0,a.useRef)(null),j=(0,a.useRef)(),_=(0,a.useRef)(new Set),D=(0,a.useRef)(new Set),I=(0,a.useRef)(!1),R=e=>{if(I.current||k){I.current=!1;return}f?.(e),S.getState().resetSelectedElements(),S.setState({nodesSelectionActive:!1})},L=y?e=>y(e):void 0,O=!0===o||Array.isArray(o)&&o.includes(0);return(0,i.jsxs)("div",{className:(0,l.Z)(["react-flow__pane",{draggable:O,dragging:N,selection:e}]),onClick:M?void 0:eg(R,P),onContextMenu:eg(e=>{if(Array.isArray(o)&&o?.includes(2)){e.preventDefault();return}p?.(e)},P),onWheel:eg(L,P),onPointerEnter:M?void 0:b,onPointerMove:M?e=>{let{userSelectionRect:o,transform:i,nodeLookup:a,edgeLookup:l,connectionLookup:d,triggerNodeChanges:c,triggerEdgeChanges:g,defaultEdgeOptions:f,resetSelectedElements:p}=S.getState();if(!j.current||!o)return;let{x:m,y:h}=(0,s.wv)(e.nativeEvent,j.current),{startX:y,startY:b}=o;if(!I.current){let n=Math.hypot(m-y,h-b);if(n<=(t?0:r))return;p(),u?.(e)}I.current=!0;let v={startX:y,startY:b,x:m<y?m:y,y:h<b?h:b,width:Math.abs(m-y),height:Math.abs(h-b)},w=_.current,x=D.current;_.current=new Set((0,s.f5)(a,v,i,n===s.oW.Partial,!0).map(e=>e.id)),D.current=new Set;let C=f?.selectable??!0;for(let e of _.current){let t=d.get(e);if(t)for(let{edgeId:e}of t.values()){let t=l.get(e);t&&(t.selectable??C)&&D.current.add(e)}}if(!(0,s.OL)(w,_.current)){let e=K(a,_.current,!0);c(e)}if(!(0,s.OL)(x,D.current)){let e=K(l,D.current);g(e)}S.setState({userSelectionRect:v,userSelectionActive:!0,nodesSelectionActive:!1})}:v,onPointerUp:M?e=>{0===e.button&&(e.target?.releasePointerCapture?.(e.pointerId),!C&&e.target===P.current&&S.getState().userSelectionRect&&R?.(e),S.setState({userSelectionActive:!1,userSelectionRect:null}),I.current&&(g?.(e),S.setState({nodesSelectionActive:_.current.size>0})))}:void 0,onPointerDownCapture:M?n=>{let{domNode:o}=S.getState();if(j.current=o?.getBoundingClientRect(),!j.current)return;let r=n.target===P.current,i=!r&&!!n.target.closest(".nokey");if(i||!e||!(d&&r||t)||0!==n.button||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),I.current=!1;let{x:a,y:l}=(0,s.wv)(n.nativeEvent,j.current);S.setState({userSelectionRect:{width:0,height:0,startX:a,startY:l,x:a,y:l}}),r||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:M?e=>{I.current&&(e.stopPropagation(),I.current=!1)}:void 0,onPointerLeave:w,ref:P,style:el,children:[x,(0,i.jsx)(eu,{})]})}function em({id:e,store:t,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:a,nodeLookup:l,onError:d}=t.getState(),c=l.get(e);if(!c){d?.("012",s.Qj.error012(e));return}t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(i({nodes:[c],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([e])}function eh({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:r,isSelectable:i,nodeClickDistance:l}){let d=h(),[c,u]=(0,a.useState)(!1),g=(0,a.useRef)();return(0,a.useEffect)(()=>{g.current=(0,s.oC)({getStoreItems:()=>d.getState(),onNodeMouseDown:t=>{em({id:t,store:d,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),(0,a.useEffect)(()=>
1{if(t)g.current?.destroy();else if(e.current)return g.current?.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:i,nodeId:r,nodeClickDistance:l}),()=>{g.current?.destroy()}},[n,o,t,i,e,r]),c}let ey=e=>t=>t.selected&&(t.draggable||e&&void 0===t.draggable);function eb(){let e=h(),t=(0,a.useCallback)(t=>{let{nodeExtent:n,snapToGrid:o,snapGrid:r,nodesDraggable:i,onError:a,updateNodePositions:l,nodeLookup:d,nodeOrigin:c}=e.getState(),u=new Map,g=ey(i),f=o?r[0]:5,p=o?r[1]:5,m=t.direction.x*f*t.factor,h=t.direction.y*p*t.factor;for(let[,e]of d){if(!g(e))continue;let t={x:e.internals.positionAbsolute.x+m,y:e.internals.positionAbsolute.y+h};o&&(t=(0,s._2)(t,r));let{position:i,positionAbsolute:l}=(0,s.q7)({nodeId:e.id,nextPosition:t,nodeLookup:d,nodeExtent:n,nodeOrigin:c,onError:a});e.position=i,e.internals.positionAbsolute=l,u.set(e.id,e)}l(u)},[]);return t}let ev=(0,a.createContext)(null),ew=ev.Provider;ev.Consumer;let ex=()=>{let e=(0,a.useContext)(ev);return e},eS=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),eC=(e,t,n)=>o=>{let{connectionClickStartHandle:r,connectionMode:i,connection:a}=o,{fromHandle:l,toHandle:d,isValid:c}=a,u=d?.nodeId===e&&d?.id===t&&d?.type===n;return{connectingFrom:l?.nodeId===e&&l?.id===t&&l?.type===n,connectingTo:u,clickConnecting:r?.nodeId===e&&r?.id===t&&r?.type===n,isPossibleEndHandle:i===s.jD.Strict?l?.type!==n:e!==l?.nodeId||t!==l?.id,connectionInProcess:!!l,clickConnectionInProcess:!!r,valid:u&&c}},eE=(0,a.memo)(q(function({type:e="source",position:t=s.Ly.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:a=!0,id:d,onConnect:u,children:g,className:f,onMouseDown:p,onTouchStart:y,...b},v){let w=d||null,x="target"===e,S=h(),C=ex(),{connectOnClick:E,noPanClassName:N,rfId:k}=m(eS,c.X),{connectingFrom:M,connectingTo:P,clickConnecting:j,isPossibleEndHandle:_,connectionInProcess:D,clickConnectionInProcess:I,valid:R}=m(eC(C,w,e),c.X);C||S.getState().onError?.("010",s.Qj.error010());let L=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=S.getState(),r={...t,...e};if(o){let{edges:e,setEdges:t}=S.getState();t((0,s.Z_)(r,e))}n?.(r),u?.(r)},O=e=>{if(!C)return;let t=(0,s.N5)(e.nativeEvent);if(r&&(t&&0===e.button||!t)){let t=S.getState();s.Ql.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:x,handleId:w,nodeId:C,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:t.onConnectEnd,updateConnection:t.updateConnection,onConnect:L,isValidConnection:n||t.isValidConnection,getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?p?.(e):y?.(e)};return(0,i.jsx)("div",{"data-handleid":w,"data-nodeid":C,"data-handlepos":t,"data-id":`${k}-${C}-${w}-${e}`,className:(0,l.Z)(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",N,f,{source:!x,target:x,connectable:o,connectablestart:r,connectableend:a,clickconnecting:j,connectingfrom:M,connectingto:P,valid:R,connectionindicator:o&&(!D||_)&&(D||I?a:r)}]),onMouseDown:O,onTouchStart:O,onClick:E?t=>{let{onClickConnectStart:o,onClickConnectEnd:i,connectionClickStartHandle:a,connectionMode:l,isValidConnection:d,lib:c,rfId:u,nodeLookup:g,connection:f}=S.getState();if(!C||!a&&!r)return;if(!a){o?.(t.nativeEvent,{nodeId:C,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:C,type:e,id:w}});return}let p=(0,s.S2)(t.target),{connection:m,isValid:h}=s.Ql.isValid(t.nativeEvent,{handle:{nodeId:C,id:w,type:e},connectionMode:l,fromNodeId:a.nodeId,fromHandleId:a.id||null,fromType:a.type,isValidConnection:n||d,flowId:u,doc:p,lib:c,nodeLookup:g});h&&m&&L(m);let y=structuredClone(f);delete y.inProgress,y.toPosition=y.toHandle?y.toHandle.position:null,i?.(t,y),S.setState({connectionClickStartHandle:null})}:void 0,ref:v,...b,children:g})})),eN={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},ek={input:function({data:e,isConnectable:t,sourcePosition:n=s.Ly.Bottom}){return(0,i.jsxs)(i.Fragment,{children:[e?.label,(0,i.jsx)(eE,{type:"source",position:n,isConnectable:t})]})},default:function({data:e,isConnectable:t,targetPosition:n=s.Ly.Top,sourcePosition:o=s.Ly.Bottom}){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(eE,{type:"target",position:n,isConnectable:t}),e?.label,(0,i.jsx)(eE,{type:"source",position:o,isConnectable:t})]})},output:function({data:e,isConnectable:t,targetPosition:n=s.Ly.Top}){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(eE,{type:"target",position:n,isConnectable:t}),e?.label]})},group:function(){return null}},eM=e=>{let{width:t,height:n,x:o,y:r}=(0,s.W0)(e.nodeLookup,{filter:e=>!!e.selected});return{width:(0,s.kE)(t)?t:null,height:(0,s.kE)(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 eP({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let o=h(),{width:r,height:s,transformString:d,userSelectionActive:u}=m(eM,c.X),g=eb(),f=(0,a.useRef)(null);if((0,a.useEffect)(()=>{n||f.current?.focus({preventScroll:!0})},[n]),eh({nodeRef:f}),u||!r||!s)return null;let p=e?t=>{let n=o.getState().nodes.filter(e=>e.selected);e(t,n)}:void 0;return(0,i.jsx)("div",{className:(0,l.Z)(["react-flow__nodesselection","react-flow__container",t]),style:{transform:d},children:(0,i.jsx)("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(eN,e.key)&&(e.preventDefault(),g({direction:eN[e.key],factor:e.shiftKey?4:1}))},style:{width:r,height:s}})})}let ej="undefined"!=typeof window?window:void 0,e_=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:b,multiSelectionKeyCode:v,panActivationKeyCode:w,zoomActivationKeyCode:x,elementsSelectable:S,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:N,panOnScrollSpeed:k,panOnScrollMode:M,zoomOnDoubleClick:P,panOnDrag:j,defaultViewport:_,translateExtent:D,minZoom:I,maxZoom:R,preventScrolling:L,onSelectionContextMenu:O,noWheelClassName:A,noPanClassName:$,disableKeyboardA11y:z,onViewportChange:B,isControlledViewport:V}){let{nodesSelectionActive:H,userSelectionActive:T}=m(e_,c.X),F=Z(g,{target:ej}),X=Z(w,{target:ej}),W=X||j,K=f&&!0!==W;return!function({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=h(),{deleteElements:o}=er(),r=Z(e,{actInsideInputWithModifier:!1}),i=Z(t,{target:ea}
1);(0,a.useEffect)(()=>{if(r){let{edges:e,nodes:t}=n.getState();o({nodes:t.filter(ei),edges:e.filter(ei)}),n.setState({nodesSelectionActive:!1})}},[r]),(0,a.useEffect)(()=>{n.setState({multiSelectionActive:i})},[i])}({deleteKeyCode:u,multiSelectionKeyCode:v}),(0,i.jsx)(ed,{onPaneContextMenu:l,elementsSelectable:S,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:X||N,panOnScrollSpeed:k,panOnScrollMode:M,zoomOnDoubleClick:P,panOnDrag:!F&&W,defaultViewport:_,translateExtent:D,minZoom:I,maxZoom:R,zoomActivationKeyCode:x,preventScrolling:L,noWheelClassName:A,noPanClassName:$,onViewportChange:B,isControlledViewport:V,paneClickDistance:d,selectionOnDrag:K,children:(0,i.jsxs)(ep,{onSelectionStart:y,onSelectionEnd:b,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:l,onPaneScroll:s,panOnDrag:W,isSelecting:!!(F||T||K),selectionMode:p,selectionKeyPressed:F,paneClickDistance:d,selectionOnDrag:K,children:[e,H&&(0,i.jsx)(eP,{onSelectionContextMenu:O,noPanClassName:$,disableKeyboardA11y:z})]})})}eD.displayName="FlowRenderer";let eI=(0,a.memo)(eD),eR=e=>t=>e?(0,s.f5)(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(e=>e.id):Array.from(t.nodeLookup.keys()),eL=e=>e.updateNodeInternals;var eO=(0,a.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:b,noDragClassName:w,noPanClassName:x,disableKeyboardA11y:S,rfId:C,nodeTypes:E,nodeClickDistance:N,onError:k}){let{node:M,internals:P,isParent:j}=m(t=>{let n=t.nodeLookup.get(e),o=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:o}},c.X),_=M.type||"default",D=E?.[_]||ek[_];void 0===D&&(k?.("003",s.Qj.error003(_)),_="default",D=E?.default||ek.default);let I=!!(M.draggable||g&&void 0===M.draggable),R=!!(M.selectable||f&&void 0===M.selectable),L=!!(M.connectable||p&&void 0===M.connectable),O=!!(M.focusable||y&&void 0===M.focusable),A=h(),$=(0,s.nb)(M),z=function({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){let r=h(),i=(0,a.useRef)(null),l=(0,a.useRef)(null),s=(0,a.useRef)(e.sourcePosition),d=(0,a.useRef)(e.targetPosition),c=(0,a.useRef)(t),u=n&&!!e.internals.handleBounds;return(0,a.useEffect)(()=>{!i.current||e.hidden||u&&l.current===i.current||(l.current&&o?.unobserve(l.current),o?.observe(i.current),l.current=i.current)},[u,e.hidden]),(0,a.useEffect)(()=>()=>{l.current&&(o?.unobserve(l.current),l.current=null)},[]),(0,a.useEffect)(()=>{if(i.current){let n=c.current!==t,o=s.current!==e.sourcePosition,a=d.current!==e.targetPosition;(n||o||a)&&(c.current=t,s.current=e.sourcePosition,d.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:i.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),i}({node:M,nodeType:_,hasDimensions:$,resizeObserver:b}),B=eh({nodeRef:z,disabled:M.hidden||!I,noDragClassName:w,handleSelector:M.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:N}),V=eb();if(M.hidden)return null;let Z=(0,s.Rf)(M),H=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=R||I||t||n||o||r,F=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,Q=u?e=>u(e,{...P.userNode}):void 0;return(0,i.jsx)("div",{className:(0,l.Z)(["react-flow__node",`react-flow__node-${_}`,{[x]:I},M.className,{selected:M.selected,selectable:R,parent:j,draggable:I,dragging:B}]),ref:z,style:{zIndex:P.z,transform:`translate(${P.positionAbsolute.x}px,${P.positionAbsolute.y}px)`,pointerEvents:T?"all":"none",visibility:$?"visible":"hidden",...M.style,...H},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:F,onMouseMove:X,onMouseLeave:W,onContextMenu:K,onClick:n=>{let{selectNodesOnDrag:o,nodeDragThreshold:r}=A.getState();R&&(!o||!I||r>0)&&em({id:e,store:A,nodeRef:z}),t&&t(n,{...P.userNode})},onDoubleClick:Q,onKeyDown:O?t=>{if(!(0,s.s$)(t.nativeEvent)&&!S){if(s.wQ.includes(t.key)&&R){let n="Escape"===t.key;em({id:e,store:A,unselect:n,nodeRef:z})}else if(I&&M.selected&&Object.prototype.hasOwnProperty.call(eN,t.key)){t.preventDefault();let{ariaLabelConfig:e}=A.getState();
1A.setState({ariaLiveMessage:e["node.a11yDescription.ariaLiveMessage"]({direction:t.key.replace("Arrow","").toLowerCase(),x:~~P.positionAbsolute.x,y:~~P.positionAbsolute.y})}),V({direction:eN[t.key],factor:t.shiftKey?4:1})}}}:void 0,tabIndex:O?0:void 0,onFocus:O?()=>{if(S||!z.current?.matches(":focus-visible"))return;let{transform:t,width:n,height:o,autoPanOnNodeFocus:r,setCenter:i}=A.getState();if(!r)return;let a=(0,s.f5)(new Map([[e,M]]),{x:0,y:0,width:n,height:o},t,!0).length>0;a||i(M.position.x+Z.width/2,M.position.y+Z.height/2,{zoom:t[2]})}:void 0,role:M.ariaRole??(O?"group":void 0),"aria-roledescription":"node","aria-describedby":S?void 0:`${v}-${C}`,"aria-label":M.ariaLabel,...M.domAttributes,children:(0,i.jsx)(ew,{value:e,children:(0,i.jsx)(D,{id:e,data:M.data,type:_,positionAbsoluteX:P.positionAbsolute.x,positionAbsoluteY:P.positionAbsolute.y,selected:M.selected??!1,selectable:R,draggable:I,deletable:M.deletable??!0,isConnectable:L,sourcePosition:M.sourcePosition,targetPosition:M.targetPosition,dragging:B,dragHandle:M.dragHandle,zIndex:P.z,parentId:M.parentId,...Z})})})});let eA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function e$(e){let{nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:r,onError:l}=m(eA,c.X),s=function(e){let t=m((0,a.useCallback)(eR(e),[e]),c.X);return t}(e.onlyRenderVisibleElements),d=function(){let e=m(eL),[t]=(0,a.useState)(()=>"undefined"==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,a.useEffect)(()=>()=>{t?.disconnect()},[t]),t}();return(0,i.jsx)("div",{className:"react-flow__nodes",style:el,children:s.map(a=>(0,i.jsx)(eO,{id:a,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:d,nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:l},a))})}e$.displayName="NodeRenderer";let ez=(0,a.memo)(e$),eB={[s.QZ.Arrow]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,i.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[s.QZ.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,i.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},eV=({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=function(e){let t=h(),n=(0,a.useMemo)(()=>{let n=Object.prototype.hasOwnProperty.call(eB,e);return n?eB[e]:(t.getState().onError?.("009",s.Qj.error009(e)),null)},[e]);return n}(t);return u?(0,i.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,i.jsx)(u,{color:n,strokeWidth:d})}):null},eZ=({defaultColor:e,rfId:t})=>{let n=m(e=>e.edges),o=m(e=>e.defaultEdgeOptions),r=(0,a.useMemo)(()=>{let r=(0,s.n3)(n,{id:t,defaultColor:e,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd});return r},[n,o,t,e]);return r.length?(0,i.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,i.jsx)("defs",{children:r.map(e=>(0,i.jsx)(eV,{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};eZ.displayName="MarkerDefinitions";var eH=(0,a.memo)(eZ);function eT({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,m]=(0,a.useState)({x:1,y:0,width:0,height:0}),h=(0,l.Z)(["react-flow__edge-textwrapper",g]),y=(0,a.useRef)(null);return((0,a.useEffect)(()=>
1{if(y.current){let e=y.current.getBBox();m({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n)?(0,i.jsxs)("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:h,visibility:p.width?"visible":"hidden",...f,children:[r&&(0,i.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,i.jsx)("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:y,style:o,children:n}),u]}):null}eT.displayName="EdgeText";let eF=(0,a.memo)(eT);function eX({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:a,labelBgStyle:d,labelBgPadding:c,labelBgBorderRadius:u,interactionWidth:g=20,...f}){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{...f,d:e,fill:"none",className:(0,l.Z)(["react-flow__edge-path",f.className])}),g?(0,i.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}):null,o&&(0,s.kE)(t)&&(0,s.kE)(n)?(0,i.jsx)(eF,{x:t,y:n,label:o,labelStyle:r,labelShowBg:a,labelBgStyle:d,labelBgPadding:c,labelBgBorderRadius:u}):null]})}function eW({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===s.Ly.Left||e===s.Ly.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function eK({sourceX:e,sourceY:t,sourcePosition:n=s.Ly.Bottom,targetX:o,targetY:r,targetPosition:i=s.Ly.Top}){let[a,l]=eW({pos:n,x1:e,y1:t,x2:o,y2:r}),[d,c]=eW({pos:i,x1:o,y1:r,x2:e,y2:t}),[u,g,f,p]=(0,s.lM)({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:a,sourceControlY:l,targetControlX:d,targetControlY:c});return[`M${e},${t} C${a},${l} ${d},${c} ${o},${r}`,u,g,f,p]}function eQ(e){return(0,a.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:a,sourcePosition:l,targetPosition:s,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:y,interactionWidth:b})=>{let[v,w,x]=eK({sourceX:n,sourceY:o,sourcePosition:l,targetX:r,targetY:a,targetPosition:s}),S=e.isInternal?void 0:t;return(0,i.jsx)(eX,{id:S,path:v,labelX:w,labelY:x,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:y,interactionWidth:b})})}let eY=eQ({isInternal:!1}),eU=eQ({isInternal:!0});function eG(e){return(0,a.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:a,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,sourcePosition:m=s.Ly.Bottom,targetPosition:h=s.Ly.Top,markerEnd:y,markerStart:b,pathOptions:v,interactionWidth:w})=>{let[x,S,C]=(0,s.OW)({sourceX:n,sourceY:o,sourcePosition:m,targetX:r,targetY:a,targetPosition:h,borderRadius:v?.borderRadius,offset:v?.offset,stepPosition:v?.stepPosition}),E=e.isInternal?void 0:t;return(0,i.jsx)(eX,{id:E,path:x,labelX:S,labelY:C,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:y,markerStart:b,interactionWidth:w})})}eY.displayName="SimpleBezierEdge",eU.displayName="SimpleBezierEdgeInternal";let eq=eG({isInternal:!1}),eJ=eG({isInternal:!0});function e0(e){return(0,a.memo)(({id:t,...n})=>{let o=e.isInternal?void 0:t;return(0,i.jsx)(eq,{...n,id:o,pathOptions:(0,a.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}eq.displayName="SmoothStepEdge",eJ.displayName="SmoothStepEdgeInternal";let e1=e0({isInternal:!1}),e3=e0({isInternal:!0});function e2(e){return(0,a.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:a,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:m,markerStart:h,interactionWidth:y})=>{let[b,v,w]=(0,s.Hm)({sourceX:n,sourceY:o,targetX:r,targetY:a}),x=e.isInternal?void 0:t;return(0,i.jsx)(eX,{id:x,path:b,labelX:v,labelY:w,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:m,markerStart:h,interactionWidth:y})})}e1.displayName="StepEdge",e3.displayName="StepEdgeInternal";let e5=e2({isInternal:!1}),e4=e2({isInternal:!0});function e6(e){return(0,a.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:a,sourcePosition:l=s.Ly.Bottom,targetPosition:d=s.Ly.Top,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:m,style:h,markerEnd:y,markerStart:b,pathOptions:v,interactionWidth:w})=>{let[x,S,C]=(0,s.OQ)({sourceX:n,sourceY:o,sourcePosition:l,targetX:r,targetY:a,targetPosition:d,curvature:v?.curvature}),E=e.isInternal?void 0:t;return(0,i.jsx)(eX,{id:E,path:x,labelX:S,labelY:C,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:m,style:h,markerEnd:y,markerStart:b,interactionWidth:w})})}e5.displayName="StraightEdge",e4.displayName="StraightEdgeInternal";let e7=e6({isInternal:!1}),e8=e6({isInternal:!0});e7.displayName="BezierEdge",e8.displayName="BezierEdgeInternal";let e9={default:e8,straight:e4,step:e3,smoothstep:eJ,simplebezier:eU},te={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},tt=(e,t,n)=>n===s.Ly.Left?e-t:n===s.Ly.Right?e+t:e,tn=(e,t,n)=>n===s.Ly.Top?e-t:n===s.Ly.Bottom?e+t:e,to="react-flow__edgeupdater";function tr({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:a,onMouseOut:s,type:d}){return(0,i.jsx)("circle",{onMouseDown:r,onMouseEnter:a,onMouseOut:s,className:(0,l.Z)([to,`${to}-${d}`]),cx:tt(t,o,e),cy:tn(n,o,e),r:o,stroke:"transparent",fill:"transparent"})}function ti({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:o,sourceY:r,targetX:a,targetY:l,sourcePosition:d,targetPosition:c,onReconnect:u,onReconnectStart:g,onReconnectEnd:f,setReconnecting:p,setUpdateHover:m}){let y=h(),b=(e,t)=>{if(0!==e.button)return;
1let{autoPanOnConnect:o,domNode:r,isValidConnection:i,connectionMode:a,connectionRadius:l,lib:d,onConnectStart:c,onConnectEnd:m,cancelConnection:h,nodeLookup:b,rfId:v,panBy:w,updateConnection:x}=y.getState(),S="target"===t.type;s.Ql.onPointerDown(e.nativeEvent,{autoPanOnConnect:o,connectionMode:a,connectionRadius:l,domNode:r,handleId:t.id,nodeId:t.nodeId,nodeLookup:b,isTarget:S,edgeUpdaterType:t.type,lib:d,flowId:v,cancelConnection:h,panBy:w,isValidConnection:i,onConnect:e=>u?.(n,e),onConnectStart:(o,r)=>{p(!0),g?.(e,n,t.type),c?.(o,r)},onConnectEnd:m,onReconnectEnd:(e,o)=>{p(!1),f?.(e,n,t.type,o)},updateConnection:x,getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,dragThreshold:y.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},v=()=>m(!0),w=()=>m(!1);return(0,i.jsxs)(i.Fragment,{children:[(!0===e||"source"===e)&&(0,i.jsx)(tr,{position:d,centerX:o,centerY:r,radius:t,onMouseDown:e=>b(e,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),onMouseEnter:v,onMouseOut:w,type:"source"}),(!0===e||"target"===e)&&(0,i.jsx)(tr,{position:c,centerX:a,centerY:l,radius:t,onMouseDown:e=>b(e,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),onMouseEnter:v,onMouseOut:w,type:"target"})]})}var ta=(0,a.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:b,onReconnectStart:v,onReconnectEnd:x,rfId:S,edgeTypes:C,noPanClassName:E,onError:N,disableKeyboardA11y:k}){let M=m(t=>t.edgeLookup.get(e)),P=m(e=>e.defaultEdgeOptions),j=(M=P?{...P,...M}:M).type||"default",_=C?.[j]||e9[j];void 0===_&&(N?.("011",s.Qj.error011(j)),j="default",_=C?.default||e9.default);let D=!!(M.focusable||t&&void 0===M.focusable),I=void 0!==b&&(M.reconnectable||n&&void 0===M.reconnectable),R=!!(M.selectable||o&&void 0===M.selectable),L=(0,a.useRef)(null),[O,A]=(0,a.useState)(!1),[$,z]=(0,a.useState)(!1),B=h(),{zIndex:V,sourceX:Z,sourceY:H,targetX:T,targetY:F,sourcePosition:X,targetPosition:W}=m((0,a.useCallback)(t=>{let n=t.nodeLookup.get(M.source),o=t.nodeLookup.get(M.target);if(!n||!o)return{zIndex:M.zIndex,...te};let r=(0,s.JU)({id:e,sourceNode:n,targetNode:o,sourceHandle:M.sourceHandle||null,targetHandle:M.targetHandle||null,connectionMode:t.connectionMode,onError:N}),i=(0,s.xx)({selected:M.selected,zIndex:M.zIndex,sourceNode:n,targetNode:o,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode});return{zIndex:i,...r||te}},[M.source,M.target,M.sourceHandle,M.targetHandle,M.selected,M.zIndex]),c.X),K=(0,a.useMemo)(()=>M.markerStart?`url('#${(0,s.dW)(M.markerStart,S)}')`:void 0,[M.markerStart,S]),Q=(0,a.useMemo)(()=>M.markerEnd?`url('#${(0,s.dW)(M.markerEnd,S)}')`:void 0,[M.markerEnd,S]);if(M.hidden||null===Z||null===H||null===T||null===F)return null;let Y=d?e=>{d(e,{...M})}:void 0,U=u?e=>{u(e,{...M})}:void 0,G=g?e=>{g(e,{...M})}:void 0,q=f?e=>{f(e,{...M})}:void 0,J=p?e=>{p(e,{...M})}:void 0;return(0,i.jsx)("svg",{style:{zIndex:V},children:(0,i.jsxs)("g",{className:(0,l.Z)(["react-flow__edge",`react-flow__edge-${j}`,M.className,E,{selected:M.selected,animated:M.animated,inactive:!R&&!r,updating:O,selectable:R}]),onClick:t=>{let{addSelectedEdges:n,unselectNodesAndEdges:o,multiSelectionActive:i}=B.getState();R&&(B.setState({nodesSelectionActive:!1}),M.selected&&i?(o({nodes:[],edges:[M]}),L.current?.blur()):n([e])),r&&r(t,M)},onDoubleClick:Y,onContextMenu:U,onMouseEnter:G,onMouseMove:q,onMouseLeave:J,onKeyDown:D?t=>{if(!k&&s.wQ.includes(t.key)&&R){let{unselectNodesAndEdges:n,addSelectedEdges:o}=B.getState(),r="Escape"===t.key;r?(L.current?.blur(),n({edges:[M]})):o([e])}}:void 0,tabIndex:D?0:void 0,role:M.ariaRole??(D?"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":D?`${w}-${S}`:void 0,ref:L,...M.domAttributes,children:[!$&&(0,i.jsx)(_,{id:e,source:M.source,target:M.target,type:M.type,selected:M.selected,animated:M.animated,selectable:R,deletable:M.deletable??!0,label:M.label,labelStyle:M.labelStyle,labelShowBg:M.labelShowBg,labelBgStyle:M.labelBgStyle,labelBgPadding:M.labelBgPadding,labelBgBorderRadius:M.labelBgBorderRadius,sourceX:Z,sourceY:H,targetX:T,targetY:F,sourcePosition:X,targetPosition:W,data:M.data,style:M.style,sourceHandleId:M.sourceHandle,targetHandleId:M.targetHandle,markerStart:K,markerEnd:Q,pathOptions:"pathOptions"in M?M.pathOptions:void 0,interactionWidth:M.interactionWidth}),I&&(0,i.jsx)(ti,{edge:M,isReconnectable:I,reconnectRadius:y,onReconnect:b,onReconnectStart:v,onReconnectEnd:x,sourceX:Z,sourceY:H,targetX:T,targetY:F,sourcePosition:X,targetPosition:W,setUpdateHover:A,setReconnecting:z})]})})});let tl=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function ts({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:o,noPanClassName:r,onReconnect:l,onEdgeContextMenu:d,onEdgeMouseEnter:u,onEdgeMouseMove:g,onEdgeMouseLeave:f,onEdgeClick:p,reconnectRadius:h,onEdgeDoubleClick:y,onReconnectStart:b,onReconnectEnd:v,disableKeyboardA11y:w}){let{edgesFocusable:x,edgesReconnectable:S,elementsSelectable:C,onError:E}=m(tl,c.X),N=function(e){let t=m((0,a.useCallback)(t=>{if(!e)return t.edges.map(e=>e.id);let n=[];if(t.width&&t.height)for(let e of t.edges){let o=t.nodeLookup.get(e.source),r=t.nodeLookup.get(e.target);o&&r&&(0,s.RY)({sourceNode:o,targetNode:r,width:t.width,height:t.height,transform:t.transform})&&n.push(e.id)}return n},[e]),c.X);return t}(t);return(0,i.jsxs)("div",{className:"react-flow__edges",children:[(0,i.jsx)(eH,{defaultColor:e,rfId:n}),N.map(e=>(0,i.jsx)(ta,{id:e,edgesFocusable:x,edgesReconnectable:S,elementsSelectable:C,noPanClassName:r,onReconnect:l,onContextMenu:d,onMouseEnter:u,onMouseMove:g,onMouseLeave:f,onClick:p,reconnectRadius:h,onDoubleClick:y,onReconnectStart:b,onReconnectEnd:v,rfId:n,onError:E,edgeTypes:o,disableKeyboardA11y:w},e))]})}ts.displayName="EdgeRenderer";let td=(0,a.memo)(ts),tc=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function tu({children:e}){let t=m(tc);return(0,i.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}let tg=e=>e.panZoom?.syncViewport;function tf(e){return e.connection.inProgress?{...e.connection,to:(0,s.m)(e.connection.to,e.transform)}:{...e.connection}}let tp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function tm({containerStyle:e,style:t,type:n,component:o}){let{nodesConnectable:r,width:a,height:d,isValid:u,inProgress:g}=m(tp,c.X);return a&&r&&g?(0,i.jsx)("svg",{style:e,width:a,height:d,className:"react-flow__connectionline react-flow__container",children:(0,i.jsx)("g",{className:(0,l.Z)(["react-flow__connection",(0,s.Zp)(u)]),children:(0,i.jsx)(th,{style:t,type:n,CustomComponent:o,isValid:u})})}):null}let th=({style:e,type:t=s.t8.Bezier,CustomComponent:n,isValid:o})=>{var r;let{inProgress:a,from:l,fromNode:d,fromHandle:u,fromPosition:g,to:f,toNode:p,toHandle:h,toPosition:y,pointer:b}=m(tf,c.X);if(!a)return;if(n)return(0,i.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:d,fromHandle:u,fromX:l.x,fromY:l.y,toX:f.x,toY:f.y,fromPosition:g,toPosition:y,connectionStatus:(0,s.Zp)(o),toNode:p,toHandle:h,pointer:b});let v="",w={sourceX:l.x,sourceY:l.y,sourcePosition:g,targetX:f.x,targetY:f.y,targetPosition:y};switch(t){case s.t8.Bezier:[v]=(0,s.OQ)(w);break;case s.t8.SimpleBezier:[v]=eK(w);break;case s.t8.Step:[v]=(0,s.OW)({...w,borderRadius:0});break;case s.t8.SmoothStep:[v]=(0,s.OW)(w);break;default:[v]=(0,s.Hm)(w)}return(0,i.jsx)("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};th.displayName="ConnectionLine";let ty={};function tb(e=ty){(0,a.useRef)(e),h(),(0,a.useEffect)(()=>{},[e])}function tv({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:b,connectionLineStyle:v,connectionLineComponent:w,connectionLineContainerStyle:x,selectionKeyCode:S,selectionOnDrag:C,selectionMode:E,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:M,deleteKeyCode:P,onlyRenderVisibleElements:j,elementsSelectable:_,defaultViewport:D,translateExtent:I,minZoom:R,maxZoom:L,preventScrolling:O,defaultMarkerColor:A,zoomOnScroll:$,zoomOnPinch:z,panOnScroll:B,panOnScrollSpeed:V,panOnScrollMode:Z,zoomOnDoubleClick:H,panOnDrag:T,onPaneClick:F,onPaneMouseEnter:X,onPaneMouseMove:W,onPaneMouseLeave:K,onPaneScroll:Q,onPaneContextMenu:Y,paneClickDistance:U,nodeClickDistance:G,onEdgeContextMenu:q,onEdgeMouseEnter:J,onEdgeMouseMove:ee,onEdgeMouseLeave:et,reconnectRadius:en,onReconnect:eo,onReconnectStart:ei,onReconnectEnd:ea,noDragClassName:el,noWheelClassName:es,noPanClassName:ed,disableKeyboardA11y:ec,nodeExtent:eu,rfId:eg,viewport:ef,onViewportChange:ep}){return tb(e),tb(t),h(),(0,a.useRef)(!1),(0,a.useEffect)(()=>{},[]),!function(e){let t=er(),n=(0,a.useRef)(!1);(0,a.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)}
1,[e,t.viewportInitialized])}(n),!function(e){let t=m(tg),n=h();(0,a.useEffect)(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t])}(ef),(0,i.jsx)(eI,{onPaneClick:F,onPaneMouseEnter:X,onPaneMouseMove:W,onPaneMouseLeave:K,onPaneContextMenu:Y,onPaneScroll:Q,paneClickDistance:U,deleteKeyCode:P,selectionKeyCode:S,selectionOnDrag:C,selectionMode:E,onSelectionStart:p,onSelectionEnd:y,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:M,elementsSelectable:_,zoomOnScroll:$,zoomOnPinch:z,zoomOnDoubleClick:H,panOnScroll:B,panOnScrollSpeed:V,panOnScrollMode:Z,panOnDrag:T,defaultViewport:D,translateExtent:I,minZoom:R,maxZoom:L,onSelectionContextMenu:f,preventScrolling:O,noDragClassName:el,noWheelClassName:es,noPanClassName:ed,disableKeyboardA11y:ec,onViewportChange:ep,isControlledViewport:!!ef,children:(0,i.jsxs)(tu,{children:[(0,i.jsx)(td,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:eo,onReconnectStart:ei,onReconnectEnd:ea,onlyRenderVisibleElements:j,onEdgeContextMenu:q,onEdgeMouseEnter:J,onEdgeMouseMove:ee,onEdgeMouseLeave:et,reconnectRadius:en,defaultMarkerColor:A,noPanClassName:ed,disableKeyboardA11y:ec,rfId:eg}),(0,i.jsx)(tm,{style:v,type:b,component:w,containerStyle:x}),(0,i.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,i.jsx)(ez,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:g,nodeClickDistance:G,onlyRenderVisibleElements:j,noPanClassName:ed,noDragClassName:el,disableKeyboardA11y:ec,nodeExtent:eu,rfId:eg}),(0,i.jsx)("div",{className:"react-flow__viewport-portal"})]})})}tv.displayName="GraphView";let tw=(0,a.memo)(tv),tx=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:a,fitViewOptions:l,minZoom:d=.5,maxZoom:c=2,nodeOrigin:u,nodeExtent:g,zIndexMode:f="basic"}={})=>{let p=new Map,m=new Map,h=new Map,y=new Map,b=o??t??[],v=n??e??[],w=u??[0,0],x=g??s.k5;(0,s.be)(h,y,b);let S=(0,s.yF)(v,p,m,{nodeOrigin:w,nodeExtent:x,zIndexMode:f}),C=[0,0,1];if(a&&r&&i){let e=(0,s.W0)(p,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),{x:t,y:n,zoom:o}=(0,s.$i)(e,r,i,d,c,l?.padding??.1);C=[t,n,o]}return{rfId:"1",width:r??0,height:i??0,transform:C,nodes:v,nodesInitialized:S,nodeLookup:p,parentLookup:m,edges:b,edgeLookup:y,connectionLookup:h,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==o,panZoom:null,minZoom:d,maxZoom:c,translateExtent:s.k5,nodeExtent:x,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:s.jD.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:w,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:a??!1,fitViewOptions:l,fitViewResolver:null,connection:{...s.Ky},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:s.Ki,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:s.Z,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},tS=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:a,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:g,nodeExtent:f,zIndexMode:p})=>(0,d.F)((d,m)=>{async function h(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:o,width:r,height:i,minZoom:a,maxZoom:l}=m();t&&(await (0,s.Eg)({nodes:e,width:r,height:i,panZoom:t,minZoom:a,maxZoom:l},n),o?.resolve(!0),d({fitViewResolver:null}))}return{...tx({nodes:e,edges:t,width:r,height:i,fitView:a,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:i,zIndexMode:a}=m(),l=(0,s.yF)(e,t,n,{nodeOrigin:o,nodeExtent:f,elevateNodesOnSelect:r,checkEquality:!0,zIndexMode:a});i&&l?(h(),d({nodes:e,nodesInitialized:l,fitViewQueued:!1,fitViewOptions:void 0})):d({nodes:e,nodesInitialized:l})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=m();(0,s.be)(t,n,e),d({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=m();t(e),d({hasDefaultNodes:!0})}if(t){let{setEdges:e}=m();e(t),d({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:o,domNode:r,nodeOrigin:i,nodeExtent:a,debug:l,fitViewQueued:c,zIndexMode:u}=m(),{changes:g,updatedInternals:f}=(0,s.B1)(e,n,o,r,i,a,u);f&&((0,s.VV)(n,o,{nodeOrigin:i,nodeExtent:a,zIndexMode:u}),c?(h(),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:i,connection:a,updateConnection:l,onNodesChangeMiddlewareMap:d}=m();for(let[i,d]of e){let e=r.get(i),c=!!(e?.expandParent&&e?.parentId&&d?.position),u={id:i,type:"position",position:c?{x:Math.max(0,d.position.x),y:Math.max(0,d.position.y)}:d.position,dragging:t};if(e&&a.inProgress&&a.fromNode.id===e.id){let t=(0,s.OH)(e,a.fromHandle,s.Ly.Left,!0);l({...a,from:t})}c&&e.parentId&&n.push({id:i,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}=m(),i=(0,s.so)(n,r,e,t);o.push(...i)}for(let e of d.values())o=e(o);i(o)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:o,hasDefaultNodes:r,debug:i}=m();if(e?.length){if(r){let t=X(e,o);n(t)}i&&console.log("React Flow: trigger node changes",e),t?.(e)}},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:o,hasDefaultEdges:r,debug:i}=m();if(e?.length){if(r){let t=X(e,o);n(t)}i&&console.log("React Flow: trigger edge changes",e),t?.(e)}},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:i}=m();if(t){let t=e.map(e=>W(e,!0));r(t);return}r(K(o,new Set([...e]),!0)),i(K(n))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:i}=m();if(t){let t=e.map(e=>W(e,!0));i(t);return}i(K(n,new Set([...e]))),r(K(o,new Set,!0))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:o,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=m(),l=(e||o).map(e=>{let t=r.get(e.id);return t&&(t.selected=!1),W(e.id,!1)}),s=(t||n).map(e=>W(e.id,!1));i(l),a(s)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=m();t?.setScaleExtent([e,n]),d({minZoom:e})}
1,setMaxZoom:e=>{let{panZoom:t,minZoom:n}=m();t?.setScaleExtent([n,e]),d({maxZoom:e})},setTranslateExtent:e=>{m().panZoom?.setTranslateExtent(e),d({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:o,elementsSelectable:r}=m();if(!r)return;let i=t.reduce((e,t)=>t.selected?[...e,W(t.id,!1)]:e,[]),a=e.reduce((e,t)=>t.selected?[...e,W(t.id,!1)]:e,[]);n(i),o(a)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:o,nodeOrigin:r,elevateNodesOnSelect:i,nodeExtent:a,zIndexMode:l}=m();(e[0][0]!==a[0][0]||e[0][1]!==a[0][1]||e[1][0]!==a[1][0]||e[1][1]!==a[1][1])&&((0,s.yF)(t,n,o,{nodeOrigin:r,nodeExtent:e,elevateNodesOnSelect:i,checkEquality:!1,zIndexMode:l}),d({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:o,panZoom:r,translateExtent:i}=m();return(0,s.hO)({delta:e,panZoom:r,transform:t,translateExtent:i,width:n,height:o})},setCenter:async(e,t,n)=>{let{width:o,height:r,maxZoom:i,panZoom:a}=m();if(!a)return Promise.resolve(!1);let l=void 0!==n?.zoom?n.zoom:i;return await a.setViewport({x:o/2-e*l,y:r/2-t*l,zoom:l},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{d({connection:{...s.Ky}})},updateConnection:e=>{d({connection:e})},reset:()=>d({...tx()})}},Object.is);function tC({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:o,initialWidth:r,initialHeight:l,initialMinZoom:s,initialMaxZoom:d,initialFitViewOptions:c,fitView:u,nodeOrigin:g,nodeExtent:p,zIndexMode:m,children:h}){let[y]=(0,a.useState)(()=>tS({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:l,fitView:u,minZoom:s,maxZoom:d,fitViewOptions:c,nodeOrigin:g,nodeExtent:p,zIndexMode:m}));return(0,i.jsx)(f,{value:y,children:(0,i.jsx)(en,{children:h})})}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:m,zIndexMode:h}){let y=(0,a.useContext)(g);return y?(0,i.jsx)(i.Fragment,{children:e}):(0,i.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:m,zIndexMode:h,children:e})}let tN={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var tk=q(function({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:r,nodeTypes:d,edgeTypes:c,onNodeClick:u,onEdgeClick:g,onInit:f,onMove:p,onMoveStart:m,onMoveEnd:h,onConnect:y,onConnectStart:b,onConnectEnd:v,onClickConnectStart:w,onClickConnectEnd:x,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:N,onNodeContextMenu:M,onNodeDoubleClick:P,onNodeDragStart:j,onNodeDrag:_,onNodeDragStop:D,onNodesDelete:O,onEdgesDelete:A,onDelete:$,onSelectionChange:V,onSelectionDragStart:Z,onSelectionDrag:H,onSelectionDragStop:T,onSelectionContextMenu:F,onSelectionStart:X,onSelectionEnd:W,onBeforeDelete:K,connectionMode:Q,connectionLineType:Y=s.t8.Bezier,connectionLineStyle:U,connectionLineComponent:G,connectionLineContainerStyle:q,deleteKeyCode:J="Backspace",selectionKeyCode:ee="Shift",selectionOnDrag:et=!1,selectionMode:en=s.oW.Full,panActivationKeyCode:eo="Space",multiSelectionKeyCode:er=(0,s.Q5)()?"Meta":"Control",zoomActivationKeyCode:ei=(0,s.Q5)()?"Meta":"Control",snapToGrid:ea,snapGrid:el,onlyRenderVisibleElements:es=!1,selectNodesOnDrag:ed,nodesDraggable:ec,autoPanOnNodeFocus:eu,nodesConnectable:eg,nodesFocusable:ef,nodeOrigin:ep=R,edgesFocusable:em,edgesReconnectable:eh,elementsSelectable:ey=!0,defaultViewport:eb=L,minZoom:ev=.5,maxZoom:ew=2,translateExtent:ex=s.k5,preventScrolling:eS=!0,nodeExtent:eC,defaultMarkerColor:eE="#b1b1b7",zoomOnScroll:eN=!0,zoomOnPinch:ek=!0,panOnScroll:eM=!1,panOnScrollSpeed:eP=.5,panOnScrollMode:ej=s.IY.Free,zoomOnDoubleClick:e_=!0,panOnDrag:eD=!0,onPaneClick:eI,onPaneMouseEnter:eR,onPaneMouseMove:eL,onPaneMouseLeave:eO,onPaneScroll:eA,onPaneContextMenu:e$,paneClickDistance:ez=1,nodeClickDistance:eB=0,children:eV,onReconnect:eZ,onReconnectStart:eH,onReconnectEnd:eT,onEdgeContextMenu:eF,onEdgeDoubleClick:eX,onEdgeMouseEnter:eW,onEdgeMouseMove:eK,onEdgeMouseLeave:eQ,reconnectRadius:eY=10,onNodesChange:eU,onEdgesChange:eG,noDragClassName:eq="nodrag",noWheelClassName:eJ="nowheel",noPanClassName:e0="nopan",fitView:e1,fitViewOptions:e3,connectOnClick:e2,attributionPosition:e5,proOptions:e4,defaultEdgeOptions:e6,elevateNodesOnSelect:e7=!0,elevateEdgesOnSelect:e8=!1,disableKeyboardA11y:e9=!1,autoPanOnConnect:te,autoPanOnNodeDrag:tt,autoPanSpeed:tn,connectionRadius:to,isValidConnection:tr,onError:ti,style:ta,id:tl,nodeDragThreshold:ts,connectionDragThreshold:td,viewport:tc,onViewportChange:tu,width:tg,height:tf,colorMode:tp="light",debug:tm,onScroll:th,ariaLabelConfig:ty,zIndexMode:tb="basic",...tv},tx){let tS=tl||"1",tC=function(e){let[t,n]=(0,a.useState)("system"===e?null:e);return(0,a.useEffect)(()=>
1{if("system"!==e){n(e);return}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"}(tp),tk=(0,a.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),th?.(e)},[th]);return(0,i.jsx)("div",{"data-testid":"rf__wrapper",...tv,onScroll:tk,style:{...ta,...tN},ref:tx,className:(0,l.Z)(["react-flow",r,tC]),id:tl,role:"application",children:(0,i.jsxs)(tE,{nodes:e,edges:t,width:tg,height:tf,fitView:e1,fitViewOptions:e3,minZoom:ev,maxZoom:ew,nodeOrigin:ep,nodeExtent:eC,zIndexMode:tb,children:[(0,i.jsx)(tw,{onInit:f,onNodeClick:u,onEdgeClick:g,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:N,onNodeContextMenu:M,onNodeDoubleClick:P,nodeTypes:d,edgeTypes:c,connectionLineType:Y,connectionLineStyle:U,connectionLineComponent:G,connectionLineContainerStyle:q,selectionKeyCode:ee,selectionOnDrag:et,selectionMode:en,deleteKeyCode:J,multiSelectionKeyCode:er,panActivationKeyCode:eo,zoomActivationKeyCode:ei,onlyRenderVisibleElements:es,defaultViewport:eb,translateExtent:ex,minZoom:ev,maxZoom:ew,preventScrolling:eS,zoomOnScroll:eN,zoomOnPinch:ek,zoomOnDoubleClick:e_,panOnScroll:eM,panOnScrollSpeed:eP,panOnScrollMode:ej,panOnDrag:eD,onPaneClick:eI,onPaneMouseEnter:eR,onPaneMouseMove:eL,onPaneMouseLeave:eO,onPaneScroll:eA,onPaneContextMenu:e$,paneClickDistance:ez,nodeClickDistance:eB,onSelectionContextMenu:F,onSelectionStart:X,onSelectionEnd:W,onReconnect:eZ,onReconnectStart:eH,onReconnectEnd:eT,onEdgeContextMenu:eF,onEdgeDoubleClick:eX,onEdgeMouseEnter:eW,onEdgeMouseMove:eK,onEdgeMouseLeave:eQ,reconnectRadius:eY,defaultMarkerColor:eE,noDragClassName:eq,noWheelClassName:eJ,noPanClassName:e0,rfId:tS,disableKeyboardA11y:e9,nodeExtent:eC,viewport:tc,onViewportChange:tu}),(0,i.jsx)(z,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:y,onConnectStart:b,onConnectEnd:v,onClickConnectStart:w,onClickConnectEnd:x,nodesDraggable:ec,autoPanOnNodeFocus:eu,nodesConnectable:eg,nodesFocusable:ef,edgesFocusable:em,edgesReconnectable:eh,elementsSelectable:ey,elevateNodesOnSelect:e7,elevateEdgesOnSelect:e8,minZoom:ev,maxZoom:ew,nodeExtent:eC,onNodesChange:eU,onEdgesChange:eG,snapToGrid:ea,snapGrid:el,connectionMode:Q,translateExtent:ex,connectOnClick:e2,defaultEdgeOptions:e6,fitView:e1,fitViewOptions:e3,onNodesDelete:O,onEdgesDelete:A,onDelete:$,onNodeDragStart:j,onNodeDrag:_,onNodeDragStop:D,onSelectionDrag:H,onSelectionDragStart:Z,onSelectionDragStop:T,onMove:p,onMoveStart:m,onMoveEnd:h,noPanClassName:e0,nodeOrigin:ep,rfId:tS,autoPanOnConnect:te,autoPanOnNodeDrag:tt,autoPanSpeed:tn,onError:ti,connectionRadius:to,isValidConnection:tr,selectNodesOnDrag:ed,nodeDragThreshold:ts,connectionDragThreshold:td,onBeforeDelete:K,debug:tm,ariaLabelConfig:ty,zIndexMode:tb}),(0,i.jsx)(I,{onSelectionChange:V}),eV,(0,i.jsx)(k,{proOptions:e4,position:e5}),(0,i.jsx)(E,{rfId:tS,disableKeyboardA11y:e9})]})})});let tM=e=>e.domNode?.querySelector(".react-flow__edgelabel-renderer");function tP({children:e}){let t=m(tM);return t?(0,u.createPortal)(e,t):null}function tj({dimensions:e,lineWidth:t,variant:n,className:o}){return(0,i.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:(0,l.Z)(["react-flow__background-pattern",n,o])})}function t_({radius:e,className:t}){return(0,i.jsx)("circle",{cx:e,cy:e,r:e,className:(0,l.Z)(["react-flow__background-pattern","dots",t])})}s.Qj.error014(),(o=r||(r={})).Lines="lines",o.Dots="dots",o.Cross="cross";let tD={[r.Dots]:1,[r.Lines]:1,[r.Cross]:6},tI=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function tR({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:h}){let y=(0,a.useRef)(null),{transform:b,patternId:v}=m(tI,c.X),w=o||tD[t],x=t===r.Dots,S=t===r.Cross,C=Array.isArray(n)?n:[n,n],E=[C[0]*b[2]||1,C[1]*b[2]||1],N=w*b[2],k=Array.isArray(d)?d:[d,d],M=S?[N,N]:E,P=[k[0]*b[2]||1+M[0]/2,k[1]*b[2]||1+M[1]/2],j=`${v}${e||""}`;return(0,i.jsxs)("svg",{className:(0,l.Z)(["react-flow__background",p]),style:{...f,...el,"--xy-background-color-props":g,"--xy-background-pattern-color-props":u},ref:y,"data-testid":"rf__background",children:[(0,i.jsx)("pattern",{id:j,x:b[0]%E[0],y:b[1]%E[1],width:E[0],height:E[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${P[0]},-${P[1]})`,children:x?(0,i.jsx)(t_,{radius:N/2,className:h}):(0,i.jsx)(tj,{dimensions:M,lineWidth:s,variant:t,className:h})}),(0,i.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${j})`})]})}
1tR.displayName="Background";let tL=(0,a.memo)(tR);function tO(){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,i.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function tA(){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,i.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function t$(){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,i.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 tz(){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,i.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 tB(){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,i.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 tV({children:e,className:t,...n}){return(0,i.jsx)("button",{type:"button",className:(0,l.Z)(["react-flow__controls-button",t]),...n,children:e})}let tZ=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function tH({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:a,onZoomOut:s,onFitView:d,onInteractiveChange:u,className:g,children:f,position:p="bottom-left",orientation:y="vertical","aria-label":b}){let v=h(),{isInteractive:w,minZoomReached:x,maxZoomReached:S,ariaLabelConfig:C}=m(tZ,c.X),{zoomIn:E,zoomOut:k,fitView:M}=er();return(0,i.jsxs)(N,{className:(0,l.Z)(["react-flow__controls","horizontal"===y?"horizontal":"vertical",g]),position:p,style:e,"data-testid":"rf__controls","aria-label":b??C["controls.ariaLabel"],children:[t&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(tV,{onClick:()=>{E(),a?.()},className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:S,children:(0,i.jsx)(tO,{})}),(0,i.jsx)(tV,{onClick:()=>{k(),s?.()},className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:x,children:(0,i.jsx)(tA,{})})]}),n&&(0,i.jsx)(tV,{className:"react-flow__controls-fitview",onClick:()=>{M(r),d?.()},title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:(0,i.jsx)(t$,{})}),o&&(0,i.jsx)(tV,{className:"react-flow__controls-interactive",onClick:()=>{v.setState({nodesDraggable:!w,nodesConnectable:!w,elementsSelectable:!w}),u?.(!w)},title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:w?(0,i.jsx)(tB,{}):(0,i.jsx)(tz,{})}),f]})}tH.displayName="Controls",(0,a.memo)(tH);let tT=(0,a.memo)(function({id:e,x:t,y:n,width:o,height:r,style:a,color:s,strokeColor:d,strokeWidth:c,className:u,borderRadius:g,shapeRendering:f,selected:p,onClick:m}){let{background:h,backgroundColor:y}=a||{};return(0,i.jsx)("rect",{className:(0,l.Z)(["react-flow__minimap-node",{selected:p},u]),x:t,y:n,rx:g,ry:g,width:o,height:r,style:{fill:s||h||y,stroke:d,strokeWidth:c},shapeRendering:f,onClick:m?t=>m(t,e):void 0})}),tF=e=>e.nodes.map(e=>e.id),tX=e=>e instanceof Function?e:()=>e,tW=(0,a.memo)(function({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:a,shapeRendering:l,NodeComponent:d,onClick:u}){let{node:g,x:f,y:p,width:h,height:y}=m(t=>{let{internals:n}=t.nodeLookup.get(e),o=n.userNode,{x:r,y:i}=n.positionAbsolute,{width:a,height:l}=(0,s.Rf)(o);return{node:o,x:r,y:i,width:a,height:l}},c.X);return g&&!g.hidden&&(0,s.nb)(g)?(0,i.jsx)(d,{x:f,y:p,width:h,height:y,style:g.style,selected:!!g.selected,className:o(g),color:t(g),borderRadius:r,strokeColor:n(g),strokeWidth:a,shapeRendering:l,onClick:u,id:g.id}):null});var tK=(0,a.memo)(function({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:a=tT,onClick:l}){let s=m(tF,c.X),d=tX(t),u=tX(e),g=tX(n),f="undefined"==typeof window||window.chrome?"crispEdges":"geometricPrecision";return(0,i.jsx)(i.Fragment,{children:s.map(e=>(0,i.jsx)(tW,{id:e,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:g,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:a,onClick:l,shapeRendering:f},e))})});let tQ=e=>!e.hidden,tY=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.oI)((0,s.W0)(e.nodeLookup,{filter:tQ}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}};function tU({style:e,className:t,nodeStrokeColor:n,nodeColor:o,nodeClassName:r="",nodeBorderRadius:d=5,nodeStrokeWidth:u,nodeComponent:g,bgColor:f,maskColor:p,maskStrokeColor:y,maskStrokeWidth:b,position:v="bottom-right",onClick:w,onNodeClick:x,pannable:S=!1,zoomable:C=!1,ariaLabel:E,inversePan:k,zoomStep:M=1,offsetScale:P=5}){let j=h(),_=(0,a.useRef)(null),{boundingRect:D,viewBB:I,rfId:R,panZoom:L,translateExtent:O,flowWidth:A,flowHeight:$,ariaLabelConfig:z}=m(tY,c.X),B=e?.width??200,V=e?.height??150,Z=D.width/B,H=D.height/V,T=Math.max(Z,H),F=T*B,X=T*V,W=P*T,K=D.x-(F-D.width)/2-W,Q=D.y-(X-D.height)/2-W,Y=F+2*W,U=X+2*W,G=`react-flow__minimap-desc-${R}`,q=(0,a.useRef)(0),J=(0,a.useRef)();q.current=T,(0,a.useEffect)(()=>{if(_.current&&L)return J.current=(0,s.FD)({domNode:_.current,panZoom:L,getTransform:()=>j.getState().transform,getViewScale:()=>q.current}),()=>{J.current?.destroy()}},[L]),(0,a.useEffect)(()=>{J.current?.update({translateExtent:O,width:A,height:$,inversePan:k,pannable:S,zoomStep:M,zoomable:C})},[S,C,k,M,O,A,$]);let ee=w?e=>{let[t,n]=J.current?.pointer(e)||[0,0];w(e,{x:t,y:n})}:void 0,et=x?(0,a.useCallback)((e,t)=>{let n=j.getState().nodeLookup.get(t).internals.userNode;x(e,n)},[]):void 0,en=E??z["minimap.ariaLabel"];return(0,i.jsx)(N,{position:v,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 b?b*T: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.Z)(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,i.jsxs)("svg",{width:B,height:V,viewBox:`${K} ${Q} ${Y} ${U}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":G,ref:_,onClick:ee,children:[en&&(0,i.jsx)("title",{id:G,children:en}),(0,i.jsx)(tK,{onClick:et,nodeColor:o,nodeStrokeColor:n,nodeBorderRadius:d,nodeClassName:r,nodeStrokeWidth:u,nodeComponent:g}),(0,i.jsx)("path",{className:"react-flow__minimap-mask",d:`M${K-W},${Q-W}h${Y+2*W}v${U+2*W}h${-Y-2*W}z 2 M${I.x},${I.y}h${I.width}v${I.height}h${-I.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}tU.displayName="MiniMap",(0,a.memo)(tU);let tG=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,tq={[s.pB.Line]:"right",[s.pB.Handle]:"bottom-right"};(0,a.memo)(function({nodeId:e,position:t,variant:n=s.pB.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:b=!1,resizeDirection:v,autoScale:w=!0,shouldResize:x,onResizeStart:S,onResize:C,onResizeEnd:E}){let N=ex(),k="string"==typeof e?e:N,M=h(),P=(0,a.useRef)(null),j=n===s.pB.Handle,_=m((0,a.useCallback)(tG(j&&w),[j,w]),c.X),D=(0,a.useRef)(null),I=t??tq[n];(0,a.useEffect)(()=>{if(P.current&&k)return D.current||(D.current=(0,s.Cz)({domNode:P.current,nodeId:k,getStoreItems:()=>
2{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:r,domNode:i}=M.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:r,paneDomNode:i}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:o,parentLookup:r,nodeOrigin:i}=M.getState(),a=[],l={x:e.x,y:e.y},d=o.get(k);if(d&&d.expandParent&&d.parentId){let t=d.origin??i,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.ZB)({x:e.x??d.position.x,y:e.y??d.position.y},{width:n,height:c},d.parentId,o,t)}},g=(0,s.so)([u],o,r,i);a.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:k,type:"position",position:{...l}};a.push(e)}if(void 0!==e.width&&void 0!==e.height){let t=!v||("horizontal"===v?"width":"height"),n={id:k,type:"dimensions",resizing:!0,setAttributes:t,dimensions:{width:e.width,height:e.height}};a.push(n)}for(let e of t){let t={...e,type:"position"};a.push(t)}n(a)},onEnd:({width:e,height:t})=>{M.getState().triggerNodeChanges([{id:k,type:"dimensions",resizing:!1,dimensions:{width:e,height:t}}])}})),D.current.update({controlPosition:I,boundaries:{minWidth:g,minHeight:f,maxWidth:p,maxHeight:y},keepAspectRatio:b,resizeDirection:v,onResizeStart:S,onResize:C,onResizeEnd:E,shouldResize:x}),()=>{D.current?.destroy()}},[I,g,f,p,y,b,S,C,E,x]);let R=I.split("-");return(0,i.jsx)("div",{className:(0,l.Z)(["react-flow__resize-control","nodrag",...R,n,o]),ref:P,style:{...r,scale:_,...u&&{[j?"backgroundColor":"borderColor"]:u}},children:d})})}}]);
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.