var Er=Object.defineProperty,Sr=Object.defineProperties;var Nr=Object.getOwnPropertyDescriptors;var Yt=Object.getOwnPropertySymbols;var po=Object.prototype.hasOwnProperty,mo=Object.prototype.propertyIsEnumerable;var ct=Math.pow,vo=(e,t,n)=>t in e?Er(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t)=>{for(var n in t||(t={}))po.call(t,n)&&vo(e,n,t[n]);if(Yt)for(var n of Yt(t))mo.call(t,n)&&vo(e,n,t[n]);return e},ce=(e,t)=>Sr(e,Nr(t));var dt=(e,t)=>{var n={};for(var o in e)po.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Yt)for(var o of Yt(e))t.indexOf(o)<0&&mo.call(e,o)&&(n[o]=e[o]);return n};var yo=(e,t,n)=>new Promise((o,i)=>{var r=l=>{try{a(n.next(l))}catch(u){i(u)}},s=l=>{try{a(n.throw(l))}catch(u){i(u)}},a=l=>l.done?o(l.value):Promise.resolve(l.value).then(r,s);a((n=n.apply(e,t)).next())});import{d as xe,b8 as li,bb as xt,gv as ui,n as ve,p as se,k as _e,e as fe,O as Fe,s as Ye,u as ee,v as pt,Q as ue,a as pe,du as Cr,g as rt,i as De,b as st,a3 as ci,F as Ae,N as ye,T as Mr,gw as Ir,m as Qe,o as di,a_ as kr,f as Re,w as Vn,Z as Vt,r as Pr,b9 as Qt,U as Tr,j as $r,t as Rn,Y as Dr,l as no,y as Le,z as fi,gx as Ar,aE as oo,b5 as Or,gy as zr,bc as mt,h as hi,L as me,ae as It,gz as Br}from"./index-DGrsCPlS.js";function gn(e){return li()?(Qt(e),!0):!1}function Ve(e){return typeof e=="function"?e():ee(e)}const Vr=typeof window!="undefined"&&typeof document!="undefined",Rr=e=>typeof e!="undefined",Hr=Object.prototype.toString,Lr=e=>Hr.call(e)==="[object Object]",Fr=()=>{};function Yr(e,t){function n(...o){return new Promise((i,r)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(i).catch(r)})}return n}const gi=e=>e();function Gr(e=gi){const t=pe(!0);function n(){t.value=!1}function o(){t.value=!0}const i=(...r)=>{t.value&&e(...r)};return{isActive:Br(t),pause:n,resume:o,eventFilter:i}}function _o(e,t=!1,n="Timeout"){return new Promise((o,i)=>{setTimeout(t?()=>i(n):o,e)})}function Xr(e,t,n={}){const r=n,{eventFilter:o=gi}=r,i=dt(r,["eventFilter"]);return ve(e,Yr(o,t),i)}function ft(e,t,n={}){const c=n,{eventFilter:o}=c,i=dt(c,["eventFilter"]),{eventFilter:r,pause:s,resume:a,isActive:l}=Gr(o);return{stop:Xr(e,t,ce(A({},i),{eventFilter:r})),pause:s,resume:a,isActive:l}}function Ur(e,t={}){if(!oo(e))return Or(e);const n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const o in e.value)n[o]=zr(()=>({get(){return e.value[o]},set(i){var r;if((r=Ve(t.replaceRef))!=null?r:!0)if(Array.isArray(e.value)){const a=[...e.value];a[o]=i,e.value=a}else{const a=ce(A({},e.value),{[o]:i});Object.setPrototypeOf(a,Object.getPrototypeOf(e.value)),e.value=a}else e.value[o]=i}}));return n}function Hn(e,t=!1){function n(d,{flush:p="sync",deep:g=!1,timeout:S,throwOnTimeout:w}={}){let x=null;const M=[new Promise(y=>{x=ve(e,C=>{d(C)!==t&&(x==null||x(),y(C))},{flush:p,deep:g,immediate:!0})})];return S!=null&&M.push(_o(S,w).then(()=>Ve(e)).finally(()=>x==null?void 0:x())),Promise.race(M)}function o(d,p){if(!oo(d))return n(C=>C===d,p);const{flush:g="sync",deep:S=!1,timeout:w,throwOnTimeout:x}=p!=null?p:{};let N=null;const y=[new Promise(C=>{N=ve([e,d],([B,R])=>{t!==(B===R)&&(N==null||N(),C(B))},{flush:g,deep:S,immediate:!0})})];return w!=null&&y.push(_o(w,x).then(()=>Ve(e)).finally(()=>(N==null||N(),Ve(e)))),Promise.race(y)}function i(d){return n(p=>!!p,d)}function r(d){return o(null,d)}function s(d){return o(void 0,d)}function a(d){return n(Number.isNaN,d)}function l(d,p){return n(g=>{const S=Array.from(g);return S.includes(d)||S.includes(Ve(d))},p)}function u(d){return c(1,d)}function c(d=1,p){let g=-1;return n(()=>(g+=1,g>=d),p)}return Array.isArray(Ve(e))?{toMatch:n,toContains:l,changed:u,changedTimes:c,get not(){return Hn(e,!t)}}:{toMatch:n,toBe:o,toBeTruthy:i,toBeNull:r,toBeNaN:a,toBeUndefined:s,changed:u,changedTimes:c,get not(){return Hn(e,!t)}}}function Ln(e){return Hn(e)}function Zr(e){var t;const n=Ve(e);return(t=n==null?void 0:n.$el)!=null?t:n}const vi=Vr?window:void 0;function pi(...e){let t,n,o,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,o,i]=e,t=vi):[t,n,o,i]=e,!t)return Fr;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const r=[],s=()=>{r.forEach(c=>c()),r.length=0},a=(c,d,p,g)=>(c.addEventListener(d,p,g),()=>c.removeEventListener(d,p,g)),l=ve(()=>[Zr(t),Ve(i)],([c,d])=>{if(s(),!c)return;const p=Lr(d)?A({},d):d;r.push(...n.flatMap(g=>o.map(S=>a(c,g,S,p))))},{immediate:!0,flush:"post"}),u=()=>{l(),s()};return gn(u),u}function Wr(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function wo(...e){let t,n,o={};e.length===3?(t=e[0],n=e[1],o=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],o=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:i=vi,eventName:r="keydown",passive:s=!1,dedupe:a=!1}=o,l=Wr(t);return pi(i,r,c=>{c.repeat&&Ve(a)||l(c)&&n(c)},s)}function Kr(e){return JSON.parse(JSON.stringify(e))}function Cn(e,t,n,o={}){var i,r,s;const{clone:a=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:p}=o,g=Vt(),S=n||(g==null?void 0:g.emit)||((i=g==null?void 0:g.$emit)==null?void 0:i.bind(g))||((s=(r=g==null?void 0:g.proxy)==null?void 0:r.$emit)==null?void 0:s.bind(g==null?void 0:g.proxy));let w=u;t||(t="modelValue"),w=w||`update:${t.toString()}`;const x=y=>a?typeof a=="function"?a(y):Kr(y):y,N=()=>Rr(e[t])?x(e[t]):d,M=y=>{p?p(y)&&S(w,y):S(w,y)};if(l){const y=N(),C=pe(y);let B=!1;return ve(()=>e[t],R=>{B||(B=!0,C.value=x(R),Le(()=>B=!1))}),ve(C,R=>{!B&&(R!==e[t]||c)&&M(R)},{deep:c}),C}else return se({get(){return N()},set(y){M(y)}})}var qr={value:()=>{}};function vn(){for(var e=0,t=arguments.length,n={},o;e=0&&(o=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}jt.prototype=vn.prototype={constructor:jt,on:function(e,t){var n=this._,o=Jr(e+"",n),i,r=-1,s=o.length;if(arguments.length<2){for(;++r0)for(var n=new Array(i),o=0,i,r;o=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),xo.hasOwnProperty(t)?{space:xo[t],local:e}:e}function jr(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Fn&&t.documentElement.namespaceURI===Fn?t.createElement(e):t.createElementNS(n,e)}}function es(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function mi(e){var t=pn(e);return(t.local?es:jr)(t)}function ts(){}function io(e){return e==null?ts:function(){return this.querySelector(e)}}function ns(e){typeof e!="function"&&(e=io(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i=y&&(y=M+1);!(B=x[y])&&++y=0;)(s=o[i])&&(r&&s.compareDocumentPosition(r)^4&&r.parentNode.insertBefore(s,r),r=s);return this}function Ms(e){e||(e=Is);function t(d,p){return d&&p?e(d.__data__,p.__data__):!d-!p}for(var n=this._groups,o=n.length,i=new Array(o),r=0;rt?1:e>=t?0:NaN}function ks(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Ps(){return Array.from(this)}function Ts(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?Fs:typeof t=="function"?Gs:Ys)(e,t,n==null?"":n)):yt(this.node(),e)}function yt(e,t){return e.style.getPropertyValue(t)||xi(e).getComputedStyle(e,null).getPropertyValue(t)}function Us(e){return function(){delete this[e]}}function Zs(e,t){return function(){this[e]=t}}function Ws(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ks(e,t){return arguments.length>1?this.each((t==null?Us:typeof t=="function"?Ws:Zs)(e,t)):this.node()[e]}function Ei(e){return e.trim().split(/^|\s+/)}function ro(e){return e.classList||new Si(e)}function Si(e){this._node=e,this._names=Ei(e.getAttribute("class")||"")}Si.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Ni(e,t){for(var n=ro(e),o=-1,i=t.length;++o=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function Ea(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,i=t.length,r;n()=>e;function Yn(e,{sourceEvent:t,subject:n,target:o,identifier:i,active:r,x:s,y:a,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:r,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}Yn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Da(e){return!e.ctrlKey&&!e.button}function Aa(){return this.parentNode}function Oa(e,t){return t==null?{x:e.x,y:e.y}:t}function za(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ba(){var e=Da,t=Aa,n=Oa,o=za,i={},r=vn("start","drag","end"),s=0,a,l,u,c,d=0;function p(C){C.on("mousedown.drag",g).filter(o).on("touchstart.drag",x).on("touchmove.drag",N,$a).on("touchend.drag touchcancel.drag",M).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(C,B){if(!(c||!e.call(this,C,B))){var R=y(this,t.call(this,C,B),C,B,"mouse");R&&(Ie(C.view).on("mousemove.drag",S,Tt).on("mouseup.drag",w,Tt),ki(C.view),Mn(C),u=!1,a=C.clientX,l=C.clientY,R("start",C))}}function S(C){if(ht(C),!u){var B=C.clientX-a,R=C.clientY-l;u=B*B+R*R>d}i.mouse("drag",C)}function w(C){Ie(C.view).on("mousemove.drag mouseup.drag",null),Pi(C.view,u),ht(C),i.mouse("end",C)}function x(C,B){if(e.call(this,C,B)){var R=C.changedTouches,X=t.call(this,C,B),F=R.length,q,K;for(q=0;q>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Xt(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Xt(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Ra.exec(e))?new Ce(t[1],t[2],t[3],1):(t=Ha.exec(e))?new Ce(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=La.exec(e))?Xt(t[1],t[2],t[3],t[4]):(t=Fa.exec(e))?Xt(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Ya.exec(e))?ko(t[1],t[2]/100,t[3]/100,1):(t=Ga.exec(e))?ko(t[1],t[2]/100,t[3]/100,t[4]):Eo.hasOwnProperty(e)?Co(Eo[e]):e==="transparent"?new Ce(NaN,NaN,NaN,0):null}function Co(e){return new Ce(e>>16&255,e>>8&255,e&255,1)}function Xt(e,t,n,o){return o<=0&&(e=t=n=NaN),new Ce(e,t,n,o)}function Za(e){return e instanceof Ht||(e=At(e)),e?(e=e.rgb(),new Ce(e.r,e.g,e.b,e.opacity)):new Ce}function Gn(e,t,n,o){return arguments.length===1?Za(e):new Ce(e,t,n,o==null?1:o)}function Ce(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}so(Ce,Gn,Ti(Ht,{brighter(e){return e=e==null?rn:Math.pow(rn,e),new Ce(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?$t:Math.pow($t,e),new Ce(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ce(ot(this.r),ot(this.g),ot(this.b),sn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Mo,formatHex:Mo,formatHex8:Wa,formatRgb:Io,toString:Io}));function Mo(){return`#${nt(this.r)}${nt(this.g)}${nt(this.b)}`}function Wa(){return`#${nt(this.r)}${nt(this.g)}${nt(this.b)}${nt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Io(){const e=sn(this.opacity);return`${e===1?"rgb(":"rgba("}${ot(this.r)}, ${ot(this.g)}, ${ot(this.b)}${e===1?")":`, ${e})`}`}function sn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ot(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function nt(e){return e=ot(e),(e<16?"0":"")+e.toString(16)}function ko(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ke(e,t,n,o)}function $i(e){if(e instanceof ke)return new ke(e.h,e.s,e.l,e.opacity);if(e instanceof Ht||(e=At(e)),!e)return new ke;if(e instanceof ke)return e;e=e.rgb();var t=e.r/255,n=e.g/255,o=e.b/255,i=Math.min(t,n,o),r=Math.max(t,n,o),s=NaN,a=r-i,l=(r+i)/2;return a?(t===r?s=(n-o)/a+(n0&&l<1?0:s,new ke(s,a,l,e.opacity)}function Ka(e,t,n,o){return arguments.length===1?$i(e):new ke(e,t,n,o==null?1:o)}function ke(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}so(ke,Ka,Ti(Ht,{brighter(e){return e=e==null?rn:Math.pow(rn,e),new ke(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?$t:Math.pow($t,e),new ke(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*t,i=2*n-o;return new Ce(In(e>=240?e-240:e+120,i,o),In(e,i,o),In(e<120?e+240:e-120,i,o),this.opacity)},clamp(){return new ke(Po(this.h),Ut(this.s),Ut(this.l),sn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=sn(this.opacity);return`${e===1?"hsl(":"hsla("}${Po(this.h)}, ${Ut(this.s)*100}%, ${Ut(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Po(e){return e=(e||0)%360,e<0?e+360:e}function Ut(e){return Math.max(0,Math.min(1,e||0))}function In(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Di=e=>()=>e;function qa(e,t){return function(n){return e+n*t}}function Ja(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function Qa(e){return(e=+e)==1?Ai:function(t,n){return n-t?Ja(t,n,e):Di(isNaN(t)?n:t)}}function Ai(e,t){var n=t-e;return n?qa(e,n):Di(isNaN(e)?t:e)}const To=function e(t){var n=Qa(t);function o(i,r){var s=n((i=Gn(i)).r,(r=Gn(r)).r),a=n(i.g,r.g),l=n(i.b,r.b),u=Ai(i.opacity,r.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return o.gamma=e,o}(1);function Ze(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Xn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,kn=new RegExp(Xn.source,"g");function ja(e){return function(){return e}}function el(e){return function(t){return e(t)+""}}function tl(e,t){var n=Xn.lastIndex=kn.lastIndex=0,o,i,r,s=-1,a=[],l=[];for(e=e+"",t=t+"";(o=Xn.exec(e))&&(i=kn.exec(t));)(r=i.index)>n&&(r=t.slice(n,r),a[s]?a[s]+=r:a[++s]=r),(o=o[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:Ze(o,i)})),n=kn.lastIndex;return n180?c+=360:c-u>180&&(u+=360),p.push({i:d.push(i(d)+"rotate(",null,o)-2,x:Ze(u,c)})):c&&d.push(i(d)+"rotate("+c+o)}function a(u,c,d,p){u!==c?p.push({i:d.push(i(d)+"skewX(",null,o)-2,x:Ze(u,c)}):c&&d.push(i(d)+"skewX("+c+o)}function l(u,c,d,p,g,S){if(u!==d||c!==p){var w=g.push(i(g)+"scale(",null,",",null,")");S.push({i:w-4,x:Ze(u,d)},{i:w-2,x:Ze(c,p)})}else(d!==1||p!==1)&&g.push(i(g)+"scale("+d+","+p+")")}return function(u,c){var d=[],p=[];return u=e(u),c=e(c),r(u.translateX,u.translateY,c.translateX,c.translateY,d,p),s(u.rotate,c.rotate,d,p),a(u.skewX,c.skewX,d,p),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,p),u=c=null,function(g){for(var S=-1,w=p.length,x;++S=0&&e._call.call(void 0,t),e=e._next;--_t}function Ao(){at=(ln=Ot.now())+mn,_t=Nt=0;try{dl()}finally{_t=0,hl(),at=0}}function fl(){var e=Ot.now(),t=e-ln;t>Bi&&(mn-=t,ln=e)}function hl(){for(var e,t=an,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:an=n);Ct=e,Zn(o)}function Zn(e){if(!_t){Nt&&(Nt=clearTimeout(Nt));var t=e-at;t>24?(e<1/0&&(Nt=setTimeout(Ao,e-Ot.now()-mn)),Et&&(Et=clearInterval(Et))):(Et||(ln=Ot.now(),Et=setInterval(fl,Bi)),_t=1,Vi(Ao))}}function Oo(e,t,n){var o=new un;return t=t==null?0:+t,o.restart(i=>{o.stop(),e(i+t)},t,n),o}var gl=vn("start","end","cancel","interrupt"),vl=[],Hi=0,zo=1,Wn=2,en=3,Bo=4,Kn=5,tn=6;function yn(e,t,n,o,i,r){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;pl(e,n,{name:t,index:o,group:i,on:gl,tween:vl,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:Hi})}function lo(e,t){var n=Pe(e,t);if(n.state>Hi)throw new Error("too late; already scheduled");return n}function Oe(e,t){var n=Pe(e,t);if(n.state>en)throw new Error("too late; already running");return n}function Pe(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function pl(e,t,n){var o=e.__transition,i;o[t]=n,n.timer=Ri(r,0,n.time);function r(u){n.state=zo,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,p,g;if(n.state!==zo)return l();for(c in o)if(g=o[c],g.name===n.name){if(g.state===en)return Oo(s);g.state===Bo?(g.state=tn,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete o[c]):+cWn&&o.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function Ul(e,t,n){var o,i,r=Xl(t)?lo:Oe;return function(){var s=r(this,e),a=s.on;a!==o&&(i=(o=a).copy()).on(t,n),s.on=i}}function Zl(e,t){var n=this._id;return arguments.length<2?Pe(this.node(),n).on.on(e):this.each(Ul(n,e,t))}function Wl(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Kl(){return this.on("end.remove",Wl(this._id))}function ql(e){var t=this._name,n=this._id;typeof e!="function"&&(e=io(e));for(var o=this._groups,i=o.length,r=new Array(i),s=0;s()=>e;function bu(e,{sourceEvent:t,target:n,transform:o,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:i}})}function He(e,t,n){this.k=e,this.x=t,this.y=n}He.prototype={constructor:He,scale:function(e){return e===1?this:new He(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new He(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var wt=new He(1,0,0);He.prototype;function Pn(e){e.stopImmediatePropagation()}function St(e){e.preventDefault(),e.stopImmediatePropagation()}function xu(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Eu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Vo(){return this.__zoom||wt}function Su(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Nu(){return navigator.maxTouchPoints||"ontouchstart"in this}function Cu(e,t,n){var o=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],r=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i),s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s))}function Mu(){var e=xu,t=Eu,n=Cu,o=Su,i=Nu,r=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=ul,u=vn("start","zoom","end"),c,d,p,g=500,S=150,w=0,x=10;function N(m){m.property("__zoom",Vo).on("wheel.zoom",F,{passive:!1}).on("mousedown.zoom",q).on("dblclick.zoom",K).filter(i).on("touchstart.zoom",$).on("touchmove.zoom",_).on("touchend.zoom touchcancel.zoom",j).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}N.transform=function(m,k,b,T){var O=m.selection?m.selection():m;O.property("__zoom",Vo),m!==O?B(m,k,b,T):O.interrupt().each(function(){R(this,arguments).event(T).start().zoom(null,typeof k=="function"?k.apply(this,arguments):k).end()})},N.scaleBy=function(m,k,b,T){N.scaleTo(m,function(){var O=this.__zoom.k,H=typeof k=="function"?k.apply(this,arguments):k;return O*H},b,T)},N.scaleTo=function(m,k,b,T){N.transform(m,function(){var O=t.apply(this,arguments),H=this.__zoom,z=b==null?C(O):typeof b=="function"?b.apply(this,arguments):b,G=H.invert(z),D=typeof k=="function"?k.apply(this,arguments):k;return n(y(M(H,D),z,G),O,s)},b,T)},N.translateBy=function(m,k,b,T){N.transform(m,function(){return n(this.__zoom.translate(typeof k=="function"?k.apply(this,arguments):k,typeof b=="function"?b.apply(this,arguments):b),t.apply(this,arguments),s)},null,T)},N.translateTo=function(m,k,b,T,O){N.transform(m,function(){var H=t.apply(this,arguments),z=this.__zoom,G=T==null?C(H):typeof T=="function"?T.apply(this,arguments):T;return n(wt.translate(G[0],G[1]).scale(z.k).translate(typeof k=="function"?-k.apply(this,arguments):-k,typeof b=="function"?-b.apply(this,arguments):-b),H,s)},T,O)};function M(m,k){return k=Math.max(r[0],Math.min(r[1],k)),k===m.k?m:new He(k,m.x,m.y)}function y(m,k,b){var T=k[0]-b[0]*m.k,O=k[1]-b[1]*m.k;return T===m.x&&O===m.y?m:new He(m.k,T,O)}function C(m){return[(+m[0][0]+ +m[1][0])/2,(+m[0][1]+ +m[1][1])/2]}function B(m,k,b,T){m.on("start.zoom",function(){R(this,arguments).event(T).start()}).on("interrupt.zoom end.zoom",function(){R(this,arguments).event(T).end()}).tween("zoom",function(){var O=this,H=arguments,z=R(O,H).event(T),G=t.apply(O,H),D=b==null?C(G):typeof b=="function"?b.apply(O,H):b,V=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),Y=O.__zoom,ne=typeof k=="function"?k.apply(O,H):k,de=l(Y.invert(D).concat(V/Y.k),ne.invert(D).concat(V/ne.k));return function(le){if(le===1)le=ne;else{var ge=de(le),ae=V/ge[2];le=new He(ae,D[0]-ge[0]*ae,D[1]-ge[1]*ae)}z.zoom(null,le)}})}function R(m,k,b){return!b&&m.__zooming||new X(m,k)}function X(m,k){this.that=m,this.args=k,this.active=0,this.sourceEvent=null,this.extent=t.apply(m,k),this.taps=0}X.prototype={event:function(m){return m&&(this.sourceEvent=m),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(m,k){return this.mouse&&m!=="mouse"&&(this.mouse[1]=k.invert(this.mouse[0])),this.touch0&&m!=="touch"&&(this.touch0[1]=k.invert(this.touch0[0])),this.touch1&&m!=="touch"&&(this.touch1[1]=k.invert(this.touch1[0])),this.that.__zoom=k,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(m){var k=Ie(this.that).datum();u.call(m,this.that,new bu(m,{sourceEvent:this.sourceEvent,target:N,transform:this.that.__zoom,dispatch:u}),k)}};function F(m,...k){if(!e.apply(this,arguments))return;var b=R(this,k).event(m),T=this.__zoom,O=Math.max(r[0],Math.min(r[1],T.k*Math.pow(2,o.apply(this,arguments)))),H=Te(m);if(b.wheel)(b.mouse[0][0]!==H[0]||b.mouse[0][1]!==H[1])&&(b.mouse[1]=T.invert(b.mouse[0]=H)),clearTimeout(b.wheel);else{if(T.k===O)return;b.mouse=[H,T.invert(H)],nn(this),b.start()}St(m),b.wheel=setTimeout(z,S),b.zoom("mouse",n(y(M(T,O),b.mouse[0],b.mouse[1]),b.extent,s));function z(){b.wheel=null,b.end()}}function q(m,...k){if(p||!e.apply(this,arguments))return;var b=m.currentTarget,T=R(this,k,!0).event(m),O=Ie(m.view).on("mousemove.zoom",D,!0).on("mouseup.zoom",V,!0),H=Te(m,b),z=m.clientX,G=m.clientY;ki(m.view),Pn(m),T.mouse=[H,this.__zoom.invert(H)],nn(this),T.start();function D(Y){if(St(Y),!T.moved){var ne=Y.clientX-z,de=Y.clientY-G;T.moved=ne*ne+de*de>w}T.event(Y).zoom("mouse",n(y(T.that.__zoom,T.mouse[0]=Te(Y,b),T.mouse[1]),T.extent,s))}function V(Y){O.on("mousemove.zoom mouseup.zoom",null),Pi(Y.view,T.moved),St(Y),T.event(Y).end()}}function K(m,...k){if(e.apply(this,arguments)){var b=this.__zoom,T=Te(m.changedTouches?m.changedTouches[0]:m,this),O=b.invert(T),H=b.k*(m.shiftKey?.5:2),z=n(y(M(b,H),T,O),t.apply(this,k),s);St(m),a>0?Ie(this).transition().duration(a).call(B,z,T,m):Ie(this).call(N.transform,z,T,m)}}function $(m,...k){if(e.apply(this,arguments)){var b=m.touches,T=b.length,O=R(this,k,m.changedTouches.length===T).event(m),H,z,G,D;for(Pn(m),z=0;z(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(W||{}),co=(e=>(e.Partial="partial",e.Full="full",e))(co||{}),et=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(et||{}),qe=(e=>(e.Strict="strict",e.Loose="loose",e))(qe||{}),qn=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(qn||{}),kt=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(kt||{});function Jn(e){var t,n;const o=((n=(t=e.composedPath)==null?void 0:t.call(e))==null?void 0:n[0])||e.target,i=typeof(o==null?void 0:o.hasAttribute)=="function"?o.hasAttribute("contenteditable"):!1,r=typeof(o==null?void 0:o.closest)=="function"?o.closest(".nokey"):null;return["INPUT","SELECT","TEXTAREA"].includes(o==null?void 0:o.nodeName)||i||!!r}function Iu(e){return e.ctrlKey||e.metaKey||e.shiftKey}function Ro(e,t,n,o){const i=t.replace("+",` `).replace(` `,` +`).split(` `).map(s=>s.trim().toLowerCase());if(i.length===1)return e.toLowerCase()===t.toLowerCase();o||n.add(e.toLowerCase());const r=i.every((s,a)=>n.has(s)&&Array.from(n.values())[a]===i[a]);return o&&n.delete(e.toLowerCase()),r}function ku(e,t){return n=>{if(!n.code&&!n.key)return!1;const o=Pu(n.code,e);return Array.isArray(e)?e.some(i=>Ro(n[o],i,t,n.type==="keyup")):Ro(n[o],e,t,n.type==="keyup")}}function Pu(e,t){return t.includes(e)?"code":"key"}function Pt(e,t){const n=ye(()=>{var c;return(c=ue(t==null?void 0:t.actInsideInputWithModifier))!=null?c:!1}),o=ye(()=>{var c;return(c=ue(t==null?void 0:t.target))!=null?c:window}),i=pe(ue(e)===!0);let r=!1;const s=new Set;let a=u(ue(e));ve(()=>ue(e),(c,d)=>{typeof d=="boolean"&&typeof c!="boolean"&&l(),a=u(c)},{immediate:!0}),pi(["blur","contextmenu"],l),wo((...c)=>a(...c),c=>{r=Iu(c),!((!r||r&&!n.value)&&Jn(c))&&(c.preventDefault(),i.value=!0)},{eventName:"keydown",target:o}),wo((...c)=>a(...c),c=>{if(i.value){if((!r||r&&!n.value)&&Jn(c))return;r=!1,i.value=!1}},{eventName:"keyup",target:o});function l(){r=!1,s.clear(),i.value=ue(e)===!0}function u(c){return c===null?(l(),()=>!1):typeof c=="boolean"?(l(),i.value=c,()=>!1):Array.isArray(c)||typeof c=="string"?ku(c,s):c}return i}const Gi="vue-flow__node-desc",Xi="vue-flow__edge-desc",Tu="vue-flow__aria-live",Ui=["Enter"," ","Escape"],vt={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function cn(e){return ce(A({},e.computedPosition||{x:0,y:0}),{width:e.dimensions.width||0,height:e.dimensions.height||0})}function dn(e,t){const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)}function _n(e){return{width:e.offsetWidth,height:e.offsetHeight}}function lt(e,t=0,n=1){return Math.min(Math.max(e,t),n)}function Zi(e,t){return{x:lt(e.x,t[0][0],t[1][0]),y:lt(e.y,t[0][1],t[1][1])}}function Ho(e){const t=e.getRootNode();return"elementFromPoint"in t?t:window.document}function Je(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function it(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!Je(e)}function Mt(e){return it(e)&&"computedPosition"in e}function Kt(e){return!Number.isNaN(e)&&Number.isFinite(e)}function $u(e){return Kt(e.width)&&Kt(e.height)&&Kt(e.x)&&Kt(e.y)}function Du(e,t,n){var i;const o={id:e.id.toString(),type:(i=e.type)!=null?i:"default",dimensions:It({width:0,height:0}),computedPosition:It(A({z:0},e.position)),handleBounds:{source:[],target:[]},draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:Ee(e.data)?e.data:{},events:It(Ee(e.events)?e.events:{})};return Object.assign(t!=null?t:o,e,{id:e.id.toString(),parentNode:n})}function Wi(e,t,n){var s,a,l,u,c,d,p;var o,i;const r=A({id:e.id.toString(),type:(a=(s=e.type)!=null?s:t==null?void 0:t.type)!=null?a:"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(o=e.sourceHandle)==null?void 0:o.toString(),targetHandle:(i=e.targetHandle)==null?void 0:i.toString(),updatable:(l=e.updatable)!=null?l:n==null?void 0:n.updatable,selectable:(u=e.selectable)!=null?u:n==null?void 0:n.selectable,focusable:(c=e.focusable)!=null?c:n==null?void 0:n.focusable,data:Ee(e.data)?e.data:{},events:It(Ee(e.events)?e.events:{}),label:(d=e.label)!=null?d:"",interactionWidth:(p=e.interactionWidth)!=null?p:n==null?void 0:n.interactionWidth},n!=null?n:{});return Object.assign(t!=null?t:r,e,{id:e.id.toString()})}function Ki(e,t,n,o){const i=typeof e=="string"?e:e.id,r=new Set,s=o==="source"?"target":"source";for(const a of n)a[s]===i&&r.add(a[o]);return t.filter(a=>r.has(a.id))}function Au(...e){if(e.length===3){const[r,s,a]=e;return Ki(r,s,a,"target")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(r=>Je(r)&&r.source===o).map(r=>n.find(s=>it(s)&&s.id===r.target))}function Ou(...e){if(e.length===3){const[r,s,a]=e;return Ki(r,s,a,"source")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(r=>Je(r)&&r.target===o).map(r=>n.find(s=>it(s)&&s.id===r.source))}function qi({source:e,sourceHandle:t,target:n,targetHandle:o}){return`vueflow__edge-${e}${t!=null?t:""}-${n}${o!=null?o:""}`}function zu(e,t){return t.some(n=>Je(n)&&n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle))}function Qn({x:e,y:t},{x:n,y:o,zoom:i}){return{x:e*i+n,y:t*i+o}}function zt({x:e,y:t},{x:n,y:o,zoom:i},r=!1,s=[1,1]){const a={x:(e-n)/i,y:(t-o)/i};return r?wn(a,s):a}function Bu(e,t){return{x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}}function Ji({x:e,y:t,width:n,height:o}){return{x:e,y:t,x2:e+n,y2:t+o}}function Vu({x:e,y:t,x2:n,y2:o}){return{x:e,y:t,width:n-e,height:o-t}}function Qi(e){let t={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let n=0;n0,C=(w!=null?w:0)*(x!=null?x:0);(M||y||N>=C||d.dragging)&&s.push(d)}return s}function er(e,t){const n=new Set;if(typeof e=="string")n.add(e);else if(e.length>=1)for(const o of e)n.add(o.id);return t.filter(o=>n.has(o.source)||n.has(o.target))}function Lo(e,t,n,o,i,r=.1,s={x:0,y:0}){var w,x;const a=t/(e.width*(1+r)),l=n/(e.height*(1+r)),u=Math.min(a,l),c=lt(u,o,i),d=e.x+e.width/2,p=e.y+e.height/2,g=t/2-d*c+((w=s.x)!=null?w:0),S=n/2-p*c+((x=s.y)!=null?x:0);return{x:g,y:S,zoom:c}}function Ru(e,t){return{x:t.x+e.x,y:t.y+e.y,z:(e.z>t.z?e.z:t.z)+1}}function tr(e,t){if(!e.parentNode)return!1;const n=t(e.parentNode);return n?n.selected?!0:tr(n,t):!1}function Bt(e,t){return typeof e=="undefined"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`}function Fo(e,t,n){return en?-lt(Math.abs(e-n),1,t)/t:0}function nr(e,t,n=15,o=40){const i=Fo(e.x,o,t.width-o)*n,r=Fo(e.y,o,t.height-o)*n;return[i,r]}function Tn(e,t){var n,o;if(t){const i=e.position.x+e.dimensions.width-t.dimensions.width,r=e.position.y+e.dimensions.height-t.dimensions.height;if(i>0||r>0||e.position.x<0||e.position.y<0){let s={};if(typeof t.style=="function"?s=A({},t.style(t)):t.style&&(s=A({},t.style)),s.width=(n=s.width)!=null?n:`${t.dimensions.width}px`,s.height=(o=s.height)!=null?o:`${t.dimensions.height}px`,i>0)if(typeof s.width=="string"){const a=Number(s.width.replace("px",""));s.width=`${a+i}px`}else s.width+=i;if(r>0)if(typeof s.height=="string"){const a=Number(s.height.replace("px",""));s.height=`${a+r}px`}else s.height+=r;if(e.position.x<0){const a=Math.abs(e.position.x);if(t.position.x=t.position.x-a,typeof s.width=="string"){const l=Number(s.width.replace("px",""));s.width=`${l+a}px`}else s.width+=a;e.position.x=0}if(e.position.y<0){const a=Math.abs(e.position.y);if(t.position.y=t.position.y-a,typeof s.height=="string"){const l=Number(s.height.replace("px",""));s.height=`${l+a}px`}else s.height+=a;e.position.y=0}t.dimensions.width=Number(s.width.toString().replace("px","")),t.dimensions.height=Number(s.height.toString().replace("px","")),typeof t.style=="function"?t.style=a=>{const l=t.style;return A(A({},l(a)),s)}:t.style=A(A({},t.style),s)}}}function Yo(e,t){var n,o;const i=e.filter(s=>s.type==="add"||s.type==="remove");for(const s of i)if(s.type==="add")t.findIndex(l=>l.id===s.item.id)===-1&&t.push(s.item);else if(s.type==="remove"){const a=t.findIndex(l=>l.id===s.id);a!==-1&&t.splice(a,1)}const r=t.map(s=>s.id);for(const s of t)for(const a of e)if(a.id===s.id)switch(a.type){case"select":s.selected=a.selected;break;case"position":if(Mt(s)&&(typeof a.position!="undefined"&&(s.position=a.position),typeof a.dragging!="undefined"&&(s.dragging=a.dragging),s.expandParent&&s.parentNode)){const l=t[r.indexOf(s.parentNode)];l&&Mt(l)&&Tn(s,l)}break;case"dimensions":if(Mt(s)&&(typeof a.dimensions!="undefined"&&(s.dimensions=a.dimensions),typeof a.updateStyle!="undefined"&&a.updateStyle&&(s.style=ce(A({},s.style||{}),{width:`${(n=a.dimensions)==null?void 0:n.width}px`,height:`${(o=a.dimensions)==null?void 0:o.height}px`})),typeof a.resizing!="undefined"&&(s.resizing=a.resizing),s.expandParent&&s.parentNode)){const l=t[r.indexOf(s.parentNode)];l&&Mt(l)&&(!!l.dimensions.width&&!!l.dimensions.height?Tn(s,l):Le(()=>{Tn(s,l)}))}break}return t}function Ue(e,t){return{id:e,type:"select",selected:t}}function Go(e){return{item:e,type:"add"}}function Xo(e){return{id:e,type:"remove"}}function Uo(e,t,n,o,i){return{id:e,source:t,target:n,sourceHandle:o||null,targetHandle:i||null,type:"remove"}}function We(e,t=new Set,n=!1){const o=[];for(const[i,r]of e){const s=t.has(i);!(r.selected===void 0&&!s)&&r.selected!==s&&(n&&(r.selected=s),o.push(Ue(r.id,s)))}return o}function L(e){const t=new Set;let n=!1;const o=()=>t.size>0;e&&(n=!0,t.add(e));const i=a=>{t.delete(a)};return{on:a=>{e&&n&&t.delete(e),t.add(a);const l=()=>{i(a),e&&n&&t.add(e)};return gn(l),{off:l}},off:i,trigger:a=>Promise.all(Array.from(t).map(l=>l(a))),hasListeners:o,fns:t}}function Zo(e,t,n){let o=e;do{if(o&&o.matches(t))return!0;if(o===n)return!1;o=o.parentElement}while(o);return!1}function Hu(e,t,n,o,i){var r,s;const a=[];for(const l of e)(l.selected||l.id===i)&&(!l.parentNode||!tr(l,o))&&(l.draggable||t&&typeof l.draggable=="undefined")&&a.push(It({id:l.id,position:l.position||{x:0,y:0},distance:{x:n.x-((r=l.computedPosition)==null?void 0:r.x)||0,y:n.y-((s=l.computedPosition)==null?void 0:s.y)||0},from:l.computedPosition,extent:l.extent,parentNode:l.parentNode,dimensions:l.dimensions,expandParent:l.expandParent}));return a}function $n({id:e,dragItems:t,findNode:n}){const o=[];for(const i of t){const r=n(i.id);r&&o.push(r)}return[e?o.find(i=>i.id===e):o[0],o]}function or(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function Lu(e,t,n){const[o,i,r,s]=typeof e!="string"?or(e.padding):[0,0,0,0];return n&&typeof n.computedPosition.x!="undefined"&&typeof n.computedPosition.y!="undefined"&&typeof n.dimensions.width!="undefined"&&typeof n.dimensions.height!="undefined"?[[n.computedPosition.x+s,n.computedPosition.y+o],[n.computedPosition.x+n.dimensions.width-i,n.computedPosition.y+n.dimensions.height-r]]:!1}function Fu(e,t,n,o){let i=e.extent||n;if((i==="parent"||!Array.isArray(i)&&(i==null?void 0:i.range)==="parent")&&!e.expandParent)if(e.parentNode&&o&&e.dimensions.width&&e.dimensions.height){const r=Lu(i,e,o);r&&(i=r)}else t(new Ne(Se.NODE_EXTENT_INVALID,e.id)),i=n;else if(Array.isArray(i)){const r=(o==null?void 0:o.computedPosition.x)||0,s=(o==null?void 0:o.computedPosition.y)||0;i=[[i[0][0]+r,i[0][1]+s],[i[1][0]+r,i[1][1]+s]]}else if(i!=="parent"&&(i!=null&&i.range)&&Array.isArray(i.range)){const[r,s,a,l]=or(i.padding),u=(o==null?void 0:o.computedPosition.x)||0,c=(o==null?void 0:o.computedPosition.y)||0;i=[[i.range[0][0]+u+l,i.range[0][1]+c+r],[i.range[1][0]+u-s,i.range[1][1]+c-a]]}return i==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:i}function Yu({width:e,height:t},n){return[n[0],[n[1][0]-(e||0),n[1][1]-(t||0)]]}function fo(e,t,n,o,i){const r=Yu(e.dimensions,Fu(e,n,o,i)),s=Zi(t,r);return{position:{x:s.x-((i==null?void 0:i.computedPosition.x)||0),y:s.y-((i==null?void 0:i.computedPosition.y)||0)},computedPosition:s}}function bt(e,t,n=W.Left,o=!1){var u,c,d;const i=((u=t==null?void 0:t.x)!=null?u:0)+e.computedPosition.x,r=((c=t==null?void 0:t.y)!=null?c:0)+e.computedPosition.y,{width:s,height:a}=t!=null?t:Uu(e);if(o)return{x:i+s/2,y:r+a/2};switch((d=t==null?void 0:t.position)!=null?d:n){case W.Top:return{x:i+s/2,y:r};case W.Right:return{x:i+s,y:r+a/2};case W.Bottom:return{x:i+s/2,y:r+a};case W.Left:return{x:i,y:r+a/2}}}function Wo(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Gu({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:o,targetWidth:i,targetHeight:r,width:s,height:a,viewport:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+o,t.y+r)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=Ji({x:(0-l.x)/l.zoom,y:(0-l.y)/l.zoom,width:s/l.zoom,height:a/l.zoom}),d=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),p=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(d*p)>0}function Xu(e,t,n=!1){const o=typeof e.zIndex=="number";let i=o?e.zIndex:0;const r=t(e.source),s=t(e.target);return!r||!s?0:(n&&(i=o?e.zIndex:Math.max(r.computedPosition.z||0,s.computedPosition.z||0)),i)}var Se=(e=>(e.MISSING_STYLES="MISSING_STYLES",e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(Se||{});const Ko={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid Node: ${e}`,NODE_NOT_FOUND:e=>`Node not found Node: ${e}`,NODE_MISSING_PARENT:(e,t)=>`Node is missing a parent Node: ${e} Parent: ${t}`,NODE_TYPE_MISSING:e=>`Node type is missing Type: ${e}`,NODE_EXTENT_INVALID:e=>`Only child nodes can use a parent extent Node: ${e}`,EDGE_INVALID:e=>`An edge needs a source and a target Edge: ${e}`,EDGE_SOURCE_MISSING:(e,t)=>`Edge source is missing Edge: ${e} Source: ${t}`,EDGE_TARGET_MISSING:(e,t)=>`Edge target is missing Edge: ${e} Target: ${t}`,EDGE_TYPE_MISSING:e=>`Edge type is missing Type: ${e}`,EDGE_SOURCE_TARGET_SAME:(e,t,n)=>`Edge source and target are the same Edge: ${e} Source: ${t} Target: ${n}`,EDGE_SOURCE_TARGET_MISSING:(e,t,n)=>`Edge source or target is missing Edge: ${e} Source: ${t} Target: ${n}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Ne extends Error{constructor(t,...n){var o;super((o=Ko[t])==null?void 0:o.call(Ko,...n)),this.name="VueFlowError",this.code=t,this.args=n}}function ho(e){return"clientX"in e}function ir(e){return"sourceEvent"in e}function Ke(e,t){var a,l;var n,o;const i=ho(e),r=i?e.clientX:(n=e.touches)==null?void 0:n[0].clientX,s=i?e.clientY:(o=e.touches)==null?void 0:o[0].clientY;return{x:r-((a=t==null?void 0:t.left)!=null?a:0),y:s-((l=t==null?void 0:t.top)!=null?l:0)}}const fn=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Uu(e){var o,i,r,s;var t,n;return{width:(i=(o=(t=e.dimensions)==null?void 0:t.width)!=null?o:e.width)!=null?i:0,height:(s=(r=(n=e.dimensions)==null?void 0:n.height)!=null?r:e.height)!=null?s:0}}function wn(e,t=[1,1]){return{x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}}const Zu=()=>!0;function Dn(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function Wu(e,t,n){const o=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const r of t.values())dn(i,cn(r))>0&&o.push(r);return o}const Ku=250;function qu(e,t,n,o){var u,c,d;var i,r;let s=[],a=Number.POSITIVE_INFINITY;const l=Wu(e,n,t+Ku);for(const p of l){const g=[...(u=(i=p.handleBounds)==null?void 0:i.source)!=null?u:[],...(c=(r=p.handleBounds)==null?void 0:r.target)!=null?c:[]];for(const S of g){if(o.nodeId===S.nodeId&&o.type===S.type&&o.id===S.id)continue;const{x:w,y:x}=bt(p,S,S.position,!0),N=Math.sqrt(ct(w-e.x,2)+ct(x-e.y,2));N>t||(N1){const p=o.type==="source"?"target":"source";return(d=s.find(g=>g.type===p))!=null?d:s[0]}return s[0]}function qo(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:i,fromType:r,doc:s,lib:a,flowId:l,isValidConnection:u=Zu},c,d,p){const g=r==="target",S=t?s.querySelector(`.${a}-flow__handle[data-id="${l}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:w,y:x}=Ke(e),N=s.elementFromPoint(w,x),M=N!=null&&N.classList.contains(`${a}-flow__handle`)?N:S,y={handleDomNode:M,isValid:!1,connection:null,toHandle:null};if(M){const C=rr(void 0,M),B=M.getAttribute("data-nodeid"),R=M.getAttribute("data-handleid"),X=M.classList.contains("connectable"),F=M.classList.contains("connectableend");if(!B||!C)return y;const q={source:g?B:o,sourceHandle:g?R:i,target:g?o:B,targetHandle:g?i:R};y.connection=q;const $=X&&F&&(n===qe.Strict?g&&C==="source"||!g&&C==="target":B!==o||R!==i);y.isValid=$&&u(q,{nodes:d,edges:c,sourceNode:p(o),targetNode:p(B)}),y.toHandle=t}return y}function rr(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Ju(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function Qu(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}function ju(e,t,n,o,i,r=!1){var p,g,S;var s,a,l;const u=o.get(e);if(!u)return null;const c=i===qe.Strict?(s=u.handleBounds)==null?void 0:s[t]:[...(p=(a=u.handleBounds)==null?void 0:a.source)!=null?p:[],...(g=(l=u.handleBounds)==null?void 0:l.target)!=null?g:[]],d=(S=n?c==null?void 0:c.find(w=>w.id===n):c==null?void 0:c[0])!=null?S:null;return d&&r?A(A({},d),bt(u,d,d.position,!0)):d}const jn={[W.Left]:W.Right,[W.Right]:W.Left,[W.Top]:W.Bottom,[W.Bottom]:W.Top},ec=["production","prod"];function Lt(e,...t){sr()&&console.warn(`[Vue Flow]: ${e}`,...t)}function sr(){return!ec.includes("production")}function Jo(e,t,n,o){const i=t.querySelectorAll(`.vue-flow__handle.${e}`);return Array.from(i).map(s=>{const a=s.getBoundingClientRect();return A({id:s.getAttribute("data-handleid"),position:s.getAttribute("data-handlepos"),nodeId:s.getAttribute("data-nodeid"),type:e,x:(a.left-n.left)/o,y:(a.top-n.top)/o},_n(s))})}function eo(e,t,n,o,i,r=!1,s){i.value=!1,e.selected?(r||e.selected&&t)&&(o([e]),Le(()=>{s.blur()})):n([e])}function Ee(e){return typeof ee(e)!="undefined"}function tc(e,t,n,o){var r;if(!e||!e.source||!e.target)return n(new Ne(Se.EDGE_INVALID,(r=e==null?void 0:e.id)!=null?r:"[ID UNKNOWN]")),!1;let i;return Je(e)?i=e:i=ce(A({},e),{id:qi(e)}),i=Wi(i,void 0,o),zu(i,t)?!1:i}function nc(e,t,n,o,i){if(!t.source||!t.target)return i(new Ne(Se.EDGE_INVALID,e.id)),!1;if(!n)return i(new Ne(Se.EDGE_NOT_FOUND,e.id)),!1;const a=e,{id:r}=a,s=dt(a,["id"]);return ce(A({},s),{id:o?qi(t):r,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})}function Qo(e,t,n){const o={},i=[];for(let r=0;ra.id===r.parentNode);r.parentNode&&!s&&n(new Ne(Se.NODE_MISSING_PARENT,r.id,r.parentNode)),(r.parentNode||o[r.id])&&(o[r.id]&&(r.isParent=!0),s&&(s.isParent=!0))}return i}function jo(e,t,n,o,i,r){let s=i;const a=o.get(s)||new Map;o.set(s,a.set(n,t)),s=`${i}-${e}`;const l=o.get(s)||new Map;if(o.set(s,l.set(n,t)),r){s=`${i}-${e}-${r}`;const u=o.get(s)||new Map;o.set(s,u.set(n,t))}}function An(e,t,n){e.clear(),t.clear();for(const o of n){const{source:i,target:r,sourceHandle:s=null,targetHandle:a=null}=o,l={edgeId:o.id,source:i,target:r,sourceHandle:s,targetHandle:a},u=`${i}-${s}--${r}-${a}`,c=`${r}-${a}--${i}-${s}`;jo("source",l,c,e,i,s),jo("target",l,u,e,r,a),t.set(o.id,o)}}function ei(e,t,n){if(!n)return;const o=[];for(const i of e.keys())t.has(i)||o.push(e.get(i));o.length&&n(o)}function oc(e,t){if(!e&&!t)return!0;if(!e||!t||e.size!==t.size)return!1;if(!e.size&&!t.size)return!0;for(const n of e.keys())if(!t.has(n))return!1;return!0}function ti(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function On(e,t,n,o,i,r,s,a){const l=[];for(const u of e){const c=Je(u)?u:tc(u,a,i,r);if(!c)continue;const d=n(c.source),p=n(c.target);if(!d||!p){i(new Ne(Se.EDGE_SOURCE_TARGET_MISSING,c.id,c.source,c.target));continue}if(!d){i(new Ne(Se.EDGE_SOURCE_MISSING,c.id,c.source));continue}if(!p){i(new Ne(Se.EDGE_TARGET_MISSING,c.id,c.target));continue}if(t&&!t(c,{edges:a,nodes:s,sourceNode:d,targetNode:p})){i(new Ne(Se.EDGE_INVALID,c.id));continue}const g=o(c.id);l.push(ce(A({},Wi(c,g,r)),{sourceNode:d,targetNode:p}))}return l}const ni=Symbol("vueFlow"),ar=Symbol("nodeId"),lr=Symbol("nodeRef"),ic=Symbol("edgeId"),rc=Symbol("edgeRef"),bn=Symbol("slots");function ur(e){const{vueFlowRef:t,snapToGrid:n,snapGrid:o,noDragClassName:i,nodes:r,nodeExtent:s,nodeDragThreshold:a,viewport:l,autoPanOnNodeDrag:u,autoPanSpeed:c,nodesDraggable:d,panBy:p,findNode:g,multiSelectionActive:S,nodesSelectionActive:w,selectNodesOnDrag:x,removeSelectedElements:N,addSelectedNodes:M,updateNodePositions:y,emits:C}=we(),{onStart:B,onDrag:R,onStop:X,onClick:F,el:q,disabled:K,id:$,selectable:_,dragHandle:j}=e,m=pe(!1);let k=[],b,T=null,O={x:void 0,y:void 0},H={x:0,y:0},z=null,G=!1,D=0,V=!1;const Y=lc(),ne=({x:Q,y:ie})=>{O={x:Q,y:ie};let re=!1;if(k=k.map(h=>{const f={x:Q-h.distance.x,y:ie-h.distance.y},{computedPosition:v}=fo(h,n.value?wn(f,o.value):f,C.error,s.value,h.parentNode?g(h.parentNode):void 0);return re=re||h.position.x!==v.x||h.position.y!==v.y,h.position=v,h}),!!re&&(y(k,!0,!0),m.value=!0,z)){const[h,f]=$n({id:$,dragItems:k,findNode:g});R({event:z,node:h,nodes:f})}},de=()=>{var re,h;if(!T)return;const[Q,ie]=nr(H,T,c.value);if(Q!==0||ie!==0){const f={x:((re=O.x)!=null?re:0)-Q/l.value.zoom,y:((h=O.y)!=null?h:0)-ie/l.value.zoom};p({x:Q,y:ie})&&ne(f)}D=requestAnimationFrame(de)},le=(Q,ie)=>{G=!0;const re=g($);!x.value&&!S.value&&re&&(re.selected||N()),re&&ue(_)&&x.value&&eo(re,S.value,M,N,w,!1,ie);const h=Y(Q.sourceEvent);if(O=h,k=Hu(r.value,d.value,h,g,$),k.length){const[f,v]=$n({id:$,dragItems:k,findNode:g});B({event:Q.sourceEvent,node:f,nodes:v})}},ge=(Q,ie)=>{var re;Q.sourceEvent.type==="touchmove"&&Q.sourceEvent.touches.length>1||(a.value===0&&le(Q,ie),O=Y(Q.sourceEvent),T=((re=t.value)==null?void 0:re.getBoundingClientRect())||null,H=Ke(Q.sourceEvent,T))},ae=(Q,ie)=>{var h,f;const re=Y(Q.sourceEvent);if(!V&&G&&u.value&&(V=!0,de()),!G){const v=re.xSnapped-((h=O.x)!=null?h:0),E=re.ySnapped-((f=O.y)!=null?f:0);Math.sqrt(v*v+E*E)>a.value&&le(Q,ie)}(O.x!==re.xSnapped||O.y!==re.ySnapped)&&k.length&&G&&(z=Q.sourceEvent,H=Ke(Q.sourceEvent,T),ne(re))},he=Q=>{var ie,re;if(!ir(Q)&&!G&&!m.value&&!S.value){const h=Q,f=Y(h),v=f.xSnapped-((ie=O.x)!=null?ie:0),E=f.ySnapped-((re=O.y)!=null?re:0),P=Math.sqrt(v*v+E*E);P!==0&&P<=a.value&&(F==null||F(h));return}if(m.value=!1,V=!1,G=!1,O={x:void 0,y:void 0},cancelAnimationFrame(D),k.length){y(k,!1,!1);const[h,f]=$n({id:$,dragItems:k,findNode:g});X({event:Q.sourceEvent,node:h,nodes:f})}};return ve([()=>ue(K),q],([Q,ie],re,h)=>{if(ie){const f=Ie(ie);Q||(b=Ba().on("start",v=>ge(v,ie)).on("drag",v=>ae(v,ie)).on("end",v=>he(v)).filter(v=>{const E=v.target,P=ue(j);return!v.button&&(!i.value||!Zo(E,`.${i.value}`,ie)&&(!P||Zo(E,P,ie)))}),f.call(b)),h(()=>{f.on(".drag",null),b&&(b.on("start",null),b.on("drag",null),b.on("end",null))})}}),m}function sc(){return{doubleClick:L(),click:L(),mouseEnter:L(),mouseMove:L(),mouseLeave:L(),contextMenu:L(),updateStart:L(),update:L(),updateEnd:L()}}function ac(e,t){const n=sc();return n.doubleClick.on(o=>{var i,r;t.edgeDoubleClick(o),(r=(i=e.events)==null?void 0:i.doubleClick)==null||r.call(i,o)}),n.click.on(o=>{var i,r;t.edgeClick(o),(r=(i=e.events)==null?void 0:i.click)==null||r.call(i,o)}),n.mouseEnter.on(o=>{var i,r;t.edgeMouseEnter(o),(r=(i=e.events)==null?void 0:i.mouseEnter)==null||r.call(i,o)}),n.mouseMove.on(o=>{var i,r;t.edgeMouseMove(o),(r=(i=e.events)==null?void 0:i.mouseMove)==null||r.call(i,o)}),n.mouseLeave.on(o=>{var i,r;t.edgeMouseLeave(o),(r=(i=e.events)==null?void 0:i.mouseLeave)==null||r.call(i,o)}),n.contextMenu.on(o=>{var i,r;t.edgeContextMenu(o),(r=(i=e.events)==null?void 0:i.contextMenu)==null||r.call(i,o)}),n.updateStart.on(o=>{var i,r;t.edgeUpdateStart(o),(r=(i=e.events)==null?void 0:i.updateStart)==null||r.call(i,o)}),n.update.on(o=>{var i,r;t.edgeUpdate(o),(r=(i=e.events)==null?void 0:i.update)==null||r.call(i,o)}),n.updateEnd.on(o=>{var i,r;t.edgeUpdateEnd(o),(r=(i=e.events)==null?void 0:i.updateEnd)==null||r.call(i,o)}),Object.entries(n).reduce((o,[i,r])=>(o.emit[i]=r.trigger,o.on[i]=r.on,o),{emit:{},on:{}})}function lc(){const{viewport:e,snapGrid:t,snapToGrid:n}=we();return o=>{const i=ir(o)?o.sourceEvent:o,{x:r,y:s}=Ke(i),a=zt({x:r,y:s},e.value),{x:l,y:u}=n.value?wn(a,t.value):a;return A({xSnapped:l,ySnapped:u},a)}}function qt(){return!0}function cr({handleId:e,nodeId:t,type:n,isValidConnection:o,edgeUpdaterType:i,onEdgeUpdate:r,onEdgeUpdateEnd:s}){const{id:a,vueFlowRef:l,connectionMode:u,connectionRadius:c,connectOnClick:d,connectionClickStartHandle:p,nodesConnectable:g,autoPanOnConnect:S,autoPanSpeed:w,findNode:x,panBy:N,startConnection:M,updateConnection:y,endConnection:C,emits:B,viewport:R,edges:X,nodes:F,isValidConnection:q,nodeLookup:K}=we();let $=null,_=!1,j=null;function m(b){var T;const O=ue(n)==="target",H=ho(b),z=Ho(b.target);if(H&&b.button===0||!H){let G=function(J){h=Ke(J,Q),ne=qu(zt(h,R.value,!1,[1,1]),c.value,K.value,E),f||(v(),f=!0);const oe=qo(J,{handle:ne,connectionMode:u.value,fromNodeId:ue(t),fromHandleId:ue(e),fromType:O?"target":"source",isValidConnection:Y,doc:z,lib:"vue",flowId:a,nodeLookup:K.value},X.value,F.value,x);j=oe.handleDomNode,$=oe.connection,_=Qu(!!ne,oe.isValid);const te=ce(A({},Z),{isValid:_,to:ne&&_?Qn({x:ne.x,y:ne.y},R.value):h,toHandle:oe.toHandle,toPosition:_&&oe.toHandle?oe.toHandle.position:jn[E.position],toNode:oe.toHandle?K.value.get(oe.toHandle.nodeId):null});if(!(_&&ne&&(Z!=null&&Z.toHandle)&&te.toHandle&&Z.toHandle.type===te.toHandle.type&&Z.toHandle.nodeId===te.toHandle.nodeId&&Z.toHandle.id===te.toHandle.id&&Z.to.x===te.to.x&&Z.to.y===te.to.y)){if(y(ne&&_?Qn({x:ne.x,y:ne.y},R.value):h,oe.toHandle,Ju(!!ne,_)),Z=te,!ne&&!_&&!j)return Dn(re);$&&$.source!==$.target&&j&&(Dn(re),re=j,j.classList.add("connecting","vue-flow__handle-connecting"),j.classList.toggle("valid",!!_),j.classList.toggle("vue-flow__handle-valid",!!_))}},D=function(J){(ne||j)&&$&&_&&(r?r(J,$):B.connect($)),B.connectEnd(J),i&&(s==null||s(J)),Dn(re),cancelAnimationFrame(de),C(J),f=!1,_=!1,$=null,j=null,z.removeEventListener("mousemove",G),z.removeEventListener("mouseup",D),z.removeEventListener("touchmove",G),z.removeEventListener("touchend",D)};const V=x(ue(t));let Y=ue(o)||q.value||qt;!Y&&V&&(Y=(O?V.isValidSourcePos:V.isValidTargetPos)||qt);let ne,de=0;const{x:le,y:ge}=Ke(b),ae=z==null?void 0:z.elementFromPoint(le,ge),he=rr(ue(i),ae),Q=(T=l.value)==null?void 0:T.getBoundingClientRect();if(!Q||!he)return;const ie=ju(ue(t),he,ue(e),K.value,u.value);if(!ie)return;let re,h=Ke(b,Q),f=!1;const v=()=>{if(!S.value)return;const[J,oe]=nr(h,Q,w.value);N({x:J,y:oe}),de=requestAnimationFrame(v)},E=ce(A({},ie),{nodeId:ue(t),type:he,position:ie.position}),P=K.value.get(ue(t)),I={inProgress:!0,isValid:null,from:bt(P,E,W.Left,!0),fromHandle:E,fromPosition:E.position,fromNode:P,to:h,toHandle:null,toPosition:jn[E.position],toNode:null};M({nodeId:ue(t),id:ue(e),type:he,position:(ae==null?void 0:ae.getAttribute("data-handlepos"))||W.Top},{x:le-Q.left,y:ge-Q.top}),B.connectStart({event:b,nodeId:ue(t),handleId:ue(e),handleType:he});let Z=I;z.addEventListener("mousemove",G),z.addEventListener("mouseup",D),z.addEventListener("touchmove",G),z.addEventListener("touchend",D)}}function k(b){var T,O;if(!d.value)return;const H=ue(n)==="target";if(!p.value){B.clickConnectStart({event:b,nodeId:ue(t),handleId:ue(e)}),M({nodeId:ue(t),type:ue(n),id:ue(e),position:W.Top},void 0,!0);return}let z=ue(o)||q.value||qt;const G=x(ue(t));if(!z&&G&&(z=(H?G.isValidSourcePos:G.isValidTargetPos)||qt),G&&(typeof G.connectable=="undefined"?g.value:G.connectable)===!1)return;const D=Ho(b.target),V=qo(b,{handle:{nodeId:ue(t),id:ue(e),type:ue(n),position:W.Top},connectionMode:u.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id||null,fromType:p.value.type,isValidConnection:z,doc:D,lib:"vue",flowId:a,nodeLookup:K.value},X.value,F.value,x),Y=((T=V.connection)==null?void 0:T.source)===((O=V.connection)==null?void 0:O.target);V.isValid&&V.connection&&!Y&&B.connect(V.connection),B.clickConnectEnd(b),C(b,!0)}return{handlePointerDown:m,handleClick:k}}function dr(){return xt(ar,"")}function fr(e){var a;const t=(a=e!=null?e:dr())!=null?a:"",n=xt(lr,pe(null)),{findNode:o,edges:i,emits:r}=we(),s=o(t);return s||r.error(new Ne(Se.NODE_NOT_FOUND,t)),{id:t,nodeEl:n,node:s,parentNode:se(()=>o(s.parentNode)),connectedEdges:se(()=>er([s],i.value))}}function uc(){return{doubleClick:L(),click:L(),mouseEnter:L(),mouseMove:L(),mouseLeave:L(),contextMenu:L(),dragStart:L(),drag:L(),dragStop:L()}}function cc(e,t){const n=uc();return n.doubleClick.on(o=>{var i,r;t.nodeDoubleClick(o),(r=(i=e.events)==null?void 0:i.doubleClick)==null||r.call(i,o)}),n.click.on(o=>{var i,r;t.nodeClick(o),(r=(i=e.events)==null?void 0:i.click)==null||r.call(i,o)}),n.mouseEnter.on(o=>{var i,r;t.nodeMouseEnter(o),(r=(i=e.events)==null?void 0:i.mouseEnter)==null||r.call(i,o)}),n.mouseMove.on(o=>{var i,r;t.nodeMouseMove(o),(r=(i=e.events)==null?void 0:i.mouseMove)==null||r.call(i,o)}),n.mouseLeave.on(o=>{var i,r;t.nodeMouseLeave(o),(r=(i=e.events)==null?void 0:i.mouseLeave)==null||r.call(i,o)}),n.contextMenu.on(o=>{var i,r;t.nodeContextMenu(o),(r=(i=e.events)==null?void 0:i.contextMenu)==null||r.call(i,o)}),n.dragStart.on(o=>{var i,r;t.nodeDragStart(o),(r=(i=e.events)==null?void 0:i.dragStart)==null||r.call(i,o)}),n.drag.on(o=>{var i,r;t.nodeDrag(o),(r=(i=e.events)==null?void 0:i.drag)==null||r.call(i,o)}),n.dragStop.on(o=>{var i,r;t.nodeDragStop(o),(r=(i=e.events)==null?void 0:i.dragStop)==null||r.call(i,o)}),Object.entries(n).reduce((o,[i,r])=>(o.emit[i]=r.trigger,o.on[i]=r.on,o),{emit:{},on:{}})}function hr(){const{getSelectedNodes:e,nodeExtent:t,updateNodePositions:n,findNode:o,snapGrid:i,snapToGrid:r,nodesDraggable:s,emits:a}=we();return(l,u=!1)=>{const c=r.value?i.value[0]:5,d=r.value?i.value[1]:5,p=u?4:1,g=l.x*c*p,S=l.y*d*p,w=[];for(const x of e.value)if(x.draggable||s&&typeof x.draggable=="undefined"){const N={x:x.computedPosition.x+g,y:x.computedPosition.y+S},{computedPosition:M}=fo(x,N,a.error,t.value,x.parentNode?o(x.parentNode):void 0);w.push({id:x.id,position:M,from:x.position,distance:{x:l.x,y:l.y},dimensions:x.dimensions})}n(w,!0,!1)}}const zn=.1;function Xe(){return Lt("Viewport not initialized yet."),Promise.resolve(!1)}const dc={zoomIn:Xe,zoomOut:Xe,zoomTo:Xe,fitView:Xe,setCenter:Xe,fitBounds:Xe,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:Xe,setTransform:Xe,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function fc(e){function t(o,i){return new Promise(r=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.scaleBy(Bn(e.d3Selection,i,()=>{r(!0)}),o):r(!1)})}function n(o,i,r,s){return new Promise(a=>{const{x:l,y:u}=Zi({x:-o,y:-i},e.translateExtent),c=wt.translate(-l,-u).scale(r);e.d3Selection&&e.d3Zoom?e.d3Zoom.transform(Bn(e.d3Selection,s,()=>{a(!0)}),c):a(!1)})}return se(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>t(1.2,i==null?void 0:i.duration),zoomOut:i=>t(1/1.2,i==null?void 0:i.duration),zoomTo:(i,r)=>new Promise(s=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.scaleTo(Bn(e.d3Selection,r==null?void 0:r.duration,()=>{s(!0)}),i):s(!1)}),setViewport:(i,r)=>n(i.x,i.y,i.zoom,r==null?void 0:r.duration),setTransform:(i,r)=>n(i.x,i.y,i.zoom,r==null?void 0:r.duration),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:zn,includeHiddenNodes:!1,duration:0})=>{var p,g,S;var r,s;const a=[];for(const w of e.nodes)w.dimensions.width&&w.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!w.hidden)&&(!((r=i.nodes)!=null&&r.length)||(s=i.nodes)!=null&&s.length&&i.nodes.includes(w.id))&&a.push(w);if(!a.length)return Promise.resolve(!1);const l=Qi(a),{x:u,y:c,zoom:d}=Lo(l,e.dimensions.width,e.dimensions.height,(p=i.minZoom)!=null?p:e.minZoom,(g=i.maxZoom)!=null?g:e.maxZoom,(S=i.padding)!=null?S:zn,i.offset);return n(u,c,d,i==null?void 0:i.duration)},setCenter:(i,r,s)=>{const a=typeof(s==null?void 0:s.zoom)!="undefined"?s.zoom:e.maxZoom,l=e.dimensions.width/2-i*a,u=e.dimensions.height/2-r*a;return n(l,u,a,s==null?void 0:s.duration)},fitBounds:(i,r={padding:zn})=>{const{x:s,y:a,zoom:l}=Lo(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,r.padding);return n(s,a,l,r==null?void 0:r.duration)},project:i=>zt(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:r,y:s}=e.vueFlowRef.getBoundingClientRect(),a={x:i.x-r,y:i.y-s};return zt(a,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:r,y:s}=e.vueFlowRef.getBoundingClientRect(),a={x:i.x+r,y:i.y+s};return Qn(a,e.viewport)}return{x:0,y:0}}}:dc)}function Bn(e,t=0,n){return e.transition().duration(t).on("end",n)}function hc(e,t,n){const o=ui(!0);return o.run(()=>{const i=()=>{o.run(()=>{let w,x,N=!!(n.nodes.value.length||n.edges.value.length);w=ft([e.modelValue,()=>{var M,y;return(y=(M=e.modelValue)==null?void 0:M.value)==null?void 0:y.length}],([M])=>{M&&Array.isArray(M)&&(x==null||x.pause(),n.setElements(M),!x&&!N&&M.length?N=!0:x==null||x.resume())}),x=ft([n.nodes,n.edges,()=>n.edges.value.length,()=>n.nodes.value.length],([M,y])=>{var C;(C=e.modelValue)!=null&&C.value&&Array.isArray(e.modelValue.value)&&(w==null||w.pause(),e.modelValue.value=[...M,...y],Le(()=>{w==null||w.resume()}))},{immediate:N}),Qt(()=>{w==null||w.stop(),x==null||x.stop()})})},r=()=>{o.run(()=>{let w,x,N=!!n.nodes.value.length;w=ft([e.nodes,()=>{var M,y;return(y=(M=e.nodes)==null?void 0:M.value)==null?void 0:y.length}],([M])=>{M&&Array.isArray(M)&&(x==null||x.pause(),n.setNodes(M),!x&&!N&&M.length?N=!0:x==null||x.resume())}),x=ft([n.nodes,()=>n.nodes.value.length],([M])=>{var y;(y=e.nodes)!=null&&y.value&&Array.isArray(e.nodes.value)&&(w==null||w.pause(),e.nodes.value=[...M],Le(()=>{w==null||w.resume()}))},{immediate:N}),Qt(()=>{w==null||w.stop(),x==null||x.stop()})})},s=()=>{o.run(()=>{let w,x,N=!!n.edges.value.length;w=ft([e.edges,()=>{var M,y;return(y=(M=e.edges)==null?void 0:M.value)==null?void 0:y.length}],([M])=>{M&&Array.isArray(M)&&(x==null||x.pause(),n.setEdges(M),!x&&!N&&M.length?N=!0:x==null||x.resume())}),x=ft([n.edges,()=>n.edges.value.length],([M])=>{var y;(y=e.edges)!=null&&y.value&&Array.isArray(e.edges.value)&&(w==null||w.pause(),e.edges.value=[...M],Le(()=>{w==null||w.resume()}))},{immediate:N}),Qt(()=>{w==null||w.stop(),x==null||x.stop()})})},a=()=>{o.run(()=>{ve(()=>t.maxZoom,()=>{t.maxZoom&&Ee(t.maxZoom)&&n.setMaxZoom(t.maxZoom)},{immediate:!0})})},l=()=>{o.run(()=>{ve(()=>t.minZoom,()=>{t.minZoom&&Ee(t.minZoom)&&n.setMinZoom(t.minZoom)},{immediate:!0})})},u=()=>{o.run(()=>{ve(()=>t.translateExtent,()=>{t.translateExtent&&Ee(t.translateExtent)&&n.setTranslateExtent(t.translateExtent)},{immediate:!0})})},c=()=>{o.run(()=>{ve(()=>t.nodeExtent,()=>{t.nodeExtent&&Ee(t.nodeExtent)&&n.setNodeExtent(t.nodeExtent)},{immediate:!0})})},d=()=>{o.run(()=>{ve(()=>t.applyDefault,()=>{Ee(t.applyDefault)&&(n.applyDefault.value=t.applyDefault)},{immediate:!0})})},p=()=>{o.run(()=>{const w=x=>yo(this,null,function*(){let N=x;typeof t.autoConnect=="function"&&(N=yield t.autoConnect(x)),N!==!1&&n.addEdges([N])});ve(()=>t.autoConnect,()=>{Ee(t.autoConnect)&&(n.autoConnect.value=t.autoConnect)},{immediate:!0}),ve(n.autoConnect,(x,N,M)=>{x?n.onConnect(w):n.hooks.value.connect.off(w),M(()=>{n.hooks.value.connect.off(w)})},{immediate:!0})})},g=()=>{const w=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const x of Object.keys(t)){const N=x;if(!w.includes(N)){const M=ye(()=>t[N]),y=n[N];oo(y)&&o.run(()=>{ve(M,C=>{Ee(C)&&(y.value=C)},{immediate:!0})})}}};(()=>{i(),r(),s(),l(),a(),u(),c(),d(),p(),g()})()}),()=>o.stop()}function gc(){return{edgesChange:L(),nodesChange:L(),nodeDoubleClick:L(),nodeClick:L(),nodeMouseEnter:L(),nodeMouseMove:L(),nodeMouseLeave:L(),nodeContextMenu:L(),nodeDragStart:L(),nodeDrag:L(),nodeDragStop:L(),nodesInitialized:L(),miniMapNodeClick:L(),miniMapNodeDoubleClick:L(),miniMapNodeMouseEnter:L(),miniMapNodeMouseMove:L(),miniMapNodeMouseLeave:L(),connect:L(),connectStart:L(),connectEnd:L(),clickConnectStart:L(),clickConnectEnd:L(),paneReady:L(),init:L(),move:L(),moveStart:L(),moveEnd:L(),selectionDragStart:L(),selectionDrag:L(),selectionDragStop:L(),selectionContextMenu:L(),selectionStart:L(),selectionEnd:L(),viewportChangeStart:L(),viewportChange:L(),viewportChangeEnd:L(),paneScroll:L(),paneClick:L(),paneContextMenu:L(),paneMouseEnter:L(),paneMouseMove:L(),paneMouseLeave:L(),edgeContextMenu:L(),edgeMouseEnter:L(),edgeMouseMove:L(),edgeMouseLeave:L(),edgeDoubleClick:L(),edgeClick:L(),edgeUpdateStart:L(),edgeUpdate:L(),edgeUpdateEnd:L(),updateNodeInternals:L(),error:L(e=>Lt(e.message))}}function vc(e,t){Dr(()=>{for(const[n,o]of Object.entries(t.value)){const i=r=>{e(n,r)};o.fns.add(i),gn(()=>{o.off(i)})}})}function gr(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:co.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:kt.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:et.Bezier,style:{}},connectionMode:qe.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:fn()?"Meta":"Control",zoomActivationKeyCode:fn()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:gc(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const pc=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function mc(e,t,n){const o=fc(e),i=h=>{const f=h!=null?h:[];e.hooks.updateNodeInternals.trigger(f)},r=h=>Ou(h,e.nodes,e.edges),s=h=>Au(h,e.nodes,e.edges),a=h=>er(h,e.edges),l=({id:h,type:f,nodeId:v})=>{var P;var E;return Array.from((P=(E=e.connectionLookup.get(`${v}-${f}-${h!=null?h:null}`))==null?void 0:E.values())!=null?P:[])},u=h=>{if(h)return t.value.get(h)},c=h=>{if(h)return n.value.get(h)},d=(h,f,v)=>{var I,Z;var E,P;const U=[];for(const J of h){const oe={id:J.id,type:"position",dragging:v,from:J.from};if(f&&(oe.position=J.position,J.parentNode)){const te=u(J.parentNode);oe.position={x:oe.position.x-((I=(E=te==null?void 0:te.computedPosition)==null?void 0:E.x)!=null?I:0),y:oe.position.y-((Z=(P=te==null?void 0:te.computedPosition)==null?void 0:P.y)!=null?Z:0)}}U.push(oe)}U!=null&&U.length&&e.hooks.nodesChange.trigger(U)},p=h=>{if(!e.vueFlowRef)return;const f=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!f)return;const v=window.getComputedStyle(f),{m22:E}=new window.DOMMatrixReadOnly(v.transform),P=[];for(let U=0;U{e.fitViewOnInitDone=!0}),P.length&&e.hooks.nodesChange.trigger(P)},g=(h,f)=>{const v=new Set,E=new Set;for(const I of h)it(I)?v.add(I.id):Je(I)&&E.add(I.id);const P=We(t.value,v,!0),U=We(n.value,E);if(e.multiSelectionActive){for(const I of v)P.push(Ue(I,f));for(const I of E)U.push(Ue(I,f))}P.length&&e.hooks.nodesChange.trigger(P),U.length&&e.hooks.edgesChange.trigger(U)},S=h=>{if(e.multiSelectionActive){const f=h.map(v=>Ue(v.id,!0));e.hooks.nodesChange.trigger(f);return}e.hooks.nodesChange.trigger(We(t.value,new Set(h.map(f=>f.id)),!0)),e.hooks.edgesChange.trigger(We(n.value))},w=h=>{if(e.multiSelectionActive){const f=h.map(v=>Ue(v.id,!0));e.hooks.edgesChange.trigger(f);return}e.hooks.edgesChange.trigger(We(n.value,new Set(h.map(f=>f.id)))),e.hooks.nodesChange.trigger(We(t.value,new Set,!0))},x=h=>{g(h,!0)},N=h=>{const v=(h||e.nodes).map(E=>(E.selected=!1,Ue(E.id,!1)));e.hooks.nodesChange.trigger(v)},M=h=>{const v=(h||e.edges).map(E=>(E.selected=!1,Ue(E.id,!1)));e.hooks.edgesChange.trigger(v)},y=h=>{if(!h||!h.length)return g([],!1);const f=h.reduce((v,E)=>{const P=Ue(E.id,!1);return it(E)?v.nodes.push(P):v.edges.push(P),v},{nodes:[],edges:[]});f.nodes.length&&e.hooks.nodesChange.trigger(f.nodes),f.edges.length&&e.hooks.edgesChange.trigger(f.edges)},C=h=>{var f;(f=e.d3Zoom)==null||f.scaleExtent([h,e.maxZoom]),e.minZoom=h},B=h=>{var f;(f=e.d3Zoom)==null||f.scaleExtent([e.minZoom,h]),e.maxZoom=h},R=h=>{var f;(f=e.d3Zoom)==null||f.translateExtent(h),e.translateExtent=h},X=h=>{e.nodeExtent=h,i()},F=h=>{var f;(f=e.d3Zoom)==null||f.clickDistance(h)},q=h=>{e.nodesDraggable=h,e.nodesConnectable=h,e.elementsSelectable=h},K=h=>{const f=h instanceof Function?h(e.nodes):h;!e.initialized&&!f.length||(e.nodes=Qo(f,u,e.hooks.error.trigger))},$=h=>{const f=h instanceof Function?h(e.edges):h;if(!e.initialized&&!f.length)return;const v=On(f,e.isValidConnection,u,c,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);An(e.connectionLookup,n.value,v),e.edges=v},_=h=>{const f=h instanceof Function?h([...e.nodes,...e.edges]):h;!e.initialized&&!f.length||(K(f.filter(it)),$(f.filter(Je)))},j=h=>{let f=h instanceof Function?h(e.nodes):h;f=Array.isArray(f)?f:[f];const v=Qo(f,u,e.hooks.error.trigger),E=[];for(const P of v)E.push(Go(P));E.length&&e.hooks.nodesChange.trigger(E)},m=h=>{let f=h instanceof Function?h(e.edges):h;f=Array.isArray(f)?f:[f];const v=On(f,e.isValidConnection,u,c,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),E=[];for(const P of v)E.push(Go(P));E.length&&e.hooks.edgesChange.trigger(E)},k=(h,f=!0,v=!1)=>{const E=h instanceof Function?h(e.nodes):h,P=Array.isArray(E)?E:[E],U=[],I=[];function Z(oe){const te=a(oe);for(const be of te)(!Ee(be.deletable)||be.deletable)&&I.push(Uo(be.id,be.source,be.target,be.sourceHandle,be.targetHandle))}function J(oe){const te=[];for(const be of e.nodes)be.parentNode===oe&&te.push(be);if(te.length){for(const be of te)U.push(Xo(be.id));f&&Z(te);for(const be of te)J(be.id)}}for(const oe of P){const te=typeof oe=="string"?u(oe):oe;te&&(Ee(te.deletable)&&!te.deletable||(U.push(Xo(te.id)),f&&Z([te]),v&&J(te.id)))}I.length&&e.hooks.edgesChange.trigger(I),U.length&&e.hooks.nodesChange.trigger(U)},b=h=>{const f=h instanceof Function?h(e.edges):h,v=Array.isArray(f)?f:[f],E=[];for(const P of v){const U=typeof P=="string"?c(P):P;U&&(Ee(U.deletable)&&!U.deletable||E.push(Uo(typeof P=="string"?P:P.id,U.source,U.target,U.sourceHandle,U.targetHandle)))}e.hooks.edgesChange.trigger(E)},T=(h,f,v=!0)=>{const E=c(h.id),P=nc(h,f,E,v,e.hooks.error.trigger);if(P){const[U]=On([P],e.isValidConnection,u,c,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges.splice(e.edges.indexOf(E),1,U),An(e.connectionLookup,n.value,[U]),U}return!1},O=(h,f,v={replace:!1})=>{const E=c(h);if(!E)return;const P=typeof f=="function"?f(E):f;E.data=v.replace?P:A(A({},E.data),P)},H=h=>Yo(h,e.nodes),z=h=>{const f=Yo(h,e.edges);return An(e.connectionLookup,n.value,f),f},G=(h,f,v={replace:!1})=>{const E=u(h);if(!E)return;const P=typeof f=="function"?f(E):f;v.replace?e.nodes.splice(e.nodes.indexOf(E),1,P):Object.assign(E,P)},D=(h,f,v={replace:!1})=>{const E=u(h);if(!E)return;const P=typeof f=="function"?f(E):f;E.data=v.replace?P:A(A({},E.data),P)},V=(h,f,v=!1)=>{v?e.connectionClickStartHandle=h:e.connectionStartHandle=h,e.connectionEndHandle=null,e.connectionStatus=null,f&&(e.connectionPosition=f)},Y=(h,f=null,v=null)=>{e.connectionStartHandle&&(e.connectionPosition=h,e.connectionEndHandle=f,e.connectionStatus=v)},ne=(h,f)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,f?e.connectionClickStartHandle=null:e.connectionStartHandle=null},de=h=>{const f=$u(h),v=f?null:Mt(h)?h:u(h.id);return!f&&!v?[null,null,f]:[f?h:cn(v),v,f]},le=(h,f=!0,v=e.nodes)=>{const[E,P,U]=de(h);if(!E)return[];const I=[];for(const Z of v||e.nodes){if(!U&&(Z.id===P.id||!Z.computedPosition))continue;const J=cn(Z),oe=dn(J,E);(f&&oe>0||oe>=Number(E.width)*Number(E.height))&&I.push(Z)}return I},ge=(h,f,v=!0)=>{const[E]=de(h);if(!E)return!1;const P=dn(E,f);return v&&P>0||P>=Number(E.width)*Number(E.height)},ae=h=>{const{viewport:f,dimensions:v,d3Zoom:E,d3Selection:P,translateExtent:U}=e;if(!E||!P||!h.x&&!h.y)return!1;const I=wt.translate(f.x+h.x,f.y+h.y).scale(f.zoom),Z=[[0,0],[v.width,v.height]],J=E.constrain()(I,Z,U),oe=e.viewport.x!==J.x||e.viewport.y!==J.y||e.viewport.zoom!==J.k;return E.transform(P,J),oe},he=h=>{const f=h instanceof Function?h(e):h,v=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];Ee(f.defaultEdgeOptions)&&(e.defaultEdgeOptions=f.defaultEdgeOptions);const E=f.modelValue||f.nodes||f.edges?[]:void 0;E&&(f.modelValue&&E.push(...f.modelValue),f.nodes&&E.push(...f.nodes),f.edges&&E.push(...f.edges),_(E));const P=()=>{Ee(f.maxZoom)&&B(f.maxZoom),Ee(f.minZoom)&&C(f.minZoom),Ee(f.translateExtent)&&R(f.translateExtent)};for(const U of Object.keys(f)){const I=U,Z=f[I];![...pc,...v].includes(I)&&Ee(Z)&&(e[I]=Z)}Ln(()=>e.d3Zoom).not.toBeNull().then(P),e.initialized||(e.initialized=!0)};return{updateNodePositions:d,updateNodeDimensions:p,setElements:_,setNodes:K,setEdges:$,addNodes:j,addEdges:m,removeNodes:k,removeEdges:b,findNode:u,findEdge:c,updateEdge:T,updateEdgeData:O,updateNode:G,updateNodeData:D,applyEdgeChanges:z,applyNodeChanges:H,addSelectedElements:x,addSelectedNodes:S,addSelectedEdges:w,setMinZoom:C,setMaxZoom:B,setTranslateExtent:R,setNodeExtent:X,setPaneClickDistance:F,removeSelectedElements:y,removeSelectedNodes:N,removeSelectedEdges:M,startConnection:V,updateConnection:Y,endConnection:ne,setInteractive:q,setState:he,getIntersectingNodes:le,getIncomers:r,getOutgoers:s,getConnectedEdges:a,getHandleConnections:l,isNodeIntersecting:ge,panBy:ae,fitView:h=>o.value.fitView(h),zoomIn:h=>o.value.zoomIn(h),zoomOut:h=>o.value.zoomOut(h),zoomTo:(h,f)=>o.value.zoomTo(h,f),setViewport:(h,f)=>o.value.setViewport(h,f),setTransform:(h,f)=>o.value.setTransform(h,f),getViewport:()=>o.value.getViewport(),getTransform:()=>o.value.getTransform(),setCenter:(h,f,v)=>o.value.setCenter(h,f,v),fitBounds:(h,f)=>o.value.fitBounds(h,f),project:h=>o.value.project(h),screenToFlowCoordinate:h=>o.value.screenToFlowCoordinate(h),flowToScreenCoordinate:h=>o.value.flowToScreenCoordinate(h),toObject:()=>{const h=[],f=[];for(const P of e.nodes){const v=P,{computedPosition:U,handleBounds:I,selected:Z,dimensions:J,isParent:oe,resizing:te,dragging:be,events:je}=v,ze=dt(v,["computedPosition","handleBounds","selected","dimensions","isParent","resizing","dragging","events"]);h.push(ze)}for(const P of e.edges){const E=P,{selected:U,sourceNode:I,targetNode:Z,events:J}=E,oe=dt(E,["selected","sourceNode","targetNode","events"]);f.push(oe)}return JSON.parse(JSON.stringify({nodes:h,edges:f,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:h=>new Promise(f=>{const{nodes:v,edges:E,position:P,zoom:U,viewport:I}=h;if(v&&K(v),E&&$(E),I!=null&&I.x&&(I!=null&&I.y)||P){const Z=(I==null?void 0:I.x)||P[0],J=(I==null?void 0:I.y)||P[1],oe=(I==null?void 0:I.zoom)||U||e.viewport.zoom;return Ln(()=>o.value.viewportInitialized).toBe(!0).then(()=>{o.value.setViewport({x:Z,y:J,zoom:oe}).then(()=>{f(!0)})})}else f(!0)}),updateNodeInternals:i,viewportHelper:o,$reset:()=>{var f,v,E;const h=gr();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const P=wt.translate((f=h.defaultViewport.x)!=null?f:0,(v=h.defaultViewport.y)!=null?v:0).scale(lt((E=h.defaultViewport.zoom)!=null?E:1,h.minZoom,h.maxZoom)),U=e.viewportRef.getBoundingClientRect(),I=[[0,0],[U.width,U.height]],Z=e.d3Zoom.constrain()(P,I,h.translateExtent);e.d3Zoom.transform(e.d3Selection,Z)}he(h)},$destroy:()=>{}}}const yc=["data-id","data-handleid","data-nodeid","data-handlepos"],_c={name:"Handle",compatConfig:{MODE:3}},hn=xe(ce(A({},_c),{props:{id:{default:null},type:{},position:{default:()=>W.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:t}){const n=Ir(e,["position","connectable","connectableStart","connectableEnd","id"]),o=ye(()=>{var $;return($=n.type)!=null?$:"source"}),i=ye(()=>{var $;return($=n.isValidConnection)!=null?$:null}),{id:r,connectionStartHandle:s,connectionClickStartHandle:a,connectionEndHandle:l,vueFlowRef:u,nodesConnectable:c,noDragClassName:d,noPanClassName:p}=we(),{id:g,node:S,nodeEl:w,connectedEdges:x}=fr(),N=pe(),M=ye(()=>typeof e.connectableStart!="undefined"?e.connectableStart:!0),y=ye(()=>typeof e.connectableEnd!="undefined"?e.connectableEnd:!0),C=ye(()=>{var $,_,j,m,k,b;return(($=s.value)==null?void 0:$.nodeId)===g&&((_=s.value)==null?void 0:_.id)===e.id&&((j=s.value)==null?void 0:j.type)===o.value||((m=l.value)==null?void 0:m.nodeId)===g&&((k=l.value)==null?void 0:k.id)===e.id&&((b=l.value)==null?void 0:b.type)===o.value}),B=ye(()=>{var $,_,j;return(($=a.value)==null?void 0:$.nodeId)===g&&((_=a.value)==null?void 0:_.id)===e.id&&((j=a.value)==null?void 0:j.type)===o.value}),{handlePointerDown:R,handleClick:X}=cr({nodeId:g,handleId:e.id,isValidConnection:i,type:o}),F=se(()=>typeof e.connectable=="string"&&e.connectable==="single"?!x.value.some($=>{const _=$[`${o.value}Handle`];return $[o.value]!==g?!1:_?_===e.id:!0}):typeof e.connectable=="number"?x.value.filter($=>{const _=$[`${o.value}Handle`];return $[o.value]!==g?!1:_?_===e.id:!0}).length{var H;var $;if(!S.dimensions.width||!S.dimensions.height)return;const _=($=S.handleBounds[o.value])==null?void 0:$.find(z=>z.id===e.id);if(!u.value||_)return;const j=u.value.querySelector(".vue-flow__transformationpane");if(!w.value||!N.value||!j||!e.id)return;const m=w.value.getBoundingClientRect(),k=N.value.getBoundingClientRect(),b=window.getComputedStyle(j),{m22:T}=new window.DOMMatrixReadOnly(b.transform),O=A({id:e.id,position:e.position,x:(k.left-m.left)/T,y:(k.top-m.top)/T,type:o.value,nodeId:g},_n(N.value));S.handleBounds[o.value]=[...(H=S.handleBounds[o.value])!=null?H:[],O]}),di(()=>{const $=S.handleBounds[o.value];$&&(S.handleBounds[o.value]=$.filter(_=>_.id!==e.id))});function q($){const _=ho($);F.value&&M.value&&(_&&$.button===0||!_)&&R($)}function K($){!g||!a.value&&!M.value||F.value&&X($)}return t({handleClick:X,handlePointerDown:R,onClick:K,onPointerDown:q}),($,_)=>(fe(),_e("div",{ref_key:"handle",ref:N,"data-id":`${ee(r)}-${ee(g)}-${e.id}-${o.value}`,"data-handleid":e.id,"data-nodeid":ee(g),"data-handlepos":$.position,class:pt(["vue-flow__handle",[`vue-flow__handle-${$.position}`,`vue-flow__handle-${e.id}`,ee(d),ee(p),o.value,{connectable:F.value,connecting:B.value,connectablestart:M.value,connectableend:y.value,connectionindicator:F.value&&(M.value&&!C.value||y.value&&C.value)}]]),onMousedown:q,onTouchstartPassive:q,onClick:K},[Fe($.$slots,"default",{id:$.id})],42,yc))}})),xn=function({sourcePosition:e=W.Bottom,targetPosition:t=W.Top,label:n,connectable:o=!0,isValidTargetPos:i,isValidSourcePos:r,data:s}){const a=s.label||n;return[me(hn,{type:"target",position:t,connectable:o,isValidConnection:i}),typeof a!="string"&&a?me(a):me(Ae,[a]),me(hn,{type:"source",position:e,connectable:o,isValidConnection:r})]};xn.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"];xn.inheritAttrs=!1;xn.compatConfig={MODE:3};const wc=xn,En=function({targetPosition:e=W.Top,label:t,connectable:n=!0,isValidTargetPos:o,data:i}){const r=i.label||t;return[me(hn,{type:"target",position:e,connectable:n,isValidConnection:o}),typeof r!="string"&&r?me(r):me(Ae,[r])]};En.props=["targetPosition","label","isValidTargetPos","connectable","data"];En.inheritAttrs=!1;En.compatConfig={MODE:3};const bc=En,Sn=function({sourcePosition:e=W.Bottom,label:t,connectable:n=!0,isValidSourcePos:o,data:i}){const r=i.label||t;return[typeof r!="string"&&r?me(r):me(Ae,[r]),me(hn,{type:"source",position:e,connectable:n,isValidConnection:o})]};Sn.props=["sourcePosition","label","isValidSourcePos","connectable","data"];Sn.inheritAttrs=!1;Sn.compatConfig={MODE:3};const xc=Sn,Ec=["transform"],Sc=["width","height","x","y","rx","ry"],Nc=["y"],Cc={name:"EdgeText",compatConfig:{MODE:3}},Mc=xe(ce(A({},Cc),{props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const t=pe({x:0,y:0,width:0,height:0}),n=pe(null),o=se(()=>`translate(${e.x-t.value.width/2} ${e.y-t.value.height/2})`);Qe(i),ve([()=>e.x,()=>e.y,n,()=>e.label],i);function i(){if(!n.value)return;const r=n.value.getBBox();(r.width!==t.value.width||r.height!==t.value.height)&&(t.value=r)}return(r,s)=>(fe(),_e("g",{transform:o.value,class:"vue-flow__edge-textwrapper"},[r.labelShowBg?(fe(),_e("rect",{key:0,class:"vue-flow__edge-textbg",width:`${t.value.width+2*r.labelBgPadding[0]}px`,height:`${t.value.height+2*r.labelBgPadding[1]}px`,x:-r.labelBgPadding[0],y:-r.labelBgPadding[1],style:Ye(r.labelBgStyle),rx:r.labelBgBorderRadius,ry:r.labelBgBorderRadius},null,12,Sc)):De("",!0),rt("text",ci(r.$attrs,{ref_key:"el",ref:n,class:"vue-flow__edge-text",y:t.value.height/2,dy:"0.3em",style:r.labelStyle}),[Fe(r.$slots,"default",{},()=>[typeof r.label!="string"?(fe(),st(Tr(r.label),{key:0})):(fe(),_e(Ae,{key:1},[$r(Rn(r.label),1)],64))])],16,Nc)],8,Ec))}})),Ic=["id","d","marker-end","marker-start"],kc=["d","stroke-width"],Pc={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Nn=xe(ce(A({},Pc),{props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:t}){const n=pe(null),o=pe(null),i=pe(null),r=Cr();return t({pathEl:n,interactionEl:o,labelEl:i}),(s,a)=>(fe(),_e(Ae,null,[rt("path",ci(ee(r),{id:s.id,ref_key:"pathEl",ref:n,d:s.path,class:"vue-flow__edge-path","marker-end":s.markerEnd,"marker-start":s.markerStart}),null,16,Ic),s.interactionWidth?(fe(),_e("path",{key:0,ref_key:"interactionEl",ref:o,fill:"none",d:s.path,"stroke-width":s.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,kc)):De("",!0),s.label&&s.labelX&&s.labelY?(fe(),st(Mc,{key:1,ref_key:"labelEl",ref:i,x:s.labelX,y:s.labelY,label:s.label,"label-show-bg":s.labelShowBg,"label-bg-style":s.labelBgStyle,"label-bg-padding":s.labelBgPadding,"label-bg-border-radius":s.labelBgBorderRadius,"label-style":s.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):De("",!0)],64))}}));function vr({sourceX:e,sourceY:t,targetX:n,targetY:o}){const i=Math.abs(n-e)/2,r=n=0?.5*e:t*25*Math.sqrt(-e)}function oi({pos:e,x1:t,y1:n,x2:o,y2:i,c:r}){let s,a;switch(e){case W.Left:s=t-Jt(t-o,r),a=n;break;case W.Right:s=t+Jt(o-t,r),a=n;break;case W.Top:s=t,a=n-Jt(n-i,r);break;case W.Bottom:s=t,a=n+Jt(i-n,r);break}return[s,a]}function mr(e){const{sourceX:t,sourceY:n,sourcePosition:o=W.Bottom,targetX:i,targetY:r,targetPosition:s=W.Top,curvature:a=.25}=e,[l,u]=oi({pos:o,x1:t,y1:n,x2:i,y2:r,c:a}),[c,d]=oi({pos:s,x1:i,y1:r,x2:t,y2:n,c:a}),[p,g,S,w]=pr({sourceX:t,sourceY:n,targetX:i,targetY:r,sourceControlX:l,sourceControlY:u,targetControlX:c,targetControlY:d});return[`M${t},${n} C${l},${u} ${c},${d} ${i},${r}`,p,g,S,w]}function ii({pos:e,x1:t,y1:n,x2:o,y2:i}){let r,s;switch(e){case W.Left:case W.Right:r=.5*(t+o),s=n;break;case W.Top:case W.Bottom:r=t,s=.5*(n+i);break}return[r,s]}function yr(e){const{sourceX:t,sourceY:n,sourcePosition:o=W.Bottom,targetX:i,targetY:r,targetPosition:s=W.Top}=e,[a,l]=ii({pos:o,x1:t,y1:n,x2:i,y2:r}),[u,c]=ii({pos:s,x1:i,y1:r,x2:t,y2:n}),[d,p,g,S]=pr({sourceX:t,sourceY:n,targetX:i,targetY:r,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${t},${n} C${a},${l} ${u},${c} ${i},${r}`,d,p,g,S]}const ri={[W.Left]:{x:-1,y:0},[W.Right]:{x:1,y:0},[W.Top]:{x:0,y:-1},[W.Bottom]:{x:0,y:1}};function Tc({source:e,sourcePosition:t=W.Bottom,target:n}){return t===W.Left||t===W.Right?e.xe[d]?-1:1)*b:N[d]=(u[d]>n[d]?-1:1)*b}}if(t!==o){const k=d==="x"?"y":"x",b=s[d]===a[k],T=l[k]>u[k],O=l[k]=m?(S=($.x+_.x)/2,w=g[0].y):(S=g[0].x,w=($.y+_.y)/2)}return[[e,{x:l.x+x.x,y:l.y+x.y},...g,{x:u.x+N.x,y:u.y+N.y},n],S,w,C,B]}function Dc(e,t,n,o){const i=Math.min(si(e,t)/2,si(t,n)/2,o),{x:r,y:s}=t;if(e.x===r&&r===n.x||e.y===s&&s===n.y)return`L${r} ${s}`;if(e.y===s){const u=e.x{let C;return y>0&&y{const[n,o,i]=Ac(e);return me(Nn,A(A({path:n,labelX:o,labelY:i},t),e))}}}),zc=Oc,Bc=xe({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{var r,s;const[n,o,i]=to(ce(A({},e),{sourcePosition:(r=e.sourcePosition)!=null?r:W.Bottom,targetPosition:(s=e.targetPosition)!=null?s:W.Top}));return me(Nn,A(A({path:n,labelX:o,labelY:i},t),e))}}}),_r=Bc,Vc=xe({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:t}){return()=>me(_r,ce(A(A({},e),t),{borderRadius:0}))}}),Rc=Vc,Hc=xe({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{var r,s;const[n,o,i]=mr(ce(A({},e),{sourcePosition:(r=e.sourcePosition)!=null?r:W.Bottom,targetPosition:(s=e.targetPosition)!=null?s:W.Top}));return me(Nn,A(A({path:n,labelX:o,labelY:i},t),e))}}}),Lc=Hc,Fc=xe({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{var r,s;const[n,o,i]=yr(ce(A({},e),{sourcePosition:(r=e.sourcePosition)!=null?r:W.Bottom,targetPosition:(s=e.targetPosition)!=null?s:W.Top}));return me(Nn,A(A({path:n,labelX:o,labelY:i},t),e))}}}),Yc=Fc,Gc={input:xc,default:wc,output:bc},Xc={default:Lc,straight:zc,step:Rc,smoothstep:_r,simplebezier:Yc};function Uc(e,t,n){const o=se(()=>w=>t.value.get(w)),i=se(()=>w=>n.value.get(w)),r=se(()=>{const w=A(A({},Xc),e.edgeTypes),x=Object.keys(w);for(const N of e.edges)N.type&&!x.includes(N.type)&&(w[N.type]=N.type);return w}),s=se(()=>{const w=A(A({},Gc),e.nodeTypes),x=Object.keys(w);for(const N of e.nodes)N.type&&!x.includes(N.type)&&(w[N.type]=N.type);return w}),a=se(()=>e.onlyRenderVisibleElements?ji(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),l=se(()=>{if(e.onlyRenderVisibleElements){const w=[];for(const x of e.edges){const N=t.value.get(x.source),M=t.value.get(x.target);Gu({sourcePos:N.computedPosition||{x:0,y:0},targetPos:M.computedPosition||{x:0,y:0},sourceWidth:N.dimensions.width,sourceHeight:N.dimensions.height,targetWidth:M.dimensions.width,targetHeight:M.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&w.push(x)}return w}return e.edges}),u=se(()=>[...a.value,...l.value]),c=se(()=>{const w=[];for(const x of e.nodes)x.selected&&w.push(x);return w}),d=se(()=>{const w=[];for(const x of e.edges)x.selected&&w.push(x);return w}),p=se(()=>[...c.value,...d.value]),g=se(()=>{const w=[];for(const x of e.nodes)x.dimensions.width&&x.dimensions.height&&x.handleBounds!==void 0&&w.push(x);return w}),S=se(()=>a.value.length>0&&g.value.length===a.value.length);return{getNode:o,getEdge:i,getElements:u,getEdgeTypes:r,getNodeTypes:s,getEdges:l,getNodes:a,getSelectedElements:p,getSelectedNodes:c,getSelectedEdges:d,getNodesInitialized:g,areNodesInitialized:S}}class tt{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var i;var t;const n=(t=Vt())==null?void 0:t.appContext.app,o=(i=n==null?void 0:n.config.globalProperties.$vueFlowStorage)!=null?i:tt.instance;return tt.instance=o!=null?o:new tt,n&&(n.config.globalProperties.$vueFlowStorage=tt.instance),tt.instance}set(t,n){return this.flows.set(t,n)}get(t){return this.flows.get(t)}remove(t){return this.flows.delete(t)}create(t,n){const o=gr(),i=Pr(o),r={};for(const[p,g]of Object.entries(i.hooks)){const S=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;r[S]=g.on}const s={};for(const[p,g]of Object.entries(i.hooks))s[p]=g.trigger;const a=se(()=>{const p=new Map;for(const g of i.nodes)p.set(g.id,g);return p}),l=se(()=>{const p=new Map;for(const g of i.edges)p.set(g.id,g);return p}),u=Uc(i,a,l),c=mc(i,a,l);c.setState(A(A({},i),n));const d=ce(A(A(A(A({},r),u),c),Ur(i)),{nodeLookup:a,edgeLookup:l,emits:s,id:t,vueFlowVersion:"1.42.1",$destroy:()=>{this.remove(t)}});return this.set(t,d),d}getId(){return`vue-flow-${this.currentId++}`}}function we(e){const t=tt.getInstance(),n=li(),o=typeof e=="object",i=o?e:{id:e},r=i.id,s=r!=null?r:n==null?void 0:n.vueFlowId;let a;if(n){const l=xt(ni,null);typeof l!="undefined"&&l!==null&&(!s||l.id===s)&&(a=l)}if(a||s&&(a=t.get(s)),!a||s&&a.id!==s){const l=r!=null?r:t.getId(),u=t.create(l,i);a=u,(n!=null?n:ui(!0)).run(()=>{ve(u.applyDefault,(d,p,g)=>{const S=x=>{u.applyNodeChanges(x)},w=x=>{u.applyEdgeChanges(x)};d?(u.onNodesChange(S),u.onEdgesChange(w)):(u.hooks.value.nodesChange.off(S),u.hooks.value.edgesChange.off(w)),g(()=>{u.hooks.value.nodesChange.off(S),u.hooks.value.edgesChange.off(w)})},{immediate:!0}),gn(()=>{if(a){const d=t.get(a.id);d?d.$destroy():Lt(`No store instance found for id ${a.id} in storage.`)}})})}else o&&a.setState(i);if(n&&(mt(ni,a),n.vueFlowId=a.id),o){const l=Vt();(l==null?void 0:l.type.name)!=="VueFlow"&&a.emits.error(new Ne(Se.USEVUEFLOW_OPTIONS))}return a}function Zc(e){const{emits:t,dimensions:n}=we();let o;Qe(()=>{const i=e.value,r=()=>{if(!i)return;const s=_n(i);(s.width===0||s.height===0)&&t.error(new Ne(Se.MISSING_VIEWPORT_DIMENSIONS)),n.value={width:s.width||500,height:s.height||500}};r(),window.addEventListener("resize",r),i&&(o=new ResizeObserver(()=>r()),o.observe(i)),fi(()=>{window.removeEventListener("resize",r),o&&i&&o.unobserve(i)})})}const Wc={name:"UserSelection",compatConfig:{MODE:3}},Kc=xe(ce(A({},Wc),{props:{userSelectionRect:{}},setup(e){return(t,n)=>(fe(),_e("div",{class:"vue-flow__selection vue-flow__container",style:Ye({width:`${t.userSelectionRect.width}px`,height:`${t.userSelectionRect.height}px`,transform:`translate(${t.userSelectionRect.x}px, ${t.userSelectionRect.y}px)`})},null,4))}})),qc=["tabIndex"],Jc={name:"NodesSelection",compatConfig:{MODE:3}},Qc=xe(ce(A({},Jc),{setup(e){const{emits:t,viewport:n,getSelectedNodes:o,noPanClassName:i,disableKeyboardA11y:r,userSelectionActive:s}=we(),a=hr(),l=pe(null),u=ur({el:l,onStart(S){t.selectionDragStart(S)},onDrag(S){t.selectionDrag(S)},onStop(S){t.selectionDragStop(S)}});Qe(()=>{var S;r.value||(S=l.value)==null||S.focus({preventScroll:!0})});const c=se(()=>Qi(o.value)),d=se(()=>({width:`${c.value.width}px`,height:`${c.value.height}px`,top:`${c.value.y}px`,left:`${c.value.x}px`}));function p(S){t.selectionContextMenu({event:S,nodes:o.value})}function g(S){r||vt[S.key]&&(S.preventDefault(),a({x:vt[S.key].x,y:vt[S.key].y},S.shiftKey))}return(S,w)=>!ee(s)&&c.value.width&&c.value.height?(fe(),_e("div",{key:0,class:pt(["vue-flow__nodesselection vue-flow__container",ee(i)]),style:Ye({transform:`translate(${ee(n).x}px,${ee(n).y}px) scale(${ee(n).zoom})`})},[rt("div",{ref_key:"el",ref:l,class:pt([{dragging:ee(u)},"vue-flow__nodesselection-rect"]),style:Ye(d.value),tabIndex:ee(r)?void 0:-1,onContextmenu:p,onKeydown:g},null,46,qc)],6)):De("",!0)}}));function jc(e,t){return{x:e.clientX-t.left,y:e.clientY-t.top}}const ed={name:"Pane",compatConfig:{MODE:3}},td=xe(ce(A({},ed),{props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:t,nodes:n,viewport:o,emits:i,userSelectionActive:r,removeSelectedElements:s,userSelectionRect:a,elementsSelectable:l,nodesSelectionActive:u,getSelectedEdges:c,getSelectedNodes:d,removeNodes:p,removeEdges:g,selectionMode:S,deleteKeyCode:w,multiSelectionKeyCode:x,multiSelectionActive:N,edgeLookup:M,nodeLookup:y,connectionLookup:C,defaultEdgeOptions:B}=we(),R=pe(null),X=pe(new Set),F=pe(new Set),q=pe(),K=ye(()=>l.value&&(e.isSelecting||r.value));let $=!1,_=!1;const j=Pt(w,{actInsideInputWithModifier:!1}),m=Pt(x);ve(j,D=>{D&&(p(d.value),g(c.value),u.value=!1)}),ve(m,D=>{N.value=D});function k(D,V){return Y=>{Y.target===V&&(D==null||D(Y))}}function b(D){if($){$=!1;return}i.paneClick(D),s(),u.value=!1}function T(D){D.preventDefault(),D.stopPropagation(),i.paneContextMenu(D)}function O(D){i.paneScroll(D)}function H(D){var V,Y,ne;if(q.value=(V=t.value)==null?void 0:V.getBoundingClientRect(),!l.value||!e.isSelecting||D.button!==0||D.target!==R.value||!q.value)return;(ne=(Y=D.target)==null?void 0:Y.setPointerCapture)==null||ne.call(Y,D.pointerId);const{x:de,y:le}=jc(D,q.value);_=!0,$=!1,s(),a.value={width:0,height:0,startX:de,startY:le,x:de,y:le},i.selectionStart(D)}function z(D){var ie,re;var V;if(!q.value||!a.value)return;$=!0;const{x:Y,y:ne}=Ke(D,q.value),{startX:de=0,startY:le=0}=a.value,ge={startX:de,startY:le,x:Yh.id)),F.value=new Set;const Q=(ie=(V=B.value)==null?void 0:V.selectable)!=null?ie:!0;for(const h of X.value){const f=C.value.get(h);if(f)for(const{edgeId:v}of f.values()){const E=M.value.get(v);E&&((re=E.selectable)!=null?re:Q)&&F.value.add(v)}}if(!ti(ae,X.value)){const h=We(y.value,X.value,!0);i.nodesChange(h)}if(!ti(he,F.value)){const h=We(M.value,F.value);i.edgesChange(h)}a.value=ge,r.value=!0,u.value=!1}function G(D){var V;D.button!==0||!_||((V=D.target)==null||V.releasePointerCapture(D.pointerId),!r.value&&a.value&&D.target===R.value&&b(D),r.value=!1,a.value=null,u.value=X.value.size>0,i.selectionEnd(D),e.selectionKeyPressed&&($=!1),_=!1)}return(D,V)=>(fe(),_e("div",{ref_key:"container",ref:R,class:pt(["vue-flow__pane vue-flow__container",{selection:D.isSelecting}]),onClick:V[0]||(V[0]=Y=>K.value?void 0:k(b,R.value)(Y)),onContextmenu:V[1]||(V[1]=Y=>k(T,R.value)(Y)),onWheelPassive:V[2]||(V[2]=Y=>k(O,R.value)(Y)),onPointerenter:V[3]||(V[3]=Y=>K.value?void 0:ee(i).paneMouseEnter(Y)),onPointerdown:V[4]||(V[4]=Y=>K.value?H(Y):ee(i).paneMouseMove(Y)),onPointermove:V[5]||(V[5]=Y=>K.value?z(Y):ee(i).paneMouseMove(Y)),onPointerup:V[6]||(V[6]=Y=>K.value?G(Y):void 0),onPointerleave:V[7]||(V[7]=Y=>ee(i).paneMouseLeave(Y))},[Fe(D.$slots,"default"),ee(r)&&ee(a)?(fe(),st(Kc,{key:0,"user-selection-rect":ee(a)},null,8,["user-selection-rect"])):De("",!0),ee(u)&&ee(d).length?(fe(),st(Qc,{key:1})):De("",!0)],34))}})),nd={name:"Transform",compatConfig:{MODE:3}},od=xe(ce(A({},nd),{setup(e){const{viewport:t,fitViewOnInit:n,fitViewOnInitDone:o}=we(),i=se(()=>n.value?!o.value:!1),r=se(()=>`translate(${t.value.x}px,${t.value.y}px) scale(${t.value.zoom})`);return(s,a)=>(fe(),_e("div",{class:"vue-flow__transformationpane vue-flow__container",style:Ye({transform:r.value,opacity:i.value?0:void 0})},[Fe(s.$slots,"default")],4))}})),id={name:"Viewport",compatConfig:{MODE:3}},rd=xe(ce(A({},id),{setup(e){const{minZoom:t,maxZoom:n,defaultViewport:o,translateExtent:i,zoomActivationKeyCode:r,selectionKeyCode:s,panActivationKeyCode:a,panOnScroll:l,panOnScrollMode:u,panOnScrollSpeed:c,panOnDrag:d,zoomOnDoubleClick:p,zoomOnPinch:g,zoomOnScroll:S,preventScrolling:w,noWheelClassName:x,noPanClassName:N,emits:M,connectionStartHandle:y,userSelectionActive:C,paneDragging:B,d3Zoom:R,d3Selection:X,d3ZoomHandler:F,viewport:q,viewportRef:K,paneClickDistance:$}=we();Zc(K);const _=pe(!1),j=pe(!1);let m=null,k=!1,b=0,T={x:0,y:0,zoom:0};const O=Pt(a),H=Pt(s),z=Pt(r),G=ye(()=>(!H.value||H.value&&s.value===!0)&&(O.value||d.value)),D=ye(()=>O.value||l.value),V=ye(()=>H.value||s.value===!0&&G.value!==!0);Qe(()=>{var E,P,U;if(!K.value){Lt("Viewport element is missing");return}const ae=K.value,he=ae.getBoundingClientRect(),Q=Mu().clickDistance($.value).scaleExtent([t.value,n.value]).translateExtent(i.value),ie=Ie(ae).call(Q),re=ie.on("wheel.zoom"),h=wt.translate((E=o.value.x)!=null?E:0,(P=o.value.y)!=null?P:0).scale(lt((U=o.value.zoom)!=null?U:1,t.value,n.value)),f=[[0,0],[he.width,he.height]],v=Q.constrain()(h,f,i.value);Q.transform(ie,v),Q.wheelDelta(ne),R.value=Q,X.value=ie,F.value=re,q.value={x:v.x,y:v.y,zoom:v.k},Q.on("start",I=>{var Z;if(!I.sourceEvent)return null;b=I.sourceEvent.button,_.value=!0;const J=le(I.transform);((Z=I.sourceEvent)==null?void 0:Z.type)==="mousedown"&&(B.value=!0),T=J,M.viewportChangeStart(J),M.moveStart({event:I,flowTransform:J})}),Q.on("end",I=>{if(!I.sourceEvent)return null;if(_.value=!1,B.value=!1,Y(G.value,b!=null?b:0)&&!k&&M.paneContextMenu(I.sourceEvent),k=!1,de(T,I.transform)){const Z=le(I.transform);T=Z,M.viewportChangeEnd(Z),M.moveEnd({event:I,flowTransform:Z})}}),Q.filter(I=>{var Z;const J=z.value||S.value,oe=g.value&&I.ctrlKey,te=I.button;if(te===1&&I.type==="mousedown"&&(ge(I,"vue-flow__node")||ge(I,"vue-flow__edge")))return!0;if(!G.value&&!J&&!D.value&&!p.value&&!g.value||C.value||!p.value&&I.type==="dblclick"||ge(I,x.value)&&I.type==="wheel"||ge(I,N.value)&&(I.type!=="wheel"||D.value&&I.type==="wheel"&&!z.value)||!g.value&&I.ctrlKey&&I.type==="wheel"||!J&&!D.value&&!oe&&I.type==="wheel")return!1;if(!g&&I.type==="touchstart"&&((Z=I.touches)==null?void 0:Z.length)>1)return I.preventDefault(),!1;if(!G.value&&(I.type==="mousedown"||I.type==="touchstart")||s.value===!0&&Array.isArray(d.value)&&d.value.includes(0)&&te===0||Array.isArray(d.value)&&!d.value.includes(te)&&(I.type==="mousedown"||I.type==="touchstart"))return!1;const be=Array.isArray(d.value)&&d.value.includes(te)||s.value===!0&&Array.isArray(d.value)&&!d.value.includes(0)||!te||te<=1;return(!I.ctrlKey||O.value||I.type==="wheel")&&be}),ve([C,G],()=>{C.value&&!_.value?Q.on("zoom",null):C.value||Q.on("zoom",I=>{q.value={x:I.transform.x,y:I.transform.y,zoom:I.transform.k};const Z=le(I.transform);k=Y(G.value,b!=null?b:0),M.viewportChange(Z),M.move({event:I,flowTransform:Z})})},{immediate:!0}),ve([C,D,u,z,g,w,x],()=>{D.value&&!z.value&&!C.value?ie.on("wheel.zoom",I=>{if(ge(I,x.value))return!1;const Z=z.value||S.value,J=g.value&&I.ctrlKey;if(!(!w.value||D.value||Z||J))return!1;I.preventDefault(),I.stopImmediatePropagation();const te=ie.property("__zoom").k||1,be=fn();if(!O.value&&I.ctrlKey&&g.value&&be){const wr=Te(I),br=ne(I),xr=te*ct(2,br);Q.scaleTo(ie,xr,wr,I);return}const je=I.deltaMode===1?20:1;let ze=u.value===kt.Vertical?0:I.deltaX*je,Ft=u.value===kt.Horizontal?0:I.deltaY*je;!be&&I.shiftKey&&u.value!==kt.Vertical&&!ze&&Ft&&(ze=Ft,Ft=0),Q.translateBy(ie,-(ze/te)*c.value,-(Ft/te)*c.value);const ut=le(ie.property("__zoom"));m&&clearTimeout(m),j.value?(M.move({event:I,flowTransform:ut}),M.viewportChange(ut),m=setTimeout(()=>{M.moveEnd({event:I,flowTransform:ut}),M.viewportChangeEnd(ut),j.value=!1},150)):(j.value=!0,M.moveStart({event:I,flowTransform:ut}),M.viewportChangeStart(ut))},{passive:!1}):typeof re!="undefined"&&ie.on("wheel.zoom",function(I,Z){const J=!w.value&&I.type==="wheel"&&!I.ctrlKey,oe=z.value||S.value,te=g.value&&I.ctrlKey;if(!oe&&!l.value&&!te&&I.type==="wheel"||J||ge(I,x.value))return null;I.preventDefault(),re.call(this,I,Z)},{passive:!1})},{immediate:!0})});function Y(ae,he){return he===2&&Array.isArray(ae)&&ae.includes(2)}function ne(ae){const he=ae.ctrlKey&&fn()?10:1;return-ae.deltaY*(ae.deltaMode===1?.05:ae.deltaMode?1:.002)*he}function de(ae,he){return ae.x!==he.x&&!Number.isNaN(he.x)||ae.y!==he.y&&!Number.isNaN(he.y)||ae.zoom!==he.k&&!Number.isNaN(he.k)}function le(ae){return{x:ae.x,y:ae.y,zoom:ae.k}}function ge(ae,he){return ae.target.closest(`.${he}`)}return(ae,he)=>(fe(),_e("div",{ref_key:"viewportRef",ref:K,class:"vue-flow__viewport vue-flow__container"},[Re(td,{"is-selecting":V.value,"selection-key-pressed":ee(H),class:pt({connecting:!!ee(y),dragging:ee(B),draggable:ee(d)===!0||Array.isArray(ee(d))&&ee(d).includes(0)})},{default:Vn(()=>[Re(od,null,{default:Vn(()=>[Fe(ae.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}})),sd=["id"],ad=["id"],ld=["id"],ud={name:"A11yDescriptions",compatConfig:{MODE:3}},cd=xe(ce(A({},ud),{setup(e){const{id:t,disableKeyboardA11y:n,ariaLiveMessage:o}=we();return(i,r)=>(fe(),_e(Ae,null,[rt("div",{id:`${ee(Gi)}-${ee(t)}`,style:{display:"none"}}," Press enter or space to select a node. "+Rn(ee(n)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,sd),rt("div",{id:`${ee(Xi)}-${ee(t)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,ad),ee(n)?De("",!0):(fe(),_e("div",{key:0,id:`${ee(Tu)}-${ee(t)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},Rn(ee(o)),9,ld))],64))}}));function dd(){const e=we();ve(()=>e.viewportHelper.value.viewportInitialized,t=>{t&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function fd(e,t,n){return n===W.Left?e-t:n===W.Right?e+t:e}function hd(e,t,n){return n===W.Top?e-t:n===W.Bottom?e+t:e}const go=function({radius:e=10,centerX:t=0,centerY:n=0,position:o=W.Top,type:i}){return me("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:fd(t,e,o),cy:hd(n,e,o),r:e,stroke:"transparent",fill:"transparent"})};go.props=["radius","centerX","centerY","position","type"];go.compatConfig={MODE:3};const ai=go,gd=xe({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:t,addSelectedEdges:n,connectionMode:o,edgeUpdaterRadius:i,emits:r,nodesSelectionActive:s,noPanClassName:a,getEdgeTypes:l,removeSelectedEdges:u,findEdge:c,findNode:d,isValidConnection:p,multiSelectionActive:g,disableKeyboardA11y:S,elementsSelectable:w,edgesUpdatable:x,edgesFocusable:N,hooks:M}=we(),y=se(()=>c(e.id)),{emit:C,on:B}=ac(y.value,r),R=xt(bn),X=Vt(),F=pe(!1),q=pe(!1),K=pe(""),$=pe(null),_=pe("source"),j=pe(null),m=ye(()=>typeof y.value.selectable=="undefined"?w.value:y.value.selectable),k=ye(()=>typeof y.value.updatable=="undefined"?x.value:y.value.updatable),b=ye(()=>typeof y.value.focusable=="undefined"?N.value:y.value.focusable);mt(ic,e.id),mt(rc,j);const T=se(()=>y.value.class instanceof Function?y.value.class(y.value):y.value.class),O=se(()=>y.value.style instanceof Function?y.value.style(y.value):y.value.style),H=se(()=>{var P;const f=y.value.type||"default",v=R==null?void 0:R[`edge-${f}`];if(v)return v;let E=(P=y.value.template)!=null?P:l.value[f];if(typeof E=="string"&&X){const U=Object.keys(X.appContext.components);U&&U.includes(f)&&(E=hi(f,!1))}return E&&typeof E!="string"?E:(r.error(new Ne(Se.EDGE_TYPE_MISSING,E)),!1)}),{handlePointerDown:z}=cr({nodeId:K,handleId:$,type:_,isValidConnection:p,edgeUpdaterType:_,onEdgeUpdate:V,onEdgeUpdateEnd:Y});return()=>{const f=d(y.value.source),v=d(y.value.target),E="pathOptions"in y.value?y.value.pathOptions:{};if(!f&&!v)return r.error(new Ne(Se.EDGE_SOURCE_TARGET_MISSING,y.value.id,y.value.source,y.value.target)),null;if(!f)return r.error(new Ne(Se.EDGE_SOURCE_MISSING,y.value.id,y.value.source)),null;if(!v)return r.error(new Ne(Se.EDGE_TARGET_MISSING,y.value.id,y.value.target)),null;if(!y.value||y.value.hidden||f.hidden||v.hidden)return null;let P;o.value===qe.Strict?P=f.handleBounds.source:P=[...f.handleBounds.source||[],...f.handleBounds.target||[]];const U=Wo(P,y.value.sourceHandle);let I;o.value===qe.Strict?I=v.handleBounds.target:I=[...v.handleBounds.target||[],...v.handleBounds.source||[]];const Z=Wo(I,y.value.targetHandle),J=(U==null?void 0:U.position)||W.Bottom,oe=(Z==null?void 0:Z.position)||W.Top,{x:te,y:be}=bt(f,U,J),{x:je,y:ze}=bt(v,Z,oe);return y.value.sourceX=te,y.value.sourceY=be,y.value.targetX=je,y.value.targetY=ze,me("g",{ref:j,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${H.value===!1?"default":y.value.type||"default"}`,a.value,T.value,{updating:F.value,selected:y.value.selected,animated:y.value.animated,inactive:!m.value&&!M.value.edgeClick.hasListeners()}],onClick:de,onContextmenu:le,onDblclick:ge,onMouseenter:ae,onMousemove:he,onMouseleave:Q,onKeyDown:b.value?h:void 0,tabIndex:b.value?0:void 0,"aria-label":y.value.ariaLabel===null?void 0:y.value.ariaLabel||`Edge from ${y.value.source} to ${y.value.target}`,"aria-describedby":b.value?`${Xi}-${t}`:void 0,role:b.value?"button":"img"},[q.value?null:me(H.value===!1?l.value.default:H.value,A({id:e.id,sourceNode:f,targetNode:v,source:y.value.source,target:y.value.target,type:y.value.type,updatable:k.value,selected:y.value.selected,animated:y.value.animated,label:y.value.label,labelStyle:y.value.labelStyle,labelShowBg:y.value.labelShowBg,labelBgStyle:y.value.labelBgStyle,labelBgPadding:y.value.labelBgPadding,labelBgBorderRadius:y.value.labelBgBorderRadius,data:y.value.data,events:A(A({},y.value.events),B),style:O.value,markerStart:`url('#${Bt(y.value.markerStart,t)}')`,markerEnd:`url('#${Bt(y.value.markerEnd,t)}')`,sourcePosition:J,targetPosition:oe,sourceX:te,sourceY:be,targetX:je,targetY:ze,sourceHandleId:y.value.sourceHandle,targetHandleId:y.value.targetHandle,interactionWidth:y.value.interactionWidth},E)),[k.value==="source"||k.value===!0?[me("g",{onMousedown:ie,onMouseenter:G,onMouseout:D},me(ai,{position:J,centerX:te,centerY:be,radius:i.value,type:"source","data-type":"source"}))]:null,k.value==="target"||k.value===!0?[me("g",{onMousedown:re,onMouseenter:G,onMouseout:D},me(ai,{position:oe,centerX:je,centerY:ze,radius:i.value,type:"target","data-type":"target"}))]:null]])};function G(){F.value=!0}function D(){F.value=!1}function V(f,v){C.update({event:f,edge:y.value,connection:v})}function Y(f){C.updateEnd({event:f,edge:y.value}),q.value=!1}function ne(f,v){var E;f.button===0&&(q.value=!0,K.value=v?y.value.target:y.value.source,$.value=(E=v?y.value.targetHandle:y.value.sourceHandle)!=null?E:"",_.value=v?"target":"source",C.updateStart({event:f,edge:y.value}),z(f))}function de(f){var v;const E={event:f,edge:y.value};m.value&&(s.value=!1,y.value.selected&&g.value?(u([y.value]),(v=j.value)==null||v.blur()):n([y.value])),C.click(E)}function le(f){C.contextMenu({event:f,edge:y.value})}function ge(f){C.doubleClick({event:f,edge:y.value})}function ae(f){C.mouseEnter({event:f,edge:y.value})}function he(f){C.mouseMove({event:f,edge:y.value})}function Q(f){C.mouseLeave({event:f,edge:y.value})}function ie(f){ne(f,!0)}function re(f){ne(f,!1)}function h(f){var v;!S.value&&Ui.includes(f.key)&&m.value&&(f.key==="Escape"?((v=j.value)==null||v.blur(),u([c(e.id)])):n([c(e.id)]))}}}),vd=gd,pd=xe({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:t,connectionMode:n,connectionStartHandle:o,connectionEndHandle:i,connectionPosition:r,connectionLineType:s,connectionLineStyle:a,connectionLineOptions:l,connectionStatus:u,viewport:c,findNode:d}=we(),p=(e=xt(bn))==null?void 0:e["connection-line"],g=se(()=>{var M;return d((M=o.value)==null?void 0:M.nodeId)}),S=se(()=>{var y;var M;return(y=d((M=i.value)==null?void 0:M.nodeId))!=null?y:null}),w=se(()=>({x:(r.value.x-c.value.x)/c.value.zoom,y:(r.value.y-c.value.y)/c.value.zoom})),x=se(()=>l.value.markerStart?`url(#${Bt(l.value.markerStart,t)})`:""),N=se(()=>l.value.markerEnd?`url(#${Bt(l.value.markerEnd,t)})`:"");return()=>{var O,H,z,G;var M,y,C;if(!g.value||!o.value)return null;const B=o.value.id,R=o.value.type,X=g.value.handleBounds;let F=(X==null?void 0:X[R])||[];if(n.value===qe.Loose){const D=(X==null?void 0:X[R==="source"?"target":"source"])||[];F=[...F,...D]}if(!F)return null;const q=(O=B?F.find(D=>D.id===B):F[0])!=null?O:null,K=(q==null?void 0:q.position)||W.Top,{x:$,y:_}=bt(g.value,q,K);let j=null;S.value&&(n.value===qe.Strict?j=((M=S.value.handleBounds[R==="source"?"target":"source"])==null?void 0:M.find(D=>{var V;return D.id===((V=i.value)==null?void 0:V.id)}))||null:j=((y=[...S.value.handleBounds.source||[],...S.value.handleBounds.target||[]])==null?void 0:y.find(D=>{var V;return D.id===((V=i.value)==null?void 0:V.id)}))||null);const m=(H=(C=i.value)==null?void 0:C.position)!=null?H:K?jn[K]:null;if(!K||!m)return null;const k=(G=(z=s.value)!=null?z:l.value.type)!=null?G:et.Bezier;let b="";const T={sourceX:$,sourceY:_,sourcePosition:K,targetX:w.value.x,targetY:w.value.y,targetPosition:m};return k===et.Bezier?[b]=mr(T):k===et.Step?[b]=to(ce(A({},T),{borderRadius:0})):k===et.SmoothStep?[b]=to(T):k===et.SimpleBezier?[b]=yr(T):b=`M${$},${_} ${w.value.x},${w.value.y}`,me("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},me("g",{class:"vue-flow__connection"},p?me(p,{sourceX:$,sourceY:_,sourcePosition:K,targetX:w.value.x,targetY:w.value.y,targetPosition:m,sourceNode:g.value,sourceHandle:q,targetNode:S.value,targetHandle:j,markerEnd:N.value,markerStart:x.value,connectionStatus:u.value}):me("path",{d:b,class:[l.value.class,u,"vue-flow__connection-path"],style:A(A({},a.value),l.value.style),"marker-end":N.value,"marker-start":x.value})))}}}),md=pd,yd=["id","markerWidth","markerHeight","markerUnits","orient"],_d={name:"MarkerType",compatConfig:{MODE:3}},wd=xe(ce(A({},_d),{props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(t,n)=>(fe(),_e("marker",{id:t.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${t.width}`,markerHeight:`${t.height}`,markerUnits:t.markerUnits,orient:t.orient},[t.type===ee(qn).ArrowClosed?(fe(),_e("polyline",{key:0,style:Ye({stroke:t.color,fill:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):De("",!0),t.type===ee(qn).Arrow?(fe(),_e("polyline",{key:1,style:Ye({stroke:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):De("",!0)],8,yd))}})),bd={class:"vue-flow__marker vue-flow__container"},xd={name:"MarkerDefinitions",compatConfig:{MODE:3}},Ed=xe(ce(A({},xd),{setup(e){const{id:t,edges:n,connectionLineOptions:o,defaultMarkerColor:i}=we(),r=se(()=>{const s=new Set,a=[],l=u=>{if(u){const c=Bt(u,t);s.has(c)||(typeof u=="object"?a.push(ce(A({},u),{id:c,color:u.color||i.value})):a.push({id:c,color:i.value,type:u}),s.add(c))}};for(const u of[o.value.markerEnd,o.value.markerStart])l(u);for(const u of n.value)for(const c of[u.markerStart,u.markerEnd])l(c);return a.sort((u,c)=>u.id.localeCompare(c.id))});return(s,a)=>(fe(),_e("svg",bd,[rt("defs",null,[(fe(!0),_e(Ae,null,no(r.value,l=>(fe(),st(wd,{id:l.id,key:l.id,type:l.type,color:l.color,width:l.width,height:l.height,markerUnits:l.markerUnits,"stroke-width":l.strokeWidth,orient:l.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}})),Sd={name:"Edges",compatConfig:{MODE:3}},Nd=xe(ce(A({},Sd),{setup(e){const{findNode:t,getEdges:n,elevateEdgesOnSelect:o}=we();return(i,r)=>(fe(),_e(Ae,null,[Re(Ed),(fe(!0),_e(Ae,null,no(ee(n),s=>(fe(),_e("svg",{key:s.id,class:"vue-flow__edges vue-flow__container",style:Ye({zIndex:ee(Xu)(s,ee(t),ee(o))})},[Re(ee(vd),{id:s.id},null,8,["id"])],4))),128)),Re(ee(md))],64))}})),Cd=xe({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:t,noPanClassName:n,selectNodesOnDrag:o,nodesSelectionActive:i,multiSelectionActive:r,emits:s,removeSelectedNodes:a,addSelectedNodes:l,updateNodeDimensions:u,onUpdateNodeInternals:c,getNodeTypes:d,nodeExtent:p,elevateNodesOnSelect:g,disableKeyboardA11y:S,ariaLiveMessage:w,snapToGrid:x,snapGrid:N,nodeDragThreshold:M,nodesDraggable:y,elementsSelectable:C,nodesConnectable:B,nodesFocusable:R,hooks:X}=we(),F=pe(null);mt(lr,F),mt(ar,e.id);const q=xt(bn),K=Vt(),$=hr(),{node:_,parentNode:j}=fr(e.id),{emit:m,on:k}=cc(_,s),b=ye(()=>typeof _.draggable=="undefined"?y.value:_.draggable),T=ye(()=>typeof _.selectable=="undefined"?C.value:_.selectable),O=ye(()=>typeof _.connectable=="undefined"?B.value:_.connectable),H=ye(()=>typeof _.focusable=="undefined"?R.value:_.focusable),z=ye(()=>T.value||b.value||X.value.nodeClick.hasListeners()||X.value.nodeDoubleClick.hasListeners()||X.value.nodeMouseEnter.hasListeners()||X.value.nodeMouseMove.hasListeners()||X.value.nodeMouseLeave.hasListeners()),G=ye(()=>!!_.dimensions.width&&!!_.dimensions.height),D=se(()=>{const v=_.type||"default",E=q==null?void 0:q[`node-${v}`];if(E)return E;let P=_.template||d.value[v];if(typeof P=="string"&&K){const U=Object.keys(K.appContext.components);U&&U.includes(v)&&(P=hi(v,!1))}return P&&typeof P!="string"?P:(s.error(new Ne(Se.NODE_TYPE_MISSING,P)),!1)}),V=ur({id:e.id,el:F,disabled:()=>!b.value,selectable:T,dragHandle:()=>_.dragHandle,onStart(v){m.dragStart(v)},onDrag(v){m.drag(v)},onStop(v){m.dragStop(v)},onClick(v){h(v)}}),Y=se(()=>_.class instanceof Function?_.class(_):_.class),ne=se(()=>{const v=(_.style instanceof Function?_.style(_):_.style)||{},E=_.width instanceof Function?_.width(_):_.width,P=_.height instanceof Function?_.height(_):_.height;return!v.width&&E&&(v.width=typeof E=="string"?E:`${E}px`),!v.height&&P&&(v.height=typeof P=="string"?P:`${P}px`),v}),de=ye(()=>{var v,E;return Number((E=(v=_.zIndex)!=null?v:ne.value.zIndex)!=null?E:0)});return c(v=>{(v.includes(e.id)||!v.length)&&ge()}),Qe(()=>{ve(()=>_.hidden,(v=!1,E,P)=>{!v&&F.value&&(e.resizeObserver.observe(F.value),P(()=>{F.value&&e.resizeObserver.unobserve(F.value)}))},{immediate:!0,flush:"post"})}),ve([()=>_.type,()=>_.sourcePosition,()=>_.targetPosition],()=>{Le(()=>{u([{id:e.id,nodeElement:F.value,forceUpdate:!0}])})}),ve([()=>_.position.x,()=>_.position.y,()=>{var v;return(v=j.value)==null?void 0:v.computedPosition.x},()=>{var v;return(v=j.value)==null?void 0:v.computedPosition.y},()=>{var v;return(v=j.value)==null?void 0:v.computedPosition.z},de,()=>_.selected,()=>_.dimensions.height,()=>_.dimensions.width,()=>{var v;return(v=j.value)==null?void 0:v.dimensions.height},()=>{var v;return(v=j.value)==null?void 0:v.dimensions.width}],([v,E,P,U,I,Z])=>{const J={x:v,y:E,z:Z+(g.value&&_.selected?1e3:0)};typeof P!="undefined"&&typeof U!="undefined"?_.computedPosition=Ru({x:P,y:U,z:I},J):_.computedPosition=J},{flush:"post",immediate:!0}),ve([()=>_.extent,p],([v,E],[P,U])=>{(v!==P||E!==U)&&le()}),_.extent==="parent"||typeof _.extent=="object"&&"range"in _.extent&&_.extent.range==="parent"?Ln(()=>G).toBe(!0).then(le):le(),()=>{var v,E;return _.hidden?null:me("div",{ref:F,"data-id":_.id,class:["vue-flow__node",`vue-flow__node-${D.value===!1?"default":_.type||"default"}`,{[n.value]:b.value,dragging:V==null?void 0:V.value,draggable:b.value,selected:_.selected,selectable:T.value,parent:_.isParent},Y.value],style:A({visibility:G.value?"visible":"hidden",zIndex:(v=_.computedPosition.z)!=null?v:de.value,transform:`translate(${_.computedPosition.x}px,${_.computedPosition.y}px)`,pointerEvents:z.value?"all":"none"},ne.value),tabIndex:H.value?0:void 0,role:H.value?"button":void 0,"aria-describedby":S.value?void 0:`${Gi}-${t}`,"aria-label":_.ariaLabel,onMouseenter:ae,onMousemove:he,onMouseleave:Q,onContextmenu:ie,onClick:h,onDblclick:re,onKeydown:f},[me(D.value===!1?d.value.default:D.value,{id:_.id,type:_.type,data:_.data,events:A(A({},_.events),k),selected:_.selected,resizing:_.resizing,dragging:V.value,connectable:O.value,position:_.computedPosition,dimensions:_.dimensions,isValidTargetPos:_.isValidTargetPos,isValidSourcePos:_.isValidSourcePos,parent:_.parentNode,parentNodeId:_.parentNode,zIndex:(E=_.computedPosition.z)!=null?E:de.value,targetPosition:_.targetPosition,sourcePosition:_.sourcePosition,label:_.label,dragHandle:_.dragHandle,onUpdateNodeInternals:ge})])};function le(){const v=_.computedPosition,{computedPosition:E,position:P}=fo(_,x.value?wn(v,N.value):v,s.error,p.value,j.value);(_.computedPosition.x!==E.x||_.computedPosition.y!==E.y)&&(_.computedPosition=A(A({},_.computedPosition),E)),(_.position.x!==P.x||_.position.y!==P.y)&&(_.position=P)}function ge(){F.value&&u([{id:e.id,nodeElement:F.value,forceUpdate:!0}])}function ae(v){V!=null&&V.value||m.mouseEnter({event:v,node:_})}function he(v){V!=null&&V.value||m.mouseMove({event:v,node:_})}function Q(v){V!=null&&V.value||m.mouseLeave({event:v,node:_})}function ie(v){return m.contextMenu({event:v,node:_})}function re(v){return m.doubleClick({event:v,node:_})}function h(v){T.value&&(!o.value||!b.value||M.value>0)&&eo(_,r.value,l,a,i,!1,F.value),m.click({event:v,node:_})}function f(v){if(!(Jn(v)||S.value))if(Ui.includes(v.key)&&T.value){const E=v.key==="Escape";eo(_,r.value,l,a,i,E,F.value)}else b.value&&_.selected&&vt[v.key]&&(v.preventDefault(),w.value=`Moved selected node ${v.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~_.position.x}, y: ${~~_.position.y}`,$({x:vt[v.key].x,y:vt[v.key].y},v.shiftKey))}}}),Md=Cd,Id={height:"0",width:"0"},kd={name:"EdgeLabelRenderer",compatConfig:{MODE:3}},Hd=xe(ce(A({},kd),{setup(e){const{viewportRef:t}=we(),n=ye(()=>{var o;return(o=t.value)==null?void 0:o.getElementsByClassName("vue-flow__edge-labels")[0]});return(o,i)=>(fe(),_e("svg",null,[(fe(),_e("foreignObject",Id,[(fe(),st(Mr,{to:n.value,disabled:!n.value},[Fe(o.$slots,"default")],8,["to","disabled"]))]))]))}}));function Pd(e={includeHiddenNodes:!1}){const{nodes:t}=we();return se(()=>{if(t.value.length===0)return!1;for(const n of t.value)if((e.includeHiddenNodes||!n.hidden)&&((n==null?void 0:n.handleBounds)===void 0||n.dimensions.width===0||n.dimensions.height===0))return!1;return!0})}const Td={class:"vue-flow__nodes vue-flow__container"},$d={name:"Nodes",compatConfig:{MODE:3}},Dd=xe(ce(A({},$d),{setup(e){const{getNodes:t,updateNodeDimensions:n,emits:o}=we(),i=Pd(),r=pe();return ve(i,s=>{s&&Le(()=>{o.nodesInitialized(t.value)})},{immediate:!0}),Qe(()=>{r.value=new ResizeObserver(s=>{const a=s.map(l=>({id:l.target.getAttribute("data-id"),nodeElement:l.target,forceUpdate:!0}));Le(()=>n(a))})}),fi(()=>{var s;return(s=r.value)==null?void 0:s.disconnect()}),(s,a)=>(fe(),_e("div",Td,[r.value?(fe(!0),_e(Ae,{key:0},no(ee(t),(l,u,c,d)=>{const p=[l.id];if(d&&d.key===l.id&&Ar(d,p))return d;const g=(fe(),st(ee(Md),{id:l.id,key:l.id,"resize-observer":r.value},null,8,["id","resize-observer"]));return g.memo=p,g},a,0),128)):De("",!0)]))}}));function Ad(){const{emits:e}=we();Qe(()=>{if(sr()){const t=document.querySelector(".vue-flow__pane");t&&window.getComputedStyle(t).zIndex!=="1"&&e.error(new Ne(Se.MISSING_STYLES))}})}const Od=rt("div",{class:"vue-flow__edge-labels"},null,-1),zd={name:"VueFlow",compatConfig:{MODE:3}},Ld=xe(ce(A({},zd),{props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:t,emit:n}){const o=e,i=kr(),r=Cn(o,"modelValue",n),s=Cn(o,"nodes",n),a=Cn(o,"edges",n),l=we(o),u=hc({modelValue:r,nodes:s,edges:a},o,l);return vc(n,l.hooks),dd(),Ad(),mt(bn,i),di(()=>{u()}),t(l),(c,d)=>(fe(),_e("div",{ref:ee(l).vueFlowRef,class:"vue-flow"},[Re(rd,null,{default:Vn(()=>[Re(Nd),Od,Re(Dd),Fe(c.$slots,"zoom-pane")]),_:3}),Fe(c.$slots,"default"),Re(cd)],512))}})),Bd={name:"Panel",compatConfig:{MODE:3}},Fd=xe(ce(A({},Bd),{props:{position:{}},setup(e){const t=e,{userSelectionActive:n}=we(),o=se(()=>`${t.position}`.split("-"));return(i,r)=>(fe(),_e("div",{class:pt(["vue-flow__panel",o.value]),style:Ye({pointerEvents:ee(n)?"none":"all"})},[Fe(i.$slots,"default")],6))}}));function Yd(e){const{type:t,id:n,nodeId:o,onConnect:i,onDisconnect:r}=e,{connectionLookup:s}=we(),a=dr(),l=ye(()=>{var g;return(g=ue(o))!=null?g:a}),u=ye(()=>ue(t)),c=ye(()=>{var g;return(g=ue(n))!=null?g:null}),d=pe(null),p=pe();return ve(()=>s.value.get(`${l.value}-${u.value}-${c.value}`),g=>{oc(p.value,g)||(p.value=g)},{immediate:!0}),ve([p,()=>typeof i!="undefined",()=>typeof r!="undefined"],([g=new Map])=>{d.value&&d.value!==g&&(ei(d.value,g,r),ei(g,d.value,i)),d.value=g},{immediate:!0}),se(()=>p.value?Array.from(p.value.values()):[])}function Gd(e){const{findNode:t}=we();return se({get(){const n=ue(e);if(!Array.isArray(n)){const i=t(n);return i?{id:i.id,type:i.type,data:i.data}:null}const o=[];for(const i of n){const r=t(i);r&&o.push({id:r.id,type:r.type,data:r.data})}return o},set(){Lt("You are trying to set node data via useNodesData. This is not supported.")}})}export{W as P,Fd as _,Ld as a,Yd as b,hn as c,Gd as d,Nn as e,Hd as f,to as g,we as u};