relaybrain 0.0.0-stage → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +434 -3
- package/backend/coordinator/client.js +364 -0
- package/backend/coordinator/lockTable.js +649 -0
- package/backend/coordinator/server.js +179 -0
- package/backend/lib/centralAuth.js +62 -0
- package/backend/lib/centralStore.js +112 -0
- package/backend/lib/centralSync.js +88 -0
- package/backend/lib/cloneRepo.js +108 -0
- package/backend/lib/collisionMetrics.js +231 -0
- package/backend/lib/conflicts.js +35 -0
- package/backend/lib/dashboard.js +53 -0
- package/backend/lib/depGraph.js +393 -0
- package/backend/lib/deps.js +46 -0
- package/backend/lib/dirtyFiles.js +33 -0
- package/backend/lib/editMatchers.js +55 -0
- package/backend/lib/falkor/analytics.js +228 -0
- package/backend/lib/falkor/bus.js +16 -0
- package/backend/lib/falkor/central.js +281 -0
- package/backend/lib/falkor/client.js +165 -0
- package/backend/lib/falkor/config.js +73 -0
- package/backend/lib/falkor/coord.js +299 -0
- package/backend/lib/falkor/cursor.js +58 -0
- package/backend/lib/falkor/demo.js +221 -0
- package/backend/lib/falkor/fixtures.js +85 -0
- package/backend/lib/falkor/index.js +146 -0
- package/backend/lib/falkor/ingest.js +233 -0
- package/backend/lib/falkor/intents.js +32 -0
- package/backend/lib/falkor/keys.js +102 -0
- package/backend/lib/falkor/migrations.js +56 -0
- package/backend/lib/falkor/project.js +307 -0
- package/backend/lib/falkor/query.js +344 -0
- package/backend/lib/falkor/redact.js +30 -0
- package/backend/lib/falkor/routes.js +125 -0
- package/backend/lib/falkor/schema.js +108 -0
- package/backend/lib/falkor/write.js +281 -0
- package/backend/lib/githubLogin.js +108 -0
- package/backend/lib/githubOAuth.js +42 -0
- package/backend/lib/githubRepo.js +117 -0
- package/backend/lib/harvest.js +85 -0
- package/backend/lib/httpServer.js +27 -0
- package/backend/lib/installAgentRelay.js +235 -0
- package/backend/lib/installHooks.js +309 -0
- package/backend/lib/lamport.js +14 -0
- package/backend/lib/localBrowse.js +109 -0
- package/backend/lib/memorySync.js +63 -0
- package/backend/lib/notices.js +150 -0
- package/backend/lib/ot.js +74 -0
- package/backend/lib/patches.js +192 -0
- package/backend/lib/paths.js +85 -0
- package/backend/lib/peerClash.js +64 -0
- package/backend/lib/presence.js +35 -0
- package/backend/lib/relayOsBlock.js +84 -0
- package/backend/lib/repoSnapshot.js +125 -0
- package/backend/lib/room.js +638 -0
- package/backend/lib/roomAsk.js +148 -0
- package/backend/lib/roomAuth.js +215 -0
- package/backend/lib/roomControl.js +226 -0
- package/backend/lib/roomLocks.js +201 -0
- package/backend/lib/roomSignal.js +265 -0
- package/backend/lib/roomSync.js +194 -0
- package/backend/lib/seed.js +107 -0
- package/backend/lib/sseHub.js +40 -0
- package/backend/lib/store.js +79 -0
- package/backend/lib/supergraph.js +46 -0
- package/backend/lib/transcripts/discover.js +437 -0
- package/backend/lib/transcripts/parse.js +558 -0
- package/backend/lib/transcripts/sessionId.js +36 -0
- package/backend/lib/transcripts/sync.js +291 -0
- package/backend/lib/transcripts/util.js +299 -0
- package/backend/lib/treeSitterImports.js +219 -0
- package/backend/lib/watchWorkspace.js +42 -0
- package/backend/mcp/README.md +193 -0
- package/backend/mcp/server.js +42 -0
- package/backend/mcp/tools.js +484 -0
- package/backend/server.js +3894 -0
- package/cli/graph.js +286 -0
- package/cli/relay.js +475 -0
- package/docker-compose.falkor.yml +17 -0
- package/docs/MEMORY-GRAPH.md +314 -0
- package/hooks/relay-antigravity-post-tool.js +2 -0
- package/hooks/relay-antigravity-pre-read.js +2 -0
- package/hooks/relay-antigravity-pre-tool.js +2 -0
- package/hooks/relay-antigravity-stop.js +2 -0
- package/hooks/relay-claude-post-tool.js +2 -0
- package/hooks/relay-claude-pre-read.js +2 -0
- package/hooks/relay-claude-pre-tool.js +2 -0
- package/hooks/relay-claude-stop.js +2 -0
- package/hooks/relay-codex-post-tool.js +2 -0
- package/hooks/relay-codex-pre-read.js +2 -0
- package/hooks/relay-codex-pre-tool.js +2 -0
- package/hooks/relay-codex-stop.js +2 -0
- package/hooks/relay-copilot-post-tool.js +2 -0
- package/hooks/relay-copilot-pre-read.js +2 -0
- package/hooks/relay-copilot-pre-tool.js +2 -0
- package/hooks/relay-copilot-stop.js +2 -0
- package/hooks/relay-cursor-post-tool.js +2 -0
- package/hooks/relay-cursor-pre-read.js +2 -0
- package/hooks/relay-cursor-pre-tool.js +2 -0
- package/hooks/relay-cursor-stop.js +2 -0
- package/hooks/relay-hook-lib.js +621 -0
- package/mission-control/out/404.html +1 -0
- package/mission-control/out/__next.__PAGE__.txt +26 -0
- package/mission-control/out/__next._full.txt +21 -0
- package/mission-control/out/__next._tree.txt +4 -0
- package/mission-control/out/_next/static/BuhfCxd0WQE65yIzZJCOM/_buildManifest.js +11 -0
- package/mission-control/out/_next/static/BuhfCxd0WQE65yIzZJCOM/_clientMiddlewareManifest.js +1 -0
- package/mission-control/out/_next/static/BuhfCxd0WQE65yIzZJCOM/_ssgManifest.js +1 -0
- package/mission-control/out/_next/static/chunks/0-3l04fnym95-.js +22 -0
- package/mission-control/out/_next/static/chunks/064ntycm-fx5v.js +1 -0
- package/mission-control/out/_next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/mission-control/out/_next/static/chunks/0ehjiuuxbbhq9.js +1 -0
- package/mission-control/out/_next/static/chunks/1-dy52ls2ntb_.css +4 -0
- package/mission-control/out/_next/static/chunks/1q0cmt0kqufow.js +2 -0
- package/mission-control/out/_next/static/chunks/1ya1u0izct4f6.js +1 -0
- package/mission-control/out/_next/static/chunks/2n66mlnb34vjq.js +1 -0
- package/mission-control/out/_next/static/chunks/2xar70jzx8f1y.css +1 -0
- package/mission-control/out/_next/static/chunks/31cgqj_-l15yt.js +31 -0
- package/mission-control/out/_next/static/chunks/31qgr-p-oulpb.js +1 -0
- package/mission-control/out/_next/static/chunks/3vq9c4hivvgn_.js +1 -0
- package/mission-control/out/_next/static/chunks/turbopack-3hsllzpnzz12p.js +1 -0
- package/mission-control/out/_next/static/media/icon.27otmh_fv3buh.svg +4 -0
- package/mission-control/out/_not-found/__next._full.txt +18 -0
- package/mission-control/out/_not-found/__next._not-found/__PAGE__.txt +24 -0
- package/mission-control/out/_not-found/__next._tree.txt +3 -0
- package/mission-control/out/_not-found.html +1 -0
- package/mission-control/out/_not-found.txt +18 -0
- package/mission-control/out/agents/antigravity.png +0 -0
- package/mission-control/out/agents/claude.png +0 -0
- package/mission-control/out/agents/codex.png +0 -0
- package/mission-control/out/agents/copilot.png +0 -0
- package/mission-control/out/agents/cursor.png +0 -0
- package/mission-control/out/icon.svg +4 -0
- package/mission-control/out/index.html +1 -0
- package/mission-control/out/index.txt +21 -0
- package/mission-control/out/logo.png +0 -0
- package/mission-control/out/logo_transparent.png +0 -0
- package/package.json +76 -6
- package/scripts/falkor-rebuild.js +38 -0
- package/scripts/falkor-seed-demo.js +29 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,54548,30590,e=>{"use strict";var t,n,o,r,i,a,l,s,u,c,d,f,h,p,g,m,y,v=e.i(18050),x=e.i(71645);function w(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n=0,o;n<e.length;n++)""!==(o=w(e[n]))&&(t+=(t&&" ")+o);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var b={value:()=>{}};function _(){for(var e,t=0,n=arguments.length,o={};t<n;++t){if(!(e=arguments[t]+"")||e in o||/[\s.]/.test(e))throw Error("illegal type: "+e);o[e]=[]}return new S(o)}function S(e){this._=e}function E(e,t,n){for(var o=0,r=e.length;o<r;++o)if(e[o].name===t){e[o]=b,e=e.slice(0,o).concat(e.slice(o+1));break}return null!=n&&e.push({name:t,value:n}),e}function M(){}function C(e){return null==e?M:function(){return this.querySelector(e)}}function k(){return[]}function N(e){return null==e?k:function(){return this.querySelectorAll(e)}}function P(e){return function(){return this.matches(e)}}function A(e){return function(t){return t.matches(e)}}S.prototype=_.prototype={constructor:S,on:function(e,t){var n,o=this._,r=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");if(n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!o.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),i=-1,a=r.length;if(arguments.length<2){for(;++i<a;)if((n=(e=r[i]).type)&&(n=function(e,t){for(var n,o=0,r=e.length;o<r;++o)if((n=e[o]).name===t)return n.value}(o[n],e.name)))return n;return}if(null!=t&&"function"!=typeof t)throw Error("invalid callback: "+t);for(;++i<a;)if(n=(e=r[i]).type)o[n]=E(o[n],e.name,t);else if(null==t)for(n in o)o[n]=E(o[n],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new S(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,o,r=Array(n),i=0;i<n;++i)r[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(o=this._[e],i=0,n=o.length;i<n;++i)o[i].value.apply(t,r)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(var o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)}};var $=Array.prototype.find;function z(){return this.firstElementChild}var I=Array.prototype.filter;function R(){return Array.from(this.children)}function D(e){return Array(e.length)}function j(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function O(e,t,n,o,r,i){for(var a,l=0,s=t.length,u=i.length;l<u;++l)(a=t[l])?(a.__data__=i[l],o[l]=a):n[l]=new j(e,i[l]);for(;l<s;++l)(a=t[l])&&(r[l]=a)}function L(e,t,n,o,r,i,a){var l,s,u,c=new Map,d=t.length,f=i.length,h=Array(d);for(l=0;l<d;++l)(s=t[l])&&(h[l]=u=a.call(s,s.__data__,l,t)+"",c.has(u)?r[l]=s:c.set(u,s));for(l=0;l<f;++l)u=a.call(e,i[l],l,i)+"",(s=c.get(u))?(o[l]=s,s.__data__=i[l],c.delete(u)):n[l]=new j(e,i[l]);for(l=0;l<d;++l)(s=t[l])&&c.get(h[l])===s&&(r[l]=s)}function B(e){return e.__data__}function T(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}j.prototype={constructor:j,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var H="http://www.w3.org/1999/xhtml";let V={svg:"http://www.w3.org/2000/svg",xhtml:H,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function X(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),V.hasOwnProperty(t)?{space:V[t],local:e}:e}function F(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Y(e,t){return e.style.getPropertyValue(t)||F(e).getComputedStyle(e,null).getPropertyValue(t)}function Z(e){return e.trim().split(/^|\s+/)}function K(e){return e.classList||new W(e)}function W(e){this._node=e,this._names=Z(e.getAttribute("class")||"")}function q(e,t){for(var n=K(e),o=-1,r=t.length;++o<r;)n.add(t[o])}function U(e,t){for(var n=K(e),o=-1,r=t.length;++o<r;)n.remove(t[o])}function G(){this.textContent=""}function Q(){this.innerHTML=""}function J(){this.nextSibling&&this.parentNode.appendChild(this)}function ee(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function et(e){var t=X(e);return(t.local?function(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}:function(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===H&&t.documentElement.namespaceURI===H?t.createElement(e):t.createElementNS(n,e)}})(t)}function en(){return null}function eo(){var e=this.parentNode;e&&e.removeChild(this)}function er(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ei(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ea(e){return function(){var t=this.__on;if(t){for(var n,o=0,r=-1,i=t.length;o<i;++o)(n=t[o],e.type&&n.type!==e.type||n.name!==e.name)?t[++r]=n:this.removeEventListener(n.type,n.listener,n.options);++r?t.length=r:delete this.__on}}}function el(e,t,n){return function(){var o,r=this.__on,i=function(e){t.call(this,e,this.__data__)};if(r){for(var a=0,l=r.length;a<l;++a)if((o=r[a]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),o.value=t;return}}this.addEventListener(e.type,i,n),o={type:e.type,name:e.name,value:t,listener:i,options:n},r?r.push(o):this.__on=[o]}}function es(e,t,n){var o=F(e),r=o.CustomEvent;"function"==typeof r?r=new r(t,n):(r=o.document.createEvent("Event"),n?(r.initEvent(t,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(t,!1,!1)),e.dispatchEvent(r)}W.prototype={add:function(e){0>this._names.indexOf(e)&&(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}};var eu=[null];function ec(e,t){this._groups=e,this._parents=t}function ed(){return new ec([[document.documentElement]],eu)}function ef(e){return"string"==typeof e?new ec([[document.querySelector(e)]],[document.documentElement]):new ec([[e]],eu)}function eh(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,[(o=o.matrixTransform(t.getScreenCTM().inverse())).x,o.y]}if(t.getBoundingClientRect){var r=t.getBoundingClientRect();return[e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop]}}return[e.pageX,e.pageY]}ec.prototype=ed.prototype={constructor:ec,select:function(e){"function"!=typeof e&&(e=C(e));for(var t=this._groups,n=t.length,o=Array(n),r=0;r<n;++r)for(var i,a,l=t[r],s=l.length,u=o[r]=Array(s),c=0;c<s;++c)(i=l[c])&&(a=e.call(i,i.__data__,c,l))&&("__data__"in i&&(a.__data__=i.__data__),u[c]=a);return new ec(o,this._parents)},selectAll:function(e){if("function"==typeof e){var t;t=e,e=function(){var e;return e=t.apply(this,arguments),null==e?[]:Array.isArray(e)?e:Array.from(e)}}else e=N(e);for(var n=this._groups,o=n.length,r=[],i=[],a=0;a<o;++a)for(var l,s=n[a],u=s.length,c=0;c<u;++c)(l=s[c])&&(r.push(e.call(l,l.__data__,c,s)),i.push(l));return new ec(r,i)},selectChild:function(e){var t;return this.select(null==e?z:(t="function"==typeof e?e:A(e),function(){return $.call(this.children,t)}))},selectChildren:function(e){var t;return this.selectAll(null==e?R:(t="function"==typeof e?e:A(e),function(){return I.call(this.children,t)}))},filter:function(e){"function"!=typeof e&&(e=P(e));for(var t=this._groups,n=t.length,o=Array(n),r=0;r<n;++r)for(var i,a=t[r],l=a.length,s=o[r]=[],u=0;u<l;++u)(i=a[u])&&e.call(i,i.__data__,u,a)&&s.push(i);return new ec(o,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,B);var n=t?L:O,o=this._parents,r=this._groups;"function"!=typeof e&&(v=e,e=function(){return v});for(var i=r.length,a=Array(i),l=Array(i),s=Array(i),u=0;u<i;++u){var c=o[u],d=r[u],f=d.length,h="object"==typeof(y=e.call(c,c&&c.__data__,u,o))&&"length"in y?y:Array.from(y),p=h.length,g=l[u]=Array(p),m=a[u]=Array(p);n(c,d,g,m,s[u]=Array(f),h,t);for(var y,v,x,w,b=0,_=0;b<p;++b)if(x=g[b]){for(b>=_&&(_=b+1);!(w=m[_])&&++_<p;);x._next=w||null}}return(a=new ec(a,o))._enter=l,a._exit=s,a},enter:function(){return new ec(this._enter||this._groups.map(D),this._parents)},exit:function(){return new ec(this._exit||this._groups.map(D),this._parents)},join:function(e,t,n){var o=this.enter(),r=this,i=this.exit();return"function"==typeof e?(o=e(o))&&(o=o.selection()):o=o.append(e+""),null!=t&&(r=t(r))&&(r=r.selection()),null==n?i.remove():n(i),o&&r?o.merge(r).order():r},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,r=n.length,i=o.length,a=Math.min(r,i),l=Array(r),s=0;s<a;++s)for(var u,c=n[s],d=o[s],f=c.length,h=l[s]=Array(f),p=0;p<f;++p)(u=c[p]||d[p])&&(h[p]=u);for(;s<r;++s)l[s]=n[s];return new ec(l,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o,r=e[t],i=r.length-1,a=r[i];--i>=0;)(o=r[i])&&(a&&4^o.compareDocumentPosition(a)&&a.parentNode.insertBefore(o,a),a=o);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=T);for(var n=this._groups,o=n.length,r=Array(o),i=0;i<o;++i){for(var a,l=n[i],s=l.length,u=r[i]=Array(s),c=0;c<s;++c)(a=l[c])&&(u[c]=a);u.sort(t)}return new ec(r,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],r=0,i=o.length;r<i;++r){var a=o[r];if(a)return a}return null},size:function(){let e=0;for(let t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var r,i=t[n],a=0,l=i.length;a<l;++a)(r=i[a])&&e.call(r,r.__data__,a,i);return this},attr:function(e,t){var n=X(e);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((null==t?n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}}:"function"==typeof t?n.local?function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}:function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}:n.local?function(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}:function(e,t){return function(){this.setAttribute(e,t)}})(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?function(e){return function(){this.style.removeProperty(e)}}:"function"==typeof t?function(e,t,n){return function(){var o=t.apply(this,arguments);null==o?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}:function(e,t,n){return function(){this.style.setProperty(e,t,n)}})(e,t,null==n?"":n)):Y(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?function(e){return function(){delete this[e]}}:"function"==typeof t?function(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}:function(e,t){return function(){this[e]=t}})(e,t)):this.node()[e]},classed:function(e,t){var n=Z(e+"");if(arguments.length<2){for(var o=K(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each(("function"==typeof t?function(e,t){return function(){(t.apply(this,arguments)?q:U)(this,e)}}:t?function(e){return function(){q(this,e)}}:function(e){return function(){U(this,e)}})(n,t))},text:function(e){return arguments.length?this.each(null==e?G:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}:function(e){return function(){this.textContent=e}})(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Q:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}:function(e){return function(){this.innerHTML=e}})(e)):this.node().innerHTML},raise:function(){return this.each(J)},lower:function(){return this.each(ee)},append:function(e){var t="function"==typeof e?e:et(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:et(e),o=null==t?en:"function"==typeof t?t:C(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})},remove:function(){return this.each(eo)},clone:function(e){return this.select(e?ei:er)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var o,r,i=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}),a=i.length;if(arguments.length<2){var l=this.node().__on;if(l){for(var s,u=0,c=l.length;u<c;++u)for(o=0,s=l[u];o<a;++o)if((r=i[o]).type===s.type&&r.name===s.name)return s.value}return}for(l=t?el:ea,o=0;o<a;++o)this.each(l(i[o],t,n));return this},dispatch:function(e,t){return this.each(("function"==typeof t?function(e,t){return function(){return es(this,e,t.apply(this,arguments))}}:function(e,t){return function(){return es(this,e,t)}})(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o,r=e[t],i=0,a=r.length;i<a;++i)(o=r[i])&&(yield o)}};let ep={passive:!1},eg={capture:!0,passive:!1};function em(e){e.stopImmediatePropagation()}function ey(e){e.preventDefault(),e.stopImmediatePropagation()}function ev(e){var t=e.document.documentElement,n=ef(e).on("dragstart.drag",ey,eg);"onselectstart"in t?n.on("selectstart.drag",ey,eg):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function ex(e,t){var n=e.document.documentElement,o=ef(e).on("dragstart.drag",null);t&&(o.on("click.drag",ey,eg),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}let ew=e=>()=>e;function eb(e,{sourceEvent:t,subject:n,target:o,identifier:r,active:i,x:a,y:l,dx:s,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:r,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}function e_(e){return!e.ctrlKey&&!e.button}function eS(){return this.parentNode}function eE(e,t){return null==t?{x:e.x,y:e.y}:t}function eM(){return navigator.maxTouchPoints||"ontouchstart"in this}function eC(){var e,t,n,o,r=e_,i=eS,a=eE,l=eM,s={},u=_("start","drag","end"),c=0,d=0;function f(e){e.on("mousedown.drag",h).filter(l).on("touchstart.drag",m).on("touchmove.drag",y,ep).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(a,l){if(!o&&r.call(this,a,l)){var s=x(this,i.call(this,a,l),a,l,"mouse");s&&(ef(a.view).on("mousemove.drag",p,eg).on("mouseup.drag",g,eg),ev(a.view),em(a),n=!1,e=a.clientX,t=a.clientY,s("start",a))}}function p(o){if(ey(o),!n){var r=o.clientX-e,i=o.clientY-t;n=r*r+i*i>d}s.mouse("drag",o)}function g(e){ef(e.view).on("mousemove.drag mouseup.drag",null),ex(e.view,n),ey(e),s.mouse("end",e)}function m(e,t){if(r.call(this,e,t)){var n,o,a=e.changedTouches,l=i.call(this,e,t),s=a.length;for(n=0;n<s;++n)(o=x(this,l,e,t,a[n].identifier,a[n]))&&(em(e),o("start",e,a[n]))}}function y(e){var t,n,o=e.changedTouches,r=o.length;for(t=0;t<r;++t)(n=s[o[t].identifier])&&(ey(e),n("drag",e,o[t]))}function v(e){var t,n,r=e.changedTouches,i=r.length;for(o&&clearTimeout(o),o=setTimeout(function(){o=null},500),t=0;t<i;++t)(n=s[r[t].identifier])&&(em(e),n("end",e,r[t]))}function x(e,t,n,o,r,i){var l,d,h,p=u.copy(),g=eh(i||n,t);if(null!=(h=a.call(e,new eb("beforestart",{sourceEvent:n,target:f,identifier:r,active:c,x:g[0],y:g[1],dx:0,dy:0,dispatch:p}),o)))return l=h.x-g[0]||0,d=h.y-g[1]||0,function n(i,a,u){var m,y=g;switch(i){case"start":s[r]=n,m=c++;break;case"end":delete s[r],--c;case"drag":g=eh(u||a,t),m=c}p.call(i,e,new eb(i,{sourceEvent:a,subject:h,target:f,identifier:r,active:m,x:g[0]+l,y:g[1]+d,dx:g[0]-y[0],dy:g[1]-y[1],dispatch:p}),o)}}return f.filter=function(e){return arguments.length?(r="function"==typeof e?e:ew(!!e),f):r},f.container=function(e){return arguments.length?(i="function"==typeof e?e:ew(e),f):i},f.subject=function(e){return arguments.length?(a="function"==typeof e?e:ew(e),f):a},f.touchable=function(e){return arguments.length?(l="function"==typeof e?e:ew(!!e),f):l},f.on=function(){var e=u.on.apply(u,arguments);return e===u?f:e},f.clickDistance=function(e){return arguments.length?(d=(e*=1)*e,f):Math.sqrt(d)},f}function ek(e){return((e=Math.exp(e))+1/e)/2}eb.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};let eN=function e(t,n,o){function r(e,r){var i,a,l=e[0],s=e[1],u=e[2],c=r[0],d=r[1],f=r[2],h=c-l,p=d-s,g=h*h+p*p;if(g<1e-12)a=Math.log(f/u)/t,i=function(e){return[l+e*h,s+e*p,u*Math.exp(t*e*a)]};else{var m=Math.sqrt(g),y=(f*f-u*u+o*g)/(2*u*n*m),v=(f*f-u*u-o*g)/(2*f*n*m),x=Math.log(Math.sqrt(y*y+1)-y);a=(Math.log(Math.sqrt(v*v+1)-v)-x)/t,i=function(e){var o,r,i=e*a,c=ek(x),d=u/(n*m)*(c*(((o=Math.exp(2*(o=t*i+x)))-1)/(o+1))-((r=Math.exp(r=x))-1/r)/2);return[l+d*h,s+d*p,u*c/ek(t*i+x)]}}return i.duration=1e3*a*t/Math.SQRT2,i}return r.rho=function(t){var n=Math.max(.001,+t),o=n*n;return e(n,o,o*o)},r}(Math.SQRT2,2,4);var eP,eA,e$=0,ez=0,eI=0,eR=0,eD=0,ej=0,eO="object"==typeof performance&&performance.now?performance:Date,eL="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function eB(){return eD||(eL(eT),eD=eO.now()+ej)}function eT(){eD=0}function eH(){this._call=this._time=this._next=null}function eV(e,t,n){var o=new eH;return o.restart(e,t,n),o}function eX(){eD=(eR=eO.now())+ej,e$=ez=0;try{eB(),++e$;for(var e,t=eP;t;)(e=eD-t._time)>=0&&t._call.call(void 0,e),t=t._next;--e$}finally{e$=0,function(){for(var e,t,n=eP,o=1/0;n;)n._call?(o>n._time&&(o=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:eP=t);eA=e,eY(o)}(),eD=0}}function eF(){var e=eO.now(),t=e-eR;t>1e3&&(ej-=t,eR=e)}function eY(e){!e$&&(ez&&(ez=clearTimeout(ez)),e-eD>24?(e<1/0&&(ez=setTimeout(eX,e-eO.now()-ej)),eI&&(eI=clearInterval(eI))):(eI||(eR=eO.now(),eI=setInterval(eF,1e3)),e$=1,eL(eX)))}function eZ(e,t,n){var o=new eH;return t=null==t?0:+t,o.restart(n=>{o.stop(),e(n+t)},t,n),o}eH.prototype=eV.prototype={constructor:eH,restart:function(e,t,n){if("function"!=typeof e)throw TypeError("callback is not a function");n=(null==n?eB():+n)+(null==t?0:+t),this._next||eA===this||(eA?eA._next=this:eP=this,eA=this),this._call=e,this._time=n,eY()},stop:function(){this._call&&(this._call=null,this._time=1/0,eY())}};var eK=_("start","end","cancel","interrupt"),eW=[];function eq(e,t,n,o,r,i){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var o,r=e.__transition;function i(s){var u,c,d,f;if(1!==n.state)return l();for(u in r)if((f=r[u]).name===n.name){if(3===f.state)return eZ(i);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete r[u]):+u<t&&(f.state=6,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete r[u])}if(eZ(function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(s))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(n.state=3,o=Array(d=n.tween.length),u=0,c=-1;u<d;++u)(f=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(o[++c]=f);o.length=c+1}}function a(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(l),n.state=5,1),i=-1,a=o.length;++i<a;)o[i].call(e,r);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){for(var o in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}r[t]=n,n.timer=eV(function(e){n.state=1,n.timer.restart(i,n.delay,n.time),n.delay<=e&&i(e-n.delay)},0,n.time)}(e,n,{name:t,index:o,group:r,on:eK,tween:eW,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function eU(e,t){var n=eQ(e,t);if(n.state>0)throw Error("too late; already scheduled");return n}function eG(e,t){var n=eQ(e,t);if(n.state>3)throw Error("too late; already running");return n}function eQ(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error("transition not found");return n}function eJ(e,t){var n,o,r,i=e.__transition,a=!0;if(i){for(r in t=null==t?null:t+"",i){if((n=i[r]).name!==t){a=!1;continue}o=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(o?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[r]}a&&delete e.__transition}}function e0(e,t){return e*=1,t*=1,function(n){return e*(1-n)+t*n}}var e1=180/Math.PI,e2={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function e5(e,t,n,o,r,i){var a,l,s;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(s=e*n+t*o)&&(n-=e*s,o-=t*s),(l=Math.sqrt(n*n+o*o))&&(n/=l,o/=l,s/=l),e*o<t*n&&(e=-e,t=-t,s=-s,a=-a),{translateX:r,translateY:i,rotate:Math.atan2(t,e)*e1,skewX:Math.atan(s)*e1,scaleX:a,scaleY:l}}function e3(e,t,n,o){function r(e){return e.length?e.pop()+" ":""}return function(i,a){var l,s,u,c,d=[],f=[];return i=e(i),a=e(a),!function(e,o,r,i,a,l){if(e!==r||o!==i){var s=a.push("translate(",null,t,null,n);l.push({i:s-4,x:e0(e,r)},{i:s-2,x:e0(o,i)})}else(r||i)&&a.push("translate("+r+t+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,d,f),l=i.rotate,s=a.rotate,l!==s?(l-s>180?s+=360:s-l>180&&(l+=360),f.push({i:d.push(r(d)+"rotate(",null,o)-2,x:e0(l,s)})):s&&d.push(r(d)+"rotate("+s+o),u=i.skewX,c=a.skewX,u!==c?f.push({i:d.push(r(d)+"skewX(",null,o)-2,x:e0(u,c)}):c&&d.push(r(d)+"skewX("+c+o),!function(e,t,n,o,i,a){if(e!==n||t!==o){var l=i.push(r(i)+"scale(",null,",",null,")");a.push({i:l-4,x:e0(e,n)},{i:l-2,x:e0(t,o)})}else(1!==n||1!==o)&&i.push(r(i)+"scale("+n+","+o+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,d,f),i=a=null,function(e){for(var t,n=-1,o=f.length;++n<o;)d[(t=f[n]).i]=t.x(e);return d.join("")}}}var e4=e3(function(e){let t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?e2:e5(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),e6=e3(function(e){return null==e?e2:(u||(u=document.createElementNS("http://www.w3.org/2000/svg","g")),u.setAttribute("transform",e),e=u.transform.baseVal.consolidate())?e5((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):e2},", ",")",")");function e8(e,t,n){var o=e._id;return e.each(function(){var e=eG(this,o);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return eQ(e,o).value[t]}}function e7(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function e9(e,t){var n=Object.create(e.prototype);for(var o in t)n[o]=t[o];return n}function te(){}var tt="\\s*([+-]?\\d+)\\s*",tn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",to="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tr=/^#([0-9a-f]{3,8})$/,ti=RegExp(`^rgb\\(${tt},${tt},${tt}\\)$`),ta=RegExp(`^rgb\\(${to},${to},${to}\\)$`),tl=RegExp(`^rgba\\(${tt},${tt},${tt},${tn}\\)$`),ts=RegExp(`^rgba\\(${to},${to},${to},${tn}\\)$`),tu=RegExp(`^hsl\\(${tn},${to},${to}\\)$`),tc=RegExp(`^hsla\\(${tn},${to},${to},${tn}\\)$`),td={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function tf(){return this.rgb().formatHex()}function th(){return this.rgb().formatRgb()}function tp(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=tr.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?tg(t):3===n?new tv(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?tm(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?tm(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=ti.exec(e))?new tv(t[1],t[2],t[3],1):(t=ta.exec(e))?new tv(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=tl.exec(e))?tm(t[1],t[2],t[3],t[4]):(t=ts.exec(e))?tm(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=tu.exec(e))?tE(t[1],t[2]/100,t[3]/100,1):(t=tc.exec(e))?tE(t[1],t[2]/100,t[3]/100,t[4]):td.hasOwnProperty(e)?tg(td[e]):"transparent"===e?new tv(NaN,NaN,NaN,0):null}function tg(e){return new tv(e>>16&255,e>>8&255,255&e,1)}function tm(e,t,n,o){return o<=0&&(e=t=n=NaN),new tv(e,t,n,o)}function ty(e,t,n,o){var r;return 1==arguments.length?((r=e)instanceof te||(r=tp(r)),r)?new tv((r=r.rgb()).r,r.g,r.b,r.opacity):new tv:new tv(e,t,n,null==o?1:o)}function tv(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}function tx(){return`#${tS(this.r)}${tS(this.g)}${tS(this.b)}`}function tw(){let e=tb(this.opacity);return`${1===e?"rgb(":"rgba("}${t_(this.r)}, ${t_(this.g)}, ${t_(this.b)}${1===e?")":`, ${e})`}`}function tb(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function t_(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function tS(e){return((e=t_(e))<16?"0":"")+e.toString(16)}function tE(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new tC(e,t,n,o)}function tM(e){if(e instanceof tC)return new tC(e.h,e.s,e.l,e.opacity);if(e instanceof te||(e=tp(e)),!e)return new tC;if(e instanceof tC)return e;var t=(e=e.rgb()).r/255,n=e.g/255,o=e.b/255,r=Math.min(t,n,o),i=Math.max(t,n,o),a=NaN,l=i-r,s=(i+r)/2;return l?(a=t===i?(n-o)/l+(n<o)*6:n===i?(o-t)/l+2:(t-n)/l+4,l/=s<.5?i+r:2-i-r,a*=60):l=s>0&&s<1?0:a,new tC(a,l,s,e.opacity)}function tC(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}function tk(e){return(e=(e||0)%360)<0?e+360:e}function tN(e){return Math.max(0,Math.min(1,e||0))}function tP(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function tA(e,t,n,o,r){var i=e*e,a=i*e;return((1-3*e+3*i-a)*t+(4-6*i+3*a)*n+(1+3*e+3*i-3*a)*o+a*r)/6}e7(te,tp,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:tf,formatHex:tf,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tM(this).formatHsl()},formatRgb:th,toString:th}),e7(tv,ty,e9(te,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new tv(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new tv(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new tv(t_(this.r),t_(this.g),t_(this.b),tb(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:tx,formatHex:tx,formatHex8:function(){return`#${tS(this.r)}${tS(this.g)}${tS(this.b)}${tS((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tw,toString:tw})),e7(tC,function(e,t,n,o){return 1==arguments.length?tM(e):new tC(e,t,n,null==o?1:o)},e9(te,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new tC(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new tC(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,r=2*n-o;return new tv(tP(e>=240?e-240:e+120,r,o),tP(e,r,o),tP(e<120?e+240:e-120,r,o),this.opacity)},clamp(){return new tC(tk(this.h),tN(this.s),tN(this.l),tb(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(){let e=tb(this.opacity);return`${1===e?"hsl(":"hsla("}${tk(this.h)}, ${100*tN(this.s)}%, ${100*tN(this.l)}%${1===e?")":`, ${e})`}`}}));let t$=e=>()=>e;function tz(e,t){var n=t-e;return n?function(t){return e+t*n}:t$(isNaN(e)?t:e)}let tI=function e(t){var n,o=1==(n=+t)?tz:function(e,t){var o,r,i;return t-e?(o=e,r=t,o=Math.pow(o,i=n),r=Math.pow(r,i)-o,i=1/i,function(e){return Math.pow(o+e*r,i)}):t$(isNaN(e)?t:e)};function r(e,t){var n=o((e=ty(e)).r,(t=ty(t)).r),r=o(e.g,t.g),i=o(e.b,t.b),a=tz(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=r(t),e.b=i(t),e.opacity=a(t),e+""}}return r.gamma=e,r}(1);function tR(e){return function(t){var n,o,r=t.length,i=Array(r),a=Array(r),l=Array(r);for(n=0;n<r;++n)o=ty(t[n]),i[n]=o.r||0,a[n]=o.g||0,l[n]=o.b||0;return i=e(i),a=e(a),l=e(l),o.opacity=1,function(e){return o.r=i(e),o.g=a(e),o.b=l(e),o+""}}}tR(function(e){var t=e.length-1;return function(n){var o=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),r=e[o],i=e[o+1],a=o>0?e[o-1]:2*r-i,l=o<t-1?e[o+2]:2*i-r;return tA((n-o/t)*t,a,r,i,l)}}),tR(function(e){var t=e.length;return function(n){var o=Math.floor(((n%=1)<0?++n:n)*t),r=e[(o+t-1)%t],i=e[o%t],a=e[(o+1)%t],l=e[(o+2)%t];return tA((n-o/t)*t,r,i,a,l)}});var tD=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tj=RegExp(tD.source,"g");function tO(e,t){var n,o,r,i,a,l=tD.lastIndex=tj.lastIndex=0,s=-1,u=[],c=[];for(e+="",t+="";(r=tD.exec(e))&&(i=tj.exec(t));)(a=i.index)>l&&(a=t.slice(l,a),u[s]?u[s]+=a:u[++s]=a),(r=r[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,c.push({i:s,x:e0(r,i)})),l=tj.lastIndex;return l<t.length&&(a=t.slice(l),u[s]?u[s]+=a:u[++s]=a),u.length<2?c[0]?(n=c[0].x,function(e){return n(e)+""}):(o=t,function(){return o}):(t=c.length,function(e){for(var n,o=0;o<t;++o)u[(n=c[o]).i]=n.x(e);return u.join("")})}function tL(e,t){var n;return("number"==typeof t?e0:t instanceof tp?tI:(n=tp(t))?(t=n,tI):tO)(e,t)}var tB=ed.prototype.constructor;function tT(e){return function(){this.style.removeProperty(e)}}var tH=0;function tV(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}var tX=ed.prototype;tV.prototype=(function(e){return ed().transition(e)}).prototype={constructor:tV,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=C(e));for(var o=this._groups,r=o.length,i=Array(r),a=0;a<r;++a)for(var l,s,u=o[a],c=u.length,d=i[a]=Array(c),f=0;f<c;++f)(l=u[f])&&(s=e.call(l,l.__data__,f,u))&&("__data__"in l&&(s.__data__=l.__data__),d[f]=s,eq(d[f],t,n,f,d,eQ(l,n)));return new tV(i,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=N(e));for(var o=this._groups,r=o.length,i=[],a=[],l=0;l<r;++l)for(var s,u=o[l],c=u.length,d=0;d<c;++d)if(s=u[d]){for(var f,h=e.call(s,s.__data__,d,u),p=eQ(s,n),g=0,m=h.length;g<m;++g)(f=h[g])&&eq(f,t,n,g,h,p);i.push(h),a.push(s)}return new tV(i,a,t,n)},selectChild:tX.selectChild,selectChildren:tX.selectChildren,filter:function(e){"function"!=typeof e&&(e=P(e));for(var t=this._groups,n=t.length,o=Array(n),r=0;r<n;++r)for(var i,a=t[r],l=a.length,s=o[r]=[],u=0;u<l;++u)(i=a[u])&&e.call(i,i.__data__,u,a)&&s.push(i);return new tV(o,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,o=t.length,r=n.length,i=Math.min(o,r),a=Array(o),l=0;l<i;++l)for(var s,u=t[l],c=n[l],d=u.length,f=a[l]=Array(d),h=0;h<d;++h)(s=u[h]||c[h])&&(f[h]=s);for(;l<o;++l)a[l]=t[l];return new tV(a,this._parents,this._name,this._id)},selection:function(){return new tB(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=++tH,o=this._groups,r=o.length,i=0;i<r;++i)for(var a,l=o[i],s=l.length,u=0;u<s;++u)if(a=l[u]){var c=eQ(a,t);eq(a,e,n,u,l,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new tV(o,this._parents,e,n)},call:tX.call,nodes:tX.nodes,node:tX.node,size:tX.size,empty:tX.empty,each:tX.each,on:function(e,t){var n,o,r,i,a,l,s=this._id;return arguments.length<2?eQ(this.node(),s).on.on(e):this.each((n=s,o=e,r=t,l=(o+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})?eU:eG,function(){var e=l(this,n),t=e.on;t!==i&&(a=(i=t).copy()).on(o,r),e.on=a}))},attr:function(e,t){var n=X(e),o="transform"===n?e6:tL;return this.attrTween(e,"function"==typeof t?(n.local?function(e,t,n){var o,r,i;return function(){var a,l,s=n(this);return null==s?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local))===(l=s+"")?null:a===o&&l===r?i:(r=l,i=t(o=a,s))}}:function(e,t,n){var o,r,i;return function(){var a,l,s=n(this);return null==s?void this.removeAttribute(e):(a=this.getAttribute(e))===(l=s+"")?null:a===o&&l===r?i:(r=l,i=t(o=a,s))}})(n,o,e8(this,"attr."+e,t)):null==t?(n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}})(n):(n.local?function(e,t,n){var o,r,i=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===o?r:r=t(o=a,n)}}:function(e,t,n){var o,r,i=n+"";return function(){var a=this.getAttribute(e);return a===i?null:a===o?r:r=t(o=a,n)}})(n,o,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();var o=X(e);return this.tween(n,(o.local?function(e,t){var n,o;function r(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&function(t){this.setAttributeNS(e.space,e.local,r.call(this,t))}),n}return r._value=t,r}:function(e,t){var n,o;function r(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&function(t){this.setAttribute(e,r.call(this,t))}),n}return r._value=t,r})(o,t))},style:function(e,t,n){var o,r,i,a,l,s,u,c,d,f,h,p,g,m,y,v,x,w,b,_,S,E="transform"==(e+="")?e4:tL;return null==t?this.styleTween(e,(o=e,function(){var e=Y(this,o),t=(this.style.removeProperty(o),Y(this,o));return e===t?null:e===r&&t===i?a:a=E(r=e,i=t)})).on("end.style."+e,tT(e)):"function"==typeof t?this.styleTween(e,(l=e,s=e8(this,"style."+e,t),function(){var e=Y(this,l),t=s(this),n=t+"";return null==t&&(this.style.removeProperty(l),n=t=Y(this,l)),e===n?null:e===u&&n===c?d:(c=n,d=E(u=e,t))})).each((f=this._id,x="end."+(v="style."+(h=e)),function(){var e=eG(this,f),t=e.on,n=null==e.value[v]?y||(y=tT(h)):void 0;(t!==p||m!==n)&&(g=(p=t).copy()).on(x,m=n),e.on=g})):this.styleTween(e,(w=e,S=t+"",function(){var e=Y(this,w);return e===S?null:e===b?_:_=E(b=e,t)}),n).on("end.style."+e,null)},styleTween:function(e,t,n){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(null==t)return this.tween(o,null);if("function"!=typeof t)throw Error();return this.tween(o,function(e,t,n){var o,r;function i(){var i=t.apply(this,arguments);return i!==r&&(o=(r=i)&&function(t){this.style.setProperty(e,i.call(this,t),n)}),o}return i._value=t,i}(e,t,null==n?"":n))},text:function(e){var t,n;return this.tween("text","function"==typeof e?(t=e8(this,"text",e),function(){var e=t(this);this.textContent=null==e?"":e}):(n=null==e?"":e+"",function(){this.textContent=n}))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw Error();return this.tween(t,function(e){var t,n;function o(){var o=e.apply(this,arguments);return o!==n&&(t=(n=o)&&function(e){this.textContent=o.call(this,e)}),t}return o._value=e,o}(e))},remove:function(){var e;return this.on("end.remove",(e=this._id,function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o,r=eQ(this.node(),n).tween,i=0,a=r.length;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((null==t?function(e,t){var n,o;return function(){var r=eG(this,e),i=r.tween;if(i!==n){o=n=i;for(var a=0,l=o.length;a<l;++a)if(o[a].name===t){(o=o.slice()).splice(a,1);break}}r.tween=o}}:function(e,t,n){var o,r;if("function"!=typeof n)throw Error();return function(){var i=eG(this,e),a=i.tween;if(a!==o){r=(o=a).slice();for(var l={name:t,value:n},s=0,u=r.length;s<u;++s)if(r[s].name===t){r[s]=l;break}s===u&&r.push(l)}i.tween=r}})(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){eU(this,e).delay=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){eU(this,e).delay=t}})(t,e)):eQ(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){eG(this,e).duration=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){eG(this,e).duration=t}})(t,e)):eQ(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw Error();return function(){eG(this,e).ease=t}}(t,e)):eQ(this.node(),t).ease},easeVarying:function(e){var t;if("function"!=typeof e)throw Error();return this.each((t=this._id,function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw Error();eG(this,t).ease=n}))},end:function(){var e,t,n=this,o=n._id,r=n.size();return new Promise(function(i,a){var l={value:a},s={value:function(){0==--r&&i()}};n.each(function(){var n=eG(this,o),r=n.on;r!==e&&((t=(e=r).copy())._.cancel.push(l),t._.interrupt.push(l),t._.end.push(s)),n.on=t}),0===r&&i()})},[Symbol.iterator]:tX[Symbol.iterator]};var tF={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};ed.prototype.interrupt=function(e){return this.each(function(){eJ(this,e)})},ed.prototype.transition=function(e){var t,n;e instanceof tV?(t=e._id,e=e._name):(t=++tH,(n=tF).time=eB(),e=null==e?null:e+"");for(var o=this._groups,r=o.length,i=0;i<r;++i)for(var a,l=o[i],s=l.length,u=0;u<s;++u)(a=l[u])&&eq(a,e,t,u,l,n||function(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}(a,t));return new tV(o,this._parents,e,t)};let tY=e=>()=>e;function tZ(e,{sourceEvent:t,target:n,transform:o,dispatch:r}){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:r}})}function tK(e,t,n){this.k=e,this.x=t,this.y=n}tK.prototype={constructor:tK,scale:function(e){return 1===e?this:new tK(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new tK(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 tW=new tK(1,0,0);function tq(e){for(;!e.__zoom;)if(!(e=e.parentNode))return tW;return e.__zoom}function tU(e){e.stopImmediatePropagation()}function tG(e){e.preventDefault(),e.stopImmediatePropagation()}function tQ(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function tJ(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).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 t0(){return this.__zoom||tW}function t1(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function t2(){return navigator.maxTouchPoints||"ontouchstart"in this}function t5(e,t,n){var o=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function t3(){var e,t,n,o=tQ,r=tJ,i=t5,a=t1,l=t2,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,d=eN,f=_("start","zoom","end"),h=0,p=10;function g(e){e.property("__zoom",t0).on("wheel.zoom",S,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",M).filter(l).on("touchstart.zoom",C).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(s[0],Math.min(s[1],t)))===e.k?e:new tK(t,e.x,e.y)}function y(e,t,n){var o=t[0]-n[0]*e.k,r=t[1]-n[1]*e.k;return o===e.x&&r===e.y?e:new tK(e.k,o,r)}function v(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,t,n,o){e.on("start.zoom",function(){w(this,arguments).event(o).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(o).end()}).tween("zoom",function(){var e=arguments,i=w(this,e).event(o),a=r.apply(this,e),l=null==n?v(a):"function"==typeof n?n.apply(this,e):n,s=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=this.__zoom,c="function"==typeof t?t.apply(this,e):t,f=d(u.invert(l).concat(s/u.k),c.invert(l).concat(s/c.k));return function(e){if(1===e)e=c;else{var t=f(e),n=s/t[2];e=new tK(n,l[0]-t[0]*n,l[1]-t[1]*n)}i.zoom(null,e)}})}function w(e,t,n){return!n&&e.__zooming||new b(e,t)}function b(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=r.apply(e,t),this.taps=0}function S(e,...t){if(o.apply(this,arguments)){var n=w(this,t).event(e),r=this.__zoom,l=Math.max(s[0],Math.min(s[1],r.k*Math.pow(2,a.apply(this,arguments)))),c=eh(e);if(n.wheel)(n.mouse[0][0]!==c[0]||n.mouse[0][1]!==c[1])&&(n.mouse[1]=r.invert(n.mouse[0]=c)),clearTimeout(n.wheel);else{if(r.k===l)return;n.mouse=[c,r.invert(c)],eJ(this),n.start()}tG(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",i(y(m(r,l),n.mouse[0],n.mouse[1]),n.extent,u))}}function E(e,...t){if(!n&&o.apply(this,arguments)){var r=e.currentTarget,a=w(this,t,!0).event(e),l=ef(e.view).on("mousemove.zoom",function(e){if(tG(e),!a.moved){var t=e.clientX-c,n=e.clientY-d;a.moved=t*t+n*n>h}a.event(e).zoom("mouse",i(y(a.that.__zoom,a.mouse[0]=eh(e,r),a.mouse[1]),a.extent,u))},!0).on("mouseup.zoom",function(e){l.on("mousemove.zoom mouseup.zoom",null),ex(e.view,a.moved),tG(e),a.event(e).end()},!0),s=eh(e,r),c=e.clientX,d=e.clientY;ev(e.view),tU(e),a.mouse=[s,this.__zoom.invert(s)],eJ(this),a.start()}}function M(e,...t){if(o.apply(this,arguments)){var n=this.__zoom,a=eh(e.changedTouches?e.changedTouches[0]:e,this),l=n.invert(a),s=n.k*(e.shiftKey?.5:2),d=i(y(m(n,s),a,l),r.apply(this,t),u);tG(e),c>0?ef(this).transition().duration(c).call(x,d,a,e):ef(this).call(g.transform,d,a,e)}}function C(n,...r){if(o.apply(this,arguments)){var i,a,l,s,u=n.touches,c=u.length,d=w(this,r,n.changedTouches.length===c).event(n);for(tU(n),a=0;a<c;++a)s=[s=eh(l=u[a],this),this.__zoom.invert(s),l.identifier],d.touch0?d.touch1||d.touch0[2]===s[2]||(d.touch1=s,d.taps=0):(d.touch0=s,i=!0,d.taps=1+!!e);e&&(e=clearTimeout(e)),i&&(d.taps<2&&(t=s[0],e=setTimeout(function(){e=null},500)),eJ(this),d.start())}}function k(e,...t){if(this.__zooming){var n,o,r,a,l=w(this,t).event(e),s=e.changedTouches,c=s.length;for(tG(e),n=0;n<c;++n)r=eh(o=s[n],this),l.touch0&&l.touch0[2]===o.identifier?l.touch0[0]=r:l.touch1&&l.touch1[2]===o.identifier&&(l.touch1[0]=r);if(o=l.that.__zoom,l.touch1){var d=l.touch0[0],f=l.touch0[1],h=l.touch1[0],p=l.touch1[1],g=(g=h[0]-d[0])*g+(g=h[1]-d[1])*g,v=(v=p[0]-f[0])*v+(v=p[1]-f[1])*v;o=m(o,Math.sqrt(g/v)),r=[(d[0]+h[0])/2,(d[1]+h[1])/2],a=[(f[0]+p[0])/2,(f[1]+p[1])/2]}else{if(!l.touch0)return;r=l.touch0[0],a=l.touch0[1]}l.zoom("touch",i(y(o,r,a),l.extent,u))}}function N(e,...o){if(this.__zooming){var r,i,a=w(this,o).event(e),l=e.changedTouches,s=l.length;for(tU(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),r=0;r<s;++r)i=l[r],a.touch0&&a.touch0[2]===i.identifier?delete a.touch0:a.touch1&&a.touch1[2]===i.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(i=eh(i,this),Math.hypot(t[0]-i[0],t[1]-i[1])<p)){var u=ef(this).on("dblclick.zoom");u&&u.apply(this,arguments)}}}return g.transform=function(e,t,n,o){var r=e.selection?e.selection():e;r.property("__zoom",t0),e!==r?x(e,t,n,o):r.interrupt().each(function(){w(this,arguments).event(o).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},g.scaleBy=function(e,t,n,o){g.scaleTo(e,function(){var e=this.__zoom.k,n="function"==typeof t?t.apply(this,arguments):t;return e*n},n,o)},g.scaleTo=function(e,t,n,o){g.transform(e,function(){var e=r.apply(this,arguments),o=this.__zoom,a=null==n?v(e):"function"==typeof n?n.apply(this,arguments):n,l=o.invert(a),s="function"==typeof t?t.apply(this,arguments):t;return i(y(m(o,s),a,l),e,u)},n,o)},g.translateBy=function(e,t,n,o){g.transform(e,function(){return i(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),r.apply(this,arguments),u)},null,o)},g.translateTo=function(e,t,n,o,a){g.transform(e,function(){var e=r.apply(this,arguments),a=this.__zoom,l=null==o?v(e):"function"==typeof o?o.apply(this,arguments):o;return i(tW.translate(l[0],l[1]).scale(a.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,u)},o,a)},b.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=ef(this.that).datum();f.call(e,this.that,new tZ(e,{sourceEvent:this.sourceEvent,target:g,type:e,transform:this.that.__zoom,dispatch:f}),t)}},g.wheelDelta=function(e){return arguments.length?(a="function"==typeof e?e:tY(+e),g):a},g.filter=function(e){return arguments.length?(o="function"==typeof e?e:tY(!!e),g):o},g.touchable=function(e){return arguments.length?(l="function"==typeof e?e:tY(!!e),g):l},g.extent=function(e){return arguments.length?(r="function"==typeof e?e:tY([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),g):r},g.scaleExtent=function(e){return arguments.length?(s[0]=+e[0],s[1]=+e[1],g):[s[0],s[1]]},g.translateExtent=function(e){return arguments.length?(u[0][0]=+e[0][0],u[1][0]=+e[1][0],u[0][1]=+e[0][1],u[1][1]=+e[1][1],g):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},g.constrain=function(e){return arguments.length?(i=e,g):i},g.duration=function(e){return arguments.length?(c=+e,g):c},g.interpolate=function(e){return arguments.length?(d=e,g):d},g.on=function(){var e=f.on.apply(f,arguments);return e===f?g:e},g.clickDistance=function(e){return arguments.length?(h=(e*=1)*e,g):Math.sqrt(h)},g.tapDistance=function(e){return arguments.length?(p=+e,g):p},g}function t4(e,t){var n,o,r=typeof t;return null==t||"boolean"===r?t$(t):("number"===r?e0:"string"===r?(o=tp(t))?(t=o,tI):tO:t instanceof tp?tI:t instanceof Date?function(e,t){var n=new Date;return e*=1,t*=1,function(o){return n.setTime(e*(1-o)+t*o),n}}:!ArrayBuffer.isView(n=t)||n instanceof DataView?Array.isArray(t)?function(e,t){var n,o=t?t.length:0,r=e?Math.min(o,e.length):0,i=Array(r),a=Array(o);for(n=0;n<r;++n)i[n]=t4(e[n],t[n]);for(;n<o;++n)a[n]=t[n];return function(e){for(n=0;n<r;++n)a[n]=i[n](e);return a}}:"function"!=typeof t.valueOf&&"function"!=typeof t.toString||isNaN(t)?function(e,t){var n,o={},r={};for(n in(null===e||"object"!=typeof e)&&(e={}),(null===t||"object"!=typeof t)&&(t={}),t)n in e?o[n]=t4(e[n],t[n]):r[n]=t[n];return function(e){for(n in o)r[n]=o[n](e);return r}}:e0:function(e,t){t||(t=[]);var n,o=e?Math.min(t.length,e.length):0,r=t.slice();return function(i){for(n=0;n<o;++n)r[n]=e[n]*(1-i)+t[n]*i;return r}})(e,t)}tq.prototype=tK.prototype;let t6={error001:(e="react")=>`Seems like you have not used ${"svelte"===e?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${"source"===e?n:o}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},t8=[[-1/0,-1/0],[1/0,1/0]],t7=["Enter"," ","Escape"],t9={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};(t=c||(c={})).Strict="strict",t.Loose="loose",(n=d||(d={})).Free="free",n.Vertical="vertical",n.Horizontal="horizontal",(o=f||(f={})).Partial="partial",o.Full="full";let ne={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};(r=h||(h={})).Bezier="default",r.Straight="straight",r.Step="step",r.SmoothStep="smoothstep",r.SimpleBezier="simplebezier",(i=p||(p={})).Arrow="arrow",i.ArrowClosed="arrowclosed",(a=g||(g={})).Left="left",a.Top="top",a.Right="right",a.Bottom="bottom";let nt={[g.Left]:g.Right,[g.Right]:g.Left,[g.Top]:g.Bottom,[g.Bottom]:g.Top};function nn(e){return null===e?null:e?"valid":"invalid"}let no=e=>!!e&&"object"==typeof e&&"id"in e&&"source"in e&&"target"in e,nr=e=>!!e&&"object"==typeof e&&"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),ni=e=>!!e&&"object"==typeof e&&"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),na=(e,t=[0,0])=>{let{width:n,height:o}=nj(e),r=e.origin??t,i=n*r[0],a=o*r[1];return{x:e.position.x-i,y:e.position.y-a}},nl=(e,t={nodeOrigin:[0,0]})=>{if(0===e.length)return{x:0,y:0,width:0,height:0};let n=!1,o=e.reduce((e,o)=>{let r="string"==typeof o,i=t.nodeLookup||r?void 0:o;return(t.nodeLookup&&(i=r?t.nodeLookup.get(o):ni(o)?o:t.nodeLookup.get(o.id)),i)?(n=!0,nv(e,n_(i,t.nodeOrigin))):e},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?nw(o):{x:0,y:0,width:0,height:0}},ns=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(e=>{(void 0===t.filter||t.filter(e))&&(n=nv(n,n_(e)),o=!0)}),o?nw(n):{x:0,y:0,width:0,height:0}},nu=(e,t,[n,o,r]=[0,0,1],i=!1,a=!1)=>{let l=(t.x-n)/r,s=(t.y-o)/r,u=t.width/r,c=t.height/r,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:o=!1}=t;if(a&&!n||o)continue;let r=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:h,y:p}=t.internals.positionAbsolute,g=nE(l,s,u,c,h,p,r,f),m=r*f,y=i&&g>0;(!t.internals.handleBounds||y||g>=m||t.dragging)&&d.push(t)}return d};async function nc({nodes:e,width:t,height:n,panZoom:o,minZoom:r,maxZoom:i},a){let l,s;if(0===e.size)return!0;let u=nI(ns((l=new Map,s=a?.nodes?new Set(a.nodes.map(e=>e.id)):null,e.forEach(e=>{let t;if(a?.includeHiddenNodes){let{width:n,height:o}=nj(e);t=n>0&&o>0}else t=!!(e.measured.width&&e.measured.height&&!e.hidden);t&&(!s||s.has(e.id))&&l.set(e.id,e)}),l)),t,n,a?.minZoom??r,a?.maxZoom??i,a?.padding??.1);return await o.setViewport(u,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),!0}function nd({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:o=[0,0],nodeExtent:r,onError:i}){let a=n.get(e),l=a.parentId?n.get(a.parentId):void 0,{x:s,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},c=a.origin??o,d=a.extent||r;if("parent"!==a.extent||a.expandParent)l&&nD(a.extent)&&(d=[[a.extent[0][0]+s,a.extent[0][1]+u],[a.extent[1][0]+s,a.extent[1][1]+u]]);else if(l){let{width:e,height:t}=nj(l);e&&t&&(d=[[s,u],[s+e,u+t]])}else i?.("005",t6.error005());let f=nD(d)?np(t,d,a.measured):t;return(void 0===a.measured.width||void 0===a.measured.height)&&i?.("015",t6.error015()),{position:{x:f.x-s+(a.measured.width??0)*c[0],y:f.y-u+(a.measured.height??0)*c[1]},positionAbsolute:f}}async function nf({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:r}){let i,a=new Set(e.map(e=>e.id)),l=[];for(let e of n){if(!1===e.deletable)continue;let t=a.has(e.id),n=!t&&e.parentId&&l.find(t=>t.id===e.parentId);(t||n)&&l.push(e)}let s=new Set(t.map(e=>e.id)),u=o.filter(e=>!1!==e.deletable),c=(i=new Set,l.forEach(e=>{i.add(e.id)}),u.filter(e=>i.has(e.source)||i.has(e.target)));for(let e of u)s.has(e.id)&&!c.find(t=>t.id===e.id)&&c.push(e);if(!r)return{edges:c,nodes:l};let d=await r({nodes:l,edges:c});return"boolean"==typeof d?d?{edges:c,nodes:l}:{edges:[],nodes:[]}:d}let nh=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),np=(e={x:0,y:0},t,n)=>({x:nh(e.x,t[0][0],t[1][0]-(n?.width??0)),y:nh(e.y,t[0][1],t[1][1]-(n?.height??0))});function ng(e,t,n){let{width:o,height:r}=nj(n),{x:i,y:a}=n.internals.positionAbsolute;return np(e,[[i,a],[i+o,a+r]],t)}let nm=(e,t,n)=>e<t?nh(Math.abs(e-t),1,t)/t:e>n?-nh(Math.abs(e-n),1,t)/t:0,ny=(e,t,n=15,o=40)=>[nm(e.x,o,t.width-o)*n,nm(e.y,o,t.height-o)*n],nv=(e,t)=>({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)}),nx=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),nw=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),nb=(e,t=[0,0])=>{let{x:n,y:o}=ni(e)?e.internals.positionAbsolute:na(e,t);return{x:n,y:o,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},n_=(e,t=[0,0])=>{let{x:n,y:o}=ni(e)?e.internals.positionAbsolute:na(e,t);return{x:n,y:o,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:o+(e.measured?.height??e.height??e.initialHeight??0)}},nS=(e,t)=>nw(nv(nx(e),nx(t))),nE=(e,t,n,o,r,i,a,l)=>Math.ceil(Math.max(0,Math.min(e+n,r+a)-Math.max(e,r))*Math.max(0,Math.min(t+o,i+l)-Math.max(t,i))),nM=(e,t)=>nE(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),nC=e=>nk(e.width)&&nk(e.height)&&nk(e.x)&&nk(e.y),nk=e=>!isNaN(e)&&isFinite(e),nN=(e,t)=>(e,t)=>{},nP=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),nA=({x:e,y:t},[n,o,r],i=!1,a=[1,1])=>{let l={x:(e-n)/r,y:(t-o)/r};return i?nP(l,a):l},n$=({x:e,y:t},[n,o,r])=>({x:e*r+n,y:t*r+o});function nz(e,t){if("number"==typeof e)return Math.floor((t-t/(1+e))*.5);if("string"==typeof e&&e.endsWith("px")){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if("string"==typeof e&&e.endsWith("%")){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let nI=(e,t,n,o,r,i)=>{let a=function(e,t,n){if("string"==typeof e||"number"==typeof e){let o=nz(e,n),r=nz(e,t);return{top:o,right:r,bottom:o,left:r,x:2*r,y:2*o}}if("object"==typeof e){let o=nz(e.top??e.y??0,n),r=nz(e.bottom??e.y??0,n),i=nz(e.left??e.x??0,t),a=nz(e.right??e.x??0,t);return{top:o,right:a,bottom:r,left:i,x:i+a,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(i,t,n),l=nh(Math.min((t-a.x)/e.width,(n-a.y)/e.height),o,r),s=e.x+e.width/2,u=e.y+e.height/2,c=t/2-s*l,d=n/2-u*l,f=function(e,t,n,o,r,i){let{x:a,y:l}=n$(e,[t,n,o]),{x:s,y:u}=n$({x:e.x+e.width,y:e.y+e.height},[t,n,o]);return{left:Math.floor(a),top:Math.floor(l),right:Math.floor(r-s),bottom:Math.floor(i-u)}}(e,c,d,l,t,n),h={left:Math.min(f.left-a.left,0),top:Math.min(f.top-a.top,0),right:Math.min(f.right-a.right,0),bottom:Math.min(f.bottom-a.bottom,0)};return{x:c-h.left+h.right,y:d-h.top+h.bottom,zoom:l}},nR=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function nD(e){return null!=e&&"parent"!==e}function nj(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function nO(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function nL(e,t={width:0,height:0},n,o,r){let i={...e},a=o.get(n);if(a){let e=a.origin||r;i.x+=a.internals.positionAbsolute.x-(t.width??0)*e[0],i.y+=a.internals.positionAbsolute.y-(t.height??0)*e[1]}return i}function nB(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function nT(){let e,t;return{promise:new Promise((n,o)=>{e=n,t=o}),resolve:e,reject:t}}function nH(e){return{...t9,...e||{}}}function nV(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:o,containerBounds:r}){let{x:i,y:a}=nW(e),l=nA({x:i-(r?.left??0),y:a-(r?.top??0)},o),{x:s,y:u}=n?nP(l,t):l;return{xSnapped:s,ySnapped:u,...l}}let nX=e=>({width:e.offsetWidth,height:e.offsetHeight}),nF=e=>e?.getRootNode?.()||window?.document,nY=["INPUT","SELECT","TEXTAREA"];function nZ(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1&&(nY.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey"))}let nK=e=>"clientX"in e,nW=(e,t)=>{let n=nK(e),o=n?e.clientX:e.touches?.[0].clientX,r=n?e.clientY:e.touches?.[0].clientY;return{x:o-(t?.left??0),y:r-(t?.top??0)}},nq=(e,t,n,o,r)=>{let i=t.querySelectorAll(`.${e}`);return i&&i.length?Array.from(i).map(t=>{let i=t.getBoundingClientRect();return{id:t.getAttribute("data-handleid"),type:e,nodeId:r,position:t.getAttribute("data-handlepos"),x:(i.left-n.left)/o,y:(i.top-n.top)/o,...nX(t)}}):null};function nU({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:a,targetControlY:l}){let s=.125*e+.375*r+.375*a+.125*n,u=.125*t+.375*i+.375*l+.125*o,c=Math.abs(s-e),d=Math.abs(u-t);return[s,u,c,d]}function nG(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function nQ({pos:e,x1:t,y1:n,x2:o,y2:r,c:i}){switch(e){case g.Left:return[t-nG(t-o,i),n];case g.Right:return[t+nG(o-t,i),n];case g.Top:return[t,n-nG(n-r,i)];case g.Bottom:return[t,n+nG(r-n,i)]}}function nJ({sourceX:e,sourceY:t,sourcePosition:n=g.Bottom,targetX:o,targetY:r,targetPosition:i=g.Top,curvature:a=.25}){let[l,s]=nQ({pos:n,x1:e,y1:t,x2:o,y2:r,c:a}),[u,c]=nQ({pos:i,x1:o,y1:r,x2:e,y2:t,c:a}),[d,f,h,p]=nU({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:l,sourceControlY:s,targetControlX:u,targetControlY:c});return[`M${e},${t} C${l},${s} ${u},${c} ${o},${r}`,d,f,h,p]}function n0({sourceX:e,sourceY:t,targetX:n,targetY:o}){let r=Math.abs(n-e)/2,i=Math.abs(o-t)/2;return[n<e?n+r:n-r,o<t?o+i:o-i,r,i]}function n1({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:i="basic"}){if("manual"===i)return o;let a=Math.max(e.parentId||r&&e.selected?e.internals.z:0,t.parentId||r&&t.selected?t.internals.z:0);return(r&&n?o+1e3:o)+a}function n2({sourceNode:e,targetNode:t,width:n,height:o,transform:r}){let i=nv(n_(e),n_(t));return i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1),nM({x:-r[0]/r[2],y:-r[1]/r[2],width:n/r[2],height:o/r[2]},nw(i))>0}let n5=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`xy-edge__${e}${t||""}-${n}${o||""}`,n3=(e,t,n={})=>{let o,r;if(!e.source||!e.target)return n.onError?.("006",t6.error006()),t;let i=n.getEdgeId||n5;return(r=o=no(e)?{...e}:{...e,id:i(e)},t.some(e=>e.source===r.source&&e.target===r.target&&(e.sourceHandle===r.sourceHandle||!e.sourceHandle&&!r.sourceHandle)&&(e.targetHandle===r.targetHandle||!e.targetHandle&&!r.targetHandle)))?t:(null===o.sourceHandle&&delete o.sourceHandle,null===o.targetHandle&&delete o.targetHandle,t.concat(o))};function n4({sourceX:e,sourceY:t,targetX:n,targetY:o}){let[r,i,a,l]=n0({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,r,i,a,l]}let n6={[g.Left]:{x:-1,y:0},[g.Right]:{x:1,y:0},[g.Top]:{x:0,y:-1},[g.Bottom]:{x:0,y:1}},n8=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function n7({sourceX:e,sourceY:t,sourcePosition:n=g.Bottom,targetX:o,targetY:r,targetPosition:i=g.Top,borderRadius:a=5,centerX:l,centerY:s,offset:u=20,stepPosition:c=.5}){let[d,f,h,p,m]=function({source:e,sourcePosition:t=g.Bottom,target:n,targetPosition:o=g.Top,center:r,offset:i,stepPosition:a}){let l,s,u=n6[t],c=n6[o],d={x:e.x+u.x*i,y:e.y+u.y*i},f={x:n.x+c.x*i,y:n.y+c.y*i},h=(({source:e,sourcePosition:t=g.Bottom,target:n})=>t===g.Left||t===g.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1})({source:d,sourcePosition:t,target:f}),p=0!==h.x?"x":"y",m=h[p],y=[],v={x:0,y:0},x={x:0,y:0},[,,w,b]=n0({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(u[p]*c[p]==-1){"x"===p?(l=r.x??d.x+(f.x-d.x)*a,s=r.y??(d.y+f.y)/2):(l=r.x??(d.x+f.x)/2,s=r.y??d.y+(f.y-d.y)*a);let e=[{x:l,y:d.y},{x:l,y:f.y}],t=[{x:d.x,y:s},{x:f.x,y:s}];y=u[p]===m?"x"===p?e:t:"x"===p?t:e}else{let r=[{x:d.x,y:f.y}],a=[{x:f.x,y:d.y}];if(y="x"===p?u.x===m?a:r:u.y===m?r:a,t===o){let t=Math.abs(e[p]-n[p]);if(t<=i){let o=Math.min(i-1,i-t);u[p]===m?v[p]=(d[p]>e[p]?-1:1)*o:x[p]=(f[p]>n[p]?-1:1)*o}}if(t!==o){let e="x"===p?"y":"x",t=u[p]===c[e],n=d[e]>f[e],o=d[e]<f[e];(1===u[p]&&(!t&&n||t&&o)||1!==u[p]&&(!t&&o||t&&n))&&(y="x"===p?r:a)}let h={x:d.x+v.x,y:d.y+v.y},g={x:f.x+x.x,y:f.y+x.y};Math.max(Math.abs(h.x-y[0].x),Math.abs(g.x-y[0].x))>=Math.max(Math.abs(h.y-y[0].y),Math.abs(g.y-y[0].y))?(l=(h.x+g.x)/2,s=y[0].y):(l=y[0].x,s=(h.y+g.y)/2)}let _={x:d.x+v.x,y:d.y+v.y},S={x:f.x+x.x,y:f.y+x.y};return[[e,..._.x!==y[0].x||_.y!==y[0].y?[_]:[],...y,...S.x!==y[y.length-1].x||S.y!==y[y.length-1].y?[S]:[],n],l,s,w,b]}({source:{x:e,y:t},sourcePosition:n,target:{x:o,y:r},targetPosition:i,center:{x:l,y:s},offset:u,stepPosition:c}),y=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)y+=function(e,t,n,o){let r=Math.min(n8(e,t)/2,n8(t,n)/2,o),{x:i,y:a}=t;if(e.x===i&&i===n.x||e.y===a&&a===n.y)return`L${i} ${a}`;if(e.y===a){let t=e.x<n.x?-1:1,o=e.y<n.y?1:-1;return`L ${i+r*t},${a}Q ${i},${a} ${i},${a+r*o}`}let l=e.x<n.x?1:-1,s=e.y<n.y?-1:1;return`L ${i},${a+r*s}Q ${i},${a} ${i+r*l},${a}`}(d[e-1],d[e],d[e+1],a);return[y+=`L${d[d.length-1].x} ${d[d.length-1].y}`,f,h,p,m]}function n9(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function oe(e){let{sourceNode:t,targetNode:n}=e;if(!n9(t)||!n9(n))return null;let o=t.internals.handleBounds||ot(t.handles),r=n.internals.handleBounds||ot(n.handles),i=oo(o?.source??[],e.sourceHandle),a=oo(e.connectionMode===c.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),e.targetHandle);if(!i||!a)return e.onError?.("008",t6.error008(!i?"source":"target",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let l=i?.position||g.Bottom,s=a?.position||g.Top,u=on(t,i,l),d=on(n,a,s);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:s}}function ot(e){if(!e)return null;let t=[],n=[];for(let o of e)o.width=o.width??1,o.height=o.height??1,"source"===o.type?t.push(o):"target"===o.type&&n.push(o);return{source:t,target:n}}function on(e,t,n=g.Left,o=!1){let r=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:a,height:l}=t??nj(e);if(o)return{x:r+a/2,y:i+l/2};switch(t?.position??n){case g.Top:return{x:r+a/2,y:i};case g.Right:return{x:r+a,y:i+l/2};case g.Bottom:return{x:r+a/2,y:i+l};case g.Left:return{x:r,y:i+l/2}}}function oo(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function or(e,t){if(!e)return"";if("string"==typeof e)return e;let n=t?`${t}__`:"";return`${n}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`}function oi(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:r}){let i=new Set;return e.reduce((e,a)=>([a.markerStart||o,a.markerEnd||r].forEach(o=>{if(o&&"object"==typeof o){let r=or(o,t);i.has(r)||(e.push({id:r,color:o.color||n,...o}),i.add(r))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}let oa={left:0,center:50,right:100},ol={top:0,center:50,bottom:100},os={nodeOrigin:[0,0],nodeExtent:t8,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},ou={...os,checkEquality:!0};function oc(e,t){let n={...e};for(let e in t)void 0!==t[e]&&(n[e]=t[e]);return n}function od(e,t,n){let o=oc(os,n);for(let n of e.values())if(n.parentId)op(n,e,t,o);else{let e=np(na(n,o.nodeOrigin),nD(n.extent)?n.extent:o.nodeExtent,nj(n));n.internals.positionAbsolute=e}}function of(e){return"manual"===e}function oh(e,t,n,o={}){let r=oc(ou,o),i={i:0},a=new Map(t),l=r?.elevateNodesOnSelect&&!of(r.zIndexMode)?1e3:0,s=e.length>0,u=!1;for(let c of(t.clear(),n.clear(),e)){let e=a.get(c.id);if(r.checkEquality&&c===e?.internals.userNode)t.set(c.id,e);else{let n=np(na(c,r.nodeOrigin),nD(c.extent)?c.extent:r.nodeExtent,nj(c));e={...r.defaults,...c,measured:{width:c.measured?.width,height:c.measured?.height},internals:{positionAbsolute:n,handleBounds:function(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],o=[];for(let t of e.handles){let r={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};"source"===t.type?n.push(r):"target"===t.type&&o.push(r)}return{source:n,target:o}}(c,e),z:og(c,l,r.zIndexMode),userNode:c}},t.set(c.id,e)}void 0!==e.measured&&void 0!==e.measured.width&&void 0!==e.measured.height||e.hidden||(s=!1),c.parentId&&op(e,t,n,o,i),u||=c.selected??!1}return{nodesInitialized:s,hasSelectedNodes:u}}function op(e,t,n,o,r){let{elevateNodesOnSelect:i,nodeOrigin:a,nodeExtent:l,zIndexMode:s}=oc(os,o),u=e.parentId,c=t.get(u);if(!c)return void console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}(e,n),r&&!c.parentId&&void 0===c.internals.rootParentIndex&&"auto"===s&&(c.internals.rootParentIndex=++r.i,c.internals.z=c.internals.z+10*r.i),r&&void 0!==c.internals.rootParentIndex&&(r.i=c.internals.rootParentIndex);let{x:d,y:f,z:h}=function(e,t,n,o,r,i){let{x:a,y:l}=t.internals.positionAbsolute,s=nj(e),u=na(e,n),c=nD(e.extent)?np(u,e.extent,s):u,d=np({x:a+c.x,y:l+c.y},o,s);"parent"===e.extent&&(d=ng(d,s,t));let f=og(e,r,i),h=t.internals.z??0;return{x:d.x,y:d.y,z:h>=f?h+1:f}}(e,c,a,l,i&&!of(s)?1e3:0,s),{positionAbsolute:p}=e.internals,g=d!==p.x||f!==p.y;(g||h!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:g?{x:d,y:f}:p,z:h}})}function og(e,t,n){let o=nk(e.zIndex)?e.zIndex:0;return of(n)?o:o+(e.selected?t:0)}function om(e,t,n,o=[0,0]){let r=[],i=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let o=nS(i.get(n.parentId)?.expandedRect??nb(e),n.rect);i.set(n.parentId,{expandedRect:o,parent:e})}return i.size>0&&i.forEach(({expandedRect:t,parent:i},a)=>{let l=i.internals.positionAbsolute,s=nj(i),u=i.origin??o,c=t.x<l.x?Math.round(Math.abs(l.x-t.x)):0,d=t.y<l.y?Math.round(Math.abs(l.y-t.y)):0,f=Math.max(s.width,Math.round(t.width)),h=Math.max(s.height,Math.round(t.height)),p=(f-s.width)*u[0],g=(h-s.height)*u[1];(c>0||d>0||p||g)&&(r.push({id:a,type:"position",position:{x:i.position.x-c+p,y:i.position.y-d+g}}),n.get(a)?.forEach(t=>{e.some(e=>e.id===t.id)||r.push({id:t.id,type:"position",position:{x:t.position.x+c,y:t.position.y+d}})})),(s.width<t.width||s.height<t.height||c||d)&&r.push({id:a,type:"dimensions",setAttributes:!0,dimensions:{width:f+(c?u[0]*c-p:0),height:h+(d?u[1]*d-g:0)}})}),r}function oy(e,t,n,o,r,i,a){let l=o?.querySelector(".xyflow__viewport"),s=!1;if(!l)return{changes:[],updatedInternals:s};let u=[],c=window.getComputedStyle(l),{m22:d}=new window.DOMMatrixReadOnly(c.transform),f=[];for(let o of e.values()){let e=t.get(o.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),s=!0;continue}let l=nX(o.nodeElement),c=e.measured.width!==l.width||e.measured.height!==l.height;if(l.width&&l.height&&(c||!e.internals.handleBounds||o.force)){let h=o.nodeElement.getBoundingClientRect(),p=nD(e.extent)?e.extent:i,{positionAbsolute:g}=e.internals;if(e.parentId&&"parent"===e.extent){let n=t.get(e.parentId);n&&(g=ng(g,l,n))}else p&&(g=np(g,p,l));let m={...e,measured:l,internals:{...e.internals,positionAbsolute:g,handleBounds:{source:nq("source",o.nodeElement,h,d,e.id),target:nq("target",o.nodeElement,h,d,e.id)}}};t.set(e.id,m),e.parentId&&op(m,t,n,{nodeOrigin:r,zIndexMode:a}),s=!0,c&&(u.push({id:e.id,type:"dimensions",dimensions:l}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:nb(m,r)}))}}if(f.length>0){let e=om(f,t,n,r);u.push(...e)}return{changes:u,updatedInternals:s}}async function ov({delta:e,panZoom:t,transform:n,translateExtent:o,width:r,height:i}){if(!t||!e.x&&!e.y)return!1;let a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,i]],o);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])}function ox(e,t,n,o,r,i){let a=r,l=o.get(a)||new Map;o.set(a,l.set(n,t)),a=`${r}-${e}`;let s=o.get(a)||new Map;if(o.set(a,s.set(n,t)),i){a=`${r}-${e}-${i}`;let l=o.get(a)||new Map;o.set(a,l.set(n,t))}}function ow(e,t,n){for(let o of(e.clear(),t.clear(),n)){let{source:n,target:r,sourceHandle:i=null,targetHandle:a=null}=o,l={edgeId:o.id,source:n,target:r,sourceHandle:i,targetHandle:a},s=`${n}-${i}--${r}-${a}`;ox("source",l,`${r}-${a}--${n}-${i}`,e,n,i),ox("target",l,s,e,r,a),t.set(o.id,o)}}function ob(e,t,n){let o=e;do{if(o?.matches?.(t))return!0;if(o===n)break;o=o?.parentElement}while(o)return!1}function o_({nodeId:e,dragItems:t,nodeLookup:n,dragging:o=!0}){let r=[];for(let[e,i]of t){let t=n.get(e)?.internals.userNode;t&&r.push({...t,position:i.position,dragging:o})}if(!e)return[r[0],r];let i=n.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:o}:r[0],r]}function oS({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:o,onDragStop:r}){let i={x:null,y:null},a=0,l=new Map,s=!1,u={x:0,y:0},c=null,d=!1,f=null,h=!1,p=!1,g=null;return{update:function({noDragClassName:m,handleSelector:y,domNode:v,isSelectable:x,nodeId:w,nodeClickDistance:b=0}){function _({x:e,y:n}){let{nodeLookup:r,nodeExtent:a,snapGrid:s,snapToGrid:u,nodeOrigin:c,onNodeDrag:d,onSelectionDrag:f,onError:h,updateNodePositions:m}=t();i={x:e,y:n};let y=!1,v=l.size>1,x=v&&a?nx(ns(l)):null,b=v&&u?function({dragItems:e,snapGrid:t,x:n,y:o}){let r=e.values().next().value;if(!r)return null;let i={x:n-r.distance.x,y:o-r.distance.y},a=nP(i,t);return{x:a.x-i.x,y:a.y-i.y}}({dragItems:l,snapGrid:s,x:e,y:n}):null;for(let[t,o]of l){if(!r.has(t))continue;let i={x:e-o.distance.x,y:n-o.distance.y};u&&(i=b?{x:Math.round(i.x+b.x),y:Math.round(i.y+b.y)}:nP(i,s));let l=null;if(v&&a&&!o.extent&&x){let{positionAbsolute:e}=o.internals,t=e.x-x.x+a[0][0],n=e.x+o.measured.width-x.x2+a[1][0];l=[[t,e.y-x.y+a[0][1]],[n,e.y+o.measured.height-x.y2+a[1][1]]]}let{position:d,positionAbsolute:f}=nd({nodeId:t,nextPosition:i,nodeLookup:r,nodeExtent:l||a,nodeOrigin:c,onError:h});y=y||o.position.x!==d.x||o.position.y!==d.y,o.position=d,o.internals.positionAbsolute=f}if(p=p||y,y&&(m(l,!0),g&&(o||d||!w&&f))){let[e,t]=o_({nodeId:w,dragItems:l,nodeLookup:r});o?.(g,l,e,t),d?.(g,e,t),w||f?.(g,t)}}async function S(){if(!c)return;let{transform:e,panBy:n,autoPanSpeed:o,autoPanOnNodeDrag:r}=t();if(!r){s=!1,cancelAnimationFrame(a);return}let[l,d]=ny(u,c,o);(0!==l||0!==d)&&(i.x=(i.x??0)-l/e[2],i.y=(i.y??0)-d/e[2],await n({x:l,y:d})&&_(i)),a=requestAnimationFrame(S)}function E(o){let{nodeLookup:r,multiSelectionActive:a,nodesDraggable:s,transform:u,snapGrid:f,snapToGrid:h,selectNodesOnDrag:p,onNodeDragStart:g,onSelectionDragStart:m,unselectNodesAndEdges:y}=t();d=!0,p&&x||a||!w||r.get(w)?.selected||y(),x&&p&&w&&e?.(w);let v=nV(o.sourceEvent,{transform:u,snapGrid:f,snapToGrid:h,containerBounds:c});if(i=v,(l=function(e,t,n,o){let r=new Map;for(let[i,a]of e)if((a.selected||a.id===o)&&(!a.parentId||!function e(t,n){if(!t.parentId)return!1;let o=n.get(t.parentId);return!!o&&(!!o.selected||e(o,n))}(a,e))&&(a.draggable||t&&void 0===a.draggable)){let t=e.get(i);t&&r.set(i,{id:i,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return r}(r,s,v,w)).size>0&&(n||g||!w&&m)){let[e,t]=o_({nodeId:w,dragItems:l,nodeLookup:r});n?.(o.sourceEvent,l,e,t),g?.(o.sourceEvent,e,t),w||m?.(o.sourceEvent,t)}}f=ef(v);let M=eC().clickDistance(b).on("start",e=>{let{domNode:n,nodeDragThreshold:o,transform:r,snapGrid:a,snapToGrid:l}=t();c=n?.getBoundingClientRect()||null,h=!1,p=!1,g=e.sourceEvent,0===o&&E(e),i=nV(e.sourceEvent,{transform:r,snapGrid:a,snapToGrid:l,containerBounds:c}),u=nW(e.sourceEvent,c)}).on("drag",e=>{let{autoPanOnNodeDrag:n,transform:o,snapGrid:r,snapToGrid:a,nodeDragThreshold:f,nodeLookup:p}=t(),m=nV(e.sourceEvent,{transform:o,snapGrid:r,snapToGrid:a,containerBounds:c});if(g=e.sourceEvent,("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1||w&&!p.has(w))&&(h=!0),!h){if(!s&&n&&d&&(s=!0,S()),!d){let t=nW(e.sourceEvent,c),n=t.x-u.x,o=t.y-u.y;Math.sqrt(n*n+o*o)>f&&E(e)}(i.x!==m.xSnapped||i.y!==m.ySnapped)&&l&&d&&(u=nW(e.sourceEvent,c),_(m))}}).on("end",e=>{if(!d||h){h&&l.size>0&&t().updateNodePositions(l,!1);return}if(s=!1,d=!1,cancelAnimationFrame(a),l.size>0){let{nodeLookup:n,updateNodePositions:o,onNodeDragStop:i,onSelectionDragStop:a}=t();if(p&&(o(l,!1),p=!1),r||i||!w&&a){let[t,o]=o_({nodeId:w,dragItems:l,nodeLookup:n,dragging:!1});r?.(e.sourceEvent,l,t,o),i?.(e.sourceEvent,t,o),w||a?.(e.sourceEvent,o)}}}).filter(e=>{let t=e.target;return!e.button&&(!m||!ob(t,`.${m}`,v))&&(!y||ob(t,y,v))});f.call(M)},destroy:function(){f?.on(".drag",null)}}}function oE(e,t,n,o,r,i=!1){let a=o.get(e);if(!a)return null;let l="strict"===r?a.internals.handleBounds?.[t]:[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]],s=(n?l?.find(e=>e.id===n):l?.[0])??null;return s&&i?{...s,...on(a,s,s.position,!0)}:s}function oM(e,t){return e?e:t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null}let oC=()=>!0;function ok(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:r,fromType:i,doc:a,lib:l,flowId:s,isValidConnection:u=oC,nodeLookup:d}){let f="target"===i,h=t?a.querySelector(`.${l}-flow__handle[data-id="${s}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:g}=nW(e),m=a.elementFromPoint(p,g),y=m?.classList.contains(`${l}-flow__handle`)?m:h,v={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){let e=oM(void 0,y),t=y.getAttribute("data-nodeid"),i=y.getAttribute("data-handleid"),a=y.classList.contains("connectable"),l=y.classList.contains("connectableend");if(!t||!e)return v;let s={source:f?t:o,sourceHandle:f?i:r,target:f?o:t,targetHandle:f?r:i};v.connection=s,v.isValid=a&&l&&(n===c.Strict?f&&"source"===e||!f&&"target"===e:t!==o||i!==r)&&u(s),v.toHandle=oE(t,e,i,d,n,!0)}return v}let oN={onPointerDown:function(e,{connectionMode:t,connectionRadius:n,handleId:o,nodeId:r,edgeUpdaterType:i,isTarget:a,domNode:l,nodeLookup:s,lib:u,autoPanOnConnect:c,flowId:d,panBy:f,cancelConnection:h,onConnectStart:p,onConnect:m,onConnectEnd:y,isValidConnection:v=oC,onReconnectEnd:x,updateConnection:w,getTransform:b,getFromHandle:_,autoPanSpeed:S,dragThreshold:E=1,handleDomNode:M}){let C,k=nF(e.target),N=0,{x:P,y:A}=nW(e),$=oM(i,M),z=l?.getBoundingClientRect(),I=!1;if(!z||!$)return;let R=oE(r,$,o,s,t);if(!R)return;let D=nW(e,z),j=!1,O=null,L=!1,B=null,T={...R,nodeId:r,type:$,position:R.position},H=s.get(r),V={inProgress:!0,isValid:null,from:on(H,T,g.Left,!0),fromHandle:T,fromPosition:T.position,fromNode:H,to:D,toHandle:null,toPosition:nt[T.position],toNode:null,pointer:D};function X(){I=!0,w(V),p?.(e,{nodeId:r,handleId:o,handleType:$})}function F(e){var i,l;let h;if(!I){let{x:t,y:n}=nW(e),o=t-P,r=n-A;if(!(o*o+r*r>E*E))return;X()}if(!_()||!T)return void Y(e);let p=b();C=function(e,t,n,o){let r=[],i=1/0;for(let a of function(e,t,n){let o=[],r={x:e.x-n,y:e.y-n,width:2*n,height:2*n};for(let e of t.values())nM(r,nb(e))>0&&o.push(e);return o}(e,n,t+250))for(let n of[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]]){if(o.nodeId===n.nodeId&&o.type===n.type&&o.id===n.id)continue;let{x:l,y:s}=on(a,n,n.position,!0),u=Math.sqrt(Math.pow(l-e.x,2)+Math.pow(s-e.y,2));u>t||(u<i?(r=[{...n,x:l,y:s}],i=u):u===i&&r.push({...n,x:l,y:s}))}if(!r.length)return null;if(r.length>1){let e="source"===o.type?"target":"source";return r.find(t=>t.type===e)??r[0]}return r[0]}(nA(D=nW(e,z),p,!1,[1,1]),n,s,T),j||(!function e(){if(!c||!z)return;let[t,n]=ny(D,z,S);f({x:t,y:n}),N=requestAnimationFrame(e)}(),j=!0);let m=ok(e,{handle:C,connectionMode:t,fromNodeId:r,fromHandleId:o,fromType:a?"target":"source",isValidConnection:v,doc:k,lib:u,flowId:d,nodeLookup:s});B=m.handleDomNode,O=m.connection,i=!!C,l=m.isValid,h=null,l?h=!0:i&&!l&&(h=!1),L=h;let y=s.get(r),x=y?on(y,T,g.Left,!0):V.from,M={...V,from:x,isValid:L,to:m.toHandle&&L?n$({x:m.toHandle.x,y:m.toHandle.y},p):D,toHandle:m.toHandle,toPosition:L&&m.toHandle?m.toHandle.position:nt[T.position],toNode:m.toHandle?s.get(m.toHandle.nodeId):null,pointer:D};w(M),V=M}function Y(e){if(!("touches"in e)||!(e.touches.length>0)){if(I){(C||B)&&O&&L&&m?.(O);let{inProgress:t,...n}=V,o={...n,toPosition:V.toHandle?V.toPosition:null};y?.(e,o),i&&x?.(e,o)}h(),cancelAnimationFrame(N),j=!1,L=!1,O=null,B=null,k.removeEventListener("mousemove",F),k.removeEventListener("mouseup",Y),k.removeEventListener("touchmove",F),k.removeEventListener("touchend",Y)}}0===E&&X(),k.addEventListener("mousemove",F),k.addEventListener("mouseup",Y),k.addEventListener("touchmove",F),k.addEventListener("touchend",Y)},isValid:ok};function oP({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){let r=ef(e);return{update:function({translateExtent:e,width:i,height:a,zoomStep:l=1,pannable:s=!0,zoomable:u=!0,inversePan:c=!1}){let d=[0,0],f=t3().on("start",e=>{("mousedown"===e.sourceEvent.type||"touchstart"===e.sourceEvent.type)&&(d=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on("zoom",s?r=>{let l=n();if("mousemove"!==r.sourceEvent.type&&"touchmove"!==r.sourceEvent.type||!t)return;let s=[r.sourceEvent.clientX??r.sourceEvent.touches[0].clientX,r.sourceEvent.clientY??r.sourceEvent.touches[0].clientY],u=[s[0]-d[0],s[1]-d[1]];d=s;let f=o()*Math.max(l[2],Math.log(l[2]))*(c?-1:1),h={x:l[0]-u[0]*f,y:l[1]-u[1]*f};t.setViewportConstrained({x:h.x,y:h.y,zoom:l[2]},[[0,0],[i,a]],e)}:null).on("zoom.wheel",u?e=>{if("wheel"!==e.sourceEvent.type||!t)return;let o=n(),r=e.sourceEvent.ctrlKey&&nR()?10:1,i=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*l,a=o[2]*Math.pow(2,i*r);t.scaleTo(a)}:null);r.call(f,{})},destroy:function(){r.on("zoom",null)},pointer:eh}}let oA=e=>({x:e.x,y:e.y,zoom:e.k}),o$=({x:e,y:t,zoom:n})=>tW.translate(e,t).scale(n),oz=(e,t)=>e.target.closest(`.${t}`),oI=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),oR=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,oD=(e,t=0,n=oR,o=()=>{})=>{let r="number"==typeof t&&t>0;return r||o(),r?e.transition().duration(t).ease(n).on("end",o):e},oj=e=>{let t=e.ctrlKey&&nR()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t};function oO({domNode:e,minZoom:t,maxZoom:n,translateExtent:o,viewport:r,onPanZoom:i,onPanZoomStart:a,onPanZoomEnd:l,onDraggingChange:s}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},c=e.getBoundingClientRect(),f=[[0,0],[c.width,c.height]],h="u">typeof ResizeObserver?new ResizeObserver(e=>{let t=e[0];t&&(f=[[0,0],[t.contentRect.width,t.contentRect.height]])}):null;h?.observe(e);let p=t3().extent(()=>f).scaleExtent([t,n]).translateExtent(o),g=ef(e).call(p);w({x:r.x,y:r.y,zoom:nh(r.zoom,t,n)},[[0,0],[c.width,c.height]],o);let m=g.on("wheel.zoom"),y=g.on("dblclick.zoom");async function v(e,t){return!!g&&new Promise(n=>{p?.interpolate(t?.interpolate==="linear"?t4:eN).transform(oD(g,t?.duration,t?.ease,()=>n(!0)),e)})}function x(){p.on("zoom",null)}async function w(e,t,n){let o=o$(e),r=p?.constrain()(o,t,n);return r&&await v(r),r}return p.wheelDelta(oj),{update:function({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:o,panOnScroll:r,panOnDrag:c,panOnScrollMode:f,panOnScrollSpeed:h,preventScrolling:v,zoomOnPinch:w,zoomOnScroll:b,zoomOnDoubleClick:_,panActivationKeyPressed:S=!1,zoomActivationKeyPressed:E,lib:M,onTransformChange:C,connectionInProgress:k,paneClickDistance:N,selectionOnDrag:P}){o&&!u.isZoomingOrPanning&&x();let A=r&&!E&&!o;p.clickDistance(P?1/0:!nk(N)||N<0?0:N);let $=A?function({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:i,zoomOnPinch:a,onPanZoomStart:l,onPanZoom:s,onPanZoomEnd:u}){return c=>{if(oz(c,t))return c.ctrlKey&&c.preventDefault(),!1;c.preventDefault(),c.stopImmediatePropagation();let f=n.property("__zoom").k||1;if(c.ctrlKey&&a){let e=eh(c),t=f*Math.pow(2,oj(c));o.scaleTo(n,t,e,c);return}let h=1===c.deltaMode?20:1,p=r===d.Vertical?0:c.deltaX*h,g=r===d.Horizontal?0:c.deltaY*h;!nR()&&c.shiftKey&&r!==d.Vertical&&(p=c.deltaY*h,g=0),o.translateBy(n,-(p/f)*i,-(g/f)*i,{internal:!0});let m=oA(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?s?.(c,m):(e.isPanScrolling=!0,l?.(c,m)),e.panScrollTimeout=setTimeout(()=>{u?.(c,m),e.isPanScrolling=!1},150)}}({zoomPanValues:u,noWheelClassName:e,d3Selection:g,d3Zoom:p,panOnScrollMode:f,panOnScrollSpeed:h,zoomOnPinch:w,onPanZoomStart:a,onPanZoom:i,onPanZoomEnd:l}):function({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(o,r){let i="wheel"===o.type,a=!t&&i&&!o.ctrlKey,l=oz(o,e);if(o.ctrlKey&&i&&l&&o.preventDefault(),a||l)return null;o.preventDefault(),n.call(this,o,r)}}({noWheelClassName:e,preventScrolling:v,d3ZoomHandler:m});g.on("wheel.zoom",$,{passive:!1});let z=function({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return o=>{if(o.sourceEvent?.internal)return;let r=oA(o.transform);e.mouseButton=o.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=r,o.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(o.sourceEvent,r)}}({zoomPanValues:u,onDraggingChange:s,onPanZoomStart:a});p.on("start",z);let I=function({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:o,onPanZoom:r}){return i=>{e.usedRightMouseButton=!!(n&&oI(t,e.mouseButton??0)),i.sourceEvent?.sync||o([i.transform.x,i.transform.y,i.transform.k]),r&&!i.sourceEvent?.internal&&r?.(i.sourceEvent,oA(i.transform))}}({zoomPanValues:u,panOnDrag:c,onPaneContextMenu:!!n,onPanZoom:i,onTransformChange:C});p.on("zoom",I);let R=function({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:i}){return a=>{if(!a.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&oI(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&i(a.sourceEvent),e.usedRightMouseButton=!1,o(!1),r)){let t=oA(a.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r?.(a.sourceEvent,t)},150*!!n)}}}({zoomPanValues:u,panOnDrag:c,panOnScroll:r,onPaneContextMenu:n,onPanZoomEnd:l,onDraggingChange:s});p.on("end",R);let D=function({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:o,panOnDrag:r,panOnScroll:i,zoomOnDoubleClick:a,userSelectionActive:l,noWheelClassName:s,noPanClassName:u,lib:c,connectionInProgress:d}){return f=>{let h=t||n,p=o&&f.ctrlKey,g="wheel"===f.type;if(1===f.button&&"mousedown"===f.type&&(oz(f,`${c}-flow__node`)||oz(f,`${c}-flow__edge`)||oz(f,`${c}-flow__selection`)||oz(f,`${c}-flow__nodesselection`)))return!0;if(!r&&!h&&!i&&!a&&!o||l||d&&!g||oz(f,s)&&g||oz(f,u)&&(!g||i&&g&&!t)||!o&&f.ctrlKey&&g)return!1;if(!o&&"touchstart"===f.type&&f.touches?.length>1)return f.preventDefault(),!1;if(!h&&!i&&!p&&g||!r&&("mousedown"===f.type||"touchstart"===f.type)||Array.isArray(r)&&!r.includes(f.button)&&"mousedown"===f.type)return!1;let m=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||g||e)&&m}}({panActivationKeyPressed:S,zoomActivationKeyPressed:E,panOnDrag:c,zoomOnScroll:b,panOnScroll:r,zoomOnDoubleClick:_,zoomOnPinch:w,userSelectionActive:o,noPanClassName:t,noWheelClassName:e,lib:M,connectionInProgress:k});p.filter(D),_?g.on("dblclick.zoom",y):g.on("dblclick.zoom",null)},destroy:x,setViewport:async function e(e,t){let n=o$(e);return await v(n,t),n},setViewportConstrained:w,getViewport:function(){let e=g?tq(g.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}},scaleTo:async function e(e,t){return!!g&&new Promise(n=>{p?.interpolate(t?.interpolate==="linear"?t4:eN).scaleTo(oD(g,t?.duration,t?.ease,()=>n(!0)),e)})},scaleBy:async function e(e,t){return!!g&&new Promise(n=>{p?.interpolate(t?.interpolate==="linear"?t4:eN).scaleBy(oD(g,t?.duration,t?.ease,()=>n(!0)),e)})},setScaleExtent:function(e){p?.scaleExtent(e)},setTranslateExtent:function(e){p?.translateExtent(e)},syncViewport:function(e){if(g){let t=o$(e),n=g.property("__zoom");(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&p?.transform(g,t,null,{sync:!0})}},setClickDistance:function(e){let t=!nk(e)||e<0?0:e;p?.clickDistance(t)}}}function oL(e){let t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:e.includes("left"),affectsY:e.includes("top")}}function oB(e,t){return Math.max(0,t-e)}function oT(e,t){return Math.max(0,e-t)}function oH(e,t,n){return Math.max(0,t-e,e-n)}(l=m||(m={})).Line="line",l.Handle="handle";let oV={width:0,height:0,x:0,y:0},oX={...oV,pointerX:0,pointerY:0,aspectRatio:1};function oF({domNode:e,nodeId:t,getStoreItems:n,onChange:o,onEnd:r}){let i=ef(e),a={controlDirection:oL("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};return{update:function({controlPosition:e,boundaries:l,keepAspectRatio:s,resizeDirection:u,onResizeStart:c,onResize:d,onResizeEnd:f,shouldResize:h}){let p,g,m,y,v={...oV},x={...oX};a={boundaries:l,resizeDirection:u,keepAspectRatio:s,controlDirection:oL(e)};let w=null,b=[],_=!1,S=eC().on("start",e=>{let{nodeLookup:o,transform:r,snapGrid:i,snapToGrid:a,nodeOrigin:l,paneDomNode:s}=n();if(!(p=o.get(t)))return;w=s?.getBoundingClientRect()??null;let{xSnapped:u,ySnapped:d}=nV(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:a,containerBounds:w});for(let[e,n]of(x={...v={width:p.measured.width??0,height:p.measured.height??0,x:p.position.x??0,y:p.position.y??0},pointerX:u,pointerY:d,aspectRatio:v.width/v.height},g=void 0,m=nD(p.extent)?p.extent:void 0,p.parentId&&("parent"===p.extent||p.expandParent)&&(g=o.get(p.parentId)),g&&"parent"===p.extent&&(m=[[0,0],[g.measured.width,g.measured.height]]),b=[],y=void 0,o))if(n.parentId===t&&(b.push({id:e,position:{...n.position},extent:n.extent}),"parent"===n.extent||n.expandParent)){let e=function(e,t,n){let o=t.position.x+e.position.x,r=t.position.y+e.position.y,i=e.measured.width??0,a=e.measured.height??0,l=n[0]*i,s=n[1]*a;return[[o-l,r-s],[o+i-l,r+a-s]]}(n,p,n.origin??l);y=y?[[Math.min(e[0][0],y[0][0]),Math.min(e[0][1],y[0][1])],[Math.max(e[1][0],y[1][0]),Math.max(e[1][1],y[1][1])]]:e}c?.(e,{...v})}).on("drag",e=>{let{transform:t,snapGrid:r,snapToGrid:i,nodeOrigin:l}=n(),s=nV(e.sourceEvent,{transform:t,snapGrid:r,snapToGrid:i,containerBounds:w}),u=[];if(!p)return;let{x:c,y:f,width:S,height:E}=v,M={},C=p.origin??l,{width:k,height:N,x:P,y:A}=function(e,t,n,o,r,i,a,l){var s,u,c,d;let{affectsX:f,affectsY:h}=t,{isHorizontal:p,isVertical:g}=t,m=p&&g,{xSnapped:y,ySnapped:v}=n,{minWidth:x,maxWidth:w,minHeight:b,maxHeight:_}=o,{x:S,y:E,width:M,height:C,aspectRatio:k}=e,N=Math.floor(p?y-e.pointerX:0),P=Math.floor(g?v-e.pointerY:0),A=M+(f?-N:N),$=C+(h?-P:P),z=-i[0]*M,I=-i[1]*C,R=oH(A,x,w),D=oH($,b,_);if(a){let e=0,t=0;f&&N<0?e=oB(S+N+z,a[0][0]):!f&&N>0&&(e=oT(S+A+z,a[1][0])),h&&P<0?t=oB(E+P+I,a[0][1]):!h&&P>0&&(t=oT(E+$+I,a[1][1])),R=Math.max(R,e),D=Math.max(D,t)}if(l){let e=0,t=0;f&&N>0?e=oT(S+N,l[0][0]):!f&&N<0&&(e=oB(S+A,l[1][0])),h&&P>0?t=oT(E+P,l[0][1]):!h&&P<0&&(t=oB(E+$,l[1][1])),R=Math.max(R,e),D=Math.max(D,t)}if(r){if(p){(R=Math.max(R,oH(A/k,b,_)*k),a)&&(R=Math.max(R,(f||h)&&(!f||h||!m)?oB(E+I+(f?N:-N)/k,a[0][1])*k:oT(E+I+A/k,a[1][1])*k));l&&(R=Math.max(R,(f||h)&&(!f||h||!m)?oT(E+(f?N:-N)/k,l[0][1])*k:oB(E+A/k,l[1][1])*k))}if(g){(D=Math.max(D,oH($*k,x,w)/k),a)&&(D=Math.max(D,(f||h)&&(!h||f||!m)?oB(S+(h?P:-P)*k+z,a[0][0])/k:oT(S+$*k+z,a[1][0])/k));l&&(D=Math.max(D,(f||h)&&(!h||f||!m)?oT(S+(h?P:-P)*k,l[0][0])/k:oB(S+$*k,l[1][0])/k))}}P+=P<0?D:-D,N+=N<0?R:-R,r&&(m?A>$*k?P=((s=f,u=h,s?!u:u)?-N:N)/k:N=((c=f,d=h,c?!d:d)?-P:P)*k:p?(P=N/k,h=f):(N=P*k,f=h));let j=f?S+N:S,O=h?E+P:E;return{width:M+(f?-N:N),height:C+(h?-P:P),x:i[0]*N*(f?-1:1)+j,y:i[1]*P*(h?-1:1)+O}}(x,a.controlDirection,s,a.boundaries,a.keepAspectRatio,C,m,y),$=k!==S,z=N!==E,I=P!==c&&$,R=A!==f&&z;if(!I&&!R&&!$&&!z)return;if((I||R||1===C[0]||1===C[1])&&(M.x=I?P:v.x,M.y=R?A:v.y,v.x=M.x,v.y=M.y,b.length>0)){let e=P-c,t=A-f;for(let n of b)n.position={x:n.position.x-e+C[0]*(k-S),y:n.position.y-t+C[1]*(N-E)},u.push(n)}if(($||z)&&(M.width=$&&(!a.resizeDirection||"horizontal"===a.resizeDirection)?k:v.width,M.height=z&&(!a.resizeDirection||"vertical"===a.resizeDirection)?N:v.height,v.width=M.width,v.height=M.height),g&&p.expandParent){let e=C[0]*(M.width??0);M.x&&M.x<e&&(v.x=e,x.x=x.x-(M.x-e));let t=C[1]*(M.height??0);M.y&&M.y<t&&(v.y=t,x.y=x.y-(M.y-t))}let D=function({width:e,prevWidth:t,height:n,prevHeight:o,affectsX:r,affectsY:i}){let a=e-t,l=n-o,s=[a>0?1:a<0?-1:0,l>0?1:l<0?-1:0];return a&&r&&(s[0]=-1*s[0]),l&&i&&(s[1]=-1*s[1]),s}({width:v.width,prevWidth:S,height:v.height,prevHeight:E,affectsX:a.controlDirection.affectsX,affectsY:a.controlDirection.affectsY}),j={...v,direction:D};!1!==h?.(e,j)&&(_=!0,d?.(e,j),o(M,u))}).on("end",e=>{_&&(f?.(e,{...v}),r?.({...v}),_=!1)});i.call(S)},destroy:function(){i.on(".drag",null)}}}e.s(["ConnectionLineType",0,h,"ConnectionMode",0,c,"MarkerType",0,p,"PanOnScrollMode",0,d,"Position",0,g,"ResizeControlVariant",0,m,"SelectionMode",0,f,"XYDrag",0,oS,"XYHandle",0,oN,"XYMinimap",0,oP,"XYPanZoom",0,oO,"XYResizer",0,oF,"XY_RESIZER_HANDLE_POSITIONS",0,["top-left","top-right","bottom-left","bottom-right"],"XY_RESIZER_LINE_POSITIONS",0,["top","right","bottom","left"],"addEdge",0,n3,"adoptUserNodes",0,oh,"areConnectionMapsEqual",0,function(e,t){if(!e&&!t)return!0;if(!e||!t||e.size!==t.size)return!1;if(!e.size&&!t.size)return!0;for(let n of e.keys())if(!t.has(n))return!1;return!0},"areSetsEqual",0,nB,"calcAutoPan",0,ny,"calculateNodePosition",0,nd,"createDevWarn",0,nN,"createMarkerIds",0,oi,"defaultAriaLabelConfig",0,t9,"elementSelectionKeys",0,t7,"errorMessages",0,t6,"evaluateAbsolutePosition",0,nL,"fitViewport",0,nc,"getBezierEdgeCenter",0,nU,"getBezierPath",0,nJ,"getBoundsOfRects",0,nS,"getConnectionStatus",0,nn,"getDimensions",0,nX,"getEdgePosition",0,oe,"getEdgeToolbarTransform",0,function(e,t,n,o="center",r="center"){return`translate(${e}px, ${t}px) scale(${1/n}) translate(${-(oa[o]??50)}%, ${-(ol[r]??50)}%)`},"getElementsToRemove",0,nf,"getElevatedEdgeZIndex",0,n1,"getEventPosition",0,nW,"getHandlePosition",0,on,"getHostForElement",0,nF,"getInternalNodesBounds",0,ns,"getMarkerId",0,or,"getNodeDimensions",0,nj,"getNodeToolbarTransform",0,function(e,t,n,o,r){let i=.5;"start"===r?i=0:"end"===r&&(i=1);let a=[(e.x+e.width*i)*t.zoom+t.x,e.y*t.zoom+t.y-o],l=[-100*i,-100];switch(n){case g.Right:a=[(e.x+e.width)*t.zoom+t.x+o,(e.y+e.height*i)*t.zoom+t.y],l=[0,-100*i];break;case g.Bottom:a[1]=(e.y+e.height)*t.zoom+t.y+o,l[1]=0;break;case g.Left:a=[e.x*t.zoom+t.x-o,(e.y+e.height*i)*t.zoom+t.y],l=[-100,-100*i]}return`translate(${a[0]}px, ${a[1]}px) translate(${l[0]}%, ${l[1]}%)`},"getNodesBounds",0,nl,"getNodesInside",0,nu,"getOverlappingArea",0,nM,"getSmoothStepPath",0,n7,"getStraightPath",0,n4,"getViewportForBounds",0,nI,"handleConnectionChange",0,function(e,t,n){if(!n)return;let o=[];e.forEach((e,n)=>{t?.has(n)||o.push(e)}),o.length&&n(o)},"handleExpandParent",0,om,"infiniteExtent",0,t8,"initialConnection",0,ne,"isEdgeBase",0,no,"isEdgeVisible",0,n2,"isInputDOMNode",0,nZ,"isMacOs",0,nR,"isMouseEvent",0,nK,"isNodeBase",0,nr,"isNumeric",0,nk,"isRectObject",0,nC,"mergeAriaLabelConfig",0,nH,"nodeHasDimensions",0,nO,"nodeToRect",0,nb,"panBy",0,ov,"pointToRendererPoint",0,nA,"reconnectEdge",0,(e,t,n,o={shouldReplaceId:!0})=>{let{id:r,...i}=e;if(!t.source||!t.target)return o.onError?.("006",t6.error006()),n;if(!n.find(t=>t.id===e.id))return o.onError?.("007",t6.error007(r)),n;let a=o.getEdgeId||n5,l={...i,id:o.shouldReplaceId?a(t):r,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle};return n.filter(e=>e.id!==r).concat(l)},"rendererPointToPoint",0,n$,"shallowNodeData",0,function(e,t){if(null===e||null===t)return!1;let n=Array.isArray(e)?e:[e],o=Array.isArray(t)?t:[t];if(n.length!==o.length)return!1;for(let e=0;e<n.length;e++)if(n[e].id!==o[e].id||n[e].type!==o[e].type||!Object.is(n[e].data,o[e].data))return!1;return!0},"snapPosition",0,nP,"updateAbsolutePositions",0,od,"updateConnectionLookup",0,ow,"updateNodeInternals",0,oy,"withResolvers",0,nT],30590);var oY=e.i(30224);let oZ=e=>{let t,n=new Set,o=(e,o)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=o?o:"object"!=typeof r||null===r)?r:Object.assign({},t,r),n.forEach(n=>n(t,e))}},r=()=>t,i={setState:o,getState:r,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},a=t=e(o,r,i);return i},{useDebugValue:oK}=x.default,{useSyncExternalStoreWithSelector:oW}=oY.default,oq=e=>e;function oU(e,t=oq,n){let o=oW(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return oK(o),o}let oG=(e,t)=>{let n=e?oZ(e):oZ,o=(e,o=t)=>oU(n,e,o);return Object.assign(o,n),o};function oQ(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,o]of e)if(!Object.is(o,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}e.i(74080);let oJ=(0,x.createContext)(null),o0=oJ.Provider,o1=t6.error001("react");function o2(e,t){let n=(0,x.useContext)(oJ);if(null===n)throw Error(o1);return oU(n,e,t)}function o5(){let e=(0,x.useContext)(oJ);if(null===e)throw Error(o1);return(0,x.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let o3={display:"none"},o4={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},o6="react-flow__node-desc",o8="react-flow__edge-desc",o7=e=>e.ariaLiveMessage,o9=e=>e.ariaLabelConfig;function re({rfId:e}){let t=o2(o7);return(0,v.jsx)("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:o4,children:t})}function rt({rfId:e,disableKeyboardA11y:t}){let n=o2(o9);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("div",{id:`${o6}-${e}`,style:o3,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,v.jsx)("div",{id:`${o8}-${e}`,style:o3,children:n["edge.a11yDescription.default"]}),!t&&(0,v.jsx)(re,{rfId:e})]})}let rn=(0,x.forwardRef)(({position:e="top-left",children:t,className:n,style:o,...r},i)=>{let a=`${e}`.split("-");return(0,v.jsx)("div",{className:w(["react-flow__panel",n,...a]),style:o,ref:i,...r,children:t})});rn.displayName="Panel";let ro="https://reactflow.dev?utm_source=attribution";function rr({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:(0,v.jsx)(rn,{position:t,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${ro}`,children:(0,v.jsx)("a",{href:ro,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}let ri=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},ra=e=>e.id;function rl(e,t){return oQ(e.selectedNodes.map(ra),t.selectedNodes.map(ra))&&oQ(e.selectedEdges.map(ra),t.selectedEdges.map(ra))}function rs({onSelectionChange:e}){let t=o5(),{selectedNodes:n,selectedEdges:o}=o2(ri,rl);return(0,x.useEffect)(()=>{let r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChangeHandlers.forEach(e=>e(r))},[n,o,e]),null}let ru=e=>!!e.onSelectionChangeHandlers;function rc({onSelectionChange:e}){let t=o2(ru);return e||t?(0,v.jsx)(rs,{onSelectionChange:e}):null}let rd=[0,0],rf={x:0,y:0,zoom:1},rh=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],rp=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),rg={translateExtent:t8,nodeOrigin:rd,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function rm(e){let{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:r,setTranslateExtent:i,setNodeExtent:a,reset:l,setDefaultNodesAndEdges:s}=o2(rp,oQ),u=o5();(0,x.useEffect)(()=>(s(e.defaultNodes,e.defaultEdges),()=>{c.current=rg,l()}),[]);let c=(0,x.useRef)(rg);return(0,x.useEffect)(()=>{for(let l of rh){let s=e[l];s!==c.current[l]&&void 0!==e[l]&&("nodes"===l?t(s):"edges"===l?n(s):"minZoom"===l?o(s):"maxZoom"===l?r(s):"translateExtent"===l?i(s):"nodeExtent"===l?a(s):"ariaLabelConfig"===l?u.setState({ariaLabelConfig:nH(s)}):"fitView"===l?u.setState({fitViewQueued:s}):"fitViewOptions"===l?u.setState({fitViewOptions:s}):u.setState({[l]:s}))}c.current=e},rh.map(t=>e[t])),null}function ry(){return"u"<typeof window||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}let rv="u">typeof document?document:null;function rx(e=null,t={target:rv,actInsideInputWithModifier:!0}){let[n,o]=(0,x.useState)(!1),r=(0,x.useRef)(!1),i=(0,x.useRef)(new Set([])),[a,l]=(0,x.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace(/\+/g,"\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,x.useEffect)(()=>{let n=t?.target??rv,s=t?.actInsideInputWithModifier??!0;if(null!==e){let e=e=>{if(r.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!r.current||r.current&&!s)&&nZ(e))return!1;let n=rb(e.code,l);if(i.current.add(e[n]),rw(a,i.current,!1)){let n=e.composedPath?.()?.[0]||e.target,i=n?.nodeName==="BUTTON"||n?.nodeName==="A";!1!==t.preventDefault&&(r.current||!i)&&e.preventDefault(),o(!0)}},u=e=>{let t=rb(e.code,l);rw(a,i.current,!0)?(o(!1),i.current.clear()):i.current.delete(e[t]),"Meta"===e.key&&i.current.clear(),r.current=!1},c=()=>{i.current.clear(),o(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",u),window.addEventListener("blur",c),window.addEventListener("contextmenu",c),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",u),window.removeEventListener("blur",c),window.removeEventListener("contextmenu",c)}}},[e,o]),n}function rw(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function rb(e,t){return t.includes(e)?"code":"key"}function r_(e,t){let n=[],o=new Map,r=[];for(let t of e)if("add"===t.type){r.push(t);continue}else if("remove"===t.type||"replace"===t.type)o.set(t.id,[t]);else{let e=o.get(t.id);e?e.push(t):o.set(t.id,[t])}for(let e of t){let t=o.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let r={...e};for(let e of t){var i=e,a=r;switch(i.type){case"select":a.selected=i.selected;break;case"position":void 0!==i.position&&(a.position=i.position),void 0!==i.dragging&&(a.dragging=i.dragging);break;case"dimensions":void 0!==i.dimensions&&(a.measured={...i.dimensions},i.setAttributes&&((!0===i.setAttributes||"width"===i.setAttributes)&&(a.width=i.dimensions.width),(!0===i.setAttributes||"height"===i.setAttributes)&&(a.height=i.dimensions.height))),"boolean"==typeof i.resizing&&(a.resizing=i.resizing)}}n.push(r)}return r.length&&r.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function rS(e,t){return{id:e,type:"select",selected:t}}function rE(e,t=new Set,n=!1){let o=[];for(let[r,i]of e){let e=t.has(r);(void 0!==i.selected||e)&&i.selected!==e&&(n&&(i.selected=e),o.push(rS(i.id,e)))}return o}function rM({items:e=[],lookup:t}){let n=[],o=new Map(e.map(e=>[e.id,e]));for(let[o,r]of e.entries()){let e=t.get(r.id),i=e?.internals?.userNode??e;void 0!==i&&i!==r&&n.push({id:r.id,item:r,type:"replace"}),void 0===i&&n.push({item:r,type:"add",index:o})}for(let[e]of t)void 0===o.get(e)&&n.push({id:e,type:"remove"});return n}function rC(e){return{id:e.id,type:"remove"}}let rk=nN("React Flow","https://reactflow.dev/");function rN(e){return(0,x.forwardRef)(e)}let rP="u">typeof window?x.useLayoutEffect:x.useEffect;function rA(e){let[t,n]=(0,x.useState)(BigInt(0)),[o]=(0,x.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return rP(()=>{let t=o.get();t.length&&(e(t),o.reset())},[t]),o}let r$=(0,x.createContext)(null);function rz({children:e}){let t=o5(),n=rA((0,x.useCallback)(e=>{let{nodes:n=[],setNodes:o,hasDefaultNodes:r,onNodesChange:i,nodeLookup:a,fitViewQueued:l,onNodesChangeMiddlewareMap:s}=t.getState(),u=n;for(let t of e)u="function"==typeof t?t(u):t;let c=rM({items:u,lookup:a});for(let e of s.values())c=e(c);r&&o(u),c.length>0?i?.(c):l&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:o}=t.getState();e&&o(n)})},[])),o=rA((0,x.useCallback)(e=>{let{edges:n=[],setEdges:o,hasDefaultEdges:r,onEdgesChange:i,edgeLookup:a}=t.getState(),l=n;for(let t of e)l="function"==typeof t?t(l):t;r?o(l):i&&i(rM({items:l,lookup:a}))},[])),r=(0,x.useMemo)(()=>({nodeQueue:n,edgeQueue:o}),[]);return(0,v.jsx)(r$.Provider,{value:r,children:e})}let rI=e=>!!e.panZoom;function rR(){let e,t=(e=o5(),(0,x.useMemo)(()=>({zoomIn:async t=>{let{panZoom:n}=e.getState();return!!n&&n.scaleBy(1.2,t)},zoomOut:async t=>{let{panZoom:n}=e.getState();return!!n&&n.scaleBy(1/1.2,t)},zoomTo:async(t,n)=>{let{panZoom:o}=e.getState();return!!o&&o.scaleTo(t,n)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[o,r,i],panZoom:a}=e.getState();return!!a&&(await a.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??i},n),!0)},getViewport:()=>{let[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{let{width:o,height:r,minZoom:i,maxZoom:a,panZoom:l}=e.getState(),s=nI(t,o,r,i,a,n?.padding??.1);return!!l&&(await l.setViewport(s,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0)},screenToFlowPosition:(t,n={})=>{let{transform:o,snapGrid:r,snapToGrid:i,domNode:a}=e.getState();if(!a)return t;let{x:l,y:s}=a.getBoundingClientRect(),u={x:t.x-l,y:t.y-s},c=n.snapGrid??r;return nA(u,o,n.snapToGrid??i,c)},flowToScreenPosition:t=>{let{transform:n,domNode:o}=e.getState();if(!o)return t;let{x:r,y:i}=o.getBoundingClientRect(),a=n$(t,n);return{x:a.x+r,y:a.y+i}}}),[])),n=o5(),o=function(){let e=(0,x.useContext)(r$);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),r=o2(rI),i=(0,x.useMemo)(()=>{let e=e=>n.getState().nodeLookup.get(e),t=e=>{o.nodeQueue.push(e)},r=e=>{o.edgeQueue.push(e)},i=e=>{let{nodeLookup:t,nodeOrigin:o}=n.getState(),r=nr(e)?e:t.get(e.id),i=r.parentId?nL(r.position,r.measured,r.parentId,t,o):r.position;return nb({...r,position:i,width:r.measured?.width??r.width,height:r.measured?.height??r.height})},a=(e,n,o={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){let e="function"==typeof n?n(t):n;return o.replace&&nr(e)?e:{...t,...e}}return t}))},l=(e,t,n={replace:!1})=>{r(o=>o.map(o=>{if(o.id===e){let e="function"==typeof t?t(o):t;return n.replace&&no(e)?e:{...o,...e}}return o}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:r,addNodes:e=>{let t=Array.isArray(e)?e:[e];o.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];o.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:t=[],transform:o}=n.getState(),[r,i,a]=o;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:r,y:i,zoom:a}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{let{nodes:o,edges:r,onNodesDelete:i,onEdgesDelete:a,triggerNodeChanges:l,triggerEdgeChanges:s,onDelete:u,onBeforeDelete:c}=n.getState(),{nodes:d,edges:f}=await nf({nodesToRemove:e,edgesToRemove:t,nodes:o,edges:r,onBeforeDelete:c}),h=f.length>0,p=d.length>0;if(h){let e=f.map(rC);a?.(f),s(e)}if(p){let e=d.map(rC);i?.(d),l(e)}return(p||h)&&u?.({nodes:d,edges:f}),{deletedNodes:d,deletedEdges:f}},getIntersectingNodes:(e,t=!0,o)=>{let r=nC(e),a=r?e:i(e),l=void 0!==o;return a?(o||n.getState().nodes).filter(o=>{let i=n.getState().nodeLookup.get(o.id);if(i&&!r&&(o.id===e.id||!i.internals.positionAbsolute))return!1;let s=nb(l?o:i),u=nM(s,a);return t&&u>0||u>=s.width*s.height||u>=a.width*a.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let o=nC(e)?e:i(e);if(!o)return!1;let r=nM(o,t);return n&&r>0||r>=t.width*t.height||r>=o.width*o.height},updateNode:a,updateNodeData:(e,t,n={replace:!1})=>{a(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},updateEdge:l,updateEdgeData:(e,t,n={replace:!1})=>{l(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},getNodesBounds:e=>{let{nodeLookup:t,nodeOrigin:o}=n.getState();return nl(e,{nodeLookup:t,nodeOrigin:o})},getHandleConnections:({type:e,id:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{let t=n.getState().fitViewResolver??nT();return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:t}),o.nodeQueue.push(e=>[...e]),t.promise}}},[]);return(0,x.useMemo)(()=>({...i,...t,viewportInitialized:r}),[r])}let rD=e=>e.selected,rj="u">typeof window?window:void 0,rO={position:"absolute",width:"100%",height:"100%",top:0,left:0},rL=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function rB({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panActivationKeyPressed:r,panOnScrollSpeed:i=.5,panOnScrollMode:a=d.Free,zoomOnDoubleClick:l=!0,panOnDrag:s=!0,defaultViewport:u,translateExtent:c,minZoom:f,maxZoom:h,zoomActivationKeyCode:p,preventScrolling:g=!0,children:m,noWheelClassName:y,noPanClassName:w,onViewportChange:b,isControlledViewport:_,paneClickDistance:S,selectionOnDrag:E}){let M,C=o5(),k=(0,x.useRef)(null),{userSelectionActive:N,lib:P,connectionInProgress:A}=o2(rL,oQ),$=rx(p),z=(0,x.useRef)();M=o5(),(0,x.useEffect)(()=>{let e=()=>{if(!k.current||!(k.current.checkVisibility?.()??!0))return!1;let e=nX(k.current);(0===e.height||0===e.width)&&M.getState().onError?.("004",t6.error004()),M.setState({width:e.width||500,height:e.height||500})};if(k.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(k.current),()=>{window.removeEventListener("resize",e),t&&k.current&&t.unobserve(k.current)}}},[]);let I=(0,x.useCallback)(e=>{b?.({x:e[0],y:e[1],zoom:e[2]}),_||C.setState({transform:e})},[b,_]);return(0,x.useEffect)(()=>{if(k.current){z.current=oO({domNode:k.current,minZoom:f,maxZoom:h,translateExtent:c,viewport:u,onDraggingChange:e=>C.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:o}=C.getState();o?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:o}=C.getState();o?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:o}=C.getState();o?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=z.current.getViewport();return C.setState({panZoom:z.current,transform:[e,t,n],domNode:k.current.closest(".react-flow")}),()=>{z.current?.destroy()}}},[]),(0,x.useEffect)(()=>{z.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panActivationKeyPressed:r,panOnScrollSpeed:i,panOnScrollMode:a,zoomOnDoubleClick:l,panOnDrag:s,zoomActivationKeyPressed:$,preventScrolling:g,noPanClassName:w,userSelectionActive:N,noWheelClassName:y,lib:P,onTransformChange:I,connectionInProgress:A,selectionOnDrag:E,paneClickDistance:S})},[e,t,n,o,r,i,a,l,s,$,g,w,N,y,P,I,A,E,S]),(0,v.jsx)("div",{className:"react-flow__renderer",ref:k,style:rO,children:m})}let rT=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function rH(){let{userSelectionActive:e,userSelectionRect:t}=o2(rT,oQ);return e&&t?(0,v.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}let rV=(e,t)=>n=>{n.target===t.current&&e?.(n)},rX=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function rF({isSelecting:e,selectionKeyPressed:t,selectionMode:n=f.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:i,selectionOnDrag:a,onSelectionStart:l,onSelectionEnd:s,onPaneClick:u,onPaneContextMenu:c,onPaneScroll:d,onPaneMouseEnter:h,onPaneMouseMove:p,onPaneMouseLeave:g,children:m}){let y=(0,x.useRef)(0),b=o5(),{userSelectionActive:_,elementsSelectable:S,dragging:E,panBy:M,autoPanSpeed:C}=o2(rX,oQ),k=S&&(e||_),N=(0,x.useRef)(null),P=(0,x.useRef)(),A=(0,x.useRef)(new Set),$=(0,x.useRef)(new Set),z=(0,x.useRef)(!1),I=(0,x.useRef)(!1),R=(0,x.useRef)({x:0,y:0}),D=(0,x.useRef)(!1),j=e=>{if(I.current||z.current||b.getState().connection.inProgress){I.current=!1,z.current=!1;return}u?.(e),b.getState().resetSelectedElements(),b.setState({nodesSelectionActive:!1})};function O(e,t){let{userSelectionRect:o}=b.getState();if(!o)return;let{transform:r,nodeLookup:i,edgeLookup:a,connectionLookup:l,triggerNodeChanges:s,triggerEdgeChanges:u,defaultEdgeOptions:c}=b.getState(),d={x:o.startX,y:o.startY},{x:h,y:p}=n$(d,r),g={startX:d.x,startY:d.y,x:e<h?e:h,y:t<p?t:p,width:Math.abs(e-h),height:Math.abs(t-p)},m=A.current,y=$.current;A.current=new Set(nu(i,g,r,n===f.Partial,!0).map(e=>e.id)),$.current=new Set;let v=c?.selectable??!0;for(let e of A.current){let t=l.get(e);if(t)for(let{edgeId:e}of t.values()){let t=a.get(e);t&&(t.selectable??v)&&$.current.add(e)}}nB(m,A.current)||s(rE(i,A.current,!0)),nB(y,$.current)||u(rE(a,$.current)),b.setState({userSelectionRect:g,userSelectionActive:!0,nodesSelectionActive:!1})}let L=()=>{cancelAnimationFrame(y.current),y.current=0,D.current=!1};(0,x.useEffect)(()=>()=>L(),[]);let B=!0===o||Array.isArray(o)&&o.includes(0);return(0,v.jsxs)("div",{className:w(["react-flow__pane",{draggable:B,dragging:E,selection:e}]),onClick:k?void 0:rV(j,N),onContextMenu:rV(e=>{Array.isArray(o)&&o?.includes(2)?e.preventDefault():c?.(e)},N),onWheel:rV(d?e=>d(e):void 0,N),onPointerEnter:k?void 0:h,onPointerMove:k?e=>{let{userSelectionRect:n,transform:o,resetSelectedElements:a}=b.getState();if(!P.current||!n)return;let{x:s,y:u}=nW(e.nativeEvent,P.current);R.current={x:s,y:u};let c=n$({x:n.startX,y:n.startY},o);if(!I.current){if(Math.hypot(s-c.x,u-c.y)<=(t?0:i))return;a(),l?.(e)}I.current=!0,D.current||(!function e(){if(!r||!P.current)return;let[t,n]=ny(R.current,P.current,C);M({x:t,y:n}).then(t=>{if(!I.current||!t){y.current=requestAnimationFrame(e);return}let{x:n,y:o}=R.current;O(n,o),y.current=requestAnimationFrame(e)})}(),D.current=!0),O(s,u)}:p,onPointerUp:e=>{if(!k){e.target===N.current&&b.getState().connection.inProgress&&(z.current=!0);return}0===e.button&&(e.target?.releasePointerCapture?.(e.pointerId),!_&&e.target===N.current&&b.getState().userSelectionRect&&j?.(e),b.setState({userSelectionActive:!1,userSelectionRect:null}),I.current&&(s?.(e),b.setState({nodesSelectionActive:A.current.size>0})),L())},onPointerCancel:k?e=>{e.target?.releasePointerCapture?.(e.pointerId),L()}:void 0,onPointerDownCapture:k?n=>{if("touch"===n.pointerType&&!1!==o&&!t)return;let{domNode:r,transform:i}=b.getState();if(P.current=r?.getBoundingClientRect(),!P.current)return;let l=n.target===N.current;if(!l&&n.target.closest(".nokey")||!e||!(a&&l||t)||0!==n.button||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),I.current=!1;let{x:s,y:u}=nW(n.nativeEvent,P.current),c=nA({x:s,y:u},i);b.setState({userSelectionRect:{width:0,height:0,startX:c.x,startY:c.y,x:s,y:u}}),l||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:k?e=>{I.current&&(e.stopPropagation(),I.current=!1)}:void 0,onPointerLeave:g,ref:N,style:rO,children:[m,(0,v.jsx)(rH,{})]})}function rY({id:e,store:t,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:a,nodeLookup:l,onError:s}=t.getState(),u=l.get(e);u?(t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&a)&&(i({nodes:[u],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([e])):s?.("012",t6.error012(e))}function rZ({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:r,isSelectable:i,nodeClickDistance:a}){let l=o5(),[s,u]=(0,x.useState)(!1),c=(0,x.useRef)();return(0,x.useEffect)(()=>{if(!t)return c.current=oS({getStoreItems:()=>l.getState(),onNodeMouseDown:t=>{rY({id:t,store:l,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}}),()=>{c.current?.destroy(),c.current=void 0}},[t,l,e]),(0,x.useEffect)(()=>{!t&&e.current&&c.current&&c.current.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:i,nodeId:r,nodeClickDistance:a})},[n,o,t,i,e,r,a]),s}function rK(){let e=o5();return(0,x.useCallback)(t=>{let{nodeExtent:n,snapToGrid:o,snapGrid:r,nodesDraggable:i,onError:a,updateNodePositions:l,nodeLookup:s,nodeOrigin:u}=e.getState(),c=new Map,d=e=>e.selected&&(e.draggable||i&&void 0===e.draggable),f=o?r[0]:5,h=o?r[1]:5,p=t.direction.x*f*t.factor,g=t.direction.y*h*t.factor;for(let[,e]of s){if(!d(e))continue;let t={x:e.internals.positionAbsolute.x+p,y:e.internals.positionAbsolute.y+g};o&&(t=nP(t,r));let{position:i,positionAbsolute:l}=nd({nodeId:e.id,nextPosition:t,nodeLookup:s,nodeExtent:n,nodeOrigin:u,onError:a});e.position=i,e.internals.positionAbsolute=l,c.set(e.id,e)}l(c)},[])}let rW=(0,x.createContext)(null),rq=rW.Provider;rW.Consumer;let rU=()=>(0,x.useContext)(rW),rG=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),rQ=(0,x.createContext)(null);function rJ({children:e}){let t=o2(rG,oQ);return(0,v.jsx)(rQ.Provider,{value:t,children:e})}let r0={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},r1=(0,x.memo)(rN(function({type:e="source",position:t=g.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:i=!0,id:a,onConnect:l,children:s,className:u,onMouseDown:d,onTouchStart:f,...h},p){let m=a||null,y="target"===e,b=o5(),_=rU(),{connectOnClick:S,noPanClassName:E,rfId:M}=function(){let e=(0,x.useContext)(rQ);if(!e)throw Error("useHandleConfig must be used within a HandleConfigProvider");return e}(),{connectingFrom:C,connectingTo:k,clickConnecting:N,isPossibleEndHandle:P,connectionInProcess:A,clickConnectionInProcess:$,valid:z}=o2(t=>{let{connectionClickStartHandle:n,connectionMode:o,connection:r}=t,{fromHandle:i,toHandle:a,isValid:l}=r;if(!i&&!n)return r0;let s=a?.nodeId===_&&a?.id===m&&a?.type===e;return{connectingFrom:i?.nodeId===_&&i?.id===m&&i?.type===e,connectingTo:s,clickConnecting:n?.nodeId===_&&n?.id===m&&n?.type===e,isPossibleEndHandle:o===c.Strict?i?.type!==e:_!==i?.nodeId||m!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!n,valid:s&&l}},oQ);_||b.getState().onError?.("010",t6.error010());let I=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=b.getState(),r={...t,...e};if(o){let{edges:e,setEdges:t,onError:n}=b.getState();t(function(e,t,n={}){return n3(e,t,{...n,onError:n.onError??rk})}(r,e,{onError:n}))}n?.(r),l?.(r)},R=e=>{if(!_)return;let t=nK(e.nativeEvent);if(r&&(t&&0===e.button||!t)){let t=b.getState();oN.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:y,handleId:m,nodeId:_,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>b.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:I,isValidConnection:n||((...e)=>b.getState().isValidConnection?.(...e)??!0),getTransform:()=>b.getState().transform,getFromHandle:()=>b.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?d?.(e):f?.(e)};return(0,v.jsx)("div",{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${M}-${_}-${m}-${e}`,className:w(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",E,u,{source:!y,target:y,connectable:o,connectablestart:r,connectableend:i,clickconnecting:N,connectingfrom:C,connectingto:k,valid:z,connectionindicator:o&&(!A||P)&&(A||$?i:r)}]),onMouseDown:R,onTouchStart:R,onClick:S?t=>{let{onClickConnectStart:o,onClickConnectEnd:i,connectionClickStartHandle:a,connectionMode:l,isValidConnection:s,lib:u,rfId:c,nodeLookup:d,connection:f}=b.getState();if(!_||!a&&!r)return;if(!a){o?.(t.nativeEvent,{nodeId:_,handleId:m,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:_,type:e,id:m}});return}let h=nF(t.target),p=n||s,{connection:g,isValid:y}=oN.isValid(t.nativeEvent,{handle:{nodeId:_,id:m,type:e},connectionMode:l,fromNodeId:a.nodeId,fromHandleId:a.id||null,fromType:a.type,isValidConnection:p,flowId:c,doc:h,lib:u,nodeLookup:d});y&&g&&I(g);let v=structuredClone(f);delete v.inProgress,v.toPosition=v.toHandle?v.toHandle.position:null,i?.(t,v),b.setState({connectionClickStartHandle:null})}:void 0,ref:p,...h,children:s})})),r2={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},r5={input:function({data:e,isConnectable:t,sourcePosition:n=g.Bottom}){return(0,v.jsxs)(v.Fragment,{children:[e?.label,(0,v.jsx)(r1,{type:"source",position:n,isConnectable:t})]})},default:function({data:e,isConnectable:t,targetPosition:n=g.Top,sourcePosition:o=g.Bottom}){return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(r1,{type:"target",position:n,isConnectable:t}),e?.label,(0,v.jsx)(r1,{type:"source",position:o,isConnectable:t})]})},output:function({data:e,isConnectable:t,targetPosition:n=g.Top}){return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(r1,{type:"target",position:n,isConnectable:t}),e?.label]})},group:function(){return null}},r3=e=>{let{width:t,height:n,x:o,y:r}=ns(e.nodeLookup,{filter:e=>!!e.selected});return{width:nk(t)?t:null,height:nk(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${r}px)`}};function r4({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let o=o5(),{width:r,height:i,transformString:a,userSelectionActive:l}=o2(r3,oQ),s=rK(),u=(0,x.useRef)(null);(0,x.useEffect)(()=>{n||u.current?.focus({preventScroll:!0})},[n]);let c=!l&&null!==r&&null!==i;if(rZ({nodeRef:u,disabled:!c}),!c)return null;let d=e?t=>{e(t,o.getState().nodes.filter(e=>e.selected))}:void 0;return(0,v.jsx)("div",{className:w(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:(0,v.jsx)("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:d,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(r2,e.key)&&(e.preventDefault(),s({direction:r2[e.key],factor:e.shiftKey?4:1}))},style:{width:r,height:i}})})}let r6="u">typeof window?window:void 0,r8=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function r7({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:a,paneClickDistance:l,deleteKeyCode:s,selectionKeyCode:u,selectionOnDrag:c,selectionMode:d,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:p,panActivationKeyCode:g,zoomActivationKeyCode:m,elementsSelectable:y,zoomOnScroll:w,zoomOnPinch:b,panOnScroll:_,panOnScrollSpeed:S,panOnScrollMode:E,zoomOnDoubleClick:M,panOnDrag:C,autoPanOnSelection:k,defaultViewport:N,translateExtent:P,minZoom:A,maxZoom:$,preventScrolling:z,onSelectionContextMenu:I,noWheelClassName:R,noPanClassName:D,disableKeyboardA11y:j,onViewportChange:O,isControlledViewport:L}){let{nodesSelectionActive:B,userSelectionActive:T}=o2(r8,oQ),H=rx(u,{target:r6}),V=rx(g,{target:r6}),X=V||C,F=V||_,Y=c&&!0!==X,Z=H||T||Y;return!function({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=o5(),{deleteElements:o}=rR(),r=rx(e,{actInsideInputWithModifier:!1}),i=rx(t,{target:rj});(0,x.useEffect)(()=>{if(r){let{edges:e,nodes:t}=n.getState();o({nodes:t.filter(rD),edges:e.filter(rD)}),n.setState({nodesSelectionActive:!1})}},[r]),(0,x.useEffect)(()=>{n.setState({multiSelectionActive:i})},[i])}({deleteKeyCode:s,multiSelectionKeyCode:p}),(0,v.jsx)(rB,{onPaneContextMenu:i,elementsSelectable:y,zoomOnScroll:w,zoomOnPinch:b,panOnScroll:F,panActivationKeyPressed:V,panOnScrollSpeed:S,panOnScrollMode:E,zoomOnDoubleClick:M,panOnDrag:!H&&X,defaultViewport:N,translateExtent:P,minZoom:A,maxZoom:$,zoomActivationKeyCode:m,preventScrolling:z,noWheelClassName:R,noPanClassName:D,onViewportChange:O,isControlledViewport:L,paneClickDistance:l,selectionOnDrag:Y,children:(0,v.jsxs)(rF,{onSelectionStart:f,onSelectionEnd:h,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:a,panOnDrag:X,autoPanOnSelection:k,isSelecting:!!Z,selectionMode:d,selectionKeyPressed:H,paneClickDistance:l,selectionOnDrag:Y,children:[e,B&&(0,v.jsx)(r4,{onSelectionContextMenu:I,noPanClassName:D,disableKeyboardA11y:j})]})})}r7.displayName="FlowRenderer";let r9=(0,x.memo)(r7),ie=e=>e.updateNodeInternals;var it=(0,x.memo)(function({id:e,onClick:t,onMouseEnter:n,onMouseMove:o,onMouseLeave:r,onContextMenu:i,onDoubleClick:a,nodesDraggable:l,elementsSelectable:s,nodesConnectable:u,nodesFocusable:c,resizeObserver:d,noDragClassName:f,noPanClassName:h,disableKeyboardA11y:p,rfId:g,nodeTypes:m,nodeClickDistance:y,onError:b}){let{node:_,internals:S,isParent:E}=o2(t=>{let n=t.nodeLookup.get(e),o=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:o}},oQ),M=_.type||"default",C=m?.[M]||r5[M];void 0===C&&(b?.("003",t6.error003(M)),M="default",C=m?.default||r5.default);let k=!!(_.draggable||l&&void 0===_.draggable),N=!!(_.selectable||s&&void 0===_.selectable),P=!!(_.connectable||u&&void 0===_.connectable),A=!!(_.focusable||c&&void 0===_.focusable),$=o5(),z=nO(_),I=function({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){let r=o5(),i=(0,x.useRef)(null),a=(0,x.useRef)(null),l=(0,x.useRef)(e.sourcePosition),s=(0,x.useRef)(e.targetPosition),u=(0,x.useRef)(t),c=n&&!!e.internals.handleBounds;return(0,x.useEffect)(()=>{!i.current||e.hidden||c&&a.current===i.current||(a.current&&o?.unobserve(a.current),o?.observe(i.current),a.current=i.current)},[c,e.hidden]),(0,x.useEffect)(()=>()=>{a.current&&(o?.unobserve(a.current),a.current=null)},[]),(0,x.useEffect)(()=>{if(i.current){let n=u.current!==t,o=l.current!==e.sourcePosition,a=s.current!==e.targetPosition;(n||o||a)&&(u.current=t,l.current=e.sourcePosition,s.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:i.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),i}({node:_,nodeType:M,hasDimensions:z,resizeObserver:d}),R=rZ({nodeRef:I,disabled:_.hidden||!k,noDragClassName:f,handleSelector:_.dragHandle,nodeId:e,isSelectable:N,nodeClickDistance:y}),D=rK();if(_.hidden)return null;let j=nj(_),O=void 0===_.internals.handleBounds?{width:_.width??_.initialWidth??_.style?.width,height:_.height??_.initialHeight??_.style?.height}:{width:_.width??_.style?.width,height:_.height??_.style?.height},L=N||k||t||n||o||r,B=n?e=>n(e,{...S.userNode}):void 0,T=o?e=>o(e,{...S.userNode}):void 0,H=r?e=>r(e,{...S.userNode}):void 0,V=i?e=>i(e,{...S.userNode}):void 0,X=a?e=>a(e,{...S.userNode}):void 0;return(0,v.jsx)("div",{className:w(["react-flow__node",`react-flow__node-${M}`,{[h]:k},_.className,{selected:_.selected,selectable:N,parent:E,draggable:k,dragging:R}]),ref:I,style:{zIndex:S.z,transform:`translate(${S.positionAbsolute.x}px,${S.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:z?"visible":"hidden",..._.style,...O},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:B,onMouseMove:T,onMouseLeave:H,onContextMenu:V,onClick:n=>{let{selectNodesOnDrag:o,nodeDragThreshold:r}=$.getState();N&&(!o||!k||r>0)&&rY({id:e,store:$,nodeRef:I}),t&&t(n,{...S.userNode})},onDoubleClick:X,onKeyDown:A?t=>{if(!nZ(t.nativeEvent)&&!p){if(t7.includes(t.key)&&N)rY({id:e,store:$,unselect:"Escape"===t.key,nodeRef:I});else if(k&&_.selected&&Object.prototype.hasOwnProperty.call(r2,t.key)){t.preventDefault();let{ariaLabelConfig:e}=$.getState();$.setState({ariaLiveMessage:e["node.a11yDescription.ariaLiveMessage"]({direction:t.key.replace("Arrow","").toLowerCase(),x:~~S.positionAbsolute.x,y:~~S.positionAbsolute.y})}),D({direction:r2[t.key],factor:t.shiftKey?4:1})}}}:void 0,tabIndex:A?0:void 0,onFocus:A?()=>{if(p||!I.current?.matches(":focus-visible"))return;let{transform:t,width:n,height:o,autoPanOnNodeFocus:r,setCenter:i}=$.getState();!r||nu(new Map([[e,_]]),{x:0,y:0,width:n,height:o},t,!0).length>0||i(_.position.x+j.width/2,_.position.y+j.height/2,{zoom:t[2]})}:void 0,role:_.ariaRole??(A?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${o6}-${g}`,"aria-label":_.ariaLabel,..._.domAttributes,children:(0,v.jsx)(rq,{value:e,children:(0,v.jsx)(C,{id:e,data:_.data,type:M,positionAbsoluteX:S.positionAbsolute.x,positionAbsoluteY:S.positionAbsolute.y,selected:_.selected??!1,selectable:N,draggable:k,deletable:_.deletable??!0,isConnectable:P,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:R,dragHandle:_.dragHandle,zIndex:S.z,parentId:_.parentId,...j})})})});let io=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function ir(e){var t;let{nodesConnectable:n,nodesFocusable:o,elementsSelectable:r,onError:i}=o2(io,oQ),a=(t=e.onlyRenderVisibleElements,o2((0,x.useCallback)(e=>t?nu(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),oQ)),l=function(){let e=o2(ie),[t]=(0,x.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,x.useEffect)(()=>()=>{t?.disconnect()},[t]),t}();return(0,v.jsx)("div",{className:"react-flow__nodes",style:rO,children:a.map(t=>(0,v.jsx)(it,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:l,nodesDraggable:e.nodesDraggable??!0,nodesConnectable:n,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:i},t))})}ir.displayName="NodeRenderer";let ii=(0,x.memo)(ir),ia={[p.Arrow]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,v.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[p.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,v.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},il=({id:e,type:t,color:n,width:o=12.5,height:r=12.5,markerUnits:i="strokeWidth",strokeWidth:a,orient:l="auto-start-reverse"})=>{let s,u=(s=o5(),(0,x.useMemo)(()=>Object.prototype.hasOwnProperty.call(ia,t)?ia[t]:(s.getState().onError?.("009",t6.error009(t)),null),[t]));return u?(0,v.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:l,refX:"0",refY:"0",children:(0,v.jsx)(u,{color:n,strokeWidth:a})}):null},is=({defaultColor:e,rfId:t})=>{let n=o2(e=>e.edges),o=o2(e=>e.defaultEdgeOptions),r=(0,x.useMemo)(()=>oi(n,{id:t,defaultColor:e,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[n,o,t,e]);return r.length?(0,v.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,v.jsx)("defs",{children:r.map(e=>(0,v.jsx)(il,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};is.displayName="MarkerDefinitions";var iu=(0,x.memo)(is);function ic({x:e,y:t,label:n,labelStyle:o,labelShowBg:r=!0,labelBgStyle:i,labelBgPadding:a=[2,4],labelBgBorderRadius:l=2,children:s,className:u,...c}){let[d,f]=(0,x.useState)({x:1,y:0,width:0,height:0}),h=w(["react-flow__edge-textwrapper",u]),p=(0,x.useRef)(null);return((0,x.useEffect)(()=>{if(p.current){let e=p.current.getBBox();f({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n)?(0,v.jsxs)("g",{transform:`translate(${e-d.width/2} ${t-d.height/2})`,className:h,visibility:d.width?"visible":"hidden",...c,children:[r&&(0,v.jsx)("rect",{width:d.width+2*a[0],x:-a[0],y:-a[1],height:d.height+2*a[1],className:"react-flow__edge-textbg",style:i,rx:l,ry:l}),(0,v.jsx)("text",{className:"react-flow__edge-text",y:d.height/2,dy:"0.3em",ref:p,style:o,children:n}),s]}):null}ic.displayName="EdgeText";let id=(0,x.memo)(ic);function ih({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:s,interactionWidth:u=20,...c}){return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("path",{...c,d:e,fill:"none",className:w(["react-flow__edge-path",c.className])}),u?(0,v.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&nk(t)&&nk(n)?(0,v.jsx)(id,{x:t,y:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:s}):null]})}function ip({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===g.Left||e===g.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function ig({sourceX:e,sourceY:t,sourcePosition:n=g.Bottom,targetX:o,targetY:r,targetPosition:i=g.Top}){let[a,l]=ip({pos:n,x1:e,y1:t,x2:o,y2:r}),[s,u]=ip({pos:i,x1:o,y1:r,x2:e,y2:t}),[c,d,f,h]=nU({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:a,sourceControlY:l,targetControlX:s,targetControlY:u});return[`M${e},${t} C${a},${l} ${s},${u} ${o},${r}`,c,d,f,h]}function im(e){return(0,x.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:a,targetPosition:l,label:s,labelStyle:u,labelShowBg:c,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:g,markerStart:m,interactionWidth:y})=>{let[x,w,b]=ig({sourceX:n,sourceY:o,sourcePosition:a,targetX:r,targetY:i,targetPosition:l}),_=e.isInternal?void 0:t;return(0,v.jsx)(ih,{id:_,path:x,labelX:w,labelY:b,label:s,labelStyle:u,labelShowBg:c,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:g,markerStart:m,interactionWidth:y})})}let iy=im({isInternal:!1}),iv=im({isInternal:!0});function ix(e){return(0,x.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,sourcePosition:h=g.Bottom,targetPosition:p=g.Top,markerEnd:m,markerStart:y,pathOptions:x,interactionWidth:w})=>{let[b,_,S]=n7({sourceX:n,sourceY:o,sourcePosition:h,targetX:r,targetY:i,targetPosition:p,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),E=e.isInternal?void 0:t;return(0,v.jsx)(ih,{id:E,path:b,labelX:_,labelY:S,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:m,markerStart:y,interactionWidth:w})})}iy.displayName="SimpleBezierEdge",iv.displayName="SimpleBezierEdgeInternal";let iw=ix({isInternal:!1}),ib=ix({isInternal:!0});function i_(e){return(0,x.memo)(({id:t,...n})=>{let o=e.isInternal?void 0:t;return(0,v.jsx)(iw,{...n,id:o,pathOptions:(0,x.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}iw.displayName="SmoothStepEdge",ib.displayName="SmoothStepEdgeInternal";let iS=i_({isInternal:!1}),iE=i_({isInternal:!0});function iM(e){return(0,x.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:g})=>{let[m,y,x]=n4({sourceX:n,sourceY:o,targetX:r,targetY:i}),w=e.isInternal?void 0:t;return(0,v.jsx)(ih,{id:w,path:m,labelX:y,labelY:x,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:g})})}iS.displayName="StepEdge",iE.displayName="StepEdgeInternal";let iC=iM({isInternal:!1}),ik=iM({isInternal:!0});function iN(e){return(0,x.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:a=g.Bottom,targetPosition:l=g.Top,label:s,labelStyle:u,labelShowBg:c,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:y,pathOptions:x,interactionWidth:w})=>{let[b,_,S]=nJ({sourceX:n,sourceY:o,sourcePosition:a,targetX:r,targetY:i,targetPosition:l,curvature:x?.curvature}),E=e.isInternal?void 0:t;return(0,v.jsx)(ih,{id:E,path:b,labelX:_,labelY:S,label:s,labelStyle:u,labelShowBg:c,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:y,interactionWidth:w})})}iC.displayName="StraightEdge",ik.displayName="StraightEdgeInternal";let iP=iN({isInternal:!1}),iA=iN({isInternal:!0});iP.displayName="BezierEdge",iA.displayName="BezierEdgeInternal";let i$={default:iA,straight:ik,step:iE,smoothstep:ib,simplebezier:iv},iz={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},iI="react-flow__edgeupdater";function iR({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:i,onMouseOut:a,type:l}){return(0,v.jsx)("circle",{onMouseDown:r,onMouseEnter:i,onMouseOut:a,className:w([iI,`${iI}-${l}`]),cx:e===g.Left?t-o:e===g.Right?t+o:t,cy:e===g.Top?n-o:e===g.Bottom?n+o:n,r:o,stroke:"transparent",fill:"transparent"})}function iD({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:o,sourceY:r,targetX:i,targetY:a,sourcePosition:l,targetPosition:s,onReconnect:u,onReconnectStart:c,onReconnectEnd:d,setReconnecting:f,setUpdateHover:h}){let p=o5(),g=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:o,domNode:r,connectionMode:i,connectionRadius:a,lib:l,onConnectStart:s,cancelConnection:h,nodeLookup:g,rfId:m,panBy:y,updateConnection:v}=p.getState(),x="target"===t.type;oN.onPointerDown(e.nativeEvent,{autoPanOnConnect:o,connectionMode:i,connectionRadius:a,domNode:r,handleId:t.id,nodeId:t.nodeId,nodeLookup:g,isTarget:x,edgeUpdaterType:t.type,lib:l,flowId:m,cancelConnection:h,panBy:y,isValidConnection:(...e)=>p.getState().isValidConnection?.(...e)??!0,onConnect:e=>u?.(n,e),onConnectStart:(o,r)=>{f(!0),c?.(e,n,t.type),s?.(o,r)},onConnectEnd:(...e)=>p.getState().onConnectEnd?.(...e),onReconnectEnd:(e,o)=>{f(!1),d?.(e,n,t.type,o)},updateConnection:v,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},m=()=>h(!0),y=()=>h(!1);return(0,v.jsxs)(v.Fragment,{children:[(!0===e||"source"===e)&&(0,v.jsx)(iR,{position:l,centerX:o,centerY:r,radius:t,onMouseDown:e=>g(e,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),onMouseEnter:m,onMouseOut:y,type:"source"}),(!0===e||"target"===e)&&(0,v.jsx)(iR,{position:s,centerX:i,centerY:a,radius:t,onMouseDown:e=>g(e,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),onMouseEnter:m,onMouseOut:y,type:"target"})]})}var ij=(0,x.memo)(function({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:o,onClick:r,onDoubleClick:i,onContextMenu:a,onMouseEnter:l,onMouseMove:s,onMouseLeave:u,reconnectRadius:c,onReconnect:d,onReconnectStart:f,onReconnectEnd:h,rfId:p,edgeTypes:g,noPanClassName:m,onError:y,disableKeyboardA11y:b}){let _=o2(t=>t.edgeLookup.get(e)),S=o2(e=>e.defaultEdgeOptions),E=(_=S?{...S,..._}:_).type||"default",M=g?.[E]||i$[E];void 0===M&&(y?.("011",t6.error011(E)),E="default",M=g?.default||i$.default);let C=!!(_.focusable||t&&void 0===_.focusable),k=void 0!==d&&(_.reconnectable||n&&void 0===_.reconnectable),N=!!(_.selectable||o&&void 0===_.selectable),P=(0,x.useRef)(null),[A,$]=(0,x.useState)(!1),[z,I]=(0,x.useState)(!1),R=o5(),{zIndex:D=_.zIndex,sourceX:j,sourceY:O,targetX:L,targetY:B,sourcePosition:T,targetPosition:H}=o2((0,x.useCallback)(t=>{let n=t.nodeLookup.get(_.source),o=t.nodeLookup.get(_.target);if(!n||!o)return iz;let r=oe({id:e,sourceNode:n,targetNode:o,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:t.connectionMode,onError:y}),i=n1({selected:_.selected,zIndex:_.zIndex,sourceNode:n,targetNode:o,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode});return{...r||iz,zIndex:i}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex,y]),oQ),V=(0,x.useMemo)(()=>_.markerStart?`url('#${or(_.markerStart,p)}')`:void 0,[_.markerStart,p]),X=(0,x.useMemo)(()=>_.markerEnd?`url('#${or(_.markerEnd,p)}')`:void 0,[_.markerEnd,p]);if(_.hidden||null===j||null===O||null===L||null===B)return null;let F=i?e=>{i(e,{..._})}:void 0,Y=a?e=>{a(e,{..._})}:void 0,Z=l?e=>{l(e,{..._})}:void 0,K=s?e=>{s(e,{..._})}:void 0,W=u?e=>{u(e,{..._})}:void 0;return(0,v.jsx)("svg",{style:{zIndex:D},children:(0,v.jsxs)("g",{className:w(["react-flow__edge",`react-flow__edge-${E}`,_.className,m,{selected:_.selected,animated:_.animated,inactive:!N&&!r,updating:A,selectable:N}]),onClick:t=>{let{addSelectedEdges:n,unselectNodesAndEdges:o,multiSelectionActive:i}=R.getState();N&&(R.setState({nodesSelectionActive:!1}),_.selected&&i?(o({nodes:[],edges:[_]}),P.current?.blur()):n([e])),r&&r(t,_)},onDoubleClick:F,onContextMenu:Y,onMouseEnter:Z,onMouseMove:K,onMouseLeave:W,onKeyDown:C?t=>{if(!b&&t7.includes(t.key)&&N){let{unselectNodesAndEdges:n,addSelectedEdges:o}=R.getState();"Escape"===t.key?(P.current?.blur(),n({edges:[_]})):o([e])}}:void 0,tabIndex:C?0:void 0,role:_.ariaRole??(C?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":null===_.ariaLabel?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":C?`${o8}-${p}`:void 0,ref:P,..._.domAttributes,children:[!z&&(0,v.jsx)(M,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:N,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:j,sourceY:O,targetX:L,targetY:B,sourcePosition:T,targetPosition:H,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:V,markerEnd:X,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),k&&(0,v.jsx)(iD,{edge:_,isReconnectable:k,reconnectRadius:c,onReconnect:d,onReconnectStart:f,onReconnectEnd:h,sourceX:j,sourceY:O,targetX:L,targetY:B,sourcePosition:T,targetPosition:H,setUpdateHover:$,setReconnecting:I})]})})});let iO=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function iL({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:o,noPanClassName:r,onReconnect:i,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:s,onEdgeMouseLeave:u,onEdgeClick:c,reconnectRadius:d,onEdgeDoubleClick:f,onReconnectStart:h,onReconnectEnd:p,disableKeyboardA11y:g}){let{edgesFocusable:m,edgesReconnectable:y,elementsSelectable:w,onError:b}=o2(iO,oQ),_=o2((0,x.useCallback)(e=>{if(!t)return e.edges.map(e=>e.id);let n=[];if(e.width&&e.height)for(let t of e.edges){let o=e.nodeLookup.get(t.source),r=e.nodeLookup.get(t.target);o&&r&&n2({sourceNode:o,targetNode:r,width:e.width,height:e.height,transform:e.transform})&&n.push(t.id)}return n},[t]),oQ);return(0,v.jsxs)("div",{className:"react-flow__edges",children:[(0,v.jsx)(iu,{defaultColor:e,rfId:n}),_.map(e=>(0,v.jsx)(ij,{id:e,edgesFocusable:m,edgesReconnectable:y,elementsSelectable:w,noPanClassName:r,onReconnect:i,onContextMenu:a,onMouseEnter:l,onMouseMove:s,onMouseLeave:u,onClick:c,reconnectRadius:d,onDoubleClick:f,onReconnectStart:h,onReconnectEnd:p,rfId:n,onError:b,edgeTypes:o,disableKeyboardA11y:g},e))]})}iL.displayName="EdgeRenderer";let iB=(0,x.memo)(iL),iT=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function iH({children:e}){let t=o5(),n=(0,x.useRef)(null),[o]=(0,x.useState)(()=>t.getState().transform);return rP(()=>{let e=null,o=()=>{let o=t.getState().transform;(!e||o[0]!==e[0]||o[1]!==e[1]||o[2]!==e[2])&&(e=o,n.current&&(n.current.style.transform=iT(o)))};return o(),t.subscribe(o)},[t]),(0,v.jsx)("div",{ref:n,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:iT(o)},children:e})}let iV=e=>e.panZoom?.syncViewport;function iX(e){return e.connection.inProgress?{...e.connection,to:nA(e.connection.to,e.transform)}:{...e.connection}}let iF=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function iY({containerStyle:e,style:t,type:n,component:o}){let{nodesConnectable:r,width:i,height:a,isValid:l,inProgress:s}=o2(iF,oQ);return i&&r&&s?(0,v.jsx)("svg",{style:e,width:i,height:a,className:"react-flow__connectionline react-flow__container",children:(0,v.jsx)("g",{className:w(["react-flow__connection",nn(l)]),children:(0,v.jsx)(iZ,{style:t,type:n,CustomComponent:o,isValid:l})})}):null}let iZ=({style:e,type:t=h.Bezier,CustomComponent:n,isValid:o})=>{let{inProgress:r,from:i,fromNode:a,fromHandle:l,fromPosition:s,to:u,toNode:c,toHandle:d,toPosition:f,pointer:p}=o2(iX,oQ);if(!r)return;if(n)return(0,v.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:l,fromX:i.x,fromY:i.y,toX:u.x,toY:u.y,fromPosition:s,toPosition:f,connectionStatus:nn(o),toNode:c,toHandle:d,pointer:p});let g="",m={sourceX:i.x,sourceY:i.y,sourcePosition:s,targetX:u.x,targetY:u.y,targetPosition:f};switch(t){case h.Bezier:[g]=nJ(m);break;case h.SimpleBezier:[g]=ig(m);break;case h.Step:[g]=n7({...m,borderRadius:0});break;case h.SmoothStep:[g]=n7(m);break;default:[g]=n4(m)}return(0,v.jsx)("path",{d:g,fill:"none",className:"react-flow__connection-path",style:e})};iZ.displayName="ConnectionLine";let iK={};function iW(e=iK){(0,x.useRef)(e),o5(),(0,x.useEffect)(()=>{},[e])}function iq({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:i,onEdgeDoubleClick:a,onNodeMouseEnter:l,onNodeMouseMove:s,onNodeMouseLeave:u,onNodeContextMenu:c,onSelectionContextMenu:d,onSelectionStart:f,onSelectionEnd:h,connectionLineType:p,connectionLineStyle:g,connectionLineComponent:m,connectionLineContainerStyle:y,selectionKeyCode:w,selectionOnDrag:b,selectionMode:_,multiSelectionKeyCode:S,panActivationKeyCode:E,zoomActivationKeyCode:M,deleteKeyCode:C,onlyRenderVisibleElements:k,elementsSelectable:N,defaultViewport:P,translateExtent:A,minZoom:$,maxZoom:z,preventScrolling:I,defaultMarkerColor:R,zoomOnScroll:D,zoomOnPinch:j,panOnScroll:O,panOnScrollSpeed:L,panOnScrollMode:B,zoomOnDoubleClick:T,panOnDrag:H,autoPanOnSelection:V,onPaneClick:X,onPaneMouseEnter:F,onPaneMouseMove:Y,onPaneMouseLeave:Z,onPaneScroll:K,onPaneContextMenu:W,paneClickDistance:q,nodeClickDistance:U,onEdgeContextMenu:G,onEdgeMouseEnter:Q,onEdgeMouseMove:J,onEdgeMouseLeave:ee,reconnectRadius:et,onReconnect:en,onReconnectStart:eo,onReconnectEnd:er,noDragClassName:ei,noWheelClassName:ea,noPanClassName:el,disableKeyboardA11y:es,nodeExtent:eu,rfId:ec,viewport:ed,onViewportChange:ef,nodesDraggable:eh}){let ep,eg,em,ey;return iW(e),iW(t),o5(),(0,x.useRef)(!1),(0,x.useEffect)(()=>{},[]),ep=rR(),eg=(0,x.useRef)(!1),(0,x.useEffect)(()=>{!eg.current&&ep.viewportInitialized&&n&&(setTimeout(()=>n(ep),1),eg.current=!0)},[n,ep.viewportInitialized]),em=o2(iV),ey=o5(),(0,x.useEffect)(()=>{ed&&(em?.(ed),ey.setState({transform:[ed.x,ed.y,ed.zoom]}))},[ed,em]),(0,v.jsx)(r9,{onPaneClick:X,onPaneMouseEnter:F,onPaneMouseMove:Y,onPaneMouseLeave:Z,onPaneContextMenu:W,onPaneScroll:K,paneClickDistance:q,deleteKeyCode:C,selectionKeyCode:w,selectionOnDrag:b,selectionMode:_,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:S,panActivationKeyCode:E,zoomActivationKeyCode:M,elementsSelectable:N,zoomOnScroll:D,zoomOnPinch:j,zoomOnDoubleClick:T,panOnScroll:O,panOnScrollSpeed:L,panOnScrollMode:B,panOnDrag:H,autoPanOnSelection:V,defaultViewport:P,translateExtent:A,minZoom:$,maxZoom:z,onSelectionContextMenu:d,preventScrolling:I,noDragClassName:ei,noWheelClassName:ea,noPanClassName:el,disableKeyboardA11y:es,onViewportChange:ef,isControlledViewport:!!ed,children:(0,v.jsxs)(iH,{children:[(0,v.jsx)(iB,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:a,onReconnect:en,onReconnectStart:eo,onReconnectEnd:er,onlyRenderVisibleElements:k,onEdgeContextMenu:G,onEdgeMouseEnter:Q,onEdgeMouseMove:J,onEdgeMouseLeave:ee,reconnectRadius:et,defaultMarkerColor:R,noPanClassName:el,disableKeyboardA11y:es,rfId:ec}),(0,v.jsx)(iY,{style:g,type:p,component:m,containerStyle:y}),(0,v.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,v.jsx)(ii,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:i,onNodeMouseEnter:l,onNodeMouseMove:s,onNodeMouseLeave:u,onNodeContextMenu:c,nodeClickDistance:U,onlyRenderVisibleElements:k,noPanClassName:el,noDragClassName:ei,disableKeyboardA11y:es,nodeExtent:eu,rfId:ec,nodesDraggable:eh}),(0,v.jsx)("div",{className:"react-flow__viewport-portal"})]})})}iq.displayName="GraphView";let iU=(0,x.memo)(iq),iG=nN("React Flow","https://reactflow.dev/"),iQ=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:a,fitViewOptions:l,minZoom:s=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:h="basic"}={})=>{let p=new Map,g=new Map,m=new Map,y=new Map,v=o??t??[],x=n??e??[],w=d??[0,0],b=f??t8;ow(m,y,v);let{nodesInitialized:_}=oh(x,p,g,{nodeOrigin:w,nodeExtent:b,zIndexMode:h}),S=[0,0,1];if(a&&r&&i){let{x:e,y:t,zoom:n}=nI(ns(p,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),r,i,s,u,l?.padding??.1);S=[e,t,n]}return{rfId:"1",width:r??0,height:i??0,transform:S,nodes:x,nodesInitialized:_,nodeLookup:p,parentLookup:g,edges:v,edgeLookup:y,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==o,panZoom:null,minZoom:s,maxZoom:u,translateExtent:t8,nodeExtent:b,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:c.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:w,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:l,fitViewResolver:null,connection:{...ne},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:iG,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:t9,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function iJ({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:o,initialWidth:r,initialHeight:i,initialMinZoom:a,initialMaxZoom:l,initialFitViewOptions:s,fitView:u,nodeOrigin:c,nodeExtent:d,zIndexMode:f,children:h}){let[p]=(0,x.useState)(()=>(({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:a,fitViewOptions:l,minZoom:s,maxZoom:u,nodeOrigin:c,nodeExtent:d,zIndexMode:f})=>{let h,p;return h=(h,p)=>{async function m(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:o,width:r,height:i,minZoom:a,maxZoom:l}=p();t&&(await nc({nodes:e,width:r,height:i,panZoom:t,minZoom:a,maxZoom:l},n),o?.resolve(!0),h({fitViewResolver:null}))}return{...iQ({nodes:e,edges:t,width:r,height:i,fitView:a,fitViewOptions:l,minZoom:s,maxZoom:u,nodeOrigin:c,nodeExtent:d,defaultNodes:n,defaultEdges:o,zIndexMode:f}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:o,nodeExtent:r,elevateNodesOnSelect:i,fitViewQueued:a,zIndexMode:l,nodesSelectionActive:s}=p(),{nodesInitialized:u,hasSelectedNodes:c}=oh(e,t,n,{nodeOrigin:o,nodeExtent:r,elevateNodesOnSelect:i,checkEquality:!0,zIndexMode:l}),d=s&&c;a&&u?(m(),h({nodes:e,nodesInitialized:u,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:d})):h({nodes:e,nodesInitialized:u,nodesSelectionActive:d})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=p();ow(t,n,e),h({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=p();t(e),h({hasDefaultNodes:!0})}if(t){let{setEdges:e}=p();e(t),h({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:o,domNode:r,nodeOrigin:i,nodeExtent:a,debug:l,fitViewQueued:s,zIndexMode:u}=p(),{changes:c,updatedInternals:d}=oy(e,n,o,r,i,a,u);d&&(od(n,o,{nodeOrigin:i,nodeExtent:a,zIndexMode:u}),s?(m(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),c?.length>0&&(l&&console.log("React Flow: trigger node changes",c),t?.(c)))},updateNodePositions:(e,t=!1)=>{let n=[],o=[],{nodeLookup:r,triggerNodeChanges:i,connection:a,updateConnection:l,onNodesChangeMiddlewareMap:s}=p();for(let[i,s]of e){let e=r.get(i),u=!!(e?.expandParent&&e?.parentId&&s?.position),c={id:i,type:"position",position:u?{x:Math.max(0,s.position.x),y:Math.max(0,s.position.y)}:s.position,dragging:t};if(e&&a.inProgress&&a.fromNode.id===e.id){let t=on(e,a.fromHandle,g.Left,!0);l({...a,from:t})}u&&e.parentId&&n.push({id:i,parentId:e.parentId,rect:{...s.internals.positionAbsolute,width:s.measured.width??0,height:s.measured.height??0}}),o.push(c)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=p(),i=om(n,r,e,t);o.push(...i)}for(let e of s.values())o=e(o);i(o)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:o,hasDefaultNodes:r,debug:i}=p();e?.length&&(r&&n(r_(e,o)),i&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:o,hasDefaultEdges:r,debug:i}=p();e?.length&&(r&&n(r_(e,o)),i&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:i}=p();t?r(e.map(e=>rS(e,!0))):(r(rE(o,new Set([...e]),!0)),i(rE(n)))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:i}=p();t?i(e.map(e=>rS(e,!0))):(i(rE(n,new Set([...e]))),r(rE(o,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:o,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=p(),l=[];for(let t of e||o){if(!t.selected)continue;let e=r.get(t.id);e&&(e.selected=!1),l.push(rS(t.id,!1))}let s=[];for(let e of t||n)e.selected&&s.push(rS(e.id,!1));i(l),a(s)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=p();t?.setScaleExtent([e,n]),h({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=p();t?.setScaleExtent([n,e]),h({maxZoom:e})},setTranslateExtent:e=>{p().panZoom?.setTranslateExtent(e),h({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:o,elementsSelectable:r}=p();if(!r)return;let i=t.reduce((e,t)=>t.selected?[...e,rS(t.id,!1)]:e,[]),a=e.reduce((e,t)=>t.selected?[...e,rS(t.id,!1)]:e,[]);n(i),o(a)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:o,nodeOrigin:r,elevateNodesOnSelect:i,nodeExtent:a,zIndexMode:l}=p();(e[0][0]!==a[0][0]||e[0][1]!==a[0][1]||e[1][0]!==a[1][0]||e[1][1]!==a[1][1])&&(oh(t,n,o,{nodeOrigin:r,nodeExtent:e,elevateNodesOnSelect:i,checkEquality:!1,zIndexMode:l}),h({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:o,panZoom:r,translateExtent:i}=p();return ov({delta:e,panZoom:r,transform:t,translateExtent:i,width:n,height:o})},setCenter:async(e,t,n)=>{let{width:o,height:r,maxZoom:i,panZoom:a}=p();if(!a)return!1;let l=void 0!==n?.zoom?n.zoom:i;return await a.setViewport({x:o/2-e*l,y:r/2-t*l,zoom:l},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0},cancelConnection:()=>{h({connection:{...ne}})},updateConnection:e=>{h({connection:e})},reset:()=>h({...iQ()})}},p=Object.is,h?oG(h,p):oG})({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:u,minZoom:a,maxZoom:l,fitViewOptions:s,nodeOrigin:c,nodeExtent:d,zIndexMode:f}));return(0,v.jsx)(o0,{value:p,children:(0,v.jsx)(rz,{children:(0,v.jsx)(rJ,{children:h})})})}function i0({children:e,nodes:t,edges:n,defaultNodes:o,defaultEdges:r,width:i,height:a,fitView:l,fitViewOptions:s,minZoom:u,maxZoom:c,nodeOrigin:d,nodeExtent:f,zIndexMode:h}){return(0,x.useContext)(oJ)?(0,v.jsx)(v.Fragment,{children:e}):(0,v.jsx)(iJ,{initialNodes:t,initialEdges:n,defaultNodes:o,defaultEdges:r,initialWidth:i,initialHeight:a,fitView:l,initialFitViewOptions:s,initialMinZoom:u,initialMaxZoom:c,nodeOrigin:d,nodeExtent:f,zIndexMode:h,children:e})}let i1={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var i2=rN(function({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:r,nodeTypes:i,edgeTypes:a,onNodeClick:l,onEdgeClick:s,onInit:u,onMove:c,onMoveStart:p,onMoveEnd:g,onConnect:m,onConnectStart:y,onConnectEnd:b,onClickConnectStart:_,onClickConnectEnd:S,onNodeMouseEnter:E,onNodeMouseMove:M,onNodeMouseLeave:C,onNodeContextMenu:k,onNodeDoubleClick:N,onNodeDragStart:P,onNodeDrag:A,onNodeDragStop:$,onNodesDelete:z,onEdgesDelete:I,onDelete:R,onSelectionChange:D,onSelectionDragStart:j,onSelectionDrag:O,onSelectionDragStop:L,onSelectionContextMenu:B,onSelectionStart:T,onSelectionEnd:H,onBeforeDelete:V,connectionMode:X,connectionLineType:F=h.Bezier,connectionLineStyle:Y,connectionLineComponent:Z,connectionLineContainerStyle:K,deleteKeyCode:W="Backspace",selectionKeyCode:q="Shift",selectionOnDrag:U=!1,selectionMode:G=f.Full,panActivationKeyCode:Q="Space",multiSelectionKeyCode:J=nR()?"Meta":"Control",zoomActivationKeyCode:ee=nR()?"Meta":"Control",snapToGrid:et,snapGrid:en,onlyRenderVisibleElements:eo=!1,selectNodesOnDrag:er,nodesDraggable:ei,autoPanOnNodeFocus:ea,nodesConnectable:el,nodesFocusable:es,nodeOrigin:eu=rd,edgesFocusable:ec,edgesReconnectable:ed,elementsSelectable:ef=!0,defaultViewport:eh=rf,minZoom:ep=.5,maxZoom:eg=2,translateExtent:em=t8,preventScrolling:ey=!0,nodeExtent:ev,defaultMarkerColor:ex="#b1b1b7",zoomOnScroll:ew=!0,zoomOnPinch:eb=!0,panOnScroll:e_=!1,panOnScrollSpeed:eS=.5,panOnScrollMode:eE=d.Free,zoomOnDoubleClick:eM=!0,panOnDrag:eC=!0,onPaneClick:ek,onPaneMouseEnter:eN,onPaneMouseMove:eP,onPaneMouseLeave:eA,onPaneScroll:e$,onPaneContextMenu:ez,paneClickDistance:eI=1,nodeClickDistance:eR=0,children:eD,onReconnect:ej,onReconnectStart:eO,onReconnectEnd:eL,onEdgeContextMenu:eB,onEdgeDoubleClick:eT,onEdgeMouseEnter:eH,onEdgeMouseMove:eV,onEdgeMouseLeave:eX,reconnectRadius:eF=10,onNodesChange:eY,onEdgesChange:eZ,noDragClassName:eK="nodrag",noWheelClassName:eW="nowheel",noPanClassName:eq="nopan",fitView:eU,fitViewOptions:eG,connectOnClick:eQ,attributionPosition:eJ,proOptions:e0,defaultEdgeOptions:e1,elevateNodesOnSelect:e2=!0,elevateEdgesOnSelect:e5=!1,disableKeyboardA11y:e3=!1,autoPanOnConnect:e4,autoPanOnNodeDrag:e6,autoPanOnSelection:e8=!0,autoPanSpeed:e7,connectionRadius:e9,isValidConnection:te,onError:tt,style:tn,id:to,nodeDragThreshold:tr,connectionDragThreshold:ti,viewport:ta,onViewportChange:tl,width:ts,height:tu,colorMode:tc="light",debug:td,onScroll:tf,ariaLabelConfig:th,zIndexMode:tp="basic",...tg},tm){let ty=to||"1",tv=function(e){let[t,n]=(0,x.useState)("system"===e?null:e);return(0,x.useEffect)(()=>{if("system"!==e)return void n(e);let t=ry(),o=()=>n(t?.matches?"dark":"light");return o(),t?.addEventListener("change",o),()=>{t?.removeEventListener("change",o)}},[e]),null!==t?t:ry()?.matches?"dark":"light"}(tc),tx=(0,x.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),tf?.(e)},[tf]);return(0,v.jsx)("div",{"data-testid":"rf__wrapper",...tg,onScroll:tx,style:{...tn,...i1},ref:tm,className:w(["react-flow",r,tv]),id:to,role:"application",children:(0,v.jsxs)(i0,{nodes:e,edges:t,width:ts,height:tu,fitView:eU,fitViewOptions:eG,minZoom:ep,maxZoom:eg,nodeOrigin:eu,nodeExtent:ev,zIndexMode:tp,children:[(0,v.jsx)(rm,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:m,onConnectStart:y,onConnectEnd:b,onClickConnectStart:_,onClickConnectEnd:S,nodesDraggable:ei,autoPanOnNodeFocus:ea,nodesConnectable:el,nodesFocusable:es,edgesFocusable:ec,edgesReconnectable:ed,elementsSelectable:ef,elevateNodesOnSelect:e2,elevateEdgesOnSelect:e5,minZoom:ep,maxZoom:eg,nodeExtent:ev,onNodesChange:eY,onEdgesChange:eZ,snapToGrid:et,snapGrid:en,connectionMode:X,translateExtent:em,connectOnClick:eQ,defaultEdgeOptions:e1,fitView:eU,fitViewOptions:eG,onNodesDelete:z,onEdgesDelete:I,onDelete:R,onNodeDragStart:P,onNodeDrag:A,onNodeDragStop:$,onSelectionDrag:O,onSelectionDragStart:j,onSelectionDragStop:L,onMove:c,onMoveStart:p,onMoveEnd:g,noPanClassName:eq,nodeOrigin:eu,rfId:ty,autoPanOnConnect:e4,autoPanOnNodeDrag:e6,autoPanSpeed:e7,onError:tt,connectionRadius:e9,isValidConnection:te,selectNodesOnDrag:er,nodeDragThreshold:tr,connectionDragThreshold:ti,onBeforeDelete:V,debug:td,ariaLabelConfig:th,zIndexMode:tp}),(0,v.jsx)(iU,{onInit:u,onNodeClick:l,onEdgeClick:s,onNodeMouseEnter:E,onNodeMouseMove:M,onNodeMouseLeave:C,onNodeContextMenu:k,onNodeDoubleClick:N,nodeTypes:i,edgeTypes:a,connectionLineType:F,connectionLineStyle:Y,connectionLineComponent:Z,connectionLineContainerStyle:K,selectionKeyCode:q,selectionOnDrag:U,selectionMode:G,deleteKeyCode:W,multiSelectionKeyCode:J,panActivationKeyCode:Q,zoomActivationKeyCode:ee,onlyRenderVisibleElements:eo,defaultViewport:eh,translateExtent:em,minZoom:ep,maxZoom:eg,preventScrolling:ey,zoomOnScroll:ew,zoomOnPinch:eb,zoomOnDoubleClick:eM,panOnScroll:e_,panOnScrollSpeed:eS,panOnScrollMode:eE,panOnDrag:eC,autoPanOnSelection:e8,onPaneClick:ek,onPaneMouseEnter:eN,onPaneMouseMove:eP,onPaneMouseLeave:eA,onPaneScroll:e$,onPaneContextMenu:ez,paneClickDistance:eI,nodeClickDistance:eR,onSelectionContextMenu:B,onSelectionStart:T,onSelectionEnd:H,onReconnect:ej,onReconnectStart:eO,onReconnectEnd:eL,onEdgeContextMenu:eB,onEdgeDoubleClick:eT,onEdgeMouseEnter:eH,onEdgeMouseMove:eV,onEdgeMouseLeave:eX,reconnectRadius:eF,defaultMarkerColor:ex,noDragClassName:eK,noWheelClassName:eW,noPanClassName:eq,rfId:ty,disableKeyboardA11y:e3,nodeExtent:ev,viewport:ta,onViewportChange:tl,nodesDraggable:ei}),(0,v.jsx)(rc,{onSelectionChange:D}),eD,(0,v.jsx)(rr,{proOptions:e0,position:eJ}),(0,v.jsx)(rt,{rfId:ty,disableKeyboardA11y:e3})]})})});function i5({dimensions:e,lineWidth:t,variant:n,className:o}){return(0,v.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:w(["react-flow__background-pattern",n,o])})}function i3({radius:e,className:t}){return(0,v.jsx)("circle",{cx:e,cy:e,r:e,className:w(["react-flow__background-pattern","dots",t])})}t6.error014(),(s=y||(y={})).Lines="lines",s.Dots="dots",s.Cross="cross";let i4={[y.Dots]:1,[y.Lines]:1,[y.Cross]:6},i6=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function i8({id:e,variant:t=y.Dots,gap:n=20,size:o,lineWidth:r=1,offset:i=0,color:a,bgColor:l,style:s,className:u,patternClassName:c}){let d=(0,x.useRef)(null),{transform:f,patternId:h}=o2(i6,oQ),p=o||i4[t],g=t===y.Dots,m=t===y.Cross,b=Array.isArray(n)?n:[n,n],_=[b[0]*f[2]||1,b[1]*f[2]||1],S=p*f[2],E=Array.isArray(i)?i:[i,i],M=m?[S,S]:_,C=[E[0]*f[2]+M[0]/2,E[1]*f[2]+M[1]/2],k=`${h}${e||""}`;return(0,v.jsxs)("svg",{className:w(["react-flow__background",u]),style:{...s,...rO,"--xy-background-color-props":l,"--xy-background-pattern-color-props":a},ref:d,"data-testid":"rf__background",children:[(0,v.jsx)("pattern",{id:k,x:f[0]%_[0],y:f[1]%_[1],width:_[0],height:_[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${C[0]},-${C[1]})`,children:g?(0,v.jsx)(i3,{radius:S/2,className:c}):(0,v.jsx)(i5,{dimensions:M,lineWidth:r,variant:t,className:c})}),(0,v.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k})`})]})}i8.displayName="Background";let i7=(0,x.memo)(i8);function i9(){return(0,v.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,v.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function ae(){return(0,v.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,v.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function at(){return(0,v.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,v.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function an(){return(0,v.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,v.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function ao(){return(0,v.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,v.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function ar({children:e,className:t,...n}){return(0,v.jsx)("button",{type:"button",className:w(["react-flow__controls-button",t]),...n,children:e})}let ai=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function aa({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:i,onZoomOut:a,onFitView:l,onInteractiveChange:s,className:u,children:c,position:d="bottom-left",orientation:f="vertical","aria-label":h}){let p=o5(),{isInteractive:g,minZoomReached:m,maxZoomReached:y,ariaLabelConfig:x}=o2(ai,oQ),{zoomIn:b,zoomOut:_,fitView:S}=rR();return(0,v.jsxs)(rn,{className:w(["react-flow__controls","horizontal"===f?"horizontal":"vertical",u]),position:d,style:e,"data-testid":"rf__controls","aria-label":h??x["controls.ariaLabel"],children:[t&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(ar,{onClick:()=>{b(),i?.()},className:"react-flow__controls-zoomin",title:x["controls.zoomIn.ariaLabel"],"aria-label":x["controls.zoomIn.ariaLabel"],disabled:y,children:(0,v.jsx)(i9,{})}),(0,v.jsx)(ar,{onClick:()=>{_(),a?.()},className:"react-flow__controls-zoomout",title:x["controls.zoomOut.ariaLabel"],"aria-label":x["controls.zoomOut.ariaLabel"],disabled:m,children:(0,v.jsx)(ae,{})})]}),n&&(0,v.jsx)(ar,{className:"react-flow__controls-fitview",onClick:()=>{S(r),l?.()},title:x["controls.fitView.ariaLabel"],"aria-label":x["controls.fitView.ariaLabel"],children:(0,v.jsx)(at,{})}),o&&(0,v.jsx)(ar,{className:"react-flow__controls-interactive",onClick:()=>{p.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),s?.(!g)},title:x["controls.interactive.ariaLabel"],"aria-label":x["controls.interactive.ariaLabel"],children:g?(0,v.jsx)(ao,{}):(0,v.jsx)(an,{})}),c]})}aa.displayName="Controls";let al=(0,x.memo)(aa),as=(0,x.memo)(function({id:e,x:t,y:n,width:o,height:r,style:i,color:a,strokeColor:l,strokeWidth:s,className:u,borderRadius:c,shapeRendering:d,selected:f,onClick:h}){let{background:p,backgroundColor:g}=i||{};return(0,v.jsx)("rect",{className:w(["react-flow__minimap-node",{selected:f},u]),x:t,y:n,rx:c,ry:c,width:o,height:r,style:{fill:a||p||g,stroke:l,strokeWidth:s},shapeRendering:d,onClick:h?t=>h(t,e):void 0})}),au=e=>e.nodes.map(e=>e.id),ac=e=>e instanceof Function?e:()=>e,ad=(0,x.memo)(function({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:i,shapeRendering:a,NodeComponent:l,onClick:s}){let{node:u,x:c,y:d,width:f,height:h}=o2(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let o=n.internals.userNode,{x:r,y:i}=n.internals.positionAbsolute,{width:a,height:l}=nj(o);return{node:o,x:r,y:i,width:a,height:l}},oQ);return u&&!u.hidden&&nO(u)?(0,v.jsx)(l,{x:c,y:d,width:f,height:h,style:u.style,selected:!!u.selected,className:o(u),color:t(u),borderRadius:r,strokeColor:n(u),strokeWidth:i,shapeRendering:a,onClick:s,id:u.id}):null});var af=(0,x.memo)(function({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:i=as,onClick:a}){let l=o2(au,oQ),s=ac(t),u=ac(e),c=ac(n),d="u"<typeof window||window.chrome?"crispEdges":"geometricPrecision";return(0,v.jsx)(v.Fragment,{children:l.map(e=>(0,v.jsx)(ad,{id:e,nodeColorFunc:s,nodeStrokeColorFunc:u,nodeClassNameFunc:c,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:i,onClick:a,shapeRendering:d},e))})});let ah=e=>!e.hidden,ap=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?nS(ns(e.nodeLookup,{filter:ah}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},ag=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,am=(e,t)=>ag(e.viewBB,t.viewBB)&&ag(e.boundingRect,t.boundingRect)&&e.rfId===t.rfId&&e.panZoom===t.panZoom&&e.translateExtent===t.translateExtent&&e.flowWidth===t.flowWidth&&e.flowHeight===t.flowHeight&&e.ariaLabelConfig===t.ariaLabelConfig;function ay({style:e,className:t,nodeStrokeColor:n,nodeColor:o,nodeClassName:r="",nodeBorderRadius:i=5,nodeStrokeWidth:a,nodeComponent:l,bgColor:s,maskColor:u,maskStrokeColor:c,maskStrokeWidth:d,position:f="bottom-right",onClick:h,onNodeClick:p,pannable:g=!1,zoomable:m=!1,ariaLabel:y,inversePan:b,zoomStep:_=1,offsetScale:S=5}){let E=o5(),M=(0,x.useRef)(null),{boundingRect:C,viewBB:k,rfId:N,panZoom:P,translateExtent:A,flowWidth:$,flowHeight:z,ariaLabelConfig:I}=o2(ap,am),R=e?.width??200,D=e?.height??150,j=Math.max(C.width/R,C.height/D),O=j*R,L=j*D,B=S*j,T=C.x-(O-C.width)/2-B,H=C.y-(L-C.height)/2-B,V=O+2*B,X=L+2*B,F=`react-flow__minimap-desc-${N}`,Y=(0,x.useRef)(0),Z=(0,x.useRef)();Y.current=j,(0,x.useEffect)(()=>{if(M.current&&P)return Z.current=oP({domNode:M.current,panZoom:P,getTransform:()=>E.getState().transform,getViewScale:()=>Y.current}),()=>{Z.current?.destroy()}},[P]),(0,x.useEffect)(()=>{Z.current?.update({translateExtent:A,width:$,height:z,inversePan:b,pannable:g,zoomStep:_,zoomable:m})},[g,m,b,_,A,$,z]);let K=h?e=>{let[t,n]=Z.current?.pointer(e)||[0,0];h(e,{x:t,y:n})}:void 0,W=p?(0,x.useCallback)((e,t)=>{p(e,E.getState().nodeLookup.get(t).internals.userNode)},[]):void 0,q=y??I["minimap.ariaLabel"];return(0,v.jsx)(rn,{position:f,style:{...e,"--xy-minimap-background-color-props":"string"==typeof s?s:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof u?u:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof c?c:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof d?d*j:void 0,"--xy-minimap-node-background-color-props":"string"==typeof o?o:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof n?n:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof a?a:void 0},className:w(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,v.jsxs)("svg",{width:R,height:D,viewBox:`${T} ${H} ${V} ${X}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":F,ref:M,onClick:K,children:[q&&(0,v.jsx)("title",{id:F,children:q}),(0,v.jsx)(af,{onClick:W,nodeColor:o,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:r,nodeStrokeWidth:a,nodeComponent:l}),(0,v.jsx)("path",{className:"react-flow__minimap-mask",d:`M${T-B},${H-B}h${V+2*B}v${X+2*B}h${-V-2*B}z
|
|
2
|
+
M${k.x},${k.y}h${k.width}v${k.height}h${-k.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}ay.displayName="MiniMap";let av=(0,x.memo)(ay),ax={[m.Line]:"right",[m.Handle]:"bottom-right"};(0,x.memo)(function({nodeId:e,position:t,variant:n=m.Handle,className:o,style:r,children:i,color:a,minWidth:l=10,minHeight:s=10,maxWidth:u=Number.MAX_VALUE,maxHeight:c=Number.MAX_VALUE,keepAspectRatio:d=!1,resizeDirection:f,autoScale:h=!0,shouldResize:p,onResizeStart:g,onResize:y,onResizeEnd:b}){let _,S=rU(),E="string"==typeof e?e:S,M=o5(),C=(0,x.useRef)(null),k=n===m.Handle,N=o2((0,x.useCallback)((_=k&&h,e=>_?`${Math.max(1/e.transform[2],1)}`:void 0),[k,h]),oQ),P=(0,x.useRef)(null),A=t??ax[n];(0,x.useEffect)(()=>{if(C.current&&E)return P.current||(P.current=oF({domNode:C.current,nodeId:E,getStoreItems:()=>{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:r,domNode:i}=M.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:r,paneDomNode:i}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:o,parentLookup:r,nodeOrigin:i}=M.getState(),a=[],l={x:e.x,y:e.y},s=o.get(E);if(s&&s.expandParent&&s.parentId){let t=s.origin??i,n=e.width??s.measured.width??0,u=e.height??s.measured.height??0,c=om([{id:s.id,parentId:s.parentId,rect:{width:n,height:u,...nL({x:e.x??s.position.x,y:e.y??s.position.y},{width:n,height:u},s.parentId,o,t)}}],o,r,i);a.push(...c),l.x=e.x?Math.max(t[0]*n,e.x):void 0,l.y=e.y?Math.max(t[1]*u,e.y):void 0}if(void 0!==l.x&&void 0!==l.y){let e={id:E,type:"position",position:{...l}};a.push(e)}if(void 0!==e.width&&void 0!==e.height){let t={id:E,type:"dimensions",resizing:!0,setAttributes:!f||("horizontal"===f?"width":"height"),dimensions:{width:e.width,height:e.height}};a.push(t)}for(let e of t){let t={...e,type:"position"};a.push(t)}n(a)},onEnd:({width:e,height:t})=>{M.getState().triggerNodeChanges([{id:E,type:"dimensions",resizing:!1,dimensions:{width:e,height:t}}])}})),P.current.update({controlPosition:A,boundaries:{minWidth:l,minHeight:s,maxWidth:u,maxHeight:c},keepAspectRatio:d,resizeDirection:f,onResizeStart:g,onResize:y,onResizeEnd:b,shouldResize:p}),()=>{P.current?.destroy()}},[A,l,s,u,c,d,g,y,b,p]);let $=A.split("-");return(0,v.jsx)("div",{className:w(["react-flow__resize-control","nodrag",...$,n,o]),ref:C,style:{...r,scale:N,...a&&{[k?"backgroundColor":"borderColor"]:a}},children:i})}),e.s(["Background",0,i7,"Controls",0,al,"Handle",0,r1,"MiniMap",0,av,"ReactFlow",0,i2,"ReactFlowProvider",0,iJ,"useReactFlow",0,rR],54548)},55838,(e,t,n)=>{"use strict";var o=e.r(71645),r="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=o.useState,a=o.useEffect,l=o.useLayoutEffect,s=o.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),o=i({inst:{value:n,getSnapshot:t}}),r=o[0].inst,c=o[1];return l(function(){r.value=n,r.getSnapshot=t,u(r)&&c({inst:r})},[e,n,t]),a(function(){return u(r)&&c({inst:r}),e(function(){u(r)&&c({inst:r})})},[e]),s(n),n};n.useSyncExternalStore=void 0!==o.useSyncExternalStore?o.useSyncExternalStore:c},2239,(e,t,n)=>{"use strict";e.i(47167),t.exports=e.r(55838)},52822,(e,t,n)=>{"use strict";var o=e.r(71645),r=e.r(2239),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=r.useSyncExternalStore,l=o.useRef,s=o.useEffect,u=o.useMemo,c=o.useDebugValue;n.useSyncExternalStoreWithSelector=function(e,t,n,o,r){var d=l(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var h=a(e,(d=u(function(){function e(e){if(!s){if(s=!0,a=e,e=o(e),void 0!==r&&f.hasValue){var t=f.value;if(r(t,e))return l=t}return l=e}if(t=l,i(a,e))return t;var n=o(e);return void 0!==r&&r(t,n)?(a=e,t):(a=e,l=n)}var a,l,s=!1,u=void 0===n?null:n;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,n,o,r]))[0],d[1]);return s(function(){f.hasValue=!0,f.value=h},[h]),c(h),h}},30224,(e,t,n)=>{"use strict";e.i(47167),t.exports=e.r(52822)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,38070,995,e=>{"use strict";var t=e.i(18050),r=e.i(71645);function a(e){return/^https?:\/\//i.test(e)?e:`${e.startsWith("/")?e:`/${e}`}`}e.s(["apiUrl",0,a],995);let n=(0,r.createContext)(null);async function o(e,t){let r=await fetch(a(e),{...t,headers:{"Content-Type":"application/json",...t?.headers||{}}});if(!r.ok)throw Error(`${r.status} ${e}`);return r.json()}e.s(["RelayProvider",0,function({children:e}){let[l,u]=(0,r.useState)(null),[i,s]=(0,r.useState)([]),[c,d]=(0,r.useState)([]),[f,p]=(0,r.useState)(null),[y,h]=(0,r.useState)(null),[m,v]=(0,r.useState)("activity");(0,r.useEffect)(()=>{let e=new URLSearchParams(window.location.search).get("tab");e&&v(e)},[]);let[b,g]=(0,r.useState)(!1),[j,P]=(0,r.useState)(!0),[_,O]=(0,r.useState)(!1),[S,w]=(0,r.useState)(null),[C,x]=(0,r.useState)([]),[T,R]=(0,r.useState)([]),k=(0,r.useRef)(null),E=(0,r.useRef)(0),A=(0,r.useRef)(new Map),N=(0,r.useRef)(new Map),M=(0,r.useRef)(!1),F=(0,r.useRef)({}),L=(0,r.useRef)(null),D=(...e)=>{let t=Date.now();for(let r of e)F.current[r]=t},I=e=>{k.current=e,h(e),F.current={};let t=A.current.get(e);t&&(p(t),w(N.current.get(e)??null))},B=["locks","reads","patches","edits","activity","agents","graph"],$=(e,t)=>{if(null==t)return!0;if(Array.isArray(t))return 0===t.length;if("graph"===e&&"object"==typeof t){let e=t.nodes;return!Array.isArray(e)||0===e.length}return!1},H=(0,r.useCallback)(async(e,t=!1)=>{let r=++E.current;t&&O(!0);try{let t=await o(`/api/projects/${e}/dashboard`);A.current.set(t.project.id,t);let a=Date.now();if(N.current.set(t.project.id,a),k.current&&t.project.id!==k.current||r!==E.current)return t;return p(e=>{if(!e||e.project.id!==t.project.id)return t;let r={...t};for(let t of B){let a=e[t];if(void 0!==a){if(F.current[t]){r[t]=a;continue}$(t,r[t])&&!$(t,a)&&(r[t]=a)}}return r}),w(a),t}finally{t&&r===E.current&&O(!1)}},[]),J=(0,r.useCallback)(async e=>{let[t,r]=await Promise.all([o("/api/session"),o("/api/projects")]);u(t.user),s(t.users),d(r.projects);let a=k.current,n=e||a||t.projectId||r.projects[0]?.id;n&&!a&&I(n);let l=k.current||n;l&&await H(l);try{let e=await o("/api/notices");x(e.notices||[])}catch{}M.current=!0,P(!1)},[H]);(0,r.useEffect)(()=>{J().catch(()=>P(!1))},[J]),(0,r.useEffect)(()=>{if(!y)return;let e=new EventSource(a(`/api/events?projectId=${y}`)),t=()=>{L.current&&window.clearTimeout(L.current),L.current=window.setTimeout(()=>{L.current=null,k.current&&H(k.current).catch(()=>void 0)},400)};return e.addEventListener("locks",e=>{let t=JSON.parse(e.data);t.workspaceId&&t.workspaceId!==k.current||(Array.isArray(t.locks)||Array.isArray(t.reads))&&(D("locks","reads"),p(e=>e&&e.project.id===k.current?{...e,locks:Array.isArray(t.locks)?t.locks:e.locks,reads:Array.isArray(t.reads)?t.reads:e.reads}:e))}),e.addEventListener("graph",e=>{let t=JSON.parse(e.data);t.graph&&(D("graph"),p(e=>e&&e.project.id===k.current?{...e,graph:t.graph}:e))}),e.addEventListener("history",e=>{var t;(t=JSON.parse(e.data)).workspaceId&&t.workspaceId!==k.current||(Array.isArray(t.chats)||Array.isArray(t.activity))&&(D("chats","timeline","activity","edits","agents"),p(e=>e&&e.project.id===k.current?{...e,chats:t.chats||e.chats,timeline:t.timeline||e.timeline,activity:t.activity||e.activity,edits:t.edits||e.edits,agents:t.agents||e.agents}:e),w(Date.now()))}),e.addEventListener("patch",e=>{let r=JSON.parse(e.data);if(!r.workspaceId||r.workspaceId===k.current){if(!r.patch||!r.edit)return void t();D("patches","edits"),p(e=>{if(!e||e.project.id!==k.current)return e;let t=r.edit,a=e=>[t,...(e||[]).filter(e=>e.id!==t.id)].slice(0,80);return{...e,patches:a(e.patches),edits:a(e.edits)}}),w(Date.now())}}),e.addEventListener("rewind",t),e.addEventListener("central",t),e.addEventListener("presence",e=>{let t=JSON.parse(e.data);(t.tunnel||t.reconnect)&&p(e=>e&&(!t.workspaceId||e.project.id===t.workspaceId)&&e.room?{...e,room:{...e.room,url:t.tunnel||e.room.url}}:e)}),e.addEventListener("notice",e=>{let t=JSON.parse(e.data);if(t?.id&&(x(e=>[t,...e.filter(e=>e.id!==t.id&&e.key!==t.key)]),M.current)&&(R(e=>[t,...e.filter(e=>e.id!==t.id)].slice(0,4)),"u">typeof Notification&&"granted"===Notification.permission))try{new Notification(t.title,{body:t.body||"",silent:!1})}catch{}}),e.addEventListener("agents",e=>{let t=JSON.parse(e.data);t.agents&&(D("agents"),p(e=>e&&e.project.id===k.current?{...e,agents:t.agents}:e))}),e.addEventListener("activity",e=>{let t=JSON.parse(e.data);t.item&&(D("activity"),p(e=>e&&e.project.id===k.current?{...e,activity:[t.item,...e.activity].slice(0,40)}:e))}),e.addEventListener("projects",e=>{let t=JSON.parse(e.data);t.projects&&d(t.projects)}),()=>e.close()},[y,H]),(0,r.useEffect)(()=>{if(!y)return;let e=window.setInterval(()=>{k.current&&H(k.current).catch(()=>void 0)},45e3);return()=>window.clearInterval(e)},[y,H]),(0,r.useEffect)(()=>{if(!y)return;let e=new EventSource(a(`/api/locks/stream?projectId=${y}`));return e.onmessage=e=>{let t=JSON.parse(e.data);(Array.isArray(t.locks)||Array.isArray(t.reads))&&(D("locks","reads"),p(e=>e&&e.project.id===k.current?{...e,locks:Array.isArray(t.locks)?t.locks:e.locks,reads:Array.isArray(t.reads)?t.reads:e.reads}:e))},()=>e.close()},[y]);let U=async e=>{let{user:t}=await o("/api/auth/login",{method:"POST",body:JSON.stringify({login:e})});u(t),k.current&&await H(k.current)},V=async()=>{await o("/api/auth/logout",{method:"POST"}),u(null)},K=async e=>{e!==k.current&&(I(e),o(`/api/projects/${e}/select`,{method:"POST"}).catch(()=>void 0),await H(e))},W=async()=>{let e=k.current;if(e){O(!0);try{await o(`/api/projects/${e}/sync`,{method:"POST"}),await H(e)}finally{k.current===e&&O(!1)}}},G=async e=>{let t=k.current;t&&(await o(`/api/projects/${t}/rewind`,{method:"POST",body:JSON.stringify({lamport:e})}),await H(t,!0))},X=async e=>{let t=k.current;t&&(await o("/api/handshake",{method:"POST",body:JSON.stringify({projectId:t,agent:e.label})}),setTimeout(()=>z(e),700))},z=async e=>{let t=k.current;if(!t)return;let{agent:r}=await o("/api/connect",{method:"POST",body:JSON.stringify({projectId:t,agent:e.label})});p(e=>e&&e.project.id===t?{...e,agents:e.agents.map(e=>e.id===r.id||e.label===r.label&&(e.ownerLogin||"")===(r.ownerLogin||"")?r:e)}:e)},Z=async e=>{let{project:t}=await o("/api/projects",{method:"POST",body:JSON.stringify(e)});d(e=>[...e,t]),g(!1),await K(t.id)},Q=async(e,t)=>{let r,n="remove"===t?"remove":"leave",o=r=>{let a={id:`drop-${Date.now()}`,type:"left",key:`drop:${e}`,title:"remove"===t?"Could not remove workspace":"Could not leave workspace",body:r,ts:Date.now()};return R(e=>[a,...e.filter(e=>e.key!==a.key)].slice(0,4)),{ok:!1,hint:r}};try{r=await fetch(a(`/api/projects/${e}?mode=${t}`),{method:"DELETE"})}catch{return o(`Could not ${n} workspace. Check that Relay is running.`)}let l={};try{l=await r.json()||{}}catch{return o(`Could not ${n} workspace (${r.status}). Files were not changed.`)}if(!r.ok||!1===l.ok)return o(l.hint||l.error||`Could not ${n} workspace (${r.status}).`);try{if(d(t=>t.filter(t=>t.id!==e)),A.current.delete(e),k.current===e){let e=l.nextId||null;e?await K(e):(k.current=null,h(null),p(null))}}catch{}return{ok:!0}},Y=e=>Q(e,"leave"),q=e=>Q(e,"remove"),ee=e=>{x(e);let t=new Set(e.map(e=>e.id));R(e=>e.filter(e=>t.has(e.id)))},et=async e=>{try{let t=await o(`/api/notices/${e}/read`,{method:"POST"});ee(t.notices||[])}catch{x(t=>t.map(t=>t.id===e?{...t,readAt:Date.now()}:t))}},er=async()=>{try{let e=await o("/api/notices/read-all",{method:"POST"});ee(e.notices||[])}catch{x(e=>e.map(e=>({...e,readAt:e.readAt||Date.now()})))}},ea=async e=>{try{let t=await o("/api/notices/dismiss",{method:"POST",body:JSON.stringify(e)});ee(t.notices||[])}catch{x(t=>t.filter(t=>t.id!==e.id&&(!e.key||t.key!==e.key))),R(t=>t.filter(t=>t.id!==e.id&&(!e.key||t.key!==e.key)))}},en=e=>{R(t=>t.filter(t=>t.id!==e))},eo=async e=>{let t=await fetch(a("/api/room/join"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,seed:!1!==e.seed})}),r=await t.json();return r.ok?(e.roomId&&await ea({key:`invite:${e.roomId}`}),k.current&&await H(k.current),v("team"),{ok:!0,hint:r.seeded?.error?`Joined, but the workspace copy failed: ${r.seeded.error}`:"Joined."}):{ok:!1,hint:r.detail||r.hint||r.error||"Could not join"}},el=C.filter(e=>!e.readAt).length,eu=(0,r.useMemo)(()=>({user:l,users:i,projects:c,dashboard:f,selectedProjectId:y,tab:m,addOpen:b,loading:j,syncing:_,lastFetchedAt:S,setTab:v,setAddOpen:g,login:U,logout:V,selectProject:K,sync:W,rewind:G,handshake:X,connectAgent:z,addProject:Z,leaveWorkspace:Y,removeWorkspace:q,notices:C,toasts:T,unreadNotices:el,markNoticeRead:et,markAllNoticesRead:er,dismissNotice:ea,dismissToast:en,joinRoom:eo}),[l,i,c,f,y,m,b,j,_,S,C,T,el]);return(0,t.jsx)(n.Provider,{value:eu,children:e})},"useRelay",0,function(){let e=(0,r.useContext)(n);if(!e)throw Error("useRelay outside provider");return e}],38070)},28298,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useRouterBFCache",{enumerable:!0,get:function(){return n}});let a=e.r(71645);function n(e,t,r){let[n,o]=(0,a.useState)(()=>({tree:e,cacheNode:t,stateKey:r,next:null}));if(n.tree===e)return n;let l={tree:e,cacheNode:t,stateKey:r,next:null},u=1,i=n,s=l;for(;null!==i&&u<1;){if(i.stateKey===r){s.next=i.next;break}{u++;let e={tree:i.tree,cacheNode:i.cacheNode,stateKey:i.stateKey,next:null};s.next=e,s=e}i=i.next}return o(l),l}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},47257,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientPageRoot",{enumerable:!0,get:function(){return s}});let a=e.r(18050),n=e.r(8372),o=e.r(71645),l=e.r(33906),u=e.r(61994),i=e.r(15783);function s({Component:e,serverProvidedParams:t}){let r,c;if(null!==t)r=t.searchParams,c=t.params;else{let e=(0,o.use)(n.LayoutRouterContext);c=null!==e?e.parentParams:{},r=(0,l.urlSearchParamsToParsedUrlQuery)((0,o.use)(u.SearchParamsContext))}let d=(0,i.createClientSearchParams)(r),f=(0,i.createClientParams)(c);return(0,a.jsx)(e,{params:f,searchParams:d})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92825,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientSegmentRoot",{enumerable:!0,get:function(){return u}});let a=e.r(18050),n=e.r(8372),o=e.r(71645),l=e.r(15783);function u({Component:e,slots:t,serverProvidedParams:r}){let i;if(null!==r)i=r.params;else{let e=(0,o.use)(n.LayoutRouterContext);i=null!==e?e.parentParams:{}}let s=(0,l.createClientParams)(i);return(0,a.jsx)(e,{...t,params:s})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68017,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return c}});let a=e.r(90809),n=e.r(18050),o=a._(e.r(71645)),l=e.r(90373),u=e.r(54394),i=e.r(8372);class s extends o.default.Component{constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}componentDidCatch(){}static getDerivedStateFromError(e){if((0,u.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,u.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:a}=this.props,{triggeredStatus:o}=this.state,l={[u.HTTPAccessErrorStatus.NOT_FOUND]:e,[u.HTTPAccessErrorStatus.FORBIDDEN]:t,[u.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(o){let i=o===u.HTTPAccessErrorStatus.NOT_FOUND&&e,s=o===u.HTTPAccessErrorStatus.FORBIDDEN&&t,c=o===u.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return i||s||c?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("meta",{name:"robots",content:"noindex"}),!1,l[o]]}):a}return a}}function c({notFound:e,forbidden:t,unauthorized:r,children:a}){let u=(0,l.useUntrackedPathname)(),d=(0,o.useContext)(i.MissingSlotContext);return e||t||r?(0,n.jsx)(s,{pathname:u,notFound:e,forbidden:t,unauthorized:r,missingSlots:d,children:a}):(0,n.jsx)(n.Fragment,{children:a})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22976,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={InstantValidationBoundaryContext:function(){return o},PlaceValidationBoundaryBelowThisLevel:function(){return l},RenderValidationBoundaryAtThisLevel:function(){return u},SlotMarker:function(){return i}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=null,l=null,u=null,i=null;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},77694,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={InstantValidationBoundaryContext:function(){return o.InstantValidationBoundaryContext},PlaceValidationBoundaryBelowThisLevel:function(){return o.PlaceValidationBoundaryBelowThisLevel},RenderValidationBoundaryAtThisLevel:function(){return o.RenderValidationBoundaryAtThisLevel},SlotMarker:function(){return o.SlotMarker}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(22976);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},39756,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var a={LoadingBoundaryProvider:function(){return w},default:function(){return x}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(55682),l=e.r(90809),u=e.r(18050),i=l._(e.r(71645)),s=o._(e.r(74080)),c=e.r(8372),d=e.r(1244),f=e.r(72383),p=e.r(91915),y=e.r(58442),h=e.r(68017);e.r(77694);let m=e.r(70725),v=e.r(28298);e.r(74180);let b=e.r(61994),g=e.r(33906),j=e.r(95871);s.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function P(e,t,r){let a=e.getClientRects();if(0===a.length)return 0;let n=1/0;for(let e=0;e<a.length;e++){let t=a[e];t.top<n&&(n=t.top)}return n>=r()&&n<=t?1:2}i.default.Component;let _=function(e){let t=i.default.useRef(null);return(0,i.useLayoutEffect)(()=>{let{focusAndScrollRef:r,cacheNode:a}=e,n=r.forceScroll?r.scrollRef:a.scrollRef;if(null===n||!n.current)return;let o=null,l=r.hashFragment;if(l){var u;if(null===(o="top"===(u=l)?document.body:document.getElementById(u)??document.getElementsByName(u)[0]??null)){n.current=!1,r.onlyHashChange=!1,r.hashFragment=null;return}}else o=t.current;if(null===o)return;let i=!1;(0,p.disableSmoothScrollDuringRouteTransition)(()=>{let e=document.documentElement,t=null,r=null,a=null,u=()=>{var r,n;let o,l;return null===a&&(r=e,n=t,a=!Number.isFinite(l=Number.parseFloat(o=getComputedStyle(r).scrollPaddingTop))||l<0?0:o.endsWith("px")?l:o.endsWith("%")?l/100*n:0),a};(l||(t=e.clientHeight,0!==(r=P(o,t,u))))&&((i=!0,n.current=!1,l)?o.scrollIntoView():1!==r&&(e.scrollTop=0,2===P(o,t,u)&&o.scrollIntoView()))},{dontForceLayout:!0,onlyHashChange:r.onlyHashChange}),i&&(r.onlyHashChange=!1,r.hashFragment=null)},void 0),(0,u.jsx)(i.Fragment,{ref:t,children:e.children})};function O({children:e,cacheNode:t}){let r=(0,i.useContext)(c.GlobalLayoutRouterContext);if(!r)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,u.jsx)(_,{focusAndScrollRef:r.focusAndScrollRef,cacheNode:t,children:e})}function S({tree:e,segmentPath:t,debugNameContext:r,cacheNode:a,params:n,url:o,isActive:l}){let s,f=(0,i.useContext)(c.GlobalLayoutRouterContext);if((0,i.useContext)(b.NavigationPromisesContext),!f)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let p=null!==a?a:(0,i.use)(d.unresolvedThenable),y=null!==p.prefetchRsc?p.prefetchRsc:p.rsc,h=(0,i.useDeferredValue)(p.rsc,y);if((0,j.isDeferredRsc)(h)){let e=(0,i.use)(h);null===e&&(0,i.use)(d.unresolvedThenable),s=e}else null===h&&(0,i.use)(d.unresolvedThenable),s=h;let m=s;return(0,u.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:e,parentCacheNode:p,parentSegmentPath:t,parentParams:n,parentLoadingData:null,debugNameContext:r,url:o,isActive:l},children:m})}function w({loading:e,children:t}){let r=(0,i.use)(c.LayoutRouterContext);return null===r?t:(0,u.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:r.parentTree,parentCacheNode:r.parentCacheNode,parentSegmentPath:r.parentSegmentPath,parentParams:r.parentParams,parentLoadingData:e,debugNameContext:r.debugNameContext,url:r.url,isActive:r.isActive},children:t})}function C({name:e,loading:t,children:r}){if(null!==t){let a=t[0],n=t[1],o=t[2];return(0,u.jsx)(i.Suspense,{name:e,fallback:(0,u.jsxs)(u.Fragment,{children:[n,o,a]}),children:r})}return(0,u.jsx)(u.Fragment,{children:r})}function x({parallelRouterKey:e,error:t,errorStyles:r,errorScripts:a,templateStyles:n,templateScripts:o,template:l,notFound:s,forbidden:p,unauthorized:b,segmentViewBoundaries:j}){let P=(0,i.useContext)(c.LayoutRouterContext);if(!P)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:_,parentCacheNode:w,parentSegmentPath:T,parentParams:R,parentLoadingData:k,url:E,isActive:A,debugNameContext:N}=P,M=_[0],F=null===T?[e]:T.concat([M,e]),L=_[1][e],D=w.slots;(void 0===L||null===D)&&(0,i.use)(d.unresolvedThenable);let I=L[0],B=D[e]??null,$=(0,m.createRouterCacheKey)(I,!0),H=(0,v.useRouterBFCache)(L,B,$),J=[];do{let e=H.tree,i=H.cacheNode,d=H.stateKey,m=e[0],v=R;if(Array.isArray(m)){let e=m[0],t=m[1],r=m[2],a=(0,g.getParamValueFromCacheKey)(t,r);null!==a&&(v={...R,[e]:a})}let j=function(e){if("/"===e)return"/";if("string"==typeof e)if("(__SLOT__)"===e)return;else return e+"/";return e[1]+"/"}(m),P=j??N,_=void 0===j?void 0:N,w=(0,u.jsxs)(O,{cacheNode:i,children:[(0,u.jsx)(f.ErrorBoundary,{errorComponent:t,errorStyles:r,errorScripts:a,children:(0,u.jsx)(C,{name:_,loading:k,children:(0,u.jsx)(h.HTTPAccessFallbackBoundary,{notFound:s,forbidden:p,unauthorized:b,children:(0,u.jsxs)(y.RedirectBoundary,{children:[(0,u.jsx)(S,{url:E,tree:e,params:v,cacheNode:i,segmentPath:F,debugNameContext:P,isActive:A&&d===$}),null]})})})}),null]}),x=(0,u.jsxs)(c.TemplateContext.Provider,{value:w,children:[n,o,l]},d);J.push(x),H=H.next}while(null!==H)return J}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},37457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let a=e.r(90809),n=e.r(18050),o=a._(e.r(71645)),l=e.r(8372);function u(){let e=(0,o.useContext)(l.TemplateContext);return(0,n.jsx)(n.Fragment,{children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},6831,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let a=new WeakMap;function n(e){let t=a.get(e);if(t)return t;let r=Promise.resolve(e);return a.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97689,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return a}});let a=e.r(6831).createRenderParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},93504,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let a=new WeakMap;function n(e){let t=a.get(e);if(t)return t;let r=Promise.resolve(e);return a.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66996,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return a}});let a=e.r(93504).createRenderSearchParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},15783,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={createClientParams:function(){return o.createRenderParamsFromClient},createClientSearchParams:function(){return l.createRenderSearchParamsFromClient}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(97689),l=e.r(66996);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},27201,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"IconMark",{enumerable:!0,get:function(){return n}});let a=e.r(18050),n=()=>"u">typeof window?null:(0,a.jsx)("meta",{name:"«nxt-icon»"})},91915,(e,t,r)=>{"use strict";function a(e,t={}){if(t.onlyHashChange)return void e();let r=document.documentElement;if("smooth"!==r.dataset.scrollBehavior)return void e();let n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return a}})}]);
|